diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..d131404
Binary files /dev/null and b/.DS_Store differ
diff --git a/.idea/sonarlint/issuestore/0/8/08a8b343eb3d041b4e874e74bf19e4275b4be110 b/.idea/sonarlint/issuestore/0/8/08a8b343eb3d041b4e874e74bf19e4275b4be110
new file mode 100644
index 0000000..83e8148
--- /dev/null
+++ b/.idea/sonarlint/issuestore/0/8/08a8b343eb3d041b4e874e74bf19e4275b4be110
@@ -0,0 +1,2 @@
+
+9xml:S125�"Remove this commented out code.(���������
\ No newline at end of file
diff --git a/.idea/sonarlint/issuestore/1/0/10063ed6b36fc975afe394320e60bd020496e74a b/.idea/sonarlint/issuestore/1/0/10063ed6b36fc975afe394320e60bd020496e74a
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d b/.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb
index 60cbd84..f14025e 100644
--- a/.idea/sonarlint/issuestore/index.pb
+++ b/.idea/sonarlint/issuestore/index.pb
@@ -44,4 +44,10 @@ n
 j
 :server/src/main/java/cn/keking/config/ConfigConstants.java,7/3/734d786fd7c875965a158e34ad7fbc1567dfbd09
 ?
-Dockerfile_test,9/d/9da9198ecc5a67e3933b4f9bfd225ad017ffb0d0
\ No newline at end of file
+Dockerfile_test,9/d/9da9198ecc5a67e3933b4f9bfd225ad017ffb0d0
+>
+server/pom.xml,0/8/08a8b343eb3d041b4e874e74bf19e4275b4be110
+^
+.server/src/main/java/cn/keking/ServerMain.java,1/0/10063ed6b36fc975afe394320e60bd020496e74a
+9
+	README.md,8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d
\ No newline at end of file
diff --git a/README.md b/README.md
index 0df0947..6caef46 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@
 
 
 
+
+
 ### 销售合同
 
 * 请求路径  /contract/gen/sellContract
@@ -279,7 +281,7 @@
 
 
 ## docker部署
- 
+
 ### 需要映射的路径 
 
 * /data/file 文件存储路径
diff --git a/office-plugin/.DS_Store b/office-plugin/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/office-plugin/.DS_Store differ
diff --git a/office-plugin/target/classes/document-formats.js b/office-plugin/target/classes/document-formats.js
deleted file mode 100644
index f7f48bc..0000000
--- a/office-plugin/target/classes/document-formats.js
+++ /dev/null
@@ -1,188 +0,0 @@
-[
-  {
-    "name": "Portable Document Format",
-    "extension": "pdf",
-    "mediaType": "application/pdf",
-    "storePropertiesByFamily": {
-      "DRAWING": {"FilterName": "draw_pdf_Export"},
-      "SPREADSHEET": {"FilterName": "calc_pdf_Export"},
-      "PRESENTATION": {"FilterName": "impress_pdf_Export"},
-      "TEXT": {"FilterName": "writer_pdf_Export"}
-    }
-  },
-  {
-    "name": "Macromedia Flash",
-    "extension": "swf",
-    "mediaType": "application/x-shockwave-flash",
-    "storePropertiesByFamily": {
-      "DRAWING": {"FilterName": "draw_flash_Export"},
-      "PRESENTATION": {"FilterName": "impress_flash_Export"}
-    }
-  },
-  {
-    "name": "HTML",
-    "extension": "html",
-    "mediaType": "text/html",
-    "inputFamily": "TEXT",
-    "storePropertiesByFamily": {
-      "SPREADSHEET": {"FilterName": "HTML (StarCalc)"},
-      "PRESENTATION": {"FilterName": "impress_html_Export"},
-      "TEXT": {"FilterName": "HTML (StarWriter)"}
-    }
-  },
-  {
-    "name": "OpenDocument Text",
-    "extension": "odt",
-    "mediaType": "application/vnd.oasis.opendocument.text",
-    "inputFamily": "TEXT",
-    "storePropertiesByFamily": {"TEXT": {"FilterName": "writer8"}}
-  },
-  {
-    "name": "OpenOffice.org 1.0 Text Document",
-    "extension": "sxw",
-    "mediaType": "application/vnd.sun.xml.writer",
-    "inputFamily": "TEXT",
-    "storePropertiesByFamily": {"TEXT": {"FilterName": "StarOffice XML (Writer)"}}
-  },
-  {
-    "name": "Microsoft Word",
-    "extension": "doc",
-    "mediaType": "application/msword",
-    "inputFamily": "TEXT",
-    "storePropertiesByFamily": {"TEXT": {"FilterName": "MS Word 97"}}
-  },
-  {
-    "name": "Microsoft Word 2007 XML",
-    "extension": "docx",
-    "mediaType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-    "inputFamily": "TEXT"
-  },
-  {
-    "name": "Rich Text Format",
-    "extension": "rtf",
-    "mediaType": "text/rtf",
-    "inputFamily": "TEXT",
-    "storePropertiesByFamily": {"TEXT": {"FilterName": "Rich Text Format"}}
-  },
-  {
-    "name": "WordPerfect",
-    "extension": "wpd",
-    "mediaType": "application/wordperfect",
-    "inputFamily": "TEXT"
-  },
-  {
-    "name": "Plain Text",
-    "extension": "txt",
-    "mediaType": "text/plain",
-    "inputFamily": "TEXT",
-    "loadProperties": {
-      "FilterName": "Text (encoded)",
-      "FilterOptions": "utf8"
-    },
-    "storePropertiesByFamily": {"TEXT": {
-      "FilterName": "Text (encoded)",
-      "FilterOptions": "utf8"
-    }}
-  },
-  {
-    "name": "MediaWiki wikitext",
-    "extension": "wiki",
-    "mediaType": "text/x-wiki",
-    "storePropertiesByFamily": {"TEXT": {"FilterName": "MediaWiki"}}
-  },
-  {
-    "name": "OpenDocument Spreadsheet",
-    "extension": "ods",
-    "mediaType": "application/vnd.oasis.opendocument.spreadsheet",
-    "inputFamily": "SPREADSHEET",
-    "storePropertiesByFamily": {"SPREADSHEET": {"FilterName": "calc8"}}
-  },
-  {
-    "name": "OpenOffice.org 1.0 Spreadsheet",
-    "extension": "sxc",
-    "mediaType": "application/vnd.sun.xml.calc",
-    "inputFamily": "SPREADSHEET",
-    "storePropertiesByFamily": {"SPREADSHEET": {"FilterName": "StarOffice XML (Calc)"}}
-  },
-  {
-    "name": "Microsoft Excel",
-    "extension": "xls",
-    "mediaType": "application/vnd.ms-excel",
-    "inputFamily": "SPREADSHEET",
-    "storePropertiesByFamily": {"SPREADSHEET": {"FilterName": "MS Excel 97"}}
-  },
-  {
-    "name": "Microsoft Excel 2007 XML",
-    "extension": "xlsx",
-    "mediaType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-    "inputFamily": "SPREADSHEET"
-  },
-  {
-    "name": "Comma Separated Values",
-    "extension": "csv",
-    "mediaType": "text/csv",
-    "inputFamily": "SPREADSHEET",
-    "loadProperties": {
-      "FilterName": "Text - txt - csv (StarCalc)",
-      "FilterOptions": "44,34,0"
-    },
-    "storePropertiesByFamily": {"SPREADSHEET": {
-      "FilterName": "Text - txt - csv (StarCalc)",
-      "FilterOptions": "44,34,0"
-    }}
-  },
-  {
-    "name": "Tab Separated Values",
-    "extension": "tsv",
-    "mediaType": "text/tab-separated-values",
-    "inputFamily": "SPREADSHEET",
-    "loadProperties": {
-      "FilterName": "Text - txt - csv (StarCalc)",
-      "FilterOptions": "9,34,0"
-    },
-    "storePropertiesByFamily": {"SPREADSHEET": {
-      "FilterName": "Text - txt - csv (StarCalc)",
-      "FilterOptions": "9,34,0"
-    }}
-  },
-  {
-    "name": "OpenDocument Presentation",
-    "extension": "odp",
-    "mediaType": "application/vnd.oasis.opendocument.presentation",
-    "inputFamily": "PRESENTATION",
-    "storePropertiesByFamily": {"PRESENTATION": {"FilterName": "impress8"}}
-  },
-  {
-    "name": "OpenOffice.org 1.0 Presentation",
-    "extension": "sxi",
-    "mediaType": "application/vnd.sun.xml.impress",
-    "inputFamily": "PRESENTATION",
-    "storePropertiesByFamily": {"PRESENTATION": {"FilterName": "StarOffice XML (Impress)"}}
-  },
-  {
-    "name": "Microsoft PowerPoint",
-    "extension": "ppt",
-    "mediaType": "application/vnd.ms-powerpoint",
-    "inputFamily": "PRESENTATION",
-    "storePropertiesByFamily": {"PRESENTATION": {"FilterName": "MS PowerPoint 97"}}
-  },
-  {
-    "name": "Microsoft PowerPoint 2007 XML",
-    "extension": "pptx",
-    "mediaType": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
-    "inputFamily": "PRESENTATION"
-  },
-  {
-    "name": "OpenDocument Drawing",
-    "extension": "odg",
-    "mediaType": "application/vnd.oasis.opendocument.graphics",
-    "inputFamily": "DRAWING",
-    "storePropertiesByFamily": {"DRAWING": {"FilterName": "draw8"}}
-  },
-  {
-    "name": "Scalable Vector Graphics",
-    "extension": "svg",
-    "mediaType": "image/svg+xml",
-    "storePropertiesByFamily": {"DRAWING": {"FilterName": "draw_svg_Export"}}
-  }
-]
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/AbstractConversionTask.class b/office-plugin/target/classes/org/artofsolving/jodconverter/AbstractConversionTask.class
deleted file mode 100644
index 5f3a968..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/AbstractConversionTask.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/OfficeDocumentConverter.class b/office-plugin/target/classes/org/artofsolving/jodconverter/OfficeDocumentConverter.class
deleted file mode 100644
index 342cf95..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/OfficeDocumentConverter.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/OfficeDocumentUtils.class b/office-plugin/target/classes/org/artofsolving/jodconverter/OfficeDocumentUtils.class
deleted file mode 100644
index f701d4b..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/OfficeDocumentUtils.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/StandardConversionTask.class b/office-plugin/target/classes/org/artofsolving/jodconverter/StandardConversionTask.class
deleted file mode 100644
index 395c84e..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/StandardConversionTask.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/cli/Convert.class b/office-plugin/target/classes/org/artofsolving/jodconverter/cli/Convert.class
deleted file mode 100644
index 39fbdbe..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/cli/Convert.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DefaultDocumentFormatRegistry.class b/office-plugin/target/classes/org/artofsolving/jodconverter/document/DefaultDocumentFormatRegistry.class
deleted file mode 100644
index a105fbd..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DefaultDocumentFormatRegistry.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFamily.class b/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFamily.class
deleted file mode 100644
index 3416b5a..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFamily.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFormat.class b/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFormat.class
deleted file mode 100644
index 887d32e..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFormat.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFormatRegistry.class b/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFormatRegistry.class
deleted file mode 100644
index 37a229c..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/document/DocumentFormatRegistry.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/document/JsonDocumentFormatRegistry.class b/office-plugin/target/classes/org/artofsolving/jodconverter/document/JsonDocumentFormatRegistry.class
deleted file mode 100644
index 927f805..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/document/JsonDocumentFormatRegistry.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/document/SimpleDocumentFormatRegistry.class b/office-plugin/target/classes/org/artofsolving/jodconverter/document/SimpleDocumentFormatRegistry.class
deleted file mode 100644
index bb500aa..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/document/SimpleDocumentFormatRegistry.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/DefaultOfficeManagerConfiguration.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/DefaultOfficeManagerConfiguration.class
deleted file mode 100644
index 733c2ac..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/DefaultOfficeManagerConfiguration.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ExternalOfficeManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ExternalOfficeManager.class
deleted file mode 100644
index 7c61e50..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ExternalOfficeManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ExternalOfficeManagerConfiguration.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ExternalOfficeManagerConfiguration.class
deleted file mode 100644
index 21cce32..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ExternalOfficeManagerConfiguration.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$1.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$1.class
deleted file mode 100644
index 14b314d..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$1.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$2.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$2.class
deleted file mode 100644
index ec2880c..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$2.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$3.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$3.class
deleted file mode 100644
index 6981473..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$3.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$4.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$4.class
deleted file mode 100644
index c67ac46..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$4.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$5.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$5.class
deleted file mode 100644
index 482b348..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$5.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$6.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$6.class
deleted file mode 100644
index 7591d0d..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess$6.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess.class
deleted file mode 100644
index 63aa1e0..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcess.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcessSettings.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcessSettings.class
deleted file mode 100644
index e8e991f..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ManagedOfficeProcessSettings.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/NamedThreadFactory.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/NamedThreadFactory.class
deleted file mode 100644
index 553a297..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/NamedThreadFactory.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnection$1.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnection$1.class
deleted file mode 100644
index 5447f7f..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnection$1.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnection.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnection.class
deleted file mode 100644
index 9407cee..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnection.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionEvent.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionEvent.class
deleted file mode 100644
index 268d074..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionEvent.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionEventListener.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionEventListener.class
deleted file mode 100644
index 91defa8..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionEventListener.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionProtocol.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionProtocol.class
deleted file mode 100644
index 6d22cbb..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeConnectionProtocol.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeContext.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeContext.class
deleted file mode 100644
index d03bcee..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeContext.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeException.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeException.class
deleted file mode 100644
index 2c571c1..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeException.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeManager.class
deleted file mode 100644
index 006663b..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess$1.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess$1.class
deleted file mode 100644
index bfbeaca..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess$1.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess$ExitCodeRetryable.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess$ExitCodeRetryable.class
deleted file mode 100644
index 522c2fc..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess$ExitCodeRetryable.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess.class
deleted file mode 100644
index 4373d46..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeProcess.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeTask.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeTask.class
deleted file mode 100644
index f63c448..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeTask.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeUtils.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeUtils.class
deleted file mode 100644
index 5b35a31..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/OfficeUtils.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager$1.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager$1.class
deleted file mode 100644
index 0e0661e..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager$1.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager$2.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager$2.class
deleted file mode 100644
index 9ee9899..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager$2.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager.class
deleted file mode 100644
index 84fb6d5..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManagerSettings.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManagerSettings.class
deleted file mode 100644
index 9c4b279..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/PooledOfficeManagerSettings.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ProcessPoolOfficeManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/ProcessPoolOfficeManager.class
deleted file mode 100644
index d858181..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/ProcessPoolOfficeManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/RetryTimeoutException.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/RetryTimeoutException.class
deleted file mode 100644
index 8d30d6f..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/RetryTimeoutException.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/Retryable.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/Retryable.class
deleted file mode 100644
index bc5d884..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/Retryable.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/SuspendableThreadPoolExecutor.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/SuspendableThreadPoolExecutor.class
deleted file mode 100644
index 863558a..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/SuspendableThreadPoolExecutor.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/TemporaryException.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/TemporaryException.class
deleted file mode 100644
index 9d8d1bd..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/TemporaryException.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/office/UnoUrl.class b/office-plugin/target/classes/org/artofsolving/jodconverter/office/UnoUrl.class
deleted file mode 100644
index 131c567..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/office/UnoUrl.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/process/LinuxProcessManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/process/LinuxProcessManager.class
deleted file mode 100644
index 814da2d..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/process/LinuxProcessManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/process/ProcessManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/process/ProcessManager.class
deleted file mode 100644
index cf370c6..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/process/ProcessManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/process/ProcessQuery.class b/office-plugin/target/classes/org/artofsolving/jodconverter/process/ProcessQuery.class
deleted file mode 100644
index 29a8026..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/process/ProcessQuery.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/process/PureJavaProcessManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/process/PureJavaProcessManager.class
deleted file mode 100644
index 0927286..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/process/PureJavaProcessManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/process/SigarProcessManager.class b/office-plugin/target/classes/org/artofsolving/jodconverter/process/SigarProcessManager.class
deleted file mode 100644
index 21c8a40..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/process/SigarProcessManager.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/util/ConfigUtils.class b/office-plugin/target/classes/org/artofsolving/jodconverter/util/ConfigUtils.class
deleted file mode 100644
index 15bc510..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/util/ConfigUtils.class and /dev/null differ
diff --git a/office-plugin/target/classes/org/artofsolving/jodconverter/util/PlatformUtils.class b/office-plugin/target/classes/org/artofsolving/jodconverter/util/PlatformUtils.class
deleted file mode 100644
index d7b4b06..0000000
Binary files a/office-plugin/target/classes/org/artofsolving/jodconverter/util/PlatformUtils.class and /dev/null differ
diff --git a/server/.DS_Store b/server/.DS_Store
new file mode 100644
index 0000000..5008ddf
Binary files /dev/null and b/server/.DS_Store differ
diff --git a/server/target/classes/application-dev.properties b/server/target/classes/application-dev.properties
deleted file mode 100644
index 1547bd4..0000000
--- a/server/target/classes/application-dev.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-#kkfile.cache.type=default
-#kkfile.fileDir=/appdata/upload/crm-print
-kkfile.fileDir=./server/src/main/file
-kkfile.baseUrl = http://localhost:9089
-kkfile.token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIya3FTbmE1TmoweTBmQzhETEJPd1dVdmxuRWNyZUQ4NiJ9.0iPPXwIiMHdQ0UVJ_bL5SYC4y_FLu6pGaJzmu0WV1Ao
-kkfile.localfileUrl=http://localhost:9089
-# 开启增强配置
-knife4j.enable=true
-kkfile.fileUploadDisable = false
-log.path=./logs/crm-print
diff --git a/server/target/classes/application-gray.properties b/server/target/classes/application-gray.properties
deleted file mode 100644
index 364d999..0000000
--- a/server/target/classes/application-gray.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-kkfile.fileDir=/appdata/upload/crm-print
-kkfile.baseUrl=http://192.168.21.31/crm-print
-kkfile.token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIya3FTbmE1TmoweTBmQzhETEJPd1dVdmxuRWNyZUQ4NiJ9.0iPPXwIiMHdQ0UVJ_bL5SYC4y_FLu6pGaJzmu0WV1Ao
-kkfile.localfileUrl=http://192.168.21.31/crm-print-jwt
-kkfile.cacheEnabled=true
-kkfile.cache.type=default
-server.servlet.context-path= /crm-print
-# 开启增强配置
-knife4j.enable=true
-log.path=/appdata/logs/crm-web
\ No newline at end of file
diff --git a/server/target/classes/application-test.properties b/server/target/classes/application-test.properties
deleted file mode 100644
index 8abd84e..0000000
--- a/server/target/classes/application-test.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-kkfile.fileDir=/appdata/upload/crm-print
-kkfile.baseUrl=https://www.rzdata.net/crm-print
-kkfile.token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ6UThLa0k5SEl0bkx0V2FXWW1mbjlLeTJ3OWxIZVhlMiJ9.LeOfenI2PMtXVL1W2sdwuw-YggAvXzV3Ne6RBwTef9k
-kkfile.localfileUrl=https://www.rzdata.net/crm-print-jwt
-kkfile.cacheEnabled=true
-kkfile.cache.type=default
-server.servlet.context-path= /crm-print
-# 开启增强配置
-knife4j.enable=true
-log.path=/appdata/logs/crm-web
\ No newline at end of file
diff --git a/server/target/classes/application-vazymeprod.properties b/server/target/classes/application-vazymeprod.properties
deleted file mode 100644
index 7b90eeb..0000000
--- a/server/target/classes/application-vazymeprod.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-kkfile.fileDir=/appdata/upload/crm-print
-kkfile.baseUrl = https://crm.vazyme.com/crm-print
-kkfile.token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJCQ0FuMkNIRGtvU0RKdjdJcDBrMFdqVkhVUm85NElTRiJ9.zzJtS7TYaaLy-VIANMU96SOw2r9driz-0Qxy-To9ko8
-kkfile.localfileUrl=https://crm.vazyme.com/crm-print-jwt
-kkfile.cacheEnabled=true
-kkfile.cache.type=default
-kkfile.fileUploadDisable = false
-server.servlet.context-path= /crm-print
-
-knife4j.enable=true
-knife4j.production=true
-knife4j.basic.enable=true
-knife4j.basic.username=crm
-knife4j.basic.password=crm@#$%&87811
-log.path=/appdata/logs/crm-web
\ No newline at end of file
diff --git a/server/target/classes/application-vazymetest.properties b/server/target/classes/application-vazymetest.properties
deleted file mode 100644
index 362d49a..0000000
--- a/server/target/classes/application-vazymetest.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-kkfile.fileDir=/appdata/upload/crm-print
-kkfile.baseUrl = http://117.78.50.82:9089/crm-print
-kkfile.token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJCQ0FuMkNIRGtvU0RKdjdJcDBrMFdqVkhVUm85NElTRiJ9.zzJtS7TYaaLy-VIANMU96SOw2r9driz-0Qxy-To9ko8
-kkfile.localfileUrl=http://117.78.50.82:9089/crm-print
-kkfile.cacheEnabled=true
-kkfile.cache.type=default
-kkfile.fileUploadDisable = false
-server.servlet.context-path= /crm-print
-# 开启增强配置
-knife4j.enable=true
-log.path=/appdata/logs/crm-web
\ No newline at end of file
diff --git a/server/target/classes/application.properties b/server/target/classes/application.properties
deleted file mode 100644
index 33c4b35..0000000
--- a/server/target/classes/application.properties
+++ /dev/null
@@ -1,118 +0,0 @@
-#######################################不可动态配置，需要重启生效#######################################
-server.port = 9089
-server.servlet.context-path= /crm-print
-server.servlet.encoding.charset = utf-8
-#文件上传限制
-spring.servlet.multipart.max-file-size=500MB
-spring.servlet.multipart.max-request-size=500MB
-## Freemarker 配置
-spring.freemarker.template-loader-path = classpath:/web/
-spring.freemarker.cache = false
-spring.freemarker.charset = UTF-8
-spring.freemarker.check-template-location = true
-spring.freemarker.content-type = text/html
-spring.freemarker.expose-request-attributes = true
-spring.freemarker.expose-session-attributes = true
-spring.freemarker.request-context-attribute = request
-spring.freemarker.suffix = .ftl
-spring.profiles.active=dev
-
-# office-plugin
-## office转换服务的进程数，默认开启两个进程
-kkfile.office.plugin.server.ports = 2001,2002
-## office 转换服务 task 超时时间，默认五分钟
-kkfile.office.plugin.task.timeout = 5m
-
-#缓存实现类型，不配默认为内嵌RocksDB(type = default)实现，可配置为redis(type = redis)实现（需要配置spring.redisson.address等参数）和 JDK 内置对象实现（type = jdk）,
-kkfile.cache.type = jdk
-
-#缓存是否自动清理 true 为开启，注释掉或其他值都为关闭
-kkfile.cache.clean.enabled = true
-#缓存自动清理时间，cache.clean.enabled = true时才有用，cron表达式，基于Quartz cron
-kkfile.cache.clean.cron = 0 0 3 * * ?
-
-#redis连接，只有当cache.type = redis时才有用
-spring.redisson.address = 127.0.0.1:6379
-spring.redisson.password =
-
-#文件资源路径（默认为打包根路径下的file目录下）
-#file.dir = D:\\kkFileview\\
-kkfile.fileDir = /data/file
-#openoffice home路径
-#office.home = C:\\Program Files (x86)\\OpenOffice 4
-kkfile.officeHome = default
-
-
-
-
-#######################################可在运行时动态配置#######################################
-#提供预览服务的地址，默认从请求url读，如果使用nginx等反向代理，需要手动设置
-#base.url = https://file.keking.cn
-kkfile.baseUrl = default
-
-#信任站点，多个用','隔开，设置了之后，会限制只能预览来自信任站点列表的文件，默认不限制
-#trust.host = file.keking.cn,kkfileview.keking.cn
-kkfile.trust.host = default
-
-#是否启用缓存
-kkfile.cacheEnabled = true
-
-#文本类型，默认如下，可自定义添加
-kkfile.simText = txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd
-#多媒体类型，默认如下，可自定义添加
-kkfile.media = mp3,wav,mp4,flv
-#是否开启多媒体类型转视频格式转换,目前可转换视频格式有：avi,mov,wmv,3gp,rm
-#请谨慎开启此功能，建议异步调用添加到处理队列，并且增加任务队列处理线程，防止视频转换占用完线程资源，转换比较耗费时间,并且控制了只能串行处理转换任务
-kkfile.mediaConvertDisable = false
-#支持转换的视频类型
-kkfile.convertMedias = avi,mov,wmv,mkv,3gp,rm
-#office类型文档(word ppt)样式，默认为图片(image)，可配置为pdf（预览时也有按钮切换）
-kkfile.officePreviewType = pdf
-#是否关闭office预览切换开关，默认为false，可配置为true关闭
-kkfile.officePreviewSwitchDisabled= true
-
-#是否禁止下载转换生成的pdf文件
-kkfile.pdfDownloadDisable = true
-#是否禁用首页文件上传
-kkfile.fileUploadDisable = false
-
-#预览源为FTP时 FTP用户名，可在ftp url后面加参数ftp.username=ftpuser指定，不指定默认用配置的
-kkfile.ftpUsername = ftpuser
-#预览源为FTP时 FTP密码，可在ftp url后面加参数ftp.password=123456指定，不指定默认用配置的
-kkfile.ftpPassword= 1234561
-#预览源为FTP时, FTP连接默认ControlEncoding(根据FTP服务器操作系统选择，Linux一般为UTF-8，Windows一般为GBK)，可在ftp url后面加参数ftp.control.encoding=UTF-8指定，不指定默认用配置的
-kkfile.ftpControlEncoding = UTF-8
-
-#水印内容
-#例：watermark.txt = ${WATERMARK_TXT:凯京科技内部文件，严禁外泄}
-#如需取消水印，内容设置为空即可，例：watermark.txt = ${WATERMARK_TXT:}
-kkfile.watermarkTxt =
-#水印x轴间隔
-kkfile.watermarkXSpace = 10
-#水印y轴间隔
-kkfile.watermarkYSpace = 10
-#水印字体
-kkfile.watermarkFont = 微软雅黑
-#水印字体大小
-kkfile.watermarkFontsize = 18px
-#水印字体颜色
-kkfile.watermarkColor = black
-#水印透明度，要求设置在大于等于0.005，小于1
-kkfile.watermarkAlpha = 0.2
-#水印宽度
-kkfile.watermarkWidth = 180
-#水印高度
-kkfile.watermarkHeight = 80
-#水印倾斜度数，要求设置在大于等于0，小于90
-kkfile.watermarkAngle = 10
-
-kkfile.previewUrl=http://127.0.0.1:9089/onlinePreview?url=%s
-
-
-# health 健康检查
-#management.endpoints.enabled-by-default=true
-#management.endpoints.web.base-path=/actuator
-#management.endpoints.web.exposure.include=health
-#management.endpoint.health.how-details=always
-
-
diff --git a/server/target/classes/cn/keking/ServerMain.class b/server/target/classes/cn/keking/ServerMain.class
deleted file mode 100644
index 5aef87d..0000000
Binary files a/server/target/classes/cn/keking/ServerMain.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/AppBanner.class b/server/target/classes/cn/keking/config/AppBanner.class
deleted file mode 100644
index ca64b75..0000000
Binary files a/server/target/classes/cn/keking/config/AppBanner.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/ConfigConstants.class b/server/target/classes/cn/keking/config/ConfigConstants.class
deleted file mode 100644
index e6cbd56..0000000
Binary files a/server/target/classes/cn/keking/config/ConfigConstants.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/KkfileConfig.class b/server/target/classes/cn/keking/config/KkfileConfig.class
deleted file mode 100644
index 72aa24f..0000000
Binary files a/server/target/classes/cn/keking/config/KkfileConfig.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/RedissonConfig.class b/server/target/classes/cn/keking/config/RedissonConfig.class
deleted file mode 100644
index 03f223e..0000000
Binary files a/server/target/classes/cn/keking/config/RedissonConfig.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/SchedulerCleanConfig.class b/server/target/classes/cn/keking/config/SchedulerCleanConfig.class
deleted file mode 100644
index a2616d8..0000000
Binary files a/server/target/classes/cn/keking/config/SchedulerCleanConfig.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/SpringContextConfig.class b/server/target/classes/cn/keking/config/SpringContextConfig.class
deleted file mode 100644
index 8221b04..0000000
Binary files a/server/target/classes/cn/keking/config/SpringContextConfig.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/SwaggerConfig.class b/server/target/classes/cn/keking/config/SwaggerConfig.class
deleted file mode 100644
index 77dc013..0000000
Binary files a/server/target/classes/cn/keking/config/SwaggerConfig.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/WatermarkConfigConstants.class b/server/target/classes/cn/keking/config/WatermarkConfigConstants.class
deleted file mode 100644
index 578d41a..0000000
Binary files a/server/target/classes/cn/keking/config/WatermarkConfigConstants.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/config/WebConfig.class b/server/target/classes/cn/keking/config/WebConfig.class
deleted file mode 100644
index 3561924..0000000
Binary files a/server/target/classes/cn/keking/config/WebConfig.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/exception/KkFileException.class b/server/target/classes/cn/keking/exception/KkFileException.class
deleted file mode 100644
index c7218a7..0000000
Binary files a/server/target/classes/cn/keking/exception/KkFileException.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/init/FileInitCommand.class b/server/target/classes/cn/keking/init/FileInitCommand.class
deleted file mode 100644
index b09b820..0000000
Binary files a/server/target/classes/cn/keking/init/FileInitCommand.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/model/FileAttribute.class b/server/target/classes/cn/keking/model/FileAttribute.class
deleted file mode 100644
index 3b6503a..0000000
Binary files a/server/target/classes/cn/keking/model/FileAttribute.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/model/FileType.class b/server/target/classes/cn/keking/model/FileType.class
deleted file mode 100644
index ba59344..0000000
Binary files a/server/target/classes/cn/keking/model/FileType.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/model/ReturnResponse.class b/server/target/classes/cn/keking/model/ReturnResponse.class
deleted file mode 100644
index c092960..0000000
Binary files a/server/target/classes/cn/keking/model/ReturnResponse.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/CompressFileReader$1.class b/server/target/classes/cn/keking/service/CompressFileReader$1.class
deleted file mode 100644
index d06bd00..0000000
Binary files a/server/target/classes/cn/keking/service/CompressFileReader$1.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/CompressFileReader$FileNode.class b/server/target/classes/cn/keking/service/CompressFileReader$FileNode.class
deleted file mode 100644
index fcb9f9a..0000000
Binary files a/server/target/classes/cn/keking/service/CompressFileReader$FileNode.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/CompressFileReader$RarExtractorWorker.class b/server/target/classes/cn/keking/service/CompressFileReader$RarExtractorWorker.class
deleted file mode 100644
index abefd7d..0000000
Binary files a/server/target/classes/cn/keking/service/CompressFileReader$RarExtractorWorker.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/CompressFileReader$SevenZExtractorWorker.class b/server/target/classes/cn/keking/service/CompressFileReader$SevenZExtractorWorker.class
deleted file mode 100644
index aae0efd..0000000
Binary files a/server/target/classes/cn/keking/service/CompressFileReader$SevenZExtractorWorker.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/CompressFileReader$ZipExtractorWorker.class b/server/target/classes/cn/keking/service/CompressFileReader$ZipExtractorWorker.class
deleted file mode 100644
index 9d97d91..0000000
Binary files a/server/target/classes/cn/keking/service/CompressFileReader$ZipExtractorWorker.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/CompressFileReader.class b/server/target/classes/cn/keking/service/CompressFileReader.class
deleted file mode 100644
index 63ca02a..0000000
Binary files a/server/target/classes/cn/keking/service/CompressFileReader.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/ContractService.class b/server/target/classes/cn/keking/service/ContractService.class
deleted file mode 100644
index f680b08..0000000
Binary files a/server/target/classes/cn/keking/service/ContractService.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/FileConvertQueueTask$ConvertTask.class b/server/target/classes/cn/keking/service/FileConvertQueueTask$ConvertTask.class
deleted file mode 100644
index a865ea5..0000000
Binary files a/server/target/classes/cn/keking/service/FileConvertQueueTask$ConvertTask.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/FileConvertQueueTask.class b/server/target/classes/cn/keking/service/FileConvertQueueTask.class
deleted file mode 100644
index 3605415..0000000
Binary files a/server/target/classes/cn/keking/service/FileConvertQueueTask.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/FileHandlerService.class b/server/target/classes/cn/keking/service/FileHandlerService.class
deleted file mode 100644
index eb0cc00..0000000
Binary files a/server/target/classes/cn/keking/service/FileHandlerService.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/FilePreview.class b/server/target/classes/cn/keking/service/FilePreview.class
deleted file mode 100644
index 8938edf..0000000
Binary files a/server/target/classes/cn/keking/service/FilePreview.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/FilePreviewFactory.class b/server/target/classes/cn/keking/service/FilePreviewFactory.class
deleted file mode 100644
index 0806055..0000000
Binary files a/server/target/classes/cn/keking/service/FilePreviewFactory.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/OfficePluginExtendFormatRegistry.class b/server/target/classes/cn/keking/service/OfficePluginExtendFormatRegistry.class
deleted file mode 100644
index 8f9c872..0000000
Binary files a/server/target/classes/cn/keking/service/OfficePluginExtendFormatRegistry.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/OfficePluginManager.class b/server/target/classes/cn/keking/service/OfficePluginManager.class
deleted file mode 100644
index df5860d..0000000
Binary files a/server/target/classes/cn/keking/service/OfficePluginManager.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/OfficeToPdfService.class b/server/target/classes/cn/keking/service/OfficeToPdfService.class
deleted file mode 100644
index 7126194..0000000
Binary files a/server/target/classes/cn/keking/service/OfficeToPdfService.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/cache/CacheService.class b/server/target/classes/cn/keking/service/cache/CacheService.class
deleted file mode 100644
index dbe76b1..0000000
Binary files a/server/target/classes/cn/keking/service/cache/CacheService.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/cache/impl/CacheServiceJDKImpl.class b/server/target/classes/cn/keking/service/cache/impl/CacheServiceJDKImpl.class
deleted file mode 100644
index 85612ba..0000000
Binary files a/server/target/classes/cn/keking/service/cache/impl/CacheServiceJDKImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/cache/impl/CacheServiceRedisImpl.class b/server/target/classes/cn/keking/service/cache/impl/CacheServiceRedisImpl.class
deleted file mode 100644
index 4b36aa4..0000000
Binary files a/server/target/classes/cn/keking/service/cache/impl/CacheServiceRedisImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.class b/server/target/classes/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.class
deleted file mode 100644
index 8ffbac9..0000000
Binary files a/server/target/classes/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/CadFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/CadFilePreviewImpl.class
deleted file mode 100644
index 55ad666..0000000
Binary files a/server/target/classes/cn/keking/service/impl/CadFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/CodeFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/CodeFilePreviewImpl.class
deleted file mode 100644
index 47e6f98..0000000
Binary files a/server/target/classes/cn/keking/service/impl/CodeFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/CompressFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/CompressFilePreviewImpl.class
deleted file mode 100644
index 775cfb4..0000000
Binary files a/server/target/classes/cn/keking/service/impl/CompressFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/MarkdownFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/MarkdownFilePreviewImpl.class
deleted file mode 100644
index 3ae4bed..0000000
Binary files a/server/target/classes/cn/keking/service/impl/MarkdownFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/OfdFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/OfdFilePreviewImpl.class
deleted file mode 100644
index c74d0e0..0000000
Binary files a/server/target/classes/cn/keking/service/impl/OfdFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/OfficeFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/OfficeFilePreviewImpl.class
deleted file mode 100644
index 3677df6..0000000
Binary files a/server/target/classes/cn/keking/service/impl/OfficeFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/OtherFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/OtherFilePreviewImpl.class
deleted file mode 100644
index dc5d1d2..0000000
Binary files a/server/target/classes/cn/keking/service/impl/OtherFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/PdfFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/PdfFilePreviewImpl.class
deleted file mode 100644
index c666a47..0000000
Binary files a/server/target/classes/cn/keking/service/impl/PdfFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/PictureFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/PictureFilePreviewImpl.class
deleted file mode 100644
index ba2b0eb..0000000
Binary files a/server/target/classes/cn/keking/service/impl/PictureFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/SimTextFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/SimTextFilePreviewImpl.class
deleted file mode 100644
index 72f235b..0000000
Binary files a/server/target/classes/cn/keking/service/impl/SimTextFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/TiffFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/TiffFilePreviewImpl.class
deleted file mode 100644
index 2332a8a..0000000
Binary files a/server/target/classes/cn/keking/service/impl/TiffFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/service/impl/XmlFilePreviewImpl.class b/server/target/classes/cn/keking/service/impl/XmlFilePreviewImpl.class
deleted file mode 100644
index 93d1664..0000000
Binary files a/server/target/classes/cn/keking/service/impl/XmlFilePreviewImpl.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/BytesEncodingDetect.class b/server/target/classes/cn/keking/utils/BytesEncodingDetect.class
deleted file mode 100644
index 2c6a1bf..0000000
Binary files a/server/target/classes/cn/keking/utils/BytesEncodingDetect.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/Consts.class b/server/target/classes/cn/keking/utils/Consts.class
deleted file mode 100644
index 78261ec..0000000
Binary files a/server/target/classes/cn/keking/utils/Consts.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/DownloadUtils.class b/server/target/classes/cn/keking/utils/DownloadUtils.class
deleted file mode 100644
index 78f9efd..0000000
Binary files a/server/target/classes/cn/keking/utils/DownloadUtils.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/Encoding.class b/server/target/classes/cn/keking/utils/Encoding.class
deleted file mode 100644
index f04195d..0000000
Binary files a/server/target/classes/cn/keking/utils/Encoding.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/EncodingDetects.class b/server/target/classes/cn/keking/utils/EncodingDetects.class
deleted file mode 100644
index 04f2fcb..0000000
Binary files a/server/target/classes/cn/keking/utils/EncodingDetects.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/FtpUtils.class b/server/target/classes/cn/keking/utils/FtpUtils.class
deleted file mode 100644
index 7e5d7a9..0000000
Binary files a/server/target/classes/cn/keking/utils/FtpUtils.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/KkFileUtils.class b/server/target/classes/cn/keking/utils/KkFileUtils.class
deleted file mode 100644
index 1874db2..0000000
Binary files a/server/target/classes/cn/keking/utils/KkFileUtils.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/ObjectMapperUtil$ObjectMapHolder.class b/server/target/classes/cn/keking/utils/ObjectMapperUtil$ObjectMapHolder.class
deleted file mode 100644
index aba70d1..0000000
Binary files a/server/target/classes/cn/keking/utils/ObjectMapperUtil$ObjectMapHolder.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/ObjectMapperUtil.class b/server/target/classes/cn/keking/utils/ObjectMapperUtil.class
deleted file mode 100644
index 398ee66..0000000
Binary files a/server/target/classes/cn/keking/utils/ObjectMapperUtil.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/ServiceResponse.class b/server/target/classes/cn/keking/utils/ServiceResponse.class
deleted file mode 100644
index 40b3601..0000000
Binary files a/server/target/classes/cn/keking/utils/ServiceResponse.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/utils/WebUtils.class b/server/target/classes/cn/keking/utils/WebUtils.class
deleted file mode 100644
index e884906..0000000
Binary files a/server/target/classes/cn/keking/utils/WebUtils.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/controller/ContractController.class b/server/target/classes/cn/keking/web/controller/ContractController.class
deleted file mode 100644
index e3064c7..0000000
Binary files a/server/target/classes/cn/keking/web/controller/ContractController.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/controller/FileController.class b/server/target/classes/cn/keking/web/controller/FileController.class
deleted file mode 100644
index d3c8cc3..0000000
Binary files a/server/target/classes/cn/keking/web/controller/FileController.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/controller/IndexController.class b/server/target/classes/cn/keking/web/controller/IndexController.class
deleted file mode 100644
index bd76340..0000000
Binary files a/server/target/classes/cn/keking/web/controller/IndexController.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/controller/OnlinePreviewController.class b/server/target/classes/cn/keking/web/controller/OnlinePreviewController.class
deleted file mode 100644
index dbb570b..0000000
Binary files a/server/target/classes/cn/keking/web/controller/OnlinePreviewController.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/dto/req/GenContractReq.class b/server/target/classes/cn/keking/web/dto/req/GenContractReq.class
deleted file mode 100644
index e75cce8..0000000
Binary files a/server/target/classes/cn/keking/web/dto/req/GenContractReq.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/filter/AttributeSetFilter.class b/server/target/classes/cn/keking/web/filter/AttributeSetFilter.class
deleted file mode 100644
index 47f4c4a..0000000
Binary files a/server/target/classes/cn/keking/web/filter/AttributeSetFilter.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/filter/BaseUrlFilter.class b/server/target/classes/cn/keking/web/filter/BaseUrlFilter.class
deleted file mode 100644
index 1403c55..0000000
Binary files a/server/target/classes/cn/keking/web/filter/BaseUrlFilter.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/filter/ChinesePathFilter.class b/server/target/classes/cn/keking/web/filter/ChinesePathFilter.class
deleted file mode 100644
index 902bfa1..0000000
Binary files a/server/target/classes/cn/keking/web/filter/ChinesePathFilter.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/filter/FilterConfiguration.class b/server/target/classes/cn/keking/web/filter/FilterConfiguration.class
deleted file mode 100644
index bf10a5f..0000000
Binary files a/server/target/classes/cn/keking/web/filter/FilterConfiguration.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/filter/TrustHostFilter.class b/server/target/classes/cn/keking/web/filter/TrustHostFilter.class
deleted file mode 100644
index 63a8cdb..0000000
Binary files a/server/target/classes/cn/keking/web/filter/TrustHostFilter.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/vo/ContractProductDetailListVo.class b/server/target/classes/cn/keking/web/vo/ContractProductDetailListVo.class
deleted file mode 100644
index ce1b97a..0000000
Binary files a/server/target/classes/cn/keking/web/vo/ContractProductDetailListVo.class and /dev/null differ
diff --git a/server/target/classes/cn/keking/web/vo/ContractProductDetailVo.class b/server/target/classes/cn/keking/web/vo/ContractProductDetailVo.class
deleted file mode 100644
index f77f250..0000000
Binary files a/server/target/classes/cn/keking/web/vo/ContractProductDetailVo.class and /dev/null differ
diff --git a/server/target/classes/freemarker_implicit.ftl b/server/target/classes/freemarker_implicit.ftl
deleted file mode 100644
index bc6a685..0000000
--- a/server/target/classes/freemarker_implicit.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-[#ftl]
-[#-- @implicitly included --]
-[#-- @ftlvariable name="initializeMemorySize" type="java.lang.Number" --]
-[#-- @ftlvariable name="currentUrl" type="java.lang.String" --]
-[#-- @ftlvariable name="file" type="cn.keking.model.FileAttribute" --]
-[#-- @ftlvariable name="fileName" type="java.lang.String" --]
-[#-- @ftlvariable name="fileTree" type="java.lang.String" --]
-[#-- @ftlvariable name="baseUrl" type="java.lang.String" --]
-[#-- @ftlvariable name="imgUrls" type="String" --]
-[#-- @ftlvariable name="textData" type="java.lang.String" --]
-[#-- @ftlvariable name="xmlContent" type="java.lang.String" --]
-[#-- @ftlvariable name="textContent" type="java.lang.String" --]
-[#-- @ftlvariable name="textType" type="java.lang.String" --]
-[#-- @ftlvariable name="markdown" type="String" --]
-[#-- @ftlvariable name="xml" type="String" --]
-[#-- @ftlvariable name="switchDisabled" type="String" --]
-[#-- @ftlvariable name="imgurls" type="String" --]
-[#-- @ftlvariable name="watermarkAngle" type="String" --]
-[#-- @ftlvariable name="watermarkHeight" type="String" --]
-[#-- @ftlvariable name="watermarkWidth" type="String" --]
-[#-- @ftlvariable name="watermarkAlpha" type="String" --]
-[#-- @ftlvariable name="watermarkColor" type="String" --]
-[#-- @ftlvariable name="watermarkFontsize" type="String" --]
-[#-- @ftlvariable name="watermarkFont" type="String" --]
-[#-- @ftlvariable name="watermarkYSpace" type="String" --]
-[#-- @ftlvariable name="watermarkXSpace" type="String" --]
-[#-- @ftlvariable name="watermarkTxt" type="String" --]
-[#-- @ftlvariable name="ordinaryUrl" type="String" --]
diff --git a/server/target/classes/logback.xml b/server/target/classes/logback.xml
deleted file mode 100644
index 2d00660..0000000
--- a/server/target/classes/logback.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-    <!-- 日志存放路径 -->
-    <springProperty source="log.path" name="log.path" scope="context" />
-    <!-- 日志输出格式 -->
-	<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
-
-	<!-- 控制台输出 -->
-	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-	</appender>
-	
-	<!-- 系统日志输出 -->
-	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/sys-info.log</file>
-        <!-- 循环政策：基于时间创建日志文件 -->
-		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-			<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-		</rollingPolicy>
-		<encoder>
-			<pattern>${log.pattern}</pattern>
-		</encoder>
-		<filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作：接收（记录） -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作：拒绝（不记录） -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-	</appender>
-	
-	<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-	    <file>${log.path}/sys-error.log</file>
-        <!-- 循环政策：基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
-			<!-- 日志最大的历史 60天 -->
-			<maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-			<!-- 匹配时的操作：接收（记录） -->
-            <onMatch>ACCEPT</onMatch>
-			<!-- 不匹配时的操作：拒绝（不记录） -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-	<!-- 系统模块日志级别控制  -->
-	<logger name="com.blueland" level="info"  />
-	<!-- Spring日志级别控制  -->
-	<logger name="org.springframework" level="warn" />
-
-	<root level="info">
-		<appender-ref ref="console" />
-	</root>
-	
-	<!--系统操作日志-->
-    <root level="info">
-        <appender-ref ref="file_info" />
-        <appender-ref ref="file_error" />
-    </root>
-</configuration> 
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table-locale-all.js b/server/target/classes/static/bootstrap-table/bootstrap-table-locale-all.js
deleted file mode 100644
index 9b89e9c..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table-locale-all.js
+++ /dev/null
@@ -1,5420 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Afrikaans translation
-	 * Author: Phillip Kruger <phillip.kruger@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['af-ZA'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Besig om te laai, wag asseblief';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekords per bladsy");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Resultate ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " rye (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Resultate ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " rye");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Soek';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Geen rekords gevind nie';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Wys/verberg bladsy nummering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Herlaai';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Wissel';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolomme';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['af-ZA']);
-
-	/**
-	 * Bootstrap Table English translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ar-SA'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'جاري التحميل, يرجى الإنتظار';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0633\u062C\u0644 \u0644\u0643\u0644 \u0635\u0641\u062D\u0629");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0627\u0644\u0638\u0627\u0647\u0631 ".concat(pageFrom, " \u0625\u0644\u0649 ").concat(pageTo, " \u0645\u0646 ").concat(totalRows, " \u0633\u062C\u0644 ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0627\u0644\u0638\u0627\u0647\u0631 ".concat(pageFrom, " \u0625\u0644\u0649 ").concat(pageTo, " \u0645\u0646 ").concat(totalRows, " \u0633\u062C\u0644");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'بحث';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'لا توجد نتائج مطابقة للبحث';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    /* eslint-disable no-useless-escape */
-	    return 'إخفاء\إظهار ترقيم الصفحات';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'تحديث';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'تغيير';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'أعمدة';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ar-SA']);
-
-	/**
-	 * Bootstrap Table Catalan translation
-	 * Authors: Marc Pina<iwalkalone69@gmail.com>
-	 *          Claudi Martinez<claudix.kernel@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ca-ES'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Espereu, si us plau';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " resultats per p\xE0gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrant de ".concat(pageFrom, " fins ").concat(pageTo, " - total ").concat(totalRows, " resultats (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrant de ".concat(pageFrom, " fins ").concat(pageTo, " - total ").concat(totalRows, " resultats");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cerca';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No s\'han trobat resultats';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Amaga/Mostra paginació';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresca';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alterna formatació';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tots';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ca-ES']);
-
-	/**
-	 * Bootstrap Table Czech translation
-	 * Author: Lukas Kral (monarcha@seznam.cz)
-	 * Author: Jakub Svestka <svestka1999@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['cs-CZ'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Čekejte, prosím';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " polo\u017Eek na str\xE1nku");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Zobrazena ".concat(pageFrom, ". - ").concat(pageTo, " . polo\u017Eka z celkov\xFDch ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Zobrazena ".concat(pageFrom, ". - ").concat(pageTo, " . polo\u017Eka z celkov\xFDch ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Vyhledávání';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenalezena žádná vyhovující položka';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Skrýt/Zobrazit stránkování';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Aktualizovat';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Přepni';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Sloupce';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Vše';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['cs-CZ']);
-
-	/**
-	 * Bootstrap Table danish translation
-	 * Author: Your Name Jan Borup Coyle, github@coyle.dk
-	 */
-
-	$.fn.bootstrapTable.locales['da-DK'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Indlæser, vent venligst';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " poster pr side");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Viser ".concat(pageFrom, " til ").concat(pageTo, " af ").concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '', " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Viser ".concat(pageFrom, " til ").concat(pageTo, " af ").concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '');
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Viser ".concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '');
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Ryd filtre';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Søg';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ingen poster fundet';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Skjul/vis nummerering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Opdater';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Skift';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolonner';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Eksporter';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['da-DK']);
-
-	/**
-	* Bootstrap Table German translation
-	* Author: Paul Mohr - Sopamo<p.mohr@sopamo.de>
-	*/
-
-	$.fn.bootstrapTable.locales['de-DE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Lade, bitte warten';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " Zeilen pro Seite.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Zeige Zeile ".concat(pageFrom, " bis ").concat(pageTo, " von ").concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', " (Gefiltert von ").concat(totalNotFiltered, " Zeile").concat(totalNotFiltered > 1 ? 'n' : '', ")");
-	    }
-
-	    return "Zeige Zeile ".concat(pageFrom, " bis ").concat(pageTo, " von ").concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', ".");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'Vorherige Seite';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "Zu Seite ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'Nächste Seite';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Zeige ".concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', ".");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Lösche Filter';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Suchen';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Keine passenden Ergebnisse gefunden';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Verstecke/Zeige Nummerierung';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Zeige Nummerierung';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Verstecke Nummerierung';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Neu laden';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Umschalten';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Normale Ansicht';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Kartenansicht';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Spalten';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Alle umschalten';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Vollbild';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatisches Neuladen';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Datenexport';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Erweiterte Suche';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Schließen';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['de-DE']);
-
-	/**
-	 * Bootstrap Table Greek translation
-	 * Author: giannisdallas
-	 */
-
-	$.fn.bootstrapTable.locales['el-GR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Φορτώνει, παρακαλώ περιμένετε';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BD\u03AC \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03CC \u03C4\u03B7\u03BD ".concat(pageFrom, " \u03C9\u03C2 \u03C4\u03B7\u03BD ").concat(pageTo, " \u03B1\u03C0\u03CC \u03C3\u03CD\u03BD\u03BF\u03BB\u03BF ").concat(totalRows, " \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03CC \u03C4\u03B7\u03BD ".concat(pageFrom, " \u03C9\u03C2 \u03C4\u03B7\u03BD ").concat(pageTo, " \u03B1\u03C0\u03CC \u03C3\u03CD\u03BD\u03BF\u03BB\u03BF ").concat(totalRows, " \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Αναζητήστε';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Δεν βρέθηκαν αποτελέσματα';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['el-GR']);
-
-	/**
-	 * Bootstrap Table English translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['en-US'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Loading, please wait';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rows per page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Search';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No matching records found';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
-
-	/**
-	 * Bootstrap Table Spanish (Argentina) translation
-	 * Author: Felix Vera (felix.vera@gmail.com)
-	 * Edited by: DarkThinking (https://github.com/DarkThinking)
-	 */
-
-	$.fn.bootstrapTable.locales['es-AR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, espere por favor';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando desde ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtrado de ").concat(totalNotFiltered, " columnas totales)");
-	    }
-
-	    return "Mostrando desde ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'página anterior';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "a la p\xE1gina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'siguiente página';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Mostrando ".concat(totalRows, " columnas");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ocultar/Mostrar paginación';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Mostrar paginación';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Ocultar paginación';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Recargar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Cambiar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Mostrar vista de carta';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Ocultar vista de carta';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Cambiar todo';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Pantalla completa';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Recargar';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportar datos';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Ir';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Búsqueda avanzada';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Cerrar';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-AR']);
-
-	/**
-	 * Traducción de librería Bootstrap Table a Español (Chile)
-	 * @author Brian Álvarez Azócar
-	 * email brianalvarezazocar@gmail.com
-	 */
-
-	$.fn.bootstrapTable.locales['es-CL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, espere por favor';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " filas por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return "Ocultar/Mostrar paginaci\xF3n";
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Cambiar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CL']);
-
-	/**
-	 * Bootstrap Table Spanish (Costa Rica) translation
-	 * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
-	 */
-
-	$.fn.bootstrapTable.locales['es-CR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, por favor espere';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CR']);
-
-	/**
-	 * Bootstrap Table Spanish Spain translation
-	 * Author: Marc Pina<iwalkalone69@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['es-ES'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Por favor espere';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " resultados por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando desde ".concat(pageFrom, " hasta ").concat(pageTo, " - En total ").concat(totalRows, " resultados (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando desde ".concat(pageFrom, " hasta ").concat(pageTo, " - En total ").concat(totalRows, " resultados");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron resultados';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ocultar/Mostrar paginación';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Ocultar/Mostrar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todos';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportar los datos';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Búsqueda avanzada';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Cerrar';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-ES']);
-
-	/**
-	 * Bootstrap Table Spanish (México) translation (Obtenido de traducción de Argentina)
-	 * Author: Felix Vera (felix.vera@gmail.com)
-	 * Copiado: Mauricio Vera (mauricioa.vera@gmail.com)
-	 * Revisión: J Manuel Corona (jmcg92@gmail.com) (13/Feb/2018).
-	 */
-
-	$.fn.bootstrapTable.locales['es-MX'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, espere por favor';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Mostrando ".concat(totalRows, " filas");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros que coincidan';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Mostrar/ocultar paginación';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Actualizar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Cambiar vista';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Pantalla completa';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-MX']);
-
-	/**
-	 * Bootstrap Table Spanish (Nicaragua) translation
-	 * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
-	 */
-
-	$.fn.bootstrapTable.locales['es-NI'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, por favor espere';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-NI']);
-
-	/**
-	 * Bootstrap Table Spanish (España) translation
-	 * Author: Antonio Pérez <anpegar@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['es-SP'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, por favor espera';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p&#225;gina.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "".concat(pageFrom, " - ").concat(pageTo, " de ").concat(totalRows, " registros (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "".concat(pageFrom, " - ").concat(pageTo, " de ").concat(totalRows, " registros.");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se han encontrado registros.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Actualizar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-SP']);
-
-	/**
-	 * Bootstrap Table Estonian translation
-	 * Author: kristjan@logist.it>
-	 */
-
-	$.fn.bootstrapTable.locales['et-EE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Päring käib, palun oota';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rida lehe kohta");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "N\xE4itan tulemusi ".concat(pageFrom, " kuni ").concat(pageTo, " - kokku ").concat(totalRows, " tulemust (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "N\xE4itan tulemusi ".concat(pageFrom, " kuni ").concat(pageTo, " - kokku ").concat(totalRows, " tulemust");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Otsi';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Päringu tingimustele ei vastanud ühtegi tulemust';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Näita/Peida lehtedeks jagamine';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Värskenda';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Lülita';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Veerud';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Kõik';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['et-EE']);
-
-	/**
-	 * Bootstrap Table Basque (Basque Country) translation
-	 * Author: Iker Ibarguren Berasaluze<ikerib@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['eu-EU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Itxaron mesedez';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " emaitza orriko.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "".concat(totalRows, " erregistroetatik ").concat(pageFrom, "etik ").concat(pageTo, "erakoak erakusten (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "".concat(totalRows, " erregistroetatik ").concat(pageFrom, "etik ").concat(pageTo, "erakoak erakusten.");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Bilatu';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ez da emaitzarik aurkitu';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ezkutatu/Erakutsi orrikatzea';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Eguneratu';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Ezkutatu/Erakutsi';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Zutabeak';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Guztiak';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['eu-EU']);
-
-	/**
-	 * Bootstrap Table Persian translation
-	 * Author: MJ Vakili <mjv.1989@Gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fa-IR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'در حال بارگذاری, لطفا صبر کنید';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0631\u06A9\u0648\u0631\u062F \u062F\u0631 \u0635\u0641\u062D\u0647");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0646\u0645\u0627\u06CC\u0634 ".concat(pageFrom, " \u062A\u0627 ").concat(pageTo, " \u0627\u0632 ").concat(totalRows, " \u0631\u062F\u06CC\u0641 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0646\u0645\u0627\u06CC\u0634 ".concat(pageFrom, " \u062A\u0627 ").concat(pageTo, " \u0627\u0632 ").concat(totalRows, " \u0631\u062F\u06CC\u0641");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'جستجو';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'رکوردی یافت نشد.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'نمایش/مخفی صفحه بندی';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'به روز رسانی';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'تغییر نمایش';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'سطر ها';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'همه';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fa-IR']);
-
-	/**
-	 * Bootstrap Table Finnish translations
-	 * Author: Minna Lehtomäki <minna.j.lehtomaki@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fi-FI'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Ladataan, ole hyvä ja odota';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rivi\xE4 sivulla");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "N\xE4ytet\xE4\xE4n rivit ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "N\xE4ytet\xE4\xE4n rivit ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Poista suodattimet';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Hae';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Hakuehtoja vastaavia tuloksia ei löytynyt';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Näytä/Piilota sivutus';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Päivitä';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Valitse';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Sarakkeet';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Kaikki';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Vie tiedot';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fi-FI']);
-
-	/**
-	 * Bootstrap Table French (Belgium) translation
-	 * Author: Julien Bisconti (julien.bisconti@gmail.com)
-	 *         Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-BE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Pas de lignes trouvés';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-BE']);
-
-	/**
-	 * Bootstrap Table French (Suisse) translation
-	 * Author: Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-CH'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Pas de lignes trouvés';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-CH']);
-
-	/**
-	 * Bootstrap Table French (France) translation
-	 * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
-	 *         Tidalf (https://github.com/TidalfFR)
-	 *         Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-FR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Aucun résultat';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-FR']);
-
-	/**
-	 * Bootstrap Table French (Luxembourg) translation
-	 * Author: Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-LU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Pas de lignes trouvés';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-LU']);
-
-	/**
-	 * Bootstrap Table Hebrew translation
-	 * Author: legshooter
-	 */
-
-	$.fn.bootstrapTable.locales['he-IL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'טוען, נא להמתין';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05E2\u05DE\u05D5\u05D3");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u05DE\u05E6\u05D9\u05D2 ".concat(pageFrom, " \u05E2\u05D3 ").concat(pageTo, " \u05DE-").concat(totalRows, "\u05E9\u05D5\u05E8\u05D5\u05EA").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u05DE\u05E6\u05D9\u05D2 ".concat(pageFrom, " \u05E2\u05D3 ").concat(pageTo, " \u05DE-").concat(totalRows, " \u05E9\u05D5\u05E8\u05D5\u05EA");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'חיפוש';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'לא נמצאו רשומות תואמות';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'הסתר/הצג מספור דפים';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'רענן';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'החלף תצוגה';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'עמודות';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'הכל';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['he-IL']);
-
-	/**
-	* Bootstrap Table Croatian translation
-	* Author: Petra Štrbenac (petra.strbenac@gmail.com)
-	* Author: Petra Štrbenac (petra.strbenac@gmail.com)
-	*/
-
-	$.fn.bootstrapTable.locales['hr-HR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Molimo pričekajte';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " broj zapisa po stranici");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Prikazujem ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja zapisa ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Prikazujem ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja zapisa ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pretraži';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nije pronađen niti jedan zapis';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Prikaži/sakrij stranice';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Osvježi';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Promijeni prikaz';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolone';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Sve';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['hr-HR']);
-
-	/**
-	 * Bootstrap Table Hungarian translation
-	 * Author: Nagy Gergely <info@nagygergely.eu>
-	 */
-
-	$.fn.bootstrapTable.locales['hu-HU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Betöltés, kérem várjon';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekord per oldal");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Megjelen\xEDtve ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " \xF6sszesen (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Megjelen\xEDtve ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " \xF6sszesen");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Keresés';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nincs találat';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Lapozó elrejtése/megjelenítése';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Frissítés';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Összecsuk/Kinyit';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Oszlopok';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Összes';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['hu-HU']);
-
-	/**
-	 * Bootstrap Table Indonesian translation
-	 * Author: Andre Gardiner<andre@sirdre.com>
-	 */
-
-	$.fn.bootstrapTable.locales['id-ID'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Memuat, mohon tunggu';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " baris per halaman");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Menampilkan ".concat(pageFrom, " sampai ").concat(pageTo, " dari ").concat(totalRows, " baris (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Menampilkan ".concat(pageFrom, " sampai ").concat(pageTo, " dari ").concat(totalRows, " baris");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Bersihkan filter';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pencarian';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Tidak ditemukan data yang cocok';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Sembunyikan/Tampilkan halaman';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Muat ulang';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Beralih';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'kolom';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Semua';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Ekspor data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['id-ID']);
-
-	/**
-	 * Bootstrap Table Italian translation
-	 * Author: Davide Renzi<davide.renzi@gmail.com>
-	 * Author: Davide Borsatto <davide.borsatto@gmail.com>
-	 * Author: Alessio Felicioni <alessio.felicioni@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['it-IT'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Caricamento in corso';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " elementi per pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Visualizzazione da ".concat(pageFrom, " a ").concat(pageTo, " di ").concat(totalRows, " elementi (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Visualizzazione da ".concat(pageFrom, " a ").concat(pageTo, " di ").concat(totalRows, " elementi");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Pulisci filtri';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cerca';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nessun elemento trovato';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Nascondi/Mostra paginazione';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Aggiorna';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Attiva/Disattiva';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonne';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tutto';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Esporta dati';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['it-IT']);
-
-	/**
-	 * Bootstrap Table Japanese translation
-	 * Author: Azamshul Azizy <azamshul@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ja-JP'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '読み込み中です。少々お待ちください。';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\u30DA\u30FC\u30B8\u5F53\u305F\u308A\u6700\u5927".concat(pageNumber, "\u4EF6");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u5168".concat(totalRows, "\u4EF6\u304B\u3089\u3001").concat(pageFrom, "\u304B\u3089").concat(pageTo, "\u4EF6\u76EE\u307E\u3067\u8868\u793A\u3057\u3066\u3044\u307E\u3059 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u5168".concat(totalRows, "\u4EF6\u304B\u3089\u3001").concat(pageFrom, "\u304B\u3089").concat(pageTo, "\u4EF6\u76EE\u307E\u3067\u8868\u793A\u3057\u3066\u3044\u307E\u3059");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '検索';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '該当するレコードが見つかりません';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'ページ数を表示・非表示';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '更新';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'トグル';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '列';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'すべて';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ja-JP']);
-
-	/**
-	 * Bootstrap Table Georgian translation
-	 * Author: Levan Lotuashvili <l.lotuashvili@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ka-GE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'იტვირთება, გთხოვთ მოიცადოთ';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10D7\u10D8\u10D7\u10DD \u10D2\u10D5\u10D4\u10E0\u10D3\u10D6\u10D4");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u10DC\u10D0\u10E9\u10D5\u10D4\u10DC\u10D4\u10D1\u10D8\u10D0 ".concat(pageFrom, "-\u10D3\u10D0\u10DC ").concat(pageTo, "-\u10DB\u10D3\u10D4 \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10EF\u10D0\u10DB\u10E3\u10E0\u10D8 ").concat(totalRows, "-\u10D3\u10D0\u10DC (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u10DC\u10D0\u10E9\u10D5\u10D4\u10DC\u10D4\u10D1\u10D8\u10D0 ".concat(pageFrom, "-\u10D3\u10D0\u10DC ").concat(pageTo, "-\u10DB\u10D3\u10D4 \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10EF\u10D0\u10DB\u10E3\u10E0\u10D8 ").concat(totalRows, "-\u10D3\u10D0\u10DC");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'ძებნა';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'მონაცემები არ არის';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'გვერდების გადამრთველის დამალვა/გამოჩენა';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'განახლება';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'ჩართვა/გამორთვა';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'სვეტები';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ka-GE']);
-
-	/**
-	 * Bootstrap Table Korean translation
-	 * Author: Yi Tae-Hyeong (jsonobject@gmail.com)
-	 */
-
-	$.fn.bootstrapTable.locales['ko-KR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '데이터를 불러오는 중입니다';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\uD398\uC774\uC9C0 \uB2F9 ".concat(pageNumber, "\uAC1C \uB370\uC774\uD130 \uCD9C\uB825");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\uC804\uCCB4 ".concat(totalRows, "\uAC1C \uC911 ").concat(pageFrom, "~").concat(pageTo, "\uBC88\uC9F8 \uB370\uC774\uD130 \uCD9C\uB825, (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\uC804\uCCB4 ".concat(totalRows, "\uAC1C \uC911 ").concat(pageFrom, "~").concat(pageTo, "\uBC88\uC9F8 \uB370\uC774\uD130 \uCD9C\uB825,");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '검색';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '조회된 데이터가 없습니다.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '새로 고침';
-	  },
-	  formatToggle: function formatToggle() {
-	    return '전환';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '컬럼 필터링';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ko-KR']);
-
-	/**
-	 * Bootstrap Table Malay translation
-	 * Author: Azamshul Azizy <azamshul@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ms-MY'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Permintaan sedang dimuatkan. Sila tunggu sebentar';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekod setiap muka surat");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Sedang memaparkan rekod ".concat(pageFrom, " hingga ").concat(pageTo, " daripada jumlah ").concat(totalRows, " rekod (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Sedang memaparkan rekod ".concat(pageFrom, " hingga ").concat(pageTo, " daripada jumlah ").concat(totalRows, " rekod");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cari';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Tiada rekod yang menyamai permintaan';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Tunjuk/sembunyi muka surat';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Muatsemula';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Tukar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Lajur';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Semua';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ms-MY']);
-
-	/**
-	 * Bootstrap Table norwegian translation
-	 * Author: Jim Nordbø, jim@nordb.no
-	 */
-
-	$.fn.bootstrapTable.locales['nb-NO'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Oppdaterer, vennligst vent';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " poster pr side");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Viser ".concat(pageFrom, " til ").concat(pageTo, " av ").concat(totalRows, " rekker (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Viser ".concat(pageFrom, " til ").concat(pageTo, " av ").concat(totalRows, " rekker");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Søk';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ingen poster funnet';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Oppdater';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Endre';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolonner';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nb-NO']);
-
-	/**
-	 * Bootstrap Table Dutch (Belgi�) translation
-	 * Author: Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['nl-BE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Laden, even geduld';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " records per pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '', " (gefilterd van ").concat(totalNotFiltered, " records in totaal)");
-	    }
-
-	    return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'vorige pagina';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "tot pagina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'volgende pagina';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Toon ".concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Verwijder filters';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Zoeken';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Geen resultaten gevonden';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Verberg/Toon paginering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Toon paginering';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Verberg paginering';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Vernieuwen';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Omschakelen';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Toon kaartweergave';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Verberg kaartweergave';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolommen';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Allen omschakelen';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Volledig scherm';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatisch vernieuwen';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporteer gegevens';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GA';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Geavanceerd zoeken';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Sluiten';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nl-BE']);
-
-	/**
-	 * Bootstrap Table Dutch (Nederland) translation
-	 * Author: Your Name <info@a2hankes.nl>
-	 *         Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['nl-NL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Laden, even geduld';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " records per pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '', " (gefilterd van ").concat(totalNotFiltered, " records in totaal)");
-	    }
-
-	    return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'vorige pagina';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "tot pagina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'volgende pagina';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Toon ".concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Verwijder filters';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Zoeken';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Geen resultaten gevonden';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Verberg/Toon paginering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Toon paginering';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Verberg paginering';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Vernieuwen';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Omschakelen';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Toon kaartweergave';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Verberg kaartweergave';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolommen';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Allen omschakelen';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Volledig scherm';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatisch vernieuwen';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporteer gegevens';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GA';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Geavanceerd zoeken';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Sluiten';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nl-NL']);
-
-	/**
-	 * Bootstrap Table Polish translation
-	 * Author: zergu <michal.zagdan @ gmail com>
-	 */
-
-	$.fn.bootstrapTable.locales['pl-PL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Ładowanie, proszę czekać';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekord\xF3w na stron\u0119");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Wy\u015Bwietlanie rekord\xF3w od ".concat(pageFrom, " do ").concat(pageTo, " z ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Wy\u015Bwietlanie rekord\xF3w od ".concat(pageFrom, " do ").concat(pageTo, " z ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Szukaj';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Niestety, nic nie znaleziono';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Odśwież';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Przełącz';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolumny';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pl-PL']);
-
-	/**
-	 * Bootstrap Table Brazilian Portuguese Translation
-	 * Author: Eduardo Cerqueira<egcerqueira@gmail.com>
-	 * Update: João Mello<jmello@hotmail.com.br>
-	 * Update: Leandro Felizari<lfelizari@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['pt-BR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Carregando, aguarde';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Exibindo ".concat(pageFrom, " at\xE9 ").concat(pageTo, " de ").concat(totalRows, " linhas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Exibindo ".concat(pageFrom, " at\xE9 ").concat(pageTo, " de ").concat(totalRows, " linhas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'página anterior';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "Para a p\xE1gina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'próxima página';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Mostrando ".concat(totalRows, " linhas");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpar Pesquisa';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pesquisar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenhum registro encontrado';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ocultar/Exibir paginação';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Mostrar Paginação';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Esconder Paginação';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Recarregar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colunas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Tela cheia';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tudo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Atualização Automática';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportar dados';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'IR';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Pesquisa Avançada';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fechar';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-BR']);
-
-	/**
-	 * Bootstrap Table Portuguese Portugal Translation
-	 * Author: Burnspirit<burnspirit@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['pt-PT'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'A carregar, por favor aguarde';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registos por p&aacute;gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "A mostrar ".concat(pageFrom, " at&eacute; ").concat(pageTo, " de ").concat(totalRows, " linhas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "A mostrar ".concat(pageFrom, " at&eacute; ").concat(pageTo, " de ").concat(totalRows, " linhas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pesquisa';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenhum registo encontrado';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Esconder/Mostrar pagina&ccedil&atilde;o';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Atualizar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colunas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tudo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-PT']);
-
-	/**
-	 * Bootstrap Table Romanian translation
-	 * Author: cristake <cristianiosif@me.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ro-RO'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Se incarca, va rugam asteptati';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " inregistrari pe pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Arata de la ".concat(pageFrom, " pana la ").concat(pageTo, " din ").concat(totalRows, " randuri (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Arata de la ".concat(pageFrom, " pana la ").concat(pageTo, " din ").concat(totalRows, " randuri");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cauta';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nu au fost gasite inregistrari';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ascunde/Arata paginatia';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Reincarca';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Comuta';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Coloane';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Toate';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ro-RO']);
-
-	/**
-	 * Bootstrap Table Russian translation
-	 * Author: Dunaevsky Maxim <dunmaksim@yandex.ru>
-	 */
-
-	$.fn.bootstrapTable.locales['ru-RU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Пожалуйста, подождите, идёт загрузка';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0437\u0430\u043F\u0438\u0441\u0435\u0439 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0417\u0430\u043F\u0438\u0441\u0438 \u0441 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, " \u0438\u0437 ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0417\u0430\u043F\u0438\u0441\u0438 \u0441 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, " \u0438\u0437 ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Очистить фильтры';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Поиск';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ничего не найдено';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Обновить';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Переключить';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Колонки';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ru-RU']);
-
-	/**
-	 * Bootstrap Table Slovak translation
-	 * Author: Jozef Dúc<jozef.d13@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['sk-SK'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Prosím čakajte';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " z\xE1znamov na stranu");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Zobrazen\xE1 ".concat(pageFrom, ". - ").concat(pageTo, ". polo\u017Eka z celkov\xFDch ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Zobrazen\xE1 ".concat(pageFrom, ". - ").concat(pageTo, ". polo\u017Eka z celkov\xFDch ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Odstráň filtre';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Vyhľadávanie';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenájdená žiadna vyhovujúca položka';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Skry/Zobraz stránkovanie';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Obnoviť';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Prepni';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Stĺpce';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Všetky';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportuj dáta';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sk-SK']);
-
-	/**
-	* Bootstrap Table Serbian Cyrilic RS translation
-	* Author: Vladimir Kanazir (vladimir@kanazir.com)
-	*/
-
-	$.fn.bootstrapTable.locales['sr-Cyrl-RS'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Молим сачекај';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0440\u0435\u0434\u043E\u0432\u0430 \u043F\u043E \u0441\u0442\u0440\u0430\u043D\u0438");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u041F\u0440\u0438\u043A\u0430\u0437\u0430\u043D\u043E ".concat(pageFrom, ". - ").concat(pageTo, ". \u043E\u0434 \u0443\u043A\u0443\u043F\u043D\u043E\u0433 \u0431\u0440\u043E\u0458\u0430 \u0440\u0435\u0434\u043E\u0432\u0430 ").concat(totalRows, " (\u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u043E \u043E\u0434 ").concat(totalNotFiltered, ")");
-	    }
-
-	    return "\u041F\u0440\u0438\u043A\u0430\u0437\u0430\u043D\u043E ".concat(pageFrom, ". - ").concat(pageTo, ". \u043E\u0434 \u0443\u043A\u0443\u043F\u043D\u043E\u0433 \u0431\u0440\u043E\u0458\u0430 \u0440\u0435\u0434\u043E\u0432\u0430 ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'претходна страна';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "\u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0443 ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'следећа страна';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "\u041F\u0440\u0438\u043A\u0430\u0437\u0430\u043D\u043E ".concat(totalRows, " \u0440\u0435\u0434\u043E\u0432\u0430");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Обриши претрагу';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Пронађи';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Није пронађен ни један податак';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Прикажи/сакриј пагинацију';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Прикажи пагинацију';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Сакриј пагинацију';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Освежи';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Промени приказ';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Прикажи картице';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Сакриј картице';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Колоне';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Прикажи/сакриј све';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Цео екран';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Све';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Аутоматско освежавање';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Извези податке';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Иди';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Напредна претрага';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Затвори';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sr-Cyrl-RS']);
-
-	/**
-	* Bootstrap Table Serbian Latin RS translation
-	* Author: Vladimir Kanazir (vladimir@kanazir.com)
-	*/
-
-	$.fn.bootstrapTable.locales['sr-Latn-RS'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Molim sačekaj';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " redova po strani");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Prikazano ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja redova ").concat(totalRows, " (filtrirano od ").concat(totalNotFiltered, ")");
-	    }
-
-	    return "Prikazano ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja redova ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'prethodna strana';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "na stranu ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'sledeća strana';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Prikazano ".concat(totalRows, " redova");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Obriši pretragu';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pronađi';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nije pronađen ni jedan podatak';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Prikaži/sakrij paginaciju';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Prikaži paginaciju';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Sakrij paginaciju';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Osveži';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Promeni prikaz';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Prikaži kartice';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Sakrij kartice';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolone';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Prikaži/sakrij sve';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Ceo ekran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Sve';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatsko osvežavanje';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Izvezi podatke';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Idi';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Napredna pretraga';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Zatvori';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sr-Latn-RS']);
-
-	/**
-	 * Bootstrap Table Swedish translation
-	 * Author: C Bratt <bratt@inix.se>
-	 */
-
-	$.fn.bootstrapTable.locales['sv-SE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Laddar, vänligen vänta';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rader per sida");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Visa ".concat(pageFrom, " till ").concat(pageTo, " av ").concat(totalRows, " rader (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Visa ".concat(pageFrom, " till ").concat(pageTo, " av ").concat(totalRows, " rader");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Sök';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Inga matchande resultat funna.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Uppdatera';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Skifta';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'kolumn';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sv-SE']);
-
-	/**
-	 * Bootstrap Table Thai translation
-	 * Author: Monchai S.<monchais@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['th-TH'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'กำลังโหลดข้อมูล, กรุณารอสักครู่';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48 ".concat(pageFrom, " \u0E16\u0E36\u0E07 ").concat(pageTo, " \u0E08\u0E32\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ").concat(totalRows, " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48 ".concat(pageFrom, " \u0E16\u0E36\u0E07 ").concat(pageTo, " \u0E08\u0E32\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ").concat(totalRows, " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'ค้นหา';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'ไม่พบรายการที่ค้นหา !';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'รีเฟรส';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'สลับมุมมอง';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'คอลัมน์';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['th-TH']);
-
-	/**
-	 * Bootstrap Table Turkish translation
-	 * Author: Emin Şen
-	 * Author: Sercan Cakir <srcnckr@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['tr-TR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Yükleniyor, lütfen bekleyin';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "Sayfa ba\u015F\u0131na ".concat(pageNumber, " kay\u0131t.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "".concat(totalRows, " kay\u0131ttan ").concat(pageFrom, "-").concat(pageTo, " aras\u0131 g\xF6steriliyor (filtered from ").concat(totalNotFiltered, " total rows).");
-	    }
-
-	    return "".concat(totalRows, " kay\u0131ttan ").concat(pageFrom, "-").concat(pageTo, " aras\u0131 g\xF6steriliyor.");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Ara';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Eşleşen kayıt bulunamadı.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Yenile';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Değiştir';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Sütunlar';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tüm Satırlar';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['tr-TR']);
-
-	/**
-	 * Bootstrap Table Ukrainian translation
-	 * Author: Vitaliy Timchenko <vitaliy.timchenko@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['uk-UA'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Завантаження, будь ласка, зачекайте';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u043D\u0430 \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0437 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, ". \u0412\u0441\u044C\u043E\u0433\u043E: ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0437 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, ". \u0412\u0441\u044C\u043E\u0433\u043E: ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Очистити фільтри';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Пошук';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Не знайдено жодного запису';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Оновити';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Змінити';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Стовпці';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['uk-UA']);
-
-	/**
-	 * Bootstrap Table Urdu translation
-	 * Author: Malik <me@malikrizwan.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ur-PK'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'براۓ مہربانی انتظار کیجئے';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0631\u06CC\u06A9\u0627\u0631\u0688\u0632 \u0641\u06CC \u0635\u0641\u06C1 ");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA ".concat(pageFrom, " \u0633\u06D2 ").concat(pageTo, " \u06A9\u06D2 ").concat(totalRows, "\u0631\u06CC\u06A9\u0627\u0631\u0688\u0632 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA ".concat(pageFrom, " \u0633\u06D2 ").concat(pageTo, " \u06A9\u06D2 ").concat(totalRows, "\u0631\u06CC\u06A9\u0627\u0631\u0688\u0632");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'تلاش';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'کوئی ریکارڈ نہیں ملا';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'تازہ کریں';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'تبدیل کریں';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'کالم';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ur-PK']);
-
-	/**
-	 * Bootstrap Table Uzbek translation
-	 * Author: Nabijon Masharipov <mnabijonz@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['uz-Latn-UZ'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Yuklanyapti, iltimos kuting';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " qator har sahifada");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Ko'rsatypati ".concat(pageFrom, " dan ").concat(pageTo, " gacha ").concat(totalRows, " qatorlarni (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Ko'rsatypati ".concat(pageFrom, " dan ").concat(pageTo, " gacha ").concat(totalRows, " qatorlarni");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Filtrlarni tozalash';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Qidirish';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Hech narsa topilmadi';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Sahifalashni yashirish/ko\'rsatish';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Yangilash';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Ko\'rinish';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Ustunlar';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Hammasi';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Eksport';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['uz-Latn-UZ']);
-
-	/**
-	 * Bootstrap Table Vietnamese translation
-	 * Author: Duc N. PHAM <pngduc@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['vi-VN'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Đang tải';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " b\u1EA3n ghi m\u1ED7i trang");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Hi\u1EC3n th\u1ECB t\u1EEB trang ".concat(pageFrom, " \u0111\u1EBFn ").concat(pageTo, " c\u1EE7a ").concat(totalRows, " b\u1EA3ng ghi (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Hi\u1EC3n th\u1ECB t\u1EEB trang ".concat(pageFrom, " \u0111\u1EBFn ").concat(pageTo, " c\u1EE7a ").concat(totalRows, " b\u1EA3ng ghi");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Tìm kiếm';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Không có dữ liệu';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['vi-VN']);
-
-	/**
-	 * Bootstrap Table Chinese translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['zh-CN'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '正在努力地加载数据中，请稍候';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\u6BCF\u9875\u663E\u793A ".concat(pageNumber, " \u6761\u8BB0\u5F55");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u663E\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u6761\u8BB0\u5F55\uFF0C\u603B\u5171 ").concat(totalRows, " \u6761\u8BB0\u5F55\uFF08\u4ECE ").concat(totalNotFiltered, " \u603B\u8BB0\u5F55\u4E2D\u8FC7\u6EE4\uFF09");
-	    }
-
-	    return "\u663E\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u6761\u8BB0\u5F55\uFF0C\u603B\u5171 ").concat(totalRows, " \u6761\u8BB0\u5F55");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return '上一页';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "\u7B2C".concat(page, "\u9875");
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return '下一页';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "\u603B\u5171 ".concat(totalRows, " \u6761\u8BB0\u5F55");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return '清空过滤';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '搜索';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '没有找到匹配的记录';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return '隐藏/显示分页';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return '显示分页';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return '隐藏分页';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '刷新';
-	  },
-	  formatToggle: function formatToggle() {
-	    return '切换';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return '显示卡片视图';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return '隐藏卡片视图';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '列';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return '切换所有';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return '全屏';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return '所有';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return '自动刷新';
-	  },
-	  formatExport: function formatExport() {
-	    return '导出数据';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return '跳转';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return '高级搜索';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return '关闭';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
-
-	/**
-	 * Bootstrap Table Chinese translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['zh-TW'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '正在努力地載入資料，請稍候';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\u6BCF\u9801\u986F\u793A ".concat(pageNumber, " \u9805\u8A18\u9304");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u986F\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u9805\u8A18\u9304\uFF0C\u7E3D\u5171 ").concat(totalRows, " \u9805\u8A18\u9304\uFF08\u5F9E ").concat(totalNotFiltered, " \u7E3D\u8A18\u9304\u4E2D\u904E\u6FFE\uFF09");
-	    }
-
-	    return "\u986F\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u9805\u8A18\u9304\uFF0C\u7E3D\u5171 ").concat(totalRows, " \u9805\u8A18\u9304");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return '上一頁';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "\u7B2C".concat(page, "\u9801");
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return '下一頁';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "\u7E3D\u5171 ".concat(totalRows, " \u9805\u8A18\u9304");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return '清空過濾';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '搜尋';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '沒有找到符合的結果';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return '隱藏/顯示分頁';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return '顯示分頁';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return '隱藏分頁';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '重新整理';
-	  },
-	  formatToggle: function formatToggle() {
-	    return '切換';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return '顯示卡片視圖';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return '隱藏卡片視圖';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '列';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return '切換所有';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return '全屏';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return '所有';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return '自動刷新';
-	  },
-	  formatExport: function formatExport() {
-	    return '導出數據';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return '跳轉';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return '高級搜尋';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return '關閉';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-TW']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table-locale-all.min.js b/server/target/classes/static/bootstrap-table/bootstrap-table-locale-all.min.js
deleted file mode 100644
index 2d11efc..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table-locale-all.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},a=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),e=function(t){try{return!!t()}catch(t){return!0}},c=!e((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),i={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,f={f:u&&!i.call({1:2},1)?function(t){var n=u(this,t);return!!n&&n.enumerable}:i},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,m=function(t){return s.call(t).slice(8,-1)},g="".split,d=e((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==m(t)?g.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},p=function(t){return d(h(t))},S=function(t){return"object"==typeof t?null!==t:"function"==typeof t},w=function(t,n){if(!S(t))return t;var o,r;if(n&&"function"==typeof(o=t.toString)&&!S(r=o.call(t)))return r;if("function"==typeof(o=t.valueOf)&&!S(r=o.call(t)))return r;if(!n&&"function"==typeof(o=t.toString)&&!S(r=o.call(t)))return r;throw TypeError("Can't convert object to primitive value")},T={}.hasOwnProperty,P=function(t,n){return T.call(t,n)},R=a.document,v=S(R)&&S(R.createElement),A=!c&&!e((function(){return 7!=Object.defineProperty((t="div",v?R.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),b=Object.getOwnPropertyDescriptor,x={f:c?b:function(t,n){if(t=p(t),n=w(n,!0),A)try{return b(t,n)}catch(t){}if(P(t,n))return l(!f.f.call(t,n),t[n])}},C=function(t){if(!S(t))throw TypeError(String(t)+" is not an object");return t},O=Object.defineProperty,k={f:c?O:function(t,n,o){if(C(t),n=w(n,!0),C(o),A)try{return O(t,n,o)}catch(t){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(t[n]=o.value),t}},M=c?function(t,n,o){return k.f(t,n,l(1,o))}:function(t,n,o){return t[n]=o,t},E=function(t,n){try{M(a,t,n)}catch(o){a[t]=n}return n},N=a["__core-js_shared__"]||E("__core-js_shared__",{}),y=Function.toString;"function"!=typeof N.inspectSource&&(N.inspectSource=function(t){return y.call(t)});var D,H,F,L,B=N.inspectSource,z=a.WeakMap,j="function"==typeof z&&/native code/.test(B(z)),U=o((function(t){(t.exports=function(t,n){return N[t]||(N[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,J=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+J).toString(36)},Z=U("keys"),I={},K=a.WeakMap;if(j){var q=new K,_=q.get,W=q.has,Y=q.set;D=function(t,n){return Y.call(q,t,n),n},H=function(t){return _.call(q,t)||{}},F=function(t){return W.call(q,t)}}else{var Q=Z[L="state"]||(Z[L]=V(L));I[Q]=!0,D=function(t,n){return M(t,Q,n),n},H=function(t){return P(t,Q)?t[Q]:{}},F=function(t){return P(t,Q)}}var X,$,tt={set:D,get:H,has:F,enforce:function(t){return F(t)?H(t):D(t,{})},getterFor:function(t){return function(n){var o;if(!S(n)||(o=H(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return o}}},nt=o((function(t){var n=tt.get,o=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,e,c){var i=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,f=!!c&&!!c.noTargetGet;"function"==typeof e&&("string"!=typeof n||P(e,"name")||M(e,"name",n),o(e).source=r.join("string"==typeof n?n:"")),t!==a?(i?!f&&t[n]&&(u=!0):delete t[n],u?t[n]=e:M(t,n,e)):u?t[n]=e:E(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||B(this)}))})),ot=a,rt=function(t){return"function"==typeof t?t:void 0},at=function(t,n){return arguments.length<2?rt(ot[t])||rt(a[t]):ot[t]&&ot[t][n]||a[t]&&a[t][n]},et=Math.ceil,ct=Math.floor,it=function(t){return isNaN(t=+t)?0:(t>0?ct:et)(t)},ut=Math.min,ft=function(t){return t>0?ut(it(t),9007199254740991):0},lt=Math.max,st=Math.min,mt=function(t){return function(n,o,r){var a,e=p(n),c=ft(e.length),i=function(t,n){var o=it(t);return o<0?lt(o+n,0):st(o,n)}(r,c);if(t&&o!=o){for(;c>i;)if((a=e[i++])!=a)return!0}else for(;c>i;i++)if((t||i in e)&&e[i]===o)return t||i||0;return!t&&-1}},gt={includes:mt(!0),indexOf:mt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),ht={f:Object.getOwnPropertyNames||function(t){return function(t,n){var o,r=p(t),a=0,e=[];for(o in r)!P(I,o)&&P(r,o)&&e.push(o);for(;n.length>a;)P(r,o=n[a++])&&(~gt(e,o)||e.push(o));return e}(t,dt)}},pt={f:Object.getOwnPropertySymbols},St=at("Reflect","ownKeys")||function(t){var n=ht.f(C(t)),o=pt.f;return o?n.concat(o(t)):n},wt=function(t,n){for(var o=St(n),r=k.f,a=x.f,e=0;e<o.length;e++){var c=o[e];P(t,c)||r(t,c,a(n,c))}},Tt=/#|\.prototype\./,Pt=function(t,n){var o=vt[Rt(t)];return o==bt||o!=At&&("function"==typeof n?e(n):!!n)},Rt=Pt.normalize=function(t){return String(t).replace(Tt,".").toLowerCase()},vt=Pt.data={},At=Pt.NATIVE="N",bt=Pt.POLYFILL="P",xt=Pt,Ct=x.f,Ot=Array.isArray||function(t){return"Array"==m(t)},kt=function(t){return Object(h(t))},Mt=function(t,n,o){var r=w(n);r in t?k.f(t,r,l(0,o)):t[r]=o},Et=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())})),Nt=Et&&!Symbol.sham&&"symbol"==typeof Symbol(),yt=U("wks"),Dt=a.Symbol,Ht=Nt?Dt:V,Ft=function(t){return P(yt,t)||(Et&&P(Dt,t)?yt[t]=Dt[t]:yt[t]=Ht("Symbol."+t)),yt[t]},Lt=Ft("species"),Bt=function(t,n){var o;return Ot(t)&&("function"!=typeof(o=t.constructor)||o!==Array&&!Ot(o.prototype)?S(o)&&null===(o=o[Lt])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===n?0:n)},zt=at("navigator","userAgent")||"",jt=a.process,Ut=jt&&jt.versions,Gt=Ut&&Ut.v8;Gt?$=(X=Gt.split("."))[0]+X[1]:zt&&(!(X=zt.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=zt.match(/Chrome\/(\d+)/))&&($=X[1]);var Jt,Vt=$&&+$,Zt=Ft("species"),It=Ft("isConcatSpreadable"),Kt=Vt>=51||!e((function(){var t=[];return t[It]=!1,t.concat()[0]!==t})),qt=(Jt="concat",Vt>=51||!e((function(){var t=[];return(t.constructor={})[Zt]=function(){return{foo:1}},1!==t[Jt](Boolean).foo}))),_t=function(t){if(!S(t))return!1;var n=t[It];return void 0!==n?!!n:Ot(t)};!function(t,n){var o,r,e,c,i,u=t.target,f=t.global,l=t.stat;if(o=f?a:l?a[u]||E(u,{}):(a[u]||{}).prototype)for(r in n){if(c=n[r],e=t.noTargetGet?(i=Ct(o,r))&&i.value:o[r],!xt(f?r:u+(l?".":"#")+r,t.forced)&&void 0!==e){if(typeof c==typeof e)continue;wt(c,e)}(t.sham||e&&e.sham)&&M(c,"sham",!0),nt(o,r,c,t)}}({target:"Array",proto:!0,forced:!Kt||!qt},{concat:function(t){var n,o,r,a,e,c=kt(this),i=Bt(c,0),u=0;for(n=-1,r=arguments.length;n<r;n++)if(e=-1===n?c:arguments[n],_t(e)){if(u+(a=ft(e.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(o=0;o<a;o++,u++)o in e&&Mt(i,u,e[o])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(i,u++,e)}return i.length=u,i}}),t.fn.bootstrapTable.locales["af-ZA"]={formatLoadingMessage:function(){return"Besig om te laai, wag asseblief"},formatRecordsPerPage:function(t){return"".concat(t," rekords per bladsy")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Resultate ".concat(t," tot ").concat(n," van ").concat(o," rye (filtered from ").concat(r," total rows)"):"Resultate ".concat(t," tot ").concat(n," van ").concat(o," rye")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Soek"},formatNoMatches:function(){return"Geen rekords gevind nie"},formatPaginationSwitch:function(){return"Wys/verberg bladsy nummering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Herlaai"},formatToggle:function(){return"Wissel"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolomme"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["af-ZA"]),t.fn.bootstrapTable.locales["ar-SA"]={formatLoadingMessage:function(){return"جاري التحميل, يرجى الإنتظار"},formatRecordsPerPage:function(t){return"".concat(t," سجل لكل صفحة")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"الظاهر ".concat(t," إلى ").concat(n," من ").concat(o," سجل ").concat(r," total rows)"):"الظاهر ".concat(t," إلى ").concat(n," من ").concat(o," سجل")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"بحث"},formatNoMatches:function(){return"لا توجد نتائج مطابقة للبحث"},formatPaginationSwitch:function(){return"إخفاءإظهار ترقيم الصفحات"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تحديث"},formatToggle:function(){return"تغيير"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"أعمدة"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ar-SA"]),t.fn.bootstrapTable.locales["ca-ES"]={formatLoadingMessage:function(){return"Espereu, si us plau"},formatRecordsPerPage:function(t){return"".concat(t," resultats per pàgina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(o," resultats (filtered from ").concat(r," total rows)"):"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(o," resultats")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"No s'han trobat resultats"},formatPaginationSwitch:function(){return"Amaga/Mostra paginació"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresca"},formatToggle:function(){return"Alterna formatació"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnes"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tots"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ca-ES"]),t.fn.bootstrapTable.locales["cs-CZ"]={formatLoadingMessage:function(){return"Čekejte, prosím"},formatRecordsPerPage:function(t){return"".concat(t," položek na stránku")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(o," (filtered from ").concat(r," total rows)"):"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Vyhledávání"},formatNoMatches:function(){return"Nenalezena žádná vyhovující položka"},formatPaginationSwitch:function(){return"Skrýt/Zobrazit stránkování"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aktualizovat"},formatToggle:function(){return"Přepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sloupce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Vše"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["cs-CZ"]),t.fn.bootstrapTable.locales["da-DK"]={formatLoadingMessage:function(){return"Indlæser, vent venligst"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Viser ".concat(t," til ").concat(n," af ").concat(o," række").concat(o>1?"r":""," (filtered from ").concat(r," total rows)"):"Viser ".concat(t," til ").concat(n," af ").concat(o," række").concat(o>1?"r":"")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Viser ".concat(t," række").concat(t>1?"r":"")},formatClearSearch:function(){return"Ryd filtre"},formatSearch:function(){return"Søg"},formatNoMatches:function(){return"Ingen poster fundet"},formatPaginationSwitch:function(){return"Skjul/vis nummerering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Opdater"},formatToggle:function(){return"Skift"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksporter"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["da-DK"]),t.fn.bootstrapTable.locales["de-DE"]={formatLoadingMessage:function(){return"Lade, bitte warten"},formatRecordsPerPage:function(t){return"".concat(t," Zeilen pro Seite.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(o," Zeile").concat(o>1?"n":""," (Gefiltert von ").concat(r," Zeile").concat(r>1?"n":"",")"):"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(o," Zeile").concat(o>1?"n":"",".")},formatSRPaginationPreText:function(){return"Vorherige Seite"},formatSRPaginationPageText:function(t){return"Zu Seite ".concat(t)},formatSRPaginationNextText:function(){return"Nächste Seite"},formatDetailPagination:function(t){return"Zeige ".concat(t," Zeile").concat(t>1?"n":"",".")},formatClearSearch:function(){return"Lösche Filter"},formatSearch:function(){return"Suchen"},formatNoMatches:function(){return"Keine passenden Ergebnisse gefunden"},formatPaginationSwitch:function(){return"Verstecke/Zeige Nummerierung"},formatPaginationSwitchDown:function(){return"Zeige Nummerierung"},formatPaginationSwitchUp:function(){return"Verstecke Nummerierung"},formatRefresh:function(){return"Neu laden"},formatToggle:function(){return"Umschalten"},formatToggleOn:function(){return"Normale Ansicht"},formatToggleOff:function(){return"Kartenansicht"},formatColumns:function(){return"Spalten"},formatColumnsToggleAll:function(){return"Alle umschalten"},formatFullscreen:function(){return"Vollbild"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisches Neuladen"},formatExport:function(){return"Datenexport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Erweiterte Suche"},formatAdvancedCloseButton:function(){return"Schließen"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["de-DE"]),t.fn.bootstrapTable.locales["el-GR"]={formatLoadingMessage:function(){return"Φορτώνει, παρακαλώ περιμένετε"},formatRecordsPerPage:function(t){return"".concat(t," αποτελέσματα ανά σελίδα")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(o," σειρών (filtered from ").concat(r," total rows)"):"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(o," σειρών")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Αναζητήστε"},formatNoMatches:function(){return"Δεν βρέθηκαν αποτελέσματα"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["el-GR"]),t.fn.bootstrapTable.locales["en-US"]={formatLoadingMessage:function(){return"Loading, please wait"},formatRecordsPerPage:function(t){return"".concat(t," rows per page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Showing ".concat(t," to ").concat(n," of ").concat(o," rows (filtered from ").concat(r," total rows)"):"Showing ".concat(t," to ").concat(n," of ").concat(o," rows")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["en-US"]),t.fn.bootstrapTable.locales["es-AR"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando desde ".concat(t," a ").concat(n," de ").concat(o," filas (filtrado de ").concat(r," columnas totales)"):"Mostrando desde ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"página anterior"},formatSRPaginationPageText:function(t){return"a la página ".concat(t)},formatSRPaginationNextText:function(){return"siguiente página"},formatDetailPagination:function(t){return"Mostrando ".concat(t," columnas")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Mostrar paginación"},formatPaginationSwitchUp:function(){return"Ocultar paginación"},formatRefresh:function(){return"Recargar"},formatToggle:function(){return"Cambiar"},formatToggleOn:function(){return"Mostrar vista de carta"},formatToggleOff:function(){return"Ocultar vista de carta"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Cambiar todo"},formatFullscreen:function(){return"Pantalla completa"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Recargar"},formatExport:function(){return"Exportar datos"},formatJumpTo:function(){return"Ir"},formatAdvancedSearch:function(){return"Búsqueda avanzada"},formatAdvancedCloseButton:function(){return"Cerrar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-AR"]),t.fn.bootstrapTable.locales["es-CL"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," filas por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Cambiar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CL"]),t.fn.bootstrapTable.locales["es-CR"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total (filtered from ").concat(r," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CR"]),t.fn.bootstrapTable.locales["es-ES"]={formatLoadingMessage:function(){return"Por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," resultados por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(o," resultados (filtered from ").concat(r," total rows)"):"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(o," resultados")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron resultados"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Ocultar/Mostrar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todos"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportar los datos"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Búsqueda avanzada"},formatAdvancedCloseButton:function(){return"Cerrar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-ES"]),t.fn.bootstrapTable.locales["es-MX"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Mostrando ".concat(t," filas")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros que coincidan"},formatPaginationSwitch:function(){return"Mostrar/ocultar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Cambiar vista"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Pantalla completa"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-MX"]),t.fn.bootstrapTable.locales["es-NI"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total (filtered from ").concat(r," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-NI"]),t.fn.bootstrapTable.locales["es-SP"]={formatLoadingMessage:function(){return"Cargando, por favor espera"},formatRecordsPerPage:function(t){return"".concat(t," registros por p&#225;gina.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(t," - ").concat(n," de ").concat(o," registros (filtered from ").concat(r," total rows)"):"".concat(t," - ").concat(n," de ").concat(o," registros.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se han encontrado registros."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-SP"]),t.fn.bootstrapTable.locales["et-EE"]={formatLoadingMessage:function(){return"Päring käib, palun oota"},formatRecordsPerPage:function(t){return"".concat(t," rida lehe kohta")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(o," tulemust (filtered from ").concat(r," total rows)"):"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(o," tulemust")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Otsi"},formatNoMatches:function(){return"Päringu tingimustele ei vastanud ühtegi tulemust"},formatPaginationSwitch:function(){return"Näita/Peida lehtedeks jagamine"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Värskenda"},formatToggle:function(){return"Lülita"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Veerud"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kõik"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["et-EE"]),t.fn.bootstrapTable.locales["eu-EU"]={formatLoadingMessage:function(){return"Itxaron mesedez"},formatRecordsPerPage:function(t){return"".concat(t," emaitza orriko.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(o," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten (filtered from ").concat(r," total rows)"):"".concat(o," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Bilatu"},formatNoMatches:function(){return"Ez da emaitzarik aurkitu"},formatPaginationSwitch:function(){return"Ezkutatu/Erakutsi orrikatzea"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Eguneratu"},formatToggle:function(){return"Ezkutatu/Erakutsi"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Zutabeak"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Guztiak"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["eu-EU"]),t.fn.bootstrapTable.locales["fa-IR"]={formatLoadingMessage:function(){return"در حال بارگذاری, لطفا صبر کنید"},formatRecordsPerPage:function(t){return"".concat(t," رکورد در صفحه")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"نمایش ".concat(t," تا ").concat(n," از ").concat(o," ردیف (filtered from ").concat(r," total rows)"):"نمایش ".concat(t," تا ").concat(n," از ").concat(o," ردیف")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"جستجو"},formatNoMatches:function(){return"رکوردی یافت نشد."},formatPaginationSwitch:function(){return"نمایش/مخفی صفحه بندی"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"به روز رسانی"},formatToggle:function(){return"تغییر نمایش"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"سطر ها"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"همه"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fa-IR"]),t.fn.bootstrapTable.locales["fi-FI"]={formatLoadingMessage:function(){return"Ladataan, ole hyvä ja odota"},formatRecordsPerPage:function(t){return"".concat(t," riviä sivulla")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(o," (filtered from ").concat(r," total rows)"):"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Poista suodattimet"},formatSearch:function(){return"Hae"},formatNoMatches:function(){return"Hakuehtoja vastaavia tuloksia ei löytynyt"},formatPaginationSwitch:function(){return"Näytä/Piilota sivutus"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Päivitä"},formatToggle:function(){return"Valitse"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sarakkeet"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kaikki"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Vie tiedot"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fi-FI"]),t.fn.bootstrapTable.locales["fr-BE"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-BE"]),t.fn.bootstrapTable.locales["fr-CH"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-CH"]),t.fn.bootstrapTable.locales["fr-FR"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Aucun résultat"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-FR"]),t.fn.bootstrapTable.locales["fr-LU"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-LU"]),t.fn.bootstrapTable.locales["he-IL"]={formatLoadingMessage:function(){return"טוען, נא להמתין"},formatRecordsPerPage:function(t){return"".concat(t," שורות בעמוד")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"מציג ".concat(t," עד ").concat(n," מ-").concat(o,"שורות").concat(r," total rows)"):"מציג ".concat(t," עד ").concat(n," מ-").concat(o," שורות")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"חיפוש"},formatNoMatches:function(){return"לא נמצאו רשומות תואמות"},formatPaginationSwitch:function(){return"הסתר/הצג מספור דפים"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"רענן"},formatToggle:function(){return"החלף תצוגה"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"עמודות"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"הכל"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["he-IL"]),t.fn.bootstrapTable.locales["hr-HR"]={formatLoadingMessage:function(){return"Molimo pričekajte"},formatRecordsPerPage:function(t){return"".concat(t," broj zapisa po stranici")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(o," (filtered from ").concat(r," total rows)"):"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pretraži"},formatNoMatches:function(){return"Nije pronađen niti jedan zapis"},formatPaginationSwitch:function(){return"Prikaži/sakrij stranice"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Osvježi"},formatToggle:function(){return"Promijeni prikaz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hr-HR"]),t.fn.bootstrapTable.locales["hu-HU"]={formatLoadingMessage:function(){return"Betöltés, kérem várjon"},formatRecordsPerPage:function(t){return"".concat(t," rekord per oldal")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Megjelenítve ".concat(t," - ").concat(n," / ").concat(o," összesen (filtered from ").concat(r," total rows)"):"Megjelenítve ".concat(t," - ").concat(n," / ").concat(o," összesen")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Keresés"},formatNoMatches:function(){return"Nincs találat"},formatPaginationSwitch:function(){return"Lapozó elrejtése/megjelenítése"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Frissítés"},formatToggle:function(){return"Összecsuk/Kinyit"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Oszlopok"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Összes"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hu-HU"]),t.fn.bootstrapTable.locales["id-ID"]={formatLoadingMessage:function(){return"Memuat, mohon tunggu"},formatRecordsPerPage:function(t){return"".concat(t," baris per halaman")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(o," baris (filtered from ").concat(r," total rows)"):"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(o," baris")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Bersihkan filter"},formatSearch:function(){return"Pencarian"},formatNoMatches:function(){return"Tidak ditemukan data yang cocok"},formatPaginationSwitch:function(){return"Sembunyikan/Tampilkan halaman"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muat ulang"},formatToggle:function(){return"Beralih"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolom"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Ekspor data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["id-ID"]),t.fn.bootstrapTable.locales["it-IT"]={formatLoadingMessage:function(){return"Caricamento in corso"},formatRecordsPerPage:function(t){return"".concat(t," elementi per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(o," elementi (filtered from ").concat(r," total rows)"):"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(o," elementi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Pulisci filtri"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"Nessun elemento trovato"},formatPaginationSwitch:function(){return"Nascondi/Mostra paginazione"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aggiorna"},formatToggle:function(){return"Attiva/Disattiva"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colonne"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tutto"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Esporta dati"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["it-IT"]),t.fn.bootstrapTable.locales["ja-JP"]={formatLoadingMessage:function(){return"読み込み中です。少々お待ちください。"},formatRecordsPerPage:function(t){return"ページ当たり最大".concat(t,"件")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"全".concat(o,"件から、").concat(t,"から").concat(n,"件目まで表示しています (filtered from ").concat(r," total rows)"):"全".concat(o,"件から、").concat(t,"から").concat(n,"件目まで表示しています")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"検索"},formatNoMatches:function(){return"該当するレコードが見つかりません"},formatPaginationSwitch:function(){return"ページ数を表示・非表示"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"更新"},formatToggle:function(){return"トグル"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"すべて"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ja-JP"]),t.fn.bootstrapTable.locales["ka-GE"]={formatLoadingMessage:function(){return"იტვირთება, გთხოვთ მოიცადოთ"},formatRecordsPerPage:function(t){return"".concat(t," ჩანაწერი თითო გვერდზე")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(o,"-დან (filtered from ").concat(r," total rows)"):"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(o,"-დან")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ძებნა"},formatNoMatches:function(){return"მონაცემები არ არის"},formatPaginationSwitch:function(){return"გვერდების გადამრთველის დამალვა/გამოჩენა"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"განახლება"},formatToggle:function(){return"ჩართვა/გამორთვა"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"სვეტები"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ka-GE"]),t.fn.bootstrapTable.locales["ko-KR"]={formatLoadingMessage:function(){return"데이터를 불러오는 중입니다"},formatRecordsPerPage:function(t){return"페이지 당 ".concat(t,"개 데이터 출력")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"전체 ".concat(o,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력, (filtered from ").concat(r," total rows)"):"전체 ".concat(o,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력,")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"검색"},formatNoMatches:function(){return"조회된 데이터가 없습니다."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"새로 고침"},formatToggle:function(){return"전환"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"컬럼 필터링"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ko-KR"]),t.fn.bootstrapTable.locales["ms-MY"]={formatLoadingMessage:function(){return"Permintaan sedang dimuatkan. Sila tunggu sebentar"},formatRecordsPerPage:function(t){return"".concat(t," rekod setiap muka surat")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(o," rekod (filtered from ").concat(r," total rows)"):"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(o," rekod")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cari"},formatNoMatches:function(){return"Tiada rekod yang menyamai permintaan"},formatPaginationSwitch:function(){return"Tunjuk/sembunyi muka surat"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muatsemula"},formatToggle:function(){return"Tukar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Lajur"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ms-MY"]),t.fn.bootstrapTable.locales["nb-NO"]={formatLoadingMessage:function(){return"Oppdaterer, vennligst vent"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Viser ".concat(t," til ").concat(n," av ").concat(o," rekker (filtered from ").concat(r," total rows)"):"Viser ".concat(t," til ").concat(n," av ").concat(o," rekker")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Søk"},formatNoMatches:function(){return"Ingen poster funnet"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Oppdater"},formatToggle:function(){return"Endre"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nb-NO"]),t.fn.bootstrapTable.locales["nl-BE"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(t){return"".concat(t," records per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(t){return"tot pagina ".concat(t)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(t){return"Toon ".concat(t," record").concat(t>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nl-BE"]),t.fn.bootstrapTable.locales["nl-NL"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(t){return"".concat(t," records per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(t){return"tot pagina ".concat(t)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(t){return"Toon ".concat(t," record").concat(t>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nl-NL"]),t.fn.bootstrapTable.locales["pl-PL"]={formatLoadingMessage:function(){return"Ładowanie, proszę czekać"},formatRecordsPerPage:function(t){return"".concat(t," rekordów na stronę")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(o," (filtered from ").concat(r," total rows)"):"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Szukaj"},formatNoMatches:function(){return"Niestety, nic nie znaleziono"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Odśwież"},formatToggle:function(){return"Przełącz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolumny"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pl-PL"]),t.fn.bootstrapTable.locales["pt-BR"]={formatLoadingMessage:function(){return"Carregando, aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Exibindo ".concat(t," até ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"Exibindo ".concat(t," até ").concat(n," de ").concat(o," linhas")},formatSRPaginationPreText:function(){return"página anterior"},formatSRPaginationPageText:function(t){return"Para a página ".concat(t)},formatSRPaginationNextText:function(){return"próxima página"},formatDetailPagination:function(t){return"Mostrando ".concat(t," linhas")},formatClearSearch:function(){return"Limpar Pesquisa"},formatSearch:function(){return"Pesquisar"},formatNoMatches:function(){return"Nenhum registro encontrado"},formatPaginationSwitch:function(){return"Ocultar/Exibir paginação"},formatPaginationSwitchDown:function(){return"Mostrar Paginação"},formatPaginationSwitchUp:function(){return"Esconder Paginação"},formatRefresh:function(){return"Recarregar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Tela cheia"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Atualização Automática"},formatExport:function(){return"Exportar dados"},formatJumpTo:function(){return"IR"},formatAdvancedSearch:function(){return"Pesquisa Avançada"},formatAdvancedCloseButton:function(){return"Fechar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-BR"]),t.fn.bootstrapTable.locales["pt-PT"]={formatLoadingMessage:function(){return"A carregar, por favor aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registos por p&aacute;gina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(o," linhas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pesquisa"},formatNoMatches:function(){return"Nenhum registo encontrado"},formatPaginationSwitch:function(){return"Esconder/Mostrar pagina&ccedil&atilde;o"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Atualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-PT"]),t.fn.bootstrapTable.locales["ro-RO"]={formatLoadingMessage:function(){return"Se incarca, va rugam asteptati"},formatRecordsPerPage:function(t){return"".concat(t," inregistrari pe pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Arata de la ".concat(t," pana la ").concat(n," din ").concat(o," randuri (filtered from ").concat(r," total rows)"):"Arata de la ".concat(t," pana la ").concat(n," din ").concat(o," randuri")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cauta"},formatNoMatches:function(){return"Nu au fost gasite inregistrari"},formatPaginationSwitch:function(){return"Ascunde/Arata paginatia"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Reincarca"},formatToggle:function(){return"Comuta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Coloane"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Toate"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ro-RO"]),t.fn.bootstrapTable.locales["ru-RU"]={formatLoadingMessage:function(){return"Пожалуйста, подождите, идёт загрузка"},formatRecordsPerPage:function(t){return"".concat(t," записей на страницу")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Записи с ".concat(t," по ").concat(n," из ").concat(o," (filtered from ").concat(r," total rows)"):"Записи с ".concat(t," по ").concat(n," из ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистить фильтры"},formatSearch:function(){return"Поиск"},formatNoMatches:function(){return"Ничего не найдено"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Обновить"},formatToggle:function(){return"Переключить"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Колонки"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ru-RU"]),t.fn.bootstrapTable.locales["sk-SK"]={formatLoadingMessage:function(){return"Prosím čakajte"},formatRecordsPerPage:function(t){return"".concat(t," záznamov na stranu")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(o," (filtered from ").concat(r," total rows)"):"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Odstráň filtre"},formatSearch:function(){return"Vyhľadávanie"},formatNoMatches:function(){return"Nenájdená žiadna vyhovujúca položka"},formatPaginationSwitch:function(){return"Skry/Zobraz stránkovanie"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Obnoviť"},formatToggle:function(){return"Prepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Stĺpce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Všetky"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportuj dáta"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sk-SK"]),t.fn.bootstrapTable.locales["sr-Cyrl-RS"]={formatLoadingMessage:function(){return"Молим сачекај"},formatRecordsPerPage:function(t){return"".concat(t," редова по страни")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(o," (филтрирано од ").concat(r,")"):"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(o)},formatSRPaginationPreText:function(){return"претходна страна"},formatSRPaginationPageText:function(t){return"на страну ".concat(t)},formatSRPaginationNextText:function(){return"следећа страна"},formatDetailPagination:function(t){return"Приказано ".concat(t," редова")},formatClearSearch:function(){return"Обриши претрагу"},formatSearch:function(){return"Пронађи"},formatNoMatches:function(){return"Није пронађен ни један податак"},formatPaginationSwitch:function(){return"Прикажи/сакриј пагинацију"},formatPaginationSwitchDown:function(){return"Прикажи пагинацију"},formatPaginationSwitchUp:function(){return"Сакриј пагинацију"},formatRefresh:function(){return"Освежи"},formatToggle:function(){return"Промени приказ"},formatToggleOn:function(){return"Прикажи картице"},formatToggleOff:function(){return"Сакриј картице"},formatColumns:function(){return"Колоне"},formatColumnsToggleAll:function(){return"Прикажи/сакриј све"},formatFullscreen:function(){return"Цео екран"},formatAllRows:function(){return"Све"},formatAutoRefresh:function(){return"Аутоматско освежавање"},formatExport:function(){return"Извези податке"},formatJumpTo:function(){return"Иди"},formatAdvancedSearch:function(){return"Напредна претрага"},formatAdvancedCloseButton:function(){return"Затвори"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Cyrl-RS"]),t.fn.bootstrapTable.locales["sr-Latn-RS"]={formatLoadingMessage:function(){return"Molim sačekaj"},formatRecordsPerPage:function(t){return"".concat(t," redova po strani")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(o," (filtrirano od ").concat(r,")"):"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(o)},formatSRPaginationPreText:function(){return"prethodna strana"},formatSRPaginationPageText:function(t){return"na stranu ".concat(t)},formatSRPaginationNextText:function(){return"sledeća strana"},formatDetailPagination:function(t){return"Prikazano ".concat(t," redova")},formatClearSearch:function(){return"Obriši pretragu"},formatSearch:function(){return"Pronađi"},formatNoMatches:function(){return"Nije pronađen ni jedan podatak"},formatPaginationSwitch:function(){return"Prikaži/sakrij paginaciju"},formatPaginationSwitchDown:function(){return"Prikaži paginaciju"},formatPaginationSwitchUp:function(){return"Sakrij paginaciju"},formatRefresh:function(){return"Osveži"},formatToggle:function(){return"Promeni prikaz"},formatToggleOn:function(){return"Prikaži kartice"},formatToggleOff:function(){return"Sakrij kartice"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Prikaži/sakrij sve"},formatFullscreen:function(){return"Ceo ekran"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Automatsko osvežavanje"},formatExport:function(){return"Izvezi podatke"},formatJumpTo:function(){return"Idi"},formatAdvancedSearch:function(){return"Napredna pretraga"},formatAdvancedCloseButton:function(){return"Zatvori"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Latn-RS"]),t.fn.bootstrapTable.locales["sv-SE"]={formatLoadingMessage:function(){return"Laddar, vänligen vänta"},formatRecordsPerPage:function(t){return"".concat(t," rader per sida")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Visa ".concat(t," till ").concat(n," av ").concat(o," rader (filtered from ").concat(r," total rows)"):"Visa ".concat(t," till ").concat(n," av ").concat(o," rader")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Sök"},formatNoMatches:function(){return"Inga matchande resultat funna."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Uppdatera"},formatToggle:function(){return"Skifta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolumn"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sv-SE"]),t.fn.bootstrapTable.locales["th-TH"]={formatLoadingMessage:function(){return"กำลังโหลดข้อมูล, กรุณารอสักครู่"},formatRecordsPerPage:function(t){return"".concat(t," รายการต่อหน้า")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(o," รายการ (filtered from ").concat(r," total rows)"):"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(o," รายการ")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ค้นหา"},formatNoMatches:function(){return"ไม่พบรายการที่ค้นหา !"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"รีเฟรส"},formatToggle:function(){return"สลับมุมมอง"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"คอลัมน์"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["th-TH"]),t.fn.bootstrapTable.locales["tr-TR"]={formatLoadingMessage:function(){return"Yükleniyor, lütfen bekleyin"},formatRecordsPerPage:function(t){return"Sayfa başına ".concat(t," kayıt.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(o," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor (filtered from ").concat(r," total rows)."):"".concat(o," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Ara"},formatNoMatches:function(){return"Eşleşen kayıt bulunamadı."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yenile"},formatToggle:function(){return"Değiştir"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sütunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tüm Satırlar"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["tr-TR"]),t.fn.bootstrapTable.locales["uk-UA"]={formatLoadingMessage:function(){return"Завантаження, будь ласка, зачекайте"},formatRecordsPerPage:function(t){return"".concat(t," записів на сторінку")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(o," (filtered from ").concat(r," total rows)"):"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистити фільтри"},formatSearch:function(){return"Пошук"},formatNoMatches:function(){return"Не знайдено жодного запису"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Оновити"},formatToggle:function(){return"Змінити"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Стовпці"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uk-UA"]),t.fn.bootstrapTable.locales["ur-PK"]={formatLoadingMessage:function(){return"براۓ مہربانی انتظار کیجئے"},formatRecordsPerPage:function(t){return"".concat(t," ریکارڈز فی صفہ ")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(o,"ریکارڈز (filtered from ").concat(r," total rows)"):"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(o,"ریکارڈز")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"تلاش"},formatNoMatches:function(){return"کوئی ریکارڈ نہیں ملا"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تازہ کریں"},formatToggle:function(){return"تبدیل کریں"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"کالم"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ur-PK"]),t.fn.bootstrapTable.locales["uz-Latn-UZ"]={formatLoadingMessage:function(){return"Yuklanyapti, iltimos kuting"},formatRecordsPerPage:function(t){return"".concat(t," qator har sahifada")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(o," qatorlarni (filtered from ").concat(r," total rows)"):"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(o," qatorlarni")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Filtrlarni tozalash"},formatSearch:function(){return"Qidirish"},formatNoMatches:function(){return"Hech narsa topilmadi"},formatPaginationSwitch:function(){return"Sahifalashni yashirish/ko'rsatish"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yangilash"},formatToggle:function(){return"Ko'rinish"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Ustunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Hammasi"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uz-Latn-UZ"]),t.fn.bootstrapTable.locales["vi-VN"]={formatLoadingMessage:function(){return"Đang tải"},formatRecordsPerPage:function(t){return"".concat(t," bản ghi mỗi trang")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(o," bảng ghi (filtered from ").concat(r," total rows)"):"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(o," bảng ghi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Tìm kiếm"},formatNoMatches:function(){return"Không có dữ liệu"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["vi-VN"]),t.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中，请稍候"},formatRecordsPerPage:function(t){return"每页显示 ".concat(t," 条记录")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"显示第 ".concat(t," 到第 ").concat(n," 条记录，总共 ").concat(o," 条记录（从 ").concat(r," 总记录中过滤）"):"显示第 ".concat(t," 到第 ").concat(n," 条记录，总共 ").concat(o," 条记录")},formatSRPaginationPreText:function(){return"上一页"},formatSRPaginationPageText:function(t){return"第".concat(t,"页")},formatSRPaginationNextText:function(){return"下一页"},formatDetailPagination:function(t){return"总共 ".concat(t," 条记录")},formatClearSearch:function(){return"清空过滤"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatPaginationSwitchDown:function(){return"显示分页"},formatPaginationSwitchUp:function(){return"隐藏分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatToggleOn:function(){return"显示卡片视图"},formatToggleOff:function(){return"隐藏卡片视图"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切换所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自动刷新"},formatExport:function(){return"导出数据"},formatJumpTo:function(){return"跳转"},formatAdvancedSearch:function(){return"高级搜索"},formatAdvancedCloseButton:function(){return"关闭"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-CN"]),t.fn.bootstrapTable.locales["zh-TW"]={formatLoadingMessage:function(){return"正在努力地載入資料，請稍候"},formatRecordsPerPage:function(t){return"每頁顯示 ".concat(t," 項記錄")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"顯示第 ".concat(t," 到第 ").concat(n," 項記錄，總共 ").concat(o," 項記錄（從 ").concat(r," 總記錄中過濾）"):"顯示第 ".concat(t," 到第 ").concat(n," 項記錄，總共 ").concat(o," 項記錄")},formatSRPaginationPreText:function(){return"上一頁"},formatSRPaginationPageText:function(t){return"第".concat(t,"頁")},formatSRPaginationNextText:function(){return"下一頁"},formatDetailPagination:function(t){return"總共 ".concat(t," 項記錄")},formatClearSearch:function(){return"清空過濾"},formatSearch:function(){return"搜尋"},formatNoMatches:function(){return"沒有找到符合的結果"},formatPaginationSwitch:function(){return"隱藏/顯示分頁"},formatPaginationSwitchDown:function(){return"顯示分頁"},formatPaginationSwitchUp:function(){return"隱藏分頁"},formatRefresh:function(){return"重新整理"},formatToggle:function(){return"切換"},formatToggleOn:function(){return"顯示卡片視圖"},formatToggleOff:function(){return"隱藏卡片視圖"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切換所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自動刷新"},formatExport:function(){return"導出數據"},formatJumpTo:function(){return"跳轉"},formatAdvancedSearch:function(){return"高級搜尋"},formatAdvancedCloseButton:function(){return"關閉"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-TW"])}));
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.esm.js b/server/target/classes/static/bootstrap-table/bootstrap-table-vue.esm.js
deleted file mode 100644
index 5800c9a..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.esm.js
+++ /dev/null
@@ -1,2279 +0,0 @@
-var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-function createCommonjsModule(fn, module) {
-	return module = { exports: {} }, fn(module, module.exports), module.exports;
-}
-
-var check = function (it) {
-  return it && it.Math == Math && it;
-};
-
-// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-var global_1 =
-  // eslint-disable-next-line no-undef
-  check(typeof globalThis == 'object' && globalThis) ||
-  check(typeof window == 'object' && window) ||
-  check(typeof self == 'object' && self) ||
-  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-  // eslint-disable-next-line no-new-func
-  Function('return this')();
-
-var fails = function (exec) {
-  try {
-    return !!exec();
-  } catch (error) {
-    return true;
-  }
-};
-
-// Thank's IE8 for his funny defineProperty
-var descriptors = !fails(function () {
-  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-});
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-// Nashorn ~ JDK8 bug
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-// `Object.prototype.propertyIsEnumerable` method implementation
-// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-  var descriptor = getOwnPropertyDescriptor(this, V);
-  return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-var objectPropertyIsEnumerable = {
-	f: f
-};
-
-var createPropertyDescriptor = function (bitmap, value) {
-  return {
-    enumerable: !(bitmap & 1),
-    configurable: !(bitmap & 2),
-    writable: !(bitmap & 4),
-    value: value
-  };
-};
-
-var toString = {}.toString;
-
-var classofRaw = function (it) {
-  return toString.call(it).slice(8, -1);
-};
-
-var split = ''.split;
-
-// fallback for non-array-like ES3 and non-enumerable old V8 strings
-var indexedObject = fails(function () {
-  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-  // eslint-disable-next-line no-prototype-builtins
-  return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
-  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-// `RequireObjectCoercible` abstract operation
-// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-var requireObjectCoercible = function (it) {
-  if (it == undefined) throw TypeError("Can't call method on " + it);
-  return it;
-};
-
-// toObject with fallback for non-array-like ES3 strings
-
-
-
-var toIndexedObject = function (it) {
-  return indexedObject(requireObjectCoercible(it));
-};
-
-var isObject = function (it) {
-  return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-// `ToPrimitive` abstract operation
-// https://tc39.github.io/ecma262/#sec-toprimitive
-// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-// and the second argument - flag - preferred type is a string
-var toPrimitive = function (input, PREFERRED_STRING) {
-  if (!isObject(input)) return input;
-  var fn, val;
-  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-  throw TypeError("Can't convert object to primitive value");
-};
-
-var hasOwnProperty = {}.hasOwnProperty;
-
-var has = function (it, key) {
-  return hasOwnProperty.call(it, key);
-};
-
-var document$1 = global_1.document;
-// typeof document.createElement is 'object' in old IE
-var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-var documentCreateElement = function (it) {
-  return EXISTS ? document$1.createElement(it) : {};
-};
-
-// Thank's IE8 for his funny defineProperty
-var ie8DomDefine = !descriptors && !fails(function () {
-  return Object.defineProperty(documentCreateElement('div'), 'a', {
-    get: function () { return 7; }
-  }).a != 7;
-});
-
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-// `Object.getOwnPropertyDescriptor` method
-// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-  O = toIndexedObject(O);
-  P = toPrimitive(P, true);
-  if (ie8DomDefine) try {
-    return nativeGetOwnPropertyDescriptor(O, P);
-  } catch (error) { /* empty */ }
-  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-};
-
-var objectGetOwnPropertyDescriptor = {
-	f: f$1
-};
-
-var anObject = function (it) {
-  if (!isObject(it)) {
-    throw TypeError(String(it) + ' is not an object');
-  } return it;
-};
-
-var nativeDefineProperty = Object.defineProperty;
-
-// `Object.defineProperty` method
-// https://tc39.github.io/ecma262/#sec-object.defineproperty
-var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-  anObject(O);
-  P = toPrimitive(P, true);
-  anObject(Attributes);
-  if (ie8DomDefine) try {
-    return nativeDefineProperty(O, P, Attributes);
-  } catch (error) { /* empty */ }
-  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-  if ('value' in Attributes) O[P] = Attributes.value;
-  return O;
-};
-
-var objectDefineProperty = {
-	f: f$2
-};
-
-var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
-  object[key] = value;
-  return object;
-};
-
-var setGlobal = function (key, value) {
-  try {
-    createNonEnumerableProperty(global_1, key, value);
-  } catch (error) {
-    global_1[key] = value;
-  } return value;
-};
-
-var SHARED = '__core-js_shared__';
-var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-var sharedStore = store;
-
-var functionToString = Function.toString;
-
-// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-if (typeof sharedStore.inspectSource != 'function') {
-  sharedStore.inspectSource = function (it) {
-    return functionToString.call(it);
-  };
-}
-
-var inspectSource = sharedStore.inspectSource;
-
-var WeakMap = global_1.WeakMap;
-
-var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-var shared = createCommonjsModule(function (module) {
-(module.exports = function (key, value) {
-  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-})('versions', []).push({
-  version: '3.6.0',
-  mode:  'global',
-  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-});
-});
-
-var id = 0;
-var postfix = Math.random();
-
-var uid = function (key) {
-  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-var keys = shared('keys');
-
-var sharedKey = function (key) {
-  return keys[key] || (keys[key] = uid(key));
-};
-
-var hiddenKeys = {};
-
-var WeakMap$1 = global_1.WeakMap;
-var set, get, has$1;
-
-var enforce = function (it) {
-  return has$1(it) ? get(it) : set(it, {});
-};
-
-var getterFor = function (TYPE) {
-  return function (it) {
-    var state;
-    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-    } return state;
-  };
-};
-
-if (nativeWeakMap) {
-  var store$1 = new WeakMap$1();
-  var wmget = store$1.get;
-  var wmhas = store$1.has;
-  var wmset = store$1.set;
-  set = function (it, metadata) {
-    wmset.call(store$1, it, metadata);
-    return metadata;
-  };
-  get = function (it) {
-    return wmget.call(store$1, it) || {};
-  };
-  has$1 = function (it) {
-    return wmhas.call(store$1, it);
-  };
-} else {
-  var STATE = sharedKey('state');
-  hiddenKeys[STATE] = true;
-  set = function (it, metadata) {
-    createNonEnumerableProperty(it, STATE, metadata);
-    return metadata;
-  };
-  get = function (it) {
-    return has(it, STATE) ? it[STATE] : {};
-  };
-  has$1 = function (it) {
-    return has(it, STATE);
-  };
-}
-
-var internalState = {
-  set: set,
-  get: get,
-  has: has$1,
-  enforce: enforce,
-  getterFor: getterFor
-};
-
-var redefine = createCommonjsModule(function (module) {
-var getInternalState = internalState.get;
-var enforceInternalState = internalState.enforce;
-var TEMPLATE = String(String).split('String');
-
-(module.exports = function (O, key, value, options) {
-  var unsafe = options ? !!options.unsafe : false;
-  var simple = options ? !!options.enumerable : false;
-  var noTargetGet = options ? !!options.noTargetGet : false;
-  if (typeof value == 'function') {
-    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-  }
-  if (O === global_1) {
-    if (simple) O[key] = value;
-    else setGlobal(key, value);
-    return;
-  } else if (!unsafe) {
-    delete O[key];
-  } else if (!noTargetGet && O[key]) {
-    simple = true;
-  }
-  if (simple) O[key] = value;
-  else createNonEnumerableProperty(O, key, value);
-// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-})(Function.prototype, 'toString', function toString() {
-  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-});
-});
-
-var path = global_1;
-
-var aFunction = function (variable) {
-  return typeof variable == 'function' ? variable : undefined;
-};
-
-var getBuiltIn = function (namespace, method) {
-  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-};
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-
-// `ToInteger` abstract operation
-// https://tc39.github.io/ecma262/#sec-tointeger
-var toInteger = function (argument) {
-  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-var min = Math.min;
-
-// `ToLength` abstract operation
-// https://tc39.github.io/ecma262/#sec-tolength
-var toLength = function (argument) {
-  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-};
-
-var max = Math.max;
-var min$1 = Math.min;
-
-// Helper for a popular repeating case of the spec:
-// Let integer be ? ToInteger(index).
-// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-var toAbsoluteIndex = function (index, length) {
-  var integer = toInteger(index);
-  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-};
-
-// `Array.prototype.{ indexOf, includes }` methods implementation
-var createMethod = function (IS_INCLUDES) {
-  return function ($this, el, fromIndex) {
-    var O = toIndexedObject($this);
-    var length = toLength(O.length);
-    var index = toAbsoluteIndex(fromIndex, length);
-    var value;
-    // Array#includes uses SameValueZero equality algorithm
-    // eslint-disable-next-line no-self-compare
-    if (IS_INCLUDES && el != el) while (length > index) {
-      value = O[index++];
-      // eslint-disable-next-line no-self-compare
-      if (value != value) return true;
-    // Array#indexOf ignores holes, Array#includes - not
-    } else for (;length > index; index++) {
-      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-    } return !IS_INCLUDES && -1;
-  };
-};
-
-var arrayIncludes = {
-  // `Array.prototype.includes` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-  includes: createMethod(true),
-  // `Array.prototype.indexOf` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-  indexOf: createMethod(false)
-};
-
-var indexOf = arrayIncludes.indexOf;
-
-
-var objectKeysInternal = function (object, names) {
-  var O = toIndexedObject(object);
-  var i = 0;
-  var result = [];
-  var key;
-  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-  // Don't enum bug & hidden keys
-  while (names.length > i) if (has(O, key = names[i++])) {
-    ~indexOf(result, key) || result.push(key);
-  }
-  return result;
-};
-
-// IE8- don't enum bug keys
-var enumBugKeys = [
-  'constructor',
-  'hasOwnProperty',
-  'isPrototypeOf',
-  'propertyIsEnumerable',
-  'toLocaleString',
-  'toString',
-  'valueOf'
-];
-
-var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-// `Object.getOwnPropertyNames` method
-// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-  return objectKeysInternal(O, hiddenKeys$1);
-};
-
-var objectGetOwnPropertyNames = {
-	f: f$3
-};
-
-var f$4 = Object.getOwnPropertySymbols;
-
-var objectGetOwnPropertySymbols = {
-	f: f$4
-};
-
-// all object keys, includes non-enumerable and symbols
-var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-  var keys = objectGetOwnPropertyNames.f(anObject(it));
-  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-var copyConstructorProperties = function (target, source) {
-  var keys = ownKeys(source);
-  var defineProperty = objectDefineProperty.f;
-  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-  for (var i = 0; i < keys.length; i++) {
-    var key = keys[i];
-    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-  }
-};
-
-var replacement = /#|\.prototype\./;
-
-var isForced = function (feature, detection) {
-  var value = data[normalize(feature)];
-  return value == POLYFILL ? true
-    : value == NATIVE ? false
-    : typeof detection == 'function' ? fails(detection)
-    : !!detection;
-};
-
-var normalize = isForced.normalize = function (string) {
-  return String(string).replace(replacement, '.').toLowerCase();
-};
-
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-
-var isForced_1 = isForced;
-
-var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-/*
-  options.target      - name of the target object
-  options.global      - target is the global object
-  options.stat        - export as static methods of target
-  options.proto       - export as prototype methods of target
-  options.real        - real prototype method for the `pure` version
-  options.forced      - export even if the native feature is available
-  options.bind        - bind methods to the target, required for the `pure` version
-  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-  options.sham        - add a flag to not completely full polyfills
-  options.enumerable  - export as enumerable property
-  options.noTargetGet - prevent calling a getter on target
-*/
-var _export = function (options, source) {
-  var TARGET = options.target;
-  var GLOBAL = options.global;
-  var STATIC = options.stat;
-  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-  if (GLOBAL) {
-    target = global_1;
-  } else if (STATIC) {
-    target = global_1[TARGET] || setGlobal(TARGET, {});
-  } else {
-    target = (global_1[TARGET] || {}).prototype;
-  }
-  if (target) for (key in source) {
-    sourceProperty = source[key];
-    if (options.noTargetGet) {
-      descriptor = getOwnPropertyDescriptor$1(target, key);
-      targetProperty = descriptor && descriptor.value;
-    } else targetProperty = target[key];
-    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-    // contained in target
-    if (!FORCED && targetProperty !== undefined) {
-      if (typeof sourceProperty === typeof targetProperty) continue;
-      copyConstructorProperties(sourceProperty, targetProperty);
-    }
-    // add a flag to not completely full polyfills
-    if (options.sham || (targetProperty && targetProperty.sham)) {
-      createNonEnumerableProperty(sourceProperty, 'sham', true);
-    }
-    // extend global
-    redefine(target, key, sourceProperty, options);
-  }
-};
-
-var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-  // Chrome 38 Symbol has incorrect toString conversion
-  // eslint-disable-next-line no-undef
-  return !String(Symbol());
-});
-
-var useSymbolAsUid = nativeSymbol
-  // eslint-disable-next-line no-undef
-  && !Symbol.sham
-  // eslint-disable-next-line no-undef
-  && typeof Symbol() == 'symbol';
-
-// `IsArray` abstract operation
-// https://tc39.github.io/ecma262/#sec-isarray
-var isArray = Array.isArray || function isArray(arg) {
-  return classofRaw(arg) == 'Array';
-};
-
-// `ToObject` abstract operation
-// https://tc39.github.io/ecma262/#sec-toobject
-var toObject = function (argument) {
-  return Object(requireObjectCoercible(argument));
-};
-
-// `Object.keys` method
-// https://tc39.github.io/ecma262/#sec-object.keys
-var objectKeys = Object.keys || function keys(O) {
-  return objectKeysInternal(O, enumBugKeys);
-};
-
-// `Object.defineProperties` method
-// https://tc39.github.io/ecma262/#sec-object.defineproperties
-var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-  anObject(O);
-  var keys = objectKeys(Properties);
-  var length = keys.length;
-  var index = 0;
-  var key;
-  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-  return O;
-};
-
-var html = getBuiltIn('document', 'documentElement');
-
-var GT = '>';
-var LT = '<';
-var PROTOTYPE = 'prototype';
-var SCRIPT = 'script';
-var IE_PROTO = sharedKey('IE_PROTO');
-
-var EmptyConstructor = function () { /* empty */ };
-
-var scriptTag = function (content) {
-  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-};
-
-// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-var NullProtoObjectViaActiveX = function (activeXDocument) {
-  activeXDocument.write(scriptTag(''));
-  activeXDocument.close();
-  var temp = activeXDocument.parentWindow.Object;
-  activeXDocument = null; // avoid memory leak
-  return temp;
-};
-
-// Create object with fake `null` prototype: use iframe Object with cleared prototype
-var NullProtoObjectViaIFrame = function () {
-  // Thrash, waste and sodomy: IE GC bug
-  var iframe = documentCreateElement('iframe');
-  var JS = 'java' + SCRIPT + ':';
-  var iframeDocument;
-  iframe.style.display = 'none';
-  html.appendChild(iframe);
-  // https://github.com/zloirock/core-js/issues/475
-  iframe.src = String(JS);
-  iframeDocument = iframe.contentWindow.document;
-  iframeDocument.open();
-  iframeDocument.write(scriptTag('document.F=Object'));
-  iframeDocument.close();
-  return iframeDocument.F;
-};
-
-// Check for document.domain and active x support
-// No need to use active x approach when document.domain is not set
-// see https://github.com/es-shims/es5-shim/issues/150
-// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-// avoid IE GC bug
-var activeXDocument;
-var NullProtoObject = function () {
-  try {
-    /* global ActiveXObject */
-    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-  } catch (error) { /* ignore */ }
-  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-  var length = enumBugKeys.length;
-  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-  return NullProtoObject();
-};
-
-hiddenKeys[IE_PROTO] = true;
-
-// `Object.create` method
-// https://tc39.github.io/ecma262/#sec-object.create
-var objectCreate = Object.create || function create(O, Properties) {
-  var result;
-  if (O !== null) {
-    EmptyConstructor[PROTOTYPE] = anObject(O);
-    result = new EmptyConstructor();
-    EmptyConstructor[PROTOTYPE] = null;
-    // add "__proto__" for Object.getPrototypeOf polyfill
-    result[IE_PROTO] = O;
-  } else result = NullProtoObject();
-  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-};
-
-var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-var toString$1 = {}.toString;
-
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-  ? Object.getOwnPropertyNames(window) : [];
-
-var getWindowNames = function (it) {
-  try {
-    return nativeGetOwnPropertyNames(it);
-  } catch (error) {
-    return windowNames.slice();
-  }
-};
-
-// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-var f$5 = function getOwnPropertyNames(it) {
-  return windowNames && toString$1.call(it) == '[object Window]'
-    ? getWindowNames(it)
-    : nativeGetOwnPropertyNames(toIndexedObject(it));
-};
-
-var objectGetOwnPropertyNamesExternal = {
-	f: f$5
-};
-
-var WellKnownSymbolsStore = shared('wks');
-var Symbol$1 = global_1.Symbol;
-var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-var wellKnownSymbol = function (name) {
-  if (!has(WellKnownSymbolsStore, name)) {
-    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-  } return WellKnownSymbolsStore[name];
-};
-
-var f$6 = wellKnownSymbol;
-
-var wrappedWellKnownSymbol = {
-	f: f$6
-};
-
-var defineProperty = objectDefineProperty.f;
-
-var defineWellKnownSymbol = function (NAME) {
-  var Symbol = path.Symbol || (path.Symbol = {});
-  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-    value: wrappedWellKnownSymbol.f(NAME)
-  });
-};
-
-var defineProperty$1 = objectDefineProperty.f;
-
-
-
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-var setToStringTag = function (it, TAG, STATIC) {
-  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-  }
-};
-
-var aFunction$1 = function (it) {
-  if (typeof it != 'function') {
-    throw TypeError(String(it) + ' is not a function');
-  } return it;
-};
-
-// optional / simple context binding
-var bindContext = function (fn, that, length) {
-  aFunction$1(fn);
-  if (that === undefined) return fn;
-  switch (length) {
-    case 0: return function () {
-      return fn.call(that);
-    };
-    case 1: return function (a) {
-      return fn.call(that, a);
-    };
-    case 2: return function (a, b) {
-      return fn.call(that, a, b);
-    };
-    case 3: return function (a, b, c) {
-      return fn.call(that, a, b, c);
-    };
-  }
-  return function (/* ...args */) {
-    return fn.apply(that, arguments);
-  };
-};
-
-var SPECIES = wellKnownSymbol('species');
-
-// `ArraySpeciesCreate` abstract operation
-// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-var arraySpeciesCreate = function (originalArray, length) {
-  var C;
-  if (isArray(originalArray)) {
-    C = originalArray.constructor;
-    // cross-realm fallback
-    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-    else if (isObject(C)) {
-      C = C[SPECIES];
-      if (C === null) C = undefined;
-    }
-  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-var push = [].push;
-
-// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-var createMethod$1 = function (TYPE) {
-  var IS_MAP = TYPE == 1;
-  var IS_FILTER = TYPE == 2;
-  var IS_SOME = TYPE == 3;
-  var IS_EVERY = TYPE == 4;
-  var IS_FIND_INDEX = TYPE == 6;
-  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-  return function ($this, callbackfn, that, specificCreate) {
-    var O = toObject($this);
-    var self = indexedObject(O);
-    var boundFunction = bindContext(callbackfn, that, 3);
-    var length = toLength(self.length);
-    var index = 0;
-    var create = specificCreate || arraySpeciesCreate;
-    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-    var value, result;
-    for (;length > index; index++) if (NO_HOLES || index in self) {
-      value = self[index];
-      result = boundFunction(value, index, O);
-      if (TYPE) {
-        if (IS_MAP) target[index] = result; // map
-        else if (result) switch (TYPE) {
-          case 3: return true;              // some
-          case 5: return value;             // find
-          case 6: return index;             // findIndex
-          case 2: push.call(target, value); // filter
-        } else if (IS_EVERY) return false;  // every
-      }
-    }
-    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-  };
-};
-
-var arrayIteration = {
-  // `Array.prototype.forEach` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-  forEach: createMethod$1(0),
-  // `Array.prototype.map` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-  map: createMethod$1(1),
-  // `Array.prototype.filter` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-  filter: createMethod$1(2),
-  // `Array.prototype.some` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-  some: createMethod$1(3),
-  // `Array.prototype.every` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-  every: createMethod$1(4),
-  // `Array.prototype.find` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-  find: createMethod$1(5),
-  // `Array.prototype.findIndex` method
-  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-  findIndex: createMethod$1(6)
-};
-
-var $forEach = arrayIteration.forEach;
-
-var HIDDEN = sharedKey('hidden');
-var SYMBOL = 'Symbol';
-var PROTOTYPE$1 = 'prototype';
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-var setInternalState = internalState.set;
-var getInternalState = internalState.getterFor(SYMBOL);
-var ObjectPrototype = Object[PROTOTYPE$1];
-var $Symbol = global_1.Symbol;
-var $stringify = getBuiltIn('JSON', 'stringify');
-var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-var nativeDefineProperty$1 = objectDefineProperty.f;
-var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-var AllSymbols = shared('symbols');
-var ObjectPrototypeSymbols = shared('op-symbols');
-var StringToSymbolRegistry = shared('string-to-symbol-registry');
-var SymbolToStringRegistry = shared('symbol-to-string-registry');
-var WellKnownSymbolsStore$1 = shared('wks');
-var QObject = global_1.QObject;
-// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-var setSymbolDescriptor = descriptors && fails(function () {
-  return objectCreate(nativeDefineProperty$1({}, 'a', {
-    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-  })).a != 7;
-}) ? function (O, P, Attributes) {
-  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-  nativeDefineProperty$1(O, P, Attributes);
-  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-  }
-} : nativeDefineProperty$1;
-
-var wrap = function (tag, description) {
-  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-  setInternalState(symbol, {
-    type: SYMBOL,
-    tag: tag,
-    description: description
-  });
-  if (!descriptors) symbol.description = description;
-  return symbol;
-};
-
-var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-  return typeof it == 'symbol';
-} : function (it) {
-  return Object(it) instanceof $Symbol;
-};
-
-var $defineProperty = function defineProperty(O, P, Attributes) {
-  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-  anObject(O);
-  var key = toPrimitive(P, true);
-  anObject(Attributes);
-  if (has(AllSymbols, key)) {
-    if (!Attributes.enumerable) {
-      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-      O[HIDDEN][key] = true;
-    } else {
-      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-    } return setSymbolDescriptor(O, key, Attributes);
-  } return nativeDefineProperty$1(O, key, Attributes);
-};
-
-var $defineProperties = function defineProperties(O, Properties) {
-  anObject(O);
-  var properties = toIndexedObject(Properties);
-  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-  $forEach(keys, function (key) {
-    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-  });
-  return O;
-};
-
-var $create = function create(O, Properties) {
-  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-};
-
-var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-  var P = toPrimitive(V, true);
-  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-};
-
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-  var it = toIndexedObject(O);
-  var key = toPrimitive(P, true);
-  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-    descriptor.enumerable = true;
-  }
-  return descriptor;
-};
-
-var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-  var result = [];
-  $forEach(names, function (key) {
-    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-  });
-  return result;
-};
-
-var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-  var result = [];
-  $forEach(names, function (key) {
-    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-      result.push(AllSymbols[key]);
-    }
-  });
-  return result;
-};
-
-// `Symbol` constructor
-// https://tc39.github.io/ecma262/#sec-symbol-constructor
-if (!nativeSymbol) {
-  $Symbol = function Symbol() {
-    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-    var tag = uid(description);
-    var setter = function (value) {
-      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-    };
-    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-    return wrap(tag, description);
-  };
-
-  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-    return getInternalState(this).tag;
-  });
-
-  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-  objectDefineProperty.f = $defineProperty;
-  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-  if (descriptors) {
-    // https://github.com/tc39/proposal-Symbol-description
-    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-      configurable: true,
-      get: function description() {
-        return getInternalState(this).description;
-      }
-    });
-    {
-      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-    }
-  }
-}
-
-if (!useSymbolAsUid) {
-  wrappedWellKnownSymbol.f = function (name) {
-    return wrap(wellKnownSymbol(name), name);
-  };
-}
-
-_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-  Symbol: $Symbol
-});
-
-$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-  defineWellKnownSymbol(name);
-});
-
-_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-  // `Symbol.for` method
-  // https://tc39.github.io/ecma262/#sec-symbol.for
-  'for': function (key) {
-    var string = String(key);
-    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-    var symbol = $Symbol(string);
-    StringToSymbolRegistry[string] = symbol;
-    SymbolToStringRegistry[symbol] = string;
-    return symbol;
-  },
-  // `Symbol.keyFor` method
-  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-  keyFor: function keyFor(sym) {
-    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-  },
-  useSetter: function () { USE_SETTER = true; },
-  useSimple: function () { USE_SETTER = false; }
-});
-
-_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-  // `Object.create` method
-  // https://tc39.github.io/ecma262/#sec-object.create
-  create: $create,
-  // `Object.defineProperty` method
-  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-  defineProperty: $defineProperty,
-  // `Object.defineProperties` method
-  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-  defineProperties: $defineProperties,
-  // `Object.getOwnPropertyDescriptor` method
-  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-});
-
-_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-  // `Object.getOwnPropertyNames` method
-  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-  getOwnPropertyNames: $getOwnPropertyNames,
-  // `Object.getOwnPropertySymbols` method
-  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-  getOwnPropertySymbols: $getOwnPropertySymbols
-});
-
-// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-    return objectGetOwnPropertySymbols.f(toObject(it));
-  }
-});
-
-// `JSON.stringify` method behavior with symbols
-// https://tc39.github.io/ecma262/#sec-json.stringify
-if ($stringify) {
-  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-    var symbol = $Symbol();
-    // MS Edge converts symbol values to JSON as {}
-    return $stringify([symbol]) != '[null]'
-      // WebKit converts symbol values to JSON as null
-      || $stringify({ a: symbol }) != '{}'
-      // V8 throws on boxed symbols
-      || $stringify(Object(symbol)) != '{}';
-  });
-
-  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-    // eslint-disable-next-line no-unused-vars
-    stringify: function stringify(it, replacer, space) {
-      var args = [it];
-      var index = 1;
-      var $replacer;
-      while (arguments.length > index) args.push(arguments[index++]);
-      $replacer = replacer;
-      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-      if (!isArray(replacer)) replacer = function (key, value) {
-        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-        if (!isSymbol(value)) return value;
-      };
-      args[1] = replacer;
-      return $stringify.apply(null, args);
-    }
-  });
-}
-
-// `Symbol.prototype[@@toPrimitive]` method
-// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-}
-// `Symbol.prototype[@@toStringTag]` property
-// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-setToStringTag($Symbol, SYMBOL);
-
-hiddenKeys[HIDDEN] = true;
-
-var defineProperty$2 = objectDefineProperty.f;
-
-
-var NativeSymbol = global_1.Symbol;
-
-if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-  // Safari 12 bug
-  NativeSymbol().description !== undefined
-)) {
-  var EmptyStringDescriptionStore = {};
-  // wrap Symbol constructor for correct work with undefined description
-  var SymbolWrapper = function Symbol() {
-    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-    var result = this instanceof SymbolWrapper
-      ? new NativeSymbol(description)
-      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-    if (description === '') EmptyStringDescriptionStore[result] = true;
-    return result;
-  };
-  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-  symbolPrototype.constructor = SymbolWrapper;
-
-  var symbolToString = symbolPrototype.toString;
-  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-  var regexp = /^Symbol\((.*)\)[^)]+$/;
-  defineProperty$2(symbolPrototype, 'description', {
-    configurable: true,
-    get: function description() {
-      var symbol = isObject(this) ? this.valueOf() : this;
-      var string = symbolToString.call(symbol);
-      if (has(EmptyStringDescriptionStore, symbol)) return '';
-      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-      return desc === '' ? undefined : desc;
-    }
-  });
-
-  _export({ global: true, forced: true }, {
-    Symbol: SymbolWrapper
-  });
-}
-
-// `Symbol.iterator` well-known symbol
-// https://tc39.github.io/ecma262/#sec-symbol.iterator
-defineWellKnownSymbol('iterator');
-
-var createProperty = function (object, key, value) {
-  var propertyKey = toPrimitive(key);
-  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-  else object[propertyKey] = value;
-};
-
-var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-var process = global_1.process;
-var versions = process && process.versions;
-var v8 = versions && versions.v8;
-var match, version;
-
-if (v8) {
-  match = v8.split('.');
-  version = match[0] + match[1];
-} else if (userAgent) {
-  match = userAgent.match(/Edge\/(\d+)/);
-  if (!match || match[1] >= 74) {
-    match = userAgent.match(/Chrome\/(\d+)/);
-    if (match) version = match[1];
-  }
-}
-
-var v8Version = version && +version;
-
-var SPECIES$1 = wellKnownSymbol('species');
-
-var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-  // We can't use this feature detection in V8 since it causes
-  // deoptimization and serious performance degradation
-  // https://github.com/zloirock/core-js/issues/677
-  return v8Version >= 51 || !fails(function () {
-    var array = [];
-    var constructor = array.constructor = {};
-    constructor[SPECIES$1] = function () {
-      return { foo: 1 };
-    };
-    return array[METHOD_NAME](Boolean).foo !== 1;
-  });
-};
-
-var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-// We can't use this feature detection in V8 since it causes
-// deoptimization and serious performance degradation
-// https://github.com/zloirock/core-js/issues/679
-var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-  var array = [];
-  array[IS_CONCAT_SPREADABLE] = false;
-  return array.concat()[0] !== array;
-});
-
-var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-var isConcatSpreadable = function (O) {
-  if (!isObject(O)) return false;
-  var spreadable = O[IS_CONCAT_SPREADABLE];
-  return spreadable !== undefined ? !!spreadable : isArray(O);
-};
-
-var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-// `Array.prototype.concat` method
-// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-// with adding support of @@isConcatSpreadable and @@species
-_export({ target: 'Array', proto: true, forced: FORCED }, {
-  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-    var O = toObject(this);
-    var A = arraySpeciesCreate(O, 0);
-    var n = 0;
-    var i, k, length, len, E;
-    for (i = -1, length = arguments.length; i < length; i++) {
-      E = i === -1 ? O : arguments[i];
-      if (isConcatSpreadable(E)) {
-        len = toLength(E.length);
-        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-      } else {
-        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-        createProperty(A, n++, E);
-      }
-    }
-    A.length = n;
-    return A;
-  }
-});
-
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-
-// Array.prototype[@@unscopables]
-// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
-  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-    configurable: true,
-    value: objectCreate(null)
-  });
-}
-
-// add a key to Array.prototype[@@unscopables]
-var addToUnscopables = function (key) {
-  ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-var correctPrototypeGetter = !fails(function () {
-  function F() { /* empty */ }
-  F.prototype.constructor = null;
-  return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-var IE_PROTO$1 = sharedKey('IE_PROTO');
-var ObjectPrototype$1 = Object.prototype;
-
-// `Object.getPrototypeOf` method
-// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-  O = toObject(O);
-  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-    return O.constructor.prototype;
-  } return O instanceof Object ? ObjectPrototype$1 : null;
-};
-
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-
-var returnThis = function () { return this; };
-
-// `%IteratorPrototype%` object
-// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-if ([].keys) {
-  arrayIterator = [].keys();
-  // Safari 8 has buggy iterators w/o `next`
-  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-  else {
-    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-  }
-}
-
-if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-if ( !has(IteratorPrototype, ITERATOR)) {
-  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-}
-
-var iteratorsCore = {
-  IteratorPrototype: IteratorPrototype,
-  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-  var TO_STRING_TAG = NAME + ' Iterator';
-  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-  return IteratorConstructor;
-};
-
-var aPossiblePrototype = function (it) {
-  if (!isObject(it) && it !== null) {
-    throw TypeError("Can't set " + String(it) + ' as a prototype');
-  } return it;
-};
-
-// `Object.setPrototypeOf` method
-// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-// Works with __proto__ only. Old v8 can't work with null proto objects.
-/* eslint-disable no-proto */
-var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-  var CORRECT_SETTER = false;
-  var test = {};
-  var setter;
-  try {
-    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-    setter.call(test, []);
-    CORRECT_SETTER = test instanceof Array;
-  } catch (error) { /* empty */ }
-  return function setPrototypeOf(O, proto) {
-    anObject(O);
-    aPossiblePrototype(proto);
-    if (CORRECT_SETTER) setter.call(O, proto);
-    else O.__proto__ = proto;
-    return O;
-  };
-}() : undefined);
-
-var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR$1 = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-
-var returnThis$1 = function () { return this; };
-
-var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-  var getIterationMethod = function (KIND) {
-    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-    switch (KIND) {
-      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-    } return function () { return new IteratorConstructor(this); };
-  };
-
-  var TO_STRING_TAG = NAME + ' Iterator';
-  var INCORRECT_VALUES_NAME = false;
-  var IterablePrototype = Iterable.prototype;
-  var nativeIterator = IterablePrototype[ITERATOR$1]
-    || IterablePrototype['@@iterator']
-    || DEFAULT && IterablePrototype[DEFAULT];
-  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-  var CurrentIteratorPrototype, methods, KEY;
-
-  // fix native
-  if (anyNativeIterator) {
-    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-        if (objectSetPrototypeOf) {
-          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-        }
-      }
-      // Set @@toStringTag to native iterators
-      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-    }
-  }
-
-  // fix Array#{values, @@iterator}.name in V8 / FF
-  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-    INCORRECT_VALUES_NAME = true;
-    defaultIterator = function values() { return nativeIterator.call(this); };
-  }
-
-  // define iterator
-  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-  }
-
-  // export additional methods
-  if (DEFAULT) {
-    methods = {
-      values: getIterationMethod(VALUES),
-      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-      entries: getIterationMethod(ENTRIES)
-    };
-    if (FORCED) for (KEY in methods) {
-      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-        redefine(IterablePrototype, KEY, methods[KEY]);
-      }
-    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-  }
-
-  return methods;
-};
-
-var ARRAY_ITERATOR = 'Array Iterator';
-var setInternalState$1 = internalState.set;
-var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-// `Array.prototype.entries` method
-// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-// `Array.prototype.keys` method
-// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-// `Array.prototype.values` method
-// https://tc39.github.io/ecma262/#sec-array.prototype.values
-// `Array.prototype[@@iterator]` method
-// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-// `CreateArrayIterator` internal method
-// https://tc39.github.io/ecma262/#sec-createarrayiterator
-var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-  setInternalState$1(this, {
-    type: ARRAY_ITERATOR,
-    target: toIndexedObject(iterated), // target
-    index: 0,                          // next index
-    kind: kind                         // kind
-  });
-// `%ArrayIteratorPrototype%.next` method
-// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-}, function () {
-  var state = getInternalState$1(this);
-  var target = state.target;
-  var kind = state.kind;
-  var index = state.index++;
-  if (!target || index >= target.length) {
-    state.target = undefined;
-    return { value: undefined, done: true };
-  }
-  if (kind == 'keys') return { value: index, done: false };
-  if (kind == 'values') return { value: target[index], done: false };
-  return { value: [index, target[index]], done: false };
-}, 'values');
-
-// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-var test = {};
-
-test[TO_STRING_TAG$1] = 'z';
-
-var toStringTagSupport = String(test) === '[object z]';
-
-var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-// ES3 wrong here
-var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-// fallback for IE11 Script Access Denied error
-var tryGet = function (it, key) {
-  try {
-    return it[key];
-  } catch (error) { /* empty */ }
-};
-
-// getting tag from ES6+ `Object.prototype.toString`
-var classof = toStringTagSupport ? classofRaw : function (it) {
-  var O, tag, result;
-  return it === undefined ? 'Undefined' : it === null ? 'Null'
-    // @@toStringTag case
-    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-    // builtinTag case
-    : CORRECT_ARGUMENTS ? classofRaw(O)
-    // ES3 arguments fallback
-    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-// `Object.prototype.toString` method implementation
-// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-var objectToString = toStringTagSupport ? {}.toString : function toString() {
-  return '[object ' + classof(this) + ']';
-};
-
-// `Object.prototype.toString` method
-// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-if (!toStringTagSupport) {
-  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-}
-
-// `RegExp.prototype.flags` getter implementation
-// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-var regexpFlags = function () {
-  var that = anObject(this);
-  var result = '';
-  if (that.global) result += 'g';
-  if (that.ignoreCase) result += 'i';
-  if (that.multiline) result += 'm';
-  if (that.dotAll) result += 's';
-  if (that.unicode) result += 'u';
-  if (that.sticky) result += 'y';
-  return result;
-};
-
-// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-// so we use an intermediate function.
-function RE(s, f) {
-  return RegExp(s, f);
-}
-
-var UNSUPPORTED_Y = fails(function () {
-  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-  var re = RE('a', 'y');
-  re.lastIndex = 2;
-  return re.exec('abcd') != null;
-});
-
-var BROKEN_CARET = fails(function () {
-  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-  var re = RE('^r', 'gy');
-  re.lastIndex = 2;
-  return re.exec('str') != null;
-});
-
-var regexpStickyHelpers = {
-	UNSUPPORTED_Y: UNSUPPORTED_Y,
-	BROKEN_CARET: BROKEN_CARET
-};
-
-var nativeExec = RegExp.prototype.exec;
-// This always refers to the native implementation, because the
-// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-// which loads this file before patching the method.
-var nativeReplace = String.prototype.replace;
-
-var patchedExec = nativeExec;
-
-var UPDATES_LAST_INDEX_WRONG = (function () {
-  var re1 = /a/;
-  var re2 = /b*/g;
-  nativeExec.call(re1, 'a');
-  nativeExec.call(re2, 'a');
-  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-})();
-
-var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-// nonparticipating capturing group, copied from es5-shim's String#split patch.
-var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-if (PATCH) {
-  patchedExec = function exec(str) {
-    var re = this;
-    var lastIndex, reCopy, match, i;
-    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-    var flags = regexpFlags.call(re);
-    var source = re.source;
-    var charsAdded = 0;
-    var strCopy = str;
-
-    if (sticky) {
-      flags = flags.replace('y', '');
-      if (flags.indexOf('g') === -1) {
-        flags += 'g';
-      }
-
-      strCopy = String(str).slice(re.lastIndex);
-      // Support anchored sticky behavior.
-      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-        source = '(?: ' + source + ')';
-        strCopy = ' ' + strCopy;
-        charsAdded++;
-      }
-      // ^(? + rx + ) is needed, in combination with some str slicing, to
-      // simulate the 'y' flag.
-      reCopy = new RegExp('^(?:' + source + ')', flags);
-    }
-
-    if (NPCG_INCLUDED) {
-      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-    }
-    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-    if (sticky) {
-      if (match) {
-        match.input = match.input.slice(charsAdded);
-        match[0] = match[0].slice(charsAdded);
-        match.index = re.lastIndex;
-        re.lastIndex += match[0].length;
-      } else re.lastIndex = 0;
-    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-    }
-    if (NPCG_INCLUDED && match && match.length > 1) {
-      // Fix browsers whose `exec` methods don't consistently return `undefined`
-      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-      nativeReplace.call(match[0], reCopy, function () {
-        for (i = 1; i < arguments.length - 2; i++) {
-          if (arguments[i] === undefined) match[i] = undefined;
-        }
-      });
-    }
-
-    return match;
-  };
-}
-
-var regexpExec = patchedExec;
-
-_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-  exec: regexpExec
-});
-
-// `String.prototype.{ codePointAt, at }` methods implementation
-var createMethod$2 = function (CONVERT_TO_STRING) {
-  return function ($this, pos) {
-    var S = String(requireObjectCoercible($this));
-    var position = toInteger(pos);
-    var size = S.length;
-    var first, second;
-    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-    first = S.charCodeAt(position);
-    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-        ? CONVERT_TO_STRING ? S.charAt(position) : first
-        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-  };
-};
-
-var stringMultibyte = {
-  // `String.prototype.codePointAt` method
-  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-  codeAt: createMethod$2(false),
-  // `String.prototype.at` method
-  // https://github.com/mathiasbynens/String.prototype.at
-  charAt: createMethod$2(true)
-};
-
-var charAt = stringMultibyte.charAt;
-
-
-
-var STRING_ITERATOR = 'String Iterator';
-var setInternalState$2 = internalState.set;
-var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-// `String.prototype[@@iterator]` method
-// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-defineIterator(String, 'String', function (iterated) {
-  setInternalState$2(this, {
-    type: STRING_ITERATOR,
-    string: String(iterated),
-    index: 0
-  });
-// `%StringIteratorPrototype%.next` method
-// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-}, function next() {
-  var state = getInternalState$2(this);
-  var string = state.string;
-  var index = state.index;
-  var point;
-  if (index >= string.length) return { value: undefined, done: true };
-  point = charAt(string, index);
-  state.index += point.length;
-  return { value: point, done: false };
-});
-
-var SPECIES$2 = wellKnownSymbol('species');
-
-var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-  // #replace needs built-in support for named groups.
-  // #match works fine because it just return the exec results, even if it has
-  // a "grops" property.
-  var re = /./;
-  re.exec = function () {
-    var result = [];
-    result.groups = { a: '7' };
-    return result;
-  };
-  return ''.replace(re, '$<a>') !== '7';
-});
-
-// IE <= 11 replaces $0 with the whole match, as if it was $&
-// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-var REPLACE_KEEPS_$0 = (function () {
-  return 'a'.replace(/./, '$0') === '$0';
-})();
-
-// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-  var re = /(?:)/;
-  var originalExec = re.exec;
-  re.exec = function () { return originalExec.apply(this, arguments); };
-  var result = 'ab'.split(re);
-  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-});
-
-var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-  var SYMBOL = wellKnownSymbol(KEY);
-
-  var DELEGATES_TO_SYMBOL = !fails(function () {
-    // String methods call symbol-named RegEp methods
-    var O = {};
-    O[SYMBOL] = function () { return 7; };
-    return ''[KEY](O) != 7;
-  });
-
-  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-    // Symbol-named RegExp methods call .exec
-    var execCalled = false;
-    var re = /a/;
-
-    if (KEY === 'split') {
-      // We can't use real regex here since it causes deoptimization
-      // and serious performance degradation in V8
-      // https://github.com/zloirock/core-js/issues/306
-      re = {};
-      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-      // a new one. We need to return the patched regex when creating the new one.
-      re.constructor = {};
-      re.constructor[SPECIES$2] = function () { return re; };
-      re.flags = '';
-      re[SYMBOL] = /./[SYMBOL];
-    }
-
-    re.exec = function () { execCalled = true; return null; };
-
-    re[SYMBOL]('');
-    return !execCalled;
-  });
-
-  if (
-    !DELEGATES_TO_SYMBOL ||
-    !DELEGATES_TO_EXEC ||
-    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-  ) {
-    var nativeRegExpMethod = /./[SYMBOL];
-    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-      if (regexp.exec === regexpExec) {
-        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-          // The native String method already delegates to @@method (this
-          // polyfilled function), leasing to infinite recursion.
-          // We avoid it by directly calling the native @@method method.
-          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-        }
-        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-      }
-      return { done: false };
-    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-    var stringMethod = methods[0];
-    var regexMethod = methods[1];
-
-    redefine(String.prototype, KEY, stringMethod);
-    redefine(RegExp.prototype, SYMBOL, length == 2
-      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-      // 21.2.5.6 RegExp.prototype[@@match](string)
-      // 21.2.5.9 RegExp.prototype[@@search](string)
-      : function (string) { return regexMethod.call(string, this); }
-    );
-  }
-
-  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-};
-
-var charAt$1 = stringMultibyte.charAt;
-
-// `AdvanceStringIndex` abstract operation
-// https://tc39.github.io/ecma262/#sec-advancestringindex
-var advanceStringIndex = function (S, index, unicode) {
-  return index + (unicode ? charAt$1(S, index).length : 1);
-};
-
-// `RegExpExec` abstract operation
-// https://tc39.github.io/ecma262/#sec-regexpexec
-var regexpExecAbstract = function (R, S) {
-  var exec = R.exec;
-  if (typeof exec === 'function') {
-    var result = exec.call(R, S);
-    if (typeof result !== 'object') {
-      throw TypeError('RegExp exec method returned something other than an Object or null');
-    }
-    return result;
-  }
-
-  if (classofRaw(R) !== 'RegExp') {
-    throw TypeError('RegExp#exec called on incompatible receiver');
-  }
-
-  return regexpExec.call(R, S);
-};
-
-var max$1 = Math.max;
-var min$2 = Math.min;
-var floor$1 = Math.floor;
-var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-var maybeToString = function (it) {
-  return it === undefined ? it : String(it);
-};
-
-// @@replace logic
-fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-  return [
-    // `String.prototype.replace` method
-    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-    function replace(searchValue, replaceValue) {
-      var O = requireObjectCoercible(this);
-      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-      return replacer !== undefined
-        ? replacer.call(searchValue, O, replaceValue)
-        : nativeReplace.call(String(O), searchValue, replaceValue);
-    },
-    // `RegExp.prototype[@@replace]` method
-    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-    function (regexp, replaceValue) {
-      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-        if (res.done) return res.value;
-      }
-
-      var rx = anObject(regexp);
-      var S = String(this);
-
-      var functionalReplace = typeof replaceValue === 'function';
-      if (!functionalReplace) replaceValue = String(replaceValue);
-
-      var global = rx.global;
-      if (global) {
-        var fullUnicode = rx.unicode;
-        rx.lastIndex = 0;
-      }
-      var results = [];
-      while (true) {
-        var result = regexpExecAbstract(rx, S);
-        if (result === null) break;
-
-        results.push(result);
-        if (!global) break;
-
-        var matchStr = String(result[0]);
-        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-      }
-
-      var accumulatedResult = '';
-      var nextSourcePosition = 0;
-      for (var i = 0; i < results.length; i++) {
-        result = results[i];
-
-        var matched = String(result[0]);
-        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-        var captures = [];
-        // NOTE: This is equivalent to
-        //   captures = result.slice(1).map(maybeToString)
-        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-        var namedCaptures = result.groups;
-        if (functionalReplace) {
-          var replacerArgs = [matched].concat(captures, position, S);
-          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-        } else {
-          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-        }
-        if (position >= nextSourcePosition) {
-          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-          nextSourcePosition = position + matched.length;
-        }
-      }
-      return accumulatedResult + S.slice(nextSourcePosition);
-    }
-  ];
-
-  // https://tc39.github.io/ecma262/#sec-getsubstitution
-  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-    var tailPos = position + matched.length;
-    var m = captures.length;
-    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-    if (namedCaptures !== undefined) {
-      namedCaptures = toObject(namedCaptures);
-      symbols = SUBSTITUTION_SYMBOLS;
-    }
-    return nativeReplace.call(replacement, symbols, function (match, ch) {
-      var capture;
-      switch (ch.charAt(0)) {
-        case '$': return '$';
-        case '&': return matched;
-        case '`': return str.slice(0, position);
-        case "'": return str.slice(tailPos);
-        case '<':
-          capture = namedCaptures[ch.slice(1, -1)];
-          break;
-        default: // \d\d?
-          var n = +ch;
-          if (n === 0) return match;
-          if (n > m) {
-            var f = floor$1(n / 10);
-            if (f === 0) return match;
-            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-            return match;
-          }
-          capture = captures[n - 1];
-      }
-      return capture === undefined ? '' : capture;
-    });
-  }
-});
-
-// iterable DOM collections
-// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-var domIterables = {
-  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
-};
-
-var ITERATOR$2 = wellKnownSymbol('iterator');
-var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-var ArrayValues = es_array_iterator.values;
-
-for (var COLLECTION_NAME in domIterables) {
-  var Collection = global_1[COLLECTION_NAME];
-  var CollectionPrototype = Collection && Collection.prototype;
-  if (CollectionPrototype) {
-    // some Chrome versions have non-configurable methods on DOMTokenList
-    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-    } catch (error) {
-      CollectionPrototype[ITERATOR$2] = ArrayValues;
-    }
-    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-    }
-    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-      // some Chrome versions have non-configurable methods on DOMTokenList
-      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-      } catch (error) {
-        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-      }
-    }
-  }
-}
-
-function _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;
-}
-
-function ownKeys$1(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;
-}
-
-function _objectSpread2(target) {
-  for (var i = 1; i < arguments.length; i++) {
-    var source = arguments[i] != null ? arguments[i] : {};
-
-    if (i % 2) {
-      ownKeys$1(Object(source), true).forEach(function (key) {
-        _defineProperty(target, key, source[key]);
-      });
-    } else if (Object.getOwnPropertyDescriptors) {
-      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
-    } else {
-      ownKeys$1(Object(source)).forEach(function (key) {
-        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
-      });
-    }
-  }
-
-  return target;
-}
-
-function _toConsumableArray(arr) {
-  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
-}
-
-function _arrayWithoutHoles(arr) {
-  if (Array.isArray(arr)) {
-    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
-    return arr2;
-  }
-}
-
-function _iterableToArray(iter) {
-  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
-}
-
-function _nonIterableSpread() {
-  throw new TypeError("Invalid attempt to spread non-iterable instance");
-}
-
-//
-//
-//
-//
-var $ = window.jQuery;
-
-var deepCopy = function deepCopy(arg) {
-  return $.extend(true, Array.isArray(arg) ? [] : {}, arg);
-};
-
-var script = {
-  name: 'BootstrapTable',
-  props: {
-    columns: {
-      type: Array,
-      require: true
-    },
-    data: {
-      type: [Array, Object],
-      default: function _default() {
-        return undefined;
-      }
-    },
-    options: {
-      type: Object,
-      default: function _default() {
-        return {};
-      }
-    }
-  },
-  mounted: function mounted() {
-    var _this = this;
-
-    this.$table = $(this.$el);
-    this.$table.on('all.bs.table', function (e, name, args) {
-      var eventName = $.fn.bootstrapTable.events[name];
-      eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase();
-
-      _this.$emit.apply(_this, [eventName].concat(_toConsumableArray(args)));
-    });
-
-    this._initTable();
-  },
-  methods: _objectSpread2({
-    _initTable: function _initTable() {
-      var options = _objectSpread2({}, deepCopy(this.options), {
-        columns: deepCopy(this.columns),
-        data: deepCopy(this.data)
-      });
-
-      if (!this._hasInit) {
-        this.$table.bootstrapTable(options);
-        this._hasInit = true;
-      } else {
-        this.refreshOptions(options);
-      }
-    }
-  }, function () {
-    var res = {};
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
-
-    try {
-      var _loop = function _loop() {
-        var method = _step.value;
-
-        res[method] = function () {
-          var _this$$table;
-
-          for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-            args[_key] = arguments[_key];
-          }
-
-          return (_this$$table = this.$table).bootstrapTable.apply(_this$$table, [method].concat(args));
-        };
-      };
-
-      for (var _iterator = $.fn.bootstrapTable.methods[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-        _loop();
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator.return != null) {
-          _iterator.return();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
-      }
-    }
-
-    return res;
-  }()),
-  watch: {
-    options: {
-      handler: function handler() {
-        this._initTable();
-      },
-      deep: true
-    },
-    columns: {
-      handler: function handler() {
-        this._initTable();
-      },
-      deep: true
-    },
-    data: {
-      handler: function handler() {
-        this.load(deepCopy(this.data));
-      },
-      deep: true
-    }
-  }
-};
-
-function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
-    if (typeof shadowMode !== 'boolean') {
-        createInjectorSSR = createInjector;
-        createInjector = shadowMode;
-        shadowMode = false;
-    }
-    // Vue.extend constructor export interop.
-    const options = typeof script === 'function' ? script.options : script;
-    // render functions
-    if (template && template.render) {
-        options.render = template.render;
-        options.staticRenderFns = template.staticRenderFns;
-        options._compiled = true;
-        // functional template
-        if (isFunctionalTemplate) {
-            options.functional = true;
-        }
-    }
-    // scopedId
-    if (scopeId) {
-        options._scopeId = scopeId;
-    }
-    let hook;
-    if (moduleIdentifier) {
-        // server build
-        hook = function (context) {
-            // 2.3 injection
-            context =
-                context || // cached call
-                    (this.$vnode && this.$vnode.ssrContext) || // stateful
-                    (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
-            // 2.2 with runInNewContext: true
-            if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
-                context = __VUE_SSR_CONTEXT__;
-            }
-            // inject component styles
-            if (style) {
-                style.call(this, createInjectorSSR(context));
-            }
-            // register component module identifier for async chunk inference
-            if (context && context._registeredComponents) {
-                context._registeredComponents.add(moduleIdentifier);
-            }
-        };
-        // used by ssr in case component is cached and beforeCreate
-        // never gets called
-        options._ssrRegister = hook;
-    }
-    else if (style) {
-        hook = shadowMode
-            ? function (context) {
-                style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
-            }
-            : function (context) {
-                style.call(this, createInjector(context));
-            };
-    }
-    if (hook) {
-        if (options.functional) {
-            // register for functional component in vue file
-            const originalRender = options.render;
-            options.render = function renderWithStyleInjection(h, context) {
-                hook.call(context);
-                return originalRender(h, context);
-            };
-        }
-        else {
-            // inject component registration as beforeCreate hook
-            const existing = options.beforeCreate;
-            options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
-        }
-    }
-    return script;
-}
-
-/* script */
-const __vue_script__ = script;
-
-/* template */
-var __vue_render__ = function() {
-  var _vm = this;
-  var _h = _vm.$createElement;
-  var _c = _vm._self._c || _h;
-  return _c("table")
-};
-var __vue_staticRenderFns__ = [];
-__vue_render__._withStripped = true;
-
-  /* style */
-  const __vue_inject_styles__ = undefined;
-  /* scoped */
-  const __vue_scope_id__ = undefined;
-  /* module identifier */
-  const __vue_module_identifier__ = undefined;
-  /* functional template */
-  const __vue_is_functional_template__ = false;
-  /* style inject */
-  
-  /* style inject SSR */
-  
-  /* style inject shadow dom */
-  
-
-  
-  const __vue_component__ = normalizeComponent(
-    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
-    __vue_inject_styles__,
-    __vue_script__,
-    __vue_scope_id__,
-    __vue_is_functional_template__,
-    __vue_module_identifier__,
-    false,
-    undefined,
-    undefined,
-    undefined
-  );
-
-export default __vue_component__;
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.esm.min.js b/server/target/classes/static/bootstrap-table/bootstrap-table-vue.esm.min.js
deleted file mode 100644
index 02c8eff..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.esm.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,u={f:a&&!c.call({1:2},1)?function(t){var e=a(this,t);return!!e&&e.enumerable}:c},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,s=function(t){return l.call(t).slice(8,-1)},p="".split,y=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==s(t)?p.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return y(d(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,e){if(!h(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!h(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!h(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!h(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,m=function(t,e){return b.call(t,e)},S=n.document,O=h(S)&&h(S.createElement),w=function(t){return O?S.createElement(t):{}},x=!i&&!o((function(){return 7!=Object.defineProperty(w("div"),"a",{get:function(){return 7}}).a})),j=Object.getOwnPropertyDescriptor,E={f:i?j:function(t,e){if(t=v(t),e=g(e,!0),x)try{return j(t,e)}catch(t){}if(m(t,e))return f(!u.f.call(t,e),t[e])}},_=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},T=Object.defineProperty,P={f:i?T:function(t,e,r){if(_(t),e=g(e,!0),_(r),x)try{return T(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},A=i?function(t,e,r){return P.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},I=function(t,e){try{A(n,t,e)}catch(r){n[t]=e}return e},R=n["__core-js_shared__"]||I("__core-js_shared__",{}),L=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return L.call(t)});var C,$,k,M=R.inspectSource,N=n.WeakMap,F="function"==typeof N&&/native code/.test(M(N)),D=e((function(t){(t.exports=function(t,e){return R[t]||(R[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,V=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+V).toString(36)},B=D("keys"),z=function(t){return B[t]||(B[t]=U(t))},K={},W=n.WeakMap;if(F){var Y=new W,H=Y.get,q=Y.has,X=Y.set;C=function(t,e){return X.call(Y,t,e),e},$=function(t){return H.call(Y,t)||{}},k=function(t){return q.call(Y,t)}}else{var J=z("state");K[J]=!0,C=function(t,e){return A(t,J,e),e},$=function(t){return m(t,J)?t[J]:{}},k=function(t){return m(t,J)}}var Q,Z={set:C,get:$,has:k,enforce:function(t){return k(t)?$(t):C(t,{})},getterFor:function(t){return function(e){var r;if(!h(e)||(r=$(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},tt=e((function(t){var e=Z.get,r=Z.enforce,o=String(String).split("String");(t.exports=function(t,e,i,c){var a=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,f=!!c&&!!c.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||A(i,"name",e),r(i).source=o.join("string"==typeof e?e:"")),t!==n?(a?!f&&t[e]&&(u=!0):delete t[e],u?t[e]=i:A(t,e,i)):u?t[e]=i:I(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||M(this)}))})),et=n,rt=function(t){return"function"==typeof t?t:void 0},nt=function(t,e){return arguments.length<2?rt(et[t])||rt(n[t]):et[t]&&et[t][e]||n[t]&&n[t][e]},ot=Math.ceil,it=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?it:ot)(t)},at=Math.min,ut=function(t){return t>0?at(ct(t),9007199254740991):0},ft=Math.max,lt=Math.min,st=function(t){return function(e,r,n){var o,i=v(e),c=ut(i.length),a=function(t,e){var r=ct(t);return r<0?ft(r+e,0):lt(r,e)}(n,c);if(t&&r!=r){for(;c>a;)if((o=i[a++])!=o)return!0}else for(;c>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},pt={includes:st(!0),indexOf:st(!1)}.indexOf,yt=function(t,e){var r,n=v(t),o=0,i=[];for(r in n)!m(K,r)&&m(n,r)&&i.push(r);for(;e.length>o;)m(n,r=e[o++])&&(~pt(i,r)||i.push(r));return i},dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=dt.concat("length","prototype"),ht={f:Object.getOwnPropertyNames||function(t){return yt(t,vt)}},gt={f:Object.getOwnPropertySymbols},bt=nt("Reflect","ownKeys")||function(t){var e=ht.f(_(t)),r=gt.f;return r?e.concat(r(t)):e},mt=function(t,e){for(var r=bt(e),n=P.f,o=E.f,i=0;i<r.length;i++){var c=r[i];m(t,c)||n(t,c,o(e,c))}},St=/#|\.prototype\./,Ot=function(t,e){var r=xt[wt(t)];return r==Et||r!=jt&&("function"==typeof e?o(e):!!e)},wt=Ot.normalize=function(t){return String(t).replace(St,".").toLowerCase()},xt=Ot.data={},jt=Ot.NATIVE="N",Et=Ot.POLYFILL="P",_t=Ot,Tt=E.f,Pt=function(t,e){var r,o,i,c,a,u=t.target,f=t.global,l=t.stat;if(r=f?n:l?n[u]||I(u,{}):(n[u]||{}).prototype)for(o in e){if(c=e[o],i=t.noTargetGet?(a=Tt(r,o))&&a.value:r[o],!_t(f?o:u+(l?".":"#")+o,t.forced)&&void 0!==i){if(typeof c==typeof i)continue;mt(c,i)}(t.sham||i&&i.sham)&&A(c,"sham",!0),tt(r,o,c,t)}},At=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())})),It=At&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=Array.isArray||function(t){return"Array"==s(t)},Lt=function(t){return Object(d(t))},Ct=Object.keys||function(t){return yt(t,dt)},$t=i?Object.defineProperties:function(t,e){_(t);for(var r,n=Ct(e),o=n.length,i=0;o>i;)P.f(t,r=n[i++],e[r]);return t},kt=nt("document","documentElement"),Mt=z("IE_PROTO"),Nt=function(){},Ft=function(t){return"<script>"+t+"<\/script>"},Dt=function(){try{Q=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Dt=Q?function(t){t.write(Ft("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Q):((e=w("iframe")).style.display="none",kt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Ft("document.F=Object")),t.close(),t.F);for(var r=dt.length;r--;)delete Dt.prototype[dt[r]];return Dt()};K[Mt]=!0;var Gt=Object.create||function(t,e){var r;return null!==t?(Nt.prototype=_(t),r=new Nt,Nt.prototype=null,r[Mt]=t):r=Dt(),void 0===e?r:$t(r,e)},Vt=ht.f,Ut={}.toString,Bt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],zt={f:function(t){return Bt&&"[object Window]"==Ut.call(t)?function(t){try{return Vt(t)}catch(t){return Bt.slice()}}(t):Vt(v(t))}},Kt=D("wks"),Wt=n.Symbol,Yt=It?Wt:U,Ht=function(t){return m(Kt,t)||(At&&m(Wt,t)?Kt[t]=Wt[t]:Kt[t]=Yt("Symbol."+t)),Kt[t]},qt={f:Ht},Xt=P.f,Jt=function(t){var e=et.Symbol||(et.Symbol={});m(e,t)||Xt(e,t,{value:qt.f(t)})},Qt=P.f,Zt=Ht("toStringTag"),te=function(t,e,r){t&&!m(t=r?t:t.prototype,Zt)&&Qt(t,Zt,{configurable:!0,value:e})},ee=function(t,e,r){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},re=Ht("species"),ne=function(t,e){var r;return Rt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Rt(r.prototype)?h(r)&&null===(r=r[re])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},oe=[].push,ie=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,c=5==t||i;return function(a,u,f,l){for(var s,p,d=Lt(a),v=y(d),h=ee(u,f,3),g=ut(v.length),b=0,m=l||ne,S=e?m(a,g):r?m(a,0):void 0;g>b;b++)if((c||b in v)&&(p=h(s=v[b],b,d),t))if(e)S[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:oe.call(S,s)}else if(o)return!1;return i?-1:n||o?o:S}},ce={forEach:ie(0),map:ie(1),filter:ie(2),some:ie(3),every:ie(4),find:ie(5),findIndex:ie(6)}.forEach,ae=z("hidden"),ue=Ht("toPrimitive"),fe=Z.set,le=Z.getterFor("Symbol"),se=Object.prototype,pe=n.Symbol,ye=nt("JSON","stringify"),de=E.f,ve=P.f,he=zt.f,ge=u.f,be=D("symbols"),me=D("op-symbols"),Se=D("string-to-symbol-registry"),Oe=D("symbol-to-string-registry"),we=D("wks"),xe=n.QObject,je=!xe||!xe.prototype||!xe.prototype.findChild,Ee=i&&o((function(){return 7!=Gt(ve({},"a",{get:function(){return ve(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=de(se,e);n&&delete se[e],ve(t,e,r),n&&t!==se&&ve(se,e,n)}:ve,_e=function(t,e){var r=be[t]=Gt(pe.prototype);return fe(r,{type:"Symbol",tag:t,description:e}),i||(r.description=e),r},Te=At&&"symbol"==typeof pe.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof pe},Pe=function(t,e,r){t===se&&Pe(me,e,r),_(t);var n=g(e,!0);return _(r),m(be,n)?(r.enumerable?(m(t,ae)&&t[ae][n]&&(t[ae][n]=!1),r=Gt(r,{enumerable:f(0,!1)})):(m(t,ae)||ve(t,ae,f(1,{})),t[ae][n]=!0),Ee(t,n,r)):ve(t,n,r)},Ae=function(t,e){_(t);var r=v(e),n=Ct(r).concat(Ce(r));return ce(n,(function(e){i&&!Ie.call(r,e)||Pe(t,e,r[e])})),t},Ie=function(t){var e=g(t,!0),r=ge.call(this,e);return!(this===se&&m(be,e)&&!m(me,e))&&(!(r||!m(this,e)||!m(be,e)||m(this,ae)&&this[ae][e])||r)},Re=function(t,e){var r=v(t),n=g(e,!0);if(r!==se||!m(be,n)||m(me,n)){var o=de(r,n);return!o||!m(be,n)||m(r,ae)&&r[ae][n]||(o.enumerable=!0),o}},Le=function(t){var e=he(v(t)),r=[];return ce(e,(function(t){m(be,t)||m(K,t)||r.push(t)})),r},Ce=function(t){var e=t===se,r=he(e?me:v(t)),n=[];return ce(r,(function(t){!m(be,t)||e&&!m(se,t)||n.push(be[t])})),n};if(At||(tt((pe=function(){if(this instanceof pe)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=U(t),r=function(t){this===se&&r.call(me,t),m(this,ae)&&m(this[ae],e)&&(this[ae][e]=!1),Ee(this,e,f(1,t))};return i&&je&&Ee(se,e,{configurable:!0,set:r}),_e(e,t)}).prototype,"toString",(function(){return le(this).tag})),u.f=Ie,P.f=Pe,E.f=Re,ht.f=zt.f=Le,gt.f=Ce,i&&(ve(pe.prototype,"description",{configurable:!0,get:function(){return le(this).description}}),tt(se,"propertyIsEnumerable",Ie,{unsafe:!0}))),It||(qt.f=function(t){return _e(Ht(t),t)}),Pt({global:!0,wrap:!0,forced:!At,sham:!At},{Symbol:pe}),ce(Ct(we),(function(t){Jt(t)})),Pt({target:"Symbol",stat:!0,forced:!At},{for:function(t){var e=String(t);if(m(Se,e))return Se[e];var r=pe(e);return Se[e]=r,Oe[r]=e,r},keyFor:function(t){if(!Te(t))throw TypeError(t+" is not a symbol");if(m(Oe,t))return Oe[t]},useSetter:function(){je=!0},useSimple:function(){je=!1}}),Pt({target:"Object",stat:!0,forced:!At,sham:!i},{create:function(t,e){return void 0===e?Gt(t):Ae(Gt(t),e)},defineProperty:Pe,defineProperties:Ae,getOwnPropertyDescriptor:Re}),Pt({target:"Object",stat:!0,forced:!At},{getOwnPropertyNames:Le,getOwnPropertySymbols:Ce}),Pt({target:"Object",stat:!0,forced:o((function(){gt.f(1)}))},{getOwnPropertySymbols:function(t){return gt.f(Lt(t))}}),ye){var $e=!At||o((function(){var t=pe();return"[null]"!=ye([t])||"{}"!=ye({a:t})||"{}"!=ye(Object(t))}));Pt({target:"JSON",stat:!0,forced:$e},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(h(e)||void 0!==t)&&!Te(t))return Rt(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Te(e))return e}),o[1]=e,ye.apply(null,o)}})}pe.prototype[ue]||A(pe.prototype,ue,pe.prototype.valueOf),te(pe,"Symbol"),K[ae]=!0;var ke=P.f,Me=n.Symbol;if(i&&"function"==typeof Me&&(!("description"in Me.prototype)||void 0!==Me().description)){var Ne={},Fe=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Fe?new Me(t):void 0===t?Me():Me(t);return""===t&&(Ne[e]=!0),e};mt(Fe,Me);var De=Fe.prototype=Me.prototype;De.constructor=Fe;var Ge=De.toString,Ve="Symbol(test)"==String(Me("test")),Ue=/^Symbol\((.*)\)[^)]+$/;ke(De,"description",{configurable:!0,get:function(){var t=h(this)?this.valueOf():this,e=Ge.call(t);if(m(Ne,t))return"";var r=Ve?e.slice(7,-1):e.replace(Ue,"$1");return""===r?void 0:r}}),Pt({global:!0,forced:!0},{Symbol:Fe})}Jt("iterator");var Be,ze,Ke=function(t,e,r){var n=g(e);n in t?P.f(t,n,f(0,r)):t[n]=r},We=nt("navigator","userAgent")||"",Ye=n.process,He=Ye&&Ye.versions,qe=He&&He.v8;qe?ze=(Be=qe.split("."))[0]+Be[1]:We&&(!(Be=We.match(/Edge\/(\d+)/))||Be[1]>=74)&&(Be=We.match(/Chrome\/(\d+)/))&&(ze=Be[1]);var Xe=ze&&+ze,Je=Ht("species"),Qe=Ht("isConcatSpreadable"),Ze=Xe>=51||!o((function(){var t=[];return t[Qe]=!1,t.concat()[0]!==t})),tr=function(t){return Xe>=51||!o((function(){var e=[];return(e.constructor={})[Je]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("concat"),er=function(t){if(!h(t))return!1;var e=t[Qe];return void 0!==e?!!e:Rt(t)};Pt({target:"Array",proto:!0,forced:!Ze||!tr},{concat:function(t){var e,r,n,o,i,c=Lt(this),a=ne(c,0),u=0;for(e=-1,n=arguments.length;e<n;e++)if(i=-1===e?c:arguments[e],er(i)){if(u+(o=ut(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,u++)r in i&&Ke(a,u,i[r])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ke(a,u++,i)}return a.length=u,a}});var rr=Ht("unscopables"),nr=Array.prototype;null==nr[rr]&&P.f(nr,rr,{configurable:!0,value:Gt(null)});var or,ir,cr,ar=function(t){nr[rr][t]=!0},ur=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),fr=z("IE_PROTO"),lr=Object.prototype,sr=ur?Object.getPrototypeOf:function(t){return t=Lt(t),m(t,fr)?t[fr]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?lr:null},pr=Ht("iterator"),yr=!1;[].keys&&("next"in(cr=[].keys())?(ir=sr(sr(cr)))!==Object.prototype&&(or=ir):yr=!0),null==or&&(or={}),m(or,pr)||A(or,pr,(function(){return this}));var dr={IteratorPrototype:or,BUGGY_SAFARI_ITERATORS:yr},vr=dr.IteratorPrototype,hr=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return _(r),function(t){if(!h(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),gr=dr.IteratorPrototype,br=dr.BUGGY_SAFARI_ITERATORS,mr=Ht("iterator"),Sr=function(){return this},Or=function(t,e,r,n,o,i,c){!function(t,e,r){var n=e+" Iterator";t.prototype=Gt(vr,{next:f(1,r)}),te(t,n,!1)}(r,e,n);var a,u,l,s=function(t){if(t===o&&h)return h;if(!br&&t in d)return d[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",y=!1,d=t.prototype,v=d[mr]||d["@@iterator"]||o&&d[o],h=!br&&v||s(o),g="Array"==e&&d.entries||v;if(g&&(a=sr(g.call(new t)),gr!==Object.prototype&&a.next&&(sr(a)!==gr&&(hr?hr(a,gr):"function"!=typeof a[mr]&&A(a,mr,Sr)),te(a,p,!0))),"values"==o&&v&&"values"!==v.name&&(y=!0,h=function(){return v.call(this)}),d[mr]!==h&&A(d,mr,h),o)if(u={values:s("values"),keys:i?h:s("keys"),entries:s("entries")},c)for(l in u)!br&&!y&&l in d||tt(d,l,u[l]);else Pt({target:e,proto:!0,forced:br||y},u);return u},wr=Z.set,xr=Z.getterFor("Array Iterator"),jr=Or(Array,"Array",(function(t,e){wr(this,{type:"Array Iterator",target:v(t),index:0,kind:e})}),(function(){var t=xr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");ar("keys"),ar("values"),ar("entries");var Er={};Er[Ht("toStringTag")]="z";var _r="[object z]"===String(Er),Tr=Ht("toStringTag"),Pr="Arguments"==s(function(){return arguments}()),Ar=_r?s:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Tr))?r:Pr?s(e):"Object"==(n=s(e))&&"function"==typeof e.callee?"Arguments":n},Ir=_r?{}.toString:function(){return"[object "+Ar(this)+"]"};_r||tt(Object.prototype,"toString",Ir,{unsafe:!0});var Rr=function(){var t=_(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Lr(t,e){return RegExp(t,e)}var Cr,$r,kr={UNSUPPORTED_Y:o((function(){var t=Lr("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:o((function(){var t=Lr("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Mr=RegExp.prototype.exec,Nr=String.prototype.replace,Fr=Mr,Dr=(Cr=/a/,$r=/b*/g,Mr.call(Cr,"a"),Mr.call($r,"a"),0!==Cr.lastIndex||0!==$r.lastIndex),Gr=kr.UNSUPPORTED_Y||kr.BROKEN_CARET,Vr=void 0!==/()??/.exec("")[1];(Dr||Vr||Gr)&&(Fr=function(t){var e,r,n,o,i=this,c=Gr&&i.sticky,a=Rr.call(i),u=i.source,f=0,l=t;return c&&(-1===(a=a.replace("y","")).indexOf("g")&&(a+="g"),l=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(u="(?: "+u+")",l=" "+l,f++),r=new RegExp("^(?:"+u+")",a)),Vr&&(r=new RegExp("^"+u+"$(?!\\s)",a)),Dr&&(e=i.lastIndex),n=Mr.call(c?r:i,l),c?n?(n.input=n.input.slice(f),n[0]=n[0].slice(f),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Dr&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Vr&&n&&n.length>1&&Nr.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var Ur=Fr;Pt({target:"RegExp",proto:!0,forced:/./.exec!==Ur},{exec:Ur});var Br=function(t){return function(e,r){var n,o,i=String(d(e)),c=ct(r),a=i.length;return c<0||c>=a?t?"":void 0:(n=i.charCodeAt(c))<55296||n>56319||c+1===a||(o=i.charCodeAt(c+1))<56320||o>57343?t?i.charAt(c):n:t?i.slice(c,c+2):o-56320+(n-55296<<10)+65536}},zr={codeAt:Br(!1),charAt:Br(!0)},Kr=zr.charAt,Wr=Z.set,Yr=Z.getterFor("String Iterator");Or(String,"String",(function(t){Wr(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Yr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Kr(r,n),e.index+=t.length,{value:t,done:!1})}));var Hr=Ht("species"),qr=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Xr="$0"==="a".replace(/./,"$0"),Jr=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Qr=zr.charAt,Zr=function(t,e,r){return e+(r?Qr(t,e).length:1)},tn=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==s(t))throw TypeError("RegExp#exec called on incompatible receiver");return Ur.call(t,e)},en=Math.max,rn=Math.min,nn=Math.floor,on=/\$([$&'`]|\d\d?|<[^>]*>)/g,cn=/\$([$&'`]|\d\d?)/g;!function(t,e,r,n){var i=Ht(t),c=!o((function(){var e={};return e[i]=function(){return 7},7!=""[t](e)})),a=c&&!o((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[Hr]=function(){return r},r.flags="",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](""),!e}));if(!c||!a||"replace"===t&&(!qr||!Xr)||"split"===t&&!Jr){var u=/./[i],f=r(i,""[t],(function(t,e,r,n,o){return e.exec===Ur?c&&!o?{done:!0,value:u.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Xr}),l=f[0],s=f[1];tt(String.prototype,t,l),tt(RegExp.prototype,i,2==e?function(t,e){return s.call(t,this,e)}:function(t){return s.call(t,this)})}n&&A(RegExp.prototype[i],"sham",!0)}("replace",2,(function(t,e,r,n){return[function(r,n){var o=d(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,i){if(n.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var c=r(e,t,this,i);if(c.done)return c.value}var a=_(t),u=String(this),f="function"==typeof i;f||(i=String(i));var l=a.global;if(l){var s=a.unicode;a.lastIndex=0}for(var p=[];;){var y=tn(a,u);if(null===y)break;if(p.push(y),!l)break;""===String(y[0])&&(a.lastIndex=Zr(u,ut(a.lastIndex),s))}for(var d,v="",h=0,g=0;g<p.length;g++){y=p[g];for(var b=String(y[0]),m=en(rn(ct(y.index),u.length),0),S=[],O=1;O<y.length;O++)S.push(void 0===(d=y[O])?d:String(d));var w=y.groups;if(f){var x=[b].concat(S,m,u);void 0!==w&&x.push(w);var j=String(i.apply(void 0,x))}else j=o(b,u,m,S,w,i);m>=h&&(v+=u.slice(h,m)+j,h=m+b.length)}return v+u.slice(h)}];function o(t,r,n,o,i,c){var a=n+t.length,u=o.length,f=cn;return void 0!==i&&(i=Lt(i),f=on),e.call(c,f,(function(e,c){var f;switch(c.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(a);case"<":f=i[c.slice(1,-1)];break;default:var l=+c;if(0===l)return e;if(l>u){var s=nn(l/10);return 0===s?e:s<=u?void 0===o[s-1]?c.charAt(1):o[s-1]+c.charAt(1):e}f=o[l-1]}return void 0===f?"":f}))}}));var an={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},un=Ht("iterator"),fn=Ht("toStringTag"),ln=jr.values;for(var sn in an){var pn=n[sn],yn=pn&&pn.prototype;if(yn){if(yn[un]!==ln)try{A(yn,un,ln)}catch(t){yn[un]=ln}if(yn[fn]||A(yn,fn,sn),an[sn])for(var dn in jr)if(yn[dn]!==jr[dn])try{A(yn,dn,jr[dn])}catch(t){yn[dn]=jr[dn]}}}function vn(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hn(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function gn(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?hn(Object(r),!0).forEach((function(e){vn(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):hn(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function bn(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var mn=window.jQuery,Sn=function(t){return mn.extend(!0,Array.isArray(t)?[]:{},t)};const On=function(t,e,r,n,o,i,c,a,u,f){"boolean"!=typeof c&&(u=a,a=c,c=!1);const l="function"==typeof r?r.options:r;let s;if(t&&t.render&&(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0,o&&(l.functional=!0)),n&&(l._scopeId=n),i?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,u(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},l._ssrRegister=s):e&&(s=c?function(t){e.call(this,f(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),s)if(l.functional){const t=l.render;l.render=function(e,r){return s.call(r),t(e,r)}}else{const t=l.beforeCreate;l.beforeCreate=t?[].concat(t,s):[s]}return r}({render:function(){var t=this.$createElement;return(this._self._c||t)("table")},staticRenderFns:[]},void 0,{name:"BootstrapTable",props:{columns:{type:Array,require:!0},data:{type:[Array,Object],default:function(){}},options:{type:Object,default:function(){return{}}}},mounted:function(){var t=this;this.$table=mn(this.$el),this.$table.on("all.bs.table",(function(e,r,n){var o=mn.fn.bootstrapTable.events[r];o=o.replace(/([A-Z])/g,"-$1").toLowerCase(),t.$emit.apply(t,[o].concat(bn(n)))})),this._initTable()},methods:gn({_initTable:function(){var t=gn({},Sn(this.options),{columns:Sn(this.columns),data:Sn(this.data)});this._hasInit?this.refreshOptions(t):(this.$table.bootstrapTable(t),this._hasInit=!0)}},function(){var t={},e=!0,r=!1,n=void 0;try{for(var o,i=function(){var e=o.value;t[e]=function(){for(var t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(t=this.$table).bootstrapTable.apply(t,[e].concat(n))}},c=mn.fn.bootstrapTable.methods[Symbol.iterator]();!(e=(o=c.next()).done);e=!0)i()}catch(t){r=!0,n=t}finally{try{e||null==c.return||c.return()}finally{if(r)throw n}}return t}()),watch:{options:{handler:function(){this._initTable()},deep:!0},columns:{handler:function(){this._initTable()},deep:!0},data:{handler:function(){this.load(Sn(this.data))},deep:!0}}},void 0,!1,void 0,!1,void 0,void 0,void 0);export default On;
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.js b/server/target/classes/static/bootstrap-table/bootstrap-table-vue.js
deleted file mode 100644
index ea8206c..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.js
+++ /dev/null
@@ -1,2287 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
-	typeof define === 'function' && define.amd ? define(factory) :
-	(global = global || self, global.BootstrapTable = factory());
-}(this, (function () { 'use strict';
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test = {};
-
-	test[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	var charAt$1 = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt$1(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  if (CollectionPrototype) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-	    }
-	    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _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;
-	}
-
-	function ownKeys$1(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;
-	}
-
-	function _objectSpread2(target) {
-	  for (var i = 1; i < arguments.length; i++) {
-	    var source = arguments[i] != null ? arguments[i] : {};
-
-	    if (i % 2) {
-	      ownKeys$1(Object(source), true).forEach(function (key) {
-	        _defineProperty(target, key, source[key]);
-	      });
-	    } else if (Object.getOwnPropertyDescriptors) {
-	      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
-	    } else {
-	      ownKeys$1(Object(source)).forEach(function (key) {
-	        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
-	      });
-	    }
-	  }
-
-	  return target;
-	}
-
-	function _toConsumableArray(arr) {
-	  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
-	}
-
-	function _arrayWithoutHoles(arr) {
-	  if (Array.isArray(arr)) {
-	    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
-	    return arr2;
-	  }
-	}
-
-	function _iterableToArray(iter) {
-	  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
-	}
-
-	function _nonIterableSpread() {
-	  throw new TypeError("Invalid attempt to spread non-iterable instance");
-	}
-
-	//
-	//
-	//
-	//
-	var $ = window.jQuery;
-
-	var deepCopy = function deepCopy(arg) {
-	  return $.extend(true, Array.isArray(arg) ? [] : {}, arg);
-	};
-
-	var script = {
-	  name: 'BootstrapTable',
-	  props: {
-	    columns: {
-	      type: Array,
-	      require: true
-	    },
-	    data: {
-	      type: [Array, Object],
-	      default: function _default() {
-	        return undefined;
-	      }
-	    },
-	    options: {
-	      type: Object,
-	      default: function _default() {
-	        return {};
-	      }
-	    }
-	  },
-	  mounted: function mounted() {
-	    var _this = this;
-
-	    this.$table = $(this.$el);
-	    this.$table.on('all.bs.table', function (e, name, args) {
-	      var eventName = $.fn.bootstrapTable.events[name];
-	      eventName = eventName.replace(/([A-Z])/g, '-$1').toLowerCase();
-
-	      _this.$emit.apply(_this, [eventName].concat(_toConsumableArray(args)));
-	    });
-
-	    this._initTable();
-	  },
-	  methods: _objectSpread2({
-	    _initTable: function _initTable() {
-	      var options = _objectSpread2({}, deepCopy(this.options), {
-	        columns: deepCopy(this.columns),
-	        data: deepCopy(this.data)
-	      });
-
-	      if (!this._hasInit) {
-	        this.$table.bootstrapTable(options);
-	        this._hasInit = true;
-	      } else {
-	        this.refreshOptions(options);
-	      }
-	    }
-	  }, function () {
-	    var res = {};
-	    var _iteratorNormalCompletion = true;
-	    var _didIteratorError = false;
-	    var _iteratorError = undefined;
-
-	    try {
-	      var _loop = function _loop() {
-	        var method = _step.value;
-
-	        res[method] = function () {
-	          var _this$$table;
-
-	          for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	            args[_key] = arguments[_key];
-	          }
-
-	          return (_this$$table = this.$table).bootstrapTable.apply(_this$$table, [method].concat(args));
-	        };
-	      };
-
-	      for (var _iterator = $.fn.bootstrapTable.methods[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	        _loop();
-	      }
-	    } catch (err) {
-	      _didIteratorError = true;
-	      _iteratorError = err;
-	    } finally {
-	      try {
-	        if (!_iteratorNormalCompletion && _iterator.return != null) {
-	          _iterator.return();
-	        }
-	      } finally {
-	        if (_didIteratorError) {
-	          throw _iteratorError;
-	        }
-	      }
-	    }
-
-	    return res;
-	  }()),
-	  watch: {
-	    options: {
-	      handler: function handler() {
-	        this._initTable();
-	      },
-	      deep: true
-	    },
-	    columns: {
-	      handler: function handler() {
-	        this._initTable();
-	      },
-	      deep: true
-	    },
-	    data: {
-	      handler: function handler() {
-	        this.load(deepCopy(this.data));
-	      },
-	      deep: true
-	    }
-	  }
-	};
-
-	function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
-	    if (typeof shadowMode !== 'boolean') {
-	        createInjectorSSR = createInjector;
-	        createInjector = shadowMode;
-	        shadowMode = false;
-	    }
-	    // Vue.extend constructor export interop.
-	    const options = typeof script === 'function' ? script.options : script;
-	    // render functions
-	    if (template && template.render) {
-	        options.render = template.render;
-	        options.staticRenderFns = template.staticRenderFns;
-	        options._compiled = true;
-	        // functional template
-	        if (isFunctionalTemplate) {
-	            options.functional = true;
-	        }
-	    }
-	    // scopedId
-	    if (scopeId) {
-	        options._scopeId = scopeId;
-	    }
-	    let hook;
-	    if (moduleIdentifier) {
-	        // server build
-	        hook = function (context) {
-	            // 2.3 injection
-	            context =
-	                context || // cached call
-	                    (this.$vnode && this.$vnode.ssrContext) || // stateful
-	                    (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional
-	            // 2.2 with runInNewContext: true
-	            if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
-	                context = __VUE_SSR_CONTEXT__;
-	            }
-	            // inject component styles
-	            if (style) {
-	                style.call(this, createInjectorSSR(context));
-	            }
-	            // register component module identifier for async chunk inference
-	            if (context && context._registeredComponents) {
-	                context._registeredComponents.add(moduleIdentifier);
-	            }
-	        };
-	        // used by ssr in case component is cached and beforeCreate
-	        // never gets called
-	        options._ssrRegister = hook;
-	    }
-	    else if (style) {
-	        hook = shadowMode
-	            ? function (context) {
-	                style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));
-	            }
-	            : function (context) {
-	                style.call(this, createInjector(context));
-	            };
-	    }
-	    if (hook) {
-	        if (options.functional) {
-	            // register for functional component in vue file
-	            const originalRender = options.render;
-	            options.render = function renderWithStyleInjection(h, context) {
-	                hook.call(context);
-	                return originalRender(h, context);
-	            };
-	        }
-	        else {
-	            // inject component registration as beforeCreate hook
-	            const existing = options.beforeCreate;
-	            options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
-	        }
-	    }
-	    return script;
-	}
-
-	/* script */
-	const __vue_script__ = script;
-
-	/* template */
-	var __vue_render__ = function() {
-	  var _vm = this;
-	  var _h = _vm.$createElement;
-	  var _c = _vm._self._c || _h;
-	  return _c("table")
-	};
-	var __vue_staticRenderFns__ = [];
-	__vue_render__._withStripped = true;
-
-	  /* style */
-	  const __vue_inject_styles__ = undefined;
-	  /* scoped */
-	  const __vue_scope_id__ = undefined;
-	  /* module identifier */
-	  const __vue_module_identifier__ = undefined;
-	  /* functional template */
-	  const __vue_is_functional_template__ = false;
-	  /* style inject */
-	  
-	  /* style inject SSR */
-	  
-	  /* style inject shadow dom */
-	  
-
-	  
-	  const __vue_component__ = normalizeComponent(
-	    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
-	    __vue_inject_styles__,
-	    __vue_script__,
-	    __vue_scope_id__,
-	    __vue_is_functional_template__,
-	    __vue_module_identifier__,
-	    false,
-	    undefined,
-	    undefined,
-	    undefined
-	  );
-
-	return __vue_component__;
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.min.js b/server/target/classes/static/bootstrap-table/bootstrap-table-vue.min.js
deleted file mode 100644
index 3e393a9..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table-vue.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).BootstrapTable=e()}(this,(function(){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,a={f:u&&!c.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:c},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,s=function(t){return l.call(t).slice(8,-1)},p="".split,y=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==s(t)?p.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return y(d(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,e){if(!h(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!h(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!h(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!h(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,m=function(t,e){return b.call(t,e)},S=n.document,O=h(S)&&h(S.createElement),w=function(t){return O?S.createElement(t):{}},x=!i&&!o((function(){return 7!=Object.defineProperty(w("div"),"a",{get:function(){return 7}}).a})),j=Object.getOwnPropertyDescriptor,E={f:i?j:function(t,e){if(t=v(t),e=g(e,!0),x)try{return j(t,e)}catch(t){}if(m(t,e))return f(!a.f.call(t,e),t[e])}},T=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},_=Object.defineProperty,P={f:i?_:function(t,e,r){if(T(t),e=g(e,!0),T(r),x)try{return _(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},A=i?function(t,e,r){return P.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},I=function(t,e){try{A(n,t,e)}catch(r){n[t]=e}return e},R=n["__core-js_shared__"]||I("__core-js_shared__",{}),L=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return L.call(t)});var C,$,k,M=R.inspectSource,N=n.WeakMap,F="function"==typeof N&&/native code/.test(M(N)),D=e((function(t){(t.exports=function(t,e){return R[t]||(R[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,V=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+V).toString(36)},B=D("keys"),z=function(t){return B[t]||(B[t]=U(t))},K={},W=n.WeakMap;if(F){var Y=new W,H=Y.get,q=Y.has,X=Y.set;C=function(t,e){return X.call(Y,t,e),e},$=function(t){return H.call(Y,t)||{}},k=function(t){return q.call(Y,t)}}else{var J=z("state");K[J]=!0,C=function(t,e){return A(t,J,e),e},$=function(t){return m(t,J)?t[J]:{}},k=function(t){return m(t,J)}}var Q,Z={set:C,get:$,has:k,enforce:function(t){return k(t)?$(t):C(t,{})},getterFor:function(t){return function(e){var r;if(!h(e)||(r=$(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},tt=e((function(t){var e=Z.get,r=Z.enforce,o=String(String).split("String");(t.exports=function(t,e,i,c){var u=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,f=!!c&&!!c.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||A(i,"name",e),r(i).source=o.join("string"==typeof e?e:"")),t!==n?(u?!f&&t[e]&&(a=!0):delete t[e],a?t[e]=i:A(t,e,i)):a?t[e]=i:I(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||M(this)}))})),et=n,rt=function(t){return"function"==typeof t?t:void 0},nt=function(t,e){return arguments.length<2?rt(et[t])||rt(n[t]):et[t]&&et[t][e]||n[t]&&n[t][e]},ot=Math.ceil,it=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?it:ot)(t)},ut=Math.min,at=function(t){return t>0?ut(ct(t),9007199254740991):0},ft=Math.max,lt=Math.min,st=function(t){return function(e,r,n){var o,i=v(e),c=at(i.length),u=function(t,e){var r=ct(t);return r<0?ft(r+e,0):lt(r,e)}(n,c);if(t&&r!=r){for(;c>u;)if((o=i[u++])!=o)return!0}else for(;c>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},pt={includes:st(!0),indexOf:st(!1)}.indexOf,yt=function(t,e){var r,n=v(t),o=0,i=[];for(r in n)!m(K,r)&&m(n,r)&&i.push(r);for(;e.length>o;)m(n,r=e[o++])&&(~pt(i,r)||i.push(r));return i},dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=dt.concat("length","prototype"),ht={f:Object.getOwnPropertyNames||function(t){return yt(t,vt)}},gt={f:Object.getOwnPropertySymbols},bt=nt("Reflect","ownKeys")||function(t){var e=ht.f(T(t)),r=gt.f;return r?e.concat(r(t)):e},mt=function(t,e){for(var r=bt(e),n=P.f,o=E.f,i=0;i<r.length;i++){var c=r[i];m(t,c)||n(t,c,o(e,c))}},St=/#|\.prototype\./,Ot=function(t,e){var r=xt[wt(t)];return r==Et||r!=jt&&("function"==typeof e?o(e):!!e)},wt=Ot.normalize=function(t){return String(t).replace(St,".").toLowerCase()},xt=Ot.data={},jt=Ot.NATIVE="N",Et=Ot.POLYFILL="P",Tt=Ot,_t=E.f,Pt=function(t,e){var r,o,i,c,u,a=t.target,f=t.global,l=t.stat;if(r=f?n:l?n[a]||I(a,{}):(n[a]||{}).prototype)for(o in e){if(c=e[o],i=t.noTargetGet?(u=_t(r,o))&&u.value:r[o],!Tt(f?o:a+(l?".":"#")+o,t.forced)&&void 0!==i){if(typeof c==typeof i)continue;mt(c,i)}(t.sham||i&&i.sham)&&A(c,"sham",!0),tt(r,o,c,t)}},At=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())})),It=At&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=Array.isArray||function(t){return"Array"==s(t)},Lt=function(t){return Object(d(t))},Ct=Object.keys||function(t){return yt(t,dt)},$t=i?Object.defineProperties:function(t,e){T(t);for(var r,n=Ct(e),o=n.length,i=0;o>i;)P.f(t,r=n[i++],e[r]);return t},kt=nt("document","documentElement"),Mt=z("IE_PROTO"),Nt=function(){},Ft=function(t){return"<script>"+t+"<\/script>"},Dt=function(){try{Q=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Dt=Q?function(t){t.write(Ft("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Q):((e=w("iframe")).style.display="none",kt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Ft("document.F=Object")),t.close(),t.F);for(var r=dt.length;r--;)delete Dt.prototype[dt[r]];return Dt()};K[Mt]=!0;var Gt=Object.create||function(t,e){var r;return null!==t?(Nt.prototype=T(t),r=new Nt,Nt.prototype=null,r[Mt]=t):r=Dt(),void 0===e?r:$t(r,e)},Vt=ht.f,Ut={}.toString,Bt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],zt={f:function(t){return Bt&&"[object Window]"==Ut.call(t)?function(t){try{return Vt(t)}catch(t){return Bt.slice()}}(t):Vt(v(t))}},Kt=D("wks"),Wt=n.Symbol,Yt=It?Wt:U,Ht=function(t){return m(Kt,t)||(At&&m(Wt,t)?Kt[t]=Wt[t]:Kt[t]=Yt("Symbol."+t)),Kt[t]},qt={f:Ht},Xt=P.f,Jt=function(t){var e=et.Symbol||(et.Symbol={});m(e,t)||Xt(e,t,{value:qt.f(t)})},Qt=P.f,Zt=Ht("toStringTag"),te=function(t,e,r){t&&!m(t=r?t:t.prototype,Zt)&&Qt(t,Zt,{configurable:!0,value:e})},ee=function(t,e,r){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},re=Ht("species"),ne=function(t,e){var r;return Rt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Rt(r.prototype)?h(r)&&null===(r=r[re])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},oe=[].push,ie=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,c=5==t||i;return function(u,a,f,l){for(var s,p,d=Lt(u),v=y(d),h=ee(a,f,3),g=at(v.length),b=0,m=l||ne,S=e?m(u,g):r?m(u,0):void 0;g>b;b++)if((c||b in v)&&(p=h(s=v[b],b,d),t))if(e)S[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:oe.call(S,s)}else if(o)return!1;return i?-1:n||o?o:S}},ce={forEach:ie(0),map:ie(1),filter:ie(2),some:ie(3),every:ie(4),find:ie(5),findIndex:ie(6)}.forEach,ue=z("hidden"),ae=Ht("toPrimitive"),fe=Z.set,le=Z.getterFor("Symbol"),se=Object.prototype,pe=n.Symbol,ye=nt("JSON","stringify"),de=E.f,ve=P.f,he=zt.f,ge=a.f,be=D("symbols"),me=D("op-symbols"),Se=D("string-to-symbol-registry"),Oe=D("symbol-to-string-registry"),we=D("wks"),xe=n.QObject,je=!xe||!xe.prototype||!xe.prototype.findChild,Ee=i&&o((function(){return 7!=Gt(ve({},"a",{get:function(){return ve(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=de(se,e);n&&delete se[e],ve(t,e,r),n&&t!==se&&ve(se,e,n)}:ve,Te=function(t,e){var r=be[t]=Gt(pe.prototype);return fe(r,{type:"Symbol",tag:t,description:e}),i||(r.description=e),r},_e=At&&"symbol"==typeof pe.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof pe},Pe=function(t,e,r){t===se&&Pe(me,e,r),T(t);var n=g(e,!0);return T(r),m(be,n)?(r.enumerable?(m(t,ue)&&t[ue][n]&&(t[ue][n]=!1),r=Gt(r,{enumerable:f(0,!1)})):(m(t,ue)||ve(t,ue,f(1,{})),t[ue][n]=!0),Ee(t,n,r)):ve(t,n,r)},Ae=function(t,e){T(t);var r=v(e),n=Ct(r).concat(Ce(r));return ce(n,(function(e){i&&!Ie.call(r,e)||Pe(t,e,r[e])})),t},Ie=function(t){var e=g(t,!0),r=ge.call(this,e);return!(this===se&&m(be,e)&&!m(me,e))&&(!(r||!m(this,e)||!m(be,e)||m(this,ue)&&this[ue][e])||r)},Re=function(t,e){var r=v(t),n=g(e,!0);if(r!==se||!m(be,n)||m(me,n)){var o=de(r,n);return!o||!m(be,n)||m(r,ue)&&r[ue][n]||(o.enumerable=!0),o}},Le=function(t){var e=he(v(t)),r=[];return ce(e,(function(t){m(be,t)||m(K,t)||r.push(t)})),r},Ce=function(t){var e=t===se,r=he(e?me:v(t)),n=[];return ce(r,(function(t){!m(be,t)||e&&!m(se,t)||n.push(be[t])})),n};if(At||(tt((pe=function(){if(this instanceof pe)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=U(t),r=function(t){this===se&&r.call(me,t),m(this,ue)&&m(this[ue],e)&&(this[ue][e]=!1),Ee(this,e,f(1,t))};return i&&je&&Ee(se,e,{configurable:!0,set:r}),Te(e,t)}).prototype,"toString",(function(){return le(this).tag})),a.f=Ie,P.f=Pe,E.f=Re,ht.f=zt.f=Le,gt.f=Ce,i&&(ve(pe.prototype,"description",{configurable:!0,get:function(){return le(this).description}}),tt(se,"propertyIsEnumerable",Ie,{unsafe:!0}))),It||(qt.f=function(t){return Te(Ht(t),t)}),Pt({global:!0,wrap:!0,forced:!At,sham:!At},{Symbol:pe}),ce(Ct(we),(function(t){Jt(t)})),Pt({target:"Symbol",stat:!0,forced:!At},{for:function(t){var e=String(t);if(m(Se,e))return Se[e];var r=pe(e);return Se[e]=r,Oe[r]=e,r},keyFor:function(t){if(!_e(t))throw TypeError(t+" is not a symbol");if(m(Oe,t))return Oe[t]},useSetter:function(){je=!0},useSimple:function(){je=!1}}),Pt({target:"Object",stat:!0,forced:!At,sham:!i},{create:function(t,e){return void 0===e?Gt(t):Ae(Gt(t),e)},defineProperty:Pe,defineProperties:Ae,getOwnPropertyDescriptor:Re}),Pt({target:"Object",stat:!0,forced:!At},{getOwnPropertyNames:Le,getOwnPropertySymbols:Ce}),Pt({target:"Object",stat:!0,forced:o((function(){gt.f(1)}))},{getOwnPropertySymbols:function(t){return gt.f(Lt(t))}}),ye){var $e=!At||o((function(){var t=pe();return"[null]"!=ye([t])||"{}"!=ye({a:t})||"{}"!=ye(Object(t))}));Pt({target:"JSON",stat:!0,forced:$e},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(h(e)||void 0!==t)&&!_e(t))return Rt(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!_e(e))return e}),o[1]=e,ye.apply(null,o)}})}pe.prototype[ae]||A(pe.prototype,ae,pe.prototype.valueOf),te(pe,"Symbol"),K[ue]=!0;var ke=P.f,Me=n.Symbol;if(i&&"function"==typeof Me&&(!("description"in Me.prototype)||void 0!==Me().description)){var Ne={},Fe=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Fe?new Me(t):void 0===t?Me():Me(t);return""===t&&(Ne[e]=!0),e};mt(Fe,Me);var De=Fe.prototype=Me.prototype;De.constructor=Fe;var Ge=De.toString,Ve="Symbol(test)"==String(Me("test")),Ue=/^Symbol\((.*)\)[^)]+$/;ke(De,"description",{configurable:!0,get:function(){var t=h(this)?this.valueOf():this,e=Ge.call(t);if(m(Ne,t))return"";var r=Ve?e.slice(7,-1):e.replace(Ue,"$1");return""===r?void 0:r}}),Pt({global:!0,forced:!0},{Symbol:Fe})}Jt("iterator");var Be,ze,Ke=function(t,e,r){var n=g(e);n in t?P.f(t,n,f(0,r)):t[n]=r},We=nt("navigator","userAgent")||"",Ye=n.process,He=Ye&&Ye.versions,qe=He&&He.v8;qe?ze=(Be=qe.split("."))[0]+Be[1]:We&&(!(Be=We.match(/Edge\/(\d+)/))||Be[1]>=74)&&(Be=We.match(/Chrome\/(\d+)/))&&(ze=Be[1]);var Xe=ze&&+ze,Je=Ht("species"),Qe=Ht("isConcatSpreadable"),Ze=Xe>=51||!o((function(){var t=[];return t[Qe]=!1,t.concat()[0]!==t})),tr=function(t){return Xe>=51||!o((function(){var e=[];return(e.constructor={})[Je]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("concat"),er=function(t){if(!h(t))return!1;var e=t[Qe];return void 0!==e?!!e:Rt(t)};Pt({target:"Array",proto:!0,forced:!Ze||!tr},{concat:function(t){var e,r,n,o,i,c=Lt(this),u=ne(c,0),a=0;for(e=-1,n=arguments.length;e<n;e++)if(i=-1===e?c:arguments[e],er(i)){if(a+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,a++)r in i&&Ke(u,a,i[r])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ke(u,a++,i)}return u.length=a,u}});var rr=Ht("unscopables"),nr=Array.prototype;null==nr[rr]&&P.f(nr,rr,{configurable:!0,value:Gt(null)});var or,ir,cr,ur=function(t){nr[rr][t]=!0},ar=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),fr=z("IE_PROTO"),lr=Object.prototype,sr=ar?Object.getPrototypeOf:function(t){return t=Lt(t),m(t,fr)?t[fr]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?lr:null},pr=Ht("iterator"),yr=!1;[].keys&&("next"in(cr=[].keys())?(ir=sr(sr(cr)))!==Object.prototype&&(or=ir):yr=!0),null==or&&(or={}),m(or,pr)||A(or,pr,(function(){return this}));var dr={IteratorPrototype:or,BUGGY_SAFARI_ITERATORS:yr},vr=dr.IteratorPrototype,hr=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return T(r),function(t){if(!h(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),gr=dr.IteratorPrototype,br=dr.BUGGY_SAFARI_ITERATORS,mr=Ht("iterator"),Sr=function(){return this},Or=function(t,e,r,n,o,i,c){!function(t,e,r){var n=e+" Iterator";t.prototype=Gt(vr,{next:f(1,r)}),te(t,n,!1)}(r,e,n);var u,a,l,s=function(t){if(t===o&&h)return h;if(!br&&t in d)return d[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",y=!1,d=t.prototype,v=d[mr]||d["@@iterator"]||o&&d[o],h=!br&&v||s(o),g="Array"==e&&d.entries||v;if(g&&(u=sr(g.call(new t)),gr!==Object.prototype&&u.next&&(sr(u)!==gr&&(hr?hr(u,gr):"function"!=typeof u[mr]&&A(u,mr,Sr)),te(u,p,!0))),"values"==o&&v&&"values"!==v.name&&(y=!0,h=function(){return v.call(this)}),d[mr]!==h&&A(d,mr,h),o)if(a={values:s("values"),keys:i?h:s("keys"),entries:s("entries")},c)for(l in a)!br&&!y&&l in d||tt(d,l,a[l]);else Pt({target:e,proto:!0,forced:br||y},a);return a},wr=Z.set,xr=Z.getterFor("Array Iterator"),jr=Or(Array,"Array",(function(t,e){wr(this,{type:"Array Iterator",target:v(t),index:0,kind:e})}),(function(){var t=xr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");ur("keys"),ur("values"),ur("entries");var Er={};Er[Ht("toStringTag")]="z";var Tr="[object z]"===String(Er),_r=Ht("toStringTag"),Pr="Arguments"==s(function(){return arguments}()),Ar=Tr?s:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),_r))?r:Pr?s(e):"Object"==(n=s(e))&&"function"==typeof e.callee?"Arguments":n},Ir=Tr?{}.toString:function(){return"[object "+Ar(this)+"]"};Tr||tt(Object.prototype,"toString",Ir,{unsafe:!0});var Rr=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Lr(t,e){return RegExp(t,e)}var Cr,$r,kr={UNSUPPORTED_Y:o((function(){var t=Lr("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:o((function(){var t=Lr("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Mr=RegExp.prototype.exec,Nr=String.prototype.replace,Fr=Mr,Dr=(Cr=/a/,$r=/b*/g,Mr.call(Cr,"a"),Mr.call($r,"a"),0!==Cr.lastIndex||0!==$r.lastIndex),Gr=kr.UNSUPPORTED_Y||kr.BROKEN_CARET,Vr=void 0!==/()??/.exec("")[1];(Dr||Vr||Gr)&&(Fr=function(t){var e,r,n,o,i=this,c=Gr&&i.sticky,u=Rr.call(i),a=i.source,f=0,l=t;return c&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),l=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(a="(?: "+a+")",l=" "+l,f++),r=new RegExp("^(?:"+a+")",u)),Vr&&(r=new RegExp("^"+a+"$(?!\\s)",u)),Dr&&(e=i.lastIndex),n=Mr.call(c?r:i,l),c?n?(n.input=n.input.slice(f),n[0]=n[0].slice(f),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Dr&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Vr&&n&&n.length>1&&Nr.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var Ur=Fr;Pt({target:"RegExp",proto:!0,forced:/./.exec!==Ur},{exec:Ur});var Br=function(t){return function(e,r){var n,o,i=String(d(e)),c=ct(r),u=i.length;return c<0||c>=u?t?"":void 0:(n=i.charCodeAt(c))<55296||n>56319||c+1===u||(o=i.charCodeAt(c+1))<56320||o>57343?t?i.charAt(c):n:t?i.slice(c,c+2):o-56320+(n-55296<<10)+65536}},zr={codeAt:Br(!1),charAt:Br(!0)},Kr=zr.charAt,Wr=Z.set,Yr=Z.getterFor("String Iterator");Or(String,"String",(function(t){Wr(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=Yr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Kr(r,n),e.index+=t.length,{value:t,done:!1})}));var Hr=Ht("species"),qr=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Xr="$0"==="a".replace(/./,"$0"),Jr=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Qr=zr.charAt,Zr=function(t,e,r){return e+(r?Qr(t,e).length:1)},tn=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==s(t))throw TypeError("RegExp#exec called on incompatible receiver");return Ur.call(t,e)},en=Math.max,rn=Math.min,nn=Math.floor,on=/\$([$&'`]|\d\d?|<[^>]*>)/g,cn=/\$([$&'`]|\d\d?)/g;!function(t,e,r,n){var i=Ht(t),c=!o((function(){var e={};return e[i]=function(){return 7},7!=""[t](e)})),u=c&&!o((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[Hr]=function(){return r},r.flags="",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](""),!e}));if(!c||!u||"replace"===t&&(!qr||!Xr)||"split"===t&&!Jr){var a=/./[i],f=r(i,""[t],(function(t,e,r,n,o){return e.exec===Ur?c&&!o?{done:!0,value:a.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Xr}),l=f[0],s=f[1];tt(String.prototype,t,l),tt(RegExp.prototype,i,2==e?function(t,e){return s.call(t,this,e)}:function(t){return s.call(t,this)})}n&&A(RegExp.prototype[i],"sham",!0)}("replace",2,(function(t,e,r,n){return[function(r,n){var o=d(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,i){if(n.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var c=r(e,t,this,i);if(c.done)return c.value}var u=T(t),a=String(this),f="function"==typeof i;f||(i=String(i));var l=u.global;if(l){var s=u.unicode;u.lastIndex=0}for(var p=[];;){var y=tn(u,a);if(null===y)break;if(p.push(y),!l)break;""===String(y[0])&&(u.lastIndex=Zr(a,at(u.lastIndex),s))}for(var d,v="",h=0,g=0;g<p.length;g++){y=p[g];for(var b=String(y[0]),m=en(rn(ct(y.index),a.length),0),S=[],O=1;O<y.length;O++)S.push(void 0===(d=y[O])?d:String(d));var w=y.groups;if(f){var x=[b].concat(S,m,a);void 0!==w&&x.push(w);var j=String(i.apply(void 0,x))}else j=o(b,a,m,S,w,i);m>=h&&(v+=a.slice(h,m)+j,h=m+b.length)}return v+a.slice(h)}];function o(t,r,n,o,i,c){var u=n+t.length,a=o.length,f=cn;return void 0!==i&&(i=Lt(i),f=on),e.call(c,f,(function(e,c){var f;switch(c.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":f=i[c.slice(1,-1)];break;default:var l=+c;if(0===l)return e;if(l>a){var s=nn(l/10);return 0===s?e:s<=a?void 0===o[s-1]?c.charAt(1):o[s-1]+c.charAt(1):e}f=o[l-1]}return void 0===f?"":f}))}}));var un={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},an=Ht("iterator"),fn=Ht("toStringTag"),ln=jr.values;for(var sn in un){var pn=n[sn],yn=pn&&pn.prototype;if(yn){if(yn[an]!==ln)try{A(yn,an,ln)}catch(t){yn[an]=ln}if(yn[fn]||A(yn,fn,sn),un[sn])for(var dn in jr)if(yn[dn]!==jr[dn])try{A(yn,dn,jr[dn])}catch(t){yn[dn]=jr[dn]}}}function vn(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function hn(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function gn(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?hn(Object(r),!0).forEach((function(e){vn(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):hn(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function bn(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var mn=window.jQuery,Sn=function(t){return mn.extend(!0,Array.isArray(t)?[]:{},t)};return function(t,e,r,n,o,i,c,u,a,f){"boolean"!=typeof c&&(a=u,u=c,c=!1);const l="function"==typeof r?r.options:r;let s;if(t&&t.render&&(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0,o&&(l.functional=!0)),n&&(l._scopeId=n),i?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,a(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},l._ssrRegister=s):e&&(s=c?function(t){e.call(this,f(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,u(t))}),s)if(l.functional){const t=l.render;l.render=function(e,r){return s.call(r),t(e,r)}}else{const t=l.beforeCreate;l.beforeCreate=t?[].concat(t,s):[s]}return r}({render:function(){var t=this.$createElement;return(this._self._c||t)("table")},staticRenderFns:[]},void 0,{name:"BootstrapTable",props:{columns:{type:Array,require:!0},data:{type:[Array,Object],default:function(){}},options:{type:Object,default:function(){return{}}}},mounted:function(){var t=this;this.$table=mn(this.$el),this.$table.on("all.bs.table",(function(e,r,n){var o=mn.fn.bootstrapTable.events[r];o=o.replace(/([A-Z])/g,"-$1").toLowerCase(),t.$emit.apply(t,[o].concat(bn(n)))})),this._initTable()},methods:gn({_initTable:function(){var t=gn({},Sn(this.options),{columns:Sn(this.columns),data:Sn(this.data)});this._hasInit?this.refreshOptions(t):(this.$table.bootstrapTable(t),this._hasInit=!0)}},function(){var t={},e=!0,r=!1,n=void 0;try{for(var o,i=function(){var e=o.value;t[e]=function(){for(var t,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return(t=this.$table).bootstrapTable.apply(t,[e].concat(n))}},c=mn.fn.bootstrapTable.methods[Symbol.iterator]();!(e=(o=c.next()).done);e=!0)i()}catch(t){r=!0,n=t}finally{try{e||null==c.return||c.return()}finally{if(r)throw n}}return t}()),watch:{options:{handler:function(){this._initTable()},deep:!0},columns:{handler:function(){this._initTable()},deep:!0},data:{handler:function(){this.load(Sn(this.data))},deep:!0}}},void 0,!1,void 0,!1,void 0,void 0,void 0)}));
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table.css b/server/target/classes/static/bootstrap-table/bootstrap-table.css
deleted file mode 100644
index af6ca9f..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table.css
+++ /dev/null
@@ -1,352 +0,0 @@
-/**
- * @author zhixin wen <wenzhixin2010@gmail.com>
- * version: 1.16.0
- * https://github.com/wenzhixin/bootstrap-table/
- */
-.bootstrap-table .fixed-table-toolbar::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-toolbar .bs-bars,
-.bootstrap-table .fixed-table-toolbar .search,
-.bootstrap-table .fixed-table-toolbar .columns {
-  position: relative;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group {
-  display: inline-block;
-  margin-left: -1px !important;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group > .btn {
-  border-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:first-child > .btn {
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:last-child > .btn {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu {
-  text-align: left;
-  max-height: 300px;
-  overflow: auto;
-  -ms-overflow-style: scrollbar;
-  z-index: 1001;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns label {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-left {
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-right {
-  margin-left: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.bootstrap-table .fixed-table-container {
-  position: relative;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-container .table {
-  width: 100%;
-  margin-bottom: 0 !important;
-}
-
-.bootstrap-table .fixed-table-container .table th,
-.bootstrap-table .fixed-table-container .table td {
-  vertical-align: middle;
-  box-sizing: border-box;
-}
-
-.bootstrap-table .fixed-table-container .table thead th {
-  vertical-align: bottom;
-  padding: 0;
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-container .table thead th:focus {
-  outline: 0 solid transparent;
-}
-
-.bootstrap-table .fixed-table-container .table thead th.detail {
-  width: 30px;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .th-inner {
-  padding: 0.75rem;
-  vertical-align: bottom;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .sortable {
-  cursor: pointer;
-  background-position: right;
-  background-repeat: no-repeat;
-  padding-right: 30px !important;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .both {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .asc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .desc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ");
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.selected td {
-  background-color: rgba(0, 0, 0, 0.075);
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view {
-  display: flex;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title {
-  font-weight: bold;
-  display: inline-block;
-  min-width: 30%;
-  text-align: left !important;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="radio"],
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="checkbox"] {
-  margin: 0 auto !important;
-}
-
-.bootstrap-table .fixed-table-container .table.table-sm .th-inner {
-  padding: 0.3rem;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer) {
-  border-bottom: 1px solid #dee2e6;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height.has-card-view {
-  border-top: 1px solid #dee2e6;
-  border-bottom: 1px solid #dee2e6;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border {
-  border-left: 1px solid #dee2e6;
-  border-right: 1px solid #dee2e6;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table thead th {
-  border-bottom: 1px solid #dee2e6;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th {
-  border-bottom: 1px solid #32383e;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-header {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body {
-  overflow-x: auto;
-  overflow-y: auto;
-  height: 100%;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
-  align-items: center;
-  background: #fff;
-  display: none;
-  justify-content: center;
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  z-index: 1000;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap {
-  align-items: baseline;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
-  font-size: 2rem;
-  margin-right: 6px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before {
-  content: "";
-  animation-duration: 1.5s;
-  animation-iteration-count: infinite;
-  animation-name: LOADING;
-  background: #212529;
-  border-radius: 50%;
-  display: block;
-  height: 5px;
-  margin: 0 4px;
-  opacity: 0;
-  width: 5px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot {
-  animation-delay: 0.3s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after {
-  animation-delay: 0.6s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark {
-  background: #212529;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before {
-  background: #fff;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-footer {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-pagination::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail,
-.bootstrap-table .fixed-table-pagination > .pagination {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .pagination-info {
-  line-height: 34px;
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list {
-  display: inline-block;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group .dropdown-menu {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination {
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination a {
-  padding: 6px 12px;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a {
-  color: #c8c8c8;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::before {
-  content: '\2B05';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::after {
-  content: '\27A1';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.disabled a {
-  pointer-events: none;
-  cursor: default;
-}
-
-.bootstrap-table.fullscreen {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1050;
-  width: 100% !important;
-  background: #fff;
-  height: calc(100vh);
-  overflow-y: scroll;
-}
-
-/* calculate scrollbar width */
-div.fixed-table-scroll-inner {
-  width: 100%;
-  height: 200px;
-}
-
-div.fixed-table-scroll-outer {
-  top: 0;
-  left: 0;
-  visibility: hidden;
-  width: 200px;
-  height: 150px;
-  overflow: hidden;
-}
-
-@keyframes LOADING {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 1;
-  }
-  to {
-    opacity: 0;
-  }
-}
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table.js b/server/target/classes/static/bootstrap-table/bootstrap-table.js
deleted file mode 100644
index 6468574..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table.js
+++ /dev/null
@@ -1,7212 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, global.BootstrapTable = factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var $findIndex = arrayIteration.findIndex;
-
-
-	var FIND_INDEX = 'findIndex';
-	var SKIPS_HOLES$1 = true;
-
-	// Shouldn't skip holes
-	if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES$1 = false; });
-
-	// `Array.prototype.findIndex` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.findindex
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES$1 }, {
-	  findIndex: function findIndex(callbackfn /* , that = undefined */) {
-	    return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND_INDEX);
-
-	var $includes = arrayIncludes.includes;
-
-
-	// `Array.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	_export({ target: 'Array', proto: true }, {
-	  includes: function includes(el /* , fromIndex = 0 */) {
-	    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('includes');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD$1 }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var $map = arrayIteration.map;
-
-
-
-	var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');
-	// FF49- issue
-	var USES_TO_LENGTH$1 = HAS_SPECIES_SUPPORT$1 && !fails(function () {
-	  [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.map` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.map
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 || !USES_TO_LENGTH$1 }, {
-	  map: function map(callbackfn /* , thisArg */) {
-	    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var nativeReverse = [].reverse;
-	var test = [1, 2];
-
-	// `Array.prototype.reverse` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.reverse
-	// fix for Safari 12.0 bug
-	// https://bugs.webkit.org/show_bug.cgi?id=188794
-	_export({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
-	  reverse: function reverse() {
-	    // eslint-disable-next-line no-self-assign
-	    if (isArray(this)) this.length = this.length;
-	    return nativeReverse.call(this);
-	  }
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	var test$1 = [];
-	var nativeSort = test$1.sort;
-
-	// IE8-
-	var FAILS_ON_UNDEFINED = fails(function () {
-	  test$1.sort(undefined);
-	});
-	// V8 bug
-	var FAILS_ON_NULL = fails(function () {
-	  test$1.sort(null);
-	});
-	// Old WebKit
-	var SLOPPY_METHOD$2 = sloppyArrayMethod('sort');
-
-	var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD$2;
-
-	// `Array.prototype.sort` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.sort
-	_export({ target: 'Array', proto: true, forced: FORCED$1 }, {
-	  sort: function sort(comparefn) {
-	    return comparefn === undefined
-	      ? nativeSort.call(toObject(this))
-	      : nativeSort.call(toObject(this), aFunction$1(comparefn));
-	  }
-	});
-
-	var max$2 = Math.max;
-	var min$2 = Math.min;
-	var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
-
-	// `Array.prototype.splice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.splice
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {
-	  splice: function splice(start, deleteCount /* , ...items */) {
-	    var O = toObject(this);
-	    var len = toLength(O.length);
-	    var actualStart = toAbsoluteIndex(start, len);
-	    var argumentsLength = arguments.length;
-	    var insertCount, actualDeleteCount, A, k, from, to;
-	    if (argumentsLength === 0) {
-	      insertCount = actualDeleteCount = 0;
-	    } else if (argumentsLength === 1) {
-	      insertCount = 0;
-	      actualDeleteCount = len - actualStart;
-	    } else {
-	      insertCount = argumentsLength - 2;
-	      actualDeleteCount = min$2(max$2(toInteger(deleteCount), 0), len - actualStart);
-	    }
-	    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) {
-	      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
-	    }
-	    A = arraySpeciesCreate(O, actualDeleteCount);
-	    for (k = 0; k < actualDeleteCount; k++) {
-	      from = actualStart + k;
-	      if (from in O) createProperty(A, k, O[from]);
-	    }
-	    A.length = actualDeleteCount;
-	    if (insertCount < actualDeleteCount) {
-	      for (k = actualStart; k < len - actualDeleteCount; k++) {
-	        from = k + actualDeleteCount;
-	        to = k + insertCount;
-	        if (from in O) O[to] = O[from];
-	        else delete O[to];
-	      }
-	      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
-	    } else if (insertCount > actualDeleteCount) {
-	      for (k = len - actualDeleteCount; k > actualStart; k--) {
-	        from = k + actualDeleteCount - 1;
-	        to = k + insertCount - 1;
-	        if (from in O) O[to] = O[from];
-	        else delete O[to];
-	      }
-	    }
-	    for (k = 0; k < insertCount; k++) {
-	      O[k + actualStart] = arguments[k + 2];
-	    }
-	    O.length = len - actualDeleteCount + insertCount;
-	    return A;
-	  }
-	});
-
-	// makes subclassing work correct for wrapped built-ins
-	var inheritIfRequired = function ($this, dummy, Wrapper) {
-	  var NewTarget, NewTargetPrototype;
-	  if (
-	    // it can work only with native `setPrototypeOf`
-	    objectSetPrototypeOf &&
-	    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
-	    typeof (NewTarget = dummy.constructor) == 'function' &&
-	    NewTarget !== Wrapper &&
-	    isObject(NewTargetPrototype = NewTarget.prototype) &&
-	    NewTargetPrototype !== Wrapper.prototype
-	  ) objectSetPrototypeOf($this, NewTargetPrototype);
-	  return $this;
-	};
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$2 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$2(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$2(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$2(3)
-	};
-
-	var getOwnPropertyNames = objectGetOwnPropertyNames.f;
-	var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
-	var defineProperty$3 = objectDefineProperty.f;
-	var trim = stringTrim.trim;
-
-	var NUMBER = 'Number';
-	var NativeNumber = global_1[NUMBER];
-	var NumberPrototype = NativeNumber.prototype;
-
-	// Opera ~12 has broken Object#toString
-	var BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER;
-
-	// `ToNumber` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tonumber
-	var toNumber = function (argument) {
-	  var it = toPrimitive(argument, false);
-	  var first, third, radix, maxCode, digits, length, index, code;
-	  if (typeof it == 'string' && it.length > 2) {
-	    it = trim(it);
-	    first = it.charCodeAt(0);
-	    if (first === 43 || first === 45) {
-	      third = it.charCodeAt(2);
-	      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
-	    } else if (first === 48) {
-	      switch (it.charCodeAt(1)) {
-	        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
-	        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
-	        default: return +it;
-	      }
-	      digits = it.slice(2);
-	      length = digits.length;
-	      for (index = 0; index < length; index++) {
-	        code = digits.charCodeAt(index);
-	        // parseInt parses a string to a first unavailable symbol
-	        // but ToNumber should return NaN if a string contains unavailable symbols
-	        if (code < 48 || code > maxCode) return NaN;
-	      } return parseInt(digits, radix);
-	    }
-	  } return +it;
-	};
-
-	// `Number` constructor
-	// https://tc39.github.io/ecma262/#sec-number-constructor
-	if (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
-	  var NumberWrapper = function Number(value) {
-	    var it = arguments.length < 1 ? 0 : value;
-	    var dummy = this;
-	    return dummy instanceof NumberWrapper
-	      // check on 1..constructor(foo) case
-	      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER)
-	        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
-	  };
-	  for (var keys$1 = descriptors ? getOwnPropertyNames(NativeNumber) : (
-	    // ES3:
-	    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
-	    // ES2015 (in case, if modules with ES2015 Number statics required before):
-	    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
-	    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
-	  ).split(','), j = 0, key; keys$1.length > j; j++) {
-	    if (has(NativeNumber, key = keys$1[j]) && !has(NumberWrapper, key)) {
-	      defineProperty$3(NumberWrapper, key, getOwnPropertyDescriptor$2(NativeNumber, key));
-	    }
-	  }
-	  NumberWrapper.prototype = NumberPrototype;
-	  NumberPrototype.constructor = NumberWrapper;
-	  redefine(global_1, NUMBER, NumberWrapper);
-	}
-
-	var nativeAssign = Object.assign;
-	var defineProperty$4 = Object.defineProperty;
-
-	// `Object.assign` method
-	// https://tc39.github.io/ecma262/#sec-object.assign
-	var objectAssign = !nativeAssign || fails(function () {
-	  // should have correct order of operations (Edge bug)
-	  if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$4({}, 'a', {
-	    enumerable: true,
-	    get: function () {
-	      defineProperty$4(this, 'b', {
-	        value: 3,
-	        enumerable: false
-	      });
-	    }
-	  }), { b: 2 })).b !== 1) return true;
-	  // should work with symbols and should have deterministic property order (V8 bug)
-	  var A = {};
-	  var B = {};
-	  // eslint-disable-next-line no-undef
-	  var symbol = Symbol();
-	  var alphabet = 'abcdefghijklmnopqrst';
-	  A[symbol] = 7;
-	  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
-	  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-	}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
-	  var T = toObject(target);
-	  var argumentsLength = arguments.length;
-	  var index = 1;
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-	  while (argumentsLength > index) {
-	    var S = indexedObject(arguments[index++]);
-	    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
-	    var length = keys.length;
-	    var j = 0;
-	    var key;
-	    while (length > j) {
-	      key = keys[j++];
-	      if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
-	    }
-	  } return T;
-	} : nativeAssign;
-
-	// `Object.assign` method
-	// https://tc39.github.io/ecma262/#sec-object.assign
-	_export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
-	  assign: objectAssign
-	});
-
-	var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
-	// `Object.{ entries, values }` methods implementation
-	var createMethod$3 = function (TO_ENTRIES) {
-	  return function (it) {
-	    var O = toIndexedObject(it);
-	    var keys = objectKeys(O);
-	    var length = keys.length;
-	    var i = 0;
-	    var result = [];
-	    var key;
-	    while (length > i) {
-	      key = keys[i++];
-	      if (!descriptors || propertyIsEnumerable.call(O, key)) {
-	        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
-	      }
-	    }
-	    return result;
-	  };
-	};
-
-	var objectToArray = {
-	  // `Object.entries` method
-	  // https://tc39.github.io/ecma262/#sec-object.entries
-	  entries: createMethod$3(true),
-	  // `Object.values` method
-	  // https://tc39.github.io/ecma262/#sec-object.values
-	  values: createMethod$3(false)
-	};
-
-	var $entries = objectToArray.entries;
-
-	// `Object.entries` method
-	// https://tc39.github.io/ecma262/#sec-object.entries
-	_export({ target: 'Object', stat: true }, {
-	  entries: function entries(O) {
-	    return $entries(O);
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test$2 = {};
-
-	test$2[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test$2) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	var trim$1 = stringTrim.trim;
-
-
-	var nativeParseFloat = global_1.parseFloat;
-	var FORCED$2 = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity;
-
-	// `parseFloat` method
-	// https://tc39.github.io/ecma262/#sec-parsefloat-string
-	var _parseFloat = FORCED$2 ? function parseFloat(string) {
-	  var trimmedString = trim$1(String(string));
-	  var result = nativeParseFloat(trimmedString);
-	  return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
-	} : nativeParseFloat;
-
-	// `parseFloat` method
-	// https://tc39.github.io/ecma262/#sec-parsefloat-string
-	_export({ global: true, forced: parseFloat != _parseFloat }, {
-	  parseFloat: _parseFloat
-	});
-
-	var trim$2 = stringTrim.trim;
-
-
-	var nativeParseInt = global_1.parseInt;
-	var hex = /^[+-]?0[Xx]/;
-	var FORCED$3 = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	var _parseInt = FORCED$3 ? function parseInt(string, radix) {
-	  var S = trim$2(String(string));
-	  return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
-	} : nativeParseInt;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	_export({ global: true, forced: parseInt != _parseInt }, {
-	  parseInt: _parseInt
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var TO_STRING = 'toString';
-	var RegExpPrototype = RegExp.prototype;
-	var nativeToString = RegExpPrototype[TO_STRING];
-
-	var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
-	// FF44- RegExp#toString has a wrong name
-	var INCORRECT_NAME = nativeToString.name != TO_STRING;
-
-	// `RegExp.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
-	if (NOT_GENERIC || INCORRECT_NAME) {
-	  redefine(RegExp.prototype, TO_STRING, function toString() {
-	    var R = anObject(this);
-	    var p = String(R.source);
-	    var rf = R.flags;
-	    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
-	    return '/' + p + '/' + f;
-	  }, { unsafe: true });
-	}
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var notARegexp = function (it) {
-	  if (isRegexp(it)) {
-	    throw TypeError("The method doesn't accept regular expressions");
-	  } return it;
-	};
-
-	var MATCH$1 = wellKnownSymbol('match');
-
-	var correctIsRegexpLogic = function (METHOD_NAME) {
-	  var regexp = /./;
-	  try {
-	    '/./'[METHOD_NAME](regexp);
-	  } catch (e) {
-	    try {
-	      regexp[MATCH$1] = false;
-	      return '/./'[METHOD_NAME](regexp);
-	    } catch (f) { /* empty */ }
-	  } return false;
-	};
-
-	// `String.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.includes
-	_export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
-	  includes: function includes(searchString /* , position = 0 */) {
-	    return !!~String(requireObjectCoercible(this))
-	      .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$4 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$4(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$4(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$3] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	var charAt$1 = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt$1(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$3 = Math.max;
-	var min$3 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$3(min$3(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// `SameValue` abstract operation
-	// https://tc39.github.io/ecma262/#sec-samevalue
-	var sameValue = Object.is || function is(x, y) {
-	  // eslint-disable-next-line no-self-compare
-	  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-	};
-
-	// @@search logic
-	fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
-	  return [
-	    // `String.prototype.search` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.search
-	    function search(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var searcher = regexp == undefined ? undefined : regexp[SEARCH];
-	      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
-	    },
-	    // `RegExp.prototype[@@search]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
-	    function (regexp) {
-	      var res = maybeCallNative(nativeSearch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var previousLastIndex = rx.lastIndex;
-	      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
-	      var result = regexpExecAbstract(rx, S);
-	      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
-	      return result === null ? -1 : result.index;
-	    }
-	  ];
-	});
-
-	var SPECIES$4 = wellKnownSymbol('species');
-
-	// `SpeciesConstructor` abstract operation
-	// https://tc39.github.io/ecma262/#sec-speciesconstructor
-	var speciesConstructor = function (O, defaultConstructor) {
-	  var C = anObject(O).constructor;
-	  var S;
-	  return C === undefined || (S = anObject(C)[SPECIES$4]) == undefined ? defaultConstructor : aFunction$1(S);
-	};
-
-	var arrayPush = [].push;
-	var min$4 = Math.min;
-	var MAX_UINT32 = 0xFFFFFFFF;
-
-	// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-	var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
-
-	// @@split logic
-	fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
-	  var internalSplit;
-	  if (
-	    'abbc'.split(/(b)*/)[1] == 'c' ||
-	    'test'.split(/(?:)/, -1).length != 4 ||
-	    'ab'.split(/(?:ab)*/).length != 2 ||
-	    '.'.split(/(.?)(.?)/).length != 4 ||
-	    '.'.split(/()()/).length > 1 ||
-	    ''.split(/.?/).length
-	  ) {
-	    // based on es5-shim implementation, need to rework it
-	    internalSplit = function (separator, limit) {
-	      var string = String(requireObjectCoercible(this));
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (separator === undefined) return [string];
-	      // If `separator` is not a regex, use native split
-	      if (!isRegexp(separator)) {
-	        return nativeSplit.call(string, separator, lim);
-	      }
-	      var output = [];
-	      var flags = (separator.ignoreCase ? 'i' : '') +
-	                  (separator.multiline ? 'm' : '') +
-	                  (separator.unicode ? 'u' : '') +
-	                  (separator.sticky ? 'y' : '');
-	      var lastLastIndex = 0;
-	      // Make `global` and avoid `lastIndex` issues by working with a copy
-	      var separatorCopy = new RegExp(separator.source, flags + 'g');
-	      var match, lastIndex, lastLength;
-	      while (match = regexpExec.call(separatorCopy, string)) {
-	        lastIndex = separatorCopy.lastIndex;
-	        if (lastIndex > lastLastIndex) {
-	          output.push(string.slice(lastLastIndex, match.index));
-	          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
-	          lastLength = match[0].length;
-	          lastLastIndex = lastIndex;
-	          if (output.length >= lim) break;
-	        }
-	        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
-	      }
-	      if (lastLastIndex === string.length) {
-	        if (lastLength || !separatorCopy.test('')) output.push('');
-	      } else output.push(string.slice(lastLastIndex));
-	      return output.length > lim ? output.slice(0, lim) : output;
-	    };
-	  // Chakra, V8
-	  } else if ('0'.split(undefined, 0).length) {
-	    internalSplit = function (separator, limit) {
-	      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
-	    };
-	  } else internalSplit = nativeSplit;
-
-	  return [
-	    // `String.prototype.split` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.split
-	    function split(separator, limit) {
-	      var O = requireObjectCoercible(this);
-	      var splitter = separator == undefined ? undefined : separator[SPLIT];
-	      return splitter !== undefined
-	        ? splitter.call(separator, O, limit)
-	        : internalSplit.call(String(O), separator, limit);
-	    },
-	    // `RegExp.prototype[@@split]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
-	    //
-	    // NOTE: This cannot be properly polyfilled in engines that don't support
-	    // the 'y' flag.
-	    function (regexp, limit) {
-	      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-	      var C = speciesConstructor(rx, RegExp);
-
-	      var unicodeMatching = rx.unicode;
-	      var flags = (rx.ignoreCase ? 'i' : '') +
-	                  (rx.multiline ? 'm' : '') +
-	                  (rx.unicode ? 'u' : '') +
-	                  (SUPPORTS_Y ? 'y' : 'g');
-
-	      // ^(? + rx + ) is needed, in combination with some S slicing, to
-	      // simulate the 'y' flag.
-	      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
-	      var p = 0;
-	      var q = 0;
-	      var A = [];
-	      while (q < S.length) {
-	        splitter.lastIndex = SUPPORTS_Y ? q : 0;
-	        var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
-	        var e;
-	        if (
-	          z === null ||
-	          (e = min$4(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
-	        ) {
-	          q = advanceStringIndex(S, q, unicodeMatching);
-	        } else {
-	          A.push(S.slice(p, q));
-	          if (A.length === lim) return A;
-	          for (var i = 1; i <= z.length - 1; i++) {
-	            A.push(z[i]);
-	            if (A.length === lim) return A;
-	          }
-	          q = p = e;
-	        }
-	      }
-	      A.push(S.slice(p));
-	      return A;
-	    }
-	  ];
-	}, !SUPPORTS_Y);
-
-	var non = '\u200B\u0085\u180E';
-
-	// check that a method works with the correct list
-	// of whitespaces and has a correct name
-	var forcedStringTrimMethod = function (METHOD_NAME) {
-	  return fails(function () {
-	    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
-	  });
-	};
-
-	var $trim = stringTrim.trim;
-
-
-	// `String.prototype.trim` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	_export({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
-	  trim: function trim() {
-	    return $trim(this);
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var $forEach$1 = arrayIteration.forEach;
-
-
-	// `Array.prototype.forEach` method implementation
-	// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
-	  return $forEach$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	} : [].forEach;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  // some Chrome versions have non-configurable methods on DOMTokenList
-	  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
-	    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
-	  } catch (error) {
-	    CollectionPrototype.forEach = arrayForEach;
-	  }
-	}
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME$1 in domIterables) {
-	  var Collection$1 = global_1[COLLECTION_NAME$1];
-	  var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
-	  if (CollectionPrototype$1) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype$1[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype$1, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype$1[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype$1[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG$3, COLLECTION_NAME$1);
-	    }
-	    if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _typeof(obj) {
-	  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
-	    _typeof = function (obj) {
-	      return typeof obj;
-	    };
-	  } else {
-	    _typeof = function (obj) {
-	      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
-	    };
-	  }
-
-	  return _typeof(obj);
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _slicedToArray(arr, i) {
-	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
-	}
-
-	function _toConsumableArray(arr) {
-	  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
-	}
-
-	function _arrayWithoutHoles(arr) {
-	  if (Array.isArray(arr)) {
-	    for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
-
-	    return arr2;
-	  }
-	}
-
-	function _arrayWithHoles(arr) {
-	  if (Array.isArray(arr)) return arr;
-	}
-
-	function _iterableToArray(iter) {
-	  if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
-	}
-
-	function _iterableToArrayLimit(arr, i) {
-	  if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
-	    return;
-	  }
-
-	  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;
-	}
-
-	function _nonIterableSpread() {
-	  throw new TypeError("Invalid attempt to spread non-iterable instance");
-	}
-
-	function _nonIterableRest() {
-	  throw new TypeError("Invalid attempt to destructure non-iterable instance");
-	}
-
-	var VERSION = '1.16.0';
-	var bootstrapVersion = 4;
-
-	try {
-	  var rawVersion = $.fn.dropdown.Constructor.VERSION; // Only try to parse VERSION if it is defined.
-	  // It is undefined in older versions of Bootstrap (tested with 3.1.1).
-
-	  if (rawVersion !== undefined) {
-	    bootstrapVersion = parseInt(rawVersion, 10);
-	  }
-	} catch (e) {// ignore
-	}
-
-	var CONSTANTS = {
-	  3: {
-	    iconsPrefix: 'glyphicon',
-	    icons: {
-	      paginationSwitchDown: 'glyphicon-collapse-down icon-chevron-down',
-	      paginationSwitchUp: 'glyphicon-collapse-up icon-chevron-up',
-	      refresh: 'glyphicon-refresh icon-refresh',
-	      toggleOff: 'glyphicon-list-alt icon-list-alt',
-	      toggleOn: 'glyphicon-list-alt icon-list-alt',
-	      columns: 'glyphicon-th icon-th',
-	      detailOpen: 'glyphicon-plus icon-plus',
-	      detailClose: 'glyphicon-minus icon-minus',
-	      fullscreen: 'glyphicon-fullscreen',
-	      search: 'glyphicon-search',
-	      clearSearch: 'glyphicon-trash'
-	    },
-	    classes: {
-	      buttonsPrefix: 'btn',
-	      buttons: 'default',
-	      buttonsGroup: 'btn-group',
-	      buttonsDropdown: 'btn-group',
-	      pull: 'pull',
-	      inputGroup: 'input-group',
-	      inputPrefix: 'input-',
-	      input: 'form-control',
-	      paginationDropdown: 'btn-group dropdown',
-	      dropup: 'dropup',
-	      dropdownActive: 'active',
-	      paginationActive: 'active',
-	      buttonActive: 'active'
-	    },
-	    html: {
-	      toolbarDropdown: ['<ul class="dropdown-menu" role="menu">', '</ul>'],
-	      toolbarDropdownItem: '<li class="dropdown-item-marker" role="menuitem"><label>%s</label></li>',
-	      toolbarDropdownSeparator: '<li class="divider"></li>',
-	      pageDropdown: ['<ul class="dropdown-menu" role="menu">', '</ul>'],
-	      pageDropdownItem: '<li role="menuitem" class="%s"><a href="#">%s</a></li>',
-	      dropdownCaret: '<span class="caret"></span>',
-	      pagination: ['<ul class="pagination%s">', '</ul>'],
-	      paginationItem: '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',
-	      icon: '<i class="%s %s"></i>',
-	      inputGroup: '<div class="input-group">%s<span class="input-group-btn">%s</span></div>',
-	      searchInput: '<input class="%s%s" type="text" placeholder="%s">',
-	      searchButton: '<button class="%s" type="button" name="search" title="%s">%s %s</button>',
-	      searchClearButton: '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'
-	    }
-	  },
-	  4: {
-	    iconsPrefix: 'fa',
-	    icons: {
-	      paginationSwitchDown: 'fa-caret-square-down',
-	      paginationSwitchUp: 'fa-caret-square-up',
-	      refresh: 'fa-sync',
-	      toggleOff: 'fa-toggle-off',
-	      toggleOn: 'fa-toggle-on',
-	      columns: 'fa-th-list',
-	      detailOpen: 'fa-plus',
-	      detailClose: 'fa-minus',
-	      fullscreen: 'fa-arrows-alt',
-	      search: 'fa-search',
-	      clearSearch: 'fa-trash'
-	    },
-	    classes: {
-	      buttonsPrefix: 'btn',
-	      buttons: 'secondary',
-	      buttonsGroup: 'btn-group',
-	      buttonsDropdown: 'btn-group',
-	      pull: 'float',
-	      inputGroup: 'btn-group',
-	      inputPrefix: 'form-control-',
-	      input: 'form-control',
-	      paginationDropdown: 'btn-group dropdown',
-	      dropup: 'dropup',
-	      dropdownActive: 'active',
-	      paginationActive: 'active',
-	      buttonActive: 'active'
-	    },
-	    html: {
-	      toolbarDropdown: ['<div class="dropdown-menu dropdown-menu-right">', '</div>'],
-	      toolbarDropdownItem: '<label class="dropdown-item dropdown-item-marker">%s</label>',
-	      pageDropdown: ['<div class="dropdown-menu">', '</div>'],
-	      pageDropdownItem: '<a class="dropdown-item %s" href="#">%s</a>',
-	      toolbarDropdownSeparator: '<div class="dropdown-divider"></div>',
-	      dropdownCaret: '<span class="caret"></span>',
-	      pagination: ['<ul class="pagination%s">', '</ul>'],
-	      paginationItem: '<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',
-	      icon: '<i class="%s %s"></i>',
-	      inputGroup: '<div class="input-group">%s<div class="input-group-append">%s</div></div>',
-	      searchInput: '<input class="%s%s" type="text" placeholder="%s">',
-	      searchButton: '<button class="%s" type="button" name="search" title="%s">%s %s</button>',
-	      searchClearButton: '<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'
-	    }
-	  }
-	}[bootstrapVersion];
-	var DEFAULTS = {
-	  height: undefined,
-	  classes: 'table table-bordered table-hover',
-	  theadClasses: '',
-	  headerStyle: function headerStyle(column) {
-	    return {};
-	  },
-	  rowStyle: function rowStyle(row, index) {
-	    return {};
-	  },
-	  rowAttributes: function rowAttributes(row, index) {
-	    return {};
-	  },
-	  undefinedText: '-',
-	  locale: undefined,
-	  virtualScroll: false,
-	  virtualScrollItemHeight: undefined,
-	  sortable: true,
-	  sortClass: undefined,
-	  silentSort: true,
-	  sortName: undefined,
-	  sortOrder: 'asc',
-	  sortStable: false,
-	  rememberOrder: false,
-	  serverSort: true,
-	  customSort: undefined,
-	  columns: [[]],
-	  data: [],
-	  url: undefined,
-	  method: 'get',
-	  cache: true,
-	  contentType: 'application/json',
-	  dataType: 'json',
-	  ajax: undefined,
-	  ajaxOptions: {},
-	  queryParams: function queryParams(params) {
-	    return params;
-	  },
-	  queryParamsType: 'limit',
-	  // 'limit', undefined
-	  responseHandler: function responseHandler(res) {
-	    return res;
-	  },
-	  totalField: 'total',
-	  totalNotFilteredField: 'totalNotFiltered',
-	  dataField: 'rows',
-	  pagination: false,
-	  onlyInfoPagination: false,
-	  showExtendedPagination: false,
-	  paginationLoop: true,
-	  sidePagination: 'client',
-	  // client or server
-	  totalRows: 0,
-	  totalNotFiltered: 0,
-	  pageNumber: 1,
-	  pageSize: 10,
-	  pageList: [10, 25, 50, 100],
-	  paginationHAlign: 'right',
-	  // right, left
-	  paginationVAlign: 'bottom',
-	  // bottom, top, both
-	  paginationDetailHAlign: 'left',
-	  // right, left
-	  paginationPreText: '&lsaquo;',
-	  paginationNextText: '&rsaquo;',
-	  paginationSuccessivelySize: 5,
-	  // Maximum successively number of pages in a row
-	  paginationPagesBySide: 1,
-	  // Number of pages on each side (right, left) of the current page.
-	  paginationUseIntermediate: false,
-	  // Calculate intermediate pages for quick access
-	  search: false,
-	  searchOnEnterKey: false,
-	  strictSearch: false,
-	  visibleSearch: false,
-	  showButtonIcons: true,
-	  showButtonText: false,
-	  showSearchButton: false,
-	  showSearchClearButton: false,
-	  trimOnSearch: true,
-	  searchAlign: 'right',
-	  searchTimeOut: 500,
-	  searchText: '',
-	  customSearch: undefined,
-	  showHeader: true,
-	  showFooter: false,
-	  footerStyle: function footerStyle(column) {
-	    return {};
-	  },
-	  showColumns: false,
-	  showColumnsToggleAll: false,
-	  showColumnsSearch: false,
-	  minimumCountColumns: 1,
-	  showPaginationSwitch: false,
-	  showRefresh: false,
-	  showToggle: false,
-	  showFullscreen: false,
-	  smartDisplay: true,
-	  escape: false,
-	  filterOptions: {
-	    filterAlgorithm: 'and'
-	  },
-	  idField: undefined,
-	  selectItemName: 'btSelectItem',
-	  clickToSelect: false,
-	  ignoreClickToSelectOn: function ignoreClickToSelectOn(_ref) {
-	    var tagName = _ref.tagName;
-	    return ['A', 'BUTTON'].includes(tagName);
-	  },
-	  singleSelect: false,
-	  checkboxHeader: true,
-	  maintainMetaData: false,
-	  multipleSelectRow: false,
-	  uniqueId: undefined,
-	  cardView: false,
-	  detailView: false,
-	  detailViewIcon: true,
-	  detailViewByClick: false,
-	  detailFormatter: function detailFormatter(index, row) {
-	    return '';
-	  },
-	  detailFilter: function detailFilter(index, row) {
-	    return true;
-	  },
-	  toolbar: undefined,
-	  toolbarAlign: 'left',
-	  buttonsToolbar: undefined,
-	  buttonsAlign: 'right',
-	  buttonsOrder: ['paginationSwitch', 'refresh', 'toggle', 'fullscreen', 'columns'],
-	  buttonsPrefix: CONSTANTS.classes.buttonsPrefix,
-	  buttonsClass: CONSTANTS.classes.buttons,
-	  icons: CONSTANTS.icons,
-	  html: CONSTANTS.html,
-	  iconSize: undefined,
-	  iconsPrefix: CONSTANTS.iconsPrefix,
-	  // glyphicon or fa(font-awesome)
-	  onAll: function onAll(name, args) {
-	    return false;
-	  },
-	  onClickCell: function onClickCell(field, value, row, $element) {
-	    return false;
-	  },
-	  onDblClickCell: function onDblClickCell(field, value, row, $element) {
-	    return false;
-	  },
-	  onClickRow: function onClickRow(item, $element) {
-	    return false;
-	  },
-	  onDblClickRow: function onDblClickRow(item, $element) {
-	    return false;
-	  },
-	  onSort: function onSort(name, order) {
-	    return false;
-	  },
-	  onCheck: function onCheck(row) {
-	    return false;
-	  },
-	  onUncheck: function onUncheck(row) {
-	    return false;
-	  },
-	  onCheckAll: function onCheckAll(rows) {
-	    return false;
-	  },
-	  onUncheckAll: function onUncheckAll(rows) {
-	    return false;
-	  },
-	  onCheckSome: function onCheckSome(rows) {
-	    return false;
-	  },
-	  onUncheckSome: function onUncheckSome(rows) {
-	    return false;
-	  },
-	  onLoadSuccess: function onLoadSuccess(data) {
-	    return false;
-	  },
-	  onLoadError: function onLoadError(status) {
-	    return false;
-	  },
-	  onColumnSwitch: function onColumnSwitch(field, checked) {
-	    return false;
-	  },
-	  onPageChange: function onPageChange(number, size) {
-	    return false;
-	  },
-	  onSearch: function onSearch(text) {
-	    return false;
-	  },
-	  onToggle: function onToggle(cardView) {
-	    return false;
-	  },
-	  onPreBody: function onPreBody(data) {
-	    return false;
-	  },
-	  onPostBody: function onPostBody() {
-	    return false;
-	  },
-	  onPostHeader: function onPostHeader() {
-	    return false;
-	  },
-	  onPostFooter: function onPostFooter() {
-	    return false;
-	  },
-	  onExpandRow: function onExpandRow(index, row, $detail) {
-	    return false;
-	  },
-	  onCollapseRow: function onCollapseRow(index, row) {
-	    return false;
-	  },
-	  onRefreshOptions: function onRefreshOptions(options) {
-	    return false;
-	  },
-	  onRefresh: function onRefresh(params) {
-	    return false;
-	  },
-	  onResetView: function onResetView() {
-	    return false;
-	  },
-	  onScrollBody: function onScrollBody() {
-	    return false;
-	  }
-	};
-	var EN = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Loading, please wait';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rows per page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Search';
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No matching records found';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  }
-	};
-	var COLUMN_DEFAULTS = {
-	  field: undefined,
-	  title: undefined,
-	  titleTooltip: undefined,
-	  'class': undefined,
-	  width: undefined,
-	  widthUnit: 'px',
-	  rowspan: undefined,
-	  colspan: undefined,
-	  align: undefined,
-	  // left, right, center
-	  halign: undefined,
-	  // left, right, center
-	  falign: undefined,
-	  // left, right, center
-	  valign: undefined,
-	  // top, middle, bottom
-	  cellStyle: undefined,
-	  radio: false,
-	  checkbox: false,
-	  checkboxEnabled: true,
-	  clickToSelect: true,
-	  showSelectTitle: false,
-	  sortable: false,
-	  sortName: undefined,
-	  order: 'asc',
-	  // asc, desc
-	  sorter: undefined,
-	  visible: true,
-	  switchable: true,
-	  cardVisible: true,
-	  searchable: true,
-	  formatter: undefined,
-	  footerFormatter: undefined,
-	  detailFormatter: undefined,
-	  searchFormatter: true,
-	  escape: false,
-	  events: undefined
-	};
-	var METHODS = ['getOptions', 'refreshOptions', 'getData', 'getSelections', 'getAllSelections', 'load', 'append', 'prepend', 'remove', 'removeAll', 'insertRow', 'updateRow', 'getRowByUniqueId', 'updateByUniqueId', 'removeByUniqueId', 'updateCell', 'updateCellByUniqueId', 'showRow', 'hideRow', 'getHiddenRows', 'showColumn', 'hideColumn', 'getVisibleColumns', 'getHiddenColumns', 'showAllColumns', 'hideAllColumns', 'mergeCells', 'checkAll', 'uncheckAll', 'checkInvert', 'check', 'uncheck', 'checkBy', 'uncheckBy', 'refresh', 'destroy', 'resetView', 'showLoading', 'hideLoading', 'togglePagination', 'toggleFullscreen', 'toggleView', 'resetSearch', 'filterBy', 'scrollTo', 'getScrollPosition', 'selectPage', 'prevPage', 'nextPage', 'toggleDetailView', 'expandRow', 'collapseRow', 'expandAllRows', 'collapseAllRows', 'updateColumnTitle', 'updateFormatText'];
-	var EVENTS = {
-	  'all.bs.table': 'onAll',
-	  'click-row.bs.table': 'onClickRow',
-	  'dbl-click-row.bs.table': 'onDblClickRow',
-	  'click-cell.bs.table': 'onClickCell',
-	  'dbl-click-cell.bs.table': 'onDblClickCell',
-	  'sort.bs.table': 'onSort',
-	  'check.bs.table': 'onCheck',
-	  'uncheck.bs.table': 'onUncheck',
-	  'check-all.bs.table': 'onCheckAll',
-	  'uncheck-all.bs.table': 'onUncheckAll',
-	  'check-some.bs.table': 'onCheckSome',
-	  'uncheck-some.bs.table': 'onUncheckSome',
-	  'load-success.bs.table': 'onLoadSuccess',
-	  'load-error.bs.table': 'onLoadError',
-	  'column-switch.bs.table': 'onColumnSwitch',
-	  'page-change.bs.table': 'onPageChange',
-	  'search.bs.table': 'onSearch',
-	  'toggle.bs.table': 'onToggle',
-	  'pre-body.bs.table': 'onPreBody',
-	  'post-body.bs.table': 'onPostBody',
-	  'post-header.bs.table': 'onPostHeader',
-	  'post-footer.bs.table': 'onPostFooter',
-	  'expand-row.bs.table': 'onExpandRow',
-	  'collapse-row.bs.table': 'onCollapseRow',
-	  'refresh-options.bs.table': 'onRefreshOptions',
-	  'reset-view.bs.table': 'onResetView',
-	  'refresh.bs.table': 'onRefresh',
-	  'scroll-body.bs.table': 'onScrollBody'
-	};
-	Object.assign(DEFAULTS, EN);
-	var Constants = {
-	  VERSION: VERSION,
-	  THEME: "bootstrap".concat(bootstrapVersion),
-	  CONSTANTS: CONSTANTS,
-	  DEFAULTS: DEFAULTS,
-	  COLUMN_DEFAULTS: COLUMN_DEFAULTS,
-	  METHODS: METHODS,
-	  EVENTS: EVENTS,
-	  LOCALES: {
-	    en: EN,
-	    'en-US': EN
-	  }
-	};
-
-	var FAILS_ON_PRIMITIVES = fails(function () { objectKeys(1); });
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	_export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
-	  keys: function keys(it) {
-	    return objectKeys(toObject(it));
-	  }
-	});
-
-	var Utils = {
-	  // it only does '%s', and return '' when arguments are undefined
-	  sprintf: function sprintf(_str) {
-	    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-	      args[_key - 1] = arguments[_key];
-	    }
-
-	    var flag = true;
-	    var i = 0;
-
-	    var str = _str.replace(/%s/g, function () {
-	      var arg = args[i++];
-
-	      if (typeof arg === 'undefined') {
-	        flag = false;
-	        return '';
-	      }
-
-	      return arg;
-	    });
-
-	    return flag ? str : '';
-	  },
-	  isEmptyObject: function isEmptyObject() {
-	    var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-	    return Object.entries(obj).length === 0 && obj.constructor === Object;
-	  },
-	  isNumeric: function isNumeric(n) {
-	    return !isNaN(parseFloat(n)) && isFinite(n);
-	  },
-	  getFieldTitle: function getFieldTitle(list, value) {
-	    var _iteratorNormalCompletion = true;
-	    var _didIteratorError = false;
-	    var _iteratorError = undefined;
-
-	    try {
-	      for (var _iterator = list[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	        var item = _step.value;
-
-	        if (item.field === value) {
-	          return item.title;
-	        }
-	      }
-	    } catch (err) {
-	      _didIteratorError = true;
-	      _iteratorError = err;
-	    } finally {
-	      try {
-	        if (!_iteratorNormalCompletion && _iterator.return != null) {
-	          _iterator.return();
-	        }
-	      } finally {
-	        if (_didIteratorError) {
-	          throw _iteratorError;
-	        }
-	      }
-	    }
-
-	    return '';
-	  },
-	  setFieldIndex: function setFieldIndex(columns) {
-	    var totalCol = 0;
-	    var flag = [];
-	    var _iteratorNormalCompletion2 = true;
-	    var _didIteratorError2 = false;
-	    var _iteratorError2 = undefined;
-
-	    try {
-	      for (var _iterator2 = columns[0][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-	        var column = _step2.value;
-	        totalCol += column.colspan || 1;
-	      }
-	    } catch (err) {
-	      _didIteratorError2 = true;
-	      _iteratorError2 = err;
-	    } finally {
-	      try {
-	        if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
-	          _iterator2.return();
-	        }
-	      } finally {
-	        if (_didIteratorError2) {
-	          throw _iteratorError2;
-	        }
-	      }
-	    }
-
-	    for (var i = 0; i < columns.length; i++) {
-	      flag[i] = [];
-
-	      for (var j = 0; j < totalCol; j++) {
-	        flag[i][j] = false;
-	      }
-	    }
-
-	    for (var _i = 0; _i < columns.length; _i++) {
-	      var _iteratorNormalCompletion3 = true;
-	      var _didIteratorError3 = false;
-	      var _iteratorError3 = undefined;
-
-	      try {
-	        for (var _iterator3 = columns[_i][Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-	          var r = _step3.value;
-	          var rowspan = r.rowspan || 1;
-	          var colspan = r.colspan || 1;
-
-	          var index = flag[_i].indexOf(false);
-
-	          r.colspanIndex = index;
-
-	          if (colspan === 1) {
-	            r.fieldIndex = index; // when field is undefined, use index instead
-
-	            if (typeof r.field === 'undefined') {
-	              r.field = index;
-	            }
-	          } else {
-	            r.colspanGroup = r.colspan;
-	          }
-
-	          for (var k = 0; k < rowspan; k++) {
-	            flag[_i + k][index] = true;
-	          }
-
-	          for (var _k = 0; _k < colspan; _k++) {
-	            flag[_i][index + _k] = true;
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError3 = true;
-	        _iteratorError3 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
-	            _iterator3.return();
-	          }
-	        } finally {
-	          if (_didIteratorError3) {
-	            throw _iteratorError3;
-	          }
-	        }
-	      }
-	    }
-	  },
-	  updateFieldGroup: function updateFieldGroup(columns) {
-	    var _ref;
-
-	    var allColumns = (_ref = []).concat.apply(_ref, _toConsumableArray(columns));
-
-	    var _iteratorNormalCompletion4 = true;
-	    var _didIteratorError4 = false;
-	    var _iteratorError4 = undefined;
-
-	    try {
-	      for (var _iterator4 = columns[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-	        var c = _step4.value;
-	        var _iteratorNormalCompletion5 = true;
-	        var _didIteratorError5 = false;
-	        var _iteratorError5 = undefined;
-
-	        try {
-	          for (var _iterator5 = c[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
-	            var r = _step5.value;
-
-	            if (r.colspanGroup > 1) {
-	              var colspan = 0;
-
-	              var _loop = function _loop(i) {
-	                var column = allColumns.find(function (col) {
-	                  return col.fieldIndex === i;
-	                });
-
-	                if (column.visible) {
-	                  colspan++;
-	                }
-	              };
-
-	              for (var i = r.colspanIndex; i < r.colspanIndex + r.colspanGroup; i++) {
-	                _loop(i);
-	              }
-
-	              r.colspan = colspan;
-	              r.visible = colspan > 0;
-	            }
-	          }
-	        } catch (err) {
-	          _didIteratorError5 = true;
-	          _iteratorError5 = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion5 && _iterator5.return != null) {
-	              _iterator5.return();
-	            }
-	          } finally {
-	            if (_didIteratorError5) {
-	              throw _iteratorError5;
-	            }
-	          }
-	        }
-	      }
-	    } catch (err) {
-	      _didIteratorError4 = true;
-	      _iteratorError4 = err;
-	    } finally {
-	      try {
-	        if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
-	          _iterator4.return();
-	        }
-	      } finally {
-	        if (_didIteratorError4) {
-	          throw _iteratorError4;
-	        }
-	      }
-	    }
-	  },
-	  getScrollBarWidth: function getScrollBarWidth() {
-	    if (this.cachedWidth === undefined) {
-	      var $inner = $('<div/>').addClass('fixed-table-scroll-inner');
-	      var $outer = $('<div/>').addClass('fixed-table-scroll-outer');
-	      $outer.append($inner);
-	      $('body').append($outer);
-	      var w1 = $inner[0].offsetWidth;
-	      $outer.css('overflow', 'scroll');
-	      var w2 = $inner[0].offsetWidth;
-
-	      if (w1 === w2) {
-	        w2 = $outer[0].clientWidth;
-	      }
-
-	      $outer.remove();
-	      this.cachedWidth = w1 - w2;
-	    }
-
-	    return this.cachedWidth;
-	  },
-	  calculateObjectValue: function calculateObjectValue(self, name, args, defaultValue) {
-	    var func = name;
-
-	    if (typeof name === 'string') {
-	      // support obj.func1.func2
-	      var names = name.split('.');
-
-	      if (names.length > 1) {
-	        func = window;
-	        var _iteratorNormalCompletion6 = true;
-	        var _didIteratorError6 = false;
-	        var _iteratorError6 = undefined;
-
-	        try {
-	          for (var _iterator6 = names[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
-	            var f = _step6.value;
-	            func = func[f];
-	          }
-	        } catch (err) {
-	          _didIteratorError6 = true;
-	          _iteratorError6 = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion6 && _iterator6.return != null) {
-	              _iterator6.return();
-	            }
-	          } finally {
-	            if (_didIteratorError6) {
-	              throw _iteratorError6;
-	            }
-	          }
-	        }
-	      } else {
-	        func = window[name];
-	      }
-	    }
-
-	    if (func !== null && _typeof(func) === 'object') {
-	      return func;
-	    }
-
-	    if (typeof func === 'function') {
-	      return func.apply(self, args || []);
-	    }
-
-	    if (!func && typeof name === 'string' && this.sprintf.apply(this, [name].concat(_toConsumableArray(args)))) {
-	      return this.sprintf.apply(this, [name].concat(_toConsumableArray(args)));
-	    }
-
-	    return defaultValue;
-	  },
-	  compareObjects: function compareObjects(objectA, objectB, compareLength) {
-	    var aKeys = Object.keys(objectA);
-	    var bKeys = Object.keys(objectB);
-
-	    if (compareLength && aKeys.length !== bKeys.length) {
-	      return false;
-	    }
-
-	    for (var _i2 = 0, _aKeys = aKeys; _i2 < _aKeys.length; _i2++) {
-	      var key = _aKeys[_i2];
-
-	      if (bKeys.includes(key) && objectA[key] !== objectB[key]) {
-	        return false;
-	      }
-	    }
-
-	    return true;
-	  },
-	  escapeHTML: function escapeHTML(text) {
-	    if (typeof text === 'string') {
-	      return text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#039;').replace(/`/g, '&#x60;');
-	    }
-
-	    return text;
-	  },
-	  getRealDataAttr: function getRealDataAttr(dataAttr) {
-	    for (var _i3 = 0, _Object$entries = Object.entries(dataAttr); _i3 < _Object$entries.length; _i3++) {
-	      var _Object$entries$_i = _slicedToArray(_Object$entries[_i3], 2),
-	          attr = _Object$entries$_i[0],
-	          value = _Object$entries$_i[1];
-
-	      var auxAttr = attr.split(/(?=[A-Z])/).join('-').toLowerCase();
-
-	      if (auxAttr !== attr) {
-	        dataAttr[auxAttr] = value;
-	        delete dataAttr[attr];
-	      }
-	    }
-
-	    return dataAttr;
-	  },
-	  getItemField: function getItemField(item, field, escape) {
-	    var value = item;
-
-	    if (typeof field !== 'string' || item.hasOwnProperty(field)) {
-	      return escape ? this.escapeHTML(item[field]) : item[field];
-	    }
-
-	    var props = field.split('.');
-	    var _iteratorNormalCompletion7 = true;
-	    var _didIteratorError7 = false;
-	    var _iteratorError7 = undefined;
-
-	    try {
-	      for (var _iterator7 = props[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
-	        var p = _step7.value;
-	        value = value && value[p];
-	      }
-	    } catch (err) {
-	      _didIteratorError7 = true;
-	      _iteratorError7 = err;
-	    } finally {
-	      try {
-	        if (!_iteratorNormalCompletion7 && _iterator7.return != null) {
-	          _iterator7.return();
-	        }
-	      } finally {
-	        if (_didIteratorError7) {
-	          throw _iteratorError7;
-	        }
-	      }
-	    }
-
-	    return escape ? this.escapeHTML(value) : value;
-	  },
-	  isIEBrowser: function isIEBrowser() {
-	    return navigator.userAgent.includes('MSIE ') || /Trident.*rv:11\./.test(navigator.userAgent);
-	  },
-	  findIndex: function findIndex(items, item) {
-	    var _iteratorNormalCompletion8 = true;
-	    var _didIteratorError8 = false;
-	    var _iteratorError8 = undefined;
-
-	    try {
-	      for (var _iterator8 = items[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
-	        var it = _step8.value;
-
-	        if (JSON.stringify(it) === JSON.stringify(item)) {
-	          return items.indexOf(it);
-	        }
-	      }
-	    } catch (err) {
-	      _didIteratorError8 = true;
-	      _iteratorError8 = err;
-	    } finally {
-	      try {
-	        if (!_iteratorNormalCompletion8 && _iterator8.return != null) {
-	          _iterator8.return();
-	        }
-	      } finally {
-	        if (_didIteratorError8) {
-	          throw _iteratorError8;
-	        }
-	      }
-	    }
-
-	    return -1;
-	  },
-	  trToData: function trToData(columns, $els) {
-	    var _this = this;
-
-	    var data = [];
-	    var m = [];
-	    $els.each(function (y, el) {
-	      var row = {}; // save tr's id, class and data-* attributes
-
-	      row._id = $(el).attr('id');
-	      row._class = $(el).attr('class');
-	      row._data = _this.getRealDataAttr($(el).data());
-	      $(el).find('>td,>th').each(function (_x, el) {
-	        var cspan = +$(el).attr('colspan') || 1;
-	        var rspan = +$(el).attr('rowspan') || 1;
-	        var x = _x; // skip already occupied cells in current row
-
-	        for (; m[y] && m[y][x]; x++) {} // ignore
-	        // mark matrix elements occupied by current cell with true
-
-
-	        for (var tx = x; tx < x + cspan; tx++) {
-	          for (var ty = y; ty < y + rspan; ty++) {
-	            if (!m[ty]) {
-	              // fill missing rows
-	              m[ty] = [];
-	            }
-
-	            m[ty][tx] = true;
-	          }
-	        }
-
-	        var field = columns[x].field;
-	        row[field] = $(el).html().trim(); // save td's id, class and data-* attributes
-
-	        row["_".concat(field, "_id")] = $(el).attr('id');
-	        row["_".concat(field, "_class")] = $(el).attr('class');
-	        row["_".concat(field, "_rowspan")] = $(el).attr('rowspan');
-	        row["_".concat(field, "_colspan")] = $(el).attr('colspan');
-	        row["_".concat(field, "_title")] = $(el).attr('title');
-	        row["_".concat(field, "_data")] = _this.getRealDataAttr($(el).data());
-	      });
-	      data.push(row);
-	    });
-	    return data;
-	  },
-	  sort: function sort(a, b, order, sortStable, aPosition, bPosition) {
-	    if (a === undefined || a === null) {
-	      a = '';
-	    }
-
-	    if (b === undefined || b === null) {
-	      b = '';
-	    }
-
-	    if (sortStable && a === b) {
-	      a = aPosition;
-	      b = bPosition;
-	    } // If both values are numeric, do a numeric comparison
-
-
-	    if (this.isNumeric(a) && this.isNumeric(b)) {
-	      // Convert numerical values form string to float.
-	      a = parseFloat(a);
-	      b = parseFloat(b);
-
-	      if (a < b) {
-	        return order * -1;
-	      }
-
-	      if (a > b) {
-	        return order;
-	      }
-
-	      return 0;
-	    }
-
-	    if (a === b) {
-	      return 0;
-	    } // If value is not a string, convert to string
-
-
-	    if (typeof a !== 'string') {
-	      a = a.toString();
-	    }
-
-	    if (a.localeCompare(b) === -1) {
-	      return order * -1;
-	    }
-
-	    return order;
-	  },
-	  getResizeEventName: function getResizeEventName() {
-	    var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
-	    id = id || "".concat(+new Date()).concat(~~(Math.random() * 1000000));
-	    return "resize.bootstrap-table-".concat(id);
-	  }
-	};
-
-	var BLOCK_ROWS = 50;
-	var CLUSTER_BLOCKS = 4;
-
-	var VirtualScroll =
-	/*#__PURE__*/
-	function () {
-	  function VirtualScroll(options) {
-	    var _this = this;
-
-	    _classCallCheck(this, VirtualScroll);
-
-	    this.rows = options.rows;
-	    this.scrollEl = options.scrollEl;
-	    this.contentEl = options.contentEl;
-	    this.callback = options.callback;
-	    this.itemHeight = options.itemHeight;
-	    this.cache = {};
-	    this.scrollTop = this.scrollEl.scrollTop;
-	    this.initDOM(this.rows, options.fixedScroll);
-	    this.scrollEl.scrollTop = this.scrollTop;
-	    this.lastCluster = 0;
-
-	    var onScroll = function onScroll() {
-	      if (_this.lastCluster !== (_this.lastCluster = _this.getNum())) {
-	        _this.initDOM(_this.rows);
-
-	        _this.callback();
-	      }
-	    };
-
-	    this.scrollEl.addEventListener('scroll', onScroll, false);
-
-	    this.destroy = function () {
-	      _this.contentEl.innerHtml = '';
-
-	      _this.scrollEl.removeEventListener('scroll', onScroll, false);
-	    };
-	  }
-
-	  _createClass(VirtualScroll, [{
-	    key: "initDOM",
-	    value: function initDOM(rows, fixedScroll) {
-	      if (typeof this.clusterHeight === 'undefined') {
-	        this.cache.scrollTop = this.scrollEl.scrollTop;
-	        this.cache.data = this.contentEl.innerHTML = rows[0] + rows[0] + rows[0];
-	        this.getRowsHeight(rows);
-	      }
-
-	      var data = this.initData(rows, this.getNum(fixedScroll));
-	      var thisRows = data.rows.join('');
-	      var dataChanged = this.checkChanges('data', thisRows);
-	      var topOffsetChanged = this.checkChanges('top', data.topOffset);
-	      var bottomOffsetChanged = this.checkChanges('bottom', data.bottomOffset);
-	      var html = [];
-
-	      if (dataChanged && topOffsetChanged) {
-	        if (data.topOffset) {
-	          html.push(this.getExtra('top', data.topOffset));
-	        }
-
-	        html.push(thisRows);
-
-	        if (data.bottomOffset) {
-	          html.push(this.getExtra('bottom', data.bottomOffset));
-	        }
-
-	        this.contentEl.innerHTML = html.join('');
-
-	        if (fixedScroll) {
-	          this.contentEl.scrollTop = this.cache.scrollTop;
-	        }
-	      } else if (bottomOffsetChanged) {
-	        this.contentEl.lastChild.style.height = "".concat(data.bottomOffset, "px");
-	      }
-	    }
-	  }, {
-	    key: "getRowsHeight",
-	    value: function getRowsHeight() {
-	      if (typeof this.itemHeight === 'undefined') {
-	        var nodes = this.contentEl.children;
-	        var node = nodes[Math.floor(nodes.length / 2)];
-	        this.itemHeight = node.offsetHeight;
-	      }
-
-	      this.blockHeight = this.itemHeight * BLOCK_ROWS;
-	      this.clusterRows = BLOCK_ROWS * CLUSTER_BLOCKS;
-	      this.clusterHeight = this.blockHeight * CLUSTER_BLOCKS;
-	    }
-	  }, {
-	    key: "getNum",
-	    value: function getNum(fixedScroll) {
-	      this.scrollTop = fixedScroll ? this.cache.scrollTop : this.scrollEl.scrollTop;
-	      return Math.floor(this.scrollTop / (this.clusterHeight - this.blockHeight)) || 0;
-	    }
-	  }, {
-	    key: "initData",
-	    value: function initData(rows, num) {
-	      if (rows.length < BLOCK_ROWS) {
-	        return {
-	          topOffset: 0,
-	          bottomOffset: 0,
-	          rowsAbove: 0,
-	          rows: rows
-	        };
-	      }
-
-	      var start = Math.max((this.clusterRows - BLOCK_ROWS) * num, 0);
-	      var end = start + this.clusterRows;
-	      var topOffset = Math.max(start * this.itemHeight, 0);
-	      var bottomOffset = Math.max((rows.length - end) * this.itemHeight, 0);
-	      var thisRows = [];
-	      var rowsAbove = start;
-
-	      if (topOffset < 1) {
-	        rowsAbove++;
-	      }
-
-	      for (var i = start; i < end; i++) {
-	        rows[i] && thisRows.push(rows[i]);
-	      }
-
-	      return {
-	        topOffset: topOffset,
-	        bottomOffset: bottomOffset,
-	        rowsAbove: rowsAbove,
-	        rows: thisRows
-	      };
-	    }
-	  }, {
-	    key: "checkChanges",
-	    value: function checkChanges(type, value) {
-	      var changed = value !== this.cache[type];
-	      this.cache[type] = value;
-	      return changed;
-	    }
-	  }, {
-	    key: "getExtra",
-	    value: function getExtra(className, height) {
-	      var tag = document.createElement('tr');
-	      tag.className = "virtual-scroll-".concat(className);
-
-	      if (height) {
-	        tag.style.height = "".concat(height, "px");
-	      }
-
-	      return tag.outerHTML;
-	    }
-	  }]);
-
-	  return VirtualScroll;
-	}();
-
-	var BootstrapTable =
-	/*#__PURE__*/
-	function () {
-	  function BootstrapTable(el, options) {
-	    _classCallCheck(this, BootstrapTable);
-
-	    this.options = options;
-	    this.$el = $(el);
-	    this.$el_ = this.$el.clone();
-	    this.timeoutId_ = 0;
-	    this.timeoutFooter_ = 0;
-	    this.init();
-	  }
-
-	  _createClass(BootstrapTable, [{
-	    key: "init",
-	    value: function init() {
-	      this.initConstants();
-	      this.initLocale();
-	      this.initContainer();
-	      this.initTable();
-	      this.initHeader();
-	      this.initData();
-	      this.initHiddenRows();
-	      this.initToolbar();
-	      this.initPagination();
-	      this.initBody();
-	      this.initSearchText();
-	      this.initServer();
-	    }
-	  }, {
-	    key: "initConstants",
-	    value: function initConstants() {
-	      var opts = this.options;
-	      this.constants = Constants.CONSTANTS;
-	      this.constants.theme = $.fn.bootstrapTable.theme;
-	      var buttonsPrefix = opts.buttonsPrefix ? "".concat(opts.buttonsPrefix, "-") : '';
-	      this.constants.buttonsClass = [opts.buttonsPrefix, buttonsPrefix + opts.buttonsClass, Utils.sprintf("".concat(buttonsPrefix, "%s"), opts.iconSize)].join(' ').trim();
-	    }
-	  }, {
-	    key: "initLocale",
-	    value: function initLocale() {
-	      if (this.options.locale) {
-	        var locales = $.fn.bootstrapTable.locales;
-	        var parts = this.options.locale.split(/-|_/);
-	        parts[0] = parts[0].toLowerCase();
-
-	        if (parts[1]) {
-	          parts[1] = parts[1].toUpperCase();
-	        }
-
-	        if (locales[this.options.locale]) {
-	          $.extend(this.options, locales[this.options.locale]);
-	        } else if (locales[parts.join('-')]) {
-	          $.extend(this.options, locales[parts.join('-')]);
-	        } else if (locales[parts[0]]) {
-	          $.extend(this.options, locales[parts[0]]);
-	        }
-	      }
-	    }
-	  }, {
-	    key: "initContainer",
-	    value: function initContainer() {
-	      var topPagination = ['top', 'both'].includes(this.options.paginationVAlign) ? '<div class="fixed-table-pagination clearfix"></div>' : '';
-	      var bottomPagination = ['bottom', 'both'].includes(this.options.paginationVAlign) ? '<div class="fixed-table-pagination"></div>' : '';
-	      this.$container = $("\n      <div class=\"bootstrap-table ".concat(this.constants.theme, "\">\n      <div class=\"fixed-table-toolbar\"></div>\n      ").concat(topPagination, "\n      <div class=\"fixed-table-container\">\n      <div class=\"fixed-table-header\"><table></table></div>\n      <div class=\"fixed-table-body\">\n      <div class=\"fixed-table-loading\">\n      <span class=\"loading-wrap\">\n      <span class=\"loading-text\">").concat(this.options.formatLoadingMessage(), "</span>\n      <span class=\"animation-wrap\"><span class=\"animation-dot\"></span></span>\n      </span>\n      </div>\n      </div>\n      <div class=\"fixed-table-footer\"><table><thead><tr></tr></thead></table></div>\n      </div>\n      ").concat(bottomPagination, "\n      </div>\n    "));
-	      this.$container.insertAfter(this.$el);
-	      this.$tableContainer = this.$container.find('.fixed-table-container');
-	      this.$tableHeader = this.$container.find('.fixed-table-header');
-	      this.$tableBody = this.$container.find('.fixed-table-body');
-	      this.$tableLoading = this.$container.find('.fixed-table-loading');
-	      this.$tableFooter = this.$el.find('tfoot'); // checking if custom table-toolbar exists or not
-
-	      if (this.options.buttonsToolbar) {
-	        this.$toolbar = $('body').find(this.options.buttonsToolbar);
-	      } else {
-	        this.$toolbar = this.$container.find('.fixed-table-toolbar');
-	      }
-
-	      this.$pagination = this.$container.find('.fixed-table-pagination');
-	      this.$tableBody.append(this.$el);
-	      this.$container.after('<div class="clearfix"></div>');
-	      this.$el.addClass(this.options.classes);
-	      this.$tableLoading.addClass(this.options.classes);
-
-	      if (this.options.height) {
-	        this.$tableContainer.addClass('fixed-height');
-
-	        if (this.options.showFooter) {
-	          this.$tableContainer.addClass('has-footer');
-	        }
-
-	        if (this.options.classes.split(' ').includes('table-bordered')) {
-	          this.$tableBody.append('<div class="fixed-table-border"></div>');
-	          this.$tableBorder = this.$tableBody.find('.fixed-table-border');
-	          this.$tableLoading.addClass('fixed-table-border');
-	        }
-
-	        this.$tableFooter = this.$container.find('.fixed-table-footer');
-	      }
-	    }
-	  }, {
-	    key: "initTable",
-	    value: function initTable() {
-	      var _this = this;
-
-	      var columns = [];
-	      this.$header = this.$el.find('>thead');
-
-	      if (!this.$header.length) {
-	        this.$header = $("<thead class=\"".concat(this.options.theadClasses, "\"></thead>")).appendTo(this.$el);
-	      } else if (this.options.theadClasses) {
-	        this.$header.addClass(this.options.theadClasses);
-	      }
-
-	      this.$header.find('tr').each(function (i, el) {
-	        var column = [];
-	        $(el).find('th').each(function (i, el) {
-	          // #2014: getFieldIndex and elsewhere assume this is string, causes issues if not
-	          if (typeof $(el).data('field') !== 'undefined') {
-	            $(el).data('field', "".concat($(el).data('field')));
-	          }
-
-	          column.push($.extend({}, {
-	            title: $(el).html(),
-	            'class': $(el).attr('class'),
-	            titleTooltip: $(el).attr('title'),
-	            rowspan: $(el).attr('rowspan') ? +$(el).attr('rowspan') : undefined,
-	            colspan: $(el).attr('colspan') ? +$(el).attr('colspan') : undefined
-	          }, $(el).data()));
-	        });
-	        columns.push(column);
-	      });
-
-	      if (!Array.isArray(this.options.columns[0])) {
-	        this.options.columns = [this.options.columns];
-	      }
-
-	      this.options.columns = $.extend(true, [], columns, this.options.columns);
-	      this.columns = [];
-	      this.fieldsColumnsIndex = [];
-	      Utils.setFieldIndex(this.options.columns);
-	      this.options.columns.forEach(function (columns, i) {
-	        columns.forEach(function (_column, j) {
-	          var column = $.extend({}, BootstrapTable.COLUMN_DEFAULTS, _column);
-
-	          if (typeof column.fieldIndex !== 'undefined') {
-	            _this.columns[column.fieldIndex] = column;
-	            _this.fieldsColumnsIndex[column.field] = column.fieldIndex;
-	          }
-
-	          _this.options.columns[i][j] = column;
-	        });
-	      }); // if options.data is setting, do not process tbody and tfoot data
-
-	      if (!this.options.data.length) {
-	        this.options.data = Utils.trToData(this.columns, this.$el.find('>tbody>tr'));
-
-	        if (this.options.data.length) {
-	          this.fromHtml = true;
-	        }
-	      }
-
-	      this.footerData = Utils.trToData(this.columns, this.$el.find('>tfoot>tr'));
-
-	      if (this.footerData) {
-	        this.$el.find('tfoot').html('<tr></tr>');
-	      }
-
-	      if (!this.options.showFooter || this.options.cardView) {
-	        this.$tableFooter.hide();
-	      } else {
-	        this.$tableFooter.show();
-	      }
-	    }
-	  }, {
-	    key: "initHeader",
-	    value: function initHeader() {
-	      var _this2 = this;
-
-	      var visibleColumns = {};
-	      var html = [];
-	      this.header = {
-	        fields: [],
-	        styles: [],
-	        classes: [],
-	        formatters: [],
-	        detailFormatters: [],
-	        events: [],
-	        sorters: [],
-	        sortNames: [],
-	        cellStyles: [],
-	        searchables: []
-	      };
-	      Utils.updateFieldGroup(this.options.columns);
-	      this.options.columns.forEach(function (columns, i) {
-	        html.push('<tr>');
-
-	        if (i === 0 && !_this2.options.cardView && _this2.options.detailView && _this2.options.detailViewIcon) {
-	          html.push("<th class=\"detail\" rowspan=\"".concat(_this2.options.columns.length, "\">\n          <div class=\"fht-cell\"></div>\n          </th>\n        "));
-	        }
-
-	        columns.forEach(function (column, j) {
-	          var class_ = Utils.sprintf(' class="%s"', column['class']);
-	          var unitWidth = column.widthUnit;
-	          var width = parseFloat(column.width);
-	          var halign = Utils.sprintf('text-align: %s; ', column.halign ? column.halign : column.align);
-	          var align = Utils.sprintf('text-align: %s; ', column.align);
-	          var style = Utils.sprintf('vertical-align: %s; ', column.valign);
-	          style += Utils.sprintf('width: %s; ', (column.checkbox || column.radio) && !width ? !column.showSelectTitle ? '36px' : undefined : width ? width + unitWidth : undefined);
-
-	          if (typeof column.fieldIndex === 'undefined' && !column.visible) {
-	            return;
-	          }
-
-	          var headerStyle = Utils.calculateObjectValue(null, _this2.options.headerStyle, [column]);
-	          var csses = [];
-	          var classes = '';
-
-	          if (headerStyle && headerStyle.css) {
-	            for (var _i = 0, _Object$entries = Object.entries(headerStyle.css); _i < _Object$entries.length; _i++) {
-	              var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
-	                  key = _Object$entries$_i[0],
-	                  value = _Object$entries$_i[1];
-
-	              csses.push("".concat(key, ": ").concat(value));
-	            }
-	          }
-
-	          if (headerStyle && headerStyle.classes) {
-	            classes = Utils.sprintf(' class="%s"', column['class'] ? [column['class'], headerStyle.classes].join(' ') : headerStyle.classes);
-	          }
-
-	          if (typeof column.fieldIndex !== 'undefined') {
-	            _this2.header.fields[column.fieldIndex] = column.field;
-	            _this2.header.styles[column.fieldIndex] = align + style;
-	            _this2.header.classes[column.fieldIndex] = class_;
-	            _this2.header.formatters[column.fieldIndex] = column.formatter;
-	            _this2.header.detailFormatters[column.fieldIndex] = column.detailFormatter;
-	            _this2.header.events[column.fieldIndex] = column.events;
-	            _this2.header.sorters[column.fieldIndex] = column.sorter;
-	            _this2.header.sortNames[column.fieldIndex] = column.sortName;
-	            _this2.header.cellStyles[column.fieldIndex] = column.cellStyle;
-	            _this2.header.searchables[column.fieldIndex] = column.searchable;
-
-	            if (!column.visible) {
-	              return;
-	            }
-
-	            if (_this2.options.cardView && !column.cardVisible) {
-	              return;
-	            }
-
-	            visibleColumns[column.field] = column;
-	          }
-
-	          html.push("<th".concat(Utils.sprintf(' title="%s"', column.titleTooltip)), column.checkbox || column.radio ? Utils.sprintf(' class="bs-checkbox %s"', column['class'] || '') : classes || class_, Utils.sprintf(' style="%s"', halign + style + csses.join('; ')), Utils.sprintf(' rowspan="%s"', column.rowspan), Utils.sprintf(' colspan="%s"', column.colspan), Utils.sprintf(' data-field="%s"', column.field), // If `column` is not the first element of `this.options.columns[0]`, then className 'data-not-first-th' should be added.
-	          j === 0 && i > 0 ? ' data-not-first-th' : '', '>');
-	          html.push(Utils.sprintf('<div class="th-inner %s">', _this2.options.sortable && column.sortable ? 'sortable both' : ''));
-	          var text = _this2.options.escape ? Utils.escapeHTML(column.title) : column.title;
-	          var title = text;
-
-	          if (column.checkbox) {
-	            text = '';
-
-	            if (!_this2.options.singleSelect && _this2.options.checkboxHeader) {
-	              text = '<label><input name="btSelectAll" type="checkbox" /><span></span></label>';
-	            }
-
-	            _this2.header.stateField = column.field;
-	          }
-
-	          if (column.radio) {
-	            text = '';
-	            _this2.header.stateField = column.field;
-	          }
-
-	          if (!text && column.showSelectTitle) {
-	            text += title;
-	          }
-
-	          html.push(text);
-	          html.push('</div>');
-	          html.push('<div class="fht-cell"></div>');
-	          html.push('</div>');
-	          html.push('</th>');
-	        });
-	        html.push('</tr>');
-	      });
-	      this.$header.html(html.join(''));
-	      this.$header.find('th[data-field]').each(function (i, el) {
-	        $(el).data(visibleColumns[$(el).data('field')]);
-	      });
-	      this.$container.off('click', '.th-inner').on('click', '.th-inner', function (e) {
-	        var $this = $(e.currentTarget);
-
-	        if (_this2.options.detailView && !$this.parent().hasClass('bs-checkbox')) {
-	          if ($this.closest('.bootstrap-table')[0] !== _this2.$container[0]) {
-	            return false;
-	          }
-	        }
-
-	        if (_this2.options.sortable && $this.parent().data().sortable) {
-	          _this2.onSort(e);
-	        }
-	      });
-	      this.$header.children().children().off('keypress').on('keypress', function (e) {
-	        if (_this2.options.sortable && $(e.currentTarget).data().sortable) {
-	          var code = e.keyCode || e.which;
-
-	          if (code === 13) {
-	            // Enter keycode
-	            _this2.onSort(e);
-	          }
-	        }
-	      });
-	      var resizeEvent = Utils.getResizeEventName(this.$el.attr('id'));
-	      $(window).off(resizeEvent);
-
-	      if (!this.options.showHeader || this.options.cardView) {
-	        this.$header.hide();
-	        this.$tableHeader.hide();
-	        this.$tableLoading.css('top', 0);
-	      } else {
-	        this.$header.show();
-	        this.$tableHeader.show();
-	        this.$tableLoading.css('top', this.$header.outerHeight() + 1); // Assign the correct sortable arrow
-
-	        this.getCaret();
-	        $(window).on(resizeEvent, function () {
-	          return _this2.resetView();
-	        });
-	      }
-
-	      this.$selectAll = this.$header.find('[name="btSelectAll"]');
-	      this.$selectAll.off('click').on('click', function (e) {
-	        e.stopPropagation();
-	        var checked = $(e.currentTarget).prop('checked');
-
-	        _this2[checked ? 'checkAll' : 'uncheckAll']();
-
-	        _this2.updateSelected();
-	      });
-	    }
-	  }, {
-	    key: "initData",
-	    value: function initData(data, type) {
-	      if (type === 'append') {
-	        this.options.data = this.options.data.concat(data);
-	      } else if (type === 'prepend') {
-	        this.options.data = [].concat(data).concat(this.options.data);
-	      } else {
-	        this.options.data = data || this.options.data;
-	      }
-
-	      this.data = this.options.data;
-
-	      if (this.options.sidePagination === 'server') {
-	        return;
-	      }
-
-	      this.initSort();
-	    }
-	  }, {
-	    key: "initSort",
-	    value: function initSort() {
-	      var _this3 = this;
-
-	      var name = this.options.sortName;
-	      var order = this.options.sortOrder === 'desc' ? -1 : 1;
-	      var index = this.header.fields.indexOf(this.options.sortName);
-	      var timeoutId = 0;
-
-	      if (index !== -1) {
-	        if (this.options.sortStable) {
-	          this.data.forEach(function (row, i) {
-	            if (!row.hasOwnProperty('_position')) {
-	              row._position = i;
-	            }
-	          });
-	        }
-
-	        if (this.options.customSort) {
-	          Utils.calculateObjectValue(this.options, this.options.customSort, [this.options.sortName, this.options.sortOrder, this.data]);
-	        } else {
-	          this.data.sort(function (a, b) {
-	            if (_this3.header.sortNames[index]) {
-	              name = _this3.header.sortNames[index];
-	            }
-
-	            var aa = Utils.getItemField(a, name, _this3.options.escape);
-	            var bb = Utils.getItemField(b, name, _this3.options.escape);
-	            var value = Utils.calculateObjectValue(_this3.header, _this3.header.sorters[index], [aa, bb, a, b]);
-
-	            if (value !== undefined) {
-	              if (_this3.options.sortStable && value === 0) {
-	                return order * (a._position - b._position);
-	              }
-
-	              return order * value;
-	            }
-
-	            return Utils.sort(aa, bb, order, _this3.options.sortStable, a._position, b._position);
-	          });
-	        }
-
-	        if (this.options.sortClass !== undefined) {
-	          clearTimeout(timeoutId);
-	          timeoutId = setTimeout(function () {
-	            _this3.$el.removeClass(_this3.options.sortClass);
-
-	            var index = _this3.$header.find("[data-field=\"".concat(_this3.options.sortName, "\"]")).index();
-
-	            _this3.$el.find("tr td:nth-child(".concat(index + 1, ")")).addClass(_this3.options.sortClass);
-	          }, 250);
-	        }
-	      }
-	    }
-	  }, {
-	    key: "onSort",
-	    value: function onSort(_ref) {
-	      var type = _ref.type,
-	          currentTarget = _ref.currentTarget;
-	      var $this = type === 'keypress' ? $(currentTarget) : $(currentTarget).parent();
-	      var $this_ = this.$header.find('th').eq($this.index());
-	      this.$header.add(this.$header_).find('span.order').remove();
-
-	      if (this.options.sortName === $this.data('field')) {
-	        this.options.sortOrder = this.options.sortOrder === 'asc' ? 'desc' : 'asc';
-	      } else {
-	        this.options.sortName = $this.data('field');
-
-	        if (this.options.rememberOrder) {
-	          this.options.sortOrder = $this.data('order') === 'asc' ? 'desc' : 'asc';
-	        } else {
-	          this.options.sortOrder = this.columns[this.fieldsColumnsIndex[$this.data('field')]].sortOrder || this.columns[this.fieldsColumnsIndex[$this.data('field')]].order;
-	        }
-	      }
-
-	      this.trigger('sort', this.options.sortName, this.options.sortOrder);
-	      $this.add($this_).data('order', this.options.sortOrder); // Assign the correct sortable arrow
-
-	      this.getCaret();
-
-	      if (this.options.sidePagination === 'server' && this.options.serverSort) {
-	        this.options.pageNumber = 1;
-	        this.initServer(this.options.silentSort);
-	        return;
-	      }
-
-	      this.initSort();
-	      this.initBody();
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      var _this4 = this;
-
-	      var opts = this.options;
-	      var html = [];
-	      var timeoutId = 0;
-	      var $keepOpen;
-	      var switchableCount = 0;
-
-	      if (this.$toolbar.find('.bs-bars').children().length) {
-	        $('body').append($(opts.toolbar));
-	      }
-
-	      this.$toolbar.html('');
-
-	      if (typeof opts.toolbar === 'string' || _typeof(opts.toolbar) === 'object') {
-	        $(Utils.sprintf('<div class="bs-bars %s-%s"></div>', this.constants.classes.pull, opts.toolbarAlign)).appendTo(this.$toolbar).append($(opts.toolbar));
-	      } // showColumns, showToggle, showRefresh
-
-
-	      html = ["<div class=\"".concat(['columns', "columns-".concat(opts.buttonsAlign), this.constants.classes.buttonsGroup, "".concat(this.constants.classes.pull, "-").concat(opts.buttonsAlign)].join(' '), "\">")];
-
-	      if (typeof opts.icons === 'string') {
-	        opts.icons = Utils.calculateObjectValue(null, opts.icons);
-	      }
-
-	      var buttonsHtml = {
-	        paginationSwitch: "<button class=\"".concat(this.constants.buttonsClass, "\" type=\"button\" name=\"paginationSwitch\"\n        aria-label=\"Pagination Switch\" title=\"").concat(opts.formatPaginationSwitch(), "\">\n        ").concat(opts.showButtonIcons ? Utils.sprintf(this.constants.html.icon, opts.iconsPrefix, opts.icons.paginationSwitchDown) : '', "\n        ").concat(opts.showButtonText ? opts.formatPaginationSwitchUp() : '', "\n        </button>"),
-	        refresh: "<button class=\"".concat(this.constants.buttonsClass, "\" type=\"button\" name=\"refresh\"\n        aria-label=\"Refresh\" title=\"").concat(opts.formatRefresh(), "\">\n        ").concat(opts.showButtonIcons ? Utils.sprintf(this.constants.html.icon, opts.iconsPrefix, opts.icons.refresh) : '', "\n        ").concat(opts.showButtonText ? opts.formatRefresh() : '', "\n        </button>"),
-	        toggle: "<button class=\"".concat(this.constants.buttonsClass, "\" type=\"button\" name=\"toggle\"\n        aria-label=\"Toggle\" title=\"").concat(opts.formatToggle(), "\">\n        ").concat(opts.showButtonIcons ? Utils.sprintf(this.constants.html.icon, opts.iconsPrefix, opts.icons.toggleOff) : '', "\n        ").concat(opts.showButtonText ? opts.formatToggleOn() : '', "\n        </button>"),
-	        fullscreen: "<button class=\"".concat(this.constants.buttonsClass, "\" type=\"button\" name=\"fullscreen\"\n        aria-label=\"Fullscreen\" title=\"").concat(opts.formatFullscreen(), "\">\n        ").concat(opts.showButtonIcons ? Utils.sprintf(this.constants.html.icon, opts.iconsPrefix, opts.icons.fullscreen) : '', "\n        ").concat(opts.showButtonText ? opts.formatFullscreen() : '', "\n        </button>"),
-	        columns: function () {
-	          var html = [];
-	          html.push("<div class=\"keep-open ".concat(_this4.constants.classes.buttonsDropdown, "\" title=\"").concat(opts.formatColumns(), "\">\n          <button class=\"").concat(_this4.constants.buttonsClass, " dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\"\n          aria-label=\"Columns\" title=\"").concat(opts.formatColumns(), "\">\n          ").concat(opts.showButtonIcons ? Utils.sprintf(_this4.constants.html.icon, opts.iconsPrefix, opts.icons.columns) : '', "\n          ").concat(opts.showButtonText ? opts.formatColumns() : '', "\n          ").concat(_this4.constants.html.dropdownCaret, "\n          </button>\n          ").concat(_this4.constants.html.toolbarDropdown[0]));
-
-	          if (opts.showColumnsSearch) {
-	            html.push(Utils.sprintf(_this4.constants.html.toolbarDropdownItem, Utils.sprintf('<input type="text" class="%s" id="columnsSearch" placeholder="%s" autocomplete="off">', _this4.constants.classes.input, opts.formatSearch())));
-	            html.push(_this4.constants.html.toolbarDropdownSeparator);
-	          }
-
-	          if (opts.showColumnsToggleAll) {
-	            var allFieldsVisible = _this4.getVisibleColumns().length === _this4.columns.filter(function (column) {
-	              return !_this4.isSelectionColumn(column);
-	            }).length;
-
-	            html.push(Utils.sprintf(_this4.constants.html.toolbarDropdownItem, Utils.sprintf('<input type="checkbox" class="toggle-all" %s> <span>%s</span>', allFieldsVisible ? 'checked="checked"' : '', opts.formatColumnsToggleAll())));
-	            html.push(_this4.constants.html.toolbarDropdownSeparator);
-	          }
-
-	          var visibleColumns = 0;
-
-	          _this4.columns.forEach(function (column, i) {
-	            if (column.visible) {
-	              visibleColumns++;
-	            }
-	          });
-
-	          _this4.columns.forEach(function (column, i) {
-	            if (_this4.isSelectionColumn(column)) {
-	              return;
-	            }
-
-	            if (opts.cardView && !column.cardVisible) {
-	              return;
-	            }
-
-	            var checked = column.visible ? ' checked="checked"' : '';
-	            var disabled = visibleColumns <= _this4.options.minimumCountColumns && checked ? ' disabled="disabled"' : '';
-
-	            if (column.switchable) {
-	              html.push(Utils.sprintf(_this4.constants.html.toolbarDropdownItem, Utils.sprintf('<input type="checkbox" data-field="%s" value="%s"%s%s> <span>%s</span>', column.field, i, checked, disabled, column.title)));
-	              switchableCount++;
-	            }
-	          });
-
-	          html.push(_this4.constants.html.toolbarDropdown[1], '</div>');
-	          return html.join('');
-	        }()
-	      };
-
-	      if (typeof opts.buttonsOrder === 'string') {
-	        opts.buttonsOrder = opts.buttonsOrder.replace(/\[|\]| |'/g, '').toLowerCase().split(',');
-	      }
-
-	      var _iteratorNormalCompletion = true;
-	      var _didIteratorError = false;
-	      var _iteratorError = undefined;
-
-	      try {
-	        for (var _iterator = opts.buttonsOrder[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	          var button = _step.value;
-
-	          if (opts['show' + button.charAt(0).toUpperCase() + button.substring(1)]) {
-	            html.push(buttonsHtml[button]);
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError = true;
-	        _iteratorError = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion && _iterator.return != null) {
-	            _iterator.return();
-	          }
-	        } finally {
-	          if (_didIteratorError) {
-	            throw _iteratorError;
-	          }
-	        }
-	      }
-
-	      html.push('</div>'); // Fix #188: this.showToolbar is for extensions
-
-	      if (this.showToolbar || html.length > 2) {
-	        this.$toolbar.append(html.join(''));
-	      }
-
-	      if (opts.showPaginationSwitch) {
-	        this.$toolbar.find('button[name="paginationSwitch"]').off('click').on('click', function () {
-	          return _this4.togglePagination();
-	        });
-	      }
-
-	      if (opts.showFullscreen) {
-	        this.$toolbar.find('button[name="fullscreen"]').off('click').on('click', function () {
-	          return _this4.toggleFullscreen();
-	        });
-	      }
-
-	      if (opts.showRefresh) {
-	        this.$toolbar.find('button[name="refresh"]').off('click').on('click', function () {
-	          return _this4.refresh();
-	        });
-	      }
-
-	      if (opts.showToggle) {
-	        this.$toolbar.find('button[name="toggle"]').off('click').on('click', function () {
-	          _this4.toggleView();
-	        });
-	      }
-
-	      if (opts.showColumns) {
-	        $keepOpen = this.$toolbar.find('.keep-open');
-	        var $checkboxes = $keepOpen.find('input[type="checkbox"]:not(".toggle-all")');
-	        var $toggleAll = $keepOpen.find('input[type="checkbox"].toggle-all');
-
-	        if (switchableCount <= opts.minimumCountColumns) {
-	          $keepOpen.find('input').prop('disabled', true);
-	        }
-
-	        $keepOpen.find('li, label').off('click').on('click', function (e) {
-	          e.stopImmediatePropagation();
-	        });
-	        $checkboxes.off('click').on('click', function (_ref2) {
-	          var currentTarget = _ref2.currentTarget;
-	          var $this = $(currentTarget);
-
-	          _this4._toggleColumn($this.val(), $this.prop('checked'), false);
-
-	          _this4.trigger('column-switch', $this.data('field'), $this.prop('checked'));
-
-	          $toggleAll.prop('checked', $checkboxes.filter(':checked').length === _this4.columns.filter(function (column) {
-	            return !_this4.isSelectionColumn(column);
-	          }).length);
-	        });
-	        $toggleAll.off('click').on('click', function (_ref3) {
-	          var currentTarget = _ref3.currentTarget;
-
-	          _this4._toggleAllColumns($(currentTarget).prop('checked'));
-	        });
-
-	        if (opts.showColumnsSearch) {
-	          var $columnsSearch = $keepOpen.find('#columnsSearch');
-	          var $listItems = $keepOpen.find('.dropdown-item-marker');
-	          $columnsSearch.on('keyup paste change', function (_ref4) {
-	            var currentTarget = _ref4.currentTarget;
-	            var $this = $(currentTarget);
-	            var searchValue = $this.val().toLowerCase();
-	            $listItems.show();
-	            $checkboxes.each(function (i, el) {
-	              var $checkbox = $(el);
-	              var $listItem = $checkbox.parents('.dropdown-item-marker');
-	              var text = $listItem.text().toLowerCase();
-
-	              if (!text.includes(searchValue)) {
-	                $listItem.hide();
-	              }
-	            });
-	          });
-	        }
-	      } // Fix #4516: this.showSearchClearButton is for extensions
-
-
-	      if (opts.search || this.showSearchClearButton) {
-	        html = [];
-	        var showSearchButton = Utils.sprintf(this.constants.html.searchButton, this.constants.buttonsClass, opts.formatSearch(), opts.showButtonIcons ? Utils.sprintf(this.constants.html.icon, opts.iconsPrefix, opts.icons.search) : '', opts.showButtonText ? opts.formatSearch() : '');
-	        var showSearchClearButton = Utils.sprintf(this.constants.html.searchClearButton, this.constants.buttonsClass, opts.formatClearSearch(), opts.showButtonIcons ? Utils.sprintf(this.constants.html.icon, opts.iconsPrefix, opts.icons.clearSearch) : '', opts.showButtonText ? opts.formatClearSearch() : '');
-	        var searchInputHtml = "<input class=\"".concat(this.constants.classes.input, "\n        ").concat(Utils.sprintf(' %s%s', this.constants.classes.inputPrefix, opts.iconSize), "\n        search-input\" type=\"text\" placeholder=\"").concat(opts.formatSearch(), "\" autocomplete=\"off\">");
-	        var searchInputFinalHtml = searchInputHtml;
-
-	        if (opts.showSearchButton || opts.showSearchClearButton) {
-	          var _buttonsHtml = (opts.showSearchButton ? showSearchButton : '') + (opts.showSearchClearButton ? showSearchClearButton : '');
-
-	          searchInputFinalHtml = opts.search ? Utils.sprintf(this.constants.html.inputGroup, searchInputHtml, _buttonsHtml) : _buttonsHtml;
-	        }
-
-	        html.push(Utils.sprintf("\n        <div class=\"".concat(this.constants.classes.pull, "-").concat(opts.searchAlign, " search ").concat(this.constants.classes.inputGroup, "\">\n          %s\n        </div>\n      "), searchInputFinalHtml));
-	        this.$toolbar.append(html.join(''));
-	        var $searchInput = this.$toolbar.find('.search input');
-
-	        var handleInputEvent = function handleInputEvent() {
-	          var eventTriggers = "keyup drop blur ".concat(Utils.isIEBrowser() ? 'mouseup' : '');
-	          $searchInput.off(eventTriggers).on(eventTriggers, function (event) {
-	            if (opts.searchOnEnterKey && event.keyCode !== 13) {
-	              return;
-	            }
-
-	            if ([37, 38, 39, 40].includes(event.keyCode)) {
-	              return;
-	            }
-
-	            clearTimeout(timeoutId); // doesn't matter if it's 0
-
-	            timeoutId = setTimeout(function () {
-	              _this4.onSearch({
-	                currentTarget: event.currentTarget
-	              });
-	            }, opts.searchTimeOut);
-	          });
-	        };
-
-	        if (opts.showSearchButton) {
-	          this.$toolbar.find('.search button[name=search]').off('click').on('click', function (event) {
-	            clearTimeout(timeoutId); // doesn't matter if it's 0
-
-	            timeoutId = setTimeout(function () {
-	              _this4.onSearch({
-	                currentTarget: $searchInput
-	              });
-	            }, opts.searchTimeOut);
-	          });
-
-	          if (opts.searchOnEnterKey) {
-	            handleInputEvent();
-	          }
-	        } else {
-	          handleInputEvent();
-	        }
-
-	        if (opts.showSearchClearButton) {
-	          this.$toolbar.find('.search button[name=clearSearch]').click(function () {
-	            _this4.resetSearch();
-	          });
-	        }
-	      }
-	    }
-	  }, {
-	    key: "onSearch",
-	    value: function onSearch() {
-	      var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-	          currentTarget = _ref5.currentTarget,
-	          firedByInitSearchText = _ref5.firedByInitSearchText;
-
-	      var overwriteSearchText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
-
-	      if (currentTarget !== undefined && $(currentTarget).length && overwriteSearchText) {
-	        var text = $(currentTarget).val().trim();
-
-	        if (this.options.trimOnSearch && $(currentTarget).val() !== text) {
-	          $(currentTarget).val(text);
-	        }
-
-	        if (this.searchText === text && text.length > 0) {
-	          return;
-	        }
-
-	        if ($(currentTarget).hasClass('search-input')) {
-	          this.searchText = text;
-	          this.options.searchText = text;
-	        }
-	      }
-
-	      if (!firedByInitSearchText) {
-	        this.options.pageNumber = 1;
-	      }
-
-	      this.initSearch();
-
-	      if (firedByInitSearchText) {
-	        if (this.options.sidePagination === 'client') {
-	          this.updatePagination();
-	        }
-	      } else {
-	        this.updatePagination();
-	      }
-
-	      this.trigger('search', this.searchText);
-	    }
-	  }, {
-	    key: "initSearch",
-	    value: function initSearch() {
-	      var _this5 = this;
-
-	      this.filterOptions = this.filterOptions || this.options.filterOptions;
-
-	      if (this.options.sidePagination !== 'server') {
-	        if (this.options.customSearch) {
-	          this.data = Utils.calculateObjectValue(this.options, this.options.customSearch, [this.options.data, this.searchText, this.filterColumns]);
-	          return;
-	        }
-
-	        var s = this.searchText && (this.fromHtml ? Utils.escapeHTML(this.searchText) : this.searchText).toLowerCase();
-	        var f = Utils.isEmptyObject(this.filterColumns) ? null : this.filterColumns; // Check filter
-
-	        if (typeof this.filterOptions.filterAlgorithm === 'function') {
-	          this.data = this.options.data.filter(function (item, i) {
-	            return _this5.filterOptions.filterAlgorithm.apply(null, [item, f]);
-	          });
-	        } else if (typeof this.filterOptions.filterAlgorithm === 'string') {
-	          this.data = f ? this.options.data.filter(function (item, i) {
-	            var filterAlgorithm = _this5.filterOptions.filterAlgorithm;
-
-	            if (filterAlgorithm === 'and') {
-	              for (var key in f) {
-	                if (Array.isArray(f[key]) && !f[key].includes(item[key]) || !Array.isArray(f[key]) && item[key] !== f[key]) {
-	                  return false;
-	                }
-	              }
-	            } else if (filterAlgorithm === 'or') {
-	              var match = false;
-
-	              for (var _key in f) {
-	                if (Array.isArray(f[_key]) && f[_key].includes(item[_key]) || !Array.isArray(f[_key]) && item[_key] === f[_key]) {
-	                  match = true;
-	                }
-	              }
-
-	              return match;
-	            }
-
-	            return true;
-	          }) : this.options.data;
-	        }
-
-	        var visibleFields = this.getVisibleFields();
-	        this.data = s ? this.data.filter(function (item, i) {
-	          for (var j = 0; j < _this5.header.fields.length; j++) {
-	            if (!_this5.header.searchables[j] || _this5.options.visibleSearch && visibleFields.indexOf(_this5.header.fields[j]) === -1) {
-	              continue;
-	            }
-
-	            var key = Utils.isNumeric(_this5.header.fields[j]) ? parseInt(_this5.header.fields[j], 10) : _this5.header.fields[j];
-	            var column = _this5.columns[_this5.fieldsColumnsIndex[key]];
-	            var value = void 0;
-
-	            if (typeof key === 'string') {
-	              value = item;
-	              var props = key.split('.');
-
-	              for (var _i2 = 0; _i2 < props.length; _i2++) {
-	                if (value[props[_i2]] !== null) {
-	                  value = value[props[_i2]];
-	                }
-	              }
-	            } else {
-	              value = item[key];
-	            } // Fix #142: respect searchFormatter boolean
-
-
-	            if (column && column.searchFormatter) {
-	              value = Utils.calculateObjectValue(column, _this5.header.formatters[j], [value, item, i, column.field], value);
-	            }
-
-	            if (typeof value === 'string' || typeof value === 'number') {
-	              if (_this5.options.strictSearch) {
-	                if ("".concat(value).toLowerCase() === s) {
-	                  return true;
-	                }
-	              } else {
-	                var largerSmallerEqualsRegex = /(?:(<=|=>|=<|>=|>|<)(?:\s+)?(\d+)?|(\d+)?(\s+)?(<=|=>|=<|>=|>|<))/gm;
-	                var matches = largerSmallerEqualsRegex.exec(s);
-	                var comparisonCheck = false;
-
-	                if (matches) {
-	                  var operator = matches[1] || "".concat(matches[5], "l");
-	                  var comparisonValue = matches[2] || matches[3];
-	                  var int = parseInt(value, 10);
-	                  var comparisonInt = parseInt(comparisonValue, 10);
-
-	                  switch (operator) {
-	                    case '>':
-	                    case '<l':
-	                      comparisonCheck = int > comparisonInt;
-	                      break;
-
-	                    case '<':
-	                    case '>l':
-	                      comparisonCheck = int < comparisonInt;
-	                      break;
-
-	                    case '<=':
-	                    case '=<':
-	                    case '>=l':
-	                    case '=>l':
-	                      comparisonCheck = int <= comparisonInt;
-	                      break;
-
-	                    case '>=':
-	                    case '=>':
-	                    case '<=l':
-	                    case '=<l':
-	                      comparisonCheck = int >= comparisonInt;
-	                      break;
-	                  }
-	                }
-
-	                if (comparisonCheck || "".concat(value).toLowerCase().includes(s)) {
-	                  return true;
-	                }
-	              }
-	            }
-	          }
-
-	          return false;
-	        }) : this.data;
-	      }
-
-	      this.initSort();
-	    }
-	  }, {
-	    key: "initPagination",
-	    value: function initPagination() {
-	      var _this6 = this;
-
-	      var opts = this.options;
-
-	      if (!opts.pagination) {
-	        this.$pagination.hide();
-	        return;
-	      }
-
-	      this.$pagination.show();
-	      var html = [];
-	      var allSelected = false;
-	      var i;
-	      var from;
-	      var to;
-	      var $pageList;
-	      var $pre;
-	      var $next;
-	      var $number;
-	      var data = this.getData({
-	        includeHiddenRows: false
-	      });
-	      var pageList = opts.pageList;
-
-	      if (typeof pageList === 'string') {
-	        pageList = pageList.replace(/\[|\]| /g, '').toLowerCase().split(',');
-	      }
-
-	      pageList = pageList.map(function (value) {
-	        if (typeof value === 'string') {
-	          return value.toLowerCase() === opts.formatAllRows().toLowerCase() || ['all', 'unlimited'].includes(value.toLowerCase()) ? opts.formatAllRows() : +value;
-	        }
-
-	        return value;
-	      });
-
-	      if (opts.sidePagination !== 'server') {
-	        opts.totalRows = data.length;
-	      }
-
-	      this.totalPages = 0;
-
-	      if (opts.totalRows) {
-	        if (opts.pageSize === opts.formatAllRows()) {
-	          opts.pageSize = opts.totalRows;
-	          allSelected = true;
-	        }
-
-	        this.totalPages = ~~((opts.totalRows - 1) / opts.pageSize) + 1;
-	        opts.totalPages = this.totalPages;
-	      }
-
-	      if (this.totalPages > 0 && opts.pageNumber > this.totalPages) {
-	        opts.pageNumber = this.totalPages;
-	      }
-
-	      this.pageFrom = (opts.pageNumber - 1) * opts.pageSize + 1;
-	      this.pageTo = opts.pageNumber * opts.pageSize;
-
-	      if (this.pageTo > opts.totalRows) {
-	        this.pageTo = opts.totalRows;
-	      }
-
-	      if (this.options.pagination && this.options.sidePagination !== 'server') {
-	        this.options.totalNotFiltered = this.options.data.length;
-	      }
-
-	      if (!this.options.showExtendedPagination) {
-	        this.options.totalNotFiltered = undefined;
-	      }
-
-	      var paginationInfo = opts.onlyInfoPagination ? opts.formatDetailPagination(opts.totalRows) : opts.formatShowingRows(this.pageFrom, this.pageTo, opts.totalRows, opts.totalNotFiltered);
-	      html.push("<div class=\"".concat(this.constants.classes.pull, "-").concat(opts.paginationDetailHAlign, " pagination-detail\">\n      <span class=\"pagination-info\">\n      ").concat(paginationInfo, "\n      </span>"));
-
-	      if (!opts.onlyInfoPagination) {
-	        html.push('<span class="page-list">');
-	        var pageNumber = ["<span class=\"".concat(this.constants.classes.paginationDropdown, "\">\n        <button class=\"").concat(this.constants.buttonsClass, " dropdown-toggle\" type=\"button\" data-toggle=\"dropdown\">\n        <span class=\"page-size\">\n        ").concat(allSelected ? opts.formatAllRows() : opts.pageSize, "\n        </span>\n        ").concat(this.constants.html.dropdownCaret, "\n        </button>\n        ").concat(this.constants.html.pageDropdown[0])];
-	        pageList.forEach(function (page, i) {
-	          if (!opts.smartDisplay || i === 0 || pageList[i - 1] < opts.totalRows) {
-	            var active;
-
-	            if (allSelected) {
-	              active = page === opts.formatAllRows() ? _this6.constants.classes.dropdownActive : '';
-	            } else {
-	              active = page === opts.pageSize ? _this6.constants.classes.dropdownActive : '';
-	            }
-
-	            pageNumber.push(Utils.sprintf(_this6.constants.html.pageDropdownItem, active, page));
-	          }
-	        });
-	        pageNumber.push("".concat(this.constants.html.pageDropdown[1], "</span>"));
-	        html.push(opts.formatRecordsPerPage(pageNumber.join('')));
-	        html.push('</span></div>');
-	        html.push("<div class=\"".concat(this.constants.classes.pull, "-").concat(opts.paginationHAlign, " pagination\">"), Utils.sprintf(this.constants.html.pagination[0], Utils.sprintf(' pagination-%s', opts.iconSize)), Utils.sprintf(this.constants.html.paginationItem, ' page-pre', opts.formatSRPaginationPreText(), opts.paginationPreText));
-
-	        if (this.totalPages < opts.paginationSuccessivelySize) {
-	          from = 1;
-	          to = this.totalPages;
-	        } else {
-	          from = opts.pageNumber - opts.paginationPagesBySide;
-	          to = from + opts.paginationPagesBySide * 2;
-	        }
-
-	        if (opts.pageNumber < opts.paginationSuccessivelySize - 1) {
-	          to = opts.paginationSuccessivelySize;
-	        }
-
-	        if (opts.paginationSuccessivelySize > this.totalPages - from) {
-	          from = from - (opts.paginationSuccessivelySize - (this.totalPages - from)) + 1;
-	        }
-
-	        if (from < 1) {
-	          from = 1;
-	        }
-
-	        if (to > this.totalPages) {
-	          to = this.totalPages;
-	        }
-
-	        var middleSize = Math.round(opts.paginationPagesBySide / 2);
-
-	        var pageItem = function pageItem(i) {
-	          var classes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
-	          return Utils.sprintf(_this6.constants.html.paginationItem, classes + (i === opts.pageNumber ? " ".concat(_this6.constants.classes.paginationActive) : ''), opts.formatSRPaginationPageText(i), i);
-	        };
-
-	        if (from > 1) {
-	          var max = opts.paginationPagesBySide;
-	          if (max >= from) max = from - 1;
-
-	          for (i = 1; i <= max; i++) {
-	            html.push(pageItem(i));
-	          }
-
-	          if (from - 1 === max + 1) {
-	            i = from - 1;
-	            html.push(pageItem(i));
-	          } else {
-	            if (from - 1 > max) {
-	              if (from - opts.paginationPagesBySide * 2 > opts.paginationPagesBySide && opts.paginationUseIntermediate) {
-	                i = Math.round((from - middleSize) / 2 + middleSize);
-	                html.push(pageItem(i, ' page-intermediate'));
-	              } else {
-	                html.push(Utils.sprintf(this.constants.html.paginationItem, ' page-first-separator disabled', '', '...'));
-	              }
-	            }
-	          }
-	        }
-
-	        for (i = from; i <= to; i++) {
-	          html.push(pageItem(i));
-	        }
-
-	        if (this.totalPages > to) {
-	          var min = this.totalPages - (opts.paginationPagesBySide - 1);
-	          if (to >= min) min = to + 1;
-
-	          if (to + 1 === min - 1) {
-	            i = to + 1;
-	            html.push(pageItem(i));
-	          } else {
-	            if (min > to + 1) {
-	              if (this.totalPages - to > opts.paginationPagesBySide * 2 && opts.paginationUseIntermediate) {
-	                i = Math.round((this.totalPages - middleSize - to) / 2 + to);
-	                html.push(pageItem(i, ' page-intermediate'));
-	              } else {
-	                html.push(Utils.sprintf(this.constants.html.paginationItem, ' page-last-separator disabled', '', '...'));
-	              }
-	            }
-	          }
-
-	          for (i = min; i <= this.totalPages; i++) {
-	            html.push(pageItem(i));
-	          }
-	        }
-
-	        html.push(Utils.sprintf(this.constants.html.paginationItem, ' page-next', opts.formatSRPaginationNextText(), opts.paginationNextText));
-	        html.push(this.constants.html.pagination[1], '</div>');
-	      }
-
-	      this.$pagination.html(html.join(''));
-	      var dropupClass = ['bottom', 'both'].includes(opts.paginationVAlign) ? " ".concat(this.constants.classes.dropup) : '';
-	      this.$pagination.last().find('.page-list > span').addClass(dropupClass);
-
-	      if (!opts.onlyInfoPagination) {
-	        $pageList = this.$pagination.find('.page-list a');
-	        $pre = this.$pagination.find('.page-pre');
-	        $next = this.$pagination.find('.page-next');
-	        $number = this.$pagination.find('.page-item').not('.page-next, .page-pre, .page-last-separator, .page-first-separator');
-
-	        if (this.totalPages <= 1) {
-	          this.$pagination.find('div.pagination').hide();
-	        }
-
-	        if (opts.smartDisplay) {
-	          if (pageList.length < 2 || opts.totalRows <= pageList[0]) {
-	            this.$pagination.find('span.page-list').hide();
-	          }
-	        } // when data is empty, hide the pagination
-
-
-	        this.$pagination[this.getData().length ? 'show' : 'hide']();
-
-	        if (!opts.paginationLoop) {
-	          if (opts.pageNumber === 1) {
-	            $pre.addClass('disabled');
-	          }
-
-	          if (opts.pageNumber === this.totalPages) {
-	            $next.addClass('disabled');
-	          }
-	        }
-
-	        if (allSelected) {
-	          opts.pageSize = opts.formatAllRows();
-	        } // removed the events for last and first, onPageNumber executeds the same logic
-
-
-	        $pageList.off('click').on('click', function (e) {
-	          return _this6.onPageListChange(e);
-	        });
-	        $pre.off('click').on('click', function (e) {
-	          return _this6.onPagePre(e);
-	        });
-	        $next.off('click').on('click', function (e) {
-	          return _this6.onPageNext(e);
-	        });
-	        $number.off('click').on('click', function (e) {
-	          return _this6.onPageNumber(e);
-	        });
-	      }
-	    }
-	  }, {
-	    key: "updatePagination",
-	    value: function updatePagination(event) {
-	      // Fix #171: IE disabled button can be clicked bug.
-	      if (event && $(event.currentTarget).hasClass('disabled')) {
-	        return;
-	      }
-
-	      if (!this.options.maintainMetaData) {
-	        this.resetRows();
-	      }
-
-	      this.initPagination();
-
-	      if (this.options.sidePagination === 'server') {
-	        this.initServer();
-	      } else {
-	        this.initBody();
-	      }
-
-	      this.trigger('page-change', this.options.pageNumber, this.options.pageSize);
-	    }
-	  }, {
-	    key: "onPageListChange",
-	    value: function onPageListChange(event) {
-	      event.preventDefault();
-	      var $this = $(event.currentTarget);
-	      $this.parent().addClass(this.constants.classes.dropdownActive).siblings().removeClass(this.constants.classes.dropdownActive);
-	      this.options.pageSize = $this.text().toUpperCase() === this.options.formatAllRows().toUpperCase() ? this.options.formatAllRows() : +$this.text();
-	      this.$toolbar.find('.page-size').text(this.options.pageSize);
-	      this.updatePagination(event);
-	      return false;
-	    }
-	  }, {
-	    key: "onPagePre",
-	    value: function onPagePre(event) {
-	      event.preventDefault();
-
-	      if (this.options.pageNumber - 1 === 0) {
-	        this.options.pageNumber = this.options.totalPages;
-	      } else {
-	        this.options.pageNumber--;
-	      }
-
-	      this.updatePagination(event);
-	      return false;
-	    }
-	  }, {
-	    key: "onPageNext",
-	    value: function onPageNext(event) {
-	      event.preventDefault();
-
-	      if (this.options.pageNumber + 1 > this.options.totalPages) {
-	        this.options.pageNumber = 1;
-	      } else {
-	        this.options.pageNumber++;
-	      }
-
-	      this.updatePagination(event);
-	      return false;
-	    }
-	  }, {
-	    key: "onPageNumber",
-	    value: function onPageNumber(event) {
-	      event.preventDefault();
-
-	      if (this.options.pageNumber === +$(event.currentTarget).text()) {
-	        return;
-	      }
-
-	      this.options.pageNumber = +$(event.currentTarget).text();
-	      this.updatePagination(event);
-	      return false;
-	    }
-	  }, {
-	    key: "initRow",
-	    value: function initRow(item, i, data, trFragments) {
-	      var _this7 = this;
-
-	      var html = [];
-	      var style = {};
-	      var csses = [];
-	      var data_ = '';
-	      var attributes = {};
-	      var htmlAttributes = [];
-
-	      if (Utils.findIndex(this.hiddenRows, item) > -1) {
-	        return;
-	      }
-
-	      style = Utils.calculateObjectValue(this.options, this.options.rowStyle, [item, i], style);
-
-	      if (style && style.css) {
-	        for (var _i3 = 0, _Object$entries2 = Object.entries(style.css); _i3 < _Object$entries2.length; _i3++) {
-	          var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i3], 2),
-	              key = _Object$entries2$_i[0],
-	              value = _Object$entries2$_i[1];
-
-	          csses.push("".concat(key, ": ").concat(value));
-	        }
-	      }
-
-	      attributes = Utils.calculateObjectValue(this.options, this.options.rowAttributes, [item, i], attributes);
-
-	      if (attributes) {
-	        for (var _i4 = 0, _Object$entries3 = Object.entries(attributes); _i4 < _Object$entries3.length; _i4++) {
-	          var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i4], 2),
-	              _key2 = _Object$entries3$_i[0],
-	              _value = _Object$entries3$_i[1];
-
-	          htmlAttributes.push("".concat(_key2, "=\"").concat(Utils.escapeHTML(_value), "\""));
-	        }
-	      }
-
-	      if (item._data && !Utils.isEmptyObject(item._data)) {
-	        for (var _i5 = 0, _Object$entries4 = Object.entries(item._data); _i5 < _Object$entries4.length; _i5++) {
-	          var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i5], 2),
-	              k = _Object$entries4$_i[0],
-	              v = _Object$entries4$_i[1];
-
-	          // ignore data-index
-	          if (k === 'index') {
-	            return;
-	          }
-
-	          data_ += " data-".concat(k, "='").concat(_typeof(v) === 'object' ? JSON.stringify(v) : v, "'");
-	        }
-	      }
-
-	      html.push('<tr', Utils.sprintf(' %s', htmlAttributes.length ? htmlAttributes.join(' ') : undefined), Utils.sprintf(' id="%s"', Array.isArray(item) ? undefined : item._id), Utils.sprintf(' class="%s"', style.classes || (Array.isArray(item) ? undefined : item._class)), " data-index=\"".concat(i, "\""), Utils.sprintf(' data-uniqueid="%s"', Utils.getItemField(item, this.options.uniqueId, false)), Utils.sprintf(' data-has-detail-view="%s"', !this.options.cardView && this.options.detailView && Utils.calculateObjectValue(null, this.options.detailFilter, [i, item]) ? 'true' : undefined), Utils.sprintf('%s', data_), '>');
-
-	      if (this.options.cardView) {
-	        html.push("<td colspan=\"".concat(this.header.fields.length, "\"><div class=\"card-views\">"));
-	      }
-
-	      if (!this.options.cardView && this.options.detailView && this.options.detailViewIcon) {
-	        html.push('<td>');
-
-	        if (Utils.calculateObjectValue(null, this.options.detailFilter, [i, item])) {
-	          html.push("\n          <a class=\"detail-icon\" href=\"#\">\n          ".concat(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.detailOpen), "\n          </a>\n        "));
-	        }
-
-	        html.push('</td>');
-	      }
-
-	      this.header.fields.forEach(function (field, j) {
-	        var text = '';
-	        var value_ = Utils.getItemField(item, field, _this7.options.escape);
-	        var value = '';
-	        var type = '';
-	        var cellStyle = {};
-	        var id_ = '';
-	        var class_ = _this7.header.classes[j];
-	        var style_ = '';
-	        var data_ = '';
-	        var rowspan_ = '';
-	        var colspan_ = '';
-	        var title_ = '';
-	        var column = _this7.columns[j];
-
-	        if (_this7.fromHtml && typeof value_ === 'undefined') {
-	          if (!column.checkbox && !column.radio) {
-	            return;
-	          }
-	        }
-
-	        if (!column.visible) {
-	          return;
-	        }
-
-	        if (_this7.options.cardView && !column.cardVisible) {
-	          return;
-	        }
-
-	        if (column.escape) {
-	          value_ = Utils.escapeHTML(value_);
-	        }
-
-	        if (csses.concat([_this7.header.styles[j]]).length) {
-	          style_ = " style=\"".concat(csses.concat([_this7.header.styles[j]]).join('; '), "\"");
-	        } // handle td's id and class
-
-
-	        if (item["_".concat(field, "_id")]) {
-	          id_ = Utils.sprintf(' id="%s"', item["_".concat(field, "_id")]);
-	        }
-
-	        if (item["_".concat(field, "_class")]) {
-	          class_ = Utils.sprintf(' class="%s"', item["_".concat(field, "_class")]);
-	        }
-
-	        if (item["_".concat(field, "_rowspan")]) {
-	          rowspan_ = Utils.sprintf(' rowspan="%s"', item["_".concat(field, "_rowspan")]);
-	        }
-
-	        if (item["_".concat(field, "_colspan")]) {
-	          colspan_ = Utils.sprintf(' colspan="%s"', item["_".concat(field, "_colspan")]);
-	        }
-
-	        if (item["_".concat(field, "_title")]) {
-	          title_ = Utils.sprintf(' title="%s"', item["_".concat(field, "_title")]);
-	        }
-
-	        cellStyle = Utils.calculateObjectValue(_this7.header, _this7.header.cellStyles[j], [value_, item, i, field], cellStyle);
-
-	        if (cellStyle.classes) {
-	          class_ = " class=\"".concat(cellStyle.classes, "\"");
-	        }
-
-	        if (cellStyle.css) {
-	          var csses_ = [];
-
-	          for (var _i6 = 0, _Object$entries5 = Object.entries(cellStyle.css); _i6 < _Object$entries5.length; _i6++) {
-	            var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i6], 2),
-	                _key3 = _Object$entries5$_i[0],
-	                _value2 = _Object$entries5$_i[1];
-
-	            csses_.push("".concat(_key3, ": ").concat(_value2));
-	          }
-
-	          style_ = " style=\"".concat(csses_.concat(_this7.header.styles[j]).join('; '), "\"");
-	        }
-
-	        value = Utils.calculateObjectValue(column, _this7.header.formatters[j], [value_, item, i, field], value_);
-
-	        if (item["_".concat(field, "_data")] && !Utils.isEmptyObject(item["_".concat(field, "_data")])) {
-	          for (var _i7 = 0, _Object$entries6 = Object.entries(item["_".concat(field, "_data")]); _i7 < _Object$entries6.length; _i7++) {
-	            var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i7], 2),
-	                _k = _Object$entries6$_i[0],
-	                _v = _Object$entries6$_i[1];
-
-	            // ignore data-index
-	            if (_k === 'index') {
-	              return;
-	            }
-
-	            data_ += " data-".concat(_k, "=\"").concat(_v, "\"");
-	          }
-	        }
-
-	        if (column.checkbox || column.radio) {
-	          type = column.checkbox ? 'checkbox' : type;
-	          type = column.radio ? 'radio' : type;
-	          var c = column['class'] || '';
-	          var isChecked = (value === true || value_ || value && value.checked) && value !== false;
-	          var isDisabled = !column.checkboxEnabled || value && value.disabled;
-	          text = [_this7.options.cardView ? "<div class=\"card-view ".concat(c, "\">") : "<td class=\"bs-checkbox ".concat(c, "\"").concat(class_).concat(style_, ">"), "<label>\n            <input\n            data-index=\"".concat(i, "\"\n            name=\"").concat(_this7.options.selectItemName, "\"\n            type=\"").concat(type, "\"\n            ").concat(Utils.sprintf('value="%s"', item[_this7.options.idField]), "\n            ").concat(Utils.sprintf('checked="%s"', isChecked ? 'checked' : undefined), "\n            ").concat(Utils.sprintf('disabled="%s"', isDisabled ? 'disabled' : undefined), " />\n            <span></span>\n            </label>"), _this7.header.formatters[j] && typeof value === 'string' ? value : '', _this7.options.cardView ? '</div>' : '</td>'].join('');
-	          item[_this7.header.stateField] = value === true || !!value_ || value && value.checked;
-	        } else {
-	          value = typeof value === 'undefined' || value === null ? _this7.options.undefinedText : value;
-
-	          if (_this7.options.cardView) {
-	            var cardTitle = _this7.options.showHeader ? "<span class=\"card-view-title\"".concat(style_, ">").concat(Utils.getFieldTitle(_this7.columns, field), "</span>") : '';
-	            text = "<div class=\"card-view\">".concat(cardTitle, "<span class=\"card-view-value\">").concat(value, "</span></div>");
-
-	            if (_this7.options.smartDisplay && value === '') {
-	              text = '<div class="card-view"></div>';
-	            }
-	          } else {
-	            text = "<td".concat(id_).concat(class_).concat(style_).concat(data_).concat(rowspan_).concat(colspan_).concat(title_, ">").concat(value, "</td>");
-	          }
-	        }
-
-	        html.push(text);
-	      });
-
-	      if (this.options.cardView) {
-	        html.push('</div></td>');
-	      }
-
-	      html.push('</tr>');
-	      return html.join('');
-	    }
-	  }, {
-	    key: "initBody",
-	    value: function initBody(fixedScroll) {
-	      var _this8 = this;
-
-	      var data = this.getData();
-	      this.trigger('pre-body', data);
-	      this.$body = this.$el.find('>tbody');
-
-	      if (!this.$body.length) {
-	        this.$body = $('<tbody></tbody>').appendTo(this.$el);
-	      } // Fix #389 Bootstrap-table-flatJSON is not working
-
-
-	      if (!this.options.pagination || this.options.sidePagination === 'server') {
-	        this.pageFrom = 1;
-	        this.pageTo = data.length;
-	      }
-
-	      var rows = [];
-	      var trFragments = $(document.createDocumentFragment());
-	      var hasTr = false;
-
-	      for (var i = this.pageFrom - 1; i < this.pageTo; i++) {
-	        var item = data[i];
-	        var tr = this.initRow(item, i, data, trFragments);
-	        hasTr = hasTr || !!tr;
-
-	        if (tr && typeof tr === 'string') {
-	          if (!this.options.virtualScroll) {
-	            trFragments.append(tr);
-	          } else {
-	            rows.push(tr);
-	          }
-	        }
-	      } // show no records
-
-
-	      if (!hasTr) {
-	        this.$body.html("<tr class=\"no-records-found\">".concat(Utils.sprintf('<td colspan="%s">%s</td>', this.$header.find('th').length, this.options.formatNoMatches()), "</tr>"));
-	      } else {
-	        if (!this.options.virtualScroll) {
-	          this.$body.html(trFragments);
-	        } else {
-	          if (this.virtualScroll) {
-	            this.virtualScroll.destroy();
-	          }
-
-	          this.virtualScroll = new VirtualScroll({
-	            rows: rows,
-	            fixedScroll: fixedScroll,
-	            scrollEl: this.$tableBody[0],
-	            contentEl: this.$body[0],
-	            itemHeight: this.options.virtualScrollItemHeight,
-	            callback: function callback() {
-	              _this8.fitHeader();
-
-	              _this8.initBodyEvent();
-	            }
-	          });
-	        }
-	      }
-
-	      if (!fixedScroll) {
-	        this.scrollTo(0);
-	      }
-
-	      this.initBodyEvent();
-	      this.updateSelected();
-	      this.initFooter();
-	      this.resetView();
-
-	      if (this.options.sidePagination !== 'server') {
-	        this.options.totalRows = data.length;
-	      }
-
-	      this.trigger('post-body', data);
-	    }
-	  }, {
-	    key: "initBodyEvent",
-	    value: function initBodyEvent() {
-	      var _this9 = this;
-
-	      // click to select by column
-	      this.$body.find('> tr[data-index] > td').off('click dblclick').on('click dblclick', function (e) {
-	        var $td = $(e.currentTarget);
-	        var $tr = $td.parent();
-	        var $cardViewArr = $(e.target).parents('.card-views').children();
-	        var $cardViewTarget = $(e.target).parents('.card-view');
-	        var rowIndex = $tr.data('index');
-	        var item = _this9.data[rowIndex];
-	        var index = _this9.options.cardView ? $cardViewArr.index($cardViewTarget) : $td[0].cellIndex;
-
-	        var fields = _this9.getVisibleFields();
-
-	        var field = fields[_this9.options.detailView && _this9.options.detailViewIcon && !_this9.options.cardView ? index - 1 : index];
-	        var column = _this9.columns[_this9.fieldsColumnsIndex[field]];
-	        var value = Utils.getItemField(item, field, _this9.options.escape);
-
-	        if ($td.find('.detail-icon').length) {
-	          return;
-	        }
-
-	        _this9.trigger(e.type === 'click' ? 'click-cell' : 'dbl-click-cell', field, value, item, $td);
-
-	        _this9.trigger(e.type === 'click' ? 'click-row' : 'dbl-click-row', item, $tr, field); // if click to select - then trigger the checkbox/radio click
-
-
-	        if (e.type === 'click' && _this9.options.clickToSelect && column.clickToSelect && !Utils.calculateObjectValue(_this9.options, _this9.options.ignoreClickToSelectOn, [e.target])) {
-	          var $selectItem = $tr.find(Utils.sprintf('[name="%s"]', _this9.options.selectItemName));
-
-	          if ($selectItem.length) {
-	            $selectItem[0].click();
-	          }
-	        }
-
-	        if (e.type === 'click' && _this9.options.detailViewByClick) {
-	          _this9.toggleDetailView(rowIndex, _this9.header.detailFormatters[_this9.fieldsColumnsIndex[field]]);
-	        }
-	      }).off('mousedown').on('mousedown', function (e) {
-	        // https://github.com/jquery/jquery/issues/1741
-	        _this9.multipleSelectRowCtrlKey = e.ctrlKey || e.metaKey;
-	        _this9.multipleSelectRowShiftKey = e.shiftKey;
-	      });
-	      this.$body.find('> tr[data-index] > td > .detail-icon').off('click').on('click', function (e) {
-	        e.preventDefault();
-
-	        _this9.toggleDetailView($(e.currentTarget).parent().parent().data('index'));
-
-	        return false;
-	      });
-	      this.$selectItem = this.$body.find(Utils.sprintf('[name="%s"]', this.options.selectItemName));
-	      this.$selectItem.off('click').on('click', function (e) {
-	        e.stopImmediatePropagation();
-	        var $this = $(e.currentTarget);
-
-	        _this9._toggleCheck($this.prop('checked'), $this.data('index'));
-	      });
-	      this.header.events.forEach(function (_events, i) {
-	        var events = _events;
-
-	        if (!events) {
-	          return;
-	        } // fix bug, if events is defined with namespace
-
-
-	        if (typeof events === 'string') {
-	          events = Utils.calculateObjectValue(null, events);
-	        }
-
-	        var field = _this9.header.fields[i];
-
-	        var fieldIndex = _this9.getVisibleFields().indexOf(field);
-
-	        if (fieldIndex === -1) {
-	          return;
-	        }
-
-	        if (_this9.options.detailView && !_this9.options.cardView) {
-	          fieldIndex += 1;
-	        }
-
-	        var _loop = function _loop(key) {
-	          if (!events.hasOwnProperty(key)) {
-	            return "continue";
-	          }
-
-	          var event = events[key];
-
-	          _this9.$body.find('>tr:not(.no-records-found)').each(function (i, tr) {
-	            var $tr = $(tr);
-	            var $td = $tr.find(_this9.options.cardView ? '.card-views>.card-view' : '>td').eq(fieldIndex);
-	            var index = key.indexOf(' ');
-	            var name = key.substring(0, index);
-	            var el = key.substring(index + 1);
-	            $td.find(el).off(name).on(name, function (e) {
-	              var index = $tr.data('index');
-	              var row = _this9.data[index];
-	              var value = row[field];
-	              event.apply(_this9, [e, value, row, index]);
-	            });
-	          });
-	        };
-
-	        for (var key in events) {
-	          var _ret = _loop(key);
-
-	          if (_ret === "continue") continue;
-	        }
-	      });
-	    }
-	  }, {
-	    key: "initServer",
-	    value: function initServer(silent, query, url) {
-	      var _this10 = this;
-
-	      var data = {};
-	      var index = this.header.fields.indexOf(this.options.sortName);
-	      var params = {
-	        searchText: this.searchText,
-	        sortName: this.options.sortName,
-	        sortOrder: this.options.sortOrder
-	      };
-
-	      if (this.header.sortNames[index]) {
-	        params.sortName = this.header.sortNames[index];
-	      }
-
-	      if (this.options.pagination && this.options.sidePagination === 'server') {
-	        params.pageSize = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize;
-	        params.pageNumber = this.options.pageNumber;
-	      }
-
-	      if (!(url || this.options.url) && !this.options.ajax) {
-	        return;
-	      }
-
-	      if (this.options.queryParamsType === 'limit') {
-	        params = {
-	          search: params.searchText,
-	          sort: params.sortName,
-	          order: params.sortOrder
-	        };
-
-	        if (this.options.pagination && this.options.sidePagination === 'server') {
-	          params.offset = this.options.pageSize === this.options.formatAllRows() ? 0 : this.options.pageSize * (this.options.pageNumber - 1);
-	          params.limit = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize;
-
-	          if (params.limit === 0) {
-	            delete params.limit;
-	          }
-	        }
-	      }
-
-	      if (!Utils.isEmptyObject(this.filterColumnsPartial)) {
-	        params.filter = JSON.stringify(this.filterColumnsPartial, null);
-	      }
-
-	      $.extend(params, query || {});
-	      data = Utils.calculateObjectValue(this.options, this.options.queryParams, [params], data); // false to stop request
-
-	      if (data === false) {
-	        return;
-	      }
-
-	      if (!silent) {
-	        this.showLoading();
-	      }
-
-	      var request = $.extend({}, Utils.calculateObjectValue(null, this.options.ajaxOptions), {
-	        type: this.options.method,
-	        url: url || this.options.url,
-	        data: this.options.contentType === 'application/json' && this.options.method === 'post' ? JSON.stringify(data) : data,
-	        cache: this.options.cache,
-	        contentType: this.options.contentType,
-	        dataType: this.options.dataType,
-	        success: function success(_res, textStatus, jqXHR) {
-	          var res = Utils.calculateObjectValue(_this10.options, _this10.options.responseHandler, [_res, jqXHR], _res);
-
-	          _this10.load(res);
-
-	          _this10.trigger('load-success', res, jqXHR && jqXHR.status, jqXHR);
-
-	          if (!silent) {
-	            _this10.hideLoading();
-	          }
-
-	          if (_this10.options.sidePagination === 'server' && res[_this10.options.totalField] > 0 && !res[_this10.options.dataField].length) {
-	            _this10.updatePagination();
-	          }
-	        },
-	        error: function error(jqXHR) {
-	          var data = [];
-
-	          if (_this10.options.sidePagination === 'server') {
-	            data = {};
-	            data[_this10.options.totalField] = 0;
-	            data[_this10.options.dataField] = [];
-	          }
-
-	          _this10.load(data);
-
-	          _this10.trigger('load-error', jqXHR && jqXHR.status, jqXHR);
-
-	          if (!silent) _this10.$tableLoading.hide();
-	        }
-	      });
-
-	      if (this.options.ajax) {
-	        Utils.calculateObjectValue(this, this.options.ajax, [request], null);
-	      } else {
-	        if (this._xhr && this._xhr.readyState !== 4) {
-	          this._xhr.abort();
-	        }
-
-	        this._xhr = $.ajax(request);
-	      }
-
-	      return data;
-	    }
-	  }, {
-	    key: "initSearchText",
-	    value: function initSearchText() {
-	      if (this.options.search) {
-	        this.searchText = '';
-
-	        if (this.options.searchText !== '') {
-	          var $search = this.$toolbar.find('.search input');
-	          $search.val(this.options.searchText);
-	          this.onSearch({
-	            currentTarget: $search,
-	            firedByInitSearchText: true
-	          });
-	        }
-	      }
-	    }
-	  }, {
-	    key: "getCaret",
-	    value: function getCaret() {
-	      var _this11 = this;
-
-	      this.$header.find('th').each(function (i, th) {
-	        $(th).find('.sortable').removeClass('desc asc').addClass($(th).data('field') === _this11.options.sortName ? _this11.options.sortOrder : 'both');
-	      });
-	    }
-	  }, {
-	    key: "updateSelected",
-	    value: function updateSelected() {
-	      var checkAll = this.$selectItem.filter(':enabled').length && this.$selectItem.filter(':enabled').length === this.$selectItem.filter(':enabled').filter(':checked').length;
-	      this.$selectAll.add(this.$selectAll_).prop('checked', checkAll);
-	      this.$selectItem.each(function (i, el) {
-	        $(el).closest('tr')[$(el).prop('checked') ? 'addClass' : 'removeClass']('selected');
-	      });
-	    }
-	  }, {
-	    key: "updateRows",
-	    value: function updateRows() {
-	      var _this12 = this;
-
-	      this.$selectItem.each(function (i, el) {
-	        _this12.data[$(el).data('index')][_this12.header.stateField] = $(el).prop('checked');
-	      });
-	    }
-	  }, {
-	    key: "resetRows",
-	    value: function resetRows() {
-	      var _iteratorNormalCompletion2 = true;
-	      var _didIteratorError2 = false;
-	      var _iteratorError2 = undefined;
-
-	      try {
-	        for (var _iterator2 = this.data[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-	          var row = _step2.value;
-	          this.$selectAll.prop('checked', false);
-	          this.$selectItem.prop('checked', false);
-
-	          if (this.header.stateField) {
-	            row[this.header.stateField] = false;
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError2 = true;
-	        _iteratorError2 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
-	            _iterator2.return();
-	          }
-	        } finally {
-	          if (_didIteratorError2) {
-	            throw _iteratorError2;
-	          }
-	        }
-	      }
-
-	      this.initHiddenRows();
-	    }
-	  }, {
-	    key: "trigger",
-	    value: function trigger(_name) {
-	      var _this$options;
-
-	      var name = "".concat(_name, ".bs.table");
-
-	      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key4 = 1; _key4 < _len; _key4++) {
-	        args[_key4 - 1] = arguments[_key4];
-	      }
-
-	      (_this$options = this.options)[BootstrapTable.EVENTS[name]].apply(_this$options, args);
-
-	      this.$el.trigger($.Event(name), args);
-	      this.options.onAll(name, args);
-	      this.$el.trigger($.Event('all.bs.table'), [name, args]);
-	    }
-	  }, {
-	    key: "resetHeader",
-	    value: function resetHeader() {
-	      var _this13 = this;
-
-	      // fix #61: the hidden table reset header bug.
-	      // fix bug: get $el.css('width') error sometime (height = 500)
-	      clearTimeout(this.timeoutId_);
-	      this.timeoutId_ = setTimeout(function () {
-	        return _this13.fitHeader();
-	      }, this.$el.is(':hidden') ? 100 : 0);
-	    }
-	  }, {
-	    key: "fitHeader",
-	    value: function fitHeader() {
-	      var _this14 = this;
-
-	      if (this.$el.is(':hidden')) {
-	        this.timeoutId_ = setTimeout(function () {
-	          return _this14.fitHeader();
-	        }, 100);
-	        return;
-	      }
-
-	      var fixedBody = this.$tableBody.get(0);
-	      var scrollWidth = fixedBody.scrollWidth > fixedBody.clientWidth && fixedBody.scrollHeight > fixedBody.clientHeight + this.$header.outerHeight() ? Utils.getScrollBarWidth() : 0;
-	      this.$el.css('margin-top', -this.$header.outerHeight());
-	      var focused = $(':focus');
-
-	      if (focused.length > 0) {
-	        var $th = focused.parents('th');
-
-	        if ($th.length > 0) {
-	          var dataField = $th.attr('data-field');
-
-	          if (dataField !== undefined) {
-	            var $headerTh = this.$header.find("[data-field='".concat(dataField, "']"));
-
-	            if ($headerTh.length > 0) {
-	              $headerTh.find(':input').addClass('focus-temp');
-	            }
-	          }
-	        }
-	      }
-
-	      this.$header_ = this.$header.clone(true, true);
-	      this.$selectAll_ = this.$header_.find('[name="btSelectAll"]');
-	      this.$tableHeader.css('margin-right', scrollWidth).find('table').css('width', this.$el.outerWidth()).html('').attr('class', this.$el.attr('class')).append(this.$header_);
-	      this.$tableLoading.css('width', this.$el.outerWidth());
-	      var focusedTemp = $('.focus-temp:visible:eq(0)');
-
-	      if (focusedTemp.length > 0) {
-	        focusedTemp.focus();
-	        this.$header.find('.focus-temp').removeClass('focus-temp');
-	      } // fix bug: $.data() is not working as expected after $.append()
-
-
-	      this.$header.find('th[data-field]').each(function (i, el) {
-	        _this14.$header_.find(Utils.sprintf('th[data-field="%s"]', $(el).data('field'))).data($(el).data());
-	      });
-	      var visibleFields = this.getVisibleFields();
-	      var $ths = this.$header_.find('th');
-	      var $tr = this.$body.find('>tr:not(.no-records-found,.virtual-scroll-top)').eq(0);
-
-	      while ($tr.length && $tr.find('>td[colspan]:not([colspan="1"])').length) {
-	        $tr = $tr.next();
-	      }
-
-	      $tr.find('> *').each(function (i, el) {
-	        var $this = $(el);
-	        var index = i;
-
-	        if (_this14.options.detailView && _this14.options.detailViewIcon && !_this14.options.cardView) {
-	          if (i === 0) {
-	            var $thDetail = $ths.filter('.detail');
-
-	            var _zoomWidth = $thDetail.innerWidth() - $thDetail.find('.fht-cell').width();
-
-	            $thDetail.find('.fht-cell').width($this.innerWidth() - _zoomWidth);
-	          }
-
-	          index = i - 1;
-	        }
-
-	        if (index === -1) {
-	          return;
-	        }
-
-	        var $th = _this14.$header_.find(Utils.sprintf('th[data-field="%s"]', visibleFields[index]));
-
-	        if ($th.length > 1) {
-	          $th = $($ths[$this[0].cellIndex]);
-	        }
-
-	        var zoomWidth = $th.innerWidth() - $th.find('.fht-cell').width();
-	        $th.find('.fht-cell').width($this.innerWidth() - zoomWidth);
-	      });
-	      this.horizontalScroll();
-	      this.trigger('post-header');
-	    }
-	  }, {
-	    key: "initFooter",
-	    value: function initFooter() {
-	      if (!this.options.showFooter || this.options.cardView) {
-	        // do nothing
-	        return;
-	      }
-
-	      var data = this.getData();
-	      var html = [];
-
-	      if (!this.options.cardView && this.options.detailView && this.options.detailViewIcon) {
-	        html.push('<th class="detail"><div class="th-inner"></div><div class="fht-cell"></div></th>');
-	      }
-
-	      var _iteratorNormalCompletion3 = true;
-	      var _didIteratorError3 = false;
-	      var _iteratorError3 = undefined;
-
-	      try {
-	        for (var _iterator3 = this.columns[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-	          var column = _step3.value;
-	          var falign = '';
-	          var valign = '';
-	          var csses = [];
-	          var style = {};
-	          var class_ = Utils.sprintf(' class="%s"', column['class']);
-
-	          if (!column.visible) {
-	            continue;
-	          }
-
-	          if (this.options.cardView && !column.cardVisible) {
-	            return;
-	          }
-
-	          falign = Utils.sprintf('text-align: %s; ', column.falign ? column.falign : column.align);
-	          valign = Utils.sprintf('vertical-align: %s; ', column.valign);
-	          style = Utils.calculateObjectValue(null, this.options.footerStyle, [column]);
-
-	          if (style && style.css) {
-	            for (var _i8 = 0, _Object$entries7 = Object.entries(style.css); _i8 < _Object$entries7.length; _i8++) {
-	              var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i8], 2),
-	                  key = _Object$entries7$_i[0],
-	                  value = _Object$entries7$_i[1];
-
-	              csses.push("".concat(key, ": ").concat(value));
-	            }
-	          }
-
-	          if (style && style.classes) {
-	            class_ = Utils.sprintf(' class="%s"', column['class'] ? [column['class'], style.classes].join(' ') : style.classes);
-	          }
-
-	          html.push('<th', class_, Utils.sprintf(' style="%s"', falign + valign + csses.concat().join('; ')), '>');
-	          html.push('<div class="th-inner">');
-	          html.push(Utils.calculateObjectValue(column, column.footerFormatter, [data], this.footerData[0] && this.footerData[0][column.field] || ''));
-	          html.push('</div>');
-	          html.push('<div class="fht-cell"></div>');
-	          html.push('</div>');
-	          html.push('</th>');
-	        }
-	      } catch (err) {
-	        _didIteratorError3 = true;
-	        _iteratorError3 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
-	            _iterator3.return();
-	          }
-	        } finally {
-	          if (_didIteratorError3) {
-	            throw _iteratorError3;
-	          }
-	        }
-	      }
-
-	      if (!this.options.height && !this.$tableFooter.length) {
-	        this.$el.append('<tfoot><tr></tr></tfoot>');
-	        this.$tableFooter = this.$el.find('tfoot');
-	      }
-
-	      this.$tableFooter.find('tr').html(html.join(''));
-	      this.trigger('post-footer', this.$tableFooter);
-	    }
-	  }, {
-	    key: "fitFooter",
-	    value: function fitFooter() {
-	      var _this15 = this;
-
-	      if (this.$el.is(':hidden')) {
-	        setTimeout(function () {
-	          return _this15.fitFooter();
-	        }, 100);
-	        return;
-	      }
-
-	      var fixedBody = this.$tableBody.get(0);
-	      var scrollWidth = fixedBody.scrollWidth > fixedBody.clientWidth && fixedBody.scrollHeight > fixedBody.clientHeight + this.$header.outerHeight() ? Utils.getScrollBarWidth() : 0;
-	      this.$tableFooter.css('margin-right', scrollWidth).find('table').css('width', this.$el.outerWidth()).attr('class', this.$el.attr('class'));
-	      var visibleFields = this.getVisibleFields();
-	      var $ths = this.$tableFooter.find('th');
-	      var $tr = this.$body.find('>tr:first-child:not(.no-records-found)');
-
-	      while ($tr.length && $tr.find('>td[colspan]:not([colspan="1"])').length) {
-	        $tr = $tr.next();
-	      }
-
-	      $tr.find('> *').each(function (i, el) {
-	        var $this = $(el);
-	        var index = i;
-
-	        if (_this15.options.detailView && !_this15.options.cardView) {
-	          if (i === 0) {
-	            var $thDetail = $ths.filter('.detail');
-
-	            var _zoomWidth2 = $thDetail.innerWidth() - $thDetail.find('.fht-cell').width();
-
-	            $thDetail.find('.fht-cell').width($this.innerWidth() - _zoomWidth2);
-	          }
-
-	          index = i - 1;
-	        }
-
-	        if (index === -1) {
-	          return;
-	        }
-
-	        var $th = $ths.eq(i);
-	        var zoomWidth = $th.innerWidth() - $th.find('.fht-cell').width();
-	        $th.find('.fht-cell').width($this.innerWidth() - zoomWidth);
-	      });
-	      this.horizontalScroll();
-	    }
-	  }, {
-	    key: "horizontalScroll",
-	    value: function horizontalScroll() {
-	      var _this16 = this;
-
-	      // horizontal scroll event
-	      // TODO: it's probably better improving the layout than binding to scroll event
-	      this.$tableBody.off('scroll').on('scroll', function () {
-	        var scrollLeft = _this16.$tableBody.scrollLeft();
-
-	        if (_this16.options.showHeader && _this16.options.height) {
-	          _this16.$tableHeader.scrollLeft(scrollLeft);
-	        }
-
-	        if (_this16.options.showFooter && !_this16.options.cardView) {
-	          _this16.$tableFooter.scrollLeft(scrollLeft);
-	        }
-
-	        _this16.trigger('scroll-body', _this16.$tableBody);
-	      });
-	    }
-	  }, {
-	    key: "getVisibleFields",
-	    value: function getVisibleFields() {
-	      var visibleFields = [];
-	      var _iteratorNormalCompletion4 = true;
-	      var _didIteratorError4 = false;
-	      var _iteratorError4 = undefined;
-
-	      try {
-	        for (var _iterator4 = this.header.fields[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-	          var field = _step4.value;
-	          var column = this.columns[this.fieldsColumnsIndex[field]];
-
-	          if (!column || !column.visible) {
-	            continue;
-	          }
-
-	          visibleFields.push(field);
-	        }
-	      } catch (err) {
-	        _didIteratorError4 = true;
-	        _iteratorError4 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
-	            _iterator4.return();
-	          }
-	        } finally {
-	          if (_didIteratorError4) {
-	            throw _iteratorError4;
-	          }
-	        }
-	      }
-
-	      return visibleFields;
-	    }
-	  }, {
-	    key: "initHiddenRows",
-	    value: function initHiddenRows() {
-	      this.hiddenRows = [];
-	    } // PUBLIC FUNCTION DEFINITION
-	    // =======================
-
-	  }, {
-	    key: "getOptions",
-	    value: function getOptions() {
-	      // deep copy and remove data
-	      var options = $.extend({}, this.options);
-	      delete options.data;
-	      return $.extend(true, {}, options);
-	    }
-	  }, {
-	    key: "refreshOptions",
-	    value: function refreshOptions(options) {
-	      // If the objects are equivalent then avoid the call of destroy / init methods
-	      if (Utils.compareObjects(this.options, options, true)) {
-	        return;
-	      }
-
-	      this.options = $.extend(this.options, options);
-	      this.trigger('refresh-options', this.options);
-	      this.destroy();
-	      this.init();
-	    }
-	  }, {
-	    key: "getData",
-	    value: function getData(params) {
-	      var data = this.options.data;
-
-	      if ((this.searchText || this.options.customSearch || this.options.sortName || !Utils.isEmptyObject(this.filterColumns) || !Utils.isEmptyObject(this.filterColumnsPartial)) && (!params || !params.unfiltered)) {
-	        data = this.data;
-	      }
-
-	      if (params && params.useCurrentPage) {
-	        data = data.slice(this.pageFrom - 1, this.pageTo);
-	      }
-
-	      if (params && !params.includeHiddenRows) {
-	        var hiddenRows = this.getHiddenRows();
-	        data = data.filter(function (row) {
-	          return Utils.findIndex(hiddenRows, row) === -1;
-	        });
-	      }
-
-	      return data;
-	    }
-	  }, {
-	    key: "getSelections",
-	    value: function getSelections() {
-	      var _this17 = this;
-
-	      // fix #2424: from html with checkbox
-	      return this.data.filter(function (row) {
-	        return row[_this17.header.stateField] === true;
-	      });
-	    }
-	  }, {
-	    key: "getAllSelections",
-	    value: function getAllSelections() {
-	      var _this18 = this;
-
-	      return this.options.data.filter(function (row) {
-	        return row[_this18.header.stateField] === true;
-	      });
-	    }
-	  }, {
-	    key: "load",
-	    value: function load(_data) {
-	      var fixedScroll = false;
-	      var data = _data; // #431: support pagination
-
-	      if (this.options.pagination && this.options.sidePagination === 'server') {
-	        this.options.totalRows = data[this.options.totalField];
-	      }
-
-	      if (this.options.pagination && this.options.sidePagination === 'server') {
-	        this.options.totalNotFiltered = data[this.options.totalNotFilteredField];
-	      }
-
-	      fixedScroll = data.fixedScroll;
-	      data = Array.isArray(data) ? data : data[this.options.dataField];
-	      this.initData(data);
-	      this.initSearch();
-	      this.initPagination();
-	      this.initBody(fixedScroll);
-	    }
-	  }, {
-	    key: "append",
-	    value: function append(data) {
-	      this.initData(data, 'append');
-	      this.initSearch();
-	      this.initPagination();
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "prepend",
-	    value: function prepend(data) {
-	      this.initData(data, 'prepend');
-	      this.initSearch();
-	      this.initPagination();
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "remove",
-	    value: function remove(params) {
-	      var len = this.options.data.length;
-	      var i;
-	      var row;
-
-	      if (!params.hasOwnProperty('field') || !params.hasOwnProperty('values')) {
-	        return;
-	      }
-
-	      for (i = len - 1; i >= 0; i--) {
-	        row = this.options.data[i];
-
-	        if (!row.hasOwnProperty(params.field)) {
-	          continue;
-	        }
-
-	        if (params.values.includes(row[params.field])) {
-	          this.options.data.splice(i, 1);
-
-	          if (this.options.sidePagination === 'server') {
-	            this.options.totalRows -= 1;
-	          }
-	        }
-	      }
-
-	      if (len === this.options.data.length) {
-	        return;
-	      }
-
-	      this.initSearch();
-	      this.initPagination();
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "removeAll",
-	    value: function removeAll() {
-	      if (this.options.data.length > 0) {
-	        this.options.data.splice(0, this.options.data.length);
-	        this.initSearch();
-	        this.initPagination();
-	        this.initBody(true);
-	      }
-	    }
-	  }, {
-	    key: "insertRow",
-	    value: function insertRow(params) {
-	      if (!params.hasOwnProperty('index') || !params.hasOwnProperty('row')) {
-	        return;
-	      }
-
-	      this.options.data.splice(params.index, 0, params.row);
-	      this.initSearch();
-	      this.initPagination();
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "updateRow",
-	    value: function updateRow(params) {
-	      var allParams = Array.isArray(params) ? params : [params];
-	      var _iteratorNormalCompletion5 = true;
-	      var _didIteratorError5 = false;
-	      var _iteratorError5 = undefined;
-
-	      try {
-	        for (var _iterator5 = allParams[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
-	          var _params = _step5.value;
-
-	          if (!_params.hasOwnProperty('index') || !_params.hasOwnProperty('row')) {
-	            continue;
-	          }
-
-	          $.extend(this.options.data[_params.index], _params.row);
-
-	          if (_params.hasOwnProperty('replace') && _params.replace) {
-	            this.options.data[_params.index] = _params.row;
-	          } else {
-	            $.extend(this.options.data[_params.index], _params.row);
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError5 = true;
-	        _iteratorError5 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion5 && _iterator5.return != null) {
-	            _iterator5.return();
-	          }
-	        } finally {
-	          if (_didIteratorError5) {
-	            throw _iteratorError5;
-	          }
-	        }
-	      }
-
-	      this.initSearch();
-	      this.initPagination();
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "getRowByUniqueId",
-	    value: function getRowByUniqueId(_id) {
-	      var uniqueId = this.options.uniqueId;
-	      var len = this.options.data.length;
-	      var id = _id;
-	      var dataRow = null;
-	      var i;
-	      var row;
-	      var rowUniqueId;
-
-	      for (i = len - 1; i >= 0; i--) {
-	        row = this.options.data[i];
-
-	        if (row.hasOwnProperty(uniqueId)) {
-	          // uniqueId is a column
-	          rowUniqueId = row[uniqueId];
-	        } else if (row._data && row._data.hasOwnProperty(uniqueId)) {
-	          // uniqueId is a row data property
-	          rowUniqueId = row._data[uniqueId];
-	        } else {
-	          continue;
-	        }
-
-	        if (typeof rowUniqueId === 'string') {
-	          id = id.toString();
-	        } else if (typeof rowUniqueId === 'number') {
-	          if (Number(rowUniqueId) === rowUniqueId && rowUniqueId % 1 === 0) {
-	            id = parseInt(id);
-	          } else if (rowUniqueId === Number(rowUniqueId) && rowUniqueId !== 0) {
-	            id = parseFloat(id);
-	          }
-	        }
-
-	        if (rowUniqueId === id) {
-	          dataRow = row;
-	          break;
-	        }
-	      }
-
-	      return dataRow;
-	    }
-	  }, {
-	    key: "updateByUniqueId",
-	    value: function updateByUniqueId(params) {
-	      var allParams = Array.isArray(params) ? params : [params];
-	      var _iteratorNormalCompletion6 = true;
-	      var _didIteratorError6 = false;
-	      var _iteratorError6 = undefined;
-
-	      try {
-	        for (var _iterator6 = allParams[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
-	          var _params2 = _step6.value;
-
-	          if (!_params2.hasOwnProperty('id') || !_params2.hasOwnProperty('row')) {
-	            continue;
-	          }
-
-	          var rowId = this.options.data.indexOf(this.getRowByUniqueId(_params2.id));
-
-	          if (rowId === -1) {
-	            continue;
-	          }
-
-	          if (_params2.hasOwnProperty('replace') && _params2.replace) {
-	            this.options.data[rowId] = _params2.row;
-	          } else {
-	            $.extend(this.options.data[rowId], _params2.row);
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError6 = true;
-	        _iteratorError6 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion6 && _iterator6.return != null) {
-	            _iterator6.return();
-	          }
-	        } finally {
-	          if (_didIteratorError6) {
-	            throw _iteratorError6;
-	          }
-	        }
-	      }
-
-	      this.initSearch();
-	      this.initPagination();
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "removeByUniqueId",
-	    value: function removeByUniqueId(id) {
-	      var len = this.options.data.length;
-	      var row = this.getRowByUniqueId(id);
-
-	      if (row) {
-	        this.options.data.splice(this.options.data.indexOf(row), 1);
-	      }
-
-	      if (len === this.options.data.length) {
-	        return;
-	      }
-
-	      this.initSearch();
-	      this.initPagination();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "updateCell",
-	    value: function updateCell(params) {
-	      if (!params.hasOwnProperty('index') || !params.hasOwnProperty('field') || !params.hasOwnProperty('value')) {
-	        return;
-	      }
-
-	      this.data[params.index][params.field] = params.value;
-
-	      if (params.reinit === false) {
-	        return;
-	      }
-
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "updateCellByUniqueId",
-	    value: function updateCellByUniqueId(params) {
-	      var _this19 = this;
-
-	      if (!params.hasOwnProperty('id') || !params.hasOwnProperty('field') || !params.hasOwnProperty('value')) {
-	        return;
-	      }
-
-	      var allParams = Array.isArray(params) ? params : [params];
-	      allParams.forEach(function (_ref6) {
-	        var id = _ref6.id,
-	            field = _ref6.field,
-	            value = _ref6.value;
-
-	        var rowId = _this19.options.data.indexOf(_this19.getRowByUniqueId(id));
-
-	        if (rowId === -1) {
-	          return;
-	        }
-
-	        _this19.options.data[rowId][field] = value;
-	      });
-
-	      if (params.reinit === false) {
-	        return;
-	      }
-
-	      this.initSort();
-	      this.initBody(true);
-	    }
-	  }, {
-	    key: "showRow",
-	    value: function showRow(params) {
-	      this._toggleRow(params, true);
-	    }
-	  }, {
-	    key: "hideRow",
-	    value: function hideRow(params) {
-	      this._toggleRow(params, false);
-	    }
-	  }, {
-	    key: "_toggleRow",
-	    value: function _toggleRow(params, visible) {
-	      var row;
-
-	      if (params.hasOwnProperty('index')) {
-	        row = this.getData()[params.index];
-	      } else if (params.hasOwnProperty('uniqueId')) {
-	        row = this.getRowByUniqueId(params.uniqueId);
-	      }
-
-	      if (!row) {
-	        return;
-	      }
-
-	      var index = Utils.findIndex(this.hiddenRows, row);
-
-	      if (!visible && index === -1) {
-	        this.hiddenRows.push(row);
-	      } else if (visible && index > -1) {
-	        this.hiddenRows.splice(index, 1);
-	      }
-
-	      if (visible) {
-	        this.updatePagination();
-	      } else {
-	        this.initBody(true);
-	        this.initPagination();
-	      }
-	    }
-	  }, {
-	    key: "getHiddenRows",
-	    value: function getHiddenRows(show) {
-	      if (show) {
-	        this.initHiddenRows();
-	        this.initBody(true);
-	        return;
-	      }
-
-	      var data = this.getData();
-	      var rows = [];
-	      var _iteratorNormalCompletion7 = true;
-	      var _didIteratorError7 = false;
-	      var _iteratorError7 = undefined;
-
-	      try {
-	        for (var _iterator7 = data[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
-	          var row = _step7.value;
-
-	          if (this.hiddenRows.includes(row)) {
-	            rows.push(row);
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError7 = true;
-	        _iteratorError7 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion7 && _iterator7.return != null) {
-	            _iterator7.return();
-	          }
-	        } finally {
-	          if (_didIteratorError7) {
-	            throw _iteratorError7;
-	          }
-	        }
-	      }
-
-	      this.hiddenRows = rows;
-	      return rows;
-	    }
-	  }, {
-	    key: "showColumn",
-	    value: function showColumn(field) {
-	      var _this20 = this;
-
-	      var fields = Array.isArray(field) ? field : [field];
-	      fields.forEach(function (field) {
-	        _this20._toggleColumn(_this20.fieldsColumnsIndex[field], true, true);
-	      });
-	    }
-	  }, {
-	    key: "hideColumn",
-	    value: function hideColumn(field) {
-	      var _this21 = this;
-
-	      var fields = Array.isArray(field) ? field : [field];
-	      fields.forEach(function (field) {
-	        _this21._toggleColumn(_this21.fieldsColumnsIndex[field], false, true);
-	      });
-	    }
-	  }, {
-	    key: "_toggleColumn",
-	    value: function _toggleColumn(index, checked, needUpdate) {
-	      if (index === -1 || this.columns[index].visible === checked) {
-	        return;
-	      }
-
-	      this.columns[index].visible = checked;
-	      this.initHeader();
-	      this.initSearch();
-	      this.initPagination();
-	      this.initBody();
-
-	      if (this.options.showColumns) {
-	        var $items = this.$toolbar.find('.keep-open input:not(".toggle-all")').prop('disabled', false);
-
-	        if (needUpdate) {
-	          $items.filter(Utils.sprintf('[value="%s"]', index)).prop('checked', checked);
-	        }
-
-	        if ($items.filter(':checked').length <= this.options.minimumCountColumns) {
-	          $items.filter(':checked').prop('disabled', true);
-	        }
-	      }
-	    }
-	  }, {
-	    key: "getVisibleColumns",
-	    value: function getVisibleColumns() {
-	      var _this22 = this;
-
-	      return this.columns.filter(function (column) {
-	        return column.visible && !_this22.isSelectionColumn(column);
-	      });
-	    }
-	  }, {
-	    key: "getHiddenColumns",
-	    value: function getHiddenColumns() {
-	      return this.columns.filter(function (_ref7) {
-	        var visible = _ref7.visible;
-	        return !visible;
-	      });
-	    }
-	  }, {
-	    key: "isSelectionColumn",
-	    value: function isSelectionColumn(column) {
-	      return column.radio || column.checkbox;
-	    }
-	  }, {
-	    key: "showAllColumns",
-	    value: function showAllColumns() {
-	      this._toggleAllColumns(true);
-	    }
-	  }, {
-	    key: "hideAllColumns",
-	    value: function hideAllColumns() {
-	      this._toggleAllColumns(false);
-	    }
-	  }, {
-	    key: "_toggleAllColumns",
-	    value: function _toggleAllColumns(visible) {
-	      var _this23 = this;
-
-	      var _iteratorNormalCompletion8 = true;
-	      var _didIteratorError8 = false;
-	      var _iteratorError8 = undefined;
-
-	      try {
-	        for (var _iterator8 = this.columns.slice().reverse()[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
-	          var column = _step8.value;
-
-	          if (column.switchable) {
-	            if (!visible && this.options.showColumns && this.getVisibleColumns().length === this.options.minimumCountColumns) {
-	              continue;
-	            }
-
-	            column.visible = visible;
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError8 = true;
-	        _iteratorError8 = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion8 && _iterator8.return != null) {
-	            _iterator8.return();
-	          }
-	        } finally {
-	          if (_didIteratorError8) {
-	            throw _iteratorError8;
-	          }
-	        }
-	      }
-
-	      this.initHeader();
-	      this.initSearch();
-	      this.initPagination();
-	      this.initBody();
-
-	      if (this.options.showColumns) {
-	        var $items = this.$toolbar.find('.keep-open input[type="checkbox"]:not(".toggle-all")').prop('disabled', false);
-
-	        if (visible) {
-	          $items.prop('checked', visible);
-	        } else {
-	          $items.get().reverse().forEach(function (item) {
-	            if ($items.filter(':checked').length > _this23.options.minimumCountColumns) {
-	              $(item).prop('checked', visible);
-	            }
-	          });
-	        }
-
-	        if ($items.filter(':checked').length <= this.options.minimumCountColumns) {
-	          $items.filter(':checked').prop('disabled', true);
-	        }
-	      }
-	    }
-	  }, {
-	    key: "mergeCells",
-	    value: function mergeCells(options) {
-	      var row = options.index;
-	      var col = this.getVisibleFields().indexOf(options.field);
-	      var rowspan = options.rowspan || 1;
-	      var colspan = options.colspan || 1;
-	      var i;
-	      var j;
-	      var $tr = this.$body.find('>tr');
-
-	      if (this.options.detailView && !this.options.cardView) {
-	        col += 1;
-	      }
-
-	      var $td = $tr.eq(row).find('>td').eq(col);
-
-	      if (row < 0 || col < 0 || row >= this.data.length) {
-	        return;
-	      }
-
-	      for (i = row; i < row + rowspan; i++) {
-	        for (j = col; j < col + colspan; j++) {
-	          $tr.eq(i).find('>td').eq(j).hide();
-	        }
-	      }
-
-	      $td.attr('rowspan', rowspan).attr('colspan', colspan).show();
-	    }
-	  }, {
-	    key: "checkAll",
-	    value: function checkAll() {
-	      this._toggleCheckAll(true);
-	    }
-	  }, {
-	    key: "uncheckAll",
-	    value: function uncheckAll() {
-	      this._toggleCheckAll(false);
-	    }
-	  }, {
-	    key: "_toggleCheckAll",
-	    value: function _toggleCheckAll(checked) {
-	      var rowsBefore = this.getSelections();
-	      this.$selectAll.add(this.$selectAll_).prop('checked', checked);
-	      this.$selectItem.filter(':enabled').prop('checked', checked);
-	      this.updateRows();
-	      var rowsAfter = this.getSelections();
-
-	      if (checked) {
-	        this.trigger('check-all', rowsAfter, rowsBefore);
-	        return;
-	      }
-
-	      this.trigger('uncheck-all', rowsAfter, rowsBefore);
-	    }
-	  }, {
-	    key: "checkInvert",
-	    value: function checkInvert() {
-	      var $items = this.$selectItem.filter(':enabled');
-	      var checked = $items.filter(':checked');
-	      $items.each(function (i, el) {
-	        $(el).prop('checked', !$(el).prop('checked'));
-	      });
-	      this.updateRows();
-	      this.updateSelected();
-	      this.trigger('uncheck-some', checked);
-	      checked = this.getSelections();
-	      this.trigger('check-some', checked);
-	    }
-	  }, {
-	    key: "check",
-	    value: function check(index) {
-	      this._toggleCheck(true, index);
-	    }
-	  }, {
-	    key: "uncheck",
-	    value: function uncheck(index) {
-	      this._toggleCheck(false, index);
-	    }
-	  }, {
-	    key: "_toggleCheck",
-	    value: function _toggleCheck(checked, index) {
-	      var $el = this.$selectItem.filter("[data-index=\"".concat(index, "\"]"));
-	      var row = this.data[index];
-
-	      if ($el.is(':radio') || this.options.singleSelect || this.options.multipleSelectRow && !this.multipleSelectRowCtrlKey && !this.multipleSelectRowShiftKey) {
-	        var _iteratorNormalCompletion9 = true;
-	        var _didIteratorError9 = false;
-	        var _iteratorError9 = undefined;
-
-	        try {
-	          for (var _iterator9 = this.options.data[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
-	            var r = _step9.value;
-	            r[this.header.stateField] = false;
-	          }
-	        } catch (err) {
-	          _didIteratorError9 = true;
-	          _iteratorError9 = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion9 && _iterator9.return != null) {
-	              _iterator9.return();
-	            }
-	          } finally {
-	            if (_didIteratorError9) {
-	              throw _iteratorError9;
-	            }
-	          }
-	        }
-
-	        this.$selectItem.filter(':checked').not($el).prop('checked', false);
-	      }
-
-	      row[this.header.stateField] = checked;
-
-	      if (this.options.multipleSelectRow) {
-	        if (this.multipleSelectRowShiftKey && this.multipleSelectRowLastSelectedIndex >= 0) {
-	          var indexes = [this.multipleSelectRowLastSelectedIndex, index].sort();
-
-	          for (var i = indexes[0] + 1; i < indexes[1]; i++) {
-	            this.data[i][this.header.stateField] = true;
-	            this.$selectItem.filter("[data-index=\"".concat(i, "\"]")).prop('checked', true);
-	          }
-	        }
-
-	        this.multipleSelectRowCtrlKey = false;
-	        this.multipleSelectRowShiftKey = false;
-	        this.multipleSelectRowLastSelectedIndex = checked ? index : -1;
-	      }
-
-	      $el.prop('checked', checked);
-	      this.updateSelected();
-	      this.trigger(checked ? 'check' : 'uncheck', this.data[index], $el);
-	    }
-	  }, {
-	    key: "checkBy",
-	    value: function checkBy(obj) {
-	      this._toggleCheckBy(true, obj);
-	    }
-	  }, {
-	    key: "uncheckBy",
-	    value: function uncheckBy(obj) {
-	      this._toggleCheckBy(false, obj);
-	    }
-	  }, {
-	    key: "_toggleCheckBy",
-	    value: function _toggleCheckBy(checked, obj) {
-	      var _this24 = this;
-
-	      if (!obj.hasOwnProperty('field') || !obj.hasOwnProperty('values')) {
-	        return;
-	      }
-
-	      var rows = [];
-	      this.data.forEach(function (row, i) {
-	        if (!row.hasOwnProperty(obj.field)) {
-	          return false;
-	        }
-
-	        if (obj.values.includes(row[obj.field])) {
-	          var $el = _this24.$selectItem.filter(':enabled').filter(Utils.sprintf('[data-index="%s"]', i));
-
-	          $el = checked ? $el.not(':checked') : $el.filter(':checked');
-
-	          if (!$el.length) {
-	            return;
-	          }
-
-	          $el.prop('checked', checked);
-	          row[_this24.header.stateField] = checked;
-	          rows.push(row);
-
-	          _this24.trigger(checked ? 'check' : 'uncheck', row, $el);
-	        }
-	      });
-	      this.updateSelected();
-	      this.trigger(checked ? 'check-some' : 'uncheck-some', rows);
-	    }
-	  }, {
-	    key: "refresh",
-	    value: function refresh(params) {
-	      if (params && params.url) {
-	        this.options.url = params.url;
-	      }
-
-	      if (params && params.pageNumber) {
-	        this.options.pageNumber = params.pageNumber;
-	      }
-
-	      if (params && params.pageSize) {
-	        this.options.pageSize = params.pageSize;
-	      }
-
-	      this.trigger('refresh', this.initServer(params && params.silent, params && params.query, params && params.url));
-	    }
-	  }, {
-	    key: "destroy",
-	    value: function destroy() {
-	      this.$el.insertBefore(this.$container);
-	      $(this.options.toolbar).insertBefore(this.$el);
-	      this.$container.next().remove();
-	      this.$container.remove();
-	      this.$el.html(this.$el_.html()).css('margin-top', '0').attr('class', this.$el_.attr('class') || ''); // reset the class
-	    }
-	  }, {
-	    key: "resetView",
-	    value: function resetView(params) {
-	      var padding = 0;
-
-	      if (params && params.height) {
-	        this.options.height = params.height;
-	      }
-
-	      this.$selectAll.prop('checked', this.$selectItem.length > 0 && this.$selectItem.length === this.$selectItem.filter(':checked').length);
-	      this.$tableContainer.toggleClass('has-card-view', this.options.cardView);
-
-	      if (!this.options.cardView && this.options.showHeader && this.options.height) {
-	        this.$tableHeader.show();
-	        this.resetHeader();
-	        padding += this.$header.outerHeight(true) + 1;
-	      } else {
-	        this.$tableHeader.hide();
-	        this.trigger('post-header');
-	      }
-
-	      if (!this.options.cardView && this.options.showFooter) {
-	        this.$tableFooter.show();
-	        this.fitFooter();
-
-	        if (this.options.height) {
-	          padding += this.$tableFooter.outerHeight(true);
-	        }
-	      }
-
-	      if (this.$container.hasClass('fullscreen')) {
-	        this.$tableContainer.css('height', '');
-	        this.$tableContainer.css('width', '');
-	      } else if (this.options.height) {
-	        var toolbarHeight = this.$toolbar.outerHeight(true);
-	        var paginationHeight = this.$pagination.outerHeight(true);
-	        var height = this.options.height - toolbarHeight - paginationHeight;
-	        var $bodyTable = this.$tableBody.find('>table');
-	        var tableHeight = $bodyTable.outerHeight();
-	        this.$tableContainer.css('height', "".concat(height, "px"));
-
-	        if (this.$tableBorder) {
-	          var tableBorderHeight = height - tableHeight - 2;
-
-	          if (this.$tableBody[0].scrollWidth - this.$tableBody.innerWidth()) {
-	            tableBorderHeight -= Utils.getScrollBarWidth();
-	          }
-
-	          this.$tableBorder.css('width', "".concat($bodyTable.outerWidth(), "px"));
-	          this.$tableBorder.css('height', "".concat(tableBorderHeight, "px"));
-	        }
-	      }
-
-	      if (this.options.cardView) {
-	        // remove the element css
-	        this.$el.css('margin-top', '0');
-	        this.$tableContainer.css('padding-bottom', '0');
-	        this.$tableFooter.hide();
-	      } else {
-	        // Assign the correct sortable arrow
-	        this.getCaret();
-	        this.$tableContainer.css('padding-bottom', "".concat(padding, "px"));
-	      }
-
-	      this.trigger('reset-view');
-	    }
-	  }, {
-	    key: "showLoading",
-	    value: function showLoading() {
-	      this.$tableLoading.css('display', 'flex');
-	    }
-	  }, {
-	    key: "hideLoading",
-	    value: function hideLoading() {
-	      this.$tableLoading.css('display', 'none');
-	    }
-	  }, {
-	    key: "togglePagination",
-	    value: function togglePagination() {
-	      this.options.pagination = !this.options.pagination;
-	      var icon = this.options.showButtonIcons ? this.options.pagination ? this.options.icons.paginationSwitchDown : this.options.icons.paginationSwitchUp : '';
-	      var text = this.options.showButtonText ? this.options.pagination ? this.options.formatPaginationSwitchUp() : this.options.formatPaginationSwitchDown() : '';
-	      this.$toolbar.find('button[name="paginationSwitch"]').html(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, icon) + ' ' + text);
-	      this.updatePagination();
-	    }
-	  }, {
-	    key: "toggleFullscreen",
-	    value: function toggleFullscreen() {
-	      this.$el.closest('.bootstrap-table').toggleClass('fullscreen');
-	      this.resetView();
-	    }
-	  }, {
-	    key: "toggleView",
-	    value: function toggleView() {
-	      this.options.cardView = !this.options.cardView;
-	      this.initHeader();
-	      var icon = this.options.showButtonIcons ? this.options.cardView ? this.options.icons.toggleOn : this.options.icons.toggleOff : '';
-	      var text = this.options.showButtonText ? this.options.cardView ? this.options.formatToggleOff() : this.options.formatToggleOn() : '';
-	      this.$toolbar.find('button[name="toggle"]').html(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, icon) + ' ' + text);
-	      this.initBody();
-	      this.trigger('toggle', this.options.cardView);
-	    }
-	  }, {
-	    key: "resetSearch",
-	    value: function resetSearch(text) {
-	      var $search = this.$toolbar.find('.search input');
-	      $search.val(text || '');
-	      this.onSearch({
-	        currentTarget: $search
-	      });
-	    }
-	  }, {
-	    key: "filterBy",
-	    value: function filterBy(columns, options) {
-	      this.filterOptions = Utils.isEmptyObject(options) ? this.options.filterOptions : $.extend(this.options.filterOptions, options);
-	      this.filterColumns = Utils.isEmptyObject(columns) ? {} : columns;
-	      this.options.pageNumber = 1;
-	      this.initSearch();
-	      this.updatePagination();
-	    }
-	  }, {
-	    key: "scrollTo",
-	    value: function scrollTo(params) {
-	      if (typeof params === 'undefined') {
-	        return this.$tableBody.scrollTop();
-	      }
-
-	      var options = {
-	        unit: 'px',
-	        value: 0
-	      };
-
-	      if (_typeof(params) === 'object') {
-	        options = Object.assign(options, params);
-	      } else if (typeof params === 'string' && params === 'bottom') {
-	        options.value = this.$tableBody[0].scrollHeight;
-	      } else if (typeof params === 'string') {
-	        options.value = params;
-	      }
-
-	      var scrollTo = options.value;
-
-	      if (options.unit === 'rows') {
-	        scrollTo = 0;
-	        this.$body.find("> tr:lt(".concat(options.value, ")")).each(function (i, el) {
-	          scrollTo += $(el).outerHeight(true);
-	        });
-	      }
-
-	      this.$tableBody.scrollTop(scrollTo);
-	    }
-	  }, {
-	    key: "getScrollPosition",
-	    value: function getScrollPosition() {
-	      return this.scrollTo();
-	    }
-	  }, {
-	    key: "selectPage",
-	    value: function selectPage(page) {
-	      if (page > 0 && page <= this.options.totalPages) {
-	        this.options.pageNumber = page;
-	        this.updatePagination();
-	      }
-	    }
-	  }, {
-	    key: "prevPage",
-	    value: function prevPage() {
-	      if (this.options.pageNumber > 1) {
-	        this.options.pageNumber--;
-	        this.updatePagination();
-	      }
-	    }
-	  }, {
-	    key: "nextPage",
-	    value: function nextPage() {
-	      if (this.options.pageNumber < this.options.totalPages) {
-	        this.options.pageNumber++;
-	        this.updatePagination();
-	      }
-	    }
-	  }, {
-	    key: "toggleDetailView",
-	    value: function toggleDetailView(index, _columnDetailFormatter) {
-	      var $tr = this.$body.find(Utils.sprintf('> tr[data-index="%s"]', index));
-
-	      if ($tr.next().is('tr.detail-view')) {
-	        this.collapseRow(index);
-	      } else {
-	        this.expandRow(index, _columnDetailFormatter);
-	      }
-
-	      this.resetView();
-	    }
-	  }, {
-	    key: "expandRow",
-	    value: function expandRow(index, _columnDetailFormatter) {
-	      var row = this.data[index];
-	      var $tr = this.$body.find(Utils.sprintf('> tr[data-index="%s"][data-has-detail-view]', index));
-
-	      if ($tr.next().is('tr.detail-view')) {
-	        return;
-	      }
-
-	      if (this.options.detailViewIcon) {
-	        $tr.find('a.detail-icon').html(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.detailClose));
-	      }
-
-	      $tr.after(Utils.sprintf('<tr class="detail-view"><td colspan="%s"></td></tr>', $tr.children('td').length));
-	      var $element = $tr.next().find('td');
-	      var detailFormatter = _columnDetailFormatter || this.options.detailFormatter;
-	      var content = Utils.calculateObjectValue(this.options, detailFormatter, [index, row, $element], '');
-
-	      if ($element.length === 1) {
-	        $element.append(content);
-	      }
-
-	      this.trigger('expand-row', index, row, $element);
-	    }
-	  }, {
-	    key: "collapseRow",
-	    value: function collapseRow(index) {
-	      var row = this.data[index];
-	      var $tr = this.$body.find(Utils.sprintf('> tr[data-index="%s"][data-has-detail-view]', index));
-
-	      if (!$tr.next().is('tr.detail-view')) {
-	        return;
-	      }
-
-	      if (this.options.detailViewIcon) {
-	        $tr.find('a.detail-icon').html(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.detailOpen));
-	      }
-
-	      this.trigger('collapse-row', index, row, $tr.next());
-	      $tr.next().remove();
-	    }
-	  }, {
-	    key: "expandAllRows",
-	    value: function expandAllRows() {
-	      var trs = this.$body.find('> tr[data-index][data-has-detail-view]');
-
-	      for (var i = 0; i < trs.length; i++) {
-	        this.expandRow($(trs[i]).data('index'));
-	      }
-	    }
-	  }, {
-	    key: "collapseAllRows",
-	    value: function collapseAllRows() {
-	      var trs = this.$body.find('> tr[data-index][data-has-detail-view]');
-
-	      for (var i = 0; i < trs.length; i++) {
-	        this.collapseRow($(trs[i]).data('index'));
-	      }
-	    }
-	  }, {
-	    key: "updateColumnTitle",
-	    value: function updateColumnTitle(params) {
-	      if (!params.hasOwnProperty('field') || !params.hasOwnProperty('title')) {
-	        return;
-	      }
-
-	      this.columns[this.fieldsColumnsIndex[params.field]].title = this.options.escape ? Utils.escapeHTML(params.title) : params.title;
-
-	      if (this.columns[this.fieldsColumnsIndex[params.field]].visible) {
-	        var header = this.options.height !== undefined ? this.$tableHeader : this.$header;
-	        header.find('th[data-field]').each(function (i, el) {
-	          if ($(el).data('field') === params.field) {
-	            $($(el).find('.th-inner')[0]).text(params.title);
-	            return false;
-	          }
-	        });
-	      }
-	    }
-	  }, {
-	    key: "updateFormatText",
-	    value: function updateFormatText(formatName, text) {
-	      if (!/^format/.test(formatName) || !this.options[formatName]) {
-	        return;
-	      }
-
-	      if (typeof text === 'string') {
-	        this.options[formatName] = function () {
-	          return text;
-	        };
-	      } else if (typeof text === 'function') {
-	        this.options[formatName] = text;
-	      }
-
-	      this.initToolbar();
-	      this.initPagination();
-	      this.initBody();
-	    }
-	  }]);
-
-	  return BootstrapTable;
-	}();
-
-	BootstrapTable.VERSION = Constants.VERSION;
-	BootstrapTable.DEFAULTS = Constants.DEFAULTS;
-	BootstrapTable.LOCALES = Constants.LOCALES;
-	BootstrapTable.COLUMN_DEFAULTS = Constants.COLUMN_DEFAULTS;
-	BootstrapTable.METHODS = Constants.METHODS;
-	BootstrapTable.EVENTS = Constants.EVENTS; // BOOTSTRAP TABLE PLUGIN DEFINITION
-	// =======================
-
-	$.BootstrapTable = BootstrapTable;
-
-	$.fn.bootstrapTable = function (option) {
-	  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key5 = 1; _key5 < _len2; _key5++) {
-	    args[_key5 - 1] = arguments[_key5];
-	  }
-
-	  var value;
-	  this.each(function (i, el) {
-	    var data = $(el).data('bootstrap.table');
-	    var options = $.extend({}, BootstrapTable.DEFAULTS, $(el).data(), _typeof(option) === 'object' && option);
-
-	    if (typeof option === 'string') {
-	      var _data2;
-
-	      if (!Constants.METHODS.includes(option)) {
-	        throw new Error("Unknown method: ".concat(option));
-	      }
-
-	      if (!data) {
-	        return;
-	      }
-
-	      value = (_data2 = data)[option].apply(_data2, args);
-
-	      if (option === 'destroy') {
-	        $(el).removeData('bootstrap.table');
-	      }
-	    }
-
-	    if (!data) {
-	      $(el).data('bootstrap.table', data = new $.BootstrapTable(el, options));
-	    }
-	  });
-	  return typeof value === 'undefined' ? this : value;
-	};
-
-	$.fn.bootstrapTable.Constructor = BootstrapTable;
-	$.fn.bootstrapTable.theme = Constants.THEME;
-	$.fn.bootstrapTable.VERSION = Constants.VERSION;
-	$.fn.bootstrapTable.defaults = BootstrapTable.DEFAULTS;
-	$.fn.bootstrapTable.columnDefaults = BootstrapTable.COLUMN_DEFAULTS;
-	$.fn.bootstrapTable.events = BootstrapTable.EVENTS;
-	$.fn.bootstrapTable.locales = BootstrapTable.LOCALES;
-	$.fn.bootstrapTable.methods = BootstrapTable.METHODS;
-	$.fn.bootstrapTable.utils = Utils; // BOOTSTRAP TABLE INIT
-	// =======================
-
-	$(function () {
-	  $('[data-toggle="table"]').bootstrapTable();
-	});
-
-	return BootstrapTable;
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table.min.css b/server/target/classes/static/bootstrap-table/bootstrap-table.min.css
deleted file mode 100644
index 72a8f74..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:rgba(0,0,0,.075)}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid #dee2e6;border-right:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:none;justify-content:center;position:absolute;bottom:0;width:100%;z-index:1000}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{font-size:2rem;margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:LOADING;background:#212529;border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:#212529}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination a{padding:6px 12px;line-height:1.428571429}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:'\2B05'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:'\27A1'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes LOADING{0%{opacity:0}50%{opacity:1}to{opacity:0}}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/bootstrap-table.min.js b/server/target/classes/static/bootstrap-table/bootstrap-table.min.js
deleted file mode 100644
index e37e1a7..0000000
--- a/server/target/classes/static/bootstrap-table/bootstrap-table.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):(t=t||self).BootstrapTable=e(t.jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t,e){return t(e={exports:{}},e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),r=function(t){try{return!!t()}catch(t){return!0}},a=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),s={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,c={f:l&&!s.call({1:2},1)?function(t){var e=l(this,t);return!!e&&e.enumerable}:s},h=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},u={}.toString,d=function(t){return u.call(t).slice(8,-1)},f="".split,p=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==d(t)?f.call(t,""):Object(t)}:Object,g=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return p(g(t))},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!b(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!b(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!b(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!b(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")},y={}.hasOwnProperty,w=function(t,e){return y.call(t,e)},S=o.document,x=b(S)&&b(S.createElement),k=function(t){return x?S.createElement(t):{}},O=!a&&!r((function(){return 7!=Object.defineProperty(k("div"),"a",{get:function(){return 7}}).a})),C=Object.getOwnPropertyDescriptor,T={f:a?C:function(t,e){if(t=v(t),e=m(e,!0),O)try{return C(t,e)}catch(t){}if(w(t,e))return h(!c.f.call(t,e),t[e])}},P=function(t){if(!b(t))throw TypeError(String(t)+" is not an object");return t},$=Object.defineProperty,I={f:a?$:function(t,e,i){if(P(t),e=m(e,!0),P(i),O)try{return $(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},A=a?function(t,e,i){return I.f(t,e,h(1,i))}:function(t,e,i){return t[e]=i,t},E=function(t,e){try{A(o,t,e)}catch(i){o[t]=e}return e},R=o["__core-js_shared__"]||E("__core-js_shared__",{}),j=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return j.call(t)});var N,F,_,B=R.inspectSource,V=o.WeakMap,L="function"==typeof V&&/native code/.test(B(V)),D=i((function(t){(t.exports=function(t,e){return R[t]||(R[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),H=0,M=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++H+M).toString(36)},z=D("keys"),q=function(t){return z[t]||(z[t]=U(t))},W={},G=o.WeakMap;if(L){var K=new G,J=K.get,Y=K.has,X=K.set;N=function(t,e){return X.call(K,t,e),e},F=function(t){return J.call(K,t)||{}},_=function(t){return Y.call(K,t)}}else{var Q=q("state");W[Q]=!0,N=function(t,e){return A(t,Q,e),e},F=function(t){return w(t,Q)?t[Q]:{}},_=function(t){return w(t,Q)}}var Z,tt={set:N,get:F,has:_,enforce:function(t){return _(t)?F(t):N(t,{})},getterFor:function(t){return function(e){var i;if(!b(e)||(i=F(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return i}}},et=i((function(t){var e=tt.get,i=tt.enforce,n=String(String).split("String");(t.exports=function(t,e,r,a){var s=!!a&&!!a.unsafe,l=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;"function"==typeof r&&("string"!=typeof e||w(r,"name")||A(r,"name",e),i(r).source=n.join("string"==typeof e?e:"")),t!==o?(s?!c&&t[e]&&(l=!0):delete t[e],l?t[e]=r:A(t,e,r)):l?t[e]=r:E(e,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||B(this)}))})),it=o,nt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?nt(it[t])||nt(o[t]):it[t]&&it[t][e]||o[t]&&o[t][e]},rt=Math.ceil,at=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?at:rt)(t)},lt=Math.min,ct=function(t){return t>0?lt(st(t),9007199254740991):0},ht=Math.max,ut=Math.min,dt=function(t,e){var i=st(t);return i<0?ht(i+e,0):ut(i,e)},ft=function(t){return function(e,i,n){var o,r=v(e),a=ct(r.length),s=dt(n,a);if(t&&i!=i){for(;a>s;)if((o=r[s++])!=o)return!0}else for(;a>s;s++)if((t||s in r)&&r[s]===i)return t||s||0;return!t&&-1}},pt={includes:ft(!0),indexOf:ft(!1)},gt=pt.indexOf,vt=function(t,e){var i,n=v(t),o=0,r=[];for(i in n)!w(W,i)&&w(n,i)&&r.push(i);for(;e.length>o;)w(n,i=e[o++])&&(~gt(r,i)||r.push(i));return r},bt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],mt=bt.concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return vt(t,mt)}},wt={f:Object.getOwnPropertySymbols},St=ot("Reflect","ownKeys")||function(t){var e=yt.f(P(t)),i=wt.f;return i?e.concat(i(t)):e},xt=function(t,e){for(var i=St(e),n=I.f,o=T.f,r=0;r<i.length;r++){var a=i[r];w(t,a)||n(t,a,o(e,a))}},kt=/#|\.prototype\./,Ot=function(t,e){var i=Tt[Ct(t)];return i==$t||i!=Pt&&("function"==typeof e?r(e):!!e)},Ct=Ot.normalize=function(t){return String(t).replace(kt,".").toLowerCase()},Tt=Ot.data={},Pt=Ot.NATIVE="N",$t=Ot.POLYFILL="P",It=Ot,At=T.f,Et=function(t,e){var i,n,r,a,s,l=t.target,c=t.global,h=t.stat;if(i=c?o:h?o[l]||E(l,{}):(o[l]||{}).prototype)for(n in e){if(a=e[n],r=t.noTargetGet?(s=At(i,n))&&s.value:i[n],!It(c?n:l+(h?".":"#")+n,t.forced)&&void 0!==r){if(typeof a==typeof r)continue;xt(a,r)}(t.sham||r&&r.sham)&&A(a,"sham",!0),et(i,n,a,t)}},Rt=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())})),jt=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),Nt=Array.isArray||function(t){return"Array"==d(t)},Ft=function(t){return Object(g(t))},_t=Object.keys||function(t){return vt(t,bt)},Bt=a?Object.defineProperties:function(t,e){P(t);for(var i,n=_t(e),o=n.length,r=0;o>r;)I.f(t,i=n[r++],e[i]);return t},Vt=ot("document","documentElement"),Lt=q("IE_PROTO"),Dt=function(){},Ht=function(t){return"<script>"+t+"<\/script>"},Mt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Mt=Z?function(t){t.write(Ht("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Z):((e=k("iframe")).style.display="none",Vt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Ht("document.F=Object")),t.close(),t.F);for(var i=bt.length;i--;)delete Mt.prototype[bt[i]];return Mt()};W[Lt]=!0;var Ut=Object.create||function(t,e){var i;return null!==t?(Dt.prototype=P(t),i=new Dt,Dt.prototype=null,i[Lt]=t):i=Mt(),void 0===e?i:Bt(i,e)},zt=yt.f,qt={}.toString,Wt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Gt={f:function(t){return Wt&&"[object Window]"==qt.call(t)?function(t){try{return zt(t)}catch(t){return Wt.slice()}}(t):zt(v(t))}},Kt=D("wks"),Jt=o.Symbol,Yt=jt?Jt:U,Xt=function(t){return w(Kt,t)||(Rt&&w(Jt,t)?Kt[t]=Jt[t]:Kt[t]=Yt("Symbol."+t)),Kt[t]},Qt={f:Xt},Zt=I.f,te=function(t){var e=it.Symbol||(it.Symbol={});w(e,t)||Zt(e,t,{value:Qt.f(t)})},ee=I.f,ie=Xt("toStringTag"),ne=function(t,e,i){t&&!w(t=i?t:t.prototype,ie)&&ee(t,ie,{configurable:!0,value:e})},oe=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},re=Xt("species"),ae=function(t,e){var i;return Nt(t)&&("function"!=typeof(i=t.constructor)||i!==Array&&!Nt(i.prototype)?b(i)&&null===(i=i[re])&&(i=void 0):i=void 0),new(void 0===i?Array:i)(0===e?0:e)},se=[].push,le=function(t){var e=1==t,i=2==t,n=3==t,o=4==t,r=6==t,a=5==t||r;return function(s,l,c,h){for(var u,d,f=Ft(s),g=p(f),v=function(t,e,i){if(oe(t),void 0===e)return t;switch(i){case 0:return function(){return t.call(e)};case 1:return function(i){return t.call(e,i)};case 2:return function(i,n){return t.call(e,i,n)};case 3:return function(i,n,o){return t.call(e,i,n,o)}}return function(){return t.apply(e,arguments)}}(l,c,3),b=ct(g.length),m=0,y=h||ae,w=e?y(s,b):i?y(s,0):void 0;b>m;m++)if((a||m in g)&&(d=v(u=g[m],m,f),t))if(e)w[m]=d;else if(d)switch(t){case 3:return!0;case 5:return u;case 6:return m;case 2:se.call(w,u)}else if(o)return!1;return r?-1:n||o?o:w}},ce={forEach:le(0),map:le(1),filter:le(2),some:le(3),every:le(4),find:le(5),findIndex:le(6)},he=ce.forEach,ue=q("hidden"),de=Xt("toPrimitive"),fe=tt.set,pe=tt.getterFor("Symbol"),ge=Object.prototype,ve=o.Symbol,be=ot("JSON","stringify"),me=T.f,ye=I.f,we=Gt.f,Se=c.f,xe=D("symbols"),ke=D("op-symbols"),Oe=D("string-to-symbol-registry"),Ce=D("symbol-to-string-registry"),Te=D("wks"),Pe=o.QObject,$e=!Pe||!Pe.prototype||!Pe.prototype.findChild,Ie=a&&r((function(){return 7!=Ut(ye({},"a",{get:function(){return ye(this,"a",{value:7}).a}})).a}))?function(t,e,i){var n=me(ge,e);n&&delete ge[e],ye(t,e,i),n&&t!==ge&&ye(ge,e,n)}:ye,Ae=function(t,e){var i=xe[t]=Ut(ve.prototype);return fe(i,{type:"Symbol",tag:t,description:e}),a||(i.description=e),i},Ee=Rt&&"symbol"==typeof ve.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof ve},Re=function(t,e,i){t===ge&&Re(ke,e,i),P(t);var n=m(e,!0);return P(i),w(xe,n)?(i.enumerable?(w(t,ue)&&t[ue][n]&&(t[ue][n]=!1),i=Ut(i,{enumerable:h(0,!1)})):(w(t,ue)||ye(t,ue,h(1,{})),t[ue][n]=!0),Ie(t,n,i)):ye(t,n,i)},je=function(t,e){P(t);var i=v(e),n=_t(i).concat(Be(i));return he(n,(function(e){a&&!Ne.call(i,e)||Re(t,e,i[e])})),t},Ne=function(t){var e=m(t,!0),i=Se.call(this,e);return!(this===ge&&w(xe,e)&&!w(ke,e))&&(!(i||!w(this,e)||!w(xe,e)||w(this,ue)&&this[ue][e])||i)},Fe=function(t,e){var i=v(t),n=m(e,!0);if(i!==ge||!w(xe,n)||w(ke,n)){var o=me(i,n);return!o||!w(xe,n)||w(i,ue)&&i[ue][n]||(o.enumerable=!0),o}},_e=function(t){var e=we(v(t)),i=[];return he(e,(function(t){w(xe,t)||w(W,t)||i.push(t)})),i},Be=function(t){var e=t===ge,i=we(e?ke:v(t)),n=[];return he(i,(function(t){!w(xe,t)||e&&!w(ge,t)||n.push(xe[t])})),n};if(Rt||(et((ve=function(){if(this instanceof ve)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=U(t),i=function(t){this===ge&&i.call(ke,t),w(this,ue)&&w(this[ue],e)&&(this[ue][e]=!1),Ie(this,e,h(1,t))};return a&&$e&&Ie(ge,e,{configurable:!0,set:i}),Ae(e,t)}).prototype,"toString",(function(){return pe(this).tag})),c.f=Ne,I.f=Re,T.f=Fe,yt.f=Gt.f=_e,wt.f=Be,a&&(ye(ve.prototype,"description",{configurable:!0,get:function(){return pe(this).description}}),et(ge,"propertyIsEnumerable",Ne,{unsafe:!0}))),jt||(Qt.f=function(t){return Ae(Xt(t),t)}),Et({global:!0,wrap:!0,forced:!Rt,sham:!Rt},{Symbol:ve}),he(_t(Te),(function(t){te(t)})),Et({target:"Symbol",stat:!0,forced:!Rt},{for:function(t){var e=String(t);if(w(Oe,e))return Oe[e];var i=ve(e);return Oe[e]=i,Ce[i]=e,i},keyFor:function(t){if(!Ee(t))throw TypeError(t+" is not a symbol");if(w(Ce,t))return Ce[t]},useSetter:function(){$e=!0},useSimple:function(){$e=!1}}),Et({target:"Object",stat:!0,forced:!Rt,sham:!a},{create:function(t,e){return void 0===e?Ut(t):je(Ut(t),e)},defineProperty:Re,defineProperties:je,getOwnPropertyDescriptor:Fe}),Et({target:"Object",stat:!0,forced:!Rt},{getOwnPropertyNames:_e,getOwnPropertySymbols:Be}),Et({target:"Object",stat:!0,forced:r((function(){wt.f(1)}))},{getOwnPropertySymbols:function(t){return wt.f(Ft(t))}}),be){var Ve=!Rt||r((function(){var t=ve();return"[null]"!=be([t])||"{}"!=be({a:t})||"{}"!=be(Object(t))}));Et({target:"JSON",stat:!0,forced:Ve},{stringify:function(t,e,i){for(var n,o=[t],r=1;arguments.length>r;)o.push(arguments[r++]);if(n=e,(b(e)||void 0!==t)&&!Ee(t))return Nt(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Ee(e))return e}),o[1]=e,be.apply(null,o)}})}ve.prototype[de]||A(ve.prototype,de,ve.prototype.valueOf),ne(ve,"Symbol"),W[ue]=!0;var Le=I.f,De=o.Symbol;if(a&&"function"==typeof De&&(!("description"in De.prototype)||void 0!==De().description)){var He={},Me=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Me?new De(t):void 0===t?De():De(t);return""===t&&(He[e]=!0),e};xt(Me,De);var Ue=Me.prototype=De.prototype;Ue.constructor=Me;var ze=Ue.toString,qe="Symbol(test)"==String(De("test")),We=/^Symbol\((.*)\)[^)]+$/;Le(Ue,"description",{configurable:!0,get:function(){var t=b(this)?this.valueOf():this,e=ze.call(t);if(w(He,t))return"";var i=qe?e.slice(7,-1):e.replace(We,"$1");return""===i?void 0:i}}),Et({global:!0,forced:!0},{Symbol:Me})}te("iterator");var Ge,Ke,Je=function(t,e,i){var n=m(e);n in t?I.f(t,n,h(0,i)):t[n]=i},Ye=ot("navigator","userAgent")||"",Xe=o.process,Qe=Xe&&Xe.versions,Ze=Qe&&Qe.v8;Ze?Ke=(Ge=Ze.split("."))[0]+Ge[1]:Ye&&(!(Ge=Ye.match(/Edge\/(\d+)/))||Ge[1]>=74)&&(Ge=Ye.match(/Chrome\/(\d+)/))&&(Ke=Ge[1]);var ti=Ke&&+Ke,ei=Xt("species"),ii=function(t){return ti>=51||!r((function(){var e=[];return(e.constructor={})[ei]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ni=Xt("isConcatSpreadable"),oi=ti>=51||!r((function(){var t=[];return t[ni]=!1,t.concat()[0]!==t})),ri=ii("concat"),ai=function(t){if(!b(t))return!1;var e=t[ni];return void 0!==e?!!e:Nt(t)};Et({target:"Array",proto:!0,forced:!oi||!ri},{concat:function(t){var e,i,n,o,r,a=Ft(this),s=ae(a,0),l=0;for(e=-1,n=arguments.length;e<n;e++)if(r=-1===e?a:arguments[e],ai(r)){if(l+(o=ct(r.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(i=0;i<o;i++,l++)i in r&&Je(s,l,r[i])}else{if(l>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Je(s,l++,r)}return s.length=l,s}});var si=ce.filter,li=ii("filter"),ci=li&&!r((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));Et({target:"Array",proto:!0,forced:!li||!ci},{filter:function(t){return si(this,t,arguments.length>1?arguments[1]:void 0)}});var hi=Xt("unscopables"),ui=Array.prototype;null==ui[hi]&&I.f(ui,hi,{configurable:!0,value:Ut(null)});var di=function(t){ui[hi][t]=!0},fi=ce.find,pi=!0;"find"in[]&&Array(1).find((function(){pi=!1})),Et({target:"Array",proto:!0,forced:pi},{find:function(t){return fi(this,t,arguments.length>1?arguments[1]:void 0)}}),di("find");var gi=ce.findIndex,vi=!0;"findIndex"in[]&&Array(1).findIndex((function(){vi=!1})),Et({target:"Array",proto:!0,forced:vi},{findIndex:function(t){return gi(this,t,arguments.length>1?arguments[1]:void 0)}}),di("findIndex");var bi=pt.includes;Et({target:"Array",proto:!0},{includes:function(t){return bi(this,t,arguments.length>1?arguments[1]:void 0)}}),di("includes");var mi=function(t,e){var i=[][t];return!i||!r((function(){i.call(null,e||function(){throw 1},1)}))},yi=pt.indexOf,wi=[].indexOf,Si=!!wi&&1/[1].indexOf(1,-0)<0,xi=mi("indexOf");Et({target:"Array",proto:!0,forced:Si||xi},{indexOf:function(t){return Si?wi.apply(this,arguments)||0:yi(this,t,arguments.length>1?arguments[1]:void 0)}});var ki,Oi,Ci,Ti=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),Pi=q("IE_PROTO"),$i=Object.prototype,Ii=Ti?Object.getPrototypeOf:function(t){return t=Ft(t),w(t,Pi)?t[Pi]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?$i:null},Ai=Xt("iterator"),Ei=!1;[].keys&&("next"in(Ci=[].keys())?(Oi=Ii(Ii(Ci)))!==Object.prototype&&(ki=Oi):Ei=!0),null==ki&&(ki={}),w(ki,Ai)||A(ki,Ai,(function(){return this}));var Ri={IteratorPrototype:ki,BUGGY_SAFARI_ITERATORS:Ei},ji=Ri.IteratorPrototype,Ni=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(i,[]),e=i instanceof Array}catch(t){}return function(i,n){return P(i),function(t){if(!b(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(i,n):i.__proto__=n,i}}():void 0),Fi=Ri.IteratorPrototype,_i=Ri.BUGGY_SAFARI_ITERATORS,Bi=Xt("iterator"),Vi=function(){return this},Li=function(t,e,i,n,o,r,a){!function(t,e,i){var n=e+" Iterator";t.prototype=Ut(ji,{next:h(1,i)}),ne(t,n,!1)}(i,e,n);var s,l,c,u=function(t){if(t===o&&v)return v;if(!_i&&t in p)return p[t];switch(t){case"keys":case"values":case"entries":return function(){return new i(this,t)}}return function(){return new i(this)}},d=e+" Iterator",f=!1,p=t.prototype,g=p[Bi]||p["@@iterator"]||o&&p[o],v=!_i&&g||u(o),b="Array"==e&&p.entries||g;if(b&&(s=Ii(b.call(new t)),Fi!==Object.prototype&&s.next&&(Ii(s)!==Fi&&(Ni?Ni(s,Fi):"function"!=typeof s[Bi]&&A(s,Bi,Vi)),ne(s,d,!0))),"values"==o&&g&&"values"!==g.name&&(f=!0,v=function(){return g.call(this)}),p[Bi]!==v&&A(p,Bi,v),o)if(l={values:u("values"),keys:r?v:u("keys"),entries:u("entries")},a)for(c in l)!_i&&!f&&c in p||et(p,c,l[c]);else Et({target:e,proto:!0,forced:_i||f},l);return l},Di=tt.set,Hi=tt.getterFor("Array Iterator"),Mi=Li(Array,"Array",(function(t,e){Di(this,{type:"Array Iterator",target:v(t),index:0,kind:e})}),(function(){var t=Hi(this),e=t.target,i=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==i?{value:n,done:!1}:"values"==i?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");di("keys"),di("values"),di("entries");var Ui=[].join,zi=p!=Object,qi=mi("join",",");Et({target:"Array",proto:!0,forced:zi||qi},{join:function(t){return Ui.call(v(this),void 0===t?",":t)}});var Wi=ce.map,Gi=ii("map"),Ki=Gi&&!r((function(){[].map.call({length:-1,0:1},(function(t){throw t}))}));Et({target:"Array",proto:!0,forced:!Gi||!Ki},{map:function(t){return Wi(this,t,arguments.length>1?arguments[1]:void 0)}});var Ji=[].reverse,Yi=[1,2];Et({target:"Array",proto:!0,forced:String(Yi)===String(Yi.reverse())},{reverse:function(){return Nt(this)&&(this.length=this.length),Ji.call(this)}});var Xi=Xt("species"),Qi=[].slice,Zi=Math.max;Et({target:"Array",proto:!0,forced:!ii("slice")},{slice:function(t,e){var i,n,o,r=v(this),a=ct(r.length),s=dt(t,a),l=dt(void 0===e?a:e,a);if(Nt(r)&&("function"!=typeof(i=r.constructor)||i!==Array&&!Nt(i.prototype)?b(i)&&null===(i=i[Xi])&&(i=void 0):i=void 0,i===Array||void 0===i))return Qi.call(r,s,l);for(n=new(void 0===i?Array:i)(Zi(l-s,0)),o=0;s<l;s++,o++)s in r&&Je(n,o,r[s]);return n.length=o,n}});var tn=[],en=tn.sort,nn=r((function(){tn.sort(void 0)})),on=r((function(){tn.sort(null)})),rn=mi("sort");Et({target:"Array",proto:!0,forced:nn||!on||rn},{sort:function(t){return void 0===t?en.call(Ft(this)):en.call(Ft(this),oe(t))}});var an=Math.max,sn=Math.min;Et({target:"Array",proto:!0,forced:!ii("splice")},{splice:function(t,e){var i,n,o,r,a,s,l=Ft(this),c=ct(l.length),h=dt(t,c),u=arguments.length;if(0===u?i=n=0:1===u?(i=0,n=c-h):(i=u-2,n=sn(an(st(e),0),c-h)),c+i-n>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(o=ae(l,n),r=0;r<n;r++)(a=h+r)in l&&Je(o,r,l[a]);if(o.length=n,i<n){for(r=h;r<c-n;r++)s=r+i,(a=r+n)in l?l[s]=l[a]:delete l[s];for(r=c;r>c-n+i;r--)delete l[r-1]}else if(i>n)for(r=c-n;r>h;r--)s=r+i-1,(a=r+n-1)in l?l[s]=l[a]:delete l[s];for(r=0;r<i;r++)l[r+h]=arguments[r+2];return l.length=c-n+i,o}});var ln=function(t,e,i){var n,o;return Ni&&"function"==typeof(n=e.constructor)&&n!==i&&b(o=n.prototype)&&o!==i.prototype&&Ni(t,o),t},cn="\t\n\v\f\r                　\u2028\u2029\ufeff",hn="["+cn+"]",un=RegExp("^"+hn+hn+"*"),dn=RegExp(hn+hn+"*$"),fn=function(t){return function(e){var i=String(g(e));return 1&t&&(i=i.replace(un,"")),2&t&&(i=i.replace(dn,"")),i}},pn={start:fn(1),end:fn(2),trim:fn(3)},gn=yt.f,vn=T.f,bn=I.f,mn=pn.trim,yn=o.Number,wn=yn.prototype,Sn="Number"==d(Ut(wn)),xn=function(t){var e,i,n,o,r,a,s,l,c=m(t,!1);if("string"==typeof c&&c.length>2)if(43===(e=(c=mn(c)).charCodeAt(0))||45===e){if(88===(i=c.charCodeAt(2))||120===i)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(r=c.slice(2)).length,s=0;s<a;s++)if((l=r.charCodeAt(s))<48||l>o)return NaN;return parseInt(r,n)}return+c};if(It("Number",!yn(" 0o1")||!yn("0b1")||yn("+0x1"))){for(var kn,On=function(t){var e=arguments.length<1?0:t,i=this;return i instanceof On&&(Sn?r((function(){wn.valueOf.call(i)})):"Number"!=d(i))?ln(new yn(xn(e)),i,On):xn(e)},Cn=a?gn(yn):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),Tn=0;Cn.length>Tn;Tn++)w(yn,kn=Cn[Tn])&&!w(On,kn)&&bn(On,kn,vn(yn,kn));On.prototype=wn,wn.constructor=On,et(o,"Number",On)}var Pn=Object.assign,$n=Object.defineProperty,In=!Pn||r((function(){if(a&&1!==Pn({b:1},Pn($n({},"a",{enumerable:!0,get:function(){$n(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol();return t[i]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=Pn({},t)[i]||"abcdefghijklmnopqrst"!=_t(Pn({},e)).join("")}))?function(t,e){for(var i=Ft(t),n=arguments.length,o=1,r=wt.f,s=c.f;n>o;)for(var l,h=p(arguments[o++]),u=r?_t(h).concat(r(h)):_t(h),d=u.length,f=0;d>f;)l=u[f++],a&&!s.call(h,l)||(i[l]=h[l]);return i}:Pn;Et({target:"Object",stat:!0,forced:Object.assign!==In},{assign:In});var An=c.f,En=function(t){return function(e){for(var i,n=v(e),o=_t(n),r=o.length,s=0,l=[];r>s;)i=o[s++],a&&!An.call(n,i)||l.push(t?[i,n[i]]:n[i]);return l}},Rn={entries:En(!0),values:En(!1)}.entries;Et({target:"Object",stat:!0},{entries:function(t){return Rn(t)}});var jn={};jn[Xt("toStringTag")]="z";var Nn="[object z]"===String(jn),Fn=Xt("toStringTag"),_n="Arguments"==d(function(){return arguments}()),Bn=Nn?d:function(t){var e,i,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Fn))?i:_n?d(e):"Object"==(n=d(e))&&"function"==typeof e.callee?"Arguments":n},Vn=Nn?{}.toString:function(){return"[object "+Bn(this)+"]"};Nn||et(Object.prototype,"toString",Vn,{unsafe:!0});var Ln=pn.trim,Dn=o.parseFloat,Hn=1/Dn(cn+"-0")!=-1/0?function(t){var e=Ln(String(t)),i=Dn(e);return 0===i&&"-"==e.charAt(0)?-0:i}:Dn;Et({global:!0,forced:parseFloat!=Hn},{parseFloat:Hn});var Mn=pn.trim,Un=o.parseInt,zn=/^[+-]?0[Xx]/,qn=8!==Un(cn+"08")||22!==Un(cn+"0x16")?function(t,e){var i=Mn(String(t));return Un(i,e>>>0||(zn.test(i)?16:10))}:Un;Et({global:!0,forced:parseInt!=qn},{parseInt:qn});var Wn=function(){var t=P(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Gn(t,e){return RegExp(t,e)}var Kn,Jn,Yn={UNSUPPORTED_Y:r((function(){var t=Gn("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:r((function(){var t=Gn("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Xn=RegExp.prototype.exec,Qn=String.prototype.replace,Zn=Xn,to=(Kn=/a/,Jn=/b*/g,Xn.call(Kn,"a"),Xn.call(Jn,"a"),0!==Kn.lastIndex||0!==Jn.lastIndex),eo=Yn.UNSUPPORTED_Y||Yn.BROKEN_CARET,io=void 0!==/()??/.exec("")[1];(to||io||eo)&&(Zn=function(t){var e,i,n,o,r=this,a=eo&&r.sticky,s=Wn.call(r),l=r.source,c=0,h=t;return a&&(-1===(s=s.replace("y","")).indexOf("g")&&(s+="g"),h=String(t).slice(r.lastIndex),r.lastIndex>0&&(!r.multiline||r.multiline&&"\n"!==t[r.lastIndex-1])&&(l="(?: "+l+")",h=" "+h,c++),i=new RegExp("^(?:"+l+")",s)),io&&(i=new RegExp("^"+l+"$(?!\\s)",s)),to&&(e=r.lastIndex),n=Xn.call(a?i:r,h),a?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=r.lastIndex,r.lastIndex+=n[0].length):r.lastIndex=0:to&&n&&(r.lastIndex=r.global?n.index+n[0].length:e),io&&n&&n.length>1&&Qn.call(n[0],i,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var no=Zn;Et({target:"RegExp",proto:!0,forced:/./.exec!==no},{exec:no});var oo=RegExp.prototype,ro=oo.toString,ao=r((function(){return"/a/b"!=ro.call({source:"a",flags:"b"})})),so="toString"!=ro.name;(ao||so)&&et(RegExp.prototype,"toString",(function(){var t=P(this),e=String(t.source),i=t.flags;return"/"+e+"/"+String(void 0===i&&t instanceof RegExp&&!("flags"in oo)?Wn.call(t):i)}),{unsafe:!0});var lo=Xt("match"),co=function(t){var e;return b(t)&&(void 0!==(e=t[lo])?!!e:"RegExp"==d(t))},ho=function(t){if(co(t))throw TypeError("The method doesn't accept regular expressions");return t},uo=Xt("match");Et({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(i){try{return e[uo]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(g(this)).indexOf(ho(t),arguments.length>1?arguments[1]:void 0)}});var fo=function(t){return function(e,i){var n,o,r=String(g(e)),a=st(i),s=r.length;return a<0||a>=s?t?"":void 0:(n=r.charCodeAt(a))<55296||n>56319||a+1===s||(o=r.charCodeAt(a+1))<56320||o>57343?t?r.charAt(a):n:t?r.slice(a,a+2):o-56320+(n-55296<<10)+65536}},po={codeAt:fo(!1),charAt:fo(!0)},go=po.charAt,vo=tt.set,bo=tt.getterFor("String Iterator");Li(String,"String",(function(t){vo(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=bo(this),i=e.string,n=e.index;return n>=i.length?{value:void 0,done:!0}:(t=go(i,n),e.index+=t.length,{value:t,done:!1})}));var mo=Xt("species"),yo=!r((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),wo="$0"==="a".replace(/./,"$0"),So=!r((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var i="ab".split(t);return 2!==i.length||"a"!==i[0]||"b"!==i[1]})),xo=function(t,e,i,n){var o=Xt(t),a=!r((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),s=a&&!r((function(){var e=!1,i=/a/;return"split"===t&&((i={}).constructor={},i.constructor[mo]=function(){return i},i.flags="",i[o]=/./[o]),i.exec=function(){return e=!0,null},i[o](""),!e}));if(!a||!s||"replace"===t&&(!yo||!wo)||"split"===t&&!So){var l=/./[o],c=i(o,""[t],(function(t,e,i,n,o){return e.exec===no?a&&!o?{done:!0,value:l.call(e,i,n)}:{done:!0,value:t.call(i,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:wo}),h=c[0],u=c[1];et(String.prototype,t,h),et(RegExp.prototype,o,2==e?function(t,e){return u.call(t,this,e)}:function(t){return u.call(t,this)})}n&&A(RegExp.prototype[o],"sham",!0)},ko=po.charAt,Oo=function(t,e,i){return e+(i?ko(t,e).length:1)},Co=function(t,e){var i=t.exec;if("function"==typeof i){var n=i.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==d(t))throw TypeError("RegExp#exec called on incompatible receiver");return no.call(t,e)},To=Math.max,Po=Math.min,$o=Math.floor,Io=/\$([$&'`]|\d\d?|<[^>]*>)/g,Ao=/\$([$&'`]|\d\d?)/g;xo("replace",2,(function(t,e,i,n){return[function(i,n){var o=g(this),r=null==i?void 0:i[t];return void 0!==r?r.call(i,o,n):e.call(String(o),i,n)},function(t,r){if(n.REPLACE_KEEPS_$0||"string"==typeof r&&-1===r.indexOf("$0")){var a=i(e,t,this,r);if(a.done)return a.value}var s=P(t),l=String(this),c="function"==typeof r;c||(r=String(r));var h=s.global;if(h){var u=s.unicode;s.lastIndex=0}for(var d=[];;){var f=Co(s,l);if(null===f)break;if(d.push(f),!h)break;""===String(f[0])&&(s.lastIndex=Oo(l,ct(s.lastIndex),u))}for(var p,g="",v=0,b=0;b<d.length;b++){f=d[b];for(var m=String(f[0]),y=To(Po(st(f.index),l.length),0),w=[],S=1;S<f.length;S++)w.push(void 0===(p=f[S])?p:String(p));var x=f.groups;if(c){var k=[m].concat(w,y,l);void 0!==x&&k.push(x);var O=String(r.apply(void 0,k))}else O=o(m,l,y,w,x,r);y>=v&&(g+=l.slice(v,y)+O,v=y+m.length)}return g+l.slice(v)}];function o(t,i,n,o,r,a){var s=n+t.length,l=o.length,c=Ao;return void 0!==r&&(r=Ft(r),c=Io),e.call(a,c,(function(e,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return i.slice(0,n);case"'":return i.slice(s);case"<":c=r[a.slice(1,-1)];break;default:var h=+a;if(0===h)return e;if(h>l){var u=$o(h/10);return 0===u?e:u<=l?void 0===o[u-1]?a.charAt(1):o[u-1]+a.charAt(1):e}c=o[h-1]}return void 0===c?"":c}))}}));var Eo=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};xo("search",1,(function(t,e,i){return[function(e){var i=g(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,i):new RegExp(e)[t](String(i))},function(t){var n=i(e,t,this);if(n.done)return n.value;var o=P(t),r=String(this),a=o.lastIndex;Eo(a,0)||(o.lastIndex=0);var s=Co(o,r);return Eo(o.lastIndex,a)||(o.lastIndex=a),null===s?-1:s.index}]}));var Ro=Xt("species"),jo=[].push,No=Math.min,Fo=!r((function(){return!RegExp(4294967295,"y")}));xo("split",2,(function(t,e,i){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,i){var n=String(g(this)),o=void 0===i?4294967295:i>>>0;if(0===o)return[];if(void 0===t)return[n];if(!co(t))return e.call(n,t,o);for(var r,a,s,l=[],c=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,u=new RegExp(t.source,c+"g");(r=no.call(u,n))&&!((a=u.lastIndex)>h&&(l.push(n.slice(h,r.index)),r.length>1&&r.index<n.length&&jo.apply(l,r.slice(1)),s=r[0].length,h=a,l.length>=o));)u.lastIndex===r.index&&u.lastIndex++;return h===n.length?!s&&u.test("")||l.push(""):l.push(n.slice(h)),l.length>o?l.slice(0,o):l}:"0".split(void 0,0).length?function(t,i){return void 0===t&&0===i?[]:e.call(this,t,i)}:e,[function(e,i){var o=g(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,o,i):n.call(String(o),e,i)},function(t,o){var r=i(n,t,this,o,n!==e);if(r.done)return r.value;var a=P(t),s=String(this),l=function(t,e){var i,n=P(t).constructor;return void 0===n||null==(i=P(n)[Ro])?e:oe(i)}(a,RegExp),c=a.unicode,h=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Fo?"y":"g"),u=new l(Fo?a:"^(?:"+a.source+")",h),d=void 0===o?4294967295:o>>>0;if(0===d)return[];if(0===s.length)return null===Co(u,s)?[s]:[];for(var f=0,p=0,g=[];p<s.length;){u.lastIndex=Fo?p:0;var v,b=Co(u,Fo?s:s.slice(p));if(null===b||(v=No(ct(u.lastIndex+(Fo?0:p)),s.length))===f)p=Oo(s,p,c);else{if(g.push(s.slice(f,p)),g.length===d)return g;for(var m=1;m<=b.length-1;m++)if(g.push(b[m]),g.length===d)return g;p=f=v}}return g.push(s.slice(f)),g}]}),!Fo);var _o=pn.trim;Et({target:"String",proto:!0,forced:function(t){return r((function(){return!!cn[t]()||"​᠎"!="​᠎"[t]()||cn[t].name!==t}))}("trim")},{trim:function(){return _o(this)}});var Bo={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},Vo=ce.forEach,Lo=mi("forEach")?function(t){return Vo(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;for(var Do in Bo){var Ho=o[Do],Mo=Ho&&Ho.prototype;if(Mo&&Mo.forEach!==Lo)try{A(Mo,"forEach",Lo)}catch(t){Mo.forEach=Lo}}var Uo=Xt("iterator"),zo=Xt("toStringTag"),qo=Mi.values;for(var Wo in Bo){var Go=o[Wo],Ko=Go&&Go.prototype;if(Ko){if(Ko[Uo]!==qo)try{A(Ko,Uo,qo)}catch(t){Ko[Uo]=qo}if(Ko[zo]||A(Ko,zo,Wo),Bo[Wo])for(var Jo in Mi)if(Ko[Jo]!==Mi[Jo])try{A(Ko,Jo,Mi[Jo])}catch(t){Ko[Jo]=Mi[Jo]}}}function Yo(t){return(Yo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Xo(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Qo(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Zo(t,e,i){return e&&Qo(t.prototype,e),i&&Qo(t,i),t}function tr(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var i=[],n=!0,o=!1,r=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}return i}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function er(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var ir=4;try{var nr=t.fn.dropdown.Constructor.VERSION;void 0!==nr&&(ir=parseInt(nr,10))}catch(t){}var or={3:{iconsPrefix:"glyphicon",icons:{paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggleOff:"glyphicon-list-alt icon-list-alt",toggleOn:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus",fullscreen:"glyphicon-fullscreen",search:"glyphicon-search",clearSearch:"glyphicon-trash"},classes:{buttonsPrefix:"btn",buttons:"default",buttonsGroup:"btn-group",buttonsDropdown:"btn-group",pull:"pull",inputGroup:"input-group",inputPrefix:"input-",input:"form-control",paginationDropdown:"btn-group dropdown",dropup:"dropup",dropdownActive:"active",paginationActive:"active",buttonActive:"active"},html:{toolbarDropdown:['<ul class="dropdown-menu" role="menu">',"</ul>"],toolbarDropdownItem:'<li class="dropdown-item-marker" role="menuitem"><label>%s</label></li>',toolbarDropdownSeparator:'<li class="divider"></li>',pageDropdown:['<ul class="dropdown-menu" role="menu">',"</ul>"],pageDropdownItem:'<li role="menuitem" class="%s"><a href="#">%s</a></li>',dropdownCaret:'<span class="caret"></span>',pagination:['<ul class="pagination%s">',"</ul>"],paginationItem:'<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',icon:'<i class="%s %s"></i>',inputGroup:'<div class="input-group">%s<span class="input-group-btn">%s</span></div>',searchInput:'<input class="%s%s" type="text" placeholder="%s">',searchButton:'<button class="%s" type="button" name="search" title="%s">%s %s</button>',searchClearButton:'<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'}},4:{iconsPrefix:"fa",icons:{paginationSwitchDown:"fa-caret-square-down",paginationSwitchUp:"fa-caret-square-up",refresh:"fa-sync",toggleOff:"fa-toggle-off",toggleOn:"fa-toggle-on",columns:"fa-th-list",detailOpen:"fa-plus",detailClose:"fa-minus",fullscreen:"fa-arrows-alt",search:"fa-search",clearSearch:"fa-trash"},classes:{buttonsPrefix:"btn",buttons:"secondary",buttonsGroup:"btn-group",buttonsDropdown:"btn-group",pull:"float",inputGroup:"btn-group",inputPrefix:"form-control-",input:"form-control",paginationDropdown:"btn-group dropdown",dropup:"dropup",dropdownActive:"active",paginationActive:"active",buttonActive:"active"},html:{toolbarDropdown:['<div class="dropdown-menu dropdown-menu-right">',"</div>"],toolbarDropdownItem:'<label class="dropdown-item dropdown-item-marker">%s</label>',pageDropdown:['<div class="dropdown-menu">',"</div>"],pageDropdownItem:'<a class="dropdown-item %s" href="#">%s</a>',toolbarDropdownSeparator:'<div class="dropdown-divider"></div>',dropdownCaret:'<span class="caret"></span>',pagination:['<ul class="pagination%s">',"</ul>"],paginationItem:'<li class="page-item%s"><a class="page-link" aria-label="%s" href="javascript:void(0)">%s</a></li>',icon:'<i class="%s %s"></i>',inputGroup:'<div class="input-group">%s<div class="input-group-append">%s</div></div>',searchInput:'<input class="%s%s" type="text" placeholder="%s">',searchButton:'<button class="%s" type="button" name="search" title="%s">%s %s</button>',searchClearButton:'<button class="%s" type="button" name="clearSearch" title="%s">%s %s</button>'}}}[ir],rr={height:void 0,classes:"table table-bordered table-hover",theadClasses:"",headerStyle:function(t){return{}},rowStyle:function(t,e){return{}},rowAttributes:function(t,e){return{}},undefinedText:"-",locale:void 0,virtualScroll:!1,virtualScrollItemHeight:void 0,sortable:!0,sortClass:void 0,silentSort:!0,sortName:void 0,sortOrder:"asc",sortStable:!1,rememberOrder:!1,serverSort:!0,customSort:void 0,columns:[[]],data:[],url:void 0,method:"get",cache:!0,contentType:"application/json",dataType:"json",ajax:void 0,ajaxOptions:{},queryParams:function(t){return t},queryParamsType:"limit",responseHandler:function(t){return t},totalField:"total",totalNotFilteredField:"totalNotFiltered",dataField:"rows",pagination:!1,onlyInfoPagination:!1,showExtendedPagination:!1,paginationLoop:!0,sidePagination:"client",totalRows:0,totalNotFiltered:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"&lsaquo;",paginationNextText:"&rsaquo;",paginationSuccessivelySize:5,paginationPagesBySide:1,paginationUseIntermediate:!1,search:!1,searchOnEnterKey:!1,strictSearch:!1,visibleSearch:!1,showButtonIcons:!0,showButtonText:!1,showSearchButton:!1,showSearchClearButton:!1,trimOnSearch:!0,searchAlign:"right",searchTimeOut:500,searchText:"",customSearch:void 0,showHeader:!0,showFooter:!1,footerStyle:function(t){return{}},showColumns:!1,showColumnsToggleAll:!1,showColumnsSearch:!1,minimumCountColumns:1,showPaginationSwitch:!1,showRefresh:!1,showToggle:!1,showFullscreen:!1,smartDisplay:!0,escape:!1,filterOptions:{filterAlgorithm:"and"},idField:void 0,selectItemName:"btSelectItem",clickToSelect:!1,ignoreClickToSelectOn:function(t){var e=t.tagName;return["A","BUTTON"].includes(e)},singleSelect:!1,checkboxHeader:!0,maintainMetaData:!1,multipleSelectRow:!1,uniqueId:void 0,cardView:!1,detailView:!1,detailViewIcon:!0,detailViewByClick:!1,detailFormatter:function(t,e){return""},detailFilter:function(t,e){return!0},toolbar:void 0,toolbarAlign:"left",buttonsToolbar:void 0,buttonsAlign:"right",buttonsOrder:["paginationSwitch","refresh","toggle","fullscreen","columns"],buttonsPrefix:or.classes.buttonsPrefix,buttonsClass:or.classes.buttons,icons:or.icons,html:or.html,iconSize:void 0,iconsPrefix:or.iconsPrefix,onAll:function(t,e){return!1},onClickCell:function(t,e,i,n){return!1},onDblClickCell:function(t,e,i,n){return!1},onClickRow:function(t,e){return!1},onDblClickRow:function(t,e){return!1},onSort:function(t,e){return!1},onCheck:function(t){return!1},onUncheck:function(t){return!1},onCheckAll:function(t){return!1},onUncheckAll:function(t){return!1},onCheckSome:function(t){return!1},onUncheckSome:function(t){return!1},onLoadSuccess:function(t){return!1},onLoadError:function(t){return!1},onColumnSwitch:function(t,e){return!1},onPageChange:function(t,e){return!1},onSearch:function(t){return!1},onToggle:function(t){return!1},onPreBody:function(t){return!1},onPostBody:function(){return!1},onPostHeader:function(){return!1},onPostFooter:function(){return!1},onExpandRow:function(t,e,i){return!1},onCollapseRow:function(t,e){return!1},onRefreshOptions:function(t){return!1},onRefresh:function(t){return!1},onResetView:function(){return!1},onScrollBody:function(){return!1}},ar={formatLoadingMessage:function(){return"Loading, please wait"},formatRecordsPerPage:function(t){return"".concat(t," rows per page")},formatShowingRows:function(t,e,i,n){return void 0!==n&&n>0&&n>i?"Showing ".concat(t," to ").concat(e," of ").concat(i," rows (filtered from ").concat(n," total rows)"):"Showing ".concat(t," to ").concat(e," of ").concat(i," rows")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatSearch:function(){return"Search"},formatClearSearch:function(){return"Clear Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"}},sr={field:void 0,title:void 0,titleTooltip:void 0,class:void 0,width:void 0,widthUnit:"px",rowspan:void 0,colspan:void 0,align:void 0,halign:void 0,falign:void 0,valign:void 0,cellStyle:void 0,radio:!1,checkbox:!1,checkboxEnabled:!0,clickToSelect:!0,showSelectTitle:!1,sortable:!1,sortName:void 0,order:"asc",sorter:void 0,visible:!0,switchable:!0,cardVisible:!0,searchable:!0,formatter:void 0,footerFormatter:void 0,detailFormatter:void 0,searchFormatter:!0,escape:!1,events:void 0};Object.assign(rr,ar);var lr={VERSION:"1.16.0",THEME:"bootstrap".concat(ir),CONSTANTS:or,DEFAULTS:rr,COLUMN_DEFAULTS:sr,METHODS:["getOptions","refreshOptions","getData","getSelections","getAllSelections","load","append","prepend","remove","removeAll","insertRow","updateRow","getRowByUniqueId","updateByUniqueId","removeByUniqueId","updateCell","updateCellByUniqueId","showRow","hideRow","getHiddenRows","showColumn","hideColumn","getVisibleColumns","getHiddenColumns","showAllColumns","hideAllColumns","mergeCells","checkAll","uncheckAll","checkInvert","check","uncheck","checkBy","uncheckBy","refresh","destroy","resetView","showLoading","hideLoading","togglePagination","toggleFullscreen","toggleView","resetSearch","filterBy","scrollTo","getScrollPosition","selectPage","prevPage","nextPage","toggleDetailView","expandRow","collapseRow","expandAllRows","collapseAllRows","updateColumnTitle","updateFormatText"],EVENTS:{"all.bs.table":"onAll","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","click-cell.bs.table":"onClickCell","dbl-click-cell.bs.table":"onDblClickCell","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","check-some.bs.table":"onCheckSome","uncheck-some.bs.table":"onUncheckSome","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError","column-switch.bs.table":"onColumnSwitch","page-change.bs.table":"onPageChange","search.bs.table":"onSearch","toggle.bs.table":"onToggle","pre-body.bs.table":"onPreBody","post-body.bs.table":"onPostBody","post-header.bs.table":"onPostHeader","post-footer.bs.table":"onPostFooter","expand-row.bs.table":"onExpandRow","collapse-row.bs.table":"onCollapseRow","refresh-options.bs.table":"onRefreshOptions","reset-view.bs.table":"onResetView","refresh.bs.table":"onRefresh","scroll-body.bs.table":"onScrollBody"},LOCALES:{en:ar,"en-US":ar}},cr=r((function(){_t(1)}));Et({target:"Object",stat:!0,forced:cr},{keys:function(t){return _t(Ft(t))}});var hr={sprintf:function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];var o=!0,r=0,a=t.replace(/%s/g,(function(){var t=i[r++];return void 0===t?(o=!1,""):t}));return o?a:""},isEmptyObject:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 0===Object.entries(t).length&&t.constructor===Object},isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)},getFieldTitle:function(t,e){var i=!0,n=!1,o=void 0;try{for(var r,a=t[Symbol.iterator]();!(i=(r=a.next()).done);i=!0){var s=r.value;if(s.field===e)return s.title}}catch(t){n=!0,o=t}finally{try{i||null==a.return||a.return()}finally{if(n)throw o}}return""},setFieldIndex:function(t){var e=0,i=[],n=!0,o=!1,r=void 0;try{for(var a,s=t[0][Symbol.iterator]();!(n=(a=s.next()).done);n=!0){e+=a.value.colspan||1}}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}for(var l=0;l<t.length;l++){i[l]=[];for(var c=0;c<e;c++)i[l][c]=!1}for(var h=0;h<t.length;h++){var u=!0,d=!1,f=void 0;try{for(var p,g=t[h][Symbol.iterator]();!(u=(p=g.next()).done);u=!0){var v=p.value,b=v.rowspan||1,m=v.colspan||1,y=i[h].indexOf(!1);v.colspanIndex=y,1===m?(v.fieldIndex=y,void 0===v.field&&(v.field=y)):v.colspanGroup=v.colspan;for(var w=0;w<b;w++)i[h+w][y]=!0;for(var S=0;S<m;S++)i[h][y+S]=!0}}catch(t){d=!0,f=t}finally{try{u||null==g.return||g.return()}finally{if(d)throw f}}}},updateFieldGroup:function(t){var e,i=(e=[]).concat.apply(e,er(t)),n=!0,o=!1,r=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var l=a.value,c=!0,h=!1,u=void 0;try{for(var d,f=l[Symbol.iterator]();!(c=(d=f.next()).done);c=!0){var p=d.value;if(p.colspanGroup>1){for(var g=0,v=function(t){i.find((function(e){return e.fieldIndex===t})).visible&&g++},b=p.colspanIndex;b<p.colspanIndex+p.colspanGroup;b++)v(b);p.colspan=g,p.visible=g>0}}}catch(t){h=!0,u=t}finally{try{c||null==f.return||f.return()}finally{if(h)throw u}}}}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}},getScrollBarWidth:function(){if(void 0===this.cachedWidth){var e=t("<div/>").addClass("fixed-table-scroll-inner"),i=t("<div/>").addClass("fixed-table-scroll-outer");i.append(e),t("body").append(i);var n=e[0].offsetWidth;i.css("overflow","scroll");var o=e[0].offsetWidth;n===o&&(o=i[0].clientWidth),i.remove(),this.cachedWidth=n-o}return this.cachedWidth},calculateObjectValue:function(t,e,i,n){var o=e;if("string"==typeof e){var r=e.split(".");if(r.length>1){o=window;var a=!0,s=!1,l=void 0;try{for(var c,h=r[Symbol.iterator]();!(a=(c=h.next()).done);a=!0){o=o[c.value]}}catch(t){s=!0,l=t}finally{try{a||null==h.return||h.return()}finally{if(s)throw l}}}else o=window[e]}return null!==o&&"object"===Yo(o)?o:"function"==typeof o?o.apply(t,i||[]):!o&&"string"==typeof e&&this.sprintf.apply(this,[e].concat(er(i)))?this.sprintf.apply(this,[e].concat(er(i))):n},compareObjects:function(t,e,i){var n=Object.keys(t),o=Object.keys(e);if(i&&n.length!==o.length)return!1;for(var r=0,a=n;r<a.length;r++){var s=a[r];if(o.includes(s)&&t[s]!==e[s])return!1}return!0},escapeHTML:function(t){return"string"==typeof t?t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/`/g,"&#x60;"):t},getRealDataAttr:function(t){for(var e=0,i=Object.entries(t);e<i.length;e++){var n=tr(i[e],2),o=n[0],r=n[1],a=o.split(/(?=[A-Z])/).join("-").toLowerCase();a!==o&&(t[a]=r,delete t[o])}return t},getItemField:function(t,e,i){var n=t;if("string"!=typeof e||t.hasOwnProperty(e))return i?this.escapeHTML(t[e]):t[e];var o=e.split("."),r=!0,a=!1,s=void 0;try{for(var l,c=o[Symbol.iterator]();!(r=(l=c.next()).done);r=!0){var h=l.value;n=n&&n[h]}}catch(t){a=!0,s=t}finally{try{r||null==c.return||c.return()}finally{if(a)throw s}}return i?this.escapeHTML(n):n},isIEBrowser:function(){return navigator.userAgent.includes("MSIE ")||/Trident.*rv:11\./.test(navigator.userAgent)},findIndex:function(t,e){var i=!0,n=!1,o=void 0;try{for(var r,a=t[Symbol.iterator]();!(i=(r=a.next()).done);i=!0){var s=r.value;if(JSON.stringify(s)===JSON.stringify(e))return t.indexOf(s)}}catch(t){n=!0,o=t}finally{try{i||null==a.return||a.return()}finally{if(n)throw o}}return-1},trToData:function(e,i){var n=this,o=[],r=[];return i.each((function(i,a){var s={};s._id=t(a).attr("id"),s._class=t(a).attr("class"),s._data=n.getRealDataAttr(t(a).data()),t(a).find(">td,>th").each((function(o,a){for(var l=+t(a).attr("colspan")||1,c=+t(a).attr("rowspan")||1,h=o;r[i]&&r[i][h];h++);for(var u=h;u<h+l;u++)for(var d=i;d<i+c;d++)r[d]||(r[d]=[]),r[d][u]=!0;var f=e[h].field;s[f]=t(a).html().trim(),s["_".concat(f,"_id")]=t(a).attr("id"),s["_".concat(f,"_class")]=t(a).attr("class"),s["_".concat(f,"_rowspan")]=t(a).attr("rowspan"),s["_".concat(f,"_colspan")]=t(a).attr("colspan"),s["_".concat(f,"_title")]=t(a).attr("title"),s["_".concat(f,"_data")]=n.getRealDataAttr(t(a).data())})),o.push(s)})),o},sort:function(t,e,i,n,o,r){return null==t&&(t=""),null==e&&(e=""),n&&t===e&&(t=o,e=r),this.isNumeric(t)&&this.isNumeric(e)?(t=parseFloat(t))<(e=parseFloat(e))?-1*i:t>e?i:0:t===e?0:("string"!=typeof t&&(t=t.toString()),-1===t.localeCompare(e)?-1*i:i)},getResizeEventName:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return t=t||"".concat(+new Date).concat(~~(1e6*Math.random())),"resize.bootstrap-table-".concat(t)}},ur=function(){function t(e){var i=this;Xo(this,t),this.rows=e.rows,this.scrollEl=e.scrollEl,this.contentEl=e.contentEl,this.callback=e.callback,this.itemHeight=e.itemHeight,this.cache={},this.scrollTop=this.scrollEl.scrollTop,this.initDOM(this.rows,e.fixedScroll),this.scrollEl.scrollTop=this.scrollTop,this.lastCluster=0;var n=function(){i.lastCluster!==(i.lastCluster=i.getNum())&&(i.initDOM(i.rows),i.callback())};this.scrollEl.addEventListener("scroll",n,!1),this.destroy=function(){i.contentEl.innerHtml="",i.scrollEl.removeEventListener("scroll",n,!1)}}return Zo(t,[{key:"initDOM",value:function(t,e){void 0===this.clusterHeight&&(this.cache.scrollTop=this.scrollEl.scrollTop,this.cache.data=this.contentEl.innerHTML=t[0]+t[0]+t[0],this.getRowsHeight(t));var i=this.initData(t,this.getNum(e)),n=i.rows.join(""),o=this.checkChanges("data",n),r=this.checkChanges("top",i.topOffset),a=this.checkChanges("bottom",i.bottomOffset),s=[];o&&r?(i.topOffset&&s.push(this.getExtra("top",i.topOffset)),s.push(n),i.bottomOffset&&s.push(this.getExtra("bottom",i.bottomOffset)),this.contentEl.innerHTML=s.join(""),e&&(this.contentEl.scrollTop=this.cache.scrollTop)):a&&(this.contentEl.lastChild.style.height="".concat(i.bottomOffset,"px"))}},{key:"getRowsHeight",value:function(){if(void 0===this.itemHeight){var t=this.contentEl.children,e=t[Math.floor(t.length/2)];this.itemHeight=e.offsetHeight}this.blockHeight=50*this.itemHeight,this.clusterRows=200,this.clusterHeight=4*this.blockHeight}},{key:"getNum",value:function(t){return this.scrollTop=t?this.cache.scrollTop:this.scrollEl.scrollTop,Math.floor(this.scrollTop/(this.clusterHeight-this.blockHeight))||0}},{key:"initData",value:function(t,e){if(t.length<50)return{topOffset:0,bottomOffset:0,rowsAbove:0,rows:t};var i=Math.max((this.clusterRows-50)*e,0),n=i+this.clusterRows,o=Math.max(i*this.itemHeight,0),r=Math.max((t.length-n)*this.itemHeight,0),a=[],s=i;o<1&&s++;for(var l=i;l<n;l++)t[l]&&a.push(t[l]);return{topOffset:o,bottomOffset:r,rowsAbove:s,rows:a}}},{key:"checkChanges",value:function(t,e){var i=e!==this.cache[t];return this.cache[t]=e,i}},{key:"getExtra",value:function(t,e){var i=document.createElement("tr");return i.className="virtual-scroll-".concat(t),e&&(i.style.height="".concat(e,"px")),i.outerHTML}}]),t}(),dr=function(){function e(i,n){Xo(this,e),this.options=n,this.$el=t(i),this.$el_=this.$el.clone(),this.timeoutId_=0,this.timeoutFooter_=0,this.init()}return Zo(e,[{key:"init",value:function(){this.initConstants(),this.initLocale(),this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initHiddenRows(),this.initToolbar(),this.initPagination(),this.initBody(),this.initSearchText(),this.initServer()}},{key:"initConstants",value:function(){var e=this.options;this.constants=lr.CONSTANTS,this.constants.theme=t.fn.bootstrapTable.theme;var i=e.buttonsPrefix?"".concat(e.buttonsPrefix,"-"):"";this.constants.buttonsClass=[e.buttonsPrefix,i+e.buttonsClass,hr.sprintf("".concat(i,"%s"),e.iconSize)].join(" ").trim()}},{key:"initLocale",value:function(){if(this.options.locale){var e=t.fn.bootstrapTable.locales,i=this.options.locale.split(/-|_/);i[0]=i[0].toLowerCase(),i[1]&&(i[1]=i[1].toUpperCase()),e[this.options.locale]?t.extend(this.options,e[this.options.locale]):e[i.join("-")]?t.extend(this.options,e[i.join("-")]):e[i[0]]&&t.extend(this.options,e[i[0]])}}},{key:"initContainer",value:function(){var e=["top","both"].includes(this.options.paginationVAlign)?'<div class="fixed-table-pagination clearfix"></div>':"",i=["bottom","both"].includes(this.options.paginationVAlign)?'<div class="fixed-table-pagination"></div>':"";this.$container=t('\n      <div class="bootstrap-table '.concat(this.constants.theme,'">\n      <div class="fixed-table-toolbar"></div>\n      ').concat(e,'\n      <div class="fixed-table-container">\n      <div class="fixed-table-header"><table></table></div>\n      <div class="fixed-table-body">\n      <div class="fixed-table-loading">\n      <span class="loading-wrap">\n      <span class="loading-text">').concat(this.options.formatLoadingMessage(),'</span>\n      <span class="animation-wrap"><span class="animation-dot"></span></span>\n      </span>\n      </div>\n      </div>\n      <div class="fixed-table-footer"><table><thead><tr></tr></thead></table></div>\n      </div>\n      ').concat(i,"\n      </div>\n    ")),this.$container.insertAfter(this.$el),this.$tableContainer=this.$container.find(".fixed-table-container"),this.$tableHeader=this.$container.find(".fixed-table-header"),this.$tableBody=this.$container.find(".fixed-table-body"),this.$tableLoading=this.$container.find(".fixed-table-loading"),this.$tableFooter=this.$el.find("tfoot"),this.options.buttonsToolbar?this.$toolbar=t("body").find(this.options.buttonsToolbar):this.$toolbar=this.$container.find(".fixed-table-toolbar"),this.$pagination=this.$container.find(".fixed-table-pagination"),this.$tableBody.append(this.$el),this.$container.after('<div class="clearfix"></div>'),this.$el.addClass(this.options.classes),this.$tableLoading.addClass(this.options.classes),this.options.height&&(this.$tableContainer.addClass("fixed-height"),this.options.showFooter&&this.$tableContainer.addClass("has-footer"),this.options.classes.split(" ").includes("table-bordered")&&(this.$tableBody.append('<div class="fixed-table-border"></div>'),this.$tableBorder=this.$tableBody.find(".fixed-table-border"),this.$tableLoading.addClass("fixed-table-border")),this.$tableFooter=this.$container.find(".fixed-table-footer"))}},{key:"initTable",value:function(){var i=this,n=[];this.$header=this.$el.find(">thead"),this.$header.length?this.options.theadClasses&&this.$header.addClass(this.options.theadClasses):this.$header=t('<thead class="'.concat(this.options.theadClasses,'"></thead>')).appendTo(this.$el),this.$header.find("tr").each((function(e,i){var o=[];t(i).find("th").each((function(e,i){void 0!==t(i).data("field")&&t(i).data("field","".concat(t(i).data("field"))),o.push(t.extend({},{title:t(i).html(),class:t(i).attr("class"),titleTooltip:t(i).attr("title"),rowspan:t(i).attr("rowspan")?+t(i).attr("rowspan"):void 0,colspan:t(i).attr("colspan")?+t(i).attr("colspan"):void 0},t(i).data()))})),n.push(o)})),Array.isArray(this.options.columns[0])||(this.options.columns=[this.options.columns]),this.options.columns=t.extend(!0,[],n,this.options.columns),this.columns=[],this.fieldsColumnsIndex=[],hr.setFieldIndex(this.options.columns),this.options.columns.forEach((function(n,o){n.forEach((function(n,r){var a=t.extend({},e.COLUMN_DEFAULTS,n);void 0!==a.fieldIndex&&(i.columns[a.fieldIndex]=a,i.fieldsColumnsIndex[a.field]=a.fieldIndex),i.options.columns[o][r]=a}))})),this.options.data.length||(this.options.data=hr.trToData(this.columns,this.$el.find(">tbody>tr")),this.options.data.length&&(this.fromHtml=!0)),this.footerData=hr.trToData(this.columns,this.$el.find(">tfoot>tr")),this.footerData&&this.$el.find("tfoot").html("<tr></tr>"),!this.options.showFooter||this.options.cardView?this.$tableFooter.hide():this.$tableFooter.show()}},{key:"initHeader",value:function(){var e=this,i={},n=[];this.header={fields:[],styles:[],classes:[],formatters:[],detailFormatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]},hr.updateFieldGroup(this.options.columns),this.options.columns.forEach((function(t,o){n.push("<tr>"),0===o&&!e.options.cardView&&e.options.detailView&&e.options.detailViewIcon&&n.push('<th class="detail" rowspan="'.concat(e.options.columns.length,'">\n          <div class="fht-cell"></div>\n          </th>\n        ')),t.forEach((function(t,r){var a=hr.sprintf(' class="%s"',t.class),s=t.widthUnit,l=parseFloat(t.width),c=hr.sprintf("text-align: %s; ",t.halign?t.halign:t.align),h=hr.sprintf("text-align: %s; ",t.align),u=hr.sprintf("vertical-align: %s; ",t.valign);if(u+=hr.sprintf("width: %s; ",!t.checkbox&&!t.radio||l?l?l+s:void 0:t.showSelectTitle?void 0:"36px"),void 0!==t.fieldIndex||t.visible){var d=hr.calculateObjectValue(null,e.options.headerStyle,[t]),f=[],p="";if(d&&d.css)for(var g=0,v=Object.entries(d.css);g<v.length;g++){var b=tr(v[g],2),m=b[0],y=b[1];f.push("".concat(m,": ").concat(y))}if(d&&d.classes&&(p=hr.sprintf(' class="%s"',t.class?[t.class,d.classes].join(" "):d.classes)),void 0!==t.fieldIndex){if(e.header.fields[t.fieldIndex]=t.field,e.header.styles[t.fieldIndex]=h+u,e.header.classes[t.fieldIndex]=a,e.header.formatters[t.fieldIndex]=t.formatter,e.header.detailFormatters[t.fieldIndex]=t.detailFormatter,e.header.events[t.fieldIndex]=t.events,e.header.sorters[t.fieldIndex]=t.sorter,e.header.sortNames[t.fieldIndex]=t.sortName,e.header.cellStyles[t.fieldIndex]=t.cellStyle,e.header.searchables[t.fieldIndex]=t.searchable,!t.visible)return;if(e.options.cardView&&!t.cardVisible)return;i[t.field]=t}n.push("<th".concat(hr.sprintf(' title="%s"',t.titleTooltip)),t.checkbox||t.radio?hr.sprintf(' class="bs-checkbox %s"',t.class||""):p||a,hr.sprintf(' style="%s"',c+u+f.join("; ")),hr.sprintf(' rowspan="%s"',t.rowspan),hr.sprintf(' colspan="%s"',t.colspan),hr.sprintf(' data-field="%s"',t.field),0===r&&o>0?" data-not-first-th":"",">"),n.push(hr.sprintf('<div class="th-inner %s">',e.options.sortable&&t.sortable?"sortable both":""));var w=e.options.escape?hr.escapeHTML(t.title):t.title,S=w;t.checkbox&&(w="",!e.options.singleSelect&&e.options.checkboxHeader&&(w='<label><input name="btSelectAll" type="checkbox" /><span></span></label>'),e.header.stateField=t.field),t.radio&&(w="",e.header.stateField=t.field),!w&&t.showSelectTitle&&(w+=S),n.push(w),n.push("</div>"),n.push('<div class="fht-cell"></div>'),n.push("</div>"),n.push("</th>")}})),n.push("</tr>")})),this.$header.html(n.join("")),this.$header.find("th[data-field]").each((function(e,n){t(n).data(i[t(n).data("field")])})),this.$container.off("click",".th-inner").on("click",".th-inner",(function(i){var n=t(i.currentTarget);if(e.options.detailView&&!n.parent().hasClass("bs-checkbox")&&n.closest(".bootstrap-table")[0]!==e.$container[0])return!1;e.options.sortable&&n.parent().data().sortable&&e.onSort(i)})),this.$header.children().children().off("keypress").on("keypress",(function(i){e.options.sortable&&t(i.currentTarget).data().sortable&&(13===(i.keyCode||i.which)&&e.onSort(i))}));var o=hr.getResizeEventName(this.$el.attr("id"));t(window).off(o),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$tableHeader.hide(),this.$tableLoading.css("top",0)):(this.$header.show(),this.$tableHeader.show(),this.$tableLoading.css("top",this.$header.outerHeight()+1),this.getCaret(),t(window).on(o,(function(){return e.resetView()}))),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",(function(i){i.stopPropagation();var n=t(i.currentTarget).prop("checked");e[n?"checkAll":"uncheckAll"](),e.updateSelected()}))}},{key:"initData",value:function(t,e){this.options.data="append"===e?this.options.data.concat(t):"prepend"===e?[].concat(t).concat(this.options.data):t||this.options.data,this.data=this.options.data,"server"!==this.options.sidePagination&&this.initSort()}},{key:"initSort",value:function(){var t=this,e=this.options.sortName,i="desc"===this.options.sortOrder?-1:1,n=this.header.fields.indexOf(this.options.sortName),o=0;-1!==n&&(this.options.sortStable&&this.data.forEach((function(t,e){t.hasOwnProperty("_position")||(t._position=e)})),this.options.customSort?hr.calculateObjectValue(this.options,this.options.customSort,[this.options.sortName,this.options.sortOrder,this.data]):this.data.sort((function(o,r){t.header.sortNames[n]&&(e=t.header.sortNames[n]);var a=hr.getItemField(o,e,t.options.escape),s=hr.getItemField(r,e,t.options.escape),l=hr.calculateObjectValue(t.header,t.header.sorters[n],[a,s,o,r]);return void 0!==l?t.options.sortStable&&0===l?i*(o._position-r._position):i*l:hr.sort(a,s,i,t.options.sortStable,o._position,r._position)})),void 0!==this.options.sortClass&&(clearTimeout(o),o=setTimeout((function(){t.$el.removeClass(t.options.sortClass);var e=t.$header.find('[data-field="'.concat(t.options.sortName,'"]')).index();t.$el.find("tr td:nth-child(".concat(e+1,")")).addClass(t.options.sortClass)}),250)))}},{key:"onSort",value:function(e){var i=e.type,n=e.currentTarget,o="keypress"===i?t(n):t(n).parent(),r=this.$header.find("th").eq(o.index());if(this.$header.add(this.$header_).find("span.order").remove(),this.options.sortName===o.data("field")?this.options.sortOrder="asc"===this.options.sortOrder?"desc":"asc":(this.options.sortName=o.data("field"),this.options.rememberOrder?this.options.sortOrder="asc"===o.data("order")?"desc":"asc":this.options.sortOrder=this.columns[this.fieldsColumnsIndex[o.data("field")]].sortOrder||this.columns[this.fieldsColumnsIndex[o.data("field")]].order),this.trigger("sort",this.options.sortName,this.options.sortOrder),o.add(r).data("order",this.options.sortOrder),this.getCaret(),"server"===this.options.sidePagination&&this.options.serverSort)return this.options.pageNumber=1,void this.initServer(this.options.silentSort);this.initSort(),this.initBody()}},{key:"initToolbar",value:function(){var e,i=this,n=this.options,o=[],r=0,a=0;this.$toolbar.find(".bs-bars").children().length&&t("body").append(t(n.toolbar)),this.$toolbar.html(""),"string"!=typeof n.toolbar&&"object"!==Yo(n.toolbar)||t(hr.sprintf('<div class="bs-bars %s-%s"></div>',this.constants.classes.pull,n.toolbarAlign)).appendTo(this.$toolbar).append(t(n.toolbar)),o=['<div class="'.concat(["columns","columns-".concat(n.buttonsAlign),this.constants.classes.buttonsGroup,"".concat(this.constants.classes.pull,"-").concat(n.buttonsAlign)].join(" "),'">')],"string"==typeof n.icons&&(n.icons=hr.calculateObjectValue(null,n.icons));var s={paginationSwitch:'<button class="'.concat(this.constants.buttonsClass,'" type="button" name="paginationSwitch"\n        aria-label="Pagination Switch" title="').concat(n.formatPaginationSwitch(),'">\n        ').concat(n.showButtonIcons?hr.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.paginationSwitchDown):"","\n        ").concat(n.showButtonText?n.formatPaginationSwitchUp():"","\n        </button>"),refresh:'<button class="'.concat(this.constants.buttonsClass,'" type="button" name="refresh"\n        aria-label="Refresh" title="').concat(n.formatRefresh(),'">\n        ').concat(n.showButtonIcons?hr.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.refresh):"","\n        ").concat(n.showButtonText?n.formatRefresh():"","\n        </button>"),toggle:'<button class="'.concat(this.constants.buttonsClass,'" type="button" name="toggle"\n        aria-label="Toggle" title="').concat(n.formatToggle(),'">\n        ').concat(n.showButtonIcons?hr.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.toggleOff):"","\n        ").concat(n.showButtonText?n.formatToggleOn():"","\n        </button>"),fullscreen:'<button class="'.concat(this.constants.buttonsClass,'" type="button" name="fullscreen"\n        aria-label="Fullscreen" title="').concat(n.formatFullscreen(),'">\n        ').concat(n.showButtonIcons?hr.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.fullscreen):"","\n        ").concat(n.showButtonText?n.formatFullscreen():"","\n        </button>"),columns:function(){var t=[];if(t.push('<div class="keep-open '.concat(i.constants.classes.buttonsDropdown,'" title="').concat(n.formatColumns(),'">\n          <button class="').concat(i.constants.buttonsClass,' dropdown-toggle" type="button" data-toggle="dropdown"\n          aria-label="Columns" title="').concat(n.formatColumns(),'">\n          ').concat(n.showButtonIcons?hr.sprintf(i.constants.html.icon,n.iconsPrefix,n.icons.columns):"","\n          ").concat(n.showButtonText?n.formatColumns():"","\n          ").concat(i.constants.html.dropdownCaret,"\n          </button>\n          ").concat(i.constants.html.toolbarDropdown[0])),n.showColumnsSearch&&(t.push(hr.sprintf(i.constants.html.toolbarDropdownItem,hr.sprintf('<input type="text" class="%s" id="columnsSearch" placeholder="%s" autocomplete="off">',i.constants.classes.input,n.formatSearch()))),t.push(i.constants.html.toolbarDropdownSeparator)),n.showColumnsToggleAll){var e=i.getVisibleColumns().length===i.columns.filter((function(t){return!i.isSelectionColumn(t)})).length;t.push(hr.sprintf(i.constants.html.toolbarDropdownItem,hr.sprintf('<input type="checkbox" class="toggle-all" %s> <span>%s</span>',e?'checked="checked"':"",n.formatColumnsToggleAll()))),t.push(i.constants.html.toolbarDropdownSeparator)}var o=0;return i.columns.forEach((function(t,e){t.visible&&o++})),i.columns.forEach((function(e,r){if(!i.isSelectionColumn(e)&&(!n.cardView||e.cardVisible)){var s=e.visible?' checked="checked"':"",l=o<=i.options.minimumCountColumns&&s?' disabled="disabled"':"";e.switchable&&(t.push(hr.sprintf(i.constants.html.toolbarDropdownItem,hr.sprintf('<input type="checkbox" data-field="%s" value="%s"%s%s> <span>%s</span>',e.field,r,s,l,e.title))),a++)}})),t.push(i.constants.html.toolbarDropdown[1],"</div>"),t.join("")}()};"string"==typeof n.buttonsOrder&&(n.buttonsOrder=n.buttonsOrder.replace(/\[|\]| |'/g,"").toLowerCase().split(","));var l=!0,c=!1,h=void 0;try{for(var u,d=n.buttonsOrder[Symbol.iterator]();!(l=(u=d.next()).done);l=!0){var f=u.value;n["show"+f.charAt(0).toUpperCase()+f.substring(1)]&&o.push(s[f])}}catch(t){c=!0,h=t}finally{try{l||null==d.return||d.return()}finally{if(c)throw h}}if(o.push("</div>"),(this.showToolbar||o.length>2)&&this.$toolbar.append(o.join("")),n.showPaginationSwitch&&this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",(function(){return i.togglePagination()})),n.showFullscreen&&this.$toolbar.find('button[name="fullscreen"]').off("click").on("click",(function(){return i.toggleFullscreen()})),n.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",(function(){return i.refresh()})),n.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",(function(){i.toggleView()})),n.showColumns){var p=(e=this.$toolbar.find(".keep-open")).find('input[type="checkbox"]:not(".toggle-all")'),g=e.find('input[type="checkbox"].toggle-all');if(a<=n.minimumCountColumns&&e.find("input").prop("disabled",!0),e.find("li, label").off("click").on("click",(function(t){t.stopImmediatePropagation()})),p.off("click").on("click",(function(e){var n=e.currentTarget,o=t(n);i._toggleColumn(o.val(),o.prop("checked"),!1),i.trigger("column-switch",o.data("field"),o.prop("checked")),g.prop("checked",p.filter(":checked").length===i.columns.filter((function(t){return!i.isSelectionColumn(t)})).length)})),g.off("click").on("click",(function(e){var n=e.currentTarget;i._toggleAllColumns(t(n).prop("checked"))})),n.showColumnsSearch){var v=e.find("#columnsSearch"),b=e.find(".dropdown-item-marker");v.on("keyup paste change",(function(e){var i=e.currentTarget,n=t(i).val().toLowerCase();b.show(),p.each((function(e,i){var o=t(i).parents(".dropdown-item-marker");o.text().toLowerCase().includes(n)||o.hide()}))}))}}if(n.search||this.showSearchClearButton){o=[];var m=hr.sprintf(this.constants.html.searchButton,this.constants.buttonsClass,n.formatSearch(),n.showButtonIcons?hr.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.search):"",n.showButtonText?n.formatSearch():""),y=hr.sprintf(this.constants.html.searchClearButton,this.constants.buttonsClass,n.formatClearSearch(),n.showButtonIcons?hr.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.clearSearch):"",n.showButtonText?n.formatClearSearch():""),w='<input class="'.concat(this.constants.classes.input,"\n        ").concat(hr.sprintf(" %s%s",this.constants.classes.inputPrefix,n.iconSize),'\n        search-input" type="text" placeholder="').concat(n.formatSearch(),'" autocomplete="off">'),S=w;if(n.showSearchButton||n.showSearchClearButton){var x=(n.showSearchButton?m:"")+(n.showSearchClearButton?y:"");S=n.search?hr.sprintf(this.constants.html.inputGroup,w,x):x}o.push(hr.sprintf('\n        <div class="'.concat(this.constants.classes.pull,"-").concat(n.searchAlign," search ").concat(this.constants.classes.inputGroup,'">\n          %s\n        </div>\n      '),S)),this.$toolbar.append(o.join(""));var k=this.$toolbar.find(".search input"),O=function(){var t="keyup drop blur ".concat(hr.isIEBrowser()?"mouseup":"");k.off(t).on(t,(function(t){n.searchOnEnterKey&&13!==t.keyCode||[37,38,39,40].includes(t.keyCode)||(clearTimeout(r),r=setTimeout((function(){i.onSearch({currentTarget:t.currentTarget})}),n.searchTimeOut))}))};n.showSearchButton?(this.$toolbar.find(".search button[name=search]").off("click").on("click",(function(t){clearTimeout(r),r=setTimeout((function(){i.onSearch({currentTarget:k})}),n.searchTimeOut)})),n.searchOnEnterKey&&O()):O(),n.showSearchClearButton&&this.$toolbar.find(".search button[name=clearSearch]").click((function(){i.resetSearch()}))}}},{key:"onSearch",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.currentTarget,n=e.firedByInitSearchText,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0!==i&&t(i).length&&o){var r=t(i).val().trim();if(this.options.trimOnSearch&&t(i).val()!==r&&t(i).val(r),this.searchText===r&&r.length>0)return;t(i).hasClass("search-input")&&(this.searchText=r,this.options.searchText=r)}n||(this.options.pageNumber=1),this.initSearch(),n?"client"===this.options.sidePagination&&this.updatePagination():this.updatePagination(),this.trigger("search",this.searchText)}},{key:"initSearch",value:function(){var t=this;if(this.filterOptions=this.filterOptions||this.options.filterOptions,"server"!==this.options.sidePagination){if(this.options.customSearch)return void(this.data=hr.calculateObjectValue(this.options,this.options.customSearch,[this.options.data,this.searchText,this.filterColumns]));var e=this.searchText&&(this.fromHtml?hr.escapeHTML(this.searchText):this.searchText).toLowerCase(),i=hr.isEmptyObject(this.filterColumns)?null:this.filterColumns;"function"==typeof this.filterOptions.filterAlgorithm?this.data=this.options.data.filter((function(e,n){return t.filterOptions.filterAlgorithm.apply(null,[e,i])})):"string"==typeof this.filterOptions.filterAlgorithm&&(this.data=i?this.options.data.filter((function(e,n){var o=t.filterOptions.filterAlgorithm;if("and"===o){for(var r in i)if(Array.isArray(i[r])&&!i[r].includes(e[r])||!Array.isArray(i[r])&&e[r]!==i[r])return!1}else if("or"===o){var a=!1;for(var s in i)(Array.isArray(i[s])&&i[s].includes(e[s])||!Array.isArray(i[s])&&e[s]===i[s])&&(a=!0);return a}return!0})):this.options.data);var n=this.getVisibleFields();this.data=e?this.data.filter((function(i,o){for(var r=0;r<t.header.fields.length;r++)if(t.header.searchables[r]&&(!t.options.visibleSearch||-1!==n.indexOf(t.header.fields[r]))){var a=hr.isNumeric(t.header.fields[r])?parseInt(t.header.fields[r],10):t.header.fields[r],s=t.columns[t.fieldsColumnsIndex[a]],l=void 0;if("string"==typeof a){l=i;for(var c=a.split("."),h=0;h<c.length;h++)null!==l[c[h]]&&(l=l[c[h]])}else l=i[a];if(s&&s.searchFormatter&&(l=hr.calculateObjectValue(s,t.header.formatters[r],[l,i,o,s.field],l)),"string"==typeof l||"number"==typeof l)if(t.options.strictSearch){if("".concat(l).toLowerCase()===e)return!0}else{var u=/(?:(<=|=>|=<|>=|>|<)(?:\s+)?(\d+)?|(\d+)?(\s+)?(<=|=>|=<|>=|>|<))/gm.exec(e),d=!1;if(u){var f=u[1]||"".concat(u[5],"l"),p=u[2]||u[3],g=parseInt(l,10),v=parseInt(p,10);switch(f){case">":case"<l":d=g>v;break;case"<":case">l":d=g<v;break;case"<=":case"=<":case">=l":case"=>l":d=g<=v;break;case">=":case"=>":case"<=l":case"=<l":d=g>=v}}if(d||"".concat(l).toLowerCase().includes(e))return!0}}return!1})):this.data}this.initSort()}},{key:"initPagination",value:function(){var t=this,e=this.options;if(e.pagination){this.$pagination.show();var i,n,o,r,a,s,l,c=[],h=!1,u=this.getData({includeHiddenRows:!1}),d=e.pageList;"string"==typeof d&&(d=d.replace(/\[|\]| /g,"").toLowerCase().split(",")),d=d.map((function(t){return"string"==typeof t?t.toLowerCase()===e.formatAllRows().toLowerCase()||["all","unlimited"].includes(t.toLowerCase())?e.formatAllRows():+t:t})),"server"!==e.sidePagination&&(e.totalRows=u.length),this.totalPages=0,e.totalRows&&(e.pageSize===e.formatAllRows()&&(e.pageSize=e.totalRows,h=!0),this.totalPages=1+~~((e.totalRows-1)/e.pageSize),e.totalPages=this.totalPages),this.totalPages>0&&e.pageNumber>this.totalPages&&(e.pageNumber=this.totalPages),this.pageFrom=(e.pageNumber-1)*e.pageSize+1,this.pageTo=e.pageNumber*e.pageSize,this.pageTo>e.totalRows&&(this.pageTo=e.totalRows),this.options.pagination&&"server"!==this.options.sidePagination&&(this.options.totalNotFiltered=this.options.data.length),this.options.showExtendedPagination||(this.options.totalNotFiltered=void 0);var f=e.onlyInfoPagination?e.formatDetailPagination(e.totalRows):e.formatShowingRows(this.pageFrom,this.pageTo,e.totalRows,e.totalNotFiltered);if(c.push('<div class="'.concat(this.constants.classes.pull,"-").concat(e.paginationDetailHAlign,' pagination-detail">\n      <span class="pagination-info">\n      ').concat(f,"\n      </span>")),!e.onlyInfoPagination){c.push('<span class="page-list">');var p=['<span class="'.concat(this.constants.classes.paginationDropdown,'">\n        <button class="').concat(this.constants.buttonsClass,' dropdown-toggle" type="button" data-toggle="dropdown">\n        <span class="page-size">\n        ').concat(h?e.formatAllRows():e.pageSize,"\n        </span>\n        ").concat(this.constants.html.dropdownCaret,"\n        </button>\n        ").concat(this.constants.html.pageDropdown[0])];d.forEach((function(i,n){var o;(!e.smartDisplay||0===n||d[n-1]<e.totalRows)&&(o=h?i===e.formatAllRows()?t.constants.classes.dropdownActive:"":i===e.pageSize?t.constants.classes.dropdownActive:"",p.push(hr.sprintf(t.constants.html.pageDropdownItem,o,i)))})),p.push("".concat(this.constants.html.pageDropdown[1],"</span>")),c.push(e.formatRecordsPerPage(p.join(""))),c.push("</span></div>"),c.push('<div class="'.concat(this.constants.classes.pull,"-").concat(e.paginationHAlign,' pagination">'),hr.sprintf(this.constants.html.pagination[0],hr.sprintf(" pagination-%s",e.iconSize)),hr.sprintf(this.constants.html.paginationItem," page-pre",e.formatSRPaginationPreText(),e.paginationPreText)),this.totalPages<e.paginationSuccessivelySize?(n=1,o=this.totalPages):o=(n=e.pageNumber-e.paginationPagesBySide)+2*e.paginationPagesBySide,e.pageNumber<e.paginationSuccessivelySize-1&&(o=e.paginationSuccessivelySize),e.paginationSuccessivelySize>this.totalPages-n&&(n=n-(e.paginationSuccessivelySize-(this.totalPages-n))+1),n<1&&(n=1),o>this.totalPages&&(o=this.totalPages);var g=Math.round(e.paginationPagesBySide/2),v=function(i){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return hr.sprintf(t.constants.html.paginationItem,n+(i===e.pageNumber?" ".concat(t.constants.classes.paginationActive):""),e.formatSRPaginationPageText(i),i)};if(n>1){var b=e.paginationPagesBySide;for(b>=n&&(b=n-1),i=1;i<=b;i++)c.push(v(i));n-1===b+1?(i=n-1,c.push(v(i))):n-1>b&&(n-2*e.paginationPagesBySide>e.paginationPagesBySide&&e.paginationUseIntermediate?(i=Math.round((n-g)/2+g),c.push(v(i," page-intermediate"))):c.push(hr.sprintf(this.constants.html.paginationItem," page-first-separator disabled","","...")))}for(i=n;i<=o;i++)c.push(v(i));if(this.totalPages>o){var m=this.totalPages-(e.paginationPagesBySide-1);for(o>=m&&(m=o+1),o+1===m-1?(i=o+1,c.push(v(i))):m>o+1&&(this.totalPages-o>2*e.paginationPagesBySide&&e.paginationUseIntermediate?(i=Math.round((this.totalPages-g-o)/2+o),c.push(v(i," page-intermediate"))):c.push(hr.sprintf(this.constants.html.paginationItem," page-last-separator disabled","","..."))),i=m;i<=this.totalPages;i++)c.push(v(i))}c.push(hr.sprintf(this.constants.html.paginationItem," page-next",e.formatSRPaginationNextText(),e.paginationNextText)),c.push(this.constants.html.pagination[1],"</div>")}this.$pagination.html(c.join(""));var y=["bottom","both"].includes(e.paginationVAlign)?" ".concat(this.constants.classes.dropup):"";this.$pagination.last().find(".page-list > span").addClass(y),e.onlyInfoPagination||(r=this.$pagination.find(".page-list a"),a=this.$pagination.find(".page-pre"),s=this.$pagination.find(".page-next"),l=this.$pagination.find(".page-item").not(".page-next, .page-pre, .page-last-separator, .page-first-separator"),this.totalPages<=1&&this.$pagination.find("div.pagination").hide(),e.smartDisplay&&(d.length<2||e.totalRows<=d[0])&&this.$pagination.find("span.page-list").hide(),this.$pagination[this.getData().length?"show":"hide"](),e.paginationLoop||(1===e.pageNumber&&a.addClass("disabled"),e.pageNumber===this.totalPages&&s.addClass("disabled")),h&&(e.pageSize=e.formatAllRows()),r.off("click").on("click",(function(e){return t.onPageListChange(e)})),a.off("click").on("click",(function(e){return t.onPagePre(e)})),s.off("click").on("click",(function(e){return t.onPageNext(e)})),l.off("click").on("click",(function(e){return t.onPageNumber(e)})))}else this.$pagination.hide()}},{key:"updatePagination",value:function(e){e&&t(e.currentTarget).hasClass("disabled")||(this.options.maintainMetaData||this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody(),this.trigger("page-change",this.options.pageNumber,this.options.pageSize))}},{key:"onPageListChange",value:function(e){e.preventDefault();var i=t(e.currentTarget);return i.parent().addClass(this.constants.classes.dropdownActive).siblings().removeClass(this.constants.classes.dropdownActive),this.options.pageSize=i.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+i.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination(e),!1}},{key:"onPagePre",value:function(t){return t.preventDefault(),this.options.pageNumber-1==0?this.options.pageNumber=this.options.totalPages:this.options.pageNumber--,this.updatePagination(t),!1}},{key:"onPageNext",value:function(t){return t.preventDefault(),this.options.pageNumber+1>this.options.totalPages?this.options.pageNumber=1:this.options.pageNumber++,this.updatePagination(t),!1}},{key:"onPageNumber",value:function(e){if(e.preventDefault(),this.options.pageNumber!==+t(e.currentTarget).text())return this.options.pageNumber=+t(e.currentTarget).text(),this.updatePagination(e),!1}},{key:"initRow",value:function(t,e,i,n){var o=this,r=[],a={},s=[],l="",c={},h=[];if(!(hr.findIndex(this.hiddenRows,t)>-1)){if((a=hr.calculateObjectValue(this.options,this.options.rowStyle,[t,e],a))&&a.css)for(var u=0,d=Object.entries(a.css);u<d.length;u++){var f=tr(d[u],2),p=f[0],g=f[1];s.push("".concat(p,": ").concat(g))}if(c=hr.calculateObjectValue(this.options,this.options.rowAttributes,[t,e],c))for(var v=0,b=Object.entries(c);v<b.length;v++){var m=tr(b[v],2),y=m[0],w=m[1];h.push("".concat(y,'="').concat(hr.escapeHTML(w),'"'))}if(t._data&&!hr.isEmptyObject(t._data))for(var S=0,x=Object.entries(t._data);S<x.length;S++){var k=tr(x[S],2),O=k[0],C=k[1];if("index"===O)return;l+=" data-".concat(O,"='").concat("object"===Yo(C)?JSON.stringify(C):C,"'")}return r.push("<tr",hr.sprintf(" %s",h.length?h.join(" "):void 0),hr.sprintf(' id="%s"',Array.isArray(t)?void 0:t._id),hr.sprintf(' class="%s"',a.classes||(Array.isArray(t)?void 0:t._class)),' data-index="'.concat(e,'"'),hr.sprintf(' data-uniqueid="%s"',hr.getItemField(t,this.options.uniqueId,!1)),hr.sprintf(' data-has-detail-view="%s"',!this.options.cardView&&this.options.detailView&&hr.calculateObjectValue(null,this.options.detailFilter,[e,t])?"true":void 0),hr.sprintf("%s",l),">"),this.options.cardView&&r.push('<td colspan="'.concat(this.header.fields.length,'"><div class="card-views">')),!this.options.cardView&&this.options.detailView&&this.options.detailViewIcon&&(r.push("<td>"),hr.calculateObjectValue(null,this.options.detailFilter,[e,t])&&r.push('\n          <a class="detail-icon" href="#">\n          '.concat(hr.sprintf(this.constants.html.icon,this.options.iconsPrefix,this.options.icons.detailOpen),"\n          </a>\n        ")),r.push("</td>")),this.header.fields.forEach((function(i,n){var a="",l=hr.getItemField(t,i,o.options.escape),c="",h="",u={},d="",f=o.header.classes[n],p="",g="",v="",b="",m="",y=o.columns[n];if((!o.fromHtml||void 0!==l||y.checkbox||y.radio)&&y.visible&&(!o.options.cardView||y.cardVisible)){if(y.escape&&(l=hr.escapeHTML(l)),s.concat([o.header.styles[n]]).length&&(p=' style="'.concat(s.concat([o.header.styles[n]]).join("; "),'"')),t["_".concat(i,"_id")]&&(d=hr.sprintf(' id="%s"',t["_".concat(i,"_id")])),t["_".concat(i,"_class")]&&(f=hr.sprintf(' class="%s"',t["_".concat(i,"_class")])),t["_".concat(i,"_rowspan")]&&(v=hr.sprintf(' rowspan="%s"',t["_".concat(i,"_rowspan")])),t["_".concat(i,"_colspan")]&&(b=hr.sprintf(' colspan="%s"',t["_".concat(i,"_colspan")])),t["_".concat(i,"_title")]&&(m=hr.sprintf(' title="%s"',t["_".concat(i,"_title")])),(u=hr.calculateObjectValue(o.header,o.header.cellStyles[n],[l,t,e,i],u)).classes&&(f=' class="'.concat(u.classes,'"')),u.css){for(var w=[],S=0,x=Object.entries(u.css);S<x.length;S++){var k=tr(x[S],2),O=k[0],C=k[1];w.push("".concat(O,": ").concat(C))}p=' style="'.concat(w.concat(o.header.styles[n]).join("; "),'"')}if(c=hr.calculateObjectValue(y,o.header.formatters[n],[l,t,e,i],l),t["_".concat(i,"_data")]&&!hr.isEmptyObject(t["_".concat(i,"_data")]))for(var T=0,P=Object.entries(t["_".concat(i,"_data")]);T<P.length;T++){var $=tr(P[T],2),I=$[0],A=$[1];if("index"===I)return;g+=" data-".concat(I,'="').concat(A,'"')}if(y.checkbox||y.radio){h=y.checkbox?"checkbox":h,h=y.radio?"radio":h;var E=y.class||"",R=(!0===c||l||c&&c.checked)&&!1!==c,j=!y.checkboxEnabled||c&&c.disabled;a=[o.options.cardView?'<div class="card-view '.concat(E,'">'):'<td class="bs-checkbox '.concat(E,'"').concat(f).concat(p,">"),'<label>\n            <input\n            data-index="'.concat(e,'"\n            name="').concat(o.options.selectItemName,'"\n            type="').concat(h,'"\n            ').concat(hr.sprintf('value="%s"',t[o.options.idField]),"\n            ").concat(hr.sprintf('checked="%s"',R?"checked":void 0),"\n            ").concat(hr.sprintf('disabled="%s"',j?"disabled":void 0)," />\n            <span></span>\n            </label>"),o.header.formatters[n]&&"string"==typeof c?c:"",o.options.cardView?"</div>":"</td>"].join(""),t[o.header.stateField]=!0===c||!!l||c&&c.checked}else if(c=null==c?o.options.undefinedText:c,o.options.cardView){var N=o.options.showHeader?'<span class="card-view-title"'.concat(p,">").concat(hr.getFieldTitle(o.columns,i),"</span>"):"";a='<div class="card-view">'.concat(N,'<span class="card-view-value">').concat(c,"</span></div>"),o.options.smartDisplay&&""===c&&(a='<div class="card-view"></div>')}else a="<td".concat(d).concat(f).concat(p).concat(g).concat(v).concat(b).concat(m,">").concat(c,"</td>");r.push(a)}})),this.options.cardView&&r.push("</div></td>"),r.push("</tr>"),r.join("")}}},{key:"initBody",value:function(e){var i=this,n=this.getData();this.trigger("pre-body",n),this.$body=this.$el.find(">tbody"),this.$body.length||(this.$body=t("<tbody></tbody>").appendTo(this.$el)),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=n.length);for(var o=[],r=t(document.createDocumentFragment()),a=!1,s=this.pageFrom-1;s<this.pageTo;s++){var l=n[s],c=this.initRow(l,s,n,r);a=a||!!c,c&&"string"==typeof c&&(this.options.virtualScroll?o.push(c):r.append(c))}a?this.options.virtualScroll?(this.virtualScroll&&this.virtualScroll.destroy(),this.virtualScroll=new ur({rows:o,fixedScroll:e,scrollEl:this.$tableBody[0],contentEl:this.$body[0],itemHeight:this.options.virtualScrollItemHeight,callback:function(){i.fitHeader(),i.initBodyEvent()}})):this.$body.html(r):this.$body.html('<tr class="no-records-found">'.concat(hr.sprintf('<td colspan="%s">%s</td>',this.$header.find("th").length,this.options.formatNoMatches()),"</tr>")),e||this.scrollTo(0),this.initBodyEvent(),this.updateSelected(),this.initFooter(),this.resetView(),"server"!==this.options.sidePagination&&(this.options.totalRows=n.length),this.trigger("post-body",n)}},{key:"initBodyEvent",value:function(){var e=this;this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",(function(i){var n=t(i.currentTarget),o=n.parent(),r=t(i.target).parents(".card-views").children(),a=t(i.target).parents(".card-view"),s=o.data("index"),l=e.data[s],c=e.options.cardView?r.index(a):n[0].cellIndex,h=e.getVisibleFields()[e.options.detailView&&e.options.detailViewIcon&&!e.options.cardView?c-1:c],u=e.columns[e.fieldsColumnsIndex[h]],d=hr.getItemField(l,h,e.options.escape);if(!n.find(".detail-icon").length){if(e.trigger("click"===i.type?"click-cell":"dbl-click-cell",h,d,l,n),e.trigger("click"===i.type?"click-row":"dbl-click-row",l,o,h),"click"===i.type&&e.options.clickToSelect&&u.clickToSelect&&!hr.calculateObjectValue(e.options,e.options.ignoreClickToSelectOn,[i.target])){var f=o.find(hr.sprintf('[name="%s"]',e.options.selectItemName));f.length&&f[0].click()}"click"===i.type&&e.options.detailViewByClick&&e.toggleDetailView(s,e.header.detailFormatters[e.fieldsColumnsIndex[h]])}})).off("mousedown").on("mousedown",(function(t){e.multipleSelectRowCtrlKey=t.ctrlKey||t.metaKey,e.multipleSelectRowShiftKey=t.shiftKey})),this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",(function(i){return i.preventDefault(),e.toggleDetailView(t(i.currentTarget).parent().parent().data("index")),!1})),this.$selectItem=this.$body.find(hr.sprintf('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",(function(i){i.stopImmediatePropagation();var n=t(i.currentTarget);e._toggleCheck(n.prop("checked"),n.data("index"))})),this.header.events.forEach((function(i,n){var o=i;if(o){"string"==typeof o&&(o=hr.calculateObjectValue(null,o));var r=e.header.fields[n],a=e.getVisibleFields().indexOf(r);if(-1!==a){e.options.detailView&&!e.options.cardView&&(a+=1);var s=function(i){if(!o.hasOwnProperty(i))return"continue";var n=o[i];e.$body.find(">tr:not(.no-records-found)").each((function(o,s){var l=t(s),c=l.find(e.options.cardView?".card-views>.card-view":">td").eq(a),h=i.indexOf(" "),u=i.substring(0,h),d=i.substring(h+1);c.find(d).off(u).on(u,(function(t){var i=l.data("index"),o=e.data[i],a=o[r];n.apply(e,[t,a,o,i])}))}))};for(var l in o)s(l)}}}))}},{key:"initServer",value:function(e,i,n){var o=this,r={},a=this.header.fields.indexOf(this.options.sortName),s={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};if(this.header.sortNames[a]&&(s.sortName=this.header.sortNames[a]),this.options.pagination&&"server"===this.options.sidePagination&&(s.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,s.pageNumber=this.options.pageNumber),(n||this.options.url||this.options.ajax)&&("limit"===this.options.queryParamsType&&(s={search:s.searchText,sort:s.sortName,order:s.sortOrder},this.options.pagination&&"server"===this.options.sidePagination&&(s.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1),s.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,0===s.limit&&delete s.limit)),hr.isEmptyObject(this.filterColumnsPartial)||(s.filter=JSON.stringify(this.filterColumnsPartial,null)),t.extend(s,i||{}),!1!==(r=hr.calculateObjectValue(this.options,this.options.queryParams,[s],r)))){e||this.showLoading();var l=t.extend({},hr.calculateObjectValue(null,this.options.ajaxOptions),{type:this.options.method,url:n||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(r):r,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(t,i,n){var r=hr.calculateObjectValue(o.options,o.options.responseHandler,[t,n],t);o.load(r),o.trigger("load-success",r,n&&n.status,n),e||o.hideLoading(),"server"===o.options.sidePagination&&r[o.options.totalField]>0&&!r[o.options.dataField].length&&o.updatePagination()},error:function(t){var i=[];"server"===o.options.sidePagination&&((i={})[o.options.totalField]=0,i[o.options.dataField]=[]),o.load(i),o.trigger("load-error",t&&t.status,t),e||o.$tableLoading.hide()}});return this.options.ajax?hr.calculateObjectValue(this,this.options.ajax,[l],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=t.ajax(l)),r}}},{key:"initSearchText",value:function(){if(this.options.search&&(this.searchText="",""!==this.options.searchText)){var t=this.$toolbar.find(".search input");t.val(this.options.searchText),this.onSearch({currentTarget:t,firedByInitSearchText:!0})}}},{key:"getCaret",value:function(){var e=this;this.$header.find("th").each((function(i,n){t(n).find(".sortable").removeClass("desc asc").addClass(t(n).data("field")===e.options.sortName?e.options.sortOrder:"both")}))}},{key:"updateSelected",value:function(){var e=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",e),this.$selectItem.each((function(e,i){t(i).closest("tr")[t(i).prop("checked")?"addClass":"removeClass"]("selected")}))}},{key:"updateRows",value:function(){var e=this;this.$selectItem.each((function(i,n){e.data[t(n).data("index")][e.header.stateField]=t(n).prop("checked")}))}},{key:"resetRows",value:function(){var t=!0,e=!1,i=void 0;try{for(var n,o=this.data[Symbol.iterator]();!(t=(n=o.next()).done);t=!0){var r=n.value;this.$selectAll.prop("checked",!1),this.$selectItem.prop("checked",!1),this.header.stateField&&(r[this.header.stateField]=!1)}}catch(t){e=!0,i=t}finally{try{t||null==o.return||o.return()}finally{if(e)throw i}}this.initHiddenRows()}},{key:"trigger",value:function(i){for(var n,o="".concat(i,".bs.table"),r=arguments.length,a=new Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];(n=this.options)[e.EVENTS[o]].apply(n,a),this.$el.trigger(t.Event(o),a),this.options.onAll(o,a),this.$el.trigger(t.Event("all.bs.table"),[o,a])}},{key:"resetHeader",value:function(){var t=this;clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout((function(){return t.fitHeader()}),this.$el.is(":hidden")?100:0)}},{key:"fitHeader",value:function(){var e=this;if(this.$el.is(":hidden"))this.timeoutId_=setTimeout((function(){return e.fitHeader()}),100);else{var i=this.$tableBody.get(0),n=i.scrollWidth>i.clientWidth&&i.scrollHeight>i.clientHeight+this.$header.outerHeight()?hr.getScrollBarWidth():0;this.$el.css("margin-top",-this.$header.outerHeight());var o=t(":focus");if(o.length>0){var r=o.parents("th");if(r.length>0){var a=r.attr("data-field");if(void 0!==a){var s=this.$header.find("[data-field='".concat(a,"']"));s.length>0&&s.find(":input").addClass("focus-temp")}}}this.$header_=this.$header.clone(!0,!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),this.$tableHeader.css("margin-right",n).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_),this.$tableLoading.css("width",this.$el.outerWidth());var l=t(".focus-temp:visible:eq(0)");l.length>0&&(l.focus(),this.$header.find(".focus-temp").removeClass("focus-temp")),this.$header.find("th[data-field]").each((function(i,n){e.$header_.find(hr.sprintf('th[data-field="%s"]',t(n).data("field"))).data(t(n).data())}));for(var c=this.getVisibleFields(),h=this.$header_.find("th"),u=this.$body.find(">tr:not(.no-records-found,.virtual-scroll-top)").eq(0);u.length&&u.find('>td[colspan]:not([colspan="1"])').length;)u=u.next();u.find("> *").each((function(i,n){var o=t(n),r=i;if(e.options.detailView&&e.options.detailViewIcon&&!e.options.cardView){if(0===i){var a=h.filter(".detail"),s=a.innerWidth()-a.find(".fht-cell").width();a.find(".fht-cell").width(o.innerWidth()-s)}r=i-1}if(-1!==r){var l=e.$header_.find(hr.sprintf('th[data-field="%s"]',c[r]));l.length>1&&(l=t(h[o[0].cellIndex]));var u=l.innerWidth()-l.find(".fht-cell").width();l.find(".fht-cell").width(o.innerWidth()-u)}})),this.horizontalScroll(),this.trigger("post-header")}}},{key:"initFooter",value:function(){if(this.options.showFooter&&!this.options.cardView){var t=this.getData(),e=[];!this.options.cardView&&this.options.detailView&&this.options.detailViewIcon&&e.push('<th class="detail"><div class="th-inner"></div><div class="fht-cell"></div></th>');var i=!0,n=!1,o=void 0;try{for(var r,a=this.columns[Symbol.iterator]();!(i=(r=a.next()).done);i=!0){var s,l,c=r.value,h=[],u={},d=hr.sprintf(' class="%s"',c.class);if(c.visible){if(this.options.cardView&&!c.cardVisible)return;if(s=hr.sprintf("text-align: %s; ",c.falign?c.falign:c.align),l=hr.sprintf("vertical-align: %s; ",c.valign),(u=hr.calculateObjectValue(null,this.options.footerStyle,[c]))&&u.css)for(var f=0,p=Object.entries(u.css);f<p.length;f++){var g=tr(p[f],2),v=g[0],b=g[1];h.push("".concat(v,": ").concat(b))}u&&u.classes&&(d=hr.sprintf(' class="%s"',c.class?[c.class,u.classes].join(" "):u.classes)),e.push("<th",d,hr.sprintf(' style="%s"',s+l+h.concat().join("; ")),">"),e.push('<div class="th-inner">'),e.push(hr.calculateObjectValue(c,c.footerFormatter,[t],this.footerData[0]&&this.footerData[0][c.field]||"")),e.push("</div>"),e.push('<div class="fht-cell"></div>'),e.push("</div>"),e.push("</th>")}}}catch(t){n=!0,o=t}finally{try{i||null==a.return||a.return()}finally{if(n)throw o}}this.options.height||this.$tableFooter.length||(this.$el.append("<tfoot><tr></tr></tfoot>"),this.$tableFooter=this.$el.find("tfoot")),this.$tableFooter.find("tr").html(e.join("")),this.trigger("post-footer",this.$tableFooter)}}},{key:"fitFooter",value:function(){var e=this;if(this.$el.is(":hidden"))setTimeout((function(){return e.fitFooter()}),100);else{var i=this.$tableBody.get(0),n=i.scrollWidth>i.clientWidth&&i.scrollHeight>i.clientHeight+this.$header.outerHeight()?hr.getScrollBarWidth():0;this.$tableFooter.css("margin-right",n).find("table").css("width",this.$el.outerWidth()).attr("class",this.$el.attr("class"));this.getVisibleFields();for(var o=this.$tableFooter.find("th"),r=this.$body.find(">tr:first-child:not(.no-records-found)");r.length&&r.find('>td[colspan]:not([colspan="1"])').length;)r=r.next();r.find("> *").each((function(i,n){var r=t(n),a=i;if(e.options.detailView&&!e.options.cardView){if(0===i){var s=o.filter(".detail"),l=s.innerWidth()-s.find(".fht-cell").width();s.find(".fht-cell").width(r.innerWidth()-l)}a=i-1}if(-1!==a){var c=o.eq(i),h=c.innerWidth()-c.find(".fht-cell").width();c.find(".fht-cell").width(r.innerWidth()-h)}})),this.horizontalScroll()}}},{key:"horizontalScroll",value:function(){var t=this;this.$tableBody.off("scroll").on("scroll",(function(){var e=t.$tableBody.scrollLeft();t.options.showHeader&&t.options.height&&t.$tableHeader.scrollLeft(e),t.options.showFooter&&!t.options.cardView&&t.$tableFooter.scrollLeft(e),t.trigger("scroll-body",t.$tableBody)}))}},{key:"getVisibleFields",value:function(){var t=[],e=!0,i=!1,n=void 0;try{for(var o,r=this.header.fields[Symbol.iterator]();!(e=(o=r.next()).done);e=!0){var a=o.value,s=this.columns[this.fieldsColumnsIndex[a]];s&&s.visible&&t.push(a)}}catch(t){i=!0,n=t}finally{try{e||null==r.return||r.return()}finally{if(i)throw n}}return t}},{key:"initHiddenRows",value:function(){this.hiddenRows=[]}},{key:"getOptions",value:function(){var e=t.extend({},this.options);return delete e.data,t.extend(!0,{},e)}},{key:"refreshOptions",value:function(e){hr.compareObjects(this.options,e,!0)||(this.options=t.extend(this.options,e),this.trigger("refresh-options",this.options),this.destroy(),this.init())}},{key:"getData",value:function(t){var e=this.options.data;if(!(this.searchText||this.options.customSearch||this.options.sortName)&&hr.isEmptyObject(this.filterColumns)&&hr.isEmptyObject(this.filterColumnsPartial)||t&&t.unfiltered||(e=this.data),t&&t.useCurrentPage&&(e=e.slice(this.pageFrom-1,this.pageTo)),t&&!t.includeHiddenRows){var i=this.getHiddenRows();e=e.filter((function(t){return-1===hr.findIndex(i,t)}))}return e}},{key:"getSelections",value:function(){var t=this;return this.data.filter((function(e){return!0===e[t.header.stateField]}))}},{key:"getAllSelections",value:function(){var t=this;return this.options.data.filter((function(e){return!0===e[t.header.stateField]}))}},{key:"load",value:function(t){var e,i=t;this.options.pagination&&"server"===this.options.sidePagination&&(this.options.totalRows=i[this.options.totalField]),this.options.pagination&&"server"===this.options.sidePagination&&(this.options.totalNotFiltered=i[this.options.totalNotFilteredField]),e=i.fixedScroll,i=Array.isArray(i)?i:i[this.options.dataField],this.initData(i),this.initSearch(),this.initPagination(),this.initBody(e)}},{key:"append",value:function(t){this.initData(t,"append"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)}},{key:"prepend",value:function(t){this.initData(t,"prepend"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)}},{key:"remove",value:function(t){var e,i,n=this.options.data.length;if(t.hasOwnProperty("field")&&t.hasOwnProperty("values")){for(e=n-1;e>=0;e--)(i=this.options.data[e]).hasOwnProperty(t.field)&&t.values.includes(i[t.field])&&(this.options.data.splice(e,1),"server"===this.options.sidePagination&&(this.options.totalRows-=1));n!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}}},{key:"removeAll",value:function(){this.options.data.length>0&&(this.options.data.splice(0,this.options.data.length),this.initSearch(),this.initPagination(),this.initBody(!0))}},{key:"insertRow",value:function(t){t.hasOwnProperty("index")&&t.hasOwnProperty("row")&&(this.options.data.splice(t.index,0,t.row),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}},{key:"updateRow",value:function(e){var i=Array.isArray(e)?e:[e],n=!0,o=!1,r=void 0;try{for(var a,s=i[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var l=a.value;l.hasOwnProperty("index")&&l.hasOwnProperty("row")&&(t.extend(this.options.data[l.index],l.row),l.hasOwnProperty("replace")&&l.replace?this.options.data[l.index]=l.row:t.extend(this.options.data[l.index],l.row))}}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)}},{key:"getRowByUniqueId",value:function(t){var e,i,n,o=this.options.uniqueId,r=t,a=null;for(e=this.options.data.length-1;e>=0;e--){if((i=this.options.data[e]).hasOwnProperty(o))n=i[o];else{if(!i._data||!i._data.hasOwnProperty(o))continue;n=i._data[o]}if("string"==typeof n?r=r.toString():"number"==typeof n&&(Number(n)===n&&n%1==0?r=parseInt(r):n===Number(n)&&0!==n&&(r=parseFloat(r))),n===r){a=i;break}}return a}},{key:"updateByUniqueId",value:function(e){var i=Array.isArray(e)?e:[e],n=!0,o=!1,r=void 0;try{for(var a,s=i[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var l=a.value;if(l.hasOwnProperty("id")&&l.hasOwnProperty("row")){var c=this.options.data.indexOf(this.getRowByUniqueId(l.id));-1!==c&&(l.hasOwnProperty("replace")&&l.replace?this.options.data[c]=l.row:t.extend(this.options.data[c],l.row))}}}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)}},{key:"removeByUniqueId",value:function(t){var e=this.options.data.length,i=this.getRowByUniqueId(t);i&&this.options.data.splice(this.options.data.indexOf(i),1),e!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initBody(!0))}},{key:"updateCell",value:function(t){t.hasOwnProperty("index")&&t.hasOwnProperty("field")&&t.hasOwnProperty("value")&&(this.data[t.index][t.field]=t.value,!1!==t.reinit&&(this.initSort(),this.initBody(!0)))}},{key:"updateCellByUniqueId",value:function(t){var e=this;t.hasOwnProperty("id")&&t.hasOwnProperty("field")&&t.hasOwnProperty("value")&&((Array.isArray(t)?t:[t]).forEach((function(t){var i=t.id,n=t.field,o=t.value,r=e.options.data.indexOf(e.getRowByUniqueId(i));-1!==r&&(e.options.data[r][n]=o)})),!1!==t.reinit&&(this.initSort(),this.initBody(!0)))}},{key:"showRow",value:function(t){this._toggleRow(t,!0)}},{key:"hideRow",value:function(t){this._toggleRow(t,!1)}},{key:"_toggleRow",value:function(t,e){var i;if(t.hasOwnProperty("index")?i=this.getData()[t.index]:t.hasOwnProperty("uniqueId")&&(i=this.getRowByUniqueId(t.uniqueId)),i){var n=hr.findIndex(this.hiddenRows,i);e||-1!==n?e&&n>-1&&this.hiddenRows.splice(n,1):this.hiddenRows.push(i),e?this.updatePagination():(this.initBody(!0),this.initPagination())}}},{key:"getHiddenRows",value:function(t){if(t)return this.initHiddenRows(),void this.initBody(!0);var e=this.getData(),i=[],n=!0,o=!1,r=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var l=a.value;this.hiddenRows.includes(l)&&i.push(l)}}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}return this.hiddenRows=i,i}},{key:"showColumn",value:function(t){var e=this;(Array.isArray(t)?t:[t]).forEach((function(t){e._toggleColumn(e.fieldsColumnsIndex[t],!0,!0)}))}},{key:"hideColumn",value:function(t){var e=this;(Array.isArray(t)?t:[t]).forEach((function(t){e._toggleColumn(e.fieldsColumnsIndex[t],!1,!0)}))}},{key:"_toggleColumn",value:function(t,e,i){if(-1!==t&&this.columns[t].visible!==e&&(this.columns[t].visible=e,this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns)){var n=this.$toolbar.find('.keep-open input:not(".toggle-all")').prop("disabled",!1);i&&n.filter(hr.sprintf('[value="%s"]',t)).prop("checked",e),n.filter(":checked").length<=this.options.minimumCountColumns&&n.filter(":checked").prop("disabled",!0)}}},{key:"getVisibleColumns",value:function(){var t=this;return this.columns.filter((function(e){return e.visible&&!t.isSelectionColumn(e)}))}},{key:"getHiddenColumns",value:function(){return this.columns.filter((function(t){return!t.visible}))}},{key:"isSelectionColumn",value:function(t){return t.radio||t.checkbox}},{key:"showAllColumns",value:function(){this._toggleAllColumns(!0)}},{key:"hideAllColumns",value:function(){this._toggleAllColumns(!1)}},{key:"_toggleAllColumns",value:function(e){var i=this,n=!0,o=!1,r=void 0;try{for(var a,s=this.columns.slice().reverse()[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var l=a.value;if(l.switchable){if(!e&&this.options.showColumns&&this.getVisibleColumns().length===this.options.minimumCountColumns)continue;l.visible=e}}}catch(t){o=!0,r=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}if(this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns){var c=this.$toolbar.find('.keep-open input[type="checkbox"]:not(".toggle-all")').prop("disabled",!1);e?c.prop("checked",e):c.get().reverse().forEach((function(n){c.filter(":checked").length>i.options.minimumCountColumns&&t(n).prop("checked",e)})),c.filter(":checked").length<=this.options.minimumCountColumns&&c.filter(":checked").prop("disabled",!0)}}},{key:"mergeCells",value:function(t){var e,i,n=t.index,o=this.getVisibleFields().indexOf(t.field),r=t.rowspan||1,a=t.colspan||1,s=this.$body.find(">tr");this.options.detailView&&!this.options.cardView&&(o+=1);var l=s.eq(n).find(">td").eq(o);if(!(n<0||o<0||n>=this.data.length)){for(e=n;e<n+r;e++)for(i=o;i<o+a;i++)s.eq(e).find(">td").eq(i).hide();l.attr("rowspan",r).attr("colspan",a).show()}}},{key:"checkAll",value:function(){this._toggleCheckAll(!0)}},{key:"uncheckAll",value:function(){this._toggleCheckAll(!1)}},{key:"_toggleCheckAll",value:function(t){var e=this.getSelections();this.$selectAll.add(this.$selectAll_).prop("checked",t),this.$selectItem.filter(":enabled").prop("checked",t),this.updateRows();var i=this.getSelections();t?this.trigger("check-all",i,e):this.trigger("uncheck-all",i,e)}},{key:"checkInvert",value:function(){var e=this.$selectItem.filter(":enabled"),i=e.filter(":checked");e.each((function(e,i){t(i).prop("checked",!t(i).prop("checked"))})),this.updateRows(),this.updateSelected(),this.trigger("uncheck-some",i),i=this.getSelections(),this.trigger("check-some",i)}},{key:"check",value:function(t){this._toggleCheck(!0,t)}},{key:"uncheck",value:function(t){this._toggleCheck(!1,t)}},{key:"_toggleCheck",value:function(t,e){var i=this.$selectItem.filter('[data-index="'.concat(e,'"]')),n=this.data[e];if(i.is(":radio")||this.options.singleSelect||this.options.multipleSelectRow&&!this.multipleSelectRowCtrlKey&&!this.multipleSelectRowShiftKey){var o=!0,r=!1,a=void 0;try{for(var s,l=this.options.data[Symbol.iterator]();!(o=(s=l.next()).done);o=!0){s.value[this.header.stateField]=!1}}catch(t){r=!0,a=t}finally{try{o||null==l.return||l.return()}finally{if(r)throw a}}this.$selectItem.filter(":checked").not(i).prop("checked",!1)}if(n[this.header.stateField]=t,this.options.multipleSelectRow){if(this.multipleSelectRowShiftKey&&this.multipleSelectRowLastSelectedIndex>=0)for(var c=[this.multipleSelectRowLastSelectedIndex,e].sort(),h=c[0]+1;h<c[1];h++)this.data[h][this.header.stateField]=!0,this.$selectItem.filter('[data-index="'.concat(h,'"]')).prop("checked",!0);this.multipleSelectRowCtrlKey=!1,this.multipleSelectRowShiftKey=!1,this.multipleSelectRowLastSelectedIndex=t?e:-1}i.prop("checked",t),this.updateSelected(),this.trigger(t?"check":"uncheck",this.data[e],i)}},{key:"checkBy",value:function(t){this._toggleCheckBy(!0,t)}},{key:"uncheckBy",value:function(t){this._toggleCheckBy(!1,t)}},{key:"_toggleCheckBy",value:function(t,e){var i=this;if(e.hasOwnProperty("field")&&e.hasOwnProperty("values")){var n=[];this.data.forEach((function(o,r){if(!o.hasOwnProperty(e.field))return!1;if(e.values.includes(o[e.field])){var a=i.$selectItem.filter(":enabled").filter(hr.sprintf('[data-index="%s"]',r));if(!(a=t?a.not(":checked"):a.filter(":checked")).length)return;a.prop("checked",t),o[i.header.stateField]=t,n.push(o),i.trigger(t?"check":"uncheck",o,a)}})),this.updateSelected(),this.trigger(t?"check-some":"uncheck-some",n)}}},{key:"refresh",value:function(t){t&&t.url&&(this.options.url=t.url),t&&t.pageNumber&&(this.options.pageNumber=t.pageNumber),t&&t.pageSize&&(this.options.pageSize=t.pageSize),this.trigger("refresh",this.initServer(t&&t.silent,t&&t.query,t&&t.url))}},{key:"destroy",value:function(){this.$el.insertBefore(this.$container),t(this.options.toolbar).insertBefore(this.$el),this.$container.next().remove(),this.$container.remove(),this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")}},{key:"resetView",value:function(t){var e=0;if(t&&t.height&&(this.options.height=t.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.$tableContainer.toggleClass("has-card-view",this.options.cardView),!this.options.cardView&&this.options.showHeader&&this.options.height?(this.$tableHeader.show(),this.resetHeader(),e+=this.$header.outerHeight(!0)+1):(this.$tableHeader.hide(),this.trigger("post-header")),!this.options.cardView&&this.options.showFooter&&(this.$tableFooter.show(),this.fitFooter(),this.options.height&&(e+=this.$tableFooter.outerHeight(!0))),this.$container.hasClass("fullscreen"))this.$tableContainer.css("height",""),this.$tableContainer.css("width","");else if(this.options.height){var i=this.$toolbar.outerHeight(!0),n=this.$pagination.outerHeight(!0),o=this.options.height-i-n,r=this.$tableBody.find(">table"),a=r.outerHeight();if(this.$tableContainer.css("height","".concat(o,"px")),this.$tableBorder){var s=o-a-2;this.$tableBody[0].scrollWidth-this.$tableBody.innerWidth()&&(s-=hr.getScrollBarWidth()),this.$tableBorder.css("width","".concat(r.outerWidth(),"px")),this.$tableBorder.css("height","".concat(s,"px"))}}this.options.cardView?(this.$el.css("margin-top","0"),this.$tableContainer.css("padding-bottom","0"),this.$tableFooter.hide()):(this.getCaret(),this.$tableContainer.css("padding-bottom","".concat(e,"px"))),this.trigger("reset-view")}},{key:"showLoading",value:function(){this.$tableLoading.css("display","flex")}},{key:"hideLoading",value:function(){this.$tableLoading.css("display","none")}},{key:"togglePagination",value:function(){this.options.pagination=!this.options.pagination;var t=this.options.showButtonIcons?this.options.pagination?this.options.icons.paginationSwitchDown:this.options.icons.paginationSwitchUp:"",e=this.options.showButtonText?this.options.pagination?this.options.formatPaginationSwitchUp():this.options.formatPaginationSwitchDown():"";this.$toolbar.find('button[name="paginationSwitch"]').html(hr.sprintf(this.constants.html.icon,this.options.iconsPrefix,t)+" "+e),this.updatePagination()}},{key:"toggleFullscreen",value:function(){this.$el.closest(".bootstrap-table").toggleClass("fullscreen"),this.resetView()}},{key:"toggleView",value:function(){this.options.cardView=!this.options.cardView,this.initHeader();var t=this.options.showButtonIcons?this.options.cardView?this.options.icons.toggleOn:this.options.icons.toggleOff:"",e=this.options.showButtonText?this.options.cardView?this.options.formatToggleOff():this.options.formatToggleOn():"";this.$toolbar.find('button[name="toggle"]').html(hr.sprintf(this.constants.html.icon,this.options.iconsPrefix,t)+" "+e),this.initBody(),this.trigger("toggle",this.options.cardView)}},{key:"resetSearch",value:function(t){var e=this.$toolbar.find(".search input");e.val(t||""),this.onSearch({currentTarget:e})}},{key:"filterBy",value:function(e,i){this.filterOptions=hr.isEmptyObject(i)?this.options.filterOptions:t.extend(this.options.filterOptions,i),this.filterColumns=hr.isEmptyObject(e)?{}:e,this.options.pageNumber=1,this.initSearch(),this.updatePagination()}},{key:"scrollTo",value:function(e){if(void 0===e)return this.$tableBody.scrollTop();var i={unit:"px",value:0};"object"===Yo(e)?i=Object.assign(i,e):"string"==typeof e&&"bottom"===e?i.value=this.$tableBody[0].scrollHeight:"string"==typeof e&&(i.value=e);var n=i.value;"rows"===i.unit&&(n=0,this.$body.find("> tr:lt(".concat(i.value,")")).each((function(e,i){n+=t(i).outerHeight(!0)}))),this.$tableBody.scrollTop(n)}},{key:"getScrollPosition",value:function(){return this.scrollTo()}},{key:"selectPage",value:function(t){t>0&&t<=this.options.totalPages&&(this.options.pageNumber=t,this.updatePagination())}},{key:"prevPage",value:function(){this.options.pageNumber>1&&(this.options.pageNumber--,this.updatePagination())}},{key:"nextPage",value:function(){this.options.pageNumber<this.options.totalPages&&(this.options.pageNumber++,this.updatePagination())}},{key:"toggleDetailView",value:function(t,e){this.$body.find(hr.sprintf('> tr[data-index="%s"]',t)).next().is("tr.detail-view")?this.collapseRow(t):this.expandRow(t,e),this.resetView()}},{key:"expandRow",value:function(t,e){var i=this.data[t],n=this.$body.find(hr.sprintf('> tr[data-index="%s"][data-has-detail-view]',t));if(!n.next().is("tr.detail-view")){this.options.detailViewIcon&&n.find("a.detail-icon").html(hr.sprintf(this.constants.html.icon,this.options.iconsPrefix,this.options.icons.detailClose)),n.after(hr.sprintf('<tr class="detail-view"><td colspan="%s"></td></tr>',n.children("td").length));var o=n.next().find("td"),r=e||this.options.detailFormatter,a=hr.calculateObjectValue(this.options,r,[t,i,o],"");1===o.length&&o.append(a),this.trigger("expand-row",t,i,o)}}},{key:"collapseRow",value:function(t){var e=this.data[t],i=this.$body.find(hr.sprintf('> tr[data-index="%s"][data-has-detail-view]',t));i.next().is("tr.detail-view")&&(this.options.detailViewIcon&&i.find("a.detail-icon").html(hr.sprintf(this.constants.html.icon,this.options.iconsPrefix,this.options.icons.detailOpen)),this.trigger("collapse-row",t,e,i.next()),i.next().remove())}},{key:"expandAllRows",value:function(){for(var e=this.$body.find("> tr[data-index][data-has-detail-view]"),i=0;i<e.length;i++)this.expandRow(t(e[i]).data("index"))}},{key:"collapseAllRows",value:function(){for(var e=this.$body.find("> tr[data-index][data-has-detail-view]"),i=0;i<e.length;i++)this.collapseRow(t(e[i]).data("index"))}},{key:"updateColumnTitle",value:function(e){e.hasOwnProperty("field")&&e.hasOwnProperty("title")&&(this.columns[this.fieldsColumnsIndex[e.field]].title=this.options.escape?hr.escapeHTML(e.title):e.title,this.columns[this.fieldsColumnsIndex[e.field]].visible&&(void 0!==this.options.height?this.$tableHeader:this.$header).find("th[data-field]").each((function(i,n){if(t(n).data("field")===e.field)return t(t(n).find(".th-inner")[0]).text(e.title),!1})))}},{key:"updateFormatText",value:function(t,e){/^format/.test(t)&&this.options[t]&&("string"==typeof e?this.options[t]=function(){return e}:"function"==typeof e&&(this.options[t]=e),this.initToolbar(),this.initPagination(),this.initBody())}}]),e}();return dr.VERSION=lr.VERSION,dr.DEFAULTS=lr.DEFAULTS,dr.LOCALES=lr.LOCALES,dr.COLUMN_DEFAULTS=lr.COLUMN_DEFAULTS,dr.METHODS=lr.METHODS,dr.EVENTS=lr.EVENTS,t.BootstrapTable=dr,t.fn.bootstrapTable=function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];var r;return this.each((function(i,o){var a=t(o).data("bootstrap.table"),s=t.extend({},dr.DEFAULTS,t(o).data(),"object"===Yo(e)&&e);if("string"==typeof e){var l;if(!lr.METHODS.includes(e))throw new Error("Unknown method: ".concat(e));if(!a)return;r=(l=a)[e].apply(l,n),"destroy"===e&&t(o).removeData("bootstrap.table")}a||t(o).data("bootstrap.table",a=new t.BootstrapTable(o,s))})),void 0===r?this:r},t.fn.bootstrapTable.Constructor=dr,t.fn.bootstrapTable.theme=lr.THEME,t.fn.bootstrapTable.VERSION=lr.VERSION,t.fn.bootstrapTable.defaults=dr.DEFAULTS,t.fn.bootstrapTable.columnDefaults=dr.COLUMN_DEFAULTS,t.fn.bootstrapTable.events=dr.EVENTS,t.fn.bootstrapTable.locales=dr.LOCALES,t.fn.bootstrapTable.methods=dr.METHODS,t.fn.bootstrapTable.utils=hr,t((function(){t('[data-toggle="table"]').bootstrapTable()})),dr}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js b/server/target/classes/static/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js
deleted file mode 100644
index a5364b2..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js
+++ /dev/null
@@ -1,2647 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $includes = arrayIncludes.includes;
-
-
-	// `Array.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	_export({ target: 'Array', proto: true }, {
-	  includes: function includes(el /* , fromIndex = 0 */) {
-	    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('includes');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
-	// `Object.{ entries, values }` methods implementation
-	var createMethod$2 = function (TO_ENTRIES) {
-	  return function (it) {
-	    var O = toIndexedObject(it);
-	    var keys = objectKeys(O);
-	    var length = keys.length;
-	    var i = 0;
-	    var result = [];
-	    var key;
-	    while (length > i) {
-	      key = keys[i++];
-	      if (!descriptors || propertyIsEnumerable.call(O, key)) {
-	        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
-	      }
-	    }
-	    return result;
-	  };
-	};
-
-	var objectToArray = {
-	  // `Object.entries` method
-	  // https://tc39.github.io/ecma262/#sec-object.entries
-	  entries: createMethod$2(true),
-	  // `Object.values` method
-	  // https://tc39.github.io/ecma262/#sec-object.values
-	  values: createMethod$2(false)
-	};
-
-	var $entries = objectToArray.entries;
-
-	// `Object.entries` method
-	// https://tc39.github.io/ecma262/#sec-object.entries
-	_export({ target: 'Object', stat: true }, {
-	  entries: function entries(O) {
-	    return $entries(O);
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test = {};
-
-	test[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$3 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$3(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$3(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$3(3)
-	};
-
-	var trim = stringTrim.trim;
-
-
-	var nativeParseInt = global_1.parseInt;
-	var hex = /^[+-]?0[Xx]/;
-	var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	var _parseInt = FORCED ? function parseInt(string, radix) {
-	  var S = trim(String(string));
-	  return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
-	} : nativeParseInt;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	_export({ global: true, forced: parseInt != _parseInt }, {
-	  parseInt: _parseInt
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var notARegexp = function (it) {
-	  if (isRegexp(it)) {
-	    throw TypeError("The method doesn't accept regular expressions");
-	  } return it;
-	};
-
-	var MATCH$1 = wellKnownSymbol('match');
-
-	var correctIsRegexpLogic = function (METHOD_NAME) {
-	  var regexp = /./;
-	  try {
-	    '/./'[METHOD_NAME](regexp);
-	  } catch (e) {
-	    try {
-	      regexp[MATCH$1] = false;
-	      return '/./'[METHOD_NAME](regexp);
-	    } catch (f) { /* empty */ }
-	  } return false;
-	};
-
-	// `String.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.includes
-	_export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
-	  includes: function includes(searchString /* , position = 0 */) {
-	    return !!~String(requireObjectCoercible(this))
-	      .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$4 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$4(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$4(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	var charAt$1 = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt$1(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  if (CollectionPrototype) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-	    }
-	    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	function _slicedToArray(arr, i) {
-	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
-	}
-
-	function _arrayWithHoles(arr) {
-	  if (Array.isArray(arr)) return arr;
-	}
-
-	function _iterableToArrayLimit(arr, i) {
-	  if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
-	    return;
-	  }
-
-	  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;
-	}
-
-	function _nonIterableRest() {
-	  throw new TypeError("Invalid attempt to destructure non-iterable instance");
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @update: zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var diacriticsMap = {};
-	var defaultAccentsDiacritics = [{
-	  base: 'A',
-	  letters: "A\u24B6\uFF21\xC0\xC1\xC2\u1EA6\u1EA4\u1EAA\u1EA8\xC3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\xC4\u01DE\u1EA2\xC5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F"
-	}, {
-	  base: 'AA',
-	  letters: "\uA732"
-	}, {
-	  base: 'AE',
-	  letters: "\xC6\u01FC\u01E2"
-	}, {
-	  base: 'AO',
-	  letters: "\uA734"
-	}, {
-	  base: 'AU',
-	  letters: "\uA736"
-	}, {
-	  base: 'AV',
-	  letters: "\uA738\uA73A"
-	}, {
-	  base: 'AY',
-	  letters: "\uA73C"
-	}, {
-	  base: 'B',
-	  letters: "B\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181"
-	}, {
-	  base: 'C',
-	  letters: "C\u24B8\uFF23\u0106\u0108\u010A\u010C\xC7\u1E08\u0187\u023B\uA73E"
-	}, {
-	  base: 'D',
-	  letters: "D\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779"
-	}, {
-	  base: 'DZ',
-	  letters: "\u01F1\u01C4"
-	}, {
-	  base: 'Dz',
-	  letters: "\u01F2\u01C5"
-	}, {
-	  base: 'E',
-	  letters: "E\u24BA\uFF25\xC8\xC9\xCA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\xCB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E"
-	}, {
-	  base: 'F',
-	  letters: "F\u24BB\uFF26\u1E1E\u0191\uA77B"
-	}, {
-	  base: 'G',
-	  letters: "G\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E"
-	}, {
-	  base: 'H',
-	  letters: "H\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D"
-	}, {
-	  base: 'I',
-	  letters: "I\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197"
-	}, {
-	  base: 'J',
-	  letters: "J\u24BF\uFF2A\u0134\u0248"
-	}, {
-	  base: 'K',
-	  letters: "K\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2"
-	}, {
-	  base: 'L',
-	  letters: "L\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780"
-	}, {
-	  base: 'LJ',
-	  letters: "\u01C7"
-	}, {
-	  base: 'Lj',
-	  letters: "\u01C8"
-	}, {
-	  base: 'M',
-	  letters: "M\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C"
-	}, {
-	  base: 'N',
-	  letters: "N\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4"
-	}, {
-	  base: 'NJ',
-	  letters: "\u01CA"
-	}, {
-	  base: 'Nj',
-	  letters: "\u01CB"
-	}, {
-	  base: 'O',
-	  letters: "O\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C"
-	}, {
-	  base: 'OI',
-	  letters: "\u01A2"
-	}, {
-	  base: 'OO',
-	  letters: "\uA74E"
-	}, {
-	  base: 'OU',
-	  letters: "\u0222"
-	}, {
-	  base: 'OE',
-	  letters: "\x8C\u0152"
-	}, {
-	  base: 'oe',
-	  letters: "\x9C\u0153"
-	}, {
-	  base: 'P',
-	  letters: "P\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754"
-	}, {
-	  base: 'Q',
-	  letters: "Q\u24C6\uFF31\uA756\uA758\u024A"
-	}, {
-	  base: 'R',
-	  letters: "R\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782"
-	}, {
-	  base: 'S',
-	  letters: "S\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784"
-	}, {
-	  base: 'T',
-	  letters: "T\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786"
-	}, {
-	  base: 'TZ',
-	  letters: "\uA728"
-	}, {
-	  base: 'U',
-	  letters: "U\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244"
-	}, {
-	  base: 'V',
-	  letters: "V\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245"
-	}, {
-	  base: 'VY',
-	  letters: "\uA760"
-	}, {
-	  base: 'W',
-	  letters: "W\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72"
-	}, {
-	  base: 'X',
-	  letters: "X\u24CD\uFF38\u1E8A\u1E8C"
-	}, {
-	  base: 'Y',
-	  letters: "Y\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE"
-	}, {
-	  base: 'Z',
-	  letters: "Z\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762"
-	}, {
-	  base: 'a',
-	  letters: "a\u24D0\uFF41\u1E9A\xE0\xE1\xE2\u1EA7\u1EA5\u1EAB\u1EA9\xE3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\xE4\u01DF\u1EA3\xE5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250"
-	}, {
-	  base: 'aa',
-	  letters: "\uA733"
-	}, {
-	  base: 'ae',
-	  letters: "\xE6\u01FD\u01E3"
-	}, {
-	  base: 'ao',
-	  letters: "\uA735"
-	}, {
-	  base: 'au',
-	  letters: "\uA737"
-	}, {
-	  base: 'av',
-	  letters: "\uA739\uA73B"
-	}, {
-	  base: 'ay',
-	  letters: "\uA73D"
-	}, {
-	  base: 'b',
-	  letters: "b\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253"
-	}, {
-	  base: 'c',
-	  letters: "c\u24D2\uFF43\u0107\u0109\u010B\u010D\xE7\u1E09\u0188\u023C\uA73F\u2184"
-	}, {
-	  base: 'd',
-	  letters: "d\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A"
-	}, {
-	  base: 'dz',
-	  letters: "\u01F3\u01C6"
-	}, {
-	  base: 'e',
-	  letters: "e\u24D4\uFF45\xE8\xE9\xEA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\xEB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD"
-	}, {
-	  base: 'f',
-	  letters: "f\u24D5\uFF46\u1E1F\u0192\uA77C"
-	}, {
-	  base: 'g',
-	  letters: "g\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F"
-	}, {
-	  base: 'h',
-	  letters: "h\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265"
-	}, {
-	  base: 'hv',
-	  letters: "\u0195"
-	}, {
-	  base: 'i',
-	  letters: "i\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131"
-	}, {
-	  base: 'j',
-	  letters: "j\u24D9\uFF4A\u0135\u01F0\u0249"
-	}, {
-	  base: 'k',
-	  letters: "k\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3"
-	}, {
-	  base: 'l',
-	  letters: "l\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747"
-	}, {
-	  base: 'lj',
-	  letters: "\u01C9"
-	}, {
-	  base: 'm',
-	  letters: "m\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F"
-	}, {
-	  base: 'n',
-	  letters: "n\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5"
-	}, {
-	  base: 'nj',
-	  letters: "\u01CC"
-	}, {
-	  base: 'o',
-	  letters: "o\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\u0254\uA74B\uA74D\u0275"
-	}, {
-	  base: 'oi',
-	  letters: "\u01A3"
-	}, {
-	  base: 'ou',
-	  letters: "\u0223"
-	}, {
-	  base: 'oo',
-	  letters: "\uA74F"
-	}, {
-	  base: 'p',
-	  letters: "p\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755"
-	}, {
-	  base: 'q',
-	  letters: "q\u24E0\uFF51\u024B\uA757\uA759"
-	}, {
-	  base: 'r',
-	  letters: "r\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783"
-	}, {
-	  base: 's',
-	  letters: "s\u24E2\uFF53\xDF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B"
-	}, {
-	  base: 't',
-	  letters: "t\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787"
-	}, {
-	  base: 'tz',
-	  letters: "\uA729"
-	}, {
-	  base: 'u',
-	  letters: "u\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289"
-	}, {
-	  base: 'v',
-	  letters: "v\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C"
-	}, {
-	  base: 'vy',
-	  letters: "\uA761"
-	}, {
-	  base: 'w',
-	  letters: "w\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73"
-	}, {
-	  base: 'x',
-	  letters: "x\u24E7\uFF58\u1E8B\u1E8D"
-	}, {
-	  base: 'y',
-	  letters: "y\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF"
-	}, {
-	  base: 'z',
-	  letters: "z\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763"
-	}];
-
-	var initNeutraliser = function initNeutraliser() {
-	  var _iteratorNormalCompletion = true;
-	  var _didIteratorError = false;
-	  var _iteratorError = undefined;
-
-	  try {
-	    for (var _iterator = defaultAccentsDiacritics[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	      var diacritic = _step.value;
-	      var letters = diacritic.letters;
-
-	      for (var i = 0; i < letters.length; i++) {
-	        diacriticsMap[letters[i]] = diacritic.base;
-	      }
-	    }
-	  } catch (err) {
-	    _didIteratorError = true;
-	    _iteratorError = err;
-	  } finally {
-	    try {
-	      if (!_iteratorNormalCompletion && _iterator.return != null) {
-	        _iterator.return();
-	      }
-	    } finally {
-	      if (_didIteratorError) {
-	        throw _iteratorError;
-	      }
-	    }
-	  }
-	};
-	/* eslint-disable no-control-regex */
-
-
-	var removeDiacritics = function removeDiacritics(str) {
-	  return str.replace(/[^\u0000-\u007E]/g, function (a) {
-	    return diacriticsMap[a] || a;
-	  });
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  searchAccentNeutralise: false
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      if (this.options.searchAccentNeutralise) {
-	        initNeutraliser();
-	      }
-
-	      _get(_getPrototypeOf(_class.prototype), "init", this).call(this);
-	    }
-	  }, {
-	    key: "initSearch",
-	    value: function initSearch() {
-	      var _this = this;
-
-	      if (this.options.sidePagination !== 'server') {
-	        var s = this.searchText && this.searchText.toLowerCase();
-	        var f = $.isEmptyObject(this.filterColumns) ? null : this.filterColumns; // Check filter
-
-	        this.data = f ? this.options.data.filter(function (item, i) {
-	          for (var key in f) {
-	            if (item[key] !== f[key]) {
-	              return false;
-	            }
-	          }
-
-	          return true;
-	        }) : this.options.data;
-	        this.data = s ? this.options.data.filter(function (item, i) {
-	          for (var _i = 0, _Object$entries = Object.entries(item); _i < _Object$entries.length; _i++) {
-	            var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
-	                key = _Object$entries$_i[0],
-	                value = _Object$entries$_i[1];
-
-	            key = $.isNumeric(key) ? parseInt(key, 10) : key;
-	            var column = _this.columns[_this.fieldsColumnsIndex[key]];
-
-	            var j = _this.header.fields.indexOf(key);
-
-	            if (column && column.searchFormatter) {
-	              value = $.fn.bootstrapTable.utils.calculateObjectValue(column, _this.header.formatters[j], [value, item, i], value);
-	            }
-
-	            var index = _this.header.fields.indexOf(key);
-
-	            if (index !== -1 && _this.header.searchables[index] && typeof value === 'string') {
-	              if (_this.options.searchAccentNeutralise) {
-	                value = removeDiacritics(value);
-	                s = removeDiacritics(s);
-	              }
-
-	              if (_this.options.strictSearch) {
-	                if ("".concat(value).toLowerCase() === s) {
-	                  return true;
-	                }
-	              } else {
-	                if ("".concat(value).toLowerCase().includes(s)) {
-	                  return true;
-	                }
-	              }
-	            }
-	          }
-
-	          return false;
-	        }) : this.data;
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js b/server/target/classes/static/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js
deleted file mode 100644
index 5ba5ab0..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,s={f:c&&!u.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:u},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},f={}.toString,p=function(t){return f.call(t).slice(8,-1)},y="".split,b=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return b(v(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,e){if(!h(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!h(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!h(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!h(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,S=function(t,e){return m.call(t,e)},O=o.document,w=h(O)&&h(O.createElement),x=function(t){return w?O.createElement(t):{}},j=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),E=Object.getOwnPropertyDescriptor,A={f:a?E:function(t,e){if(t=d(t),e=g(e,!0),j)try{return E(t,e)}catch(t){}if(S(t,e))return l(!s.f.call(t,e),t[e])}},T=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,I={f:a?P:function(t,e,r){if(T(t),e=g(e,!0),T(r),j)try{return P(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},_=a?function(t,e,r){return I.f(t,e,l(1,r))}:function(t,e,r){return t[e]=r,t},L=function(t,e){try{_(o,t,e)}catch(r){o[t]=e}return e},R=o["__core-js_shared__"]||L("__core-js_shared__",{}),k=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return k.call(t)});var C,N,M,F=R.inspectSource,D=o.WeakMap,$="function"==typeof D&&/native code/.test(F(D)),G=r((function(t){(t.exports=function(t,e){return R[t]||(R[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),V=0,U=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++V+U).toString(36)},B=G("keys"),Y=function(t){return B[t]||(B[t]=z(t))},q={},K=o.WeakMap;if($){var W=new K,H=W.get,J=W.has,Q=W.set;C=function(t,e){return Q.call(W,t,e),e},N=function(t){return H.call(W,t)||{}},M=function(t){return J.call(W,t)}}else{var X=Y("state");q[X]=!0,C=function(t,e){return _(t,X,e),e},N=function(t){return S(t,X)?t[X]:{}},M=function(t){return S(t,X)}}var Z,tt={set:C,get:N,has:M,enforce:function(t){return M(t)?N(t):C(t,{})},getterFor:function(t){return function(e){var r;if(!h(e)||(r=N(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},et=r((function(t){var e=tt.get,r=tt.enforce,n=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,s=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||S(i,"name")||_(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(u?!s&&t[e]&&(c=!0):delete t[e],c?t[e]=i:_(t,e,i)):c?t[e]=i:L(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),rt=o,nt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?nt(rt[t])||nt(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},it=Math.ceil,at=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ct=Math.min,st=function(t){return t>0?ct(ut(t),9007199254740991):0},lt=Math.max,ft=Math.min,pt=function(t){return function(e,r,n){var o,i=d(e),a=st(i.length),u=function(t,e){var r=ut(t);return r<0?lt(r+e,0):ft(r,e)}(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)},bt=yt.indexOf,vt=function(t,e){var r,n=d(t),o=0,i=[];for(r in n)!S(q,r)&&S(n,r)&&i.push(r);for(;e.length>o;)S(n,r=e[o++])&&(~bt(i,r)||i.push(r));return i},dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ht=dt.concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return vt(t,ht)}},mt={f:Object.getOwnPropertySymbols},St=ot("Reflect","ownKeys")||function(t){var e=gt.f(T(t)),r=mt.f;return r?e.concat(r(t)):e},Ot=function(t,e){for(var r=St(e),n=I.f,o=A.f,i=0;i<r.length;i++){var a=r[i];S(t,a)||n(t,a,o(e,a))}},wt=/#|\.prototype\./,xt=function(t,e){var r=Et[jt(t)];return r==Tt||r!=At&&("function"==typeof e?i(e):!!e)},jt=xt.normalize=function(t){return String(t).replace(wt,".").toLowerCase()},Et=xt.data={},At=xt.NATIVE="N",Tt=xt.POLYFILL="P",Pt=xt,It=A.f,_t=function(t,e){var r,n,i,a,u,c=t.target,s=t.global,l=t.stat;if(r=s?o:l?o[c]||L(c,{}):(o[c]||{}).prototype)for(n in e){if(a=e[n],i=t.noTargetGet?(u=It(r,n))&&u.value:r[n],!Pt(s?n:c+(l?".":"#")+n,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;Ot(a,i)}(t.sham||i&&i.sham)&&_(a,"sham",!0),et(r,n,a,t)}},Lt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Lt&&!Symbol.sham&&"symbol"==typeof Symbol(),kt=Array.isArray||function(t){return"Array"==p(t)},Ct=function(t){return Object(v(t))},Nt=Object.keys||function(t){return vt(t,dt)},Mt=a?Object.defineProperties:function(t,e){T(t);for(var r,n=Nt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},Ft=ot("document","documentElement"),Dt=Y("IE_PROTO"),$t=function(){},Gt=function(t){return"<script>"+t+"<\/script>"},Vt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Vt=Z?function(t){t.write(Gt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Z):((e=x("iframe")).style.display="none",Ft.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Gt("document.F=Object")),t.close(),t.F);for(var r=dt.length;r--;)delete Vt.prototype[dt[r]];return Vt()};q[Dt]=!0;var Ut=Object.create||function(t,e){var r;return null!==t?($t.prototype=T(t),r=new $t,$t.prototype=null,r[Dt]=t):r=Vt(),void 0===e?r:Mt(r,e)},zt=gt.f,Bt={}.toString,Yt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],qt={f:function(t){return Yt&&"[object Window]"==Bt.call(t)?function(t){try{return zt(t)}catch(t){return Yt.slice()}}(t):zt(d(t))}},Kt=G("wks"),Wt=o.Symbol,Ht=Rt?Wt:z,Jt=function(t){return S(Kt,t)||(Lt&&S(Wt,t)?Kt[t]=Wt[t]:Kt[t]=Ht("Symbol."+t)),Kt[t]},Qt={f:Jt},Xt=I.f,Zt=function(t){var e=rt.Symbol||(rt.Symbol={});S(e,t)||Xt(e,t,{value:Qt.f(t)})},te=I.f,ee=Jt("toStringTag"),re=function(t,e,r){t&&!S(t=r?t:t.prototype,ee)&&te(t,ee,{configurable:!0,value:e})},ne=function(t,e,r){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},oe=Jt("species"),ie=function(t,e){var r;return kt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!kt(r.prototype)?h(r)&&null===(r=r[oe])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},ae=[].push,ue=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,s,l){for(var f,p,y=Ct(u),v=b(y),d=ne(c,s,3),h=st(v.length),g=0,m=l||ie,S=e?m(u,h):r?m(u,0):void 0;h>g;g++)if((a||g in v)&&(p=d(f=v[g],g,y),t))if(e)S[g]=p;else if(p)switch(t){case 3:return!0;case 5:return f;case 6:return g;case 2:ae.call(S,f)}else if(o)return!1;return i?-1:n||o?o:S}},ce={forEach:ue(0),map:ue(1),filter:ue(2),some:ue(3),every:ue(4),find:ue(5),findIndex:ue(6)},se=ce.forEach,le=Y("hidden"),fe=Jt("toPrimitive"),pe=tt.set,ye=tt.getterFor("Symbol"),be=Object.prototype,ve=o.Symbol,de=ot("JSON","stringify"),he=A.f,ge=I.f,me=qt.f,Se=s.f,Oe=G("symbols"),we=G("op-symbols"),xe=G("string-to-symbol-registry"),je=G("symbol-to-string-registry"),Ee=G("wks"),Ae=o.QObject,Te=!Ae||!Ae.prototype||!Ae.prototype.findChild,Pe=a&&i((function(){return 7!=Ut(ge({},"a",{get:function(){return ge(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=he(be,e);n&&delete be[e],ge(t,e,r),n&&t!==be&&ge(be,e,n)}:ge,Ie=function(t,e){var r=Oe[t]=Ut(ve.prototype);return pe(r,{type:"Symbol",tag:t,description:e}),a||(r.description=e),r},_e=Lt&&"symbol"==typeof ve.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof ve},Le=function(t,e,r){t===be&&Le(we,e,r),T(t);var n=g(e,!0);return T(r),S(Oe,n)?(r.enumerable?(S(t,le)&&t[le][n]&&(t[le][n]=!1),r=Ut(r,{enumerable:l(0,!1)})):(S(t,le)||ge(t,le,l(1,{})),t[le][n]=!0),Pe(t,n,r)):ge(t,n,r)},Re=function(t,e){T(t);var r=d(e),n=Nt(r).concat(Me(r));return se(n,(function(e){a&&!ke.call(r,e)||Le(t,e,r[e])})),t},ke=function(t){var e=g(t,!0),r=Se.call(this,e);return!(this===be&&S(Oe,e)&&!S(we,e))&&(!(r||!S(this,e)||!S(Oe,e)||S(this,le)&&this[le][e])||r)},Ce=function(t,e){var r=d(t),n=g(e,!0);if(r!==be||!S(Oe,n)||S(we,n)){var o=he(r,n);return!o||!S(Oe,n)||S(r,le)&&r[le][n]||(o.enumerable=!0),o}},Ne=function(t){var e=me(d(t)),r=[];return se(e,(function(t){S(Oe,t)||S(q,t)||r.push(t)})),r},Me=function(t){var e=t===be,r=me(e?we:d(t)),n=[];return se(r,(function(t){!S(Oe,t)||e&&!S(be,t)||n.push(Oe[t])})),n};if(Lt||(et((ve=function(){if(this instanceof ve)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=z(t),r=function(t){this===be&&r.call(we,t),S(this,le)&&S(this[le],e)&&(this[le][e]=!1),Pe(this,e,l(1,t))};return a&&Te&&Pe(be,e,{configurable:!0,set:r}),Ie(e,t)}).prototype,"toString",(function(){return ye(this).tag})),s.f=ke,I.f=Le,A.f=Ce,gt.f=qt.f=Ne,mt.f=Me,a&&(ge(ve.prototype,"description",{configurable:!0,get:function(){return ye(this).description}}),et(be,"propertyIsEnumerable",ke,{unsafe:!0}))),Rt||(Qt.f=function(t){return Ie(Jt(t),t)}),_t({global:!0,wrap:!0,forced:!Lt,sham:!Lt},{Symbol:ve}),se(Nt(Ee),(function(t){Zt(t)})),_t({target:"Symbol",stat:!0,forced:!Lt},{for:function(t){var e=String(t);if(S(xe,e))return xe[e];var r=ve(e);return xe[e]=r,je[r]=e,r},keyFor:function(t){if(!_e(t))throw TypeError(t+" is not a symbol");if(S(je,t))return je[t]},useSetter:function(){Te=!0},useSimple:function(){Te=!1}}),_t({target:"Object",stat:!0,forced:!Lt,sham:!a},{create:function(t,e){return void 0===e?Ut(t):Re(Ut(t),e)},defineProperty:Le,defineProperties:Re,getOwnPropertyDescriptor:Ce}),_t({target:"Object",stat:!0,forced:!Lt},{getOwnPropertyNames:Ne,getOwnPropertySymbols:Me}),_t({target:"Object",stat:!0,forced:i((function(){mt.f(1)}))},{getOwnPropertySymbols:function(t){return mt.f(Ct(t))}}),de){var Fe=!Lt||i((function(){var t=ve();return"[null]"!=de([t])||"{}"!=de({a:t})||"{}"!=de(Object(t))}));_t({target:"JSON",stat:!0,forced:Fe},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(h(e)||void 0!==t)&&!_e(t))return kt(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!_e(e))return e}),o[1]=e,de.apply(null,o)}})}ve.prototype[fe]||_(ve.prototype,fe,ve.prototype.valueOf),re(ve,"Symbol"),q[le]=!0;var De=I.f,$e=o.Symbol;if(a&&"function"==typeof $e&&(!("description"in $e.prototype)||void 0!==$e().description)){var Ge={},Ve=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Ve?new $e(t):void 0===t?$e():$e(t);return""===t&&(Ge[e]=!0),e};Ot(Ve,$e);var Ue=Ve.prototype=$e.prototype;Ue.constructor=Ve;var ze=Ue.toString,Be="Symbol(test)"==String($e("test")),Ye=/^Symbol\((.*)\)[^)]+$/;De(Ue,"description",{configurable:!0,get:function(){var t=h(this)?this.valueOf():this,e=ze.call(t);if(S(Ge,t))return"";var r=Be?e.slice(7,-1):e.replace(Ye,"$1");return""===r?void 0:r}}),_t({global:!0,forced:!0},{Symbol:Ve})}Zt("iterator");var qe,Ke,We=ot("navigator","userAgent")||"",He=o.process,Je=He&&He.versions,Qe=Je&&Je.v8;Qe?Ke=(qe=Qe.split("."))[0]+qe[1]:We&&(!(qe=We.match(/Edge\/(\d+)/))||qe[1]>=74)&&(qe=We.match(/Chrome\/(\d+)/))&&(Ke=qe[1]);var Xe=Ke&&+Ke,Ze=Jt("species"),tr=ce.filter,er=function(t){return Xe>=51||!i((function(){var e=[];return(e.constructor={})[Ze]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}("filter"),rr=er&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));_t({target:"Array",proto:!0,forced:!er||!rr},{filter:function(t){return tr(this,t,arguments.length>1?arguments[1]:void 0)}});var nr=Jt("unscopables"),or=Array.prototype;null==or[nr]&&I.f(or,nr,{configurable:!0,value:Ut(null)});var ir=function(t){or[nr][t]=!0},ar=yt.includes;_t({target:"Array",proto:!0},{includes:function(t){return ar(this,t,arguments.length>1?arguments[1]:void 0)}}),ir("includes");var ur=yt.indexOf,cr=[].indexOf,sr=!!cr&&1/[1].indexOf(1,-0)<0,lr=function(t,e){var r=[][t];return!r||!i((function(){r.call(null,e||function(){throw 1},1)}))}("indexOf");_t({target:"Array",proto:!0,forced:sr||lr},{indexOf:function(t){return sr?cr.apply(this,arguments)||0:ur(this,t,arguments.length>1?arguments[1]:void 0)}});var fr,pr,yr,br=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),vr=Y("IE_PROTO"),dr=Object.prototype,hr=br?Object.getPrototypeOf:function(t){return t=Ct(t),S(t,vr)?t[vr]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?dr:null},gr=Jt("iterator"),mr=!1;[].keys&&("next"in(yr=[].keys())?(pr=hr(hr(yr)))!==Object.prototype&&(fr=pr):mr=!0),null==fr&&(fr={}),S(fr,gr)||_(fr,gr,(function(){return this}));var Sr={IteratorPrototype:fr,BUGGY_SAFARI_ITERATORS:mr},Or=Sr.IteratorPrototype,wr=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return T(r),function(t){if(!h(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),xr=Sr.IteratorPrototype,jr=Sr.BUGGY_SAFARI_ITERATORS,Er=Jt("iterator"),Ar=function(){return this},Tr=function(t,e,r,n,o,i,a){!function(t,e,r){var n=e+" Iterator";t.prototype=Ut(Or,{next:l(1,r)}),re(t,n,!1)}(r,e,n);var u,c,s,f=function(t){if(t===o&&d)return d;if(!jr&&t in b)return b[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",y=!1,b=t.prototype,v=b[Er]||b["@@iterator"]||o&&b[o],d=!jr&&v||f(o),h="Array"==e&&b.entries||v;if(h&&(u=hr(h.call(new t)),xr!==Object.prototype&&u.next&&(hr(u)!==xr&&(wr?wr(u,xr):"function"!=typeof u[Er]&&_(u,Er,Ar)),re(u,p,!0))),"values"==o&&v&&"values"!==v.name&&(y=!0,d=function(){return v.call(this)}),b[Er]!==d&&_(b,Er,d),o)if(c={values:f("values"),keys:i?d:f("keys"),entries:f("entries")},a)for(s in c)!jr&&!y&&s in b||et(b,s,c[s]);else _t({target:e,proto:!0,forced:jr||y},c);return c},Pr=tt.set,Ir=tt.getterFor("Array Iterator"),_r=Tr(Array,"Array",(function(t,e){Pr(this,{type:"Array Iterator",target:d(t),index:0,kind:e})}),(function(){var t=Ir(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");ir("keys"),ir("values"),ir("entries");var Lr=s.f,Rr=function(t){return function(e){for(var r,n=d(e),o=Nt(n),i=o.length,u=0,c=[];i>u;)r=o[u++],a&&!Lr.call(n,r)||c.push(t?[r,n[r]]:n[r]);return c}},kr={entries:Rr(!0),values:Rr(!1)}.entries;_t({target:"Object",stat:!0},{entries:function(t){return kr(t)}});var Cr={};Cr[Jt("toStringTag")]="z";var Nr="[object z]"===String(Cr),Mr=Jt("toStringTag"),Fr="Arguments"==p(function(){return arguments}()),Dr=Nr?p:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Mr))?r:Fr?p(e):"Object"==(n=p(e))&&"function"==typeof e.callee?"Arguments":n},$r=Nr?{}.toString:function(){return"[object "+Dr(this)+"]"};Nr||et(Object.prototype,"toString",$r,{unsafe:!0});var Gr="\t\n\v\f\r                　\u2028\u2029\ufeff",Vr="["+Gr+"]",Ur=RegExp("^"+Vr+Vr+"*"),zr=RegExp(Vr+Vr+"*$"),Br=function(t){return function(e){var r=String(v(e));return 1&t&&(r=r.replace(Ur,"")),2&t&&(r=r.replace(zr,"")),r}},Yr={start:Br(1),end:Br(2),trim:Br(3)}.trim,qr=o.parseInt,Kr=/^[+-]?0[Xx]/,Wr=8!==qr(Gr+"08")||22!==qr(Gr+"0x16")?function(t,e){var r=Yr(String(t));return qr(r,e>>>0||(Kr.test(r)?16:10))}:qr;_t({global:!0,forced:parseInt!=Wr},{parseInt:Wr});var Hr=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Jr(t,e){return RegExp(t,e)}var Qr,Xr,Zr={UNSUPPORTED_Y:i((function(){var t=Jr("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Jr("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},tn=RegExp.prototype.exec,en=String.prototype.replace,rn=tn,nn=(Qr=/a/,Xr=/b*/g,tn.call(Qr,"a"),tn.call(Xr,"a"),0!==Qr.lastIndex||0!==Xr.lastIndex),on=Zr.UNSUPPORTED_Y||Zr.BROKEN_CARET,an=void 0!==/()??/.exec("")[1];(nn||an||on)&&(rn=function(t){var e,r,n,o,i=this,a=on&&i.sticky,u=Hr.call(i),c=i.source,s=0,l=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),l=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(c="(?: "+c+")",l=" "+l,s++),r=new RegExp("^(?:"+c+")",u)),an&&(r=new RegExp("^"+c+"$(?!\\s)",u)),nn&&(e=i.lastIndex),n=tn.call(a?r:i,l),a?n?(n.input=n.input.slice(s),n[0]=n[0].slice(s),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:nn&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),an&&n&&n.length>1&&en.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var un=rn;_t({target:"RegExp",proto:!0,forced:/./.exec!==un},{exec:un});var cn=Jt("match"),sn=function(t){if(function(t){var e;return h(t)&&(void 0!==(e=t[cn])?!!e:"RegExp"==p(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},ln=Jt("match");_t({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[ln]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(v(this)).indexOf(sn(t),arguments.length>1?arguments[1]:void 0)}});var fn=function(t){return function(e,r){var n,o,i=String(v(e)),a=ut(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},pn={codeAt:fn(!1),charAt:fn(!0)},yn=pn.charAt,bn=tt.set,vn=tt.getterFor("String Iterator");Tr(String,"String",(function(t){bn(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=vn(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=yn(r,n),e.index+=t.length,{value:t,done:!1})}));var dn=Jt("species"),hn=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),gn="$0"==="a".replace(/./,"$0"),mn=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Sn=pn.charAt,On=function(t,e,r){return e+(r?Sn(t,e).length:1)},wn=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return un.call(t,e)},xn=Math.max,jn=Math.min,En=Math.floor,An=/\$([$&'`]|\d\d?|<[^>]*>)/g,Tn=/\$([$&'`]|\d\d?)/g;!function(t,e,r,n){var o=Jt(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),u=a&&!i((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[dn]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return e=!0,null},r[o](""),!e}));if(!a||!u||"replace"===t&&(!hn||!gn)||"split"===t&&!mn){var c=/./[o],s=r(o,""[t],(function(t,e,r,n,o){return e.exec===un?a&&!o?{done:!0,value:c.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:gn}),l=s[0],f=s[1];et(String.prototype,t,l),et(RegExp.prototype,o,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&_(RegExp.prototype[o],"sham",!0)}("replace",2,(function(t,e,r,n){return[function(r,n){var o=v(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,i){if(n.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=r(e,t,this,i);if(a.done)return a.value}var u=T(t),c=String(this),s="function"==typeof i;s||(i=String(i));var l=u.global;if(l){var f=u.unicode;u.lastIndex=0}for(var p=[];;){var y=wn(u,c);if(null===y)break;if(p.push(y),!l)break;""===String(y[0])&&(u.lastIndex=On(c,st(u.lastIndex),f))}for(var b,v="",d=0,h=0;h<p.length;h++){y=p[h];for(var g=String(y[0]),m=xn(jn(ut(y.index),c.length),0),S=[],O=1;O<y.length;O++)S.push(void 0===(b=y[O])?b:String(b));var w=y.groups;if(s){var x=[g].concat(S,m,c);void 0!==w&&x.push(w);var j=String(i.apply(void 0,x))}else j=o(g,c,m,S,w,i);m>=d&&(v+=c.slice(d,m)+j,d=m+g.length)}return v+c.slice(d)}];function o(t,r,n,o,i,a){var u=n+t.length,c=o.length,s=Tn;return void 0!==i&&(i=Ct(i),s=An),e.call(a,s,(function(e,a){var s;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":s=i[a.slice(1,-1)];break;default:var l=+a;if(0===l)return e;if(l>c){var f=En(l/10);return 0===f?e:f<=c?void 0===o[f-1]?a.charAt(1):o[f-1]+a.charAt(1):e}s=o[l-1]}return void 0===s?"":s}))}}));var Pn={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},In=Jt("iterator"),_n=Jt("toStringTag"),Ln=_r.values;for(var Rn in Pn){var kn=o[Rn],Cn=kn&&kn.prototype;if(Cn){if(Cn[In]!==Ln)try{_(Cn,In,Ln)}catch(t){Cn[In]=Ln}if(Cn[_n]||_(Cn,_n,Rn),Pn[Rn])for(var Nn in _r)if(Cn[Nn]!==_r[Nn])try{_(Cn,Nn,_r[Nn])}catch(t){Cn[Nn]=_r[Nn]}}}function Mn(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Fn(t){return(Fn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Dn(t,e){return(Dn=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function $n(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Gn(t,e,r){return(Gn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Fn(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(r):o.value}})(t,e,r||t)}function Vn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=t[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Un={},zn=[{base:"A",letters:"AⒶＡÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷＢḂḄḆɃƂƁ"},{base:"C",letters:"CⒸＣĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹＤḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"ǱǄ"},{base:"Dz",letters:"ǲǅ"},{base:"E",letters:"EⒺＥÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻＦḞƑꝻ"},{base:"G",letters:"GⒼＧǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽＨĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾＩÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿＪĴɈ"},{base:"K",letters:"KⓀＫḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁＬĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"Ǉ"},{base:"Lj",letters:"ǈ"},{base:"M",letters:"MⓂＭḾṀṂⱮƜ"},{base:"N",letters:"NⓃＮǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"Ǌ"},{base:"Nj",letters:"ǋ"},{base:"O",letters:"OⓄＯÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"Œ"},{base:"oe",letters:"œ"},{base:"P",letters:"PⓅＰṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆＱꝖꝘɊ"},{base:"R",letters:"RⓇＲŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈＳẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉＴṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊＵÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋＶṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌＷẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍＸẊẌ"},{base:"Y",letters:"YⓎＹỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏＺŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐａẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑｂḃḅḇƀƃɓ"},{base:"c",letters:"cⓒｃćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓｄḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"ǳǆ"},{base:"e",letters:"eⓔｅèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕｆḟƒꝼ"},{base:"g",letters:"gⓖｇǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗｈĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘｉìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙｊĵǰɉ"},{base:"k",letters:"kⓚｋḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛｌŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"ǉ"},{base:"m",letters:"mⓜｍḿṁṃɱɯ"},{base:"n",letters:"nⓝｎǹńñṅňṇņṋṉƞɲŉꞑꞥ"},{base:"nj",letters:"ǌ"},{base:"o",letters:"oⓞｏòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟｐṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠｑɋꝗꝙ"},{base:"r",letters:"rⓡｒŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢｓßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣｔṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤｕùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥｖṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦｗẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧｘẋẍ"},{base:"y",letters:"yⓨｙỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩｚźẑżžẓẕƶȥɀⱬꝣ"}],Bn=function(t){return t.replace(/[^\u0000-\u007E]/g,(function(t){return Un[t]||t}))};t.extend(t.fn.bootstrapTable.defaults,{searchAccentNeutralise:!1}),t.BootstrapTable=function(e){function r(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),$n(this,Fn(r).apply(this,arguments))}var n,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Dn(t,e)}(r,e),n=r,(o=[{key:"init",value:function(){this.options.searchAccentNeutralise&&function(){var t=!0,e=!1,r=void 0;try{for(var n,o=zn[Symbol.iterator]();!(t=(n=o.next()).done);t=!0)for(var i=n.value,a=i.letters,u=0;u<a.length;u++)Un[a[u]]=i.base}catch(t){e=!0,r=t}finally{try{t||null==o.return||o.return()}finally{if(e)throw r}}}(),Gn(Fn(r.prototype),"init",this).call(this)}},{key:"initSearch",value:function(){var e=this;if("server"!==this.options.sidePagination){var r=this.searchText&&this.searchText.toLowerCase(),n=t.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=n?this.options.data.filter((function(t,e){for(var r in n)if(t[r]!==n[r])return!1;return!0})):this.options.data,this.data=r?this.options.data.filter((function(n,o){for(var i=0,a=Object.entries(n);i<a.length;i++){var u=Vn(a[i],2),c=u[0],s=u[1];c=t.isNumeric(c)?parseInt(c,10):c;var l=e.columns[e.fieldsColumnsIndex[c]],f=e.header.fields.indexOf(c);l&&l.searchFormatter&&(s=t.fn.bootstrapTable.utils.calculateObjectValue(l,e.header.formatters[f],[s,n,o],s));var p=e.header.fields.indexOf(c);if(-1!==p&&e.header.searchables[p]&&"string"==typeof s)if(e.options.searchAccentNeutralise&&(s=Bn(s),r=Bn(r)),e.options.strictSearch){if("".concat(s).toLowerCase()===r)return!0}else if("".concat(s).toLowerCase().includes(r))return!0}return!1})):this.data}}}])&&Mn(n.prototype,o),i&&Mn(n,i),r}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js b/server/target/classes/static/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js
deleted file mode 100644
index 1778a5c..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js
+++ /dev/null
@@ -1,1631 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
-	// `Object.{ entries, values }` methods implementation
-	var createMethod$1 = function (TO_ENTRIES) {
-	  return function (it) {
-	    var O = toIndexedObject(it);
-	    var keys = objectKeys(O);
-	    var length = keys.length;
-	    var i = 0;
-	    var result = [];
-	    var key;
-	    while (length > i) {
-	      key = keys[i++];
-	      if (!descriptors || propertyIsEnumerable.call(O, key)) {
-	        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
-	      }
-	    }
-	    return result;
-	  };
-	};
-
-	var objectToArray = {
-	  // `Object.entries` method
-	  // https://tc39.github.io/ecma262/#sec-object.entries
-	  entries: createMethod$1(true),
-	  // `Object.values` method
-	  // https://tc39.github.io/ecma262/#sec-object.values
-	  values: createMethod$1(false)
-	};
-
-	var $entries = objectToArray.entries;
-
-	// `Object.entries` method
-	// https://tc39.github.io/ecma262/#sec-object.entries
-	_export({ target: 'Object', stat: true }, {
-	  entries: function entries(O) {
-	    return $entries(O);
-	  }
-	});
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	// makes subclassing work correct for wrapped built-ins
-	var inheritIfRequired = function ($this, dummy, Wrapper) {
-	  var NewTarget, NewTargetPrototype;
-	  if (
-	    // it can work only with native `setPrototypeOf`
-	    objectSetPrototypeOf &&
-	    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
-	    typeof (NewTarget = dummy.constructor) == 'function' &&
-	    NewTarget !== Wrapper &&
-	    isObject(NewTargetPrototype = NewTarget.prototype) &&
-	    NewTargetPrototype !== Wrapper.prototype
-	  ) objectSetPrototypeOf($this, NewTargetPrototype);
-	  return $this;
-	};
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var setSpecies = function (CONSTRUCTOR_NAME) {
-	  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
-	  var defineProperty = objectDefineProperty.f;
-
-	  if (descriptors && Constructor && !Constructor[SPECIES$2]) {
-	    defineProperty(Constructor, SPECIES$2, {
-	      configurable: true,
-	      get: function () { return this; }
-	    });
-	  }
-	};
-
-	var defineProperty = objectDefineProperty.f;
-	var getOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-
-
-
-
-	var setInternalState = internalState.set;
-
-
-
-	var MATCH$1 = wellKnownSymbol('match');
-	var NativeRegExp = global_1.RegExp;
-	var RegExpPrototype = NativeRegExp.prototype;
-	var re1 = /a/g;
-	var re2 = /a/g;
-
-	// "new" should create a new object, old webkit bug
-	var CORRECT_NEW = new NativeRegExp(re1) !== re1;
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
-
-	var FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$1 || fails(function () {
-	  re2[MATCH$1] = false;
-	  // RegExp constructor can alter flags and IsRegExp works correct with @@match
-	  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
-	})));
-
-	// `RegExp` constructor
-	// https://tc39.github.io/ecma262/#sec-regexp-constructor
-	if (FORCED$1) {
-	  var RegExpWrapper = function RegExp(pattern, flags) {
-	    var thisIsRegExp = this instanceof RegExpWrapper;
-	    var patternIsRegExp = isRegexp(pattern);
-	    var flagsAreUndefined = flags === undefined;
-	    var sticky;
-
-	    if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
-	      return pattern;
-	    }
-
-	    if (CORRECT_NEW) {
-	      if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
-	    } else if (pattern instanceof RegExpWrapper) {
-	      if (flagsAreUndefined) flags = regexpFlags.call(pattern);
-	      pattern = pattern.source;
-	    }
-
-	    if (UNSUPPORTED_Y$1) {
-	      sticky = !!flags && flags.indexOf('y') > -1;
-	      if (sticky) flags = flags.replace(/y/g, '');
-	    }
-
-	    var result = inheritIfRequired(
-	      CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
-	      thisIsRegExp ? this : RegExpPrototype,
-	      RegExpWrapper
-	    );
-
-	    if (UNSUPPORTED_Y$1 && sticky) setInternalState(result, { sticky: sticky });
-
-	    return result;
-	  };
-	  var proxy = function (key) {
-	    key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
-	      configurable: true,
-	      get: function () { return NativeRegExp[key]; },
-	      set: function (it) { NativeRegExp[key] = it; }
-	    });
-	  };
-	  var keys$1 = getOwnPropertyNames(NativeRegExp);
-	  var index = 0;
-	  while (keys$1.length > index) proxy(keys$1[index++]);
-	  RegExpPrototype.constructor = RegExpWrapper;
-	  RegExpWrapper.prototype = RegExpPrototype;
-	  redefine(global_1, 'RegExp', RegExpWrapper);
-	}
-
-	// https://tc39.github.io/ecma262/#sec-get-regexp-@@species
-	setSpecies('RegExp');
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$2 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var TO_STRING = 'toString';
-	var RegExpPrototype$1 = RegExp.prototype;
-	var nativeToString = RegExpPrototype$1[TO_STRING];
-
-	var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
-	// FF44- RegExp#toString has a wrong name
-	var INCORRECT_NAME = nativeToString.name != TO_STRING;
-
-	// `RegExp.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
-	if (NOT_GENERIC || INCORRECT_NAME) {
-	  redefine(RegExp.prototype, TO_STRING, function toString() {
-	    var R = anObject(this);
-	    var p = String(R.source);
-	    var rf = R.flags;
-	    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$1) ? regexpFlags.call(R) : rf);
-	    return '/' + p + '/' + f;
-	  }, { unsafe: true });
-	}
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$3] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	// @@match logic
-	fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
-	  return [
-	    // `String.prototype.match` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.match
-	    function match(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var matcher = regexp == undefined ? undefined : regexp[MATCH];
-	      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
-	    },
-	    // `RegExp.prototype[@@match]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
-	    function (regexp) {
-	      var res = maybeCallNative(nativeMatch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      if (!rx.global) return regexpExecAbstract(rx, S);
-
-	      var fullUnicode = rx.unicode;
-	      rx.lastIndex = 0;
-	      var A = [];
-	      var n = 0;
-	      var result;
-	      while ((result = regexpExecAbstract(rx, S)) !== null) {
-	        var matchStr = String(result[0]);
-	        A[n] = matchStr;
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	        n++;
-	      }
-	      return n === 0 ? null : A;
-	    }
-	  ];
-	});
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// `SameValue` abstract operation
-	// https://tc39.github.io/ecma262/#sec-samevalue
-	var sameValue = Object.is || function is(x, y) {
-	  // eslint-disable-next-line no-self-compare
-	  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-	};
-
-	// @@search logic
-	fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
-	  return [
-	    // `String.prototype.search` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.search
-	    function search(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var searcher = regexp == undefined ? undefined : regexp[SEARCH];
-	      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
-	    },
-	    // `RegExp.prototype[@@search]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
-	    function (regexp) {
-	      var res = maybeCallNative(nativeSearch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var previousLastIndex = rx.lastIndex;
-	      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
-	      var result = regexpExecAbstract(rx, S);
-	      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
-	      return result === null ? -1 : result.index;
-	    }
-	  ];
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	function _slicedToArray(arr, i) {
-	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
-	}
-
-	function _arrayWithHoles(arr) {
-	  if (Array.isArray(arr)) return arr;
-	}
-
-	function _iterableToArrayLimit(arr, i) {
-	  if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
-	    return;
-	  }
-
-	  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;
-	}
-
-	function _nonIterableRest() {
-	  throw new TypeError("Invalid attempt to destructure non-iterable instance");
-	}
-
-	/**
-	 * @author: general
-	 * @website: note.generals.space
-	 * @email: generals.space@gmail.com
-	 * @github: https://github.com/generals-space/bootstrap-table-addrbar
-	 * @update: zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	/*
-	 * function: 获取浏览器地址栏中的指定参数.
-	 * key: 参数名
-	 * url: 默认为当前地址栏
-	 */
-
-	function _GET(key) {
-	  var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
-
-	  /*
-	   * 注意这里正则表达式的书写方法
-	   * (^|&)key匹配: 直接以key开始或以&key开始的字符串
-	   * 同理(&|$)表示以&结束或是直接结束的字符串
-	   * ...当然, 我并不知道这种用法.
-	   */
-	  var reg = new RegExp("(^|&)".concat(key, "=([^&]*)(&|$)"));
-	  var result = url.substr(1).match(reg);
-
-	  if (result) {
-	    return decodeURIComponent(result[2]);
-	  }
-
-	  return null;
-	}
-	/*
-	 * function: 根据给定参数生成url地址
-	 * var dic = {name: 'genreal', age: 24}
-	 * var url = 'https://www.baidu.com?age=22';
-	 * _buildUrl(dic, url);
-	 * 将得到"https://www.baidu.com?age=24&name=genreal"
-	 * 哦, 忽略先后顺序吧...
-	 *
-	 * 补充: 可以参考浏览器URLSearchParams对象, 更加方便和强大.
-	 * 考虑到兼容性, 暂时不使用这个工具.
-	 */
-
-
-	function _buildUrl(dict) {
-	  var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.search;
-
-	  for (var _i = 0, _Object$entries = Object.entries(dict); _i < _Object$entries.length; _i++) {
-	    var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
-	        key = _Object$entries$_i[0],
-	        val = _Object$entries$_i[1];
-
-	    // 搜索name=general这种形式的字符串(&是分隔符)
-	    var pattern = "".concat(key, "=([^&]*)");
-	    var targetStr = "".concat(key, "=").concat(val);
-	    /*
-	     * 如果目标url中包含了key键, 我们需要将它替换成我们自己的val
-	     * 不然就直接添加好了.
-	     */
-
-	    if (url.match(pattern)) {
-	      var tmp = new RegExp("(".concat(key, "=)([^&]*)"), 'gi');
-	      url = url.replace(tmp, targetStr);
-	    } else {
-	      var seperator = url.match('[?]') ? '&' : '?';
-	      url = url + seperator + targetStr;
-	    }
-	  }
-
-	  if (location.hash) {
-	    url += location.hash;
-	  }
-
-	  return url;
-	}
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _this = this,
-	          _get2;
-
-	      if (this.options.pagination && this.options.sidePagination === 'server' && this.options.addrbar) {
-	        // 标志位, 初始加载后关闭
-	        this.addrbarInit = true;
-
-	        var _prefix = this.options.addrPrefix || ''; // 优先级排序: 用户指定值最优先, 未指定时从地址栏获取, 未获取到时采用默认值
-
-
-	        this.options.pageNumber = +_GET("".concat(_prefix, "page")) || $.BootstrapTable.DEFAULTS.pageNumber;
-	        this.options.pageSize = +_GET("".concat(_prefix, "size")) || $.BootstrapTable.DEFAULTS.pageSize;
-	        this.options.sortOrder = _GET("".concat(_prefix, "order")) || $.BootstrapTable.DEFAULTS.sortOrder;
-	        this.options.sortName = _GET("".concat(_prefix, "sort")) || $.BootstrapTable.DEFAULTS.sortName;
-	        this.options.searchText = _GET("".concat(_prefix, "search")) || $.BootstrapTable.DEFAULTS.searchText;
-	        var _onLoadSuccess = this.options.onLoadSuccess;
-
-	        this.options.onLoadSuccess = function (data) {
-	          if (_this.addrbarInit) {
-	            _this.addrbarInit = false;
-	          } else {
-	            var params = {};
-	            params["".concat(_prefix, "page")] = _this.options.pageNumber, params["".concat(_prefix, "size")] = _this.options.pageSize, params["".concat(_prefix, "order")] = _this.options.sortOrder, params["".concat(_prefix, "sort")] = _this.options.sortName, params["".concat(_prefix, "search")] = _this.options.searchText; // h5提供的修改浏览器地址栏的方法
-
-	            window.history.pushState({}, '', _buildUrl(params));
-	          }
-
-	          if (_onLoadSuccess) {
-	            _onLoadSuccess.call(_this, data);
-	          }
-	        };
-	      }
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.min.js b/server/target/classes/static/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.min.js
deleted file mode 100644
index a6dd60a..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,f={f:u&&!c.call({1:2},1)?function(t){var n=u(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return h(d(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,n){if(!y(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!y(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!y(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!y(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},x={}.hasOwnProperty,m=function(t,n){return x.call(t,n)},S=o.document,w=y(S)&&y(S.createElement),E=!a&&!i((function(){return 7!=Object.defineProperty((t="div",w?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),O=Object.getOwnPropertyDescriptor,j={f:a?O:function(t,n){if(t=v(t),n=b(n,!0),E)try{return O(t,n)}catch(t){}if(m(t,n))return l(!f.f.call(t,n),t[n])}},T=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},_=Object.defineProperty,R={f:a?_:function(t,n,e){if(T(t),n=b(n,!0),T(e),E)try{return _(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},P=a?function(t,n,e){return R.f(t,n,l(1,e))}:function(t,n,e){return t[n]=e,t},A=function(t,n){try{P(o,t,n)}catch(e){o[t]=n}return n},I=o["__core-js_shared__"]||A("__core-js_shared__",{}),N=Function.toString;"function"!=typeof I.inspectSource&&(I.inspectSource=function(t){return N.call(t)});var k,C,M,L,$=I.inspectSource,D=o.WeakMap,U="function"==typeof D&&/native code/.test($(D)),B=e((function(t){(t.exports=function(t,n){return I[t]||(I[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),F=0,z=Math.random(),K=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++F+z).toString(36)},q=B("keys"),Y={},G=o.WeakMap;if(U){var W=new G,Q=W.get,V=W.has,H=W.set;k=function(t,n){return H.call(W,t,n),n},C=function(t){return Q.call(W,t)||{}},M=function(t){return V.call(W,t)}}else{var J=q[L="state"]||(q[L]=K(L));Y[J]=!0,k=function(t,n){return P(t,J,n),n},C=function(t){return m(t,J)?t[J]:{}},M=function(t){return m(t,J)}}var X,Z,tt={set:k,get:C,has:M,enforce:function(t){return M(t)?C(t):k(t,{})},getterFor:function(t){return function(n){var e;if(!y(n)||(e=C(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||m(i,"name")||P(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!f&&t[n]&&(u=!0):delete t[n],u?t[n]=i:P(t,n,i)):u?t[n]=i:A(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||$(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,at=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ut=Math.min,ft=function(t){return t>0?ut(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,e,r){var o,i=v(n),a=ft(i.length),c=function(t,n){var e=ct(t);return e<0?lt(e+n,0):st(e,n)}(r,a);if(t&&e!=e){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=function(t,n){var e,r=v(t),o=0,i=[];for(e in r)!m(Y,e)&&m(r,e)&&i.push(e);for(;n.length>o;)m(r,e=n[o++])&&(~gt(i,e)||i.push(e));return i},dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=dt.concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return ht(t,vt)}},bt={f:Object.getOwnPropertySymbols},xt=ot("Reflect","ownKeys")||function(t){var n=yt.f(T(t)),e=bt.f;return e?n.concat(e(t)):n},mt=function(t,n){for(var e=xt(n),r=R.f,o=j.f,i=0;i<e.length;i++){var a=e[i];m(t,a)||r(t,a,o(n,a))}},St=/#|\.prototype\./,wt=function(t,n){var e=Ot[Et(t)];return e==Tt||e!=jt&&("function"==typeof n?i(n):!!n)},Et=wt.normalize=function(t){return String(t).replace(St,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Tt=wt.POLYFILL="P",_t=wt,Rt=j.f,Pt=function(t,n){var e,r,i,a,c,u=t.target,f=t.global,l=t.stat;if(e=f?o:l?o[u]||A(u,{}):(o[u]||{}).prototype)for(r in n){if(a=n[r],i=t.noTargetGet?(c=Rt(e,r))&&c.value:e[r],!_t(f?r:u+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;mt(a,i)}(t.sham||i&&i.sham)&&P(a,"sham",!0),nt(e,r,a,t)}},At=Array.isArray||function(t){return"Array"==p(t)},It=function(t){return Object(d(t))},Nt=function(t,n,e){var r=b(n);r in t?R.f(t,r,l(0,e)):t[r]=e},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),Mt=B("wks"),Lt=o.Symbol,$t=Ct?Lt:K,Dt=function(t){return m(Mt,t)||(kt&&m(Lt,t)?Mt[t]=Lt[t]:Mt[t]=$t("Symbol."+t)),Mt[t]},Ut=Dt("species"),Bt=function(t,n){var e;return At(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!At(e.prototype)?y(e)&&null===(e=e[Ut])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},Ft=ot("navigator","userAgent")||"",zt=o.process,Kt=zt&&zt.versions,qt=Kt&&Kt.v8;qt?Z=(X=qt.split("."))[0]+X[1]:Ft&&(!(X=Ft.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Ft.match(/Chrome\/(\d+)/))&&(Z=X[1]);var Yt,Gt=Z&&+Z,Wt=Dt("species"),Qt=Dt("isConcatSpreadable"),Vt=Gt>=51||!i((function(){var t=[];return t[Qt]=!1,t.concat()[0]!==t})),Ht=(Yt="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Yt](Boolean).foo}))),Jt=function(t){if(!y(t))return!1;var n=t[Qt];return void 0!==n?!!n:At(t)};Pt({target:"Array",proto:!0,forced:!Vt||!Ht},{concat:function(t){var n,e,r,o,i,a=It(this),c=Bt(a,0),u=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?a:arguments[n],Jt(i)){if(u+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,u++)e in i&&Nt(c,u,i[e])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Nt(c,u++,i)}return c.length=u,c}});var Xt=Object.keys||function(t){return ht(t,dt)},Zt=f.f,tn=function(t){return function(n){for(var e,r=v(n),o=Xt(r),i=o.length,c=0,u=[];i>c;)e=o[c++],a&&!Zt.call(r,e)||u.push(t?[e,r[e]]:r[e]);return u}},nn={entries:tn(!0),values:tn(!1)}.entries;Pt({target:"Object",stat:!0},{entries:function(t){return nn(t)}});var en=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return T(e),function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0),rn=Dt("match"),on=function(){var t=T(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n};function an(t,n){return RegExp(t,n)}var cn={UNSUPPORTED_Y:i((function(){var t=an("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=an("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},un=Dt("species"),fn=R.f,ln=yt.f,sn=tt.set,pn=Dt("match"),gn=o.RegExp,hn=gn.prototype,dn=/a/g,vn=/a/g,yn=new gn(dn)!==dn,bn=cn.UNSUPPORTED_Y;if(a&&_t("RegExp",!yn||bn||i((function(){return vn[pn]=!1,gn(dn)!=dn||gn(vn)==vn||"/a/i"!=gn(dn,"i")})))){for(var xn=function(t,n){var e,r,o,i=this instanceof xn,a=y(e=t)&&(void 0!==(r=e[rn])?!!r:"RegExp"==p(e)),c=void 0===n;if(!i&&a&&t.constructor===xn&&c)return t;yn?a&&!c&&(t=t.source):t instanceof xn&&(c&&(n=on.call(t)),t=t.source),bn&&(o=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var u,f,l,s,g,h=(u=yn?new gn(t,n):gn(t,n),f=i?this:hn,l=xn,en&&"function"==typeof(s=f.constructor)&&s!==l&&y(g=s.prototype)&&g!==l.prototype&&en(u,g),u);return bn&&o&&sn(h,{sticky:o}),h},mn=function(t){t in xn||fn(xn,t,{configurable:!0,get:function(){return gn[t]},set:function(n){gn[t]=n}})},Sn=ln(gn),wn=0;Sn.length>wn;)mn(Sn[wn++]);hn.constructor=xn,xn.prototype=hn,nt(o,"RegExp",xn)}!function(t){var n=ot(t),e=R.f;a&&n&&!n[un]&&e(n,un,{configurable:!0,get:function(){return this}})}("RegExp");var En=RegExp.prototype.exec,On=String.prototype.replace,jn=En,Tn=function(){var t=/a/,n=/b*/g;return En.call(t,"a"),En.call(n,"a"),0!==t.lastIndex||0!==n.lastIndex}(),_n=cn.UNSUPPORTED_Y||cn.BROKEN_CARET,Rn=void 0!==/()??/.exec("")[1];(Tn||Rn||_n)&&(jn=function(t){var n,e,r,o,i=this,a=_n&&i.sticky,c=on.call(i),u=i.source,f=0,l=t;return a&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),l=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(u="(?: "+u+")",l=" "+l,f++),e=new RegExp("^(?:"+u+")",c)),Rn&&(e=new RegExp("^"+u+"$(?!\\s)",c)),Tn&&(n=i.lastIndex),r=En.call(a?e:i,l),a?r?(r.input=r.input.slice(f),r[0]=r[0].slice(f),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:Tn&&r&&(i.lastIndex=i.global?r.index+r[0].length:n),Rn&&r&&r.length>1&&On.call(r[0],e,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var Pn=jn;Pt({target:"RegExp",proto:!0,forced:/./.exec!==Pn},{exec:Pn});var An=RegExp.prototype,In=An.toString,Nn=i((function(){return"/a/b"!=In.call({source:"a",flags:"b"})})),kn="toString"!=In.name;(Nn||kn)&&nt(RegExp.prototype,"toString",(function(){var t=T(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in An)?on.call(t):e)}),{unsafe:!0});var Cn=Dt("species"),Mn=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Ln="$0"==="a".replace(/./,"$0"),$n=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]})),Dn=function(t,n,e,r){var o=Dt(t),a=!i((function(){var n={};return n[o]=function(){return 7},7!=""[t](n)})),c=a&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[Cn]=function(){return e},e.flags="",e[o]=/./[o]),e.exec=function(){return n=!0,null},e[o](""),!n}));if(!a||!c||"replace"===t&&(!Mn||!Ln)||"split"===t&&!$n){var u=/./[o],f=e(o,""[t],(function(t,n,e,r,o){return n.exec===Pn?a&&!o?{done:!0,value:u.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Ln}),l=f[0],s=f[1];nt(String.prototype,t,l),nt(RegExp.prototype,o,2==n?function(t,n){return s.call(t,this,n)}:function(t){return s.call(t,this)})}r&&P(RegExp.prototype[o],"sham",!0)},Un=function(t){return function(n,e){var r,o,i=String(d(n)),a=ct(e),c=i.length;return a<0||a>=c?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===c||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Bn={codeAt:Un(!1),charAt:Un(!0)}.charAt,Fn=function(t,n,e){return n+(e?Bn(t,n).length:1)},zn=function(t,n){var e=t.exec;if("function"==typeof e){var r=e.call(t,n);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return Pn.call(t,n)};Dn("match",1,(function(t,n,e){return[function(n){var e=d(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var o=T(t),i=String(this);if(!o.global)return zn(o,i);var a=o.unicode;o.lastIndex=0;for(var c,u=[],f=0;null!==(c=zn(o,i));){var l=String(c[0]);u[f]=l,""===l&&(o.lastIndex=Fn(i,ft(o.lastIndex),a)),f++}return 0===f?null:u}]}));var Kn=Math.max,qn=Math.min,Yn=Math.floor,Gn=/\$([$&'`]|\d\d?|<[^>]*>)/g,Wn=/\$([$&'`]|\d\d?)/g;Dn("replace",2,(function(t,n,e,r){return[function(e,r){var o=d(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,i){if(r.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=e(n,t,this,i);if(a.done)return a.value}var c=T(t),u=String(this),f="function"==typeof i;f||(i=String(i));var l=c.global;if(l){var s=c.unicode;c.lastIndex=0}for(var p=[];;){var g=zn(c,u);if(null===g)break;if(p.push(g),!l)break;""===String(g[0])&&(c.lastIndex=Fn(u,ft(c.lastIndex),s))}for(var h,d="",v=0,y=0;y<p.length;y++){g=p[y];for(var b=String(g[0]),x=Kn(qn(ct(g.index),u.length),0),m=[],S=1;S<g.length;S++)m.push(void 0===(h=g[S])?h:String(h));var w=g.groups;if(f){var E=[b].concat(m,x,u);void 0!==w&&E.push(w);var O=String(i.apply(void 0,E))}else O=o(b,u,x,m,w,i);x>=v&&(d+=u.slice(v,x)+O,v=x+b.length)}return d+u.slice(v)}];function o(t,e,r,o,i,a){var c=r+t.length,u=o.length,f=Wn;return void 0!==i&&(i=It(i),f=Gn),n.call(a,f,(function(n,a){var f;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":f=i[a.slice(1,-1)];break;default:var l=+a;if(0===l)return n;if(l>u){var s=Yn(l/10);return 0===s?n:s<=u?void 0===o[s-1]?a.charAt(1):o[s-1]+a.charAt(1):n}f=o[l-1]}return void 0===f?"":f}))}}));var Qn=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n};function Vn(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Hn(t){return(Hn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Jn(t,n){return(Jn=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function Xn(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function Zn(t,n,e){return(Zn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=Hn(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}function te(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var e=[],r=!0,o=!1,i=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==c.return||c.return()}finally{if(o)throw i}}return e}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function ne(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search,e=new RegExp("(^|&)".concat(t,"=([^&]*)(&|$)")),r=n.substr(1).match(e);return r?decodeURIComponent(r[2]):null}function ee(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search,e=0,r=Object.entries(t);e<r.length;e++){var o=te(r[e],2),i=o[0],a=o[1],c="".concat(i,"=([^&]*)"),u="".concat(i,"=").concat(a);if(n.match(c)){var f=new RegExp("(".concat(i,"=)([^&]*)"),"gi");n=n.replace(f,u)}else{var l=n.match("[?]")?"&":"?";n=n+l+u}}return location.hash&&(n+=location.hash),n}Dn("search",1,(function(t,n,e){return[function(n){var e=d(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var o=T(t),i=String(this),a=o.lastIndex;Qn(a,0)||(o.lastIndex=0);var c=zn(o,i);return Qn(o.lastIndex,a)||(o.lastIndex=a),null===c?-1:c.index}]})),t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),Xn(this,Hn(e).apply(this,arguments))}var r,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Jn(t,n)}(e,n),r=e,(o=[{key:"init",value:function(){var n,r=this;if(this.options.pagination&&"server"===this.options.sidePagination&&this.options.addrbar){this.addrbarInit=!0;var o=this.options.addrPrefix||"";this.options.pageNumber=+ne("".concat(o,"page"))||t.BootstrapTable.DEFAULTS.pageNumber,this.options.pageSize=+ne("".concat(o,"size"))||t.BootstrapTable.DEFAULTS.pageSize,this.options.sortOrder=ne("".concat(o,"order"))||t.BootstrapTable.DEFAULTS.sortOrder,this.options.sortName=ne("".concat(o,"sort"))||t.BootstrapTable.DEFAULTS.sortName,this.options.searchText=ne("".concat(o,"search"))||t.BootstrapTable.DEFAULTS.searchText;var i=this.options.onLoadSuccess;this.options.onLoadSuccess=function(t){if(r.addrbarInit)r.addrbarInit=!1;else{var n={};n["".concat(o,"page")]=r.options.pageNumber,n["".concat(o,"size")]=r.options.pageSize,n["".concat(o,"order")]=r.options.sortOrder,n["".concat(o,"sort")]=r.options.sortName,n["".concat(o,"search")]=r.options.searchText,window.history.pushState({},"",ee(n))}i&&i.call(r,t)}}for(var a=arguments.length,c=new Array(a),u=0;u<a;u++)c[u]=arguments[u];(n=Zn(Hn(e.prototype),"init",this)).call.apply(n,[this].concat(c))}}])&&Vn(r.prototype,o),i&&Vn(r,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js b/server/target/classes/static/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js
deleted file mode 100644
index e0b07ae..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js
+++ /dev/null
@@ -1,1092 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Alec Fenichel
-	 * @webSite: https://fenichelar.com
-	 * @update: zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	$.extend($.fn.bootstrapTable.defaults, {
-	  autoRefresh: false,
-	  autoRefreshInterval: 60,
-	  autoRefreshSilent: true,
-	  autoRefreshStatus: true,
-	  autoRefreshFunction: null
-	});
-	$.extend($.fn.bootstrapTable.defaults.icons, {
-	  autoRefresh: {
-	    bootstrap3: 'glyphicon-time icon-time',
-	    materialize: 'access_time'
-	  }[$.fn.bootstrapTable.theme] || 'fa-clock'
-	});
-	$.extend($.fn.bootstrapTable.locales, {
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  }
-	});
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _get2,
-	          _this = this;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-
-	      if (this.options.autoRefresh && this.options.autoRefreshStatus) {
-	        this.options.autoRefreshFunction = setInterval(function () {
-	          _this.refresh({
-	            silent: _this.options.autoRefreshSilent
-	          });
-	        }, this.options.autoRefreshInterval * 1000);
-	      }
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      var _get3;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get3, [this].concat(args));
-
-	      if (this.options.autoRefresh) {
-	        var $btnGroup = this.$toolbar.find('>.columns');
-	        var $btnAutoRefresh = $btnGroup.find('.auto-refresh');
-
-	        if (!$btnAutoRefresh.length) {
-	          $btnAutoRefresh = $("\n          <button class=\"auto-refresh ".concat(this.constants.buttonsClass, "\n          ").concat(this.options.autoRefreshStatus ? " ".concat(this.constants.classes.buttonActive) : '', "\"\n          type=\"button\" title=\"").concat(this.options.formatAutoRefresh(), "\">\n          ").concat(this.options.showButtonIcons ? Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.autoRefresh) : '', "\n          ").concat(this.options.showButtonText ? this.options.formatAutoRefresh() : '', "\n          </button>\n        ")).appendTo($btnGroup);
-	          $btnAutoRefresh.on('click', $.proxy(this.toggleAutoRefresh, this));
-	        }
-	      }
-	    }
-	  }, {
-	    key: "toggleAutoRefresh",
-	    value: function toggleAutoRefresh() {
-	      var _this2 = this;
-
-	      if (this.options.autoRefresh) {
-	        if (this.options.autoRefreshStatus) {
-	          clearInterval(this.options.autoRefreshFunction);
-	          this.$toolbar.find('>.columns').find('.auto-refresh').removeClass(this.constants.classes.buttonActive);
-	        } else {
-	          this.options.autoRefreshFunction = setInterval(function () {
-	            _this2.refresh({
-	              silent: _this2.options.autoRefreshSilent
-	            });
-	          }, this.options.autoRefreshInterval * 1000);
-	          this.$toolbar.find('>.columns').find('.auto-refresh').addClass(this.constants.classes.buttonActive);
-	        }
-
-	        this.options.autoRefreshStatus = !this.options.autoRefreshStatus;
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js b/server/target/classes/static/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js
deleted file mode 100644
index 8681a4e..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:c},s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},h="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?h.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return y(d(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,e){if(!v(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!v(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!v(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!v(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,e){return m.call(t,e)},O=o.document,j=v(O)&&v(O.createElement),S=function(t){return j?O.createElement(t):{}},R=!u&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),T=Object.getOwnPropertyDescriptor,P={f:u?T:function(t,e){if(t=b(t),e=g(e,!0),R)try{return T(t,e)}catch(t){}if(w(t,e))return s(!a.f.call(t,e),t[e])}},x=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,e,n){if(x(t),e=g(e,!0),x(n),R)try{return A(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}},_=u?function(t,e,n){return E.f(t,e,s(1,n))}:function(t,e,n){return t[e]=n,t},I=function(t,e){try{_(o,t,e)}catch(n){o[t]=e}return e},k=o["__core-js_shared__"]||I("__core-js_shared__",{}),M=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return M.call(t)});var F,C,B,L=k.inspectSource,N=o.WeakMap,q="function"==typeof N&&/native code/.test(L(N)),z=n((function(t){(t.exports=function(t,e){return k[t]||(k[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),D=0,W=Math.random(),$=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++D+W).toString(36)},G=z("keys"),K=function(t){return G[t]||(G[t]=$(t))},Q={},V=o.WeakMap;if(q){var X=new V,Y=X.get,H=X.has,J=X.set;F=function(t,e){return J.call(X,t,e),e},C=function(t){return Y.call(X,t)||{}},B=function(t){return H.call(X,t)}}else{var U=K("state");Q[U]=!0,F=function(t,e){return _(t,U,e),e},C=function(t){return w(t,U)?t[U]:{}},B=function(t){return w(t,U)}}var Z,tt,et={set:F,get:C,has:B,enforce:function(t){return B(t)?C(t):F(t,{})},getterFor:function(t){return function(e){var n;if(!v(e)||(n=C(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,r=String(String).split("String");(t.exports=function(t,e,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||_(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(c?!a&&t[e]&&(f=!0):delete t[e],f?t[e]=i:_(t,e,i)):f?t[e]=i:I(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||L(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},ut=Math.ceil,ct=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?ct:ut)(t)},at=Math.min,st=function(t){return t>0?at(ft(t),9007199254740991):0},lt=Math.max,pt=Math.min,ht=function(t){return function(e,n,r){var o,i=b(e),u=st(i.length),c=function(t,e){var n=ft(t);return n<0?lt(n+e,0):pt(n,e)}(r,u);if(t&&n!=n){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},yt={includes:ht(!0),indexOf:ht(!1)}.indexOf,dt=function(t,e){var n,r=b(t),o=0,i=[];for(n in r)!w(Q,n)&&w(r,n)&&i.push(n);for(;e.length>o;)w(r,n=e[o++])&&(~yt(i,n)||i.push(n));return i},bt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=bt.concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return dt(t,vt)}},mt={f:Object.getOwnPropertySymbols},wt=it("Reflect","ownKeys")||function(t){var e=gt.f(x(t)),n=mt.f;return n?e.concat(n(t)):e},Ot=function(t,e){for(var n=wt(e),r=E.f,o=P.f,i=0;i<n.length;i++){var u=n[i];w(t,u)||r(t,u,o(e,u))}},jt=/#|\.prototype\./,St=function(t,e){var n=Tt[Rt(t)];return n==xt||n!=Pt&&("function"==typeof e?i(e):!!e)},Rt=St.normalize=function(t){return String(t).replace(jt,".").toLowerCase()},Tt=St.data={},Pt=St.NATIVE="N",xt=St.POLYFILL="P",At=St,Et=P.f,_t=function(t,e){var n,r,i,u,c,f=t.target,a=t.global,s=t.stat;if(n=a?o:s?o[f]||I(f,{}):(o[f]||{}).prototype)for(r in e){if(u=e[r],i=t.noTargetGet?(c=Et(n,r))&&c.value:n[r],!At(a?r:f+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;Ot(u,i)}(t.sham||i&&i.sham)&&_(u,"sham",!0),nt(n,r,u,t)}},It=Array.isArray||function(t){return"Array"==p(t)},kt=function(t){return Object(d(t))},Mt=function(t,e,n){var r=g(e);r in t?E.f(t,r,s(0,n)):t[r]=n},Ft=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Ft&&!Symbol.sham&&"symbol"==typeof Symbol(),Bt=z("wks"),Lt=o.Symbol,Nt=Ct?Lt:$,qt=function(t){return w(Bt,t)||(Ft&&w(Lt,t)?Bt[t]=Lt[t]:Bt[t]=Nt("Symbol."+t)),Bt[t]},zt=qt("species"),Dt=function(t,e){var n;return It(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!It(n.prototype)?v(n)&&null===(n=n[zt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},Wt=it("navigator","userAgent")||"",$t=o.process,Gt=$t&&$t.versions,Kt=Gt&&Gt.v8;Kt?tt=(Z=Kt.split("."))[0]+Z[1]:Wt&&(!(Z=Wt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Wt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Qt,Vt=tt&&+tt,Xt=qt("species"),Yt=qt("isConcatSpreadable"),Ht=Vt>=51||!i((function(){var t=[];return t[Yt]=!1,t.concat()[0]!==t})),Jt=(Qt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Xt]=function(){return{foo:1}},1!==t[Qt](Boolean).foo}))),Ut=function(t){if(!v(t))return!1;var e=t[Yt];return void 0!==e?!!e:It(t)};_t({target:"Array",proto:!0,forced:!Ht||!Jt},{concat:function(t){var e,n,r,o,i,u=kt(this),c=Dt(u,0),f=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?u:arguments[e],Ut(i)){if(f+(o=st(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,f++)n in i&&Mt(c,f,i[n])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}});var Zt,te=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},ee=[].push,ne=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,f,a,s){for(var l,p,h=kt(c),d=y(h),b=te(f,a,3),v=st(d.length),g=0,m=s||Dt,w=e?m(c,v):n?m(c,0):void 0;v>g;g++)if((u||g in d)&&(p=b(l=d[g],g,h),t))if(e)w[g]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return g;case 2:ee.call(w,l)}else if(o)return!1;return i?-1:r||o?o:w}},re={forEach:ne(0),map:ne(1),filter:ne(2),some:ne(3),every:ne(4),find:ne(5),findIndex:ne(6)},oe=Object.keys||function(t){return dt(t,bt)},ie=u?Object.defineProperties:function(t,e){x(t);for(var n,r=oe(e),o=r.length,i=0;o>i;)E.f(t,n=r[i++],e[n]);return t},ue=it("document","documentElement"),ce=K("IE_PROTO"),fe=function(){},ae=function(t){return"<script>"+t+"<\/script>"},se=function(){try{Zt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;se=Zt?function(t){t.write(ae("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Zt):((e=S("iframe")).style.display="none",ue.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ae("document.F=Object")),t.close(),t.F);for(var n=bt.length;n--;)delete se.prototype[bt[n]];return se()};Q[ce]=!0;var le=Object.create||function(t,e){var n;return null!==t?(fe.prototype=x(t),n=new fe,fe.prototype=null,n[ce]=t):n=se(),void 0===e?n:ie(n,e)},pe=qt("unscopables"),he=Array.prototype;null==he[pe]&&E.f(he,pe,{configurable:!0,value:le(null)});var ye,de=re.find,be=!0;function ve(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),Object.defineProperty(t,r.key,r)}}function ge(t){return(ge=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function me(t,e){return(me=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function we(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Oe(t,e,n){return(Oe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ge(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}"find"in[]&&Array(1).find((function(){be=!1})),_t({target:"Array",proto:!0,forced:be},{find:function(t){return de(this,t,arguments.length>1?arguments[1]:void 0)}}),ye="find",he[pe][ye]=!0;var je=t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults,{autoRefresh:!1,autoRefreshInterval:60,autoRefreshSilent:!0,autoRefreshStatus:!0,autoRefreshFunction:null}),t.extend(t.fn.bootstrapTable.defaults.icons,{autoRefresh:{bootstrap3:"glyphicon-time icon-time",materialize:"access_time"}[t.fn.bootstrapTable.theme]||"fa-clock"}),t.extend(t.fn.bootstrapTable.locales,{formatAutoRefresh:function(){return"Auto Refresh"}}),t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),we(this,ge(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&me(t,e)}(n,e),r=n,(o=[{key:"init",value:function(){for(var t,e=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];(t=Oe(ge(n.prototype),"init",this)).call.apply(t,[this].concat(o)),this.options.autoRefresh&&this.options.autoRefreshStatus&&(this.options.autoRefreshFunction=setInterval((function(){e.refresh({silent:e.options.autoRefreshSilent})}),1e3*this.options.autoRefreshInterval))}},{key:"initToolbar",value:function(){for(var e,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];if((e=Oe(ge(n.prototype),"initToolbar",this)).call.apply(e,[this].concat(o)),this.options.autoRefresh){var u=this.$toolbar.find(">.columns"),c=u.find(".auto-refresh");c.length||(c=t('\n          <button class="auto-refresh '.concat(this.constants.buttonsClass,"\n          ").concat(this.options.autoRefreshStatus?" ".concat(this.constants.classes.buttonActive):"",'"\n          type="button" title="').concat(this.options.formatAutoRefresh(),'">\n          ').concat(this.options.showButtonIcons?je.sprintf(this.constants.html.icon,this.options.iconsPrefix,this.options.icons.autoRefresh):"","\n          ").concat(this.options.showButtonText?this.options.formatAutoRefresh():"","\n          </button>\n        ")).appendTo(u)).on("click",t.proxy(this.toggleAutoRefresh,this))}}},{key:"toggleAutoRefresh",value:function(){var t=this;this.options.autoRefresh&&(this.options.autoRefreshStatus?(clearInterval(this.options.autoRefreshFunction),this.$toolbar.find(">.columns").find(".auto-refresh").removeClass(this.constants.classes.buttonActive)):(this.options.autoRefreshFunction=setInterval((function(){t.refresh({silent:t.options.autoRefreshSilent})}),1e3*this.options.autoRefreshInterval),this.$toolbar.find(">.columns").find(".auto-refresh").addClass(this.constants.classes.buttonActive)),this.options.autoRefreshStatus=!this.options.autoRefreshStatus)}}])&&ve(r.prototype,o),i&&ve(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.css b/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.css
deleted file mode 100644
index 4073e84..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.table-cell-input {
-  display: block !important;
-  padding: 5px !important;
-  margin: 0 !important;
-  border: 0 !important;
-  width: 100% !important;
-  box-sizing: border-box !important;
-  -moz-box-sizing: border-box !important;
-  border-radius: 0 !important;
-  line-height: 1 !important;
-  white-space: nowrap;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.js b/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.js
deleted file mode 100644
index 59d03e1..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.js
+++ /dev/null
@@ -1,2248 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test = {};
-
-	test[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$3] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	var charAt$1 = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt$1(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$2 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$2(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  if (CollectionPrototype) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-	    }
-	    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	/**
-	* @author andrey matveev <aamatveef@gmail.com>
-	* @version: v1.1.0
-	* https://github.com/aamatveev/bootstrap-table
-	* extensions:
-	*/
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  cellInputEnabled: false,
-	  cellInputType: 'text',
-	  // text or select or textarea
-	  cellInputUniqueId: '',
-	  cellInputSelectOptinons: [],
-	  // [{ text: '', value: '', disabled: false, default: true },{}]
-	  cellInputIsDeciaml: false,
-	  onCellInputInit: function onCellInputInit() {
-	    return false;
-	  },
-	  onCellInputBlur: function onCellInputBlur(field, row, oldValue, $el) {
-	    return false;
-	  },
-	  onCellInputFocus: function onCellInputFocus(field, row, oldValue, $el) {
-	    return false;
-	  },
-	  onCellInputKeyup: function onCellInputKeyup(field, row, oldValue, $el) {
-	    return false;
-	  },
-	  onCellInputKeydown: function onCellInputKeydown(field, row, oldValue, $el) {
-	    return false;
-	  },
-	  onCellInputSelectChange: function onCellInputSelectChange(field, row, oldValue, $el) {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'cellinput-init.bs.table': 'onCellInputInit',
-	  'cellinput-blur.bs.table': 'onCellInputBlur',
-	  'cellinput-focus.bs.table': 'onCellInputFocus',
-	  'cellinput-keyup.bs.table': 'onCellInputKeyup',
-	  'cellinput-keydown.bs.table': 'onCellInputKeydown',
-	  'cellinput-selectchange.bs.table': 'onCellInputSelectChange'
-	});
-	var BootstrapTable = $.fn.bootstrapTable.Constructor;
-	var _initTable = BootstrapTable.prototype.initTable;
-	var _initBody = BootstrapTable.prototype.initBody;
-
-	BootstrapTable.prototype.initTable = function () {
-	  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	    args[_key] = arguments[_key];
-	  }
-
-	  _initTable.apply(this, Array.prototype.slice.apply(args)); // exit if table.options.cellInputEnabled = false
-
-
-	  if (!this.options.cellInputEnabled) {
-	    return;
-	  }
-
-	  $.each(this.columns, function (i, column) {
-	    // exit if column.cellInputEnabled = false
-	    if (!column.cellInputEnabled) {
-	      return;
-	    }
-
-	    var _formatter = column.formatter;
-
-	    if (column.cellInputType === 'text') {
-	      column.formatter = function (value, row, index) {
-	        var result = _formatter ? _formatter(value, row, index) : value; // Решает проблему невозможности ввода кавычек &quot;
-
-	        result = typeof result === 'string' ? result.replace(/"/g, '&quot;') : result;
-	        var isSetDataUniqueIdAttr = column.cellInputUniqueId && column.cellInputUniqueId.length > 0;
-	        var disableCallbackFunc = column.cellInputDisableCallbackFunc;
-	        return ['<input type="text" class="table-td-textbox form-control"', // ' id="' + column.field + '"',
-	        isSetDataUniqueIdAttr ? " data-uniqueid=\"".concat(row[column.cellInputUniqueId], "\"") : '', " data-name=\"".concat(column.field, "\""), " data-value=\"".concat(result, "\""), " value=\"".concat(result, "\""), ' autofocus="autofocus"', typeof disableCallbackFunc !== 'undefined' && disableCallbackFunc(row) ? ' disabled="disabled"' : '', '>'].join('');
-	      };
-	    } else if (column.cellInputType === 'select') {
-	      column.formatter = function (value, row, index) {
-	        var result = _formatter ? _formatter(value, row, index) : value;
-	        var optionDatas = column.cellInputSelectOptinons !== null ? column.cellInputSelectOptinons : [];
-	        var selectoptions = [];
-	        var arrAllowedValues = [];
-
-	        for (var k = 0; k < optionDatas.length; k++) {
-	          arrAllowedValues.push(optionDatas[k].value);
-	        }
-
-	        var allowedVal = $.inArray(value, arrAllowedValues) >= 0;
-	        var _iteratorNormalCompletion = true;
-	        var _didIteratorError = false;
-	        var _iteratorError = undefined;
-
-	        try {
-	          for (var _iterator = optionDatas[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	            var optionData = _step.value;
-	            var isSelected = optionData.value === value;
-
-	            if (!allowedVal && optionData.disabled) {
-	              isSelected = true;
-	              result = optionData.value;
-	            }
-
-	            selectoptions.push("<option value=\"".concat(optionData.value, "\" ").concat(isSelected ? ' selected="selected" ' : '').concat(optionData.disabled ? ' disabled' : '', ">").concat(optionData.text, "</option>"));
-	          }
-	        } catch (err) {
-	          _didIteratorError = true;
-	          _iteratorError = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion && _iterator.return != null) {
-	              _iterator.return();
-	            }
-	          } finally {
-	            if (_didIteratorError) {
-	              throw _iteratorError;
-	            }
-	          }
-	        }
-
-	        var isSetDataUniqueIdAttr = column.cellInputUniqueId && column.cellInputUniqueId.length > 0;
-	        var disableCallbackFunc = column.disableCallbackFunc;
-	        return ['<select class="form-control" style="padding: 4px;"', isSetDataUniqueIdAttr ? " data-uniqueid=\"".concat(row[column.cellInputUniqueId], "\"") : '', " data-name=\"".concat(column.field, "\""), " data-value=\"".concat(result, "\""), typeof disableCallbackFunc !== 'undefined' && disableCallbackFunc(row) ? ' disabled="disabled"' : '', '>', selectoptions.join(''), '</select>'].join('');
-	      };
-	    }
-	  });
-	};
-
-	BootstrapTable.prototype.initBody = function (fixedScroll) {
-	  var that = this;
-
-	  _initBody.apply(this, Array.prototype.slice.apply(arguments));
-
-	  if (!this.options.cellInputEnabled) {
-	    return;
-	  }
-
-	  $.each(this.columns, function (i, column) {
-	    if (column.cellInputType === 'text') {
-	      that.$body.find("input[data-name=\"".concat(column.field, "\"]")).off('blur').on('blur', function (e) {
-	        var data = that.getData();
-	        var index = $(this).parents('tr[data-index]').data('index');
-	        var row = data[index];
-	        var newValue = $(this).val();
-	        row[column.field] = newValue;
-	        that.trigger('cellinput-blur', column.field, row, $(this));
-	      });
-	      that.$body.find("input[data-name=\"".concat(column.field, "\"]")).off('keyup').on('keyup', function (e) {
-	        var data = that.getData();
-	        var index = $(this).parents('tr[data-index]').data('index');
-	        var row = data[index];
-	        var oldValue = row[column.field];
-	        var newValue = $(this).val();
-	        row[column.field] = newValue;
-	        that.trigger('cellinput-keyup', column.field, row, oldValue, index, $(this));
-	      });
-	      that.$body.find("input[data-name=\"".concat(column.field, "\"]")).off('keydown').on('keydown', function (e) {
-	        var data = that.getData();
-	        var index = $(this).parents('tr[data-index]').data('index');
-	        var row = data[index];
-	        var oldValue = row[column.field];
-	        var newValue = $(this).val();
-
-	        if (!column.tdtexboxIsDeciaml) {
-	          row[column.field] = newValue;
-	        }
-
-	        that.trigger('cellinput-keydown', column.field, row, oldValue, index, $(this));
-	      });
-	      that.$body.find("input[data-name=\"".concat(column.field, "\"]")).off('focus').on('focus', function (e) {
-	        var data = that.getData();
-	        var index = $(this).parents('tr[data-index]').data('index');
-	        var row = data[index];
-	        that.trigger('cellinput-focus', column.field, row, $(this));
-	      });
-	    } else if (column.cellInputType === 'select') {
-	      that.$body.find("select[data-name=\"".concat(column.field, "\"]")).off('change').on('change', function (e) {
-	        var data = that.getData();
-	        var index = $(this).parents('tr[data-index]').data('index');
-	        var row = data[index];
-	        var oldValue = row[column.field];
-	        var newValue = $(this).val();
-	        var isBoolTrue = newValue.toLowerCase() === 'true';
-	        var isBoolFalse = newValue.toLowerCase() === 'false';
-	        row[column.field] = isBoolTrue ? true : isBoolFalse ? false : newValue;
-	        that.trigger('cellinput-selectchange', column.field, row, oldValue, index, $(this));
-	      });
-	    }
-	  });
-	  this.trigger('cellinput-init');
-	};
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.min.css b/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.min.css
deleted file mode 100644
index aa6ea6e..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.table-cell-input{display:block!important;padding:5px!important;margin:0!important;border:0!important;width:100%!important;box-sizing:border-box!important;-moz-box-sizing:border-box!important;border-radius:0!important;line-height:1!important;white-space:nowrap}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.min.js b/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.min.js
deleted file mode 100644
index 0f9dd13..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/cell-input/bootstrap-table-cell-input.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,l={f:c&&!u.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:u},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return y(v(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!h(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!h(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!h(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!h(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,S=function(t,e){return m.call(t,e)},x=o.document,O=h(x)&&h(x.createElement),I=function(t){return O?x.createElement(t):{}},w=!a&&!i((function(){return 7!=Object.defineProperty(I("div"),"a",{get:function(){return 7}}).a})),j=Object.getOwnPropertyDescriptor,E={f:a?j:function(t,e){if(t=g(t),e=b(e,!0),w)try{return j(t,e)}catch(t){}if(S(t,e))return f(!l.f.call(t,e),t[e])}},T=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,P={f:a?A:function(t,e,n){if(T(t),e=b(e,!0),T(n),w)try{return A(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}},C=a?function(t,e,n){return P.f(t,e,f(1,n))}:function(t,e,n){return t[e]=n,t},_=function(t,e){try{C(o,t,e)}catch(n){o[t]=e}return e},k=o["__core-js_shared__"]||_("__core-js_shared__",{}),L=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return L.call(t)});var R,M,D,N=k.inspectSource,$=o.WeakMap,F="function"==typeof $&&/native code/.test(N($)),q=n((function(t){(t.exports=function(t,e){return k[t]||(k[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),U=0,G=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++U+G).toString(36)},K=q("keys"),V=function(t){return K[t]||(K[t]=B(t))},z={},W=o.WeakMap;if(F){var Y=new W,H=Y.get,J=Y.has,Q=Y.set;R=function(t,e){return Q.call(Y,t,e),e},M=function(t){return H.call(Y,t)||{}},D=function(t){return J.call(Y,t)}}else{var X=V("state");z[X]=!0,R=function(t,e){return C(t,X,e),e},M=function(t){return S(t,X)?t[X]:{}},D=function(t){return S(t,X)}}var Z,tt={set:R,get:M,has:D,enforce:function(t){return D(t)?M(t):R(t,{})},getterFor:function(t){return function(e){var n;if(!h(e)||(n=M(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},et=n((function(t){var e=tt.get,n=tt.enforce,r=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,l=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||S(i,"name")||C(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(u?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=i:C(t,e,i)):c?t[e]=i:_(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N(this)}))})),nt=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?rt(nt[t])||rt(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},it=Math.ceil,at=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ct=Math.min,lt=function(t){return t>0?ct(ut(t),9007199254740991):0},ft=Math.max,st=Math.min,pt=function(t,e){var n=ut(t);return n<0?ft(n+e,0):st(n,e)},dt=function(t){return function(e,n,r){var o,i=g(e),a=lt(i.length),u=pt(r,a);if(t&&n!=n){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===n)return t||u||0;return!t&&-1}},yt={includes:dt(!0),indexOf:dt(!1)}.indexOf,vt=function(t,e){var n,r=g(t),o=0,i=[];for(n in r)!S(z,n)&&S(r,n)&&i.push(n);for(;e.length>o;)S(r,n=e[o++])&&(~yt(i,n)||i.push(n));return i},gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ht=gt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return vt(t,ht)}},mt={f:Object.getOwnPropertySymbols},St=ot("Reflect","ownKeys")||function(t){var e=bt.f(T(t)),n=mt.f;return n?e.concat(n(t)):e},xt=function(t,e){for(var n=St(e),r=P.f,o=E.f,i=0;i<n.length;i++){var a=n[i];S(t,a)||r(t,a,o(e,a))}},Ot=/#|\.prototype\./,It=function(t,e){var n=jt[wt(t)];return n==Tt||n!=Et&&("function"==typeof e?i(e):!!e)},wt=It.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},jt=It.data={},Et=It.NATIVE="N",Tt=It.POLYFILL="P",At=It,Pt=E.f,Ct=function(t,e){var n,r,i,a,u,c=t.target,l=t.global,f=t.stat;if(n=l?o:f?o[c]||_(c,{}):(o[c]||{}).prototype)for(r in e){if(a=e[r],i=t.noTargetGet?(u=Pt(n,r))&&u.value:n[r],!At(l?r:c+(f?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;xt(a,i)}(t.sham||i&&i.sham)&&C(a,"sham",!0),et(n,r,a,t)}},_t=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),kt=_t&&!Symbol.sham&&"symbol"==typeof Symbol(),Lt=Array.isArray||function(t){return"Array"==p(t)},Rt=function(t){return Object(v(t))},Mt=Object.keys||function(t){return vt(t,gt)},Dt=a?Object.defineProperties:function(t,e){T(t);for(var n,r=Mt(e),o=r.length,i=0;o>i;)P.f(t,n=r[i++],e[n]);return t},Nt=ot("document","documentElement"),$t=V("IE_PROTO"),Ft=function(){},qt=function(t){return"<script>"+t+"<\/script>"},Ut=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Ut=Z?function(t){t.write(qt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Z):((e=I("iframe")).style.display="none",Nt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(qt("document.F=Object")),t.close(),t.F);for(var n=gt.length;n--;)delete Ut.prototype[gt[n]];return Ut()};z[$t]=!0;var Gt=Object.create||function(t,e){var n;return null!==t?(Ft.prototype=T(t),n=new Ft,Ft.prototype=null,n[$t]=t):n=Ut(),void 0===e?n:Dt(n,e)},Bt=bt.f,Kt={}.toString,Vt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],zt={f:function(t){return Vt&&"[object Window]"==Kt.call(t)?function(t){try{return Bt(t)}catch(t){return Vt.slice()}}(t):Bt(g(t))}},Wt=q("wks"),Yt=o.Symbol,Ht=kt?Yt:B,Jt=function(t){return S(Wt,t)||(_t&&S(Yt,t)?Wt[t]=Yt[t]:Wt[t]=Ht("Symbol."+t)),Wt[t]},Qt={f:Jt},Xt=P.f,Zt=function(t){var e=nt.Symbol||(nt.Symbol={});S(e,t)||Xt(e,t,{value:Qt.f(t)})},te=P.f,ee=Jt("toStringTag"),ne=function(t,e,n){t&&!S(t=n?t:t.prototype,ee)&&te(t,ee,{configurable:!0,value:e})},re=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},oe=Jt("species"),ie=function(t,e){var n;return Lt(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!Lt(n.prototype)?h(n)&&null===(n=n[oe])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},ae=[].push,ue=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,c,l,f){for(var s,p,d=Rt(u),v=y(d),g=re(c,l,3),h=lt(v.length),b=0,m=f||ie,S=e?m(u,h):n?m(u,0):void 0;h>b;b++)if((a||b in v)&&(p=g(s=v[b],b,d),t))if(e)S[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:ae.call(S,s)}else if(o)return!1;return i?-1:r||o?o:S}},ce={forEach:ue(0),map:ue(1),filter:ue(2),some:ue(3),every:ue(4),find:ue(5),findIndex:ue(6)},le=ce.forEach,fe=V("hidden"),se=Jt("toPrimitive"),pe=tt.set,de=tt.getterFor("Symbol"),ye=Object.prototype,ve=o.Symbol,ge=ot("JSON","stringify"),he=E.f,be=P.f,me=zt.f,Se=l.f,xe=q("symbols"),Oe=q("op-symbols"),Ie=q("string-to-symbol-registry"),we=q("symbol-to-string-registry"),je=q("wks"),Ee=o.QObject,Te=!Ee||!Ee.prototype||!Ee.prototype.findChild,Ae=a&&i((function(){return 7!=Gt(be({},"a",{get:function(){return be(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=he(ye,e);r&&delete ye[e],be(t,e,n),r&&t!==ye&&be(ye,e,r)}:be,Pe=function(t,e){var n=xe[t]=Gt(ve.prototype);return pe(n,{type:"Symbol",tag:t,description:e}),a||(n.description=e),n},Ce=_t&&"symbol"==typeof ve.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof ve},_e=function(t,e,n){t===ye&&_e(Oe,e,n),T(t);var r=b(e,!0);return T(n),S(xe,r)?(n.enumerable?(S(t,fe)&&t[fe][r]&&(t[fe][r]=!1),n=Gt(n,{enumerable:f(0,!1)})):(S(t,fe)||be(t,fe,f(1,{})),t[fe][r]=!0),Ae(t,r,n)):be(t,r,n)},ke=function(t,e){T(t);var n=g(e),r=Mt(n).concat(De(n));return le(r,(function(e){a&&!Le.call(n,e)||_e(t,e,n[e])})),t},Le=function(t){var e=b(t,!0),n=Se.call(this,e);return!(this===ye&&S(xe,e)&&!S(Oe,e))&&(!(n||!S(this,e)||!S(xe,e)||S(this,fe)&&this[fe][e])||n)},Re=function(t,e){var n=g(t),r=b(e,!0);if(n!==ye||!S(xe,r)||S(Oe,r)){var o=he(n,r);return!o||!S(xe,r)||S(n,fe)&&n[fe][r]||(o.enumerable=!0),o}},Me=function(t){var e=me(g(t)),n=[];return le(e,(function(t){S(xe,t)||S(z,t)||n.push(t)})),n},De=function(t){var e=t===ye,n=me(e?Oe:g(t)),r=[];return le(n,(function(t){!S(xe,t)||e&&!S(ye,t)||r.push(xe[t])})),r};if(_t||(et((ve=function(){if(this instanceof ve)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=B(t),n=function(t){this===ye&&n.call(Oe,t),S(this,fe)&&S(this[fe],e)&&(this[fe][e]=!1),Ae(this,e,f(1,t))};return a&&Te&&Ae(ye,e,{configurable:!0,set:n}),Pe(e,t)}).prototype,"toString",(function(){return de(this).tag})),l.f=Le,P.f=_e,E.f=Re,bt.f=zt.f=Me,mt.f=De,a&&(be(ve.prototype,"description",{configurable:!0,get:function(){return de(this).description}}),et(ye,"propertyIsEnumerable",Le,{unsafe:!0}))),kt||(Qt.f=function(t){return Pe(Jt(t),t)}),Ct({global:!0,wrap:!0,forced:!_t,sham:!_t},{Symbol:ve}),le(Mt(je),(function(t){Zt(t)})),Ct({target:"Symbol",stat:!0,forced:!_t},{for:function(t){var e=String(t);if(S(Ie,e))return Ie[e];var n=ve(e);return Ie[e]=n,we[n]=e,n},keyFor:function(t){if(!Ce(t))throw TypeError(t+" is not a symbol");if(S(we,t))return we[t]},useSetter:function(){Te=!0},useSimple:function(){Te=!1}}),Ct({target:"Object",stat:!0,forced:!_t,sham:!a},{create:function(t,e){return void 0===e?Gt(t):ke(Gt(t),e)},defineProperty:_e,defineProperties:ke,getOwnPropertyDescriptor:Re}),Ct({target:"Object",stat:!0,forced:!_t},{getOwnPropertyNames:Me,getOwnPropertySymbols:De}),Ct({target:"Object",stat:!0,forced:i((function(){mt.f(1)}))},{getOwnPropertySymbols:function(t){return mt.f(Rt(t))}}),ge){var Ne=!_t||i((function(){var t=ve();return"[null]"!=ge([t])||"{}"!=ge({a:t})||"{}"!=ge(Object(t))}));Ct({target:"JSON",stat:!0,forced:Ne},{stringify:function(t,e,n){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=e,(h(e)||void 0!==t)&&!Ce(t))return Lt(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!Ce(e))return e}),o[1]=e,ge.apply(null,o)}})}ve.prototype[se]||C(ve.prototype,se,ve.prototype.valueOf),ne(ve,"Symbol"),z[fe]=!0;var $e=P.f,Fe=o.Symbol;if(a&&"function"==typeof Fe&&(!("description"in Fe.prototype)||void 0!==Fe().description)){var qe={},Ue=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Ue?new Fe(t):void 0===t?Fe():Fe(t);return""===t&&(qe[e]=!0),e};xt(Ue,Fe);var Ge=Ue.prototype=Fe.prototype;Ge.constructor=Ue;var Be=Ge.toString,Ke="Symbol(test)"==String(Fe("test")),Ve=/^Symbol\((.*)\)[^)]+$/;$e(Ge,"description",{configurable:!0,get:function(){var t=h(this)?this.valueOf():this,e=Be.call(t);if(S(qe,t))return"";var n=Ke?e.slice(7,-1):e.replace(Ve,"$1");return""===n?void 0:n}}),Ct({global:!0,forced:!0},{Symbol:Ue})}Zt("iterator");var ze,We,Ye=function(t,e,n){var r=b(e);r in t?P.f(t,r,f(0,n)):t[r]=n},He=ot("navigator","userAgent")||"",Je=o.process,Qe=Je&&Je.versions,Xe=Qe&&Qe.v8;Xe?We=(ze=Xe.split("."))[0]+ze[1]:He&&(!(ze=He.match(/Edge\/(\d+)/))||ze[1]>=74)&&(ze=He.match(/Chrome\/(\d+)/))&&(We=ze[1]);var Ze=We&&+We,tn=Jt("species"),en=function(t){return Ze>=51||!i((function(){var e=[];return(e.constructor={})[tn]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},nn=Jt("isConcatSpreadable"),rn=Ze>=51||!i((function(){var t=[];return t[nn]=!1,t.concat()[0]!==t})),on=en("concat"),an=function(t){if(!h(t))return!1;var e=t[nn];return void 0!==e?!!e:Lt(t)};Ct({target:"Array",proto:!0,forced:!rn||!on},{concat:function(t){var e,n,r,o,i,a=Rt(this),u=ie(a,0),c=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?a:arguments[e],an(i)){if(c+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,c++)n in i&&Ye(u,c,i[n])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ye(u,c++,i)}return u.length=c,u}});var un=Jt("unscopables"),cn=Array.prototype;null==cn[un]&&P.f(cn,un,{configurable:!0,value:Gt(null)});var ln=function(t){cn[un][t]=!0},fn=ce.find,sn=!0;"find"in[]&&Array(1).find((function(){sn=!1})),Ct({target:"Array",proto:!0,forced:sn},{find:function(t){return fn(this,t,arguments.length>1?arguments[1]:void 0)}}),ln("find");var pn,dn,yn,vn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),gn=V("IE_PROTO"),hn=Object.prototype,bn=vn?Object.getPrototypeOf:function(t){return t=Rt(t),S(t,gn)?t[gn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?hn:null},mn=Jt("iterator"),Sn=!1;[].keys&&("next"in(yn=[].keys())?(dn=bn(bn(yn)))!==Object.prototype&&(pn=dn):Sn=!0),null==pn&&(pn={}),S(pn,mn)||C(pn,mn,(function(){return this}));var xn={IteratorPrototype:pn,BUGGY_SAFARI_ITERATORS:Sn},On=xn.IteratorPrototype,In=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return T(n),function(t){if(!h(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),e?t.call(n,r):n.__proto__=r,n}}():void 0),wn=xn.IteratorPrototype,jn=xn.BUGGY_SAFARI_ITERATORS,En=Jt("iterator"),Tn=function(){return this},An=function(t,e,n,r,o,i,a){!function(t,e,n){var r=e+" Iterator";t.prototype=Gt(On,{next:f(1,n)}),ne(t,r,!1)}(n,e,r);var u,c,l,s=function(t){if(t===o&&g)return g;if(!jn&&t in y)return y[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},p=e+" Iterator",d=!1,y=t.prototype,v=y[En]||y["@@iterator"]||o&&y[o],g=!jn&&v||s(o),h="Array"==e&&y.entries||v;if(h&&(u=bn(h.call(new t)),wn!==Object.prototype&&u.next&&(bn(u)!==wn&&(In?In(u,wn):"function"!=typeof u[En]&&C(u,En,Tn)),ne(u,p,!0))),"values"==o&&v&&"values"!==v.name&&(d=!0,g=function(){return v.call(this)}),y[En]!==g&&C(y,En,g),o)if(c={values:s("values"),keys:i?g:s("keys"),entries:s("entries")},a)for(l in c)!jn&&!d&&l in y||et(y,l,c[l]);else Ct({target:e,proto:!0,forced:jn||d},c);return c},Pn=tt.set,Cn=tt.getterFor("Array Iterator"),_n=An(Array,"Array",(function(t,e){Pn(this,{type:"Array Iterator",target:g(t),index:0,kind:e})}),(function(){var t=Cn(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values");ln("keys"),ln("values"),ln("entries");var kn=[].join,Ln=y!=Object,Rn=function(t,e){var n=[][t];return!n||!i((function(){n.call(null,e||function(){throw 1},1)}))}("join",",");Ct({target:"Array",proto:!0,forced:Ln||Rn},{join:function(t){return kn.call(g(this),void 0===t?",":t)}});var Mn=Jt("species"),Dn=[].slice,Nn=Math.max;Ct({target:"Array",proto:!0,forced:!en("slice")},{slice:function(t,e){var n,r,o,i=g(this),a=lt(i.length),u=pt(t,a),c=pt(void 0===e?a:e,a);if(Lt(i)&&("function"!=typeof(n=i.constructor)||n!==Array&&!Lt(n.prototype)?h(n)&&null===(n=n[Mn])&&(n=void 0):n=void 0,n===Array||void 0===n))return Dn.call(i,u,c);for(r=new(void 0===n?Array:n)(Nn(c-u,0)),o=0;u<c;u++,o++)u in i&&Ye(r,o,i[u]);return r.length=o,r}});var $n={};$n[Jt("toStringTag")]="z";var Fn="[object z]"===String($n),qn=Jt("toStringTag"),Un="Arguments"==p(function(){return arguments}()),Gn=Fn?p:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),qn))?n:Un?p(e):"Object"==(r=p(e))&&"function"==typeof e.callee?"Arguments":r},Bn=Fn?{}.toString:function(){return"[object "+Gn(this)+"]"};Fn||et(Object.prototype,"toString",Bn,{unsafe:!0});var Kn=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Vn(t,e){return RegExp(t,e)}var zn,Wn,Yn={UNSUPPORTED_Y:i((function(){var t=Vn("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Vn("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Hn=RegExp.prototype.exec,Jn=String.prototype.replace,Qn=Hn,Xn=(zn=/a/,Wn=/b*/g,Hn.call(zn,"a"),Hn.call(Wn,"a"),0!==zn.lastIndex||0!==Wn.lastIndex),Zn=Yn.UNSUPPORTED_Y||Yn.BROKEN_CARET,tr=void 0!==/()??/.exec("")[1];(Xn||tr||Zn)&&(Qn=function(t){var e,n,r,o,i=this,a=Zn&&i.sticky,u=Kn.call(i),c=i.source,l=0,f=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(c="(?: "+c+")",f=" "+f,l++),n=new RegExp("^(?:"+c+")",u)),tr&&(n=new RegExp("^"+c+"$(?!\\s)",u)),Xn&&(e=i.lastIndex),r=Hn.call(a?n:i,f),a?r?(r.input=r.input.slice(l),r[0]=r[0].slice(l),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:Xn&&r&&(i.lastIndex=i.global?r.index+r[0].length:e),tr&&r&&r.length>1&&Jn.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var er=Qn;Ct({target:"RegExp",proto:!0,forced:/./.exec!==er},{exec:er});var nr=function(t){return function(e,n){var r,o,i=String(v(e)),a=ut(n),u=i.length;return a<0||a>=u?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},rr={codeAt:nr(!1),charAt:nr(!0)},or=rr.charAt,ir=tt.set,ar=tt.getterFor("String Iterator");An(String,"String",(function(t){ir(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=ar(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=or(n,r),e.index+=t.length,{value:t,done:!1})}));var ur=Jt("species"),cr=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),lr="$0"==="a".replace(/./,"$0"),fr=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),sr=rr.charAt,pr=function(t,e,n){return e+(n?sr(t,e).length:1)},dr=function(t,e){var n=t.exec;if("function"==typeof n){var r=n.call(t,e);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return er.call(t,e)},yr=Math.max,vr=Math.min,gr=Math.floor,hr=/\$([$&'`]|\d\d?|<[^>]*>)/g,br=/\$([$&'`]|\d\d?)/g;!function(t,e,n,r){var o=Jt(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),u=a&&!i((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[ur]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!a||!u||"replace"===t&&(!cr||!lr)||"split"===t&&!fr){var c=/./[o],l=n(o,""[t],(function(t,e,n,r,o){return e.exec===er?a&&!o?{done:!0,value:c.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:lr}),f=l[0],s=l[1];et(String.prototype,t,f),et(RegExp.prototype,o,2==e?function(t,e){return s.call(t,this,e)}:function(t){return s.call(t,this)})}r&&C(RegExp.prototype[o],"sham",!0)}("replace",2,(function(t,e,n,r){return[function(n,r){var o=v(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,i){if(r.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=n(e,t,this,i);if(a.done)return a.value}var u=T(t),c=String(this),l="function"==typeof i;l||(i=String(i));var f=u.global;if(f){var s=u.unicode;u.lastIndex=0}for(var p=[];;){var d=dr(u,c);if(null===d)break;if(p.push(d),!f)break;""===String(d[0])&&(u.lastIndex=pr(c,lt(u.lastIndex),s))}for(var y,v="",g=0,h=0;h<p.length;h++){d=p[h];for(var b=String(d[0]),m=yr(vr(ut(d.index),c.length),0),S=[],x=1;x<d.length;x++)S.push(void 0===(y=d[x])?y:String(y));var O=d.groups;if(l){var I=[b].concat(S,m,c);void 0!==O&&I.push(O);var w=String(i.apply(void 0,I))}else w=o(b,c,m,S,O,i);m>=g&&(v+=c.slice(g,m)+w,g=m+b.length)}return v+c.slice(g)}];function o(t,n,r,o,i,a){var u=r+t.length,c=o.length,l=br;return void 0!==i&&(i=Rt(i),l=hr),e.call(a,l,(function(e,a){var l;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":l=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>c){var s=gr(f/10);return 0===s?e:s<=c?void 0===o[s-1]?a.charAt(1):o[s-1]+a.charAt(1):e}l=o[f-1]}return void 0===l?"":l}))}}));var mr={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},Sr=Jt("iterator"),xr=Jt("toStringTag"),Or=_n.values;for(var Ir in mr){var wr=o[Ir],jr=wr&&wr.prototype;if(jr){if(jr[Sr]!==Or)try{C(jr,Sr,Or)}catch(t){jr[Sr]=Or}if(jr[xr]||C(jr,xr,Ir),mr[Ir])for(var Er in _n)if(jr[Er]!==_n[Er])try{C(jr,Er,_n[Er])}catch(t){jr[Er]=_n[Er]}}}t.extend(t.fn.bootstrapTable.defaults,{cellInputEnabled:!1,cellInputType:"text",cellInputUniqueId:"",cellInputSelectOptinons:[],cellInputIsDeciaml:!1,onCellInputInit:function(){return!1},onCellInputBlur:function(t,e,n,r){return!1},onCellInputFocus:function(t,e,n,r){return!1},onCellInputKeyup:function(t,e,n,r){return!1},onCellInputKeydown:function(t,e,n,r){return!1},onCellInputSelectChange:function(t,e,n,r){return!1}}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"cellinput-init.bs.table":"onCellInputInit","cellinput-blur.bs.table":"onCellInputBlur","cellinput-focus.bs.table":"onCellInputFocus","cellinput-keyup.bs.table":"onCellInputKeyup","cellinput-keydown.bs.table":"onCellInputKeydown","cellinput-selectchange.bs.table":"onCellInputSelectChange"});var Tr=t.fn.bootstrapTable.Constructor,Ar=Tr.prototype.initTable,Pr=Tr.prototype.initBody;Tr.prototype.initTable=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];Ar.apply(this,Array.prototype.slice.apply(n)),this.options.cellInputEnabled&&t.each(this.columns,(function(e,n){if(n.cellInputEnabled){var r=n.formatter;"text"===n.cellInputType?n.formatter=function(t,e,o){var i=r?r(t,e,o):t;i="string"==typeof i?i.replace(/"/g,"&quot;"):i;var a=n.cellInputUniqueId&&n.cellInputUniqueId.length>0,u=n.cellInputDisableCallbackFunc;return['<input type="text" class="table-td-textbox form-control"',a?' data-uniqueid="'.concat(e[n.cellInputUniqueId],'"'):"",' data-name="'.concat(n.field,'"'),' data-value="'.concat(i,'"'),' value="'.concat(i,'"'),' autofocus="autofocus"',void 0!==u&&u(e)?' disabled="disabled"':"",">"].join("")}:"select"===n.cellInputType&&(n.formatter=function(e,o,i){for(var a=r?r(e,o,i):e,u=null!==n.cellInputSelectOptinons?n.cellInputSelectOptinons:[],c=[],l=[],f=0;f<u.length;f++)l.push(u[f].value);var s=t.inArray(e,l)>=0,p=!0,d=!1,y=void 0;try{for(var v,g=u[Symbol.iterator]();!(p=(v=g.next()).done);p=!0){var h=v.value,b=h.value===e;!s&&h.disabled&&(b=!0,a=h.value),c.push('<option value="'.concat(h.value,'" ').concat(b?' selected="selected" ':"").concat(h.disabled?" disabled":"",">").concat(h.text,"</option>"))}}catch(t){d=!0,y=t}finally{try{p||null==g.return||g.return()}finally{if(d)throw y}}var m=n.cellInputUniqueId&&n.cellInputUniqueId.length>0,S=n.disableCallbackFunc;return['<select class="form-control" style="padding: 4px;"',m?' data-uniqueid="'.concat(o[n.cellInputUniqueId],'"'):"",' data-name="'.concat(n.field,'"'),' data-value="'.concat(a,'"'),void 0!==S&&S(o)?' disabled="disabled"':"",">",c.join(""),"</select>"].join("")})}}))},Tr.prototype.initBody=function(e){var n=this;Pr.apply(this,Array.prototype.slice.apply(arguments)),this.options.cellInputEnabled&&(t.each(this.columns,(function(e,r){"text"===r.cellInputType?(n.$body.find('input[data-name="'.concat(r.field,'"]')).off("blur").on("blur",(function(e){var o=n.getData()[t(this).parents("tr[data-index]").data("index")],i=t(this).val();o[r.field]=i,n.trigger("cellinput-blur",r.field,o,t(this))})),n.$body.find('input[data-name="'.concat(r.field,'"]')).off("keyup").on("keyup",(function(e){var o=n.getData(),i=t(this).parents("tr[data-index]").data("index"),a=o[i],u=a[r.field],c=t(this).val();a[r.field]=c,n.trigger("cellinput-keyup",r.field,a,u,i,t(this))})),n.$body.find('input[data-name="'.concat(r.field,'"]')).off("keydown").on("keydown",(function(e){var o=n.getData(),i=t(this).parents("tr[data-index]").data("index"),a=o[i],u=a[r.field],c=t(this).val();r.tdtexboxIsDeciaml||(a[r.field]=c),n.trigger("cellinput-keydown",r.field,a,u,i,t(this))})),n.$body.find('input[data-name="'.concat(r.field,'"]')).off("focus").on("focus",(function(e){var o=n.getData()[t(this).parents("tr[data-index]").data("index")];n.trigger("cellinput-focus",r.field,o,t(this))}))):"select"===r.cellInputType&&n.$body.find('select[data-name="'.concat(r.field,'"]')).off("change").on("change",(function(e){var o=n.getData(),i=t(this).parents("tr[data-index]").data("index"),a=o[i],u=a[r.field],c=t(this).val(),l="true"===c.toLowerCase(),f="false"===c.toLowerCase();a[r.field]=!!l||!f&&c,n.trigger("cellinput-selectchange",r.field,a,u,i,t(this))}))})),this.trigger("cellinput-init"))}}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js b/server/target/classes/static/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js
deleted file mode 100644
index 9993c49..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js
+++ /dev/null
@@ -1,2226 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// `SameValue` abstract operation
-	// https://tc39.github.io/ecma262/#sec-samevalue
-	var sameValue = Object.is || function is(x, y) {
-	  // eslint-disable-next-line no-self-compare
-	  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-	};
-
-	// @@search logic
-	fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
-	  return [
-	    // `String.prototype.search` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.search
-	    function search(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var searcher = regexp == undefined ? undefined : regexp[SEARCH];
-	      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
-	    },
-	    // `RegExp.prototype[@@search]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
-	    function (regexp) {
-	      var res = maybeCallNative(nativeSearch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var previousLastIndex = rx.lastIndex;
-	      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
-	      var result = regexpExecAbstract(rx, S);
-	      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
-	      return result === null ? -1 : result.index;
-	    }
-	  ];
-	});
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	// `SpeciesConstructor` abstract operation
-	// https://tc39.github.io/ecma262/#sec-speciesconstructor
-	var speciesConstructor = function (O, defaultConstructor) {
-	  var C = anObject(O).constructor;
-	  var S;
-	  return C === undefined || (S = anObject(C)[SPECIES$3]) == undefined ? defaultConstructor : aFunction$1(S);
-	};
-
-	var arrayPush = [].push;
-	var min$3 = Math.min;
-	var MAX_UINT32 = 0xFFFFFFFF;
-
-	// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-	var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
-
-	// @@split logic
-	fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
-	  var internalSplit;
-	  if (
-	    'abbc'.split(/(b)*/)[1] == 'c' ||
-	    'test'.split(/(?:)/, -1).length != 4 ||
-	    'ab'.split(/(?:ab)*/).length != 2 ||
-	    '.'.split(/(.?)(.?)/).length != 4 ||
-	    '.'.split(/()()/).length > 1 ||
-	    ''.split(/.?/).length
-	  ) {
-	    // based on es5-shim implementation, need to rework it
-	    internalSplit = function (separator, limit) {
-	      var string = String(requireObjectCoercible(this));
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (separator === undefined) return [string];
-	      // If `separator` is not a regex, use native split
-	      if (!isRegexp(separator)) {
-	        return nativeSplit.call(string, separator, lim);
-	      }
-	      var output = [];
-	      var flags = (separator.ignoreCase ? 'i' : '') +
-	                  (separator.multiline ? 'm' : '') +
-	                  (separator.unicode ? 'u' : '') +
-	                  (separator.sticky ? 'y' : '');
-	      var lastLastIndex = 0;
-	      // Make `global` and avoid `lastIndex` issues by working with a copy
-	      var separatorCopy = new RegExp(separator.source, flags + 'g');
-	      var match, lastIndex, lastLength;
-	      while (match = regexpExec.call(separatorCopy, string)) {
-	        lastIndex = separatorCopy.lastIndex;
-	        if (lastIndex > lastLastIndex) {
-	          output.push(string.slice(lastLastIndex, match.index));
-	          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
-	          lastLength = match[0].length;
-	          lastLastIndex = lastIndex;
-	          if (output.length >= lim) break;
-	        }
-	        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
-	      }
-	      if (lastLastIndex === string.length) {
-	        if (lastLength || !separatorCopy.test('')) output.push('');
-	      } else output.push(string.slice(lastLastIndex));
-	      return output.length > lim ? output.slice(0, lim) : output;
-	    };
-	  // Chakra, V8
-	  } else if ('0'.split(undefined, 0).length) {
-	    internalSplit = function (separator, limit) {
-	      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
-	    };
-	  } else internalSplit = nativeSplit;
-
-	  return [
-	    // `String.prototype.split` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.split
-	    function split(separator, limit) {
-	      var O = requireObjectCoercible(this);
-	      var splitter = separator == undefined ? undefined : separator[SPLIT];
-	      return splitter !== undefined
-	        ? splitter.call(separator, O, limit)
-	        : internalSplit.call(String(O), separator, limit);
-	    },
-	    // `RegExp.prototype[@@split]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
-	    //
-	    // NOTE: This cannot be properly polyfilled in engines that don't support
-	    // the 'y' flag.
-	    function (regexp, limit) {
-	      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-	      var C = speciesConstructor(rx, RegExp);
-
-	      var unicodeMatching = rx.unicode;
-	      var flags = (rx.ignoreCase ? 'i' : '') +
-	                  (rx.multiline ? 'm' : '') +
-	                  (rx.unicode ? 'u' : '') +
-	                  (SUPPORTS_Y ? 'y' : 'g');
-
-	      // ^(? + rx + ) is needed, in combination with some S slicing, to
-	      // simulate the 'y' flag.
-	      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
-	      var p = 0;
-	      var q = 0;
-	      var A = [];
-	      while (q < S.length) {
-	        splitter.lastIndex = SUPPORTS_Y ? q : 0;
-	        var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
-	        var e;
-	        if (
-	          z === null ||
-	          (e = min$3(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
-	        ) {
-	          q = advanceStringIndex(S, q, unicodeMatching);
-	        } else {
-	          A.push(S.slice(p, q));
-	          if (A.length === lim) return A;
-	          for (var i = 1; i <= z.length - 1; i++) {
-	            A.push(z[i]);
-	            if (A.length === lim) return A;
-	          }
-	          q = p = e;
-	        }
-	      }
-	      A.push(S.slice(p));
-	      return A;
-	    }
-	  ];
-	}, !SUPPORTS_Y);
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-
-	// `Array.prototype.forEach` method implementation
-	// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
-	  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	} : [].forEach;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  // some Chrome versions have non-configurable methods on DOMTokenList
-	  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
-	    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
-	  } catch (error) {
-	    CollectionPrototype.forEach = arrayForEach;
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	var UtilsCookie = {
-	  cookieIds: {
-	    sortOrder: 'bs.table.sortOrder',
-	    sortName: 'bs.table.sortName',
-	    pageNumber: 'bs.table.pageNumber',
-	    pageList: 'bs.table.pageList',
-	    columns: 'bs.table.columns',
-	    searchText: 'bs.table.searchText',
-	    reorderColumns: 'bs.table.reorderColumns',
-	    filterControl: 'bs.table.filterControl',
-	    filterBy: 'bs.table.filterBy'
-	  },
-	  getCurrentHeader: function getCurrentHeader(that) {
-	    var header = that.$header;
-
-	    if (that.options.height) {
-	      header = that.$tableHeader;
-	    }
-
-	    return header;
-	  },
-	  getCurrentSearchControls: function getCurrentSearchControls(that) {
-	    var searchControls = 'select, input';
-
-	    if (that.options.height) {
-	      searchControls = 'table select, table input';
-	    }
-
-	    return searchControls;
-	  },
-	  cookieEnabled: function cookieEnabled() {
-	    return !!navigator.cookieEnabled;
-	  },
-	  inArrayCookiesEnabled: function inArrayCookiesEnabled(cookieName, cookiesEnabled) {
-	    var index = -1;
-
-	    for (var i = 0; i < cookiesEnabled.length; i++) {
-	      if (cookieName.toLowerCase() === cookiesEnabled[i].toLowerCase()) {
-	        index = i;
-	        break;
-	      }
-	    }
-
-	    return index;
-	  },
-	  setCookie: function setCookie(that, cookieName, cookieValue) {
-	    if (!that.options.cookie || !UtilsCookie.cookieEnabled() || that.options.cookieIdTable === '') {
-	      return;
-	    }
-
-	    if (UtilsCookie.inArrayCookiesEnabled(cookieName, that.options.cookiesEnabled) === -1) {
-	      return;
-	    }
-
-	    cookieName = "".concat(that.options.cookieIdTable, ".").concat(cookieName);
-
-	    switch (that.options.cookieStorage) {
-	      case 'cookieStorage':
-	        document.cookie = [cookieName, '=', encodeURIComponent(cookieValue), "; expires=".concat(UtilsCookie.calculateExpiration(that.options.cookieExpire)), that.options.cookiePath ? "; path=".concat(that.options.cookiePath) : '', that.options.cookieDomain ? "; domain=".concat(that.options.cookieDomain) : '', that.options.cookieSecure ? '; secure' : ''].join('');
-	        break;
-
-	      case 'localStorage':
-	        localStorage.setItem(cookieName, cookieValue);
-	        break;
-
-	      case 'sessionStorage':
-	        sessionStorage.setItem(cookieName, cookieValue);
-	        break;
-
-	      case 'customStorage':
-	        if (!that.options.cookieCustomStorageSet || !that.options.cookieCustomStorageGet || !that.options.cookieCustomStorageDelete) {
-	          throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
-	        }
-
-	        Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageSet, [cookieName, cookieValue], '');
-	        break;
-
-	      default:
-	        return false;
-	    }
-
-	    return true;
-	  },
-	  getCookie: function getCookie(that, tableName, cookieName) {
-	    if (!cookieName) {
-	      return null;
-	    }
-
-	    if (UtilsCookie.inArrayCookiesEnabled(cookieName, that.options.cookiesEnabled) === -1) {
-	      return null;
-	    }
-
-	    cookieName = "".concat(tableName, ".").concat(cookieName);
-
-	    switch (that.options.cookieStorage) {
-	      case 'cookieStorage':
-	        var value = "; ".concat(document.cookie);
-	        var parts = value.split("; ".concat(cookieName, "="));
-	        return parts.length === 2 ? decodeURIComponent(parts.pop().split(';').shift()) : null;
-
-	      case 'localStorage':
-	        return localStorage.getItem(cookieName);
-
-	      case 'sessionStorage':
-	        return sessionStorage.getItem(cookieName);
-
-	      case 'customStorage':
-	        if (!that.options.cookieCustomStorageSet || !that.options.cookieCustomStorageGet || !that.options.cookieCustomStorageDelete) {
-	          throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
-	        }
-
-	        return Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageGet, [cookieName], '');
-
-	      default:
-	        return null;
-	    }
-	  },
-	  deleteCookie: function deleteCookie(that, tableName, cookieName) {
-	    cookieName = "".concat(tableName, ".").concat(cookieName);
-
-	    switch (that.options.cookieStorage) {
-	      case 'cookieStorage':
-	        document.cookie = [encodeURIComponent(cookieName), '=', '; expires=Thu, 01 Jan 1970 00:00:00 GMT', that.options.cookiePath ? "; path=".concat(that.options.cookiePath) : '', that.options.cookieDomain ? "; domain=".concat(that.options.cookieDomain) : ''].join('');
-	        break;
-
-	      case 'localStorage':
-	        localStorage.removeItem(cookieName);
-	        break;
-
-	      case 'sessionStorage':
-	        sessionStorage.removeItem(cookieName);
-	        break;
-
-	      case 'customStorage':
-	        if (!that.options.cookieCustomStorageSet || !that.options.cookieCustomStorageGet || !that.options.cookieCustomStorageDelete) {
-	          throw new Error('The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete');
-	        }
-
-	        Utils.calculateObjectValue(that.options, that.options.cookieCustomStorageDelete, [cookieName], '');
-	        break;
-
-	      default:
-	        return false;
-	    }
-
-	    return true;
-	  },
-	  calculateExpiration: function calculateExpiration(cookieExpire) {
-	    var time = cookieExpire.replace(/[0-9]*/, ''); // s,mi,h,d,m,y
-
-	    cookieExpire = cookieExpire.replace(/[A-Za-z]{1,2}/, ''); // number
-
-	    switch (time.toLowerCase()) {
-	      case 's':
-	        cookieExpire = +cookieExpire;
-	        break;
-
-	      case 'mi':
-	        cookieExpire *= 60;
-	        break;
-
-	      case 'h':
-	        cookieExpire = cookieExpire * 60 * 60;
-	        break;
-
-	      case 'd':
-	        cookieExpire = cookieExpire * 24 * 60 * 60;
-	        break;
-
-	      case 'm':
-	        cookieExpire = cookieExpire * 30 * 24 * 60 * 60;
-	        break;
-
-	      case 'y':
-	        cookieExpire = cookieExpire * 365 * 24 * 60 * 60;
-	        break;
-
-	      default:
-	        cookieExpire = undefined;
-	        break;
-	    }
-
-	    if (!cookieExpire) {
-	      return '';
-	    }
-
-	    var d = new Date();
-	    d.setTime(d.getTime() + cookieExpire * 1000);
-	    return d.toGMTString();
-	  },
-	  initCookieFilters: function initCookieFilters(bootstrapTable) {
-	    setTimeout(function () {
-	      var parsedCookieFilters = JSON.parse(UtilsCookie.getCookie(bootstrapTable, bootstrapTable.options.cookieIdTable, UtilsCookie.cookieIds.filterControl));
-
-	      if (!bootstrapTable.options.filterControlValuesLoaded && parsedCookieFilters) {
-	        var cachedFilters = {};
-	        var header = UtilsCookie.getCurrentHeader(bootstrapTable);
-	        var searchControls = UtilsCookie.getCurrentSearchControls(bootstrapTable);
-
-	        var applyCookieFilters = function applyCookieFilters(element, filteredCookies) {
-	          filteredCookies.forEach(function (cookie) {
-	            if (cookie.text !== '' && element.tagName === 'INPUT') {
-	              element.value = cookie.text;
-	              cachedFilters[cookie.field] = cookie.text;
-	            } else if (cookie.text !== '' && element.tagName === 'SELECT') {
-	              var option = document.createElement('option');
-	              option.value = cookie.text;
-	              option.text = cookie.text;
-	              element.add(option, element[1]);
-	              element.selectedIndex = 1;
-	              cachedFilters[cookie.field] = cookie.text;
-	            }
-	          });
-	        };
-
-	        header.find(searchControls).each(function () {
-	          var field = $(this).closest('[data-field]').data('field');
-	          var filteredCookies = parsedCookieFilters.filter(function (cookie) {
-	            return cookie.field === field;
-	          });
-	          applyCookieFilters(this, filteredCookies);
-	        });
-	        bootstrapTable.initColumnSearch(cachedFilters);
-	        bootstrapTable.options.filterControlValuesLoaded = true;
-	        bootstrapTable.initServer();
-	      }
-	    }, 250);
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, {
-	  cookie: false,
-	  cookieExpire: '2h',
-	  cookiePath: null,
-	  cookieDomain: null,
-	  cookieSecure: null,
-	  cookieIdTable: '',
-	  cookiesEnabled: ['bs.table.sortOrder', 'bs.table.sortName', 'bs.table.pageNumber', 'bs.table.pageList', 'bs.table.columns', 'bs.table.searchText', 'bs.table.filterControl', 'bs.table.filterBy', 'bs.table.reorderColumns'],
-	  cookieStorage: 'cookieStorage',
-	  // localStorage, sessionStorage, customStorage
-	  // internal variable
-	  filterControls: [],
-	  filterControlValuesLoaded: false
-	});
-	$.fn.bootstrapTable.methods.push('getCookies');
-	$.fn.bootstrapTable.methods.push('deleteCookie');
-	$.extend($.fn.bootstrapTable.utils, {
-	  setCookie: UtilsCookie.setCookie,
-	  getCookie: UtilsCookie.getCookie
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      if (this.options.cookie) {
-	        // FilterBy logic
-	        var filterByCookieValue = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.filterBy);
-
-	        if (typeof filterByCookieValue === 'boolean' && !filterByCookieValue) {
-	          throw new Error('The cookie value of filterBy must be a json!');
-	        }
-
-	        var filterByCookie = {};
-
-	        try {
-	          filterByCookie = JSON.parse(filterByCookieValue);
-	        } catch (e) {
-	          throw new Error('Could not parse the json of the filterBy cookie!');
-	        }
-
-	        this.filterColumns = filterByCookie ? filterByCookie : {}; // FilterControl logic
-
-	        this.options.filterControls = [];
-	        this.options.filterControlValuesLoaded = false;
-	        this.options.cookiesEnabled = typeof this.options.cookiesEnabled === 'string' ? this.options.cookiesEnabled.replace('[', '').replace(']', '').replace(/'/g, '').replace(/ /g, '').toLowerCase().split(',') : this.options.cookiesEnabled;
-
-	        if (this.options.filterControl) {
-	          var that = this;
-	          this.$el.on('column-search.bs.table', function (e, field, text) {
-	            var isNewField = true;
-
-	            for (var i = 0; i < that.options.filterControls.length; i++) {
-	              if (that.options.filterControls[i].field === field) {
-	                that.options.filterControls[i].text = text;
-	                isNewField = false;
-	                break;
-	              }
-	            }
-
-	            if (isNewField) {
-	              that.options.filterControls.push({
-	                field: field,
-	                text: text
-	              });
-	            }
-
-	            UtilsCookie.setCookie(that, UtilsCookie.cookieIds.filterControl, JSON.stringify(that.options.filterControls));
-	          }).on('created-controls.bs.table', UtilsCookie.initCookieFilters(that));
-	        }
-	      }
-
-	      _get(_getPrototypeOf(_class.prototype), "init", this).call(this);
-	    }
-	  }, {
-	    key: "initServer",
-	    value: function initServer() {
-	      var _get2;
-
-	      if (this.options.cookie && this.options.filterControl && !this.options.filterControlValuesLoaded) {
-	        var cookie = JSON.parse(UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.filterControl));
-
-	        if (cookie) {
-	          return;
-	        }
-	      }
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initServer", this)).call.apply(_get2, [this].concat(args));
-	    }
-	  }, {
-	    key: "initTable",
-	    value: function initTable() {
-	      var _get3;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "initTable", this)).call.apply(_get3, [this].concat(args));
-
-	      this.initCookie();
-	    }
-	  }, {
-	    key: "onSort",
-	    value: function onSort() {
-	      var _get4;
-
-	      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
-	        args[_key3] = arguments[_key3];
-	      }
-
-	      (_get4 = _get(_getPrototypeOf(_class.prototype), "onSort", this)).call.apply(_get4, [this].concat(args));
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortOrder, this.options.sortOrder);
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortName, this.options.sortName);
-	    }
-	  }, {
-	    key: "onPageNumber",
-	    value: function onPageNumber() {
-	      var _get5;
-
-	      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
-	        args[_key4] = arguments[_key4];
-	      }
-
-	      (_get5 = _get(_getPrototypeOf(_class.prototype), "onPageNumber", this)).call.apply(_get5, [this].concat(args));
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
-	    }
-	  }, {
-	    key: "onPageListChange",
-	    value: function onPageListChange() {
-	      var _get6;
-
-	      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
-	        args[_key5] = arguments[_key5];
-	      }
-
-	      (_get6 = _get(_getPrototypeOf(_class.prototype), "onPageListChange", this)).call.apply(_get6, [this].concat(args));
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageList, this.options.pageSize);
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
-	    }
-	  }, {
-	    key: "onPagePre",
-	    value: function onPagePre() {
-	      var _get7;
-
-	      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
-	        args[_key6] = arguments[_key6];
-	      }
-
-	      (_get7 = _get(_getPrototypeOf(_class.prototype), "onPagePre", this)).call.apply(_get7, [this].concat(args));
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
-	    }
-	  }, {
-	    key: "onPageNext",
-	    value: function onPageNext() {
-	      var _get8;
-
-	      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
-	        args[_key7] = arguments[_key7];
-	      }
-
-	      (_get8 = _get(_getPrototypeOf(_class.prototype), "onPageNext", this)).call.apply(_get8, [this].concat(args));
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
-	    }
-	  }, {
-	    key: "_toggleColumn",
-	    value: function _toggleColumn() {
-	      var _get9;
-
-	      for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
-	        args[_key8] = arguments[_key8];
-	      }
-
-	      (_get9 = _get(_getPrototypeOf(_class.prototype), "_toggleColumn", this)).call.apply(_get9, [this].concat(args));
-
-	      var visibleColumns = [];
-	      $.each(this.columns, function (i, column) {
-	        if (column.visible) {
-	          visibleColumns.push(column.field);
-	        }
-	      });
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(visibleColumns));
-	    }
-	  }, {
-	    key: "selectPage",
-	    value: function selectPage(page) {
-	      _get(_getPrototypeOf(_class.prototype), "selectPage", this).call(this, page);
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, page);
-	    }
-	  }, {
-	    key: "onSearch",
-	    value: function onSearch(event) {
-	      _get(_getPrototypeOf(_class.prototype), "onSearch", this).call(this, event);
-
-	      if (this.options.search) {
-	        UtilsCookie.setCookie(this, UtilsCookie.cookieIds.searchText, this.searchText);
-	      }
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber);
-	    }
-	  }, {
-	    key: "initHeader",
-	    value: function initHeader() {
-	      var _get10;
-
-	      if (this.options.reorderableColumns) {
-	        this.columnsSortOrder = JSON.parse(UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.reorderColumns));
-	      }
-
-	      for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
-	        args[_key9] = arguments[_key9];
-	      }
-
-	      (_get10 = _get(_getPrototypeOf(_class.prototype), "initHeader", this)).call.apply(_get10, [this].concat(args));
-	    }
-	  }, {
-	    key: "persistReorderColumnsState",
-	    value: function persistReorderColumnsState(that) {
-	      UtilsCookie.setCookie(that, UtilsCookie.cookieIds.reorderColumns, JSON.stringify(that.columnsSortOrder));
-	    }
-	  }, {
-	    key: "filterBy",
-	    value: function filterBy() {
-	      var _get11;
-
-	      for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
-	        args[_key10] = arguments[_key10];
-	      }
-
-	      (_get11 = _get(_getPrototypeOf(_class.prototype), "filterBy", this)).call.apply(_get11, [this].concat(args));
-
-	      UtilsCookie.setCookie(this, UtilsCookie.cookieIds.filterBy, JSON.stringify(this.filterColumns));
-	    }
-	  }, {
-	    key: "initCookie",
-	    value: function initCookie() {
-	      if (!this.options.cookie) {
-	        return;
-	      }
-
-	      if (this.options.cookieIdTable === '' || this.options.cookieExpire === '' || !UtilsCookie.cookieEnabled()) {
-	        console.error('Configuration error. Please review the cookieIdTable and the cookieExpire property. If the properties are correct, then this browser does not support cookies.');
-	        this.options.cookie = false; // Make sure that the cookie extension is disabled
-
-	        return;
-	      }
-
-	      var sortOrderCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder);
-	      var sortOrderNameCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName);
-	      var pageNumberCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.pageNumber);
-	      var pageListCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.pageList);
-	      var searchTextCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.searchText);
-	      var columnsCookieValue = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.columns);
-
-	      if (typeof columnsCookieValue === 'boolean' && !columnsCookieValue) {
-	        throw new Error('The cookie value of filterBy must be a json!');
-	      }
-
-	      var columnsCookie = {};
-
-	      try {
-	        columnsCookie = JSON.parse(columnsCookieValue);
-	      } catch (e) {
-	        throw new Error('Could not parse the json of the columns cookie!', columnsCookieValue);
-	      } // sortOrder
-
-
-	      this.options.sortOrder = sortOrderCookie ? sortOrderCookie : this.options.sortOrder; // sortName
-
-	      this.options.sortName = sortOrderNameCookie ? sortOrderNameCookie : this.options.sortName; // pageNumber
-
-	      this.options.pageNumber = pageNumberCookie ? +pageNumberCookie : this.options.pageNumber; // pageSize
-
-	      this.options.pageSize = pageListCookie ? pageListCookie === this.options.formatAllRows() ? pageListCookie : +pageListCookie : this.options.pageSize; // searchText
-
-	      this.options.searchText = searchTextCookie ? searchTextCookie : '';
-
-	      if (columnsCookie) {
-	        $.each(this.columns, function (i, column) {
-	          column.visible = $.inArray(column.field, columnsCookie) !== -1;
-	        });
-	      }
-	    }
-	  }, {
-	    key: "getCookies",
-	    value: function getCookies() {
-	      var bootstrapTable = this;
-	      var cookies = {};
-	      $.each(UtilsCookie.cookieIds, function (key, value) {
-	        cookies[key] = UtilsCookie.getCookie(bootstrapTable, bootstrapTable.options.cookieIdTable, value);
-
-	        if (key === 'columns') {
-	          cookies[key] = JSON.parse(cookies[key]);
-	        }
-	      });
-	      return cookies;
-	    }
-	  }, {
-	    key: "deleteCookie",
-	    value: function deleteCookie(cookieName) {
-	      if (cookieName === '' || !UtilsCookie.cookieEnabled()) {
-	        return;
-	      }
-
-	      UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds[cookieName]);
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/cookie/bootstrap-table-cookie.min.js b/server/target/classes/static/bootstrap-table/extensions/cookie/bootstrap-table-cookie.min.js
deleted file mode 100644
index 9bbd1bc..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/cookie/bootstrap-table-cookie.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((e=e||self).jQuery)}(this,(function(e){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e;var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e,t){return e(t={exports:{}},t.exports),t.exports}var r=function(e){return e&&e.Math==Math&&e},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(e){try{return!!e()}catch(e){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,l={f:s&&!c.call({1:2},1)?function(e){var t=s(this,e);return!!t&&t.enumerable}:c},u=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},f={}.toString,p=function(e){return f.call(e).slice(8,-1)},h="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==p(e)?h.call(e,""):Object(e)}:Object,g=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},b=function(e){return d(g(e))},v=function(e){return"object"==typeof e?null!==e:"function"==typeof e},y=function(e,t){if(!v(e))return e;var o,r;if(t&&"function"==typeof(o=e.toString)&&!v(r=o.call(e)))return r;if("function"==typeof(o=e.valueOf)&&!v(r=o.call(e)))return r;if(!t&&"function"==typeof(o=e.toString)&&!v(r=o.call(e)))return r;throw TypeError("Can't convert object to primitive value")},k={}.hasOwnProperty,m=function(e,t){return k.call(e,t)},S=n.document,C=v(S)&&v(S.createElement),x=function(e){return C?S.createElement(e):{}},w=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),E=Object.getOwnPropertyDescriptor,I={f:a?E:function(e,t){if(e=b(e),t=y(t,!0),w)try{return E(e,t)}catch(e){}if(m(e,t))return u(!l.f.call(e,t),e[t])}},O=function(e){if(!v(e))throw TypeError(String(e)+" is not an object");return e},T=Object.defineProperty,j={f:a?T:function(e,t,o){if(O(e),t=y(t,!0),O(o),w)try{return T(e,t,o)}catch(e){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(e[t]=o.value),e}},P=a?function(e,t,o){return j.f(e,t,u(1,o))}:function(e,t,o){return e[t]=o,e},N=function(e,t){try{P(n,e,t)}catch(o){n[e]=t}return t},L=n["__core-js_shared__"]||N("__core-js_shared__",{}),A=Function.toString;"function"!=typeof L.inspectSource&&(L.inspectSource=function(e){return A.call(e)});var R,_,M,D=L.inspectSource,G=n.WeakMap,B="function"==typeof G&&/native code/.test(D(G)),V=o((function(e){(e.exports=function(e,t){return L[e]||(L[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),$=0,F=Math.random(),J=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++$+F).toString(36)},H=V("keys"),U=function(e){return H[e]||(H[e]=J(e))},z={},q=n.WeakMap;if(B){var K=new q,W=K.get,Y=K.has,Q=K.set;R=function(e,t){return Q.call(K,e,t),t},_=function(e){return W.call(K,e)||{}},M=function(e){return Y.call(K,e)}}else{var X=U("state");z[X]=!0,R=function(e,t){return P(e,X,t),t},_=function(e){return m(e,X)?e[X]:{}},M=function(e){return m(e,X)}}var Z,ee,te={set:R,get:_,has:M,enforce:function(e){return M(e)?_(e):R(e,{})},getterFor:function(e){return function(t){var o;if(!v(t)||(o=_(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return o}}},oe=o((function(e){var t=te.get,o=te.enforce,r=String(String).split("String");(e.exports=function(e,t,i,a){var c=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,l=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof t||m(i,"name")||P(i,"name",t),o(i).source=r.join("string"==typeof t?t:"")),e!==n?(c?!l&&e[t]&&(s=!0):delete e[t],s?e[t]=i:P(e,t,i)):s?e[t]=i:N(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||D(this)}))})),re=n,ne=function(e){return"function"==typeof e?e:void 0},ie=function(e,t){return arguments.length<2?ne(re[e])||ne(n[e]):re[e]&&re[e][t]||n[e]&&n[e][t]},ae=Math.ceil,ce=Math.floor,se=function(e){return isNaN(e=+e)?0:(e>0?ce:ae)(e)},le=Math.min,ue=function(e){return e>0?le(se(e),9007199254740991):0},fe=Math.max,pe=Math.min,he=function(e){return function(t,o,r){var n,i=b(t),a=ue(i.length),c=function(e,t){var o=se(e);return o<0?fe(o+t,0):pe(o,t)}(r,a);if(e&&o!=o){for(;a>c;)if((n=i[c++])!=n)return!0}else for(;a>c;c++)if((e||c in i)&&i[c]===o)return e||c||0;return!e&&-1}},de={includes:he(!0),indexOf:he(!1)}.indexOf,ge=function(e,t){var o,r=b(e),n=0,i=[];for(o in r)!m(z,o)&&m(r,o)&&i.push(o);for(;t.length>n;)m(r,o=t[n++])&&(~de(i,o)||i.push(o));return i},be=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ve=be.concat("length","prototype"),ye={f:Object.getOwnPropertyNames||function(e){return ge(e,ve)}},ke={f:Object.getOwnPropertySymbols},me=ie("Reflect","ownKeys")||function(e){var t=ye.f(O(e)),o=ke.f;return o?t.concat(o(e)):t},Se=function(e,t){for(var o=me(t),r=j.f,n=I.f,i=0;i<o.length;i++){var a=o[i];m(e,a)||r(e,a,n(t,a))}},Ce=/#|\.prototype\./,xe=function(e,t){var o=Ee[we(e)];return o==Oe||o!=Ie&&("function"==typeof t?i(t):!!t)},we=xe.normalize=function(e){return String(e).replace(Ce,".").toLowerCase()},Ee=xe.data={},Ie=xe.NATIVE="N",Oe=xe.POLYFILL="P",Te=xe,je=I.f,Pe=function(e,t){var o,r,i,a,c,s=e.target,l=e.global,u=e.stat;if(o=l?n:u?n[s]||N(s,{}):(n[s]||{}).prototype)for(r in t){if(a=t[r],i=e.noTargetGet?(c=je(o,r))&&c.value:o[r],!Te(l?r:s+(u?".":"#")+r,e.forced)&&void 0!==i){if(typeof a==typeof i)continue;Se(a,i)}(e.sham||i&&i.sham)&&P(a,"sham",!0),oe(o,r,a,e)}},Ne=Array.isArray||function(e){return"Array"==p(e)},Le=function(e){return Object(g(e))},Ae=function(e,t,o){var r=y(t);r in e?j.f(e,r,u(0,o)):e[r]=o},Re=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_e=Re&&!Symbol.sham&&"symbol"==typeof Symbol(),Me=V("wks"),De=n.Symbol,Ge=_e?De:J,Be=function(e){return m(Me,e)||(Re&&m(De,e)?Me[e]=De[e]:Me[e]=Ge("Symbol."+e)),Me[e]},Ve=Be("species"),$e=function(e,t){var o;return Ne(e)&&("function"!=typeof(o=e.constructor)||o!==Array&&!Ne(o.prototype)?v(o)&&null===(o=o[Ve])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===t?0:t)},Fe=ie("navigator","userAgent")||"",Je=n.process,He=Je&&Je.versions,Ue=He&&He.v8;Ue?ee=(Z=Ue.split("."))[0]+Z[1]:Fe&&(!(Z=Fe.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Fe.match(/Chrome\/(\d+)/))&&(ee=Z[1]);var ze=ee&&+ee,qe=Be("species"),Ke=function(e){return ze>=51||!i((function(){var t=[];return(t.constructor={})[qe]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},We=Be("isConcatSpreadable"),Ye=ze>=51||!i((function(){var e=[];return e[We]=!1,e.concat()[0]!==e})),Qe=Ke("concat"),Xe=function(e){if(!v(e))return!1;var t=e[We];return void 0!==t?!!t:Ne(e)};Pe({target:"Array",proto:!0,forced:!Ye||!Qe},{concat:function(e){var t,o,r,n,i,a=Le(this),c=$e(a,0),s=0;for(t=-1,r=arguments.length;t<r;t++)if(i=-1===t?a:arguments[t],Xe(i)){if(s+(n=ue(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(o=0;o<n;o++,s++)o in i&&Ae(c,s,i[o])}else{if(s>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ae(c,s++,i)}return c.length=s,c}});var Ze=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},et=[].push,tt=function(e){var t=1==e,o=2==e,r=3==e,n=4==e,i=6==e,a=5==e||i;return function(c,s,l,u){for(var f,p,h=Le(c),g=d(h),b=function(e,t,o){if(Ze(e),void 0===t)return e;switch(o){case 0:return function(){return e.call(t)};case 1:return function(o){return e.call(t,o)};case 2:return function(o,r){return e.call(t,o,r)};case 3:return function(o,r,n){return e.call(t,o,r,n)}}return function(){return e.apply(t,arguments)}}(s,l,3),v=ue(g.length),y=0,k=u||$e,m=t?k(c,v):o?k(c,0):void 0;v>y;y++)if((a||y in g)&&(p=b(f=g[y],y,h),e))if(t)m[y]=p;else if(p)switch(e){case 3:return!0;case 5:return f;case 6:return y;case 2:et.call(m,f)}else if(n)return!1;return i?-1:r||n?n:m}},ot={forEach:tt(0),map:tt(1),filter:tt(2),some:tt(3),every:tt(4),find:tt(5),findIndex:tt(6)},rt=ot.filter,nt=Ke("filter"),it=nt&&!i((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));Pe({target:"Array",proto:!0,forced:!nt||!it},{filter:function(e){return rt(this,e,arguments.length>1?arguments[1]:void 0)}});var at,ct=Object.keys||function(e){return ge(e,be)},st=a?Object.defineProperties:function(e,t){O(e);for(var o,r=ct(t),n=r.length,i=0;n>i;)j.f(e,o=r[i++],t[o]);return e},lt=ie("document","documentElement"),ut=U("IE_PROTO"),ft=function(){},pt=function(e){return"<script>"+e+"<\/script>"},ht=function(){try{at=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;ht=at?function(e){e.write(pt("")),e.close();var t=e.parentWindow.Object;return e=null,t}(at):((t=x("iframe")).style.display="none",lt.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(pt("document.F=Object")),e.close(),e.F);for(var o=be.length;o--;)delete ht.prototype[be[o]];return ht()};z[ut]=!0;var dt=Object.create||function(e,t){var o;return null!==e?(ft.prototype=O(e),o=new ft,ft.prototype=null,o[ut]=e):o=ht(),void 0===t?o:st(o,t)},gt=Be("unscopables"),bt=Array.prototype;null==bt[gt]&&j.f(bt,gt,{configurable:!0,value:dt(null)});var vt,yt=ot.find,kt=!0;"find"in[]&&Array(1).find((function(){kt=!1})),Pe({target:"Array",proto:!0,forced:kt},{find:function(e){return yt(this,e,arguments.length>1?arguments[1]:void 0)}}),vt="find",bt[gt][vt]=!0;var mt=function(e,t){var o=[][e];return!o||!i((function(){o.call(null,t||function(){throw 1},1)}))},St=[].join,Ct=d!=Object,xt=mt("join",",");Pe({target:"Array",proto:!0,forced:Ct||xt},{join:function(e){return St.call(b(this),void 0===e?",":e)}});var wt=function(){var e=O(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t};function Et(e,t){return RegExp(e,t)}var It,Ot,Tt={UNSUPPORTED_Y:i((function(){var e=Et("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),BROKEN_CARET:i((function(){var e=Et("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},jt=RegExp.prototype.exec,Pt=String.prototype.replace,Nt=jt,Lt=(It=/a/,Ot=/b*/g,jt.call(It,"a"),jt.call(Ot,"a"),0!==It.lastIndex||0!==Ot.lastIndex),At=Tt.UNSUPPORTED_Y||Tt.BROKEN_CARET,Rt=void 0!==/()??/.exec("")[1];(Lt||Rt||At)&&(Nt=function(e){var t,o,r,n,i=this,a=At&&i.sticky,c=wt.call(i),s=i.source,l=0,u=e;return a&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),u=String(e).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==e[i.lastIndex-1])&&(s="(?: "+s+")",u=" "+u,l++),o=new RegExp("^(?:"+s+")",c)),Rt&&(o=new RegExp("^"+s+"$(?!\\s)",c)),Lt&&(t=i.lastIndex),r=jt.call(a?o:i,u),a?r?(r.input=r.input.slice(l),r[0]=r[0].slice(l),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:Lt&&r&&(i.lastIndex=i.global?r.index+r[0].length:t),Rt&&r&&r.length>1&&Pt.call(r[0],o,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(r[n]=void 0)})),r});var _t=Nt;Pe({target:"RegExp",proto:!0,forced:/./.exec!==_t},{exec:_t});var Mt=Be("species"),Dt=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Gt="$0"==="a".replace(/./,"$0"),Bt=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var o="ab".split(e);return 2!==o.length||"a"!==o[0]||"b"!==o[1]})),Vt=function(e,t,o,r){var n=Be(e),a=!i((function(){var t={};return t[n]=function(){return 7},7!=""[e](t)})),c=a&&!i((function(){var t=!1,o=/a/;return"split"===e&&((o={}).constructor={},o.constructor[Mt]=function(){return o},o.flags="",o[n]=/./[n]),o.exec=function(){return t=!0,null},o[n](""),!t}));if(!a||!c||"replace"===e&&(!Dt||!Gt)||"split"===e&&!Bt){var s=/./[n],l=o(n,""[e],(function(e,t,o,r,n){return t.exec===_t?a&&!n?{done:!0,value:s.call(t,o,r)}:{done:!0,value:e.call(o,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Gt}),u=l[0],f=l[1];oe(String.prototype,e,u),oe(RegExp.prototype,n,2==t?function(e,t){return f.call(e,this,t)}:function(e){return f.call(e,this)})}r&&P(RegExp.prototype[n],"sham",!0)},$t=function(e){return function(t,o){var r,n,i=String(g(t)),a=se(o),c=i.length;return a<0||a>=c?e?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===c||(n=i.charCodeAt(a+1))<56320||n>57343?e?i.charAt(a):r:e?i.slice(a,a+2):n-56320+(r-55296<<10)+65536}},Ft={codeAt:$t(!1),charAt:$t(!0)}.charAt,Jt=function(e,t,o){return t+(o?Ft(e,t).length:1)},Ht=function(e,t){var o=e.exec;if("function"==typeof o){var r=o.call(e,t);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==p(e))throw TypeError("RegExp#exec called on incompatible receiver");return _t.call(e,t)},Ut=Math.max,zt=Math.min,qt=Math.floor,Kt=/\$([$&'`]|\d\d?|<[^>]*>)/g,Wt=/\$([$&'`]|\d\d?)/g;Vt("replace",2,(function(e,t,o,r){return[function(o,r){var n=g(this),i=null==o?void 0:o[e];return void 0!==i?i.call(o,n,r):t.call(String(n),o,r)},function(e,i){if(r.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=o(t,e,this,i);if(a.done)return a.value}var c=O(e),s=String(this),l="function"==typeof i;l||(i=String(i));var u=c.global;if(u){var f=c.unicode;c.lastIndex=0}for(var p=[];;){var h=Ht(c,s);if(null===h)break;if(p.push(h),!u)break;""===String(h[0])&&(c.lastIndex=Jt(s,ue(c.lastIndex),f))}for(var d,g="",b=0,v=0;v<p.length;v++){h=p[v];for(var y=String(h[0]),k=Ut(zt(se(h.index),s.length),0),m=[],S=1;S<h.length;S++)m.push(void 0===(d=h[S])?d:String(d));var C=h.groups;if(l){var x=[y].concat(m,k,s);void 0!==C&&x.push(C);var w=String(i.apply(void 0,x))}else w=n(y,s,k,m,C,i);k>=b&&(g+=s.slice(b,k)+w,b=k+y.length)}return g+s.slice(b)}];function n(e,o,r,n,i,a){var c=r+e.length,s=n.length,l=Wt;return void 0!==i&&(i=Le(i),l=Kt),t.call(a,l,(function(t,a){var l;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return o.slice(0,r);case"'":return o.slice(c);case"<":l=i[a.slice(1,-1)];break;default:var u=+a;if(0===u)return t;if(u>s){var f=qt(u/10);return 0===f?t:f<=s?void 0===n[f-1]?a.charAt(1):n[f-1]+a.charAt(1):t}l=n[u-1]}return void 0===l?"":l}))}}));var Yt=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};Vt("search",1,(function(e,t,o){return[function(t){var o=g(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,o):new RegExp(t)[e](String(o))},function(e){var r=o(t,e,this);if(r.done)return r.value;var n=O(e),i=String(this),a=n.lastIndex;Yt(a,0)||(n.lastIndex=0);var c=Ht(n,i);return Yt(n.lastIndex,a)||(n.lastIndex=a),null===c?-1:c.index}]}));var Qt=Be("match"),Xt=Be("species"),Zt=[].push,eo=Math.min,to=!i((function(){return!RegExp(4294967295,"y")}));Vt("split",2,(function(e,t,o){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,o){var r,n,i=String(g(this)),a=void 0===o?4294967295:o>>>0;if(0===a)return[];if(void 0===e)return[i];if(!v(r=e)||(void 0!==(n=r[Qt])?!n:"RegExp"!=p(r)))return t.call(i,e,a);for(var c,s,l,u=[],f=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,d=new RegExp(e.source,f+"g");(c=_t.call(d,i))&&!((s=d.lastIndex)>h&&(u.push(i.slice(h,c.index)),c.length>1&&c.index<i.length&&Zt.apply(u,c.slice(1)),l=c[0].length,h=s,u.length>=a));)d.lastIndex===c.index&&d.lastIndex++;return h===i.length?!l&&d.test("")||u.push(""):u.push(i.slice(h)),u.length>a?u.slice(0,a):u}:"0".split(void 0,0).length?function(e,o){return void 0===e&&0===o?[]:t.call(this,e,o)}:t,[function(t,o){var n=g(this),i=null==t?void 0:t[e];return void 0!==i?i.call(t,n,o):r.call(String(n),t,o)},function(e,n){var i=o(r,e,this,n,r!==t);if(i.done)return i.value;var a=O(e),c=String(this),s=function(e,t){var o,r=O(e).constructor;return void 0===r||null==(o=O(r)[Xt])?t:Ze(o)}(a,RegExp),l=a.unicode,u=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(to?"y":"g"),f=new s(to?a:"^(?:"+a.source+")",u),p=void 0===n?4294967295:n>>>0;if(0===p)return[];if(0===c.length)return null===Ht(f,c)?[c]:[];for(var h=0,d=0,g=[];d<c.length;){f.lastIndex=to?d:0;var b,v=Ht(f,to?c:c.slice(d));if(null===v||(b=eo(ue(f.lastIndex+(to?0:d)),c.length))===h)d=Jt(c,d,l);else{if(g.push(c.slice(h,d)),g.length===p)return g;for(var y=1;y<=v.length-1;y++)if(g.push(v[y]),g.length===p)return g;d=h=b}}return g.push(c.slice(h)),g}]}),!to);var oo=ot.forEach,ro=mt("forEach")?function(e){return oo(this,e,arguments.length>1?arguments[1]:void 0)}:[].forEach;for(var no in{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}){var io=n[no],ao=io&&io.prototype;if(ao&&ao.forEach!==ro)try{P(ao,"forEach",ro)}catch(e){ao.forEach=ro}}function co(e,t){for(var o=0;o<t.length;o++){var r=t[o];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function so(e){return(so=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lo(e,t){return(lo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function uo(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function fo(e,t,o){return(fo="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,o){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=so(e)););return e}(e,t);if(r){var n=Object.getOwnPropertyDescriptor(r,t);return n.get?n.get.call(o):n.value}})(e,t,o||e)}var po=e.fn.bootstrapTable.utils,ho={cookieIds:{sortOrder:"bs.table.sortOrder",sortName:"bs.table.sortName",pageNumber:"bs.table.pageNumber",pageList:"bs.table.pageList",columns:"bs.table.columns",searchText:"bs.table.searchText",reorderColumns:"bs.table.reorderColumns",filterControl:"bs.table.filterControl",filterBy:"bs.table.filterBy"},getCurrentHeader:function(e){var t=e.$header;return e.options.height&&(t=e.$tableHeader),t},getCurrentSearchControls:function(e){var t="select, input";return e.options.height&&(t="table select, table input"),t},cookieEnabled:function(){return!!navigator.cookieEnabled},inArrayCookiesEnabled:function(e,t){for(var o=-1,r=0;r<t.length;r++)if(e.toLowerCase()===t[r].toLowerCase()){o=r;break}return o},setCookie:function(e,t,o){if(e.options.cookie&&ho.cookieEnabled()&&""!==e.options.cookieIdTable&&-1!==ho.inArrayCookiesEnabled(t,e.options.cookiesEnabled)){switch(t="".concat(e.options.cookieIdTable,".").concat(t),e.options.cookieStorage){case"cookieStorage":document.cookie=[t,"=",encodeURIComponent(o),"; expires=".concat(ho.calculateExpiration(e.options.cookieExpire)),e.options.cookiePath?"; path=".concat(e.options.cookiePath):"",e.options.cookieDomain?"; domain=".concat(e.options.cookieDomain):"",e.options.cookieSecure?"; secure":""].join("");break;case"localStorage":localStorage.setItem(t,o);break;case"sessionStorage":sessionStorage.setItem(t,o);break;case"customStorage":if(!e.options.cookieCustomStorageSet||!e.options.cookieCustomStorageGet||!e.options.cookieCustomStorageDelete)throw new Error("The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete");po.calculateObjectValue(e.options,e.options.cookieCustomStorageSet,[t,o],"");break;default:return!1}return!0}},getCookie:function(e,t,o){if(!o)return null;if(-1===ho.inArrayCookiesEnabled(o,e.options.cookiesEnabled))return null;switch(o="".concat(t,".").concat(o),e.options.cookieStorage){case"cookieStorage":var r="; ".concat(document.cookie).split("; ".concat(o,"="));return 2===r.length?decodeURIComponent(r.pop().split(";").shift()):null;case"localStorage":return localStorage.getItem(o);case"sessionStorage":return sessionStorage.getItem(o);case"customStorage":if(!e.options.cookieCustomStorageSet||!e.options.cookieCustomStorageGet||!e.options.cookieCustomStorageDelete)throw new Error("The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete");return po.calculateObjectValue(e.options,e.options.cookieCustomStorageGet,[o],"");default:return null}},deleteCookie:function(e,t,o){switch(o="".concat(t,".").concat(o),e.options.cookieStorage){case"cookieStorage":document.cookie=[encodeURIComponent(o),"=","; expires=Thu, 01 Jan 1970 00:00:00 GMT",e.options.cookiePath?"; path=".concat(e.options.cookiePath):"",e.options.cookieDomain?"; domain=".concat(e.options.cookieDomain):""].join("");break;case"localStorage":localStorage.removeItem(o);break;case"sessionStorage":sessionStorage.removeItem(o);break;case"customStorage":if(!e.options.cookieCustomStorageSet||!e.options.cookieCustomStorageGet||!e.options.cookieCustomStorageDelete)throw new Error("The following options must be set while using the customStorage: cookieCustomStorageSet, cookieCustomStorageGet and cookieCustomStorageDelete");po.calculateObjectValue(e.options,e.options.cookieCustomStorageDelete,[o],"");break;default:return!1}return!0},calculateExpiration:function(e){var t=e.replace(/[0-9]*/,"");switch(e=e.replace(/[A-Za-z]{1,2}/,""),t.toLowerCase()){case"s":e=+e;break;case"mi":e*=60;break;case"h":e=60*e*60;break;case"d":e=24*e*60*60;break;case"m":e=30*e*24*60*60;break;case"y":e=365*e*24*60*60;break;default:e=void 0}if(!e)return"";var o=new Date;return o.setTime(o.getTime()+1e3*e),o.toGMTString()},initCookieFilters:function(t){setTimeout((function(){var o=JSON.parse(ho.getCookie(t,t.options.cookieIdTable,ho.cookieIds.filterControl));if(!t.options.filterControlValuesLoaded&&o){var r={},n=ho.getCurrentHeader(t),i=ho.getCurrentSearchControls(t);n.find(i).each((function(){var t=e(this).closest("[data-field]").data("field");!function(e,t){t.forEach((function(t){if(""!==t.text&&"INPUT"===e.tagName)e.value=t.text,r[t.field]=t.text;else if(""!==t.text&&"SELECT"===e.tagName){var o=document.createElement("option");o.value=t.text,o.text=t.text,e.add(o,e[1]),e.selectedIndex=1,r[t.field]=t.text}}))}(this,o.filter((function(e){return e.field===t})))})),t.initColumnSearch(r),t.options.filterControlValuesLoaded=!0,t.initServer()}}),250)}};e.extend(e.fn.bootstrapTable.defaults,{cookie:!1,cookieExpire:"2h",cookiePath:null,cookieDomain:null,cookieSecure:null,cookieIdTable:"",cookiesEnabled:["bs.table.sortOrder","bs.table.sortName","bs.table.pageNumber","bs.table.pageList","bs.table.columns","bs.table.searchText","bs.table.filterControl","bs.table.filterBy","bs.table.reorderColumns"],cookieStorage:"cookieStorage",filterControls:[],filterControlValuesLoaded:!1}),e.fn.bootstrapTable.methods.push("getCookies"),e.fn.bootstrapTable.methods.push("deleteCookie"),e.extend(e.fn.bootstrapTable.utils,{setCookie:ho.setCookie,getCookie:ho.getCookie}),e.BootstrapTable=function(t){function o(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),uo(this,so(o).apply(this,arguments))}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&lo(e,t)}(o,t),r=o,(n=[{key:"init",value:function(){if(this.options.cookie){var e=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.filterBy);if("boolean"==typeof e&&!e)throw new Error("The cookie value of filterBy must be a json!");var t={};try{t=JSON.parse(e)}catch(e){throw new Error("Could not parse the json of the filterBy cookie!")}if(this.filterColumns=t||{},this.options.filterControls=[],this.options.filterControlValuesLoaded=!1,this.options.cookiesEnabled="string"==typeof this.options.cookiesEnabled?this.options.cookiesEnabled.replace("[","").replace("]","").replace(/'/g,"").replace(/ /g,"").toLowerCase().split(","):this.options.cookiesEnabled,this.options.filterControl){var r=this;this.$el.on("column-search.bs.table",(function(e,t,o){for(var n=!0,i=0;i<r.options.filterControls.length;i++)if(r.options.filterControls[i].field===t){r.options.filterControls[i].text=o,n=!1;break}n&&r.options.filterControls.push({field:t,text:o}),ho.setCookie(r,ho.cookieIds.filterControl,JSON.stringify(r.options.filterControls))})).on("created-controls.bs.table",ho.initCookieFilters(r))}}fo(so(o.prototype),"init",this).call(this)}},{key:"initServer",value:function(){var e;if(this.options.cookie&&this.options.filterControl&&!this.options.filterControlValuesLoaded){var t=JSON.parse(ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.filterControl));if(t)return}for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(e=fo(so(o.prototype),"initServer",this)).call.apply(e,[this].concat(n))}},{key:"initTable",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"initTable",this)).call.apply(e,[this].concat(r)),this.initCookie()}},{key:"onSort",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"onSort",this)).call.apply(e,[this].concat(r)),ho.setCookie(this,ho.cookieIds.sortOrder,this.options.sortOrder),ho.setCookie(this,ho.cookieIds.sortName,this.options.sortName)}},{key:"onPageNumber",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"onPageNumber",this)).call.apply(e,[this].concat(r)),ho.setCookie(this,ho.cookieIds.pageNumber,this.options.pageNumber)}},{key:"onPageListChange",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"onPageListChange",this)).call.apply(e,[this].concat(r)),ho.setCookie(this,ho.cookieIds.pageList,this.options.pageSize),ho.setCookie(this,ho.cookieIds.pageNumber,this.options.pageNumber)}},{key:"onPagePre",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"onPagePre",this)).call.apply(e,[this].concat(r)),ho.setCookie(this,ho.cookieIds.pageNumber,this.options.pageNumber)}},{key:"onPageNext",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"onPageNext",this)).call.apply(e,[this].concat(r)),ho.setCookie(this,ho.cookieIds.pageNumber,this.options.pageNumber)}},{key:"_toggleColumn",value:function(){for(var t,r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];(t=fo(so(o.prototype),"_toggleColumn",this)).call.apply(t,[this].concat(n));var a=[];e.each(this.columns,(function(e,t){t.visible&&a.push(t.field)})),ho.setCookie(this,ho.cookieIds.columns,JSON.stringify(a))}},{key:"selectPage",value:function(e){fo(so(o.prototype),"selectPage",this).call(this,e),ho.setCookie(this,ho.cookieIds.pageNumber,e)}},{key:"onSearch",value:function(e){fo(so(o.prototype),"onSearch",this).call(this,e),this.options.search&&ho.setCookie(this,ho.cookieIds.searchText,this.searchText),ho.setCookie(this,ho.cookieIds.pageNumber,this.options.pageNumber)}},{key:"initHeader",value:function(){var e;this.options.reorderableColumns&&(this.columnsSortOrder=JSON.parse(ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.reorderColumns)));for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"initHeader",this)).call.apply(e,[this].concat(r))}},{key:"persistReorderColumnsState",value:function(e){ho.setCookie(e,ho.cookieIds.reorderColumns,JSON.stringify(e.columnsSortOrder))}},{key:"filterBy",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];(e=fo(so(o.prototype),"filterBy",this)).call.apply(e,[this].concat(r)),ho.setCookie(this,ho.cookieIds.filterBy,JSON.stringify(this.filterColumns))}},{key:"initCookie",value:function(){if(this.options.cookie){if(""===this.options.cookieIdTable||""===this.options.cookieExpire||!ho.cookieEnabled())return console.error("Configuration error. Please review the cookieIdTable and the cookieExpire property. If the properties are correct, then this browser does not support cookies."),void(this.options.cookie=!1);var t=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.sortOrder),o=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.sortName),r=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.pageNumber),n=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.pageList),i=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.searchText),a=ho.getCookie(this,this.options.cookieIdTable,ho.cookieIds.columns);if("boolean"==typeof a&&!a)throw new Error("The cookie value of filterBy must be a json!");var c={};try{c=JSON.parse(a)}catch(e){throw new Error("Could not parse the json of the columns cookie!",a)}this.options.sortOrder=t||this.options.sortOrder,this.options.sortName=o||this.options.sortName,this.options.pageNumber=r?+r:this.options.pageNumber,this.options.pageSize=n?n===this.options.formatAllRows()?n:+n:this.options.pageSize,this.options.searchText=i||"",c&&e.each(this.columns,(function(t,o){o.visible=-1!==e.inArray(o.field,c)}))}}},{key:"getCookies",value:function(){var t=this,o={};return e.each(ho.cookieIds,(function(e,r){o[e]=ho.getCookie(t,t.options.cookieIdTable,r),"columns"===e&&(o[e]=JSON.parse(o[e]))})),o}},{key:"deleteCookie",value:function(e){""!==e&&ho.cookieEnabled()&&ho.deleteCookie(this,this.options.cookieIdTable,ho.cookieIds[e])}}])&&co(r.prototype,n),i&&co(r,i),o}(e.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js b/server/target/classes/static/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js
deleted file mode 100644
index 0c221fe..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js
+++ /dev/null
@@ -1,1114 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author Homer Glascock <HopGlascock@gmail.com>
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	$.extend($.fn.bootstrapTable.defaults.icons, {
-	  copy: {
-	    bootstrap3: 'glyphicon-copy icon-pencil',
-	    materialize: 'content_copy'
-	  }[$.fn.bootstrapTable.theme] || 'fa-copy'
-	});
-
-	var copyText = function copyText(text) {
-	  var textField = document.createElement('textarea');
-	  $(textField).html(text);
-	  document.body.appendChild(textField);
-	  textField.select();
-
-	  try {
-	    document.execCommand('copy');
-	  } catch (e) {
-	    console.log('Oops, unable to copy');
-	  }
-
-	  $(textField).remove();
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  showCopyRows: false,
-	  copyWithHidden: false,
-	  copyDelimiter: ', ',
-	  copyNewline: '\n'
-	});
-	$.fn.bootstrapTable.methods.push('copyColumnsToClipboard');
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      var _get2,
-	          _this = this;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get2, [this].concat(args));
-
-	      var $btnGroup = this.$toolbar.find('>.columns');
-
-	      if (this.options.showCopyRows && this.header.stateField) {
-	        this.$copyButton = $("\n        <button class=\"".concat(this.constants.buttonsClass, "\">\n        ").concat(Utils.sprintf(this.constants.html.icon, this.options.iconsPrefix, this.options.icons.copy), "\n        </button>\n      "));
-	        $btnGroup.append(this.$copyButton);
-	        this.$copyButton.click(function () {
-	          _this.copyColumnsToClipboard();
-	        });
-	        this.updateCopyButton();
-	      }
-	    }
-	  }, {
-	    key: "copyColumnsToClipboard",
-	    value: function copyColumnsToClipboard() {
-	      var _this2 = this;
-
-	      var rows = [];
-	      $.each(this.getSelections(), function (index, row) {
-	        var cols = [];
-	        $.each(_this2.options.columns[0], function (indy, column) {
-	          if (column.field !== _this2.header.stateField && (!_this2.options.copyWithHidden || _this2.options.copyWithHidden && column.visible)) {
-	            if (row[column.field] !== null) {
-	              cols.push(Utils.calculateObjectValue(column, _this2.header.formatters[indy], [row[column.field], row, index], row[column.field]));
-	            }
-	          }
-	        });
-	        rows.push(cols.join(_this2.options.copyDelimiter));
-	      });
-	      copyText(rows.join(this.options.copyNewline));
-	    }
-	  }, {
-	    key: "updateSelected",
-	    value: function updateSelected() {
-	      _get(_getPrototypeOf(_class.prototype), "updateSelected", this).call(this);
-
-	      this.updateCopyButton();
-	    }
-	  }, {
-	    key: "updateCopyButton",
-	    value: function updateCopyButton() {
-	      this.$copyButton.prop('disabled', !this.getSelections().length);
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.min.js b/server/target/classes/static/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.min.js
deleted file mode 100644
index c987221..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},c=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!u.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:u},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return d(h(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,n){if(!v(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!v(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,n){return m.call(t,n)},O=o.document,j=v(O)&&v(O.createElement),S=function(t){return j?O.createElement(t):{}},T=!c&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),P=Object.getOwnPropertyDescriptor,x={f:c?P:function(t,n){if(t=b(t),n=g(n,!0),T)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},E=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},C=Object.defineProperty,_={f:c?C:function(t,n,e){if(E(t),n=g(n,!0),E(e),T)try{return C(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},A=c?function(t,n,e){return _.f(t,n,l(1,e))}:function(t,n,e){return t[n]=e,t},k=function(t,n){try{A(o,t,n)}catch(e){o[t]=n}return n},M=o["__core-js_shared__"]||k("__core-js_shared__",{}),B=Function.toString;"function"!=typeof M.inspectSource&&(M.inspectSource=function(t){return B.call(t)});var F,I,R,N=M.inspectSource,W=o.WeakMap,D="function"==typeof W&&/native code/.test(N(W)),L=e((function(t){(t.exports=function(t,n){return M[t]||(M[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),$=0,q=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++$+q).toString(36)},H=L("keys"),G=function(t){return H[t]||(H[t]=z(t))},V={},K=o.WeakMap;if(D){var Q=new K,X=Q.get,Y=Q.has,J=Q.set;F=function(t,n){return J.call(Q,t,n),n},I=function(t){return X.call(Q,t)||{}},R=function(t){return Y.call(Q,t)}}else{var U=G("state");V[U]=!0,F=function(t,n){return A(t,U,n),n},I=function(t){return w(t,U)?t[U]:{}},R=function(t){return w(t,U)}}var Z,tt,nt={set:F,get:I,has:R,enforce:function(t){return R(t)?I(t):F(t,{})},getterFor:function(t){return function(n){var e;if(!v(n)||(e=I(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},et=e((function(t){var n=nt.get,e=nt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,c){var u=!!c&&!!c.unsafe,f=!!c&&!!c.enumerable,a=!!c&&!!c.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(u?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:A(t,n,i)):f?t[n]=i:k(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,n){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},ct=Math.ceil,ut=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?ut:ct)(t)},at=Math.min,lt=function(t){return t>0?at(ft(t),9007199254740991):0},st=Math.max,pt=Math.min,yt=function(t){return function(n,e,r){var o,i=b(n),c=lt(i.length),u=function(t,n){var e=ft(t);return e<0?st(e+n,0):pt(e,n)}(r,c);if(t&&e!=e){for(;c>u;)if((o=i[u++])!=o)return!0}else for(;c>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},dt={includes:yt(!0),indexOf:yt(!1)}.indexOf,ht=function(t,n){var e,r=b(t),o=0,i=[];for(e in r)!w(V,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~dt(i,e)||i.push(e));return i},bt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=bt.concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return ht(t,vt)}},mt={f:Object.getOwnPropertySymbols},wt=it("Reflect","ownKeys")||function(t){var n=gt.f(E(t)),e=mt.f;return e?n.concat(e(t)):n},Ot=function(t,n){for(var e=wt(n),r=_.f,o=x.f,i=0;i<e.length;i++){var c=e[i];w(t,c)||r(t,c,o(n,c))}},jt=/#|\.prototype\./,St=function(t,n){var e=Pt[Tt(t)];return e==Et||e!=xt&&("function"==typeof n?i(n):!!n)},Tt=St.normalize=function(t){return String(t).replace(jt,".").toLowerCase()},Pt=St.data={},xt=St.NATIVE="N",Et=St.POLYFILL="P",Ct=St,_t=x.f,At=function(t,n){var e,r,i,c,u,f=t.target,a=t.global,l=t.stat;if(e=a?o:l?o[f]||k(f,{}):(o[f]||{}).prototype)for(r in n){if(c=n[r],i=t.noTargetGet?(u=_t(e,r))&&u.value:e[r],!Ct(a?r:f+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof c==typeof i)continue;Ot(c,i)}(t.sham||i&&i.sham)&&A(c,"sham",!0),et(e,r,c,t)}},kt=Array.isArray||function(t){return"Array"==p(t)},Mt=function(t){return Object(h(t))},Bt=function(t,n,e){var r=g(n);r in t?_.f(t,r,l(0,e)):t[r]=e},Ft=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),It=Ft&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=L("wks"),Nt=o.Symbol,Wt=It?Nt:z,Dt=function(t){return w(Rt,t)||(Ft&&w(Nt,t)?Rt[t]=Nt[t]:Rt[t]=Wt("Symbol."+t)),Rt[t]},Lt=Dt("species"),$t=function(t,n){var e;return kt(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!kt(e.prototype)?v(e)&&null===(e=e[Lt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},qt=it("navigator","userAgent")||"",zt=o.process,Ht=zt&&zt.versions,Gt=Ht&&Ht.v8;Gt?tt=(Z=Gt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Vt,Kt=tt&&+tt,Qt=Dt("species"),Xt=Dt("isConcatSpreadable"),Yt=Kt>=51||!i((function(){var t=[];return t[Xt]=!1,t.concat()[0]!==t})),Jt=(Vt="concat",Kt>=51||!i((function(){var t=[];return(t.constructor={})[Qt]=function(){return{foo:1}},1!==t[Vt](Boolean).foo}))),Ut=function(t){if(!v(t))return!1;var n=t[Xt];return void 0!==n?!!n:kt(t)};At({target:"Array",proto:!0,forced:!Yt||!Jt},{concat:function(t){var n,e,r,o,i,c=Mt(this),u=$t(c,0),f=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?c:arguments[n],Ut(i)){if(f+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,f++)e in i&&Bt(u,f,i[e])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Bt(u,f++,i)}return u.length=f,u}});var Zt,tn=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},nn=[].push,en=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,c=5==t||i;return function(u,f,a,l){for(var s,p,y=Mt(u),h=d(y),b=tn(f,a,3),v=lt(h.length),g=0,m=l||$t,w=n?m(u,v):e?m(u,0):void 0;v>g;g++)if((c||g in h)&&(p=b(s=h[g],g,y),t))if(n)w[g]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return g;case 2:nn.call(w,s)}else if(o)return!1;return i?-1:r||o?o:w}},rn={forEach:en(0),map:en(1),filter:en(2),some:en(3),every:en(4),find:en(5),findIndex:en(6)},on=Object.keys||function(t){return ht(t,bt)},cn=c?Object.defineProperties:function(t,n){E(t);for(var e,r=on(n),o=r.length,i=0;o>i;)_.f(t,e=r[i++],n[e]);return t},un=it("document","documentElement"),fn=G("IE_PROTO"),an=function(){},ln=function(t){return"<script>"+t+"<\/script>"},sn=function(){try{Zt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;sn=Zt?function(t){t.write(ln("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Zt):((n=S("iframe")).style.display="none",un.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(ln("document.F=Object")),t.close(),t.F);for(var e=bt.length;e--;)delete sn.prototype[bt[e]];return sn()};V[fn]=!0;var pn=Object.create||function(t,n){var e;return null!==t?(an.prototype=E(t),e=new an,an.prototype=null,e[fn]=t):e=sn(),void 0===n?e:cn(e,n)},yn=Dt("unscopables"),dn=Array.prototype;null==dn[yn]&&_.f(dn,yn,{configurable:!0,value:pn(null)});var hn,bn=rn.find,vn=!0;"find"in[]&&Array(1).find((function(){vn=!1})),At({target:"Array",proto:!0,forced:vn},{find:function(t){return bn(this,t,arguments.length>1?arguments[1]:void 0)}}),hn="find",dn[yn][hn]=!0;var gn=[].join,mn=d!=Object,wn=function(t,n){var e=[][t];return!e||!i((function(){e.call(null,n||function(){throw 1},1)}))}("join",",");function On(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function jn(t){return(jn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Sn(t,n){return(Sn=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function Tn(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function Pn(t,n,e){return(Pn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=jn(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}At({target:"Array",proto:!0,forced:mn||wn},{join:function(t){return gn.call(b(this),void 0===t?",":t)}});var xn=t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults.icons,{copy:{bootstrap3:"glyphicon-copy icon-pencil",materialize:"content_copy"}[t.fn.bootstrapTable.theme]||"fa-copy"});t.extend(t.fn.bootstrapTable.defaults,{showCopyRows:!1,copyWithHidden:!1,copyDelimiter:", ",copyNewline:"\n"}),t.fn.bootstrapTable.methods.push("copyColumnsToClipboard"),t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),Tn(this,jn(e).apply(this,arguments))}var r,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Sn(t,n)}(e,n),r=e,(o=[{key:"initToolbar",value:function(){for(var n,r=this,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];(n=Pn(jn(e.prototype),"initToolbar",this)).call.apply(n,[this].concat(i));var u=this.$toolbar.find(">.columns");this.options.showCopyRows&&this.header.stateField&&(this.$copyButton=t('\n        <button class="'.concat(this.constants.buttonsClass,'">\n        ').concat(xn.sprintf(this.constants.html.icon,this.options.iconsPrefix,this.options.icons.copy),"\n        </button>\n      ")),u.append(this.$copyButton),this.$copyButton.click((function(){r.copyColumnsToClipboard()})),this.updateCopyButton())}},{key:"copyColumnsToClipboard",value:function(){var n=this,e=[];t.each(this.getSelections(),(function(r,o){var i=[];t.each(n.options.columns[0],(function(t,e){e.field!==n.header.stateField&&(!n.options.copyWithHidden||n.options.copyWithHidden&&e.visible)&&null!==o[e.field]&&i.push(xn.calculateObjectValue(e,n.header.formatters[t],[o[e.field],o,r],o[e.field]))})),e.push(i.join(n.options.copyDelimiter))})),function(n){var e=document.createElement("textarea");t(e).html(n),document.body.appendChild(e),e.select();try{document.execCommand("copy")}catch(t){console.log("Oops, unable to copy")}t(e).remove()}(e.join(this.options.copyNewline))}},{key:"updateSelected",value:function(){Pn(jn(e.prototype),"updateSelected",this).call(this),this.updateCopyButton()}},{key:"updateCopyButton",value:function(){this.$copyButton.prop("disabled",!this.getSelections().length)}}])&&On(r.prototype,o),i&&On(r,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js b/server/target/classes/static/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js
deleted file mode 100644
index 44ce20a..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js
+++ /dev/null
@@ -1,820 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * When using server-side processing, the default mode of operation for
-	 * bootstrap-table is to simply throw away any data that currently exists in the
-	 * table and make a request to the server to get the first page of data to
-	 * display. This is fine for an empty table, but if you already have the first
-	 * page of data displayed in the plain HTML, it is a waste of resources. As
-	 * such, you can use data-defer-url instead of data-url to allow you to instruct
-	 * bootstrap-table to not make that initial request, rather it will use the data
-	 * already on the page.
-	 *
-	 * @author: Ruben Suarez
-	 * @webSite: http://rubensa.eu.org
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  deferUrl: undefined
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _get2;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-
-	      if (this.options.deferUrl) {
-	        this.options.url = this.options.deferUrl;
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.min.js b/server/target/classes/static/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.min.js
deleted file mode 100644
index 2cd80c6..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),f={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,a={f:c&&!f.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:f},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},p={}.toString,s=function(t){return p.call(t).slice(8,-1)},y="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==s(t)?y.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return h(d(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,e){if(!g(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!g(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,e){return m.call(t,e)},O=o.document,j=g(O)&&g(O.createElement),S=!u&&!i((function(){return 7!=Object.defineProperty((t="div",j?O.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,e){if(t=b(t),e=v(e,!0),S)try{return P(t,e)}catch(t){}if(w(t,e))return l(!a.f.call(t,e),t[e])}},_=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},x=Object.defineProperty,E={f:u?x:function(t,e,n){if(_(t),e=v(e,!0),_(n),S)try{return x(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}},M=u?function(t,e,n){return E.f(t,e,l(1,n))}:function(t,e,n){return t[e]=n,t},A=function(t,e){try{M(o,t,e)}catch(n){o[t]=e}return e},k=o["__core-js_shared__"]||A("__core-js_shared__",{}),C=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return C.call(t)});var I,F,L,N,R=k.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(R(q)),z=n((function(t){(t.exports=function(t,e){return k[t]||(k[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,U=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+U).toString(36)},W=z("keys"),K={},Q=o.WeakMap;if(D){var V=new Q,Y=V.get,H=V.has,J=V.set;I=function(t,e){return J.call(V,t,e),e},F=function(t){return Y.call(V,t)||{}},L=function(t){return H.call(V,t)}}else{var X=W[N="state"]||(W[N]=G(N));K[X]=!0,I=function(t,e){return M(t,X,e),e},F=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:I,get:F,has:L,enforce:function(t){return L(t)?F(t):I(t,{})},getterFor:function(t){return function(e){var n;if(!g(e)||(n=F(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},et=n((function(t){var e=tt.get,n=tt.enforce,r=String(String).split("String");(t.exports=function(t,e,i,u){var f=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||M(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(f?!a&&t[e]&&(c=!0):delete t[e],c?t[e]=i:M(t,e,i)):c?t[e]=i:A(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||R(this)}))})),nt=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?rt(nt[t])||rt(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},it=Math.ceil,ut=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,at=function(t){return t>0?ct(ft(t),9007199254740991):0},lt=Math.max,pt=Math.min,st=function(t){return function(e,n,r){var o,i=b(e),u=at(i.length),f=function(t,e){var n=ft(t);return n<0?lt(n+e,0):pt(n,e)}(r,u);if(t&&n!=n){for(;u>f;)if((o=i[f++])!=o)return!0}else for(;u>f;f++)if((t||f in i)&&i[f]===n)return t||f||0;return!t&&-1}},yt={includes:st(!0),indexOf:st(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,e){var n,r=b(t),o=0,i=[];for(n in r)!w(K,n)&&w(r,n)&&i.push(n);for(;e.length>o;)w(r,n=e[o++])&&(~yt(i,n)||i.push(n));return i}(t,ht)}},bt={f:Object.getOwnPropertySymbols},gt=ot("Reflect","ownKeys")||function(t){var e=dt.f(_(t)),n=bt.f;return n?e.concat(n(t)):e},vt=function(t,e){for(var n=gt(e),r=E.f,o=T.f,i=0;i<n.length;i++){var u=n[i];w(t,u)||r(t,u,o(e,u))}},mt=/#|\.prototype\./,wt=function(t,e){var n=jt[Ot(t)];return n==Pt||n!=St&&("function"==typeof e?i(e):!!e)},Ot=wt.normalize=function(t){return String(t).replace(mt,".").toLowerCase()},jt=wt.data={},St=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,_t=T.f,xt=Array.isArray||function(t){return"Array"==s(t)},Et=function(t){return Object(d(t))},Mt=function(t,e,n){var r=v(e);r in t?E.f(t,r,l(0,n)):t[r]=n},At=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),kt=At&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=z("wks"),It=o.Symbol,Ft=kt?It:G,Lt=function(t){return w(Ct,t)||(At&&w(It,t)?Ct[t]=It[t]:Ct[t]=Ft("Symbol."+t)),Ct[t]},Nt=Lt("species"),Rt=function(t,e){var n;return xt(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!xt(n.prototype)?g(n)&&null===(n=n[Nt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ut,Gt=$&&+$,Wt=Lt("species"),Kt=Lt("isConcatSpreadable"),Qt=Gt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Vt=(Ut="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Ut](Boolean).foo}))),Yt=function(t){if(!g(t))return!1;var e=t[Kt];return void 0!==e?!!e:xt(t)};function Ht(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),Object.defineProperty(t,r.key,r)}}function Jt(t){return(Jt=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Xt(t,e){return(Xt=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Zt(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function $t(t,e,n){return($t="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Jt(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}!function(t,e){var n,r,i,u,f,c=t.target,a=t.global,l=t.stat;if(n=a?o:l?o[c]||A(c,{}):(o[c]||{}).prototype)for(r in e){if(u=e[r],i=t.noTargetGet?(f=_t(n,r))&&f.value:n[r],!Tt(a?r:c+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),et(n,r,u,t)}}({target:"Array",proto:!0,forced:!Qt||!Vt},{concat:function(t){var e,n,r,o,i,u=Et(this),f=Rt(u,0),c=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?u:arguments[e],Yt(i)){if(c+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,c++)n in i&&Mt(f,c,i[n])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(f,c++,i)}return f.length=c,f}}),t.extend(t.fn.bootstrapTable.defaults,{deferUrl:void 0}),t.BootstrapTable=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),Zt(this,Jt(e).apply(this,arguments))}var n,r,o;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Xt(t,e)}(e,t),n=e,(r=[{key:"init",value:function(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];(t=$t(Jt(e.prototype),"init",this)).call.apply(t,[this].concat(r)),this.options.deferUrl&&(this.options.url=this.options.deferUrl)}}])&&Ht(n.prototype,r),o&&Ht(n,o),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/editable/bootstrap-table-editable.js b/server/target/classes/static/bootstrap-table/extensions/editable/bootstrap-table-editable.js
deleted file mode 100644
index 72806c0..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/editable/bootstrap-table-editable.js
+++ /dev/null
@@ -1,1619 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD$1 }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 * extensions: https://github.com/vitalets/x-editable
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	$.extend($.fn.bootstrapTable.defaults, {
-	  editable: true,
-	  onEditableInit: function onEditableInit() {
-	    return false;
-	  },
-	  onEditableSave: function onEditableSave(field, row, rowIndex, oldValue, $el) {
-	    return false;
-	  },
-	  onEditableShown: function onEditableShown(field, row, $el, editable) {
-	    return false;
-	  },
-	  onEditableHidden: function onEditableHidden(field, row, $el, reason) {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'editable-init.bs.table': 'onEditableInit',
-	  'editable-save.bs.table': 'onEditableSave',
-	  'editable-shown.bs.table': 'onEditableShown',
-	  'editable-hidden.bs.table': 'onEditableHidden'
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initTable",
-	    value: function initTable() {
-	      var _this = this;
-
-	      _get(_getPrototypeOf(_class.prototype), "initTable", this).call(this);
-
-	      if (!this.options.editable) {
-	        return;
-	      }
-
-	      this.editedCells = [];
-	      $.each(this.columns, function (i, column) {
-	        if (!column.editable) {
-	          return;
-	        }
-
-	        var editableOptions = {};
-	        var editableDataMarkup = [];
-	        var editableDataPrefix = 'editable-';
-
-	        var processDataOptions = function processDataOptions(key, value) {
-	          // Replace camel case with dashes.
-	          var dashKey = key.replace(/([A-Z])/g, function ($1) {
-	            return "-".concat($1.toLowerCase());
-	          });
-
-	          if (dashKey.indexOf(editableDataPrefix) === 0) {
-	            editableOptions[dashKey.replace(editableDataPrefix, 'data-')] = value;
-	          }
-	        };
-
-	        $.each(_this.options, processDataOptions);
-
-	        column.formatter = column.formatter || function (value) {
-	          return value;
-	        };
-
-	        column._formatter = column._formatter ? column._formatter : column.formatter;
-
-	        column.formatter = function (value, row, index) {
-	          var result = Utils.calculateObjectValue(column, column._formatter, [value, row, index], value);
-	          result = typeof result === 'undefined' || result === null ? _this.options.undefinedText : result;
-
-	          if (_this.options.uniqueId !== undefined) {
-	            var uniqueId = Utils.getItemField(row, _this.options.uniqueId, false);
-
-	            if ($.inArray(column.field + uniqueId, _this.editedCells) !== -1) {
-	              result = value;
-	            }
-	          }
-
-	          $.each(column, processDataOptions);
-	          $.each(editableOptions, function (key, value) {
-	            editableDataMarkup.push(" ".concat(key, "=\"").concat(value, "\""));
-	          });
-	          var _dont_edit_formatter = false;
-
-	          if (column.editable.hasOwnProperty('noeditFormatter')) {
-	            _dont_edit_formatter = column.editable.noeditFormatter(value, row, index);
-	          }
-
-	          if (_dont_edit_formatter === false) {
-	            return "<a href=\"javascript:void(0)\"\n            data-name=\"".concat(column.field, "\"\n            data-pk=\"").concat(row[_this.options.idField], "\"\n            data-value=\"").concat(result, "\"\n            ").concat(editableDataMarkup.join(''), "></a>");
-	          }
-
-	          return _dont_edit_formatter;
-	        };
-	      });
-	    }
-	  }, {
-	    key: "initBody",
-	    value: function initBody(fixedScroll) {
-	      var _this2 = this;
-
-	      _get(_getPrototypeOf(_class.prototype), "initBody", this).call(this, fixedScroll);
-
-	      if (!this.options.editable) {
-	        return;
-	      }
-
-	      $.each(this.columns, function (i, column) {
-	        if (!column.editable) {
-	          return;
-	        }
-
-	        var data = _this2.getData();
-
-	        var $field = _this2.$body.find("a[data-name=\"".concat(column.field, "\"]"));
-
-	        $field.each(function (i, element) {
-	          var $element = $(element);
-	          var $tr = $element.closest('tr');
-	          var index = $tr.data('index');
-	          var row = data[index];
-	          var editableOpts = Utils.calculateObjectValue(column, column.editable, [index, row, $element], {});
-	          $element.editable(editableOpts);
-	        });
-	        $field.off('save').on('save', function (_ref, _ref2) {
-	          var currentTarget = _ref.currentTarget;
-	          var submitValue = _ref2.submitValue;
-	          var $this = $(currentTarget);
-
-	          var data = _this2.getData();
-
-	          var rowIndex = $this.parents('tr[data-index]').data('index');
-	          var row = data[rowIndex];
-	          var oldValue = row[column.field];
-
-	          if (_this2.options.uniqueId !== undefined) {
-	            var uniqueId = Utils.getItemField(row, _this2.options.uniqueId, false);
-
-	            if ($.inArray(column.field + uniqueId, _this2.editedCells) === -1) {
-	              _this2.editedCells.push(column.field + uniqueId);
-	            }
-	          }
-
-	          $this.data('value', submitValue);
-	          row[column.field] = submitValue;
-
-	          _this2.trigger('editable-save', column.field, row, rowIndex, oldValue, $this);
-
-	          _this2.initBody();
-	        });
-	        $field.off('shown').on('shown', function (_ref3, editable) {
-	          var currentTarget = _ref3.currentTarget;
-	          var $this = $(currentTarget);
-
-	          var data = _this2.getData();
-
-	          var rowIndex = $this.parents('tr[data-index]').data('index');
-	          var row = data[rowIndex];
-
-	          _this2.trigger('editable-shown', column.field, row, $this, editable);
-	        });
-	        $field.off('hidden').on('hidden', function (_ref4, reason) {
-	          var currentTarget = _ref4.currentTarget;
-	          var $this = $(currentTarget);
-
-	          var data = _this2.getData();
-
-	          var rowIndex = $this.parents('tr[data-index]').data('index');
-	          var row = data[rowIndex];
-
-	          _this2.trigger('editable-hidden', column.field, row, $this, reason);
-	        });
-	      });
-	      this.trigger('editable-init');
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js b/server/target/classes/static/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js
deleted file mode 100644
index cd41103..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/editable/bootstrap-table-editable.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,f={f:u&&!c.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:c},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,d=function(t){return s.call(t).slice(8,-1)},p="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==d(t)?p.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return h(v(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!g(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!g(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,x=function(t,e){return m.call(t,e)},O=o.document,w=g(O)&&g(O.createElement),E=function(t){return w?O.createElement(t):{}},j=!a&&!i((function(){return 7!=Object.defineProperty(E("div"),"a",{get:function(){return 7}}).a})),S=Object.getOwnPropertyDescriptor,T={f:a?S:function(t,e){if(t=y(t),e=b(e,!0),j)try{return S(t,e)}catch(t){}if(x(t,e))return l(!f.f.call(t,e),t[e])}},P=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,_={f:a?A:function(t,e,n){if(P(t),e=b(e,!0),P(n),j)try{return A(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}},I=a?function(t,e,n){return _.f(t,e,l(1,n))}:function(t,e,n){return t[e]=n,t},R=function(t,e){try{I(o,t,e)}catch(n){o[t]=e}return e},C=o["__core-js_shared__"]||R("__core-js_shared__",{}),k=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return k.call(t)});var M,$,F,D=C.inspectSource,N=o.WeakMap,q="function"==typeof N&&/native code/.test(D(N)),B=n((function(t){(t.exports=function(t,e){return C[t]||(C[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),L=0,K=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++L+K).toString(36)},U=B("keys"),W=function(t){return U[t]||(U[t]=V(t))},z={},Y=o.WeakMap;if(q){var G=new Y,H=G.get,Q=G.has,X=G.set;M=function(t,e){return X.call(G,t,e),e},$=function(t){return H.call(G,t)||{}},F=function(t){return Q.call(G,t)}}else{var Z=W("state");z[Z]=!0,M=function(t,e){return I(t,Z,e),e},$=function(t){return x(t,Z)?t[Z]:{}},F=function(t){return x(t,Z)}}var J,tt,et={set:M,get:$,has:F,enforce:function(t){return F(t)?$(t):M(t,{})},getterFor:function(t){return function(e){var n;if(!g(e)||(n=$(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,r=String(String).split("String");(t.exports=function(t,e,i,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||x(i,"name")||I(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(c?!f&&t[e]&&(u=!0):delete t[e],u?t[e]=i:I(t,e,i)):u?t[e]=i:R(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||D(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},at=Math.ceil,ct=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?ct:at)(t)},ft=Math.min,lt=function(t){return t>0?ft(ut(t),9007199254740991):0},st=Math.max,dt=Math.min,pt=function(t){return function(e,n,r){var o,i=y(e),a=lt(i.length),c=function(t,e){var n=ut(t);return n<0?st(n+e,0):dt(n,e)}(r,a);if(t&&n!=n){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},ht={includes:pt(!0),indexOf:pt(!1)},vt=ht.indexOf,yt=function(t,e){var n,r=y(t),o=0,i=[];for(n in r)!x(z,n)&&x(r,n)&&i.push(n);for(;e.length>o;)x(r,n=e[o++])&&(~vt(i,n)||i.push(n));return i},gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=gt.concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return yt(t,bt)}},xt={f:Object.getOwnPropertySymbols},Ot=it("Reflect","ownKeys")||function(t){var e=mt.f(P(t)),n=xt.f;return n?e.concat(n(t)):e},wt=function(t,e){for(var n=Ot(e),r=_.f,o=T.f,i=0;i<n.length;i++){var a=n[i];x(t,a)||r(t,a,o(e,a))}},Et=/#|\.prototype\./,jt=function(t,e){var n=Tt[St(t)];return n==At||n!=Pt&&("function"==typeof e?i(e):!!e)},St=jt.normalize=function(t){return String(t).replace(Et,".").toLowerCase()},Tt=jt.data={},Pt=jt.NATIVE="N",At=jt.POLYFILL="P",_t=jt,It=T.f,Rt=function(t,e){var n,r,i,a,c,u=t.target,f=t.global,l=t.stat;if(n=f?o:l?o[u]||R(u,{}):(o[u]||{}).prototype)for(r in e){if(a=e[r],i=t.noTargetGet?(c=It(n,r))&&c.value:n[r],!_t(f?r:u+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;wt(a,i)}(t.sham||i&&i.sham)&&I(a,"sham",!0),nt(n,r,a,t)}},Ct=Array.isArray||function(t){return"Array"==d(t)},kt=function(t){return Object(v(t))},Mt=function(t,e,n){var r=b(e);r in t?_.f(t,r,l(0,n)):t[r]=n},$t=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ft=$t&&!Symbol.sham&&"symbol"==typeof Symbol(),Dt=B("wks"),Nt=o.Symbol,qt=Ft?Nt:V,Bt=function(t){return x(Dt,t)||($t&&x(Nt,t)?Dt[t]=Nt[t]:Dt[t]=qt("Symbol."+t)),Dt[t]},Lt=Bt("species"),Kt=function(t,e){var n;return Ct(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!Ct(n.prototype)?g(n)&&null===(n=n[Lt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},Vt=it("navigator","userAgent")||"",Ut=o.process,Wt=Ut&&Ut.versions,zt=Wt&&Wt.v8;zt?tt=(J=zt.split("."))[0]+J[1]:Vt&&(!(J=Vt.match(/Edge\/(\d+)/))||J[1]>=74)&&(J=Vt.match(/Chrome\/(\d+)/))&&(tt=J[1]);var Yt,Gt=tt&&+tt,Ht=Bt("species"),Qt=Bt("isConcatSpreadable"),Xt=Gt>=51||!i((function(){var t=[];return t[Qt]=!1,t.concat()[0]!==t})),Zt=(Yt="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Yt](Boolean).foo}))),Jt=function(t){if(!g(t))return!1;var e=t[Qt];return void 0!==e?!!e:Ct(t)};Rt({target:"Array",proto:!0,forced:!Xt||!Zt},{concat:function(t){var e,n,r,o,i,a=kt(this),c=Kt(a,0),u=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?a:arguments[e],Jt(i)){if(u+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,u++)n in i&&Mt(c,u,i[n])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,u++,i)}return c.length=u,c}});var te,ee=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},ne=[].push,re=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(c,u,f,l){for(var s,d,p=kt(c),v=h(p),y=ee(u,f,3),g=lt(v.length),b=0,m=l||Kt,x=e?m(c,g):n?m(c,0):void 0;g>b;b++)if((a||b in v)&&(d=y(s=v[b],b,p),t))if(e)x[b]=d;else if(d)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:ne.call(x,s)}else if(o)return!1;return i?-1:r||o?o:x}},oe={forEach:re(0),map:re(1),filter:re(2),some:re(3),every:re(4),find:re(5),findIndex:re(6)},ie=Object.keys||function(t){return yt(t,gt)},ae=a?Object.defineProperties:function(t,e){P(t);for(var n,r=ie(e),o=r.length,i=0;o>i;)_.f(t,n=r[i++],e[n]);return t},ce=it("document","documentElement"),ue=W("IE_PROTO"),fe=function(){},le=function(t){return"<script>"+t+"<\/script>"},se=function(){try{te=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;se=te?function(t){t.write(le("")),t.close();var e=t.parentWindow.Object;return t=null,e}(te):((e=E("iframe")).style.display="none",ce.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(le("document.F=Object")),t.close(),t.F);for(var n=gt.length;n--;)delete se.prototype[gt[n]];return se()};z[ue]=!0;var de=Object.create||function(t,e){var n;return null!==t?(fe.prototype=P(t),n=new fe,fe.prototype=null,n[ue]=t):n=se(),void 0===e?n:ae(n,e)},pe=Bt("unscopables"),he=Array.prototype;null==he[pe]&&_.f(he,pe,{configurable:!0,value:de(null)});var ve,ye=oe.find,ge=!0;"find"in[]&&Array(1).find((function(){ge=!1})),Rt({target:"Array",proto:!0,forced:ge},{find:function(t){return ye(this,t,arguments.length>1?arguments[1]:void 0)}}),ve="find",he[pe][ve]=!0;var be=function(t,e){var n=[][t];return!n||!i((function(){n.call(null,e||function(){throw 1},1)}))},me=ht.indexOf,xe=[].indexOf,Oe=!!xe&&1/[1].indexOf(1,-0)<0,we=be("indexOf");Rt({target:"Array",proto:!0,forced:Oe||we},{indexOf:function(t){return Oe?xe.apply(this,arguments)||0:me(this,t,arguments.length>1?arguments[1]:void 0)}});var Ee=[].join,je=h!=Object,Se=be("join",",");Rt({target:"Array",proto:!0,forced:je||Se},{join:function(t){return Ee.call(y(this),void 0===t?",":t)}});var Te=function(){var t=P(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Pe(t,e){return RegExp(t,e)}var Ae,_e,Ie={UNSUPPORTED_Y:i((function(){var t=Pe("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Pe("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Re=RegExp.prototype.exec,Ce=String.prototype.replace,ke=Re,Me=(Ae=/a/,_e=/b*/g,Re.call(Ae,"a"),Re.call(_e,"a"),0!==Ae.lastIndex||0!==_e.lastIndex),$e=Ie.UNSUPPORTED_Y||Ie.BROKEN_CARET,Fe=void 0!==/()??/.exec("")[1];(Me||Fe||$e)&&(ke=function(t){var e,n,r,o,i=this,a=$e&&i.sticky,c=Te.call(i),u=i.source,f=0,l=t;return a&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),l=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(u="(?: "+u+")",l=" "+l,f++),n=new RegExp("^(?:"+u+")",c)),Fe&&(n=new RegExp("^"+u+"$(?!\\s)",c)),Me&&(e=i.lastIndex),r=Re.call(a?n:i,l),a?r?(r.input=r.input.slice(f),r[0]=r[0].slice(f),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:Me&&r&&(i.lastIndex=i.global?r.index+r[0].length:e),Fe&&r&&r.length>1&&Ce.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var De=ke;Rt({target:"RegExp",proto:!0,forced:/./.exec!==De},{exec:De});var Ne=Bt("species"),qe=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Be="$0"==="a".replace(/./,"$0"),Le=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),Ke=function(t){return function(e,n){var r,o,i=String(v(e)),a=ut(n),c=i.length;return a<0||a>=c?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===c||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Ve={codeAt:Ke(!1),charAt:Ke(!0)}.charAt,Ue=function(t,e,n){return e+(n?Ve(t,e).length:1)},We=function(t,e){var n=t.exec;if("function"==typeof n){var r=n.call(t,e);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==d(t))throw TypeError("RegExp#exec called on incompatible receiver");return De.call(t,e)},ze=Math.max,Ye=Math.min,Ge=Math.floor,He=/\$([$&'`]|\d\d?|<[^>]*>)/g,Qe=/\$([$&'`]|\d\d?)/g;function Xe(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),Object.defineProperty(t,r.key,r)}}function Ze(t){return(Ze=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Je(t,e){return(Je=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function tn(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function en(t,e,n){return(en="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Ze(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}!function(t,e,n,r){var o=Bt(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),c=a&&!i((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[Ne]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!a||!c||"replace"===t&&(!qe||!Be)||"split"===t&&!Le){var u=/./[o],f=n(o,""[t],(function(t,e,n,r,o){return e.exec===De?a&&!o?{done:!0,value:u.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Be}),l=f[0],s=f[1];nt(String.prototype,t,l),nt(RegExp.prototype,o,2==e?function(t,e){return s.call(t,this,e)}:function(t){return s.call(t,this)})}r&&I(RegExp.prototype[o],"sham",!0)}("replace",2,(function(t,e,n,r){return[function(n,r){var o=v(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,i){if(r.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=n(e,t,this,i);if(a.done)return a.value}var c=P(t),u=String(this),f="function"==typeof i;f||(i=String(i));var l=c.global;if(l){var s=c.unicode;c.lastIndex=0}for(var d=[];;){var p=We(c,u);if(null===p)break;if(d.push(p),!l)break;""===String(p[0])&&(c.lastIndex=Ue(u,lt(c.lastIndex),s))}for(var h,v="",y=0,g=0;g<d.length;g++){p=d[g];for(var b=String(p[0]),m=ze(Ye(ut(p.index),u.length),0),x=[],O=1;O<p.length;O++)x.push(void 0===(h=p[O])?h:String(h));var w=p.groups;if(f){var E=[b].concat(x,m,u);void 0!==w&&E.push(w);var j=String(i.apply(void 0,E))}else j=o(b,u,m,x,w,i);m>=y&&(v+=u.slice(y,m)+j,y=m+b.length)}return v+u.slice(y)}];function o(t,n,r,o,i,a){var c=r+t.length,u=o.length,f=Qe;return void 0!==i&&(i=kt(i),f=He),e.call(a,f,(function(e,a){var f;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(c);case"<":f=i[a.slice(1,-1)];break;default:var l=+a;if(0===l)return e;if(l>u){var s=Ge(l/10);return 0===s?e:s<=u?void 0===o[s-1]?a.charAt(1):o[s-1]+a.charAt(1):e}f=o[l-1]}return void 0===f?"":f}))}}));var nn=t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults,{editable:!0,onEditableInit:function(){return!1},onEditableSave:function(t,e,n,r,o){return!1},onEditableShown:function(t,e,n,r){return!1},onEditableHidden:function(t,e,n,r){return!1}}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"editable-init.bs.table":"onEditableInit","editable-save.bs.table":"onEditableSave","editable-shown.bs.table":"onEditableShown","editable-hidden.bs.table":"onEditableHidden"}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),tn(this,Ze(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Je(t,e)}(n,e),r=n,(o=[{key:"initTable",value:function(){var e=this;en(Ze(n.prototype),"initTable",this).call(this),this.options.editable&&(this.editedCells=[],t.each(this.columns,(function(n,r){if(r.editable){var o={},i=[],a=function(t,e){var n=t.replace(/([A-Z])/g,(function(t){return"-".concat(t.toLowerCase())}));0===n.indexOf("editable-")&&(o[n.replace("editable-","data-")]=e)};t.each(e.options,a),r.formatter=r.formatter||function(t){return t},r._formatter=r._formatter?r._formatter:r.formatter,r.formatter=function(n,c,u){var f=nn.calculateObjectValue(r,r._formatter,[n,c,u],n);if(f=null==f?e.options.undefinedText:f,void 0!==e.options.uniqueId){var l=nn.getItemField(c,e.options.uniqueId,!1);-1!==t.inArray(r.field+l,e.editedCells)&&(f=n)}t.each(r,a),t.each(o,(function(t,e){i.push(" ".concat(t,'="').concat(e,'"'))}));var s=!1;return r.editable.hasOwnProperty("noeditFormatter")&&(s=r.editable.noeditFormatter(n,c,u)),!1===s?'<a href="javascript:void(0)"\n            data-name="'.concat(r.field,'"\n            data-pk="').concat(c[e.options.idField],'"\n            data-value="').concat(f,'"\n            ').concat(i.join(""),"></a>"):s}}})))}},{key:"initBody",value:function(e){var r=this;en(Ze(n.prototype),"initBody",this).call(this,e),this.options.editable&&(t.each(this.columns,(function(e,n){if(n.editable){var o=r.getData(),i=r.$body.find('a[data-name="'.concat(n.field,'"]'));i.each((function(e,r){var i=t(r),a=i.closest("tr").data("index"),c=o[a],u=nn.calculateObjectValue(n,n.editable,[a,c,i],{});i.editable(u)})),i.off("save").on("save",(function(e,o){var i=e.currentTarget,a=o.submitValue,c=t(i),u=r.getData(),f=c.parents("tr[data-index]").data("index"),l=u[f],s=l[n.field];if(void 0!==r.options.uniqueId){var d=nn.getItemField(l,r.options.uniqueId,!1);-1===t.inArray(n.field+d,r.editedCells)&&r.editedCells.push(n.field+d)}c.data("value",a),l[n.field]=a,r.trigger("editable-save",n.field,l,f,s,c),r.initBody()})),i.off("shown").on("shown",(function(e,o){var i=e.currentTarget,a=t(i),c=r.getData()[a.parents("tr[data-index]").data("index")];r.trigger("editable-shown",n.field,c,a,o)})),i.off("hidden").on("hidden",(function(e,o){var i=e.currentTarget,a=t(i),c=r.getData()[a.parents("tr[data-index]").data("index")];r.trigger("editable-hidden",n.field,c,a,o)}))}})),this.trigger("editable-init"))}}])&&Xe(r.prototype,o),i&&Xe(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/export/bootstrap-table-export.js b/server/target/classes/static/bootstrap-table/extensions/export/bootstrap-table-export.js
deleted file mode 100644
index 4176808..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/export/bootstrap-table-export.js
+++ /dev/null
@@ -1,2668 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var $map = arrayIteration.map;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
-	// FF49- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.map` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.map
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  map: function map(callbackfn /* , thisArg */) {
-	    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test = {};
-
-	test[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$3] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	var charAt$1 = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt$1(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$2 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$2(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var SPECIES$4 = wellKnownSymbol('species');
-
-	// `SpeciesConstructor` abstract operation
-	// https://tc39.github.io/ecma262/#sec-speciesconstructor
-	var speciesConstructor = function (O, defaultConstructor) {
-	  var C = anObject(O).constructor;
-	  var S;
-	  return C === undefined || (S = anObject(C)[SPECIES$4]) == undefined ? defaultConstructor : aFunction$1(S);
-	};
-
-	var arrayPush = [].push;
-	var min$3 = Math.min;
-	var MAX_UINT32 = 0xFFFFFFFF;
-
-	// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-	var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
-
-	// @@split logic
-	fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
-	  var internalSplit;
-	  if (
-	    'abbc'.split(/(b)*/)[1] == 'c' ||
-	    'test'.split(/(?:)/, -1).length != 4 ||
-	    'ab'.split(/(?:ab)*/).length != 2 ||
-	    '.'.split(/(.?)(.?)/).length != 4 ||
-	    '.'.split(/()()/).length > 1 ||
-	    ''.split(/.?/).length
-	  ) {
-	    // based on es5-shim implementation, need to rework it
-	    internalSplit = function (separator, limit) {
-	      var string = String(requireObjectCoercible(this));
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (separator === undefined) return [string];
-	      // If `separator` is not a regex, use native split
-	      if (!isRegexp(separator)) {
-	        return nativeSplit.call(string, separator, lim);
-	      }
-	      var output = [];
-	      var flags = (separator.ignoreCase ? 'i' : '') +
-	                  (separator.multiline ? 'm' : '') +
-	                  (separator.unicode ? 'u' : '') +
-	                  (separator.sticky ? 'y' : '');
-	      var lastLastIndex = 0;
-	      // Make `global` and avoid `lastIndex` issues by working with a copy
-	      var separatorCopy = new RegExp(separator.source, flags + 'g');
-	      var match, lastIndex, lastLength;
-	      while (match = regexpExec.call(separatorCopy, string)) {
-	        lastIndex = separatorCopy.lastIndex;
-	        if (lastIndex > lastLastIndex) {
-	          output.push(string.slice(lastLastIndex, match.index));
-	          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
-	          lastLength = match[0].length;
-	          lastLastIndex = lastIndex;
-	          if (output.length >= lim) break;
-	        }
-	        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
-	      }
-	      if (lastLastIndex === string.length) {
-	        if (lastLength || !separatorCopy.test('')) output.push('');
-	      } else output.push(string.slice(lastLastIndex));
-	      return output.length > lim ? output.slice(0, lim) : output;
-	    };
-	  // Chakra, V8
-	  } else if ('0'.split(undefined, 0).length) {
-	    internalSplit = function (separator, limit) {
-	      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
-	    };
-	  } else internalSplit = nativeSplit;
-
-	  return [
-	    // `String.prototype.split` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.split
-	    function split(separator, limit) {
-	      var O = requireObjectCoercible(this);
-	      var splitter = separator == undefined ? undefined : separator[SPLIT];
-	      return splitter !== undefined
-	        ? splitter.call(separator, O, limit)
-	        : internalSplit.call(String(O), separator, limit);
-	    },
-	    // `RegExp.prototype[@@split]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
-	    //
-	    // NOTE: This cannot be properly polyfilled in engines that don't support
-	    // the 'y' flag.
-	    function (regexp, limit) {
-	      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-	      var C = speciesConstructor(rx, RegExp);
-
-	      var unicodeMatching = rx.unicode;
-	      var flags = (rx.ignoreCase ? 'i' : '') +
-	                  (rx.multiline ? 'm' : '') +
-	                  (rx.unicode ? 'u' : '') +
-	                  (SUPPORTS_Y ? 'y' : 'g');
-
-	      // ^(? + rx + ) is needed, in combination with some S slicing, to
-	      // simulate the 'y' flag.
-	      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
-	      var p = 0;
-	      var q = 0;
-	      var A = [];
-	      while (q < S.length) {
-	        splitter.lastIndex = SUPPORTS_Y ? q : 0;
-	        var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
-	        var e;
-	        if (
-	          z === null ||
-	          (e = min$3(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
-	        ) {
-	          q = advanceStringIndex(S, q, unicodeMatching);
-	        } else {
-	          A.push(S.slice(p, q));
-	          if (A.length === lim) return A;
-	          for (var i = 1; i <= z.length - 1; i++) {
-	            A.push(z[i]);
-	            if (A.length === lim) return A;
-	          }
-	          q = p = e;
-	        }
-	      }
-	      A.push(S.slice(p));
-	      return A;
-	    }
-	  ];
-	}, !SUPPORTS_Y);
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var $forEach$1 = arrayIteration.forEach;
-
-
-	// `Array.prototype.forEach` method implementation
-	// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
-	  return $forEach$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	} : [].forEach;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  // some Chrome versions have non-configurable methods on DOMTokenList
-	  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
-	    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
-	  } catch (error) {
-	    CollectionPrototype.forEach = arrayForEach;
-	  }
-	}
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME$1 in domIterables) {
-	  var Collection$1 = global_1[COLLECTION_NAME$1];
-	  var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
-	  if (CollectionPrototype$1) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype$1[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype$1, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype$1[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype$1[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG$3, COLLECTION_NAME$1);
-	    }
-	    if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 * extensions: https://github.com/hhurz/tableExport.jquery.plugin
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	var TYPE_NAME = {
-	  json: 'JSON',
-	  xml: 'XML',
-	  png: 'PNG',
-	  csv: 'CSV',
-	  txt: 'TXT',
-	  sql: 'SQL',
-	  doc: 'MS-Word',
-	  excel: 'MS-Excel',
-	  xlsx: 'MS-Excel (OpenXML)',
-	  powerpoint: 'MS-Powerpoint',
-	  pdf: 'PDF'
-	};
-	$.extend($.fn.bootstrapTable.defaults, {
-	  showExport: false,
-	  exportDataType: 'basic',
-	  // basic, all, selected
-	  exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
-	  exportOptions: {
-	    onCellHtmlData: function onCellHtmlData(cell, rowIndex, colIndex, htmlData) {
-	      if (cell.is('th')) {
-	        return cell.find('.th-inner').text();
-	      }
-
-	      return htmlData;
-	    }
-	  },
-	  exportFooter: false
-	});
-	$.extend($.fn.bootstrapTable.columnDefaults, {
-	  forceExport: false
-	});
-	$.extend($.fn.bootstrapTable.defaults.icons, {
-	  export: {
-	    bootstrap3: 'glyphicon-export icon-share',
-	    materialize: 'file_download'
-	  }[$.fn.bootstrapTable.theme] || 'fa-download'
-	});
-	$.extend($.fn.bootstrapTable.locales, {
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  }
-	});
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-	$.fn.bootstrapTable.methods.push('exportTable');
-	$.extend($.fn.bootstrapTable.defaults, {
-	  onExportSaved: function onExportSaved(exportedRows) {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'export-saved.bs.table': 'onExportSaved'
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      var _get2,
-	          _this = this;
-
-	      var o = this.options;
-	      this.showToolbar = this.showToolbar || o.showExport;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get2, [this].concat(args));
-
-	      if (!this.options.showExport) {
-	        return;
-	      }
-
-	      var $btnGroup = this.$toolbar.find('>.columns');
-	      this.$export = $btnGroup.find('div.export');
-
-	      if (this.$export.length) {
-	        this.updateExportButton();
-	        return;
-	      }
-
-	      var $menu = $(this.constants.html.toolbarDropdown.join(''));
-	      var exportTypes = o.exportTypes;
-
-	      if (typeof exportTypes === 'string') {
-	        var types = exportTypes.slice(1, -1).replace(/ /g, '').split(',');
-	        exportTypes = types.map(function (t) {
-	          return t.slice(1, -1);
-	        });
-	      }
-
-	      this.$export = $(exportTypes.length === 1 ? "\n      <div class=\"export ".concat(this.constants.classes.buttonsDropdown, "\"\n      data-type=\"").concat(exportTypes[0], "\">\n      <button class=\"").concat(this.constants.buttonsClass, "\"\n      aria-label=\"Export\"\n      type=\"button\"\n      title=\"").concat(o.formatExport(), "\">\n      ").concat(o.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.export) : '', "\n      ").concat(o.showButtonText ? o.formatExport() : '', "\n      </button>\n      </div>\n    ") : "\n      <div class=\"export ".concat(this.constants.classes.buttonsDropdown, "\">\n      <button class=\"").concat(this.constants.buttonsClass, " dropdown-toggle\"\n      aria-label=\"Export\"\n      data-toggle=\"dropdown\"\n      type=\"button\"\n      title=\"").concat(o.formatExport(), "\">\n      ").concat(o.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.export) : '', "\n      ").concat(o.showButtonText ? o.formatExport() : '', "\n      ").concat(this.constants.html.dropdownCaret, "\n      </button>\n      </div>\n    ")).appendTo($btnGroup);
-	      var $items = this.$export;
-
-	      if (exportTypes.length > 1) {
-	        this.$export.append($menu); // themes support
-
-	        if ($menu.children().length) {
-	          $menu = $menu.children().eq(0);
-	        }
-
-	        var _iteratorNormalCompletion = true;
-	        var _didIteratorError = false;
-	        var _iteratorError = undefined;
-
-	        try {
-	          for (var _iterator = exportTypes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	            var type = _step.value;
-
-	            if (TYPE_NAME.hasOwnProperty(type)) {
-	              var $item = $(Utils.sprintf(this.constants.html.pageDropdownItem, '', TYPE_NAME[type]));
-	              $item.attr('data-type', type);
-	              $menu.append($item);
-	            }
-	          }
-	        } catch (err) {
-	          _didIteratorError = true;
-	          _iteratorError = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion && _iterator.return != null) {
-	              _iterator.return();
-	            }
-	          } finally {
-	            if (_didIteratorError) {
-	              throw _iteratorError;
-	            }
-	          }
-	        }
-
-	        $items = $menu.children();
-	      }
-
-	      this.updateExportButton();
-	      $items.click(function (e) {
-	        e.preventDefault();
-	        var type = $(e.currentTarget).data('type');
-	        var exportOptions = {
-	          type: type,
-	          escape: false
-	        };
-
-	        _this.exportTable(exportOptions);
-	      });
-	      this.handleToolbar();
-	    }
-	  }, {
-	    key: "handleToolbar",
-	    value: function handleToolbar() {
-	      if (!this.$export) {
-	        return;
-	      }
-
-	      if ($.fn.bootstrapTable.theme === 'foundation') {
-	        this.$export.find('.dropdown-pane').attr('id', 'toolbar-export-id');
-	      } else if ($.fn.bootstrapTable.theme === 'materialize') {
-	        this.$export.find('.dropdown-content').attr('id', 'toolbar-export-id');
-	      }
-
-	      if (_get(_getPrototypeOf(_class.prototype), "handleToolbar", this)) {
-	        _get(_getPrototypeOf(_class.prototype), "handleToolbar", this).call(this);
-	      }
-	    }
-	  }, {
-	    key: "exportTable",
-	    value: function exportTable(options) {
-	      var _this2 = this;
-
-	      var o = this.options;
-	      var stateField = this.header.stateField;
-	      var isCardView = o.cardView;
-
-	      var doExport = function doExport(callback) {
-	        if (stateField) {
-	          _this2.hideColumn(stateField);
-	        }
-
-	        if (isCardView) {
-	          _this2.toggleView();
-	        }
-
-	        var data = _this2.getData();
-
-	        if (o.exportFooter) {
-	          var $footerRow = _this2.$tableFooter.find('tr').first();
-
-	          var footerData = {};
-	          var footerHtml = [];
-	          $.each($footerRow.children(), function (index, footerCell) {
-	            var footerCellHtml = $(footerCell).children('.th-inner').first().html();
-	            footerData[_this2.columns[index].field] = footerCellHtml === '&nbsp;' ? null : footerCellHtml; // grab footer cell text into cell index-based array
-
-	            footerHtml.push(footerCellHtml);
-	          });
-
-	          _this2.$body.append(_this2.$body.children().last()[0].outerHTML);
-
-	          var $lastTableRow = _this2.$body.children().last();
-
-	          $.each($lastTableRow.children(), function (index, lastTableRowCell) {
-	            $(lastTableRowCell).html(footerHtml[index]);
-	          });
-	        }
-
-	        var hiddenColumns = _this2.getHiddenColumns();
-
-	        hiddenColumns.forEach(function (row) {
-	          if (row.forceExport) {
-	            _this2.showColumn(row.field);
-	          }
-	        });
-
-	        if (typeof o.exportOptions.fileName === 'function') {
-	          options.fileName = o.exportOptions.fileName();
-	        }
-
-	        _this2.$el.tableExport($.extend({
-	          onAfterSaveToFile: function onAfterSaveToFile() {
-	            if (o.exportFooter) {
-	              _this2.load(data);
-	            }
-
-	            if (stateField) {
-	              _this2.showColumn(stateField);
-	            }
-
-	            if (isCardView) {
-	              _this2.toggleView();
-	            }
-
-	            hiddenColumns.forEach(function (row) {
-	              if (row.forceExport) {
-	                _this2.hideColumn(row.field);
-	              }
-	            });
-	            if (callback) callback();
-	          }
-	        }, o.exportOptions, options));
-	      };
-
-	      if (o.exportDataType === 'all' && o.pagination) {
-	        var eventName = o.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table';
-	        var virtualScroll = this.options.virtualScroll;
-	        this.$el.one(eventName, function () {
-	          doExport(function () {
-	            _this2.options.virtualScroll = virtualScroll;
-
-	            _this2.togglePagination();
-	          });
-	        });
-	        this.options.virtualScroll = false;
-	        this.togglePagination();
-	        this.trigger('export-saved', this.getData());
-	      } else if (o.exportDataType === 'selected') {
-	        var data = this.getData();
-	        var selectedData = this.getSelections();
-
-	        if (!selectedData.length) {
-	          return;
-	        }
-
-	        if (o.sidePagination === 'server') {
-	          data = _defineProperty({
-	            total: o.totalRows
-	          }, this.options.dataField, data);
-	          selectedData = _defineProperty({
-	            total: selectedData.length
-	          }, this.options.dataField, selectedData);
-	        }
-
-	        this.load(selectedData);
-	        doExport(function () {
-	          _this2.load(data);
-	        });
-	        this.trigger('export-saved', selectedData);
-	      } else {
-	        doExport();
-	        this.trigger('export-saved', this.getData(true));
-	      }
-	    }
-	  }, {
-	    key: "updateSelected",
-	    value: function updateSelected() {
-	      _get(_getPrototypeOf(_class.prototype), "updateSelected", this).call(this);
-
-	      this.updateExportButton();
-	    }
-	  }, {
-	    key: "updateExportButton",
-	    value: function updateExportButton() {
-	      if (this.options.exportDataType === 'selected') {
-	        this.$export.find('> button').prop('disabled', !this.getSelections().length);
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/export/bootstrap-table-export.min.js b/server/target/classes/static/bootstrap-table/extensions/export/bootstrap-table-export.min.js
deleted file mode 100644
index 87583b1..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/export/bootstrap-table-export.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,l={f:u&&!c.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:c},s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},f={}.toString,p=function(t){return f.call(t).slice(8,-1)},d="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return h(y(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!g(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!g(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},x={}.hasOwnProperty,m=function(t,e){return x.call(t,e)},S=o.document,w=g(S)&&g(S.createElement),O=function(t){return w?S.createElement(t):{}},E=!a&&!i((function(){return 7!=Object.defineProperty(O("div"),"a",{get:function(){return 7}}).a})),T=Object.getOwnPropertyDescriptor,j={f:a?T:function(t,e){if(t=v(t),e=b(e,!0),E)try{return T(t,e)}catch(t){}if(m(t,e))return s(!l.f.call(t,e),t[e])}},P=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,I={f:a?A:function(t,e,n){if(P(t),e=b(e,!0),P(n),E)try{return A(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}},_=a?function(t,e,n){return I.f(t,e,s(1,n))}:function(t,e,n){return t[e]=n,t},R=function(t,e){try{_(o,t,e)}catch(n){o[t]=e}return e},L=o["__core-js_shared__"]||R("__core-js_shared__",{}),C=Function.toString;"function"!=typeof L.inspectSource&&(L.inspectSource=function(t){return C.call(t)});var k,M,$,D=L.inspectSource,N=o.WeakMap,F="function"==typeof N&&/native code/.test(D(N)),B=n((function(t){(t.exports=function(t,e){return L[t]||(L[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,V=Math.random(),q=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+V).toString(36)},z=B("keys"),H=function(t){return z[t]||(z[t]=q(t))},U={},W=o.WeakMap;if(F){var K=new W,Y=K.get,X=K.has,J=K.set;k=function(t,e){return J.call(K,t,e),e},M=function(t){return Y.call(K,t)||{}},$=function(t){return X.call(K,t)}}else{var Q=H("state");U[Q]=!0,k=function(t,e){return _(t,Q,e),e},M=function(t){return m(t,Q)?t[Q]:{}},$=function(t){return m(t,Q)}}var Z,tt={set:k,get:M,has:$,enforce:function(t){return $(t)?M(t):k(t,{})},getterFor:function(t){return function(e){var n;if(!g(e)||(n=M(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},et=n((function(t){var e=tt.get,n=tt.enforce,r=String(String).split("String");(t.exports=function(t,e,i,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,l=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||_(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(c?!l&&t[e]&&(u=!0):delete t[e],u?t[e]=i:_(t,e,i)):u?t[e]=i:R(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||D(this)}))})),nt=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?rt(nt[t])||rt(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},it=Math.ceil,at=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ut=Math.min,lt=function(t){return t>0?ut(ct(t),9007199254740991):0},st=Math.max,ft=Math.min,pt=function(t,e){var n=ct(t);return n<0?st(n+e,0):ft(n,e)},dt=function(t){return function(e,n,r){var o,i=v(e),a=lt(i.length),c=pt(r,a);if(t&&n!=n){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},ht={includes:dt(!0),indexOf:dt(!1)}.indexOf,yt=function(t,e){var n,r=v(t),o=0,i=[];for(n in r)!m(U,n)&&m(r,n)&&i.push(n);for(;e.length>o;)m(r,n=e[o++])&&(~ht(i,n)||i.push(n));return i},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],gt=vt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return yt(t,gt)}},xt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var e=bt.f(P(t)),n=xt.f;return n?e.concat(n(t)):e},St=function(t,e){for(var n=mt(e),r=I.f,o=j.f,i=0;i<n.length;i++){var a=n[i];m(t,a)||r(t,a,o(e,a))}},wt=/#|\.prototype\./,Ot=function(t,e){var n=Tt[Et(t)];return n==Pt||n!=jt&&("function"==typeof e?i(e):!!e)},Et=Ot.normalize=function(t){return String(t).replace(wt,".").toLowerCase()},Tt=Ot.data={},jt=Ot.NATIVE="N",Pt=Ot.POLYFILL="P",At=Ot,It=j.f,_t=function(t,e){var n,r,i,a,c,u=t.target,l=t.global,s=t.stat;if(n=l?o:s?o[u]||R(u,{}):(o[u]||{}).prototype)for(r in e){if(a=e[r],i=t.noTargetGet?(c=It(n,r))&&c.value:n[r],!At(l?r:u+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;St(a,i)}(t.sham||i&&i.sham)&&_(a,"sham",!0),et(n,r,a,t)}},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Lt=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=Array.isArray||function(t){return"Array"==p(t)},kt=function(t){return Object(y(t))},Mt=Object.keys||function(t){return yt(t,vt)},$t=a?Object.defineProperties:function(t,e){P(t);for(var n,r=Mt(e),o=r.length,i=0;o>i;)I.f(t,n=r[i++],e[n]);return t},Dt=ot("document","documentElement"),Nt=H("IE_PROTO"),Ft=function(){},Bt=function(t){return"<script>"+t+"<\/script>"},Gt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Gt=Z?function(t){t.write(Bt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Z):((e=O("iframe")).style.display="none",Dt.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Bt("document.F=Object")),t.close(),t.F);for(var n=vt.length;n--;)delete Gt.prototype[vt[n]];return Gt()};U[Nt]=!0;var Vt=Object.create||function(t,e){var n;return null!==t?(Ft.prototype=P(t),n=new Ft,Ft.prototype=null,n[Nt]=t):n=Gt(),void 0===e?n:$t(n,e)},qt=bt.f,zt={}.toString,Ht="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Ut={f:function(t){return Ht&&"[object Window]"==zt.call(t)?function(t){try{return qt(t)}catch(t){return Ht.slice()}}(t):qt(v(t))}},Wt=B("wks"),Kt=o.Symbol,Yt=Lt?Kt:q,Xt=function(t){return m(Wt,t)||(Rt&&m(Kt,t)?Wt[t]=Kt[t]:Wt[t]=Yt("Symbol."+t)),Wt[t]},Jt={f:Xt},Qt=I.f,Zt=function(t){var e=nt.Symbol||(nt.Symbol={});m(e,t)||Qt(e,t,{value:Jt.f(t)})},te=I.f,ee=Xt("toStringTag"),ne=function(t,e,n){t&&!m(t=n?t:t.prototype,ee)&&te(t,ee,{configurable:!0,value:e})},re=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},oe=Xt("species"),ie=function(t,e){var n;return Ct(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!Ct(n.prototype)?g(n)&&null===(n=n[oe])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},ae=[].push,ce=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(c,u,l,s){for(var f,p,d=kt(c),y=h(d),v=function(t,e,n){if(re(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}(u,l,3),g=lt(y.length),b=0,x=s||ie,m=e?x(c,g):n?x(c,0):void 0;g>b;b++)if((a||b in y)&&(p=v(f=y[b],b,d),t))if(e)m[b]=p;else if(p)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:ae.call(m,f)}else if(o)return!1;return i?-1:r||o?o:m}},ue={forEach:ce(0),map:ce(1),filter:ce(2),some:ce(3),every:ce(4),find:ce(5),findIndex:ce(6)},le=ue.forEach,se=H("hidden"),fe=Xt("toPrimitive"),pe=tt.set,de=tt.getterFor("Symbol"),he=Object.prototype,ye=o.Symbol,ve=ot("JSON","stringify"),ge=j.f,be=I.f,xe=Ut.f,me=l.f,Se=B("symbols"),we=B("op-symbols"),Oe=B("string-to-symbol-registry"),Ee=B("symbol-to-string-registry"),Te=B("wks"),je=o.QObject,Pe=!je||!je.prototype||!je.prototype.findChild,Ae=a&&i((function(){return 7!=Vt(be({},"a",{get:function(){return be(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=ge(he,e);r&&delete he[e],be(t,e,n),r&&t!==he&&be(he,e,r)}:be,Ie=function(t,e){var n=Se[t]=Vt(ye.prototype);return pe(n,{type:"Symbol",tag:t,description:e}),a||(n.description=e),n},_e=Rt&&"symbol"==typeof ye.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof ye},Re=function(t,e,n){t===he&&Re(we,e,n),P(t);var r=b(e,!0);return P(n),m(Se,r)?(n.enumerable?(m(t,se)&&t[se][r]&&(t[se][r]=!1),n=Vt(n,{enumerable:s(0,!1)})):(m(t,se)||be(t,se,s(1,{})),t[se][r]=!0),Ae(t,r,n)):be(t,r,n)},Le=function(t,e){P(t);var n=v(e),r=Mt(n).concat($e(n));return le(r,(function(e){a&&!Ce.call(n,e)||Re(t,e,n[e])})),t},Ce=function(t){var e=b(t,!0),n=me.call(this,e);return!(this===he&&m(Se,e)&&!m(we,e))&&(!(n||!m(this,e)||!m(Se,e)||m(this,se)&&this[se][e])||n)},ke=function(t,e){var n=v(t),r=b(e,!0);if(n!==he||!m(Se,r)||m(we,r)){var o=ge(n,r);return!o||!m(Se,r)||m(n,se)&&n[se][r]||(o.enumerable=!0),o}},Me=function(t){var e=xe(v(t)),n=[];return le(e,(function(t){m(Se,t)||m(U,t)||n.push(t)})),n},$e=function(t){var e=t===he,n=xe(e?we:v(t)),r=[];return le(n,(function(t){!m(Se,t)||e&&!m(he,t)||r.push(Se[t])})),r};if(Rt||(et((ye=function(){if(this instanceof ye)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=q(t),n=function(t){this===he&&n.call(we,t),m(this,se)&&m(this[se],e)&&(this[se][e]=!1),Ae(this,e,s(1,t))};return a&&Pe&&Ae(he,e,{configurable:!0,set:n}),Ie(e,t)}).prototype,"toString",(function(){return de(this).tag})),l.f=Ce,I.f=Re,j.f=ke,bt.f=Ut.f=Me,xt.f=$e,a&&(be(ye.prototype,"description",{configurable:!0,get:function(){return de(this).description}}),et(he,"propertyIsEnumerable",Ce,{unsafe:!0}))),Lt||(Jt.f=function(t){return Ie(Xt(t),t)}),_t({global:!0,wrap:!0,forced:!Rt,sham:!Rt},{Symbol:ye}),le(Mt(Te),(function(t){Zt(t)})),_t({target:"Symbol",stat:!0,forced:!Rt},{for:function(t){var e=String(t);if(m(Oe,e))return Oe[e];var n=ye(e);return Oe[e]=n,Ee[n]=e,n},keyFor:function(t){if(!_e(t))throw TypeError(t+" is not a symbol");if(m(Ee,t))return Ee[t]},useSetter:function(){Pe=!0},useSimple:function(){Pe=!1}}),_t({target:"Object",stat:!0,forced:!Rt,sham:!a},{create:function(t,e){return void 0===e?Vt(t):Le(Vt(t),e)},defineProperty:Re,defineProperties:Le,getOwnPropertyDescriptor:ke}),_t({target:"Object",stat:!0,forced:!Rt},{getOwnPropertyNames:Me,getOwnPropertySymbols:$e}),_t({target:"Object",stat:!0,forced:i((function(){xt.f(1)}))},{getOwnPropertySymbols:function(t){return xt.f(kt(t))}}),ve){var De=!Rt||i((function(){var t=ye();return"[null]"!=ve([t])||"{}"!=ve({a:t})||"{}"!=ve(Object(t))}));_t({target:"JSON",stat:!0,forced:De},{stringify:function(t,e,n){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=e,(g(e)||void 0!==t)&&!_e(t))return Ct(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!_e(e))return e}),o[1]=e,ve.apply(null,o)}})}ye.prototype[fe]||_(ye.prototype,fe,ye.prototype.valueOf),ne(ye,"Symbol"),U[se]=!0;var Ne=I.f,Fe=o.Symbol;if(a&&"function"==typeof Fe&&(!("description"in Fe.prototype)||void 0!==Fe().description)){var Be={},Ge=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Ge?new Fe(t):void 0===t?Fe():Fe(t);return""===t&&(Be[e]=!0),e};St(Ge,Fe);var Ve=Ge.prototype=Fe.prototype;Ve.constructor=Ge;var qe=Ve.toString,ze="Symbol(test)"==String(Fe("test")),He=/^Symbol\((.*)\)[^)]+$/;Ne(Ve,"description",{configurable:!0,get:function(){var t=g(this)?this.valueOf():this,e=qe.call(t);if(m(Be,t))return"";var n=ze?e.slice(7,-1):e.replace(He,"$1");return""===n?void 0:n}}),_t({global:!0,forced:!0},{Symbol:Ge})}Zt("iterator");var Ue,We,Ke=function(t,e,n){var r=b(e);r in t?I.f(t,r,s(0,n)):t[r]=n},Ye=ot("navigator","userAgent")||"",Xe=o.process,Je=Xe&&Xe.versions,Qe=Je&&Je.v8;Qe?We=(Ue=Qe.split("."))[0]+Ue[1]:Ye&&(!(Ue=Ye.match(/Edge\/(\d+)/))||Ue[1]>=74)&&(Ue=Ye.match(/Chrome\/(\d+)/))&&(We=Ue[1]);var Ze=We&&+We,tn=Xt("species"),en=function(t){return Ze>=51||!i((function(){var e=[];return(e.constructor={})[tn]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},nn=Xt("isConcatSpreadable"),rn=Ze>=51||!i((function(){var t=[];return t[nn]=!1,t.concat()[0]!==t})),on=en("concat"),an=function(t){if(!g(t))return!1;var e=t[nn];return void 0!==e?!!e:Ct(t)};_t({target:"Array",proto:!0,forced:!rn||!on},{concat:function(t){var e,n,r,o,i,a=kt(this),c=ie(a,0),u=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?a:arguments[e],an(i)){if(u+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,u++)n in i&&Ke(c,u,i[n])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ke(c,u++,i)}return c.length=u,c}});var cn=Xt("unscopables"),un=Array.prototype;null==un[cn]&&I.f(un,cn,{configurable:!0,value:Vt(null)});var ln=function(t){un[cn][t]=!0},sn=ue.find,fn=!0;"find"in[]&&Array(1).find((function(){fn=!1})),_t({target:"Array",proto:!0,forced:fn},{find:function(t){return sn(this,t,arguments.length>1?arguments[1]:void 0)}}),ln("find");var pn,dn,hn,yn=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),vn=H("IE_PROTO"),gn=Object.prototype,bn=yn?Object.getPrototypeOf:function(t){return t=kt(t),m(t,vn)?t[vn]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?gn:null},xn=Xt("iterator"),mn=!1;[].keys&&("next"in(hn=[].keys())?(dn=bn(bn(hn)))!==Object.prototype&&(pn=dn):mn=!0),null==pn&&(pn={}),m(pn,xn)||_(pn,xn,(function(){return this}));var Sn={IteratorPrototype:pn,BUGGY_SAFARI_ITERATORS:mn},wn=Sn.IteratorPrototype,On=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return P(n),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),e?t.call(n,r):n.__proto__=r,n}}():void 0),En=Sn.IteratorPrototype,Tn=Sn.BUGGY_SAFARI_ITERATORS,jn=Xt("iterator"),Pn=function(){return this},An=function(t,e,n,r,o,i,a){!function(t,e,n){var r=e+" Iterator";t.prototype=Vt(wn,{next:s(1,n)}),ne(t,r,!1)}(n,e,r);var c,u,l,f=function(t){if(t===o&&v)return v;if(!Tn&&t in h)return h[t];switch(t){case"keys":case"values":case"entries":return function(){return new n(this,t)}}return function(){return new n(this)}},p=e+" Iterator",d=!1,h=t.prototype,y=h[jn]||h["@@iterator"]||o&&h[o],v=!Tn&&y||f(o),g="Array"==e&&h.entries||y;if(g&&(c=bn(g.call(new t)),En!==Object.prototype&&c.next&&(bn(c)!==En&&(On?On(c,En):"function"!=typeof c[jn]&&_(c,jn,Pn)),ne(c,p,!0))),"values"==o&&y&&"values"!==y.name&&(d=!0,v=function(){return y.call(this)}),h[jn]!==v&&_(h,jn,v),o)if(u={values:f("values"),keys:i?v:f("keys"),entries:f("entries")},a)for(l in u)!Tn&&!d&&l in h||et(h,l,u[l]);else _t({target:e,proto:!0,forced:Tn||d},u);return u},In=tt.set,_n=tt.getterFor("Array Iterator"),Rn=An(Array,"Array",(function(t,e){In(this,{type:"Array Iterator",target:v(t),index:0,kind:e})}),(function(){var t=_n(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values");ln("keys"),ln("values"),ln("entries");var Ln=function(t,e){var n=[][t];return!n||!i((function(){n.call(null,e||function(){throw 1},1)}))},Cn=[].join,kn=h!=Object,Mn=Ln("join",",");_t({target:"Array",proto:!0,forced:kn||Mn},{join:function(t){return Cn.call(v(this),void 0===t?",":t)}});var $n=ue.map,Dn=en("map"),Nn=Dn&&!i((function(){[].map.call({length:-1,0:1},(function(t){throw t}))}));_t({target:"Array",proto:!0,forced:!Dn||!Nn},{map:function(t){return $n(this,t,arguments.length>1?arguments[1]:void 0)}});var Fn=Xt("species"),Bn=[].slice,Gn=Math.max;_t({target:"Array",proto:!0,forced:!en("slice")},{slice:function(t,e){var n,r,o,i=v(this),a=lt(i.length),c=pt(t,a),u=pt(void 0===e?a:e,a);if(Ct(i)&&("function"!=typeof(n=i.constructor)||n!==Array&&!Ct(n.prototype)?g(n)&&null===(n=n[Fn])&&(n=void 0):n=void 0,n===Array||void 0===n))return Bn.call(i,c,u);for(r=new(void 0===n?Array:n)(Gn(u-c,0)),o=0;c<u;c++,o++)c in i&&Ke(r,o,i[c]);return r.length=o,r}});var Vn={};Vn[Xt("toStringTag")]="z";var qn="[object z]"===String(Vn),zn=Xt("toStringTag"),Hn="Arguments"==p(function(){return arguments}()),Un=qn?p:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),zn))?n:Hn?p(e):"Object"==(r=p(e))&&"function"==typeof e.callee?"Arguments":r},Wn=qn?{}.toString:function(){return"[object "+Un(this)+"]"};qn||et(Object.prototype,"toString",Wn,{unsafe:!0});var Kn=function(){var t=P(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Yn(t,e){return RegExp(t,e)}var Xn,Jn,Qn={UNSUPPORTED_Y:i((function(){var t=Yn("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Yn("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Zn=RegExp.prototype.exec,tr=String.prototype.replace,er=Zn,nr=(Xn=/a/,Jn=/b*/g,Zn.call(Xn,"a"),Zn.call(Jn,"a"),0!==Xn.lastIndex||0!==Jn.lastIndex),rr=Qn.UNSUPPORTED_Y||Qn.BROKEN_CARET,or=void 0!==/()??/.exec("")[1];(nr||or||rr)&&(er=function(t){var e,n,r,o,i=this,a=rr&&i.sticky,c=Kn.call(i),u=i.source,l=0,s=t;return a&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),s=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(u="(?: "+u+")",s=" "+s,l++),n=new RegExp("^(?:"+u+")",c)),or&&(n=new RegExp("^"+u+"$(?!\\s)",c)),nr&&(e=i.lastIndex),r=Zn.call(a?n:i,s),a?r?(r.input=r.input.slice(l),r[0]=r[0].slice(l),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:nr&&r&&(i.lastIndex=i.global?r.index+r[0].length:e),or&&r&&r.length>1&&tr.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var ir=er;_t({target:"RegExp",proto:!0,forced:/./.exec!==ir},{exec:ir});var ar=function(t){return function(e,n){var r,o,i=String(y(e)),a=ct(n),c=i.length;return a<0||a>=c?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===c||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},cr={codeAt:ar(!1),charAt:ar(!0)},ur=cr.charAt,lr=tt.set,sr=tt.getterFor("String Iterator");An(String,"String",(function(t){lr(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=sr(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=ur(n,r),e.index+=t.length,{value:t,done:!1})}));var fr=Xt("species"),pr=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),dr="$0"==="a".replace(/./,"$0"),hr=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),yr=function(t,e,n,r){var o=Xt(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),c=a&&!i((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[fr]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!a||!c||"replace"===t&&(!pr||!dr)||"split"===t&&!hr){var u=/./[o],l=n(o,""[t],(function(t,e,n,r,o){return e.exec===ir?a&&!o?{done:!0,value:u.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:dr}),s=l[0],f=l[1];et(String.prototype,t,s),et(RegExp.prototype,o,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}r&&_(RegExp.prototype[o],"sham",!0)},vr=cr.charAt,gr=function(t,e,n){return e+(n?vr(t,e).length:1)},br=function(t,e){var n=t.exec;if("function"==typeof n){var r=n.call(t,e);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return ir.call(t,e)},xr=Math.max,mr=Math.min,Sr=Math.floor,wr=/\$([$&'`]|\d\d?|<[^>]*>)/g,Or=/\$([$&'`]|\d\d?)/g;yr("replace",2,(function(t,e,n,r){return[function(n,r){var o=y(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,i){if(r.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=n(e,t,this,i);if(a.done)return a.value}var c=P(t),u=String(this),l="function"==typeof i;l||(i=String(i));var s=c.global;if(s){var f=c.unicode;c.lastIndex=0}for(var p=[];;){var d=br(c,u);if(null===d)break;if(p.push(d),!s)break;""===String(d[0])&&(c.lastIndex=gr(u,lt(c.lastIndex),f))}for(var h,y="",v=0,g=0;g<p.length;g++){d=p[g];for(var b=String(d[0]),x=xr(mr(ct(d.index),u.length),0),m=[],S=1;S<d.length;S++)m.push(void 0===(h=d[S])?h:String(h));var w=d.groups;if(l){var O=[b].concat(m,x,u);void 0!==w&&O.push(w);var E=String(i.apply(void 0,O))}else E=o(b,u,x,m,w,i);x>=v&&(y+=u.slice(v,x)+E,v=x+b.length)}return y+u.slice(v)}];function o(t,n,r,o,i,a){var c=r+t.length,u=o.length,l=Or;return void 0!==i&&(i=kt(i),l=wr),e.call(a,l,(function(e,a){var l;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(c);case"<":l=i[a.slice(1,-1)];break;default:var s=+a;if(0===s)return e;if(s>u){var f=Sr(s/10);return 0===f?e:f<=u?void 0===o[f-1]?a.charAt(1):o[f-1]+a.charAt(1):e}l=o[s-1]}return void 0===l?"":l}))}}));var Er=Xt("match"),Tr=Xt("species"),jr=[].push,Pr=Math.min,Ar=!i((function(){return!RegExp(4294967295,"y")}));yr("split",2,(function(t,e,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var r,o,i=String(y(this)),a=void 0===n?4294967295:n>>>0;if(0===a)return[];if(void 0===t)return[i];if(!g(r=t)||(void 0!==(o=r[Er])?!o:"RegExp"!=p(r)))return e.call(i,t,a);for(var c,u,l,s=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),d=0,h=new RegExp(t.source,f+"g");(c=ir.call(h,i))&&!((u=h.lastIndex)>d&&(s.push(i.slice(d,c.index)),c.length>1&&c.index<i.length&&jr.apply(s,c.slice(1)),l=c[0].length,d=u,s.length>=a));)h.lastIndex===c.index&&h.lastIndex++;return d===i.length?!l&&h.test("")||s.push(""):s.push(i.slice(d)),s.length>a?s.slice(0,a):s}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=y(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,n):r.call(String(o),e,n)},function(t,o){var i=n(r,t,this,o,r!==e);if(i.done)return i.value;var a=P(t),c=String(this),u=function(t,e){var n,r=P(t).constructor;return void 0===r||null==(n=P(r)[Tr])?e:re(n)}(a,RegExp),l=a.unicode,s=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Ar?"y":"g"),f=new u(Ar?a:"^(?:"+a.source+")",s),p=void 0===o?4294967295:o>>>0;if(0===p)return[];if(0===c.length)return null===br(f,c)?[c]:[];for(var d=0,h=0,y=[];h<c.length;){f.lastIndex=Ar?h:0;var v,g=br(f,Ar?c:c.slice(h));if(null===g||(v=Pr(lt(f.lastIndex+(Ar?0:h)),c.length))===d)h=gr(c,h,l);else{if(y.push(c.slice(d,h)),y.length===p)return y;for(var b=1;b<=g.length-1;b++)if(y.push(g[b]),y.length===p)return y;h=d=v}}return y.push(c.slice(d)),y}]}),!Ar);var Ir={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},_r=ue.forEach,Rr=Ln("forEach")?function(t){return _r(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;for(var Lr in Ir){var Cr=o[Lr],kr=Cr&&Cr.prototype;if(kr&&kr.forEach!==Rr)try{_(kr,"forEach",Rr)}catch(t){kr.forEach=Rr}}var Mr=Xt("iterator"),$r=Xt("toStringTag"),Dr=Rn.values;for(var Nr in Ir){var Fr=o[Nr],Br=Fr&&Fr.prototype;if(Br){if(Br[Mr]!==Dr)try{_(Br,Mr,Dr)}catch(t){Br[Mr]=Dr}if(Br[$r]||_(Br,$r,Nr),Ir[Nr])for(var Gr in Rn)if(Br[Gr]!==Rn[Gr])try{_(Br,Gr,Rn[Gr])}catch(t){Br[Gr]=Rn[Gr]}}}function Vr(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),Object.defineProperty(t,r.key,r)}}function qr(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function zr(t){return(zr=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Hr(t,e){return(Hr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Ur(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Wr(t,e,n){return(Wr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=zr(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}var Kr=t.fn.bootstrapTable.utils,Yr={json:"JSON",xml:"XML",png:"PNG",csv:"CSV",txt:"TXT",sql:"SQL",doc:"MS-Word",excel:"MS-Excel",xlsx:"MS-Excel (OpenXML)",powerpoint:"MS-Powerpoint",pdf:"PDF"};t.extend(t.fn.bootstrapTable.defaults,{showExport:!1,exportDataType:"basic",exportTypes:["json","xml","csv","txt","sql","excel"],exportOptions:{onCellHtmlData:function(t,e,n,r){return t.is("th")?t.find(".th-inner").text():r}},exportFooter:!1}),t.extend(t.fn.bootstrapTable.columnDefaults,{forceExport:!1}),t.extend(t.fn.bootstrapTable.defaults.icons,{export:{bootstrap3:"glyphicon-export icon-share",materialize:"file_download"}[t.fn.bootstrapTable.theme]||"fa-download"}),t.extend(t.fn.bootstrapTable.locales,{formatExport:function(){return"Export data"}}),t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales),t.fn.bootstrapTable.methods.push("exportTable"),t.extend(t.fn.bootstrapTable.defaults,{onExportSaved:function(t){return!1}}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"export-saved.bs.table":"onExportSaved"}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),Ur(this,zr(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Hr(t,e)}(n,e),r=n,(o=[{key:"initToolbar",value:function(){var e,r=this,o=this.options;this.showToolbar=this.showToolbar||o.showExport;for(var i=arguments.length,a=new Array(i),c=0;c<i;c++)a[c]=arguments[c];if((e=Wr(zr(n.prototype),"initToolbar",this)).call.apply(e,[this].concat(a)),this.options.showExport){var u=this.$toolbar.find(">.columns");if(this.$export=u.find("div.export"),this.$export.length)this.updateExportButton();else{var l=t(this.constants.html.toolbarDropdown.join("")),s=o.exportTypes;if("string"==typeof s){var f=s.slice(1,-1).replace(/ /g,"").split(",");s=f.map((function(t){return t.slice(1,-1)}))}this.$export=t(1===s.length?'\n      <div class="export '.concat(this.constants.classes.buttonsDropdown,'"\n      data-type="').concat(s[0],'">\n      <button class="').concat(this.constants.buttonsClass,'"\n      aria-label="Export"\n      type="button"\n      title="').concat(o.formatExport(),'">\n      ').concat(o.showButtonIcons?Kr.sprintf(this.constants.html.icon,o.iconsPrefix,o.icons.export):"","\n      ").concat(o.showButtonText?o.formatExport():"","\n      </button>\n      </div>\n    "):'\n      <div class="export '.concat(this.constants.classes.buttonsDropdown,'">\n      <button class="').concat(this.constants.buttonsClass,' dropdown-toggle"\n      aria-label="Export"\n      data-toggle="dropdown"\n      type="button"\n      title="').concat(o.formatExport(),'">\n      ').concat(o.showButtonIcons?Kr.sprintf(this.constants.html.icon,o.iconsPrefix,o.icons.export):"","\n      ").concat(o.showButtonText?o.formatExport():"","\n      ").concat(this.constants.html.dropdownCaret,"\n      </button>\n      </div>\n    ")).appendTo(u);var p=this.$export;if(s.length>1){this.$export.append(l),l.children().length&&(l=l.children().eq(0));var d=!0,h=!1,y=void 0;try{for(var v,g=s[Symbol.iterator]();!(d=(v=g.next()).done);d=!0){var b=v.value;if(Yr.hasOwnProperty(b)){var x=t(Kr.sprintf(this.constants.html.pageDropdownItem,"",Yr[b]));x.attr("data-type",b),l.append(x)}}}catch(t){h=!0,y=t}finally{try{d||null==g.return||g.return()}finally{if(h)throw y}}p=l.children()}this.updateExportButton(),p.click((function(e){e.preventDefault();var n={type:t(e.currentTarget).data("type"),escape:!1};r.exportTable(n)})),this.handleToolbar()}}}},{key:"handleToolbar",value:function(){this.$export&&("foundation"===t.fn.bootstrapTable.theme?this.$export.find(".dropdown-pane").attr("id","toolbar-export-id"):"materialize"===t.fn.bootstrapTable.theme&&this.$export.find(".dropdown-content").attr("id","toolbar-export-id"),Wr(zr(n.prototype),"handleToolbar",this)&&Wr(zr(n.prototype),"handleToolbar",this).call(this))}},{key:"exportTable",value:function(e){var n=this,r=this.options,o=this.header.stateField,i=r.cardView,a=function(a){o&&n.hideColumn(o),i&&n.toggleView();var c=n.getData();if(r.exportFooter){var u=n.$tableFooter.find("tr").first(),l={},s=[];t.each(u.children(),(function(e,r){var o=t(r).children(".th-inner").first().html();l[n.columns[e].field]="&nbsp;"===o?null:o,s.push(o)})),n.$body.append(n.$body.children().last()[0].outerHTML);var f=n.$body.children().last();t.each(f.children(),(function(e,n){t(n).html(s[e])}))}var p=n.getHiddenColumns();p.forEach((function(t){t.forceExport&&n.showColumn(t.field)})),"function"==typeof r.exportOptions.fileName&&(e.fileName=r.exportOptions.fileName()),n.$el.tableExport(t.extend({onAfterSaveToFile:function(){r.exportFooter&&n.load(c),o&&n.showColumn(o),i&&n.toggleView(),p.forEach((function(t){t.forceExport&&n.hideColumn(t.field)})),a&&a()}},r.exportOptions,e))};if("all"===r.exportDataType&&r.pagination){var c="server"===r.sidePagination?"post-body.bs.table":"page-change.bs.table",u=this.options.virtualScroll;this.$el.one(c,(function(){a((function(){n.options.virtualScroll=u,n.togglePagination()}))})),this.options.virtualScroll=!1,this.togglePagination(),this.trigger("export-saved",this.getData())}else if("selected"===r.exportDataType){var l=this.getData(),s=this.getSelections();if(!s.length)return;"server"===r.sidePagination&&(l=qr({total:r.totalRows},this.options.dataField,l),s=qr({total:s.length},this.options.dataField,s)),this.load(s),a((function(){n.load(l)})),this.trigger("export-saved",s)}else a(),this.trigger("export-saved",this.getData(!0))}},{key:"updateSelected",value:function(){Wr(zr(n.prototype),"updateSelected",this).call(this),this.updateExportButton()}},{key:"updateExportButton",value:function(){"selected"===this.options.exportDataType&&this.$export.find("> button").prop("disabled",!this.getSelections().length)}}])&&Vr(r.prototype,o),i&&Vr(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css b/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css
deleted file mode 100644
index 012d6bd..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.css
+++ /dev/null
@@ -1,13 +0,0 @@
-@charset "UTF-8";
-/**
- * @author: Dennis Hernández
- * @webSite: http://djhvscf.github.io/Blog
- * @version: v2.1.1
- */
-.no-filter-control {
-  height: 34px;
-}
-
-.filter-control {
-  margin: 0 2px 2px 2px;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js b/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js
deleted file mode 100644
index caaa652..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js
+++ /dev/null
@@ -1,2831 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var $includes = arrayIncludes.includes;
-
-
-	// `Array.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	_export({ target: 'Array', proto: true }, {
-	  includes: function includes(el /* , fromIndex = 0 */) {
-	    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('includes');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD$1 }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var test = [];
-	var nativeSort = test.sort;
-
-	// IE8-
-	var FAILS_ON_UNDEFINED = fails(function () {
-	  test.sort(undefined);
-	});
-	// V8 bug
-	var FAILS_ON_NULL = fails(function () {
-	  test.sort(null);
-	});
-	// Old WebKit
-	var SLOPPY_METHOD$2 = sloppyArrayMethod('sort');
-
-	var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD$2;
-
-	// `Array.prototype.sort` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.sort
-	_export({ target: 'Array', proto: true, forced: FORCED$1 }, {
-	  sort: function sort(comparefn) {
-	    return comparefn === undefined
-	      ? nativeSort.call(toObject(this))
-	      : nativeSort.call(toObject(this), aFunction$1(comparefn));
-	  }
-	});
-
-	var FAILS_ON_PRIMITIVES = fails(function () { objectKeys(1); });
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	_export({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
-	  keys: function keys(it) {
-	    return objectKeys(toObject(it));
-	  }
-	});
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-	var test$1 = {};
-
-	test$1[TO_STRING_TAG] = 'z';
-
-	var toStringTagSupport = String(test$1) === '[object z]';
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$2 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$2(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$2(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$2(3)
-	};
-
-	var trim = stringTrim.trim;
-
-
-	var nativeParseInt = global_1.parseInt;
-	var hex = /^[+-]?0[Xx]/;
-	var FORCED$2 = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	var _parseInt = FORCED$2 ? function parseInt(string, radix) {
-	  var S = trim(String(string));
-	  return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
-	} : nativeParseInt;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	_export({ global: true, forced: parseInt != _parseInt }, {
-	  parseInt: _parseInt
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var TO_STRING = 'toString';
-	var RegExpPrototype = RegExp.prototype;
-	var nativeToString = RegExpPrototype[TO_STRING];
-
-	var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
-	// FF44- RegExp#toString has a wrong name
-	var INCORRECT_NAME = nativeToString.name != TO_STRING;
-
-	// `RegExp.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
-	if (NOT_GENERIC || INCORRECT_NAME) {
-	  redefine(RegExp.prototype, TO_STRING, function toString() {
-	    var R = anObject(this);
-	    var p = String(R.source);
-	    var rf = R.flags;
-	    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
-	    return '/' + p + '/' + f;
-	  }, { unsafe: true });
-	}
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var notARegexp = function (it) {
-	  if (isRegexp(it)) {
-	    throw TypeError("The method doesn't accept regular expressions");
-	  } return it;
-	};
-
-	var MATCH$1 = wellKnownSymbol('match');
-
-	var correctIsRegexpLogic = function (METHOD_NAME) {
-	  var regexp = /./;
-	  try {
-	    '/./'[METHOD_NAME](regexp);
-	  } catch (e) {
-	    try {
-	      regexp[MATCH$1] = false;
-	      return '/./'[METHOD_NAME](regexp);
-	    } catch (f) { /* empty */ }
-	  } return false;
-	};
-
-	// `String.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.includes
-	_export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
-	  includes: function includes(searchString /* , position = 0 */) {
-	    return !!~String(requireObjectCoercible(this))
-	      .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$3 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$3(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$3(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	// @@match logic
-	fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
-	  return [
-	    // `String.prototype.match` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.match
-	    function match(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var matcher = regexp == undefined ? undefined : regexp[MATCH];
-	      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
-	    },
-	    // `RegExp.prototype[@@match]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
-	    function (regexp) {
-	      var res = maybeCallNative(nativeMatch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      if (!rx.global) return regexpExecAbstract(rx, S);
-
-	      var fullUnicode = rx.unicode;
-	      rx.lastIndex = 0;
-	      var A = [];
-	      var n = 0;
-	      var result;
-	      while ((result = regexpExecAbstract(rx, S)) !== null) {
-	        var matchStr = String(result[0]);
-	        A[n] = matchStr;
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	        n++;
-	      }
-	      return n === 0 ? null : A;
-	    }
-	  ];
-	});
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$1(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	// `SpeciesConstructor` abstract operation
-	// https://tc39.github.io/ecma262/#sec-speciesconstructor
-	var speciesConstructor = function (O, defaultConstructor) {
-	  var C = anObject(O).constructor;
-	  var S;
-	  return C === undefined || (S = anObject(C)[SPECIES$3]) == undefined ? defaultConstructor : aFunction$1(S);
-	};
-
-	var arrayPush = [].push;
-	var min$3 = Math.min;
-	var MAX_UINT32 = 0xFFFFFFFF;
-
-	// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-	var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
-
-	// @@split logic
-	fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
-	  var internalSplit;
-	  if (
-	    'abbc'.split(/(b)*/)[1] == 'c' ||
-	    'test'.split(/(?:)/, -1).length != 4 ||
-	    'ab'.split(/(?:ab)*/).length != 2 ||
-	    '.'.split(/(.?)(.?)/).length != 4 ||
-	    '.'.split(/()()/).length > 1 ||
-	    ''.split(/.?/).length
-	  ) {
-	    // based on es5-shim implementation, need to rework it
-	    internalSplit = function (separator, limit) {
-	      var string = String(requireObjectCoercible(this));
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (separator === undefined) return [string];
-	      // If `separator` is not a regex, use native split
-	      if (!isRegexp(separator)) {
-	        return nativeSplit.call(string, separator, lim);
-	      }
-	      var output = [];
-	      var flags = (separator.ignoreCase ? 'i' : '') +
-	                  (separator.multiline ? 'm' : '') +
-	                  (separator.unicode ? 'u' : '') +
-	                  (separator.sticky ? 'y' : '');
-	      var lastLastIndex = 0;
-	      // Make `global` and avoid `lastIndex` issues by working with a copy
-	      var separatorCopy = new RegExp(separator.source, flags + 'g');
-	      var match, lastIndex, lastLength;
-	      while (match = regexpExec.call(separatorCopy, string)) {
-	        lastIndex = separatorCopy.lastIndex;
-	        if (lastIndex > lastLastIndex) {
-	          output.push(string.slice(lastLastIndex, match.index));
-	          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
-	          lastLength = match[0].length;
-	          lastLastIndex = lastIndex;
-	          if (output.length >= lim) break;
-	        }
-	        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
-	      }
-	      if (lastLastIndex === string.length) {
-	        if (lastLength || !separatorCopy.test('')) output.push('');
-	      } else output.push(string.slice(lastLastIndex));
-	      return output.length > lim ? output.slice(0, lim) : output;
-	    };
-	  // Chakra, V8
-	  } else if ('0'.split(undefined, 0).length) {
-	    internalSplit = function (separator, limit) {
-	      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
-	    };
-	  } else internalSplit = nativeSplit;
-
-	  return [
-	    // `String.prototype.split` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.split
-	    function split(separator, limit) {
-	      var O = requireObjectCoercible(this);
-	      var splitter = separator == undefined ? undefined : separator[SPLIT];
-	      return splitter !== undefined
-	        ? splitter.call(separator, O, limit)
-	        : internalSplit.call(String(O), separator, limit);
-	    },
-	    // `RegExp.prototype[@@split]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
-	    //
-	    // NOTE: This cannot be properly polyfilled in engines that don't support
-	    // the 'y' flag.
-	    function (regexp, limit) {
-	      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-	      var C = speciesConstructor(rx, RegExp);
-
-	      var unicodeMatching = rx.unicode;
-	      var flags = (rx.ignoreCase ? 'i' : '') +
-	                  (rx.multiline ? 'm' : '') +
-	                  (rx.unicode ? 'u' : '') +
-	                  (SUPPORTS_Y ? 'y' : 'g');
-
-	      // ^(? + rx + ) is needed, in combination with some S slicing, to
-	      // simulate the 'y' flag.
-	      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
-	      var p = 0;
-	      var q = 0;
-	      var A = [];
-	      while (q < S.length) {
-	        splitter.lastIndex = SUPPORTS_Y ? q : 0;
-	        var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
-	        var e;
-	        if (
-	          z === null ||
-	          (e = min$3(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
-	        ) {
-	          q = advanceStringIndex(S, q, unicodeMatching);
-	        } else {
-	          A.push(S.slice(p, q));
-	          if (A.length === lim) return A;
-	          for (var i = 1; i <= z.length - 1; i++) {
-	            A.push(z[i]);
-	            if (A.length === lim) return A;
-	          }
-	          q = p = e;
-	        }
-	      }
-	      A.push(S.slice(p));
-	      return A;
-	    }
-	  ];
-	}, !SUPPORTS_Y);
-
-	var non = '\u200B\u0085\u180E';
-
-	// check that a method works with the correct list
-	// of whitespaces and has a correct name
-	var forcedStringTrimMethod = function (METHOD_NAME) {
-	  return fails(function () {
-	    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
-	  });
-	};
-
-	var $trim = stringTrim.trim;
-
-
-	// `String.prototype.trim` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	_export({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
-	  trim: function trim() {
-	    return $trim(this);
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-
-	// `Array.prototype.forEach` method implementation
-	// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
-	  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	} : [].forEach;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  // some Chrome versions have non-configurable methods on DOMTokenList
-	  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
-	    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
-	  } catch (error) {
-	    CollectionPrototype.forEach = arrayForEach;
-	  }
-	}
-
-	function _typeof(obj) {
-	  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
-	    _typeof = function (obj) {
-	      return typeof obj;
-	    };
-	  } else {
-	    _typeof = function (obj) {
-	      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
-	    };
-	  }
-
-	  return _typeof(obj);
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @version: v2.2.0
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	var UtilsFilterControl = {
-	  getOptionsFromSelectControl: function getOptionsFromSelectControl(selectControl) {
-	    return selectControl.get(selectControl.length - 1).options;
-	  },
-	  getControlContainer: function getControlContainer() {
-	    if (UtilsFilterControl.bootstrapTableInstance.options.filterControlContainer) {
-	      return $("".concat(UtilsFilterControl.bootstrapTableInstance.options.filterControlContainer));
-	    }
-
-	    return UtilsFilterControl.getCurrentHeader(UtilsFilterControl.bootstrapTableInstance);
-	  },
-	  getSearchControls: function getSearchControls(scope) {
-	    var header = UtilsFilterControl.getControlContainer();
-	    var searchControls = UtilsFilterControl.getCurrentSearchControls(scope);
-	    return header.find(searchControls);
-	  },
-	  hideUnusedSelectOptions: function hideUnusedSelectOptions(selectControl, uniqueValues) {
-	    var options = UtilsFilterControl.getOptionsFromSelectControl(selectControl);
-
-	    for (var i = 0; i < options.length; i++) {
-	      if (options[i].value !== '') {
-	        if (!uniqueValues.hasOwnProperty(options[i].value)) {
-	          selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).hide();
-	        } else {
-	          selectControl.find(Utils.sprintf('option[value=\'%s\']', options[i].value)).show();
-	        }
-	      }
-	    }
-	  },
-	  addOptionToSelectControl: function addOptionToSelectControl(selectControl, _value, text, selected) {
-	    var value = $.trim(_value);
-	    var $selectControl = $(selectControl.get(selectControl.length - 1));
-
-	    if (!UtilsFilterControl.existOptionInSelectControl(selectControl, value)) {
-	      var option = $("<option value=\"".concat(value, "\">").concat(text, "</option>"));
-
-	      if (value === selected) {
-	        option.attr('selected', true);
-	      }
-
-	      $selectControl.append(option);
-	    }
-	  },
-	  sortSelectControl: function sortSelectControl(selectControl, orderBy) {
-	    var $selectControl = $(selectControl.get(selectControl.length - 1));
-	    var $opts = $selectControl.find('option:gt(0)');
-	    $opts.sort(function (a, b) {
-	      return Utils.sort(a.textContent, b.textContent, orderBy === 'desc' ? -1 : 1);
-	    });
-	    $selectControl.find('option:gt(0)').remove();
-	    $selectControl.append($opts);
-	  },
-	  existOptionInSelectControl: function existOptionInSelectControl(selectControl, value) {
-	    var options = UtilsFilterControl.getOptionsFromSelectControl(selectControl);
-
-	    for (var i = 0; i < options.length; i++) {
-	      if (options[i].value === value.toString()) {
-	        // The value is not valid to add
-	        return true;
-	      }
-	    } // If we get here, the value is valid to add
-
-
-	    return false;
-	  },
-	  fixHeaderCSS: function fixHeaderCSS(_ref) {
-	    var $tableHeader = _ref.$tableHeader;
-	    $tableHeader.css('height', '77px');
-	  },
-	  getCurrentHeader: function getCurrentHeader(_ref2) {
-	    var $header = _ref2.$header,
-	        options = _ref2.options,
-	        $tableHeader = _ref2.$tableHeader;
-	    var header = $header;
-
-	    if (options.height) {
-	      header = $tableHeader;
-	    }
-
-	    return header;
-	  },
-	  getCurrentSearchControls: function getCurrentSearchControls(_ref3) {
-	    var options = _ref3.options;
-	    var searchControls = 'select, input';
-
-	    if (options.height) {
-	      searchControls = 'table select, table input';
-	    }
-
-	    return searchControls;
-	  },
-	  getCursorPosition: function getCursorPosition(el) {
-	    if (Utils.isIEBrowser()) {
-	      if ($(el).is('input[type=text]')) {
-	        var pos = 0;
-
-	        if ('selectionStart' in el) {
-	          pos = el.selectionStart;
-	        } else if ('selection' in document) {
-	          el.focus();
-	          var Sel = document.selection.createRange();
-	          var SelLength = document.selection.createRange().text.length;
-	          Sel.moveStart('character', -el.value.length);
-	          pos = Sel.text.length - SelLength;
-	        }
-
-	        return pos;
-	      }
-
-	      return -1;
-	    }
-
-	    return -1;
-	  },
-	  setCursorPosition: function setCursorPosition(el) {
-	    $(el).val(el.value);
-	  },
-	  copyValues: function copyValues(that) {
-	    var searchControls = UtilsFilterControl.getSearchControls(that);
-	    that.options.valuesFilterControl = [];
-	    searchControls.each(function () {
-	      that.options.valuesFilterControl.push({
-	        field: $(this).closest('[data-field]').data('field'),
-	        value: $(this).val(),
-	        position: UtilsFilterControl.getCursorPosition($(this).get(0)),
-	        hasFocus: $(this).is(':focus')
-	      });
-	    });
-	  },
-	  setValues: function setValues(that) {
-	    var field = null;
-	    var result = [];
-	    var searchControls = UtilsFilterControl.getSearchControls(that);
-
-	    if (that.options.valuesFilterControl.length > 0) {
-	      //  Callback to apply after settings fields values
-	      var fieldToFocusCallback = null;
-	      searchControls.each(function (index, ele) {
-	        field = $(this).closest('[data-field]').data('field');
-	        result = that.options.valuesFilterControl.filter(function (valueObj) {
-	          return valueObj.field === field;
-	        });
-
-	        if (result.length > 0) {
-	          $(this).val(result[0].value);
-
-	          if (result[0].hasFocus && result[0].value !== '') {
-	            // set callback if the field had the focus.
-	            fieldToFocusCallback = function (fieldToFocus, carretPosition) {
-	              // Closure here to capture the field and cursor position
-	              var closedCallback = function closedCallback() {
-	                fieldToFocus.focus();
-	                UtilsFilterControl.setCursorPosition(fieldToFocus, carretPosition);
-	              };
-
-	              return closedCallback;
-	            }($(this).get(0), result[0].position);
-	          }
-	        }
-	      }); // Callback call.
-
-	      if (fieldToFocusCallback !== null) {
-	        fieldToFocusCallback();
-	      }
-	    }
-	  },
-	  collectBootstrapCookies: function collectBootstrapCookies() {
-	    var cookies = [];
-	    var foundCookies = document.cookie.match(/(?:bs.table.)(\w*)/g);
-	    var foundLocalStorage = localStorage;
-
-	    if (foundCookies) {
-	      $.each(foundCookies, function (i, _cookie) {
-	        var cookie = _cookie;
-
-	        if (/./.test(cookie)) {
-	          cookie = cookie.split('.').pop();
-	        }
-
-	        if ($.inArray(cookie, cookies) === -1) {
-	          cookies.push(cookie);
-	        }
-	      });
-	    }
-
-	    if (foundLocalStorage) {
-	      for (var i = 0; i < foundLocalStorage.length; i++) {
-	        var cookie = foundLocalStorage.key(i);
-
-	        if (/./.test(cookie)) {
-	          cookie = cookie.split('.').pop();
-	        }
-
-	        if (!cookies.includes(cookie)) {
-	          cookies.push(cookie);
-	        }
-	      }
-	    }
-
-	    return cookies;
-	  },
-	  escapeID: function escapeID(id) {
-	    // eslint-disable-next-line no-useless-escape
-	    return String(id).replace(/([:.\[\],])/g, '\\$1');
-	  },
-	  isColumnSearchableViaSelect: function isColumnSearchableViaSelect(_ref4) {
-	    var filterControl = _ref4.filterControl,
-	        searchable = _ref4.searchable;
-	    return filterControl && filterControl.toLowerCase() === 'select' && searchable;
-	  },
-	  isFilterDataNotGiven: function isFilterDataNotGiven(_ref5) {
-	    var filterData = _ref5.filterData;
-	    return filterData === undefined || filterData.toLowerCase() === 'column';
-	  },
-	  hasSelectControlElement: function hasSelectControlElement(selectControl) {
-	    return selectControl && selectControl.length > 0;
-	  },
-	  initFilterSelectControls: function initFilterSelectControls(that) {
-	    var data = that.data;
-	    var z = that.options.pagination ? that.options.sidePagination === 'server' ? that.pageTo : that.options.totalRows : that.pageTo;
-	    $.each(that.header.fields, function (j, field) {
-	      var column = that.columns[that.fieldsColumnsIndex[field]];
-	      var selectControl = UtilsFilterControl.getControlContainer().find(".bootstrap-table-filter-control-".concat(UtilsFilterControl.escapeID(column.field)));
-
-	      if (UtilsFilterControl.isColumnSearchableViaSelect(column) && UtilsFilterControl.isFilterDataNotGiven(column) && UtilsFilterControl.hasSelectControlElement(selectControl)) {
-	        if (selectControl.get(selectControl.length - 1).options.length === 0) {
-	          // Added the default option
-	          UtilsFilterControl.addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault);
-	        }
-
-	        var uniqueValues = {};
-
-	        for (var i = 0; i < z; i++) {
-	          // Added a new value
-	          var fieldValue = data[i][field];
-	          var formatter = that.options.editable && column.editable ? column._formatter : that.header.formatters[j];
-	          var formattedValue = Utils.calculateObjectValue(that.header, formatter, [fieldValue, data[i], i], fieldValue);
-
-	          if (column.filterDataCollector) {
-	            formattedValue = Utils.calculateObjectValue(that.header, column.filterDataCollector, [fieldValue, data[i], formattedValue], formattedValue);
-	          }
-
-	          uniqueValues[formattedValue] = fieldValue;
-
-	          if (_typeof(formattedValue) === 'object' && formattedValue !== null) {
-	            formattedValue.forEach(function (value) {
-	              UtilsFilterControl.addOptionToSelectControl(selectControl, value, value, column.filterDefault);
-	            });
-	            continue;
-	          }
-
-	          UtilsFilterControl.addOptionToSelectControl(selectControl, formattedValue, formattedValue, column.filterDefault);
-	        }
-
-	        UtilsFilterControl.sortSelectControl(selectControl, column.filterOrderBy);
-
-	        if (that.options.hideUnusedSelectOptions) {
-	          UtilsFilterControl.hideUnusedSelectOptions(selectControl, uniqueValues);
-	        }
-	      }
-	    });
-	    that.trigger('created-controls');
-	  },
-	  getFilterDataMethod: function getFilterDataMethod(objFilterDataMethod, searchTerm) {
-	    var keys = Object.keys(objFilterDataMethod);
-
-	    for (var i = 0; i < keys.length; i++) {
-	      if (keys[i] === searchTerm) {
-	        return objFilterDataMethod[searchTerm];
-	      }
-	    }
-
-	    return null;
-	  },
-	  createControls: function createControls(that, header) {
-	    var addedFilterControl = false;
-	    var html;
-	    $.each(that.columns, function (i, column) {
-	      html = [];
-
-	      if (!column.visible) {
-	        return;
-	      }
-
-	      if (!column.filterControl && !that.options.filterControlContainer) {
-	        html.push('<div class="no-filter-control"></div>');
-	      } else if (that.options.filterControlContainer) {
-	        var $filterControl = $(".bootstrap-table-filter-control-".concat(column.field));
-	        var placeholder = column.filterControlPlaceholder ? column.filterControlPlaceholder : '';
-	        $filterControl.attr('placeholder', placeholder);
-	        $filterControl.val(column.filterDefault);
-	        $filterControl.attr('data-field', column.field);
-	        addedFilterControl = true;
-	      } else {
-	        var nameControl = column.filterControl.toLowerCase();
-	        html.push('<div class="filter-control">');
-	        addedFilterControl = true;
-
-	        if (column.searchable && that.options.filterTemplate[nameControl]) {
-	          html.push(that.options.filterTemplate[nameControl](that, column.field, column.filterControlPlaceholder ? column.filterControlPlaceholder : '', column.filterDefault));
-	        }
-	      }
-
-	      if (!column.filterControl && '' !== column.filterDefault && 'undefined' !== typeof column.filterDefault) {
-	        if ($.isEmptyObject(that.filterColumnsPartial)) {
-	          that.filterColumnsPartial = {};
-	        }
-
-	        that.filterColumnsPartial[column.field] = column.filterDefault;
-	      }
-
-	      $.each(header.children().children(), function (i, tr) {
-	        var $tr = $(tr);
-
-	        if ($tr.data('field') === column.field) {
-	          $tr.find('.fht-cell').append(html.join(''));
-	          return false;
-	        }
-	      });
-
-	      if (column.filterData !== undefined && column.filterData.toLowerCase() !== 'column') {
-	        var filterDataType = UtilsFilterControl.getFilterDataMethod(
-	        /* eslint-disable no-use-before-define */
-	        filterDataMethods, column.filterData.substring(0, column.filterData.indexOf(':')));
-	        var filterDataSource;
-	        var selectControl;
-
-	        if (filterDataType !== null) {
-	          filterDataSource = column.filterData.substring(column.filterData.indexOf(':') + 1, column.filterData.length);
-	          selectControl = UtilsFilterControl.getControlContainer().find(".bootstrap-table-filter-control-".concat(UtilsFilterControl.escapeID(column.field)));
-	          UtilsFilterControl.addOptionToSelectControl(selectControl, '', column.filterControlPlaceholder, column.filterDefault);
-	          filterDataType(filterDataSource, selectControl, that.options.filterOrderBy, column.filterDefault);
-	        } else {
-	          throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, obj, json, url, func.' + ' Use like this: var: {key: "value"}');
-	        }
-	      }
-	    });
-
-	    if (addedFilterControl) {
-	      UtilsFilterControl.getControlContainer().off('keyup', 'input').on('keyup', 'input', function (_ref6, obj) {
-	        var currentTarget = _ref6.currentTarget,
-	            keyCode = _ref6.keyCode;
-	        // Simulate enter key action from clear button
-	        keyCode = obj ? obj.keyCode : keyCode;
-
-	        if (that.options.searchOnEnterKey && keyCode !== 13) {
-	          return;
-	        }
-
-	        if ($.inArray(keyCode, [37, 38, 39, 40]) > -1) {
-	          return;
-	        }
-
-	        var $currentTarget = $(currentTarget);
-
-	        if ($currentTarget.is(':checkbox') || $currentTarget.is(':radio')) {
-	          return;
-	        }
-
-	        clearTimeout(currentTarget.timeoutId || 0);
-	        currentTarget.timeoutId = setTimeout(function () {
-	          that.onColumnSearch({
-	            currentTarget: currentTarget,
-	            keyCode: keyCode
-	          });
-	        }, that.options.searchTimeOut);
-	      });
-	      UtilsFilterControl.getControlContainer().off('change', 'select').on('change', 'select', function (_ref7) {
-	        var currentTarget = _ref7.currentTarget,
-	            keyCode = _ref7.keyCode;
-
-	        if (that.options.searchOnEnterKey && keyCode !== 13) {
-	          return;
-	        }
-
-	        if ($.inArray(keyCode, [37, 38, 39, 40]) > -1) {
-	          return;
-	        }
-
-	        var $select = $(currentTarget);
-	        var value = $select.val();
-
-	        if ($.trim(value)) {
-	          $select.find('option[selected]').removeAttr('selected');
-	          $select.find('option[value="' + value + '"]').attr('selected', true);
-	        } else {
-	          $select.find('option[selected]').removeAttr('selected');
-	        }
-
-	        clearTimeout(currentTarget.timeoutId || 0);
-	        currentTarget.timeoutId = setTimeout(function () {
-	          that.onColumnSearch({
-	            currentTarget: currentTarget,
-	            keyCode: keyCode
-	          });
-	        }, that.options.searchTimeOut);
-	      });
-	      header.off('mouseup', 'input').on('mouseup', 'input', function (_ref8) {
-	        var currentTarget = _ref8.currentTarget,
-	            keyCode = _ref8.keyCode;
-	        var $input = $(currentTarget);
-	        var oldValue = $input.val();
-
-	        if (oldValue === '') {
-	          return;
-	        }
-
-	        setTimeout(function () {
-	          var newValue = $input.val();
-
-	          if (newValue === '') {
-	            clearTimeout(currentTarget.timeoutId || 0);
-	            currentTarget.timeoutId = setTimeout(function () {
-	              that.onColumnSearch({
-	                currentTarget: currentTarget,
-	                keyCode: keyCode
-	              });
-	            }, that.options.searchTimeOut);
-	          }
-	        }, 1);
-	      });
-
-	      if (UtilsFilterControl.getControlContainer().find('.date-filter-control').length > 0) {
-	        $.each(that.columns, function (i, _ref9) {
-	          var filterControl = _ref9.filterControl,
-	              field = _ref9.field,
-	              filterDatepickerOptions = _ref9.filterDatepickerOptions;
-
-	          if (filterControl !== undefined && filterControl.toLowerCase() === 'datepicker') {
-	            UtilsFilterControl.getControlContainer().find(".date-filter-control.bootstrap-table-filter-control-".concat(field)).datepicker(filterDatepickerOptions).on('changeDate', function (_ref10) {
-	              var currentTarget = _ref10.currentTarget,
-	                  keyCode = _ref10.keyCode;
-	              clearTimeout(currentTarget.timeoutId || 0);
-	              currentTarget.timeoutId = setTimeout(function () {
-	                that.onColumnSearch({
-	                  currentTarget: currentTarget,
-	                  keyCode: keyCode
-	                });
-	              }, that.options.searchTimeOut);
-	            });
-	          }
-	        });
-	      }
-
-	      if (that.options.sidePagination !== 'server') {
-	        that.triggerSearch();
-	      }
-	    } else {
-	      UtilsFilterControl.getControlContainer().find('.filterControl').hide();
-	    }
-	  },
-	  getDirectionOfSelectOptions: function getDirectionOfSelectOptions(_alignment) {
-	    var alignment = _alignment === undefined ? 'left' : _alignment.toLowerCase();
-
-	    switch (alignment) {
-	      case 'left':
-	        return 'ltr';
-
-	      case 'right':
-	        return 'rtl';
-
-	      case 'auto':
-	        return 'auto';
-
-	      default:
-	        return 'ltr';
-	    }
-	  }
-	};
-	var filterDataMethods = {
-	  func: function func(filterDataSource, selectControl, filterOrderBy, selected) {
-	    var variableValues = window[filterDataSource].apply();
-
-	    for (var key in variableValues) {
-	      UtilsFilterControl.addOptionToSelectControl(selectControl, key, variableValues[key], selected);
-	    }
-
-	    UtilsFilterControl.sortSelectControl(selectControl, filterOrderBy);
-	  },
-	  obj: function obj(filterDataSource, selectControl, filterOrderBy, selected) {
-	    var objectKeys = filterDataSource.split('.');
-	    var variableName = objectKeys.shift();
-	    var variableValues = window[variableName];
-
-	    if (objectKeys.length > 0) {
-	      objectKeys.forEach(function (key) {
-	        variableValues = variableValues[key];
-	      });
-	    }
-
-	    for (var key in variableValues) {
-	      UtilsFilterControl.addOptionToSelectControl(selectControl, key, variableValues[key], selected);
-	    }
-
-	    UtilsFilterControl.sortSelectControl(selectControl, filterOrderBy);
-	  },
-	  var: function _var(filterDataSource, selectControl, filterOrderBy, selected) {
-	    var variableValues = window[filterDataSource];
-
-	    for (var key in variableValues) {
-	      UtilsFilterControl.addOptionToSelectControl(selectControl, key, variableValues[key], selected);
-	    }
-
-	    UtilsFilterControl.sortSelectControl(selectControl, filterOrderBy);
-	  },
-	  url: function url(filterDataSource, selectControl, filterOrderBy, selected) {
-	    $.ajax({
-	      url: filterDataSource,
-	      dataType: 'json',
-	      success: function success(data) {
-	        for (var key in data) {
-	          UtilsFilterControl.addOptionToSelectControl(selectControl, key, data[key], selected);
-	        }
-
-	        UtilsFilterControl.sortSelectControl(selectControl, filterOrderBy);
-	      }
-	    });
-	  },
-	  json: function json(filterDataSource, selectControl, filterOrderBy, selected) {
-	    var variableValues = JSON.parse(filterDataSource);
-
-	    for (var key in variableValues) {
-	      UtilsFilterControl.addOptionToSelectControl(selectControl, key, variableValues[key], selected);
-	    }
-
-	    UtilsFilterControl.sortSelectControl(selectControl, filterOrderBy);
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, {
-	  filterControl: false,
-	  onColumnSearch: function onColumnSearch(field, text) {
-	    return false;
-	  },
-	  onCreatedControls: function onCreatedControls() {
-	    return true;
-	  },
-	  alignmentSelectControlOptions: undefined,
-	  filterTemplate: {
-	    input: function input(that, field, placeholder, value) {
-	      return Utils.sprintf('<input type="text" class="form-control bootstrap-table-filter-control-%s search-input" style="width: 100%;" placeholder="%s" value="%s">', field, 'undefined' === typeof placeholder ? '' : placeholder, 'undefined' === typeof value ? '' : value);
-	    },
-	    select: function select(_ref11, field) {
-	      var options = _ref11.options;
-	      return Utils.sprintf('<select class="form-control bootstrap-table-filter-control-%s" style="width: 100%;" dir="%s"></select>', field, UtilsFilterControl.getDirectionOfSelectOptions(options.alignmentSelectControlOptions));
-	    },
-	    datepicker: function datepicker(that, field, value) {
-	      return Utils.sprintf('<input type="text" class="form-control date-filter-control bootstrap-table-filter-control-%s" style="width: 100%;" value="%s">', field, 'undefined' === typeof value ? '' : value);
-	    }
-	  },
-	  disableControlWhenSearch: false,
-	  searchOnEnterKey: false,
-	  // internal variables
-	  valuesFilterControl: []
-	});
-	$.extend($.fn.bootstrapTable.columnDefaults, {
-	  filterControl: undefined,
-	  filterDataCollector: undefined,
-	  filterData: undefined,
-	  filterDatepickerOptions: undefined,
-	  filterStrictSearch: false,
-	  filterStartsWithSearch: false,
-	  filterControlPlaceholder: '',
-	  filterDefault: '',
-	  filterOrderBy: 'asc' // asc || desc
-
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'column-search.bs.table': 'onColumnSearch',
-	  'created-controls.bs.table': 'onCreatedControls'
-	});
-	$.extend($.fn.bootstrapTable.defaults.icons, {
-	  clear: {
-	    bootstrap3: 'glyphicon-trash icon-clear'
-	  }[$.fn.bootstrapTable.theme] || 'fa-trash'
-	});
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-	$.extend($.fn.bootstrapTable.defaults, {
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear filters';
-	  }
-	});
-	$.fn.bootstrapTable.methods.push('triggerSearch');
-	$.fn.bootstrapTable.methods.push('clearFilterControl');
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _this = this;
-
-	      UtilsFilterControl.bootstrapTableInstance = this; // Make sure that the filterControl option is set
-
-	      if (this.options.filterControl) {
-	        var that = this; // Make sure that the internal variables are set correctly
-
-	        this.options.valuesFilterControl = [];
-	        this.$el.on('reset-view.bs.table', function () {
-	          // Create controls on $tableHeader if the height is set
-	          if (!that.options.height) {
-	            return;
-	          } // Avoid recreate the controls
-
-
-	          if (UtilsFilterControl.getControlContainer().find('select').length > 0 || UtilsFilterControl.getControlContainer().find('input').length > 0) {
-	            return;
-	          }
-
-	          UtilsFilterControl.createControls(that, UtilsFilterControl.getControlContainer());
-	        }).on('post-header.bs.table', function () {
-	          UtilsFilterControl.setValues(that);
-	        }).on('post-body.bs.table', function () {
-	          if (that.options.height && !that.options.filterControlContainer) {
-	            UtilsFilterControl.fixHeaderCSS(that);
-	          }
-
-	          _this.$tableLoading.css('top', _this.$header.outerHeight() + 1);
-	        }).on('column-switch.bs.table', function () {
-	          UtilsFilterControl.setValues(that);
-	        }).on('load-success.bs.table', function () {
-	          that.enableControls(true);
-	        }).on('load-error.bs.table', function () {
-	          that.enableControls(true);
-	        });
-	      }
-
-	      _get(_getPrototypeOf(_class.prototype), "init", this).call(this);
-	    }
-	  }, {
-	    key: "initHeader",
-	    value: function initHeader() {
-	      _get(_getPrototypeOf(_class.prototype), "initHeader", this).call(this);
-
-	      if (!this.options.filterControl) {
-	        return;
-	      }
-
-	      UtilsFilterControl.createControls(this, UtilsFilterControl.getControlContainer());
-	    }
-	  }, {
-	    key: "initBody",
-	    value: function initBody() {
-	      _get(_getPrototypeOf(_class.prototype), "initBody", this).call(this);
-
-	      UtilsFilterControl.initFilterSelectControls(this);
-	    }
-	  }, {
-	    key: "initSearch",
-	    value: function initSearch() {
-	      var that = this;
-	      var fp = $.isEmptyObject(that.filterColumnsPartial) ? null : that.filterColumnsPartial;
-
-	      if (fp === null || Object.keys(fp).length <= 1) {
-	        _get(_getPrototypeOf(_class.prototype), "initSearch", this).call(this);
-	      }
-
-	      if (this.options.sidePagination === 'server') {
-	        return;
-	      }
-
-	      if (fp === null) {
-	        return;
-	      } // Check partial column filter
-
-
-	      that.data = fp ? that.options.data.filter(function (item, i) {
-	        var itemIsExpected = [];
-	        var keys1 = Object.keys(item);
-	        var keys2 = Object.keys(fp);
-	        var keys = keys1.concat(keys2.filter(function (item) {
-	          return !keys1.includes(item);
-	        }));
-	        keys.forEach(function (key) {
-	          var thisColumn = that.columns[that.fieldsColumnsIndex[key]];
-	          var fval = (fp[key] || '').toLowerCase();
-	          var value = Utils.getItemField(item, key, false);
-	          var tmpItemIsExpected;
-
-	          if (fval === '') {
-	            tmpItemIsExpected = true;
-	          } else {
-	            // Fix #142: search use formatted data
-	            if (thisColumn && thisColumn.searchFormatter) {
-	              value = $.fn.bootstrapTable.utils.calculateObjectValue(that.header, that.header.formatters[$.inArray(key, that.header.fields)], [value, item, i], value);
-	            }
-
-	            if ($.inArray(key, that.header.fields) !== -1) {
-	              if (value === undefined || value === null) {
-	                tmpItemIsExpected = false;
-	              } else if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
-	                if (thisColumn.filterStrictSearch) {
-	                  tmpItemIsExpected = value.toString().toLowerCase() === fval.toString().toLowerCase();
-	                } else if (thisColumn.filterStartsWithSearch) {
-	                  tmpItemIsExpected = "".concat(value).toLowerCase().indexOf(fval) === 0;
-	                } else {
-	                  tmpItemIsExpected = "".concat(value).toLowerCase().includes(fval);
-	                }
-
-	                var largerSmallerEqualsRegex = /(?:(<=|=>|=<|>=|>|<)(?:\s+)?(\d+)?|(\d+)?(\s+)?(<=|=>|=<|>=|>|<))/gm;
-	                var matches = largerSmallerEqualsRegex.exec(fval);
-
-	                if (matches) {
-	                  var operator = matches[1] || "".concat(matches[5], "l");
-	                  var comparisonValue = matches[2] || matches[3];
-	                  var int = parseInt(value, 10);
-	                  var comparisonInt = parseInt(comparisonValue, 10);
-
-	                  switch (operator) {
-	                    case '>':
-	                    case '<l':
-	                      tmpItemIsExpected = int > comparisonInt;
-	                      break;
-
-	                    case '<':
-	                    case '>l':
-	                      tmpItemIsExpected = int < comparisonInt;
-	                      break;
-
-	                    case '<=':
-	                    case '=<':
-	                    case '>=l':
-	                    case '=>l':
-	                      tmpItemIsExpected = int <= comparisonInt;
-	                      break;
-
-	                    case '>=':
-	                    case '=>':
-	                    case '<=l':
-	                    case '=<l':
-	                      tmpItemIsExpected = int >= comparisonInt;
-	                      break;
-	                  }
-	                }
-
-	                if (thisColumn.filterCustomSearch) {
-	                  var customSearchResult = Utils.calculateObjectValue(that, thisColumn.filterCustomSearch, [fval, value, key, that.options.data], true);
-
-	                  if (customSearchResult !== null) {
-	                    tmpItemIsExpected = customSearchResult;
-	                  }
-	                }
-	              }
-	            }
-	          }
-
-	          itemIsExpected.push(tmpItemIsExpected);
-	        });
-	        return !itemIsExpected.includes(false);
-	      }) : that.data;
-	    }
-	  }, {
-	    key: "initColumnSearch",
-	    value: function initColumnSearch(filterColumnsDefaults) {
-	      UtilsFilterControl.copyValues(this);
-
-	      if (filterColumnsDefaults) {
-	        this.filterColumnsPartial = filterColumnsDefaults;
-	        this.updatePagination();
-
-	        for (var filter in filterColumnsDefaults) {
-	          this.trigger('column-search', filter, filterColumnsDefaults[filter]);
-	        }
-	      }
-	    }
-	  }, {
-	    key: "onColumnSearch",
-	    value: function onColumnSearch(_ref12) {
-	      var currentTarget = _ref12.currentTarget,
-	          keyCode = _ref12.keyCode;
-
-	      if ($.inArray(keyCode, [37, 38, 39, 40]) > -1) {
-	        return;
-	      }
-
-	      UtilsFilterControl.copyValues(this);
-	      var text = $.trim($(currentTarget).val());
-	      var $field = $(currentTarget).closest('[data-field]').data('field');
-
-	      if ($.isEmptyObject(this.filterColumnsPartial)) {
-	        this.filterColumnsPartial = {};
-	      }
-
-	      if (text) {
-	        this.filterColumnsPartial[$field] = text;
-	      } else {
-	        delete this.filterColumnsPartial[$field];
-	      }
-
-	      this.options.pageNumber = 1;
-	      this.enableControls(false);
-	      this.onSearch({
-	        currentTarget: currentTarget
-	      }, false);
-	      this.trigger('column-search', $field, text);
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      this.showSearchClearButton = this.options.filterControl && this.options.showSearchClearButton;
-
-	      _get(_getPrototypeOf(_class.prototype), "initToolbar", this).call(this);
-	    }
-	  }, {
-	    key: "resetSearch",
-	    value: function resetSearch(text) {
-	      if (this.options.filterControl && this.options.showSearchClearButton) {
-	        this.clearFilterControl();
-	      }
-
-	      _get(_getPrototypeOf(_class.prototype), "resetSearch", this).call(this, text);
-	    }
-	  }, {
-	    key: "clearFilterControl",
-	    value: function clearFilterControl() {
-	      if (this.options.filterControl) {
-	        var that = this;
-	        var cookies = UtilsFilterControl.collectBootstrapCookies();
-	        var header = UtilsFilterControl.getCurrentHeader(that);
-	        var table = header.closest('table');
-	        var controls = header.find(UtilsFilterControl.getCurrentSearchControls(that));
-	        var search = that.$toolbar.find('.search input');
-	        var hasValues = false;
-	        var timeoutId = 0;
-	        $.each(that.options.valuesFilterControl, function (i, item) {
-	          hasValues = hasValues ? true : item.value !== '';
-	          item.value = '';
-	        });
-	        $.each(that.options.filterControls, function (i, item) {
-	          item.text = '';
-	        });
-	        UtilsFilterControl.setValues(that); // clear cookies once the filters are clean
-
-	        clearTimeout(timeoutId);
-	        timeoutId = setTimeout(function () {
-	          if (cookies && cookies.length > 0) {
-	            $.each(cookies, function (i, item) {
-	              if (that.deleteCookie !== undefined) {
-	                that.deleteCookie(item);
-	              }
-	            });
-	          }
-	        }, that.options.searchTimeOut); // If there is not any value in the controls exit this method
-
-	        if (!hasValues) {
-	          return;
-	        } // Clear each type of filter if it exists.
-	        // Requires the body to reload each time a type of filter is found because we never know
-	        // which ones are going to be present.
-
-
-	        if (controls.length > 0) {
-	          this.filterColumnsPartial = {};
-	          $(controls[0]).trigger(controls[0].tagName === 'INPUT' ? 'keyup' : 'change', {
-	            keyCode: 13
-	          });
-	        } else {
-	          return;
-	        }
-
-	        if (search.length > 0) {
-	          that.resetSearch();
-	        } // use the default sort order if it exists. do nothing if it does not
-
-
-	        if (that.options.sortName !== table.data('sortName') || that.options.sortOrder !== table.data('sortOrder')) {
-	          var sorter = header.find(Utils.sprintf('[data-field="%s"]', $(controls[0]).closest('table').data('sortName')));
-
-	          if (sorter.length > 0) {
-	            that.onSort({
-	              type: 'keypress',
-	              currentTarget: sorter
-	            });
-	            $(sorter).find('.sortable').trigger('click');
-	          }
-	        }
-	      }
-	    }
-	  }, {
-	    key: "triggerSearch",
-	    value: function triggerSearch() {
-	      var searchControls = UtilsFilterControl.getSearchControls(this);
-	      searchControls.each(function () {
-	        var el = $(this);
-
-	        if (el.is('select')) {
-	          el.change();
-	        } else {
-	          el.keyup();
-	        }
-	      });
-	    }
-	  }, {
-	    key: "enableControls",
-	    value: function enableControls(enable) {
-	      if (this.options.disableControlWhenSearch && this.options.sidePagination === 'server') {
-	        var searchControls = UtilsFilterControl.getSearchControls(this);
-
-	        if (!enable) {
-	          searchControls.prop('disabled', 'disabled');
-	        } else {
-	          searchControls.removeProp('disabled');
-	        }
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.min.css b/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.min.css
deleted file mode 100644
index 9a6f164..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-@charset "UTF-8";.no-filter-control{height:34px}.filter-control{margin:0 2px 2px 2px}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.min.js b/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.min.js
deleted file mode 100644
index 300eea6..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),l={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,u={f:c&&!l.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:l},s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},f={}.toString,p=function(t){return f.call(t).slice(8,-1)},d="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,g=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return h(g(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!y(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!y(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!y(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!y(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},C={}.hasOwnProperty,m=function(t,e){return C.call(t,e)},S=o.document,O=y(S)&&y(S.createElement),x=function(t){return O?S.createElement(t):{}},T=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),w=Object.getOwnPropertyDescriptor,E={f:a?w:function(t,e){if(t=v(t),e=b(e,!0),T)try{return w(t,e)}catch(t){}if(m(t,e))return s(!u.f.call(t,e),t[e])}},j=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,P={f:a?k:function(t,e,n){if(j(t),e=b(e,!0),j(n),T)try{return k(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}},I=a?function(t,e,n){return P.f(t,e,s(1,n))}:function(t,e,n){return t[e]=n,t},D=function(t,e){try{I(o,t,e)}catch(n){o[t]=e}return e},L=o["__core-js_shared__"]||D("__core-js_shared__",{}),A=Function.toString;"function"!=typeof L.inspectSource&&(L.inspectSource=function(t){return A.call(t)});var R,F,_,M=L.inspectSource,N=o.WeakMap,V="function"==typeof N&&/native code/.test(M(N)),$=n((function(t){(t.exports=function(t,e){return L[t]||(L[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,H=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+H).toString(36)},U=$("keys"),K=function(t){return U[t]||(U[t]=G(t))},W={},q=o.WeakMap;if(V){var z=new q,Y=z.get,X=z.has,J=z.set;R=function(t,e){return J.call(z,t,e),e},F=function(t){return Y.call(z,t)||{}},_=function(t){return X.call(z,t)}}else{var Q=K("state");W[Q]=!0,R=function(t,e){return I(t,Q,e),e},F=function(t){return m(t,Q)?t[Q]:{}},_=function(t){return m(t,Q)}}var Z,tt,et={set:R,get:F,has:_,enforce:function(t){return _(t)?F(t):R(t,{})},getterFor:function(t){return function(e){var n;if(!y(e)||(n=F(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,r=String(String).split("String");(t.exports=function(t,e,i,a){var l=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,u=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||I(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(l?!u&&t[e]&&(c=!0):delete t[e],c?t[e]=i:I(t,e,i)):c?t[e]=i:D(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||M(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},at=Math.ceil,lt=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?lt:at)(t)},ut=Math.min,st=function(t){return t>0?ut(ct(t),9007199254740991):0},ft=Math.max,pt=Math.min,dt=function(t){return function(e,n,r){var o,i=v(e),a=st(i.length),l=function(t,e){var n=ct(t);return n<0?ft(n+e,0):pt(n,e)}(r,a);if(t&&n!=n){for(;a>l;)if((o=i[l++])!=o)return!0}else for(;a>l;l++)if((t||l in i)&&i[l]===n)return t||l||0;return!t&&-1}},ht={includes:dt(!0),indexOf:dt(!1)},gt=ht.indexOf,vt=function(t,e){var n,r=v(t),o=0,i=[];for(n in r)!m(W,n)&&m(r,n)&&i.push(n);for(;e.length>o;)m(r,n=e[o++])&&(~gt(i,n)||i.push(n));return i},yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=yt.concat("length","prototype"),Ct={f:Object.getOwnPropertyNames||function(t){return vt(t,bt)}},mt={f:Object.getOwnPropertySymbols},St=it("Reflect","ownKeys")||function(t){var e=Ct.f(j(t)),n=mt.f;return n?e.concat(n(t)):e},Ot=function(t,e){for(var n=St(e),r=P.f,o=E.f,i=0;i<n.length;i++){var a=n[i];m(t,a)||r(t,a,o(e,a))}},xt=/#|\.prototype\./,Tt=function(t,e){var n=Et[wt(t)];return n==kt||n!=jt&&("function"==typeof e?i(e):!!e)},wt=Tt.normalize=function(t){return String(t).replace(xt,".").toLowerCase()},Et=Tt.data={},jt=Tt.NATIVE="N",kt=Tt.POLYFILL="P",Pt=Tt,It=E.f,Dt=function(t,e){var n,r,i,a,l,c=t.target,u=t.global,s=t.stat;if(n=u?o:s?o[c]||D(c,{}):(o[c]||{}).prototype)for(r in e){if(a=e[r],i=t.noTargetGet?(l=It(n,r))&&l.value:n[r],!Pt(u?r:c+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;Ot(a,i)}(t.sham||i&&i.sham)&&I(a,"sham",!0),nt(n,r,a,t)}},Lt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(g(t))},Rt=function(t,e,n){var r=b(e);r in t?P.f(t,r,s(0,n)):t[r]=n},Ft=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ft&&!Symbol.sham&&"symbol"==typeof Symbol(),Mt=$("wks"),Nt=o.Symbol,Vt=_t?Nt:G,$t=function(t){return m(Mt,t)||(Ft&&m(Nt,t)?Mt[t]=Nt[t]:Mt[t]=Vt("Symbol."+t)),Mt[t]},Bt=$t("species"),Ht=function(t,e){var n;return Lt(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!Lt(n.prototype)?y(n)&&null===(n=n[Bt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},Gt=it("navigator","userAgent")||"",Ut=o.process,Kt=Ut&&Ut.versions,Wt=Kt&&Kt.v8;Wt?tt=(Z=Wt.split("."))[0]+Z[1]:Gt&&(!(Z=Gt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Gt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var qt=tt&&+tt,zt=$t("species"),Yt=function(t){return qt>=51||!i((function(){var e=[];return(e.constructor={})[zt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Xt=$t("isConcatSpreadable"),Jt=qt>=51||!i((function(){var t=[];return t[Xt]=!1,t.concat()[0]!==t})),Qt=Yt("concat"),Zt=function(t){if(!y(t))return!1;var e=t[Xt];return void 0!==e?!!e:Lt(t)};Dt({target:"Array",proto:!0,forced:!Jt||!Qt},{concat:function(t){var e,n,r,o,i,a=At(this),l=Ht(a,0),c=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?a:arguments[e],Zt(i)){if(c+(o=st(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,c++)n in i&&Rt(l,c,i[n])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Rt(l,c++,i)}return l.length=c,l}});var te=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},ee=[].push,ne=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(l,c,u,s){for(var f,p,d=At(l),g=h(d),v=function(t,e,n){if(te(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}(c,u,3),y=st(g.length),b=0,C=s||Ht,m=e?C(l,y):n?C(l,0):void 0;y>b;b++)if((a||b in g)&&(p=v(f=g[b],b,d),t))if(e)m[b]=p;else if(p)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:ee.call(m,f)}else if(o)return!1;return i?-1:r||o?o:m}},re={forEach:ne(0),map:ne(1),filter:ne(2),some:ne(3),every:ne(4),find:ne(5),findIndex:ne(6)},oe=re.filter,ie=Yt("filter"),ae=ie&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));Dt({target:"Array",proto:!0,forced:!ie||!ae},{filter:function(t){return oe(this,t,arguments.length>1?arguments[1]:void 0)}});var le,ce=Object.keys||function(t){return vt(t,yt)},ue=a?Object.defineProperties:function(t,e){j(t);for(var n,r=ce(e),o=r.length,i=0;o>i;)P.f(t,n=r[i++],e[n]);return t},se=it("document","documentElement"),fe=K("IE_PROTO"),pe=function(){},de=function(t){return"<script>"+t+"<\/script>"},he=function(){try{le=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;he=le?function(t){t.write(de("")),t.close();var e=t.parentWindow.Object;return t=null,e}(le):((e=x("iframe")).style.display="none",se.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(de("document.F=Object")),t.close(),t.F);for(var n=yt.length;n--;)delete he.prototype[yt[n]];return he()};W[fe]=!0;var ge=Object.create||function(t,e){var n;return null!==t?(pe.prototype=j(t),n=new pe,pe.prototype=null,n[fe]=t):n=he(),void 0===e?n:ue(n,e)},ve=$t("unscopables"),ye=Array.prototype;null==ye[ve]&&P.f(ye,ve,{configurable:!0,value:ge(null)});var be=function(t){ye[ve][t]=!0},Ce=re.find,me=!0;"find"in[]&&Array(1).find((function(){me=!1})),Dt({target:"Array",proto:!0,forced:me},{find:function(t){return Ce(this,t,arguments.length>1?arguments[1]:void 0)}}),be("find");var Se=ht.includes;Dt({target:"Array",proto:!0},{includes:function(t){return Se(this,t,arguments.length>1?arguments[1]:void 0)}}),be("includes");var Oe=function(t,e){var n=[][t];return!n||!i((function(){n.call(null,e||function(){throw 1},1)}))},xe=ht.indexOf,Te=[].indexOf,we=!!Te&&1/[1].indexOf(1,-0)<0,Ee=Oe("indexOf");Dt({target:"Array",proto:!0,forced:we||Ee},{indexOf:function(t){return we?Te.apply(this,arguments)||0:xe(this,t,arguments.length>1?arguments[1]:void 0)}});var je=[].join,ke=h!=Object,Pe=Oe("join",",");Dt({target:"Array",proto:!0,forced:ke||Pe},{join:function(t){return je.call(v(this),void 0===t?",":t)}});var Ie=[],De=Ie.sort,Le=i((function(){Ie.sort(void 0)})),Ae=i((function(){Ie.sort(null)})),Re=Oe("sort");Dt({target:"Array",proto:!0,forced:Le||!Ae||Re},{sort:function(t){return void 0===t?De.call(At(this)):De.call(At(this),te(t))}}),Dt({target:"Object",stat:!0,forced:i((function(){ce(1)}))},{keys:function(t){return ce(At(t))}});var Fe={};Fe[$t("toStringTag")]="z";var _e="[object z]"===String(Fe),Me=$t("toStringTag"),Ne="Arguments"==p(function(){return arguments}()),Ve=_e?p:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Me))?n:Ne?p(e):"Object"==(r=p(e))&&"function"==typeof e.callee?"Arguments":r},$e=_e?{}.toString:function(){return"[object "+Ve(this)+"]"};_e||nt(Object.prototype,"toString",$e,{unsafe:!0});var Be="\t\n\v\f\r                　\u2028\u2029\ufeff",He="["+Be+"]",Ge=RegExp("^"+He+He+"*"),Ue=RegExp(He+He+"*$"),Ke=function(t){return function(e){var n=String(g(e));return 1&t&&(n=n.replace(Ge,"")),2&t&&(n=n.replace(Ue,"")),n}},We={start:Ke(1),end:Ke(2),trim:Ke(3)},qe=We.trim,ze=o.parseInt,Ye=/^[+-]?0[Xx]/,Xe=8!==ze(Be+"08")||22!==ze(Be+"0x16")?function(t,e){var n=qe(String(t));return ze(n,e>>>0||(Ye.test(n)?16:10))}:ze;Dt({global:!0,forced:parseInt!=Xe},{parseInt:Xe});var Je=function(){var t=j(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Qe(t,e){return RegExp(t,e)}var Ze,tn,en={UNSUPPORTED_Y:i((function(){var t=Qe("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Qe("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},nn=RegExp.prototype.exec,rn=String.prototype.replace,on=nn,an=(Ze=/a/,tn=/b*/g,nn.call(Ze,"a"),nn.call(tn,"a"),0!==Ze.lastIndex||0!==tn.lastIndex),ln=en.UNSUPPORTED_Y||en.BROKEN_CARET,cn=void 0!==/()??/.exec("")[1];(an||cn||ln)&&(on=function(t){var e,n,r,o,i=this,a=ln&&i.sticky,l=Je.call(i),c=i.source,u=0,s=t;return a&&(-1===(l=l.replace("y","")).indexOf("g")&&(l+="g"),s=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(c="(?: "+c+")",s=" "+s,u++),n=new RegExp("^(?:"+c+")",l)),cn&&(n=new RegExp("^"+c+"$(?!\\s)",l)),an&&(e=i.lastIndex),r=nn.call(a?n:i,s),a?r?(r.input=r.input.slice(u),r[0]=r[0].slice(u),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:an&&r&&(i.lastIndex=i.global?r.index+r[0].length:e),cn&&r&&r.length>1&&rn.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var un=on;Dt({target:"RegExp",proto:!0,forced:/./.exec!==un},{exec:un});var sn=RegExp.prototype,fn=sn.toString,pn=i((function(){return"/a/b"!=fn.call({source:"a",flags:"b"})})),dn="toString"!=fn.name;(pn||dn)&&nt(RegExp.prototype,"toString",(function(){var t=j(this),e=String(t.source),n=t.flags;return"/"+e+"/"+String(void 0===n&&t instanceof RegExp&&!("flags"in sn)?Je.call(t):n)}),{unsafe:!0});var hn=$t("match"),gn=function(t){var e;return y(t)&&(void 0!==(e=t[hn])?!!e:"RegExp"==p(t))},vn=function(t){if(gn(t))throw TypeError("The method doesn't accept regular expressions");return t},yn=$t("match");Dt({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[yn]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(g(this)).indexOf(vn(t),arguments.length>1?arguments[1]:void 0)}});var bn=$t("species"),Cn=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),mn="$0"==="a".replace(/./,"$0"),Sn=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),On=function(t,e,n,r){var o=$t(t),a=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),l=a&&!i((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[bn]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!a||!l||"replace"===t&&(!Cn||!mn)||"split"===t&&!Sn){var c=/./[o],u=n(o,""[t],(function(t,e,n,r,o){return e.exec===un?a&&!o?{done:!0,value:c.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:mn}),s=u[0],f=u[1];nt(String.prototype,t,s),nt(RegExp.prototype,o,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}r&&I(RegExp.prototype[o],"sham",!0)},xn=function(t){return function(e,n){var r,o,i=String(g(e)),a=ct(n),l=i.length;return a<0||a>=l?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===l||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},Tn={codeAt:xn(!1),charAt:xn(!0)}.charAt,wn=function(t,e,n){return e+(n?Tn(t,e).length:1)},En=function(t,e){var n=t.exec;if("function"==typeof n){var r=n.call(t,e);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return un.call(t,e)};On("match",1,(function(t,e,n){return[function(e){var n=g(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var o=j(t),i=String(this);if(!o.global)return En(o,i);var a=o.unicode;o.lastIndex=0;for(var l,c=[],u=0;null!==(l=En(o,i));){var s=String(l[0]);c[u]=s,""===s&&(o.lastIndex=wn(i,st(o.lastIndex),a)),u++}return 0===u?null:c}]}));var jn=Math.max,kn=Math.min,Pn=Math.floor,In=/\$([$&'`]|\d\d?|<[^>]*>)/g,Dn=/\$([$&'`]|\d\d?)/g;On("replace",2,(function(t,e,n,r){return[function(n,r){var o=g(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,i){if(r.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var a=n(e,t,this,i);if(a.done)return a.value}var l=j(t),c=String(this),u="function"==typeof i;u||(i=String(i));var s=l.global;if(s){var f=l.unicode;l.lastIndex=0}for(var p=[];;){var d=En(l,c);if(null===d)break;if(p.push(d),!s)break;""===String(d[0])&&(l.lastIndex=wn(c,st(l.lastIndex),f))}for(var h,g="",v=0,y=0;y<p.length;y++){d=p[y];for(var b=String(d[0]),C=jn(kn(ct(d.index),c.length),0),m=[],S=1;S<d.length;S++)m.push(void 0===(h=d[S])?h:String(h));var O=d.groups;if(u){var x=[b].concat(m,C,c);void 0!==O&&x.push(O);var T=String(i.apply(void 0,x))}else T=o(b,c,C,m,O,i);C>=v&&(g+=c.slice(v,C)+T,v=C+b.length)}return g+c.slice(v)}];function o(t,n,r,o,i,a){var l=r+t.length,c=o.length,u=Dn;return void 0!==i&&(i=At(i),u=In),e.call(a,u,(function(e,a){var u;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(l);case"<":u=i[a.slice(1,-1)];break;default:var s=+a;if(0===s)return e;if(s>c){var f=Pn(s/10);return 0===f?e:f<=c?void 0===o[f-1]?a.charAt(1):o[f-1]+a.charAt(1):e}u=o[s-1]}return void 0===u?"":u}))}}));var Ln=$t("species"),An=[].push,Rn=Math.min,Fn=!i((function(){return!RegExp(4294967295,"y")}));On("split",2,(function(t,e,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var r=String(g(this)),o=void 0===n?4294967295:n>>>0;if(0===o)return[];if(void 0===t)return[r];if(!gn(t))return e.call(r,t,o);for(var i,a,l,c=[],u=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),s=0,f=new RegExp(t.source,u+"g");(i=un.call(f,r))&&!((a=f.lastIndex)>s&&(c.push(r.slice(s,i.index)),i.length>1&&i.index<r.length&&An.apply(c,i.slice(1)),l=i[0].length,s=a,c.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return s===r.length?!l&&f.test("")||c.push(""):c.push(r.slice(s)),c.length>o?c.slice(0,o):c}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=g(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,n):r.call(String(o),e,n)},function(t,o){var i=n(r,t,this,o,r!==e);if(i.done)return i.value;var a=j(t),l=String(this),c=function(t,e){var n,r=j(t).constructor;return void 0===r||null==(n=j(r)[Ln])?e:te(n)}(a,RegExp),u=a.unicode,s=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Fn?"y":"g"),f=new c(Fn?a:"^(?:"+a.source+")",s),p=void 0===o?4294967295:o>>>0;if(0===p)return[];if(0===l.length)return null===En(f,l)?[l]:[];for(var d=0,h=0,g=[];h<l.length;){f.lastIndex=Fn?h:0;var v,y=En(f,Fn?l:l.slice(h));if(null===y||(v=Rn(st(f.lastIndex+(Fn?0:h)),l.length))===d)h=wn(l,h,u);else{if(g.push(l.slice(d,h)),g.length===p)return g;for(var b=1;b<=y.length-1;b++)if(g.push(y[b]),g.length===p)return g;h=d=v}}return g.push(l.slice(d)),g}]}),!Fn);var _n,Mn=We.trim;Dt({target:"String",proto:!0,forced:(_n="trim",i((function(){return!!Be[_n]()||"​᠎"!="​᠎"[_n]()||Be[_n].name!==_n})))},{trim:function(){return Mn(this)}});var Nn=re.forEach,Vn=Oe("forEach")?function(t){return Nn(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;for(var $n in{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}){var Bn=o[$n],Hn=Bn&&Bn.prototype;if(Hn&&Hn.forEach!==Vn)try{I(Hn,"forEach",Vn)}catch(t){Hn.forEach=Vn}}function Gn(t){return(Gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Un(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),Object.defineProperty(t,r.key,r)}}function Kn(t){return(Kn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Wn(t,e){return(Wn=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function qn(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function zn(t,e,n){return(zn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Kn(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}var Yn=t.fn.bootstrapTable.utils,Xn={getOptionsFromSelectControl:function(t){return t.get(t.length-1).options},getControlContainer:function(){return Xn.bootstrapTableInstance.options.filterControlContainer?t("".concat(Xn.bootstrapTableInstance.options.filterControlContainer)):Xn.getCurrentHeader(Xn.bootstrapTableInstance)},getSearchControls:function(t){var e=Xn.getControlContainer(),n=Xn.getCurrentSearchControls(t);return e.find(n)},hideUnusedSelectOptions:function(t,e){for(var n=Xn.getOptionsFromSelectControl(t),r=0;r<n.length;r++)""!==n[r].value&&(e.hasOwnProperty(n[r].value)?t.find(Yn.sprintf("option[value='%s']",n[r].value)).show():t.find(Yn.sprintf("option[value='%s']",n[r].value)).hide())},addOptionToSelectControl:function(e,n,r,o){var i=t.trim(n),a=t(e.get(e.length-1));if(!Xn.existOptionInSelectControl(e,i)){var l=t('<option value="'.concat(i,'">').concat(r,"</option>"));i===o&&l.attr("selected",!0),a.append(l)}},sortSelectControl:function(e,n){var r=t(e.get(e.length-1)),o=r.find("option:gt(0)");o.sort((function(t,e){return Yn.sort(t.textContent,e.textContent,"desc"===n?-1:1)})),r.find("option:gt(0)").remove(),r.append(o)},existOptionInSelectControl:function(t,e){for(var n=Xn.getOptionsFromSelectControl(t),r=0;r<n.length;r++)if(n[r].value===e.toString())return!0;return!1},fixHeaderCSS:function(t){t.$tableHeader.css("height","77px")},getCurrentHeader:function(t){var e=t.$header,n=t.options,r=t.$tableHeader,o=e;return n.height&&(o=r),o},getCurrentSearchControls:function(t){var e="select, input";return t.options.height&&(e="table select, table input"),e},getCursorPosition:function(e){if(Yn.isIEBrowser()){if(t(e).is("input[type=text]")){var n=0;if("selectionStart"in e)n=e.selectionStart;else if("selection"in document){e.focus();var r=document.selection.createRange(),o=document.selection.createRange().text.length;r.moveStart("character",-e.value.length),n=r.text.length-o}return n}return-1}return-1},setCursorPosition:function(e){t(e).val(e.value)},copyValues:function(e){var n=Xn.getSearchControls(e);e.options.valuesFilterControl=[],n.each((function(){e.options.valuesFilterControl.push({field:t(this).closest("[data-field]").data("field"),value:t(this).val(),position:Xn.getCursorPosition(t(this).get(0)),hasFocus:t(this).is(":focus")})}))},setValues:function(e){var n=null,r=[],o=Xn.getSearchControls(e);if(e.options.valuesFilterControl.length>0){var i=null;o.each((function(o,a){var l,c;n=t(this).closest("[data-field]").data("field"),(r=e.options.valuesFilterControl.filter((function(t){return t.field===n}))).length>0&&(t(this).val(r[0].value),r[0].hasFocus&&""!==r[0].value&&(l=t(this).get(0),c=r[0].position,i=function(){l.focus(),Xn.setCursorPosition(l,c)}))})),null!==i&&i()}},collectBootstrapCookies:function(){var e=[],n=document.cookie.match(/(?:bs.table.)(\w*)/g),r=localStorage;if(n&&t.each(n,(function(n,r){var o=r;/./.test(o)&&(o=o.split(".").pop()),-1===t.inArray(o,e)&&e.push(o)})),r)for(var o=0;o<r.length;o++){var i=r.key(o);/./.test(i)&&(i=i.split(".").pop()),e.includes(i)||e.push(i)}return e},escapeID:function(t){return String(t).replace(/([:.\[\],])/g,"\\$1")},isColumnSearchableViaSelect:function(t){var e=t.filterControl,n=t.searchable;return e&&"select"===e.toLowerCase()&&n},isFilterDataNotGiven:function(t){var e=t.filterData;return void 0===e||"column"===e.toLowerCase()},hasSelectControlElement:function(t){return t&&t.length>0},initFilterSelectControls:function(e){var n=e.data,r=e.options.pagination?"server"===e.options.sidePagination?e.pageTo:e.options.totalRows:e.pageTo;t.each(e.header.fields,(function(t,o){var i=e.columns[e.fieldsColumnsIndex[o]],a=Xn.getControlContainer().find(".bootstrap-table-filter-control-".concat(Xn.escapeID(i.field)));if(Xn.isColumnSearchableViaSelect(i)&&Xn.isFilterDataNotGiven(i)&&Xn.hasSelectControlElement(a)){0===a.get(a.length-1).options.length&&Xn.addOptionToSelectControl(a,"",i.filterControlPlaceholder,i.filterDefault);for(var l={},c=0;c<r;c++){var u=n[c][o],s=e.options.editable&&i.editable?i._formatter:e.header.formatters[t],f=Yn.calculateObjectValue(e.header,s,[u,n[c],c],u);i.filterDataCollector&&(f=Yn.calculateObjectValue(e.header,i.filterDataCollector,[u,n[c],f],f)),l[f]=u,"object"!==Gn(f)||null===f?Xn.addOptionToSelectControl(a,f,f,i.filterDefault):f.forEach((function(t){Xn.addOptionToSelectControl(a,t,t,i.filterDefault)}))}Xn.sortSelectControl(a,i.filterOrderBy),e.options.hideUnusedSelectOptions&&Xn.hideUnusedSelectOptions(a,l)}})),e.trigger("created-controls")},getFilterDataMethod:function(t,e){for(var n=Object.keys(t),r=0;r<n.length;r++)if(n[r]===e)return t[e];return null},createControls:function(e,n){var r,o=!1;t.each(e.columns,(function(i,a){if(r=[],a.visible){if(a.filterControl||e.options.filterControlContainer)if(e.options.filterControlContainer){var l=t(".bootstrap-table-filter-control-".concat(a.field)),c=a.filterControlPlaceholder?a.filterControlPlaceholder:"";l.attr("placeholder",c),l.val(a.filterDefault),l.attr("data-field",a.field),o=!0}else{var u=a.filterControl.toLowerCase();r.push('<div class="filter-control">'),o=!0,a.searchable&&e.options.filterTemplate[u]&&r.push(e.options.filterTemplate[u](e,a.field,a.filterControlPlaceholder?a.filterControlPlaceholder:"",a.filterDefault))}else r.push('<div class="no-filter-control"></div>');if(a.filterControl||""===a.filterDefault||void 0===a.filterDefault||(t.isEmptyObject(e.filterColumnsPartial)&&(e.filterColumnsPartial={}),e.filterColumnsPartial[a.field]=a.filterDefault),t.each(n.children().children(),(function(e,n){var o=t(n);if(o.data("field")===a.field)return o.find(".fht-cell").append(r.join("")),!1})),void 0!==a.filterData&&"column"!==a.filterData.toLowerCase()){var s,f,p=Xn.getFilterDataMethod(Jn,a.filterData.substring(0,a.filterData.indexOf(":")));if(null===p)throw new SyntaxError('Error. You should use any of these allowed filter data methods: var, obj, json, url, func. Use like this: var: {key: "value"}');s=a.filterData.substring(a.filterData.indexOf(":")+1,a.filterData.length),f=Xn.getControlContainer().find(".bootstrap-table-filter-control-".concat(Xn.escapeID(a.field))),Xn.addOptionToSelectControl(f,"",a.filterControlPlaceholder,a.filterDefault),p(s,f,e.options.filterOrderBy,a.filterDefault)}}})),o?(Xn.getControlContainer().off("keyup","input").on("keyup","input",(function(n,r){var o=n.currentTarget,i=n.keyCode;if(i=r?r.keyCode:i,!(e.options.searchOnEnterKey&&13!==i||t.inArray(i,[37,38,39,40])>-1)){var a=t(o);a.is(":checkbox")||a.is(":radio")||(clearTimeout(o.timeoutId||0),o.timeoutId=setTimeout((function(){e.onColumnSearch({currentTarget:o,keyCode:i})}),e.options.searchTimeOut))}})),Xn.getControlContainer().off("change","select").on("change","select",(function(n){var r=n.currentTarget,o=n.keyCode;if(!(e.options.searchOnEnterKey&&13!==o||t.inArray(o,[37,38,39,40])>-1)){var i=t(r),a=i.val();t.trim(a)?(i.find("option[selected]").removeAttr("selected"),i.find('option[value="'+a+'"]').attr("selected",!0)):i.find("option[selected]").removeAttr("selected"),clearTimeout(r.timeoutId||0),r.timeoutId=setTimeout((function(){e.onColumnSearch({currentTarget:r,keyCode:o})}),e.options.searchTimeOut)}})),n.off("mouseup","input").on("mouseup","input",(function(n){var r=n.currentTarget,o=n.keyCode,i=t(r);""!==i.val()&&setTimeout((function(){""===i.val()&&(clearTimeout(r.timeoutId||0),r.timeoutId=setTimeout((function(){e.onColumnSearch({currentTarget:r,keyCode:o})}),e.options.searchTimeOut))}),1)})),Xn.getControlContainer().find(".date-filter-control").length>0&&t.each(e.columns,(function(t,n){var r=n.filterControl,o=n.field,i=n.filterDatepickerOptions;void 0!==r&&"datepicker"===r.toLowerCase()&&Xn.getControlContainer().find(".date-filter-control.bootstrap-table-filter-control-".concat(o)).datepicker(i).on("changeDate",(function(t){var n=t.currentTarget,r=t.keyCode;clearTimeout(n.timeoutId||0),n.timeoutId=setTimeout((function(){e.onColumnSearch({currentTarget:n,keyCode:r})}),e.options.searchTimeOut)}))})),"server"!==e.options.sidePagination&&e.triggerSearch()):Xn.getControlContainer().find(".filterControl").hide()},getDirectionOfSelectOptions:function(t){switch(void 0===t?"left":t.toLowerCase()){case"left":return"ltr";case"right":return"rtl";case"auto":return"auto";default:return"ltr"}}},Jn={func:function(t,e,n,r){var o=window[t].apply();for(var i in o)Xn.addOptionToSelectControl(e,i,o[i],r);Xn.sortSelectControl(e,n)},obj:function(t,e,n,r){var o=t.split("."),i=o.shift(),a=window[i];for(var l in o.length>0&&o.forEach((function(t){a=a[t]})),a)Xn.addOptionToSelectControl(e,l,a[l],r);Xn.sortSelectControl(e,n)},var:function(t,e,n,r){var o=window[t];for(var i in o)Xn.addOptionToSelectControl(e,i,o[i],r);Xn.sortSelectControl(e,n)},url:function(e,n,r,o){t.ajax({url:e,dataType:"json",success:function(t){for(var e in t)Xn.addOptionToSelectControl(n,e,t[e],o);Xn.sortSelectControl(n,r)}})},json:function(t,e,n,r){var o=JSON.parse(t);for(var i in o)Xn.addOptionToSelectControl(e,i,o[i],r);Xn.sortSelectControl(e,n)}};t.extend(t.fn.bootstrapTable.defaults,{filterControl:!1,onColumnSearch:function(t,e){return!1},onCreatedControls:function(){return!0},alignmentSelectControlOptions:void 0,filterTemplate:{input:function(t,e,n,r){return Yn.sprintf('<input type="text" class="form-control bootstrap-table-filter-control-%s search-input" style="width: 100%;" placeholder="%s" value="%s">',e,void 0===n?"":n,void 0===r?"":r)},select:function(t,e){var n=t.options;return Yn.sprintf('<select class="form-control bootstrap-table-filter-control-%s" style="width: 100%;" dir="%s"></select>',e,Xn.getDirectionOfSelectOptions(n.alignmentSelectControlOptions))},datepicker:function(t,e,n){return Yn.sprintf('<input type="text" class="form-control date-filter-control bootstrap-table-filter-control-%s" style="width: 100%;" value="%s">',e,void 0===n?"":n)}},disableControlWhenSearch:!1,searchOnEnterKey:!1,valuesFilterControl:[]}),t.extend(t.fn.bootstrapTable.columnDefaults,{filterControl:void 0,filterDataCollector:void 0,filterData:void 0,filterDatepickerOptions:void 0,filterStrictSearch:!1,filterStartsWithSearch:!1,filterControlPlaceholder:"",filterDefault:"",filterOrderBy:"asc"}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"column-search.bs.table":"onColumnSearch","created-controls.bs.table":"onCreatedControls"}),t.extend(t.fn.bootstrapTable.defaults.icons,{clear:{bootstrap3:"glyphicon-trash icon-clear"}[t.fn.bootstrapTable.theme]||"fa-trash"}),t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales),t.extend(t.fn.bootstrapTable.defaults,{formatClearSearch:function(){return"Clear filters"}}),t.fn.bootstrapTable.methods.push("triggerSearch"),t.fn.bootstrapTable.methods.push("clearFilterControl"),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),qn(this,Kn(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Wn(t,e)}(n,e),r=n,(o=[{key:"init",value:function(){var t=this;if(Xn.bootstrapTableInstance=this,this.options.filterControl){var e=this;this.options.valuesFilterControl=[],this.$el.on("reset-view.bs.table",(function(){e.options.height&&(Xn.getControlContainer().find("select").length>0||Xn.getControlContainer().find("input").length>0||Xn.createControls(e,Xn.getControlContainer()))})).on("post-header.bs.table",(function(){Xn.setValues(e)})).on("post-body.bs.table",(function(){e.options.height&&!e.options.filterControlContainer&&Xn.fixHeaderCSS(e),t.$tableLoading.css("top",t.$header.outerHeight()+1)})).on("column-switch.bs.table",(function(){Xn.setValues(e)})).on("load-success.bs.table",(function(){e.enableControls(!0)})).on("load-error.bs.table",(function(){e.enableControls(!0)}))}zn(Kn(n.prototype),"init",this).call(this)}},{key:"initHeader",value:function(){zn(Kn(n.prototype),"initHeader",this).call(this),this.options.filterControl&&Xn.createControls(this,Xn.getControlContainer())}},{key:"initBody",value:function(){zn(Kn(n.prototype),"initBody",this).call(this),Xn.initFilterSelectControls(this)}},{key:"initSearch",value:function(){var e=this,r=t.isEmptyObject(e.filterColumnsPartial)?null:e.filterColumnsPartial;(null===r||Object.keys(r).length<=1)&&zn(Kn(n.prototype),"initSearch",this).call(this),"server"!==this.options.sidePagination&&null!==r&&(e.data=r?e.options.data.filter((function(n,o){var i=[],a=Object.keys(n),l=Object.keys(r);return a.concat(l.filter((function(t){return!a.includes(t)}))).forEach((function(a){var l,c=e.columns[e.fieldsColumnsIndex[a]],u=(r[a]||"").toLowerCase(),s=Yn.getItemField(n,a,!1);if(""===u)l=!0;else if(c&&c.searchFormatter&&(s=t.fn.bootstrapTable.utils.calculateObjectValue(e.header,e.header.formatters[t.inArray(a,e.header.fields)],[s,n,o],s)),-1!==t.inArray(a,e.header.fields))if(null==s)l=!1;else if("string"==typeof s||"number"==typeof s||"boolean"==typeof s){l=c.filterStrictSearch?s.toString().toLowerCase()===u.toString().toLowerCase():c.filterStartsWithSearch?0==="".concat(s).toLowerCase().indexOf(u):"".concat(s).toLowerCase().includes(u);var f=/(?:(<=|=>|=<|>=|>|<)(?:\s+)?(\d+)?|(\d+)?(\s+)?(<=|=>|=<|>=|>|<))/gm.exec(u);if(f){var p=f[1]||"".concat(f[5],"l"),d=f[2]||f[3],h=parseInt(s,10),g=parseInt(d,10);switch(p){case">":case"<l":l=h>g;break;case"<":case">l":l=h<g;break;case"<=":case"=<":case">=l":case"=>l":l=h<=g;break;case">=":case"=>":case"<=l":case"=<l":l=h>=g}}if(c.filterCustomSearch){var v=Yn.calculateObjectValue(e,c.filterCustomSearch,[u,s,a,e.options.data],!0);null!==v&&(l=v)}}i.push(l)})),!i.includes(!1)})):e.data)}},{key:"initColumnSearch",value:function(t){if(Xn.copyValues(this),t)for(var e in this.filterColumnsPartial=t,this.updatePagination(),t)this.trigger("column-search",e,t[e])}},{key:"onColumnSearch",value:function(e){var n=e.currentTarget,r=e.keyCode;if(!(t.inArray(r,[37,38,39,40])>-1)){Xn.copyValues(this);var o=t.trim(t(n).val()),i=t(n).closest("[data-field]").data("field");t.isEmptyObject(this.filterColumnsPartial)&&(this.filterColumnsPartial={}),o?this.filterColumnsPartial[i]=o:delete this.filterColumnsPartial[i],this.options.pageNumber=1,this.enableControls(!1),this.onSearch({currentTarget:n},!1),this.trigger("column-search",i,o)}}},{key:"initToolbar",value:function(){this.showSearchClearButton=this.options.filterControl&&this.options.showSearchClearButton,zn(Kn(n.prototype),"initToolbar",this).call(this)}},{key:"resetSearch",value:function(t){this.options.filterControl&&this.options.showSearchClearButton&&this.clearFilterControl(),zn(Kn(n.prototype),"resetSearch",this).call(this,t)}},{key:"clearFilterControl",value:function(){if(this.options.filterControl){var e=this,n=Xn.collectBootstrapCookies(),r=Xn.getCurrentHeader(e),o=r.closest("table"),i=r.find(Xn.getCurrentSearchControls(e)),a=e.$toolbar.find(".search input"),l=!1,c=0;if(t.each(e.options.valuesFilterControl,(function(t,e){l=!!l||""!==e.value,e.value=""})),t.each(e.options.filterControls,(function(t,e){e.text=""})),Xn.setValues(e),clearTimeout(c),c=setTimeout((function(){n&&n.length>0&&t.each(n,(function(t,n){void 0!==e.deleteCookie&&e.deleteCookie(n)}))}),e.options.searchTimeOut),!l)return;if(!(i.length>0))return;if(this.filterColumnsPartial={},t(i[0]).trigger("INPUT"===i[0].tagName?"keyup":"change",{keyCode:13}),a.length>0&&e.resetSearch(),e.options.sortName!==o.data("sortName")||e.options.sortOrder!==o.data("sortOrder")){var u=r.find(Yn.sprintf('[data-field="%s"]',t(i[0]).closest("table").data("sortName")));u.length>0&&(e.onSort({type:"keypress",currentTarget:u}),t(u).find(".sortable").trigger("click"))}}}},{key:"triggerSearch",value:function(){Xn.getSearchControls(this).each((function(){var e=t(this);e.is("select")?e.change():e.keyup()}))}},{key:"enableControls",value:function(t){if(this.options.disableControlWhenSearch&&"server"===this.options.sidePagination){var e=Xn.getSearchControls(this);t?e.removeProp("disabled"):e.prop("disabled","disabled")}}}])&&Un(r.prototype,o),i&&Un(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.css b/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.css
deleted file mode 100644
index f80461e..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.css
+++ /dev/null
@@ -1,25 +0,0 @@
-.fixed-columns,
-.fixed-columns-right {
-  position: absolute;
-  top: 0;
-  height: 100%;
-  background-color: #fff;
-  box-sizing: border-box;
-  z-index: 1;
-}
-
-.fixed-columns {
-  left: 0;
-}
-
-.fixed-columns .fixed-table-body {
-  overflow: hidden !important;
-}
-
-.fixed-columns-right {
-  right: 0;
-}
-
-.fixed-columns-right .fixed-table-body {
-  overflow-x: hidden !important;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js b/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js
deleted file mode 100644
index e166d90..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js
+++ /dev/null
@@ -1,1501 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var nativeReverse = [].reverse;
-	var test = [1, 2];
-
-	// `Array.prototype.reverse` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.reverse
-	// fix for Safari 12.0 bug
-	// https://bugs.webkit.org/show_bug.cgi?id=188794
-	_export({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
-	  reverse: function reverse() {
-	    // eslint-disable-next-line no-self-assign
-	    if (isArray(this)) this.length = this.length;
-	    return nativeReverse.call(this);
-	  }
-	});
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$2 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$2(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$2(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$2(3)
-	};
-
-	var trim = stringTrim.trim;
-
-
-	var nativeParseInt = global_1.parseInt;
-	var hex = /^[+-]?0[Xx]/;
-	var FORCED$1 = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	var _parseInt = FORCED$1 ? function parseInt(string, radix) {
-	  var S = trim(String(string));
-	  return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
-	} : nativeParseInt;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	_export({ global: true, forced: parseInt != _parseInt }, {
-	  parseInt: _parseInt
-	});
-
-	function _typeof(obj) {
-	  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
-	    _typeof = function (obj) {
-	      return typeof obj;
-	    };
-	  } else {
-	    _typeof = function (obj) {
-	      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
-	    };
-	  }
-
-	  return _typeof(obj);
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils; // Reasonable defaults
-
-	var PIXEL_STEP = 10;
-	var LINE_HEIGHT = 40;
-	var PAGE_HEIGHT = 800;
-
-	function normalizeWheel(event) {
-	  var sX = 0; // spinX
-
-	  var sY = 0; // spinY
-
-	  var pX = 0; // pixelX
-
-	  var pY = 0; // pixelY
-	  // Legacy
-
-	  if ('detail' in event) {
-	    sY = event.detail;
-	  }
-
-	  if ('wheelDelta' in event) {
-	    sY = -event.wheelDelta / 120;
-	  }
-
-	  if ('wheelDeltaY' in event) {
-	    sY = -event.wheelDeltaY / 120;
-	  }
-
-	  if ('wheelDeltaX' in event) {
-	    sX = -event.wheelDeltaX / 120;
-	  } // side scrolling on FF with DOMMouseScroll
-
-
-	  if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) {
-	    sX = sY;
-	    sY = 0;
-	  }
-
-	  pX = sX * PIXEL_STEP;
-	  pY = sY * PIXEL_STEP;
-
-	  if ('deltaY' in event) {
-	    pY = event.deltaY;
-	  }
-
-	  if ('deltaX' in event) {
-	    pX = event.deltaX;
-	  }
-
-	  if ((pX || pY) && event.deltaMode) {
-	    if (event.deltaMode === 1) {
-	      // delta in LINE units
-	      pX *= LINE_HEIGHT;
-	      pY *= LINE_HEIGHT;
-	    } else {
-	      // delta in PAGE units
-	      pX *= PAGE_HEIGHT;
-	      pY *= PAGE_HEIGHT;
-	    }
-	  } // Fall-back if spin cannot be determined
-
-
-	  if (pX && !sX) {
-	    sX = pX < 1 ? -1 : 1;
-	  }
-
-	  if (pY && !sY) {
-	    sY = pY < 1 ? -1 : 1;
-	  }
-
-	  return {
-	    spinX: sX,
-	    spinY: sY,
-	    pixelX: pX,
-	    pixelY: pY
-	  };
-	}
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  fixedColumns: false,
-	  fixedNumber: 0,
-	  fixedRightNumber: 0
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "fixedColumnsSupported",
-	    value: function fixedColumnsSupported() {
-	      return this.options.fixedColumns && !this.options.detailView && !this.options.cardView;
-	    }
-	  }, {
-	    key: "initContainer",
-	    value: function initContainer() {
-	      _get(_getPrototypeOf(_class.prototype), "initContainer", this).call(this);
-
-	      if (!this.fixedColumnsSupported()) {
-	        return;
-	      }
-
-	      if (this.options.fixedNumber) {
-	        this.$tableContainer.append('<div class="fixed-columns"></div>');
-	        this.$fixedColumns = this.$tableContainer.find('.fixed-columns');
-	      }
-
-	      if (this.options.fixedRightNumber) {
-	        this.$tableContainer.append('<div class="fixed-columns-right"></div>');
-	        this.$fixedColumnsRight = this.$tableContainer.find('.fixed-columns-right');
-	      }
-	    }
-	  }, {
-	    key: "initBody",
-	    value: function initBody() {
-	      var _get2;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initBody", this)).call.apply(_get2, [this].concat(args));
-
-	      if (!this.fixedColumnsSupported()) {
-	        return;
-	      }
-
-	      if (this.options.showHeader && this.options.height) {
-	        return;
-	      }
-
-	      this.initFixedColumnsBody();
-	      this.initFixedColumnsEvents();
-	    }
-	  }, {
-	    key: "trigger",
-	    value: function trigger() {
-	      var _get3;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "trigger", this)).call.apply(_get3, [this].concat(args));
-
-	      if (!this.fixedColumnsSupported()) {
-	        return;
-	      }
-
-	      if (args[0] === 'post-header') {
-	        this.initFixedColumnsHeader();
-	      } else if (args[0] === 'scroll-body') {
-	        if (this.needFixedColumns && this.options.fixedNumber) {
-	          this.$fixedBody.scrollTop(this.$tableBody.scrollTop());
-	        }
-
-	        if (this.needFixedColumns && this.options.fixedRightNumber) {
-	          this.$fixedBodyRight.scrollTop(this.$tableBody.scrollTop());
-	        }
-	      }
-	    }
-	  }, {
-	    key: "updateSelected",
-	    value: function updateSelected() {
-	      var _this = this;
-
-	      _get(_getPrototypeOf(_class.prototype), "updateSelected", this).call(this);
-
-	      if (!this.fixedColumnsSupported()) {
-	        return;
-	      }
-
-	      this.$tableBody.find('tr').each(function (i, el) {
-	        var $el = $(el);
-	        var index = $el.data('index');
-	        var classes = $el.attr('class');
-	        var inputSelector = "[name=\"".concat(_this.options.selectItemName, "\"]");
-	        var $input = $el.find(inputSelector);
-
-	        if (_typeof(index) === undefined) {
-	          return;
-	        }
-
-	        var updateFixedBody = function updateFixedBody($fixedHeader, $fixedBody) {
-	          var $tr = $fixedBody.find("tr[data-index=\"".concat(index, "\"]"));
-	          $tr.attr('class', classes);
-
-	          if ($input.length) {
-	            $tr.find(inputSelector).prop('checked', $input.prop('checked'));
-	          }
-
-	          if (_this.$selectAll.length) {
-	            $fixedHeader.add($fixedBody).find('[name="btSelectAll"]').prop('checked', _this.$selectAll.prop('checked'));
-	          }
-	        };
-
-	        if (_this.$fixedBody && _this.options.fixedNumber) {
-	          updateFixedBody(_this.$fixedHeader, _this.$fixedBody);
-	        }
-
-	        if (_this.$fixedBodyRight && _this.options.fixedRightNumber) {
-	          updateFixedBody(_this.$fixedHeaderRight, _this.$fixedBodyRight);
-	        }
-	      });
-	    }
-	  }, {
-	    key: "initFixedColumnsHeader",
-	    value: function initFixedColumnsHeader() {
-	      var _this2 = this;
-
-	      if (this.options.height) {
-	        this.needFixedColumns = this.$tableHeader.outerWidth(true) < this.$tableHeader.find('table').outerWidth(true);
-	      } else {
-	        this.needFixedColumns = this.$tableBody.outerWidth(true) < this.$tableBody.find('table').outerWidth(true);
-	      }
-
-	      var initFixedHeader = function initFixedHeader($fixedColumns, isRight) {
-	        $fixedColumns.find('.fixed-table-header').remove();
-	        $fixedColumns.append(_this2.$tableHeader.clone(true));
-	        $fixedColumns.css({
-	          width: _this2.getFixedColumnsWidth(isRight)
-	        });
-	        return $fixedColumns.find('.fixed-table-header');
-	      };
-
-	      if (this.needFixedColumns && this.options.fixedNumber) {
-	        this.$fixedHeader = initFixedHeader(this.$fixedColumns);
-	        this.$fixedHeader.css('margin-right', '');
-	      } else if (this.$fixedColumns) {
-	        this.$fixedColumns.html('').css('width', '');
-	      }
-
-	      if (this.needFixedColumns && this.options.fixedRightNumber) {
-	        this.$fixedHeaderRight = initFixedHeader(this.$fixedColumnsRight, true);
-	        this.$fixedHeaderRight.scrollLeft(this.$fixedHeaderRight.find('table').width());
-	      } else if (this.$fixedColumnsRight) {
-	        this.$fixedColumnsRight.html('').css('width', '');
-	      }
-
-	      this.initFixedColumnsBody();
-	      this.initFixedColumnsEvents();
-	    }
-	  }, {
-	    key: "initFixedColumnsBody",
-	    value: function initFixedColumnsBody() {
-	      var _this3 = this;
-
-	      var initFixedBody = function initFixedBody($fixedColumns, $fixedHeader) {
-	        $fixedColumns.find('.fixed-table-body').remove();
-	        $fixedColumns.append(_this3.$tableBody.clone(true));
-	        var $fixedBody = $fixedColumns.find('.fixed-table-body');
-
-	        var tableBody = _this3.$tableBody.get(0);
-
-	        var scrollHeight = tableBody.scrollWidth > tableBody.clientWidth ? Utils.getScrollBarWidth() : 0;
-	        var height = _this3.$tableContainer.outerHeight(true) - scrollHeight - 1;
-	        $fixedColumns.css({
-	          height: height
-	        });
-	        $fixedBody.css({
-	          height: height - $fixedHeader.height()
-	        });
-	        return $fixedBody;
-	      };
-
-	      if (this.needFixedColumns && this.options.fixedNumber) {
-	        this.$fixedBody = initFixedBody(this.$fixedColumns, this.$fixedHeader);
-	      }
-
-	      if (this.needFixedColumns && this.options.fixedRightNumber) {
-	        this.$fixedBodyRight = initFixedBody(this.$fixedColumnsRight, this.$fixedHeaderRight);
-	        this.$fixedBodyRight.scrollLeft(this.$fixedBodyRight.find('table').width());
-	        this.$fixedBodyRight.css('overflow-y', this.options.height ? 'auto' : 'hidden');
-	      }
-	    }
-	  }, {
-	    key: "getFixedColumnsWidth",
-	    value: function getFixedColumnsWidth(isRight) {
-	      var visibleFields = this.getVisibleFields();
-	      var width = 0;
-	      var fixedNumber = this.options.fixedNumber;
-	      var marginRight = 0;
-
-	      if (isRight) {
-	        visibleFields = visibleFields.reverse();
-	        fixedNumber = this.options.fixedRightNumber;
-	        marginRight = parseInt(this.$tableHeader.css('margin-right'), 10);
-	      }
-
-	      for (var i = 0; i < fixedNumber; i++) {
-	        width += this.$header.find("th[data-field=\"".concat(visibleFields[i], "\"]")).outerWidth(true);
-	      }
-
-	      return width + marginRight + 1;
-	    }
-	  }, {
-	    key: "initFixedColumnsEvents",
-	    value: function initFixedColumnsEvents() {
-	      var _this4 = this;
-
-	      var toggleHover = function toggleHover(e, toggle) {
-	        var tr = "tr[data-index=\"".concat($(e.currentTarget).data('index'), "\"]");
-
-	        var $trs = _this4.$tableBody.find(tr);
-
-	        if (_this4.$fixedBody) {
-	          $trs = $trs.add(_this4.$fixedBody.find(tr));
-	        }
-
-	        if (_this4.$fixedBodyRight) {
-	          $trs = $trs.add(_this4.$fixedBodyRight.find(tr));
-	        }
-
-	        $trs.css('background-color', toggle ? $(e.currentTarget).css('background-color') : '');
-	      };
-
-	      this.$tableBody.find('tr').hover(function (e) {
-	        toggleHover(e, true);
-	      }, function (e) {
-	        toggleHover(e, false);
-	      });
-	      var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
-	      var mousewheel = isFirefox ? 'DOMMouseScroll' : 'mousewheel';
-
-	      var updateScroll = function updateScroll(e, fixedBody) {
-	        var normalized = normalizeWheel(e);
-	        var deltaY = Math.ceil(normalized.pixelY);
-	        var top = _this4.$tableBody.scrollTop() + deltaY;
-
-	        if (deltaY < 0 && top > 0 || deltaY > 0 && top < fixedBody.scrollHeight - fixedBody.clientHeight) {
-	          e.preventDefault();
-	        }
-
-	        _this4.$tableBody.scrollTop(top);
-
-	        if (_this4.$fixedBody) {
-	          _this4.$fixedBody.scrollTop(top);
-	        }
-
-	        if (_this4.$fixedBodyRight) {
-	          _this4.$fixedBodyRight.scrollTop(top);
-	        }
-	      };
-
-	      if (this.needFixedColumns && this.options.fixedNumber) {
-	        this.$fixedBody.find('tr').hover(function (e) {
-	          toggleHover(e, true);
-	        }, function (e) {
-	          toggleHover(e, false);
-	        });
-	        this.$fixedBody[0].addEventListener(mousewheel, function (e) {
-	          updateScroll(e, _this4.$fixedBody[0]);
-	        });
-	      }
-
-	      if (this.needFixedColumns && this.options.fixedRightNumber) {
-	        this.$fixedBodyRight.find('tr').hover(function (e) {
-	          toggleHover(e, true);
-	        }, function (e) {
-	          toggleHover(e, false);
-	        });
-	        this.$fixedBodyRight.off('scroll').on('scroll', function () {
-	          var top = _this4.$fixedBodyRight.scrollTop();
-
-	          _this4.$tableBody.scrollTop(top);
-
-	          if (_this4.$fixedBody) {
-	            _this4.$fixedBody.scrollTop(top);
-	          }
-	        });
-	      }
-
-	      if (this.options.filterControl) {
-	        $(this.$fixedColumns).off('keyup change').on('keyup change', function (e) {
-	          var $target = $(e.target);
-	          var value = $target.val();
-	          var field = $target.parents('th').data('field');
-
-	          var $coreTh = _this4.$header.find("th[data-field=\"".concat(field, "\"]"));
-
-	          if ($target.is('input')) {
-	            $coreTh.find('input').val(value);
-	          } else if ($target.is('select')) {
-	            var $select = $coreTh.find('select');
-	            $select.find('option[selected]').removeAttr('selected');
-	            $select.find("option[value=\"".concat(value, "\"]")).attr('selected', true);
-	          }
-
-	          _this4.triggerSearch();
-	        });
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.min.css b/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.min.css
deleted file mode 100644
index 9afb781..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.fixed-columns,.fixed-columns-right{position:absolute;top:0;height:100%;background-color:#fff;box-sizing:border-box;z-index:1}.fixed-columns{left:0}.fixed-columns .fixed-table-body{overflow:hidden!important}.fixed-columns-right{right:0}.fixed-columns-right .fixed-table-body{overflow-x:hidden!important}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.min.js b/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.min.js
deleted file mode 100644
index d2d4e13..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var i=function(t){return t&&t.Math==Math&&t},r=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof e&&e)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},u=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),f={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,c={f:a&&!f.call({1:2},1)?function(t){var e=a(this,t);return!!e&&e.enumerable}:f},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,d=function(t){return s.call(t).slice(8,-1)},h="".split,p=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==d(t)?h.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return p(y(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!v(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!v(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!v(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!v(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,x=function(t,e){return m.call(t,e)},$=r.document,w=v($)&&v($.createElement),O=function(t){return w?$.createElement(t):{}},C=!u&&!o((function(){return 7!=Object.defineProperty(O("div"),"a",{get:function(){return 7}}).a})),S=Object.getOwnPropertyDescriptor,B={f:u?S:function(t,e){if(t=g(t),e=b(e,!0),C)try{return S(t,e)}catch(t){}if(x(t,e))return l(!c.f.call(t,e),t[e])}},j=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},R=Object.defineProperty,T={f:u?R:function(t,e,n){if(j(t),e=b(e,!0),j(n),C)try{return R(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}},F=u?function(t,e,n){return T.f(t,e,l(1,n))}:function(t,e,n){return t[e]=n,t},E=function(t,e){try{F(r,t,e)}catch(n){r[t]=e}return e},k=r["__core-js_shared__"]||E("__core-js_shared__",{}),A=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return A.call(t)});var P,N,_,H=k.inspectSource,M=r.WeakMap,I="function"==typeof M&&/native code/.test(H(M)),W=n((function(t){(t.exports=function(t,e){return k[t]||(k[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),D=0,L=Math.random(),X=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++D+L).toString(36)},Y=W("keys"),q=function(t){return Y[t]||(Y[t]=X(t))},V={},z=r.WeakMap;if(I){var G=new z,K=G.get,Q=G.has,Z=G.set;P=function(t,e){return Z.call(G,t,e),e},N=function(t){return K.call(G,t)||{}},_=function(t){return Q.call(G,t)}}else{var J=q("state");V[J]=!0,P=function(t,e){return F(t,J,e),e},N=function(t){return x(t,J)?t[J]:{}},_=function(t){return x(t,J)}}var U,tt,et={set:P,get:N,has:_,enforce:function(t){return _(t)?N(t):P(t,{})},getterFor:function(t){return function(e){var n;if(!v(e)||(n=N(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,i=String(String).split("String");(t.exports=function(t,e,o,u){var f=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,c=!!u&&!!u.noTargetGet;"function"==typeof o&&("string"!=typeof e||x(o,"name")||F(o,"name",e),n(o).source=i.join("string"==typeof e?e:"")),t!==r?(f?!c&&t[e]&&(a=!0):delete t[e],a?t[e]=o:F(t,e,o)):a?t[e]=o:E(e,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||H(this)}))})),it=r,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?rt(it[t])||rt(r[t]):it[t]&&it[t][e]||r[t]&&r[t][e]},ut=Math.ceil,ft=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ft:ut)(t)},ct=Math.min,lt=function(t){return t>0?ct(at(t),9007199254740991):0},st=Math.max,dt=Math.min,ht=function(t){return function(e,n,i){var r,o=g(e),u=lt(o.length),f=function(t,e){var n=at(t);return n<0?st(n+e,0):dt(n,e)}(i,u);if(t&&n!=n){for(;u>f;)if((r=o[f++])!=r)return!0}else for(;u>f;f++)if((t||f in o)&&o[f]===n)return t||f||0;return!t&&-1}},pt={includes:ht(!0),indexOf:ht(!1)},yt=pt.indexOf,gt=function(t,e){var n,i=g(t),r=0,o=[];for(n in i)!x(V,n)&&x(i,n)&&o.push(n);for(;e.length>r;)x(i,n=e[r++])&&(~yt(o,n)||o.push(n));return o},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=vt.concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return gt(t,bt)}},xt={f:Object.getOwnPropertySymbols},$t=ot("Reflect","ownKeys")||function(t){var e=mt.f(j(t)),n=xt.f;return n?e.concat(n(t)):e},wt=function(t,e){for(var n=$t(e),i=T.f,r=B.f,o=0;o<n.length;o++){var u=n[o];x(t,u)||i(t,u,r(e,u))}},Ot=/#|\.prototype\./,Ct=function(t,e){var n=Bt[St(t)];return n==Rt||n!=jt&&("function"==typeof e?o(e):!!e)},St=Ct.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},Bt=Ct.data={},jt=Ct.NATIVE="N",Rt=Ct.POLYFILL="P",Tt=Ct,Ft=B.f,Et=function(t,e){var n,i,o,u,f,a=t.target,c=t.global,l=t.stat;if(n=c?r:l?r[a]||E(a,{}):(r[a]||{}).prototype)for(i in e){if(u=e[i],o=t.noTargetGet?(f=Ft(n,i))&&f.value:n[i],!Tt(c?i:a+(l?".":"#")+i,t.forced)&&void 0!==o){if(typeof u==typeof o)continue;wt(u,o)}(t.sham||o&&o.sham)&&F(u,"sham",!0),nt(n,i,u,t)}},kt=Array.isArray||function(t){return"Array"==d(t)},At=function(t){return Object(y(t))},Pt=function(t,e,n){var i=b(e);i in t?T.f(t,i,l(0,n)):t[i]=n},Nt=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())})),_t=Nt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ht=W("wks"),Mt=r.Symbol,It=_t?Mt:X,Wt=function(t){return x(Ht,t)||(Nt&&x(Mt,t)?Ht[t]=Mt[t]:Ht[t]=It("Symbol."+t)),Ht[t]},Dt=Wt("species"),Lt=function(t,e){var n;return kt(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!kt(n.prototype)?v(n)&&null===(n=n[Dt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},Xt=ot("navigator","userAgent")||"",Yt=r.process,qt=Yt&&Yt.versions,Vt=qt&&qt.v8;Vt?tt=(U=Vt.split("."))[0]+U[1]:Xt&&(!(U=Xt.match(/Edge\/(\d+)/))||U[1]>=74)&&(U=Xt.match(/Chrome\/(\d+)/))&&(tt=U[1]);var zt,Gt=tt&&+tt,Kt=Wt("species"),Qt=Wt("isConcatSpreadable"),Zt=Gt>=51||!o((function(){var t=[];return t[Qt]=!1,t.concat()[0]!==t})),Jt=(zt="concat",Gt>=51||!o((function(){var t=[];return(t.constructor={})[Kt]=function(){return{foo:1}},1!==t[zt](Boolean).foo}))),Ut=function(t){if(!v(t))return!1;var e=t[Qt];return void 0!==e?!!e:kt(t)};Et({target:"Array",proto:!0,forced:!Zt||!Jt},{concat:function(t){var e,n,i,r,o,u=At(this),f=Lt(u,0),a=0;for(e=-1,i=arguments.length;e<i;e++)if(o=-1===e?u:arguments[e],Ut(o)){if(a+(r=lt(o.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<r;n++,a++)n in o&&Pt(f,a,o[n])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Pt(f,a++,o)}return f.length=a,f}});var te,ee=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}},ne=[].push,ie=function(t){var e=1==t,n=2==t,i=3==t,r=4==t,o=6==t,u=5==t||o;return function(f,a,c,l){for(var s,d,h=At(f),y=p(h),g=ee(a,c,3),v=lt(y.length),b=0,m=l||Lt,x=e?m(f,v):n?m(f,0):void 0;v>b;b++)if((u||b in y)&&(d=g(s=y[b],b,h),t))if(e)x[b]=d;else if(d)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:ne.call(x,s)}else if(r)return!1;return o?-1:i||r?r:x}},re={forEach:ie(0),map:ie(1),filter:ie(2),some:ie(3),every:ie(4),find:ie(5),findIndex:ie(6)},oe=Object.keys||function(t){return gt(t,vt)},ue=u?Object.defineProperties:function(t,e){j(t);for(var n,i=oe(e),r=i.length,o=0;r>o;)T.f(t,n=i[o++],e[n]);return t},fe=ot("document","documentElement"),ae=q("IE_PROTO"),ce=function(){},le=function(t){return"<script>"+t+"<\/script>"},se=function(){try{te=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;se=te?function(t){t.write(le("")),t.close();var e=t.parentWindow.Object;return t=null,e}(te):((e=O("iframe")).style.display="none",fe.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(le("document.F=Object")),t.close(),t.F);for(var n=vt.length;n--;)delete se.prototype[vt[n]];return se()};V[ae]=!0;var de=Object.create||function(t,e){var n;return null!==t?(ce.prototype=j(t),n=new ce,ce.prototype=null,n[ae]=t):n=se(),void 0===e?n:ue(n,e)},he=Wt("unscopables"),pe=Array.prototype;null==pe[he]&&T.f(pe,he,{configurable:!0,value:de(null)});var ye,ge=re.find,ve=!0;"find"in[]&&Array(1).find((function(){ve=!1})),Et({target:"Array",proto:!0,forced:ve},{find:function(t){return ge(this,t,arguments.length>1?arguments[1]:void 0)}}),ye="find",pe[he][ye]=!0;var be=pt.indexOf,me=[].indexOf,xe=!!me&&1/[1].indexOf(1,-0)<0,$e=function(t,e){var n=[][t];return!n||!o((function(){n.call(null,e||function(){throw 1},1)}))}("indexOf");Et({target:"Array",proto:!0,forced:xe||$e},{indexOf:function(t){return xe?me.apply(this,arguments)||0:be(this,t,arguments.length>1?arguments[1]:void 0)}});var we=[].reverse,Oe=[1,2];Et({target:"Array",proto:!0,forced:String(Oe)===String(Oe.reverse())},{reverse:function(){return kt(this)&&(this.length=this.length),we.call(this)}});var Ce="\t\n\v\f\r                　\u2028\u2029\ufeff",Se="["+Ce+"]",Be=RegExp("^"+Se+Se+"*"),je=RegExp(Se+Se+"*$"),Re=function(t){return function(e){var n=String(y(e));return 1&t&&(n=n.replace(Be,"")),2&t&&(n=n.replace(je,"")),n}},Te={start:Re(1),end:Re(2),trim:Re(3)}.trim,Fe=r.parseInt,Ee=/^[+-]?0[Xx]/,ke=8!==Fe(Ce+"08")||22!==Fe(Ce+"0x16")?function(t,e){var n=Te(String(t));return Fe(n,e>>>0||(Ee.test(n)?16:10))}:Fe;function Ae(t){return(Ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Pe(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function Ne(t){return(Ne=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function _e(t,e){return(_e=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function He(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Me(t,e,n){return(Me="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var i=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Ne(t)););return t}(t,e);if(i){var r=Object.getOwnPropertyDescriptor(i,e);return r.get?r.get.call(n):r.value}})(t,e,n||t)}Et({global:!0,forced:parseInt!=ke},{parseInt:ke});var Ie=t.fn.bootstrapTable.utils,We=10,De=40,Le=800;t.extend(t.fn.bootstrapTable.defaults,{fixedColumns:!1,fixedNumber:0,fixedRightNumber:0}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),He(this,Ne(n).apply(this,arguments))}var i,r,o;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&_e(t,e)}(n,e),i=n,(r=[{key:"fixedColumnsSupported",value:function(){return this.options.fixedColumns&&!this.options.detailView&&!this.options.cardView}},{key:"initContainer",value:function(){Me(Ne(n.prototype),"initContainer",this).call(this),this.fixedColumnsSupported()&&(this.options.fixedNumber&&(this.$tableContainer.append('<div class="fixed-columns"></div>'),this.$fixedColumns=this.$tableContainer.find(".fixed-columns")),this.options.fixedRightNumber&&(this.$tableContainer.append('<div class="fixed-columns-right"></div>'),this.$fixedColumnsRight=this.$tableContainer.find(".fixed-columns-right")))}},{key:"initBody",value:function(){for(var t,e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];(t=Me(Ne(n.prototype),"initBody",this)).call.apply(t,[this].concat(i)),this.fixedColumnsSupported()&&(this.options.showHeader&&this.options.height||(this.initFixedColumnsBody(),this.initFixedColumnsEvents()))}},{key:"trigger",value:function(){for(var t,e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];(t=Me(Ne(n.prototype),"trigger",this)).call.apply(t,[this].concat(i)),this.fixedColumnsSupported()&&("post-header"===i[0]?this.initFixedColumnsHeader():"scroll-body"===i[0]&&(this.needFixedColumns&&this.options.fixedNumber&&this.$fixedBody.scrollTop(this.$tableBody.scrollTop()),this.needFixedColumns&&this.options.fixedRightNumber&&this.$fixedBodyRight.scrollTop(this.$tableBody.scrollTop())))}},{key:"updateSelected",value:function(){var e=this;Me(Ne(n.prototype),"updateSelected",this).call(this),this.fixedColumnsSupported()&&this.$tableBody.find("tr").each((function(n,i){var r=t(i),o=r.data("index"),u=r.attr("class"),f='[name="'.concat(e.options.selectItemName,'"]'),a=r.find(f);if(void 0!==Ae(o)){var c=function(t,n){var i=n.find('tr[data-index="'.concat(o,'"]'));i.attr("class",u),a.length&&i.find(f).prop("checked",a.prop("checked")),e.$selectAll.length&&t.add(n).find('[name="btSelectAll"]').prop("checked",e.$selectAll.prop("checked"))};e.$fixedBody&&e.options.fixedNumber&&c(e.$fixedHeader,e.$fixedBody),e.$fixedBodyRight&&e.options.fixedRightNumber&&c(e.$fixedHeaderRight,e.$fixedBodyRight)}}))}},{key:"initFixedColumnsHeader",value:function(){var t=this;this.options.height?this.needFixedColumns=this.$tableHeader.outerWidth(!0)<this.$tableHeader.find("table").outerWidth(!0):this.needFixedColumns=this.$tableBody.outerWidth(!0)<this.$tableBody.find("table").outerWidth(!0);var e=function(e,n){return e.find(".fixed-table-header").remove(),e.append(t.$tableHeader.clone(!0)),e.css({width:t.getFixedColumnsWidth(n)}),e.find(".fixed-table-header")};this.needFixedColumns&&this.options.fixedNumber?(this.$fixedHeader=e(this.$fixedColumns),this.$fixedHeader.css("margin-right","")):this.$fixedColumns&&this.$fixedColumns.html("").css("width",""),this.needFixedColumns&&this.options.fixedRightNumber?(this.$fixedHeaderRight=e(this.$fixedColumnsRight,!0),this.$fixedHeaderRight.scrollLeft(this.$fixedHeaderRight.find("table").width())):this.$fixedColumnsRight&&this.$fixedColumnsRight.html("").css("width",""),this.initFixedColumnsBody(),this.initFixedColumnsEvents()}},{key:"initFixedColumnsBody",value:function(){var t=this,e=function(e,n){e.find(".fixed-table-body").remove(),e.append(t.$tableBody.clone(!0));var i=e.find(".fixed-table-body"),r=t.$tableBody.get(0),o=r.scrollWidth>r.clientWidth?Ie.getScrollBarWidth():0,u=t.$tableContainer.outerHeight(!0)-o-1;return e.css({height:u}),i.css({height:u-n.height()}),i};this.needFixedColumns&&this.options.fixedNumber&&(this.$fixedBody=e(this.$fixedColumns,this.$fixedHeader)),this.needFixedColumns&&this.options.fixedRightNumber&&(this.$fixedBodyRight=e(this.$fixedColumnsRight,this.$fixedHeaderRight),this.$fixedBodyRight.scrollLeft(this.$fixedBodyRight.find("table").width()),this.$fixedBodyRight.css("overflow-y",this.options.height?"auto":"hidden"))}},{key:"getFixedColumnsWidth",value:function(t){var e=this.getVisibleFields(),n=0,i=this.options.fixedNumber,r=0;t&&(e=e.reverse(),i=this.options.fixedRightNumber,r=parseInt(this.$tableHeader.css("margin-right"),10));for(var o=0;o<i;o++)n+=this.$header.find('th[data-field="'.concat(e[o],'"]')).outerWidth(!0);return n+r+1}},{key:"initFixedColumnsEvents",value:function(){var e=this,n=function(n,i){var r='tr[data-index="'.concat(t(n.currentTarget).data("index"),'"]'),o=e.$tableBody.find(r);e.$fixedBody&&(o=o.add(e.$fixedBody.find(r))),e.$fixedBodyRight&&(o=o.add(e.$fixedBodyRight.find(r))),o.css("background-color",i?t(n.currentTarget).css("background-color"):"")};this.$tableBody.find("tr").hover((function(t){n(t,!0)}),(function(t){n(t,!1)}));var i="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>-1?"DOMMouseScroll":"mousewheel",r=function(t,n){var i,r,o,u,f,a=(r=0,o=0,u=0,f=0,"detail"in(i=t)&&(o=i.detail),"wheelDelta"in i&&(o=-i.wheelDelta/120),"wheelDeltaY"in i&&(o=-i.wheelDeltaY/120),"wheelDeltaX"in i&&(r=-i.wheelDeltaX/120),"axis"in i&&i.axis===i.HORIZONTAL_AXIS&&(r=o,o=0),u=r*We,f=o*We,"deltaY"in i&&(f=i.deltaY),"deltaX"in i&&(u=i.deltaX),(u||f)&&i.deltaMode&&(1===i.deltaMode?(u*=De,f*=De):(u*=Le,f*=Le)),u&&!r&&(r=u<1?-1:1),f&&!o&&(o=f<1?-1:1),{spinX:r,spinY:o,pixelX:u,pixelY:f}),c=Math.ceil(a.pixelY),l=e.$tableBody.scrollTop()+c;(c<0&&l>0||c>0&&l<n.scrollHeight-n.clientHeight)&&t.preventDefault(),e.$tableBody.scrollTop(l),e.$fixedBody&&e.$fixedBody.scrollTop(l),e.$fixedBodyRight&&e.$fixedBodyRight.scrollTop(l)};this.needFixedColumns&&this.options.fixedNumber&&(this.$fixedBody.find("tr").hover((function(t){n(t,!0)}),(function(t){n(t,!1)})),this.$fixedBody[0].addEventListener(i,(function(t){r(t,e.$fixedBody[0])}))),this.needFixedColumns&&this.options.fixedRightNumber&&(this.$fixedBodyRight.find("tr").hover((function(t){n(t,!0)}),(function(t){n(t,!1)})),this.$fixedBodyRight.off("scroll").on("scroll",(function(){var t=e.$fixedBodyRight.scrollTop();e.$tableBody.scrollTop(t),e.$fixedBody&&e.$fixedBody.scrollTop(t)}))),this.options.filterControl&&t(this.$fixedColumns).off("keyup change").on("keyup change",(function(n){var i=t(n.target),r=i.val(),o=i.parents("th").data("field"),u=e.$header.find('th[data-field="'.concat(o,'"]'));if(i.is("input"))u.find("input").val(r);else if(i.is("select")){var f=u.find("select");f.find("option[selected]").removeAttr("selected"),f.find('option[value="'.concat(r,'"]')).attr("selected",!0)}e.triggerSearch()}))}}])&&Pe(i.prototype,r),o&&Pe(i,o),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css b/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css
deleted file mode 100644
index b898b4d..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.bootstrap-table .table > tbody > tr.groupBy {
-  cursor: pointer;
-}
-
-.bootstrap-table .table > tbody > tr.hidden + tr.detail-view {
-  display: none;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js b/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js
deleted file mode 100644
index 52d03d3..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js
+++ /dev/null
@@ -1,1874 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	var test = [];
-	var nativeSort = test.sort;
-
-	// IE8-
-	var FAILS_ON_UNDEFINED = fails(function () {
-	  test.sort(undefined);
-	});
-	// V8 bug
-	var FAILS_ON_NULL = fails(function () {
-	  test.sort(null);
-	});
-	// Old WebKit
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('sort');
-
-	var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD$1;
-
-	// `Array.prototype.sort` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.sort
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  sort: function sort(comparefn) {
-	    return comparefn === undefined
-	      ? nativeSort.call(toObject(this))
-	      : nativeSort.call(toObject(this), aFunction$1(comparefn));
-	  }
-	});
-
-	var defineProperty = objectDefineProperty.f;
-
-	var FunctionPrototype = Function.prototype;
-	var FunctionPrototypeToString = FunctionPrototype.toString;
-	var nameRE = /^\s*function ([^ (]*)/;
-	var NAME = 'name';
-
-	// Function instances `.name` property
-	// https://tc39.github.io/ecma262/#sec-function-instances-name
-	if (descriptors && !(NAME in FunctionPrototype)) {
-	  defineProperty(FunctionPrototype, NAME, {
-	    configurable: true,
-	    get: function () {
-	      try {
-	        return FunctionPrototypeToString.call(this).match(nameRE)[1];
-	      } catch (error) {
-	        return '';
-	      }
-	    }
-	  });
-	}
-
-	var nativeAssign = Object.assign;
-	var defineProperty$1 = Object.defineProperty;
-
-	// `Object.assign` method
-	// https://tc39.github.io/ecma262/#sec-object.assign
-	var objectAssign = !nativeAssign || fails(function () {
-	  // should have correct order of operations (Edge bug)
-	  if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$1({}, 'a', {
-	    enumerable: true,
-	    get: function () {
-	      defineProperty$1(this, 'b', {
-	        value: 3,
-	        enumerable: false
-	      });
-	    }
-	  }), { b: 2 })).b !== 1) return true;
-	  // should work with symbols and should have deterministic property order (V8 bug)
-	  var A = {};
-	  var B = {};
-	  // eslint-disable-next-line no-undef
-	  var symbol = Symbol();
-	  var alphabet = 'abcdefghijklmnopqrst';
-	  A[symbol] = 7;
-	  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
-	  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-	}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
-	  var T = toObject(target);
-	  var argumentsLength = arguments.length;
-	  var index = 1;
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-	  while (argumentsLength > index) {
-	    var S = indexedObject(arguments[index++]);
-	    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
-	    var length = keys.length;
-	    var j = 0;
-	    var key;
-	    while (length > j) {
-	      key = keys[j++];
-	      if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
-	    }
-	  } return T;
-	} : nativeAssign;
-
-	// `Object.assign` method
-	// https://tc39.github.io/ecma262/#sec-object.assign
-	_export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, {
-	  assign: objectAssign
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$3] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var max$2 = Math.max;
-	var min$2 = Math.min;
-	var floor$1 = Math.floor;
-	var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
-	var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
-	var maybeToString = function (it) {
-	  return it === undefined ? it : String(it);
-	};
-
-	// @@replace logic
-	fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
-	  return [
-	    // `String.prototype.replace` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
-	    function replace(searchValue, replaceValue) {
-	      var O = requireObjectCoercible(this);
-	      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
-	      return replacer !== undefined
-	        ? replacer.call(searchValue, O, replaceValue)
-	        : nativeReplace.call(String(O), searchValue, replaceValue);
-	    },
-	    // `RegExp.prototype[@@replace]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
-	    function (regexp, replaceValue) {
-	      if (reason.REPLACE_KEEPS_$0 || (typeof replaceValue === 'string' && replaceValue.indexOf('$0') === -1)) {
-	        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
-	        if (res.done) return res.value;
-	      }
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var functionalReplace = typeof replaceValue === 'function';
-	      if (!functionalReplace) replaceValue = String(replaceValue);
-
-	      var global = rx.global;
-	      if (global) {
-	        var fullUnicode = rx.unicode;
-	        rx.lastIndex = 0;
-	      }
-	      var results = [];
-	      while (true) {
-	        var result = regexpExecAbstract(rx, S);
-	        if (result === null) break;
-
-	        results.push(result);
-	        if (!global) break;
-
-	        var matchStr = String(result[0]);
-	        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
-	      }
-
-	      var accumulatedResult = '';
-	      var nextSourcePosition = 0;
-	      for (var i = 0; i < results.length; i++) {
-	        result = results[i];
-
-	        var matched = String(result[0]);
-	        var position = max$2(min$2(toInteger(result.index), S.length), 0);
-	        var captures = [];
-	        // NOTE: This is equivalent to
-	        //   captures = result.slice(1).map(maybeToString)
-	        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
-	        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
-	        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-	        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
-	        var namedCaptures = result.groups;
-	        if (functionalReplace) {
-	          var replacerArgs = [matched].concat(captures, position, S);
-	          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
-	          var replacement = String(replaceValue.apply(undefined, replacerArgs));
-	        } else {
-	          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
-	        }
-	        if (position >= nextSourcePosition) {
-	          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
-	          nextSourcePosition = position + matched.length;
-	        }
-	      }
-	      return accumulatedResult + S.slice(nextSourcePosition);
-	    }
-	  ];
-
-	  // https://tc39.github.io/ecma262/#sec-getsubstitution
-	  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
-	    var tailPos = position + matched.length;
-	    var m = captures.length;
-	    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-	    if (namedCaptures !== undefined) {
-	      namedCaptures = toObject(namedCaptures);
-	      symbols = SUBSTITUTION_SYMBOLS;
-	    }
-	    return nativeReplace.call(replacement, symbols, function (match, ch) {
-	      var capture;
-	      switch (ch.charAt(0)) {
-	        case '$': return '$';
-	        case '&': return matched;
-	        case '`': return str.slice(0, position);
-	        case "'": return str.slice(tailPos);
-	        case '<':
-	          capture = namedCaptures[ch.slice(1, -1)];
-	          break;
-	        default: // \d\d?
-	          var n = +ch;
-	          if (n === 0) return match;
-	          if (n > m) {
-	            var f = floor$1(n / 10);
-	            if (f === 0) return match;
-	            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
-	            return match;
-	          }
-	          capture = captures[n - 1];
-	      }
-	      return capture === undefined ? '' : capture;
-	    });
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-
-	// `Array.prototype.forEach` method implementation
-	// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
-	  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	} : [].forEach;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  // some Chrome versions have non-configurable methods on DOMTokenList
-	  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
-	    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
-	  } catch (error) {
-	    CollectionPrototype.forEach = arrayForEach;
-	  }
-	}
-
-	function _typeof(obj) {
-	  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
-	    _typeof = function (obj) {
-	      return typeof obj;
-	    };
-	  } else {
-	    _typeof = function (obj) {
-	      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
-	    };
-	  }
-
-	  return _typeof(obj);
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Yura Knoxville
-	 * @version: v1.1.0
-	 */
-
-	var initBodyCaller; // it only does '%s', and return '' when arguments are undefined
-
-	var sprintf = function sprintf(str) {
-	  var args = arguments;
-	  var flag = true;
-	  var i = 1;
-	  str = str.replace(/%s/g, function () {
-	    var arg = args[i++];
-
-	    if (typeof arg === 'undefined') {
-	      flag = false;
-	      return '';
-	    }
-
-	    return arg;
-	  });
-	  return flag ? str : '';
-	};
-
-	var groupBy = function groupBy(array, f) {
-	  var tmpGroups = {};
-	  array.forEach(function (o) {
-	    var groups = f(o);
-	    tmpGroups[groups] = tmpGroups[groups] || [];
-	    tmpGroups[groups].push(o);
-	  });
-	  return tmpGroups;
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  groupBy: false,
-	  groupByField: '',
-	  groupByFormatter: undefined
-	});
-	var Utils = $.fn.bootstrapTable.utils;
-	var BootstrapTable = $.fn.bootstrapTable.Constructor;
-	var _initSort = BootstrapTable.prototype.initSort;
-	var _initBody = BootstrapTable.prototype.initBody;
-	var _updateSelected = BootstrapTable.prototype.updateSelected;
-
-	BootstrapTable.prototype.initSort = function () {
-	  var _this = this;
-
-	  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	    args[_key] = arguments[_key];
-	  }
-
-	  _initSort.apply(this, Array.prototype.slice.apply(args));
-
-	  var that = this;
-	  this.tableGroups = [];
-
-	  if (this.options.groupBy && this.options.groupByField !== '') {
-	    if (this.options.sortName !== this.options.groupByField) {
-	      if (this.options.customSort) {
-	        Utils.calculateObjectValue(this.options, this.options.customSort, [this.options.sortName, this.options.sortOrder, this.data]);
-	      } else {
-	        this.data.sort(function (a, b) {
-	          var groupByFields = _this.getGroupByFields();
-
-	          var fieldValuesA = [];
-	          var fieldValuesB = [];
-	          $.each(groupByFields, function (i, field) {
-	            fieldValuesA.push(a[field]);
-	            fieldValuesB.push(b[field]);
-	          });
-	          a = fieldValuesA.join();
-	          b = fieldValuesB.join();
-	          return a.localeCompare(b, undefined, {
-	            numeric: true
-	          });
-	        });
-	      }
-	    }
-
-	    var groups = groupBy(that.data, function (item) {
-	      var groupByFields = _this.getGroupByFields();
-
-	      var groupValues = [];
-	      $.each(groupByFields, function (i, field) {
-	        groupValues.push(item[field]);
-	      });
-	      return groupValues.join(', ');
-	    });
-	    var index = 0;
-	    $.each(groups, function (key, value) {
-	      _this.tableGroups.push({
-	        id: index,
-	        name: key,
-	        data: value
-	      });
-
-	      value.forEach(function (item) {
-	        if (!item._data) {
-	          item._data = {};
-	        }
-
-	        item._data['parent-index'] = index;
-	      });
-	      index++;
-	    });
-	  }
-	};
-
-	BootstrapTable.prototype.initBody = function () {
-	  initBodyCaller = true;
-
-	  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	    args[_key2] = arguments[_key2];
-	  }
-
-	  _initBody.apply(this, Array.prototype.slice.apply(args));
-
-	  if (this.options.groupBy && this.options.groupByField !== '') {
-	    var that = this;
-	    var checkBox = false;
-	    var visibleColumns = 0;
-	    this.columns.forEach(function (column) {
-	      if (column.checkbox) {
-	        checkBox = true;
-	      } else {
-	        if (column.visible) {
-	          visibleColumns += 1;
-	        }
-	      }
-	    });
-
-	    if (this.options.detailView && !this.options.cardView) {
-	      visibleColumns += 1;
-	    }
-
-	    this.tableGroups.forEach(function (item) {
-	      var html = [];
-	      html.push(sprintf('<tr class="info groupBy expanded" data-group-index="%s">', item.id));
-
-	      if (that.options.detailView && !that.options.cardView) {
-	        html.push('<td class="detail"></td>');
-	      }
-
-	      if (checkBox) {
-	        html.push('<td class="bs-checkbox">', '<input name="btSelectGroup" type="checkbox" />', '</td>');
-	      }
-
-	      var formattedValue = item.name;
-
-	      if (typeof that.options.groupByFormatter === 'function') {
-	        formattedValue = that.options.groupByFormatter(item.name, item.id, item.data);
-	      }
-
-	      html.push('<td', sprintf(' colspan="%s"', visibleColumns), '>', formattedValue, '</td>');
-	      html.push('</tr>');
-	      that.$body.find("tr[data-parent-index=".concat(item.id, "]:first")).before($(html.join('')));
-	    });
-	    this.$selectGroup = [];
-	    this.$body.find('[name="btSelectGroup"]').each(function () {
-	      var self = $(this);
-	      that.$selectGroup.push({
-	        group: self,
-	        item: that.$selectItem.filter(function () {
-	          return $(this).closest('tr').data('parent-index') === self.closest('tr').data('group-index');
-	        })
-	      });
-	    });
-	    this.$container.off('click', '.groupBy').on('click', '.groupBy', function () {
-	      $(this).toggleClass('expanded');
-	      that.$body.find("tr[data-parent-index=".concat($(this).closest('tr').data('group-index'), "]")).toggleClass('hidden');
-	    });
-	    this.$container.off('click', '[name="btSelectGroup"]').on('click', '[name="btSelectGroup"]', function (event) {
-	      event.stopImmediatePropagation();
-	      var self = $(this);
-	      var checked = self.prop('checked');
-	      that[checked ? 'checkGroup' : 'uncheckGroup']($(this).closest('tr').data('group-index'));
-	    });
-	  }
-
-	  initBodyCaller = false;
-	  this.updateSelected();
-	};
-
-	BootstrapTable.prototype.updateSelected = function () {
-	  if (!initBodyCaller) {
-	    for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
-	      args[_key3] = arguments[_key3];
-	    }
-
-	    _updateSelected.apply(this, Array.prototype.slice.apply(args));
-
-	    if (this.options.groupBy && this.options.groupByField !== '') {
-	      this.$selectGroup.forEach(function (item) {
-	        var checkGroup = item.item.filter(':enabled').length === item.item.filter(':enabled').filter(':checked').length;
-	        item.group.prop('checked', checkGroup);
-	      });
-	    }
-	  }
-	};
-
-	BootstrapTable.prototype.getGroupSelections = function (index) {
-	  var that = this;
-	  return this.data.filter(function (row) {
-	    return row[that.header.stateField] && row._data['parent-index'] === index;
-	  });
-	};
-
-	BootstrapTable.prototype.checkGroup = function (index) {
-	  this.checkGroup_(index, true);
-	};
-
-	BootstrapTable.prototype.uncheckGroup = function (index) {
-	  this.checkGroup_(index, false);
-	};
-
-	BootstrapTable.prototype.checkGroup_ = function (index, checked) {
-	  var rows;
-
-	  var filter = function filter() {
-	    return $(this).closest('tr').data('parent-index') === index;
-	  };
-
-	  if (!checked) {
-	    rows = this.getGroupSelections(index);
-	  }
-
-	  this.$selectItem.filter(filter).prop('checked', checked);
-	  this.updateRows();
-	  this.updateSelected();
-
-	  if (checked) {
-	    rows = this.getGroupSelections(index);
-	  }
-
-	  this.trigger(checked ? 'check-all' : 'uncheck-all', rows);
-	};
-
-	BootstrapTable.prototype.getGroupByFields = function () {
-	  var groupByFields = this.options.groupByField;
-
-	  if (!$.isArray(this.options.groupByField)) {
-	    groupByFields = [this.options.groupByField];
-	  }
-
-	  return groupByFields;
-	};
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "scrollTo",
-	    value: function scrollTo(params) {
-	      if (this.options.groupBy) {
-	        var options = {
-	          unit: 'px',
-	          value: 0
-	        };
-
-	        if (_typeof(params) === 'object') {
-	          options = Object.assign(options, params);
-	        }
-
-	        if (options.unit === 'rows') {
-	          var scrollTo = 0;
-	          this.$body.find("> tr:lt(".concat(options.value, ")")).each(function (i, el) {
-	            scrollTo += $(el).outerHeight(true);
-	          });
-	          var $targetColumn = this.$body.find("> tr:not(.groupBy):eq(".concat(options.value, ")"));
-	          $targetColumn.prevAll('.groupBy').each(function (i, el) {
-	            scrollTo += $(el).outerHeight(true);
-	          });
-	          this.$tableBody.scrollTop(scrollTo);
-	          return;
-	        }
-	      }
-
-	      _get(_getPrototypeOf(_class.prototype), "scrollTo", this).call(this, params);
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.min.css b/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.min.css
deleted file mode 100644
index 90a3420..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table .table>tbody>tr.groupBy{cursor:pointer}.bootstrap-table .table>tbody>tr.hidden+tr.detail-view{display:none}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.min.js b/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.min.js
deleted file mode 100644
index 38b74dd..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},c=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,l={f:a&&!u.call({1:2},1)?function(t){var e=a(this,t);return!!e&&e.enumerable}:u},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},h="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?h.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(y(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!v(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!v(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!v(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!v(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,S=function(t,e){return m.call(t,e)},x=o.document,O=v(x)&&v(x.createElement),w=function(t){return O?x.createElement(t):{}},j=!c&&!i((function(){return 7!=Object.defineProperty(w("div"),"a",{get:function(){return 7}}).a})),E=Object.getOwnPropertyDescriptor,A={f:c?E:function(t,e){if(t=g(t),e=b(e,!0),j)try{return E(t,e)}catch(t){}if(S(t,e))return f(!l.f.call(t,e),t[e])}},T=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,P={f:c?k:function(t,e,r){if(T(t),e=b(e,!0),T(r),j)try{return k(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},_=c?function(t,e,r){return P.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},L=function(t,e){try{_(o,t,e)}catch(r){o[t]=e}return e},B=o["__core-js_shared__"]||L("__core-js_shared__",{}),G=Function.toString;"function"!=typeof B.inspectSource&&(B.inspectSource=function(t){return G.call(t)});var R,I,$,F=B.inspectSource,C=o.WeakMap,M="function"==typeof C&&/native code/.test(F(C)),N=r((function(t){(t.exports=function(t,e){return B[t]||(B[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),V=0,D=Math.random(),q=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++V+D).toString(36)},H=N("keys"),K=function(t){return H[t]||(H[t]=q(t))},U={},W=o.WeakMap;if(M){var z=new W,Y=z.get,Q=z.has,X=z.set;R=function(t,e){return X.call(z,t,e),e},I=function(t){return Y.call(z,t)||{}},$=function(t){return Q.call(z,t)}}else{var J=K("state");U[J]=!0,R=function(t,e){return _(t,J,e),e},I=function(t){return S(t,J)?t[J]:{}},$=function(t){return S(t,J)}}var Z,tt,et={set:R,get:I,has:$,enforce:function(t){return $(t)?I(t):R(t,{})},getterFor:function(t){return function(e){var r;if(!v(e)||(r=I(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},rt=r((function(t){var e=et.get,r=et.enforce,n=String(String).split("String");(t.exports=function(t,e,i,c){var u=!!c&&!!c.unsafe,a=!!c&&!!c.enumerable,l=!!c&&!!c.noTargetGet;"function"==typeof i&&("string"!=typeof e||S(i,"name")||_(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(u?!l&&t[e]&&(a=!0):delete t[e],a?t[e]=i:_(t,e,i)):a?t[e]=i:L(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),nt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(nt[t])||ot(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},ct=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:ct)(t)},lt=Math.min,ft=function(t){return t>0?lt(at(t),9007199254740991):0},st=Math.max,pt=Math.min,ht=function(t,e){var r=at(t);return r<0?st(r+e,0):pt(r,e)},dt=function(t){return function(e,r,n){var o,i=g(e),c=ft(i.length),u=ht(n,c);if(t&&r!=r){for(;c>u;)if((o=i[u++])!=o)return!0}else for(;c>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},yt={includes:dt(!0),indexOf:dt(!1)}.indexOf,gt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!S(U,r)&&S(n,r)&&i.push(r);for(;e.length>o;)S(n,r=e[o++])&&(~yt(i,r)||i.push(r));return i},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=vt.concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return gt(t,bt)}},St={f:Object.getOwnPropertySymbols},xt=it("Reflect","ownKeys")||function(t){var e=mt.f(T(t)),r=St.f;return r?e.concat(r(t)):e},Ot=function(t,e){for(var r=xt(e),n=P.f,o=A.f,i=0;i<r.length;i++){var c=r[i];S(t,c)||n(t,c,o(e,c))}},wt=/#|\.prototype\./,jt=function(t,e){var r=At[Et(t)];return r==kt||r!=Tt&&("function"==typeof e?i(e):!!e)},Et=jt.normalize=function(t){return String(t).replace(wt,".").toLowerCase()},At=jt.data={},Tt=jt.NATIVE="N",kt=jt.POLYFILL="P",Pt=jt,_t=A.f,Lt=function(t,e){var r,n,i,c,u,a=t.target,l=t.global,f=t.stat;if(r=l?o:f?o[a]||L(a,{}):(o[a]||{}).prototype)for(n in e){if(c=e[n],i=t.noTargetGet?(u=_t(r,n))&&u.value:r[n],!Pt(l?n:a+(f?".":"#")+n,t.forced)&&void 0!==i){if(typeof c==typeof i)continue;Ot(c,i)}(t.sham||i&&i.sham)&&_(c,"sham",!0),rt(r,n,c,t)}},Bt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},Gt=function(t){return Object(y(t))},Rt=Array.isArray||function(t){return"Array"==p(t)},It=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),$t=It&&!Symbol.sham&&"symbol"==typeof Symbol(),Ft=N("wks"),Ct=o.Symbol,Mt=$t?Ct:q,Nt=function(t){return S(Ft,t)||(It&&S(Ct,t)?Ft[t]=Ct[t]:Ft[t]=Mt("Symbol."+t)),Ft[t]},Vt=Nt("species"),Dt=function(t,e){var r;return Rt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Rt(r.prototype)?v(r)&&null===(r=r[Vt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},qt=[].push,Ht=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,c=5==t||i;return function(u,a,l,f){for(var s,p,h=Gt(u),y=d(h),g=function(t,e,r){if(Bt(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}}(a,l,3),v=ft(y.length),b=0,m=f||Dt,S=e?m(u,v):r?m(u,0):void 0;v>b;b++)if((c||b in y)&&(p=g(s=y[b],b,h),t))if(e)S[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:qt.call(S,s)}else if(o)return!1;return i?-1:n||o?o:S}},Kt={forEach:Ht(0),map:Ht(1),filter:Ht(2),some:Ht(3),every:Ht(4),find:Ht(5),findIndex:Ht(6)},Ut=it("navigator","userAgent")||"",Wt=o.process,zt=Wt&&Wt.versions,Yt=zt&&zt.v8;Yt?tt=(Z=Yt.split("."))[0]+Z[1]:Ut&&(!(Z=Ut.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Ut.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Qt=tt&&+tt,Xt=Nt("species"),Jt=function(t){return Qt>=51||!i((function(){var e=[];return(e.constructor={})[Xt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Zt=Kt.filter,te=Jt("filter"),ee=te&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));Lt({target:"Array",proto:!0,forced:!te||!ee},{filter:function(t){return Zt(this,t,arguments.length>1?arguments[1]:void 0)}});var re,ne=Object.keys||function(t){return gt(t,vt)},oe=c?Object.defineProperties:function(t,e){T(t);for(var r,n=ne(e),o=n.length,i=0;o>i;)P.f(t,r=n[i++],e[r]);return t},ie=it("document","documentElement"),ce=K("IE_PROTO"),ue=function(){},ae=function(t){return"<script>"+t+"<\/script>"},le=function(){try{re=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;le=re?function(t){t.write(ae("")),t.close();var e=t.parentWindow.Object;return t=null,e}(re):((e=w("iframe")).style.display="none",ie.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ae("document.F=Object")),t.close(),t.F);for(var r=vt.length;r--;)delete le.prototype[vt[r]];return le()};U[ce]=!0;var fe=Object.create||function(t,e){var r;return null!==t?(ue.prototype=T(t),r=new ue,ue.prototype=null,r[ce]=t):r=le(),void 0===e?r:oe(r,e)},se=Nt("unscopables"),pe=Array.prototype;null==pe[se]&&P.f(pe,se,{configurable:!0,value:fe(null)});var he,de=Kt.find,ye=!0;"find"in[]&&Array(1).find((function(){ye=!1})),Lt({target:"Array",proto:!0,forced:ye},{find:function(t){return de(this,t,arguments.length>1?arguments[1]:void 0)}}),he="find",pe[se][he]=!0;var ge=function(t,e){var r=[][t];return!r||!i((function(){r.call(null,e||function(){throw 1},1)}))},ve=[].join,be=d!=Object,me=ge("join",",");Lt({target:"Array",proto:!0,forced:be||me},{join:function(t){return ve.call(g(this),void 0===t?",":t)}});var Se=function(t,e,r){var n=b(e);n in t?P.f(t,n,f(0,r)):t[n]=r},xe=Nt("species"),Oe=[].slice,we=Math.max;Lt({target:"Array",proto:!0,forced:!Jt("slice")},{slice:function(t,e){var r,n,o,i=g(this),c=ft(i.length),u=ht(t,c),a=ht(void 0===e?c:e,c);if(Rt(i)&&("function"!=typeof(r=i.constructor)||r!==Array&&!Rt(r.prototype)?v(r)&&null===(r=r[xe])&&(r=void 0):r=void 0,r===Array||void 0===r))return Oe.call(i,u,a);for(n=new(void 0===r?Array:r)(we(a-u,0)),o=0;u<a;u++,o++)u in i&&Se(n,o,i[u]);return n.length=o,n}});var je=[],Ee=je.sort,Ae=i((function(){je.sort(void 0)})),Te=i((function(){je.sort(null)})),ke=ge("sort");Lt({target:"Array",proto:!0,forced:Ae||!Te||ke},{sort:function(t){return void 0===t?Ee.call(Gt(this)):Ee.call(Gt(this),Bt(t))}});var Pe=P.f,_e=Function.prototype,Le=_e.toString,Be=/^\s*function ([^ (]*)/;!c||"name"in _e||Pe(_e,"name",{configurable:!0,get:function(){try{return Le.call(this).match(Be)[1]}catch(t){return""}}});var Ge=Object.assign,Re=Object.defineProperty,Ie=!Ge||i((function(){if(c&&1!==Ge({b:1},Ge(Re({},"a",{enumerable:!0,get:function(){Re(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=Ge({},t)[r]||"abcdefghijklmnopqrst"!=ne(Ge({},e)).join("")}))?function(t,e){for(var r=Gt(t),n=arguments.length,o=1,i=St.f,u=l.f;n>o;)for(var a,f=d(arguments[o++]),s=i?ne(f).concat(i(f)):ne(f),p=s.length,h=0;p>h;)a=s[h++],c&&!u.call(f,a)||(r[a]=f[a]);return r}:Ge;Lt({target:"Object",stat:!0,forced:Object.assign!==Ie},{assign:Ie});var $e=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function Fe(t,e){return RegExp(t,e)}var Ce,Me,Ne={UNSUPPORTED_Y:i((function(){var t=Fe("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=Fe("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Ve=RegExp.prototype.exec,De=String.prototype.replace,qe=Ve,He=(Ce=/a/,Me=/b*/g,Ve.call(Ce,"a"),Ve.call(Me,"a"),0!==Ce.lastIndex||0!==Me.lastIndex),Ke=Ne.UNSUPPORTED_Y||Ne.BROKEN_CARET,Ue=void 0!==/()??/.exec("")[1];(He||Ue||Ke)&&(qe=function(t){var e,r,n,o,i=this,c=Ke&&i.sticky,u=$e.call(i),a=i.source,l=0,f=t;return c&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(a="(?: "+a+")",f=" "+f,l++),r=new RegExp("^(?:"+a+")",u)),Ue&&(r=new RegExp("^"+a+"$(?!\\s)",u)),He&&(e=i.lastIndex),n=Ve.call(c?r:i,f),c?n?(n.input=n.input.slice(l),n[0]=n[0].slice(l),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:He&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Ue&&n&&n.length>1&&De.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n});var We=qe;Lt({target:"RegExp",proto:!0,forced:/./.exec!==We},{exec:We});var ze=Nt("species"),Ye=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Qe="$0"==="a".replace(/./,"$0"),Xe=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),Je=function(t){return function(e,r){var n,o,i=String(y(e)),c=at(r),u=i.length;return c<0||c>=u?t?"":void 0:(n=i.charCodeAt(c))<55296||n>56319||c+1===u||(o=i.charCodeAt(c+1))<56320||o>57343?t?i.charAt(c):n:t?i.slice(c,c+2):o-56320+(n-55296<<10)+65536}},Ze={codeAt:Je(!1),charAt:Je(!0)}.charAt,tr=function(t,e,r){return e+(r?Ze(t,e).length:1)},er=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return We.call(t,e)},rr=Math.max,nr=Math.min,or=Math.floor,ir=/\$([$&'`]|\d\d?|<[^>]*>)/g,cr=/\$([$&'`]|\d\d?)/g;!function(t,e,r,n){var o=Nt(t),c=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),u=c&&!i((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[ze]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return e=!0,null},r[o](""),!e}));if(!c||!u||"replace"===t&&(!Ye||!Qe)||"split"===t&&!Xe){var a=/./[o],l=r(o,""[t],(function(t,e,r,n,o){return e.exec===We?c&&!o?{done:!0,value:a.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:Qe}),f=l[0],s=l[1];rt(String.prototype,t,f),rt(RegExp.prototype,o,2==e?function(t,e){return s.call(t,this,e)}:function(t){return s.call(t,this)})}n&&_(RegExp.prototype[o],"sham",!0)}("replace",2,(function(t,e,r,n){return[function(r,n){var o=y(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,i){if(n.REPLACE_KEEPS_$0||"string"==typeof i&&-1===i.indexOf("$0")){var c=r(e,t,this,i);if(c.done)return c.value}var u=T(t),a=String(this),l="function"==typeof i;l||(i=String(i));var f=u.global;if(f){var s=u.unicode;u.lastIndex=0}for(var p=[];;){var h=er(u,a);if(null===h)break;if(p.push(h),!f)break;""===String(h[0])&&(u.lastIndex=tr(a,ft(u.lastIndex),s))}for(var d,y="",g=0,v=0;v<p.length;v++){h=p[v];for(var b=String(h[0]),m=rr(nr(at(h.index),a.length),0),S=[],x=1;x<h.length;x++)S.push(void 0===(d=h[x])?d:String(d));var O=h.groups;if(l){var w=[b].concat(S,m,a);void 0!==O&&w.push(O);var j=String(i.apply(void 0,w))}else j=o(b,a,m,S,O,i);m>=g&&(y+=a.slice(g,m)+j,g=m+b.length)}return y+a.slice(g)}];function o(t,r,n,o,i,c){var u=n+t.length,a=o.length,l=cr;return void 0!==i&&(i=Gt(i),l=ir),e.call(c,l,(function(e,c){var l;switch(c.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":l=i[c.slice(1,-1)];break;default:var f=+c;if(0===f)return e;if(f>a){var s=or(f/10);return 0===s?e:s<=a?void 0===o[s-1]?c.charAt(1):o[s-1]+c.charAt(1):e}l=o[f-1]}return void 0===l?"":l}))}}));var ur,ar=Kt.forEach,lr=ge("forEach")?function(t){return ar(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;for(var fr in{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}){var sr=o[fr],pr=sr&&sr.prototype;if(pr&&pr.forEach!==lr)try{_(pr,"forEach",lr)}catch(t){pr.forEach=lr}}function hr(t){return(hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function dr(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function yr(t){return(yr=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function gr(t,e){return(gr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function vr(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function br(t,e,r){return(br="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=yr(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(r):o.value}})(t,e,r||t)}var mr=function(t){var e=arguments,r=!0,n=1;return t=t.replace(/%s/g,(function(){var t=e[n++];return void 0===t?(r=!1,""):t})),r?t:""},Sr=function(t,e){var r={};return t.forEach((function(t){var n=e(t);r[n]=r[n]||[],r[n].push(t)})),r};t.extend(t.fn.bootstrapTable.defaults,{groupBy:!1,groupByField:"",groupByFormatter:void 0});var xr=t.fn.bootstrapTable.utils,Or=t.fn.bootstrapTable.Constructor,wr=Or.prototype.initSort,jr=Or.prototype.initBody,Er=Or.prototype.updateSelected;Or.prototype.initSort=function(){for(var e=this,r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];wr.apply(this,Array.prototype.slice.apply(n));var i=this;if(this.tableGroups=[],this.options.groupBy&&""!==this.options.groupByField){this.options.sortName!==this.options.groupByField&&(this.options.customSort?xr.calculateObjectValue(this.options,this.options.customSort,[this.options.sortName,this.options.sortOrder,this.data]):this.data.sort((function(r,n){var o=e.getGroupByFields(),i=[],c=[];return t.each(o,(function(t,e){i.push(r[e]),c.push(n[e])})),r=i.join(),n=c.join(),r.localeCompare(n,void 0,{numeric:!0})})));var c=Sr(i.data,(function(r){var n=e.getGroupByFields(),o=[];return t.each(n,(function(t,e){o.push(r[e])})),o.join(", ")})),u=0;t.each(c,(function(t,r){e.tableGroups.push({id:u,name:t,data:r}),r.forEach((function(t){t._data||(t._data={}),t._data["parent-index"]=u})),u++}))}},Or.prototype.initBody=function(){ur=!0;for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(jr.apply(this,Array.prototype.slice.apply(r)),this.options.groupBy&&""!==this.options.groupByField){var o=this,i=!1,c=0;this.columns.forEach((function(t){t.checkbox?i=!0:t.visible&&(c+=1)})),this.options.detailView&&!this.options.cardView&&(c+=1),this.tableGroups.forEach((function(e){var r=[];r.push(mr('<tr class="info groupBy expanded" data-group-index="%s">',e.id)),o.options.detailView&&!o.options.cardView&&r.push('<td class="detail"></td>'),i&&r.push('<td class="bs-checkbox">','<input name="btSelectGroup" type="checkbox" />',"</td>");var n=e.name;"function"==typeof o.options.groupByFormatter&&(n=o.options.groupByFormatter(e.name,e.id,e.data)),r.push("<td",mr(' colspan="%s"',c),">",n,"</td>"),r.push("</tr>"),o.$body.find("tr[data-parent-index=".concat(e.id,"]:first")).before(t(r.join("")))})),this.$selectGroup=[],this.$body.find('[name="btSelectGroup"]').each((function(){var e=t(this);o.$selectGroup.push({group:e,item:o.$selectItem.filter((function(){return t(this).closest("tr").data("parent-index")===e.closest("tr").data("group-index")}))})})),this.$container.off("click",".groupBy").on("click",".groupBy",(function(){t(this).toggleClass("expanded"),o.$body.find("tr[data-parent-index=".concat(t(this).closest("tr").data("group-index"),"]")).toggleClass("hidden")})),this.$container.off("click",'[name="btSelectGroup"]').on("click",'[name="btSelectGroup"]',(function(e){e.stopImmediatePropagation();var r=t(this).prop("checked");o[r?"checkGroup":"uncheckGroup"](t(this).closest("tr").data("group-index"))}))}ur=!1,this.updateSelected()},Or.prototype.updateSelected=function(){if(!ur){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];Er.apply(this,Array.prototype.slice.apply(e)),this.options.groupBy&&""!==this.options.groupByField&&this.$selectGroup.forEach((function(t){var e=t.item.filter(":enabled").length===t.item.filter(":enabled").filter(":checked").length;t.group.prop("checked",e)}))}},Or.prototype.getGroupSelections=function(t){var e=this;return this.data.filter((function(r){return r[e.header.stateField]&&r._data["parent-index"]===t}))},Or.prototype.checkGroup=function(t){this.checkGroup_(t,!0)},Or.prototype.uncheckGroup=function(t){this.checkGroup_(t,!1)},Or.prototype.checkGroup_=function(e,r){var n;r||(n=this.getGroupSelections(e)),this.$selectItem.filter((function(){return t(this).closest("tr").data("parent-index")===e})).prop("checked",r),this.updateRows(),this.updateSelected(),r&&(n=this.getGroupSelections(e)),this.trigger(r?"check-all":"uncheck-all",n)},Or.prototype.getGroupByFields=function(){var e=this.options.groupByField;return t.isArray(this.options.groupByField)||(e=[this.options.groupByField]),e},t.BootstrapTable=function(e){function r(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),vr(this,yr(r).apply(this,arguments))}var n,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&gr(t,e)}(r,e),n=r,(o=[{key:"scrollTo",value:function(e){if(this.options.groupBy){var n={unit:"px",value:0};if("object"===hr(e)&&(n=Object.assign(n,e)),"rows"===n.unit){var o=0;return this.$body.find("> tr:lt(".concat(n.value,")")).each((function(e,r){o+=t(r).outerHeight(!0)})),this.$body.find("> tr:not(.groupBy):eq(".concat(n.value,")")).prevAll(".groupBy").each((function(e,r){o+=t(r).outerHeight(!0)})),void this.$tableBody.scrollTop(o)}}br(yr(r.prototype),"scrollTo",this).call(this,e)}}])&&dr(n.prototype,o),i&&dr(n,i),r}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js b/server/target/classes/static/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js
deleted file mode 100644
index 4d85f2f..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js
+++ /dev/null
@@ -1,125 +0,0 @@
-(function (global, factory) {
-  typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-  typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-  (global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-  function _classCallCheck(instance, Constructor) {
-    if (!(instance instanceof Constructor)) {
-      throw new TypeError("Cannot call a class as a function");
-    }
-  }
-
-  function _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);
-    }
-  }
-
-  function _createClass(Constructor, protoProps, staticProps) {
-    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-    if (staticProps) _defineProperties(Constructor, staticProps);
-    return Constructor;
-  }
-
-  function _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);
-  }
-
-  function _getPrototypeOf(o) {
-    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-      return o.__proto__ || Object.getPrototypeOf(o);
-    };
-    return _getPrototypeOf(o);
-  }
-
-  function _setPrototypeOf(o, p) {
-    _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-      o.__proto__ = p;
-      return o;
-    };
-
-    return _setPrototypeOf(o, p);
-  }
-
-  function _assertThisInitialized(self) {
-    if (self === void 0) {
-      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-    }
-
-    return self;
-  }
-
-  function _possibleConstructorReturn(self, call) {
-    if (call && (typeof call === "object" || typeof call === "function")) {
-      return call;
-    }
-
-    return _assertThisInitialized(self);
-  }
-
-  /**
-   * @author: Jewway
-   * @update zhixin wen <wenzhixin2010@gmail.com>
-   */
-
-  $.fn.bootstrapTable.methods.push('changeTitle');
-  $.fn.bootstrapTable.methods.push('changeLocale');
-
-  $.BootstrapTable =
-  /*#__PURE__*/
-  function (_$$BootstrapTable) {
-    _inherits(_class, _$$BootstrapTable);
-
-    function _class() {
-      _classCallCheck(this, _class);
-
-      return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-    }
-
-    _createClass(_class, [{
-      key: "changeTitle",
-      value: function changeTitle(locale) {
-        $.each(this.options.columns, function (idx, columnList) {
-          $.each(columnList, function (idx, column) {
-            if (column.field) {
-              column.title = locale[column.field];
-            }
-          });
-        });
-        this.initHeader();
-        this.initBody();
-        this.initToolbar();
-      }
-    }, {
-      key: "changeLocale",
-      value: function changeLocale(localeId) {
-        this.options.locale = localeId;
-        this.initLocale();
-        this.initPagination();
-        this.initBody();
-        this.initToolbar();
-      }
-    }]);
-
-    return _class;
-  }($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.min.js b/server/target/classes/static/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.min.js
deleted file mode 100644
index 264ca98..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";function e(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function n(t){return(n=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function o(t,e){return(o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function i(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}(t=t&&t.hasOwnProperty("default")?t.default:t).fn.bootstrapTable.methods.push("changeTitle"),t.fn.bootstrapTable.methods.push("changeLocale"),t.BootstrapTable=function(r){function u(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),i(this,n(u).apply(this,arguments))}var a,c,f;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}(u,r),a=u,(c=[{key:"changeTitle",value:function(e){t.each(this.options.columns,(function(n,o){t.each(o,(function(t,n){n.field&&(n.title=e[n.field])}))})),this.initHeader(),this.initBody(),this.initToolbar()}},{key:"changeLocale",value:function(t){this.options.locale=t,this.initLocale(),this.initPagination(),this.initBody(),this.initToolbar()}}])&&e(a.prototype,c),f&&e(a,f),u}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js b/server/target/classes/static/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js
deleted file mode 100644
index 891161f..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js
+++ /dev/null
@@ -1,1387 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `SameValue` abstract operation
-	// https://tc39.github.io/ecma262/#sec-samevalue
-	var sameValue = Object.is || function is(x, y) {
-	  // eslint-disable-next-line no-self-compare
-	  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	// @@search logic
-	fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
-	  return [
-	    // `String.prototype.search` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.search
-	    function search(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var searcher = regexp == undefined ? undefined : regexp[SEARCH];
-	      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
-	    },
-	    // `RegExp.prototype[@@search]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
-	    function (regexp) {
-	      var res = maybeCallNative(nativeSearch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var previousLastIndex = rx.lastIndex;
-	      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
-	      var result = regexpExecAbstract(rx, S);
-	      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
-	      return result === null ? -1 : result.index;
-	    }
-	  ];
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  keyEvents: false
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _get2;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-
-	      if (this.options.keyEvents) {
-	        this.initKeyEvents();
-	      }
-	    }
-	  }, {
-	    key: "initKeyEvents",
-	    value: function initKeyEvents() {
-	      var _this = this;
-
-	      $(document).off('keydown').on('keydown', function (e) {
-	        var $search = _this.$toolbar.find('.search input');
-
-	        var $refresh = _this.$toolbar.find('button[name="refresh"]');
-
-	        var $toggle = _this.$toolbar.find('button[name="toggle"]');
-
-	        var $paginationSwitch = _this.$toolbar.find('button[name="paginationSwitch"]');
-
-	        if (document.activeElement === $search.get(0) || !$.contains(document.activeElement, _this.$toolbar.get(0))) {
-	          return true;
-	        }
-
-	        switch (e.keyCode) {
-	          case 83:
-	            // s
-	            if (!_this.options.search) {
-	              return;
-	            }
-
-	            $search.focus();
-	            return false;
-
-	          case 82:
-	            // r
-	            if (!_this.options.showRefresh) {
-	              return;
-	            }
-
-	            $refresh.click();
-	            return false;
-
-	          case 84:
-	            // t
-	            if (!_this.options.showToggle) {
-	              return;
-	            }
-
-	            $toggle.click();
-	            return false;
-
-	          case 80:
-	            // p
-	            if (!_this.options.showPaginationSwitch) {
-	              return;
-	            }
-
-	            $paginationSwitch.click();
-	            return false;
-
-	          case 37:
-	            // left
-	            if (!_this.options.pagination) {
-	              return;
-	            }
-
-	            _this.prevPage();
-
-	            return false;
-
-	          case 39:
-	            // right
-	            if (!_this.options.pagination) {
-	              return;
-	            }
-
-	            _this.nextPage();
-
-	            return;
-	        }
-	      });
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/key-events/bootstrap-table-key-events.min.js b/server/target/classes/static/bootstrap-table/extensions/key-events/bootstrap-table-key-events.min.js
deleted file mode 100644
index fcb3e36..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/key-events/bootstrap-table-key-events.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var e=a(this,t);return!!e&&e.enumerable}:c},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return d(v(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!g(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!g(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!g(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,e){return m.call(t,e)},x=o.document,O=g(x)&&g(x.createElement),E=function(t){return O?x.createElement(t):{}},j=!u&&!i((function(){return 7!=Object.defineProperty(E("div"),"a",{get:function(){return 7}}).a})),S=Object.getOwnPropertyDescriptor,P={f:u?S:function(t,e){if(t=h(t),e=b(e,!0),j)try{return S(t,e)}catch(t){}if(w(t,e))return l(!f.f.call(t,e),t[e])}},T=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},_=Object.defineProperty,R={f:u?_:function(t,e,n){if(T(t),e=b(e,!0),T(n),j)try{return _(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}},I=u?function(t,e,n){return R.f(t,e,l(1,n))}:function(t,e,n){return t[e]=n,t},k=function(t,e){try{I(o,t,e)}catch(n){o[t]=e}return e},A=o["__core-js_shared__"]||k("__core-js_shared__",{}),C=Function.toString;"function"!=typeof A.inspectSource&&(A.inspectSource=function(t){return C.call(t)});var M,$,N,F=A.inspectSource,D=o.WeakMap,K="function"==typeof D&&/native code/.test(F(D)),L=n((function(t){(t.exports=function(t,e){return A[t]||(A[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,q=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+q).toString(36)},W=L("keys"),z=function(t){return W[t]||(W[t]=U(t))},Y={},G=o.WeakMap;if(K){var Q=new G,V=Q.get,X=Q.has,H=Q.set;M=function(t,e){return H.call(Q,t,e),e},$=function(t){return V.call(Q,t)||{}},N=function(t){return X.call(Q,t)}}else{var J=z("state");Y[J]=!0,M=function(t,e){return I(t,J,e),e},$=function(t){return w(t,J)?t[J]:{}},N=function(t){return w(t,J)}}var Z,tt,et={set:M,get:$,has:N,enforce:function(t){return N(t)?$(t):M(t,{})},getterFor:function(t){return function(e){var n;if(!g(e)||(n=$(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,r=String(String).split("String");(t.exports=function(t,e,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||I(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(c?!f&&t[e]&&(a=!0):delete t[e],a?t[e]=i:I(t,e,i)):a?t[e]=i:k(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},ut=Math.ceil,ct=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ct:ut)(t)},ft=Math.min,lt=function(t){return t>0?ft(at(t),9007199254740991):0},st=Math.max,pt=Math.min,yt=function(t){return function(e,n,r){var o,i=h(e),u=lt(i.length),c=function(t,e){var n=at(t);return n<0?st(n+e,0):pt(n,e)}(r,u);if(t&&n!=n){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},dt={includes:yt(!0),indexOf:yt(!1)}.indexOf,vt=function(t,e){var n,r=h(t),o=0,i=[];for(n in r)!w(Y,n)&&w(r,n)&&i.push(n);for(;e.length>o;)w(r,n=e[o++])&&(~dt(i,n)||i.push(n));return i},ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],gt=ht.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return vt(t,gt)}},mt={f:Object.getOwnPropertySymbols},wt=it("Reflect","ownKeys")||function(t){var e=bt.f(T(t)),n=mt.f;return n?e.concat(n(t)):e},xt=function(t,e){for(var n=wt(e),r=R.f,o=P.f,i=0;i<n.length;i++){var u=n[i];w(t,u)||r(t,u,o(e,u))}},Ot=/#|\.prototype\./,Et=function(t,e){var n=St[jt(t)];return n==Tt||n!=Pt&&("function"==typeof e?i(e):!!e)},jt=Et.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},St=Et.data={},Pt=Et.NATIVE="N",Tt=Et.POLYFILL="P",_t=Et,Rt=P.f,It=function(t,e){var n,r,i,u,c,a=t.target,f=t.global,l=t.stat;if(n=f?o:l?o[a]||k(a,{}):(o[a]||{}).prototype)for(r in e){if(u=e[r],i=t.noTargetGet?(c=Rt(n,r))&&c.value:n[r],!_t(f?r:a+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;xt(u,i)}(t.sham||i&&i.sham)&&I(u,"sham",!0),nt(n,r,u,t)}},kt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(v(t))},Ct=function(t,e,n){var r=b(e);r in t?R.f(t,r,l(0,n)):t[r]=n},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),$t=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),Nt=L("wks"),Ft=o.Symbol,Dt=$t?Ft:U,Kt=function(t){return w(Nt,t)||(Mt&&w(Ft,t)?Nt[t]=Ft[t]:Nt[t]=Dt("Symbol."+t)),Nt[t]},Lt=Kt("species"),Bt=function(t,e){var n;return kt(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!kt(n.prototype)?g(n)&&null===(n=n[Lt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},qt=it("navigator","userAgent")||"",Ut=o.process,Wt=Ut&&Ut.versions,zt=Wt&&Wt.v8;zt?tt=(Z=zt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Yt,Gt=tt&&+tt,Qt=Kt("species"),Vt=Kt("isConcatSpreadable"),Xt=Gt>=51||!i((function(){var t=[];return t[Vt]=!1,t.concat()[0]!==t})),Ht=(Yt="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Qt]=function(){return{foo:1}},1!==t[Yt](Boolean).foo}))),Jt=function(t){if(!g(t))return!1;var e=t[Vt];return void 0!==e?!!e:kt(t)};It({target:"Array",proto:!0,forced:!Xt||!Ht},{concat:function(t){var e,n,r,o,i,u=At(this),c=Bt(u,0),a=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?u:arguments[e],Jt(i)){if(a+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,a++)n in i&&Ct(c,a,i[n])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(c,a++,i)}return c.length=a,c}});var Zt,te=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},ee=[].push,ne=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,a,f,l){for(var s,p,y=At(c),v=d(y),h=te(a,f,3),g=lt(v.length),b=0,m=l||Bt,w=e?m(c,g):n?m(c,0):void 0;g>b;b++)if((u||b in v)&&(p=h(s=v[b],b,y),t))if(e)w[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:ee.call(w,s)}else if(o)return!1;return i?-1:r||o?o:w}},re={forEach:ne(0),map:ne(1),filter:ne(2),some:ne(3),every:ne(4),find:ne(5),findIndex:ne(6)},oe=Object.keys||function(t){return vt(t,ht)},ie=u?Object.defineProperties:function(t,e){T(t);for(var n,r=oe(e),o=r.length,i=0;o>i;)R.f(t,n=r[i++],e[n]);return t},ue=it("document","documentElement"),ce=z("IE_PROTO"),ae=function(){},fe=function(t){return"<script>"+t+"<\/script>"},le=function(){try{Zt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;le=Zt?function(t){t.write(fe("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Zt):((e=E("iframe")).style.display="none",ue.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(fe("document.F=Object")),t.close(),t.F);for(var n=ht.length;n--;)delete le.prototype[ht[n]];return le()};Y[ce]=!0;var se=Object.create||function(t,e){var n;return null!==t?(ae.prototype=T(t),n=new ae,ae.prototype=null,n[ce]=t):n=le(),void 0===e?n:ie(n,e)},pe=Kt("unscopables"),ye=Array.prototype;null==ye[pe]&&R.f(ye,pe,{configurable:!0,value:se(null)});var de,ve=re.find,he=!0;"find"in[]&&Array(1).find((function(){he=!1})),It({target:"Array",proto:!0,forced:he},{find:function(t){return ve(this,t,arguments.length>1?arguments[1]:void 0)}}),de="find",ye[pe][de]=!0;var ge=function(){var t=T(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function be(t,e){return RegExp(t,e)}var me,we,xe={UNSUPPORTED_Y:i((function(){var t=be("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=be("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},Oe=RegExp.prototype.exec,Ee=String.prototype.replace,je=Oe,Se=(me=/a/,we=/b*/g,Oe.call(me,"a"),Oe.call(we,"a"),0!==me.lastIndex||0!==we.lastIndex),Pe=xe.UNSUPPORTED_Y||xe.BROKEN_CARET,Te=void 0!==/()??/.exec("")[1];(Se||Te||Pe)&&(je=function(t){var e,n,r,o,i=this,u=Pe&&i.sticky,c=ge.call(i),a=i.source,f=0,l=t;return u&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),l=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(a="(?: "+a+")",l=" "+l,f++),n=new RegExp("^(?:"+a+")",c)),Te&&(n=new RegExp("^"+a+"$(?!\\s)",c)),Se&&(e=i.lastIndex),r=Oe.call(u?n:i,l),u?r?(r.input=r.input.slice(f),r[0]=r[0].slice(f),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:Se&&r&&(i.lastIndex=i.global?r.index+r[0].length:e),Te&&r&&r.length>1&&Ee.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var _e=je;It({target:"RegExp",proto:!0,forced:/./.exec!==_e},{exec:_e});var Re=Kt("species"),Ie=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),ke="$0"==="a".replace(/./,"$0"),Ae=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),Ce=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};function Me(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),Object.defineProperty(t,r.key,r)}}function $e(t){return($e=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Ne(t,e){return(Ne=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Fe(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function De(t,e,n){return(De="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=$e(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}!function(t,e,n,r){var o=Kt(t),u=!i((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),c=u&&!i((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[Re]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!u||!c||"replace"===t&&(!Ie||!ke)||"split"===t&&!Ae){var a=/./[o],f=n(o,""[t],(function(t,e,n,r,o){return e.exec===_e?u&&!o?{done:!0,value:a.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:ke}),l=f[0],s=f[1];nt(String.prototype,t,l),nt(RegExp.prototype,o,2==e?function(t,e){return s.call(t,this,e)}:function(t){return s.call(t,this)})}r&&I(RegExp.prototype[o],"sham",!0)}("search",1,(function(t,e,n){return[function(e){var n=v(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var o=T(t),i=String(this),u=o.lastIndex;Ce(u,0)||(o.lastIndex=0);var c=function(t,e){var n=t.exec;if("function"==typeof n){var r=n.call(t,e);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==p(t))throw TypeError("RegExp#exec called on incompatible receiver");return _e.call(t,e)}(o,i);return Ce(o.lastIndex,u)||(o.lastIndex=u),null===c?-1:c.index}]})),t.extend(t.fn.bootstrapTable.defaults,{keyEvents:!1}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),Fe(this,$e(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Ne(t,e)}(n,e),r=n,(o=[{key:"init",value:function(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];(t=De($e(n.prototype),"init",this)).call.apply(t,[this].concat(r)),this.options.keyEvents&&this.initKeyEvents()}},{key:"initKeyEvents",value:function(){var e=this;t(document).off("keydown").on("keydown",(function(n){var r=e.$toolbar.find(".search input"),o=e.$toolbar.find('button[name="refresh"]'),i=e.$toolbar.find('button[name="toggle"]'),u=e.$toolbar.find('button[name="paginationSwitch"]');if(document.activeElement===r.get(0)||!t.contains(document.activeElement,e.$toolbar.get(0)))return!0;switch(n.keyCode){case 83:if(!e.options.search)return;return r.focus(),!1;case 82:if(!e.options.showRefresh)return;return o.click(),!1;case 84:if(!e.options.showToggle)return;return i.click(),!1;case 80:if(!e.options.showPaginationSwitch)return;return u.click(),!1;case 37:if(!e.options.pagination)return;return e.prevPage(),!1;case 39:if(!e.options.pagination)return;return void e.nextPage()}}))}}])&&Me(r.prototype,o),i&&Me(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js b/server/target/classes/static/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js
deleted file mode 100644
index 11d1888..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js
+++ /dev/null
@@ -1,1239 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $includes = arrayIncludes.includes;
-
-
-	// `Array.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	_export({ target: 'Array', proto: true }, {
-	  includes: function includes(el /* , fromIndex = 0 */) {
-	    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('includes');
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var notARegexp = function (it) {
-	  if (isRegexp(it)) {
-	    throw TypeError("The method doesn't accept regular expressions");
-	  } return it;
-	};
-
-	var MATCH$1 = wellKnownSymbol('match');
-
-	var correctIsRegexpLogic = function (METHOD_NAME) {
-	  var regexp = /./;
-	  try {
-	    '/./'[METHOD_NAME](regexp);
-	  } catch (e) {
-	    try {
-	      regexp[MATCH$1] = false;
-	      return '/./'[METHOD_NAME](regexp);
-	    } catch (f) { /* empty */ }
-	  } return false;
-	};
-
-	// `String.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.includes
-	_export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
-	  includes: function includes(searchString /* , position = 0 */) {
-	    return !!~String(requireObjectCoercible(this))
-	      .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-
-	// `Array.prototype.forEach` method implementation
-	// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	var arrayForEach = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
-	  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	} : [].forEach;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  // some Chrome versions have non-configurable methods on DOMTokenList
-	  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
-	    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
-	  } catch (error) {
-	    CollectionPrototype.forEach = arrayForEach;
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var debounce = function debounce(func, wait) {
-	  var timeout = 0;
-	  return function () {
-	    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	      args[_key] = arguments[_key];
-	    }
-
-	    var later = function later() {
-	      timeout = 0;
-	      func.apply(void 0, args);
-	    };
-
-	    clearTimeout(timeout);
-	    timeout = setTimeout(later, wait);
-	  };
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  mobileResponsive: false,
-	  minWidth: 562,
-	  minHeight: undefined,
-	  heightThreshold: 100,
-	  // just slightly larger than mobile chrome's auto-hiding toolbar
-	  checkOnInit: true,
-	  columnsHidden: []
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _get2,
-	          _this = this;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-
-	      if (!this.options.mobileResponsive || !this.options.minWidth) {
-	        return;
-	      }
-
-	      if (this.options.minWidth < 100 && this.options.resizable) {
-	        console.info('The minWidth when the resizable extension is active should be greater or equal than 100');
-	        this.options.minWidth = 100;
-	      }
-
-	      var old = {
-	        width: $(window).width(),
-	        height: $(window).height()
-	      };
-	      $(window).on('resize orientationchange', debounce(function () {
-	        // reset view if height has only changed by at least the threshold.
-	        var width = $(window).width();
-	        var height = $(window).height();
-	        var $activeElement = $(document.activeElement);
-
-	        if ($activeElement.length && ['INPUT', 'SELECT', 'TEXTAREA'].includes($activeElement.prop('nodeName'))) {
-	          return;
-	        }
-
-	        if (Math.abs(old.height - height) > _this.options.heightThreshold || old.width !== width) {
-	          _this.changeView(width, height);
-
-	          old = {
-	            width: width,
-	            height: height
-	          };
-	        }
-	      }, 200));
-
-	      if (this.options.checkOnInit) {
-	        var width = $(window).width();
-	        var height = $(window).height();
-	        this.changeView(width, height);
-	        old = {
-	          width: width,
-	          height: height
-	        };
-	      }
-	    }
-	  }, {
-	    key: "conditionCardView",
-	    value: function conditionCardView() {
-	      this.changeTableView(false);
-	      this.showHideColumns(false);
-	    }
-	  }, {
-	    key: "conditionFullView",
-	    value: function conditionFullView() {
-	      this.changeTableView(true);
-	      this.showHideColumns(true);
-	    }
-	  }, {
-	    key: "changeTableView",
-	    value: function changeTableView(cardViewState) {
-	      this.options.cardView = cardViewState;
-	      this.toggleView();
-	    }
-	  }, {
-	    key: "showHideColumns",
-	    value: function showHideColumns(checked) {
-	      var _this2 = this;
-
-	      if (this.options.columnsHidden.length > 0) {
-	        this.columns.forEach(function (column) {
-	          if (_this2.options.columnsHidden.includes(column.field)) {
-	            if (column.visible !== checked) {
-	              _this2._toggleColumn(_this2.fieldsColumnsIndex[column.field], checked, true);
-	            }
-	          }
-	        });
-	      }
-	    }
-	  }, {
-	    key: "changeView",
-	    value: function changeView(width, height) {
-	      if (this.options.minHeight) {
-	        if (width <= this.options.minWidth && height <= this.options.minHeight) {
-	          this.conditionCardView();
-	        } else if (width > this.options.minWidth && height > this.options.minHeight) {
-	          this.conditionFullView();
-	        }
-	      } else {
-	        if (width <= this.options.minWidth) {
-	          this.conditionCardView();
-	        } else if (width > this.options.minWidth) {
-	          this.conditionFullView();
-	        }
-	      }
-
-	      this.resetView();
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js b/server/target/classes/static/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js
deleted file mode 100644
index 3fceb51..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var e=a(this,t);return!!e&&e.enumerable}:c},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,h=function(t){return s.call(t).slice(8,-1)},p="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==h(t)?p.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(y(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!v(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!v(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!v(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!v(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,b=function(t,e){return w.call(t,e)},O=o.document,S=v(O)&&v(O.createElement),T=function(t){return S?O.createElement(t):{}},j=!u&&!i((function(){return 7!=Object.defineProperty(T("div"),"a",{get:function(){return 7}}).a})),E=Object.getOwnPropertyDescriptor,L={f:u?E:function(t,e){if(t=g(t),e=m(e,!0),j)try{return E(t,e)}catch(t){}if(b(t,e))return l(!f.f.call(t,e),t[e])}},P=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},x=Object.defineProperty,C={f:u?x:function(t,e,n){if(P(t),e=m(e,!0),P(n),j)try{return x(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}},M=u?function(t,e,n){return C.f(t,e,l(1,n))}:function(t,e,n){return t[e]=n,t},V=function(t,e){try{M(o,t,e)}catch(n){o[t]=e}return e},_=o["__core-js_shared__"]||V("__core-js_shared__",{}),k=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return k.call(t)});var A,H,R,I=_.inspectSource,W=o.WeakMap,F="function"==typeof W&&/native code/.test(I(W)),N=n((function(t){(t.exports=function(t,e){return _[t]||(_[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),D=0,G=Math.random(),q=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++D+G).toString(36)},z=N("keys"),B=function(t){return z[t]||(z[t]=q(t))},X={},K=o.WeakMap;if(F){var Q=new K,U=Q.get,Y=Q.has,J=Q.set;A=function(t,e){return J.call(Q,t,e),e},H=function(t){return U.call(Q,t)||{}},R=function(t){return Y.call(Q,t)}}else{var Z=B("state");X[Z]=!0,A=function(t,e){return M(t,Z,e),e},H=function(t){return b(t,Z)?t[Z]:{}},R=function(t){return b(t,Z)}}var $,tt,et={set:A,get:H,has:R,enforce:function(t){return R(t)?H(t):A(t,{})},getterFor:function(t){return function(e){var n;if(!v(e)||(n=H(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,r=String(String).split("String");(t.exports=function(t,e,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||b(i,"name")||M(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(c?!f&&t[e]&&(a=!0):delete t[e],a?t[e]=i:M(t,e,i)):a?t[e]=i:V(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||I(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},ut=Math.ceil,ct=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ct:ut)(t)},ft=Math.min,lt=function(t){return t>0?ft(at(t),9007199254740991):0},st=Math.max,ht=Math.min,pt=function(t){return function(e,n,r){var o,i=g(e),u=lt(i.length),c=function(t,e){var n=at(t);return n<0?st(n+e,0):ht(n,e)}(r,u);if(t&&n!=n){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)},yt=dt.indexOf,gt=function(t,e){var n,r=g(t),o=0,i=[];for(n in r)!b(X,n)&&b(r,n)&&i.push(n);for(;e.length>o;)b(r,n=e[o++])&&(~yt(i,n)||i.push(n));return i},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],mt=vt.concat("length","prototype"),wt={f:Object.getOwnPropertyNames||function(t){return gt(t,mt)}},bt={f:Object.getOwnPropertySymbols},Ot=it("Reflect","ownKeys")||function(t){var e=wt.f(P(t)),n=bt.f;return n?e.concat(n(t)):e},St=function(t,e){for(var n=Ot(e),r=C.f,o=L.f,i=0;i<n.length;i++){var u=n[i];b(t,u)||r(t,u,o(e,u))}},Tt=/#|\.prototype\./,jt=function(t,e){var n=Lt[Et(t)];return n==xt||n!=Pt&&("function"==typeof e?i(e):!!e)},Et=jt.normalize=function(t){return String(t).replace(Tt,".").toLowerCase()},Lt=jt.data={},Pt=jt.NATIVE="N",xt=jt.POLYFILL="P",Ct=jt,Mt=L.f,Vt=function(t,e){var n,r,i,u,c,a=t.target,f=t.global,l=t.stat;if(n=f?o:l?o[a]||V(a,{}):(o[a]||{}).prototype)for(r in e){if(u=e[r],i=t.noTargetGet?(c=Mt(n,r))&&c.value:n[r],!Ct(f?r:a+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;St(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(n,r,u,t)}},_t=Array.isArray||function(t){return"Array"==h(t)},kt=function(t){return Object(y(t))},At=function(t,e,n){var r=m(e);r in t?C.f(t,r,l(0,n)):t[r]=n},Ht=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ht&&!Symbol.sham&&"symbol"==typeof Symbol(),It=N("wks"),Wt=o.Symbol,Ft=Rt?Wt:q,Nt=function(t){return b(It,t)||(Ht&&b(Wt,t)?It[t]=Wt[t]:It[t]=Ft("Symbol."+t)),It[t]},Dt=Nt("species"),Gt=function(t,e){var n;return _t(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!_t(n.prototype)?v(n)&&null===(n=n[Dt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},qt=it("navigator","userAgent")||"",zt=o.process,Bt=zt&&zt.versions,Xt=Bt&&Bt.v8;Xt?tt=($=Xt.split("."))[0]+$[1]:qt&&(!($=qt.match(/Edge\/(\d+)/))||$[1]>=74)&&($=qt.match(/Chrome\/(\d+)/))&&(tt=$[1]);var Kt,Qt=tt&&+tt,Ut=Nt("species"),Yt=Nt("isConcatSpreadable"),Jt=Qt>=51||!i((function(){var t=[];return t[Yt]=!1,t.concat()[0]!==t})),Zt=(Kt="concat",Qt>=51||!i((function(){var t=[];return(t.constructor={})[Ut]=function(){return{foo:1}},1!==t[Kt](Boolean).foo}))),$t=function(t){if(!v(t))return!1;var e=t[Yt];return void 0!==e?!!e:_t(t)};Vt({target:"Array",proto:!0,forced:!Jt||!Zt},{concat:function(t){var e,n,r,o,i,u=kt(this),c=Gt(u,0),a=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?u:arguments[e],$t(i)){if(a+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,a++)n in i&&At(c,a,i[n])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(c,a++,i)}return c.length=a,c}});var te,ee=Object.keys||function(t){return gt(t,vt)},ne=u?Object.defineProperties:function(t,e){P(t);for(var n,r=ee(e),o=r.length,i=0;o>i;)C.f(t,n=r[i++],e[n]);return t},re=it("document","documentElement"),oe=B("IE_PROTO"),ie=function(){},ue=function(t){return"<script>"+t+"<\/script>"},ce=function(){try{te=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;ce=te?function(t){t.write(ue("")),t.close();var e=t.parentWindow.Object;return t=null,e}(te):((e=T("iframe")).style.display="none",re.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ue("document.F=Object")),t.close(),t.F);for(var n=vt.length;n--;)delete ce.prototype[vt[n]];return ce()};X[oe]=!0;var ae=Object.create||function(t,e){var n;return null!==t?(ie.prototype=P(t),n=new ie,ie.prototype=null,n[oe]=t):n=ce(),void 0===e?n:ne(n,e)},fe=Nt("unscopables"),le=Array.prototype;null==le[fe]&&C.f(le,fe,{configurable:!0,value:ae(null)});var se,he=dt.includes;Vt({target:"Array",proto:!0},{includes:function(t){return he(this,t,arguments.length>1?arguments[1]:void 0)}}),se="includes",le[fe][se]=!0;var pe=Nt("match"),de=function(t){if(function(t){var e;return v(t)&&(void 0!==(e=t[pe])?!!e:"RegExp"==h(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},ye=Nt("match");Vt({target:"String",proto:!0,forced:!function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[ye]=!1,"/./"[t](e)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(y(this)).indexOf(de(t),arguments.length>1?arguments[1]:void 0)}});var ge=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},ve=[].push,me=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,a,f,l){for(var s,h,p=kt(c),y=d(p),g=ge(a,f,3),v=lt(y.length),m=0,w=l||Gt,b=e?w(c,v):n?w(c,0):void 0;v>m;m++)if((u||m in y)&&(h=g(s=y[m],m,p),t))if(e)b[m]=h;else if(h)switch(t){case 3:return!0;case 5:return s;case 6:return m;case 2:ve.call(b,s)}else if(o)return!1;return i?-1:r||o?o:b}},we={forEach:me(0),map:me(1),filter:me(2),some:me(3),every:me(4),find:me(5),findIndex:me(6)}.forEach,be=function(t,e){var n=[][t];return!n||!i((function(){n.call(null,e||function(){throw 1},1)}))}("forEach")?function(t){return we(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach;for(var Oe in{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}){var Se=o[Oe],Te=Se&&Se.prototype;if(Te&&Te.forEach!==be)try{M(Te,"forEach",be)}catch(t){Te.forEach=be}}function je(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),Object.defineProperty(t,r.key,r)}}function Ee(t){return(Ee=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Le(t,e){return(Le=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Pe(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function xe(t,e,n){return(xe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Ee(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}var Ce=function(t,e){var n=0;return function(){for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];var u=function(){n=0,t.apply(void 0,o)};clearTimeout(n),n=setTimeout(u,e)}};t.extend(t.fn.bootstrapTable.defaults,{mobileResponsive:!1,minWidth:562,minHeight:void 0,heightThreshold:100,checkOnInit:!0,columnsHidden:[]}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),Pe(this,Ee(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Le(t,e)}(n,e),r=n,(o=[{key:"init",value:function(){for(var e,r=this,o=arguments.length,i=new Array(o),u=0;u<o;u++)i[u]=arguments[u];if((e=xe(Ee(n.prototype),"init",this)).call.apply(e,[this].concat(i)),this.options.mobileResponsive&&this.options.minWidth){this.options.minWidth<100&&this.options.resizable&&(console.info("The minWidth when the resizable extension is active should be greater or equal than 100"),this.options.minWidth=100);var c={width:t(window).width(),height:t(window).height()};if(t(window).on("resize orientationchange",Ce((function(){var e=t(window).width(),n=t(window).height(),o=t(document.activeElement);o.length&&["INPUT","SELECT","TEXTAREA"].includes(o.prop("nodeName"))||(Math.abs(c.height-n)>r.options.heightThreshold||c.width!==e)&&(r.changeView(e,n),c={width:e,height:n})}),200)),this.options.checkOnInit){var a=t(window).width(),f=t(window).height();this.changeView(a,f),c={width:a,height:f}}}}},{key:"conditionCardView",value:function(){this.changeTableView(!1),this.showHideColumns(!1)}},{key:"conditionFullView",value:function(){this.changeTableView(!0),this.showHideColumns(!0)}},{key:"changeTableView",value:function(t){this.options.cardView=t,this.toggleView()}},{key:"showHideColumns",value:function(t){var e=this;this.options.columnsHidden.length>0&&this.columns.forEach((function(n){e.options.columnsHidden.includes(n.field)&&n.visible!==t&&e._toggleColumn(e.fieldsColumnsIndex[n.field],t,!0)}))}},{key:"changeView",value:function(t,e){this.options.minHeight?t<=this.options.minWidth&&e<=this.options.minHeight?this.conditionCardView():t>this.options.minWidth&&e>this.options.minHeight&&this.conditionFullView():t<=this.options.minWidth?this.conditionCardView():t>this.options.minWidth&&this.conditionFullView(),this.resetView()}}])&&je(r.prototype,o),i&&je(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js b/server/target/classes/static/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js
deleted file mode 100644
index ff26fe1..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js
+++ /dev/null
@@ -1,2113 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD$1 }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var $map = arrayIteration.map;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
-	// FF49- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.map` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.map
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  map: function map(callbackfn /* , thisArg */) {
-	    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	var test = [];
-	var nativeSort = test.sort;
-
-	// IE8-
-	var FAILS_ON_UNDEFINED = fails(function () {
-	  test.sort(undefined);
-	});
-	// V8 bug
-	var FAILS_ON_NULL = fails(function () {
-	  test.sort(null);
-	});
-	// Old WebKit
-	var SLOPPY_METHOD$2 = sloppyArrayMethod('sort');
-
-	var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD$2;
-
-	// `Array.prototype.sort` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.sort
-	_export({ target: 'Array', proto: true, forced: FORCED$1 }, {
-	  sort: function sort(comparefn) {
-	    return comparefn === undefined
-	      ? nativeSort.call(toObject(this))
-	      : nativeSort.call(toObject(this), aFunction$1(comparefn));
-	  }
-	});
-
-	var max$2 = Math.max;
-	var min$2 = Math.min;
-	var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
-
-	// `Array.prototype.splice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.splice
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {
-	  splice: function splice(start, deleteCount /* , ...items */) {
-	    var O = toObject(this);
-	    var len = toLength(O.length);
-	    var actualStart = toAbsoluteIndex(start, len);
-	    var argumentsLength = arguments.length;
-	    var insertCount, actualDeleteCount, A, k, from, to;
-	    if (argumentsLength === 0) {
-	      insertCount = actualDeleteCount = 0;
-	    } else if (argumentsLength === 1) {
-	      insertCount = 0;
-	      actualDeleteCount = len - actualStart;
-	    } else {
-	      insertCount = argumentsLength - 2;
-	      actualDeleteCount = min$2(max$2(toInteger(deleteCount), 0), len - actualStart);
-	    }
-	    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) {
-	      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
-	    }
-	    A = arraySpeciesCreate(O, actualDeleteCount);
-	    for (k = 0; k < actualDeleteCount; k++) {
-	      from = actualStart + k;
-	      if (from in O) createProperty(A, k, O[from]);
-	    }
-	    A.length = actualDeleteCount;
-	    if (insertCount < actualDeleteCount) {
-	      for (k = actualStart; k < len - actualDeleteCount; k++) {
-	        from = k + actualDeleteCount;
-	        to = k + insertCount;
-	        if (from in O) O[to] = O[from];
-	        else delete O[to];
-	      }
-	      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
-	    } else if (insertCount > actualDeleteCount) {
-	      for (k = len - actualDeleteCount; k > actualStart; k--) {
-	        from = k + actualDeleteCount - 1;
-	        to = k + insertCount - 1;
-	        if (from in O) O[to] = O[from];
-	        else delete O[to];
-	      }
-	    }
-	    for (k = 0; k < insertCount; k++) {
-	      O[k + actualStart] = arguments[k + 2];
-	    }
-	    O.length = len - actualDeleteCount + insertCount;
-	    return A;
-	  }
-	});
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-	var test$1 = {};
-
-	test$1[TO_STRING_TAG] = 'z';
-
-	var toStringTagSupport = String(test$1) === '[object z]';
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$2 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$2(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$2(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$2(3)
-	};
-
-	var trim = stringTrim.trim;
-
-
-	var nativeParseFloat = global_1.parseFloat;
-	var FORCED$2 = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity;
-
-	// `parseFloat` method
-	// https://tc39.github.io/ecma262/#sec-parsefloat-string
-	var _parseFloat = FORCED$2 ? function parseFloat(string) {
-	  var trimmedString = trim(String(string));
-	  var result = nativeParseFloat(trimmedString);
-	  return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
-	} : nativeParseFloat;
-
-	// `parseFloat` method
-	// https://tc39.github.io/ecma262/#sec-parsefloat-string
-	_export({ global: true, forced: parseFloat != _parseFloat }, {
-	  parseFloat: _parseFloat
-	});
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var TO_STRING = 'toString';
-	var RegExpPrototype = RegExp.prototype;
-	var nativeToString = RegExpPrototype[TO_STRING];
-
-	var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
-	// FF44- RegExp#toString has a wrong name
-	var INCORRECT_NAME = nativeToString.name != TO_STRING;
-
-	// `RegExp.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
-	if (NOT_GENERIC || INCORRECT_NAME) {
-	  redefine(RegExp.prototype, TO_STRING, function toString() {
-	    var R = anObject(this);
-	    var p = String(R.source);
-	    var rf = R.flags;
-	    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);
-	    return '/' + p + '/' + f;
-	  }, { unsafe: true });
-	}
-
-	var SPECIES$3 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$3] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var SPECIES$4 = wellKnownSymbol('species');
-
-	// `SpeciesConstructor` abstract operation
-	// https://tc39.github.io/ecma262/#sec-speciesconstructor
-	var speciesConstructor = function (O, defaultConstructor) {
-	  var C = anObject(O).constructor;
-	  var S;
-	  return C === undefined || (S = anObject(C)[SPECIES$4]) == undefined ? defaultConstructor : aFunction$1(S);
-	};
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$3 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$3(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$3(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-	// `AdvanceStringIndex` abstract operation
-	// https://tc39.github.io/ecma262/#sec-advancestringindex
-	var advanceStringIndex = function (S, index, unicode) {
-	  return index + (unicode ? charAt(S, index).length : 1);
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	var arrayPush = [].push;
-	var min$3 = Math.min;
-	var MAX_UINT32 = 0xFFFFFFFF;
-
-	// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-	var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
-
-	// @@split logic
-	fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
-	  var internalSplit;
-	  if (
-	    'abbc'.split(/(b)*/)[1] == 'c' ||
-	    'test'.split(/(?:)/, -1).length != 4 ||
-	    'ab'.split(/(?:ab)*/).length != 2 ||
-	    '.'.split(/(.?)(.?)/).length != 4 ||
-	    '.'.split(/()()/).length > 1 ||
-	    ''.split(/.?/).length
-	  ) {
-	    // based on es5-shim implementation, need to rework it
-	    internalSplit = function (separator, limit) {
-	      var string = String(requireObjectCoercible(this));
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (separator === undefined) return [string];
-	      // If `separator` is not a regex, use native split
-	      if (!isRegexp(separator)) {
-	        return nativeSplit.call(string, separator, lim);
-	      }
-	      var output = [];
-	      var flags = (separator.ignoreCase ? 'i' : '') +
-	                  (separator.multiline ? 'm' : '') +
-	                  (separator.unicode ? 'u' : '') +
-	                  (separator.sticky ? 'y' : '');
-	      var lastLastIndex = 0;
-	      // Make `global` and avoid `lastIndex` issues by working with a copy
-	      var separatorCopy = new RegExp(separator.source, flags + 'g');
-	      var match, lastIndex, lastLength;
-	      while (match = regexpExec.call(separatorCopy, string)) {
-	        lastIndex = separatorCopy.lastIndex;
-	        if (lastIndex > lastLastIndex) {
-	          output.push(string.slice(lastLastIndex, match.index));
-	          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
-	          lastLength = match[0].length;
-	          lastLastIndex = lastIndex;
-	          if (output.length >= lim) break;
-	        }
-	        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
-	      }
-	      if (lastLastIndex === string.length) {
-	        if (lastLength || !separatorCopy.test('')) output.push('');
-	      } else output.push(string.slice(lastLastIndex));
-	      return output.length > lim ? output.slice(0, lim) : output;
-	    };
-	  // Chakra, V8
-	  } else if ('0'.split(undefined, 0).length) {
-	    internalSplit = function (separator, limit) {
-	      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
-	    };
-	  } else internalSplit = nativeSplit;
-
-	  return [
-	    // `String.prototype.split` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.split
-	    function split(separator, limit) {
-	      var O = requireObjectCoercible(this);
-	      var splitter = separator == undefined ? undefined : separator[SPLIT];
-	      return splitter !== undefined
-	        ? splitter.call(separator, O, limit)
-	        : internalSplit.call(String(O), separator, limit);
-	    },
-	    // `RegExp.prototype[@@split]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
-	    //
-	    // NOTE: This cannot be properly polyfilled in engines that don't support
-	    // the 'y' flag.
-	    function (regexp, limit) {
-	      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-	      var C = speciesConstructor(rx, RegExp);
-
-	      var unicodeMatching = rx.unicode;
-	      var flags = (rx.ignoreCase ? 'i' : '') +
-	                  (rx.multiline ? 'm' : '') +
-	                  (rx.unicode ? 'u' : '') +
-	                  (SUPPORTS_Y ? 'y' : 'g');
-
-	      // ^(? + rx + ) is needed, in combination with some S slicing, to
-	      // simulate the 'y' flag.
-	      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
-	      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
-	      if (lim === 0) return [];
-	      if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
-	      var p = 0;
-	      var q = 0;
-	      var A = [];
-	      while (q < S.length) {
-	        splitter.lastIndex = SUPPORTS_Y ? q : 0;
-	        var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
-	        var e;
-	        if (
-	          z === null ||
-	          (e = min$3(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
-	        ) {
-	          q = advanceStringIndex(S, q, unicodeMatching);
-	        } else {
-	          A.push(S.slice(p, q));
-	          if (A.length === lim) return A;
-	          for (var i = 1; i <= z.length - 1; i++) {
-	            A.push(z[i]);
-	            if (A.length === lim) return A;
-	          }
-	          q = p = e;
-	        }
-	      }
-	      A.push(S.slice(p));
-	      return A;
-	    }
-	  ];
-	}, !SUPPORTS_Y);
-
-	function _typeof(obj) {
-	  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
-	    _typeof = function (obj) {
-	      return typeof obj;
-	    };
-	  } else {
-	    _typeof = function (obj) {
-	      return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
-	    };
-	  }
-
-	  return _typeof(obj);
-	}
-
-	/**
-	 * @author Nadim Basalamah <dimbslmh@gmail.com>
-	 * @version: v1.1.0
-	 * https://github.com/dimbslmh/bootstrap-table/tree/master/src/extensions/multiple-sort/bootstrap-table-multiple-sort.js
-	 * Modification: ErwannNevou <https://github.com/ErwannNevou>
-	 */
-
-	var isSingleSort = false;
-	var Utils = $.fn.bootstrapTable.utils;
-	var bootstrap = {
-	  bootstrap3: {
-	    icons: {
-	      plus: 'glyphicon-plus',
-	      minus: 'glyphicon-minus',
-	      sort: 'glyphicon-sort'
-	    },
-	    html: {
-	      multipleSortModal: "\n        <div class=\"modal fade\" id=\"%s\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"%sLabel\" aria-hidden=\"true\">\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>\n                     <h4 class=\"modal-title\" id=\"%sLabel\">%s</h4>\n                </div>\n                <div class=\"modal-body\">\n                    <div class=\"bootstrap-table\">\n                        <div class=\"fixed-table-toolbar\">\n                            <div class=\"bars\">\n                                <div id=\"toolbar\">\n                                     <button id=\"add\" type=\"button\" class=\"btn btn-default\">%s %s</button>\n                                     <button id=\"delete\" type=\"button\" class=\"btn btn-default\" disabled>%s %s</button>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"fixed-table-container\">\n                            <table id=\"multi-sort\" class=\"table\">\n                                <thead>\n                                    <tr>\n                                        <th></th>\n                                         <th><div class=\"th-inner\">%s</div></th>\n                                         <th><div class=\"th-inner\">%s</div></th>\n                                    </tr>\n                                </thead>\n                                <tbody></tbody>\n                            </table>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"modal-footer\">\n                     <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">%s</button>\n                     <button type=\"button\" class=\"btn btn-primary multi-sort-order-button\">%s</button>\n                </div>\n            </div>\n        </div>\n    </div>\n      ",
-	      multipleSortButton: '<button class="multi-sort btn btn-default" type="button" data-toggle="modal" data-target="#%s" title="%s">%s</button>',
-	      multipleSortSelect: '<select class="%s %s form-control">'
-	    }
-	  },
-	  bootstrap4: {
-	    icons: {
-	      'plus': 'fa-plus',
-	      'minus': 'fa-minus',
-	      'sort': 'fa-sort'
-	    },
-	    html: {
-	      multipleSortModal: "\n        <div class=\"modal fade\" id=\"%s\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"%sLabel\" aria-hidden=\"true\">\n          <div class=\"modal-dialog\" role=\"document\">\n            <div class=\"modal-content\">\n              <div class=\"modal-header\">\n                <h5 class=\"modal-title\" id=\"%sLabel\">%s</h5>\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                  <span aria-hidden=\"true\">&times;</span>\n                </button>\n              </div>\n              <div class=\"modal-body\">\n                <div class=\"bootstrap-table\">\n                        <div class=\"fixed-table-toolbar\">\n                            <div class=\"bars\">\n                                <div id=\"toolbar\" class=\"pb-3\">\n                                     <button id=\"add\" type=\"button\" class=\"btn btn-secondary\">%s %s</button>\n                                     <button id=\"delete\" type=\"button\" class=\"btn btn-secondary\" disabled>%s %s</button>\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"fixed-table-container\">\n                            <table id=\"multi-sort\" class=\"table\">\n                                <thead>\n                                    <tr>\n                                        <th></th>\n                                         <th><div class=\"th-inner\">%s</div></th>\n                                         <th><div class=\"th-inner\">%s</div></th>\n                                    </tr>\n                                </thead>\n                                <tbody></tbody>\n                            </table>\n                        </div>\n                    </div>\n              </div>\n              <div class=\"modal-footer\">\n                <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">%s</button>\n                <button type=\"button\" class=\"btn btn-primary multi-sort-order-button\">%s</button>\n              </div>\n            </div>\n          </div>\n        </div>\n      ",
-	      multipleSortButton: '<button class="multi-sort btn btn-secondary" type="button" data-toggle="modal" data-target="#%s" title="%s">%s</button>',
-	      multipleSortSelect: '<select class="%s %s form-control">'
-	    }
-	  },
-	  semantic: {
-	    icons: {
-	      'plus': 'fa-plus',
-	      'minus': 'fa-minus',
-	      'sort': 'fa-sort'
-	    },
-	    html: {
-	      multipleSortModal: "\n        <div class=\"ui modal tiny\" id=\"%s\" aria-labelledby=\"%sLabel\" aria-hidden=\"true\">\n        <i class=\"close icon\"></i>\n        <div class=\"header\" id=\"%sLabel\">\n          %s\n        </div>\n        <div class=\"image content\">\n          <div class=\"bootstrap-table\">\n            <div class=\"fixed-table-toolbar\">\n                <div class=\"bars\">\n                  <div id=\"toolbar\" class=\"pb-3\">\n                    <button id=\"add\" type=\"button\" class=\"ui button\">%s %s</button>\n                    <button id=\"delete\" type=\"button\" class=\"ui button\" disabled>%s %s</button>\n                  </div>\n                </div>\n            </div>\n            <div class=\"fixed-table-container\">\n                <table id=\"multi-sort\" class=\"table\">\n                    <thead>\n                        <tr>\n                            <th></th>\n                            <th><div class=\"th-inner\">%s</div></th>\n                            <th><div class=\"th-inner\">%s</div></th>\n                        </tr>\n                    </thead>\n                    <tbody></tbody>\n                </table>\n            </div>\n          </div>\n        </div>\n        <div class=\"actions\">\n          <div class=\"ui button deny\">%s</div>\n          <div class=\"ui button approve multi-sort-order-button\">%s</div>\n        </div>\n      </div>\n      ",
-	      multipleSortButton: '<button class="multi-sort ui button" type="button" data-toggle="modal" data-target="#%s" title="%s">%s</button>',
-	      multipleSortSelect: '<select class="%s %s">'
-	    }
-	  },
-	  materialize: {
-	    icons: {
-	      'plus': 'plus',
-	      'minus': 'minus',
-	      'sort': 'sort'
-	    },
-	    html: {
-	      multipleSortModal: "\n        <div id=\"%s\" class=\"modal\" aria-labelledby=\"%sLabel\" aria-hidden=\"true\">\n          <div class=\"modal-content\" id=\"%sLabel\">\n            <h4>%s</h4>\n            <div class=\"bootstrap-table\">\n            <div class=\"fixed-table-toolbar\">\n                <div class=\"bars\">\n                  <div id=\"toolbar\" class=\"pb-3\">\n                    <button id=\"add\" type=\"button\" class=\"waves-effect waves-light btn\">%s %s</button>\n                    <button id=\"delete\" type=\"button\" class=\"waves-effect waves-light btn\" disabled>%s %s</button>\n                  </div>\n                </div>\n            </div>\n            <div class=\"fixed-table-container\">\n                <table id=\"multi-sort\" class=\"table\">\n                    <thead>\n                        <tr>\n                            <th></th>\n                            <th><div class=\"th-inner\">%s</div></th>\n                            <th><div class=\"th-inner\">%s</div></th>\n                        </tr>\n                    </thead>\n                    <tbody></tbody>\n                </table>\n            </div>\n          </div>\n          <div class=\"modal-footer\">\n            <a href=\"javascript:void(0)\" class=\"modal-close waves-effect waves-light btn\">%s</a>\n            <a href=\"javascript:void(0)\" class=\"modal-close waves-effect waves-light btn multi-sort-order-button\">%s</a>\n          </div>\n          </div>\n        </div>\n      ",
-	      multipleSortButton: '<a href="#%s" class="multi-sort waves-effect waves-light btn modal-trigger" type="button" data-toggle="modal" title="%s">%s</a>',
-	      multipleSortSelect: '<select class="%s %s browser-default">'
-	    }
-	  },
-	  foundation: {
-	    icons: {
-	      'plus': 'fa-plus',
-	      'minus': 'fa-minus',
-	      'sort': 'fa-sort'
-	    },
-	    html: {
-	      multipleSortModal: "\n        <div class=\"reveal\" id=\"%s\" data-reveal aria-labelledby=\"%sLabel\" aria-hidden=\"true\">\n            <div id=\"%sLabel\">\n              <h1>%s</h1>\n              <div class=\"bootstrap-table\">\n                <div class=\"fixed-table-toolbar\">\n                    <div class=\"bars\">\n                      <div id=\"toolbar\" class=\"padding-bottom-2\">\n                        <button id=\"add\" type=\"button\" class=\"waves-effect waves-light button\">%s %s</button>\n                        <button id=\"delete\" type=\"button\" class=\"waves-effect waves-light button\" disabled>%s %s</button>\n                      </div>\n                    </div>\n                </div>\n                <div class=\"fixed-table-container\">\n                    <table id=\"multi-sort\" class=\"table\">\n                        <thead>\n                            <tr>\n                                <th></th>\n                                <th><div class=\"th-inner\">%s</div></th>\n                                <th><div class=\"th-inner\">%s</div></th>\n                            </tr>\n                        </thead>\n                        <tbody></tbody>\n                    </table>\n                </div>\n              </div>\n\n              <button class=\"waves-effect waves-light button\" data-close aria-label=\"Close modal\" type=\"button\">\n                <span aria-hidden=\"true\">%s</span>\n              </button>\n              <button class=\"waves-effect waves-light button multi-sort-order-button\" data-close aria-label=\"Order\" type=\"button\">\n                  <span aria-hidden=\"true\">%s</span>\n              </button>\n            </div>\n        </div>\n      ",
-	      multipleSortButton: '<button class="button multi-sort" data-open="%s" title="%s">%s</button>',
-	      multipleSortSelect: '<select class="%s %s browser-default">'
-	    }
-	  },
-	  bulma: {
-	    icons: {
-	      'plus': 'fa-plus',
-	      'minus': 'fa-minus',
-	      'sort': 'fa-sort'
-	    },
-	    html: {
-	      multipleSortModal: "\n        <div class=\"modal\" id=\"%s\" aria-labelledby=\"%sLabel\" aria-hidden=\"true\">\n          <div class=\"modal-background\"></div>\n          <div class=\"modal-content\" id=\"%sLabel\">\n            <div class=\"box\">\n            <h2>%s</h2>\n              <div class=\"bootstrap-table\">\n                  <div class=\"fixed-table-toolbar\">\n                      <div class=\"bars\">\n                        <div id=\"toolbar\" class=\"padding-bottom-2\">\n                          <button id=\"add\" type=\"button\" class=\"waves-effect waves-light button\">%s %s</button>\n                          <button id=\"delete\" type=\"button\" class=\"waves-effect waves-light button\" disabled>%s %s</button>\n                        </div>\n                      </div>\n                  </div>\n                  <div class=\"fixed-table-container\">\n                      <table id=\"multi-sort\" class=\"table\">\n                          <thead>\n                              <tr>\n                                  <th></th>\n                                  <th><div class=\"th-inner\">%s</div></th>\n                                  <th><div class=\"th-inner\">%s</div></th>\n                              </tr>\n                          </thead>\n                          <tbody></tbody>\n                      </table>\n                    </div>\n                </div>\n                <button type=\"button\" class=\"waves-effect waves-light button\" data-close>%s</button>\n                <button type=\"button\" class=\"waves-effect waves-light button multi-sort-order-button\" data-close>%s</button>\n            </div>\n          </div>\n        </div>\n      ",
-	      multipleSortButton: '<button class="button multi-sort" data-target="%s" title="%s">%s</button>',
-	      multipleSortSelect: '<select class="%s %s browser-default">'
-	    }
-	  }
-	}[$.fn.bootstrapTable.theme];
-	$.extend($.fn.bootstrapTable.defaults.icons, bootstrap.icons);
-	$.extend($.fn.bootstrapTable.defaults.html, bootstrap.html);
-
-	var showSortModal = function showSortModal(that) {
-	  var _selector = that.sortModalSelector;
-
-	  var _id = "#".concat(_selector);
-
-	  var o = that.options;
-
-	  if (!$(_id).hasClass('modal')) {
-	    var sModal = Utils.sprintf(that.constants.html.multipleSortModal, _selector, _selector, _selector, that.options.formatMultipleSort(), Utils.sprintf(that.constants.html.icon, o.iconsPrefix, that.constants.icons.plus), that.options.formatAddLevel(), Utils.sprintf(that.constants.html.icon, o.iconsPrefix, that.constants.icons.minus), that.options.formatDeleteLevel(), that.options.formatColumn(), that.options.formatOrder(), that.options.formatCancel(), that.options.formatSort());
-	    $('body').append($(sModal));
-	    that.$sortModal = $(_id);
-	    var $rows = that.$sortModal.find('tbody > tr');
-	    that.$sortModal.off('click', '#add').on('click', '#add', function () {
-	      var total = that.$sortModal.find('.multi-sort-name:first option').length;
-	      var current = that.$sortModal.find('tbody tr').length;
-
-	      if (current < total) {
-	        current++;
-	        that.addLevel();
-	        that.setButtonStates();
-	      }
-	    });
-	    that.$sortModal.off('click', '#delete').on('click', '#delete', function () {
-	      var total = that.$sortModal.find('.multi-sort-name:first option').length;
-	      var current = that.$sortModal.find('tbody tr').length;
-
-	      if (current > 1 && current <= total) {
-	        current--;
-	        that.$sortModal.find('tbody tr:last').remove();
-	        that.setButtonStates();
-	      }
-	    });
-	    that.$sortModal.off('click', '.multi-sort-order-button').on('click', '.multi-sort-order-button', function () {
-	      var $rows = that.$sortModal.find('tbody > tr');
-	      var $alert = that.$sortModal.find('div.alert');
-	      var fields = [];
-	      var results = [];
-	      var sortPriority = $.map($rows, function (row) {
-	        var $row = $(row);
-	        var name = $row.find('.multi-sort-name').val();
-	        var order = $row.find('.multi-sort-order').val();
-	        fields.push(name);
-	        return {
-	          sortName: name,
-	          sortOrder: order
-	        };
-	      });
-	      var sorted_fields = fields.sort();
-
-	      for (var i = 0; i < fields.length - 1; i++) {
-	        if (sorted_fields[i + 1] === sorted_fields[i]) {
-	          results.push(sorted_fields[i]);
-	        }
-	      }
-
-	      if (results.length > 0) {
-	        if ($alert.length === 0) {
-	          $alert = "<div class=\"alert alert-danger\" role=\"alert\"><strong>".concat(that.options.formatDuplicateAlertTitle(), "</strong> ").concat(that.options.formatDuplicateAlertDescription(), "</div>");
-	          $($alert).insertBefore(that.$sortModal.find('.bars'));
-	        }
-	      } else {
-	        if ($alert.length === 1) {
-	          $($alert).remove();
-	        }
-
-	        if ($.inArray($.fn.bootstrapTable.theme, ['bootstrap3', 'bootstrap4']) !== -1) {
-	          that.$sortModal.modal('hide');
-	        }
-
-	        that.multiSort(sortPriority);
-	      }
-	    });
-
-	    if (that.options.sortPriority === null || that.options.sortPriority.length === 0) {
-	      if (that.options.sortName) {
-	        that.options.sortPriority = [{
-	          sortName: that.options.sortName,
-	          sortOrder: that.options.sortOrder
-	        }];
-	      }
-	    }
-
-	    if (that.options.sortPriority !== null && that.options.sortPriority.length > 0) {
-	      if ($rows.length < that.options.sortPriority.length && _typeof(that.options.sortPriority) === 'object') {
-	        for (var i = 0; i < that.options.sortPriority.length; i++) {
-	          that.addLevel(i, that.options.sortPriority[i]);
-	        }
-	      }
-	    } else {
-	      that.addLevel(0);
-	    }
-
-	    that.setButtonStates();
-	  }
-	};
-
-	$.fn.bootstrapTable.methods.push('multipleSort');
-	$.fn.bootstrapTable.methods.push('multiSort');
-	$.extend($.fn.bootstrapTable.defaults, {
-	  showMultiSort: false,
-	  showMultiSortButton: true,
-	  multiSortStrictSort: false,
-	  sortPriority: null,
-	  onMultipleSort: function onMultipleSort() {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'multiple-sort.bs.table': 'onMultipleSort'
-	});
-	$.extend($.fn.bootstrapTable.locales, {
-	  formatMultipleSort: function formatMultipleSort() {
-	    return 'Multiple Sort';
-	  },
-	  formatAddLevel: function formatAddLevel() {
-	    return 'Add Level';
-	  },
-	  formatDeleteLevel: function formatDeleteLevel() {
-	    return 'Delete Level';
-	  },
-	  formatColumn: function formatColumn() {
-	    return 'Column';
-	  },
-	  formatOrder: function formatOrder() {
-	    return 'Order';
-	  },
-	  formatSortBy: function formatSortBy() {
-	    return 'Sort by';
-	  },
-	  formatThenBy: function formatThenBy() {
-	    return 'Then by';
-	  },
-	  formatSort: function formatSort() {
-	    return 'Sort';
-	  },
-	  formatCancel: function formatCancel() {
-	    return 'Cancel';
-	  },
-	  formatDuplicateAlertTitle: function formatDuplicateAlertTitle() {
-	    return 'Duplicate(s) detected!';
-	  },
-	  formatDuplicateAlertDescription: function formatDuplicateAlertDescription() {
-	    return 'Please remove or change any duplicate column.';
-	  },
-	  formatSortOrders: function formatSortOrders() {
-	    return {
-	      asc: 'Ascending',
-	      desc: 'Descending'
-	    };
-	  }
-	});
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-	var BootstrapTable = $.fn.bootstrapTable.Constructor;
-	var _initToolbar = BootstrapTable.prototype.initToolbar;
-	var _destroy = BootstrapTable.prototype.destroy;
-
-	BootstrapTable.prototype.initToolbar = function () {
-	  var _this = this;
-
-	  this.showToolbar = this.showToolbar || this.options.showMultiSort;
-	  var that = this;
-	  var sortModalSelector = "sortModal_".concat(this.$el.attr('id'));
-	  var sortModalId = "#".concat(sortModalSelector);
-	  this.$sortModal = $(sortModalId);
-	  this.sortModalSelector = sortModalSelector;
-
-	  if (that.options.sortPriority !== null) {
-	    that.onMultipleSort();
-	  }
-
-	  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	    args[_key] = arguments[_key];
-	  }
-
-	  _initToolbar.apply(this, Array.prototype.slice.apply(args));
-
-	  if (that.options.sidePagination === 'server' && !isSingleSort && that.options.sortPriority !== null) {
-	    var t = that.options.queryParams;
-
-	    that.options.queryParams = function (params) {
-	      params.multiSort = that.options.sortPriority;
-	      return t(params);
-	    };
-	  }
-
-	  if (this.options.showMultiSort) {
-	    var $btnGroup = this.$toolbar.find('>.' + that.constants.classes.buttonsGroup.split(' ').join('.')).first();
-	    var $multiSortBtn = this.$toolbar.find('div.multi-sort');
-	    var o = that.options;
-
-	    if (!$multiSortBtn.length && this.options.showMultiSortButton) {
-	      $multiSortBtn = Utils.sprintf(that.constants.html.multipleSortButton, that.sortModalSelector, this.options.formatMultipleSort(), Utils.sprintf(that.constants.html.icon, o.iconsPrefix, o.icons.sort));
-	      $btnGroup.append($multiSortBtn);
-
-	      if ($.fn.bootstrapTable.theme === 'semantic') {
-	        this.$toolbar.find('.multi-sort').on('click', function () {
-	          $(sortModalId).modal('show');
-	        });
-	      } else if ($.fn.bootstrapTable.theme === 'materialize') {
-	        this.$toolbar.find('.multi-sort').on('click', function () {
-	          $(sortModalId).modal();
-	        });
-	      } else if ($.fn.bootstrapTable.theme === 'foundation') {
-	        this.$toolbar.find('.multi-sort').on('click', function () {
-	          if (!_this.foundationModal) {
-	            // eslint-disable-next-line no-undef
-	            _this.foundationModal = new Foundation.Reveal($(sortModalId));
-	          }
-
-	          _this.foundationModal.open();
-	        });
-	      } else if ($.fn.bootstrapTable.theme === 'bulma') {
-	        this.$toolbar.find('.multi-sort').on('click', function () {
-	          $('html').toggleClass('is-clipped');
-	          $(sortModalId).toggleClass('is-active');
-	          $('button[data-close]').one('click', function () {
-	            $('html').toggleClass('is-clipped');
-	            $(sortModalId).toggleClass('is-active');
-	          });
-	        });
-	      }
-
-	      showSortModal(that);
-	    }
-
-	    this.$el.on('sort.bs.table', function () {
-	      isSingleSort = true;
-	    });
-	    this.$el.on('multiple-sort.bs.table', function () {
-	      isSingleSort = false;
-	    });
-	    this.$el.on('load-success.bs.table', function () {
-	      if (!isSingleSort && that.options.sortPriority !== null && _typeof(that.options.sortPriority) === 'object' && that.options.sidePagination !== 'server') {
-	        that.onMultipleSort();
-	      }
-	    });
-	    this.$el.on('column-switch.bs.table', function (field, checked) {
-	      for (var i = 0; i < that.options.sortPriority.length; i++) {
-	        if (that.options.sortPriority[i].sortName === checked) {
-	          that.options.sortPriority.splice(i, 1);
-	        }
-	      }
-
-	      that.assignSortableArrows();
-	      that.$sortModal.remove();
-	      showSortModal(that);
-	    });
-	    this.$el.on('reset-view.bs.table', function () {
-	      if (!isSingleSort && that.options.sortPriority !== null && _typeof(that.options.sortPriority) === 'object') {
-	        that.assignSortableArrows();
-	      }
-	    });
-	  }
-	};
-
-	BootstrapTable.prototype.destroy = function () {
-	  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	    args[_key2] = arguments[_key2];
-	  }
-
-	  _destroy.apply(this, Array.prototype.slice.apply(args));
-
-	  if (this.options.showMultiSort) {
-	    this.$sortModal.remove();
-	  }
-	};
-
-	BootstrapTable.prototype.multipleSort = function () {
-	  var that = this;
-
-	  if (!isSingleSort && that.options.sortPriority !== null && _typeof(that.options.sortPriority) === 'object' && that.options.sidePagination !== 'server') {
-	    that.onMultipleSort();
-	  }
-	};
-
-	BootstrapTable.prototype.onMultipleSort = function () {
-	  var that = this;
-
-	  var cmp = function cmp(x, y) {
-	    return x > y ? 1 : x < y ? -1 : 0;
-	  };
-
-	  var arrayCmp = function arrayCmp(a, b) {
-	    var arr1 = [];
-	    var arr2 = [];
-
-	    for (var i = 0; i < that.options.sortPriority.length; i++) {
-	      var fieldName = that.options.sortPriority[i].sortName;
-	      var fieldIndex = that.header.fields.indexOf(fieldName);
-	      var sorterName = that.header.sorters[that.header.fields.indexOf(fieldName)];
-
-	      if (that.header.sortNames[fieldIndex]) {
-	        fieldName = that.header.sortNames[fieldIndex];
-	      }
-
-	      var order = that.options.sortPriority[i].sortOrder === 'desc' ? -1 : 1;
-	      var aa = a[fieldName];
-	      var bb = b[fieldName];
-	      var value1 = $.fn.bootstrapTable.utils.calculateObjectValue(that.header, sorterName, [aa, bb]);
-	      var value2 = $.fn.bootstrapTable.utils.calculateObjectValue(that.header, sorterName, [bb, aa]);
-
-	      if (value1 !== undefined && value2 !== undefined) {
-	        arr1.push(order * value1);
-	        arr2.push(order * value2);
-	        continue;
-	      }
-
-	      if (aa === undefined || aa === null) aa = '';
-	      if (bb === undefined || bb === null) bb = '';
-
-	      if ($.isNumeric(aa) && $.isNumeric(bb)) {
-	        aa = parseFloat(aa);
-	        bb = parseFloat(bb);
-	      } else {
-	        aa = aa.toString();
-	        bb = bb.toString();
-
-	        if (that.options.multiSortStrictSort) {
-	          aa = aa.toLowerCase();
-	          bb = bb.toLowerCase();
-	        }
-	      }
-
-	      arr1.push(order * cmp(aa, bb));
-	      arr2.push(order * cmp(bb, aa));
-	    }
-
-	    return cmp(arr1, arr2);
-	  };
-
-	  this.data.sort(function (a, b) {
-	    return arrayCmp(a, b);
-	  });
-	  this.initBody();
-	  this.assignSortableArrows();
-	  this.trigger('multiple-sort');
-	};
-
-	BootstrapTable.prototype.addLevel = function (index, sortPriority) {
-	  var text = index === 0 ? this.options.formatSortBy() : this.options.formatThenBy();
-	  this.$sortModal.find('tbody').append($('<tr>').append($('<td>').text(text)).append($('<td>').append($(Utils.sprintf(this.constants.html.multipleSortSelect, this.constants.classes.paginationDropdown, 'multi-sort-name')))).append($('<td>').append($(Utils.sprintf(this.constants.html.multipleSortSelect, this.constants.classes.paginationDropdown, 'multi-sort-order')))));
-	  var $multiSortName = this.$sortModal.find('.multi-sort-name').last();
-	  var $multiSortOrder = this.$sortModal.find('.multi-sort-order').last();
-	  $.each(this.columns, function (i, column) {
-	    if (column.sortable === false || column.visible === false) {
-	      return true;
-	    }
-
-	    $multiSortName.append("<option value=\"".concat(column.field, "\">").concat(column.title, "</option>"));
-	  });
-	  $.each(this.options.formatSortOrders(), function (value, order) {
-	    $multiSortOrder.append("<option value=\"".concat(value, "\">").concat(order, "</option>"));
-	  });
-
-	  if (sortPriority !== undefined) {
-	    $multiSortName.find("option[value=\"".concat(sortPriority.sortName, "\"]")).attr('selected', true);
-	    $multiSortOrder.find("option[value=\"".concat(sortPriority.sortOrder, "\"]")).attr('selected', true);
-	  }
-	};
-
-	BootstrapTable.prototype.assignSortableArrows = function () {
-	  var that = this;
-	  var headers = that.$header.find('th');
-
-	  for (var i = 0; i < headers.length; i++) {
-	    for (var c = 0; c < that.options.sortPriority.length; c++) {
-	      if ($(headers[i]).data('field') === that.options.sortPriority[c].sortName) {
-	        $(headers[i]).find('.sortable').removeClass('desc asc').addClass(that.options.sortPriority[c].sortOrder);
-	      }
-	    }
-	  }
-	};
-
-	BootstrapTable.prototype.setButtonStates = function () {
-	  var total = this.$sortModal.find('.multi-sort-name:first option').length;
-	  var current = this.$sortModal.find('tbody tr').length;
-
-	  if (current === total) {
-	    this.$sortModal.find('#add').attr('disabled', 'disabled');
-	  }
-
-	  if (current > 1) {
-	    this.$sortModal.find('#delete').removeAttr('disabled');
-	  }
-
-	  if (current < total) {
-	    this.$sortModal.find('#add').removeAttr('disabled');
-	  }
-
-	  if (current === 1) {
-	    this.$sortModal.find('#delete').attr('disabled', 'disabled');
-	  }
-	};
-
-	BootstrapTable.prototype.multiSort = function (sortPriority) {
-	  var _this2 = this;
-
-	  this.options.sortPriority = sortPriority;
-	  this.options.sortName = '';
-
-	  if (this.options.sidePagination === 'server') {
-	    this.options.queryParams = function (params) {
-	      params.multiSort = _this2.options.sortPriority;
-	      return $.fn.bootstrapTable.utils.calculateObjectValue(_this2.options, _this2.options.queryParams, [params]);
-	    };
-
-	    isSingleSort = false;
-	    this.initServer(this.options.silentSort);
-	    return;
-	  }
-
-	  this.onMultipleSort();
-	};
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js b/server/target/classes/static/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js
deleted file mode 100644
index 65526f4..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},r=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},s=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,u={f:l&&!a.call({1:2},1)?function(t){var n=l(this,t);return!!n&&n.enumerable}:a},c=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},d={}.toString,f=function(t){return d.call(t).slice(8,-1)},p="".split,b=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==f(t)?p.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return b(h(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},y=function(t,n){if(!m(t))return t;var o,e;if(n&&"function"==typeof(o=t.toString)&&!m(e=o.call(t)))return e;if("function"==typeof(o=t.valueOf)&&!m(e=o.call(t)))return e;if(!n&&"function"==typeof(o=t.toString)&&!m(e=o.call(t)))return e;throw TypeError("Can't convert object to primitive value")},g={}.hasOwnProperty,S=function(t,n){return g.call(t,n)},x=r.document,w=m(x)&&m(x.createElement),M=function(t){return w?x.createElement(t):{}},O=!s&&!i((function(){return 7!=Object.defineProperty(M("div"),"a",{get:function(){return 7}}).a})),P=Object.getOwnPropertyDescriptor,T={f:s?P:function(t,n){if(t=v(t),n=y(n,!0),O)try{return P(t,n)}catch(t){}if(S(t,n))return c(!u.f.call(t,n),t[n])}},j=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:s?A:function(t,n,o){if(j(t),n=y(n,!0),j(o),O)try{return A(t,n,o)}catch(t){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(t[n]=o.value),t}},$=s?function(t,n,o){return E.f(t,n,c(1,o))}:function(t,n,o){return t[n]=o,t},C=function(t,n){try{$(r,t,n)}catch(o){r[t]=n}return n},L=r["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof L.inspectSource&&(L.inspectSource=function(t){return R.call(t)});var I,N,k,B=L.inspectSource,_=r.WeakMap,D="function"==typeof _&&/native code/.test(B(_)),F=o((function(t){(t.exports=function(t,n){return L[t]||(L[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),q=0,z=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++q+z).toString(36)},V=F("keys"),K=function(t){return V[t]||(V[t]=U(t))},W={},G=r.WeakMap;if(D){var Y=new G,Q=Y.get,X=Y.has,H=Y.set;I=function(t,n){return H.call(Y,t,n),n},N=function(t){return Q.call(Y,t)||{}},k=function(t){return X.call(Y,t)}}else{var J=K("state");W[J]=!0,I=function(t,n){return $(t,J,n),n},N=function(t){return S(t,J)?t[J]:{}},k=function(t){return S(t,J)}}var Z,tt,nt={set:I,get:N,has:k,enforce:function(t){return k(t)?N(t):I(t,{})},getterFor:function(t){return function(n){var o;if(!m(n)||(o=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return o}}},ot=o((function(t){var n=nt.get,o=nt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,s){var a=!!s&&!!s.unsafe,l=!!s&&!!s.enumerable,u=!!s&&!!s.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||$(i,"name",n),o(i).source=e.join("string"==typeof n?n:"")),t!==r?(a?!u&&t[n]&&(l=!0):delete t[n],l?t[n]=i:$(t,n,i)):l?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||B(this)}))})),et=r,rt=function(t){return"function"==typeof t?t:void 0},it=function(t,n){return arguments.length<2?rt(et[t])||rt(r[t]):et[t]&&et[t][n]||r[t]&&r[t][n]},st=Math.ceil,at=Math.floor,lt=function(t){return isNaN(t=+t)?0:(t>0?at:st)(t)},ut=Math.min,ct=function(t){return t>0?ut(lt(t),9007199254740991):0},dt=Math.max,ft=Math.min,pt=function(t,n){var o=lt(t);return o<0?dt(o+n,0):ft(o,n)},bt=function(t){return function(n,o,e){var r,i=v(n),s=ct(i.length),a=pt(e,s);if(t&&o!=o){for(;s>a;)if((r=i[a++])!=r)return!0}else for(;s>a;a++)if((t||a in i)&&i[a]===o)return t||a||0;return!t&&-1}},ht={includes:bt(!0),indexOf:bt(!1)},vt=ht.indexOf,mt=function(t,n){var o,e=v(t),r=0,i=[];for(o in e)!S(W,o)&&S(e,o)&&i.push(o);for(;n.length>r;)S(e,o=n[r++])&&(~vt(i,o)||i.push(o));return i},yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],gt=yt.concat("length","prototype"),St={f:Object.getOwnPropertyNames||function(t){return mt(t,gt)}},xt={f:Object.getOwnPropertySymbols},wt=it("Reflect","ownKeys")||function(t){var n=St.f(j(t)),o=xt.f;return o?n.concat(o(t)):n},Mt=function(t,n){for(var o=wt(n),e=E.f,r=T.f,i=0;i<o.length;i++){var s=o[i];S(t,s)||e(t,s,r(n,s))}},Ot=/#|\.prototype\./,Pt=function(t,n){var o=jt[Tt(t)];return o==Et||o!=At&&("function"==typeof n?i(n):!!n)},Tt=Pt.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},jt=Pt.data={},At=Pt.NATIVE="N",Et=Pt.POLYFILL="P",$t=Pt,Ct=T.f,Lt=function(t,n){var o,e,i,s,a,l=t.target,u=t.global,c=t.stat;if(o=u?r:c?r[l]||C(l,{}):(r[l]||{}).prototype)for(e in n){if(s=n[e],i=t.noTargetGet?(a=Ct(o,e))&&a.value:o[e],!$t(u?e:l+(c?".":"#")+e,t.forced)&&void 0!==i){if(typeof s==typeof i)continue;Mt(s,i)}(t.sham||i&&i.sham)&&$(s,"sham",!0),ot(o,e,s,t)}},Rt=Array.isArray||function(t){return"Array"==f(t)},It=function(t){return Object(h(t))},Nt=function(t,n,o){var e=y(n);e in t?E.f(t,e,c(0,o)):t[e]=o},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Bt=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=F("wks"),Dt=r.Symbol,Ft=Bt?Dt:U,qt=function(t){return S(_t,t)||(kt&&S(Dt,t)?_t[t]=Dt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},zt=qt("species"),Ut=function(t,n){var o;return Rt(t)&&("function"!=typeof(o=t.constructor)||o!==Array&&!Rt(o.prototype)?m(o)&&null===(o=o[zt])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===n?0:n)},Vt=it("navigator","userAgent")||"",Kt=r.process,Wt=Kt&&Kt.versions,Gt=Wt&&Wt.v8;Gt?tt=(Z=Gt.split("."))[0]+Z[1]:Vt&&(!(Z=Vt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Vt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Yt=tt&&+tt,Qt=qt("species"),Xt=function(t){return Yt>=51||!i((function(){var n=[];return(n.constructor={})[Qt]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},Ht=qt("isConcatSpreadable"),Jt=Yt>=51||!i((function(){var t=[];return t[Ht]=!1,t.concat()[0]!==t})),Zt=Xt("concat"),tn=function(t){if(!m(t))return!1;var n=t[Ht];return void 0!==n?!!n:Rt(t)};Lt({target:"Array",proto:!0,forced:!Jt||!Zt},{concat:function(t){var n,o,e,r,i,s=It(this),a=Ut(s,0),l=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?s:arguments[n],tn(i)){if(l+(r=ct(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(o=0;o<r;o++,l++)o in i&&Nt(a,l,i[o])}else{if(l>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Nt(a,l++,i)}return a.length=l,a}});var nn,on=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},en=[].push,rn=function(t){var n=1==t,o=2==t,e=3==t,r=4==t,i=6==t,s=5==t||i;return function(a,l,u,c){for(var d,f,p=It(a),h=b(p),v=function(t,n,o){if(on(t),void 0===n)return t;switch(o){case 0:return function(){return t.call(n)};case 1:return function(o){return t.call(n,o)};case 2:return function(o,e){return t.call(n,o,e)};case 3:return function(o,e,r){return t.call(n,o,e,r)}}return function(){return t.apply(n,arguments)}}(l,u,3),m=ct(h.length),y=0,g=c||Ut,S=n?g(a,m):o?g(a,0):void 0;m>y;y++)if((s||y in h)&&(f=v(d=h[y],y,p),t))if(n)S[y]=f;else if(f)switch(t){case 3:return!0;case 5:return d;case 6:return y;case 2:en.call(S,d)}else if(r)return!1;return i?-1:e||r?r:S}},sn={forEach:rn(0),map:rn(1),filter:rn(2),some:rn(3),every:rn(4),find:rn(5),findIndex:rn(6)},an=Object.keys||function(t){return mt(t,yt)},ln=s?Object.defineProperties:function(t,n){j(t);for(var o,e=an(n),r=e.length,i=0;r>i;)E.f(t,o=e[i++],n[o]);return t},un=it("document","documentElement"),cn=K("IE_PROTO"),dn=function(){},fn=function(t){return"<script>"+t+"<\/script>"},pn=function(){try{nn=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;pn=nn?function(t){t.write(fn("")),t.close();var n=t.parentWindow.Object;return t=null,n}(nn):((n=M("iframe")).style.display="none",un.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(fn("document.F=Object")),t.close(),t.F);for(var o=yt.length;o--;)delete pn.prototype[yt[o]];return pn()};W[cn]=!0;var bn=Object.create||function(t,n){var o;return null!==t?(dn.prototype=j(t),o=new dn,dn.prototype=null,o[cn]=t):o=pn(),void 0===n?o:ln(o,n)},hn=qt("unscopables"),vn=Array.prototype;null==vn[hn]&&E.f(vn,hn,{configurable:!0,value:bn(null)});var mn,yn=sn.find,gn=!0;"find"in[]&&Array(1).find((function(){gn=!1})),Lt({target:"Array",proto:!0,forced:gn},{find:function(t){return yn(this,t,arguments.length>1?arguments[1]:void 0)}}),mn="find",vn[hn][mn]=!0;var Sn=function(t,n){var o=[][t];return!o||!i((function(){o.call(null,n||function(){throw 1},1)}))},xn=ht.indexOf,wn=[].indexOf,Mn=!!wn&&1/[1].indexOf(1,-0)<0,On=Sn("indexOf");Lt({target:"Array",proto:!0,forced:Mn||On},{indexOf:function(t){return Mn?wn.apply(this,arguments)||0:xn(this,t,arguments.length>1?arguments[1]:void 0)}});var Pn=[].join,Tn=b!=Object,jn=Sn("join",",");Lt({target:"Array",proto:!0,forced:Tn||jn},{join:function(t){return Pn.call(v(this),void 0===t?",":t)}});var An=sn.map,En=Xt("map"),$n=En&&!i((function(){[].map.call({length:-1,0:1},(function(t){throw t}))}));Lt({target:"Array",proto:!0,forced:!En||!$n},{map:function(t){return An(this,t,arguments.length>1?arguments[1]:void 0)}});var Cn=qt("species"),Ln=[].slice,Rn=Math.max;Lt({target:"Array",proto:!0,forced:!Xt("slice")},{slice:function(t,n){var o,e,r,i=v(this),s=ct(i.length),a=pt(t,s),l=pt(void 0===n?s:n,s);if(Rt(i)&&("function"!=typeof(o=i.constructor)||o!==Array&&!Rt(o.prototype)?m(o)&&null===(o=o[Cn])&&(o=void 0):o=void 0,o===Array||void 0===o))return Ln.call(i,a,l);for(e=new(void 0===o?Array:o)(Rn(l-a,0)),r=0;a<l;a++,r++)a in i&&Nt(e,r,i[a]);return e.length=r,e}});var In=[],Nn=In.sort,kn=i((function(){In.sort(void 0)})),Bn=i((function(){In.sort(null)})),_n=Sn("sort");Lt({target:"Array",proto:!0,forced:kn||!Bn||_n},{sort:function(t){return void 0===t?Nn.call(It(this)):Nn.call(It(this),on(t))}});var Dn=Math.max,Fn=Math.min;Lt({target:"Array",proto:!0,forced:!Xt("splice")},{splice:function(t,n){var o,e,r,i,s,a,l=It(this),u=ct(l.length),c=pt(t,u),d=arguments.length;if(0===d?o=e=0:1===d?(o=0,e=u-c):(o=d-2,e=Fn(Dn(lt(n),0),u-c)),u+o-e>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(r=Ut(l,e),i=0;i<e;i++)(s=c+i)in l&&Nt(r,i,l[s]);if(r.length=e,o<e){for(i=c;i<u-e;i++)a=i+o,(s=i+e)in l?l[a]=l[s]:delete l[a];for(i=u;i>u-e+o;i--)delete l[i-1]}else if(o>e)for(i=u-e;i>c;i--)a=i+o-1,(s=i+e-1)in l?l[a]=l[s]:delete l[a];for(i=0;i<o;i++)l[i+c]=arguments[i+2];return l.length=u-e+o,r}});var qn={};qn[qt("toStringTag")]="z";var zn="[object z]"===String(qn),Un=qt("toStringTag"),Vn="Arguments"==f(function(){return arguments}()),Kn=zn?f:function(t){var n,o,e;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(o=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),Un))?o:Vn?f(n):"Object"==(e=f(n))&&"function"==typeof n.callee?"Arguments":e},Wn=zn?{}.toString:function(){return"[object "+Kn(this)+"]"};zn||ot(Object.prototype,"toString",Wn,{unsafe:!0});var Gn="\t\n\v\f\r                　\u2028\u2029\ufeff",Yn="["+Gn+"]",Qn=RegExp("^"+Yn+Yn+"*"),Xn=RegExp(Yn+Yn+"*$"),Hn=function(t){return function(n){var o=String(h(n));return 1&t&&(o=o.replace(Qn,"")),2&t&&(o=o.replace(Xn,"")),o}},Jn={start:Hn(1),end:Hn(2),trim:Hn(3)}.trim,Zn=r.parseFloat,to=1/Zn(Gn+"-0")!=-1/0?function(t){var n=Jn(String(t)),o=Zn(n);return 0===o&&"-"==n.charAt(0)?-0:o}:Zn;Lt({global:!0,forced:parseFloat!=to},{parseFloat:to});var no=function(){var t=j(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n};function oo(t,n){return RegExp(t,n)}var eo,ro,io={UNSUPPORTED_Y:i((function(){var t=oo("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=oo("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},so=RegExp.prototype.exec,ao=String.prototype.replace,lo=so,uo=(eo=/a/,ro=/b*/g,so.call(eo,"a"),so.call(ro,"a"),0!==eo.lastIndex||0!==ro.lastIndex),co=io.UNSUPPORTED_Y||io.BROKEN_CARET,fo=void 0!==/()??/.exec("")[1];(uo||fo||co)&&(lo=function(t){var n,o,e,r,i=this,s=co&&i.sticky,a=no.call(i),l=i.source,u=0,c=t;return s&&(-1===(a=a.replace("y","")).indexOf("g")&&(a+="g"),c=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(l="(?: "+l+")",c=" "+c,u++),o=new RegExp("^(?:"+l+")",a)),fo&&(o=new RegExp("^"+l+"$(?!\\s)",a)),uo&&(n=i.lastIndex),e=so.call(s?o:i,c),s?e?(e.input=e.input.slice(u),e[0]=e[0].slice(u),e.index=i.lastIndex,i.lastIndex+=e[0].length):i.lastIndex=0:uo&&e&&(i.lastIndex=i.global?e.index+e[0].length:n),fo&&e&&e.length>1&&ao.call(e[0],o,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(e[r]=void 0)})),e});var po=lo;Lt({target:"RegExp",proto:!0,forced:/./.exec!==po},{exec:po});var bo=RegExp.prototype,ho=bo.toString,vo=i((function(){return"/a/b"!=ho.call({source:"a",flags:"b"})})),mo="toString"!=ho.name;(vo||mo)&&ot(RegExp.prototype,"toString",(function(){var t=j(this),n=String(t.source),o=t.flags;return"/"+n+"/"+String(void 0===o&&t instanceof RegExp&&!("flags"in bo)?no.call(t):o)}),{unsafe:!0});var yo=qt("species"),go=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),So="$0"==="a".replace(/./,"$0"),xo=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var o="ab".split(t);return 2!==o.length||"a"!==o[0]||"b"!==o[1]})),wo=qt("match"),Mo=qt("species"),Oo=function(t){return function(n,o){var e,r,i=String(h(n)),s=lt(o),a=i.length;return s<0||s>=a?t?"":void 0:(e=i.charCodeAt(s))<55296||e>56319||s+1===a||(r=i.charCodeAt(s+1))<56320||r>57343?t?i.charAt(s):e:t?i.slice(s,s+2):r-56320+(e-55296<<10)+65536}},Po={codeAt:Oo(!1),charAt:Oo(!0)}.charAt,To=function(t,n,o){return n+(o?Po(t,n).length:1)},jo=function(t,n){var o=t.exec;if("function"==typeof o){var e=o.call(t,n);if("object"!=typeof e)throw TypeError("RegExp exec method returned something other than an Object or null");return e}if("RegExp"!==f(t))throw TypeError("RegExp#exec called on incompatible receiver");return po.call(t,n)},Ao=[].push,Eo=Math.min,$o=!i((function(){return!RegExp(4294967295,"y")}));function Co(t){return(Co="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(t,n,o,e){var r=qt(t),s=!i((function(){var n={};return n[r]=function(){return 7},7!=""[t](n)})),a=s&&!i((function(){var n=!1,o=/a/;return"split"===t&&((o={}).constructor={},o.constructor[yo]=function(){return o},o.flags="",o[r]=/./[r]),o.exec=function(){return n=!0,null},o[r](""),!n}));if(!s||!a||"replace"===t&&(!go||!So)||"split"===t&&!xo){var l=/./[r],u=o(r,""[t],(function(t,n,o,e,r){return n.exec===po?s&&!r?{done:!0,value:l.call(n,o,e)}:{done:!0,value:t.call(o,n,e)}:{done:!1}}),{REPLACE_KEEPS_$0:So}),c=u[0],d=u[1];ot(String.prototype,t,c),ot(RegExp.prototype,r,2==n?function(t,n){return d.call(t,this,n)}:function(t){return d.call(t,this)})}e&&$(RegExp.prototype[r],"sham",!0)}("split",2,(function(t,n,o){var e;return e="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,o){var e,r,i=String(h(this)),s=void 0===o?4294967295:o>>>0;if(0===s)return[];if(void 0===t)return[i];if(!m(e=t)||(void 0!==(r=e[wo])?!r:"RegExp"!=f(e)))return n.call(i,t,s);for(var a,l,u,c=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,b=new RegExp(t.source,d+"g");(a=po.call(b,i))&&!((l=b.lastIndex)>p&&(c.push(i.slice(p,a.index)),a.length>1&&a.index<i.length&&Ao.apply(c,a.slice(1)),u=a[0].length,p=l,c.length>=s));)b.lastIndex===a.index&&b.lastIndex++;return p===i.length?!u&&b.test("")||c.push(""):c.push(i.slice(p)),c.length>s?c.slice(0,s):c}:"0".split(void 0,0).length?function(t,o){return void 0===t&&0===o?[]:n.call(this,t,o)}:n,[function(n,o){var r=h(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r,o):e.call(String(r),n,o)},function(t,r){var i=o(e,t,this,r,e!==n);if(i.done)return i.value;var s=j(t),a=String(this),l=function(t,n){var o,e=j(t).constructor;return void 0===e||null==(o=j(e)[Mo])?n:on(o)}(s,RegExp),u=s.unicode,c=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+($o?"y":"g"),d=new l($o?s:"^(?:"+s.source+")",c),f=void 0===r?4294967295:r>>>0;if(0===f)return[];if(0===a.length)return null===jo(d,a)?[a]:[];for(var p=0,b=0,h=[];b<a.length;){d.lastIndex=$o?b:0;var v,m=jo(d,$o?a:a.slice(b));if(null===m||(v=Eo(ct(d.lastIndex+($o?0:b)),a.length))===p)b=To(a,b,u);else{if(h.push(a.slice(p,b)),h.length===f)return h;for(var y=1;y<=m.length-1;y++)if(h.push(m[y]),h.length===f)return h;b=p=v}}return h.push(a.slice(p)),h}]}),!$o);var Lo=!1,Ro=t.fn.bootstrapTable.utils,Io={bootstrap3:{icons:{plus:"glyphicon-plus",minus:"glyphicon-minus",sort:"glyphicon-sort"},html:{multipleSortModal:'\n        <div class="modal fade" id="%s" tabindex="-1" role="dialog" aria-labelledby="%sLabel" aria-hidden="true">\n        <div class="modal-dialog">\n            <div class="modal-content">\n                <div class="modal-header">\n                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n                     <h4 class="modal-title" id="%sLabel">%s</h4>\n                </div>\n                <div class="modal-body">\n                    <div class="bootstrap-table">\n                        <div class="fixed-table-toolbar">\n                            <div class="bars">\n                                <div id="toolbar">\n                                     <button id="add" type="button" class="btn btn-default">%s %s</button>\n                                     <button id="delete" type="button" class="btn btn-default" disabled>%s %s</button>\n                                </div>\n                            </div>\n                        </div>\n                        <div class="fixed-table-container">\n                            <table id="multi-sort" class="table">\n                                <thead>\n                                    <tr>\n                                        <th></th>\n                                         <th><div class="th-inner">%s</div></th>\n                                         <th><div class="th-inner">%s</div></th>\n                                    </tr>\n                                </thead>\n                                <tbody></tbody>\n                            </table>\n                        </div>\n                    </div>\n                </div>\n                <div class="modal-footer">\n                     <button type="button" class="btn btn-default" data-dismiss="modal">%s</button>\n                     <button type="button" class="btn btn-primary multi-sort-order-button">%s</button>\n                </div>\n            </div>\n        </div>\n    </div>\n      ',multipleSortButton:'<button class="multi-sort btn btn-default" type="button" data-toggle="modal" data-target="#%s" title="%s">%s</button>',multipleSortSelect:'<select class="%s %s form-control">'}},bootstrap4:{icons:{plus:"fa-plus",minus:"fa-minus",sort:"fa-sort"},html:{multipleSortModal:'\n        <div class="modal fade" id="%s" tabindex="-1" role="dialog" aria-labelledby="%sLabel" aria-hidden="true">\n          <div class="modal-dialog" role="document">\n            <div class="modal-content">\n              <div class="modal-header">\n                <h5 class="modal-title" id="%sLabel">%s</h5>\n                <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n                  <span aria-hidden="true">&times;</span>\n                </button>\n              </div>\n              <div class="modal-body">\n                <div class="bootstrap-table">\n                        <div class="fixed-table-toolbar">\n                            <div class="bars">\n                                <div id="toolbar" class="pb-3">\n                                     <button id="add" type="button" class="btn btn-secondary">%s %s</button>\n                                     <button id="delete" type="button" class="btn btn-secondary" disabled>%s %s</button>\n                                </div>\n                            </div>\n                        </div>\n                        <div class="fixed-table-container">\n                            <table id="multi-sort" class="table">\n                                <thead>\n                                    <tr>\n                                        <th></th>\n                                         <th><div class="th-inner">%s</div></th>\n                                         <th><div class="th-inner">%s</div></th>\n                                    </tr>\n                                </thead>\n                                <tbody></tbody>\n                            </table>\n                        </div>\n                    </div>\n              </div>\n              <div class="modal-footer">\n                <button type="button" class="btn btn-secondary" data-dismiss="modal">%s</button>\n                <button type="button" class="btn btn-primary multi-sort-order-button">%s</button>\n              </div>\n            </div>\n          </div>\n        </div>\n      ',multipleSortButton:'<button class="multi-sort btn btn-secondary" type="button" data-toggle="modal" data-target="#%s" title="%s">%s</button>',multipleSortSelect:'<select class="%s %s form-control">'}},semantic:{icons:{plus:"fa-plus",minus:"fa-minus",sort:"fa-sort"},html:{multipleSortModal:'\n        <div class="ui modal tiny" id="%s" aria-labelledby="%sLabel" aria-hidden="true">\n        <i class="close icon"></i>\n        <div class="header" id="%sLabel">\n          %s\n        </div>\n        <div class="image content">\n          <div class="bootstrap-table">\n            <div class="fixed-table-toolbar">\n                <div class="bars">\n                  <div id="toolbar" class="pb-3">\n                    <button id="add" type="button" class="ui button">%s %s</button>\n                    <button id="delete" type="button" class="ui button" disabled>%s %s</button>\n                  </div>\n                </div>\n            </div>\n            <div class="fixed-table-container">\n                <table id="multi-sort" class="table">\n                    <thead>\n                        <tr>\n                            <th></th>\n                            <th><div class="th-inner">%s</div></th>\n                            <th><div class="th-inner">%s</div></th>\n                        </tr>\n                    </thead>\n                    <tbody></tbody>\n                </table>\n            </div>\n          </div>\n        </div>\n        <div class="actions">\n          <div class="ui button deny">%s</div>\n          <div class="ui button approve multi-sort-order-button">%s</div>\n        </div>\n      </div>\n      ',multipleSortButton:'<button class="multi-sort ui button" type="button" data-toggle="modal" data-target="#%s" title="%s">%s</button>',multipleSortSelect:'<select class="%s %s">'}},materialize:{icons:{plus:"plus",minus:"minus",sort:"sort"},html:{multipleSortModal:'\n        <div id="%s" class="modal" aria-labelledby="%sLabel" aria-hidden="true">\n          <div class="modal-content" id="%sLabel">\n            <h4>%s</h4>\n            <div class="bootstrap-table">\n            <div class="fixed-table-toolbar">\n                <div class="bars">\n                  <div id="toolbar" class="pb-3">\n                    <button id="add" type="button" class="waves-effect waves-light btn">%s %s</button>\n                    <button id="delete" type="button" class="waves-effect waves-light btn" disabled>%s %s</button>\n                  </div>\n                </div>\n            </div>\n            <div class="fixed-table-container">\n                <table id="multi-sort" class="table">\n                    <thead>\n                        <tr>\n                            <th></th>\n                            <th><div class="th-inner">%s</div></th>\n                            <th><div class="th-inner">%s</div></th>\n                        </tr>\n                    </thead>\n                    <tbody></tbody>\n                </table>\n            </div>\n          </div>\n          <div class="modal-footer">\n            <a href="javascript:void(0)" class="modal-close waves-effect waves-light btn">%s</a>\n            <a href="javascript:void(0)" class="modal-close waves-effect waves-light btn multi-sort-order-button">%s</a>\n          </div>\n          </div>\n        </div>\n      ',multipleSortButton:'<a href="#%s" class="multi-sort waves-effect waves-light btn modal-trigger" type="button" data-toggle="modal" title="%s">%s</a>',multipleSortSelect:'<select class="%s %s browser-default">'}},foundation:{icons:{plus:"fa-plus",minus:"fa-minus",sort:"fa-sort"},html:{multipleSortModal:'\n        <div class="reveal" id="%s" data-reveal aria-labelledby="%sLabel" aria-hidden="true">\n            <div id="%sLabel">\n              <h1>%s</h1>\n              <div class="bootstrap-table">\n                <div class="fixed-table-toolbar">\n                    <div class="bars">\n                      <div id="toolbar" class="padding-bottom-2">\n                        <button id="add" type="button" class="waves-effect waves-light button">%s %s</button>\n                        <button id="delete" type="button" class="waves-effect waves-light button" disabled>%s %s</button>\n                      </div>\n                    </div>\n                </div>\n                <div class="fixed-table-container">\n                    <table id="multi-sort" class="table">\n                        <thead>\n                            <tr>\n                                <th></th>\n                                <th><div class="th-inner">%s</div></th>\n                                <th><div class="th-inner">%s</div></th>\n                            </tr>\n                        </thead>\n                        <tbody></tbody>\n                    </table>\n                </div>\n              </div>\n\n              <button class="waves-effect waves-light button" data-close aria-label="Close modal" type="button">\n                <span aria-hidden="true">%s</span>\n              </button>\n              <button class="waves-effect waves-light button multi-sort-order-button" data-close aria-label="Order" type="button">\n                  <span aria-hidden="true">%s</span>\n              </button>\n            </div>\n        </div>\n      ',multipleSortButton:'<button class="button multi-sort" data-open="%s" title="%s">%s</button>',multipleSortSelect:'<select class="%s %s browser-default">'}},bulma:{icons:{plus:"fa-plus",minus:"fa-minus",sort:"fa-sort"},html:{multipleSortModal:'\n        <div class="modal" id="%s" aria-labelledby="%sLabel" aria-hidden="true">\n          <div class="modal-background"></div>\n          <div class="modal-content" id="%sLabel">\n            <div class="box">\n            <h2>%s</h2>\n              <div class="bootstrap-table">\n                  <div class="fixed-table-toolbar">\n                      <div class="bars">\n                        <div id="toolbar" class="padding-bottom-2">\n                          <button id="add" type="button" class="waves-effect waves-light button">%s %s</button>\n                          <button id="delete" type="button" class="waves-effect waves-light button" disabled>%s %s</button>\n                        </div>\n                      </div>\n                  </div>\n                  <div class="fixed-table-container">\n                      <table id="multi-sort" class="table">\n                          <thead>\n                              <tr>\n                                  <th></th>\n                                  <th><div class="th-inner">%s</div></th>\n                                  <th><div class="th-inner">%s</div></th>\n                              </tr>\n                          </thead>\n                          <tbody></tbody>\n                      </table>\n                    </div>\n                </div>\n                <button type="button" class="waves-effect waves-light button" data-close>%s</button>\n                <button type="button" class="waves-effect waves-light button multi-sort-order-button" data-close>%s</button>\n            </div>\n          </div>\n        </div>\n      ',multipleSortButton:'<button class="button multi-sort" data-target="%s" title="%s">%s</button>',multipleSortSelect:'<select class="%s %s browser-default">'}}}[t.fn.bootstrapTable.theme];t.extend(t.fn.bootstrapTable.defaults.icons,Io.icons),t.extend(t.fn.bootstrapTable.defaults.html,Io.html);var No=function(n){var o=n.sortModalSelector,e="#".concat(o),r=n.options;if(!t(e).hasClass("modal")){var i=Ro.sprintf(n.constants.html.multipleSortModal,o,o,o,n.options.formatMultipleSort(),Ro.sprintf(n.constants.html.icon,r.iconsPrefix,n.constants.icons.plus),n.options.formatAddLevel(),Ro.sprintf(n.constants.html.icon,r.iconsPrefix,n.constants.icons.minus),n.options.formatDeleteLevel(),n.options.formatColumn(),n.options.formatOrder(),n.options.formatCancel(),n.options.formatSort());t("body").append(t(i)),n.$sortModal=t(e);var s=n.$sortModal.find("tbody > tr");if(n.$sortModal.off("click","#add").on("click","#add",(function(){var t=n.$sortModal.find(".multi-sort-name:first option").length,o=n.$sortModal.find("tbody tr").length;o<t&&(o++,n.addLevel(),n.setButtonStates())})),n.$sortModal.off("click","#delete").on("click","#delete",(function(){var t=n.$sortModal.find(".multi-sort-name:first option").length,o=n.$sortModal.find("tbody tr").length;o>1&&o<=t&&(o--,n.$sortModal.find("tbody tr:last").remove(),n.setButtonStates())})),n.$sortModal.off("click",".multi-sort-order-button").on("click",".multi-sort-order-button",(function(){for(var o=n.$sortModal.find("tbody > tr"),e=n.$sortModal.find("div.alert"),r=[],i=[],s=t.map(o,(function(n){var o=t(n),e=o.find(".multi-sort-name").val(),i=o.find(".multi-sort-order").val();return r.push(e),{sortName:e,sortOrder:i}})),a=r.sort(),l=0;l<r.length-1;l++)a[l+1]===a[l]&&i.push(a[l]);i.length>0?0===e.length&&(e='<div class="alert alert-danger" role="alert"><strong>'.concat(n.options.formatDuplicateAlertTitle(),"</strong> ").concat(n.options.formatDuplicateAlertDescription(),"</div>"),t(e).insertBefore(n.$sortModal.find(".bars"))):(1===e.length&&t(e).remove(),-1!==t.inArray(t.fn.bootstrapTable.theme,["bootstrap3","bootstrap4"])&&n.$sortModal.modal("hide"),n.multiSort(s))})),null!==n.options.sortPriority&&0!==n.options.sortPriority.length||n.options.sortName&&(n.options.sortPriority=[{sortName:n.options.sortName,sortOrder:n.options.sortOrder}]),null!==n.options.sortPriority&&n.options.sortPriority.length>0){if(s.length<n.options.sortPriority.length&&"object"===Co(n.options.sortPriority))for(var a=0;a<n.options.sortPriority.length;a++)n.addLevel(a,n.options.sortPriority[a])}else n.addLevel(0);n.setButtonStates()}};t.fn.bootstrapTable.methods.push("multipleSort"),t.fn.bootstrapTable.methods.push("multiSort"),t.extend(t.fn.bootstrapTable.defaults,{showMultiSort:!1,showMultiSortButton:!0,multiSortStrictSort:!1,sortPriority:null,onMultipleSort:function(){return!1}}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"multiple-sort.bs.table":"onMultipleSort"}),t.extend(t.fn.bootstrapTable.locales,{formatMultipleSort:function(){return"Multiple Sort"},formatAddLevel:function(){return"Add Level"},formatDeleteLevel:function(){return"Delete Level"},formatColumn:function(){return"Column"},formatOrder:function(){return"Order"},formatSortBy:function(){return"Sort by"},formatThenBy:function(){return"Then by"},formatSort:function(){return"Sort"},formatCancel:function(){return"Cancel"},formatDuplicateAlertTitle:function(){return"Duplicate(s) detected!"},formatDuplicateAlertDescription:function(){return"Please remove or change any duplicate column."},formatSortOrders:function(){return{asc:"Ascending",desc:"Descending"}}}),t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales);var ko=t.fn.bootstrapTable.Constructor,Bo=ko.prototype.initToolbar,_o=ko.prototype.destroy;ko.prototype.initToolbar=function(){var n=this;this.showToolbar=this.showToolbar||this.options.showMultiSort;var o=this,e="sortModal_".concat(this.$el.attr("id")),r="#".concat(e);this.$sortModal=t(r),this.sortModalSelector=e,null!==o.options.sortPriority&&o.onMultipleSort();for(var i=arguments.length,s=new Array(i),a=0;a<i;a++)s[a]=arguments[a];if(Bo.apply(this,Array.prototype.slice.apply(s)),"server"===o.options.sidePagination&&!Lo&&null!==o.options.sortPriority){var l=o.options.queryParams;o.options.queryParams=function(t){return t.multiSort=o.options.sortPriority,l(t)}}if(this.options.showMultiSort){var u=this.$toolbar.find(">."+o.constants.classes.buttonsGroup.split(" ").join(".")).first(),c=this.$toolbar.find("div.multi-sort"),d=o.options;!c.length&&this.options.showMultiSortButton&&(c=Ro.sprintf(o.constants.html.multipleSortButton,o.sortModalSelector,this.options.formatMultipleSort(),Ro.sprintf(o.constants.html.icon,d.iconsPrefix,d.icons.sort)),u.append(c),"semantic"===t.fn.bootstrapTable.theme?this.$toolbar.find(".multi-sort").on("click",(function(){t(r).modal("show")})):"materialize"===t.fn.bootstrapTable.theme?this.$toolbar.find(".multi-sort").on("click",(function(){t(r).modal()})):"foundation"===t.fn.bootstrapTable.theme?this.$toolbar.find(".multi-sort").on("click",(function(){n.foundationModal||(n.foundationModal=new Foundation.Reveal(t(r))),n.foundationModal.open()})):"bulma"===t.fn.bootstrapTable.theme&&this.$toolbar.find(".multi-sort").on("click",(function(){t("html").toggleClass("is-clipped"),t(r).toggleClass("is-active"),t("button[data-close]").one("click",(function(){t("html").toggleClass("is-clipped"),t(r).toggleClass("is-active")}))})),No(o)),this.$el.on("sort.bs.table",(function(){Lo=!0})),this.$el.on("multiple-sort.bs.table",(function(){Lo=!1})),this.$el.on("load-success.bs.table",(function(){Lo||null===o.options.sortPriority||"object"!==Co(o.options.sortPriority)||"server"===o.options.sidePagination||o.onMultipleSort()})),this.$el.on("column-switch.bs.table",(function(t,n){for(var e=0;e<o.options.sortPriority.length;e++)o.options.sortPriority[e].sortName===n&&o.options.sortPriority.splice(e,1);o.assignSortableArrows(),o.$sortModal.remove(),No(o)})),this.$el.on("reset-view.bs.table",(function(){Lo||null===o.options.sortPriority||"object"!==Co(o.options.sortPriority)||o.assignSortableArrows()}))}},ko.prototype.destroy=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];_o.apply(this,Array.prototype.slice.apply(n)),this.options.showMultiSort&&this.$sortModal.remove()},ko.prototype.multipleSort=function(){Lo||null===this.options.sortPriority||"object"!==Co(this.options.sortPriority)||"server"===this.options.sidePagination||this.onMultipleSort()},ko.prototype.onMultipleSort=function(){var n=this,o=function(t,n){return t>n?1:t<n?-1:0};this.data.sort((function(e,r){return function(e,r){for(var i=[],s=[],a=0;a<n.options.sortPriority.length;a++){var l=n.options.sortPriority[a].sortName,u=n.header.fields.indexOf(l),c=n.header.sorters[n.header.fields.indexOf(l)];n.header.sortNames[u]&&(l=n.header.sortNames[u]);var d="desc"===n.options.sortPriority[a].sortOrder?-1:1,f=e[l],p=r[l],b=t.fn.bootstrapTable.utils.calculateObjectValue(n.header,c,[f,p]),h=t.fn.bootstrapTable.utils.calculateObjectValue(n.header,c,[p,f]);void 0===b||void 0===h?(null==f&&(f=""),null==p&&(p=""),t.isNumeric(f)&&t.isNumeric(p)?(f=parseFloat(f),p=parseFloat(p)):(f=f.toString(),p=p.toString(),n.options.multiSortStrictSort&&(f=f.toLowerCase(),p=p.toLowerCase())),i.push(d*o(f,p)),s.push(d*o(p,f))):(i.push(d*b),s.push(d*h))}return o(i,s)}(e,r)})),this.initBody(),this.assignSortableArrows(),this.trigger("multiple-sort")},ko.prototype.addLevel=function(n,o){var e=0===n?this.options.formatSortBy():this.options.formatThenBy();this.$sortModal.find("tbody").append(t("<tr>").append(t("<td>").text(e)).append(t("<td>").append(t(Ro.sprintf(this.constants.html.multipleSortSelect,this.constants.classes.paginationDropdown,"multi-sort-name")))).append(t("<td>").append(t(Ro.sprintf(this.constants.html.multipleSortSelect,this.constants.classes.paginationDropdown,"multi-sort-order")))));var r=this.$sortModal.find(".multi-sort-name").last(),i=this.$sortModal.find(".multi-sort-order").last();t.each(this.columns,(function(t,n){if(!1===n.sortable||!1===n.visible)return!0;r.append('<option value="'.concat(n.field,'">').concat(n.title,"</option>"))})),t.each(this.options.formatSortOrders(),(function(t,n){i.append('<option value="'.concat(t,'">').concat(n,"</option>"))})),void 0!==o&&(r.find('option[value="'.concat(o.sortName,'"]')).attr("selected",!0),i.find('option[value="'.concat(o.sortOrder,'"]')).attr("selected",!0))},ko.prototype.assignSortableArrows=function(){for(var n=this.$header.find("th"),o=0;o<n.length;o++)for(var e=0;e<this.options.sortPriority.length;e++)t(n[o]).data("field")===this.options.sortPriority[e].sortName&&t(n[o]).find(".sortable").removeClass("desc asc").addClass(this.options.sortPriority[e].sortOrder)},ko.prototype.setButtonStates=function(){var t=this.$sortModal.find(".multi-sort-name:first option").length,n=this.$sortModal.find("tbody tr").length;n===t&&this.$sortModal.find("#add").attr("disabled","disabled"),n>1&&this.$sortModal.find("#delete").removeAttr("disabled"),n<t&&this.$sortModal.find("#add").removeAttr("disabled"),1===n&&this.$sortModal.find("#delete").attr("disabled","disabled")},ko.prototype.multiSort=function(n){var o=this;if(this.options.sortPriority=n,this.options.sortName="","server"===this.options.sidePagination)return this.options.queryParams=function(n){return n.multiSort=o.options.sortPriority,t.fn.bootstrapTable.utils.calculateObjectValue(o.options,o.options.queryParams,[n])},Lo=!1,void this.initServer(this.options.silentSort);this.onMultipleSort()}}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css b/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css
deleted file mode 100644
index 4f8cb5c..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.css
+++ /dev/null
@@ -1,11 +0,0 @@
-.bootstrap-table.bootstrap3 .fixed-table-pagination > .pagination ul.pagination,
-.bootstrap-table.bootstrap3 .fixed-table-pagination > .pagination .page-jump-to {
-  display: inline;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination .page-jump-to input {
-  width: 70px;
-  margin-left: 5px;
-  text-align: center;
-  float: left;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js b/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js
deleted file mode 100644
index c83bee4..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js
+++ /dev/null
@@ -1,1043 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author Jay <jwang@dizsoft.com>
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	$.extend($.fn.bootstrapTable.defaults, {
-	  showJumpTo: false
-	});
-	$.extend($.fn.bootstrapTable.locales, {
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  }
-	});
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initPagination",
-	    value: function initPagination() {
-	      var _get2,
-	          _this = this;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initPagination", this)).call.apply(_get2, [this].concat(args));
-
-	      if (this.options.showJumpTo) {
-	        var $pageGroup = this.$pagination.find('> .pagination');
-	        var $jumpTo = $pageGroup.find('.page-jump-to');
-
-	        if (!$jumpTo.length) {
-	          $jumpTo = $("\n          <div class=\"page-jump-to ".concat(this.constants.classes.inputGroup, "\">\n          <input type=\"number\" class=\"").concat(this.constants.classes.input).concat(Utils.sprintf(' input-%s', this.options.iconSize), "\" value=\"").concat(this.options.pageNumber, "\">\n          <button class=\"").concat(this.constants.buttonsClass, "\"  type=\"button\">\n          ").concat(this.options.formatJumpTo(), "\n          </button>\n          </div>\n        ")).appendTo($pageGroup);
-	          $jumpTo.on('click', 'button', function (e) {
-	            _this.selectPage(+$(e.target).parent('.page-jump-to').find('input').val());
-	          });
-	        }
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.min.css b/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.min.css
deleted file mode 100644
index ead35cf..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table.bootstrap3 .fixed-table-pagination>.pagination .page-jump-to,.bootstrap-table.bootstrap3 .fixed-table-pagination>.pagination ul.pagination{display:inline}.bootstrap-table .fixed-table-pagination>.pagination .page-jump-to input{width:70px;margin-left:5px;text-align:center;float:left}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.min.js b/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.min.js
deleted file mode 100644
index 45ddc52..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return d(h(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,n){if(!v(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!v(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,n){return m.call(t,n)},O=o.document,j=v(O)&&v(O.createElement),S=function(t){return j?O.createElement(t):{}},T=!u&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),P=Object.getOwnPropertyDescriptor,E={f:u?P:function(t,n){if(t=b(t),n=g(n,!0),T)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},_=Object.defineProperty,A={f:u?_:function(t,n,e){if(x(t),n=g(n,!0),x(e),T)try{return _(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},M=u?function(t,n,e){return A.f(t,n,l(1,e))}:function(t,n,e){return t[n]=e,t},k=function(t,n){try{M(o,t,n)}catch(e){o[t]=n}return n},C=o["__core-js_shared__"]||k("__core-js_shared__",{}),I=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return I.call(t)});var F,N,R,L=C.inspectSource,q=o.WeakMap,z="function"==typeof q&&/native code/.test(L(q)),D=e((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,J=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+J).toString(36)},B=D("keys"),K=function(t){return B[t]||(B[t]=W(t))},Q={},V=o.WeakMap;if(z){var X=new V,Y=X.get,$=X.has,H=X.set;F=function(t,n){return H.call(X,t,n),n},N=function(t){return Y.call(X,t)||{}},R=function(t){return $.call(X,t)}}else{var U=K("state");Q[U]=!0,F=function(t,n){return M(t,U,n),n},N=function(t){return w(t,U)?t[U]:{}},R=function(t){return w(t,U)}}var Z,tt,nt={set:F,get:N,has:R,enforce:function(t){return R(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var e;if(!v(n)||(e=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},et=e((function(t){var n=nt.get,e=nt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:k(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,n){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},ut=Math.ceil,ct=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?ct:ut)(t)},at=Math.min,lt=function(t){return t>0?at(ft(t),9007199254740991):0},st=Math.max,pt=Math.min,yt=function(t){return function(n,e,r){var o,i=b(n),u=lt(i.length),c=function(t,n){var e=ft(t);return e<0?st(e+n,0):pt(e,n)}(r,u);if(t&&e!=e){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},dt={includes:yt(!0),indexOf:yt(!1)}.indexOf,ht=function(t,n){var e,r=b(t),o=0,i=[];for(e in r)!w(Q,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~dt(i,e)||i.push(e));return i},bt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=bt.concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return ht(t,vt)}},mt={f:Object.getOwnPropertySymbols},wt=it("Reflect","ownKeys")||function(t){var n=gt.f(x(t)),e=mt.f;return e?n.concat(e(t)):n},Ot=function(t,n){for(var e=wt(n),r=A.f,o=E.f,i=0;i<e.length;i++){var u=e[i];w(t,u)||r(t,u,o(n,u))}},jt=/#|\.prototype\./,St=function(t,n){var e=Pt[Tt(t)];return e==xt||e!=Et&&("function"==typeof n?i(n):!!n)},Tt=St.normalize=function(t){return String(t).replace(jt,".").toLowerCase()},Pt=St.data={},Et=St.NATIVE="N",xt=St.POLYFILL="P",_t=St,At=E.f,Mt=function(t,n){var e,r,i,u,c,f=t.target,a=t.global,l=t.stat;if(e=a?o:l?o[f]||k(f,{}):(o[f]||{}).prototype)for(r in n){if(u=n[r],i=t.noTargetGet?(c=At(e,r))&&c.value:e[r],!_t(a?r:f+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;Ot(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),et(e,r,u,t)}},kt=Array.isArray||function(t){return"Array"==p(t)},Ct=function(t){return Object(h(t))},It=function(t,n,e){var r=g(n);r in t?A.f(t,r,l(0,e)):t[r]=e},Ft=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Nt=Ft&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=D("wks"),Lt=o.Symbol,qt=Nt?Lt:W,zt=function(t){return w(Rt,t)||(Ft&&w(Lt,t)?Rt[t]=Lt[t]:Rt[t]=qt("Symbol."+t)),Rt[t]},Dt=zt("species"),Gt=function(t,n){var e;return kt(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!kt(e.prototype)?v(e)&&null===(e=e[Dt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},Jt=it("navigator","userAgent")||"",Wt=o.process,Bt=Wt&&Wt.versions,Kt=Bt&&Bt.v8;Kt?tt=(Z=Kt.split("."))[0]+Z[1]:Jt&&(!(Z=Jt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Jt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Qt,Vt=tt&&+tt,Xt=zt("species"),Yt=zt("isConcatSpreadable"),$t=Vt>=51||!i((function(){var t=[];return t[Yt]=!1,t.concat()[0]!==t})),Ht=(Qt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Xt]=function(){return{foo:1}},1!==t[Qt](Boolean).foo}))),Ut=function(t){if(!v(t))return!1;var n=t[Yt];return void 0!==n?!!n:kt(t)};Mt({target:"Array",proto:!0,forced:!$t||!Ht},{concat:function(t){var n,e,r,o,i,u=Ct(this),c=Gt(u,0),f=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,f++)e in i&&It(c,f,i[e])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");It(c,f++,i)}return c.length=f,c}});var Zt,tn=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},nn=[].push,en=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,f,a,l){for(var s,p,y=Ct(c),h=d(y),b=tn(f,a,3),v=lt(h.length),g=0,m=l||Gt,w=n?m(c,v):e?m(c,0):void 0;v>g;g++)if((u||g in h)&&(p=b(s=h[g],g,y),t))if(n)w[g]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return g;case 2:nn.call(w,s)}else if(o)return!1;return i?-1:r||o?o:w}},rn={forEach:en(0),map:en(1),filter:en(2),some:en(3),every:en(4),find:en(5),findIndex:en(6)},on=Object.keys||function(t){return ht(t,bt)},un=u?Object.defineProperties:function(t,n){x(t);for(var e,r=on(n),o=r.length,i=0;o>i;)A.f(t,e=r[i++],n[e]);return t},cn=it("document","documentElement"),fn=K("IE_PROTO"),an=function(){},ln=function(t){return"<script>"+t+"<\/script>"},sn=function(){try{Zt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;sn=Zt?function(t){t.write(ln("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Zt):((n=S("iframe")).style.display="none",cn.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(ln("document.F=Object")),t.close(),t.F);for(var e=bt.length;e--;)delete sn.prototype[bt[e]];return sn()};Q[fn]=!0;var pn=Object.create||function(t,n){var e;return null!==t?(an.prototype=x(t),e=new an,an.prototype=null,e[fn]=t):e=sn(),void 0===n?e:un(e,n)},yn=zt("unscopables"),dn=Array.prototype;null==dn[yn]&&A.f(dn,yn,{configurable:!0,value:pn(null)});var hn,bn=rn.find,vn=!0;function gn(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function mn(t){return(mn=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function wn(t,n){return(wn=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function On(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function jn(t,n,e){return(jn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=mn(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}"find"in[]&&Array(1).find((function(){vn=!1})),Mt({target:"Array",proto:!0,forced:vn},{find:function(t){return bn(this,t,arguments.length>1?arguments[1]:void 0)}}),hn="find",dn[yn][hn]=!0;var Sn=t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults,{showJumpTo:!1}),t.extend(t.fn.bootstrapTable.locales,{formatJumpTo:function(){return"GO"}}),t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales),t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),On(this,mn(e).apply(this,arguments))}var r,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&wn(t,n)}(e,n),r=e,(o=[{key:"initPagination",value:function(){for(var n,r=this,o=arguments.length,i=new Array(o),u=0;u<o;u++)i[u]=arguments[u];if((n=jn(mn(e.prototype),"initPagination",this)).call.apply(n,[this].concat(i)),this.options.showJumpTo){var c=this.$pagination.find("> .pagination"),f=c.find(".page-jump-to");f.length||(f=t('\n          <div class="page-jump-to '.concat(this.constants.classes.inputGroup,'">\n          <input type="number" class="').concat(this.constants.classes.input).concat(Sn.sprintf(" input-%s",this.options.iconSize),'" value="').concat(this.options.pageNumber,'">\n          <button class="').concat(this.constants.buttonsClass,'"  type="button">\n          ').concat(this.options.formatJumpTo(),"\n          </button>\n          </div>\n        ")).appendTo(c)).on("click","button",(function(n){r.selectPage(+t(n.target).parent(".page-jump-to").find("input").val())}))}}}])&&gn(r.prototype,o),i&&gn(r,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js b/server/target/classes/static/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js
deleted file mode 100644
index 82e9af5..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js
+++ /dev/null
@@ -1,1173 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$2 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$2(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$2(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$2(3)
-	};
-
-	var trim = stringTrim.trim;
-
-
-	var nativeParseInt = global_1.parseInt;
-	var hex = /^[+-]?0[Xx]/;
-	var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	var _parseInt = FORCED ? function parseInt(string, radix) {
-	  var S = trim(String(string));
-	  return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
-	} : nativeParseInt;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	_export({ global: true, forced: parseInt != _parseInt }, {
-	  parseInt: _parseInt
-	});
-
-	/**
-	 * @author doug-the-guy
-	 * @version v1.0.0
-	 *
-	 * Bootstrap Table Pipeline
-	 * -----------------------
-	 *
-	 * This plugin enables client side data caching for server side requests which will
-	 * eliminate the need to issue a new request every page change. This will allow
-	 * for a performance balance for a large data set between returning all data at once
-	 * (client side paging) and a new server side request (server side paging).
-	 *
-	 * There are two new options:
-	 *  - usePipeline: enables this feature
-	 *  - pipelineSize: the size of each cache window
-	 *
-	 * The size of the pipeline must be evenly divisible by the current page size. This is
-	 * assured by rounding up to the nearest evenly divisible value. For example, if
-	 * the pipeline size is 4990 and the current page size is 25, then pipeline size will
-	 * be dynamically set to 5000.
-	 *
-	 * The cache windows are computed based on the pipeline size and the total number of rows
-	 * returned by the server side query. For example, with pipeline size 500 and total rows
-	 * 1300, the cache windows will be:
-	 *
-	 *  [{'lower': 0, 'upper': 499}, {'lower': 500, 'upper': 999}, {'lower': 1000, 'upper': 1499}]
-	 *
-	 * Using the limit (i.e. the pipelineSize) and offset parameters, the server side request
-	 * **MUST** return only the data in the requested cache window **AND** the total number of rows.
-	 * To wit, the server side code must use the offset and limit parameters to prepare the response
-	 * data.
-	 *
-	 * On a page change, the new offset is checked if it is within the current cache window. If so,
-	 * the requested page data is returned from the cached data set. Otherwise, a new server side
-	 * request will be issued for the new cache window.
-	 *
-	 * The current cached data is only invalidated on these events:
-	 *  * sorting
-	 *  * searching
-	 *  * page size change
-	 *  * page change moves into a new cache window
-	 *
-	 * There are two new events:
-	 *  - cached-data-hit.bs.table: issued when cached data is used on a page change
-	 *  - cached-data-reset.bs.table: issued when the cached data is invalidated and a
-	 *      new server side request is issued
-	 *
-	 **/
-
-	var Utils = $.fn.bootstrapTable.utils;
-	$.extend($.fn.bootstrapTable.defaults, {
-	  usePipeline: false,
-	  pipelineSize: 1000,
-	  onCachedDataHit: function onCachedDataHit(data) {
-	    return false;
-	  },
-	  onCachedDataReset: function onCachedDataReset(data) {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'cached-data-hit.bs.table': 'onCachedDataHit',
-	  'cached-data-reset.bs.table': 'onCachedDataReset'
-	});
-	var BootstrapTable = $.fn.bootstrapTable.Constructor;
-	var _init = BootstrapTable.prototype.init;
-	var _initServer = BootstrapTable.prototype.initServer;
-	var _onSearch = BootstrapTable.prototype.onSearch;
-	var _onSort = BootstrapTable.prototype.onSort;
-	var _onPageListChange = BootstrapTable.prototype.onPageListChange;
-
-	BootstrapTable.prototype.init = function () {
-	  // needs to be called before initServer()
-	  this.initPipeline();
-
-	  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	    args[_key] = arguments[_key];
-	  }
-
-	  _init.apply(this, Array.prototype.slice.apply(args));
-	};
-
-	BootstrapTable.prototype.initPipeline = function () {
-	  this.cacheRequestJSON = {};
-	  this.cacheWindows = [];
-	  this.currWindow = 0;
-	  this.resetCache = true;
-	};
-
-	BootstrapTable.prototype.onSearch = function (event) {
-	  /* force a cache reset on search */
-	  if (this.options.usePipeline) {
-	    this.resetCache = true;
-	  }
-
-	  _onSearch.apply(this, Array.prototype.slice.apply(arguments));
-	};
-
-	BootstrapTable.prototype.onSort = function (event) {
-	  /* force a cache reset on sort */
-	  if (this.options.usePipeline) {
-	    this.resetCache = true;
-	  }
-
-	  _onSort.apply(this, Array.prototype.slice.apply(arguments));
-	};
-
-	BootstrapTable.prototype.onPageListChange = function (event) {
-	  /* rebuild cache window on page size change */
-	  var target = $(event.currentTarget);
-	  var newPageSize = parseInt(target.text());
-	  this.options.pipelineSize = this.calculatePipelineSize(this.options.pipelineSize, newPageSize);
-	  this.resetCache = true;
-
-	  _onPageListChange.apply(this, Array.prototype.slice.apply(arguments));
-	};
-
-	BootstrapTable.prototype.calculatePipelineSize = function (pipelineSize, pageSize) {
-	  /* calculate pipeline size by rounding up to the nearest value evenly divisible
-	        * by the pageSize */
-	  if (pageSize === 0) return 0;
-	  return Math.ceil(pipelineSize / pageSize) * pageSize;
-	};
-
-	BootstrapTable.prototype.setCacheWindows = function () {
-	  /* set cache windows based on the total number of rows returned by server side
-	        * request and the pipelineSize */
-	  this.cacheWindows = [];
-	  var numWindows = this.options.totalRows / this.options.pipelineSize;
-
-	  for (var i = 0; i <= numWindows; i++) {
-	    var b = i * this.options.pipelineSize;
-	    this.cacheWindows[i] = {
-	      'lower': b,
-	      'upper': b + this.options.pipelineSize - 1
-	    };
-	  }
-	};
-
-	BootstrapTable.prototype.setCurrWindow = function (offset) {
-	  /* set the current cache window index, based on where the current offset falls */
-	  this.currWindow = 0;
-
-	  for (var i = 0; i < this.cacheWindows.length; i++) {
-	    if (this.cacheWindows[i].lower <= offset && offset <= this.cacheWindows[i].upper) {
-	      this.currWindow = i;
-	      break;
-	    }
-	  }
-	};
-
-	BootstrapTable.prototype.drawFromCache = function (offset, limit) {
-	  /* draw rows from the cache using offset and limit */
-	  var res = $.extend(true, {}, this.cacheRequestJSON);
-	  var drawStart = offset - this.cacheWindows[this.currWindow].lower;
-	  var drawEnd = drawStart + limit;
-	  res.rows = res.rows.slice(drawStart, drawEnd);
-	  return res;
-	};
-
-	BootstrapTable.prototype.initServer = function (silent, query, url) {
-	  /* determine if requested data is in cache (on paging) or if
-	        * a new ajax request needs to be issued (sorting, searching, paging
-	        * moving outside of cached data, page size change)
-	        * initial version of this extension will entirely override base initServer
-	        **/
-	  var data = {};
-	  var index = this.header.fields.indexOf(this.options.sortName);
-	  var params = {
-	    searchText: this.searchText,
-	    sortName: this.options.sortName,
-	    sortOrder: this.options.sortOrder
-	  };
-	  var request = null;
-
-	  if (this.header.sortNames[index]) {
-	    params.sortName = this.header.sortNames[index];
-	  }
-
-	  if (this.options.pagination && this.options.sidePagination === 'server') {
-	    params.pageSize = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize;
-	    params.pageNumber = this.options.pageNumber;
-	  }
-
-	  if (!(url || this.options.url) && !this.options.ajax) {
-	    return;
-	  }
-
-	  var useAjax = true;
-
-	  if (this.options.queryParamsType === 'limit') {
-	    params = {
-	      searchText: params.searchText,
-	      sortName: params.sortName,
-	      sortOrder: params.sortOrder
-	    };
-
-	    if (this.options.pagination && this.options.sidePagination === 'server') {
-	      params.limit = this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize;
-	      params.offset = (this.options.pageSize === this.options.formatAllRows() ? this.options.totalRows : this.options.pageSize) * (this.options.pageNumber - 1);
-
-	      if (this.options.usePipeline) {
-	        // if cacheWindows is empty, this is the initial request
-	        if (!this.cacheWindows.length) {
-	          useAjax = true;
-	          params.drawOffset = params.offset; // cache exists: determine if the page request is entirely within the current cached window
-	        } else {
-	          var w = this.cacheWindows[this.currWindow]; // case 1: reset cache but stay within current window (e.g. column sort)
-	          // case 2: move outside of the current window (e.g. search or paging)
-	          //  since each cache window is aligned with the current page size
-	          //  checking if params.offset is outside the current window is sufficient.
-	          //  need to requery for preceding or succeeding cache window
-	          //  also handle case
-
-	          if (this.resetCache || params.offset < w.lower || params.offset > w.upper) {
-	            useAjax = true;
-	            this.setCurrWindow(params.offset); // store the relative offset for drawing the page data afterwards
-
-	            params.drawOffset = params.offset; // now set params.offset to the lower bound of the new cache window
-	            // the server will return that whole cache window
-
-	            params.offset = this.cacheWindows[this.currWindow].lower; // within current cache window
-	          } else {
-	            useAjax = false;
-	          }
-	        }
-	      } else {
-	        if (params.limit === 0) {
-	          delete params.limit;
-	        }
-	      }
-	    }
-	  } // force an ajax call - this is on search, sort or page size change
-
-
-	  if (this.resetCache) {
-	    useAjax = true;
-	    this.resetCache = false;
-	  }
-
-	  if (this.options.usePipeline && useAjax) {
-	    /* in this scenario limit is used on the server to get the cache window
-	            * and drawLimit is used to get the page data afterwards */
-	    params.drawLimit = params.limit;
-	    params.limit = this.options.pipelineSize;
-	  } // cached results can be used
-
-
-	  if (!useAjax) {
-	    var res = this.drawFromCache(params.offset, params.limit);
-	    this.load(res);
-	    this.trigger('load-success', res);
-	    this.trigger('cached-data-hit', res);
-	    return;
-	  } // cached results can't be used
-	  // continue base initServer code
-
-
-	  if (!$.isEmptyObject(this.filterColumnsPartial)) {
-	    params.filter = JSON.stringify(this.filterColumnsPartial, null);
-	  }
-
-	  data = Utils.calculateObjectValue(this.options, this.options.queryParams, [params], data);
-	  $.extend(data, query || {}); // false to stop request
-
-	  if (data === false) {
-	    return;
-	  }
-
-	  if (!silent) {
-	    this.$tableLoading.show();
-	  }
-
-	  var self = this;
-	  request = $.extend({}, Utils.calculateObjectValue(null, this.options.ajaxOptions), {
-	    type: this.options.method,
-	    url: url || this.options.url,
-	    data: this.options.contentType === 'application/json' && this.options.method === 'post' ? JSON.stringify(data) : data,
-	    cache: this.options.cache,
-	    contentType: this.options.contentType,
-	    dataType: this.options.dataType,
-	    success: function success(res) {
-	      res = Utils.calculateObjectValue(self.options, self.options.responseHandler, [res], res); // cache results if using pipelining
-
-	      if (self.options.usePipeline) {
-	        // store entire request in cache
-	        self.cacheRequestJSON = $.extend(true, {}, res); // this gets set in load() also but needs to be set before
-	        // setting cacheWindows
-
-	        self.options.totalRows = res[self.options.totalField]; // if this is a search, potentially less results will be returned
-	        // so cache windows need to be rebuilt. Otherwise it
-	        // will come out the same
-
-	        self.setCacheWindows();
-	        self.setCurrWindow(params.drawOffset); // just load data for the page
-
-	        res = self.drawFromCache(params.drawOffset, params.drawLimit);
-	        self.trigger('cached-data-reset', res);
-	      }
-
-	      self.load(res);
-	      self.trigger('load-success', res);
-	      if (!silent) self.$tableLoading.hide();
-	    },
-	    error: function error(res) {
-	      var data = [];
-
-	      if (self.options.sidePagination === 'server') {
-	        data = {};
-	        data[self.options.totalField] = 0;
-	        data[self.options.dataField] = [];
-	      }
-
-	      self.load(data);
-	      self.trigger('load-error', res.status, res);
-	      if (!silent) self.$tableLoading.hide();
-	    }
-	  });
-
-	  if (this.options.ajax) {
-	    Utils.calculateObjectValue(this, this.options.ajax, [request], null);
-	  } else {
-	    if (this._xhr && this._xhr.readyState !== 4) {
-	      this._xhr.abort();
-	    }
-
-	    this._xhr = $.ajax(request);
-	  }
-	};
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.min.js b/server/target/classes/static/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.min.js
deleted file mode 100644
index 0e205c9..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},s=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,u={f:c&&!a.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:a},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},p={}.toString,l=function(t){return p.call(t).slice(8,-1)},h="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==l(t)?h.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(y(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},w=function(t,e){if(!v(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!v(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!v(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!v(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,b=function(t,e){return m.call(t,e)},S=o.document,O=v(S)&&v(S.createElement),x=!s&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:s?j:function(t,e){if(t=g(t),e=w(e,!0),x)try{return j(t,e)}catch(t){}if(b(t,e))return f(!u.f.call(t,e),t[e])}},C=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},T=Object.defineProperty,W={f:s?T:function(t,e,r){if(C(t),e=w(e,!0),C(r),x)try{return T(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},A=s?function(t,e,r){return W.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},N=function(t,e){try{A(o,t,e)}catch(r){o[t]=e}return e},z=o["__core-js_shared__"]||N("__core-js_shared__",{}),E=Function.toString;"function"!=typeof z.inspectSource&&(z.inspectSource=function(t){return E.call(t)});var R,_,L,M,F=z.inspectSource,I=o.WeakMap,q="function"==typeof I&&/native code/.test(F(I)),k=r((function(t){(t.exports=function(t,e){return z[t]||(z[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),D=0,V=Math.random(),J=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++D+V).toString(36)},$=k("keys"),H={},G=o.WeakMap;if(q){var B=new G,K=B.get,Q=B.has,X=B.set;R=function(t,e){return X.call(B,t,e),e},_=function(t){return K.call(B,t)||{}},L=function(t){return Q.call(B,t)}}else{var Y=$[M="state"]||($[M]=J(M));H[Y]=!0,R=function(t,e){return A(t,Y,e),e},_=function(t){return b(t,Y)?t[Y]:{}},L=function(t){return b(t,Y)}}var U,Z,tt={set:R,get:_,has:L,enforce:function(t){return L(t)?_(t):R(t,{})},getterFor:function(t){return function(e){var r;if(!v(e)||(r=_(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},et=r((function(t){var e=tt.get,r=tt.enforce,n=String(String).split("String");(t.exports=function(t,e,i,s){var a=!!s&&!!s.unsafe,c=!!s&&!!s.enumerable,u=!!s&&!!s.noTargetGet;"function"==typeof i&&("string"!=typeof e||b(i,"name")||A(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(a?!u&&t[e]&&(c=!0):delete t[e],c?t[e]=i:A(t,e,i)):c?t[e]=i:N(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),rt=o,nt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?nt(rt[t])||nt(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},it=Math.ceil,st=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?st:it)(t)},ct=Math.min,ut=function(t){return t>0?ct(at(t),9007199254740991):0},ft=Math.max,pt=Math.min,lt=function(t,e){var r=at(t);return r<0?ft(r+e,0):pt(r,e)},ht=function(t){return function(e,r,n){var o,i=g(e),s=ut(i.length),a=lt(n,s);if(t&&r!=r){for(;s>a;)if((o=i[a++])!=o)return!0}else for(;s>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},dt={includes:ht(!0),indexOf:ht(!1)},yt=dt.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),vt={f:Object.getOwnPropertyNames||function(t){return function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!b(H,r)&&b(n,r)&&i.push(r);for(;e.length>o;)b(n,r=e[o++])&&(~yt(i,r)||i.push(r));return i}(t,gt)}},wt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var e=vt.f(C(t)),r=wt.f;return r?e.concat(r(t)):e},bt=function(t,e){for(var r=mt(e),n=W.f,o=P.f,i=0;i<r.length;i++){var s=r[i];b(t,s)||n(t,s,o(e,s))}},St=/#|\.prototype\./,Ot=function(t,e){var r=jt[xt(t)];return r==Ct||r!=Pt&&("function"==typeof e?i(e):!!e)},xt=Ot.normalize=function(t){return String(t).replace(St,".").toLowerCase()},jt=Ot.data={},Pt=Ot.NATIVE="N",Ct=Ot.POLYFILL="P",Tt=Ot,Wt=P.f,At=function(t,e){var r,n,i,s,a,c=t.target,u=t.global,f=t.stat;if(r=u?o:f?o[c]||N(c,{}):(o[c]||{}).prototype)for(n in e){if(s=e[n],i=t.noTargetGet?(a=Wt(r,n))&&a.value:r[n],!Tt(u?n:c+(f?".":"#")+n,t.forced)&&void 0!==i){if(typeof s==typeof i)continue;bt(s,i)}(t.sham||i&&i.sham)&&A(s,"sham",!0),et(r,n,s,t)}},Nt=function(t,e,r){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},zt=Array.isArray||function(t){return"Array"==l(t)},Et=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Et&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=k("wks"),Lt=o.Symbol,Mt=Rt?Lt:J,Ft=function(t){return b(_t,t)||(Et&&b(Lt,t)?_t[t]=Lt[t]:_t[t]=Mt("Symbol."+t)),_t[t]},It=Ft("species"),qt=function(t,e){var r;return zt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!zt(r.prototype)?v(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},kt=[].push,Dt=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,s=5==t||i;return function(a,c,u,f){for(var p,l,h=Object(y(a)),g=d(h),v=Nt(c,u,3),w=ut(g.length),m=0,b=f||qt,S=e?b(a,w):r?b(a,0):void 0;w>m;m++)if((s||m in g)&&(l=v(p=g[m],m,h),t))if(e)S[m]=l;else if(l)switch(t){case 3:return!0;case 5:return p;case 6:return m;case 2:kt.call(S,p)}else if(o)return!1;return i?-1:n||o?o:S}},Vt={forEach:Dt(0),map:Dt(1),filter:Dt(2),some:Dt(3),every:Dt(4),find:Dt(5),findIndex:Dt(6)},Jt=ot("navigator","userAgent")||"",$t=o.process,Ht=$t&&$t.versions,Gt=Ht&&Ht.v8;Gt?Z=(U=Gt.split("."))[0]+U[1]:Jt&&(!(U=Jt.match(/Edge\/(\d+)/))||U[1]>=74)&&(U=Jt.match(/Chrome\/(\d+)/))&&(Z=U[1]);var Bt=Z&&+Z,Kt=Ft("species"),Qt=function(t){return Bt>=51||!i((function(){var e=[];return(e.constructor={})[Kt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Xt=Vt.filter,Yt=Qt("filter"),Ut=Yt&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));At({target:"Array",proto:!0,forced:!Yt||!Ut},{filter:function(t){return Xt(this,t,arguments.length>1?arguments[1]:void 0)}});var Zt,te,ee=dt.indexOf,re=[].indexOf,ne=!!re&&1/[1].indexOf(1,-0)<0,oe=!(te=[]["indexOf"])||!i((function(){te.call(null,Zt||function(){throw 1},1)}));At({target:"Array",proto:!0,forced:ne||oe},{indexOf:function(t){return ne?re.apply(this,arguments)||0:ee(this,t,arguments.length>1?arguments[1]:void 0)}});var ie=function(t,e,r){var n=w(e);n in t?W.f(t,n,f(0,r)):t[n]=r},se=Ft("species"),ae=[].slice,ce=Math.max;At({target:"Array",proto:!0,forced:!Qt("slice")},{slice:function(t,e){var r,n,o,i=g(this),s=ut(i.length),a=lt(t,s),c=lt(void 0===e?s:e,s);if(zt(i)&&("function"!=typeof(r=i.constructor)||r!==Array&&!zt(r.prototype)?v(r)&&null===(r=r[se])&&(r=void 0):r=void 0,r===Array||void 0===r))return ae.call(i,a,c);for(n=new(void 0===r?Array:r)(ce(c-a,0)),o=0;a<c;a++,o++)a in i&&ie(n,o,i[a]);return n.length=o,n}});var ue="\t\n\v\f\r                　\u2028\u2029\ufeff",fe="["+ue+"]",pe=RegExp("^"+fe+fe+"*"),le=RegExp(fe+fe+"*$"),he=function(t){return function(e){var r=String(y(e));return 1&t&&(r=r.replace(pe,"")),2&t&&(r=r.replace(le,"")),r}},de={start:he(1),end:he(2),trim:he(3)}.trim,ye=o.parseInt,ge=/^[+-]?0[Xx]/,ve=8!==ye(ue+"08")||22!==ye(ue+"0x16")?function(t,e){var r=de(String(t));return ye(r,e>>>0||(ge.test(r)?16:10))}:ye;At({global:!0,forced:parseInt!=ve},{parseInt:ve});var we=t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults,{usePipeline:!1,pipelineSize:1e3,onCachedDataHit:function(t){return!1},onCachedDataReset:function(t){return!1}}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"cached-data-hit.bs.table":"onCachedDataHit","cached-data-reset.bs.table":"onCachedDataReset"});var me=t.fn.bootstrapTable.Constructor,be=me.prototype.init,Se=(me.prototype.initServer,me.prototype.onSearch),Oe=me.prototype.onSort,xe=me.prototype.onPageListChange;me.prototype.init=function(){this.initPipeline();for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];be.apply(this,Array.prototype.slice.apply(e))},me.prototype.initPipeline=function(){this.cacheRequestJSON={},this.cacheWindows=[],this.currWindow=0,this.resetCache=!0},me.prototype.onSearch=function(t){this.options.usePipeline&&(this.resetCache=!0),Se.apply(this,Array.prototype.slice.apply(arguments))},me.prototype.onSort=function(t){this.options.usePipeline&&(this.resetCache=!0),Oe.apply(this,Array.prototype.slice.apply(arguments))},me.prototype.onPageListChange=function(e){var r=t(e.currentTarget),n=parseInt(r.text());this.options.pipelineSize=this.calculatePipelineSize(this.options.pipelineSize,n),this.resetCache=!0,xe.apply(this,Array.prototype.slice.apply(arguments))},me.prototype.calculatePipelineSize=function(t,e){return 0===e?0:Math.ceil(t/e)*e},me.prototype.setCacheWindows=function(){this.cacheWindows=[];for(var t=this.options.totalRows/this.options.pipelineSize,e=0;e<=t;e++){var r=e*this.options.pipelineSize;this.cacheWindows[e]={lower:r,upper:r+this.options.pipelineSize-1}}},me.prototype.setCurrWindow=function(t){this.currWindow=0;for(var e=0;e<this.cacheWindows.length;e++)if(this.cacheWindows[e].lower<=t&&t<=this.cacheWindows[e].upper){this.currWindow=e;break}},me.prototype.drawFromCache=function(e,r){var n=t.extend(!0,{},this.cacheRequestJSON),o=e-this.cacheWindows[this.currWindow].lower,i=o+r;return n.rows=n.rows.slice(o,i),n},me.prototype.initServer=function(e,r,n){var o,i={},s=this.header.fields.indexOf(this.options.sortName),a={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};if(this.header.sortNames[s]&&(a.sortName=this.header.sortNames[s]),this.options.pagination&&"server"===this.options.sidePagination&&(a.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,a.pageNumber=this.options.pageNumber),n||this.options.url||this.options.ajax){var c=!0;if("limit"===this.options.queryParamsType&&(a={searchText:a.searchText,sortName:a.sortName,sortOrder:a.sortOrder},this.options.pagination&&"server"===this.options.sidePagination))if(a.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,a.offset=(this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize)*(this.options.pageNumber-1),this.options.usePipeline)if(this.cacheWindows.length){var u=this.cacheWindows[this.currWindow];this.resetCache||a.offset<u.lower||a.offset>u.upper?(c=!0,this.setCurrWindow(a.offset),a.drawOffset=a.offset,a.offset=this.cacheWindows[this.currWindow].lower):c=!1}else c=!0,a.drawOffset=a.offset;else 0===a.limit&&delete a.limit;if(this.resetCache&&(c=!0,this.resetCache=!1),this.options.usePipeline&&c&&(a.drawLimit=a.limit,a.limit=this.options.pipelineSize),!c){var f=this.drawFromCache(a.offset,a.limit);return this.load(f),this.trigger("load-success",f),void this.trigger("cached-data-hit",f)}if(t.isEmptyObject(this.filterColumnsPartial)||(a.filter=JSON.stringify(this.filterColumnsPartial,null)),i=we.calculateObjectValue(this.options,this.options.queryParams,[a],i),t.extend(i,r||{}),!1!==i){e||this.$tableLoading.show();var p=this;o=t.extend({},we.calculateObjectValue(null,this.options.ajaxOptions),{type:this.options.method,url:n||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(i):i,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(r){r=we.calculateObjectValue(p.options,p.options.responseHandler,[r],r),p.options.usePipeline&&(p.cacheRequestJSON=t.extend(!0,{},r),p.options.totalRows=r[p.options.totalField],p.setCacheWindows(),p.setCurrWindow(a.drawOffset),r=p.drawFromCache(a.drawOffset,a.drawLimit),p.trigger("cached-data-reset",r)),p.load(r),p.trigger("load-success",r),e||p.$tableLoading.hide()},error:function(t){var r=[];"server"===p.options.sidePagination&&((r={})[p.options.totalField]=0,r[p.options.dataField]=[]),p.load(r),p.trigger("load-error",t.status,t),e||p.$tableLoading.hide()}}),this.options.ajax?we.calculateObjectValue(this,this.options.ajax,[o],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=t.ajax(o))}}}}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/print/bootstrap-table-print.js b/server/target/classes/static/bootstrap-table/extensions/print/bootstrap-table-print.js
deleted file mode 100644
index f404b14..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/print/bootstrap-table-print.js
+++ /dev/null
@@ -1,2055 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var $map = arrayIteration.map;
-
-
-
-	var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');
-	// FF49- issue
-	var USES_TO_LENGTH$1 = HAS_SPECIES_SUPPORT$1 && !fails(function () {
-	  [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.map` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.map
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 || !USES_TO_LENGTH$1 }, {
-	  map: function map(callbackfn /* , thisArg */) {
-	    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$2];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	var test = [];
-	var nativeSort = test.sort;
-
-	// IE8-
-	var FAILS_ON_UNDEFINED = fails(function () {
-	  test.sort(undefined);
-	});
-	// V8 bug
-	var FAILS_ON_NULL = fails(function () {
-	  test.sort(null);
-	});
-	// Old WebKit
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('sort');
-
-	var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD$1;
-
-	// `Array.prototype.sort` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.sort
-	_export({ target: 'Array', proto: true, forced: FORCED$1 }, {
-	  sort: function sort(comparefn) {
-	    return comparefn === undefined
-	      ? nativeSort.call(toObject(this))
-	      : nativeSort.call(toObject(this), aFunction$1(comparefn));
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test$1 = {};
-
-	test$1[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test$1) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  if (CollectionPrototype) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-	    }
-	    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-
-	function printPageBuilderDefault(table) {
-	  return "\n  <html>\n  <head>\n  <style type=\"text/css\" media=\"print\">\n  @page {\n    size: auto;\n    margin: 25px 0 25px 0;\n  }\n  </style>\n  <style type=\"text/css\" media=\"all\">\n  table {\n    border-collapse: collapse;\n    font-size: 12px;\n  }\n  table, th, td {\n    border: 1px solid grey;\n  }\n  th, td {\n    text-align: center;\n    vertical-align: middle;\n  }\n  p {\n    font-weight: bold;\n    margin-left:20px;\n  }\n  table {\n    width:94%;\n    margin-left:3%;\n    margin-right:3%;\n  }\n  div.bs-table-print {\n    text-align:center;\n  }\n  </style>\n  </head>\n  <title>Print Table</title>\n  <body>\n  <p>Printed on: ".concat(new Date(), " </p>\n  <div class=\"bs-table-print\">").concat(table, "</div>\n  </body>\n  </html>");
-	}
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  showPrint: false,
-	  printAsFilteredAndSortedOnUI: true,
-	  printSortColumn: undefined,
-	  printSortOrder: 'asc',
-	  printPageBuilder: function printPageBuilder(table) {
-	    return printPageBuilderDefault(table);
-	  }
-	});
-	$.extend($.fn.bootstrapTable.COLUMN_DEFAULTS, {
-	  printFilter: undefined,
-	  printIgnore: false,
-	  printFormatter: undefined
-	});
-	$.extend($.fn.bootstrapTable.defaults.icons, {
-	  print: {
-	    bootstrap3: 'glyphicon-print icon-share'
-	  }[$.fn.bootstrapTable.theme] || 'fa-print'
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      var _get2,
-	          _this = this;
-
-	      this.showToolbar = this.showToolbar || this.options.showPrint;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initToolbar", this)).call.apply(_get2, [this].concat(args));
-
-	      if (!this.options.showPrint) {
-	        return;
-	      }
-
-	      var $btnGroup = this.$toolbar.find('>.columns');
-	      var $print = $btnGroup.find('button.bs-print');
-
-	      if (!$print.length) {
-	        $print = $("\n        <button class=\"".concat(this.constants.buttonsClass, " bs-print\" type=\"button\">\n        <i class=\"").concat(this.options.iconsPrefix, " ").concat(this.options.icons.print, "\"></i>\n        </button>")).appendTo($btnGroup);
-	      }
-
-	      $print.off('click').on('click', function () {
-	        _this.doPrint(_this.options.printAsFilteredAndSortedOnUI ? _this.getData() : _this.options.data.slice(0));
-	      });
-	    }
-	  }, {
-	    key: "doPrint",
-	    value: function doPrint(data) {
-	      var _this2 = this;
-
-	      var formatValue = function formatValue(row, i, column) {
-	        var value = Utils.calculateObjectValue(column, column.printFormatter, [row[column.field], row, i], row[column.field]);
-	        return typeof value === 'undefined' || value === null ? _this2.options.undefinedText : value;
-	      };
-
-	      var buildTable = function buildTable(data, columnsArray) {
-	        var dir = _this2.$el.attr('dir') || 'ltr';
-	        var html = ["<table dir=\"".concat(dir, "\"><thead>")];
-	        var _iteratorNormalCompletion = true;
-	        var _didIteratorError = false;
-	        var _iteratorError = undefined;
-
-	        try {
-	          for (var _iterator = columnsArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	            var _columns = _step.value;
-	            html.push('<tr>');
-
-	            for (var h = 0; h < _columns.length; h++) {
-	              if (!_columns[h].printIgnore) {
-	                html.push("<th\n              ".concat(Utils.sprintf(' rowspan="%s"', _columns[h].rowspan), "\n              ").concat(Utils.sprintf(' colspan="%s"', _columns[h].colspan), "\n              >").concat(_columns[h].title, "</th>"));
-	              }
-	            }
-
-	            html.push('</tr>');
-	          }
-	        } catch (err) {
-	          _didIteratorError = true;
-	          _iteratorError = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion && _iterator.return != null) {
-	              _iterator.return();
-	            }
-	          } finally {
-	            if (_didIteratorError) {
-	              throw _iteratorError;
-	            }
-	          }
-	        }
-
-	        html.push('</thead><tbody>');
-
-	        for (var i = 0; i < data.length; i++) {
-	          html.push('<tr>');
-	          var _iteratorNormalCompletion2 = true;
-	          var _didIteratorError2 = false;
-	          var _iteratorError2 = undefined;
-
-	          try {
-	            for (var _iterator2 = columnsArray[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-	              var columns = _step2.value;
-
-	              for (var j = 0; j < columns.length; j++) {
-	                if (!columns[j].printIgnore && columns[j].field) {
-	                  html.push('<td>', formatValue(data[i], i, columns[j]), '</td>');
-	                }
-	              }
-	            }
-	          } catch (err) {
-	            _didIteratorError2 = true;
-	            _iteratorError2 = err;
-	          } finally {
-	            try {
-	              if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
-	                _iterator2.return();
-	              }
-	            } finally {
-	              if (_didIteratorError2) {
-	                throw _iteratorError2;
-	              }
-	            }
-	          }
-
-	          html.push('</tr>');
-	        }
-
-	        html.push('</tbody></table>');
-	        return html.join('');
-	      };
-
-	      var sortRows = function sortRows(data, colName, sortOrder) {
-	        if (!colName) {
-	          return data;
-	        }
-
-	        var reverse = sortOrder !== 'asc';
-	        reverse = -(+reverse || -1);
-	        return data.sort(function (a, b) {
-	          return reverse * a[colName].localeCompare(b[colName]);
-	        });
-	      };
-
-	      var filterRow = function filterRow(row, filters) {
-	        for (var index = 0; index < filters.length; ++index) {
-	          if (row[filters[index].colName] !== filters[index].value) {
-	            return false;
-	          }
-	        }
-
-	        return true;
-	      };
-
-	      var filterRows = function filterRows(data, filters) {
-	        return data.filter(function (row) {
-	          return filterRow(row, filters);
-	        });
-	      };
-
-	      var getColumnFilters = function getColumnFilters(columns) {
-	        return !columns || !columns[0] ? [] : columns[0].filter(function (col) {
-	          return col.printFilter;
-	        }).map(function (col) {
-	          return {
-	            colName: col.field,
-	            value: col.printFilter
-	          };
-	        });
-	      };
-
-	      data = filterRows(data, getColumnFilters(this.options.columns));
-	      data = sortRows(data, this.options.printSortColumn, this.options.printSortOrder);
-	      var table = buildTable(data, this.options.columns);
-	      var newWin = window.open('');
-	      newWin.document.write(this.options.printPageBuilder.call(this, table));
-	      newWin.document.close();
-	      newWin.focus();
-	      newWin.print();
-	      newWin.close();
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/print/bootstrap-table-print.min.js b/server/target/classes/static/bootstrap-table/extensions/print/bootstrap-table-print.min.js
deleted file mode 100644
index 9016e2f..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/print/bootstrap-table-print.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var n=a(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return d(h(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,n){if(!g(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!g(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!g(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!g(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,S=function(t,n){return m.call(t,n)},O=o.document,w=g(O)&&g(O.createElement),j=function(t){return w?O.createElement(t):{}},T=!u&&!i((function(){return 7!=Object.defineProperty(j("div"),"a",{get:function(){return 7}}).a})),P=Object.getOwnPropertyDescriptor,A={f:u?P:function(t,n){if(t=v(t),n=b(n,!0),T)try{return P(t,n)}catch(t){}if(S(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},_=Object.defineProperty,L={f:u?_:function(t,n,r){if(x(t),n=b(n,!0),x(r),T)try{return _(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=u?function(t,n,r){return L.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},I=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},k=o["__core-js_shared__"]||I("__core-js_shared__",{}),M=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return M.call(t)});var C,F,N,R=k.inspectSource,D=o.WeakMap,G="function"==typeof D&&/native code/.test(R(D)),V=r((function(t){(t.exports=function(t,n){return k[t]||(k[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,z=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+z).toString(36)},q=V("keys"),W=function(t){return q[t]||(q[t]=U(t))},H={},$=o.WeakMap;if(G){var Y=new $,J=Y.get,Q=Y.has,K=Y.set;C=function(t,n){return K.call(Y,t,n),n},F=function(t){return J.call(Y,t)||{}},N=function(t){return Q.call(Y,t)}}else{var X=W("state");H[X]=!0,C=function(t,n){return E(t,X,n),n},F=function(t){return S(t,X)?t[X]:{}},N=function(t){return S(t,X)}}var Z,tt={set:C,get:F,has:N,enforce:function(t){return N(t)?F(t):C(t,{})},getterFor:function(t){return function(n){var r;if(!g(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||E(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!f&&t[n]&&(a=!0):delete t[n],a?t[n]=i:E(t,n,i)):a?t[n]=i:I(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||R(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},at=Math.min,ft=function(t){return t>0?at(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)},yt=function(t){return function(n,r,e){var o,i=v(n),u=ft(i.length),c=pt(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},dt={includes:yt(!0),indexOf:yt(!1)}.indexOf,ht=function(t,n){var r,e=v(t),o=0,i=[];for(r in e)!S(H,r)&&S(e,r)&&i.push(r);for(;n.length>o;)S(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],gt=vt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return ht(t,gt)}},mt={f:Object.getOwnPropertySymbols},St=ot("Reflect","ownKeys")||function(t){var n=bt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},Ot=function(t,n){for(var r=St(n),e=L.f,o=A.f,i=0;i<r.length;i++){var u=r[i];S(t,u)||e(t,u,o(n,u))}},wt=/#|\.prototype\./,jt=function(t,n){var r=Pt[Tt(t)];return r==xt||r!=At&&("function"==typeof n?i(n):!!n)},Tt=jt.normalize=function(t){return String(t).replace(wt,".").toLowerCase()},Pt=jt.data={},At=jt.NATIVE="N",xt=jt.POLYFILL="P",_t=jt,Lt=A.f,Et=function(t,n){var r,e,i,u,c,a=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[a]||I(a,{}):(o[a]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=Lt(r,e))&&c.value:r[e],!_t(f?e:a+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;Ot(u,i)}(t.sham||i&&i.sham)&&E(u,"sham",!0),nt(r,e,u,t)}},It=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),kt=It&&!Symbol.sham&&"symbol"==typeof Symbol(),Mt=Array.isArray||function(t){return"Array"==p(t)},Ct=function(t){return Object(h(t))},Ft=Object.keys||function(t){return ht(t,vt)},Nt=u?Object.defineProperties:function(t,n){x(t);for(var r,e=Ft(n),o=e.length,i=0;o>i;)L.f(t,r=e[i++],n[r]);return t},Rt=ot("document","documentElement"),Dt=W("IE_PROTO"),Gt=function(){},Vt=function(t){return"<script>"+t+"<\/script>"},Bt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;Bt=Z?function(t){t.write(Vt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Z):((n=j("iframe")).style.display="none",Rt.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(Vt("document.F=Object")),t.close(),t.F);for(var r=vt.length;r--;)delete Bt.prototype[vt[r]];return Bt()};H[Dt]=!0;var zt=Object.create||function(t,n){var r;return null!==t?(Gt.prototype=x(t),r=new Gt,Gt.prototype=null,r[Dt]=t):r=Bt(),void 0===n?r:Nt(r,n)},Ut=bt.f,qt={}.toString,Wt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Ht={f:function(t){return Wt&&"[object Window]"==qt.call(t)?function(t){try{return Ut(t)}catch(t){return Wt.slice()}}(t):Ut(v(t))}},$t=V("wks"),Yt=o.Symbol,Jt=kt?Yt:U,Qt=function(t){return S($t,t)||(It&&S(Yt,t)?$t[t]=Yt[t]:$t[t]=Jt("Symbol."+t)),$t[t]},Kt={f:Qt},Xt=L.f,Zt=function(t){var n=rt.Symbol||(rt.Symbol={});S(n,t)||Xt(n,t,{value:Kt.f(t)})},tn=L.f,nn=Qt("toStringTag"),rn=function(t,n,r){t&&!S(t=r?t:t.prototype,nn)&&tn(t,nn,{configurable:!0,value:n})},en=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},on=Qt("species"),un=function(t,n){var r;return Mt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Mt(r.prototype)?g(r)&&null===(r=r[on])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},cn=[].push,an=function(t){var n=1==t,r=2==t,e=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,a,f,l){for(var s,p,y=Ct(c),h=d(y),v=function(t,n,r){if(en(t),void 0===n)return t;switch(r){case 0:return function(){return t.call(n)};case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,o){return t.call(n,r,e,o)}}return function(){return t.apply(n,arguments)}}(a,f,3),g=ft(h.length),b=0,m=l||un,S=n?m(c,g):r?m(c,0):void 0;g>b;b++)if((u||b in h)&&(p=v(s=h[b],b,y),t))if(n)S[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:cn.call(S,s)}else if(o)return!1;return i?-1:e||o?o:S}},fn={forEach:an(0),map:an(1),filter:an(2),some:an(3),every:an(4),find:an(5),findIndex:an(6)},ln=fn.forEach,sn=W("hidden"),pn=Qt("toPrimitive"),yn=tt.set,dn=tt.getterFor("Symbol"),hn=Object.prototype,vn=o.Symbol,gn=ot("JSON","stringify"),bn=A.f,mn=L.f,Sn=Ht.f,On=f.f,wn=V("symbols"),jn=V("op-symbols"),Tn=V("string-to-symbol-registry"),Pn=V("symbol-to-string-registry"),An=V("wks"),xn=o.QObject,_n=!xn||!xn.prototype||!xn.prototype.findChild,Ln=u&&i((function(){return 7!=zt(mn({},"a",{get:function(){return mn(this,"a",{value:7}).a}})).a}))?function(t,n,r){var e=bn(hn,n);e&&delete hn[n],mn(t,n,r),e&&t!==hn&&mn(hn,n,e)}:mn,En=function(t,n){var r=wn[t]=zt(vn.prototype);return yn(r,{type:"Symbol",tag:t,description:n}),u||(r.description=n),r},In=It&&"symbol"==typeof vn.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof vn},kn=function(t,n,r){t===hn&&kn(jn,n,r),x(t);var e=b(n,!0);return x(r),S(wn,e)?(r.enumerable?(S(t,sn)&&t[sn][e]&&(t[sn][e]=!1),r=zt(r,{enumerable:l(0,!1)})):(S(t,sn)||mn(t,sn,l(1,{})),t[sn][e]=!0),Ln(t,e,r)):mn(t,e,r)},Mn=function(t,n){x(t);var r=v(n),e=Ft(r).concat(Rn(r));return ln(e,(function(n){u&&!Cn.call(r,n)||kn(t,n,r[n])})),t},Cn=function(t){var n=b(t,!0),r=On.call(this,n);return!(this===hn&&S(wn,n)&&!S(jn,n))&&(!(r||!S(this,n)||!S(wn,n)||S(this,sn)&&this[sn][n])||r)},Fn=function(t,n){var r=v(t),e=b(n,!0);if(r!==hn||!S(wn,e)||S(jn,e)){var o=bn(r,e);return!o||!S(wn,e)||S(r,sn)&&r[sn][e]||(o.enumerable=!0),o}},Nn=function(t){var n=Sn(v(t)),r=[];return ln(n,(function(t){S(wn,t)||S(H,t)||r.push(t)})),r},Rn=function(t){var n=t===hn,r=Sn(n?jn:v(t)),e=[];return ln(r,(function(t){!S(wn,t)||n&&!S(hn,t)||e.push(wn[t])})),e};if(It||(nt((vn=function(){if(this instanceof vn)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=U(t),r=function(t){this===hn&&r.call(jn,t),S(this,sn)&&S(this[sn],n)&&(this[sn][n]=!1),Ln(this,n,l(1,t))};return u&&_n&&Ln(hn,n,{configurable:!0,set:r}),En(n,t)}).prototype,"toString",(function(){return dn(this).tag})),f.f=Cn,L.f=kn,A.f=Fn,bt.f=Ht.f=Nn,mt.f=Rn,u&&(mn(vn.prototype,"description",{configurable:!0,get:function(){return dn(this).description}}),nt(hn,"propertyIsEnumerable",Cn,{unsafe:!0}))),kt||(Kt.f=function(t){return En(Qt(t),t)}),Et({global:!0,wrap:!0,forced:!It,sham:!It},{Symbol:vn}),ln(Ft(An),(function(t){Zt(t)})),Et({target:"Symbol",stat:!0,forced:!It},{for:function(t){var n=String(t);if(S(Tn,n))return Tn[n];var r=vn(n);return Tn[n]=r,Pn[r]=n,r},keyFor:function(t){if(!In(t))throw TypeError(t+" is not a symbol");if(S(Pn,t))return Pn[t]},useSetter:function(){_n=!0},useSimple:function(){_n=!1}}),Et({target:"Object",stat:!0,forced:!It,sham:!u},{create:function(t,n){return void 0===n?zt(t):Mn(zt(t),n)},defineProperty:kn,defineProperties:Mn,getOwnPropertyDescriptor:Fn}),Et({target:"Object",stat:!0,forced:!It},{getOwnPropertyNames:Nn,getOwnPropertySymbols:Rn}),Et({target:"Object",stat:!0,forced:i((function(){mt.f(1)}))},{getOwnPropertySymbols:function(t){return mt.f(Ct(t))}}),gn){var Dn=!It||i((function(){var t=vn();return"[null]"!=gn([t])||"{}"!=gn({a:t})||"{}"!=gn(Object(t))}));Et({target:"JSON",stat:!0,forced:Dn},{stringify:function(t,n,r){for(var e,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(e=n,(g(n)||void 0!==t)&&!In(t))return Mt(n)||(n=function(t,n){if("function"==typeof e&&(n=e.call(this,t,n)),!In(n))return n}),o[1]=n,gn.apply(null,o)}})}vn.prototype[pn]||E(vn.prototype,pn,vn.prototype.valueOf),rn(vn,"Symbol"),H[sn]=!0;var Gn=L.f,Vn=o.Symbol;if(u&&"function"==typeof Vn&&(!("description"in Vn.prototype)||void 0!==Vn().description)){var Bn={},zn=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),n=this instanceof zn?new Vn(t):void 0===t?Vn():Vn(t);return""===t&&(Bn[n]=!0),n};Ot(zn,Vn);var Un=zn.prototype=Vn.prototype;Un.constructor=zn;var qn=Un.toString,Wn="Symbol(test)"==String(Vn("test")),Hn=/^Symbol\((.*)\)[^)]+$/;Gn(Un,"description",{configurable:!0,get:function(){var t=g(this)?this.valueOf():this,n=qn.call(t);if(S(Bn,t))return"";var r=Wn?n.slice(7,-1):n.replace(Hn,"$1");return""===r?void 0:r}}),Et({global:!0,forced:!0},{Symbol:zn})}Zt("iterator");var $n,Yn,Jn=function(t,n,r){var e=b(n);e in t?L.f(t,e,l(0,r)):t[e]=r},Qn=ot("navigator","userAgent")||"",Kn=o.process,Xn=Kn&&Kn.versions,Zn=Xn&&Xn.v8;Zn?Yn=($n=Zn.split("."))[0]+$n[1]:Qn&&(!($n=Qn.match(/Edge\/(\d+)/))||$n[1]>=74)&&($n=Qn.match(/Chrome\/(\d+)/))&&(Yn=$n[1]);var tr=Yn&&+Yn,nr=Qt("species"),rr=function(t){return tr>=51||!i((function(){var n=[];return(n.constructor={})[nr]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},er=Qt("isConcatSpreadable"),or=tr>=51||!i((function(){var t=[];return t[er]=!1,t.concat()[0]!==t})),ir=rr("concat"),ur=function(t){if(!g(t))return!1;var n=t[er];return void 0!==n?!!n:Mt(t)};Et({target:"Array",proto:!0,forced:!or||!ir},{concat:function(t){var n,r,e,o,i,u=Ct(this),c=un(u,0),a=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],ur(i)){if(a+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,a++)r in i&&Jn(c,a,i[r])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Jn(c,a++,i)}return c.length=a,c}});var cr=fn.filter,ar=rr("filter"),fr=ar&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));Et({target:"Array",proto:!0,forced:!ar||!fr},{filter:function(t){return cr(this,t,arguments.length>1?arguments[1]:void 0)}});var lr=Qt("unscopables"),sr=Array.prototype;null==sr[lr]&&L.f(sr,lr,{configurable:!0,value:zt(null)});var pr=function(t){sr[lr][t]=!0},yr=fn.find,dr=!0;"find"in[]&&Array(1).find((function(){dr=!1})),Et({target:"Array",proto:!0,forced:dr},{find:function(t){return yr(this,t,arguments.length>1?arguments[1]:void 0)}}),pr("find");var hr,vr,gr,br=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),mr=W("IE_PROTO"),Sr=Object.prototype,Or=br?Object.getPrototypeOf:function(t){return t=Ct(t),S(t,mr)?t[mr]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Sr:null},wr=Qt("iterator"),jr=!1;[].keys&&("next"in(gr=[].keys())?(vr=Or(Or(gr)))!==Object.prototype&&(hr=vr):jr=!0),null==hr&&(hr={}),S(hr,wr)||E(hr,wr,(function(){return this}));var Tr={IteratorPrototype:hr,BUGGY_SAFARI_ITERATORS:jr},Pr=Tr.IteratorPrototype,Ar=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),n=r instanceof Array}catch(t){}return function(r,e){return x(r),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(e),n?t.call(r,e):r.__proto__=e,r}}():void 0),xr=Tr.IteratorPrototype,_r=Tr.BUGGY_SAFARI_ITERATORS,Lr=Qt("iterator"),Er=function(){return this},Ir=function(t,n,r,e,o,i,u){!function(t,n,r){var e=n+" Iterator";t.prototype=zt(Pr,{next:l(1,r)}),rn(t,e,!1)}(r,n,e);var c,a,f,s=function(t){if(t===o&&v)return v;if(!_r&&t in d)return d[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},p=n+" Iterator",y=!1,d=t.prototype,h=d[Lr]||d["@@iterator"]||o&&d[o],v=!_r&&h||s(o),g="Array"==n&&d.entries||h;if(g&&(c=Or(g.call(new t)),xr!==Object.prototype&&c.next&&(Or(c)!==xr&&(Ar?Ar(c,xr):"function"!=typeof c[Lr]&&E(c,Lr,Er)),rn(c,p,!0))),"values"==o&&h&&"values"!==h.name&&(y=!0,v=function(){return h.call(this)}),d[Lr]!==v&&E(d,Lr,v),o)if(a={values:s("values"),keys:i?v:s("keys"),entries:s("entries")},u)for(f in a)!_r&&!y&&f in d||nt(d,f,a[f]);else Et({target:n,proto:!0,forced:_r||y},a);return a},kr=tt.set,Mr=tt.getterFor("Array Iterator"),Cr=Ir(Array,"Array",(function(t,n){kr(this,{type:"Array Iterator",target:v(t),index:0,kind:n})}),(function(){var t=Mr(this),n=t.target,r=t.kind,e=t.index++;return!n||e>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:e,done:!1}:"values"==r?{value:n[e],done:!1}:{value:[e,n[e]],done:!1}}),"values");pr("keys"),pr("values"),pr("entries");var Fr=function(t,n){var r=[][t];return!r||!i((function(){r.call(null,n||function(){throw 1},1)}))},Nr=[].join,Rr=d!=Object,Dr=Fr("join",",");Et({target:"Array",proto:!0,forced:Rr||Dr},{join:function(t){return Nr.call(v(this),void 0===t?",":t)}});var Gr=fn.map,Vr=rr("map"),Br=Vr&&!i((function(){[].map.call({length:-1,0:1},(function(t){throw t}))}));Et({target:"Array",proto:!0,forced:!Vr||!Br},{map:function(t){return Gr(this,t,arguments.length>1?arguments[1]:void 0)}});var zr=Qt("species"),Ur=[].slice,qr=Math.max;Et({target:"Array",proto:!0,forced:!rr("slice")},{slice:function(t,n){var r,e,o,i=v(this),u=ft(i.length),c=pt(t,u),a=pt(void 0===n?u:n,u);if(Mt(i)&&("function"!=typeof(r=i.constructor)||r!==Array&&!Mt(r.prototype)?g(r)&&null===(r=r[zr])&&(r=void 0):r=void 0,r===Array||void 0===r))return Ur.call(i,c,a);for(e=new(void 0===r?Array:r)(qr(a-c,0)),o=0;c<a;c++,o++)c in i&&Jn(e,o,i[c]);return e.length=o,e}});var Wr=[],Hr=Wr.sort,$r=i((function(){Wr.sort(void 0)})),Yr=i((function(){Wr.sort(null)})),Jr=Fr("sort");Et({target:"Array",proto:!0,forced:$r||!Yr||Jr},{sort:function(t){return void 0===t?Hr.call(Ct(this)):Hr.call(Ct(this),en(t))}});var Qr={};Qr[Qt("toStringTag")]="z";var Kr="[object z]"===String(Qr),Xr=Qt("toStringTag"),Zr="Arguments"==p(function(){return arguments}()),te=Kr?p:function(t){var n,r,e;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),Xr))?r:Zr?p(n):"Object"==(e=p(n))&&"function"==typeof n.callee?"Arguments":e},ne=Kr?{}.toString:function(){return"[object "+te(this)+"]"};Kr||nt(Object.prototype,"toString",ne,{unsafe:!0});var re=function(t){return function(n,r){var e,o,i=String(h(n)),u=ct(r),c=i.length;return u<0||u>=c?t?"":void 0:(e=i.charCodeAt(u))<55296||e>56319||u+1===c||(o=i.charCodeAt(u+1))<56320||o>57343?t?i.charAt(u):e:t?i.slice(u,u+2):o-56320+(e-55296<<10)+65536}},ee={codeAt:re(!1),charAt:re(!0)}.charAt,oe=tt.set,ie=tt.getterFor("String Iterator");Ir(String,"String",(function(t){oe(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=ie(this),r=n.string,e=n.index;return e>=r.length?{value:void 0,done:!0}:(t=ee(r,e),n.index+=t.length,{value:t,done:!1})}));var ue={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},ce=Qt("iterator"),ae=Qt("toStringTag"),fe=Cr.values;for(var le in ue){var se=o[le],pe=se&&se.prototype;if(pe){if(pe[ce]!==fe)try{E(pe,ce,fe)}catch(t){pe[ce]=fe}if(pe[ae]||E(pe,ae,le),ue[le])for(var ye in Cr)if(pe[ye]!==Cr[ye])try{E(pe,ye,Cr[ye])}catch(t){pe[ye]=Cr[ye]}}}function de(t,n){for(var r=0;r<n.length;r++){var e=n[r];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function he(t){return(he=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ve(t,n){return(ve=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function ge(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function be(t,n,r){return(be="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,r){var e=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=he(t)););return t}(t,n);if(e){var o=Object.getOwnPropertyDescriptor(e,n);return o.get?o.get.call(r):o.value}})(t,n,r||t)}var me=t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults,{showPrint:!1,printAsFilteredAndSortedOnUI:!0,printSortColumn:void 0,printSortOrder:"asc",printPageBuilder:function(t){return function(t){return'\n  <html>\n  <head>\n  <style type="text/css" media="print">\n  @page {\n    size: auto;\n    margin: 25px 0 25px 0;\n  }\n  </style>\n  <style type="text/css" media="all">\n  table {\n    border-collapse: collapse;\n    font-size: 12px;\n  }\n  table, th, td {\n    border: 1px solid grey;\n  }\n  th, td {\n    text-align: center;\n    vertical-align: middle;\n  }\n  p {\n    font-weight: bold;\n    margin-left:20px;\n  }\n  table {\n    width:94%;\n    margin-left:3%;\n    margin-right:3%;\n  }\n  div.bs-table-print {\n    text-align:center;\n  }\n  </style>\n  </head>\n  <title>Print Table</title>\n  <body>\n  <p>Printed on: '.concat(new Date,' </p>\n  <div class="bs-table-print">').concat(t,"</div>\n  </body>\n  </html>")}(t)}}),t.extend(t.fn.bootstrapTable.COLUMN_DEFAULTS,{printFilter:void 0,printIgnore:!1,printFormatter:void 0}),t.extend(t.fn.bootstrapTable.defaults.icons,{print:{bootstrap3:"glyphicon-print icon-share"}[t.fn.bootstrapTable.theme]||"fa-print"}),t.BootstrapTable=function(n){function r(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,r),ge(this,he(r).apply(this,arguments))}var e,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&ve(t,n)}(r,n),e=r,(o=[{key:"initToolbar",value:function(){var n,e=this;this.showToolbar=this.showToolbar||this.options.showPrint;for(var o=arguments.length,i=new Array(o),u=0;u<o;u++)i[u]=arguments[u];if((n=be(he(r.prototype),"initToolbar",this)).call.apply(n,[this].concat(i)),this.options.showPrint){var c=this.$toolbar.find(">.columns"),a=c.find("button.bs-print");a.length||(a=t('\n        <button class="'.concat(this.constants.buttonsClass,' bs-print" type="button">\n        <i class="').concat(this.options.iconsPrefix," ").concat(this.options.icons.print,'"></i>\n        </button>')).appendTo(c)),a.off("click").on("click",(function(){e.doPrint(e.options.printAsFilteredAndSortedOnUI?e.getData():e.options.data.slice(0))}))}}},{key:"doPrint",value:function(t){var n,r=this,e=function(t,n,e){var o=me.calculateObjectValue(e,e.printFormatter,[t[e.field],t,n],t[e.field]);return null==o?r.options.undefinedText:o},o=function(t,n){var o=r.$el.attr("dir")||"ltr",i=['<table dir="'.concat(o,'"><thead>')],u=!0,c=!1,a=void 0;try{for(var f,l=n[Symbol.iterator]();!(u=(f=l.next()).done);u=!0){var s=f.value;i.push("<tr>");for(var p=0;p<s.length;p++)s[p].printIgnore||i.push("<th\n              ".concat(me.sprintf(' rowspan="%s"',s[p].rowspan),"\n              ").concat(me.sprintf(' colspan="%s"',s[p].colspan),"\n              >").concat(s[p].title,"</th>"));i.push("</tr>")}}catch(t){c=!0,a=t}finally{try{u||null==l.return||l.return()}finally{if(c)throw a}}i.push("</thead><tbody>");for(var y=0;y<t.length;y++){i.push("<tr>");var d=!0,h=!1,v=void 0;try{for(var g,b=n[Symbol.iterator]();!(d=(g=b.next()).done);d=!0)for(var m=g.value,S=0;S<m.length;S++)!m[S].printIgnore&&m[S].field&&i.push("<td>",e(t[y],y,m[S]),"</td>")}catch(t){h=!0,v=t}finally{try{d||null==b.return||b.return()}finally{if(h)throw v}}i.push("</tr>")}return i.push("</tbody></table>"),i.join("")}(t=function(t,n,r){if(!n)return t;var e="asc"!==r;return e=-(+e||-1),t.sort((function(t,r){return e*t[n].localeCompare(r[n])}))}(t=function(t,n){return t.filter((function(t){return function(t,n){for(var r=0;r<n.length;++r)if(t[n[r].colName]!==n[r].value)return!1;return!0}(t,n)}))}(t,(n=this.options.columns)&&n[0]?n[0].filter((function(t){return t.printFilter})).map((function(t){return{colName:t.field,value:t.printFilter}})):[]),this.options.printSortColumn,this.options.printSortOrder),this.options.columns),i=window.open("");i.document.write(this.options.printPageBuilder.call(this,o)),i.document.close(),i.focus(),i.print(),i.close()}}])&&de(e.prototype,o),i&&de(e,i),r}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js b/server/target/classes/static/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js
deleted file mode 100644
index 7449a89..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js
+++ /dev/null
@@ -1,1401 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
-	// `Object.{ entries, values }` methods implementation
-	var createMethod$2 = function (TO_ENTRIES) {
-	  return function (it) {
-	    var O = toIndexedObject(it);
-	    var keys = objectKeys(O);
-	    var length = keys.length;
-	    var i = 0;
-	    var result = [];
-	    var key;
-	    while (length > i) {
-	      key = keys[i++];
-	      if (!descriptors || propertyIsEnumerable.call(O, key)) {
-	        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
-	      }
-	    }
-	    return result;
-	  };
-	};
-
-	var objectToArray = {
-	  // `Object.entries` method
-	  // https://tc39.github.io/ecma262/#sec-object.entries
-	  entries: createMethod$2(true),
-	  // `Object.values` method
-	  // https://tc39.github.io/ecma262/#sec-object.values
-	  values: createMethod$2(false)
-	};
-
-	var $entries = objectToArray.entries;
-
-	// `Object.entries` method
-	// https://tc39.github.io/ecma262/#sec-object.entries
-	_export({ target: 'Object', stat: true }, {
-	  entries: function entries(O) {
-	    return $entries(O);
-	  }
-	});
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$3 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$3(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$3(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$3(3)
-	};
-
-	var trim = stringTrim.trim;
-
-
-	var nativeParseInt = global_1.parseInt;
-	var hex = /^[+-]?0[Xx]/;
-	var FORCED$1 = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	var _parseInt = FORCED$1 ? function parseInt(string, radix) {
-	  var S = trim(String(string));
-	  return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
-	} : nativeParseInt;
-
-	// `parseInt` method
-	// https://tc39.github.io/ecma262/#sec-parseint-string-radix
-	_export({ global: true, forced: parseInt != _parseInt }, {
-	  parseInt: _parseInt
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	function _slicedToArray(arr, i) {
-	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
-	}
-
-	function _arrayWithHoles(arr) {
-	  if (Array.isArray(arr)) return arr;
-	}
-
-	function _iterableToArrayLimit(arr, i) {
-	  if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
-	    return;
-	  }
-
-	  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;
-	}
-
-	function _nonIterableRest() {
-	  throw new TypeError("Invalid attempt to destructure non-iterable instance");
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @update: https://github.com/wenzhixin
-	 * @version: v1.2.0
-	 */
-
-	$.akottr.dragtable.prototype._restoreState = function (persistObj) {
-	  for (var _i = 0, _Object$entries = Object.entries(persistObj); _i < _Object$entries.length; _i++) {
-	    var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
-	        field = _Object$entries$_i[0],
-	        value = _Object$entries$_i[1];
-
-	    var $th = this.originalTable.el.find("th[data-field=\"".concat(field, "\"]"));
-	    this.originalTable.startIndex = $th.prevAll().length + 1;
-	    this.originalTable.endIndex = parseInt(value, 10) + 1;
-
-	    this._bubbleCols();
-	  }
-	}; // From MDN site, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
-
-
-	var filterFn = function filterFn() {
-	  if (!Array.prototype.filter) {
-	    Array.prototype.filter = function (fun
-	    /* , thisArg*/
-	    ) {
-	      if (this === undefined || this === null) {
-	        throw new TypeError();
-	      }
-
-	      var t = Object(this);
-	      var len = t.length >>> 0;
-
-	      if (typeof fun !== 'function') {
-	        throw new TypeError();
-	      }
-
-	      var res = [];
-	      var thisArg = arguments.length >= 2 ? arguments[1] : undefined;
-
-	      for (var i = 0; i < len; i++) {
-	        if (i in t) {
-	          var val = t[i]; // NOTE: Technically this should Object.defineProperty at
-	          //       the next index, as push can be affected by
-	          //       properties on Object.prototype and Array.prototype.
-	          //       But this method's new, and collisions should be
-	          //       rare, so use the more-compatible alternative.
-
-	          if (fun.call(thisArg, val, i, t)) {
-	            res.push(val);
-	          }
-	        }
-	      }
-
-	      return res;
-	    };
-	  }
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  reorderableColumns: false,
-	  maxMovingRows: 10,
-	  onReorderColumn: function onReorderColumn(headerFields) {
-	    return false;
-	  },
-	  dragaccept: null
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'reorder-column.bs.table': 'onReorderColumn'
-	});
-	$.fn.bootstrapTable.methods.push('orderColumns');
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initHeader",
-	    value: function initHeader() {
-	      var _get2;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initHeader", this)).call.apply(_get2, [this].concat(args));
-
-	      if (!this.options.reorderableColumns) {
-	        return;
-	      }
-
-	      this.makeRowsReorderable();
-	    }
-	  }, {
-	    key: "_toggleColumn",
-	    value: function _toggleColumn() {
-	      var _get3;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "_toggleColumn", this)).call.apply(_get3, [this].concat(args));
-
-	      if (!this.options.reorderableColumns) {
-	        return;
-	      }
-
-	      this.makeRowsReorderable();
-	    }
-	  }, {
-	    key: "toggleView",
-	    value: function toggleView() {
-	      var _get4;
-
-	      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
-	        args[_key3] = arguments[_key3];
-	      }
-
-	      (_get4 = _get(_getPrototypeOf(_class.prototype), "toggleView", this)).call.apply(_get4, [this].concat(args));
-
-	      if (!this.options.reorderableColumns) {
-	        return;
-	      }
-
-	      if (this.options.cardView) {
-	        return;
-	      }
-
-	      this.makeRowsReorderable();
-	    }
-	  }, {
-	    key: "resetView",
-	    value: function resetView() {
-	      var _get5;
-
-	      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
-	        args[_key4] = arguments[_key4];
-	      }
-
-	      (_get5 = _get(_getPrototypeOf(_class.prototype), "resetView", this)).call.apply(_get5, [this].concat(args));
-
-	      if (!this.options.reorderableColumns) {
-	        return;
-	      }
-
-	      this.makeRowsReorderable();
-	    }
-	  }, {
-	    key: "makeRowsReorderable",
-	    value: function makeRowsReorderable() {
-	      var _this = this;
-
-	      var order = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-
-	      try {
-	        $(this.$el).dragtable('destroy');
-	      } catch (e) {// do nothing
-	      }
-
-	      $(this.$el).dragtable({
-	        maxMovingRows: this.options.maxMovingRows,
-	        dragaccept: this.options.dragaccept,
-	        clickDelay: 200,
-	        dragHandle: '.th-inner',
-	        restoreState: order ? order : this.columnsSortOrder,
-	        beforeStop: function beforeStop(table) {
-	          var sortOrder = {};
-	          table.el.find('th').each(function (i, el) {
-	            sortOrder[$(el).data('field')] = i;
-	          });
-	          _this.columnsSortOrder = sortOrder;
-
-	          _this.persistReorderColumnsState(_this);
-
-	          var ths = [];
-	          var formatters = [];
-	          var columns = [];
-	          var columnsHidden = [];
-	          var columnIndex = -1;
-	          var optionsColumns = [];
-
-	          _this.$header.find('th:not(.detail)').each(function (i) {
-	            ths.push($(this).data('field'));
-	            formatters.push($(this).data('formatter'));
-	          }); // Exist columns not shown
-
-
-	          if (ths.length < _this.columns.length) {
-	            columnsHidden = _this.columns.filter(function (column) {
-	              return !column.visible;
-	            });
-
-	            for (var i = 0; i < columnsHidden.length; i++) {
-	              ths.push(columnsHidden[i].field);
-	              formatters.push(columnsHidden[i].formatter);
-	            }
-	          }
-
-	          for (var _i2 = 0; _i2 < ths.length; _i2++) {
-	            columnIndex = _this.fieldsColumnsIndex[ths[_i2]];
-
-	            if (columnIndex !== -1) {
-	              _this.fieldsColumnsIndex[ths[_i2]] = _i2;
-	              _this.columns[columnIndex].fieldIndex = _i2;
-	              columns.push(_this.columns[columnIndex]);
-	            }
-	          }
-
-	          _this.columns = columns;
-	          filterFn(); // Support <IE9
-
-	          $.each(_this.columns, function (i, column) {
-	            var found = false;
-	            var field = column.field;
-
-	            _this.options.columns[0].filter(function (item) {
-	              if (!found && item['field'] === field) {
-	                optionsColumns.push(item);
-	                found = true;
-	                return false;
-	              }
-
-	              return true;
-	            });
-	          });
-	          _this.options.columns[0] = optionsColumns;
-	          _this.header.fields = ths;
-	          _this.header.formatters = formatters;
-
-	          _this.initHeader();
-
-	          _this.initToolbar();
-
-	          _this.initSearchText();
-
-	          _this.initBody();
-
-	          _this.resetView();
-
-	          _this.trigger('reorder-column', ths);
-	        }
-	      });
-	    }
-	  }, {
-	    key: "orderColumns",
-	    value: function orderColumns(order) {
-	      this.columnsSortOrder = order;
-	      this.makeRowsReorderable();
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js b/server/target/classes/static/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js
deleted file mode 100644
index cc129c6..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:a},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return h(y(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!v(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!v(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!v(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!v(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,e){return m.call(t,e)},O=o.document,j=v(O)&&v(O.createElement),S=function(t){return j?O.createElement(t):{}},x=!u&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),T=Object.getOwnPropertyDescriptor,E={f:u?T:function(t,e){if(t=g(t),e=b(e,!0),x)try{return T(t,e)}catch(t){}if(w(t,e))return l(!f.f.call(t,e),t[e])}},R=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,P={f:u?A:function(t,e,r){if(R(t),e=b(e,!0),R(r),x)try{return A(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},_=u?function(t,e,r){return P.f(t,e,l(1,r))}:function(t,e,r){return t[e]=r,t},C=function(t,e){try{_(o,t,e)}catch(r){o[t]=e}return e},k=o["__core-js_shared__"]||C("__core-js_shared__",{}),I=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return I.call(t)});var M,V,F,N=k.inspectSource,D=o.WeakMap,L="function"==typeof D&&/native code/.test(N(D)),q=r((function(t){(t.exports=function(t,e){return k[t]||(k[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,H=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+H).toString(36)},$=q("keys"),z=function(t){return $[t]||($[t]=W(t))},G={},X=o.WeakMap;if(L){var K=new X,Q=K.get,Y=K.has,J=K.set;M=function(t,e){return J.call(K,t,e),e},V=function(t){return Q.call(K,t)||{}},F=function(t){return Y.call(K,t)}}else{var U=z("state");G[U]=!0,M=function(t,e){return _(t,U,e),e},V=function(t){return w(t,U)?t[U]:{}},F=function(t){return w(t,U)}}var Z,tt,et={set:M,get:V,has:F,enforce:function(t){return F(t)?V(t):M(t,{})},getterFor:function(t){return function(e){var r;if(!v(e)||(r=V(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},rt=r((function(t){var e=et.get,r=et.enforce,n=String(String).split("String");(t.exports=function(t,e,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||_(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(a?!f&&t[e]&&(c=!0):delete t[e],c?t[e]=i:_(t,e,i)):c?t[e]=i:C(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N(this)}))})),nt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(nt[t])||ot(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},ut=Math.ceil,at=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?at:ut)(t)},ft=Math.min,lt=function(t){return t>0?ft(ct(t),9007199254740991):0},st=Math.max,pt=Math.min,dt=function(t){return function(e,r,n){var o,i=g(e),u=lt(i.length),a=function(t,e){var r=ct(t);return r<0?st(r+e,0):pt(r,e)}(n,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},ht={includes:dt(!0),indexOf:dt(!1)}.indexOf,yt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!w(G,r)&&w(n,r)&&i.push(r);for(;e.length>o;)w(n,r=e[o++])&&(~ht(i,r)||i.push(r));return i},gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],vt=gt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return yt(t,vt)}},mt={f:Object.getOwnPropertySymbols},wt=it("Reflect","ownKeys")||function(t){var e=bt.f(R(t)),r=mt.f;return r?e.concat(r(t)):e},Ot=function(t,e){for(var r=wt(e),n=P.f,o=E.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||n(t,u,o(e,u))}},jt=/#|\.prototype\./,St=function(t,e){var r=Tt[xt(t)];return r==Rt||r!=Et&&("function"==typeof e?i(e):!!e)},xt=St.normalize=function(t){return String(t).replace(jt,".").toLowerCase()},Tt=St.data={},Et=St.NATIVE="N",Rt=St.POLYFILL="P",At=St,Pt=E.f,_t=function(t,e){var r,n,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(n in e){if(u=e[n],i=t.noTargetGet?(a=Pt(r,n))&&a.value:r[n],!At(f?n:c+(l?".":"#")+n,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;Ot(u,i)}(t.sham||i&&i.sham)&&_(u,"sham",!0),rt(r,n,u,t)}},Ct=Array.isArray||function(t){return"Array"==p(t)},kt=function(t){return Object(y(t))},It=function(t,e,r){var n=b(e);n in t?P.f(t,n,l(0,r)):t[n]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Vt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ft=q("wks"),Nt=o.Symbol,Dt=Vt?Nt:W,Lt=function(t){return w(Ft,t)||(Mt&&w(Nt,t)?Ft[t]=Nt[t]:Ft[t]=Dt("Symbol."+t)),Ft[t]},qt=Lt("species"),Bt=function(t,e){var r;return Ct(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Ct(r.prototype)?v(r)&&null===(r=r[qt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},Ht=it("navigator","userAgent")||"",Wt=o.process,$t=Wt&&Wt.versions,zt=$t&&$t.v8;zt?tt=(Z=zt.split("."))[0]+Z[1]:Ht&&(!(Z=Ht.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Ht.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Gt=tt&&+tt,Xt=Lt("species"),Kt=function(t){return Gt>=51||!i((function(){var e=[];return(e.constructor={})[Xt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Qt=Lt("isConcatSpreadable"),Yt=Gt>=51||!i((function(){var t=[];return t[Qt]=!1,t.concat()[0]!==t})),Jt=Kt("concat"),Ut=function(t){if(!v(t))return!1;var e=t[Qt];return void 0!==e?!!e:Ct(t)};_t({target:"Array",proto:!0,forced:!Yt||!Jt},{concat:function(t){var e,r,n,o,i,u=kt(this),a=Bt(u,0),c=0;for(e=-1,n=arguments.length;e<n;e++)if(i=-1===e?u:arguments[e],Ut(i)){if(c+(o=lt(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&It(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");It(a,c++,i)}return a.length=c,a}});var Zt=function(t,e,r){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},te=[].push,ee=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,u=5==t||i;return function(a,c,f,l){for(var s,p,d=kt(a),y=h(d),g=Zt(c,f,3),v=lt(y.length),b=0,m=l||Bt,w=e?m(a,v):r?m(a,0):void 0;v>b;b++)if((u||b in y)&&(p=g(s=y[b],b,d),t))if(e)w[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:te.call(w,s)}else if(o)return!1;return i?-1:n||o?o:w}},re={forEach:ee(0),map:ee(1),filter:ee(2),some:ee(3),every:ee(4),find:ee(5),findIndex:ee(6)},ne=re.filter,oe=Kt("filter"),ie=oe&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));_t({target:"Array",proto:!0,forced:!oe||!ie},{filter:function(t){return ne(this,t,arguments.length>1?arguments[1]:void 0)}});var ue,ae=Object.keys||function(t){return yt(t,gt)},ce=u?Object.defineProperties:function(t,e){R(t);for(var r,n=ae(e),o=n.length,i=0;o>i;)P.f(t,r=n[i++],e[r]);return t},fe=it("document","documentElement"),le=z("IE_PROTO"),se=function(){},pe=function(t){return"<script>"+t+"<\/script>"},de=function(){try{ue=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;de=ue?function(t){t.write(pe("")),t.close();var e=t.parentWindow.Object;return t=null,e}(ue):((e=S("iframe")).style.display="none",fe.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(pe("document.F=Object")),t.close(),t.F);for(var r=gt.length;r--;)delete de.prototype[gt[r]];return de()};G[le]=!0;var he=Object.create||function(t,e){var r;return null!==t?(se.prototype=R(t),r=new se,se.prototype=null,r[le]=t):r=de(),void 0===e?r:ce(r,e)},ye=Lt("unscopables"),ge=Array.prototype;null==ge[ye]&&P.f(ge,ye,{configurable:!0,value:he(null)});var ve,be=re.find,me=!0;"find"in[]&&Array(1).find((function(){me=!1})),_t({target:"Array",proto:!0,forced:me},{find:function(t){return be(this,t,arguments.length>1?arguments[1]:void 0)}}),ve="find",ge[ye][ve]=!0;var we=f.f,Oe=function(t){return function(e){for(var r,n=g(e),o=ae(n),i=o.length,a=0,c=[];i>a;)r=o[a++],u&&!we.call(n,r)||c.push(t?[r,n[r]]:n[r]);return c}},je={entries:Oe(!0),values:Oe(!1)}.entries;_t({target:"Object",stat:!0},{entries:function(t){return je(t)}});var Se="\t\n\v\f\r                　\u2028\u2029\ufeff",xe="["+Se+"]",Te=RegExp("^"+xe+xe+"*"),Ee=RegExp(xe+xe+"*$"),Re=function(t){return function(e){var r=String(y(e));return 1&t&&(r=r.replace(Te,"")),2&t&&(r=r.replace(Ee,"")),r}},Ae={start:Re(1),end:Re(2),trim:Re(3)}.trim,Pe=o.parseInt,_e=/^[+-]?0[Xx]/,Ce=8!==Pe(Se+"08")||22!==Pe(Se+"0x16")?function(t,e){var r=Ae(String(t));return Pe(r,e>>>0||(_e.test(r)?16:10))}:Pe;function ke(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Ie(t){return(Ie=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Me(t,e){return(Me=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Ve(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Fe(t,e,r){return(Fe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Ie(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(r):o.value}})(t,e,r||t)}function Ne(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(n=(u=a.next()).done)&&(r.push(u.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==a.return||a.return()}finally{if(o)throw i}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}_t({global:!0,forced:parseInt!=Ce},{parseInt:Ce}),t.akottr.dragtable.prototype._restoreState=function(t){for(var e=0,r=Object.entries(t);e<r.length;e++){var n=Ne(r[e],2),o=n[0],i=n[1],u=this.originalTable.el.find('th[data-field="'.concat(o,'"]'));this.originalTable.startIndex=u.prevAll().length+1,this.originalTable.endIndex=parseInt(i,10)+1,this._bubbleCols()}};var De=function(){Array.prototype.filter||(Array.prototype.filter=function(t){if(null==this)throw new TypeError;var e=Object(this),r=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var n=[],o=arguments.length>=2?arguments[1]:void 0,i=0;i<r;i++)if(i in e){var u=e[i];t.call(o,u,i,e)&&n.push(u)}return n})};t.extend(t.fn.bootstrapTable.defaults,{reorderableColumns:!1,maxMovingRows:10,onReorderColumn:function(t){return!1},dragaccept:null}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"reorder-column.bs.table":"onReorderColumn"}),t.fn.bootstrapTable.methods.push("orderColumns"),t.BootstrapTable=function(e){function r(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),Ve(this,Ie(r).apply(this,arguments))}var n,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Me(t,e)}(r,e),n=r,(o=[{key:"initHeader",value:function(){for(var t,e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=Fe(Ie(r.prototype),"initHeader",this)).call.apply(t,[this].concat(n)),this.options.reorderableColumns&&this.makeRowsReorderable()}},{key:"_toggleColumn",value:function(){for(var t,e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=Fe(Ie(r.prototype),"_toggleColumn",this)).call.apply(t,[this].concat(n)),this.options.reorderableColumns&&this.makeRowsReorderable()}},{key:"toggleView",value:function(){for(var t,e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=Fe(Ie(r.prototype),"toggleView",this)).call.apply(t,[this].concat(n)),this.options.reorderableColumns&&(this.options.cardView||this.makeRowsReorderable())}},{key:"resetView",value:function(){for(var t,e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=Fe(Ie(r.prototype),"resetView",this)).call.apply(t,[this].concat(n)),this.options.reorderableColumns&&this.makeRowsReorderable()}},{key:"makeRowsReorderable",value:function(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;try{t(this.$el).dragtable("destroy")}catch(t){}t(this.$el).dragtable({maxMovingRows:this.options.maxMovingRows,dragaccept:this.options.dragaccept,clickDelay:200,dragHandle:".th-inner",restoreState:r||this.columnsSortOrder,beforeStop:function(r){var n={};r.el.find("th").each((function(e,r){n[t(r).data("field")]=e})),e.columnsSortOrder=n,e.persistReorderColumnsState(e);var o=[],i=[],u=[],a=[],c=-1,f=[];if(e.$header.find("th:not(.detail)").each((function(e){o.push(t(this).data("field")),i.push(t(this).data("formatter"))})),o.length<e.columns.length){a=e.columns.filter((function(t){return!t.visible}));for(var l=0;l<a.length;l++)o.push(a[l].field),i.push(a[l].formatter)}for(var s=0;s<o.length;s++)-1!==(c=e.fieldsColumnsIndex[o[s]])&&(e.fieldsColumnsIndex[o[s]]=s,e.columns[c].fieldIndex=s,u.push(e.columns[c]));e.columns=u,De(),t.each(e.columns,(function(t,r){var n=!1,o=r.field;e.options.columns[0].filter((function(t){return!(!n&&t.field===o&&(f.push(t),n=!0,1))}))})),e.options.columns[0]=f,e.header.fields=o,e.header.formatters=i,e.initHeader(),e.initToolbar(),e.initSearchText(),e.initBody(),e.resetView(),e.trigger("reorder-column",o)}})}},{key:"orderColumns",value:function(t){this.columnsSortOrder=t,this.makeRowsReorderable()}}])&&ke(n.prototype,o),i&&ke(n,i),r}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css b/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css
deleted file mode 100644
index 9aeaa38..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.reorder_rows_onDragClass td {
-  background-color: #eee;
-  -webkit-box-shadow: 11px 5px 12px 2px #333, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset;
-  -webkit-box-shadow: 6px 3px 5px #555, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset;
-  -moz-box-shadow: 6px 4px 5px 1px #555, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset;
-  -box-shadow: 6px 4px 5px 1px #555, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset;
-}
-
-.reorder_rows_onDragClass td:last-child {
-  -webkit-box-shadow: 8px 7px 12px 0 #333, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset;
-  -webkit-box-shadow: 1px 8px 6px -4px #555, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset;
-  -moz-box-shadow: 0 9px 4px -4px #555, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset, -1px 0 0 #ccc inset;
-  -box-shadow: 0 9px 4px -4px #555, 0 1px 0 #ccc inset, 0 -1px 0 #ccc inset, -1px 0 0 #ccc inset;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js b/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js
deleted file mode 100644
index e83c5ac..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js
+++ /dev/null
@@ -1,986 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var max$1 = Math.max;
-	var min$2 = Math.min;
-	var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
-
-	// `Array.prototype.splice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.splice
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {
-	  splice: function splice(start, deleteCount /* , ...items */) {
-	    var O = toObject(this);
-	    var len = toLength(O.length);
-	    var actualStart = toAbsoluteIndex(start, len);
-	    var argumentsLength = arguments.length;
-	    var insertCount, actualDeleteCount, A, k, from, to;
-	    if (argumentsLength === 0) {
-	      insertCount = actualDeleteCount = 0;
-	    } else if (argumentsLength === 1) {
-	      insertCount = 0;
-	      actualDeleteCount = len - actualStart;
-	    } else {
-	      insertCount = argumentsLength - 2;
-	      actualDeleteCount = min$2(max$1(toInteger(deleteCount), 0), len - actualStart);
-	    }
-	    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) {
-	      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
-	    }
-	    A = arraySpeciesCreate(O, actualDeleteCount);
-	    for (k = 0; k < actualDeleteCount; k++) {
-	      from = actualStart + k;
-	      if (from in O) createProperty(A, k, O[from]);
-	    }
-	    A.length = actualDeleteCount;
-	    if (insertCount < actualDeleteCount) {
-	      for (k = actualStart; k < len - actualDeleteCount; k++) {
-	        from = k + actualDeleteCount;
-	        to = k + insertCount;
-	        if (from in O) O[to] = O[from];
-	        else delete O[to];
-	      }
-	      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
-	    } else if (insertCount > actualDeleteCount) {
-	      for (k = len - actualDeleteCount; k > actualStart; k--) {
-	        from = k + actualDeleteCount - 1;
-	        to = k + insertCount - 1;
-	        if (from in O) O[to] = O[from];
-	        else delete O[to];
-	      }
-	    }
-	    for (k = 0; k < insertCount; k++) {
-	      O[k + actualStart] = arguments[k + 2];
-	    }
-	    O.length = len - actualDeleteCount + insertCount;
-	    return A;
-	  }
-	});
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var rowAttr = function rowAttr(row, index) {
-	  return {
-	    id: "customId_".concat(index)
-	  };
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  reorderableRows: false,
-	  onDragStyle: null,
-	  onDropStyle: null,
-	  onDragClass: 'reorder_rows_onDragClass',
-	  dragHandle: '>tbody>tr>td',
-	  useRowAttrFunc: false,
-	  onReorderRowsDrag: function onReorderRowsDrag(row) {
-	    return false;
-	  },
-	  onReorderRowsDrop: function onReorderRowsDrop(row) {
-	    return false;
-	  },
-	  onReorderRow: function onReorderRow(newData) {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'reorder-row.bs.table': 'onReorderRow'
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _this = this,
-	          _get3;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      if (!this.options.reorderableRows) {
-	        var _get2;
-
-	        (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-
-	        return;
-	      }
-
-	      if (this.options.useRowAttrFunc) {
-	        this.options.rowAttributes = rowAttr;
-	      }
-
-	      var onPostBody = this.options.onPostBody;
-
-	      this.options.onPostBody = function () {
-	        setTimeout(function () {
-	          _this.makeRowsReorderable();
-
-	          onPostBody.apply();
-	        }, 1);
-	      };
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get3, [this].concat(args));
-	    }
-	  }, {
-	    key: "makeRowsReorderable",
-	    value: function makeRowsReorderable() {
-	      var _this2 = this;
-
-	      this.$el.tableDnD({
-	        onDragStyle: this.options.onDragStyle,
-	        onDropStyle: this.options.onDropStyle,
-	        onDragClass: this.options.onDragClass,
-	        onDragStart: function onDragStart(table, droppedRow) {
-	          return _this2.onDropStart(table, droppedRow);
-	        },
-	        onDrop: function onDrop(table, droppedRow) {
-	          return _this2.onDrop(table, droppedRow);
-	        },
-	        dragHandle: this.options.dragHandle
-	      });
-	    }
-	  }, {
-	    key: "onDropStart",
-	    value: function onDropStart(table, draggingTd) {
-	      this.$draggingTd = $(draggingTd).css('cursor', 'move');
-	      this.draggingIndex = $(this.$draggingTd.parent()).data('index'); // Call the user defined function
-
-	      this.options.onReorderRowsDrag(this.data[this.draggingIndex]);
-	    }
-	  }, {
-	    key: "onDrop",
-	    value: function onDrop(table) {
-	      this.$draggingTd.css('cursor', '');
-	      var newData = [];
-
-	      for (var i = 0; i < table.tBodies[0].rows.length; i++) {
-	        var $tr = $(table.tBodies[0].rows[i]);
-	        newData.push(this.data[$tr.data('index')]);
-	        $tr.data('index', i);
-	      }
-
-	      var draggingRow = this.data[this.draggingIndex];
-	      var droppedIndex = newData.indexOf(this.data[this.draggingIndex]);
-	      var droppedRow = this.data[droppedIndex];
-	      var index = this.options.data.indexOf(this.data[droppedIndex]);
-	      this.options.data.splice(this.options.data.indexOf(draggingRow), 1);
-	      this.options.data.splice(index, 0, draggingRow); // Call the user defined function
-
-	      this.options.onReorderRowsDrop(droppedRow); // Call the event reorder-row
-
-	      this.trigger('reorder-row', newData);
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.min.css b/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.min.css
deleted file mode 100644
index ec65d10..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.reorder_rows_onDragClass td{background-color:#eee;-webkit-box-shadow:11px 5px 12px 2px #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:6px 3px 5px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset}.reorder_rows_onDragClass td:last-child{-webkit-box-shadow:8px 7px 12px 0 #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:1px 8px 6px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset;-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js b/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js
deleted file mode 100644
index 8469960..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var e=c(this,t);return!!e&&e.enumerable}:a},s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},d="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return y(h(t))},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,e){if(!b(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!b(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,m=function(t,e){return w.call(t,e)},O=o.document,S=b(O)&&b(O.createElement),x=!u&&!i((function(){return 7!=Object.defineProperty((t="div",S?O.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,D={f:u?j:function(t,e){if(t=g(t),e=v(e,!0),x)try{return j(t,e)}catch(t){}if(m(t,e))return s(!f.f.call(t,e),t[e])}},T=function(t){if(!b(t))throw TypeError(String(t)+" is not an object");return t},R=Object.defineProperty,P={f:u?R:function(t,e,n){if(T(t),e=v(e,!0),T(n),x)try{return R(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}},_=u?function(t,e,n){return P.f(t,e,s(1,n))}:function(t,e,n){return t[e]=n,t},E=function(t,e){try{_(o,t,e)}catch(n){o[t]=e}return e},A=o["__core-js_shared__"]||E("__core-js_shared__",{}),M=Function.toString;"function"!=typeof A.inspectSource&&(A.inspectSource=function(t){return M.call(t)});var k,C,I,B,F=A.inspectSource,N=o.WeakMap,L="function"==typeof N&&/native code/.test(F(N)),q=n((function(t){(t.exports=function(t,e){return A[t]||(A[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),$=0,z=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++$+z).toString(36)},G=q("keys"),V={},W=o.WeakMap;if(L){var K=new W,Q=K.get,Y=K.has,J=K.set;k=function(t,e){return J.call(K,t,e),e},C=function(t){return Q.call(K,t)||{}},I=function(t){return Y.call(K,t)}}else{var U=G[B="state"]||(G[B]=H(B));V[U]=!0,k=function(t,e){return _(t,U,e),e},C=function(t){return m(t,U)?t[U]:{}},I=function(t){return m(t,U)}}var X,Z,tt={set:k,get:C,has:I,enforce:function(t){return I(t)?C(t):k(t,{})},getterFor:function(t){return function(e){var n;if(!b(e)||(n=C(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},et=n((function(t){var e=tt.get,n=tt.enforce,r=String(String).split("String");(t.exports=function(t,e,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||_(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(a?!f&&t[e]&&(c=!0):delete t[e],c?t[e]=i:_(t,e,i)):c?t[e]=i:E(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),nt=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?rt(nt[t])||rt(o[t]):nt[t]&&nt[t][e]||o[t]&&o[t][e]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},st=Math.max,lt=Math.min,pt=function(t,e){var n=at(t);return n<0?st(n+e,0):lt(n,e)},dt=function(t){return function(e,n,r){var o,i=g(e),u=ft(i.length),a=pt(r,u);if(t&&n!=n){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===n)return t||a||0;return!t&&-1}},yt={includes:dt(!0),indexOf:dt(!1)},ht=yt.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return function(t,e){var n,r=g(t),o=0,i=[];for(n in r)!m(V,n)&&m(r,n)&&i.push(n);for(;e.length>o;)m(r,n=e[o++])&&(~ht(i,n)||i.push(n));return i}(t,gt)}},vt={f:Object.getOwnPropertySymbols},wt=ot("Reflect","ownKeys")||function(t){var e=bt.f(T(t)),n=vt.f;return n?e.concat(n(t)):e},mt=function(t,e){for(var n=wt(e),r=P.f,o=D.f,i=0;i<n.length;i++){var u=n[i];m(t,u)||r(t,u,o(e,u))}},Ot=/#|\.prototype\./,St=function(t,e){var n=jt[xt(t)];return n==Tt||n!=Dt&&("function"==typeof e?i(e):!!e)},xt=St.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},jt=St.data={},Dt=St.NATIVE="N",Tt=St.POLYFILL="P",Rt=St,Pt=D.f,_t=function(t,e){var n,r,i,u,a,c=t.target,f=t.global,s=t.stat;if(n=f?o:s?o[c]||E(c,{}):(o[c]||{}).prototype)for(r in e){if(u=e[r],i=t.noTargetGet?(a=Pt(n,r))&&a.value:n[r],!Rt(f?r:c+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;mt(u,i)}(t.sham||i&&i.sham)&&_(u,"sham",!0),et(n,r,u,t)}},Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(h(t))},Mt=function(t,e,n){var r=v(e);r in t?P.f(t,r,s(0,n)):t[r]=n},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),It=q("wks"),Bt=o.Symbol,Ft=Ct?Bt:H,Nt=function(t){return m(It,t)||(kt&&m(Bt,t)?It[t]=Bt[t]:It[t]=Ft("Symbol."+t)),It[t]},Lt=Nt("species"),qt=function(t,e){var n;return Et(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!Et(n.prototype)?b(n)&&null===(n=n[Lt])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},$t=ot("navigator","userAgent")||"",zt=o.process,Ht=zt&&zt.versions,Gt=Ht&&Ht.v8;Gt?Z=(X=Gt.split("."))[0]+X[1]:$t&&(!(X=$t.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=$t.match(/Chrome\/(\d+)/))&&(Z=X[1]);var Vt=Z&&+Z,Wt=Nt("species"),Kt=function(t){return Vt>=51||!i((function(){var e=[];return(e.constructor={})[Wt]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Qt=Nt("isConcatSpreadable"),Yt=Vt>=51||!i((function(){var t=[];return t[Qt]=!1,t.concat()[0]!==t})),Jt=Kt("concat"),Ut=function(t){if(!b(t))return!1;var e=t[Qt];return void 0!==e?!!e:Et(t)};_t({target:"Array",proto:!0,forced:!Yt||!Jt},{concat:function(t){var e,n,r,o,i,u=At(this),a=qt(u,0),c=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?u:arguments[e],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,c++)n in i&&Mt(a,c,i[n])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}});var Xt,Zt,te=yt.indexOf,ee=[].indexOf,ne=!!ee&&1/[1].indexOf(1,-0)<0,re=!(Zt=[]["indexOf"])||!i((function(){Zt.call(null,Xt||function(){throw 1},1)}));_t({target:"Array",proto:!0,forced:ne||re},{indexOf:function(t){return ne?ee.apply(this,arguments)||0:te(this,t,arguments.length>1?arguments[1]:void 0)}});var oe=Math.max,ie=Math.min;function ue(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),Object.defineProperty(t,r.key,r)}}function ae(t){return(ae=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ce(t,e){return(ce=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function fe(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function se(t,e,n){return(se="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ae(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}_t({target:"Array",proto:!0,forced:!Kt("splice")},{splice:function(t,e){var n,r,o,i,u,a,c=At(this),f=ft(c.length),s=pt(t,f),l=arguments.length;if(0===l?n=r=0:1===l?(n=0,r=f-s):(n=l-2,r=ie(oe(at(e),0),f-s)),f+n-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(o=qt(c,r),i=0;i<r;i++)(u=s+i)in c&&Mt(o,i,c[u]);if(o.length=r,n<r){for(i=s;i<f-r;i++)a=i+n,(u=i+r)in c?c[a]=c[u]:delete c[a];for(i=f;i>f-r+n;i--)delete c[i-1]}else if(n>r)for(i=f-r;i>s;i--)a=i+n-1,(u=i+r-1)in c?c[a]=c[u]:delete c[a];for(i=0;i<n;i++)c[i+s]=arguments[i+2];return c.length=f-r+n,o}});var le=function(t,e){return{id:"customId_".concat(e)}};t.extend(t.fn.bootstrapTable.defaults,{reorderableRows:!1,onDragStyle:null,onDropStyle:null,onDragClass:"reorder_rows_onDragClass",dragHandle:">tbody>tr>td",useRowAttrFunc:!1,onReorderRowsDrag:function(t){return!1},onReorderRowsDrop:function(t){return!1},onReorderRow:function(t){return!1}}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"reorder-row.bs.table":"onReorderRow"}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),fe(this,ae(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ce(t,e)}(n,e),r=n,(o=[{key:"init",value:function(){for(var t,e=this,r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];if(this.options.reorderableRows){this.options.useRowAttrFunc&&(this.options.rowAttributes=le);var u=this.options.onPostBody;this.options.onPostBody=function(){setTimeout((function(){e.makeRowsReorderable(),u.apply()}),1)},(t=se(ae(n.prototype),"init",this)).call.apply(t,[this].concat(o))}else{var a;(a=se(ae(n.prototype),"init",this)).call.apply(a,[this].concat(o))}}},{key:"makeRowsReorderable",value:function(){var t=this;this.$el.tableDnD({onDragStyle:this.options.onDragStyle,onDropStyle:this.options.onDropStyle,onDragClass:this.options.onDragClass,onDragStart:function(e,n){return t.onDropStart(e,n)},onDrop:function(e,n){return t.onDrop(e,n)},dragHandle:this.options.dragHandle})}},{key:"onDropStart",value:function(e,n){this.$draggingTd=t(n).css("cursor","move"),this.draggingIndex=t(this.$draggingTd.parent()).data("index"),this.options.onReorderRowsDrag(this.data[this.draggingIndex])}},{key:"onDrop",value:function(e){this.$draggingTd.css("cursor","");for(var n=[],r=0;r<e.tBodies[0].rows.length;r++){var o=t(e.tBodies[0].rows[r]);n.push(this.data[o.data("index")]),o.data("index",r)}var i=this.data[this.draggingIndex],u=n.indexOf(this.data[this.draggingIndex]),a=this.data[u],c=this.options.data.indexOf(this.data[u]);this.options.data.splice(this.options.data.indexOf(i),1),this.options.data.splice(c,0,i),this.options.onReorderRowsDrop(a),this.trigger("reorder-row",n)}}])&&ue(r.prototype,o),i&&ue(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js b/server/target/classes/static/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js
deleted file mode 100644
index 18eea17..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js
+++ /dev/null
@@ -1,716 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var SPECIES$1 = wellKnownSymbol('species');
-	var nativeSlice = [].slice;
-	var max$1 = Math.max;
-
-	// `Array.prototype.slice` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.slice
-	// fallback for not array-like ES3 strings and DOM objects
-	_export({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
-	  slice: function slice(start, end) {
-	    var O = toIndexedObject(this);
-	    var length = toLength(O.length);
-	    var k = toAbsoluteIndex(start, length);
-	    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
-	    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-	    var Constructor, result, n;
-	    if (isArray(O)) {
-	      Constructor = O.constructor;
-	      // cross-realm fallback
-	      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
-	        Constructor = undefined;
-	      } else if (isObject(Constructor)) {
-	        Constructor = Constructor[SPECIES$1];
-	        if (Constructor === null) Constructor = undefined;
-	      }
-	      if (Constructor === Array || Constructor === undefined) {
-	        return nativeSlice.call(O, k, fin);
-	      }
-	    }
-	    result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-	    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
-	    result.length = n;
-	    return result;
-	  }
-	});
-
-	/**
-	 * @author: Dennis Hernández
-	 * @webSite: http://djhvscf.github.io/Blog
-	 * @version: v2.0.0
-	 */
-
-	var isInit = function isInit(that) {
-	  return that.$el.data('resizableColumns') !== undefined;
-	};
-
-	var initResizable = function initResizable(that) {
-	  if (that.options.resizable && !that.options.cardView && !isInit(that)) {
-	    that.$el.resizableColumns({
-	      store: window.store
-	    });
-	  }
-	};
-
-	var destroy = function destroy(that) {
-	  if (isInit(that)) {
-	    that.$el.data('resizableColumns').destroy();
-	  }
-	};
-
-	var reInitResizable = function reInitResizable(that) {
-	  destroy(that);
-	  initResizable(that);
-	};
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  resizable: false
-	});
-	var BootstrapTable = $.fn.bootstrapTable.Constructor;
-	var _initBody = BootstrapTable.prototype.initBody;
-	var _toggleView = BootstrapTable.prototype.toggleView;
-	var _resetView = BootstrapTable.prototype.resetView;
-
-	BootstrapTable.prototype.initBody = function () {
-	  var that = this;
-
-	  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	    args[_key] = arguments[_key];
-	  }
-
-	  _initBody.apply(this, Array.prototype.slice.apply(args));
-
-	  that.$el.off('column-switch.bs.table page-change.bs.table').on('column-switch.bs.table page-change.bs.table', function () {
-	    reInitResizable(that);
-	  });
-	};
-
-	BootstrapTable.prototype.toggleView = function () {
-	  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	    args[_key2] = arguments[_key2];
-	  }
-
-	  _toggleView.apply(this, Array.prototype.slice.apply(args));
-
-	  if (this.options.resizable && this.options.cardView) {
-	    // Destroy the plugin
-	    destroy(this);
-	  }
-	};
-
-	BootstrapTable.prototype.resetView = function () {
-	  var that = this;
-
-	  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
-	    args[_key3] = arguments[_key3];
-	  }
-
-	  _resetView.apply(this, Array.prototype.slice.apply(args));
-
-	  if (this.options.resizable) {
-	    // because in fitHeader function, we use setTimeout(func, 100);
-	    setTimeout(function () {
-	      initResizable(that);
-	    }, 100);
-	  }
-	};
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/resizable/bootstrap-table-resizable.min.js b/server/target/classes/static/bootstrap-table/extensions/resizable/bootstrap-table-resizable.min.js
deleted file mode 100644
index bc55311..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/resizable/bootstrap-table-resizable.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:c},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,g=function(t){return h(function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}(t))},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},d=function(t,e){if(!b(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!b(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},v={}.hasOwnProperty,m=function(t,e){return v.call(t,e)},w=o.document,S=b(w)&&b(w.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",S?w.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),O=Object.getOwnPropertyDescriptor,A={f:u?O:function(t,e){if(t=g(t),e=d(e,!0),j)try{return O(t,e)}catch(t){}if(m(t,e))return l(!a.f.call(t,e),t[e])}},P=function(t){if(!b(t))throw TypeError(String(t)+" is not an object");return t},T=Object.defineProperty,E={f:u?T:function(t,e,n){if(P(t),e=d(e,!0),P(n),j)try{return T(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}},x=u?function(t,e,n){return E.f(t,e,l(1,n))}:function(t,e,n){return t[e]=n,t},M=function(t,e){try{x(o,t,e)}catch(n){o[t]=e}return e},_=o["__core-js_shared__"]||M("__core-js_shared__",{}),z=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return z.call(t)});var C,V,k,I,F=_.inspectSource,L=o.WeakMap,N="function"==typeof L&&/native code/.test(F(L)),q=n((function(t){(t.exports=function(t,e){return _[t]||(_[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),$=0,B=Math.random(),D=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++$+B).toString(36)},G=q("keys"),W={},K=o.WeakMap;if(N){var Q=new K,R=Q.get,Y=Q.has,H=Q.set;C=function(t,e){return H.call(Q,t,e),e},V=function(t){return R.call(Q,t)||{}},k=function(t){return Y.call(Q,t)}}else{var J=G[I="state"]||(G[I]=D(I));W[J]=!0,C=function(t,e){return x(t,J,e),e},V=function(t){return m(t,J)?t[J]:{}},k=function(t){return m(t,J)}}var U,X,Z={set:C,get:V,has:k,enforce:function(t){return k(t)?V(t):C(t,{})},getterFor:function(t){return function(e){var n;if(!b(e)||(n=V(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},tt=n((function(t){var e=Z.get,n=Z.enforce,r=String(String).split("String");(t.exports=function(t,e,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||x(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(c?!a&&t[e]&&(f=!0):delete t[e],f?t[e]=i:x(t,e,i)):f?t[e]=i:M(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||F(this)}))})),et=o,nt=function(t){return"function"==typeof t?t:void 0},rt=function(t,e){return arguments.length<2?nt(et[t])||nt(o[t]):et[t]&&et[t][e]||o[t]&&o[t][e]},ot=Math.ceil,it=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?it:ot)(t)},ct=Math.min,ft=function(t){return t>0?ct(ut(t),9007199254740991):0},at=Math.max,lt=Math.min,st=function(t,e){var n=ut(t);return n<0?at(n+e,0):lt(n,e)},pt=function(t){return function(e,n,r){var o,i=g(e),u=ft(i.length),c=st(r,u);if(t&&n!=n){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return function(t,e){var n,r=g(t),o=0,i=[];for(n in r)!m(W,n)&&m(r,n)&&i.push(n);for(;e.length>o;)m(r,n=e[o++])&&(~yt(i,n)||i.push(n));return i}(t,ht)}},bt={f:Object.getOwnPropertySymbols},dt=rt("Reflect","ownKeys")||function(t){var e=gt.f(P(t)),n=bt.f;return n?e.concat(n(t)):e},vt=function(t,e){for(var n=dt(e),r=E.f,o=A.f,i=0;i<n.length;i++){var u=n[i];m(t,u)||r(t,u,o(e,u))}},mt=/#|\.prototype\./,wt=function(t,e){var n=jt[St(t)];return n==At||n!=Ot&&("function"==typeof e?i(e):!!e)},St=wt.normalize=function(t){return String(t).replace(mt,".").toLowerCase()},jt=wt.data={},Ot=wt.NATIVE="N",At=wt.POLYFILL="P",Pt=wt,Tt=A.f,Et=Array.isArray||function(t){return"Array"==p(t)},xt=function(t,e,n){var r=d(e);r in t?E.f(t,r,l(0,n)):t[r]=n},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),zt=q("wks"),Ct=o.Symbol,Vt=_t?Ct:D,kt=function(t){return m(zt,t)||(Mt&&m(Ct,t)?zt[t]=Ct[t]:zt[t]=Vt("Symbol."+t)),zt[t]},It=rt("navigator","userAgent")||"",Ft=o.process,Lt=Ft&&Ft.versions,Nt=Lt&&Lt.v8;Nt?X=(U=Nt.split("."))[0]+U[1]:It&&(!(U=It.match(/Edge\/(\d+)/))||U[1]>=74)&&(U=It.match(/Chrome\/(\d+)/))&&(X=U[1]);var qt,$t=X&&+X,Bt=kt("species"),Dt=kt("species"),Gt=[].slice,Wt=Math.max;!function(t,e){var n,r,i,u,c,f=t.target,a=t.global,l=t.stat;if(n=a?o:l?o[f]||M(f,{}):(o[f]||{}).prototype)for(r in e){if(u=e[r],i=t.noTargetGet?(c=Tt(n,r))&&c.value:n[r],!Pt(a?r:f+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&x(u,"sham",!0),tt(n,r,u,t)}}({target:"Array",proto:!0,forced:(qt="slice",!($t>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[qt](Boolean).foo}))))},{slice:function(t,e){var n,r,o,i=g(this),u=ft(i.length),c=st(t,u),f=st(void 0===e?u:e,u);if(Et(i)&&("function"!=typeof(n=i.constructor)||n!==Array&&!Et(n.prototype)?b(n)&&null===(n=n[Dt])&&(n=void 0):n=void 0,n===Array||void 0===n))return Gt.call(i,c,f);for(r=new(void 0===n?Array:n)(Wt(f-c,0)),o=0;c<f;c++,o++)c in i&&xt(r,o,i[c]);return r.length=o,r}});var Kt=function(t){return void 0!==t.$el.data("resizableColumns")},Qt=function(t){!t.options.resizable||t.options.cardView||Kt(t)||t.$el.resizableColumns({store:window.store})},Rt=function(t){Kt(t)&&t.$el.data("resizableColumns").destroy()},Yt=function(t){Rt(t),Qt(t)};t.extend(t.fn.bootstrapTable.defaults,{resizable:!1});var Ht=t.fn.bootstrapTable.Constructor,Jt=Ht.prototype.initBody,Ut=Ht.prototype.toggleView,Xt=Ht.prototype.resetView;Ht.prototype.initBody=function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];Jt.apply(this,Array.prototype.slice.apply(n)),t.$el.off("column-switch.bs.table page-change.bs.table").on("column-switch.bs.table page-change.bs.table",(function(){Yt(t)}))},Ht.prototype.toggleView=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];Ut.apply(this,Array.prototype.slice.apply(e)),this.options.resizable&&this.options.cardView&&Rt(this)},Ht.prototype.resetView=function(){for(var t=this,e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];Xt.apply(this,Array.prototype.slice.apply(n)),this.options.resizable&&setTimeout((function(){Qt(t)}),100)}}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css b/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css
deleted file mode 100644
index 9b24d0a..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @author vincent loh <vincent.ml@gmail.com>
- * @update zhixin wen <wenzhixin2010@gmail.com>
- */
-.fix-sticky {
-  position: fixed !important;
-  overflow: hidden;
-  z-index: 100;
-}
-
-.fix-sticky table thead {
-  background: #fff;
-}
-
-.fix-sticky table thead.thead-light {
-  background: #e9ecef;
-}
-
-.fix-sticky table thead.thead-dark {
-  background: #212529;
-}
diff --git a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js b/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js
deleted file mode 100644
index 35f92ff..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js
+++ /dev/null
@@ -1,1151 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author vincent loh <vincent.ml@gmail.com>
-	 * @update J Manuel Corona <jmcg92@gmail.com>
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	$.extend($.fn.bootstrapTable.defaults, {
-	  stickyHeader: false,
-	  stickyHeaderOffsetY: 0,
-	  stickyHeaderOffsetLeft: 0,
-	  stickyHeaderOffsetRight: 0
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initHeader",
-	    value: function initHeader() {
-	      var _get2,
-	          _this = this;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "initHeader", this)).call.apply(_get2, [this].concat(args));
-
-	      if (!this.options.stickyHeader) {
-	        return;
-	      }
-
-	      this.$el.before('<div class="sticky-header-container"></div>');
-	      this.$el.before('<div class="sticky_anchor_begin"></div>');
-	      this.$el.after('<div class="sticky_anchor_end"></div>');
-	      this.$header.addClass('sticky-header'); // clone header just once, to be used as sticky header
-	      // deep clone header, using source header affects tbody>td width
-
-	      this.$stickyContainer = this.$tableBody.find('.sticky-header-container');
-	      this.$stickyBegin = this.$tableBody.find('.sticky_anchor_begin');
-	      this.$stickyEnd = this.$tableBody.find('.sticky_anchor_end');
-	      this.$stickyHeader = this.$header.clone(true, true); // render sticky on window scroll or resize
-
-	      $(window).off('resize.sticky-header-table').on('resize.sticky-header-table', function () {
-	        return _this.renderStickyHeader();
-	      });
-	      $(window).off('scroll.sticky-header-table').on('scroll.sticky-header-table', function () {
-	        return _this.renderStickyHeader();
-	      });
-	      this.$tableBody.off('scroll').on('scroll', function () {
-	        return _this.matchPositionX();
-	      });
-	    }
-	  }, {
-	    key: "onColumnSearch",
-	    value: function onColumnSearch(_ref) {
-	      var currentTarget = _ref.currentTarget,
-	          keyCode = _ref.keyCode;
-
-	      _get(_getPrototypeOf(_class.prototype), "onColumnSearch", this).call(this, {
-	        currentTarget: currentTarget,
-	        keyCode: keyCode
-	      });
-
-	      this.renderStickyHeader();
-	    }
-	  }, {
-	    key: "resetView",
-	    value: function resetView() {
-	      var _get3,
-	          _this2 = this;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "resetView", this)).call.apply(_get3, [this].concat(args));
-
-	      $('.bootstrap-table.fullscreen').off('scroll').on('scroll', function () {
-	        return _this2.renderStickyHeader();
-	      });
-	    }
-	  }, {
-	    key: "renderStickyHeader",
-	    value: function renderStickyHeader() {
-	      var _this3 = this;
-
-	      var that = this;
-	      this.$stickyHeader = this.$header.clone(true, true);
-
-	      if (this.options.filterControl) {
-	        $(this.$stickyHeader).off('keyup change mouseup').on('keyup change mouse', function (e) {
-	          var $target = $(e.target);
-	          var value = $target.val();
-	          var field = $target.parents('th').data('field');
-	          var $coreTh = that.$header.find('th[data-field="' + field + '"]');
-
-	          if ($target.is('input')) {
-	            $coreTh.find('input').val(value);
-	          } else if ($target.is('select')) {
-	            var $select = $coreTh.find('select');
-	            $select.find('option[selected]').removeAttr('selected');
-	            $select.find('option[value="' + value + '"]').attr('selected', true);
-	          }
-
-	          that.triggerSearch();
-	        });
-	      }
-
-	      var top = $(window).scrollTop(); // top anchor scroll position, minus header height
-
-	      var start = this.$stickyBegin.offset().top - this.options.stickyHeaderOffsetY; // bottom anchor scroll position, minus header height, minus sticky height
-
-	      var end = this.$stickyEnd.offset().top - this.options.stickyHeaderOffsetY - this.$header.height(); // show sticky when top anchor touches header, and when bottom anchor not exceeded
-
-	      if (top > start && top <= end) {
-	        // ensure clone and source column widths are the same
-	        this.$stickyHeader.find('tr:eq(0)').find('th').each(function (index, el) {
-	          $(el).css('min-width', _this3.$header.find('tr:eq(0)').find('th').eq(index).css('width'));
-	        }); // match bootstrap table style
-
-	        this.$stickyContainer.show().addClass('fix-sticky fixed-table-container'); // stick it in position
-
-	        var stickyHeaderOffsetLeft = this.options.stickyHeaderOffsetLeft;
-	        var stickyHeaderOffsetRight = this.options.stickyHeaderOffsetRight;
-
-	        if (this.$el.closest('.bootstrap-table').hasClass('fullscreen')) {
-	          stickyHeaderOffsetLeft = 0;
-	          stickyHeaderOffsetRight = 0;
-	        }
-
-	        this.$stickyContainer.css('top', "".concat(this.options.stickyHeaderOffsetY));
-	        this.$stickyContainer.css('left', "".concat(stickyHeaderOffsetLeft));
-	        this.$stickyContainer.css('right', "".concat(stickyHeaderOffsetRight)); // create scrollable container for header
-
-	        this.$stickyTable = $('<table/>');
-	        this.$stickyTable.addClass(this.options.classes); // append cloned header to dom
-
-	        this.$stickyContainer.html(this.$stickyTable.append(this.$stickyHeader)); // match clone and source header positions when left-right scroll
-
-	        this.matchPositionX();
-	      } else {
-	        this.$stickyContainer.removeClass('fix-sticky').hide();
-	      }
-	    }
-	  }, {
-	    key: "matchPositionX",
-	    value: function matchPositionX() {
-	      this.$stickyContainer.scrollLeft(this.$tableBody.scrollLeft());
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.min.css b/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.min.css
deleted file mode 100644
index 15bf9cb..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.fix-sticky{position:fixed!important;overflow:hidden;z-index:100}.fix-sticky table thead{background:#fff}.fix-sticky table thead.thead-light{background:#e9ecef}.fix-sticky table thead.thead-dark{background:#212529}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.min.js b/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.min.js
deleted file mode 100644
index 48884ca..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(t,e){return t(e={exports:{}},e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},c=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,u={f:f&&!a.call({1:2},1)?function(t){var e=f(this,t);return!!e&&e.enumerable}:a},s=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},d="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},v=function(t){return y(h(t))},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,e){if(!b(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!b(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!b(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,k=function(t,e){return m.call(t,e)},w=o.document,O=b(w)&&b(w.createElement),j=function(t){return O?w.createElement(t):{}},S=!c&&!i((function(){return 7!=Object.defineProperty(j("div"),"a",{get:function(){return 7}}).a})),$=Object.getOwnPropertyDescriptor,T={f:c?$:function(t,e){if(t=v(t),e=g(e,!0),S)try{return $(t,e)}catch(t){}if(k(t,e))return s(!u.f.call(t,e),t[e])}},_=function(t){if(!b(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,C={f:c?P:function(t,e,n){if(_(t),e=g(e,!0),_(n),S)try{return P(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}},E=c?function(t,e,n){return C.f(t,e,s(1,n))}:function(t,e,n){return t[e]=n,t},H=function(t,e){try{E(o,t,e)}catch(n){o[t]=e}return e},x=o["__core-js_shared__"]||H("__core-js_shared__",{}),A=Function.toString;"function"!=typeof x.inspectSource&&(x.inspectSource=function(t){return A.call(t)});var M,B,L,I=x.inspectSource,R=o.WeakMap,q="function"==typeof R&&/native code/.test(I(R)),F=n((function(t){(t.exports=function(t,e){return x[t]||(x[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,N=Math.random(),Y=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+N).toString(36)},D=F("keys"),W=function(t){return D[t]||(D[t]=Y(t))},X={},V=o.WeakMap;if(q){var G=new V,K=G.get,Q=G.has,J=G.set;M=function(t,e){return J.call(G,t,e),e},B=function(t){return K.call(G,t)||{}},L=function(t){return Q.call(G,t)}}else{var U=W("state");X[U]=!0,M=function(t,e){return E(t,U,e),e},B=function(t){return k(t,U)?t[U]:{}},L=function(t){return k(t,U)}}var Z,tt,et={set:M,get:B,has:L,enforce:function(t){return L(t)?B(t):M(t,{})},getterFor:function(t){return function(e){var n;if(!b(e)||(n=B(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},nt=n((function(t){var e=et.get,n=et.enforce,r=String(String).split("String");(t.exports=function(t,e,i,c){var a=!!c&&!!c.unsafe,f=!!c&&!!c.enumerable,u=!!c&&!!c.noTargetGet;"function"==typeof i&&("string"!=typeof e||k(i,"name")||E(i,"name",e),n(i).source=r.join("string"==typeof e?e:"")),t!==o?(a?!u&&t[e]&&(f=!0):delete t[e],f?t[e]=i:E(t,e,i)):f?t[e]=i:H(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||I(this)}))})),rt=o,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(rt[t])||ot(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},ct=Math.ceil,at=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?at:ct)(t)},ut=Math.min,st=function(t){return t>0?ut(ft(t),9007199254740991):0},lt=Math.max,pt=Math.min,dt=function(t){return function(e,n,r){var o,i=v(e),c=st(i.length),a=function(t,e){var n=ft(t);return n<0?lt(n+e,0):pt(n,e)}(r,c);if(t&&n!=n){for(;c>a;)if((o=i[a++])!=o)return!0}else for(;c>a;a++)if((t||a in i)&&i[a]===n)return t||a||0;return!t&&-1}},yt={includes:dt(!0),indexOf:dt(!1)}.indexOf,ht=function(t,e){var n,r=v(t),o=0,i=[];for(n in r)!k(X,n)&&k(r,n)&&i.push(n);for(;e.length>o;)k(r,n=e[o++])&&(~yt(i,n)||i.push(n));return i},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=vt.concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return ht(t,bt)}},mt={f:Object.getOwnPropertySymbols},kt=it("Reflect","ownKeys")||function(t){var e=gt.f(_(t)),n=mt.f;return n?e.concat(n(t)):e},wt=function(t,e){for(var n=kt(e),r=C.f,o=T.f,i=0;i<n.length;i++){var c=n[i];k(t,c)||r(t,c,o(e,c))}},Ot=/#|\.prototype\./,jt=function(t,e){var n=$t[St(t)];return n==_t||n!=Tt&&("function"==typeof e?i(e):!!e)},St=jt.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},$t=jt.data={},Tt=jt.NATIVE="N",_t=jt.POLYFILL="P",Pt=jt,Ct=T.f,Et=function(t,e){var n,r,i,c,a,f=t.target,u=t.global,s=t.stat;if(n=u?o:s?o[f]||H(f,{}):(o[f]||{}).prototype)for(r in e){if(c=e[r],i=t.noTargetGet?(a=Ct(n,r))&&a.value:n[r],!Pt(u?r:f+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof c==typeof i)continue;wt(c,i)}(t.sham||i&&i.sham)&&E(c,"sham",!0),nt(n,r,c,t)}},Ht=Array.isArray||function(t){return"Array"==p(t)},xt=function(t){return Object(h(t))},At=function(t,e,n){var r=g(e);r in t?C.f(t,r,s(0,n)):t[r]=n},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Bt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),Lt=F("wks"),It=o.Symbol,Rt=Bt?It:Y,qt=function(t){return k(Lt,t)||(Mt&&k(It,t)?Lt[t]=It[t]:Lt[t]=Rt("Symbol."+t)),Lt[t]},Ft=qt("species"),zt=function(t,e){var n;return Ht(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!Ht(n.prototype)?b(n)&&null===(n=n[Ft])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},Nt=it("navigator","userAgent")||"",Yt=o.process,Dt=Yt&&Yt.versions,Wt=Dt&&Dt.v8;Wt?tt=(Z=Wt.split("."))[0]+Z[1]:Nt&&(!(Z=Nt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Nt.match(/Chrome\/(\d+)/))&&(tt=Z[1]);var Xt,Vt=tt&&+tt,Gt=qt("species"),Kt=qt("isConcatSpreadable"),Qt=Vt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Jt=(Xt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Gt]=function(){return{foo:1}},1!==t[Xt](Boolean).foo}))),Ut=function(t){if(!b(t))return!1;var e=t[Kt];return void 0!==e?!!e:Ht(t)};Et({target:"Array",proto:!0,forced:!Qt||!Jt},{concat:function(t){var e,n,r,o,i,c=xt(this),a=zt(c,0),f=0;for(e=-1,r=arguments.length;e<r;e++)if(i=-1===e?c:arguments[e],Ut(i)){if(f+(o=st(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n<o;n++,f++)n in i&&At(a,f,i[n])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(a,f++,i)}return a.length=f,a}});var Zt,te=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};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,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},ee=[].push,ne=function(t){var e=1==t,n=2==t,r=3==t,o=4==t,i=6==t,c=5==t||i;return function(a,f,u,s){for(var l,p,d=xt(a),h=y(d),v=te(f,u,3),b=st(h.length),g=0,m=s||zt,k=e?m(a,b):n?m(a,0):void 0;b>g;g++)if((c||g in h)&&(p=v(l=h[g],g,d),t))if(e)k[g]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return g;case 2:ee.call(k,l)}else if(o)return!1;return i?-1:r||o?o:k}},re={forEach:ne(0),map:ne(1),filter:ne(2),some:ne(3),every:ne(4),find:ne(5),findIndex:ne(6)},oe=Object.keys||function(t){return ht(t,vt)},ie=c?Object.defineProperties:function(t,e){_(t);for(var n,r=oe(e),o=r.length,i=0;o>i;)C.f(t,n=r[i++],e[n]);return t},ce=it("document","documentElement"),ae=W("IE_PROTO"),fe=function(){},ue=function(t){return"<script>"+t+"<\/script>"},se=function(){try{Zt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;se=Zt?function(t){t.write(ue("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Zt):((e=j("iframe")).style.display="none",ce.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(ue("document.F=Object")),t.close(),t.F);for(var n=vt.length;n--;)delete se.prototype[vt[n]];return se()};X[ae]=!0;var le=Object.create||function(t,e){var n;return null!==t?(fe.prototype=_(t),n=new fe,fe.prototype=null,n[ae]=t):n=se(),void 0===e?n:ie(n,e)},pe=qt("unscopables"),de=Array.prototype;null==de[pe]&&C.f(de,pe,{configurable:!0,value:le(null)});var ye,he=re.find,ve=!0;function be(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),Object.defineProperty(t,r.key,r)}}function ge(t){return(ge=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function me(t,e){return(me=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function ke(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function we(t,e,n){return(we="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ge(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}"find"in[]&&Array(1).find((function(){ve=!1})),Et({target:"Array",proto:!0,forced:ve},{find:function(t){return he(this,t,arguments.length>1?arguments[1]:void 0)}}),ye="find",de[pe][ye]=!0;t.fn.bootstrapTable.utils;t.extend(t.fn.bootstrapTable.defaults,{stickyHeader:!1,stickyHeaderOffsetY:0,stickyHeaderOffsetLeft:0,stickyHeaderOffsetRight:0}),t.BootstrapTable=function(e){function n(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),ke(this,ge(n).apply(this,arguments))}var r,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&me(t,e)}(n,e),r=n,(o=[{key:"initHeader",value:function(){for(var e,r=this,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];(e=we(ge(n.prototype),"initHeader",this)).call.apply(e,[this].concat(i)),this.options.stickyHeader&&(this.$el.before('<div class="sticky-header-container"></div>'),this.$el.before('<div class="sticky_anchor_begin"></div>'),this.$el.after('<div class="sticky_anchor_end"></div>'),this.$header.addClass("sticky-header"),this.$stickyContainer=this.$tableBody.find(".sticky-header-container"),this.$stickyBegin=this.$tableBody.find(".sticky_anchor_begin"),this.$stickyEnd=this.$tableBody.find(".sticky_anchor_end"),this.$stickyHeader=this.$header.clone(!0,!0),t(window).off("resize.sticky-header-table").on("resize.sticky-header-table",(function(){return r.renderStickyHeader()})),t(window).off("scroll.sticky-header-table").on("scroll.sticky-header-table",(function(){return r.renderStickyHeader()})),this.$tableBody.off("scroll").on("scroll",(function(){return r.matchPositionX()})))}},{key:"onColumnSearch",value:function(t){var e=t.currentTarget,r=t.keyCode;we(ge(n.prototype),"onColumnSearch",this).call(this,{currentTarget:e,keyCode:r}),this.renderStickyHeader()}},{key:"resetView",value:function(){for(var e,r=this,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];(e=we(ge(n.prototype),"resetView",this)).call.apply(e,[this].concat(i)),t(".bootstrap-table.fullscreen").off("scroll").on("scroll",(function(){return r.renderStickyHeader()}))}},{key:"renderStickyHeader",value:function(){var e=this,n=this;this.$stickyHeader=this.$header.clone(!0,!0),this.options.filterControl&&t(this.$stickyHeader).off("keyup change mouseup").on("keyup change mouse",(function(e){var r=t(e.target),o=r.val(),i=r.parents("th").data("field"),c=n.$header.find('th[data-field="'+i+'"]');if(r.is("input"))c.find("input").val(o);else if(r.is("select")){var a=c.find("select");a.find("option[selected]").removeAttr("selected"),a.find('option[value="'+o+'"]').attr("selected",!0)}n.triggerSearch()}));var r=t(window).scrollTop(),o=this.$stickyBegin.offset().top-this.options.stickyHeaderOffsetY,i=this.$stickyEnd.offset().top-this.options.stickyHeaderOffsetY-this.$header.height();if(r>o&&r<=i){this.$stickyHeader.find("tr:eq(0)").find("th").each((function(n,r){t(r).css("min-width",e.$header.find("tr:eq(0)").find("th").eq(n).css("width"))})),this.$stickyContainer.show().addClass("fix-sticky fixed-table-container");var c=this.options.stickyHeaderOffsetLeft,a=this.options.stickyHeaderOffsetRight;this.$el.closest(".bootstrap-table").hasClass("fullscreen")&&(c=0,a=0),this.$stickyContainer.css("top","".concat(this.options.stickyHeaderOffsetY)),this.$stickyContainer.css("left","".concat(c)),this.$stickyContainer.css("right","".concat(a)),this.$stickyTable=t("<table/>"),this.$stickyTable.addClass(this.options.classes),this.$stickyContainer.html(this.$stickyTable.append(this.$stickyHeader)),this.matchPositionX()}else this.$stickyContainer.removeClass("fix-sticky").hide()}},{key:"matchPositionX",value:function(){this.$stickyContainer.scrollLeft(this.$tableBody.scrollLeft())}}])&&be(r.prototype,o),i&&be(r,i),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js b/server/target/classes/static/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js
deleted file mode 100644
index 8ead3cc..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js
+++ /dev/null
@@ -1,2547 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	var $includes = arrayIncludes.includes;
-
-
-	// `Array.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	_export({ target: 'Array', proto: true }, {
-	  includes: function includes(el /* , fromIndex = 0 */) {
-	    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('includes');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var $indexOf = arrayIncludes.indexOf;
-
-
-	var nativeIndexOf = [].indexOf;
-
-	var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
-	var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
-
-	// `Array.prototype.indexOf` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	_export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
-	  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
-	    return NEGATIVE_ZERO
-	      // convert -0 to +0
-	      ? nativeIndexOf.apply(this, arguments) || 0
-	      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD$1 = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD$1 }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
-	// `Object.{ entries, values }` methods implementation
-	var createMethod$2 = function (TO_ENTRIES) {
-	  return function (it) {
-	    var O = toIndexedObject(it);
-	    var keys = objectKeys(O);
-	    var length = keys.length;
-	    var i = 0;
-	    var result = [];
-	    var key;
-	    while (length > i) {
-	      key = keys[i++];
-	      if (!descriptors || propertyIsEnumerable.call(O, key)) {
-	        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
-	      }
-	    }
-	    return result;
-	  };
-	};
-
-	var objectToArray = {
-	  // `Object.entries` method
-	  // https://tc39.github.io/ecma262/#sec-object.entries
-	  entries: createMethod$2(true),
-	  // `Object.values` method
-	  // https://tc39.github.io/ecma262/#sec-object.values
-	  values: createMethod$2(false)
-	};
-
-	var $entries = objectToArray.entries;
-
-	// `Object.entries` method
-	// https://tc39.github.io/ecma262/#sec-object.entries
-	_export({ target: 'Object', stat: true }, {
-	  entries: function entries(O) {
-	    return $entries(O);
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test = {};
-
-	test[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// `RegExp.prototype.flags` getter implementation
-	// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-	var regexpFlags = function () {
-	  var that = anObject(this);
-	  var result = '';
-	  if (that.global) result += 'g';
-	  if (that.ignoreCase) result += 'i';
-	  if (that.multiline) result += 'm';
-	  if (that.dotAll) result += 's';
-	  if (that.unicode) result += 'u';
-	  if (that.sticky) result += 'y';
-	  return result;
-	};
-
-	// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
-	// so we use an intermediate function.
-	function RE(s, f) {
-	  return RegExp(s, f);
-	}
-
-	var UNSUPPORTED_Y = fails(function () {
-	  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
-	  var re = RE('a', 'y');
-	  re.lastIndex = 2;
-	  return re.exec('abcd') != null;
-	});
-
-	var BROKEN_CARET = fails(function () {
-	  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
-	  var re = RE('^r', 'gy');
-	  re.lastIndex = 2;
-	  return re.exec('str') != null;
-	});
-
-	var regexpStickyHelpers = {
-		UNSUPPORTED_Y: UNSUPPORTED_Y,
-		BROKEN_CARET: BROKEN_CARET
-	};
-
-	var nativeExec = RegExp.prototype.exec;
-	// This always refers to the native implementation, because the
-	// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
-	// which loads this file before patching the method.
-	var nativeReplace = String.prototype.replace;
-
-	var patchedExec = nativeExec;
-
-	var UPDATES_LAST_INDEX_WRONG = (function () {
-	  var re1 = /a/;
-	  var re2 = /b*/g;
-	  nativeExec.call(re1, 'a');
-	  nativeExec.call(re2, 'a');
-	  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
-	})();
-
-	var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;
-
-	// nonparticipating capturing group, copied from es5-shim's String#split patch.
-	var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
-
-	var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;
-
-	if (PATCH) {
-	  patchedExec = function exec(str) {
-	    var re = this;
-	    var lastIndex, reCopy, match, i;
-	    var sticky = UNSUPPORTED_Y$1 && re.sticky;
-	    var flags = regexpFlags.call(re);
-	    var source = re.source;
-	    var charsAdded = 0;
-	    var strCopy = str;
-
-	    if (sticky) {
-	      flags = flags.replace('y', '');
-	      if (flags.indexOf('g') === -1) {
-	        flags += 'g';
-	      }
-
-	      strCopy = String(str).slice(re.lastIndex);
-	      // Support anchored sticky behavior.
-	      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
-	        source = '(?: ' + source + ')';
-	        strCopy = ' ' + strCopy;
-	        charsAdded++;
-	      }
-	      // ^(? + rx + ) is needed, in combination with some str slicing, to
-	      // simulate the 'y' flag.
-	      reCopy = new RegExp('^(?:' + source + ')', flags);
-	    }
-
-	    if (NPCG_INCLUDED) {
-	      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
-	    }
-	    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
-
-	    match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
-	    if (sticky) {
-	      if (match) {
-	        match.input = match.input.slice(charsAdded);
-	        match[0] = match[0].slice(charsAdded);
-	        match.index = re.lastIndex;
-	        re.lastIndex += match[0].length;
-	      } else re.lastIndex = 0;
-	    } else if (UPDATES_LAST_INDEX_WRONG && match) {
-	      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
-	    }
-	    if (NPCG_INCLUDED && match && match.length > 1) {
-	      // Fix browsers whose `exec` methods don't consistently return `undefined`
-	      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
-	      nativeReplace.call(match[0], reCopy, function () {
-	        for (i = 1; i < arguments.length - 2; i++) {
-	          if (arguments[i] === undefined) match[i] = undefined;
-	        }
-	      });
-	    }
-
-	    return match;
-	  };
-	}
-
-	var regexpExec = patchedExec;
-
-	_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
-	  exec: regexpExec
-	});
-
-	var MATCH = wellKnownSymbol('match');
-
-	// `IsRegExp` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isregexp
-	var isRegexp = function (it) {
-	  var isRegExp;
-	  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
-	};
-
-	var notARegexp = function (it) {
-	  if (isRegexp(it)) {
-	    throw TypeError("The method doesn't accept regular expressions");
-	  } return it;
-	};
-
-	var MATCH$1 = wellKnownSymbol('match');
-
-	var correctIsRegexpLogic = function (METHOD_NAME) {
-	  var regexp = /./;
-	  try {
-	    '/./'[METHOD_NAME](regexp);
-	  } catch (e) {
-	    try {
-	      regexp[MATCH$1] = false;
-	      return '/./'[METHOD_NAME](regexp);
-	    } catch (f) { /* empty */ }
-	  } return false;
-	};
-
-	// `String.prototype.includes` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.includes
-	_export({ target: 'String', proto: true, forced: !correctIsRegexpLogic('includes') }, {
-	  includes: function includes(searchString /* , position = 0 */) {
-	    return !!~String(requireObjectCoercible(this))
-	      .indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$3 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$3(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$3(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	var SPECIES$2 = wellKnownSymbol('species');
-
-	var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
-	  // #replace needs built-in support for named groups.
-	  // #match works fine because it just return the exec results, even if it has
-	  // a "grops" property.
-	  var re = /./;
-	  re.exec = function () {
-	    var result = [];
-	    result.groups = { a: '7' };
-	    return result;
-	  };
-	  return ''.replace(re, '$<a>') !== '7';
-	});
-
-	// IE <= 11 replaces $0 with the whole match, as if it was $&
-	// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-	var REPLACE_KEEPS_$0 = (function () {
-	  return 'a'.replace(/./, '$0') === '$0';
-	})();
-
-	// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
-	// Weex JS has frozen built-in prototypes, so use try / catch wrapper
-	var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
-	  var re = /(?:)/;
-	  var originalExec = re.exec;
-	  re.exec = function () { return originalExec.apply(this, arguments); };
-	  var result = 'ab'.split(re);
-	  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
-	});
-
-	var fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {
-	  var SYMBOL = wellKnownSymbol(KEY);
-
-	  var DELEGATES_TO_SYMBOL = !fails(function () {
-	    // String methods call symbol-named RegEp methods
-	    var O = {};
-	    O[SYMBOL] = function () { return 7; };
-	    return ''[KEY](O) != 7;
-	  });
-
-	  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
-	    // Symbol-named RegExp methods call .exec
-	    var execCalled = false;
-	    var re = /a/;
-
-	    if (KEY === 'split') {
-	      // We can't use real regex here since it causes deoptimization
-	      // and serious performance degradation in V8
-	      // https://github.com/zloirock/core-js/issues/306
-	      re = {};
-	      // RegExp[@@split] doesn't call the regex's exec method, but first creates
-	      // a new one. We need to return the patched regex when creating the new one.
-	      re.constructor = {};
-	      re.constructor[SPECIES$2] = function () { return re; };
-	      re.flags = '';
-	      re[SYMBOL] = /./[SYMBOL];
-	    }
-
-	    re.exec = function () { execCalled = true; return null; };
-
-	    re[SYMBOL]('');
-	    return !execCalled;
-	  });
-
-	  if (
-	    !DELEGATES_TO_SYMBOL ||
-	    !DELEGATES_TO_EXEC ||
-	    (KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0)) ||
-	    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
-	  ) {
-	    var nativeRegExpMethod = /./[SYMBOL];
-	    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
-	      if (regexp.exec === regexpExec) {
-	        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
-	          // The native String method already delegates to @@method (this
-	          // polyfilled function), leasing to infinite recursion.
-	          // We avoid it by directly calling the native @@method method.
-	          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
-	        }
-	        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
-	      }
-	      return { done: false };
-	    }, { REPLACE_KEEPS_$0: REPLACE_KEEPS_$0 });
-	    var stringMethod = methods[0];
-	    var regexMethod = methods[1];
-
-	    redefine(String.prototype, KEY, stringMethod);
-	    redefine(RegExp.prototype, SYMBOL, length == 2
-	      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
-	      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
-	      ? function (string, arg) { return regexMethod.call(string, this, arg); }
-	      // 21.2.5.6 RegExp.prototype[@@match](string)
-	      // 21.2.5.9 RegExp.prototype[@@search](string)
-	      : function (string) { return regexMethod.call(string, this); }
-	    );
-	  }
-
-	  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
-	};
-
-	// `SameValue` abstract operation
-	// https://tc39.github.io/ecma262/#sec-samevalue
-	var sameValue = Object.is || function is(x, y) {
-	  // eslint-disable-next-line no-self-compare
-	  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
-	};
-
-	// `RegExpExec` abstract operation
-	// https://tc39.github.io/ecma262/#sec-regexpexec
-	var regexpExecAbstract = function (R, S) {
-	  var exec = R.exec;
-	  if (typeof exec === 'function') {
-	    var result = exec.call(R, S);
-	    if (typeof result !== 'object') {
-	      throw TypeError('RegExp exec method returned something other than an Object or null');
-	    }
-	    return result;
-	  }
-
-	  if (classofRaw(R) !== 'RegExp') {
-	    throw TypeError('RegExp#exec called on incompatible receiver');
-	  }
-
-	  return regexpExec.call(R, S);
-	};
-
-	// @@search logic
-	fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
-	  return [
-	    // `String.prototype.search` method
-	    // https://tc39.github.io/ecma262/#sec-string.prototype.search
-	    function search(regexp) {
-	      var O = requireObjectCoercible(this);
-	      var searcher = regexp == undefined ? undefined : regexp[SEARCH];
-	      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
-	    },
-	    // `RegExp.prototype[@@search]` method
-	    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
-	    function (regexp) {
-	      var res = maybeCallNative(nativeSearch, regexp, this);
-	      if (res.done) return res.value;
-
-	      var rx = anObject(regexp);
-	      var S = String(this);
-
-	      var previousLastIndex = rx.lastIndex;
-	      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
-	      var result = regexpExecAbstract(rx, S);
-	      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
-	      return result === null ? -1 : result.index;
-	    }
-	  ];
-	});
-
-	// a string of all valid unicode whitespaces
-	// eslint-disable-next-line max-len
-	var whitespaces = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
-
-	var whitespace = '[' + whitespaces + ']';
-	var ltrim = RegExp('^' + whitespace + whitespace + '*');
-	var rtrim = RegExp(whitespace + whitespace + '*$');
-
-	// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-	var createMethod$4 = function (TYPE) {
-	  return function ($this) {
-	    var string = String(requireObjectCoercible($this));
-	    if (TYPE & 1) string = string.replace(ltrim, '');
-	    if (TYPE & 2) string = string.replace(rtrim, '');
-	    return string;
-	  };
-	};
-
-	var stringTrim = {
-	  // `String.prototype.{ trimLeft, trimStart }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
-	  start: createMethod$4(1),
-	  // `String.prototype.{ trimRight, trimEnd }` methods
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
-	  end: createMethod$4(2),
-	  // `String.prototype.trim` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	  trim: createMethod$4(3)
-	};
-
-	var non = '\u200B\u0085\u180E';
-
-	// check that a method works with the correct list
-	// of whitespaces and has a correct name
-	var forcedStringTrimMethod = function (METHOD_NAME) {
-	  return fails(function () {
-	    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
-	  });
-	};
-
-	var $trim = stringTrim.trim;
-
-
-	// `String.prototype.trim` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype.trim
-	_export({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
-	  trim: function trim() {
-	    return $trim(this);
-	  }
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  if (CollectionPrototype) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-	    }
-	    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	function _slicedToArray(arr, i) {
-	  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
-	}
-
-	function _arrayWithHoles(arr) {
-	  if (Array.isArray(arr)) return arr;
-	}
-
-	function _iterableToArrayLimit(arr, i) {
-	  if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
-	    return;
-	  }
-
-	  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;
-	}
-
-	function _nonIterableRest() {
-	  throw new TypeError("Invalid attempt to destructure non-iterable instance");
-	}
-
-	/**
-	 * @author: aperez <aperez@datadec.es>
-	 * @version: v2.0.0
-	 *
-	 * @update Dennis Hernández <http://djhvscf.github.io/Blog>
-	 * @update zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	var Utils = $.fn.bootstrapTable.utils;
-	var bootstrap = {
-	  bootstrap3: {
-	    icons: {
-	      advancedSearchIcon: 'glyphicon-chevron-down'
-	    },
-	    html: {
-	      modal: "\n        <div id=\"avdSearchModal_%s\"  class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"mySmallModalLabel\" aria-hidden=\"true\">\n          <div class=\"modal-dialog modal-xs\">\n            <div class=\"modal-content\">\n              <div class=\"modal-header\">\n                <h4 class=\"modal-title\">%s</h4>\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                  <span aria-hidden=\"true\">&times;</span>\n                </button>\n              </div>\n              <div class=\"modal-body modal-body-custom\">\n                <div class=\"container-fluid\" id=\"avdSearchModalContent_%s\"\n                  style=\"padding-right: 0px; padding-left: 0px;\" >\n                </div>\n              </div>\n              <div class=\"modal-footer\">\n                <button type=\"button\" id=\"btnCloseAvd_%s\" class=\"btn btn-%s\">%s</button>\n              </div>\n            </div>\n          </div>\n        </div>\n      "
-	    }
-	  },
-	  bootstrap4: {
-	    icons: {
-	      advancedSearchIcon: 'fa-chevron-down'
-	    },
-	    html: {
-	      modal: "\n        <div id=\"avdSearchModal_%s\"  class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"mySmallModalLabel\" aria-hidden=\"true\">\n          <div class=\"modal-dialog modal-xs\">\n            <div class=\"modal-content\">\n              <div class=\"modal-header\">\n                <h4 class=\"modal-title\">%s</h4>\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                  <span aria-hidden=\"true\">&times;</span>\n                </button>\n              </div>\n              <div class=\"modal-body modal-body-custom\">\n                <div class=\"container-fluid\" id=\"avdSearchModalContent_%s\"\n                  style=\"padding-right: 0px; padding-left: 0px;\" >\n                </div>\n              </div>\n              <div class=\"modal-footer\">\n                <button type=\"button\" id=\"btnCloseAvd_%s\" class=\"btn btn-%s\">%s</button>\n              </div>\n            </div>\n          </div>\n        </div>\n      "
-	    }
-	  },
-	  bulma: {
-	    icons: {
-	      advancedSearchIcon: 'fa-chevron-down'
-	    },
-	    html: {
-	      modal: "\n        <div class=\"modal\" id=\"avdSearchModal_%s\">\n          <div class=\"modal-background\"></div>\n          <div class=\"modal-card\">\n            <header class=\"modal-card-head\">\n              <p class=\"modal-card-title\">%s</p>\n              <button class=\"delete\" aria-label=\"close\"></button>\n            </header>\n            <section class=\"modal-card-body\" id=\"avdSearchModalContent_%s\"></section>\n            <footer class=\"modal-card-foot\">\n              <button class=\"button\" id=\"btnCloseAvd_%s\" data-close=\"btn btn-%s\">%s</button>\n            </footer>\n          </div>\n        </div>\n      "
-	    }
-	  },
-	  foundation: {
-	    icons: {
-	      advancedSearchIcon: 'fa-chevron-down'
-	    },
-	    html: {
-	      modal: "\n        <div class=\"reveal\" id=\"avdSearchModal_%s\" data-reveal>\n          <h1>%s</h1>\n          <div id=\"avdSearchModalContent_%s\">\n          \n          </div>\n          <button class=\"close-button\" data-close aria-label=\"Close modal\" type=\"button\">\n            <span aria-hidden=\"true\">&times;</span>\n          </button>\n          \n          <button id=\"btnCloseAvd_%s\" class=\"%s\" type=\"button\">%s</button>\n        </div>\n      "
-	    }
-	  },
-	  materialize: {
-	    icons: {
-	      advancedSearchIcon: 'expand_more'
-	    },
-	    html: {
-	      modal: "\n        <div id=\"avdSearchModal_%s\" class=\"modal\">\n          <div class=\"modal-content\">\n            <h4>%s</h4>\n            <div id=\"avdSearchModalContent_%s\">\n            \n            </div>\n          </div>\n          <div class=\"modal-footer\">\n            <a href=\"javascript:void(0)\"\" id=\"btnCloseAvd_%s\" class=\"modal-close waves-effect waves-green btn-flat %s\">%s</a>\n          </div>\n        </div>\n      "
-	    }
-	  },
-	  semantic: {
-	    icons: {
-	      advancedSearchIcon: 'fa-chevron-down'
-	    },
-	    html: {
-	      modal: "\n        <div class=\"ui modal\" id=\"avdSearchModal_%s\">\n          <i class=\"close icon\"></i>\n          <div class=\"header\">\n            %s\n          </div>\n          <div class=\"image content ui form\" id=\"avdSearchModalContent_%s\"></div>\n          <div class=\"actions\">\n            <div id=\"btnCloseAvd_%s\" class=\"ui black deny button %s\">%s</div>\n          </div>\n        </div>\n      "
-	    }
-	  }
-	}[$.fn.bootstrapTable.theme];
-	$.extend($.fn.bootstrapTable.defaults, {
-	  advancedSearch: false,
-	  idForm: 'advancedSearch',
-	  actionForm: '',
-	  idTable: undefined,
-	  onColumnAdvancedSearch: function onColumnAdvancedSearch(field, text) {
-	    return false;
-	  }
-	});
-	$.extend($.fn.bootstrapTable.defaults.icons, {
-	  advancedSearchIcon: bootstrap.icons.advancedSearchIcon
-	});
-	$.extend($.fn.bootstrapTable.Constructor.EVENTS, {
-	  'column-advanced-search.bs.table': 'onColumnAdvancedSearch'
-	});
-	$.extend($.fn.bootstrapTable.locales, {
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	});
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      var _this = this;
-
-	      var o = this.options;
-	      this.showToolbar = this.showToolbar || o.search && o.advancedSearch && o.idTable;
-
-	      _get(_getPrototypeOf(_class.prototype), "initToolbar", this).call(this);
-
-	      if (!o.search || !o.advancedSearch || !o.idTable) {
-	        return;
-	      }
-
-	      this.$toolbar.find('>.columns').append("\n      <button class=\"".concat(this.constants.buttonsClass, " \"\n        type=\"button\"\n        name=\"advancedSearch\"\n        aria-label=\"advanced search\"\n        title=\"").concat(o.formatAdvancedSearch(), "\">\n        ").concat(this.options.showButtonIcons ? Utils.sprintf(this.constants.html.icon, o.iconsPrefix, o.icons.advancedSearchIcon) : '', "\n        ").concat(this.options.showButtonText ? this.options.formatAdvancedSearch() : '', "\n      </button>\n    "));
-	      this.$toolbar.find('button[name="advancedSearch"]').off('click').on('click', function () {
-	        return _this.showAvdSearch();
-	      });
-	    }
-	  }, {
-	    key: "showAvdSearch",
-	    value: function showAvdSearch() {
-	      var _this2 = this;
-
-	      var o = this.options;
-	      var modalSelector = '#avdSearchModal_' + o.idTable;
-
-	      if ($(modalSelector).length <= 0) {
-	        $('body').append(Utils.sprintf(bootstrap.html.modal, o.idTable, o.formatAdvancedSearch(), o.idTable, o.idTable, o.buttonsClass, o.formatAdvancedCloseButton()));
-	        var timeoutId = 0;
-	        $("#avdSearchModalContent_".concat(o.idTable)).append(this.createFormAvd().join(''));
-	        $("#".concat(o.idForm)).off('keyup blur', 'input').on('keyup blur', 'input', function (e) {
-	          if (o.sidePagination === 'server') {
-	            _this2.onColumnAdvancedSearch(e);
-	          } else {
-	            clearTimeout(timeoutId);
-	            timeoutId = setTimeout(function () {
-	              _this2.onColumnAdvancedSearch(e);
-	            }, o.searchTimeOut);
-	          }
-	        });
-	        $("#btnCloseAvd_".concat(o.idTable)).click(function () {
-	          return _this2.hideModal();
-	        });
-
-	        if ($.fn.bootstrapTable.theme === 'bulma') {
-	          $(modalSelector).find('.delete').off('click').on('click', function () {
-	            return _this2.hideModal();
-	          });
-	        }
-
-	        this.showModal();
-	      } else {
-	        this.showModal();
-	      }
-	    }
-	  }, {
-	    key: "showModal",
-	    value: function showModal() {
-	      var modalSelector = '#avdSearchModal_' + this.options.idTable;
-
-	      if ($.inArray($.fn.bootstrapTable.theme, ['bootstrap3', 'bootstrap4']) !== -1) {
-	        $(modalSelector).modal();
-	      } else if ($.fn.bootstrapTable.theme === 'bulma') {
-	        $(modalSelector).toggleClass('is-active');
-	      } else if ($.fn.bootstrapTable.theme === 'foundation') {
-	        if (!this.toolbarModal) {
-	          // eslint-disable-next-line no-undef
-	          this.toolbarModal = new Foundation.Reveal($(modalSelector));
-	        }
-
-	        this.toolbarModal.open();
-	      } else if ($.fn.bootstrapTable.theme === 'materialize') {
-	        $(modalSelector).modal();
-	        $(modalSelector).modal('open');
-	      } else if ($.fn.bootstrapTable.theme === 'semantic') {
-	        $(modalSelector).modal('show');
-	      }
-	    }
-	  }, {
-	    key: "hideModal",
-	    value: function hideModal() {
-	      var $closeModalButton = $("#avdSearchModal_".concat(this.options.idTable));
-	      var modalSelector = '#avdSearchModal_' + this.options.idTable;
-
-	      if ($.inArray($.fn.bootstrapTable.theme, ['bootstrap3', 'bootstrap4']) !== -1) {
-	        $closeModalButton.modal('hide');
-	      } else if ($.fn.bootstrapTable.theme === 'bulma') {
-	        $('html').toggleClass('is-clipped');
-	        $(modalSelector).toggleClass('is-active');
-	      } else if ($.fn.bootstrapTable.theme === 'foundation') {
-	        this.toolbarModal.close();
-	      } else if ($.fn.bootstrapTable.theme === 'materialize') {
-	        $(modalSelector).modal('open');
-	      } else if ($.fn.bootstrapTable.theme === 'semantic') {
-	        $(modalSelector).modal('close');
-	      }
-
-	      if (this.options.sidePagination === 'server') {
-	        this.options.pageNumber = 1;
-	        this.updatePagination();
-	        this.trigger('column-advanced-search', this.filterColumnsPartial);
-	      }
-	    }
-	  }, {
-	    key: "createFormAvd",
-	    value: function createFormAvd() {
-	      var o = this.options;
-	      var html = ["<form class=\"form-horizontal\" id=\"".concat(o.idForm, "\" action=\"").concat(o.actionForm, "\">")];
-	      var _iteratorNormalCompletion = true;
-	      var _didIteratorError = false;
-	      var _iteratorError = undefined;
-
-	      try {
-	        for (var _iterator = this.columns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	          var column = _step.value;
-
-	          if (!column.checkbox && column.visible && column.searchable) {
-	            html.push("\n          <div class=\"form-group row\">\n            <label class=\"col-sm-4 control-label\">".concat(column.title, "</label>\n            <div class=\"col-sm-6\">\n              <input type=\"text\" class=\"form-control ").concat(this.constants.classes.input, "\" name=\"").concat(column.field, "\" placeholder=\"").concat(column.title, "\" id=\"").concat(column.field, "\">\n            </div>\n          </div>\n        "));
-	          }
-	        }
-	      } catch (err) {
-	        _didIteratorError = true;
-	        _iteratorError = err;
-	      } finally {
-	        try {
-	          if (!_iteratorNormalCompletion && _iterator.return != null) {
-	            _iterator.return();
-	          }
-	        } finally {
-	          if (_didIteratorError) {
-	            throw _iteratorError;
-	          }
-	        }
-	      }
-
-	      html.push('</form>');
-	      return html;
-	    }
-	  }, {
-	    key: "initSearch",
-	    value: function initSearch() {
-	      var _this3 = this;
-
-	      _get(_getPrototypeOf(_class.prototype), "initSearch", this).call(this);
-
-	      if (!this.options.advancedSearch || this.options.sidePagination === 'server') {
-	        return;
-	      }
-
-	      var fp = $.isEmptyObject(this.filterColumnsPartial) ? null : this.filterColumnsPartial;
-	      this.data = fp ? this.data.filter(function (item, i) {
-	        for (var _i = 0, _Object$entries = Object.entries(fp); _i < _Object$entries.length; _i++) {
-	          var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
-	              key = _Object$entries$_i[0],
-	              v = _Object$entries$_i[1];
-
-	          var fval = v.toLowerCase();
-	          var value = item[key];
-
-	          var index = _this3.header.fields.indexOf(key);
-
-	          value = Utils.calculateObjectValue(_this3.header, _this3.header.formatters[index], [value, item, i], value);
-
-	          if (!(index !== -1 && (typeof value === 'string' || typeof value === 'number') && "".concat(value).toLowerCase().includes(fval))) {
-	            return false;
-	          }
-	        }
-
-	        return true;
-	      }) : this.data;
-	    }
-	  }, {
-	    key: "onColumnAdvancedSearch",
-	    value: function onColumnAdvancedSearch(e) {
-	      var text = $.trim($(e.currentTarget).val());
-	      var $field = $(e.currentTarget)[0].id;
-
-	      if ($.isEmptyObject(this.filterColumnsPartial)) {
-	        this.filterColumnsPartial = {};
-	      }
-
-	      if (text) {
-	        this.filterColumnsPartial[$field] = text;
-	      } else {
-	        delete this.filterColumnsPartial[$field];
-	      }
-
-	      if (this.options.sidePagination !== 'server') {
-	        this.options.pageNumber = 1;
-	        this.onSearch(e);
-	        this.updatePagination();
-	        this.trigger('column-advanced-search', $field, text);
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js b/server/target/classes/static/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js
deleted file mode 100644
index 801be0b..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,u={f:l&&!c.call({1:2},1)?function(t){var n=l(this,t);return!!n&&n.enumerable}:c},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},f={}.toString,d=function(t){return f.call(t).slice(8,-1)},p="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==d(t)?p.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return h(v(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,n){if(!y(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!y(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!y(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!y(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},g={}.hasOwnProperty,S=function(t,n){return g.call(t,n)},O=o.document,w=y(O)&&y(O.createElement),x=function(t){return w?O.createElement(t):{}},T=!a&&!i((function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a})),j=Object.getOwnPropertyDescriptor,A={f:a?j:function(t,n){if(t=b(t),n=m(n,!0),T)try{return j(t,n)}catch(t){}if(S(t,n))return s(!u.f.call(t,n),t[n])}},_=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,E={f:a?P:function(t,n,e){if(_(t),n=m(n,!0),_(e),T)try{return P(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},C=a?function(t,n,e){return E.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},I=function(t,n){try{C(o,t,n)}catch(e){o[t]=n}return n},M=o["__core-js_shared__"]||I("__core-js_shared__",{}),k=Function.toString;"function"!=typeof M.inspectSource&&(M.inspectSource=function(t){return k.call(t)});var R,L,F,N=M.inspectSource,D=o.WeakMap,B="function"==typeof D&&/native code/.test(N(D)),G=e((function(t){(t.exports=function(t,n){return M[t]||(M[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),V=0,$=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++V+$).toString(36)},U=G("keys"),q=function(t){return U[t]||(U[t]=z(t))},W={},Y=o.WeakMap;if(B){var H=new Y,K=H.get,J=H.has,Q=H.set;R=function(t,n){return Q.call(H,t,n),n},L=function(t){return K.call(H,t)||{}},F=function(t){return J.call(H,t)}}else{var X=q("state");W[X]=!0,R=function(t,n){return C(t,X,n),n},L=function(t){return S(t,X)?t[X]:{}},F=function(t){return S(t,X)}}var Z,tt={set:R,get:L,has:F,enforce:function(t){return F(t)?L(t):R(t,{})},getterFor:function(t){return function(n){var e;if(!y(n)||(e=L(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,a){var c=!!a&&!!a.unsafe,l=!!a&&!!a.enumerable,u=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||C(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!u&&t[n]&&(l=!0):delete t[n],l?t[n]=i:C(t,n,i)):l?t[n]=i:I(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,at=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},lt=Math.min,ut=function(t){return t>0?lt(ct(t),9007199254740991):0},st=Math.max,ft=Math.min,dt=function(t){return function(n,e,r){var o,i=b(n),a=ut(i.length),c=function(t,n){var e=ct(t);return e<0?st(e+n,0):ft(e,n)}(r,a);if(t&&e!=e){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},pt={includes:dt(!0),indexOf:dt(!1)},ht=pt.indexOf,vt=function(t,n){var e,r=b(t),o=0,i=[];for(e in r)!S(W,e)&&S(r,e)&&i.push(e);for(;n.length>o;)S(r,e=n[o++])&&(~ht(i,e)||i.push(e));return i},bt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],yt=bt.concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return vt(t,yt)}},gt={f:Object.getOwnPropertySymbols},St=ot("Reflect","ownKeys")||function(t){var n=mt.f(_(t)),e=gt.f;return e?n.concat(e(t)):n},Ot=function(t,n){for(var e=St(n),r=E.f,o=A.f,i=0;i<e.length;i++){var a=e[i];S(t,a)||r(t,a,o(n,a))}},wt=/#|\.prototype\./,xt=function(t,n){var e=jt[Tt(t)];return e==_t||e!=At&&("function"==typeof n?i(n):!!n)},Tt=xt.normalize=function(t){return String(t).replace(wt,".").toLowerCase()},jt=xt.data={},At=xt.NATIVE="N",_t=xt.POLYFILL="P",Pt=xt,Et=A.f,Ct=function(t,n){var e,r,i,a,c,l=t.target,u=t.global,s=t.stat;if(e=u?o:s?o[l]||I(l,{}):(o[l]||{}).prototype)for(r in n){if(a=n[r],i=t.noTargetGet?(c=Et(e,r))&&c.value:e[r],!Pt(u?r:l+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;Ot(a,i)}(t.sham||i&&i.sham)&&C(a,"sham",!0),nt(e,r,a,t)}},It=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Mt=It&&!Symbol.sham&&"symbol"==typeof Symbol(),kt=Array.isArray||function(t){return"Array"==d(t)},Rt=function(t){return Object(v(t))},Lt=Object.keys||function(t){return vt(t,bt)},Ft=a?Object.defineProperties:function(t,n){_(t);for(var e,r=Lt(n),o=r.length,i=0;o>i;)E.f(t,e=r[i++],n[e]);return t},Nt=ot("document","documentElement"),Dt=q("IE_PROTO"),Bt=function(){},Gt=function(t){return"<script>"+t+"<\/script>"},Vt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;Vt=Z?function(t){t.write(Gt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Z):((n=x("iframe")).style.display="none",Nt.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(Gt("document.F=Object")),t.close(),t.F);for(var e=bt.length;e--;)delete Vt.prototype[bt[e]];return Vt()};W[Dt]=!0;var $t=Object.create||function(t,n){var e;return null!==t?(Bt.prototype=_(t),e=new Bt,Bt.prototype=null,e[Dt]=t):e=Vt(),void 0===n?e:Ft(e,n)},zt=mt.f,Ut={}.toString,qt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Wt={f:function(t){return qt&&"[object Window]"==Ut.call(t)?function(t){try{return zt(t)}catch(t){return qt.slice()}}(t):zt(b(t))}},Yt=G("wks"),Ht=o.Symbol,Kt=Mt?Ht:z,Jt=function(t){return S(Yt,t)||(It&&S(Ht,t)?Yt[t]=Ht[t]:Yt[t]=Kt("Symbol."+t)),Yt[t]},Qt={f:Jt},Xt=E.f,Zt=function(t){var n=et.Symbol||(et.Symbol={});S(n,t)||Xt(n,t,{value:Qt.f(t)})},tn=E.f,nn=Jt("toStringTag"),en=function(t,n,e){t&&!S(t=e?t:t.prototype,nn)&&tn(t,nn,{configurable:!0,value:n})},rn=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},on=Jt("species"),an=function(t,n){var e;return kt(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!kt(e.prototype)?y(e)&&null===(e=e[on])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},cn=[].push,ln=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(c,l,u,s){for(var f,d,p=Rt(c),v=h(p),b=rn(l,u,3),y=ut(v.length),m=0,g=s||an,S=n?g(c,y):e?g(c,0):void 0;y>m;m++)if((a||m in v)&&(d=b(f=v[m],m,p),t))if(n)S[m]=d;else if(d)switch(t){case 3:return!0;case 5:return f;case 6:return m;case 2:cn.call(S,f)}else if(o)return!1;return i?-1:r||o?o:S}},un={forEach:ln(0),map:ln(1),filter:ln(2),some:ln(3),every:ln(4),find:ln(5),findIndex:ln(6)},sn=un.forEach,fn=q("hidden"),dn=Jt("toPrimitive"),pn=tt.set,hn=tt.getterFor("Symbol"),vn=Object.prototype,bn=o.Symbol,yn=ot("JSON","stringify"),mn=A.f,gn=E.f,Sn=Wt.f,On=u.f,wn=G("symbols"),xn=G("op-symbols"),Tn=G("string-to-symbol-registry"),jn=G("symbol-to-string-registry"),An=G("wks"),_n=o.QObject,Pn=!_n||!_n.prototype||!_n.prototype.findChild,En=a&&i((function(){return 7!=$t(gn({},"a",{get:function(){return gn(this,"a",{value:7}).a}})).a}))?function(t,n,e){var r=mn(vn,n);r&&delete vn[n],gn(t,n,e),r&&t!==vn&&gn(vn,n,r)}:gn,Cn=function(t,n){var e=wn[t]=$t(bn.prototype);return pn(e,{type:"Symbol",tag:t,description:n}),a||(e.description=n),e},In=It&&"symbol"==typeof bn.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof bn},Mn=function(t,n,e){t===vn&&Mn(xn,n,e),_(t);var r=m(n,!0);return _(e),S(wn,r)?(e.enumerable?(S(t,fn)&&t[fn][r]&&(t[fn][r]=!1),e=$t(e,{enumerable:s(0,!1)})):(S(t,fn)||gn(t,fn,s(1,{})),t[fn][r]=!0),En(t,r,e)):gn(t,r,e)},kn=function(t,n){_(t);var e=b(n),r=Lt(e).concat(Nn(e));return sn(r,(function(n){a&&!Rn.call(e,n)||Mn(t,n,e[n])})),t},Rn=function(t){var n=m(t,!0),e=On.call(this,n);return!(this===vn&&S(wn,n)&&!S(xn,n))&&(!(e||!S(this,n)||!S(wn,n)||S(this,fn)&&this[fn][n])||e)},Ln=function(t,n){var e=b(t),r=m(n,!0);if(e!==vn||!S(wn,r)||S(xn,r)){var o=mn(e,r);return!o||!S(wn,r)||S(e,fn)&&e[fn][r]||(o.enumerable=!0),o}},Fn=function(t){var n=Sn(b(t)),e=[];return sn(n,(function(t){S(wn,t)||S(W,t)||e.push(t)})),e},Nn=function(t){var n=t===vn,e=Sn(n?xn:b(t)),r=[];return sn(e,(function(t){!S(wn,t)||n&&!S(vn,t)||r.push(wn[t])})),r};if(It||(nt((bn=function(){if(this instanceof bn)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=z(t),e=function(t){this===vn&&e.call(xn,t),S(this,fn)&&S(this[fn],n)&&(this[fn][n]=!1),En(this,n,s(1,t))};return a&&Pn&&En(vn,n,{configurable:!0,set:e}),Cn(n,t)}).prototype,"toString",(function(){return hn(this).tag})),u.f=Rn,E.f=Mn,A.f=Ln,mt.f=Wt.f=Fn,gt.f=Nn,a&&(gn(bn.prototype,"description",{configurable:!0,get:function(){return hn(this).description}}),nt(vn,"propertyIsEnumerable",Rn,{unsafe:!0}))),Mt||(Qt.f=function(t){return Cn(Jt(t),t)}),Ct({global:!0,wrap:!0,forced:!It,sham:!It},{Symbol:bn}),sn(Lt(An),(function(t){Zt(t)})),Ct({target:"Symbol",stat:!0,forced:!It},{for:function(t){var n=String(t);if(S(Tn,n))return Tn[n];var e=bn(n);return Tn[n]=e,jn[e]=n,e},keyFor:function(t){if(!In(t))throw TypeError(t+" is not a symbol");if(S(jn,t))return jn[t]},useSetter:function(){Pn=!0},useSimple:function(){Pn=!1}}),Ct({target:"Object",stat:!0,forced:!It,sham:!a},{create:function(t,n){return void 0===n?$t(t):kn($t(t),n)},defineProperty:Mn,defineProperties:kn,getOwnPropertyDescriptor:Ln}),Ct({target:"Object",stat:!0,forced:!It},{getOwnPropertyNames:Fn,getOwnPropertySymbols:Nn}),Ct({target:"Object",stat:!0,forced:i((function(){gt.f(1)}))},{getOwnPropertySymbols:function(t){return gt.f(Rt(t))}}),yn){var Dn=!It||i((function(){var t=bn();return"[null]"!=yn([t])||"{}"!=yn({a:t})||"{}"!=yn(Object(t))}));Ct({target:"JSON",stat:!0,forced:Dn},{stringify:function(t,n,e){for(var r,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=n,(y(n)||void 0!==t)&&!In(t))return kt(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!In(n))return n}),o[1]=n,yn.apply(null,o)}})}bn.prototype[dn]||C(bn.prototype,dn,bn.prototype.valueOf),en(bn,"Symbol"),W[fn]=!0;var Bn=E.f,Gn=o.Symbol;if(a&&"function"==typeof Gn&&(!("description"in Gn.prototype)||void 0!==Gn().description)){var Vn={},$n=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),n=this instanceof $n?new Gn(t):void 0===t?Gn():Gn(t);return""===t&&(Vn[n]=!0),n};Ot($n,Gn);var zn=$n.prototype=Gn.prototype;zn.constructor=$n;var Un=zn.toString,qn="Symbol(test)"==String(Gn("test")),Wn=/^Symbol\((.*)\)[^)]+$/;Bn(zn,"description",{configurable:!0,get:function(){var t=y(this)?this.valueOf():this,n=Un.call(t);if(S(Vn,t))return"";var e=qn?n.slice(7,-1):n.replace(Wn,"$1");return""===e?void 0:e}}),Ct({global:!0,forced:!0},{Symbol:$n})}Zt("iterator");var Yn,Hn,Kn=function(t,n,e){var r=m(n);r in t?E.f(t,r,s(0,e)):t[r]=e},Jn=ot("navigator","userAgent")||"",Qn=o.process,Xn=Qn&&Qn.versions,Zn=Xn&&Xn.v8;Zn?Hn=(Yn=Zn.split("."))[0]+Yn[1]:Jn&&(!(Yn=Jn.match(/Edge\/(\d+)/))||Yn[1]>=74)&&(Yn=Jn.match(/Chrome\/(\d+)/))&&(Hn=Yn[1]);var te=Hn&&+Hn,ne=Jt("species"),ee=function(t){return te>=51||!i((function(){var n=[];return(n.constructor={})[ne]=function(){return{foo:1}},1!==n[t](Boolean).foo}))},re=Jt("isConcatSpreadable"),oe=te>=51||!i((function(){var t=[];return t[re]=!1,t.concat()[0]!==t})),ie=ee("concat"),ae=function(t){if(!y(t))return!1;var n=t[re];return void 0!==n?!!n:kt(t)};Ct({target:"Array",proto:!0,forced:!oe||!ie},{concat:function(t){var n,e,r,o,i,a=Rt(this),c=an(a,0),l=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?a:arguments[n],ae(i)){if(l+(o=ut(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,l++)e in i&&Kn(c,l,i[e])}else{if(l>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Kn(c,l++,i)}return c.length=l,c}});var ce=un.filter,le=ee("filter"),ue=le&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));Ct({target:"Array",proto:!0,forced:!le||!ue},{filter:function(t){return ce(this,t,arguments.length>1?arguments[1]:void 0)}});var se=Jt("unscopables"),fe=Array.prototype;null==fe[se]&&E.f(fe,se,{configurable:!0,value:$t(null)});var de=function(t){fe[se][t]=!0},pe=un.find,he=!0;"find"in[]&&Array(1).find((function(){he=!1})),Ct({target:"Array",proto:!0,forced:he},{find:function(t){return pe(this,t,arguments.length>1?arguments[1]:void 0)}}),de("find");var ve=pt.includes;Ct({target:"Array",proto:!0},{includes:function(t){return ve(this,t,arguments.length>1?arguments[1]:void 0)}}),de("includes");var be=function(t,n){var e=[][t];return!e||!i((function(){e.call(null,n||function(){throw 1},1)}))},ye=pt.indexOf,me=[].indexOf,ge=!!me&&1/[1].indexOf(1,-0)<0,Se=be("indexOf");Ct({target:"Array",proto:!0,forced:ge||Se},{indexOf:function(t){return ge?me.apply(this,arguments)||0:ye(this,t,arguments.length>1?arguments[1]:void 0)}});var Oe,we,xe,Te=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),je=q("IE_PROTO"),Ae=Object.prototype,_e=Te?Object.getPrototypeOf:function(t){return t=Rt(t),S(t,je)?t[je]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Ae:null},Pe=Jt("iterator"),Ee=!1;[].keys&&("next"in(xe=[].keys())?(we=_e(_e(xe)))!==Object.prototype&&(Oe=we):Ee=!0),null==Oe&&(Oe={}),S(Oe,Pe)||C(Oe,Pe,(function(){return this}));var Ce={IteratorPrototype:Oe,BUGGY_SAFARI_ITERATORS:Ee},Ie=Ce.IteratorPrototype,Me=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return _(e),function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(r),n?t.call(e,r):e.__proto__=r,e}}():void 0),ke=Ce.IteratorPrototype,Re=Ce.BUGGY_SAFARI_ITERATORS,Le=Jt("iterator"),Fe=function(){return this},Ne=function(t,n,e,r,o,i,a){!function(t,n,e){var r=n+" Iterator";t.prototype=$t(Ie,{next:s(1,e)}),en(t,r,!1)}(e,n,r);var c,l,u,f=function(t){if(t===o&&b)return b;if(!Re&&t in h)return h[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},d=n+" Iterator",p=!1,h=t.prototype,v=h[Le]||h["@@iterator"]||o&&h[o],b=!Re&&v||f(o),y="Array"==n&&h.entries||v;if(y&&(c=_e(y.call(new t)),ke!==Object.prototype&&c.next&&(_e(c)!==ke&&(Me?Me(c,ke):"function"!=typeof c[Le]&&C(c,Le,Fe)),en(c,d,!0))),"values"==o&&v&&"values"!==v.name&&(p=!0,b=function(){return v.call(this)}),h[Le]!==b&&C(h,Le,b),o)if(l={values:f("values"),keys:i?b:f("keys"),entries:f("entries")},a)for(u in l)!Re&&!p&&u in h||nt(h,u,l[u]);else Ct({target:n,proto:!0,forced:Re||p},l);return l},De=tt.set,Be=tt.getterFor("Array Iterator"),Ge=Ne(Array,"Array",(function(t,n){De(this,{type:"Array Iterator",target:b(t),index:0,kind:n})}),(function(){var t=Be(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values");de("keys"),de("values"),de("entries");var Ve=[].join,$e=h!=Object,ze=be("join",",");Ct({target:"Array",proto:!0,forced:$e||ze},{join:function(t){return Ve.call(b(this),void 0===t?",":t)}});var Ue=u.f,qe=function(t){return function(n){for(var e,r=b(n),o=Lt(r),i=o.length,c=0,l=[];i>c;)e=o[c++],a&&!Ue.call(r,e)||l.push(t?[e,r[e]]:r[e]);return l}},We={entries:qe(!0),values:qe(!1)}.entries;Ct({target:"Object",stat:!0},{entries:function(t){return We(t)}});var Ye={};Ye[Jt("toStringTag")]="z";var He="[object z]"===String(Ye),Ke=Jt("toStringTag"),Je="Arguments"==d(function(){return arguments}()),Qe=He?d:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),Ke))?e:Je?d(n):"Object"==(r=d(n))&&"function"==typeof n.callee?"Arguments":r},Xe=He?{}.toString:function(){return"[object "+Qe(this)+"]"};He||nt(Object.prototype,"toString",Xe,{unsafe:!0});var Ze=function(){var t=_(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n};function tr(t,n){return RegExp(t,n)}var nr,er,rr={UNSUPPORTED_Y:i((function(){var t=tr("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),BROKEN_CARET:i((function(){var t=tr("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},or=RegExp.prototype.exec,ir=String.prototype.replace,ar=or,cr=(nr=/a/,er=/b*/g,or.call(nr,"a"),or.call(er,"a"),0!==nr.lastIndex||0!==er.lastIndex),lr=rr.UNSUPPORTED_Y||rr.BROKEN_CARET,ur=void 0!==/()??/.exec("")[1];(cr||ur||lr)&&(ar=function(t){var n,e,r,o,i=this,a=lr&&i.sticky,c=Ze.call(i),l=i.source,u=0,s=t;return a&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),s=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(l="(?: "+l+")",s=" "+s,u++),e=new RegExp("^(?:"+l+")",c)),ur&&(e=new RegExp("^"+l+"$(?!\\s)",c)),cr&&(n=i.lastIndex),r=or.call(a?e:i,s),a?r?(r.input=r.input.slice(u),r[0]=r[0].slice(u),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:cr&&r&&(i.lastIndex=i.global?r.index+r[0].length:n),ur&&r&&r.length>1&&ir.call(r[0],e,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r});var sr=ar;Ct({target:"RegExp",proto:!0,forced:/./.exec!==sr},{exec:sr});var fr=Jt("match"),dr=function(t){if(function(t){var n;return y(t)&&(void 0!==(n=t[fr])?!!n:"RegExp"==d(t))}(t))throw TypeError("The method doesn't accept regular expressions");return t},pr=Jt("match");Ct({target:"String",proto:!0,forced:!function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[pr]=!1,"/./"[t](n)}catch(t){}}return!1}("includes")},{includes:function(t){return!!~String(v(this)).indexOf(dr(t),arguments.length>1?arguments[1]:void 0)}});var hr=function(t){return function(n,e){var r,o,i=String(v(n)),a=ct(e),c=i.length;return a<0||a>=c?t?"":void 0:(r=i.charCodeAt(a))<55296||r>56319||a+1===c||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):r:t?i.slice(a,a+2):o-56320+(r-55296<<10)+65536}},vr={codeAt:hr(!1),charAt:hr(!0)}.charAt,br=tt.set,yr=tt.getterFor("String Iterator");Ne(String,"String",(function(t){br(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=yr(this),e=n.string,r=n.index;return r>=e.length?{value:void 0,done:!0}:(t=vr(e,r),n.index+=t.length,{value:t,done:!1})}));var mr=Jt("species"),gr=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),Sr="$0"==="a".replace(/./,"$0"),Or=!i((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]})),wr=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n};!function(t,n,e,r){var o=Jt(t),a=!i((function(){var n={};return n[o]=function(){return 7},7!=""[t](n)})),c=a&&!i((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[mr]=function(){return e},e.flags="",e[o]=/./[o]),e.exec=function(){return n=!0,null},e[o](""),!n}));if(!a||!c||"replace"===t&&(!gr||!Sr)||"split"===t&&!Or){var l=/./[o],u=e(o,""[t],(function(t,n,e,r,o){return n.exec===sr?a&&!o?{done:!0,value:l.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Sr}),s=u[0],f=u[1];nt(String.prototype,t,s),nt(RegExp.prototype,o,2==n?function(t,n){return f.call(t,this,n)}:function(t){return f.call(t,this)})}r&&C(RegExp.prototype[o],"sham",!0)}("search",1,(function(t,n,e){return[function(n){var e=v(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var o=_(t),i=String(this),a=o.lastIndex;wr(a,0)||(o.lastIndex=0);var c=function(t,n){var e=t.exec;if("function"==typeof e){var r=e.call(t,n);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==d(t))throw TypeError("RegExp#exec called on incompatible receiver");return sr.call(t,n)}(o,i);return wr(o.lastIndex,a)||(o.lastIndex=a),null===c?-1:c.index}]}));var xr="\t\n\v\f\r                　\u2028\u2029\ufeff",Tr="["+xr+"]",jr=RegExp("^"+Tr+Tr+"*"),Ar=RegExp(Tr+Tr+"*$"),_r=function(t){return function(n){var e=String(v(n));return 1&t&&(e=e.replace(jr,"")),2&t&&(e=e.replace(Ar,"")),e}},Pr={start:_r(1),end:_r(2),trim:_r(3)},Er=Pr.trim;Ct({target:"String",proto:!0,forced:function(t){return i((function(){return!!xr[t]()||"​᠎"!="​᠎"[t]()||xr[t].name!==t}))}("trim")},{trim:function(){return Er(this)}});var Cr={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},Ir=Jt("iterator"),Mr=Jt("toStringTag"),kr=Ge.values;for(var Rr in Cr){var Lr=o[Rr],Fr=Lr&&Lr.prototype;if(Fr){if(Fr[Ir]!==kr)try{C(Fr,Ir,kr)}catch(t){Fr[Ir]=kr}if(Fr[Mr]||C(Fr,Mr,Rr),Cr[Rr])for(var Nr in Ge)if(Fr[Nr]!==Ge[Nr])try{C(Fr,Nr,Ge[Nr])}catch(t){Fr[Nr]=Ge[Nr]}}}function Dr(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Br(t){return(Br=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Gr(t,n){return(Gr=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function Vr(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function $r(t,n,e){return($r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=Br(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}function zr(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var e=[],r=!0,o=!1,i=void 0;try{for(var a,c=t[Symbol.iterator]();!(r=(a=c.next()).done)&&(e.push(a.value),!n||e.length!==n);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==c.return||c.return()}finally{if(o)throw i}}return e}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ur=t.fn.bootstrapTable.utils,qr={bootstrap3:{icons:{advancedSearchIcon:"glyphicon-chevron-down"},html:{modal:'\n        <div id="avdSearchModal_%s"  class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">\n          <div class="modal-dialog modal-xs">\n            <div class="modal-content">\n              <div class="modal-header">\n                <h4 class="modal-title">%s</h4>\n                <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n                  <span aria-hidden="true">&times;</span>\n                </button>\n              </div>\n              <div class="modal-body modal-body-custom">\n                <div class="container-fluid" id="avdSearchModalContent_%s"\n                  style="padding-right: 0px; padding-left: 0px;" >\n                </div>\n              </div>\n              <div class="modal-footer">\n                <button type="button" id="btnCloseAvd_%s" class="btn btn-%s">%s</button>\n              </div>\n            </div>\n          </div>\n        </div>\n      '}},bootstrap4:{icons:{advancedSearchIcon:"fa-chevron-down"},html:{modal:'\n        <div id="avdSearchModal_%s"  class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">\n          <div class="modal-dialog modal-xs">\n            <div class="modal-content">\n              <div class="modal-header">\n                <h4 class="modal-title">%s</h4>\n                <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n                  <span aria-hidden="true">&times;</span>\n                </button>\n              </div>\n              <div class="modal-body modal-body-custom">\n                <div class="container-fluid" id="avdSearchModalContent_%s"\n                  style="padding-right: 0px; padding-left: 0px;" >\n                </div>\n              </div>\n              <div class="modal-footer">\n                <button type="button" id="btnCloseAvd_%s" class="btn btn-%s">%s</button>\n              </div>\n            </div>\n          </div>\n        </div>\n      '}},bulma:{icons:{advancedSearchIcon:"fa-chevron-down"},html:{modal:'\n        <div class="modal" id="avdSearchModal_%s">\n          <div class="modal-background"></div>\n          <div class="modal-card">\n            <header class="modal-card-head">\n              <p class="modal-card-title">%s</p>\n              <button class="delete" aria-label="close"></button>\n            </header>\n            <section class="modal-card-body" id="avdSearchModalContent_%s"></section>\n            <footer class="modal-card-foot">\n              <button class="button" id="btnCloseAvd_%s" data-close="btn btn-%s">%s</button>\n            </footer>\n          </div>\n        </div>\n      '}},foundation:{icons:{advancedSearchIcon:"fa-chevron-down"},html:{modal:'\n        <div class="reveal" id="avdSearchModal_%s" data-reveal>\n          <h1>%s</h1>\n          <div id="avdSearchModalContent_%s">\n          \n          </div>\n          <button class="close-button" data-close aria-label="Close modal" type="button">\n            <span aria-hidden="true">&times;</span>\n          </button>\n          \n          <button id="btnCloseAvd_%s" class="%s" type="button">%s</button>\n        </div>\n      '}},materialize:{icons:{advancedSearchIcon:"expand_more"},html:{modal:'\n        <div id="avdSearchModal_%s" class="modal">\n          <div class="modal-content">\n            <h4>%s</h4>\n            <div id="avdSearchModalContent_%s">\n            \n            </div>\n          </div>\n          <div class="modal-footer">\n            <a href="javascript:void(0)"" id="btnCloseAvd_%s" class="modal-close waves-effect waves-green btn-flat %s">%s</a>\n          </div>\n        </div>\n      '}},semantic:{icons:{advancedSearchIcon:"fa-chevron-down"},html:{modal:'\n        <div class="ui modal" id="avdSearchModal_%s">\n          <i class="close icon"></i>\n          <div class="header">\n            %s\n          </div>\n          <div class="image content ui form" id="avdSearchModalContent_%s"></div>\n          <div class="actions">\n            <div id="btnCloseAvd_%s" class="ui black deny button %s">%s</div>\n          </div>\n        </div>\n      '}}}[t.fn.bootstrapTable.theme];t.extend(t.fn.bootstrapTable.defaults,{advancedSearch:!1,idForm:"advancedSearch",actionForm:"",idTable:void 0,onColumnAdvancedSearch:function(t,n){return!1}}),t.extend(t.fn.bootstrapTable.defaults.icons,{advancedSearchIcon:qr.icons.advancedSearchIcon}),t.extend(t.fn.bootstrapTable.Constructor.EVENTS,{"column-advanced-search.bs.table":"onColumnAdvancedSearch"}),t.extend(t.fn.bootstrapTable.locales,{formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}}),t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales),t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),Vr(this,Br(e).apply(this,arguments))}var r,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&Gr(t,n)}(e,n),r=e,(o=[{key:"initToolbar",value:function(){var t=this,n=this.options;this.showToolbar=this.showToolbar||n.search&&n.advancedSearch&&n.idTable,$r(Br(e.prototype),"initToolbar",this).call(this),n.search&&n.advancedSearch&&n.idTable&&(this.$toolbar.find(">.columns").append('\n      <button class="'.concat(this.constants.buttonsClass,' "\n        type="button"\n        name="advancedSearch"\n        aria-label="advanced search"\n        title="').concat(n.formatAdvancedSearch(),'">\n        ').concat(this.options.showButtonIcons?Ur.sprintf(this.constants.html.icon,n.iconsPrefix,n.icons.advancedSearchIcon):"","\n        ").concat(this.options.showButtonText?this.options.formatAdvancedSearch():"","\n      </button>\n    ")),this.$toolbar.find('button[name="advancedSearch"]').off("click").on("click",(function(){return t.showAvdSearch()})))}},{key:"showAvdSearch",value:function(){var n=this,e=this.options,r="#avdSearchModal_"+e.idTable;if(t(r).length<=0){t("body").append(Ur.sprintf(qr.html.modal,e.idTable,e.formatAdvancedSearch(),e.idTable,e.idTable,e.buttonsClass,e.formatAdvancedCloseButton()));var o=0;t("#avdSearchModalContent_".concat(e.idTable)).append(this.createFormAvd().join("")),t("#".concat(e.idForm)).off("keyup blur","input").on("keyup blur","input",(function(t){"server"===e.sidePagination?n.onColumnAdvancedSearch(t):(clearTimeout(o),o=setTimeout((function(){n.onColumnAdvancedSearch(t)}),e.searchTimeOut))})),t("#btnCloseAvd_".concat(e.idTable)).click((function(){return n.hideModal()})),"bulma"===t.fn.bootstrapTable.theme&&t(r).find(".delete").off("click").on("click",(function(){return n.hideModal()})),this.showModal()}else this.showModal()}},{key:"showModal",value:function(){var n="#avdSearchModal_"+this.options.idTable;-1!==t.inArray(t.fn.bootstrapTable.theme,["bootstrap3","bootstrap4"])?t(n).modal():"bulma"===t.fn.bootstrapTable.theme?t(n).toggleClass("is-active"):"foundation"===t.fn.bootstrapTable.theme?(this.toolbarModal||(this.toolbarModal=new Foundation.Reveal(t(n))),this.toolbarModal.open()):"materialize"===t.fn.bootstrapTable.theme?(t(n).modal(),t(n).modal("open")):"semantic"===t.fn.bootstrapTable.theme&&t(n).modal("show")}},{key:"hideModal",value:function(){var n=t("#avdSearchModal_".concat(this.options.idTable)),e="#avdSearchModal_"+this.options.idTable;-1!==t.inArray(t.fn.bootstrapTable.theme,["bootstrap3","bootstrap4"])?n.modal("hide"):"bulma"===t.fn.bootstrapTable.theme?(t("html").toggleClass("is-clipped"),t(e).toggleClass("is-active")):"foundation"===t.fn.bootstrapTable.theme?this.toolbarModal.close():"materialize"===t.fn.bootstrapTable.theme?t(e).modal("open"):"semantic"===t.fn.bootstrapTable.theme&&t(e).modal("close"),"server"===this.options.sidePagination&&(this.options.pageNumber=1,this.updatePagination(),this.trigger("column-advanced-search",this.filterColumnsPartial))}},{key:"createFormAvd",value:function(){var t=this.options,n=['<form class="form-horizontal" id="'.concat(t.idForm,'" action="').concat(t.actionForm,'">')],e=!0,r=!1,o=void 0;try{for(var i,a=this.columns[Symbol.iterator]();!(e=(i=a.next()).done);e=!0){var c=i.value;!c.checkbox&&c.visible&&c.searchable&&n.push('\n          <div class="form-group row">\n            <label class="col-sm-4 control-label">'.concat(c.title,'</label>\n            <div class="col-sm-6">\n              <input type="text" class="form-control ').concat(this.constants.classes.input,'" name="').concat(c.field,'" placeholder="').concat(c.title,'" id="').concat(c.field,'">\n            </div>\n          </div>\n        '))}}catch(t){r=!0,o=t}finally{try{e||null==a.return||a.return()}finally{if(r)throw o}}return n.push("</form>"),n}},{key:"initSearch",value:function(){var n=this;if($r(Br(e.prototype),"initSearch",this).call(this),this.options.advancedSearch&&"server"!==this.options.sidePagination){var r=t.isEmptyObject(this.filterColumnsPartial)?null:this.filterColumnsPartial;this.data=r?this.data.filter((function(t,e){for(var o=0,i=Object.entries(r);o<i.length;o++){var a=zr(i[o],2),c=a[0],l=a[1].toLowerCase(),u=t[c],s=n.header.fields.indexOf(c);if(u=Ur.calculateObjectValue(n.header,n.header.formatters[s],[u,t,e],u),-1===s||"string"!=typeof u&&"number"!=typeof u||!"".concat(u).toLowerCase().includes(l))return!1}return!0})):this.data}}},{key:"onColumnAdvancedSearch",value:function(n){var e=t.trim(t(n.currentTarget).val()),r=t(n.currentTarget)[0].id;t.isEmptyObject(this.filterColumnsPartial)&&(this.filterColumnsPartial={}),e?this.filterColumnsPartial[r]=e:delete this.filterColumnsPartial[r],"server"!==this.options.sidePagination&&(this.options.pageNumber=1,this.onSearch(n),this.updatePagination(),this.trigger("column-advanced-search",r,e))}}])&&Dr(r.prototype,o),i&&Dr(r,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js b/server/target/classes/static/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js
deleted file mode 100644
index 307e331..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js
+++ /dev/null
@@ -1,1910 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
-
-	var toString$1 = {}.toString;
-
-	var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-	  ? Object.getOwnPropertyNames(window) : [];
-
-	var getWindowNames = function (it) {
-	  try {
-	    return nativeGetOwnPropertyNames(it);
-	  } catch (error) {
-	    return windowNames.slice();
-	  }
-	};
-
-	// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-	var f$5 = function getOwnPropertyNames(it) {
-	  return windowNames && toString$1.call(it) == '[object Window]'
-	    ? getWindowNames(it)
-	    : nativeGetOwnPropertyNames(toIndexedObject(it));
-	};
-
-	var objectGetOwnPropertyNamesExternal = {
-		f: f$5
-	};
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var f$6 = wellKnownSymbol;
-
-	var wrappedWellKnownSymbol = {
-		f: f$6
-	};
-
-	var defineProperty = objectDefineProperty.f;
-
-	var defineWellKnownSymbol = function (NAME) {
-	  var Symbol = path.Symbol || (path.Symbol = {});
-	  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
-	    value: wrappedWellKnownSymbol.f(NAME)
-	  });
-	};
-
-	var defineProperty$1 = objectDefineProperty.f;
-
-
-
-	var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
-	var setToStringTag = function (it, TAG, STATIC) {
-	  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-	    defineProperty$1(it, TO_STRING_TAG, { configurable: true, value: TAG });
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	var $forEach = arrayIteration.forEach;
-
-	var HIDDEN = sharedKey('hidden');
-	var SYMBOL = 'Symbol';
-	var PROTOTYPE$1 = 'prototype';
-	var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-	var setInternalState = internalState.set;
-	var getInternalState = internalState.getterFor(SYMBOL);
-	var ObjectPrototype = Object[PROTOTYPE$1];
-	var $Symbol = global_1.Symbol;
-	var $stringify = getBuiltIn('JSON', 'stringify');
-	var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-	var nativeDefineProperty$1 = objectDefineProperty.f;
-	var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
-	var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
-	var AllSymbols = shared('symbols');
-	var ObjectPrototypeSymbols = shared('op-symbols');
-	var StringToSymbolRegistry = shared('string-to-symbol-registry');
-	var SymbolToStringRegistry = shared('symbol-to-string-registry');
-	var WellKnownSymbolsStore$1 = shared('wks');
-	var QObject = global_1.QObject;
-	// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-	var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild;
-
-	// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-	var setSymbolDescriptor = descriptors && fails(function () {
-	  return objectCreate(nativeDefineProperty$1({}, 'a', {
-	    get: function () { return nativeDefineProperty$1(this, 'a', { value: 7 }).a; }
-	  })).a != 7;
-	}) ? function (O, P, Attributes) {
-	  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
-	  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
-	  nativeDefineProperty$1(O, P, Attributes);
-	  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-	    nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
-	  }
-	} : nativeDefineProperty$1;
-
-	var wrap = function (tag, description) {
-	  var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
-	  setInternalState(symbol, {
-	    type: SYMBOL,
-	    tag: tag,
-	    description: description
-	  });
-	  if (!descriptors) symbol.description = description;
-	  return symbol;
-	};
-
-	var isSymbol = nativeSymbol && typeof $Symbol.iterator == 'symbol' ? function (it) {
-	  return typeof it == 'symbol';
-	} : function (it) {
-	  return Object(it) instanceof $Symbol;
-	};
-
-	var $defineProperty = function defineProperty(O, P, Attributes) {
-	  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
-	  anObject(O);
-	  var key = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (has(AllSymbols, key)) {
-	    if (!Attributes.enumerable) {
-	      if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
-	      O[HIDDEN][key] = true;
-	    } else {
-	      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
-	      Attributes = objectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-	    } return setSymbolDescriptor(O, key, Attributes);
-	  } return nativeDefineProperty$1(O, key, Attributes);
-	};
-
-	var $defineProperties = function defineProperties(O, Properties) {
-	  anObject(O);
-	  var properties = toIndexedObject(Properties);
-	  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
-	  $forEach(keys, function (key) {
-	    if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
-	  });
-	  return O;
-	};
-
-	var $create = function create(O, Properties) {
-	  return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
-	};
-
-	var $propertyIsEnumerable = function propertyIsEnumerable(V) {
-	  var P = toPrimitive(V, true);
-	  var enumerable = nativePropertyIsEnumerable$1.call(this, P);
-	  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
-	  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-	};
-
-	var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
-	  var it = toIndexedObject(O);
-	  var key = toPrimitive(P, true);
-	  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
-	  var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-	  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-	    descriptor.enumerable = true;
-	  }
-	  return descriptor;
-	};
-
-	var $getOwnPropertyNames = function getOwnPropertyNames(O) {
-	  var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
-	  });
-	  return result;
-	};
-
-	var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
-	  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
-	  var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
-	  var result = [];
-	  $forEach(names, function (key) {
-	    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-	      result.push(AllSymbols[key]);
-	    }
-	  });
-	  return result;
-	};
-
-	// `Symbol` constructor
-	// https://tc39.github.io/ecma262/#sec-symbol-constructor
-	if (!nativeSymbol) {
-	  $Symbol = function Symbol() {
-	    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
-	    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var tag = uid(description);
-	    var setter = function (value) {
-	      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
-	      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-	      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-	    };
-	    if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
-	    return wrap(tag, description);
-	  };
-
-	  redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
-	    return getInternalState(this).tag;
-	  });
-
-	  objectPropertyIsEnumerable.f = $propertyIsEnumerable;
-	  objectDefineProperty.f = $defineProperty;
-	  objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
-	  objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
-	  objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
-	  if (descriptors) {
-	    // https://github.com/tc39/proposal-Symbol-description
-	    nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
-	      configurable: true,
-	      get: function description() {
-	        return getInternalState(this).description;
-	      }
-	    });
-	    {
-	      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-	    }
-	  }
-	}
-
-	if (!useSymbolAsUid) {
-	  wrappedWellKnownSymbol.f = function (name) {
-	    return wrap(wellKnownSymbol(name), name);
-	  };
-	}
-
-	_export({ global: true, wrap: true, forced: !nativeSymbol, sham: !nativeSymbol }, {
-	  Symbol: $Symbol
-	});
-
-	$forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
-	  defineWellKnownSymbol(name);
-	});
-
-	_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
-	  // `Symbol.for` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.for
-	  'for': function (key) {
-	    var string = String(key);
-	    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
-	    var symbol = $Symbol(string);
-	    StringToSymbolRegistry[string] = symbol;
-	    SymbolToStringRegistry[symbol] = string;
-	    return symbol;
-	  },
-	  // `Symbol.keyFor` method
-	  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
-	  keyFor: function keyFor(sym) {
-	    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
-	    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
-	  },
-	  useSetter: function () { USE_SETTER = true; },
-	  useSimple: function () { USE_SETTER = false; }
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol, sham: !descriptors }, {
-	  // `Object.create` method
-	  // https://tc39.github.io/ecma262/#sec-object.create
-	  create: $create,
-	  // `Object.defineProperty` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperty
-	  defineProperty: $defineProperty,
-	  // `Object.defineProperties` method
-	  // https://tc39.github.io/ecma262/#sec-object.defineproperties
-	  defineProperties: $defineProperties,
-	  // `Object.getOwnPropertyDescriptor` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-	  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-	});
-
-	_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
-	  // `Object.getOwnPropertyNames` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	  getOwnPropertyNames: $getOwnPropertyNames,
-	  // `Object.getOwnPropertySymbols` method
-	  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
-	  getOwnPropertySymbols: $getOwnPropertySymbols
-	});
-
-	// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-	// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-	_export({ target: 'Object', stat: true, forced: fails(function () { objectGetOwnPropertySymbols.f(1); }) }, {
-	  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-	    return objectGetOwnPropertySymbols.f(toObject(it));
-	  }
-	});
-
-	// `JSON.stringify` method behavior with symbols
-	// https://tc39.github.io/ecma262/#sec-json.stringify
-	if ($stringify) {
-	  var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
-	    var symbol = $Symbol();
-	    // MS Edge converts symbol values to JSON as {}
-	    return $stringify([symbol]) != '[null]'
-	      // WebKit converts symbol values to JSON as null
-	      || $stringify({ a: symbol }) != '{}'
-	      // V8 throws on boxed symbols
-	      || $stringify(Object(symbol)) != '{}';
-	  });
-
-	  _export({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
-	    // eslint-disable-next-line no-unused-vars
-	    stringify: function stringify(it, replacer, space) {
-	      var args = [it];
-	      var index = 1;
-	      var $replacer;
-	      while (arguments.length > index) args.push(arguments[index++]);
-	      $replacer = replacer;
-	      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-	      if (!isArray(replacer)) replacer = function (key, value) {
-	        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-	        if (!isSymbol(value)) return value;
-	      };
-	      args[1] = replacer;
-	      return $stringify.apply(null, args);
-	    }
-	  });
-	}
-
-	// `Symbol.prototype[@@toPrimitive]` method
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-	if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
-	  createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
-	}
-	// `Symbol.prototype[@@toStringTag]` property
-	// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-	setToStringTag($Symbol, SYMBOL);
-
-	hiddenKeys[HIDDEN] = true;
-
-	var defineProperty$2 = objectDefineProperty.f;
-
-
-	var NativeSymbol = global_1.Symbol;
-
-	if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
-	  // Safari 12 bug
-	  NativeSymbol().description !== undefined
-	)) {
-	  var EmptyStringDescriptionStore = {};
-	  // wrap Symbol constructor for correct work with undefined description
-	  var SymbolWrapper = function Symbol() {
-	    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-	    var result = this instanceof SymbolWrapper
-	      ? new NativeSymbol(description)
-	      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
-	      : description === undefined ? NativeSymbol() : NativeSymbol(description);
-	    if (description === '') EmptyStringDescriptionStore[result] = true;
-	    return result;
-	  };
-	  copyConstructorProperties(SymbolWrapper, NativeSymbol);
-	  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
-	  symbolPrototype.constructor = SymbolWrapper;
-
-	  var symbolToString = symbolPrototype.toString;
-	  var native = String(NativeSymbol('test')) == 'Symbol(test)';
-	  var regexp = /^Symbol\((.*)\)[^)]+$/;
-	  defineProperty$2(symbolPrototype, 'description', {
-	    configurable: true,
-	    get: function description() {
-	      var symbol = isObject(this) ? this.valueOf() : this;
-	      var string = symbolToString.call(symbol);
-	      if (has(EmptyStringDescriptionStore, symbol)) return '';
-	      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-	      return desc === '' ? undefined : desc;
-	    }
-	  });
-
-	  _export({ global: true, forced: true }, {
-	    Symbol: SymbolWrapper
-	  });
-	}
-
-	// `Symbol.iterator` well-known symbol
-	// https://tc39.github.io/ecma262/#sec-symbol.iterator
-	defineWellKnownSymbol('iterator');
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	var $filter = arrayIteration.filter;
-
-
-
-	var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
-	// Edge 14- issue
-	var USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {
-	  [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });
-	});
-
-	// `Array.prototype.filter` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	// with adding support of @@species
-	_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
-	  filter: function filter(callbackfn /* , thisArg */) {
-	    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var correctPrototypeGetter = !fails(function () {
-	  function F() { /* empty */ }
-	  F.prototype.constructor = null;
-	  return Object.getPrototypeOf(new F()) !== F.prototype;
-	});
-
-	var IE_PROTO$1 = sharedKey('IE_PROTO');
-	var ObjectPrototype$1 = Object.prototype;
-
-	// `Object.getPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.getprototypeof
-	var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
-	  O = toObject(O);
-	  if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-	  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-	    return O.constructor.prototype;
-	  } return O instanceof Object ? ObjectPrototype$1 : null;
-	};
-
-	var ITERATOR = wellKnownSymbol('iterator');
-	var BUGGY_SAFARI_ITERATORS = false;
-
-	var returnThis = function () { return this; };
-
-	// `%IteratorPrototype%` object
-	// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-	var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
-	if ([].keys) {
-	  arrayIterator = [].keys();
-	  // Safari 8 has buggy iterators w/o `next`
-	  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
-	  else {
-	    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
-	    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
-	  }
-	}
-
-	if (IteratorPrototype == undefined) IteratorPrototype = {};
-
-	// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-	if ( !has(IteratorPrototype, ITERATOR)) {
-	  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-	}
-
-	var iteratorsCore = {
-	  IteratorPrototype: IteratorPrototype,
-	  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-	};
-
-	var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
-	var createIteratorConstructor = function (IteratorConstructor, NAME, next) {
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });
-	  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
-	  return IteratorConstructor;
-	};
-
-	var aPossiblePrototype = function (it) {
-	  if (!isObject(it) && it !== null) {
-	    throw TypeError("Can't set " + String(it) + ' as a prototype');
-	  } return it;
-	};
-
-	// `Object.setPrototypeOf` method
-	// https://tc39.github.io/ecma262/#sec-object.setprototypeof
-	// Works with __proto__ only. Old v8 can't work with null proto objects.
-	/* eslint-disable no-proto */
-	var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
-	  var CORRECT_SETTER = false;
-	  var test = {};
-	  var setter;
-	  try {
-	    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-	    setter.call(test, []);
-	    CORRECT_SETTER = test instanceof Array;
-	  } catch (error) { /* empty */ }
-	  return function setPrototypeOf(O, proto) {
-	    anObject(O);
-	    aPossiblePrototype(proto);
-	    if (CORRECT_SETTER) setter.call(O, proto);
-	    else O.__proto__ = proto;
-	    return O;
-	  };
-	}() : undefined);
-
-	var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
-	var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
-	var ITERATOR$1 = wellKnownSymbol('iterator');
-	var KEYS = 'keys';
-	var VALUES = 'values';
-	var ENTRIES = 'entries';
-
-	var returnThis$1 = function () { return this; };
-
-	var defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
-	  createIteratorConstructor(IteratorConstructor, NAME, next);
-
-	  var getIterationMethod = function (KIND) {
-	    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
-	    if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-	    switch (KIND) {
-	      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
-	      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
-	      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
-	    } return function () { return new IteratorConstructor(this); };
-	  };
-
-	  var TO_STRING_TAG = NAME + ' Iterator';
-	  var INCORRECT_VALUES_NAME = false;
-	  var IterablePrototype = Iterable.prototype;
-	  var nativeIterator = IterablePrototype[ITERATOR$1]
-	    || IterablePrototype['@@iterator']
-	    || DEFAULT && IterablePrototype[DEFAULT];
-	  var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
-	  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
-	  var CurrentIteratorPrototype, methods, KEY;
-
-	  // fix native
-	  if (anyNativeIterator) {
-	    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-	    if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
-	      if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
-	        if (objectSetPrototypeOf) {
-	          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
-	        } else if (typeof CurrentIteratorPrototype[ITERATOR$1] != 'function') {
-	          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$1, returnThis$1);
-	        }
-	      }
-	      // Set @@toStringTag to native iterators
-	      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
-	    }
-	  }
-
-	  // fix Array#{values, @@iterator}.name in V8 / FF
-	  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-	    INCORRECT_VALUES_NAME = true;
-	    defaultIterator = function values() { return nativeIterator.call(this); };
-	  }
-
-	  // define iterator
-	  if ( IterablePrototype[ITERATOR$1] !== defaultIterator) {
-	    createNonEnumerableProperty(IterablePrototype, ITERATOR$1, defaultIterator);
-	  }
-
-	  // export additional methods
-	  if (DEFAULT) {
-	    methods = {
-	      values: getIterationMethod(VALUES),
-	      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-	      entries: getIterationMethod(ENTRIES)
-	    };
-	    if (FORCED) for (KEY in methods) {
-	      if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-	        redefine(IterablePrototype, KEY, methods[KEY]);
-	      }
-	    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME }, methods);
-	  }
-
-	  return methods;
-	};
-
-	var ARRAY_ITERATOR = 'Array Iterator';
-	var setInternalState$1 = internalState.set;
-	var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);
-
-	// `Array.prototype.entries` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.entries
-	// `Array.prototype.keys` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.keys
-	// `Array.prototype.values` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.values
-	// `Array.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
-	// `CreateArrayIterator` internal method
-	// https://tc39.github.io/ecma262/#sec-createarrayiterator
-	var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
-	  setInternalState$1(this, {
-	    type: ARRAY_ITERATOR,
-	    target: toIndexedObject(iterated), // target
-	    index: 0,                          // next index
-	    kind: kind                         // kind
-	  });
-	// `%ArrayIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
-	}, function () {
-	  var state = getInternalState$1(this);
-	  var target = state.target;
-	  var kind = state.kind;
-	  var index = state.index++;
-	  if (!target || index >= target.length) {
-	    state.target = undefined;
-	    return { value: undefined, done: true };
-	  }
-	  if (kind == 'keys') return { value: index, done: false };
-	  if (kind == 'values') return { value: target[index], done: false };
-	  return { value: [index, target[index]], done: false };
-	}, 'values');
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables('keys');
-	addToUnscopables('values');
-	addToUnscopables('entries');
-
-	var sloppyArrayMethod = function (METHOD_NAME, argument) {
-	  var method = [][METHOD_NAME];
-	  return !method || !fails(function () {
-	    // eslint-disable-next-line no-useless-call,no-throw-literal
-	    method.call(null, argument || function () { throw 1; }, 1);
-	  });
-	};
-
-	var nativeJoin = [].join;
-
-	var ES3_STRINGS = indexedObject != Object;
-	var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
-
-	// `Array.prototype.join` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.join
-	_export({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
-	  join: function join(separator) {
-	    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
-	  }
-	});
-
-	var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
-	var test = {};
-
-	test[TO_STRING_TAG$1] = 'z';
-
-	var toStringTagSupport = String(test) === '[object z]';
-
-	var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');
-	// ES3 wrong here
-	var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
-
-	// fallback for IE11 Script Access Denied error
-	var tryGet = function (it, key) {
-	  try {
-	    return it[key];
-	  } catch (error) { /* empty */ }
-	};
-
-	// getting tag from ES6+ `Object.prototype.toString`
-	var classof = toStringTagSupport ? classofRaw : function (it) {
-	  var O, tag, result;
-	  return it === undefined ? 'Undefined' : it === null ? 'Null'
-	    // @@toStringTag case
-	    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag
-	    // builtinTag case
-	    : CORRECT_ARGUMENTS ? classofRaw(O)
-	    // ES3 arguments fallback
-	    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-	};
-
-	// `Object.prototype.toString` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	var objectToString = toStringTagSupport ? {}.toString : function toString() {
-	  return '[object ' + classof(this) + ']';
-	};
-
-	// `Object.prototype.toString` method
-	// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-	if (!toStringTagSupport) {
-	  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });
-	}
-
-	// `String.prototype.{ codePointAt, at }` methods implementation
-	var createMethod$2 = function (CONVERT_TO_STRING) {
-	  return function ($this, pos) {
-	    var S = String(requireObjectCoercible($this));
-	    var position = toInteger(pos);
-	    var size = S.length;
-	    var first, second;
-	    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
-	    first = S.charCodeAt(position);
-	    return first < 0xD800 || first > 0xDBFF || position + 1 === size
-	      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
-	        ? CONVERT_TO_STRING ? S.charAt(position) : first
-	        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
-	  };
-	};
-
-	var stringMultibyte = {
-	  // `String.prototype.codePointAt` method
-	  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-	  codeAt: createMethod$2(false),
-	  // `String.prototype.at` method
-	  // https://github.com/mathiasbynens/String.prototype.at
-	  charAt: createMethod$2(true)
-	};
-
-	var charAt = stringMultibyte.charAt;
-
-
-
-	var STRING_ITERATOR = 'String Iterator';
-	var setInternalState$2 = internalState.set;
-	var getInternalState$2 = internalState.getterFor(STRING_ITERATOR);
-
-	// `String.prototype[@@iterator]` method
-	// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-	defineIterator(String, 'String', function (iterated) {
-	  setInternalState$2(this, {
-	    type: STRING_ITERATOR,
-	    string: String(iterated),
-	    index: 0
-	  });
-	// `%StringIteratorPrototype%.next` method
-	// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
-	}, function next() {
-	  var state = getInternalState$2(this);
-	  var string = state.string;
-	  var index = state.index;
-	  var point;
-	  if (index >= string.length) return { value: undefined, done: true };
-	  point = charAt(string, index);
-	  state.index += point.length;
-	  return { value: point, done: false };
-	});
-
-	// iterable DOM collections
-	// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
-	var domIterables = {
-	  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
-	};
-
-	var ITERATOR$2 = wellKnownSymbol('iterator');
-	var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
-	var ArrayValues = es_array_iterator.values;
-
-	for (var COLLECTION_NAME in domIterables) {
-	  var Collection = global_1[COLLECTION_NAME];
-	  var CollectionPrototype = Collection && Collection.prototype;
-	  if (CollectionPrototype) {
-	    // some Chrome versions have non-configurable methods on DOMTokenList
-	    if (CollectionPrototype[ITERATOR$2] !== ArrayValues) try {
-	      createNonEnumerableProperty(CollectionPrototype, ITERATOR$2, ArrayValues);
-	    } catch (error) {
-	      CollectionPrototype[ITERATOR$2] = ArrayValues;
-	    }
-	    if (!CollectionPrototype[TO_STRING_TAG$3]) {
-	      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG$3, COLLECTION_NAME);
-	    }
-	    if (domIterables[COLLECTION_NAME]) for (var METHOD_NAME in es_array_iterator) {
-	      // some Chrome versions have non-configurable methods on DOMTokenList
-	      if (CollectionPrototype[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
-	        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, es_array_iterator[METHOD_NAME]);
-	      } catch (error) {
-	        CollectionPrototype[METHOD_NAME] = es_array_iterator[METHOD_NAME];
-	      }
-	    }
-	  }
-	}
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author: YL
-	 * @update: zhixin wen <wenzhixin2010@gmail.com>
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  treeEnable: false,
-	  treeShowField: null,
-	  idField: 'id',
-	  parentIdField: 'pid',
-	  rootParentId: null
-	});
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "init",
-	    value: function init() {
-	      var _get2;
-
-	      this._rowStyle = this.options.rowStyle;
-
-	      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-	        args[_key] = arguments[_key];
-	      }
-
-	      (_get2 = _get(_getPrototypeOf(_class.prototype), "init", this)).call.apply(_get2, [this].concat(args));
-	    }
-	  }, {
-	    key: "initHeader",
-	    value: function initHeader() {
-	      var _get3;
-
-	      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-	        args[_key2] = arguments[_key2];
-	      }
-
-	      (_get3 = _get(_getPrototypeOf(_class.prototype), "initHeader", this)).call.apply(_get3, [this].concat(args));
-
-	      var treeShowField = this.options.treeShowField;
-
-	      if (treeShowField) {
-	        var _iteratorNormalCompletion = true;
-	        var _didIteratorError = false;
-	        var _iteratorError = undefined;
-
-	        try {
-	          for (var _iterator = this.header.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-	            var field = _step.value;
-
-	            if (treeShowField === field) {
-	              this.treeEnable = true;
-	              break;
-	            }
-	          }
-	        } catch (err) {
-	          _didIteratorError = true;
-	          _iteratorError = err;
-	        } finally {
-	          try {
-	            if (!_iteratorNormalCompletion && _iterator.return != null) {
-	              _iterator.return();
-	            }
-	          } finally {
-	            if (_didIteratorError) {
-	              throw _iteratorError;
-	            }
-	          }
-	        }
-	      }
-	    }
-	  }, {
-	    key: "initBody",
-	    value: function initBody() {
-	      var _get4;
-
-	      if (this.treeEnable) {
-	        this.options.virtualScroll = false;
-	      }
-
-	      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
-	        args[_key3] = arguments[_key3];
-	      }
-
-	      (_get4 = _get(_getPrototypeOf(_class.prototype), "initBody", this)).call.apply(_get4, [this].concat(args));
-	    }
-	  }, {
-	    key: "initTr",
-	    value: function initTr(item, idx, data, parentDom) {
-	      var _this = this;
-
-	      var nodes = data.filter(function (it) {
-	        return item[_this.options.idField] === it[_this.options.parentIdField];
-	      });
-	      parentDom.append(_get(_getPrototypeOf(_class.prototype), "initRow", this).call(this, item, idx, data, parentDom)); // init sub node
-
-	      var len = nodes.length - 1;
-
-	      for (var i = 0; i <= len; i++) {
-	        var node = nodes[i];
-	        var defaultItem = $.extend(true, {}, item);
-	        node._level = defaultItem._level + 1;
-	        node._parent = defaultItem;
-
-	        if (i === len) {
-	          node._last = 1;
-	        } // jquery.treegrid.js
-
-
-	        this.options.rowStyle = function (item, idx) {
-	          var res = _this._rowStyle(item, idx);
-
-	          var id = item[_this.options.idField] ? item[_this.options.idField] : 0;
-	          var pid = item[_this.options.parentIdField] ? item[_this.options.parentIdField] : 0;
-	          res.classes = [res.classes || '', "treegrid-".concat(id), "treegrid-parent-".concat(pid)].join(' ');
-	          return res;
-	        };
-
-	        this.initTr(node, $.inArray(node, data), data, parentDom);
-	      }
-	    }
-	  }, {
-	    key: "initRow",
-	    value: function initRow(item, idx, data, parentDom) {
-	      var _this2 = this;
-
-	      if (this.treeEnable) {
-	        if (this.options.rootParentId === item[this.options.parentIdField] || !item[this.options.parentIdField]) {
-	          if (item._level === undefined) {
-	            item._level = 0;
-	          } // jquery.treegrid.js
-
-
-	          this.options.rowStyle = function (item, idx) {
-	            var res = _this2._rowStyle(item, idx);
-
-	            var x = item[_this2.options.idField] ? item[_this2.options.idField] : 0;
-	            res.classes = [res.classes || '', "treegrid-".concat(x)].join(' ');
-	            return res;
-	          };
-
-	          this.initTr(item, idx, data, parentDom);
-	          return true;
-	        }
-
-	        return false;
-	      }
-
-	      return _get(_getPrototypeOf(_class.prototype), "initRow", this).call(this, item, idx, data, parentDom);
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.min.js b/server/target/classes/static/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.min.js
deleted file mode 100644
index 7c06419..0000000
--- a/server/target/classes/static/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var n=function(t){return t&&t.Math==Math&&t},o=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var e=a(this,t);return!!e&&e.enumerable}:c},l=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return d(v(t))},g=function(t){return"object"==typeof t?null!==t:"function"==typeof t},b=function(t,e){if(!g(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!g(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!g(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},S={}.hasOwnProperty,m=function(t,e){return S.call(t,e)},w=o.document,O=g(w)&&g(w.createElement),j=function(t){return O?w.createElement(t):{}},T=!u&&!i((function(){return 7!=Object.defineProperty(j("div"),"a",{get:function(){return 7}}).a})),P=Object.getOwnPropertyDescriptor,_={f:u?P:function(t,e){if(t=h(t),e=b(e,!0),T)try{return P(t,e)}catch(t){}if(m(t,e))return l(!f.f.call(t,e),t[e])}},A=function(t){if(!g(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,I={f:u?E:function(t,e,r){if(A(t),e=b(e,!0),A(r),T)try{return E(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},L=u?function(t,e,r){return I.f(t,e,l(1,r))}:function(t,e,r){return t[e]=r,t},x=function(t,e){try{L(o,t,e)}catch(r){o[t]=e}return e},F=o["__core-js_shared__"]||x("__core-js_shared__",{}),k=Function.toString;"function"!=typeof F.inspectSource&&(F.inspectSource=function(t){return k.call(t)});var M,R,C,N=F.inspectSource,G=o.WeakMap,D="function"==typeof G&&/native code/.test(N(G)),B=r((function(t){(t.exports=function(t,e){return F[t]||(F[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),V=0,H=Math.random(),q=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++V+H).toString(36)},z=B("keys"),W=function(t){return z[t]||(z[t]=q(t))},U={},Y=o.WeakMap;if(D){var J=new Y,Q=J.get,$=J.has,K=J.set;M=function(t,e){return K.call(J,t,e),e},R=function(t){return Q.call(J,t)||{}},C=function(t){return $.call(J,t)}}else{var X=W("state");U[X]=!0,M=function(t,e){return L(t,X,e),e},R=function(t){return m(t,X)?t[X]:{}},C=function(t){return m(t,X)}}var Z,tt={set:M,get:R,has:C,enforce:function(t){return C(t)?R(t):M(t,{})},getterFor:function(t){return function(e){var r;if(!g(e)||(r=R(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},et=r((function(t){var e=tt.get,r=tt.enforce,n=String(String).split("String");(t.exports=function(t,e,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof e||m(i,"name")||L(i,"name",e),r(i).source=n.join("string"==typeof e?e:"")),t!==o?(c?!f&&t[e]&&(a=!0):delete t[e],a?t[e]=i:L(t,e,i)):a?t[e]=i:x(e,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&e(this).source||N(this)}))})),rt=o,nt=function(t){return"function"==typeof t?t:void 0},ot=function(t,e){return arguments.length<2?nt(rt[t])||nt(o[t]):rt[t]&&rt[t][e]||o[t]&&o[t][e]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},at=Math.min,ft=function(t){return t>0?at(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(e,r,n){var o,i=h(e),u=ft(i.length),c=function(t,e){var r=ct(t);return r<0?lt(r+e,0):st(r,e)}(n,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=function(t,e){var r,n=h(t),o=0,i=[];for(r in n)!m(U,r)&&m(n,r)&&i.push(r);for(;e.length>o;)m(n,r=e[o++])&&(~yt(i,r)||i.push(r));return i},vt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ht=vt.concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return dt(t,ht)}},bt={f:Object.getOwnPropertySymbols},St=ot("Reflect","ownKeys")||function(t){var e=gt.f(A(t)),r=bt.f;return r?e.concat(r(t)):e},mt=function(t,e){for(var r=St(e),n=I.f,o=_.f,i=0;i<r.length;i++){var u=r[i];m(t,u)||n(t,u,o(e,u))}},wt=/#|\.prototype\./,Ot=function(t,e){var r=Tt[jt(t)];return r==_t||r!=Pt&&("function"==typeof e?i(e):!!e)},jt=Ot.normalize=function(t){return String(t).replace(wt,".").toLowerCase()},Tt=Ot.data={},Pt=Ot.NATIVE="N",_t=Ot.POLYFILL="P",At=Ot,Et=_.f,It=function(t,e){var r,n,i,u,c,a=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[a]||x(a,{}):(o[a]||{}).prototype)for(n in e){if(u=e[n],i=t.noTargetGet?(c=Et(r,n))&&c.value:r[n],!At(f?n:a+(l?".":"#")+n,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;mt(u,i)}(t.sham||i&&i.sham)&&L(u,"sham",!0),et(r,n,u,t)}},Lt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),xt=Lt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ft=Array.isArray||function(t){return"Array"==p(t)},kt=function(t){return Object(v(t))},Mt=Object.keys||function(t){return dt(t,vt)},Rt=u?Object.defineProperties:function(t,e){A(t);for(var r,n=Mt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},Ct=ot("document","documentElement"),Nt=W("IE_PROTO"),Gt=function(){},Dt=function(t){return"<script>"+t+"<\/script>"},Bt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;Bt=Z?function(t){t.write(Dt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(Z):((e=j("iframe")).style.display="none",Ct.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Dt("document.F=Object")),t.close(),t.F);for(var r=vt.length;r--;)delete Bt.prototype[vt[r]];return Bt()};U[Nt]=!0;var Vt=Object.create||function(t,e){var r;return null!==t?(Gt.prototype=A(t),r=new Gt,Gt.prototype=null,r[Nt]=t):r=Bt(),void 0===e?r:Rt(r,e)},Ht=gt.f,qt={}.toString,zt="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],Wt={f:function(t){return zt&&"[object Window]"==qt.call(t)?function(t){try{return Ht(t)}catch(t){return zt.slice()}}(t):Ht(h(t))}},Ut=B("wks"),Yt=o.Symbol,Jt=xt?Yt:q,Qt=function(t){return m(Ut,t)||(Lt&&m(Yt,t)?Ut[t]=Yt[t]:Ut[t]=Jt("Symbol."+t)),Ut[t]},$t={f:Qt},Kt=I.f,Xt=function(t){var e=rt.Symbol||(rt.Symbol={});m(e,t)||Kt(e,t,{value:$t.f(t)})},Zt=I.f,te=Qt("toStringTag"),ee=function(t,e,r){t&&!m(t=r?t:t.prototype,te)&&Zt(t,te,{configurable:!0,value:e})},re=function(t,e,r){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},ne=Qt("species"),oe=function(t,e){var r;return Ft(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Ft(r.prototype)?g(r)&&null===(r=r[ne])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},ie=[].push,ue=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,a,f,l){for(var s,p,y=kt(c),v=d(y),h=re(a,f,3),g=ft(v.length),b=0,S=l||oe,m=e?S(c,g):r?S(c,0):void 0;g>b;b++)if((u||b in v)&&(p=h(s=v[b],b,y),t))if(e)m[b]=p;else if(p)switch(t){case 3:return!0;case 5:return s;case 6:return b;case 2:ie.call(m,s)}else if(o)return!1;return i?-1:n||o?o:m}},ce={forEach:ue(0),map:ue(1),filter:ue(2),some:ue(3),every:ue(4),find:ue(5),findIndex:ue(6)},ae=ce.forEach,fe=W("hidden"),le=Qt("toPrimitive"),se=tt.set,pe=tt.getterFor("Symbol"),ye=Object.prototype,de=o.Symbol,ve=ot("JSON","stringify"),he=_.f,ge=I.f,be=Wt.f,Se=f.f,me=B("symbols"),we=B("op-symbols"),Oe=B("string-to-symbol-registry"),je=B("symbol-to-string-registry"),Te=B("wks"),Pe=o.QObject,_e=!Pe||!Pe.prototype||!Pe.prototype.findChild,Ae=u&&i((function(){return 7!=Vt(ge({},"a",{get:function(){return ge(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=he(ye,e);n&&delete ye[e],ge(t,e,r),n&&t!==ye&&ge(ye,e,n)}:ge,Ee=function(t,e){var r=me[t]=Vt(de.prototype);return se(r,{type:"Symbol",tag:t,description:e}),u||(r.description=e),r},Ie=Lt&&"symbol"==typeof de.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof de},Le=function(t,e,r){t===ye&&Le(we,e,r),A(t);var n=b(e,!0);return A(r),m(me,n)?(r.enumerable?(m(t,fe)&&t[fe][n]&&(t[fe][n]=!1),r=Vt(r,{enumerable:l(0,!1)})):(m(t,fe)||ge(t,fe,l(1,{})),t[fe][n]=!0),Ae(t,n,r)):ge(t,n,r)},xe=function(t,e){A(t);var r=h(e),n=Mt(r).concat(Re(r));return ae(n,(function(e){u&&!Fe.call(r,e)||Le(t,e,r[e])})),t},Fe=function(t){var e=b(t,!0),r=Se.call(this,e);return!(this===ye&&m(me,e)&&!m(we,e))&&(!(r||!m(this,e)||!m(me,e)||m(this,fe)&&this[fe][e])||r)},ke=function(t,e){var r=h(t),n=b(e,!0);if(r!==ye||!m(me,n)||m(we,n)){var o=he(r,n);return!o||!m(me,n)||m(r,fe)&&r[fe][n]||(o.enumerable=!0),o}},Me=function(t){var e=be(h(t)),r=[];return ae(e,(function(t){m(me,t)||m(U,t)||r.push(t)})),r},Re=function(t){var e=t===ye,r=be(e?we:h(t)),n=[];return ae(r,(function(t){!m(me,t)||e&&!m(ye,t)||n.push(me[t])})),n};if(Lt||(et((de=function(){if(this instanceof de)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=q(t),r=function(t){this===ye&&r.call(we,t),m(this,fe)&&m(this[fe],e)&&(this[fe][e]=!1),Ae(this,e,l(1,t))};return u&&_e&&Ae(ye,e,{configurable:!0,set:r}),Ee(e,t)}).prototype,"toString",(function(){return pe(this).tag})),f.f=Fe,I.f=Le,_.f=ke,gt.f=Wt.f=Me,bt.f=Re,u&&(ge(de.prototype,"description",{configurable:!0,get:function(){return pe(this).description}}),et(ye,"propertyIsEnumerable",Fe,{unsafe:!0}))),xt||($t.f=function(t){return Ee(Qt(t),t)}),It({global:!0,wrap:!0,forced:!Lt,sham:!Lt},{Symbol:de}),ae(Mt(Te),(function(t){Xt(t)})),It({target:"Symbol",stat:!0,forced:!Lt},{for:function(t){var e=String(t);if(m(Oe,e))return Oe[e];var r=de(e);return Oe[e]=r,je[r]=e,r},keyFor:function(t){if(!Ie(t))throw TypeError(t+" is not a symbol");if(m(je,t))return je[t]},useSetter:function(){_e=!0},useSimple:function(){_e=!1}}),It({target:"Object",stat:!0,forced:!Lt,sham:!u},{create:function(t,e){return void 0===e?Vt(t):xe(Vt(t),e)},defineProperty:Le,defineProperties:xe,getOwnPropertyDescriptor:ke}),It({target:"Object",stat:!0,forced:!Lt},{getOwnPropertyNames:Me,getOwnPropertySymbols:Re}),It({target:"Object",stat:!0,forced:i((function(){bt.f(1)}))},{getOwnPropertySymbols:function(t){return bt.f(kt(t))}}),ve){var Ce=!Lt||i((function(){var t=de();return"[null]"!=ve([t])||"{}"!=ve({a:t})||"{}"!=ve(Object(t))}));It({target:"JSON",stat:!0,forced:Ce},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(g(e)||void 0!==t)&&!Ie(t))return Ft(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Ie(e))return e}),o[1]=e,ve.apply(null,o)}})}de.prototype[le]||L(de.prototype,le,de.prototype.valueOf),ee(de,"Symbol"),U[fe]=!0;var Ne=I.f,Ge=o.Symbol;if(u&&"function"==typeof Ge&&(!("description"in Ge.prototype)||void 0!==Ge().description)){var De={},Be=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof Be?new Ge(t):void 0===t?Ge():Ge(t);return""===t&&(De[e]=!0),e};mt(Be,Ge);var Ve=Be.prototype=Ge.prototype;Ve.constructor=Be;var He=Ve.toString,qe="Symbol(test)"==String(Ge("test")),ze=/^Symbol\((.*)\)[^)]+$/;Ne(Ve,"description",{configurable:!0,get:function(){var t=g(this)?this.valueOf():this,e=He.call(t);if(m(De,t))return"";var r=qe?e.slice(7,-1):e.replace(ze,"$1");return""===r?void 0:r}}),It({global:!0,forced:!0},{Symbol:Be})}Xt("iterator");var We,Ue,Ye=function(t,e,r){var n=b(e);n in t?I.f(t,n,l(0,r)):t[n]=r},Je=ot("navigator","userAgent")||"",Qe=o.process,$e=Qe&&Qe.versions,Ke=$e&&$e.v8;Ke?Ue=(We=Ke.split("."))[0]+We[1]:Je&&(!(We=Je.match(/Edge\/(\d+)/))||We[1]>=74)&&(We=Je.match(/Chrome\/(\d+)/))&&(Ue=We[1]);var Xe=Ue&&+Ue,Ze=Qt("species"),tr=function(t){return Xe>=51||!i((function(){var e=[];return(e.constructor={})[Ze]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},er=Qt("isConcatSpreadable"),rr=Xe>=51||!i((function(){var t=[];return t[er]=!1,t.concat()[0]!==t})),nr=tr("concat"),or=function(t){if(!g(t))return!1;var e=t[er];return void 0!==e?!!e:Ft(t)};It({target:"Array",proto:!0,forced:!rr||!nr},{concat:function(t){var e,r,n,o,i,u=kt(this),c=oe(u,0),a=0;for(e=-1,n=arguments.length;e<n;e++)if(i=-1===e?u:arguments[e],or(i)){if(a+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,a++)r in i&&Ye(c,a,i[r])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ye(c,a++,i)}return c.length=a,c}});var ir=ce.filter,ur=tr("filter"),cr=ur&&!i((function(){[].filter.call({length:-1,0:1},(function(t){throw t}))}));It({target:"Array",proto:!0,forced:!ur||!cr},{filter:function(t){return ir(this,t,arguments.length>1?arguments[1]:void 0)}});var ar=Qt("unscopables"),fr=Array.prototype;null==fr[ar]&&I.f(fr,ar,{configurable:!0,value:Vt(null)});var lr,sr,pr,yr=function(t){fr[ar][t]=!0},dr=!i((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),vr=W("IE_PROTO"),hr=Object.prototype,gr=dr?Object.getPrototypeOf:function(t){return t=kt(t),m(t,vr)?t[vr]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?hr:null},br=Qt("iterator"),Sr=!1;[].keys&&("next"in(pr=[].keys())?(sr=gr(gr(pr)))!==Object.prototype&&(lr=sr):Sr=!0),null==lr&&(lr={}),m(lr,br)||L(lr,br,(function(){return this}));var mr={IteratorPrototype:lr,BUGGY_SAFARI_ITERATORS:Sr},wr=mr.IteratorPrototype,Or=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return A(r),function(t){if(!g(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype")}(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),jr=mr.IteratorPrototype,Tr=mr.BUGGY_SAFARI_ITERATORS,Pr=Qt("iterator"),_r=function(){return this},Ar=function(t,e,r,n,o,i,u){!function(t,e,r){var n=e+" Iterator";t.prototype=Vt(wr,{next:l(1,r)}),ee(t,n,!1)}(r,e,n);var c,a,f,s=function(t){if(t===o&&h)return h;if(!Tr&&t in d)return d[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",y=!1,d=t.prototype,v=d[Pr]||d["@@iterator"]||o&&d[o],h=!Tr&&v||s(o),g="Array"==e&&d.entries||v;if(g&&(c=gr(g.call(new t)),jr!==Object.prototype&&c.next&&(gr(c)!==jr&&(Or?Or(c,jr):"function"!=typeof c[Pr]&&L(c,Pr,_r)),ee(c,p,!0))),"values"==o&&v&&"values"!==v.name&&(y=!0,h=function(){return v.call(this)}),d[Pr]!==h&&L(d,Pr,h),o)if(a={values:s("values"),keys:i?h:s("keys"),entries:s("entries")},u)for(f in a)!Tr&&!y&&f in d||et(d,f,a[f]);else It({target:e,proto:!0,forced:Tr||y},a);return a},Er=tt.set,Ir=tt.getterFor("Array Iterator"),Lr=Ar(Array,"Array",(function(t,e){Er(this,{type:"Array Iterator",target:h(t),index:0,kind:e})}),(function(){var t=Ir(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values");yr("keys"),yr("values"),yr("entries");var xr=[].join,Fr=d!=Object,kr=function(t,e){var r=[][t];return!r||!i((function(){r.call(null,e||function(){throw 1},1)}))}("join",",");It({target:"Array",proto:!0,forced:Fr||kr},{join:function(t){return xr.call(h(this),void 0===t?",":t)}});var Mr={};Mr[Qt("toStringTag")]="z";var Rr="[object z]"===String(Mr),Cr=Qt("toStringTag"),Nr="Arguments"==p(function(){return arguments}()),Gr=Rr?p:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Cr))?r:Nr?p(e):"Object"==(n=p(e))&&"function"==typeof e.callee?"Arguments":n},Dr=Rr?{}.toString:function(){return"[object "+Gr(this)+"]"};Rr||et(Object.prototype,"toString",Dr,{unsafe:!0});var Br=function(t){return function(e,r){var n,o,i=String(v(e)),u=ct(r),c=i.length;return u<0||u>=c?t?"":void 0:(n=i.charCodeAt(u))<55296||n>56319||u+1===c||(o=i.charCodeAt(u+1))<56320||o>57343?t?i.charAt(u):n:t?i.slice(u,u+2):o-56320+(n-55296<<10)+65536}},Vr={codeAt:Br(!1),charAt:Br(!0)}.charAt,Hr=tt.set,qr=tt.getterFor("String Iterator");Ar(String,"String",(function(t){Hr(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=qr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=Vr(r,n),e.index+=t.length,{value:t,done:!1})}));var zr={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},Wr=Qt("iterator"),Ur=Qt("toStringTag"),Yr=Lr.values;for(var Jr in zr){var Qr=o[Jr],$r=Qr&&Qr.prototype;if($r){if($r[Wr]!==Yr)try{L($r,Wr,Yr)}catch(t){$r[Wr]=Yr}if($r[Ur]||L($r,Ur,Jr),zr[Jr])for(var Kr in Lr)if($r[Kr]!==Lr[Kr])try{L($r,Kr,Lr[Kr])}catch(t){$r[Kr]=Lr[Kr]}}}function Xr(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Zr(t){return(Zr=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function tn(t,e){return(tn=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function en(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function rn(t,e,r){return(rn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Zr(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(r):o.value}})(t,e,r||t)}t.extend(t.fn.bootstrapTable.defaults,{treeEnable:!1,treeShowField:null,idField:"id",parentIdField:"pid",rootParentId:null}),t.BootstrapTable=function(e){function r(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),en(this,Zr(r).apply(this,arguments))}var n,o,i;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&tn(t,e)}(r,e),n=r,(o=[{key:"init",value:function(){var t;this._rowStyle=this.options.rowStyle;for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=rn(Zr(r.prototype),"init",this)).call.apply(t,[this].concat(n))}},{key:"initHeader",value:function(){for(var t,e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=rn(Zr(r.prototype),"initHeader",this)).call.apply(t,[this].concat(n));var i=this.options.treeShowField;if(i){var u=!0,c=!1,a=void 0;try{for(var f,l=this.header.fields[Symbol.iterator]();!(u=(f=l.next()).done);u=!0){var s=f.value;if(i===s){this.treeEnable=!0;break}}}catch(t){c=!0,a=t}finally{try{u||null==l.return||l.return()}finally{if(c)throw a}}}}},{key:"initBody",value:function(){var t;this.treeEnable&&(this.options.virtualScroll=!1);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];(t=rn(Zr(r.prototype),"initBody",this)).call.apply(t,[this].concat(n))}},{key:"initTr",value:function(e,n,o,i){var u=this,c=o.filter((function(t){return e[u.options.idField]===t[u.options.parentIdField]}));i.append(rn(Zr(r.prototype),"initRow",this).call(this,e,n,o,i));for(var a=c.length-1,f=0;f<=a;f++){var l=c[f],s=t.extend(!0,{},e);l._level=s._level+1,l._parent=s,f===a&&(l._last=1),this.options.rowStyle=function(t,e){var r=u._rowStyle(t,e),n=t[u.options.idField]?t[u.options.idField]:0,o=t[u.options.parentIdField]?t[u.options.parentIdField]:0;return r.classes=[r.classes||"","treegrid-".concat(n),"treegrid-parent-".concat(o)].join(" "),r},this.initTr(l,t.inArray(l,o),o,i)}}},{key:"initRow",value:function(t,e,n,o){var i=this;return this.treeEnable?!(this.options.rootParentId!==t[this.options.parentIdField]&&t[this.options.parentIdField]||(void 0===t._level&&(t._level=0),this.options.rowStyle=function(t,e){var r=i._rowStyle(t,e),n=t[i.options.idField]?t[i.options.idField]:0;return r.classes=[r.classes||"","treegrid-".concat(n)].join(" "),r},this.initTr(t,e,n,o),0)):rn(Zr(r.prototype),"initRow",this).call(this,t,e,n,o)}}])&&Xr(n.prototype,o),i&&Xr(n,i),r}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-af-ZA.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-af-ZA.js
deleted file mode 100644
index e3b138f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-af-ZA.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Afrikaans translation
-	 * Author: Phillip Kruger <phillip.kruger@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['af-ZA'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Besig om te laai, wag asseblief';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekords per bladsy");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Resultate ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " rye (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Resultate ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " rye");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Soek';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Geen rekords gevind nie';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Wys/verberg bladsy nummering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Herlaai';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Wissel';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolomme';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['af-ZA']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-af-ZA.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-af-ZA.min.js
deleted file mode 100644
index 024542f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-af-ZA.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,c={f:f&&!a.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(d(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=m(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!c.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},R=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||R("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var k,F,N,I,L=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),G=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),W=0,z=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+z).toString(36)},H=G("keys"),K={},Z=o.WeakMap;if(q){var J=new Z,Q=J.get,U=J.has,V=J.set;k=function(t,n){return V.call(J,t,n),n},F=function(t){return Q.call(J,t)||{}},N=function(t){return U.call(J,t)}}else{var Y=H[I="state"]||(H[I]=B(I));K[Y]=!0,k=function(t,n){return M(t,Y,n),n},F=function(t){return w(t,Y)?t[Y]:{}},N=function(t){return w(t,Y)}}var X,$,tt={set:k,get:F,has:N,enforce:function(t){return N(t)?F(t):k(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,c=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!c&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:R(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,ct=function(t){return t>0?ft(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ct(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=G("wks"),kt=o.Symbol,Ft=Ct?kt:B,Nt=function(t){return w(_t,t)||(Rt&&w(kt,t)?_t[t]=kt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},It=Nt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,Gt=qt&&qt.versions,Wt=Gt&&Gt.v8;Wt?$=(X=Wt.split("."))[0]+X[1]:Dt&&(!(X=Dt.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Dt.match(/Chrome\/(\d+)/))&&($=X[1]);var zt,Bt=$&&+$,Ht=Nt("species"),Kt=Nt("isConcatSpreadable"),Zt=Bt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Jt=(zt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[zt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,f=t.target,c=t.global,l=t.stat;if(r=c?o:l?o[f]||R(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Tt(c?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Zt||!Jt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=ct(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(a,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,f++,i)}return a.length=f,a}}),t.fn.bootstrapTable.locales["af-ZA"]={formatLoadingMessage:function(){return"Besig om te laai, wag asseblief"},formatRecordsPerPage:function(t){return"".concat(t," rekords per bladsy")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Resultate ".concat(t," tot ").concat(n," van ").concat(r," rye (filtered from ").concat(e," total rows)"):"Resultate ".concat(t," tot ").concat(n," van ").concat(r," rye")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Soek"},formatNoMatches:function(){return"Geen rekords gevind nie"},formatPaginationSwitch:function(){return"Wys/verberg bladsy nummering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Herlaai"},formatToggle:function(){return"Wissel"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolomme"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["af-ZA"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ar-SA.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ar-SA.js
deleted file mode 100644
index b9d841f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ar-SA.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table English translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ar-SA'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'جاري التحميل, يرجى الإنتظار';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0633\u062C\u0644 \u0644\u0643\u0644 \u0635\u0641\u062D\u0629");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0627\u0644\u0638\u0627\u0647\u0631 ".concat(pageFrom, " \u0625\u0644\u0649 ").concat(pageTo, " \u0645\u0646 ").concat(totalRows, " \u0633\u062C\u0644 ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0627\u0644\u0638\u0627\u0647\u0631 ".concat(pageFrom, " \u0625\u0644\u0649 ").concat(pageTo, " \u0645\u0646 ").concat(totalRows, " \u0633\u062C\u0644");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'بحث';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'لا توجد نتائج مطابقة للبحث';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    /* eslint-disable no-useless-escape */
-	    return 'إخفاء\إظهار ترقيم الصفحات';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'تحديث';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'تغيير';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'أعمدة';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ar-SA']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ar-SA.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ar-SA.min.js
deleted file mode 100644
index f9109bf..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ar-SA.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var F,N,k,I,L=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;F=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=H(I));J[X]=!0,F=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),Ft=o.Symbol,Nt=_t?Ft:H,kt=function(t){return w(Rt,t)||(Ct&&w(Ft,t)?Rt[t]=Ft[t]:Rt[t]=Nt("Symbol."+t)),Rt[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["ar-SA"]={formatLoadingMessage:function(){return"جاري التحميل, يرجى الإنتظار"},formatRecordsPerPage:function(t){return"".concat(t," سجل لكل صفحة")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"الظاهر ".concat(t," إلى ").concat(n," من ").concat(r," سجل ").concat(e," total rows)"):"الظاهر ".concat(t," إلى ").concat(n," من ").concat(r," سجل")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"بحث"},formatNoMatches:function(){return"لا توجد نتائج مطابقة للبحث"},formatPaginationSwitch:function(){return"إخفاءإظهار ترقيم الصفحات"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تحديث"},formatToggle:function(){return"تغيير"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"أعمدة"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ar-SA"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ca-ES.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ca-ES.js
deleted file mode 100644
index e2714c9..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ca-ES.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Catalan translation
-	 * Authors: Marc Pina<iwalkalone69@gmail.com>
-	 *          Claudi Martinez<claudix.kernel@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ca-ES'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Espereu, si us plau';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " resultats per p\xE0gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrant de ".concat(pageFrom, " fins ").concat(pageTo, " - total ").concat(totalRows, " resultats (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrant de ".concat(pageFrom, " fins ").concat(pageTo, " - total ").concat(totalRows, " resultats");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cerca';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No s\'han trobat resultats';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Amaga/Mostra paginació';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresca';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alterna formatació';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tots';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ca-ES']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ca-ES.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ca-ES.min.js
deleted file mode 100644
index 920e926..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ca-ES.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(d(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=m(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:u?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,F,k,I,L=R.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=H(I));J[X]=!0,N=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:k,enforce:function(t){return k(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,Ft=Rt?Nt:H,kt=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},It=kt("species"),Lt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=At(this),a=Lt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["ca-ES"]={formatLoadingMessage:function(){return"Espereu, si us plau"},formatRecordsPerPage:function(t){return"".concat(t," resultats per pàgina")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(r," resultats (filtered from ").concat(e," total rows)"):"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(r," resultats")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"No s'han trobat resultats"},formatPaginationSwitch:function(){return"Amaga/Mostra paginació"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresca"},formatToggle:function(){return"Alterna formatació"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnes"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tots"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ca-ES"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-cs-CZ.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-cs-CZ.js
deleted file mode 100644
index d7e6396..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-cs-CZ.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Czech translation
-	 * Author: Lukas Kral (monarcha@seznam.cz)
-	 * Author: Jakub Svestka <svestka1999@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['cs-CZ'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Čekejte, prosím';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " polo\u017Eek na str\xE1nku");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Zobrazena ".concat(pageFrom, ". - ").concat(pageTo, " . polo\u017Eka z celkov\xFDch ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Zobrazena ".concat(pageFrom, ". - ").concat(pageTo, " . polo\u017Eka z celkov\xFDch ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Vyhledávání';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenalezena žádná vyhovující položka';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Skrýt/Zobrazit stránkování';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Aktualizovat';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Přepni';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Sloupce';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Vše';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['cs-CZ']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-cs-CZ.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-cs-CZ.min.js
deleted file mode 100644
index d4e86f8..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-cs-CZ.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var n=a(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,A={f:u?k:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return k(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var z,R,N,F,I=C.inspectSource,L=o.WeakMap,D="function"==typeof L&&/native code/.test(I(L)),Z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),q=0,G=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++q+G).toString(36)},B=Z("keys"),H={},W=o.WeakMap;if(D){var J=new W,K=J.get,Q=J.has,U=J.set;z=function(t,n){return U.call(J,t,n),n},R=function(t){return K.call(J,t)||{}},N=function(t){return Q.call(J,t)}}else{var Y=B[F="state"]||(B[F]=V(F));H[Y]=!0,z=function(t,n){return E(t,Y,n),n},R=function(t){return w(t,Y)?t[Y]:{}},N=function(t){return w(t,Y)}}var X,$,tt={set:z,get:R,has:N,enforce:function(t){return N(t)?R(t):z(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||E(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!f&&t[n]&&(a=!0):delete t[n],a?t[n]=i:E(t,n,i)):a?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},at=Math.min,ft=function(t){return t>0?at(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(H,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=A.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,kt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(d(t))},Et=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=Z("wks"),zt=o.Symbol,Rt=Ct?zt:V,Nt=function(t){return w(_t,t)||(Mt&&w(zt,t)?_t[t]=zt[t]:_t[t]=Rt("Symbol."+t)),_t[t]},Ft=Nt("species"),It=function(t,n){var r;return kt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!kt(r.prototype)?m(r)&&null===(r=r[Ft])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",Dt=o.process,Zt=Dt&&Dt.versions,qt=Zt&&Zt.v8;qt?$=(X=qt.split("."))[0]+X[1]:Lt&&(!(X=Lt.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Lt.match(/Chrome\/(\d+)/))&&($=X[1]);var Gt,Vt=$&&+$,Bt=Nt("species"),Ht=Nt("isConcatSpreadable"),Wt=Vt>=51||!i((function(){var t=[];return t[Ht]=!1,t.concat()[0]!==t})),Jt=(Gt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Kt=function(t){if(!m(t))return!1;var n=t[Ht];return void 0!==n?!!n:kt(t)};!function(t,n){var r,e,i,u,c,a=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[a]||M(a,{}):(o[a]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(f?e:a+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&E(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=At(this),c=It(u,0),a=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Kt(i)){if(a+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,a++)r in i&&Et(c,a,i[r])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Et(c,a++,i)}return c.length=a,c}}),t.fn.bootstrapTable.locales["cs-CZ"]={formatLoadingMessage:function(){return"Čekejte, prosím"},formatRecordsPerPage:function(t){return"".concat(t," položek na stránku")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(r," (filtered from ").concat(e," total rows)"):"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Vyhledávání"},formatNoMatches:function(){return"Nenalezena žádná vyhovující položka"},formatPaginationSwitch:function(){return"Skrýt/Zobrazit stránkování"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aktualizovat"},formatToggle:function(){return"Přepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sloupce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Vše"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["cs-CZ"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-da-DK.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-da-DK.js
deleted file mode 100644
index b9df929..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-da-DK.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table danish translation
-	 * Author: Your Name Jan Borup Coyle, github@coyle.dk
-	 */
-
-	$.fn.bootstrapTable.locales['da-DK'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Indlæser, vent venligst';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " poster pr side");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Viser ".concat(pageFrom, " til ").concat(pageTo, " af ").concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '', " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Viser ".concat(pageFrom, " til ").concat(pageTo, " af ").concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '');
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Viser ".concat(totalRows, " r\xE6kke").concat(totalRows > 1 ? 'r' : '');
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Ryd filtre';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Søg';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ingen poster fundet';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Skjul/vis nummerering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Opdater';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Skift';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolonner';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Eksporter';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['da-DK']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-da-DK.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-da-DK.min.js
deleted file mode 100644
index 749ad6e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-da-DK.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=m(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},k=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{k(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var C,I,D,F,N=R.inspectSource,L=o.WeakMap,q="function"==typeof L&&/native code/.test(N(L)),K=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),V=0,z=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++V+z).toString(36)},B=K("keys"),H={},W=o.WeakMap;if(q){var J=new W,Q=J.get,U=J.has,Y=J.set;C=function(t,n){return Y.call(J,t,n),n},I=function(t){return Q.call(J,t)||{}},D=function(t){return U.call(J,t)}}else{var X=B[F="state"]||(B[F]=G(F));H[X]=!0,C=function(t,n){return k(t,X,n),n},I=function(t){return w(t,X)?t[X]:{}},D=function(t){return w(t,X)}}var Z,$,tt={set:C,get:I,has:D,enforce:function(t){return D(t)?I(t):C(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=I(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||k(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:k(t,n,i)):f?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(H,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},kt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=K("wks"),Ct=o.Symbol,It=Rt?Ct:G,Dt=function(t){return w(_t,t)||(Mt&&w(Ct,t)?_t[t]=Ct[t]:_t[t]=It("Symbol."+t)),_t[t]},Ft=Dt("species"),Nt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[Ft])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",qt=o.process,Kt=qt&&qt.versions,Vt=Kt&&Kt.v8;Vt?$=(Z=Vt.split("."))[0]+Z[1]:Lt&&(!(Z=Lt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Lt.match(/Chrome\/(\d+)/))&&($=Z[1]);var zt,Gt=$&&+$,Bt=Dt("species"),Ht=Dt("isConcatSpreadable"),Wt=Gt>=51||!i((function(){var t=[];return t[Ht]=!1,t.concat()[0]!==t})),Jt=(zt="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[zt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Ht];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||M(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&k(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Nt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&kt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");kt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["da-DK"]={formatLoadingMessage:function(){return"Indlæser, vent venligst"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Viser ".concat(t," til ").concat(n," af ").concat(r," række").concat(r>1?"r":""," (filtered from ").concat(e," total rows)"):"Viser ".concat(t," til ").concat(n," af ").concat(r," række").concat(r>1?"r":"")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Viser ".concat(t," række").concat(t>1?"r":"")},formatClearSearch:function(){return"Ryd filtre"},formatSearch:function(){return"Søg"},formatNoMatches:function(){return"Ingen poster fundet"},formatPaginationSwitch:function(){return"Skjul/vis nummerering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Opdater"},formatToggle:function(){return"Skift"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksporter"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["da-DK"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-de-DE.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-de-DE.js
deleted file mode 100644
index 3d422cb..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-de-DE.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	* Bootstrap Table German translation
-	* Author: Paul Mohr - Sopamo<p.mohr@sopamo.de>
-	*/
-
-	$.fn.bootstrapTable.locales['de-DE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Lade, bitte warten';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " Zeilen pro Seite.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Zeige Zeile ".concat(pageFrom, " bis ").concat(pageTo, " von ").concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', " (Gefiltert von ").concat(totalNotFiltered, " Zeile").concat(totalNotFiltered > 1 ? 'n' : '', ")");
-	    }
-
-	    return "Zeige Zeile ".concat(pageFrom, " bis ").concat(pageTo, " von ").concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', ".");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'Vorherige Seite';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "Zu Seite ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'Nächste Seite';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Zeige ".concat(totalRows, " Zeile").concat(totalRows > 1 ? 'n' : '', ".");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Lösche Filter';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Suchen';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Keine passenden Ergebnisse gefunden';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Verstecke/Zeige Nummerierung';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Zeige Nummerierung';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Verstecke Nummerierung';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Neu laden';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Umschalten';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Normale Ansicht';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Kartenansicht';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Spalten';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Alle umschalten';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Vollbild';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatisches Neuladen';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Datenexport';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Erweiterte Suche';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Schließen';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['de-DE']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-de-DE.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-de-DE.min.js
deleted file mode 100644
index 151e83e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-de-DE.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,m=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return m(y(t))},d=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!d(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!d(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!d(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!d(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,S=function(t,n){return b.call(t,n)},w=o.document,O=d(w)&&d(w.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?w.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(S(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!d(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:u?E:function(t,n,e){if(x(t),n=v(n,!0),x(e),j)try{return E(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},M=u?function(t,n,e){return A.f(t,n,l(1,e))}:function(t,n,e){return t[n]=e,t},N=function(t,n){try{M(o,t,n)}catch(e){o[t]=n}return n},Z=o["__core-js_shared__"]||N("__core-js_shared__",{}),_=Function.toString;"function"!=typeof Z.inspectSource&&(Z.inspectSource=function(t){return _.call(t)});var C,R,k,D,L=Z.inspectSource,F=o.WeakMap,I="function"==typeof F&&/native code/.test(L(F)),V=e((function(t){(t.exports=function(t,n){return Z[t]||(Z[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),q=0,G=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++q+G).toString(36)},K=V("keys"),B={},U=o.WeakMap;if(I){var W=new U,J=W.get,Q=W.has,Y=W.set;C=function(t,n){return Y.call(W,t,n),n},R=function(t){return J.call(W,t)||{}},k=function(t){return Q.call(W,t)}}else{var H=K[D="state"]||(K[D]=z(D));B[H]=!0,C=function(t,n){return M(t,H,n),n},R=function(t){return S(t,H)?t[H]:{}},k=function(t){return S(t,H)}}var X,$,tt={set:C,get:R,has:k,enforce:function(t){return k(t)?R(t):C(t,{})},getterFor:function(t){return function(n){var e;if(!d(n)||(e=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||M(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:N(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,e,r){var o,i=h(n),u=at(i.length),c=function(t,n){var e=ct(t);return e<0?lt(e+n,0):st(e,n)}(r,u);if(t&&e!=e){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,mt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var e,r=h(t),o=0,i=[];for(e in r)!S(B,e)&&S(r,e)&&i.push(e);for(;n.length>o;)S(r,e=n[o++])&&(~gt(i,e)||i.push(e));return i}(t,mt)}},ht={f:Object.getOwnPropertySymbols},dt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),e=ht.f;return e?n.concat(e(t)):n},vt=function(t,n){for(var e=dt(n),r=A.f,o=T.f,i=0;i<e.length;i++){var u=e[i];S(t,u)||r(t,u,o(n,u))}},bt=/#|\.prototype\./,St=function(t,n){var e=Ot[wt(t)];return e==Pt||e!=jt&&("function"==typeof n?i(n):!!n)},wt=St.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=St.data={},jt=St.NATIVE="N",Pt=St.POLYFILL="P",Tt=St,xt=T.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Mt=function(t,n,e){var r=v(n);r in t?A.f(t,r,l(0,e)):t[r]=e},Nt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Zt=Nt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=V("wks"),Ct=o.Symbol,Rt=Zt?Ct:z,kt=function(t){return S(_t,t)||(Nt&&S(Ct,t)?_t[t]=Ct[t]:_t[t]=Rt("Symbol."+t)),_t[t]},Dt=kt("species"),Lt=function(t,n){var e;return Et(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!Et(e.prototype)?d(e)&&null===(e=e[Dt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},Ft=ot("navigator","userAgent")||"",It=o.process,Vt=It&&It.versions,qt=Vt&&Vt.v8;qt?$=(X=qt.split("."))[0]+X[1]:Ft&&(!(X=Ft.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Ft.match(/Chrome\/(\d+)/))&&($=X[1]);var Gt,zt=$&&+$,Kt=kt("species"),Bt=kt("isConcatSpreadable"),Ut=zt>=51||!i((function(){var t=[];return t[Bt]=!1,t.concat()[0]!==t})),Wt=(Gt="concat",zt>=51||!i((function(){var t=[];return(t.constructor={})[Kt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Jt=function(t){if(!d(t))return!1;var n=t[Bt];return void 0!==n?!!n:Et(t)};!function(t,n){var e,r,i,u,c,f=t.target,a=t.global,l=t.stat;if(e=a?o:l?o[f]||N(f,{}):(o[f]||{}).prototype)for(r in n){if(u=n[r],i=t.noTargetGet?(c=xt(e,r))&&c.value:e[r],!Tt(a?r:f+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(e,r,u,t)}}({target:"Array",proto:!0,forced:!Ut||!Wt},{concat:function(t){var n,e,r,o,i,u=At(this),c=Lt(u,0),f=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?u:arguments[n],Jt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,f++)e in i&&Mt(c,f,i[e])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["de-DE"]={formatLoadingMessage:function(){return"Lade, bitte warten"},formatRecordsPerPage:function(t){return"".concat(t," Zeilen pro Seite.")},formatShowingRows:function(t,n,e,r){return void 0!==r&&r>0&&r>e?"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(e," Zeile").concat(e>1?"n":""," (Gefiltert von ").concat(r," Zeile").concat(r>1?"n":"",")"):"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(e," Zeile").concat(e>1?"n":"",".")},formatSRPaginationPreText:function(){return"Vorherige Seite"},formatSRPaginationPageText:function(t){return"Zu Seite ".concat(t)},formatSRPaginationNextText:function(){return"Nächste Seite"},formatDetailPagination:function(t){return"Zeige ".concat(t," Zeile").concat(t>1?"n":"",".")},formatClearSearch:function(){return"Lösche Filter"},formatSearch:function(){return"Suchen"},formatNoMatches:function(){return"Keine passenden Ergebnisse gefunden"},formatPaginationSwitch:function(){return"Verstecke/Zeige Nummerierung"},formatPaginationSwitchDown:function(){return"Zeige Nummerierung"},formatPaginationSwitchUp:function(){return"Verstecke Nummerierung"},formatRefresh:function(){return"Neu laden"},formatToggle:function(){return"Umschalten"},formatToggleOn:function(){return"Normale Ansicht"},formatToggleOff:function(){return"Kartenansicht"},formatColumns:function(){return"Spalten"},formatColumnsToggleAll:function(){return"Alle umschalten"},formatFullscreen:function(){return"Vollbild"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisches Neuladen"},formatExport:function(){return"Datenexport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Erweiterte Suche"},formatAdvancedCloseButton:function(){return"Schließen"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["de-DE"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-el-GR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-el-GR.js
deleted file mode 100644
index 0bbc073..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-el-GR.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Greek translation
-	 * Author: giannisdallas
-	 */
-
-	$.fn.bootstrapTable.locales['el-GR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Φορτώνει, παρακαλώ περιμένετε';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BD\u03AC \u03C3\u03B5\u03BB\u03AF\u03B4\u03B1");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03CC \u03C4\u03B7\u03BD ".concat(pageFrom, " \u03C9\u03C2 \u03C4\u03B7\u03BD ").concat(pageTo, " \u03B1\u03C0\u03CC \u03C3\u03CD\u03BD\u03BF\u03BB\u03BF ").concat(totalRows, " \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0395\u03BC\u03C6\u03B1\u03BD\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9 \u03B1\u03C0\u03CC \u03C4\u03B7\u03BD ".concat(pageFrom, " \u03C9\u03C2 \u03C4\u03B7\u03BD ").concat(pageTo, " \u03B1\u03C0\u03CC \u03C3\u03CD\u03BD\u03BF\u03BB\u03BF ").concat(totalRows, " \u03C3\u03B5\u03B9\u03C1\u03CE\u03BD");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Αναζητήστε';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Δεν βρέθηκαν αποτελέσματα';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['el-GR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-el-GR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-el-GR.min.js
deleted file mode 100644
index a531b3a..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-el-GR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},R=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||R("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var F,N,k,I,L=C.inspectSource,D=o.WeakMap,G="function"==typeof D&&/native code/.test(L(D)),q=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,H=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+H).toString(36)},W=q("keys"),J={},K=o.WeakMap;if(G){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;F=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=B(I));J[X]=!0,F=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:R(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=q("wks"),Ft=o.Symbol,Nt=Ct?Ft:B,kt=function(t){return w(_t,t)||(Rt&&w(Ft,t)?_t[t]=Ft[t]:_t[t]=Nt("Symbol."+t)),_t[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",Gt=o.process,qt=Gt&&Gt.versions,zt=qt&&qt.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Bt=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Bt>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Ht="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||R(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Pt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["el-GR"]={formatLoadingMessage:function(){return"Φορτώνει, παρακαλώ περιμένετε"},formatRecordsPerPage:function(t){return"".concat(t," αποτελέσματα ανά σελίδα")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(r," σειρών (filtered from ").concat(e," total rows)"):"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(r," σειρών")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Αναζητήστε"},formatNoMatches:function(){return"Δεν βρέθηκαν αποτελέσματα"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["el-GR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-en-US.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-en-US.js
deleted file mode 100644
index 720cb94..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-en-US.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table English translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['en-US'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Loading, please wait';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rows per page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Showing ".concat(pageFrom, " to ").concat(pageTo, " of ").concat(totalRows, " rows");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Search';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No matching records found';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['en-US']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-en-US.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-en-US.min.js
deleted file mode 100644
index c76aee5..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-en-US.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return d(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,F,L,k,I=R.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(I(D)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),W={},J=o.WeakMap;if(q){var K=new J,Q=K.get,V=K.has,Y=K.set;N=function(t,n){return Y.call(K,t,n),n},F=function(t){return Q.call(K,t)||{}},L=function(t){return V.call(K,t)}}else{var X=B[k="state"]||(B[k]=U(k));W[X]=!0,N=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:L,enforce:function(t){return L(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,Ft=Rt?Nt:U,Lt=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},kt=Lt("species"),It=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Ut=$&&+$,Bt=Lt("species"),Wt=Lt("isConcatSpreadable"),Jt=Ut>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Ht="concat",Ut>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Pt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=It(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["en-US"]={formatLoadingMessage:function(){return"Loading, please wait"},formatRecordsPerPage:function(t){return"".concat(t," rows per page")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Showing ".concat(t," to ").concat(n," of ").concat(r," rows (filtered from ").concat(e," total rows)"):"Showing ".concat(t," to ").concat(n," of ").concat(r," rows")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["en-US"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-AR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-AR.js
deleted file mode 100644
index 11a1d8a..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-AR.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Spanish (Argentina) translation
-	 * Author: Felix Vera (felix.vera@gmail.com)
-	 * Edited by: DarkThinking (https://github.com/DarkThinking)
-	 */
-
-	$.fn.bootstrapTable.locales['es-AR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, espere por favor';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando desde ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtrado de ").concat(totalNotFiltered, " columnas totales)");
-	    }
-
-	    return "Mostrando desde ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'página anterior';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "a la p\xE1gina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'siguiente página';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Mostrando ".concat(totalRows, " columnas");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ocultar/Mostrar paginación';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Mostrar paginación';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Ocultar paginación';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Recargar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Cambiar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Mostrar vista de carta';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Ocultar vista de carta';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Cambiar todo';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Pantalla completa';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Recargar';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportar datos';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Ir';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Búsqueda avanzada';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Cerrar';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-AR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-AR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-AR.min.js
deleted file mode 100644
index 7376382..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-AR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),a=function(t){try{return!!t()}catch(t){return!0}},i=!a((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,g=a((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return g(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),P=!i&&!a((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,T={f:i?j:function(t,n){if(t=m(t),n=v(n,!0),P)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},M=Object.defineProperty,A={f:i?M:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return M(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=i?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,I,L,k,q=R.inspectSource,F=o.WeakMap,D="function"==typeof F&&/native code/.test(q(F)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},J=z("keys"),K={},Q=o.WeakMap;if(D){var U=new Q,V=U.get,Y=U.has,H=U.set;N=function(t,n){return H.call(U,t,n),n},I=function(t){return V.call(U,t)||{}},L=function(t){return Y.call(U,t)}}else{var X=J[k="state"]||(J[k]=W(k));K[X]=!0,N=function(t,n){return E(t,X,n),n},I=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:N,get:I,has:L,enforce:function(t){return L(t)?I(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=I(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,a,i){var u=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,f=!!i&&!!i.noTargetGet;"function"==typeof a&&("string"!=typeof n||w(a,"name")||E(a,"name",n),r(a).source=e.join("string"==typeof n?n:"")),t!==o?(u?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=a:E(t,n,a)):c?t[n]=a:C(n,a)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||q(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},at=Math.ceil,it=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?it:at)(t)},ct=Math.min,ft=function(t){return t>0?ct(ut(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,a=m(n),i=ft(a.length),u=function(t,n){var r=ut(t);return r<0?lt(r+n,0):st(r,n)}(e,i);if(t&&r!=r){for(;i>u;)if((o=a[u++])!=o)return!0}else for(;i>u;u++)if((t||u in a)&&a[u]===r)return t||u||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,a=[];for(r in e)!w(K,r)&&w(e,r)&&a.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~dt(a,r)||a.push(r));return a}(t,gt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=T.f,a=0;a<r.length;a++){var i=r[a];w(t,i)||e(t,i,o(n,i))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Pt&&("function"==typeof n?a(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",jt=wt.POLYFILL="P",Tt=wt,xt=T.f,Mt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Et=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!a((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,It=Rt?Nt:W,Lt=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=It("Symbol."+t)),_t[t]},kt=Lt("species"),qt=function(t,n){var r;return Mt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Mt(r.prototype)?h(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Ft=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:Ft&&(!(Z=Ft.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Ft.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Wt=$&&+$,Jt=Lt("species"),Kt=Lt("isConcatSpreadable"),Qt=Wt>=51||!a((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Ut=(Gt="concat",Wt>=51||!a((function(){var t=[];return(t.constructor={})[Jt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Vt=function(t){if(!h(t))return!1;var n=t[Kt];return void 0!==n?!!n:Mt(t)};!function(t,n){var r,e,a,i,u,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(i=n[e],a=t.noTargetGet?(u=xt(r,e))&&u.value:r[e],!Tt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==a){if(typeof i==typeof a)continue;vt(i,a)}(t.sham||a&&a.sham)&&E(i,"sham",!0),nt(r,e,i,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,a,i=At(this),u=qt(i,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(a=-1===n?i:arguments[n],Vt(a)){if(c+(o=ft(a.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in a&&Et(u,c,a[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Et(u,c++,a)}return u.length=c,u}}),t.fn.bootstrapTable.locales["es-AR"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrando desde ".concat(t," a ").concat(n," de ").concat(r," filas (filtrado de ").concat(e," columnas totales)"):"Mostrando desde ".concat(t," a ").concat(n," de ").concat(r," filas")},formatSRPaginationPreText:function(){return"página anterior"},formatSRPaginationPageText:function(t){return"a la página ".concat(t)},formatSRPaginationNextText:function(){return"siguiente página"},formatDetailPagination:function(t){return"Mostrando ".concat(t," columnas")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Mostrar paginación"},formatPaginationSwitchUp:function(){return"Ocultar paginación"},formatRefresh:function(){return"Recargar"},formatToggle:function(){return"Cambiar"},formatToggleOn:function(){return"Mostrar vista de carta"},formatToggleOff:function(){return"Ocultar vista de carta"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Cambiar todo"},formatFullscreen:function(){return"Pantalla completa"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Recargar"},formatExport:function(){return"Exportar datos"},formatJumpTo:function(){return"Ir"},formatAdvancedSearch:function(){return"Búsqueda avanzada"},formatAdvancedCloseButton:function(){return"Cerrar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-AR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CL.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CL.js
deleted file mode 100644
index b03001e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CL.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Traducción de librería Bootstrap Table a Español (Chile)
-	 * @author Brian Álvarez Azócar
-	 * email brianalvarezazocar@gmail.com
-	 */
-
-	$.fn.bootstrapTable.locales['es-CL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, espere por favor';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " filas por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return "Ocultar/Mostrar paginaci\xF3n";
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Cambiar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CL']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CL.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CL.min.js
deleted file mode 100644
index 45dab4d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CL.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=m(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},M=Object.defineProperty,A={f:u?M:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return M(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var L,N,F,k,I=R.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(I(q)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;L=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},F=function(t){return V.call(Q,t)}}else{var X=W[k="state"]||(W[k]=H(k));J[X]=!0,L=function(t,n){return E(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:L,get:N,has:F,enforce:function(t){return F(t)?N(t):L(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||E(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:E(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,Mt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Et=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Lt=o.Symbol,Nt=Rt?Lt:H,Ft=function(t){return w(_t,t)||(Ct&&w(Lt,t)?_t[t]=Lt[t]:_t[t]=Nt("Symbol."+t)),_t[t]},kt=Ft("species"),It=function(t,n){var r;return Mt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Mt(r.prototype)?h(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=Ft("species"),Jt=Ft("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:Mt(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&E(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=At(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Et(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Et(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["es-CL"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," filas por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrando ".concat(t," a ").concat(n," de ").concat(r," filas (filtered from ").concat(e," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(r," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Cambiar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CL"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CR.js
deleted file mode 100644
index 12a5bf1..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CR.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Spanish (Costa Rica) translation
-	 * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
-	 */
-
-	$.fn.bootstrapTable.locales['es-CR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, por favor espere';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-CR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CR.min.js
deleted file mode 100644
index 7995073..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-CR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=m(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,F,L,k,I=R.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(I(q)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},L=function(t){return V.call(Q,t)}}else{var X=W[k="state"]||(W[k]=H(k));J[X]=!0,N=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:L,enforce:function(t){return L(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,Ft=Rt?Nt:H,Lt=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},kt=Lt("species"),It=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=Lt("species"),Jt=Lt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["es-CR"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(r," registros en total (filtered from ").concat(e," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(r," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-ES.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-ES.js
deleted file mode 100644
index 9eff910..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-ES.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Spanish Spain translation
-	 * Author: Marc Pina<iwalkalone69@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['es-ES'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Por favor espere';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " resultados por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando desde ".concat(pageFrom, " hasta ").concat(pageTo, " - En total ").concat(totalRows, " resultados (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando desde ".concat(pageFrom, " hasta ").concat(pageTo, " - En total ").concat(totalRows, " resultados");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron resultados';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ocultar/Mostrar paginación';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Ocultar/Mostrar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todos';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportar los datos';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Búsqueda avanzada';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Cerrar';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-ES']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-ES.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-ES.min.js
deleted file mode 100644
index f59cb61..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-ES.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return g(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=m(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,M={f:u?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},A=u?function(t,n,r){return M.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{A(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,F,L,k,q=R.inspectSource,I=o.WeakMap,D="function"==typeof I&&/native code/.test(q(I)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},L=function(t){return V.call(Q,t)}}else{var X=W[k="state"]||(W[k]=H(k));J[X]=!0,N=function(t,n){return A(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:L,enforce:function(t){return L(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:A(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||q(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i}(t,gt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=M.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,Et=Array.isArray||function(t){return"Array"==p(t)},Mt=function(t){return Object(y(t))},At=function(t,n,r){var e=v(n);e in t?M.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,Ft=Rt?Nt:H,Lt=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},kt=Lt("species"),qt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},It=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:It&&(!(Z=It.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=It.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=Lt("species"),Jt=Lt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&A(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Mt(this),a=qt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&At(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["es-ES"]={formatLoadingMessage:function(){return"Por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," resultados por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(r," resultados (filtered from ").concat(e," total rows)"):"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(r," resultados")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron resultados"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Ocultar/Mostrar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todos"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportar los datos"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Búsqueda avanzada"},formatAdvancedCloseButton:function(){return"Cerrar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-ES"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-MX.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-MX.js
deleted file mode 100644
index 77f378d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-MX.js
+++ /dev/null
@@ -1,764 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Spanish (México) translation (Obtenido de traducción de Argentina)
-	 * Author: Felix Vera (felix.vera@gmail.com)
-	 * Copiado: Mauricio Vera (mauricioa.vera@gmail.com)
-	 * Revisión: J Manuel Corona (jmcg92@gmail.com) (13/Feb/2018).
-	 */
-
-	$.fn.bootstrapTable.locales['es-MX'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, espere por favor';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando ".concat(pageFrom, " a ").concat(pageTo, " de ").concat(totalRows, " filas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Mostrando ".concat(totalRows, " filas");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros que coincidan';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Mostrar/ocultar paginación';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Actualizar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Cambiar vista';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Pantalla completa';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-MX']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-MX.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-MX.min.js
deleted file mode 100644
index d988979..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-MX.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return g(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=m(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},M=Object.defineProperty,A={f:u?M:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return M(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var N,L,k,q,F=_.inspectSource,I=o.WeakMap,D="function"==typeof I&&/native code/.test(F(I)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),X={},J=o.WeakMap;if(D){var K=new J,Q=K.get,U=K.has,V=K.set;N=function(t,n){return V.call(K,t,n),n},L=function(t){return Q.call(K,t)||{}},k=function(t){return U.call(K,t)}}else{var Y=W[q="state"]||(W[q]=H(q));X[Y]=!0,N=function(t,n){return E(t,Y,n),n},L=function(t){return w(t,Y)?t[Y]:{}},k=function(t){return w(t,Y)}}var Z,$,tt={set:N,get:L,has:k,enforce:function(t){return k(t)?L(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=L(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||E(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:E(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||F(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(X,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i}(t,gt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,Mt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Et=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),Nt=o.Symbol,Lt=_t?Nt:H,kt=function(t){return w(Rt,t)||(Ct&&w(Nt,t)?Rt[t]=Nt[t]:Rt[t]=Lt("Symbol."+t)),Rt[t]},qt=kt("species"),Ft=function(t,n){var r;return Mt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Mt(r.prototype)?h(r)&&null===(r=r[qt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},It=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:It&&(!(Z=It.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=It.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=kt("species"),Xt=kt("isConcatSpreadable"),Jt=Ht>=51||!i((function(){var t=[];return t[Xt]=!1,t.concat()[0]!==t})),Kt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Xt];return void 0!==n?!!n:Mt(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&E(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=At(this),a=Ft(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Et(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Et(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["es-MX"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrando ".concat(t," a ").concat(n," de ").concat(r," filas (filtered from ").concat(e," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(r," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Mostrando ".concat(t," filas")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros que coincidan"},formatPaginationSwitch:function(){return"Mostrar/ocultar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Cambiar vista"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Pantalla completa"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-MX"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-NI.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-NI.js
deleted file mode 100644
index 07e989d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-NI.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Spanish (Nicaragua) translation
-	 * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
-	 */
-
-	$.fn.bootstrapTable.locales['es-NI'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, por favor espere';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Mostrando de ".concat(pageFrom, " a ").concat(pageTo, " registros de ").concat(totalRows, " registros en total");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se encontraron registros';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refrescar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-NI']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-NI.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-NI.min.js
deleted file mode 100644
index d88eeed..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-NI.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=m(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,I,F,L,k=R.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(k(q)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},I=function(t){return U.call(Q,t)||{}},F=function(t){return V.call(Q,t)}}else{var X=W[L="state"]||(W[L]=H(L));J[X]=!0,N=function(t,n){return M(t,X,n),n},I=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:N,get:I,has:F,enforce:function(t){return F(t)?I(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=I(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||k(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,It=Rt?Nt:H,Ft=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=It("Symbol."+t)),_t[t]},Lt=Ft("species"),kt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[Lt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=Ft("species"),Jt=Ft("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=kt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["es-NI"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(r," registros en total (filtered from ").concat(e," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(r," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-NI"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-SP.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-SP.js
deleted file mode 100644
index 5d3a282..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-SP.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Spanish (España) translation
-	 * Author: Antonio Pérez <anpegar@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['es-SP'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Cargando, por favor espera';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p&#225;gina.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "".concat(pageFrom, " - ").concat(pageTo, " de ").concat(totalRows, " registros (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "".concat(pageFrom, " - ").concat(pageTo, " de ").concat(totalRows, " registros.");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpiar búsqueda';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Buscar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'No se han encontrado registros.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Actualizar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columnas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Todo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['es-SP']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-SP.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-SP.min.js
deleted file mode 100644
index c1165de..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-es-SP.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return d(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=h(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var N,F,L,k,I=_.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(I(q)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},L=function(t){return V.call(Q,t)}}else{var X=W[k="state"]||(W[k]=H(k));J[X]=!0,N=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:L,enforce:function(t){return L(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),Nt=o.Symbol,Ft=_t?Nt:H,Lt=function(t){return w(Rt,t)||(Ct&&w(Nt,t)?Rt[t]=Nt[t]:Rt[t]=Ft("Symbol."+t)),Rt[t]},kt=Lt("species"),It=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=Lt("species"),Jt=Lt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["es-SP"]={formatLoadingMessage:function(){return"Cargando, por favor espera"},formatRecordsPerPage:function(t){return"".concat(t," registros por p&#225;gina.")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"".concat(t," - ").concat(n," de ").concat(r," registros (filtered from ").concat(e," total rows)"):"".concat(t," - ").concat(n," de ").concat(r," registros.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se han encontrado registros."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-SP"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-et-EE.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-et-EE.js
deleted file mode 100644
index 9c78efd..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-et-EE.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Estonian translation
-	 * Author: kristjan@logist.it>
-	 */
-
-	$.fn.bootstrapTable.locales['et-EE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Päring käib, palun oota';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rida lehe kohta");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "N\xE4itan tulemusi ".concat(pageFrom, " kuni ").concat(pageTo, " - kokku ").concat(totalRows, " tulemust (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "N\xE4itan tulemusi ".concat(pageFrom, " kuni ").concat(pageTo, " - kokku ").concat(totalRows, " tulemust");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Otsi';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Päringu tingimustele ei vastanud ühtegi tulemust';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Näita/Peida lehtedeks jagamine';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Värskenda';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Lülita';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Veerud';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Kõik';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['et-EE']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-et-EE.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-et-EE.min.js
deleted file mode 100644
index 6ccc8db..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-et-EE.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,T={f:u?j:function(t,n){if(t=m(t),n=v(n,!0),P)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,k={f:u?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},A=u?function(t,n,r){return k.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{A(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var N,R,F,L,I=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(I(D)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,V=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+V).toString(36)},H=z("keys"),K={},W=o.WeakMap;if(q){var J=new W,Q=J.get,U=J.has,Y=J.set;N=function(t,n){return Y.call(J,t,n),n},R=function(t){return Q.call(J,t)||{}},F=function(t){return U.call(J,t)}}else{var X=H[L="state"]||(H[L]=B(L));K[X]=!0,N=function(t,n){return A(t,X,n),n},R=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:N,get:R,has:F,enforce:function(t){return F(t)?R(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:A(t,n,i)):c?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=k.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",jt=wt.POLYFILL="P",Tt=wt,xt=T.f,Et=Array.isArray||function(t){return"Array"==p(t)},kt=function(t){return Object(y(t))},At=function(t,n,r){var e=v(n);e in t?k.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,Rt=Ct?Nt:B,Ft=function(t){return w(_t,t)||(Mt&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=Rt("Symbol."+t)),_t[t]},Lt=Ft("species"),It=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[Lt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Vt,Bt=$&&+$,Ht=Ft("species"),Kt=Ft("isConcatSpreadable"),Wt=Bt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Jt=(Vt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Vt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Kt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||M(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Tt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&A(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=kt(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&At(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["et-EE"]={formatLoadingMessage:function(){return"Päring käib, palun oota"},formatRecordsPerPage:function(t){return"".concat(t," rida lehe kohta")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(r," tulemust (filtered from ").concat(e," total rows)"):"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(r," tulemust")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Otsi"},formatNoMatches:function(){return"Päringu tingimustele ei vastanud ühtegi tulemust"},formatPaginationSwitch:function(){return"Näita/Peida lehtedeks jagamine"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Värskenda"},formatToggle:function(){return"Lülita"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Veerud"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kõik"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["et-EE"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-eu-EU.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-eu-EU.js
deleted file mode 100644
index c3c55d5..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-eu-EU.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Basque (Basque Country) translation
-	 * Author: Iker Ibarguren Berasaluze<ikerib@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['eu-EU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Itxaron mesedez';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " emaitza orriko.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "".concat(totalRows, " erregistroetatik ").concat(pageFrom, "etik ").concat(pageTo, "erakoak erakusten (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "".concat(totalRows, " erregistroetatik ").concat(pageFrom, "etik ").concat(pageTo, "erakoak erakusten.");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Bilatu';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ez da emaitzarik aurkitu';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ezkutatu/Erakutsi orrikatzea';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Eguneratu';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Ezkutatu/Erakutsi';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Zutabeak';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Guztiak';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['eu-EU']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-eu-EU.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-eu-EU.min.js
deleted file mode 100644
index 91dc1fe..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-eu-EU.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return y(d(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),k=Object.getOwnPropertyDescriptor,P={f:u?k:function(t,n){if(t=m(t),n=v(n,!0),j)try{return k(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},T=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},x=Object.defineProperty,E={f:u?x:function(t,n,r){if(T(t),n=v(n,!0),T(r),j)try{return x(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},A=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{A(o,t,n)}catch(r){o[t]=n}return n},z=o["__core-js_shared__"]||M("__core-js_shared__",{}),C=Function.toString;"function"!=typeof z.inspectSource&&(z.inspectSource=function(t){return C.call(t)});var _,R,F,I,N=z.inspectSource,L=o.WeakMap,D="function"==typeof L&&/native code/.test(N(L)),q=r((function(t){(t.exports=function(t,n){return z[t]||(z[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},H=q("keys"),W={},J=o.WeakMap;if(D){var K=new J,Q=K.get,V=K.has,Y=K.set;_=function(t,n){return Y.call(K,t,n),n},R=function(t){return Q.call(K,t)||{}},F=function(t){return V.call(K,t)}}else{var Z=H[I="state"]||(H[I]=U(I));W[Z]=!0,_=function(t,n){return A(t,Z,n),n},R=function(t){return w(t,Z)?t[Z]:{}},F=function(t){return w(t,Z)}}var X,$,tt={set:_,get:R,has:F,enforce:function(t){return F(t)?R(t):_(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:A(t,n,i)):c?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=dt.f(T(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==kt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",kt=wt.POLYFILL="P",Pt=wt,Tt=P.f,xt=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},At=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),zt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=q("wks"),_t=o.Symbol,Rt=zt?_t:U,Ft=function(t){return w(Ct,t)||(Mt&&w(_t,t)?Ct[t]=_t[t]:Ct[t]=Rt("Symbol."+t)),Ct[t]},It=Ft("species"),Nt=function(t,n){var r;return xt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!xt(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Gt=qt&&qt.v8;Gt?$=(X=Gt.split("."))[0]+X[1]:Lt&&(!(X=Lt.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Lt.match(/Chrome\/(\d+)/))&&($=X[1]);var Bt,Ut=$&&+$,Ht=Ft("species"),Wt=Ft("isConcatSpreadable"),Jt=Ut>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Bt="concat",Ut>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Wt];return void 0!==n?!!n:xt(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||M(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=Tt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&A(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=Nt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&At(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["eu-EU"]={formatLoadingMessage:function(){return"Itxaron mesedez"},formatRecordsPerPage:function(t){return"".concat(t," emaitza orriko.")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"".concat(r," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten (filtered from ").concat(e," total rows)"):"".concat(r," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Bilatu"},formatNoMatches:function(){return"Ez da emaitzarik aurkitu"},formatPaginationSwitch:function(){return"Ezkutatu/Erakutsi orrikatzea"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Eguneratu"},formatToggle:function(){return"Ezkutatu/Erakutsi"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Zutabeak"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Guztiak"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["eu-EU"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fa-IR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fa-IR.js
deleted file mode 100644
index 76e48b4..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fa-IR.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Persian translation
-	 * Author: MJ Vakili <mjv.1989@Gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fa-IR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'در حال بارگذاری, لطفا صبر کنید';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0631\u06A9\u0648\u0631\u062F \u062F\u0631 \u0635\u0641\u062D\u0647");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0646\u0645\u0627\u06CC\u0634 ".concat(pageFrom, " \u062A\u0627 ").concat(pageTo, " \u0627\u0632 ").concat(totalRows, " \u0631\u062F\u06CC\u0641 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0646\u0645\u0627\u06CC\u0634 ".concat(pageFrom, " \u062A\u0627 ").concat(pageTo, " \u0627\u0632 ").concat(totalRows, " \u0631\u062F\u06CC\u0641");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'جستجو';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'رکوردی یافت نشد.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'نمایش/مخفی صفحه بندی';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'به روز رسانی';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'تغییر نمایش';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'سطر ها';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'همه';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fa-IR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fa-IR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fa-IR.min.js
deleted file mode 100644
index d238e96..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fa-IR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},R=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||R("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var I,F,N,k,L=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;I=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},N=function(t){return V.call(Q,t)}}else{var X=W[k="state"]||(W[k]=H(k));J[X]=!0,I=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:I,get:F,has:N,enforce:function(t){return N(t)?F(t):I(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:R(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),It=o.Symbol,Ft=Ct?It:H,Nt=function(t){return w(_t,t)||(Rt&&w(It,t)?_t[t]=It[t]:_t[t]=Ft("Symbol."+t)),_t[t]},kt=Nt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=Nt("species"),Jt=Nt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||R(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["fa-IR"]={formatLoadingMessage:function(){return"در حال بارگذاری, لطفا صبر کنید"},formatRecordsPerPage:function(t){return"".concat(t," رکورد در صفحه")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"نمایش ".concat(t," تا ").concat(n," از ").concat(r," ردیف (filtered from ").concat(e," total rows)"):"نمایش ".concat(t," تا ").concat(n," از ").concat(r," ردیف")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"جستجو"},formatNoMatches:function(){return"رکوردی یافت نشد."},formatPaginationSwitch:function(){return"نمایش/مخفی صفحه بندی"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"به روز رسانی"},formatToggle:function(){return"تغییر نمایش"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"سطر ها"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"همه"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fa-IR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fi-FI.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fi-FI.js
deleted file mode 100644
index 17b690f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fi-FI.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Finnish translations
-	 * Author: Minna Lehtomäki <minna.j.lehtomaki@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fi-FI'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Ladataan, ole hyvä ja odota';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rivi\xE4 sivulla");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "N\xE4ytet\xE4\xE4n rivit ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "N\xE4ytet\xE4\xE4n rivit ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Poista suodattimet';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Hae';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Hakuehtoja vastaavia tuloksia ei löytynyt';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Näytä/Piilota sivutus';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Päivitä';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Valitse';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Sarakkeet';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Kaikki';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Vie tiedot';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fi-FI']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fi-FI.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fi-FI.min.js
deleted file mode 100644
index 7b7c95a..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fi-FI.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,c={f:f&&!a.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return g(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,T={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),P)try{return j(t,n)}catch(t){}if(w(t,n))return l(!c.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},k=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||k("__core-js_shared__",{}),C=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return C.call(t)});var N,R,F,I,L=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),H=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,G=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+G).toString(36)},B=H("keys"),K={},W=o.WeakMap;if(q){var J=new W,Q=J.get,U=J.has,Y=J.set;N=function(t,n){return Y.call(J,t,n),n},R=function(t){return Q.call(J,t)||{}},F=function(t){return U.call(J,t)}}else{var X=B[I="state"]||(B[I]=V(I));K[X]=!0,N=function(t,n){return M(t,X,n),n},R=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:N,get:R,has:F,enforce:function(t){return F(t)?R(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,c=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!c&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:k(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,ct=function(t){return t>0?ft(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ct(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~yt(i,r)||i.push(r));return i}(t,gt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",jt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=H("wks"),Nt=o.Symbol,Rt=_t?Nt:V,Ft=function(t){return w(Ct,t)||(kt&&w(Nt,t)?Ct[t]=Nt[t]:Ct[t]=Rt("Symbol."+t)),Ct[t]},It=Ft("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,Ht=qt&&qt.versions,zt=Ht&&Ht.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Vt=$&&+$,Bt=Ft("species"),Kt=Ft("isConcatSpreadable"),Wt=Vt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Jt=(Gt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,f=t.target,c=t.global,l=t.stat;if(r=c?o:l?o[f]||k(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Tt(c?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=ct(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(a,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,f++,i)}return a.length=f,a}}),t.fn.bootstrapTable.locales["fi-FI"]={formatLoadingMessage:function(){return"Ladataan, ole hyvä ja odota"},formatRecordsPerPage:function(t){return"".concat(t," riviä sivulla")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(r," (filtered from ").concat(e," total rows)"):"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Poista suodattimet"},formatSearch:function(){return"Hae"},formatNoMatches:function(){return"Hakuehtoja vastaavia tuloksia ei löytynyt"},formatPaginationSwitch:function(){return"Näytä/Piilota sivutus"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Päivitä"},formatToggle:function(){return"Valitse"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sarakkeet"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kaikki"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Vie tiedot"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fi-FI"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-BE.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-BE.js
deleted file mode 100644
index c789939..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-BE.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table French (Belgium) translation
-	 * Author: Julien Bisconti (julien.bisconti@gmail.com)
-	 *         Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-BE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Pas de lignes trouvés';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-BE']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-BE.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-BE.min.js
deleted file mode 100644
index 54b9451..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-BE.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return h(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=d(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},C=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{C(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var F,N,k,I,L=R.inspectSource,q=o.WeakMap,B="function"==typeof q&&/native code/.test(L(q)),D=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,G=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+G).toString(36)},J=D("keys"),K={},Q=o.WeakMap;if(B){var U=new Q,V=U.get,Y=U.has,H=U.set;F=function(t,n){return H.call(U,t,n),n},N=function(t){return V.call(U,t)||{}},k=function(t){return Y.call(U,t)}}else{var X=J[I="state"]||(J[I]=W(I));K[X]=!0,F=function(t,n){return C(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||C(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:C(t,n,i)):f?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=d(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,ht)}},dt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Ct=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=D("wks"),Ft=o.Symbol,Nt=Rt?Ft:W,kt=function(t){return w(_t,t)||(Mt&&w(Ft,t)?_t[t]=Ft[t]:_t[t]=Nt("Symbol."+t)),_t[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Bt=o.process,Dt=Bt&&Bt.versions,zt=Dt&&Dt.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Wt=$&&+$,Jt=kt("species"),Kt=kt("isConcatSpreadable"),Qt=Wt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Ut=(Gt="concat",Wt>=51||!i((function(){var t=[];return(t.constructor={})[Jt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Vt=function(t){if(!m(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||M(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!jt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&C(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Vt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Ct(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["fr-BE"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes (filtrés à partir de ").concat(e," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-BE"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-CH.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-CH.js
deleted file mode 100644
index dfb3580..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-CH.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table French (Suisse) translation
-	 * Author: Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-CH'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Pas de lignes trouvés';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-CH']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-CH.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-CH.min.js
deleted file mode 100644
index c0dc4ca..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-CH.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return h(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=d(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},C=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{C(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var F,N,k,I,L=R.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(L(q)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;F=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=H(I));J[X]=!0,F=function(t,n){return C(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||C(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:C(t,n,i)):f?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=d(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,ht)}},dt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Ct=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Ft=o.Symbol,Nt=Rt?Ft:H,kt=function(t){return w(_t,t)||(Mt&&w(Ft,t)?_t[t]=Ft[t]:_t[t]=Nt("Symbol."+t)),_t[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||M(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!jt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&C(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Ct(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["fr-CH"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes (filtrés à partir de ").concat(e," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-CH"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-FR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-FR.js
deleted file mode 100644
index d8f90e3..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-FR.js
+++ /dev/null
@@ -1,764 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table French (France) translation
-	 * Author: Dennis Hernández (http://djhvscf.github.io/Blog/)
-	 *         Tidalf (https://github.com/TidalfFR)
-	 *         Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-FR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Aucun résultat';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-FR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-FR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-FR.min.js
deleted file mode 100644
index b59aeae..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-FR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return h(y(t))},d=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!d(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!d(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!d(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!d(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=d(S)&&d(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=m(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!d(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},R=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{R(o,t,n)}catch(r){o[t]=n}return n},M=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof M.inspectSource&&(M.inspectSource=function(t){return _.call(t)});var F,N,k,I,L=M.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(L(q)),z=r((function(t){(t.exports=function(t,n){return M[t]||(M[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},J=z("keys"),K={},Q=o.WeakMap;if(D){var U=new Q,V=U.get,Y=U.has,H=U.set;F=function(t,n){return H.call(U,t,n),n},N=function(t){return V.call(U,t)||{}},k=function(t){return Y.call(U,t)}}else{var X=J[I="state"]||(J[I]=W(I));K[X]=!0,F=function(t,n){return R(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!d(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||R(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:R(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,ht)}},mt={f:Object.getOwnPropertySymbols},dt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=dt(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Rt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Mt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Ft=o.Symbol,Nt=Mt?Ft:W,kt=function(t){return w(_t,t)||(Ct&&w(Ft,t)?_t[t]=Ft[t]:_t[t]=Nt("Symbol."+t)),_t[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?d(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Wt=$&&+$,Jt=kt("species"),Kt=kt("isConcatSpreadable"),Qt=Wt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Ut=(Gt="concat",Wt>=51||!i((function(){var t=[];return(t.constructor={})[Jt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Vt=function(t){if(!d(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!jt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&R(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Vt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Rt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Rt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["fr-FR"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes (filtrés à partir de ").concat(e," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Aucun résultat"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-FR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-LU.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-LU.js
deleted file mode 100644
index efcc9bf..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-LU.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table French (Luxembourg) translation
-	 * Author: Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['fr-LU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Chargement en cours';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " lignes par page");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes (filtr\xE9s \xE0 partir de ").concat(totalNotFiltered, " lignes)");
-	    }
-
-	    return "Affiche de ".concat(pageFrom, " \xE0 ").concat(pageTo, " sur ").concat(totalRows, " lignes");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'page précédente';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "vers la page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'page suivante';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Affiche ".concat(totalRows, " lignes");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Effacer la recherche';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Recherche';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Pas de lignes trouvés';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Cacher/Afficher pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Afficher pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Cacher pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Rafraichir';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Basculer';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Afficher vue carte';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Cacher vue carte';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonnes';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Tout basculer';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Plein écran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tout';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Rafraîchissement automatique';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporter les données';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Aller à';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Recherche avancée';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fermer';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['fr-LU']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-LU.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-LU.min.js
deleted file mode 100644
index 6e33cab..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-fr-LU.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return h(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=d(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},C=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{C(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var L,F,N,k,I=R.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(I(q)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,U=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+U).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,V=Q.get,Y=Q.has,H=Q.set;L=function(t,n){return H.call(Q,t,n),n},F=function(t){return V.call(Q,t)||{}},N=function(t){return Y.call(Q,t)}}else{var X=W[k="state"]||(W[k]=G(k));J[X]=!0,L=function(t,n){return C(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:L,get:F,has:N,enforce:function(t){return N(t)?F(t):L(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||C(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:C(t,n,i)):f?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=d(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,ht)}},dt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Ct=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Lt=o.Symbol,Ft=Rt?Lt:G,Nt=function(t){return w(_t,t)||(Mt&&w(Lt,t)?_t[t]=Lt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},kt=Nt("species"),It=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[kt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ut,Gt=$&&+$,Wt=Nt("species"),Jt=Nt("isConcatSpreadable"),Kt=Gt>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Ut="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Ut](Boolean).foo}))),Vt=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||M(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!jt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&C(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=It(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Vt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Ct(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["fr-LU"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes (filtrés à partir de ").concat(e," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(r," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-LU"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-he-IL.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-he-IL.js
deleted file mode 100644
index fefba4a..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-he-IL.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Hebrew translation
-	 * Author: legshooter
-	 */
-
-	$.fn.bootstrapTable.locales['he-IL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'טוען, נא להמתין';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u05E9\u05D5\u05E8\u05D5\u05EA \u05D1\u05E2\u05DE\u05D5\u05D3");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u05DE\u05E6\u05D9\u05D2 ".concat(pageFrom, " \u05E2\u05D3 ").concat(pageTo, " \u05DE-").concat(totalRows, "\u05E9\u05D5\u05E8\u05D5\u05EA").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u05DE\u05E6\u05D9\u05D2 ".concat(pageFrom, " \u05E2\u05D3 ").concat(pageTo, " \u05DE-").concat(totalRows, " \u05E9\u05D5\u05E8\u05D5\u05EA");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'חיפוש';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'לא נמצאו רשומות תואמות';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'הסתר/הצג מספור דפים';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'רענן';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'החלף תצוגה';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'עמודות';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'הכל';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['he-IL']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-he-IL.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-he-IL.min.js
deleted file mode 100644
index c8d1d75..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-he-IL.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var I,L,F,N,k=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(k(D)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;I=function(t,n){return Y.call(Q,t,n),n},L=function(t){return U.call(Q,t)||{}},F=function(t){return V.call(Q,t)}}else{var X=W[N="state"]||(W[N]=H(N));J[X]=!0,I=function(t,n){return M(t,X,n),n},L=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:I,get:L,has:F,enforce:function(t){return F(t)?L(t):I(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=L(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||k(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),It=o.Symbol,Lt=_t?It:H,Ft=function(t){return w(Rt,t)||(Ct&&w(It,t)?Rt[t]=It[t]:Rt[t]=Lt("Symbol."+t)),Rt[t]},Nt=Ft("species"),kt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[Nt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=Ft("species"),Jt=Ft("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=kt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["he-IL"]={formatLoadingMessage:function(){return"טוען, נא להמתין"},formatRecordsPerPage:function(t){return"".concat(t," שורות בעמוד")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"מציג ".concat(t," עד ").concat(n," מ-").concat(r,"שורות").concat(e," total rows)"):"מציג ".concat(t," עד ").concat(n," מ-").concat(r," שורות")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"חיפוש"},formatNoMatches:function(){return"לא נמצאו רשומות תואמות"},formatPaginationSwitch:function(){return"הסתר/הצג מספור דפים"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"רענן"},formatToggle:function(){return"החלף תצוגה"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"עמודות"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"הכל"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["he-IL"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hr-HR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hr-HR.js
deleted file mode 100644
index 72642de..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hr-HR.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	* Bootstrap Table Croatian translation
-	* Author: Petra Štrbenac (petra.strbenac@gmail.com)
-	* Author: Petra Štrbenac (petra.strbenac@gmail.com)
-	*/
-
-	$.fn.bootstrapTable.locales['hr-HR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Molimo pričekajte';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " broj zapisa po stranici");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Prikazujem ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja zapisa ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Prikazujem ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja zapisa ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pretraži';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nije pronađen niti jedan zapis';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Prikaži/sakrij stranice';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Osvježi';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Promijeni prikaz';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolone';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Sve';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['hr-HR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hr-HR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hr-HR.min.js
deleted file mode 100644
index 9f22db8..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hr-HR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,j=h(S)&&h(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",j?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),O=Object.getOwnPropertyDescriptor,T={f:u?O:function(t,n){if(t=m(t),n=v(n,!0),P)try{return O(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},k=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||k("__core-js_shared__",{}),C=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return C.call(t)});var _,z,N,F,I=R.inspectSource,L=o.WeakMap,D="function"==typeof L&&/native code/.test(I(L)),q=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),H=0,G=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++H+G).toString(36)},K=q("keys"),W={},J=o.WeakMap;if(D){var Q=new J,U=Q.get,V=Q.has,Y=Q.set;_=function(t,n){return Y.call(Q,t,n),n},z=function(t){return U.call(Q,t)||{}},N=function(t){return V.call(Q,t)}}else{var X=K[F="state"]||(K[F]=B(F));W[X]=!0,_=function(t,n){return M(t,X,n),n},z=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:_,get:z,has:N,enforce:function(t){return N(t)?z(t):_(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=z(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:k(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=jt[St(t)];return r==Ot||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},jt=wt.data={},Pt=wt.NATIVE="N",Ot=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=q("wks"),_t=o.Symbol,zt=Rt?_t:B,Nt=function(t){return w(Ct,t)||(kt&&w(_t,t)?Ct[t]=_t[t]:Ct[t]=zt("Symbol."+t)),Ct[t]},Ft=Nt("species"),It=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[Ft])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Ht=qt&&qt.v8;Ht?$=(Z=Ht.split("."))[0]+Z[1]:Lt&&(!(Z=Lt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Lt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Bt=$&&+$,Kt=Nt("species"),Wt=Nt("isConcatSpreadable"),Jt=Bt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Kt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||k(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Tt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["hr-HR"]={formatLoadingMessage:function(){return"Molimo pričekajte"},formatRecordsPerPage:function(t){return"".concat(t," broj zapisa po stranici")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(r," (filtered from ").concat(e," total rows)"):"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pretraži"},formatNoMatches:function(){return"Nije pronađen niti jedan zapis"},formatPaginationSwitch:function(){return"Prikaži/sakrij stranice"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Osvježi"},formatToggle:function(){return"Promijeni prikaz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hr-HR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hu-HU.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hu-HU.js
deleted file mode 100644
index 4d3c13e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hu-HU.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Hungarian translation
-	 * Author: Nagy Gergely <info@nagygergely.eu>
-	 */
-
-	$.fn.bootstrapTable.locales['hu-HU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Betöltés, kérem várjon';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekord per oldal");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Megjelen\xEDtve ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " \xF6sszesen (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Megjelen\xEDtve ".concat(pageFrom, " - ").concat(pageTo, " / ").concat(totalRows, " \xF6sszesen");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Keresés';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nincs találat';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Lapozó elrejtése/megjelenítése';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Frissítés';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Összecsuk/Kinyit';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Oszlopok';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Összes';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['hu-HU']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hu-HU.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hu-HU.min.js
deleted file mode 100644
index 7cfd635..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-hu-HU.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!m(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!m(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!m(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,j=m(S)&&m(S.createElement),O=!u&&!i((function(){return 7!=Object.defineProperty((t="div",j?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),O)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,e){if(x(t),n=v(n,!0),x(e),O)try{return A(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},M=u?function(t,n,e){return E.f(t,n,l(1,e))}:function(t,n,e){return t[n]=e,t},C=function(t,n){try{M(o,t,n)}catch(e){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),k=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return k.call(t)});var R,z,F,N,L=_.inspectSource,I=o.WeakMap,D="function"==typeof I&&/native code/.test(L(I)),q=e((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),H=0,B=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++H+B).toString(36)},K=q("keys"),U={},W=o.WeakMap;if(D){var J=new W,Q=J.get,V=J.has,Y=J.set;R=function(t,n){return Y.call(J,t,n),n},z=function(t){return Q.call(J,t)||{}},F=function(t){return V.call(J,t)}}else{var X=K[N="state"]||(K[N]=G(N));U[X]=!0,R=function(t,n){return M(t,X,n),n},z=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:R,get:z,has:F,enforce:function(t){return F(t)?z(t):R(t,{})},getterFor:function(t){return function(n){var e;if(!m(n)||(e=z(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,e,r){var o,i=h(n),u=at(i.length),c=function(t,n){var e=ct(t);return e<0?lt(e+n,0):st(e,n)}(r,u);if(t&&e!=e){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var e,r=h(t),o=0,i=[];for(e in r)!w(U,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~gt(i,e)||i.push(e));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),e=ht.f;return e?n.concat(e(t)):n},vt=function(t,n){for(var e=mt(n),r=E.f,o=T.f,i=0;i<e.length;i++){var u=e[i];w(t,u)||r(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var e=jt[St(t)];return e==Pt||e!=Ot&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},jt=wt.data={},Ot=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,e){var r=v(n);r in t?E.f(t,r,l(0,e)):t[r]=e},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),kt=q("wks"),Rt=o.Symbol,zt=_t?Rt:G,Ft=function(t){return w(kt,t)||(Ct&&w(Rt,t)?kt[t]=Rt[t]:kt[t]=zt("Symbol."+t)),kt[t]},Nt=Ft("species"),Lt=function(t,n){var e;return At(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!At(e.prototype)?m(e)&&null===(e=e[Nt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},It=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Ht=qt&&qt.v8;Ht?$=(Z=Ht.split("."))[0]+Z[1]:It&&(!(Z=It.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=It.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Gt=$&&+$,Kt=Ft("species"),Ut=Ft("isConcatSpreadable"),Wt=Gt>=51||!i((function(){var t=[];return t[Ut]=!1,t.concat()[0]!==t})),Jt=(Bt="concat",Gt>=51||!i((function(){var t=[];return(t.constructor={})[Kt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Ut];return void 0!==n?!!n:At(t)};!function(t,n){var e,r,i,u,c,f=t.target,a=t.global,l=t.stat;if(e=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(r in n){if(u=n[r],i=t.noTargetGet?(c=xt(e,r))&&c.value:e[r],!Tt(a?r:f+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(e,r,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,e,r,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,f++)e in i&&Mt(c,f,i[e])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["hu-HU"]={formatLoadingMessage:function(){return"Betöltés, kérem várjon"},formatRecordsPerPage:function(t){return"".concat(t," rekord per oldal")},formatShowingRows:function(t,n,e,r){return void 0!==r&&r>0&&r>e?"Megjelenítve ".concat(t," - ").concat(n," / ").concat(e," összesen (filtered from ").concat(r," total rows)"):"Megjelenítve ".concat(t," - ").concat(n," / ").concat(e," összesen")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Keresés"},formatNoMatches:function(){return"Nincs találat"},formatPaginationSwitch:function(){return"Lapozó elrejtése/megjelenítése"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Frissítés"},formatToggle:function(){return"Összecsuk/Kinyit"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Oszlopok"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Összes"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hu-HU"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-id-ID.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-id-ID.js
deleted file mode 100644
index 3d67e17..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-id-ID.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Indonesian translation
-	 * Author: Andre Gardiner<andre@sirdre.com>
-	 */
-
-	$.fn.bootstrapTable.locales['id-ID'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Memuat, mohon tunggu';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " baris per halaman");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Menampilkan ".concat(pageFrom, " sampai ").concat(pageTo, " dari ").concat(totalRows, " baris (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Menampilkan ".concat(pageFrom, " sampai ").concat(pageTo, " dari ").concat(totalRows, " baris");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Bersihkan filter';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pencarian';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Tidak ditemukan data yang cocok';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Sembunyikan/Tampilkan halaman';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Muat ulang';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Beralih';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'kolom';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Semua';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Ekspor data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['id-ID']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-id-ID.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-id-ID.min.js
deleted file mode 100644
index 9712efb..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-id-ID.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,m=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return m(d(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,j={f:u?P:function(t,n){if(t=y(t),n=v(n,!0),T)try{return P(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},M=Object.defineProperty,k={f:u?M:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return M(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},A=u?function(t,n,r){return k.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},E=function(t,n){try{A(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||E("__core-js_shared__",{}),C=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return C.call(t)});var R,I,D,F,N=_.inspectSource,L=o.WeakMap,q="function"==typeof L&&/native code/.test(N(L)),B=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+G).toString(36)},W=B("keys"),J={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;R=function(t,n){return Y.call(Q,t,n),n},I=function(t){return U.call(Q,t)||{}},D=function(t){return V.call(Q,t)}}else{var X=W[F="state"]||(W[F]=H(F));J[X]=!0,R=function(t,n){return A(t,X,n),n},I=function(t){return w(t,X)?t[X]:{}},D=function(t){return w(t,X)}}var Z,$,tt={set:R,get:I,has:D,enforce:function(t){return D(t)?I(t):R(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=I(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:A(t,n,i)):c?t[n]=i:E(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=y(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,mt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=y(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,mt)}},yt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=yt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=k.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",Pt=wt.POLYFILL="P",jt=wt,xt=j.f,Mt=Array.isArray||function(t){return"Array"==p(t)},kt=function(t){return Object(d(t))},At=function(t,n,r){var e=v(n);e in t?k.f(t,e,l(0,r)):t[e]=r},Et=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Et&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=B("wks"),Rt=o.Symbol,It=_t?Rt:H,Dt=function(t){return w(Ct,t)||(Et&&w(Rt,t)?Ct[t]=Rt[t]:Ct[t]=It("Symbol."+t)),Ct[t]},Ft=Dt("species"),Nt=function(t,n){var r;return Mt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Mt(r.prototype)?h(r)&&null===(r=r[Ft])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",qt=o.process,Bt=qt&&qt.versions,zt=Bt&&Bt.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:Lt&&(!(Z=Lt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Lt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Wt=Dt("species"),Jt=Dt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:Mt(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||E(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&A(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=kt(this),a=Nt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&At(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["id-ID"]={formatLoadingMessage:function(){return"Memuat, mohon tunggu"},formatRecordsPerPage:function(t){return"".concat(t," baris per halaman")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(r," baris (filtered from ").concat(e," total rows)"):"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(r," baris")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Bersihkan filter"},formatSearch:function(){return"Pencarian"},formatNoMatches:function(){return"Tidak ditemukan data yang cocok"},formatPaginationSwitch:function(){return"Sembunyikan/Tampilkan halaman"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muat ulang"},formatToggle:function(){return"Beralih"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolom"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Ekspor data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["id-ID"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-it-IT.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-it-IT.js
deleted file mode 100644
index e6be040..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-it-IT.js
+++ /dev/null
@@ -1,764 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Italian translation
-	 * Author: Davide Renzi<davide.renzi@gmail.com>
-	 * Author: Davide Borsatto <davide.borsatto@gmail.com>
-	 * Author: Alessio Felicioni <alessio.felicioni@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['it-IT'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Caricamento in corso';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " elementi per pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Visualizzazione da ".concat(pageFrom, " a ").concat(pageTo, " di ").concat(totalRows, " elementi (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Visualizzazione da ".concat(pageFrom, " a ").concat(pageTo, " di ").concat(totalRows, " elementi");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Pulisci filtri';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cerca';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nessun elemento trovato';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Nascondi/Mostra paginazione';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Aggiorna';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Attiva/Disattiva';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colonne';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tutto';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Esporta dati';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['it-IT']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-it-IT.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-it-IT.min.js
deleted file mode 100644
index fa6eda6..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-it-IT.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,j={f:u?P:function(t,n){if(t=m(t),n=v(n,!0),T)try{return P(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),z=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return z.call(t)});var R,N,I,F,k=_.inspectSource,D=o.WeakMap,L="function"==typeof D&&/native code/.test(k(D)),q=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,V=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+V).toString(36)},H=q("keys"),W={},J=o.WeakMap;if(L){var K=new J,Q=K.get,U=K.has,Y=K.set;R=function(t,n){return Y.call(K,t,n),n},N=function(t){return Q.call(K,t)||{}},I=function(t){return U.call(K,t)}}else{var X=H[F="state"]||(H[F]=B(F));W[X]=!0,R=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},I=function(t){return w(t,X)}}var Z,$,tt={set:R,get:N,has:I,enforce:function(t){return I(t)?N(t):R(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||k(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",Pt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),zt=q("wks"),Rt=o.Symbol,Nt=_t?Rt:B,It=function(t){return w(zt,t)||(Ct&&w(Rt,t)?zt[t]=Rt[t]:zt[t]=Nt("Symbol."+t)),zt[t]},Ft=It("species"),kt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[Ft])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",Lt=o.process,qt=Lt&&Lt.versions,Gt=qt&&qt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Vt,Bt=$&&+$,Ht=It("species"),Wt=It("isConcatSpreadable"),Jt=Bt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Vt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Vt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=kt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["it-IT"]={formatLoadingMessage:function(){return"Caricamento in corso"},formatRecordsPerPage:function(t){return"".concat(t," elementi per pagina")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(r," elementi (filtered from ").concat(e," total rows)"):"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(r," elementi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Pulisci filtri"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"Nessun elemento trovato"},formatPaginationSwitch:function(){return"Nascondi/Mostra paginazione"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aggiorna"},formatToggle:function(){return"Attiva/Disattiva"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colonne"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tutto"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Esporta dati"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["it-IT"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ja-JP.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ja-JP.js
deleted file mode 100644
index 7caf8ee..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ja-JP.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Japanese translation
-	 * Author: Azamshul Azizy <azamshul@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ja-JP'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '読み込み中です。少々お待ちください。';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\u30DA\u30FC\u30B8\u5F53\u305F\u308A\u6700\u5927".concat(pageNumber, "\u4EF6");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u5168".concat(totalRows, "\u4EF6\u304B\u3089\u3001").concat(pageFrom, "\u304B\u3089").concat(pageTo, "\u4EF6\u76EE\u307E\u3067\u8868\u793A\u3057\u3066\u3044\u307E\u3059 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u5168".concat(totalRows, "\u4EF6\u304B\u3089\u3001").concat(pageFrom, "\u304B\u3089").concat(pageTo, "\u4EF6\u76EE\u307E\u3067\u8868\u793A\u3057\u3066\u3044\u307E\u3059");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '検索';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '該当するレコードが見つかりません';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'ページ数を表示・非表示';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '更新';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'トグル';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '列';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'すべて';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ja-JP']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ja-JP.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ja-JP.min.js
deleted file mode 100644
index c438b5b..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ja-JP.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var F,N,k,I,L=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,J=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+J).toString(36)},H=z("keys"),W={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;F=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=H[I="state"]||(H[I]=B(I));W[X]=!0,F=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),Ft=o.Symbol,Nt=_t?Ft:B,kt=function(t){return w(Rt,t)||(Ct&&w(Ft,t)?Rt[t]=Ft[t]:Rt[t]=Nt("Symbol."+t)),Rt[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Jt,Bt=$&&+$,Ht=kt("species"),Wt=kt("isConcatSpreadable"),Kt=Bt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Qt=(Jt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Jt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["ja-JP"]={formatLoadingMessage:function(){return"読み込み中です。少々お待ちください。"},formatRecordsPerPage:function(t){return"ページ当たり最大".concat(t,"件")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"全".concat(r,"件から、").concat(t,"から").concat(n,"件目まで表示しています (filtered from ").concat(e," total rows)"):"全".concat(r,"件から、").concat(t,"から").concat(n,"件目まで表示しています")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"検索"},formatNoMatches:function(){return"該当するレコードが見つかりません"},formatPaginationSwitch:function(){return"ページ数を表示・非表示"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"更新"},formatToggle:function(){return"トグル"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"すべて"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ja-JP"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ka-GE.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ka-GE.js
deleted file mode 100644
index 738eb2d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ka-GE.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Georgian translation
-	 * Author: Levan Lotuashvili <l.lotuashvili@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ka-GE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'იტვირთება, გთხოვთ მოიცადოთ';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10D7\u10D8\u10D7\u10DD \u10D2\u10D5\u10D4\u10E0\u10D3\u10D6\u10D4");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u10DC\u10D0\u10E9\u10D5\u10D4\u10DC\u10D4\u10D1\u10D8\u10D0 ".concat(pageFrom, "-\u10D3\u10D0\u10DC ").concat(pageTo, "-\u10DB\u10D3\u10D4 \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10EF\u10D0\u10DB\u10E3\u10E0\u10D8 ").concat(totalRows, "-\u10D3\u10D0\u10DC (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u10DC\u10D0\u10E9\u10D5\u10D4\u10DC\u10D4\u10D1\u10D8\u10D0 ".concat(pageFrom, "-\u10D3\u10D0\u10DC ").concat(pageTo, "-\u10DB\u10D3\u10D4 \u10E9\u10D0\u10DC\u10D0\u10EC\u10D4\u10E0\u10D8 \u10EF\u10D0\u10DB\u10E3\u10E0\u10D8 ").concat(totalRows, "-\u10D3\u10D0\u10DC");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'ძებნა';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'მონაცემები არ არის';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'გვერდების გადამრთველის დამალვა/გამოჩენა';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'განახლება';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'ჩართვა/გამორთვა';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'სვეტები';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ka-GE']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ka-GE.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ka-GE.min.js
deleted file mode 100644
index fb0b690..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ka-GE.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:u?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var k,F,N,I,L=_.inspectSource,D=o.WeakMap,G="function"==typeof D&&/native code/.test(L(D)),q=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+B).toString(36)},W=q("keys"),J={},K=o.WeakMap;if(G){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;k=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},N=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=H(I));J[X]=!0,k=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:k,get:F,has:N,enforce:function(t){return N(t)?F(t):k(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=A.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=q("wks"),kt=o.Symbol,Ft=_t?kt:H,Nt=function(t){return w(Rt,t)||(Ct&&w(kt,t)?Rt[t]=kt[t]:Rt[t]=Ft("Symbol."+t)),Rt[t]},It=Nt("species"),Lt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",Gt=o.process,qt=Gt&&Gt.versions,zt=qt&&qt.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=Nt("species"),Jt=Nt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=At(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["ka-GE"]={formatLoadingMessage:function(){return"იტვირთება, გთხოვთ მოიცადოთ"},formatRecordsPerPage:function(t){return"".concat(t," ჩანაწერი თითო გვერდზე")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(r,"-დან (filtered from ").concat(e," total rows)"):"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(r,"-დან")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ძებნა"},formatNoMatches:function(){return"მონაცემები არ არის"},formatPaginationSwitch:function(){return"გვერდების გადამრთველის დამალვა/გამოჩენა"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"განახლება"},formatToggle:function(){return"ჩართვა/გამორთვა"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"სვეტები"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ka-GE"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ko-KR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ko-KR.js
deleted file mode 100644
index 4ec2e71..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ko-KR.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Korean translation
-	 * Author: Yi Tae-Hyeong (jsonobject@gmail.com)
-	 */
-
-	$.fn.bootstrapTable.locales['ko-KR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '데이터를 불러오는 중입니다';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\uD398\uC774\uC9C0 \uB2F9 ".concat(pageNumber, "\uAC1C \uB370\uC774\uD130 \uCD9C\uB825");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\uC804\uCCB4 ".concat(totalRows, "\uAC1C \uC911 ").concat(pageFrom, "~").concat(pageTo, "\uBC88\uC9F8 \uB370\uC774\uD130 \uCD9C\uB825, (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\uC804\uCCB4 ".concat(totalRows, "\uAC1C \uC911 ").concat(pageFrom, "~").concat(pageTo, "\uBC88\uC9F8 \uB370\uC774\uD130 \uCD9C\uB825,");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '검색';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '조회된 데이터가 없습니다.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '새로 고침';
-	  },
-	  formatToggle: function formatToggle() {
-	    return '전환';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '컬럼 필터링';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ko-KR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ko-KR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ko-KR.min.js
deleted file mode 100644
index dfb5aaf..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ko-KR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},R=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||R("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var k,F,N,I,L=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),K=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),W={},J=o.WeakMap;if(q){var Q=new J,U=Q.get,V=Q.has,Y=Q.set;k=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},N=function(t){return V.call(Q,t)}}else{var X=B[I="state"]||(B[I]=K(I));W[X]=!0,k=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:k,get:F,has:N,enforce:function(t){return N(t)?F(t):k(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:R(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),kt=o.Symbol,Ft=Ct?kt:K,Nt=function(t){return w(_t,t)||(Rt&&w(kt,t)?_t[t]=kt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},It=Nt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Kt=$&&+$,Bt=Nt("species"),Wt=Nt("isConcatSpreadable"),Jt=Kt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Qt=(Ht="concat",Kt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||R(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["ko-KR"]={formatLoadingMessage:function(){return"데이터를 불러오는 중입니다"},formatRecordsPerPage:function(t){return"페이지 당 ".concat(t,"개 데이터 출력")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"전체 ".concat(r,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력, (filtered from ").concat(e," total rows)"):"전체 ".concat(r,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력,")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"검색"},formatNoMatches:function(){return"조회된 데이터가 없습니다."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"새로 고침"},formatToggle:function(){return"전환"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"컬럼 필터링"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ko-KR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ms-MY.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ms-MY.js
deleted file mode 100644
index 7aaf3c2..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ms-MY.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Malay translation
-	 * Author: Azamshul Azizy <azamshul@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ms-MY'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Permintaan sedang dimuatkan. Sila tunggu sebentar';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekod setiap muka surat");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Sedang memaparkan rekod ".concat(pageFrom, " hingga ").concat(pageTo, " daripada jumlah ").concat(totalRows, " rekod (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Sedang memaparkan rekod ".concat(pageFrom, " hingga ").concat(pageTo, " daripada jumlah ").concat(totalRows, " rekod");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cari';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Tiada rekod yang menyamai permintaan';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Tunjuk/sembunyi muka surat';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Muatsemula';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Tukar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Lajur';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Semua';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ms-MY']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ms-MY.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ms-MY.min.js
deleted file mode 100644
index f049435..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ms-MY.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,m=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},y=function(t){return g(m(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,S=function(t,n){return b.call(t,n)},w=o.document,j=h(w)&&h(w.createElement),O=!u&&!i((function(){return 7!=Object.defineProperty((t="div",j?w.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,P={f:u?T:function(t,n){if(t=y(t),n=v(n,!0),O)try{return T(t,n)}catch(t){}if(S(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,M={f:u?k:function(t,n,r){if(x(t),n=v(n,!0),x(r),O)try{return k(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},A=u?function(t,n,r){return M.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},E=function(t,n){try{A(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||E("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var R,F,L,N,I=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(I(D)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,Y=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+Y).toString(36)},H=z("keys"),W={},J=o.WeakMap;if(q){var K=new J,Q=K.get,U=K.has,V=K.set;R=function(t,n){return V.call(K,t,n),n},F=function(t){return Q.call(K,t)||{}},L=function(t){return U.call(K,t)}}else{var X=H[N="state"]||(H[N]=B(N));W[X]=!0,R=function(t,n){return A(t,X,n),n},F=function(t){return S(t,X)?t[X]:{}},L=function(t){return S(t,X)}}var Z,$,tt={set:R,get:F,has:L,enforce:function(t){return L(t)?F(t):R(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||A(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:A(t,n,i)):c?t[n]=i:E(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=y(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=y(t),o=0,i=[];for(r in e)!S(W,r)&&S(e,r)&&i.push(r);for(;n.length>o;)S(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i}(t,gt)}},yt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=mt.f(x(t)),r=yt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=M.f,o=P.f,i=0;i<r.length;i++){var u=r[i];S(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,St=function(t,n){var r=jt[wt(t)];return r==Tt||r!=Ot&&("function"==typeof n?i(n):!!n)},wt=St.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},jt=St.data={},Ot=St.NATIVE="N",Tt=St.POLYFILL="P",Pt=St,xt=P.f,kt=Array.isArray||function(t){return"Array"==p(t)},Mt=function(t){return Object(m(t))},At=function(t,n,r){var e=v(n);e in t?M.f(t,e,l(0,r)):t[e]=r},Et=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Et&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Rt=o.Symbol,Ft=Ct?Rt:B,Lt=function(t){return S(_t,t)||(Et&&S(Rt,t)?_t[t]=Rt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},Nt=Lt("species"),It=function(t,n){var r;return kt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!kt(r.prototype)?h(r)&&null===(r=r[Nt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Yt,Bt=$&&+$,Ht=Lt("species"),Wt=Lt("isConcatSpreadable"),Jt=Bt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Yt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Yt](Boolean).foo}))),Qt=function(t){if(!h(t))return!1;var n=t[Wt];return void 0!==n?!!n:kt(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||E(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&A(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Mt(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&At(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");At(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["ms-MY"]={formatLoadingMessage:function(){return"Permintaan sedang dimuatkan. Sila tunggu sebentar"},formatRecordsPerPage:function(t){return"".concat(t," rekod setiap muka surat")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(r," rekod (filtered from ").concat(e," total rows)"):"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(r," rekod")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cari"},formatNoMatches:function(){return"Tiada rekod yang menyamai permintaan"},formatPaginationSwitch:function(){return"Tunjuk/sembunyi muka surat"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muatsemula"},formatToggle:function(){return"Tukar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Lajur"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ms-MY"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nb-NO.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nb-NO.js
deleted file mode 100644
index 3dd6479..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nb-NO.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table norwegian translation
-	 * Author: Jim Nordbø, jim@nordb.no
-	 */
-
-	$.fn.bootstrapTable.locales['nb-NO'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Oppdaterer, vennligst vent';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " poster pr side");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Viser ".concat(pageFrom, " til ").concat(pageTo, " av ").concat(totalRows, " rekker (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Viser ".concat(pageFrom, " til ").concat(pageTo, " av ").concat(totalRows, " rekker");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Søk';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ingen poster funnet';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Oppdater';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Endre';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolonner';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nb-NO']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nb-NO.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nb-NO.min.js
deleted file mode 100644
index dccc4ac..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nb-NO.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return d(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},k=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||k("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var R,N,F,I,L=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),K={},W=o.WeakMap;if(q){var J=new W,Q=J.get,U=J.has,Y=J.set;R=function(t,n){return Y.call(J,t,n),n},N=function(t){return Q.call(J,t)||{}},F=function(t){return U.call(J,t)}}else{var X=B[I="state"]||(B[I]=V(I));K[X]=!0,R=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:R,get:N,has:F,enforce:function(t){return F(t)?N(t):R(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:k(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Rt=o.Symbol,Nt=Ct?Rt:V,Ft=function(t){return w(_t,t)||(kt&&w(Rt,t)?_t[t]=Rt[t]:_t[t]=Nt("Symbol."+t)),_t[t]},It=Ft("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Vt=$&&+$,Bt=Ft("species"),Kt=Ft("isConcatSpreadable"),Wt=Vt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Jt=(Ht="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||k(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["nb-NO"]={formatLoadingMessage:function(){return"Oppdaterer, vennligst vent"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Viser ".concat(t," til ").concat(n," av ").concat(r," rekker (filtered from ").concat(e," total rows)"):"Viser ".concat(t," til ").concat(n," av ").concat(r," rekker")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Søk"},formatNoMatches:function(){return"Ingen poster funnet"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Oppdater"},formatToggle:function(){return"Endre"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nb-NO"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-BE.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-BE.js
deleted file mode 100644
index e941bc2..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-BE.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Dutch (Belgi�) translation
-	 * Author: Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['nl-BE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Laden, even geduld';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " records per pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '', " (gefilterd van ").concat(totalNotFiltered, " records in totaal)");
-	    }
-
-	    return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'vorige pagina';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "tot pagina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'volgende pagina';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Toon ".concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Verwijder filters';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Zoeken';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Geen resultaten gevonden';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Verberg/Toon paginering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Toon paginering';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Verberg paginering';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Vernieuwen';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Omschakelen';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Toon kaartweergave';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Verberg kaartweergave';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolommen';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Allen omschakelen';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Volledig scherm';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatisch vernieuwen';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporteer gegevens';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GA';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Geavanceerd zoeken';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Sluiten';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nl-BE']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-BE.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-BE.min.js
deleted file mode 100644
index 650347d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-BE.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((n=n||self).jQuery)}(this,(function(n){"use strict";n=n&&n.hasOwnProperty("default")?n.default:n;var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(n,t){return n(t={exports:{}},t.exports),t.exports}var r=function(n){return n&&n.Math==Math&&n},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(n){try{return!!n()}catch(n){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(n){var t=a(this,n);return!!t&&t.enumerable}:c},l=function(n,t){return{enumerable:!(1&n),configurable:!(2&n),writable:!(4&n),value:t}},s={}.toString,p=function(n){return s.call(n).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(n){return"String"==p(n)?g.call(n,""):Object(n)}:Object,y=function(n){if(null==n)throw TypeError("Can't call method on "+n);return n},m=function(n){return d(y(n))},h=function(n){return"object"==typeof n?null!==n:"function"==typeof n},v=function(n,t){if(!h(n))return n;var e,r;if(t&&"function"==typeof(e=n.toString)&&!h(r=e.call(n)))return r;if("function"==typeof(e=n.valueOf)&&!h(r=e.call(n)))return r;if(!t&&"function"==typeof(e=n.toString)&&!h(r=e.call(n)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(n,t){return b.call(n,t)},S=o.document,T=h(S)&&h(S.createElement),O=!u&&!i((function(){return 7!=Object.defineProperty((n="div",T?S.createElement(n):{}),"a",{get:function(){return 7}}).a;var n})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(n,t){if(n=m(n),t=v(t,!0),O)try{return j(n,t)}catch(n){}if(w(n,t))return l(!f.f.call(n,t),n[t])}},x=function(n){if(!h(n))throw TypeError(String(n)+" is not an object");return n},A=Object.defineProperty,E={f:u?A:function(n,t,e){if(x(n),t=v(t,!0),x(e),O)try{return A(n,t,e)}catch(n){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(n[t]=e.value),n}},M=u?function(n,t,e){return E.f(n,t,l(1,e))}:function(n,t,e){return n[t]=e,n},k=function(n,t){try{M(o,n,t)}catch(e){o[n]=t}return t},_=o["__core-js_shared__"]||k("__core-js_shared__",{}),C=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(n){return C.call(n)});var R,L,N,V,F=_.inspectSource,I=o.WeakMap,D="function"==typeof I&&/native code/.test(F(I)),G=e((function(n){(n.exports=function(n,t){return _[n]||(_[n]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),q=0,z=Math.random(),B=function(n){return"Symbol("+String(void 0===n?"":n)+")_"+(++q+z).toString(36)},K=G("keys"),W={},J=o.WeakMap;if(D){var Q=new J,U=Q.get,Y=Q.has,Z=Q.set;R=function(n,t){return Z.call(Q,n,t),t},L=function(n){return U.call(Q,n)||{}},N=function(n){return Y.call(Q,n)}}else{var H=K[V="state"]||(K[V]=B(V));W[H]=!0,R=function(n,t){return M(n,H,t),t},L=function(n){return w(n,H)?n[H]:{}},N=function(n){return w(n,H)}}var X,$,nn={set:R,get:L,has:N,enforce:function(n){return N(n)?L(n):R(n,{})},getterFor:function(n){return function(t){var e;if(!h(t)||(e=L(t)).type!==n)throw TypeError("Incompatible receiver, "+n+" required");return e}}},tn=e((function(n){var t=nn.get,e=nn.enforce,r=String(String).split("String");(n.exports=function(n,t,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof t||w(i,"name")||M(i,"name",t),e(i).source=r.join("string"==typeof t?t:"")),n!==o?(c?!f&&n[t]&&(a=!0):delete n[t],a?n[t]=i:M(n,t,i)):a?n[t]=i:k(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||F(this)}))})),en=o,rn=function(n){return"function"==typeof n?n:void 0},on=function(n,t){return arguments.length<2?rn(en[n])||rn(o[n]):en[n]&&en[n][t]||o[n]&&o[n][t]},un=Math.ceil,cn=Math.floor,an=function(n){return isNaN(n=+n)?0:(n>0?cn:un)(n)},fn=Math.min,ln=function(n){return n>0?fn(an(n),9007199254740991):0},sn=Math.max,pn=Math.min,gn=function(n){return function(t,e,r){var o,i=m(t),u=ln(i.length),c=function(n,t){var e=an(n);return e<0?sn(e+t,0):pn(e,t)}(r,u);if(n&&e!=e){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((n||c in i)&&i[c]===e)return n||c||0;return!n&&-1}},dn={includes:gn(!0),indexOf:gn(!1)}.indexOf,yn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mn={f:Object.getOwnPropertyNames||function(n){return function(n,t){var e,r=m(n),o=0,i=[];for(e in r)!w(W,e)&&w(r,e)&&i.push(e);for(;t.length>o;)w(r,e=t[o++])&&(~dn(i,e)||i.push(e));return i}(n,yn)}},hn={f:Object.getOwnPropertySymbols},vn=on("Reflect","ownKeys")||function(n){var t=mn.f(x(n)),e=hn.f;return e?t.concat(e(n)):t},bn=function(n,t){for(var e=vn(t),r=E.f,o=P.f,i=0;i<e.length;i++){var u=e[i];w(n,u)||r(n,u,o(t,u))}},wn=/#|\.prototype\./,Sn=function(n,t){var e=On[Tn(n)];return e==Pn||e!=jn&&("function"==typeof t?i(t):!!t)},Tn=Sn.normalize=function(n){return String(n).replace(wn,".").toLowerCase()},On=Sn.data={},jn=Sn.NATIVE="N",Pn=Sn.POLYFILL="P",xn=Sn,An=P.f,En=Array.isArray||function(n){return"Array"==p(n)},Mn=function(n){return Object(y(n))},kn=function(n,t,e){var r=v(t);r in n?E.f(n,r,l(0,e)):n[r]=e},_n=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Cn=_n&&!Symbol.sham&&"symbol"==typeof Symbol(),Rn=G("wks"),Ln=o.Symbol,Nn=Cn?Ln:B,Vn=function(n){return w(Rn,n)||(_n&&w(Ln,n)?Rn[n]=Ln[n]:Rn[n]=Nn("Symbol."+n)),Rn[n]},Fn=Vn("species"),In=function(n,t){var e;return En(n)&&("function"!=typeof(e=n.constructor)||e!==Array&&!En(e.prototype)?h(e)&&null===(e=e[Fn])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===t?0:t)},Dn=on("navigator","userAgent")||"",Gn=o.process,qn=Gn&&Gn.versions,zn=qn&&qn.v8;zn?$=(X=zn.split("."))[0]+X[1]:Dn&&(!(X=Dn.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Dn.match(/Chrome\/(\d+)/))&&($=X[1]);var Bn,Kn=$&&+$,Wn=Vn("species"),Jn=Vn("isConcatSpreadable"),Qn=Kn>=51||!i((function(){var n=[];return n[Jn]=!1,n.concat()[0]!==n})),Un=(Bn="concat",Kn>=51||!i((function(){var n=[];return(n.constructor={})[Wn]=function(){return{foo:1}},1!==n[Bn](Boolean).foo}))),Yn=function(n){if(!h(n))return!1;var t=n[Jn];return void 0!==t?!!t:En(n)};!function(n,t){var e,r,i,u,c,a=n.target,f=n.global,l=n.stat;if(e=f?o:l?o[a]||k(a,{}):(o[a]||{}).prototype)for(r in t){if(u=t[r],i=n.noTargetGet?(c=An(e,r))&&c.value:e[r],!xn(f?r:a+(l?".":"#")+r,n.forced)&&void 0!==i){if(typeof u==typeof i)continue;bn(u,i)}(n.sham||i&&i.sham)&&M(u,"sham",!0),tn(e,r,u,n)}}({target:"Array",proto:!0,forced:!Qn||!Un},{concat:function(n){var t,e,r,o,i,u=Mn(this),c=In(u,0),a=0;for(t=-1,r=arguments.length;t<r;t++)if(i=-1===t?u:arguments[t],Yn(i)){if(a+(o=ln(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,a++)e in i&&kn(c,a,i[e])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");kn(c,a++,i)}return c.length=a,c}}),n.fn.bootstrapTable.locales["nl-BE"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(n){return"".concat(n," records per pagina")},formatShowingRows:function(n,t,e,r){return void 0!==r&&r>0&&r>e?"Toon ".concat(n," tot ").concat(t," van ").concat(e," record").concat(e>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(n," tot ").concat(t," van ").concat(e," record").concat(e>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(n){return"tot pagina ".concat(n)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(n){return"Toon ".concat(n," record").concat(n>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},n.extend(n.fn.bootstrapTable.defaults,n.fn.bootstrapTable.locales["nl-BE"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-NL.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-NL.js
deleted file mode 100644
index 9638965..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-NL.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Dutch (Nederland) translation
-	 * Author: Your Name <info@a2hankes.nl>
-	 *         Nevets82 <Nevets82@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['nl-NL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Laden, even geduld';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " records per pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '', " (gefilterd van ").concat(totalNotFiltered, " records in totaal)");
-	    }
-
-	    return "Toon ".concat(pageFrom, " tot ").concat(pageTo, " van ").concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'vorige pagina';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "tot pagina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'volgende pagina';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Toon ".concat(totalRows, " record").concat(totalRows > 1 ? 's' : '');
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Verwijder filters';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Zoeken';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Geen resultaten gevonden';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Verberg/Toon paginering';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Toon paginering';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Verberg paginering';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Vernieuwen';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Omschakelen';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Toon kaartweergave';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Verberg kaartweergave';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolommen';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Allen omschakelen';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Volledig scherm';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Alle';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatisch vernieuwen';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exporteer gegevens';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GA';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Geavanceerd zoeken';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Sluiten';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['nl-NL']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-NL.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-NL.min.js
deleted file mode 100644
index 82ce5dd..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-nl-NL.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t((n=n||self).jQuery)}(this,(function(n){"use strict";n=n&&n.hasOwnProperty("default")?n.default:n;var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(n,t){return n(t={exports:{}},t.exports),t.exports}var r=function(n){return n&&n.Math==Math&&n},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),i=function(n){try{return!!n()}catch(n){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(n){var t=a(this,n);return!!t&&t.enumerable}:c},l=function(n,t){return{enumerable:!(1&n),configurable:!(2&n),writable:!(4&n),value:t}},s={}.toString,p=function(n){return s.call(n).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(n){return"String"==p(n)?g.call(n,""):Object(n)}:Object,y=function(n){if(null==n)throw TypeError("Can't call method on "+n);return n},m=function(n){return d(y(n))},h=function(n){return"object"==typeof n?null!==n:"function"==typeof n},v=function(n,t){if(!h(n))return n;var e,r;if(t&&"function"==typeof(e=n.toString)&&!h(r=e.call(n)))return r;if("function"==typeof(e=n.valueOf)&&!h(r=e.call(n)))return r;if(!t&&"function"==typeof(e=n.toString)&&!h(r=e.call(n)))return r;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(n,t){return b.call(n,t)},S=o.document,T=h(S)&&h(S.createElement),O=!u&&!i((function(){return 7!=Object.defineProperty((n="div",T?S.createElement(n):{}),"a",{get:function(){return 7}}).a;var n})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(n,t){if(n=m(n),t=v(t,!0),O)try{return j(n,t)}catch(n){}if(w(n,t))return l(!f.f.call(n,t),n[t])}},x=function(n){if(!h(n))throw TypeError(String(n)+" is not an object");return n},A=Object.defineProperty,E={f:u?A:function(n,t,e){if(x(n),t=v(t,!0),x(e),O)try{return A(n,t,e)}catch(n){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(n[t]=e.value),n}},M=u?function(n,t,e){return E.f(n,t,l(1,e))}:function(n,t,e){return n[t]=e,n},k=function(n,t){try{M(o,n,t)}catch(e){o[n]=t}return t},_=o["__core-js_shared__"]||k("__core-js_shared__",{}),C=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(n){return C.call(n)});var L,N,R,V,F=_.inspectSource,I=o.WeakMap,D="function"==typeof I&&/native code/.test(F(I)),G=e((function(n){(n.exports=function(n,t){return _[n]||(_[n]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),q=0,z=Math.random(),B=function(n){return"Symbol("+String(void 0===n?"":n)+")_"+(++q+z).toString(36)},K=G("keys"),W={},J=o.WeakMap;if(D){var Q=new J,U=Q.get,Y=Q.has,Z=Q.set;L=function(n,t){return Z.call(Q,n,t),t},N=function(n){return U.call(Q,n)||{}},R=function(n){return Y.call(Q,n)}}else{var H=K[V="state"]||(K[V]=B(V));W[H]=!0,L=function(n,t){return M(n,H,t),t},N=function(n){return w(n,H)?n[H]:{}},R=function(n){return w(n,H)}}var X,$,nn={set:L,get:N,has:R,enforce:function(n){return R(n)?N(n):L(n,{})},getterFor:function(n){return function(t){var e;if(!h(t)||(e=N(t)).type!==n)throw TypeError("Incompatible receiver, "+n+" required");return e}}},tn=e((function(n){var t=nn.get,e=nn.enforce,r=String(String).split("String");(n.exports=function(n,t,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof t||w(i,"name")||M(i,"name",t),e(i).source=r.join("string"==typeof t?t:"")),n!==o?(c?!f&&n[t]&&(a=!0):delete n[t],a?n[t]=i:M(n,t,i)):a?n[t]=i:k(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&t(this).source||F(this)}))})),en=o,rn=function(n){return"function"==typeof n?n:void 0},on=function(n,t){return arguments.length<2?rn(en[n])||rn(o[n]):en[n]&&en[n][t]||o[n]&&o[n][t]},un=Math.ceil,cn=Math.floor,an=function(n){return isNaN(n=+n)?0:(n>0?cn:un)(n)},fn=Math.min,ln=function(n){return n>0?fn(an(n),9007199254740991):0},sn=Math.max,pn=Math.min,gn=function(n){return function(t,e,r){var o,i=m(t),u=ln(i.length),c=function(n,t){var e=an(n);return e<0?sn(e+t,0):pn(e,t)}(r,u);if(n&&e!=e){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((n||c in i)&&i[c]===e)return n||c||0;return!n&&-1}},dn={includes:gn(!0),indexOf:gn(!1)}.indexOf,yn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mn={f:Object.getOwnPropertyNames||function(n){return function(n,t){var e,r=m(n),o=0,i=[];for(e in r)!w(W,e)&&w(r,e)&&i.push(e);for(;t.length>o;)w(r,e=t[o++])&&(~dn(i,e)||i.push(e));return i}(n,yn)}},hn={f:Object.getOwnPropertySymbols},vn=on("Reflect","ownKeys")||function(n){var t=mn.f(x(n)),e=hn.f;return e?t.concat(e(n)):t},bn=function(n,t){for(var e=vn(t),r=E.f,o=P.f,i=0;i<e.length;i++){var u=e[i];w(n,u)||r(n,u,o(t,u))}},wn=/#|\.prototype\./,Sn=function(n,t){var e=On[Tn(n)];return e==Pn||e!=jn&&("function"==typeof t?i(t):!!t)},Tn=Sn.normalize=function(n){return String(n).replace(wn,".").toLowerCase()},On=Sn.data={},jn=Sn.NATIVE="N",Pn=Sn.POLYFILL="P",xn=Sn,An=P.f,En=Array.isArray||function(n){return"Array"==p(n)},Mn=function(n){return Object(y(n))},kn=function(n,t,e){var r=v(t);r in n?E.f(n,r,l(0,e)):n[r]=e},_n=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Cn=_n&&!Symbol.sham&&"symbol"==typeof Symbol(),Ln=G("wks"),Nn=o.Symbol,Rn=Cn?Nn:B,Vn=function(n){return w(Ln,n)||(_n&&w(Nn,n)?Ln[n]=Nn[n]:Ln[n]=Rn("Symbol."+n)),Ln[n]},Fn=Vn("species"),In=function(n,t){var e;return En(n)&&("function"!=typeof(e=n.constructor)||e!==Array&&!En(e.prototype)?h(e)&&null===(e=e[Fn])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===t?0:t)},Dn=on("navigator","userAgent")||"",Gn=o.process,qn=Gn&&Gn.versions,zn=qn&&qn.v8;zn?$=(X=zn.split("."))[0]+X[1]:Dn&&(!(X=Dn.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Dn.match(/Chrome\/(\d+)/))&&($=X[1]);var Bn,Kn=$&&+$,Wn=Vn("species"),Jn=Vn("isConcatSpreadable"),Qn=Kn>=51||!i((function(){var n=[];return n[Jn]=!1,n.concat()[0]!==n})),Un=(Bn="concat",Kn>=51||!i((function(){var n=[];return(n.constructor={})[Wn]=function(){return{foo:1}},1!==n[Bn](Boolean).foo}))),Yn=function(n){if(!h(n))return!1;var t=n[Jn];return void 0!==t?!!t:En(n)};!function(n,t){var e,r,i,u,c,a=n.target,f=n.global,l=n.stat;if(e=f?o:l?o[a]||k(a,{}):(o[a]||{}).prototype)for(r in t){if(u=t[r],i=n.noTargetGet?(c=An(e,r))&&c.value:e[r],!xn(f?r:a+(l?".":"#")+r,n.forced)&&void 0!==i){if(typeof u==typeof i)continue;bn(u,i)}(n.sham||i&&i.sham)&&M(u,"sham",!0),tn(e,r,u,n)}}({target:"Array",proto:!0,forced:!Qn||!Un},{concat:function(n){var t,e,r,o,i,u=Mn(this),c=In(u,0),a=0;for(t=-1,r=arguments.length;t<r;t++)if(i=-1===t?u:arguments[t],Yn(i)){if(a+(o=ln(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,a++)e in i&&kn(c,a,i[e])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");kn(c,a++,i)}return c.length=a,c}}),n.fn.bootstrapTable.locales["nl-NL"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(n){return"".concat(n," records per pagina")},formatShowingRows:function(n,t,e,r){return void 0!==r&&r>0&&r>e?"Toon ".concat(n," tot ").concat(t," van ").concat(e," record").concat(e>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(n," tot ").concat(t," van ").concat(e," record").concat(e>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(n){return"tot pagina ".concat(n)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(n){return"Toon ".concat(n," record").concat(n>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},n.extend(n.fn.bootstrapTable.defaults,n.fn.bootstrapTable.locales["nl-NL"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pl-PL.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pl-PL.js
deleted file mode 100644
index 3ee642c..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pl-PL.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Polish translation
-	 * Author: zergu <michal.zagdan @ gmail com>
-	 */
-
-	$.fn.bootstrapTable.locales['pl-PL'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Ładowanie, proszę czekać';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rekord\xF3w na stron\u0119");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Wy\u015Bwietlanie rekord\xF3w od ".concat(pageFrom, " do ").concat(pageTo, " z ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Wy\u015Bwietlanie rekord\xF3w od ".concat(pageFrom, " do ").concat(pageTo, " z ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Szukaj';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Niestety, nic nie znaleziono';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Odśwież';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Przełącz';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolumny';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pl-PL']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pl-PL.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pl-PL.min.js
deleted file mode 100644
index 9d48503..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pl-PL.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var n=a(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,g=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(g(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,T={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),P)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},z=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},k=o["__core-js_shared__"]||z("__core-js_shared__",{}),C=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return C.call(t)});var _,R,L,N,F=k.inspectSource,I=o.WeakMap,D="function"==typeof I&&/native code/.test(F(I)),q=r((function(t){(t.exports=function(t,n){return k[t]||(k[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),W=0,G=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+G).toString(36)},B=q("keys"),K={},J=o.WeakMap;if(D){var Q=new J,U=Q.get,V=Q.has,Y=Q.set;_=function(t,n){return Y.call(Q,t,n),n},R=function(t){return U.call(Q,t)||{}},L=function(t){return V.call(Q,t)}}else{var X=B[N="state"]||(B[N]=H(N));K[X]=!0,_=function(t,n){return M(t,X,n),n},R=function(t){return w(t,X)?t[X]:{}},L=function(t){return w(t,X)}}var Z,$,tt={set:_,get:R,has:L,enforce:function(t){return L(t)?R(t):_(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!f&&t[n]&&(a=!0):delete t[n],a?t[n]=i:M(t,n,i)):a?t[n]=i:z(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||F(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},at=Math.min,ft=function(t){return t>0?at(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),gt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=gt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",jt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(g(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},zt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),kt=zt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=q("wks"),_t=o.Symbol,Rt=kt?_t:H,Lt=function(t){return w(Ct,t)||(zt&&w(_t,t)?Ct[t]=_t[t]:Ct[t]=Rt("Symbol."+t)),Ct[t]},Nt=Lt("species"),Ft=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[Nt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},It=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Wt=qt&&qt.v8;Wt?$=(Z=Wt.split("."))[0]+Z[1]:It&&(!(Z=It.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=It.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Ht=$&&+$,Bt=Lt("species"),Kt=Lt("isConcatSpreadable"),Jt=Ht>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,a=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[a]||z(a,{}):(o[a]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(f?e:a+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Ft(u,0),a=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(a+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,a++)r in i&&Mt(c,a,i[r])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,a++,i)}return c.length=a,c}}),t.fn.bootstrapTable.locales["pl-PL"]={formatLoadingMessage:function(){return"Ładowanie, proszę czekać"},formatRecordsPerPage:function(t){return"".concat(t," rekordów na stronę")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(r," (filtered from ").concat(e," total rows)"):"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Szukaj"},formatNoMatches:function(){return"Niestety, nic nie znaleziono"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Odśwież"},formatToggle:function(){return"Przełącz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolumny"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pl-PL"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-BR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-BR.js
deleted file mode 100644
index f58160d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-BR.js
+++ /dev/null
@@ -1,764 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Brazilian Portuguese Translation
-	 * Author: Eduardo Cerqueira<egcerqueira@gmail.com>
-	 * Update: João Mello<jmello@hotmail.com.br>
-	 * Update: Leandro Felizari<lfelizari@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['pt-BR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Carregando, aguarde';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registros por p\xE1gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Exibindo ".concat(pageFrom, " at\xE9 ").concat(pageTo, " de ").concat(totalRows, " linhas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Exibindo ".concat(pageFrom, " at\xE9 ").concat(pageTo, " de ").concat(totalRows, " linhas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'página anterior';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "Para a p\xE1gina ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'próxima página';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Mostrando ".concat(totalRows, " linhas");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Limpar Pesquisa';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pesquisar';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenhum registro encontrado';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ocultar/Exibir paginação';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Mostrar Paginação';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Esconder Paginação';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Recarregar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colunas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Tela cheia';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tudo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Atualização Automática';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportar dados';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'IR';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Pesquisa Avançada';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Fechar';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-BR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-BR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-BR.min.js
deleted file mode 100644
index a1dbf48..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-BR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,P=h(S)&&h(S.createElement),O=!u&&!i((function(){return 7!=Object.defineProperty((t="div",P?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=m(t),n=v(n,!0),O)try{return T(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:u?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),O)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},R=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||R("__core-js_shared__",{}),_=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return _.call(t)});var N,q,F,I,L=C.inspectSource,k=o.WeakMap,D="function"==typeof k&&/native code/.test(L(k)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},H=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},q=function(t){return U.call(Q,t)||{}},F=function(t){return V.call(Q,t)}}else{var X=H[I="state"]||(H[I]=W(I));J[X]=!0,N=function(t,n){return M(t,X,n),n},q=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:N,get:q,has:F,enforce:function(t){return F(t)?q(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=q(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:R(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Pt[St(t)];return r==Tt||r!=Ot&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Pt=wt.data={},Ot=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,qt=Ct?Nt:W,Ft=function(t){return w(_t,t)||(Rt&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=qt("Symbol."+t)),_t[t]},It=Ft("species"),Lt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},kt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:kt&&(!(Z=kt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=kt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Wt=$&&+$,Ht=Ft("species"),Jt=Ft("isConcatSpreadable"),Kt=Wt>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Wt>=51||!i((function(){var t=[];return(t.constructor={})[Ht]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||R(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=At(this),a=Lt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["pt-BR"]={formatLoadingMessage:function(){return"Carregando, aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Exibindo ".concat(t," até ").concat(n," de ").concat(r," linhas (filtered from ").concat(e," total rows)"):"Exibindo ".concat(t," até ").concat(n," de ").concat(r," linhas")},formatSRPaginationPreText:function(){return"página anterior"},formatSRPaginationPageText:function(t){return"Para a página ".concat(t)},formatSRPaginationNextText:function(){return"próxima página"},formatDetailPagination:function(t){return"Mostrando ".concat(t," linhas")},formatClearSearch:function(){return"Limpar Pesquisa"},formatSearch:function(){return"Pesquisar"},formatNoMatches:function(){return"Nenhum registro encontrado"},formatPaginationSwitch:function(){return"Ocultar/Exibir paginação"},formatPaginationSwitchDown:function(){return"Mostrar Paginação"},formatPaginationSwitchUp:function(){return"Esconder Paginação"},formatRefresh:function(){return"Recarregar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Tela cheia"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Atualização Automática"},formatExport:function(){return"Exportar dados"},formatJumpTo:function(){return"IR"},formatAdvancedSearch:function(){return"Pesquisa Avançada"},formatAdvancedCloseButton:function(){return"Fechar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-BR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-PT.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-PT.js
deleted file mode 100644
index 880ae37..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-PT.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Portuguese Portugal Translation
-	 * Author: Burnspirit<burnspirit@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['pt-PT'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'A carregar, por favor aguarde';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " registos por p&aacute;gina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "A mostrar ".concat(pageFrom, " at&eacute; ").concat(pageTo, " de ").concat(totalRows, " linhas (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "A mostrar ".concat(pageFrom, " at&eacute; ").concat(pageTo, " de ").concat(totalRows, " linhas");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pesquisa';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenhum registo encontrado';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Esconder/Mostrar pagina&ccedil&atilde;o';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Atualizar';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Alternar';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Colunas';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tudo';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['pt-PT']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-PT.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-PT.min.js
deleted file mode 100644
index 116696e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-pt-PT.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return d(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),T=Object.getOwnPropertyDescriptor,j={f:u?T:function(t,n){if(t=h(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var N,F,k,I,L=_.inspectSource,q=o.WeakMap,D="function"==typeof q&&/native code/.test(L(q)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(D){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=H(I));J[X]=!0,N=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:k,enforce:function(t){return k(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=j.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Tt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",Tt=wt.POLYFILL="P",jt=wt,xt=j.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),Nt=o.Symbol,Ft=_t?Nt:H,kt=function(t){return w(Rt,t)||(Ct&&w(Nt,t)?Rt[t]=Nt[t]:Rt[t]=Ft("Symbol."+t)),Rt[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},qt=ot("navigator","userAgent")||"",Dt=o.process,zt=Dt&&Dt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:qt&&(!(Z=qt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=qt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!jt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=Lt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["pt-PT"]={formatLoadingMessage:function(){return"A carregar, por favor aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registos por p&aacute;gina")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(r," linhas (filtered from ").concat(e," total rows)"):"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(r," linhas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pesquisa"},formatNoMatches:function(){return"Nenhum registo encontrado"},formatPaginationSwitch:function(){return"Esconder/Mostrar pagina&ccedil&atilde;o"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Atualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-PT"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ro-RO.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ro-RO.js
deleted file mode 100644
index 4ca17a4..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ro-RO.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Romanian translation
-	 * Author: cristake <cristianiosif@me.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ro-RO'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Se incarca, va rugam asteptati';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " inregistrari pe pagina");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Arata de la ".concat(pageFrom, " pana la ").concat(pageTo, " din ").concat(totalRows, " randuri (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Arata de la ".concat(pageFrom, " pana la ").concat(pageTo, " din ").concat(totalRows, " randuri");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Cauta';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nu au fost gasite inregistrari';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Ascunde/Arata paginatia';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Reincarca';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Comuta';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Coloane';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Toate';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ro-RO']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ro-RO.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ro-RO.min.js
deleted file mode 100644
index bb25bc7..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ro-RO.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,d=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return d(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!a&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:a?j:function(t,n){if(t=m(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:a?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},C=a?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{C(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,F,k,I,L=R.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,B=Math.random(),H=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+B).toString(36)},W=z("keys"),J={},K=o.WeakMap;if(q){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;N=function(t,n){return Y.call(Q,t,n),n},F=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=H(I));J[X]=!0,N=function(t,n){return C(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:N,get:F,has:k,enforce:function(t){return k(t)?F(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||C(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(u?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:C(t,n,i)):c?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,at=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(ut(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),a=ft(i.length),u=function(t,n){var r=ut(t);return r<0?lt(r+n,0):st(r,n)}(e,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,dt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,dt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=E.f,o=P.f,i=0;i<r.length;i++){var a=r[i];w(t,a)||e(t,a,o(n,a))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Ct=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,Ft=Rt?Nt:H,kt=function(t){return w(_t,t)||(Mt&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=Ft("Symbol."+t)),_t[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Ht=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Ht>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Bt="concat",Ht>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Ut=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,a,u,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||M(c,{}):(o[c]||{}).prototype)for(e in n){if(a=n[e],i=t.noTargetGet?(u=xt(r,e))&&u.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;vt(a,i)}(t.sham||i&&i.sham)&&C(a,"sham",!0),nt(r,e,a,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,a=Et(this),u=Lt(a,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?a:arguments[n],Ut(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Ct(u,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(u,c++,i)}return u.length=c,u}}),t.fn.bootstrapTable.locales["ro-RO"]={formatLoadingMessage:function(){return"Se incarca, va rugam asteptati"},formatRecordsPerPage:function(t){return"".concat(t," inregistrari pe pagina")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Arata de la ".concat(t," pana la ").concat(n," din ").concat(r," randuri (filtered from ").concat(e," total rows)"):"Arata de la ".concat(t," pana la ").concat(n," din ").concat(r," randuri")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cauta"},formatNoMatches:function(){return"Nu au fost gasite inregistrari"},formatPaginationSwitch:function(){return"Ascunde/Arata paginatia"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Reincarca"},formatToggle:function(){return"Comuta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Coloane"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Toate"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ro-RO"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ru-RU.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ru-RU.js
deleted file mode 100644
index c552157..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ru-RU.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Russian translation
-	 * Author: Dunaevsky Maxim <dunmaksim@yandex.ru>
-	 */
-
-	$.fn.bootstrapTable.locales['ru-RU'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Пожалуйста, подождите, идёт загрузка';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0437\u0430\u043F\u0438\u0441\u0435\u0439 \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0417\u0430\u043F\u0438\u0441\u0438 \u0441 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, " \u0438\u0437 ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0417\u0430\u043F\u0438\u0441\u0438 \u0441 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, " \u0438\u0437 ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Очистить фильтры';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Поиск';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Ничего не найдено';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Обновить';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Переключить';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Колонки';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ru-RU']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ru-RU.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ru-RU.min.js
deleted file mode 100644
index 62c966e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ru-RU.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},R=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||R("__core-js_shared__",{}),C=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return C.call(t)});var F,N,k,I,L=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),W={},J=o.WeakMap;if(q){var K=new J,Q=K.get,V=K.has,Y=K.set;F=function(t,n){return Y.call(K,t,n),n},N=function(t){return Q.call(K,t)||{}},k=function(t){return V.call(K,t)}}else{var X=B[I="state"]||(B[I]=U(I));W[X]=!0,F=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:R(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Rt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Rt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=z("wks"),Ft=o.Symbol,Nt=_t?Ft:U,kt=function(t){return w(Ct,t)||(Rt&&w(Ft,t)?Ct[t]=Ft[t]:Ct[t]=Nt("Symbol."+t)),Ct[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Ut=$&&+$,Bt=kt("species"),Wt=kt("isConcatSpreadable"),Jt=Ut>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Ht="concat",Ut>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||R(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["ru-RU"]={formatLoadingMessage:function(){return"Пожалуйста, подождите, идёт загрузка"},formatRecordsPerPage:function(t){return"".concat(t," записей на страницу")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Записи с ".concat(t," по ").concat(n," из ").concat(r," (filtered from ").concat(e," total rows)"):"Записи с ".concat(t," по ").concat(n," из ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистить фильтры"},formatSearch:function(){return"Поиск"},formatNoMatches:function(){return"Ничего не найдено"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Обновить"},formatToggle:function(){return"Переключить"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Колонки"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ru-RU"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sk-SK.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sk-SK.js
deleted file mode 100644
index 576748f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sk-SK.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Slovak translation
-	 * Author: Jozef Dúc<jozef.d13@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['sk-SK'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Prosím čakajte';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " z\xE1znamov na stranu");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Zobrazen\xE1 ".concat(pageFrom, ". - ").concat(pageTo, ". polo\u017Eka z celkov\xFDch ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Zobrazen\xE1 ".concat(pageFrom, ". - ").concat(pageTo, ". polo\u017Eka z celkov\xFDch ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Odstráň filtre';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Vyhľadávanie';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nenájdená žiadna vyhovujúca položka';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Skry/Zobraz stránkovanie';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Obnoviť';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Prepni';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Stĺpce';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Všetky';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Exportuj dáta';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sk-SK']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sk-SK.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sk-SK.min.js
deleted file mode 100644
index 54aee5a..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sk-SK.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var n=a(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return g(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,A={f:u?k:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return k(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||M("__core-js_shared__",{}),z=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return z.call(t)});var C,R,N,F,I=_.inspectSource,L=o.WeakMap,D="function"==typeof L&&/native code/.test(I(L)),q=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,K=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+K).toString(36)},Z=q("keys"),B={},H=o.WeakMap;if(D){var W=new H,J=W.get,Q=W.has,U=W.set;C=function(t,n){return U.call(W,t,n),n},R=function(t){return J.call(W,t)||{}},N=function(t){return Q.call(W,t)}}else{var Y=Z[F="state"]||(Z[F]=V(F));B[Y]=!0,C=function(t,n){return E(t,Y,n),n},R=function(t){return w(t,Y)?t[Y]:{}},N=function(t){return w(t,Y)}}var X,$,tt={set:C,get:R,has:N,enforce:function(t){return N(t)?R(t):C(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=R(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||E(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!f&&t[n]&&(a=!0):delete t[n],a?t[n]=i:E(t,n,i)):a?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},at=Math.min,ft=function(t){return t>0?at(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(B,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~yt(i,r)||i.push(r));return i}(t,gt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=A.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,kt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(d(t))},Et=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),zt=q("wks"),Ct=o.Symbol,Rt=_t?Ct:V,Nt=function(t){return w(zt,t)||(Mt&&w(Ct,t)?zt[t]=Ct[t]:zt[t]=Rt("Symbol."+t)),zt[t]},Ft=Nt("species"),It=function(t,n){var r;return kt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!kt(r.prototype)?m(r)&&null===(r=r[Ft])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Gt=qt&&qt.v8;Gt?$=(X=Gt.split("."))[0]+X[1]:Lt&&(!(X=Lt.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Lt.match(/Chrome\/(\d+)/))&&($=X[1]);var Kt,Vt=$&&+$,Zt=Nt("species"),Bt=Nt("isConcatSpreadable"),Ht=Vt>=51||!i((function(){var t=[];return t[Bt]=!1,t.concat()[0]!==t})),Wt=(Kt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Zt]=function(){return{foo:1}},1!==t[Kt](Boolean).foo}))),Jt=function(t){if(!m(t))return!1;var n=t[Bt];return void 0!==n?!!n:kt(t)};!function(t,n){var r,e,i,u,c,a=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[a]||M(a,{}):(o[a]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(f?e:a+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&E(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Ht||!Wt},{concat:function(t){var n,r,e,o,i,u=At(this),c=It(u,0),a=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Jt(i)){if(a+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,a++)r in i&&Et(c,a,i[r])}else{if(a>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Et(c,a++,i)}return c.length=a,c}}),t.fn.bootstrapTable.locales["sk-SK"]={formatLoadingMessage:function(){return"Prosím čakajte"},formatRecordsPerPage:function(t){return"".concat(t," záznamov na stranu")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(r," (filtered from ").concat(e," total rows)"):"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Odstráň filtre"},formatSearch:function(){return"Vyhľadávanie"},formatNoMatches:function(){return"Nenájdená žiadna vyhovujúca položka"},formatPaginationSwitch:function(){return"Skry/Zobraz stránkovanie"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Obnoviť"},formatToggle:function(){return"Prepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Stĺpce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Všetky"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportuj dáta"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sk-SK"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js
deleted file mode 100644
index 9f1bdd2..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	* Bootstrap Table Serbian Cyrilic RS translation
-	* Author: Vladimir Kanazir (vladimir@kanazir.com)
-	*/
-
-	$.fn.bootstrapTable.locales['sr-Cyrl-RS'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Молим сачекај';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0440\u0435\u0434\u043E\u0432\u0430 \u043F\u043E \u0441\u0442\u0440\u0430\u043D\u0438");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u041F\u0440\u0438\u043A\u0430\u0437\u0430\u043D\u043E ".concat(pageFrom, ". - ").concat(pageTo, ". \u043E\u0434 \u0443\u043A\u0443\u043F\u043D\u043E\u0433 \u0431\u0440\u043E\u0458\u0430 \u0440\u0435\u0434\u043E\u0432\u0430 ").concat(totalRows, " (\u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u043E \u043E\u0434 ").concat(totalNotFiltered, ")");
-	    }
-
-	    return "\u041F\u0440\u0438\u043A\u0430\u0437\u0430\u043D\u043E ".concat(pageFrom, ". - ").concat(pageTo, ". \u043E\u0434 \u0443\u043A\u0443\u043F\u043D\u043E\u0433 \u0431\u0440\u043E\u0458\u0430 \u0440\u0435\u0434\u043E\u0432\u0430 ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'претходна страна';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "\u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0443 ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'следећа страна';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "\u041F\u0440\u0438\u043A\u0430\u0437\u0430\u043D\u043E ".concat(totalRows, " \u0440\u0435\u0434\u043E\u0432\u0430");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Обриши претрагу';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Пронађи';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Није пронађен ни један податак';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Прикажи/сакриј пагинацију';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Прикажи пагинацију';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Сакриј пагинацију';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Освежи';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Промени приказ';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Прикажи картице';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Сакриј картице';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Колоне';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Прикажи/сакриј све';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Цео екран';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Све';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Аутоматско освежавање';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Извези податке';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Иди';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Напредна претрага';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Затвори';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sr-Cyrl-RS']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.min.js
deleted file mode 100644
index 48fcbfe..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Cyrl-RS.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),u=function(t){try{return!!t()}catch(t){return!0}},i=!u((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),f={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,a={f:c&&!f.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:f},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,g=u((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,m=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return g(m(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,S=function(t,n){return b.call(t,n)},w=o.document,O=h(w)&&h(w.createElement),j=!i&&!u((function(){return 7!=Object.defineProperty((t="div",O?w.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:i?P:function(t,n){if(t=d(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(S(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:i?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=i?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,k,F,I,L=R.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},J=z("keys"),K={},Q=o.WeakMap;if(q){var U=new Q,V=U.get,Y=U.has,H=U.set;N=function(t,n){return H.call(U,t,n),n},k=function(t){return V.call(U,t)||{}},F=function(t){return Y.call(U,t)}}else{var X=J[I="state"]||(J[I]=W(I));K[X]=!0,N=function(t,n){return M(t,X,n),n},k=function(t){return S(t,X)?t[X]:{}},F=function(t){return S(t,X)}}var Z,$,tt={set:N,get:k,has:F,enforce:function(t){return F(t)?k(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=k(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,u,i){var f=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,a=!!i&&!!i.noTargetGet;"function"==typeof u&&("string"!=typeof n||S(u,"name")||M(u,"name",n),r(u).source=e.join("string"==typeof n?n:"")),t!==o?(f?!a&&t[n]&&(c=!0):delete t[n],c?t[n]=u:M(t,n,u)):c?t[n]=u:C(n,u)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},ut=Math.ceil,it=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?it:ut)(t)},ct=Math.min,at=function(t){return t>0?ct(ft(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,u=d(n),i=at(u.length),f=function(t,n){var r=ft(t);return r<0?lt(r+n,0):st(r,n)}(e,i);if(t&&r!=r){for(;i>f;)if((o=u[f++])!=o)return!0}else for(;i>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,u=[];for(r in e)!S(K,r)&&S(e,r)&&u.push(r);for(;n.length>o;)S(e,r=n[o++])&&(~yt(u,r)||u.push(r));return u}(t,gt)}},dt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=mt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=T.f,u=0;u<r.length;u++){var i=r[u];S(t,i)||e(t,i,o(n,i))}},bt=/#|\.prototype\./,St=function(t,n){var r=Ot[wt(t)];return r==Pt||r!=jt&&("function"==typeof n?u(n):!!n)},wt=St.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=St.data={},jt=St.NATIVE="N",Pt=St.POLYFILL="P",Tt=St,xt=T.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(m(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!u((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=z("wks"),Nt=o.Symbol,kt=Rt?Nt:W,Ft=function(t){return S(_t,t)||(Ct&&S(Nt,t)?_t[t]=Nt[t]:_t[t]=kt("Symbol."+t)),_t[t]},It=Ft("species"),Lt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Bt=zt&&zt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Wt=$&&+$,Jt=Ft("species"),Kt=Ft("isConcatSpreadable"),Qt=Wt>=51||!u((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Ut=(Gt="concat",Wt>=51||!u((function(){var t=[];return(t.constructor={})[Jt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Vt=function(t){if(!h(t))return!1;var n=t[Kt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,u,i,f,c=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(i=n[e],u=t.noTargetGet?(f=xt(r,e))&&f.value:r[e],!Tt(a?e:c+(l?".":"#")+e,t.forced)&&void 0!==u){if(typeof i==typeof u)continue;vt(i,u)}(t.sham||u&&u.sham)&&M(i,"sham",!0),nt(r,e,i,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,u,i=At(this),f=Lt(i,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(u=-1===n?i:arguments[n],Vt(u)){if(c+(o=at(u.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in u&&Mt(f,c,u[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(f,c++,u)}return f.length=c,f}}),t.fn.bootstrapTable.locales["sr-Cyrl-RS"]={formatLoadingMessage:function(){return"Молим сачекај"},formatRecordsPerPage:function(t){return"".concat(t," редова по страни")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(r," (филтрирано од ").concat(e,")"):"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(r)},formatSRPaginationPreText:function(){return"претходна страна"},formatSRPaginationPageText:function(t){return"на страну ".concat(t)},formatSRPaginationNextText:function(){return"следећа страна"},formatDetailPagination:function(t){return"Приказано ".concat(t," редова")},formatClearSearch:function(){return"Обриши претрагу"},formatSearch:function(){return"Пронађи"},formatNoMatches:function(){return"Није пронађен ни један податак"},formatPaginationSwitch:function(){return"Прикажи/сакриј пагинацију"},formatPaginationSwitchDown:function(){return"Прикажи пагинацију"},formatPaginationSwitchUp:function(){return"Сакриј пагинацију"},formatRefresh:function(){return"Освежи"},formatToggle:function(){return"Промени приказ"},formatToggleOn:function(){return"Прикажи картице"},formatToggleOff:function(){return"Сакриј картице"},formatColumns:function(){return"Колоне"},formatColumnsToggleAll:function(){return"Прикажи/сакриј све"},formatFullscreen:function(){return"Цео екран"},formatAllRows:function(){return"Све"},formatAutoRefresh:function(){return"Аутоматско освежавање"},formatExport:function(){return"Извези податке"},formatJumpTo:function(){return"Иди"},formatAdvancedSearch:function(){return"Напредна претрага"},formatAdvancedCloseButton:function(){return"Затвори"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Cyrl-RS"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js
deleted file mode 100644
index 44dd80f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	* Bootstrap Table Serbian Latin RS translation
-	* Author: Vladimir Kanazir (vladimir@kanazir.com)
-	*/
-
-	$.fn.bootstrapTable.locales['sr-Latn-RS'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Molim sačekaj';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " redova po strani");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Prikazano ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja redova ").concat(totalRows, " (filtrirano od ").concat(totalNotFiltered, ")");
-	    }
-
-	    return "Prikazano ".concat(pageFrom, ". - ").concat(pageTo, ". od ukupnog broja redova ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'prethodna strana';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "na stranu ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'sledeća strana';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Prikazano ".concat(totalRows, " redova");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Obriši pretragu';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Pronađi';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Nije pronađen ni jedan podatak';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Prikaži/sakrij paginaciju';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Prikaži paginaciju';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Sakrij paginaciju';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Osveži';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Promeni prikaz';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Prikaži kartice';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Sakrij kartice';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Kolone';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Prikaži/sakrij sve';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Ceo ekran';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Sve';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Automatsko osvežavanje';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Izvezi podatke';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'Idi';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Napredna pretraga';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Zatvori';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sr-Latn-RS']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.min.js
deleted file mode 100644
index 7b3fe8d..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sr-Latn-RS.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=function(t){return g(y(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,S=function(t,n){return b.call(t,n)},j=o.document,w=h(j)&&h(j.createElement),P=!a&&!i((function(){return 7!=Object.defineProperty((t="div",w?j.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),O=Object.getOwnPropertyDescriptor,k={f:a?O:function(t,n){if(t=m(t),n=v(n,!0),P)try{return O(t,n)}catch(t){}if(S(t,n))return l(!f.f.call(t,n),t[n])}},T=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},x=Object.defineProperty,A={f:a?x:function(t,n,r){if(T(t),n=v(n,!0),T(r),P)try{return x(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},E=a?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},M=function(t,n){try{E(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||M("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var C,z,N,I,L=R.inspectSource,F=o.WeakMap,D="function"==typeof F&&/native code/.test(L(F)),q=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),K=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},W=q("keys"),J={},Q=o.WeakMap;if(D){var U=new Q,V=U.get,Y=U.has,Z=U.set;C=function(t,n){return Z.call(U,t,n),n},z=function(t){return V.call(U,t)||{}},N=function(t){return Y.call(U,t)}}else{var H=W[I="state"]||(W[I]=K(I));J[H]=!0,C=function(t,n){return E(t,H,n),n},z=function(t){return S(t,H)?t[H]:{}},N=function(t){return S(t,H)}}var X,$,tt={set:C,get:z,has:N,enforce:function(t){return N(t)?z(t):C(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=z(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||E(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(u?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:E(t,n,i)):c?t[n]=i:M(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,at=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(ut(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=m(n),a=ft(i.length),u=function(t,n){var r=ut(t);return r<0?lt(r+n,0):st(r,n)}(e,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=m(t),o=0,i=[];for(r in e)!S(J,r)&&S(e,r)&&i.push(r);for(;n.length>o;)S(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i}(t,gt)}},mt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=yt.f(T(t)),r=mt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=k.f,i=0;i<r.length;i++){var a=r[i];S(t,a)||e(t,a,o(n,a))}},bt=/#|\.prototype\./,St=function(t,n){var r=wt[jt(t)];return r==Ot||r!=Pt&&("function"==typeof n?i(n):!!n)},jt=St.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},wt=St.data={},Pt=St.NATIVE="N",Ot=St.POLYFILL="P",kt=St,Tt=k.f,xt=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Et=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Mt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Mt&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=q("wks"),Ct=o.Symbol,zt=Rt?Ct:K,Nt=function(t){return S(_t,t)||(Mt&&S(Ct,t)?_t[t]=Ct[t]:_t[t]=zt("Symbol."+t)),_t[t]},It=Nt("species"),Lt=function(t,n){var r;return xt(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!xt(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Ft=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Bt=qt&&qt.v8;Bt?$=(X=Bt.split("."))[0]+X[1]:Ft&&(!(X=Ft.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=Ft.match(/Chrome\/(\d+)/))&&($=X[1]);var Gt,Kt=$&&+$,Wt=Nt("species"),Jt=Nt("isConcatSpreadable"),Qt=Kt>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Ut=(Gt="concat",Kt>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Vt=function(t){if(!h(t))return!1;var n=t[Jt];return void 0!==n?!!n:xt(t)};!function(t,n){var r,e,i,a,u,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||M(c,{}):(o[c]||{}).prototype)for(e in n){if(a=n[e],i=t.noTargetGet?(u=Tt(r,e))&&u.value:r[e],!kt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;vt(a,i)}(t.sham||i&&i.sham)&&E(a,"sham",!0),nt(r,e,a,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,i,a=At(this),u=Lt(a,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?a:arguments[n],Vt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Et(u,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Et(u,c++,i)}return u.length=c,u}}),t.fn.bootstrapTable.locales["sr-Latn-RS"]={formatLoadingMessage:function(){return"Molim sačekaj"},formatRecordsPerPage:function(t){return"".concat(t," redova po strani")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(r," (filtrirano od ").concat(e,")"):"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(r)},formatSRPaginationPreText:function(){return"prethodna strana"},formatSRPaginationPageText:function(t){return"na stranu ".concat(t)},formatSRPaginationNextText:function(){return"sledeća strana"},formatDetailPagination:function(t){return"Prikazano ".concat(t," redova")},formatClearSearch:function(){return"Obriši pretragu"},formatSearch:function(){return"Pronađi"},formatNoMatches:function(){return"Nije pronađen ni jedan podatak"},formatPaginationSwitch:function(){return"Prikaži/sakrij paginaciju"},formatPaginationSwitchDown:function(){return"Prikaži paginaciju"},formatPaginationSwitchUp:function(){return"Sakrij paginaciju"},formatRefresh:function(){return"Osveži"},formatToggle:function(){return"Promeni prikaz"},formatToggleOn:function(){return"Prikaži kartice"},formatToggleOff:function(){return"Sakrij kartice"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Prikaži/sakrij sve"},formatFullscreen:function(){return"Ceo ekran"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Automatsko osvežavanje"},formatExport:function(){return"Izvezi podatke"},formatJumpTo:function(){return"Idi"},formatAdvancedSearch:function(){return"Napredna pretraga"},formatAdvancedCloseButton:function(){return"Zatvori"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Latn-RS"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sv-SE.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sv-SE.js
deleted file mode 100644
index 47c9814..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sv-SE.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Swedish translation
-	 * Author: C Bratt <bratt@inix.se>
-	 */
-
-	$.fn.bootstrapTable.locales['sv-SE'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Laddar, vänligen vänta';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " rader per sida");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Visa ".concat(pageFrom, " till ").concat(pageTo, " av ").concat(totalRows, " rader (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Visa ".concat(pageFrom, " till ").concat(pageTo, " av ").concat(totalRows, " rader");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Sök';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Inga matchande resultat funna.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Uppdatera';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Skifta';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'kolumn';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['sv-SE']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sv-SE.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sv-SE.min.js
deleted file mode 100644
index e5fb42b..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-sv-SE.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},d="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return g(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,S=function(t,n){return b.call(t,n)},w=o.document,O=m(w)&&m(w.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?w.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(S(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:u?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var k,F,I,L,N=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(N(D)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),U={},W=o.WeakMap;if(q){var J=new W,K=J.get,Q=J.has,Y=J.set;k=function(t,n){return Y.call(J,t,n),n},F=function(t){return K.call(J,t)||{}},I=function(t){return Q.call(J,t)}}else{var X=B[L="state"]||(B[L]=V(L));U[X]=!0,k=function(t,n){return M(t,X,n),n},F=function(t){return S(t,X)?t[X]:{}},I=function(t){return S(t,X)}}var Z,$,tt={set:k,get:F,has:I,enforce:function(t){return I(t)?F(t):k(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||S(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!S(U,r)&&S(e,r)&&i.push(r);for(;n.length>o;)S(e,r=n[o++])&&(~dt(i,r)||i.push(r));return i}(t,gt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=A.f,o=T.f,i=0;i<r.length;i++){var u=r[i];S(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,St=function(t,n){var r=Ot[wt(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},wt=St.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=St.data={},jt=St.NATIVE="N",Pt=St.POLYFILL="P",Tt=St,xt=T.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),kt=o.Symbol,Ft=_t?kt:V,It=function(t){return S(Rt,t)||(Ct&&S(kt,t)?Rt[t]=kt[t]:Rt[t]=Ft("Symbol."+t)),Rt[t]},Lt=It("species"),Nt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?m(r)&&null===(r=r[Lt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Vt=$&&+$,Bt=It("species"),Ut=It("isConcatSpreadable"),Wt=Vt>=51||!i((function(){var t=[];return t[Ut]=!1,t.concat()[0]!==t})),Jt=(Ht="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Kt=function(t){if(!m(t))return!1;var n=t[Ut];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Tt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=At(this),a=Nt(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Kt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["sv-SE"]={formatLoadingMessage:function(){return"Laddar, vänligen vänta"},formatRecordsPerPage:function(t){return"".concat(t," rader per sida")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Visa ".concat(t," till ").concat(n," av ").concat(r," rader (filtered from ").concat(e," total rows)"):"Visa ".concat(t," till ").concat(n," av ").concat(r," rader")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Sök"},formatNoMatches:function(){return"Inga matchande resultat funna."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Uppdatera"},formatToggle:function(){return"Skifta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolumn"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sv-SE"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-th-TH.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-th-TH.js
deleted file mode 100644
index a0d4978..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-th-TH.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Thai translation
-	 * Author: Monchai S.<monchais@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['th-TH'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'กำลังโหลดข้อมูล, กรุณารอสักครู่';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48 ".concat(pageFrom, " \u0E16\u0E36\u0E07 ").concat(pageTo, " \u0E08\u0E32\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ").concat(totalRows, " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48 ".concat(pageFrom, " \u0E16\u0E36\u0E07 ").concat(pageTo, " \u0E08\u0E32\u0E01\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14 ").concat(totalRows, " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'ค้นหา';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'ไม่พบรายการที่ค้นหา !';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'รีเฟรส';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'สลับมุมมอง';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'คอลัมน์';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['th-TH']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-th-TH.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-th-TH.min.js
deleted file mode 100644
index b6390a2..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-th-TH.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var F,N,k,I,L=_.inspectSource,D=o.WeakMap,H="function"==typeof D&&/native code/.test(L(D)),q=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,G=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+G).toString(36)},W=q("keys"),J={},K=o.WeakMap;if(H){var Q=new K,U=Q.get,V=Q.has,Y=Q.set;F=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=W[I="state"]||(W[I]=B(I));J[X]=!0,F=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(J,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=q("wks"),Ft=o.Symbol,Nt=_t?Ft:B,kt=function(t){return w(Rt,t)||(Ct&&w(Ft,t)?Rt[t]=Ft[t]:Rt[t]=Nt("Symbol."+t)),Rt[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",Ht=o.process,qt=Ht&&Ht.versions,zt=qt&&qt.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Bt=$&&+$,Wt=kt("species"),Jt=kt("isConcatSpreadable"),Kt=Bt>=51||!i((function(){var t=[];return t[Jt]=!1,t.concat()[0]!==t})),Qt=(Gt="concat",Bt>=51||!i((function(){var t=[];return(t.constructor={})[Wt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Jt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Pt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Kt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["th-TH"]={formatLoadingMessage:function(){return"กำลังโหลดข้อมูล, กรุณารอสักครู่"},formatRecordsPerPage:function(t){return"".concat(t," รายการต่อหน้า")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(r," รายการ (filtered from ").concat(e," total rows)"):"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(r," รายการ")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ค้นหา"},formatNoMatches:function(){return"ไม่พบรายการที่ค้นหา !"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"รีเฟรส"},formatToggle:function(){return"สลับมุมมอง"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"คอลัมน์"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["th-TH"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-tr-TR.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-tr-TR.js
deleted file mode 100644
index e4d036e..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-tr-TR.js
+++ /dev/null
@@ -1,763 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Turkish translation
-	 * Author: Emin Şen
-	 * Author: Sercan Cakir <srcnckr@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['tr-TR'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Yükleniyor, lütfen bekleyin';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "Sayfa ba\u015F\u0131na ".concat(pageNumber, " kay\u0131t.");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "".concat(totalRows, " kay\u0131ttan ").concat(pageFrom, "-").concat(pageTo, " aras\u0131 g\xF6steriliyor (filtered from ").concat(totalNotFiltered, " total rows).");
-	    }
-
-	    return "".concat(totalRows, " kay\u0131ttan ").concat(pageFrom, "-").concat(pageTo, " aras\u0131 g\xF6steriliyor.");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Ara';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Eşleşen kayıt bulunamadı.';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Yenile';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Değiştir';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Sütunlar';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Tüm Satırlar';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['tr-TR']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-tr-TR.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-tr-TR.min.js
deleted file mode 100644
index b2cccef..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-tr-TR.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!a.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,g=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return g(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},k=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||k("__core-js_shared__",{}),C=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return C.call(t)});var _,F,N,D,I=R.inspectSource,L=o.WeakMap,q="function"==typeof L&&/native code/.test(I(L)),z=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),Y=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),W={},J=o.WeakMap;if(q){var K=new J,Q=K.get,U=K.has,V=K.set;_=function(t,n){return V.call(K,t,n),n},F=function(t){return Q.call(K,t)||{}},N=function(t){return U.call(K,t)}}else{var X=B[D="state"]||(B[D]=Y(D));W[X]=!0,_=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:_,get:F,has:N,enforce:function(t){return N(t)?F(t):_(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var a=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(a?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:k(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||I(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(at(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=ft(i.length),a=function(t,n){var r=at(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>a;)if((o=i[a++])!=o)return!0}else for(;u>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~yt(i,r)||i.push(r));return i}(t,gt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},kt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=kt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=z("wks"),_t=o.Symbol,Ft=Rt?_t:Y,Nt=function(t){return w(Ct,t)||(kt&&w(_t,t)?Ct[t]=_t[t]:Ct[t]=Ft("Symbol."+t)),Ct[t]},Dt=Nt("species"),It=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[Dt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Lt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Lt&&(!(Z=Lt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Lt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Yt=$&&+$,Bt=Nt("species"),Wt=Nt("isConcatSpreadable"),Jt=Yt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Ht="concat",Yt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,a,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||k(c,{}):(o[c]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(a=xt(r,e))&&a.value:r[e],!Pt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Et(this),a=It(u,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(a,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(a,c++,i)}return a.length=c,a}}),t.fn.bootstrapTable.locales["tr-TR"]={formatLoadingMessage:function(){return"Yükleniyor, lütfen bekleyin"},formatRecordsPerPage:function(t){return"Sayfa başına ".concat(t," kayıt.")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"".concat(r," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor (filtered from ").concat(e," total rows)."):"".concat(r," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Ara"},formatNoMatches:function(){return"Eşleşen kayıt bulunamadı."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yenile"},formatToggle:function(){return"Değiştir"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sütunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tüm Satırlar"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["tr-TR"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uk-UA.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uk-UA.js
deleted file mode 100644
index df32b63..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uk-UA.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Ukrainian translation
-	 * Author: Vitaliy Timchenko <vitaliy.timchenko@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['uk-UA'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Завантаження, будь ласка, зачекайте';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0437\u0430\u043F\u0438\u0441\u0456\u0432 \u043D\u0430 \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0443");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0437 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, ". \u0412\u0441\u044C\u043E\u0433\u043E: ").concat(totalRows, " (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0437 ".concat(pageFrom, " \u043F\u043E ").concat(pageTo, ". \u0412\u0441\u044C\u043E\u0433\u043E: ").concat(totalRows);
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Очистити фільтри';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Пошук';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Не знайдено жодного запису';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Оновити';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Змінити';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Стовпці';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['uk-UA']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uk-UA.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uk-UA.min.js
deleted file mode 100644
index 533779a..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uk-UA.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:u?P:function(t,n){if(t=h(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},_=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||_("__core-js_shared__",{}),R=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return R.call(t)});var k,F,N,I,L=C.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),W={},J=o.WeakMap;if(q){var K=new J,Q=K.get,V=K.has,Y=K.set;k=function(t,n){return Y.call(K,t,n),n},F=function(t){return Q.call(K,t)||{}},N=function(t){return V.call(K,t)}}else{var X=B[I="state"]||(B[I]=U(I));W[X]=!0,k=function(t,n){return M(t,X,n),n},F=function(t){return w(t,X)?t[X]:{}},N=function(t){return w(t,X)}}var Z,$,tt={set:k,get:F,has:N,enforce:function(t){return N(t)?F(t):k(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:_(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},_t=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=_t&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),kt=o.Symbol,Ft=Ct?kt:U,Nt=function(t){return w(Rt,t)||(_t&&w(kt,t)?Rt[t]=kt[t]:Rt[t]=Ft("Symbol."+t)),Rt[t]},It=Nt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Ut=$&&+$,Bt=Nt("species"),Wt=Nt("isConcatSpreadable"),Jt=Ut>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Kt=(Ht="concat",Ut>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||_(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Kt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["uk-UA"]={formatLoadingMessage:function(){return"Завантаження, будь ласка, зачекайте"},formatRecordsPerPage:function(t){return"".concat(t," записів на сторінку")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(r," (filtered from ").concat(e," total rows)"):"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(r)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистити фільтри"},formatSearch:function(){return"Пошук"},formatNoMatches:function(){return"Не знайдено жодного запису"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Оновити"},formatToggle:function(){return"Змінити"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Стовпці"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uk-UA"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ur-PK.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ur-PK.js
deleted file mode 100644
index f440fa2..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ur-PK.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Urdu translation
-	 * Author: Malik <me@malikrizwan.com>
-	 */
-
-	$.fn.bootstrapTable.locales['ur-PK'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'براۓ مہربانی انتظار کیجئے';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " \u0631\u06CC\u06A9\u0627\u0631\u0688\u0632 \u0641\u06CC \u0635\u0641\u06C1 ");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA ".concat(pageFrom, " \u0633\u06D2 ").concat(pageTo, " \u06A9\u06D2 ").concat(totalRows, "\u0631\u06CC\u06A9\u0627\u0631\u0688\u0632 (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "\u062F\u06CC\u06A9\u06BE\u06CC\u06BA ".concat(pageFrom, " \u0633\u06D2 ").concat(pageTo, " \u06A9\u06D2 ").concat(totalRows, "\u0631\u06CC\u06A9\u0627\u0631\u0688\u0632");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'تلاش';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'کوئی ریکارڈ نہیں ملا';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'تازہ کریں';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'تبدیل کریں';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'کالم';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['ur-PK']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ur-PK.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ur-PK.min.js
deleted file mode 100644
index 8f4a48f..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-ur-PK.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,d=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return y(d(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),P=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,T={f:u?j:function(t,n){if(t=h(t),n=v(n,!0),P)try{return j(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),P)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),R=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return R.call(t)});var F,N,k,I,L=_.inspectSource,D=o.WeakMap,q="function"==typeof D&&/native code/.test(L(D)),z=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,H=Math.random(),K=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+H).toString(36)},B=z("keys"),W={},J=o.WeakMap;if(q){var Q=new J,U=Q.get,V=Q.has,Y=Q.set;F=function(t,n){return Y.call(Q,t,n),n},N=function(t){return U.call(Q,t)||{}},k=function(t){return V.call(Q,t)}}else{var X=B[I="state"]||(B[I]=K(I));W[X]=!0,F=function(t,n){return M(t,X,n),n},N=function(t){return w(t,X)?t[X]:{}},k=function(t){return w(t,X)}}var Z,$,tt={set:F,get:N,has:k,enforce:function(t){return k(t)?N(t):F(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=N(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=h(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),dt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=h(t),o=0,i=[];for(r in e)!w(W,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,yt)}},ht={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=dt.f(x(t)),r=ht.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Pt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Pt=wt.NATIVE="N",jt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(d(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=z("wks"),Ft=o.Symbol,Nt=_t?Ft:K,kt=function(t){return w(Rt,t)||(Ct&&w(Ft,t)?Rt[t]=Ft[t]:Rt[t]=Nt("Symbol."+t)),Rt[t]},It=kt("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",qt=o.process,zt=qt&&qt.versions,Gt=zt&&zt.v8;Gt?$=(Z=Gt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Ht,Kt=$&&+$,Bt=kt("species"),Wt=kt("isConcatSpreadable"),Jt=Kt>=51||!i((function(){var t=[];return t[Wt]=!1,t.concat()[0]!==t})),Qt=(Ht="concat",Kt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Ht](Boolean).foo}))),Ut=function(t){if(!m(t))return!1;var n=t[Wt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Tt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Jt||!Qt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Ut(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["ur-PK"]={formatLoadingMessage:function(){return"براۓ مہربانی انتظار کیجئے"},formatRecordsPerPage:function(t){return"".concat(t," ریکارڈز فی صفہ ")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(r,"ریکارڈز (filtered from ").concat(e," total rows)"):"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(r,"ریکارڈز")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"تلاش"},formatNoMatches:function(){return"کوئی ریکارڈ نہیں ملا"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تازہ کریں"},formatToggle:function(){return"تبدیل کریں"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"کالم"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ur-PK"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js
deleted file mode 100644
index c145993..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Uzbek translation
-	 * Author: Nabijon Masharipov <mnabijonz@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['uz-Latn-UZ'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Yuklanyapti, iltimos kuting';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " qator har sahifada");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Ko'rsatypati ".concat(pageFrom, " dan ").concat(pageTo, " gacha ").concat(totalRows, " qatorlarni (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Ko'rsatypati ".concat(pageFrom, " dan ").concat(pageTo, " gacha ").concat(totalRows, " qatorlarni");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Filtrlarni tozalash';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Qidirish';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Hech narsa topilmadi';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Sahifalashni yashirish/ko\'rsatish';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Yangilash';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Ko\'rinish';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Ustunlar';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'Hammasi';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Eksport';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['uz-Latn-UZ']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.min.js
deleted file mode 100644
index 11c5239..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,f={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return h(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),j=!a&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:a?P:function(t,n){if(t=d(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!f.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:a?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=a?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},_=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},k=o["__core-js_shared__"]||_("__core-js_shared__",{}),C=Function.toString;"function"!=typeof k.inspectSource&&(k.inspectSource=function(t){return C.call(t)});var R,F,L,q,N=k.inspectSource,z=o.WeakMap,I="function"==typeof z&&/native code/.test(N(z)),D=r((function(t){(t.exports=function(t,n){return k[t]||(k[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),H=0,K=Math.random(),U=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++H+K).toString(36)},G=D("keys"),Y={},B=o.WeakMap;if(I){var Q=new B,W=Q.get,Z=Q.has,J=Q.set;R=function(t,n){return J.call(Q,t,n),n},F=function(t){return W.call(Q,t)||{}},L=function(t){return Z.call(Q,t)}}else{var V=G[q="state"]||(G[q]=U(q));Y[V]=!0,R=function(t,n){return M(t,V,n),n},F=function(t){return w(t,V)?t[V]:{}},L=function(t){return w(t,V)}}var X,$,tt={set:R,get:F,has:L,enforce:function(t){return L(t)?F(t):R(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(u?!f&&t[n]&&(c=!0):delete t[n],c?t[n]=i:M(t,n,i)):c?t[n]=i:_(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||N(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,at=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ct=Math.min,ft=function(t){return t>0?ct(ut(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=d(n),a=ft(i.length),u=function(t,n){var r=ut(t);return r<0?lt(r+n,0):st(r,n)}(e,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,i=[];for(r in e)!w(Y,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,ht)}},dt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=T.f,i=0;i<r.length;i++){var a=r[i];w(t,a)||e(t,a,o(n,a))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},_t=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),kt=_t&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=D("wks"),Rt=o.Symbol,Ft=kt?Rt:U,Lt=function(t){return w(Ct,t)||(_t&&w(Rt,t)?Ct[t]=Rt[t]:Ct[t]=Ft("Symbol."+t)),Ct[t]},qt=Lt("species"),Nt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[qt])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},zt=ot("navigator","userAgent")||"",It=o.process,Dt=It&&It.versions,Ht=Dt&&Dt.v8;Ht?$=(X=Ht.split("."))[0]+X[1]:zt&&(!(X=zt.match(/Edge\/(\d+)/))||X[1]>=74)&&(X=zt.match(/Chrome\/(\d+)/))&&($=X[1]);var Kt,Ut=$&&+$,Gt=Lt("species"),Yt=Lt("isConcatSpreadable"),Bt=Ut>=51||!i((function(){var t=[];return t[Yt]=!1,t.concat()[0]!==t})),Qt=(Kt="concat",Ut>=51||!i((function(){var t=[];return(t.constructor={})[Gt]=function(){return{foo:1}},1!==t[Kt](Boolean).foo}))),Wt=function(t){if(!m(t))return!1;var n=t[Yt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,a,u,c=t.target,f=t.global,l=t.stat;if(r=f?o:l?o[c]||_(c,{}):(o[c]||{}).prototype)for(e in n){if(a=n[e],i=t.noTargetGet?(u=xt(r,e))&&u.value:r[e],!Tt(f?e:c+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;vt(a,i)}(t.sham||i&&i.sham)&&M(a,"sham",!0),nt(r,e,a,t)}}({target:"Array",proto:!0,forced:!Bt||!Qt},{concat:function(t){var n,r,e,o,i,a=Et(this),u=Nt(a,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?a:arguments[n],Wt(i)){if(c+(o=ft(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in i&&Mt(u,c,i[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(u,c++,i)}return u.length=c,u}}),t.fn.bootstrapTable.locales["uz-Latn-UZ"]={formatLoadingMessage:function(){return"Yuklanyapti, iltimos kuting"},formatRecordsPerPage:function(t){return"".concat(t," qator har sahifada")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(r," qatorlarni (filtered from ").concat(e," total rows)"):"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(r," qatorlarni")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Filtrlarni tozalash"},formatSearch:function(){return"Qidirish"},formatNoMatches:function(){return"Hech narsa topilmadi"},formatPaginationSwitch:function(){return"Sahifalashni yashirish/ko'rsatish"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yangilash"},formatToggle:function(){return"Ko'rinish"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Ustunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Hammasi"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uz-Latn-UZ"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-vi-VN.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-vi-VN.js
deleted file mode 100644
index e524dad..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-vi-VN.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Vietnamese translation
-	 * Author: Duc N. PHAM <pngduc@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['vi-VN'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return 'Đang tải';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "".concat(pageNumber, " b\u1EA3n ghi m\u1ED7i trang");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "Hi\u1EC3n th\u1ECB t\u1EEB trang ".concat(pageFrom, " \u0111\u1EBFn ").concat(pageTo, " c\u1EE7a ").concat(totalRows, " b\u1EA3ng ghi (filtered from ").concat(totalNotFiltered, " total rows)");
-	    }
-
-	    return "Hi\u1EC3n th\u1ECB t\u1EEB trang ".concat(pageFrom, " \u0111\u1EBFn ").concat(pageTo, " c\u1EE7a ").concat(totalRows, " b\u1EA3ng ghi");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return 'previous page';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "to page ".concat(page);
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return 'next page';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "Showing ".concat(totalRows, " rows");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return 'Clear Search';
-	  },
-	  formatSearch: function formatSearch() {
-	    return 'Tìm kiếm';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return 'Không có dữ liệu';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return 'Hide/Show pagination';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return 'Show pagination';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return 'Hide pagination';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return 'Refresh';
-	  },
-	  formatToggle: function formatToggle() {
-	    return 'Toggle';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return 'Show card view';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return 'Hide card view';
-	  },
-	  formatColumns: function formatColumns() {
-	    return 'Columns';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return 'Toggle all';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return 'Fullscreen';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return 'All';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return 'Auto Refresh';
-	  },
-	  formatExport: function formatExport() {
-	    return 'Export data';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return 'GO';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return 'Advanced search';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return 'Close';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['vi-VN']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-vi-VN.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-vi-VN.min.js
deleted file mode 100644
index 31974b8..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-vi-VN.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,a={f:f&&!c.call({1:2},1)?function(t){var n=f(this,t);return!!n&&n.enumerable}:c},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},g="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return h(y(t))},m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!m(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!m(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!m(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=m(S)&&m(S.createElement),T=!u&&!i((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:u?j:function(t,n){if(t=d(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},A=Object.defineProperty,E={f:u?A:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return A(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=u?function(t,n,r){return E.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},R=o["__core-js_shared__"]||C("__core-js_shared__",{}),_=Function.toString;"function"!=typeof R.inspectSource&&(R.inspectSource=function(t){return _.call(t)});var N,k,F,I,L=R.inspectSource,D=o.WeakMap,H="function"==typeof D&&/native code/.test(L(D)),q=r((function(t){(t.exports=function(t,n){return R[t]||(R[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,G=Math.random(),V=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+G).toString(36)},B=q("keys"),K={},W=o.WeakMap;if(H){var J=new W,Q=J.get,U=J.has,Y=J.set;N=function(t,n){return Y.call(J,t,n),n},k=function(t){return Q.call(J,t)||{}},F=function(t){return U.call(J,t)}}else{var X=B[I="state"]||(B[I]=V(I));K[X]=!0,N=function(t,n){return M(t,X,n),n},k=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:N,get:k,has:F,enforce:function(t){return F(t)?k(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!m(n)||(r=k(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,a=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||M(i,"name",n),r(i).source=e.join("string"==typeof n?n:"")),t!==o?(c?!a&&t[n]&&(f=!0):delete t[n],f?t[n]=i:M(t,n,i)):f?t[n]=i:C(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},ft=Math.min,at=function(t){return t>0?ft(ct(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,i=d(n),u=at(i.length),c=function(t,n){var r=ct(t);return r<0?lt(r+n,0):st(r,n)}(e,u);if(t&&r!=r){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===r)return t||c||0;return!t&&-1}},gt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),yt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,i=[];for(r in e)!w(K,r)&&w(e,r)&&i.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~gt(i,r)||i.push(r));return i}(t,ht)}},dt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=yt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=mt(n),e=E.f,o=P.f,i=0;i<r.length;i++){var u=r[i];w(t,u)||e(t,u,o(n,u))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?i(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,At=Array.isArray||function(t){return"Array"==p(t)},Et=function(t){return Object(y(t))},Mt=function(t,n,r){var e=v(n);e in t?E.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Rt=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),_t=q("wks"),Nt=o.Symbol,kt=Rt?Nt:V,Ft=function(t){return w(_t,t)||(Ct&&w(Nt,t)?_t[t]=Nt[t]:_t[t]=kt("Symbol."+t)),_t[t]},It=Ft("species"),Lt=function(t,n){var r;return At(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!At(r.prototype)?m(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},Dt=ot("navigator","userAgent")||"",Ht=o.process,qt=Ht&&Ht.versions,zt=qt&&qt.v8;zt?$=(Z=zt.split("."))[0]+Z[1]:Dt&&(!(Z=Dt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=Dt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Vt=$&&+$,Bt=Ft("species"),Kt=Ft("isConcatSpreadable"),Wt=Vt>=51||!i((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Jt=(Gt="concat",Vt>=51||!i((function(){var t=[];return(t.constructor={})[Bt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Qt=function(t){if(!m(t))return!1;var n=t[Kt];return void 0!==n?!!n:At(t)};!function(t,n){var r,e,i,u,c,f=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[f]||C(f,{}):(o[f]||{}).prototype)for(e in n){if(u=n[e],i=t.noTargetGet?(c=xt(r,e))&&c.value:r[e],!Pt(a?e:f+(l?".":"#")+e,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;vt(u,i)}(t.sham||i&&i.sham)&&M(u,"sham",!0),nt(r,e,u,t)}}({target:"Array",proto:!0,forced:!Wt||!Jt},{concat:function(t){var n,r,e,o,i,u=Et(this),c=Lt(u,0),f=0;for(n=-1,e=arguments.length;n<e;n++)if(i=-1===n?u:arguments[n],Qt(i)){if(f+(o=at(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,f++)r in i&&Mt(c,f,i[r])}else{if(f>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(c,f++,i)}return c.length=f,c}}),t.fn.bootstrapTable.locales["vi-VN"]={formatLoadingMessage:function(){return"Đang tải"},formatRecordsPerPage:function(t){return"".concat(t," bản ghi mỗi trang")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(r," bảng ghi (filtered from ").concat(e," total rows)"):"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(r," bảng ghi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Tìm kiếm"},formatNoMatches:function(){return"Không có dữ liệu"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["vi-VN"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-CN.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-CN.js
deleted file mode 100644
index 349bef5..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-CN.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Chinese translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['zh-CN'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '正在努力地加载数据中，请稍候';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\u6BCF\u9875\u663E\u793A ".concat(pageNumber, " \u6761\u8BB0\u5F55");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u663E\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u6761\u8BB0\u5F55\uFF0C\u603B\u5171 ").concat(totalRows, " \u6761\u8BB0\u5F55\uFF08\u4ECE ").concat(totalNotFiltered, " \u603B\u8BB0\u5F55\u4E2D\u8FC7\u6EE4\uFF09");
-	    }
-
-	    return "\u663E\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u6761\u8BB0\u5F55\uFF0C\u603B\u5171 ").concat(totalRows, " \u6761\u8BB0\u5F55");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return '上一页';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "\u7B2C".concat(page, "\u9875");
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return '下一页';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "\u603B\u5171 ".concat(totalRows, " \u6761\u8BB0\u5F55");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return '清空过滤';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '搜索';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '没有找到匹配的记录';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return '隐藏/显示分页';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return '显示分页';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return '隐藏分页';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '刷新';
-	  },
-	  formatToggle: function formatToggle() {
-	    return '切换';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return '显示卡片视图';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return '隐藏卡片视图';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '列';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return '切换所有';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return '全屏';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return '所有';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return '自动刷新';
-	  },
-	  formatExport: function formatExport() {
-	    return '导出数据';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return '跳转';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return '高级搜索';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return '关闭';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-CN.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-CN.min.js
deleted file mode 100644
index 57b3cdd..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-CN.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),u=function(t){try{return!!t()}catch(t){return!0}},i=!u((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),f={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,a={f:c&&!f.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:f},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,g=u((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,m=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return g(m(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),j=!i&&!u((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),P=Object.getOwnPropertyDescriptor,T={f:i?P:function(t,n){if(t=d(t),n=v(n,!0),j)try{return P(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:i?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),j)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=i?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},C=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},_=o["__core-js_shared__"]||C("__core-js_shared__",{}),N=Function.toString;"function"!=typeof _.inspectSource&&(_.inspectSource=function(t){return N.call(t)});var R,k,F,I,L=_.inspectSource,z=o.WeakMap,D="function"==typeof z&&/native code/.test(L(z)),q=r((function(t){(t.exports=function(t,n){return _[t]||(_[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=0,G=Math.random(),W=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++B+G).toString(36)},J=q("keys"),K={},Q=o.WeakMap;if(D){var U=new Q,V=U.get,Y=U.has,H=U.set;R=function(t,n){return H.call(U,t,n),n},k=function(t){return V.call(U,t)||{}},F=function(t){return Y.call(U,t)}}else{var X=J[I="state"]||(J[I]=W(I));K[X]=!0,R=function(t,n){return M(t,X,n),n},k=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:R,get:k,has:F,enforce:function(t){return F(t)?k(t):R(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=k(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,u,i){var f=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,a=!!i&&!!i.noTargetGet;"function"==typeof u&&("string"!=typeof n||w(u,"name")||M(u,"name",n),r(u).source=e.join("string"==typeof n?n:"")),t!==o?(f?!a&&t[n]&&(c=!0):delete t[n],c?t[n]=u:M(t,n,u)):c?t[n]=u:C(n,u)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},ut=Math.ceil,it=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?it:ut)(t)},ct=Math.min,at=function(t){return t>0?ct(ft(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,u=d(n),i=at(u.length),f=function(t,n){var r=ft(t);return r<0?lt(r+n,0):st(r,n)}(e,i);if(t&&r!=r){for(;i>f;)if((o=u[f++])!=o)return!0}else for(;i>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,u=[];for(r in e)!w(K,r)&&w(e,r)&&u.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~yt(u,r)||u.push(r));return u}(t,gt)}},dt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=mt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=T.f,u=0;u<r.length;u++){var i=r[u];w(t,i)||e(t,i,o(n,i))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==Pt||r!=jt&&("function"==typeof n?u(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},jt=wt.NATIVE="N",Pt=wt.POLYFILL="P",Tt=wt,xt=T.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(m(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},Ct=!!Object.getOwnPropertySymbols&&!u((function(){return!String(Symbol())})),_t=Ct&&!Symbol.sham&&"symbol"==typeof Symbol(),Nt=q("wks"),Rt=o.Symbol,kt=_t?Rt:W,Ft=function(t){return w(Nt,t)||(Ct&&w(Rt,t)?Nt[t]=Rt[t]:Nt[t]=kt("Symbol."+t)),Nt[t]},It=Ft("species"),Lt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},zt=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Bt=qt&&qt.v8;Bt?$=(Z=Bt.split("."))[0]+Z[1]:zt&&(!(Z=zt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=zt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Gt,Wt=$&&+$,Jt=Ft("species"),Kt=Ft("isConcatSpreadable"),Qt=Wt>=51||!u((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Ut=(Gt="concat",Wt>=51||!u((function(){var t=[];return(t.constructor={})[Jt]=function(){return{foo:1}},1!==t[Gt](Boolean).foo}))),Vt=function(t){if(!h(t))return!1;var n=t[Kt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,u,i,f,c=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[c]||C(c,{}):(o[c]||{}).prototype)for(e in n){if(i=n[e],u=t.noTargetGet?(f=xt(r,e))&&f.value:r[e],!Tt(a?e:c+(l?".":"#")+e,t.forced)&&void 0!==u){if(typeof i==typeof u)continue;vt(i,u)}(t.sham||u&&u.sham)&&M(i,"sham",!0),nt(r,e,i,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,u,i=At(this),f=Lt(i,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(u=-1===n?i:arguments[n],Vt(u)){if(c+(o=at(u.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in u&&Mt(f,c,u[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(f,c++,u)}return f.length=c,f}}),t.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中，请稍候"},formatRecordsPerPage:function(t){return"每页显示 ".concat(t," 条记录")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"显示第 ".concat(t," 到第 ").concat(n," 条记录，总共 ").concat(r," 条记录（从 ").concat(e," 总记录中过滤）"):"显示第 ".concat(t," 到第 ").concat(n," 条记录，总共 ").concat(r," 条记录")},formatSRPaginationPreText:function(){return"上一页"},formatSRPaginationPageText:function(t){return"第".concat(t,"页")},formatSRPaginationNextText:function(){return"下一页"},formatDetailPagination:function(t){return"总共 ".concat(t," 条记录")},formatClearSearch:function(){return"清空过滤"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatPaginationSwitchDown:function(){return"显示分页"},formatPaginationSwitchUp:function(){return"隐藏分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatToggleOn:function(){return"显示卡片视图"},formatToggleOff:function(){return"隐藏卡片视图"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切换所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自动刷新"},formatExport:function(){return"导出数据"},formatJumpTo:function(){return"跳转"},formatAdvancedSearch:function(){return"高级搜索"},formatAdvancedCloseButton:function(){return"关闭"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-CN"])}));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-TW.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-TW.js
deleted file mode 100644
index b9d94b2..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-TW.js
+++ /dev/null
@@ -1,762 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document) && isObject(document.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	var createProperty = function (object, key, value) {
-	  var propertyKey = toPrimitive(key);
-	  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));
-	  else object[propertyKey] = value;
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var userAgent = getBuiltIn('navigator', 'userAgent') || '';
-
-	var process = global_1.process;
-	var versions = process && process.versions;
-	var v8 = versions && versions.v8;
-	var match, version;
-
-	if (v8) {
-	  match = v8.split('.');
-	  version = match[0] + match[1];
-	} else if (userAgent) {
-	  match = userAgent.match(/Edge\/(\d+)/);
-	  if (!match || match[1] >= 74) {
-	    match = userAgent.match(/Chrome\/(\d+)/);
-	    if (match) version = match[1];
-	  }
-	}
-
-	var v8Version = version && +version;
-
-	var SPECIES$1 = wellKnownSymbol('species');
-
-	var arrayMethodHasSpeciesSupport = function (METHOD_NAME) {
-	  // We can't use this feature detection in V8 since it causes
-	  // deoptimization and serious performance degradation
-	  // https://github.com/zloirock/core-js/issues/677
-	  return v8Version >= 51 || !fails(function () {
-	    var array = [];
-	    var constructor = array.constructor = {};
-	    constructor[SPECIES$1] = function () {
-	      return { foo: 1 };
-	    };
-	    return array[METHOD_NAME](Boolean).foo !== 1;
-	  });
-	};
-
-	var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-	var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-	var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-
-	// We can't use this feature detection in V8 since it causes
-	// deoptimization and serious performance degradation
-	// https://github.com/zloirock/core-js/issues/679
-	var IS_CONCAT_SPREADABLE_SUPPORT = v8Version >= 51 || !fails(function () {
-	  var array = [];
-	  array[IS_CONCAT_SPREADABLE] = false;
-	  return array.concat()[0] !== array;
-	});
-
-	var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
-	var isConcatSpreadable = function (O) {
-	  if (!isObject(O)) return false;
-	  var spreadable = O[IS_CONCAT_SPREADABLE];
-	  return spreadable !== undefined ? !!spreadable : isArray(O);
-	};
-
-	var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-
-	// `Array.prototype.concat` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.concat
-	// with adding support of @@isConcatSpreadable and @@species
-	_export({ target: 'Array', proto: true, forced: FORCED }, {
-	  concat: function concat(arg) { // eslint-disable-line no-unused-vars
-	    var O = toObject(this);
-	    var A = arraySpeciesCreate(O, 0);
-	    var n = 0;
-	    var i, k, length, len, E;
-	    for (i = -1, length = arguments.length; i < length; i++) {
-	      E = i === -1 ? O : arguments[i];
-	      if (isConcatSpreadable(E)) {
-	        len = toLength(E.length);
-	        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
-	      } else {
-	        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-	        createProperty(A, n++, E);
-	      }
-	    }
-	    A.length = n;
-	    return A;
-	  }
-	});
-
-	/**
-	 * Bootstrap Table Chinese translation
-	 * Author: Zhixin Wen<wenzhixin2010@gmail.com>
-	 */
-
-	$.fn.bootstrapTable.locales['zh-TW'] = {
-	  formatLoadingMessage: function formatLoadingMessage() {
-	    return '正在努力地載入資料，請稍候';
-	  },
-	  formatRecordsPerPage: function formatRecordsPerPage(pageNumber) {
-	    return "\u6BCF\u9801\u986F\u793A ".concat(pageNumber, " \u9805\u8A18\u9304");
-	  },
-	  formatShowingRows: function formatShowingRows(pageFrom, pageTo, totalRows, totalNotFiltered) {
-	    if (totalNotFiltered !== undefined && totalNotFiltered > 0 && totalNotFiltered > totalRows) {
-	      return "\u986F\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u9805\u8A18\u9304\uFF0C\u7E3D\u5171 ").concat(totalRows, " \u9805\u8A18\u9304\uFF08\u5F9E ").concat(totalNotFiltered, " \u7E3D\u8A18\u9304\u4E2D\u904E\u6FFE\uFF09");
-	    }
-
-	    return "\u986F\u793A\u7B2C ".concat(pageFrom, " \u5230\u7B2C ").concat(pageTo, " \u9805\u8A18\u9304\uFF0C\u7E3D\u5171 ").concat(totalRows, " \u9805\u8A18\u9304");
-	  },
-	  formatSRPaginationPreText: function formatSRPaginationPreText() {
-	    return '上一頁';
-	  },
-	  formatSRPaginationPageText: function formatSRPaginationPageText(page) {
-	    return "\u7B2C".concat(page, "\u9801");
-	  },
-	  formatSRPaginationNextText: function formatSRPaginationNextText() {
-	    return '下一頁';
-	  },
-	  formatDetailPagination: function formatDetailPagination(totalRows) {
-	    return "\u7E3D\u5171 ".concat(totalRows, " \u9805\u8A18\u9304");
-	  },
-	  formatClearSearch: function formatClearSearch() {
-	    return '清空過濾';
-	  },
-	  formatSearch: function formatSearch() {
-	    return '搜尋';
-	  },
-	  formatNoMatches: function formatNoMatches() {
-	    return '沒有找到符合的結果';
-	  },
-	  formatPaginationSwitch: function formatPaginationSwitch() {
-	    return '隱藏/顯示分頁';
-	  },
-	  formatPaginationSwitchDown: function formatPaginationSwitchDown() {
-	    return '顯示分頁';
-	  },
-	  formatPaginationSwitchUp: function formatPaginationSwitchUp() {
-	    return '隱藏分頁';
-	  },
-	  formatRefresh: function formatRefresh() {
-	    return '重新整理';
-	  },
-	  formatToggle: function formatToggle() {
-	    return '切換';
-	  },
-	  formatToggleOn: function formatToggleOn() {
-	    return '顯示卡片視圖';
-	  },
-	  formatToggleOff: function formatToggleOff() {
-	    return '隱藏卡片視圖';
-	  },
-	  formatColumns: function formatColumns() {
-	    return '列';
-	  },
-	  formatColumnsToggleAll: function formatColumnsToggleAll() {
-	    return '切換所有';
-	  },
-	  formatFullscreen: function formatFullscreen() {
-	    return '全屏';
-	  },
-	  formatAllRows: function formatAllRows() {
-	    return '所有';
-	  },
-	  formatAutoRefresh: function formatAutoRefresh() {
-	    return '自動刷新';
-	  },
-	  formatExport: function formatExport() {
-	    return '導出數據';
-	  },
-	  formatJumpTo: function formatJumpTo() {
-	    return '跳轉';
-	  },
-	  formatAdvancedSearch: function formatAdvancedSearch() {
-	    return '高級搜尋';
-	  },
-	  formatAdvancedCloseButton: function formatAdvancedCloseButton() {
-	    return '關閉';
-	  }
-	};
-	$.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-TW']);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-TW.min.js b/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-TW.min.js
deleted file mode 100644
index 80fb5e5..0000000
--- a/server/target/classes/static/bootstrap-table/locale/bootstrap-table-zh-TW.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,n){return t(n={exports:{}},n.exports),n.exports}var e=function(t){return t&&t.Math==Math&&t},o=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof n&&n)||Function("return this")(),u=function(t){try{return!!t()}catch(t){return!0}},i=!u((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),f={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,a={f:c&&!f.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:f},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},s={}.toString,p=function(t){return s.call(t).slice(8,-1)},y="".split,g=u((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?y.call(t,""):Object(t)}:Object,m=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},d=function(t){return g(m(t))},h=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!h(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!h(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!h(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,n){return b.call(t,n)},S=o.document,O=h(S)&&h(S.createElement),T=!i&&!u((function(){return 7!=Object.defineProperty((t="div",O?S.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),j=Object.getOwnPropertyDescriptor,P={f:i?j:function(t,n){if(t=d(t),n=v(n,!0),T)try{return j(t,n)}catch(t){}if(w(t,n))return l(!a.f.call(t,n),t[n])}},x=function(t){if(!h(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,A={f:i?E:function(t,n,r){if(x(t),n=v(n,!0),x(r),T)try{return E(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[n]=r.value),t}},M=i?function(t,n,r){return A.f(t,n,l(1,r))}:function(t,n,r){return t[n]=r,t},_=function(t,n){try{M(o,t,n)}catch(r){o[t]=n}return n},C=o["__core-js_shared__"]||_("__core-js_shared__",{}),R=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return R.call(t)});var N,k,F,I,L=C.inspectSource,z=o.WeakMap,D="function"==typeof z&&/native code/.test(L(z)),q=r((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),W=0,B=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+B).toString(36)},J=q("keys"),K={},Q=o.WeakMap;if(D){var U=new Q,V=U.get,Y=U.has,H=U.set;N=function(t,n){return H.call(U,t,n),n},k=function(t){return V.call(U,t)||{}},F=function(t){return Y.call(U,t)}}else{var X=J[I="state"]||(J[I]=G(I));K[X]=!0,N=function(t,n){return M(t,X,n),n},k=function(t){return w(t,X)?t[X]:{}},F=function(t){return w(t,X)}}var Z,$,tt={set:N,get:k,has:F,enforce:function(t){return F(t)?k(t):N(t,{})},getterFor:function(t){return function(n){var r;if(!h(n)||(r=k(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},nt=r((function(t){var n=tt.get,r=tt.enforce,e=String(String).split("String");(t.exports=function(t,n,u,i){var f=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,a=!!i&&!!i.noTargetGet;"function"==typeof u&&("string"!=typeof n||w(u,"name")||M(u,"name",n),r(u).source=e.join("string"==typeof n?n:"")),t!==o?(f?!a&&t[n]&&(c=!0):delete t[n],c?t[n]=u:M(t,n,u)):c?t[n]=u:_(n,u)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),rt=o,et=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?et(rt[t])||et(o[t]):rt[t]&&rt[t][n]||o[t]&&o[t][n]},ut=Math.ceil,it=Math.floor,ft=function(t){return isNaN(t=+t)?0:(t>0?it:ut)(t)},ct=Math.min,at=function(t){return t>0?ct(ft(t),9007199254740991):0},lt=Math.max,st=Math.min,pt=function(t){return function(n,r,e){var o,u=d(n),i=at(u.length),f=function(t,n){var r=ft(t);return r<0?lt(r+n,0):st(r,n)}(e,i);if(t&&r!=r){for(;i>f;)if((o=u[f++])!=o)return!0}else for(;i>f;f++)if((t||f in u)&&u[f]===r)return t||f||0;return!t&&-1}},yt={includes:pt(!0),indexOf:pt(!1)}.indexOf,gt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var r,e=d(t),o=0,u=[];for(r in e)!w(K,r)&&w(e,r)&&u.push(r);for(;n.length>o;)w(e,r=n[o++])&&(~yt(u,r)||u.push(r));return u}(t,gt)}},dt={f:Object.getOwnPropertySymbols},ht=ot("Reflect","ownKeys")||function(t){var n=mt.f(x(t)),r=dt.f;return r?n.concat(r(t)):n},vt=function(t,n){for(var r=ht(n),e=A.f,o=P.f,u=0;u<r.length;u++){var i=r[u];w(t,i)||e(t,i,o(n,i))}},bt=/#|\.prototype\./,wt=function(t,n){var r=Ot[St(t)];return r==jt||r!=Tt&&("function"==typeof n?u(n):!!n)},St=wt.normalize=function(t){return String(t).replace(bt,".").toLowerCase()},Ot=wt.data={},Tt=wt.NATIVE="N",jt=wt.POLYFILL="P",Pt=wt,xt=P.f,Et=Array.isArray||function(t){return"Array"==p(t)},At=function(t){return Object(m(t))},Mt=function(t,n,r){var e=v(n);e in t?A.f(t,e,l(0,r)):t[e]=r},_t=!!Object.getOwnPropertySymbols&&!u((function(){return!String(Symbol())})),Ct=_t&&!Symbol.sham&&"symbol"==typeof Symbol(),Rt=q("wks"),Nt=o.Symbol,kt=Ct?Nt:G,Ft=function(t){return w(Rt,t)||(_t&&w(Nt,t)?Rt[t]=Nt[t]:Rt[t]=kt("Symbol."+t)),Rt[t]},It=Ft("species"),Lt=function(t,n){var r;return Et(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!Et(r.prototype)?h(r)&&null===(r=r[It])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===n?0:n)},zt=ot("navigator","userAgent")||"",Dt=o.process,qt=Dt&&Dt.versions,Wt=qt&&qt.v8;Wt?$=(Z=Wt.split("."))[0]+Z[1]:zt&&(!(Z=zt.match(/Edge\/(\d+)/))||Z[1]>=74)&&(Z=zt.match(/Chrome\/(\d+)/))&&($=Z[1]);var Bt,Gt=$&&+$,Jt=Ft("species"),Kt=Ft("isConcatSpreadable"),Qt=Gt>=51||!u((function(){var t=[];return t[Kt]=!1,t.concat()[0]!==t})),Ut=(Bt="concat",Gt>=51||!u((function(){var t=[];return(t.constructor={})[Jt]=function(){return{foo:1}},1!==t[Bt](Boolean).foo}))),Vt=function(t){if(!h(t))return!1;var n=t[Kt];return void 0!==n?!!n:Et(t)};!function(t,n){var r,e,u,i,f,c=t.target,a=t.global,l=t.stat;if(r=a?o:l?o[c]||_(c,{}):(o[c]||{}).prototype)for(e in n){if(i=n[e],u=t.noTargetGet?(f=xt(r,e))&&f.value:r[e],!Pt(a?e:c+(l?".":"#")+e,t.forced)&&void 0!==u){if(typeof i==typeof u)continue;vt(i,u)}(t.sham||u&&u.sham)&&M(i,"sham",!0),nt(r,e,i,t)}}({target:"Array",proto:!0,forced:!Qt||!Ut},{concat:function(t){var n,r,e,o,u,i=At(this),f=Lt(i,0),c=0;for(n=-1,e=arguments.length;n<e;n++)if(u=-1===n?i:arguments[n],Vt(u)){if(c+(o=at(u.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,c++)r in u&&Mt(f,c,u[r])}else{if(c>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Mt(f,c++,u)}return f.length=c,f}}),t.fn.bootstrapTable.locales["zh-TW"]={formatLoadingMessage:function(){return"正在努力地載入資料，請稍候"},formatRecordsPerPage:function(t){return"每頁顯示 ".concat(t," 項記錄")},formatShowingRows:function(t,n,r,e){return void 0!==e&&e>0&&e>r?"顯示第 ".concat(t," 到第 ").concat(n," 項記錄，總共 ").concat(r," 項記錄（從 ").concat(e," 總記錄中過濾）"):"顯示第 ".concat(t," 到第 ").concat(n," 項記錄，總共 ").concat(r," 項記錄")},formatSRPaginationPreText:function(){return"上一頁"},formatSRPaginationPageText:function(t){return"第".concat(t,"頁")},formatSRPaginationNextText:function(){return"下一頁"},formatDetailPagination:function(t){return"總共 ".concat(t," 項記錄")},formatClearSearch:function(){return"清空過濾"},formatSearch:function(){return"搜尋"},formatNoMatches:function(){return"沒有找到符合的結果"},formatPaginationSwitch:function(){return"隱藏/顯示分頁"},formatPaginationSwitchDown:function(){return"顯示分頁"},formatPaginationSwitchUp:function(){return"隱藏分頁"},formatRefresh:function(){return"重新整理"},formatToggle:function(){return"切換"},formatToggleOn:function(){return"顯示卡片視圖"},formatToggleOff:function(){return"隱藏卡片視圖"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切換所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自動刷新"},formatExport:function(){return"導出數據"},formatJumpTo:function(){return"跳轉"},formatAdvancedSearch:function(){return"高級搜尋"},formatAdvancedCloseButton:function(){return"關閉"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-TW"])}));
diff --git a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.css b/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.css
deleted file mode 100644
index 8eff35c..0000000
--- a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.css
+++ /dev/null
@@ -1,421 +0,0 @@
-/**
- * @author zhixin wen <wenzhixin2010@gmail.com>
- * https://github.com/wenzhixin/bootstrap-table/
- * theme: https://github.com/jgthms/bulma/
- */
-.bootstrap-table .fixed-table-toolbar::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-toolbar .bs-bars,
-.bootstrap-table .fixed-table-toolbar .search,
-.bootstrap-table .fixed-table-toolbar .columns {
-  position: relative;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group {
-  display: inline-block;
-  margin-left: -1px !important;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group > .btn {
-  border-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:first-child > .btn {
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:last-child > .btn {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu {
-  text-align: left;
-  max-height: 300px;
-  overflow: auto;
-  -ms-overflow-style: scrollbar;
-  z-index: 1001;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns label {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-left {
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-right {
-  margin-left: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.bootstrap-table .fixed-table-container {
-  position: relative;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-container .table {
-  width: 100%;
-  margin-bottom: 0 !important;
-}
-
-.bootstrap-table .fixed-table-container .table th,
-.bootstrap-table .fixed-table-container .table td {
-  vertical-align: middle;
-  box-sizing: border-box;
-}
-
-.bootstrap-table .fixed-table-container .table thead th {
-  vertical-align: bottom;
-  padding: 0;
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-container .table thead th:focus {
-  outline: 0 solid transparent;
-}
-
-.bootstrap-table .fixed-table-container .table thead th.detail {
-  width: 30px;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .th-inner {
-  padding: 0.75rem;
-  vertical-align: bottom;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .sortable {
-  cursor: pointer;
-  background-position: right;
-  background-repeat: no-repeat;
-  padding-right: 30px !important;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .both {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .asc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .desc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ");
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.selected td {
-  background-color: #fafafa;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view {
-  display: flex;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title {
-  font-weight: bold;
-  display: inline-block;
-  min-width: 30%;
-  text-align: left !important;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="radio"],
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="checkbox"] {
-  margin: 0 auto !important;
-}
-
-.bootstrap-table .fixed-table-container .table.table-sm .th-inner {
-  padding: 0.3rem;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer) {
-  border-bottom: 1px solid #dbdbdb;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height.has-card-view {
-  border-top: 1px solid #dbdbdb;
-  border-bottom: 1px solid #dbdbdb;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border {
-  border-left: 1px solid #dbdbdb;
-  border-right: 1px solid #dbdbdb;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table thead th {
-  border-bottom: 1px solid #dbdbdb;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th {
-  border-bottom: 1px solid #32383e;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-header {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body {
-  overflow-x: auto;
-  overflow-y: auto;
-  height: 100%;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
-  align-items: center;
-  background: #fff;
-  display: none;
-  justify-content: center;
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  z-index: 1000;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap {
-  align-items: baseline;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
-  font-size: 2rem;
-  margin-right: 6px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before {
-  content: "";
-  animation-duration: 1.5s;
-  animation-iteration-count: infinite;
-  animation-name: LOADING;
-  background: #363636;
-  border-radius: 50%;
-  display: block;
-  height: 5px;
-  margin: 0 4px;
-  opacity: 0;
-  width: 5px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot {
-  animation-delay: 0.3s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after {
-  animation-delay: 0.6s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark {
-  background: #363636;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before {
-  background: #fff;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-footer {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-pagination::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail,
-.bootstrap-table .fixed-table-pagination > .pagination {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .pagination-info {
-  line-height: 34px;
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list {
-  display: inline-block;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group .dropdown-menu {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination {
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination a {
-  padding: 6px 12px;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a {
-  color: #c8c8c8;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::before {
-  content: '\2B05';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::after {
-  content: '\27A1';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.disabled a {
-  pointer-events: none;
-  cursor: default;
-}
-
-.bootstrap-table.fullscreen {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1050;
-  width: 100% !important;
-  background: #fff;
-  height: calc(100vh);
-  overflow-y: scroll;
-}
-
-/* calculate scrollbar width */
-div.fixed-table-scroll-inner {
-  width: 100%;
-  height: 200px;
-}
-
-div.fixed-table-scroll-outer {
-  top: 0;
-  left: 0;
-  visibility: hidden;
-  width: 200px;
-  height: 150px;
-  overflow: hidden;
-}
-
-@keyframes LOADING {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 1;
-  }
-  to {
-    opacity: 0;
-  }
-}
-
-.box {
-  background-color: #fff;
-  border-radius: 6px;
-  color: #4a4a4a;
-  display: block;
-  padding: 1.25rem;
-}
-
-.bootstrap-table .float-left {
-  float: left;
-}
-
-.bootstrap-table .float-right {
-  float: right;
-}
-
-.bootstrap-table .fixed-table-toolbar .search input {
-  width: auto;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns {
-  margin-right: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown {
-  padding: 0;
-  border: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown .button {
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown:not(:first-child) .button {
-  border-bottom-left-radius: 0;
-  border-top-left-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown:last-child .button {
-  border-bottom-right-radius: 4px;
-  border-top-right-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown .dropdown-content {
-  box-shadow: none;
-  border: 1px solid #dbdbdb;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown label.dropdown-item {
-  padding: 5px 20px;
-}
-
-.bootstrap-table .fixed-table-pagination .ui.dropdown {
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination .is-up .fa-angle-down:before {
-  content: "\f106";
-}
-
-.bootstrap-table .fixed-table-pagination .pagination-link.disabled {
-  background-color: #dbdbdb;
-  border-color: #dbdbdb;
-  box-shadow: none;
-  color: #7a7a7a;
-  opacity: .5;
-  cursor: not-allowed;
-}
diff --git a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.js b/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.js
deleted file mode 100644
index 4418d76..0000000
--- a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.js
+++ /dev/null
@@ -1,989 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 * https://github.com/wenzhixin/bootstrap-table/
-	 * theme: https://github.com/jgthms/bulma/
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  classes: 'table is-bordered is-hoverable',
-	  buttonsPrefix: '',
-	  buttonsClass: 'button'
-	});
-	$.fn.bootstrapTable.theme = 'bulma';
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initConstants",
-	    value: function initConstants() {
-	      _get(_getPrototypeOf(_class.prototype), "initConstants", this).call(this);
-
-	      this.constants.classes.buttonsGroup = 'buttons has-addons';
-	      this.constants.classes.buttonsDropdown = 'button dropdown is-right';
-	      this.constants.classes.input = 'input';
-	      this.constants.classes.paginationDropdown = 'ui dropdown';
-	      this.constants.classes.dropup = 'is-up';
-	      this.constants.classes.dropdownActive = 'is-active';
-	      this.constants.classes.paginationActive = 'is-current';
-	      this.constants.classes.buttonActive = 'is-active';
-	      this.constants.html.toolbarDropdown = ['<div class="dropdown-menu"><div class="dropdown-content">', '</div></div>'];
-	      this.constants.html.toolbarDropdownItem = '<label class="dropdown-item dropdown-item-marker">%s</label>';
-	      this.constants.html.toolbarDropdownSeparator = '<li class="dropdown-divider"></li>';
-	      this.constants.html.pageDropdown = ['<div class="dropdown-menu"><div class="dropdown-content">', '</div></div>'];
-	      this.constants.html.pageDropdownItem = '<a class="dropdown-item %s" href="#">%s</a>';
-	      this.constants.html.dropdownCaret = '<span class="icon is-small"><i class="fas fa-angle-down" aria-hidden="true"></i></span>';
-	      this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>'];
-	      this.constants.html.paginationItem = '<li><a class="page-item pagination-link%s" aria-label="%s" href="#">%s</a></li>';
-	      this.constants.html.searchInput = '<p class="control"><input class="%s input-%s" type="text" placeholder="%s"></p>';
-	      this.constants.html.inputGroup = '<div class="field has-addons has-addons-right">%s%s</div>';
-	      this.constants.html.searchButton = '<p class="control"><button class="%s" type="button" name="search" title="%s">%s %s</button></p>';
-	      this.constants.html.searchClearButton = '<p class="control"><button class="%s" type="button" name="clearSearch" title="%s">%s %s</button></p>';
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      _get(_getPrototypeOf(_class.prototype), "initToolbar", this).call(this);
-
-	      this.handleToolbar();
-	    }
-	  }, {
-	    key: "handleToolbar",
-	    value: function handleToolbar() {
-	      if (this.$toolbar.find('.dropdown').length) {
-	        this._initDropdown();
-	      }
-	    }
-	  }, {
-	    key: "initPagination",
-	    value: function initPagination() {
-	      _get(_getPrototypeOf(_class.prototype), "initPagination", this).call(this);
-
-	      if (this.options.pagination && !this.options.onlyInfoPagination) {
-	        this._initDropdown();
-	      }
-	    }
-	  }, {
-	    key: "_initDropdown",
-	    value: function _initDropdown() {
-	      var $dropdowns = this.$container.find('.dropdown:not(.is-hoverable)');
-	      $dropdowns.off('click').on('click', function (e) {
-	        var $this = $(e.currentTarget);
-	        e.stopPropagation();
-	        $dropdowns.not($this).removeClass('is-active');
-	        $this.toggleClass('is-active');
-	      });
-	      $(document).off('click.bs.dropdown.bulma').on('click.bs.dropdown.bulma', function () {
-	        $dropdowns.removeClass('is-active');
-	      });
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.min.css b/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.min.css
deleted file mode 100644
index 412aa75..0000000
--- a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:#fafafa}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid #dbdbdb}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid #dbdbdb}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:none;justify-content:center;position:absolute;bottom:0;width:100%;z-index:1000}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{font-size:2rem;margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:LOADING;background:#363636;border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:#363636}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination a{padding:6px 12px;line-height:1.428571429}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:'\2B05'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:'\27A1'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes LOADING{0%{opacity:0}50%{opacity:1}to{opacity:0}}.box{background-color:#fff;border-radius:6px;color:#4a4a4a;display:block;padding:1.25rem}.bootstrap-table .float-left{float:left}.bootstrap-table .float-right{float:right}.bootstrap-table .fixed-table-toolbar .search input{width:auto}.bootstrap-table .fixed-table-toolbar .columns{margin-right:0}.bootstrap-table .fixed-table-toolbar .button.dropdown{padding:0;border:0}.bootstrap-table .fixed-table-toolbar .button.dropdown .button{margin:0}.bootstrap-table .fixed-table-toolbar .button.dropdown:not(:first-child) .button{border-bottom-left-radius:0;border-top-left-radius:0}.bootstrap-table .fixed-table-toolbar .button.dropdown:last-child .button{border-bottom-right-radius:4px;border-top-right-radius:4px}.bootstrap-table .fixed-table-toolbar .button.dropdown .dropdown-content{box-shadow:none;border:1px solid #dbdbdb}.bootstrap-table .fixed-table-toolbar .button.dropdown label.dropdown-item{padding:5px 20px}.bootstrap-table .fixed-table-pagination .ui.dropdown{vertical-align:middle}.bootstrap-table .fixed-table-pagination .is-up .fa-angle-down:before{content:"\f106"}.bootstrap-table .fixed-table-pagination .pagination-link.disabled{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:.5;cursor:not-allowed}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.min.js b/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.min.js
deleted file mode 100644
index 200be00..0000000
--- a/server/target/classes/static/bootstrap-table/themes/bulma/bootstrap-table-bulma.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},c=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),a={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,u={f:s&&!a.call({1:2},1)?function(t){var n=s(this,t);return!!n&&n.enumerable}:a},l=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},f={}.toString,p=function(t){return f.call(t).slice(8,-1)},d="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return h(y(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,n){if(!v(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!v(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,n){return m.call(t,n)},O=o.document,j=v(O)&&v(O.createElement),S=function(t){return j?O.createElement(t):{}},P=!c&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),T=Object.getOwnPropertyDescriptor,_={f:c?T:function(t,n){if(t=b(t),n=g(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return l(!u.f.call(t,n),t[n])}},k=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},E=Object.defineProperty,x={f:c?E:function(t,n,e){if(k(t),n=g(n,!0),k(e),P)try{return E(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},A=c?function(t,n,e){return x.f(t,n,l(1,e))}:function(t,n,e){return t[n]=e,t},D=function(t,n){try{A(o,t,n)}catch(e){o[t]=n}return n},C=o["__core-js_shared__"]||D("__core-js_shared__",{}),I=Function.toString;"function"!=typeof C.inspectSource&&(C.inspectSource=function(t){return I.call(t)});var M,F,R,L=C.inspectSource,N=o.WeakMap,q="function"==typeof N&&/native code/.test(L(N)),B=e((function(t){(t.exports=function(t,n){return C[t]||(C[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,W=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+W).toString(36)},$=B("keys"),K=function(t){return $[t]||($[t]=z(t))},Q={},V=o.WeakMap;if(q){var X=new V,Y=X.get,H=X.has,J=X.set;M=function(t,n){return J.call(X,t,n),n},F=function(t){return Y.call(X,t)||{}},R=function(t){return H.call(X,t)}}else{var U=K("state");Q[U]=!0,M=function(t,n){return A(t,U,n),n},F=function(t){return w(t,U)?t[U]:{}},R=function(t){return w(t,U)}}var Z,tt={set:M,get:F,has:R,enforce:function(t){return R(t)?F(t):M(t,{})},getterFor:function(t){return function(n){var e;if(!v(n)||(e=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,c){var a=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,u=!!c&&!!c.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(a?!u&&t[n]&&(s=!0):delete t[n],s?t[n]=i:A(t,n,i)):s?t[n]=i:D(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,ct=Math.floor,at=function(t){return isNaN(t=+t)?0:(t>0?ct:it)(t)},st=Math.min,ut=function(t){return t>0?st(at(t),9007199254740991):0},lt=Math.max,ft=Math.min,pt=function(t){return function(n,e,r){var o,i=b(n),c=ut(i.length),a=function(t,n){var e=at(t);return e<0?lt(e+n,0):ft(e,n)}(r,c);if(t&&e!=e){for(;c>a;)if((o=i[a++])!=o)return!0}else for(;c>a;a++)if((t||a in i)&&i[a]===e)return t||a||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=function(t,n){var e,r=b(t),o=0,i=[];for(e in r)!w(Q,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~dt(i,e)||i.push(e));return i},yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=yt.concat("length","prototype"),vt={f:Object.getOwnPropertyNames||function(t){return ht(t,bt)}},gt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=vt.f(k(t)),e=gt.f;return e?n.concat(e(t)):n},wt=function(t,n){for(var e=mt(n),r=x.f,o=_.f,i=0;i<e.length;i++){var c=e[i];w(t,c)||r(t,c,o(n,c))}},Ot=/#|\.prototype\./,jt=function(t,n){var e=Pt[St(t)];return e==_t||e!=Tt&&("function"==typeof n?i(n):!!n)},St=jt.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},Pt=jt.data={},Tt=jt.NATIVE="N",_t=jt.POLYFILL="P",kt=jt,Et=_.f,xt=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},At=Array.isArray||function(t){return"Array"==p(t)},Dt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Ct=Dt&&!Symbol.sham&&"symbol"==typeof Symbol(),It=B("wks"),Mt=o.Symbol,Ft=Ct?Mt:z,Rt=function(t){return w(It,t)||(Dt&&w(Mt,t)?It[t]=Mt[t]:It[t]=Ft("Symbol."+t)),It[t]},Lt=Rt("species"),Nt=function(t,n){var e;return At(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!At(e.prototype)?v(e)&&null===(e=e[Lt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},qt=[].push,Bt=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,c=5==t||i;return function(a,s,u,l){for(var f,p,d=Object(y(a)),b=h(d),v=xt(s,u,3),g=ut(b.length),m=0,w=l||Nt,O=n?w(a,g):e?w(a,0):void 0;g>m;m++)if((c||m in b)&&(p=v(f=b[m],m,d),t))if(n)O[m]=p;else if(p)switch(t){case 3:return!0;case 5:return f;case 6:return m;case 2:qt.call(O,f)}else if(o)return!1;return i?-1:r||o?o:O}},Gt={forEach:Bt(0),map:Bt(1),filter:Bt(2),some:Bt(3),every:Bt(4),find:Bt(5),findIndex:Bt(6)},Wt=Object.keys||function(t){return ht(t,yt)},zt=c?Object.defineProperties:function(t,n){k(t);for(var e,r=Wt(n),o=r.length,i=0;o>i;)x.f(t,e=r[i++],n[e]);return t},$t=ot("document","documentElement"),Kt=K("IE_PROTO"),Qt=function(){},Vt=function(t){return"<script>"+t+"<\/script>"},Xt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;Xt=Z?function(t){t.write(Vt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Z):((n=S("iframe")).style.display="none",$t.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(Vt("document.F=Object")),t.close(),t.F);for(var e=yt.length;e--;)delete Xt.prototype[yt[e]];return Xt()};Q[Kt]=!0;var Yt=Object.create||function(t,n){var e;return null!==t?(Qt.prototype=k(t),e=new Qt,Qt.prototype=null,e[Kt]=t):e=Xt(),void 0===n?e:zt(e,n)},Ht=Rt("unscopables"),Jt=Array.prototype;null==Jt[Ht]&&x.f(Jt,Ht,{configurable:!0,value:Yt(null)});var Ut,Zt=Gt.find,tn=!0;function nn(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function en(t){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rn(t,n){return(rn=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function on(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function cn(t,n,e){return(cn="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=en(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}"find"in[]&&Array(1).find((function(){tn=!1})),function(t,n){var e,r,i,c,a,s=t.target,u=t.global,l=t.stat;if(e=u?o:l?o[s]||D(s,{}):(o[s]||{}).prototype)for(r in n){if(c=n[r],i=t.noTargetGet?(a=Et(e,r))&&a.value:e[r],!kt(u?r:s+(l?".":"#")+r,t.forced)&&void 0!==i){if(typeof c==typeof i)continue;wt(c,i)}(t.sham||i&&i.sham)&&A(c,"sham",!0),nt(e,r,c,t)}}({target:"Array",proto:!0,forced:tn},{find:function(t){return Zt(this,t,arguments.length>1?arguments[1]:void 0)}}),Ut="find",Jt[Ht][Ut]=!0,t.extend(t.fn.bootstrapTable.defaults,{classes:"table is-bordered is-hoverable",buttonsPrefix:"",buttonsClass:"button"}),t.fn.bootstrapTable.theme="bulma",t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),on(this,en(e).apply(this,arguments))}var r,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&rn(t,n)}(e,n),r=e,(o=[{key:"initConstants",value:function(){cn(en(e.prototype),"initConstants",this).call(this),this.constants.classes.buttonsGroup="buttons has-addons",this.constants.classes.buttonsDropdown="button dropdown is-right",this.constants.classes.input="input",this.constants.classes.paginationDropdown="ui dropdown",this.constants.classes.dropup="is-up",this.constants.classes.dropdownActive="is-active",this.constants.classes.paginationActive="is-current",this.constants.classes.buttonActive="is-active",this.constants.html.toolbarDropdown=['<div class="dropdown-menu"><div class="dropdown-content">',"</div></div>"],this.constants.html.toolbarDropdownItem='<label class="dropdown-item dropdown-item-marker">%s</label>',this.constants.html.toolbarDropdownSeparator='<li class="dropdown-divider"></li>',this.constants.html.pageDropdown=['<div class="dropdown-menu"><div class="dropdown-content">',"</div></div>"],this.constants.html.pageDropdownItem='<a class="dropdown-item %s" href="#">%s</a>',this.constants.html.dropdownCaret='<span class="icon is-small"><i class="fas fa-angle-down" aria-hidden="true"></i></span>',this.constants.html.pagination=['<ul class="pagination%s">',"</ul>"],this.constants.html.paginationItem='<li><a class="page-item pagination-link%s" aria-label="%s" href="#">%s</a></li>',this.constants.html.searchInput='<p class="control"><input class="%s input-%s" type="text" placeholder="%s"></p>',this.constants.html.inputGroup='<div class="field has-addons has-addons-right">%s%s</div>',this.constants.html.searchButton='<p class="control"><button class="%s" type="button" name="search" title="%s">%s %s</button></p>',this.constants.html.searchClearButton='<p class="control"><button class="%s" type="button" name="clearSearch" title="%s">%s %s</button></p>'}},{key:"initToolbar",value:function(){cn(en(e.prototype),"initToolbar",this).call(this),this.handleToolbar()}},{key:"handleToolbar",value:function(){this.$toolbar.find(".dropdown").length&&this._initDropdown()}},{key:"initPagination",value:function(){cn(en(e.prototype),"initPagination",this).call(this),this.options.pagination&&!this.options.onlyInfoPagination&&this._initDropdown()}},{key:"_initDropdown",value:function(){var n=this.$container.find(".dropdown:not(.is-hoverable)");n.off("click").on("click",(function(e){var r=t(e.currentTarget);e.stopPropagation(),n.not(r).removeClass("is-active"),r.toggleClass("is-active")})),t(document).off("click.bs.dropdown.bulma").on("click.bs.dropdown.bulma",(function(){n.removeClass("is-active")}))}}])&&nn(r.prototype,o),i&&nn(r,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.css b/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.css
deleted file mode 100644
index 3578182..0000000
--- a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.css
+++ /dev/null
@@ -1,395 +0,0 @@
-/**
- * @author zhixin wen <wenzhixin2010@gmail.com>
- * https://github.com/wenzhixin/bootstrap-table/
- * theme: https://github.com/jgthms/bulma/
- */
-.bootstrap-table .fixed-table-toolbar::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-toolbar .bs-bars,
-.bootstrap-table .fixed-table-toolbar .search,
-.bootstrap-table .fixed-table-toolbar .columns {
-  position: relative;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group {
-  display: inline-block;
-  margin-left: -1px !important;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group > .btn {
-  border-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:first-child > .btn {
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:last-child > .btn {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu {
-  text-align: left;
-  max-height: 300px;
-  overflow: auto;
-  -ms-overflow-style: scrollbar;
-  z-index: 1001;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns label {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-left {
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-right {
-  margin-left: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.bootstrap-table .fixed-table-container {
-  position: relative;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-container .table {
-  width: 100%;
-  margin-bottom: 0 !important;
-}
-
-.bootstrap-table .fixed-table-container .table th,
-.bootstrap-table .fixed-table-container .table td {
-  vertical-align: middle;
-  box-sizing: border-box;
-}
-
-.bootstrap-table .fixed-table-container .table thead th {
-  vertical-align: bottom;
-  padding: 0;
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-container .table thead th:focus {
-  outline: 0 solid transparent;
-}
-
-.bootstrap-table .fixed-table-container .table thead th.detail {
-  width: 30px;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .th-inner {
-  padding: 0.75rem;
-  vertical-align: bottom;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .sortable {
-  cursor: pointer;
-  background-position: right;
-  background-repeat: no-repeat;
-  padding-right: 30px !important;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .both {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .asc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .desc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ");
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.selected td {
-  background-color: #f9f9f9;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view {
-  display: flex;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title {
-  font-weight: bold;
-  display: inline-block;
-  min-width: 30%;
-  text-align: left !important;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="radio"],
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="checkbox"] {
-  margin: 0 auto !important;
-}
-
-.bootstrap-table .fixed-table-container .table.table-sm .th-inner {
-  padding: 0.3rem;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer) {
-  border-bottom: 1px solid #f1f1f1;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height.has-card-view {
-  border-top: 1px solid #f1f1f1;
-  border-bottom: 1px solid #f1f1f1;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border {
-  border-left: 1px solid #f1f1f1;
-  border-right: 1px solid #f1f1f1;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table thead th {
-  border-bottom: 1px solid #f1f1f1;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th {
-  border-bottom: 1px solid #32383e;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-header {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body {
-  overflow-x: auto;
-  overflow-y: auto;
-  height: 100%;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
-  align-items: center;
-  background: #fff;
-  display: none;
-  justify-content: center;
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  z-index: 1000;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap {
-  align-items: baseline;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
-  font-size: 2rem;
-  margin-right: 6px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before {
-  content: "";
-  animation-duration: 1.5s;
-  animation-iteration-count: infinite;
-  animation-name: LOADING;
-  background: rgba(0, 0, 0, 0.87);
-  border-radius: 50%;
-  display: block;
-  height: 5px;
-  margin: 0 4px;
-  opacity: 0;
-  width: 5px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot {
-  animation-delay: 0.3s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after {
-  animation-delay: 0.6s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark {
-  background: rgba(0, 0, 0, 0.87);
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before {
-  background: #fff;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-footer {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-pagination::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail,
-.bootstrap-table .fixed-table-pagination > .pagination {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .pagination-info {
-  line-height: 34px;
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list {
-  display: inline-block;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group .dropdown-menu {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination {
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination a {
-  padding: 6px 12px;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a {
-  color: #c8c8c8;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::before {
-  content: '\2B05';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::after {
-  content: '\27A1';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.disabled a {
-  pointer-events: none;
-  cursor: default;
-}
-
-.bootstrap-table.fullscreen {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1050;
-  width: 100% !important;
-  background: #fff;
-  height: calc(100vh);
-  overflow-y: scroll;
-}
-
-/* calculate scrollbar width */
-div.fixed-table-scroll-inner {
-  width: 100%;
-  height: 200px;
-}
-
-div.fixed-table-scroll-outer {
-  top: 0;
-  left: 0;
-  visibility: hidden;
-  width: 200px;
-  height: 150px;
-  overflow: hidden;
-}
-
-@keyframes LOADING {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 1;
-  }
-  to {
-    opacity: 0;
-  }
-}
-
-.bootstrap-table .float-left {
-  float: left;
-}
-
-.bootstrap-table .float-right {
-  float: right;
-}
-
-.bootstrap-table .fixed-table-toolbar .search input {
-  height: 2.5293rem;
-}
-
-.bootstrap-table .fixed-table-toolbar .keep-open.dropdown-container .button:hover .menu {
-  background: #fff;
-}
-
-.bootstrap-table .fixed-table-toolbar .keep-open.dropdown-container .menu li {
-  padding: 5px 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .keep-open.dropdown-container .menu li label {
-  white-space: nowrap;
-  text-align: left;
-}
-
-.bootstrap-table .fixed-table-toolbar input,
-.bootstrap-table .fixed-table-toolbar .button {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination .button {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination .dropup .fa-angle-down:before {
-  content: "\f106";
-}
-
-.bootstrap-table .dropdown-pane {
-  width: auto;
-  padding: 0.5rem;
-}
diff --git a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.js b/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.js
deleted file mode 100644
index 5c6ff75..0000000
--- a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.js
+++ /dev/null
@@ -1,999 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 * https://github.com/wenzhixin/bootstrap-table/
-	 * theme: https://github.com/zurb/foundation-sites
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  classes: 'table hover',
-	  buttonsPrefix: '',
-	  buttonsClass: 'button'
-	});
-	$.fn.bootstrapTable.theme = 'foundation';
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initConstants",
-	    value: function initConstants() {
-	      _get(_getPrototypeOf(_class.prototype), "initConstants", this).call(this);
-
-	      this.constants.classes.buttonsGroup = 'button-group';
-	      this.constants.classes.buttonsDropdown = 'dropdown-container';
-	      this.constants.classes.paginationDropdown = '';
-	      this.constants.classes.dropdownActive = 'is-active';
-	      this.constants.classes.paginationActive = 'current';
-	      this.constants.classes.buttonActive = 'success';
-	      this.constants.html.toolbarDropdown = ['<div class="dropdown-pane" id="toolbar-columns-id" data-dropdown><ul class="vertical menu">', '</ul></div>'];
-	      this.constants.html.toolbarDropdownItem = '<li class="dropdown-item-marker"><label class="dropdown-item">%s</label></li>';
-	      this.constants.html.toolbarDropdownSeparator = '<li><hr></li>';
-	      this.constants.html.pageDropdown = ['<div class="dropdown-pane" id="pagination-list-id" data-dropdown><ul class="vertical menu">', '</ul></div>'];
-	      this.constants.html.pageDropdownItem = '<li class="dropdown-item %s"><a href="#">%s</a></li>';
-	      this.constants.html.dropdownCaret = '<i class="fa fa-angle-down"></i>';
-	      this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>'];
-	      this.constants.html.paginationItem = '<li><a class="page-item%s" aria-label="%s" href="#">%s</a></li>';
-	      this.constants.html.inputGroup = '<div class="input-group">%s <div class="input-group-button">%s</div></div>';
-	      this.constants.html.searchInput = '<input class="%s input-%s input-group-field" type="text" placeholder="%s">';
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      _get(_getPrototypeOf(_class.prototype), "initToolbar", this).call(this);
-
-	      this.handleToolbar();
-	    }
-	  }, {
-	    key: "handleToolbar",
-	    value: function handleToolbar() {
-	      if (this.$toolbar.find('.dropdown-toggle').length) {
-	        this.$toolbar.find('.dropdown-toggle').each(function (i, el) {
-	          $(el).attr('data-toggle', $(el).next().attr('id'));
-	          var $pane = $(el).next().attr('data-position', 'bottom').attr('data-alignment', 'right');
-	          new window.Foundation.Dropdown($pane);
-	        });
-
-	        this._initDropdown();
-	      }
-	    }
-	  }, {
-	    key: "initPagination",
-	    value: function initPagination() {
-	      _get(_getPrototypeOf(_class.prototype), "initPagination", this).call(this);
-
-	      if (this.options.pagination && !this.options.onlyInfoPagination) {
-	        var $el = this.$pagination.find('.dropdown-toggle');
-	        $el.attr('data-toggle', $el.next().attr('id'));
-	        var $pane = this.$pagination.find('.dropdown-pane').attr('data-position', 'top').attr('data-alignment', 'left');
-	        new window.Foundation.Dropdown($pane);
-
-	        this._initDropdown();
-	      }
-	    }
-	  }, {
-	    key: "_initDropdown",
-	    value: function _initDropdown() {
-	      var $dropdowns = this.$container.find('.dropdown-toggle');
-	      $dropdowns.off('click').on('click', function (e) {
-	        var $this = $(e.currentTarget);
-	        e.stopPropagation();
-	        $this.next().foundation('toggle');
-
-	        if ($dropdowns.not($this).length) {
-	          $dropdowns.not($this).next().foundation('close');
-	        }
-	      });
-	      $(document).off('click.bs.dropdown.foundation').on('click.bs.dropdown.foundation', function () {
-	        $dropdowns.next().foundation('close');
-	      });
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.min.css b/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.min.css
deleted file mode 100644
index 74beecb..0000000
--- a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:#f9f9f9}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid #f1f1f1}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid #f1f1f1;border-right:1px solid #f1f1f1}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid #f1f1f1}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:none;justify-content:center;position:absolute;bottom:0;width:100%;z-index:1000}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{font-size:2rem;margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:LOADING;background:rgba(0,0,0,.87);border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:rgba(0,0,0,.87)}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination a{padding:6px 12px;line-height:1.428571429}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:'\2B05'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:'\27A1'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes LOADING{0%{opacity:0}50%{opacity:1}to{opacity:0}}.bootstrap-table .float-left{float:left}.bootstrap-table .float-right{float:right}.bootstrap-table .fixed-table-toolbar .search input{height:2.5293rem}.bootstrap-table .fixed-table-toolbar .keep-open.dropdown-container .button:hover .menu{background:#fff}.bootstrap-table .fixed-table-toolbar .keep-open.dropdown-container .menu li{padding:5px 0}.bootstrap-table .fixed-table-toolbar .keep-open.dropdown-container .menu li label{white-space:nowrap;text-align:left}.bootstrap-table .fixed-table-toolbar .button,.bootstrap-table .fixed-table-toolbar input{margin-bottom:0}.bootstrap-table .fixed-table-pagination .button{margin-bottom:0}.bootstrap-table .fixed-table-pagination .dropup .fa-angle-down:before{content:"\f106"}.bootstrap-table .dropdown-pane{width:auto;padding:.5rem}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.min.js b/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.min.js
deleted file mode 100644
index ff4fbb8..0000000
--- a/server/target/classes/static/bootstrap-table/themes/foundation/bootstrap-table-foundation.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var o=function(t){return t&&t.Math==Math&&t},r=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),u={}.propertyIsEnumerable,c=Object.getOwnPropertyDescriptor,s={f:c&&!u.call({1:2},1)?function(t){var n=c(this,t);return!!n&&n.enumerable}:u},f=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},d="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return h(y(t))},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!b(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!b(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!b(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!b(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")},w={}.hasOwnProperty,m=function(t,n){return w.call(t,n)},O=r.document,j=b(O)&&b(O.createElement),S=function(t){return j?O.createElement(t):{}},P=!a&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),T=Object.getOwnPropertyDescriptor,_={f:a?T:function(t,n){if(t=g(t),n=v(n,!0),P)try{return T(t,n)}catch(t){}if(m(t,n))return f(!s.f.call(t,n),t[n])}},x=function(t){if(!b(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,E={f:a?k:function(t,n,e){if(x(t),n=v(n,!0),x(e),P)try{return k(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},D=a?function(t,n,e){return E.f(t,n,f(1,e))}:function(t,n,e){return t[n]=e,t},A=function(t,n){try{D(r,t,n)}catch(e){r[t]=n}return n},I=r["__core-js_shared__"]||A("__core-js_shared__",{}),M=Function.toString;"function"!=typeof I.inspectSource&&(I.inspectSource=function(t){return M.call(t)});var C,F,R,L=I.inspectSource,N=r.WeakMap,$="function"==typeof N&&/native code/.test(L(N)),q=e((function(t){(t.exports=function(t,n){return I[t]||(I[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),G=0,W=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++G+W).toString(36)},B=q("keys"),K=function(t){return B[t]||(B[t]=z(t))},Q={},V=r.WeakMap;if($){var X=new V,Y=X.get,H=X.has,J=X.set;C=function(t,n){return J.call(X,t,n),n},F=function(t){return Y.call(X,t)||{}},R=function(t){return H.call(X,t)}}else{var U=K("state");Q[U]=!0,C=function(t,n){return D(t,U,n),n},F=function(t){return m(t,U)?t[U]:{}},R=function(t){return m(t,U)}}var Z,tt={set:C,get:F,has:R,enforce:function(t){return R(t)?F(t):C(t,{})},getterFor:function(t){return function(n){var e;if(!b(n)||(e=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,o=String(String).split("String");(t.exports=function(t,n,i,a){var u=!!a&&!!a.unsafe,c=!!a&&!!a.enumerable,s=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||m(i,"name")||D(i,"name",n),e(i).source=o.join("string"==typeof n?n:"")),t!==r?(u?!s&&t[n]&&(c=!0):delete t[n],c?t[n]=i:D(t,n,i)):c?t[n]=i:A(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),et=r,ot=function(t){return"function"==typeof t?t:void 0},rt=function(t,n){return arguments.length<2?ot(et[t])||ot(r[t]):et[t]&&et[t][n]||r[t]&&r[t][n]},it=Math.ceil,at=Math.floor,ut=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ct=Math.min,st=function(t){return t>0?ct(ut(t),9007199254740991):0},ft=Math.max,lt=Math.min,pt=function(t){return function(n,e,o){var r,i=g(n),a=st(i.length),u=function(t,n){var e=ut(t);return e<0?ft(e+n,0):lt(e,n)}(o,a);if(t&&e!=e){for(;a>u;)if((r=i[u++])!=r)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===e)return t||u||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=function(t,n){var e,o=g(t),r=0,i=[];for(e in o)!m(Q,e)&&m(o,e)&&i.push(e);for(;n.length>r;)m(o,e=n[r++])&&(~dt(i,e)||i.push(e));return i},yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],gt=yt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return ht(t,gt)}},vt={f:Object.getOwnPropertySymbols},wt=rt("Reflect","ownKeys")||function(t){var n=bt.f(x(t)),e=vt.f;return e?n.concat(e(t)):n},mt=function(t,n){for(var e=wt(n),o=E.f,r=_.f,i=0;i<e.length;i++){var a=e[i];m(t,a)||o(t,a,r(n,a))}},Ot=/#|\.prototype\./,jt=function(t,n){var e=Pt[St(t)];return e==_t||e!=Tt&&("function"==typeof n?i(n):!!n)},St=jt.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},Pt=jt.data={},Tt=jt.NATIVE="N",_t=jt.POLYFILL="P",xt=jt,kt=_.f,Et=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,o){return t.call(n,e,o)};case 3:return function(e,o,r){return t.call(n,e,o,r)}}return function(){return t.apply(n,arguments)}},Dt=Array.isArray||function(t){return"Array"==p(t)},At=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),It=At&&!Symbol.sham&&"symbol"==typeof Symbol(),Mt=q("wks"),Ct=r.Symbol,Ft=It?Ct:z,Rt=function(t){return m(Mt,t)||(At&&m(Ct,t)?Mt[t]=Ct[t]:Mt[t]=Ft("Symbol."+t)),Mt[t]},Lt=Rt("species"),Nt=function(t,n){var e;return Dt(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!Dt(e.prototype)?b(e)&&null===(e=e[Lt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},$t=[].push,qt=function(t){var n=1==t,e=2==t,o=3==t,r=4==t,i=6==t,a=5==t||i;return function(u,c,s,f){for(var l,p,d=Object(y(u)),g=h(d),b=Et(c,s,3),v=st(g.length),w=0,m=f||Nt,O=n?m(u,v):e?m(u,0):void 0;v>w;w++)if((a||w in g)&&(p=b(l=g[w],w,d),t))if(n)O[w]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return w;case 2:$t.call(O,l)}else if(r)return!1;return i?-1:o||r?r:O}},Gt={forEach:qt(0),map:qt(1),filter:qt(2),some:qt(3),every:qt(4),find:qt(5),findIndex:qt(6)},Wt=Object.keys||function(t){return ht(t,yt)},zt=a?Object.defineProperties:function(t,n){x(t);for(var e,o=Wt(n),r=o.length,i=0;r>i;)E.f(t,e=o[i++],n[e]);return t},Bt=rt("document","documentElement"),Kt=K("IE_PROTO"),Qt=function(){},Vt=function(t){return"<script>"+t+"<\/script>"},Xt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;Xt=Z?function(t){t.write(Vt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Z):((n=S("iframe")).style.display="none",Bt.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(Vt("document.F=Object")),t.close(),t.F);for(var e=yt.length;e--;)delete Xt.prototype[yt[e]];return Xt()};Q[Kt]=!0;var Yt=Object.create||function(t,n){var e;return null!==t?(Qt.prototype=x(t),e=new Qt,Qt.prototype=null,e[Kt]=t):e=Xt(),void 0===n?e:zt(e,n)},Ht=Rt("unscopables"),Jt=Array.prototype;null==Jt[Ht]&&E.f(Jt,Ht,{configurable:!0,value:Yt(null)});var Ut,Zt=Gt.find,tn=!0;function nn(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function en(t){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function on(t,n){return(on=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function rn(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function an(t,n,e){return(an="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var o=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=en(t)););return t}(t,n);if(o){var r=Object.getOwnPropertyDescriptor(o,n);return r.get?r.get.call(e):r.value}})(t,n,e||t)}"find"in[]&&Array(1).find((function(){tn=!1})),function(t,n){var e,o,i,a,u,c=t.target,s=t.global,f=t.stat;if(e=s?r:f?r[c]||A(c,{}):(r[c]||{}).prototype)for(o in n){if(a=n[o],i=t.noTargetGet?(u=kt(e,o))&&u.value:e[o],!xt(s?o:c+(f?".":"#")+o,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;mt(a,i)}(t.sham||i&&i.sham)&&D(a,"sham",!0),nt(e,o,a,t)}}({target:"Array",proto:!0,forced:tn},{find:function(t){return Zt(this,t,arguments.length>1?arguments[1]:void 0)}}),Ut="find",Jt[Ht][Ut]=!0,t.extend(t.fn.bootstrapTable.defaults,{classes:"table hover",buttonsPrefix:"",buttonsClass:"button"}),t.fn.bootstrapTable.theme="foundation",t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),rn(this,en(e).apply(this,arguments))}var o,r,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&on(t,n)}(e,n),o=e,(r=[{key:"initConstants",value:function(){an(en(e.prototype),"initConstants",this).call(this),this.constants.classes.buttonsGroup="button-group",this.constants.classes.buttonsDropdown="dropdown-container",this.constants.classes.paginationDropdown="",this.constants.classes.dropdownActive="is-active",this.constants.classes.paginationActive="current",this.constants.classes.buttonActive="success",this.constants.html.toolbarDropdown=['<div class="dropdown-pane" id="toolbar-columns-id" data-dropdown><ul class="vertical menu">',"</ul></div>"],this.constants.html.toolbarDropdownItem='<li class="dropdown-item-marker"><label class="dropdown-item">%s</label></li>',this.constants.html.toolbarDropdownSeparator="<li><hr></li>",this.constants.html.pageDropdown=['<div class="dropdown-pane" id="pagination-list-id" data-dropdown><ul class="vertical menu">',"</ul></div>"],this.constants.html.pageDropdownItem='<li class="dropdown-item %s"><a href="#">%s</a></li>',this.constants.html.dropdownCaret='<i class="fa fa-angle-down"></i>',this.constants.html.pagination=['<ul class="pagination%s">',"</ul>"],this.constants.html.paginationItem='<li><a class="page-item%s" aria-label="%s" href="#">%s</a></li>',this.constants.html.inputGroup='<div class="input-group">%s <div class="input-group-button">%s</div></div>',this.constants.html.searchInput='<input class="%s input-%s input-group-field" type="text" placeholder="%s">'}},{key:"initToolbar",value:function(){an(en(e.prototype),"initToolbar",this).call(this),this.handleToolbar()}},{key:"handleToolbar",value:function(){this.$toolbar.find(".dropdown-toggle").length&&(this.$toolbar.find(".dropdown-toggle").each((function(n,e){t(e).attr("data-toggle",t(e).next().attr("id"));var o=t(e).next().attr("data-position","bottom").attr("data-alignment","right");new window.Foundation.Dropdown(o)})),this._initDropdown())}},{key:"initPagination",value:function(){if(an(en(e.prototype),"initPagination",this).call(this),this.options.pagination&&!this.options.onlyInfoPagination){var t=this.$pagination.find(".dropdown-toggle");t.attr("data-toggle",t.next().attr("id"));var n=this.$pagination.find(".dropdown-pane").attr("data-position","top").attr("data-alignment","left");new window.Foundation.Dropdown(n),this._initDropdown()}}},{key:"_initDropdown",value:function(){var n=this.$container.find(".dropdown-toggle");n.off("click").on("click",(function(e){var o=t(e.currentTarget);e.stopPropagation(),o.next().foundation("toggle"),n.not(o).length&&n.not(o).next().foundation("close")})),t(document).off("click.bs.dropdown.foundation").on("click.bs.dropdown.foundation",(function(){n.next().foundation("close")}))}}])&&nn(o.prototype,r),i&&nn(o,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.css b/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.css
deleted file mode 100644
index 18f9f32..0000000
--- a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.css
+++ /dev/null
@@ -1,391 +0,0 @@
-/**
- * @author zhixin wen <wenzhixin2010@gmail.com>
- * https://github.com/wenzhixin/bootstrap-table/
- * theme: https://github.com/jgthms/bulma/
- */
-.bootstrap-table .fixed-table-toolbar::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-toolbar .bs-bars,
-.bootstrap-table .fixed-table-toolbar .search,
-.bootstrap-table .fixed-table-toolbar .columns {
-  position: relative;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group {
-  display: inline-block;
-  margin-left: -1px !important;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group > .btn {
-  border-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:first-child > .btn {
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:last-child > .btn {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu {
-  text-align: left;
-  max-height: 300px;
-  overflow: auto;
-  -ms-overflow-style: scrollbar;
-  z-index: 1001;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns label {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-left {
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-right {
-  margin-left: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.bootstrap-table .fixed-table-container {
-  position: relative;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-container .table {
-  width: 100%;
-  margin-bottom: 0 !important;
-}
-
-.bootstrap-table .fixed-table-container .table th,
-.bootstrap-table .fixed-table-container .table td {
-  vertical-align: middle;
-  box-sizing: border-box;
-}
-
-.bootstrap-table .fixed-table-container .table thead th {
-  vertical-align: bottom;
-  padding: 0;
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-container .table thead th:focus {
-  outline: 0 solid transparent;
-}
-
-.bootstrap-table .fixed-table-container .table thead th.detail {
-  width: 30px;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .th-inner {
-  padding: 0.75rem;
-  vertical-align: bottom;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .sortable {
-  cursor: pointer;
-  background-position: right;
-  background-repeat: no-repeat;
-  padding-right: 30px !important;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .both {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .asc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .desc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ");
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.selected td {
-  background-color: rgba(242, 242, 242, 0.5);
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view {
-  display: flex;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title {
-  font-weight: bold;
-  display: inline-block;
-  min-width: 30%;
-  text-align: left !important;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="radio"],
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="checkbox"] {
-  margin: 0 auto !important;
-}
-
-.bootstrap-table .fixed-table-container .table.table-sm .th-inner {
-  padding: 0.3rem;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer) {
-  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height.has-card-view {
-  border-top: 1px solid rgba(0, 0, 0, 0.12);
-  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border {
-  border-left: 1px solid rgba(0, 0, 0, 0.12);
-  border-right: 1px solid rgba(0, 0, 0, 0.12);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table thead th {
-  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th {
-  border-bottom: 1px solid #32383e;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-header {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body {
-  overflow-x: auto;
-  overflow-y: auto;
-  height: 100%;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
-  align-items: center;
-  background: #fefefe;
-  display: none;
-  justify-content: center;
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  z-index: 1000;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap {
-  align-items: baseline;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
-  font-size: 2rem;
-  margin-right: 6px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before {
-  content: "";
-  animation-duration: 1.5s;
-  animation-iteration-count: infinite;
-  animation-name: LOADING;
-  background: #0a0a0a;
-  border-radius: 50%;
-  display: block;
-  height: 5px;
-  margin: 0 4px;
-  opacity: 0;
-  width: 5px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot {
-  animation-delay: 0.3s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after {
-  animation-delay: 0.6s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark {
-  background: #0a0a0a;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before {
-  background: #fefefe;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-footer {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-pagination::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail,
-.bootstrap-table .fixed-table-pagination > .pagination {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .pagination-info {
-  line-height: 34px;
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list {
-  display: inline-block;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group .dropdown-menu {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination {
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination a {
-  padding: 6px 12px;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a {
-  color: #c8c8c8;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::before {
-  content: '\2B05';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::after {
-  content: '\27A1';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.disabled a {
-  pointer-events: none;
-  cursor: default;
-}
-
-.bootstrap-table.fullscreen {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1050;
-  width: 100% !important;
-  background: #fff;
-  height: calc(100vh);
-  overflow-y: scroll;
-}
-
-/* calculate scrollbar width */
-div.fixed-table-scroll-inner {
-  width: 100%;
-  height: 200px;
-}
-
-div.fixed-table-scroll-outer {
-  top: 0;
-  left: 0;
-  visibility: hidden;
-  width: 200px;
-  height: 150px;
-  overflow: hidden;
-}
-
-@keyframes LOADING {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 1;
-  }
-  to {
-    opacity: 0;
-  }
-}
-
-.bootstrap-table .float-left {
-  float: left;
-}
-
-.bootstrap-table .float-right {
-  float: right;
-}
-
-.bootstrap-table .fixed-table-toolbar .search .search-input {
-  width: auto;
-  margin: 0;
-  height: 35px;
-  vertical-align: bottom;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns > .btn {
-  margin-left: 3px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns > div {
-  display: inline;
-}
-
-.bootstrap-table .fixed-table-toolbar .keep-open li label {
-  padding-top: 13px;
-}
-
-.bootstrap-table .fixed-table-footer {
-  border-top: 1px solid rgba(0, 0, 0, 0.12);
-}
-
-.bootstrap-table .fixed-table-pagination .page-list i {
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination .pagination li {
-  height: 36px;
-}
diff --git a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.js b/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.js
deleted file mode 100644
index 312b007..0000000
--- a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.js
+++ /dev/null
@@ -1,992 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 * https://github.com/wenzhixin/bootstrap-table/
-	 * theme: https://github.com/jgthms/bulma/
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  classes: 'table highlight',
-	  buttonsPrefix: '',
-	  buttonsClass: 'waves-effect waves-light btn',
-	  iconsPrefix: 'material-icons',
-	  icons: {
-	    paginationSwitchDown: 'grid_on',
-	    paginationSwitchUp: 'grid_off',
-	    refresh: 'refresh',
-	    toggleOff: 'tablet',
-	    toggleOn: 'tablet_android',
-	    columns: 'view_list',
-	    detailOpen: 'add',
-	    detailClose: 'remove',
-	    fullscreen: 'fullscreen',
-	    sort: 'sort',
-	    search: 'search',
-	    clearSearch: 'delete'
-	  }
-	});
-	$.fn.bootstrapTable.theme = 'materialize';
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initConstants",
-	    value: function initConstants() {
-	      _get(_getPrototypeOf(_class.prototype), "initConstants", this).call(this);
-
-	      this.constants.classes.buttonsGroup = 'button-group';
-	      this.constants.classes.buttonsDropdown = '';
-	      this.constants.classes.input = 'input-field';
-	      this.constants.classes.input = '';
-	      this.constants.classes.paginationDropdown = '';
-	      this.constants.classes.buttonActive = 'green';
-	      this.constants.html.toolbarDropdown = ['<ul id="toolbar-columns-id" class="dropdown-content">', '</ul>'];
-	      this.constants.html.toolbarDropdownItem = '<li class="dropdown-item-marker"><label>%s</label></li>';
-	      this.constants.html.toolbarDropdownSeparator = '<li class="divider" tabindex="-1"></li>';
-	      this.constants.html.pageDropdown = ['<ul id="pagination-list-id" class="dropdown-content">', '</ul>'];
-	      this.constants.html.pageDropdownItem = '<li><a class="%s" href="#">%s</a></li>';
-	      this.constants.html.dropdownCaret = '<i class="material-icons">arrow_drop_down</i>';
-	      this.constants.html.pagination = ['<ul class="pagination%s">', '</ul>'];
-	      this.constants.html.paginationItem = '<li class="waves-effect page-item%s" aria-label="%s"><a href="#">%s</a></li>';
-	      this.constants.html.icon = '<i class="%s">%s</i>';
-	      this.constants.html.inputGroup = '%s%s';
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      _get(_getPrototypeOf(_class.prototype), "initToolbar", this).call(this);
-
-	      this.handleToolbar();
-	    }
-	  }, {
-	    key: "handleToolbar",
-	    value: function handleToolbar() {
-	      if (this.$toolbar.find('.dropdown-toggle').length) {
-	        this.$toolbar.find('.dropdown-toggle').each(function (i, el) {
-	          $(el).attr('data-target', $(el).next().attr('id')).dropdown({
-	            alignment: 'right',
-	            constrainWidth: false,
-	            closeOnClick: false
-	          });
-	        });
-	      }
-	    }
-	  }, {
-	    key: "initPagination",
-	    value: function initPagination() {
-	      _get(_getPrototypeOf(_class.prototype), "initPagination", this).call(this);
-
-	      if (this.options.pagination && !this.options.onlyInfoPagination) {
-	        this.$pagination.find('.dropdown-toggle').attr('data-target', this.$pagination.find('.dropdown-content').attr('id')).dropdown();
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.min.css b/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.min.css
deleted file mode 100644
index 2440233..0000000
--- a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:rgba(242,242,242,.5)}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid rgba(0,0,0,.12)}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid rgba(0,0,0,.12);border-right:1px solid rgba(0,0,0,.12)}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid rgba(0,0,0,.12)}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fefefe;display:none;justify-content:center;position:absolute;bottom:0;width:100%;z-index:1000}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{font-size:2rem;margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:LOADING;background:#0a0a0a;border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:#0a0a0a}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fefefe}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination a{padding:6px 12px;line-height:1.428571429}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:'\2B05'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:'\27A1'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes LOADING{0%{opacity:0}50%{opacity:1}to{opacity:0}}.bootstrap-table .float-left{float:left}.bootstrap-table .float-right{float:right}.bootstrap-table .fixed-table-toolbar .search .search-input{width:auto;margin:0;height:35px;vertical-align:bottom}.bootstrap-table .fixed-table-toolbar .columns>.btn{margin-left:3px}.bootstrap-table .fixed-table-toolbar .columns>div{display:inline}.bootstrap-table .fixed-table-toolbar .keep-open li label{padding-top:13px}.bootstrap-table .fixed-table-footer{border-top:1px solid rgba(0,0,0,.12)}.bootstrap-table .fixed-table-pagination .page-list i{vertical-align:middle}.bootstrap-table .fixed-table-pagination .pagination li{height:36px}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.min.js b/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.min.js
deleted file mode 100644
index aa26f24..0000000
--- a/server/target/classes/static/bootstrap-table/themes/materialize/bootstrap-table-materialize.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,s={f:u&&!c.call({1:2},1)?function(t){var n=u(this,t);return!!n&&n.enumerable}:c},f=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},d="".split,h=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return h(y(t))},b=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=function(t,n){if(!b(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!b(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!b(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!b(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,n){return m.call(t,n)},O=o.document,j=b(O)&&b(O.createElement),S=function(t){return j?O.createElement(t):{}},P=!a&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),_=Object.getOwnPropertyDescriptor,T={f:a?_:function(t,n){if(t=g(t),n=v(n,!0),P)try{return _(t,n)}catch(t){}if(w(t,n))return f(!s.f.call(t,n),t[n])}},E=function(t){if(!b(t))throw TypeError(String(t)+" is not an object");return t},x=Object.defineProperty,k={f:a?x:function(t,n,e){if(E(t),n=v(n,!0),E(e),P)try{return x(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},A=a?function(t,n,e){return k.f(t,n,f(1,e))}:function(t,n,e){return t[n]=e,t},D=function(t,n){try{A(o,t,n)}catch(e){o[t]=n}return n},I=o["__core-js_shared__"]||D("__core-js_shared__",{}),C=Function.toString;"function"!=typeof I.inspectSource&&(I.inspectSource=function(t){return C.call(t)});var M,F,R,L=I.inspectSource,N=o.WeakMap,W="function"==typeof N&&/native code/.test(L(N)),q=e((function(t){(t.exports=function(t,n){return I[t]||(I[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),z=0,G=Math.random(),$=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++z+G).toString(36)},B=q("keys"),K=function(t){return B[t]||(B[t]=$(t))},Q={},U=o.WeakMap;if(W){var V=new U,X=V.get,Y=V.has,H=V.set;M=function(t,n){return H.call(V,t,n),n},F=function(t){return X.call(V,t)||{}},R=function(t){return Y.call(V,t)}}else{var J=K("state");Q[J]=!0,M=function(t,n){return A(t,J,n),n},F=function(t){return w(t,J)?t[J]:{}},R=function(t){return w(t,J)}}var Z,tt={set:M,get:F,has:R,enforce:function(t){return R(t)?F(t):M(t,{})},getterFor:function(t){return function(n){var e;if(!b(n)||(e=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,a){var c=!!a&&!!a.unsafe,u=!!a&&!!a.enumerable,s=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||A(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!s&&t[n]&&(u=!0):delete t[n],u?t[n]=i:A(t,n,i)):u?t[n]=i:D(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||L(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,at=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?at:it)(t)},ut=Math.min,st=function(t){return t>0?ut(ct(t),9007199254740991):0},ft=Math.max,lt=Math.min,pt=function(t){return function(n,e,r){var o,i=g(n),a=st(i.length),c=function(t,n){var e=ct(t);return e<0?ft(e+n,0):lt(e,n)}(r,a);if(t&&e!=e){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,ht=function(t,n){var e,r=g(t),o=0,i=[];for(e in r)!w(Q,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~dt(i,e)||i.push(e));return i},yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],gt=yt.concat("length","prototype"),bt={f:Object.getOwnPropertyNames||function(t){return ht(t,gt)}},vt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=bt.f(E(t)),e=vt.f;return e?n.concat(e(t)):n},wt=function(t,n){for(var e=mt(n),r=k.f,o=T.f,i=0;i<e.length;i++){var a=e[i];w(t,a)||r(t,a,o(n,a))}},Ot=/#|\.prototype\./,jt=function(t,n){var e=Pt[St(t)];return e==Tt||e!=_t&&("function"==typeof n?i(n):!!n)},St=jt.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},Pt=jt.data={},_t=jt.NATIVE="N",Tt=jt.POLYFILL="P",Et=jt,xt=T.f,kt=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},At=Array.isArray||function(t){return"Array"==p(t)},Dt=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),It=Dt&&!Symbol.sham&&"symbol"==typeof Symbol(),Ct=q("wks"),Mt=o.Symbol,Ft=It?Mt:$,Rt=function(t){return w(Ct,t)||(Dt&&w(Mt,t)?Ct[t]=Mt[t]:Ct[t]=Ft("Symbol."+t)),Ct[t]},Lt=Rt("species"),Nt=function(t,n){var e;return At(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!At(e.prototype)?b(e)&&null===(e=e[Lt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},Wt=[].push,qt=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,a=5==t||i;return function(c,u,s,f){for(var l,p,d=Object(y(c)),g=h(d),b=kt(u,s,3),v=st(g.length),m=0,w=f||Nt,O=n?w(c,v):e?w(c,0):void 0;v>m;m++)if((a||m in g)&&(p=b(l=g[m],m,d),t))if(n)O[m]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:Wt.call(O,l)}else if(o)return!1;return i?-1:r||o?o:O}},zt={forEach:qt(0),map:qt(1),filter:qt(2),some:qt(3),every:qt(4),find:qt(5),findIndex:qt(6)},Gt=Object.keys||function(t){return ht(t,yt)},$t=a?Object.defineProperties:function(t,n){E(t);for(var e,r=Gt(n),o=r.length,i=0;o>i;)k.f(t,e=r[i++],n[e]);return t},Bt=ot("document","documentElement"),Kt=K("IE_PROTO"),Qt=function(){},Ut=function(t){return"<script>"+t+"<\/script>"},Vt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;Vt=Z?function(t){t.write(Ut("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Z):((n=S("iframe")).style.display="none",Bt.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(Ut("document.F=Object")),t.close(),t.F);for(var e=yt.length;e--;)delete Vt.prototype[yt[e]];return Vt()};Q[Kt]=!0;var Xt=Object.create||function(t,n){var e;return null!==t?(Qt.prototype=E(t),e=new Qt,Qt.prototype=null,e[Kt]=t):e=Vt(),void 0===n?e:$t(e,n)},Yt=Rt("unscopables"),Ht=Array.prototype;null==Ht[Yt]&&k.f(Ht,Yt,{configurable:!0,value:Xt(null)});var Jt,Zt=zt.find,tn=!0;function nn(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function en(t){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rn(t,n){return(rn=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function on(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function an(t,n,e){return(an="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=en(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}"find"in[]&&Array(1).find((function(){tn=!1})),function(t,n){var e,r,i,a,c,u=t.target,s=t.global,f=t.stat;if(e=s?o:f?o[u]||D(u,{}):(o[u]||{}).prototype)for(r in n){if(a=n[r],i=t.noTargetGet?(c=xt(e,r))&&c.value:e[r],!Et(s?r:u+(f?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;wt(a,i)}(t.sham||i&&i.sham)&&A(a,"sham",!0),nt(e,r,a,t)}}({target:"Array",proto:!0,forced:tn},{find:function(t){return Zt(this,t,arguments.length>1?arguments[1]:void 0)}}),Jt="find",Ht[Yt][Jt]=!0,t.extend(t.fn.bootstrapTable.defaults,{classes:"table highlight",buttonsPrefix:"",buttonsClass:"waves-effect waves-light btn",iconsPrefix:"material-icons",icons:{paginationSwitchDown:"grid_on",paginationSwitchUp:"grid_off",refresh:"refresh",toggleOff:"tablet",toggleOn:"tablet_android",columns:"view_list",detailOpen:"add",detailClose:"remove",fullscreen:"fullscreen",sort:"sort",search:"search",clearSearch:"delete"}}),t.fn.bootstrapTable.theme="materialize",t.BootstrapTable=function(n){function e(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),on(this,en(e).apply(this,arguments))}var r,o,i;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&rn(t,n)}(e,n),r=e,(o=[{key:"initConstants",value:function(){an(en(e.prototype),"initConstants",this).call(this),this.constants.classes.buttonsGroup="button-group",this.constants.classes.buttonsDropdown="",this.constants.classes.input="input-field",this.constants.classes.input="",this.constants.classes.paginationDropdown="",this.constants.classes.buttonActive="green",this.constants.html.toolbarDropdown=['<ul id="toolbar-columns-id" class="dropdown-content">',"</ul>"],this.constants.html.toolbarDropdownItem='<li class="dropdown-item-marker"><label>%s</label></li>',this.constants.html.toolbarDropdownSeparator='<li class="divider" tabindex="-1"></li>',this.constants.html.pageDropdown=['<ul id="pagination-list-id" class="dropdown-content">',"</ul>"],this.constants.html.pageDropdownItem='<li><a class="%s" href="#">%s</a></li>',this.constants.html.dropdownCaret='<i class="material-icons">arrow_drop_down</i>',this.constants.html.pagination=['<ul class="pagination%s">',"</ul>"],this.constants.html.paginationItem='<li class="waves-effect page-item%s" aria-label="%s"><a href="#">%s</a></li>',this.constants.html.icon='<i class="%s">%s</i>',this.constants.html.inputGroup="%s%s"}},{key:"initToolbar",value:function(){an(en(e.prototype),"initToolbar",this).call(this),this.handleToolbar()}},{key:"handleToolbar",value:function(){this.$toolbar.find(".dropdown-toggle").length&&this.$toolbar.find(".dropdown-toggle").each((function(n,e){t(e).attr("data-target",t(e).next().attr("id")).dropdown({alignment:"right",constrainWidth:!1,closeOnClick:!1})}))}},{key:"initPagination",value:function(){an(en(e.prototype),"initPagination",this).call(this),this.options.pagination&&!this.options.onlyInfoPagination&&this.$pagination.find(".dropdown-toggle").attr("data-target",this.$pagination.find(".dropdown-content").attr("id")).dropdown()}}])&&nn(r.prototype,o),i&&nn(r,i),e}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.css b/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.css
deleted file mode 100644
index 63d5257..0000000
--- a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.css
+++ /dev/null
@@ -1,403 +0,0 @@
-/**
- * @author zhixin wen <wenzhixin2010@gmail.com>
- * https://github.com/wenzhixin/bootstrap-table/
- * theme: https://github.com/Semantic-Org/Semantic-UI
- */
-.bootstrap-table .fixed-table-toolbar::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-toolbar .bs-bars,
-.bootstrap-table .fixed-table-toolbar .search,
-.bootstrap-table .fixed-table-toolbar .columns {
-  position: relative;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group {
-  display: inline-block;
-  margin-left: -1px !important;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group > .btn {
-  border-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:first-child > .btn {
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .btn-group > .btn-group:last-child > .btn {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu {
-  text-align: left;
-  max-height: 300px;
-  overflow: auto;
-  -ms-overflow-style: scrollbar;
-  z-index: 1001;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns label {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-left {
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .columns-right {
-  margin-left: 5px;
-}
-
-.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.bootstrap-table .fixed-table-container {
-  position: relative;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-container .table {
-  width: 100%;
-  margin-bottom: 0 !important;
-}
-
-.bootstrap-table .fixed-table-container .table th,
-.bootstrap-table .fixed-table-container .table td {
-  vertical-align: middle;
-  box-sizing: border-box;
-}
-
-.bootstrap-table .fixed-table-container .table thead th {
-  vertical-align: bottom;
-  padding: 0;
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-container .table thead th:focus {
-  outline: 0 solid transparent;
-}
-
-.bootstrap-table .fixed-table-container .table thead th.detail {
-  width: 30px;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .th-inner {
-  padding: 0.75rem;
-  vertical-align: bottom;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .sortable {
-  cursor: pointer;
-  background-position: right;
-  background-repeat: no-repeat;
-  padding-right: 30px !important;
-}
-
-.bootstrap-table .fixed-table-container .table thead th .both {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .asc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==");
-}
-
-.bootstrap-table .fixed-table-container .table thead th .desc {
-  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ");
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.selected td {
-  background-color: rgba(0, 0, 0, 0.075);
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view {
-  display: flex;
-}
-
-.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title {
-  font-weight: bold;
-  display: inline-block;
-  min-width: 30%;
-  text-align: left !important;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox {
-  text-align: center;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="radio"],
-.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type="checkbox"] {
-  margin: 0 auto !important;
-}
-
-.bootstrap-table .fixed-table-container .table.table-sm .th-inner {
-  padding: 0.3rem;
-}
-
-.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer) {
-  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height.has-card-view {
-  border-top: 1px solid rgba(34, 36, 38, 0.1);
-  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border {
-  border-left: 1px solid rgba(34, 36, 38, 0.1);
-  border-right: 1px solid rgba(34, 36, 38, 0.1);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table thead th {
-  border-bottom: 1px solid rgba(34, 36, 38, 0.1);
-}
-
-.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th {
-  border-bottom: 1px solid #32383e;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-header {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body {
-  overflow-x: auto;
-  overflow-y: auto;
-  height: 100%;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
-  align-items: center;
-  background: #fff;
-  display: none;
-  justify-content: center;
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  z-index: 1000;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap {
-  align-items: baseline;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
-  font-size: 2rem;
-  margin-right: 6px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap {
-  align-items: center;
-  display: flex;
-  justify-content: center;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before {
-  content: "";
-  animation-duration: 1.5s;
-  animation-iteration-count: infinite;
-  animation-name: LOADING;
-  background: rgba(0, 0, 0, 0.87);
-  border-radius: 50%;
-  display: block;
-  height: 5px;
-  margin: 0 4px;
-  opacity: 0;
-  width: 5px;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot {
-  animation-delay: 0.3s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after {
-  animation-delay: 0.6s;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark {
-  background: rgba(0, 0, 0, 0.87);
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,
-.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before {
-  background: #fff;
-}
-
-.bootstrap-table .fixed-table-container .fixed-table-footer {
-  overflow: hidden;
-}
-
-.bootstrap-table .fixed-table-pagination::after {
-  content: "";
-  display: block;
-  clear: both;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail,
-.bootstrap-table .fixed-table-pagination > .pagination {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .pagination-info {
-  line-height: 34px;
-  margin-right: 5px;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list {
-  display: inline-block;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination-detail .page-list .btn-group .dropdown-menu {
-  margin-bottom: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination {
-  margin: 0;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination a {
-  padding: 6px 12px;
-  line-height: 1.428571429;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a {
-  color: #c8c8c8;
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::before {
-  content: '\2B05';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.page-intermediate a::after {
-  content: '\27A1';
-}
-
-.bootstrap-table .fixed-table-pagination > .pagination ul.pagination li.disabled a {
-  pointer-events: none;
-  cursor: default;
-}
-
-.bootstrap-table.fullscreen {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1050;
-  width: 100% !important;
-  background: #fff;
-  height: calc(100vh);
-  overflow-y: scroll;
-}
-
-/* calculate scrollbar width */
-div.fixed-table-scroll-inner {
-  width: 100%;
-  height: 200px;
-}
-
-div.fixed-table-scroll-outer {
-  top: 0;
-  left: 0;
-  visibility: hidden;
-  width: 200px;
-  height: 150px;
-  overflow: hidden;
-}
-
-@keyframes LOADING {
-  0% {
-    opacity: 0;
-  }
-  50% {
-    opacity: 1;
-  }
-  to {
-    opacity: 0;
-  }
-}
-
-.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer),
-.bootstrap-table .fixed-table-body {
-  border-bottom-left-radius: .28571429rem;
-  border-bottom-right-radius: .28571429rem;
-}
-
-.bootstrap-table .float-left {
-  float: left;
-}
-
-.bootstrap-table .float-right {
-  float: right;
-}
-
-.bootstrap-table .fixed-table-toolbar .search input {
-  padding-top: 0.60714286rem;
-  padding-bottom: 0.60714286rem;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown {
-  padding: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .button.dropdown .button {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.bootstrap-table .fixed-table-toolbar .ui.buttons .button:last-child .button {
-  border-top-right-radius: 0.285714rem;
-  border-bottom-right-radius: .28571429rem;
-}
-
-.bootstrap-table .fixed-table-header .table {
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom: none;
-}
-
-.bootstrap-table .table {
-  background: transparent;
-}
-
-.bootstrap-table .table thead th[data-not-first-th] {
-  border-left: 1px solid rgba(34, 36, 38, 0.1) !important;
-}
-
-.bootstrap-table .dropup i.icon.dropdown:before {
-  content: "\f0d8";
-}
diff --git a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.js b/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.js
deleted file mode 100644
index 7c35b79..0000000
--- a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.js
+++ /dev/null
@@ -1,966 +0,0 @@
-(function (global, factory) {
-	typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
-	typeof define === 'function' && define.amd ? define(['jquery'], factory) :
-	(global = global || self, factory(global.jQuery));
-}(this, (function ($) { 'use strict';
-
-	$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-	var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
-	function createCommonjsModule(fn, module) {
-		return module = { exports: {} }, fn(module, module.exports), module.exports;
-	}
-
-	var check = function (it) {
-	  return it && it.Math == Math && it;
-	};
-
-	// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-	var global_1 =
-	  // eslint-disable-next-line no-undef
-	  check(typeof globalThis == 'object' && globalThis) ||
-	  check(typeof window == 'object' && window) ||
-	  check(typeof self == 'object' && self) ||
-	  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
-	  // eslint-disable-next-line no-new-func
-	  Function('return this')();
-
-	var fails = function (exec) {
-	  try {
-	    return !!exec();
-	  } catch (error) {
-	    return true;
-	  }
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var descriptors = !fails(function () {
-	  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-	});
-
-	var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-	var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// Nashorn ~ JDK8 bug
-	var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-
-	// `Object.prototype.propertyIsEnumerable` method implementation
-	// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-	var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
-	  var descriptor = getOwnPropertyDescriptor(this, V);
-	  return !!descriptor && descriptor.enumerable;
-	} : nativePropertyIsEnumerable;
-
-	var objectPropertyIsEnumerable = {
-		f: f
-	};
-
-	var createPropertyDescriptor = function (bitmap, value) {
-	  return {
-	    enumerable: !(bitmap & 1),
-	    configurable: !(bitmap & 2),
-	    writable: !(bitmap & 4),
-	    value: value
-	  };
-	};
-
-	var toString = {}.toString;
-
-	var classofRaw = function (it) {
-	  return toString.call(it).slice(8, -1);
-	};
-
-	var split = ''.split;
-
-	// fallback for non-array-like ES3 and non-enumerable old V8 strings
-	var indexedObject = fails(function () {
-	  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
-	  // eslint-disable-next-line no-prototype-builtins
-	  return !Object('z').propertyIsEnumerable(0);
-	}) ? function (it) {
-	  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
-	} : Object;
-
-	// `RequireObjectCoercible` abstract operation
-	// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
-	var requireObjectCoercible = function (it) {
-	  if (it == undefined) throw TypeError("Can't call method on " + it);
-	  return it;
-	};
-
-	// toObject with fallback for non-array-like ES3 strings
-
-
-
-	var toIndexedObject = function (it) {
-	  return indexedObject(requireObjectCoercible(it));
-	};
-
-	var isObject = function (it) {
-	  return typeof it === 'object' ? it !== null : typeof it === 'function';
-	};
-
-	// `ToPrimitive` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toprimitive
-	// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-	// and the second argument - flag - preferred type is a string
-	var toPrimitive = function (input, PREFERRED_STRING) {
-	  if (!isObject(input)) return input;
-	  var fn, val;
-	  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
-	  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
-	  throw TypeError("Can't convert object to primitive value");
-	};
-
-	var hasOwnProperty = {}.hasOwnProperty;
-
-	var has = function (it, key) {
-	  return hasOwnProperty.call(it, key);
-	};
-
-	var document$1 = global_1.document;
-	// typeof document.createElement is 'object' in old IE
-	var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
-	var documentCreateElement = function (it) {
-	  return EXISTS ? document$1.createElement(it) : {};
-	};
-
-	// Thank's IE8 for his funny defineProperty
-	var ie8DomDefine = !descriptors && !fails(function () {
-	  return Object.defineProperty(documentCreateElement('div'), 'a', {
-	    get: function () { return 7; }
-	  }).a != 7;
-	});
-
-	var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-
-	// `Object.getOwnPropertyDescriptor` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-	var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
-	  O = toIndexedObject(O);
-	  P = toPrimitive(P, true);
-	  if (ie8DomDefine) try {
-	    return nativeGetOwnPropertyDescriptor(O, P);
-	  } catch (error) { /* empty */ }
-	  if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
-	};
-
-	var objectGetOwnPropertyDescriptor = {
-		f: f$1
-	};
-
-	var anObject = function (it) {
-	  if (!isObject(it)) {
-	    throw TypeError(String(it) + ' is not an object');
-	  } return it;
-	};
-
-	var nativeDefineProperty = Object.defineProperty;
-
-	// `Object.defineProperty` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperty
-	var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
-	  anObject(O);
-	  P = toPrimitive(P, true);
-	  anObject(Attributes);
-	  if (ie8DomDefine) try {
-	    return nativeDefineProperty(O, P, Attributes);
-	  } catch (error) { /* empty */ }
-	  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
-	  if ('value' in Attributes) O[P] = Attributes.value;
-	  return O;
-	};
-
-	var objectDefineProperty = {
-		f: f$2
-	};
-
-	var createNonEnumerableProperty = descriptors ? function (object, key, value) {
-	  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
-	} : function (object, key, value) {
-	  object[key] = value;
-	  return object;
-	};
-
-	var setGlobal = function (key, value) {
-	  try {
-	    createNonEnumerableProperty(global_1, key, value);
-	  } catch (error) {
-	    global_1[key] = value;
-	  } return value;
-	};
-
-	var SHARED = '__core-js_shared__';
-	var store = global_1[SHARED] || setGlobal(SHARED, {});
-
-	var sharedStore = store;
-
-	var functionToString = Function.toString;
-
-	// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-	if (typeof sharedStore.inspectSource != 'function') {
-	  sharedStore.inspectSource = function (it) {
-	    return functionToString.call(it);
-	  };
-	}
-
-	var inspectSource = sharedStore.inspectSource;
-
-	var WeakMap = global_1.WeakMap;
-
-	var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-	var shared = createCommonjsModule(function (module) {
-	(module.exports = function (key, value) {
-	  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
-	})('versions', []).push({
-	  version: '3.6.0',
-	  mode:  'global',
-	  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-	});
-	});
-
-	var id = 0;
-	var postfix = Math.random();
-
-	var uid = function (key) {
-	  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-	};
-
-	var keys = shared('keys');
-
-	var sharedKey = function (key) {
-	  return keys[key] || (keys[key] = uid(key));
-	};
-
-	var hiddenKeys = {};
-
-	var WeakMap$1 = global_1.WeakMap;
-	var set, get, has$1;
-
-	var enforce = function (it) {
-	  return has$1(it) ? get(it) : set(it, {});
-	};
-
-	var getterFor = function (TYPE) {
-	  return function (it) {
-	    var state;
-	    if (!isObject(it) || (state = get(it)).type !== TYPE) {
-	      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-	    } return state;
-	  };
-	};
-
-	if (nativeWeakMap) {
-	  var store$1 = new WeakMap$1();
-	  var wmget = store$1.get;
-	  var wmhas = store$1.has;
-	  var wmset = store$1.set;
-	  set = function (it, metadata) {
-	    wmset.call(store$1, it, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return wmget.call(store$1, it) || {};
-	  };
-	  has$1 = function (it) {
-	    return wmhas.call(store$1, it);
-	  };
-	} else {
-	  var STATE = sharedKey('state');
-	  hiddenKeys[STATE] = true;
-	  set = function (it, metadata) {
-	    createNonEnumerableProperty(it, STATE, metadata);
-	    return metadata;
-	  };
-	  get = function (it) {
-	    return has(it, STATE) ? it[STATE] : {};
-	  };
-	  has$1 = function (it) {
-	    return has(it, STATE);
-	  };
-	}
-
-	var internalState = {
-	  set: set,
-	  get: get,
-	  has: has$1,
-	  enforce: enforce,
-	  getterFor: getterFor
-	};
-
-	var redefine = createCommonjsModule(function (module) {
-	var getInternalState = internalState.get;
-	var enforceInternalState = internalState.enforce;
-	var TEMPLATE = String(String).split('String');
-
-	(module.exports = function (O, key, value, options) {
-	  var unsafe = options ? !!options.unsafe : false;
-	  var simple = options ? !!options.enumerable : false;
-	  var noTargetGet = options ? !!options.noTargetGet : false;
-	  if (typeof value == 'function') {
-	    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
-	    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
-	  }
-	  if (O === global_1) {
-	    if (simple) O[key] = value;
-	    else setGlobal(key, value);
-	    return;
-	  } else if (!unsafe) {
-	    delete O[key];
-	  } else if (!noTargetGet && O[key]) {
-	    simple = true;
-	  }
-	  if (simple) O[key] = value;
-	  else createNonEnumerableProperty(O, key, value);
-	// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
-	})(Function.prototype, 'toString', function toString() {
-	  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-	});
-	});
-
-	var path = global_1;
-
-	var aFunction = function (variable) {
-	  return typeof variable == 'function' ? variable : undefined;
-	};
-
-	var getBuiltIn = function (namespace, method) {
-	  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])
-	    : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
-	};
-
-	var ceil = Math.ceil;
-	var floor = Math.floor;
-
-	// `ToInteger` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tointeger
-	var toInteger = function (argument) {
-	  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-	};
-
-	var min = Math.min;
-
-	// `ToLength` abstract operation
-	// https://tc39.github.io/ecma262/#sec-tolength
-	var toLength = function (argument) {
-	  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
-	};
-
-	var max = Math.max;
-	var min$1 = Math.min;
-
-	// Helper for a popular repeating case of the spec:
-	// Let integer be ? ToInteger(index).
-	// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-	var toAbsoluteIndex = function (index, length) {
-	  var integer = toInteger(index);
-	  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
-	};
-
-	// `Array.prototype.{ indexOf, includes }` methods implementation
-	var createMethod = function (IS_INCLUDES) {
-	  return function ($this, el, fromIndex) {
-	    var O = toIndexedObject($this);
-	    var length = toLength(O.length);
-	    var index = toAbsoluteIndex(fromIndex, length);
-	    var value;
-	    // Array#includes uses SameValueZero equality algorithm
-	    // eslint-disable-next-line no-self-compare
-	    if (IS_INCLUDES && el != el) while (length > index) {
-	      value = O[index++];
-	      // eslint-disable-next-line no-self-compare
-	      if (value != value) return true;
-	    // Array#indexOf ignores holes, Array#includes - not
-	    } else for (;length > index; index++) {
-	      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
-	    } return !IS_INCLUDES && -1;
-	  };
-	};
-
-	var arrayIncludes = {
-	  // `Array.prototype.includes` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-	  includes: createMethod(true),
-	  // `Array.prototype.indexOf` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-	  indexOf: createMethod(false)
-	};
-
-	var indexOf = arrayIncludes.indexOf;
-
-
-	var objectKeysInternal = function (object, names) {
-	  var O = toIndexedObject(object);
-	  var i = 0;
-	  var result = [];
-	  var key;
-	  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
-	  // Don't enum bug & hidden keys
-	  while (names.length > i) if (has(O, key = names[i++])) {
-	    ~indexOf(result, key) || result.push(key);
-	  }
-	  return result;
-	};
-
-	// IE8- don't enum bug keys
-	var enumBugKeys = [
-	  'constructor',
-	  'hasOwnProperty',
-	  'isPrototypeOf',
-	  'propertyIsEnumerable',
-	  'toLocaleString',
-	  'toString',
-	  'valueOf'
-	];
-
-	var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');
-
-	// `Object.getOwnPropertyNames` method
-	// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-	var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-	  return objectKeysInternal(O, hiddenKeys$1);
-	};
-
-	var objectGetOwnPropertyNames = {
-		f: f$3
-	};
-
-	var f$4 = Object.getOwnPropertySymbols;
-
-	var objectGetOwnPropertySymbols = {
-		f: f$4
-	};
-
-	// all object keys, includes non-enumerable and symbols
-	var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
-	  var keys = objectGetOwnPropertyNames.f(anObject(it));
-	  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
-	  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-	};
-
-	var copyConstructorProperties = function (target, source) {
-	  var keys = ownKeys(source);
-	  var defineProperty = objectDefineProperty.f;
-	  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-	  for (var i = 0; i < keys.length; i++) {
-	    var key = keys[i];
-	    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
-	  }
-	};
-
-	var replacement = /#|\.prototype\./;
-
-	var isForced = function (feature, detection) {
-	  var value = data[normalize(feature)];
-	  return value == POLYFILL ? true
-	    : value == NATIVE ? false
-	    : typeof detection == 'function' ? fails(detection)
-	    : !!detection;
-	};
-
-	var normalize = isForced.normalize = function (string) {
-	  return String(string).replace(replacement, '.').toLowerCase();
-	};
-
-	var data = isForced.data = {};
-	var NATIVE = isForced.NATIVE = 'N';
-	var POLYFILL = isForced.POLYFILL = 'P';
-
-	var isForced_1 = isForced;
-
-	var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
-
-
-
-
-
-
-	/*
-	  options.target      - name of the target object
-	  options.global      - target is the global object
-	  options.stat        - export as static methods of target
-	  options.proto       - export as prototype methods of target
-	  options.real        - real prototype method for the `pure` version
-	  options.forced      - export even if the native feature is available
-	  options.bind        - bind methods to the target, required for the `pure` version
-	  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
-	  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
-	  options.sham        - add a flag to not completely full polyfills
-	  options.enumerable  - export as enumerable property
-	  options.noTargetGet - prevent calling a getter on target
-	*/
-	var _export = function (options, source) {
-	  var TARGET = options.target;
-	  var GLOBAL = options.global;
-	  var STATIC = options.stat;
-	  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-	  if (GLOBAL) {
-	    target = global_1;
-	  } else if (STATIC) {
-	    target = global_1[TARGET] || setGlobal(TARGET, {});
-	  } else {
-	    target = (global_1[TARGET] || {}).prototype;
-	  }
-	  if (target) for (key in source) {
-	    sourceProperty = source[key];
-	    if (options.noTargetGet) {
-	      descriptor = getOwnPropertyDescriptor$1(target, key);
-	      targetProperty = descriptor && descriptor.value;
-	    } else targetProperty = target[key];
-	    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-	    // contained in target
-	    if (!FORCED && targetProperty !== undefined) {
-	      if (typeof sourceProperty === typeof targetProperty) continue;
-	      copyConstructorProperties(sourceProperty, targetProperty);
-	    }
-	    // add a flag to not completely full polyfills
-	    if (options.sham || (targetProperty && targetProperty.sham)) {
-	      createNonEnumerableProperty(sourceProperty, 'sham', true);
-	    }
-	    // extend global
-	    redefine(target, key, sourceProperty, options);
-	  }
-	};
-
-	var aFunction$1 = function (it) {
-	  if (typeof it != 'function') {
-	    throw TypeError(String(it) + ' is not a function');
-	  } return it;
-	};
-
-	// optional / simple context binding
-	var bindContext = function (fn, that, length) {
-	  aFunction$1(fn);
-	  if (that === undefined) return fn;
-	  switch (length) {
-	    case 0: return function () {
-	      return fn.call(that);
-	    };
-	    case 1: return function (a) {
-	      return fn.call(that, a);
-	    };
-	    case 2: return function (a, b) {
-	      return fn.call(that, a, b);
-	    };
-	    case 3: return function (a, b, c) {
-	      return fn.call(that, a, b, c);
-	    };
-	  }
-	  return function (/* ...args */) {
-	    return fn.apply(that, arguments);
-	  };
-	};
-
-	// `ToObject` abstract operation
-	// https://tc39.github.io/ecma262/#sec-toobject
-	var toObject = function (argument) {
-	  return Object(requireObjectCoercible(argument));
-	};
-
-	// `IsArray` abstract operation
-	// https://tc39.github.io/ecma262/#sec-isarray
-	var isArray = Array.isArray || function isArray(arg) {
-	  return classofRaw(arg) == 'Array';
-	};
-
-	var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
-	  // Chrome 38 Symbol has incorrect toString conversion
-	  // eslint-disable-next-line no-undef
-	  return !String(Symbol());
-	});
-
-	var useSymbolAsUid = nativeSymbol
-	  // eslint-disable-next-line no-undef
-	  && !Symbol.sham
-	  // eslint-disable-next-line no-undef
-	  && typeof Symbol() == 'symbol';
-
-	var WellKnownSymbolsStore = shared('wks');
-	var Symbol$1 = global_1.Symbol;
-	var createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : uid;
-
-	var wellKnownSymbol = function (name) {
-	  if (!has(WellKnownSymbolsStore, name)) {
-	    if (nativeSymbol && has(Symbol$1, name)) WellKnownSymbolsStore[name] = Symbol$1[name];
-	    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
-	  } return WellKnownSymbolsStore[name];
-	};
-
-	var SPECIES = wellKnownSymbol('species');
-
-	// `ArraySpeciesCreate` abstract operation
-	// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-	var arraySpeciesCreate = function (originalArray, length) {
-	  var C;
-	  if (isArray(originalArray)) {
-	    C = originalArray.constructor;
-	    // cross-realm fallback
-	    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
-	    else if (isObject(C)) {
-	      C = C[SPECIES];
-	      if (C === null) C = undefined;
-	    }
-	  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-	};
-
-	var push = [].push;
-
-	// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-	var createMethod$1 = function (TYPE) {
-	  var IS_MAP = TYPE == 1;
-	  var IS_FILTER = TYPE == 2;
-	  var IS_SOME = TYPE == 3;
-	  var IS_EVERY = TYPE == 4;
-	  var IS_FIND_INDEX = TYPE == 6;
-	  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
-	  return function ($this, callbackfn, that, specificCreate) {
-	    var O = toObject($this);
-	    var self = indexedObject(O);
-	    var boundFunction = bindContext(callbackfn, that, 3);
-	    var length = toLength(self.length);
-	    var index = 0;
-	    var create = specificCreate || arraySpeciesCreate;
-	    var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-	    var value, result;
-	    for (;length > index; index++) if (NO_HOLES || index in self) {
-	      value = self[index];
-	      result = boundFunction(value, index, O);
-	      if (TYPE) {
-	        if (IS_MAP) target[index] = result; // map
-	        else if (result) switch (TYPE) {
-	          case 3: return true;              // some
-	          case 5: return value;             // find
-	          case 6: return index;             // findIndex
-	          case 2: push.call(target, value); // filter
-	        } else if (IS_EVERY) return false;  // every
-	      }
-	    }
-	    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
-	  };
-	};
-
-	var arrayIteration = {
-	  // `Array.prototype.forEach` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-	  forEach: createMethod$1(0),
-	  // `Array.prototype.map` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.map
-	  map: createMethod$1(1),
-	  // `Array.prototype.filter` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
-	  filter: createMethod$1(2),
-	  // `Array.prototype.some` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.some
-	  some: createMethod$1(3),
-	  // `Array.prototype.every` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.every
-	  every: createMethod$1(4),
-	  // `Array.prototype.find` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.find
-	  find: createMethod$1(5),
-	  // `Array.prototype.findIndex` method
-	  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
-	  findIndex: createMethod$1(6)
-	};
-
-	// `Object.keys` method
-	// https://tc39.github.io/ecma262/#sec-object.keys
-	var objectKeys = Object.keys || function keys(O) {
-	  return objectKeysInternal(O, enumBugKeys);
-	};
-
-	// `Object.defineProperties` method
-	// https://tc39.github.io/ecma262/#sec-object.defineproperties
-	var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
-	  anObject(O);
-	  var keys = objectKeys(Properties);
-	  var length = keys.length;
-	  var index = 0;
-	  var key;
-	  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);
-	  return O;
-	};
-
-	var html = getBuiltIn('document', 'documentElement');
-
-	var GT = '>';
-	var LT = '<';
-	var PROTOTYPE = 'prototype';
-	var SCRIPT = 'script';
-	var IE_PROTO = sharedKey('IE_PROTO');
-
-	var EmptyConstructor = function () { /* empty */ };
-
-	var scriptTag = function (content) {
-	  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-	};
-
-	// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-	var NullProtoObjectViaActiveX = function (activeXDocument) {
-	  activeXDocument.write(scriptTag(''));
-	  activeXDocument.close();
-	  var temp = activeXDocument.parentWindow.Object;
-	  activeXDocument = null; // avoid memory leak
-	  return temp;
-	};
-
-	// Create object with fake `null` prototype: use iframe Object with cleared prototype
-	var NullProtoObjectViaIFrame = function () {
-	  // Thrash, waste and sodomy: IE GC bug
-	  var iframe = documentCreateElement('iframe');
-	  var JS = 'java' + SCRIPT + ':';
-	  var iframeDocument;
-	  iframe.style.display = 'none';
-	  html.appendChild(iframe);
-	  // https://github.com/zloirock/core-js/issues/475
-	  iframe.src = String(JS);
-	  iframeDocument = iframe.contentWindow.document;
-	  iframeDocument.open();
-	  iframeDocument.write(scriptTag('document.F=Object'));
-	  iframeDocument.close();
-	  return iframeDocument.F;
-	};
-
-	// Check for document.domain and active x support
-	// No need to use active x approach when document.domain is not set
-	// see https://github.com/es-shims/es5-shim/issues/150
-	// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
-	// avoid IE GC bug
-	var activeXDocument;
-	var NullProtoObject = function () {
-	  try {
-	    /* global ActiveXObject */
-	    activeXDocument = document.domain && new ActiveXObject('htmlfile');
-	  } catch (error) { /* ignore */ }
-	  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
-	  var length = enumBugKeys.length;
-	  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
-	  return NullProtoObject();
-	};
-
-	hiddenKeys[IE_PROTO] = true;
-
-	// `Object.create` method
-	// https://tc39.github.io/ecma262/#sec-object.create
-	var objectCreate = Object.create || function create(O, Properties) {
-	  var result;
-	  if (O !== null) {
-	    EmptyConstructor[PROTOTYPE] = anObject(O);
-	    result = new EmptyConstructor();
-	    EmptyConstructor[PROTOTYPE] = null;
-	    // add "__proto__" for Object.getPrototypeOf polyfill
-	    result[IE_PROTO] = O;
-	  } else result = NullProtoObject();
-	  return Properties === undefined ? result : objectDefineProperties(result, Properties);
-	};
-
-	var UNSCOPABLES = wellKnownSymbol('unscopables');
-	var ArrayPrototype = Array.prototype;
-
-	// Array.prototype[@@unscopables]
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	if (ArrayPrototype[UNSCOPABLES] == undefined) {
-	  objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
-	    configurable: true,
-	    value: objectCreate(null)
-	  });
-	}
-
-	// add a key to Array.prototype[@@unscopables]
-	var addToUnscopables = function (key) {
-	  ArrayPrototype[UNSCOPABLES][key] = true;
-	};
-
-	var $find = arrayIteration.find;
-
-
-	var FIND = 'find';
-	var SKIPS_HOLES = true;
-
-	// Shouldn't skip holes
-	if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
-
-	// `Array.prototype.find` method
-	// https://tc39.github.io/ecma262/#sec-array.prototype.find
-	_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
-	  find: function find(callbackfn /* , that = undefined */) {
-	    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
-	  }
-	});
-
-	// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-	addToUnscopables(FIND);
-
-	function _classCallCheck(instance, Constructor) {
-	  if (!(instance instanceof Constructor)) {
-	    throw new TypeError("Cannot call a class as a function");
-	  }
-	}
-
-	function _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);
-	  }
-	}
-
-	function _createClass(Constructor, protoProps, staticProps) {
-	  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-	  if (staticProps) _defineProperties(Constructor, staticProps);
-	  return Constructor;
-	}
-
-	function _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);
-	}
-
-	function _getPrototypeOf(o) {
-	  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
-	    return o.__proto__ || Object.getPrototypeOf(o);
-	  };
-	  return _getPrototypeOf(o);
-	}
-
-	function _setPrototypeOf(o, p) {
-	  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
-	    o.__proto__ = p;
-	    return o;
-	  };
-
-	  return _setPrototypeOf(o, p);
-	}
-
-	function _assertThisInitialized(self) {
-	  if (self === void 0) {
-	    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-	  }
-
-	  return self;
-	}
-
-	function _possibleConstructorReturn(self, call) {
-	  if (call && (typeof call === "object" || typeof call === "function")) {
-	    return call;
-	  }
-
-	  return _assertThisInitialized(self);
-	}
-
-	function _superPropBase(object, property) {
-	  while (!Object.prototype.hasOwnProperty.call(object, property)) {
-	    object = _getPrototypeOf(object);
-	    if (object === null) break;
-	  }
-
-	  return object;
-	}
-
-	function _get(target, property, receiver) {
-	  if (typeof Reflect !== "undefined" && Reflect.get) {
-	    _get = Reflect.get;
-	  } else {
-	    _get = function _get(target, property, receiver) {
-	      var base = _superPropBase(target, property);
-
-	      if (!base) return;
-	      var desc = Object.getOwnPropertyDescriptor(base, property);
-
-	      if (desc.get) {
-	        return desc.get.call(receiver);
-	      }
-
-	      return desc.value;
-	    };
-	  }
-
-	  return _get(target, property, receiver || target);
-	}
-
-	/**
-	 * @author zhixin wen <wenzhixin2010@gmail.com>
-	 * https://github.com/wenzhixin/bootstrap-table/
-	 * theme: https://github.com/Semantic-Org/Semantic-UI
-	 */
-
-	$.extend($.fn.bootstrapTable.defaults, {
-	  classes: 'ui selectable celled table unstackable',
-	  buttonsPrefix: '',
-	  buttonsClass: 'ui button'
-	});
-	$.fn.bootstrapTable.theme = 'semantic';
-
-	$.BootstrapTable =
-	/*#__PURE__*/
-	function (_$$BootstrapTable) {
-	  _inherits(_class, _$$BootstrapTable);
-
-	  function _class() {
-	    _classCallCheck(this, _class);
-
-	    return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments));
-	  }
-
-	  _createClass(_class, [{
-	    key: "initConstants",
-	    value: function initConstants() {
-	      _get(_getPrototypeOf(_class.prototype), "initConstants", this).call(this);
-
-	      this.constants.classes.buttonsGroup = 'ui buttons';
-	      this.constants.classes.buttonsDropdown = 'ui button dropdown';
-	      this.constants.classes.inputGroup = 'ui input';
-	      this.constants.classes.paginationDropdown = 'ui dropdown';
-	      this.constants.html.toolbarDropdown = ['<div class="menu">', '</div>'];
-	      this.constants.html.toolbarDropdownItem = '<label class="item dropdown-item-marker">%s</label>';
-	      this.constants.html.toolbarDropdownSeparator = '<div class="divider"></div>';
-	      this.constants.html.pageDropdown = ['<div class="menu">', '</div>'];
-	      this.constants.html.pageDropdownItem = '<a class="item %s" href="#">%s</a>';
-	      this.constants.html.dropdownCaret = '<i class="dropdown icon"></i>';
-	      this.constants.html.pagination = ['<div class="ui pagination menu%s">', '</div>'];
-	      this.constants.html.paginationItem = '<a class="page-item item%s" aria-label="%s" href="#">%s</a>';
-	      this.constants.html.inputGroup = '<div class="ui action input">%s%s</div>';
-	    }
-	  }, {
-	    key: "initToolbar",
-	    value: function initToolbar() {
-	      _get(_getPrototypeOf(_class.prototype), "initToolbar", this).call(this);
-
-	      this.handleToolbar();
-	    }
-	  }, {
-	    key: "handleToolbar",
-	    value: function handleToolbar() {
-	      this.$toolbar.find('.button.dropdown').dropdown();
-	    }
-	  }, {
-	    key: "initPagination",
-	    value: function initPagination() {
-	      _get(_getPrototypeOf(_class.prototype), "initPagination", this).call(this);
-
-	      if (this.options.pagination && !this.options.onlyInfoPagination) {
-	        this.$pagination.find('.dropdown').dropdown();
-	      }
-	    }
-	  }]);
-
-	  return _class;
-	}($.BootstrapTable);
-
-})));
diff --git a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.min.css b/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.min.css
deleted file mode 100644
index cf101b7..0000000
--- a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.min.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:rgba(0,0,0,.075)}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid rgba(34,36,38,.1)}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid rgba(34,36,38,.1);border-bottom:1px solid rgba(34,36,38,.1)}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid rgba(34,36,38,.1);border-right:1px solid rgba(34,36,38,.1)}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid rgba(34,36,38,.1)}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:none;justify-content:center;position:absolute;bottom:0;width:100%;z-index:1000}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{font-size:2rem;margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:LOADING;background:rgba(0,0,0,.87);border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:rgba(0,0,0,.87)}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination a{padding:6px 12px;line-height:1.428571429}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:'\2B05'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:'\27A1'}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes LOADING{0%{opacity:0}50%{opacity:1}to{opacity:0}}.bootstrap-table .fixed-table-body,.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.bootstrap-table .float-left{float:left}.bootstrap-table .float-right{float:right}.bootstrap-table .fixed-table-toolbar .search input{padding-top:.60714286rem;padding-bottom:.60714286rem}.bootstrap-table .fixed-table-toolbar .button.dropdown{padding:0}.bootstrap-table .fixed-table-toolbar .button.dropdown .button{border-top-left-radius:0;border-bottom-left-radius:0}.bootstrap-table .fixed-table-toolbar .ui.buttons .button:last-child .button{border-top-right-radius:.285714rem;border-bottom-right-radius:.28571429rem}.bootstrap-table .fixed-table-header .table{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.bootstrap-table .table{background:0 0}.bootstrap-table .table thead th[data-not-first-th]{border-left:1px solid rgba(34,36,38,.1)!important}.bootstrap-table .dropup i.icon.dropdown:before{content:"\f0d8"}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.min.js b/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.min.js
deleted file mode 100644
index 4272cf2..0000000
--- a/server/target/classes/static/bootstrap-table/themes/semantic/bootstrap-table-semantic.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
-  * bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
-  *
-  * @version v1.16.0
-  * @homepage https://bootstrap-table.com
-  * @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
-  * @license MIT
-  */
-
-!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t,n){return t(n={exports:{}},n.exports),n.exports}var r=function(t){return t&&t.Math==Math&&t},o=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n&&n)||Function("return this")(),i=function(t){try{return!!t()}catch(t){return!0}},u=!i((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),c={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,f={f:a&&!c.call({1:2},1)?function(t){var n=a(this,t);return!!n&&n.enumerable}:c},s=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},l={}.toString,p=function(t){return l.call(t).slice(8,-1)},d="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==p(t)?d.call(t,""):Object(t)}:Object,h=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},b=function(t){return y(h(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},g=function(t,n){if(!v(t))return t;var e,r;if(n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;if("function"==typeof(e=t.valueOf)&&!v(r=e.call(t)))return r;if(!n&&"function"==typeof(e=t.toString)&&!v(r=e.call(t)))return r;throw TypeError("Can't convert object to primitive value")},m={}.hasOwnProperty,w=function(t,n){return m.call(t,n)},O=o.document,j=v(O)&&v(O.createElement),S=function(t){return j?O.createElement(t):{}},P=!u&&!i((function(){return 7!=Object.defineProperty(S("div"),"a",{get:function(){return 7}}).a})),T=Object.getOwnPropertyDescriptor,_={f:u?T:function(t,n){if(t=b(t),n=g(n,!0),P)try{return T(t,n)}catch(t){}if(w(t,n))return s(!f.f.call(t,n),t[n])}},E=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},k=Object.defineProperty,x={f:u?k:function(t,n,e){if(E(t),n=g(n,!0),E(e),P)try{return k(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},I=u?function(t,n,e){return x.f(t,n,s(1,e))}:function(t,n,e){return t[n]=e,t},A=function(t,n){try{I(o,t,n)}catch(e){o[t]=n}return n},D=o["__core-js_shared__"]||A("__core-js_shared__",{}),M=Function.toString;"function"!=typeof D.inspectSource&&(D.inspectSource=function(t){return M.call(t)});var C,F,R,G=D.inspectSource,L=o.WeakMap,N="function"==typeof L&&/native code/.test(G(L)),q=e((function(t){(t.exports=function(t,n){return D[t]||(D[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.0",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),W=0,z=Math.random(),B=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+z).toString(36)},$=q("keys"),K=function(t){return $[t]||($[t]=B(t))},Q={},V=o.WeakMap;if(N){var X=new V,Y=X.get,H=X.has,J=X.set;C=function(t,n){return J.call(X,t,n),n},F=function(t){return Y.call(X,t)||{}},R=function(t){return H.call(X,t)}}else{var U=K("state");Q[U]=!0,C=function(t,n){return I(t,U,n),n},F=function(t){return w(t,U)?t[U]:{}},R=function(t){return w(t,U)}}var Z,tt={set:C,get:F,has:R,enforce:function(t){return R(t)?F(t):C(t,{})},getterFor:function(t){return function(n){var e;if(!v(n)||(e=F(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}},nt=e((function(t){var n=tt.get,e=tt.enforce,r=String(String).split("String");(t.exports=function(t,n,i,u){var c=!!u&&!!u.unsafe,a=!!u&&!!u.enumerable,f=!!u&&!!u.noTargetGet;"function"==typeof i&&("string"!=typeof n||w(i,"name")||I(i,"name",n),e(i).source=r.join("string"==typeof n?n:"")),t!==o?(c?!f&&t[n]&&(a=!0):delete t[n],a?t[n]=i:I(t,n,i)):a?t[n]=i:A(n,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||G(this)}))})),et=o,rt=function(t){return"function"==typeof t?t:void 0},ot=function(t,n){return arguments.length<2?rt(et[t])||rt(o[t]):et[t]&&et[t][n]||o[t]&&o[t][n]},it=Math.ceil,ut=Math.floor,ct=function(t){return isNaN(t=+t)?0:(t>0?ut:it)(t)},at=Math.min,ft=function(t){return t>0?at(ct(t),9007199254740991):0},st=Math.max,lt=Math.min,pt=function(t){return function(n,e,r){var o,i=b(n),u=ft(i.length),c=function(t,n){var e=ct(t);return e<0?st(e+n,0):lt(e,n)}(r,u);if(t&&e!=e){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},dt={includes:pt(!0),indexOf:pt(!1)}.indexOf,yt=function(t,n){var e,r=b(t),o=0,i=[];for(e in r)!w(Q,e)&&w(r,e)&&i.push(e);for(;n.length>o;)w(r,e=n[o++])&&(~dt(i,e)||i.push(e));return i},ht=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=ht.concat("length","prototype"),vt={f:Object.getOwnPropertyNames||function(t){return yt(t,bt)}},gt={f:Object.getOwnPropertySymbols},mt=ot("Reflect","ownKeys")||function(t){var n=vt.f(E(t)),e=gt.f;return e?n.concat(e(t)):n},wt=function(t,n){for(var e=mt(n),r=x.f,o=_.f,i=0;i<e.length;i++){var u=e[i];w(t,u)||r(t,u,o(n,u))}},Ot=/#|\.prototype\./,jt=function(t,n){var e=Pt[St(t)];return e==_t||e!=Tt&&("function"==typeof n?i(n):!!n)},St=jt.normalize=function(t){return String(t).replace(Ot,".").toLowerCase()},Pt=jt.data={},Tt=jt.NATIVE="N",_t=jt.POLYFILL="P",Et=jt,kt=_.f,xt=function(t,n,e){if(function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function")}(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}},It=Array.isArray||function(t){return"Array"==p(t)},At=!!Object.getOwnPropertySymbols&&!i((function(){return!String(Symbol())})),Dt=At&&!Symbol.sham&&"symbol"==typeof Symbol(),Mt=q("wks"),Ct=o.Symbol,Ft=Dt?Ct:B,Rt=function(t){return w(Mt,t)||(At&&w(Ct,t)?Mt[t]=Ct[t]:Mt[t]=Ft("Symbol."+t)),Mt[t]},Gt=Rt("species"),Lt=function(t,n){var e;return It(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!It(e.prototype)?v(e)&&null===(e=e[Gt])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)},Nt=[].push,qt=function(t){var n=1==t,e=2==t,r=3==t,o=4==t,i=6==t,u=5==t||i;return function(c,a,f,s){for(var l,p,d=Object(h(c)),b=y(d),v=xt(a,f,3),g=ft(b.length),m=0,w=s||Lt,O=n?w(c,g):e?w(c,0):void 0;g>m;m++)if((u||m in b)&&(p=v(l=b[m],m,d),t))if(n)O[m]=p;else if(p)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:Nt.call(O,l)}else if(o)return!1;return i?-1:r||o?o:O}},Wt={forEach:qt(0),map:qt(1),filter:qt(2),some:qt(3),every:qt(4),find:qt(5),findIndex:qt(6)},zt=Object.keys||function(t){return yt(t,ht)},Bt=u?Object.defineProperties:function(t,n){E(t);for(var e,r=zt(n),o=r.length,i=0;o>i;)x.f(t,e=r[i++],n[e]);return t},$t=ot("document","documentElement"),Kt=K("IE_PROTO"),Qt=function(){},Vt=function(t){return"<script>"+t+"<\/script>"},Xt=function(){try{Z=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;Xt=Z?function(t){t.write(Vt("")),t.close();var n=t.parentWindow.Object;return t=null,n}(Z):((n=S("iframe")).style.display="none",$t.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(Vt("document.F=Object")),t.close(),t.F);for(var e=ht.length;e--;)delete Xt.prototype[ht[e]];return Xt()};Q[Kt]=!0;var Yt=Object.create||function(t,n){var e;return null!==t?(Qt.prototype=E(t),e=new Qt,Qt.prototype=null,e[Kt]=t):e=Xt(),void 0===n?e:Bt(e,n)},Ht=Rt("unscopables"),Jt=Array.prototype;null==Jt[Ht]&&x.f(Jt,Ht,{configurable:!0,value:Yt(null)});var Ut,Zt=Wt.find,tn=!0;function nn(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function en(t){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function rn(t,n){return(rn=Object.setPrototypeOf||function(t,n){return t.__proto__=n,t})(t,n)}function on(t,n){return!n||"object"!=typeof n&&"function"!=typeof n?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):n}function un(t,n,e){return(un="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,n,e){var r=function(t,n){for(;!Object.prototype.hasOwnProperty.call(t,n)&&null!==(t=en(t)););return t}(t,n);if(r){var o=Object.getOwnPropertyDescriptor(r,n);return o.get?o.get.call(e):o.value}})(t,n,e||t)}"find"in[]&&Array(1).find((function(){tn=!1})),function(t,n){var e,r,i,u,c,a=t.target,f=t.global,s=t.stat;if(e=f?o:s?o[a]||A(a,{}):(o[a]||{}).prototype)for(r in n){if(u=n[r],i=t.noTargetGet?(c=kt(e,r))&&c.value:e[r],!Et(f?r:a+(s?".":"#")+r,t.forced)&&void 0!==i){if(typeof u==typeof i)continue;wt(u,i)}(t.sham||i&&i.sham)&&I(u,"sham",!0),nt(e,r,u,t)}}({target:"Array",proto:!0,forced:tn},{find:function(t){return Zt(this,t,arguments.length>1?arguments[1]:void 0)}}),Ut="find",Jt[Ht][Ut]=!0,t.extend(t.fn.bootstrapTable.defaults,{classes:"ui selectable celled table unstackable",buttonsPrefix:"",buttonsClass:"ui button"}),t.fn.bootstrapTable.theme="semantic",t.BootstrapTable=function(t){function n(){return function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),on(this,en(n).apply(this,arguments))}var e,r,o;return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),n&&rn(t,n)}(n,t),e=n,(r=[{key:"initConstants",value:function(){un(en(n.prototype),"initConstants",this).call(this),this.constants.classes.buttonsGroup="ui buttons",this.constants.classes.buttonsDropdown="ui button dropdown",this.constants.classes.inputGroup="ui input",this.constants.classes.paginationDropdown="ui dropdown",this.constants.html.toolbarDropdown=['<div class="menu">',"</div>"],this.constants.html.toolbarDropdownItem='<label class="item dropdown-item-marker">%s</label>',this.constants.html.toolbarDropdownSeparator='<div class="divider"></div>',this.constants.html.pageDropdown=['<div class="menu">',"</div>"],this.constants.html.pageDropdownItem='<a class="item %s" href="#">%s</a>',this.constants.html.dropdownCaret='<i class="dropdown icon"></i>',this.constants.html.pagination=['<div class="ui pagination menu%s">',"</div>"],this.constants.html.paginationItem='<a class="page-item item%s" aria-label="%s" href="#">%s</a>',this.constants.html.inputGroup='<div class="ui action input">%s%s</div>'}},{key:"initToolbar",value:function(){un(en(n.prototype),"initToolbar",this).call(this),this.handleToolbar()}},{key:"handleToolbar",value:function(){this.$toolbar.find(".button.dropdown").dropdown()}},{key:"initPagination",value:function(){un(en(n.prototype),"initPagination",this).call(this),this.options.pagination&&!this.options.onlyInfoPagination&&this.$pagination.find(".dropdown").dropdown()}}])&&nn(e.prototype,r),o&&nn(e,o),n}(t.BootstrapTable)}));
diff --git a/server/target/classes/static/bootstrap/css/bootstrap-theme.css b/server/target/classes/static/bootstrap/css/bootstrap-theme.css
deleted file mode 100644
index 31d8882..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap-theme.css
+++ /dev/null
@@ -1,587 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-.btn-default,
-.btn-primary,
-.btn-success,
-.btn-info,
-.btn-warning,
-.btn-danger {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
-}
-.btn-default:active,
-.btn-primary:active,
-.btn-success:active,
-.btn-info:active,
-.btn-warning:active,
-.btn-danger:active,
-.btn-default.active,
-.btn-primary.active,
-.btn-success.active,
-.btn-info.active,
-.btn-warning.active,
-.btn-danger.active {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn-default.disabled,
-.btn-primary.disabled,
-.btn-success.disabled,
-.btn-info.disabled,
-.btn-warning.disabled,
-.btn-danger.disabled,
-.btn-default[disabled],
-.btn-primary[disabled],
-.btn-success[disabled],
-.btn-info[disabled],
-.btn-warning[disabled],
-.btn-danger[disabled],
-fieldset[disabled] .btn-default,
-fieldset[disabled] .btn-primary,
-fieldset[disabled] .btn-success,
-fieldset[disabled] .btn-info,
-fieldset[disabled] .btn-warning,
-fieldset[disabled] .btn-danger {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.btn-default .badge,
-.btn-primary .badge,
-.btn-success .badge,
-.btn-info .badge,
-.btn-warning .badge,
-.btn-danger .badge {
-  text-shadow: none;
-}
-.btn:active,
-.btn.active {
-  background-image: none;
-}
-.btn-default {
-  text-shadow: 0 1px 0 #fff;
-  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
-  background-image:      -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
-  background-image:         linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #dbdbdb;
-  border-color: #ccc;
-}
-.btn-default:hover,
-.btn-default:focus {
-  background-color: #e0e0e0;
-  background-position: 0 -15px;
-}
-.btn-default:active,
-.btn-default.active {
-  background-color: #e0e0e0;
-  border-color: #dbdbdb;
-}
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled.focus,
-.btn-default[disabled].focus,
-fieldset[disabled] .btn-default.focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
-  background-color: #e0e0e0;
-  background-image: none;
-}
-.btn-primary {
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #245580;
-}
-.btn-primary:hover,
-.btn-primary:focus {
-  background-color: #265a88;
-  background-position: 0 -15px;
-}
-.btn-primary:active,
-.btn-primary.active {
-  background-color: #265a88;
-  border-color: #245580;
-}
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled.focus,
-.btn-primary[disabled].focus,
-fieldset[disabled] .btn-primary.focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
-  background-color: #265a88;
-  background-image: none;
-}
-.btn-success {
-  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
-  background-image:      -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
-  background-image:         linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #3e8f3e;
-}
-.btn-success:hover,
-.btn-success:focus {
-  background-color: #419641;
-  background-position: 0 -15px;
-}
-.btn-success:active,
-.btn-success.active {
-  background-color: #419641;
-  border-color: #3e8f3e;
-}
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled.focus,
-.btn-success[disabled].focus,
-fieldset[disabled] .btn-success.focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
-  background-color: #419641;
-  background-image: none;
-}
-.btn-info {
-  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
-  background-image:      -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
-  background-image:         linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #28a4c9;
-}
-.btn-info:hover,
-.btn-info:focus {
-  background-color: #2aabd2;
-  background-position: 0 -15px;
-}
-.btn-info:active,
-.btn-info.active {
-  background-color: #2aabd2;
-  border-color: #28a4c9;
-}
-.btn-info.disabled,
-.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled.focus,
-.btn-info[disabled].focus,
-fieldset[disabled] .btn-info.focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
-  background-color: #2aabd2;
-  background-image: none;
-}
-.btn-warning {
-  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
-  background-image:      -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
-  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #e38d13;
-}
-.btn-warning:hover,
-.btn-warning:focus {
-  background-color: #eb9316;
-  background-position: 0 -15px;
-}
-.btn-warning:active,
-.btn-warning.active {
-  background-color: #eb9316;
-  border-color: #e38d13;
-}
-.btn-warning.disabled,
-.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled.focus,
-.btn-warning[disabled].focus,
-fieldset[disabled] .btn-warning.focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
-  background-color: #eb9316;
-  background-image: none;
-}
-.btn-danger {
-  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
-  background-image:      -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
-  background-image:         linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #b92c28;
-}
-.btn-danger:hover,
-.btn-danger:focus {
-  background-color: #c12e2a;
-  background-position: 0 -15px;
-}
-.btn-danger:active,
-.btn-danger.active {
-  background-color: #c12e2a;
-  border-color: #b92c28;
-}
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled.focus,
-.btn-danger[disabled].focus,
-fieldset[disabled] .btn-danger.focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
-  background-color: #c12e2a;
-  background-image: none;
-}
-.thumbnail,
-.img-thumbnail {
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  background-color: #e8e8e8;
-  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
-  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
-  background-repeat: repeat-x;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  background-color: #2e6da4;
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
-  background-repeat: repeat-x;
-}
-.navbar-default {
-  background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
-  background-image:      -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
-  background-image:         linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .active > a {
-  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
-  background-image:      -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
-  background-image:         linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
-  background-repeat: repeat-x;
-  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
-}
-.navbar-brand,
-.navbar-nav > li > a {
-  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
-}
-.navbar-inverse {
-  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
-  background-image:      -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
-  background-image:         linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-radius: 4px;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .active > a {
-  background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
-  background-image:      -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
-  background-image:         linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
-  background-repeat: repeat-x;
-  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
-          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
-}
-.navbar-inverse .navbar-brand,
-.navbar-inverse .navbar-nav > li > a {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
-}
-.navbar-static-top,
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  border-radius: 0;
-}
-@media (max-width: 767px) {
-  .navbar .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #fff;
-    background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-    background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
-    background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
-    background-repeat: repeat-x;
-  }
-}
-.alert {
-  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
-}
-.alert-success {
-  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
-  background-image:      -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
-  background-image:         linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #b2dba1;
-}
-.alert-info {
-  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
-  background-image:      -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
-  background-image:         linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #9acfea;
-}
-.alert-warning {
-  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
-  background-image:      -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
-  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #f5e79e;
-}
-.alert-danger {
-  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
-  background-image:      -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
-  background-image:         linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #dca7a7;
-}
-.progress {
-  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
-  background-image:      -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
-  background-image:         linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar {
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #286090 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #286090 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-success {
-  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
-  background-image:      -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
-  background-image:         linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-info {
-  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
-  background-image:      -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
-  background-image:         linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-warning {
-  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
-  background-image:      -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
-  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-danger {
-  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
-  background-image:      -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
-  background-image:         linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-striped {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.list-group {
-  border-radius: 4px;
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
-  text-shadow: 0 -1px 0 #286090;
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #2b669a;
-}
-.list-group-item.active .badge,
-.list-group-item.active:hover .badge,
-.list-group-item.active:focus .badge {
-  text-shadow: none;
-}
-.panel {
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
-}
-.panel-default > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
-  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-primary > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-success > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
-  background-image:      -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
-  background-image:         linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-info > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
-  background-image:      -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
-  background-image:         linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-warning > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
-  background-image:      -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
-  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-danger > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
-  background-image:      -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
-  background-image:         linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
-  background-repeat: repeat-x;
-}
-.well {
-  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
-  background-image:      -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
-  background-image:         linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #dcdcdc;
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
-          box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
-}
-/*# sourceMappingURL=bootstrap-theme.css.map */
diff --git a/server/target/classes/static/bootstrap/css/bootstrap-theme.css.map b/server/target/classes/static/bootstrap/css/bootstrap-theme.css.map
deleted file mode 100644
index d876f60..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap-theme.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n  text-shadow: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n}\n.btn-default {\n  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n  background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n  background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #dbdbdb;\n  text-shadow: 0 1px 0 #fff;\n  border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background-color: #e0e0e0;\n  background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n  background-color: #e0e0e0;\n  border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #e0e0e0;\n  background-image: none;\n}\n.btn-primary {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background-color: #265a88;\n  background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #265a88;\n  border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #265a88;\n  background-image: none;\n}\n.btn-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background-color: #419641;\n  background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n  background-color: #419641;\n  border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #419641;\n  background-image: none;\n}\n.btn-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n  background-color: #2aabd2;\n  background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n  background-color: #2aabd2;\n  border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #2aabd2;\n  background-image: none;\n}\n.btn-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n  background-color: #eb9316;\n  background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #eb9316;\n  border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #eb9316;\n  background-image: none;\n}\n.btn-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background-color: #c12e2a;\n  background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #c12e2a;\n  border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #c12e2a;\n  background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n  background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n  background-color: #2e6da4;\n}\n.navbar-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n  background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n  background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n  background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n  background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n@media (max-width: 767px) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n    background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n    background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n    background-repeat: repeat-x;\n    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n  }\n}\n.alert {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n  border-color: #b2dba1;\n}\n.alert-info {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n  border-color: #9acfea;\n}\n.alert-warning {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n  border-color: #f5e79e;\n}\n.alert-danger {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n  border-color: #dca7a7;\n}\n.progress {\n  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 #286090;\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n  border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n  text-shadow: none;\n}\n.panel {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n  border-color: #dcdcdc;\n  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  // Reset the shadow\n  &:active,\n  &.active {\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    .box-shadow(none);\n  }\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n  .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n  background-repeat: repeat-x;\n  border-color: darken(@btn-color, 14%);\n\n  &:hover,\n  &:focus  {\n    background-color: darken(@btn-color, 12%);\n    background-position: 0 -15px;\n  }\n\n  &:active,\n  &.active {\n    background-color: darken(@btn-color, 12%);\n    border-color: darken(@btn-color, 14%);\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &,\n    &:hover,\n    &:focus,\n    &.focus,\n    &:active,\n    &.active {\n      background-color: darken(@btn-color, 12%);\n      background-image: none;\n    }\n  }\n}\n\n// Common styles\n.btn {\n  // Remove the gradient for the pressed/active state\n  &:active,\n  &.active {\n    background-image: none;\n  }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info    { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger  { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n  background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n  background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n  border-radius: @navbar-border-radius;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n  }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n  border-radius: @navbar-border-radius;\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n  }\n\n  .navbar-brand,\n  .navbar-nav > li > a {\n    text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n  }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a {\n    &,\n    &:hover,\n    &:focus {\n      color: #fff;\n      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n    }\n  }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n  text-shadow: 0 1px 0 rgba(255,255,255,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n  .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n  border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success    { .alert-styles(@alert-success-bg); }\n.alert-info       { .alert-styles(@alert-info-bg); }\n.alert-warning    { .alert-styles(@alert-warning-bg); }\n.alert-danger     { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n  #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar            { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n  #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n  border-radius: @border-radius-base;\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n  #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n  border-color: darken(@list-group-active-border, 7.5%);\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n  .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n  #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n  border-color: darken(@well-bg, 10%);\n  @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/css/bootstrap-theme.min.css b/server/target/classes/static/bootstrap/css/bootstrap-theme.min.css
deleted file mode 100644
index 5e39401..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap-theme.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
-/*# sourceMappingURL=bootstrap-theme.min.css.map */
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/css/bootstrap-theme.min.css.map b/server/target/classes/static/bootstrap/css/bootstrap-theme.min.css.map
deleted file mode 100644
index 94813e9..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap-theme.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  // Reset the shadow\n  &:active,\n  &.active {\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    .box-shadow(none);\n  }\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n  .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n  background-repeat: repeat-x;\n  border-color: darken(@btn-color, 14%);\n\n  &:hover,\n  &:focus  {\n    background-color: darken(@btn-color, 12%);\n    background-position: 0 -15px;\n  }\n\n  &:active,\n  &.active {\n    background-color: darken(@btn-color, 12%);\n    border-color: darken(@btn-color, 14%);\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &,\n    &:hover,\n    &:focus,\n    &.focus,\n    &:active,\n    &.active {\n      background-color: darken(@btn-color, 12%);\n      background-image: none;\n    }\n  }\n}\n\n// Common styles\n.btn {\n  // Remove the gradient for the pressed/active state\n  &:active,\n  &.active {\n    background-image: none;\n  }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info    { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger  { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n  background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n  background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n  border-radius: @navbar-border-radius;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n  }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n  border-radius: @navbar-border-radius;\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n  }\n\n  .navbar-brand,\n  .navbar-nav > li > a {\n    text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n  }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a {\n    &,\n    &:hover,\n    &:focus {\n      color: #fff;\n      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n    }\n  }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n  text-shadow: 0 1px 0 rgba(255,255,255,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n  .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n  border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success    { .alert-styles(@alert-success-bg); }\n.alert-info       { .alert-styles(@alert-info-bg); }\n.alert-warning    { .alert-styles(@alert-warning-bg); }\n.alert-danger     { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n  #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar            { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n  #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n  border-radius: @border-radius-base;\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n  #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n  border-color: darken(@list-group-active-border, 7.5%);\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n  .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n  #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n  border-color: darken(@well-bg, 10%);\n  @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/css/bootstrap.css b/server/target/classes/static/bootstrap/css/bootstrap.css
deleted file mode 100644
index 6167622..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap.css
+++ /dev/null
@@ -1,6757 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
-html {
-  font-family: sans-serif;
-  -webkit-text-size-adjust: 100%;
-      -ms-text-size-adjust: 100%;
-}
-body {
-  margin: 0;
-}
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
-  display: block;
-}
-audio,
-canvas,
-progress,
-video {
-  display: inline-block;
-  vertical-align: baseline;
-}
-audio:not([controls]) {
-  display: none;
-  height: 0;
-}
-[hidden],
-template {
-  display: none;
-}
-a {
-  background-color: transparent;
-}
-a:active,
-a:hover {
-  outline: 0;
-}
-abbr[title] {
-  border-bottom: 1px dotted;
-}
-b,
-strong {
-  font-weight: bold;
-}
-dfn {
-  font-style: italic;
-}
-h1 {
-  margin: .67em 0;
-  font-size: 2em;
-}
-mark {
-  color: #000;
-  background: #ff0;
-}
-small {
-  font-size: 80%;
-}
-sub,
-sup {
-  position: relative;
-  font-size: 75%;
-  line-height: 0;
-  vertical-align: baseline;
-}
-sup {
-  top: -.5em;
-}
-sub {
-  bottom: -.25em;
-}
-img {
-  border: 0;
-}
-svg:not(:root) {
-  overflow: hidden;
-}
-figure {
-  margin: 1em 40px;
-}
-hr {
-  height: 0;
-  -webkit-box-sizing: content-box;
-     -moz-box-sizing: content-box;
-          box-sizing: content-box;
-}
-pre {
-  overflow: auto;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-button,
-input,
-optgroup,
-select,
-textarea {
-  margin: 0;
-  font: inherit;
-  color: inherit;
-}
-button {
-  overflow: visible;
-}
-button,
-select {
-  text-transform: none;
-}
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
-  -webkit-appearance: button;
-  cursor: pointer;
-}
-button[disabled],
-html input[disabled] {
-  cursor: default;
-}
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  padding: 0;
-  border: 0;
-}
-input {
-  line-height: normal;
-}
-input[type="checkbox"],
-input[type="radio"] {
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-  padding: 0;
-}
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-box-sizing: content-box;
-     -moz-box-sizing: content-box;
-          box-sizing: content-box;
-  -webkit-appearance: textfield;
-}
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-fieldset {
-  padding: .35em .625em .75em;
-  margin: 0 2px;
-  border: 1px solid #c0c0c0;
-}
-legend {
-  padding: 0;
-  border: 0;
-}
-textarea {
-  overflow: auto;
-}
-optgroup {
-  font-weight: bold;
-}
-table {
-  border-spacing: 0;
-  border-collapse: collapse;
-}
-td,
-th {
-  padding: 0;
-}
-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
-@media print {
-  *,
-  *:before,
-  *:after {
-    color: #000 !important;
-    text-shadow: none !important;
-    background: transparent !important;
-    -webkit-box-shadow: none !important;
-            box-shadow: none !important;
-  }
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-  a[href^="#"]:after,
-  a[href^="javascript:"]:after {
-    content: "";
-  }
-  pre,
-  blockquote {
-    border: 1px solid #999;
-
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  img {
-    max-width: 100% !important;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-  .navbar {
-    display: none;
-  }
-  .btn > .caret,
-  .dropup > .btn > .caret {
-    border-top-color: #000 !important;
-  }
-  .label {
-    border: 1px solid #000;
-  }
-  .table {
-    border-collapse: collapse !important;
-  }
-  .table td,
-  .table th {
-    background-color: #fff !important;
-  }
-  .table-bordered th,
-  .table-bordered td {
-    border: 1px solid #ddd !important;
-  }
-}
-@font-face {
-  font-family: 'Glyphicons Halflings';
-
-  src: url('../fonts/glyphicons-halflings-regular.eot');
-  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
-}
-.glyphicon {
-  position: relative;
-  top: 1px;
-  display: inline-block;
-  font-family: 'Glyphicons Halflings';
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1;
-
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-.glyphicon-asterisk:before {
-  content: "\002a";
-}
-.glyphicon-plus:before {
-  content: "\002b";
-}
-.glyphicon-euro:before,
-.glyphicon-eur:before {
-  content: "\20ac";
-}
-.glyphicon-minus:before {
-  content: "\2212";
-}
-.glyphicon-cloud:before {
-  content: "\2601";
-}
-.glyphicon-envelope:before {
-  content: "\2709";
-}
-.glyphicon-pencil:before {
-  content: "\270f";
-}
-.glyphicon-glass:before {
-  content: "\e001";
-}
-.glyphicon-music:before {
-  content: "\e002";
-}
-.glyphicon-search:before {
-  content: "\e003";
-}
-.glyphicon-heart:before {
-  content: "\e005";
-}
-.glyphicon-star:before {
-  content: "\e006";
-}
-.glyphicon-star-empty:before {
-  content: "\e007";
-}
-.glyphicon-user:before {
-  content: "\e008";
-}
-.glyphicon-film:before {
-  content: "\e009";
-}
-.glyphicon-th-large:before {
-  content: "\e010";
-}
-.glyphicon-th:before {
-  content: "\e011";
-}
-.glyphicon-th-list:before {
-  content: "\e012";
-}
-.glyphicon-ok:before {
-  content: "\e013";
-}
-.glyphicon-remove:before {
-  content: "\e014";
-}
-.glyphicon-zoom-in:before {
-  content: "\e015";
-}
-.glyphicon-zoom-out:before {
-  content: "\e016";
-}
-.glyphicon-off:before {
-  content: "\e017";
-}
-.glyphicon-signal:before {
-  content: "\e018";
-}
-.glyphicon-cog:before {
-  content: "\e019";
-}
-.glyphicon-trash:before {
-  content: "\e020";
-}
-.glyphicon-home:before {
-  content: "\e021";
-}
-.glyphicon-file:before {
-  content: "\e022";
-}
-.glyphicon-time:before {
-  content: "\e023";
-}
-.glyphicon-road:before {
-  content: "\e024";
-}
-.glyphicon-download-alt:before {
-  content: "\e025";
-}
-.glyphicon-download:before {
-  content: "\e026";
-}
-.glyphicon-upload:before {
-  content: "\e027";
-}
-.glyphicon-inbox:before {
-  content: "\e028";
-}
-.glyphicon-play-circle:before {
-  content: "\e029";
-}
-.glyphicon-repeat:before {
-  content: "\e030";
-}
-.glyphicon-refresh:before {
-  content: "\e031";
-}
-.glyphicon-list-alt:before {
-  content: "\e032";
-}
-.glyphicon-lock:before {
-  content: "\e033";
-}
-.glyphicon-flag:before {
-  content: "\e034";
-}
-.glyphicon-headphones:before {
-  content: "\e035";
-}
-.glyphicon-volume-off:before {
-  content: "\e036";
-}
-.glyphicon-volume-down:before {
-  content: "\e037";
-}
-.glyphicon-volume-up:before {
-  content: "\e038";
-}
-.glyphicon-qrcode:before {
-  content: "\e039";
-}
-.glyphicon-barcode:before {
-  content: "\e040";
-}
-.glyphicon-tag:before {
-  content: "\e041";
-}
-.glyphicon-tags:before {
-  content: "\e042";
-}
-.glyphicon-book:before {
-  content: "\e043";
-}
-.glyphicon-bookmark:before {
-  content: "\e044";
-}
-.glyphicon-print:before {
-  content: "\e045";
-}
-.glyphicon-camera:before {
-  content: "\e046";
-}
-.glyphicon-font:before {
-  content: "\e047";
-}
-.glyphicon-bold:before {
-  content: "\e048";
-}
-.glyphicon-italic:before {
-  content: "\e049";
-}
-.glyphicon-text-height:before {
-  content: "\e050";
-}
-.glyphicon-text-width:before {
-  content: "\e051";
-}
-.glyphicon-align-left:before {
-  content: "\e052";
-}
-.glyphicon-align-center:before {
-  content: "\e053";
-}
-.glyphicon-align-right:before {
-  content: "\e054";
-}
-.glyphicon-align-justify:before {
-  content: "\e055";
-}
-.glyphicon-list:before {
-  content: "\e056";
-}
-.glyphicon-indent-left:before {
-  content: "\e057";
-}
-.glyphicon-indent-right:before {
-  content: "\e058";
-}
-.glyphicon-facetime-video:before {
-  content: "\e059";
-}
-.glyphicon-picture:before {
-  content: "\e060";
-}
-.glyphicon-map-marker:before {
-  content: "\e062";
-}
-.glyphicon-adjust:before {
-  content: "\e063";
-}
-.glyphicon-tint:before {
-  content: "\e064";
-}
-.glyphicon-edit:before {
-  content: "\e065";
-}
-.glyphicon-share:before {
-  content: "\e066";
-}
-.glyphicon-check:before {
-  content: "\e067";
-}
-.glyphicon-move:before {
-  content: "\e068";
-}
-.glyphicon-step-backward:before {
-  content: "\e069";
-}
-.glyphicon-fast-backward:before {
-  content: "\e070";
-}
-.glyphicon-backward:before {
-  content: "\e071";
-}
-.glyphicon-play:before {
-  content: "\e072";
-}
-.glyphicon-pause:before {
-  content: "\e073";
-}
-.glyphicon-stop:before {
-  content: "\e074";
-}
-.glyphicon-forward:before {
-  content: "\e075";
-}
-.glyphicon-fast-forward:before {
-  content: "\e076";
-}
-.glyphicon-step-forward:before {
-  content: "\e077";
-}
-.glyphicon-eject:before {
-  content: "\e078";
-}
-.glyphicon-chevron-left:before {
-  content: "\e079";
-}
-.glyphicon-chevron-right:before {
-  content: "\e080";
-}
-.glyphicon-plus-sign:before {
-  content: "\e081";
-}
-.glyphicon-minus-sign:before {
-  content: "\e082";
-}
-.glyphicon-remove-sign:before {
-  content: "\e083";
-}
-.glyphicon-ok-sign:before {
-  content: "\e084";
-}
-.glyphicon-question-sign:before {
-  content: "\e085";
-}
-.glyphicon-info-sign:before {
-  content: "\e086";
-}
-.glyphicon-screenshot:before {
-  content: "\e087";
-}
-.glyphicon-remove-circle:before {
-  content: "\e088";
-}
-.glyphicon-ok-circle:before {
-  content: "\e089";
-}
-.glyphicon-ban-circle:before {
-  content: "\e090";
-}
-.glyphicon-arrow-left:before {
-  content: "\e091";
-}
-.glyphicon-arrow-right:before {
-  content: "\e092";
-}
-.glyphicon-arrow-up:before {
-  content: "\e093";
-}
-.glyphicon-arrow-down:before {
-  content: "\e094";
-}
-.glyphicon-share-alt:before {
-  content: "\e095";
-}
-.glyphicon-resize-full:before {
-  content: "\e096";
-}
-.glyphicon-resize-small:before {
-  content: "\e097";
-}
-.glyphicon-exclamation-sign:before {
-  content: "\e101";
-}
-.glyphicon-gift:before {
-  content: "\e102";
-}
-.glyphicon-leaf:before {
-  content: "\e103";
-}
-.glyphicon-fire:before {
-  content: "\e104";
-}
-.glyphicon-eye-open:before {
-  content: "\e105";
-}
-.glyphicon-eye-close:before {
-  content: "\e106";
-}
-.glyphicon-warning-sign:before {
-  content: "\e107";
-}
-.glyphicon-plane:before {
-  content: "\e108";
-}
-.glyphicon-calendar:before {
-  content: "\e109";
-}
-.glyphicon-random:before {
-  content: "\e110";
-}
-.glyphicon-comment:before {
-  content: "\e111";
-}
-.glyphicon-magnet:before {
-  content: "\e112";
-}
-.glyphicon-chevron-up:before {
-  content: "\e113";
-}
-.glyphicon-chevron-down:before {
-  content: "\e114";
-}
-.glyphicon-retweet:before {
-  content: "\e115";
-}
-.glyphicon-shopping-cart:before {
-  content: "\e116";
-}
-.glyphicon-folder-close:before {
-  content: "\e117";
-}
-.glyphicon-folder-open:before {
-  content: "\e118";
-}
-.glyphicon-resize-vertical:before {
-  content: "\e119";
-}
-.glyphicon-resize-horizontal:before {
-  content: "\e120";
-}
-.glyphicon-hdd:before {
-  content: "\e121";
-}
-.glyphicon-bullhorn:before {
-  content: "\e122";
-}
-.glyphicon-bell:before {
-  content: "\e123";
-}
-.glyphicon-certificate:before {
-  content: "\e124";
-}
-.glyphicon-thumbs-up:before {
-  content: "\e125";
-}
-.glyphicon-thumbs-down:before {
-  content: "\e126";
-}
-.glyphicon-hand-right:before {
-  content: "\e127";
-}
-.glyphicon-hand-left:before {
-  content: "\e128";
-}
-.glyphicon-hand-up:before {
-  content: "\e129";
-}
-.glyphicon-hand-down:before {
-  content: "\e130";
-}
-.glyphicon-circle-arrow-right:before {
-  content: "\e131";
-}
-.glyphicon-circle-arrow-left:before {
-  content: "\e132";
-}
-.glyphicon-circle-arrow-up:before {
-  content: "\e133";
-}
-.glyphicon-circle-arrow-down:before {
-  content: "\e134";
-}
-.glyphicon-globe:before {
-  content: "\e135";
-}
-.glyphicon-wrench:before {
-  content: "\e136";
-}
-.glyphicon-tasks:before {
-  content: "\e137";
-}
-.glyphicon-filter:before {
-  content: "\e138";
-}
-.glyphicon-briefcase:before {
-  content: "\e139";
-}
-.glyphicon-fullscreen:before {
-  content: "\e140";
-}
-.glyphicon-dashboard:before {
-  content: "\e141";
-}
-.glyphicon-paperclip:before {
-  content: "\e142";
-}
-.glyphicon-heart-empty:before {
-  content: "\e143";
-}
-.glyphicon-link:before {
-  content: "\e144";
-}
-.glyphicon-phone:before {
-  content: "\e145";
-}
-.glyphicon-pushpin:before {
-  content: "\e146";
-}
-.glyphicon-usd:before {
-  content: "\e148";
-}
-.glyphicon-gbp:before {
-  content: "\e149";
-}
-.glyphicon-sort:before {
-  content: "\e150";
-}
-.glyphicon-sort-by-alphabet:before {
-  content: "\e151";
-}
-.glyphicon-sort-by-alphabet-alt:before {
-  content: "\e152";
-}
-.glyphicon-sort-by-order:before {
-  content: "\e153";
-}
-.glyphicon-sort-by-order-alt:before {
-  content: "\e154";
-}
-.glyphicon-sort-by-attributes:before {
-  content: "\e155";
-}
-.glyphicon-sort-by-attributes-alt:before {
-  content: "\e156";
-}
-.glyphicon-unchecked:before {
-  content: "\e157";
-}
-.glyphicon-expand:before {
-  content: "\e158";
-}
-.glyphicon-collapse-down:before {
-  content: "\e159";
-}
-.glyphicon-collapse-up:before {
-  content: "\e160";
-}
-.glyphicon-log-in:before {
-  content: "\e161";
-}
-.glyphicon-flash:before {
-  content: "\e162";
-}
-.glyphicon-log-out:before {
-  content: "\e163";
-}
-.glyphicon-new-window:before {
-  content: "\e164";
-}
-.glyphicon-record:before {
-  content: "\e165";
-}
-.glyphicon-save:before {
-  content: "\e166";
-}
-.glyphicon-open:before {
-  content: "\e167";
-}
-.glyphicon-saved:before {
-  content: "\e168";
-}
-.glyphicon-import:before {
-  content: "\e169";
-}
-.glyphicon-export:before {
-  content: "\e170";
-}
-.glyphicon-send:before {
-  content: "\e171";
-}
-.glyphicon-floppy-disk:before {
-  content: "\e172";
-}
-.glyphicon-floppy-saved:before {
-  content: "\e173";
-}
-.glyphicon-floppy-remove:before {
-  content: "\e174";
-}
-.glyphicon-floppy-save:before {
-  content: "\e175";
-}
-.glyphicon-floppy-open:before {
-  content: "\e176";
-}
-.glyphicon-credit-card:before {
-  content: "\e177";
-}
-.glyphicon-transfer:before {
-  content: "\e178";
-}
-.glyphicon-cutlery:before {
-  content: "\e179";
-}
-.glyphicon-header:before {
-  content: "\e180";
-}
-.glyphicon-compressed:before {
-  content: "\e181";
-}
-.glyphicon-earphone:before {
-  content: "\e182";
-}
-.glyphicon-phone-alt:before {
-  content: "\e183";
-}
-.glyphicon-tower:before {
-  content: "\e184";
-}
-.glyphicon-stats:before {
-  content: "\e185";
-}
-.glyphicon-sd-video:before {
-  content: "\e186";
-}
-.glyphicon-hd-video:before {
-  content: "\e187";
-}
-.glyphicon-subtitles:before {
-  content: "\e188";
-}
-.glyphicon-sound-stereo:before {
-  content: "\e189";
-}
-.glyphicon-sound-dolby:before {
-  content: "\e190";
-}
-.glyphicon-sound-5-1:before {
-  content: "\e191";
-}
-.glyphicon-sound-6-1:before {
-  content: "\e192";
-}
-.glyphicon-sound-7-1:before {
-  content: "\e193";
-}
-.glyphicon-copyright-mark:before {
-  content: "\e194";
-}
-.glyphicon-registration-mark:before {
-  content: "\e195";
-}
-.glyphicon-cloud-download:before {
-  content: "\e197";
-}
-.glyphicon-cloud-upload:before {
-  content: "\e198";
-}
-.glyphicon-tree-conifer:before {
-  content: "\e199";
-}
-.glyphicon-tree-deciduous:before {
-  content: "\e200";
-}
-.glyphicon-cd:before {
-  content: "\e201";
-}
-.glyphicon-save-file:before {
-  content: "\e202";
-}
-.glyphicon-open-file:before {
-  content: "\e203";
-}
-.glyphicon-level-up:before {
-  content: "\e204";
-}
-.glyphicon-copy:before {
-  content: "\e205";
-}
-.glyphicon-paste:before {
-  content: "\e206";
-}
-.glyphicon-alert:before {
-  content: "\e209";
-}
-.glyphicon-equalizer:before {
-  content: "\e210";
-}
-.glyphicon-king:before {
-  content: "\e211";
-}
-.glyphicon-queen:before {
-  content: "\e212";
-}
-.glyphicon-pawn:before {
-  content: "\e213";
-}
-.glyphicon-bishop:before {
-  content: "\e214";
-}
-.glyphicon-knight:before {
-  content: "\e215";
-}
-.glyphicon-baby-formula:before {
-  content: "\e216";
-}
-.glyphicon-tent:before {
-  content: "\26fa";
-}
-.glyphicon-blackboard:before {
-  content: "\e218";
-}
-.glyphicon-bed:before {
-  content: "\e219";
-}
-.glyphicon-apple:before {
-  content: "\f8ff";
-}
-.glyphicon-erase:before {
-  content: "\e221";
-}
-.glyphicon-hourglass:before {
-  content: "\231b";
-}
-.glyphicon-lamp:before {
-  content: "\e223";
-}
-.glyphicon-duplicate:before {
-  content: "\e224";
-}
-.glyphicon-piggy-bank:before {
-  content: "\e225";
-}
-.glyphicon-scissors:before {
-  content: "\e226";
-}
-.glyphicon-bitcoin:before {
-  content: "\e227";
-}
-.glyphicon-btc:before {
-  content: "\e227";
-}
-.glyphicon-xbt:before {
-  content: "\e227";
-}
-.glyphicon-yen:before {
-  content: "\00a5";
-}
-.glyphicon-jpy:before {
-  content: "\00a5";
-}
-.glyphicon-ruble:before {
-  content: "\20bd";
-}
-.glyphicon-rub:before {
-  content: "\20bd";
-}
-.glyphicon-scale:before {
-  content: "\e230";
-}
-.glyphicon-ice-lolly:before {
-  content: "\e231";
-}
-.glyphicon-ice-lolly-tasted:before {
-  content: "\e232";
-}
-.glyphicon-education:before {
-  content: "\e233";
-}
-.glyphicon-option-horizontal:before {
-  content: "\e234";
-}
-.glyphicon-option-vertical:before {
-  content: "\e235";
-}
-.glyphicon-menu-hamburger:before {
-  content: "\e236";
-}
-.glyphicon-modal-window:before {
-  content: "\e237";
-}
-.glyphicon-oil:before {
-  content: "\e238";
-}
-.glyphicon-grain:before {
-  content: "\e239";
-}
-.glyphicon-sunglasses:before {
-  content: "\e240";
-}
-.glyphicon-text-size:before {
-  content: "\e241";
-}
-.glyphicon-text-color:before {
-  content: "\e242";
-}
-.glyphicon-text-background:before {
-  content: "\e243";
-}
-.glyphicon-object-align-top:before {
-  content: "\e244";
-}
-.glyphicon-object-align-bottom:before {
-  content: "\e245";
-}
-.glyphicon-object-align-horizontal:before {
-  content: "\e246";
-}
-.glyphicon-object-align-left:before {
-  content: "\e247";
-}
-.glyphicon-object-align-vertical:before {
-  content: "\e248";
-}
-.glyphicon-object-align-right:before {
-  content: "\e249";
-}
-.glyphicon-triangle-right:before {
-  content: "\e250";
-}
-.glyphicon-triangle-left:before {
-  content: "\e251";
-}
-.glyphicon-triangle-bottom:before {
-  content: "\e252";
-}
-.glyphicon-triangle-top:before {
-  content: "\e253";
-}
-.glyphicon-console:before {
-  content: "\e254";
-}
-.glyphicon-superscript:before {
-  content: "\e255";
-}
-.glyphicon-subscript:before {
-  content: "\e256";
-}
-.glyphicon-menu-left:before {
-  content: "\e257";
-}
-.glyphicon-menu-right:before {
-  content: "\e258";
-}
-.glyphicon-menu-down:before {
-  content: "\e259";
-}
-.glyphicon-menu-up:before {
-  content: "\e260";
-}
-* {
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-*:before,
-*:after {
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-html {
-  font-size: 10px;
-
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-body {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #333;
-  background-color: #fff;
-}
-input,
-button,
-select,
-textarea {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-a {
-  color: #337ab7;
-  text-decoration: none;
-}
-a:hover,
-a:focus {
-  color: #23527c;
-  text-decoration: underline;
-}
-a:focus {
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-figure {
-  margin: 0;
-}
-img {
-  vertical-align: middle;
-}
-.img-responsive,
-.thumbnail > img,
-.thumbnail a > img,
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  display: block;
-  max-width: 100%;
-  height: auto;
-}
-.img-rounded {
-  border-radius: 6px;
-}
-.img-thumbnail {
-  display: inline-block;
-  max-width: 100%;
-  height: auto;
-  padding: 4px;
-  line-height: 1.42857143;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 4px;
-  -webkit-transition: all .2s ease-in-out;
-       -o-transition: all .2s ease-in-out;
-          transition: all .2s ease-in-out;
-}
-.img-circle {
-  border-radius: 50%;
-}
-hr {
-  margin-top: 20px;
-  margin-bottom: 20px;
-  border: 0;
-  border-top: 1px solid #eee;
-}
-.sr-only {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  border: 0;
-}
-.sr-only-focusable:active,
-.sr-only-focusable:focus {
-  position: static;
-  width: auto;
-  height: auto;
-  margin: 0;
-  overflow: visible;
-  clip: auto;
-}
-[role="button"] {
-  cursor: pointer;
-}
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 {
-  font-family: inherit;
-  font-weight: 500;
-  line-height: 1.1;
-  color: inherit;
-}
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small,
-.h1 small,
-.h2 small,
-.h3 small,
-.h4 small,
-.h5 small,
-.h6 small,
-h1 .small,
-h2 .small,
-h3 .small,
-h4 .small,
-h5 .small,
-h6 .small,
-.h1 .small,
-.h2 .small,
-.h3 .small,
-.h4 .small,
-.h5 .small,
-.h6 .small {
-  font-weight: normal;
-  line-height: 1;
-  color: #777;
-}
-h1,
-.h1,
-h2,
-.h2,
-h3,
-.h3 {
-  margin-top: 20px;
-  margin-bottom: 10px;
-}
-h1 small,
-.h1 small,
-h2 small,
-.h2 small,
-h3 small,
-.h3 small,
-h1 .small,
-.h1 .small,
-h2 .small,
-.h2 .small,
-h3 .small,
-.h3 .small {
-  font-size: 65%;
-}
-h4,
-.h4,
-h5,
-.h5,
-h6,
-.h6 {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-h4 small,
-.h4 small,
-h5 small,
-.h5 small,
-h6 small,
-.h6 small,
-h4 .small,
-.h4 .small,
-h5 .small,
-.h5 .small,
-h6 .small,
-.h6 .small {
-  font-size: 75%;
-}
-h1,
-.h1 {
-  font-size: 36px;
-}
-h2,
-.h2 {
-  font-size: 30px;
-}
-h3,
-.h3 {
-  font-size: 24px;
-}
-h4,
-.h4 {
-  font-size: 18px;
-}
-h5,
-.h5 {
-  font-size: 14px;
-}
-h6,
-.h6 {
-  font-size: 12px;
-}
-p {
-  margin: 0 0 10px;
-}
-.lead {
-  margin-bottom: 20px;
-  font-size: 16px;
-  font-weight: 300;
-  line-height: 1.4;
-}
-@media (min-width: 768px) {
-  .lead {
-    font-size: 21px;
-  }
-}
-small,
-.small {
-  font-size: 85%;
-}
-mark,
-.mark {
-  padding: .2em;
-  background-color: #fcf8e3;
-}
-.text-left {
-  text-align: left;
-}
-.text-right {
-  text-align: right;
-}
-.text-center {
-  text-align: center;
-}
-.text-justify {
-  text-align: justify;
-}
-.text-nowrap {
-  white-space: nowrap;
-}
-.text-lowercase {
-  text-transform: lowercase;
-}
-.text-uppercase {
-  text-transform: uppercase;
-}
-.text-capitalize {
-  text-transform: capitalize;
-}
-.text-muted {
-  color: #777;
-}
-.text-primary {
-  color: #337ab7;
-}
-a.text-primary:hover,
-a.text-primary:focus {
-  color: #286090;
-}
-.text-success {
-  color: #3c763d;
-}
-a.text-success:hover,
-a.text-success:focus {
-  color: #2b542c;
-}
-.text-info {
-  color: #31708f;
-}
-a.text-info:hover,
-a.text-info:focus {
-  color: #245269;
-}
-.text-warning {
-  color: #8a6d3b;
-}
-a.text-warning:hover,
-a.text-warning:focus {
-  color: #66512c;
-}
-.text-danger {
-  color: #a94442;
-}
-a.text-danger:hover,
-a.text-danger:focus {
-  color: #843534;
-}
-.bg-primary {
-  color: #fff;
-  background-color: #337ab7;
-}
-a.bg-primary:hover,
-a.bg-primary:focus {
-  background-color: #286090;
-}
-.bg-success {
-  background-color: #dff0d8;
-}
-a.bg-success:hover,
-a.bg-success:focus {
-  background-color: #c1e2b3;
-}
-.bg-info {
-  background-color: #d9edf7;
-}
-a.bg-info:hover,
-a.bg-info:focus {
-  background-color: #afd9ee;
-}
-.bg-warning {
-  background-color: #fcf8e3;
-}
-a.bg-warning:hover,
-a.bg-warning:focus {
-  background-color: #f7ecb5;
-}
-.bg-danger {
-  background-color: #f2dede;
-}
-a.bg-danger:hover,
-a.bg-danger:focus {
-  background-color: #e4b9b9;
-}
-.page-header {
-  padding-bottom: 9px;
-  margin: 40px 0 20px;
-  border-bottom: 1px solid #eee;
-}
-ul,
-ol {
-  margin-top: 0;
-  margin-bottom: 10px;
-}
-ul ul,
-ol ul,
-ul ol,
-ol ol {
-  margin-bottom: 0;
-}
-.list-unstyled {
-  padding-left: 0;
-  list-style: none;
-}
-.list-inline {
-  padding-left: 0;
-  margin-left: -5px;
-  list-style: none;
-}
-.list-inline > li {
-  display: inline-block;
-  padding-right: 5px;
-  padding-left: 5px;
-}
-dl {
-  margin-top: 0;
-  margin-bottom: 20px;
-}
-dt,
-dd {
-  line-height: 1.42857143;
-}
-dt {
-  font-weight: bold;
-}
-dd {
-  margin-left: 0;
-}
-@media (min-width: 768px) {
-  .dl-horizontal dt {
-    float: left;
-    width: 160px;
-    overflow: hidden;
-    clear: left;
-    text-align: right;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-  }
-  .dl-horizontal dd {
-    margin-left: 180px;
-  }
-}
-abbr[title],
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted #777;
-}
-.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-blockquote {
-  padding: 10px 20px;
-  margin: 0 0 20px;
-  font-size: 17.5px;
-  border-left: 5px solid #eee;
-}
-blockquote p:last-child,
-blockquote ul:last-child,
-blockquote ol:last-child {
-  margin-bottom: 0;
-}
-blockquote footer,
-blockquote small,
-blockquote .small {
-  display: block;
-  font-size: 80%;
-  line-height: 1.42857143;
-  color: #777;
-}
-blockquote footer:before,
-blockquote small:before,
-blockquote .small:before {
-  content: '\2014 \00A0';
-}
-.blockquote-reverse,
-blockquote.pull-right {
-  padding-right: 15px;
-  padding-left: 0;
-  text-align: right;
-  border-right: 5px solid #eee;
-  border-left: 0;
-}
-.blockquote-reverse footer:before,
-blockquote.pull-right footer:before,
-.blockquote-reverse small:before,
-blockquote.pull-right small:before,
-.blockquote-reverse .small:before,
-blockquote.pull-right .small:before {
-  content: '';
-}
-.blockquote-reverse footer:after,
-blockquote.pull-right footer:after,
-.blockquote-reverse small:after,
-blockquote.pull-right small:after,
-.blockquote-reverse .small:after,
-blockquote.pull-right .small:after {
-  content: '\00A0 \2014';
-}
-address {
-  margin-bottom: 20px;
-  font-style: normal;
-  line-height: 1.42857143;
-}
-code,
-kbd,
-pre,
-samp {
-  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-}
-code {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #c7254e;
-  background-color: #f9f2f4;
-  border-radius: 4px;
-}
-kbd {
-  padding: 2px 4px;
-  font-size: 90%;
-  color: #fff;
-  background-color: #333;
-  border-radius: 3px;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
-}
-kbd kbd {
-  padding: 0;
-  font-size: 100%;
-  font-weight: bold;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-pre {
-  display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
-  font-size: 13px;
-  line-height: 1.42857143;
-  color: #333;
-  word-break: break-all;
-  word-wrap: break-word;
-  background-color: #f5f5f5;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-}
-pre code {
-  padding: 0;
-  font-size: inherit;
-  color: inherit;
-  white-space: pre-wrap;
-  background-color: transparent;
-  border-radius: 0;
-}
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-.container {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-}
-@media (min-width: 768px) {
-  .container {
-    width: 750px;
-  }
-}
-@media (min-width: 992px) {
-  .container {
-    width: 970px;
-  }
-}
-@media (min-width: 1200px) {
-  .container {
-    width: 1170px;
-  }
-}
-.container-fluid {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-}
-.row {
-  margin-right: -15px;
-  margin-left: -15px;
-}
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
-  position: relative;
-  min-height: 1px;
-  padding-right: 15px;
-  padding-left: 15px;
-}
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
-  float: left;
-}
-.col-xs-12 {
-  width: 100%;
-}
-.col-xs-11 {
-  width: 91.66666667%;
-}
-.col-xs-10 {
-  width: 83.33333333%;
-}
-.col-xs-9 {
-  width: 75%;
-}
-.col-xs-8 {
-  width: 66.66666667%;
-}
-.col-xs-7 {
-  width: 58.33333333%;
-}
-.col-xs-6 {
-  width: 50%;
-}
-.col-xs-5 {
-  width: 41.66666667%;
-}
-.col-xs-4 {
-  width: 33.33333333%;
-}
-.col-xs-3 {
-  width: 25%;
-}
-.col-xs-2 {
-  width: 16.66666667%;
-}
-.col-xs-1 {
-  width: 8.33333333%;
-}
-.col-xs-pull-12 {
-  right: 100%;
-}
-.col-xs-pull-11 {
-  right: 91.66666667%;
-}
-.col-xs-pull-10 {
-  right: 83.33333333%;
-}
-.col-xs-pull-9 {
-  right: 75%;
-}
-.col-xs-pull-8 {
-  right: 66.66666667%;
-}
-.col-xs-pull-7 {
-  right: 58.33333333%;
-}
-.col-xs-pull-6 {
-  right: 50%;
-}
-.col-xs-pull-5 {
-  right: 41.66666667%;
-}
-.col-xs-pull-4 {
-  right: 33.33333333%;
-}
-.col-xs-pull-3 {
-  right: 25%;
-}
-.col-xs-pull-2 {
-  right: 16.66666667%;
-}
-.col-xs-pull-1 {
-  right: 8.33333333%;
-}
-.col-xs-pull-0 {
-  right: auto;
-}
-.col-xs-push-12 {
-  left: 100%;
-}
-.col-xs-push-11 {
-  left: 91.66666667%;
-}
-.col-xs-push-10 {
-  left: 83.33333333%;
-}
-.col-xs-push-9 {
-  left: 75%;
-}
-.col-xs-push-8 {
-  left: 66.66666667%;
-}
-.col-xs-push-7 {
-  left: 58.33333333%;
-}
-.col-xs-push-6 {
-  left: 50%;
-}
-.col-xs-push-5 {
-  left: 41.66666667%;
-}
-.col-xs-push-4 {
-  left: 33.33333333%;
-}
-.col-xs-push-3 {
-  left: 25%;
-}
-.col-xs-push-2 {
-  left: 16.66666667%;
-}
-.col-xs-push-1 {
-  left: 8.33333333%;
-}
-.col-xs-push-0 {
-  left: auto;
-}
-.col-xs-offset-12 {
-  margin-left: 100%;
-}
-.col-xs-offset-11 {
-  margin-left: 91.66666667%;
-}
-.col-xs-offset-10 {
-  margin-left: 83.33333333%;
-}
-.col-xs-offset-9 {
-  margin-left: 75%;
-}
-.col-xs-offset-8 {
-  margin-left: 66.66666667%;
-}
-.col-xs-offset-7 {
-  margin-left: 58.33333333%;
-}
-.col-xs-offset-6 {
-  margin-left: 50%;
-}
-.col-xs-offset-5 {
-  margin-left: 41.66666667%;
-}
-.col-xs-offset-4 {
-  margin-left: 33.33333333%;
-}
-.col-xs-offset-3 {
-  margin-left: 25%;
-}
-.col-xs-offset-2 {
-  margin-left: 16.66666667%;
-}
-.col-xs-offset-1 {
-  margin-left: 8.33333333%;
-}
-.col-xs-offset-0 {
-  margin-left: 0;
-}
-@media (min-width: 768px) {
-  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
-    float: left;
-  }
-  .col-sm-12 {
-    width: 100%;
-  }
-  .col-sm-11 {
-    width: 91.66666667%;
-  }
-  .col-sm-10 {
-    width: 83.33333333%;
-  }
-  .col-sm-9 {
-    width: 75%;
-  }
-  .col-sm-8 {
-    width: 66.66666667%;
-  }
-  .col-sm-7 {
-    width: 58.33333333%;
-  }
-  .col-sm-6 {
-    width: 50%;
-  }
-  .col-sm-5 {
-    width: 41.66666667%;
-  }
-  .col-sm-4 {
-    width: 33.33333333%;
-  }
-  .col-sm-3 {
-    width: 25%;
-  }
-  .col-sm-2 {
-    width: 16.66666667%;
-  }
-  .col-sm-1 {
-    width: 8.33333333%;
-  }
-  .col-sm-pull-12 {
-    right: 100%;
-  }
-  .col-sm-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-sm-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-sm-pull-9 {
-    right: 75%;
-  }
-  .col-sm-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-sm-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-sm-pull-6 {
-    right: 50%;
-  }
-  .col-sm-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-sm-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-sm-pull-3 {
-    right: 25%;
-  }
-  .col-sm-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-sm-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-sm-pull-0 {
-    right: auto;
-  }
-  .col-sm-push-12 {
-    left: 100%;
-  }
-  .col-sm-push-11 {
-    left: 91.66666667%;
-  }
-  .col-sm-push-10 {
-    left: 83.33333333%;
-  }
-  .col-sm-push-9 {
-    left: 75%;
-  }
-  .col-sm-push-8 {
-    left: 66.66666667%;
-  }
-  .col-sm-push-7 {
-    left: 58.33333333%;
-  }
-  .col-sm-push-6 {
-    left: 50%;
-  }
-  .col-sm-push-5 {
-    left: 41.66666667%;
-  }
-  .col-sm-push-4 {
-    left: 33.33333333%;
-  }
-  .col-sm-push-3 {
-    left: 25%;
-  }
-  .col-sm-push-2 {
-    left: 16.66666667%;
-  }
-  .col-sm-push-1 {
-    left: 8.33333333%;
-  }
-  .col-sm-push-0 {
-    left: auto;
-  }
-  .col-sm-offset-12 {
-    margin-left: 100%;
-  }
-  .col-sm-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-sm-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-sm-offset-9 {
-    margin-left: 75%;
-  }
-  .col-sm-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-sm-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-sm-offset-6 {
-    margin-left: 50%;
-  }
-  .col-sm-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-sm-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-sm-offset-3 {
-    margin-left: 25%;
-  }
-  .col-sm-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-sm-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-sm-offset-0 {
-    margin-left: 0;
-  }
-}
-@media (min-width: 992px) {
-  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
-    float: left;
-  }
-  .col-md-12 {
-    width: 100%;
-  }
-  .col-md-11 {
-    width: 91.66666667%;
-  }
-  .col-md-10 {
-    width: 83.33333333%;
-  }
-  .col-md-9 {
-    width: 75%;
-  }
-  .col-md-8 {
-    width: 66.66666667%;
-  }
-  .col-md-7 {
-    width: 58.33333333%;
-  }
-  .col-md-6 {
-    width: 50%;
-  }
-  .col-md-5 {
-    width: 41.66666667%;
-  }
-  .col-md-4 {
-    width: 33.33333333%;
-  }
-  .col-md-3 {
-    width: 25%;
-  }
-  .col-md-2 {
-    width: 16.66666667%;
-  }
-  .col-md-1 {
-    width: 8.33333333%;
-  }
-  .col-md-pull-12 {
-    right: 100%;
-  }
-  .col-md-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-md-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-md-pull-9 {
-    right: 75%;
-  }
-  .col-md-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-md-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-md-pull-6 {
-    right: 50%;
-  }
-  .col-md-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-md-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-md-pull-3 {
-    right: 25%;
-  }
-  .col-md-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-md-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-md-pull-0 {
-    right: auto;
-  }
-  .col-md-push-12 {
-    left: 100%;
-  }
-  .col-md-push-11 {
-    left: 91.66666667%;
-  }
-  .col-md-push-10 {
-    left: 83.33333333%;
-  }
-  .col-md-push-9 {
-    left: 75%;
-  }
-  .col-md-push-8 {
-    left: 66.66666667%;
-  }
-  .col-md-push-7 {
-    left: 58.33333333%;
-  }
-  .col-md-push-6 {
-    left: 50%;
-  }
-  .col-md-push-5 {
-    left: 41.66666667%;
-  }
-  .col-md-push-4 {
-    left: 33.33333333%;
-  }
-  .col-md-push-3 {
-    left: 25%;
-  }
-  .col-md-push-2 {
-    left: 16.66666667%;
-  }
-  .col-md-push-1 {
-    left: 8.33333333%;
-  }
-  .col-md-push-0 {
-    left: auto;
-  }
-  .col-md-offset-12 {
-    margin-left: 100%;
-  }
-  .col-md-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-md-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-md-offset-9 {
-    margin-left: 75%;
-  }
-  .col-md-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-md-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-md-offset-6 {
-    margin-left: 50%;
-  }
-  .col-md-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-md-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-md-offset-3 {
-    margin-left: 25%;
-  }
-  .col-md-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-md-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-md-offset-0 {
-    margin-left: 0;
-  }
-}
-@media (min-width: 1200px) {
-  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
-    float: left;
-  }
-  .col-lg-12 {
-    width: 100%;
-  }
-  .col-lg-11 {
-    width: 91.66666667%;
-  }
-  .col-lg-10 {
-    width: 83.33333333%;
-  }
-  .col-lg-9 {
-    width: 75%;
-  }
-  .col-lg-8 {
-    width: 66.66666667%;
-  }
-  .col-lg-7 {
-    width: 58.33333333%;
-  }
-  .col-lg-6 {
-    width: 50%;
-  }
-  .col-lg-5 {
-    width: 41.66666667%;
-  }
-  .col-lg-4 {
-    width: 33.33333333%;
-  }
-  .col-lg-3 {
-    width: 25%;
-  }
-  .col-lg-2 {
-    width: 16.66666667%;
-  }
-  .col-lg-1 {
-    width: 8.33333333%;
-  }
-  .col-lg-pull-12 {
-    right: 100%;
-  }
-  .col-lg-pull-11 {
-    right: 91.66666667%;
-  }
-  .col-lg-pull-10 {
-    right: 83.33333333%;
-  }
-  .col-lg-pull-9 {
-    right: 75%;
-  }
-  .col-lg-pull-8 {
-    right: 66.66666667%;
-  }
-  .col-lg-pull-7 {
-    right: 58.33333333%;
-  }
-  .col-lg-pull-6 {
-    right: 50%;
-  }
-  .col-lg-pull-5 {
-    right: 41.66666667%;
-  }
-  .col-lg-pull-4 {
-    right: 33.33333333%;
-  }
-  .col-lg-pull-3 {
-    right: 25%;
-  }
-  .col-lg-pull-2 {
-    right: 16.66666667%;
-  }
-  .col-lg-pull-1 {
-    right: 8.33333333%;
-  }
-  .col-lg-pull-0 {
-    right: auto;
-  }
-  .col-lg-push-12 {
-    left: 100%;
-  }
-  .col-lg-push-11 {
-    left: 91.66666667%;
-  }
-  .col-lg-push-10 {
-    left: 83.33333333%;
-  }
-  .col-lg-push-9 {
-    left: 75%;
-  }
-  .col-lg-push-8 {
-    left: 66.66666667%;
-  }
-  .col-lg-push-7 {
-    left: 58.33333333%;
-  }
-  .col-lg-push-6 {
-    left: 50%;
-  }
-  .col-lg-push-5 {
-    left: 41.66666667%;
-  }
-  .col-lg-push-4 {
-    left: 33.33333333%;
-  }
-  .col-lg-push-3 {
-    left: 25%;
-  }
-  .col-lg-push-2 {
-    left: 16.66666667%;
-  }
-  .col-lg-push-1 {
-    left: 8.33333333%;
-  }
-  .col-lg-push-0 {
-    left: auto;
-  }
-  .col-lg-offset-12 {
-    margin-left: 100%;
-  }
-  .col-lg-offset-11 {
-    margin-left: 91.66666667%;
-  }
-  .col-lg-offset-10 {
-    margin-left: 83.33333333%;
-  }
-  .col-lg-offset-9 {
-    margin-left: 75%;
-  }
-  .col-lg-offset-8 {
-    margin-left: 66.66666667%;
-  }
-  .col-lg-offset-7 {
-    margin-left: 58.33333333%;
-  }
-  .col-lg-offset-6 {
-    margin-left: 50%;
-  }
-  .col-lg-offset-5 {
-    margin-left: 41.66666667%;
-  }
-  .col-lg-offset-4 {
-    margin-left: 33.33333333%;
-  }
-  .col-lg-offset-3 {
-    margin-left: 25%;
-  }
-  .col-lg-offset-2 {
-    margin-left: 16.66666667%;
-  }
-  .col-lg-offset-1 {
-    margin-left: 8.33333333%;
-  }
-  .col-lg-offset-0 {
-    margin-left: 0;
-  }
-}
-table {
-  background-color: transparent;
-}
-caption {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  color: #777;
-  text-align: left;
-}
-th {
-  text-align: left;
-}
-.table {
-  width: 100%;
-  max-width: 100%;
-  margin-bottom: 20px;
-}
-.table > thead > tr > th,
-.table > tbody > tr > th,
-.table > tfoot > tr > th,
-.table > thead > tr > td,
-.table > tbody > tr > td,
-.table > tfoot > tr > td {
-  padding: 8px;
-  line-height: 1.42857143;
-  vertical-align: top;
-  border-top: 1px solid #ddd;
-}
-.table > thead > tr > th {
-  vertical-align: bottom;
-  border-bottom: 2px solid #ddd;
-}
-.table > caption + thead > tr:first-child > th,
-.table > colgroup + thead > tr:first-child > th,
-.table > thead:first-child > tr:first-child > th,
-.table > caption + thead > tr:first-child > td,
-.table > colgroup + thead > tr:first-child > td,
-.table > thead:first-child > tr:first-child > td {
-  border-top: 0;
-}
-.table > tbody + tbody {
-  border-top: 2px solid #ddd;
-}
-.table .table {
-  background-color: #fff;
-}
-.table-condensed > thead > tr > th,
-.table-condensed > tbody > tr > th,
-.table-condensed > tfoot > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > td {
-  padding: 5px;
-}
-.table-bordered {
-  border: 1px solid #ddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > tbody > tr > th,
-.table-bordered > tfoot > tr > th,
-.table-bordered > thead > tr > td,
-.table-bordered > tbody > tr > td,
-.table-bordered > tfoot > tr > td {
-  border: 1px solid #ddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > thead > tr > td {
-  border-bottom-width: 2px;
-}
-.table-striped > tbody > tr:nth-of-type(odd) {
-  background-color: #f9f9f9;
-}
-.table-hover > tbody > tr:hover {
-  background-color: #f5f5f5;
-}
-table col[class*="col-"] {
-  position: static;
-  display: table-column;
-  float: none;
-}
-table td[class*="col-"],
-table th[class*="col-"] {
-  position: static;
-  display: table-cell;
-  float: none;
-}
-.table > thead > tr > td.active,
-.table > tbody > tr > td.active,
-.table > tfoot > tr > td.active,
-.table > thead > tr > th.active,
-.table > tbody > tr > th.active,
-.table > tfoot > tr > th.active,
-.table > thead > tr.active > td,
-.table > tbody > tr.active > td,
-.table > tfoot > tr.active > td,
-.table > thead > tr.active > th,
-.table > tbody > tr.active > th,
-.table > tfoot > tr.active > th {
-  background-color: #f5f5f5;
-}
-.table-hover > tbody > tr > td.active:hover,
-.table-hover > tbody > tr > th.active:hover,
-.table-hover > tbody > tr.active:hover > td,
-.table-hover > tbody > tr:hover > .active,
-.table-hover > tbody > tr.active:hover > th {
-  background-color: #e8e8e8;
-}
-.table > thead > tr > td.success,
-.table > tbody > tr > td.success,
-.table > tfoot > tr > td.success,
-.table > thead > tr > th.success,
-.table > tbody > tr > th.success,
-.table > tfoot > tr > th.success,
-.table > thead > tr.success > td,
-.table > tbody > tr.success > td,
-.table > tfoot > tr.success > td,
-.table > thead > tr.success > th,
-.table > tbody > tr.success > th,
-.table > tfoot > tr.success > th {
-  background-color: #dff0d8;
-}
-.table-hover > tbody > tr > td.success:hover,
-.table-hover > tbody > tr > th.success:hover,
-.table-hover > tbody > tr.success:hover > td,
-.table-hover > tbody > tr:hover > .success,
-.table-hover > tbody > tr.success:hover > th {
-  background-color: #d0e9c6;
-}
-.table > thead > tr > td.info,
-.table > tbody > tr > td.info,
-.table > tfoot > tr > td.info,
-.table > thead > tr > th.info,
-.table > tbody > tr > th.info,
-.table > tfoot > tr > th.info,
-.table > thead > tr.info > td,
-.table > tbody > tr.info > td,
-.table > tfoot > tr.info > td,
-.table > thead > tr.info > th,
-.table > tbody > tr.info > th,
-.table > tfoot > tr.info > th {
-  background-color: #d9edf7;
-}
-.table-hover > tbody > tr > td.info:hover,
-.table-hover > tbody > tr > th.info:hover,
-.table-hover > tbody > tr.info:hover > td,
-.table-hover > tbody > tr:hover > .info,
-.table-hover > tbody > tr.info:hover > th {
-  background-color: #c4e3f3;
-}
-.table > thead > tr > td.warning,
-.table > tbody > tr > td.warning,
-.table > tfoot > tr > td.warning,
-.table > thead > tr > th.warning,
-.table > tbody > tr > th.warning,
-.table > tfoot > tr > th.warning,
-.table > thead > tr.warning > td,
-.table > tbody > tr.warning > td,
-.table > tfoot > tr.warning > td,
-.table > thead > tr.warning > th,
-.table > tbody > tr.warning > th,
-.table > tfoot > tr.warning > th {
-  background-color: #fcf8e3;
-}
-.table-hover > tbody > tr > td.warning:hover,
-.table-hover > tbody > tr > th.warning:hover,
-.table-hover > tbody > tr.warning:hover > td,
-.table-hover > tbody > tr:hover > .warning,
-.table-hover > tbody > tr.warning:hover > th {
-  background-color: #faf2cc;
-}
-.table > thead > tr > td.danger,
-.table > tbody > tr > td.danger,
-.table > tfoot > tr > td.danger,
-.table > thead > tr > th.danger,
-.table > tbody > tr > th.danger,
-.table > tfoot > tr > th.danger,
-.table > thead > tr.danger > td,
-.table > tbody > tr.danger > td,
-.table > tfoot > tr.danger > td,
-.table > thead > tr.danger > th,
-.table > tbody > tr.danger > th,
-.table > tfoot > tr.danger > th {
-  background-color: #f2dede;
-}
-.table-hover > tbody > tr > td.danger:hover,
-.table-hover > tbody > tr > th.danger:hover,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr:hover > .danger,
-.table-hover > tbody > tr.danger:hover > th {
-  background-color: #ebcccc;
-}
-.table-responsive {
-  min-height: .01%;
-  overflow-x: auto;
-}
-@media screen and (max-width: 767px) {
-  .table-responsive {
-    width: 100%;
-    margin-bottom: 15px;
-    overflow-y: hidden;
-    -ms-overflow-style: -ms-autohiding-scrollbar;
-    border: 1px solid #ddd;
-  }
-  .table-responsive > .table {
-    margin-bottom: 0;
-  }
-  .table-responsive > .table > thead > tr > th,
-  .table-responsive > .table > tbody > tr > th,
-  .table-responsive > .table > tfoot > tr > th,
-  .table-responsive > .table > thead > tr > td,
-  .table-responsive > .table > tbody > tr > td,
-  .table-responsive > .table > tfoot > tr > td {
-    white-space: nowrap;
-  }
-  .table-responsive > .table-bordered {
-    border: 0;
-  }
-  .table-responsive > .table-bordered > thead > tr > th:first-child,
-  .table-responsive > .table-bordered > tbody > tr > th:first-child,
-  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
-  .table-responsive > .table-bordered > thead > tr > td:first-child,
-  .table-responsive > .table-bordered > tbody > tr > td:first-child,
-  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
-    border-left: 0;
-  }
-  .table-responsive > .table-bordered > thead > tr > th:last-child,
-  .table-responsive > .table-bordered > tbody > tr > th:last-child,
-  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
-  .table-responsive > .table-bordered > thead > tr > td:last-child,
-  .table-responsive > .table-bordered > tbody > tr > td:last-child,
-  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
-    border-right: 0;
-  }
-  .table-responsive > .table-bordered > tbody > tr:last-child > th,
-  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
-  .table-responsive > .table-bordered > tbody > tr:last-child > td,
-  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
-    border-bottom: 0;
-  }
-}
-fieldset {
-  min-width: 0;
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 20px;
-  font-size: 21px;
-  line-height: inherit;
-  color: #333;
-  border: 0;
-  border-bottom: 1px solid #e5e5e5;
-}
-label {
-  display: inline-block;
-  max-width: 100%;
-  margin-bottom: 5px;
-  font-weight: bold;
-}
-input[type="search"] {
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-input[type="radio"],
-input[type="checkbox"] {
-  margin: 4px 0 0;
-  margin-top: 1px \9;
-  line-height: normal;
-}
-input[type="file"] {
-  display: block;
-}
-input[type="range"] {
-  display: block;
-  width: 100%;
-}
-select[multiple],
-select[size] {
-  height: auto;
-}
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-output {
-  display: block;
-  padding-top: 7px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #555;
-}
-.form-control {
-  display: block;
-  width: 100%;
-  height: 34px;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.42857143;
-  color: #555;
-  background-color: #fff;
-  background-image: none;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-       -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-          transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-}
-.form-control:focus {
-  border-color: #66afe9;
-  outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
-          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
-}
-.form-control::-moz-placeholder {
-  color: #999;
-  opacity: 1;
-}
-.form-control:-ms-input-placeholder {
-  color: #999;
-}
-.form-control::-webkit-input-placeholder {
-  color: #999;
-}
-.form-control::-ms-expand {
-  background-color: transparent;
-  border: 0;
-}
-.form-control[disabled],
-.form-control[readonly],
-fieldset[disabled] .form-control {
-  background-color: #eee;
-  opacity: 1;
-}
-.form-control[disabled],
-fieldset[disabled] .form-control {
-  cursor: not-allowed;
-}
-textarea.form-control {
-  height: auto;
-}
-input[type="search"] {
-  -webkit-appearance: none;
-}
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
-  input[type="date"].form-control,
-  input[type="time"].form-control,
-  input[type="datetime-local"].form-control,
-  input[type="month"].form-control {
-    line-height: 34px;
-  }
-  input[type="date"].input-sm,
-  input[type="time"].input-sm,
-  input[type="datetime-local"].input-sm,
-  input[type="month"].input-sm,
-  .input-group-sm input[type="date"],
-  .input-group-sm input[type="time"],
-  .input-group-sm input[type="datetime-local"],
-  .input-group-sm input[type="month"] {
-    line-height: 30px;
-  }
-  input[type="date"].input-lg,
-  input[type="time"].input-lg,
-  input[type="datetime-local"].input-lg,
-  input[type="month"].input-lg,
-  .input-group-lg input[type="date"],
-  .input-group-lg input[type="time"],
-  .input-group-lg input[type="datetime-local"],
-  .input-group-lg input[type="month"] {
-    line-height: 46px;
-  }
-}
-.form-group {
-  margin-bottom: 15px;
-}
-.radio,
-.checkbox {
-  position: relative;
-  display: block;
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.radio label,
-.checkbox label {
-  min-height: 20px;
-  padding-left: 20px;
-  margin-bottom: 0;
-  font-weight: normal;
-  cursor: pointer;
-}
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
-  position: absolute;
-  margin-top: 4px \9;
-  margin-left: -20px;
-}
-.radio + .radio,
-.checkbox + .checkbox {
-  margin-top: -5px;
-}
-.radio-inline,
-.checkbox-inline {
-  position: relative;
-  display: inline-block;
-  padding-left: 20px;
-  margin-bottom: 0;
-  font-weight: normal;
-  vertical-align: middle;
-  cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
-  margin-top: 0;
-  margin-left: 10px;
-}
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"].disabled,
-input[type="checkbox"].disabled,
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"] {
-  cursor: not-allowed;
-}
-.radio-inline.disabled,
-.checkbox-inline.disabled,
-fieldset[disabled] .radio-inline,
-fieldset[disabled] .checkbox-inline {
-  cursor: not-allowed;
-}
-.radio.disabled label,
-.checkbox.disabled label,
-fieldset[disabled] .radio label,
-fieldset[disabled] .checkbox label {
-  cursor: not-allowed;
-}
-.form-control-static {
-  min-height: 34px;
-  padding-top: 7px;
-  padding-bottom: 7px;
-  margin-bottom: 0;
-}
-.form-control-static.input-lg,
-.form-control-static.input-sm {
-  padding-right: 0;
-  padding-left: 0;
-}
-.input-sm {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-select.input-sm {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-sm,
-select[multiple].input-sm {
-  height: auto;
-}
-.form-group-sm .form-control {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.form-group-sm select.form-control {
-  height: 30px;
-  line-height: 30px;
-}
-.form-group-sm textarea.form-control,
-.form-group-sm select[multiple].form-control {
-  height: auto;
-}
-.form-group-sm .form-control-static {
-  height: 30px;
-  min-height: 32px;
-  padding: 6px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-}
-.input-lg {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-select.input-lg {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-lg,
-select[multiple].input-lg {
-  height: auto;
-}
-.form-group-lg .form-control {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-.form-group-lg select.form-control {
-  height: 46px;
-  line-height: 46px;
-}
-.form-group-lg textarea.form-control,
-.form-group-lg select[multiple].form-control {
-  height: auto;
-}
-.form-group-lg .form-control-static {
-  height: 46px;
-  min-height: 38px;
-  padding: 11px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-}
-.has-feedback {
-  position: relative;
-}
-.has-feedback .form-control {
-  padding-right: 42.5px;
-}
-.form-control-feedback {
-  position: absolute;
-  top: 0;
-  right: 0;
-  z-index: 2;
-  display: block;
-  width: 34px;
-  height: 34px;
-  line-height: 34px;
-  text-align: center;
-  pointer-events: none;
-}
-.input-lg + .form-control-feedback,
-.input-group-lg + .form-control-feedback,
-.form-group-lg .form-control + .form-control-feedback {
-  width: 46px;
-  height: 46px;
-  line-height: 46px;
-}
-.input-sm + .form-control-feedback,
-.input-group-sm + .form-control-feedback,
-.form-group-sm .form-control + .form-control-feedback {
-  width: 30px;
-  height: 30px;
-  line-height: 30px;
-}
-.has-success .help-block,
-.has-success .control-label,
-.has-success .radio,
-.has-success .checkbox,
-.has-success .radio-inline,
-.has-success .checkbox-inline,
-.has-success.radio label,
-.has-success.checkbox label,
-.has-success.radio-inline label,
-.has-success.checkbox-inline label {
-  color: #3c763d;
-}
-.has-success .form-control {
-  border-color: #3c763d;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-}
-.has-success .form-control:focus {
-  border-color: #2b542c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
-}
-.has-success .input-group-addon {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #3c763d;
-}
-.has-success .form-control-feedback {
-  color: #3c763d;
-}
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline,
-.has-warning.radio label,
-.has-warning.checkbox label,
-.has-warning.radio-inline label,
-.has-warning.checkbox-inline label {
-  color: #8a6d3b;
-}
-.has-warning .form-control {
-  border-color: #8a6d3b;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-}
-.has-warning .form-control:focus {
-  border-color: #66512c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
-}
-.has-warning .input-group-addon {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #8a6d3b;
-}
-.has-warning .form-control-feedback {
-  color: #8a6d3b;
-}
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline,
-.has-error.radio label,
-.has-error.checkbox label,
-.has-error.radio-inline label,
-.has-error.checkbox-inline label {
-  color: #a94442;
-}
-.has-error .form-control {
-  border-color: #a94442;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-}
-.has-error .form-control:focus {
-  border-color: #843534;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
-}
-.has-error .input-group-addon {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #a94442;
-}
-.has-error .form-control-feedback {
-  color: #a94442;
-}
-.has-feedback label ~ .form-control-feedback {
-  top: 25px;
-}
-.has-feedback label.sr-only ~ .form-control-feedback {
-  top: 0;
-}
-.help-block {
-  display: block;
-  margin-top: 5px;
-  margin-bottom: 10px;
-  color: #737373;
-}
-@media (min-width: 768px) {
-  .form-inline .form-group {
-    display: inline-block;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .form-inline .form-control-static {
-    display: inline-block;
-  }
-  .form-inline .input-group {
-    display: inline-table;
-    vertical-align: middle;
-  }
-  .form-inline .input-group .input-group-addon,
-  .form-inline .input-group .input-group-btn,
-  .form-inline .input-group .form-control {
-    width: auto;
-  }
-  .form-inline .input-group > .form-control {
-    width: 100%;
-  }
-  .form-inline .control-label {
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .radio,
-  .form-inline .checkbox {
-    display: inline-block;
-    margin-top: 0;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .form-inline .radio label,
-  .form-inline .checkbox label {
-    padding-left: 0;
-  }
-  .form-inline .radio input[type="radio"],
-  .form-inline .checkbox input[type="checkbox"] {
-    position: relative;
-    margin-left: 0;
-  }
-  .form-inline .has-feedback .form-control-feedback {
-    top: 0;
-  }
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
-  padding-top: 7px;
-  margin-top: 0;
-  margin-bottom: 0;
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox {
-  min-height: 27px;
-}
-.form-horizontal .form-group {
-  margin-right: -15px;
-  margin-left: -15px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .control-label {
-    padding-top: 7px;
-    margin-bottom: 0;
-    text-align: right;
-  }
-}
-.form-horizontal .has-feedback .form-control-feedback {
-  right: 15px;
-}
-@media (min-width: 768px) {
-  .form-horizontal .form-group-lg .control-label {
-    padding-top: 11px;
-    font-size: 18px;
-  }
-}
-@media (min-width: 768px) {
-  .form-horizontal .form-group-sm .control-label {
-    padding-top: 6px;
-    font-size: 12px;
-  }
-}
-.btn {
-  display: inline-block;
-  padding: 6px 12px;
-  margin-bottom: 0;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 1.42857143;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: middle;
-  -ms-touch-action: manipulation;
-      touch-action: manipulation;
-  cursor: pointer;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  background-image: none;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.btn:focus,
-.btn:active:focus,
-.btn.active:focus,
-.btn.focus,
-.btn:active.focus,
-.btn.active.focus {
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-.btn:hover,
-.btn:focus,
-.btn.focus {
-  color: #333;
-  text-decoration: none;
-}
-.btn:active,
-.btn.active {
-  background-image: none;
-  outline: 0;
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn.disabled,
-.btn[disabled],
-fieldset[disabled] .btn {
-  cursor: not-allowed;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-          box-shadow: none;
-  opacity: .65;
-}
-a.btn.disabled,
-fieldset[disabled] a.btn {
-  pointer-events: none;
-}
-.btn-default {
-  color: #333;
-  background-color: #fff;
-  border-color: #ccc;
-}
-.btn-default:focus,
-.btn-default.focus {
-  color: #333;
-  background-color: #e6e6e6;
-  border-color: #8c8c8c;
-}
-.btn-default:hover {
-  color: #333;
-  background-color: #e6e6e6;
-  border-color: #adadad;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
-  color: #333;
-  background-color: #e6e6e6;
-  border-color: #adadad;
-}
-.btn-default:active:hover,
-.btn-default.active:hover,
-.open > .dropdown-toggle.btn-default:hover,
-.btn-default:active:focus,
-.btn-default.active:focus,
-.open > .dropdown-toggle.btn-default:focus,
-.btn-default:active.focus,
-.btn-default.active.focus,
-.open > .dropdown-toggle.btn-default.focus {
-  color: #333;
-  background-color: #d4d4d4;
-  border-color: #8c8c8c;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
-  background-image: none;
-}
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled.focus,
-.btn-default[disabled].focus,
-fieldset[disabled] .btn-default.focus {
-  background-color: #fff;
-  border-color: #ccc;
-}
-.btn-default .badge {
-  color: #fff;
-  background-color: #333;
-}
-.btn-primary {
-  color: #fff;
-  background-color: #337ab7;
-  border-color: #2e6da4;
-}
-.btn-primary:focus,
-.btn-primary.focus {
-  color: #fff;
-  background-color: #286090;
-  border-color: #122b40;
-}
-.btn-primary:hover {
-  color: #fff;
-  background-color: #286090;
-  border-color: #204d74;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
-  color: #fff;
-  background-color: #286090;
-  border-color: #204d74;
-}
-.btn-primary:active:hover,
-.btn-primary.active:hover,
-.open > .dropdown-toggle.btn-primary:hover,
-.btn-primary:active:focus,
-.btn-primary.active:focus,
-.open > .dropdown-toggle.btn-primary:focus,
-.btn-primary:active.focus,
-.btn-primary.active.focus,
-.open > .dropdown-toggle.btn-primary.focus {
-  color: #fff;
-  background-color: #204d74;
-  border-color: #122b40;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
-  background-image: none;
-}
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled.focus,
-.btn-primary[disabled].focus,
-fieldset[disabled] .btn-primary.focus {
-  background-color: #337ab7;
-  border-color: #2e6da4;
-}
-.btn-primary .badge {
-  color: #337ab7;
-  background-color: #fff;
-}
-.btn-success {
-  color: #fff;
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success:focus,
-.btn-success.focus {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #255625;
-}
-.btn-success:hover {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #398439;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
-  color: #fff;
-  background-color: #449d44;
-  border-color: #398439;
-}
-.btn-success:active:hover,
-.btn-success.active:hover,
-.open > .dropdown-toggle.btn-success:hover,
-.btn-success:active:focus,
-.btn-success.active:focus,
-.open > .dropdown-toggle.btn-success:focus,
-.btn-success:active.focus,
-.btn-success.active.focus,
-.open > .dropdown-toggle.btn-success.focus {
-  color: #fff;
-  background-color: #398439;
-  border-color: #255625;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
-  background-image: none;
-}
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled.focus,
-.btn-success[disabled].focus,
-fieldset[disabled] .btn-success.focus {
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.btn-success .badge {
-  color: #5cb85c;
-  background-color: #fff;
-}
-.btn-info {
-  color: #fff;
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info:focus,
-.btn-info.focus {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #1b6d85;
-}
-.btn-info:hover {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #269abc;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
-  color: #fff;
-  background-color: #31b0d5;
-  border-color: #269abc;
-}
-.btn-info:active:hover,
-.btn-info.active:hover,
-.open > .dropdown-toggle.btn-info:hover,
-.btn-info:active:focus,
-.btn-info.active:focus,
-.open > .dropdown-toggle.btn-info:focus,
-.btn-info:active.focus,
-.btn-info.active.focus,
-.open > .dropdown-toggle.btn-info.focus {
-  color: #fff;
-  background-color: #269abc;
-  border-color: #1b6d85;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
-  background-image: none;
-}
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled.focus,
-.btn-info[disabled].focus,
-fieldset[disabled] .btn-info.focus {
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.btn-info .badge {
-  color: #5bc0de;
-  background-color: #fff;
-}
-.btn-warning {
-  color: #fff;
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning:focus,
-.btn-warning.focus {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #985f0d;
-}
-.btn-warning:hover {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #d58512;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
-  color: #fff;
-  background-color: #ec971f;
-  border-color: #d58512;
-}
-.btn-warning:active:hover,
-.btn-warning.active:hover,
-.open > .dropdown-toggle.btn-warning:hover,
-.btn-warning:active:focus,
-.btn-warning.active:focus,
-.open > .dropdown-toggle.btn-warning:focus,
-.btn-warning:active.focus,
-.btn-warning.active.focus,
-.open > .dropdown-toggle.btn-warning.focus {
-  color: #fff;
-  background-color: #d58512;
-  border-color: #985f0d;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
-  background-image: none;
-}
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled.focus,
-.btn-warning[disabled].focus,
-fieldset[disabled] .btn-warning.focus {
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.btn-warning .badge {
-  color: #f0ad4e;
-  background-color: #fff;
-}
-.btn-danger {
-  color: #fff;
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger:focus,
-.btn-danger.focus {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #761c19;
-}
-.btn-danger:hover {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #ac2925;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
-  color: #fff;
-  background-color: #c9302c;
-  border-color: #ac2925;
-}
-.btn-danger:active:hover,
-.btn-danger.active:hover,
-.open > .dropdown-toggle.btn-danger:hover,
-.btn-danger:active:focus,
-.btn-danger.active:focus,
-.open > .dropdown-toggle.btn-danger:focus,
-.btn-danger:active.focus,
-.btn-danger.active.focus,
-.open > .dropdown-toggle.btn-danger.focus {
-  color: #fff;
-  background-color: #ac2925;
-  border-color: #761c19;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
-  background-image: none;
-}
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled.focus,
-.btn-danger[disabled].focus,
-fieldset[disabled] .btn-danger.focus {
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.btn-danger .badge {
-  color: #d9534f;
-  background-color: #fff;
-}
-.btn-link {
-  font-weight: normal;
-  color: #337ab7;
-  border-radius: 0;
-}
-.btn-link,
-.btn-link:active,
-.btn-link.active,
-.btn-link[disabled],
-fieldset[disabled] .btn-link {
-  background-color: transparent;
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.btn-link,
-.btn-link:hover,
-.btn-link:focus,
-.btn-link:active {
-  border-color: transparent;
-}
-.btn-link:hover,
-.btn-link:focus {
-  color: #23527c;
-  text-decoration: underline;
-  background-color: transparent;
-}
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
-  color: #777;
-  text-decoration: none;
-}
-.btn-lg,
-.btn-group-lg > .btn {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-.btn-sm,
-.btn-group-sm > .btn {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.btn-xs,
-.btn-group-xs > .btn {
-  padding: 1px 5px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.btn-block {
-  display: block;
-  width: 100%;
-}
-.btn-block + .btn-block {
-  margin-top: 5px;
-}
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
-  width: 100%;
-}
-.fade {
-  opacity: 0;
-  -webkit-transition: opacity .15s linear;
-       -o-transition: opacity .15s linear;
-          transition: opacity .15s linear;
-}
-.fade.in {
-  opacity: 1;
-}
-.collapse {
-  display: none;
-}
-.collapse.in {
-  display: block;
-}
-tr.collapse.in {
-  display: table-row;
-}
-tbody.collapse.in {
-  display: table-row-group;
-}
-.collapsing {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  -webkit-transition-timing-function: ease;
-       -o-transition-timing-function: ease;
-          transition-timing-function: ease;
-  -webkit-transition-duration: .35s;
-       -o-transition-duration: .35s;
-          transition-duration: .35s;
-  -webkit-transition-property: height, visibility;
-       -o-transition-property: height, visibility;
-          transition-property: height, visibility;
-}
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  margin-left: 2px;
-  vertical-align: middle;
-  border-top: 4px dashed;
-  border-top: 4px solid \9;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.dropup,
-.dropdown {
-  position: relative;
-}
-.dropdown-toggle:focus {
-  outline: 0;
-}
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0;
-  font-size: 14px;
-  text-align: left;
-  list-style: none;
-  background-color: #fff;
-  -webkit-background-clip: padding-box;
-          background-clip: padding-box;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, .15);
-  border-radius: 4px;
-  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-}
-.dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-.dropdown-menu .divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.dropdown-menu > li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.42857143;
-  color: #333;
-  white-space: nowrap;
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  color: #262626;
-  text-decoration: none;
-  background-color: #f5f5f5;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  color: #fff;
-  text-decoration: none;
-  background-color: #337ab7;
-  outline: 0;
-}
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  color: #777;
-}
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  text-decoration: none;
-  cursor: not-allowed;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.open > .dropdown-menu {
-  display: block;
-}
-.open > a {
-  outline: 0;
-}
-.dropdown-menu-right {
-  right: 0;
-  left: auto;
-}
-.dropdown-menu-left {
-  right: auto;
-  left: 0;
-}
-.dropdown-header {
-  display: block;
-  padding: 3px 20px;
-  font-size: 12px;
-  line-height: 1.42857143;
-  color: #777;
-  white-space: nowrap;
-}
-.dropdown-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 990;
-}
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
-  content: "";
-  border-top: 0;
-  border-bottom: 4px dashed;
-  border-bottom: 4px solid \9;
-}
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-bottom: 2px;
-}
-@media (min-width: 768px) {
-  .navbar-right .dropdown-menu {
-    right: 0;
-    left: auto;
-  }
-  .navbar-right .dropdown-menu-left {
-    right: auto;
-    left: 0;
-  }
-}
-.btn-group,
-.btn-group-vertical {
-  position: relative;
-  display: inline-block;
-  vertical-align: middle;
-}
-.btn-group > .btn,
-.btn-group-vertical > .btn {
-  position: relative;
-  float: left;
-}
-.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus,
-.btn-group > .btn:active,
-.btn-group-vertical > .btn:active,
-.btn-group > .btn.active,
-.btn-group-vertical > .btn.active {
-  z-index: 2;
-}
-.btn-group .btn + .btn,
-.btn-group .btn + .btn-group,
-.btn-group .btn-group + .btn,
-.btn-group .btn-group + .btn-group {
-  margin-left: -1px;
-}
-.btn-toolbar {
-  margin-left: -5px;
-}
-.btn-toolbar .btn,
-.btn-toolbar .btn-group,
-.btn-toolbar .input-group {
-  float: left;
-}
-.btn-toolbar > .btn,
-.btn-toolbar > .btn-group,
-.btn-toolbar > .input-group {
-  margin-left: 5px;
-}
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
-  border-radius: 0;
-}
-.btn-group > .btn:first-child {
-  margin-left: 0;
-}
-.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group > .btn-group {
-  float: left;
-}
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
-.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-.btn-group > .btn + .dropdown-toggle {
-  padding-right: 8px;
-  padding-left: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
-  padding-right: 12px;
-  padding-left: 12px;
-}
-.btn-group.open .dropdown-toggle {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn-group.open .dropdown-toggle.btn-link {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.btn .caret {
-  margin-left: 0;
-}
-.btn-lg .caret {
-  border-width: 5px 5px 0;
-  border-bottom-width: 0;
-}
-.dropup .btn-lg .caret {
-  border-width: 0 5px 5px;
-}
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group,
-.btn-group-vertical > .btn-group > .btn {
-  display: block;
-  float: none;
-  width: 100%;
-  max-width: 100%;
-}
-.btn-group-vertical > .btn-group > .btn {
-  float: none;
-}
-.btn-group-vertical > .btn + .btn,
-.btn-group-vertical > .btn + .btn-group,
-.btn-group-vertical > .btn-group + .btn,
-.btn-group-vertical > .btn-group + .btn-group {
-  margin-top: -1px;
-  margin-left: 0;
-}
-.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn:first-child:not(:last-child) {
-  border-top-left-radius: 4px;
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn:last-child:not(:first-child) {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
-  border-radius: 0;
-}
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.btn-group-justified {
-  display: table;
-  width: 100%;
-  table-layout: fixed;
-  border-collapse: separate;
-}
-.btn-group-justified > .btn,
-.btn-group-justified > .btn-group {
-  display: table-cell;
-  float: none;
-  width: 1%;
-}
-.btn-group-justified > .btn-group .btn {
-  width: 100%;
-}
-.btn-group-justified > .btn-group .dropdown-menu {
-  left: auto;
-}
-[data-toggle="buttons"] > .btn input[type="radio"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
-[data-toggle="buttons"] > .btn input[type="checkbox"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
-  position: absolute;
-  clip: rect(0, 0, 0, 0);
-  pointer-events: none;
-}
-.input-group {
-  position: relative;
-  display: table;
-  border-collapse: separate;
-}
-.input-group[class*="col-"] {
-  float: none;
-  padding-right: 0;
-  padding-left: 0;
-}
-.input-group .form-control {
-  position: relative;
-  z-index: 2;
-  float: left;
-  width: 100%;
-  margin-bottom: 0;
-}
-.input-group .form-control:focus {
-  z-index: 3;
-}
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-  border-radius: 6px;
-}
-select.input-group-lg > .form-control,
-select.input-group-lg > .input-group-addon,
-select.input-group-lg > .input-group-btn > .btn {
-  height: 46px;
-  line-height: 46px;
-}
-textarea.input-group-lg > .form-control,
-textarea.input-group-lg > .input-group-addon,
-textarea.input-group-lg > .input-group-btn > .btn,
-select[multiple].input-group-lg > .form-control,
-select[multiple].input-group-lg > .input-group-addon,
-select[multiple].input-group-lg > .input-group-btn > .btn {
-  height: auto;
-}
-.input-group-sm > .form-control,
-.input-group-sm > .input-group-addon,
-.input-group-sm > .input-group-btn > .btn {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-select.input-group-sm > .form-control,
-select.input-group-sm > .input-group-addon,
-select.input-group-sm > .input-group-btn > .btn {
-  height: 30px;
-  line-height: 30px;
-}
-textarea.input-group-sm > .form-control,
-textarea.input-group-sm > .input-group-addon,
-textarea.input-group-sm > .input-group-btn > .btn,
-select[multiple].input-group-sm > .form-control,
-select[multiple].input-group-sm > .input-group-addon,
-select[multiple].input-group-sm > .input-group-btn > .btn {
-  height: auto;
-}
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
-  display: table-cell;
-}
-.input-group-addon:not(:first-child):not(:last-child),
-.input-group-btn:not(:first-child):not(:last-child),
-.input-group .form-control:not(:first-child):not(:last-child) {
-  border-radius: 0;
-}
-.input-group-addon,
-.input-group-btn {
-  width: 1%;
-  white-space: nowrap;
-  vertical-align: middle;
-}
-.input-group-addon {
-  padding: 6px 12px;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 1;
-  color: #555;
-  text-align: center;
-  background-color: #eee;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-}
-.input-group-addon.input-sm {
-  padding: 5px 10px;
-  font-size: 12px;
-  border-radius: 3px;
-}
-.input-group-addon.input-lg {
-  padding: 10px 16px;
-  font-size: 18px;
-  border-radius: 6px;
-}
-.input-group-addon input[type="radio"],
-.input-group-addon input[type="checkbox"] {
-  margin-top: 0;
-}
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.input-group-addon:first-child {
-  border-right: 0;
-}
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.input-group-addon:last-child {
-  border-left: 0;
-}
-.input-group-btn {
-  position: relative;
-  font-size: 0;
-  white-space: nowrap;
-}
-.input-group-btn > .btn {
-  position: relative;
-}
-.input-group-btn > .btn + .btn {
-  margin-left: -1px;
-}
-.input-group-btn > .btn:hover,
-.input-group-btn > .btn:focus,
-.input-group-btn > .btn:active {
-  z-index: 2;
-}
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group {
-  margin-right: -1px;
-}
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group {
-  z-index: 2;
-  margin-left: -1px;
-}
-.nav {
-  padding-left: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-.nav > li {
-  position: relative;
-  display: block;
-}
-.nav > li > a {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-}
-.nav > li > a:hover,
-.nav > li > a:focus {
-  text-decoration: none;
-  background-color: #eee;
-}
-.nav > li.disabled > a {
-  color: #777;
-}
-.nav > li.disabled > a:hover,
-.nav > li.disabled > a:focus {
-  color: #777;
-  text-decoration: none;
-  cursor: not-allowed;
-  background-color: transparent;
-}
-.nav .open > a,
-.nav .open > a:hover,
-.nav .open > a:focus {
-  background-color: #eee;
-  border-color: #337ab7;
-}
-.nav .nav-divider {
-  height: 1px;
-  margin: 9px 0;
-  overflow: hidden;
-  background-color: #e5e5e5;
-}
-.nav > li > a > img {
-  max-width: none;
-}
-.nav-tabs {
-  border-bottom: 1px solid #ddd;
-}
-.nav-tabs > li {
-  float: left;
-  margin-bottom: -1px;
-}
-.nav-tabs > li > a {
-  margin-right: 2px;
-  line-height: 1.42857143;
-  border: 1px solid transparent;
-  border-radius: 4px 4px 0 0;
-}
-.nav-tabs > li > a:hover {
-  border-color: #eee #eee #ddd;
-}
-.nav-tabs > li.active > a,
-.nav-tabs > li.active > a:hover,
-.nav-tabs > li.active > a:focus {
-  color: #555;
-  cursor: default;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-bottom-color: transparent;
-}
-.nav-tabs.nav-justified {
-  width: 100%;
-  border-bottom: 0;
-}
-.nav-tabs.nav-justified > li {
-  float: none;
-}
-.nav-tabs.nav-justified > li > a {
-  margin-bottom: 5px;
-  text-align: center;
-}
-.nav-tabs.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-tabs.nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs.nav-justified > li > a {
-  margin-right: 0;
-  border-radius: 4px;
-}
-.nav-tabs.nav-justified > .active > a,
-.nav-tabs.nav-justified > .active > a:hover,
-.nav-tabs.nav-justified > .active > a:focus {
-  border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs.nav-justified > li > a {
-    border-bottom: 1px solid #ddd;
-    border-radius: 4px 4px 0 0;
-  }
-  .nav-tabs.nav-justified > .active > a,
-  .nav-tabs.nav-justified > .active > a:hover,
-  .nav-tabs.nav-justified > .active > a:focus {
-    border-bottom-color: #fff;
-  }
-}
-.nav-pills > li {
-  float: left;
-}
-.nav-pills > li > a {
-  border-radius: 4px;
-}
-.nav-pills > li + li {
-  margin-left: 2px;
-}
-.nav-pills > li.active > a,
-.nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:focus {
-  color: #fff;
-  background-color: #337ab7;
-}
-.nav-stacked > li {
-  float: none;
-}
-.nav-stacked > li + li {
-  margin-top: 2px;
-  margin-left: 0;
-}
-.nav-justified {
-  width: 100%;
-}
-.nav-justified > li {
-  float: none;
-}
-.nav-justified > li > a {
-  margin-bottom: 5px;
-  text-align: center;
-}
-.nav-justified > .dropdown .dropdown-menu {
-  top: auto;
-  left: auto;
-}
-@media (min-width: 768px) {
-  .nav-justified > li {
-    display: table-cell;
-    width: 1%;
-  }
-  .nav-justified > li > a {
-    margin-bottom: 0;
-  }
-}
-.nav-tabs-justified {
-  border-bottom: 0;
-}
-.nav-tabs-justified > li > a {
-  margin-right: 0;
-  border-radius: 4px;
-}
-.nav-tabs-justified > .active > a,
-.nav-tabs-justified > .active > a:hover,
-.nav-tabs-justified > .active > a:focus {
-  border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
-  .nav-tabs-justified > li > a {
-    border-bottom: 1px solid #ddd;
-    border-radius: 4px 4px 0 0;
-  }
-  .nav-tabs-justified > .active > a,
-  .nav-tabs-justified > .active > a:hover,
-  .nav-tabs-justified > .active > a:focus {
-    border-bottom-color: #fff;
-  }
-}
-.tab-content > .tab-pane {
-  display: none;
-}
-.tab-content > .active {
-  display: block;
-}
-.nav-tabs .dropdown-menu {
-  margin-top: -1px;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.navbar {
-  position: relative;
-  min-height: 50px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-}
-@media (min-width: 768px) {
-  .navbar {
-    border-radius: 4px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-header {
-    float: left;
-  }
-}
-.navbar-collapse {
-  padding-right: 15px;
-  padding-left: 15px;
-  overflow-x: visible;
-  -webkit-overflow-scrolling: touch;
-  border-top: 1px solid transparent;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
-}
-.navbar-collapse.in {
-  overflow-y: auto;
-}
-@media (min-width: 768px) {
-  .navbar-collapse {
-    width: auto;
-    border-top: 0;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  .navbar-collapse.collapse {
-    display: block !important;
-    height: auto !important;
-    padding-bottom: 0;
-    overflow: visible !important;
-  }
-  .navbar-collapse.in {
-    overflow-y: visible;
-  }
-  .navbar-fixed-top .navbar-collapse,
-  .navbar-static-top .navbar-collapse,
-  .navbar-fixed-bottom .navbar-collapse {
-    padding-right: 0;
-    padding-left: 0;
-  }
-}
-.navbar-fixed-top .navbar-collapse,
-.navbar-fixed-bottom .navbar-collapse {
-  max-height: 340px;
-}
-@media (max-device-width: 480px) and (orientation: landscape) {
-  .navbar-fixed-top .navbar-collapse,
-  .navbar-fixed-bottom .navbar-collapse {
-    max-height: 200px;
-  }
-}
-.container > .navbar-header,
-.container-fluid > .navbar-header,
-.container > .navbar-collapse,
-.container-fluid > .navbar-collapse {
-  margin-right: -15px;
-  margin-left: -15px;
-}
-@media (min-width: 768px) {
-  .container > .navbar-header,
-  .container-fluid > .navbar-header,
-  .container > .navbar-collapse,
-  .container-fluid > .navbar-collapse {
-    margin-right: 0;
-    margin-left: 0;
-  }
-}
-.navbar-static-top {
-  z-index: 1000;
-  border-width: 0 0 1px;
-}
-@media (min-width: 768px) {
-  .navbar-static-top {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-}
-@media (min-width: 768px) {
-  .navbar-fixed-top,
-  .navbar-fixed-bottom {
-    border-radius: 0;
-  }
-}
-.navbar-fixed-top {
-  top: 0;
-  border-width: 0 0 1px;
-}
-.navbar-fixed-bottom {
-  bottom: 0;
-  margin-bottom: 0;
-  border-width: 1px 0 0;
-}
-.navbar-brand {
-  float: left;
-  height: 50px;
-  padding: 15px 15px;
-  font-size: 18px;
-  line-height: 20px;
-}
-.navbar-brand:hover,
-.navbar-brand:focus {
-  text-decoration: none;
-}
-.navbar-brand > img {
-  display: block;
-}
-@media (min-width: 768px) {
-  .navbar > .container .navbar-brand,
-  .navbar > .container-fluid .navbar-brand {
-    margin-left: -15px;
-  }
-}
-.navbar-toggle {
-  position: relative;
-  float: right;
-  padding: 9px 10px;
-  margin-top: 8px;
-  margin-right: 15px;
-  margin-bottom: 8px;
-  background-color: transparent;
-  background-image: none;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.navbar-toggle:focus {
-  outline: 0;
-}
-.navbar-toggle .icon-bar {
-  display: block;
-  width: 22px;
-  height: 2px;
-  border-radius: 1px;
-}
-.navbar-toggle .icon-bar + .icon-bar {
-  margin-top: 4px;
-}
-@media (min-width: 768px) {
-  .navbar-toggle {
-    display: none;
-  }
-}
-.navbar-nav {
-  margin: 7.5px -15px;
-}
-.navbar-nav > li > a {
-  padding-top: 10px;
-  padding-bottom: 10px;
-  line-height: 20px;
-}
-@media (max-width: 767px) {
-  .navbar-nav .open .dropdown-menu {
-    position: static;
-    float: none;
-    width: auto;
-    margin-top: 0;
-    background-color: transparent;
-    border: 0;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-  .navbar-nav .open .dropdown-menu > li > a,
-  .navbar-nav .open .dropdown-menu .dropdown-header {
-    padding: 5px 15px 5px 25px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a {
-    line-height: 20px;
-  }
-  .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-nav .open .dropdown-menu > li > a:focus {
-    background-image: none;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-nav {
-    float: left;
-    margin: 0;
-  }
-  .navbar-nav > li {
-    float: left;
-  }
-  .navbar-nav > li > a {
-    padding-top: 15px;
-    padding-bottom: 15px;
-  }
-}
-.navbar-form {
-  padding: 10px 15px;
-  margin-top: 8px;
-  margin-right: -15px;
-  margin-bottom: 8px;
-  margin-left: -15px;
-  border-top: 1px solid transparent;
-  border-bottom: 1px solid transparent;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
-}
-@media (min-width: 768px) {
-  .navbar-form .form-group {
-    display: inline-block;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .navbar-form .form-control-static {
-    display: inline-block;
-  }
-  .navbar-form .input-group {
-    display: inline-table;
-    vertical-align: middle;
-  }
-  .navbar-form .input-group .input-group-addon,
-  .navbar-form .input-group .input-group-btn,
-  .navbar-form .input-group .form-control {
-    width: auto;
-  }
-  .navbar-form .input-group > .form-control {
-    width: 100%;
-  }
-  .navbar-form .control-label {
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .radio,
-  .navbar-form .checkbox {
-    display: inline-block;
-    margin-top: 0;
-    margin-bottom: 0;
-    vertical-align: middle;
-  }
-  .navbar-form .radio label,
-  .navbar-form .checkbox label {
-    padding-left: 0;
-  }
-  .navbar-form .radio input[type="radio"],
-  .navbar-form .checkbox input[type="checkbox"] {
-    position: relative;
-    margin-left: 0;
-  }
-  .navbar-form .has-feedback .form-control-feedback {
-    top: 0;
-  }
-}
-@media (max-width: 767px) {
-  .navbar-form .form-group {
-    margin-bottom: 5px;
-  }
-  .navbar-form .form-group:last-child {
-    margin-bottom: 0;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-form {
-    width: auto;
-    padding-top: 0;
-    padding-bottom: 0;
-    margin-right: 0;
-    margin-left: 0;
-    border: 0;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-  }
-}
-.navbar-nav > li > .dropdown-menu {
-  margin-top: 0;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
-  margin-bottom: 0;
-  border-top-left-radius: 4px;
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.navbar-btn {
-  margin-top: 8px;
-  margin-bottom: 8px;
-}
-.navbar-btn.btn-sm {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-.navbar-btn.btn-xs {
-  margin-top: 14px;
-  margin-bottom: 14px;
-}
-.navbar-text {
-  margin-top: 15px;
-  margin-bottom: 15px;
-}
-@media (min-width: 768px) {
-  .navbar-text {
-    float: left;
-    margin-right: 15px;
-    margin-left: 15px;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-left {
-    float: left !important;
-  }
-  .navbar-right {
-    float: right !important;
-    margin-right: -15px;
-  }
-  .navbar-right ~ .navbar-right {
-    margin-right: 0;
-  }
-}
-.navbar-default {
-  background-color: #f8f8f8;
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-brand {
-  color: #777;
-}
-.navbar-default .navbar-brand:hover,
-.navbar-default .navbar-brand:focus {
-  color: #5e5e5e;
-  background-color: transparent;
-}
-.navbar-default .navbar-text {
-  color: #777;
-}
-.navbar-default .navbar-nav > li > a {
-  color: #777;
-}
-.navbar-default .navbar-nav > li > a:hover,
-.navbar-default .navbar-nav > li > a:focus {
-  color: #333;
-  background-color: transparent;
-}
-.navbar-default .navbar-nav > .active > a,
-.navbar-default .navbar-nav > .active > a:hover,
-.navbar-default .navbar-nav > .active > a:focus {
-  color: #555;
-  background-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .disabled > a,
-.navbar-default .navbar-nav > .disabled > a:hover,
-.navbar-default .navbar-nav > .disabled > a:focus {
-  color: #ccc;
-  background-color: transparent;
-}
-.navbar-default .navbar-toggle {
-  border-color: #ddd;
-}
-.navbar-default .navbar-toggle:hover,
-.navbar-default .navbar-toggle:focus {
-  background-color: #ddd;
-}
-.navbar-default .navbar-toggle .icon-bar {
-  background-color: #888;
-}
-.navbar-default .navbar-collapse,
-.navbar-default .navbar-form {
-  border-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .open > a:hover,
-.navbar-default .navbar-nav > .open > a:focus {
-  color: #555;
-  background-color: #e7e7e7;
-}
-@media (max-width: 767px) {
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
-    color: #777;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #333;
-    background-color: transparent;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #555;
-    background-color: #e7e7e7;
-  }
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #ccc;
-    background-color: transparent;
-  }
-}
-.navbar-default .navbar-link {
-  color: #777;
-}
-.navbar-default .navbar-link:hover {
-  color: #333;
-}
-.navbar-default .btn-link {
-  color: #777;
-}
-.navbar-default .btn-link:hover,
-.navbar-default .btn-link:focus {
-  color: #333;
-}
-.navbar-default .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-default .btn-link:hover,
-.navbar-default .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-default .btn-link:focus {
-  color: #ccc;
-}
-.navbar-inverse {
-  background-color: #222;
-  border-color: #080808;
-}
-.navbar-inverse .navbar-brand {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-brand:focus {
-  color: #fff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-text {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-nav > li > a {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
-  color: #fff;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-nav > .active > a,
-.navbar-inverse .navbar-nav > .active > a:hover,
-.navbar-inverse .navbar-nav > .active > a:focus {
-  color: #fff;
-  background-color: #080808;
-}
-.navbar-inverse .navbar-nav > .disabled > a,
-.navbar-inverse .navbar-nav > .disabled > a:hover,
-.navbar-inverse .navbar-nav > .disabled > a:focus {
-  color: #444;
-  background-color: transparent;
-}
-.navbar-inverse .navbar-toggle {
-  border-color: #333;
-}
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
-  background-color: #333;
-}
-.navbar-inverse .navbar-toggle .icon-bar {
-  background-color: #fff;
-}
-.navbar-inverse .navbar-collapse,
-.navbar-inverse .navbar-form {
-  border-color: #101010;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .open > a:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
-  color: #fff;
-  background-color: #080808;
-}
-@media (max-width: 767px) {
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
-    border-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
-    color: #9d9d9d;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
-    color: #fff;
-    background-color: transparent;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #fff;
-    background-color: #080808;
-  }
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
-  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
-    color: #444;
-    background-color: transparent;
-  }
-}
-.navbar-inverse .navbar-link {
-  color: #9d9d9d;
-}
-.navbar-inverse .navbar-link:hover {
-  color: #fff;
-}
-.navbar-inverse .btn-link {
-  color: #9d9d9d;
-}
-.navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link:focus {
-  color: #fff;
-}
-.navbar-inverse .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-inverse .btn-link:focus {
-  color: #444;
-}
-.breadcrumb {
-  padding: 8px 15px;
-  margin-bottom: 20px;
-  list-style: none;
-  background-color: #f5f5f5;
-  border-radius: 4px;
-}
-.breadcrumb > li {
-  display: inline-block;
-}
-.breadcrumb > li + li:before {
-  padding: 0 5px;
-  color: #ccc;
-  content: "/\00a0";
-}
-.breadcrumb > .active {
-  color: #777;
-}
-.pagination {
-  display: inline-block;
-  padding-left: 0;
-  margin: 20px 0;
-  border-radius: 4px;
-}
-.pagination > li {
-  display: inline;
-}
-.pagination > li > a,
-.pagination > li > span {
-  position: relative;
-  float: left;
-  padding: 6px 12px;
-  margin-left: -1px;
-  line-height: 1.42857143;
-  color: #337ab7;
-  text-decoration: none;
-  background-color: #fff;
-  border: 1px solid #ddd;
-}
-.pagination > li:first-child > a,
-.pagination > li:first-child > span {
-  margin-left: 0;
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-.pagination > li:last-child > a,
-.pagination > li:last-child > span {
-  border-top-right-radius: 4px;
-  border-bottom-right-radius: 4px;
-}
-.pagination > li > a:hover,
-.pagination > li > span:hover,
-.pagination > li > a:focus,
-.pagination > li > span:focus {
-  z-index: 2;
-  color: #23527c;
-  background-color: #eee;
-  border-color: #ddd;
-}
-.pagination > .active > a,
-.pagination > .active > span,
-.pagination > .active > a:hover,
-.pagination > .active > span:hover,
-.pagination > .active > a:focus,
-.pagination > .active > span:focus {
-  z-index: 3;
-  color: #fff;
-  cursor: default;
-  background-color: #337ab7;
-  border-color: #337ab7;
-}
-.pagination > .disabled > span,
-.pagination > .disabled > span:hover,
-.pagination > .disabled > span:focus,
-.pagination > .disabled > a,
-.pagination > .disabled > a:hover,
-.pagination > .disabled > a:focus {
-  color: #777;
-  cursor: not-allowed;
-  background-color: #fff;
-  border-color: #ddd;
-}
-.pagination-lg > li > a,
-.pagination-lg > li > span {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.3333333;
-}
-.pagination-lg > li:first-child > a,
-.pagination-lg > li:first-child > span {
-  border-top-left-radius: 6px;
-  border-bottom-left-radius: 6px;
-}
-.pagination-lg > li:last-child > a,
-.pagination-lg > li:last-child > span {
-  border-top-right-radius: 6px;
-  border-bottom-right-radius: 6px;
-}
-.pagination-sm > li > a,
-.pagination-sm > li > span {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-}
-.pagination-sm > li:first-child > a,
-.pagination-sm > li:first-child > span {
-  border-top-left-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.pagination-sm > li:last-child > a,
-.pagination-sm > li:last-child > span {
-  border-top-right-radius: 3px;
-  border-bottom-right-radius: 3px;
-}
-.pager {
-  padding-left: 0;
-  margin: 20px 0;
-  text-align: center;
-  list-style: none;
-}
-.pager li {
-  display: inline;
-}
-.pager li > a,
-.pager li > span {
-  display: inline-block;
-  padding: 5px 14px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 15px;
-}
-.pager li > a:hover,
-.pager li > a:focus {
-  text-decoration: none;
-  background-color: #eee;
-}
-.pager .next > a,
-.pager .next > span {
-  float: right;
-}
-.pager .previous > a,
-.pager .previous > span {
-  float: left;
-}
-.pager .disabled > a,
-.pager .disabled > a:hover,
-.pager .disabled > a:focus,
-.pager .disabled > span {
-  color: #777;
-  cursor: not-allowed;
-  background-color: #fff;
-}
-.label {
-  display: inline;
-  padding: .2em .6em .3em;
-  font-size: 75%;
-  font-weight: bold;
-  line-height: 1;
-  color: #fff;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  border-radius: .25em;
-}
-a.label:hover,
-a.label:focus {
-  color: #fff;
-  text-decoration: none;
-  cursor: pointer;
-}
-.label:empty {
-  display: none;
-}
-.btn .label {
-  position: relative;
-  top: -1px;
-}
-.label-default {
-  background-color: #777;
-}
-.label-default[href]:hover,
-.label-default[href]:focus {
-  background-color: #5e5e5e;
-}
-.label-primary {
-  background-color: #337ab7;
-}
-.label-primary[href]:hover,
-.label-primary[href]:focus {
-  background-color: #286090;
-}
-.label-success {
-  background-color: #5cb85c;
-}
-.label-success[href]:hover,
-.label-success[href]:focus {
-  background-color: #449d44;
-}
-.label-info {
-  background-color: #5bc0de;
-}
-.label-info[href]:hover,
-.label-info[href]:focus {
-  background-color: #31b0d5;
-}
-.label-warning {
-  background-color: #f0ad4e;
-}
-.label-warning[href]:hover,
-.label-warning[href]:focus {
-  background-color: #ec971f;
-}
-.label-danger {
-  background-color: #d9534f;
-}
-.label-danger[href]:hover,
-.label-danger[href]:focus {
-  background-color: #c9302c;
-}
-.badge {
-  display: inline-block;
-  min-width: 10px;
-  padding: 3px 7px;
-  font-size: 12px;
-  font-weight: bold;
-  line-height: 1;
-  color: #fff;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: middle;
-  background-color: #777;
-  border-radius: 10px;
-}
-.badge:empty {
-  display: none;
-}
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-.btn-xs .badge,
-.btn-group-xs > .btn .badge {
-  top: 0;
-  padding: 1px 5px;
-}
-a.badge:hover,
-a.badge:focus {
-  color: #fff;
-  text-decoration: none;
-  cursor: pointer;
-}
-.list-group-item.active > .badge,
-.nav-pills > .active > a > .badge {
-  color: #337ab7;
-  background-color: #fff;
-}
-.list-group-item > .badge {
-  float: right;
-}
-.list-group-item > .badge + .badge {
-  margin-right: 5px;
-}
-.nav-pills > li > a > .badge {
-  margin-left: 3px;
-}
-.jumbotron {
-  padding-top: 30px;
-  padding-bottom: 30px;
-  margin-bottom: 30px;
-  color: inherit;
-  background-color: #eee;
-}
-.jumbotron h1,
-.jumbotron .h1 {
-  color: inherit;
-}
-.jumbotron p {
-  margin-bottom: 15px;
-  font-size: 21px;
-  font-weight: 200;
-}
-.jumbotron > hr {
-  border-top-color: #d5d5d5;
-}
-.container .jumbotron,
-.container-fluid .jumbotron {
-  padding-right: 15px;
-  padding-left: 15px;
-  border-radius: 6px;
-}
-.jumbotron .container {
-  max-width: 100%;
-}
-@media screen and (min-width: 768px) {
-  .jumbotron {
-    padding-top: 48px;
-    padding-bottom: 48px;
-  }
-  .container .jumbotron,
-  .container-fluid .jumbotron {
-    padding-right: 60px;
-    padding-left: 60px;
-  }
-  .jumbotron h1,
-  .jumbotron .h1 {
-    font-size: 63px;
-  }
-}
-.thumbnail {
-  display: block;
-  padding: 4px;
-  margin-bottom: 20px;
-  line-height: 1.42857143;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  border-radius: 4px;
-  -webkit-transition: border .2s ease-in-out;
-       -o-transition: border .2s ease-in-out;
-          transition: border .2s ease-in-out;
-}
-.thumbnail > img,
-.thumbnail a > img {
-  margin-right: auto;
-  margin-left: auto;
-}
-a.thumbnail:hover,
-a.thumbnail:focus,
-a.thumbnail.active {
-  border-color: #337ab7;
-}
-.thumbnail .caption {
-  padding: 9px;
-  color: #333;
-}
-.alert {
-  padding: 15px;
-  margin-bottom: 20px;
-  border: 1px solid transparent;
-  border-radius: 4px;
-}
-.alert h4 {
-  margin-top: 0;
-  color: inherit;
-}
-.alert .alert-link {
-  font-weight: bold;
-}
-.alert > p,
-.alert > ul {
-  margin-bottom: 0;
-}
-.alert > p + p {
-  margin-top: 5px;
-}
-.alert-dismissable,
-.alert-dismissible {
-  padding-right: 35px;
-}
-.alert-dismissable .close,
-.alert-dismissible .close {
-  position: relative;
-  top: -2px;
-  right: -21px;
-  color: inherit;
-}
-.alert-success {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-.alert-success hr {
-  border-top-color: #c9e2b3;
-}
-.alert-success .alert-link {
-  color: #2b542c;
-}
-.alert-info {
-  color: #31708f;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-.alert-info hr {
-  border-top-color: #a6e1ec;
-}
-.alert-info .alert-link {
-  color: #245269;
-}
-.alert-warning {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #faebcc;
-}
-.alert-warning hr {
-  border-top-color: #f7e1b5;
-}
-.alert-warning .alert-link {
-  color: #66512c;
-}
-.alert-danger {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #ebccd1;
-}
-.alert-danger hr {
-  border-top-color: #e4b9c0;
-}
-.alert-danger .alert-link {
-  color: #843534;
-}
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-@-o-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-.progress {
-  height: 20px;
-  margin-bottom: 20px;
-  overflow: hidden;
-  background-color: #f5f5f5;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
-}
-.progress-bar {
-  float: left;
-  width: 0;
-  height: 100%;
-  font-size: 12px;
-  line-height: 20px;
-  color: #fff;
-  text-align: center;
-  background-color: #337ab7;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-  -webkit-transition: width .6s ease;
-       -o-transition: width .6s ease;
-          transition: width .6s ease;
-}
-.progress-striped .progress-bar,
-.progress-bar-striped {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  -webkit-background-size: 40px 40px;
-          background-size: 40px 40px;
-}
-.progress.active .progress-bar,
-.progress-bar.active {
-  -webkit-animation: progress-bar-stripes 2s linear infinite;
-       -o-animation: progress-bar-stripes 2s linear infinite;
-          animation: progress-bar-stripes 2s linear infinite;
-}
-.progress-bar-success {
-  background-color: #5cb85c;
-}
-.progress-striped .progress-bar-success {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.progress-bar-info {
-  background-color: #5bc0de;
-}
-.progress-striped .progress-bar-info {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.progress-bar-warning {
-  background-color: #f0ad4e;
-}
-.progress-striped .progress-bar-warning {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.progress-bar-danger {
-  background-color: #d9534f;
-}
-.progress-striped .progress-bar-danger {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.media {
-  margin-top: 15px;
-}
-.media:first-child {
-  margin-top: 0;
-}
-.media,
-.media-body {
-  overflow: hidden;
-  zoom: 1;
-}
-.media-body {
-  width: 10000px;
-}
-.media-object {
-  display: block;
-}
-.media-object.img-thumbnail {
-  max-width: none;
-}
-.media-right,
-.media > .pull-right {
-  padding-left: 10px;
-}
-.media-left,
-.media > .pull-left {
-  padding-right: 10px;
-}
-.media-left,
-.media-right,
-.media-body {
-  display: table-cell;
-  vertical-align: top;
-}
-.media-middle {
-  vertical-align: middle;
-}
-.media-bottom {
-  vertical-align: bottom;
-}
-.media-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-.media-list {
-  padding-left: 0;
-  list-style: none;
-}
-.list-group {
-  padding-left: 0;
-  margin-bottom: 20px;
-}
-.list-group-item {
-  position: relative;
-  display: block;
-  padding: 10px 15px;
-  margin-bottom: -1px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-}
-.list-group-item:first-child {
-  border-top-left-radius: 4px;
-  border-top-right-radius: 4px;
-}
-.list-group-item:last-child {
-  margin-bottom: 0;
-  border-bottom-right-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-a.list-group-item,
-button.list-group-item {
-  color: #555;
-}
-a.list-group-item .list-group-item-heading,
-button.list-group-item .list-group-item-heading {
-  color: #333;
-}
-a.list-group-item:hover,
-button.list-group-item:hover,
-a.list-group-item:focus,
-button.list-group-item:focus {
-  color: #555;
-  text-decoration: none;
-  background-color: #f5f5f5;
-}
-button.list-group-item {
-  width: 100%;
-  text-align: left;
-}
-.list-group-item.disabled,
-.list-group-item.disabled:hover,
-.list-group-item.disabled:focus {
-  color: #777;
-  cursor: not-allowed;
-  background-color: #eee;
-}
-.list-group-item.disabled .list-group-item-heading,
-.list-group-item.disabled:hover .list-group-item-heading,
-.list-group-item.disabled:focus .list-group-item-heading {
-  color: inherit;
-}
-.list-group-item.disabled .list-group-item-text,
-.list-group-item.disabled:hover .list-group-item-text,
-.list-group-item.disabled:focus .list-group-item-text {
-  color: #777;
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
-  z-index: 2;
-  color: #fff;
-  background-color: #337ab7;
-  border-color: #337ab7;
-}
-.list-group-item.active .list-group-item-heading,
-.list-group-item.active:hover .list-group-item-heading,
-.list-group-item.active:focus .list-group-item-heading,
-.list-group-item.active .list-group-item-heading > small,
-.list-group-item.active:hover .list-group-item-heading > small,
-.list-group-item.active:focus .list-group-item-heading > small,
-.list-group-item.active .list-group-item-heading > .small,
-.list-group-item.active:hover .list-group-item-heading > .small,
-.list-group-item.active:focus .list-group-item-heading > .small {
-  color: inherit;
-}
-.list-group-item.active .list-group-item-text,
-.list-group-item.active:hover .list-group-item-text,
-.list-group-item.active:focus .list-group-item-text {
-  color: #c7ddef;
-}
-.list-group-item-success {
-  color: #3c763d;
-  background-color: #dff0d8;
-}
-a.list-group-item-success,
-button.list-group-item-success {
-  color: #3c763d;
-}
-a.list-group-item-success .list-group-item-heading,
-button.list-group-item-success .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-success:hover,
-button.list-group-item-success:hover,
-a.list-group-item-success:focus,
-button.list-group-item-success:focus {
-  color: #3c763d;
-  background-color: #d0e9c6;
-}
-a.list-group-item-success.active,
-button.list-group-item-success.active,
-a.list-group-item-success.active:hover,
-button.list-group-item-success.active:hover,
-a.list-group-item-success.active:focus,
-button.list-group-item-success.active:focus {
-  color: #fff;
-  background-color: #3c763d;
-  border-color: #3c763d;
-}
-.list-group-item-info {
-  color: #31708f;
-  background-color: #d9edf7;
-}
-a.list-group-item-info,
-button.list-group-item-info {
-  color: #31708f;
-}
-a.list-group-item-info .list-group-item-heading,
-button.list-group-item-info .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-info:hover,
-button.list-group-item-info:hover,
-a.list-group-item-info:focus,
-button.list-group-item-info:focus {
-  color: #31708f;
-  background-color: #c4e3f3;
-}
-a.list-group-item-info.active,
-button.list-group-item-info.active,
-a.list-group-item-info.active:hover,
-button.list-group-item-info.active:hover,
-a.list-group-item-info.active:focus,
-button.list-group-item-info.active:focus {
-  color: #fff;
-  background-color: #31708f;
-  border-color: #31708f;
-}
-.list-group-item-warning {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-}
-a.list-group-item-warning,
-button.list-group-item-warning {
-  color: #8a6d3b;
-}
-a.list-group-item-warning .list-group-item-heading,
-button.list-group-item-warning .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-warning:hover,
-button.list-group-item-warning:hover,
-a.list-group-item-warning:focus,
-button.list-group-item-warning:focus {
-  color: #8a6d3b;
-  background-color: #faf2cc;
-}
-a.list-group-item-warning.active,
-button.list-group-item-warning.active,
-a.list-group-item-warning.active:hover,
-button.list-group-item-warning.active:hover,
-a.list-group-item-warning.active:focus,
-button.list-group-item-warning.active:focus {
-  color: #fff;
-  background-color: #8a6d3b;
-  border-color: #8a6d3b;
-}
-.list-group-item-danger {
-  color: #a94442;
-  background-color: #f2dede;
-}
-a.list-group-item-danger,
-button.list-group-item-danger {
-  color: #a94442;
-}
-a.list-group-item-danger .list-group-item-heading,
-button.list-group-item-danger .list-group-item-heading {
-  color: inherit;
-}
-a.list-group-item-danger:hover,
-button.list-group-item-danger:hover,
-a.list-group-item-danger:focus,
-button.list-group-item-danger:focus {
-  color: #a94442;
-  background-color: #ebcccc;
-}
-a.list-group-item-danger.active,
-button.list-group-item-danger.active,
-a.list-group-item-danger.active:hover,
-button.list-group-item-danger.active:hover,
-a.list-group-item-danger.active:focus,
-button.list-group-item-danger.active:focus {
-  color: #fff;
-  background-color: #a94442;
-  border-color: #a94442;
-}
-.list-group-item-heading {
-  margin-top: 0;
-  margin-bottom: 5px;
-}
-.list-group-item-text {
-  margin-bottom: 0;
-  line-height: 1.3;
-}
-.panel {
-  margin-bottom: 20px;
-  background-color: #fff;
-  border: 1px solid transparent;
-  border-radius: 4px;
-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-          box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
-}
-.panel-body {
-  padding: 15px;
-}
-.panel-heading {
-  padding: 10px 15px;
-  border-bottom: 1px solid transparent;
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel-heading > .dropdown .dropdown-toggle {
-  color: inherit;
-}
-.panel-title {
-  margin-top: 0;
-  margin-bottom: 0;
-  font-size: 16px;
-  color: inherit;
-}
-.panel-title > a,
-.panel-title > small,
-.panel-title > .small,
-.panel-title > small > a,
-.panel-title > .small > a {
-  color: inherit;
-}
-.panel-footer {
-  padding: 10px 15px;
-  background-color: #f5f5f5;
-  border-top: 1px solid #ddd;
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .list-group,
-.panel > .panel-collapse > .list-group {
-  margin-bottom: 0;
-}
-.panel > .list-group .list-group-item,
-.panel > .panel-collapse > .list-group .list-group-item {
-  border-width: 1px 0;
-  border-radius: 0;
-}
-.panel > .list-group:first-child .list-group-item:first-child,
-.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
-  border-top: 0;
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel > .list-group:last-child .list-group-item:last-child,
-.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
-  border-bottom: 0;
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-.panel-heading + .list-group .list-group-item:first-child {
-  border-top-width: 0;
-}
-.list-group + .panel-footer {
-  border-top-width: 0;
-}
-.panel > .table,
-.panel > .table-responsive > .table,
-.panel > .panel-collapse > .table {
-  margin-bottom: 0;
-}
-.panel > .table caption,
-.panel > .table-responsive > .table caption,
-.panel > .panel-collapse > .table caption {
-  padding-right: 15px;
-  padding-left: 15px;
-}
-.panel > .table:first-child,
-.panel > .table-responsive:first-child > .table:first-child {
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel > .table:first-child > thead:first-child > tr:first-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-}
-.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
-.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
-  border-top-left-radius: 3px;
-}
-.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
-.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
-.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
-.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
-  border-top-right-radius: 3px;
-}
-.panel > .table:last-child,
-.panel > .table-responsive:last-child > .table:last-child {
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
-  border-bottom-right-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
-.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
-  border-bottom-left-radius: 3px;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
-.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
-  border-bottom-right-radius: 3px;
-}
-.panel > .panel-body + .table,
-.panel > .panel-body + .table-responsive,
-.panel > .table + .panel-body,
-.panel > .table-responsive + .panel-body {
-  border-top: 1px solid #ddd;
-}
-.panel > .table > tbody:first-child > tr:first-child th,
-.panel > .table > tbody:first-child > tr:first-child td {
-  border-top: 0;
-}
-.panel > .table-bordered,
-.panel > .table-responsive > .table-bordered {
-  border: 0;
-}
-.panel > .table-bordered > thead > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
-.panel > .table-bordered > tbody > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
-.panel > .table-bordered > tfoot > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
-.panel > .table-bordered > thead > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
-.panel > .table-bordered > tbody > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
-.panel > .table-bordered > tfoot > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
-  border-left: 0;
-}
-.panel > .table-bordered > thead > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
-.panel > .table-bordered > tbody > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
-.panel > .table-bordered > tfoot > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
-.panel > .table-bordered > thead > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
-.panel > .table-bordered > tbody > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
-.panel > .table-bordered > tfoot > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
-  border-right: 0;
-}
-.panel > .table-bordered > thead > tr:first-child > td,
-.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
-.panel > .table-bordered > tbody > tr:first-child > td,
-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
-.panel > .table-bordered > thead > tr:first-child > th,
-.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
-.panel > .table-bordered > tbody > tr:first-child > th,
-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
-  border-bottom: 0;
-}
-.panel > .table-bordered > tbody > tr:last-child > td,
-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
-.panel > .table-bordered > tfoot > tr:last-child > td,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
-.panel > .table-bordered > tbody > tr:last-child > th,
-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
-.panel > .table-bordered > tfoot > tr:last-child > th,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
-  border-bottom: 0;
-}
-.panel > .table-responsive {
-  margin-bottom: 0;
-  border: 0;
-}
-.panel-group {
-  margin-bottom: 20px;
-}
-.panel-group .panel {
-  margin-bottom: 0;
-  border-radius: 4px;
-}
-.panel-group .panel + .panel {
-  margin-top: 5px;
-}
-.panel-group .panel-heading {
-  border-bottom: 0;
-}
-.panel-group .panel-heading + .panel-collapse > .panel-body,
-.panel-group .panel-heading + .panel-collapse > .list-group {
-  border-top: 1px solid #ddd;
-}
-.panel-group .panel-footer {
-  border-top: 0;
-}
-.panel-group .panel-footer + .panel-collapse .panel-body {
-  border-bottom: 1px solid #ddd;
-}
-.panel-default {
-  border-color: #ddd;
-}
-.panel-default > .panel-heading {
-  color: #333;
-  background-color: #f5f5f5;
-  border-color: #ddd;
-}
-.panel-default > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #ddd;
-}
-.panel-default > .panel-heading .badge {
-  color: #f5f5f5;
-  background-color: #333;
-}
-.panel-default > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #ddd;
-}
-.panel-primary {
-  border-color: #337ab7;
-}
-.panel-primary > .panel-heading {
-  color: #fff;
-  background-color: #337ab7;
-  border-color: #337ab7;
-}
-.panel-primary > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #337ab7;
-}
-.panel-primary > .panel-heading .badge {
-  color: #337ab7;
-  background-color: #fff;
-}
-.panel-primary > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #337ab7;
-}
-.panel-success {
-  border-color: #d6e9c6;
-}
-.panel-success > .panel-heading {
-  color: #3c763d;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-.panel-success > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #d6e9c6;
-}
-.panel-success > .panel-heading .badge {
-  color: #dff0d8;
-  background-color: #3c763d;
-}
-.panel-success > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #d6e9c6;
-}
-.panel-info {
-  border-color: #bce8f1;
-}
-.panel-info > .panel-heading {
-  color: #31708f;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-.panel-info > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #bce8f1;
-}
-.panel-info > .panel-heading .badge {
-  color: #d9edf7;
-  background-color: #31708f;
-}
-.panel-info > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #bce8f1;
-}
-.panel-warning {
-  border-color: #faebcc;
-}
-.panel-warning > .panel-heading {
-  color: #8a6d3b;
-  background-color: #fcf8e3;
-  border-color: #faebcc;
-}
-.panel-warning > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #faebcc;
-}
-.panel-warning > .panel-heading .badge {
-  color: #fcf8e3;
-  background-color: #8a6d3b;
-}
-.panel-warning > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #faebcc;
-}
-.panel-danger {
-  border-color: #ebccd1;
-}
-.panel-danger > .panel-heading {
-  color: #a94442;
-  background-color: #f2dede;
-  border-color: #ebccd1;
-}
-.panel-danger > .panel-heading + .panel-collapse > .panel-body {
-  border-top-color: #ebccd1;
-}
-.panel-danger > .panel-heading .badge {
-  color: #f2dede;
-  background-color: #a94442;
-}
-.panel-danger > .panel-footer + .panel-collapse > .panel-body {
-  border-bottom-color: #ebccd1;
-}
-.embed-responsive {
-  position: relative;
-  display: block;
-  height: 0;
-  padding: 0;
-  overflow: hidden;
-}
-.embed-responsive .embed-responsive-item,
-.embed-responsive iframe,
-.embed-responsive embed,
-.embed-responsive object,
-.embed-responsive video {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  border: 0;
-}
-.embed-responsive-16by9 {
-  padding-bottom: 56.25%;
-}
-.embed-responsive-4by3 {
-  padding-bottom: 75%;
-}
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border: 1px solid #e3e3e3;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
-}
-.well blockquote {
-  border-color: #ddd;
-  border-color: rgba(0, 0, 0, .15);
-}
-.well-lg {
-  padding: 24px;
-  border-radius: 6px;
-}
-.well-sm {
-  padding: 9px;
-  border-radius: 3px;
-}
-.close {
-  float: right;
-  font-size: 21px;
-  font-weight: bold;
-  line-height: 1;
-  color: #000;
-  text-shadow: 0 1px 0 #fff;
-  filter: alpha(opacity=20);
-  opacity: .2;
-}
-.close:hover,
-.close:focus {
-  color: #000;
-  text-decoration: none;
-  cursor: pointer;
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-button.close {
-  -webkit-appearance: none;
-  padding: 0;
-  cursor: pointer;
-  background: transparent;
-  border: 0;
-}
-.modal-open {
-  overflow: hidden;
-}
-.modal {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1050;
-  display: none;
-  overflow: hidden;
-  -webkit-overflow-scrolling: touch;
-  outline: 0;
-}
-.modal.fade .modal-dialog {
-  -webkit-transition: -webkit-transform .3s ease-out;
-       -o-transition:      -o-transform .3s ease-out;
-          transition:         transform .3s ease-out;
-  -webkit-transform: translate(0, -25%);
-      -ms-transform: translate(0, -25%);
-       -o-transform: translate(0, -25%);
-          transform: translate(0, -25%);
-}
-.modal.in .modal-dialog {
-  -webkit-transform: translate(0, 0);
-      -ms-transform: translate(0, 0);
-       -o-transform: translate(0, 0);
-          transform: translate(0, 0);
-}
-.modal-open .modal {
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-.modal-dialog {
-  position: relative;
-  width: auto;
-  margin: 10px;
-}
-.modal-content {
-  position: relative;
-  background-color: #fff;
-  -webkit-background-clip: padding-box;
-          background-clip: padding-box;
-  border: 1px solid #999;
-  border: 1px solid rgba(0, 0, 0, .2);
-  border-radius: 6px;
-  outline: 0;
-  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
-          box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
-}
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1040;
-  background-color: #000;
-}
-.modal-backdrop.fade {
-  filter: alpha(opacity=0);
-  opacity: 0;
-}
-.modal-backdrop.in {
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-.modal-header {
-  padding: 15px;
-  border-bottom: 1px solid #e5e5e5;
-}
-.modal-header .close {
-  margin-top: -2px;
-}
-.modal-title {
-  margin: 0;
-  line-height: 1.42857143;
-}
-.modal-body {
-  position: relative;
-  padding: 15px;
-}
-.modal-footer {
-  padding: 15px;
-  text-align: right;
-  border-top: 1px solid #e5e5e5;
-}
-.modal-footer .btn + .btn {
-  margin-bottom: 0;
-  margin-left: 5px;
-}
-.modal-footer .btn-group .btn + .btn {
-  margin-left: -1px;
-}
-.modal-footer .btn-block + .btn-block {
-  margin-left: 0;
-}
-.modal-scrollbar-measure {
-  position: absolute;
-  top: -9999px;
-  width: 50px;
-  height: 50px;
-  overflow: scroll;
-}
-@media (min-width: 768px) {
-  .modal-dialog {
-    width: 600px;
-    margin: 30px auto;
-  }
-  .modal-content {
-    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
-            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
-  }
-  .modal-sm {
-    width: 300px;
-  }
-}
-@media (min-width: 992px) {
-  .modal-lg {
-    width: 900px;
-  }
-}
-.tooltip {
-  position: absolute;
-  z-index: 1070;
-  display: block;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 12px;
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1.42857143;
-  text-align: left;
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  letter-spacing: normal;
-  word-break: normal;
-  word-spacing: normal;
-  word-wrap: normal;
-  white-space: normal;
-  filter: alpha(opacity=0);
-  opacity: 0;
-
-  line-break: auto;
-}
-.tooltip.in {
-  filter: alpha(opacity=90);
-  opacity: .9;
-}
-.tooltip.top {
-  padding: 5px 0;
-  margin-top: -3px;
-}
-.tooltip.right {
-  padding: 0 5px;
-  margin-left: 3px;
-}
-.tooltip.bottom {
-  padding: 5px 0;
-  margin-top: 3px;
-}
-.tooltip.left {
-  padding: 0 5px;
-  margin-left: -3px;
-}
-.tooltip-inner {
-  max-width: 200px;
-  padding: 3px 8px;
-  color: #fff;
-  text-align: center;
-  background-color: #000;
-  border-radius: 4px;
-}
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.tooltip.top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.top-left .tooltip-arrow {
-  right: 5px;
-  bottom: 0;
-  margin-bottom: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.top-right .tooltip-arrow {
-  bottom: 0;
-  left: 5px;
-  margin-bottom: -5px;
-  border-width: 5px 5px 0;
-  border-top-color: #000;
-}
-.tooltip.right .tooltip-arrow {
-  top: 50%;
-  left: 0;
-  margin-top: -5px;
-  border-width: 5px 5px 5px 0;
-  border-right-color: #000;
-}
-.tooltip.left .tooltip-arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-width: 5px 0 5px 5px;
-  border-left-color: #000;
-}
-.tooltip.bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.tooltip.bottom-left .tooltip-arrow {
-  top: 0;
-  right: 5px;
-  margin-top: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.tooltip.bottom-right .tooltip-arrow {
-  top: 0;
-  left: 5px;
-  margin-top: -5px;
-  border-width: 0 5px 5px;
-  border-bottom-color: #000;
-}
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1060;
-  display: none;
-  max-width: 276px;
-  padding: 1px;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1.42857143;
-  text-align: left;
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  letter-spacing: normal;
-  word-break: normal;
-  word-spacing: normal;
-  word-wrap: normal;
-  white-space: normal;
-  background-color: #fff;
-  -webkit-background-clip: padding-box;
-          background-clip: padding-box;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, .2);
-  border-radius: 6px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-          box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-
-  line-break: auto;
-}
-.popover.top {
-  margin-top: -10px;
-}
-.popover.right {
-  margin-left: 10px;
-}
-.popover.bottom {
-  margin-top: 10px;
-}
-.popover.left {
-  margin-left: -10px;
-}
-.popover-title {
-  padding: 8px 14px;
-  margin: 0;
-  font-size: 14px;
-  background-color: #f7f7f7;
-  border-bottom: 1px solid #ebebeb;
-  border-radius: 5px 5px 0 0;
-}
-.popover-content {
-  padding: 9px 14px;
-}
-.popover > .arrow,
-.popover > .arrow:after {
-  position: absolute;
-  display: block;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-.popover > .arrow {
-  border-width: 11px;
-}
-.popover > .arrow:after {
-  content: "";
-  border-width: 10px;
-}
-.popover.top > .arrow {
-  bottom: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-top-color: #999;
-  border-top-color: rgba(0, 0, 0, .25);
-  border-bottom-width: 0;
-}
-.popover.top > .arrow:after {
-  bottom: 1px;
-  margin-left: -10px;
-  content: " ";
-  border-top-color: #fff;
-  border-bottom-width: 0;
-}
-.popover.right > .arrow {
-  top: 50%;
-  left: -11px;
-  margin-top: -11px;
-  border-right-color: #999;
-  border-right-color: rgba(0, 0, 0, .25);
-  border-left-width: 0;
-}
-.popover.right > .arrow:after {
-  bottom: -10px;
-  left: 1px;
-  content: " ";
-  border-right-color: #fff;
-  border-left-width: 0;
-}
-.popover.bottom > .arrow {
-  top: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-top-width: 0;
-  border-bottom-color: #999;
-  border-bottom-color: rgba(0, 0, 0, .25);
-}
-.popover.bottom > .arrow:after {
-  top: 1px;
-  margin-left: -10px;
-  content: " ";
-  border-top-width: 0;
-  border-bottom-color: #fff;
-}
-.popover.left > .arrow {
-  top: 50%;
-  right: -11px;
-  margin-top: -11px;
-  border-right-width: 0;
-  border-left-color: #999;
-  border-left-color: rgba(0, 0, 0, .25);
-}
-.popover.left > .arrow:after {
-  right: 1px;
-  bottom: -10px;
-  content: " ";
-  border-right-width: 0;
-  border-left-color: #fff;
-}
-.carousel {
-  position: relative;
-}
-.carousel-inner {
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-}
-.carousel-inner > .item {
-  position: relative;
-  display: none;
-  -webkit-transition: .6s ease-in-out left;
-       -o-transition: .6s ease-in-out left;
-          transition: .6s ease-in-out left;
-}
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  line-height: 1;
-}
-@media all and (transform-3d), (-webkit-transform-3d) {
-  .carousel-inner > .item {
-    -webkit-transition: -webkit-transform .6s ease-in-out;
-         -o-transition:      -o-transform .6s ease-in-out;
-            transition:         transform .6s ease-in-out;
-
-    -webkit-backface-visibility: hidden;
-            backface-visibility: hidden;
-    -webkit-perspective: 1000px;
-            perspective: 1000px;
-  }
-  .carousel-inner > .item.next,
-  .carousel-inner > .item.active.right {
-    left: 0;
-    -webkit-transform: translate3d(100%, 0, 0);
-            transform: translate3d(100%, 0, 0);
-  }
-  .carousel-inner > .item.prev,
-  .carousel-inner > .item.active.left {
-    left: 0;
-    -webkit-transform: translate3d(-100%, 0, 0);
-            transform: translate3d(-100%, 0, 0);
-  }
-  .carousel-inner > .item.next.left,
-  .carousel-inner > .item.prev.right,
-  .carousel-inner > .item.active {
-    left: 0;
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-  }
-}
-.carousel-inner > .active,
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  display: block;
-}
-.carousel-inner > .active {
-  left: 0;
-}
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  position: absolute;
-  top: 0;
-  width: 100%;
-}
-.carousel-inner > .next {
-  left: 100%;
-}
-.carousel-inner > .prev {
-  left: -100%;
-}
-.carousel-inner > .next.left,
-.carousel-inner > .prev.right {
-  left: 0;
-}
-.carousel-inner > .active.left {
-  left: -100%;
-}
-.carousel-inner > .active.right {
-  left: 100%;
-}
-.carousel-control {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  width: 15%;
-  font-size: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
-  background-color: rgba(0, 0, 0, 0);
-  filter: alpha(opacity=50);
-  opacity: .5;
-}
-.carousel-control.left {
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
-  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
-  background-repeat: repeat-x;
-}
-.carousel-control.right {
-  right: 0;
-  left: auto;
-  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
-  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
-  background-repeat: repeat-x;
-}
-.carousel-control:hover,
-.carousel-control:focus {
-  color: #fff;
-  text-decoration: none;
-  filter: alpha(opacity=90);
-  outline: 0;
-  opacity: .9;
-}
-.carousel-control .icon-prev,
-.carousel-control .icon-next,
-.carousel-control .glyphicon-chevron-left,
-.carousel-control .glyphicon-chevron-right {
-  position: absolute;
-  top: 50%;
-  z-index: 5;
-  display: inline-block;
-  margin-top: -10px;
-}
-.carousel-control .icon-prev,
-.carousel-control .glyphicon-chevron-left {
-  left: 50%;
-  margin-left: -10px;
-}
-.carousel-control .icon-next,
-.carousel-control .glyphicon-chevron-right {
-  right: 50%;
-  margin-right: -10px;
-}
-.carousel-control .icon-prev,
-.carousel-control .icon-next {
-  width: 20px;
-  height: 20px;
-  font-family: serif;
-  line-height: 1;
-}
-.carousel-control .icon-prev:before {
-  content: '\2039';
-}
-.carousel-control .icon-next:before {
-  content: '\203a';
-}
-.carousel-indicators {
-  position: absolute;
-  bottom: 10px;
-  left: 50%;
-  z-index: 15;
-  width: 60%;
-  padding-left: 0;
-  margin-left: -30%;
-  text-align: center;
-  list-style: none;
-}
-.carousel-indicators li {
-  display: inline-block;
-  width: 10px;
-  height: 10px;
-  margin: 1px;
-  text-indent: -999px;
-  cursor: pointer;
-  background-color: #000 \9;
-  background-color: rgba(0, 0, 0, 0);
-  border: 1px solid #fff;
-  border-radius: 10px;
-}
-.carousel-indicators .active {
-  width: 12px;
-  height: 12px;
-  margin: 0;
-  background-color: #fff;
-}
-.carousel-caption {
-  position: absolute;
-  right: 15%;
-  bottom: 20px;
-  left: 15%;
-  z-index: 10;
-  padding-top: 20px;
-  padding-bottom: 20px;
-  color: #fff;
-  text-align: center;
-  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
-}
-.carousel-caption .btn {
-  text-shadow: none;
-}
-@media screen and (min-width: 768px) {
-  .carousel-control .glyphicon-chevron-left,
-  .carousel-control .glyphicon-chevron-right,
-  .carousel-control .icon-prev,
-  .carousel-control .icon-next {
-    width: 30px;
-    height: 30px;
-    margin-top: -10px;
-    font-size: 30px;
-  }
-  .carousel-control .glyphicon-chevron-left,
-  .carousel-control .icon-prev {
-    margin-left: -10px;
-  }
-  .carousel-control .glyphicon-chevron-right,
-  .carousel-control .icon-next {
-    margin-right: -10px;
-  }
-  .carousel-caption {
-    right: 20%;
-    left: 20%;
-    padding-bottom: 30px;
-  }
-  .carousel-indicators {
-    bottom: 20px;
-  }
-}
-.clearfix:before,
-.clearfix:after,
-.dl-horizontal dd:before,
-.dl-horizontal dd:after,
-.container:before,
-.container:after,
-.container-fluid:before,
-.container-fluid:after,
-.row:before,
-.row:after,
-.form-horizontal .form-group:before,
-.form-horizontal .form-group:after,
-.btn-toolbar:before,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:before,
-.btn-group-vertical > .btn-group:after,
-.nav:before,
-.nav:after,
-.navbar:before,
-.navbar:after,
-.navbar-header:before,
-.navbar-header:after,
-.navbar-collapse:before,
-.navbar-collapse:after,
-.pager:before,
-.pager:after,
-.panel-body:before,
-.panel-body:after,
-.modal-header:before,
-.modal-header:after,
-.modal-footer:before,
-.modal-footer:after {
-  display: table;
-  content: " ";
-}
-.clearfix:after,
-.dl-horizontal dd:after,
-.container:after,
-.container-fluid:after,
-.row:after,
-.form-horizontal .form-group:after,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:after,
-.nav:after,
-.navbar:after,
-.navbar-header:after,
-.navbar-collapse:after,
-.pager:after,
-.panel-body:after,
-.modal-header:after,
-.modal-footer:after {
-  clear: both;
-}
-.center-block {
-  display: block;
-  margin-right: auto;
-  margin-left: auto;
-}
-.pull-right {
-  float: right !important;
-}
-.pull-left {
-  float: left !important;
-}
-.hide {
-  display: none !important;
-}
-.show {
-  display: block !important;
-}
-.invisible {
-  visibility: hidden;
-}
-.text-hide {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-.hidden {
-  display: none !important;
-}
-.affix {
-  position: fixed;
-}
-@-ms-viewport {
-  width: device-width;
-}
-.visible-xs,
-.visible-sm,
-.visible-md,
-.visible-lg {
-  display: none !important;
-}
-.visible-xs-block,
-.visible-xs-inline,
-.visible-xs-inline-block,
-.visible-sm-block,
-.visible-sm-inline,
-.visible-sm-inline-block,
-.visible-md-block,
-.visible-md-inline,
-.visible-md-inline-block,
-.visible-lg-block,
-.visible-lg-inline,
-.visible-lg-inline-block {
-  display: none !important;
-}
-@media (max-width: 767px) {
-  .visible-xs {
-    display: block !important;
-  }
-  table.visible-xs {
-    display: table !important;
-  }
-  tr.visible-xs {
-    display: table-row !important;
-  }
-  th.visible-xs,
-  td.visible-xs {
-    display: table-cell !important;
-  }
-}
-@media (max-width: 767px) {
-  .visible-xs-block {
-    display: block !important;
-  }
-}
-@media (max-width: 767px) {
-  .visible-xs-inline {
-    display: inline !important;
-  }
-}
-@media (max-width: 767px) {
-  .visible-xs-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm {
-    display: block !important;
-  }
-  table.visible-sm {
-    display: table !important;
-  }
-  tr.visible-sm {
-    display: table-row !important;
-  }
-  th.visible-sm,
-  td.visible-sm {
-    display: table-cell !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm-block {
-    display: block !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm-inline {
-    display: inline !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .visible-sm-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md {
-    display: block !important;
-  }
-  table.visible-md {
-    display: table !important;
-  }
-  tr.visible-md {
-    display: table-row !important;
-  }
-  th.visible-md,
-  td.visible-md {
-    display: table-cell !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md-block {
-    display: block !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md-inline {
-    display: inline !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .visible-md-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg {
-    display: block !important;
-  }
-  table.visible-lg {
-    display: table !important;
-  }
-  tr.visible-lg {
-    display: table-row !important;
-  }
-  th.visible-lg,
-  td.visible-lg {
-    display: table-cell !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg-block {
-    display: block !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg-inline {
-    display: inline !important;
-  }
-}
-@media (min-width: 1200px) {
-  .visible-lg-inline-block {
-    display: inline-block !important;
-  }
-}
-@media (max-width: 767px) {
-  .hidden-xs {
-    display: none !important;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .hidden-sm {
-    display: none !important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
-  .hidden-md {
-    display: none !important;
-  }
-}
-@media (min-width: 1200px) {
-  .hidden-lg {
-    display: none !important;
-  }
-}
-.visible-print {
-  display: none !important;
-}
-@media print {
-  .visible-print {
-    display: block !important;
-  }
-  table.visible-print {
-    display: table !important;
-  }
-  tr.visible-print {
-    display: table-row !important;
-  }
-  th.visible-print,
-  td.visible-print {
-    display: table-cell !important;
-  }
-}
-.visible-print-block {
-  display: none !important;
-}
-@media print {
-  .visible-print-block {
-    display: block !important;
-  }
-}
-.visible-print-inline {
-  display: none !important;
-}
-@media print {
-  .visible-print-inline {
-    display: inline !important;
-  }
-}
-.visible-print-inline-block {
-  display: none !important;
-}
-@media print {
-  .visible-print-inline-block {
-    display: inline-block !important;
-  }
-}
-@media print {
-  .hidden-print {
-    display: none !important;
-  }
-}
-/*# sourceMappingURL=bootstrap.css.map */
diff --git a/server/target/classes/static/bootstrap/css/bootstrap.css.map b/server/target/classes/static/bootstrap/css/bootstrap.css.map
deleted file mode 100644
index f010c82..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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AW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;CHwtB9C;AGvtBmC;EAAW,iBAAA;CH0tB9C;AGztBmC;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ukDH;AexkDC;EACE,oBAAA;Cf0kDH;Ae3kDC;EACE,WAAA;Cf6kDH;Ae9kDC;EACE,oBAAA;CfglDH;AejlDC;EACE,mBAAA;CfmlDH;Ae/kDC;EACE,YAAA;CfilDH;AejmDC;EACE,WAAA;CfmmDH;AepmDC;EACE,mBAAA;CfsmDH;AevmDC;EACE,mBAAA;CfymDH;Ae1mDC;EACE,UAAA;Cf4mDH;Ae7mDC;EACE,mBAAA;Cf+mDH;AehnDC;EACE,mBAAA;CfknDH;AennDC;EACE,UAAA;CfqnDH;AetnDC;EACE,mBAAA;CfwnDH;AeznDC;EACE,mBAAA;Cf2nDH;Ae5nDC;EACE,UAAA;Cf8nDH;Ae/nDC;EACE,mBAAA;CfioDH;AeloDC;EACE,kBAAA;CfooDH;AehoDC;EACE,WAAA;CfkoDH;AepnDC;EACE,kBAAA;CfsnDH;AevnDC;EACE,0BAAA;CfynDH;Ae1nDC;EACE,0BAAA;Cf4nDH;Ae7nDC;EACE,iBAAA;Cf+nDH;AehoDC;EACE,0BAAA;CfkoDH;AenoDC;EACE,0BAAA;CfqoDH;AetoDC;EACE,iBAAA;CfwoDH;AezoDC;EACE,0BAAA;Cf2oDH;Ae5oDC;EACE,0BAAA;Cf8oDH;Ae/oDC;EACE,iBAAA;CfipDH;AelpDC;EACE,0BAAA;CfopDH;AerpDC;EACE,yBAAA;CfupDH;AexpDC;EACE,gBAAA;Cf0pDH;Aa1pDD;EElCI;IACE,YAAA;Gf+rDH;EexrDD;IACE,YAAA;Gf0rDD;Ee3rDD;IACE,oBAAA;Gf6rDD;Ee9rDD;IACE,oBAAA;GfgsDD;EejsDD;IACE,WAAA;GfmsDD;EepsDD;IACE,oBAAA;GfssDD;EevsDD;IACE,oBAAA;GfysDD;Ee1sDD;IACE,WAAA;Gf4sDD;Ee7sDD;IACE,oBAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,WAAA;GfqtDD;EettDD;IACE,oBAAA;GfwtDD;EeztDD;IACE,mBAAA;Gf2tDD;Ee7sDD;IACE,YAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,oBAAA;GfqtDD;EettDD;IACE,WAAA;GfwtDD;EeztDD;IACE,oBAAA;Gf2tDD;Ee5tDD;IACE,oBAAA;Gf8tDD;Ee/tDD;IACE,WAAA;GfiuDD;EeluDD;IACE,oBAAA;GfouDD;EeruDD;IACE,oBAAA;GfuuDD;EexuDD;IACE,WAAA;Gf0uDD;Ee3uDD;IACE,oBAAA;Gf6uDD;Ee9uDD;IACE,mBAAA;GfgvDD;Ee5uDD;IACE,YAAA;Gf8uDD;Ee9vDD;IACE,WAAA;GfgwDD;EejwDD;IACE,mBAAA;GfmwDD;EepwDD;IACE,mBAAA;GfswDD;EevwDD;IACE,UAAA;GfywDD;Ee1wDD;IACE,mBAAA;Gf4wDD;Ee7wDD;IACE,mBAAA;Gf+wDD;EehxDD;IACE,UAAA;GfkxDD;EenxDD;IACE,mBAAA;GfqxDD;EetxDD;IACE,mBAAA;GfwxDD;EezxDD;IACE,UAAA;Gf2xDD;Ee5xDD;IACE,mBAAA;Gf8xDD;Ee/xDD;IACE,kBAAA;GfiyDD;Ee7xDD;IACE,WAAA;Gf+xDD;EejxDD;IACE,kBAAA;GfmxDD;EepxDD;IACE,0BAAA;GfsxDD;EevxDD;IACE,0BAAA;GfyxDD;Ee1xDD;IACE,iBAAA;Gf4xDD;Ee7xDD;IACE,0BAAA;Gf+xDD;EehyDD;IACE,0BAAA;GfkyDD;EenyDD;IACE,iBAAA;GfqyDD;EetyDD;IACE,0BAAA;GfwyDD;EezyDD;IACE,0BAAA;Gf2yDD;Ee5yDD;IACE,iBAAA;Gf8yDD;Ee/yDD;IACE,0BAAA;GfizDD;EelzDD;IACE,yBAAA;GfozDD;EerzDD;IACE,gBAAA;GfuzDD;CACF;Aa/yDD;EE3CI;IACE,YAAA;Gf61DH;Eet1DD;IACE,YAAA;Gfw1DD;Eez1DD;IACE,oBAAA;Gf21DD;Ee51DD;IACE,oBAAA;Gf81DD;Ee/1DD;IACE,WAAA;Gfi2DD;Eel2DD;IACE,oBAAA;Gfo2DD;Eer2DD;IACE,oBAAA;Gfu2DD;Eex2DD;IACE,WAAA;Gf02DD;Ee32DD;IACE,oBAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,WAAA;Gfm3DD;Eep3DD;IACE,oBAAA;Gfs3DD;Eev3DD;IACE,mBAAA;Gfy3DD;Ee32DD;IACE,YAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,oBAAA;Gfm3DD;Eep3DD;IACE,WAAA;Gfs3DD;Eev3DD;IACE,oBAAA;Gfy3DD;Ee13DD;IACE,oBAAA;Gf43DD;Ee73DD;IACE,WAAA;Gf+3DD;Eeh4DD;IACE,oBAAA;Gfk4DD;Een4DD;IACE,oBAAA;Gfq4DD;Eet4DD;IACE,WAAA;Gfw4DD;Eez4DD;IACE,oBAAA;Gf24DD;Ee54DD;IACE,mBAAA;Gf84DD;Ee14DD;IACE,YAAA;Gf44DD;Ee55DD;IACE,WAAA;Gf85DD;Ee/5DD;IACE,mBAAA;Gfi6DD;Eel6DD;IACE,mBAAA;Gfo6DD;Eer6DD;IACE,UAAA;Gfu6DD;Eex6DD;IACE,mBAAA;Gf06DD;Ee36DD;IACE,mBAAA;Gf66DD;Ee96DD;IACE,UAAA;Gfg7DD;Eej7DD;IACE,mBAAA;Gfm7DD;Eep7DD;IACE,mBAAA;Gfs7DD;Eev7DD;IACE,UAAA;Gfy7DD;Ee17DD;IACE,mBAAA;Gf47DD;Ee77DD;IACE,kBAAA;Gf+7DD;Ee37DD;IACE,WAAA;Gf67DD;Ee/6DD;IACE,kBAAA;Gfi7DD;Eel7DD;IACE,0BAAA;Gfo7DD;Eer7DD;IACE,0BAAA;Gfu7DD;Eex7DD;IACE,iBAAA;Gf07DD;Ee37DD;IACE,0BAAA;Gf67DD;Ee97DD;IACE,0BAAA;Gfg8DD;Eej8DD;IACE,iBAAA;Gfm8DD;Eep8DD;IACE,0BAAA;Gfs8DD;Eev8DD;IACE,0BAAA;Gfy8DD;Ee18DD;IACE,iBAAA;Gf48DD;Ee78DD;IACE,0BAAA;Gf+8DD;Eeh9DD;IACE,yBAAA;Gfk9DD;Een9DD;IACE,gBAAA;Gfq9DD;CACF;Aa18DD;EE9CI;IACE,YAAA;Gf2/DH;Eep/DD;IACE,YAAA;Gfs/DD;Eev/DD;IACE,oBAAA;Gfy/DD;Ee1/DD;IACE,oBAAA;Gf4/DD;Ee7/DD;IACE,WAAA;Gf+/DD;EehgED;IACE,oBAAA;GfkgED;EengED;IACE,oBAAA;GfqgED;EetgED;IACE,WAAA;GfwgED;EezgED;IACE,oBAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,WAAA;GfihED;EelhED;IACE,oBAAA;GfohED;EerhED;IACE,mBAAA;GfuhED;EezgED;IACE,YAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,oBAAA;GfihED;EelhED;IACE,WAAA;GfohED;EerhED;IACE,oBAAA;GfuhED;EexhED;IACE,oBAAA;Gf0hED;Ee3hED;IACE,WAAA;Gf6hED;Ee9hED;IACE,oBAAA;GfgiED;EejiED;IACE,oBAAA;GfmiED;EepiED;IACE,WAAA;GfsiED;EeviED;IACE,oBAAA;GfyiED;Ee1iED;IACE,mBAAA;Gf4iED;EexiED;IACE,YAAA;Gf0iED;Ee1jED;IACE,WAAA;Gf4jED;Ee7jED;IACE,mBAAA;Gf+jED;EehkED;IACE,mBAAA;GfkkED;EenkED;IACE,UAAA;GfqkED;EetkED;IACE,mBAAA;GfwkED;EezkED;IACE,mBAAA;Gf2kED;Ee5kED;IACE,UAAA;Gf8kED;Ee/kED;IACE,mBAAA;GfilED;EellED;IACE,mBAAA;GfolED;EerlED;IACE,UAAA;GfulED;EexlED;IACE,mBAAA;Gf0lED;Ee3lED;IACE,kBAAA;Gf6lED;EezlED;IACE,WAAA;Gf2lED;Ee7kED;IACE,kBAAA;Gf+kED;EehlED;IACE,0BAAA;GfklED;EenlED;IACE,0BAAA;GfqlED;EetlED;IACE,iBAAA;GfwlED;EezlED;IACE,0BAAA;Gf2lED;Ee5lED;IACE,0BAAA;Gf8lED;Ee/lED;IACE,iBAAA;GfimED;EelmED;IACE,0BAAA;GfomED;EermED;IACE,0BAAA;GfumED;EexmED;IACE,iBAAA;Gf0mED;Ee3mED;IACE,0BAAA;Gf6mED;Ee9mED;IACE,yBAAA;GfgnED;EejnED;IACE,gBAAA;GfmnED;CACF;AgBvrED;EACE,8BAAA;ChByrED;AgBvrED;EACE,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,iBAAA;ChByrED;AgBvrED;EACE,iBAAA;ChByrED;AgBnrED;EACE,YAAA;EACA,gBA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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333333;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.row {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 14px;\n  text-align: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 15px;\n  padding-left: 15px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n  height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 15px;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n.navbar-form {\n  margin-left: -15px;\n  margin-right: -15px;\n  padding: 10px 15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-left: 15px;\n    margin-right: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #fff;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #ccc;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #fff;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 6px;\n  border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 6px;\n  border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  line-height: 1;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 6px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 20px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  text-decoration: none;\n  color: #555;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 14px;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 14px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #fff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #fff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n//    without disabling user zoom.\n//\n\nhtml {\n  font-family: sans-serif; // 1\n  -ms-text-size-adjust: 100%; // 2\n  -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n  margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; // 1\n  vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n  background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n  outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n  font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n  font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n  border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n  margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n  overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n//    Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; // 1\n  font: inherit; // 2\n  margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n  overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n//    and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n//    `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n  cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n  line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; // 1\n  padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; // 1\n  box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n  border: 0; // 1\n  padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n  overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n  font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n    *,\n    *:before,\n    *:after {\n        background: transparent !important;\n        color: #000 !important; // Black prints faster: h5bp.com/s\n        box-shadow: none !important;\n        text-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\" attr(href) \")\";\n    }\n\n    abbr[title]:after {\n        content: \" (\" attr(title) \")\";\n    }\n\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    a[href^=\"#\"]:after,\n    a[href^=\"javascript:\"]:after {\n        content: \"\";\n    }\n\n    pre,\n    blockquote {\n        border: 1px solid #999;\n        page-break-inside: avoid;\n    }\n\n    thead {\n        display: table-header-group; // h5bp.com/t\n    }\n\n    tr,\n    img {\n        page-break-inside: avoid;\n    }\n\n    img {\n        max-width: 100% !important;\n    }\n\n    p,\n    h2,\n    h3 {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h2,\n    h3 {\n        page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Bootstrap components\n    .navbar {\n        display: none;\n    }\n    .btn,\n    .dropup > .btn {\n        > .caret {\n            border-top-color: #000 !important;\n        }\n    }\n    .label {\n        border: 1px solid #000;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n\n        td,\n        th {\n            background-color: #fff !important;\n        }\n    }\n    .table-bordered {\n        th,\n        td {\n            border: 1px solid #ddd !important;\n        }\n    }\n\n    // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('@{icon-font-path}@{icon-font-name}.eot');\n  src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n       url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n       url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n       url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n       url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk               { &:before { content: \"\\002a\"; } }\n.glyphicon-plus                   { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur                    { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus                  { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud                  { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope               { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil                 { &:before { content: \"\\270f\"; } }\n.glyphicon-glass                  { &:before { content: \"\\e001\"; } }\n.glyphicon-music                  { &:before { content: \"\\e002\"; } }\n.glyphicon-search                 { &:before { content: \"\\e003\"; } }\n.glyphicon-heart                  { &:before { content: \"\\e005\"; } }\n.glyphicon-star                   { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty             { &:before { content: \"\\e007\"; } }\n.glyphicon-user                   { &:before { content: \"\\e008\"; } }\n.glyphicon-film                   { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large               { &:before { content: \"\\e010\"; } }\n.glyphicon-th                     { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list                { &:before { content: \"\\e012\"; } }\n.glyphicon-ok                     { &:before { content: \"\\e013\"; } }\n.glyphicon-remove                 { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in                { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out               { &:before { content: \"\\e016\"; } }\n.glyphicon-off                    { &:before { content: \"\\e017\"; } }\n.glyphicon-signal                 { &:before { content: \"\\e018\"; } }\n.glyphicon-cog                    { &:before { content: \"\\e019\"; } }\n.glyphicon-trash                  { &:before { content: \"\\e020\"; } }\n.glyphicon-home                   { &:before { content: \"\\e021\"; } }\n.glyphicon-file                   { &:before { content: \"\\e022\"; } }\n.glyphicon-time                   { &:before { content: \"\\e023\"; } }\n.glyphicon-road                   { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt           { &:before { content: \"\\e025\"; } }\n.glyphicon-download               { &:before { content: \"\\e026\"; } }\n.glyphicon-upload                 { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox                  { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle            { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat                 { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh                { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt               { &:before { content: \"\\e032\"; } }\n.glyphicon-lock                   { &:before { content: \"\\e033\"; } }\n.glyphicon-flag                   { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones             { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off             { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down            { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up              { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode                 { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode                { &:before { content: \"\\e040\"; } }\n.glyphicon-tag                    { &:before { content: \"\\e041\"; } }\n.glyphicon-tags                   { &:before { content: \"\\e042\"; } }\n.glyphicon-book                   { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark               { &:before { content: \"\\e044\"; } }\n.glyphicon-print                  { &:before { content: \"\\e045\"; } }\n.glyphicon-camera                 { &:before { content: \"\\e046\"; } }\n.glyphicon-font                   { &:before { content: \"\\e047\"; } }\n.glyphicon-bold                   { &:before { content: \"\\e048\"; } }\n.glyphicon-italic                 { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height            { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width             { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left             { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center           { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right            { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify          { &:before { content: \"\\e055\"; } }\n.glyphicon-list                   { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left            { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right           { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video         { &:before { content: \"\\e059\"; } }\n.glyphicon-picture                { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker             { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust                 { &:before { content: \"\\e063\"; } }\n.glyphicon-tint                   { &:before { content: \"\\e064\"; } }\n.glyphicon-edit                   { &:before { content: \"\\e065\"; } }\n.glyphicon-share                  { &:before { content: \"\\e066\"; } }\n.glyphicon-check                  { &:before { content: \"\\e067\"; } }\n.glyphicon-move                   { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward          { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward          { &:before { content: \"\\e070\"; } }\n.glyphicon-backward               { &:before { content: \"\\e071\"; } }\n.glyphicon-play                   { &:before { content: \"\\e072\"; } }\n.glyphicon-pause                  { &:before { content: \"\\e073\"; } }\n.glyphicon-stop                   { &:before { content: \"\\e074\"; } }\n.glyphicon-forward                { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward           { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward           { &:before { content: \"\\e077\"; } }\n.glyphicon-eject                  { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left           { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right          { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign              { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign             { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign            { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign                { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign          { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign              { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot             { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle          { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle              { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle             { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left             { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right            { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up               { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down             { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt              { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full            { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small           { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign       { &:before { content: \"\\e101\"; } }\n.glyphicon-gift                   { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf                   { &:before { content: \"\\e103\"; } }\n.glyphicon-fire                   { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open               { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close              { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign           { &:before { content: \"\\e107\"; } }\n.glyphicon-plane                  { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar               { &:before { content: \"\\e109\"; } }\n.glyphicon-random                 { &:before { content: \"\\e110\"; } }\n.glyphicon-comment                { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet                 { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up             { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down           { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet                { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart          { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close           { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open            { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical        { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal      { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd                    { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn               { &:before { content: \"\\e122\"; } }\n.glyphicon-bell                   { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate            { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up              { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down            { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right             { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left              { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up                { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down              { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right     { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left      { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up        { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down      { &:before { content: \"\\e134\"; } }\n.glyphicon-globe                  { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench                 { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks                  { &:before { content: \"\\e137\"; } }\n.glyphicon-filter                 { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase              { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen             { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard              { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip              { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty            { &:before { content: \"\\e143\"; } }\n.glyphicon-link                   { &:before { content: \"\\e144\"; } }\n.glyphicon-phone                  { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin                { &:before { content: \"\\e146\"; } }\n.glyphicon-usd                    { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp                    { &:before { content: \"\\e149\"; } }\n.glyphicon-sort                   { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet       { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt   { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order          { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt      { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes     { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked              { &:before { content: \"\\e157\"; } }\n.glyphicon-expand                 { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down          { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up            { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in                 { &:before { content: \"\\e161\"; } }\n.glyphicon-flash                  { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out                { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window             { &:before { content: \"\\e164\"; } }\n.glyphicon-record                 { &:before { content: \"\\e165\"; } }\n.glyphicon-save                   { &:before { content: \"\\e166\"; } }\n.glyphicon-open                   { &:before { content: \"\\e167\"; } }\n.glyphicon-saved                  { &:before { content: \"\\e168\"; } }\n.glyphicon-import                 { &:before { content: \"\\e169\"; } }\n.glyphicon-export                 { &:before { content: \"\\e170\"; } }\n.glyphicon-send                   { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk            { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved           { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove          { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save            { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open            { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card            { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer               { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery                { &:before { content: \"\\e179\"; } }\n.glyphicon-header                 { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed             { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone               { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt              { &:before { content: \"\\e183\"; } }\n.glyphicon-tower                  { &:before { content: \"\\e184\"; } }\n.glyphicon-stats                  { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video               { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video               { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles              { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo           { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby            { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1              { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1              { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1              { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark         { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark      { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download         { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload           { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer           { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous         { &:before { content: \"\\e200\"; } }\n.glyphicon-cd                     { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file              { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file              { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up               { &:before { content: \"\\e204\"; } }\n.glyphicon-copy                   { &:before { content: \"\\e205\"; } }\n.glyphicon-paste                  { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door                   { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key                    { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert                  { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer              { &:before { content: \"\\e210\"; } }\n.glyphicon-king                   { &:before { content: \"\\e211\"; } }\n.glyphicon-queen                  { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn                   { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop                 { &:before { content: \"\\e214\"; } }\n.glyphicon-knight                 { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula           { &:before { content: \"\\e216\"; } }\n.glyphicon-tent                   { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard             { &:before { content: \"\\e218\"; } }\n.glyphicon-bed                    { &:before { content: \"\\e219\"; } }\n.glyphicon-apple                  { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase                  { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass              { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp                   { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate              { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank             { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors               { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin                { &:before { content: \"\\e227\"; } }\n.glyphicon-btc                    { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt                    { &:before { content: \"\\e227\"; } }\n.glyphicon-yen                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble                  { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub                    { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale                  { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly              { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted       { &:before { content: \"\\e232\"; } }\n.glyphicon-education              { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal      { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical        { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger         { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window           { &:before { content: \"\\e237\"; } }\n.glyphicon-oil                    { &:before { content: \"\\e238\"; } }\n.glyphicon-grain                  { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses             { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size              { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color             { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background        { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top       { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom    { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left      { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical  { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right     { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right         { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left          { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom        { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top           { &:before { content: \"\\e253\"; } }\n.glyphicon-console                { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript            { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript              { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left              { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right             { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down              { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up                { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n  .box-sizing(border-box);\n}\n*:before,\n*:after {\n  .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @text-color;\n  background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n\n// Links\n\na {\n  color: @link-color;\n  text-decoration: none;\n\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n  }\n\n  &:focus {\n    .tab-focus();\n  }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n  margin: 0;\n}\n\n\n// Images\n\nimg {\n  vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n  .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n  border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n  padding: @thumbnail-padding;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  // Keep them at most 100% wide\n  .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n  border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n  margin-top:    @line-height-computed;\n  margin-bottom: @line-height-computed;\n  border: 0;\n  border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n  cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n  // WebKit-specific. Other browsers will keep their default outline style.\n  // (Initially tried to also force default via `outline: initial`,\n  // but that seems to erroneously remove the outline in Firefox altogether.)\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n  display: @display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n  background-image: url(\"@{file-1x}\");\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and (   min--moz-device-pixel-ratio: 2),\n  only screen and (     -o-min-device-pixel-ratio: 2/1),\n  only screen and (        min-device-pixel-ratio: 2),\n  only screen and (                min-resolution: 192dpi),\n  only screen and (                min-resolution: 2dppx) {\n    background-image: url(\"@{file-2x}\");\n    background-size: @width-1x @height-1x;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: normal;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n  background-color: @state-warning-bg;\n  padding: .2em;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-left: 5px;\n    padding-right: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: @dl-horizontal-breakpoint) {\n    dt {\n      float: left;\n      width: (@dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n  font-size: 90%;\n  .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: '\\2014 \\00A0'; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n  text-align: right;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: ''; }\n    &:after {\n      content: '\\00A0 \\2014'; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n  color: @color;\n  a&:hover,\n  a&:focus {\n    color: darken(@color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover,\n  a&:focus {\n    background-color: darken(@color, 10%);\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: bold;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: @pre-color;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left:  floor((@gutter / 2));\n  padding-right: ceil((@gutter / 2));\n  &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n  margin-left:  ceil((@gutter / -2));\n  margin-right: floor((@gutter / -2));\n  &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage((@columns / @grid-columns));\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n  margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n  left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n  right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-sm-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-offset(@columns) {\n  @media (min-width: @screen-sm-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-push(@columns) {\n  @media (min-width: @screen-sm-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-pull(@columns) {\n  @media (min-width: @screen-sm-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-md-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-offset(@columns) {\n  @media (min-width: @screen-md-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-push(@columns) {\n  @media (min-width: @screen-md-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-pull(@columns) {\n  @media (min-width: @screen-md-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-lg-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-offset(@columns) {\n  @media (min-width: @screen-lg-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-push(@columns) {\n  @media (min-width: @screen-lg-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-pull(@columns) {\n  @media (min-width: @screen-lg-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n  // Common styles for all sizes of grid columns, widths 1-12\n  .col(@index) { // initial\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      position: relative;\n      // Prevent columns from collapsing when empty\n      min-height: 1px;\n      // Inner gutter via padding\n      padding-left:  ceil((@grid-gutter-width / 2));\n      padding-right: floor((@grid-gutter-width / 2));\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n  .col(@index) { // initial\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      float: left;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n  .col-@{class}-@{index} {\n    width: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n  .col-@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n  .col-@{class}-push-0 {\n    left: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n  .col-@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n  .col-@{class}-pull-0 {\n    right: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n  .col-@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n  .calc-grid-column(@index, @class, @type);\n  // next iteration\n  .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class, width);\n  .loop-grid-columns(@grid-columns, @class, pull);\n  .loop-grid-columns(@grid-columns, @class, push);\n  .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: @table-bg;\n}\ncaption {\n  padding-top: @table-cell-padding;\n  padding-bottom: @table-cell-padding;\n  color: @text-muted;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: @table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: @table-bg-hover;\n  }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n  float: none;\n  display: table-column;\n}\ntable {\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      float: none;\n      display: table-cell;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n  @media screen and (max-width: @screen-xs-max) {\n    width: 100%;\n    margin-bottom: (@line-height-computed * 0.75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.@{state},\n    > th.@{state},\n    &.@{state} > td,\n    &.@{state} > th {\n      background-color: @background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.@{state}:hover,\n    > th.@{state}:hover,\n    &.@{state}:hover > td,\n    &:hover > .@{state},\n    &.@{state}:hover > th {\n      background-color: darken(@background, 5%);\n    }\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n  .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n}\n\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    border: 0;\n    background-color: transparent;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n  }\n\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    &.form-control {\n      line-height: @input-height-base;\n    }\n\n    &.input-sm,\n    .input-group-sm & {\n      line-height: @input-height-small;\n    }\n\n    &.input-lg,\n    .input-group-lg & {\n      line-height: @input-height-large;\n    }\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n\n  label {\n    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n    padding-left: 20px;\n    margin-bottom: 0;\n    font-weight: normal;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  &[disabled],\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n  &.disabled,\n  fieldset[disabled] & {\n    label {\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  // Size it appropriately next to real form controls\n  padding-top: (@padding-base-vertical + 1);\n  padding-bottom: (@padding-base-vertical + 1);\n  // Remove default margin from `p`\n  margin-bottom: 0;\n  min-height: (@line-height-computed + @font-size-base);\n\n  &.input-lg,\n  &.input-sm {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n  .form-control {\n    height: @input-height-small;\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n    border-radius: @input-border-radius-small;\n  }\n  select.form-control {\n    height: @input-height-small;\n    line-height: @input-height-small;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-small;\n    min-height: (@line-height-computed + @font-size-small);\n    padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n  }\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n  .form-control {\n    height: @input-height-large;\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n    border-radius: @input-border-radius-large;\n  }\n  select.form-control {\n    height: @input-height-large;\n    line-height: @input-height-large;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-large;\n    min-height: (@line-height-computed + @font-size-large);\n    padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n  }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2; // Ensure icon is above input groups\n  display: block;\n  width: @input-height-base;\n  height: @input-height-base;\n  line-height: @input-height-base;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: @input-height-large;\n  height: @input-height-large;\n  line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: @input-height-small;\n  height: @input-height-small;\n  line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n  & ~ .form-control-feedback {\n    top: (@line-height-computed + 5); // Height of the `label` and its margin\n  }\n  &.sr-only ~ .form-control-feedback {\n    top: 0;\n  }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-static {\n      display: inline-block;\n    }\n\n    .input-group {\n      display: inline-table;\n      vertical-align: middle;\n\n      .input-group-addon,\n      .input-group-btn,\n      .form-control {\n        width: auto;\n      }\n    }\n\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      vertical-align: middle;\n\n      label {\n        padding-left: 0;\n      }\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      position: relative;\n      margin-left: 0;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of radios and checkboxes\n  //\n  // Labels also get some reset styles, but that is scoped to a media query below.\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  // Reset spacing and right align labels, but scope to media queries so that\n  // labels on narrow viewports stack the same as a default form example.\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      text-align: right;\n      margin-bottom: 0;\n      padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    right: floor((@grid-gutter-width / 2));\n  }\n\n  // Form group sizes\n  //\n  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n  // inputs and labels within a `.form-group`.\n  .form-group-lg {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-large-vertical + 1);\n        font-size: @font-size-large;\n      }\n    }\n  }\n  .form-group-sm {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-small-vertical + 1);\n        font-size: @font-size-small;\n      }\n    }\n  }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n  // Color the label and help text\n  .help-block,\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline,\n  &.radio label,\n  &.checkbox label,\n  &.radio-inline label,\n  &.checkbox-inline label  {\n    color: @text-color;\n  }\n  // Set the border and box shadow on specific inputs to match\n  .form-control {\n    border-color: @border-color;\n    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n    &:focus {\n      border-color: darken(@border-color, 10%);\n      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n      .box-shadow(@shadow);\n    }\n  }\n  // Set validation states also for addons\n  .input-group-addon {\n    color: @text-color;\n    border-color: @border-color;\n    background-color: @background-color;\n  }\n  // Optional feedback icon\n  .form-control-feedback {\n    color: @text-color;\n  }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n  &:focus {\n    border-color: @color;\n    outline: 0;\n    .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n  }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  height: @input-height;\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n\n  select& {\n    height: @input-height;\n    line-height: @input-height;\n  }\n\n  textarea&,\n  select[multiple]& {\n    height: auto;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  white-space: nowrap;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    outline: 0;\n    background-image: none;\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n    .opacity(.65);\n    .box-shadow(none);\n  }\n\n  a& {\n    &.disabled,\n    fieldset[disabled] & {\n      pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n    }\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  color: @link-color;\n  font-weight: normal;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n  color: @color;\n  background-color: @background;\n  border-color: @border;\n\n  &:focus,\n  &.focus {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 25%);\n  }\n  &:hover {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n\n    &:hover,\n    &:focus,\n    &.focus {\n      color: @color;\n      background-color: darken(@background, 17%);\n          border-color: darken(@border, 25%);\n    }\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    background-image: none;\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus,\n    &.focus {\n      background-color: @background;\n          border-color: @border;\n    }\n  }\n\n  .badge {\n    color: @background;\n    background-color: @color;\n  }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n  opacity: @opacity;\n  // IE8 filter\n  @opacity-ie: (@opacity * 100);\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  tr&.in    { display: table-row; }\n  tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition-property(~\"height, visibility\");\n  .transition-duration(.35s);\n  .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top:   @caret-width-base dashed;\n  border-top:   @caret-width-base solid ~\"\\9\"; // IE8\n  border-right: @caret-width-base solid transparent;\n  border-left:  @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  list-style: none;\n  font-size: @font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  background-color: @dropdown-bg;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0,0,0,.175));\n  background-clip: padding-box;\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: normal;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n  }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @dropdown-link-hover-color;\n    background-color: @dropdown-link-hover-bg;\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    outline: 0;\n    background-color: @dropdown-link-active-bg;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n    cursor: @cursor-disabled;\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  left: auto; // Reset the default from `.dropdown-menu`\n  right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    border-top: 0;\n    border-bottom: @caret-width-base dashed;\n    border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n    content: \"\";\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n  height: 1px;\n  margin: ((@line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn,\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    .border-top-radius(@btn-border-radius-base);\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    .border-top-radius(0);\n    .border-bottom-radius(@btn-border-radius-base);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    float: none;\n    display: table-cell;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-right-radius: @radius;\n   border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-bottom-right-radius: @radius;\n     border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n   border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-bottom-left-radius: @radius;\n     border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n\n    &:focus {\n      z-index: 3;\n    }\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: normal;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @input-border-radius;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @input-border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @input-border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      margin-left: -1px;\n    }\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  margin-bottom: 0;\n  padding-left: 0; // Override default ul/ol\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        background-color: transparent;\n        cursor: @cursor-disabled;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n        cursor: default;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      text-align: center;\n      margin-bottom: 5px;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: @navbar-padding-horizontal;\n  padding-left:  @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-left: 0;\n      padding-right: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: @navbar-collapse-max-height;\n\n    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left:  -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left:  0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n  height: @navbar-height;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: @navbar-padding-horizontal;\n  padding: 9px 10px;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top:    10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top:    @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  margin-left: -@navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  padding: 10px @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    .box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  .border-top-radius(@navbar-border-radius);\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-left: @navbar-padding-horizontal;\n    margin-right: @navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right {\n    .pull-right();\n    margin-right: -@navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n  // Dropdown menu items\n  .navbar-nav {\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-default-link-active-bg;\n        color: @navbar-default-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  // Dropdowns\n  .navbar-nav {\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-inverse-link-active-bg;\n        color: @navbar-inverse-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n  margin-top: ((@navbar-height - @element-height) / 2);\n  margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n      padding: 0 5px;\n      color: @breadcrumb-color;\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      line-height: @line-height-base;\n      text-decoration: none;\n      color: @pagination-color;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n      margin-left: -1px;\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > li > a,\n  > li > span {\n    &:hover,\n    &:focus {\n      z-index: 2;\n      color: @pagination-hover-color;\n      background-color: @pagination-hover-bg;\n      border-color: @pagination-hover-border;\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 3;\n      color: @pagination-active-color;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n      cursor: default;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: @padding-vertical @padding-horizontal;\n      font-size: @font-size;\n      line-height: @line-height;\n    }\n    &:first-child {\n      > a,\n      > span {\n        .border-left-radius(@border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius);\n      }\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  list-style: none;\n  text-align: center;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      background-color: @pager-bg;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken(@color, 10%);\n    }\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  color: @badge-color;\n  line-height: @badge-line-height;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // Hover state, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @badge-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: @badge-active-color;\n    background-color: @badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding-top:    @jumbotron-padding;\n  padding-bottom: @jumbotron-padding;\n  margin-bottom: @jumbotron-padding;\n  color: @jumbotron-color;\n  background-color: @jumbotron-bg;\n\n  h1,\n  .h1 {\n    color: @jumbotron-heading-color;\n  }\n\n  p {\n    margin-bottom: (@jumbotron-padding / 2);\n    font-size: @jumbotron-font-size;\n    font-weight: 200;\n  }\n\n  > hr {\n    border-top-color: darken(@jumbotron-bg, 10%);\n  }\n\n  .container &,\n  .container-fluid & {\n    border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n    padding-left:  (@grid-gutter-width / 2);\n    padding-right: (@grid-gutter-width / 2);\n  }\n\n  .container {\n    max-width: 100%;\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top:    (@jumbotron-padding * 1.6);\n    padding-bottom: (@jumbotron-padding * 1.6);\n\n    .container &,\n    .container-fluid & {\n      padding-left:  (@jumbotron-padding * 2);\n      padding-right: (@jumbotron-padding * 2);\n    }\n\n    h1,\n    .h1 {\n      font-size: @jumbotron-heading-font-size;\n    }\n  }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n  display: block;\n  padding: @thumbnail-padding;\n  margin-bottom: @line-height-computed;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(border .2s ease-in-out);\n\n  > img,\n  a > img {\n    &:extend(.img-responsive);\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  // Add a hover state for linked versions only\n  a&:hover,\n  a&:focus,\n  a&.active {\n    border-color: @link-color;\n  }\n\n  // Image captions\n  .caption {\n    padding: @thumbnail-caption-padding;\n    color: @thumbnail-caption-color;\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    // Specified for the h4 to prevent conflicts of changing @headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n  padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  background-color: @background;\n  border-color: @border;\n  color: @text-color;\n\n  hr {\n    border-top-color: darken(@border, 5%);\n  }\n  .alert-link {\n    color: darken(@text-color, 10%);\n  }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  overflow: hidden;\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  background-color: @progress-bg;\n  border-radius: @progress-border-radius;\n  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement as of v3.2.0\n  .progress-striped & {\n    #gradient > .striped();\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n\n  // Fix collapse in webkit from max-width: 100% and display: table-cell.\n  &.img-thumbnail {\n    max-width: none;\n  }\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // No need to set list-style: none; since .list-group-item is block level\n  margin-bottom: 20px;\n  padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -1px;\n  background-color: @list-group-bg;\n  border: 1px solid @list-group-border;\n\n  // Round the first and last items\n  &:first-child {\n    .border-top-radius(@list-group-border-radius);\n  }\n  &:last-child {\n    margin-bottom: 0;\n    .border-bottom-radius(@list-group-border-radius);\n  }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n  color: @list-group-link-color;\n\n  .list-group-item-heading {\n    color: @list-group-link-heading-color;\n  }\n\n  // Hover state\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @list-group-link-hover-color;\n    background-color: @list-group-hover-bg;\n  }\n}\n\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n\n.list-group-item {\n  // Disabled state\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:focus {\n    background-color: @list-group-disabled-bg;\n    color: @list-group-disabled-color;\n    cursor: @cursor-disabled;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-disabled-text-color;\n    }\n  }\n\n  // Active class on item itself, not parent\n  &.active,\n  &.active:hover,\n  &.active:focus {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: @list-group-active-color;\n    background-color: @list-group-active-bg;\n    border-color: @list-group-active-border;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading,\n    .list-group-item-heading > small,\n    .list-group-item-heading > .small {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-active-text-color;\n    }\n  }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;\n    background-color: @background;\n\n    a&,\n    button& {\n      color: @color;\n\n      .list-group-item-heading {\n        color: inherit;\n      }\n\n      &:hover,\n      &:focus {\n        color: @color;\n        background-color: darken(@background, 5%);\n      }\n      &.active,\n      &.active:hover,\n      &.active:focus {\n        color: #fff;\n        background-color: @color;\n        border-color: @color;\n      }\n    }\n  }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: @line-height-computed;\n  background-color: @panel-bg;\n  border: 1px solid transparent;\n  border-radius: @panel-border-radius;\n  .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n  padding: @panel-body-padding;\n  &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n  padding: @panel-heading-padding;\n  border-bottom: 1px solid transparent;\n  .border-top-radius((@panel-border-radius - 1));\n\n  > .dropdown .dropdown-toggle {\n    color: inherit;\n  }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: ceil((@font-size-base * 1.125));\n  color: inherit;\n\n  > a,\n  > small,\n  > .small,\n  > small > a,\n  > .small > a {\n    color: inherit;\n  }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n  padding: @panel-footer-padding;\n  background-color: @panel-footer-bg;\n  border-top: 1px solid @panel-inner-border;\n  .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n  > .list-group,\n  > .panel-collapse > .list-group {\n    margin-bottom: 0;\n\n    .list-group-item {\n      border-width: 1px 0;\n      border-radius: 0;\n    }\n\n    // Add border top radius for first one\n    &:first-child {\n      .list-group-item:first-child {\n        border-top: 0;\n        .border-top-radius((@panel-border-radius - 1));\n      }\n    }\n\n    // Add border bottom radius for last one\n    &:last-child {\n      .list-group-item:last-child {\n        border-bottom: 0;\n        .border-bottom-radius((@panel-border-radius - 1));\n      }\n    }\n  }\n  > .panel-heading + .panel-collapse > .list-group {\n    .list-group-item:first-child {\n      .border-top-radius(0);\n    }\n  }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n  .list-group-item:first-child {\n    border-top-width: 0;\n  }\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n  > .table,\n  > .table-responsive > .table,\n  > .panel-collapse > .table {\n    margin-bottom: 0;\n\n    caption {\n      padding-left: @panel-body-padding;\n      padding-right: @panel-body-padding;\n    }\n  }\n  // Add border top radius for first one\n  > .table:first-child,\n  > .table-responsive:first-child > .table:first-child {\n    .border-top-radius((@panel-border-radius - 1));\n\n    > thead:first-child,\n    > tbody:first-child {\n      > tr:first-child {\n        border-top-left-radius: (@panel-border-radius - 1);\n        border-top-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-top-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-top-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  // Add border bottom radius for last one\n  > .table:last-child,\n  > .table-responsive:last-child > .table:last-child {\n    .border-bottom-radius((@panel-border-radius - 1));\n\n    > tbody:last-child,\n    > tfoot:last-child {\n      > tr:last-child {\n        border-bottom-left-radius: (@panel-border-radius - 1);\n        border-bottom-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-bottom-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-bottom-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  > .panel-body + .table,\n  > .panel-body + .table-responsive,\n  > .table + .panel-body,\n  > .table-responsive + .panel-body {\n    border-top: 1px solid @table-border-color;\n  }\n  > .table > tbody:first-child > tr:first-child th,\n  > .table > tbody:first-child > tr:first-child td {\n    border-top: 0;\n  }\n  > .table-bordered,\n  > .table-responsive > .table-bordered {\n    border: 0;\n    > thead,\n    > tbody,\n    > tfoot {\n      > tr {\n        > th:first-child,\n        > td:first-child {\n          border-left: 0;\n        }\n        > th:last-child,\n        > td:last-child {\n          border-right: 0;\n        }\n      }\n    }\n    > thead,\n    > tbody {\n      > tr:first-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n    > tbody,\n    > tfoot {\n      > tr:last-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n  }\n  > .table-responsive {\n    border: 0;\n    margin-bottom: 0;\n  }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n  margin-bottom: @line-height-computed;\n\n  // Tighten up margin so it's only between panels\n  .panel {\n    margin-bottom: 0;\n    border-radius: @panel-border-radius;\n\n    + .panel {\n      margin-top: 5px;\n    }\n  }\n\n  .panel-heading {\n    border-bottom: 0;\n\n    + .panel-collapse > .panel-body,\n    + .panel-collapse > .list-group {\n      border-top: 1px solid @panel-inner-border;\n    }\n  }\n\n  .panel-footer {\n    border-top: 0;\n    + .panel-collapse .panel-body {\n      border-bottom: 1px solid @panel-inner-border;\n    }\n  }\n}\n\n\n// Contextual variations\n.panel-default {\n  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n  & > .panel-heading {\n    color: @heading-text-color;\n    background-color: @heading-bg-color;\n    border-color: @heading-border;\n\n    + .panel-collapse > .panel-body {\n      border-top-color: @border;\n    }\n    .badge {\n      color: @heading-bg-color;\n      background-color: @heading-text-color;\n    }\n  }\n  & > .panel-footer {\n    + .panel-collapse > .panel-body {\n      border-bottom-color: @border;\n    }\n  }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    height: 100%;\n    width: 100%;\n    border: 0;\n  }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: @well-bg;\n  border: 1px solid @well-border;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n  blockquote {\n    border-color: #ddd;\n    border-color: rgba(0,0,0,.15);\n  }\n}\n\n// Sizes\n.well-lg {\n  padding: 24px;\n  border-radius: @border-radius-large;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: (@font-size-base * 1.5);\n  font-weight: @close-font-weight;\n  line-height: 1;\n  color: @close-color;\n  text-shadow: @close-text-shadow;\n  .opacity(.2);\n\n  &:hover,\n  &:focus {\n    color: @close-color;\n    text-decoration: none;\n    cursor: pointer;\n    .opacity(.5);\n  }\n\n  // Additional properties for button version\n  // iOS requires the button element instead of an anchor tag.\n  // If you want the anchor version, it requires `href=\"#\"`.\n  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n  button& {\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    -webkit-appearance: none;\n  }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal;\n  -webkit-overflow-scrolling: touch;\n\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    .translate(0, -25%);\n    .transition-transform(~\"0.3s ease-out\");\n  }\n  &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  background-color: @modal-content-bg;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0,0,0,.5));\n  background-clip: padding-box;\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal-background;\n  background-color: @modal-backdrop-bg;\n  // Fade for backdrop\n  &.fade { .opacity(0); }\n  &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  padding: @modal-title-padding;\n  border-bottom: 1px solid @modal-header-border-color;\n  &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n  margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n  margin: 0;\n  line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  padding: @modal-inner-padding;\n  text-align: right; // right align buttons\n  border-top: 1px solid @modal-footer-border-color;\n  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n  // Properly space out buttons\n  .btn + .btn {\n    margin-left: 5px;\n    margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n  }\n  // but override that for button groups\n  .btn-group .btn + .btn {\n    margin-left: -1px;\n  }\n  // and override it for block buttons as well\n  .btn-block + .btn-block {\n    margin-left: 0;\n  }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    width: @modal-md;\n    margin: 30px auto;\n  }\n  .modal-content {\n    .box-shadow(0 5px 15px rgba(0,0,0,.5));\n  }\n\n  // Modal sizes\n  .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n  .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n  position: absolute;\n  z-index: @zindex-tooltip;\n  display: block;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  .reset-text();\n  font-size: @font-size-small;\n\n  .opacity(0);\n\n  &.in     { .opacity(@tooltip-opacity); }\n  &.top    { margin-top:  -3px; padding: @tooltip-arrow-width 0; }\n  &.right  { margin-left:  3px; padding: 0 @tooltip-arrow-width; }\n  &.bottom { margin-top:   3px; padding: @tooltip-arrow-width 0; }\n  &.left   { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: @tooltip-max-width;\n  padding: 3px 8px;\n  color: @tooltip-color;\n  text-align: center;\n  background-color: @tooltip-bg;\n  border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n  &.top .tooltip-arrow {\n    bottom: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-left .tooltip-arrow {\n    bottom: 0;\n    right: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-right .tooltip-arrow {\n    bottom: 0;\n    left: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.right .tooltip-arrow {\n    top: 50%;\n    left: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-right-color: @tooltip-arrow-color;\n  }\n  &.left .tooltip-arrow {\n    top: 50%;\n    right: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-left-color: @tooltip-arrow-color;\n  }\n  &.bottom .tooltip-arrow {\n    top: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-left .tooltip-arrow {\n    top: 0;\n    right: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-right .tooltip-arrow {\n    top: 0;\n    left: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n}\n",".reset-text() {\n  font-family: @font-family-base;\n  // We deliberately do NOT reset font-size.\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: @line-height-base;\n  text-align: left; // Fallback for where `start` is not supported\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: @zindex-popover;\n  display: none;\n  max-width: @popover-max-width;\n  padding: 1px;\n  // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  .reset-text();\n  font-size: @font-size-base;\n\n  background-color: @popover-bg;\n  background-clip: padding-box;\n  border: 1px solid @popover-fallback-border-color;\n  border: 1px solid @popover-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n  // Offset the popover to account for the popover arrow\n  &.top     { margin-top: -@popover-arrow-width; }\n  &.right   { margin-left: @popover-arrow-width; }\n  &.bottom  { margin-top: @popover-arrow-width; }\n  &.left    { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n  margin: 0; // reset heading margin\n  padding: 8px 14px;\n  font-size: @font-size-base;\n  background-color: @popover-title-bg;\n  border-bottom: 1px solid darken(@popover-title-bg, 5%);\n  border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n  padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n  &,\n  &:after {\n    position: absolute;\n    display: block;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n  }\n}\n.popover > .arrow {\n  border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n  border-width: @popover-arrow-width;\n  content: \"\";\n}\n\n.popover {\n  &.top > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-bottom-width: 0;\n    border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-top-color: @popover-arrow-outer-color;\n    bottom: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      bottom: 1px;\n      margin-left: -@popover-arrow-width;\n      border-bottom-width: 0;\n      border-top-color: @popover-arrow-color;\n    }\n  }\n  &.right > .arrow {\n    top: 50%;\n    left: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-left-width: 0;\n    border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-right-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      left: 1px;\n      bottom: -@popover-arrow-width;\n      border-left-width: 0;\n      border-right-color: @popover-arrow-color;\n    }\n  }\n  &.bottom > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-top-width: 0;\n    border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-bottom-color: @popover-arrow-outer-color;\n    top: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      top: 1px;\n      margin-left: -@popover-arrow-width;\n      border-top-width: 0;\n      border-bottom-color: @popover-arrow-color;\n    }\n  }\n\n  &.left > .arrow {\n    top: 50%;\n    right: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-right-width: 0;\n    border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-left-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      right: 1px;\n      border-right-width: 0;\n      border-left-color: @popover-arrow-color;\n      bottom: -@popover-arrow-width;\n    }\n  }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n\n  > .item {\n    display: none;\n    position: relative;\n    .transition(.6s ease-in-out left);\n\n    // Account for jankitude on images\n    > img,\n    > a > img {\n      &:extend(.img-responsive);\n      line-height: 1;\n    }\n\n    // WebKit CSS3 transforms for supported devices\n    @media all and (transform-3d), (-webkit-transform-3d) {\n      .transition-transform(~'0.6s ease-in-out');\n      .backface-visibility(~'hidden');\n      .perspective(1000px);\n\n      &.next,\n      &.active.right {\n        .translate3d(100%, 0, 0);\n        left: 0;\n      }\n      &.prev,\n      &.active.left {\n        .translate3d(-100%, 0, 0);\n        left: 0;\n      }\n      &.next.left,\n      &.prev.right,\n      &.active {\n        .translate3d(0, 0, 0);\n        left: 0;\n      }\n    }\n  }\n\n  > .active,\n  > .next,\n  > .prev {\n    display: block;\n  }\n\n  > .active {\n    left: 0;\n  }\n\n  > .next,\n  > .prev {\n    position: absolute;\n    top: 0;\n    width: 100%;\n  }\n\n  > .next {\n    left: 100%;\n  }\n  > .prev {\n    left: -100%;\n  }\n  > .next.left,\n  > .prev.right {\n    left: 0;\n  }\n\n  > .active.left {\n    left: -100%;\n  }\n  > .active.right {\n    left: 100%;\n  }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: @carousel-control-width;\n  .opacity(@carousel-control-opacity);\n  font-size: @carousel-control-font-size;\n  color: @carousel-control-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n  // We can't have this transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Set gradients for backgrounds\n  &.left {\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n  }\n  &.right {\n    left: auto;\n    right: 0;\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n  }\n\n  // Hover/focus state\n  &:hover,\n  &:focus {\n    outline: 0;\n    color: @carousel-control-color;\n    text-decoration: none;\n    .opacity(.9);\n  }\n\n  // Toggles\n  .icon-prev,\n  .icon-next,\n  .glyphicon-chevron-left,\n  .glyphicon-chevron-right {\n    position: absolute;\n    top: 50%;\n    margin-top: -10px;\n    z-index: 5;\n    display: inline-block;\n  }\n  .icon-prev,\n  .glyphicon-chevron-left {\n    left: 50%;\n    margin-left: -10px;\n  }\n  .icon-next,\n  .glyphicon-chevron-right {\n    right: 50%;\n    margin-right: -10px;\n  }\n  .icon-prev,\n  .icon-next {\n    width:  20px;\n    height: 20px;\n    line-height: 1;\n    font-family: serif;\n  }\n\n\n  .icon-prev {\n    &:before {\n      content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n    }\n  }\n  .icon-next {\n    &:before {\n      content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n    }\n  }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n\n  li {\n    display: inline-block;\n    width:  10px;\n    height: 10px;\n    margin: 1px;\n    text-indent: -999px;\n    border: 1px solid @carousel-indicator-border-color;\n    border-radius: 10px;\n    cursor: pointer;\n\n    // IE8-9 hack for event handling\n    //\n    // Internet Explorer 8-9 does not support clicks on elements without a set\n    // `background-color`. We cannot use `filter` since that's not viewed as a\n    // background color by the browser. Thus, a hack is needed.\n    // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n    //\n    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n    // set alpha transparency for the best results possible.\n    background-color: #000 \\9; // IE8\n    background-color: rgba(0,0,0,0); // IE9\n  }\n  .active {\n    margin: 0;\n    width:  12px;\n    height: 12px;\n    background-color: @carousel-indicator-active-bg;\n  }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: @carousel-caption-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  & .btn {\n    text-shadow: none; // No shadow for button elements in carousel-caption\n  }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n  // Scale up the controls a smidge\n  .carousel-control {\n    .glyphicon-chevron-left,\n    .glyphicon-chevron-right,\n    .icon-prev,\n    .icon-next {\n      width: (@carousel-control-font-size * 1.5);\n      height: (@carousel-control-font-size * 1.5);\n      margin-top: (@carousel-control-font-size / -2);\n      font-size: (@carousel-control-font-size * 1.5);\n    }\n    .glyphicon-chevron-left,\n    .icon-prev {\n      margin-left: (@carousel-control-font-size / -2);\n    }\n    .glyphicon-chevron-right,\n    .icon-next {\n      margin-right: (@carousel-control-font-size / -2);\n    }\n  }\n\n  // Show and left align the captions\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n\n  // Move up the indicators\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    content: \" \"; // 1\n    display: table; // 2\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n  font: ~\"0/0\" a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n  .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n  width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n\n.visible-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-visibility();\n  }\n}\n.visible-xs-block {\n  @media (max-width: @screen-xs-max) {\n    display: block !important;\n  }\n}\n.visible-xs-inline {\n  @media (max-width: @screen-xs-max) {\n    display: inline !important;\n  }\n}\n.visible-xs-inline-block {\n  @media (max-width: @screen-xs-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-visibility();\n  }\n}\n.visible-sm-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: block !important;\n  }\n}\n.visible-sm-inline {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline !important;\n  }\n}\n.visible-sm-inline-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-visibility();\n  }\n}\n.visible-md-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: block !important;\n  }\n}\n.visible-md-inline {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline !important;\n  }\n}\n.visible-md-inline-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-visibility();\n  }\n}\n.visible-lg-block {\n  @media (min-width: @screen-lg-min) {\n    display: block !important;\n  }\n}\n.visible-lg-inline {\n  @media (min-width: @screen-lg-min) {\n    display: inline !important;\n  }\n}\n.visible-lg-inline-block {\n  @media (min-width: @screen-lg-min) {\n    display: inline-block !important;\n  }\n}\n\n.hidden-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-invisibility();\n  }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n  .responsive-invisibility();\n\n  @media print {\n    .responsive-visibility();\n  }\n}\n.visible-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.hidden-print {\n  @media print {\n    .responsive-invisibility();\n  }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n  display: block !important;\n  table&  { display: table !important; }\n  tr&     { display: table-row !important; }\n  th&,\n  td&     { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n  display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/css/bootstrap.min.css b/server/target/classes/static/bootstrap/css/bootstrap.min.css
deleted file mode 100644
index ed3905e..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/css/bootstrap.min.css.map b/server/target/classes/static/bootstrap/css/bootstrap.min.css.map
deleted file mode 100644
index 6c7fa40..0000000
--- a/server/target/classes/static/bootstrap/css/bootstrap.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["less/normalize.less","less/print.less","bootstrap.css","dist/css/bootstrap.css","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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kDG,edokDH,MAAA,acpkDG,edukDH,MAAA,IcvkDG,ed0kDH,MAAA,ac1kDG,ed6kDH,MAAA,ac7kDG,edglDH,MAAA,IchlDG,edmlDH,MAAA,ac9kDG,edilDH,MAAA,YchmDG,edmmDH,MAAA,KcnmDG,gBdsmDH,KAAA,KctmDG,gBdymDH,KAAA,aczmDG,gBd4mDH,KAAA,ac5mDG,ed+mDH,KAAA,Ic/mDG,edknDH,KAAA,aclnDG,edqnDH,KAAA,acrnDG,edwnDH,KAAA,IcxnDG,ed2nDH,KAAA,ac3nDG,ed8nDH,KAAA,ac9nDG,edioDH,KAAA,IcjoDG,edooDH,KAAA,ac/nDG,edkoDH,KAAA,YcnnDG,edsnDH,KAAA,KctnDG,kBdynDH,YAAA,KcznDG,kBd4nDH,YAAA,ac5nDG,kBd+nDH,YAAA,ac/nDG,iBdkoDH,YAAA,IcloDG,iBdqoDH,YAAA,acroDG,iBdwoDH,YAAA,acxoDG,iBd2oDH,YAAA,Ic3oDG,iBd8oDH,YAAA,ac9oDG,iBdipDH,YAAA,acjpDG,iBdopDH,YAAA,IcppDG,iBdupDH,YAAA,acvpDG,iBd0pDH,YAAA,Yc5rDG,iBACE,YAAA,EAOJ,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud0rDD,MAAA,Kc1rDC,Wd6rDD,MAAA,Kc7rDC,WdgsDD,MAAA,achsDC,WdmsDD,MAAA,acnsDC,UdssDD,MAAA,IctsDC,UdysDD,MAAA,aczsDC,Ud4sDD,MAAA,ac5sDC,Ud+sDD,MAAA,Ic/sDC,UdktDD,MAAA,acltDC,UdqtDD,MAAA,acrtDC,UdwtDD,MAAA,IcxtDC,Ud2tDD,MAAA,ac5sDC,Ud+sDD,MAAA,Yc/sDC,gBdktDD,MAAA,KcltDC,gBdqtDD,MAAA,acrtDC,gBdwtDD,MAAA,acxtDC,ed2tDD,MAAA,Ic3tDC,ed8tDD,MAAA,ac9tDC,ediuDD,MAAA,acjuDC,edouDD,MAAA,IcpuDC,eduuDD,MAAA,acvuDC,ed0uDD,MAAA,ac1uDC,ed6uDD,MAAA,Ic7uDC,edgvDD,MAAA,ac3uDC,ed8uDD,MAAA,Yc7vDC,edgwDD,MAAA,KchwDC,gBdmwDD,KAAA,KcnwDC,gBdswDD,KAAA,actwDC,gBdywDD,KAAA,aczwDC,ed4wDD,KAAA,Ic5wDC,ed+wDD,KAAA,ac/wDC,edkxDD,KAAA,aclxDC,edqxDD,KAAA,IcrxDC,edwxDD,KAAA,acxxDC,ed2xDD,KAAA,ac3xDC,ed8xDD,KAAA,Ic9xDC,ediyDD,KAAA,ac5xDC,ed+xDD,KAAA,YchxDC,edmxDD,KAAA,KcnxDC,kBdsxDD,YAAA,KctxDC,kBdyxDD,YAAA,aczxDC,kBd4xDD,YAAA,ac5xDC,iBd+xDD,YAAA,Ic/xDC,iBdkyDD,YAAA,aclyDC,iBdqyDD,YAAA,acryDC,iBdwyDD,YAAA,IcxyDC,iBd2yDD,YAAA,ac3yDC,iBd8yDD,YAAA,ac9yDC,iBdizDD,YAAA,IcjzDC,iBdozDD,YAAA,acpzDC,iBduzDD,YAAA,YY9yDD,iBE3CE,YAAA,GAQF,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Udw1DD,MAAA,Kcx1DC,Wd21DD,MAAA,Kc31DC,Wd81DD,MAAA,ac91DC,Wdi2DD,MAAA,acj2DC,Udo2DD,MAAA,Icp2DC,Udu2DD,MAAA,acv2DC,Ud02DD,MAAA,ac12DC,Ud62DD,MAAA,Ic72DC,Udg3DD,MAAA,ach3DC,Udm3DD,MAAA,acn3DC,Uds3DD,MAAA,Ict3DC,Udy3DD,MAAA,ac12DC,Ud62DD,MAAA,Yc72DC,gBdg3DD,MAAA,Kch3DC,gBdm3DD,MAAA,acn3DC,gBds3DD,MAAA,act3DC,edy3DD,MAAA,Icz3DC,ed43DD,MAAA,ac53DC,ed+3DD,MAAA,ac/3DC,edk4DD,MAAA,Icl4DC,edq4DD,MAAA,acr4DC,edw4DD,MAAA,acx4DC,ed24DD,MAAA,Ic34DC,ed84DD,MAAA,acz4DC,ed44DD,MAAA,Yc35DC,ed85DD,MAAA,Kc95DC,gBdi6DD,KAAA,Kcj6DC,gBdo6DD,KAAA,acp6DC,gBdu6DD,KAAA,acv6DC,ed06DD,KAAA,Ic16DC,ed66DD,KAAA,ac76DC,edg7DD,KAAA,ach7DC,edm7DD,KAAA,Icn7DC,eds7DD,KAAA,act7DC,edy7DD,KAAA,acz7DC,ed47DD,KAAA,Ic57DC,ed+7DD,KAAA,ac17DC,ed67DD,KAAA,Yc96DC,edi7DD,KAAA,Kcj7DC,kBdo7DD,YAAA,Kcp7DC,kBdu7DD,YAAA,acv7DC,kBd07DD,YAAA,ac17DC,iBd67DD,YAAA,Ic77DC,iBdg8DD,YAAA,ach8DC,iBdm8DD,YAAA,acn8DC,iBds8DD,YAAA,Ict8DC,iBdy8DD,YAAA,acz8DC,iBd48DD,YAAA,ac58DC,iBd+8DD,YAAA,Ic/8DC,iBdk9DD,YAAA,acl9DC,iBdq9DD,YAAA,YYz8DD,iBE9CE,YAAA,GAQF,0BACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Uds/DD,MAAA,Kct/DC,Wdy/DD,MAAA,Kcz/DC,Wd4/DD,MAAA,ac5/DC,Wd+/DD,MAAA,ac//DC,UdkgED,MAAA,IclgEC,UdqgED,MAAA,acrgEC,UdwgED,MAAA,acxgEC,Ud2gED,MAAA,Ic3gEC,Ud8gED,MAAA,ac9gEC,UdihED,MAAA,acjhEC,UdohED,MAAA,IcphEC,UduhED,MAAA,acxgEC,Ud2gED,MAAA,Yc3gEC,gBd8gED,MAAA,Kc9gEC,gBdihED,MAAA,acjhEC,gBdohED,MAAA,acphEC,eduhED,MAAA,IcvhEC,ed0hED,MAAA,ac1hEC,ed6hED,MAAA,ac7hEC,edgiED,MAAA,IchiEC,edmiED,MAAA,acniEC,edsiED,MAAA,actiEC,edyiED,MAAA,IcziEC,ed4iED,MAAA,acviEC,ed0iED,MAAA,YczjEC,ed4jED,MAAA,Kc5jEC,gBd+jED,KAAA,Kc/jEC,gBdkkED,KAAA,aclkEC,gBdqkED,KAAA,acrkEC,edwkED,KAAA,IcxkEC,ed2kED,KAAA,ac3kEC,ed8kED,KAAA,ac9kEC,edilED,KAAA,IcjlEC,edolED,KAAA,acplEC,edulED,KAAA,acvlEC,ed0lED,KAAA,Ic1lEC,ed6lED,KAAA,acxlEC,ed2lED,KAAA,Yc5kEC,ed+kED,KAAA,Kc/kEC,kBdklED,YAAA,KcllEC,kBdqlED,YAAA,acrlEC,kBdwlED,YAAA,acxlEC,iBd2lED,YAAA,Ic3lEC,iBd8lED,YAAA,ac9lEC,iBdimED,YAAA,acjmEC,iBdomED,YAAA,IcpmEC,iBdumED,YAAA,acvmEC,iBd0mED,YAAA,ac1mEC,iBd6mED,YAAA,Ic7mEC,iBdgnED,YAAA,achnEC,iBdmnED,YAAA,YetrED,iBACA,YAAA,GAGA,MACA,iBAAA,YAEA,QfyrED,YAAA,IevrEC,eAAgB,IAChB,MAAA,KfyrED,WAAA,KelrEC,GACA,WAAA,KfsrED,OexrEC,MAAO,KdmsEP,UAAW,KACX,cAAe,KcvrET,mBd0rER,mBczrEQ,mBAHA,mBACA,mBd0rER,mBDHC,QAAA,IensEC,YAAa,WAoBX,eAAA,IACA,WAAA,IAAA,MAAA,KArBJ,mBdktEE,eAAgB,OAChB,cAAe,IAAI,MAAM,KDJ1B,uCCMD,uCcrtEA,wCdstEA,wCclrEI,2CANI,2CforEP,WAAA,EezqEG,mBf4qEH,WAAA,IAAA,MAAA,KCWD,cACE,iBAAkB,Kc/pEpB,6BdkqEA,6BcjqEE,6BAZM,6BfsqEP,6BCMD,6BDHC,QAAA,ICWD,gBACE,OAAQ,IAAI,MAAM,Kc1qEpB,4Bd6qEA,4Bc7qEA,4BAQQ,4Bf8pEP,4BCMD,4Bc7pEM,OAAA,IAAA,MAAA,KAYF,4BAFJ,4BfopEC,oBAAA,IevoEG,yCf0oEH,iBAAA,QehoEC,4BACA,iBAAA,QfooED,uBe9nEG,SAAA,OdyoEF,QAAS,acxoEL,MAAA,KAEA,sBfioEL,sBgB7wEC,SAAA,OfwxEA,QAAS,WACT,MAAO,KAST,0BerxEE,0Bf+wEF,0BAGA,0BexxEM,0BAMJ,0BfgxEF,0BAGA,0BACA,0BDNC,0BCAD,0BAGA,0BASE,iBAAkB,QDLnB,sCgBlyEC,sCAAA,oCfyyEF,sCetxEM,sCf2xEJ,iBAAkB,QASpB,2Be1yEE,2BfoyEF,2BAGA,2Be7yEM,2BAMJ,2BfqyEF,2BAGA,2BACA,2BDNC,2BCAD,2BAGA,2BASE,iBAAkB,QDLnB,uCgBvzEC,uCAAA,qCf8zEF,uCe3yEM,uCfgzEJ,iBAAkB,QASpB,wBe/zEE,wBfyzEF,wBAGA,wBel0EM,wBAMJ,wBf0zEF,wBAGA,wBACA,wBDNC,wBCAD,wBAGA,wBASE,iBAAkB,QDLnB,oCgB50EC,oCAAA,kCfm1EF,oCeh0EM,oCfq0EJ,iBAAkB,QASpB,2Bep1EE,2Bf80EF,2BAGA,2Bev1EM,2BAMJ,2Bf+0EF,2BAGA,2BACA,2BDNC,2BCAD,2BAGA,2BASE,iBAAkB,QDLnB,uCgBj2EC,uCAAA,qCfw2EF,uCer1EM,uCf01EJ,iBAAkB,QASpB,0Bez2EE,0Bfm2EF,0BAGA,0Be52EM,0BAMJ,0Bfo2EF,0BAGA,0BACA,0BDNC,0BCAD,0BAGA,0BASE,iBAAkB,QDLnB,sCehtEC,sCADF,oCdwtEA,sCe12EM,sCDoJJ,iBAAA,QA6DF,kBACE,WAAY,KA3DV,WAAA,KAEA,oCACA,kBACA,MAAA,KfotED,cAAA,Ke7pEC,WAAY,OAnDV,mBAAA,yBfmtEH,OAAA,IAAA,MAAA,KCWD,yBACE,cAAe,Ec5qEjB,qCd+qEA,qCcjtEI,qCARM,qCfktET,qCCMD,qCDHC,YAAA,OCWD,kCACE,OAAQ,EcvrEV,0Dd0rEA,0Dc1rEA,0DAzBU,0Df4sET,0DCMD,0DAME,YAAa,Ec/rEf,yDdksEA,yDclsEA,yDArBU,yDfgtET,yDCMD,yDAME,aAAc,EDLjB,yDe1sEW,yDEzNV,yDjBk6EC,yDiBj6ED,cAAA,GAMA,SjBk6ED,UAAA,EiB/5EC,QAAS,EACT,OAAA,EACA,OAAA,EAEA,OACA,QAAA,MACA,MAAA,KACA,QAAA,EACA,cAAA,KACA,UAAA,KjBi6ED,YAAA,QiB95EC,MAAO,KACP,OAAA,EACA,cAAA,IAAA,MAAA,QAEA,MjBg6ED,QAAA,aiBr5EC,UAAW,Kb4BX,cAAA,IACG,YAAA,IJ63EJ,mBiBr5EC,mBAAoB,WhBg6EjB,gBAAiB,WgB95EpB,WAAA,WjBy5ED,qBiBv5EC,kBAGA,OAAQ,IAAI,EAAE,EACd,WAAA,MjBs5ED,YAAA,OiBj5EC,iBACA,QAAA,MAIF,kBhB25EE,QAAS,MgBz5ET,MAAA,KAIF,iBAAA,ahB05EE,OAAQ,KI99ER,uBY2EF,2BjB64EC,wBiB54EC,QAAA,IAAA,KAAA,yBACA,eAAA,KAEA,OACA,QAAA,MjB+4ED,YAAA,IiBr3EC,UAAW,KACX,YAAA,WACA,MAAA,KAEA,cACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KbxDA,iBAAA,KACQ,iBAAA,KAyHR,OAAA,IAAA,MAAA,KACK,cAAA,IACG,mBAAA,MAAA,EAAA,IAAA,IAAA,iBJwzET,WAAA,MAAA,EAAA,IAAA,IAAA,iBkBh8EC,mBAAA,aAAA,YAAA,KAAA,mBAAA,YAAA,KACE,cAAA,aAAA,YAAA,KAAA,WAAA,YAAA,KACA,WAAA,aAAA,YAAA,KAAA,WAAA,YAAA,KdWM,oBJy7ET,aAAA,QIx5EC,QAAA,EACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,qBACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,qBAEF,gCAA0B,MAAA,KJ25E3B,QAAA,EI15EiC,oCJ65EjC,MAAA,KiBh4EG,yCACA,MAAA,KAQF,0BhBs4EA,iBAAkB,YAClB,OAAQ,EgBn4EN,wBjB63EH,wBiB13EC,iChBq4EA,iBAAkB,KgBn4EhB,QAAA,EAIF,wBACE,iCjB03EH,OAAA,YiB72EC,sBjBg3ED,OAAA,KiB91EG,mBhB02EF,mBAAoB,KAEtB,qDgB32EM,8BjBo2EH,8BiBj2EC,wCAAA,+BhB62EA,YAAa,KgB32EX,iCjBy2EH,iCiBt2EC,2CAAA,kChB02EF,0BACA,0BACA,oCACA,2BAKE,YAAa,KgBh3EX,iCjB82EH,iCACF,2CiBp2EC,kChBu2EA,0BACA,0BACA,oCACA,2BgBz2EA,YAAA,MhBi3EF,YgBv2EE,cAAA,KAGA,UADA,OjBi2ED,SAAA,SiBr2EC,QAAS,MhBg3ET,WAAY,KgBx2EV,cAAA,KAGA,gBADA,aAEA,WAAA,KjBi2EH,aAAA,KiB91EC,cAAe,EhBy2Ef,YAAa,IACb,OAAQ,QgBp2ER,+BjBg2ED,sCiBl2EC,yBACA,gCAIA,SAAU,ShBw2EV,WAAY,MgBt2EZ,YAAA,MAIF,oBAAA,cAEE,WAAA,KAGA,iBADA,cAEA,SAAA,SACA,QAAA,aACA,aAAA,KjB61ED,cAAA,EiB31EC,YAAa,IhBs2Eb,eAAgB,OgBp2EhB,OAAA,QAUA,kCjBo1ED,4BCWC,WAAY,EACZ,YAAa,KgBv1Eb,wCAAA,qCjBm1ED,8BCOD,+BgBh2EI,2BhB+1EJ,4BAME,OAAQ,YDNT,0BiBv1EG,uBAMF,oCAAA,iChB61EA,OAAQ,YDNT,yBiBp1EK,sBAaJ,mCAFF,gCAGE,OAAA,YAGA,qBjBy0ED,WAAA,KiBv0EC,YAAA,IhBk1EA,eAAgB,IgBh1Ed,cAAA,EjB00EH,8BiB5zED,8BCnQE,cAAA,EACA,aAAA,EAEA,UACA,OAAA,KlBkkFD,QAAA,IAAA,KkBhkFC,UAAA,KACE,YAAA,IACA,cAAA,IAGF,gBjB0kFA,OAAQ,KiBxkFN,YAAA,KD2PA,0BAFJ,kBAGI,OAAA,KAEA,6BACA,OAAA,KjBy0EH,QAAA,IAAA,KiB/0EC,UAAW,KAST,YAAA,IACA,cAAA,IAVJ,mChB81EE,OAAQ,KgBh1EN,YAAA,KAGA,6CAjBJ,qCAkBI,OAAA,KAEA,oCACA,OAAA,KjBy0EH,WAAA,KiBr0EC,QAAS,IAAI,KC/Rb,UAAA,KACA,YAAA,IAEA,UACA,OAAA,KlBumFD,QAAA,KAAA,KkBrmFC,UAAA,KACE,YAAA,UACA,cAAA,IAGF,gBjB+mFA,OAAQ,KiB7mFN,YAAA,KDuRA,0BAFJ,kBAGI,OAAA,KAEA,6BACA,OAAA,KjBk1EH,QAAA,KAAA,KiBx1EC,UAAW,KAST,YAAA,UACA,cAAA,IAVJ,mChBu2EE,OAAQ,KgBz1EN,YAAA,KAGA,6CAjBJ,qCAkBI,OAAA,KAEA,oCACA,OAAA,KjBk1EH,WAAA,KiBz0EC,QAAS,KAAK,KAEd,UAAA,KjB00ED,YAAA,UiBt0EG,cjBy0EH,SAAA,SiBp0EC,4BACA,cAAA,OAEA,uBACA,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,EACA,QAAA,MACA,MAAA,KjBu0ED,OAAA,KiBr0EC,YAAa,KhBg1Eb,WAAY,OACZ,eAAgB,KDLjB,oDiBv0EC,uCADA,iCAGA,MAAO,KhBg1EP,OAAQ,KACR,YAAa,KDLd,oDiBv0EC,uCADA,iCAKA,MAAO,KhB80EP,OAAQ,KACR,YAAa,KAKf,uBAEA,8BAJA,4BADA,yBAEA,oBAEA,2BDNC,4BkBruFG,mCAJA,yBD0ZJ,gCbvWE,MAAA,QJ2rFD,2BkBxuFG,aAAA,QACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBd4CJ,WAAA,MAAA,EAAA,IAAA,IAAA,iBJgsFD,iCiBz1EC,aAAc,QC5YZ,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QlByuFH,gCiB91EC,MAAO,QCtYL,iBAAA,QlBuuFH,aAAA,QCWD,oCACE,MAAO,QAKT,uBAEA,8BAJA,4BADA,yBAEA,oBAEA,2BDNC,4BkBnwFG,mCAJA,yBD6ZJ,gCb1WE,MAAA,QJytFD,2BkBtwFG,aAAA,QACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBd4CJ,WAAA,MAAA,EAAA,IAAA,IAAA,iBJ8tFD,iCiBp3EC,aAAc,QC/YZ,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QlBuwFH,gCiBz3EC,MAAO,QCzYL,iBAAA,QlBqwFH,aAAA,QCWD,oCACE,MAAO,QAKT,qBAEA,4BAJA,0BADA,uBAEA,kBAEA,yBDNC,0BkBjyFG,iCAJA,uBDgaJ,8Bb7WE,MAAA,QJuvFD,yBkBpyFG,aAAA,QACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBd4CJ,WAAA,MAAA,EAAA,IAAA,IAAA,iBJ4vFD,+BiB/4EC,aAAc,QClZZ,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QlBqyFH,8BiBp5EC,MAAO,QC5YL,iBAAA,QlBmyFH,aAAA,QiB/4EG,kCjBk5EH,MAAA,QiB/4EG,2CjBk5EH,IAAA,KiBv4EC,mDACA,IAAA,EAEA,YjB04ED,QAAA,MiBvzEC,WAAY,IAwEZ,cAAe,KAtIX,MAAA,QAEA,yBjBy3EH,yBiBrvEC,QAAS,aA/HP,cAAA,EACA,eAAA,OjBw3EH,2BiB1vEC,QAAS,aAxHP,MAAA,KjBq3EH,eAAA,OiBj3EG,kCACA,QAAA,aAmHJ,0BhB4wEE,QAAS,aACT,eAAgB,OgBr3Ed,wCjB82EH,6CiBtwED,2CjBywEC,MAAA,KiB72EG,wCACA,MAAA,KAmGJ,4BhBwxEE,cAAe,EgBp3Eb,eAAA,OAGA,uBADA,oBjB82EH,QAAA,aiBpxEC,WAAY,EhB+xEZ,cAAe,EgBr3EX,eAAA,OAsFN,6BAAA,0BAjFI,aAAA,EAiFJ,4CjB6xEC,sCiBx2EG,SAAA,SjB22EH,YAAA,EiBh2ED,kDhB42EE,IAAK,GgBl2EL,2BjB+1EH,kCiBh2EG,wBAEA,+BAXF,YAAa,IhBo3Eb,WAAY,EgBn2EV,cAAA,EJviBF,2BIshBF,wBJrhBE,WAAA,KI4jBA,6BAyBA,aAAc,MAnCV,YAAA,MAEA,yBjBw1EH,gCACF,YAAA,IiBx3EG,cAAe,EAwCf,WAAA,OAwBJ,sDAdQ,MAAA,KjB80EL,yBACF,+CiBn0EC,YAAA,KAEE,UAAW,MjBs0EZ,yBACF,+CmBp6FG,YAAa,IACf,UAAA,MAGA,KACA,QAAA,aACA,QAAA,IAAA,KAAA,cAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,WACA,WAAA,OC0CA,YAAA,OACA,eAAA,OACA,iBAAA,aACA,aAAA,ahB+JA,OAAA,QACG,oBAAA,KACC,iBAAA,KACI,gBAAA,KJ+tFT,YAAA,KmBv6FG,iBAAA,KlBm7FF,OAAQ,IAAI,MAAM,YAClB,cAAe,IkB96Ff,kBdzBA,kBACA,WLk8FD,kBCOD,kBADA,WAME,QAAS,IAAI,KAAK,yBAClB,eAAgB,KkBh7FhB,WnBy6FD,WmB56FG,WlBw7FF,MAAO,KkBn7FL,gBAAA,Kf6BM,YADR,YJk5FD,iBAAA,KmBz6FC,QAAA,ElBq7FA,mBAAoB,MAAM,EAAE,IAAI,IAAI,iBAC5B,WAAY,MAAM,EAAE,IAAI,IAAI,iBoBh+FpC,cAGA,ejB8DA,wBACQ,OAAA,YJ05FT,OAAA,kBmBz6FG,mBAAA,KlBq7FM,WAAY,KkBn7FhB,QAAA,IASN,eC3DE,yBACA,eAAA,KpBi+FD,aoB99FC,MAAA,KnB0+FA,iBAAkB,KmBx+FhB,aAAA,KpBk+FH,mBoBh+FO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBi+FH,mBoB99FC,MAAA,KnB0+FA,iBAAkB,QAClB,aAAc,QmBt+FR,oBADJ,oBpBi+FH,mCoB99FG,MAAA,KnB0+FF,iBAAkB,QAClB,aAAc,QmBt+FN,0BnB4+FV,0BAHA,0BmB1+FM,0BnB4+FN,0BAHA,0BDFC,yCoBx+FK,yCnB4+FN,yCmBv+FE,MAAA,KnB++FA,iBAAkB,QAClB,aAAc,QmBx+FZ,oBpBg+FH,oBoBh+FG,mCnB6+FF,iBAAkB,KmBz+FV,4BnB8+FV,4BAHA,4BDHC,6BCOD,6BAHA,6BkB39FA,sCClBM,sCnB8+FN,sCmBx+FI,iBAAA,KACA,aAAA,KDcJ,oBC9DE,MAAA,KACA,iBAAA,KpB0hGD,aoBvhGC,MAAA,KnBmiGA,iBAAkB,QmBjiGhB,aAAA,QpB2hGH,mBoBzhGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB0hGH,mBoBvhGC,MAAA,KnBmiGA,iBAAkB,QAClB,aAAc,QmB/hGR,oBADJ,oBpB0hGH,mCoBvhGG,MAAA,KnBmiGF,iBAAkB,QAClB,aAAc,QmB/hGN,0BnBqiGV,0BAHA,0BmBniGM,0BnBqiGN,0BAHA,0BDFC,yCoBjiGK,yCnBqiGN,yCmBhiGE,MAAA,KnBwiGA,iBAAkB,QAClB,aAAc,QmBjiGZ,oBpByhGH,oBoBzhGG,mCnBsiGF,iBAAkB,KmBliGV,4BnBuiGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBjhGA,sCCrBM,sCnBuiGN,sCmBjiGI,iBAAA,QACA,aAAA,QDkBJ,oBClEE,MAAA,QACA,iBAAA,KpBmlGD,aoBhlGC,MAAA,KnB4lGA,iBAAkB,QmB1lGhB,aAAA,QpBolGH,mBoBllGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBmlGH,mBoBhlGC,MAAA,KnB4lGA,iBAAkB,QAClB,aAAc,QmBxlGR,oBADJ,oBpBmlGH,mCoBhlGG,MAAA,KnB4lGF,iBAAkB,QAClB,aAAc,QmBxlGN,0BnB8lGV,0BAHA,0BmB5lGM,0BnB8lGN,0BAHA,0BDFC,yCoB1lGK,yCnB8lGN,yCmBzlGE,MAAA,KnBimGA,iBAAkB,QAClB,aAAc,QmB1lGZ,oBpBklGH,oBoBllGG,mCnB+lGF,iBAAkB,KmB3lGV,4BnBgmGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBtkGA,sCCzBM,sCnBgmGN,sCmB1lGI,iBAAA,QACA,aAAA,QDsBJ,oBCtEE,MAAA,QACA,iBAAA,KpB4oGD,UoBzoGC,MAAA,KnBqpGA,iBAAkB,QmBnpGhB,aAAA,QpB6oGH,gBoB3oGO,gBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB4oGH,gBoBzoGC,MAAA,KnBqpGA,iBAAkB,QAClB,aAAc,QmBjpGR,iBADJ,iBpB4oGH,gCoBzoGG,MAAA,KnBqpGF,iBAAkB,QAClB,aAAc,QmBjpGN,uBnBupGV,uBAHA,uBmBrpGM,uBnBupGN,uBAHA,uBDFC,sCoBnpGK,sCnBupGN,sCmBlpGE,MAAA,KnB0pGA,iBAAkB,QAClB,aAAc,QmBnpGZ,iBpB2oGH,iBoB3oGG,gCnBwpGF,iBAAkB,KmBppGV,yBnBypGV,yBAHA,yBDHC,0BCOD,0BAHA,0BkB3nGA,mCC7BM,mCnBypGN,mCmBnpGI,iBAAA,QACA,aAAA,QD0BJ,iBC1EE,MAAA,QACA,iBAAA,KpBqsGD,aoBlsGC,MAAA,KnB8sGA,iBAAkB,QmB5sGhB,aAAA,QpBssGH,mBoBpsGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBqsGH,mBoBlsGC,MAAA,KnB8sGA,iBAAkB,QAClB,aAAc,QmB1sGR,oBADJ,oBpBqsGH,mCoBlsGG,MAAA,KnB8sGF,iBAAkB,QAClB,aAAc,QmB1sGN,0BnBgtGV,0BAHA,0BmB9sGM,0BnBgtGN,0BAHA,0BDFC,yCoB5sGK,yCnBgtGN,yCmB3sGE,MAAA,KnBmtGA,iBAAkB,QAClB,aAAc,QmB5sGZ,oBpBosGH,oBoBpsGG,mCnBitGF,iBAAkB,KmB7sGV,4BnBktGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBhrGA,sCCjC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A,QkDrxKC,WAAY,IAAI,MAAM,KjDizKtB,2BAA4B,IiD9yK1B,0BAAA,IAHJ,mBAAA,mCAMM,cAAA,ElDwxKL,oCkDnxKG,oDjD+yKF,aAAc,IAAI,EiD7yKZ,cAAA,EvBtEL,4D3B61KF,4EkDjxKG,WAAA,EjD6yKF,uBAAwB,IiD3yKlB,wBAAA,IvBtEL,0D3B21KF,0EkD1yKC,cAAe,EvB1Df,2BAAA,IACC,0BAAA,IuB0FH,+EAEI,uBAAA,ElD8wKH,wBAAA,EkD1wKC,wDlD6wKD,iBAAA,EC4BD,0BACE,iBAAkB,EiDlyKpB,8BlD0wKC,ckD1wKD,gCjDuyKE,cAAe,EiDvyKjB,sCAQM,sBlDwwKL,wCC4BC,cAAe,K0Br5Kf,aAAA,KuByGF,wDlDqxKC,0BC4BC,uBAAwB,IACxB,wBAAyB,IiDlzK3B,yFAoBQ,yFlDwwKP,2DkDzwKO,2DjDqyKN,uBAAwB,IACxB,wBAAyB,IAK3B,wGiD9zKA,wGjD4zKA,wGDtBC,wGCuBD,0EiD7zKA,0EjD2zKA,0EiDnyKU,0EjD2yKR,uBAAwB,IAK1B,uGiDx0KA,uGjDs0KA,uGDtBC,uGCuBD,yEiDv0KA,yEjDq0KA,yEiDzyKU,yEvB7HR,wBAAA,IuBiGF,sDlDqzKC,yBC4BC,2BAA4B,IAC5B,0BAA2B,IiDxyKrB,qFA1CR,qFAyCQ,wDlDmxKP,wDC4BC,2BAA4B,IAC5B,0BAA2B,IAG7B,oGDtBC,oGCwBD,oGiD91KA,oGjD21KA,uEiD7yKU,uEjD+yKV,uEiD71KA,uEjDm2KE,0BAA2B,IAG7B,mGDtBC,mGCwBD,mGiDx2KA,mGjDq2KA,sEiDnzKU,sEjDqzKV,sEiDv2KA,sEjD62KE,2BAA4B,IiDlzK1B,0BlD2xKH,qCkDt1KD,0BAAA,qCA+DI,WAAA,IAAA,MAAA,KA/DJ,kDAAA,kDAmEI,WAAA,EAnEJ,uBAAA,yCjD23KE,OAAQ,EiDjzKA,+CjDqzKV,+CiD/3KA,+CjDi4KA,+CAEA,+CANA,+CDjBC,iECoBD,iEiDh4KA,iEjDk4KA,iEAEA,iEANA,iEAWE,YAAa,EiD3zKL,8CjD+zKV,8CiD74KA,8CjD+4KA,8CAEA,8CANA,8CDjBC,gECo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Dk2MD,kBACF,QAAA,iB+D91MG,yB/Dk2MD,mBACF,QAAA,kBgEh6MC,yBhEo6MC,yBgEn6MD,QAAA,wBACA,+CAAU,YhEw6MT,QAAA,gBC4BD,iB+Dl8MU,QAAA,gBhE26MX,c+Dr2MG,QAAS,oB/Dy2MV,c+D32MC,c/D42MH,QAAA,sB+Dv2MG,+C/D22MD,kBACF,QAAA,iB+Dv2MG,+C/D22MD,mBACF,QAAA,kBgE97MC,+ChEk8MC,yBgEj8MD,QAAA,wBACA,gDAAU,YhEs8MT,QAAA,gBC4BD,iB+Dh+MU,QAAA,gBhEy8MX,c+D92MG,QAAS,oB/Dk3MV,c+Dp3MC,c/Dq3MH,QAAA,sB+Dh3MG,gD/Do3MD,kBACF,QAAA,iB+Dh3MG,gD/Do3MD,mBACF,QAAA,kBgE59MC,gDhEg+MC,yBgE/9MD,QAAA,wBACA,0BAAU,YhEo+MT,QAAA,gBC4BD,iB+D9/MU,QAAA,gBhEu+MX,c+Dv3MG,QAAS,oB/D23MV,c+D73MC,c/D83MH,QAAA,sB+Dz3MG,0B/D63MD,kBACF,QAAA,iB+Dz3MG,0B/D63MD,mBACF,QAAA,kBgEl/MC,0BhEs/MC,yBACF,QAAA,wBgEv/MC,yBhE2/MC,WACF,QAAA,gBgE5/MC,+ChEggNC,WACF,QAAA,gBgEjgNC,gDhEqgNC,WACF,QAAA,gBAGA,0B+Dh3MC,WA4BE,QAAS,gBC5LX,eAAU,QAAA,eACV,aAAU,ehEyhNT,QAAA,gBC4BD,oB+DnjNU,QAAA,gBhE4hNX,iB+D93MG,QAAS,oBAMX,iB/D23MD,iB+Dt2MG,QAAS,sB/D22MZ,qB+D/3MC,QAAS,e/Dk4MV,a+D53MC,qBAcE,QAAS,iB/Dm3MZ,sB+Dh4MC,QAAS,e/Dm4MV,a+D73MC,sBAOE,QAAS,kB/D23MZ,4B+D53MC,QAAS,eCpLT,ahEojNC,4BACF,QAAA,wBC6BD,aACE,cACE,QAAS","sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n//    without disabling user zoom.\n//\n\nhtml {\n  font-family: sans-serif; // 1\n  -ms-text-size-adjust: 100%; // 2\n  -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n  margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; // 1\n  vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n  background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n  outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n  font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n  font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n  border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n  margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n  overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n//    Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; // 1\n  font: inherit; // 2\n  margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n  overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n//    and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n//    `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n  cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n  line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; // 1\n  padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; // 1\n  box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n  border: 0; // 1\n  padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n  overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n  font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n    *,\n    *:before,\n    *:after {\n        background: transparent !important;\n        color: #000 !important; // Black prints faster: h5bp.com/s\n        box-shadow: none !important;\n        text-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\" attr(href) \")\";\n    }\n\n    abbr[title]:after {\n        content: \" (\" attr(title) \")\";\n    }\n\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    a[href^=\"#\"]:after,\n    a[href^=\"javascript:\"]:after {\n        content: \"\";\n    }\n\n    pre,\n    blockquote {\n        border: 1px solid #999;\n        page-break-inside: avoid;\n    }\n\n    thead {\n        display: table-header-group; // h5bp.com/t\n    }\n\n    tr,\n    img {\n        page-break-inside: avoid;\n    }\n\n    img {\n        max-width: 100% !important;\n    }\n\n    p,\n    h2,\n    h3 {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h2,\n    h3 {\n        page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Bootstrap components\n    .navbar {\n        display: none;\n    }\n    .btn,\n    .dropup > .btn {\n        > .caret {\n            border-top-color: #000 !important;\n        }\n    }\n    .label {\n        border: 1px solid #000;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n\n        td,\n        th {\n            background-color: #fff !important;\n        }\n    }\n    .table-bordered {\n        th,\n        td {\n            border: 1px solid #ddd !important;\n        }\n    }\n\n    // Bootstrap specific changes end\n}\n","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333333;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.row {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  border: 0;\n  background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 14px;\n  text-align: left;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 15px;\n  padding-left: 15px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n  height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 15px;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n.navbar-form {\n  margin-left: -15px;\n  margin-right: -15px;\n  padding: 10px 15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-left: 15px;\n    margin-right: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #fff;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #ccc;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #fff;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 6px;\n  border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 6px;\n  border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #fff;\n  line-height: 1;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 6px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 20px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  text-decoration: none;\n  color: #555;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 12px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  font-size: 14px;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 14px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #fff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #fff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n    -moz-perspective: 1000px;\n    perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #fff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  margin-top: -10px;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #fff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -webkit-text-size-adjust: 100%;\n      -ms-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  margin: .67em 0;\n  font-size: 2em;\n}\nmark {\n  color: #000;\n  background: #ff0;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\nsup {\n  top: -.5em;\n}\nsub {\n  bottom: -.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  height: 0;\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  margin: 0;\n  font: inherit;\n  color: inherit;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n  -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  padding: .35em .625em .75em;\n  margin: 0 2px;\n  border: 1px solid #c0c0c0;\n}\nlegend {\n  padding: 0;\n  border: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-spacing: 0;\n  border-collapse: collapse;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    -webkit-box-shadow: none !important;\n            box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all .2s ease-in-out;\n       -o-transition: all .2s ease-in-out;\n          transition: all .2s ease-in-out;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  padding: .2em;\n  background-color: #fcf8e3;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  margin-left: -5px;\n  list-style: none;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    overflow: hidden;\n    clear: left;\n    text-align: right;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #eee;\n  border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #333;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  min-height: .01%;\n  overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n       -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n          transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  vertical-align: middle;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  min-height: 34px;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #a94442;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  padding-top: 7px;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    padding-top: 7px;\n    margin-bottom: 0;\n    text-align: right;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  padding: 6px 12px;\n  margin-bottom: 0;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  font-weight: normal;\n  color: #337ab7;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity .15s linear;\n       -o-transition: opacity .15s linear;\n          transition: opacity .15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-timing-function: ease;\n       -o-transition-timing-function: ease;\n          transition-timing-function: ease;\n  -webkit-transition-duration: .35s;\n       -o-transition-duration: .35s;\n          transition-duration: .35s;\n  -webkit-transition-property: height, visibility;\n       -o-transition-property: height, visibility;\n          transition-property: height, visibility;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  font-size: 14px;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  -webkit-background-clip: padding-box;\n          background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  color: #262626;\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #337ab7;\n  outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  content: \"\";\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .navbar-right .dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  display: table-cell;\n  float: none;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555;\n  text-align: center;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eee;\n}\n.nav > li.disabled > a {\n  color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777;\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  padding-right: 15px;\n  padding-left: 15px;\n  overflow-x: visible;\n  -webkit-overflow-scrolling: touch;\n  border-top: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  height: 50px;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-right: 15px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n.navbar-form {\n  padding: 10px 15px;\n  margin-top: 8px;\n  margin-right: -15px;\n  margin-bottom: 8px;\n  margin-left: -15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-right: 15px;\n    margin-left: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  padding: 0 5px;\n  color: #ccc;\n  content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n  color: #777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  margin-left: -1px;\n  line-height: 1.42857143;\n  color: #337ab7;\n  text-decoration: none;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  cursor: default;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777;\n  cursor: not-allowed;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-top-left-radius: 6px;\n  border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-top-right-radius: 6px;\n  border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-top-left-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-top-right-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777;\n  cursor: not-allowed;\n  background-color: #fff;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  background-color: #777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  padding-right: 15px;\n  padding-left: 15px;\n  border-radius: 6px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-right: 60px;\n    padding-left: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: border .2s ease-in-out;\n       -o-transition: border .2s ease-in-out;\n          transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-right: auto;\n  margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@-o-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n  float: left;\n  width: 0;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n  -webkit-transition: width .6s ease;\n       -o-transition: width .6s ease;\n          transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  -webkit-background-size: 40px 40px;\n          background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n       -o-animation: progress-bar-stripes 2s linear infinite;\n          animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  padding-left: 0;\n  margin-bottom: 20px;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  color: #555;\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  color: #777;\n  cursor: not-allowed;\n  background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n          box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  margin-bottom: 0;\n  border: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  filter: alpha(opacity=20);\n  opacity: .2;\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\nbutton.close {\n  -webkit-appearance: none;\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transition: -webkit-transform .3s ease-out;\n       -o-transition:      -o-transform .3s ease-out;\n          transition:         transform .3s ease-out;\n  -webkit-transform: translate(0, -25%);\n      -ms-transform: translate(0, -25%);\n       -o-transform: translate(0, -25%);\n          transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n      -ms-transform: translate(0, 0);\n       -o-transform: translate(0, 0);\n          transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  -webkit-background-clip: padding-box;\n          background-clip: padding-box;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, .2);\n  border-radius: 6px;\n  outline: 0;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n          box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n.modal-backdrop.in {\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  white-space: normal;\n  filter: alpha(opacity=0);\n  opacity: 0;\n\n  line-break: auto;\n}\n.tooltip.in {\n  filter: alpha(opacity=90);\n  opacity: .9;\n}\n.tooltip.top {\n  padding: 5px 0;\n  margin-top: -3px;\n}\n.tooltip.right {\n  padding: 0 5px;\n  margin-left: 3px;\n}\n.tooltip.bottom {\n  padding: 5px 0;\n  margin-top: 3px;\n}\n.tooltip.left {\n  padding: 0 5px;\n  margin-left: -3px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  right: 5px;\n  bottom: 0;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  white-space: normal;\n  background-color: #fff;\n  -webkit-background-clip: padding-box;\n          background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n  line-break: auto;\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  padding: 8px 14px;\n  margin: 0;\n  font-size: 14px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  content: \"\";\n  border-width: 10px;\n}\n.popover.top > .arrow {\n  bottom: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-color: #999;\n  border-top-color: rgba(0, 0, 0, .25);\n  border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n  bottom: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-color: #fff;\n  border-bottom-width: 0;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-right-color: #999;\n  border-right-color: rgba(0, 0, 0, .25);\n  border-left-width: 0;\n}\n.popover.right > .arrow:after {\n  bottom: -10px;\n  left: 1px;\n  content: \" \";\n  border-right-color: #fff;\n  border-left-width: 0;\n}\n.popover.bottom > .arrow {\n  top: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999;\n  border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n  top: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999;\n  border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n  right: 1px;\n  bottom: -10px;\n  content: \" \";\n  border-right-width: 0;\n  border-left-color: #fff;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n.carousel-inner > .item {\n  position: relative;\n  display: none;\n  -webkit-transition: .6s ease-in-out left;\n       -o-transition: .6s ease-in-out left;\n          transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n         -o-transition:      -o-transform .6s ease-in-out;\n            transition:         transform .6s ease-in-out;\n\n    -webkit-backface-visibility: hidden;\n            backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n            perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    left: 0;\n    -webkit-transform: translate3d(100%, 0, 0);\n            transform: translate3d(100%, 0, 0);\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    left: 0;\n    -webkit-transform: translate3d(-100%, 0, 0);\n            transform: translate3d(-100%, 0, 0);\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    left: 0;\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 15%;\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n  background-color: rgba(0, 0, 0, 0);\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n  background-repeat: repeat-x;\n}\n.carousel-control.right {\n  right: 0;\n  left: auto;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n  background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  color: #fff;\n  text-decoration: none;\n  filter: alpha(opacity=90);\n  outline: 0;\n  opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n  margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  font-family: serif;\n  line-height: 1;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  padding-left: 0;\n  margin-left: -30%;\n  text-align: center;\n  list-style: none;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n  border: 1px solid #fff;\n  border-radius: 10px;\n}\n.carousel-indicators .active {\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    right: 20%;\n    left: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n  display: table;\n  content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('@{icon-font-path}@{icon-font-name}.eot');\n  src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n       url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n       url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n       url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n       url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk               { &:before { content: \"\\002a\"; } }\n.glyphicon-plus                   { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur                    { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus                  { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud                  { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope               { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil                 { &:before { content: \"\\270f\"; } }\n.glyphicon-glass                  { &:before { content: \"\\e001\"; } }\n.glyphicon-music                  { &:before { content: \"\\e002\"; } }\n.glyphicon-search                 { &:before { content: \"\\e003\"; } }\n.glyphicon-heart                  { &:before { content: \"\\e005\"; } }\n.glyphicon-star                   { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty             { &:before { content: \"\\e007\"; } }\n.glyphicon-user                   { &:before { content: \"\\e008\"; } }\n.glyphicon-film                   { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large               { &:before { content: \"\\e010\"; } }\n.glyphicon-th                     { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list                { &:before { content: \"\\e012\"; } }\n.glyphicon-ok                     { &:before { content: \"\\e013\"; } }\n.glyphicon-remove                 { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in                { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out               { &:before { content: \"\\e016\"; } }\n.glyphicon-off                    { &:before { content: \"\\e017\"; } }\n.glyphicon-signal                 { &:before { content: \"\\e018\"; } }\n.glyphicon-cog                    { &:before { content: \"\\e019\"; } }\n.glyphicon-trash                  { &:before { content: \"\\e020\"; } }\n.glyphicon-home                   { &:before { content: \"\\e021\"; } }\n.glyphicon-file                   { &:before { content: \"\\e022\"; } }\n.glyphicon-time                   { &:before { content: \"\\e023\"; } }\n.glyphicon-road                   { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt           { &:before { content: \"\\e025\"; } }\n.glyphicon-download               { &:before { content: \"\\e026\"; } }\n.glyphicon-upload                 { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox                  { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle            { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat                 { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh                { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt               { &:before { content: \"\\e032\"; } }\n.glyphicon-lock                   { &:before { content: \"\\e033\"; } }\n.glyphicon-flag                   { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones             { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off             { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down            { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up              { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode                 { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode                { &:before { content: \"\\e040\"; } }\n.glyphicon-tag                    { &:before { content: \"\\e041\"; } }\n.glyphicon-tags                   { &:before { content: \"\\e042\"; } }\n.glyphicon-book                   { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark               { &:before { content: \"\\e044\"; } }\n.glyphicon-print                  { &:before { content: \"\\e045\"; } }\n.glyphicon-camera                 { &:before { content: \"\\e046\"; } }\n.glyphicon-font                   { &:before { content: \"\\e047\"; } }\n.glyphicon-bold                   { &:before { content: \"\\e048\"; } }\n.glyphicon-italic                 { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height            { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width             { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left             { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center           { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right            { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify          { &:before { content: \"\\e055\"; } }\n.glyphicon-list                   { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left            { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right           { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video         { &:before { content: \"\\e059\"; } }\n.glyphicon-picture                { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker             { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust                 { &:before { content: \"\\e063\"; } }\n.glyphicon-tint                   { &:before { content: \"\\e064\"; } }\n.glyphicon-edit                   { &:before { content: \"\\e065\"; } }\n.glyphicon-share                  { &:before { content: \"\\e066\"; } }\n.glyphicon-check                  { &:before { content: \"\\e067\"; } }\n.glyphicon-move                   { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward          { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward          { &:before { content: \"\\e070\"; } }\n.glyphicon-backward               { &:before { content: \"\\e071\"; } }\n.glyphicon-play                   { &:before { content: \"\\e072\"; } }\n.glyphicon-pause                  { &:before { content: \"\\e073\"; } }\n.glyphicon-stop                   { &:before { content: \"\\e074\"; } }\n.glyphicon-forward                { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward           { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward           { &:before { content: \"\\e077\"; } }\n.glyphicon-eject                  { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left           { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right          { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign              { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign             { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign            { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign                { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign          { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign              { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot             { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle          { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle              { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle             { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left             { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right            { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up               { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down             { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt              { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full            { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small           { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign       { &:before { content: \"\\e101\"; } }\n.glyphicon-gift                   { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf                   { &:before { content: \"\\e103\"; } }\n.glyphicon-fire                   { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open               { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close              { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign           { &:before { content: \"\\e107\"; } }\n.glyphicon-plane                  { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar               { &:before { content: \"\\e109\"; } }\n.glyphicon-random                 { &:before { content: \"\\e110\"; } }\n.glyphicon-comment                { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet                 { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up             { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down           { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet                { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart          { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close           { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open            { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical        { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal      { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd                    { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn               { &:before { content: \"\\e122\"; } }\n.glyphicon-bell                   { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate            { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up              { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down            { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right             { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left              { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up                { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down              { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right     { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left      { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up        { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down      { &:before { content: \"\\e134\"; } }\n.glyphicon-globe                  { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench                 { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks                  { &:before { content: \"\\e137\"; } }\n.glyphicon-filter                 { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase              { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen             { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard              { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip              { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty            { &:before { content: \"\\e143\"; } }\n.glyphicon-link                   { &:before { content: \"\\e144\"; } }\n.glyphicon-phone                  { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin                { &:before { content: \"\\e146\"; } }\n.glyphicon-usd                    { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp                    { &:before { content: \"\\e149\"; } }\n.glyphicon-sort                   { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet       { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt   { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order          { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt      { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes     { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked              { &:before { content: \"\\e157\"; } }\n.glyphicon-expand                 { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down          { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up            { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in                 { &:before { content: \"\\e161\"; } }\n.glyphicon-flash                  { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out                { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window             { &:before { content: \"\\e164\"; } }\n.glyphicon-record                 { &:before { content: \"\\e165\"; } }\n.glyphicon-save                   { &:before { content: \"\\e166\"; } }\n.glyphicon-open                   { &:before { content: \"\\e167\"; } }\n.glyphicon-saved                  { &:before { content: \"\\e168\"; } }\n.glyphicon-import                 { &:before { content: \"\\e169\"; } }\n.glyphicon-export                 { &:before { content: \"\\e170\"; } }\n.glyphicon-send                   { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk            { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved           { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove          { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save            { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open            { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card            { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer               { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery                { &:before { content: \"\\e179\"; } }\n.glyphicon-header                 { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed             { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone               { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt              { &:before { content: \"\\e183\"; } }\n.glyphicon-tower                  { &:before { content: \"\\e184\"; } }\n.glyphicon-stats                  { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video               { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video               { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles              { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo           { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby            { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1              { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1              { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1              { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark         { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark      { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download         { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload           { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer           { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous         { &:before { content: \"\\e200\"; } }\n.glyphicon-cd                     { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file              { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file              { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up               { &:before { content: \"\\e204\"; } }\n.glyphicon-copy                   { &:before { content: \"\\e205\"; } }\n.glyphicon-paste                  { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door                   { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key                    { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert                  { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer              { &:before { content: \"\\e210\"; } }\n.glyphicon-king                   { &:before { content: \"\\e211\"; } }\n.glyphicon-queen                  { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn                   { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop                 { &:before { content: \"\\e214\"; } }\n.glyphicon-knight                 { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula           { &:before { content: \"\\e216\"; } }\n.glyphicon-tent                   { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard             { &:before { content: \"\\e218\"; } }\n.glyphicon-bed                    { &:before { content: \"\\e219\"; } }\n.glyphicon-apple                  { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase                  { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass              { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp                   { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate              { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank             { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors               { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin                { &:before { content: \"\\e227\"; } }\n.glyphicon-btc                    { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt                    { &:before { content: \"\\e227\"; } }\n.glyphicon-yen                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble                  { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub                    { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale                  { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly              { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted       { &:before { content: \"\\e232\"; } }\n.glyphicon-education              { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal      { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical        { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger         { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window           { &:before { content: \"\\e237\"; } }\n.glyphicon-oil                    { &:before { content: \"\\e238\"; } }\n.glyphicon-grain                  { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses             { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size              { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color             { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background        { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top       { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom    { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left      { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical  { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right     { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right         { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left          { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom        { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top           { &:before { content: \"\\e253\"; } }\n.glyphicon-console                { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript            { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript              { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left              { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right             { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down              { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up                { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n  .box-sizing(border-box);\n}\n*:before,\n*:after {\n  .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @text-color;\n  background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n\n// Links\n\na {\n  color: @link-color;\n  text-decoration: none;\n\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n  }\n\n  &:focus {\n    .tab-focus();\n  }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n  margin: 0;\n}\n\n\n// Images\n\nimg {\n  vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n  .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n  border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n  padding: @thumbnail-padding;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  // Keep them at most 100% wide\n  .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n  border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n  margin-top:    @line-height-computed;\n  margin-bottom: @line-height-computed;\n  border: 0;\n  border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n  cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n  // WebKit-specific. Other browsers will keep their default outline style.\n  // (Initially tried to also force default via `outline: initial`,\n  // but that seems to erroneously remove the outline in Firefox altogether.)\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n  display: @display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n  background-image: url(\"@{file-1x}\");\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and (   min--moz-device-pixel-ratio: 2),\n  only screen and (     -o-min-device-pixel-ratio: 2/1),\n  only screen and (        min-device-pixel-ratio: 2),\n  only screen and (                min-resolution: 192dpi),\n  only screen and (                min-resolution: 2dppx) {\n    background-image: url(\"@{file-2x}\");\n    background-size: @width-1x @height-1x;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: normal;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n  background-color: @state-warning-bg;\n  padding: .2em;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-left: 5px;\n    padding-right: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: @dl-horizontal-breakpoint) {\n    dt {\n      float: left;\n      width: (@dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n  font-size: 90%;\n  .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: '\\2014 \\00A0'; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n  text-align: right;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: ''; }\n    &:after {\n      content: '\\00A0 \\2014'; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n  color: @color;\n  a&:hover,\n  a&:focus {\n    color: darken(@color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover,\n  a&:focus {\n    background-color: darken(@color, 10%);\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: bold;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: @pre-color;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left:  floor((@gutter / 2));\n  padding-right: ceil((@gutter / 2));\n  &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n  margin-left:  ceil((@gutter / -2));\n  margin-right: floor((@gutter / -2));\n  &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage((@columns / @grid-columns));\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n  margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n  left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n  right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-sm-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-offset(@columns) {\n  @media (min-width: @screen-sm-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-push(@columns) {\n  @media (min-width: @screen-sm-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-pull(@columns) {\n  @media (min-width: @screen-sm-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-md-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-offset(@columns) {\n  @media (min-width: @screen-md-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-push(@columns) {\n  @media (min-width: @screen-md-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-pull(@columns) {\n  @media (min-width: @screen-md-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-lg-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-offset(@columns) {\n  @media (min-width: @screen-lg-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-push(@columns) {\n  @media (min-width: @screen-lg-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-pull(@columns) {\n  @media (min-width: @screen-lg-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n  // Common styles for all sizes of grid columns, widths 1-12\n  .col(@index) { // initial\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      position: relative;\n      // Prevent columns from collapsing when empty\n      min-height: 1px;\n      // Inner gutter via padding\n      padding-left:  ceil((@grid-gutter-width / 2));\n      padding-right: floor((@grid-gutter-width / 2));\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n  .col(@index) { // initial\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      float: left;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n  .col-@{class}-@{index} {\n    width: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n  .col-@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n  .col-@{class}-push-0 {\n    left: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n  .col-@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n  .col-@{class}-pull-0 {\n    right: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n  .col-@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n  .calc-grid-column(@index, @class, @type);\n  // next iteration\n  .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class, width);\n  .loop-grid-columns(@grid-columns, @class, pull);\n  .loop-grid-columns(@grid-columns, @class, push);\n  .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: @table-bg;\n}\ncaption {\n  padding-top: @table-cell-padding;\n  padding-bottom: @table-cell-padding;\n  color: @text-muted;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: @table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: @table-bg-hover;\n  }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n  float: none;\n  display: table-column;\n}\ntable {\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      float: none;\n      display: table-cell;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n  @media screen and (max-width: @screen-xs-max) {\n    width: 100%;\n    margin-bottom: (@line-height-computed * 0.75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.@{state},\n    > th.@{state},\n    &.@{state} > td,\n    &.@{state} > th {\n      background-color: @background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.@{state}:hover,\n    > th.@{state}:hover,\n    &.@{state}:hover > td,\n    &:hover > .@{state},\n    &.@{state}:hover > th {\n      background-color: darken(@background, 5%);\n    }\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n  .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n}\n\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    border: 0;\n    background-color: transparent;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n  }\n\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    &.form-control {\n      line-height: @input-height-base;\n    }\n\n    &.input-sm,\n    .input-group-sm & {\n      line-height: @input-height-small;\n    }\n\n    &.input-lg,\n    .input-group-lg & {\n      line-height: @input-height-large;\n    }\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n\n  label {\n    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n    padding-left: 20px;\n    margin-bottom: 0;\n    font-weight: normal;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  &[disabled],\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n  &.disabled,\n  fieldset[disabled] & {\n    label {\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  // Size it appropriately next to real form controls\n  padding-top: (@padding-base-vertical + 1);\n  padding-bottom: (@padding-base-vertical + 1);\n  // Remove default margin from `p`\n  margin-bottom: 0;\n  min-height: (@line-height-computed + @font-size-base);\n\n  &.input-lg,\n  &.input-sm {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n  .form-control {\n    height: @input-height-small;\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n    border-radius: @input-border-radius-small;\n  }\n  select.form-control {\n    height: @input-height-small;\n    line-height: @input-height-small;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-small;\n    min-height: (@line-height-computed + @font-size-small);\n    padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n  }\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n  .form-control {\n    height: @input-height-large;\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n    border-radius: @input-border-radius-large;\n  }\n  select.form-control {\n    height: @input-height-large;\n    line-height: @input-height-large;\n  }\n  textarea.form-control,\n  select[multiple].form-control {\n    height: auto;\n  }\n  .form-control-static {\n    height: @input-height-large;\n    min-height: (@line-height-computed + @font-size-large);\n    padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n  }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2; // Ensure icon is above input groups\n  display: block;\n  width: @input-height-base;\n  height: @input-height-base;\n  line-height: @input-height-base;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: @input-height-large;\n  height: @input-height-large;\n  line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: @input-height-small;\n  height: @input-height-small;\n  line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n  & ~ .form-control-feedback {\n    top: (@line-height-computed + 5); // Height of the `label` and its margin\n  }\n  &.sr-only ~ .form-control-feedback {\n    top: 0;\n  }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-static {\n      display: inline-block;\n    }\n\n    .input-group {\n      display: inline-table;\n      vertical-align: middle;\n\n      .input-group-addon,\n      .input-group-btn,\n      .form-control {\n        width: auto;\n      }\n    }\n\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      vertical-align: middle;\n\n      label {\n        padding-left: 0;\n      }\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      position: relative;\n      margin-left: 0;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of radios and checkboxes\n  //\n  // Labels also get some reset styles, but that is scoped to a media query below.\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  // Reset spacing and right align labels, but scope to media queries so that\n  // labels on narrow viewports stack the same as a default form example.\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      text-align: right;\n      margin-bottom: 0;\n      padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    right: floor((@grid-gutter-width / 2));\n  }\n\n  // Form group sizes\n  //\n  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n  // inputs and labels within a `.form-group`.\n  .form-group-lg {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-large-vertical + 1);\n        font-size: @font-size-large;\n      }\n    }\n  }\n  .form-group-sm {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-small-vertical + 1);\n        font-size: @font-size-small;\n      }\n    }\n  }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n  // Color the label and help text\n  .help-block,\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline,\n  &.radio label,\n  &.checkbox label,\n  &.radio-inline label,\n  &.checkbox-inline label  {\n    color: @text-color;\n  }\n  // Set the border and box shadow on specific inputs to match\n  .form-control {\n    border-color: @border-color;\n    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n    &:focus {\n      border-color: darken(@border-color, 10%);\n      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n      .box-shadow(@shadow);\n    }\n  }\n  // Set validation states also for addons\n  .input-group-addon {\n    color: @text-color;\n    border-color: @border-color;\n    background-color: @background-color;\n  }\n  // Optional feedback icon\n  .form-control-feedback {\n    color: @text-color;\n  }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n  &:focus {\n    border-color: @color;\n    outline: 0;\n    .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n  }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  height: @input-height;\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n\n  select& {\n    height: @input-height;\n    line-height: @input-height;\n  }\n\n  textarea&,\n  select[multiple]& {\n    height: auto;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  white-space: nowrap;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    outline: 0;\n    background-image: none;\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n    .opacity(.65);\n    .box-shadow(none);\n  }\n\n  a& {\n    &.disabled,\n    fieldset[disabled] & {\n      pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n    }\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  color: @link-color;\n  font-weight: normal;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n  color: @color;\n  background-color: @background;\n  border-color: @border;\n\n  &:focus,\n  &.focus {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 25%);\n  }\n  &:hover {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n\n    &:hover,\n    &:focus,\n    &.focus {\n      color: @color;\n      background-color: darken(@background, 17%);\n          border-color: darken(@border, 25%);\n    }\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    background-image: none;\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus,\n    &.focus {\n      background-color: @background;\n          border-color: @border;\n    }\n  }\n\n  .badge {\n    color: @background;\n    background-color: @color;\n  }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n  opacity: @opacity;\n  // IE8 filter\n  @opacity-ie: (@opacity * 100);\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  tr&.in    { display: table-row; }\n  tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition-property(~\"height, visibility\");\n  .transition-duration(.35s);\n  .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top:   @caret-width-base dashed;\n  border-top:   @caret-width-base solid ~\"\\9\"; // IE8\n  border-right: @caret-width-base solid transparent;\n  border-left:  @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  list-style: none;\n  font-size: @font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  background-color: @dropdown-bg;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0,0,0,.175));\n  background-clip: padding-box;\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: normal;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n  }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @dropdown-link-hover-color;\n    background-color: @dropdown-link-hover-bg;\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    outline: 0;\n    background-color: @dropdown-link-active-bg;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n    cursor: @cursor-disabled;\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  left: auto; // Reset the default from `.dropdown-menu`\n  right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    border-top: 0;\n    border-bottom: @caret-width-base dashed;\n    border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n    content: \"\";\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n  height: 1px;\n  margin: ((@line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn,\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    .border-top-radius(@btn-border-radius-base);\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    .border-top-radius(0);\n    .border-bottom-radius(@btn-border-radius-base);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    float: none;\n    display: table-cell;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-right-radius: @radius;\n   border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-bottom-right-radius: @radius;\n     border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n   border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-bottom-left-radius: @radius;\n     border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n\n    &:focus {\n      z-index: 3;\n    }\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: normal;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @input-border-radius;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @input-border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @input-border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      z-index: 2;\n      margin-left: -1px;\n    }\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  margin-bottom: 0;\n  padding-left: 0; // Override default ul/ol\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        background-color: transparent;\n        cursor: @cursor-disabled;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n        cursor: default;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      text-align: center;\n      margin-bottom: 5px;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: @navbar-padding-horizontal;\n  padding-left:  @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-left: 0;\n      padding-right: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: @navbar-collapse-max-height;\n\n    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left:  -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left:  0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n  height: @navbar-height;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: @navbar-padding-horizontal;\n  padding: 9px 10px;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top:    10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top:    @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  margin-left: -@navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  padding: 10px @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    .box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  .border-top-radius(@navbar-border-radius);\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-left: @navbar-padding-horizontal;\n    margin-right: @navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right {\n    .pull-right();\n    margin-right: -@navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n  // Dropdown menu items\n  .navbar-nav {\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-default-link-active-bg;\n        color: @navbar-default-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  // Dropdowns\n  .navbar-nav {\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-inverse-link-active-bg;\n        color: @navbar-inverse-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n  margin-top: ((@navbar-height - @element-height) / 2);\n  margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n      padding: 0 5px;\n      color: @breadcrumb-color;\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      line-height: @line-height-base;\n      text-decoration: none;\n      color: @pagination-color;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n      margin-left: -1px;\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > li > a,\n  > li > span {\n    &:hover,\n    &:focus {\n      z-index: 2;\n      color: @pagination-hover-color;\n      background-color: @pagination-hover-bg;\n      border-color: @pagination-hover-border;\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 3;\n      color: @pagination-active-color;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n      cursor: default;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: @padding-vertical @padding-horizontal;\n      font-size: @font-size;\n      line-height: @line-height;\n    }\n    &:first-child {\n      > a,\n      > span {\n        .border-left-radius(@border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius);\n      }\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  list-style: none;\n  text-align: center;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      background-color: @pager-bg;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken(@color, 10%);\n    }\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  color: @badge-color;\n  line-height: @badge-line-height;\n  vertical-align: middle;\n  white-space: nowrap;\n  text-align: center;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // Hover state, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @badge-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: @badge-active-color;\n    background-color: @badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding-top:    @jumbotron-padding;\n  padding-bottom: @jumbotron-padding;\n  margin-bottom: @jumbotron-padding;\n  color: @jumbotron-color;\n  background-color: @jumbotron-bg;\n\n  h1,\n  .h1 {\n    color: @jumbotron-heading-color;\n  }\n\n  p {\n    margin-bottom: (@jumbotron-padding / 2);\n    font-size: @jumbotron-font-size;\n    font-weight: 200;\n  }\n\n  > hr {\n    border-top-color: darken(@jumbotron-bg, 10%);\n  }\n\n  .container &,\n  .container-fluid & {\n    border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n    padding-left:  (@grid-gutter-width / 2);\n    padding-right: (@grid-gutter-width / 2);\n  }\n\n  .container {\n    max-width: 100%;\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top:    (@jumbotron-padding * 1.6);\n    padding-bottom: (@jumbotron-padding * 1.6);\n\n    .container &,\n    .container-fluid & {\n      padding-left:  (@jumbotron-padding * 2);\n      padding-right: (@jumbotron-padding * 2);\n    }\n\n    h1,\n    .h1 {\n      font-size: @jumbotron-heading-font-size;\n    }\n  }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n  display: block;\n  padding: @thumbnail-padding;\n  margin-bottom: @line-height-computed;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(border .2s ease-in-out);\n\n  > img,\n  a > img {\n    &:extend(.img-responsive);\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  // Add a hover state for linked versions only\n  a&:hover,\n  a&:focus,\n  a&.active {\n    border-color: @link-color;\n  }\n\n  // Image captions\n  .caption {\n    padding: @thumbnail-caption-padding;\n    color: @thumbnail-caption-color;\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    // Specified for the h4 to prevent conflicts of changing @headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n  padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  background-color: @background;\n  border-color: @border;\n  color: @text-color;\n\n  hr {\n    border-top-color: darken(@border, 5%);\n  }\n  .alert-link {\n    color: darken(@text-color, 10%);\n  }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  overflow: hidden;\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  background-color: @progress-bg;\n  border-radius: @progress-border-radius;\n  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement as of v3.2.0\n  .progress-striped & {\n    #gradient > .striped();\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n\n  // Fix collapse in webkit from max-width: 100% and display: table-cell.\n  &.img-thumbnail {\n    max-width: none;\n  }\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // No need to set list-style: none; since .list-group-item is block level\n  margin-bottom: 20px;\n  padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -1px;\n  background-color: @list-group-bg;\n  border: 1px solid @list-group-border;\n\n  // Round the first and last items\n  &:first-child {\n    .border-top-radius(@list-group-border-radius);\n  }\n  &:last-child {\n    margin-bottom: 0;\n    .border-bottom-radius(@list-group-border-radius);\n  }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n  color: @list-group-link-color;\n\n  .list-group-item-heading {\n    color: @list-group-link-heading-color;\n  }\n\n  // Hover state\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @list-group-link-hover-color;\n    background-color: @list-group-hover-bg;\n  }\n}\n\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n\n.list-group-item {\n  // Disabled state\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:focus {\n    background-color: @list-group-disabled-bg;\n    color: @list-group-disabled-color;\n    cursor: @cursor-disabled;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-disabled-text-color;\n    }\n  }\n\n  // Active class on item itself, not parent\n  &.active,\n  &.active:hover,\n  &.active:focus {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: @list-group-active-color;\n    background-color: @list-group-active-bg;\n    border-color: @list-group-active-border;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading,\n    .list-group-item-heading > small,\n    .list-group-item-heading > .small {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-active-text-color;\n    }\n  }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;\n    background-color: @background;\n\n    a&,\n    button& {\n      color: @color;\n\n      .list-group-item-heading {\n        color: inherit;\n      }\n\n      &:hover,\n      &:focus {\n        color: @color;\n        background-color: darken(@background, 5%);\n      }\n      &.active,\n      &.active:hover,\n      &.active:focus {\n        color: #fff;\n        background-color: @color;\n        border-color: @color;\n      }\n    }\n  }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: @line-height-computed;\n  background-color: @panel-bg;\n  border: 1px solid transparent;\n  border-radius: @panel-border-radius;\n  .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n  padding: @panel-body-padding;\n  &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n  padding: @panel-heading-padding;\n  border-bottom: 1px solid transparent;\n  .border-top-radius((@panel-border-radius - 1));\n\n  > .dropdown .dropdown-toggle {\n    color: inherit;\n  }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: ceil((@font-size-base * 1.125));\n  color: inherit;\n\n  > a,\n  > small,\n  > .small,\n  > small > a,\n  > .small > a {\n    color: inherit;\n  }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n  padding: @panel-footer-padding;\n  background-color: @panel-footer-bg;\n  border-top: 1px solid @panel-inner-border;\n  .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n  > .list-group,\n  > .panel-collapse > .list-group {\n    margin-bottom: 0;\n\n    .list-group-item {\n      border-width: 1px 0;\n      border-radius: 0;\n    }\n\n    // Add border top radius for first one\n    &:first-child {\n      .list-group-item:first-child {\n        border-top: 0;\n        .border-top-radius((@panel-border-radius - 1));\n      }\n    }\n\n    // Add border bottom radius for last one\n    &:last-child {\n      .list-group-item:last-child {\n        border-bottom: 0;\n        .border-bottom-radius((@panel-border-radius - 1));\n      }\n    }\n  }\n  > .panel-heading + .panel-collapse > .list-group {\n    .list-group-item:first-child {\n      .border-top-radius(0);\n    }\n  }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n  .list-group-item:first-child {\n    border-top-width: 0;\n  }\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n  > .table,\n  > .table-responsive > .table,\n  > .panel-collapse > .table {\n    margin-bottom: 0;\n\n    caption {\n      padding-left: @panel-body-padding;\n      padding-right: @panel-body-padding;\n    }\n  }\n  // Add border top radius for first one\n  > .table:first-child,\n  > .table-responsive:first-child > .table:first-child {\n    .border-top-radius((@panel-border-radius - 1));\n\n    > thead:first-child,\n    > tbody:first-child {\n      > tr:first-child {\n        border-top-left-radius: (@panel-border-radius - 1);\n        border-top-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-top-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-top-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  // Add border bottom radius for last one\n  > .table:last-child,\n  > .table-responsive:last-child > .table:last-child {\n    .border-bottom-radius((@panel-border-radius - 1));\n\n    > tbody:last-child,\n    > tfoot:last-child {\n      > tr:last-child {\n        border-bottom-left-radius: (@panel-border-radius - 1);\n        border-bottom-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-bottom-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-bottom-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  > .panel-body + .table,\n  > .panel-body + .table-responsive,\n  > .table + .panel-body,\n  > .table-responsive + .panel-body {\n    border-top: 1px solid @table-border-color;\n  }\n  > .table > tbody:first-child > tr:first-child th,\n  > .table > tbody:first-child > tr:first-child td {\n    border-top: 0;\n  }\n  > .table-bordered,\n  > .table-responsive > .table-bordered {\n    border: 0;\n    > thead,\n    > tbody,\n    > tfoot {\n      > tr {\n        > th:first-child,\n        > td:first-child {\n          border-left: 0;\n        }\n        > th:last-child,\n        > td:last-child {\n          border-right: 0;\n        }\n      }\n    }\n    > thead,\n    > tbody {\n      > tr:first-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n    > tbody,\n    > tfoot {\n      > tr:last-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n  }\n  > .table-responsive {\n    border: 0;\n    margin-bottom: 0;\n  }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n  margin-bottom: @line-height-computed;\n\n  // Tighten up margin so it's only between panels\n  .panel {\n    margin-bottom: 0;\n    border-radius: @panel-border-radius;\n\n    + .panel {\n      margin-top: 5px;\n    }\n  }\n\n  .panel-heading {\n    border-bottom: 0;\n\n    + .panel-collapse > .panel-body,\n    + .panel-collapse > .list-group {\n      border-top: 1px solid @panel-inner-border;\n    }\n  }\n\n  .panel-footer {\n    border-top: 0;\n    + .panel-collapse .panel-body {\n      border-bottom: 1px solid @panel-inner-border;\n    }\n  }\n}\n\n\n// Contextual variations\n.panel-default {\n  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n  & > .panel-heading {\n    color: @heading-text-color;\n    background-color: @heading-bg-color;\n    border-color: @heading-border;\n\n    + .panel-collapse > .panel-body {\n      border-top-color: @border;\n    }\n    .badge {\n      color: @heading-bg-color;\n      background-color: @heading-text-color;\n    }\n  }\n  & > .panel-footer {\n    + .panel-collapse > .panel-body {\n      border-bottom-color: @border;\n    }\n  }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    height: 100%;\n    width: 100%;\n    border: 0;\n  }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: @well-bg;\n  border: 1px solid @well-border;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n  blockquote {\n    border-color: #ddd;\n    border-color: rgba(0,0,0,.15);\n  }\n}\n\n// Sizes\n.well-lg {\n  padding: 24px;\n  border-radius: @border-radius-large;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: (@font-size-base * 1.5);\n  font-weight: @close-font-weight;\n  line-height: 1;\n  color: @close-color;\n  text-shadow: @close-text-shadow;\n  .opacity(.2);\n\n  &:hover,\n  &:focus {\n    color: @close-color;\n    text-decoration: none;\n    cursor: pointer;\n    .opacity(.5);\n  }\n\n  // Additional properties for button version\n  // iOS requires the button element instead of an anchor tag.\n  // If you want the anchor version, it requires `href=\"#\"`.\n  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n  button& {\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    -webkit-appearance: none;\n  }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal;\n  -webkit-overflow-scrolling: touch;\n\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    .translate(0, -25%);\n    .transition-transform(~\"0.3s ease-out\");\n  }\n  &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  background-color: @modal-content-bg;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0,0,0,.5));\n  background-clip: padding-box;\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal-background;\n  background-color: @modal-backdrop-bg;\n  // Fade for backdrop\n  &.fade { .opacity(0); }\n  &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  padding: @modal-title-padding;\n  border-bottom: 1px solid @modal-header-border-color;\n  &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n  margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n  margin: 0;\n  line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  padding: @modal-inner-padding;\n  text-align: right; // right align buttons\n  border-top: 1px solid @modal-footer-border-color;\n  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n  // Properly space out buttons\n  .btn + .btn {\n    margin-left: 5px;\n    margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n  }\n  // but override that for button groups\n  .btn-group .btn + .btn {\n    margin-left: -1px;\n  }\n  // and override it for block buttons as well\n  .btn-block + .btn-block {\n    margin-left: 0;\n  }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    width: @modal-md;\n    margin: 30px auto;\n  }\n  .modal-content {\n    .box-shadow(0 5px 15px rgba(0,0,0,.5));\n  }\n\n  // Modal sizes\n  .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n  .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n  position: absolute;\n  z-index: @zindex-tooltip;\n  display: block;\n  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  .reset-text();\n  font-size: @font-size-small;\n\n  .opacity(0);\n\n  &.in     { .opacity(@tooltip-opacity); }\n  &.top    { margin-top:  -3px; padding: @tooltip-arrow-width 0; }\n  &.right  { margin-left:  3px; padding: 0 @tooltip-arrow-width; }\n  &.bottom { margin-top:   3px; padding: @tooltip-arrow-width 0; }\n  &.left   { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: @tooltip-max-width;\n  padding: 3px 8px;\n  color: @tooltip-color;\n  text-align: center;\n  background-color: @tooltip-bg;\n  border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n  &.top .tooltip-arrow {\n    bottom: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-left .tooltip-arrow {\n    bottom: 0;\n    right: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-right .tooltip-arrow {\n    bottom: 0;\n    left: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.right .tooltip-arrow {\n    top: 50%;\n    left: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-right-color: @tooltip-arrow-color;\n  }\n  &.left .tooltip-arrow {\n    top: 50%;\n    right: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-left-color: @tooltip-arrow-color;\n  }\n  &.bottom .tooltip-arrow {\n    top: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-left .tooltip-arrow {\n    top: 0;\n    right: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-right .tooltip-arrow {\n    top: 0;\n    left: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n}\n",".reset-text() {\n  font-family: @font-family-base;\n  // We deliberately do NOT reset font-size.\n  font-style: normal;\n  font-weight: normal;\n  letter-spacing: normal;\n  line-break: auto;\n  line-height: @line-height-base;\n  text-align: left; // Fallback for where `start` is not supported\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  white-space: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: @zindex-popover;\n  display: none;\n  max-width: @popover-max-width;\n  padding: 1px;\n  // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n  // So reset our font and text properties to avoid inheriting weird values.\n  .reset-text();\n  font-size: @font-size-base;\n\n  background-color: @popover-bg;\n  background-clip: padding-box;\n  border: 1px solid @popover-fallback-border-color;\n  border: 1px solid @popover-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n  // Offset the popover to account for the popover arrow\n  &.top     { margin-top: -@popover-arrow-width; }\n  &.right   { margin-left: @popover-arrow-width; }\n  &.bottom  { margin-top: @popover-arrow-width; }\n  &.left    { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n  margin: 0; // reset heading margin\n  padding: 8px 14px;\n  font-size: @font-size-base;\n  background-color: @popover-title-bg;\n  border-bottom: 1px solid darken(@popover-title-bg, 5%);\n  border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n  padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n  &,\n  &:after {\n    position: absolute;\n    display: block;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n  }\n}\n.popover > .arrow {\n  border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n  border-width: @popover-arrow-width;\n  content: \"\";\n}\n\n.popover {\n  &.top > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-bottom-width: 0;\n    border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-top-color: @popover-arrow-outer-color;\n    bottom: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      bottom: 1px;\n      margin-left: -@popover-arrow-width;\n      border-bottom-width: 0;\n      border-top-color: @popover-arrow-color;\n    }\n  }\n  &.right > .arrow {\n    top: 50%;\n    left: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-left-width: 0;\n    border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-right-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      left: 1px;\n      bottom: -@popover-arrow-width;\n      border-left-width: 0;\n      border-right-color: @popover-arrow-color;\n    }\n  }\n  &.bottom > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-top-width: 0;\n    border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-bottom-color: @popover-arrow-outer-color;\n    top: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      top: 1px;\n      margin-left: -@popover-arrow-width;\n      border-top-width: 0;\n      border-bottom-color: @popover-arrow-color;\n    }\n  }\n\n  &.left > .arrow {\n    top: 50%;\n    right: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-right-width: 0;\n    border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-left-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      right: 1px;\n      border-right-width: 0;\n      border-left-color: @popover-arrow-color;\n      bottom: -@popover-arrow-width;\n    }\n  }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n\n  > .item {\n    display: none;\n    position: relative;\n    .transition(.6s ease-in-out left);\n\n    // Account for jankitude on images\n    > img,\n    > a > img {\n      &:extend(.img-responsive);\n      line-height: 1;\n    }\n\n    // WebKit CSS3 transforms for supported devices\n    @media all and (transform-3d), (-webkit-transform-3d) {\n      .transition-transform(~'0.6s ease-in-out');\n      .backface-visibility(~'hidden');\n      .perspective(1000px);\n\n      &.next,\n      &.active.right {\n        .translate3d(100%, 0, 0);\n        left: 0;\n      }\n      &.prev,\n      &.active.left {\n        .translate3d(-100%, 0, 0);\n        left: 0;\n      }\n      &.next.left,\n      &.prev.right,\n      &.active {\n        .translate3d(0, 0, 0);\n        left: 0;\n      }\n    }\n  }\n\n  > .active,\n  > .next,\n  > .prev {\n    display: block;\n  }\n\n  > .active {\n    left: 0;\n  }\n\n  > .next,\n  > .prev {\n    position: absolute;\n    top: 0;\n    width: 100%;\n  }\n\n  > .next {\n    left: 100%;\n  }\n  > .prev {\n    left: -100%;\n  }\n  > .next.left,\n  > .prev.right {\n    left: 0;\n  }\n\n  > .active.left {\n    left: -100%;\n  }\n  > .active.right {\n    left: 100%;\n  }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: @carousel-control-width;\n  .opacity(@carousel-control-opacity);\n  font-size: @carousel-control-font-size;\n  color: @carousel-control-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n  // We can't have this transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Set gradients for backgrounds\n  &.left {\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n  }\n  &.right {\n    left: auto;\n    right: 0;\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n  }\n\n  // Hover/focus state\n  &:hover,\n  &:focus {\n    outline: 0;\n    color: @carousel-control-color;\n    text-decoration: none;\n    .opacity(.9);\n  }\n\n  // Toggles\n  .icon-prev,\n  .icon-next,\n  .glyphicon-chevron-left,\n  .glyphicon-chevron-right {\n    position: absolute;\n    top: 50%;\n    margin-top: -10px;\n    z-index: 5;\n    display: inline-block;\n  }\n  .icon-prev,\n  .glyphicon-chevron-left {\n    left: 50%;\n    margin-left: -10px;\n  }\n  .icon-next,\n  .glyphicon-chevron-right {\n    right: 50%;\n    margin-right: -10px;\n  }\n  .icon-prev,\n  .icon-next {\n    width:  20px;\n    height: 20px;\n    line-height: 1;\n    font-family: serif;\n  }\n\n\n  .icon-prev {\n    &:before {\n      content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n    }\n  }\n  .icon-next {\n    &:before {\n      content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n    }\n  }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n\n  li {\n    display: inline-block;\n    width:  10px;\n    height: 10px;\n    margin: 1px;\n    text-indent: -999px;\n    border: 1px solid @carousel-indicator-border-color;\n    border-radius: 10px;\n    cursor: pointer;\n\n    // IE8-9 hack for event handling\n    //\n    // Internet Explorer 8-9 does not support clicks on elements without a set\n    // `background-color`. We cannot use `filter` since that's not viewed as a\n    // background color by the browser. Thus, a hack is needed.\n    // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n    //\n    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n    // set alpha transparency for the best results possible.\n    background-color: #000 \\9; // IE8\n    background-color: rgba(0,0,0,0); // IE9\n  }\n  .active {\n    margin: 0;\n    width:  12px;\n    height: 12px;\n    background-color: @carousel-indicator-active-bg;\n  }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: @carousel-caption-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  & .btn {\n    text-shadow: none; // No shadow for button elements in carousel-caption\n  }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n  // Scale up the controls a smidge\n  .carousel-control {\n    .glyphicon-chevron-left,\n    .glyphicon-chevron-right,\n    .icon-prev,\n    .icon-next {\n      width: (@carousel-control-font-size * 1.5);\n      height: (@carousel-control-font-size * 1.5);\n      margin-top: (@carousel-control-font-size / -2);\n      font-size: (@carousel-control-font-size * 1.5);\n    }\n    .glyphicon-chevron-left,\n    .icon-prev {\n      margin-left: (@carousel-control-font-size / -2);\n    }\n    .glyphicon-chevron-right,\n    .icon-next {\n      margin-right: (@carousel-control-font-size / -2);\n    }\n  }\n\n  // Show and left align the captions\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n\n  // Move up the indicators\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    content: \" \"; // 1\n    display: table; // 2\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n  font: ~\"0/0\" a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n  .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n  width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n\n.visible-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-visibility();\n  }\n}\n.visible-xs-block {\n  @media (max-width: @screen-xs-max) {\n    display: block !important;\n  }\n}\n.visible-xs-inline {\n  @media (max-width: @screen-xs-max) {\n    display: inline !important;\n  }\n}\n.visible-xs-inline-block {\n  @media (max-width: @screen-xs-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-visibility();\n  }\n}\n.visible-sm-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: block !important;\n  }\n}\n.visible-sm-inline {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline !important;\n  }\n}\n.visible-sm-inline-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-visibility();\n  }\n}\n.visible-md-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: block !important;\n  }\n}\n.visible-md-inline {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline !important;\n  }\n}\n.visible-md-inline-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-visibility();\n  }\n}\n.visible-lg-block {\n  @media (min-width: @screen-lg-min) {\n    display: block !important;\n  }\n}\n.visible-lg-inline {\n  @media (min-width: @screen-lg-min) {\n    display: inline !important;\n  }\n}\n.visible-lg-inline-block {\n  @media (min-width: @screen-lg-min) {\n    display: inline-block !important;\n  }\n}\n\n.hidden-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-invisibility();\n  }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n  .responsive-invisibility();\n\n  @media print {\n    .responsive-visibility();\n  }\n}\n.visible-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.hidden-print {\n  @media print {\n    .responsive-invisibility();\n  }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n  display: block !important;\n  table&  { display: table !important; }\n  tr&     { display: table-row !important; }\n  th&,\n  td&     { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n  display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.eot b/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index b93a495..0000000
Binary files a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.eot and /dev/null differ
diff --git a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.svg b/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 94fb549..0000000
--- a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="400" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
-<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
-<glyph unicode="&#x2000;" horiz-adv-x="650" />
-<glyph unicode="&#x2001;" horiz-adv-x="1300" />
-<glyph unicode="&#x2002;" horiz-adv-x="650" />
-<glyph unicode="&#x2003;" horiz-adv-x="1300" />
-<glyph unicode="&#x2004;" horiz-adv-x="433" />
-<glyph unicode="&#x2005;" horiz-adv-x="325" />
-<glyph unicode="&#x2006;" horiz-adv-x="216" />
-<glyph unicode="&#x2007;" horiz-adv-x="216" />
-<glyph unicode="&#x2008;" horiz-adv-x="162" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="325" />
-<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
-<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
-<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
-<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
-<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
-<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
-<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
-<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
-<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
-<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
-<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
-<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
-<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
-<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
-<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
-<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
-<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
-<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
-<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
-<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
-<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
-<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
-<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
-<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
-<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
-<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
-<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
-<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
-<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
-<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
-<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
-<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
-<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
-<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
-<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
-<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
-<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
-<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
-<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
-<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
-<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
-<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
-<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
-<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
-<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
-<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
-<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
-<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
-<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
-<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
-<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
-<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
-<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
-<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
-<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
-<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
-<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
-<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
-<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
-<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
-<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
-<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
-<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
-<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
-<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
-<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
-<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
-<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
-<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
-<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
-<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
-<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
-<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
-<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
-<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
-<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
-<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
-<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
-<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
-<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
-<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
-<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
-<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
-<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
-<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
-<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
-<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
-<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
-<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
-<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
-<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
-<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
-<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
-<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
-<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
-<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
-<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
-<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
-<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
-<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
-<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
-<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
-<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
-<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
-<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
-<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
-<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
-<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
-<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
-<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
-<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
-<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
-<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
-<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
-<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
-<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
-<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
-<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
-<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
-<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
-<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
-<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
-<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
-<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
-<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
-<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
-<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
-<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
-<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
-<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
-<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
-<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
-<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
-<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
-<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
-<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
-<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
-<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
-<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
-<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
-<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
-<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
-<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
-<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
-<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
-<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
-<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
-<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
-<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
-<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
-<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
-<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
-<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
-<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
-<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
-<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
-<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
-<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
-<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
-<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
-<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
-<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
-<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
-<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
-<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
-<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
-<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
-<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
-<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.ttf b/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index 1413fc6..0000000
Binary files a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.ttf and /dev/null differ
diff --git a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.woff b/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 9e61285..0000000
Binary files a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.woff and /dev/null differ
diff --git a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.woff2
deleted file mode 100644
index 64539b5..0000000
Binary files a/server/target/classes/static/bootstrap/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ
diff --git a/server/target/classes/static/bootstrap/js/bootstrap.js b/server/target/classes/static/bootstrap/js/bootstrap.js
deleted file mode 100644
index 8a2e99a..0000000
--- a/server/target/classes/static/bootstrap/js/bootstrap.js
+++ /dev/null
@@ -1,2377 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-
-if (typeof jQuery === 'undefined') {
-  throw new Error('Bootstrap\'s JavaScript requires jQuery')
-}
-
-+function ($) {
-  'use strict';
-  var version = $.fn.jquery.split(' ')[0].split('.')
-  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {
-    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
-  }
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: transition.js v3.3.7
- * http://getbootstrap.com/javascript/#transitions
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
-  // ============================================================
-
-  function transitionEnd() {
-    var el = document.createElement('bootstrap')
-
-    var transEndEventNames = {
-      WebkitTransition : 'webkitTransitionEnd',
-      MozTransition    : 'transitionend',
-      OTransition      : 'oTransitionEnd otransitionend',
-      transition       : 'transitionend'
-    }
-
-    for (var name in transEndEventNames) {
-      if (el.style[name] !== undefined) {
-        return { end: transEndEventNames[name] }
-      }
-    }
-
-    return false // explicit for ie8 (  ._.)
-  }
-
-  // http://blog.alexmaccaw.com/css-transitions
-  $.fn.emulateTransitionEnd = function (duration) {
-    var called = false
-    var $el = this
-    $(this).one('bsTransitionEnd', function () { called = true })
-    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
-    setTimeout(callback, duration)
-    return this
-  }
-
-  $(function () {
-    $.support.transition = transitionEnd()
-
-    if (!$.support.transition) return
-
-    $.event.special.bsTransitionEnd = {
-      bindType: $.support.transition.end,
-      delegateType: $.support.transition.end,
-      handle: function (e) {
-        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
-      }
-    }
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: alert.js v3.3.7
- * http://getbootstrap.com/javascript/#alerts
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // ALERT CLASS DEFINITION
-  // ======================
-
-  var dismiss = '[data-dismiss="alert"]'
-  var Alert   = function (el) {
-    $(el).on('click', dismiss, this.close)
-  }
-
-  Alert.VERSION = '3.3.7'
-
-  Alert.TRANSITION_DURATION = 150
-
-  Alert.prototype.close = function (e) {
-    var $this    = $(this)
-    var selector = $this.attr('data-target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    var $parent = $(selector === '#' ? [] : selector)
-
-    if (e) e.preventDefault()
-
-    if (!$parent.length) {
-      $parent = $this.closest('.alert')
-    }
-
-    $parent.trigger(e = $.Event('close.bs.alert'))
-
-    if (e.isDefaultPrevented()) return
-
-    $parent.removeClass('in')
-
-    function removeElement() {
-      // detach from parent, fire event then clean up data
-      $parent.detach().trigger('closed.bs.alert').remove()
-    }
-
-    $.support.transition && $parent.hasClass('fade') ?
-      $parent
-        .one('bsTransitionEnd', removeElement)
-        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
-      removeElement()
-  }
-
-
-  // ALERT PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.alert')
-
-      if (!data) $this.data('bs.alert', (data = new Alert(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  var old = $.fn.alert
-
-  $.fn.alert             = Plugin
-  $.fn.alert.Constructor = Alert
-
-
-  // ALERT NO CONFLICT
-  // =================
-
-  $.fn.alert.noConflict = function () {
-    $.fn.alert = old
-    return this
-  }
-
-
-  // ALERT DATA-API
-  // ==============
-
-  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: button.js v3.3.7
- * http://getbootstrap.com/javascript/#buttons
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // BUTTON PUBLIC CLASS DEFINITION
-  // ==============================
-
-  var Button = function (element, options) {
-    this.$element  = $(element)
-    this.options   = $.extend({}, Button.DEFAULTS, options)
-    this.isLoading = false
-  }
-
-  Button.VERSION  = '3.3.7'
-
-  Button.DEFAULTS = {
-    loadingText: 'loading...'
-  }
-
-  Button.prototype.setState = function (state) {
-    var d    = 'disabled'
-    var $el  = this.$element
-    var val  = $el.is('input') ? 'val' : 'html'
-    var data = $el.data()
-
-    state += 'Text'
-
-    if (data.resetText == null) $el.data('resetText', $el[val]())
-
-    // push to event loop to allow forms to submit
-    setTimeout($.proxy(function () {
-      $el[val](data[state] == null ? this.options[state] : data[state])
-
-      if (state == 'loadingText') {
-        this.isLoading = true
-        $el.addClass(d).attr(d, d).prop(d, true)
-      } else if (this.isLoading) {
-        this.isLoading = false
-        $el.removeClass(d).removeAttr(d).prop(d, false)
-      }
-    }, this), 0)
-  }
-
-  Button.prototype.toggle = function () {
-    var changed = true
-    var $parent = this.$element.closest('[data-toggle="buttons"]')
-
-    if ($parent.length) {
-      var $input = this.$element.find('input')
-      if ($input.prop('type') == 'radio') {
-        if ($input.prop('checked')) changed = false
-        $parent.find('.active').removeClass('active')
-        this.$element.addClass('active')
-      } else if ($input.prop('type') == 'checkbox') {
-        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
-        this.$element.toggleClass('active')
-      }
-      $input.prop('checked', this.$element.hasClass('active'))
-      if (changed) $input.trigger('change')
-    } else {
-      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
-      this.$element.toggleClass('active')
-    }
-  }
-
-
-  // BUTTON PLUGIN DEFINITION
-  // ========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.button')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.button', (data = new Button(this, options)))
-
-      if (option == 'toggle') data.toggle()
-      else if (option) data.setState(option)
-    })
-  }
-
-  var old = $.fn.button
-
-  $.fn.button             = Plugin
-  $.fn.button.Constructor = Button
-
-
-  // BUTTON NO CONFLICT
-  // ==================
-
-  $.fn.button.noConflict = function () {
-    $.fn.button = old
-    return this
-  }
-
-
-  // BUTTON DATA-API
-  // ===============
-
-  $(document)
-    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      var $btn = $(e.target).closest('.btn')
-      Plugin.call($btn, 'toggle')
-      if (!($(e.target).is('input[type="radio"], input[type="checkbox"]'))) {
-        // Prevent double click on radios, and the double selections (so cancellation) on checkboxes
-        e.preventDefault()
-        // The target component still receive the focus
-        if ($btn.is('input,button')) $btn.trigger('focus')
-        else $btn.find('input:visible,button:visible').first().trigger('focus')
-      }
-    })
-    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
-    })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: carousel.js v3.3.7
- * http://getbootstrap.com/javascript/#carousel
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CAROUSEL CLASS DEFINITION
-  // =========================
-
-  var Carousel = function (element, options) {
-    this.$element    = $(element)
-    this.$indicators = this.$element.find('.carousel-indicators')
-    this.options     = options
-    this.paused      = null
-    this.sliding     = null
-    this.interval    = null
-    this.$active     = null
-    this.$items      = null
-
-    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
-
-    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
-      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
-      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
-  }
-
-  Carousel.VERSION  = '3.3.7'
-
-  Carousel.TRANSITION_DURATION = 600
-
-  Carousel.DEFAULTS = {
-    interval: 5000,
-    pause: 'hover',
-    wrap: true,
-    keyboard: true
-  }
-
-  Carousel.prototype.keydown = function (e) {
-    if (/input|textarea/i.test(e.target.tagName)) return
-    switch (e.which) {
-      case 37: this.prev(); break
-      case 39: this.next(); break
-      default: return
-    }
-
-    e.preventDefault()
-  }
-
-  Carousel.prototype.cycle = function (e) {
-    e || (this.paused = false)
-
-    this.interval && clearInterval(this.interval)
-
-    this.options.interval
-      && !this.paused
-      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-
-    return this
-  }
-
-  Carousel.prototype.getItemIndex = function (item) {
-    this.$items = item.parent().children('.item')
-    return this.$items.index(item || this.$active)
-  }
-
-  Carousel.prototype.getItemForDirection = function (direction, active) {
-    var activeIndex = this.getItemIndex(active)
-    var willWrap = (direction == 'prev' && activeIndex === 0)
-                || (direction == 'next' && activeIndex == (this.$items.length - 1))
-    if (willWrap && !this.options.wrap) return active
-    var delta = direction == 'prev' ? -1 : 1
-    var itemIndex = (activeIndex + delta) % this.$items.length
-    return this.$items.eq(itemIndex)
-  }
-
-  Carousel.prototype.to = function (pos) {
-    var that        = this
-    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
-
-    if (pos > (this.$items.length - 1) || pos < 0) return
-
-    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
-    if (activeIndex == pos) return this.pause().cycle()
-
-    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
-  }
-
-  Carousel.prototype.pause = function (e) {
-    e || (this.paused = true)
-
-    if (this.$element.find('.next, .prev').length && $.support.transition) {
-      this.$element.trigger($.support.transition.end)
-      this.cycle(true)
-    }
-
-    this.interval = clearInterval(this.interval)
-
-    return this
-  }
-
-  Carousel.prototype.next = function () {
-    if (this.sliding) return
-    return this.slide('next')
-  }
-
-  Carousel.prototype.prev = function () {
-    if (this.sliding) return
-    return this.slide('prev')
-  }
-
-  Carousel.prototype.slide = function (type, next) {
-    var $active   = this.$element.find('.item.active')
-    var $next     = next || this.getItemForDirection(type, $active)
-    var isCycling = this.interval
-    var direction = type == 'next' ? 'left' : 'right'
-    var that      = this
-
-    if ($next.hasClass('active')) return (this.sliding = false)
-
-    var relatedTarget = $next[0]
-    var slideEvent = $.Event('slide.bs.carousel', {
-      relatedTarget: relatedTarget,
-      direction: direction
-    })
-    this.$element.trigger(slideEvent)
-    if (slideEvent.isDefaultPrevented()) return
-
-    this.sliding = true
-
-    isCycling && this.pause()
-
-    if (this.$indicators.length) {
-      this.$indicators.find('.active').removeClass('active')
-      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
-      $nextIndicator && $nextIndicator.addClass('active')
-    }
-
-    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
-    if ($.support.transition && this.$element.hasClass('slide')) {
-      $next.addClass(type)
-      $next[0].offsetWidth // force reflow
-      $active.addClass(direction)
-      $next.addClass(direction)
-      $active
-        .one('bsTransitionEnd', function () {
-          $next.removeClass([type, direction].join(' ')).addClass('active')
-          $active.removeClass(['active', direction].join(' '))
-          that.sliding = false
-          setTimeout(function () {
-            that.$element.trigger(slidEvent)
-          }, 0)
-        })
-        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
-    } else {
-      $active.removeClass('active')
-      $next.addClass('active')
-      this.sliding = false
-      this.$element.trigger(slidEvent)
-    }
-
-    isCycling && this.cycle()
-
-    return this
-  }
-
-
-  // CAROUSEL PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.carousel')
-      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
-      var action  = typeof option == 'string' ? option : options.slide
-
-      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'number') data.to(option)
-      else if (action) data[action]()
-      else if (options.interval) data.pause().cycle()
-    })
-  }
-
-  var old = $.fn.carousel
-
-  $.fn.carousel             = Plugin
-  $.fn.carousel.Constructor = Carousel
-
-
-  // CAROUSEL NO CONFLICT
-  // ====================
-
-  $.fn.carousel.noConflict = function () {
-    $.fn.carousel = old
-    return this
-  }
-
-
-  // CAROUSEL DATA-API
-  // =================
-
-  var clickHandler = function (e) {
-    var href
-    var $this   = $(this)
-    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
-    if (!$target.hasClass('carousel')) return
-    var options = $.extend({}, $target.data(), $this.data())
-    var slideIndex = $this.attr('data-slide-to')
-    if (slideIndex) options.interval = false
-
-    Plugin.call($target, options)
-
-    if (slideIndex) {
-      $target.data('bs.carousel').to(slideIndex)
-    }
-
-    e.preventDefault()
-  }
-
-  $(document)
-    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
-    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
-
-  $(window).on('load', function () {
-    $('[data-ride="carousel"]').each(function () {
-      var $carousel = $(this)
-      Plugin.call($carousel, $carousel.data())
-    })
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: collapse.js v3.3.7
- * http://getbootstrap.com/javascript/#collapse
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-/* jshint latedef: false */
-
-+function ($) {
-  'use strict';
-
-  // COLLAPSE PUBLIC CLASS DEFINITION
-  // ================================
-
-  var Collapse = function (element, options) {
-    this.$element      = $(element)
-    this.options       = $.extend({}, Collapse.DEFAULTS, options)
-    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
-                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
-    this.transitioning = null
-
-    if (this.options.parent) {
-      this.$parent = this.getParent()
-    } else {
-      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
-    }
-
-    if (this.options.toggle) this.toggle()
-  }
-
-  Collapse.VERSION  = '3.3.7'
-
-  Collapse.TRANSITION_DURATION = 350
-
-  Collapse.DEFAULTS = {
-    toggle: true
-  }
-
-  Collapse.prototype.dimension = function () {
-    var hasWidth = this.$element.hasClass('width')
-    return hasWidth ? 'width' : 'height'
-  }
-
-  Collapse.prototype.show = function () {
-    if (this.transitioning || this.$element.hasClass('in')) return
-
-    var activesData
-    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
-
-    if (actives && actives.length) {
-      activesData = actives.data('bs.collapse')
-      if (activesData && activesData.transitioning) return
-    }
-
-    var startEvent = $.Event('show.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
-
-    if (actives && actives.length) {
-      Plugin.call(actives, 'hide')
-      activesData || actives.data('bs.collapse', null)
-    }
-
-    var dimension = this.dimension()
-
-    this.$element
-      .removeClass('collapse')
-      .addClass('collapsing')[dimension](0)
-      .attr('aria-expanded', true)
-
-    this.$trigger
-      .removeClass('collapsed')
-      .attr('aria-expanded', true)
-
-    this.transitioning = 1
-
-    var complete = function () {
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse in')[dimension]('')
-      this.transitioning = 0
-      this.$element
-        .trigger('shown.bs.collapse')
-    }
-
-    if (!$.support.transition) return complete.call(this)
-
-    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
-
-    this.$element
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
-  }
-
-  Collapse.prototype.hide = function () {
-    if (this.transitioning || !this.$element.hasClass('in')) return
-
-    var startEvent = $.Event('hide.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
-
-    var dimension = this.dimension()
-
-    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
-
-    this.$element
-      .addClass('collapsing')
-      .removeClass('collapse in')
-      .attr('aria-expanded', false)
-
-    this.$trigger
-      .addClass('collapsed')
-      .attr('aria-expanded', false)
-
-    this.transitioning = 1
-
-    var complete = function () {
-      this.transitioning = 0
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse')
-        .trigger('hidden.bs.collapse')
-    }
-
-    if (!$.support.transition) return complete.call(this)
-
-    this.$element
-      [dimension](0)
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
-  }
-
-  Collapse.prototype.toggle = function () {
-    this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  }
-
-  Collapse.prototype.getParent = function () {
-    return $(this.options.parent)
-      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
-      .each($.proxy(function (i, element) {
-        var $element = $(element)
-        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
-      }, this))
-      .end()
-  }
-
-  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
-    var isOpen = $element.hasClass('in')
-
-    $element.attr('aria-expanded', isOpen)
-    $trigger
-      .toggleClass('collapsed', !isOpen)
-      .attr('aria-expanded', isOpen)
-  }
-
-  function getTargetFromTrigger($trigger) {
-    var href
-    var target = $trigger.attr('data-target')
-      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
-
-    return $(target)
-  }
-
-
-  // COLLAPSE PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.collapse')
-      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
-      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
-      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.collapse
-
-  $.fn.collapse             = Plugin
-  $.fn.collapse.Constructor = Collapse
-
-
-  // COLLAPSE NO CONFLICT
-  // ====================
-
-  $.fn.collapse.noConflict = function () {
-    $.fn.collapse = old
-    return this
-  }
-
-
-  // COLLAPSE DATA-API
-  // =================
-
-  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
-    var $this   = $(this)
-
-    if (!$this.attr('data-target')) e.preventDefault()
-
-    var $target = getTargetFromTrigger($this)
-    var data    = $target.data('bs.collapse')
-    var option  = data ? 'toggle' : $this.data()
-
-    Plugin.call($target, option)
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: dropdown.js v3.3.7
- * http://getbootstrap.com/javascript/#dropdowns
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // DROPDOWN CLASS DEFINITION
-  // =========================
-
-  var backdrop = '.dropdown-backdrop'
-  var toggle   = '[data-toggle="dropdown"]'
-  var Dropdown = function (element) {
-    $(element).on('click.bs.dropdown', this.toggle)
-  }
-
-  Dropdown.VERSION = '3.3.7'
-
-  function getParent($this) {
-    var selector = $this.attr('data-target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    var $parent = selector && $(selector)
-
-    return $parent && $parent.length ? $parent : $this.parent()
-  }
-
-  function clearMenus(e) {
-    if (e && e.which === 3) return
-    $(backdrop).remove()
-    $(toggle).each(function () {
-      var $this         = $(this)
-      var $parent       = getParent($this)
-      var relatedTarget = { relatedTarget: this }
-
-      if (!$parent.hasClass('open')) return
-
-      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
-
-      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
-
-      if (e.isDefaultPrevented()) return
-
-      $this.attr('aria-expanded', 'false')
-      $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
-    })
-  }
-
-  Dropdown.prototype.toggle = function (e) {
-    var $this = $(this)
-
-    if ($this.is('.disabled, :disabled')) return
-
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
-
-    clearMenus()
-
-    if (!isActive) {
-      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
-        // if mobile we use a backdrop because click events don't delegate
-        $(document.createElement('div'))
-          .addClass('dropdown-backdrop')
-          .insertAfter($(this))
-          .on('click', clearMenus)
-      }
-
-      var relatedTarget = { relatedTarget: this }
-      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
-
-      if (e.isDefaultPrevented()) return
-
-      $this
-        .trigger('focus')
-        .attr('aria-expanded', 'true')
-
-      $parent
-        .toggleClass('open')
-        .trigger($.Event('shown.bs.dropdown', relatedTarget))
-    }
-
-    return false
-  }
-
-  Dropdown.prototype.keydown = function (e) {
-    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
-
-    var $this = $(this)
-
-    e.preventDefault()
-    e.stopPropagation()
-
-    if ($this.is('.disabled, :disabled')) return
-
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
-
-    if (!isActive && e.which != 27 || isActive && e.which == 27) {
-      if (e.which == 27) $parent.find(toggle).trigger('focus')
-      return $this.trigger('click')
-    }
-
-    var desc = ' li:not(.disabled):visible a'
-    var $items = $parent.find('.dropdown-menu' + desc)
-
-    if (!$items.length) return
-
-    var index = $items.index(e.target)
-
-    if (e.which == 38 && index > 0)                 index--         // up
-    if (e.which == 40 && index < $items.length - 1) index++         // down
-    if (!~index)                                    index = 0
-
-    $items.eq(index).trigger('focus')
-  }
-
-
-  // DROPDOWN PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.dropdown')
-
-      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  var old = $.fn.dropdown
-
-  $.fn.dropdown             = Plugin
-  $.fn.dropdown.Constructor = Dropdown
-
-
-  // DROPDOWN NO CONFLICT
-  // ====================
-
-  $.fn.dropdown.noConflict = function () {
-    $.fn.dropdown = old
-    return this
-  }
-
-
-  // APPLY TO STANDARD DROPDOWN ELEMENTS
-  // ===================================
-
-  $(document)
-    .on('click.bs.dropdown.data-api', clearMenus)
-    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
-    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
-    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
-    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: modal.js v3.3.7
- * http://getbootstrap.com/javascript/#modals
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // MODAL CLASS DEFINITION
-  // ======================
-
-  var Modal = function (element, options) {
-    this.options             = options
-    this.$body               = $(document.body)
-    this.$element            = $(element)
-    this.$dialog             = this.$element.find('.modal-dialog')
-    this.$backdrop           = null
-    this.isShown             = null
-    this.originalBodyPad     = null
-    this.scrollbarWidth      = 0
-    this.ignoreBackdropClick = false
-
-    if (this.options.remote) {
-      this.$element
-        .find('.modal-content')
-        .load(this.options.remote, $.proxy(function () {
-          this.$element.trigger('loaded.bs.modal')
-        }, this))
-    }
-  }
-
-  Modal.VERSION  = '3.3.7'
-
-  Modal.TRANSITION_DURATION = 300
-  Modal.BACKDROP_TRANSITION_DURATION = 150
-
-  Modal.DEFAULTS = {
-    backdrop: true,
-    keyboard: true,
-    show: true
-  }
-
-  Modal.prototype.toggle = function (_relatedTarget) {
-    return this.isShown ? this.hide() : this.show(_relatedTarget)
-  }
-
-  Modal.prototype.show = function (_relatedTarget) {
-    var that = this
-    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
-
-    this.$element.trigger(e)
-
-    if (this.isShown || e.isDefaultPrevented()) return
-
-    this.isShown = true
-
-    this.checkScrollbar()
-    this.setScrollbar()
-    this.$body.addClass('modal-open')
-
-    this.escape()
-    this.resize()
-
-    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
-
-    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
-      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
-        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
-      })
-    })
-
-    this.backdrop(function () {
-      var transition = $.support.transition && that.$element.hasClass('fade')
-
-      if (!that.$element.parent().length) {
-        that.$element.appendTo(that.$body) // don't move modals dom position
-      }
-
-      that.$element
-        .show()
-        .scrollTop(0)
-
-      that.adjustDialog()
-
-      if (transition) {
-        that.$element[0].offsetWidth // force reflow
-      }
-
-      that.$element.addClass('in')
-
-      that.enforceFocus()
-
-      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
-
-      transition ?
-        that.$dialog // wait for modal to slide in
-          .one('bsTransitionEnd', function () {
-            that.$element.trigger('focus').trigger(e)
-          })
-          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-        that.$element.trigger('focus').trigger(e)
-    })
-  }
-
-  Modal.prototype.hide = function (e) {
-    if (e) e.preventDefault()
-
-    e = $.Event('hide.bs.modal')
-
-    this.$element.trigger(e)
-
-    if (!this.isShown || e.isDefaultPrevented()) return
-
-    this.isShown = false
-
-    this.escape()
-    this.resize()
-
-    $(document).off('focusin.bs.modal')
-
-    this.$element
-      .removeClass('in')
-      .off('click.dismiss.bs.modal')
-      .off('mouseup.dismiss.bs.modal')
-
-    this.$dialog.off('mousedown.dismiss.bs.modal')
-
-    $.support.transition && this.$element.hasClass('fade') ?
-      this.$element
-        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
-        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-      this.hideModal()
-  }
-
-  Modal.prototype.enforceFocus = function () {
-    $(document)
-      .off('focusin.bs.modal') // guard against infinite focus loop
-      .on('focusin.bs.modal', $.proxy(function (e) {
-        if (document !== e.target &&
-            this.$element[0] !== e.target &&
-            !this.$element.has(e.target).length) {
-          this.$element.trigger('focus')
-        }
-      }, this))
-  }
-
-  Modal.prototype.escape = function () {
-    if (this.isShown && this.options.keyboard) {
-      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
-        e.which == 27 && this.hide()
-      }, this))
-    } else if (!this.isShown) {
-      this.$element.off('keydown.dismiss.bs.modal')
-    }
-  }
-
-  Modal.prototype.resize = function () {
-    if (this.isShown) {
-      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
-    } else {
-      $(window).off('resize.bs.modal')
-    }
-  }
-
-  Modal.prototype.hideModal = function () {
-    var that = this
-    this.$element.hide()
-    this.backdrop(function () {
-      that.$body.removeClass('modal-open')
-      that.resetAdjustments()
-      that.resetScrollbar()
-      that.$element.trigger('hidden.bs.modal')
-    })
-  }
-
-  Modal.prototype.removeBackdrop = function () {
-    this.$backdrop && this.$backdrop.remove()
-    this.$backdrop = null
-  }
-
-  Modal.prototype.backdrop = function (callback) {
-    var that = this
-    var animate = this.$element.hasClass('fade') ? 'fade' : ''
-
-    if (this.isShown && this.options.backdrop) {
-      var doAnimate = $.support.transition && animate
-
-      this.$backdrop = $(document.createElement('div'))
-        .addClass('modal-backdrop ' + animate)
-        .appendTo(this.$body)
-
-      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
-        if (this.ignoreBackdropClick) {
-          this.ignoreBackdropClick = false
-          return
-        }
-        if (e.target !== e.currentTarget) return
-        this.options.backdrop == 'static'
-          ? this.$element[0].focus()
-          : this.hide()
-      }, this))
-
-      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
-      this.$backdrop.addClass('in')
-
-      if (!callback) return
-
-      doAnimate ?
-        this.$backdrop
-          .one('bsTransitionEnd', callback)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callback()
-
-    } else if (!this.isShown && this.$backdrop) {
-      this.$backdrop.removeClass('in')
-
-      var callbackRemove = function () {
-        that.removeBackdrop()
-        callback && callback()
-      }
-      $.support.transition && this.$element.hasClass('fade') ?
-        this.$backdrop
-          .one('bsTransitionEnd', callbackRemove)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callbackRemove()
-
-    } else if (callback) {
-      callback()
-    }
-  }
-
-  // these following methods are used to handle overflowing modals
-
-  Modal.prototype.handleUpdate = function () {
-    this.adjustDialog()
-  }
-
-  Modal.prototype.adjustDialog = function () {
-    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
-
-    this.$element.css({
-      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
-      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
-    })
-  }
-
-  Modal.prototype.resetAdjustments = function () {
-    this.$element.css({
-      paddingLeft: '',
-      paddingRight: ''
-    })
-  }
-
-  Modal.prototype.checkScrollbar = function () {
-    var fullWindowWidth = window.innerWidth
-    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
-      var documentElementRect = document.documentElement.getBoundingClientRect()
-      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
-    }
-    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
-    this.scrollbarWidth = this.measureScrollbar()
-  }
-
-  Modal.prototype.setScrollbar = function () {
-    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
-    this.originalBodyPad = document.body.style.paddingRight || ''
-    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
-  }
-
-  Modal.prototype.resetScrollbar = function () {
-    this.$body.css('padding-right', this.originalBodyPad)
-  }
-
-  Modal.prototype.measureScrollbar = function () { // thx walsh
-    var scrollDiv = document.createElement('div')
-    scrollDiv.className = 'modal-scrollbar-measure'
-    this.$body.append(scrollDiv)
-    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
-    this.$body[0].removeChild(scrollDiv)
-    return scrollbarWidth
-  }
-
-
-  // MODAL PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option, _relatedTarget) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.modal')
-      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
-      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
-      if (typeof option == 'string') data[option](_relatedTarget)
-      else if (options.show) data.show(_relatedTarget)
-    })
-  }
-
-  var old = $.fn.modal
-
-  $.fn.modal             = Plugin
-  $.fn.modal.Constructor = Modal
-
-
-  // MODAL NO CONFLICT
-  // =================
-
-  $.fn.modal.noConflict = function () {
-    $.fn.modal = old
-    return this
-  }
-
-
-  // MODAL DATA-API
-  // ==============
-
-  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
-    var $this   = $(this)
-    var href    = $this.attr('href')
-    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
-    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
-
-    if ($this.is('a')) e.preventDefault()
-
-    $target.one('show.bs.modal', function (showEvent) {
-      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
-      $target.one('hidden.bs.modal', function () {
-        $this.is(':visible') && $this.trigger('focus')
-      })
-    })
-    Plugin.call($target, option, this)
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tooltip.js v3.3.7
- * http://getbootstrap.com/javascript/#tooltip
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // TOOLTIP PUBLIC CLASS DEFINITION
-  // ===============================
-
-  var Tooltip = function (element, options) {
-    this.type       = null
-    this.options    = null
-    this.enabled    = null
-    this.timeout    = null
-    this.hoverState = null
-    this.$element   = null
-    this.inState    = null
-
-    this.init('tooltip', element, options)
-  }
-
-  Tooltip.VERSION  = '3.3.7'
-
-  Tooltip.TRANSITION_DURATION = 150
-
-  Tooltip.DEFAULTS = {
-    animation: true,
-    placement: 'top',
-    selector: false,
-    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
-    trigger: 'hover focus',
-    title: '',
-    delay: 0,
-    html: false,
-    container: false,
-    viewport: {
-      selector: 'body',
-      padding: 0
-    }
-  }
-
-  Tooltip.prototype.init = function (type, element, options) {
-    this.enabled   = true
-    this.type      = type
-    this.$element  = $(element)
-    this.options   = this.getOptions(options)
-    this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
-    this.inState   = { click: false, hover: false, focus: false }
-
-    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
-      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
-    }
-
-    var triggers = this.options.trigger.split(' ')
-
-    for (var i = triggers.length; i--;) {
-      var trigger = triggers[i]
-
-      if (trigger == 'click') {
-        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
-      } else if (trigger != 'manual') {
-        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
-        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
-
-        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
-        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
-      }
-    }
-
-    this.options.selector ?
-      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
-      this.fixTitle()
-  }
-
-  Tooltip.prototype.getDefaults = function () {
-    return Tooltip.DEFAULTS
-  }
-
-  Tooltip.prototype.getOptions = function (options) {
-    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
-
-    if (options.delay && typeof options.delay == 'number') {
-      options.delay = {
-        show: options.delay,
-        hide: options.delay
-      }
-    }
-
-    return options
-  }
-
-  Tooltip.prototype.getDelegateOptions = function () {
-    var options  = {}
-    var defaults = this.getDefaults()
-
-    this._options && $.each(this._options, function (key, value) {
-      if (defaults[key] != value) options[key] = value
-    })
-
-    return options
-  }
-
-  Tooltip.prototype.enter = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
-
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
-
-    if (obj instanceof $.Event) {
-      self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
-    }
-
-    if (self.tip().hasClass('in') || self.hoverState == 'in') {
-      self.hoverState = 'in'
-      return
-    }
-
-    clearTimeout(self.timeout)
-
-    self.hoverState = 'in'
-
-    if (!self.options.delay || !self.options.delay.show) return self.show()
-
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'in') self.show()
-    }, self.options.delay.show)
-  }
-
-  Tooltip.prototype.isInStateTrue = function () {
-    for (var key in this.inState) {
-      if (this.inState[key]) return true
-    }
-
-    return false
-  }
-
-  Tooltip.prototype.leave = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
-
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
-
-    if (obj instanceof $.Event) {
-      self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
-    }
-
-    if (self.isInStateTrue()) return
-
-    clearTimeout(self.timeout)
-
-    self.hoverState = 'out'
-
-    if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'out') self.hide()
-    }, self.options.delay.hide)
-  }
-
-  Tooltip.prototype.show = function () {
-    var e = $.Event('show.bs.' + this.type)
-
-    if (this.hasContent() && this.enabled) {
-      this.$element.trigger(e)
-
-      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
-      if (e.isDefaultPrevented() || !inDom) return
-      var that = this
-
-      var $tip = this.tip()
-
-      var tipId = this.getUID(this.type)
-
-      this.setContent()
-      $tip.attr('id', tipId)
-      this.$element.attr('aria-describedby', tipId)
-
-      if (this.options.animation) $tip.addClass('fade')
-
-      var placement = typeof this.options.placement == 'function' ?
-        this.options.placement.call(this, $tip[0], this.$element[0]) :
-        this.options.placement
-
-      var autoToken = /\s?auto?\s?/i
-      var autoPlace = autoToken.test(placement)
-      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
-
-      $tip
-        .detach()
-        .css({ top: 0, left: 0, display: 'block' })
-        .addClass(placement)
-        .data('bs.' + this.type, this)
-
-      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-      this.$element.trigger('inserted.bs.' + this.type)
-
-      var pos          = this.getPosition()
-      var actualWidth  = $tip[0].offsetWidth
-      var actualHeight = $tip[0].offsetHeight
-
-      if (autoPlace) {
-        var orgPlacement = placement
-        var viewportDim = this.getPosition(this.$viewport)
-
-        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :
-                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :
-                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :
-                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :
-                    placement
-
-        $tip
-          .removeClass(orgPlacement)
-          .addClass(placement)
-      }
-
-      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
-
-      this.applyPlacement(calculatedOffset, placement)
-
-      var complete = function () {
-        var prevHoverState = that.hoverState
-        that.$element.trigger('shown.bs.' + that.type)
-        that.hoverState = null
-
-        if (prevHoverState == 'out') that.leave(that)
-      }
-
-      $.support.transition && this.$tip.hasClass('fade') ?
-        $tip
-          .one('bsTransitionEnd', complete)
-          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-        complete()
-    }
-  }
-
-  Tooltip.prototype.applyPlacement = function (offset, placement) {
-    var $tip   = this.tip()
-    var width  = $tip[0].offsetWidth
-    var height = $tip[0].offsetHeight
-
-    // manually read margins because getBoundingClientRect includes difference
-    var marginTop = parseInt($tip.css('margin-top'), 10)
-    var marginLeft = parseInt($tip.css('margin-left'), 10)
-
-    // we must check for NaN for ie 8/9
-    if (isNaN(marginTop))  marginTop  = 0
-    if (isNaN(marginLeft)) marginLeft = 0
-
-    offset.top  += marginTop
-    offset.left += marginLeft
-
-    // $.fn.offset doesn't round pixel values
-    // so we use setOffset directly with our own function B-0
-    $.offset.setOffset($tip[0], $.extend({
-      using: function (props) {
-        $tip.css({
-          top: Math.round(props.top),
-          left: Math.round(props.left)
-        })
-      }
-    }, offset), 0)
-
-    $tip.addClass('in')
-
-    // check to see if placing tip in new offset caused the tip to resize itself
-    var actualWidth  = $tip[0].offsetWidth
-    var actualHeight = $tip[0].offsetHeight
-
-    if (placement == 'top' && actualHeight != height) {
-      offset.top = offset.top + height - actualHeight
-    }
-
-    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
-
-    if (delta.left) offset.left += delta.left
-    else offset.top += delta.top
-
-    var isVertical          = /top|bottom/.test(placement)
-    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
-    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
-
-    $tip.offset(offset)
-    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
-  }
-
-  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
-    this.arrow()
-      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
-      .css(isVertical ? 'top' : 'left', '')
-  }
-
-  Tooltip.prototype.setContent = function () {
-    var $tip  = this.tip()
-    var title = this.getTitle()
-
-    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
-    $tip.removeClass('fade in top bottom left right')
-  }
-
-  Tooltip.prototype.hide = function (callback) {
-    var that = this
-    var $tip = $(this.$tip)
-    var e    = $.Event('hide.bs.' + this.type)
-
-    function complete() {
-      if (that.hoverState != 'in') $tip.detach()
-      if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.
-        that.$element
-          .removeAttr('aria-describedby')
-          .trigger('hidden.bs.' + that.type)
-      }
-      callback && callback()
-    }
-
-    this.$element.trigger(e)
-
-    if (e.isDefaultPrevented()) return
-
-    $tip.removeClass('in')
-
-    $.support.transition && $tip.hasClass('fade') ?
-      $tip
-        .one('bsTransitionEnd', complete)
-        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-      complete()
-
-    this.hoverState = null
-
-    return this
-  }
-
-  Tooltip.prototype.fixTitle = function () {
-    var $e = this.$element
-    if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
-      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
-    }
-  }
-
-  Tooltip.prototype.hasContent = function () {
-    return this.getTitle()
-  }
-
-  Tooltip.prototype.getPosition = function ($element) {
-    $element   = $element || this.$element
-
-    var el     = $element[0]
-    var isBody = el.tagName == 'BODY'
-
-    var elRect    = el.getBoundingClientRect()
-    if (elRect.width == null) {
-      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
-      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
-    }
-    var isSvg = window.SVGElement && el instanceof window.SVGElement
-    // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.
-    // See https://github.com/twbs/bootstrap/issues/20280
-    var elOffset  = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())
-    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
-    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
-
-    return $.extend({}, elRect, scroll, outerDims, elOffset)
-  }
-
-  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
-    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
-           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
-           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
-        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
-
-  }
-
-  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
-    var delta = { top: 0, left: 0 }
-    if (!this.$viewport) return delta
-
-    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
-    var viewportDimensions = this.getPosition(this.$viewport)
-
-    if (/right|left/.test(placement)) {
-      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
-      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
-      if (topEdgeOffset < viewportDimensions.top) { // top overflow
-        delta.top = viewportDimensions.top - topEdgeOffset
-      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
-        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
-      }
-    } else {
-      var leftEdgeOffset  = pos.left - viewportPadding
-      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
-      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
-        delta.left = viewportDimensions.left - leftEdgeOffset
-      } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
-        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
-      }
-    }
-
-    return delta
-  }
-
-  Tooltip.prototype.getTitle = function () {
-    var title
-    var $e = this.$element
-    var o  = this.options
-
-    title = $e.attr('data-original-title')
-      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
-
-    return title
-  }
-
-  Tooltip.prototype.getUID = function (prefix) {
-    do prefix += ~~(Math.random() * 1000000)
-    while (document.getElementById(prefix))
-    return prefix
-  }
-
-  Tooltip.prototype.tip = function () {
-    if (!this.$tip) {
-      this.$tip = $(this.options.template)
-      if (this.$tip.length != 1) {
-        throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
-      }
-    }
-    return this.$tip
-  }
-
-  Tooltip.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
-  }
-
-  Tooltip.prototype.enable = function () {
-    this.enabled = true
-  }
-
-  Tooltip.prototype.disable = function () {
-    this.enabled = false
-  }
-
-  Tooltip.prototype.toggleEnabled = function () {
-    this.enabled = !this.enabled
-  }
-
-  Tooltip.prototype.toggle = function (e) {
-    var self = this
-    if (e) {
-      self = $(e.currentTarget).data('bs.' + this.type)
-      if (!self) {
-        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
-        $(e.currentTarget).data('bs.' + this.type, self)
-      }
-    }
-
-    if (e) {
-      self.inState.click = !self.inState.click
-      if (self.isInStateTrue()) self.enter(self)
-      else self.leave(self)
-    } else {
-      self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
-    }
-  }
-
-  Tooltip.prototype.destroy = function () {
-    var that = this
-    clearTimeout(this.timeout)
-    this.hide(function () {
-      that.$element.off('.' + that.type).removeData('bs.' + that.type)
-      if (that.$tip) {
-        that.$tip.detach()
-      }
-      that.$tip = null
-      that.$arrow = null
-      that.$viewport = null
-      that.$element = null
-    })
-  }
-
-
-  // TOOLTIP PLUGIN DEFINITION
-  // =========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.tooltip')
-      var options = typeof option == 'object' && option
-
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.tooltip
-
-  $.fn.tooltip             = Plugin
-  $.fn.tooltip.Constructor = Tooltip
-
-
-  // TOOLTIP NO CONFLICT
-  // ===================
-
-  $.fn.tooltip.noConflict = function () {
-    $.fn.tooltip = old
-    return this
-  }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: popover.js v3.3.7
- * http://getbootstrap.com/javascript/#popovers
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // POPOVER PUBLIC CLASS DEFINITION
-  // ===============================
-
-  var Popover = function (element, options) {
-    this.init('popover', element, options)
-  }
-
-  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
-
-  Popover.VERSION  = '3.3.7'
-
-  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
-    placement: 'right',
-    trigger: 'click',
-    content: '',
-    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
-  })
-
-
-  // NOTE: POPOVER EXTENDS tooltip.js
-  // ================================
-
-  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
-
-  Popover.prototype.constructor = Popover
-
-  Popover.prototype.getDefaults = function () {
-    return Popover.DEFAULTS
-  }
-
-  Popover.prototype.setContent = function () {
-    var $tip    = this.tip()
-    var title   = this.getTitle()
-    var content = this.getContent()
-
-    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
-    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
-      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
-    ](content)
-
-    $tip.removeClass('fade top bottom left right in')
-
-    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
-    // this manually by checking the contents.
-    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
-  }
-
-  Popover.prototype.hasContent = function () {
-    return this.getTitle() || this.getContent()
-  }
-
-  Popover.prototype.getContent = function () {
-    var $e = this.$element
-    var o  = this.options
-
-    return $e.attr('data-content')
-      || (typeof o.content == 'function' ?
-            o.content.call($e[0]) :
-            o.content)
-  }
-
-  Popover.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
-  }
-
-
-  // POPOVER PLUGIN DEFINITION
-  // =========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.popover')
-      var options = typeof option == 'object' && option
-
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.popover
-
-  $.fn.popover             = Plugin
-  $.fn.popover.Constructor = Popover
-
-
-  // POPOVER NO CONFLICT
-  // ===================
-
-  $.fn.popover.noConflict = function () {
-    $.fn.popover = old
-    return this
-  }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.7
- * http://getbootstrap.com/javascript/#scrollspy
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // SCROLLSPY CLASS DEFINITION
-  // ==========================
-
-  function ScrollSpy(element, options) {
-    this.$body          = $(document.body)
-    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
-    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
-    this.selector       = (this.options.target || '') + ' .nav li > a'
-    this.offsets        = []
-    this.targets        = []
-    this.activeTarget   = null
-    this.scrollHeight   = 0
-
-    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
-    this.refresh()
-    this.process()
-  }
-
-  ScrollSpy.VERSION  = '3.3.7'
-
-  ScrollSpy.DEFAULTS = {
-    offset: 10
-  }
-
-  ScrollSpy.prototype.getScrollHeight = function () {
-    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
-  }
-
-  ScrollSpy.prototype.refresh = function () {
-    var that          = this
-    var offsetMethod  = 'offset'
-    var offsetBase    = 0
-
-    this.offsets      = []
-    this.targets      = []
-    this.scrollHeight = this.getScrollHeight()
-
-    if (!$.isWindow(this.$scrollElement[0])) {
-      offsetMethod = 'position'
-      offsetBase   = this.$scrollElement.scrollTop()
-    }
-
-    this.$body
-      .find(this.selector)
-      .map(function () {
-        var $el   = $(this)
-        var href  = $el.data('target') || $el.attr('href')
-        var $href = /^#./.test(href) && $(href)
-
-        return ($href
-          && $href.length
-          && $href.is(':visible')
-          && [[$href[offsetMethod]().top + offsetBase, href]]) || null
-      })
-      .sort(function (a, b) { return a[0] - b[0] })
-      .each(function () {
-        that.offsets.push(this[0])
-        that.targets.push(this[1])
-      })
-  }
-
-  ScrollSpy.prototype.process = function () {
-    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
-    var scrollHeight = this.getScrollHeight()
-    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
-    var offsets      = this.offsets
-    var targets      = this.targets
-    var activeTarget = this.activeTarget
-    var i
-
-    if (this.scrollHeight != scrollHeight) {
-      this.refresh()
-    }
-
-    if (scrollTop >= maxScroll) {
-      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
-    }
-
-    if (activeTarget && scrollTop < offsets[0]) {
-      this.activeTarget = null
-      return this.clear()
-    }
-
-    for (i = offsets.length; i--;) {
-      activeTarget != targets[i]
-        && scrollTop >= offsets[i]
-        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
-        && this.activate(targets[i])
-    }
-  }
-
-  ScrollSpy.prototype.activate = function (target) {
-    this.activeTarget = target
-
-    this.clear()
-
-    var selector = this.selector +
-      '[data-target="' + target + '"],' +
-      this.selector + '[href="' + target + '"]'
-
-    var active = $(selector)
-      .parents('li')
-      .addClass('active')
-
-    if (active.parent('.dropdown-menu').length) {
-      active = active
-        .closest('li.dropdown')
-        .addClass('active')
-    }
-
-    active.trigger('activate.bs.scrollspy')
-  }
-
-  ScrollSpy.prototype.clear = function () {
-    $(this.selector)
-      .parentsUntil(this.options.target, '.active')
-      .removeClass('active')
-  }
-
-
-  // SCROLLSPY PLUGIN DEFINITION
-  // ===========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.scrollspy')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.scrollspy
-
-  $.fn.scrollspy             = Plugin
-  $.fn.scrollspy.Constructor = ScrollSpy
-
-
-  // SCROLLSPY NO CONFLICT
-  // =====================
-
-  $.fn.scrollspy.noConflict = function () {
-    $.fn.scrollspy = old
-    return this
-  }
-
-
-  // SCROLLSPY DATA-API
-  // ==================
-
-  $(window).on('load.bs.scrollspy.data-api', function () {
-    $('[data-spy="scroll"]').each(function () {
-      var $spy = $(this)
-      Plugin.call($spy, $spy.data())
-    })
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tab.js v3.3.7
- * http://getbootstrap.com/javascript/#tabs
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // TAB CLASS DEFINITION
-  // ====================
-
-  var Tab = function (element) {
-    // jscs:disable requireDollarBeforejQueryAssignment
-    this.element = $(element)
-    // jscs:enable requireDollarBeforejQueryAssignment
-  }
-
-  Tab.VERSION = '3.3.7'
-
-  Tab.TRANSITION_DURATION = 150
-
-  Tab.prototype.show = function () {
-    var $this    = this.element
-    var $ul      = $this.closest('ul:not(.dropdown-menu)')
-    var selector = $this.data('target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    if ($this.parent('li').hasClass('active')) return
-
-    var $previous = $ul.find('.active:last a')
-    var hideEvent = $.Event('hide.bs.tab', {
-      relatedTarget: $this[0]
-    })
-    var showEvent = $.Event('show.bs.tab', {
-      relatedTarget: $previous[0]
-    })
-
-    $previous.trigger(hideEvent)
-    $this.trigger(showEvent)
-
-    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
-
-    var $target = $(selector)
-
-    this.activate($this.closest('li'), $ul)
-    this.activate($target, $target.parent(), function () {
-      $previous.trigger({
-        type: 'hidden.bs.tab',
-        relatedTarget: $this[0]
-      })
-      $this.trigger({
-        type: 'shown.bs.tab',
-        relatedTarget: $previous[0]
-      })
-    })
-  }
-
-  Tab.prototype.activate = function (element, container, callback) {
-    var $active    = container.find('> .active')
-    var transition = callback
-      && $.support.transition
-      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
-
-    function next() {
-      $active
-        .removeClass('active')
-        .find('> .dropdown-menu > .active')
-          .removeClass('active')
-        .end()
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', false)
-
-      element
-        .addClass('active')
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', true)
-
-      if (transition) {
-        element[0].offsetWidth // reflow for transition
-        element.addClass('in')
-      } else {
-        element.removeClass('fade')
-      }
-
-      if (element.parent('.dropdown-menu').length) {
-        element
-          .closest('li.dropdown')
-            .addClass('active')
-          .end()
-          .find('[data-toggle="tab"]')
-            .attr('aria-expanded', true)
-      }
-
-      callback && callback()
-    }
-
-    $active.length && transition ?
-      $active
-        .one('bsTransitionEnd', next)
-        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
-      next()
-
-    $active.removeClass('in')
-  }
-
-
-  // TAB PLUGIN DEFINITION
-  // =====================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.tab')
-
-      if (!data) $this.data('bs.tab', (data = new Tab(this)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.tab
-
-  $.fn.tab             = Plugin
-  $.fn.tab.Constructor = Tab
-
-
-  // TAB NO CONFLICT
-  // ===============
-
-  $.fn.tab.noConflict = function () {
-    $.fn.tab = old
-    return this
-  }
-
-
-  // TAB DATA-API
-  // ============
-
-  var clickHandler = function (e) {
-    e.preventDefault()
-    Plugin.call($(this), 'show')
-  }
-
-  $(document)
-    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
-    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: affix.js v3.3.7
- * http://getbootstrap.com/javascript/#affix
- * ========================================================================
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // AFFIX CLASS DEFINITION
-  // ======================
-
-  var Affix = function (element, options) {
-    this.options = $.extend({}, Affix.DEFAULTS, options)
-
-    this.$target = $(this.options.target)
-      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
-      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
-
-    this.$element     = $(element)
-    this.affixed      = null
-    this.unpin        = null
-    this.pinnedOffset = null
-
-    this.checkPosition()
-  }
-
-  Affix.VERSION  = '3.3.7'
-
-  Affix.RESET    = 'affix affix-top affix-bottom'
-
-  Affix.DEFAULTS = {
-    offset: 0,
-    target: window
-  }
-
-  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
-    var scrollTop    = this.$target.scrollTop()
-    var position     = this.$element.offset()
-    var targetHeight = this.$target.height()
-
-    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
-
-    if (this.affixed == 'bottom') {
-      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
-      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
-    }
-
-    var initializing   = this.affixed == null
-    var colliderTop    = initializing ? scrollTop : position.top
-    var colliderHeight = initializing ? targetHeight : height
-
-    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
-    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
-
-    return false
-  }
-
-  Affix.prototype.getPinnedOffset = function () {
-    if (this.pinnedOffset) return this.pinnedOffset
-    this.$element.removeClass(Affix.RESET).addClass('affix')
-    var scrollTop = this.$target.scrollTop()
-    var position  = this.$element.offset()
-    return (this.pinnedOffset = position.top - scrollTop)
-  }
-
-  Affix.prototype.checkPositionWithEventLoop = function () {
-    setTimeout($.proxy(this.checkPosition, this), 1)
-  }
-
-  Affix.prototype.checkPosition = function () {
-    if (!this.$element.is(':visible')) return
-
-    var height       = this.$element.height()
-    var offset       = this.options.offset
-    var offsetTop    = offset.top
-    var offsetBottom = offset.bottom
-    var scrollHeight = Math.max($(document).height(), $(document.body).height())
-
-    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
-    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
-    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
-
-    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
-
-    if (this.affixed != affix) {
-      if (this.unpin != null) this.$element.css('top', '')
-
-      var affixType = 'affix' + (affix ? '-' + affix : '')
-      var e         = $.Event(affixType + '.bs.affix')
-
-      this.$element.trigger(e)
-
-      if (e.isDefaultPrevented()) return
-
-      this.affixed = affix
-      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
-
-      this.$element
-        .removeClass(Affix.RESET)
-        .addClass(affixType)
-        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
-    }
-
-    if (affix == 'bottom') {
-      this.$element.offset({
-        top: scrollHeight - height - offsetBottom
-      })
-    }
-  }
-
-
-  // AFFIX PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.affix')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.affix
-
-  $.fn.affix             = Plugin
-  $.fn.affix.Constructor = Affix
-
-
-  // AFFIX NO CONFLICT
-  // =================
-
-  $.fn.affix.noConflict = function () {
-    $.fn.affix = old
-    return this
-  }
-
-
-  // AFFIX DATA-API
-  // ==============
-
-  $(window).on('load', function () {
-    $('[data-spy="affix"]').each(function () {
-      var $spy = $(this)
-      var data = $spy.data()
-
-      data.offset = data.offset || {}
-
-      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
-      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
-
-      Plugin.call($spy, data)
-    })
-  })
-
-}(jQuery);
diff --git a/server/target/classes/static/bootstrap/js/bootstrap.min.js b/server/target/classes/static/bootstrap/js/bootstrap.min.js
deleted file mode 100644
index 9bcd2fc..0000000
--- a/server/target/classes/static/bootstrap/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
-this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/server/target/classes/static/bootstrap/js/npm.js b/server/target/classes/static/bootstrap/js/npm.js
deleted file mode 100644
index bf6aa80..0000000
--- a/server/target/classes/static/bootstrap/js/npm.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
-require('../../js/transition.js')
-require('../../js/alert.js')
-require('../../js/button.js')
-require('../../js/carousel.js')
-require('../../js/collapse.js')
-require('../../js/dropdown.js')
-require('../../js/modal.js')
-require('../../js/tooltip.js')
-require('../../js/popover.js')
-require('../../js/scrollspy.js')
-require('../../js/tab.js')
-require('../../js/affix.js')
\ No newline at end of file
diff --git a/server/target/classes/static/css/img/Collapsed.gif b/server/target/classes/static/css/img/Collapsed.gif
deleted file mode 100644
index 17cbc27..0000000
Binary files a/server/target/classes/static/css/img/Collapsed.gif and /dev/null differ
diff --git a/server/target/classes/static/css/img/Expanded.gif b/server/target/classes/static/css/img/Expanded.gif
deleted file mode 100644
index 2aa7441..0000000
Binary files a/server/target/classes/static/css/img/Expanded.gif and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/1_close.png b/server/target/classes/static/css/img/diy/1_close.png
deleted file mode 100644
index 68ccb3c..0000000
Binary files a/server/target/classes/static/css/img/diy/1_close.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/1_open.png b/server/target/classes/static/css/img/diy/1_open.png
deleted file mode 100644
index d6ff36d..0000000
Binary files a/server/target/classes/static/css/img/diy/1_open.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/2.png b/server/target/classes/static/css/img/diy/2.png
deleted file mode 100644
index 9eff506..0000000
Binary files a/server/target/classes/static/css/img/diy/2.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/3.png b/server/target/classes/static/css/img/diy/3.png
deleted file mode 100644
index d7ba6d0..0000000
Binary files a/server/target/classes/static/css/img/diy/3.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/4.png b/server/target/classes/static/css/img/diy/4.png
deleted file mode 100644
index 753e2bf..0000000
Binary files a/server/target/classes/static/css/img/diy/4.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/5.png b/server/target/classes/static/css/img/diy/5.png
deleted file mode 100644
index 0c5eccd..0000000
Binary files a/server/target/classes/static/css/img/diy/5.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/6.png b/server/target/classes/static/css/img/diy/6.png
deleted file mode 100644
index 070b835..0000000
Binary files a/server/target/classes/static/css/img/diy/6.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/7.png b/server/target/classes/static/css/img/diy/7.png
deleted file mode 100644
index 532b037..0000000
Binary files a/server/target/classes/static/css/img/diy/7.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/8.png b/server/target/classes/static/css/img/diy/8.png
deleted file mode 100644
index a8f3a86..0000000
Binary files a/server/target/classes/static/css/img/diy/8.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/diy/9.png b/server/target/classes/static/css/img/diy/9.png
deleted file mode 100644
index 4db73cd..0000000
Binary files a/server/target/classes/static/css/img/diy/9.png and /dev/null differ
diff --git a/server/target/classes/static/css/img/line_conn.gif b/server/target/classes/static/css/img/line_conn.gif
deleted file mode 100644
index d561d36..0000000
Binary files a/server/target/classes/static/css/img/line_conn.gif and /dev/null differ
diff --git a/server/target/classes/static/css/img/loading.gif b/server/target/classes/static/css/img/loading.gif
deleted file mode 100644
index e8c2892..0000000
Binary files a/server/target/classes/static/css/img/loading.gif and /dev/null differ
diff --git a/server/target/classes/static/css/img/zTreeStandard.gif b/server/target/classes/static/css/img/zTreeStandard.gif
deleted file mode 100644
index 50c94fd..0000000
Binary files a/server/target/classes/static/css/img/zTreeStandard.gif and /dev/null differ
diff --git a/server/target/classes/static/css/img/zTreeStandard.png b/server/target/classes/static/css/img/zTreeStandard.png
deleted file mode 100644
index ffda01e..0000000
Binary files a/server/target/classes/static/css/img/zTreeStandard.png and /dev/null differ
diff --git a/server/target/classes/static/css/loading.css b/server/target/classes/static/css/loading.css
deleted file mode 100644
index 771a6d8..0000000
--- a/server/target/classes/static/css/loading.css
+++ /dev/null
@@ -1,121 +0,0 @@
-.loading_container{
-    margin:0;
-    padding:0;
-    position: absolute;
-    left:0;
-    top:0;
-    width:100%;
-    display: none;
-    opacity: 0.5;
-    background-color: black;
-}
-.spinner {
-    margin: 245px auto;
-    width: 60px;
-    height: 60px;
-    position: relative;
-}
-
-.container1 > div, .container2 > div, .container3 > div {
-    width: 16px;
-    height: 16px;
-    background-color: #67CF22;
-
-    border-radius: 100%;
-    position: absolute;
-    -webkit-animation: bouncedelay 1.2s infinite ease-in-out;
-    animation: bouncedelay 1.2s infinite ease-in-out;
-    -webkit-animation-fill-mode: both;
-    animation-fill-mode: both;
-}
-
-.spinner .spinner-container {
-    position: absolute;
-    width: 100%;
-    height: 100%;
-}
-
-.container2 {
-    -webkit-transform: rotateZ(45deg);
-    transform: rotateZ(45deg);
-}
-
-.container3 {
-    -webkit-transform: rotateZ(90deg);
-    transform: rotateZ(90deg);
-}
-
-.circle1 { top: 0; left: 0; }
-.circle2 { top: 0; right: 0; }
-.circle3 { right: 0; bottom: 0; }
-.circle4 { left: 0; bottom: 0; }
-
-.container2 .circle1 {
-    -webkit-animation-delay: -1.1s;
-    animation-delay: -1.1s;
-}
-
-.container3 .circle1 {
-    -webkit-animation-delay: -1.0s;
-    animation-delay: -1.0s;
-}
-
-.container1 .circle2 {
-    -webkit-animation-delay: -0.9s;
-    animation-delay: -0.9s;
-}
-
-.container2 .circle2 {
-    -webkit-animation-delay: -0.8s;
-    animation-delay: -0.8s;
-}
-
-.container3 .circle2 {
-    -webkit-animation-delay: -0.7s;
-    animation-delay: -0.7s;
-}
-
-.container1 .circle3 {
-    -webkit-animation-delay: -0.6s;
-    animation-delay: -0.6s;
-}
-
-.container2 .circle3 {
-    -webkit-animation-delay: -0.5s;
-    animation-delay: -0.5s;
-}
-
-.container3 .circle3 {
-    -webkit-animation-delay: -0.4s;
-    animation-delay: -0.4s;
-}
-
-.container1 .circle4 {
-    -webkit-animation-delay: -0.3s;
-    animation-delay: -0.3s;
-}
-
-.container2 .circle4 {
-    -webkit-animation-delay: -0.2s;
-    animation-delay: -0.2s;
-}
-
-.container3 .circle4 {
-    -webkit-animation-delay: -0.1s;
-    animation-delay: -0.1s;
-}
-
-@-webkit-keyframes bouncedelay {
-    0%, 80%, 100% { -webkit-transform: scale(0.0) }
-    40% { -webkit-transform: scale(1.0) }
-}
-
-@keyframes bouncedelay {
-    0%, 80%, 100% {
-        transform: scale(0.0);
-        -webkit-transform: scale(0.0);
-    } 40% {
-          transform: scale(1.0);
-          -webkit-transform: scale(1.0);
-      }
-}
\ No newline at end of file
diff --git a/server/target/classes/static/css/viewer.min.css b/server/target/classes/static/css/viewer.min.css
deleted file mode 100644
index 7ed9dfc..0000000
--- a/server/target/classes/static/css/viewer.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Viewer.js v1.0.0-rc.1
- * https://github.com/fengyuanchen/viewerjs
- *
- * Copyright (c) 2015-2018 Chen Fengyuan
- * Released under the MIT license
- *
- * Date: 2018-03-13T14:06:18.936Z
- */.viewer-close:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen-exit:before,.viewer-fullscreen:before,.viewer-next:before,.viewer-one-to-one:before,.viewer-play:before,.viewer-prev:before,.viewer-reset:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-zoom-in:before,.viewer-zoom-out:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC");background-repeat:no-repeat;color:transparent;display:block;font-size:0;height:20px;line-height:0;width:20px}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{bottom:0;direction:ltr;font-size:0;left:0;line-height:0;overflow:hidden;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;-webkit-touch-callout:none;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.viewer-container::-moz-selection,.viewer-container ::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container ::selection{background-color:transparent}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:rgba(0,0,0,.5);overflow:hidden}.viewer-list{box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:transparent;cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;transition:opacity .15s;width:30px}.viewer-list>li:hover{opacity:.75}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;bottom:0;cursor:none;display:none;right:0}.viewer-player,.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:3px 0}.viewer-toolbar li{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;transition:background-color .15s;width:24px}.viewer-toolbar li:hover{background-color:rgba(0,0,0,.8)}.viewer-toolbar li:before{margin:2px}.viewer-toolbar li+li{margin-left:1px}.viewer-toolbar .viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar .viewer-small:before{margin:-1px}.viewer-toolbar .viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar .viewer-large:before{margin:5px}.viewer-tooltip{background-color:rgba(0,0,0,.8);border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1;margin:0 5% 5px;max-width:90%;opacity:.8;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:rgba(0,0,0,.8)}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:#404040}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:-webkit-grab;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{transition:all .3s}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.viewer-loading:after{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;border:4px solid hsla(0,0%,100%,.1);border-left-color:hsla(0,0%,100%,.5);border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media (max-width:767px){.viewer-hide-xs-down{display:none}}@media (max-width:991px){.viewer-hide-sm-down{display:none}}@media (max-width:1199px){.viewer-hide-md-down{display:none}}
\ No newline at end of file
diff --git a/server/target/classes/static/css/xmlTreeViewer.css b/server/target/classes/static/css/xmlTreeViewer.css
deleted file mode 100644
index bc4afe9..0000000
--- a/server/target/classes/static/css/xmlTreeViewer.css
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2014 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-div.header {
-    border-bottom: 2px solid black;
-    padding-bottom: 5px;
-    margin: 10px;
-}
-
-div.collapsible > div.hidden {
-    display:none;
-}
-
-.pretty-print {
-    margin-top: 1em;
-    margin-left: 20px;
-    font-family: monospace;
-    font-size: 13px;
-}
-
-#xml-viewer-source-xml {
-    display: none;
-}
-
-.collapsible-content {
-    margin-left: 2em;
-}
-.comment {
-    white-space: pre;
-}
-
-.button {
-    -webkit-user-select: none;
-    cursor: pointer;
-    display: inline-block;
-    margin-left: -10px;
-    width: 10px;
-    background-repeat: no-repeat;
-    background-position: left top;
-    vertical-align: bottom;
-}
-
-.collapse-button {
-    /*background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#909090' width='10' height='10'><path d='M0 0 L8 0 L4 7 Z'/></svg>");*/
-    background: url("./img/Expanded.gif");
-    height: 12px;
-}
-
-.expand-button {
-    /*background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#909090' width='10' height='10'><path d='M0 0 L0 8 L7 4 Z'/></svg>");*/
-    background: url("./img/Collapsed.gif");
-    height: 12px;
-}
-
-.line-content {
-    padding: 0 5px !important;
-}
-
-.highlight {
-    background-color: rgb(100%, 42%, 42%);
-    border: 2px solid rgb(100%, 31%, 31%);
-}
-
-.html-tag {
-    /* Keep this in sync with inspector.css (.webkit-html-tag) */
-    color: rgb(136, 18, 128);
-}
-
-.html-attribute-name {
-    /* Keep this in sync with inspector.css (.webkit-html-attribute-name) */
-    color: rgb(153, 69, 0);
-}
-
-.html-attribute-value {
-    /* Keep this in sync with inspector.css (.webkit-html-attribute-value) */
-    color: rgb(26, 26, 166);
-}
-
-.html-external-link, .html-resource-link {
-    /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-external-link, .webkit-html-resource-link) */
-    color: #00e;
-}
-
-.html-external-link {
-    /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-external-link) */
-    text-decoration: none;
-}
-
-.html-external-link:hover {
-    /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-external-link:hover) */
-    text-decoration: underline;
-}
-
-.html-comment {
-    /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-comment) */
-    color: rgb(35, 110, 37);
-}
-
-.html-doctype {
-    /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-doctype) */
-    color: rgb(192, 192, 192);
-}
-
-.html-end-of-file {
-    /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-end-of-file) */
-    color: rgb(255, 0, 0);
-    font-weight: bold;
-}
\ No newline at end of file
diff --git a/server/target/classes/static/css/zTreeStyle.css b/server/target/classes/static/css/zTreeStyle.css
deleted file mode 100644
index 4a1705b..0000000
--- a/server/target/classes/static/css/zTreeStyle.css
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-------------------------------------
-zTree Style
-
-version:	3.5.19
-author:		Hunter.z
-email:		hunter.z@263.net
-website:	http://code.google.com/p/jquerytree/
-
--------------------------------------*/
-
-.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
-.ztree {margin:0; padding:5px; color:#333}
-.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
-.ztree li ul{ margin:0; padding:0 0 0 18px}
-.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
-
-.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:17px; color:#333; background-color: transparent;
-	text-decoration:none; vertical-align:top; display: inline-block}
-.ztree li a:hover {text-decoration:underline}
-.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid;
-	opacity:0.8; filter:alpha(opacity=80)}
-.ztree li a.tmpTargetNode_prev {}
-.ztree li a.tmpTargetNode_next {}
-.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
-	font-size:12px; border:1px #7EC4CC solid; *border:0px}
-.ztree li span {line-height:16px; margin-right:2px}
-.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
-	border:0 none; cursor: pointer;outline:none;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
-.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
-.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
-.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
-.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
-.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
-.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
-.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
-.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
-.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
-.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
-.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
-.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
-.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
-.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
-.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
-.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
-.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
-.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
-.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
-.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}
-
-.ztree li span.button.switch {width:18px; height:18px}
-.ztree li span.button.root_open{background-position:-92px -54px}
-.ztree li span.button.root_close{background-position:-74px -54px}
-.ztree li span.button.roots_open{background-position:-92px 0}
-.ztree li span.button.roots_close{background-position:-74px 0}
-.ztree li span.button.center_open{background-position:-92px -18px}
-.ztree li span.button.center_close{background-position:-74px -18px}
-.ztree li span.button.bottom_open{background-position:-92px -36px}
-.ztree li span.button.bottom_close{background-position:-74px -36px}
-.ztree li span.button.noline_open{background-position:-92px -72px}
-.ztree li span.button.noline_close{background-position:-74px -72px}
-.ztree li span.button.root_docu{ background:none;}
-.ztree li span.button.roots_docu{background-position:-56px 0}
-.ztree li span.button.center_docu{background-position:-56px -18px}
-.ztree li span.button.bottom_docu{background-position:-56px -36px}
-.ztree li span.button.noline_docu{ background:none;}
-
-.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle}
-
-.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
-
-ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
-
-span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
-.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
-
-/* level style*/
-/*.ztree li span.button.level0 {
-	display:none;
-}
-.ztree li ul.level0 {
-	padding:0;
-	background:none;
-}*/
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk-component.js b/server/target/classes/static/gitalk/gitalk-component.js
deleted file mode 100644
index 8cf01a0..0000000
--- a/server/target/classes/static/gitalk/gitalk-component.js
+++ /dev/null
@@ -1,10486 +0,0 @@
-(function webpackUniversalModuleDefinition(root, factory) {
-	if(typeof exports === 'object' && typeof module === 'object')
-		module.exports = factory(require("react"), require("react-dom"));
-	else if(typeof define === 'function' && define.amd)
-		define(["react", "react-dom"], factory);
-	else if(typeof exports === 'object')
-		exports["Gitalk"] = factory(require("react"), require("react-dom"));
-	else
-		root["Gitalk"] = factory(root["react"], root["react-dom"]);
-})(this, function(__WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_135__) {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, {
-/******/ 				configurable: false,
-/******/ 				enumerable: true,
-/******/ 				get: getter
-/******/ 			});
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "/dist";
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 80);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports) {
-
-var core = module.exports = { version: '2.6.11' };
-if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
-
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports) {
-
-// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-var global = module.exports = typeof window != 'undefined' && window.Math == Math
-  ? window : typeof self != 'undefined' && self.Math == Math ? self
-  // eslint-disable-next-line no-new-func
-  : Function('return this')();
-if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
-
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var store = __webpack_require__(35)('wks');
-var uid = __webpack_require__(24);
-var Symbol = __webpack_require__(1).Symbol;
-var USE_SYMBOL = typeof Symbol == 'function';
-
-var $exports = module.exports = function (name) {
-  return store[name] || (store[name] =
-    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
-};
-
-$exports.store = store;
-
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var bind = __webpack_require__(70);
-
-/*global toString:true*/
-
-// utils is a library of generic helper functions non-specific to axios
-
-var toString = Object.prototype.toString;
-
-/**
- * Determine if a value is an Array
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an Array, otherwise false
- */
-function isArray(val) {
-  return toString.call(val) === '[object Array]';
-}
-
-/**
- * Determine if a value is undefined
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if the value is undefined, otherwise false
- */
-function isUndefined(val) {
-  return typeof val === 'undefined';
-}
-
-/**
- * Determine if a value is a Buffer
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Buffer, otherwise false
- */
-function isBuffer(val) {
-  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
-    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
-}
-
-/**
- * Determine if a value is an ArrayBuffer
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an ArrayBuffer, otherwise false
- */
-function isArrayBuffer(val) {
-  return toString.call(val) === '[object ArrayBuffer]';
-}
-
-/**
- * Determine if a value is a FormData
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an FormData, otherwise false
- */
-function isFormData(val) {
-  return (typeof FormData !== 'undefined') && (val instanceof FormData);
-}
-
-/**
- * Determine if a value is a view on an ArrayBuffer
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
- */
-function isArrayBufferView(val) {
-  var result;
-  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
-    result = ArrayBuffer.isView(val);
-  } else {
-    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
-  }
-  return result;
-}
-
-/**
- * Determine if a value is a String
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a String, otherwise false
- */
-function isString(val) {
-  return typeof val === 'string';
-}
-
-/**
- * Determine if a value is a Number
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Number, otherwise false
- */
-function isNumber(val) {
-  return typeof val === 'number';
-}
-
-/**
- * Determine if a value is an Object
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an Object, otherwise false
- */
-function isObject(val) {
-  return val !== null && typeof val === 'object';
-}
-
-/**
- * Determine if a value is a Date
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Date, otherwise false
- */
-function isDate(val) {
-  return toString.call(val) === '[object Date]';
-}
-
-/**
- * Determine if a value is a File
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a File, otherwise false
- */
-function isFile(val) {
-  return toString.call(val) === '[object File]';
-}
-
-/**
- * Determine if a value is a Blob
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Blob, otherwise false
- */
-function isBlob(val) {
-  return toString.call(val) === '[object Blob]';
-}
-
-/**
- * Determine if a value is a Function
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Function, otherwise false
- */
-function isFunction(val) {
-  return toString.call(val) === '[object Function]';
-}
-
-/**
- * Determine if a value is a Stream
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Stream, otherwise false
- */
-function isStream(val) {
-  return isObject(val) && isFunction(val.pipe);
-}
-
-/**
- * Determine if a value is a URLSearchParams object
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a URLSearchParams object, otherwise false
- */
-function isURLSearchParams(val) {
-  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
-}
-
-/**
- * Trim excess whitespace off the beginning and end of a string
- *
- * @param {String} str The String to trim
- * @returns {String} The String freed of excess whitespace
- */
-function trim(str) {
-  return str.replace(/^\s*/, '').replace(/\s*$/, '');
-}
-
-/**
- * Determine if we're running in a standard browser environment
- *
- * This allows axios to run in a web worker, and react-native.
- * Both environments support XMLHttpRequest, but not fully standard globals.
- *
- * web workers:
- *  typeof window -> undefined
- *  typeof document -> undefined
- *
- * react-native:
- *  navigator.product -> 'ReactNative'
- * nativescript
- *  navigator.product -> 'NativeScript' or 'NS'
- */
-function isStandardBrowserEnv() {
-  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
-                                           navigator.product === 'NativeScript' ||
-                                           navigator.product === 'NS')) {
-    return false;
-  }
-  return (
-    typeof window !== 'undefined' &&
-    typeof document !== 'undefined'
-  );
-}
-
-/**
- * Iterate over an Array or an Object invoking a function for each item.
- *
- * If `obj` is an Array callback will be called passing
- * the value, index, and complete array for each item.
- *
- * If 'obj' is an Object callback will be called passing
- * the value, key, and complete object for each property.
- *
- * @param {Object|Array} obj The object to iterate
- * @param {Function} fn The callback to invoke for each item
- */
-function forEach(obj, fn) {
-  // Don't bother if no value provided
-  if (obj === null || typeof obj === 'undefined') {
-    return;
-  }
-
-  // Force an array if not already something iterable
-  if (typeof obj !== 'object') {
-    /*eslint no-param-reassign:0*/
-    obj = [obj];
-  }
-
-  if (isArray(obj)) {
-    // Iterate over array values
-    for (var i = 0, l = obj.length; i < l; i++) {
-      fn.call(null, obj[i], i, obj);
-    }
-  } else {
-    // Iterate over object keys
-    for (var key in obj) {
-      if (Object.prototype.hasOwnProperty.call(obj, key)) {
-        fn.call(null, obj[key], key, obj);
-      }
-    }
-  }
-}
-
-/**
- * Accepts varargs expecting each argument to be an object, then
- * immutably merges the properties of each object and returns result.
- *
- * When multiple objects contain the same key the later object in
- * the arguments list will take precedence.
- *
- * Example:
- *
- * ```js
- * var result = merge({foo: 123}, {foo: 456});
- * console.log(result.foo); // outputs 456
- * ```
- *
- * @param {Object} obj1 Object to merge
- * @returns {Object} Result of all merge properties
- */
-function merge(/* obj1, obj2, obj3, ... */) {
-  var result = {};
-  function assignValue(val, key) {
-    if (typeof result[key] === 'object' && typeof val === 'object') {
-      result[key] = merge(result[key], val);
-    } else {
-      result[key] = val;
-    }
-  }
-
-  for (var i = 0, l = arguments.length; i < l; i++) {
-    forEach(arguments[i], assignValue);
-  }
-  return result;
-}
-
-/**
- * Function equal to merge with the difference being that no reference
- * to original objects is kept.
- *
- * @see merge
- * @param {Object} obj1 Object to merge
- * @returns {Object} Result of all merge properties
- */
-function deepMerge(/* obj1, obj2, obj3, ... */) {
-  var result = {};
-  function assignValue(val, key) {
-    if (typeof result[key] === 'object' && typeof val === 'object') {
-      result[key] = deepMerge(result[key], val);
-    } else if (typeof val === 'object') {
-      result[key] = deepMerge({}, val);
-    } else {
-      result[key] = val;
-    }
-  }
-
-  for (var i = 0, l = arguments.length; i < l; i++) {
-    forEach(arguments[i], assignValue);
-  }
-  return result;
-}
-
-/**
- * Extends object a by mutably adding to it the properties of object b.
- *
- * @param {Object} a The object to be extended
- * @param {Object} b The object to copy properties from
- * @param {Object} thisArg The object to bind function to
- * @return {Object} The resulting value of object a
- */
-function extend(a, b, thisArg) {
-  forEach(b, function assignValue(val, key) {
-    if (thisArg && typeof val === 'function') {
-      a[key] = bind(val, thisArg);
-    } else {
-      a[key] = val;
-    }
-  });
-  return a;
-}
-
-module.exports = {
-  isArray: isArray,
-  isArrayBuffer: isArrayBuffer,
-  isBuffer: isBuffer,
-  isFormData: isFormData,
-  isArrayBufferView: isArrayBufferView,
-  isString: isString,
-  isNumber: isNumber,
-  isObject: isObject,
-  isUndefined: isUndefined,
-  isDate: isDate,
-  isFile: isFile,
-  isBlob: isBlob,
-  isFunction: isFunction,
-  isStream: isStream,
-  isURLSearchParams: isURLSearchParams,
-  isStandardBrowserEnv: isStandardBrowserEnv,
-  forEach: forEach,
-  merge: merge,
-  deepMerge: deepMerge,
-  extend: extend,
-  trim: trim
-};
-
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var core = __webpack_require__(0);
-var ctx = __webpack_require__(12);
-var hide = __webpack_require__(10);
-var has = __webpack_require__(11);
-var PROTOTYPE = 'prototype';
-
-var $export = function (type, name, source) {
-  var IS_FORCED = type & $export.F;
-  var IS_GLOBAL = type & $export.G;
-  var IS_STATIC = type & $export.S;
-  var IS_PROTO = type & $export.P;
-  var IS_BIND = type & $export.B;
-  var IS_WRAP = type & $export.W;
-  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
-  var expProto = exports[PROTOTYPE];
-  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
-  var key, own, out;
-  if (IS_GLOBAL) source = name;
-  for (key in source) {
-    // contains in native
-    own = !IS_FORCED && target && target[key] !== undefined;
-    if (own && has(exports, key)) continue;
-    // export native or passed
-    out = own ? target[key] : source[key];
-    // prevent global pollution for namespaces
-    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
-    // bind timers to global for call from export context
-    : IS_BIND && own ? ctx(out, global)
-    // wrap global constructors for prevent change them in library
-    : IS_WRAP && target[key] == out ? (function (C) {
-      var F = function (a, b, c) {
-        if (this instanceof C) {
-          switch (arguments.length) {
-            case 0: return new C();
-            case 1: return new C(a);
-            case 2: return new C(a, b);
-          } return new C(a, b, c);
-        } return C.apply(this, arguments);
-      };
-      F[PROTOTYPE] = C[PROTOTYPE];
-      return F;
-    // make static versions for prototype methods
-    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
-    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
-    if (IS_PROTO) {
-      (exports.virtual || (exports.virtual = {}))[key] = out;
-      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
-      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
-    }
-  }
-};
-// type bitmap
-$export.F = 1;   // forced
-$export.G = 2;   // global
-$export.S = 4;   // static
-$export.P = 8;   // proto
-$export.B = 16;  // bind
-$export.W = 32;  // wrap
-$export.U = 64;  // safe
-$export.R = 128; // real proto method for `library`
-module.exports = $export;
-
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(8);
-module.exports = function (it) {
-  if (!isObject(it)) throw TypeError(it + ' is not an object!');
-  return it;
-};
-
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(5);
-var IE8_DOM_DEFINE = __webpack_require__(46);
-var toPrimitive = __webpack_require__(31);
-var dP = Object.defineProperty;
-
-exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
-  anObject(O);
-  P = toPrimitive(P, true);
-  anObject(Attributes);
-  if (IE8_DOM_DEFINE) try {
-    return dP(O, P, Attributes);
-  } catch (e) { /* empty */ }
-  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
-  if ('value' in Attributes) O[P] = Attributes.value;
-  return O;
-};
-
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// Thank's IE8 for his funny defineProperty
-module.exports = !__webpack_require__(13)(function () {
-  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-});
-
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
-  return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports) {
-
-module.exports = require("react");
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var dP = __webpack_require__(6);
-var createDesc = __webpack_require__(20);
-module.exports = __webpack_require__(7) ? function (object, key, value) {
-  return dP.f(object, key, createDesc(1, value));
-} : function (object, key, value) {
-  object[key] = value;
-  return object;
-};
-
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
-  return hasOwnProperty.call(it, key);
-};
-
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// optional / simple context binding
-var aFunction = __webpack_require__(23);
-module.exports = function (fn, that, length) {
-  aFunction(fn);
-  if (that === undefined) return fn;
-  switch (length) {
-    case 1: return function (a) {
-      return fn.call(that, a);
-    };
-    case 2: return function (a, b) {
-      return fn.call(that, a, b);
-    };
-    case 3: return function (a, b, c) {
-      return fn.call(that, a, b, c);
-    };
-  }
-  return function (/* ...args */) {
-    return fn.apply(that, arguments);
-  };
-};
-
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
-  try {
-    return !!exec();
-  } catch (e) {
-    return true;
-  }
-};
-
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// to indexed object, toObject with fallback for non-array-like ES3 strings
-var IObject = __webpack_require__(49);
-var defined = __webpack_require__(29);
-module.exports = function (it) {
-  return IObject(defined(it));
-};
-
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.1.13 ToObject(argument)
-var defined = __webpack_require__(29);
-module.exports = function (it) {
-  return Object(defined(it));
-};
-
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isDate = __webpack_require__(188)
-
-var MILLISECONDS_IN_HOUR = 3600000
-var MILLISECONDS_IN_MINUTE = 60000
-var DEFAULT_ADDITIONAL_DIGITS = 2
-
-var parseTokenDateTimeDelimeter = /[T ]/
-var parseTokenPlainTime = /:/
-
-// year tokens
-var parseTokenYY = /^(\d{2})$/
-var parseTokensYYY = [
-  /^([+-]\d{2})$/, // 0 additional digits
-  /^([+-]\d{3})$/, // 1 additional digit
-  /^([+-]\d{4})$/ // 2 additional digits
-]
-
-var parseTokenYYYY = /^(\d{4})/
-var parseTokensYYYYY = [
-  /^([+-]\d{4})/, // 0 additional digits
-  /^([+-]\d{5})/, // 1 additional digit
-  /^([+-]\d{6})/ // 2 additional digits
-]
-
-// date tokens
-var parseTokenMM = /^-(\d{2})$/
-var parseTokenDDD = /^-?(\d{3})$/
-var parseTokenMMDD = /^-?(\d{2})-?(\d{2})$/
-var parseTokenWww = /^-?W(\d{2})$/
-var parseTokenWwwD = /^-?W(\d{2})-?(\d{1})$/
-
-// time tokens
-var parseTokenHH = /^(\d{2}([.,]\d*)?)$/
-var parseTokenHHMM = /^(\d{2}):?(\d{2}([.,]\d*)?)$/
-var parseTokenHHMMSS = /^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/
-
-// timezone tokens
-var parseTokenTimezone = /([Z+-].*)$/
-var parseTokenTimezoneZ = /^(Z)$/
-var parseTokenTimezoneHH = /^([+-])(\d{2})$/
-var parseTokenTimezoneHHMM = /^([+-])(\d{2}):?(\d{2})$/
-
-/**
- * @category Common Helpers
- * @summary Convert the given argument to an instance of Date.
- *
- * @description
- * Convert the given argument to an instance of Date.
- *
- * If the argument is an instance of Date, the function returns its clone.
- *
- * If the argument is a number, it is treated as a timestamp.
- *
- * If an argument is a string, the function tries to parse it.
- * Function accepts complete ISO 8601 formats as well as partial implementations.
- * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601
- *
- * If all above fails, the function passes the given argument to Date constructor.
- *
- * @param {Date|String|Number} argument - the value to convert
- * @param {Object} [options] - the object with options
- * @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format
- * @returns {Date} the parsed date in the local time zone
- *
- * @example
- * // Convert string '2014-02-11T11:30:30' to date:
- * var result = parse('2014-02-11T11:30:30')
- * //=> Tue Feb 11 2014 11:30:30
- *
- * @example
- * // Parse string '+02014101',
- * // if the additional number of digits in the extended year format is 1:
- * var result = parse('+02014101', {additionalDigits: 1})
- * //=> Fri Apr 11 2014 00:00:00
- */
-function parse (argument, dirtyOptions) {
-  if (isDate(argument)) {
-    // Prevent the date to lose the milliseconds when passed to new Date() in IE10
-    return new Date(argument.getTime())
-  } else if (typeof argument !== 'string') {
-    return new Date(argument)
-  }
-
-  var options = dirtyOptions || {}
-  var additionalDigits = options.additionalDigits
-  if (additionalDigits == null) {
-    additionalDigits = DEFAULT_ADDITIONAL_DIGITS
-  } else {
-    additionalDigits = Number(additionalDigits)
-  }
-
-  var dateStrings = splitDateString(argument)
-
-  var parseYearResult = parseYear(dateStrings.date, additionalDigits)
-  var year = parseYearResult.year
-  var restDateString = parseYearResult.restDateString
-
-  var date = parseDate(restDateString, year)
-
-  if (date) {
-    var timestamp = date.getTime()
-    var time = 0
-    var offset
-
-    if (dateStrings.time) {
-      time = parseTime(dateStrings.time)
-    }
-
-    if (dateStrings.timezone) {
-      offset = parseTimezone(dateStrings.timezone)
-    } else {
-      // get offset accurate to hour in timezones that change offset
-      offset = new Date(timestamp + time).getTimezoneOffset()
-      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()
-    }
-
-    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)
-  } else {
-    return new Date(argument)
-  }
-}
-
-function splitDateString (dateString) {
-  var dateStrings = {}
-  var array = dateString.split(parseTokenDateTimeDelimeter)
-  var timeString
-
-  if (parseTokenPlainTime.test(array[0])) {
-    dateStrings.date = null
-    timeString = array[0]
-  } else {
-    dateStrings.date = array[0]
-    timeString = array[1]
-  }
-
-  if (timeString) {
-    var token = parseTokenTimezone.exec(timeString)
-    if (token) {
-      dateStrings.time = timeString.replace(token[1], '')
-      dateStrings.timezone = token[1]
-    } else {
-      dateStrings.time = timeString
-    }
-  }
-
-  return dateStrings
-}
-
-function parseYear (dateString, additionalDigits) {
-  var parseTokenYYY = parseTokensYYY[additionalDigits]
-  var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]
-
-  var token
-
-  // YYYY or ±YYYYY
-  token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)
-  if (token) {
-    var yearString = token[1]
-    return {
-      year: parseInt(yearString, 10),
-      restDateString: dateString.slice(yearString.length)
-    }
-  }
-
-  // YY or ±YYY
-  token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)
-  if (token) {
-    var centuryString = token[1]
-    return {
-      year: parseInt(centuryString, 10) * 100,
-      restDateString: dateString.slice(centuryString.length)
-    }
-  }
-
-  // Invalid ISO-formatted year
-  return {
-    year: null
-  }
-}
-
-function parseDate (dateString, year) {
-  // Invalid ISO-formatted year
-  if (year === null) {
-    return null
-  }
-
-  var token
-  var date
-  var month
-  var week
-
-  // YYYY
-  if (dateString.length === 0) {
-    date = new Date(0)
-    date.setUTCFullYear(year)
-    return date
-  }
-
-  // YYYY-MM
-  token = parseTokenMM.exec(dateString)
-  if (token) {
-    date = new Date(0)
-    month = parseInt(token[1], 10) - 1
-    date.setUTCFullYear(year, month)
-    return date
-  }
-
-  // YYYY-DDD or YYYYDDD
-  token = parseTokenDDD.exec(dateString)
-  if (token) {
-    date = new Date(0)
-    var dayOfYear = parseInt(token[1], 10)
-    date.setUTCFullYear(year, 0, dayOfYear)
-    return date
-  }
-
-  // YYYY-MM-DD or YYYYMMDD
-  token = parseTokenMMDD.exec(dateString)
-  if (token) {
-    date = new Date(0)
-    month = parseInt(token[1], 10) - 1
-    var day = parseInt(token[2], 10)
-    date.setUTCFullYear(year, month, day)
-    return date
-  }
-
-  // YYYY-Www or YYYYWww
-  token = parseTokenWww.exec(dateString)
-  if (token) {
-    week = parseInt(token[1], 10) - 1
-    return dayOfISOYear(year, week)
-  }
-
-  // YYYY-Www-D or YYYYWwwD
-  token = parseTokenWwwD.exec(dateString)
-  if (token) {
-    week = parseInt(token[1], 10) - 1
-    var dayOfWeek = parseInt(token[2], 10) - 1
-    return dayOfISOYear(year, week, dayOfWeek)
-  }
-
-  // Invalid ISO-formatted date
-  return null
-}
-
-function parseTime (timeString) {
-  var token
-  var hours
-  var minutes
-
-  // hh
-  token = parseTokenHH.exec(timeString)
-  if (token) {
-    hours = parseFloat(token[1].replace(',', '.'))
-    return (hours % 24) * MILLISECONDS_IN_HOUR
-  }
-
-  // hh:mm or hhmm
-  token = parseTokenHHMM.exec(timeString)
-  if (token) {
-    hours = parseInt(token[1], 10)
-    minutes = parseFloat(token[2].replace(',', '.'))
-    return (hours % 24) * MILLISECONDS_IN_HOUR +
-      minutes * MILLISECONDS_IN_MINUTE
-  }
-
-  // hh:mm:ss or hhmmss
-  token = parseTokenHHMMSS.exec(timeString)
-  if (token) {
-    hours = parseInt(token[1], 10)
-    minutes = parseInt(token[2], 10)
-    var seconds = parseFloat(token[3].replace(',', '.'))
-    return (hours % 24) * MILLISECONDS_IN_HOUR +
-      minutes * MILLISECONDS_IN_MINUTE +
-      seconds * 1000
-  }
-
-  // Invalid ISO-formatted time
-  return null
-}
-
-function parseTimezone (timezoneString) {
-  var token
-  var absoluteOffset
-
-  // Z
-  token = parseTokenTimezoneZ.exec(timezoneString)
-  if (token) {
-    return 0
-  }
-
-  // ±hh
-  token = parseTokenTimezoneHH.exec(timezoneString)
-  if (token) {
-    absoluteOffset = parseInt(token[2], 10) * 60
-    return (token[1] === '+') ? -absoluteOffset : absoluteOffset
-  }
-
-  // ±hh:mm or ±hhmm
-  token = parseTokenTimezoneHHMM.exec(timezoneString)
-  if (token) {
-    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)
-    return (token[1] === '+') ? -absoluteOffset : absoluteOffset
-  }
-
-  return 0
-}
-
-function dayOfISOYear (isoYear, week, day) {
-  week = week || 0
-  day = day || 0
-  var date = new Date(0)
-  date.setUTCFullYear(isoYear, 0, 4)
-  var fourthOfJanuaryDay = date.getUTCDay() || 7
-  var diff = week * 7 + day + 1 - fourthOfJanuaryDay
-  date.setUTCDate(date.getUTCDate() + diff)
-  return date
-}
-
-module.exports = parse
-
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var $at = __webpack_require__(83)(true);
-
-// 21.1.3.27 String.prototype[@@iterator]()
-__webpack_require__(45)(String, 'String', function (iterated) {
-  this._t = String(iterated); // target
-  this._i = 0;                // next index
-// 21.1.5.2.1 %StringIteratorPrototype%.next()
-}, function () {
-  var O = this._t;
-  var index = this._i;
-  var point;
-  if (index >= O.length) return { value: undefined, done: true };
-  point = $at(O, index);
-  this._i += point.length;
-  return { value: point, done: false };
-});
-
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports) {
-
-module.exports = true;
-
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
-  return {
-    enumerable: !(bitmap & 1),
-    configurable: !(bitmap & 2),
-    writable: !(bitmap & 4),
-    value: value
-  };
-};
-
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.14 / 15.2.3.14 Object.keys(O)
-var $keys = __webpack_require__(48);
-var enumBugKeys = __webpack_require__(36);
-
-module.exports = Object.keys || function keys(O) {
-  return $keys(O, enumBugKeys);
-};
-
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-
-module.exports = function (it) {
-  return toString.call(it).slice(8, -1);
-};
-
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
-  if (typeof it != 'function') throw TypeError(it + ' is not a function!');
-  return it;
-};
-
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var px = Math.random();
-module.exports = function (key) {
-  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
-};
-
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var def = __webpack_require__(6).f;
-var has = __webpack_require__(11);
-var TAG = __webpack_require__(2)('toStringTag');
-
-module.exports = function (it, tag, stat) {
-  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
-};
-
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(88);
-var global = __webpack_require__(1);
-var hide = __webpack_require__(10);
-var Iterators = __webpack_require__(14);
-var TO_STRING_TAG = __webpack_require__(2)('toStringTag');
-
-var DOMIterables = ('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(',');
-
-for (var i = 0; i < DOMIterables.length; i++) {
-  var NAME = DOMIterables[i];
-  var Collection = global[NAME];
-  var proto = Collection && Collection.prototype;
-  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
-  Iterators[NAME] = Iterators.Array;
-}
-
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports) {
-
-exports.f = {}.propertyIsEnumerable;
-
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports) {
-
-// 7.1.4 ToInteger
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (it) {
-  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
-};
-
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports) {
-
-// 7.2.1 RequireObjectCoercible(argument)
-module.exports = function (it) {
-  if (it == undefined) throw TypeError("Can't call method on  " + it);
-  return it;
-};
-
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(8);
-var document = __webpack_require__(1).document;
-// typeof document.createElement is 'object' in old IE
-var is = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
-  return is ? document.createElement(it) : {};
-};
-
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.1.1 ToPrimitive(input [, PreferredType])
-var isObject = __webpack_require__(8);
-// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-// and the second argument - flag - preferred type is a string
-module.exports = function (it, S) {
-  if (!isObject(it)) return it;
-  var fn, val;
-  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
-  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
-  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
-  throw TypeError("Can't convert object to primitive value");
-};
-
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
-var anObject = __webpack_require__(5);
-var dPs = __webpack_require__(85);
-var enumBugKeys = __webpack_require__(36);
-var IE_PROTO = __webpack_require__(34)('IE_PROTO');
-var Empty = function () { /* empty */ };
-var PROTOTYPE = 'prototype';
-
-// Create object with fake `null` prototype: use iframe Object with cleared prototype
-var createDict = function () {
-  // Thrash, waste and sodomy: IE GC bug
-  var iframe = __webpack_require__(30)('iframe');
-  var i = enumBugKeys.length;
-  var lt = '<';
-  var gt = '>';
-  var iframeDocument;
-  iframe.style.display = 'none';
-  __webpack_require__(50).appendChild(iframe);
-  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
-  // createDict = iframe.contentWindow.Object;
-  // html.removeChild(iframe);
-  iframeDocument = iframe.contentWindow.document;
-  iframeDocument.open();
-  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
-  iframeDocument.close();
-  createDict = iframeDocument.F;
-  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
-  return createDict();
-};
-
-module.exports = Object.create || function create(O, Properties) {
-  var result;
-  if (O !== null) {
-    Empty[PROTOTYPE] = anObject(O);
-    result = new Empty();
-    Empty[PROTOTYPE] = null;
-    // add "__proto__" for Object.getPrototypeOf polyfill
-    result[IE_PROTO] = O;
-  } else result = createDict();
-  return Properties === undefined ? result : dPs(result, Properties);
-};
-
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.1.15 ToLength
-var toInteger = __webpack_require__(28);
-var min = Math.min;
-module.exports = function (it) {
-  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
-};
-
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var shared = __webpack_require__(35)('keys');
-var uid = __webpack_require__(24);
-module.exports = function (key) {
-  return shared[key] || (shared[key] = uid(key));
-};
-
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var core = __webpack_require__(0);
-var global = __webpack_require__(1);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || (global[SHARED] = {});
-
-(module.exports = function (key, value) {
-  return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
-  version: core.version,
-  mode: __webpack_require__(19) ? 'pure' : 'global',
-  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-});
-
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports) {
-
-// IE 8- don't enum bug keys
-module.exports = (
-  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
-).split(',');
-
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// getting tag from 19.1.3.6 Object.prototype.toString()
-var cof = __webpack_require__(22);
-var TAG = __webpack_require__(2)('toStringTag');
-// ES3 wrong here
-var ARG = cof(function () { return arguments; }()) == 'Arguments';
-
-// fallback for IE11 Script Access Denied error
-var tryGet = function (it, key) {
-  try {
-    return it[key];
-  } catch (e) { /* empty */ }
-};
-
-module.exports = function (it) {
-  var O, T, B;
-  return it === undefined ? 'Undefined' : it === null ? 'Null'
-    // @@toStringTag case
-    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
-    // builtinTag case
-    : ARG ? cof(O)
-    // ES3 arguments fallback
-    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
-};
-
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var classof = __webpack_require__(37);
-var ITERATOR = __webpack_require__(2)('iterator');
-var Iterators = __webpack_require__(14);
-module.exports = __webpack_require__(0).getIteratorMethod = function (it) {
-  if (it != undefined) return it[ITERATOR]
-    || it['@@iterator']
-    || Iterators[classof(it)];
-};
-
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// 25.4.1.5 NewPromiseCapability(C)
-var aFunction = __webpack_require__(23);
-
-function PromiseCapability(C) {
-  var resolve, reject;
-  this.promise = new C(function ($$resolve, $$reject) {
-    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
-    resolve = $$resolve;
-    reject = $$reject;
-  });
-  this.resolve = aFunction(resolve);
-  this.reject = aFunction(reject);
-}
-
-module.exports.f = function (C) {
-  return new PromiseCapability(C);
-};
-
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __webpack_require__) {
-
-exports.f = __webpack_require__(2);
-
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var core = __webpack_require__(0);
-var LIBRARY = __webpack_require__(19);
-var wksExt = __webpack_require__(41);
-var defineProperty = __webpack_require__(6).f;
-module.exports = function (name) {
-  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
-  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
-};
-
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.omit = omit;
-exports.arraysEqual = arraysEqual;
-var isElementAnSFC = exports.isElementAnSFC = function isElementAnSFC(element) {
-  var isNativeDOMElement = typeof element.type === 'string';
-
-  if (isNativeDOMElement) {
-    return false;
-  }
-
-  return !element.type.prototype.isReactComponent;
-};
-function omit(obj) {
-  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
-
-  var result = {};
-  Object.keys(obj).forEach(function (key) {
-    if (attrs.indexOf(key) === -1) {
-      result[key] = obj[key];
-    }
-  });
-  return result;
-}
-
-function arraysEqual(a, b) {
-  var sameObject = a === b;
-  if (sameObject) {
-    return true;
-  }
-
-  var notBothArrays = !Array.isArray(a) || !Array.isArray(b);
-  var differentLengths = a.length !== b.length;
-
-  if (notBothArrays || differentLengths) {
-    return false;
-  }
-
-  return a.every(function (element, index) {
-    return element === b[index];
-  });
-}
-
-function memoizeString(fn) {
-  var cache = {};
-
-  return function (str) {
-    if (!cache[str]) {
-      cache[str] = fn(str);
-    }
-    return cache[str];
-  };
-}
-
-var hyphenate = exports.hyphenate = memoizeString(function (str) {
-  return str.replace(/([A-Z])/g, '-$1').toLowerCase();
-});
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports) {
-
-
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var LIBRARY = __webpack_require__(19);
-var $export = __webpack_require__(4);
-var redefine = __webpack_require__(47);
-var hide = __webpack_require__(10);
-var Iterators = __webpack_require__(14);
-var $iterCreate = __webpack_require__(84);
-var setToStringTag = __webpack_require__(25);
-var getPrototypeOf = __webpack_require__(51);
-var ITERATOR = __webpack_require__(2)('iterator');
-var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
-var FF_ITERATOR = '@@iterator';
-var KEYS = 'keys';
-var VALUES = 'values';
-
-var returnThis = function () { return this; };
-
-module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
-  $iterCreate(Constructor, NAME, next);
-  var getMethod = function (kind) {
-    if (!BUGGY && kind in proto) return proto[kind];
-    switch (kind) {
-      case KEYS: return function keys() { return new Constructor(this, kind); };
-      case VALUES: return function values() { return new Constructor(this, kind); };
-    } return function entries() { return new Constructor(this, kind); };
-  };
-  var TAG = NAME + ' Iterator';
-  var DEF_VALUES = DEFAULT == VALUES;
-  var VALUES_BUG = false;
-  var proto = Base.prototype;
-  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
-  var $default = $native || getMethod(DEFAULT);
-  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
-  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
-  var methods, key, IteratorPrototype;
-  // Fix native
-  if ($anyNative) {
-    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
-    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
-      // Set @@toStringTag to native iterators
-      setToStringTag(IteratorPrototype, TAG, true);
-      // fix for some old engines
-      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
-    }
-  }
-  // fix Array#{values, @@iterator}.name in V8 / FF
-  if (DEF_VALUES && $native && $native.name !== VALUES) {
-    VALUES_BUG = true;
-    $default = function values() { return $native.call(this); };
-  }
-  // Define iterator
-  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
-    hide(proto, ITERATOR, $default);
-  }
-  // Plug for library
-  Iterators[NAME] = $default;
-  Iterators[TAG] = returnThis;
-  if (DEFAULT) {
-    methods = {
-      values: DEF_VALUES ? $default : getMethod(VALUES),
-      keys: IS_SET ? $default : getMethod(KEYS),
-      entries: $entries
-    };
-    if (FORCED) for (key in methods) {
-      if (!(key in proto)) redefine(proto, key, methods[key]);
-    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
-  }
-  return methods;
-};
-
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = !__webpack_require__(7) && !__webpack_require__(13)(function () {
-  return Object.defineProperty(__webpack_require__(30)('div'), 'a', { get: function () { return 7; } }).a != 7;
-});
-
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(10);
-
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var has = __webpack_require__(11);
-var toIObject = __webpack_require__(15);
-var arrayIndexOf = __webpack_require__(86)(false);
-var IE_PROTO = __webpack_require__(34)('IE_PROTO');
-
-module.exports = function (object, names) {
-  var O = toIObject(object);
-  var i = 0;
-  var result = [];
-  var key;
-  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
-  // Don't enum bug & hidden keys
-  while (names.length > i) if (has(O, key = names[i++])) {
-    ~arrayIndexOf(result, key) || result.push(key);
-  }
-  return result;
-};
-
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// fallback for non-array-like ES3 and non-enumerable old V8 strings
-var cof = __webpack_require__(22);
-// eslint-disable-next-line no-prototype-builtins
-module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
-  return cof(it) == 'String' ? it.split('') : Object(it);
-};
-
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var document = __webpack_require__(1).document;
-module.exports = document && document.documentElement;
-
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
-var has = __webpack_require__(11);
-var toObject = __webpack_require__(16);
-var IE_PROTO = __webpack_require__(34)('IE_PROTO');
-var ObjectProto = Object.prototype;
-
-module.exports = Object.getPrototypeOf || function (O) {
-  O = toObject(O);
-  if (has(O, IE_PROTO)) return O[IE_PROTO];
-  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-    return O.constructor.prototype;
-  } return O instanceof Object ? ObjectProto : null;
-};
-
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// call something on iterator step with safe closing on error
-var anObject = __webpack_require__(5);
-module.exports = function (iterator, fn, value, entries) {
-  try {
-    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
-  // 7.4.6 IteratorClose(iterator, completion)
-  } catch (e) {
-    var ret = iterator['return'];
-    if (ret !== undefined) anObject(ret.call(iterator));
-    throw e;
-  }
-};
-
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// check on default Array iterator
-var Iterators = __webpack_require__(14);
-var ITERATOR = __webpack_require__(2)('iterator');
-var ArrayProto = Array.prototype;
-
-module.exports = function (it) {
-  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
-};
-
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.3.20 SpeciesConstructor(O, defaultConstructor)
-var anObject = __webpack_require__(5);
-var aFunction = __webpack_require__(23);
-var SPECIES = __webpack_require__(2)('species');
-module.exports = function (O, D) {
-  var C = anObject(O).constructor;
-  var S;
-  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
-};
-
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ctx = __webpack_require__(12);
-var invoke = __webpack_require__(94);
-var html = __webpack_require__(50);
-var cel = __webpack_require__(30);
-var global = __webpack_require__(1);
-var process = global.process;
-var setTask = global.setImmediate;
-var clearTask = global.clearImmediate;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function () {
-  var id = +this;
-  // eslint-disable-next-line no-prototype-builtins
-  if (queue.hasOwnProperty(id)) {
-    var fn = queue[id];
-    delete queue[id];
-    fn();
-  }
-};
-var listener = function (event) {
-  run.call(event.data);
-};
-// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
-if (!setTask || !clearTask) {
-  setTask = function setImmediate(fn) {
-    var args = [];
-    var i = 1;
-    while (arguments.length > i) args.push(arguments[i++]);
-    queue[++counter] = function () {
-      // eslint-disable-next-line no-new-func
-      invoke(typeof fn == 'function' ? fn : Function(fn), args);
-    };
-    defer(counter);
-    return counter;
-  };
-  clearTask = function clearImmediate(id) {
-    delete queue[id];
-  };
-  // Node.js 0.8-
-  if (__webpack_require__(22)(process) == 'process') {
-    defer = function (id) {
-      process.nextTick(ctx(run, id, 1));
-    };
-  // Sphere (JS game engine) Dispatch API
-  } else if (Dispatch && Dispatch.now) {
-    defer = function (id) {
-      Dispatch.now(ctx(run, id, 1));
-    };
-  // Browsers with MessageChannel, includes WebWorkers
-  } else if (MessageChannel) {
-    channel = new MessageChannel();
-    port = channel.port2;
-    channel.port1.onmessage = listener;
-    defer = ctx(port.postMessage, port, 1);
-  // Browsers with postMessage, skip WebWorkers
-  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
-  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
-    defer = function (id) {
-      global.postMessage(id + '', '*');
-    };
-    global.addEventListener('message', listener, false);
-  // IE8-
-  } else if (ONREADYSTATECHANGE in cel('script')) {
-    defer = function (id) {
-      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
-        html.removeChild(this);
-        run.call(id);
-      };
-    };
-  // Rest old browsers
-  } else {
-    defer = function (id) {
-      setTimeout(ctx(run, id, 1), 0);
-    };
-  }
-}
-module.exports = {
-  set: setTask,
-  clear: clearTask
-};
-
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
-  try {
-    return { e: false, v: exec() };
-  } catch (e) {
-    return { e: true, v: e };
-  }
-};
-
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(5);
-var isObject = __webpack_require__(8);
-var newPromiseCapability = __webpack_require__(39);
-
-module.exports = function (C, x) {
-  anObject(C);
-  if (isObject(x) && x.constructor === C) return x;
-  var promiseCapability = newPromiseCapability.f(C);
-  var resolve = promiseCapability.resolve;
-  resolve(x);
-  return promiseCapability.promise;
-};
-
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ITERATOR = __webpack_require__(2)('iterator');
-var SAFE_CLOSING = false;
-
-try {
-  var riter = [7][ITERATOR]();
-  riter['return'] = function () { SAFE_CLOSING = true; };
-  // eslint-disable-next-line no-throw-literal
-  Array.from(riter, function () { throw 2; });
-} catch (e) { /* empty */ }
-
-module.exports = function (exec, skipClosing) {
-  if (!skipClosing && !SAFE_CLOSING) return false;
-  var safe = false;
-  try {
-    var arr = [7];
-    var iter = arr[ITERATOR]();
-    iter.next = function () { return { done: safe = true }; };
-    arr[ITERATOR] = function () { return iter; };
-    exec(arr);
-  } catch (e) { /* empty */ }
-  return safe;
-};
-
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(105), __esModule: true };
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// most Object methods by ES6 should accept primitives
-var $export = __webpack_require__(4);
-var core = __webpack_require__(0);
-var fails = __webpack_require__(13);
-module.exports = function (KEY, exec) {
-  var fn = (core.Object || {})[KEY] || Object[KEY];
-  var exp = {};
-  exp[KEY] = exec(fn);
-  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
-};
-
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-exports.default = function (instance, Constructor) {
-  if (!(instance instanceof Constructor)) {
-    throw new TypeError("Cannot call a class as a function");
-  }
-};
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _defineProperty = __webpack_require__(107);
-
-var _defineProperty2 = _interopRequireDefault(_defineProperty);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function () {
-  function 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;
-      (0, _defineProperty2.default)(target, descriptor.key, descriptor);
-    }
-  }
-
-  return function (Constructor, protoProps, staticProps) {
-    if (protoProps) defineProperties(Constructor.prototype, protoProps);
-    if (staticProps) defineProperties(Constructor, staticProps);
-    return Constructor;
-  };
-}();
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _typeof2 = __webpack_require__(64);
-
-var _typeof3 = _interopRequireDefault(_typeof2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (self, call) {
-  if (!self) {
-    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-  }
-
-  return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
-};
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _iterator = __webpack_require__(110);
-
-var _iterator2 = _interopRequireDefault(_iterator);
-
-var _symbol = __webpack_require__(112);
-
-var _symbol2 = _interopRequireDefault(_symbol);
-
-var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
-  return typeof obj === "undefined" ? "undefined" : _typeof(obj);
-} : function (obj) {
-  return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
-};
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
-var $keys = __webpack_require__(48);
-var hiddenKeys = __webpack_require__(36).concat('length', 'prototype');
-
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-  return $keys(O, hiddenKeys);
-};
-
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var pIE = __webpack_require__(27);
-var createDesc = __webpack_require__(20);
-var toIObject = __webpack_require__(15);
-var toPrimitive = __webpack_require__(31);
-var has = __webpack_require__(11);
-var IE8_DOM_DEFINE = __webpack_require__(46);
-var gOPD = Object.getOwnPropertyDescriptor;
-
-exports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, P) {
-  O = toIObject(O);
-  P = toPrimitive(P, true);
-  if (IE8_DOM_DEFINE) try {
-    return gOPD(O, P);
-  } catch (e) { /* empty */ }
-  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
-};
-
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _setPrototypeOf = __webpack_require__(121);
-
-var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
-
-var _create = __webpack_require__(125);
-
-var _create2 = _interopRequireDefault(_create);
-
-var _typeof2 = __webpack_require__(64);
-
-var _typeof3 = _interopRequireDefault(_typeof2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (subClass, superClass) {
-  if (typeof superClass !== "function" && superClass !== null) {
-    throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
-  }
-
-  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
-    constructor: {
-      value: subClass,
-      enumerable: false,
-      writable: true,
-      configurable: true
-    }
-  });
-  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
-};
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports) {
-
-// shim for using process in browser
-var process = module.exports = {};
-
-// cached from whatever global is present so that test runners that stub it
-// don't break things.  But we need to wrap it in a try catch in case it is
-// wrapped in strict mode code which doesn't define any globals.  It's inside a
-// function because try/catches deoptimize in certain engines.
-
-var cachedSetTimeout;
-var cachedClearTimeout;
-
-function defaultSetTimout() {
-    throw new Error('setTimeout has not been defined');
-}
-function defaultClearTimeout () {
-    throw new Error('clearTimeout has not been defined');
-}
-(function () {
-    try {
-        if (typeof setTimeout === 'function') {
-            cachedSetTimeout = setTimeout;
-        } else {
-            cachedSetTimeout = defaultSetTimout;
-        }
-    } catch (e) {
-        cachedSetTimeout = defaultSetTimout;
-    }
-    try {
-        if (typeof clearTimeout === 'function') {
-            cachedClearTimeout = clearTimeout;
-        } else {
-            cachedClearTimeout = defaultClearTimeout;
-        }
-    } catch (e) {
-        cachedClearTimeout = defaultClearTimeout;
-    }
-} ())
-function runTimeout(fun) {
-    if (cachedSetTimeout === setTimeout) {
-        //normal enviroments in sane situations
-        return setTimeout(fun, 0);
-    }
-    // if setTimeout wasn't available but was latter defined
-    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
-        cachedSetTimeout = setTimeout;
-        return setTimeout(fun, 0);
-    }
-    try {
-        // when when somebody has screwed with setTimeout but no I.E. maddness
-        return cachedSetTimeout(fun, 0);
-    } catch(e){
-        try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
-            return cachedSetTimeout.call(null, fun, 0);
-        } catch(e){
-            // 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
-            return cachedSetTimeout.call(this, fun, 0);
-        }
-    }
-
-
-}
-function runClearTimeout(marker) {
-    if (cachedClearTimeout === clearTimeout) {
-        //normal enviroments in sane situations
-        return clearTimeout(marker);
-    }
-    // if clearTimeout wasn't available but was latter defined
-    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
-        cachedClearTimeout = clearTimeout;
-        return clearTimeout(marker);
-    }
-    try {
-        // when when somebody has screwed with setTimeout but no I.E. maddness
-        return cachedClearTimeout(marker);
-    } catch (e){
-        try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
-            return cachedClearTimeout.call(null, marker);
-        } catch (e){
-            // 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.
-            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
-            return cachedClearTimeout.call(this, marker);
-        }
-    }
-
-
-
-}
-var queue = [];
-var draining = false;
-var currentQueue;
-var queueIndex = -1;
-
-function cleanUpNextTick() {
-    if (!draining || !currentQueue) {
-        return;
-    }
-    draining = false;
-    if (currentQueue.length) {
-        queue = currentQueue.concat(queue);
-    } else {
-        queueIndex = -1;
-    }
-    if (queue.length) {
-        drainQueue();
-    }
-}
-
-function drainQueue() {
-    if (draining) {
-        return;
-    }
-    var timeout = runTimeout(cleanUpNextTick);
-    draining = true;
-
-    var len = queue.length;
-    while(len) {
-        currentQueue = queue;
-        queue = [];
-        while (++queueIndex < len) {
-            if (currentQueue) {
-                currentQueue[queueIndex].run();
-            }
-        }
-        queueIndex = -1;
-        len = queue.length;
-    }
-    currentQueue = null;
-    draining = false;
-    runClearTimeout(timeout);
-}
-
-process.nextTick = function (fun) {
-    var args = new Array(arguments.length - 1);
-    if (arguments.length > 1) {
-        for (var i = 1; i < arguments.length; i++) {
-            args[i - 1] = arguments[i];
-        }
-    }
-    queue.push(new Item(fun, args));
-    if (queue.length === 1 && !draining) {
-        runTimeout(drainQueue);
-    }
-};
-
-// v8 likes predictible objects
-function Item(fun, array) {
-    this.fun = fun;
-    this.array = array;
-}
-Item.prototype.run = function () {
-    this.fun.apply(null, this.array);
-};
-process.title = 'browser';
-process.browser = true;
-process.env = {};
-process.argv = [];
-process.version = ''; // empty string to avoid regexp issues
-process.versions = {};
-
-function noop() {}
-
-process.on = noop;
-process.addListener = noop;
-process.once = noop;
-process.off = noop;
-process.removeListener = noop;
-process.removeAllListeners = noop;
-process.emit = noop;
-process.prependListener = noop;
-process.prependOnceListener = noop;
-
-process.listeners = function (name) { return [] }
-
-process.binding = function (name) {
-    throw new Error('process.binding is not supported');
-};
-
-process.cwd = function () { return '/' };
-process.chdir = function (dir) {
-    throw new Error('process.chdir is not supported');
-};
-process.umask = function() { return 0; };
-
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.hasClassInParent = exports.formatErrorMsg = exports.getMetaContent = exports.axiosGithub = exports.axiosJSON = exports.queryStringify = exports.queryParse = undefined;
-
-var _keys = __webpack_require__(147);
-
-var _keys2 = _interopRequireDefault(_keys);
-
-var _slicedToArray2 = __webpack_require__(150);
-
-var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
-
-var _axios = __webpack_require__(157);
-
-var _axios2 = _interopRequireDefault(_axios);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var queryParse = exports.queryParse = function queryParse() {
-  var search = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.location.search;
-
-  if (!search) return {};
-  var queryString = search[0] === '?' ? search.substring(1) : search;
-  var query = {};
-  queryString.split('&').forEach(function (queryStr) {
-    var _queryStr$split = queryStr.split('='),
-        _queryStr$split2 = (0, _slicedToArray3.default)(_queryStr$split, 2),
-        key = _queryStr$split2[0],
-        value = _queryStr$split2[1];
-    /* istanbul ignore else */
-
-
-    if (key) query[decodeURIComponent(key)] = decodeURIComponent(value);
-  });
-
-  return query;
-};
-
-var queryStringify = exports.queryStringify = function queryStringify(query) {
-  var queryString = (0, _keys2.default)(query).map(function (key) {
-    return key + '=' + encodeURIComponent(query[key] || '');
-  }).join('&');
-  return queryString;
-};
-
-var axiosJSON = exports.axiosJSON = _axios2.default.create({
-  headers: {
-    'Accept': 'application/json'
-  }
-});
-
-var axiosGithub = exports.axiosGithub = _axios2.default.create({
-  baseURL: 'https://api.github.com',
-  headers: {
-    'Accept': 'application/json'
-  }
-});
-
-var getMetaContent = exports.getMetaContent = function getMetaContent(name, content) {
-  /* istanbul ignore next */
-  content || (content = 'content');
-  /* istanbul ignore next */
-  var el = window.document.querySelector('meta[name=\'' + name + '\']');
-  /* istanbul ignore next */
-  return el && el.getAttribute(content);
-};
-
-var formatErrorMsg = exports.formatErrorMsg = function formatErrorMsg(err) {
-  var msg = 'Error: ';
-  if (err.response && err.response.data && err.response.data.message) {
-    msg += err.response.data.message + '. ';
-    err.response.data.errors && (msg += err.response.data.errors.map(function (e) {
-      return e.message;
-    }).join(', '));
-  } else {
-    msg += err.message;
-  }
-  return msg;
-};
-
-var hasClassInParent = exports.hasClassInParent = function hasClassInParent(element) {
-  for (var _len = arguments.length, className = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-    className[_key - 1] = arguments[_key];
-  }
-
-  /* istanbul ignore next */
-  var yes = false;
-  /* istanbul ignore next */
-  if (typeof element.className === 'undefined') return false;
-  /* istanbul ignore next */
-  var classes = element.className.split(' ');
-  /* istanbul ignore next */
-  className.forEach(function (c, i) {
-    /* istanbul ignore next */
-    yes = yes || classes.indexOf(c) >= 0;
-  });
-  /* istanbul ignore next */
-  if (yes) return yes;
-  /* istanbul ignore next */
-  return element.parentNode && hasClassInParent(element.parentNode, className);
-};
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function bind(fn, thisArg) {
-  return function wrap() {
-    var args = new Array(arguments.length);
-    for (var i = 0; i < args.length; i++) {
-      args[i] = arguments[i];
-    }
-    return fn.apply(thisArg, args);
-  };
-};
-
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-function encode(val) {
-  return encodeURIComponent(val).
-    replace(/%40/gi, '@').
-    replace(/%3A/gi, ':').
-    replace(/%24/g, '$').
-    replace(/%2C/gi, ',').
-    replace(/%20/g, '+').
-    replace(/%5B/gi, '[').
-    replace(/%5D/gi, ']');
-}
-
-/**
- * Build a URL by appending params to the end
- *
- * @param {string} url The base of the url (e.g., http://www.google.com)
- * @param {object} [params] The params to be appended
- * @returns {string} The formatted url
- */
-module.exports = function buildURL(url, params, paramsSerializer) {
-  /*eslint no-param-reassign:0*/
-  if (!params) {
-    return url;
-  }
-
-  var serializedParams;
-  if (paramsSerializer) {
-    serializedParams = paramsSerializer(params);
-  } else if (utils.isURLSearchParams(params)) {
-    serializedParams = params.toString();
-  } else {
-    var parts = [];
-
-    utils.forEach(params, function serialize(val, key) {
-      if (val === null || typeof val === 'undefined') {
-        return;
-      }
-
-      if (utils.isArray(val)) {
-        key = key + '[]';
-      } else {
-        val = [val];
-      }
-
-      utils.forEach(val, function parseValue(v) {
-        if (utils.isDate(v)) {
-          v = v.toISOString();
-        } else if (utils.isObject(v)) {
-          v = JSON.stringify(v);
-        }
-        parts.push(encode(key) + '=' + encode(v));
-      });
-    });
-
-    serializedParams = parts.join('&');
-  }
-
-  if (serializedParams) {
-    var hashmarkIndex = url.indexOf('#');
-    if (hashmarkIndex !== -1) {
-      url = url.slice(0, hashmarkIndex);
-    }
-
-    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
-  }
-
-  return url;
-};
-
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function isCancel(value) {
-  return !!(value && value.__CANCEL__);
-};
-
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
-
-var utils = __webpack_require__(3);
-var normalizeHeaderName = __webpack_require__(163);
-
-var DEFAULT_CONTENT_TYPE = {
-  'Content-Type': 'application/x-www-form-urlencoded'
-};
-
-function setContentTypeIfUnset(headers, value) {
-  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
-    headers['Content-Type'] = value;
-  }
-}
-
-function getDefaultAdapter() {
-  var adapter;
-  if (typeof XMLHttpRequest !== 'undefined') {
-    // For browsers use XHR adapter
-    adapter = __webpack_require__(74);
-  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
-    // For node use HTTP adapter
-    adapter = __webpack_require__(74);
-  }
-  return adapter;
-}
-
-var defaults = {
-  adapter: getDefaultAdapter(),
-
-  transformRequest: [function transformRequest(data, headers) {
-    normalizeHeaderName(headers, 'Accept');
-    normalizeHeaderName(headers, 'Content-Type');
-    if (utils.isFormData(data) ||
-      utils.isArrayBuffer(data) ||
-      utils.isBuffer(data) ||
-      utils.isStream(data) ||
-      utils.isFile(data) ||
-      utils.isBlob(data)
-    ) {
-      return data;
-    }
-    if (utils.isArrayBufferView(data)) {
-      return data.buffer;
-    }
-    if (utils.isURLSearchParams(data)) {
-      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
-      return data.toString();
-    }
-    if (utils.isObject(data)) {
-      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
-      return JSON.stringify(data);
-    }
-    return data;
-  }],
-
-  transformResponse: [function transformResponse(data) {
-    /*eslint no-param-reassign:0*/
-    if (typeof data === 'string') {
-      try {
-        data = JSON.parse(data);
-      } catch (e) { /* Ignore */ }
-    }
-    return data;
-  }],
-
-  /**
-   * A timeout in milliseconds to abort a request. If set to 0 (default) a
-   * timeout is not created.
-   */
-  timeout: 0,
-
-  xsrfCookieName: 'XSRF-TOKEN',
-  xsrfHeaderName: 'X-XSRF-TOKEN',
-
-  maxContentLength: -1,
-
-  validateStatus: function validateStatus(status) {
-    return status >= 200 && status < 300;
-  }
-};
-
-defaults.headers = {
-  common: {
-    'Accept': 'application/json, text/plain, */*'
-  }
-};
-
-utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
-  defaults.headers[method] = {};
-});
-
-utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
-  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
-});
-
-module.exports = defaults;
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)))
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var settle = __webpack_require__(164);
-var buildURL = __webpack_require__(71);
-var buildFullPath = __webpack_require__(166);
-var parseHeaders = __webpack_require__(169);
-var isURLSameOrigin = __webpack_require__(170);
-var createError = __webpack_require__(75);
-
-module.exports = function xhrAdapter(config) {
-  return new Promise(function dispatchXhrRequest(resolve, reject) {
-    var requestData = config.data;
-    var requestHeaders = config.headers;
-
-    if (utils.isFormData(requestData)) {
-      delete requestHeaders['Content-Type']; // Let the browser set it
-    }
-
-    var request = new XMLHttpRequest();
-
-    // HTTP basic authentication
-    if (config.auth) {
-      var username = config.auth.username || '';
-      var password = config.auth.password || '';
-      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
-    }
-
-    var fullPath = buildFullPath(config.baseURL, config.url);
-    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
-
-    // Set the request timeout in MS
-    request.timeout = config.timeout;
-
-    // Listen for ready state
-    request.onreadystatechange = function handleLoad() {
-      if (!request || request.readyState !== 4) {
-        return;
-      }
-
-      // The request errored out and we didn't get a response, this will be
-      // handled by onerror instead
-      // With one exception: request that using file: protocol, most browsers
-      // will return status as 0 even though it's a successful request
-      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
-        return;
-      }
-
-      // Prepare the response
-      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
-      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
-      var response = {
-        data: responseData,
-        status: request.status,
-        statusText: request.statusText,
-        headers: responseHeaders,
-        config: config,
-        request: request
-      };
-
-      settle(resolve, reject, response);
-
-      // Clean up request
-      request = null;
-    };
-
-    // Handle browser request cancellation (as opposed to a manual cancellation)
-    request.onabort = function handleAbort() {
-      if (!request) {
-        return;
-      }
-
-      reject(createError('Request aborted', config, 'ECONNABORTED', request));
-
-      // Clean up request
-      request = null;
-    };
-
-    // Handle low level network errors
-    request.onerror = function handleError() {
-      // Real errors are hidden from us by the browser
-      // onerror should only fire if it's a network error
-      reject(createError('Network Error', config, null, request));
-
-      // Clean up request
-      request = null;
-    };
-
-    // Handle timeout
-    request.ontimeout = function handleTimeout() {
-      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
-      if (config.timeoutErrorMessage) {
-        timeoutErrorMessage = config.timeoutErrorMessage;
-      }
-      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
-        request));
-
-      // Clean up request
-      request = null;
-    };
-
-    // Add xsrf header
-    // This is only done if running in a standard browser environment.
-    // Specifically not if we're in a web worker, or react-native.
-    if (utils.isStandardBrowserEnv()) {
-      var cookies = __webpack_require__(171);
-
-      // Add xsrf header
-      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
-        cookies.read(config.xsrfCookieName) :
-        undefined;
-
-      if (xsrfValue) {
-        requestHeaders[config.xsrfHeaderName] = xsrfValue;
-      }
-    }
-
-    // Add headers to the request
-    if ('setRequestHeader' in request) {
-      utils.forEach(requestHeaders, function setRequestHeader(val, key) {
-        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
-          // Remove Content-Type if data is undefined
-          delete requestHeaders[key];
-        } else {
-          // Otherwise add header to the request
-          request.setRequestHeader(key, val);
-        }
-      });
-    }
-
-    // Add withCredentials to request if needed
-    if (!utils.isUndefined(config.withCredentials)) {
-      request.withCredentials = !!config.withCredentials;
-    }
-
-    // Add responseType to request if needed
-    if (config.responseType) {
-      try {
-        request.responseType = config.responseType;
-      } catch (e) {
-        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
-        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
-        if (config.responseType !== 'json') {
-          throw e;
-        }
-      }
-    }
-
-    // Handle progress if needed
-    if (typeof config.onDownloadProgress === 'function') {
-      request.addEventListener('progress', config.onDownloadProgress);
-    }
-
-    // Not all browsers support upload events
-    if (typeof config.onUploadProgress === 'function' && request.upload) {
-      request.upload.addEventListener('progress', config.onUploadProgress);
-    }
-
-    if (config.cancelToken) {
-      // Handle cancellation
-      config.cancelToken.promise.then(function onCanceled(cancel) {
-        if (!request) {
-          return;
-        }
-
-        request.abort();
-        reject(cancel);
-        // Clean up request
-        request = null;
-      });
-    }
-
-    if (requestData === undefined) {
-      requestData = null;
-    }
-
-    // Send the request
-    request.send(requestData);
-  });
-};
-
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var enhanceError = __webpack_require__(165);
-
-/**
- * Create an Error with the specified message, config, error code, request and response.
- *
- * @param {string} message The error message.
- * @param {Object} config The config.
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
- * @param {Object} [request] The request.
- * @param {Object} [response] The response.
- * @returns {Error} The created error.
- */
-module.exports = function createError(message, config, code, request, response) {
-  var error = new Error(message);
-  return enhanceError(error, config, code, request, response);
-};
-
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-/**
- * Config-specific merge-function which creates a new config-object
- * by merging two configuration objects together.
- *
- * @param {Object} config1
- * @param {Object} config2
- * @returns {Object} New object resulting from merging config2 to config1
- */
-module.exports = function mergeConfig(config1, config2) {
-  // eslint-disable-next-line no-param-reassign
-  config2 = config2 || {};
-  var config = {};
-
-  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];
-  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];
-  var defaultToConfig2Keys = [
-    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',
-    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
-    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',
-    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',
-    'httpsAgent', 'cancelToken', 'socketPath'
-  ];
-
-  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
-    if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    }
-  });
-
-  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {
-    if (utils.isObject(config2[prop])) {
-      config[prop] = utils.deepMerge(config1[prop], config2[prop]);
-    } else if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    } else if (utils.isObject(config1[prop])) {
-      config[prop] = utils.deepMerge(config1[prop]);
-    } else if (typeof config1[prop] !== 'undefined') {
-      config[prop] = config1[prop];
-    }
-  });
-
-  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
-    if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    } else if (typeof config1[prop] !== 'undefined') {
-      config[prop] = config1[prop];
-    }
-  });
-
-  var axiosKeys = valueFromConfig2Keys
-    .concat(mergeDeepPropertiesKeys)
-    .concat(defaultToConfig2Keys);
-
-  var otherKeys = Object
-    .keys(config2)
-    .filter(function filterAxiosKeys(key) {
-      return axiosKeys.indexOf(key) === -1;
-    });
-
-  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {
-    if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    } else if (typeof config1[prop] !== 'undefined') {
-      config[prop] = config1[prop];
-    }
-  });
-
-  return config;
-};
-
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * A `Cancel` is an object that is thrown when an operation is canceled.
- *
- * @class
- * @param {string=} message The message.
- */
-function Cancel(message) {
-  this.message = message;
-}
-
-Cancel.prototype.toString = function toString() {
-  return 'Cancel' + (this.message ? ': ' + this.message : '');
-};
-
-Cancel.prototype.__CANCEL__ = true;
-
-module.exports = Cancel;
-
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var src = _ref.src,
-      className = _ref.className,
-      alt = _ref.alt,
-      onError = _ref.onError;
-  return _react2.default.createElement(
-    'div',
-    { className: 'gt-avatar ' + className },
-    _react2.default.createElement('img', { src: src, alt: '@' + alt, onError: onError })
-  );
-};
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var className = _ref.className,
-      text = _ref.text,
-      name = _ref.name;
-  return _react2.default.createElement(
-    "span",
-    { className: "gt-ico " + className },
-    _react2.default.createElement("span", { className: "gt-svg", dangerouslySetInnerHTML: {
-        __html: __webpack_require__(177)("./" + name + ".svg")
-      } }),
-    text && _react2.default.createElement(
-      "span",
-      { className: "gt-ico-text" },
-      text
-    )
-  );
-};
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _promise = __webpack_require__(81);
-
-var _promise2 = _interopRequireDefault(_promise);
-
-var _assign = __webpack_require__(101);
-
-var _assign2 = _interopRequireDefault(_assign);
-
-var _getPrototypeOf = __webpack_require__(59);
-
-var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
-
-var _classCallCheck2 = __webpack_require__(61);
-
-var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
-
-var _createClass2 = __webpack_require__(62);
-
-var _createClass3 = _interopRequireDefault(_createClass2);
-
-var _possibleConstructorReturn2 = __webpack_require__(63);
-
-var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
-
-var _inherits2 = __webpack_require__(67);
-
-var _inherits3 = _interopRequireDefault(_inherits2);
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _reactFlipMove = __webpack_require__(128);
-
-var _reactFlipMove2 = _interopRequireDefault(_reactFlipMove);
-
-var _autosize = __webpack_require__(136);
-
-var _autosize2 = _interopRequireDefault(_autosize);
-
-var _i18n = __webpack_require__(137);
-
-var _i18n2 = _interopRequireDefault(_i18n);
-
-__webpack_require__(146);
-
-var _util = __webpack_require__(69);
-
-var _avatar = __webpack_require__(78);
-
-var _avatar2 = _interopRequireDefault(_avatar);
-
-var _button = __webpack_require__(174);
-
-var _button2 = _interopRequireDefault(_button);
-
-var _action = __webpack_require__(175);
-
-var _action2 = _interopRequireDefault(_action);
-
-var _comment = __webpack_require__(176);
-
-var _comment2 = _interopRequireDefault(_comment);
-
-var _svg = __webpack_require__(79);
-
-var _svg2 = _interopRequireDefault(_svg);
-
-var _const = __webpack_require__(204);
-
-var _getComments = __webpack_require__(205);
-
-var _getComments2 = _interopRequireDefault(_getComments);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var GitalkComponent = function (_Component) {
-  (0, _inherits3.default)(GitalkComponent, _Component);
-
-  function GitalkComponent(props) {
-    (0, _classCallCheck3.default)(this, GitalkComponent);
-
-    var _this = (0, _possibleConstructorReturn3.default)(this, (GitalkComponent.__proto__ || (0, _getPrototypeOf2.default)(GitalkComponent)).call(this, props));
-
-    _this.state = {
-      user: null,
-      issue: null,
-      comments: [],
-      localComments: [],
-      comment: '',
-      page: 1,
-      pagerDirection: 'last',
-      cursor: null,
-      previewHtml: '',
-
-      isNoInit: false,
-      isIniting: true,
-      isCreating: false,
-      isLoading: false,
-      isLoadMore: false,
-      isLoadOver: false,
-      isIssueCreating: false,
-      isPopupVisible: false,
-      isInputFocused: false,
-      isPreview: false,
-
-      isOccurError: false,
-      errorMsg: ''
-    };
-
-    _this.getCommentsV3 = function (issue) {
-      var _this$options = _this.options,
-          clientID = _this$options.clientID,
-          clientSecret = _this$options.clientSecret,
-          perPage = _this$options.perPage;
-      var page = _this.state.page;
-
-
-      return _this.getIssue().then(function (issue) {
-        if (!issue) return;
-
-        return _util.axiosGithub.get(issue.comments_url, {
-          headers: {
-            Accept: 'application/vnd.github.v3.full+json'
-          },
-          auth: {
-            username: clientID,
-            password: clientSecret
-          },
-          params: {
-            per_page: perPage,
-            page: page
-          }
-        }).then(function (res) {
-          var _this$state = _this.state,
-              comments = _this$state.comments,
-              issue = _this$state.issue;
-
-          var isLoadOver = false;
-          var cs = comments.concat(res.data);
-          if (cs.length >= issue.comments || res.data.length < perPage) {
-            isLoadOver = true;
-          }
-          _this.setState({
-            comments: cs,
-            isLoadOver: isLoadOver,
-            page: page + 1
-          });
-          return cs;
-        });
-      });
-    };
-
-    _this.getRef = function (e) {
-      _this.publicBtnEL = e;
-    };
-
-    _this.reply = function (replyComment) {
-      return function () {
-        var comment = _this.state.comment;
-
-        var replyCommentBody = replyComment.body;
-        var replyCommentArray = replyCommentBody.split('\n');
-        replyCommentArray.unshift('@' + replyComment.user.login);
-        replyCommentArray = replyCommentArray.map(function (t) {
-          return '> ' + t;
-        });
-        replyCommentArray.push('');
-        replyCommentArray.push('');
-        if (comment) replyCommentArray.unshift('');
-        _this.setState({ comment: comment + replyCommentArray.join('\n') }, function () {
-          _autosize2.default.update(_this.commentEL);
-          _this.commentEL.focus();
-        });
-      };
-    };
-
-    _this.handlePopup = function (e) {
-      e.preventDefault();
-      e.stopPropagation();
-      var isVisible = !_this.state.isPopupVisible;
-      var hideHandle = function hideHandle(e1) {
-        if ((0, _util.hasClassInParent)(e1.target, 'gt-user', 'gt-popup')) {
-          return;
-        }
-        window.document.removeEventListener('click', hideHandle);
-        _this.setState({ isPopupVisible: false });
-      };
-      _this.setState({ isPopupVisible: isVisible });
-      if (isVisible) {
-        window.document.addEventListener('click', hideHandle);
-      } else {
-        window.document.removeEventListener('click', hideHandle);
-      }
-    };
-
-    _this.handleLogin = function () {
-      var comment = _this.state.comment;
-
-      window.localStorage.setItem(_const.GT_COMMENT, encodeURIComponent(comment));
-      window.location.href = _this.loginLink;
-    };
-
-    _this.handleIssueCreate = function () {
-      _this.setState({ isIssueCreating: true });
-      _this.createIssue().then(function (issue) {
-        _this.setState({
-          isIssueCreating: false,
-          isOccurError: false
-        });
-        return _this.getComments(issue);
-      }).catch(function (err) {
-        _this.setState({
-          isIssueCreating: false,
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      }).then(function (res) {
-        if (res) {
-          _this.setState({
-            isNoInit: false
-          });
-        }
-      });
-    };
-
-    _this.handleCommentCreate = function (e) {
-      if (!_this.state.comment.length) {
-        e && e.preventDefault();
-        _this.commentEL.focus();
-        return;
-      }
-      _this.setState(function (state) {
-        if (state.isCreating) return;
-
-        _this.createComment().then(function () {
-          return _this.setState({
-            isCreating: false,
-            isOccurError: false
-          });
-        }).catch(function (err) {
-          _this.setState({
-            isCreating: false,
-            isOccurError: true,
-            errorMsg: (0, _util.formatErrorMsg)(err)
-          });
-        });
-        return { isCreating: true };
-      });
-    };
-
-    _this.handleCommentPreview = function (e) {
-      _this.setState({
-        isPreview: !_this.state.isPreview
-      });
-
-      _util.axiosGithub.post('/markdown', {
-        text: _this.state.comment
-      }, {
-        headers: _this.accessToken && { Authorization: 'token ' + _this.accessToken }
-      }).then(function (res) {
-        _this.setState({
-          previewHtml: res.data
-        });
-      }).catch(function (err) {
-        _this.setState({
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      });
-    };
-
-    _this.handleCommentLoad = function () {
-      var _this$state2 = _this.state,
-          issue = _this$state2.issue,
-          isLoadMore = _this$state2.isLoadMore;
-
-      if (isLoadMore) return;
-      _this.setState({ isLoadMore: true });
-      _this.getComments(issue).then(function () {
-        return _this.setState({ isLoadMore: false });
-      });
-    };
-
-    _this.handleCommentChange = function (e) {
-      return _this.setState({ comment: e.target.value });
-    };
-
-    _this.handleLogout = function () {
-      _this.logout();
-      window.location.reload();
-    };
-
-    _this.handleCommentFocus = function (e) {
-      var distractionFreeMode = _this.options.distractionFreeMode;
-
-      if (!distractionFreeMode) return e.preventDefault();
-      _this.setState({ isInputFocused: true });
-    };
-
-    _this.handleCommentBlur = function (e) {
-      var distractionFreeMode = _this.options.distractionFreeMode;
-
-      if (!distractionFreeMode) return e.preventDefault();
-      _this.setState({ isInputFocused: false });
-    };
-
-    _this.handleSort = function (direction) {
-      return function (e) {
-        _this.setState({ pagerDirection: direction });
-      };
-    };
-
-    _this.handleCommentKeyDown = function (e) {
-      var enableHotKey = _this.options.enableHotKey;
-
-      if (enableHotKey && (e.metaKey || e.ctrlKey) && e.keyCode === 13) {
-        _this.publicBtnEL && _this.publicBtnEL.focus();
-        _this.handleCommentCreate();
-      }
-    };
-
-    _this.options = (0, _assign2.default)({}, {
-      id: window.location.href,
-      number: -1,
-      labels: ['Gitalk'],
-      title: window.document.title,
-      body: '', // window.location.href + header.meta[description]
-      language: window.navigator.language || window.navigator.userLanguage,
-      perPage: 10,
-      pagerDirection: 'last', // last or first
-      createIssueManually: false,
-      distractionFreeMode: false,
-      proxy: 'https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token',
-      flipMoveOptions: {
-        staggerDelayBy: 150,
-        appearAnimation: 'accordionVertical',
-        enterAnimation: 'accordionVertical',
-        leaveAnimation: 'accordionVertical'
-      },
-      enableHotKey: true,
-
-      url: window.location.href,
-
-      defaultAuthor: {
-        avatarUrl: '//avatars1.githubusercontent.com/u/29697133?s=50',
-        login: 'null',
-        url: ''
-      },
-
-      updateCountCallback: null
-    }, props.options);
-
-    _this.state.pagerDirection = _this.options.pagerDirection;
-    var storedComment = window.localStorage.getItem(_const.GT_COMMENT);
-    if (storedComment) {
-      _this.state.comment = decodeURIComponent(storedComment);
-      window.localStorage.removeItem(_const.GT_COMMENT);
-    }
-
-    var query = (0, _util.queryParse)();
-    if (query.code) {
-      var code = query.code;
-      delete query.code;
-      var replacedUrl = '' + window.location.origin + window.location.pathname + (0, _util.queryStringify)(query) + window.location.hash;
-      history.replaceState(null, null, replacedUrl);
-      _this.options = (0, _assign2.default)({}, _this.options, {
-        url: replacedUrl,
-        id: replacedUrl
-      }, props.options);
-
-      _util.axiosJSON.post(_this.options.proxy, {
-        code: code,
-        client_id: _this.options.clientID,
-        client_secret: _this.options.clientSecret
-      }).then(function (res) {
-        if (res.data && res.data.access_token) {
-          _this.accessToken = res.data.access_token;
-
-          _this.getInit().then(function () {
-            return _this.setState({ isIniting: false });
-          }).catch(function (err) {
-            console.log('err:', err);
-            _this.setState({
-              isIniting: false,
-              isOccurError: true,
-              errorMsg: (0, _util.formatErrorMsg)(err)
-            });
-          });
-        } else {
-          // no access_token
-          console.log('res.data err:', res.data);
-          _this.setState({
-            isOccurError: true,
-            errorMsg: (0, _util.formatErrorMsg)(new Error('no access token'))
-          });
-        }
-      }).catch(function (err) {
-        console.log('err: ', err);
-        _this.setState({
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      });
-    } else {
-      _this.getInit().then(function () {
-        return _this.setState({ isIniting: false });
-      }).catch(function (err) {
-        console.log('err:', err);
-        _this.setState({
-          isIniting: false,
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      });
-    }
-
-    _this.i18n = (0, _i18n2.default)(_this.options.language);
-    return _this;
-  }
-
-  (0, _createClass3.default)(GitalkComponent, [{
-    key: 'componentDidUpdate',
-    value: function componentDidUpdate() {
-      this.commentEL && (0, _autosize2.default)(this.commentEL);
-    }
-  }, {
-    key: 'getInit',
-    value: function getInit() {
-      var _this2 = this;
-
-      return this.getUserInfo().then(function () {
-        return _this2.getIssue();
-      }).then(function (issue) {
-        return _this2.getComments(issue);
-      });
-    }
-  }, {
-    key: 'getUserInfo',
-    value: function getUserInfo() {
-      var _this3 = this;
-
-      return _util.axiosGithub.get('/user', {
-        headers: {
-          Authorization: 'token ' + this.accessToken
-        }
-      }).then(function (res) {
-        _this3.setState({ user: res.data });
-      }).catch(function (err) {
-        _this3.logout();
-      });
-    }
-  }, {
-    key: 'getIssueById',
-    value: function getIssueById() {
-      var _this4 = this;
-
-      var _options = this.options,
-          owner = _options.owner,
-          repo = _options.repo,
-          number = _options.number,
-          clientID = _options.clientID,
-          clientSecret = _options.clientSecret;
-
-      var getUrl = '/repos/' + owner + '/' + repo + '/issues/' + number;
-
-      return new _promise2.default(function (resolve, reject) {
-        _util.axiosGithub.get(getUrl, {
-          auth: {
-            username: clientID,
-            password: clientSecret
-          },
-          params: {
-            t: Date.now()
-          }
-        }).then(function (res) {
-          var issue = null;
-
-          if (res && res.data && res.data.number === number) {
-            issue = res.data;
-
-            _this4.setState({ issue: issue, isNoInit: false });
-          }
-          resolve(issue);
-        }).catch(function (err) {
-          // When the status code is 404, promise will be resolved with null
-          if (err.response.status === 404) resolve(null);
-          reject(err);
-        });
-      });
-    }
-  }, {
-    key: 'getIssueByLabels',
-    value: function getIssueByLabels() {
-      var _this5 = this;
-
-      var _options2 = this.options,
-          owner = _options2.owner,
-          repo = _options2.repo,
-          id = _options2.id,
-          labels = _options2.labels,
-          clientID = _options2.clientID,
-          clientSecret = _options2.clientSecret;
-
-
-      return _util.axiosGithub.get('/repos/' + owner + '/' + repo + '/issues', {
-        auth: {
-          username: clientID,
-          password: clientSecret
-        },
-        params: {
-          labels: labels.concat(id).join(','),
-          t: Date.now()
-        }
-      }).then(function (res) {
-        var createIssueManually = _this5.options.createIssueManually;
-
-        var isNoInit = false;
-        var issue = null;
-        if (!(res && res.data && res.data.length)) {
-          if (!createIssueManually && _this5.isAdmin) {
-            return _this5.createIssue();
-          }
-
-          isNoInit = true;
-        } else {
-          issue = res.data[0];
-        }
-        _this5.setState({ issue: issue, isNoInit: isNoInit });
-        return issue;
-      });
-    }
-  }, {
-    key: 'getIssue',
-    value: function getIssue() {
-      var _this6 = this;
-
-      var number = this.options.number;
-      var issue = this.state.issue;
-
-      if (issue) {
-        this.setState({ isNoInit: false });
-        return _promise2.default.resolve(issue);
-      }
-
-      if (typeof number === 'number' && number > 0) {
-        return this.getIssueById().then(function (resIssue) {
-          if (!resIssue) return _this6.getIssueByLabels();
-          return resIssue;
-        });
-      }
-      return this.getIssueByLabels();
-    }
-  }, {
-    key: 'createIssue',
-    value: function createIssue() {
-      var _this7 = this;
-
-      var _options3 = this.options,
-          owner = _options3.owner,
-          repo = _options3.repo,
-          title = _options3.title,
-          body = _options3.body,
-          id = _options3.id,
-          labels = _options3.labels,
-          url = _options3.url;
-
-      return _util.axiosGithub.post('/repos/' + owner + '/' + repo + '/issues', {
-        title: title,
-        labels: labels.concat(id),
-        body: body || url + ' \n\n ' + ((0, _util.getMetaContent)('description') || (0, _util.getMetaContent)('description', 'og:description') || '')
-      }, {
-        headers: {
-          Authorization: 'token ' + this.accessToken
-        }
-      }).then(function (res) {
-        _this7.setState({ issue: res.data });
-        return res.data;
-      });
-    }
-    // Get comments via v3 api, don't require login, but sorting feature is disable
-
-  }, {
-    key: 'getComments',
-    value: function getComments(issue) {
-      if (!issue) return;
-      // Get comments via v4 graphql api, login required and sorting feature is available
-      if (this.accessToken) return _getComments2.default.call(this, issue);
-      return this.getCommentsV3(issue);
-    }
-  }, {
-    key: 'createComment',
-    value: function createComment() {
-      var _this8 = this;
-
-      var _state = this.state,
-          comment = _state.comment,
-          localComments = _state.localComments,
-          comments = _state.comments;
-
-
-      return this.getIssue().then(function (issue) {
-        return _util.axiosGithub.post(issue.comments_url, {
-          body: comment
-        }, {
-          headers: {
-            Accept: 'application/vnd.github.v3.full+json',
-            Authorization: 'token ' + _this8.accessToken
-          }
-        });
-      }).then(function (res) {
-        _this8.setState({
-          comment: '',
-          comments: comments.concat(res.data),
-          localComments: localComments.concat(res.data)
-        });
-      });
-    }
-  }, {
-    key: 'logout',
-    value: function logout() {
-      this.setState({ user: null });
-      window.localStorage.removeItem(_const.GT_ACCESS_TOKEN);
-    }
-  }, {
-    key: 'like',
-    value: function like(comment) {
-      var _this9 = this;
-
-      var _options4 = this.options,
-          owner = _options4.owner,
-          repo = _options4.repo;
-      var user = this.state.user;
-      var comments = this.state.comments;
-
-
-      _util.axiosGithub.post('/repos/' + owner + '/' + repo + '/issues/comments/' + comment.id + '/reactions', {
-        content: 'heart'
-      }, {
-        headers: {
-          Authorization: 'token ' + this.accessToken,
-          Accept: 'application/vnd.github.squirrel-girl-preview'
-        }
-      }).then(function (res) {
-        comments = comments.map(function (c) {
-          if (c.id === comment.id) {
-            if (c.reactions) {
-              if (!~c.reactions.nodes.findIndex(function (n) {
-                return n.user.login === user.login;
-              })) {
-                c.reactions.totalCount += 1;
-              }
-            } else {
-              c.reactions = { nodes: [] };
-              c.reactions.totalCount = 1;
-            }
-
-            c.reactions.nodes.push(res.data);
-            c.reactions.viewerHasReacted = true;
-          }
-          return c;
-        });
-
-        _this9.setState({
-          comments: comments
-        });
-      });
-    }
-  }, {
-    key: 'unLike',
-    value: function unLike(comment) {
-      var _this10 = this;
-
-      var user = this.state.user;
-      var comments = this.state.comments;
-
-      // const {  user } = this.state
-      // let id
-      // comment.reactions.nodes.forEach(r => {
-      //   if (r.user.login = user.login) id = r.databaseId
-      // })
-      // return axiosGithub.delete(`/reactions/${id}`, {
-      //   headers: {
-      //     Authorization: `token ${this.accessToken}`,
-      //     Accept: 'application/vnd.github.squirrel-girl-preview'
-      //   }
-      // }).then(res => {
-      //   console.log('res:', res)
-      // })
-
-      var getQL = function getQL(id) {
-        return {
-          operationName: 'RemoveReaction',
-          query: '\n          mutation RemoveReaction{\n            removeReaction (input:{\n              subjectId: "' + id + '",\n              content: HEART\n            }) {\n              reaction {\n                content\n              }\n            }\n          }\n        '
-        };
-      };
-
-      _util.axiosGithub.post('/graphql', getQL(comment.gId), {
-        headers: {
-          Authorization: 'bearer ' + this.accessToken
-        }
-      }).then(function (res) {
-        if (res.data) {
-          comments = comments.map(function (c) {
-            if (c.id === comment.id) {
-              var index = c.reactions.nodes.findIndex(function (n) {
-                return n.user.login === user.login;
-              });
-              if (~index) {
-                c.reactions.totalCount -= 1;
-                c.reactions.nodes.splice(index, 1);
-              }
-              c.reactions.viewerHasReacted = false;
-            }
-            return c;
-          });
-
-          _this10.setState({
-            comments: comments
-          });
-        }
-      });
-    }
-  }, {
-    key: 'initing',
-    value: function initing() {
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-initing' },
-        _react2.default.createElement('i', { className: 'gt-loader' }),
-        _react2.default.createElement(
-          'p',
-          { className: 'gt-initing-text' },
-          this.i18n.t('init')
-        )
-      );
-    }
-  }, {
-    key: 'noInit',
-    value: function noInit() {
-      var _state2 = this.state,
-          user = _state2.user,
-          isIssueCreating = _state2.isIssueCreating;
-      var _options5 = this.options,
-          owner = _options5.owner,
-          repo = _options5.repo,
-          admin = _options5.admin;
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-no-init', key: 'no-init' },
-        _react2.default.createElement('p', { dangerouslySetInnerHTML: {
-            __html: this.i18n.t('no-found-related', {
-              link: '<a href="https://github.com/' + owner + '/' + repo + '/issues">Issues</a>'
-            })
-          } }),
-        _react2.default.createElement(
-          'p',
-          null,
-          this.i18n.t('please-contact', { user: [].concat(admin).map(function (u) {
-              return '@' + u;
-            }).join(' ') })
-        ),
-        this.isAdmin ? _react2.default.createElement(
-          'p',
-          null,
-          _react2.default.createElement(_button2.default, { onClick: this.handleIssueCreate, isLoading: isIssueCreating, text: this.i18n.t('init-issue') })
-        ) : null,
-        !user && _react2.default.createElement(_button2.default, { className: 'gt-btn-login', onClick: this.handleLogin, text: this.i18n.t('login-with-github') })
-      );
-    }
-  }, {
-    key: 'handleImageErrored',
-    value: function handleImageErrored(obj) {
-      obj.target.src = "https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg";
-    }
-  }, {
-    key: 'header',
-    value: function header() {
-      var _this11 = this;
-
-      var _state3 = this.state,
-          user = _state3.user,
-          comment = _state3.comment,
-          isCreating = _state3.isCreating,
-          previewHtml = _state3.previewHtml,
-          isPreview = _state3.isPreview;
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-header', key: 'header' },
-        user ? _react2.default.createElement(_avatar2.default, { className: 'gt-header-avatar', src: user.avatar_url, alt: user.login, onError: this.handleImageErrored.bind(this) }) : _react2.default.createElement(
-          'a',
-          { className: 'gt-avatar-github', onMouseDown: this.handleLogin },
-          _react2.default.createElement(_svg2.default, { className: 'gt-ico-github', name: 'github' })
-        ),
-        _react2.default.createElement(
-          'div',
-          { className: 'gt-header-comment' },
-          _react2.default.createElement('textarea', {
-            ref: function ref(t) {
-              _this11.commentEL = t;
-            },
-            className: 'gt-header-textarea ' + (isPreview ? 'hide' : ''),
-            value: comment,
-            onChange: this.handleCommentChange,
-            onFocus: this.handleCommentFocus,
-            onBlur: this.handleCommentBlur,
-            onKeyDown: this.handleCommentKeyDown,
-            placeholder: this.i18n.t('leave-a-comment')
-          }),
-          _react2.default.createElement('div', {
-            className: 'gt-header-preview markdown-body ' + (isPreview ? '' : 'hide'),
-            dangerouslySetInnerHTML: { __html: previewHtml }
-          }),
-          _react2.default.createElement(
-            'div',
-            { className: 'gt-header-controls' },
-            _react2.default.createElement(
-              'a',
-              { className: 'gt-header-controls-tip', href: 'https://guides.github.com/features/mastering-markdown/', target: '_blank' },
-              _react2.default.createElement(_svg2.default, { className: 'gt-ico-tip', name: 'tip', text: this.i18n.t('support-markdown') })
-            ),
-            user && _react2.default.createElement(_button2.default, {
-              getRef: this.getRef,
-              className: 'gt-btn-public',
-              onMouseDown: this.handleCommentCreate,
-              text: this.i18n.t('comment'),
-              isLoading: isCreating
-            }),
-            _react2.default.createElement(_button2.default, {
-              className: 'gt-btn-preview',
-              onMouseDown: this.handleCommentPreview,
-              text: isPreview ? this.i18n.t('edit') : this.i18n.t('preview')
-              // isLoading={isPreviewing}
-            }),
-            !user && _react2.default.createElement(_button2.default, { className: 'gt-btn-login', onMouseDown: this.handleLogin, text: this.i18n.t('login-with-github') })
-          )
-        )
-      );
-    }
-  }, {
-    key: 'comments',
-    value: function comments() {
-      var _this12 = this;
-
-      var _state4 = this.state,
-          user = _state4.user,
-          comments = _state4.comments,
-          isLoadOver = _state4.isLoadOver,
-          isLoadMore = _state4.isLoadMore,
-          pagerDirection = _state4.pagerDirection;
-      var _options6 = this.options,
-          language = _options6.language,
-          flipMoveOptions = _options6.flipMoveOptions,
-          admin = _options6.admin;
-
-      var totalComments = comments.concat([]);
-      if (pagerDirection === 'last' && this.accessToken) {
-        totalComments.reverse();
-      }
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-comments', key: 'comments' },
-        _react2.default.createElement(
-          _reactFlipMove2.default,
-          flipMoveOptions,
-          totalComments.map(function (c) {
-            return _react2.default.createElement(_comment2.default, {
-              comment: c,
-              key: c.id,
-              user: user,
-              language: language,
-              commentedText: _this12.i18n.t('commented'),
-              admin: admin,
-              replyCallback: _this12.reply(c),
-              likeCallback: c.reactions && c.reactions.viewerHasReacted ? _this12.unLike.bind(_this12, c) : _this12.like.bind(_this12, c)
-            });
-          })
-        ),
-        !totalComments.length && _react2.default.createElement(
-          'p',
-          { className: 'gt-comments-null' },
-          this.i18n.t('first-comment-person')
-        ),
-        !isLoadOver && totalComments.length ? _react2.default.createElement(
-          'div',
-          { className: 'gt-comments-controls' },
-          _react2.default.createElement(_button2.default, { className: 'gt-btn-loadmore', onClick: this.handleCommentLoad, isLoading: isLoadMore, text: this.i18n.t('load-more') })
-        ) : null
-      );
-    }
-  }, {
-    key: 'meta',
-    value: function meta() {
-      var _state5 = this.state,
-          user = _state5.user,
-          issue = _state5.issue,
-          isPopupVisible = _state5.isPopupVisible,
-          pagerDirection = _state5.pagerDirection,
-          localComments = _state5.localComments;
-
-      var cnt = (issue && issue.comments) + localComments.length;
-      var isDesc = pagerDirection === 'last';
-      var updateCountCallback = this.options.updateCountCallback;
-
-      // window.GITALK_COMMENTS_COUNT = cnt
-
-      if (updateCountCallback && {}.toString.call(updateCountCallback) === '[object Function]') {
-        try {
-          updateCountCallback(cnt);
-        } catch (err) {
-          console.log('An error occurred executing the updateCountCallback:', err);
-        }
-      }
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-meta', key: 'meta' },
-        _react2.default.createElement('span', { className: 'gt-counts', dangerouslySetInnerHTML: {
-            __html: this.i18n.t('counts', {
-              counts: '<a class="gt-link gt-link-counts" href="' + (issue && issue.html_url) + '" target="_blank">' + cnt + '</a>',
-              smart_count: cnt
-            })
-          } }),
-        isPopupVisible && _react2.default.createElement(
-          'div',
-          { className: 'gt-popup' },
-          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-sortasc' + (!isDesc ? ' is--active' : ''), onClick: this.handleSort('first'), text: this.i18n.t('sort-asc') }) : null,
-          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-sortdesc' + (isDesc ? ' is--active' : ''), onClick: this.handleSort('last'), text: this.i18n.t('sort-desc') }) : null,
-          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-logout', onClick: this.handleLogout, text: this.i18n.t('logout') }) : _react2.default.createElement(
-            'a',
-            { className: 'gt-action gt-action-login', onMouseDown: this.handleLogin },
-            this.i18n.t('login-with-github')
-          ),
-          _react2.default.createElement(
-            'div',
-            { className: 'gt-copyright' },
-            _react2.default.createElement(
-              'a',
-              { className: 'gt-link gt-link-project', href: 'https://github.com/gitalk/gitalk', target: '_blank' },
-              'Gitalk'
-            ),
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-version' },
-              _const.GT_VERSION
-            )
-          )
-        ),
-        _react2.default.createElement(
-          'div',
-          { className: 'gt-user' },
-          user ? _react2.default.createElement(
-            'div',
-            { className: isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner', onClick: this.handlePopup },
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-user-name' },
-              user.login
-            ),
-            _react2.default.createElement(_svg2.default, { className: 'gt-ico-arrdown', name: 'arrow_down' })
-          ) : _react2.default.createElement(
-            'div',
-            { className: isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner', onClick: this.handlePopup },
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-user-name' },
-              this.i18n.t('anonymous')
-            ),
-            _react2.default.createElement(_svg2.default, { className: 'gt-ico-arrdown', name: 'arrow_down' })
-          )
-        )
-      );
-    }
-  }, {
-    key: 'render',
-    value: function render() {
-      var _state6 = this.state,
-          isIniting = _state6.isIniting,
-          isNoInit = _state6.isNoInit,
-          isOccurError = _state6.isOccurError,
-          errorMsg = _state6.errorMsg,
-          isInputFocused = _state6.isInputFocused;
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-container' + (isInputFocused ? ' gt-input-focused' : '') },
-        isIniting && this.initing(),
-        !isIniting && (isNoInit ? [] : [this.meta()]),
-        isOccurError && _react2.default.createElement(
-          'div',
-          { className: 'gt-error' },
-          errorMsg
-        ),
-        !isIniting && (isNoInit ? [this.noInit()] : [this.header(), this.comments()])
-      );
-    }
-  }, {
-    key: 'accessToken',
-    get: function get() {
-      return this._accessToke || window.localStorage.getItem(_const.GT_ACCESS_TOKEN);
-    },
-    set: function set(token) {
-      window.localStorage.setItem(_const.GT_ACCESS_TOKEN, token);
-      this._accessToken = token;
-    }
-  }, {
-    key: 'loginLink',
-    get: function get() {
-      var githubOauthUrl = 'https://github.com/login/oauth/authorize';
-      var clientID = this.options.clientID;
-
-      var query = {
-        client_id: clientID,
-        redirect_uri: window.location.href,
-        scope: 'public_repo'
-      };
-      return githubOauthUrl + '?' + (0, _util.queryStringify)(query);
-    }
-  }, {
-    key: 'isAdmin',
-    get: function get() {
-      var admin = this.options.admin;
-      var user = this.state.user;
-
-
-      return user && ~[].concat(admin).map(function (a) {
-        return a.toLowerCase();
-      }).indexOf(user.login.toLowerCase());
-    }
-  }]);
-  return GitalkComponent;
-}(_react.Component);
-
-module.exports = GitalkComponent;
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(82), __esModule: true };
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(44);
-__webpack_require__(18);
-__webpack_require__(26);
-__webpack_require__(91);
-__webpack_require__(99);
-__webpack_require__(100);
-module.exports = __webpack_require__(0).Promise;
-
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(28);
-var defined = __webpack_require__(29);
-// true  -> String#at
-// false -> String#codePointAt
-module.exports = function (TO_STRING) {
-  return function (that, pos) {
-    var s = String(defined(that));
-    var i = toInteger(pos);
-    var l = s.length;
-    var a, b;
-    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
-    a = s.charCodeAt(i);
-    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
-      ? TO_STRING ? s.charAt(i) : a
-      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
-  };
-};
-
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var create = __webpack_require__(32);
-var descriptor = __webpack_require__(20);
-var setToStringTag = __webpack_require__(25);
-var IteratorPrototype = {};
-
-// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-__webpack_require__(10)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });
-
-module.exports = function (Constructor, NAME, next) {
-  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
-  setToStringTag(Constructor, NAME + ' Iterator');
-};
-
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var dP = __webpack_require__(6);
-var anObject = __webpack_require__(5);
-var getKeys = __webpack_require__(21);
-
-module.exports = __webpack_require__(7) ? Object.defineProperties : function defineProperties(O, Properties) {
-  anObject(O);
-  var keys = getKeys(Properties);
-  var length = keys.length;
-  var i = 0;
-  var P;
-  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
-  return O;
-};
-
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// false -> Array#indexOf
-// true  -> Array#includes
-var toIObject = __webpack_require__(15);
-var toLength = __webpack_require__(33);
-var toAbsoluteIndex = __webpack_require__(87);
-module.exports = function (IS_INCLUDES) {
-  return function ($this, el, fromIndex) {
-    var O = toIObject($this);
-    var length = toLength(O.length);
-    var index = toAbsoluteIndex(fromIndex, length);
-    var value;
-    // Array#includes uses SameValueZero equality algorithm
-    // eslint-disable-next-line no-self-compare
-    if (IS_INCLUDES && el != el) while (length > index) {
-      value = O[index++];
-      // eslint-disable-next-line no-self-compare
-      if (value != value) return true;
-    // Array#indexOf ignores holes, Array#includes - not
-    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
-      if (O[index] === el) return IS_INCLUDES || index || 0;
-    } return !IS_INCLUDES && -1;
-  };
-};
-
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(28);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
-  index = toInteger(index);
-  return index < 0 ? max(index + length, 0) : min(index, length);
-};
-
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var addToUnscopables = __webpack_require__(89);
-var step = __webpack_require__(90);
-var Iterators = __webpack_require__(14);
-var toIObject = __webpack_require__(15);
-
-// 22.1.3.4 Array.prototype.entries()
-// 22.1.3.13 Array.prototype.keys()
-// 22.1.3.29 Array.prototype.values()
-// 22.1.3.30 Array.prototype[@@iterator]()
-module.exports = __webpack_require__(45)(Array, 'Array', function (iterated, kind) {
-  this._t = toIObject(iterated); // target
-  this._i = 0;                   // next index
-  this._k = kind;                // kind
-// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
-}, function () {
-  var O = this._t;
-  var kind = this._k;
-  var index = this._i++;
-  if (!O || index >= O.length) {
-    this._t = undefined;
-    return step(1);
-  }
-  if (kind == 'keys') return step(0, index);
-  if (kind == 'values') return step(0, O[index]);
-  return step(0, [index, O[index]]);
-}, 'values');
-
-// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
-Iterators.Arguments = Iterators.Array;
-
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports) {
-
-module.exports = function () { /* empty */ };
-
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports) {
-
-module.exports = function (done, value) {
-  return { value: value, done: !!done };
-};
-
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var LIBRARY = __webpack_require__(19);
-var global = __webpack_require__(1);
-var ctx = __webpack_require__(12);
-var classof = __webpack_require__(37);
-var $export = __webpack_require__(4);
-var isObject = __webpack_require__(8);
-var aFunction = __webpack_require__(23);
-var anInstance = __webpack_require__(92);
-var forOf = __webpack_require__(93);
-var speciesConstructor = __webpack_require__(54);
-var task = __webpack_require__(55).set;
-var microtask = __webpack_require__(95)();
-var newPromiseCapabilityModule = __webpack_require__(39);
-var perform = __webpack_require__(56);
-var userAgent = __webpack_require__(96);
-var promiseResolve = __webpack_require__(57);
-var PROMISE = 'Promise';
-var TypeError = global.TypeError;
-var process = global.process;
-var versions = process && process.versions;
-var v8 = versions && versions.v8 || '';
-var $Promise = global[PROMISE];
-var isNode = classof(process) == 'process';
-var empty = function () { /* empty */ };
-var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
-var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
-
-var USE_NATIVE = !!function () {
-  try {
-    // correct subclassing with @@species support
-    var promise = $Promise.resolve(1);
-    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {
-      exec(empty, empty);
-    };
-    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
-    return (isNode || typeof PromiseRejectionEvent == 'function')
-      && promise.then(empty) instanceof FakePromise
-      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
-      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
-      // we can't detect it synchronously, so just check versions
-      && v8.indexOf('6.6') !== 0
-      && userAgent.indexOf('Chrome/66') === -1;
-  } catch (e) { /* empty */ }
-}();
-
-// helpers
-var isThenable = function (it) {
-  var then;
-  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, isReject) {
-  if (promise._n) return;
-  promise._n = true;
-  var chain = promise._c;
-  microtask(function () {
-    var value = promise._v;
-    var ok = promise._s == 1;
-    var i = 0;
-    var run = function (reaction) {
-      var handler = ok ? reaction.ok : reaction.fail;
-      var resolve = reaction.resolve;
-      var reject = reaction.reject;
-      var domain = reaction.domain;
-      var result, then, exited;
-      try {
-        if (handler) {
-          if (!ok) {
-            if (promise._h == 2) onHandleUnhandled(promise);
-            promise._h = 1;
-          }
-          if (handler === true) result = value;
-          else {
-            if (domain) domain.enter();
-            result = handler(value); // may throw
-            if (domain) {
-              domain.exit();
-              exited = true;
-            }
-          }
-          if (result === reaction.promise) {
-            reject(TypeError('Promise-chain cycle'));
-          } else if (then = isThenable(result)) {
-            then.call(result, resolve, reject);
-          } else resolve(result);
-        } else reject(value);
-      } catch (e) {
-        if (domain && !exited) domain.exit();
-        reject(e);
-      }
-    };
-    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
-    promise._c = [];
-    promise._n = false;
-    if (isReject && !promise._h) onUnhandled(promise);
-  });
-};
-var onUnhandled = function (promise) {
-  task.call(global, function () {
-    var value = promise._v;
-    var unhandled = isUnhandled(promise);
-    var result, handler, console;
-    if (unhandled) {
-      result = perform(function () {
-        if (isNode) {
-          process.emit('unhandledRejection', value, promise);
-        } else if (handler = global.onunhandledrejection) {
-          handler({ promise: promise, reason: value });
-        } else if ((console = global.console) && console.error) {
-          console.error('Unhandled promise rejection', value);
-        }
-      });
-      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
-      promise._h = isNode || isUnhandled(promise) ? 2 : 1;
-    } promise._a = undefined;
-    if (unhandled && result.e) throw result.v;
-  });
-};
-var isUnhandled = function (promise) {
-  return promise._h !== 1 && (promise._a || promise._c).length === 0;
-};
-var onHandleUnhandled = function (promise) {
-  task.call(global, function () {
-    var handler;
-    if (isNode) {
-      process.emit('rejectionHandled', promise);
-    } else if (handler = global.onrejectionhandled) {
-      handler({ promise: promise, reason: promise._v });
-    }
-  });
-};
-var $reject = function (value) {
-  var promise = this;
-  if (promise._d) return;
-  promise._d = true;
-  promise = promise._w || promise; // unwrap
-  promise._v = value;
-  promise._s = 2;
-  if (!promise._a) promise._a = promise._c.slice();
-  notify(promise, true);
-};
-var $resolve = function (value) {
-  var promise = this;
-  var then;
-  if (promise._d) return;
-  promise._d = true;
-  promise = promise._w || promise; // unwrap
-  try {
-    if (promise === value) throw TypeError("Promise can't be resolved itself");
-    if (then = isThenable(value)) {
-      microtask(function () {
-        var wrapper = { _w: promise, _d: false }; // wrap
-        try {
-          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
-        } catch (e) {
-          $reject.call(wrapper, e);
-        }
-      });
-    } else {
-      promise._v = value;
-      promise._s = 1;
-      notify(promise, false);
-    }
-  } catch (e) {
-    $reject.call({ _w: promise, _d: false }, e); // wrap
-  }
-};
-
-// constructor polyfill
-if (!USE_NATIVE) {
-  // 25.4.3.1 Promise(executor)
-  $Promise = function Promise(executor) {
-    anInstance(this, $Promise, PROMISE, '_h');
-    aFunction(executor);
-    Internal.call(this);
-    try {
-      executor(ctx($resolve, this, 1), ctx($reject, this, 1));
-    } catch (err) {
-      $reject.call(this, err);
-    }
-  };
-  // eslint-disable-next-line no-unused-vars
-  Internal = function Promise(executor) {
-    this._c = [];             // <- awaiting reactions
-    this._a = undefined;      // <- checked in isUnhandled reactions
-    this._s = 0;              // <- state
-    this._d = false;          // <- done
-    this._v = undefined;      // <- value
-    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
-    this._n = false;          // <- notify
-  };
-  Internal.prototype = __webpack_require__(97)($Promise.prototype, {
-    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
-    then: function then(onFulfilled, onRejected) {
-      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
-      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
-      reaction.fail = typeof onRejected == 'function' && onRejected;
-      reaction.domain = isNode ? process.domain : undefined;
-      this._c.push(reaction);
-      if (this._a) this._a.push(reaction);
-      if (this._s) notify(this, false);
-      return reaction.promise;
-    },
-    // 25.4.5.1 Promise.prototype.catch(onRejected)
-    'catch': function (onRejected) {
-      return this.then(undefined, onRejected);
-    }
-  });
-  OwnPromiseCapability = function () {
-    var promise = new Internal();
-    this.promise = promise;
-    this.resolve = ctx($resolve, promise, 1);
-    this.reject = ctx($reject, promise, 1);
-  };
-  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
-    return C === $Promise || C === Wrapper
-      ? new OwnPromiseCapability(C)
-      : newGenericPromiseCapability(C);
-  };
-}
-
-$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
-__webpack_require__(25)($Promise, PROMISE);
-__webpack_require__(98)(PROMISE);
-Wrapper = __webpack_require__(0)[PROMISE];
-
-// statics
-$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
-  // 25.4.4.5 Promise.reject(r)
-  reject: function reject(r) {
-    var capability = newPromiseCapability(this);
-    var $$reject = capability.reject;
-    $$reject(r);
-    return capability.promise;
-  }
-});
-$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
-  // 25.4.4.6 Promise.resolve(x)
-  resolve: function resolve(x) {
-    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
-  }
-});
-$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(58)(function (iter) {
-  $Promise.all(iter)['catch'](empty);
-})), PROMISE, {
-  // 25.4.4.1 Promise.all(iterable)
-  all: function all(iterable) {
-    var C = this;
-    var capability = newPromiseCapability(C);
-    var resolve = capability.resolve;
-    var reject = capability.reject;
-    var result = perform(function () {
-      var values = [];
-      var index = 0;
-      var remaining = 1;
-      forOf(iterable, false, function (promise) {
-        var $index = index++;
-        var alreadyCalled = false;
-        values.push(undefined);
-        remaining++;
-        C.resolve(promise).then(function (value) {
-          if (alreadyCalled) return;
-          alreadyCalled = true;
-          values[$index] = value;
-          --remaining || resolve(values);
-        }, reject);
-      });
-      --remaining || resolve(values);
-    });
-    if (result.e) reject(result.v);
-    return capability.promise;
-  },
-  // 25.4.4.4 Promise.race(iterable)
-  race: function race(iterable) {
-    var C = this;
-    var capability = newPromiseCapability(C);
-    var reject = capability.reject;
-    var result = perform(function () {
-      forOf(iterable, false, function (promise) {
-        C.resolve(promise).then(capability.resolve, reject);
-      });
-    });
-    if (result.e) reject(result.v);
-    return capability.promise;
-  }
-});
-
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name, forbiddenField) {
-  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
-    throw TypeError(name + ': incorrect invocation!');
-  } return it;
-};
-
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ctx = __webpack_require__(12);
-var call = __webpack_require__(52);
-var isArrayIter = __webpack_require__(53);
-var anObject = __webpack_require__(5);
-var toLength = __webpack_require__(33);
-var getIterFn = __webpack_require__(38);
-var BREAK = {};
-var RETURN = {};
-var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
-  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
-  var f = ctx(fn, that, entries ? 2 : 1);
-  var index = 0;
-  var length, step, iterator, result;
-  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
-  // fast case for arrays with default iterator
-  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
-    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
-    if (result === BREAK || result === RETURN) return result;
-  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
-    result = call(iterator, f, step.value, entries);
-    if (result === BREAK || result === RETURN) return result;
-  }
-};
-exports.BREAK = BREAK;
-exports.RETURN = RETURN;
-
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports) {
-
-// fast apply, http://jsperf.lnkit.com/fast-apply/5
-module.exports = function (fn, args, that) {
-  var un = that === undefined;
-  switch (args.length) {
-    case 0: return un ? fn()
-                      : fn.call(that);
-    case 1: return un ? fn(args[0])
-                      : fn.call(that, args[0]);
-    case 2: return un ? fn(args[0], args[1])
-                      : fn.call(that, args[0], args[1]);
-    case 3: return un ? fn(args[0], args[1], args[2])
-                      : fn.call(that, args[0], args[1], args[2]);
-    case 4: return un ? fn(args[0], args[1], args[2], args[3])
-                      : fn.call(that, args[0], args[1], args[2], args[3]);
-  } return fn.apply(that, args);
-};
-
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var macrotask = __webpack_require__(55).set;
-var Observer = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var isNode = __webpack_require__(22)(process) == 'process';
-
-module.exports = function () {
-  var head, last, notify;
-
-  var flush = function () {
-    var parent, fn;
-    if (isNode && (parent = process.domain)) parent.exit();
-    while (head) {
-      fn = head.fn;
-      head = head.next;
-      try {
-        fn();
-      } catch (e) {
-        if (head) notify();
-        else last = undefined;
-        throw e;
-      }
-    } last = undefined;
-    if (parent) parent.enter();
-  };
-
-  // Node.js
-  if (isNode) {
-    notify = function () {
-      process.nextTick(flush);
-    };
-  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
-  } else if (Observer && !(global.navigator && global.navigator.standalone)) {
-    var toggle = true;
-    var node = document.createTextNode('');
-    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
-    notify = function () {
-      node.data = toggle = !toggle;
-    };
-  // environments with maybe non-completely correct, but existent Promise
-  } else if (Promise && Promise.resolve) {
-    // Promise.resolve without an argument throws an error in LG WebOS 2
-    var promise = Promise.resolve(undefined);
-    notify = function () {
-      promise.then(flush);
-    };
-  // for other environments - macrotask based on:
-  // - setImmediate
-  // - MessageChannel
-  // - window.postMessag
-  // - onreadystatechange
-  // - setTimeout
-  } else {
-    notify = function () {
-      // strange IE + webpack dev server bug - use .call(global)
-      macrotask.call(global, flush);
-    };
-  }
-
-  return function (fn) {
-    var task = { fn: fn, next: undefined };
-    if (last) last.next = task;
-    if (!head) {
-      head = task;
-      notify();
-    } last = task;
-  };
-};
-
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var navigator = global.navigator;
-
-module.exports = navigator && navigator.userAgent || '';
-
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var hide = __webpack_require__(10);
-module.exports = function (target, src, safe) {
-  for (var key in src) {
-    if (safe && target[key]) target[key] = src[key];
-    else hide(target, key, src[key]);
-  } return target;
-};
-
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__(1);
-var core = __webpack_require__(0);
-var dP = __webpack_require__(6);
-var DESCRIPTORS = __webpack_require__(7);
-var SPECIES = __webpack_require__(2)('species');
-
-module.exports = function (KEY) {
-  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
-  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
-    configurable: true,
-    get: function () { return this; }
-  });
-};
-
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-// https://github.com/tc39/proposal-promise-finally
-
-var $export = __webpack_require__(4);
-var core = __webpack_require__(0);
-var global = __webpack_require__(1);
-var speciesConstructor = __webpack_require__(54);
-var promiseResolve = __webpack_require__(57);
-
-$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
-  var C = speciesConstructor(this, core.Promise || global.Promise);
-  var isFunction = typeof onFinally == 'function';
-  return this.then(
-    isFunction ? function (x) {
-      return promiseResolve(C, onFinally()).then(function () { return x; });
-    } : onFinally,
-    isFunction ? function (e) {
-      return promiseResolve(C, onFinally()).then(function () { throw e; });
-    } : onFinally
-  );
-} });
-
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://github.com/tc39/proposal-promise-try
-var $export = __webpack_require__(4);
-var newPromiseCapability = __webpack_require__(39);
-var perform = __webpack_require__(56);
-
-$export($export.S, 'Promise', { 'try': function (callbackfn) {
-  var promiseCapability = newPromiseCapability.f(this);
-  var result = perform(callbackfn);
-  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
-  return promiseCapability.promise;
-} });
-
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(102), __esModule: true };
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(103);
-module.exports = __webpack_require__(0).Object.assign;
-
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.3.1 Object.assign(target, source)
-var $export = __webpack_require__(4);
-
-$export($export.S + $export.F, 'Object', { assign: __webpack_require__(104) });
-
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// 19.1.2.1 Object.assign(target, source, ...)
-var DESCRIPTORS = __webpack_require__(7);
-var getKeys = __webpack_require__(21);
-var gOPS = __webpack_require__(40);
-var pIE = __webpack_require__(27);
-var toObject = __webpack_require__(16);
-var IObject = __webpack_require__(49);
-var $assign = Object.assign;
-
-// should work with symbols and should have deterministic property order (V8 bug)
-module.exports = !$assign || __webpack_require__(13)(function () {
-  var A = {};
-  var B = {};
-  // eslint-disable-next-line no-undef
-  var S = Symbol();
-  var K = 'abcdefghijklmnopqrst';
-  A[S] = 7;
-  K.split('').forEach(function (k) { B[k] = k; });
-  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
-}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
-  var T = toObject(target);
-  var aLen = arguments.length;
-  var index = 1;
-  var getSymbols = gOPS.f;
-  var isEnum = pIE.f;
-  while (aLen > index) {
-    var S = IObject(arguments[index++]);
-    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
-    var length = keys.length;
-    var j = 0;
-    var key;
-    while (length > j) {
-      key = keys[j++];
-      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
-    }
-  } return T;
-} : $assign;
-
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(106);
-module.exports = __webpack_require__(0).Object.getPrototypeOf;
-
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = __webpack_require__(16);
-var $getPrototypeOf = __webpack_require__(51);
-
-__webpack_require__(60)('getPrototypeOf', function () {
-  return function getPrototypeOf(it) {
-    return $getPrototypeOf(toObject(it));
-  };
-});
-
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(108), __esModule: true };
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(109);
-var $Object = __webpack_require__(0).Object;
-module.exports = function defineProperty(it, key, desc) {
-  return $Object.defineProperty(it, key, desc);
-};
-
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $export = __webpack_require__(4);
-// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
-$export($export.S + $export.F * !__webpack_require__(7), 'Object', { defineProperty: __webpack_require__(6).f });
-
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(111), __esModule: true };
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(18);
-__webpack_require__(26);
-module.exports = __webpack_require__(41).f('iterator');
-
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(113), __esModule: true };
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(114);
-__webpack_require__(44);
-__webpack_require__(119);
-__webpack_require__(120);
-module.exports = __webpack_require__(0).Symbol;
-
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// ECMAScript 6 symbols shim
-var global = __webpack_require__(1);
-var has = __webpack_require__(11);
-var DESCRIPTORS = __webpack_require__(7);
-var $export = __webpack_require__(4);
-var redefine = __webpack_require__(47);
-var META = __webpack_require__(115).KEY;
-var $fails = __webpack_require__(13);
-var shared = __webpack_require__(35);
-var setToStringTag = __webpack_require__(25);
-var uid = __webpack_require__(24);
-var wks = __webpack_require__(2);
-var wksExt = __webpack_require__(41);
-var wksDefine = __webpack_require__(42);
-var enumKeys = __webpack_require__(116);
-var isArray = __webpack_require__(117);
-var anObject = __webpack_require__(5);
-var isObject = __webpack_require__(8);
-var toObject = __webpack_require__(16);
-var toIObject = __webpack_require__(15);
-var toPrimitive = __webpack_require__(31);
-var createDesc = __webpack_require__(20);
-var _create = __webpack_require__(32);
-var gOPNExt = __webpack_require__(118);
-var $GOPD = __webpack_require__(66);
-var $GOPS = __webpack_require__(40);
-var $DP = __webpack_require__(6);
-var $keys = __webpack_require__(21);
-var gOPD = $GOPD.f;
-var dP = $DP.f;
-var gOPN = gOPNExt.f;
-var $Symbol = global.Symbol;
-var $JSON = global.JSON;
-var _stringify = $JSON && $JSON.stringify;
-var PROTOTYPE = 'prototype';
-var HIDDEN = wks('_hidden');
-var TO_PRIMITIVE = wks('toPrimitive');
-var isEnum = {}.propertyIsEnumerable;
-var SymbolRegistry = shared('symbol-registry');
-var AllSymbols = shared('symbols');
-var OPSymbols = shared('op-symbols');
-var ObjectProto = Object[PROTOTYPE];
-var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
-var QObject = global.QObject;
-// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-
-// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-var setSymbolDesc = DESCRIPTORS && $fails(function () {
-  return _create(dP({}, 'a', {
-    get: function () { return dP(this, 'a', { value: 7 }).a; }
-  })).a != 7;
-}) ? function (it, key, D) {
-  var protoDesc = gOPD(ObjectProto, key);
-  if (protoDesc) delete ObjectProto[key];
-  dP(it, key, D);
-  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
-} : dP;
-
-var wrap = function (tag) {
-  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
-  sym._k = tag;
-  return sym;
-};
-
-var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
-  return typeof it == 'symbol';
-} : function (it) {
-  return it instanceof $Symbol;
-};
-
-var $defineProperty = function defineProperty(it, key, D) {
-  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
-  anObject(it);
-  key = toPrimitive(key, true);
-  anObject(D);
-  if (has(AllSymbols, key)) {
-    if (!D.enumerable) {
-      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
-      it[HIDDEN][key] = true;
-    } else {
-      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
-      D = _create(D, { enumerable: createDesc(0, false) });
-    } return setSymbolDesc(it, key, D);
-  } return dP(it, key, D);
-};
-var $defineProperties = function defineProperties(it, P) {
-  anObject(it);
-  var keys = enumKeys(P = toIObject(P));
-  var i = 0;
-  var l = keys.length;
-  var key;
-  while (l > i) $defineProperty(it, key = keys[i++], P[key]);
-  return it;
-};
-var $create = function create(it, P) {
-  return P === undefined ? _create(it) : $defineProperties(_create(it), P);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(key) {
-  var E = isEnum.call(this, key = toPrimitive(key, true));
-  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
-  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
-  it = toIObject(it);
-  key = toPrimitive(key, true);
-  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
-  var D = gOPD(it, key);
-  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
-  return D;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(it) {
-  var names = gOPN(toIObject(it));
-  var result = [];
-  var i = 0;
-  var key;
-  while (names.length > i) {
-    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
-  } return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
-  var IS_OP = it === ObjectProto;
-  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
-  var result = [];
-  var i = 0;
-  var key;
-  while (names.length > i) {
-    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
-  } return result;
-};
-
-// 19.4.1.1 Symbol([description])
-if (!USE_NATIVE) {
-  $Symbol = function Symbol() {
-    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
-    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
-    var $set = function (value) {
-      if (this === ObjectProto) $set.call(OPSymbols, value);
-      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-      setSymbolDesc(this, tag, createDesc(1, value));
-    };
-    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
-    return wrap(tag);
-  };
-  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
-    return this._k;
-  });
-
-  $GOPD.f = $getOwnPropertyDescriptor;
-  $DP.f = $defineProperty;
-  __webpack_require__(65).f = gOPNExt.f = $getOwnPropertyNames;
-  __webpack_require__(27).f = $propertyIsEnumerable;
-  $GOPS.f = $getOwnPropertySymbols;
-
-  if (DESCRIPTORS && !__webpack_require__(19)) {
-    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
-  }
-
-  wksExt.f = function (name) {
-    return wrap(wks(name));
-  };
-}
-
-$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
-
-for (var es6Symbols = (
-  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
-  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
-).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
-
-for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
-
-$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
-  // 19.4.2.1 Symbol.for(key)
-  'for': function (key) {
-    return has(SymbolRegistry, key += '')
-      ? SymbolRegistry[key]
-      : SymbolRegistry[key] = $Symbol(key);
-  },
-  // 19.4.2.5 Symbol.keyFor(sym)
-  keyFor: function keyFor(sym) {
-    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
-    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
-  },
-  useSetter: function () { setter = true; },
-  useSimple: function () { setter = false; }
-});
-
-$export($export.S + $export.F * !USE_NATIVE, 'Object', {
-  // 19.1.2.2 Object.create(O [, Properties])
-  create: $create,
-  // 19.1.2.4 Object.defineProperty(O, P, Attributes)
-  defineProperty: $defineProperty,
-  // 19.1.2.3 Object.defineProperties(O, Properties)
-  defineProperties: $defineProperties,
-  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
-  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
-  // 19.1.2.7 Object.getOwnPropertyNames(O)
-  getOwnPropertyNames: $getOwnPropertyNames,
-  // 19.1.2.8 Object.getOwnPropertySymbols(O)
-  getOwnPropertySymbols: $getOwnPropertySymbols
-});
-
-// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
-
-$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
-  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-    return $GOPS.f(toObject(it));
-  }
-});
-
-// 24.3.2 JSON.stringify(value [, replacer [, space]])
-$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
-  var S = $Symbol();
-  // MS Edge converts symbol values to JSON as {}
-  // WebKit converts symbol values to JSON as null
-  // V8 throws on boxed symbols
-  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
-})), 'JSON', {
-  stringify: function stringify(it) {
-    var args = [it];
-    var i = 1;
-    var replacer, $replacer;
-    while (arguments.length > i) args.push(arguments[i++]);
-    $replacer = replacer = args[1];
-    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-    if (!isArray(replacer)) replacer = function (key, value) {
-      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-      if (!isSymbol(value)) return value;
-    };
-    args[1] = replacer;
-    return _stringify.apply($JSON, args);
-  }
-});
-
-// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
-$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-// 19.4.3.5 Symbol.prototype[@@toStringTag]
-setToStringTag($Symbol, 'Symbol');
-// 20.2.1.9 Math[@@toStringTag]
-setToStringTag(Math, 'Math', true);
-// 24.3.3 JSON[@@toStringTag]
-setToStringTag(global.JSON, 'JSON', true);
-
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__(24)('meta');
-var isObject = __webpack_require__(8);
-var has = __webpack_require__(11);
-var setDesc = __webpack_require__(6).f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__(13)(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// all enumerable object keys, includes symbols
-var getKeys = __webpack_require__(21);
-var gOPS = __webpack_require__(40);
-var pIE = __webpack_require__(27);
-module.exports = function (it) {
-  var result = getKeys(it);
-  var getSymbols = gOPS.f;
-  if (getSymbols) {
-    var symbols = getSymbols(it);
-    var isEnum = pIE.f;
-    var i = 0;
-    var key;
-    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
-  } return result;
-};
-
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__(22);
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-var toIObject = __webpack_require__(15);
-var gOPN = __webpack_require__(65).f;
-var toString = {}.toString;
-
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-  ? Object.getOwnPropertyNames(window) : [];
-
-var getWindowNames = function (it) {
-  try {
-    return gOPN(it);
-  } catch (e) {
-    return windowNames.slice();
-  }
-};
-
-module.exports.f = function getOwnPropertyNames(it) {
-  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
-};
-
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(42)('asyncIterator');
-
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(42)('observable');
-
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(122), __esModule: true };
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(123);
-module.exports = __webpack_require__(0).Object.setPrototypeOf;
-
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.3.19 Object.setPrototypeOf(O, proto)
-var $export = __webpack_require__(4);
-$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(124).set });
-
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// Works with __proto__ only. Old v8 can't work with null proto objects.
-/* eslint-disable no-proto */
-var isObject = __webpack_require__(8);
-var anObject = __webpack_require__(5);
-var check = function (O, proto) {
-  anObject(O);
-  if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
-};
-module.exports = {
-  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
-    function (test, buggy, set) {
-      try {
-        set = __webpack_require__(12)(Function.call, __webpack_require__(66).f(Object.prototype, '__proto__').set, 2);
-        set(test, []);
-        buggy = !(test instanceof Array);
-      } catch (e) { buggy = true; }
-      return function setPrototypeOf(O, proto) {
-        check(O, proto);
-        if (buggy) O.__proto__ = proto;
-        else set(O, proto);
-        return O;
-      };
-    }({}, false) : undefined),
-  check: check
-};
-
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(126), __esModule: true };
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(127);
-var $Object = __webpack_require__(0).Object;
-module.exports = function create(P, D) {
-  return $Object.create(P, D);
-};
-
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $export = __webpack_require__(4);
-// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
-$export($export.S, 'Object', { create: __webpack_require__(32) });
-
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _FlipMove = __webpack_require__(129);
-
-var _FlipMove2 = _interopRequireDefault(_FlipMove);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = _FlipMove2.default;
-/**
- * React Flip Move
- * (c) 2016-present Joshua Comeau
- */
-
-module.exports = exports['default'];
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _slicedToArray = function () { function sliceIterator(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"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
-
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-var _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-__webpack_require__(130);
-
-var _propConverter = __webpack_require__(131);
-
-var _propConverter2 = _interopRequireDefault(_propConverter);
-
-var _domManipulation = __webpack_require__(134);
-
-var _helpers = __webpack_require__(43);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-/**
- * React Flip Move
- * (c) 2016-present Joshua Comeau
- *
- * For information on how this code is laid out, check out CODE_TOUR.md
- */
-
-/* eslint-disable react/prop-types */
-
-var transitionEnd = (0, _domManipulation.whichTransitionEvent)();
-var noBrowserSupport = !transitionEnd;
-
-function getKey(childData) {
-  return childData.key || '';
-}
-
-var FlipMove = function (_Component) {
-  _inherits(FlipMove, _Component);
-
-  function FlipMove() {
-    var _ref;
-
-    var _temp, _this, _ret;
-
-    _classCallCheck(this, FlipMove);
-
-    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
-      args[_key] = arguments[_key];
-    }
-
-    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FlipMove.__proto__ || Object.getPrototypeOf(FlipMove)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
-      children: _react.Children.toArray(_this.props.children).map(function (element) {
-        return _extends({}, element, {
-          element: element,
-          appearing: true
-        });
-      })
-    }, _this.childrenData = {}, _this.parentData = {
-      domNode: null,
-      boundingBox: null
-    }, _this.heightPlaceholderData = {
-      domNode: null
-    }, _this.remainingAnimations = 0, _this.childrenToAnimate = [], _this.runAnimation = function () {
-      var dynamicChildren = _this.state.children.filter(_this.doesChildNeedToBeAnimated);
-
-      dynamicChildren.forEach(function (child, n) {
-        _this.remainingAnimations += 1;
-        _this.childrenToAnimate.push(getKey(child));
-        _this.animateChild(child, n);
-      });
-
-      if (typeof _this.props.onStartAll === 'function') {
-        _this.callChildrenHook(_this.props.onStartAll);
-      }
-    }, _this.doesChildNeedToBeAnimated = function (child) {
-      // If the child doesn't have a key, it's an immovable child (one that we
-      // do not want to do FLIP stuff to.)
-      if (!getKey(child)) {
-        return false;
-      }
-
-      var childData = _this.getChildData(getKey(child));
-      var childDomNode = childData.domNode;
-      var childBoundingBox = childData.boundingBox;
-      var parentBoundingBox = _this.parentData.boundingBox;
-
-      if (!childDomNode) {
-        return false;
-      }
-
-      var _this$props = _this.props,
-          appearAnimation = _this$props.appearAnimation,
-          enterAnimation = _this$props.enterAnimation,
-          leaveAnimation = _this$props.leaveAnimation,
-          getPosition = _this$props.getPosition;
-
-
-      var isAppearingWithAnimation = child.appearing && appearAnimation;
-      var isEnteringWithAnimation = child.entering && enterAnimation;
-      var isLeavingWithAnimation = child.leaving && leaveAnimation;
-
-      if (isAppearingWithAnimation || isEnteringWithAnimation || isLeavingWithAnimation) {
-        return true;
-      }
-
-      // If it isn't entering/leaving, we want to animate it if it's
-      // on-screen position has changed.
-
-      var _getPositionDelta = (0, _domManipulation.getPositionDelta)({
-        childDomNode: childDomNode,
-        childBoundingBox: childBoundingBox,
-        parentBoundingBox: parentBoundingBox,
-        getPosition: getPosition
-      }),
-          _getPositionDelta2 = _slicedToArray(_getPositionDelta, 2),
-          dX = _getPositionDelta2[0],
-          dY = _getPositionDelta2[1];
-
-      return dX !== 0 || dY !== 0;
-    }, _temp), _possibleConstructorReturn(_this, _ret);
-  }
-  // Copy props.children into state.
-  // To understand why this is important (and not an anti-pattern), consider
-  // how "leave" animations work. An item has "left" when the component
-  // receives a new set of props that do NOT contain the item.
-  // If we just render the props as-is, the item would instantly disappear.
-  // We want to keep the item rendered for a little while, until its animation
-  // can complete. Because we cannot mutate props, we make `state` the source
-  // of truth.
-
-
-  // FlipMove needs to know quite a bit about its children in order to do
-  // its job. We store these as a property on the instance. We're not using
-  // state, because we don't want changes to trigger re-renders, we just
-  // need a place to keep the data for reference, when changes happen.
-  // This field should not be accessed directly. Instead, use getChildData,
-  // putChildData, etc...
-
-
-  // Similarly, track the dom node and box of our parent element.
-
-
-  // If `maintainContainerHeight` prop is set to true, we'll create a
-  // placeholder element which occupies space so that the parent height
-  // doesn't change when items are removed from the document flow (which
-  // happens during leave animations)
-
-
-  // Keep track of remaining animations so we know when to fire the
-  // all-finished callback, and clean up after ourselves.
-  // NOTE: we can't simply use childrenToAnimate.length to track remaining
-  // animations, because we need to maintain the list of animating children,
-  // to pass to the `onFinishAll` handler.
-
-
-  _createClass(FlipMove, [{
-    key: 'componentDidMount',
-    value: function componentDidMount() {
-      // Run our `appearAnimation` if it was requested, right after the
-      // component mounts.
-      var shouldTriggerFLIP = this.props.appearAnimation && !this.isAnimationDisabled(this.props);
-
-      if (shouldTriggerFLIP) {
-        this.prepForAnimation();
-        this.runAnimation();
-      }
-    }
-  }, {
-    key: 'componentWillReceiveProps',
-    value: function componentWillReceiveProps(nextProps) {
-      // When the component is handed new props, we need to figure out the
-      // "resting" position of all currently-rendered DOM nodes.
-      // We store that data in this.parent and this.children,
-      // so it can be used later to work out the animation.
-      this.updateBoundingBoxCaches();
-
-      // Convert opaque children object to array.
-      var nextChildren = _react.Children.toArray(nextProps.children);
-
-      // Next, we need to update our state, so that it contains our new set of
-      // children. If animation is disabled or unsupported, this is easy;
-      // we just copy our props into state.
-      // Assuming that we can animate, though, we have to do some work.
-      // Essentially, we want to keep just-deleted nodes in the DOM for a bit
-      // longer, so that we can animate them away.
-      this.setState({
-        children: this.isAnimationDisabled(nextProps) ? nextChildren.map(function (element) {
-          return _extends({}, element, { element: element });
-        }) : this.calculateNextSetOfChildren(nextChildren)
-      });
-    }
-  }, {
-    key: 'componentDidUpdate',
-    value: function componentDidUpdate(previousProps) {
-      // If the children have been re-arranged, moved, or added/removed,
-      // trigger the main FLIP animation.
-      //
-      // IMPORTANT: We need to make sure that the children have actually changed.
-      // At the end of the transition, we clean up nodes that need to be removed.
-      var oldChildrenKeys = _react.Children.toArray(this.props.children).map(function (d) {
-        return d.key;
-      });
-      var nextChildrenKeys = _react.Children.toArray(previousProps.children).map(function (d) {
-        return d.key;
-      });
-
-      var shouldTriggerFLIP = !(0, _helpers.arraysEqual)(oldChildrenKeys, nextChildrenKeys) && !this.isAnimationDisabled(this.props);
-
-      if (shouldTriggerFLIP) {
-        this.prepForAnimation();
-        this.runAnimation();
-      }
-    }
-  }, {
-    key: 'calculateNextSetOfChildren',
-    value: function calculateNextSetOfChildren(nextChildren) {
-      var _this2 = this;
-
-      // We want to:
-      //   - Mark all new children as `entering`
-      //   - Pull in previous children that aren't in nextChildren, and mark them
-      //     as `leaving`
-      //   - Preserve the nextChildren list order, with leaving children in their
-      //     appropriate places.
-      //
-
-      var updatedChildren = nextChildren.map(function (nextChild) {
-        var child = _this2.findChildByKey(nextChild.key || '');
-
-        // If the current child did exist, but it was in the midst of leaving,
-        // we want to treat it as though it's entering
-        var isEntering = !child || child.leaving;
-
-        return _extends({}, nextChild, { element: nextChild, entering: isEntering });
-      });
-
-      // This is tricky. We want to keep the nextChildren's ordering, but with
-      // any just-removed items maintaining their original position.
-      // eg.
-      //   this.state.children  = [ 1, 2, 3, 4 ]
-      //   nextChildren         = [ 3, 1 ]
-      //
-      // In this example, we've removed the '2' & '4'
-      // We want to end up with:  [ 2, 3, 1, 4 ]
-      //
-      // To accomplish that, we'll iterate through this.state.children. whenever
-      // we find a match, we'll append our `leaving` flag to it, and insert it
-      // into the nextChildren in its ORIGINAL position. Note that, as we keep
-      // inserting old items into the new list, the "original" position will
-      // keep incrementing.
-      var numOfChildrenLeaving = 0;
-      this.state.children.forEach(function (child, index) {
-        var isLeaving = !nextChildren.find(function (_ref2) {
-          var key = _ref2.key;
-          return key === getKey(child);
-        });
-
-        // If the child isn't leaving (or, if there is no leave animation),
-        // we don't need to add it into the state children.
-        if (!isLeaving || !_this2.props.leaveAnimation) return;
-
-        var nextChild = _extends({}, child, { leaving: true });
-        var nextChildIndex = index + numOfChildrenLeaving;
-
-        updatedChildren.splice(nextChildIndex, 0, nextChild);
-        numOfChildrenLeaving += 1;
-      });
-
-      return updatedChildren;
-    }
-  }, {
-    key: 'prepForAnimation',
-    value: function prepForAnimation() {
-      var _this3 = this;
-
-      // Our animation prep consists of:
-      // - remove children that are leaving from the DOM flow, so that the new
-      //   layout can be accurately calculated,
-      // - update the placeholder container height, if needed, to ensure that
-      //   the parent's height doesn't collapse.
-
-      var _props = this.props,
-          leaveAnimation = _props.leaveAnimation,
-          maintainContainerHeight = _props.maintainContainerHeight,
-          getPosition = _props.getPosition;
-
-      // we need to make all leaving nodes "invisible" to the layout calculations
-      // that will take place in the next step (this.runAnimation).
-
-      if (leaveAnimation) {
-        var leavingChildren = this.state.children.filter(function (child) {
-          return child.leaving;
-        });
-
-        leavingChildren.forEach(function (leavingChild) {
-          var childData = _this3.getChildData(getKey(leavingChild));
-
-          // We need to take the items out of the "flow" of the document, so that
-          // its siblings can move to take its place.
-          if (childData.boundingBox) {
-            (0, _domManipulation.removeNodeFromDOMFlow)(childData, _this3.props.verticalAlignment);
-          }
-        });
-
-        if (maintainContainerHeight && this.heightPlaceholderData.domNode) {
-          (0, _domManipulation.updateHeightPlaceholder)({
-            domNode: this.heightPlaceholderData.domNode,
-            parentData: this.parentData,
-            getPosition: getPosition
-          });
-        }
-      }
-
-      // For all children not in the middle of entering or leaving,
-      // we need to reset the transition, so that the NEW shuffle starts from
-      // the right place.
-      this.state.children.forEach(function (child) {
-        var _getChildData = _this3.getChildData(getKey(child)),
-            domNode = _getChildData.domNode;
-
-        // Ignore children that don't render DOM nodes (eg. by returning null)
-
-
-        if (!domNode) {
-          return;
-        }
-
-        if (!child.entering && !child.leaving) {
-          (0, _domManipulation.applyStylesToDOMNode)({
-            domNode: domNode,
-            styles: {
-              transition: ''
-            }
-          });
-        }
-      });
-    }
-  }, {
-    key: 'animateChild',
-    value: function animateChild(child, index) {
-      var _this4 = this;
-
-      var _getChildData2 = this.getChildData(getKey(child)),
-          domNode = _getChildData2.domNode;
-
-      if (!domNode) {
-        return;
-      }
-
-      // Apply the relevant style for this DOM node
-      // This is the offset from its actual DOM position.
-      // eg. if an item has been re-rendered 20px lower, we want to apply a
-      // style of 'transform: translate(-20px)', so that it appears to be where
-      // it started.
-      // In FLIP terminology, this is the 'Invert' stage.
-      (0, _domManipulation.applyStylesToDOMNode)({
-        domNode: domNode,
-        styles: this.computeInitialStyles(child)
-      });
-
-      // Start by invoking the onStart callback for this child.
-      if (this.props.onStart) this.props.onStart(child, domNode);
-
-      // Next, animate the item from it's artificially-offset position to its
-      // new, natural position.
-      requestAnimationFrame(function () {
-        requestAnimationFrame(function () {
-          // NOTE, RE: the double-requestAnimationFrame:
-          // Sadly, this is the most browser-compatible way to do this I've found.
-          // Essentially we need to set the initial styles outside of any request
-          // callbacks to avoid batching them. Then, a frame needs to pass with
-          // the styles above rendered. Then, on the second frame, we can apply
-          // our final styles to perform the animation.
-
-          // Our first order of business is to "undo" the styles applied in the
-          // previous frames, while also adding a `transition` property.
-          // This way, the item will smoothly transition from its old position
-          // to its new position.
-
-          // eslint-disable-next-line flowtype/require-variable-type
-          var styles = {
-            transition: (0, _domManipulation.createTransitionString)(index, _this4.props),
-            transform: '',
-            opacity: ''
-          };
-
-          if (child.appearing && _this4.props.appearAnimation) {
-            styles = _extends({}, styles, _this4.props.appearAnimation.to);
-          } else if (child.entering && _this4.props.enterAnimation) {
-            styles = _extends({}, styles, _this4.props.enterAnimation.to);
-          } else if (child.leaving && _this4.props.leaveAnimation) {
-            styles = _extends({}, styles, _this4.props.leaveAnimation.to);
-          }
-
-          // In FLIP terminology, this is the 'Play' stage.
-          (0, _domManipulation.applyStylesToDOMNode)({ domNode: domNode, styles: styles });
-        });
-      });
-
-      this.bindTransitionEndHandler(child);
-    }
-  }, {
-    key: 'bindTransitionEndHandler',
-    value: function bindTransitionEndHandler(child) {
-      var _this5 = this;
-
-      var _getChildData3 = this.getChildData(getKey(child)),
-          domNode = _getChildData3.domNode;
-
-      if (!domNode) {
-        return;
-      }
-
-      // The onFinish callback needs to be bound to the transitionEnd event.
-      // We also need to unbind it when the transition completes, so this ugly
-      // inline function is required (we need it here so it closes over
-      // dependent variables `child` and `domNode`)
-      var transitionEndHandler = function transitionEndHandler(ev) {
-        // It's possible that this handler is fired not on our primary transition,
-        // but on a nested transition (eg. a hover effect). Ignore these cases.
-        if (ev.target !== domNode) return;
-
-        // Remove the 'transition' inline style we added. This is cleanup.
-        domNode.style.transition = '';
-
-        // Trigger any applicable onFinish/onFinishAll hooks
-        _this5.triggerFinishHooks(child, domNode);
-
-        domNode.removeEventListener(transitionEnd, transitionEndHandler);
-
-        if (child.leaving) {
-          _this5.removeChildData(getKey(child));
-        }
-      };
-
-      domNode.addEventListener(transitionEnd, transitionEndHandler);
-    }
-  }, {
-    key: 'triggerFinishHooks',
-    value: function triggerFinishHooks(child, domNode) {
-      var _this6 = this;
-
-      if (this.props.onFinish) this.props.onFinish(child, domNode);
-
-      // Reduce the number of children we need to animate by 1,
-      // so that we can tell when all children have finished.
-      this.remainingAnimations -= 1;
-
-      if (this.remainingAnimations === 0) {
-        // Remove any items from the DOM that have left, and reset `entering`.
-        var nextChildren = this.state.children.filter(function (_ref3) {
-          var leaving = _ref3.leaving;
-          return !leaving;
-        }).map(function (item) {
-          return _extends({}, item, {
-            appearing: false,
-            entering: false
-          });
-        });
-
-        this.setState({ children: nextChildren }, function () {
-          if (typeof _this6.props.onFinishAll === 'function') {
-            _this6.callChildrenHook(_this6.props.onFinishAll);
-          }
-
-          // Reset our variables for the next iteration
-          _this6.childrenToAnimate = [];
-        });
-
-        // If the placeholder was holding the container open while elements were
-        // leaving, we we can now set its height to zero.
-        if (this.heightPlaceholderData.domNode) {
-          this.heightPlaceholderData.domNode.style.height = '0';
-        }
-      }
-    }
-  }, {
-    key: 'callChildrenHook',
-    value: function callChildrenHook(hook) {
-      var _this7 = this;
-
-      var elements = [];
-      var domNodes = [];
-
-      this.childrenToAnimate.forEach(function (childKey) {
-        // If this was an exit animation, the child may no longer exist.
-        // If so, skip it.
-        var child = _this7.findChildByKey(childKey);
-
-        if (!child) {
-          return;
-        }
-
-        elements.push(child);
-
-        if (_this7.hasChildData(childKey)) {
-          domNodes.push(_this7.getChildData(childKey).domNode);
-        }
-      });
-
-      hook(elements, domNodes);
-    }
-  }, {
-    key: 'updateBoundingBoxCaches',
-    value: function updateBoundingBoxCaches() {
-      var _this8 = this;
-
-      // This is the ONLY place that parentData and childrenData's
-      // bounding boxes are updated. They will be calculated at other times
-      // to be compared to this value, but it's important that the cache is
-      // updated once per update.
-      var parentDomNode = this.parentData.domNode;
-
-      if (!parentDomNode) {
-        return;
-      }
-
-      this.parentData.boundingBox = this.props.getPosition(parentDomNode);
-
-      this.state.children.forEach(function (child) {
-        var childKey = getKey(child);
-
-        // It is possible that a child does not have a `key` property;
-        // Ignore these children, they don't need to be moved.
-        if (!childKey) {
-          return;
-        }
-
-        // In very rare circumstances, for reasons unknown, the ref is never
-        // populated for certain children. In this case, avoid doing this update.
-        // see: https://github.com/joshwcomeau/react-flip-move/pull/91
-        if (!_this8.hasChildData(childKey)) {
-          return;
-        }
-
-        var childData = _this8.getChildData(childKey);
-
-        // If the child element returns null, we need to avoid trying to
-        // account for it
-        if (!childData.domNode || !child) {
-          return;
-        }
-
-        _this8.setChildData(childKey, {
-          boundingBox: (0, _domManipulation.getRelativeBoundingBox)({
-            childDomNode: childData.domNode,
-            parentDomNode: parentDomNode,
-            getPosition: _this8.props.getPosition
-          })
-        });
-      });
-    }
-  }, {
-    key: 'computeInitialStyles',
-    value: function computeInitialStyles(child) {
-      if (child.appearing) {
-        return this.props.appearAnimation ? this.props.appearAnimation.from : {};
-      } else if (child.entering) {
-        if (!this.props.enterAnimation) {
-          return {};
-        }
-        // If this child was in the middle of leaving, it still has its
-        // absolute positioning styles applied. We need to undo those.
-        return _extends({
-          position: '',
-          top: '',
-          left: '',
-          right: '',
-          bottom: ''
-        }, this.props.enterAnimation.from);
-      } else if (child.leaving) {
-        return this.props.leaveAnimation ? this.props.leaveAnimation.from : {};
-      }
-
-      var childData = this.getChildData(getKey(child));
-      var childDomNode = childData.domNode;
-      var childBoundingBox = childData.boundingBox;
-      var parentBoundingBox = this.parentData.boundingBox;
-
-      if (!childDomNode) {
-        return {};
-      }
-
-      var _getPositionDelta3 = (0, _domManipulation.getPositionDelta)({
-        childDomNode: childDomNode,
-        childBoundingBox: childBoundingBox,
-        parentBoundingBox: parentBoundingBox,
-        getPosition: this.props.getPosition
-      }),
-          _getPositionDelta4 = _slicedToArray(_getPositionDelta3, 2),
-          dX = _getPositionDelta4[0],
-          dY = _getPositionDelta4[1];
-
-      return {
-        transform: 'translate(' + dX + 'px, ' + dY + 'px)'
-      };
-    }
-
-    // eslint-disable-next-line class-methods-use-this
-
-  }, {
-    key: 'isAnimationDisabled',
-    value: function isAnimationDisabled(props) {
-      // If the component is explicitly passed a `disableAllAnimations` flag,
-      // we can skip this whole process. Similarly, if all of the numbers have
-      // been set to 0, there is no point in trying to animate; doing so would
-      // only cause a flicker (and the intent is probably to disable animations)
-      // We can also skip this rigamarole if there's no browser support for it.
-      return noBrowserSupport || props.disableAllAnimations || props.duration === 0 && props.delay === 0 && props.staggerDurationBy === 0 && props.staggerDelayBy === 0;
-    }
-  }, {
-    key: 'findChildByKey',
-    value: function findChildByKey(key) {
-      return this.state.children.find(function (child) {
-        return getKey(child) === key;
-      });
-    }
-  }, {
-    key: 'hasChildData',
-    value: function hasChildData(key) {
-      // Object has some built-in properties on its prototype, such as toString.  hasOwnProperty makes
-      // sure that key is present on childrenData itself, not on its prototype.
-      return Object.prototype.hasOwnProperty.call(this.childrenData, key);
-    }
-  }, {
-    key: 'getChildData',
-    value: function getChildData(key) {
-      return this.hasChildData(key) ? this.childrenData[key] : {};
-    }
-  }, {
-    key: 'setChildData',
-    value: function setChildData(key, data) {
-      this.childrenData[key] = _extends({}, this.getChildData(key), data);
-    }
-  }, {
-    key: 'removeChildData',
-    value: function removeChildData(key) {
-      delete this.childrenData[key];
-    }
-  }, {
-    key: 'createHeightPlaceholder',
-    value: function createHeightPlaceholder() {
-      var _this9 = this;
-
-      var typeName = this.props.typeName;
-
-      // If requested, create an invisible element at the end of the list.
-      // Its height will be modified to prevent the container from collapsing
-      // prematurely.
-
-      var isContainerAList = typeName === 'ul' || typeName === 'ol';
-      var placeholderType = isContainerAList ? 'li' : 'div';
-
-      return _react2.default.createElement(placeholderType, {
-        key: 'height-placeholder',
-        ref: function ref(domNode) {
-          _this9.heightPlaceholderData.domNode = domNode;
-        },
-        style: { visibility: 'hidden', height: 0 }
-      });
-    }
-  }, {
-    key: 'childrenWithRefs',
-    value: function childrenWithRefs() {
-      var _this10 = this;
-
-      // We need to clone the provided children, capturing a reference to the
-      // underlying DOM node. Flip Move needs to use the React escape hatches to
-      // be able to do its calculations.
-      return this.state.children.map(function (child) {
-        return _react2.default.cloneElement(child.element, {
-          ref: function ref(element) {
-            // Stateless Functional Components are not supported by FlipMove,
-            // because they don't have instances.
-            if (!element) {
-              return;
-            }
-
-            var domNode = (0, _domManipulation.getNativeNode)(element);
-            _this10.setChildData(getKey(child), { domNode: domNode });
-          }
-        });
-      });
-    }
-  }, {
-    key: 'render',
-    value: function render() {
-      var _this11 = this;
-
-      var _props2 = this.props,
-          typeName = _props2.typeName,
-          delegated = _props2.delegated,
-          leaveAnimation = _props2.leaveAnimation,
-          maintainContainerHeight = _props2.maintainContainerHeight;
-
-
-      var props = _extends({}, delegated, {
-        ref: function ref(node) {
-          _this11.parentData.domNode = node;
-        }
-      });
-
-      var children = this.childrenWithRefs();
-      if (leaveAnimation && maintainContainerHeight) {
-        children.push(this.createHeightPlaceholder());
-      }
-
-      return _react2.default.createElement(typeName, props, children);
-    }
-  }]);
-
-  return FlipMove;
-}(_react.Component);
-
-exports.default = (0, _propConverter2.default)(FlipMove);
-module.exports = exports['default'];
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// @noflow
-/**
- * React Flip Move - Polyfills
- * (c) 2016-present Joshua Comeau
- */
-
-/* eslint-disable */
-
-if (!Array.prototype.find) {
-  Array.prototype.find = function (predicate) {
-    if (this === null) {
-      throw new TypeError('Array.prototype.find called on null or undefined');
-    }
-    if (typeof predicate !== 'function') {
-      throw new TypeError('predicate must be a function');
-    }
-    var list = Object(this);
-    var length = list.length >>> 0;
-    var thisArg = arguments[1];
-    var value = void 0;
-
-    for (var i = 0; i < length; i++) {
-      value = list[i];
-      if (predicate.call(thisArg, value, i, list)) {
-        return value;
-      }
-    }
-    return undefined;
-  };
-}
-
-if (!Array.prototype.every) {
-  Array.prototype.every = function (callbackfn, thisArg) {
-    'use strict';
-
-    var T, k;
-
-    if (this == null) {
-      throw new TypeError('this is null or not defined');
-    }
-
-    var O = Object(this);
-    var len = O.length >>> 0;
-
-    if (typeof callbackfn !== 'function') {
-      throw new TypeError();
-    }
-
-    if (arguments.length > 1) {
-      T = thisArg;
-    }
-
-    k = 0;
-
-    while (k < len) {
-
-      var kValue;
-
-      if (k in O) {
-        kValue = O[k];
-
-        var testResult = callbackfn.call(T, kValue, k, O);
-
-        if (!testResult) {
-          return false;
-        }
-      }
-      k++;
-    }
-    return true;
-  };
-}
-
-if (!Array.isArray) {
-  Array.isArray = function (arg) {
-    return Object.prototype.toString.call(arg) === '[object Array]';
-  };
-}
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-var _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _errorMessages = __webpack_require__(132);
-
-var _enterLeavePresets = __webpack_require__(133);
-
-var _helpers = __webpack_require__(43);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-/**
- * React Flip Move | propConverter
- * (c) 2016-present Joshua Comeau
- *
- * Abstracted away a bunch of the messy business with props.
- *   - props flow types and defaultProps
- *   - Type conversion (We accept 'string' and 'number' values for duration,
- *     delay, and other fields, but we actually need them to be ints.)
- *   - Children conversion (we need the children to be an array. May not always
- *     be, if a single child is passed in.)
- *   - Resolving animation presets into their base CSS styles
- */
-/* eslint-disable block-scoped-var */
-
-var nodeEnv = void 0;
-try {
-  nodeEnv = process.env.NODE_ENV;
-} catch (e) {
-  nodeEnv = 'development';
-}
-
-function propConverter(ComposedComponent) {
-  var _class, _temp;
-
-  return _temp = _class = function (_Component) {
-    _inherits(FlipMovePropConverter, _Component);
-
-    function FlipMovePropConverter() {
-      _classCallCheck(this, FlipMovePropConverter);
-
-      return _possibleConstructorReturn(this, (FlipMovePropConverter.__proto__ || Object.getPrototypeOf(FlipMovePropConverter)).apply(this, arguments));
-    }
-
-    _createClass(FlipMovePropConverter, [{
-      key: 'checkForStatelessFunctionalComponents',
-
-
-      // eslint-disable-next-line class-methods-use-this
-      value: function checkForStatelessFunctionalComponents(children) {
-        // Skip all console warnings in production.
-        // Bail early, to avoid unnecessary work.
-        if (nodeEnv === 'production') {
-          return;
-        }
-
-        // FlipMove does not support stateless functional components.
-        // Check to see if any supplied components won't work.
-        // If the child doesn't have a key, it means we aren't animating it.
-        // It's allowed to be an SFC, since we ignore it.
-        var childArray = _react.Children.toArray(children);
-        var noStateless = childArray.every(function (child) {
-          return !(0, _helpers.isElementAnSFC)(child) || typeof child.key === 'undefined';
-        });
-
-        if (!noStateless) {
-          (0, _errorMessages.statelessFunctionalComponentSupplied)();
-        }
-      }
-    }, {
-      key: 'convertProps',
-      value: function convertProps(props) {
-        var workingProps = {
-          // explicitly bypass the props that don't need conversion
-          children: props.children,
-          easing: props.easing,
-          onStart: props.onStart,
-          onFinish: props.onFinish,
-          onStartAll: props.onStartAll,
-          onFinishAll: props.onFinishAll,
-          typeName: props.typeName,
-          disableAllAnimations: props.disableAllAnimations,
-          getPosition: props.getPosition,
-          maintainContainerHeight: props.maintainContainerHeight,
-          verticalAlignment: props.verticalAlignment,
-
-          // Do string-to-int conversion for all timing-related props
-          duration: this.convertTimingProp('duration'),
-          delay: this.convertTimingProp('delay'),
-          staggerDurationBy: this.convertTimingProp('staggerDurationBy'),
-          staggerDelayBy: this.convertTimingProp('staggerDelayBy'),
-
-          // Our enter/leave animations can be specified as boolean (default or
-          // disabled), string (preset name), or object (actual animation values).
-          // Let's standardize this so that they're always objects
-          appearAnimation: this.convertAnimationProp(props.appearAnimation, _enterLeavePresets.appearPresets),
-          enterAnimation: this.convertAnimationProp(props.enterAnimation, _enterLeavePresets.enterPresets),
-          leaveAnimation: this.convertAnimationProp(props.leaveAnimation, _enterLeavePresets.leavePresets),
-
-          delegated: {}
-        };
-
-        this.checkForStatelessFunctionalComponents(workingProps.children);
-
-        // Accept `disableAnimations`, but add a deprecation warning
-        if (typeof props.disableAnimations !== 'undefined') {
-          if (nodeEnv !== 'production') {
-            (0, _errorMessages.deprecatedDisableAnimations)();
-          }
-
-          workingProps.disableAllAnimations = props.disableAnimations;
-        }
-
-        // Gather any additional props;
-        // they will be delegated to the ReactElement created.
-        var primaryPropKeys = Object.keys(workingProps);
-        var delegatedProps = (0, _helpers.omit)(this.props, primaryPropKeys);
-
-        // The FlipMove container element needs to have a non-static position.
-        // We use `relative` by default, but it can be overridden by the user.
-        // Now that we're delegating props, we need to merge this in.
-        delegatedProps.style = _extends({
-          position: 'relative'
-        }, delegatedProps.style);
-
-        workingProps.delegated = delegatedProps;
-
-        return workingProps;
-      }
-    }, {
-      key: 'convertTimingProp',
-      value: function convertTimingProp(prop) {
-        var rawValue = this.props[prop];
-
-        var value = typeof rawValue === 'number' ? rawValue : parseInt(rawValue, 10);
-
-        if (isNaN(value)) {
-          var defaultValue = FlipMovePropConverter.defaultProps[prop];
-
-          if (nodeEnv !== 'production') {
-            (0, _errorMessages.invalidTypeForTimingProp)({
-              prop: prop,
-              value: rawValue,
-              defaultValue: defaultValue
-            });
-          }
-
-          return defaultValue;
-        }
-
-        return value;
-      }
-
-      // eslint-disable-next-line class-methods-use-this
-
-    }, {
-      key: 'convertAnimationProp',
-      value: function convertAnimationProp(animation, presets) {
-        switch (typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) {
-          case 'boolean':
-            {
-              // If it's true, we want to use the default preset.
-              // If it's false, we want to use the 'none' preset.
-              return presets[animation ? _enterLeavePresets.defaultPreset : _enterLeavePresets.disablePreset];
-            }
-
-          case 'string':
-            {
-              var presetKeys = Object.keys(presets);
-
-              if (presetKeys.indexOf(animation) === -1) {
-                if (nodeEnv !== 'production') {
-                  (0, _errorMessages.invalidEnterLeavePreset)({
-                    value: animation,
-                    acceptableValues: presetKeys.join(', '),
-                    defaultValue: _enterLeavePresets.defaultPreset
-                  });
-                }
-
-                return presets[_enterLeavePresets.defaultPreset];
-              }
-
-              return presets[animation];
-            }
-
-          default:
-            {
-              return animation;
-            }
-        }
-      }
-    }, {
-      key: 'render',
-      value: function render() {
-        return _react2.default.createElement(ComposedComponent, this.convertProps(this.props));
-      }
-    }]);
-
-    return FlipMovePropConverter;
-  }(_react.Component), _class.defaultProps = {
-    easing: 'ease-in-out',
-    duration: 350,
-    delay: 0,
-    staggerDurationBy: 0,
-    staggerDelayBy: 0,
-    typeName: 'div',
-    enterAnimation: _enterLeavePresets.defaultPreset,
-    leaveAnimation: _enterLeavePresets.defaultPreset,
-    disableAllAnimations: false,
-    getPosition: function getPosition(node) {
-      return node.getBoundingClientRect();
-    },
-    maintainContainerHeight: false,
-    verticalAlignment: 'top'
-  }, _temp;
-}
-
-exports.default = propConverter;
-module.exports = exports['default'];
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)))
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-
-function warnOnce(msg) {
-  var hasWarned = false;
-  return function () {
-    if (!hasWarned) {
-      console.warn(msg);
-      hasWarned = true;
-    }
-  };
-}
-var statelessFunctionalComponentSupplied = exports.statelessFunctionalComponentSupplied = warnOnce('\n>> Error, via react-flip-move <<\n\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren\'t supported, because Flip Move needs access to the backing instances via refs, and SFCs don\'t have a public instance that holds that info.\n\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\n');
-
-var invalidTypeForTimingProp = exports.invalidTypeForTimingProp = function invalidTypeForTimingProp(args) {
-  return console.error('\n>> Error, via react-flip-move <<\n\nThe prop you provided for \'' + args.prop + '\' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is \'' + args.value + '\'.\n\nAs a result,  the default value for this parameter will be used, which is \'' + args.defaultValue + '\'.\n');
-};
-
-var deprecatedDisableAnimations = exports.deprecatedDisableAnimations = warnOnce('\n>> Warning, via react-flip-move <<\n\nThe \'disableAnimations\' prop you provided is deprecated. Please switch to use \'disableAllAnimations\'.\n\nThis will become a silent error in future versions of react-flip-move.\n');
-
-var invalidEnterLeavePreset = exports.invalidEnterLeavePreset = function invalidEnterLeavePreset(args) {
-  return console.error('\n>> Error, via react-flip-move <<\n\nThe enter/leave preset you provided is invalid. We don\'t currently have a \'' + args.value + ' preset.\'\n\nAcceptable values are ' + args.acceptableValues + '. The default value of \'' + args.defaultValue + '\' will be used.\n');
-};
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-var enterPresets = exports.enterPresets = {
-  elevator: {
-    from: { transform: 'scale(0)', opacity: '0' },
-    to: { transform: '', opacity: '' }
-  },
-  fade: {
-    from: { opacity: '0' },
-    to: { opacity: '' }
-  },
-  accordionVertical: {
-    from: { transform: 'scaleY(0)', transformOrigin: 'center top' },
-    to: { transform: '', transformOrigin: 'center top' }
-  },
-  accordionHorizontal: {
-    from: { transform: 'scaleX(0)', transformOrigin: 'left center' },
-    to: { transform: '', transformOrigin: 'left center' }
-  },
-  none: null
-};
-/**
- * React Flip Move | enterLeavePresets
- * (c) 2016-present Joshua Comeau
- *
- * This contains the master list of presets available for enter/leave animations,
- * along with the mapping between preset and styles.
- */
-var leavePresets = exports.leavePresets = {
-  elevator: {
-    from: { transform: 'scale(1)', opacity: '1' },
-    to: { transform: 'scale(0)', opacity: '0' }
-  },
-  fade: {
-    from: { opacity: '1' },
-    to: { opacity: '0' }
-  },
-  accordionVertical: {
-    from: { transform: 'scaleY(1)', transformOrigin: 'center top' },
-    to: { transform: 'scaleY(0)', transformOrigin: 'center top' }
-  },
-  accordionHorizontal: {
-    from: { transform: 'scaleX(1)', transformOrigin: 'left center' },
-    to: { transform: 'scaleX(0)', transformOrigin: 'left center' }
-  },
-  none: null
-};
-
-// For now, appearPresets will be identical to enterPresets.
-// Assigning a custom export in case we ever want to add appear-specific ones.
-var appearPresets = exports.appearPresets = enterPresets;
-
-// Embarrassingly enough, v2.0 launched with typo'ed preset names.
-// To avoid penning a new major version over something so inconsequential,
-// we're supporting both spellings. In a future version, these alternatives
-// may be deprecated.
-// $FlowFixMe
-enterPresets.accordianVertical = enterPresets.accordionVertical;
-// $FlowFixMe
-enterPresets.accordianHorizontal = enterPresets.accordionHorizontal;
-// $FlowFixMe
-leavePresets.accordianVertical = leavePresets.accordionVertical;
-// $FlowFixMe
-leavePresets.accordianHorizontal = leavePresets.accordionHorizontal;
-
-var defaultPreset = exports.defaultPreset = 'elevator';
-var disablePreset = exports.disablePreset = 'none';
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.createTransitionString = exports.getNativeNode = exports.updateHeightPlaceholder = exports.removeNodeFromDOMFlow = exports.getPositionDelta = exports.getRelativeBoundingBox = undefined;
-
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-/**
- * React Flip Move
- * (c) 2016-present Joshua Comeau
- *
- * These methods read from and write to the DOM.
- * They almost always have side effects, and will hopefully become the
- * only spot in the codebase with impure functions.
- */
-
-
-exports.applyStylesToDOMNode = applyStylesToDOMNode;
-exports.whichTransitionEvent = whichTransitionEvent;
-
-var _reactDom = __webpack_require__(135);
-
-var _helpers = __webpack_require__(43);
-
-function _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; }
-
-function applyStylesToDOMNode(_ref) {
-  var domNode = _ref.domNode,
-      styles = _ref.styles;
-
-  // Can't just do an object merge because domNode.styles is no regular object.
-  // Need to do it this way for the engine to fire its `set` listeners.
-  Object.keys(styles).forEach(function (key) {
-    domNode.style.setProperty((0, _helpers.hyphenate)(key), styles[key]);
-  });
-}
-
-// Modified from Modernizr
-function whichTransitionEvent() {
-  var transitions = {
-    transition: 'transitionend',
-    '-o-transition': 'oTransitionEnd',
-    '-moz-transition': 'transitionend',
-    '-webkit-transition': 'webkitTransitionEnd'
-  };
-
-  // If we're running in a browserless environment (eg. SSR), it doesn't apply.
-  // Return a placeholder string, for consistent type return.
-  if (typeof document === 'undefined') return '';
-
-  var el = document.createElement('fakeelement');
-
-  var match = Object.keys(transitions).find(function (t) {
-    return el.style.getPropertyValue(t) !== undefined;
-  });
-
-  // If no `transition` is found, we must be running in a browser so ancient,
-  // React itself won't run. Return an empty string, for consistent type return
-  return match ? transitions[match] : '';
-}
-
-var getRelativeBoundingBox = exports.getRelativeBoundingBox = function getRelativeBoundingBox(_ref2) {
-  var childDomNode = _ref2.childDomNode,
-      parentDomNode = _ref2.parentDomNode,
-      getPosition = _ref2.getPosition;
-
-  var parentBox = getPosition(parentDomNode);
-
-  var _getPosition = getPosition(childDomNode),
-      top = _getPosition.top,
-      left = _getPosition.left,
-      right = _getPosition.right,
-      bottom = _getPosition.bottom,
-      width = _getPosition.width,
-      height = _getPosition.height;
-
-  return {
-    top: top - parentBox.top,
-    left: left - parentBox.left,
-    right: parentBox.right - right,
-    bottom: parentBox.bottom - bottom,
-    width: width,
-    height: height
-  };
-};
-
-/** getPositionDelta
- * This method returns the delta between two bounding boxes, to figure out
- * how many pixels on each axis the element has moved.
- *
- */
-var getPositionDelta = exports.getPositionDelta = function getPositionDelta(_ref3) {
-  var childDomNode = _ref3.childDomNode,
-      childBoundingBox = _ref3.childBoundingBox,
-      parentBoundingBox = _ref3.parentBoundingBox,
-      getPosition = _ref3.getPosition;
-
-  // TEMP: A mystery bug is sometimes causing unnecessary boundingBoxes to
-  var defaultBox = { top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 };
-
-  // Our old box is its last calculated position, derived on mount or at the
-  // start of the previous animation.
-  var oldRelativeBox = childBoundingBox || defaultBox;
-  var parentBox = parentBoundingBox || defaultBox;
-
-  // Our new box is the new final resting place: Where we expect it to wind up
-  // after the animation. First we get the box in absolute terms (AKA relative
-  // to the viewport), and then we calculate its relative box (relative to the
-  // parent container)
-  var newAbsoluteBox = getPosition(childDomNode);
-  var newRelativeBox = {
-    top: newAbsoluteBox.top - parentBox.top,
-    left: newAbsoluteBox.left - parentBox.left
-  };
-
-  return [oldRelativeBox.left - newRelativeBox.left, oldRelativeBox.top - newRelativeBox.top];
-};
-
-/** removeNodeFromDOMFlow
- * This method does something very sneaky: it removes a DOM node from the
- * document flow, but without actually changing its on-screen position.
- *
- * It works by calculating where the node is, and then applying styles
- * so that it winds up being positioned absolutely, but in exactly the
- * same place.
- *
- * This is a vital part of the FLIP technique.
- */
-var removeNodeFromDOMFlow = exports.removeNodeFromDOMFlow = function removeNodeFromDOMFlow(childData, verticalAlignment) {
-  var domNode = childData.domNode,
-      boundingBox = childData.boundingBox;
-
-
-  if (!domNode || !boundingBox) {
-    return;
-  }
-
-  // For this to work, we have to offset any given `margin`.
-  var computed = window.getComputedStyle(domNode);
-
-  // We need to clean up margins, by converting and removing suffix:
-  // eg. '21px' -> 21
-  var marginAttrs = ['margin-top', 'margin-left', 'margin-right'];
-  var margins = marginAttrs.reduce(function (acc, margin) {
-    var propertyVal = computed.getPropertyValue(margin);
-
-    return _extends({}, acc, _defineProperty({}, margin, Number(propertyVal.replace('px', ''))));
-  }, {});
-
-  // If we're bottom-aligned, we need to add the height of the child to its
-  // top offset. This is because, when the container is bottom-aligned, its
-  // height shrinks from the top, not the bottom. We're removing this node
-  // from the flow, so the top is going to drop by its height.
-  var topOffset = verticalAlignment === 'bottom' ? boundingBox.top - boundingBox.height : boundingBox.top;
-
-  var styles = {
-    position: 'absolute',
-    top: topOffset - margins['margin-top'] + 'px',
-    left: boundingBox.left - margins['margin-left'] + 'px',
-    right: boundingBox.right - margins['margin-right'] + 'px'
-  };
-
-  applyStylesToDOMNode({ domNode: domNode, styles: styles });
-};
-
-/** updateHeightPlaceholder
- * An optional property to FlipMove is a `maintainContainerHeight` boolean.
- * This property creates a node that fills space, so that the parent
- * container doesn't collapse when its children are removed from the
- * document flow.
- */
-var updateHeightPlaceholder = exports.updateHeightPlaceholder = function updateHeightPlaceholder(_ref4) {
-  var domNode = _ref4.domNode,
-      parentData = _ref4.parentData,
-      getPosition = _ref4.getPosition;
-
-  var parentDomNode = parentData.domNode;
-  var parentBoundingBox = parentData.boundingBox;
-
-  if (!parentDomNode || !parentBoundingBox) {
-    return;
-  }
-
-  // We need to find the height of the container *without* the placeholder.
-  // Since it's possible that the placeholder might already be present,
-  // we first set its height to 0.
-  // This allows the container to collapse down to the size of just its
-  // content (plus container padding or borders if any).
-  applyStylesToDOMNode({ domNode: domNode, styles: { height: '0' } });
-
-  // Find the distance by which the container would be collapsed by elements
-  // leaving. We compare the freshly-available parent height with the original,
-  // cached container height.
-  var originalParentHeight = parentBoundingBox.height;
-  var collapsedParentHeight = getPosition(parentDomNode).height;
-  var reductionInHeight = originalParentHeight - collapsedParentHeight;
-
-  // If the container has become shorter, update the padding element's
-  // height to take up the difference. Otherwise set its height to zero,
-  // so that it has no effect.
-  var styles = {
-    height: reductionInHeight > 0 ? reductionInHeight + 'px' : '0'
-  };
-
-  applyStylesToDOMNode({ domNode: domNode, styles: styles });
-};
-
-var getNativeNode = exports.getNativeNode = function getNativeNode(element) {
-  // When running in a windowless environment, abort!
-  if (typeof HTMLElement === 'undefined') {
-    return null;
-  }
-
-  // `element` may already be a native node.
-  if (element instanceof HTMLElement) {
-    return element;
-  }
-
-  // While ReactDOM's `findDOMNode` is discouraged, it's the only
-  // publicly-exposed way to find the underlying DOM node for
-  // composite components.
-  var foundNode = (0, _reactDom.findDOMNode)(element);
-
-  if (!(foundNode instanceof HTMLElement)) {
-    // Text nodes are not supported
-    return null;
-  }
-
-  return foundNode;
-};
-
-var createTransitionString = exports.createTransitionString = function createTransitionString(index, props) {
-  var delay = props.delay,
-      duration = props.duration;
-  var staggerDurationBy = props.staggerDurationBy,
-      staggerDelayBy = props.staggerDelayBy,
-      easing = props.easing;
-
-
-  delay += index * staggerDelayBy;
-  duration += index * staggerDurationBy;
-
-  var cssProperties = ['transform', 'opacity'];
-
-  return cssProperties.map(function (prop) {
-    return prop + ' ' + duration + 'ms ' + easing + ' ' + delay + 'ms';
-  }).join(', ');
-};
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports) {
-
-module.exports = require("react-dom");
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
-	Autosize 3.0.21
-	license: MIT
-	http://www.jacklmoore.com/autosize
-*/
-(function (global, factory) {
-	if (true) {
-		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, module], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
-				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
-				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
-				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
-	} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
-		factory(exports, module);
-	} else {
-		var mod = {
-			exports: {}
-		};
-		factory(mod.exports, mod);
-		global.autosize = mod.exports;
-	}
-})(this, function (exports, module) {
-	'use strict';
-
-	var map = typeof Map === "function" ? new Map() : (function () {
-		var keys = [];
-		var values = [];
-
-		return {
-			has: function has(key) {
-				return keys.indexOf(key) > -1;
-			},
-			get: function get(key) {
-				return values[keys.indexOf(key)];
-			},
-			set: function set(key, value) {
-				if (keys.indexOf(key) === -1) {
-					keys.push(key);
-					values.push(value);
-				}
-			},
-			'delete': function _delete(key) {
-				var index = keys.indexOf(key);
-				if (index > -1) {
-					keys.splice(index, 1);
-					values.splice(index, 1);
-				}
-			}
-		};
-	})();
-
-	var createEvent = function createEvent(name) {
-		return new Event(name, { bubbles: true });
-	};
-	try {
-		new Event('test');
-	} catch (e) {
-		// IE does not support `new Event()`
-		createEvent = function (name) {
-			var evt = document.createEvent('Event');
-			evt.initEvent(name, true, false);
-			return evt;
-		};
-	}
-
-	function assign(ta) {
-		if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;
-
-		var heightOffset = null;
-		var clientWidth = ta.clientWidth;
-		var cachedHeight = null;
-
-		function init() {
-			var style = window.getComputedStyle(ta, null);
-
-			if (style.resize === 'vertical') {
-				ta.style.resize = 'none';
-			} else if (style.resize === 'both') {
-				ta.style.resize = 'horizontal';
-			}
-
-			if (style.boxSizing === 'content-box') {
-				heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
-			} else {
-				heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
-			}
-			// Fix when a textarea is not on document body and heightOffset is Not a Number
-			if (isNaN(heightOffset)) {
-				heightOffset = 0;
-			}
-
-			update();
-		}
-
-		function changeOverflow(value) {
-			{
-				// Chrome/Safari-specific fix:
-				// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
-				// made available by removing the scrollbar. The following forces the necessary text reflow.
-				var width = ta.style.width;
-				ta.style.width = '0px';
-				// Force reflow:
-				/* jshint ignore:start */
-				ta.offsetWidth;
-				/* jshint ignore:end */
-				ta.style.width = width;
-			}
-
-			ta.style.overflowY = value;
-		}
-
-		function getParentOverflows(el) {
-			var arr = [];
-
-			while (el && el.parentNode && el.parentNode instanceof Element) {
-				if (el.parentNode.scrollTop) {
-					arr.push({
-						node: el.parentNode,
-						scrollTop: el.parentNode.scrollTop
-					});
-				}
-				el = el.parentNode;
-			}
-
-			return arr;
-		}
-
-		function resize() {
-			var originalHeight = ta.style.height;
-			var overflows = getParentOverflows(ta);
-			var docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)
-
-			ta.style.height = 'auto';
-
-			var endHeight = ta.scrollHeight + heightOffset;
-
-			if (ta.scrollHeight === 0) {
-				// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
-				ta.style.height = originalHeight;
-				return;
-			}
-
-			ta.style.height = endHeight + 'px';
-
-			// used to check if an update is actually necessary on window.resize
-			clientWidth = ta.clientWidth;
-
-			// prevents scroll-position jumping
-			overflows.forEach(function (el) {
-				el.node.scrollTop = el.scrollTop;
-			});
-
-			if (docTop) {
-				document.documentElement.scrollTop = docTop;
-			}
-		}
-
-		function update() {
-			resize();
-
-			var styleHeight = Math.round(parseFloat(ta.style.height));
-			var computed = window.getComputedStyle(ta, null);
-
-			// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box
-			var actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;
-
-			// The actual height not matching the style height (set via the resize method) indicates that
-			// the max-height has been exceeded, in which case the overflow should be allowed.
-			if (actualHeight !== styleHeight) {
-				if (computed.overflowY === 'hidden') {
-					changeOverflow('scroll');
-					resize();
-					actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-				}
-			} else {
-				// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.
-				if (computed.overflowY !== 'hidden') {
-					changeOverflow('hidden');
-					resize();
-					actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-				}
-			}
-
-			if (cachedHeight !== actualHeight) {
-				cachedHeight = actualHeight;
-				var evt = createEvent('autosize:resized');
-				try {
-					ta.dispatchEvent(evt);
-				} catch (err) {
-					// Firefox will throw an error on dispatchEvent for a detached element
-					// https://bugzilla.mozilla.org/show_bug.cgi?id=889376
-				}
-			}
-		}
-
-		var pageResize = function pageResize() {
-			if (ta.clientWidth !== clientWidth) {
-				update();
-			}
-		};
-
-		var destroy = (function (style) {
-			window.removeEventListener('resize', pageResize, false);
-			ta.removeEventListener('input', update, false);
-			ta.removeEventListener('keyup', update, false);
-			ta.removeEventListener('autosize:destroy', destroy, false);
-			ta.removeEventListener('autosize:update', update, false);
-
-			Object.keys(style).forEach(function (key) {
-				ta.style[key] = style[key];
-			});
-
-			map['delete'](ta);
-		}).bind(ta, {
-			height: ta.style.height,
-			resize: ta.style.resize,
-			overflowY: ta.style.overflowY,
-			overflowX: ta.style.overflowX,
-			wordWrap: ta.style.wordWrap
-		});
-
-		ta.addEventListener('autosize:destroy', destroy, false);
-
-		// IE9 does not fire onpropertychange or oninput for deletions,
-		// so binding to onkeyup to catch most of those events.
-		// There is no way that I know of to detect something like 'cut' in IE9.
-		if ('onpropertychange' in ta && 'oninput' in ta) {
-			ta.addEventListener('keyup', update, false);
-		}
-
-		window.addEventListener('resize', pageResize, false);
-		ta.addEventListener('input', update, false);
-		ta.addEventListener('autosize:update', update, false);
-		ta.style.overflowX = 'hidden';
-		ta.style.wordWrap = 'break-word';
-
-		map.set(ta, {
-			destroy: destroy,
-			update: update
-		});
-
-		init();
-	}
-
-	function destroy(ta) {
-		var methods = map.get(ta);
-		if (methods) {
-			methods.destroy();
-		}
-	}
-
-	function update(ta) {
-		var methods = map.get(ta);
-		if (methods) {
-			methods.update();
-		}
-	}
-
-	var autosize = null;
-
-	// Do nothing in Node.js environment and IE8 (or lower)
-	if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
-		autosize = function (el) {
-			return el;
-		};
-		autosize.destroy = function (el) {
-			return el;
-		};
-		autosize.update = function (el) {
-			return el;
-		};
-	} else {
-		autosize = function (el, options) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], function (x) {
-					return assign(x, options);
-				});
-			}
-			return el;
-		};
-		autosize.destroy = function (el) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], destroy);
-			}
-			return el;
-		};
-		autosize.update = function (el) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], update);
-			}
-			return el;
-		};
-	}
-
-	module.exports = autosize;
-});
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-exports.default = function (language) {
-  return new _polyglot2.default({
-    phrases: i18nMap[language] || i18nMap.en,
-    locale: language
-  });
-};
-
-var _polyglot = __webpack_require__(138);
-
-var _polyglot2 = _interopRequireDefault(_polyglot);
-
-var _zhCN = __webpack_require__(139);
-
-var _zhCN2 = _interopRequireDefault(_zhCN);
-
-var _zhTW = __webpack_require__(140);
-
-var _zhTW2 = _interopRequireDefault(_zhTW);
-
-var _en = __webpack_require__(141);
-
-var _en2 = _interopRequireDefault(_en);
-
-var _esES = __webpack_require__(142);
-
-var _esES2 = _interopRequireDefault(_esES);
-
-var _fr = __webpack_require__(143);
-
-var _fr2 = _interopRequireDefault(_fr);
-
-var _ru = __webpack_require__(144);
-
-var _ru2 = _interopRequireDefault(_ru);
-
-var _de = __webpack_require__(145);
-
-var _de2 = _interopRequireDefault(_de);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var i18nMap = {
-  'zh': _zhCN2.default,
-  'zh-CN': _zhCN2.default,
-  'zh-TW': _zhTW2.default,
-  'en': _en2.default,
-  'es-ES': _esES2.default,
-  'fr': _fr2.default,
-  'ru': _ru2.default,
-  'de': _de2.default
-};
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//     (c) 2012 Airbnb, Inc.
-//
-//     polyglot.js may be freely distributed under the terms of the BSD
-//     license. For all licensing information, details, and documention:
-//     http://airbnb.github.com/polyglot.js
-//
-//
-// Polyglot.js is an I18n helper library written in JavaScript, made to
-// work both in the browser and in Node. It provides a simple solution for
-// interpolation and pluralization, based off of Airbnb's
-// experience adding I18n functionality to its Backbone.js and Node apps.
-//
-// Polylglot is agnostic to your translation backend. It doesn't perform any
-// translation; it simply gives you a way to manage translated phrases from
-// your client- or server-side JavaScript application.
-//
-
-
-(function(root, factory) {
-  if (true) {
-    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {
-      return factory(root);
-    }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
-				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
-  } else if (typeof exports === 'object') {
-    module.exports = factory(root);
-  } else {
-    root.Polyglot = factory(root);
-  }
-}(this, function(root) {
-  'use strict';
-
-  // ### Polyglot class constructor
-  function Polyglot(options) {
-    options = options || {};
-    this.phrases = {};
-    this.extend(options.phrases || {});
-    this.currentLocale = options.locale || 'en';
-    this.allowMissing = !!options.allowMissing;
-    this.warn = options.warn || warn;
-  }
-
-  // ### Version
-  Polyglot.VERSION = '0.4.3';
-
-  // ### polyglot.locale([locale])
-  //
-  // Get or set locale. Internally, Polyglot only uses locale for pluralization.
-  Polyglot.prototype.locale = function(newLocale) {
-    if (newLocale) this.currentLocale = newLocale;
-    return this.currentLocale;
-  };
-
-  // ### polyglot.extend(phrases)
-  //
-  // Use `extend` to tell Polyglot how to translate a given key.
-  //
-  //     polyglot.extend({
-  //       "hello": "Hello",
-  //       "hello_name": "Hello, %{name}"
-  //     });
-  //
-  // The key can be any string.  Feel free to call `extend` multiple times;
-  // it will override any phrases with the same key, but leave existing phrases
-  // untouched.
-  //
-  // It is also possible to pass nested phrase objects, which get flattened
-  // into an object with the nested keys concatenated using dot notation.
-  //
-  //     polyglot.extend({
-  //       "nav": {
-  //         "hello": "Hello",
-  //         "hello_name": "Hello, %{name}",
-  //         "sidebar": {
-  //           "welcome": "Welcome"
-  //         }
-  //       }
-  //     });
-  //
-  //     console.log(polyglot.phrases);
-  //     // {
-  //     //   'nav.hello': 'Hello',
-  //     //   'nav.hello_name': 'Hello, %{name}',
-  //     //   'nav.sidebar.welcome': 'Welcome'
-  //     // }
-  //
-  // `extend` accepts an optional second argument, `prefix`, which can be used
-  // to prefix every key in the phrases object with some string, using dot
-  // notation.
-  //
-  //     polyglot.extend({
-  //       "hello": "Hello",
-  //       "hello_name": "Hello, %{name}"
-  //     }, "nav");
-  //
-  //     console.log(polyglot.phrases);
-  //     // {
-  //     //   'nav.hello': 'Hello',
-  //     //   'nav.hello_name': 'Hello, %{name}'
-  //     // }
-  //
-  // This feature is used internally to support nested phrase objects.
-  Polyglot.prototype.extend = function(morePhrases, prefix) {
-    var phrase;
-
-    for (var key in morePhrases) {
-      if (morePhrases.hasOwnProperty(key)) {
-        phrase = morePhrases[key];
-        if (prefix) key = prefix + '.' + key;
-        if (typeof phrase === 'object') {
-          this.extend(phrase, key);
-        } else {
-          this.phrases[key] = phrase;
-        }
-      }
-    }
-  };
-
-  // ### polyglot.clear()
-  //
-  // Clears all phrases. Useful for special cases, such as freeing
-  // up memory if you have lots of phrases but no longer need to
-  // perform any translation. Also used internally by `replace`.
-  Polyglot.prototype.clear = function() {
-    this.phrases = {};
-  };
-
-  // ### polyglot.replace(phrases)
-  //
-  // Completely replace the existing phrases with a new set of phrases.
-  // Normally, just use `extend` to add more phrases, but under certain
-  // circumstances, you may want to make sure no old phrases are lying around.
-  Polyglot.prototype.replace = function(newPhrases) {
-    this.clear();
-    this.extend(newPhrases);
-  };
-
-
-  // ### polyglot.t(key, options)
-  //
-  // The most-used method. Provide a key, and `t` will return the
-  // phrase.
-  //
-  //     polyglot.t("hello");
-  //     => "Hello"
-  //
-  // The phrase value is provided first by a call to `polyglot.extend()` or
-  // `polyglot.replace()`.
-  //
-  // Pass in an object as the second argument to perform interpolation.
-  //
-  //     polyglot.t("hello_name", {name: "Spike"});
-  //     => "Hello, Spike"
-  //
-  // If you like, you can provide a default value in case the phrase is missing.
-  // Use the special option key "_" to specify a default.
-  //
-  //     polyglot.t("i_like_to_write_in_language", {
-  //       _: "I like to write in %{language}.",
-  //       language: "JavaScript"
-  //     });
-  //     => "I like to write in JavaScript."
-  //
-  Polyglot.prototype.t = function(key, options) {
-    var phrase, result;
-    options = options == null ? {} : options;
-    // allow number as a pluralization shortcut
-    if (typeof options === 'number') {
-      options = {smart_count: options};
-    }
-    if (typeof this.phrases[key] === 'string') {
-      phrase = this.phrases[key];
-    } else if (typeof options._ === 'string') {
-      phrase = options._;
-    } else if (this.allowMissing) {
-      phrase = key;
-    } else {
-      this.warn('Missing translation for key: "'+key+'"');
-      result = key;
-    }
-    if (typeof phrase === 'string') {
-      options = clone(options);
-      result = choosePluralForm(phrase, this.currentLocale, options.smart_count);
-      result = interpolate(result, options);
-    }
-    return result;
-  };
-
-
-  // ### polyglot.has(key)
-  //
-  // Check if polyglot has a translation for given key
-  Polyglot.prototype.has = function(key) {
-    return key in this.phrases;
-  };
-
-
-  // #### Pluralization methods
-  // The string that separates the different phrase possibilities.
-  var delimeter = '||||';
-
-  // Mapping from pluralization group plural logic.
-  var pluralTypes = {
-    chinese:   function(n) { return 0; },
-    german:    function(n) { return n !== 1 ? 1 : 0; },
-    french:    function(n) { return n > 1 ? 1 : 0; },
-    russian:   function(n) { return n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2; },
-    czech:     function(n) { return (n === 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2; },
-    polish:    function(n) { return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); },
-    icelandic: function(n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }
-  };
-
-  // Mapping from pluralization group to individual locales.
-  var pluralTypeToLanguages = {
-    chinese:   ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],
-    german:    ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],
-    french:    ['fr', 'tl', 'pt-br'],
-    russian:   ['hr', 'ru'],
-    czech:     ['cs'],
-    polish:    ['pl'],
-    icelandic: ['is']
-  };
-
-  function langToTypeMap(mapping) {
-    var type, langs, l, ret = {};
-    for (type in mapping) {
-      if (mapping.hasOwnProperty(type)) {
-        langs = mapping[type];
-        for (l in langs) {
-          ret[langs[l]] = type;
-        }
-      }
-    }
-    return ret;
-  }
-
-  // Trim a string.
-  function trim(str){
-    var trimRe = /^\s+|\s+$/g;
-    return str.replace(trimRe, '');
-  }
-
-  // Based on a phrase text that contains `n` plural forms separated
-  // by `delimeter`, a `locale`, and a `count`, choose the correct
-  // plural form, or none if `count` is `null`.
-  function choosePluralForm(text, locale, count){
-    var ret, texts, chosenText;
-    if (count != null && text) {
-      texts = text.split(delimeter);
-      chosenText = texts[pluralTypeIndex(locale, count)] || texts[0];
-      ret = trim(chosenText);
-    } else {
-      ret = text;
-    }
-    return ret;
-  }
-
-  function pluralTypeName(locale) {
-    var langToPluralType = langToTypeMap(pluralTypeToLanguages);
-    return langToPluralType[locale] || langToPluralType.en;
-  }
-
-  function pluralTypeIndex(locale, count) {
-    return pluralTypes[pluralTypeName(locale)](count);
-  }
-
-  // ### interpolate
-  //
-  // Does the dirty work. Creates a `RegExp` object for each
-  // interpolation placeholder.
-  function interpolate(phrase, options) {
-    for (var arg in options) {
-      if (arg !== '_' && options.hasOwnProperty(arg)) {
-        // We create a new `RegExp` each time instead of using a more-efficient
-        // string replace so that the same argument can be replaced multiple times
-        // in the same phrase.
-        phrase = phrase.replace(new RegExp('%\\{'+arg+'\\}', 'g'), options[arg]);
-      }
-    }
-    return phrase;
-  }
-
-  // ### warn
-  //
-  // Provides a warning in the console if a phrase key is missing.
-  function warn(message) {
-    root.console && root.console.warn && root.console.warn('WARNING: ' + message);
-  }
-
-  // ### clone
-  //
-  // Clone an object.
-  function clone(source) {
-    var ret = {};
-    for (var prop in source) {
-      ret[prop] = source[prop];
-    }
-    return ret;
-  }
-
-  return Polyglot;
-}));
-
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalk 加载中 ...","no-found-related":"未找到相关的 %{link} 进行评论","please-contact":"请联系 %{user} 初始化创建","init-issue":"初始化 Issue","leave-a-comment":"说点什么","preview":"预览","edit":"编辑","comment":"评论","support-markdown":"支持 Markdown 语法","login-with-github":"使用 GitHub 登录","first-comment-person":"来做第一个留言的人吧！","commented":"发表于","load-more":"加载更多","counts":"%{counts} 条评论","sort-asc":"从旧到新排序","sort-desc":"从新到旧排序","logout":"注销","anonymous":"未登录用户"}
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalk 載入中…","no-found-related":"未找到相關的 %{link}","please-contact":"請聯絡 %{user} 初始化評論","init-issue":"初始化 Issue","leave-a-comment":"寫點什麼","preview":"預覽","edit":"編輯","comment":"評論","support-markdown":"支援 Markdown 語法","login-with-github":"使用 GitHub 登入","first-comment-person":"成為首個留言的人吧！","commented":"評論於","load-more":"載入更多","counts":"%{counts} 筆評論","sort-asc":"從舊至新排序","sort-desc":"從新至舊排序","logout":"登出","anonymous":"訪客"}
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Related %{link} not found","please-contact":"Please contact %{user} to initialize the comment","init-issue":"Init Issue","leave-a-comment":"Leave a comment","preview":"Preview","edit":"Edit","comment":"Comment","support-markdown":"Markdown is supported","login-with-github":"Login with GitHub","first-comment-person":"Be the first person to leave a comment!","commented":"commented","load-more":"Load more","counts":"%{counts} comment |||| %{counts} comments","sort-asc":"Sort by Oldest","sort-desc":"Sort by Latest","logout":"Logout","anonymous":"Anonymous"}
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Link %{link} no encontrado","please-contact":"Por favor contacta con %{user} para inicializar el comentario","init-issue":"Iniciar Issue","leave-a-comment":"Deja un comentario","preview":"Avance","edit":"Editar","comment":"Comentario","support-markdown":"Markdown es soportado","login-with-github":"Entrar con GitHub","first-comment-person":"Sé el primero en dejar un comentario!","commented":"comentó","load-more":"Cargar más","counts":"%{counts} comentario |||| %{counts} comentarios","sort-asc":"Ordenar por Antiguos","sort-desc":"Ordenar por Recientes","logout":"Salir","anonymous":"Anónimo"}
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Lien %{link} non trouvé","please-contact":"S’il vous plaît contactez %{user} pour initialiser les commentaires","init-issue":"Initialisation des issues","leave-a-comment":"Laisser un commentaire","preview":"Aperçu","edit":"Modifier","comment":"Commentaire","support-markdown":"Markdown est supporté","login-with-github":"Se connecter avec GitHub","first-comment-person":"Être le premier à laisser un commentaire !","commented":"commenter","load-more":"Charger plus","counts":"%{counts} commentaire |||| %{counts} commentaires","sort-asc":"Trier par plus ancien","sort-desc":"Trier par plus récent","logout":"Déconnexion","anonymous":"Anonyme"}
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Связанные %{link} не найдены","please-contact":"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий","init-issue":"Выпуск инициализации","leave-a-comment":"Оставить комментарий","preview":"Предварительный просмотр","edit":"Pедактировать","comment":"Комментарий","support-markdown":"Поддерживается Markdown","login-with-github":"Вход через GitHub","first-comment-person":"Будьте первым, кто оставил комментарий","commented":"прокомментированный","load-more":"Загрузить ещё","counts":"%{counts} комментарий |||| %{counts} комментарьев","sort-asc":"Сортировать по старым","sort-desc":"Сортировать по последним","logout":"Выход","anonymous":"Анонимный"}
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Zugehöriger %{link} nicht gefunden","please-contact":"Bitte kontaktiere %{user} um den Kommentar zu initialisieren","init-issue":"Initialisiere Issue","leave-a-comment":"Hinterlasse einen Kommentar","preview":"Vorschau","edit":"Editieren","comment":"Kommentieren","support-markdown":"Markdown wird unterstützt","login-with-github":"Mit GitHub-Account anmelden","first-comment-person":"Sei die erste Person, welche einen Kommentar hinterlässt!","commented":"kommentierte","load-more":"Zeige mehr","counts":"%{counts} Kommentar |||| %{counts} Kommentare","sort-asc":"Älteste zuerst","sort-desc":"Neuste zuerst","logout":"Abmelden","anonymous":"Anonym"}
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(148), __esModule: true };
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(149);
-module.exports = __webpack_require__(0).Object.keys;
-
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.14 Object.keys(O)
-var toObject = __webpack_require__(16);
-var $keys = __webpack_require__(21);
-
-__webpack_require__(60)('keys', function () {
-  return function keys(it) {
-    return $keys(toObject(it));
-  };
-});
-
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _isIterable2 = __webpack_require__(151);
-
-var _isIterable3 = _interopRequireDefault(_isIterable2);
-
-var _getIterator2 = __webpack_require__(154);
-
-var _getIterator3 = _interopRequireDefault(_getIterator2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function () {
-  function sliceIterator(arr, i) {
-    var _arr = [];
-    var _n = true;
-    var _d = false;
-    var _e = undefined;
-
-    try {
-      for (var _i = (0, _getIterator3.default)(arr), _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"]) _i["return"]();
-      } finally {
-        if (_d) throw _e;
-      }
-    }
-
-    return _arr;
-  }
-
-  return function (arr, i) {
-    if (Array.isArray(arr)) {
-      return arr;
-    } else if ((0, _isIterable3.default)(Object(arr))) {
-      return sliceIterator(arr, i);
-    } else {
-      throw new TypeError("Invalid attempt to destructure non-iterable instance");
-    }
-  };
-}();
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(152), __esModule: true };
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(26);
-__webpack_require__(18);
-module.exports = __webpack_require__(153);
-
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var classof = __webpack_require__(37);
-var ITERATOR = __webpack_require__(2)('iterator');
-var Iterators = __webpack_require__(14);
-module.exports = __webpack_require__(0).isIterable = function (it) {
-  var O = Object(it);
-  return O[ITERATOR] !== undefined
-    || '@@iterator' in O
-    // eslint-disable-next-line no-prototype-builtins
-    || Iterators.hasOwnProperty(classof(O));
-};
-
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(155), __esModule: true };
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(26);
-__webpack_require__(18);
-module.exports = __webpack_require__(156);
-
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(5);
-var get = __webpack_require__(38);
-module.exports = __webpack_require__(0).getIterator = function (it) {
-  var iterFn = get(it);
-  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
-  return anObject(iterFn.call(it));
-};
-
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(158);
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var bind = __webpack_require__(70);
-var Axios = __webpack_require__(159);
-var mergeConfig = __webpack_require__(76);
-var defaults = __webpack_require__(73);
-
-/**
- * Create an instance of Axios
- *
- * @param {Object} defaultConfig The default config for the instance
- * @return {Axios} A new instance of Axios
- */
-function createInstance(defaultConfig) {
-  var context = new Axios(defaultConfig);
-  var instance = bind(Axios.prototype.request, context);
-
-  // Copy axios.prototype to instance
-  utils.extend(instance, Axios.prototype, context);
-
-  // Copy context to instance
-  utils.extend(instance, context);
-
-  return instance;
-}
-
-// Create the default instance to be exported
-var axios = createInstance(defaults);
-
-// Expose Axios class to allow class inheritance
-axios.Axios = Axios;
-
-// Factory for creating new instances
-axios.create = function create(instanceConfig) {
-  return createInstance(mergeConfig(axios.defaults, instanceConfig));
-};
-
-// Expose Cancel & CancelToken
-axios.Cancel = __webpack_require__(77);
-axios.CancelToken = __webpack_require__(172);
-axios.isCancel = __webpack_require__(72);
-
-// Expose all/spread
-axios.all = function all(promises) {
-  return Promise.all(promises);
-};
-axios.spread = __webpack_require__(173);
-
-module.exports = axios;
-
-// Allow use of default import syntax in TypeScript
-module.exports.default = axios;
-
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var buildURL = __webpack_require__(71);
-var InterceptorManager = __webpack_require__(160);
-var dispatchRequest = __webpack_require__(161);
-var mergeConfig = __webpack_require__(76);
-
-/**
- * Create a new instance of Axios
- *
- * @param {Object} instanceConfig The default config for the instance
- */
-function Axios(instanceConfig) {
-  this.defaults = instanceConfig;
-  this.interceptors = {
-    request: new InterceptorManager(),
-    response: new InterceptorManager()
-  };
-}
-
-/**
- * Dispatch a request
- *
- * @param {Object} config The config specific for this request (merged with this.defaults)
- */
-Axios.prototype.request = function request(config) {
-  /*eslint no-param-reassign:0*/
-  // Allow for axios('example/url'[, config]) a la fetch API
-  if (typeof config === 'string') {
-    config = arguments[1] || {};
-    config.url = arguments[0];
-  } else {
-    config = config || {};
-  }
-
-  config = mergeConfig(this.defaults, config);
-
-  // Set config.method
-  if (config.method) {
-    config.method = config.method.toLowerCase();
-  } else if (this.defaults.method) {
-    config.method = this.defaults.method.toLowerCase();
-  } else {
-    config.method = 'get';
-  }
-
-  // Hook up interceptors middleware
-  var chain = [dispatchRequest, undefined];
-  var promise = Promise.resolve(config);
-
-  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
-    chain.unshift(interceptor.fulfilled, interceptor.rejected);
-  });
-
-  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
-    chain.push(interceptor.fulfilled, interceptor.rejected);
-  });
-
-  while (chain.length) {
-    promise = promise.then(chain.shift(), chain.shift());
-  }
-
-  return promise;
-};
-
-Axios.prototype.getUri = function getUri(config) {
-  config = mergeConfig(this.defaults, config);
-  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
-};
-
-// Provide aliases for supported request methods
-utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
-  /*eslint func-names:0*/
-  Axios.prototype[method] = function(url, config) {
-    return this.request(utils.merge(config || {}, {
-      method: method,
-      url: url
-    }));
-  };
-});
-
-utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
-  /*eslint func-names:0*/
-  Axios.prototype[method] = function(url, data, config) {
-    return this.request(utils.merge(config || {}, {
-      method: method,
-      url: url,
-      data: data
-    }));
-  };
-});
-
-module.exports = Axios;
-
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-function InterceptorManager() {
-  this.handlers = [];
-}
-
-/**
- * Add a new interceptor to the stack
- *
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
- * @param {Function} rejected The function to handle `reject` for a `Promise`
- *
- * @return {Number} An ID used to remove interceptor later
- */
-InterceptorManager.prototype.use = function use(fulfilled, rejected) {
-  this.handlers.push({
-    fulfilled: fulfilled,
-    rejected: rejected
-  });
-  return this.handlers.length - 1;
-};
-
-/**
- * Remove an interceptor from the stack
- *
- * @param {Number} id The ID that was returned by `use`
- */
-InterceptorManager.prototype.eject = function eject(id) {
-  if (this.handlers[id]) {
-    this.handlers[id] = null;
-  }
-};
-
-/**
- * Iterate over all the registered interceptors
- *
- * This method is particularly useful for skipping over any
- * interceptors that may have become `null` calling `eject`.
- *
- * @param {Function} fn The function to call for each interceptor
- */
-InterceptorManager.prototype.forEach = function forEach(fn) {
-  utils.forEach(this.handlers, function forEachHandler(h) {
-    if (h !== null) {
-      fn(h);
-    }
-  });
-};
-
-module.exports = InterceptorManager;
-
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var transformData = __webpack_require__(162);
-var isCancel = __webpack_require__(72);
-var defaults = __webpack_require__(73);
-
-/**
- * Throws a `Cancel` if cancellation has been requested.
- */
-function throwIfCancellationRequested(config) {
-  if (config.cancelToken) {
-    config.cancelToken.throwIfRequested();
-  }
-}
-
-/**
- * Dispatch a request to the server using the configured adapter.
- *
- * @param {object} config The config that is to be used for the request
- * @returns {Promise} The Promise to be fulfilled
- */
-module.exports = function dispatchRequest(config) {
-  throwIfCancellationRequested(config);
-
-  // Ensure headers exist
-  config.headers = config.headers || {};
-
-  // Transform request data
-  config.data = transformData(
-    config.data,
-    config.headers,
-    config.transformRequest
-  );
-
-  // Flatten headers
-  config.headers = utils.merge(
-    config.headers.common || {},
-    config.headers[config.method] || {},
-    config.headers
-  );
-
-  utils.forEach(
-    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
-    function cleanHeaderConfig(method) {
-      delete config.headers[method];
-    }
-  );
-
-  var adapter = config.adapter || defaults.adapter;
-
-  return adapter(config).then(function onAdapterResolution(response) {
-    throwIfCancellationRequested(config);
-
-    // Transform response data
-    response.data = transformData(
-      response.data,
-      response.headers,
-      config.transformResponse
-    );
-
-    return response;
-  }, function onAdapterRejection(reason) {
-    if (!isCancel(reason)) {
-      throwIfCancellationRequested(config);
-
-      // Transform response data
-      if (reason && reason.response) {
-        reason.response.data = transformData(
-          reason.response.data,
-          reason.response.headers,
-          config.transformResponse
-        );
-      }
-    }
-
-    return Promise.reject(reason);
-  });
-};
-
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-/**
- * Transform the data for a request or a response
- *
- * @param {Object|String} data The data to be transformed
- * @param {Array} headers The headers for the request or response
- * @param {Array|Function} fns A single function or Array of functions
- * @returns {*} The resulting transformed data
- */
-module.exports = function transformData(data, headers, fns) {
-  /*eslint no-param-reassign:0*/
-  utils.forEach(fns, function transform(fn) {
-    data = fn(data, headers);
-  });
-
-  return data;
-};
-
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-module.exports = function normalizeHeaderName(headers, normalizedName) {
-  utils.forEach(headers, function processHeader(value, name) {
-    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
-      headers[normalizedName] = value;
-      delete headers[name];
-    }
-  });
-};
-
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var createError = __webpack_require__(75);
-
-/**
- * Resolve or reject a Promise based on response status.
- *
- * @param {Function} resolve A function that resolves the promise.
- * @param {Function} reject A function that rejects the promise.
- * @param {object} response The response.
- */
-module.exports = function settle(resolve, reject, response) {
-  var validateStatus = response.config.validateStatus;
-  if (!validateStatus || validateStatus(response.status)) {
-    resolve(response);
-  } else {
-    reject(createError(
-      'Request failed with status code ' + response.status,
-      response.config,
-      null,
-      response.request,
-      response
-    ));
-  }
-};
-
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Update an Error with the specified config, error code, and response.
- *
- * @param {Error} error The error to update.
- * @param {Object} config The config.
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
- * @param {Object} [request] The request.
- * @param {Object} [response] The response.
- * @returns {Error} The error.
- */
-module.exports = function enhanceError(error, config, code, request, response) {
-  error.config = config;
-  if (code) {
-    error.code = code;
-  }
-
-  error.request = request;
-  error.response = response;
-  error.isAxiosError = true;
-
-  error.toJSON = function() {
-    return {
-      // Standard
-      message: this.message,
-      name: this.name,
-      // Microsoft
-      description: this.description,
-      number: this.number,
-      // Mozilla
-      fileName: this.fileName,
-      lineNumber: this.lineNumber,
-      columnNumber: this.columnNumber,
-      stack: this.stack,
-      // Axios
-      config: this.config,
-      code: this.code
-    };
-  };
-  return error;
-};
-
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var isAbsoluteURL = __webpack_require__(167);
-var combineURLs = __webpack_require__(168);
-
-/**
- * Creates a new URL by combining the baseURL with the requestedURL,
- * only when the requestedURL is not already an absolute URL.
- * If the requestURL is absolute, this function returns the requestedURL untouched.
- *
- * @param {string} baseURL The base URL
- * @param {string} requestedURL Absolute or relative URL to combine
- * @returns {string} The combined full path
- */
-module.exports = function buildFullPath(baseURL, requestedURL) {
-  if (baseURL && !isAbsoluteURL(requestedURL)) {
-    return combineURLs(baseURL, requestedURL);
-  }
-  return requestedURL;
-};
-
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Determines whether the specified URL is absolute
- *
- * @param {string} url The URL to test
- * @returns {boolean} True if the specified URL is absolute, otherwise false
- */
-module.exports = function isAbsoluteURL(url) {
-  // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
-  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
-  // by any combination of letters, digits, plus, period, or hyphen.
-  return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
-};
-
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Creates a new URL by combining the specified URLs
- *
- * @param {string} baseURL The base URL
- * @param {string} relativeURL The relative URL
- * @returns {string} The combined URL
- */
-module.exports = function combineURLs(baseURL, relativeURL) {
-  return relativeURL
-    ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
-    : baseURL;
-};
-
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-// Headers whose duplicates are ignored by node
-// c.f. https://nodejs.org/api/http.html#http_message_headers
-var ignoreDuplicateOf = [
-  'age', 'authorization', 'content-length', 'content-type', 'etag',
-  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
-  'last-modified', 'location', 'max-forwards', 'proxy-authorization',
-  'referer', 'retry-after', 'user-agent'
-];
-
-/**
- * Parse headers into an object
- *
- * ```
- * Date: Wed, 27 Aug 2014 08:58:49 GMT
- * Content-Type: application/json
- * Connection: keep-alive
- * Transfer-Encoding: chunked
- * ```
- *
- * @param {String} headers Headers needing to be parsed
- * @returns {Object} Headers parsed into an object
- */
-module.exports = function parseHeaders(headers) {
-  var parsed = {};
-  var key;
-  var val;
-  var i;
-
-  if (!headers) { return parsed; }
-
-  utils.forEach(headers.split('\n'), function parser(line) {
-    i = line.indexOf(':');
-    key = utils.trim(line.substr(0, i)).toLowerCase();
-    val = utils.trim(line.substr(i + 1));
-
-    if (key) {
-      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
-        return;
-      }
-      if (key === 'set-cookie') {
-        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
-      } else {
-        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
-      }
-    }
-  });
-
-  return parsed;
-};
-
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-module.exports = (
-  utils.isStandardBrowserEnv() ?
-
-  // Standard browser envs have full support of the APIs needed to test
-  // whether the request URL is of the same origin as current location.
-    (function standardBrowserEnv() {
-      var msie = /(msie|trident)/i.test(navigator.userAgent);
-      var urlParsingNode = document.createElement('a');
-      var originURL;
-
-      /**
-    * Parse a URL to discover it's components
-    *
-    * @param {String} url The URL to be parsed
-    * @returns {Object}
-    */
-      function resolveURL(url) {
-        var href = url;
-
-        if (msie) {
-        // IE needs attribute set twice to normalize properties
-          urlParsingNode.setAttribute('href', href);
-          href = urlParsingNode.href;
-        }
-
-        urlParsingNode.setAttribute('href', href);
-
-        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
-        return {
-          href: urlParsingNode.href,
-          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
-          host: urlParsingNode.host,
-          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
-          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
-          hostname: urlParsingNode.hostname,
-          port: urlParsingNode.port,
-          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
-            urlParsingNode.pathname :
-            '/' + urlParsingNode.pathname
-        };
-      }
-
-      originURL = resolveURL(window.location.href);
-
-      /**
-    * Determine if a URL shares the same origin as the current location
-    *
-    * @param {String} requestURL The URL to test
-    * @returns {boolean} True if URL shares the same origin, otherwise false
-    */
-      return function isURLSameOrigin(requestURL) {
-        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
-        return (parsed.protocol === originURL.protocol &&
-            parsed.host === originURL.host);
-      };
-    })() :
-
-  // Non standard browser envs (web workers, react-native) lack needed support.
-    (function nonStandardBrowserEnv() {
-      return function isURLSameOrigin() {
-        return true;
-      };
-    })()
-);
-
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-module.exports = (
-  utils.isStandardBrowserEnv() ?
-
-  // Standard browser envs support document.cookie
-    (function standardBrowserEnv() {
-      return {
-        write: function write(name, value, expires, path, domain, secure) {
-          var cookie = [];
-          cookie.push(name + '=' + encodeURIComponent(value));
-
-          if (utils.isNumber(expires)) {
-            cookie.push('expires=' + new Date(expires).toGMTString());
-          }
-
-          if (utils.isString(path)) {
-            cookie.push('path=' + path);
-          }
-
-          if (utils.isString(domain)) {
-            cookie.push('domain=' + domain);
-          }
-
-          if (secure === true) {
-            cookie.push('secure');
-          }
-
-          document.cookie = cookie.join('; ');
-        },
-
-        read: function read(name) {
-          var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
-          return (match ? decodeURIComponent(match[3]) : null);
-        },
-
-        remove: function remove(name) {
-          this.write(name, '', Date.now() - 86400000);
-        }
-      };
-    })() :
-
-  // Non standard browser env (web workers, react-native) lack needed support.
-    (function nonStandardBrowserEnv() {
-      return {
-        write: function write() {},
-        read: function read() { return null; },
-        remove: function remove() {}
-      };
-    })()
-);
-
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var Cancel = __webpack_require__(77);
-
-/**
- * A `CancelToken` is an object that can be used to request cancellation of an operation.
- *
- * @class
- * @param {Function} executor The executor function.
- */
-function CancelToken(executor) {
-  if (typeof executor !== 'function') {
-    throw new TypeError('executor must be a function.');
-  }
-
-  var resolvePromise;
-  this.promise = new Promise(function promiseExecutor(resolve) {
-    resolvePromise = resolve;
-  });
-
-  var token = this;
-  executor(function cancel(message) {
-    if (token.reason) {
-      // Cancellation has already been requested
-      return;
-    }
-
-    token.reason = new Cancel(message);
-    resolvePromise(token.reason);
-  });
-}
-
-/**
- * Throws a `Cancel` if cancellation has been requested.
- */
-CancelToken.prototype.throwIfRequested = function throwIfRequested() {
-  if (this.reason) {
-    throw this.reason;
-  }
-};
-
-/**
- * Returns an object that contains a new `CancelToken` and a function that, when called,
- * cancels the `CancelToken`.
- */
-CancelToken.source = function source() {
-  var cancel;
-  var token = new CancelToken(function executor(c) {
-    cancel = c;
-  });
-  return {
-    token: token,
-    cancel: cancel
-  };
-};
-
-module.exports = CancelToken;
-
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Syntactic sugar for invoking a function and expanding an array for arguments.
- *
- * Common use case would be to use `Function.prototype.apply`.
- *
- *  ```js
- *  function f(x, y, z) {}
- *  var args = [1, 2, 3];
- *  f.apply(null, args);
- *  ```
- *
- * With `spread` this example can be re-written.
- *
- *  ```js
- *  spread(function(x, y, z) {})([1, 2, 3]);
- *  ```
- *
- * @param {Function} callback
- * @returns {Function}
- */
-module.exports = function spread(callback) {
-  return function wrap(arr) {
-    return callback.apply(null, arr);
-  };
-};
-
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var className = _ref.className,
-      getRef = _ref.getRef,
-      onClick = _ref.onClick,
-      onMouseDown = _ref.onMouseDown,
-      text = _ref.text,
-      isLoading = _ref.isLoading;
-  return _react2.default.createElement(
-    "button",
-    {
-      ref: function ref(el) {
-        return getRef && getRef(el);
-      },
-      className: "gt-btn " + className,
-      onClick: onClick,
-      onMouseDown: onMouseDown },
-    _react2.default.createElement(
-      "span",
-      { className: "gt-btn-text" },
-      text
-    ),
-    isLoading && _react2.default.createElement("span", { className: "gt-btn-loading gt-spinner" })
-  );
-};
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var className = _ref.className,
-      onClick = _ref.onClick,
-      text = _ref.text;
-  return _react2.default.createElement(
-    "a",
-    { className: "gt-action " + className, onClick: onClick },
-    _react2.default.createElement(
-      "span",
-      { className: "gt-action-text" },
-      text
-    )
-  );
-};
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _getPrototypeOf = __webpack_require__(59);
-
-var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
-
-var _classCallCheck2 = __webpack_require__(61);
-
-var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
-
-var _createClass2 = __webpack_require__(62);
-
-var _createClass3 = _interopRequireDefault(_createClass2);
-
-var _possibleConstructorReturn2 = __webpack_require__(63);
-
-var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
-
-var _inherits2 = __webpack_require__(67);
-
-var _inherits3 = _interopRequireDefault(_inherits2);
-
-var _react = __webpack_require__(9);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _avatar = __webpack_require__(78);
-
-var _avatar2 = _interopRequireDefault(_avatar);
-
-var _svg = __webpack_require__(79);
-
-var _svg2 = _interopRequireDefault(_svg);
-
-var _distance_in_words_to_now = __webpack_require__(185);
-
-var _distance_in_words_to_now2 = _interopRequireDefault(_distance_in_words_to_now);
-
-var _index = __webpack_require__(198);
-
-var _index2 = _interopRequireDefault(_index);
-
-var _index3 = __webpack_require__(199);
-
-var _index4 = _interopRequireDefault(_index3);
-
-var _index5 = __webpack_require__(200);
-
-var _index6 = _interopRequireDefault(_index5);
-
-var _index7 = __webpack_require__(201);
-
-var _index8 = _interopRequireDefault(_index7);
-
-var _index9 = __webpack_require__(202);
-
-var _index10 = _interopRequireDefault(_index9);
-
-__webpack_require__(203);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var ZHCN = (0, _index2.default)();
-var ZHTW = (0, _index4.default)();
-var ES = (0, _index6.default)();
-var FR = (0, _index8.default)();
-var RU = (0, _index10.default)();
-
-if (typeof window !== 'undefined') {
-  window.GT_i18n_distanceInWordsLocaleMap = {
-    zh: ZHCN,
-    'zh-CN': ZHCN,
-    'zh-TW': ZHTW,
-    'es-ES': ES,
-    fr: FR,
-    ru: RU
-  };
-}
-
-var Comment = function (_Component) {
-  (0, _inherits3.default)(Comment, _Component);
-
-  function Comment() {
-    (0, _classCallCheck3.default)(this, Comment);
-    return (0, _possibleConstructorReturn3.default)(this, (Comment.__proto__ || (0, _getPrototypeOf2.default)(Comment)).apply(this, arguments));
-  }
-
-  (0, _createClass3.default)(Comment, [{
-    key: 'shouldComponentUpdate',
-    value: function shouldComponentUpdate() {
-      return false;
-    }
-  }, {
-    key: 'componentDidMount',
-    value: function componentDidMount() {
-      var comment = this.node;
-      var emailResponse = comment.querySelector('.email-hidden-toggle>a');
-      if (emailResponse) {
-        emailResponse.addEventListener('click', function (e) {
-          e.preventDefault();
-          comment.querySelector('.email-hidden-reply').classList.toggle('expanded');
-        }, true);
-      }
-    }
-  }, {
-    key: 'handleImageErrored',
-    value: function handleImageErrored(obj) {
-      obj.target.src = "https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg";
-    }
-  }, {
-    key: 'render',
-    value: function render() {
-      var _this2 = this;
-
-      var _props = this.props,
-          comment = _props.comment,
-          user = _props.user,
-          language = _props.language,
-          _props$commentedText = _props.commentedText,
-          commentedText = _props$commentedText === undefined ? '' : _props$commentedText,
-          _props$admin = _props.admin,
-          admin = _props$admin === undefined ? [] : _props$admin,
-          replyCallback = _props.replyCallback,
-          likeCallback = _props.likeCallback;
-
-      var enableEdit = user && comment.user.login === user.login;
-      var isAdmin = ~[].concat(admin).map(function (a) {
-        return a.toLowerCase();
-      }).indexOf(comment.user.login.toLowerCase());
-      var reactions = comment.reactions;
-
-      var reactionTotalCount = '';
-      if (reactions && reactions.totalCount) {
-        reactionTotalCount = reactions.totalCount;
-        if (reactions.totalCount === 100 && reactions.pageInfo && reactions.pageInfo.hasNextPage) {
-          reactionTotalCount = '100+';
-        }
-      }
-
-      return _react2.default.createElement(
-        'div',
-        { ref: function ref(node) {
-            _this2.node = node;
-          }, className: 'gt-comment ' + (isAdmin ? 'gt-comment-admin' : '') },
-        _react2.default.createElement(_avatar2.default, {
-          className: 'gt-comment-avatar',
-          src: comment.user && comment.user.avatar_url,
-          alt: comment.user && comment.user.login,
-          onError: this.handleImageErrored.bind(this)
-        }),
-        _react2.default.createElement(
-          'div',
-          { className: 'gt-comment-content' },
-          _react2.default.createElement(
-            'div',
-            { className: 'gt-comment-header' },
-            _react2.default.createElement('div', { className: 'gt-comment-block-' + (user ? '2' : '1') }),
-            _react2.default.createElement(
-              'a',
-              {
-                className: 'gt-comment-username',
-                href: comment.user && comment.user.html_url
-              },
-              comment.user && comment.user.login
-            ),
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-comment-text' },
-              commentedText
-            ),
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-comment-date' },
-              (0, _distance_in_words_to_now2.default)(comment.created_at, {
-                addSuffix: true,
-                locale: {
-                  distanceInWords: window.GT_i18n_distanceInWordsLocaleMap[language]
-                }
-              })
-            ),
-            reactions && _react2.default.createElement(
-              'a',
-              { className: 'gt-comment-like', title: 'Like', onClick: likeCallback },
-              reactions.viewerHasReacted ? _react2.default.createElement(_svg2.default, {
-                className: 'gt-ico-heart',
-                name: 'heart_on',
-                text: reactionTotalCount
-              }) : _react2.default.createElement(_svg2.default, {
-                className: 'gt-ico-heart',
-                name: 'heart',
-                text: reactionTotalCount
-              })
-            ),
-            enableEdit ? _react2.default.createElement(
-              'a',
-              {
-                href: comment.html_url,
-                className: 'gt-comment-edit',
-                title: 'Edit',
-                target: '_blank'
-              },
-              _react2.default.createElement(_svg2.default, { className: 'gt-ico-edit', name: 'edit' })
-            ) : _react2.default.createElement(
-              'a',
-              { className: 'gt-comment-reply', title: 'Reply', onClick: replyCallback },
-              _react2.default.createElement(_svg2.default, { className: 'gt-ico-reply', name: 'reply' })
-            )
-          ),
-          _react2.default.createElement('div', {
-            className: 'gt-comment-body markdown-body',
-            dangerouslySetInnerHTML: {
-              __html: comment.body_html
-            }
-          })
-        )
-      );
-    }
-  }]);
-  return Comment;
-}(_react.Component);
-
-exports.default = Comment;
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var map = {
-	"./arrow_down.svg": 178,
-	"./edit.svg": 179,
-	"./github.svg": 180,
-	"./heart.svg": 181,
-	"./heart_on.svg": 182,
-	"./reply.svg": 183,
-	"./tip.svg": 184
-};
-function webpackContext(req) {
-	return __webpack_require__(webpackContextResolve(req));
-};
-function webpackContextResolve(req) {
-	var id = map[req];
-	if(!(id + 1)) // check for number or string
-		throw new Error("Cannot find module '" + req + "'.");
-	return id;
-};
-webpackContext.keys = function webpackContextKeys() {
-	return Object.keys(map);
-};
-webpackContext.resolve = webpackContextResolve;
-module.exports = webpackContext;
-webpackContext.id = 177;
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1619\"><path d=\"M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z\" p-id=\"1620\"></path></svg>"
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <path d=\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg t=\"1512463363724\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <path d=\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1332 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666\"></path>\n</svg>\n"
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z\"\n    p-id=\"3083\"></path>\n  <path d=\"M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z\"\n    p-id=\"3084\"></path>\n  <path d=\"M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z\"\n    p-id=\"3085\"></path>\n</svg>\n"
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var distanceInWords = __webpack_require__(186)
-
-/**
- * @category Common Helpers
- * @summary Return the distance between the given date and now in words.
- *
- * @description
- * Return the distance between the given date and now in words.
- *
- * | Distance to now                                                   | Result              |
- * |-------------------------------------------------------------------|---------------------|
- * | 0 ... 30 secs                                                     | less than a minute  |
- * | 30 secs ... 1 min 30 secs                                         | 1 minute            |
- * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |
- * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |
- * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |
- * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |
- * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |
- * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |
- * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |
- * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |
- * | 1 yr ... 1 yr 3 months                                            | about 1 year        |
- * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |
- * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |
- * | N yrs ... N yrs 3 months                                          | about N years       |
- * | N yrs 3 months ... N yrs 9 months                                 | over N years        |
- * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |
- *
- * With `options.includeSeconds == true`:
- * | Distance to now     | Result               |
- * |---------------------|----------------------|
- * | 0 secs ... 5 secs   | less than 5 seconds  |
- * | 5 secs ... 10 secs  | less than 10 seconds |
- * | 10 secs ... 20 secs | less than 20 seconds |
- * | 20 secs ... 40 secs | half a minute        |
- * | 40 secs ... 60 secs | less than a minute   |
- * | 60 secs ... 90 secs | 1 minute             |
- *
- * @param {Date|String|Number} date - the given date
- * @param {Object} [options] - the object with options
- * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed
- * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first
- * @param {Object} [options.locale=enLocale] - the locale object
- * @returns {String} the distance in words
- *
- * @example
- * // If today is 1 January 2015, what is the distance to 2 July 2014?
- * var result = distanceInWordsToNow(
- *   new Date(2014, 6, 2)
- * )
- * //=> '6 months'
- *
- * @example
- * // If now is 1 January 2015 00:00:00,
- * // what is the distance to 1 January 2015 00:00:15, including seconds?
- * var result = distanceInWordsToNow(
- *   new Date(2015, 0, 1, 0, 0, 15),
- *   {includeSeconds: true}
- * )
- * //=> 'less than 20 seconds'
- *
- * @example
- * // If today is 1 January 2015,
- * // what is the distance to 1 January 2016, with a suffix?
- * var result = distanceInWordsToNow(
- *   new Date(2016, 0, 1),
- *   {addSuffix: true}
- * )
- * //=> 'in about 1 year'
- *
- * @example
- * // If today is 1 January 2015,
- * // what is the distance to 1 August 2016 in Esperanto?
- * var eoLocale = require('date-fns/locale/eo')
- * var result = distanceInWordsToNow(
- *   new Date(2016, 7, 1),
- *   {locale: eoLocale}
- * )
- * //=> 'pli ol 1 jaro'
- */
-function distanceInWordsToNow (dirtyDate, dirtyOptions) {
-  return distanceInWords(Date.now(), dirtyDate, dirtyOptions)
-}
-
-module.exports = distanceInWordsToNow
-
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var compareDesc = __webpack_require__(187)
-var parse = __webpack_require__(17)
-var differenceInSeconds = __webpack_require__(189)
-var differenceInMonths = __webpack_require__(191)
-var enLocale = __webpack_require__(194)
-
-var MINUTES_IN_DAY = 1440
-var MINUTES_IN_ALMOST_TWO_DAYS = 2520
-var MINUTES_IN_MONTH = 43200
-var MINUTES_IN_TWO_MONTHS = 86400
-
-/**
- * @category Common Helpers
- * @summary Return the distance between the given dates in words.
- *
- * @description
- * Return the distance between the given dates in words.
- *
- * | Distance between dates                                            | Result              |
- * |-------------------------------------------------------------------|---------------------|
- * | 0 ... 30 secs                                                     | less than a minute  |
- * | 30 secs ... 1 min 30 secs                                         | 1 minute            |
- * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |
- * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |
- * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |
- * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |
- * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |
- * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |
- * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |
- * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |
- * | 1 yr ... 1 yr 3 months                                            | about 1 year        |
- * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |
- * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |
- * | N yrs ... N yrs 3 months                                          | about N years       |
- * | N yrs 3 months ... N yrs 9 months                                 | over N years        |
- * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |
- *
- * With `options.includeSeconds == true`:
- * | Distance between dates | Result               |
- * |------------------------|----------------------|
- * | 0 secs ... 5 secs      | less than 5 seconds  |
- * | 5 secs ... 10 secs     | less than 10 seconds |
- * | 10 secs ... 20 secs    | less than 20 seconds |
- * | 20 secs ... 40 secs    | half a minute        |
- * | 40 secs ... 60 secs    | less than a minute   |
- * | 60 secs ... 90 secs    | 1 minute             |
- *
- * @param {Date|String|Number} dateToCompare - the date to compare with
- * @param {Date|String|Number} date - the other date
- * @param {Object} [options] - the object with options
- * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed
- * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first
- * @param {Object} [options.locale=enLocale] - the locale object
- * @returns {String} the distance in words
- *
- * @example
- * // What is the distance between 2 July 2014 and 1 January 2015?
- * var result = distanceInWords(
- *   new Date(2014, 6, 2),
- *   new Date(2015, 0, 1)
- * )
- * //=> '6 months'
- *
- * @example
- * // What is the distance between 1 January 2015 00:00:15
- * // and 1 January 2015 00:00:00, including seconds?
- * var result = distanceInWords(
- *   new Date(2015, 0, 1, 0, 0, 15),
- *   new Date(2015, 0, 1, 0, 0, 0),
- *   {includeSeconds: true}
- * )
- * //=> 'less than 20 seconds'
- *
- * @example
- * // What is the distance from 1 January 2016
- * // to 1 January 2015, with a suffix?
- * var result = distanceInWords(
- *   new Date(2016, 0, 1),
- *   new Date(2015, 0, 1),
- *   {addSuffix: true}
- * )
- * //=> 'about 1 year ago'
- *
- * @example
- * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?
- * var eoLocale = require('date-fns/locale/eo')
- * var result = distanceInWords(
- *   new Date(2016, 7, 1),
- *   new Date(2015, 0, 1),
- *   {locale: eoLocale}
- * )
- * //=> 'pli ol 1 jaro'
- */
-function distanceInWords (dirtyDateToCompare, dirtyDate, dirtyOptions) {
-  var options = dirtyOptions || {}
-
-  var comparison = compareDesc(dirtyDateToCompare, dirtyDate)
-
-  var locale = options.locale
-  var localize = enLocale.distanceInWords.localize
-  if (locale && locale.distanceInWords && locale.distanceInWords.localize) {
-    localize = locale.distanceInWords.localize
-  }
-
-  var localizeOptions = {
-    addSuffix: Boolean(options.addSuffix),
-    comparison: comparison
-  }
-
-  var dateLeft, dateRight
-  if (comparison > 0) {
-    dateLeft = parse(dirtyDateToCompare)
-    dateRight = parse(dirtyDate)
-  } else {
-    dateLeft = parse(dirtyDate)
-    dateRight = parse(dirtyDateToCompare)
-  }
-
-  var seconds = differenceInSeconds(dateRight, dateLeft)
-  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()
-  var minutes = Math.round(seconds / 60) - offset
-  var months
-
-  // 0 up to 2 mins
-  if (minutes < 2) {
-    if (options.includeSeconds) {
-      if (seconds < 5) {
-        return localize('lessThanXSeconds', 5, localizeOptions)
-      } else if (seconds < 10) {
-        return localize('lessThanXSeconds', 10, localizeOptions)
-      } else if (seconds < 20) {
-        return localize('lessThanXSeconds', 20, localizeOptions)
-      } else if (seconds < 40) {
-        return localize('halfAMinute', null, localizeOptions)
-      } else if (seconds < 60) {
-        return localize('lessThanXMinutes', 1, localizeOptions)
-      } else {
-        return localize('xMinutes', 1, localizeOptions)
-      }
-    } else {
-      if (minutes === 0) {
-        return localize('lessThanXMinutes', 1, localizeOptions)
-      } else {
-        return localize('xMinutes', minutes, localizeOptions)
-      }
-    }
-
-  // 2 mins up to 0.75 hrs
-  } else if (minutes < 45) {
-    return localize('xMinutes', minutes, localizeOptions)
-
-  // 0.75 hrs up to 1.5 hrs
-  } else if (minutes < 90) {
-    return localize('aboutXHours', 1, localizeOptions)
-
-  // 1.5 hrs up to 24 hrs
-  } else if (minutes < MINUTES_IN_DAY) {
-    var hours = Math.round(minutes / 60)
-    return localize('aboutXHours', hours, localizeOptions)
-
-  // 1 day up to 1.75 days
-  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {
-    return localize('xDays', 1, localizeOptions)
-
-  // 1.75 days up to 30 days
-  } else if (minutes < MINUTES_IN_MONTH) {
-    var days = Math.round(minutes / MINUTES_IN_DAY)
-    return localize('xDays', days, localizeOptions)
-
-  // 1 month up to 2 months
-  } else if (minutes < MINUTES_IN_TWO_MONTHS) {
-    months = Math.round(minutes / MINUTES_IN_MONTH)
-    return localize('aboutXMonths', months, localizeOptions)
-  }
-
-  months = differenceInMonths(dateRight, dateLeft)
-
-  // 2 months up to 12 months
-  if (months < 12) {
-    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)
-    return localize('xMonths', nearestMonth, localizeOptions)
-
-  // 1 year up to max Date
-  } else {
-    var monthsSinceStartOfYear = months % 12
-    var years = Math.floor(months / 12)
-
-    // N years up to 1 years 3 months
-    if (monthsSinceStartOfYear < 3) {
-      return localize('aboutXYears', years, localizeOptions)
-
-    // N years 3 months up to N years 9 months
-    } else if (monthsSinceStartOfYear < 9) {
-      return localize('overXYears', years, localizeOptions)
-
-    // N years 9 months up to N year 12 months
-    } else {
-      return localize('almostXYears', years + 1, localizeOptions)
-    }
-  }
-}
-
-module.exports = distanceInWords
-
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(17)
-
-/**
- * @category Common Helpers
- * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.
- *
- * @description
- * Compare the two dates and return -1 if the first date is after the second,
- * 1 if the first date is before the second or 0 if dates are equal.
- *
- * @param {Date|String|Number} dateLeft - the first date to compare
- * @param {Date|String|Number} dateRight - the second date to compare
- * @returns {Number} the result of the comparison
- *
- * @example
- * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:
- * var result = compareDesc(
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * )
- * //=> 1
- *
- * @example
- * // Sort the array of dates in reverse chronological order:
- * var result = [
- *   new Date(1995, 6, 2),
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * ].sort(compareDesc)
- * //=> [
- * //   Sun Jul 02 1995 00:00:00,
- * //   Mon Jul 10 1989 00:00:00,
- * //   Wed Feb 11 1987 00:00:00
- * // ]
- */
-function compareDesc (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var timeLeft = dateLeft.getTime()
-  var dateRight = parse(dirtyDateRight)
-  var timeRight = dateRight.getTime()
-
-  if (timeLeft > timeRight) {
-    return -1
-  } else if (timeLeft < timeRight) {
-    return 1
-  } else {
-    return 0
-  }
-}
-
-module.exports = compareDesc
-
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports) {
-
-/**
- * @category Common Helpers
- * @summary Is the given argument an instance of Date?
- *
- * @description
- * Is the given argument an instance of Date?
- *
- * @param {*} argument - the argument to check
- * @returns {Boolean} the given argument is an instance of Date
- *
- * @example
- * // Is 'mayonnaise' a Date?
- * var result = isDate('mayonnaise')
- * //=> false
- */
-function isDate (argument) {
-  return argument instanceof Date
-}
-
-module.exports = isDate
-
-
-/***/ }),
-/* 189 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var differenceInMilliseconds = __webpack_require__(190)
-
-/**
- * @category Second Helpers
- * @summary Get the number of seconds between the given dates.
- *
- * @description
- * Get the number of seconds between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of seconds
- *
- * @example
- * // How many seconds are between
- * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?
- * var result = differenceInSeconds(
- *   new Date(2014, 6, 2, 12, 30, 20, 0),
- *   new Date(2014, 6, 2, 12, 30, 7, 999)
- * )
- * //=> 12
- */
-function differenceInSeconds (dirtyDateLeft, dirtyDateRight) {
-  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000
-  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)
-}
-
-module.exports = differenceInSeconds
-
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(17)
-
-/**
- * @category Millisecond Helpers
- * @summary Get the number of milliseconds between the given dates.
- *
- * @description
- * Get the number of milliseconds between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of milliseconds
- *
- * @example
- * // How many milliseconds are between
- * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?
- * var result = differenceInMilliseconds(
- *   new Date(2014, 6, 2, 12, 30, 21, 700),
- *   new Date(2014, 6, 2, 12, 30, 20, 600)
- * )
- * //=> 1100
- */
-function differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var dateRight = parse(dirtyDateRight)
-  return dateLeft.getTime() - dateRight.getTime()
-}
-
-module.exports = differenceInMilliseconds
-
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(17)
-var differenceInCalendarMonths = __webpack_require__(192)
-var compareAsc = __webpack_require__(193)
-
-/**
- * @category Month Helpers
- * @summary Get the number of full months between the given dates.
- *
- * @description
- * Get the number of full months between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of full months
- *
- * @example
- * // How many full months are between 31 January 2014 and 1 September 2014?
- * var result = differenceInMonths(
- *   new Date(2014, 8, 1),
- *   new Date(2014, 0, 31)
- * )
- * //=> 7
- */
-function differenceInMonths (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var dateRight = parse(dirtyDateRight)
-
-  var sign = compareAsc(dateLeft, dateRight)
-  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight))
-  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)
-
-  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full
-  // If so, result must be decreased by 1 in absolute value
-  var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign
-  return sign * (difference - isLastMonthNotFull)
-}
-
-module.exports = differenceInMonths
-
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(17)
-
-/**
- * @category Month Helpers
- * @summary Get the number of calendar months between the given dates.
- *
- * @description
- * Get the number of calendar months between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of calendar months
- *
- * @example
- * // How many calendar months are between 31 January 2014 and 1 September 2014?
- * var result = differenceInCalendarMonths(
- *   new Date(2014, 8, 1),
- *   new Date(2014, 0, 31)
- * )
- * //=> 8
- */
-function differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var dateRight = parse(dirtyDateRight)
-
-  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()
-  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()
-
-  return yearDiff * 12 + monthDiff
-}
-
-module.exports = differenceInCalendarMonths
-
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(17)
-
-/**
- * @category Common Helpers
- * @summary Compare the two dates and return -1, 0 or 1.
- *
- * @description
- * Compare the two dates and return 1 if the first date is after the second,
- * -1 if the first date is before the second or 0 if dates are equal.
- *
- * @param {Date|String|Number} dateLeft - the first date to compare
- * @param {Date|String|Number} dateRight - the second date to compare
- * @returns {Number} the result of the comparison
- *
- * @example
- * // Compare 11 February 1987 and 10 July 1989:
- * var result = compareAsc(
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * )
- * //=> -1
- *
- * @example
- * // Sort the array of dates:
- * var result = [
- *   new Date(1995, 6, 2),
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * ].sort(compareAsc)
- * //=> [
- * //   Wed Feb 11 1987 00:00:00,
- * //   Mon Jul 10 1989 00:00:00,
- * //   Sun Jul 02 1995 00:00:00
- * // ]
- */
-function compareAsc (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var timeLeft = dateLeft.getTime()
-  var dateRight = parse(dirtyDateRight)
-  var timeRight = dateRight.getTime()
-
-  if (timeLeft < timeRight) {
-    return -1
-  } else if (timeLeft > timeRight) {
-    return 1
-  } else {
-    return 0
-  }
-}
-
-module.exports = compareAsc
-
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var buildDistanceInWordsLocale = __webpack_require__(195)
-var buildFormatLocale = __webpack_require__(196)
-
-/**
- * @category Locales
- * @summary English locale.
- */
-module.exports = {
-  distanceInWords: buildDistanceInWordsLocale(),
-  format: buildFormatLocale()
-}
-
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: 'less than a second',
-      other: 'less than {{count}} seconds'
-    },
-
-    xSeconds: {
-      one: '1 second',
-      other: '{{count}} seconds'
-    },
-
-    halfAMinute: 'half a minute',
-
-    lessThanXMinutes: {
-      one: 'less than a minute',
-      other: 'less than {{count}} minutes'
-    },
-
-    xMinutes: {
-      one: '1 minute',
-      other: '{{count}} minutes'
-    },
-
-    aboutXHours: {
-      one: 'about 1 hour',
-      other: 'about {{count}} hours'
-    },
-
-    xHours: {
-      one: '1 hour',
-      other: '{{count}} hours'
-    },
-
-    xDays: {
-      one: '1 day',
-      other: '{{count}} days'
-    },
-
-    aboutXMonths: {
-      one: 'about 1 month',
-      other: 'about {{count}} months'
-    },
-
-    xMonths: {
-      one: '1 month',
-      other: '{{count}} months'
-    },
-
-    aboutXYears: {
-      one: 'about 1 year',
-      other: 'about {{count}} years'
-    },
-
-    xYears: {
-      one: '1 year',
-      other: '{{count}} years'
-    },
-
-    overXYears: {
-      one: 'over 1 year',
-      other: 'over {{count}} years'
-    },
-
-    almostXYears: {
-      one: 'almost 1 year',
-      other: 'almost {{count}} years'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return 'in ' + result
-      } else {
-        return result + ' ago'
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var buildFormattingTokensRegExp = __webpack_require__(197)
-
-function buildFormatLocale () {
-  // Note: in English, the names of days of the week and months are capitalized.
-  // If you are making a new locale based on this one, check if the same is true for the language you're working on.
-  // Generally, formatted dates should look like they are in the middle of a sentence,
-  // e.g. in Spanish language the weekdays and months should be in the lowercase.
-  var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
-  var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
-  var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']
-  var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
-  var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
-  var meridiemUppercase = ['AM', 'PM']
-  var meridiemLowercase = ['am', 'pm']
-  var meridiemFull = ['a.m.', 'p.m.']
-
-  var formatters = {
-    // Month: Jan, Feb, ..., Dec
-    'MMM': function (date) {
-      return months3char[date.getMonth()]
-    },
-
-    // Month: January, February, ..., December
-    'MMMM': function (date) {
-      return monthsFull[date.getMonth()]
-    },
-
-    // Day of week: Su, Mo, ..., Sa
-    'dd': function (date) {
-      return weekdays2char[date.getDay()]
-    },
-
-    // Day of week: Sun, Mon, ..., Sat
-    'ddd': function (date) {
-      return weekdays3char[date.getDay()]
-    },
-
-    // Day of week: Sunday, Monday, ..., Saturday
-    'dddd': function (date) {
-      return weekdaysFull[date.getDay()]
-    },
-
-    // AM, PM
-    'A': function (date) {
-      return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0]
-    },
-
-    // am, pm
-    'a': function (date) {
-      return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0]
-    },
-
-    // a.m., p.m.
-    'aa': function (date) {
-      return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0]
-    }
-  }
-
-  // Generate ordinal version of formatters: M -> Mo, D -> Do, etc.
-  var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W']
-  ordinalFormatters.forEach(function (formatterToken) {
-    formatters[formatterToken + 'o'] = function (date, formatters) {
-      return ordinal(formatters[formatterToken](date))
-    }
-  })
-
-  return {
-    formatters: formatters,
-    formattingTokensRegExp: buildFormattingTokensRegExp(formatters)
-  }
-}
-
-function ordinal (number) {
-  var rem100 = number % 100
-  if (rem100 > 20 || rem100 < 10) {
-    switch (rem100 % 10) {
-      case 1:
-        return number + 'st'
-      case 2:
-        return number + 'nd'
-      case 3:
-        return number + 'rd'
-    }
-  }
-  return number + 'th'
-}
-
-module.exports = buildFormatLocale
-
-
-/***/ }),
-/* 197 */
-/***/ (function(module, exports) {
-
-var commonFormatterKeys = [
-  'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',
-  'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',
-  'H', 'HH', 'h', 'hh', 'm', 'mm',
-  's', 'ss', 'S', 'SS', 'SSS',
-  'Z', 'ZZ', 'X', 'x'
-]
-
-function buildFormattingTokensRegExp (formatters) {
-  var formatterKeys = []
-  for (var key in formatters) {
-    if (formatters.hasOwnProperty(key)) {
-      formatterKeys.push(key)
-    }
-  }
-
-  var formattingTokens = commonFormatterKeys
-    .concat(formatterKeys)
-    .sort()
-    .reverse()
-  var formattingTokensRegExp = new RegExp(
-    '(\\[[^\\[]*\\])|(\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'
-  )
-
-  return formattingTokensRegExp
-}
-
-module.exports = buildFormattingTokensRegExp
-
-
-/***/ }),
-/* 198 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: '不到 1 秒',
-      other: '不到 {{count}} 秒'
-    },
-
-    xSeconds: {
-      one: '1 秒',
-      other: '{{count}} 秒'
-    },
-
-    halfAMinute: '半分钟',
-
-    lessThanXMinutes: {
-      one: '不到 1 分钟',
-      other: '不到 {{count}} 分钟'
-    },
-
-    xMinutes: {
-      one: '1 分钟',
-      other: '{{count}} 分钟'
-    },
-
-    xHours: {
-      one: '1 小时',
-      other: '{{count}} 小时'
-    },
-
-    aboutXHours: {
-      one: '大约 1 小时',
-      other: '大约 {{count}} 小时'
-    },
-
-    xDays: {
-      one: '1 天',
-      other: '{{count}} 天'
-    },
-
-    aboutXMonths: {
-      one: '大约 1 个月',
-      other: '大约 {{count}} 个月'
-    },
-
-    xMonths: {
-      one: '1 个月',
-      other: '{{count}} 个月'
-    },
-
-    aboutXYears: {
-      one: '大约 1 年',
-      other: '大约 {{count}} 年'
-    },
-
-    xYears: {
-      one: '1 年',
-      other: '{{count}} 年'
-    },
-
-    overXYears: {
-      one: '超过 1 年',
-      other: '超过 {{count}} 年'
-    },
-
-    almostXYears: {
-      one: '将近 1 年',
-      other: '将近 {{count}} 年'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return result + '内'
-      } else {
-        return result + '前'
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 199 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: '少於 1 秒',
-      other: '少於 {{count}} 秒'
-    },
-
-    xSeconds: {
-      one: '1 秒',
-      other: '{{count}} 秒'
-    },
-
-    halfAMinute: '半分鐘',
-
-    lessThanXMinutes: {
-      one: '少於 1 分鐘',
-      other: '少於 {{count}} 分鐘'
-    },
-
-    xMinutes: {
-      one: '1 分鐘',
-      other: '{{count}} 分鐘'
-    },
-
-    xHours: {
-      one: '1 小時',
-      other: '{{count}} 小時'
-    },
-
-    aboutXHours: {
-      one: '大約 1 小時',
-      other: '大約 {{count}} 小時'
-    },
-
-    xDays: {
-      one: '1 天',
-      other: '{{count}} 天'
-    },
-
-    aboutXMonths: {
-      one: '大約 1 個月',
-      other: '大約 {{count}} 個月'
-    },
-
-    xMonths: {
-      one: '1 個月',
-      other: '{{count}} 個月'
-    },
-
-    aboutXYears: {
-      one: '大約 1 年',
-      other: '大約 {{count}} 年'
-    },
-
-    xYears: {
-      one: '1 年',
-      other: '{{count}} 年'
-    },
-
-    overXYears: {
-      one: '超過 1 年',
-      other: '超過 {{count}} 年'
-    },
-
-    almostXYears: {
-      one: '將近 1 年',
-      other: '將近 {{count}} 年'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return result + '內'
-      } else {
-        return result + '前'
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 200 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: 'menos de un segundo',
-      other: 'menos de {{count}} segundos'
-    },
-
-    xSeconds: {
-      one: '1 segundo',
-      other: '{{count}} segundos'
-    },
-
-    halfAMinute: 'medio minuto',
-
-    lessThanXMinutes: {
-      one: 'menos de un minuto',
-      other: 'menos de {{count}} minutos'
-    },
-
-    xMinutes: {
-      one: '1 minuto',
-      other: '{{count}} minutos'
-    },
-
-    aboutXHours: {
-      one: 'alrededor de 1 hora',
-      other: 'alrededor de {{count}} horas'
-    },
-
-    xHours: {
-      one: '1 hora',
-      other: '{{count}} horas'
-    },
-
-    xDays: {
-      one: '1 día',
-      other: '{{count}} días'
-    },
-
-    aboutXMonths: {
-      one: 'alrededor de 1 mes',
-      other: 'alrededor de {{count}} meses'
-    },
-
-    xMonths: {
-      one: '1 mes',
-      other: '{{count}} meses'
-    },
-
-    aboutXYears: {
-      one: 'alrededor de 1 año',
-      other: 'alrededor de {{count}} años'
-    },
-
-    xYears: {
-      one: '1 año',
-      other: '{{count}} años'
-    },
-
-    overXYears: {
-      one: 'más de 1 año',
-      other: 'más de {{count}} años'
-    },
-
-    almostXYears: {
-      one: 'casi 1 año',
-      other: 'casi {{count}} años'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return 'en ' + result
-      } else {
-        return 'hace ' + result
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 201 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: 'moins d’une seconde',
-      other: 'moins de {{count}} secondes'
-    },
-
-    xSeconds: {
-      one: '1 seconde',
-      other: '{{count}} secondes'
-    },
-
-    halfAMinute: '30 secondes',
-
-    lessThanXMinutes: {
-      one: 'moins d’une minute',
-      other: 'moins de {{count}} minutes'
-    },
-
-    xMinutes: {
-      one: '1 minute',
-      other: '{{count}} minutes'
-    },
-
-    aboutXHours: {
-      one: 'environ 1 heure',
-      other: 'environ {{count}} heures'
-    },
-
-    xHours: {
-      one: '1 heure',
-      other: '{{count}} heures'
-    },
-
-    xDays: {
-      one: '1 jour',
-      other: '{{count}} jours'
-    },
-
-    aboutXMonths: {
-      one: 'environ 1 mois',
-      other: 'environ {{count}} mois'
-    },
-
-    xMonths: {
-      one: '1 mois',
-      other: '{{count}} mois'
-    },
-
-    aboutXYears: {
-      one: 'environ 1 an',
-      other: 'environ {{count}} ans'
-    },
-
-    xYears: {
-      one: '1 an',
-      other: '{{count}} ans'
-    },
-
-    overXYears: {
-      one: 'plus d’un an',
-      other: 'plus de {{count}} ans'
-    },
-
-    almostXYears: {
-      one: 'presqu’un an',
-      other: 'presque {{count}} ans'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return 'dans ' + result
-      } else {
-        return 'il y a ' + result
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 202 */
-/***/ (function(module, exports) {
-
-function declension (scheme, count) {
-  // scheme for count=1 exists
-  if (scheme.one !== undefined && count === 1) {
-    return scheme.one
-  }
-
-  var rem10 = count % 10
-  var rem100 = count % 100
-
-  // 1, 21, 31, ...
-  if (rem10 === 1 && rem100 !== 11) {
-    return scheme.singularNominative.replace('{{count}}', count)
-
-  // 2, 3, 4, 22, 23, 24, 32 ...
-  } else if ((rem10 >= 2 && rem10 <= 4) && (rem100 < 10 || rem100 > 20)) {
-    return scheme.singularGenitive.replace('{{count}}', count)
-
-  // 5, 6, 7, 8, 9, 10, 11, ...
-  } else {
-    return scheme.pluralGenitive.replace('{{count}}', count)
-  }
-}
-
-function buildLocalizeTokenFn (scheme) {
-  return function (count, options) {
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        if (scheme.future) {
-          return declension(scheme.future, count)
-        } else {
-          return 'через ' + declension(scheme.regular, count)
-        }
-      } else {
-        if (scheme.past) {
-          return declension(scheme.past, count)
-        } else {
-          return declension(scheme.regular, count) + ' назад'
-        }
-      }
-    } else {
-      return declension(scheme.regular, count)
-    }
-  }
-}
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: buildLocalizeTokenFn({
-      regular: {
-        one: 'меньше секунды',
-        singularNominative: 'меньше {{count}} секунды',
-        singularGenitive: 'меньше {{count}} секунд',
-        pluralGenitive: 'меньше {{count}} секунд'
-      },
-      future: {
-        one: 'меньше, чем через секунду',
-        singularNominative: 'меньше, чем через {{count}} секунду',
-        singularGenitive: 'меньше, чем через {{count}} секунды',
-        pluralGenitive: 'меньше, чем через {{count}} секунд'
-      }
-    }),
-
-    xSeconds: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} секунда',
-        singularGenitive: '{{count}} секунды',
-        pluralGenitive: '{{count}} секунд'
-      },
-      past: {
-        singularNominative: '{{count}} секунду назад',
-        singularGenitive: '{{count}} секунды назад',
-        pluralGenitive: '{{count}} секунд назад'
-      },
-      future: {
-        singularNominative: 'через {{count}} секунду',
-        singularGenitive: 'через {{count}} секунды',
-        pluralGenitive: 'через {{count}} секунд'
-      }
-    }),
-
-    halfAMinute: function (_, options) {
-      if (options.addSuffix) {
-        if (options.comparison > 0) {
-          return 'через полминуты'
-        } else {
-          return 'полминуты назад'
-        }
-      }
-
-      return 'полминуты'
-    },
-
-    lessThanXMinutes: buildLocalizeTokenFn({
-      regular: {
-        one: 'меньше минуты',
-        singularNominative: 'меньше {{count}} минуты',
-        singularGenitive: 'меньше {{count}} минут',
-        pluralGenitive: 'меньше {{count}} минут'
-      },
-      future: {
-        one: 'меньше, чем через минуту',
-        singularNominative: 'меньше, чем через {{count}} минуту',
-        singularGenitive: 'меньше, чем через {{count}} минуты',
-        pluralGenitive: 'меньше, чем через {{count}} минут'
-      }
-    }),
-
-    xMinutes: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} минута',
-        singularGenitive: '{{count}} минуты',
-        pluralGenitive: '{{count}} минут'
-      },
-      past: {
-        singularNominative: '{{count}} минуту назад',
-        singularGenitive: '{{count}} минуты назад',
-        pluralGenitive: '{{count}} минут назад'
-      },
-      future: {
-        singularNominative: 'через {{count}} минуту',
-        singularGenitive: 'через {{count}} минуты',
-        pluralGenitive: 'через {{count}} минут'
-      }
-    }),
-
-    aboutXHours: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'около {{count}} часа',
-        singularGenitive: 'около {{count}} часов',
-        pluralGenitive: 'около {{count}} часов'
-      },
-      future: {
-        singularNominative: 'приблизительно через {{count}} час',
-        singularGenitive: 'приблизительно через {{count}} часа',
-        pluralGenitive: 'приблизительно через {{count}} часов'
-      }
-    }),
-
-    xHours: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} час',
-        singularGenitive: '{{count}} часа',
-        pluralGenitive: '{{count}} часов'
-      }
-    }),
-
-    xDays: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} день',
-        singularGenitive: '{{count}} дня',
-        pluralGenitive: '{{count}} дней'
-      }
-    }),
-
-    aboutXMonths: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'около {{count}} месяца',
-        singularGenitive: 'около {{count}} месяцев',
-        pluralGenitive: 'около {{count}} месяцев'
-      },
-      future: {
-        singularNominative: 'приблизительно через {{count}} месяц',
-        singularGenitive: 'приблизительно через {{count}} месяца',
-        pluralGenitive: 'приблизительно через {{count}} месяцев'
-      }
-    }),
-
-    xMonths: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} месяц',
-        singularGenitive: '{{count}} месяца',
-        pluralGenitive: '{{count}} месяцев'
-      }
-    }),
-
-    aboutXYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'около {{count}} года',
-        singularGenitive: 'около {{count}} лет',
-        pluralGenitive: 'около {{count}} лет'
-      },
-      future: {
-        singularNominative: 'приблизительно через {{count}} год',
-        singularGenitive: 'приблизительно через {{count}} года',
-        pluralGenitive: 'приблизительно через {{count}} лет'
-      }
-    }),
-
-    xYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} год',
-        singularGenitive: '{{count}} года',
-        pluralGenitive: '{{count}} лет'
-      }
-    }),
-
-    overXYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'больше {{count}} года',
-        singularGenitive: 'больше {{count}} лет',
-        pluralGenitive: 'больше {{count}} лет'
-      },
-      future: {
-        singularNominative: 'больше, чем через {{count}} год',
-        singularGenitive: 'больше, чем через {{count}} года',
-        pluralGenitive: 'больше, чем через {{count}} лет'
-      }
-    }),
-
-    almostXYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'почти {{count}} год',
-        singularGenitive: 'почти {{count}} года',
-        pluralGenitive: 'почти {{count}} лет'
-      },
-      future: {
-        singularNominative: 'почти через {{count}} год',
-        singularGenitive: 'почти через {{count}} года',
-        pluralGenitive: 'почти через {{count}} лет'
-      }
-    })
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-    return distanceInWordsLocale[token](count, options)
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 203 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 204 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-var GT_ACCESS_TOKEN = exports.GT_ACCESS_TOKEN = 'GT_ACCESS_TOKEN';
-var GT_VERSION = exports.GT_VERSION = "1.6.2"; // eslint-disable-line
-var GT_COMMENT = exports.GT_COMMENT = 'GT_COMMENT';
-
-/***/ }),
-/* 205 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _toConsumableArray2 = __webpack_require__(206);
-
-var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
-
-var _util = __webpack_require__(69);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var getQL = function getQL(vars, pagerDirection) {
-  var cursorDirection = pagerDirection === 'last' ? 'before' : 'after';
-  var ql = '\n  query getIssueAndComments(\n    $owner: String!,\n    $repo: String!,\n    $id: Int!,\n    $cursor: String,\n    $pageSize: Int!\n  ) {\n    repository(owner: $owner, name: $repo) {\n      issue(number: $id) {\n        title\n        url\n        bodyHTML\n        createdAt\n        comments(' + pagerDirection + ': $pageSize, ' + cursorDirection + ': $cursor) {\n          totalCount\n          pageInfo {\n            ' + (pagerDirection === 'last' ? 'hasPreviousPage' : 'hasNextPage') + '\n            ' + (cursorDirection === 'before' ? 'startCursor' : 'endCursor') + '\n          }\n          nodes {\n            id\n            databaseId\n            author {\n              avatarUrl\n              login\n              url\n            }\n            bodyHTML\n            body\n            createdAt\n            reactions(first: 100, content: HEART) {\n              totalCount\n              viewerHasReacted\n              pageInfo{\n                hasNextPage\n              }\n              nodes {\n                id\n                databaseId\n                user {\n                  login\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  ';
-
-  if (vars.cursor === null) delete vars.cursor;
-
-  return {
-    operationName: 'getIssueAndComments',
-    query: ql,
-    variables: vars
-  };
-};
-
-function getComments(issue) {
-  var _this = this;
-
-  var _options = this.options,
-      owner = _options.owner,
-      repo = _options.repo,
-      perPage = _options.perPage,
-      pagerDirection = _options.pagerDirection,
-      defaultAuthor = _options.defaultAuthor;
-  var _state = this.state,
-      cursor = _state.cursor,
-      comments = _state.comments;
-
-  return _util.axiosGithub.post('/graphql', getQL({
-    owner: owner,
-    repo: repo,
-    id: issue.number,
-    pageSize: perPage,
-    cursor: cursor
-  }, pagerDirection), {
-    headers: {
-      Authorization: 'bearer ' + this.accessToken
-    }
-  }).then(function (res) {
-    var data = res.data.data.repository.issue.comments;
-    var items = data.nodes.map(function (node) {
-      var author = node.author || defaultAuthor;
-
-      return {
-        id: node.databaseId,
-        gId: node.id,
-        user: {
-          avatar_url: author.avatarUrl,
-          login: author.login,
-          html_url: author.url
-        },
-        created_at: node.createdAt,
-        body_html: node.bodyHTML,
-        body: node.body,
-        html_url: 'https://github.com/' + owner + '/' + repo + '/issues/' + issue.number + '#issuecomment-' + node.databaseId,
-        reactions: node.reactions
-      };
-    });
-
-    var cs = void 0;
-
-    if (pagerDirection === 'last') {
-      cs = [].concat((0, _toConsumableArray3.default)(items), (0, _toConsumableArray3.default)(comments));
-    } else {
-      cs = [].concat((0, _toConsumableArray3.default)(comments), (0, _toConsumableArray3.default)(items));
-    }
-
-    var isLoadOver = data.pageInfo.hasPreviousPage === false || data.pageInfo.hasNextPage === false;
-    _this.setState({
-      comments: cs,
-      isLoadOver: isLoadOver,
-      cursor: data.pageInfo.startCursor || data.pageInfo.endCursor
-    });
-    return cs;
-  });
-}
-
-exports.default = getComments;
-
-/***/ }),
-/* 206 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _from = __webpack_require__(207);
-
-var _from2 = _interopRequireDefault(_from);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (arr) {
-  if (Array.isArray(arr)) {
-    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
-      arr2[i] = arr[i];
-    }
-
-    return arr2;
-  } else {
-    return (0, _from2.default)(arr);
-  }
-};
-
-/***/ }),
-/* 207 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(208), __esModule: true };
-
-/***/ }),
-/* 208 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(18);
-__webpack_require__(209);
-module.exports = __webpack_require__(0).Array.from;
-
-
-/***/ }),
-/* 209 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var ctx = __webpack_require__(12);
-var $export = __webpack_require__(4);
-var toObject = __webpack_require__(16);
-var call = __webpack_require__(52);
-var isArrayIter = __webpack_require__(53);
-var toLength = __webpack_require__(33);
-var createProperty = __webpack_require__(210);
-var getIterFn = __webpack_require__(38);
-
-$export($export.S + $export.F * !__webpack_require__(58)(function (iter) { Array.from(iter); }), 'Array', {
-  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
-  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
-    var O = toObject(arrayLike);
-    var C = typeof this == 'function' ? this : Array;
-    var aLen = arguments.length;
-    var mapfn = aLen > 1 ? arguments[1] : undefined;
-    var mapping = mapfn !== undefined;
-    var index = 0;
-    var iterFn = getIterFn(O);
-    var length, result, step, iterator;
-    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
-    // if object isn't iterable or it's array with default iterator - use simple case
-    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
-      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
-        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
-      }
-    } else {
-      length = toLength(O.length);
-      for (result = new C(length); length > index; index++) {
-        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
-      }
-    }
-    result.length = index;
-    return result;
-  }
-});
-
-
-/***/ }),
-/* 210 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var $defineProperty = __webpack_require__(6);
-var createDesc = __webpack_require__(20);
-
-module.exports = function (object, index, value) {
-  if (index in object) $defineProperty.f(object, index, createDesc(0, value));
-  else object[index] = value;
-};
-
-
-/***/ })
-/******/ ]);
-});
-//# sourceMappingURL=gitalk-component.js.map
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk-component.js.map b/server/target/classes/static/gitalk/gitalk-component.js.map
deleted file mode 100644
index 4bdeac2..0000000
--- a/server/target/classes/static/gitalk/gitalk-component.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap e6692ff8194a1d73ab83","webpack:///../node_modules/core-js/library/modules/_core.js","webpack:///../node_modules/core-js/library/modules/_global.js","webpack:///../node_modules/core-js/library/modules/_wks.js","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/core-js/library/modules/_export.js","webpack:///../node_modules/core-js/library/modules/_an-object.js","webpack:///../node_modules/core-js/library/modules/_object-dp.js","webpack:///../node_modules/core-js/library/modules/_descriptors.js","webpack:///../node_modules/core-js/library/modules/_is-object.js","webpack:///external \"react\"","webpack:///../node_modules/core-js/library/modules/_hide.js","webpack:///../node_modules/core-js/library/modules/_has.js","webpack:///../node_modules/core-js/library/modules/_ctx.js","webpack:///../node_modules/core-js/library/modules/_fails.js","webpack:///../node_modules/core-js/library/modules/_iterators.js","webpack:///../node_modules/core-js/library/modules/_to-iobject.js","webpack:///../node_modules/core-js/library/modules/_to-object.js","webpack:///../node_modules/date-fns/parse/index.js","webpack:///../node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///../node_modules/core-js/library/modules/_library.js","webpack:///../node_modules/core-js/library/modules/_property-desc.js","webpack:///../node_modules/core-js/library/modules/_object-keys.js","webpack:///../node_modules/core-js/library/modules/_cof.js","webpack:///../node_modules/core-js/library/modules/_a-function.js","webpack:///../node_modules/core-js/library/modules/_uid.js","webpack:///../node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///../node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///../node_modules/core-js/library/modules/_object-pie.js","webpack:///../node_modules/core-js/library/modules/_to-integer.js","webpack:///../node_modules/core-js/library/modules/_defined.js","webpack:///../node_modules/core-js/library/modules/_dom-create.js","webpack:///../node_modules/core-js/library/modules/_to-primitive.js","webpack:///../node_modules/core-js/library/modules/_object-create.js","webpack:///../node_modules/core-js/library/modules/_to-length.js","webpack:///../node_modules/core-js/library/modules/_shared-key.js","webpack:///../node_modules/core-js/library/modules/_shared.js","webpack:///../node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///../node_modules/core-js/library/modules/_classof.js","webpack:///../node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///../node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///../node_modules/core-js/library/modules/_object-gops.js","webpack:///../node_modules/core-js/library/modules/_wks-ext.js","webpack:///../node_modules/core-js/library/modules/_wks-define.js","webpack:///../node_modules/react-flip-move/lib/helpers.js","webpack:///../node_modules/core-js/library/modules/_iter-define.js","webpack:///../node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///../node_modules/core-js/library/modules/_redefine.js","webpack:///../node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///../node_modules/core-js/library/modules/_iobject.js","webpack:///../node_modules/core-js/library/modules/_html.js","webpack:///../node_modules/core-js/library/modules/_object-gpo.js","webpack:///../node_modules/core-js/library/modules/_iter-call.js","webpack:///../node_modules/core-js/library/modules/_is-array-iter.js","webpack:///../node_modules/core-js/library/modules/_species-constructor.js","webpack:///../node_modules/core-js/library/modules/_task.js","webpack:///../node_modules/core-js/library/modules/_perform.js","webpack:///../node_modules/core-js/library/modules/_promise-resolve.js","webpack:///../node_modules/core-js/library/modules/_iter-detect.js","webpack:///../node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///../node_modules/core-js/library/modules/_object-sap.js","webpack:///../node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///../node_modules/babel-runtime/helpers/createClass.js","webpack:///../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///../node_modules/babel-runtime/helpers/typeof.js","webpack:///../node_modules/core-js/library/modules/_object-gopn.js","webpack:///../node_modules/core-js/library/modules/_object-gopd.js","webpack:///../node_modules/babel-runtime/helpers/inherits.js","webpack:///../node_modules/process/browser.js","webpack:///./util.js","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/defaults.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/core/createError.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/cancel/Cancel.js","webpack:///./component/avatar.jsx","webpack:///./component/svg.jsx","webpack:///./gitalk.jsx","webpack:///../node_modules/babel-runtime/core-js/promise.js","webpack:///../node_modules/core-js/library/fn/promise.js","webpack:///../node_modules/core-js/library/modules/_string-at.js","webpack:///../node_modules/core-js/library/modules/_iter-create.js","webpack:///../node_modules/core-js/library/modules/_object-dps.js","webpack:///../node_modules/core-js/library/modules/_array-includes.js","webpack:///../node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///../node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///../node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///../node_modules/core-js/library/modules/_iter-step.js","webpack:///../node_modules/core-js/library/modules/es6.promise.js","webpack:///../node_modules/core-js/library/modules/_an-instance.js","webpack:///../node_modules/core-js/library/modules/_for-of.js","webpack:///../node_modules/core-js/library/modules/_invoke.js","webpack:///../node_modules/core-js/library/modules/_microtask.js","webpack:///../node_modules/core-js/library/modules/_user-agent.js","webpack:///../node_modules/core-js/library/modules/_redefine-all.js","webpack:///../node_modules/core-js/library/modules/_set-species.js","webpack:///../node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///../node_modules/core-js/library/modules/es7.promise.try.js","webpack:///../node_modules/babel-runtime/core-js/object/assign.js","webpack:///../node_modules/core-js/library/fn/object/assign.js","webpack:///../node_modules/core-js/library/modules/es6.object.assign.js","webpack:///../node_modules/core-js/library/modules/_object-assign.js","webpack:///../node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///../node_modules/babel-runtime/core-js/object/define-property.js","webpack:///../node_modules/core-js/library/fn/object/define-property.js","webpack:///../node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///../node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///../node_modules/core-js/library/fn/symbol/iterator.js","webpack:///../node_modules/babel-runtime/core-js/symbol.js","webpack:///../node_modules/core-js/library/fn/symbol/index.js","webpack:///../node_modules/core-js/library/modules/es6.symbol.js","webpack:///../node_modules/core-js/library/modules/_meta.js","webpack:///../node_modules/core-js/library/modules/_enum-keys.js","webpack:///../node_modules/core-js/library/modules/_is-array.js","webpack:///../node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///../node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///../node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///../node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///../node_modules/core-js/library/modules/_set-proto.js","webpack:///../node_modules/babel-runtime/core-js/object/create.js","webpack:///../node_modules/core-js/library/fn/object/create.js","webpack:///../node_modules/core-js/library/modules/es6.object.create.js","webpack:///../node_modules/react-flip-move/lib/index.js","webpack:///../node_modules/react-flip-move/lib/FlipMove.js","webpack:///../node_modules/react-flip-move/lib/polyfills.js","webpack:///../node_modules/react-flip-move/lib/prop-converter.js","webpack:///../node_modules/react-flip-move/lib/error-messages.js","webpack:///../node_modules/react-flip-move/lib/enter-leave-presets.js","webpack:///../node_modules/react-flip-move/lib/dom-manipulation.js","webpack:///external \"react-dom\"","webpack:///../node_modules/autosize/dist/autosize.js","webpack:///./i18n/index.js","webpack:///../node_modules/node-polyglot/build/polyglot.js","webpack:///./i18n/zh-CN.json","webpack:///./i18n/zh-TW.json","webpack:///./i18n/en.json","webpack:///./i18n/es-ES.json","webpack:///./i18n/fr.json","webpack:///./i18n/ru.json","webpack:///./i18n/de.json","webpack:///./style/index.styl","webpack:///../node_modules/babel-runtime/core-js/object/keys.js","webpack:///../node_modules/core-js/library/fn/object/keys.js","webpack:///../node_modules/core-js/library/modules/es6.object.keys.js","webpack:///../node_modules/babel-runtime/helpers/slicedToArray.js","webpack:///../node_modules/babel-runtime/core-js/is-iterable.js","webpack:///../node_modules/core-js/library/fn/is-iterable.js","webpack:///../node_modules/core-js/library/modules/core.is-iterable.js","webpack:///../node_modules/babel-runtime/core-js/get-iterator.js","webpack:///../node_modules/core-js/library/fn/get-iterator.js","webpack:///../node_modules/core-js/library/modules/core.get-iterator.js","webpack:///../node_modules/axios/index.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/core/enhanceError.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///./component/button.jsx","webpack:///./component/action.jsx","webpack:///./component/comment.jsx","webpack:///../node_modules/raw-loader ^\\.\\/.*\\.svg$","webpack:///./assets/icon/arrow_down.svg","webpack:///./assets/icon/edit.svg","webpack:///./assets/icon/github.svg","webpack:///./assets/icon/heart.svg","webpack:///./assets/icon/heart_on.svg","webpack:///./assets/icon/reply.svg","webpack:///./assets/icon/tip.svg","webpack:///../node_modules/date-fns/distance_in_words_to_now/index.js","webpack:///../node_modules/date-fns/distance_in_words/index.js","webpack:///../node_modules/date-fns/compare_desc/index.js","webpack:///../node_modules/date-fns/is_date/index.js","webpack:///../node_modules/date-fns/difference_in_seconds/index.js","webpack:///../node_modules/date-fns/difference_in_milliseconds/index.js","webpack:///../node_modules/date-fns/difference_in_months/index.js","webpack:///../node_modules/date-fns/difference_in_calendar_months/index.js","webpack:///../node_modules/date-fns/compare_asc/index.js","webpack:///../node_modules/date-fns/locale/en/index.js","webpack:///../node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/en/build_format_locale/index.js","webpack:///../node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js","webpack:///../node_modules/date-fns/locale/zh_cn/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/zh_tw/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/ru/build_distance_in_words_locale/index.js","webpack:///../node_modules/github-markdown-css/github-markdown.css","webpack:///./const.js","webpack:///./graphql/getComments.js","webpack:///../node_modules/babel-runtime/helpers/toConsumableArray.js","webpack:///../node_modules/babel-runtime/core-js/array/from.js","webpack:///../node_modules/core-js/library/fn/array/from.js","webpack:///../node_modules/core-js/library/modules/es6.array.from.js","webpack:///../node_modules/core-js/library/modules/_create-property.js"],"names":["queryParse","search","window","location","queryString","substring","query","split","forEach","queryStr","key","value","decodeURIComponent","queryStringify","map","encodeURIComponent","join","axiosJSON","axios","create","headers","axiosGithub","baseURL","getMetaContent","name","content","el","document","querySelector","getAttribute","formatErrorMsg","msg","err","response","data","message","errors","e","hasClassInParent","element","className","yes","classes","c","i","indexOf","parentNode","src","alt","onError","text","__html","require","GitalkComponent","props","state","user","issue","comments","localComments","comment","page","pagerDirection","cursor","previewHtml","isNoInit","isIniting","isCreating","isLoading","isLoadMore","isLoadOver","isIssueCreating","isPopupVisible","isInputFocused","isPreview","isOccurError","errorMsg","getCommentsV3","options","clientID","clientSecret","perPage","getIssue","then","get","comments_url","Accept","auth","username","password","params","per_page","cs","concat","res","length","setState","getRef","publicBtnEL","reply","replyCommentBody","replyComment","body","replyCommentArray","unshift","login","t","push","autosize","update","commentEL","focus","handlePopup","preventDefault","stopPropagation","isVisible","hideHandle","e1","target","removeEventListener","addEventListener","handleLogin","localStorage","setItem","GT_COMMENT","href","loginLink","handleIssueCreate","createIssue","getComments","catch","handleCommentCreate","createComment","handleCommentPreview","post","accessToken","Authorization","handleCommentLoad","handleCommentChange","handleLogout","logout","reload","handleCommentFocus","distractionFreeMode","handleCommentBlur","handleSort","direction","handleCommentKeyDown","enableHotKey","metaKey","ctrlKey","keyCode","id","number","labels","title","language","navigator","userLanguage","createIssueManually","proxy","flipMoveOptions","staggerDelayBy","appearAnimation","enterAnimation","leaveAnimation","url","defaultAuthor","avatarUrl","updateCountCallback","storedComment","getItem","removeItem","code","replacedUrl","origin","pathname","hash","history","replaceState","client_id","client_secret","access_token","getInit","console","log","Error","i18n","getUserInfo","owner","repo","getUrl","resolve","reject","Date","now","status","isAdmin","getIssueById","resIssue","getIssueByLabels","QLGetComments","call","GT_ACCESS_TOKEN","reactions","nodes","findIndex","n","totalCount","viewerHasReacted","getQL","operationName","gId","index","splice","admin","link","u","obj","avatar_url","handleImageErrored","bind","totalComments","reverse","unLike","like","cnt","isDesc","toString","counts","html_url","smart_count","GT_VERSION","initing","meta","noInit","header","_accessToke","token","_accessToken","githubOauthUrl","redirect_uri","scope","a","toLowerCase","Component","module","exports","Polyglot","phrases","i18nMap","en","locale","ZHCN","ZHTW","EN","ES","FR","RU","DE","onClick","onMouseDown","GT_i18n_distanceInWordsLocaleMap","zh","fr","ru","Comment","node","emailResponse","classList","toggle","commentedText","replyCallback","likeCallback","enableEdit","reactionTotalCount","pageInfo","hasNextPage","created_at","addSuffix","distanceInWords","body_html","VERSION","vars","cursorDirection","ql","variables","pageSize","repository","items","author","databaseId","createdAt","bodyHTML","hasPreviousPage","startCursor","endCursor"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC,YAAY,mBAAO,CAAC,EAAW;AAC/B,UAAU,mBAAO,CAAC,EAAQ;AAC1B,aAAa,mBAAO,CAAC,CAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACVa;;AAEb,WAAW,mBAAO,CAAC,EAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gCAAgC;AAChC,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvVA,aAAa,mBAAO,CAAC,CAAW;AAChC,WAAW,mBAAO,CAAC,CAAS;AAC5B,UAAU,mBAAO,CAAC,EAAQ;AAC1B,WAAW,mBAAO,CAAC,EAAS;AAC5B,UAAU,mBAAO,CAAC,EAAQ;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA,eAAe,mBAAO,CAAC,CAAc;AACrC;AACA;AACA;AACA;;;;;;;ACJA,eAAe,mBAAO,CAAC,CAAc;AACrC,qBAAqB,mBAAO,CAAC,EAAmB;AAChD,kBAAkB,mBAAO,CAAC,EAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,CAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA,kBAAkB,mBAAO,CAAC,EAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;;;;;;;ACFA,kC;;;;;;ACAA,SAAS,mBAAO,CAAC,CAAc;AAC/B,iBAAiB,mBAAO,CAAC,EAAkB;AAC3C,iBAAiB,mBAAO,CAAC,CAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA;AACA,gBAAgB,mBAAO,CAAC,EAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;;;;;;;ACAA;AACA,cAAc,mBAAO,CAAC,EAAY;AAClC,cAAc,mBAAO,CAAC,EAAY;AAClC;AACA;AACA;;;;;;;ACLA;AACA,cAAc,mBAAO,CAAC,EAAY;AAClC;AACA;AACA;;;;;;;ACJA,aAAa,mBAAO,CAAC,GAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,EAAE;AAC3B;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,YAAY,EAAE;AACd;;AAEA,2BAA2B,EAAE;AAC7B;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,YAAY,EAAE;AACd;;AAEA;AACA,0BAA0B,EAAE;AAC5B,4BAA4B,EAAE;AAC9B,6BAA6B,EAAE,OAAO,EAAE;AACxC,6BAA6B,EAAE;AAC/B,8BAA8B,EAAE,OAAO,EAAE;;AAEzC;AACA,yBAAyB,EAAE;AAC3B,2BAA2B,EAAE,OAAO,EAAE;AACtC,6BAA6B,EAAE,OAAO,EAAE,OAAO,EAAE;;AAEjD;AACA;AACA;AACA,uCAAuC,EAAE;AACzC,yCAAyC,EAAE,OAAO,EAAE;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/Ta;AACb,UAAU,mBAAO,CAAC,EAAc;;AAEhC;AACA,mBAAO,CAAC,EAAg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U,mBAAO,CAAC,EAAQ;AAC1B;AACA;AACA;AACA;;;;;;;ACLA,eAAe,mBAAO,CAAC,CAAW;AAClC;;;;;;;ACDA;AACA,UAAU,mBAAO,CAAC,EAAQ;AAC1B,eAAe,mBAAO,CAAC,EAAc;AACrC,eAAe,mBAAO,CAAC,EAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA,eAAe,mBAAO,CAAC,CAAc;AACrC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,eAAe,mBAAO,CAAC,CAAQ;AAC/B;;AAEA;AACA;AACA;;;;;;;ACPA;AACA,eAAe,mBAAO,CAAC,CAAc;AACrC,gBAAgB,mBAAO,CAAC,EAAe;AACvC,cAAc,mBAAO,CAAC,CAAQ;AAC9B;AACA;AACA;AACA;AACA;;;;;;;ACRA,UAAU,mBAAO,CAAC,EAAQ;AAC1B,aAAa,mBAAO,CAAC,EAAW;AAChC,WAAW,mBAAO,CAAC,EAAS;AAC5B,UAAU,mBAAO,CAAC,EAAe;AACjC,aAAa,mBAAO,CAAC,CAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,EAAQ;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;ACNA,eAAe,mBAAO,CAAC,CAAc;AACrC,eAAe,mBAAO,CAAC,CAAc;AACrC,2BAA2B,mBAAO,CAAC,EAA2B;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA,eAAe,mBAAO,CAAC,CAAQ;AAC/B;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;ACrBA,kBAAkB,YAAY,mBAAO,CAAC,GAA4C,sB;;;;;;ACAlF;AACA,cAAc,mBAAO,CAAC,CAAW;AACjC,WAAW,mBAAO,CAAC,CAAS;AAC5B,YAAY,mBAAO,CAAC,EAAU;AAC9B;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRa;;AAEb;;AAEA,sBAAsB,mBAAO,CAAC,GAAmC;;AAEjE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;;AC1BY;;AAEb;;AAEA,eAAe,mBAAO,CAAC,EAAmB;;AAE1C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBa;;AAEb;;AAEA,gBAAgB,mBAAO,CAAC,GAA4B;;AAEpD;;AAEA,cAAc,mBAAO,CAAC,GAAmB;;AAEzC;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;AACA,YAAY,mBAAO,CAAC,EAAyB;AAC7C,iBAAiB,mBAAO,CAAC,EAAkB;;AAE3C;AACA;AACA;;;;;;;ACNA,UAAU,mBAAO,CAAC,EAAe;AACjC,iBAAiB,mBAAO,CAAC,EAAkB;AAC3C,gBAAgB,mBAAO,CAAC,EAAe;AACvC,kBAAkB,mBAAO,CAAC,EAAiB;AAC3C,UAAU,mBAAO,CAAC,EAAQ;AAC1B,qBAAqB,mBAAO,CAAC,EAAmB;AAChD;;AAEA,YAAY,mBAAO,CAAC,CAAgB;AACpC;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACfa;;AAEb;;AAEA,sBAAsB,mBAAO,CAAC,GAAoC;;AAElE;;AAEA,cAAc,mBAAO,CAAC,GAA0B;;AAEhD;;AAEA,eAAe,mBAAO,CAAC,EAAmB;;AAE1C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;AChCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;;;;;;;;;;;;ACvLtC;;;;;;AAEO,IAAMA,kCAAa,SAAbA,UAAa,GAAqC;AAAA,MAApCC,MAAoC,uEAA3BC,OAAOC,QAAP,CAAgBF,MAAW;;AAC7D,MAAI,CAACA,MAAL,EAAa,OAAO,EAAP;AACb,MAAMG,cAAcH,OAAO,CAAP,MAAc,GAAd,GAAoBA,OAAOI,SAAP,CAAiB,CAAjB,CAApB,GAA0CJ,MAA9D;AACA,MAAMK,QAAQ,EAAd;AACAF,cACGG,KADH,CACS,GADT,EAEGC,OAFH,CAEW,oBAAY;AAAA,0BACEC,SAASF,KAAT,CAAe,GAAf,CADF;AAAA;AAAA,QACZG,GADY;AAAA,QACPC,KADO;AAEnB;;;AACA,QAAID,GAAJ,EAASJ,MAAMM,mBAAmBF,GAAnB,CAAN,IAAiCE,mBAAmBD,KAAnB,CAAjC;AACV,GANH;;AAQA,SAAOL,KAAP;AACD,CAbM;;AAeA,IAAMO,0CAAiB,SAAjBA,cAAiB,QAAS;AACrC,MAAMT,cAAc,oBAAYE,KAAZ,EACjBQ,GADiB,CACb;AAAA,WAAUJ,GAAV,SAAiBK,mBAAmBT,MAAMI,GAAN,KAAc,EAAjC,CAAjB;AAAA,GADa,EAEjBM,IAFiB,CAEZ,GAFY,CAApB;AAGA,SAAOZ,WAAP;AACD,CALM;;AAOA,IAAMa,gCAAYC,gBAAMC,MAAN,CAAa;AACpCC,WAAS;AACP,cAAU;AADH;AAD2B,CAAb,CAAlB;;AAMA,IAAMC,oCAAcH,gBAAMC,MAAN,CAAa;AACtCG,WAAS,wBAD6B;AAEtCF,WAAS;AACP,cAAU;AADH;AAF6B,CAAb,CAApB;;AAOA,IAAMG,0CAAiB,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,OAAP,EAAmB;AAC/C;AACAA,cAAYA,UAAU,SAAtB;AACA;AACA,MAAMC,KAAKxB,OAAOyB,QAAP,CAAgBC,aAAhB,kBAA4CJ,IAA5C,SAAX;AACA;AACA,SAAOE,MAAMA,GAAGG,YAAH,CAAgBJ,OAAhB,CAAb;AACD,CAPM;;AASA,IAAMK,0CAAiB,SAAjBA,cAAiB,MAAO;AACnC,MAAIC,MAAM,SAAV;AACA,MAAIC,IAAIC,QAAJ,IAAgBD,IAAIC,QAAJ,CAAaC,IAA7B,IAAqCF,IAAIC,QAAJ,CAAaC,IAAb,CAAkBC,OAA3D,EAAoE;AAClEJ,WAAUC,IAAIC,QAAJ,CAAaC,IAAb,CAAkBC,OAA5B;AACAH,QAAIC,QAAJ,CAAaC,IAAb,CAAkBE,MAAlB,KAA6BL,OAAOC,IAAIC,QAAJ,CAAaC,IAAb,CAAkBE,MAAlB,CAAyBtB,GAAzB,CAA6B;AAAA,aAAKuB,EAAEF,OAAP;AAAA,KAA7B,EAA6CnB,IAA7C,CAAkD,IAAlD,CAApC;AACD,GAHD,MAGO;AACLe,WAAOC,IAAIG,OAAX;AACD;AACD,SAAOJ,GAAP;AACD,CATM;;AAWA,IAAMO,8CAAmB,SAAnBA,gBAAmB,CAACC,OAAD,EAA2B;AAAA,oCAAdC,SAAc;AAAdA,aAAc;AAAA;;AACzD;AACA,MAAIC,MAAM,KAAV;AACA;AACA,MAAI,OAAOF,QAAQC,SAAf,KAA6B,WAAjC,EAA8C,OAAO,KAAP;AAC9C;AACA,MAAME,UAAUH,QAAQC,SAAR,CAAkBjC,KAAlB,CAAwB,GAAxB,CAAhB;AACA;AACAiC,YAAUhC,OAAV,CAAkB,UAACmC,CAAD,EAAIC,CAAJ,EAAU;AAC1B;AACAH,UAAMA,OAAQC,QAAQG,OAAR,CAAgBF,CAAhB,KAAsB,CAApC;AACD,GAHD;AAIA;AACA,MAAIF,GAAJ,EAAS,OAAOA,GAAP;AACT;AACA,SAAOF,QAAQO,UAAR,IAAsBR,iBAAiBC,QAAQO,UAAzB,EAAqCN,SAArC,CAA7B;AACD,CAhBM,C;;;;;;;ACzDM;;AAEb;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACtEa;;AAEb;AACA;AACA;;;;;;;;ACJA,+CAAa;;AAEb,YAAY,mBAAO,CAAC,CAAS;AAC7B,0BAA0B,mBAAO,CAAC,GAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,EAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,EAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;AChGa;;AAEb,YAAY,mBAAO,CAAC,CAAY;AAChC,aAAa,mBAAO,CAAC,GAAkB;AACvC,eAAe,mBAAO,CAAC,EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,GAAuB;AACnD,mBAAmB,mBAAO,CAAC,GAA2B;AACtD,sBAAsB,mBAAO,CAAC,GAA8B;AAC5D,kBAAkB,mBAAO,CAAC,EAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAO,CAAC,GAAsB;;AAElD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;ACnLa;;AAEb,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,CAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,K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AAe;AACvC,iBAAiB,mBAAO,CAAC,EAAgB;AACzC,YAAY,mBAAO,CAAC,EAAW;AAC/B,yBAAyB,mBAAO,CAAC,EAAwB;AACzD,WAAW,mBAAO,CAAC,EAAS;AAC5B,gBAAgB,mBAAO,CAAC,EAAc;AACtC,iCAAiC,mBAAO,CAAC,EAA2B;AACpE,cAAc,mBAAO,CAAC,EAAY;AAClC,gBAAgB,mBAAO,CAAC,EAAe;AACvC,qBAAqB,mBAAO,CAAC,EAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,EAAE,mBAAO,CAAC,CAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA,uBAAuB,mBAAO,CAAC,EAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E,mBAAO,CAAC,EAAsB;AAC9B,mBAAO,CAAC,EAAgB;AACxB,UAAU,mBAAO,CAAC,CAAS;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gDAAgD,mBAAO,CAAC,EAAgB;AACxE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;AC7RD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA,UAAU,mBAAO,CAAC,EAAQ;AAC1B,WAAW,mBAAO,CAAC,EAAc;AACjC,kBAAkB,mBAAO,CAAC,EAAkB;AAC5C,eAAe,mBAAO,CAAC,CAAc;AACrC,eAAe,mBAAO,CAAC,EAAc;AACrC,gBAAgB,mBAAO,CAAC,EAA4B;AACpD;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA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;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,EAAgB;AAC1B,EAAE,mBAAO,CAAC,EAAe;AACzB;;AAEA,sBAAsB,mBAAO,CAAC,EAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,8CAA8C,YAAY,EAAE;;AAE5D;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,oCAAoC,mBAAO,CAAC,EAAS;AACrD;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrPA,WAAW,mBAAO,CAAC,EA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;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK,yBAAyB;AAC9B;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY,mBAAmB;AAC3D,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,cAAc,2CAA2C;AACnF,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,mCAAmC,UAAU,gBAAgB;AAC7D;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC,WAAW;AACX,gCAAgC;AAChC,WAAW;AACX,gCAAgC;AAChC;;AAEA;AACA,sDAAsD,mCAAmC;AACzF,SAAS;AACT,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B;AACA;AACA,WAAW;AACX,SAAS;;AAET,uBAAuB,yBAAyB;AAChD;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0CAA0C;AAC1C;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD,mBAAmB;AACpE;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,6BAA6B;AAC7B;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA,oC;;;;;;;ACxtBa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,C;;;;;;;AC/EA,+CAAa;;AAEb;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,CAAO;;AAE5B;;AAEA,qBAAqB,mBAAO,CAAC,GAAkB;;AAE/C,yBAAyB,mBAAO,CAAC,GAAuB;;AAExD,eAAe,mBAAO,CAAC,EAAW;;AAElC,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;AAC5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA,oC;;;;;;;;AC5Oa;;AAEb;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,E;;;;;;;AC1Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,sCAAsC;AACjD,SAAS;AACT,GAAG;AACH;AACA,WAAW,eAAe;AAC1B,SAAS;AACT,GAAG;AACH;AACA,WAAW,wDAAwD;AACnE,SAAS;AACT,GAAG;AACH;AACA,WAAW,yDAAyD;AACpE,SAAS;AACT,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,SAAS;AACT,GAAG;AACH;AACA,WAAW,eAAe;AAC1B,SAAS;AACT,GAAG;AACH;AACA,WAAW,wDAAwD;AACnE,SAAS;AACT,GAAG;AACH;AACA,WAAW,yDAAyD;AACpE,SAAS;AACT,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mD;;;;;;;ACrEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;AAC9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,GAAW;;AAEnC,eAAe,mBAAO,CAAC,EAAW;;AAElC,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,yBAAyB;AAC/C,GAAG,IAAI;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B,cAAc,EAAE;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH,E;;;;;;ACxPA,sC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAA0C;AAC/C,EAAE,iCAAO,CAAC,OAAS,EAAE,MAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACxC,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+EAA+E;;AAE/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,E;;;;;;;;;;;;;kBC/Qc,UAAUuG,QAAV,EAAoB;AACjC,SAAO,IAAI4F,kBAAJ,CAAa;AAClBC,aAASC,QAAQ9F,QAAR,KAAqB8F,QAAQC,EADpB;AAElBC,YAAQhG;AAFU,GAAb,CAAP;AAID,C;;AAzBD;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAM8F,UAAU;AACd,QAAMG,cADQ;AAEd,WAASA,cAFK;AAGd,WAASC,cAHK;AAId,QAAMC,YAJQ;AAKd,WAASC,cALK;AAMd,QAAMC,YANQ;AAOd,QAAMC,YAPQ;AAQd,QAAMC;AARQ,CAAhB,C;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;;AAGA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,kCAAE;AACf;AACA,KAAK;AAAA,oGAAC;AACN,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK;AAC1C;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,SAAS;AAC7C;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,UAAU,EAAE;AACxC,4BAA4B,wBAAwB,EAAE;AACtD,4BAA4B,sBAAsB,EAAE;AACpD,4BAA4B,mHAAmH,EAAE;AACjJ,4BAA4B,mDAAmD,EAAE;AACjF,4BAA4B,8FAA8F,EAAE;AAC5H,4BAA4B,iDAAiD;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA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AC,EAAqB;AAC5C,yBAAyB,mBAAO,CAAC,GAAsB;AACvD,sBAAsB,mBAAO,CAAC,GAAmB;AACjD,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;AC7Fa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;ACnDa;;AAEb,YAAY,mBAAO,CAAC,CAAY;AAChC,oBAAoB,mBAAO,CAAC,GAAiB;AAC7C,eAAe,mBAAO,CAAC,EAAoB;AAC3C,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9Ea;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,CAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXa;;AAEb,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCa;;AAEb,oBAAoB,mBAAO,CAAC,GAA0B;AACtD,kBAAkB,mBAAO,CAAC,GAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACba;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACpDa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDa;;AAEb,aAAa,mBAAO,CAAC,EAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;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RJ,aApBJ;AAqCGD,yBACC;AAAA;AAAA;AACE,sBAAMtN,QAAQ0K,QADhB;AAEE,2BAAU,iBAFZ;AAGE,uBAAM,MAHR;AAIE,wBAAO;AAJT;AAME,4CAAC,aAAD,IAAK,WAAU,aAAf,EAA6B,MAAK,MAAlC;AANF,aADD,GAUC;AAAA;AAAA,gBAAG,WAAU,kBAAb,EAAgC,OAAM,OAAtC,EAA8C,SAAS0C,aAAvD;AACE,4CAAC,aAAD,IAAK,WAAU,cAAf,EAA8B,MAAK,OAAnC;AADF;AA/CJ,WADF;AAqDE;AACE,uBAAU,+BADZ;AAEE,qCAAyB;AACvB7N,sBAAQS,QAAQ6N;AADO;AAF3B;AArDF;AARF,OADF;AAuED;;;EAvHkCpC,gB;;kBAAhBqB,O;;;;;;AC7BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;ACvBA,gjB;;;;;;ACAA,gf;;;;;;ACAA,6jC;;;;;;ACAA,2tB;;;;;;ACAA,se;;;;;;ACAA,sV;;;;;;ACAA,s8C;;;;;;ACAA,sBAAsB,mBAAO,CAAC,GAA+B;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpFA,kBAAkB,mBAAO,CAAC,GAA0B;AACpD,YAAY,mBAAO,CAAC,EAAmB;AACvC,0BAA0B,mBAAO,CAAC,GAAmC;AACrE,yBAAyB,mBAAO,CAAC,GAAkC;AACnE,eAAe,mBAAO,CAAC,GAAuB;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;;;;;;AC1MA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,+BAA+B,mBAAO,CAAC,GAAwC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,YAAY,mBAAO,CAAC,EAAmB;AACvC,iCAAiC,mBAAO,CAAC,GAA2C;AACpF,iBAAiB,mBAAO,CAAC,GAAyB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC/BA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;AClDA,iCAAiC,mBAAO,CAAC,GAA2C;AACpF,wBAAwB,mBAAO,CAAC,GAAgC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,0BAA0B,OAAO;AACjC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,sBAAsB,OAAO;AAC7B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,sBAAsB,OAAO;AAC7B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,sBAAsB,OAAO;AAC7B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,qBAAqB,OAAO;AAC5B,KAAK;;AAEL;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AClGA,kCAAkC,mBAAO,CAAC,GAAqD;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;;AAEA;AACA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","file":"gitalk-component.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Gitalk\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"Gitalk\"] = factory(root[\"react\"], root[\"react-dom\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_135__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 80);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap e6692ff8194a1d73ab83","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = merge(result[key], val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = deepMerge(result[key], val);\n    } else if (typeof val === 'object') {\n      result[key] = deepMerge({}, val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  deepMerge: deepMerge,\n  extend: extend,\n  trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/utils.js\n// module id = 3\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_export.js\n// module id = 4\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_an-object.js\n// module id = 5\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-dp.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-object.js\n// module id = 8\n// module chunks = 0","module.exports = require(\"react\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 9\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_hide.js\n// module id = 10\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_has.js\n// module id = 11\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_ctx.js\n// module id = 12\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_fails.js\n// module id = 13\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iterators.js\n// module id = 14\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-iobject.js\n// module id = 15\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-object.js\n// module id = 16\n// module chunks = 0","var isDate = require('../is_date/index.js')\n\nvar MILLISECONDS_IN_HOUR = 3600000\nvar MILLISECONDS_IN_MINUTE = 60000\nvar DEFAULT_ADDITIONAL_DIGITS = 2\n\nvar parseTokenDateTimeDelimeter = /[T ]/\nvar parseTokenPlainTime = /:/\n\n// year tokens\nvar parseTokenYY = /^(\\d{2})$/\nvar parseTokensYYY = [\n  /^([+-]\\d{2})$/, // 0 additional digits\n  /^([+-]\\d{3})$/, // 1 additional digit\n  /^([+-]\\d{4})$/ // 2 additional digits\n]\n\nvar parseTokenYYYY = /^(\\d{4})/\nvar parseTokensYYYYY = [\n  /^([+-]\\d{4})/, // 0 additional digits\n  /^([+-]\\d{5})/, // 1 additional digit\n  /^([+-]\\d{6})/ // 2 additional digits\n]\n\n// date tokens\nvar parseTokenMM = /^-(\\d{2})$/\nvar parseTokenDDD = /^-?(\\d{3})$/\nvar parseTokenMMDD = /^-?(\\d{2})-?(\\d{2})$/\nvar parseTokenWww = /^-?W(\\d{2})$/\nvar parseTokenWwwD = /^-?W(\\d{2})-?(\\d{1})$/\n\n// time tokens\nvar parseTokenHH = /^(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMM = /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMMSS = /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\n\n// timezone tokens\nvar parseTokenTimezone = /([Z+-].*)$/\nvar parseTokenTimezoneZ = /^(Z)$/\nvar parseTokenTimezoneHH = /^([+-])(\\d{2})$/\nvar parseTokenTimezoneHHMM = /^([+-])(\\d{2}):?(\\d{2})$/\n\n/**\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If all above fails, the function passes the given argument to Date constructor.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {Object} [options] - the object with options\n * @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parse('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Parse string '+02014101',\n * // if the additional number of digits in the extended year format is 1:\n * var result = parse('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction parse (argument, dirtyOptions) {\n  if (isDate(argument)) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime())\n  } else if (typeof argument !== 'string') {\n    return new Date(argument)\n  }\n\n  var options = dirtyOptions || {}\n  var additionalDigits = options.additionalDigits\n  if (additionalDigits == null) {\n    additionalDigits = DEFAULT_ADDITIONAL_DIGITS\n  } else {\n    additionalDigits = Number(additionalDigits)\n  }\n\n  var dateStrings = splitDateString(argument)\n\n  var parseYearResult = parseYear(dateStrings.date, additionalDigits)\n  var year = parseYearResult.year\n  var restDateString = parseYearResult.restDateString\n\n  var date = parseDate(restDateString, year)\n\n  if (date) {\n    var timestamp = date.getTime()\n    var time = 0\n    var offset\n\n    if (dateStrings.time) {\n      time = parseTime(dateStrings.time)\n    }\n\n    if (dateStrings.timezone) {\n      offset = parseTimezone(dateStrings.timezone)\n    } else {\n      // get offset accurate to hour in timezones that change offset\n      offset = new Date(timestamp + time).getTimezoneOffset()\n      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()\n    }\n\n    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)\n  } else {\n    return new Date(argument)\n  }\n}\n\nfunction splitDateString (dateString) {\n  var dateStrings = {}\n  var array = dateString.split(parseTokenDateTimeDelimeter)\n  var timeString\n\n  if (parseTokenPlainTime.test(array[0])) {\n    dateStrings.date = null\n    timeString = array[0]\n  } else {\n    dateStrings.date = array[0]\n    timeString = array[1]\n  }\n\n  if (timeString) {\n    var token = parseTokenTimezone.exec(timeString)\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], '')\n      dateStrings.timezone = token[1]\n    } else {\n      dateStrings.time = timeString\n    }\n  }\n\n  return dateStrings\n}\n\nfunction parseYear (dateString, additionalDigits) {\n  var parseTokenYYY = parseTokensYYY[additionalDigits]\n  var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]\n\n  var token\n\n  // YYYY or ±YYYYY\n  token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)\n  if (token) {\n    var yearString = token[1]\n    return {\n      year: parseInt(yearString, 10),\n      restDateString: dateString.slice(yearString.length)\n    }\n  }\n\n  // YY or ±YYY\n  token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)\n  if (token) {\n    var centuryString = token[1]\n    return {\n      year: parseInt(centuryString, 10) * 100,\n      restDateString: dateString.slice(centuryString.length)\n    }\n  }\n\n  // Invalid ISO-formatted year\n  return {\n    year: null\n  }\n}\n\nfunction parseDate (dateString, year) {\n  // Invalid ISO-formatted year\n  if (year === null) {\n    return null\n  }\n\n  var token\n  var date\n  var month\n  var week\n\n  // YYYY\n  if (dateString.length === 0) {\n    date = new Date(0)\n    date.setUTCFullYear(year)\n    return date\n  }\n\n  // YYYY-MM\n  token = parseTokenMM.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    date.setUTCFullYear(year, month)\n    return date\n  }\n\n  // YYYY-DDD or YYYYDDD\n  token = parseTokenDDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    var dayOfYear = parseInt(token[1], 10)\n    date.setUTCFullYear(year, 0, dayOfYear)\n    return date\n  }\n\n  // YYYY-MM-DD or YYYYMMDD\n  token = parseTokenMMDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    var day = parseInt(token[2], 10)\n    date.setUTCFullYear(year, month, day)\n    return date\n  }\n\n  // YYYY-Www or YYYYWww\n  token = parseTokenWww.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    return dayOfISOYear(year, week)\n  }\n\n  // YYYY-Www-D or YYYYWwwD\n  token = parseTokenWwwD.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    var dayOfWeek = parseInt(token[2], 10) - 1\n    return dayOfISOYear(year, week, dayOfWeek)\n  }\n\n  // Invalid ISO-formatted date\n  return null\n}\n\nfunction parseTime (timeString) {\n  var token\n  var hours\n  var minutes\n\n  // hh\n  token = parseTokenHH.exec(timeString)\n  if (token) {\n    hours = parseFloat(token[1].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR\n  }\n\n  // hh:mm or hhmm\n  token = parseTokenHHMM.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseFloat(token[2].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE\n  }\n\n  // hh:mm:ss or hhmmss\n  token = parseTokenHHMMSS.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseInt(token[2], 10)\n    var seconds = parseFloat(token[3].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE +\n      seconds * 1000\n  }\n\n  // Invalid ISO-formatted time\n  return null\n}\n\nfunction parseTimezone (timezoneString) {\n  var token\n  var absoluteOffset\n\n  // Z\n  token = parseTokenTimezoneZ.exec(timezoneString)\n  if (token) {\n    return 0\n  }\n\n  // ±hh\n  token = parseTokenTimezoneHH.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  // ±hh:mm or ±hhmm\n  token = parseTokenTimezoneHHMM.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  return 0\n}\n\nfunction dayOfISOYear (isoYear, week, day) {\n  week = week || 0\n  day = day || 0\n  var date = new Date(0)\n  date.setUTCFullYear(isoYear, 0, 4)\n  var fourthOfJanuaryDay = date.getUTCDay() || 7\n  var diff = week * 7 + day + 1 - fourthOfJanuaryDay\n  date.setUTCDate(date.getUTCDate() + diff)\n  return date\n}\n\nmodule.exports = parse\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/parse/index.js\n// module id = 17\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 18\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_library.js\n// module id = 19\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_property-desc.js\n// module id = 20\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-keys.js\n// module id = 21\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_cof.js\n// module id = 22\n// module chunks = 0","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_a-function.js\n// module id = 23\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_uid.js\n// module id = 24\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 25\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 26\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-pie.js\n// module id = 27\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-integer.js\n// module id = 28\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_defined.js\n// module id = 29\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_dom-create.js\n// module id = 30\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-primitive.js\n// module id = 31\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-create.js\n// module id = 32\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-length.js\n// module id = 33\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_shared-key.js\n// module id = 34\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_shared.js\n// module id = 35\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 36\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_classof.js\n// module id = 37\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 38\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(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 = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 39\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gops.js\n// module id = 40\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks-ext.js\n// module id = 41\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks-define.js\n// module id = 42\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.omit = omit;\nexports.arraysEqual = arraysEqual;\nvar isElementAnSFC = exports.isElementAnSFC = function isElementAnSFC(element) {\n  var isNativeDOMElement = typeof element.type === 'string';\n\n  if (isNativeDOMElement) {\n    return false;\n  }\n\n  return !element.type.prototype.isReactComponent;\n};\nfunction omit(obj) {\n  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n  var result = {};\n  Object.keys(obj).forEach(function (key) {\n    if (attrs.indexOf(key) === -1) {\n      result[key] = obj[key];\n    }\n  });\n  return result;\n}\n\nfunction arraysEqual(a, b) {\n  var sameObject = a === b;\n  if (sameObject) {\n    return true;\n  }\n\n  var notBothArrays = !Array.isArray(a) || !Array.isArray(b);\n  var differentLengths = a.length !== b.length;\n\n  if (notBothArrays || differentLengths) {\n    return false;\n  }\n\n  return a.every(function (element, index) {\n    return element === b[index];\n  });\n}\n\nfunction memoizeString(fn) {\n  var cache = {};\n\n  return function (str) {\n    if (!cache[str]) {\n      cache[str] = fn(str);\n    }\n    return cache[str];\n  };\n}\n\nvar hyphenate = exports.hyphenate = memoizeString(function (str) {\n  return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/helpers.js\n// module id = 43\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-define.js\n// module id = 45\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 46\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_redefine.js\n// module id = 47\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 48\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iobject.js\n// module id = 49\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_html.js\n// module id = 50\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gpo.js\n// module id = 51\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-call.js\n// module id = 52\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 53\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_species-constructor.js\n// module id = 54\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_task.js\n// module id = 55\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_perform.js\n// module id = 56\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 57\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-detect.js\n// module id = 58\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 59\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-sap.js\n// module id = 60\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 61\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/createClass.js\n// module id = 62\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 63\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/typeof.js\n// module id = 64\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopn.js\n// module id = 65\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopd.js\n// module id = 66\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/inherits.js\n// module id = 67\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/process/browser.js\n// module id = 68\n// module chunks = 0","import axios from 'axios'\n\nexport const queryParse = (search = window.location.search) => {\n  if (!search) return {}\n  const queryString = search[0] === '?' ? search.substring(1) : search\n  const query = {}\n  queryString\n    .split('&')\n    .forEach(queryStr => {\n      const [key, value] = queryStr.split('=')\n      /* istanbul ignore else */\n      if (key) query[decodeURIComponent(key)] = decodeURIComponent(value)\n    })\n\n  return query\n}\n\nexport const queryStringify = query => {\n  const queryString = Object.keys(query)\n    .map(key => `${key}=${encodeURIComponent(query[key] || '')}`)\n    .join('&')\n  return queryString\n}\n\nexport const axiosJSON = axios.create({\n  headers: {\n    'Accept': 'application/json'\n  }\n})\n\nexport const axiosGithub = axios.create({\n  baseURL: 'https://api.github.com',\n  headers: {\n    'Accept': 'application/json'\n  }\n})\n\nexport const getMetaContent = (name, content) => {\n  /* istanbul ignore next */\n  content || (content = 'content')\n  /* istanbul ignore next */\n  const el = window.document.querySelector(`meta[name='${name}']`)\n  /* istanbul ignore next */\n  return el && el.getAttribute(content)\n}\n\nexport const formatErrorMsg = err => {\n  let msg = 'Error: '\n  if (err.response && err.response.data && err.response.data.message) {\n    msg += `${err.response.data.message}. `\n    err.response.data.errors && (msg += err.response.data.errors.map(e => e.message).join(', '))\n  } else {\n    msg += err.message\n  }\n  return msg\n}\n\nexport const hasClassInParent = (element, ...className) => {\n  /* istanbul ignore next */\n  let yes = false\n  /* istanbul ignore next */\n  if (typeof element.className === 'undefined') return false\n  /* istanbul ignore next */\n  const classes = element.className.split(' ')\n  /* istanbul ignore next */\n  className.forEach((c, i) => {\n    /* istanbul ignore next */\n    yes = yes || (classes.indexOf(c) >= 0)\n  })\n  /* istanbul ignore next */\n  if (yes) return yes\n  /* istanbul ignore next */\n  return element.parentNode && hasClassInParent(element.parentNode, className)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./util.js","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/bind.js\n// module id = 70\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%40/gi, '@').\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/buildURL.js\n// module id = 71\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/isCancel.js\n// module id = 72\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = require('./adapters/xhr');\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = require('./adapters/http');\n  }\n  return adapter;\n}\n\nvar defaults = {\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data)) {\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n      return JSON.stringify(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    /*eslint no-param-reassign:0*/\n    if (typeof data === 'string') {\n      try {\n        data = JSON.parse(data);\n      } catch (e) { /* Ignore */ }\n    }\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/defaults.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password || '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    // Listen for ready state\n    request.onreadystatechange = function handleLoad() {\n      if (!request || request.readyState !== 4) {\n        return;\n      }\n\n      // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      }\n\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      var cookies = require('./../helpers/cookies');\n\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (requestData === undefined) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/adapters/xhr.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/createError.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n  var defaultToConfig2Keys = [\n    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n    'httpsAgent', 'cancelToken', 'socketPath'\n  ];\n\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    }\n  });\n\n  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n    if (utils.isObject(config2[prop])) {\n      config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n    } else if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (utils.isObject(config1[prop])) {\n      config[prop] = utils.deepMerge(config1[prop]);\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  var axiosKeys = valueFromConfig2Keys\n    .concat(mergeDeepPropertiesKeys)\n    .concat(defaultToConfig2Keys);\n\n  var otherKeys = Object\n    .keys(config2)\n    .filter(function filterAxiosKeys(key) {\n      return axiosKeys.indexOf(key) === -1;\n    });\n\n  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  return config;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/mergeConfig.js\n// module id = 76\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/Cancel.js\n// module id = 77\n// module chunks = 0","import React from 'react'\n\nexport default ({ src, className, alt, onError }) => (\n  <div className={`gt-avatar ${className}`}>\n    <img src={src} alt={`@${alt}`} onError={onError} />\n  </div>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/avatar.jsx","import React from 'react'\n\nexport default ({ className, text, name }) => (\n  <span className={`gt-ico ${className}`}>\n    <span className=\"gt-svg\" dangerouslySetInnerHTML={{\n      __html: require(`!!raw-loader!../assets/icon/${name}.svg`)\n    }}/>\n    {\n      text && <span className=\"gt-ico-text\">{text}</span>\n    }\n  </span>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/svg.jsx","import React, { Component } from 'react'\nimport FlipMove from 'react-flip-move'\nimport autosize from 'autosize'\n\nimport i18n from './i18n'\nimport './style/index.styl'\nimport {\n  queryParse,\n  queryStringify,\n  axiosJSON,\n  axiosGithub,\n  getMetaContent,\n  formatErrorMsg,\n  hasClassInParent\n} from './util'\nimport Avatar from './component/avatar'\nimport Button from './component/button'\nimport Action from './component/action'\nimport Comment from './component/comment'\nimport Svg from './component/svg'\nimport { GT_ACCESS_TOKEN, GT_VERSION, GT_COMMENT } from './const'\nimport QLGetComments from './graphql/getComments'\n\nclass GitalkComponent extends Component {\n  state = {\n    user: null,\n    issue: null,\n    comments: [],\n    localComments: [],\n    comment: '',\n    page: 1,\n    pagerDirection: 'last',\n    cursor: null,\n    previewHtml: '',\n\n    isNoInit: false,\n    isIniting: true,\n    isCreating: false,\n    isLoading: false,\n    isLoadMore: false,\n    isLoadOver: false,\n    isIssueCreating: false,\n    isPopupVisible: false,\n    isInputFocused: false,\n    isPreview: false,\n\n    isOccurError: false,\n    errorMsg: '',\n  }\n  constructor (props) {\n    super(props)\n    this.options = Object.assign({}, {\n      id: window.location.href,\n      number: -1,\n      labels: ['Gitalk'],\n      title: window.document.title,\n      body: '', // window.location.href + header.meta[description]\n      language: window.navigator.language || window.navigator.userLanguage,\n      perPage: 10,\n      pagerDirection: 'last', // last or first\n      createIssueManually: false,\n      distractionFreeMode: false,\n      proxy: 'https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token',\n      flipMoveOptions: {\n        staggerDelayBy: 150,\n        appearAnimation: 'accordionVertical',\n        enterAnimation: 'accordionVertical',\n        leaveAnimation: 'accordionVertical',\n      },\n      enableHotKey: true,\n\n      url: window.location.href,\n\n      defaultAuthor: {\n        avatarUrl: '//avatars1.githubusercontent.com/u/29697133?s=50',\n        login: 'null',\n        url: '',\n      },\n\n      updateCountCallback: null\n    }, props.options)\n\n    this.state.pagerDirection = this.options.pagerDirection\n    const storedComment = window.localStorage.getItem(GT_COMMENT)\n    if (storedComment) {\n      this.state.comment = decodeURIComponent(storedComment)\n      window.localStorage.removeItem(GT_COMMENT)\n    }\n\n    const query = queryParse()\n    if (query.code) {\n      const code = query.code\n      delete query.code\n      const replacedUrl = `${window.location.origin}${window.location.pathname}${queryStringify(query)}${window.location.hash}`\n      history.replaceState(null, null, replacedUrl)\n      this.options = Object.assign({}, this.options, {\n        url: replacedUrl,\n        id: replacedUrl\n      }, props.options)\n\n      axiosJSON.post(this.options.proxy, {\n        code,\n        client_id: this.options.clientID,\n        client_secret: this.options.clientSecret\n      }).then(res => {\n        if (res.data && res.data.access_token) {\n          this.accessToken = res.data.access_token\n\n          this.getInit()\n            .then(() => this.setState({ isIniting: false }))\n            .catch(err => {\n              console.log('err:', err)\n              this.setState({\n                isIniting: false,\n                isOccurError: true,\n                errorMsg: formatErrorMsg(err)\n              })\n            })\n        } else {\n          // no access_token\n          console.log('res.data err:', res.data)\n          this.setState({\n            isOccurError: true,\n            errorMsg: formatErrorMsg(new Error('no access token'))\n          })\n        }\n      }).catch(err => {\n        console.log('err: ', err)\n        this.setState({\n          isOccurError: true,\n          errorMsg: formatErrorMsg(err)\n        })\n      })\n    } else {\n      this.getInit()\n        .then(() => this.setState({ isIniting: false }))\n        .catch(err => {\n          console.log('err:', err)\n          this.setState({\n            isIniting: false,\n            isOccurError: true,\n            errorMsg: formatErrorMsg(err)\n          })\n        })\n    }\n\n    this.i18n = i18n(this.options.language)\n  }\n  componentDidUpdate () {\n    this.commentEL && autosize(this.commentEL)\n  }\n\n  get accessToken () {\n    return this._accessToke || window.localStorage.getItem(GT_ACCESS_TOKEN)\n  }\n  set accessToken (token) {\n    window.localStorage.setItem(GT_ACCESS_TOKEN, token)\n    this._accessToken = token\n  }\n  get loginLink () {\n    const githubOauthUrl = 'https://github.com/login/oauth/authorize'\n    const { clientID } = this.options\n    const query = {\n      client_id: clientID,\n      redirect_uri: window.location.href,\n      scope: 'public_repo'\n    }\n    return `${githubOauthUrl}?${queryStringify(query)}`\n  }\n  get isAdmin () {\n    const { admin } = this.options\n    const { user } = this.state\n\n    return user && ~[].concat(admin).map(a => a.toLowerCase()).indexOf(user.login.toLowerCase())\n  }\n\n  getInit () {\n    return this.getUserInfo().then(() => this.getIssue()).then(issue => this.getComments(issue))\n  }\n  getUserInfo () {\n    return axiosGithub.get('/user', {\n      headers: {\n        Authorization: `token ${this.accessToken}`\n      }\n    }).then(res => {\n      this.setState({ user: res.data })\n    }).catch(err => {\n      this.logout()\n    })\n  }\n  getIssueById () {\n    const { owner, repo, number, clientID, clientSecret } = this.options\n    const getUrl = `/repos/${owner}/${repo}/issues/${number}`\n\n    return new Promise((resolve, reject) => {\n      axiosGithub.get(getUrl, {\n        auth: {\n          username: clientID,\n          password: clientSecret\n        },\n        params: {\n          t: Date.now()\n        }\n      })\n        .then(res => {\n          let issue = null\n\n          if (res && res.data && res.data.number === number) {\n            issue = res.data\n\n            this.setState({ issue, isNoInit: false })\n          }\n          resolve(issue)\n        })\n        .catch(err => {\n          // When the status code is 404, promise will be resolved with null\n          if (err.response.status === 404) resolve(null)\n          reject(err)\n        })\n    })\n  }\n  getIssueByLabels () {\n    const { owner, repo, id, labels, clientID, clientSecret } = this.options\n\n    return axiosGithub.get(`/repos/${owner}/${repo}/issues`, {\n      auth: {\n        username: clientID,\n        password: clientSecret\n      },\n      params: {\n        labels: labels.concat(id).join(','),\n        t: Date.now()\n      }\n    }).then(res => {\n      const { createIssueManually } = this.options\n      let isNoInit = false\n      let issue = null\n      if (!(res && res.data && res.data.length)) {\n        if (!createIssueManually && this.isAdmin) {\n          return this.createIssue()\n        }\n\n        isNoInit = true\n      } else {\n        issue = res.data[0]\n      }\n      this.setState({ issue, isNoInit })\n      return issue\n    })\n  }\n  getIssue () {\n    const { number } = this.options\n    const { issue } = this.state\n    if (issue) {\n      this.setState({ isNoInit: false })\n      return Promise.resolve(issue)\n    }\n\n    if (typeof number === 'number' && number > 0) {\n      return this.getIssueById().then(resIssue => {\n        if (!resIssue) return this.getIssueByLabels()\n        return resIssue\n      })\n    }\n    return this.getIssueByLabels()\n  }\n  createIssue () {\n    const { owner, repo, title, body, id, labels, url } = this.options\n    return axiosGithub.post(`/repos/${owner}/${repo}/issues`, {\n      title,\n      labels: labels.concat(id),\n      body: body || `${url} \\n\\n ${\n        getMetaContent('description') ||\n        getMetaContent('description', 'og:description') || ''\n      }`\n    }, {\n      headers: {\n        Authorization: `token ${this.accessToken}`\n      }\n    }).then(res => {\n      this.setState({ issue: res.data })\n      return res.data\n    })\n  }\n  // Get comments via v3 api, don't require login, but sorting feature is disable\n  getCommentsV3 = issue => {\n    const { clientID, clientSecret, perPage } = this.options\n    const { page } = this.state\n\n    return this.getIssue()\n      .then(issue => {\n        if (!issue) return\n\n        return axiosGithub.get(issue.comments_url, {\n          headers: {\n            Accept: 'application/vnd.github.v3.full+json'\n          },\n          auth: {\n            username: clientID,\n            password: clientSecret\n          },\n          params: {\n            per_page: perPage,\n            page\n          }\n        }).then(res => {\n          const { comments, issue } = this.state\n          let isLoadOver = false\n          const cs = comments.concat(res.data)\n          if (cs.length >= issue.comments || res.data.length < perPage) {\n            isLoadOver = true\n          }\n          this.setState({\n            comments: cs,\n            isLoadOver,\n            page: page + 1\n          })\n          return cs\n        })\n      })\n  }\n  getComments (issue) {\n    if (!issue) return\n    // Get comments via v4 graphql api, login required and sorting feature is available\n    if (this.accessToken) return QLGetComments.call(this, issue)\n    return this.getCommentsV3(issue)\n  }\n\n  createComment () {\n    const { comment, localComments, comments } = this.state\n\n    return this.getIssue()\n      .then(issue => axiosGithub.post(issue.comments_url, {\n        body: comment\n      }, {\n        headers: {\n          Accept: 'application/vnd.github.v3.full+json',\n          Authorization: `token ${this.accessToken}`\n        }\n      }))\n      .then(res => {\n        this.setState({\n          comment: '',\n          comments: comments.concat(res.data),\n          localComments: localComments.concat(res.data)\n        })\n      })\n  }\n  logout () {\n    this.setState({ user: null })\n    window.localStorage.removeItem(GT_ACCESS_TOKEN)\n  }\n  getRef = e => {\n    this.publicBtnEL = e\n  }\n  reply = replyComment => () => {\n    const { comment } = this.state\n    const replyCommentBody = replyComment.body\n    let replyCommentArray = replyCommentBody.split('\\n')\n    replyCommentArray.unshift(`@${replyComment.user.login}`)\n    replyCommentArray = replyCommentArray.map(t => `> ${t}`)\n    replyCommentArray.push('')\n    replyCommentArray.push('')\n    if (comment) replyCommentArray.unshift('')\n    this.setState({ comment: comment + replyCommentArray.join('\\n') }, () => {\n      autosize.update(this.commentEL)\n      this.commentEL.focus()\n    })\n  }\n  like (comment) {\n    const { owner, repo } = this.options\n    const { user } = this.state\n    let { comments } = this.state\n\n    axiosGithub.post(`/repos/${owner}/${repo}/issues/comments/${comment.id}/reactions`, {\n      content: 'heart'\n    }, {\n      headers: {\n        Authorization: `token ${this.accessToken}`,\n        Accept: 'application/vnd.github.squirrel-girl-preview'\n      }\n    }).then(res => {\n      comments = comments.map(c => {\n        if (c.id === comment.id) {\n          if (c.reactions) {\n            if (!~c.reactions.nodes.findIndex(n => n.user.login === user.login)) {\n              c.reactions.totalCount += 1\n            }\n          } else {\n            c.reactions = { nodes: [] }\n            c.reactions.totalCount = 1\n          }\n\n          c.reactions.nodes.push(res.data)\n          c.reactions.viewerHasReacted = true\n        }\n        return c\n      })\n\n      this.setState({\n        comments\n      })\n    })\n  }\n  unLike (comment) {\n    const { user } = this.state\n    let { comments } = this.state\n\n    // const {  user } = this.state\n    // let id\n    // comment.reactions.nodes.forEach(r => {\n    //   if (r.user.login = user.login) id = r.databaseId\n    // })\n    // return axiosGithub.delete(`/reactions/${id}`, {\n    //   headers: {\n    //     Authorization: `token ${this.accessToken}`,\n    //     Accept: 'application/vnd.github.squirrel-girl-preview'\n    //   }\n    // }).then(res => {\n    //   console.log('res:', res)\n    // })\n\n    const getQL = id => ({\n      operationName: 'RemoveReaction',\n      query: `\n          mutation RemoveReaction{\n            removeReaction (input:{\n              subjectId: \"${id}\",\n              content: HEART\n            }) {\n              reaction {\n                content\n              }\n            }\n          }\n        `\n    })\n\n    axiosGithub.post('/graphql', getQL(comment.gId), {\n      headers: {\n        Authorization: `bearer ${this.accessToken}`\n      }\n    }).then(res => {\n      if (res.data) {\n        comments = comments.map(c => {\n          if (c.id === comment.id) {\n            const index = c.reactions.nodes.findIndex(n => n.user.login === user.login)\n            if (~index) {\n              c.reactions.totalCount -= 1\n              c.reactions.nodes.splice(index, 1)\n            }\n            c.reactions.viewerHasReacted = false\n          }\n          return c\n        })\n\n        this.setState({\n          comments\n        })\n      }\n    })\n  }\n\n\n  handlePopup = e => {\n    e.preventDefault()\n    e.stopPropagation()\n    const isVisible = !this.state.isPopupVisible\n    const hideHandle = e1 => {\n      if (hasClassInParent(e1.target, 'gt-user', 'gt-popup')) {\n        return\n      }\n      window.document.removeEventListener('click', hideHandle)\n      this.setState({ isPopupVisible: false })\n    }\n    this.setState({ isPopupVisible: isVisible })\n    if (isVisible) {\n      window.document.addEventListener('click', hideHandle)\n    } else {\n      window.document.removeEventListener('click', hideHandle)\n    }\n  }\n  handleLogin = () => {\n    const { comment } = this.state\n    window.localStorage.setItem(GT_COMMENT, encodeURIComponent(comment))\n    window.location.href = this.loginLink\n  }\n  handleIssueCreate = () => {\n    this.setState({ isIssueCreating: true })\n    this.createIssue().then(issue => {\n      this.setState({\n        isIssueCreating: false,\n        isOccurError: false\n      })\n      return this.getComments(issue)\n    }).catch(err => {\n      this.setState({\n        isIssueCreating: false,\n        isOccurError: true,\n        errorMsg: formatErrorMsg(err)\n      })\n    }).then(res => {\n      if (res) {\n        this.setState({\n          isNoInit: false,\n        })\n      }\n    })\n  }\n  handleCommentCreate = e => {\n    if (!this.state.comment.length) {\n      e && e.preventDefault()\n      this.commentEL.focus()\n      return\n    }\n    this.setState(state => {\n      if (state.isCreating) return\n\n      this.createComment()\n        .then(() => this.setState({\n          isCreating: false,\n          isOccurError: false\n        }))\n        .catch(err => {\n          this.setState({\n            isCreating: false,\n            isOccurError: true,\n            errorMsg: formatErrorMsg(err)\n          })\n        })\n      return { isCreating: true }\n    })\n  }\n  handleCommentPreview = e => {\n    this.setState({\n      isPreview: !this.state.isPreview\n    })\n\n    axiosGithub.post('/markdown', {\n      text: this.state.comment\n    }, {\n      headers: this.accessToken && { Authorization: `token ${this.accessToken}` }\n    }).then(res => {\n      this.setState({\n        previewHtml: res.data\n      })\n    }).catch(err => {\n      this.setState({\n        isOccurError: true,\n        errorMsg: formatErrorMsg(err)\n      })\n    })\n  }\n  handleCommentLoad = () => {\n    const { issue, isLoadMore } = this.state\n    if (isLoadMore) return\n    this.setState({ isLoadMore: true })\n    this.getComments(issue).then(() => this.setState({ isLoadMore: false }))\n  }\n  handleCommentChange = e => this.setState({ comment: e.target.value })\n  handleLogout = () => {\n    this.logout()\n    window.location.reload()\n  }\n  handleCommentFocus = e => {\n    const { distractionFreeMode } = this.options\n    if (!distractionFreeMode) return e.preventDefault()\n    this.setState({ isInputFocused: true })\n  }\n  handleCommentBlur = e => {\n    const { distractionFreeMode } = this.options\n    if (!distractionFreeMode) return e.preventDefault()\n    this.setState({ isInputFocused: false })\n  }\n  handleSort = direction => e => {\n    this.setState({ pagerDirection: direction })\n  }\n  handleCommentKeyDown = e => {\n    const { enableHotKey } = this.options\n    if (enableHotKey && (e.metaKey || e.ctrlKey) && e.keyCode === 13) {\n      this.publicBtnEL && this.publicBtnEL.focus()\n      this.handleCommentCreate()\n    }\n  }\n\n  initing () {\n    return <div className=\"gt-initing\">\n      <i className=\"gt-loader\"/>\n      <p className=\"gt-initing-text\">{this.i18n.t('init')}</p>\n    </div>\n  }\n  noInit () {\n    const { user, isIssueCreating } = this.state\n    const { owner, repo, admin } = this.options\n    return (\n      <div className=\"gt-no-init\" key=\"no-init\">\n        <p dangerouslySetInnerHTML={{\n          __html: this.i18n.t('no-found-related', {\n            link: `<a href=\"https://github.com/${owner}/${repo}/issues\">Issues</a>`\n          })\n        }}/>\n        <p>{this.i18n.t('please-contact', { user: [].concat(admin).map(u => `@${u}`).join(' ') })}</p>\n        {this.isAdmin ? <p>\n          <Button onClick={this.handleIssueCreate} isLoading={isIssueCreating} text={this.i18n.t('init-issue')} />\n        </p> : null}\n        {!user && <Button className=\"gt-btn-login\" onClick={this.handleLogin} text={this.i18n.t('login-with-github')} />}\n      </div>\n    )\n  }\n\n  handleImageErrored(obj) {\n    obj.target.src=\"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n  }\n  header () {\n    const { user, comment, isCreating, previewHtml, isPreview } = this.state\n    return (\n      <div className=\"gt-header\" key=\"header\">\n        {user ?\n          <Avatar className=\"gt-header-avatar\" src={user.avatar_url} alt={user.login} onError={this.handleImageErrored.bind(this)} />:\n          <a className=\"gt-avatar-github\" onMouseDown={this.handleLogin}>\n            <Svg className=\"gt-ico-github\" name=\"github\"/>\n          </a>\n        }\n        <div className=\"gt-header-comment\">\n          <textarea\n            ref={t => { this.commentEL = t }}\n            className={`gt-header-textarea ${isPreview ? 'hide' : ''}`}\n            value={comment}\n            onChange={this.handleCommentChange}\n            onFocus={this.handleCommentFocus}\n            onBlur={this.handleCommentBlur}\n            onKeyDown={this.handleCommentKeyDown}\n            placeholder={this.i18n.t('leave-a-comment')}\n          />\n          <div\n            className={`gt-header-preview markdown-body ${isPreview ? '' : 'hide'}`}\n            dangerouslySetInnerHTML={{ __html: previewHtml }}\n          />\n          <div className=\"gt-header-controls\">\n            <a className=\"gt-header-controls-tip\" href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">\n              <Svg className=\"gt-ico-tip\" name=\"tip\" text={this.i18n.t('support-markdown')}/>\n            </a>\n            {user && <Button\n              getRef={this.getRef}\n              className=\"gt-btn-public\"\n              onMouseDown={this.handleCommentCreate}\n              text={this.i18n.t('comment')}\n              isLoading={isCreating}\n            />}\n\n            <Button\n              className=\"gt-btn-preview\"\n              onMouseDown={this.handleCommentPreview}\n              text={isPreview ? this.i18n.t('edit') : this.i18n.t('preview')}\n              // isLoading={isPreviewing}\n            />\n            {!user && <Button className=\"gt-btn-login\" onMouseDown={this.handleLogin} text={this.i18n.t('login-with-github')} />}\n          </div>\n        </div>\n      </div>\n    )\n  }\n  comments () {\n    const { user, comments, isLoadOver, isLoadMore, pagerDirection } = this.state\n    const { language, flipMoveOptions, admin } = this.options\n    const totalComments = comments.concat([])\n    if (pagerDirection === 'last' && this.accessToken) {\n      totalComments.reverse()\n    }\n    return (\n      <div className=\"gt-comments\" key=\"comments\">\n        <FlipMove {...flipMoveOptions}>\n          {totalComments.map(c => (\n            <Comment\n              comment={c}\n              key={c.id}\n              user={user}\n              language={language}\n              commentedText={this.i18n.t('commented')}\n              admin={admin}\n              replyCallback={this.reply(c)}\n              likeCallback={c.reactions && c.reactions.viewerHasReacted ? this.unLike.bind(this, c) : this.like.bind(this, c)}\n            />\n          ))}\n        </FlipMove>\n        {!totalComments.length && <p className=\"gt-comments-null\">{this.i18n.t('first-comment-person')}</p>}\n        {(!isLoadOver && totalComments.length) ? <div className=\"gt-comments-controls\">\n          <Button className=\"gt-btn-loadmore\" onClick={this.handleCommentLoad} isLoading={isLoadMore} text={this.i18n.t('load-more')} />\n        </div> : null}\n      </div>\n    )\n  }\n  meta () {\n    const { user, issue, isPopupVisible, pagerDirection, localComments } = this.state\n    const cnt = (issue && issue.comments) + localComments.length\n    const isDesc = pagerDirection === 'last'\n    const { updateCountCallback } = this.options\n\n    // window.GITALK_COMMENTS_COUNT = cnt\n    if (\n      updateCountCallback &&\n      {}.toString.call(updateCountCallback) === '[object Function]'\n    ) {\n      try {\n        updateCountCallback(cnt)\n      } catch (err) {\n        console.log('An error occurred executing the updateCountCallback:', err)\n      }\n    }\n\n    return (\n      <div className=\"gt-meta\" key=\"meta\" >\n        <span className=\"gt-counts\" dangerouslySetInnerHTML={{\n          __html: this.i18n.t('counts', {\n            counts: `<a class=\"gt-link gt-link-counts\" href=\"${issue && issue.html_url}\" target=\"_blank\">${cnt}</a>`,\n            smart_count: cnt\n          })\n        }}/>\n        {isPopupVisible &&\n          <div className=\"gt-popup\">\n            {user ? <Action className={`gt-action-sortasc${!isDesc ? ' is--active' : ''}`} onClick={this.handleSort('first')} text={this.i18n.t('sort-asc')}/> : null }\n            {user ? <Action className={`gt-action-sortdesc${isDesc ? ' is--active' : ''}`} onClick={this.handleSort('last')} text={this.i18n.t('sort-desc')}/> : null }\n            {user ?\n              <Action className=\"gt-action-logout\" onClick={this.handleLogout} text={this.i18n.t('logout')}/> :\n              <a className=\"gt-action gt-action-login\" onMouseDown={this.handleLogin}>{this.i18n.t('login-with-github')}</a>\n            }\n            <div className=\"gt-copyright\">\n              <a className=\"gt-link gt-link-project\" href=\"https://github.com/gitalk/gitalk\" target=\"_blank\">Gitalk</a>\n              <span className=\"gt-version\">{GT_VERSION}</span>\n            </div>\n          </div>\n        }\n        <div className=\"gt-user\">\n          {user ?\n            <div className={isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner'} onClick={this.handlePopup}>\n              <span className=\"gt-user-name\">{user.login}</span>\n              <Svg className=\"gt-ico-arrdown\" name=\"arrow_down\"/>\n            </div> :\n            <div className={isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner'} onClick={this.handlePopup}>\n              <span className=\"gt-user-name\">{this.i18n.t('anonymous')}</span>\n              <Svg className=\"gt-ico-arrdown\" name=\"arrow_down\"/>\n            </div>\n          }\n        </div>\n      </div>\n    )\n  }\n\n  render () {\n    const { isIniting, isNoInit, isOccurError, errorMsg, isInputFocused } = this.state\n    return (\n      <div className={`gt-container${isInputFocused ? ' gt-input-focused' : ''}`}>\n        {isIniting && this.initing()}\n        {!isIniting && (\n          isNoInit ? [\n          ] : [\n            this.meta()\n          ])\n        }\n        {isOccurError && <div className=\"gt-error\">\n          {errorMsg}\n        </div>}\n        {!isIniting && (\n          isNoInit ? [\n            this.noInit()\n          ] : [\n            this.header(),\n            this.comments()\n          ])\n        }\n      </div>\n    )\n  }\n}\n\nmodule.exports = GitalkComponent\n\n\n\n// WEBPACK FOOTER //\n// ./gitalk.jsx","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/promise.js\n// module id = 81\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/promise.js\n// module id = 82\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_string-at.js\n// module id = 83\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-create.js\n// module id = 84\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-dps.js\n// module id = 85\n// module chunks = 0","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_array-includes.js\n// module id = 86\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 87\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 88\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 89\n// module chunks = 0","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-step.js\n// module id = 90\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\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      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\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 (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may 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            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\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 values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(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.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\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      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.promise.js\n// module id = 91\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_an-instance.js\n// module id = 92\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_for-of.js\n// module id = 93\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_invoke.js\n// module id = 94\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return 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};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_microtask.js\n// module id = 95\n// module chunks = 0","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_user-agent.js\n// module id = 96\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_redefine-all.js\n// module id = 97\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-species.js\n// module id = 98\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\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\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 99\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 100\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/assign.js\n// module id = 101\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/assign.js\n// module id = 102\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 103\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-assign.js\n// module id = 104\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 105\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 106\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 107\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/define-property.js\n// module id = 108\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 109\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 110\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 111\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/symbol.js\n// module id = 112\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/symbol/index.js\n// module id = 113\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\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\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.symbol.js\n// module id = 114\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\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    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\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    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_meta.js\n// module id = 115\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_enum-keys.js\n// module id = 116\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-array.js\n// module id = 117\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 118\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 119\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 120\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 121\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 122\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 123\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-proto.js\n// module id = 124\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/create.js\n// module id = 125\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/create.js\n// module id = 126\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.create.js\n// module id = 127\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _FlipMove = require('./FlipMove');\n\nvar _FlipMove2 = _interopRequireDefault(_FlipMove);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _FlipMove2.default;\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n */\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/index.js\n// module id = 128\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nrequire('./polyfills');\n\nvar _propConverter = require('./prop-converter');\n\nvar _propConverter2 = _interopRequireDefault(_propConverter);\n\nvar _domManipulation = require('./dom-manipulation');\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * For information on how this code is laid out, check out CODE_TOUR.md\n */\n\n/* eslint-disable react/prop-types */\n\nvar transitionEnd = (0, _domManipulation.whichTransitionEvent)();\nvar noBrowserSupport = !transitionEnd;\n\nfunction getKey(childData) {\n  return childData.key || '';\n}\n\nvar FlipMove = function (_Component) {\n  _inherits(FlipMove, _Component);\n\n  function FlipMove() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, FlipMove);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FlipMove.__proto__ || Object.getPrototypeOf(FlipMove)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      children: _react.Children.toArray(_this.props.children).map(function (element) {\n        return _extends({}, element, {\n          element: element,\n          appearing: true\n        });\n      })\n    }, _this.childrenData = {}, _this.parentData = {\n      domNode: null,\n      boundingBox: null\n    }, _this.heightPlaceholderData = {\n      domNode: null\n    }, _this.remainingAnimations = 0, _this.childrenToAnimate = [], _this.runAnimation = function () {\n      var dynamicChildren = _this.state.children.filter(_this.doesChildNeedToBeAnimated);\n\n      dynamicChildren.forEach(function (child, n) {\n        _this.remainingAnimations += 1;\n        _this.childrenToAnimate.push(getKey(child));\n        _this.animateChild(child, n);\n      });\n\n      if (typeof _this.props.onStartAll === 'function') {\n        _this.callChildrenHook(_this.props.onStartAll);\n      }\n    }, _this.doesChildNeedToBeAnimated = function (child) {\n      // If the child doesn't have a key, it's an immovable child (one that we\n      // do not want to do FLIP stuff to.)\n      if (!getKey(child)) {\n        return false;\n      }\n\n      var childData = _this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = _this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return false;\n      }\n\n      var _this$props = _this.props,\n          appearAnimation = _this$props.appearAnimation,\n          enterAnimation = _this$props.enterAnimation,\n          leaveAnimation = _this$props.leaveAnimation,\n          getPosition = _this$props.getPosition;\n\n\n      var isAppearingWithAnimation = child.appearing && appearAnimation;\n      var isEnteringWithAnimation = child.entering && enterAnimation;\n      var isLeavingWithAnimation = child.leaving && leaveAnimation;\n\n      if (isAppearingWithAnimation || isEnteringWithAnimation || isLeavingWithAnimation) {\n        return true;\n      }\n\n      // If it isn't entering/leaving, we want to animate it if it's\n      // on-screen position has changed.\n\n      var _getPositionDelta = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: getPosition\n      }),\n          _getPositionDelta2 = _slicedToArray(_getPositionDelta, 2),\n          dX = _getPositionDelta2[0],\n          dY = _getPositionDelta2[1];\n\n      return dX !== 0 || dY !== 0;\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n  // Copy props.children into state.\n  // To understand why this is important (and not an anti-pattern), consider\n  // how \"leave\" animations work. An item has \"left\" when the component\n  // receives a new set of props that do NOT contain the item.\n  // If we just render the props as-is, the item would instantly disappear.\n  // We want to keep the item rendered for a little while, until its animation\n  // can complete. Because we cannot mutate props, we make `state` the source\n  // of truth.\n\n\n  // FlipMove needs to know quite a bit about its children in order to do\n  // its job. We store these as a property on the instance. We're not using\n  // state, because we don't want changes to trigger re-renders, we just\n  // need a place to keep the data for reference, when changes happen.\n  // This field should not be accessed directly. Instead, use getChildData,\n  // putChildData, etc...\n\n\n  // Similarly, track the dom node and box of our parent element.\n\n\n  // If `maintainContainerHeight` prop is set to true, we'll create a\n  // placeholder element which occupies space so that the parent height\n  // doesn't change when items are removed from the document flow (which\n  // happens during leave animations)\n\n\n  // Keep track of remaining animations so we know when to fire the\n  // all-finished callback, and clean up after ourselves.\n  // NOTE: we can't simply use childrenToAnimate.length to track remaining\n  // animations, because we need to maintain the list of animating children,\n  // to pass to the `onFinishAll` handler.\n\n\n  _createClass(FlipMove, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      // Run our `appearAnimation` if it was requested, right after the\n      // component mounts.\n      var shouldTriggerFLIP = this.props.appearAnimation && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'componentWillReceiveProps',\n    value: function componentWillReceiveProps(nextProps) {\n      // When the component is handed new props, we need to figure out the\n      // \"resting\" position of all currently-rendered DOM nodes.\n      // We store that data in this.parent and this.children,\n      // so it can be used later to work out the animation.\n      this.updateBoundingBoxCaches();\n\n      // Convert opaque children object to array.\n      var nextChildren = _react.Children.toArray(nextProps.children);\n\n      // Next, we need to update our state, so that it contains our new set of\n      // children. If animation is disabled or unsupported, this is easy;\n      // we just copy our props into state.\n      // Assuming that we can animate, though, we have to do some work.\n      // Essentially, we want to keep just-deleted nodes in the DOM for a bit\n      // longer, so that we can animate them away.\n      this.setState({\n        children: this.isAnimationDisabled(nextProps) ? nextChildren.map(function (element) {\n          return _extends({}, element, { element: element });\n        }) : this.calculateNextSetOfChildren(nextChildren)\n      });\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(previousProps) {\n      // If the children have been re-arranged, moved, or added/removed,\n      // trigger the main FLIP animation.\n      //\n      // IMPORTANT: We need to make sure that the children have actually changed.\n      // At the end of the transition, we clean up nodes that need to be removed.\n      var oldChildrenKeys = _react.Children.toArray(this.props.children).map(function (d) {\n        return d.key;\n      });\n      var nextChildrenKeys = _react.Children.toArray(previousProps.children).map(function (d) {\n        return d.key;\n      });\n\n      var shouldTriggerFLIP = !(0, _helpers.arraysEqual)(oldChildrenKeys, nextChildrenKeys) && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'calculateNextSetOfChildren',\n    value: function calculateNextSetOfChildren(nextChildren) {\n      var _this2 = this;\n\n      // We want to:\n      //   - Mark all new children as `entering`\n      //   - Pull in previous children that aren't in nextChildren, and mark them\n      //     as `leaving`\n      //   - Preserve the nextChildren list order, with leaving children in their\n      //     appropriate places.\n      //\n\n      var updatedChildren = nextChildren.map(function (nextChild) {\n        var child = _this2.findChildByKey(nextChild.key || '');\n\n        // If the current child did exist, but it was in the midst of leaving,\n        // we want to treat it as though it's entering\n        var isEntering = !child || child.leaving;\n\n        return _extends({}, nextChild, { element: nextChild, entering: isEntering });\n      });\n\n      // This is tricky. We want to keep the nextChildren's ordering, but with\n      // any just-removed items maintaining their original position.\n      // eg.\n      //   this.state.children  = [ 1, 2, 3, 4 ]\n      //   nextChildren         = [ 3, 1 ]\n      //\n      // In this example, we've removed the '2' & '4'\n      // We want to end up with:  [ 2, 3, 1, 4 ]\n      //\n      // To accomplish that, we'll iterate through this.state.children. whenever\n      // we find a match, we'll append our `leaving` flag to it, and insert it\n      // into the nextChildren in its ORIGINAL position. Note that, as we keep\n      // inserting old items into the new list, the \"original\" position will\n      // keep incrementing.\n      var numOfChildrenLeaving = 0;\n      this.state.children.forEach(function (child, index) {\n        var isLeaving = !nextChildren.find(function (_ref2) {\n          var key = _ref2.key;\n          return key === getKey(child);\n        });\n\n        // If the child isn't leaving (or, if there is no leave animation),\n        // we don't need to add it into the state children.\n        if (!isLeaving || !_this2.props.leaveAnimation) return;\n\n        var nextChild = _extends({}, child, { leaving: true });\n        var nextChildIndex = index + numOfChildrenLeaving;\n\n        updatedChildren.splice(nextChildIndex, 0, nextChild);\n        numOfChildrenLeaving += 1;\n      });\n\n      return updatedChildren;\n    }\n  }, {\n    key: 'prepForAnimation',\n    value: function prepForAnimation() {\n      var _this3 = this;\n\n      // Our animation prep consists of:\n      // - remove children that are leaving from the DOM flow, so that the new\n      //   layout can be accurately calculated,\n      // - update the placeholder container height, if needed, to ensure that\n      //   the parent's height doesn't collapse.\n\n      var _props = this.props,\n          leaveAnimation = _props.leaveAnimation,\n          maintainContainerHeight = _props.maintainContainerHeight,\n          getPosition = _props.getPosition;\n\n      // we need to make all leaving nodes \"invisible\" to the layout calculations\n      // that will take place in the next step (this.runAnimation).\n\n      if (leaveAnimation) {\n        var leavingChildren = this.state.children.filter(function (child) {\n          return child.leaving;\n        });\n\n        leavingChildren.forEach(function (leavingChild) {\n          var childData = _this3.getChildData(getKey(leavingChild));\n\n          // We need to take the items out of the \"flow\" of the document, so that\n          // its siblings can move to take its place.\n          if (childData.boundingBox) {\n            (0, _domManipulation.removeNodeFromDOMFlow)(childData, _this3.props.verticalAlignment);\n          }\n        });\n\n        if (maintainContainerHeight && this.heightPlaceholderData.domNode) {\n          (0, _domManipulation.updateHeightPlaceholder)({\n            domNode: this.heightPlaceholderData.domNode,\n            parentData: this.parentData,\n            getPosition: getPosition\n          });\n        }\n      }\n\n      // For all children not in the middle of entering or leaving,\n      // we need to reset the transition, so that the NEW shuffle starts from\n      // the right place.\n      this.state.children.forEach(function (child) {\n        var _getChildData = _this3.getChildData(getKey(child)),\n            domNode = _getChildData.domNode;\n\n        // Ignore children that don't render DOM nodes (eg. by returning null)\n\n\n        if (!domNode) {\n          return;\n        }\n\n        if (!child.entering && !child.leaving) {\n          (0, _domManipulation.applyStylesToDOMNode)({\n            domNode: domNode,\n            styles: {\n              transition: ''\n            }\n          });\n        }\n      });\n    }\n  }, {\n    key: 'animateChild',\n    value: function animateChild(child, index) {\n      var _this4 = this;\n\n      var _getChildData2 = this.getChildData(getKey(child)),\n          domNode = _getChildData2.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // Apply the relevant style for this DOM node\n      // This is the offset from its actual DOM position.\n      // eg. if an item has been re-rendered 20px lower, we want to apply a\n      // style of 'transform: translate(-20px)', so that it appears to be where\n      // it started.\n      // In FLIP terminology, this is the 'Invert' stage.\n      (0, _domManipulation.applyStylesToDOMNode)({\n        domNode: domNode,\n        styles: this.computeInitialStyles(child)\n      });\n\n      // Start by invoking the onStart callback for this child.\n      if (this.props.onStart) this.props.onStart(child, domNode);\n\n      // Next, animate the item from it's artificially-offset position to its\n      // new, natural position.\n      requestAnimationFrame(function () {\n        requestAnimationFrame(function () {\n          // NOTE, RE: the double-requestAnimationFrame:\n          // Sadly, this is the most browser-compatible way to do this I've found.\n          // Essentially we need to set the initial styles outside of any request\n          // callbacks to avoid batching them. Then, a frame needs to pass with\n          // the styles above rendered. Then, on the second frame, we can apply\n          // our final styles to perform the animation.\n\n          // Our first order of business is to \"undo\" the styles applied in the\n          // previous frames, while also adding a `transition` property.\n          // This way, the item will smoothly transition from its old position\n          // to its new position.\n\n          // eslint-disable-next-line flowtype/require-variable-type\n          var styles = {\n            transition: (0, _domManipulation.createTransitionString)(index, _this4.props),\n            transform: '',\n            opacity: ''\n          };\n\n          if (child.appearing && _this4.props.appearAnimation) {\n            styles = _extends({}, styles, _this4.props.appearAnimation.to);\n          } else if (child.entering && _this4.props.enterAnimation) {\n            styles = _extends({}, styles, _this4.props.enterAnimation.to);\n          } else if (child.leaving && _this4.props.leaveAnimation) {\n            styles = _extends({}, styles, _this4.props.leaveAnimation.to);\n          }\n\n          // In FLIP terminology, this is the 'Play' stage.\n          (0, _domManipulation.applyStylesToDOMNode)({ domNode: domNode, styles: styles });\n        });\n      });\n\n      this.bindTransitionEndHandler(child);\n    }\n  }, {\n    key: 'bindTransitionEndHandler',\n    value: function bindTransitionEndHandler(child) {\n      var _this5 = this;\n\n      var _getChildData3 = this.getChildData(getKey(child)),\n          domNode = _getChildData3.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // The onFinish callback needs to be bound to the transitionEnd event.\n      // We also need to unbind it when the transition completes, so this ugly\n      // inline function is required (we need it here so it closes over\n      // dependent variables `child` and `domNode`)\n      var transitionEndHandler = function transitionEndHandler(ev) {\n        // It's possible that this handler is fired not on our primary transition,\n        // but on a nested transition (eg. a hover effect). Ignore these cases.\n        if (ev.target !== domNode) return;\n\n        // Remove the 'transition' inline style we added. This is cleanup.\n        domNode.style.transition = '';\n\n        // Trigger any applicable onFinish/onFinishAll hooks\n        _this5.triggerFinishHooks(child, domNode);\n\n        domNode.removeEventListener(transitionEnd, transitionEndHandler);\n\n        if (child.leaving) {\n          _this5.removeChildData(getKey(child));\n        }\n      };\n\n      domNode.addEventListener(transitionEnd, transitionEndHandler);\n    }\n  }, {\n    key: 'triggerFinishHooks',\n    value: function triggerFinishHooks(child, domNode) {\n      var _this6 = this;\n\n      if (this.props.onFinish) this.props.onFinish(child, domNode);\n\n      // Reduce the number of children we need to animate by 1,\n      // so that we can tell when all children have finished.\n      this.remainingAnimations -= 1;\n\n      if (this.remainingAnimations === 0) {\n        // Remove any items from the DOM that have left, and reset `entering`.\n        var nextChildren = this.state.children.filter(function (_ref3) {\n          var leaving = _ref3.leaving;\n          return !leaving;\n        }).map(function (item) {\n          return _extends({}, item, {\n            appearing: false,\n            entering: false\n          });\n        });\n\n        this.setState({ children: nextChildren }, function () {\n          if (typeof _this6.props.onFinishAll === 'function') {\n            _this6.callChildrenHook(_this6.props.onFinishAll);\n          }\n\n          // Reset our variables for the next iteration\n          _this6.childrenToAnimate = [];\n        });\n\n        // If the placeholder was holding the container open while elements were\n        // leaving, we we can now set its height to zero.\n        if (this.heightPlaceholderData.domNode) {\n          this.heightPlaceholderData.domNode.style.height = '0';\n        }\n      }\n    }\n  }, {\n    key: 'callChildrenHook',\n    value: function callChildrenHook(hook) {\n      var _this7 = this;\n\n      var elements = [];\n      var domNodes = [];\n\n      this.childrenToAnimate.forEach(function (childKey) {\n        // If this was an exit animation, the child may no longer exist.\n        // If so, skip it.\n        var child = _this7.findChildByKey(childKey);\n\n        if (!child) {\n          return;\n        }\n\n        elements.push(child);\n\n        if (_this7.hasChildData(childKey)) {\n          domNodes.push(_this7.getChildData(childKey).domNode);\n        }\n      });\n\n      hook(elements, domNodes);\n    }\n  }, {\n    key: 'updateBoundingBoxCaches',\n    value: function updateBoundingBoxCaches() {\n      var _this8 = this;\n\n      // This is the ONLY place that parentData and childrenData's\n      // bounding boxes are updated. They will be calculated at other times\n      // to be compared to this value, but it's important that the cache is\n      // updated once per update.\n      var parentDomNode = this.parentData.domNode;\n\n      if (!parentDomNode) {\n        return;\n      }\n\n      this.parentData.boundingBox = this.props.getPosition(parentDomNode);\n\n      this.state.children.forEach(function (child) {\n        var childKey = getKey(child);\n\n        // It is possible that a child does not have a `key` property;\n        // Ignore these children, they don't need to be moved.\n        if (!childKey) {\n          return;\n        }\n\n        // In very rare circumstances, for reasons unknown, the ref is never\n        // populated for certain children. In this case, avoid doing this update.\n        // see: https://github.com/joshwcomeau/react-flip-move/pull/91\n        if (!_this8.hasChildData(childKey)) {\n          return;\n        }\n\n        var childData = _this8.getChildData(childKey);\n\n        // If the child element returns null, we need to avoid trying to\n        // account for it\n        if (!childData.domNode || !child) {\n          return;\n        }\n\n        _this8.setChildData(childKey, {\n          boundingBox: (0, _domManipulation.getRelativeBoundingBox)({\n            childDomNode: childData.domNode,\n            parentDomNode: parentDomNode,\n            getPosition: _this8.props.getPosition\n          })\n        });\n      });\n    }\n  }, {\n    key: 'computeInitialStyles',\n    value: function computeInitialStyles(child) {\n      if (child.appearing) {\n        return this.props.appearAnimation ? this.props.appearAnimation.from : {};\n      } else if (child.entering) {\n        if (!this.props.enterAnimation) {\n          return {};\n        }\n        // If this child was in the middle of leaving, it still has its\n        // absolute positioning styles applied. We need to undo those.\n        return _extends({\n          position: '',\n          top: '',\n          left: '',\n          right: '',\n          bottom: ''\n        }, this.props.enterAnimation.from);\n      } else if (child.leaving) {\n        return this.props.leaveAnimation ? this.props.leaveAnimation.from : {};\n      }\n\n      var childData = this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return {};\n      }\n\n      var _getPositionDelta3 = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: this.props.getPosition\n      }),\n          _getPositionDelta4 = _slicedToArray(_getPositionDelta3, 2),\n          dX = _getPositionDelta4[0],\n          dY = _getPositionDelta4[1];\n\n      return {\n        transform: 'translate(' + dX + 'px, ' + dY + 'px)'\n      };\n    }\n\n    // eslint-disable-next-line class-methods-use-this\n\n  }, {\n    key: 'isAnimationDisabled',\n    value: function isAnimationDisabled(props) {\n      // If the component is explicitly passed a `disableAllAnimations` flag,\n      // we can skip this whole process. Similarly, if all of the numbers have\n      // been set to 0, there is no point in trying to animate; doing so would\n      // only cause a flicker (and the intent is probably to disable animations)\n      // We can also skip this rigamarole if there's no browser support for it.\n      return noBrowserSupport || props.disableAllAnimations || props.duration === 0 && props.delay === 0 && props.staggerDurationBy === 0 && props.staggerDelayBy === 0;\n    }\n  }, {\n    key: 'findChildByKey',\n    value: function findChildByKey(key) {\n      return this.state.children.find(function (child) {\n        return getKey(child) === key;\n      });\n    }\n  }, {\n    key: 'hasChildData',\n    value: function hasChildData(key) {\n      // Object has some built-in properties on its prototype, such as toString.  hasOwnProperty makes\n      // sure that key is present on childrenData itself, not on its prototype.\n      return Object.prototype.hasOwnProperty.call(this.childrenData, key);\n    }\n  }, {\n    key: 'getChildData',\n    value: function getChildData(key) {\n      return this.hasChildData(key) ? this.childrenData[key] : {};\n    }\n  }, {\n    key: 'setChildData',\n    value: function setChildData(key, data) {\n      this.childrenData[key] = _extends({}, this.getChildData(key), data);\n    }\n  }, {\n    key: 'removeChildData',\n    value: function removeChildData(key) {\n      delete this.childrenData[key];\n    }\n  }, {\n    key: 'createHeightPlaceholder',\n    value: function createHeightPlaceholder() {\n      var _this9 = this;\n\n      var typeName = this.props.typeName;\n\n      // If requested, create an invisible element at the end of the list.\n      // Its height will be modified to prevent the container from collapsing\n      // prematurely.\n\n      var isContainerAList = typeName === 'ul' || typeName === 'ol';\n      var placeholderType = isContainerAList ? 'li' : 'div';\n\n      return _react2.default.createElement(placeholderType, {\n        key: 'height-placeholder',\n        ref: function ref(domNode) {\n          _this9.heightPlaceholderData.domNode = domNode;\n        },\n        style: { visibility: 'hidden', height: 0 }\n      });\n    }\n  }, {\n    key: 'childrenWithRefs',\n    value: function childrenWithRefs() {\n      var _this10 = this;\n\n      // We need to clone the provided children, capturing a reference to the\n      // underlying DOM node. Flip Move needs to use the React escape hatches to\n      // be able to do its calculations.\n      return this.state.children.map(function (child) {\n        return _react2.default.cloneElement(child.element, {\n          ref: function ref(element) {\n            // Stateless Functional Components are not supported by FlipMove,\n            // because they don't have instances.\n            if (!element) {\n              return;\n            }\n\n            var domNode = (0, _domManipulation.getNativeNode)(element);\n            _this10.setChildData(getKey(child), { domNode: domNode });\n          }\n        });\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this11 = this;\n\n      var _props2 = this.props,\n          typeName = _props2.typeName,\n          delegated = _props2.delegated,\n          leaveAnimation = _props2.leaveAnimation,\n          maintainContainerHeight = _props2.maintainContainerHeight;\n\n\n      var props = _extends({}, delegated, {\n        ref: function ref(node) {\n          _this11.parentData.domNode = node;\n        }\n      });\n\n      var children = this.childrenWithRefs();\n      if (leaveAnimation && maintainContainerHeight) {\n        children.push(this.createHeightPlaceholder());\n      }\n\n      return _react2.default.createElement(typeName, props, children);\n    }\n  }]);\n\n  return FlipMove;\n}(_react.Component);\n\nexports.default = (0, _propConverter2.default)(FlipMove);\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/FlipMove.js\n// module id = 129\n// module chunks = 0","'use strict';\n\n// @noflow\n/**\n * React Flip Move - Polyfills\n * (c) 2016-present Joshua Comeau\n */\n\n/* eslint-disable */\n\nif (!Array.prototype.find) {\n  Array.prototype.find = function (predicate) {\n    if (this === null) {\n      throw new TypeError('Array.prototype.find called on null or undefined');\n    }\n    if (typeof predicate !== 'function') {\n      throw new TypeError('predicate must be a function');\n    }\n    var list = Object(this);\n    var length = list.length >>> 0;\n    var thisArg = arguments[1];\n    var value = void 0;\n\n    for (var i = 0; i < length; i++) {\n      value = list[i];\n      if (predicate.call(thisArg, value, i, list)) {\n        return value;\n      }\n    }\n    return undefined;\n  };\n}\n\nif (!Array.prototype.every) {\n  Array.prototype.every = function (callbackfn, thisArg) {\n    'use strict';\n\n    var T, k;\n\n    if (this == null) {\n      throw new TypeError('this is null or not defined');\n    }\n\n    var O = Object(this);\n    var len = O.length >>> 0;\n\n    if (typeof callbackfn !== 'function') {\n      throw new TypeError();\n    }\n\n    if (arguments.length > 1) {\n      T = thisArg;\n    }\n\n    k = 0;\n\n    while (k < len) {\n\n      var kValue;\n\n      if (k in O) {\n        kValue = O[k];\n\n        var testResult = callbackfn.call(T, kValue, k, O);\n\n        if (!testResult) {\n          return false;\n        }\n      }\n      k++;\n    }\n    return true;\n  };\n}\n\nif (!Array.isArray) {\n  Array.isArray = function (arg) {\n    return Object.prototype.toString.call(arg) === '[object Array]';\n  };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/polyfills.js\n// module id = 130\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _errorMessages = require('./error-messages');\n\nvar _enterLeavePresets = require('./enter-leave-presets');\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move | propConverter\n * (c) 2016-present Joshua Comeau\n *\n * Abstracted away a bunch of the messy business with props.\n *   - props flow types and defaultProps\n *   - Type conversion (We accept 'string' and 'number' values for duration,\n *     delay, and other fields, but we actually need them to be ints.)\n *   - Children conversion (we need the children to be an array. May not always\n *     be, if a single child is passed in.)\n *   - Resolving animation presets into their base CSS styles\n */\n/* eslint-disable block-scoped-var */\n\nvar nodeEnv = void 0;\ntry {\n  nodeEnv = process.env.NODE_ENV;\n} catch (e) {\n  nodeEnv = 'development';\n}\n\nfunction propConverter(ComposedComponent) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    _inherits(FlipMovePropConverter, _Component);\n\n    function FlipMovePropConverter() {\n      _classCallCheck(this, FlipMovePropConverter);\n\n      return _possibleConstructorReturn(this, (FlipMovePropConverter.__proto__ || Object.getPrototypeOf(FlipMovePropConverter)).apply(this, arguments));\n    }\n\n    _createClass(FlipMovePropConverter, [{\n      key: 'checkForStatelessFunctionalComponents',\n\n\n      // eslint-disable-next-line class-methods-use-this\n      value: function checkForStatelessFunctionalComponents(children) {\n        // Skip all console warnings in production.\n        // Bail early, to avoid unnecessary work.\n        if (nodeEnv === 'production') {\n          return;\n        }\n\n        // FlipMove does not support stateless functional components.\n        // Check to see if any supplied components won't work.\n        // If the child doesn't have a key, it means we aren't animating it.\n        // It's allowed to be an SFC, since we ignore it.\n        var childArray = _react.Children.toArray(children);\n        var noStateless = childArray.every(function (child) {\n          return !(0, _helpers.isElementAnSFC)(child) || typeof child.key === 'undefined';\n        });\n\n        if (!noStateless) {\n          (0, _errorMessages.statelessFunctionalComponentSupplied)();\n        }\n      }\n    }, {\n      key: 'convertProps',\n      value: function convertProps(props) {\n        var workingProps = {\n          // explicitly bypass the props that don't need conversion\n          children: props.children,\n          easing: props.easing,\n          onStart: props.onStart,\n          onFinish: props.onFinish,\n          onStartAll: props.onStartAll,\n          onFinishAll: props.onFinishAll,\n          typeName: props.typeName,\n          disableAllAnimations: props.disableAllAnimations,\n          getPosition: props.getPosition,\n          maintainContainerHeight: props.maintainContainerHeight,\n          verticalAlignment: props.verticalAlignment,\n\n          // Do string-to-int conversion for all timing-related props\n          duration: this.convertTimingProp('duration'),\n          delay: this.convertTimingProp('delay'),\n          staggerDurationBy: this.convertTimingProp('staggerDurationBy'),\n          staggerDelayBy: this.convertTimingProp('staggerDelayBy'),\n\n          // Our enter/leave animations can be specified as boolean (default or\n          // disabled), string (preset name), or object (actual animation values).\n          // Let's standardize this so that they're always objects\n          appearAnimation: this.convertAnimationProp(props.appearAnimation, _enterLeavePresets.appearPresets),\n          enterAnimation: this.convertAnimationProp(props.enterAnimation, _enterLeavePresets.enterPresets),\n          leaveAnimation: this.convertAnimationProp(props.leaveAnimation, _enterLeavePresets.leavePresets),\n\n          delegated: {}\n        };\n\n        this.checkForStatelessFunctionalComponents(workingProps.children);\n\n        // Accept `disableAnimations`, but add a deprecation warning\n        if (typeof props.disableAnimations !== 'undefined') {\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.deprecatedDisableAnimations)();\n          }\n\n          workingProps.disableAllAnimations = props.disableAnimations;\n        }\n\n        // Gather any additional props;\n        // they will be delegated to the ReactElement created.\n        var primaryPropKeys = Object.keys(workingProps);\n        var delegatedProps = (0, _helpers.omit)(this.props, primaryPropKeys);\n\n        // The FlipMove container element needs to have a non-static position.\n        // We use `relative` by default, but it can be overridden by the user.\n        // Now that we're delegating props, we need to merge this in.\n        delegatedProps.style = _extends({\n          position: 'relative'\n        }, delegatedProps.style);\n\n        workingProps.delegated = delegatedProps;\n\n        return workingProps;\n      }\n    }, {\n      key: 'convertTimingProp',\n      value: function convertTimingProp(prop) {\n        var rawValue = this.props[prop];\n\n        var value = typeof rawValue === 'number' ? rawValue : parseInt(rawValue, 10);\n\n        if (isNaN(value)) {\n          var defaultValue = FlipMovePropConverter.defaultProps[prop];\n\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.invalidTypeForTimingProp)({\n              prop: prop,\n              value: rawValue,\n              defaultValue: defaultValue\n            });\n          }\n\n          return defaultValue;\n        }\n\n        return value;\n      }\n\n      // eslint-disable-next-line class-methods-use-this\n\n    }, {\n      key: 'convertAnimationProp',\n      value: function convertAnimationProp(animation, presets) {\n        switch (typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) {\n          case 'boolean':\n            {\n              // If it's true, we want to use the default preset.\n              // If it's false, we want to use the 'none' preset.\n              return presets[animation ? _enterLeavePresets.defaultPreset : _enterLeavePresets.disablePreset];\n            }\n\n          case 'string':\n            {\n              var presetKeys = Object.keys(presets);\n\n              if (presetKeys.indexOf(animation) === -1) {\n                if (nodeEnv !== 'production') {\n                  (0, _errorMessages.invalidEnterLeavePreset)({\n                    value: animation,\n                    acceptableValues: presetKeys.join(', '),\n                    defaultValue: _enterLeavePresets.defaultPreset\n                  });\n                }\n\n                return presets[_enterLeavePresets.defaultPreset];\n              }\n\n              return presets[animation];\n            }\n\n          default:\n            {\n              return animation;\n            }\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        return _react2.default.createElement(ComposedComponent, this.convertProps(this.props));\n      }\n    }]);\n\n    return FlipMovePropConverter;\n  }(_react.Component), _class.defaultProps = {\n    easing: 'ease-in-out',\n    duration: 350,\n    delay: 0,\n    staggerDurationBy: 0,\n    staggerDelayBy: 0,\n    typeName: 'div',\n    enterAnimation: _enterLeavePresets.defaultPreset,\n    leaveAnimation: _enterLeavePresets.defaultPreset,\n    disableAllAnimations: false,\n    getPosition: function getPosition(node) {\n      return node.getBoundingClientRect();\n    },\n    maintainContainerHeight: false,\n    verticalAlignment: 'top'\n  }, _temp;\n}\n\nexports.default = propConverter;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/prop-converter.js\n// module id = 131\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\n\nfunction warnOnce(msg) {\n  var hasWarned = false;\n  return function () {\n    if (!hasWarned) {\n      console.warn(msg);\n      hasWarned = true;\n    }\n  };\n}\nvar statelessFunctionalComponentSupplied = exports.statelessFunctionalComponentSupplied = warnOnce('\\n>> Error, via react-flip-move <<\\n\\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren\\'t supported, because Flip Move needs access to the backing instances via refs, and SFCs don\\'t have a public instance that holds that info.\\n\\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\\n');\n\nvar invalidTypeForTimingProp = exports.invalidTypeForTimingProp = function invalidTypeForTimingProp(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe prop you provided for \\'' + args.prop + '\\' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is \\'' + args.value + '\\'.\\n\\nAs a result,  the default value for this parameter will be used, which is \\'' + args.defaultValue + '\\'.\\n');\n};\n\nvar deprecatedDisableAnimations = exports.deprecatedDisableAnimations = warnOnce('\\n>> Warning, via react-flip-move <<\\n\\nThe \\'disableAnimations\\' prop you provided is deprecated. Please switch to use \\'disableAllAnimations\\'.\\n\\nThis will become a silent error in future versions of react-flip-move.\\n');\n\nvar invalidEnterLeavePreset = exports.invalidEnterLeavePreset = function invalidEnterLeavePreset(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe enter/leave preset you provided is invalid. We don\\'t currently have a \\'' + args.value + ' preset.\\'\\n\\nAcceptable values are ' + args.acceptableValues + '. The default value of \\'' + args.defaultValue + '\\' will be used.\\n');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/error-messages.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar enterPresets = exports.enterPresets = {\n  elevator: {\n    from: { transform: 'scale(0)', opacity: '0' },\n    to: { transform: '', opacity: '' }\n  },\n  fade: {\n    from: { opacity: '0' },\n    to: { opacity: '' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(0)', transformOrigin: 'center top' },\n    to: { transform: '', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(0)', transformOrigin: 'left center' },\n    to: { transform: '', transformOrigin: 'left center' }\n  },\n  none: null\n};\n/**\n * React Flip Move | enterLeavePresets\n * (c) 2016-present Joshua Comeau\n *\n * This contains the master list of presets available for enter/leave animations,\n * along with the mapping between preset and styles.\n */\nvar leavePresets = exports.leavePresets = {\n  elevator: {\n    from: { transform: 'scale(1)', opacity: '1' },\n    to: { transform: 'scale(0)', opacity: '0' }\n  },\n  fade: {\n    from: { opacity: '1' },\n    to: { opacity: '0' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(1)', transformOrigin: 'center top' },\n    to: { transform: 'scaleY(0)', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(1)', transformOrigin: 'left center' },\n    to: { transform: 'scaleX(0)', transformOrigin: 'left center' }\n  },\n  none: null\n};\n\n// For now, appearPresets will be identical to enterPresets.\n// Assigning a custom export in case we ever want to add appear-specific ones.\nvar appearPresets = exports.appearPresets = enterPresets;\n\n// Embarrassingly enough, v2.0 launched with typo'ed preset names.\n// To avoid penning a new major version over something so inconsequential,\n// we're supporting both spellings. In a future version, these alternatives\n// may be deprecated.\n// $FlowFixMe\nenterPresets.accordianVertical = enterPresets.accordionVertical;\n// $FlowFixMe\nenterPresets.accordianHorizontal = enterPresets.accordionHorizontal;\n// $FlowFixMe\nleavePresets.accordianVertical = leavePresets.accordionVertical;\n// $FlowFixMe\nleavePresets.accordianHorizontal = leavePresets.accordionHorizontal;\n\nvar defaultPreset = exports.defaultPreset = 'elevator';\nvar disablePreset = exports.disablePreset = 'none';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/enter-leave-presets.js\n// module id = 133\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createTransitionString = exports.getNativeNode = exports.updateHeightPlaceholder = exports.removeNodeFromDOMFlow = exports.getPositionDelta = exports.getRelativeBoundingBox = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * These methods read from and write to the DOM.\n * They almost always have side effects, and will hopefully become the\n * only spot in the codebase with impure functions.\n */\n\n\nexports.applyStylesToDOMNode = applyStylesToDOMNode;\nexports.whichTransitionEvent = whichTransitionEvent;\n\nvar _reactDom = require('react-dom');\n\nvar _helpers = require('./helpers');\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 applyStylesToDOMNode(_ref) {\n  var domNode = _ref.domNode,\n      styles = _ref.styles;\n\n  // Can't just do an object merge because domNode.styles is no regular object.\n  // Need to do it this way for the engine to fire its `set` listeners.\n  Object.keys(styles).forEach(function (key) {\n    domNode.style.setProperty((0, _helpers.hyphenate)(key), styles[key]);\n  });\n}\n\n// Modified from Modernizr\nfunction whichTransitionEvent() {\n  var transitions = {\n    transition: 'transitionend',\n    '-o-transition': 'oTransitionEnd',\n    '-moz-transition': 'transitionend',\n    '-webkit-transition': 'webkitTransitionEnd'\n  };\n\n  // If we're running in a browserless environment (eg. SSR), it doesn't apply.\n  // Return a placeholder string, for consistent type return.\n  if (typeof document === 'undefined') return '';\n\n  var el = document.createElement('fakeelement');\n\n  var match = Object.keys(transitions).find(function (t) {\n    return el.style.getPropertyValue(t) !== undefined;\n  });\n\n  // If no `transition` is found, we must be running in a browser so ancient,\n  // React itself won't run. Return an empty string, for consistent type return\n  return match ? transitions[match] : '';\n}\n\nvar getRelativeBoundingBox = exports.getRelativeBoundingBox = function getRelativeBoundingBox(_ref2) {\n  var childDomNode = _ref2.childDomNode,\n      parentDomNode = _ref2.parentDomNode,\n      getPosition = _ref2.getPosition;\n\n  var parentBox = getPosition(parentDomNode);\n\n  var _getPosition = getPosition(childDomNode),\n      top = _getPosition.top,\n      left = _getPosition.left,\n      right = _getPosition.right,\n      bottom = _getPosition.bottom,\n      width = _getPosition.width,\n      height = _getPosition.height;\n\n  return {\n    top: top - parentBox.top,\n    left: left - parentBox.left,\n    right: parentBox.right - right,\n    bottom: parentBox.bottom - bottom,\n    width: width,\n    height: height\n  };\n};\n\n/** getPositionDelta\n * This method returns the delta between two bounding boxes, to figure out\n * how many pixels on each axis the element has moved.\n *\n */\nvar getPositionDelta = exports.getPositionDelta = function getPositionDelta(_ref3) {\n  var childDomNode = _ref3.childDomNode,\n      childBoundingBox = _ref3.childBoundingBox,\n      parentBoundingBox = _ref3.parentBoundingBox,\n      getPosition = _ref3.getPosition;\n\n  // TEMP: A mystery bug is sometimes causing unnecessary boundingBoxes to\n  var defaultBox = { top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 };\n\n  // Our old box is its last calculated position, derived on mount or at the\n  // start of the previous animation.\n  var oldRelativeBox = childBoundingBox || defaultBox;\n  var parentBox = parentBoundingBox || defaultBox;\n\n  // Our new box is the new final resting place: Where we expect it to wind up\n  // after the animation. First we get the box in absolute terms (AKA relative\n  // to the viewport), and then we calculate its relative box (relative to the\n  // parent container)\n  var newAbsoluteBox = getPosition(childDomNode);\n  var newRelativeBox = {\n    top: newAbsoluteBox.top - parentBox.top,\n    left: newAbsoluteBox.left - parentBox.left\n  };\n\n  return [oldRelativeBox.left - newRelativeBox.left, oldRelativeBox.top - newRelativeBox.top];\n};\n\n/** removeNodeFromDOMFlow\n * This method does something very sneaky: it removes a DOM node from the\n * document flow, but without actually changing its on-screen position.\n *\n * It works by calculating where the node is, and then applying styles\n * so that it winds up being positioned absolutely, but in exactly the\n * same place.\n *\n * This is a vital part of the FLIP technique.\n */\nvar removeNodeFromDOMFlow = exports.removeNodeFromDOMFlow = function removeNodeFromDOMFlow(childData, verticalAlignment) {\n  var domNode = childData.domNode,\n      boundingBox = childData.boundingBox;\n\n\n  if (!domNode || !boundingBox) {\n    return;\n  }\n\n  // For this to work, we have to offset any given `margin`.\n  var computed = window.getComputedStyle(domNode);\n\n  // We need to clean up margins, by converting and removing suffix:\n  // eg. '21px' -> 21\n  var marginAttrs = ['margin-top', 'margin-left', 'margin-right'];\n  var margins = marginAttrs.reduce(function (acc, margin) {\n    var propertyVal = computed.getPropertyValue(margin);\n\n    return _extends({}, acc, _defineProperty({}, margin, Number(propertyVal.replace('px', ''))));\n  }, {});\n\n  // If we're bottom-aligned, we need to add the height of the child to its\n  // top offset. This is because, when the container is bottom-aligned, its\n  // height shrinks from the top, not the bottom. We're removing this node\n  // from the flow, so the top is going to drop by its height.\n  var topOffset = verticalAlignment === 'bottom' ? boundingBox.top - boundingBox.height : boundingBox.top;\n\n  var styles = {\n    position: 'absolute',\n    top: topOffset - margins['margin-top'] + 'px',\n    left: boundingBox.left - margins['margin-left'] + 'px',\n    right: boundingBox.right - margins['margin-right'] + 'px'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\n/** updateHeightPlaceholder\n * An optional property to FlipMove is a `maintainContainerHeight` boolean.\n * This property creates a node that fills space, so that the parent\n * container doesn't collapse when its children are removed from the\n * document flow.\n */\nvar updateHeightPlaceholder = exports.updateHeightPlaceholder = function updateHeightPlaceholder(_ref4) {\n  var domNode = _ref4.domNode,\n      parentData = _ref4.parentData,\n      getPosition = _ref4.getPosition;\n\n  var parentDomNode = parentData.domNode;\n  var parentBoundingBox = parentData.boundingBox;\n\n  if (!parentDomNode || !parentBoundingBox) {\n    return;\n  }\n\n  // We need to find the height of the container *without* the placeholder.\n  // Since it's possible that the placeholder might already be present,\n  // we first set its height to 0.\n  // This allows the container to collapse down to the size of just its\n  // content (plus container padding or borders if any).\n  applyStylesToDOMNode({ domNode: domNode, styles: { height: '0' } });\n\n  // Find the distance by which the container would be collapsed by elements\n  // leaving. We compare the freshly-available parent height with the original,\n  // cached container height.\n  var originalParentHeight = parentBoundingBox.height;\n  var collapsedParentHeight = getPosition(parentDomNode).height;\n  var reductionInHeight = originalParentHeight - collapsedParentHeight;\n\n  // If the container has become shorter, update the padding element's\n  // height to take up the difference. Otherwise set its height to zero,\n  // so that it has no effect.\n  var styles = {\n    height: reductionInHeight > 0 ? reductionInHeight + 'px' : '0'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\nvar getNativeNode = exports.getNativeNode = function getNativeNode(element) {\n  // When running in a windowless environment, abort!\n  if (typeof HTMLElement === 'undefined') {\n    return null;\n  }\n\n  // `element` may already be a native node.\n  if (element instanceof HTMLElement) {\n    return element;\n  }\n\n  // While ReactDOM's `findDOMNode` is discouraged, it's the only\n  // publicly-exposed way to find the underlying DOM node for\n  // composite components.\n  var foundNode = (0, _reactDom.findDOMNode)(element);\n\n  if (!(foundNode instanceof HTMLElement)) {\n    // Text nodes are not supported\n    return null;\n  }\n\n  return foundNode;\n};\n\nvar createTransitionString = exports.createTransitionString = function createTransitionString(index, props) {\n  var delay = props.delay,\n      duration = props.duration;\n  var staggerDurationBy = props.staggerDurationBy,\n      staggerDelayBy = props.staggerDelayBy,\n      easing = props.easing;\n\n\n  delay += index * staggerDelayBy;\n  duration += index * staggerDurationBy;\n\n  var cssProperties = ['transform', 'opacity'];\n\n  return cssProperties.map(function (prop) {\n    return prop + ' ' + duration + 'ms ' + easing + ' ' + delay + 'ms';\n  }).join(', ');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/dom-manipulation.js\n// module id = 134\n// module chunks = 0","module.exports = require(\"react-dom\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react-dom\"\n// module id = 135\n// module chunks = 0","/*!\n\tAutosize 3.0.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/autosize\n*/\n(function (global, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(['exports', 'module'], factory);\n\t} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n\t\tfactory(exports, module);\n\t} else {\n\t\tvar mod = {\n\t\t\texports: {}\n\t\t};\n\t\tfactory(mod.exports, mod);\n\t\tglobal.autosize = mod.exports;\n\t}\n})(this, function (exports, module) {\n\t'use strict';\n\n\tvar map = typeof Map === \"function\" ? new Map() : (function () {\n\t\tvar keys = [];\n\t\tvar values = [];\n\n\t\treturn {\n\t\t\thas: function has(key) {\n\t\t\t\treturn keys.indexOf(key) > -1;\n\t\t\t},\n\t\t\tget: function get(key) {\n\t\t\t\treturn values[keys.indexOf(key)];\n\t\t\t},\n\t\t\tset: function set(key, value) {\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\tvalues.push(value);\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function _delete(key) {\n\t\t\t\tvar index = keys.indexOf(key);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tkeys.splice(index, 1);\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tvar createEvent = function createEvent(name) {\n\t\treturn new Event(name, { bubbles: true });\n\t};\n\ttry {\n\t\tnew Event('test');\n\t} catch (e) {\n\t\t// IE does not support `new Event()`\n\t\tcreateEvent = function (name) {\n\t\t\tvar evt = document.createEvent('Event');\n\t\t\tevt.initEvent(name, true, false);\n\t\t\treturn evt;\n\t\t};\n\t}\n\n\tfunction assign(ta) {\n\t\tif (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;\n\n\t\tvar heightOffset = null;\n\t\tvar clientWidth = ta.clientWidth;\n\t\tvar cachedHeight = null;\n\n\t\tfunction init() {\n\t\t\tvar style = window.getComputedStyle(ta, null);\n\n\t\t\tif (style.resize === 'vertical') {\n\t\t\t\tta.style.resize = 'none';\n\t\t\t} else if (style.resize === 'both') {\n\t\t\t\tta.style.resize = 'horizontal';\n\t\t\t}\n\n\t\t\tif (style.boxSizing === 'content-box') {\n\t\t\t\theightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n\t\t\t} else {\n\t\t\t\theightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\t\t\t}\n\t\t\t// Fix when a textarea is not on document body and heightOffset is Not a Number\n\t\t\tif (isNaN(heightOffset)) {\n\t\t\t\theightOffset = 0;\n\t\t\t}\n\n\t\t\tupdate();\n\t\t}\n\n\t\tfunction changeOverflow(value) {\n\t\t\t{\n\t\t\t\t// Chrome/Safari-specific fix:\n\t\t\t\t// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space\n\t\t\t\t// made available by removing the scrollbar. The following forces the necessary text reflow.\n\t\t\t\tvar width = ta.style.width;\n\t\t\t\tta.style.width = '0px';\n\t\t\t\t// Force reflow:\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tta.offsetWidth;\n\t\t\t\t/* jshint ignore:end */\n\t\t\t\tta.style.width = width;\n\t\t\t}\n\n\t\t\tta.style.overflowY = value;\n\t\t}\n\n\t\tfunction getParentOverflows(el) {\n\t\t\tvar arr = [];\n\n\t\t\twhile (el && el.parentNode && el.parentNode instanceof Element) {\n\t\t\t\tif (el.parentNode.scrollTop) {\n\t\t\t\t\tarr.push({\n\t\t\t\t\t\tnode: el.parentNode,\n\t\t\t\t\t\tscrollTop: el.parentNode.scrollTop\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tel = el.parentNode;\n\t\t\t}\n\n\t\t\treturn arr;\n\t\t}\n\n\t\tfunction resize() {\n\t\t\tvar originalHeight = ta.style.height;\n\t\t\tvar overflows = getParentOverflows(ta);\n\t\t\tvar docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)\n\n\t\t\tta.style.height = 'auto';\n\n\t\t\tvar endHeight = ta.scrollHeight + heightOffset;\n\n\t\t\tif (ta.scrollHeight === 0) {\n\t\t\t\t// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.\n\t\t\t\tta.style.height = originalHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tta.style.height = endHeight + 'px';\n\n\t\t\t// used to check if an update is actually necessary on window.resize\n\t\t\tclientWidth = ta.clientWidth;\n\n\t\t\t// prevents scroll-position jumping\n\t\t\toverflows.forEach(function (el) {\n\t\t\t\tel.node.scrollTop = el.scrollTop;\n\t\t\t});\n\n\t\t\tif (docTop) {\n\t\t\t\tdocument.documentElement.scrollTop = docTop;\n\t\t\t}\n\t\t}\n\n\t\tfunction update() {\n\t\t\tresize();\n\n\t\t\tvar styleHeight = Math.round(parseFloat(ta.style.height));\n\t\t\tvar computed = window.getComputedStyle(ta, null);\n\n\t\t\t// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box\n\t\t\tvar actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;\n\n\t\t\t// The actual height not matching the style height (set via the resize method) indicates that\n\t\t\t// the max-height has been exceeded, in which case the overflow should be allowed.\n\t\t\tif (actualHeight !== styleHeight) {\n\t\t\t\tif (computed.overflowY === 'hidden') {\n\t\t\t\t\tchangeOverflow('scroll');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.\n\t\t\t\tif (computed.overflowY !== 'hidden') {\n\t\t\t\t\tchangeOverflow('hidden');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (cachedHeight !== actualHeight) {\n\t\t\t\tcachedHeight = actualHeight;\n\t\t\t\tvar evt = createEvent('autosize:resized');\n\t\t\t\ttry {\n\t\t\t\t\tta.dispatchEvent(evt);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Firefox will throw an error on dispatchEvent for a detached element\n\t\t\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=889376\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar pageResize = function pageResize() {\n\t\t\tif (ta.clientWidth !== clientWidth) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t};\n\n\t\tvar destroy = (function (style) {\n\t\t\twindow.removeEventListener('resize', pageResize, false);\n\t\t\tta.removeEventListener('input', update, false);\n\t\t\tta.removeEventListener('keyup', update, false);\n\t\t\tta.removeEventListener('autosize:destroy', destroy, false);\n\t\t\tta.removeEventListener('autosize:update', update, false);\n\n\t\t\tObject.keys(style).forEach(function (key) {\n\t\t\t\tta.style[key] = style[key];\n\t\t\t});\n\n\t\t\tmap['delete'](ta);\n\t\t}).bind(ta, {\n\t\t\theight: ta.style.height,\n\t\t\tresize: ta.style.resize,\n\t\t\toverflowY: ta.style.overflowY,\n\t\t\toverflowX: ta.style.overflowX,\n\t\t\twordWrap: ta.style.wordWrap\n\t\t});\n\n\t\tta.addEventListener('autosize:destroy', destroy, false);\n\n\t\t// IE9 does not fire onpropertychange or oninput for deletions,\n\t\t// so binding to onkeyup to catch most of those events.\n\t\t// There is no way that I know of to detect something like 'cut' in IE9.\n\t\tif ('onpropertychange' in ta && 'oninput' in ta) {\n\t\t\tta.addEventListener('keyup', update, false);\n\t\t}\n\n\t\twindow.addEventListener('resize', pageResize, false);\n\t\tta.addEventListener('input', update, false);\n\t\tta.addEventListener('autosize:update', update, false);\n\t\tta.style.overflowX = 'hidden';\n\t\tta.style.wordWrap = 'break-word';\n\n\t\tmap.set(ta, {\n\t\t\tdestroy: destroy,\n\t\t\tupdate: update\n\t\t});\n\n\t\tinit();\n\t}\n\n\tfunction destroy(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.destroy();\n\t\t}\n\t}\n\n\tfunction update(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.update();\n\t\t}\n\t}\n\n\tvar autosize = null;\n\n\t// Do nothing in Node.js environment and IE8 (or lower)\n\tif (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {\n\t\tautosize = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\treturn el;\n\t\t};\n\t} else {\n\t\tautosize = function (el, options) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], function (x) {\n\t\t\t\t\treturn assign(x, options);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], destroy);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], update);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t}\n\n\tmodule.exports = autosize;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/autosize/dist/autosize.js\n// module id = 136\n// module chunks = 0","import Polyglot from 'node-polyglot/build/polyglot'\nimport ZHCN from './zh-CN.json'\nimport ZHTW from './zh-TW.json'\nimport EN from './en.json'\nimport ES from './es-ES.json'\nimport FR from './fr.json'\nimport RU from './ru.json'\nimport DE from './de.json'\n\nconst i18nMap = {\n  'zh': ZHCN,\n  'zh-CN': ZHCN,\n  'zh-TW': ZHTW,\n  'en': EN,\n  'es-ES': ES,\n  'fr': FR,\n  'ru': RU,\n  'de': DE,\n}\n\nexport default function (language) {\n  return new Polyglot({\n    phrases: i18nMap[language] || i18nMap.en,\n    locale: language\n  })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./i18n/index.js","//     (c) 2012 Airbnb, Inc.\n//\n//     polyglot.js may be freely distributed under the terms of the BSD\n//     license. For all licensing information, details, and documention:\n//     http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n\n(function(root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    define([], function() {\n      return factory(root);\n    });\n  } else if (typeof exports === 'object') {\n    module.exports = factory(root);\n  } else {\n    root.Polyglot = factory(root);\n  }\n}(this, function(root) {\n  'use strict';\n\n  // ### Polyglot class constructor\n  function Polyglot(options) {\n    options = options || {};\n    this.phrases = {};\n    this.extend(options.phrases || {});\n    this.currentLocale = options.locale || 'en';\n    this.allowMissing = !!options.allowMissing;\n    this.warn = options.warn || warn;\n  }\n\n  // ### Version\n  Polyglot.VERSION = '0.4.3';\n\n  // ### polyglot.locale([locale])\n  //\n  // Get or set locale. Internally, Polyglot only uses locale for pluralization.\n  Polyglot.prototype.locale = function(newLocale) {\n    if (newLocale) this.currentLocale = newLocale;\n    return this.currentLocale;\n  };\n\n  // ### polyglot.extend(phrases)\n  //\n  // Use `extend` to tell Polyglot how to translate a given key.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     });\n  //\n  // The key can be any string.  Feel free to call `extend` multiple times;\n  // it will override any phrases with the same key, but leave existing phrases\n  // untouched.\n  //\n  // It is also possible to pass nested phrase objects, which get flattened\n  // into an object with the nested keys concatenated using dot notation.\n  //\n  //     polyglot.extend({\n  //       \"nav\": {\n  //         \"hello\": \"Hello\",\n  //         \"hello_name\": \"Hello, %{name}\",\n  //         \"sidebar\": {\n  //           \"welcome\": \"Welcome\"\n  //         }\n  //       }\n  //     });\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}',\n  //     //   'nav.sidebar.welcome': 'Welcome'\n  //     // }\n  //\n  // `extend` accepts an optional second argument, `prefix`, which can be used\n  // to prefix every key in the phrases object with some string, using dot\n  // notation.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     }, \"nav\");\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}'\n  //     // }\n  //\n  // This feature is used internally to support nested phrase objects.\n  Polyglot.prototype.extend = function(morePhrases, prefix) {\n    var phrase;\n\n    for (var key in morePhrases) {\n      if (morePhrases.hasOwnProperty(key)) {\n        phrase = morePhrases[key];\n        if (prefix) key = prefix + '.' + key;\n        if (typeof phrase === 'object') {\n          this.extend(phrase, key);\n        } else {\n          this.phrases[key] = phrase;\n        }\n      }\n    }\n  };\n\n  // ### polyglot.clear()\n  //\n  // Clears all phrases. Useful for special cases, such as freeing\n  // up memory if you have lots of phrases but no longer need to\n  // perform any translation. Also used internally by `replace`.\n  Polyglot.prototype.clear = function() {\n    this.phrases = {};\n  };\n\n  // ### polyglot.replace(phrases)\n  //\n  // Completely replace the existing phrases with a new set of phrases.\n  // Normally, just use `extend` to add more phrases, but under certain\n  // circumstances, you may want to make sure no old phrases are lying around.\n  Polyglot.prototype.replace = function(newPhrases) {\n    this.clear();\n    this.extend(newPhrases);\n  };\n\n\n  // ### polyglot.t(key, options)\n  //\n  // The most-used method. Provide a key, and `t` will return the\n  // phrase.\n  //\n  //     polyglot.t(\"hello\");\n  //     => \"Hello\"\n  //\n  // The phrase value is provided first by a call to `polyglot.extend()` or\n  // `polyglot.replace()`.\n  //\n  // Pass in an object as the second argument to perform interpolation.\n  //\n  //     polyglot.t(\"hello_name\", {name: \"Spike\"});\n  //     => \"Hello, Spike\"\n  //\n  // If you like, you can provide a default value in case the phrase is missing.\n  // Use the special option key \"_\" to specify a default.\n  //\n  //     polyglot.t(\"i_like_to_write_in_language\", {\n  //       _: \"I like to write in %{language}.\",\n  //       language: \"JavaScript\"\n  //     });\n  //     => \"I like to write in JavaScript.\"\n  //\n  Polyglot.prototype.t = function(key, options) {\n    var phrase, result;\n    options = options == null ? {} : options;\n    // allow number as a pluralization shortcut\n    if (typeof options === 'number') {\n      options = {smart_count: options};\n    }\n    if (typeof this.phrases[key] === 'string') {\n      phrase = this.phrases[key];\n    } else if (typeof options._ === 'string') {\n      phrase = options._;\n    } else if (this.allowMissing) {\n      phrase = key;\n    } else {\n      this.warn('Missing translation for key: \"'+key+'\"');\n      result = key;\n    }\n    if (typeof phrase === 'string') {\n      options = clone(options);\n      result = choosePluralForm(phrase, this.currentLocale, options.smart_count);\n      result = interpolate(result, options);\n    }\n    return result;\n  };\n\n\n  // ### polyglot.has(key)\n  //\n  // Check if polyglot has a translation for given key\n  Polyglot.prototype.has = function(key) {\n    return key in this.phrases;\n  };\n\n\n  // #### Pluralization methods\n  // The string that separates the different phrase possibilities.\n  var delimeter = '||||';\n\n  // Mapping from pluralization group plural logic.\n  var pluralTypes = {\n    chinese:   function(n) { return 0; },\n    german:    function(n) { return n !== 1 ? 1 : 0; },\n    french:    function(n) { return n > 1 ? 1 : 0; },\n    russian:   function(n) { return n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2; },\n    czech:     function(n) { return (n === 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2; },\n    polish:    function(n) { return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); },\n    icelandic: function(n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }\n  };\n\n  // Mapping from pluralization group to individual locales.\n  var pluralTypeToLanguages = {\n    chinese:   ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],\n    german:    ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],\n    french:    ['fr', 'tl', 'pt-br'],\n    russian:   ['hr', 'ru'],\n    czech:     ['cs'],\n    polish:    ['pl'],\n    icelandic: ['is']\n  };\n\n  function langToTypeMap(mapping) {\n    var type, langs, l, ret = {};\n    for (type in mapping) {\n      if (mapping.hasOwnProperty(type)) {\n        langs = mapping[type];\n        for (l in langs) {\n          ret[langs[l]] = type;\n        }\n      }\n    }\n    return ret;\n  }\n\n  // Trim a string.\n  function trim(str){\n    var trimRe = /^\\s+|\\s+$/g;\n    return str.replace(trimRe, '');\n  }\n\n  // Based on a phrase text that contains `n` plural forms separated\n  // by `delimeter`, a `locale`, and a `count`, choose the correct\n  // plural form, or none if `count` is `null`.\n  function choosePluralForm(text, locale, count){\n    var ret, texts, chosenText;\n    if (count != null && text) {\n      texts = text.split(delimeter);\n      chosenText = texts[pluralTypeIndex(locale, count)] || texts[0];\n      ret = trim(chosenText);\n    } else {\n      ret = text;\n    }\n    return ret;\n  }\n\n  function pluralTypeName(locale) {\n    var langToPluralType = langToTypeMap(pluralTypeToLanguages);\n    return langToPluralType[locale] || langToPluralType.en;\n  }\n\n  function pluralTypeIndex(locale, count) {\n    return pluralTypes[pluralTypeName(locale)](count);\n  }\n\n  // ### interpolate\n  //\n  // Does the dirty work. Creates a `RegExp` object for each\n  // interpolation placeholder.\n  function interpolate(phrase, options) {\n    for (var arg in options) {\n      if (arg !== '_' && options.hasOwnProperty(arg)) {\n        // We create a new `RegExp` each time instead of using a more-efficient\n        // string replace so that the same argument can be replaced multiple times\n        // in the same phrase.\n        phrase = phrase.replace(new RegExp('%\\\\{'+arg+'\\\\}', 'g'), options[arg]);\n      }\n    }\n    return phrase;\n  }\n\n  // ### warn\n  //\n  // Provides a warning in the console if a phrase key is missing.\n  function warn(message) {\n    root.console && root.console.warn && root.console.warn('WARNING: ' + message);\n  }\n\n  // ### clone\n  //\n  // Clone an object.\n  function clone(source) {\n    var ret = {};\n    for (var prop in source) {\n      ret[prop] = source[prop];\n    }\n    return ret;\n  }\n\n  return Polyglot;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/node-polyglot/build/polyglot.js\n// module id = 138\n// module chunks = 0","module.exports = {\"init\":\"Gitalk 加载中 ...\",\"no-found-related\":\"未找到相关的 %{link} 进行评论\",\"please-contact\":\"请联系 %{user} 初始化创建\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"说点什么\",\"preview\":\"预览\",\"edit\":\"编辑\",\"comment\":\"评论\",\"support-markdown\":\"支持 Markdown 语法\",\"login-with-github\":\"使用 GitHub 登录\",\"first-comment-person\":\"来做第一个留言的人吧！\",\"commented\":\"发表于\",\"load-more\":\"加载更多\",\"counts\":\"%{counts} 条评论\",\"sort-asc\":\"从旧到新排序\",\"sort-desc\":\"从新到旧排序\",\"logout\":\"注销\",\"anonymous\":\"未登录用户\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/zh-CN.json\n// module id = 139\n// module chunks = 0","module.exports = {\"init\":\"Gitalk 載入中…\",\"no-found-related\":\"未找到相關的 %{link}\",\"please-contact\":\"請聯絡 %{user} 初始化評論\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"寫點什麼\",\"preview\":\"預覽\",\"edit\":\"編輯\",\"comment\":\"評論\",\"support-markdown\":\"支援 Markdown 語法\",\"login-with-github\":\"使用 GitHub 登入\",\"first-comment-person\":\"成為首個留言的人吧！\",\"commented\":\"評論於\",\"load-more\":\"載入更多\",\"counts\":\"%{counts} 筆評論\",\"sort-asc\":\"從舊至新排序\",\"sort-desc\":\"從新至舊排序\",\"logout\":\"登出\",\"anonymous\":\"訪客\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/zh-TW.json\n// module id = 140\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Related %{link} not found\",\"please-contact\":\"Please contact %{user} to initialize the comment\",\"init-issue\":\"Init Issue\",\"leave-a-comment\":\"Leave a comment\",\"preview\":\"Preview\",\"edit\":\"Edit\",\"comment\":\"Comment\",\"support-markdown\":\"Markdown is supported\",\"login-with-github\":\"Login with GitHub\",\"first-comment-person\":\"Be the first person to leave a comment!\",\"commented\":\"commented\",\"load-more\":\"Load more\",\"counts\":\"%{counts} comment |||| %{counts} comments\",\"sort-asc\":\"Sort by Oldest\",\"sort-desc\":\"Sort by Latest\",\"logout\":\"Logout\",\"anonymous\":\"Anonymous\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/en.json\n// module id = 141\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Link %{link} no encontrado\",\"please-contact\":\"Por favor contacta con %{user} para inicializar el comentario\",\"init-issue\":\"Iniciar Issue\",\"leave-a-comment\":\"Deja un comentario\",\"preview\":\"Avance\",\"edit\":\"Editar\",\"comment\":\"Comentario\",\"support-markdown\":\"Markdown es soportado\",\"login-with-github\":\"Entrar con GitHub\",\"first-comment-person\":\"Sé el primero en dejar un comentario!\",\"commented\":\"comentó\",\"load-more\":\"Cargar más\",\"counts\":\"%{counts} comentario |||| %{counts} comentarios\",\"sort-asc\":\"Ordenar por Antiguos\",\"sort-desc\":\"Ordenar por Recientes\",\"logout\":\"Salir\",\"anonymous\":\"Anónimo\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/es-ES.json\n// module id = 142\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Lien %{link} non trouvé\",\"please-contact\":\"S’il vous plaît contactez %{user} pour initialiser les commentaires\",\"init-issue\":\"Initialisation des issues\",\"leave-a-comment\":\"Laisser un commentaire\",\"preview\":\"Aperçu\",\"edit\":\"Modifier\",\"comment\":\"Commentaire\",\"support-markdown\":\"Markdown est supporté\",\"login-with-github\":\"Se connecter avec GitHub\",\"first-comment-person\":\"Être le premier à laisser un commentaire !\",\"commented\":\"commenter\",\"load-more\":\"Charger plus\",\"counts\":\"%{counts} commentaire |||| %{counts} commentaires\",\"sort-asc\":\"Trier par plus ancien\",\"sort-desc\":\"Trier par plus récent\",\"logout\":\"Déconnexion\",\"anonymous\":\"Anonyme\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/fr.json\n// module id = 143\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Связанные %{link} не найдены\",\"please-contact\":\"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий\",\"init-issue\":\"Выпуск инициализации\",\"leave-a-comment\":\"Оставить комментарий\",\"preview\":\"Предварительный просмотр\",\"edit\":\"Pедактировать\",\"comment\":\"Комментарий\",\"support-markdown\":\"Поддерживается Markdown\",\"login-with-github\":\"Вход через GitHub\",\"first-comment-person\":\"Будьте первым, кто оставил комментарий\",\"commented\":\"прокомментированный\",\"load-more\":\"Загрузить ещё\",\"counts\":\"%{counts} комментарий |||| %{counts} комментарьев\",\"sort-asc\":\"Сортировать по старым\",\"sort-desc\":\"Сортировать по последним\",\"logout\":\"Выход\",\"anonymous\":\"Анонимный\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/ru.json\n// module id = 144\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Zugehöriger %{link} nicht gefunden\",\"please-contact\":\"Bitte kontaktiere %{user} um den Kommentar zu initialisieren\",\"init-issue\":\"Initialisiere Issue\",\"leave-a-comment\":\"Hinterlasse einen Kommentar\",\"preview\":\"Vorschau\",\"edit\":\"Editieren\",\"comment\":\"Kommentieren\",\"support-markdown\":\"Markdown wird unterstützt\",\"login-with-github\":\"Mit GitHub-Account anmelden\",\"first-comment-person\":\"Sei die erste Person, welche einen Kommentar hinterlässt!\",\"commented\":\"kommentierte\",\"load-more\":\"Zeige mehr\",\"counts\":\"%{counts} Kommentar |||| %{counts} Kommentare\",\"sort-asc\":\"Älteste zuerst\",\"sort-desc\":\"Neuste zuerst\",\"logout\":\"Abmelden\",\"anonymous\":\"Anonym\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/de.json\n// module id = 145\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./style/index.styl\n// module id = 146\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/keys.js\n// module id = 147\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/keys.js\n// module id = 148\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 149\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/slicedToArray.js\n// module id = 150\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/is-iterable.js\n// module id = 151\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/is-iterable.js\n// module id = 152\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.is-iterable.js\n// module id = 153\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/get-iterator.js\n// module id = 154\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/get-iterator.js\n// module id = 155\n// module chunks = 0","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.get-iterator.js\n// module id = 156\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/index.js\n// module id = 157\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/axios.js\n// module id = 158\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = arguments[1] || {};\n    config.url = arguments[0];\n  } else {\n    config = config || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  // Hook up interceptors middleware\n  var chain = [dispatchRequest, undefined];\n  var promise = Promise.resolve(config);\n\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    chain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  while (chain.length) {\n    promise = promise.then(chain.shift(), chain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/Axios.js\n// module id = 159\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/InterceptorManager.js\n// module id = 160\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData(\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData(\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData(\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/dispatchRequest.js\n// module id = 161\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn(data, headers);\n  });\n\n  return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/transformData.js\n// module id = 162\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 163\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/settle.js\n// module id = 164\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.toJSON = function() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code\n    };\n  };\n  return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/enhanceError.js\n// module id = 165\n// module chunks = 0","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/buildFullPath.js\n// module id = 166\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 167\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/combineURLs.js\n// module id = 168\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 169\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 170\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/cookies.js\n// module id = 171\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/CancelToken.js\n// module id = 172\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/spread.js\n// module id = 173\n// module chunks = 0","import React from 'react'\n\nexport default ({\n  className,\n  getRef,\n  onClick,\n  onMouseDown,\n  text,\n  isLoading\n}) => (\n  <button\n    ref={el => getRef && getRef(el)}\n    className={`gt-btn ${className}`}\n    onClick={onClick}\n    onMouseDown={onMouseDown}>\n    <span className=\"gt-btn-text\">{text}</span>\n    {\n      isLoading && <span className=\"gt-btn-loading gt-spinner\"></span>\n    }\n  </button>\n)\n\n\n\n\n// WEBPACK FOOTER //\n// ./component/button.jsx","import React from 'react'\n\nexport default ({ className, onClick, text }) => (\n  <a className={`gt-action ${className}`} onClick={onClick}>\n    <span className=\"gt-action-text\">{text}</span>\n  </a>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/action.jsx","import React, { Component } from 'react'\nimport Avatar from './avatar'\nimport Svg from './svg'\nimport distanceInWordsToNow from 'date-fns/distance_in_words_to_now'\nimport buildDistanceInWordsLocaleZHCN from 'date-fns/locale/zh_cn/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleZHTW from 'date-fns/locale/zh_tw/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleES from 'date-fns/locale/es/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleFR from 'date-fns/locale/fr/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleRU from 'date-fns/locale/ru/build_distance_in_words_locale/index'\nimport 'github-markdown-css/github-markdown.css'\n\nconst ZHCN = buildDistanceInWordsLocaleZHCN()\nconst ZHTW = buildDistanceInWordsLocaleZHTW()\nconst ES = buildDistanceInWordsLocaleES()\nconst FR = buildDistanceInWordsLocaleFR()\nconst RU = buildDistanceInWordsLocaleRU()\n\nif (typeof window !== `undefined`) {\n  window.GT_i18n_distanceInWordsLocaleMap = {\n    zh: ZHCN,\n    'zh-CN': ZHCN,\n    'zh-TW': ZHTW,\n    'es-ES': ES,\n    fr: FR,\n    ru: RU\n  }\n}\n\n\nexport default class Comment extends Component {\n  shouldComponentUpdate () {\n    return false\n  }\n\n  componentDidMount () {\n    const comment = this.node\n    const emailResponse = comment.querySelector('.email-hidden-toggle>a')\n    if (emailResponse) {\n      emailResponse.addEventListener('click', e => {\n        e.preventDefault()\n        comment.querySelector('.email-hidden-reply').classList.toggle('expanded')\n      }, true)\n    }\n  }\n\n  handleImageErrored(obj) {\n    obj.target.src=\"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n  }\n  render () {\n    const {\n      comment,\n      user,\n      language,\n      commentedText = '',\n      admin = [],\n      replyCallback,\n      likeCallback\n    } = this.props\n    const enableEdit = user && comment.user.login === user.login\n    const isAdmin = ~[]\n      .concat(admin)\n      .map(a => a.toLowerCase())\n      .indexOf(comment.user.login.toLowerCase())\n    const reactions = comment.reactions\n\n    let reactionTotalCount = ''\n    if (reactions && reactions.totalCount) {\n      reactionTotalCount = reactions.totalCount\n      if (\n        reactions.totalCount === 100 &&\n        reactions.pageInfo &&\n        reactions.pageInfo.hasNextPage\n      ) {\n        reactionTotalCount = '100+'\n      }\n    }\n\n    return (\n      <div ref={node => { this.node = node }} className={`gt-comment ${isAdmin ? 'gt-comment-admin' : ''}`}>\n        <Avatar\n          className=\"gt-comment-avatar\"\n          src={comment.user && comment.user.avatar_url}\n          alt={comment.user && comment.user.login}\n          onError={this.handleImageErrored.bind(this)} \n        />\n\n        <div className=\"gt-comment-content\">\n          <div className=\"gt-comment-header\">\n            <div className={`gt-comment-block-${user ? '2' : '1'}`} />\n            <a\n              className=\"gt-comment-username\"\n              href={comment.user && comment.user.html_url}\n            >\n              {comment.user && comment.user.login}\n            </a>\n            <span className=\"gt-comment-text\">{commentedText}</span>\n            <span className=\"gt-comment-date\">\n              {distanceInWordsToNow(comment.created_at, {\n                addSuffix: true,\n                locale: {\n                  distanceInWords:\n                    window.GT_i18n_distanceInWordsLocaleMap[language]\n                }\n              })}\n            </span>\n\n            {reactions && (\n              <a className=\"gt-comment-like\" title=\"Like\" onClick={likeCallback}>\n                {reactions.viewerHasReacted ? (\n                  <Svg\n                    className=\"gt-ico-heart\"\n                    name=\"heart_on\"\n                    text={reactionTotalCount}\n                  />\n                ) : (\n                  <Svg\n                    className=\"gt-ico-heart\"\n                    name=\"heart\"\n                    text={reactionTotalCount}\n                  />\n                )}\n              </a>\n            )}\n\n            {enableEdit ? (\n              <a\n                href={comment.html_url}\n                className=\"gt-comment-edit\"\n                title=\"Edit\"\n                target=\"_blank\"\n              >\n                <Svg className=\"gt-ico-edit\" name=\"edit\" />\n              </a>\n            ) : (\n              <a className=\"gt-comment-reply\" title=\"Reply\" onClick={replyCallback}>\n                <Svg className=\"gt-ico-reply\" name=\"reply\" />\n              </a>\n            )}\n          </div>\n          <div\n            className=\"gt-comment-body markdown-body\"\n            dangerouslySetInnerHTML={{\n              __html: comment.body_html\n            }}\n          />\n        </div>\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./component/comment.jsx","var map = {\n\t\"./arrow_down.svg\": 178,\n\t\"./edit.svg\": 179,\n\t\"./github.svg\": 180,\n\t\"./heart.svg\": 181,\n\t\"./heart_on.svg\": 182,\n\t\"./reply.svg\": 183,\n\t\"./tip.svg\": 184\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 177;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/icon !../node_modules/raw-loader ^\\.\\/.*\\.svg$\n// module id = 177\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"1619\\\"><path d=\\\"M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z\\\" p-id=\\\"1620\\\"></path></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/arrow_down.svg\n// module id = 178\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/edit.svg\n// module id = 179\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/github.svg\n// module id = 180\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/heart.svg\n// module id = 181\n// module chunks = 0","module.exports = \"<svg t=\\\"1512463363724\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/heart_on.svg\n// module id = 182\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1332 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/reply.svg\n// module id = 183\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z\\\"\\n    p-id=\\\"3083\\\"></path>\\n  <path d=\\\"M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z\\\"\\n    p-id=\\\"3084\\\"></path>\\n  <path d=\\\"M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z\\\"\\n    p-id=\\\"3085\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/tip.svg\n// module id = 184\n// module chunks = 0","var distanceInWords = require('../distance_in_words/index.js')\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @param {Date|String|Number} date - the given date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = distanceInWordsToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = distanceInWordsToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = distanceInWordsToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWordsToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWordsToNow (dirtyDate, dirtyOptions) {\n  return distanceInWords(Date.now(), dirtyDate, dirtyOptions)\n}\n\nmodule.exports = distanceInWordsToNow\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/distance_in_words_to_now/index.js\n// module id = 185\n// module chunks = 0","var compareDesc = require('../compare_desc/index.js')\nvar parse = require('../parse/index.js')\nvar differenceInSeconds = require('../difference_in_seconds/index.js')\nvar differenceInMonths = require('../difference_in_months/index.js')\nvar enLocale = require('../locale/en/index.js')\n\nvar MINUTES_IN_DAY = 1440\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520\nvar MINUTES_IN_MONTH = 43200\nvar MINUTES_IN_TWO_MONTHS = 86400\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Date|String|Number} date - the other date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * var result = distanceInWords(\n *   new Date(2014, 6, 2),\n *   new Date(2015, 0, 1)\n * )\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * var result = distanceInWords(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * var result = distanceInWords(\n *   new Date(2016, 0, 1),\n *   new Date(2015, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWords(\n *   new Date(2016, 7, 1),\n *   new Date(2015, 0, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWords (dirtyDateToCompare, dirtyDate, dirtyOptions) {\n  var options = dirtyOptions || {}\n\n  var comparison = compareDesc(dirtyDateToCompare, dirtyDate)\n\n  var locale = options.locale\n  var localize = enLocale.distanceInWords.localize\n  if (locale && locale.distanceInWords && locale.distanceInWords.localize) {\n    localize = locale.distanceInWords.localize\n  }\n\n  var localizeOptions = {\n    addSuffix: Boolean(options.addSuffix),\n    comparison: comparison\n  }\n\n  var dateLeft, dateRight\n  if (comparison > 0) {\n    dateLeft = parse(dirtyDateToCompare)\n    dateRight = parse(dirtyDate)\n  } else {\n    dateLeft = parse(dirtyDate)\n    dateRight = parse(dirtyDateToCompare)\n  }\n\n  var seconds = differenceInSeconds(dateRight, dateLeft)\n  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()\n  var minutes = Math.round(seconds / 60) - offset\n  var months\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options.includeSeconds) {\n      if (seconds < 5) {\n        return localize('lessThanXSeconds', 5, localizeOptions)\n      } else if (seconds < 10) {\n        return localize('lessThanXSeconds', 10, localizeOptions)\n      } else if (seconds < 20) {\n        return localize('lessThanXSeconds', 20, localizeOptions)\n      } else if (seconds < 40) {\n        return localize('halfAMinute', null, localizeOptions)\n      } else if (seconds < 60) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', 1, localizeOptions)\n      }\n    } else {\n      if (minutes === 0) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', minutes, localizeOptions)\n      }\n    }\n\n  // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return localize('xMinutes', minutes, localizeOptions)\n\n  // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return localize('aboutXHours', 1, localizeOptions)\n\n  // 1.5 hrs up to 24 hrs\n  } else if (minutes < MINUTES_IN_DAY) {\n    var hours = Math.round(minutes / 60)\n    return localize('aboutXHours', hours, localizeOptions)\n\n  // 1 day up to 1.75 days\n  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n    return localize('xDays', 1, localizeOptions)\n\n  // 1.75 days up to 30 days\n  } else if (minutes < MINUTES_IN_MONTH) {\n    var days = Math.round(minutes / MINUTES_IN_DAY)\n    return localize('xDays', days, localizeOptions)\n\n  // 1 month up to 2 months\n  } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n    months = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('aboutXMonths', months, localizeOptions)\n  }\n\n  months = differenceInMonths(dateRight, dateLeft)\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('xMonths', nearestMonth, localizeOptions)\n\n  // 1 year up to max Date\n  } else {\n    var monthsSinceStartOfYear = months % 12\n    var years = Math.floor(months / 12)\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return localize('aboutXYears', years, localizeOptions)\n\n    // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return localize('overXYears', years, localizeOptions)\n\n    // N years 9 months up to N year 12 months\n    } else {\n      return localize('almostXYears', years + 1, localizeOptions)\n    }\n  }\n}\n\nmodule.exports = distanceInWords\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/distance_in_words/index.js\n// module id = 186\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return -1 if the first date is after the second,\n * 1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\n * var result = compareDesc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> 1\n *\n * @example\n * // Sort the array of dates in reverse chronological order:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareDesc)\n * //=> [\n * //   Sun Jul 02 1995 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Wed Feb 11 1987 00:00:00\n * // ]\n */\nfunction compareDesc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft > timeRight) {\n    return -1\n  } else if (timeLeft < timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareDesc\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/compare_desc/index.js\n// module id = 187\n// module chunks = 0","/**\n * @category Common Helpers\n * @summary Is the given argument an instance of Date?\n *\n * @description\n * Is the given argument an instance of Date?\n *\n * @param {*} argument - the argument to check\n * @returns {Boolean} the given argument is an instance of Date\n *\n * @example\n * // Is 'mayonnaise' a Date?\n * var result = isDate('mayonnaise')\n * //=> false\n */\nfunction isDate (argument) {\n  return argument instanceof Date\n}\n\nmodule.exports = isDate\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/is_date/index.js\n// module id = 188\n// module chunks = 0","var differenceInMilliseconds = require('../difference_in_milliseconds/index.js')\n\n/**\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * var result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nfunction differenceInSeconds (dirtyDateLeft, dirtyDateRight) {\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\n}\n\nmodule.exports = differenceInSeconds\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_seconds/index.js\n// module id = 189\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * var result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nfunction differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n  return dateLeft.getTime() - dateRight.getTime()\n}\n\nmodule.exports = differenceInMilliseconds\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_milliseconds/index.js\n// module id = 190\n// module chunks = 0","var parse = require('../parse/index.js')\nvar differenceInCalendarMonths = require('../difference_in_calendar_months/index.js')\nvar compareAsc = require('../compare_asc/index.js')\n\n/**\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 7\n */\nfunction differenceInMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var sign = compareAsc(dateLeft, dateRight)\n  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight))\n  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)\n\n  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n  // If so, result must be decreased by 1 in absolute value\n  var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign\n  return sign * (difference - isLastMonthNotFull)\n}\n\nmodule.exports = differenceInMonths\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_months/index.js\n// module id = 191\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nfunction differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()\n  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()\n\n  return yearDiff * 12 + monthDiff\n}\n\nmodule.exports = differenceInCalendarMonths\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_calendar_months/index.js\n// module id = 192\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nfunction compareAsc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft < timeRight) {\n    return -1\n  } else if (timeLeft > timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareAsc\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/compare_asc/index.js\n// module id = 193\n// module chunks = 0","var buildDistanceInWordsLocale = require('./build_distance_in_words_locale/index.js')\nvar buildFormatLocale = require('./build_format_locale/index.js')\n\n/**\n * @category Locales\n * @summary English locale.\n */\nmodule.exports = {\n  distanceInWords: buildDistanceInWordsLocale(),\n  format: buildFormatLocale()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/index.js\n// module id = 194\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'less than a second',\n      other: 'less than {{count}} seconds'\n    },\n\n    xSeconds: {\n      one: '1 second',\n      other: '{{count}} seconds'\n    },\n\n    halfAMinute: 'half a minute',\n\n    lessThanXMinutes: {\n      one: 'less than a minute',\n      other: 'less than {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'about 1 hour',\n      other: 'about {{count}} hours'\n    },\n\n    xHours: {\n      one: '1 hour',\n      other: '{{count}} hours'\n    },\n\n    xDays: {\n      one: '1 day',\n      other: '{{count}} days'\n    },\n\n    aboutXMonths: {\n      one: 'about 1 month',\n      other: 'about {{count}} months'\n    },\n\n    xMonths: {\n      one: '1 month',\n      other: '{{count}} months'\n    },\n\n    aboutXYears: {\n      one: 'about 1 year',\n      other: 'about {{count}} years'\n    },\n\n    xYears: {\n      one: '1 year',\n      other: '{{count}} years'\n    },\n\n    overXYears: {\n      one: 'over 1 year',\n      other: 'over {{count}} years'\n    },\n\n    almostXYears: {\n      one: 'almost 1 year',\n      other: 'almost {{count}} years'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'in ' + result\n      } else {\n        return result + ' ago'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js\n// module id = 195\n// module chunks = 0","var buildFormattingTokensRegExp = require('../../_lib/build_formatting_tokens_reg_exp/index.js')\n\nfunction buildFormatLocale () {\n  // Note: in English, the names of days of the week and months are capitalized.\n  // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n  // Generally, formatted dates should look like they are in the middle of a sentence,\n  // e.g. in Spanish language the weekdays and months should be in the lowercase.\n  var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n  var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n  var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\n  var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n  var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n  var meridiemUppercase = ['AM', 'PM']\n  var meridiemLowercase = ['am', 'pm']\n  var meridiemFull = ['a.m.', 'p.m.']\n\n  var formatters = {\n    // Month: Jan, Feb, ..., Dec\n    'MMM': function (date) {\n      return months3char[date.getMonth()]\n    },\n\n    // Month: January, February, ..., December\n    'MMMM': function (date) {\n      return monthsFull[date.getMonth()]\n    },\n\n    // Day of week: Su, Mo, ..., Sa\n    'dd': function (date) {\n      return weekdays2char[date.getDay()]\n    },\n\n    // Day of week: Sun, Mon, ..., Sat\n    'ddd': function (date) {\n      return weekdays3char[date.getDay()]\n    },\n\n    // Day of week: Sunday, Monday, ..., Saturday\n    'dddd': function (date) {\n      return weekdaysFull[date.getDay()]\n    },\n\n    // AM, PM\n    'A': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0]\n    },\n\n    // am, pm\n    'a': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0]\n    },\n\n    // a.m., p.m.\n    'aa': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0]\n    }\n  }\n\n  // Generate ordinal version of formatters: M -> Mo, D -> Do, etc.\n  var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W']\n  ordinalFormatters.forEach(function (formatterToken) {\n    formatters[formatterToken + 'o'] = function (date, formatters) {\n      return ordinal(formatters[formatterToken](date))\n    }\n  })\n\n  return {\n    formatters: formatters,\n    formattingTokensRegExp: buildFormattingTokensRegExp(formatters)\n  }\n}\n\nfunction ordinal (number) {\n  var rem100 = number % 100\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st'\n      case 2:\n        return number + 'nd'\n      case 3:\n        return number + 'rd'\n    }\n  }\n  return number + 'th'\n}\n\nmodule.exports = buildFormatLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/build_format_locale/index.js\n// module id = 196\n// module chunks = 0","var commonFormatterKeys = [\n  'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',\n  'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',\n  'H', 'HH', 'h', 'hh', 'm', 'mm',\n  's', 'ss', 'S', 'SS', 'SSS',\n  'Z', 'ZZ', 'X', 'x'\n]\n\nfunction buildFormattingTokensRegExp (formatters) {\n  var formatterKeys = []\n  for (var key in formatters) {\n    if (formatters.hasOwnProperty(key)) {\n      formatterKeys.push(key)\n    }\n  }\n\n  var formattingTokens = commonFormatterKeys\n    .concat(formatterKeys)\n    .sort()\n    .reverse()\n  var formattingTokensRegExp = new RegExp(\n    '(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'\n  )\n\n  return formattingTokensRegExp\n}\n\nmodule.exports = buildFormattingTokensRegExp\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js\n// module id = 197\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '不到 1 秒',\n      other: '不到 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分钟',\n\n    lessThanXMinutes: {\n      one: '不到 1 分钟',\n      other: '不到 {{count}} 分钟'\n    },\n\n    xMinutes: {\n      one: '1 分钟',\n      other: '{{count}} 分钟'\n    },\n\n    xHours: {\n      one: '1 小时',\n      other: '{{count}} 小时'\n    },\n\n    aboutXHours: {\n      one: '大约 1 小时',\n      other: '大约 {{count}} 小时'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大约 1 个月',\n      other: '大约 {{count}} 个月'\n    },\n\n    xMonths: {\n      one: '1 个月',\n      other: '{{count}} 个月'\n    },\n\n    aboutXYears: {\n      one: '大约 1 年',\n      other: '大约 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超过 1 年',\n      other: '超过 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '将近 1 年',\n      other: '将近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '内'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/zh_cn/build_distance_in_words_locale/index.js\n// module id = 198\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '少於 1 秒',\n      other: '少於 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分鐘',\n\n    lessThanXMinutes: {\n      one: '少於 1 分鐘',\n      other: '少於 {{count}} 分鐘'\n    },\n\n    xMinutes: {\n      one: '1 分鐘',\n      other: '{{count}} 分鐘'\n    },\n\n    xHours: {\n      one: '1 小時',\n      other: '{{count}} 小時'\n    },\n\n    aboutXHours: {\n      one: '大約 1 小時',\n      other: '大約 {{count}} 小時'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大約 1 個月',\n      other: '大約 {{count}} 個月'\n    },\n\n    xMonths: {\n      one: '1 個月',\n      other: '{{count}} 個月'\n    },\n\n    aboutXYears: {\n      one: '大約 1 年',\n      other: '大約 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超過 1 年',\n      other: '超過 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '將近 1 年',\n      other: '將近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '內'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/zh_tw/build_distance_in_words_locale/index.js\n// module id = 199\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'menos de un segundo',\n      other: 'menos de {{count}} segundos'\n    },\n\n    xSeconds: {\n      one: '1 segundo',\n      other: '{{count}} segundos'\n    },\n\n    halfAMinute: 'medio minuto',\n\n    lessThanXMinutes: {\n      one: 'menos de un minuto',\n      other: 'menos de {{count}} minutos'\n    },\n\n    xMinutes: {\n      one: '1 minuto',\n      other: '{{count}} minutos'\n    },\n\n    aboutXHours: {\n      one: 'alrededor de 1 hora',\n      other: 'alrededor de {{count}} horas'\n    },\n\n    xHours: {\n      one: '1 hora',\n      other: '{{count}} horas'\n    },\n\n    xDays: {\n      one: '1 día',\n      other: '{{count}} días'\n    },\n\n    aboutXMonths: {\n      one: 'alrededor de 1 mes',\n      other: 'alrededor de {{count}} meses'\n    },\n\n    xMonths: {\n      one: '1 mes',\n      other: '{{count}} meses'\n    },\n\n    aboutXYears: {\n      one: 'alrededor de 1 año',\n      other: 'alrededor de {{count}} años'\n    },\n\n    xYears: {\n      one: '1 año',\n      other: '{{count}} años'\n    },\n\n    overXYears: {\n      one: 'más de 1 año',\n      other: 'más de {{count}} años'\n    },\n\n    almostXYears: {\n      one: 'casi 1 año',\n      other: 'casi {{count}} años'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'en ' + result\n      } else {\n        return 'hace ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js\n// module id = 200\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'moins d’une seconde',\n      other: 'moins de {{count}} secondes'\n    },\n\n    xSeconds: {\n      one: '1 seconde',\n      other: '{{count}} secondes'\n    },\n\n    halfAMinute: '30 secondes',\n\n    lessThanXMinutes: {\n      one: 'moins d’une minute',\n      other: 'moins de {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'environ 1 heure',\n      other: 'environ {{count}} heures'\n    },\n\n    xHours: {\n      one: '1 heure',\n      other: '{{count}} heures'\n    },\n\n    xDays: {\n      one: '1 jour',\n      other: '{{count}} jours'\n    },\n\n    aboutXMonths: {\n      one: 'environ 1 mois',\n      other: 'environ {{count}} mois'\n    },\n\n    xMonths: {\n      one: '1 mois',\n      other: '{{count}} mois'\n    },\n\n    aboutXYears: {\n      one: 'environ 1 an',\n      other: 'environ {{count}} ans'\n    },\n\n    xYears: {\n      one: '1 an',\n      other: '{{count}} ans'\n    },\n\n    overXYears: {\n      one: 'plus d’un an',\n      other: 'plus de {{count}} ans'\n    },\n\n    almostXYears: {\n      one: 'presqu’un an',\n      other: 'presque {{count}} ans'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'dans ' + result\n      } else {\n        return 'il y a ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js\n// module id = 201\n// module chunks = 0","function declension (scheme, count) {\n  // scheme for count=1 exists\n  if (scheme.one !== undefined && count === 1) {\n    return scheme.one\n  }\n\n  var rem10 = count % 10\n  var rem100 = count % 100\n\n  // 1, 21, 31, ...\n  if (rem10 === 1 && rem100 !== 11) {\n    return scheme.singularNominative.replace('{{count}}', count)\n\n  // 2, 3, 4, 22, 23, 24, 32 ...\n  } else if ((rem10 >= 2 && rem10 <= 4) && (rem100 < 10 || rem100 > 20)) {\n    return scheme.singularGenitive.replace('{{count}}', count)\n\n  // 5, 6, 7, 8, 9, 10, 11, ...\n  } else {\n    return scheme.pluralGenitive.replace('{{count}}', count)\n  }\n}\n\nfunction buildLocalizeTokenFn (scheme) {\n  return function (count, options) {\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        if (scheme.future) {\n          return declension(scheme.future, count)\n        } else {\n          return 'через ' + declension(scheme.regular, count)\n        }\n      } else {\n        if (scheme.past) {\n          return declension(scheme.past, count)\n        } else {\n          return declension(scheme.regular, count) + ' назад'\n        }\n      }\n    } else {\n      return declension(scheme.regular, count)\n    }\n  }\n}\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше секунды',\n        singularNominative: 'меньше {{count}} секунды',\n        singularGenitive: 'меньше {{count}} секунд',\n        pluralGenitive: 'меньше {{count}} секунд'\n      },\n      future: {\n        one: 'меньше, чем через секунду',\n        singularNominative: 'меньше, чем через {{count}} секунду',\n        singularGenitive: 'меньше, чем через {{count}} секунды',\n        pluralGenitive: 'меньше, чем через {{count}} секунд'\n      }\n    }),\n\n    xSeconds: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} секунда',\n        singularGenitive: '{{count}} секунды',\n        pluralGenitive: '{{count}} секунд'\n      },\n      past: {\n        singularNominative: '{{count}} секунду назад',\n        singularGenitive: '{{count}} секунды назад',\n        pluralGenitive: '{{count}} секунд назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} секунду',\n        singularGenitive: 'через {{count}} секунды',\n        pluralGenitive: 'через {{count}} секунд'\n      }\n    }),\n\n    halfAMinute: function (_, options) {\n      if (options.addSuffix) {\n        if (options.comparison > 0) {\n          return 'через полминуты'\n        } else {\n          return 'полминуты назад'\n        }\n      }\n\n      return 'полминуты'\n    },\n\n    lessThanXMinutes: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше минуты',\n        singularNominative: 'меньше {{count}} минуты',\n        singularGenitive: 'меньше {{count}} минут',\n        pluralGenitive: 'меньше {{count}} минут'\n      },\n      future: {\n        one: 'меньше, чем через минуту',\n        singularNominative: 'меньше, чем через {{count}} минуту',\n        singularGenitive: 'меньше, чем через {{count}} минуты',\n        pluralGenitive: 'меньше, чем через {{count}} минут'\n      }\n    }),\n\n    xMinutes: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} минута',\n        singularGenitive: '{{count}} минуты',\n        pluralGenitive: '{{count}} минут'\n      },\n      past: {\n        singularNominative: '{{count}} минуту назад',\n        singularGenitive: '{{count}} минуты назад',\n        pluralGenitive: '{{count}} минут назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} минуту',\n        singularGenitive: 'через {{count}} минуты',\n        pluralGenitive: 'через {{count}} минут'\n      }\n    }),\n\n    aboutXHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} часа',\n        singularGenitive: 'около {{count}} часов',\n        pluralGenitive: 'около {{count}} часов'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} час',\n        singularGenitive: 'приблизительно через {{count}} часа',\n        pluralGenitive: 'приблизительно через {{count}} часов'\n      }\n    }),\n\n    xHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} час',\n        singularGenitive: '{{count}} часа',\n        pluralGenitive: '{{count}} часов'\n      }\n    }),\n\n    xDays: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} день',\n        singularGenitive: '{{count}} дня',\n        pluralGenitive: '{{count}} дней'\n      }\n    }),\n\n    aboutXMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} месяца',\n        singularGenitive: 'около {{count}} месяцев',\n        pluralGenitive: 'около {{count}} месяцев'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} месяц',\n        singularGenitive: 'приблизительно через {{count}} месяца',\n        pluralGenitive: 'приблизительно через {{count}} месяцев'\n      }\n    }),\n\n    xMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} месяц',\n        singularGenitive: '{{count}} месяца',\n        pluralGenitive: '{{count}} месяцев'\n      }\n    }),\n\n    aboutXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} года',\n        singularGenitive: 'около {{count}} лет',\n        pluralGenitive: 'около {{count}} лет'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} год',\n        singularGenitive: 'приблизительно через {{count}} года',\n        pluralGenitive: 'приблизительно через {{count}} лет'\n      }\n    }),\n\n    xYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} год',\n        singularGenitive: '{{count}} года',\n        pluralGenitive: '{{count}} лет'\n      }\n    }),\n\n    overXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'больше {{count}} года',\n        singularGenitive: 'больше {{count}} лет',\n        pluralGenitive: 'больше {{count}} лет'\n      },\n      future: {\n        singularNominative: 'больше, чем через {{count}} год',\n        singularGenitive: 'больше, чем через {{count}} года',\n        pluralGenitive: 'больше, чем через {{count}} лет'\n      }\n    }),\n\n    almostXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'почти {{count}} год',\n        singularGenitive: 'почти {{count}} года',\n        pluralGenitive: 'почти {{count}} лет'\n      },\n      future: {\n        singularNominative: 'почти через {{count}} год',\n        singularGenitive: 'почти через {{count}} года',\n        pluralGenitive: 'почти через {{count}} лет'\n      }\n    })\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n    return distanceInWordsLocale[token](count, options)\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/ru/build_distance_in_words_locale/index.js\n// module id = 202\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/github-markdown-css/github-markdown.css\n// module id = 203\n// module chunks = 0","export const GT_ACCESS_TOKEN = 'GT_ACCESS_TOKEN'\nexport const GT_VERSION = VERSION // eslint-disable-line\nexport const GT_COMMENT = 'GT_COMMENT'\n\n\n\n// WEBPACK FOOTER //\n// ./const.js","import {\n  axiosGithub\n} from '../util'\n\nconst getQL = (vars, pagerDirection) => {\n  const cursorDirection = pagerDirection === 'last' ? 'before' : 'after'\n  const ql = `\n  query getIssueAndComments(\n    $owner: String!,\n    $repo: String!,\n    $id: Int!,\n    $cursor: String,\n    $pageSize: Int!\n  ) {\n    repository(owner: $owner, name: $repo) {\n      issue(number: $id) {\n        title\n        url\n        bodyHTML\n        createdAt\n        comments(${pagerDirection}: $pageSize, ${cursorDirection}: $cursor) {\n          totalCount\n          pageInfo {\n            ${pagerDirection === 'last' ? 'hasPreviousPage' : 'hasNextPage'}\n            ${cursorDirection === 'before' ? 'startCursor' : 'endCursor'}\n          }\n          nodes {\n            id\n            databaseId\n            author {\n              avatarUrl\n              login\n              url\n            }\n            bodyHTML\n            body\n            createdAt\n            reactions(first: 100, content: HEART) {\n              totalCount\n              viewerHasReacted\n              pageInfo{\n                hasNextPage\n              }\n              nodes {\n                id\n                databaseId\n                user {\n                  login\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  `\n\n  if (vars.cursor === null) delete vars.cursor\n\n  return {\n    operationName: 'getIssueAndComments',\n    query: ql,\n    variables: vars\n  }\n}\n\nfunction getComments (issue) {\n  const { owner, repo, perPage, pagerDirection, defaultAuthor } = this.options\n  const { cursor, comments } = this.state\n  return axiosGithub.post(\n    '/graphql',\n    getQL(\n      {\n        owner,\n        repo,\n        id: issue.number,\n        pageSize: perPage,\n        cursor\n      },\n      pagerDirection\n    ), {\n      headers: {\n        Authorization: `bearer ${this.accessToken}`\n      }\n    }\n  ).then(res => {\n    const data = res.data.data.repository.issue.comments\n    const items = data.nodes.map(node => {\n      const author = node.author || defaultAuthor\n\n      return {\n        id: node.databaseId,\n        gId: node.id,\n        user: {\n          avatar_url: author.avatarUrl,\n          login: author.login,\n          html_url: author.url\n        },\n        created_at: node.createdAt,\n        body_html: node.bodyHTML,\n        body: node.body,\n        html_url: `https://github.com/${owner}/${repo}/issues/${issue.number}#issuecomment-${node.databaseId}`,\n        reactions: node.reactions\n      }\n    })\n\n    let cs\n\n    if (pagerDirection === 'last') {\n      cs = [...items, ...comments]\n    } else {\n      cs = [...comments, ...items]\n    }\n\n    const isLoadOver = data.pageInfo.hasPreviousPage === false || data.pageInfo.hasNextPage === false\n    this.setState({\n      comments: cs,\n      isLoadOver,\n      cursor: data.pageInfo.startCursor || data.pageInfo.endCursor\n    })\n    return cs\n  })\n}\n\nexport default getComments\n\n\n\n// WEBPACK FOOTER //\n// ./graphql/getComments.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/toConsumableArray.js\n// module id = 206\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/array/from.js\n// module id = 207\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/array/from.js\n// module id = 208\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.array.from.js\n// module id = 209\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_create-property.js\n// module id = 210\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk.css b/server/target/classes/static/gitalk/gitalk.css
deleted file mode 100644
index 71a80c1..0000000
--- a/server/target/classes/static/gitalk/gitalk.css
+++ /dev/null
@@ -1,1250 +0,0 @@
-@font-face {
-  font-family: octicons-link;
-  src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
-}
-
-.markdown-body {
-  -ms-text-size-adjust: 100%;
-  -webkit-text-size-adjust: 100%;
-  line-height: 1.5;
-  color: #24292e;
-  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
-  font-size: 16px;
-  line-height: 1.5;
-  word-wrap: break-word;
-}
-
-.markdown-body .pl-c {
-  color: #6a737d;
-}
-
-.markdown-body .pl-c1,
-.markdown-body .pl-s .pl-v {
-  color: #005cc5;
-}
-
-.markdown-body .pl-e,
-.markdown-body .pl-en {
-  color: #6f42c1;
-}
-
-.markdown-body .pl-smi,
-.markdown-body .pl-s .pl-s1 {
-  color: #24292e;
-}
-
-.markdown-body .pl-ent {
-  color: #22863a;
-}
-
-.markdown-body .pl-k {
-  color: #d73a49;
-}
-
-.markdown-body .pl-s,
-.markdown-body .pl-pds,
-.markdown-body .pl-s .pl-pse .pl-s1,
-.markdown-body .pl-sr,
-.markdown-body .pl-sr .pl-cce,
-.markdown-body .pl-sr .pl-sre,
-.markdown-body .pl-sr .pl-sra {
-  color: #032f62;
-}
-
-.markdown-body .pl-v,
-.markdown-body .pl-smw {
-  color: #e36209;
-}
-
-.markdown-body .pl-bu {
-  color: #b31d28;
-}
-
-.markdown-body .pl-ii {
-  color: #fafbfc;
-  background-color: #b31d28;
-}
-
-.markdown-body .pl-c2 {
-  color: #fafbfc;
-  background-color: #d73a49;
-}
-
-.markdown-body .pl-c2::before {
-  content: "^M";
-}
-
-.markdown-body .pl-sr .pl-cce {
-  font-weight: bold;
-  color: #22863a;
-}
-
-.markdown-body .pl-ml {
-  color: #735c0f;
-}
-
-.markdown-body .pl-mh,
-.markdown-body .pl-mh .pl-en,
-.markdown-body .pl-ms {
-  font-weight: bold;
-  color: #005cc5;
-}
-
-.markdown-body .pl-mi {
-  font-style: italic;
-  color: #24292e;
-}
-
-.markdown-body .pl-mb {
-  font-weight: bold;
-  color: #24292e;
-}
-
-.markdown-body .pl-md {
-  color: #b31d28;
-  background-color: #ffeef0;
-}
-
-.markdown-body .pl-mi1 {
-  color: #22863a;
-  background-color: #f0fff4;
-}
-
-.markdown-body .pl-mc {
-  color: #e36209;
-  background-color: #ffebda;
-}
-
-.markdown-body .pl-mi2 {
-  color: #f6f8fa;
-  background-color: #005cc5;
-}
-
-.markdown-body .pl-mdr {
-  font-weight: bold;
-  color: #6f42c1;
-}
-
-.markdown-body .pl-ba {
-  color: #586069;
-}
-
-.markdown-body .pl-sg {
-  color: #959da5;
-}
-
-.markdown-body .pl-corl {
-  text-decoration: underline;
-  color: #032f62;
-}
-
-.markdown-body .octicon {
-  display: inline-block;
-  vertical-align: text-top;
-  fill: currentColor;
-}
-
-.markdown-body a {
-  background-color: transparent;
-  -webkit-text-decoration-skip: objects;
-}
-
-.markdown-body a:active,
-.markdown-body a:hover {
-  outline-width: 0;
-}
-
-.markdown-body strong {
-  font-weight: inherit;
-}
-
-.markdown-body strong {
-  font-weight: bolder;
-}
-
-.markdown-body h1 {
-  font-size: 2em;
-  margin: 0.67em 0;
-}
-
-.markdown-body img {
-  border-style: none;
-}
-
-.markdown-body svg:not(:root) {
-  overflow: hidden;
-}
-
-.markdown-body code,
-.markdown-body kbd,
-.markdown-body pre {
-  font-family: monospace, monospace;
-  font-size: 1em;
-}
-
-.markdown-body hr {
-  -webkit-box-sizing: content-box;
-          box-sizing: content-box;
-  height: 0;
-  overflow: visible;
-}
-
-.markdown-body input {
-  font: inherit;
-  margin: 0;
-}
-
-.markdown-body input {
-  overflow: visible;
-}
-
-.markdown-body [type="checkbox"] {
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-  padding: 0;
-}
-
-.markdown-body * {
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-.markdown-body input {
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-
-.markdown-body a {
-  color: #0366d6;
-  text-decoration: none;
-}
-
-.markdown-body a:hover {
-  text-decoration: underline;
-}
-
-.markdown-body strong {
-  font-weight: 600;
-}
-
-.markdown-body hr {
-  height: 0;
-  margin: 15px 0;
-  overflow: hidden;
-  background: transparent;
-  border: 0;
-  border-bottom: 1px solid #dfe2e5;
-}
-
-.markdown-body hr::before {
-  display: table;
-  content: "";
-}
-
-.markdown-body hr::after {
-  display: table;
-  clear: both;
-  content: "";
-}
-
-.markdown-body table {
-  border-spacing: 0;
-  border-collapse: collapse;
-}
-
-.markdown-body td,
-.markdown-body th {
-  padding: 0;
-}
-
-.markdown-body h1,
-.markdown-body h2,
-.markdown-body h3,
-.markdown-body h4,
-.markdown-body h5,
-.markdown-body h6 {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-
-.markdown-body h1 {
-  font-size: 32px;
-  font-weight: 600;
-}
-
-.markdown-body h2 {
-  font-size: 24px;
-  font-weight: 600;
-}
-
-.markdown-body h3 {
-  font-size: 20px;
-  font-weight: 600;
-}
-
-.markdown-body h4 {
-  font-size: 16px;
-  font-weight: 600;
-}
-
-.markdown-body h5 {
-  font-size: 14px;
-  font-weight: 600;
-}
-
-.markdown-body h6 {
-  font-size: 12px;
-  font-weight: 600;
-}
-
-.markdown-body p {
-  margin-top: 0;
-  margin-bottom: 10px;
-}
-
-.markdown-body blockquote {
-  margin: 0;
-}
-
-.markdown-body ul,
-.markdown-body ol {
-  padding-left: 0;
-  margin-top: 0;
-  margin-bottom: 0;
-}
-
-.markdown-body ol ol,
-.markdown-body ul ol {
-  list-style-type: lower-roman;
-}
-
-.markdown-body ul ul ol,
-.markdown-body ul ol ol,
-.markdown-body ol ul ol,
-.markdown-body ol ol ol {
-  list-style-type: lower-alpha;
-}
-
-.markdown-body dd {
-  margin-left: 0;
-}
-
-.markdown-body code {
-  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
-  font-size: 12px;
-}
-
-.markdown-body pre {
-  margin-top: 0;
-  margin-bottom: 0;
-  font: 12px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
-}
-
-.markdown-body .octicon {
-  vertical-align: text-bottom;
-}
-
-.markdown-body .pl-0 {
-  padding-left: 0 !important;
-}
-
-.markdown-body .pl-1 {
-  padding-left: 4px !important;
-}
-
-.markdown-body .pl-2 {
-  padding-left: 8px !important;
-}
-
-.markdown-body .pl-3 {
-  padding-left: 16px !important;
-}
-
-.markdown-body .pl-4 {
-  padding-left: 24px !important;
-}
-
-.markdown-body .pl-5 {
-  padding-left: 32px !important;
-}
-
-.markdown-body .pl-6 {
-  padding-left: 40px !important;
-}
-
-.markdown-body::before {
-  display: table;
-  content: "";
-}
-
-.markdown-body::after {
-  display: table;
-  clear: both;
-  content: "";
-}
-
-.markdown-body>*:first-child {
-  margin-top: 0 !important;
-}
-
-.markdown-body>*:last-child {
-  margin-bottom: 0 !important;
-}
-
-.markdown-body a:not([href]) {
-  color: inherit;
-  text-decoration: none;
-}
-
-.markdown-body .anchor {
-  float: left;
-  padding-right: 4px;
-  margin-left: -20px;
-  line-height: 1;
-}
-
-.markdown-body .anchor:focus {
-  outline: none;
-}
-
-.markdown-body p,
-.markdown-body blockquote,
-.markdown-body ul,
-.markdown-body ol,
-.markdown-body dl,
-.markdown-body table,
-.markdown-body pre {
-  margin-top: 0;
-  margin-bottom: 16px;
-}
-
-.markdown-body hr {
-  height: 0.25em;
-  padding: 0;
-  margin: 24px 0;
-  background-color: #e1e4e8;
-  border: 0;
-}
-
-.markdown-body blockquote {
-  padding: 0 1em;
-  color: #6a737d;
-  border-left: 0.25em solid #dfe2e5;
-}
-
-.markdown-body blockquote>:first-child {
-  margin-top: 0;
-}
-
-.markdown-body blockquote>:last-child {
-  margin-bottom: 0;
-}
-
-.markdown-body kbd {
-  display: inline-block;
-  padding: 3px 5px;
-  font-size: 11px;
-  line-height: 10px;
-  color: #444d56;
-  vertical-align: middle;
-  background-color: #fafbfc;
-  border: solid 1px #c6cbd1;
-  border-bottom-color: #959da5;
-  border-radius: 3px;
-  -webkit-box-shadow: inset 0 -1px 0 #959da5;
-          box-shadow: inset 0 -1px 0 #959da5;
-}
-
-.markdown-body h1,
-.markdown-body h2,
-.markdown-body h3,
-.markdown-body h4,
-.markdown-body h5,
-.markdown-body h6 {
-  margin-top: 24px;
-  margin-bottom: 16px;
-  font-weight: 600;
-  line-height: 1.25;
-}
-
-.markdown-body h1 .octicon-link,
-.markdown-body h2 .octicon-link,
-.markdown-body h3 .octicon-link,
-.markdown-body h4 .octicon-link,
-.markdown-body h5 .octicon-link,
-.markdown-body h6 .octicon-link {
-  color: #1b1f23;
-  vertical-align: middle;
-  visibility: hidden;
-}
-
-.markdown-body h1:hover .anchor,
-.markdown-body h2:hover .anchor,
-.markdown-body h3:hover .anchor,
-.markdown-body h4:hover .anchor,
-.markdown-body h5:hover .anchor,
-.markdown-body h6:hover .anchor {
-  text-decoration: none;
-}
-
-.markdown-body h1:hover .anchor .octicon-link,
-.markdown-body h2:hover .anchor .octicon-link,
-.markdown-body h3:hover .anchor .octicon-link,
-.markdown-body h4:hover .anchor .octicon-link,
-.markdown-body h5:hover .anchor .octicon-link,
-.markdown-body h6:hover .anchor .octicon-link {
-  visibility: visible;
-}
-
-.markdown-body h1 {
-  padding-bottom: 0.3em;
-  font-size: 2em;
-  border-bottom: 1px solid #eaecef;
-}
-
-.markdown-body h2 {
-  padding-bottom: 0.3em;
-  font-size: 1.5em;
-  border-bottom: 1px solid #eaecef;
-}
-
-.markdown-body h3 {
-  font-size: 1.25em;
-}
-
-.markdown-body h4 {
-  font-size: 1em;
-}
-
-.markdown-body h5 {
-  font-size: 0.875em;
-}
-
-.markdown-body h6 {
-  font-size: 0.85em;
-  color: #6a737d;
-}
-
-.markdown-body ul,
-.markdown-body ol {
-  padding-left: 2em;
-}
-
-.markdown-body ul ul,
-.markdown-body ul ol,
-.markdown-body ol ol,
-.markdown-body ol ul {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-
-.markdown-body li>p {
-  margin-top: 16px;
-}
-
-.markdown-body li+li {
-  margin-top: 0.25em;
-}
-
-.markdown-body dl {
-  padding: 0;
-}
-
-.markdown-body dl dt {
-  padding: 0;
-  margin-top: 16px;
-  font-size: 1em;
-  font-style: italic;
-  font-weight: 600;
-}
-
-.markdown-body dl dd {
-  padding: 0 16px;
-  margin-bottom: 16px;
-}
-
-.markdown-body table {
-  display: block;
-  width: 100%;
-  overflow: auto;
-}
-
-.markdown-body table th {
-  font-weight: 600;
-}
-
-.markdown-body table th,
-.markdown-body table td {
-  padding: 6px 13px;
-  border: 1px solid #dfe2e5;
-}
-
-.markdown-body table tr {
-  background-color: #fff;
-  border-top: 1px solid #c6cbd1;
-}
-
-.markdown-body table tr:nth-child(2n) {
-  background-color: #f6f8fa;
-}
-
-.markdown-body img {
-  max-width: 100%;
-  -webkit-box-sizing: content-box;
-          box-sizing: content-box;
-  background-color: #fff;
-}
-
-.markdown-body code {
-  padding: 0;
-  padding-top: 0.2em;
-  padding-bottom: 0.2em;
-  margin: 0;
-  font-size: 85%;
-  background-color: rgba(27,31,35,0.05);
-  border-radius: 3px;
-}
-
-.markdown-body code::before,
-.markdown-body code::after {
-  letter-spacing: -0.2em;
-  content: "\A0";
-}
-
-.markdown-body pre {
-  word-wrap: normal;
-}
-
-.markdown-body pre>code {
-  padding: 0;
-  margin: 0;
-  font-size: 100%;
-  word-break: normal;
-  white-space: pre;
-  background: transparent;
-  border: 0;
-}
-
-.markdown-body .highlight {
-  margin-bottom: 16px;
-}
-
-.markdown-body .highlight pre {
-  margin-bottom: 0;
-  word-break: normal;
-}
-
-.markdown-body .highlight pre,
-.markdown-body pre {
-  padding: 16px;
-  overflow: auto;
-  font-size: 85%;
-  line-height: 1.45;
-  background-color: #f6f8fa;
-  border-radius: 3px;
-}
-
-.markdown-body pre code {
-  display: inline;
-  max-width: auto;
-  padding: 0;
-  margin: 0;
-  overflow: visible;
-  line-height: inherit;
-  word-wrap: normal;
-  background-color: transparent;
-  border: 0;
-}
-
-.markdown-body pre code::before,
-.markdown-body pre code::after {
-  content: normal;
-}
-
-.markdown-body .full-commit .btn-outline:not(:disabled):hover {
-  color: #005cc5;
-  border-color: #005cc5;
-}
-
-.markdown-body kbd {
-  display: inline-block;
-  padding: 3px 5px;
-  font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
-  line-height: 10px;
-  color: #444d56;
-  vertical-align: middle;
-  background-color: #fafbfc;
-  border: solid 1px #d1d5da;
-  border-bottom-color: #c6cbd1;
-  border-radius: 3px;
-  -webkit-box-shadow: inset 0 -1px 0 #c6cbd1;
-          box-shadow: inset 0 -1px 0 #c6cbd1;
-}
-
-.markdown-body :checked+.radio-label {
-  position: relative;
-  z-index: 1;
-  border-color: #0366d6;
-}
-
-.markdown-body .task-list-item {
-  list-style-type: none;
-}
-
-.markdown-body .task-list-item+.task-list-item {
-  margin-top: 3px;
-}
-
-.markdown-body .task-list-item input {
-  margin: 0 0.2em 0.25em -1.6em;
-  vertical-align: middle;
-}
-
-.markdown-body hr {
-  border-bottom-color: #eee;
-}
-/* variables */
-/* functions & mixins */
-/* variables - calculated */
-/* styles */
-.gt-container {
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-  font-size: 16px;
-/* loader */
-/* error */
-/* initing */
-/* no int */
-/* link */
-/* meta */
-/* popup */
-/* header */
-/* comments */
-/* comment */
-}
-.gt-container * {
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-}
-.gt-container a {
-  color: #6190e8;
-}
-.gt-container a:hover {
-  color: #81a6ed;
-  border-color: #81a6ed;
-}
-.gt-container a.is--active {
-  color: #333;
-  cursor: default !important;
-}
-.gt-container a.is--active:hover {
-  color: #333;
-}
-.gt-container .hide {
-  display: none !important;
-}
-.gt-container .gt-svg {
-  display: inline-block;
-  width: 1em;
-  height: 1em;
-  vertical-align: sub;
-}
-.gt-container .gt-svg svg {
-  width: 100%;
-  height: 100%;
-  fill: #6190e8;
-}
-.gt-container .gt-ico {
-  display: inline-block;
-}
-.gt-container .gt-ico-text {
-  margin-left: 0.3125em;
-}
-.gt-container .gt-ico-github {
-  width: 100%;
-  height: 100%;
-}
-.gt-container .gt-ico-github .gt-svg {
-  width: 100%;
-  height: 100%;
-}
-.gt-container .gt-ico-github svg {
-  fill: inherit;
-}
-.gt-container .gt-spinner {
-  position: relative;
-}
-.gt-container .gt-spinner::before {
-  content: '';
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-  position: absolute;
-  top: 3px;
-  width: 0.75em;
-  height: 0.75em;
-  margin-top: -0.1875em;
-  margin-left: -0.375em;
-  border-radius: 50%;
-  border: 1px solid #fff;
-  border-top-color: #6190e8;
-  -webkit-animation: gt-kf-rotate 0.6s linear infinite;
-          animation: gt-kf-rotate 0.6s linear infinite;
-}
-.gt-container .gt-loader {
-  position: relative;
-  border: 1px solid #999;
-  -webkit-animation: ease gt-kf-rotate 1.5s infinite;
-          animation: ease gt-kf-rotate 1.5s infinite;
-  display: inline-block;
-  font-style: normal;
-  width: 1.75em;
-  height: 1.75em;
-  line-height: 1.75em;
-  border-radius: 50%;
-}
-.gt-container .gt-loader:before {
-  content: '';
-  position: absolute;
-  display: block;
-  top: 0;
-  left: 50%;
-  margin-top: -0.1875em;
-  margin-left: -0.1875em;
-  width: 0.375em;
-  height: 0.375em;
-  background-color: #999;
-  border-radius: 50%;
-}
-.gt-container .gt-avatar {
-  display: inline-block;
-  width: 3.125em;
-  height: 3.125em;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-avatar {
-    width: 2em;
-    height: 2em;
-  }
-}
-.gt-container .gt-avatar img {
-  width: 100%;
-  height: auto;
-  border-radius: 3px;
-}
-.gt-container .gt-avatar-github {
-  width: 3em;
-  height: 3em;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-avatar-github {
-    width: 1.875em;
-    height: 1.875em;
-  }
-}
-.gt-container .gt-btn {
-  padding: 0.75em 1.25em;
-  display: inline-block;
-  line-height: 1;
-  text-decoration: none;
-  white-space: nowrap;
-  cursor: pointer;
-  border: 1px solid #6190e8;
-  border-radius: 5px;
-  background-color: #6190e8;
-  color: #fff;
-  outline: none;
-  font-size: 0.75em;
-}
-.gt-container .gt-btn-text {
-  font-weight: 400;
-}
-.gt-container .gt-btn-loading {
-  position: relative;
-  margin-left: 0.5em;
-  display: inline-block;
-  width: 0.75em;
-  height: 1em;
-  vertical-align: top;
-}
-.gt-container .gt-btn.is--disable {
-  cursor: not-allowed;
-  opacity: 0.5;
-}
-.gt-container .gt-btn-login {
-  margin-right: 0;
-}
-.gt-container .gt-btn-preview {
-  background-color: #fff;
-  color: #6190e8;
-}
-.gt-container .gt-btn-preview:hover {
-  background-color: #f2f2f2;
-  border-color: #81a6ed;
-}
-.gt-container .gt-btn-public:hover {
-  background-color: #81a6ed;
-  border-color: #81a6ed;
-}
-.gt-container .gt-error {
-  text-align: center;
-  margin: 0.625em;
-  color: #ff3860;
-}
-.gt-container .gt-initing {
-  padding: 1.25em 0;
-  text-align: center;
-}
-.gt-container .gt-initing-text {
-  margin: 0.625em auto;
-  font-size: 92%;
-}
-.gt-container .gt-no-init {
-  padding: 1.25em 0;
-  text-align: center;
-}
-.gt-container .gt-link {
-  border-bottom: 1px dotted #6190e8;
-}
-.gt-container .gt-link-counts,
-.gt-container .gt-link-project {
-  text-decoration: none;
-}
-.gt-container .gt-meta {
-  margin: 1.25em 0;
-  padding: 1em 0;
-  position: relative;
-  border-bottom: 1px solid #e9e9e9;
-  font-size: 1em;
-  position: relative;
-  z-index: 10;
-}
-.gt-container .gt-meta:before,
-.gt-container .gt-meta:after {
-  content: " ";
-  display: table;
-}
-.gt-container .gt-meta:after {
-  clear: both;
-}
-.gt-container .gt-counts {
-  margin: 0 0.625em 0 0;
-}
-.gt-container .gt-user {
-  float: right;
-  margin: 0;
-  font-size: 92%;
-}
-.gt-container .gt-user-pic {
-  width: 16px;
-  height: 16px;
-  vertical-align: top;
-  margin-right: 0.5em;
-}
-.gt-container .gt-user-inner {
-  display: inline-block;
-  cursor: pointer;
-}
-.gt-container .gt-user .gt-ico {
-  margin: 0 0 0 0.3125em;
-}
-.gt-container .gt-user .gt-ico svg {
-  fill: inherit;
-}
-.gt-container .gt-user .is--poping .gt-ico svg {
-  fill: #6190e8;
-}
-.gt-container .gt-version {
-  color: #a1a1a1;
-  margin-left: 0.375em;
-}
-.gt-container .gt-copyright {
-  margin: 0 0.9375em 0.5em;
-  border-top: 1px solid #e9e9e9;
-  padding-top: 0.5em;
-}
-.gt-container .gt-popup {
-  position: absolute;
-  right: 0;
-  top: 2.375em;
-  background: #fff;
-  display: inline-block;
-  border: 1px solid #e9e9e9;
-  padding: 0.625em 0;
-  font-size: 0.875em;
-  letter-spacing: 0.5px;
-}
-.gt-container .gt-popup .gt-action {
-  cursor: pointer;
-  display: block;
-  margin: 0.5em 0;
-  padding: 0 1.125em;
-  position: relative;
-  text-decoration: none;
-}
-.gt-container .gt-popup .gt-action.is--active:before {
-  content: '';
-  width: 0.25em;
-  height: 0.25em;
-  background: #6190e8;
-  position: absolute;
-  left: 0.5em;
-  top: 0.4375em;
-}
-.gt-container .gt-header {
-  position: relative;
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-.gt-container .gt-header-comment {
-  -webkit-box-flex: 1;
-      -ms-flex: 1;
-          flex: 1;
-  margin-left: 1.25em;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-header-comment {
-    margin-left: 0.875em;
-  }
-}
-.gt-container .gt-header-textarea {
-  padding: 0.75em;
-  display: block;
-  -webkit-box-sizing: border-box;
-          box-sizing: border-box;
-  width: 100%;
-  min-height: 5.125em;
-  max-height: 15em;
-  border-radius: 5px;
-  border: 1px solid rgba(0,0,0,0.1);
-  font-size: 0.875em;
-  word-wrap: break-word;
-  resize: vertical;
-  background-color: #f6f6f6;
-  outline: none;
-  -webkit-transition: all 0.25s ease;
-  transition: all 0.25s ease;
-}
-.gt-container .gt-header-textarea:hover {
-  background-color: #fbfbfb;
-}
-.gt-container .gt-header-preview {
-  padding: 0.75em;
-  border-radius: 5px;
-  border: 1px solid rgba(0,0,0,0.1);
-  background-color: #f6f6f6;
-}
-.gt-container .gt-header-controls {
-  position: relative;
-  margin: 0.75em 0 0;
-}
-.gt-container .gt-header-controls:before,
-.gt-container .gt-header-controls:after {
-  content: " ";
-  display: table;
-}
-.gt-container .gt-header-controls:after {
-  clear: both;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-header-controls {
-    margin: 0;
-  }
-}
-.gt-container .gt-header-controls-tip {
-  font-size: 0.875em;
-  color: #6190e8;
-  text-decoration: none;
-  vertical-align: sub;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-header-controls-tip {
-    display: none;
-  }
-}
-.gt-container .gt-header-controls .gt-btn {
-  float: right;
-  margin-left: 1.25em;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-header-controls .gt-btn {
-    float: none;
-    width: 100%;
-    margin: 0.75em 0 0;
-  }
-}
-.gt-container:after {
-  content: '';
-  position: fixed;
-  bottom: 100%;
-  left: 0;
-  right: 0;
-  top: 0;
-  opacity: 0;
-}
-.gt-container.gt-input-focused {
-  position: relative;
-}
-.gt-container.gt-input-focused:after {
-  content: '';
-  position: fixed;
-  bottom: 0%;
-  left: 0;
-  right: 0;
-  top: 0;
-  background: #000;
-  opacity: 0.6;
-  -webkit-transition: opacity 0.3s, bottom 0s;
-  transition: opacity 0.3s, bottom 0s;
-  z-index: 9999;
-}
-.gt-container.gt-input-focused .gt-header-comment {
-  z-index: 10000;
-}
-.gt-container .gt-comments {
-  padding-top: 1.25em;
-}
-.gt-container .gt-comments-null {
-  text-align: center;
-}
-.gt-container .gt-comments-controls {
-  margin: 1.25em 0;
-  text-align: center;
-}
-.gt-container .gt-comment {
-  position: relative;
-  padding: 0.625em 0;
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-}
-.gt-container .gt-comment-content {
-  -webkit-box-flex: 1;
-      -ms-flex: 1;
-          flex: 1;
-  margin-left: 1.25em;
-  padding: 0.75em 1em;
-  background-color: #f9f9f9;
-  overflow: auto;
-  -webkit-transition: all ease 0.25s;
-  transition: all ease 0.25s;
-}
-.gt-container .gt-comment-content:hover {
-  -webkit-box-shadow: 0 0.625em 3.75em 0 #f4f4f4;
-          box-shadow: 0 0.625em 3.75em 0 #f4f4f4;
-}
-@media (max-width: 479px) {
-  .gt-container .gt-comment-content {
-    margin-left: 0.875em;
-    padding: 0.625em 0.75em;
-  }
-}
-.gt-container .gt-comment-header {
-  margin-bottom: 0.5em;
-  font-size: 0.875em;
-  position: relative;
-}
-.gt-container .gt-comment-block-1 {
-  float: right;
-  height: 1.375em;
-  width: 2em;
-}
-.gt-container .gt-comment-block-2 {
-  float: right;
-  height: 1.375em;
-  width: 4em;
-}
-.gt-container .gt-comment-username {
-  font-weight: 500;
-  color: #6190e8;
-  text-decoration: none;
-}
-.gt-container .gt-comment-username:hover {
-  text-decoration: underline;
-}
-.gt-container .gt-comment-text {
-  margin-left: 0.5em;
-  color: #a1a1a1;
-}
-.gt-container .gt-comment-date {
-  margin-left: 0.5em;
-  color: #a1a1a1;
-}
-.gt-container .gt-comment-like,
-.gt-container .gt-comment-edit,
-.gt-container .gt-comment-reply {
-  position: absolute;
-  height: 1.375em;
-}
-.gt-container .gt-comment-like:hover,
-.gt-container .gt-comment-edit:hover,
-.gt-container .gt-comment-reply:hover {
-  cursor: pointer;
-}
-.gt-container .gt-comment-like {
-  top: 0;
-  right: 2em;
-}
-.gt-container .gt-comment-edit,
-.gt-container .gt-comment-reply {
-  top: 0;
-  right: 0;
-}
-.gt-container .gt-comment-body {
-  color: #333 !important;
-}
-.gt-container .gt-comment-body .email-hidden-toggle a {
-  display: inline-block;
-  height: 12px;
-  padding: 0 9px;
-  font-size: 12px;
-  font-weight: 600;
-  line-height: 6px;
-  color: #444d56;
-  text-decoration: none;
-  vertical-align: middle;
-  background: #dfe2e5;
-  border-radius: 1px;
-}
-.gt-container .gt-comment-body .email-hidden-toggle a:hover {
-  background-color: #c6cbd1;
-}
-.gt-container .gt-comment-body .email-hidden-reply {
-  display: none;
-  white-space: pre-wrap;
-}
-.gt-container .gt-comment-body .email-hidden-reply .email-signature-reply {
-  padding: 0 15px;
-  margin: 15px 0;
-  color: #586069;
-  border-left: 4px solid #dfe2e5;
-}
-.gt-container .gt-comment-body .email-hidden-reply.expanded {
-  display: block;
-}
-.gt-container .gt-comment-admin .gt-comment-content {
-  background-color: #f6f9fe;
-}
-@-webkit-keyframes gt-kf-rotate {
-  0% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-@keyframes gt-kf-rotate {
-  0% {
-    -webkit-transform: rotate(0);
-            transform: rotate(0);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
-  }
-}
-
-/*# sourceMappingURL=gitalk.css.map*/
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk.css.map b/server/target/classes/static/gitalk/gitalk.css.map
deleted file mode 100644
index 75a11b3..0000000
--- a/server/target/classes/static/gitalk/gitalk.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":[],"names":[],"mappings":"","file":"gitalk.css","sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk.js b/server/target/classes/static/gitalk/gitalk.js
deleted file mode 100644
index da54ff4..0000000
--- a/server/target/classes/static/gitalk/gitalk.js
+++ /dev/null
@@ -1,14001 +0,0 @@
-(function webpackUniversalModuleDefinition(root, factory) {
-	if(typeof exports === 'object' && typeof module === 'object')
-		module.exports = factory();
-	else if(typeof define === 'function' && define.amd)
-		define([], factory);
-	else if(typeof exports === 'object')
-		exports["Gitalk"] = factory();
-	else
-		root["Gitalk"] = factory();
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, {
-/******/ 				configurable: false,
-/******/ 				enumerable: true,
-/******/ 				get: getter
-/******/ 			});
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "/dist";
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 82);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports) {
-
-var core = module.exports = { version: '2.6.11' };
-if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
-
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports) {
-
-// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-var global = module.exports = typeof window != 'undefined' && window.Math == Math
-  ? window : typeof self != 'undefined' && self.Math == Math ? self
-  // eslint-disable-next-line no-new-func
-  : Function('return this')();
-if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
-
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var store = __webpack_require__(39)('wks');
-var uid = __webpack_require__(25);
-var Symbol = __webpack_require__(1).Symbol;
-var USE_SYMBOL = typeof Symbol == 'function';
-
-var $exports = module.exports = function (name) {
-  return store[name] || (store[name] =
-    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
-};
-
-$exports.store = store;
-
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var bind = __webpack_require__(72);
-
-/*global toString:true*/
-
-// utils is a library of generic helper functions non-specific to axios
-
-var toString = Object.prototype.toString;
-
-/**
- * Determine if a value is an Array
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an Array, otherwise false
- */
-function isArray(val) {
-  return toString.call(val) === '[object Array]';
-}
-
-/**
- * Determine if a value is undefined
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if the value is undefined, otherwise false
- */
-function isUndefined(val) {
-  return typeof val === 'undefined';
-}
-
-/**
- * Determine if a value is a Buffer
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Buffer, otherwise false
- */
-function isBuffer(val) {
-  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
-    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
-}
-
-/**
- * Determine if a value is an ArrayBuffer
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an ArrayBuffer, otherwise false
- */
-function isArrayBuffer(val) {
-  return toString.call(val) === '[object ArrayBuffer]';
-}
-
-/**
- * Determine if a value is a FormData
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an FormData, otherwise false
- */
-function isFormData(val) {
-  return (typeof FormData !== 'undefined') && (val instanceof FormData);
-}
-
-/**
- * Determine if a value is a view on an ArrayBuffer
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
- */
-function isArrayBufferView(val) {
-  var result;
-  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
-    result = ArrayBuffer.isView(val);
-  } else {
-    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
-  }
-  return result;
-}
-
-/**
- * Determine if a value is a String
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a String, otherwise false
- */
-function isString(val) {
-  return typeof val === 'string';
-}
-
-/**
- * Determine if a value is a Number
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Number, otherwise false
- */
-function isNumber(val) {
-  return typeof val === 'number';
-}
-
-/**
- * Determine if a value is an Object
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is an Object, otherwise false
- */
-function isObject(val) {
-  return val !== null && typeof val === 'object';
-}
-
-/**
- * Determine if a value is a Date
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Date, otherwise false
- */
-function isDate(val) {
-  return toString.call(val) === '[object Date]';
-}
-
-/**
- * Determine if a value is a File
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a File, otherwise false
- */
-function isFile(val) {
-  return toString.call(val) === '[object File]';
-}
-
-/**
- * Determine if a value is a Blob
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Blob, otherwise false
- */
-function isBlob(val) {
-  return toString.call(val) === '[object Blob]';
-}
-
-/**
- * Determine if a value is a Function
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Function, otherwise false
- */
-function isFunction(val) {
-  return toString.call(val) === '[object Function]';
-}
-
-/**
- * Determine if a value is a Stream
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a Stream, otherwise false
- */
-function isStream(val) {
-  return isObject(val) && isFunction(val.pipe);
-}
-
-/**
- * Determine if a value is a URLSearchParams object
- *
- * @param {Object} val The value to test
- * @returns {boolean} True if value is a URLSearchParams object, otherwise false
- */
-function isURLSearchParams(val) {
-  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
-}
-
-/**
- * Trim excess whitespace off the beginning and end of a string
- *
- * @param {String} str The String to trim
- * @returns {String} The String freed of excess whitespace
- */
-function trim(str) {
-  return str.replace(/^\s*/, '').replace(/\s*$/, '');
-}
-
-/**
- * Determine if we're running in a standard browser environment
- *
- * This allows axios to run in a web worker, and react-native.
- * Both environments support XMLHttpRequest, but not fully standard globals.
- *
- * web workers:
- *  typeof window -> undefined
- *  typeof document -> undefined
- *
- * react-native:
- *  navigator.product -> 'ReactNative'
- * nativescript
- *  navigator.product -> 'NativeScript' or 'NS'
- */
-function isStandardBrowserEnv() {
-  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
-                                           navigator.product === 'NativeScript' ||
-                                           navigator.product === 'NS')) {
-    return false;
-  }
-  return (
-    typeof window !== 'undefined' &&
-    typeof document !== 'undefined'
-  );
-}
-
-/**
- * Iterate over an Array or an Object invoking a function for each item.
- *
- * If `obj` is an Array callback will be called passing
- * the value, index, and complete array for each item.
- *
- * If 'obj' is an Object callback will be called passing
- * the value, key, and complete object for each property.
- *
- * @param {Object|Array} obj The object to iterate
- * @param {Function} fn The callback to invoke for each item
- */
-function forEach(obj, fn) {
-  // Don't bother if no value provided
-  if (obj === null || typeof obj === 'undefined') {
-    return;
-  }
-
-  // Force an array if not already something iterable
-  if (typeof obj !== 'object') {
-    /*eslint no-param-reassign:0*/
-    obj = [obj];
-  }
-
-  if (isArray(obj)) {
-    // Iterate over array values
-    for (var i = 0, l = obj.length; i < l; i++) {
-      fn.call(null, obj[i], i, obj);
-    }
-  } else {
-    // Iterate over object keys
-    for (var key in obj) {
-      if (Object.prototype.hasOwnProperty.call(obj, key)) {
-        fn.call(null, obj[key], key, obj);
-      }
-    }
-  }
-}
-
-/**
- * Accepts varargs expecting each argument to be an object, then
- * immutably merges the properties of each object and returns result.
- *
- * When multiple objects contain the same key the later object in
- * the arguments list will take precedence.
- *
- * Example:
- *
- * ```js
- * var result = merge({foo: 123}, {foo: 456});
- * console.log(result.foo); // outputs 456
- * ```
- *
- * @param {Object} obj1 Object to merge
- * @returns {Object} Result of all merge properties
- */
-function merge(/* obj1, obj2, obj3, ... */) {
-  var result = {};
-  function assignValue(val, key) {
-    if (typeof result[key] === 'object' && typeof val === 'object') {
-      result[key] = merge(result[key], val);
-    } else {
-      result[key] = val;
-    }
-  }
-
-  for (var i = 0, l = arguments.length; i < l; i++) {
-    forEach(arguments[i], assignValue);
-  }
-  return result;
-}
-
-/**
- * Function equal to merge with the difference being that no reference
- * to original objects is kept.
- *
- * @see merge
- * @param {Object} obj1 Object to merge
- * @returns {Object} Result of all merge properties
- */
-function deepMerge(/* obj1, obj2, obj3, ... */) {
-  var result = {};
-  function assignValue(val, key) {
-    if (typeof result[key] === 'object' && typeof val === 'object') {
-      result[key] = deepMerge(result[key], val);
-    } else if (typeof val === 'object') {
-      result[key] = deepMerge({}, val);
-    } else {
-      result[key] = val;
-    }
-  }
-
-  for (var i = 0, l = arguments.length; i < l; i++) {
-    forEach(arguments[i], assignValue);
-  }
-  return result;
-}
-
-/**
- * Extends object a by mutably adding to it the properties of object b.
- *
- * @param {Object} a The object to be extended
- * @param {Object} b The object to copy properties from
- * @param {Object} thisArg The object to bind function to
- * @return {Object} The resulting value of object a
- */
-function extend(a, b, thisArg) {
-  forEach(b, function assignValue(val, key) {
-    if (thisArg && typeof val === 'function') {
-      a[key] = bind(val, thisArg);
-    } else {
-      a[key] = val;
-    }
-  });
-  return a;
-}
-
-module.exports = {
-  isArray: isArray,
-  isArrayBuffer: isArrayBuffer,
-  isBuffer: isBuffer,
-  isFormData: isFormData,
-  isArrayBufferView: isArrayBufferView,
-  isString: isString,
-  isNumber: isNumber,
-  isObject: isObject,
-  isUndefined: isUndefined,
-  isDate: isDate,
-  isFile: isFile,
-  isBlob: isBlob,
-  isFunction: isFunction,
-  isStream: isStream,
-  isURLSearchParams: isURLSearchParams,
-  isStandardBrowserEnv: isStandardBrowserEnv,
-  forEach: forEach,
-  merge: merge,
-  deepMerge: deepMerge,
-  extend: extend,
-  trim: trim
-};
-
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var core = __webpack_require__(0);
-var ctx = __webpack_require__(13);
-var hide = __webpack_require__(11);
-var has = __webpack_require__(12);
-var PROTOTYPE = 'prototype';
-
-var $export = function (type, name, source) {
-  var IS_FORCED = type & $export.F;
-  var IS_GLOBAL = type & $export.G;
-  var IS_STATIC = type & $export.S;
-  var IS_PROTO = type & $export.P;
-  var IS_BIND = type & $export.B;
-  var IS_WRAP = type & $export.W;
-  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
-  var expProto = exports[PROTOTYPE];
-  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
-  var key, own, out;
-  if (IS_GLOBAL) source = name;
-  for (key in source) {
-    // contains in native
-    own = !IS_FORCED && target && target[key] !== undefined;
-    if (own && has(exports, key)) continue;
-    // export native or passed
-    out = own ? target[key] : source[key];
-    // prevent global pollution for namespaces
-    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
-    // bind timers to global for call from export context
-    : IS_BIND && own ? ctx(out, global)
-    // wrap global constructors for prevent change them in library
-    : IS_WRAP && target[key] == out ? (function (C) {
-      var F = function (a, b, c) {
-        if (this instanceof C) {
-          switch (arguments.length) {
-            case 0: return new C();
-            case 1: return new C(a);
-            case 2: return new C(a, b);
-          } return new C(a, b, c);
-        } return C.apply(this, arguments);
-      };
-      F[PROTOTYPE] = C[PROTOTYPE];
-      return F;
-    // make static versions for prototype methods
-    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
-    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
-    if (IS_PROTO) {
-      (exports.virtual || (exports.virtual = {}))[key] = out;
-      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
-      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
-    }
-  }
-};
-// type bitmap
-$export.F = 1;   // forced
-$export.G = 2;   // global
-$export.S = 4;   // static
-$export.P = 8;   // proto
-$export.B = 16;  // bind
-$export.W = 32;  // wrap
-$export.U = 64;  // safe
-$export.R = 128; // real proto method for `library`
-module.exports = $export;
-
-
-/***/ }),
-/* 5 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
-/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "version", function() { return version; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DOM", function() { return DOM; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Children", function() { return Children; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render$1; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createClass", function() { return createClass; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createFactory", function() { return createFactory; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createElement", function() { return createElement; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cloneElement", function() { return cloneElement$1; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isValidElement", function() { return isValidElement; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findDOMNode", function() { return findDOMNode; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unmountComponentAtNode", function() { return unmountComponentAtNode; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Component", function() { return Component$1; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PureComponent", function() { return PureComponent; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unstable_renderSubtreeIntoContainer", function() { return renderSubtreeIntoContainer; });
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(86);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_preact__ = __webpack_require__(93);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_preact___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_preact__);
-/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "PropTypes", function() { return __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a; });
-
-
-
-var version = '15.1.0'; // trick libraries to think we are react
-
-var ELEMENTS = 'a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan'.split(' ');
-
-var REACT_ELEMENT_TYPE = (typeof Symbol!=='undefined' && Symbol.for && Symbol.for('react.element')) || 0xeac7;
-
-var COMPONENT_WRAPPER_KEY = typeof Symbol!=='undefined' ? Symbol.for('__preactCompatWrapper') : '__preactCompatWrapper';
-
-// don't autobind these methods since they already have guaranteed context.
-var AUTOBIND_BLACKLIST = {
-	constructor: 1,
-	render: 1,
-	shouldComponentUpdate: 1,
-	componentWillReceiveProps: 1,
-	componentWillUpdate: 1,
-	componentDidUpdate: 1,
-	componentWillMount: 1,
-	componentDidMount: 1,
-	componentWillUnmount: 1,
-	componentDidUnmount: 1
-};
-
-
-var CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/;
-
-
-var BYPASS_HOOK = {};
-
-/*global process*/
-var DEV = typeof process==='undefined' || !process.env || process.env.NODE_ENV!=='production';
-
-// a component that renders nothing. Used to replace components for unmountComponentAtNode.
-function EmptyComponent() { return null; }
-
-
-
-// make react think we're react.
-var VNode = __WEBPACK_IMPORTED_MODULE_1_preact__["h"]('a', null).constructor;
-VNode.prototype.$$typeof = REACT_ELEMENT_TYPE;
-VNode.prototype.preactCompatUpgraded = false;
-VNode.prototype.preactCompatNormalized = false;
-
-Object.defineProperty(VNode.prototype, 'type', {
-	get: function() { return this.nodeName; },
-	set: function(v) { this.nodeName = v; },
-	configurable:true
-});
-
-Object.defineProperty(VNode.prototype, 'props', {
-	get: function() { return this.attributes; },
-	set: function(v) { this.attributes = v; },
-	configurable:true
-});
-
-
-
-var oldEventHook = __WEBPACK_IMPORTED_MODULE_1_preact__["options"].event;
-__WEBPACK_IMPORTED_MODULE_1_preact__["options"].event = function (e) {
-	if (oldEventHook) { e = oldEventHook(e); }
-	e.persist = Object;
-	e.nativeEvent = e;
-	return e;
-};
-
-
-var oldVnodeHook = __WEBPACK_IMPORTED_MODULE_1_preact__["options"].vnode;
-__WEBPACK_IMPORTED_MODULE_1_preact__["options"].vnode = function (vnode) {
-	if (!vnode.preactCompatUpgraded) {
-		vnode.preactCompatUpgraded = true;
-
-		var tag = vnode.nodeName,
-			attrs = vnode.attributes = extend({}, vnode.attributes);
-
-		if (typeof tag==='function') {
-			if (tag[COMPONENT_WRAPPER_KEY]===true || (tag.prototype && 'isReactComponent' in tag.prototype)) {
-				if (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }
-				if (vnode.children) { attrs.children = vnode.children; }
-
-				if (!vnode.preactCompatNormalized) {
-					normalizeVNode(vnode);
-				}
-				handleComponentVNode(vnode);
-			}
-		}
-		else {
-			if (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }
-			if (vnode.children) { attrs.children = vnode.children; }
-
-			if (attrs.defaultValue) {
-				if (!attrs.value && attrs.value!==0) {
-					attrs.value = attrs.defaultValue;
-				}
-				delete attrs.defaultValue;
-			}
-
-			handleElementVNode(vnode, attrs);
-		}
-	}
-
-	if (oldVnodeHook) { oldVnodeHook(vnode); }
-};
-
-function handleComponentVNode(vnode) {
-	var tag = vnode.nodeName,
-		a = vnode.attributes;
-
-	vnode.attributes = {};
-	if (tag.defaultProps) { extend(vnode.attributes, tag.defaultProps); }
-	if (a) { extend(vnode.attributes, a); }
-}
-
-function handleElementVNode(vnode, a) {
-	var shouldSanitize, attrs, i;
-	if (a) {
-		for (i in a) { if ((shouldSanitize = CAMEL_PROPS.test(i))) { break; } }
-		if (shouldSanitize) {
-			attrs = vnode.attributes = {};
-			for (i in a) {
-				if (a.hasOwnProperty(i)) {
-					attrs[ CAMEL_PROPS.test(i) ? i.replace(/([A-Z0-9])/, '-$1').toLowerCase() : i ] = a[i];
-				}
-			}
-		}
-	}
-}
-
-
-
-// proxy render() since React returns a Component reference.
-function render$1(vnode, parent, callback) {
-	var prev = parent && parent._preactCompatRendered && parent._preactCompatRendered.base;
-
-	// ignore impossible previous renders
-	if (prev && prev.parentNode!==parent) { prev = null; }
-
-	// default to first Element child
-	if (!prev) { prev = parent.children[0]; }
-
-	// remove unaffected siblings
-	for (var i=parent.childNodes.length; i--; ) {
-		if (parent.childNodes[i]!==prev) {
-			parent.removeChild(parent.childNodes[i]);
-		}
-	}
-
-	var out = __WEBPACK_IMPORTED_MODULE_1_preact__["render"](vnode, parent, prev);
-	if (parent) { parent._preactCompatRendered = out && (out._component || { base: out }); }
-	if (typeof callback==='function') { callback(); }
-	return out && out._component || out;
-}
-
-
-var ContextProvider = function () {};
-
-ContextProvider.prototype.getChildContext = function () {
-	return this.props.context;
-};
-ContextProvider.prototype.render = function (props) {
-	return props.children[0];
-};
-
-function renderSubtreeIntoContainer(parentComponent, vnode, container, callback) {
-	var wrap = __WEBPACK_IMPORTED_MODULE_1_preact__["h"](ContextProvider, { context: parentComponent.context }, vnode);
-	var c = render$1(wrap, container);
-	if (callback) { callback(c); }
-	return c._component || c.base;
-}
-
-
-function unmountComponentAtNode(container) {
-	var existing = container._preactCompatRendered && container._preactCompatRendered.base;
-	if (existing && existing.parentNode===container) {
-		__WEBPACK_IMPORTED_MODULE_1_preact__["render"](__WEBPACK_IMPORTED_MODULE_1_preact__["h"](EmptyComponent), container, existing);
-		return true;
-	}
-	return false;
-}
-
-
-
-var ARR = [];
-
-// This API is completely unnecessary for Preact, so it's basically passthrough.
-var Children = {
-	map: function(children, fn, ctx) {
-		if (children == null) { return null; }
-		children = Children.toArray(children);
-		if (ctx && ctx!==children) { fn = fn.bind(ctx); }
-		return children.map(fn);
-	},
-	forEach: function(children, fn, ctx) {
-		if (children == null) { return null; }
-		children = Children.toArray(children);
-		if (ctx && ctx!==children) { fn = fn.bind(ctx); }
-		children.forEach(fn);
-	},
-	count: function(children) {
-		return children && children.length || 0;
-	},
-	only: function(children) {
-		children = Children.toArray(children);
-		if (children.length!==1) { throw new Error('Children.only() expects only one child.'); }
-		return children[0];
-	},
-	toArray: function(children) {
-		if (children == null) { return []; }
-		return Array.isArray && Array.isArray(children) ? children : ARR.concat(children);
-	}
-};
-
-
-/** Track current render() component for ref assignment */
-var currentComponent;
-
-
-function createFactory(type) {
-	return createElement.bind(null, type);
-}
-
-
-var DOM = {};
-for (var i=ELEMENTS.length; i--; ) {
-	DOM[ELEMENTS[i]] = createFactory(ELEMENTS[i]);
-}
-
-function upgradeToVNodes(arr, offset) {
-	for (var i=offset || 0; i<arr.length; i++) {
-		var obj = arr[i];
-		if (Array.isArray(obj)) {
-			upgradeToVNodes(obj);
-		}
-		else if (obj && typeof obj==='object' && !isValidElement(obj) && ((obj.props && obj.type) || (obj.attributes && obj.nodeName) || obj.children)) {
-			arr[i] = createElement(obj.type || obj.nodeName, obj.props || obj.attributes, obj.children);
-		}
-	}
-}
-
-function isStatelessComponent(c) {
-	return typeof c==='function' && !(c.prototype && c.prototype.render);
-}
-
-
-// wraps stateless functional components in a PropTypes validator
-function wrapStatelessComponent(WrappedComponent) {
-	return createClass({
-		displayName: WrappedComponent.displayName || WrappedComponent.name,
-		render: function() {
-			return WrappedComponent(this.props, this.context);
-		}
-	});
-}
-
-
-function statelessComponentHook(Ctor) {
-	var Wrapped = Ctor[COMPONENT_WRAPPER_KEY];
-	if (Wrapped) { return Wrapped===true ? Ctor : Wrapped; }
-
-	Wrapped = wrapStatelessComponent(Ctor);
-
-	Object.defineProperty(Wrapped, COMPONENT_WRAPPER_KEY, { configurable:true, value:true });
-	Wrapped.displayName = Ctor.displayName;
-	Wrapped.propTypes = Ctor.propTypes;
-	Wrapped.defaultProps = Ctor.defaultProps;
-
-	Object.defineProperty(Ctor, COMPONENT_WRAPPER_KEY, { configurable:true, value:Wrapped });
-
-	return Wrapped;
-}
-
-
-function createElement() {
-	var args = [], len = arguments.length;
-	while ( len-- ) args[ len ] = arguments[ len ];
-
-	upgradeToVNodes(args, 2);
-	return normalizeVNode(__WEBPACK_IMPORTED_MODULE_1_preact__["h"].apply(void 0, args));
-}
-
-
-function normalizeVNode(vnode) {
-	vnode.preactCompatNormalized = true;
-
-	applyClassName(vnode);
-
-	if (isStatelessComponent(vnode.nodeName)) {
-		vnode.nodeName = statelessComponentHook(vnode.nodeName);
-	}
-
-	var ref = vnode.attributes.ref,
-		type = ref && typeof ref;
-	if (currentComponent && (type==='string' || type==='number')) {
-		vnode.attributes.ref = createStringRefProxy(ref, currentComponent);
-	}
-
-	applyEventNormalization(vnode);
-
-	return vnode;
-}
-
-
-function cloneElement$1(element, props) {
-	var children = [], len = arguments.length - 2;
-	while ( len-- > 0 ) children[ len ] = arguments[ len + 2 ];
-
-	if (!isValidElement(element)) { return element; }
-	var elementProps = element.attributes || element.props;
-	var node = __WEBPACK_IMPORTED_MODULE_1_preact__["h"](
-		element.nodeName || element.type,
-		elementProps,
-		element.children || elementProps && elementProps.children
-	);
-	// Only provide the 3rd argument if needed.
-	// Arguments 3+ overwrite element.children in preactCloneElement
-	var cloneArgs = [node, props];
-	if (children && children.length) {
-		cloneArgs.push(children);
-	}
-	else if (props && props.children) {
-		cloneArgs.push(props.children);
-	}
-	return normalizeVNode(__WEBPACK_IMPORTED_MODULE_1_preact__["cloneElement"].apply(void 0, cloneArgs));
-}
-
-
-function isValidElement(element) {
-	return element && ((element instanceof VNode) || element.$$typeof===REACT_ELEMENT_TYPE);
-}
-
-
-function createStringRefProxy(name, component) {
-	return component._refProxies[name] || (component._refProxies[name] = function (resolved) {
-		if (component && component.refs) {
-			component.refs[name] = resolved;
-			if (resolved===null) {
-				delete component._refProxies[name];
-				component = null;
-			}
-		}
-	});
-}
-
-
-function applyEventNormalization(ref) {
-	var nodeName = ref.nodeName;
-	var attributes = ref.attributes;
-
-	if (!attributes || typeof nodeName!=='string') { return; }
-	var props = {};
-	for (var i in attributes) {
-		props[i.toLowerCase()] = i;
-	}
-	if (props.ondoubleclick) {
-		attributes.ondblclick = attributes[props.ondoubleclick];
-		delete attributes[props.ondoubleclick];
-	}
-	// for *textual inputs* (incl textarea), normalize `onChange` -> `onInput`:
-	if (props.onchange && (nodeName==='textarea' || (nodeName.toLowerCase()==='input' && !/^fil|che|rad/i.test(attributes.type)))) {
-		var normalized = props.oninput || 'oninput';
-		if (!attributes[normalized]) {
-			attributes[normalized] = multihook([attributes[normalized], attributes[props.onchange]]);
-			delete attributes[props.onchange];
-		}
-	}
-}
-
-
-function applyClassName(ref) {
-	var attributes = ref.attributes;
-
-	if (!attributes) { return; }
-	var cl = attributes.className || attributes.class;
-	if (cl) { attributes.className = cl; }
-}
-
-
-function extend(base, props) {
-	for (var key in props) {
-		if (props.hasOwnProperty(key)) {
-			base[key] = props[key];
-		}
-	}
-	return base;
-}
-
-
-function shallowDiffers(a, b) {
-	for (var i in a) { if (!(i in b)) { return true; } }
-	for (var i$1 in b) { if (a[i$1]!==b[i$1]) { return true; } }
-	return false;
-}
-
-
-function findDOMNode(component) {
-	return component && component.base || component;
-}
-
-
-function F(){}
-
-function createClass(obj) {
-	function cl(props, context) {
-		bindAll(this);
-		Component$1.call(this, props, context, BYPASS_HOOK);
-		newComponentHook.call(this, props, context);
-	}
-
-	obj = extend({ constructor: cl }, obj);
-
-	// We need to apply mixins here so that getDefaultProps is correctly mixed
-	if (obj.mixins) {
-		applyMixins(obj, collateMixins(obj.mixins));
-	}
-	if (obj.statics) {
-		extend(cl, obj.statics);
-	}
-	if (obj.propTypes) {
-		cl.propTypes = obj.propTypes;
-	}
-	if (obj.defaultProps) {
-		cl.defaultProps = obj.defaultProps;
-	}
-	if (obj.getDefaultProps) {
-		cl.defaultProps = obj.getDefaultProps();
-	}
-
-	F.prototype = Component$1.prototype;
-	cl.prototype = extend(new F(), obj);
-
-	cl.displayName = obj.displayName || 'Component';
-
-	return cl;
-}
-
-
-// Flatten an Array of mixins to a map of method name to mixin implementations
-function collateMixins(mixins) {
-	var keyed = {};
-	for (var i=0; i<mixins.length; i++) {
-		var mixin = mixins[i];
-		for (var key in mixin) {
-			if (mixin.hasOwnProperty(key) && typeof mixin[key]==='function') {
-				(keyed[key] || (keyed[key]=[])).push(mixin[key]);
-			}
-		}
-	}
-	return keyed;
-}
-
-
-// apply a mapping of Arrays of mixin methods to a component prototype
-function applyMixins(proto, mixins) {
-	for (var key in mixins) { if (mixins.hasOwnProperty(key)) {
-		proto[key] = multihook(
-			mixins[key].concat(proto[key] || ARR),
-			key==='getDefaultProps' || key==='getInitialState' || key==='getChildContext'
-		);
-	} }
-}
-
-
-function bindAll(ctx) {
-	for (var i in ctx) {
-		var v = ctx[i];
-		if (typeof v==='function' && !v.__bound && !AUTOBIND_BLACKLIST.hasOwnProperty(i)) {
-			(ctx[i] = v.bind(ctx)).__bound = true;
-		}
-	}
-}
-
-
-function callMethod(ctx, m, args) {
-	if (typeof m==='string') {
-		m = ctx.constructor.prototype[m];
-	}
-	if (typeof m==='function') {
-		return m.apply(ctx, args);
-	}
-}
-
-function multihook(hooks, skipDuplicates) {
-	return function() {
-		var arguments$1 = arguments;
-		var this$1 = this;
-
-		var ret;
-		for (var i=0; i<hooks.length; i++) {
-			var r = callMethod(this$1, hooks[i], arguments$1);
-
-			if (skipDuplicates && r!=null) {
-				if (!ret) { ret = {}; }
-				for (var key in r) { if (r.hasOwnProperty(key)) {
-					ret[key] = r[key];
-				} }
-			}
-			else if (typeof r!=='undefined') { ret = r; }
-		}
-		return ret;
-	};
-}
-
-
-function newComponentHook(props, context) {
-	propsHook.call(this, props, context);
-	this.componentWillReceiveProps = multihook([propsHook, this.componentWillReceiveProps || 'componentWillReceiveProps']);
-	this.render = multihook([propsHook, beforeRender, this.render || 'render', afterRender]);
-}
-
-
-function propsHook(props, context) {
-	if (!props) { return; }
-
-	// React annoyingly special-cases single children, and some react components are ridiculously strict about this.
-	var c = props.children;
-	if (c && Array.isArray(c) && c.length===1) {
-		props.children = c[0];
-
-		// but its totally still going to be an Array.
-		if (props.children && typeof props.children==='object') {
-			props.children.length = 1;
-			props.children[0] = props.children;
-		}
-	}
-
-	// add proptype checking
-	if (DEV) {
-		var ctor = typeof this==='function' ? this : this.constructor,
-			propTypes = this.propTypes || ctor.propTypes;
-		var displayName = this.displayName || ctor.name;
-
-		if (propTypes) {
-			__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.checkPropTypes(propTypes, props, 'prop', displayName);
-		}
-	}
-}
-
-
-function beforeRender(props) {
-	currentComponent = this;
-}
-
-function afterRender() {
-	if (currentComponent===this) {
-		currentComponent = null;
-	}
-}
-
-
-
-function Component$1(props, context, opts) {
-	__WEBPACK_IMPORTED_MODULE_1_preact__["Component"].call(this, props, context);
-	this.state = this.getInitialState ? this.getInitialState() : {};
-	this.refs = {};
-	this._refProxies = {};
-	if (opts!==BYPASS_HOOK) {
-		newComponentHook.call(this, props, context);
-	}
-}
-extend(Component$1.prototype = new __WEBPACK_IMPORTED_MODULE_1_preact__["Component"](), {
-	constructor: Component$1,
-
-	isReactComponent: {},
-
-	replaceState: function(state, callback) {
-		var this$1 = this;
-
-		this.setState(state, callback);
-		for (var i in this$1.state) {
-			if (!(i in state)) {
-				delete this$1.state[i];
-			}
-		}
-	},
-
-	getDOMNode: function() {
-		return this.base;
-	},
-
-	isMounted: function() {
-		return !!this.base;
-	}
-});
-
-
-
-function PureComponent(props, context) {
-	Component$1.call(this, props, context);
-}
-F.prototype = Component$1.prototype;
-PureComponent.prototype = new F();
-PureComponent.prototype.isPureReactComponent = true;
-PureComponent.prototype.shouldComponentUpdate = function(props, state) {
-	return shallowDiffers(this.props, props) || shallowDiffers(this.state, state);
-};
-
-
-
-var index = {
-	version: version,
-	DOM: DOM,
-	PropTypes: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a,
-	Children: Children,
-	render: render$1,
-	createClass: createClass,
-	createFactory: createFactory,
-	createElement: createElement,
-	cloneElement: cloneElement$1,
-	isValidElement: isValidElement,
-	findDOMNode: findDOMNode,
-	unmountComponentAtNode: unmountComponentAtNode,
-	Component: Component$1,
-	PureComponent: PureComponent,
-	unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer
-};
-
-/* harmony default export */ __webpack_exports__["default"] = (index);
-//# sourceMappingURL=preact-compat.es.js.map
-
-/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(9)))
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(10);
-module.exports = function (it) {
-  if (!isObject(it)) throw TypeError(it + ' is not an object!');
-  return it;
-};
-
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(6);
-var IE8_DOM_DEFINE = __webpack_require__(48);
-var toPrimitive = __webpack_require__(32);
-var dP = Object.defineProperty;
-
-exports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
-  anObject(O);
-  P = toPrimitive(P, true);
-  anObject(Attributes);
-  if (IE8_DOM_DEFINE) try {
-    return dP(O, P, Attributes);
-  } catch (e) { /* empty */ }
-  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
-  if ('value' in Attributes) O[P] = Attributes.value;
-  return O;
-};
-
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// Thank's IE8 for his funny defineProperty
-module.exports = !__webpack_require__(14)(function () {
-  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
-});
-
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports) {
-
-// shim for using process in browser
-var process = module.exports = {};
-
-// cached from whatever global is present so that test runners that stub it
-// don't break things.  But we need to wrap it in a try catch in case it is
-// wrapped in strict mode code which doesn't define any globals.  It's inside a
-// function because try/catches deoptimize in certain engines.
-
-var cachedSetTimeout;
-var cachedClearTimeout;
-
-function defaultSetTimout() {
-    throw new Error('setTimeout has not been defined');
-}
-function defaultClearTimeout () {
-    throw new Error('clearTimeout has not been defined');
-}
-(function () {
-    try {
-        if (typeof setTimeout === 'function') {
-            cachedSetTimeout = setTimeout;
-        } else {
-            cachedSetTimeout = defaultSetTimout;
-        }
-    } catch (e) {
-        cachedSetTimeout = defaultSetTimout;
-    }
-    try {
-        if (typeof clearTimeout === 'function') {
-            cachedClearTimeout = clearTimeout;
-        } else {
-            cachedClearTimeout = defaultClearTimeout;
-        }
-    } catch (e) {
-        cachedClearTimeout = defaultClearTimeout;
-    }
-} ())
-function runTimeout(fun) {
-    if (cachedSetTimeout === setTimeout) {
-        //normal enviroments in sane situations
-        return setTimeout(fun, 0);
-    }
-    // if setTimeout wasn't available but was latter defined
-    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
-        cachedSetTimeout = setTimeout;
-        return setTimeout(fun, 0);
-    }
-    try {
-        // when when somebody has screwed with setTimeout but no I.E. maddness
-        return cachedSetTimeout(fun, 0);
-    } catch(e){
-        try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
-            return cachedSetTimeout.call(null, fun, 0);
-        } catch(e){
-            // 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
-            return cachedSetTimeout.call(this, fun, 0);
-        }
-    }
-
-
-}
-function runClearTimeout(marker) {
-    if (cachedClearTimeout === clearTimeout) {
-        //normal enviroments in sane situations
-        return clearTimeout(marker);
-    }
-    // if clearTimeout wasn't available but was latter defined
-    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
-        cachedClearTimeout = clearTimeout;
-        return clearTimeout(marker);
-    }
-    try {
-        // when when somebody has screwed with setTimeout but no I.E. maddness
-        return cachedClearTimeout(marker);
-    } catch (e){
-        try {
-            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
-            return cachedClearTimeout.call(null, marker);
-        } catch (e){
-            // 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.
-            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
-            return cachedClearTimeout.call(this, marker);
-        }
-    }
-
-
-
-}
-var queue = [];
-var draining = false;
-var currentQueue;
-var queueIndex = -1;
-
-function cleanUpNextTick() {
-    if (!draining || !currentQueue) {
-        return;
-    }
-    draining = false;
-    if (currentQueue.length) {
-        queue = currentQueue.concat(queue);
-    } else {
-        queueIndex = -1;
-    }
-    if (queue.length) {
-        drainQueue();
-    }
-}
-
-function drainQueue() {
-    if (draining) {
-        return;
-    }
-    var timeout = runTimeout(cleanUpNextTick);
-    draining = true;
-
-    var len = queue.length;
-    while(len) {
-        currentQueue = queue;
-        queue = [];
-        while (++queueIndex < len) {
-            if (currentQueue) {
-                currentQueue[queueIndex].run();
-            }
-        }
-        queueIndex = -1;
-        len = queue.length;
-    }
-    currentQueue = null;
-    draining = false;
-    runClearTimeout(timeout);
-}
-
-process.nextTick = function (fun) {
-    var args = new Array(arguments.length - 1);
-    if (arguments.length > 1) {
-        for (var i = 1; i < arguments.length; i++) {
-            args[i - 1] = arguments[i];
-        }
-    }
-    queue.push(new Item(fun, args));
-    if (queue.length === 1 && !draining) {
-        runTimeout(drainQueue);
-    }
-};
-
-// v8 likes predictible objects
-function Item(fun, array) {
-    this.fun = fun;
-    this.array = array;
-}
-Item.prototype.run = function () {
-    this.fun.apply(null, this.array);
-};
-process.title = 'browser';
-process.browser = true;
-process.env = {};
-process.argv = [];
-process.version = ''; // empty string to avoid regexp issues
-process.versions = {};
-
-function noop() {}
-
-process.on = noop;
-process.addListener = noop;
-process.once = noop;
-process.off = noop;
-process.removeListener = noop;
-process.removeAllListeners = noop;
-process.emit = noop;
-process.prependListener = noop;
-process.prependOnceListener = noop;
-
-process.listeners = function (name) { return [] }
-
-process.binding = function (name) {
-    throw new Error('process.binding is not supported');
-};
-
-process.cwd = function () { return '/' };
-process.chdir = function (dir) {
-    throw new Error('process.chdir is not supported');
-};
-process.umask = function() { return 0; };
-
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
-  return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var dP = __webpack_require__(7);
-var createDesc = __webpack_require__(19);
-module.exports = __webpack_require__(8) ? function (object, key, value) {
-  return dP.f(object, key, createDesc(1, value));
-} : function (object, key, value) {
-  object[key] = value;
-  return object;
-};
-
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
-  return hasOwnProperty.call(it, key);
-};
-
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// optional / simple context binding
-var aFunction = __webpack_require__(24);
-module.exports = function (fn, that, length) {
-  aFunction(fn);
-  if (that === undefined) return fn;
-  switch (length) {
-    case 1: return function (a) {
-      return fn.call(that, a);
-    };
-    case 2: return function (a, b) {
-      return fn.call(that, a, b);
-    };
-    case 3: return function (a, b, c) {
-      return fn.call(that, a, b, c);
-    };
-  }
-  return function (/* ...args */) {
-    return fn.apply(that, arguments);
-  };
-};
-
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
-  try {
-    return !!exec();
-  } catch (e) {
-    return true;
-  }
-};
-
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// to indexed object, toObject with fallback for non-array-like ES3 strings
-var IObject = __webpack_require__(54);
-var defined = __webpack_require__(35);
-module.exports = function (it) {
-  return IObject(defined(it));
-};
-
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.1.13 ToObject(argument)
-var defined = __webpack_require__(35);
-module.exports = function (it) {
-  return Object(defined(it));
-};
-
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isDate = __webpack_require__(202)
-
-var MILLISECONDS_IN_HOUR = 3600000
-var MILLISECONDS_IN_MINUTE = 60000
-var DEFAULT_ADDITIONAL_DIGITS = 2
-
-var parseTokenDateTimeDelimeter = /[T ]/
-var parseTokenPlainTime = /:/
-
-// year tokens
-var parseTokenYY = /^(\d{2})$/
-var parseTokensYYY = [
-  /^([+-]\d{2})$/, // 0 additional digits
-  /^([+-]\d{3})$/, // 1 additional digit
-  /^([+-]\d{4})$/ // 2 additional digits
-]
-
-var parseTokenYYYY = /^(\d{4})/
-var parseTokensYYYYY = [
-  /^([+-]\d{4})/, // 0 additional digits
-  /^([+-]\d{5})/, // 1 additional digit
-  /^([+-]\d{6})/ // 2 additional digits
-]
-
-// date tokens
-var parseTokenMM = /^-(\d{2})$/
-var parseTokenDDD = /^-?(\d{3})$/
-var parseTokenMMDD = /^-?(\d{2})-?(\d{2})$/
-var parseTokenWww = /^-?W(\d{2})$/
-var parseTokenWwwD = /^-?W(\d{2})-?(\d{1})$/
-
-// time tokens
-var parseTokenHH = /^(\d{2}([.,]\d*)?)$/
-var parseTokenHHMM = /^(\d{2}):?(\d{2}([.,]\d*)?)$/
-var parseTokenHHMMSS = /^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/
-
-// timezone tokens
-var parseTokenTimezone = /([Z+-].*)$/
-var parseTokenTimezoneZ = /^(Z)$/
-var parseTokenTimezoneHH = /^([+-])(\d{2})$/
-var parseTokenTimezoneHHMM = /^([+-])(\d{2}):?(\d{2})$/
-
-/**
- * @category Common Helpers
- * @summary Convert the given argument to an instance of Date.
- *
- * @description
- * Convert the given argument to an instance of Date.
- *
- * If the argument is an instance of Date, the function returns its clone.
- *
- * If the argument is a number, it is treated as a timestamp.
- *
- * If an argument is a string, the function tries to parse it.
- * Function accepts complete ISO 8601 formats as well as partial implementations.
- * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601
- *
- * If all above fails, the function passes the given argument to Date constructor.
- *
- * @param {Date|String|Number} argument - the value to convert
- * @param {Object} [options] - the object with options
- * @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format
- * @returns {Date} the parsed date in the local time zone
- *
- * @example
- * // Convert string '2014-02-11T11:30:30' to date:
- * var result = parse('2014-02-11T11:30:30')
- * //=> Tue Feb 11 2014 11:30:30
- *
- * @example
- * // Parse string '+02014101',
- * // if the additional number of digits in the extended year format is 1:
- * var result = parse('+02014101', {additionalDigits: 1})
- * //=> Fri Apr 11 2014 00:00:00
- */
-function parse (argument, dirtyOptions) {
-  if (isDate(argument)) {
-    // Prevent the date to lose the milliseconds when passed to new Date() in IE10
-    return new Date(argument.getTime())
-  } else if (typeof argument !== 'string') {
-    return new Date(argument)
-  }
-
-  var options = dirtyOptions || {}
-  var additionalDigits = options.additionalDigits
-  if (additionalDigits == null) {
-    additionalDigits = DEFAULT_ADDITIONAL_DIGITS
-  } else {
-    additionalDigits = Number(additionalDigits)
-  }
-
-  var dateStrings = splitDateString(argument)
-
-  var parseYearResult = parseYear(dateStrings.date, additionalDigits)
-  var year = parseYearResult.year
-  var restDateString = parseYearResult.restDateString
-
-  var date = parseDate(restDateString, year)
-
-  if (date) {
-    var timestamp = date.getTime()
-    var time = 0
-    var offset
-
-    if (dateStrings.time) {
-      time = parseTime(dateStrings.time)
-    }
-
-    if (dateStrings.timezone) {
-      offset = parseTimezone(dateStrings.timezone)
-    } else {
-      // get offset accurate to hour in timezones that change offset
-      offset = new Date(timestamp + time).getTimezoneOffset()
-      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()
-    }
-
-    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)
-  } else {
-    return new Date(argument)
-  }
-}
-
-function splitDateString (dateString) {
-  var dateStrings = {}
-  var array = dateString.split(parseTokenDateTimeDelimeter)
-  var timeString
-
-  if (parseTokenPlainTime.test(array[0])) {
-    dateStrings.date = null
-    timeString = array[0]
-  } else {
-    dateStrings.date = array[0]
-    timeString = array[1]
-  }
-
-  if (timeString) {
-    var token = parseTokenTimezone.exec(timeString)
-    if (token) {
-      dateStrings.time = timeString.replace(token[1], '')
-      dateStrings.timezone = token[1]
-    } else {
-      dateStrings.time = timeString
-    }
-  }
-
-  return dateStrings
-}
-
-function parseYear (dateString, additionalDigits) {
-  var parseTokenYYY = parseTokensYYY[additionalDigits]
-  var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]
-
-  var token
-
-  // YYYY or ±YYYYY
-  token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)
-  if (token) {
-    var yearString = token[1]
-    return {
-      year: parseInt(yearString, 10),
-      restDateString: dateString.slice(yearString.length)
-    }
-  }
-
-  // YY or ±YYY
-  token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)
-  if (token) {
-    var centuryString = token[1]
-    return {
-      year: parseInt(centuryString, 10) * 100,
-      restDateString: dateString.slice(centuryString.length)
-    }
-  }
-
-  // Invalid ISO-formatted year
-  return {
-    year: null
-  }
-}
-
-function parseDate (dateString, year) {
-  // Invalid ISO-formatted year
-  if (year === null) {
-    return null
-  }
-
-  var token
-  var date
-  var month
-  var week
-
-  // YYYY
-  if (dateString.length === 0) {
-    date = new Date(0)
-    date.setUTCFullYear(year)
-    return date
-  }
-
-  // YYYY-MM
-  token = parseTokenMM.exec(dateString)
-  if (token) {
-    date = new Date(0)
-    month = parseInt(token[1], 10) - 1
-    date.setUTCFullYear(year, month)
-    return date
-  }
-
-  // YYYY-DDD or YYYYDDD
-  token = parseTokenDDD.exec(dateString)
-  if (token) {
-    date = new Date(0)
-    var dayOfYear = parseInt(token[1], 10)
-    date.setUTCFullYear(year, 0, dayOfYear)
-    return date
-  }
-
-  // YYYY-MM-DD or YYYYMMDD
-  token = parseTokenMMDD.exec(dateString)
-  if (token) {
-    date = new Date(0)
-    month = parseInt(token[1], 10) - 1
-    var day = parseInt(token[2], 10)
-    date.setUTCFullYear(year, month, day)
-    return date
-  }
-
-  // YYYY-Www or YYYYWww
-  token = parseTokenWww.exec(dateString)
-  if (token) {
-    week = parseInt(token[1], 10) - 1
-    return dayOfISOYear(year, week)
-  }
-
-  // YYYY-Www-D or YYYYWwwD
-  token = parseTokenWwwD.exec(dateString)
-  if (token) {
-    week = parseInt(token[1], 10) - 1
-    var dayOfWeek = parseInt(token[2], 10) - 1
-    return dayOfISOYear(year, week, dayOfWeek)
-  }
-
-  // Invalid ISO-formatted date
-  return null
-}
-
-function parseTime (timeString) {
-  var token
-  var hours
-  var minutes
-
-  // hh
-  token = parseTokenHH.exec(timeString)
-  if (token) {
-    hours = parseFloat(token[1].replace(',', '.'))
-    return (hours % 24) * MILLISECONDS_IN_HOUR
-  }
-
-  // hh:mm or hhmm
-  token = parseTokenHHMM.exec(timeString)
-  if (token) {
-    hours = parseInt(token[1], 10)
-    minutes = parseFloat(token[2].replace(',', '.'))
-    return (hours % 24) * MILLISECONDS_IN_HOUR +
-      minutes * MILLISECONDS_IN_MINUTE
-  }
-
-  // hh:mm:ss or hhmmss
-  token = parseTokenHHMMSS.exec(timeString)
-  if (token) {
-    hours = parseInt(token[1], 10)
-    minutes = parseInt(token[2], 10)
-    var seconds = parseFloat(token[3].replace(',', '.'))
-    return (hours % 24) * MILLISECONDS_IN_HOUR +
-      minutes * MILLISECONDS_IN_MINUTE +
-      seconds * 1000
-  }
-
-  // Invalid ISO-formatted time
-  return null
-}
-
-function parseTimezone (timezoneString) {
-  var token
-  var absoluteOffset
-
-  // Z
-  token = parseTokenTimezoneZ.exec(timezoneString)
-  if (token) {
-    return 0
-  }
-
-  // ±hh
-  token = parseTokenTimezoneHH.exec(timezoneString)
-  if (token) {
-    absoluteOffset = parseInt(token[2], 10) * 60
-    return (token[1] === '+') ? -absoluteOffset : absoluteOffset
-  }
-
-  // ±hh:mm or ±hhmm
-  token = parseTokenTimezoneHHMM.exec(timezoneString)
-  if (token) {
-    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)
-    return (token[1] === '+') ? -absoluteOffset : absoluteOffset
-  }
-
-  return 0
-}
-
-function dayOfISOYear (isoYear, week, day) {
-  week = week || 0
-  day = day || 0
-  var date = new Date(0)
-  date.setUTCFullYear(isoYear, 0, 4)
-  var fourthOfJanuaryDay = date.getUTCDay() || 7
-  var diff = week * 7 + day + 1 - fourthOfJanuaryDay
-  date.setUTCDate(date.getUTCDate() + diff)
-  return date
-}
-
-module.exports = parse
-
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
-  return {
-    enumerable: !(bitmap & 1),
-    configurable: !(bitmap & 2),
-    writable: !(bitmap & 4),
-    value: value
-  };
-};
-
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var $at = __webpack_require__(101)(true);
-
-// 21.1.3.27 String.prototype[@@iterator]()
-__webpack_require__(51)(String, 'String', function (iterated) {
-  this._t = String(iterated); // target
-  this._i = 0;                // next index
-// 21.1.5.2.1 %StringIteratorPrototype%.next()
-}, function () {
-  var O = this._t;
-  var index = this._i;
-  var point;
-  if (index >= O.length) return { value: undefined, done: true };
-  point = $at(O, index);
-  this._i += point.length;
-  return { value: point, done: false };
-});
-
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports) {
-
-module.exports = true;
-
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.14 / 15.2.3.14 Object.keys(O)
-var $keys = __webpack_require__(53);
-var enumBugKeys = __webpack_require__(40);
-
-module.exports = Object.keys || function keys(O) {
-  return $keys(O, enumBugKeys);
-};
-
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-
-module.exports = function (it) {
-  return toString.call(it).slice(8, -1);
-};
-
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
-  if (typeof it != 'function') throw TypeError(it + ' is not a function!');
-  return it;
-};
-
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var px = Math.random();
-module.exports = function (key) {
-  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
-};
-
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var def = __webpack_require__(7).f;
-var has = __webpack_require__(12);
-var TAG = __webpack_require__(2)('toStringTag');
-
-module.exports = function (it, tag, stat) {
-  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
-};
-
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(106);
-var global = __webpack_require__(1);
-var hide = __webpack_require__(11);
-var Iterators = __webpack_require__(15);
-var TO_STRING_TAG = __webpack_require__(2)('toStringTag');
-
-var DOMIterables = ('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(',');
-
-for (var i = 0; i < DOMIterables.length; i++) {
-  var NAME = DOMIterables[i];
-  var Collection = global[NAME];
-  var proto = Collection && Collection.prototype;
-  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
-  Iterators[NAME] = Iterators.Array;
-}
-
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports) {
-
-exports.f = {}.propertyIsEnumerable;
-
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-exports.default = function (instance, Constructor) {
-  if (!(instance instanceof Constructor)) {
-    throw new TypeError("Cannot call a class as a function");
-  }
-};
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _defineProperty = __webpack_require__(83);
-
-var _defineProperty2 = _interopRequireDefault(_defineProperty);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function () {
-  function 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;
-      (0, _defineProperty2.default)(target, descriptor.key, descriptor);
-    }
-  }
-
-  return function (Constructor, protoProps, staticProps) {
-    if (protoProps) defineProperties(Constructor.prototype, protoProps);
-    if (staticProps) defineProperties(Constructor, staticProps);
-    return Constructor;
-  };
-}();
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(10);
-var document = __webpack_require__(1).document;
-// typeof document.createElement is 'object' in old IE
-var is = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
-  return is ? document.createElement(it) : {};
-};
-
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.1.1 ToPrimitive(input [, PreferredType])
-var isObject = __webpack_require__(10);
-// instead of the ES6 spec version, we didn't implement @@toPrimitive case
-// and the second argument - flag - preferred type is a string
-module.exports = function (it, S) {
-  if (!isObject(it)) return it;
-  var fn, val;
-  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
-  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
-  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
-  throw TypeError("Can't convert object to primitive value");
-};
-
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
-
-module.exports = ReactPropTypesSecret;
-
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports) {
-
-// 7.1.4 ToInteger
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (it) {
-  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
-};
-
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports) {
-
-// 7.2.1 RequireObjectCoercible(argument)
-module.exports = function (it) {
-  if (it == undefined) throw TypeError("Can't call method on  " + it);
-  return it;
-};
-
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
-var anObject = __webpack_require__(6);
-var dPs = __webpack_require__(103);
-var enumBugKeys = __webpack_require__(40);
-var IE_PROTO = __webpack_require__(38)('IE_PROTO');
-var Empty = function () { /* empty */ };
-var PROTOTYPE = 'prototype';
-
-// Create object with fake `null` prototype: use iframe Object with cleared prototype
-var createDict = function () {
-  // Thrash, waste and sodomy: IE GC bug
-  var iframe = __webpack_require__(31)('iframe');
-  var i = enumBugKeys.length;
-  var lt = '<';
-  var gt = '>';
-  var iframeDocument;
-  iframe.style.display = 'none';
-  __webpack_require__(55).appendChild(iframe);
-  iframe.src = 'javascript:'; // eslint-disable-line no-script-url
-  // createDict = iframe.contentWindow.Object;
-  // html.removeChild(iframe);
-  iframeDocument = iframe.contentWindow.document;
-  iframeDocument.open();
-  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
-  iframeDocument.close();
-  createDict = iframeDocument.F;
-  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
-  return createDict();
-};
-
-module.exports = Object.create || function create(O, Properties) {
-  var result;
-  if (O !== null) {
-    Empty[PROTOTYPE] = anObject(O);
-    result = new Empty();
-    Empty[PROTOTYPE] = null;
-    // add "__proto__" for Object.getPrototypeOf polyfill
-    result[IE_PROTO] = O;
-  } else result = createDict();
-  return Properties === undefined ? result : dPs(result, Properties);
-};
-
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.1.15 ToLength
-var toInteger = __webpack_require__(34);
-var min = Math.min;
-module.exports = function (it) {
-  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
-};
-
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var shared = __webpack_require__(39)('keys');
-var uid = __webpack_require__(25);
-module.exports = function (key) {
-  return shared[key] || (shared[key] = uid(key));
-};
-
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var core = __webpack_require__(0);
-var global = __webpack_require__(1);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || (global[SHARED] = {});
-
-(module.exports = function (key, value) {
-  return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
-  version: core.version,
-  mode: __webpack_require__(21) ? 'pure' : 'global',
-  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-});
-
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports) {
-
-// IE 8- don't enum bug keys
-module.exports = (
-  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
-).split(',');
-
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// getting tag from 19.1.3.6 Object.prototype.toString()
-var cof = __webpack_require__(23);
-var TAG = __webpack_require__(2)('toStringTag');
-// ES3 wrong here
-var ARG = cof(function () { return arguments; }()) == 'Arguments';
-
-// fallback for IE11 Script Access Denied error
-var tryGet = function (it, key) {
-  try {
-    return it[key];
-  } catch (e) { /* empty */ }
-};
-
-module.exports = function (it) {
-  var O, T, B;
-  return it === undefined ? 'Undefined' : it === null ? 'Null'
-    // @@toStringTag case
-    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
-    // builtinTag case
-    : ARG ? cof(O)
-    // ES3 arguments fallback
-    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
-};
-
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var classof = __webpack_require__(41);
-var ITERATOR = __webpack_require__(2)('iterator');
-var Iterators = __webpack_require__(15);
-module.exports = __webpack_require__(0).getIteratorMethod = function (it) {
-  if (it != undefined) return it[ITERATOR]
-    || it['@@iterator']
-    || Iterators[classof(it)];
-};
-
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// 25.4.1.5 NewPromiseCapability(C)
-var aFunction = __webpack_require__(24);
-
-function PromiseCapability(C) {
-  var resolve, reject;
-  this.promise = new C(function ($$resolve, $$reject) {
-    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
-    resolve = $$resolve;
-    reject = $$reject;
-  });
-  this.resolve = aFunction(resolve);
-  this.reject = aFunction(reject);
-}
-
-module.exports.f = function (C) {
-  return new PromiseCapability(C);
-};
-
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __webpack_require__) {
-
-exports.f = __webpack_require__(2);
-
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var core = __webpack_require__(0);
-var LIBRARY = __webpack_require__(21);
-var wksExt = __webpack_require__(45);
-var defineProperty = __webpack_require__(7).f;
-module.exports = function (name) {
-  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
-  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
-};
-
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.omit = omit;
-exports.arraysEqual = arraysEqual;
-var isElementAnSFC = exports.isElementAnSFC = function isElementAnSFC(element) {
-  var isNativeDOMElement = typeof element.type === 'string';
-
-  if (isNativeDOMElement) {
-    return false;
-  }
-
-  return !element.type.prototype.isReactComponent;
-};
-function omit(obj) {
-  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
-
-  var result = {};
-  Object.keys(obj).forEach(function (key) {
-    if (attrs.indexOf(key) === -1) {
-      result[key] = obj[key];
-    }
-  });
-  return result;
-}
-
-function arraysEqual(a, b) {
-  var sameObject = a === b;
-  if (sameObject) {
-    return true;
-  }
-
-  var notBothArrays = !Array.isArray(a) || !Array.isArray(b);
-  var differentLengths = a.length !== b.length;
-
-  if (notBothArrays || differentLengths) {
-    return false;
-  }
-
-  return a.every(function (element, index) {
-    return element === b[index];
-  });
-}
-
-function memoizeString(fn) {
-  var cache = {};
-
-  return function (str) {
-    if (!cache[str]) {
-      cache[str] = fn(str);
-    }
-    return cache[str];
-  };
-}
-
-var hyphenate = exports.hyphenate = memoizeString(function (str) {
-  return str.replace(/([A-Z])/g, '-$1').toLowerCase();
-});
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = !__webpack_require__(8) && !__webpack_require__(14)(function () {
-  return Object.defineProperty(__webpack_require__(31)('div'), 'a', { get: function () { return 7; } }).a != 7;
-});
-
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
-
-if (process.env.NODE_ENV === 'production') {
-  module.exports = __webpack_require__(87);
-} else {
-  module.exports = __webpack_require__(88);
-}
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports) {
-
-
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var LIBRARY = __webpack_require__(21);
-var $export = __webpack_require__(4);
-var redefine = __webpack_require__(52);
-var hide = __webpack_require__(11);
-var Iterators = __webpack_require__(15);
-var $iterCreate = __webpack_require__(102);
-var setToStringTag = __webpack_require__(26);
-var getPrototypeOf = __webpack_require__(56);
-var ITERATOR = __webpack_require__(2)('iterator');
-var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
-var FF_ITERATOR = '@@iterator';
-var KEYS = 'keys';
-var VALUES = 'values';
-
-var returnThis = function () { return this; };
-
-module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
-  $iterCreate(Constructor, NAME, next);
-  var getMethod = function (kind) {
-    if (!BUGGY && kind in proto) return proto[kind];
-    switch (kind) {
-      case KEYS: return function keys() { return new Constructor(this, kind); };
-      case VALUES: return function values() { return new Constructor(this, kind); };
-    } return function entries() { return new Constructor(this, kind); };
-  };
-  var TAG = NAME + ' Iterator';
-  var DEF_VALUES = DEFAULT == VALUES;
-  var VALUES_BUG = false;
-  var proto = Base.prototype;
-  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
-  var $default = $native || getMethod(DEFAULT);
-  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
-  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
-  var methods, key, IteratorPrototype;
-  // Fix native
-  if ($anyNative) {
-    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
-    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
-      // Set @@toStringTag to native iterators
-      setToStringTag(IteratorPrototype, TAG, true);
-      // fix for some old engines
-      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
-    }
-  }
-  // fix Array#{values, @@iterator}.name in V8 / FF
-  if (DEF_VALUES && $native && $native.name !== VALUES) {
-    VALUES_BUG = true;
-    $default = function values() { return $native.call(this); };
-  }
-  // Define iterator
-  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
-    hide(proto, ITERATOR, $default);
-  }
-  // Plug for library
-  Iterators[NAME] = $default;
-  Iterators[TAG] = returnThis;
-  if (DEFAULT) {
-    methods = {
-      values: DEF_VALUES ? $default : getMethod(VALUES),
-      keys: IS_SET ? $default : getMethod(KEYS),
-      entries: $entries
-    };
-    if (FORCED) for (key in methods) {
-      if (!(key in proto)) redefine(proto, key, methods[key]);
-    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
-  }
-  return methods;
-};
-
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(11);
-
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var has = __webpack_require__(12);
-var toIObject = __webpack_require__(16);
-var arrayIndexOf = __webpack_require__(104)(false);
-var IE_PROTO = __webpack_require__(38)('IE_PROTO');
-
-module.exports = function (object, names) {
-  var O = toIObject(object);
-  var i = 0;
-  var result = [];
-  var key;
-  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
-  // Don't enum bug & hidden keys
-  while (names.length > i) if (has(O, key = names[i++])) {
-    ~arrayIndexOf(result, key) || result.push(key);
-  }
-  return result;
-};
-
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// fallback for non-array-like ES3 and non-enumerable old V8 strings
-var cof = __webpack_require__(23);
-// eslint-disable-next-line no-prototype-builtins
-module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
-  return cof(it) == 'String' ? it.split('') : Object(it);
-};
-
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var document = __webpack_require__(1).document;
-module.exports = document && document.documentElement;
-
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
-var has = __webpack_require__(12);
-var toObject = __webpack_require__(17);
-var IE_PROTO = __webpack_require__(38)('IE_PROTO');
-var ObjectProto = Object.prototype;
-
-module.exports = Object.getPrototypeOf || function (O) {
-  O = toObject(O);
-  if (has(O, IE_PROTO)) return O[IE_PROTO];
-  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-    return O.constructor.prototype;
-  } return O instanceof Object ? ObjectProto : null;
-};
-
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// call something on iterator step with safe closing on error
-var anObject = __webpack_require__(6);
-module.exports = function (iterator, fn, value, entries) {
-  try {
-    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
-  // 7.4.6 IteratorClose(iterator, completion)
-  } catch (e) {
-    var ret = iterator['return'];
-    if (ret !== undefined) anObject(ret.call(iterator));
-    throw e;
-  }
-};
-
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// check on default Array iterator
-var Iterators = __webpack_require__(15);
-var ITERATOR = __webpack_require__(2)('iterator');
-var ArrayProto = Array.prototype;
-
-module.exports = function (it) {
-  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
-};
-
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.3.20 SpeciesConstructor(O, defaultConstructor)
-var anObject = __webpack_require__(6);
-var aFunction = __webpack_require__(24);
-var SPECIES = __webpack_require__(2)('species');
-module.exports = function (O, D) {
-  var C = anObject(O).constructor;
-  var S;
-  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
-};
-
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ctx = __webpack_require__(13);
-var invoke = __webpack_require__(112);
-var html = __webpack_require__(55);
-var cel = __webpack_require__(31);
-var global = __webpack_require__(1);
-var process = global.process;
-var setTask = global.setImmediate;
-var clearTask = global.clearImmediate;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function () {
-  var id = +this;
-  // eslint-disable-next-line no-prototype-builtins
-  if (queue.hasOwnProperty(id)) {
-    var fn = queue[id];
-    delete queue[id];
-    fn();
-  }
-};
-var listener = function (event) {
-  run.call(event.data);
-};
-// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
-if (!setTask || !clearTask) {
-  setTask = function setImmediate(fn) {
-    var args = [];
-    var i = 1;
-    while (arguments.length > i) args.push(arguments[i++]);
-    queue[++counter] = function () {
-      // eslint-disable-next-line no-new-func
-      invoke(typeof fn == 'function' ? fn : Function(fn), args);
-    };
-    defer(counter);
-    return counter;
-  };
-  clearTask = function clearImmediate(id) {
-    delete queue[id];
-  };
-  // Node.js 0.8-
-  if (__webpack_require__(23)(process) == 'process') {
-    defer = function (id) {
-      process.nextTick(ctx(run, id, 1));
-    };
-  // Sphere (JS game engine) Dispatch API
-  } else if (Dispatch && Dispatch.now) {
-    defer = function (id) {
-      Dispatch.now(ctx(run, id, 1));
-    };
-  // Browsers with MessageChannel, includes WebWorkers
-  } else if (MessageChannel) {
-    channel = new MessageChannel();
-    port = channel.port2;
-    channel.port1.onmessage = listener;
-    defer = ctx(port.postMessage, port, 1);
-  // Browsers with postMessage, skip WebWorkers
-  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
-  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
-    defer = function (id) {
-      global.postMessage(id + '', '*');
-    };
-    global.addEventListener('message', listener, false);
-  // IE8-
-  } else if (ONREADYSTATECHANGE in cel('script')) {
-    defer = function (id) {
-      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
-        html.removeChild(this);
-        run.call(id);
-      };
-    };
-  // Rest old browsers
-  } else {
-    defer = function (id) {
-      setTimeout(ctx(run, id, 1), 0);
-    };
-  }
-}
-module.exports = {
-  set: setTask,
-  clear: clearTask
-};
-
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
-  try {
-    return { e: false, v: exec() };
-  } catch (e) {
-    return { e: true, v: e };
-  }
-};
-
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(6);
-var isObject = __webpack_require__(10);
-var newPromiseCapability = __webpack_require__(43);
-
-module.exports = function (C, x) {
-  anObject(C);
-  if (isObject(x) && x.constructor === C) return x;
-  var promiseCapability = newPromiseCapability.f(C);
-  var resolve = promiseCapability.resolve;
-  resolve(x);
-  return promiseCapability.promise;
-};
-
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ITERATOR = __webpack_require__(2)('iterator');
-var SAFE_CLOSING = false;
-
-try {
-  var riter = [7][ITERATOR]();
-  riter['return'] = function () { SAFE_CLOSING = true; };
-  // eslint-disable-next-line no-throw-literal
-  Array.from(riter, function () { throw 2; });
-} catch (e) { /* empty */ }
-
-module.exports = function (exec, skipClosing) {
-  if (!skipClosing && !SAFE_CLOSING) return false;
-  var safe = false;
-  try {
-    var arr = [7];
-    var iter = arr[ITERATOR]();
-    iter.next = function () { return { done: safe = true }; };
-    arr[ITERATOR] = function () { return iter; };
-    exec(arr);
-  } catch (e) { /* empty */ }
-  return safe;
-};
-
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(123), __esModule: true };
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// most Object methods by ES6 should accept primitives
-var $export = __webpack_require__(4);
-var core = __webpack_require__(0);
-var fails = __webpack_require__(14);
-module.exports = function (KEY, exec) {
-  var fn = (core.Object || {})[KEY] || Object[KEY];
-  var exp = {};
-  exp[KEY] = exec(fn);
-  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
-};
-
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _typeof2 = __webpack_require__(67);
-
-var _typeof3 = _interopRequireDefault(_typeof2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (self, call) {
-  if (!self) {
-    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-  }
-
-  return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
-};
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _iterator = __webpack_require__(125);
-
-var _iterator2 = _interopRequireDefault(_iterator);
-
-var _symbol = __webpack_require__(127);
-
-var _symbol2 = _interopRequireDefault(_symbol);
-
-var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
-  return typeof obj === "undefined" ? "undefined" : _typeof(obj);
-} : function (obj) {
-  return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
-};
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
-var $keys = __webpack_require__(53);
-var hiddenKeys = __webpack_require__(40).concat('length', 'prototype');
-
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
-  return $keys(O, hiddenKeys);
-};
-
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var pIE = __webpack_require__(28);
-var createDesc = __webpack_require__(19);
-var toIObject = __webpack_require__(16);
-var toPrimitive = __webpack_require__(32);
-var has = __webpack_require__(12);
-var IE8_DOM_DEFINE = __webpack_require__(48);
-var gOPD = Object.getOwnPropertyDescriptor;
-
-exports.f = __webpack_require__(8) ? gOPD : function getOwnPropertyDescriptor(O, P) {
-  O = toIObject(O);
-  P = toPrimitive(P, true);
-  if (IE8_DOM_DEFINE) try {
-    return gOPD(O, P);
-  } catch (e) { /* empty */ }
-  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
-};
-
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _setPrototypeOf = __webpack_require__(136);
-
-var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
-
-var _create = __webpack_require__(140);
-
-var _create2 = _interopRequireDefault(_create);
-
-var _typeof2 = __webpack_require__(67);
-
-var _typeof3 = _interopRequireDefault(_typeof2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (subClass, superClass) {
-  if (typeof superClass !== "function" && superClass !== null) {
-    throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
-  }
-
-  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
-    constructor: {
-      value: subClass,
-      enumerable: false,
-      writable: true,
-      configurable: true
-    }
-  });
-  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
-};
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.hasClassInParent = exports.formatErrorMsg = exports.getMetaContent = exports.axiosGithub = exports.axiosJSON = exports.queryStringify = exports.queryParse = undefined;
-
-var _keys = __webpack_require__(161);
-
-var _keys2 = _interopRequireDefault(_keys);
-
-var _slicedToArray2 = __webpack_require__(164);
-
-var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
-
-var _axios = __webpack_require__(171);
-
-var _axios2 = _interopRequireDefault(_axios);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var queryParse = exports.queryParse = function queryParse() {
-  var search = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.location.search;
-
-  if (!search) return {};
-  var queryString = search[0] === '?' ? search.substring(1) : search;
-  var query = {};
-  queryString.split('&').forEach(function (queryStr) {
-    var _queryStr$split = queryStr.split('='),
-        _queryStr$split2 = (0, _slicedToArray3.default)(_queryStr$split, 2),
-        key = _queryStr$split2[0],
-        value = _queryStr$split2[1];
-    /* istanbul ignore else */
-
-
-    if (key) query[decodeURIComponent(key)] = decodeURIComponent(value);
-  });
-
-  return query;
-};
-
-var queryStringify = exports.queryStringify = function queryStringify(query) {
-  var queryString = (0, _keys2.default)(query).map(function (key) {
-    return key + '=' + encodeURIComponent(query[key] || '');
-  }).join('&');
-  return queryString;
-};
-
-var axiosJSON = exports.axiosJSON = _axios2.default.create({
-  headers: {
-    'Accept': 'application/json'
-  }
-});
-
-var axiosGithub = exports.axiosGithub = _axios2.default.create({
-  baseURL: 'https://api.github.com',
-  headers: {
-    'Accept': 'application/json'
-  }
-});
-
-var getMetaContent = exports.getMetaContent = function getMetaContent(name, content) {
-  /* istanbul ignore next */
-  content || (content = 'content');
-  /* istanbul ignore next */
-  var el = window.document.querySelector('meta[name=\'' + name + '\']');
-  /* istanbul ignore next */
-  return el && el.getAttribute(content);
-};
-
-var formatErrorMsg = exports.formatErrorMsg = function formatErrorMsg(err) {
-  var msg = 'Error: ';
-  if (err.response && err.response.data && err.response.data.message) {
-    msg += err.response.data.message + '. ';
-    err.response.data.errors && (msg += err.response.data.errors.map(function (e) {
-      return e.message;
-    }).join(', '));
-  } else {
-    msg += err.message;
-  }
-  return msg;
-};
-
-var hasClassInParent = exports.hasClassInParent = function hasClassInParent(element) {
-  for (var _len = arguments.length, className = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-    className[_key - 1] = arguments[_key];
-  }
-
-  /* istanbul ignore next */
-  var yes = false;
-  /* istanbul ignore next */
-  if (typeof element.className === 'undefined') return false;
-  /* istanbul ignore next */
-  var classes = element.className.split(' ');
-  /* istanbul ignore next */
-  className.forEach(function (c, i) {
-    /* istanbul ignore next */
-    yes = yes || classes.indexOf(c) >= 0;
-  });
-  /* istanbul ignore next */
-  if (yes) return yes;
-  /* istanbul ignore next */
-  return element.parentNode && hasClassInParent(element.parentNode, className);
-};
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function bind(fn, thisArg) {
-  return function wrap() {
-    var args = new Array(arguments.length);
-    for (var i = 0; i < args.length; i++) {
-      args[i] = arguments[i];
-    }
-    return fn.apply(thisArg, args);
-  };
-};
-
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-function encode(val) {
-  return encodeURIComponent(val).
-    replace(/%40/gi, '@').
-    replace(/%3A/gi, ':').
-    replace(/%24/g, '$').
-    replace(/%2C/gi, ',').
-    replace(/%20/g, '+').
-    replace(/%5B/gi, '[').
-    replace(/%5D/gi, ']');
-}
-
-/**
- * Build a URL by appending params to the end
- *
- * @param {string} url The base of the url (e.g., http://www.google.com)
- * @param {object} [params] The params to be appended
- * @returns {string} The formatted url
- */
-module.exports = function buildURL(url, params, paramsSerializer) {
-  /*eslint no-param-reassign:0*/
-  if (!params) {
-    return url;
-  }
-
-  var serializedParams;
-  if (paramsSerializer) {
-    serializedParams = paramsSerializer(params);
-  } else if (utils.isURLSearchParams(params)) {
-    serializedParams = params.toString();
-  } else {
-    var parts = [];
-
-    utils.forEach(params, function serialize(val, key) {
-      if (val === null || typeof val === 'undefined') {
-        return;
-      }
-
-      if (utils.isArray(val)) {
-        key = key + '[]';
-      } else {
-        val = [val];
-      }
-
-      utils.forEach(val, function parseValue(v) {
-        if (utils.isDate(v)) {
-          v = v.toISOString();
-        } else if (utils.isObject(v)) {
-          v = JSON.stringify(v);
-        }
-        parts.push(encode(key) + '=' + encode(v));
-      });
-    });
-
-    serializedParams = parts.join('&');
-  }
-
-  if (serializedParams) {
-    var hashmarkIndex = url.indexOf('#');
-    if (hashmarkIndex !== -1) {
-      url = url.slice(0, hashmarkIndex);
-    }
-
-    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
-  }
-
-  return url;
-};
-
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function isCancel(value) {
-  return !!(value && value.__CANCEL__);
-};
-
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
-
-var utils = __webpack_require__(3);
-var normalizeHeaderName = __webpack_require__(177);
-
-var DEFAULT_CONTENT_TYPE = {
-  'Content-Type': 'application/x-www-form-urlencoded'
-};
-
-function setContentTypeIfUnset(headers, value) {
-  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
-    headers['Content-Type'] = value;
-  }
-}
-
-function getDefaultAdapter() {
-  var adapter;
-  if (typeof XMLHttpRequest !== 'undefined') {
-    // For browsers use XHR adapter
-    adapter = __webpack_require__(76);
-  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
-    // For node use HTTP adapter
-    adapter = __webpack_require__(76);
-  }
-  return adapter;
-}
-
-var defaults = {
-  adapter: getDefaultAdapter(),
-
-  transformRequest: [function transformRequest(data, headers) {
-    normalizeHeaderName(headers, 'Accept');
-    normalizeHeaderName(headers, 'Content-Type');
-    if (utils.isFormData(data) ||
-      utils.isArrayBuffer(data) ||
-      utils.isBuffer(data) ||
-      utils.isStream(data) ||
-      utils.isFile(data) ||
-      utils.isBlob(data)
-    ) {
-      return data;
-    }
-    if (utils.isArrayBufferView(data)) {
-      return data.buffer;
-    }
-    if (utils.isURLSearchParams(data)) {
-      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
-      return data.toString();
-    }
-    if (utils.isObject(data)) {
-      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
-      return JSON.stringify(data);
-    }
-    return data;
-  }],
-
-  transformResponse: [function transformResponse(data) {
-    /*eslint no-param-reassign:0*/
-    if (typeof data === 'string') {
-      try {
-        data = JSON.parse(data);
-      } catch (e) { /* Ignore */ }
-    }
-    return data;
-  }],
-
-  /**
-   * A timeout in milliseconds to abort a request. If set to 0 (default) a
-   * timeout is not created.
-   */
-  timeout: 0,
-
-  xsrfCookieName: 'XSRF-TOKEN',
-  xsrfHeaderName: 'X-XSRF-TOKEN',
-
-  maxContentLength: -1,
-
-  validateStatus: function validateStatus(status) {
-    return status >= 200 && status < 300;
-  }
-};
-
-defaults.headers = {
-  common: {
-    'Accept': 'application/json, text/plain, */*'
-  }
-};
-
-utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
-  defaults.headers[method] = {};
-});
-
-utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
-  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
-});
-
-module.exports = defaults;
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var settle = __webpack_require__(178);
-var buildURL = __webpack_require__(73);
-var buildFullPath = __webpack_require__(180);
-var parseHeaders = __webpack_require__(183);
-var isURLSameOrigin = __webpack_require__(184);
-var createError = __webpack_require__(77);
-
-module.exports = function xhrAdapter(config) {
-  return new Promise(function dispatchXhrRequest(resolve, reject) {
-    var requestData = config.data;
-    var requestHeaders = config.headers;
-
-    if (utils.isFormData(requestData)) {
-      delete requestHeaders['Content-Type']; // Let the browser set it
-    }
-
-    var request = new XMLHttpRequest();
-
-    // HTTP basic authentication
-    if (config.auth) {
-      var username = config.auth.username || '';
-      var password = config.auth.password || '';
-      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
-    }
-
-    var fullPath = buildFullPath(config.baseURL, config.url);
-    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
-
-    // Set the request timeout in MS
-    request.timeout = config.timeout;
-
-    // Listen for ready state
-    request.onreadystatechange = function handleLoad() {
-      if (!request || request.readyState !== 4) {
-        return;
-      }
-
-      // The request errored out and we didn't get a response, this will be
-      // handled by onerror instead
-      // With one exception: request that using file: protocol, most browsers
-      // will return status as 0 even though it's a successful request
-      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
-        return;
-      }
-
-      // Prepare the response
-      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
-      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
-      var response = {
-        data: responseData,
-        status: request.status,
-        statusText: request.statusText,
-        headers: responseHeaders,
-        config: config,
-        request: request
-      };
-
-      settle(resolve, reject, response);
-
-      // Clean up request
-      request = null;
-    };
-
-    // Handle browser request cancellation (as opposed to a manual cancellation)
-    request.onabort = function handleAbort() {
-      if (!request) {
-        return;
-      }
-
-      reject(createError('Request aborted', config, 'ECONNABORTED', request));
-
-      // Clean up request
-      request = null;
-    };
-
-    // Handle low level network errors
-    request.onerror = function handleError() {
-      // Real errors are hidden from us by the browser
-      // onerror should only fire if it's a network error
-      reject(createError('Network Error', config, null, request));
-
-      // Clean up request
-      request = null;
-    };
-
-    // Handle timeout
-    request.ontimeout = function handleTimeout() {
-      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
-      if (config.timeoutErrorMessage) {
-        timeoutErrorMessage = config.timeoutErrorMessage;
-      }
-      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
-        request));
-
-      // Clean up request
-      request = null;
-    };
-
-    // Add xsrf header
-    // This is only done if running in a standard browser environment.
-    // Specifically not if we're in a web worker, or react-native.
-    if (utils.isStandardBrowserEnv()) {
-      var cookies = __webpack_require__(185);
-
-      // Add xsrf header
-      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
-        cookies.read(config.xsrfCookieName) :
-        undefined;
-
-      if (xsrfValue) {
-        requestHeaders[config.xsrfHeaderName] = xsrfValue;
-      }
-    }
-
-    // Add headers to the request
-    if ('setRequestHeader' in request) {
-      utils.forEach(requestHeaders, function setRequestHeader(val, key) {
-        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
-          // Remove Content-Type if data is undefined
-          delete requestHeaders[key];
-        } else {
-          // Otherwise add header to the request
-          request.setRequestHeader(key, val);
-        }
-      });
-    }
-
-    // Add withCredentials to request if needed
-    if (!utils.isUndefined(config.withCredentials)) {
-      request.withCredentials = !!config.withCredentials;
-    }
-
-    // Add responseType to request if needed
-    if (config.responseType) {
-      try {
-        request.responseType = config.responseType;
-      } catch (e) {
-        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
-        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
-        if (config.responseType !== 'json') {
-          throw e;
-        }
-      }
-    }
-
-    // Handle progress if needed
-    if (typeof config.onDownloadProgress === 'function') {
-      request.addEventListener('progress', config.onDownloadProgress);
-    }
-
-    // Not all browsers support upload events
-    if (typeof config.onUploadProgress === 'function' && request.upload) {
-      request.upload.addEventListener('progress', config.onUploadProgress);
-    }
-
-    if (config.cancelToken) {
-      // Handle cancellation
-      config.cancelToken.promise.then(function onCanceled(cancel) {
-        if (!request) {
-          return;
-        }
-
-        request.abort();
-        reject(cancel);
-        // Clean up request
-        request = null;
-      });
-    }
-
-    if (requestData === undefined) {
-      requestData = null;
-    }
-
-    // Send the request
-    request.send(requestData);
-  });
-};
-
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var enhanceError = __webpack_require__(179);
-
-/**
- * Create an Error with the specified message, config, error code, request and response.
- *
- * @param {string} message The error message.
- * @param {Object} config The config.
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
- * @param {Object} [request] The request.
- * @param {Object} [response] The response.
- * @returns {Error} The created error.
- */
-module.exports = function createError(message, config, code, request, response) {
-  var error = new Error(message);
-  return enhanceError(error, config, code, request, response);
-};
-
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-/**
- * Config-specific merge-function which creates a new config-object
- * by merging two configuration objects together.
- *
- * @param {Object} config1
- * @param {Object} config2
- * @returns {Object} New object resulting from merging config2 to config1
- */
-module.exports = function mergeConfig(config1, config2) {
-  // eslint-disable-next-line no-param-reassign
-  config2 = config2 || {};
-  var config = {};
-
-  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];
-  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];
-  var defaultToConfig2Keys = [
-    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',
-    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
-    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',
-    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',
-    'httpsAgent', 'cancelToken', 'socketPath'
-  ];
-
-  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
-    if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    }
-  });
-
-  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {
-    if (utils.isObject(config2[prop])) {
-      config[prop] = utils.deepMerge(config1[prop], config2[prop]);
-    } else if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    } else if (utils.isObject(config1[prop])) {
-      config[prop] = utils.deepMerge(config1[prop]);
-    } else if (typeof config1[prop] !== 'undefined') {
-      config[prop] = config1[prop];
-    }
-  });
-
-  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
-    if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    } else if (typeof config1[prop] !== 'undefined') {
-      config[prop] = config1[prop];
-    }
-  });
-
-  var axiosKeys = valueFromConfig2Keys
-    .concat(mergeDeepPropertiesKeys)
-    .concat(defaultToConfig2Keys);
-
-  var otherKeys = Object
-    .keys(config2)
-    .filter(function filterAxiosKeys(key) {
-      return axiosKeys.indexOf(key) === -1;
-    });
-
-  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {
-    if (typeof config2[prop] !== 'undefined') {
-      config[prop] = config2[prop];
-    } else if (typeof config1[prop] !== 'undefined') {
-      config[prop] = config1[prop];
-    }
-  });
-
-  return config;
-};
-
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * A `Cancel` is an object that is thrown when an operation is canceled.
- *
- * @class
- * @param {string=} message The message.
- */
-function Cancel(message) {
-  this.message = message;
-}
-
-Cancel.prototype.toString = function toString() {
-  return 'Cancel' + (this.message ? ': ' + this.message : '');
-};
-
-Cancel.prototype.__CANCEL__ = true;
-
-module.exports = Cancel;
-
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var src = _ref.src,
-      className = _ref.className,
-      alt = _ref.alt,
-      onError = _ref.onError;
-  return _react2.default.createElement(
-    'div',
-    { className: 'gt-avatar ' + className },
-    _react2.default.createElement('img', { src: src, alt: '@' + alt, onError: onError })
-  );
-};
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var className = _ref.className,
-      text = _ref.text,
-      name = _ref.name;
-  return _react2.default.createElement(
-    "span",
-    { className: "gt-ico " + className },
-    _react2.default.createElement("span", { className: "gt-svg", dangerouslySetInnerHTML: {
-        __html: __webpack_require__(191)("./" + name + ".svg")
-      } }),
-    text && _react2.default.createElement(
-      "span",
-      { className: "gt-ico-text" },
-      text
-    )
-  );
-};
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _classCallCheck2 = __webpack_require__(29);
-
-var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
-
-var _createClass2 = __webpack_require__(30);
-
-var _createClass3 = _interopRequireDefault(_createClass2);
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _reactDom = __webpack_require__(5);
-
-__webpack_require__(94);
-
-var _gitalk = __webpack_require__(98);
-
-var _gitalk2 = _interopRequireDefault(_gitalk);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var Gitalk = function () {
-  function Gitalk() {
-    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-    (0, _classCallCheck3.default)(this, Gitalk);
-
-    this.options = options;
-  }
-
-  (0, _createClass3.default)(Gitalk, [{
-    key: 'render',
-    value: function render(container, callback) {
-      var node = null;
-      container = container || this.options.container;
-
-      if (!container) throw new Error('Container is required: ' + container);
-
-      if (!(container instanceof HTMLElement)) {
-        node = window.document.getElementById(container);
-        if (!node) throw new Error('Container not found, window.document.getElementById: ' + container);
-      } else {
-        node = container;
-      }
-
-      if (!callback) {
-        callback = function callback() {};
-      }
-
-      return (0, _reactDom.render)(_react2.default.createElement(_gitalk2.default, { options: this.options }), node, callback);
-    }
-  }]);
-  return Gitalk;
-}();
-
-module.exports = Gitalk;
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(84), __esModule: true };
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(85);
-var $Object = __webpack_require__(0).Object;
-module.exports = function defineProperty(it, key, desc) {
-  return $Object.defineProperty(it, key, desc);
-};
-
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $export = __webpack_require__(4);
-// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
-$export($export.S + $export.F * !__webpack_require__(8), 'Object', { defineProperty: __webpack_require__(7).f });
-
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-if (process.env.NODE_ENV !== 'production') {
-  var ReactIs = __webpack_require__(49);
-
-  // By explicitly using `prop-types` you are opting into new development behavior.
-  // http://fb.me/prop-types-in-prod
-  var throwOnDirectAccess = true;
-  module.exports = __webpack_require__(89)(ReactIs.isElement, throwOnDirectAccess);
-} else {
-  // By explicitly using `prop-types` you are opting into new production behavior.
-  // http://fb.me/prop-types-in-prod
-  module.exports = __webpack_require__(92)();
-}
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/** @license React v16.12.0
- * react-is.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-Object.defineProperty(exports,"__esModule",{value:!0});
-var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):
-60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.fundamental"):60117,w=b?Symbol.for("react.responder"):60118,x=b?Symbol.for("react.scope"):60119;function y(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}
-exports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;
-exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};
-exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};
-
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.12.0
- * react-is.development.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-
-
-if (process.env.NODE_ENV !== "production") {
-  (function() {
-'use strict';
-
-Object.defineProperty(exports, '__esModule', { value: true });
-
-// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
-// nor polyfill, then a plain number is used for performance.
-var hasSymbol = typeof Symbol === 'function' && Symbol.for;
-var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
-var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
-var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
-var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
-var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
-var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
-var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
-// (unstable) APIs that have been removed. Can we remove the symbols?
-
-var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
-var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
-var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
-var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
-var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
-var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
-var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
-var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
-var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
-var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
-
-function isValidElementType(type) {
-  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
-  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);
-}
-
-/**
- * Forked from fbjs/warning:
- * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
- *
- * Only change is we use console.warn instead of console.error,
- * and do nothing when 'console' is not supported.
- * This really simplifies the code.
- * ---
- * Similar to invariant but only logs a warning if the condition is not met.
- * This can be used to log issues in development environments in critical
- * paths. Removing the logging code for production environments will keep the
- * same logic and follow the same code paths.
- */
-var lowPriorityWarningWithoutStack = function () {};
-
-{
-  var printWarning = function (format) {
-    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-      args[_key - 1] = arguments[_key];
-    }
-
-    var argIndex = 0;
-    var message = 'Warning: ' + format.replace(/%s/g, function () {
-      return args[argIndex++];
-    });
-
-    if (typeof console !== 'undefined') {
-      console.warn(message);
-    }
-
-    try {
-      // --- Welcome to debugging React ---
-      // This error was thrown as a convenience so that you can use this stack
-      // to find the callsite that caused this warning to fire.
-      throw new Error(message);
-    } catch (x) {}
-  };
-
-  lowPriorityWarningWithoutStack = function (condition, format) {
-    if (format === undefined) {
-      throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');
-    }
-
-    if (!condition) {
-      for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
-        args[_key2 - 2] = arguments[_key2];
-      }
-
-      printWarning.apply(void 0, [format].concat(args));
-    }
-  };
-}
-
-var lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;
-
-function typeOf(object) {
-  if (typeof object === 'object' && object !== null) {
-    var $$typeof = object.$$typeof;
-
-    switch ($$typeof) {
-      case REACT_ELEMENT_TYPE:
-        var type = object.type;
-
-        switch (type) {
-          case REACT_ASYNC_MODE_TYPE:
-          case REACT_CONCURRENT_MODE_TYPE:
-          case REACT_FRAGMENT_TYPE:
-          case REACT_PROFILER_TYPE:
-          case REACT_STRICT_MODE_TYPE:
-          case REACT_SUSPENSE_TYPE:
-            return type;
-
-          default:
-            var $$typeofType = type && type.$$typeof;
-
-            switch ($$typeofType) {
-              case REACT_CONTEXT_TYPE:
-              case REACT_FORWARD_REF_TYPE:
-              case REACT_LAZY_TYPE:
-              case REACT_MEMO_TYPE:
-              case REACT_PROVIDER_TYPE:
-                return $$typeofType;
-
-              default:
-                return $$typeof;
-            }
-
-        }
-
-      case REACT_PORTAL_TYPE:
-        return $$typeof;
-    }
-  }
-
-  return undefined;
-} // AsyncMode is deprecated along with isAsyncMode
-
-var AsyncMode = REACT_ASYNC_MODE_TYPE;
-var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
-var ContextConsumer = REACT_CONTEXT_TYPE;
-var ContextProvider = REACT_PROVIDER_TYPE;
-var Element = REACT_ELEMENT_TYPE;
-var ForwardRef = REACT_FORWARD_REF_TYPE;
-var Fragment = REACT_FRAGMENT_TYPE;
-var Lazy = REACT_LAZY_TYPE;
-var Memo = REACT_MEMO_TYPE;
-var Portal = REACT_PORTAL_TYPE;
-var Profiler = REACT_PROFILER_TYPE;
-var StrictMode = REACT_STRICT_MODE_TYPE;
-var Suspense = REACT_SUSPENSE_TYPE;
-var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
-
-function isAsyncMode(object) {
-  {
-    if (!hasWarnedAboutDeprecatedIsAsyncMode) {
-      hasWarnedAboutDeprecatedIsAsyncMode = true;
-      lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
-    }
-  }
-
-  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
-}
-function isConcurrentMode(object) {
-  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
-}
-function isContextConsumer(object) {
-  return typeOf(object) === REACT_CONTEXT_TYPE;
-}
-function isContextProvider(object) {
-  return typeOf(object) === REACT_PROVIDER_TYPE;
-}
-function isElement(object) {
-  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
-}
-function isForwardRef(object) {
-  return typeOf(object) === REACT_FORWARD_REF_TYPE;
-}
-function isFragment(object) {
-  return typeOf(object) === REACT_FRAGMENT_TYPE;
-}
-function isLazy(object) {
-  return typeOf(object) === REACT_LAZY_TYPE;
-}
-function isMemo(object) {
-  return typeOf(object) === REACT_MEMO_TYPE;
-}
-function isPortal(object) {
-  return typeOf(object) === REACT_PORTAL_TYPE;
-}
-function isProfiler(object) {
-  return typeOf(object) === REACT_PROFILER_TYPE;
-}
-function isStrictMode(object) {
-  return typeOf(object) === REACT_STRICT_MODE_TYPE;
-}
-function isSuspense(object) {
-  return typeOf(object) === REACT_SUSPENSE_TYPE;
-}
-
-exports.typeOf = typeOf;
-exports.AsyncMode = AsyncMode;
-exports.ConcurrentMode = ConcurrentMode;
-exports.ContextConsumer = ContextConsumer;
-exports.ContextProvider = ContextProvider;
-exports.Element = Element;
-exports.ForwardRef = ForwardRef;
-exports.Fragment = Fragment;
-exports.Lazy = Lazy;
-exports.Memo = Memo;
-exports.Portal = Portal;
-exports.Profiler = Profiler;
-exports.StrictMode = StrictMode;
-exports.Suspense = Suspense;
-exports.isValidElementType = isValidElementType;
-exports.isAsyncMode = isAsyncMode;
-exports.isConcurrentMode = isConcurrentMode;
-exports.isContextConsumer = isContextConsumer;
-exports.isContextProvider = isContextProvider;
-exports.isElement = isElement;
-exports.isForwardRef = isForwardRef;
-exports.isFragment = isFragment;
-exports.isLazy = isLazy;
-exports.isMemo = isMemo;
-exports.isPortal = isPortal;
-exports.isProfiler = isProfiler;
-exports.isStrictMode = isStrictMode;
-exports.isSuspense = isSuspense;
-  })();
-}
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var ReactIs = __webpack_require__(49);
-var assign = __webpack_require__(90);
-
-var ReactPropTypesSecret = __webpack_require__(33);
-var checkPropTypes = __webpack_require__(91);
-
-var has = Function.call.bind(Object.prototype.hasOwnProperty);
-var printWarning = function() {};
-
-if (process.env.NODE_ENV !== 'production') {
-  printWarning = function(text) {
-    var message = 'Warning: ' + text;
-    if (typeof console !== 'undefined') {
-      console.error(message);
-    }
-    try {
-      // --- Welcome to debugging React ---
-      // This error was thrown as a convenience so that you can use this stack
-      // to find the callsite that caused this warning to fire.
-      throw new Error(message);
-    } catch (x) {}
-  };
-}
-
-function emptyFunctionThatReturnsNull() {
-  return null;
-}
-
-module.exports = function(isValidElement, throwOnDirectAccess) {
-  /* global Symbol */
-  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
-  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
-
-  /**
-   * Returns the iterator method function contained on the iterable object.
-   *
-   * Be sure to invoke the function with the iterable as context:
-   *
-   *     var iteratorFn = getIteratorFn(myIterable);
-   *     if (iteratorFn) {
-   *       var iterator = iteratorFn.call(myIterable);
-   *       ...
-   *     }
-   *
-   * @param {?object} maybeIterable
-   * @return {?function}
-   */
-  function getIteratorFn(maybeIterable) {
-    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
-    if (typeof iteratorFn === 'function') {
-      return iteratorFn;
-    }
-  }
-
-  /**
-   * Collection of methods that allow declaration and validation of props that are
-   * supplied to React components. Example usage:
-   *
-   *   var Props = require('ReactPropTypes');
-   *   var MyArticle = React.createClass({
-   *     propTypes: {
-   *       // An optional string prop named "description".
-   *       description: Props.string,
-   *
-   *       // A required enum prop named "category".
-   *       category: Props.oneOf(['News','Photos']).isRequired,
-   *
-   *       // A prop named "dialog" that requires an instance of Dialog.
-   *       dialog: Props.instanceOf(Dialog).isRequired
-   *     },
-   *     render: function() { ... }
-   *   });
-   *
-   * A more formal specification of how these methods are used:
-   *
-   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
-   *   decl := ReactPropTypes.{type}(.isRequired)?
-   *
-   * Each and every declaration produces a function with the same signature. This
-   * allows the creation of custom validation functions. For example:
-   *
-   *  var MyLink = React.createClass({
-   *    propTypes: {
-   *      // An optional string or URI prop named "href".
-   *      href: function(props, propName, componentName) {
-   *        var propValue = props[propName];
-   *        if (propValue != null && typeof propValue !== 'string' &&
-   *            !(propValue instanceof URI)) {
-   *          return new Error(
-   *            'Expected a string or an URI for ' + propName + ' in ' +
-   *            componentName
-   *          );
-   *        }
-   *      }
-   *    },
-   *    render: function() {...}
-   *  });
-   *
-   * @internal
-   */
-
-  var ANONYMOUS = '<<anonymous>>';
-
-  // Important!
-  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
-  var ReactPropTypes = {
-    array: createPrimitiveTypeChecker('array'),
-    bool: createPrimitiveTypeChecker('boolean'),
-    func: createPrimitiveTypeChecker('function'),
-    number: createPrimitiveTypeChecker('number'),
-    object: createPrimitiveTypeChecker('object'),
-    string: createPrimitiveTypeChecker('string'),
-    symbol: createPrimitiveTypeChecker('symbol'),
-
-    any: createAnyTypeChecker(),
-    arrayOf: createArrayOfTypeChecker,
-    element: createElementTypeChecker(),
-    elementType: createElementTypeTypeChecker(),
-    instanceOf: createInstanceTypeChecker,
-    node: createNodeChecker(),
-    objectOf: createObjectOfTypeChecker,
-    oneOf: createEnumTypeChecker,
-    oneOfType: createUnionTypeChecker,
-    shape: createShapeTypeChecker,
-    exact: createStrictShapeTypeChecker,
-  };
-
-  /**
-   * inlined Object.is polyfill to avoid requiring consumers ship their own
-   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
-   */
-  /*eslint-disable no-self-compare*/
-  function is(x, y) {
-    // SameValue algorithm
-    if (x === y) {
-      // Steps 1-5, 7-10
-      // Steps 6.b-6.e: +0 != -0
-      return x !== 0 || 1 / x === 1 / y;
-    } else {
-      // Step 6.a: NaN == NaN
-      return x !== x && y !== y;
-    }
-  }
-  /*eslint-enable no-self-compare*/
-
-  /**
-   * We use an Error-like object for backward compatibility as people may call
-   * PropTypes directly and inspect their output. However, we don't use real
-   * Errors anymore. We don't inspect their stack anyway, and creating them
-   * is prohibitively expensive if they are created too often, such as what
-   * happens in oneOfType() for any type before the one that matched.
-   */
-  function PropTypeError(message) {
-    this.message = message;
-    this.stack = '';
-  }
-  // Make `instanceof Error` still work for returned errors.
-  PropTypeError.prototype = Error.prototype;
-
-  function createChainableTypeChecker(validate) {
-    if (process.env.NODE_ENV !== 'production') {
-      var manualPropTypeCallCache = {};
-      var manualPropTypeWarningCount = 0;
-    }
-    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
-      componentName = componentName || ANONYMOUS;
-      propFullName = propFullName || propName;
-
-      if (secret !== ReactPropTypesSecret) {
-        if (throwOnDirectAccess) {
-          // New behavior only for users of `prop-types` package
-          var err = new Error(
-            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
-            'Use `PropTypes.checkPropTypes()` to call them. ' +
-            'Read more at http://fb.me/use-check-prop-types'
-          );
-          err.name = 'Invariant Violation';
-          throw err;
-        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
-          // Old behavior for people using React.PropTypes
-          var cacheKey = componentName + ':' + propName;
-          if (
-            !manualPropTypeCallCache[cacheKey] &&
-            // Avoid spamming the console because they are often not actionable except for lib authors
-            manualPropTypeWarningCount < 3
-          ) {
-            printWarning(
-              'You are manually calling a React.PropTypes validation ' +
-              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +
-              'and will throw in the standalone `prop-types` package. ' +
-              'You may be seeing this warning due to a third-party PropTypes ' +
-              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
-            );
-            manualPropTypeCallCache[cacheKey] = true;
-            manualPropTypeWarningCount++;
-          }
-        }
-      }
-      if (props[propName] == null) {
-        if (isRequired) {
-          if (props[propName] === null) {
-            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
-          }
-          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
-        }
-        return null;
-      } else {
-        return validate(props, propName, componentName, location, propFullName);
-      }
-    }
-
-    var chainedCheckType = checkType.bind(null, false);
-    chainedCheckType.isRequired = checkType.bind(null, true);
-
-    return chainedCheckType;
-  }
-
-  function createPrimitiveTypeChecker(expectedType) {
-    function validate(props, propName, componentName, location, propFullName, secret) {
-      var propValue = props[propName];
-      var propType = getPropType(propValue);
-      if (propType !== expectedType) {
-        // `propValue` being instance of, say, date/regexp, pass the 'object'
-        // check, but we can offer a more precise error message here rather than
-        // 'of type `object`'.
-        var preciseType = getPreciseType(propValue);
-
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createAnyTypeChecker() {
-    return createChainableTypeChecker(emptyFunctionThatReturnsNull);
-  }
-
-  function createArrayOfTypeChecker(typeChecker) {
-    function validate(props, propName, componentName, location, propFullName) {
-      if (typeof typeChecker !== 'function') {
-        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
-      }
-      var propValue = props[propName];
-      if (!Array.isArray(propValue)) {
-        var propType = getPropType(propValue);
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
-      }
-      for (var i = 0; i < propValue.length; i++) {
-        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
-        if (error instanceof Error) {
-          return error;
-        }
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createElementTypeChecker() {
-    function validate(props, propName, componentName, location, propFullName) {
-      var propValue = props[propName];
-      if (!isValidElement(propValue)) {
-        var propType = getPropType(propValue);
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createElementTypeTypeChecker() {
-    function validate(props, propName, componentName, location, propFullName) {
-      var propValue = props[propName];
-      if (!ReactIs.isValidElementType(propValue)) {
-        var propType = getPropType(propValue);
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createInstanceTypeChecker(expectedClass) {
-    function validate(props, propName, componentName, location, propFullName) {
-      if (!(props[propName] instanceof expectedClass)) {
-        var expectedClassName = expectedClass.name || ANONYMOUS;
-        var actualClassName = getClassName(props[propName]);
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createEnumTypeChecker(expectedValues) {
-    if (!Array.isArray(expectedValues)) {
-      if (process.env.NODE_ENV !== 'production') {
-        if (arguments.length > 1) {
-          printWarning(
-            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
-            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
-          );
-        } else {
-          printWarning('Invalid argument supplied to oneOf, expected an array.');
-        }
-      }
-      return emptyFunctionThatReturnsNull;
-    }
-
-    function validate(props, propName, componentName, location, propFullName) {
-      var propValue = props[propName];
-      for (var i = 0; i < expectedValues.length; i++) {
-        if (is(propValue, expectedValues[i])) {
-          return null;
-        }
-      }
-
-      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
-        var type = getPreciseType(value);
-        if (type === 'symbol') {
-          return String(value);
-        }
-        return value;
-      });
-      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createObjectOfTypeChecker(typeChecker) {
-    function validate(props, propName, componentName, location, propFullName) {
-      if (typeof typeChecker !== 'function') {
-        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
-      }
-      var propValue = props[propName];
-      var propType = getPropType(propValue);
-      if (propType !== 'object') {
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
-      }
-      for (var key in propValue) {
-        if (has(propValue, key)) {
-          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
-          if (error instanceof Error) {
-            return error;
-          }
-        }
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createUnionTypeChecker(arrayOfTypeCheckers) {
-    if (!Array.isArray(arrayOfTypeCheckers)) {
-      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
-      return emptyFunctionThatReturnsNull;
-    }
-
-    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
-      var checker = arrayOfTypeCheckers[i];
-      if (typeof checker !== 'function') {
-        printWarning(
-          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
-          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
-        );
-        return emptyFunctionThatReturnsNull;
-      }
-    }
-
-    function validate(props, propName, componentName, location, propFullName) {
-      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
-        var checker = arrayOfTypeCheckers[i];
-        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
-          return null;
-        }
-      }
-
-      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createNodeChecker() {
-    function validate(props, propName, componentName, location, propFullName) {
-      if (!isNode(props[propName])) {
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createShapeTypeChecker(shapeTypes) {
-    function validate(props, propName, componentName, location, propFullName) {
-      var propValue = props[propName];
-      var propType = getPropType(propValue);
-      if (propType !== 'object') {
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
-      }
-      for (var key in shapeTypes) {
-        var checker = shapeTypes[key];
-        if (!checker) {
-          continue;
-        }
-        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
-        if (error) {
-          return error;
-        }
-      }
-      return null;
-    }
-    return createChainableTypeChecker(validate);
-  }
-
-  function createStrictShapeTypeChecker(shapeTypes) {
-    function validate(props, propName, componentName, location, propFullName) {
-      var propValue = props[propName];
-      var propType = getPropType(propValue);
-      if (propType !== 'object') {
-        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
-      }
-      // We need to check all keys in case some are required but missing from
-      // props.
-      var allKeys = assign({}, props[propName], shapeTypes);
-      for (var key in allKeys) {
-        var checker = shapeTypes[key];
-        if (!checker) {
-          return new PropTypeError(
-            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
-            '\nBad object: ' + JSON.stringify(props[propName], null, '  ') +
-            '\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')
-          );
-        }
-        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
-        if (error) {
-          return error;
-        }
-      }
-      return null;
-    }
-
-    return createChainableTypeChecker(validate);
-  }
-
-  function isNode(propValue) {
-    switch (typeof propValue) {
-      case 'number':
-      case 'string':
-      case 'undefined':
-        return true;
-      case 'boolean':
-        return !propValue;
-      case 'object':
-        if (Array.isArray(propValue)) {
-          return propValue.every(isNode);
-        }
-        if (propValue === null || isValidElement(propValue)) {
-          return true;
-        }
-
-        var iteratorFn = getIteratorFn(propValue);
-        if (iteratorFn) {
-          var iterator = iteratorFn.call(propValue);
-          var step;
-          if (iteratorFn !== propValue.entries) {
-            while (!(step = iterator.next()).done) {
-              if (!isNode(step.value)) {
-                return false;
-              }
-            }
-          } else {
-            // Iterator will provide entry [k,v] tuples rather than values.
-            while (!(step = iterator.next()).done) {
-              var entry = step.value;
-              if (entry) {
-                if (!isNode(entry[1])) {
-                  return false;
-                }
-              }
-            }
-          }
-        } else {
-          return false;
-        }
-
-        return true;
-      default:
-        return false;
-    }
-  }
-
-  function isSymbol(propType, propValue) {
-    // Native Symbol.
-    if (propType === 'symbol') {
-      return true;
-    }
-
-    // falsy value can't be a Symbol
-    if (!propValue) {
-      return false;
-    }
-
-    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
-    if (propValue['@@toStringTag'] === 'Symbol') {
-      return true;
-    }
-
-    // Fallback for non-spec compliant Symbols which are polyfilled.
-    if (typeof Symbol === 'function' && propValue instanceof Symbol) {
-      return true;
-    }
-
-    return false;
-  }
-
-  // Equivalent of `typeof` but with special handling for array and regexp.
-  function getPropType(propValue) {
-    var propType = typeof propValue;
-    if (Array.isArray(propValue)) {
-      return 'array';
-    }
-    if (propValue instanceof RegExp) {
-      // Old webkits (at least until Android 4.0) return 'function' rather than
-      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
-      // passes PropTypes.object.
-      return 'object';
-    }
-    if (isSymbol(propType, propValue)) {
-      return 'symbol';
-    }
-    return propType;
-  }
-
-  // This handles more types than `getPropType`. Only used for error messages.
-  // See `createPrimitiveTypeChecker`.
-  function getPreciseType(propValue) {
-    if (typeof propValue === 'undefined' || propValue === null) {
-      return '' + propValue;
-    }
-    var propType = getPropType(propValue);
-    if (propType === 'object') {
-      if (propValue instanceof Date) {
-        return 'date';
-      } else if (propValue instanceof RegExp) {
-        return 'regexp';
-      }
-    }
-    return propType;
-  }
-
-  // Returns a string that is postfixed to a warning about an invalid type.
-  // For example, "undefined" or "of type array"
-  function getPostfixForTypeWarning(value) {
-    var type = getPreciseType(value);
-    switch (type) {
-      case 'array':
-      case 'object':
-        return 'an ' + type;
-      case 'boolean':
-      case 'date':
-      case 'regexp':
-        return 'a ' + type;
-      default:
-        return type;
-    }
-  }
-
-  // Returns class name of the object, if any.
-  function getClassName(propValue) {
-    if (!propValue.constructor || !propValue.constructor.name) {
-      return ANONYMOUS;
-    }
-    return propValue.constructor.name;
-  }
-
-  ReactPropTypes.checkPropTypes = checkPropTypes;
-  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
-  ReactPropTypes.PropTypes = ReactPropTypes;
-
-  return ReactPropTypes;
-};
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/*
-object-assign
-(c) Sindre Sorhus
-@license MIT
-*/
-
-
-/* eslint-disable no-unused-vars */
-var getOwnPropertySymbols = Object.getOwnPropertySymbols;
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-var propIsEnumerable = Object.prototype.propertyIsEnumerable;
-
-function toObject(val) {
-	if (val === null || val === undefined) {
-		throw new TypeError('Object.assign cannot be called with null or undefined');
-	}
-
-	return Object(val);
-}
-
-function shouldUseNative() {
-	try {
-		if (!Object.assign) {
-			return false;
-		}
-
-		// Detect buggy property enumeration order in older V8 versions.
-
-		// https://bugs.chromium.org/p/v8/issues/detail?id=4118
-		var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
-		test1[5] = 'de';
-		if (Object.getOwnPropertyNames(test1)[0] === '5') {
-			return false;
-		}
-
-		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
-		var test2 = {};
-		for (var i = 0; i < 10; i++) {
-			test2['_' + String.fromCharCode(i)] = i;
-		}
-		var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
-			return test2[n];
-		});
-		if (order2.join('') !== '0123456789') {
-			return false;
-		}
-
-		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
-		var test3 = {};
-		'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
-			test3[letter] = letter;
-		});
-		if (Object.keys(Object.assign({}, test3)).join('') !==
-				'abcdefghijklmnopqrst') {
-			return false;
-		}
-
-		return true;
-	} catch (err) {
-		// We don't expect any of the above to throw, but better to be safe.
-		return false;
-	}
-}
-
-module.exports = shouldUseNative() ? Object.assign : function (target, source) {
-	var from;
-	var to = toObject(target);
-	var symbols;
-
-	for (var s = 1; s < arguments.length; s++) {
-		from = Object(arguments[s]);
-
-		for (var key in from) {
-			if (hasOwnProperty.call(from, key)) {
-				to[key] = from[key];
-			}
-		}
-
-		if (getOwnPropertySymbols) {
-			symbols = getOwnPropertySymbols(from);
-			for (var i = 0; i < symbols.length; i++) {
-				if (propIsEnumerable.call(from, symbols[i])) {
-					to[symbols[i]] = from[symbols[i]];
-				}
-			}
-		}
-	}
-
-	return to;
-};
-
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var printWarning = function() {};
-
-if (process.env.NODE_ENV !== 'production') {
-  var ReactPropTypesSecret = __webpack_require__(33);
-  var loggedTypeFailures = {};
-  var has = Function.call.bind(Object.prototype.hasOwnProperty);
-
-  printWarning = function(text) {
-    var message = 'Warning: ' + text;
-    if (typeof console !== 'undefined') {
-      console.error(message);
-    }
-    try {
-      // --- Welcome to debugging React ---
-      // This error was thrown as a convenience so that you can use this stack
-      // to find the callsite that caused this warning to fire.
-      throw new Error(message);
-    } catch (x) {}
-  };
-}
-
-/**
- * Assert that the values match with the type specs.
- * Error messages are memorized and will only be shown once.
- *
- * @param {object} typeSpecs Map of name to a ReactPropType
- * @param {object} values Runtime values that need to be type-checked
- * @param {string} location e.g. "prop", "context", "child context"
- * @param {string} componentName Name of the component for error messages.
- * @param {?Function} getStack Returns the component stack.
- * @private
- */
-function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
-  if (process.env.NODE_ENV !== 'production') {
-    for (var typeSpecName in typeSpecs) {
-      if (has(typeSpecs, typeSpecName)) {
-        var error;
-        // Prop type validation may throw. In case they do, we don't want to
-        // fail the render phase where it didn't fail before. So we log it.
-        // After these have been cleaned up, we'll let them throw.
-        try {
-          // This is intentionally an invariant that gets caught. It's the same
-          // behavior as without this statement except with a better message.
-          if (typeof typeSpecs[typeSpecName] !== 'function') {
-            var err = Error(
-              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
-              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
-            );
-            err.name = 'Invariant Violation';
-            throw err;
-          }
-          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
-        } catch (ex) {
-          error = ex;
-        }
-        if (error && !(error instanceof Error)) {
-          printWarning(
-            (componentName || 'React class') + ': type specification of ' +
-            location + ' `' + typeSpecName + '` is invalid; the type checker ' +
-            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
-            'You may have forgotten to pass an argument to the type checker ' +
-            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
-            'shape all require an argument).'
-          );
-        }
-        if (error instanceof Error && !(error.message in loggedTypeFailures)) {
-          // Only monitor this failure once because there tends to be a lot of the
-          // same error.
-          loggedTypeFailures[error.message] = true;
-
-          var stack = getStack ? getStack() : '';
-
-          printWarning(
-            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
-          );
-        }
-      }
-    }
-  }
-}
-
-/**
- * Resets warning cache when testing.
- *
- * @private
- */
-checkPropTypes.resetWarningCache = function() {
-  if (process.env.NODE_ENV !== 'production') {
-    loggedTypeFailures = {};
-  }
-}
-
-module.exports = checkPropTypes;
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var ReactPropTypesSecret = __webpack_require__(33);
-
-function emptyFunction() {}
-function emptyFunctionWithReset() {}
-emptyFunctionWithReset.resetWarningCache = emptyFunction;
-
-module.exports = function() {
-  function shim(props, propName, componentName, location, propFullName, secret) {
-    if (secret === ReactPropTypesSecret) {
-      // It is still safe when called from React.
-      return;
-    }
-    var err = new Error(
-      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
-      'Use PropTypes.checkPropTypes() to call them. ' +
-      'Read more at http://fb.me/use-check-prop-types'
-    );
-    err.name = 'Invariant Violation';
-    throw err;
-  };
-  shim.isRequired = shim;
-  function getShim() {
-    return shim;
-  };
-  // Important!
-  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
-  var ReactPropTypes = {
-    array: shim,
-    bool: shim,
-    func: shim,
-    number: shim,
-    object: shim,
-    string: shim,
-    symbol: shim,
-
-    any: shim,
-    arrayOf: getShim,
-    element: shim,
-    elementType: shim,
-    instanceOf: getShim,
-    node: shim,
-    objectOf: getShim,
-    oneOf: getShim,
-    oneOfType: getShim,
-    shape: getShim,
-    exact: getShim,
-
-    checkPropTypes: emptyFunctionWithReset,
-    resetWarningCache: emptyFunction
-  };
-
-  ReactPropTypes.PropTypes = ReactPropTypes;
-
-  return ReactPropTypes;
-};
-
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __webpack_require__) {
-
-!function() {
-    'use strict';
-    function VNode() {}
-    function h(nodeName, attributes) {
-        var lastSimple, child, simple, i, children = EMPTY_CHILDREN;
-        for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);
-        if (attributes && null != attributes.children) {
-            if (!stack.length) stack.push(attributes.children);
-            delete attributes.children;
-        }
-        while (stack.length) if ((child = stack.pop()) && void 0 !== child.pop) for (i = child.length; i--; ) stack.push(child[i]); else {
-            if (child === !0 || child === !1) child = null;
-            if (simple = 'function' != typeof nodeName) if (null == child) child = ''; else if ('number' == typeof child) child = String(child); else if ('string' != typeof child) simple = !1;
-            if (simple && lastSimple) children[children.length - 1] += child; else if (children === EMPTY_CHILDREN) children = [ child ]; else children.push(child);
-            lastSimple = simple;
-        }
-        var p = new VNode();
-        p.nodeName = nodeName;
-        p.children = children;
-        p.attributes = null == attributes ? void 0 : attributes;
-        p.key = null == attributes ? void 0 : attributes.key;
-        if (void 0 !== options.vnode) options.vnode(p);
-        return p;
-    }
-    function extend(obj, props) {
-        for (var i in props) obj[i] = props[i];
-        return obj;
-    }
-    function cloneElement(vnode, props) {
-        return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);
-    }
-    function enqueueRender(component) {
-        if (!component.__d && (component.__d = !0) && 1 == items.push(component)) (options.debounceRendering || setTimeout)(rerender);
-    }
-    function rerender() {
-        var p, list = items;
-        items = [];
-        while (p = list.pop()) if (p.__d) renderComponent(p);
-    }
-    function isSameNodeType(node, vnode, hydrating) {
-        if ('string' == typeof vnode || 'number' == typeof vnode) return void 0 !== node.splitText;
-        if ('string' == typeof vnode.nodeName) return !node._componentConstructor && isNamedNode(node, vnode.nodeName); else return hydrating || node._componentConstructor === vnode.nodeName;
-    }
-    function isNamedNode(node, nodeName) {
-        return node.__n === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();
-    }
-    function getNodeProps(vnode) {
-        var props = extend({}, vnode.attributes);
-        props.children = vnode.children;
-        var defaultProps = vnode.nodeName.defaultProps;
-        if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];
-        return props;
-    }
-    function createNode(nodeName, isSvg) {
-        var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);
-        node.__n = nodeName;
-        return node;
-    }
-    function removeNode(node) {
-        if (node.parentNode) node.parentNode.removeChild(node);
-    }
-    function setAccessor(node, name, old, value, isSvg) {
-        if ('className' === name) name = 'class';
-        if ('key' === name) ; else if ('ref' === name) {
-            if (old) old(null);
-            if (value) value(node);
-        } else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) {
-            if (!value || 'string' == typeof value || 'string' == typeof old) node.style.cssText = value || '';
-            if (value && 'object' == typeof value) {
-                if ('string' != typeof old) for (var i in old) if (!(i in value)) node.style[i] = '';
-                for (var i in value) node.style[i] = 'number' == typeof value[i] && IS_NON_DIMENSIONAL.test(i) === !1 ? value[i] + 'px' : value[i];
-            }
-        } else if ('dangerouslySetInnerHTML' === name) {
-            if (value) node.innerHTML = value.__html || '';
-        } else if ('o' == name[0] && 'n' == name[1]) {
-            var useCapture = name !== (name = name.replace(/Capture$/, ''));
-            name = name.toLowerCase().substring(2);
-            if (value) {
-                if (!old) node.addEventListener(name, eventProxy, useCapture);
-            } else node.removeEventListener(name, eventProxy, useCapture);
-            (node.__l || (node.__l = {}))[name] = value;
-        } else if ('list' !== name && 'type' !== name && !isSvg && name in node) {
-            setProperty(node, name, null == value ? '' : value);
-            if (null == value || value === !1) node.removeAttribute(name);
-        } else {
-            var ns = isSvg && name !== (name = name.replace(/^xlink\:?/, ''));
-            if (null == value || value === !1) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); else node.removeAttribute(name); else if ('function' != typeof value) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); else node.setAttribute(name, value);
-        }
-    }
-    function setProperty(node, name, value) {
-        try {
-            node[name] = value;
-        } catch (e) {}
-    }
-    function eventProxy(e) {
-        return this.__l[e.type](options.event && options.event(e) || e);
-    }
-    function flushMounts() {
-        var c;
-        while (c = mounts.pop()) {
-            if (options.afterMount) options.afterMount(c);
-            if (c.componentDidMount) c.componentDidMount();
-        }
-    }
-    function diff(dom, vnode, context, mountAll, parent, componentRoot) {
-        if (!diffLevel++) {
-            isSvgMode = null != parent && void 0 !== parent.ownerSVGElement;
-            hydrating = null != dom && !('__preactattr_' in dom);
-        }
-        var ret = idiff(dom, vnode, context, mountAll, componentRoot);
-        if (parent && ret.parentNode !== parent) parent.appendChild(ret);
-        if (!--diffLevel) {
-            hydrating = !1;
-            if (!componentRoot) flushMounts();
-        }
-        return ret;
-    }
-    function idiff(dom, vnode, context, mountAll, componentRoot) {
-        var out = dom, prevSvgMode = isSvgMode;
-        if (null == vnode) vnode = '';
-        if ('string' == typeof vnode) {
-            if (dom && void 0 !== dom.splitText && dom.parentNode && (!dom._component || componentRoot)) {
-                if (dom.nodeValue != vnode) dom.nodeValue = vnode;
-            } else {
-                out = document.createTextNode(vnode);
-                if (dom) {
-                    if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
-                    recollectNodeTree(dom, !0);
-                }
-            }
-            out.__preactattr_ = !0;
-            return out;
-        }
-        if ('function' == typeof vnode.nodeName) return buildComponentFromVNode(dom, vnode, context, mountAll);
-        isSvgMode = 'svg' === vnode.nodeName ? !0 : 'foreignObject' === vnode.nodeName ? !1 : isSvgMode;
-        if (!dom || !isNamedNode(dom, String(vnode.nodeName))) {
-            out = createNode(String(vnode.nodeName), isSvgMode);
-            if (dom) {
-                while (dom.firstChild) out.appendChild(dom.firstChild);
-                if (dom.parentNode) dom.parentNode.replaceChild(out, dom);
-                recollectNodeTree(dom, !0);
-            }
-        }
-        var fc = out.firstChild, props = out.__preactattr_ || (out.__preactattr_ = {}), vchildren = vnode.children;
-        if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && null != fc && void 0 !== fc.splitText && null == fc.nextSibling) {
-            if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];
-        } else if (vchildren && vchildren.length || null != fc) innerDiffNode(out, vchildren, context, mountAll, hydrating || null != props.dangerouslySetInnerHTML);
-        diffAttributes(out, vnode.attributes, props);
-        isSvgMode = prevSvgMode;
-        return out;
-    }
-    function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {
-        var j, c, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0;
-        if (0 !== len) for (var i = 0; i < len; i++) {
-            var _child = originalChildren[i], props = _child.__preactattr_, key = vlen && props ? _child._component ? _child._component.__k : props.key : null;
-            if (null != key) {
-                keyedLen++;
-                keyed[key] = _child;
-            } else if (props || (void 0 !== _child.splitText ? isHydrating ? _child.nodeValue.trim() : !0 : isHydrating)) children[childrenLen++] = _child;
-        }
-        if (0 !== vlen) for (var i = 0; i < vlen; i++) {
-            vchild = vchildren[i];
-            child = null;
-            var key = vchild.key;
-            if (null != key) {
-                if (keyedLen && void 0 !== keyed[key]) {
-                    child = keyed[key];
-                    keyed[key] = void 0;
-                    keyedLen--;
-                }
-            } else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) if (void 0 !== children[j] && isSameNodeType(c = children[j], vchild, isHydrating)) {
-                child = c;
-                children[j] = void 0;
-                if (j === childrenLen - 1) childrenLen--;
-                if (j === min) min++;
-                break;
-            }
-            child = idiff(child, vchild, context, mountAll);
-            if (child && child !== dom) if (i >= len) dom.appendChild(child); else if (child !== originalChildren[i]) if (child === originalChildren[i + 1]) removeNode(originalChildren[i]); else dom.insertBefore(child, originalChildren[i] || null);
-        }
-        if (keyedLen) for (var i in keyed) if (void 0 !== keyed[i]) recollectNodeTree(keyed[i], !1);
-        while (min <= childrenLen) if (void 0 !== (child = children[childrenLen--])) recollectNodeTree(child, !1);
-    }
-    function recollectNodeTree(node, unmountOnly) {
-        var component = node._component;
-        if (component) unmountComponent(component); else {
-            if (null != node.__preactattr_ && node.__preactattr_.ref) node.__preactattr_.ref(null);
-            if (unmountOnly === !1 || null == node.__preactattr_) removeNode(node);
-            removeChildren(node);
-        }
-    }
-    function removeChildren(node) {
-        node = node.lastChild;
-        while (node) {
-            var next = node.previousSibling;
-            recollectNodeTree(node, !0);
-            node = next;
-        }
-    }
-    function diffAttributes(dom, attrs, old) {
-        var name;
-        for (name in old) if ((!attrs || null == attrs[name]) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);
-        for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);
-    }
-    function collectComponent(component) {
-        var name = component.constructor.name;
-        (components[name] || (components[name] = [])).push(component);
-    }
-    function createComponent(Ctor, props, context) {
-        var inst, list = components[Ctor.name];
-        if (Ctor.prototype && Ctor.prototype.render) {
-            inst = new Ctor(props, context);
-            Component.call(inst, props, context);
-        } else {
-            inst = new Component(props, context);
-            inst.constructor = Ctor;
-            inst.render = doRender;
-        }
-        if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {
-            inst.__b = list[i].__b;
-            list.splice(i, 1);
-            break;
-        }
-        return inst;
-    }
-    function doRender(props, state, context) {
-        return this.constructor(props, context);
-    }
-    function setComponentProps(component, props, opts, context, mountAll) {
-        if (!component.__x) {
-            component.__x = !0;
-            if (component.__r = props.ref) delete props.ref;
-            if (component.__k = props.key) delete props.key;
-            if (!component.base || mountAll) {
-                if (component.componentWillMount) component.componentWillMount();
-            } else if (component.componentWillReceiveProps) component.componentWillReceiveProps(props, context);
-            if (context && context !== component.context) {
-                if (!component.__c) component.__c = component.context;
-                component.context = context;
-            }
-            if (!component.__p) component.__p = component.props;
-            component.props = props;
-            component.__x = !1;
-            if (0 !== opts) if (1 === opts || options.syncComponentUpdates !== !1 || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);
-            if (component.__r) component.__r(component);
-        }
-    }
-    function renderComponent(component, opts, mountAll, isChild) {
-        if (!component.__x) {
-            var rendered, inst, cbase, props = component.props, state = component.state, context = component.context, previousProps = component.__p || props, previousState = component.__s || state, previousContext = component.__c || context, isUpdate = component.base, nextBase = component.__b, initialBase = isUpdate || nextBase, initialChildComponent = component._component, skip = !1;
-            if (isUpdate) {
-                component.props = previousProps;
-                component.state = previousState;
-                component.context = previousContext;
-                if (2 !== opts && component.shouldComponentUpdate && component.shouldComponentUpdate(props, state, context) === !1) skip = !0; else if (component.componentWillUpdate) component.componentWillUpdate(props, state, context);
-                component.props = props;
-                component.state = state;
-                component.context = context;
-            }
-            component.__p = component.__s = component.__c = component.__b = null;
-            component.__d = !1;
-            if (!skip) {
-                rendered = component.render(props, state, context);
-                if (component.getChildContext) context = extend(extend({}, context), component.getChildContext());
-                var toUnmount, base, childComponent = rendered && rendered.nodeName;
-                if ('function' == typeof childComponent) {
-                    var childProps = getNodeProps(rendered);
-                    inst = initialChildComponent;
-                    if (inst && inst.constructor === childComponent && childProps.key == inst.__k) setComponentProps(inst, childProps, 1, context, !1); else {
-                        toUnmount = inst;
-                        component._component = inst = createComponent(childComponent, childProps, context);
-                        inst.__b = inst.__b || nextBase;
-                        inst.__u = component;
-                        setComponentProps(inst, childProps, 0, context, !1);
-                        renderComponent(inst, 1, mountAll, !0);
-                    }
-                    base = inst.base;
-                } else {
-                    cbase = initialBase;
-                    toUnmount = initialChildComponent;
-                    if (toUnmount) cbase = component._component = null;
-                    if (initialBase || 1 === opts) {
-                        if (cbase) cbase._component = null;
-                        base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);
-                    }
-                }
-                if (initialBase && base !== initialBase && inst !== initialChildComponent) {
-                    var baseParent = initialBase.parentNode;
-                    if (baseParent && base !== baseParent) {
-                        baseParent.replaceChild(base, initialBase);
-                        if (!toUnmount) {
-                            initialBase._component = null;
-                            recollectNodeTree(initialBase, !1);
-                        }
-                    }
-                }
-                if (toUnmount) unmountComponent(toUnmount);
-                component.base = base;
-                if (base && !isChild) {
-                    var componentRef = component, t = component;
-                    while (t = t.__u) (componentRef = t).base = base;
-                    base._component = componentRef;
-                    base._componentConstructor = componentRef.constructor;
-                }
-            }
-            if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {
-                flushMounts();
-                if (component.componentDidUpdate) component.componentDidUpdate(previousProps, previousState, previousContext);
-                if (options.afterUpdate) options.afterUpdate(component);
-            }
-            if (null != component.__h) while (component.__h.length) component.__h.pop().call(component);
-            if (!diffLevel && !isChild) flushMounts();
-        }
-    }
-    function buildComponentFromVNode(dom, vnode, context, mountAll) {
-        var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);
-        while (c && !isOwner && (c = c.__u)) isOwner = c.constructor === vnode.nodeName;
-        if (c && isOwner && (!mountAll || c._component)) {
-            setComponentProps(c, props, 3, context, mountAll);
-            dom = c.base;
-        } else {
-            if (originalComponent && !isDirectOwner) {
-                unmountComponent(originalComponent);
-                dom = oldDom = null;
-            }
-            c = createComponent(vnode.nodeName, props, context);
-            if (dom && !c.__b) {
-                c.__b = dom;
-                oldDom = null;
-            }
-            setComponentProps(c, props, 1, context, mountAll);
-            dom = c.base;
-            if (oldDom && dom !== oldDom) {
-                oldDom._component = null;
-                recollectNodeTree(oldDom, !1);
-            }
-        }
-        return dom;
-    }
-    function unmountComponent(component) {
-        if (options.beforeUnmount) options.beforeUnmount(component);
-        var base = component.base;
-        component.__x = !0;
-        if (component.componentWillUnmount) component.componentWillUnmount();
-        component.base = null;
-        var inner = component._component;
-        if (inner) unmountComponent(inner); else if (base) {
-            if (base.__preactattr_ && base.__preactattr_.ref) base.__preactattr_.ref(null);
-            component.__b = base;
-            removeNode(base);
-            collectComponent(component);
-            removeChildren(base);
-        }
-        if (component.__r) component.__r(null);
-    }
-    function Component(props, context) {
-        this.__d = !0;
-        this.context = context;
-        this.props = props;
-        this.state = this.state || {};
-    }
-    function render(vnode, parent, merge) {
-        return diff(merge, vnode, {}, !1, parent, !1);
-    }
-    var options = {};
-    var stack = [];
-    var EMPTY_CHILDREN = [];
-    var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;
-    var items = [];
-    var mounts = [];
-    var diffLevel = 0;
-    var isSvgMode = !1;
-    var hydrating = !1;
-    var components = {};
-    extend(Component.prototype, {
-        setState: function(state, callback) {
-            var s = this.state;
-            if (!this.__s) this.__s = extend({}, s);
-            extend(s, 'function' == typeof state ? state(s, this.props) : state);
-            if (callback) (this.__h = this.__h || []).push(callback);
-            enqueueRender(this);
-        },
-        forceUpdate: function(callback) {
-            if (callback) (this.__h = this.__h || []).push(callback);
-            renderComponent(this, 2);
-        },
-        render: function() {}
-    });
-    var preact = {
-        h: h,
-        createElement: h,
-        cloneElement: cloneElement,
-        Component: Component,
-        render: render,
-        rerender: rerender,
-        options: options
-    };
-    if (true) module.exports = preact; else self.preact = preact;
-}();
-//# sourceMappingURL=preact.js.map
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-// This file can be required in Browserify and Node.js for automatic polyfill
-// To use it:  require('es6-promise/auto');
-
-module.exports = __webpack_require__(95).polyfill();
-
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(process, global) {var require;/*!
- * @overview es6-promise - a tiny implementation of Promises/A+.
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
- * @license   Licensed under MIT license
- *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
- * @version   4.1.1
- */
-
-(function (global, factory) {
-	 true ? module.exports = factory() :
-	typeof define === 'function' && define.amd ? define(factory) :
-	(global.ES6Promise = factory());
-}(this, (function () { 'use strict';
-
-function objectOrFunction(x) {
-  var type = typeof x;
-  return x !== null && (type === 'object' || type === 'function');
-}
-
-function isFunction(x) {
-  return typeof x === 'function';
-}
-
-var _isArray = undefined;
-if (Array.isArray) {
-  _isArray = Array.isArray;
-} else {
-  _isArray = function (x) {
-    return Object.prototype.toString.call(x) === '[object Array]';
-  };
-}
-
-var isArray = _isArray;
-
-var len = 0;
-var vertxNext = undefined;
-var customSchedulerFn = undefined;
-
-var asap = function asap(callback, arg) {
-  queue[len] = callback;
-  queue[len + 1] = arg;
-  len += 2;
-  if (len === 2) {
-    // If len is 2, that means that we need to schedule an async flush.
-    // If additional callbacks are queued before the queue is flushed, they
-    // will be processed by this flush that we are scheduling.
-    if (customSchedulerFn) {
-      customSchedulerFn(flush);
-    } else {
-      scheduleFlush();
-    }
-  }
-};
-
-function setScheduler(scheduleFn) {
-  customSchedulerFn = scheduleFn;
-}
-
-function setAsap(asapFn) {
-  asap = asapFn;
-}
-
-var browserWindow = typeof window !== 'undefined' ? window : undefined;
-var browserGlobal = browserWindow || {};
-var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
-var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';
-
-// test for web worker but not in IE10
-var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';
-
-// node
-function useNextTick() {
-  // node version 0.10.x displays a deprecation warning when nextTick is used recursively
-  // see https://github.com/cujojs/when/issues/410 for details
-  return function () {
-    return process.nextTick(flush);
-  };
-}
-
-// vertx
-function useVertxTimer() {
-  if (typeof vertxNext !== 'undefined') {
-    return function () {
-      vertxNext(flush);
-    };
-  }
-
-  return useSetTimeout();
-}
-
-function useMutationObserver() {
-  var iterations = 0;
-  var observer = new BrowserMutationObserver(flush);
-  var node = document.createTextNode('');
-  observer.observe(node, { characterData: true });
-
-  return function () {
-    node.data = iterations = ++iterations % 2;
-  };
-}
-
-// web worker
-function useMessageChannel() {
-  var channel = new MessageChannel();
-  channel.port1.onmessage = flush;
-  return function () {
-    return channel.port2.postMessage(0);
-  };
-}
-
-function useSetTimeout() {
-  // Store setTimeout reference so es6-promise will be unaffected by
-  // other code modifying setTimeout (like sinon.useFakeTimers())
-  var globalSetTimeout = setTimeout;
-  return function () {
-    return globalSetTimeout(flush, 1);
-  };
-}
-
-var queue = new Array(1000);
-function flush() {
-  for (var i = 0; i < len; i += 2) {
-    var callback = queue[i];
-    var arg = queue[i + 1];
-
-    callback(arg);
-
-    queue[i] = undefined;
-    queue[i + 1] = undefined;
-  }
-
-  len = 0;
-}
-
-function attemptVertx() {
-  try {
-    var r = require;
-    var vertx = __webpack_require__(97);
-    vertxNext = vertx.runOnLoop || vertx.runOnContext;
-    return useVertxTimer();
-  } catch (e) {
-    return useSetTimeout();
-  }
-}
-
-var scheduleFlush = undefined;
-// Decide what async method to use to triggering processing of queued callbacks:
-if (isNode) {
-  scheduleFlush = useNextTick();
-} else if (BrowserMutationObserver) {
-  scheduleFlush = useMutationObserver();
-} else if (isWorker) {
-  scheduleFlush = useMessageChannel();
-} else if (browserWindow === undefined && "function" === 'function') {
-  scheduleFlush = attemptVertx();
-} else {
-  scheduleFlush = useSetTimeout();
-}
-
-function then(onFulfillment, onRejection) {
-  var _arguments = arguments;
-
-  var parent = this;
-
-  var child = new this.constructor(noop);
-
-  if (child[PROMISE_ID] === undefined) {
-    makePromise(child);
-  }
-
-  var _state = parent._state;
-
-  if (_state) {
-    (function () {
-      var callback = _arguments[_state - 1];
-      asap(function () {
-        return invokeCallback(_state, child, callback, parent._result);
-      });
-    })();
-  } else {
-    subscribe(parent, child, onFulfillment, onRejection);
-  }
-
-  return child;
-}
-
-/**
-  `Promise.resolve` returns a promise that will become resolved with the
-  passed `value`. It is shorthand for the following:
-
-  ```javascript
-  let promise = new Promise(function(resolve, reject){
-    resolve(1);
-  });
-
-  promise.then(function(value){
-    // value === 1
-  });
-  ```
-
-  Instead of writing the above, your code now simply becomes the following:
-
-  ```javascript
-  let promise = Promise.resolve(1);
-
-  promise.then(function(value){
-    // value === 1
-  });
-  ```
-
-  @method resolve
-  @static
-  @param {Any} value value that the returned promise will be resolved with
-  Useful for tooling.
-  @return {Promise} a promise that will become fulfilled with the given
-  `value`
-*/
-function resolve$1(object) {
-  /*jshint validthis:true */
-  var Constructor = this;
-
-  if (object && typeof object === 'object' && object.constructor === Constructor) {
-    return object;
-  }
-
-  var promise = new Constructor(noop);
-  resolve(promise, object);
-  return promise;
-}
-
-var PROMISE_ID = Math.random().toString(36).substring(16);
-
-function noop() {}
-
-var PENDING = void 0;
-var FULFILLED = 1;
-var REJECTED = 2;
-
-var GET_THEN_ERROR = new ErrorObject();
-
-function selfFulfillment() {
-  return new TypeError("You cannot resolve a promise with itself");
-}
-
-function cannotReturnOwn() {
-  return new TypeError('A promises callback cannot return that same promise.');
-}
-
-function getThen(promise) {
-  try {
-    return promise.then;
-  } catch (error) {
-    GET_THEN_ERROR.error = error;
-    return GET_THEN_ERROR;
-  }
-}
-
-function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {
-  try {
-    then$$1.call(value, fulfillmentHandler, rejectionHandler);
-  } catch (e) {
-    return e;
-  }
-}
-
-function handleForeignThenable(promise, thenable, then$$1) {
-  asap(function (promise) {
-    var sealed = false;
-    var error = tryThen(then$$1, thenable, function (value) {
-      if (sealed) {
-        return;
-      }
-      sealed = true;
-      if (thenable !== value) {
-        resolve(promise, value);
-      } else {
-        fulfill(promise, value);
-      }
-    }, function (reason) {
-      if (sealed) {
-        return;
-      }
-      sealed = true;
-
-      reject(promise, reason);
-    }, 'Settle: ' + (promise._label || ' unknown promise'));
-
-    if (!sealed && error) {
-      sealed = true;
-      reject(promise, error);
-    }
-  }, promise);
-}
-
-function handleOwnThenable(promise, thenable) {
-  if (thenable._state === FULFILLED) {
-    fulfill(promise, thenable._result);
-  } else if (thenable._state === REJECTED) {
-    reject(promise, thenable._result);
-  } else {
-    subscribe(thenable, undefined, function (value) {
-      return resolve(promise, value);
-    }, function (reason) {
-      return reject(promise, reason);
-    });
-  }
-}
-
-function handleMaybeThenable(promise, maybeThenable, then$$1) {
-  if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {
-    handleOwnThenable(promise, maybeThenable);
-  } else {
-    if (then$$1 === GET_THEN_ERROR) {
-      reject(promise, GET_THEN_ERROR.error);
-      GET_THEN_ERROR.error = null;
-    } else if (then$$1 === undefined) {
-      fulfill(promise, maybeThenable);
-    } else if (isFunction(then$$1)) {
-      handleForeignThenable(promise, maybeThenable, then$$1);
-    } else {
-      fulfill(promise, maybeThenable);
-    }
-  }
-}
-
-function resolve(promise, value) {
-  if (promise === value) {
-    reject(promise, selfFulfillment());
-  } else if (objectOrFunction(value)) {
-    handleMaybeThenable(promise, value, getThen(value));
-  } else {
-    fulfill(promise, value);
-  }
-}
-
-function publishRejection(promise) {
-  if (promise._onerror) {
-    promise._onerror(promise._result);
-  }
-
-  publish(promise);
-}
-
-function fulfill(promise, value) {
-  if (promise._state !== PENDING) {
-    return;
-  }
-
-  promise._result = value;
-  promise._state = FULFILLED;
-
-  if (promise._subscribers.length !== 0) {
-    asap(publish, promise);
-  }
-}
-
-function reject(promise, reason) {
-  if (promise._state !== PENDING) {
-    return;
-  }
-  promise._state = REJECTED;
-  promise._result = reason;
-
-  asap(publishRejection, promise);
-}
-
-function subscribe(parent, child, onFulfillment, onRejection) {
-  var _subscribers = parent._subscribers;
-  var length = _subscribers.length;
-
-  parent._onerror = null;
-
-  _subscribers[length] = child;
-  _subscribers[length + FULFILLED] = onFulfillment;
-  _subscribers[length + REJECTED] = onRejection;
-
-  if (length === 0 && parent._state) {
-    asap(publish, parent);
-  }
-}
-
-function publish(promise) {
-  var subscribers = promise._subscribers;
-  var settled = promise._state;
-
-  if (subscribers.length === 0) {
-    return;
-  }
-
-  var child = undefined,
-      callback = undefined,
-      detail = promise._result;
-
-  for (var i = 0; i < subscribers.length; i += 3) {
-    child = subscribers[i];
-    callback = subscribers[i + settled];
-
-    if (child) {
-      invokeCallback(settled, child, callback, detail);
-    } else {
-      callback(detail);
-    }
-  }
-
-  promise._subscribers.length = 0;
-}
-
-function ErrorObject() {
-  this.error = null;
-}
-
-var TRY_CATCH_ERROR = new ErrorObject();
-
-function tryCatch(callback, detail) {
-  try {
-    return callback(detail);
-  } catch (e) {
-    TRY_CATCH_ERROR.error = e;
-    return TRY_CATCH_ERROR;
-  }
-}
-
-function invokeCallback(settled, promise, callback, detail) {
-  var hasCallback = isFunction(callback),
-      value = undefined,
-      error = undefined,
-      succeeded = undefined,
-      failed = undefined;
-
-  if (hasCallback) {
-    value = tryCatch(callback, detail);
-
-    if (value === TRY_CATCH_ERROR) {
-      failed = true;
-      error = value.error;
-      value.error = null;
-    } else {
-      succeeded = true;
-    }
-
-    if (promise === value) {
-      reject(promise, cannotReturnOwn());
-      return;
-    }
-  } else {
-    value = detail;
-    succeeded = true;
-  }
-
-  if (promise._state !== PENDING) {
-    // noop
-  } else if (hasCallback && succeeded) {
-      resolve(promise, value);
-    } else if (failed) {
-      reject(promise, error);
-    } else if (settled === FULFILLED) {
-      fulfill(promise, value);
-    } else if (settled === REJECTED) {
-      reject(promise, value);
-    }
-}
-
-function initializePromise(promise, resolver) {
-  try {
-    resolver(function resolvePromise(value) {
-      resolve(promise, value);
-    }, function rejectPromise(reason) {
-      reject(promise, reason);
-    });
-  } catch (e) {
-    reject(promise, e);
-  }
-}
-
-var id = 0;
-function nextId() {
-  return id++;
-}
-
-function makePromise(promise) {
-  promise[PROMISE_ID] = id++;
-  promise._state = undefined;
-  promise._result = undefined;
-  promise._subscribers = [];
-}
-
-function Enumerator$1(Constructor, input) {
-  this._instanceConstructor = Constructor;
-  this.promise = new Constructor(noop);
-
-  if (!this.promise[PROMISE_ID]) {
-    makePromise(this.promise);
-  }
-
-  if (isArray(input)) {
-    this.length = input.length;
-    this._remaining = input.length;
-
-    this._result = new Array(this.length);
-
-    if (this.length === 0) {
-      fulfill(this.promise, this._result);
-    } else {
-      this.length = this.length || 0;
-      this._enumerate(input);
-      if (this._remaining === 0) {
-        fulfill(this.promise, this._result);
-      }
-    }
-  } else {
-    reject(this.promise, validationError());
-  }
-}
-
-function validationError() {
-  return new Error('Array Methods must be provided an Array');
-}
-
-Enumerator$1.prototype._enumerate = function (input) {
-  for (var i = 0; this._state === PENDING && i < input.length; i++) {
-    this._eachEntry(input[i], i);
-  }
-};
-
-Enumerator$1.prototype._eachEntry = function (entry, i) {
-  var c = this._instanceConstructor;
-  var resolve$$1 = c.resolve;
-
-  if (resolve$$1 === resolve$1) {
-    var _then = getThen(entry);
-
-    if (_then === then && entry._state !== PENDING) {
-      this._settledAt(entry._state, i, entry._result);
-    } else if (typeof _then !== 'function') {
-      this._remaining--;
-      this._result[i] = entry;
-    } else if (c === Promise$2) {
-      var promise = new c(noop);
-      handleMaybeThenable(promise, entry, _then);
-      this._willSettleAt(promise, i);
-    } else {
-      this._willSettleAt(new c(function (resolve$$1) {
-        return resolve$$1(entry);
-      }), i);
-    }
-  } else {
-    this._willSettleAt(resolve$$1(entry), i);
-  }
-};
-
-Enumerator$1.prototype._settledAt = function (state, i, value) {
-  var promise = this.promise;
-
-  if (promise._state === PENDING) {
-    this._remaining--;
-
-    if (state === REJECTED) {
-      reject(promise, value);
-    } else {
-      this._result[i] = value;
-    }
-  }
-
-  if (this._remaining === 0) {
-    fulfill(promise, this._result);
-  }
-};
-
-Enumerator$1.prototype._willSettleAt = function (promise, i) {
-  var enumerator = this;
-
-  subscribe(promise, undefined, function (value) {
-    return enumerator._settledAt(FULFILLED, i, value);
-  }, function (reason) {
-    return enumerator._settledAt(REJECTED, i, reason);
-  });
-};
-
-/**
-  `Promise.all` accepts an array of promises, and returns a new promise which
-  is fulfilled with an array of fulfillment values for the passed promises, or
-  rejected with the reason of the first passed promise to be rejected. It casts all
-  elements of the passed iterable to promises as it runs this algorithm.
-
-  Example:
-
-  ```javascript
-  let promise1 = resolve(1);
-  let promise2 = resolve(2);
-  let promise3 = resolve(3);
-  let promises = [ promise1, promise2, promise3 ];
-
-  Promise.all(promises).then(function(array){
-    // The array here would be [ 1, 2, 3 ];
-  });
-  ```
-
-  If any of the `promises` given to `all` are rejected, the first promise
-  that is rejected will be given as an argument to the returned promises's
-  rejection handler. For example:
-
-  Example:
-
-  ```javascript
-  let promise1 = resolve(1);
-  let promise2 = reject(new Error("2"));
-  let promise3 = reject(new Error("3"));
-  let promises = [ promise1, promise2, promise3 ];
-
-  Promise.all(promises).then(function(array){
-    // Code here never runs because there are rejected promises!
-  }, function(error) {
-    // error.message === "2"
-  });
-  ```
-
-  @method all
-  @static
-  @param {Array} entries array of promises
-  @param {String} label optional string for labeling the promise.
-  Useful for tooling.
-  @return {Promise} promise that is fulfilled when all `promises` have been
-  fulfilled, or rejected if any of them become rejected.
-  @static
-*/
-function all$1(entries) {
-  return new Enumerator$1(this, entries).promise;
-}
-
-/**
-  `Promise.race` returns a new promise which is settled in the same way as the
-  first passed promise to settle.
-
-  Example:
-
-  ```javascript
-  let promise1 = new Promise(function(resolve, reject){
-    setTimeout(function(){
-      resolve('promise 1');
-    }, 200);
-  });
-
-  let promise2 = new Promise(function(resolve, reject){
-    setTimeout(function(){
-      resolve('promise 2');
-    }, 100);
-  });
-
-  Promise.race([promise1, promise2]).then(function(result){
-    // result === 'promise 2' because it was resolved before promise1
-    // was resolved.
-  });
-  ```
-
-  `Promise.race` is deterministic in that only the state of the first
-  settled promise matters. For example, even if other promises given to the
-  `promises` array argument are resolved, but the first settled promise has
-  become rejected before the other promises became fulfilled, the returned
-  promise will become rejected:
-
-  ```javascript
-  let promise1 = new Promise(function(resolve, reject){
-    setTimeout(function(){
-      resolve('promise 1');
-    }, 200);
-  });
-
-  let promise2 = new Promise(function(resolve, reject){
-    setTimeout(function(){
-      reject(new Error('promise 2'));
-    }, 100);
-  });
-
-  Promise.race([promise1, promise2]).then(function(result){
-    // Code here never runs
-  }, function(reason){
-    // reason.message === 'promise 2' because promise 2 became rejected before
-    // promise 1 became fulfilled
-  });
-  ```
-
-  An example real-world use case is implementing timeouts:
-
-  ```javascript
-  Promise.race([ajax('foo.json'), timeout(5000)])
-  ```
-
-  @method race
-  @static
-  @param {Array} promises array of promises to observe
-  Useful for tooling.
-  @return {Promise} a promise which settles in the same way as the first passed
-  promise to settle.
-*/
-function race$1(entries) {
-  /*jshint validthis:true */
-  var Constructor = this;
-
-  if (!isArray(entries)) {
-    return new Constructor(function (_, reject) {
-      return reject(new TypeError('You must pass an array to race.'));
-    });
-  } else {
-    return new Constructor(function (resolve, reject) {
-      var length = entries.length;
-      for (var i = 0; i < length; i++) {
-        Constructor.resolve(entries[i]).then(resolve, reject);
-      }
-    });
-  }
-}
-
-/**
-  `Promise.reject` returns a promise rejected with the passed `reason`.
-  It is shorthand for the following:
-
-  ```javascript
-  let promise = new Promise(function(resolve, reject){
-    reject(new Error('WHOOPS'));
-  });
-
-  promise.then(function(value){
-    // Code here doesn't run because the promise is rejected!
-  }, function(reason){
-    // reason.message === 'WHOOPS'
-  });
-  ```
-
-  Instead of writing the above, your code now simply becomes the following:
-
-  ```javascript
-  let promise = Promise.reject(new Error('WHOOPS'));
-
-  promise.then(function(value){
-    // Code here doesn't run because the promise is rejected!
-  }, function(reason){
-    // reason.message === 'WHOOPS'
-  });
-  ```
-
-  @method reject
-  @static
-  @param {Any} reason value that the returned promise will be rejected with.
-  Useful for tooling.
-  @return {Promise} a promise rejected with the given `reason`.
-*/
-function reject$1(reason) {
-  /*jshint validthis:true */
-  var Constructor = this;
-  var promise = new Constructor(noop);
-  reject(promise, reason);
-  return promise;
-}
-
-function needsResolver() {
-  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
-}
-
-function needsNew() {
-  throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
-}
-
-/**
-  Promise objects represent the eventual result of an asynchronous operation. The
-  primary way of interacting with a promise is through its `then` method, which
-  registers callbacks to receive either a promise's eventual value or the reason
-  why the promise cannot be fulfilled.
-
-  Terminology
-  -----------
-
-  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.
-  - `thenable` is an object or function that defines a `then` method.
-  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).
-  - `exception` is a value that is thrown using the throw statement.
-  - `reason` is a value that indicates why a promise was rejected.
-  - `settled` the final resting state of a promise, fulfilled or rejected.
-
-  A promise can be in one of three states: pending, fulfilled, or rejected.
-
-  Promises that are fulfilled have a fulfillment value and are in the fulfilled
-  state.  Promises that are rejected have a rejection reason and are in the
-  rejected state.  A fulfillment value is never a thenable.
-
-  Promises can also be said to *resolve* a value.  If this value is also a
-  promise, then the original promise's settled state will match the value's
-  settled state.  So a promise that *resolves* a promise that rejects will
-  itself reject, and a promise that *resolves* a promise that fulfills will
-  itself fulfill.
-
-
-  Basic Usage:
-  ------------
-
-  ```js
-  let promise = new Promise(function(resolve, reject) {
-    // on success
-    resolve(value);
-
-    // on failure
-    reject(reason);
-  });
-
-  promise.then(function(value) {
-    // on fulfillment
-  }, function(reason) {
-    // on rejection
-  });
-  ```
-
-  Advanced Usage:
-  ---------------
-
-  Promises shine when abstracting away asynchronous interactions such as
-  `XMLHttpRequest`s.
-
-  ```js
-  function getJSON(url) {
-    return new Promise(function(resolve, reject){
-      let xhr = new XMLHttpRequest();
-
-      xhr.open('GET', url);
-      xhr.onreadystatechange = handler;
-      xhr.responseType = 'json';
-      xhr.setRequestHeader('Accept', 'application/json');
-      xhr.send();
-
-      function handler() {
-        if (this.readyState === this.DONE) {
-          if (this.status === 200) {
-            resolve(this.response);
-          } else {
-            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));
-          }
-        }
-      };
-    });
-  }
-
-  getJSON('/posts.json').then(function(json) {
-    // on fulfillment
-  }, function(reason) {
-    // on rejection
-  });
-  ```
-
-  Unlike callbacks, promises are great composable primitives.
-
-  ```js
-  Promise.all([
-    getJSON('/posts'),
-    getJSON('/comments')
-  ]).then(function(values){
-    values[0] // => postsJSON
-    values[1] // => commentsJSON
-
-    return values;
-  });
-  ```
-
-  @class Promise
-  @param {function} resolver
-  Useful for tooling.
-  @constructor
-*/
-function Promise$2(resolver) {
-  this[PROMISE_ID] = nextId();
-  this._result = this._state = undefined;
-  this._subscribers = [];
-
-  if (noop !== resolver) {
-    typeof resolver !== 'function' && needsResolver();
-    this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();
-  }
-}
-
-Promise$2.all = all$1;
-Promise$2.race = race$1;
-Promise$2.resolve = resolve$1;
-Promise$2.reject = reject$1;
-Promise$2._setScheduler = setScheduler;
-Promise$2._setAsap = setAsap;
-Promise$2._asap = asap;
-
-Promise$2.prototype = {
-  constructor: Promise$2,
-
-  /**
-    The primary way of interacting with a promise is through its `then` method,
-    which registers callbacks to receive either a promise's eventual value or the
-    reason why the promise cannot be fulfilled.
-  
-    ```js
-    findUser().then(function(user){
-      // user is available
-    }, function(reason){
-      // user is unavailable, and you are given the reason why
-    });
-    ```
-  
-    Chaining
-    --------
-  
-    The return value of `then` is itself a promise.  This second, 'downstream'
-    promise is resolved with the return value of the first promise's fulfillment
-    or rejection handler, or rejected if the handler throws an exception.
-  
-    ```js
-    findUser().then(function (user) {
-      return user.name;
-    }, function (reason) {
-      return 'default name';
-    }).then(function (userName) {
-      // If `findUser` fulfilled, `userName` will be the user's name, otherwise it
-      // will be `'default name'`
-    });
-  
-    findUser().then(function (user) {
-      throw new Error('Found user, but still unhappy');
-    }, function (reason) {
-      throw new Error('`findUser` rejected and we're unhappy');
-    }).then(function (value) {
-      // never reached
-    }, function (reason) {
-      // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.
-      // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.
-    });
-    ```
-    If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.
-  
-    ```js
-    findUser().then(function (user) {
-      throw new PedagogicalException('Upstream error');
-    }).then(function (value) {
-      // never reached
-    }).then(function (value) {
-      // never reached
-    }, function (reason) {
-      // The `PedgagocialException` is propagated all the way down to here
-    });
-    ```
-  
-    Assimilation
-    ------------
-  
-    Sometimes the value you want to propagate to a downstream promise can only be
-    retrieved asynchronously. This can be achieved by returning a promise in the
-    fulfillment or rejection handler. The downstream promise will then be pending
-    until the returned promise is settled. This is called *assimilation*.
-  
-    ```js
-    findUser().then(function (user) {
-      return findCommentsByAuthor(user);
-    }).then(function (comments) {
-      // The user's comments are now available
-    });
-    ```
-  
-    If the assimliated promise rejects, then the downstream promise will also reject.
-  
-    ```js
-    findUser().then(function (user) {
-      return findCommentsByAuthor(user);
-    }).then(function (comments) {
-      // If `findCommentsByAuthor` fulfills, we'll have the value here
-    }, function (reason) {
-      // If `findCommentsByAuthor` rejects, we'll have the reason here
-    });
-    ```
-  
-    Simple Example
-    --------------
-  
-    Synchronous Example
-  
-    ```javascript
-    let result;
-  
-    try {
-      result = findResult();
-      // success
-    } catch(reason) {
-      // failure
-    }
-    ```
-  
-    Errback Example
-  
-    ```js
-    findResult(function(result, err){
-      if (err) {
-        // failure
-      } else {
-        // success
-      }
-    });
-    ```
-  
-    Promise Example;
-  
-    ```javascript
-    findResult().then(function(result){
-      // success
-    }, function(reason){
-      // failure
-    });
-    ```
-  
-    Advanced Example
-    --------------
-  
-    Synchronous Example
-  
-    ```javascript
-    let author, books;
-  
-    try {
-      author = findAuthor();
-      books  = findBooksByAuthor(author);
-      // success
-    } catch(reason) {
-      // failure
-    }
-    ```
-  
-    Errback Example
-  
-    ```js
-  
-    function foundBooks(books) {
-  
-    }
-  
-    function failure(reason) {
-  
-    }
-  
-    findAuthor(function(author, err){
-      if (err) {
-        failure(err);
-        // failure
-      } else {
-        try {
-          findBoooksByAuthor(author, function(books, err) {
-            if (err) {
-              failure(err);
-            } else {
-              try {
-                foundBooks(books);
-              } catch(reason) {
-                failure(reason);
-              }
-            }
-          });
-        } catch(error) {
-          failure(err);
-        }
-        // success
-      }
-    });
-    ```
-  
-    Promise Example;
-  
-    ```javascript
-    findAuthor().
-      then(findBooksByAuthor).
-      then(function(books){
-        // found books
-    }).catch(function(reason){
-      // something went wrong
-    });
-    ```
-  
-    @method then
-    @param {Function} onFulfilled
-    @param {Function} onRejected
-    Useful for tooling.
-    @return {Promise}
-  */
-  then: then,
-
-  /**
-    `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
-    as the catch block of a try/catch statement.
-  
-    ```js
-    function findAuthor(){
-      throw new Error('couldn't find that author');
-    }
-  
-    // synchronous
-    try {
-      findAuthor();
-    } catch(reason) {
-      // something went wrong
-    }
-  
-    // async with promises
-    findAuthor().catch(function(reason){
-      // something went wrong
-    });
-    ```
-  
-    @method catch
-    @param {Function} onRejection
-    Useful for tooling.
-    @return {Promise}
-  */
-  'catch': function _catch(onRejection) {
-    return this.then(null, onRejection);
-  }
-};
-
-/*global self*/
-function polyfill$1() {
-    var local = undefined;
-
-    if (typeof global !== 'undefined') {
-        local = global;
-    } else if (typeof self !== 'undefined') {
-        local = self;
-    } else {
-        try {
-            local = Function('return this')();
-        } catch (e) {
-            throw new Error('polyfill failed because global object is unavailable in this environment');
-        }
-    }
-
-    var P = local.Promise;
-
-    if (P) {
-        var promiseToString = null;
-        try {
-            promiseToString = Object.prototype.toString.call(P.resolve());
-        } catch (e) {
-            // silently ignored
-        }
-
-        if (promiseToString === '[object Promise]' && !P.cast) {
-            return;
-        }
-    }
-
-    local.Promise = Promise$2;
-}
-
-// Strange compat..
-Promise$2.polyfill = polyfill$1;
-Promise$2.Promise = Promise$2;
-
-return Promise$2;
-
-})));
-
-//# sourceMappingURL=es6-promise.map
-
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9), __webpack_require__(96)))
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports) {
-
-var g;
-
-// This works in non-strict mode
-g = (function() {
-	return this;
-})();
-
-try {
-	// This works if eval is allowed (see CSP)
-	g = g || Function("return this")() || (1,eval)("this");
-} catch(e) {
-	// This works if the window reference is available
-	if(typeof window === "object")
-		g = window;
-}
-
-// g can still be undefined, but nothing to do about it...
-// We return undefined, instead of nothing here, so it's
-// easier to handle this case. if(!global) { ...}
-
-module.exports = g;
-
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports) {
-
-/* (ignored) */
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _promise = __webpack_require__(99);
-
-var _promise2 = _interopRequireDefault(_promise);
-
-var _assign = __webpack_require__(119);
-
-var _assign2 = _interopRequireDefault(_assign);
-
-var _getPrototypeOf = __webpack_require__(64);
-
-var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
-
-var _classCallCheck2 = __webpack_require__(29);
-
-var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
-
-var _createClass2 = __webpack_require__(30);
-
-var _createClass3 = _interopRequireDefault(_createClass2);
-
-var _possibleConstructorReturn2 = __webpack_require__(66);
-
-var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
-
-var _inherits2 = __webpack_require__(70);
-
-var _inherits3 = _interopRequireDefault(_inherits2);
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _reactFlipMove = __webpack_require__(143);
-
-var _reactFlipMove2 = _interopRequireDefault(_reactFlipMove);
-
-var _autosize = __webpack_require__(150);
-
-var _autosize2 = _interopRequireDefault(_autosize);
-
-var _i18n = __webpack_require__(151);
-
-var _i18n2 = _interopRequireDefault(_i18n);
-
-__webpack_require__(160);
-
-var _util = __webpack_require__(71);
-
-var _avatar = __webpack_require__(80);
-
-var _avatar2 = _interopRequireDefault(_avatar);
-
-var _button = __webpack_require__(188);
-
-var _button2 = _interopRequireDefault(_button);
-
-var _action = __webpack_require__(189);
-
-var _action2 = _interopRequireDefault(_action);
-
-var _comment = __webpack_require__(190);
-
-var _comment2 = _interopRequireDefault(_comment);
-
-var _svg = __webpack_require__(81);
-
-var _svg2 = _interopRequireDefault(_svg);
-
-var _const = __webpack_require__(218);
-
-var _getComments = __webpack_require__(219);
-
-var _getComments2 = _interopRequireDefault(_getComments);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var GitalkComponent = function (_Component) {
-  (0, _inherits3.default)(GitalkComponent, _Component);
-
-  function GitalkComponent(props) {
-    (0, _classCallCheck3.default)(this, GitalkComponent);
-
-    var _this = (0, _possibleConstructorReturn3.default)(this, (GitalkComponent.__proto__ || (0, _getPrototypeOf2.default)(GitalkComponent)).call(this, props));
-
-    _this.state = {
-      user: null,
-      issue: null,
-      comments: [],
-      localComments: [],
-      comment: '',
-      page: 1,
-      pagerDirection: 'last',
-      cursor: null,
-      previewHtml: '',
-
-      isNoInit: false,
-      isIniting: true,
-      isCreating: false,
-      isLoading: false,
-      isLoadMore: false,
-      isLoadOver: false,
-      isIssueCreating: false,
-      isPopupVisible: false,
-      isInputFocused: false,
-      isPreview: false,
-
-      isOccurError: false,
-      errorMsg: ''
-    };
-
-    _this.getCommentsV3 = function (issue) {
-      var _this$options = _this.options,
-          clientID = _this$options.clientID,
-          clientSecret = _this$options.clientSecret,
-          perPage = _this$options.perPage;
-      var page = _this.state.page;
-
-
-      return _this.getIssue().then(function (issue) {
-        if (!issue) return;
-
-        return _util.axiosGithub.get(issue.comments_url, {
-          headers: {
-            Accept: 'application/vnd.github.v3.full+json'
-          },
-          auth: {
-            username: clientID,
-            password: clientSecret
-          },
-          params: {
-            per_page: perPage,
-            page: page
-          }
-        }).then(function (res) {
-          var _this$state = _this.state,
-              comments = _this$state.comments,
-              issue = _this$state.issue;
-
-          var isLoadOver = false;
-          var cs = comments.concat(res.data);
-          if (cs.length >= issue.comments || res.data.length < perPage) {
-            isLoadOver = true;
-          }
-          _this.setState({
-            comments: cs,
-            isLoadOver: isLoadOver,
-            page: page + 1
-          });
-          return cs;
-        });
-      });
-    };
-
-    _this.getRef = function (e) {
-      _this.publicBtnEL = e;
-    };
-
-    _this.reply = function (replyComment) {
-      return function () {
-        var comment = _this.state.comment;
-
-        var replyCommentBody = replyComment.body;
-        var replyCommentArray = replyCommentBody.split('\n');
-        replyCommentArray.unshift('@' + replyComment.user.login);
-        replyCommentArray = replyCommentArray.map(function (t) {
-          return '> ' + t;
-        });
-        replyCommentArray.push('');
-        replyCommentArray.push('');
-        if (comment) replyCommentArray.unshift('');
-        _this.setState({ comment: comment + replyCommentArray.join('\n') }, function () {
-          _autosize2.default.update(_this.commentEL);
-          _this.commentEL.focus();
-        });
-      };
-    };
-
-    _this.handlePopup = function (e) {
-      e.preventDefault();
-      e.stopPropagation();
-      var isVisible = !_this.state.isPopupVisible;
-      var hideHandle = function hideHandle(e1) {
-        if ((0, _util.hasClassInParent)(e1.target, 'gt-user', 'gt-popup')) {
-          return;
-        }
-        window.document.removeEventListener('click', hideHandle);
-        _this.setState({ isPopupVisible: false });
-      };
-      _this.setState({ isPopupVisible: isVisible });
-      if (isVisible) {
-        window.document.addEventListener('click', hideHandle);
-      } else {
-        window.document.removeEventListener('click', hideHandle);
-      }
-    };
-
-    _this.handleLogin = function () {
-      var comment = _this.state.comment;
-
-      window.localStorage.setItem(_const.GT_COMMENT, encodeURIComponent(comment));
-      window.location.href = _this.loginLink;
-    };
-
-    _this.handleIssueCreate = function () {
-      _this.setState({ isIssueCreating: true });
-      _this.createIssue().then(function (issue) {
-        _this.setState({
-          isIssueCreating: false,
-          isOccurError: false
-        });
-        return _this.getComments(issue);
-      }).catch(function (err) {
-        _this.setState({
-          isIssueCreating: false,
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      }).then(function (res) {
-        if (res) {
-          _this.setState({
-            isNoInit: false
-          });
-        }
-      });
-    };
-
-    _this.handleCommentCreate = function (e) {
-      if (!_this.state.comment.length) {
-        e && e.preventDefault();
-        _this.commentEL.focus();
-        return;
-      }
-      _this.setState(function (state) {
-        if (state.isCreating) return;
-
-        _this.createComment().then(function () {
-          return _this.setState({
-            isCreating: false,
-            isOccurError: false
-          });
-        }).catch(function (err) {
-          _this.setState({
-            isCreating: false,
-            isOccurError: true,
-            errorMsg: (0, _util.formatErrorMsg)(err)
-          });
-        });
-        return { isCreating: true };
-      });
-    };
-
-    _this.handleCommentPreview = function (e) {
-      _this.setState({
-        isPreview: !_this.state.isPreview
-      });
-
-      _util.axiosGithub.post('/markdown', {
-        text: _this.state.comment
-      }, {
-        headers: _this.accessToken && { Authorization: 'token ' + _this.accessToken }
-      }).then(function (res) {
-        _this.setState({
-          previewHtml: res.data
-        });
-      }).catch(function (err) {
-        _this.setState({
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      });
-    };
-
-    _this.handleCommentLoad = function () {
-      var _this$state2 = _this.state,
-          issue = _this$state2.issue,
-          isLoadMore = _this$state2.isLoadMore;
-
-      if (isLoadMore) return;
-      _this.setState({ isLoadMore: true });
-      _this.getComments(issue).then(function () {
-        return _this.setState({ isLoadMore: false });
-      });
-    };
-
-    _this.handleCommentChange = function (e) {
-      return _this.setState({ comment: e.target.value });
-    };
-
-    _this.handleLogout = function () {
-      _this.logout();
-      window.location.reload();
-    };
-
-    _this.handleCommentFocus = function (e) {
-      var distractionFreeMode = _this.options.distractionFreeMode;
-
-      if (!distractionFreeMode) return e.preventDefault();
-      _this.setState({ isInputFocused: true });
-    };
-
-    _this.handleCommentBlur = function (e) {
-      var distractionFreeMode = _this.options.distractionFreeMode;
-
-      if (!distractionFreeMode) return e.preventDefault();
-      _this.setState({ isInputFocused: false });
-    };
-
-    _this.handleSort = function (direction) {
-      return function (e) {
-        _this.setState({ pagerDirection: direction });
-      };
-    };
-
-    _this.handleCommentKeyDown = function (e) {
-      var enableHotKey = _this.options.enableHotKey;
-
-      if (enableHotKey && (e.metaKey || e.ctrlKey) && e.keyCode === 13) {
-        _this.publicBtnEL && _this.publicBtnEL.focus();
-        _this.handleCommentCreate();
-      }
-    };
-
-    _this.options = (0, _assign2.default)({}, {
-      id: window.location.href,
-      number: -1,
-      labels: ['Gitalk'],
-      title: window.document.title,
-      body: '', // window.location.href + header.meta[description]
-      language: window.navigator.language || window.navigator.userLanguage,
-      perPage: 10,
-      pagerDirection: 'last', // last or first
-      createIssueManually: false,
-      distractionFreeMode: false,
-      proxy: 'https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token',
-      flipMoveOptions: {
-        staggerDelayBy: 150,
-        appearAnimation: 'accordionVertical',
-        enterAnimation: 'accordionVertical',
-        leaveAnimation: 'accordionVertical'
-      },
-      enableHotKey: true,
-
-      url: window.location.href,
-
-      defaultAuthor: {
-        avatarUrl: '//avatars1.githubusercontent.com/u/29697133?s=50',
-        login: 'null',
-        url: ''
-      },
-
-      updateCountCallback: null
-    }, props.options);
-
-    _this.state.pagerDirection = _this.options.pagerDirection;
-    var storedComment = window.localStorage.getItem(_const.GT_COMMENT);
-    if (storedComment) {
-      _this.state.comment = decodeURIComponent(storedComment);
-      window.localStorage.removeItem(_const.GT_COMMENT);
-    }
-
-    var query = (0, _util.queryParse)();
-    if (query.code) {
-      var code = query.code;
-      delete query.code;
-      var replacedUrl = '' + window.location.origin + window.location.pathname + (0, _util.queryStringify)(query) + window.location.hash;
-      history.replaceState(null, null, replacedUrl);
-      _this.options = (0, _assign2.default)({}, _this.options, {
-        url: replacedUrl,
-        id: replacedUrl
-      }, props.options);
-
-      _util.axiosJSON.post(_this.options.proxy, {
-        code: code,
-        client_id: _this.options.clientID,
-        client_secret: _this.options.clientSecret
-      }).then(function (res) {
-        if (res.data && res.data.access_token) {
-          _this.accessToken = res.data.access_token;
-
-          _this.getInit().then(function () {
-            return _this.setState({ isIniting: false });
-          }).catch(function (err) {
-            console.log('err:', err);
-            _this.setState({
-              isIniting: false,
-              isOccurError: true,
-              errorMsg: (0, _util.formatErrorMsg)(err)
-            });
-          });
-        } else {
-          // no access_token
-          console.log('res.data err:', res.data);
-          _this.setState({
-            isOccurError: true,
-            errorMsg: (0, _util.formatErrorMsg)(new Error('no access token'))
-          });
-        }
-      }).catch(function (err) {
-        console.log('err: ', err);
-        _this.setState({
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      });
-    } else {
-      _this.getInit().then(function () {
-        return _this.setState({ isIniting: false });
-      }).catch(function (err) {
-        console.log('err:', err);
-        _this.setState({
-          isIniting: false,
-          isOccurError: true,
-          errorMsg: (0, _util.formatErrorMsg)(err)
-        });
-      });
-    }
-
-    _this.i18n = (0, _i18n2.default)(_this.options.language);
-    return _this;
-  }
-
-  (0, _createClass3.default)(GitalkComponent, [{
-    key: 'componentDidUpdate',
-    value: function componentDidUpdate() {
-      this.commentEL && (0, _autosize2.default)(this.commentEL);
-    }
-  }, {
-    key: 'getInit',
-    value: function getInit() {
-      var _this2 = this;
-
-      return this.getUserInfo().then(function () {
-        return _this2.getIssue();
-      }).then(function (issue) {
-        return _this2.getComments(issue);
-      });
-    }
-  }, {
-    key: 'getUserInfo',
-    value: function getUserInfo() {
-      var _this3 = this;
-
-      return _util.axiosGithub.get('/user', {
-        headers: {
-          Authorization: 'token ' + this.accessToken
-        }
-      }).then(function (res) {
-        _this3.setState({ user: res.data });
-      }).catch(function (err) {
-        _this3.logout();
-      });
-    }
-  }, {
-    key: 'getIssueById',
-    value: function getIssueById() {
-      var _this4 = this;
-
-      var _options = this.options,
-          owner = _options.owner,
-          repo = _options.repo,
-          number = _options.number,
-          clientID = _options.clientID,
-          clientSecret = _options.clientSecret;
-
-      var getUrl = '/repos/' + owner + '/' + repo + '/issues/' + number;
-
-      return new _promise2.default(function (resolve, reject) {
-        _util.axiosGithub.get(getUrl, {
-          auth: {
-            username: clientID,
-            password: clientSecret
-          },
-          params: {
-            t: Date.now()
-          }
-        }).then(function (res) {
-          var issue = null;
-
-          if (res && res.data && res.data.number === number) {
-            issue = res.data;
-
-            _this4.setState({ issue: issue, isNoInit: false });
-          }
-          resolve(issue);
-        }).catch(function (err) {
-          // When the status code is 404, promise will be resolved with null
-          if (err.response.status === 404) resolve(null);
-          reject(err);
-        });
-      });
-    }
-  }, {
-    key: 'getIssueByLabels',
-    value: function getIssueByLabels() {
-      var _this5 = this;
-
-      var _options2 = this.options,
-          owner = _options2.owner,
-          repo = _options2.repo,
-          id = _options2.id,
-          labels = _options2.labels,
-          clientID = _options2.clientID,
-          clientSecret = _options2.clientSecret;
-
-
-      return _util.axiosGithub.get('/repos/' + owner + '/' + repo + '/issues', {
-        auth: {
-          username: clientID,
-          password: clientSecret
-        },
-        params: {
-          labels: labels.concat(id).join(','),
-          t: Date.now()
-        }
-      }).then(function (res) {
-        var createIssueManually = _this5.options.createIssueManually;
-
-        var isNoInit = false;
-        var issue = null;
-        if (!(res && res.data && res.data.length)) {
-          if (!createIssueManually && _this5.isAdmin) {
-            return _this5.createIssue();
-          }
-
-          isNoInit = true;
-        } else {
-          issue = res.data[0];
-        }
-        _this5.setState({ issue: issue, isNoInit: isNoInit });
-        return issue;
-      });
-    }
-  }, {
-    key: 'getIssue',
-    value: function getIssue() {
-      var _this6 = this;
-
-      var number = this.options.number;
-      var issue = this.state.issue;
-
-      if (issue) {
-        this.setState({ isNoInit: false });
-        return _promise2.default.resolve(issue);
-      }
-
-      if (typeof number === 'number' && number > 0) {
-        return this.getIssueById().then(function (resIssue) {
-          if (!resIssue) return _this6.getIssueByLabels();
-          return resIssue;
-        });
-      }
-      return this.getIssueByLabels();
-    }
-  }, {
-    key: 'createIssue',
-    value: function createIssue() {
-      var _this7 = this;
-
-      var _options3 = this.options,
-          owner = _options3.owner,
-          repo = _options3.repo,
-          title = _options3.title,
-          body = _options3.body,
-          id = _options3.id,
-          labels = _options3.labels,
-          url = _options3.url;
-
-      return _util.axiosGithub.post('/repos/' + owner + '/' + repo + '/issues', {
-        title: title,
-        labels: labels.concat(id),
-        body: body || url + ' \n\n ' + ((0, _util.getMetaContent)('description') || (0, _util.getMetaContent)('description', 'og:description') || '')
-      }, {
-        headers: {
-          Authorization: 'token ' + this.accessToken
-        }
-      }).then(function (res) {
-        _this7.setState({ issue: res.data });
-        return res.data;
-      });
-    }
-    // Get comments via v3 api, don't require login, but sorting feature is disable
-
-  }, {
-    key: 'getComments',
-    value: function getComments(issue) {
-      if (!issue) return;
-      // Get comments via v4 graphql api, login required and sorting feature is available
-      if (this.accessToken) return _getComments2.default.call(this, issue);
-      return this.getCommentsV3(issue);
-    }
-  }, {
-    key: 'createComment',
-    value: function createComment() {
-      var _this8 = this;
-
-      var _state = this.state,
-          comment = _state.comment,
-          localComments = _state.localComments,
-          comments = _state.comments;
-
-
-      return this.getIssue().then(function (issue) {
-        return _util.axiosGithub.post(issue.comments_url, {
-          body: comment
-        }, {
-          headers: {
-            Accept: 'application/vnd.github.v3.full+json',
-            Authorization: 'token ' + _this8.accessToken
-          }
-        });
-      }).then(function (res) {
-        _this8.setState({
-          comment: '',
-          comments: comments.concat(res.data),
-          localComments: localComments.concat(res.data)
-        });
-      });
-    }
-  }, {
-    key: 'logout',
-    value: function logout() {
-      this.setState({ user: null });
-      window.localStorage.removeItem(_const.GT_ACCESS_TOKEN);
-    }
-  }, {
-    key: 'like',
-    value: function like(comment) {
-      var _this9 = this;
-
-      var _options4 = this.options,
-          owner = _options4.owner,
-          repo = _options4.repo;
-      var user = this.state.user;
-      var comments = this.state.comments;
-
-
-      _util.axiosGithub.post('/repos/' + owner + '/' + repo + '/issues/comments/' + comment.id + '/reactions', {
-        content: 'heart'
-      }, {
-        headers: {
-          Authorization: 'token ' + this.accessToken,
-          Accept: 'application/vnd.github.squirrel-girl-preview'
-        }
-      }).then(function (res) {
-        comments = comments.map(function (c) {
-          if (c.id === comment.id) {
-            if (c.reactions) {
-              if (!~c.reactions.nodes.findIndex(function (n) {
-                return n.user.login === user.login;
-              })) {
-                c.reactions.totalCount += 1;
-              }
-            } else {
-              c.reactions = { nodes: [] };
-              c.reactions.totalCount = 1;
-            }
-
-            c.reactions.nodes.push(res.data);
-            c.reactions.viewerHasReacted = true;
-          }
-          return c;
-        });
-
-        _this9.setState({
-          comments: comments
-        });
-      });
-    }
-  }, {
-    key: 'unLike',
-    value: function unLike(comment) {
-      var _this10 = this;
-
-      var user = this.state.user;
-      var comments = this.state.comments;
-
-      // const {  user } = this.state
-      // let id
-      // comment.reactions.nodes.forEach(r => {
-      //   if (r.user.login = user.login) id = r.databaseId
-      // })
-      // return axiosGithub.delete(`/reactions/${id}`, {
-      //   headers: {
-      //     Authorization: `token ${this.accessToken}`,
-      //     Accept: 'application/vnd.github.squirrel-girl-preview'
-      //   }
-      // }).then(res => {
-      //   console.log('res:', res)
-      // })
-
-      var getQL = function getQL(id) {
-        return {
-          operationName: 'RemoveReaction',
-          query: '\n          mutation RemoveReaction{\n            removeReaction (input:{\n              subjectId: "' + id + '",\n              content: HEART\n            }) {\n              reaction {\n                content\n              }\n            }\n          }\n        '
-        };
-      };
-
-      _util.axiosGithub.post('/graphql', getQL(comment.gId), {
-        headers: {
-          Authorization: 'bearer ' + this.accessToken
-        }
-      }).then(function (res) {
-        if (res.data) {
-          comments = comments.map(function (c) {
-            if (c.id === comment.id) {
-              var index = c.reactions.nodes.findIndex(function (n) {
-                return n.user.login === user.login;
-              });
-              if (~index) {
-                c.reactions.totalCount -= 1;
-                c.reactions.nodes.splice(index, 1);
-              }
-              c.reactions.viewerHasReacted = false;
-            }
-            return c;
-          });
-
-          _this10.setState({
-            comments: comments
-          });
-        }
-      });
-    }
-  }, {
-    key: 'initing',
-    value: function initing() {
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-initing' },
-        _react2.default.createElement('i', { className: 'gt-loader' }),
-        _react2.default.createElement(
-          'p',
-          { className: 'gt-initing-text' },
-          this.i18n.t('init')
-        )
-      );
-    }
-  }, {
-    key: 'noInit',
-    value: function noInit() {
-      var _state2 = this.state,
-          user = _state2.user,
-          isIssueCreating = _state2.isIssueCreating;
-      var _options5 = this.options,
-          owner = _options5.owner,
-          repo = _options5.repo,
-          admin = _options5.admin;
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-no-init', key: 'no-init' },
-        _react2.default.createElement('p', { dangerouslySetInnerHTML: {
-            __html: this.i18n.t('no-found-related', {
-              link: '<a href="https://github.com/' + owner + '/' + repo + '/issues">Issues</a>'
-            })
-          } }),
-        _react2.default.createElement(
-          'p',
-          null,
-          this.i18n.t('please-contact', { user: [].concat(admin).map(function (u) {
-              return '@' + u;
-            }).join(' ') })
-        ),
-        this.isAdmin ? _react2.default.createElement(
-          'p',
-          null,
-          _react2.default.createElement(_button2.default, { onClick: this.handleIssueCreate, isLoading: isIssueCreating, text: this.i18n.t('init-issue') })
-        ) : null,
-        !user && _react2.default.createElement(_button2.default, { className: 'gt-btn-login', onClick: this.handleLogin, text: this.i18n.t('login-with-github') })
-      );
-    }
-  }, {
-    key: 'handleImageErrored',
-    value: function handleImageErrored(obj) {
-      obj.target.src = "https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg";
-    }
-  }, {
-    key: 'header',
-    value: function header() {
-      var _this11 = this;
-
-      var _state3 = this.state,
-          user = _state3.user,
-          comment = _state3.comment,
-          isCreating = _state3.isCreating,
-          previewHtml = _state3.previewHtml,
-          isPreview = _state3.isPreview;
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-header', key: 'header' },
-        user ? _react2.default.createElement(_avatar2.default, { className: 'gt-header-avatar', src: user.avatar_url, alt: user.login, onError: this.handleImageErrored.bind(this) }) : _react2.default.createElement(
-          'a',
-          { className: 'gt-avatar-github', onMouseDown: this.handleLogin },
-          _react2.default.createElement(_svg2.default, { className: 'gt-ico-github', name: 'github' })
-        ),
-        _react2.default.createElement(
-          'div',
-          { className: 'gt-header-comment' },
-          _react2.default.createElement('textarea', {
-            ref: function ref(t) {
-              _this11.commentEL = t;
-            },
-            className: 'gt-header-textarea ' + (isPreview ? 'hide' : ''),
-            value: comment,
-            onChange: this.handleCommentChange,
-            onFocus: this.handleCommentFocus,
-            onBlur: this.handleCommentBlur,
-            onKeyDown: this.handleCommentKeyDown,
-            placeholder: this.i18n.t('leave-a-comment')
-          }),
-          _react2.default.createElement('div', {
-            className: 'gt-header-preview markdown-body ' + (isPreview ? '' : 'hide'),
-            dangerouslySetInnerHTML: { __html: previewHtml }
-          }),
-          _react2.default.createElement(
-            'div',
-            { className: 'gt-header-controls' },
-            _react2.default.createElement(
-              'a',
-              { className: 'gt-header-controls-tip', href: 'https://guides.github.com/features/mastering-markdown/', target: '_blank' },
-              _react2.default.createElement(_svg2.default, { className: 'gt-ico-tip', name: 'tip', text: this.i18n.t('support-markdown') })
-            ),
-            user && _react2.default.createElement(_button2.default, {
-              getRef: this.getRef,
-              className: 'gt-btn-public',
-              onMouseDown: this.handleCommentCreate,
-              text: this.i18n.t('comment'),
-              isLoading: isCreating
-            }),
-            _react2.default.createElement(_button2.default, {
-              className: 'gt-btn-preview',
-              onMouseDown: this.handleCommentPreview,
-              text: isPreview ? this.i18n.t('edit') : this.i18n.t('preview')
-              // isLoading={isPreviewing}
-            }),
-            !user && _react2.default.createElement(_button2.default, { className: 'gt-btn-login', onMouseDown: this.handleLogin, text: this.i18n.t('login-with-github') })
-          )
-        )
-      );
-    }
-  }, {
-    key: 'comments',
-    value: function comments() {
-      var _this12 = this;
-
-      var _state4 = this.state,
-          user = _state4.user,
-          comments = _state4.comments,
-          isLoadOver = _state4.isLoadOver,
-          isLoadMore = _state4.isLoadMore,
-          pagerDirection = _state4.pagerDirection;
-      var _options6 = this.options,
-          language = _options6.language,
-          flipMoveOptions = _options6.flipMoveOptions,
-          admin = _options6.admin;
-
-      var totalComments = comments.concat([]);
-      if (pagerDirection === 'last' && this.accessToken) {
-        totalComments.reverse();
-      }
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-comments', key: 'comments' },
-        _react2.default.createElement(
-          _reactFlipMove2.default,
-          flipMoveOptions,
-          totalComments.map(function (c) {
-            return _react2.default.createElement(_comment2.default, {
-              comment: c,
-              key: c.id,
-              user: user,
-              language: language,
-              commentedText: _this12.i18n.t('commented'),
-              admin: admin,
-              replyCallback: _this12.reply(c),
-              likeCallback: c.reactions && c.reactions.viewerHasReacted ? _this12.unLike.bind(_this12, c) : _this12.like.bind(_this12, c)
-            });
-          })
-        ),
-        !totalComments.length && _react2.default.createElement(
-          'p',
-          { className: 'gt-comments-null' },
-          this.i18n.t('first-comment-person')
-        ),
-        !isLoadOver && totalComments.length ? _react2.default.createElement(
-          'div',
-          { className: 'gt-comments-controls' },
-          _react2.default.createElement(_button2.default, { className: 'gt-btn-loadmore', onClick: this.handleCommentLoad, isLoading: isLoadMore, text: this.i18n.t('load-more') })
-        ) : null
-      );
-    }
-  }, {
-    key: 'meta',
-    value: function meta() {
-      var _state5 = this.state,
-          user = _state5.user,
-          issue = _state5.issue,
-          isPopupVisible = _state5.isPopupVisible,
-          pagerDirection = _state5.pagerDirection,
-          localComments = _state5.localComments;
-
-      var cnt = (issue && issue.comments) + localComments.length;
-      var isDesc = pagerDirection === 'last';
-      var updateCountCallback = this.options.updateCountCallback;
-
-      // window.GITALK_COMMENTS_COUNT = cnt
-
-      if (updateCountCallback && {}.toString.call(updateCountCallback) === '[object Function]') {
-        try {
-          updateCountCallback(cnt);
-        } catch (err) {
-          console.log('An error occurred executing the updateCountCallback:', err);
-        }
-      }
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-meta', key: 'meta' },
-        _react2.default.createElement('span', { className: 'gt-counts', dangerouslySetInnerHTML: {
-            __html: this.i18n.t('counts', {
-              counts: '<a class="gt-link gt-link-counts" href="' + (issue && issue.html_url) + '" target="_blank">' + cnt + '</a>',
-              smart_count: cnt
-            })
-          } }),
-        isPopupVisible && _react2.default.createElement(
-          'div',
-          { className: 'gt-popup' },
-          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-sortasc' + (!isDesc ? ' is--active' : ''), onClick: this.handleSort('first'), text: this.i18n.t('sort-asc') }) : null,
-          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-sortdesc' + (isDesc ? ' is--active' : ''), onClick: this.handleSort('last'), text: this.i18n.t('sort-desc') }) : null,
-          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-logout', onClick: this.handleLogout, text: this.i18n.t('logout') }) : _react2.default.createElement(
-            'a',
-            { className: 'gt-action gt-action-login', onMouseDown: this.handleLogin },
-            this.i18n.t('login-with-github')
-          ),
-          _react2.default.createElement(
-            'div',
-            { className: 'gt-copyright' },
-            _react2.default.createElement(
-              'a',
-              { className: 'gt-link gt-link-project', href: 'https://github.com/gitalk/gitalk', target: '_blank' },
-              'Gitalk'
-            ),
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-version' },
-              _const.GT_VERSION
-            )
-          )
-        ),
-        _react2.default.createElement(
-          'div',
-          { className: 'gt-user' },
-          user ? _react2.default.createElement(
-            'div',
-            { className: isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner', onClick: this.handlePopup },
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-user-name' },
-              user.login
-            ),
-            _react2.default.createElement(_svg2.default, { className: 'gt-ico-arrdown', name: 'arrow_down' })
-          ) : _react2.default.createElement(
-            'div',
-            { className: isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner', onClick: this.handlePopup },
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-user-name' },
-              this.i18n.t('anonymous')
-            ),
-            _react2.default.createElement(_svg2.default, { className: 'gt-ico-arrdown', name: 'arrow_down' })
-          )
-        )
-      );
-    }
-  }, {
-    key: 'render',
-    value: function render() {
-      var _state6 = this.state,
-          isIniting = _state6.isIniting,
-          isNoInit = _state6.isNoInit,
-          isOccurError = _state6.isOccurError,
-          errorMsg = _state6.errorMsg,
-          isInputFocused = _state6.isInputFocused;
-
-      return _react2.default.createElement(
-        'div',
-        { className: 'gt-container' + (isInputFocused ? ' gt-input-focused' : '') },
-        isIniting && this.initing(),
-        !isIniting && (isNoInit ? [] : [this.meta()]),
-        isOccurError && _react2.default.createElement(
-          'div',
-          { className: 'gt-error' },
-          errorMsg
-        ),
-        !isIniting && (isNoInit ? [this.noInit()] : [this.header(), this.comments()])
-      );
-    }
-  }, {
-    key: 'accessToken',
-    get: function get() {
-      return this._accessToke || window.localStorage.getItem(_const.GT_ACCESS_TOKEN);
-    },
-    set: function set(token) {
-      window.localStorage.setItem(_const.GT_ACCESS_TOKEN, token);
-      this._accessToken = token;
-    }
-  }, {
-    key: 'loginLink',
-    get: function get() {
-      var githubOauthUrl = 'https://github.com/login/oauth/authorize';
-      var clientID = this.options.clientID;
-
-      var query = {
-        client_id: clientID,
-        redirect_uri: window.location.href,
-        scope: 'public_repo'
-      };
-      return githubOauthUrl + '?' + (0, _util.queryStringify)(query);
-    }
-  }, {
-    key: 'isAdmin',
-    get: function get() {
-      var admin = this.options.admin;
-      var user = this.state.user;
-
-
-      return user && ~[].concat(admin).map(function (a) {
-        return a.toLowerCase();
-      }).indexOf(user.login.toLowerCase());
-    }
-  }]);
-  return GitalkComponent;
-}(_react.Component);
-
-module.exports = GitalkComponent;
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(100), __esModule: true };
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(50);
-__webpack_require__(20);
-__webpack_require__(27);
-__webpack_require__(109);
-__webpack_require__(117);
-__webpack_require__(118);
-module.exports = __webpack_require__(0).Promise;
-
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(34);
-var defined = __webpack_require__(35);
-// true  -> String#at
-// false -> String#codePointAt
-module.exports = function (TO_STRING) {
-  return function (that, pos) {
-    var s = String(defined(that));
-    var i = toInteger(pos);
-    var l = s.length;
-    var a, b;
-    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
-    a = s.charCodeAt(i);
-    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
-      ? TO_STRING ? s.charAt(i) : a
-      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
-  };
-};
-
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var create = __webpack_require__(36);
-var descriptor = __webpack_require__(19);
-var setToStringTag = __webpack_require__(26);
-var IteratorPrototype = {};
-
-// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-__webpack_require__(11)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });
-
-module.exports = function (Constructor, NAME, next) {
-  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
-  setToStringTag(Constructor, NAME + ' Iterator');
-};
-
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var dP = __webpack_require__(7);
-var anObject = __webpack_require__(6);
-var getKeys = __webpack_require__(22);
-
-module.exports = __webpack_require__(8) ? Object.defineProperties : function defineProperties(O, Properties) {
-  anObject(O);
-  var keys = getKeys(Properties);
-  var length = keys.length;
-  var i = 0;
-  var P;
-  while (length > i) dP.f(O, P = keys[i++], Properties[P]);
-  return O;
-};
-
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// false -> Array#indexOf
-// true  -> Array#includes
-var toIObject = __webpack_require__(16);
-var toLength = __webpack_require__(37);
-var toAbsoluteIndex = __webpack_require__(105);
-module.exports = function (IS_INCLUDES) {
-  return function ($this, el, fromIndex) {
-    var O = toIObject($this);
-    var length = toLength(O.length);
-    var index = toAbsoluteIndex(fromIndex, length);
-    var value;
-    // Array#includes uses SameValueZero equality algorithm
-    // eslint-disable-next-line no-self-compare
-    if (IS_INCLUDES && el != el) while (length > index) {
-      value = O[index++];
-      // eslint-disable-next-line no-self-compare
-      if (value != value) return true;
-    // Array#indexOf ignores holes, Array#includes - not
-    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
-      if (O[index] === el) return IS_INCLUDES || index || 0;
-    } return !IS_INCLUDES && -1;
-  };
-};
-
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var toInteger = __webpack_require__(34);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
-  index = toInteger(index);
-  return index < 0 ? max(index + length, 0) : min(index, length);
-};
-
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var addToUnscopables = __webpack_require__(107);
-var step = __webpack_require__(108);
-var Iterators = __webpack_require__(15);
-var toIObject = __webpack_require__(16);
-
-// 22.1.3.4 Array.prototype.entries()
-// 22.1.3.13 Array.prototype.keys()
-// 22.1.3.29 Array.prototype.values()
-// 22.1.3.30 Array.prototype[@@iterator]()
-module.exports = __webpack_require__(51)(Array, 'Array', function (iterated, kind) {
-  this._t = toIObject(iterated); // target
-  this._i = 0;                   // next index
-  this._k = kind;                // kind
-// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
-}, function () {
-  var O = this._t;
-  var kind = this._k;
-  var index = this._i++;
-  if (!O || index >= O.length) {
-    this._t = undefined;
-    return step(1);
-  }
-  if (kind == 'keys') return step(0, index);
-  if (kind == 'values') return step(0, O[index]);
-  return step(0, [index, O[index]]);
-}, 'values');
-
-// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
-Iterators.Arguments = Iterators.Array;
-
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports) {
-
-module.exports = function () { /* empty */ };
-
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports) {
-
-module.exports = function (done, value) {
-  return { value: value, done: !!done };
-};
-
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var LIBRARY = __webpack_require__(21);
-var global = __webpack_require__(1);
-var ctx = __webpack_require__(13);
-var classof = __webpack_require__(41);
-var $export = __webpack_require__(4);
-var isObject = __webpack_require__(10);
-var aFunction = __webpack_require__(24);
-var anInstance = __webpack_require__(110);
-var forOf = __webpack_require__(111);
-var speciesConstructor = __webpack_require__(59);
-var task = __webpack_require__(60).set;
-var microtask = __webpack_require__(113)();
-var newPromiseCapabilityModule = __webpack_require__(43);
-var perform = __webpack_require__(61);
-var userAgent = __webpack_require__(114);
-var promiseResolve = __webpack_require__(62);
-var PROMISE = 'Promise';
-var TypeError = global.TypeError;
-var process = global.process;
-var versions = process && process.versions;
-var v8 = versions && versions.v8 || '';
-var $Promise = global[PROMISE];
-var isNode = classof(process) == 'process';
-var empty = function () { /* empty */ };
-var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
-var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
-
-var USE_NATIVE = !!function () {
-  try {
-    // correct subclassing with @@species support
-    var promise = $Promise.resolve(1);
-    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {
-      exec(empty, empty);
-    };
-    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
-    return (isNode || typeof PromiseRejectionEvent == 'function')
-      && promise.then(empty) instanceof FakePromise
-      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
-      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
-      // we can't detect it synchronously, so just check versions
-      && v8.indexOf('6.6') !== 0
-      && userAgent.indexOf('Chrome/66') === -1;
-  } catch (e) { /* empty */ }
-}();
-
-// helpers
-var isThenable = function (it) {
-  var then;
-  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, isReject) {
-  if (promise._n) return;
-  promise._n = true;
-  var chain = promise._c;
-  microtask(function () {
-    var value = promise._v;
-    var ok = promise._s == 1;
-    var i = 0;
-    var run = function (reaction) {
-      var handler = ok ? reaction.ok : reaction.fail;
-      var resolve = reaction.resolve;
-      var reject = reaction.reject;
-      var domain = reaction.domain;
-      var result, then, exited;
-      try {
-        if (handler) {
-          if (!ok) {
-            if (promise._h == 2) onHandleUnhandled(promise);
-            promise._h = 1;
-          }
-          if (handler === true) result = value;
-          else {
-            if (domain) domain.enter();
-            result = handler(value); // may throw
-            if (domain) {
-              domain.exit();
-              exited = true;
-            }
-          }
-          if (result === reaction.promise) {
-            reject(TypeError('Promise-chain cycle'));
-          } else if (then = isThenable(result)) {
-            then.call(result, resolve, reject);
-          } else resolve(result);
-        } else reject(value);
-      } catch (e) {
-        if (domain && !exited) domain.exit();
-        reject(e);
-      }
-    };
-    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
-    promise._c = [];
-    promise._n = false;
-    if (isReject && !promise._h) onUnhandled(promise);
-  });
-};
-var onUnhandled = function (promise) {
-  task.call(global, function () {
-    var value = promise._v;
-    var unhandled = isUnhandled(promise);
-    var result, handler, console;
-    if (unhandled) {
-      result = perform(function () {
-        if (isNode) {
-          process.emit('unhandledRejection', value, promise);
-        } else if (handler = global.onunhandledrejection) {
-          handler({ promise: promise, reason: value });
-        } else if ((console = global.console) && console.error) {
-          console.error('Unhandled promise rejection', value);
-        }
-      });
-      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
-      promise._h = isNode || isUnhandled(promise) ? 2 : 1;
-    } promise._a = undefined;
-    if (unhandled && result.e) throw result.v;
-  });
-};
-var isUnhandled = function (promise) {
-  return promise._h !== 1 && (promise._a || promise._c).length === 0;
-};
-var onHandleUnhandled = function (promise) {
-  task.call(global, function () {
-    var handler;
-    if (isNode) {
-      process.emit('rejectionHandled', promise);
-    } else if (handler = global.onrejectionhandled) {
-      handler({ promise: promise, reason: promise._v });
-    }
-  });
-};
-var $reject = function (value) {
-  var promise = this;
-  if (promise._d) return;
-  promise._d = true;
-  promise = promise._w || promise; // unwrap
-  promise._v = value;
-  promise._s = 2;
-  if (!promise._a) promise._a = promise._c.slice();
-  notify(promise, true);
-};
-var $resolve = function (value) {
-  var promise = this;
-  var then;
-  if (promise._d) return;
-  promise._d = true;
-  promise = promise._w || promise; // unwrap
-  try {
-    if (promise === value) throw TypeError("Promise can't be resolved itself");
-    if (then = isThenable(value)) {
-      microtask(function () {
-        var wrapper = { _w: promise, _d: false }; // wrap
-        try {
-          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
-        } catch (e) {
-          $reject.call(wrapper, e);
-        }
-      });
-    } else {
-      promise._v = value;
-      promise._s = 1;
-      notify(promise, false);
-    }
-  } catch (e) {
-    $reject.call({ _w: promise, _d: false }, e); // wrap
-  }
-};
-
-// constructor polyfill
-if (!USE_NATIVE) {
-  // 25.4.3.1 Promise(executor)
-  $Promise = function Promise(executor) {
-    anInstance(this, $Promise, PROMISE, '_h');
-    aFunction(executor);
-    Internal.call(this);
-    try {
-      executor(ctx($resolve, this, 1), ctx($reject, this, 1));
-    } catch (err) {
-      $reject.call(this, err);
-    }
-  };
-  // eslint-disable-next-line no-unused-vars
-  Internal = function Promise(executor) {
-    this._c = [];             // <- awaiting reactions
-    this._a = undefined;      // <- checked in isUnhandled reactions
-    this._s = 0;              // <- state
-    this._d = false;          // <- done
-    this._v = undefined;      // <- value
-    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
-    this._n = false;          // <- notify
-  };
-  Internal.prototype = __webpack_require__(115)($Promise.prototype, {
-    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
-    then: function then(onFulfilled, onRejected) {
-      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
-      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
-      reaction.fail = typeof onRejected == 'function' && onRejected;
-      reaction.domain = isNode ? process.domain : undefined;
-      this._c.push(reaction);
-      if (this._a) this._a.push(reaction);
-      if (this._s) notify(this, false);
-      return reaction.promise;
-    },
-    // 25.4.5.1 Promise.prototype.catch(onRejected)
-    'catch': function (onRejected) {
-      return this.then(undefined, onRejected);
-    }
-  });
-  OwnPromiseCapability = function () {
-    var promise = new Internal();
-    this.promise = promise;
-    this.resolve = ctx($resolve, promise, 1);
-    this.reject = ctx($reject, promise, 1);
-  };
-  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
-    return C === $Promise || C === Wrapper
-      ? new OwnPromiseCapability(C)
-      : newGenericPromiseCapability(C);
-  };
-}
-
-$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
-__webpack_require__(26)($Promise, PROMISE);
-__webpack_require__(116)(PROMISE);
-Wrapper = __webpack_require__(0)[PROMISE];
-
-// statics
-$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
-  // 25.4.4.5 Promise.reject(r)
-  reject: function reject(r) {
-    var capability = newPromiseCapability(this);
-    var $$reject = capability.reject;
-    $$reject(r);
-    return capability.promise;
-  }
-});
-$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
-  // 25.4.4.6 Promise.resolve(x)
-  resolve: function resolve(x) {
-    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
-  }
-});
-$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(63)(function (iter) {
-  $Promise.all(iter)['catch'](empty);
-})), PROMISE, {
-  // 25.4.4.1 Promise.all(iterable)
-  all: function all(iterable) {
-    var C = this;
-    var capability = newPromiseCapability(C);
-    var resolve = capability.resolve;
-    var reject = capability.reject;
-    var result = perform(function () {
-      var values = [];
-      var index = 0;
-      var remaining = 1;
-      forOf(iterable, false, function (promise) {
-        var $index = index++;
-        var alreadyCalled = false;
-        values.push(undefined);
-        remaining++;
-        C.resolve(promise).then(function (value) {
-          if (alreadyCalled) return;
-          alreadyCalled = true;
-          values[$index] = value;
-          --remaining || resolve(values);
-        }, reject);
-      });
-      --remaining || resolve(values);
-    });
-    if (result.e) reject(result.v);
-    return capability.promise;
-  },
-  // 25.4.4.4 Promise.race(iterable)
-  race: function race(iterable) {
-    var C = this;
-    var capability = newPromiseCapability(C);
-    var reject = capability.reject;
-    var result = perform(function () {
-      forOf(iterable, false, function (promise) {
-        C.resolve(promise).then(capability.resolve, reject);
-      });
-    });
-    if (result.e) reject(result.v);
-    return capability.promise;
-  }
-});
-
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name, forbiddenField) {
-  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
-    throw TypeError(name + ': incorrect invocation!');
-  } return it;
-};
-
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var ctx = __webpack_require__(13);
-var call = __webpack_require__(57);
-var isArrayIter = __webpack_require__(58);
-var anObject = __webpack_require__(6);
-var toLength = __webpack_require__(37);
-var getIterFn = __webpack_require__(42);
-var BREAK = {};
-var RETURN = {};
-var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
-  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
-  var f = ctx(fn, that, entries ? 2 : 1);
-  var index = 0;
-  var length, step, iterator, result;
-  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
-  // fast case for arrays with default iterator
-  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
-    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
-    if (result === BREAK || result === RETURN) return result;
-  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
-    result = call(iterator, f, step.value, entries);
-    if (result === BREAK || result === RETURN) return result;
-  }
-};
-exports.BREAK = BREAK;
-exports.RETURN = RETURN;
-
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports) {
-
-// fast apply, http://jsperf.lnkit.com/fast-apply/5
-module.exports = function (fn, args, that) {
-  var un = that === undefined;
-  switch (args.length) {
-    case 0: return un ? fn()
-                      : fn.call(that);
-    case 1: return un ? fn(args[0])
-                      : fn.call(that, args[0]);
-    case 2: return un ? fn(args[0], args[1])
-                      : fn.call(that, args[0], args[1]);
-    case 3: return un ? fn(args[0], args[1], args[2])
-                      : fn.call(that, args[0], args[1], args[2]);
-    case 4: return un ? fn(args[0], args[1], args[2], args[3])
-                      : fn.call(that, args[0], args[1], args[2], args[3]);
-  } return fn.apply(that, args);
-};
-
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var macrotask = __webpack_require__(60).set;
-var Observer = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var isNode = __webpack_require__(23)(process) == 'process';
-
-module.exports = function () {
-  var head, last, notify;
-
-  var flush = function () {
-    var parent, fn;
-    if (isNode && (parent = process.domain)) parent.exit();
-    while (head) {
-      fn = head.fn;
-      head = head.next;
-      try {
-        fn();
-      } catch (e) {
-        if (head) notify();
-        else last = undefined;
-        throw e;
-      }
-    } last = undefined;
-    if (parent) parent.enter();
-  };
-
-  // Node.js
-  if (isNode) {
-    notify = function () {
-      process.nextTick(flush);
-    };
-  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
-  } else if (Observer && !(global.navigator && global.navigator.standalone)) {
-    var toggle = true;
-    var node = document.createTextNode('');
-    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
-    notify = function () {
-      node.data = toggle = !toggle;
-    };
-  // environments with maybe non-completely correct, but existent Promise
-  } else if (Promise && Promise.resolve) {
-    // Promise.resolve without an argument throws an error in LG WebOS 2
-    var promise = Promise.resolve(undefined);
-    notify = function () {
-      promise.then(flush);
-    };
-  // for other environments - macrotask based on:
-  // - setImmediate
-  // - MessageChannel
-  // - window.postMessag
-  // - onreadystatechange
-  // - setTimeout
-  } else {
-    notify = function () {
-      // strange IE + webpack dev server bug - use .call(global)
-      macrotask.call(global, flush);
-    };
-  }
-
-  return function (fn) {
-    var task = { fn: fn, next: undefined };
-    if (last) last.next = task;
-    if (!head) {
-      head = task;
-      notify();
-    } last = task;
-  };
-};
-
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var global = __webpack_require__(1);
-var navigator = global.navigator;
-
-module.exports = navigator && navigator.userAgent || '';
-
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var hide = __webpack_require__(11);
-module.exports = function (target, src, safe) {
-  for (var key in src) {
-    if (safe && target[key]) target[key] = src[key];
-    else hide(target, key, src[key]);
-  } return target;
-};
-
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var global = __webpack_require__(1);
-var core = __webpack_require__(0);
-var dP = __webpack_require__(7);
-var DESCRIPTORS = __webpack_require__(8);
-var SPECIES = __webpack_require__(2)('species');
-
-module.exports = function (KEY) {
-  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
-  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
-    configurable: true,
-    get: function () { return this; }
-  });
-};
-
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-// https://github.com/tc39/proposal-promise-finally
-
-var $export = __webpack_require__(4);
-var core = __webpack_require__(0);
-var global = __webpack_require__(1);
-var speciesConstructor = __webpack_require__(59);
-var promiseResolve = __webpack_require__(62);
-
-$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
-  var C = speciesConstructor(this, core.Promise || global.Promise);
-  var isFunction = typeof onFinally == 'function';
-  return this.then(
-    isFunction ? function (x) {
-      return promiseResolve(C, onFinally()).then(function () { return x; });
-    } : onFinally,
-    isFunction ? function (e) {
-      return promiseResolve(C, onFinally()).then(function () { throw e; });
-    } : onFinally
-  );
-} });
-
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// https://github.com/tc39/proposal-promise-try
-var $export = __webpack_require__(4);
-var newPromiseCapability = __webpack_require__(43);
-var perform = __webpack_require__(61);
-
-$export($export.S, 'Promise', { 'try': function (callbackfn) {
-  var promiseCapability = newPromiseCapability.f(this);
-  var result = perform(callbackfn);
-  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
-  return promiseCapability.promise;
-} });
-
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(120), __esModule: true };
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(121);
-module.exports = __webpack_require__(0).Object.assign;
-
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.3.1 Object.assign(target, source)
-var $export = __webpack_require__(4);
-
-$export($export.S + $export.F, 'Object', { assign: __webpack_require__(122) });
-
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// 19.1.2.1 Object.assign(target, source, ...)
-var DESCRIPTORS = __webpack_require__(8);
-var getKeys = __webpack_require__(22);
-var gOPS = __webpack_require__(44);
-var pIE = __webpack_require__(28);
-var toObject = __webpack_require__(17);
-var IObject = __webpack_require__(54);
-var $assign = Object.assign;
-
-// should work with symbols and should have deterministic property order (V8 bug)
-module.exports = !$assign || __webpack_require__(14)(function () {
-  var A = {};
-  var B = {};
-  // eslint-disable-next-line no-undef
-  var S = Symbol();
-  var K = 'abcdefghijklmnopqrst';
-  A[S] = 7;
-  K.split('').forEach(function (k) { B[k] = k; });
-  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
-}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
-  var T = toObject(target);
-  var aLen = arguments.length;
-  var index = 1;
-  var getSymbols = gOPS.f;
-  var isEnum = pIE.f;
-  while (aLen > index) {
-    var S = IObject(arguments[index++]);
-    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
-    var length = keys.length;
-    var j = 0;
-    var key;
-    while (length > j) {
-      key = keys[j++];
-      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
-    }
-  } return T;
-} : $assign;
-
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(124);
-module.exports = __webpack_require__(0).Object.getPrototypeOf;
-
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = __webpack_require__(17);
-var $getPrototypeOf = __webpack_require__(56);
-
-__webpack_require__(65)('getPrototypeOf', function () {
-  return function getPrototypeOf(it) {
-    return $getPrototypeOf(toObject(it));
-  };
-});
-
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(126), __esModule: true };
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(20);
-__webpack_require__(27);
-module.exports = __webpack_require__(45).f('iterator');
-
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(128), __esModule: true };
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(129);
-__webpack_require__(50);
-__webpack_require__(134);
-__webpack_require__(135);
-module.exports = __webpack_require__(0).Symbol;
-
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-// ECMAScript 6 symbols shim
-var global = __webpack_require__(1);
-var has = __webpack_require__(12);
-var DESCRIPTORS = __webpack_require__(8);
-var $export = __webpack_require__(4);
-var redefine = __webpack_require__(52);
-var META = __webpack_require__(130).KEY;
-var $fails = __webpack_require__(14);
-var shared = __webpack_require__(39);
-var setToStringTag = __webpack_require__(26);
-var uid = __webpack_require__(25);
-var wks = __webpack_require__(2);
-var wksExt = __webpack_require__(45);
-var wksDefine = __webpack_require__(46);
-var enumKeys = __webpack_require__(131);
-var isArray = __webpack_require__(132);
-var anObject = __webpack_require__(6);
-var isObject = __webpack_require__(10);
-var toObject = __webpack_require__(17);
-var toIObject = __webpack_require__(16);
-var toPrimitive = __webpack_require__(32);
-var createDesc = __webpack_require__(19);
-var _create = __webpack_require__(36);
-var gOPNExt = __webpack_require__(133);
-var $GOPD = __webpack_require__(69);
-var $GOPS = __webpack_require__(44);
-var $DP = __webpack_require__(7);
-var $keys = __webpack_require__(22);
-var gOPD = $GOPD.f;
-var dP = $DP.f;
-var gOPN = gOPNExt.f;
-var $Symbol = global.Symbol;
-var $JSON = global.JSON;
-var _stringify = $JSON && $JSON.stringify;
-var PROTOTYPE = 'prototype';
-var HIDDEN = wks('_hidden');
-var TO_PRIMITIVE = wks('toPrimitive');
-var isEnum = {}.propertyIsEnumerable;
-var SymbolRegistry = shared('symbol-registry');
-var AllSymbols = shared('symbols');
-var OPSymbols = shared('op-symbols');
-var ObjectProto = Object[PROTOTYPE];
-var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
-var QObject = global.QObject;
-// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-
-// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-var setSymbolDesc = DESCRIPTORS && $fails(function () {
-  return _create(dP({}, 'a', {
-    get: function () { return dP(this, 'a', { value: 7 }).a; }
-  })).a != 7;
-}) ? function (it, key, D) {
-  var protoDesc = gOPD(ObjectProto, key);
-  if (protoDesc) delete ObjectProto[key];
-  dP(it, key, D);
-  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
-} : dP;
-
-var wrap = function (tag) {
-  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
-  sym._k = tag;
-  return sym;
-};
-
-var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
-  return typeof it == 'symbol';
-} : function (it) {
-  return it instanceof $Symbol;
-};
-
-var $defineProperty = function defineProperty(it, key, D) {
-  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
-  anObject(it);
-  key = toPrimitive(key, true);
-  anObject(D);
-  if (has(AllSymbols, key)) {
-    if (!D.enumerable) {
-      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
-      it[HIDDEN][key] = true;
-    } else {
-      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
-      D = _create(D, { enumerable: createDesc(0, false) });
-    } return setSymbolDesc(it, key, D);
-  } return dP(it, key, D);
-};
-var $defineProperties = function defineProperties(it, P) {
-  anObject(it);
-  var keys = enumKeys(P = toIObject(P));
-  var i = 0;
-  var l = keys.length;
-  var key;
-  while (l > i) $defineProperty(it, key = keys[i++], P[key]);
-  return it;
-};
-var $create = function create(it, P) {
-  return P === undefined ? _create(it) : $defineProperties(_create(it), P);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(key) {
-  var E = isEnum.call(this, key = toPrimitive(key, true));
-  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
-  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
-  it = toIObject(it);
-  key = toPrimitive(key, true);
-  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
-  var D = gOPD(it, key);
-  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
-  return D;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(it) {
-  var names = gOPN(toIObject(it));
-  var result = [];
-  var i = 0;
-  var key;
-  while (names.length > i) {
-    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
-  } return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
-  var IS_OP = it === ObjectProto;
-  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
-  var result = [];
-  var i = 0;
-  var key;
-  while (names.length > i) {
-    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
-  } return result;
-};
-
-// 19.4.1.1 Symbol([description])
-if (!USE_NATIVE) {
-  $Symbol = function Symbol() {
-    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
-    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
-    var $set = function (value) {
-      if (this === ObjectProto) $set.call(OPSymbols, value);
-      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
-      setSymbolDesc(this, tag, createDesc(1, value));
-    };
-    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
-    return wrap(tag);
-  };
-  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
-    return this._k;
-  });
-
-  $GOPD.f = $getOwnPropertyDescriptor;
-  $DP.f = $defineProperty;
-  __webpack_require__(68).f = gOPNExt.f = $getOwnPropertyNames;
-  __webpack_require__(28).f = $propertyIsEnumerable;
-  $GOPS.f = $getOwnPropertySymbols;
-
-  if (DESCRIPTORS && !__webpack_require__(21)) {
-    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
-  }
-
-  wksExt.f = function (name) {
-    return wrap(wks(name));
-  };
-}
-
-$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
-
-for (var es6Symbols = (
-  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
-  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
-).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
-
-for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
-
-$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
-  // 19.4.2.1 Symbol.for(key)
-  'for': function (key) {
-    return has(SymbolRegistry, key += '')
-      ? SymbolRegistry[key]
-      : SymbolRegistry[key] = $Symbol(key);
-  },
-  // 19.4.2.5 Symbol.keyFor(sym)
-  keyFor: function keyFor(sym) {
-    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
-    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
-  },
-  useSetter: function () { setter = true; },
-  useSimple: function () { setter = false; }
-});
-
-$export($export.S + $export.F * !USE_NATIVE, 'Object', {
-  // 19.1.2.2 Object.create(O [, Properties])
-  create: $create,
-  // 19.1.2.4 Object.defineProperty(O, P, Attributes)
-  defineProperty: $defineProperty,
-  // 19.1.2.3 Object.defineProperties(O, Properties)
-  defineProperties: $defineProperties,
-  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
-  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
-  // 19.1.2.7 Object.getOwnPropertyNames(O)
-  getOwnPropertyNames: $getOwnPropertyNames,
-  // 19.1.2.8 Object.getOwnPropertySymbols(O)
-  getOwnPropertySymbols: $getOwnPropertySymbols
-});
-
-// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
-// https://bugs.chromium.org/p/v8/issues/detail?id=3443
-var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
-
-$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
-  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-    return $GOPS.f(toObject(it));
-  }
-});
-
-// 24.3.2 JSON.stringify(value [, replacer [, space]])
-$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
-  var S = $Symbol();
-  // MS Edge converts symbol values to JSON as {}
-  // WebKit converts symbol values to JSON as null
-  // V8 throws on boxed symbols
-  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
-})), 'JSON', {
-  stringify: function stringify(it) {
-    var args = [it];
-    var i = 1;
-    var replacer, $replacer;
-    while (arguments.length > i) args.push(arguments[i++]);
-    $replacer = replacer = args[1];
-    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-    if (!isArray(replacer)) replacer = function (key, value) {
-      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
-      if (!isSymbol(value)) return value;
-    };
-    args[1] = replacer;
-    return _stringify.apply($JSON, args);
-  }
-});
-
-// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
-$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(11)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-// 19.4.3.5 Symbol.prototype[@@toStringTag]
-setToStringTag($Symbol, 'Symbol');
-// 20.2.1.9 Math[@@toStringTag]
-setToStringTag(Math, 'Math', true);
-// 24.3.3 JSON[@@toStringTag]
-setToStringTag(global.JSON, 'JSON', true);
-
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var META = __webpack_require__(25)('meta');
-var isObject = __webpack_require__(10);
-var has = __webpack_require__(12);
-var setDesc = __webpack_require__(7).f;
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
-  return true;
-};
-var FREEZE = !__webpack_require__(14)(function () {
-  return isExtensible(Object.preventExtensions({}));
-});
-var setMeta = function (it) {
-  setDesc(it, META, { value: {
-    i: 'O' + ++id, // object ID
-    w: {}          // weak collections IDs
-  } });
-};
-var fastKey = function (it, create) {
-  // return primitive with prefix
-  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return 'F';
-    // not necessary to add metadata
-    if (!create) return 'E';
-    // add missing metadata
-    setMeta(it);
-  // return object ID
-  } return it[META].i;
-};
-var getWeak = function (it, create) {
-  if (!has(it, META)) {
-    // can't set metadata to uncaught frozen object
-    if (!isExtensible(it)) return true;
-    // not necessary to add metadata
-    if (!create) return false;
-    // add missing metadata
-    setMeta(it);
-  // return hash weak collections IDs
-  } return it[META].w;
-};
-// add metadata on freeze-family methods calling
-var onFreeze = function (it) {
-  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
-  return it;
-};
-var meta = module.exports = {
-  KEY: META,
-  NEED: false,
-  fastKey: fastKey,
-  getWeak: getWeak,
-  onFreeze: onFreeze
-};
-
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// all enumerable object keys, includes symbols
-var getKeys = __webpack_require__(22);
-var gOPS = __webpack_require__(44);
-var pIE = __webpack_require__(28);
-module.exports = function (it) {
-  var result = getKeys(it);
-  var getSymbols = gOPS.f;
-  if (getSymbols) {
-    var symbols = getSymbols(it);
-    var isEnum = pIE.f;
-    var i = 0;
-    var key;
-    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
-  } return result;
-};
-
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 7.2.2 IsArray(argument)
-var cof = __webpack_require__(23);
-module.exports = Array.isArray || function isArray(arg) {
-  return cof(arg) == 'Array';
-};
-
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-var toIObject = __webpack_require__(16);
-var gOPN = __webpack_require__(68).f;
-var toString = {}.toString;
-
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
-  ? Object.getOwnPropertyNames(window) : [];
-
-var getWindowNames = function (it) {
-  try {
-    return gOPN(it);
-  } catch (e) {
-    return windowNames.slice();
-  }
-};
-
-module.exports.f = function getOwnPropertyNames(it) {
-  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
-};
-
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(46)('asyncIterator');
-
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(46)('observable');
-
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(137), __esModule: true };
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(138);
-module.exports = __webpack_require__(0).Object.setPrototypeOf;
-
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.3.19 Object.setPrototypeOf(O, proto)
-var $export = __webpack_require__(4);
-$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(139).set });
-
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// Works with __proto__ only. Old v8 can't work with null proto objects.
-/* eslint-disable no-proto */
-var isObject = __webpack_require__(10);
-var anObject = __webpack_require__(6);
-var check = function (O, proto) {
-  anObject(O);
-  if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
-};
-module.exports = {
-  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
-    function (test, buggy, set) {
-      try {
-        set = __webpack_require__(13)(Function.call, __webpack_require__(69).f(Object.prototype, '__proto__').set, 2);
-        set(test, []);
-        buggy = !(test instanceof Array);
-      } catch (e) { buggy = true; }
-      return function setPrototypeOf(O, proto) {
-        check(O, proto);
-        if (buggy) O.__proto__ = proto;
-        else set(O, proto);
-        return O;
-      };
-    }({}, false) : undefined),
-  check: check
-};
-
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(141), __esModule: true };
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(142);
-var $Object = __webpack_require__(0).Object;
-module.exports = function create(P, D) {
-  return $Object.create(P, D);
-};
-
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var $export = __webpack_require__(4);
-// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
-$export($export.S, 'Object', { create: __webpack_require__(36) });
-
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _FlipMove = __webpack_require__(144);
-
-var _FlipMove2 = _interopRequireDefault(_FlipMove);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = _FlipMove2.default;
-/**
- * React Flip Move
- * (c) 2016-present Joshua Comeau
- */
-
-module.exports = exports['default'];
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _slicedToArray = function () { function sliceIterator(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"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
-
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-var _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-__webpack_require__(145);
-
-var _propConverter = __webpack_require__(146);
-
-var _propConverter2 = _interopRequireDefault(_propConverter);
-
-var _domManipulation = __webpack_require__(149);
-
-var _helpers = __webpack_require__(47);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-/**
- * React Flip Move
- * (c) 2016-present Joshua Comeau
- *
- * For information on how this code is laid out, check out CODE_TOUR.md
- */
-
-/* eslint-disable react/prop-types */
-
-var transitionEnd = (0, _domManipulation.whichTransitionEvent)();
-var noBrowserSupport = !transitionEnd;
-
-function getKey(childData) {
-  return childData.key || '';
-}
-
-var FlipMove = function (_Component) {
-  _inherits(FlipMove, _Component);
-
-  function FlipMove() {
-    var _ref;
-
-    var _temp, _this, _ret;
-
-    _classCallCheck(this, FlipMove);
-
-    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
-      args[_key] = arguments[_key];
-    }
-
-    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FlipMove.__proto__ || Object.getPrototypeOf(FlipMove)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
-      children: _react.Children.toArray(_this.props.children).map(function (element) {
-        return _extends({}, element, {
-          element: element,
-          appearing: true
-        });
-      })
-    }, _this.childrenData = {}, _this.parentData = {
-      domNode: null,
-      boundingBox: null
-    }, _this.heightPlaceholderData = {
-      domNode: null
-    }, _this.remainingAnimations = 0, _this.childrenToAnimate = [], _this.runAnimation = function () {
-      var dynamicChildren = _this.state.children.filter(_this.doesChildNeedToBeAnimated);
-
-      dynamicChildren.forEach(function (child, n) {
-        _this.remainingAnimations += 1;
-        _this.childrenToAnimate.push(getKey(child));
-        _this.animateChild(child, n);
-      });
-
-      if (typeof _this.props.onStartAll === 'function') {
-        _this.callChildrenHook(_this.props.onStartAll);
-      }
-    }, _this.doesChildNeedToBeAnimated = function (child) {
-      // If the child doesn't have a key, it's an immovable child (one that we
-      // do not want to do FLIP stuff to.)
-      if (!getKey(child)) {
-        return false;
-      }
-
-      var childData = _this.getChildData(getKey(child));
-      var childDomNode = childData.domNode;
-      var childBoundingBox = childData.boundingBox;
-      var parentBoundingBox = _this.parentData.boundingBox;
-
-      if (!childDomNode) {
-        return false;
-      }
-
-      var _this$props = _this.props,
-          appearAnimation = _this$props.appearAnimation,
-          enterAnimation = _this$props.enterAnimation,
-          leaveAnimation = _this$props.leaveAnimation,
-          getPosition = _this$props.getPosition;
-
-
-      var isAppearingWithAnimation = child.appearing && appearAnimation;
-      var isEnteringWithAnimation = child.entering && enterAnimation;
-      var isLeavingWithAnimation = child.leaving && leaveAnimation;
-
-      if (isAppearingWithAnimation || isEnteringWithAnimation || isLeavingWithAnimation) {
-        return true;
-      }
-
-      // If it isn't entering/leaving, we want to animate it if it's
-      // on-screen position has changed.
-
-      var _getPositionDelta = (0, _domManipulation.getPositionDelta)({
-        childDomNode: childDomNode,
-        childBoundingBox: childBoundingBox,
-        parentBoundingBox: parentBoundingBox,
-        getPosition: getPosition
-      }),
-          _getPositionDelta2 = _slicedToArray(_getPositionDelta, 2),
-          dX = _getPositionDelta2[0],
-          dY = _getPositionDelta2[1];
-
-      return dX !== 0 || dY !== 0;
-    }, _temp), _possibleConstructorReturn(_this, _ret);
-  }
-  // Copy props.children into state.
-  // To understand why this is important (and not an anti-pattern), consider
-  // how "leave" animations work. An item has "left" when the component
-  // receives a new set of props that do NOT contain the item.
-  // If we just render the props as-is, the item would instantly disappear.
-  // We want to keep the item rendered for a little while, until its animation
-  // can complete. Because we cannot mutate props, we make `state` the source
-  // of truth.
-
-
-  // FlipMove needs to know quite a bit about its children in order to do
-  // its job. We store these as a property on the instance. We're not using
-  // state, because we don't want changes to trigger re-renders, we just
-  // need a place to keep the data for reference, when changes happen.
-  // This field should not be accessed directly. Instead, use getChildData,
-  // putChildData, etc...
-
-
-  // Similarly, track the dom node and box of our parent element.
-
-
-  // If `maintainContainerHeight` prop is set to true, we'll create a
-  // placeholder element which occupies space so that the parent height
-  // doesn't change when items are removed from the document flow (which
-  // happens during leave animations)
-
-
-  // Keep track of remaining animations so we know when to fire the
-  // all-finished callback, and clean up after ourselves.
-  // NOTE: we can't simply use childrenToAnimate.length to track remaining
-  // animations, because we need to maintain the list of animating children,
-  // to pass to the `onFinishAll` handler.
-
-
-  _createClass(FlipMove, [{
-    key: 'componentDidMount',
-    value: function componentDidMount() {
-      // Run our `appearAnimation` if it was requested, right after the
-      // component mounts.
-      var shouldTriggerFLIP = this.props.appearAnimation && !this.isAnimationDisabled(this.props);
-
-      if (shouldTriggerFLIP) {
-        this.prepForAnimation();
-        this.runAnimation();
-      }
-    }
-  }, {
-    key: 'componentWillReceiveProps',
-    value: function componentWillReceiveProps(nextProps) {
-      // When the component is handed new props, we need to figure out the
-      // "resting" position of all currently-rendered DOM nodes.
-      // We store that data in this.parent and this.children,
-      // so it can be used later to work out the animation.
-      this.updateBoundingBoxCaches();
-
-      // Convert opaque children object to array.
-      var nextChildren = _react.Children.toArray(nextProps.children);
-
-      // Next, we need to update our state, so that it contains our new set of
-      // children. If animation is disabled or unsupported, this is easy;
-      // we just copy our props into state.
-      // Assuming that we can animate, though, we have to do some work.
-      // Essentially, we want to keep just-deleted nodes in the DOM for a bit
-      // longer, so that we can animate them away.
-      this.setState({
-        children: this.isAnimationDisabled(nextProps) ? nextChildren.map(function (element) {
-          return _extends({}, element, { element: element });
-        }) : this.calculateNextSetOfChildren(nextChildren)
-      });
-    }
-  }, {
-    key: 'componentDidUpdate',
-    value: function componentDidUpdate(previousProps) {
-      // If the children have been re-arranged, moved, or added/removed,
-      // trigger the main FLIP animation.
-      //
-      // IMPORTANT: We need to make sure that the children have actually changed.
-      // At the end of the transition, we clean up nodes that need to be removed.
-      var oldChildrenKeys = _react.Children.toArray(this.props.children).map(function (d) {
-        return d.key;
-      });
-      var nextChildrenKeys = _react.Children.toArray(previousProps.children).map(function (d) {
-        return d.key;
-      });
-
-      var shouldTriggerFLIP = !(0, _helpers.arraysEqual)(oldChildrenKeys, nextChildrenKeys) && !this.isAnimationDisabled(this.props);
-
-      if (shouldTriggerFLIP) {
-        this.prepForAnimation();
-        this.runAnimation();
-      }
-    }
-  }, {
-    key: 'calculateNextSetOfChildren',
-    value: function calculateNextSetOfChildren(nextChildren) {
-      var _this2 = this;
-
-      // We want to:
-      //   - Mark all new children as `entering`
-      //   - Pull in previous children that aren't in nextChildren, and mark them
-      //     as `leaving`
-      //   - Preserve the nextChildren list order, with leaving children in their
-      //     appropriate places.
-      //
-
-      var updatedChildren = nextChildren.map(function (nextChild) {
-        var child = _this2.findChildByKey(nextChild.key || '');
-
-        // If the current child did exist, but it was in the midst of leaving,
-        // we want to treat it as though it's entering
-        var isEntering = !child || child.leaving;
-
-        return _extends({}, nextChild, { element: nextChild, entering: isEntering });
-      });
-
-      // This is tricky. We want to keep the nextChildren's ordering, but with
-      // any just-removed items maintaining their original position.
-      // eg.
-      //   this.state.children  = [ 1, 2, 3, 4 ]
-      //   nextChildren         = [ 3, 1 ]
-      //
-      // In this example, we've removed the '2' & '4'
-      // We want to end up with:  [ 2, 3, 1, 4 ]
-      //
-      // To accomplish that, we'll iterate through this.state.children. whenever
-      // we find a match, we'll append our `leaving` flag to it, and insert it
-      // into the nextChildren in its ORIGINAL position. Note that, as we keep
-      // inserting old items into the new list, the "original" position will
-      // keep incrementing.
-      var numOfChildrenLeaving = 0;
-      this.state.children.forEach(function (child, index) {
-        var isLeaving = !nextChildren.find(function (_ref2) {
-          var key = _ref2.key;
-          return key === getKey(child);
-        });
-
-        // If the child isn't leaving (or, if there is no leave animation),
-        // we don't need to add it into the state children.
-        if (!isLeaving || !_this2.props.leaveAnimation) return;
-
-        var nextChild = _extends({}, child, { leaving: true });
-        var nextChildIndex = index + numOfChildrenLeaving;
-
-        updatedChildren.splice(nextChildIndex, 0, nextChild);
-        numOfChildrenLeaving += 1;
-      });
-
-      return updatedChildren;
-    }
-  }, {
-    key: 'prepForAnimation',
-    value: function prepForAnimation() {
-      var _this3 = this;
-
-      // Our animation prep consists of:
-      // - remove children that are leaving from the DOM flow, so that the new
-      //   layout can be accurately calculated,
-      // - update the placeholder container height, if needed, to ensure that
-      //   the parent's height doesn't collapse.
-
-      var _props = this.props,
-          leaveAnimation = _props.leaveAnimation,
-          maintainContainerHeight = _props.maintainContainerHeight,
-          getPosition = _props.getPosition;
-
-      // we need to make all leaving nodes "invisible" to the layout calculations
-      // that will take place in the next step (this.runAnimation).
-
-      if (leaveAnimation) {
-        var leavingChildren = this.state.children.filter(function (child) {
-          return child.leaving;
-        });
-
-        leavingChildren.forEach(function (leavingChild) {
-          var childData = _this3.getChildData(getKey(leavingChild));
-
-          // We need to take the items out of the "flow" of the document, so that
-          // its siblings can move to take its place.
-          if (childData.boundingBox) {
-            (0, _domManipulation.removeNodeFromDOMFlow)(childData, _this3.props.verticalAlignment);
-          }
-        });
-
-        if (maintainContainerHeight && this.heightPlaceholderData.domNode) {
-          (0, _domManipulation.updateHeightPlaceholder)({
-            domNode: this.heightPlaceholderData.domNode,
-            parentData: this.parentData,
-            getPosition: getPosition
-          });
-        }
-      }
-
-      // For all children not in the middle of entering or leaving,
-      // we need to reset the transition, so that the NEW shuffle starts from
-      // the right place.
-      this.state.children.forEach(function (child) {
-        var _getChildData = _this3.getChildData(getKey(child)),
-            domNode = _getChildData.domNode;
-
-        // Ignore children that don't render DOM nodes (eg. by returning null)
-
-
-        if (!domNode) {
-          return;
-        }
-
-        if (!child.entering && !child.leaving) {
-          (0, _domManipulation.applyStylesToDOMNode)({
-            domNode: domNode,
-            styles: {
-              transition: ''
-            }
-          });
-        }
-      });
-    }
-  }, {
-    key: 'animateChild',
-    value: function animateChild(child, index) {
-      var _this4 = this;
-
-      var _getChildData2 = this.getChildData(getKey(child)),
-          domNode = _getChildData2.domNode;
-
-      if (!domNode) {
-        return;
-      }
-
-      // Apply the relevant style for this DOM node
-      // This is the offset from its actual DOM position.
-      // eg. if an item has been re-rendered 20px lower, we want to apply a
-      // style of 'transform: translate(-20px)', so that it appears to be where
-      // it started.
-      // In FLIP terminology, this is the 'Invert' stage.
-      (0, _domManipulation.applyStylesToDOMNode)({
-        domNode: domNode,
-        styles: this.computeInitialStyles(child)
-      });
-
-      // Start by invoking the onStart callback for this child.
-      if (this.props.onStart) this.props.onStart(child, domNode);
-
-      // Next, animate the item from it's artificially-offset position to its
-      // new, natural position.
-      requestAnimationFrame(function () {
-        requestAnimationFrame(function () {
-          // NOTE, RE: the double-requestAnimationFrame:
-          // Sadly, this is the most browser-compatible way to do this I've found.
-          // Essentially we need to set the initial styles outside of any request
-          // callbacks to avoid batching them. Then, a frame needs to pass with
-          // the styles above rendered. Then, on the second frame, we can apply
-          // our final styles to perform the animation.
-
-          // Our first order of business is to "undo" the styles applied in the
-          // previous frames, while also adding a `transition` property.
-          // This way, the item will smoothly transition from its old position
-          // to its new position.
-
-          // eslint-disable-next-line flowtype/require-variable-type
-          var styles = {
-            transition: (0, _domManipulation.createTransitionString)(index, _this4.props),
-            transform: '',
-            opacity: ''
-          };
-
-          if (child.appearing && _this4.props.appearAnimation) {
-            styles = _extends({}, styles, _this4.props.appearAnimation.to);
-          } else if (child.entering && _this4.props.enterAnimation) {
-            styles = _extends({}, styles, _this4.props.enterAnimation.to);
-          } else if (child.leaving && _this4.props.leaveAnimation) {
-            styles = _extends({}, styles, _this4.props.leaveAnimation.to);
-          }
-
-          // In FLIP terminology, this is the 'Play' stage.
-          (0, _domManipulation.applyStylesToDOMNode)({ domNode: domNode, styles: styles });
-        });
-      });
-
-      this.bindTransitionEndHandler(child);
-    }
-  }, {
-    key: 'bindTransitionEndHandler',
-    value: function bindTransitionEndHandler(child) {
-      var _this5 = this;
-
-      var _getChildData3 = this.getChildData(getKey(child)),
-          domNode = _getChildData3.domNode;
-
-      if (!domNode) {
-        return;
-      }
-
-      // The onFinish callback needs to be bound to the transitionEnd event.
-      // We also need to unbind it when the transition completes, so this ugly
-      // inline function is required (we need it here so it closes over
-      // dependent variables `child` and `domNode`)
-      var transitionEndHandler = function transitionEndHandler(ev) {
-        // It's possible that this handler is fired not on our primary transition,
-        // but on a nested transition (eg. a hover effect). Ignore these cases.
-        if (ev.target !== domNode) return;
-
-        // Remove the 'transition' inline style we added. This is cleanup.
-        domNode.style.transition = '';
-
-        // Trigger any applicable onFinish/onFinishAll hooks
-        _this5.triggerFinishHooks(child, domNode);
-
-        domNode.removeEventListener(transitionEnd, transitionEndHandler);
-
-        if (child.leaving) {
-          _this5.removeChildData(getKey(child));
-        }
-      };
-
-      domNode.addEventListener(transitionEnd, transitionEndHandler);
-    }
-  }, {
-    key: 'triggerFinishHooks',
-    value: function triggerFinishHooks(child, domNode) {
-      var _this6 = this;
-
-      if (this.props.onFinish) this.props.onFinish(child, domNode);
-
-      // Reduce the number of children we need to animate by 1,
-      // so that we can tell when all children have finished.
-      this.remainingAnimations -= 1;
-
-      if (this.remainingAnimations === 0) {
-        // Remove any items from the DOM that have left, and reset `entering`.
-        var nextChildren = this.state.children.filter(function (_ref3) {
-          var leaving = _ref3.leaving;
-          return !leaving;
-        }).map(function (item) {
-          return _extends({}, item, {
-            appearing: false,
-            entering: false
-          });
-        });
-
-        this.setState({ children: nextChildren }, function () {
-          if (typeof _this6.props.onFinishAll === 'function') {
-            _this6.callChildrenHook(_this6.props.onFinishAll);
-          }
-
-          // Reset our variables for the next iteration
-          _this6.childrenToAnimate = [];
-        });
-
-        // If the placeholder was holding the container open while elements were
-        // leaving, we we can now set its height to zero.
-        if (this.heightPlaceholderData.domNode) {
-          this.heightPlaceholderData.domNode.style.height = '0';
-        }
-      }
-    }
-  }, {
-    key: 'callChildrenHook',
-    value: function callChildrenHook(hook) {
-      var _this7 = this;
-
-      var elements = [];
-      var domNodes = [];
-
-      this.childrenToAnimate.forEach(function (childKey) {
-        // If this was an exit animation, the child may no longer exist.
-        // If so, skip it.
-        var child = _this7.findChildByKey(childKey);
-
-        if (!child) {
-          return;
-        }
-
-        elements.push(child);
-
-        if (_this7.hasChildData(childKey)) {
-          domNodes.push(_this7.getChildData(childKey).domNode);
-        }
-      });
-
-      hook(elements, domNodes);
-    }
-  }, {
-    key: 'updateBoundingBoxCaches',
-    value: function updateBoundingBoxCaches() {
-      var _this8 = this;
-
-      // This is the ONLY place that parentData and childrenData's
-      // bounding boxes are updated. They will be calculated at other times
-      // to be compared to this value, but it's important that the cache is
-      // updated once per update.
-      var parentDomNode = this.parentData.domNode;
-
-      if (!parentDomNode) {
-        return;
-      }
-
-      this.parentData.boundingBox = this.props.getPosition(parentDomNode);
-
-      this.state.children.forEach(function (child) {
-        var childKey = getKey(child);
-
-        // It is possible that a child does not have a `key` property;
-        // Ignore these children, they don't need to be moved.
-        if (!childKey) {
-          return;
-        }
-
-        // In very rare circumstances, for reasons unknown, the ref is never
-        // populated for certain children. In this case, avoid doing this update.
-        // see: https://github.com/joshwcomeau/react-flip-move/pull/91
-        if (!_this8.hasChildData(childKey)) {
-          return;
-        }
-
-        var childData = _this8.getChildData(childKey);
-
-        // If the child element returns null, we need to avoid trying to
-        // account for it
-        if (!childData.domNode || !child) {
-          return;
-        }
-
-        _this8.setChildData(childKey, {
-          boundingBox: (0, _domManipulation.getRelativeBoundingBox)({
-            childDomNode: childData.domNode,
-            parentDomNode: parentDomNode,
-            getPosition: _this8.props.getPosition
-          })
-        });
-      });
-    }
-  }, {
-    key: 'computeInitialStyles',
-    value: function computeInitialStyles(child) {
-      if (child.appearing) {
-        return this.props.appearAnimation ? this.props.appearAnimation.from : {};
-      } else if (child.entering) {
-        if (!this.props.enterAnimation) {
-          return {};
-        }
-        // If this child was in the middle of leaving, it still has its
-        // absolute positioning styles applied. We need to undo those.
-        return _extends({
-          position: '',
-          top: '',
-          left: '',
-          right: '',
-          bottom: ''
-        }, this.props.enterAnimation.from);
-      } else if (child.leaving) {
-        return this.props.leaveAnimation ? this.props.leaveAnimation.from : {};
-      }
-
-      var childData = this.getChildData(getKey(child));
-      var childDomNode = childData.domNode;
-      var childBoundingBox = childData.boundingBox;
-      var parentBoundingBox = this.parentData.boundingBox;
-
-      if (!childDomNode) {
-        return {};
-      }
-
-      var _getPositionDelta3 = (0, _domManipulation.getPositionDelta)({
-        childDomNode: childDomNode,
-        childBoundingBox: childBoundingBox,
-        parentBoundingBox: parentBoundingBox,
-        getPosition: this.props.getPosition
-      }),
-          _getPositionDelta4 = _slicedToArray(_getPositionDelta3, 2),
-          dX = _getPositionDelta4[0],
-          dY = _getPositionDelta4[1];
-
-      return {
-        transform: 'translate(' + dX + 'px, ' + dY + 'px)'
-      };
-    }
-
-    // eslint-disable-next-line class-methods-use-this
-
-  }, {
-    key: 'isAnimationDisabled',
-    value: function isAnimationDisabled(props) {
-      // If the component is explicitly passed a `disableAllAnimations` flag,
-      // we can skip this whole process. Similarly, if all of the numbers have
-      // been set to 0, there is no point in trying to animate; doing so would
-      // only cause a flicker (and the intent is probably to disable animations)
-      // We can also skip this rigamarole if there's no browser support for it.
-      return noBrowserSupport || props.disableAllAnimations || props.duration === 0 && props.delay === 0 && props.staggerDurationBy === 0 && props.staggerDelayBy === 0;
-    }
-  }, {
-    key: 'findChildByKey',
-    value: function findChildByKey(key) {
-      return this.state.children.find(function (child) {
-        return getKey(child) === key;
-      });
-    }
-  }, {
-    key: 'hasChildData',
-    value: function hasChildData(key) {
-      // Object has some built-in properties on its prototype, such as toString.  hasOwnProperty makes
-      // sure that key is present on childrenData itself, not on its prototype.
-      return Object.prototype.hasOwnProperty.call(this.childrenData, key);
-    }
-  }, {
-    key: 'getChildData',
-    value: function getChildData(key) {
-      return this.hasChildData(key) ? this.childrenData[key] : {};
-    }
-  }, {
-    key: 'setChildData',
-    value: function setChildData(key, data) {
-      this.childrenData[key] = _extends({}, this.getChildData(key), data);
-    }
-  }, {
-    key: 'removeChildData',
-    value: function removeChildData(key) {
-      delete this.childrenData[key];
-    }
-  }, {
-    key: 'createHeightPlaceholder',
-    value: function createHeightPlaceholder() {
-      var _this9 = this;
-
-      var typeName = this.props.typeName;
-
-      // If requested, create an invisible element at the end of the list.
-      // Its height will be modified to prevent the container from collapsing
-      // prematurely.
-
-      var isContainerAList = typeName === 'ul' || typeName === 'ol';
-      var placeholderType = isContainerAList ? 'li' : 'div';
-
-      return _react2.default.createElement(placeholderType, {
-        key: 'height-placeholder',
-        ref: function ref(domNode) {
-          _this9.heightPlaceholderData.domNode = domNode;
-        },
-        style: { visibility: 'hidden', height: 0 }
-      });
-    }
-  }, {
-    key: 'childrenWithRefs',
-    value: function childrenWithRefs() {
-      var _this10 = this;
-
-      // We need to clone the provided children, capturing a reference to the
-      // underlying DOM node. Flip Move needs to use the React escape hatches to
-      // be able to do its calculations.
-      return this.state.children.map(function (child) {
-        return _react2.default.cloneElement(child.element, {
-          ref: function ref(element) {
-            // Stateless Functional Components are not supported by FlipMove,
-            // because they don't have instances.
-            if (!element) {
-              return;
-            }
-
-            var domNode = (0, _domManipulation.getNativeNode)(element);
-            _this10.setChildData(getKey(child), { domNode: domNode });
-          }
-        });
-      });
-    }
-  }, {
-    key: 'render',
-    value: function render() {
-      var _this11 = this;
-
-      var _props2 = this.props,
-          typeName = _props2.typeName,
-          delegated = _props2.delegated,
-          leaveAnimation = _props2.leaveAnimation,
-          maintainContainerHeight = _props2.maintainContainerHeight;
-
-
-      var props = _extends({}, delegated, {
-        ref: function ref(node) {
-          _this11.parentData.domNode = node;
-        }
-      });
-
-      var children = this.childrenWithRefs();
-      if (leaveAnimation && maintainContainerHeight) {
-        children.push(this.createHeightPlaceholder());
-      }
-
-      return _react2.default.createElement(typeName, props, children);
-    }
-  }]);
-
-  return FlipMove;
-}(_react.Component);
-
-exports.default = (0, _propConverter2.default)(FlipMove);
-module.exports = exports['default'];
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// @noflow
-/**
- * React Flip Move - Polyfills
- * (c) 2016-present Joshua Comeau
- */
-
-/* eslint-disable */
-
-if (!Array.prototype.find) {
-  Array.prototype.find = function (predicate) {
-    if (this === null) {
-      throw new TypeError('Array.prototype.find called on null or undefined');
-    }
-    if (typeof predicate !== 'function') {
-      throw new TypeError('predicate must be a function');
-    }
-    var list = Object(this);
-    var length = list.length >>> 0;
-    var thisArg = arguments[1];
-    var value = void 0;
-
-    for (var i = 0; i < length; i++) {
-      value = list[i];
-      if (predicate.call(thisArg, value, i, list)) {
-        return value;
-      }
-    }
-    return undefined;
-  };
-}
-
-if (!Array.prototype.every) {
-  Array.prototype.every = function (callbackfn, thisArg) {
-    'use strict';
-
-    var T, k;
-
-    if (this == null) {
-      throw new TypeError('this is null or not defined');
-    }
-
-    var O = Object(this);
-    var len = O.length >>> 0;
-
-    if (typeof callbackfn !== 'function') {
-      throw new TypeError();
-    }
-
-    if (arguments.length > 1) {
-      T = thisArg;
-    }
-
-    k = 0;
-
-    while (k < len) {
-
-      var kValue;
-
-      if (k in O) {
-        kValue = O[k];
-
-        var testResult = callbackfn.call(T, kValue, k, O);
-
-        if (!testResult) {
-          return false;
-        }
-      }
-      k++;
-    }
-    return true;
-  };
-}
-
-if (!Array.isArray) {
-  Array.isArray = function (arg) {
-    return Object.prototype.toString.call(arg) === '[object Array]';
-  };
-}
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-
-var _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _errorMessages = __webpack_require__(147);
-
-var _enterLeavePresets = __webpack_require__(148);
-
-var _helpers = __webpack_require__(47);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-/**
- * React Flip Move | propConverter
- * (c) 2016-present Joshua Comeau
- *
- * Abstracted away a bunch of the messy business with props.
- *   - props flow types and defaultProps
- *   - Type conversion (We accept 'string' and 'number' values for duration,
- *     delay, and other fields, but we actually need them to be ints.)
- *   - Children conversion (we need the children to be an array. May not always
- *     be, if a single child is passed in.)
- *   - Resolving animation presets into their base CSS styles
- */
-/* eslint-disable block-scoped-var */
-
-var nodeEnv = void 0;
-try {
-  nodeEnv = process.env.NODE_ENV;
-} catch (e) {
-  nodeEnv = 'development';
-}
-
-function propConverter(ComposedComponent) {
-  var _class, _temp;
-
-  return _temp = _class = function (_Component) {
-    _inherits(FlipMovePropConverter, _Component);
-
-    function FlipMovePropConverter() {
-      _classCallCheck(this, FlipMovePropConverter);
-
-      return _possibleConstructorReturn(this, (FlipMovePropConverter.__proto__ || Object.getPrototypeOf(FlipMovePropConverter)).apply(this, arguments));
-    }
-
-    _createClass(FlipMovePropConverter, [{
-      key: 'checkForStatelessFunctionalComponents',
-
-
-      // eslint-disable-next-line class-methods-use-this
-      value: function checkForStatelessFunctionalComponents(children) {
-        // Skip all console warnings in production.
-        // Bail early, to avoid unnecessary work.
-        if (nodeEnv === 'production') {
-          return;
-        }
-
-        // FlipMove does not support stateless functional components.
-        // Check to see if any supplied components won't work.
-        // If the child doesn't have a key, it means we aren't animating it.
-        // It's allowed to be an SFC, since we ignore it.
-        var childArray = _react.Children.toArray(children);
-        var noStateless = childArray.every(function (child) {
-          return !(0, _helpers.isElementAnSFC)(child) || typeof child.key === 'undefined';
-        });
-
-        if (!noStateless) {
-          (0, _errorMessages.statelessFunctionalComponentSupplied)();
-        }
-      }
-    }, {
-      key: 'convertProps',
-      value: function convertProps(props) {
-        var workingProps = {
-          // explicitly bypass the props that don't need conversion
-          children: props.children,
-          easing: props.easing,
-          onStart: props.onStart,
-          onFinish: props.onFinish,
-          onStartAll: props.onStartAll,
-          onFinishAll: props.onFinishAll,
-          typeName: props.typeName,
-          disableAllAnimations: props.disableAllAnimations,
-          getPosition: props.getPosition,
-          maintainContainerHeight: props.maintainContainerHeight,
-          verticalAlignment: props.verticalAlignment,
-
-          // Do string-to-int conversion for all timing-related props
-          duration: this.convertTimingProp('duration'),
-          delay: this.convertTimingProp('delay'),
-          staggerDurationBy: this.convertTimingProp('staggerDurationBy'),
-          staggerDelayBy: this.convertTimingProp('staggerDelayBy'),
-
-          // Our enter/leave animations can be specified as boolean (default or
-          // disabled), string (preset name), or object (actual animation values).
-          // Let's standardize this so that they're always objects
-          appearAnimation: this.convertAnimationProp(props.appearAnimation, _enterLeavePresets.appearPresets),
-          enterAnimation: this.convertAnimationProp(props.enterAnimation, _enterLeavePresets.enterPresets),
-          leaveAnimation: this.convertAnimationProp(props.leaveAnimation, _enterLeavePresets.leavePresets),
-
-          delegated: {}
-        };
-
-        this.checkForStatelessFunctionalComponents(workingProps.children);
-
-        // Accept `disableAnimations`, but add a deprecation warning
-        if (typeof props.disableAnimations !== 'undefined') {
-          if (nodeEnv !== 'production') {
-            (0, _errorMessages.deprecatedDisableAnimations)();
-          }
-
-          workingProps.disableAllAnimations = props.disableAnimations;
-        }
-
-        // Gather any additional props;
-        // they will be delegated to the ReactElement created.
-        var primaryPropKeys = Object.keys(workingProps);
-        var delegatedProps = (0, _helpers.omit)(this.props, primaryPropKeys);
-
-        // The FlipMove container element needs to have a non-static position.
-        // We use `relative` by default, but it can be overridden by the user.
-        // Now that we're delegating props, we need to merge this in.
-        delegatedProps.style = _extends({
-          position: 'relative'
-        }, delegatedProps.style);
-
-        workingProps.delegated = delegatedProps;
-
-        return workingProps;
-      }
-    }, {
-      key: 'convertTimingProp',
-      value: function convertTimingProp(prop) {
-        var rawValue = this.props[prop];
-
-        var value = typeof rawValue === 'number' ? rawValue : parseInt(rawValue, 10);
-
-        if (isNaN(value)) {
-          var defaultValue = FlipMovePropConverter.defaultProps[prop];
-
-          if (nodeEnv !== 'production') {
-            (0, _errorMessages.invalidTypeForTimingProp)({
-              prop: prop,
-              value: rawValue,
-              defaultValue: defaultValue
-            });
-          }
-
-          return defaultValue;
-        }
-
-        return value;
-      }
-
-      // eslint-disable-next-line class-methods-use-this
-
-    }, {
-      key: 'convertAnimationProp',
-      value: function convertAnimationProp(animation, presets) {
-        switch (typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) {
-          case 'boolean':
-            {
-              // If it's true, we want to use the default preset.
-              // If it's false, we want to use the 'none' preset.
-              return presets[animation ? _enterLeavePresets.defaultPreset : _enterLeavePresets.disablePreset];
-            }
-
-          case 'string':
-            {
-              var presetKeys = Object.keys(presets);
-
-              if (presetKeys.indexOf(animation) === -1) {
-                if (nodeEnv !== 'production') {
-                  (0, _errorMessages.invalidEnterLeavePreset)({
-                    value: animation,
-                    acceptableValues: presetKeys.join(', '),
-                    defaultValue: _enterLeavePresets.defaultPreset
-                  });
-                }
-
-                return presets[_enterLeavePresets.defaultPreset];
-              }
-
-              return presets[animation];
-            }
-
-          default:
-            {
-              return animation;
-            }
-        }
-      }
-    }, {
-      key: 'render',
-      value: function render() {
-        return _react2.default.createElement(ComposedComponent, this.convertProps(this.props));
-      }
-    }]);
-
-    return FlipMovePropConverter;
-  }(_react.Component), _class.defaultProps = {
-    easing: 'ease-in-out',
-    duration: 350,
-    delay: 0,
-    staggerDurationBy: 0,
-    staggerDelayBy: 0,
-    typeName: 'div',
-    enterAnimation: _enterLeavePresets.defaultPreset,
-    leaveAnimation: _enterLeavePresets.defaultPreset,
-    disableAllAnimations: false,
-    getPosition: function getPosition(node) {
-      return node.getBoundingClientRect();
-    },
-    maintainContainerHeight: false,
-    verticalAlignment: 'top'
-  }, _temp;
-}
-
-exports.default = propConverter;
-module.exports = exports['default'];
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-
-function warnOnce(msg) {
-  var hasWarned = false;
-  return function () {
-    if (!hasWarned) {
-      console.warn(msg);
-      hasWarned = true;
-    }
-  };
-}
-var statelessFunctionalComponentSupplied = exports.statelessFunctionalComponentSupplied = warnOnce('\n>> Error, via react-flip-move <<\n\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren\'t supported, because Flip Move needs access to the backing instances via refs, and SFCs don\'t have a public instance that holds that info.\n\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\n');
-
-var invalidTypeForTimingProp = exports.invalidTypeForTimingProp = function invalidTypeForTimingProp(args) {
-  return console.error('\n>> Error, via react-flip-move <<\n\nThe prop you provided for \'' + args.prop + '\' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is \'' + args.value + '\'.\n\nAs a result,  the default value for this parameter will be used, which is \'' + args.defaultValue + '\'.\n');
-};
-
-var deprecatedDisableAnimations = exports.deprecatedDisableAnimations = warnOnce('\n>> Warning, via react-flip-move <<\n\nThe \'disableAnimations\' prop you provided is deprecated. Please switch to use \'disableAllAnimations\'.\n\nThis will become a silent error in future versions of react-flip-move.\n');
-
-var invalidEnterLeavePreset = exports.invalidEnterLeavePreset = function invalidEnterLeavePreset(args) {
-  return console.error('\n>> Error, via react-flip-move <<\n\nThe enter/leave preset you provided is invalid. We don\'t currently have a \'' + args.value + ' preset.\'\n\nAcceptable values are ' + args.acceptableValues + '. The default value of \'' + args.defaultValue + '\' will be used.\n');
-};
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-var enterPresets = exports.enterPresets = {
-  elevator: {
-    from: { transform: 'scale(0)', opacity: '0' },
-    to: { transform: '', opacity: '' }
-  },
-  fade: {
-    from: { opacity: '0' },
-    to: { opacity: '' }
-  },
-  accordionVertical: {
-    from: { transform: 'scaleY(0)', transformOrigin: 'center top' },
-    to: { transform: '', transformOrigin: 'center top' }
-  },
-  accordionHorizontal: {
-    from: { transform: 'scaleX(0)', transformOrigin: 'left center' },
-    to: { transform: '', transformOrigin: 'left center' }
-  },
-  none: null
-};
-/**
- * React Flip Move | enterLeavePresets
- * (c) 2016-present Joshua Comeau
- *
- * This contains the master list of presets available for enter/leave animations,
- * along with the mapping between preset and styles.
- */
-var leavePresets = exports.leavePresets = {
-  elevator: {
-    from: { transform: 'scale(1)', opacity: '1' },
-    to: { transform: 'scale(0)', opacity: '0' }
-  },
-  fade: {
-    from: { opacity: '1' },
-    to: { opacity: '0' }
-  },
-  accordionVertical: {
-    from: { transform: 'scaleY(1)', transformOrigin: 'center top' },
-    to: { transform: 'scaleY(0)', transformOrigin: 'center top' }
-  },
-  accordionHorizontal: {
-    from: { transform: 'scaleX(1)', transformOrigin: 'left center' },
-    to: { transform: 'scaleX(0)', transformOrigin: 'left center' }
-  },
-  none: null
-};
-
-// For now, appearPresets will be identical to enterPresets.
-// Assigning a custom export in case we ever want to add appear-specific ones.
-var appearPresets = exports.appearPresets = enterPresets;
-
-// Embarrassingly enough, v2.0 launched with typo'ed preset names.
-// To avoid penning a new major version over something so inconsequential,
-// we're supporting both spellings. In a future version, these alternatives
-// may be deprecated.
-// $FlowFixMe
-enterPresets.accordianVertical = enterPresets.accordionVertical;
-// $FlowFixMe
-enterPresets.accordianHorizontal = enterPresets.accordionHorizontal;
-// $FlowFixMe
-leavePresets.accordianVertical = leavePresets.accordionVertical;
-// $FlowFixMe
-leavePresets.accordianHorizontal = leavePresets.accordionHorizontal;
-
-var defaultPreset = exports.defaultPreset = 'elevator';
-var disablePreset = exports.disablePreset = 'none';
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.createTransitionString = exports.getNativeNode = exports.updateHeightPlaceholder = exports.removeNodeFromDOMFlow = exports.getPositionDelta = exports.getRelativeBoundingBox = undefined;
-
-var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
-/**
- * React Flip Move
- * (c) 2016-present Joshua Comeau
- *
- * These methods read from and write to the DOM.
- * They almost always have side effects, and will hopefully become the
- * only spot in the codebase with impure functions.
- */
-
-
-exports.applyStylesToDOMNode = applyStylesToDOMNode;
-exports.whichTransitionEvent = whichTransitionEvent;
-
-var _reactDom = __webpack_require__(5);
-
-var _helpers = __webpack_require__(47);
-
-function _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; }
-
-function applyStylesToDOMNode(_ref) {
-  var domNode = _ref.domNode,
-      styles = _ref.styles;
-
-  // Can't just do an object merge because domNode.styles is no regular object.
-  // Need to do it this way for the engine to fire its `set` listeners.
-  Object.keys(styles).forEach(function (key) {
-    domNode.style.setProperty((0, _helpers.hyphenate)(key), styles[key]);
-  });
-}
-
-// Modified from Modernizr
-function whichTransitionEvent() {
-  var transitions = {
-    transition: 'transitionend',
-    '-o-transition': 'oTransitionEnd',
-    '-moz-transition': 'transitionend',
-    '-webkit-transition': 'webkitTransitionEnd'
-  };
-
-  // If we're running in a browserless environment (eg. SSR), it doesn't apply.
-  // Return a placeholder string, for consistent type return.
-  if (typeof document === 'undefined') return '';
-
-  var el = document.createElement('fakeelement');
-
-  var match = Object.keys(transitions).find(function (t) {
-    return el.style.getPropertyValue(t) !== undefined;
-  });
-
-  // If no `transition` is found, we must be running in a browser so ancient,
-  // React itself won't run. Return an empty string, for consistent type return
-  return match ? transitions[match] : '';
-}
-
-var getRelativeBoundingBox = exports.getRelativeBoundingBox = function getRelativeBoundingBox(_ref2) {
-  var childDomNode = _ref2.childDomNode,
-      parentDomNode = _ref2.parentDomNode,
-      getPosition = _ref2.getPosition;
-
-  var parentBox = getPosition(parentDomNode);
-
-  var _getPosition = getPosition(childDomNode),
-      top = _getPosition.top,
-      left = _getPosition.left,
-      right = _getPosition.right,
-      bottom = _getPosition.bottom,
-      width = _getPosition.width,
-      height = _getPosition.height;
-
-  return {
-    top: top - parentBox.top,
-    left: left - parentBox.left,
-    right: parentBox.right - right,
-    bottom: parentBox.bottom - bottom,
-    width: width,
-    height: height
-  };
-};
-
-/** getPositionDelta
- * This method returns the delta between two bounding boxes, to figure out
- * how many pixels on each axis the element has moved.
- *
- */
-var getPositionDelta = exports.getPositionDelta = function getPositionDelta(_ref3) {
-  var childDomNode = _ref3.childDomNode,
-      childBoundingBox = _ref3.childBoundingBox,
-      parentBoundingBox = _ref3.parentBoundingBox,
-      getPosition = _ref3.getPosition;
-
-  // TEMP: A mystery bug is sometimes causing unnecessary boundingBoxes to
-  var defaultBox = { top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 };
-
-  // Our old box is its last calculated position, derived on mount or at the
-  // start of the previous animation.
-  var oldRelativeBox = childBoundingBox || defaultBox;
-  var parentBox = parentBoundingBox || defaultBox;
-
-  // Our new box is the new final resting place: Where we expect it to wind up
-  // after the animation. First we get the box in absolute terms (AKA relative
-  // to the viewport), and then we calculate its relative box (relative to the
-  // parent container)
-  var newAbsoluteBox = getPosition(childDomNode);
-  var newRelativeBox = {
-    top: newAbsoluteBox.top - parentBox.top,
-    left: newAbsoluteBox.left - parentBox.left
-  };
-
-  return [oldRelativeBox.left - newRelativeBox.left, oldRelativeBox.top - newRelativeBox.top];
-};
-
-/** removeNodeFromDOMFlow
- * This method does something very sneaky: it removes a DOM node from the
- * document flow, but without actually changing its on-screen position.
- *
- * It works by calculating where the node is, and then applying styles
- * so that it winds up being positioned absolutely, but in exactly the
- * same place.
- *
- * This is a vital part of the FLIP technique.
- */
-var removeNodeFromDOMFlow = exports.removeNodeFromDOMFlow = function removeNodeFromDOMFlow(childData, verticalAlignment) {
-  var domNode = childData.domNode,
-      boundingBox = childData.boundingBox;
-
-
-  if (!domNode || !boundingBox) {
-    return;
-  }
-
-  // For this to work, we have to offset any given `margin`.
-  var computed = window.getComputedStyle(domNode);
-
-  // We need to clean up margins, by converting and removing suffix:
-  // eg. '21px' -> 21
-  var marginAttrs = ['margin-top', 'margin-left', 'margin-right'];
-  var margins = marginAttrs.reduce(function (acc, margin) {
-    var propertyVal = computed.getPropertyValue(margin);
-
-    return _extends({}, acc, _defineProperty({}, margin, Number(propertyVal.replace('px', ''))));
-  }, {});
-
-  // If we're bottom-aligned, we need to add the height of the child to its
-  // top offset. This is because, when the container is bottom-aligned, its
-  // height shrinks from the top, not the bottom. We're removing this node
-  // from the flow, so the top is going to drop by its height.
-  var topOffset = verticalAlignment === 'bottom' ? boundingBox.top - boundingBox.height : boundingBox.top;
-
-  var styles = {
-    position: 'absolute',
-    top: topOffset - margins['margin-top'] + 'px',
-    left: boundingBox.left - margins['margin-left'] + 'px',
-    right: boundingBox.right - margins['margin-right'] + 'px'
-  };
-
-  applyStylesToDOMNode({ domNode: domNode, styles: styles });
-};
-
-/** updateHeightPlaceholder
- * An optional property to FlipMove is a `maintainContainerHeight` boolean.
- * This property creates a node that fills space, so that the parent
- * container doesn't collapse when its children are removed from the
- * document flow.
- */
-var updateHeightPlaceholder = exports.updateHeightPlaceholder = function updateHeightPlaceholder(_ref4) {
-  var domNode = _ref4.domNode,
-      parentData = _ref4.parentData,
-      getPosition = _ref4.getPosition;
-
-  var parentDomNode = parentData.domNode;
-  var parentBoundingBox = parentData.boundingBox;
-
-  if (!parentDomNode || !parentBoundingBox) {
-    return;
-  }
-
-  // We need to find the height of the container *without* the placeholder.
-  // Since it's possible that the placeholder might already be present,
-  // we first set its height to 0.
-  // This allows the container to collapse down to the size of just its
-  // content (plus container padding or borders if any).
-  applyStylesToDOMNode({ domNode: domNode, styles: { height: '0' } });
-
-  // Find the distance by which the container would be collapsed by elements
-  // leaving. We compare the freshly-available parent height with the original,
-  // cached container height.
-  var originalParentHeight = parentBoundingBox.height;
-  var collapsedParentHeight = getPosition(parentDomNode).height;
-  var reductionInHeight = originalParentHeight - collapsedParentHeight;
-
-  // If the container has become shorter, update the padding element's
-  // height to take up the difference. Otherwise set its height to zero,
-  // so that it has no effect.
-  var styles = {
-    height: reductionInHeight > 0 ? reductionInHeight + 'px' : '0'
-  };
-
-  applyStylesToDOMNode({ domNode: domNode, styles: styles });
-};
-
-var getNativeNode = exports.getNativeNode = function getNativeNode(element) {
-  // When running in a windowless environment, abort!
-  if (typeof HTMLElement === 'undefined') {
-    return null;
-  }
-
-  // `element` may already be a native node.
-  if (element instanceof HTMLElement) {
-    return element;
-  }
-
-  // While ReactDOM's `findDOMNode` is discouraged, it's the only
-  // publicly-exposed way to find the underlying DOM node for
-  // composite components.
-  var foundNode = (0, _reactDom.findDOMNode)(element);
-
-  if (!(foundNode instanceof HTMLElement)) {
-    // Text nodes are not supported
-    return null;
-  }
-
-  return foundNode;
-};
-
-var createTransitionString = exports.createTransitionString = function createTransitionString(index, props) {
-  var delay = props.delay,
-      duration = props.duration;
-  var staggerDurationBy = props.staggerDurationBy,
-      staggerDelayBy = props.staggerDelayBy,
-      easing = props.easing;
-
-
-  delay += index * staggerDelayBy;
-  duration += index * staggerDurationBy;
-
-  var cssProperties = ['transform', 'opacity'];
-
-  return cssProperties.map(function (prop) {
-    return prop + ' ' + duration + 'ms ' + easing + ' ' + delay + 'ms';
-  }).join(', ');
-};
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
-	Autosize 3.0.21
-	license: MIT
-	http://www.jacklmoore.com/autosize
-*/
-(function (global, factory) {
-	if (true) {
-		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, module], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
-				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
-				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
-				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
-	} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
-		factory(exports, module);
-	} else {
-		var mod = {
-			exports: {}
-		};
-		factory(mod.exports, mod);
-		global.autosize = mod.exports;
-	}
-})(this, function (exports, module) {
-	'use strict';
-
-	var map = typeof Map === "function" ? new Map() : (function () {
-		var keys = [];
-		var values = [];
-
-		return {
-			has: function has(key) {
-				return keys.indexOf(key) > -1;
-			},
-			get: function get(key) {
-				return values[keys.indexOf(key)];
-			},
-			set: function set(key, value) {
-				if (keys.indexOf(key) === -1) {
-					keys.push(key);
-					values.push(value);
-				}
-			},
-			'delete': function _delete(key) {
-				var index = keys.indexOf(key);
-				if (index > -1) {
-					keys.splice(index, 1);
-					values.splice(index, 1);
-				}
-			}
-		};
-	})();
-
-	var createEvent = function createEvent(name) {
-		return new Event(name, { bubbles: true });
-	};
-	try {
-		new Event('test');
-	} catch (e) {
-		// IE does not support `new Event()`
-		createEvent = function (name) {
-			var evt = document.createEvent('Event');
-			evt.initEvent(name, true, false);
-			return evt;
-		};
-	}
-
-	function assign(ta) {
-		if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;
-
-		var heightOffset = null;
-		var clientWidth = ta.clientWidth;
-		var cachedHeight = null;
-
-		function init() {
-			var style = window.getComputedStyle(ta, null);
-
-			if (style.resize === 'vertical') {
-				ta.style.resize = 'none';
-			} else if (style.resize === 'both') {
-				ta.style.resize = 'horizontal';
-			}
-
-			if (style.boxSizing === 'content-box') {
-				heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
-			} else {
-				heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
-			}
-			// Fix when a textarea is not on document body and heightOffset is Not a Number
-			if (isNaN(heightOffset)) {
-				heightOffset = 0;
-			}
-
-			update();
-		}
-
-		function changeOverflow(value) {
-			{
-				// Chrome/Safari-specific fix:
-				// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
-				// made available by removing the scrollbar. The following forces the necessary text reflow.
-				var width = ta.style.width;
-				ta.style.width = '0px';
-				// Force reflow:
-				/* jshint ignore:start */
-				ta.offsetWidth;
-				/* jshint ignore:end */
-				ta.style.width = width;
-			}
-
-			ta.style.overflowY = value;
-		}
-
-		function getParentOverflows(el) {
-			var arr = [];
-
-			while (el && el.parentNode && el.parentNode instanceof Element) {
-				if (el.parentNode.scrollTop) {
-					arr.push({
-						node: el.parentNode,
-						scrollTop: el.parentNode.scrollTop
-					});
-				}
-				el = el.parentNode;
-			}
-
-			return arr;
-		}
-
-		function resize() {
-			var originalHeight = ta.style.height;
-			var overflows = getParentOverflows(ta);
-			var docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)
-
-			ta.style.height = 'auto';
-
-			var endHeight = ta.scrollHeight + heightOffset;
-
-			if (ta.scrollHeight === 0) {
-				// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
-				ta.style.height = originalHeight;
-				return;
-			}
-
-			ta.style.height = endHeight + 'px';
-
-			// used to check if an update is actually necessary on window.resize
-			clientWidth = ta.clientWidth;
-
-			// prevents scroll-position jumping
-			overflows.forEach(function (el) {
-				el.node.scrollTop = el.scrollTop;
-			});
-
-			if (docTop) {
-				document.documentElement.scrollTop = docTop;
-			}
-		}
-
-		function update() {
-			resize();
-
-			var styleHeight = Math.round(parseFloat(ta.style.height));
-			var computed = window.getComputedStyle(ta, null);
-
-			// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box
-			var actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;
-
-			// The actual height not matching the style height (set via the resize method) indicates that
-			// the max-height has been exceeded, in which case the overflow should be allowed.
-			if (actualHeight !== styleHeight) {
-				if (computed.overflowY === 'hidden') {
-					changeOverflow('scroll');
-					resize();
-					actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-				}
-			} else {
-				// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.
-				if (computed.overflowY !== 'hidden') {
-					changeOverflow('hidden');
-					resize();
-					actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
-				}
-			}
-
-			if (cachedHeight !== actualHeight) {
-				cachedHeight = actualHeight;
-				var evt = createEvent('autosize:resized');
-				try {
-					ta.dispatchEvent(evt);
-				} catch (err) {
-					// Firefox will throw an error on dispatchEvent for a detached element
-					// https://bugzilla.mozilla.org/show_bug.cgi?id=889376
-				}
-			}
-		}
-
-		var pageResize = function pageResize() {
-			if (ta.clientWidth !== clientWidth) {
-				update();
-			}
-		};
-
-		var destroy = (function (style) {
-			window.removeEventListener('resize', pageResize, false);
-			ta.removeEventListener('input', update, false);
-			ta.removeEventListener('keyup', update, false);
-			ta.removeEventListener('autosize:destroy', destroy, false);
-			ta.removeEventListener('autosize:update', update, false);
-
-			Object.keys(style).forEach(function (key) {
-				ta.style[key] = style[key];
-			});
-
-			map['delete'](ta);
-		}).bind(ta, {
-			height: ta.style.height,
-			resize: ta.style.resize,
-			overflowY: ta.style.overflowY,
-			overflowX: ta.style.overflowX,
-			wordWrap: ta.style.wordWrap
-		});
-
-		ta.addEventListener('autosize:destroy', destroy, false);
-
-		// IE9 does not fire onpropertychange or oninput for deletions,
-		// so binding to onkeyup to catch most of those events.
-		// There is no way that I know of to detect something like 'cut' in IE9.
-		if ('onpropertychange' in ta && 'oninput' in ta) {
-			ta.addEventListener('keyup', update, false);
-		}
-
-		window.addEventListener('resize', pageResize, false);
-		ta.addEventListener('input', update, false);
-		ta.addEventListener('autosize:update', update, false);
-		ta.style.overflowX = 'hidden';
-		ta.style.wordWrap = 'break-word';
-
-		map.set(ta, {
-			destroy: destroy,
-			update: update
-		});
-
-		init();
-	}
-
-	function destroy(ta) {
-		var methods = map.get(ta);
-		if (methods) {
-			methods.destroy();
-		}
-	}
-
-	function update(ta) {
-		var methods = map.get(ta);
-		if (methods) {
-			methods.update();
-		}
-	}
-
-	var autosize = null;
-
-	// Do nothing in Node.js environment and IE8 (or lower)
-	if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
-		autosize = function (el) {
-			return el;
-		};
-		autosize.destroy = function (el) {
-			return el;
-		};
-		autosize.update = function (el) {
-			return el;
-		};
-	} else {
-		autosize = function (el, options) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], function (x) {
-					return assign(x, options);
-				});
-			}
-			return el;
-		};
-		autosize.destroy = function (el) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], destroy);
-			}
-			return el;
-		};
-		autosize.update = function (el) {
-			if (el) {
-				Array.prototype.forEach.call(el.length ? el : [el], update);
-			}
-			return el;
-		};
-	}
-
-	module.exports = autosize;
-});
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-exports.default = function (language) {
-  return new _polyglot2.default({
-    phrases: i18nMap[language] || i18nMap.en,
-    locale: language
-  });
-};
-
-var _polyglot = __webpack_require__(152);
-
-var _polyglot2 = _interopRequireDefault(_polyglot);
-
-var _zhCN = __webpack_require__(153);
-
-var _zhCN2 = _interopRequireDefault(_zhCN);
-
-var _zhTW = __webpack_require__(154);
-
-var _zhTW2 = _interopRequireDefault(_zhTW);
-
-var _en = __webpack_require__(155);
-
-var _en2 = _interopRequireDefault(_en);
-
-var _esES = __webpack_require__(156);
-
-var _esES2 = _interopRequireDefault(_esES);
-
-var _fr = __webpack_require__(157);
-
-var _fr2 = _interopRequireDefault(_fr);
-
-var _ru = __webpack_require__(158);
-
-var _ru2 = _interopRequireDefault(_ru);
-
-var _de = __webpack_require__(159);
-
-var _de2 = _interopRequireDefault(_de);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var i18nMap = {
-  'zh': _zhCN2.default,
-  'zh-CN': _zhCN2.default,
-  'zh-TW': _zhTW2.default,
-  'en': _en2.default,
-  'es-ES': _esES2.default,
-  'fr': _fr2.default,
-  'ru': _ru2.default,
-  'de': _de2.default
-};
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//     (c) 2012 Airbnb, Inc.
-//
-//     polyglot.js may be freely distributed under the terms of the BSD
-//     license. For all licensing information, details, and documention:
-//     http://airbnb.github.com/polyglot.js
-//
-//
-// Polyglot.js is an I18n helper library written in JavaScript, made to
-// work both in the browser and in Node. It provides a simple solution for
-// interpolation and pluralization, based off of Airbnb's
-// experience adding I18n functionality to its Backbone.js and Node apps.
-//
-// Polylglot is agnostic to your translation backend. It doesn't perform any
-// translation; it simply gives you a way to manage translated phrases from
-// your client- or server-side JavaScript application.
-//
-
-
-(function(root, factory) {
-  if (true) {
-    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {
-      return factory(root);
-    }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
-				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
-  } else if (typeof exports === 'object') {
-    module.exports = factory(root);
-  } else {
-    root.Polyglot = factory(root);
-  }
-}(this, function(root) {
-  'use strict';
-
-  // ### Polyglot class constructor
-  function Polyglot(options) {
-    options = options || {};
-    this.phrases = {};
-    this.extend(options.phrases || {});
-    this.currentLocale = options.locale || 'en';
-    this.allowMissing = !!options.allowMissing;
-    this.warn = options.warn || warn;
-  }
-
-  // ### Version
-  Polyglot.VERSION = '0.4.3';
-
-  // ### polyglot.locale([locale])
-  //
-  // Get or set locale. Internally, Polyglot only uses locale for pluralization.
-  Polyglot.prototype.locale = function(newLocale) {
-    if (newLocale) this.currentLocale = newLocale;
-    return this.currentLocale;
-  };
-
-  // ### polyglot.extend(phrases)
-  //
-  // Use `extend` to tell Polyglot how to translate a given key.
-  //
-  //     polyglot.extend({
-  //       "hello": "Hello",
-  //       "hello_name": "Hello, %{name}"
-  //     });
-  //
-  // The key can be any string.  Feel free to call `extend` multiple times;
-  // it will override any phrases with the same key, but leave existing phrases
-  // untouched.
-  //
-  // It is also possible to pass nested phrase objects, which get flattened
-  // into an object with the nested keys concatenated using dot notation.
-  //
-  //     polyglot.extend({
-  //       "nav": {
-  //         "hello": "Hello",
-  //         "hello_name": "Hello, %{name}",
-  //         "sidebar": {
-  //           "welcome": "Welcome"
-  //         }
-  //       }
-  //     });
-  //
-  //     console.log(polyglot.phrases);
-  //     // {
-  //     //   'nav.hello': 'Hello',
-  //     //   'nav.hello_name': 'Hello, %{name}',
-  //     //   'nav.sidebar.welcome': 'Welcome'
-  //     // }
-  //
-  // `extend` accepts an optional second argument, `prefix`, which can be used
-  // to prefix every key in the phrases object with some string, using dot
-  // notation.
-  //
-  //     polyglot.extend({
-  //       "hello": "Hello",
-  //       "hello_name": "Hello, %{name}"
-  //     }, "nav");
-  //
-  //     console.log(polyglot.phrases);
-  //     // {
-  //     //   'nav.hello': 'Hello',
-  //     //   'nav.hello_name': 'Hello, %{name}'
-  //     // }
-  //
-  // This feature is used internally to support nested phrase objects.
-  Polyglot.prototype.extend = function(morePhrases, prefix) {
-    var phrase;
-
-    for (var key in morePhrases) {
-      if (morePhrases.hasOwnProperty(key)) {
-        phrase = morePhrases[key];
-        if (prefix) key = prefix + '.' + key;
-        if (typeof phrase === 'object') {
-          this.extend(phrase, key);
-        } else {
-          this.phrases[key] = phrase;
-        }
-      }
-    }
-  };
-
-  // ### polyglot.clear()
-  //
-  // Clears all phrases. Useful for special cases, such as freeing
-  // up memory if you have lots of phrases but no longer need to
-  // perform any translation. Also used internally by `replace`.
-  Polyglot.prototype.clear = function() {
-    this.phrases = {};
-  };
-
-  // ### polyglot.replace(phrases)
-  //
-  // Completely replace the existing phrases with a new set of phrases.
-  // Normally, just use `extend` to add more phrases, but under certain
-  // circumstances, you may want to make sure no old phrases are lying around.
-  Polyglot.prototype.replace = function(newPhrases) {
-    this.clear();
-    this.extend(newPhrases);
-  };
-
-
-  // ### polyglot.t(key, options)
-  //
-  // The most-used method. Provide a key, and `t` will return the
-  // phrase.
-  //
-  //     polyglot.t("hello");
-  //     => "Hello"
-  //
-  // The phrase value is provided first by a call to `polyglot.extend()` or
-  // `polyglot.replace()`.
-  //
-  // Pass in an object as the second argument to perform interpolation.
-  //
-  //     polyglot.t("hello_name", {name: "Spike"});
-  //     => "Hello, Spike"
-  //
-  // If you like, you can provide a default value in case the phrase is missing.
-  // Use the special option key "_" to specify a default.
-  //
-  //     polyglot.t("i_like_to_write_in_language", {
-  //       _: "I like to write in %{language}.",
-  //       language: "JavaScript"
-  //     });
-  //     => "I like to write in JavaScript."
-  //
-  Polyglot.prototype.t = function(key, options) {
-    var phrase, result;
-    options = options == null ? {} : options;
-    // allow number as a pluralization shortcut
-    if (typeof options === 'number') {
-      options = {smart_count: options};
-    }
-    if (typeof this.phrases[key] === 'string') {
-      phrase = this.phrases[key];
-    } else if (typeof options._ === 'string') {
-      phrase = options._;
-    } else if (this.allowMissing) {
-      phrase = key;
-    } else {
-      this.warn('Missing translation for key: "'+key+'"');
-      result = key;
-    }
-    if (typeof phrase === 'string') {
-      options = clone(options);
-      result = choosePluralForm(phrase, this.currentLocale, options.smart_count);
-      result = interpolate(result, options);
-    }
-    return result;
-  };
-
-
-  // ### polyglot.has(key)
-  //
-  // Check if polyglot has a translation for given key
-  Polyglot.prototype.has = function(key) {
-    return key in this.phrases;
-  };
-
-
-  // #### Pluralization methods
-  // The string that separates the different phrase possibilities.
-  var delimeter = '||||';
-
-  // Mapping from pluralization group plural logic.
-  var pluralTypes = {
-    chinese:   function(n) { return 0; },
-    german:    function(n) { return n !== 1 ? 1 : 0; },
-    french:    function(n) { return n > 1 ? 1 : 0; },
-    russian:   function(n) { return n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2; },
-    czech:     function(n) { return (n === 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2; },
-    polish:    function(n) { return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); },
-    icelandic: function(n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }
-  };
-
-  // Mapping from pluralization group to individual locales.
-  var pluralTypeToLanguages = {
-    chinese:   ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],
-    german:    ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],
-    french:    ['fr', 'tl', 'pt-br'],
-    russian:   ['hr', 'ru'],
-    czech:     ['cs'],
-    polish:    ['pl'],
-    icelandic: ['is']
-  };
-
-  function langToTypeMap(mapping) {
-    var type, langs, l, ret = {};
-    for (type in mapping) {
-      if (mapping.hasOwnProperty(type)) {
-        langs = mapping[type];
-        for (l in langs) {
-          ret[langs[l]] = type;
-        }
-      }
-    }
-    return ret;
-  }
-
-  // Trim a string.
-  function trim(str){
-    var trimRe = /^\s+|\s+$/g;
-    return str.replace(trimRe, '');
-  }
-
-  // Based on a phrase text that contains `n` plural forms separated
-  // by `delimeter`, a `locale`, and a `count`, choose the correct
-  // plural form, or none if `count` is `null`.
-  function choosePluralForm(text, locale, count){
-    var ret, texts, chosenText;
-    if (count != null && text) {
-      texts = text.split(delimeter);
-      chosenText = texts[pluralTypeIndex(locale, count)] || texts[0];
-      ret = trim(chosenText);
-    } else {
-      ret = text;
-    }
-    return ret;
-  }
-
-  function pluralTypeName(locale) {
-    var langToPluralType = langToTypeMap(pluralTypeToLanguages);
-    return langToPluralType[locale] || langToPluralType.en;
-  }
-
-  function pluralTypeIndex(locale, count) {
-    return pluralTypes[pluralTypeName(locale)](count);
-  }
-
-  // ### interpolate
-  //
-  // Does the dirty work. Creates a `RegExp` object for each
-  // interpolation placeholder.
-  function interpolate(phrase, options) {
-    for (var arg in options) {
-      if (arg !== '_' && options.hasOwnProperty(arg)) {
-        // We create a new `RegExp` each time instead of using a more-efficient
-        // string replace so that the same argument can be replaced multiple times
-        // in the same phrase.
-        phrase = phrase.replace(new RegExp('%\\{'+arg+'\\}', 'g'), options[arg]);
-      }
-    }
-    return phrase;
-  }
-
-  // ### warn
-  //
-  // Provides a warning in the console if a phrase key is missing.
-  function warn(message) {
-    root.console && root.console.warn && root.console.warn('WARNING: ' + message);
-  }
-
-  // ### clone
-  //
-  // Clone an object.
-  function clone(source) {
-    var ret = {};
-    for (var prop in source) {
-      ret[prop] = source[prop];
-    }
-    return ret;
-  }
-
-  return Polyglot;
-}));
-
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalk 加载中 ...","no-found-related":"未找到相关的 %{link} 进行评论","please-contact":"请联系 %{user} 初始化创建","init-issue":"初始化 Issue","leave-a-comment":"说点什么","preview":"预览","edit":"编辑","comment":"评论","support-markdown":"支持 Markdown 语法","login-with-github":"使用 GitHub 登录","first-comment-person":"来做第一个留言的人吧！","commented":"发表于","load-more":"加载更多","counts":"%{counts} 条评论","sort-asc":"从旧到新排序","sort-desc":"从新到旧排序","logout":"注销","anonymous":"未登录用户"}
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalk 載入中…","no-found-related":"未找到相關的 %{link}","please-contact":"請聯絡 %{user} 初始化評論","init-issue":"初始化 Issue","leave-a-comment":"寫點什麼","preview":"預覽","edit":"編輯","comment":"評論","support-markdown":"支援 Markdown 語法","login-with-github":"使用 GitHub 登入","first-comment-person":"成為首個留言的人吧！","commented":"評論於","load-more":"載入更多","counts":"%{counts} 筆評論","sort-asc":"從舊至新排序","sort-desc":"從新至舊排序","logout":"登出","anonymous":"訪客"}
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Related %{link} not found","please-contact":"Please contact %{user} to initialize the comment","init-issue":"Init Issue","leave-a-comment":"Leave a comment","preview":"Preview","edit":"Edit","comment":"Comment","support-markdown":"Markdown is supported","login-with-github":"Login with GitHub","first-comment-person":"Be the first person to leave a comment!","commented":"commented","load-more":"Load more","counts":"%{counts} comment |||| %{counts} comments","sort-asc":"Sort by Oldest","sort-desc":"Sort by Latest","logout":"Logout","anonymous":"Anonymous"}
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Link %{link} no encontrado","please-contact":"Por favor contacta con %{user} para inicializar el comentario","init-issue":"Iniciar Issue","leave-a-comment":"Deja un comentario","preview":"Avance","edit":"Editar","comment":"Comentario","support-markdown":"Markdown es soportado","login-with-github":"Entrar con GitHub","first-comment-person":"Sé el primero en dejar un comentario!","commented":"comentó","load-more":"Cargar más","counts":"%{counts} comentario |||| %{counts} comentarios","sort-asc":"Ordenar por Antiguos","sort-desc":"Ordenar por Recientes","logout":"Salir","anonymous":"Anónimo"}
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Lien %{link} non trouvé","please-contact":"S’il vous plaît contactez %{user} pour initialiser les commentaires","init-issue":"Initialisation des issues","leave-a-comment":"Laisser un commentaire","preview":"Aperçu","edit":"Modifier","comment":"Commentaire","support-markdown":"Markdown est supporté","login-with-github":"Se connecter avec GitHub","first-comment-person":"Être le premier à laisser un commentaire !","commented":"commenter","load-more":"Charger plus","counts":"%{counts} commentaire |||| %{counts} commentaires","sort-asc":"Trier par plus ancien","sort-desc":"Trier par plus récent","logout":"Déconnexion","anonymous":"Anonyme"}
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Связанные %{link} не найдены","please-contact":"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий","init-issue":"Выпуск инициализации","leave-a-comment":"Оставить комментарий","preview":"Предварительный просмотр","edit":"Pедактировать","comment":"Комментарий","support-markdown":"Поддерживается Markdown","login-with-github":"Вход через GitHub","first-comment-person":"Будьте первым, кто оставил комментарий","commented":"прокомментированный","load-more":"Загрузить ещё","counts":"%{counts} комментарий |||| %{counts} комментарьев","sort-asc":"Сортировать по старым","sort-desc":"Сортировать по последним","logout":"Выход","anonymous":"Анонимный"}
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports) {
-
-module.exports = {"init":"Gitalking ...","no-found-related":"Zugehöriger %{link} nicht gefunden","please-contact":"Bitte kontaktiere %{user} um den Kommentar zu initialisieren","init-issue":"Initialisiere Issue","leave-a-comment":"Hinterlasse einen Kommentar","preview":"Vorschau","edit":"Editieren","comment":"Kommentieren","support-markdown":"Markdown wird unterstützt","login-with-github":"Mit GitHub-Account anmelden","first-comment-person":"Sei die erste Person, welche einen Kommentar hinterlässt!","commented":"kommentierte","load-more":"Zeige mehr","counts":"%{counts} Kommentar |||| %{counts} Kommentare","sort-asc":"Älteste zuerst","sort-desc":"Neuste zuerst","logout":"Abmelden","anonymous":"Anonym"}
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(162), __esModule: true };
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(163);
-module.exports = __webpack_require__(0).Object.keys;
-
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.14 Object.keys(O)
-var toObject = __webpack_require__(17);
-var $keys = __webpack_require__(22);
-
-__webpack_require__(65)('keys', function () {
-  return function keys(it) {
-    return $keys(toObject(it));
-  };
-});
-
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _isIterable2 = __webpack_require__(165);
-
-var _isIterable3 = _interopRequireDefault(_isIterable2);
-
-var _getIterator2 = __webpack_require__(168);
-
-var _getIterator3 = _interopRequireDefault(_getIterator2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function () {
-  function sliceIterator(arr, i) {
-    var _arr = [];
-    var _n = true;
-    var _d = false;
-    var _e = undefined;
-
-    try {
-      for (var _i = (0, _getIterator3.default)(arr), _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"]) _i["return"]();
-      } finally {
-        if (_d) throw _e;
-      }
-    }
-
-    return _arr;
-  }
-
-  return function (arr, i) {
-    if (Array.isArray(arr)) {
-      return arr;
-    } else if ((0, _isIterable3.default)(Object(arr))) {
-      return sliceIterator(arr, i);
-    } else {
-      throw new TypeError("Invalid attempt to destructure non-iterable instance");
-    }
-  };
-}();
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(166), __esModule: true };
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(27);
-__webpack_require__(20);
-module.exports = __webpack_require__(167);
-
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var classof = __webpack_require__(41);
-var ITERATOR = __webpack_require__(2)('iterator');
-var Iterators = __webpack_require__(15);
-module.exports = __webpack_require__(0).isIterable = function (it) {
-  var O = Object(it);
-  return O[ITERATOR] !== undefined
-    || '@@iterator' in O
-    // eslint-disable-next-line no-prototype-builtins
-    || Iterators.hasOwnProperty(classof(O));
-};
-
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(169), __esModule: true };
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(27);
-__webpack_require__(20);
-module.exports = __webpack_require__(170);
-
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var anObject = __webpack_require__(6);
-var get = __webpack_require__(42);
-module.exports = __webpack_require__(0).getIterator = function (it) {
-  var iterFn = get(it);
-  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
-  return anObject(iterFn.call(it));
-};
-
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(172);
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var bind = __webpack_require__(72);
-var Axios = __webpack_require__(173);
-var mergeConfig = __webpack_require__(78);
-var defaults = __webpack_require__(75);
-
-/**
- * Create an instance of Axios
- *
- * @param {Object} defaultConfig The default config for the instance
- * @return {Axios} A new instance of Axios
- */
-function createInstance(defaultConfig) {
-  var context = new Axios(defaultConfig);
-  var instance = bind(Axios.prototype.request, context);
-
-  // Copy axios.prototype to instance
-  utils.extend(instance, Axios.prototype, context);
-
-  // Copy context to instance
-  utils.extend(instance, context);
-
-  return instance;
-}
-
-// Create the default instance to be exported
-var axios = createInstance(defaults);
-
-// Expose Axios class to allow class inheritance
-axios.Axios = Axios;
-
-// Factory for creating new instances
-axios.create = function create(instanceConfig) {
-  return createInstance(mergeConfig(axios.defaults, instanceConfig));
-};
-
-// Expose Cancel & CancelToken
-axios.Cancel = __webpack_require__(79);
-axios.CancelToken = __webpack_require__(186);
-axios.isCancel = __webpack_require__(74);
-
-// Expose all/spread
-axios.all = function all(promises) {
-  return Promise.all(promises);
-};
-axios.spread = __webpack_require__(187);
-
-module.exports = axios;
-
-// Allow use of default import syntax in TypeScript
-module.exports.default = axios;
-
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var buildURL = __webpack_require__(73);
-var InterceptorManager = __webpack_require__(174);
-var dispatchRequest = __webpack_require__(175);
-var mergeConfig = __webpack_require__(78);
-
-/**
- * Create a new instance of Axios
- *
- * @param {Object} instanceConfig The default config for the instance
- */
-function Axios(instanceConfig) {
-  this.defaults = instanceConfig;
-  this.interceptors = {
-    request: new InterceptorManager(),
-    response: new InterceptorManager()
-  };
-}
-
-/**
- * Dispatch a request
- *
- * @param {Object} config The config specific for this request (merged with this.defaults)
- */
-Axios.prototype.request = function request(config) {
-  /*eslint no-param-reassign:0*/
-  // Allow for axios('example/url'[, config]) a la fetch API
-  if (typeof config === 'string') {
-    config = arguments[1] || {};
-    config.url = arguments[0];
-  } else {
-    config = config || {};
-  }
-
-  config = mergeConfig(this.defaults, config);
-
-  // Set config.method
-  if (config.method) {
-    config.method = config.method.toLowerCase();
-  } else if (this.defaults.method) {
-    config.method = this.defaults.method.toLowerCase();
-  } else {
-    config.method = 'get';
-  }
-
-  // Hook up interceptors middleware
-  var chain = [dispatchRequest, undefined];
-  var promise = Promise.resolve(config);
-
-  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
-    chain.unshift(interceptor.fulfilled, interceptor.rejected);
-  });
-
-  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
-    chain.push(interceptor.fulfilled, interceptor.rejected);
-  });
-
-  while (chain.length) {
-    promise = promise.then(chain.shift(), chain.shift());
-  }
-
-  return promise;
-};
-
-Axios.prototype.getUri = function getUri(config) {
-  config = mergeConfig(this.defaults, config);
-  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
-};
-
-// Provide aliases for supported request methods
-utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
-  /*eslint func-names:0*/
-  Axios.prototype[method] = function(url, config) {
-    return this.request(utils.merge(config || {}, {
-      method: method,
-      url: url
-    }));
-  };
-});
-
-utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
-  /*eslint func-names:0*/
-  Axios.prototype[method] = function(url, data, config) {
-    return this.request(utils.merge(config || {}, {
-      method: method,
-      url: url,
-      data: data
-    }));
-  };
-});
-
-module.exports = Axios;
-
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-function InterceptorManager() {
-  this.handlers = [];
-}
-
-/**
- * Add a new interceptor to the stack
- *
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
- * @param {Function} rejected The function to handle `reject` for a `Promise`
- *
- * @return {Number} An ID used to remove interceptor later
- */
-InterceptorManager.prototype.use = function use(fulfilled, rejected) {
-  this.handlers.push({
-    fulfilled: fulfilled,
-    rejected: rejected
-  });
-  return this.handlers.length - 1;
-};
-
-/**
- * Remove an interceptor from the stack
- *
- * @param {Number} id The ID that was returned by `use`
- */
-InterceptorManager.prototype.eject = function eject(id) {
-  if (this.handlers[id]) {
-    this.handlers[id] = null;
-  }
-};
-
-/**
- * Iterate over all the registered interceptors
- *
- * This method is particularly useful for skipping over any
- * interceptors that may have become `null` calling `eject`.
- *
- * @param {Function} fn The function to call for each interceptor
- */
-InterceptorManager.prototype.forEach = function forEach(fn) {
-  utils.forEach(this.handlers, function forEachHandler(h) {
-    if (h !== null) {
-      fn(h);
-    }
-  });
-};
-
-module.exports = InterceptorManager;
-
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-var transformData = __webpack_require__(176);
-var isCancel = __webpack_require__(74);
-var defaults = __webpack_require__(75);
-
-/**
- * Throws a `Cancel` if cancellation has been requested.
- */
-function throwIfCancellationRequested(config) {
-  if (config.cancelToken) {
-    config.cancelToken.throwIfRequested();
-  }
-}
-
-/**
- * Dispatch a request to the server using the configured adapter.
- *
- * @param {object} config The config that is to be used for the request
- * @returns {Promise} The Promise to be fulfilled
- */
-module.exports = function dispatchRequest(config) {
-  throwIfCancellationRequested(config);
-
-  // Ensure headers exist
-  config.headers = config.headers || {};
-
-  // Transform request data
-  config.data = transformData(
-    config.data,
-    config.headers,
-    config.transformRequest
-  );
-
-  // Flatten headers
-  config.headers = utils.merge(
-    config.headers.common || {},
-    config.headers[config.method] || {},
-    config.headers
-  );
-
-  utils.forEach(
-    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
-    function cleanHeaderConfig(method) {
-      delete config.headers[method];
-    }
-  );
-
-  var adapter = config.adapter || defaults.adapter;
-
-  return adapter(config).then(function onAdapterResolution(response) {
-    throwIfCancellationRequested(config);
-
-    // Transform response data
-    response.data = transformData(
-      response.data,
-      response.headers,
-      config.transformResponse
-    );
-
-    return response;
-  }, function onAdapterRejection(reason) {
-    if (!isCancel(reason)) {
-      throwIfCancellationRequested(config);
-
-      // Transform response data
-      if (reason && reason.response) {
-        reason.response.data = transformData(
-          reason.response.data,
-          reason.response.headers,
-          config.transformResponse
-        );
-      }
-    }
-
-    return Promise.reject(reason);
-  });
-};
-
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-/**
- * Transform the data for a request or a response
- *
- * @param {Object|String} data The data to be transformed
- * @param {Array} headers The headers for the request or response
- * @param {Array|Function} fns A single function or Array of functions
- * @returns {*} The resulting transformed data
- */
-module.exports = function transformData(data, headers, fns) {
-  /*eslint no-param-reassign:0*/
-  utils.forEach(fns, function transform(fn) {
-    data = fn(data, headers);
-  });
-
-  return data;
-};
-
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-module.exports = function normalizeHeaderName(headers, normalizedName) {
-  utils.forEach(headers, function processHeader(value, name) {
-    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
-      headers[normalizedName] = value;
-      delete headers[name];
-    }
-  });
-};
-
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var createError = __webpack_require__(77);
-
-/**
- * Resolve or reject a Promise based on response status.
- *
- * @param {Function} resolve A function that resolves the promise.
- * @param {Function} reject A function that rejects the promise.
- * @param {object} response The response.
- */
-module.exports = function settle(resolve, reject, response) {
-  var validateStatus = response.config.validateStatus;
-  if (!validateStatus || validateStatus(response.status)) {
-    resolve(response);
-  } else {
-    reject(createError(
-      'Request failed with status code ' + response.status,
-      response.config,
-      null,
-      response.request,
-      response
-    ));
-  }
-};
-
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Update an Error with the specified config, error code, and response.
- *
- * @param {Error} error The error to update.
- * @param {Object} config The config.
- * @param {string} [code] The error code (for example, 'ECONNABORTED').
- * @param {Object} [request] The request.
- * @param {Object} [response] The response.
- * @returns {Error} The error.
- */
-module.exports = function enhanceError(error, config, code, request, response) {
-  error.config = config;
-  if (code) {
-    error.code = code;
-  }
-
-  error.request = request;
-  error.response = response;
-  error.isAxiosError = true;
-
-  error.toJSON = function() {
-    return {
-      // Standard
-      message: this.message,
-      name: this.name,
-      // Microsoft
-      description: this.description,
-      number: this.number,
-      // Mozilla
-      fileName: this.fileName,
-      lineNumber: this.lineNumber,
-      columnNumber: this.columnNumber,
-      stack: this.stack,
-      // Axios
-      config: this.config,
-      code: this.code
-    };
-  };
-  return error;
-};
-
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var isAbsoluteURL = __webpack_require__(181);
-var combineURLs = __webpack_require__(182);
-
-/**
- * Creates a new URL by combining the baseURL with the requestedURL,
- * only when the requestedURL is not already an absolute URL.
- * If the requestURL is absolute, this function returns the requestedURL untouched.
- *
- * @param {string} baseURL The base URL
- * @param {string} requestedURL Absolute or relative URL to combine
- * @returns {string} The combined full path
- */
-module.exports = function buildFullPath(baseURL, requestedURL) {
-  if (baseURL && !isAbsoluteURL(requestedURL)) {
-    return combineURLs(baseURL, requestedURL);
-  }
-  return requestedURL;
-};
-
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Determines whether the specified URL is absolute
- *
- * @param {string} url The URL to test
- * @returns {boolean} True if the specified URL is absolute, otherwise false
- */
-module.exports = function isAbsoluteURL(url) {
-  // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
-  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
-  // by any combination of letters, digits, plus, period, or hyphen.
-  return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
-};
-
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Creates a new URL by combining the specified URLs
- *
- * @param {string} baseURL The base URL
- * @param {string} relativeURL The relative URL
- * @returns {string} The combined URL
- */
-module.exports = function combineURLs(baseURL, relativeURL) {
-  return relativeURL
-    ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
-    : baseURL;
-};
-
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-// Headers whose duplicates are ignored by node
-// c.f. https://nodejs.org/api/http.html#http_message_headers
-var ignoreDuplicateOf = [
-  'age', 'authorization', 'content-length', 'content-type', 'etag',
-  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
-  'last-modified', 'location', 'max-forwards', 'proxy-authorization',
-  'referer', 'retry-after', 'user-agent'
-];
-
-/**
- * Parse headers into an object
- *
- * ```
- * Date: Wed, 27 Aug 2014 08:58:49 GMT
- * Content-Type: application/json
- * Connection: keep-alive
- * Transfer-Encoding: chunked
- * ```
- *
- * @param {String} headers Headers needing to be parsed
- * @returns {Object} Headers parsed into an object
- */
-module.exports = function parseHeaders(headers) {
-  var parsed = {};
-  var key;
-  var val;
-  var i;
-
-  if (!headers) { return parsed; }
-
-  utils.forEach(headers.split('\n'), function parser(line) {
-    i = line.indexOf(':');
-    key = utils.trim(line.substr(0, i)).toLowerCase();
-    val = utils.trim(line.substr(i + 1));
-
-    if (key) {
-      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
-        return;
-      }
-      if (key === 'set-cookie') {
-        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
-      } else {
-        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
-      }
-    }
-  });
-
-  return parsed;
-};
-
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-module.exports = (
-  utils.isStandardBrowserEnv() ?
-
-  // Standard browser envs have full support of the APIs needed to test
-  // whether the request URL is of the same origin as current location.
-    (function standardBrowserEnv() {
-      var msie = /(msie|trident)/i.test(navigator.userAgent);
-      var urlParsingNode = document.createElement('a');
-      var originURL;
-
-      /**
-    * Parse a URL to discover it's components
-    *
-    * @param {String} url The URL to be parsed
-    * @returns {Object}
-    */
-      function resolveURL(url) {
-        var href = url;
-
-        if (msie) {
-        // IE needs attribute set twice to normalize properties
-          urlParsingNode.setAttribute('href', href);
-          href = urlParsingNode.href;
-        }
-
-        urlParsingNode.setAttribute('href', href);
-
-        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
-        return {
-          href: urlParsingNode.href,
-          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
-          host: urlParsingNode.host,
-          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
-          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
-          hostname: urlParsingNode.hostname,
-          port: urlParsingNode.port,
-          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
-            urlParsingNode.pathname :
-            '/' + urlParsingNode.pathname
-        };
-      }
-
-      originURL = resolveURL(window.location.href);
-
-      /**
-    * Determine if a URL shares the same origin as the current location
-    *
-    * @param {String} requestURL The URL to test
-    * @returns {boolean} True if URL shares the same origin, otherwise false
-    */
-      return function isURLSameOrigin(requestURL) {
-        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
-        return (parsed.protocol === originURL.protocol &&
-            parsed.host === originURL.host);
-      };
-    })() :
-
-  // Non standard browser envs (web workers, react-native) lack needed support.
-    (function nonStandardBrowserEnv() {
-      return function isURLSameOrigin() {
-        return true;
-      };
-    })()
-);
-
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(3);
-
-module.exports = (
-  utils.isStandardBrowserEnv() ?
-
-  // Standard browser envs support document.cookie
-    (function standardBrowserEnv() {
-      return {
-        write: function write(name, value, expires, path, domain, secure) {
-          var cookie = [];
-          cookie.push(name + '=' + encodeURIComponent(value));
-
-          if (utils.isNumber(expires)) {
-            cookie.push('expires=' + new Date(expires).toGMTString());
-          }
-
-          if (utils.isString(path)) {
-            cookie.push('path=' + path);
-          }
-
-          if (utils.isString(domain)) {
-            cookie.push('domain=' + domain);
-          }
-
-          if (secure === true) {
-            cookie.push('secure');
-          }
-
-          document.cookie = cookie.join('; ');
-        },
-
-        read: function read(name) {
-          var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
-          return (match ? decodeURIComponent(match[3]) : null);
-        },
-
-        remove: function remove(name) {
-          this.write(name, '', Date.now() - 86400000);
-        }
-      };
-    })() :
-
-  // Non standard browser env (web workers, react-native) lack needed support.
-    (function nonStandardBrowserEnv() {
-      return {
-        write: function write() {},
-        read: function read() { return null; },
-        remove: function remove() {}
-      };
-    })()
-);
-
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var Cancel = __webpack_require__(79);
-
-/**
- * A `CancelToken` is an object that can be used to request cancellation of an operation.
- *
- * @class
- * @param {Function} executor The executor function.
- */
-function CancelToken(executor) {
-  if (typeof executor !== 'function') {
-    throw new TypeError('executor must be a function.');
-  }
-
-  var resolvePromise;
-  this.promise = new Promise(function promiseExecutor(resolve) {
-    resolvePromise = resolve;
-  });
-
-  var token = this;
-  executor(function cancel(message) {
-    if (token.reason) {
-      // Cancellation has already been requested
-      return;
-    }
-
-    token.reason = new Cancel(message);
-    resolvePromise(token.reason);
-  });
-}
-
-/**
- * Throws a `Cancel` if cancellation has been requested.
- */
-CancelToken.prototype.throwIfRequested = function throwIfRequested() {
-  if (this.reason) {
-    throw this.reason;
-  }
-};
-
-/**
- * Returns an object that contains a new `CancelToken` and a function that, when called,
- * cancels the `CancelToken`.
- */
-CancelToken.source = function source() {
-  var cancel;
-  var token = new CancelToken(function executor(c) {
-    cancel = c;
-  });
-  return {
-    token: token,
-    cancel: cancel
-  };
-};
-
-module.exports = CancelToken;
-
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Syntactic sugar for invoking a function and expanding an array for arguments.
- *
- * Common use case would be to use `Function.prototype.apply`.
- *
- *  ```js
- *  function f(x, y, z) {}
- *  var args = [1, 2, 3];
- *  f.apply(null, args);
- *  ```
- *
- * With `spread` this example can be re-written.
- *
- *  ```js
- *  spread(function(x, y, z) {})([1, 2, 3]);
- *  ```
- *
- * @param {Function} callback
- * @returns {Function}
- */
-module.exports = function spread(callback) {
-  return function wrap(arr) {
-    return callback.apply(null, arr);
-  };
-};
-
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var className = _ref.className,
-      getRef = _ref.getRef,
-      onClick = _ref.onClick,
-      onMouseDown = _ref.onMouseDown,
-      text = _ref.text,
-      isLoading = _ref.isLoading;
-  return _react2.default.createElement(
-    "button",
-    {
-      ref: function ref(el) {
-        return getRef && getRef(el);
-      },
-      className: "gt-btn " + className,
-      onClick: onClick,
-      onMouseDown: onMouseDown },
-    _react2.default.createElement(
-      "span",
-      { className: "gt-btn-text" },
-      text
-    ),
-    isLoading && _react2.default.createElement("span", { className: "gt-btn-loading gt-spinner" })
-  );
-};
-
-/***/ }),
-/* 189 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (_ref) {
-  var className = _ref.className,
-      onClick = _ref.onClick,
-      text = _ref.text;
-  return _react2.default.createElement(
-    "a",
-    { className: "gt-action " + className, onClick: onClick },
-    _react2.default.createElement(
-      "span",
-      { className: "gt-action-text" },
-      text
-    )
-  );
-};
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _getPrototypeOf = __webpack_require__(64);
-
-var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
-
-var _classCallCheck2 = __webpack_require__(29);
-
-var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
-
-var _createClass2 = __webpack_require__(30);
-
-var _createClass3 = _interopRequireDefault(_createClass2);
-
-var _possibleConstructorReturn2 = __webpack_require__(66);
-
-var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
-
-var _inherits2 = __webpack_require__(70);
-
-var _inherits3 = _interopRequireDefault(_inherits2);
-
-var _react = __webpack_require__(5);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _avatar = __webpack_require__(80);
-
-var _avatar2 = _interopRequireDefault(_avatar);
-
-var _svg = __webpack_require__(81);
-
-var _svg2 = _interopRequireDefault(_svg);
-
-var _distance_in_words_to_now = __webpack_require__(199);
-
-var _distance_in_words_to_now2 = _interopRequireDefault(_distance_in_words_to_now);
-
-var _index = __webpack_require__(212);
-
-var _index2 = _interopRequireDefault(_index);
-
-var _index3 = __webpack_require__(213);
-
-var _index4 = _interopRequireDefault(_index3);
-
-var _index5 = __webpack_require__(214);
-
-var _index6 = _interopRequireDefault(_index5);
-
-var _index7 = __webpack_require__(215);
-
-var _index8 = _interopRequireDefault(_index7);
-
-var _index9 = __webpack_require__(216);
-
-var _index10 = _interopRequireDefault(_index9);
-
-__webpack_require__(217);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var ZHCN = (0, _index2.default)();
-var ZHTW = (0, _index4.default)();
-var ES = (0, _index6.default)();
-var FR = (0, _index8.default)();
-var RU = (0, _index10.default)();
-
-if (typeof window !== 'undefined') {
-  window.GT_i18n_distanceInWordsLocaleMap = {
-    zh: ZHCN,
-    'zh-CN': ZHCN,
-    'zh-TW': ZHTW,
-    'es-ES': ES,
-    fr: FR,
-    ru: RU
-  };
-}
-
-var Comment = function (_Component) {
-  (0, _inherits3.default)(Comment, _Component);
-
-  function Comment() {
-    (0, _classCallCheck3.default)(this, Comment);
-    return (0, _possibleConstructorReturn3.default)(this, (Comment.__proto__ || (0, _getPrototypeOf2.default)(Comment)).apply(this, arguments));
-  }
-
-  (0, _createClass3.default)(Comment, [{
-    key: 'shouldComponentUpdate',
-    value: function shouldComponentUpdate() {
-      return false;
-    }
-  }, {
-    key: 'componentDidMount',
-    value: function componentDidMount() {
-      var comment = this.node;
-      var emailResponse = comment.querySelector('.email-hidden-toggle>a');
-      if (emailResponse) {
-        emailResponse.addEventListener('click', function (e) {
-          e.preventDefault();
-          comment.querySelector('.email-hidden-reply').classList.toggle('expanded');
-        }, true);
-      }
-    }
-  }, {
-    key: 'handleImageErrored',
-    value: function handleImageErrored(obj) {
-      obj.target.src = "https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg";
-    }
-  }, {
-    key: 'render',
-    value: function render() {
-      var _this2 = this;
-
-      var _props = this.props,
-          comment = _props.comment,
-          user = _props.user,
-          language = _props.language,
-          _props$commentedText = _props.commentedText,
-          commentedText = _props$commentedText === undefined ? '' : _props$commentedText,
-          _props$admin = _props.admin,
-          admin = _props$admin === undefined ? [] : _props$admin,
-          replyCallback = _props.replyCallback,
-          likeCallback = _props.likeCallback;
-
-      var enableEdit = user && comment.user.login === user.login;
-      var isAdmin = ~[].concat(admin).map(function (a) {
-        return a.toLowerCase();
-      }).indexOf(comment.user.login.toLowerCase());
-      var reactions = comment.reactions;
-
-      var reactionTotalCount = '';
-      if (reactions && reactions.totalCount) {
-        reactionTotalCount = reactions.totalCount;
-        if (reactions.totalCount === 100 && reactions.pageInfo && reactions.pageInfo.hasNextPage) {
-          reactionTotalCount = '100+';
-        }
-      }
-
-      return _react2.default.createElement(
-        'div',
-        { ref: function ref(node) {
-            _this2.node = node;
-          }, className: 'gt-comment ' + (isAdmin ? 'gt-comment-admin' : '') },
-        _react2.default.createElement(_avatar2.default, {
-          className: 'gt-comment-avatar',
-          src: comment.user && comment.user.avatar_url,
-          alt: comment.user && comment.user.login,
-          onError: this.handleImageErrored.bind(this)
-        }),
-        _react2.default.createElement(
-          'div',
-          { className: 'gt-comment-content' },
-          _react2.default.createElement(
-            'div',
-            { className: 'gt-comment-header' },
-            _react2.default.createElement('div', { className: 'gt-comment-block-' + (user ? '2' : '1') }),
-            _react2.default.createElement(
-              'a',
-              {
-                className: 'gt-comment-username',
-                href: comment.user && comment.user.html_url
-              },
-              comment.user && comment.user.login
-            ),
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-comment-text' },
-              commentedText
-            ),
-            _react2.default.createElement(
-              'span',
-              { className: 'gt-comment-date' },
-              (0, _distance_in_words_to_now2.default)(comment.created_at, {
-                addSuffix: true,
-                locale: {
-                  distanceInWords: window.GT_i18n_distanceInWordsLocaleMap[language]
-                }
-              })
-            ),
-            reactions && _react2.default.createElement(
-              'a',
-              { className: 'gt-comment-like', title: 'Like', onClick: likeCallback },
-              reactions.viewerHasReacted ? _react2.default.createElement(_svg2.default, {
-                className: 'gt-ico-heart',
-                name: 'heart_on',
-                text: reactionTotalCount
-              }) : _react2.default.createElement(_svg2.default, {
-                className: 'gt-ico-heart',
-                name: 'heart',
-                text: reactionTotalCount
-              })
-            ),
-            enableEdit ? _react2.default.createElement(
-              'a',
-              {
-                href: comment.html_url,
-                className: 'gt-comment-edit',
-                title: 'Edit',
-                target: '_blank'
-              },
-              _react2.default.createElement(_svg2.default, { className: 'gt-ico-edit', name: 'edit' })
-            ) : _react2.default.createElement(
-              'a',
-              { className: 'gt-comment-reply', title: 'Reply', onClick: replyCallback },
-              _react2.default.createElement(_svg2.default, { className: 'gt-ico-reply', name: 'reply' })
-            )
-          ),
-          _react2.default.createElement('div', {
-            className: 'gt-comment-body markdown-body',
-            dangerouslySetInnerHTML: {
-              __html: comment.body_html
-            }
-          })
-        )
-      );
-    }
-  }]);
-  return Comment;
-}(_react.Component);
-
-exports.default = Comment;
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var map = {
-	"./arrow_down.svg": 192,
-	"./edit.svg": 193,
-	"./github.svg": 194,
-	"./heart.svg": 195,
-	"./heart_on.svg": 196,
-	"./reply.svg": 197,
-	"./tip.svg": 198
-};
-function webpackContext(req) {
-	return __webpack_require__(webpackContextResolve(req));
-};
-function webpackContextResolve(req) {
-	var id = map[req];
-	if(!(id + 1)) // check for number or string
-		throw new Error("Cannot find module '" + req + "'.");
-	return id;
-};
-webpackContext.keys = function webpackContextKeys() {
-	return Object.keys(map);
-};
-webpackContext.resolve = webpackContextResolve;
-module.exports = webpackContext;
-webpackContext.id = 191;
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1619\"><path d=\"M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z\" p-id=\"1620\"></path></svg>"
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <path d=\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg t=\"1512463363724\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <path d=\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z\"></path>\n</svg>\n"
-
-/***/ }),
-/* 197 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1332 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666\"></path>\n</svg>\n"
-
-/***/ }),
-/* 198 */
-/***/ (function(module, exports) {
-
-module.exports = "<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n  <path d=\"M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z\"\n    p-id=\"3083\"></path>\n  <path d=\"M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z\"\n    p-id=\"3084\"></path>\n  <path d=\"M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z\"\n    p-id=\"3085\"></path>\n</svg>\n"
-
-/***/ }),
-/* 199 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var distanceInWords = __webpack_require__(200)
-
-/**
- * @category Common Helpers
- * @summary Return the distance between the given date and now in words.
- *
- * @description
- * Return the distance between the given date and now in words.
- *
- * | Distance to now                                                   | Result              |
- * |-------------------------------------------------------------------|---------------------|
- * | 0 ... 30 secs                                                     | less than a minute  |
- * | 30 secs ... 1 min 30 secs                                         | 1 minute            |
- * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |
- * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |
- * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |
- * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |
- * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |
- * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |
- * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |
- * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |
- * | 1 yr ... 1 yr 3 months                                            | about 1 year        |
- * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |
- * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |
- * | N yrs ... N yrs 3 months                                          | about N years       |
- * | N yrs 3 months ... N yrs 9 months                                 | over N years        |
- * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |
- *
- * With `options.includeSeconds == true`:
- * | Distance to now     | Result               |
- * |---------------------|----------------------|
- * | 0 secs ... 5 secs   | less than 5 seconds  |
- * | 5 secs ... 10 secs  | less than 10 seconds |
- * | 10 secs ... 20 secs | less than 20 seconds |
- * | 20 secs ... 40 secs | half a minute        |
- * | 40 secs ... 60 secs | less than a minute   |
- * | 60 secs ... 90 secs | 1 minute             |
- *
- * @param {Date|String|Number} date - the given date
- * @param {Object} [options] - the object with options
- * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed
- * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first
- * @param {Object} [options.locale=enLocale] - the locale object
- * @returns {String} the distance in words
- *
- * @example
- * // If today is 1 January 2015, what is the distance to 2 July 2014?
- * var result = distanceInWordsToNow(
- *   new Date(2014, 6, 2)
- * )
- * //=> '6 months'
- *
- * @example
- * // If now is 1 January 2015 00:00:00,
- * // what is the distance to 1 January 2015 00:00:15, including seconds?
- * var result = distanceInWordsToNow(
- *   new Date(2015, 0, 1, 0, 0, 15),
- *   {includeSeconds: true}
- * )
- * //=> 'less than 20 seconds'
- *
- * @example
- * // If today is 1 January 2015,
- * // what is the distance to 1 January 2016, with a suffix?
- * var result = distanceInWordsToNow(
- *   new Date(2016, 0, 1),
- *   {addSuffix: true}
- * )
- * //=> 'in about 1 year'
- *
- * @example
- * // If today is 1 January 2015,
- * // what is the distance to 1 August 2016 in Esperanto?
- * var eoLocale = require('date-fns/locale/eo')
- * var result = distanceInWordsToNow(
- *   new Date(2016, 7, 1),
- *   {locale: eoLocale}
- * )
- * //=> 'pli ol 1 jaro'
- */
-function distanceInWordsToNow (dirtyDate, dirtyOptions) {
-  return distanceInWords(Date.now(), dirtyDate, dirtyOptions)
-}
-
-module.exports = distanceInWordsToNow
-
-
-/***/ }),
-/* 200 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var compareDesc = __webpack_require__(201)
-var parse = __webpack_require__(18)
-var differenceInSeconds = __webpack_require__(203)
-var differenceInMonths = __webpack_require__(205)
-var enLocale = __webpack_require__(208)
-
-var MINUTES_IN_DAY = 1440
-var MINUTES_IN_ALMOST_TWO_DAYS = 2520
-var MINUTES_IN_MONTH = 43200
-var MINUTES_IN_TWO_MONTHS = 86400
-
-/**
- * @category Common Helpers
- * @summary Return the distance between the given dates in words.
- *
- * @description
- * Return the distance between the given dates in words.
- *
- * | Distance between dates                                            | Result              |
- * |-------------------------------------------------------------------|---------------------|
- * | 0 ... 30 secs                                                     | less than a minute  |
- * | 30 secs ... 1 min 30 secs                                         | 1 minute            |
- * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |
- * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |
- * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |
- * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |
- * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |
- * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |
- * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |
- * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |
- * | 1 yr ... 1 yr 3 months                                            | about 1 year        |
- * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |
- * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |
- * | N yrs ... N yrs 3 months                                          | about N years       |
- * | N yrs 3 months ... N yrs 9 months                                 | over N years        |
- * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |
- *
- * With `options.includeSeconds == true`:
- * | Distance between dates | Result               |
- * |------------------------|----------------------|
- * | 0 secs ... 5 secs      | less than 5 seconds  |
- * | 5 secs ... 10 secs     | less than 10 seconds |
- * | 10 secs ... 20 secs    | less than 20 seconds |
- * | 20 secs ... 40 secs    | half a minute        |
- * | 40 secs ... 60 secs    | less than a minute   |
- * | 60 secs ... 90 secs    | 1 minute             |
- *
- * @param {Date|String|Number} dateToCompare - the date to compare with
- * @param {Date|String|Number} date - the other date
- * @param {Object} [options] - the object with options
- * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed
- * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first
- * @param {Object} [options.locale=enLocale] - the locale object
- * @returns {String} the distance in words
- *
- * @example
- * // What is the distance between 2 July 2014 and 1 January 2015?
- * var result = distanceInWords(
- *   new Date(2014, 6, 2),
- *   new Date(2015, 0, 1)
- * )
- * //=> '6 months'
- *
- * @example
- * // What is the distance between 1 January 2015 00:00:15
- * // and 1 January 2015 00:00:00, including seconds?
- * var result = distanceInWords(
- *   new Date(2015, 0, 1, 0, 0, 15),
- *   new Date(2015, 0, 1, 0, 0, 0),
- *   {includeSeconds: true}
- * )
- * //=> 'less than 20 seconds'
- *
- * @example
- * // What is the distance from 1 January 2016
- * // to 1 January 2015, with a suffix?
- * var result = distanceInWords(
- *   new Date(2016, 0, 1),
- *   new Date(2015, 0, 1),
- *   {addSuffix: true}
- * )
- * //=> 'about 1 year ago'
- *
- * @example
- * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?
- * var eoLocale = require('date-fns/locale/eo')
- * var result = distanceInWords(
- *   new Date(2016, 7, 1),
- *   new Date(2015, 0, 1),
- *   {locale: eoLocale}
- * )
- * //=> 'pli ol 1 jaro'
- */
-function distanceInWords (dirtyDateToCompare, dirtyDate, dirtyOptions) {
-  var options = dirtyOptions || {}
-
-  var comparison = compareDesc(dirtyDateToCompare, dirtyDate)
-
-  var locale = options.locale
-  var localize = enLocale.distanceInWords.localize
-  if (locale && locale.distanceInWords && locale.distanceInWords.localize) {
-    localize = locale.distanceInWords.localize
-  }
-
-  var localizeOptions = {
-    addSuffix: Boolean(options.addSuffix),
-    comparison: comparison
-  }
-
-  var dateLeft, dateRight
-  if (comparison > 0) {
-    dateLeft = parse(dirtyDateToCompare)
-    dateRight = parse(dirtyDate)
-  } else {
-    dateLeft = parse(dirtyDate)
-    dateRight = parse(dirtyDateToCompare)
-  }
-
-  var seconds = differenceInSeconds(dateRight, dateLeft)
-  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()
-  var minutes = Math.round(seconds / 60) - offset
-  var months
-
-  // 0 up to 2 mins
-  if (minutes < 2) {
-    if (options.includeSeconds) {
-      if (seconds < 5) {
-        return localize('lessThanXSeconds', 5, localizeOptions)
-      } else if (seconds < 10) {
-        return localize('lessThanXSeconds', 10, localizeOptions)
-      } else if (seconds < 20) {
-        return localize('lessThanXSeconds', 20, localizeOptions)
-      } else if (seconds < 40) {
-        return localize('halfAMinute', null, localizeOptions)
-      } else if (seconds < 60) {
-        return localize('lessThanXMinutes', 1, localizeOptions)
-      } else {
-        return localize('xMinutes', 1, localizeOptions)
-      }
-    } else {
-      if (minutes === 0) {
-        return localize('lessThanXMinutes', 1, localizeOptions)
-      } else {
-        return localize('xMinutes', minutes, localizeOptions)
-      }
-    }
-
-  // 2 mins up to 0.75 hrs
-  } else if (minutes < 45) {
-    return localize('xMinutes', minutes, localizeOptions)
-
-  // 0.75 hrs up to 1.5 hrs
-  } else if (minutes < 90) {
-    return localize('aboutXHours', 1, localizeOptions)
-
-  // 1.5 hrs up to 24 hrs
-  } else if (minutes < MINUTES_IN_DAY) {
-    var hours = Math.round(minutes / 60)
-    return localize('aboutXHours', hours, localizeOptions)
-
-  // 1 day up to 1.75 days
-  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {
-    return localize('xDays', 1, localizeOptions)
-
-  // 1.75 days up to 30 days
-  } else if (minutes < MINUTES_IN_MONTH) {
-    var days = Math.round(minutes / MINUTES_IN_DAY)
-    return localize('xDays', days, localizeOptions)
-
-  // 1 month up to 2 months
-  } else if (minutes < MINUTES_IN_TWO_MONTHS) {
-    months = Math.round(minutes / MINUTES_IN_MONTH)
-    return localize('aboutXMonths', months, localizeOptions)
-  }
-
-  months = differenceInMonths(dateRight, dateLeft)
-
-  // 2 months up to 12 months
-  if (months < 12) {
-    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)
-    return localize('xMonths', nearestMonth, localizeOptions)
-
-  // 1 year up to max Date
-  } else {
-    var monthsSinceStartOfYear = months % 12
-    var years = Math.floor(months / 12)
-
-    // N years up to 1 years 3 months
-    if (monthsSinceStartOfYear < 3) {
-      return localize('aboutXYears', years, localizeOptions)
-
-    // N years 3 months up to N years 9 months
-    } else if (monthsSinceStartOfYear < 9) {
-      return localize('overXYears', years, localizeOptions)
-
-    // N years 9 months up to N year 12 months
-    } else {
-      return localize('almostXYears', years + 1, localizeOptions)
-    }
-  }
-}
-
-module.exports = distanceInWords
-
-
-/***/ }),
-/* 201 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(18)
-
-/**
- * @category Common Helpers
- * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.
- *
- * @description
- * Compare the two dates and return -1 if the first date is after the second,
- * 1 if the first date is before the second or 0 if dates are equal.
- *
- * @param {Date|String|Number} dateLeft - the first date to compare
- * @param {Date|String|Number} dateRight - the second date to compare
- * @returns {Number} the result of the comparison
- *
- * @example
- * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:
- * var result = compareDesc(
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * )
- * //=> 1
- *
- * @example
- * // Sort the array of dates in reverse chronological order:
- * var result = [
- *   new Date(1995, 6, 2),
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * ].sort(compareDesc)
- * //=> [
- * //   Sun Jul 02 1995 00:00:00,
- * //   Mon Jul 10 1989 00:00:00,
- * //   Wed Feb 11 1987 00:00:00
- * // ]
- */
-function compareDesc (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var timeLeft = dateLeft.getTime()
-  var dateRight = parse(dirtyDateRight)
-  var timeRight = dateRight.getTime()
-
-  if (timeLeft > timeRight) {
-    return -1
-  } else if (timeLeft < timeRight) {
-    return 1
-  } else {
-    return 0
-  }
-}
-
-module.exports = compareDesc
-
-
-/***/ }),
-/* 202 */
-/***/ (function(module, exports) {
-
-/**
- * @category Common Helpers
- * @summary Is the given argument an instance of Date?
- *
- * @description
- * Is the given argument an instance of Date?
- *
- * @param {*} argument - the argument to check
- * @returns {Boolean} the given argument is an instance of Date
- *
- * @example
- * // Is 'mayonnaise' a Date?
- * var result = isDate('mayonnaise')
- * //=> false
- */
-function isDate (argument) {
-  return argument instanceof Date
-}
-
-module.exports = isDate
-
-
-/***/ }),
-/* 203 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var differenceInMilliseconds = __webpack_require__(204)
-
-/**
- * @category Second Helpers
- * @summary Get the number of seconds between the given dates.
- *
- * @description
- * Get the number of seconds between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of seconds
- *
- * @example
- * // How many seconds are between
- * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?
- * var result = differenceInSeconds(
- *   new Date(2014, 6, 2, 12, 30, 20, 0),
- *   new Date(2014, 6, 2, 12, 30, 7, 999)
- * )
- * //=> 12
- */
-function differenceInSeconds (dirtyDateLeft, dirtyDateRight) {
-  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000
-  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)
-}
-
-module.exports = differenceInSeconds
-
-
-/***/ }),
-/* 204 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(18)
-
-/**
- * @category Millisecond Helpers
- * @summary Get the number of milliseconds between the given dates.
- *
- * @description
- * Get the number of milliseconds between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of milliseconds
- *
- * @example
- * // How many milliseconds are between
- * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?
- * var result = differenceInMilliseconds(
- *   new Date(2014, 6, 2, 12, 30, 21, 700),
- *   new Date(2014, 6, 2, 12, 30, 20, 600)
- * )
- * //=> 1100
- */
-function differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var dateRight = parse(dirtyDateRight)
-  return dateLeft.getTime() - dateRight.getTime()
-}
-
-module.exports = differenceInMilliseconds
-
-
-/***/ }),
-/* 205 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(18)
-var differenceInCalendarMonths = __webpack_require__(206)
-var compareAsc = __webpack_require__(207)
-
-/**
- * @category Month Helpers
- * @summary Get the number of full months between the given dates.
- *
- * @description
- * Get the number of full months between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of full months
- *
- * @example
- * // How many full months are between 31 January 2014 and 1 September 2014?
- * var result = differenceInMonths(
- *   new Date(2014, 8, 1),
- *   new Date(2014, 0, 31)
- * )
- * //=> 7
- */
-function differenceInMonths (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var dateRight = parse(dirtyDateRight)
-
-  var sign = compareAsc(dateLeft, dateRight)
-  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight))
-  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)
-
-  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full
-  // If so, result must be decreased by 1 in absolute value
-  var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign
-  return sign * (difference - isLastMonthNotFull)
-}
-
-module.exports = differenceInMonths
-
-
-/***/ }),
-/* 206 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(18)
-
-/**
- * @category Month Helpers
- * @summary Get the number of calendar months between the given dates.
- *
- * @description
- * Get the number of calendar months between the given dates.
- *
- * @param {Date|String|Number} dateLeft - the later date
- * @param {Date|String|Number} dateRight - the earlier date
- * @returns {Number} the number of calendar months
- *
- * @example
- * // How many calendar months are between 31 January 2014 and 1 September 2014?
- * var result = differenceInCalendarMonths(
- *   new Date(2014, 8, 1),
- *   new Date(2014, 0, 31)
- * )
- * //=> 8
- */
-function differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var dateRight = parse(dirtyDateRight)
-
-  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()
-  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()
-
-  return yearDiff * 12 + monthDiff
-}
-
-module.exports = differenceInCalendarMonths
-
-
-/***/ }),
-/* 207 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var parse = __webpack_require__(18)
-
-/**
- * @category Common Helpers
- * @summary Compare the two dates and return -1, 0 or 1.
- *
- * @description
- * Compare the two dates and return 1 if the first date is after the second,
- * -1 if the first date is before the second or 0 if dates are equal.
- *
- * @param {Date|String|Number} dateLeft - the first date to compare
- * @param {Date|String|Number} dateRight - the second date to compare
- * @returns {Number} the result of the comparison
- *
- * @example
- * // Compare 11 February 1987 and 10 July 1989:
- * var result = compareAsc(
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * )
- * //=> -1
- *
- * @example
- * // Sort the array of dates:
- * var result = [
- *   new Date(1995, 6, 2),
- *   new Date(1987, 1, 11),
- *   new Date(1989, 6, 10)
- * ].sort(compareAsc)
- * //=> [
- * //   Wed Feb 11 1987 00:00:00,
- * //   Mon Jul 10 1989 00:00:00,
- * //   Sun Jul 02 1995 00:00:00
- * // ]
- */
-function compareAsc (dirtyDateLeft, dirtyDateRight) {
-  var dateLeft = parse(dirtyDateLeft)
-  var timeLeft = dateLeft.getTime()
-  var dateRight = parse(dirtyDateRight)
-  var timeRight = dateRight.getTime()
-
-  if (timeLeft < timeRight) {
-    return -1
-  } else if (timeLeft > timeRight) {
-    return 1
-  } else {
-    return 0
-  }
-}
-
-module.exports = compareAsc
-
-
-/***/ }),
-/* 208 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var buildDistanceInWordsLocale = __webpack_require__(209)
-var buildFormatLocale = __webpack_require__(210)
-
-/**
- * @category Locales
- * @summary English locale.
- */
-module.exports = {
-  distanceInWords: buildDistanceInWordsLocale(),
-  format: buildFormatLocale()
-}
-
-
-/***/ }),
-/* 209 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: 'less than a second',
-      other: 'less than {{count}} seconds'
-    },
-
-    xSeconds: {
-      one: '1 second',
-      other: '{{count}} seconds'
-    },
-
-    halfAMinute: 'half a minute',
-
-    lessThanXMinutes: {
-      one: 'less than a minute',
-      other: 'less than {{count}} minutes'
-    },
-
-    xMinutes: {
-      one: '1 minute',
-      other: '{{count}} minutes'
-    },
-
-    aboutXHours: {
-      one: 'about 1 hour',
-      other: 'about {{count}} hours'
-    },
-
-    xHours: {
-      one: '1 hour',
-      other: '{{count}} hours'
-    },
-
-    xDays: {
-      one: '1 day',
-      other: '{{count}} days'
-    },
-
-    aboutXMonths: {
-      one: 'about 1 month',
-      other: 'about {{count}} months'
-    },
-
-    xMonths: {
-      one: '1 month',
-      other: '{{count}} months'
-    },
-
-    aboutXYears: {
-      one: 'about 1 year',
-      other: 'about {{count}} years'
-    },
-
-    xYears: {
-      one: '1 year',
-      other: '{{count}} years'
-    },
-
-    overXYears: {
-      one: 'over 1 year',
-      other: 'over {{count}} years'
-    },
-
-    almostXYears: {
-      one: 'almost 1 year',
-      other: 'almost {{count}} years'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return 'in ' + result
-      } else {
-        return result + ' ago'
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 210 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var buildFormattingTokensRegExp = __webpack_require__(211)
-
-function buildFormatLocale () {
-  // Note: in English, the names of days of the week and months are capitalized.
-  // If you are making a new locale based on this one, check if the same is true for the language you're working on.
-  // Generally, formatted dates should look like they are in the middle of a sentence,
-  // e.g. in Spanish language the weekdays and months should be in the lowercase.
-  var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
-  var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
-  var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']
-  var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
-  var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
-  var meridiemUppercase = ['AM', 'PM']
-  var meridiemLowercase = ['am', 'pm']
-  var meridiemFull = ['a.m.', 'p.m.']
-
-  var formatters = {
-    // Month: Jan, Feb, ..., Dec
-    'MMM': function (date) {
-      return months3char[date.getMonth()]
-    },
-
-    // Month: January, February, ..., December
-    'MMMM': function (date) {
-      return monthsFull[date.getMonth()]
-    },
-
-    // Day of week: Su, Mo, ..., Sa
-    'dd': function (date) {
-      return weekdays2char[date.getDay()]
-    },
-
-    // Day of week: Sun, Mon, ..., Sat
-    'ddd': function (date) {
-      return weekdays3char[date.getDay()]
-    },
-
-    // Day of week: Sunday, Monday, ..., Saturday
-    'dddd': function (date) {
-      return weekdaysFull[date.getDay()]
-    },
-
-    // AM, PM
-    'A': function (date) {
-      return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0]
-    },
-
-    // am, pm
-    'a': function (date) {
-      return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0]
-    },
-
-    // a.m., p.m.
-    'aa': function (date) {
-      return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0]
-    }
-  }
-
-  // Generate ordinal version of formatters: M -> Mo, D -> Do, etc.
-  var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W']
-  ordinalFormatters.forEach(function (formatterToken) {
-    formatters[formatterToken + 'o'] = function (date, formatters) {
-      return ordinal(formatters[formatterToken](date))
-    }
-  })
-
-  return {
-    formatters: formatters,
-    formattingTokensRegExp: buildFormattingTokensRegExp(formatters)
-  }
-}
-
-function ordinal (number) {
-  var rem100 = number % 100
-  if (rem100 > 20 || rem100 < 10) {
-    switch (rem100 % 10) {
-      case 1:
-        return number + 'st'
-      case 2:
-        return number + 'nd'
-      case 3:
-        return number + 'rd'
-    }
-  }
-  return number + 'th'
-}
-
-module.exports = buildFormatLocale
-
-
-/***/ }),
-/* 211 */
-/***/ (function(module, exports) {
-
-var commonFormatterKeys = [
-  'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',
-  'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',
-  'H', 'HH', 'h', 'hh', 'm', 'mm',
-  's', 'ss', 'S', 'SS', 'SSS',
-  'Z', 'ZZ', 'X', 'x'
-]
-
-function buildFormattingTokensRegExp (formatters) {
-  var formatterKeys = []
-  for (var key in formatters) {
-    if (formatters.hasOwnProperty(key)) {
-      formatterKeys.push(key)
-    }
-  }
-
-  var formattingTokens = commonFormatterKeys
-    .concat(formatterKeys)
-    .sort()
-    .reverse()
-  var formattingTokensRegExp = new RegExp(
-    '(\\[[^\\[]*\\])|(\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'
-  )
-
-  return formattingTokensRegExp
-}
-
-module.exports = buildFormattingTokensRegExp
-
-
-/***/ }),
-/* 212 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: '不到 1 秒',
-      other: '不到 {{count}} 秒'
-    },
-
-    xSeconds: {
-      one: '1 秒',
-      other: '{{count}} 秒'
-    },
-
-    halfAMinute: '半分钟',
-
-    lessThanXMinutes: {
-      one: '不到 1 分钟',
-      other: '不到 {{count}} 分钟'
-    },
-
-    xMinutes: {
-      one: '1 分钟',
-      other: '{{count}} 分钟'
-    },
-
-    xHours: {
-      one: '1 小时',
-      other: '{{count}} 小时'
-    },
-
-    aboutXHours: {
-      one: '大约 1 小时',
-      other: '大约 {{count}} 小时'
-    },
-
-    xDays: {
-      one: '1 天',
-      other: '{{count}} 天'
-    },
-
-    aboutXMonths: {
-      one: '大约 1 个月',
-      other: '大约 {{count}} 个月'
-    },
-
-    xMonths: {
-      one: '1 个月',
-      other: '{{count}} 个月'
-    },
-
-    aboutXYears: {
-      one: '大约 1 年',
-      other: '大约 {{count}} 年'
-    },
-
-    xYears: {
-      one: '1 年',
-      other: '{{count}} 年'
-    },
-
-    overXYears: {
-      one: '超过 1 年',
-      other: '超过 {{count}} 年'
-    },
-
-    almostXYears: {
-      one: '将近 1 年',
-      other: '将近 {{count}} 年'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return result + '内'
-      } else {
-        return result + '前'
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 213 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: '少於 1 秒',
-      other: '少於 {{count}} 秒'
-    },
-
-    xSeconds: {
-      one: '1 秒',
-      other: '{{count}} 秒'
-    },
-
-    halfAMinute: '半分鐘',
-
-    lessThanXMinutes: {
-      one: '少於 1 分鐘',
-      other: '少於 {{count}} 分鐘'
-    },
-
-    xMinutes: {
-      one: '1 分鐘',
-      other: '{{count}} 分鐘'
-    },
-
-    xHours: {
-      one: '1 小時',
-      other: '{{count}} 小時'
-    },
-
-    aboutXHours: {
-      one: '大約 1 小時',
-      other: '大約 {{count}} 小時'
-    },
-
-    xDays: {
-      one: '1 天',
-      other: '{{count}} 天'
-    },
-
-    aboutXMonths: {
-      one: '大約 1 個月',
-      other: '大約 {{count}} 個月'
-    },
-
-    xMonths: {
-      one: '1 個月',
-      other: '{{count}} 個月'
-    },
-
-    aboutXYears: {
-      one: '大約 1 年',
-      other: '大約 {{count}} 年'
-    },
-
-    xYears: {
-      one: '1 年',
-      other: '{{count}} 年'
-    },
-
-    overXYears: {
-      one: '超過 1 年',
-      other: '超過 {{count}} 年'
-    },
-
-    almostXYears: {
-      one: '將近 1 年',
-      other: '將近 {{count}} 年'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return result + '內'
-      } else {
-        return result + '前'
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 214 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: 'menos de un segundo',
-      other: 'menos de {{count}} segundos'
-    },
-
-    xSeconds: {
-      one: '1 segundo',
-      other: '{{count}} segundos'
-    },
-
-    halfAMinute: 'medio minuto',
-
-    lessThanXMinutes: {
-      one: 'menos de un minuto',
-      other: 'menos de {{count}} minutos'
-    },
-
-    xMinutes: {
-      one: '1 minuto',
-      other: '{{count}} minutos'
-    },
-
-    aboutXHours: {
-      one: 'alrededor de 1 hora',
-      other: 'alrededor de {{count}} horas'
-    },
-
-    xHours: {
-      one: '1 hora',
-      other: '{{count}} horas'
-    },
-
-    xDays: {
-      one: '1 día',
-      other: '{{count}} días'
-    },
-
-    aboutXMonths: {
-      one: 'alrededor de 1 mes',
-      other: 'alrededor de {{count}} meses'
-    },
-
-    xMonths: {
-      one: '1 mes',
-      other: '{{count}} meses'
-    },
-
-    aboutXYears: {
-      one: 'alrededor de 1 año',
-      other: 'alrededor de {{count}} años'
-    },
-
-    xYears: {
-      one: '1 año',
-      other: '{{count}} años'
-    },
-
-    overXYears: {
-      one: 'más de 1 año',
-      other: 'más de {{count}} años'
-    },
-
-    almostXYears: {
-      one: 'casi 1 año',
-      other: 'casi {{count}} años'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return 'en ' + result
-      } else {
-        return 'hace ' + result
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 215 */
-/***/ (function(module, exports) {
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: {
-      one: 'moins d’une seconde',
-      other: 'moins de {{count}} secondes'
-    },
-
-    xSeconds: {
-      one: '1 seconde',
-      other: '{{count}} secondes'
-    },
-
-    halfAMinute: '30 secondes',
-
-    lessThanXMinutes: {
-      one: 'moins d’une minute',
-      other: 'moins de {{count}} minutes'
-    },
-
-    xMinutes: {
-      one: '1 minute',
-      other: '{{count}} minutes'
-    },
-
-    aboutXHours: {
-      one: 'environ 1 heure',
-      other: 'environ {{count}} heures'
-    },
-
-    xHours: {
-      one: '1 heure',
-      other: '{{count}} heures'
-    },
-
-    xDays: {
-      one: '1 jour',
-      other: '{{count}} jours'
-    },
-
-    aboutXMonths: {
-      one: 'environ 1 mois',
-      other: 'environ {{count}} mois'
-    },
-
-    xMonths: {
-      one: '1 mois',
-      other: '{{count}} mois'
-    },
-
-    aboutXYears: {
-      one: 'environ 1 an',
-      other: 'environ {{count}} ans'
-    },
-
-    xYears: {
-      one: '1 an',
-      other: '{{count}} ans'
-    },
-
-    overXYears: {
-      one: 'plus d’un an',
-      other: 'plus de {{count}} ans'
-    },
-
-    almostXYears: {
-      one: 'presqu’un an',
-      other: 'presque {{count}} ans'
-    }
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-
-    var result
-    if (typeof distanceInWordsLocale[token] === 'string') {
-      result = distanceInWordsLocale[token]
-    } else if (count === 1) {
-      result = distanceInWordsLocale[token].one
-    } else {
-      result = distanceInWordsLocale[token].other.replace('{{count}}', count)
-    }
-
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        return 'dans ' + result
-      } else {
-        return 'il y a ' + result
-      }
-    }
-
-    return result
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 216 */
-/***/ (function(module, exports) {
-
-function declension (scheme, count) {
-  // scheme for count=1 exists
-  if (scheme.one !== undefined && count === 1) {
-    return scheme.one
-  }
-
-  var rem10 = count % 10
-  var rem100 = count % 100
-
-  // 1, 21, 31, ...
-  if (rem10 === 1 && rem100 !== 11) {
-    return scheme.singularNominative.replace('{{count}}', count)
-
-  // 2, 3, 4, 22, 23, 24, 32 ...
-  } else if ((rem10 >= 2 && rem10 <= 4) && (rem100 < 10 || rem100 > 20)) {
-    return scheme.singularGenitive.replace('{{count}}', count)
-
-  // 5, 6, 7, 8, 9, 10, 11, ...
-  } else {
-    return scheme.pluralGenitive.replace('{{count}}', count)
-  }
-}
-
-function buildLocalizeTokenFn (scheme) {
-  return function (count, options) {
-    if (options.addSuffix) {
-      if (options.comparison > 0) {
-        if (scheme.future) {
-          return declension(scheme.future, count)
-        } else {
-          return 'через ' + declension(scheme.regular, count)
-        }
-      } else {
-        if (scheme.past) {
-          return declension(scheme.past, count)
-        } else {
-          return declension(scheme.regular, count) + ' назад'
-        }
-      }
-    } else {
-      return declension(scheme.regular, count)
-    }
-  }
-}
-
-function buildDistanceInWordsLocale () {
-  var distanceInWordsLocale = {
-    lessThanXSeconds: buildLocalizeTokenFn({
-      regular: {
-        one: 'меньше секунды',
-        singularNominative: 'меньше {{count}} секунды',
-        singularGenitive: 'меньше {{count}} секунд',
-        pluralGenitive: 'меньше {{count}} секунд'
-      },
-      future: {
-        one: 'меньше, чем через секунду',
-        singularNominative: 'меньше, чем через {{count}} секунду',
-        singularGenitive: 'меньше, чем через {{count}} секунды',
-        pluralGenitive: 'меньше, чем через {{count}} секунд'
-      }
-    }),
-
-    xSeconds: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} секунда',
-        singularGenitive: '{{count}} секунды',
-        pluralGenitive: '{{count}} секунд'
-      },
-      past: {
-        singularNominative: '{{count}} секунду назад',
-        singularGenitive: '{{count}} секунды назад',
-        pluralGenitive: '{{count}} секунд назад'
-      },
-      future: {
-        singularNominative: 'через {{count}} секунду',
-        singularGenitive: 'через {{count}} секунды',
-        pluralGenitive: 'через {{count}} секунд'
-      }
-    }),
-
-    halfAMinute: function (_, options) {
-      if (options.addSuffix) {
-        if (options.comparison > 0) {
-          return 'через полминуты'
-        } else {
-          return 'полминуты назад'
-        }
-      }
-
-      return 'полминуты'
-    },
-
-    lessThanXMinutes: buildLocalizeTokenFn({
-      regular: {
-        one: 'меньше минуты',
-        singularNominative: 'меньше {{count}} минуты',
-        singularGenitive: 'меньше {{count}} минут',
-        pluralGenitive: 'меньше {{count}} минут'
-      },
-      future: {
-        one: 'меньше, чем через минуту',
-        singularNominative: 'меньше, чем через {{count}} минуту',
-        singularGenitive: 'меньше, чем через {{count}} минуты',
-        pluralGenitive: 'меньше, чем через {{count}} минут'
-      }
-    }),
-
-    xMinutes: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} минута',
-        singularGenitive: '{{count}} минуты',
-        pluralGenitive: '{{count}} минут'
-      },
-      past: {
-        singularNominative: '{{count}} минуту назад',
-        singularGenitive: '{{count}} минуты назад',
-        pluralGenitive: '{{count}} минут назад'
-      },
-      future: {
-        singularNominative: 'через {{count}} минуту',
-        singularGenitive: 'через {{count}} минуты',
-        pluralGenitive: 'через {{count}} минут'
-      }
-    }),
-
-    aboutXHours: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'около {{count}} часа',
-        singularGenitive: 'около {{count}} часов',
-        pluralGenitive: 'около {{count}} часов'
-      },
-      future: {
-        singularNominative: 'приблизительно через {{count}} час',
-        singularGenitive: 'приблизительно через {{count}} часа',
-        pluralGenitive: 'приблизительно через {{count}} часов'
-      }
-    }),
-
-    xHours: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} час',
-        singularGenitive: '{{count}} часа',
-        pluralGenitive: '{{count}} часов'
-      }
-    }),
-
-    xDays: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} день',
-        singularGenitive: '{{count}} дня',
-        pluralGenitive: '{{count}} дней'
-      }
-    }),
-
-    aboutXMonths: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'около {{count}} месяца',
-        singularGenitive: 'около {{count}} месяцев',
-        pluralGenitive: 'около {{count}} месяцев'
-      },
-      future: {
-        singularNominative: 'приблизительно через {{count}} месяц',
-        singularGenitive: 'приблизительно через {{count}} месяца',
-        pluralGenitive: 'приблизительно через {{count}} месяцев'
-      }
-    }),
-
-    xMonths: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} месяц',
-        singularGenitive: '{{count}} месяца',
-        pluralGenitive: '{{count}} месяцев'
-      }
-    }),
-
-    aboutXYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'около {{count}} года',
-        singularGenitive: 'около {{count}} лет',
-        pluralGenitive: 'около {{count}} лет'
-      },
-      future: {
-        singularNominative: 'приблизительно через {{count}} год',
-        singularGenitive: 'приблизительно через {{count}} года',
-        pluralGenitive: 'приблизительно через {{count}} лет'
-      }
-    }),
-
-    xYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: '{{count}} год',
-        singularGenitive: '{{count}} года',
-        pluralGenitive: '{{count}} лет'
-      }
-    }),
-
-    overXYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'больше {{count}} года',
-        singularGenitive: 'больше {{count}} лет',
-        pluralGenitive: 'больше {{count}} лет'
-      },
-      future: {
-        singularNominative: 'больше, чем через {{count}} год',
-        singularGenitive: 'больше, чем через {{count}} года',
-        pluralGenitive: 'больше, чем через {{count}} лет'
-      }
-    }),
-
-    almostXYears: buildLocalizeTokenFn({
-      regular: {
-        singularNominative: 'почти {{count}} год',
-        singularGenitive: 'почти {{count}} года',
-        pluralGenitive: 'почти {{count}} лет'
-      },
-      future: {
-        singularNominative: 'почти через {{count}} год',
-        singularGenitive: 'почти через {{count}} года',
-        pluralGenitive: 'почти через {{count}} лет'
-      }
-    })
-  }
-
-  function localize (token, count, options) {
-    options = options || {}
-    return distanceInWordsLocale[token](count, options)
-  }
-
-  return {
-    localize: localize
-  }
-}
-
-module.exports = buildDistanceInWordsLocale
-
-
-/***/ }),
-/* 217 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 218 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-var GT_ACCESS_TOKEN = exports.GT_ACCESS_TOKEN = 'GT_ACCESS_TOKEN';
-var GT_VERSION = exports.GT_VERSION = "1.6.2"; // eslint-disable-line
-var GT_COMMENT = exports.GT_COMMENT = 'GT_COMMENT';
-
-/***/ }),
-/* 219 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var _toConsumableArray2 = __webpack_require__(220);
-
-var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
-
-var _util = __webpack_require__(71);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var getQL = function getQL(vars, pagerDirection) {
-  var cursorDirection = pagerDirection === 'last' ? 'before' : 'after';
-  var ql = '\n  query getIssueAndComments(\n    $owner: String!,\n    $repo: String!,\n    $id: Int!,\n    $cursor: String,\n    $pageSize: Int!\n  ) {\n    repository(owner: $owner, name: $repo) {\n      issue(number: $id) {\n        title\n        url\n        bodyHTML\n        createdAt\n        comments(' + pagerDirection + ': $pageSize, ' + cursorDirection + ': $cursor) {\n          totalCount\n          pageInfo {\n            ' + (pagerDirection === 'last' ? 'hasPreviousPage' : 'hasNextPage') + '\n            ' + (cursorDirection === 'before' ? 'startCursor' : 'endCursor') + '\n          }\n          nodes {\n            id\n            databaseId\n            author {\n              avatarUrl\n              login\n              url\n            }\n            bodyHTML\n            body\n            createdAt\n            reactions(first: 100, content: HEART) {\n              totalCount\n              viewerHasReacted\n              pageInfo{\n                hasNextPage\n              }\n              nodes {\n                id\n                databaseId\n                user {\n                  login\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  ';
-
-  if (vars.cursor === null) delete vars.cursor;
-
-  return {
-    operationName: 'getIssueAndComments',
-    query: ql,
-    variables: vars
-  };
-};
-
-function getComments(issue) {
-  var _this = this;
-
-  var _options = this.options,
-      owner = _options.owner,
-      repo = _options.repo,
-      perPage = _options.perPage,
-      pagerDirection = _options.pagerDirection,
-      defaultAuthor = _options.defaultAuthor;
-  var _state = this.state,
-      cursor = _state.cursor,
-      comments = _state.comments;
-
-  return _util.axiosGithub.post('/graphql', getQL({
-    owner: owner,
-    repo: repo,
-    id: issue.number,
-    pageSize: perPage,
-    cursor: cursor
-  }, pagerDirection), {
-    headers: {
-      Authorization: 'bearer ' + this.accessToken
-    }
-  }).then(function (res) {
-    var data = res.data.data.repository.issue.comments;
-    var items = data.nodes.map(function (node) {
-      var author = node.author || defaultAuthor;
-
-      return {
-        id: node.databaseId,
-        gId: node.id,
-        user: {
-          avatar_url: author.avatarUrl,
-          login: author.login,
-          html_url: author.url
-        },
-        created_at: node.createdAt,
-        body_html: node.bodyHTML,
-        body: node.body,
-        html_url: 'https://github.com/' + owner + '/' + repo + '/issues/' + issue.number + '#issuecomment-' + node.databaseId,
-        reactions: node.reactions
-      };
-    });
-
-    var cs = void 0;
-
-    if (pagerDirection === 'last') {
-      cs = [].concat((0, _toConsumableArray3.default)(items), (0, _toConsumableArray3.default)(comments));
-    } else {
-      cs = [].concat((0, _toConsumableArray3.default)(comments), (0, _toConsumableArray3.default)(items));
-    }
-
-    var isLoadOver = data.pageInfo.hasPreviousPage === false || data.pageInfo.hasNextPage === false;
-    _this.setState({
-      comments: cs,
-      isLoadOver: isLoadOver,
-      cursor: data.pageInfo.startCursor || data.pageInfo.endCursor
-    });
-    return cs;
-  });
-}
-
-exports.default = getComments;
-
-/***/ }),
-/* 220 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _from = __webpack_require__(221);
-
-var _from2 = _interopRequireDefault(_from);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-exports.default = function (arr) {
-  if (Array.isArray(arr)) {
-    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
-      arr2[i] = arr[i];
-    }
-
-    return arr2;
-  } else {
-    return (0, _from2.default)(arr);
-  }
-};
-
-/***/ }),
-/* 221 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = { "default": __webpack_require__(222), __esModule: true };
-
-/***/ }),
-/* 222 */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(20);
-__webpack_require__(223);
-module.exports = __webpack_require__(0).Array.from;
-
-
-/***/ }),
-/* 223 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var ctx = __webpack_require__(13);
-var $export = __webpack_require__(4);
-var toObject = __webpack_require__(17);
-var call = __webpack_require__(57);
-var isArrayIter = __webpack_require__(58);
-var toLength = __webpack_require__(37);
-var createProperty = __webpack_require__(224);
-var getIterFn = __webpack_require__(42);
-
-$export($export.S + $export.F * !__webpack_require__(63)(function (iter) { Array.from(iter); }), 'Array', {
-  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
-  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
-    var O = toObject(arrayLike);
-    var C = typeof this == 'function' ? this : Array;
-    var aLen = arguments.length;
-    var mapfn = aLen > 1 ? arguments[1] : undefined;
-    var mapping = mapfn !== undefined;
-    var index = 0;
-    var iterFn = getIterFn(O);
-    var length, result, step, iterator;
-    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
-    // if object isn't iterable or it's array with default iterator - use simple case
-    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
-      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
-        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
-      }
-    } else {
-      length = toLength(O.length);
-      for (result = new C(length); length > index; index++) {
-        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
-      }
-    }
-    result.length = index;
-    return result;
-  }
-});
-
-
-/***/ }),
-/* 224 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var $defineProperty = __webpack_require__(7);
-var createDesc = __webpack_require__(19);
-
-module.exports = function (object, index, value) {
-  if (index in object) $defineProperty.f(object, index, createDesc(0, value));
-  else object[index] = value;
-};
-
-
-/***/ })
-/******/ ]);
-});
-//# sourceMappingURL=gitalk.js.map
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk.js.map b/server/target/classes/static/gitalk/gitalk.js.map
deleted file mode 100644
index 01579a9..0000000
--- a/server/target/classes/static/gitalk/gitalk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 9e95ca6c35baf4020c1b","webpack:///../node_modules/core-js/library/modules/_core.js","webpack:///../node_modules/core-js/library/modules/_global.js","webpack:///../node_modules/core-js/library/modules/_wks.js","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/core-js/library/modules/_export.js","webpack:///../node_modules/preact-compat/dist/preact-compat.es.js","webpack:///../node_modules/core-js/library/modules/_an-object.js","webpack:///../node_modules/core-js/library/modules/_object-dp.js","webpack:///../node_modules/core-js/library/modules/_descriptors.js","webpack:///../node_modules/process/browser.js","webpack:///../node_modules/core-js/library/modules/_is-object.js","webpack:///../node_modules/core-js/library/modules/_hide.js","webpack:///../node_modules/core-js/library/modules/_has.js","webpack:///../node_modules/core-js/library/modules/_ctx.js","webpack:///../node_modules/core-js/library/modules/_fails.js","webpack:///../node_modules/core-js/library/modules/_iterators.js","webpack:///../node_modules/core-js/library/modules/_to-iobject.js","webpack:///../node_modules/core-js/library/modules/_to-object.js","webpack:///../node_modules/date-fns/parse/index.js","webpack:///../node_modules/core-js/library/modules/_property-desc.js","webpack:///../node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///../node_modules/core-js/library/modules/_library.js","webpack:///../node_modules/core-js/library/modules/_object-keys.js","webpack:///../node_modules/core-js/library/modules/_cof.js","webpack:///../node_modules/core-js/library/modules/_a-function.js","webpack:///../node_modules/core-js/library/modules/_uid.js","webpack:///../node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///../node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///../node_modules/core-js/library/modules/_object-pie.js","webpack:///../node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///../node_modules/babel-runtime/helpers/createClass.js","webpack:///../node_modules/core-js/library/modules/_dom-create.js","webpack:///../node_modules/core-js/library/modules/_to-primitive.js","webpack:///../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///../node_modules/core-js/library/modules/_to-integer.js","webpack:///../node_modules/core-js/library/modules/_defined.js","webpack:///../node_modules/core-js/library/modules/_object-create.js","webpack:///../node_modules/core-js/library/modules/_to-length.js","webpack:///../node_modules/core-js/library/modules/_shared-key.js","webpack:///../node_modules/core-js/library/modules/_shared.js","webpack:///../node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///../node_modules/core-js/library/modules/_classof.js","webpack:///../node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///../node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///../node_modules/core-js/library/modules/_object-gops.js","webpack:///../node_modules/core-js/library/modules/_wks-ext.js","webpack:///../node_modules/core-js/library/modules/_wks-define.js","webpack:///../node_modules/react-flip-move/lib/helpers.js","webpack:///../node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///../node_modules/react-is/index.js","webpack:///../node_modules/core-js/library/modules/_iter-define.js","webpack:///../node_modules/core-js/library/modules/_redefine.js","webpack:///../node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///../node_modules/core-js/library/modules/_iobject.js","webpack:///../node_modules/core-js/library/modules/_html.js","webpack:///../node_modules/core-js/library/modules/_object-gpo.js","webpack:///../node_modules/core-js/library/modules/_iter-call.js","webpack:///../node_modules/core-js/library/modules/_is-array-iter.js","webpack:///../node_modules/core-js/library/modules/_species-constructor.js","webpack:///../node_modules/core-js/library/modules/_task.js","webpack:///../node_modules/core-js/library/modules/_perform.js","webpack:///../node_modules/core-js/library/modules/_promise-resolve.js","webpack:///../node_modules/core-js/library/modules/_iter-detect.js","webpack:///../node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///../node_modules/core-js/library/modules/_object-sap.js","webpack:///../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///../node_modules/babel-runtime/helpers/typeof.js","webpack:///../node_modules/core-js/library/modules/_object-gopn.js","webpack:///../node_modules/core-js/library/modules/_object-gopd.js","webpack:///../node_modules/babel-runtime/helpers/inherits.js","webpack:///./util.js","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/defaults.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/core/createError.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/cancel/Cancel.js","webpack:///./component/avatar.jsx","webpack:///./component/svg.jsx","webpack:///./index.js","webpack:///../node_modules/babel-runtime/core-js/object/define-property.js","webpack:///../node_modules/core-js/library/fn/object/define-property.js","webpack:///../node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///../node_modules/prop-types/index.js","webpack:///../node_modules/react-is/cjs/react-is.production.min.js","webpack:///../node_modules/react-is/cjs/react-is.development.js","webpack:///../node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///../node_modules/object-assign/index.js","webpack:///../node_modules/prop-types/checkPropTypes.js","webpack:///../node_modules/prop-types/factoryWithThrowingShims.js","webpack:///../node_modules/preact/dist/preact.js","webpack:///../node_modules/es6-promise/auto.js","webpack:///../node_modules/es6-promise/dist/es6-promise.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///vertx (ignored)","webpack:///./gitalk.jsx","webpack:///../node_modules/babel-runtime/core-js/promise.js","webpack:///../node_modules/core-js/library/fn/promise.js","webpack:///../node_modules/core-js/library/modules/_string-at.js","webpack:///../node_modules/core-js/library/modules/_iter-create.js","webpack:///../node_modules/core-js/library/modules/_object-dps.js","webpack:///../node_modules/core-js/library/modules/_array-includes.js","webpack:///../node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///../node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///../node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///../node_modules/core-js/library/modules/_iter-step.js","webpack:///../node_modules/core-js/library/modules/es6.promise.js","webpack:///../node_modules/core-js/library/modules/_an-instance.js","webpack:///../node_modules/core-js/library/modules/_for-of.js","webpack:///../node_modules/core-js/library/modules/_invoke.js","webpack:///../node_modules/core-js/library/modules/_microtask.js","webpack:///../node_modules/core-js/library/modules/_user-agent.js","webpack:///../node_modules/core-js/library/modules/_redefine-all.js","webpack:///../node_modules/core-js/library/modules/_set-species.js","webpack:///../node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///../node_modules/core-js/library/modules/es7.promise.try.js","webpack:///../node_modules/babel-runtime/core-js/object/assign.js","webpack:///../node_modules/core-js/library/fn/object/assign.js","webpack:///../node_modules/core-js/library/modules/es6.object.assign.js","webpack:///../node_modules/core-js/library/modules/_object-assign.js","webpack:///../node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///../node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///../node_modules/core-js/library/fn/symbol/iterator.js","webpack:///../node_modules/babel-runtime/core-js/symbol.js","webpack:///../node_modules/core-js/library/fn/symbol/index.js","webpack:///../node_modules/core-js/library/modules/es6.symbol.js","webpack:///../node_modules/core-js/library/modules/_meta.js","webpack:///../node_modules/core-js/library/modules/_enum-keys.js","webpack:///../node_modules/core-js/library/modules/_is-array.js","webpack:///../node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///../node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///../node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///../node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///../node_modules/core-js/library/modules/_set-proto.js","webpack:///../node_modules/babel-runtime/core-js/object/create.js","webpack:///../node_modules/core-js/library/fn/object/create.js","webpack:///../node_modules/core-js/library/modules/es6.object.create.js","webpack:///../node_modules/react-flip-move/lib/index.js","webpack:///../node_modules/react-flip-move/lib/FlipMove.js","webpack:///../node_modules/react-flip-move/lib/polyfills.js","webpack:///../node_modules/react-flip-move/lib/prop-converter.js","webpack:///../node_modules/react-flip-move/lib/error-messages.js","webpack:///../node_modules/react-flip-move/lib/enter-leave-presets.js","webpack:///../node_modules/react-flip-move/lib/dom-manipulation.js","webpack:///../node_modules/autosize/dist/autosize.js","webpack:///./i18n/index.js","webpack:///../node_modules/node-polyglot/build/polyglot.js","webpack:///./i18n/zh-CN.json","webpack:///./i18n/zh-TW.json","webpack:///./i18n/en.json","webpack:///./i18n/es-ES.json","webpack:///./i18n/fr.json","webpack:///./i18n/ru.json","webpack:///./i18n/de.json","webpack:///./style/index.styl","webpack:///../node_modules/babel-runtime/core-js/object/keys.js","webpack:///../node_modules/core-js/library/fn/object/keys.js","webpack:///../node_modules/core-js/library/modules/es6.object.keys.js","webpack:///../node_modules/babel-runtime/helpers/slicedToArray.js","webpack:///../node_modules/babel-runtime/core-js/is-iterable.js","webpack:///../node_modules/core-js/library/fn/is-iterable.js","webpack:///../node_modules/core-js/library/modules/core.is-iterable.js","webpack:///../node_modules/babel-runtime/core-js/get-iterator.js","webpack:///../node_modules/core-js/library/fn/get-iterator.js","webpack:///../node_modules/core-js/library/modules/core.get-iterator.js","webpack:///../node_modules/axios/index.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/core/enhanceError.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///./component/button.jsx","webpack:///./component/action.jsx","webpack:///./component/comment.jsx","webpack:///../node_modules/raw-loader ^\\.\\/.*\\.svg$","webpack:///./assets/icon/arrow_down.svg","webpack:///./assets/icon/edit.svg","webpack:///./assets/icon/github.svg","webpack:///./assets/icon/heart.svg","webpack:///./assets/icon/heart_on.svg","webpack:///./assets/icon/reply.svg","webpack:///./assets/icon/tip.svg","webpack:///../node_modules/date-fns/distance_in_words_to_now/index.js","webpack:///../node_modules/date-fns/distance_in_words/index.js","webpack:///../node_modules/date-fns/compare_desc/index.js","webpack:///../node_modules/date-fns/is_date/index.js","webpack:///../node_modules/date-fns/difference_in_seconds/index.js","webpack:///../node_modules/date-fns/difference_in_milliseconds/index.js","webpack:///../node_modules/date-fns/difference_in_months/index.js","webpack:///../node_modules/date-fns/difference_in_calendar_months/index.js","webpack:///../node_modules/date-fns/compare_asc/index.js","webpack:///../node_modules/date-fns/locale/en/index.js","webpack:///../node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/en/build_format_locale/index.js","webpack:///../node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js","webpack:///../node_modules/date-fns/locale/zh_cn/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/zh_tw/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/ru/build_distance_in_words_locale/index.js","webpack:///../node_modules/github-markdown-css/github-markdown.css","webpack:///./const.js","webpack:///./graphql/getComments.js","webpack:///../node_modules/babel-runtime/helpers/toConsumableArray.js","webpack:///../node_modules/babel-runtime/core-js/array/from.js","webpack:///../node_modules/core-js/library/fn/array/from.js","webpack:///../node_modules/core-js/library/modules/es6.array.from.js","webpack:///../node_modules/core-js/library/modules/_create-property.js"],"names":["queryParse","search","window","location","queryString","substring","query","split","forEach","queryStr","key","value","decodeURIComponent","queryStringify","map","encodeURIComponent","join","axiosJSON","axios","create","headers","axiosGithub","baseURL","getMetaContent","name","content","el","document","querySelector","getAttribute","formatErrorMsg","msg","err","response","data","message","errors","e","hasClassInParent","element","className","yes","classes","c","i","indexOf","parentNode","src","alt","onError","text","__html","require","Gitalk","options","container","callback","node","Error","HTMLElement","getElementById","module","exports","GitalkComponent","props","state","user","issue","comments","localComments","comment","page","pagerDirection","cursor","previewHtml","isNoInit","isIniting","isCreating","isLoading","isLoadMore","isLoadOver","isIssueCreating","isPopupVisible","isInputFocused","isPreview","isOccurError","errorMsg","getCommentsV3","clientID","clientSecret","perPage","getIssue","then","get","comments_url","Accept","auth","username","password","params","per_page","cs","concat","res","length","setState","getRef","publicBtnEL","reply","replyCommentBody","replyComment","body","replyCommentArray","unshift","login","t","push","autosize","update","commentEL","focus","handlePopup","preventDefault","stopPropagation","isVisible","hideHandle","e1","target","removeEventListener","addEventListener","handleLogin","localStorage","setItem","GT_COMMENT","href","loginLink","handleIssueCreate","createIssue","getComments","catch","handleCommentCreate","createComment","handleCommentPreview","post","accessToken","Authorization","handleCommentLoad","handleCommentChange","handleLogout","logout","reload","handleCommentFocus","distractionFreeMode","handleCommentBlur","handleSort","direction","handleCommentKeyDown","enableHotKey","metaKey","ctrlKey","keyCode","id","number","labels","title","language","navigator","userLanguage","createIssueManually","proxy","flipMoveOptions","staggerDelayBy","appearAnimation","enterAnimation","leaveAnimation","url","defaultAuthor","avatarUrl","updateCountCallback","storedComment","getItem","removeItem","code","replacedUrl","origin","pathname","hash","history","replaceState","client_id","client_secret","access_token","getInit","console","log","i18n","getUserInfo","owner","repo","getUrl","resolve","reject","Date","now","status","isAdmin","getIssueById","resIssue","getIssueByLabels","QLGetComments","call","GT_ACCESS_TOKEN","reactions","nodes","findIndex","n","totalCount","viewerHasReacted","getQL","operationName","gId","index","splice","admin","link","u","obj","avatar_url","handleImageErrored","bind","totalComments","reverse","unLike","like","cnt","isDesc","toString","counts","html_url","smart_count","GT_VERSION","initing","meta","noInit","header","_accessToke","token","_accessToken","githubOauthUrl","redirect_uri","scope","a","toLowerCase","Component","Polyglot","phrases","i18nMap","en","locale","ZHCN","ZHTW","EN","ES","FR","RU","DE","onClick","onMouseDown","GT_i18n_distanceInWordsLocaleMap","zh","fr","ru","Comment","emailResponse","classList","toggle","commentedText","replyCallback","likeCallback","enableEdit","reactionTotalCount","pageInfo","hasNextPage","created_at","addSuffix","distanceInWords","body_html","VERSION","vars","cursorDirection","ql","variables","pageSize","repository","items","author","databaseId","createdAt","bodyHTML","hasPreviousPage","startCursor","endCursor"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,KAAK;QACL;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC,YAAY,mBAAO,CAAC,EAAW;AAC/B,UAAU,mBAAO,CAAC,EAAQ;AAC1B,aAAa,mBAAO,CAAC,CAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACVa;;AAEb,WAAW,mBAAO,CAAC,EAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gCAAgC;AAChC,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvVA,aAAa,mBAAO,CAAC,CAAW;AAChC,WAAW,mBAAO,CAAC,CAAS;AAC5B,UAAU,mBAAO,CAAC,EAAQ;AAC1B,WAAW,mBAAO,CAAC,EAAS;AAC5B,UAAU,mBAAO,CAAC,EAAQ;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;AC7DA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AACkC;;AAErE,uBAAuB;;AAEvB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;;AAGA;;AAEA;AACA;;AAEA;AACA,2BAA2B,aAAa;;;;AAIxC;AACA,YAAY,yCAAC;AACb;AACA;AACA;;AAEA;AACA,kBAAkB,sBAAsB,EAAE;AAC1C,mBAAmB,mBAAmB,EAAE;AACxC;AACA,CAAC;;AAED;AACA,kBAAkB,wBAAwB,EAAE;AAC5C,mBAAmB,qBAAqB,EAAE;AAC1C;AACA,CAAC;;;;AAID,mBAAmB,+CAAO;AAC1B,+CAAO;AACP,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;;;AAGA,mBAAmB,+CAAO;AAC1B,+CAAO;AACP;AACA;;AAEA;AACA,uCAAuC;;AAEvC;AACA;AACA,wDAAwD,4BAA4B;AACpF,yBAAyB,iCAAiC;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,4BAA4B;AACnF,wBAAwB,iCAAiC;;AAEzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;;AAEA;AACA;AACA;;AAEA;AACA,wBAAwB,4CAA4C;AACpE,SAAS,6BAA6B;AACtC;;AAEA;AACA;AACA;AACA,gBAAgB,8CAA8C,OAAO,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA,wCAAwC,aAAa;;AAErD;AACA,aAAa,2BAA2B;;AAExC;AACA,qCAAqC,KAAK;AAC1C;AACA;AACA;AACA;;AAEA,WAAW,8CAAM;AACjB,cAAc,2DAA2D,YAAY,EAAE;AACvF,oCAAoC,YAAY;AAChD;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,yCAAC,mBAAmB,mCAAmC;AACnE;AACA,gBAAgB,aAAa;AAC7B;AACA;;;AAGA;AACA;AACA;AACA,EAAE,8CAAM,CAAC,yCAAC;AACV;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC;AACA,8BAA8B,mBAAmB;AACjD;AACA,EAAE;AACF;AACA,yBAAyB,aAAa;AACtC;AACA,8BAA8B,mBAAmB;AACjD;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,4BAA4B,4DAA4D;AACxF;AACA,EAAE;AACF;AACA,yBAAyB,WAAW;AACpC;AACA;AACA;;;AAGA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA,2BAA2B,KAAK;AAChC;AACA;;AAEA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA,eAAe,wCAAwC;;AAEvD;;AAEA,wDAAwD,gCAAgC;AACxF;AACA;AACA;;AAEA,qDAAqD,mCAAmC;;AAExF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,uBAAuB,yCAAC;AACxB;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA,gCAAgC,gBAAgB;AAChD;AACA,YAAY,yCAAC;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oDAAY;AACnC;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;;AAEA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,mBAAmB,QAAQ;AAC3B;AACA,UAAU,2BAA2B;AACrC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,mBAAmB,iBAAiB,aAAa,EAAE;AACnD,qBAAqB,uBAAuB,aAAa,EAAE;AAC3D;AACA;;;AAGA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,kBAAkB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,gBAAgB;AAC/B;;AAEA;AACA,eAAe,UAAU;AACzB,wBAAwB;AACxB;AACA,KAAK;AACL;AACA,qCAAqC,SAAS;AAC9C;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA,cAAc,QAAQ;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,kDAAS;AACZ;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA,CAAC,iDAAS;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iDAAS;AAC5C;;AAEA,qBAAqB;;AAErB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;;;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA,YAAY,kDAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE4T,oEAAK,EAAC;AAClU;;;;;;;;AC1mBA,eAAe,mBAAO,CAAC,EAAc;AACrC;AACA;AACA;AACA;;;;;;;ACJA,eAAe,mBAAO,CAAC,CAAc;AACrC,qBAAqB,mBAAO,CAAC,EAAmB;AAChD,kBAAkB,mBAAO,CAAC,EAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,CAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA,kBAAkB,mBAAO,CAAC,EAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;ACvLtC;AACA;AACA;;;;;;;ACFA,SAAS,mBAAO,CAAC,CAAc;AAC/B,iBAAiB,mBAAO,CAAC,EAAkB;AAC3C,iBAAiB,mBAAO,CAAC,CAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA;AACA,gBAAgB,mBAAO,CAAC,EAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;;;;;;;ACAA;AACA,cAAc,mBAAO,CAAC,EAAY;AAClC,cAAc,mBAAO,CAAC,EAAY;AAClC;AACA;AACA;;;;;;;ACLA;AACA,cAAc,mBAAO,CAAC,EAAY;AAClC;AACA;AACA;;;;;;;ACJA,aAAa,mBAAO,CAAC,GAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA,yBAAyB,EAAE;AAC3B;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,YAAY,EAAE;AACd;;AAEA,2BAA2B,EAAE;AAC7B;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,YAAY,EAAE;AACd;;AAEA;AACA,0BAA0B,EAAE;AAC5B,4BAA4B,EAAE;AAC9B,6BAA6B,EAAE,OAAO,EAAE;AACxC,6BAA6B,EAAE;AAC/B,8BAA8B,EAAE,OAAO,EAAE;;AAEzC;AACA,yBAAyB,EAAE;AAC3B,2BAA2B,EAAE,OAAO,EAAE;AACtC,6BAA6B,EAAE,OAAO,EAAE,OAAO,EAAE;;AAEjD;AACA;AACA;AACA,uCAAuC,EAAE;AACzC,yCAAyC,EAAE,OAAO,EAAE;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPa;AACb,UAAU,mBAAO,CAAC,GAAc;;AAEhC;AACA,mBAAO,CAAC,EAAgB;AACxB,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;AChBD;;;;;;;ACAA;AACA,YAAY,mBAAO,CAAC,EAAyB;AAC7C,kBAAkB,mBAAO,CAAC,EAAkB;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gBAAgB,mBAAO,CAAC,EAAe;AACvC,mBAAmB,mBAAO,CAAC,GAAmB;AAC9C,eAAe,mBAAO,CAAC,EAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA,UAAU,mBAAO,CAAC,EAAQ;AAC1B;AACA;AACA;AACA;;;;;;;ACLA,eAAe,mBAAO,CAAC,CAAW;AAClC;;;;;;;ACDA;AACA,UAAU,mBAAO,CAAC,EAAQ;AAC1B,eAAe,mBAAO,CAAC,EAAc;AACrC,eAAe,mBAAO,CAAC,EAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA,eAAe,mBAAO,CAAC,CAAc;AACrC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA,gBAAgB,mBAAO,CAAC,EAAc;AACtC,eAAe,mBAAO,CAAC,CAAQ;AAC/B;;AAEA;AACA;AACA;;;;;;;ACPA;AACA,eAAe,mBAAO,CAAC,CAAc;AACrC,gBAAgB,mBAAO,CAAC,EAAe;AACvC,cAAc,mBAAO,CAAC,CAAQ;AAC9B;AACA;AACA;AACA;AACA;;;;;;;ACRA,UAAU,mBAAO,CAAC,EAAQ;AAC1B,aAAa,mBAAO,CAAC,GAAW;AAChC,WAAW,mBAAO,CAAC,EAAS;AAC5B,UAAU,mBAAO,CAAC,EAAe;AACjC,aAAa,mBAAO,CAAC,CAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,EAAQ;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACtEa;;AAEb;AACA;AACA;;;;;;;;ACJA,+CAAa;;AAEb,YAAY,mBAAO,CAAC,CAAS;AAC7B,0BAA0B,mBAAO,CAAC,GAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,EAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,EAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;AChGa;;AAEb,YAAY,mBAAO,CAAC,CAAY;AAChC,aAAa,mBAAO,CAAC,GAAkB;AACvC,eAAe,mBAAO,CAAC,EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,GAAuB;AACnD,mBAAmB,mBAAO,CAAC,GAA2B;AACtD,sBAAsB,mBAAO,CAAC,GAA8B;AAC5D,kBAAkB,mBAAO,CAAC,EAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAO,CAAC,GAAsB;;AAElD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;ACnLa;;AAEb,mBAAmB,mBAAO,CAAC,GAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,CAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;A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,iBAAiB,6BAA6B,iBAAiB,+BAA+B,iBAAiB,iCAAiC,iBAAiB,+BAA+B;;;;;;;;ACd5b;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb;AACA;AACA;;AAEA,8CAA8C,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gGAAgG,eAAe;AAC/G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;AC3OA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,EAAU;AAChC,aAAa,mBAAO,CAAC,EAAe;;AAEpC,2BAA2B,mBAAO,CAAC,EAA4B;AAC/D,qBAAqB,mBAAO,CAAC,EAAkB;;AAE/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AC9kBA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA,6BAA6B,mBAAO,CAAC,EAA4B;AACjE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACrGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,2BAA2B,mBAAO,CAAC,EAA4B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;AACA;AACA,sGAAsG,KAAK,wBAAwB;AACnI;AACA,sFAAsF,0DAA0D;AAChJ,6EAA6E,4DAA4D;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH;AACvH;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,SAAS,mEAAmE;AAC5E;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb,uCAAuC;AACvC,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,kIAAkI,iCAAiC,6HAA6H;AAChS;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF;AACrF;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F,sCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,uCAAuC,UAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oDAAoD,iBAAiB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E,gHAAgH;AAC7L;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,2CAA2C,KAAK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8IAA8I;AAC9I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8IAA8I;AAC9I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA,uJAAuJ;AACvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAA4B,0BAA0B;AAC9D,CAAC;AACD,kC;;;;;;;AC/YA;AACA;AACa;AACb,iBAAiB,mBAAO,CAAC,EAAI;;;;;;;ACH7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,KAA4D;AAC7D;AACA;AACA,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iFAAiF;;AAEjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,mBAAC,CAAC,EAAO;AACzB;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC,yCAAyC,UAAc;AACxD;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,6CAA6C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,OAAO;AACjB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,YAAY,SAAS;AACrB,YAAY,SAAS;AACrB;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,YAAY,SAAS;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;;;;;;;;ACpoCA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACpBA,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;AACA;;;;AACA;;;;AAEA;;;;AACA;;AACA;;AASA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;;;IAEMU,e;;;AA0BJ,2BAAaC,KAAb,EAAoB;AAAA;;AAAA,wJACZA,KADY;;AAAA,UAzBpBC,KAyBoB,GAzBZ;AACNC,YAAM,IADA;AAENC,aAAO,IAFD;AAGNC,gBAAU,EAHJ;AAINC,qBAAe,EAJT;AAKNC,eAAS,EALH;AA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AAC,EAAQ;AAC1B,cAAc,mBAAO,CAAC,EAAY;AAClC,cAAc,mBAAO,CAAC,CAAW;AACjC,eAAe,mBAAO,CAAC,EAAc;AACrC,gBAAgB,mBAAO,CAAC,EAAe;AACvC,iBAAiB,mBAAO,CAAC,GAAgB;AACzC,YAAY,mBAAO,CAAC,GAAW;AAC/B,yBAAyB,mBAAO,CAAC,EAAwB;AACzD,WAAW,mBAAO,CAAC,EAAS;AAC5B,gBAAgB,mBAAO,CAAC,GAAc;AACtC,iCAAiC,mBAAO,CAAC,EAA2B;AACpE,cAAc,mBAAO,CAAC,EAAY;AAClC,gBAAgB,mBAAO,CAAC,GAAe;AACvC,qBAAqB,mBAAO,CAAC,EAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,EAAE,mBAAO,CAAC,CAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA,uBAAuB,mBAAO,CAAC,GAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E,mBAAO,CAAC,EAAsB;AAC9B,mBAAO,CAAC,GAAgB;AACxB,UAAU,mBAAO,CAAC,CAAS;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gDAAgD,mBAAO,CAAC,EAAgB;AACxE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;AC7RD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA,UAAU,mBAAO,CAAC,EAAQ;AAC1B,WAAW,mBAAO,CAAC,EAAc;AACjC,kBAAkB,mBAAO,CAAC,EAAkB;AAC5C,eAAe,mBAAO,CAAC,CAAc;AACrC,eAAe,mBAAO,CAAC,EAAc;AACrC,gBAAgB,mBAAO,CAAC,EAA4B;AACpD;AACA;AACA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BAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,EAAE,mBAAO,CAAC,EAAgB;AAC1B,EAAE,mBAAO,CAAC,EAAe;AACzB;;AAEA,sBAAsB,mBAAO,CAAC,EAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,8CAA8C,YAAY,EAAE;;AAE5D;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,oCAAoC,mBAAO,CAAC,EAAS;AACrD;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrPA,WAAW,mBAAO,CAAC,EAAQ;AAC3B,eAAe,mBAAO,CAAC,EAAc;AACrC,UAAU,mBAAO,CAAC,EAAQ;AAC1B,cAAc,mBAAO,CAAC,CAAc;AACpC;AACA;AACA;A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A;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK,yBAAyB;AAC9B;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY,mBAAmB;AAC3D,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,cAAc,2CAA2C;AACnF,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,mCAAmC,UAAU,gBAAgB;AAC7D;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC,WAAW;AACX,gCAAgC;AAChC,WAAW;AACX,gCAAgC;AAChC;;AAEA;AACA,sDAAsD,mCAAmC;AACzF,SAAS;AACT,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B;AACA;AACA,WAAW;AACX,SAAS;;AAET,uBAAuB,yBAAyB;AAChD;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0CAA0C;AAC1C;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD,mBAAmB;AACpE;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA,6BAA6B;AAC7B;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA,oC;;;;;;;ACxtBa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,C;;;;;;;AC/EA,+CAAa;;AAEb;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,CAAO;;AAE5B;;AAEA,qBAAqB,mBAAO,CAAC,GAAkB;;AAE/C,yBAAyB,mBAAO,CAAC,GAAuB;;AAExD,eAAe,mBAAO,CAAC,EAAW;;AAElC,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;AAC5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA,oC;;;;;;;;AC5Oa;;AAEb;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,E;;;;;;;AC1Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,sCAAsC;AACjD,SAAS;AACT,GAAG;AACH;AACA,WAAW,eAAe;AAC1B,SAAS;AACT,GAAG;AACH;AACA,WAAW,wDAAwD;AACnE,SAAS;AACT,GAAG;AACH;AACA,WAAW,yDAAyD;AACpE,SAAS;AACT,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,SAAS;AACT,GAAG;AACH;AACA,WAAW,eAAe;AAC1B,SAAS;AACT,GAAG;AACH;AACA,WAAW,wDAAwD;AACnE,SAAS;AACT,GAAG;AACH;AACA,WAAW,yDAAyD;AACpE,SAAS;AACT,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mD;;;;;;;ACrEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;AAC9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,CAAW;;AAEnC,eAAe,mBAAO,CAAC,EAAW;;AAElC,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,yBAAyB;AAC/C,GAAG,IAAI;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B,cAAc,EAAE;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH,E;;;;;;ACxPA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAA0C;AAC/C,EAAE,iCAAO,CAAC,OAAS,EAAE,MAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACxC,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,+EAA+E;;AAE/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,E;;;;;;;;;;;;;kBC/Qc,UAAUsG,QAAV,EAAoB;AACjC,SAAO,IAAIyF,kBAAJ,CAAa;AAClBC,aAASC,QAAQ3F,QAAR,KAAqB2F,QAAQC,EADpB;AAElBC,YAAQ7F;AAFU,GAAb,CAAP;AAID,C;;AAzBD;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAM2F,UAAU;AACd,QAAMG,cADQ;AAEd,WAASA,cAFK;AAGd,WAASC,cAHK;AAId,QAAMC,YAJQ;AAKd,WAASC,cALK;AAMd,QAAMC,YANQ;AAOd,QAAMC,YAPQ;AAQd,QAAMC;AARQ,CAAhB,C;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;;AAGA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,kCAAE;AACf;AACA,KAAK;AAAA,oGAAC;AACN,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK;AAC1C;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC,UAAU;AACV;AACA;AACA;AACA;AACA,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,SAAS;AAC7C;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,UAAU,EAAE;AACxC,4BAA4B,wBAAwB,EAAE;AACtD,4BAA4B,sBAAsB,EAAE;AACpD,4BAA4B,mHAAmH,EAAE;AACjJ,4BAA4B,mDAAmD,EAAE;AACjF,4BAA4B,8FAA8F,EAAE;AAC5H,4BAA4B,iDAAiD;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;AC7Fa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;ACnDa;;AAEb,YAAY,mBAAO,CAAC,CAAY;AAChC,oBAAoB,mBAAO,CAAC,GAAiB;AAC7C,eAAe,mBAAO,CAAC,EAAoB;AAC3C,eAAe,mBAAO,CAAC,EAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9Ea;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,CAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXa;;AAEb,kBAAkB,mBAAO,CAAC,EAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzCa;;AAEb,oBAAoB,mBAAO,CAAC,GAA0B;AACtD,kBAAkB,mBAAO,CAAC,GAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACba;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACpDa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,CAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDa;;AAEb,aAAa,mBAAO,CAAC,EAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;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,4CAAC,aAAD,IAAK,WAAU,aAAf,EAA6B,MAAK,MAAlC;AANF,aADD,GAUC;AAAA;AAAA,gBAAG,WAAU,kBAAb,EAAgC,OAAM,OAAtC,EAA8C,SAASuC,aAAvD;AACE,4CAAC,aAAD,IAAK,WAAU,cAAf,EAA8B,MAAK,OAAnC;AADF;AA/CJ,WADF;AAqDE;AACE,uBAAU,+BADZ;AAEE,qCAAyB;AACvBlO,sBAAQmB,QAAQwN;AADO;AAF3B;AArDF;AARF,OADF;AAuED;;;EAvHkCjC,gB;;kBAAhBmB,O;;;;;;AC7BrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;ACvBA,gjB;;;;;;ACAA,gf;;;;;;ACAA,6jC;;;;;;ACAA,2tB;;;;;;ACAA,se;;;;;;ACAA,sV;;;;;;ACAA,s8C;;;;;;ACAA,sBAAsB,mBAAO,CAAC,GAA+B;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpFA,kBAAkB,mBAAO,CAAC,GAA0B;AACpD,YAAY,mBAAO,CAAC,EAAmB;AACvC,0BAA0B,mBAAO,CAAC,GAAmC;AACrE,yBAAyB,mBAAO,CAAC,GAAkC;AACnE,eAAe,mBAAO,CAAC,GAAuB;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;;;;;;AC1MA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA,+BAA+B,mBAAO,CAAC,GAAwC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,YAAY,mBAAO,CAAC,EAAmB;AACvC,iCAAiC,mBAAO,CAAC,GAA2C;AACpF,iBAAiB,mBAAO,CAAC,GAAyB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC/BA,YAAY,mBAAO,CAAC,EAAmB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,mBAAmB;AAC9B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;AClDA,iCAAiC,mBAAO,CAAC,GAA2C;AACpF,wBAAwB,mBAAO,CAAC,GAAgC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA,0BAA0B,OAAO;AACjC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,0BAA0B,OAAO;AACjC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,sBAAsB,OAAO;AAC7B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,sBAAsB,OAAO;AAC7B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,sBAAsB,OAAO;AAC7B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,qBAAqB,OAAO;AAC5B,KAAK;;AAEL;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AClGA,kCAAkC,mBAAO,CAAC,GAAqD;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC3BA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AClGA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B,KAAK;;AAEL;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AClGA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,yBAAyB,OAAO;AAChC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,6BAA6B,OAAO;AACpC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,6BAA6B,OAAO;AACpC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,6BAA6B,OAAO;AACpC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,uBAAuB,OAAO;AAC9B,KAAK;;AAEL;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AClGA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;;AAEA;AACA;AACA,yBAAyB,OAAO;AAChC,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,wBAAwB,OAAO;AAC/B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,wBAAwB,OAAO;AAC/B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,wBAAwB,OAAO;AAC/B,KAAK;;AAEL;AACA;AACA,gBAAgB,OAAO;AACvB,KAAK;;AAEL;AACA;AACA,wBAAwB,OAAO;AAC/B,KAAK;;AAEL;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,6DAA6D,OAAO;AACpE;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;AClGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gDAAgD,OAAO;;AAEvD;AACA,GAAG;AACH,8CAA8C,OAAO;;AAErD;AACA,GAAG;AACH,4CAA4C,OAAO;AACnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAA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","file":"gitalk.js","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 if(typeof exports === 'object')\n\t\texports[\"Gitalk\"] = factory();\n\telse\n\t\troot[\"Gitalk\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 82);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9e95ca6c35baf4020c1b","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = merge(result[key], val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = deepMerge(result[key], val);\n    } else if (typeof val === 'object') {\n      result[key] = deepMerge({}, val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  deepMerge: deepMerge,\n  extend: extend,\n  trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/utils.js\n// module id = 3\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_export.js\n// module id = 4\n// module chunks = 0","import PropTypes from 'prop-types';\nimport { Component, cloneElement, h, options, render } from 'preact';\n\nvar version = '15.1.0'; // trick libraries to think we are react\n\nvar ELEMENTS = 'a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan'.split(' ');\n\nvar REACT_ELEMENT_TYPE = (typeof Symbol!=='undefined' && Symbol.for && Symbol.for('react.element')) || 0xeac7;\n\nvar COMPONENT_WRAPPER_KEY = typeof Symbol!=='undefined' ? Symbol.for('__preactCompatWrapper') : '__preactCompatWrapper';\n\n// don't autobind these methods since they already have guaranteed context.\nvar AUTOBIND_BLACKLIST = {\n\tconstructor: 1,\n\trender: 1,\n\tshouldComponentUpdate: 1,\n\tcomponentWillReceiveProps: 1,\n\tcomponentWillUpdate: 1,\n\tcomponentDidUpdate: 1,\n\tcomponentWillMount: 1,\n\tcomponentDidMount: 1,\n\tcomponentWillUnmount: 1,\n\tcomponentDidUnmount: 1\n};\n\n\nvar CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/;\n\n\nvar BYPASS_HOOK = {};\n\n/*global process*/\nvar DEV = typeof process==='undefined' || !process.env || process.env.NODE_ENV!=='production';\n\n// a component that renders nothing. Used to replace components for unmountComponentAtNode.\nfunction EmptyComponent() { return null; }\n\n\n\n// make react think we're react.\nvar VNode = h('a', null).constructor;\nVNode.prototype.$$typeof = REACT_ELEMENT_TYPE;\nVNode.prototype.preactCompatUpgraded = false;\nVNode.prototype.preactCompatNormalized = false;\n\nObject.defineProperty(VNode.prototype, 'type', {\n\tget: function() { return this.nodeName; },\n\tset: function(v) { this.nodeName = v; },\n\tconfigurable:true\n});\n\nObject.defineProperty(VNode.prototype, 'props', {\n\tget: function() { return this.attributes; },\n\tset: function(v) { this.attributes = v; },\n\tconfigurable:true\n});\n\n\n\nvar oldEventHook = options.event;\noptions.event = function (e) {\n\tif (oldEventHook) { e = oldEventHook(e); }\n\te.persist = Object;\n\te.nativeEvent = e;\n\treturn e;\n};\n\n\nvar oldVnodeHook = options.vnode;\noptions.vnode = function (vnode) {\n\tif (!vnode.preactCompatUpgraded) {\n\t\tvnode.preactCompatUpgraded = true;\n\n\t\tvar tag = vnode.nodeName,\n\t\t\tattrs = vnode.attributes = extend({}, vnode.attributes);\n\n\t\tif (typeof tag==='function') {\n\t\t\tif (tag[COMPONENT_WRAPPER_KEY]===true || (tag.prototype && 'isReactComponent' in tag.prototype)) {\n\t\t\t\tif (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }\n\t\t\t\tif (vnode.children) { attrs.children = vnode.children; }\n\n\t\t\t\tif (!vnode.preactCompatNormalized) {\n\t\t\t\t\tnormalizeVNode(vnode);\n\t\t\t\t}\n\t\t\t\thandleComponentVNode(vnode);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }\n\t\t\tif (vnode.children) { attrs.children = vnode.children; }\n\n\t\t\tif (attrs.defaultValue) {\n\t\t\t\tif (!attrs.value && attrs.value!==0) {\n\t\t\t\t\tattrs.value = attrs.defaultValue;\n\t\t\t\t}\n\t\t\t\tdelete attrs.defaultValue;\n\t\t\t}\n\n\t\t\thandleElementVNode(vnode, attrs);\n\t\t}\n\t}\n\n\tif (oldVnodeHook) { oldVnodeHook(vnode); }\n};\n\nfunction handleComponentVNode(vnode) {\n\tvar tag = vnode.nodeName,\n\t\ta = vnode.attributes;\n\n\tvnode.attributes = {};\n\tif (tag.defaultProps) { extend(vnode.attributes, tag.defaultProps); }\n\tif (a) { extend(vnode.attributes, a); }\n}\n\nfunction handleElementVNode(vnode, a) {\n\tvar shouldSanitize, attrs, i;\n\tif (a) {\n\t\tfor (i in a) { if ((shouldSanitize = CAMEL_PROPS.test(i))) { break; } }\n\t\tif (shouldSanitize) {\n\t\t\tattrs = vnode.attributes = {};\n\t\t\tfor (i in a) {\n\t\t\t\tif (a.hasOwnProperty(i)) {\n\t\t\t\t\tattrs[ CAMEL_PROPS.test(i) ? i.replace(/([A-Z0-9])/, '-$1').toLowerCase() : i ] = a[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n// proxy render() since React returns a Component reference.\nfunction render$1(vnode, parent, callback) {\n\tvar prev = parent && parent._preactCompatRendered && parent._preactCompatRendered.base;\n\n\t// ignore impossible previous renders\n\tif (prev && prev.parentNode!==parent) { prev = null; }\n\n\t// default to first Element child\n\tif (!prev) { prev = parent.children[0]; }\n\n\t// remove unaffected siblings\n\tfor (var i=parent.childNodes.length; i--; ) {\n\t\tif (parent.childNodes[i]!==prev) {\n\t\t\tparent.removeChild(parent.childNodes[i]);\n\t\t}\n\t}\n\n\tvar out = render(vnode, parent, prev);\n\tif (parent) { parent._preactCompatRendered = out && (out._component || { base: out }); }\n\tif (typeof callback==='function') { callback(); }\n\treturn out && out._component || out;\n}\n\n\nvar ContextProvider = function () {};\n\nContextProvider.prototype.getChildContext = function () {\n\treturn this.props.context;\n};\nContextProvider.prototype.render = function (props) {\n\treturn props.children[0];\n};\n\nfunction renderSubtreeIntoContainer(parentComponent, vnode, container, callback) {\n\tvar wrap = h(ContextProvider, { context: parentComponent.context }, vnode);\n\tvar c = render$1(wrap, container);\n\tif (callback) { callback(c); }\n\treturn c._component || c.base;\n}\n\n\nfunction unmountComponentAtNode(container) {\n\tvar existing = container._preactCompatRendered && container._preactCompatRendered.base;\n\tif (existing && existing.parentNode===container) {\n\t\trender(h(EmptyComponent), container, existing);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n\nvar ARR = [];\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nvar Children = {\n\tmap: function(children, fn, ctx) {\n\t\tif (children == null) { return null; }\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) { fn = fn.bind(ctx); }\n\t\treturn children.map(fn);\n\t},\n\tforEach: function(children, fn, ctx) {\n\t\tif (children == null) { return null; }\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) { fn = fn.bind(ctx); }\n\t\tchildren.forEach(fn);\n\t},\n\tcount: function(children) {\n\t\treturn children && children.length || 0;\n\t},\n\tonly: function(children) {\n\t\tchildren = Children.toArray(children);\n\t\tif (children.length!==1) { throw new Error('Children.only() expects only one child.'); }\n\t\treturn children[0];\n\t},\n\ttoArray: function(children) {\n\t\tif (children == null) { return []; }\n\t\treturn Array.isArray && Array.isArray(children) ? children : ARR.concat(children);\n\t}\n};\n\n\n/** Track current render() component for ref assignment */\nvar currentComponent;\n\n\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n\nvar DOM = {};\nfor (var i=ELEMENTS.length; i--; ) {\n\tDOM[ELEMENTS[i]] = createFactory(ELEMENTS[i]);\n}\n\nfunction upgradeToVNodes(arr, offset) {\n\tfor (var i=offset || 0; i<arr.length; i++) {\n\t\tvar obj = arr[i];\n\t\tif (Array.isArray(obj)) {\n\t\t\tupgradeToVNodes(obj);\n\t\t}\n\t\telse if (obj && typeof obj==='object' && !isValidElement(obj) && ((obj.props && obj.type) || (obj.attributes && obj.nodeName) || obj.children)) {\n\t\t\tarr[i] = createElement(obj.type || obj.nodeName, obj.props || obj.attributes, obj.children);\n\t\t}\n\t}\n}\n\nfunction isStatelessComponent(c) {\n\treturn typeof c==='function' && !(c.prototype && c.prototype.render);\n}\n\n\n// wraps stateless functional components in a PropTypes validator\nfunction wrapStatelessComponent(WrappedComponent) {\n\treturn createClass({\n\t\tdisplayName: WrappedComponent.displayName || WrappedComponent.name,\n\t\trender: function() {\n\t\t\treturn WrappedComponent(this.props, this.context);\n\t\t}\n\t});\n}\n\n\nfunction statelessComponentHook(Ctor) {\n\tvar Wrapped = Ctor[COMPONENT_WRAPPER_KEY];\n\tif (Wrapped) { return Wrapped===true ? Ctor : Wrapped; }\n\n\tWrapped = wrapStatelessComponent(Ctor);\n\n\tObject.defineProperty(Wrapped, COMPONENT_WRAPPER_KEY, { configurable:true, value:true });\n\tWrapped.displayName = Ctor.displayName;\n\tWrapped.propTypes = Ctor.propTypes;\n\tWrapped.defaultProps = Ctor.defaultProps;\n\n\tObject.defineProperty(Ctor, COMPONENT_WRAPPER_KEY, { configurable:true, value:Wrapped });\n\n\treturn Wrapped;\n}\n\n\nfunction createElement() {\n\tvar args = [], len = arguments.length;\n\twhile ( len-- ) args[ len ] = arguments[ len ];\n\n\tupgradeToVNodes(args, 2);\n\treturn normalizeVNode(h.apply(void 0, args));\n}\n\n\nfunction normalizeVNode(vnode) {\n\tvnode.preactCompatNormalized = true;\n\n\tapplyClassName(vnode);\n\n\tif (isStatelessComponent(vnode.nodeName)) {\n\t\tvnode.nodeName = statelessComponentHook(vnode.nodeName);\n\t}\n\n\tvar ref = vnode.attributes.ref,\n\t\ttype = ref && typeof ref;\n\tif (currentComponent && (type==='string' || type==='number')) {\n\t\tvnode.attributes.ref = createStringRefProxy(ref, currentComponent);\n\t}\n\n\tapplyEventNormalization(vnode);\n\n\treturn vnode;\n}\n\n\nfunction cloneElement$1(element, props) {\n\tvar children = [], len = arguments.length - 2;\n\twhile ( len-- > 0 ) children[ len ] = arguments[ len + 2 ];\n\n\tif (!isValidElement(element)) { return element; }\n\tvar elementProps = element.attributes || element.props;\n\tvar node = h(\n\t\telement.nodeName || element.type,\n\t\telementProps,\n\t\telement.children || elementProps && elementProps.children\n\t);\n\t// Only provide the 3rd argument if needed.\n\t// Arguments 3+ overwrite element.children in preactCloneElement\n\tvar cloneArgs = [node, props];\n\tif (children && children.length) {\n\t\tcloneArgs.push(children);\n\t}\n\telse if (props && props.children) {\n\t\tcloneArgs.push(props.children);\n\t}\n\treturn normalizeVNode(cloneElement.apply(void 0, cloneArgs));\n}\n\n\nfunction isValidElement(element) {\n\treturn element && ((element instanceof VNode) || element.$$typeof===REACT_ELEMENT_TYPE);\n}\n\n\nfunction createStringRefProxy(name, component) {\n\treturn component._refProxies[name] || (component._refProxies[name] = function (resolved) {\n\t\tif (component && component.refs) {\n\t\t\tcomponent.refs[name] = resolved;\n\t\t\tif (resolved===null) {\n\t\t\t\tdelete component._refProxies[name];\n\t\t\t\tcomponent = null;\n\t\t\t}\n\t\t}\n\t});\n}\n\n\nfunction applyEventNormalization(ref) {\n\tvar nodeName = ref.nodeName;\n\tvar attributes = ref.attributes;\n\n\tif (!attributes || typeof nodeName!=='string') { return; }\n\tvar props = {};\n\tfor (var i in attributes) {\n\t\tprops[i.toLowerCase()] = i;\n\t}\n\tif (props.ondoubleclick) {\n\t\tattributes.ondblclick = attributes[props.ondoubleclick];\n\t\tdelete attributes[props.ondoubleclick];\n\t}\n\t// for *textual inputs* (incl textarea), normalize `onChange` -> `onInput`:\n\tif (props.onchange && (nodeName==='textarea' || (nodeName.toLowerCase()==='input' && !/^fil|che|rad/i.test(attributes.type)))) {\n\t\tvar normalized = props.oninput || 'oninput';\n\t\tif (!attributes[normalized]) {\n\t\t\tattributes[normalized] = multihook([attributes[normalized], attributes[props.onchange]]);\n\t\t\tdelete attributes[props.onchange];\n\t\t}\n\t}\n}\n\n\nfunction applyClassName(ref) {\n\tvar attributes = ref.attributes;\n\n\tif (!attributes) { return; }\n\tvar cl = attributes.className || attributes.class;\n\tif (cl) { attributes.className = cl; }\n}\n\n\nfunction extend(base, props) {\n\tfor (var key in props) {\n\t\tif (props.hasOwnProperty(key)) {\n\t\t\tbase[key] = props[key];\n\t\t}\n\t}\n\treturn base;\n}\n\n\nfunction shallowDiffers(a, b) {\n\tfor (var i in a) { if (!(i in b)) { return true; } }\n\tfor (var i$1 in b) { if (a[i$1]!==b[i$1]) { return true; } }\n\treturn false;\n}\n\n\nfunction findDOMNode(component) {\n\treturn component && component.base || component;\n}\n\n\nfunction F(){}\n\nfunction createClass(obj) {\n\tfunction cl(props, context) {\n\t\tbindAll(this);\n\t\tComponent$1.call(this, props, context, BYPASS_HOOK);\n\t\tnewComponentHook.call(this, props, context);\n\t}\n\n\tobj = extend({ constructor: cl }, obj);\n\n\t// We need to apply mixins here so that getDefaultProps is correctly mixed\n\tif (obj.mixins) {\n\t\tapplyMixins(obj, collateMixins(obj.mixins));\n\t}\n\tif (obj.statics) {\n\t\textend(cl, obj.statics);\n\t}\n\tif (obj.propTypes) {\n\t\tcl.propTypes = obj.propTypes;\n\t}\n\tif (obj.defaultProps) {\n\t\tcl.defaultProps = obj.defaultProps;\n\t}\n\tif (obj.getDefaultProps) {\n\t\tcl.defaultProps = obj.getDefaultProps();\n\t}\n\n\tF.prototype = Component$1.prototype;\n\tcl.prototype = extend(new F(), obj);\n\n\tcl.displayName = obj.displayName || 'Component';\n\n\treturn cl;\n}\n\n\n// Flatten an Array of mixins to a map of method name to mixin implementations\nfunction collateMixins(mixins) {\n\tvar keyed = {};\n\tfor (var i=0; i<mixins.length; i++) {\n\t\tvar mixin = mixins[i];\n\t\tfor (var key in mixin) {\n\t\t\tif (mixin.hasOwnProperty(key) && typeof mixin[key]==='function') {\n\t\t\t\t(keyed[key] || (keyed[key]=[])).push(mixin[key]);\n\t\t\t}\n\t\t}\n\t}\n\treturn keyed;\n}\n\n\n// apply a mapping of Arrays of mixin methods to a component prototype\nfunction applyMixins(proto, mixins) {\n\tfor (var key in mixins) { if (mixins.hasOwnProperty(key)) {\n\t\tproto[key] = multihook(\n\t\t\tmixins[key].concat(proto[key] || ARR),\n\t\t\tkey==='getDefaultProps' || key==='getInitialState' || key==='getChildContext'\n\t\t);\n\t} }\n}\n\n\nfunction bindAll(ctx) {\n\tfor (var i in ctx) {\n\t\tvar v = ctx[i];\n\t\tif (typeof v==='function' && !v.__bound && !AUTOBIND_BLACKLIST.hasOwnProperty(i)) {\n\t\t\t(ctx[i] = v.bind(ctx)).__bound = true;\n\t\t}\n\t}\n}\n\n\nfunction callMethod(ctx, m, args) {\n\tif (typeof m==='string') {\n\t\tm = ctx.constructor.prototype[m];\n\t}\n\tif (typeof m==='function') {\n\t\treturn m.apply(ctx, args);\n\t}\n}\n\nfunction multihook(hooks, skipDuplicates) {\n\treturn function() {\n\t\tvar arguments$1 = arguments;\n\t\tvar this$1 = this;\n\n\t\tvar ret;\n\t\tfor (var i=0; i<hooks.length; i++) {\n\t\t\tvar r = callMethod(this$1, hooks[i], arguments$1);\n\n\t\t\tif (skipDuplicates && r!=null) {\n\t\t\t\tif (!ret) { ret = {}; }\n\t\t\t\tfor (var key in r) { if (r.hasOwnProperty(key)) {\n\t\t\t\t\tret[key] = r[key];\n\t\t\t\t} }\n\t\t\t}\n\t\t\telse if (typeof r!=='undefined') { ret = r; }\n\t\t}\n\t\treturn ret;\n\t};\n}\n\n\nfunction newComponentHook(props, context) {\n\tpropsHook.call(this, props, context);\n\tthis.componentWillReceiveProps = multihook([propsHook, this.componentWillReceiveProps || 'componentWillReceiveProps']);\n\tthis.render = multihook([propsHook, beforeRender, this.render || 'render', afterRender]);\n}\n\n\nfunction propsHook(props, context) {\n\tif (!props) { return; }\n\n\t// React annoyingly special-cases single children, and some react components are ridiculously strict about this.\n\tvar c = props.children;\n\tif (c && Array.isArray(c) && c.length===1) {\n\t\tprops.children = c[0];\n\n\t\t// but its totally still going to be an Array.\n\t\tif (props.children && typeof props.children==='object') {\n\t\t\tprops.children.length = 1;\n\t\t\tprops.children[0] = props.children;\n\t\t}\n\t}\n\n\t// add proptype checking\n\tif (DEV) {\n\t\tvar ctor = typeof this==='function' ? this : this.constructor,\n\t\t\tpropTypes = this.propTypes || ctor.propTypes;\n\t\tvar displayName = this.displayName || ctor.name;\n\n\t\tif (propTypes) {\n\t\t\tPropTypes.checkPropTypes(propTypes, props, 'prop', displayName);\n\t\t}\n\t}\n}\n\n\nfunction beforeRender(props) {\n\tcurrentComponent = this;\n}\n\nfunction afterRender() {\n\tif (currentComponent===this) {\n\t\tcurrentComponent = null;\n\t}\n}\n\n\n\nfunction Component$1(props, context, opts) {\n\tComponent.call(this, props, context);\n\tthis.state = this.getInitialState ? this.getInitialState() : {};\n\tthis.refs = {};\n\tthis._refProxies = {};\n\tif (opts!==BYPASS_HOOK) {\n\t\tnewComponentHook.call(this, props, context);\n\t}\n}\nextend(Component$1.prototype = new Component(), {\n\tconstructor: Component$1,\n\n\tisReactComponent: {},\n\n\treplaceState: function(state, callback) {\n\t\tvar this$1 = this;\n\n\t\tthis.setState(state, callback);\n\t\tfor (var i in this$1.state) {\n\t\t\tif (!(i in state)) {\n\t\t\t\tdelete this$1.state[i];\n\t\t\t}\n\t\t}\n\t},\n\n\tgetDOMNode: function() {\n\t\treturn this.base;\n\t},\n\n\tisMounted: function() {\n\t\treturn !!this.base;\n\t}\n});\n\n\n\nfunction PureComponent(props, context) {\n\tComponent$1.call(this, props, context);\n}\nF.prototype = Component$1.prototype;\nPureComponent.prototype = new F();\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n\n\n\nvar index = {\n\tversion: version,\n\tDOM: DOM,\n\tPropTypes: PropTypes,\n\tChildren: Children,\n\trender: render$1,\n\tcreateClass: createClass,\n\tcreateFactory: createFactory,\n\tcreateElement: createElement,\n\tcloneElement: cloneElement$1,\n\tisValidElement: isValidElement,\n\tfindDOMNode: findDOMNode,\n\tunmountComponentAtNode: unmountComponentAtNode,\n\tComponent: Component$1,\n\tPureComponent: PureComponent,\n\tunstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n\nexport { version, DOM, PropTypes, Children, render$1 as render, createClass, createFactory, createElement, cloneElement$1 as cloneElement, isValidElement, findDOMNode, unmountComponentAtNode, Component$1 as Component, PureComponent, renderSubtreeIntoContainer as unstable_renderSubtreeIntoContainer };export default index;\n//# sourceMappingURL=preact-compat.es.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/preact-compat/dist/preact-compat.es.js\n// module id = 5\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_an-object.js\n// module id = 6\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-dp.js\n// module id = 7\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_descriptors.js\n// module id = 8\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/process/browser.js\n// module id = 9\n// module chunks = 0","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-object.js\n// module id = 10\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_hide.js\n// module id = 11\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_has.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_fails.js\n// module id = 14\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iterators.js\n// module id = 15\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-iobject.js\n// module id = 16\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-object.js\n// module id = 17\n// module chunks = 0","var isDate = require('../is_date/index.js')\n\nvar MILLISECONDS_IN_HOUR = 3600000\nvar MILLISECONDS_IN_MINUTE = 60000\nvar DEFAULT_ADDITIONAL_DIGITS = 2\n\nvar parseTokenDateTimeDelimeter = /[T ]/\nvar parseTokenPlainTime = /:/\n\n// year tokens\nvar parseTokenYY = /^(\\d{2})$/\nvar parseTokensYYY = [\n  /^([+-]\\d{2})$/, // 0 additional digits\n  /^([+-]\\d{3})$/, // 1 additional digit\n  /^([+-]\\d{4})$/ // 2 additional digits\n]\n\nvar parseTokenYYYY = /^(\\d{4})/\nvar parseTokensYYYYY = [\n  /^([+-]\\d{4})/, // 0 additional digits\n  /^([+-]\\d{5})/, // 1 additional digit\n  /^([+-]\\d{6})/ // 2 additional digits\n]\n\n// date tokens\nvar parseTokenMM = /^-(\\d{2})$/\nvar parseTokenDDD = /^-?(\\d{3})$/\nvar parseTokenMMDD = /^-?(\\d{2})-?(\\d{2})$/\nvar parseTokenWww = /^-?W(\\d{2})$/\nvar parseTokenWwwD = /^-?W(\\d{2})-?(\\d{1})$/\n\n// time tokens\nvar parseTokenHH = /^(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMM = /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMMSS = /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\n\n// timezone tokens\nvar parseTokenTimezone = /([Z+-].*)$/\nvar parseTokenTimezoneZ = /^(Z)$/\nvar parseTokenTimezoneHH = /^([+-])(\\d{2})$/\nvar parseTokenTimezoneHHMM = /^([+-])(\\d{2}):?(\\d{2})$/\n\n/**\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If all above fails, the function passes the given argument to Date constructor.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {Object} [options] - the object with options\n * @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parse('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Parse string '+02014101',\n * // if the additional number of digits in the extended year format is 1:\n * var result = parse('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction parse (argument, dirtyOptions) {\n  if (isDate(argument)) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime())\n  } else if (typeof argument !== 'string') {\n    return new Date(argument)\n  }\n\n  var options = dirtyOptions || {}\n  var additionalDigits = options.additionalDigits\n  if (additionalDigits == null) {\n    additionalDigits = DEFAULT_ADDITIONAL_DIGITS\n  } else {\n    additionalDigits = Number(additionalDigits)\n  }\n\n  var dateStrings = splitDateString(argument)\n\n  var parseYearResult = parseYear(dateStrings.date, additionalDigits)\n  var year = parseYearResult.year\n  var restDateString = parseYearResult.restDateString\n\n  var date = parseDate(restDateString, year)\n\n  if (date) {\n    var timestamp = date.getTime()\n    var time = 0\n    var offset\n\n    if (dateStrings.time) {\n      time = parseTime(dateStrings.time)\n    }\n\n    if (dateStrings.timezone) {\n      offset = parseTimezone(dateStrings.timezone)\n    } else {\n      // get offset accurate to hour in timezones that change offset\n      offset = new Date(timestamp + time).getTimezoneOffset()\n      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()\n    }\n\n    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)\n  } else {\n    return new Date(argument)\n  }\n}\n\nfunction splitDateString (dateString) {\n  var dateStrings = {}\n  var array = dateString.split(parseTokenDateTimeDelimeter)\n  var timeString\n\n  if (parseTokenPlainTime.test(array[0])) {\n    dateStrings.date = null\n    timeString = array[0]\n  } else {\n    dateStrings.date = array[0]\n    timeString = array[1]\n  }\n\n  if (timeString) {\n    var token = parseTokenTimezone.exec(timeString)\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], '')\n      dateStrings.timezone = token[1]\n    } else {\n      dateStrings.time = timeString\n    }\n  }\n\n  return dateStrings\n}\n\nfunction parseYear (dateString, additionalDigits) {\n  var parseTokenYYY = parseTokensYYY[additionalDigits]\n  var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]\n\n  var token\n\n  // YYYY or ±YYYYY\n  token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)\n  if (token) {\n    var yearString = token[1]\n    return {\n      year: parseInt(yearString, 10),\n      restDateString: dateString.slice(yearString.length)\n    }\n  }\n\n  // YY or ±YYY\n  token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)\n  if (token) {\n    var centuryString = token[1]\n    return {\n      year: parseInt(centuryString, 10) * 100,\n      restDateString: dateString.slice(centuryString.length)\n    }\n  }\n\n  // Invalid ISO-formatted year\n  return {\n    year: null\n  }\n}\n\nfunction parseDate (dateString, year) {\n  // Invalid ISO-formatted year\n  if (year === null) {\n    return null\n  }\n\n  var token\n  var date\n  var month\n  var week\n\n  // YYYY\n  if (dateString.length === 0) {\n    date = new Date(0)\n    date.setUTCFullYear(year)\n    return date\n  }\n\n  // YYYY-MM\n  token = parseTokenMM.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    date.setUTCFullYear(year, month)\n    return date\n  }\n\n  // YYYY-DDD or YYYYDDD\n  token = parseTokenDDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    var dayOfYear = parseInt(token[1], 10)\n    date.setUTCFullYear(year, 0, dayOfYear)\n    return date\n  }\n\n  // YYYY-MM-DD or YYYYMMDD\n  token = parseTokenMMDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    var day = parseInt(token[2], 10)\n    date.setUTCFullYear(year, month, day)\n    return date\n  }\n\n  // YYYY-Www or YYYYWww\n  token = parseTokenWww.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    return dayOfISOYear(year, week)\n  }\n\n  // YYYY-Www-D or YYYYWwwD\n  token = parseTokenWwwD.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    var dayOfWeek = parseInt(token[2], 10) - 1\n    return dayOfISOYear(year, week, dayOfWeek)\n  }\n\n  // Invalid ISO-formatted date\n  return null\n}\n\nfunction parseTime (timeString) {\n  var token\n  var hours\n  var minutes\n\n  // hh\n  token = parseTokenHH.exec(timeString)\n  if (token) {\n    hours = parseFloat(token[1].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR\n  }\n\n  // hh:mm or hhmm\n  token = parseTokenHHMM.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseFloat(token[2].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE\n  }\n\n  // hh:mm:ss or hhmmss\n  token = parseTokenHHMMSS.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseInt(token[2], 10)\n    var seconds = parseFloat(token[3].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE +\n      seconds * 1000\n  }\n\n  // Invalid ISO-formatted time\n  return null\n}\n\nfunction parseTimezone (timezoneString) {\n  var token\n  var absoluteOffset\n\n  // Z\n  token = parseTokenTimezoneZ.exec(timezoneString)\n  if (token) {\n    return 0\n  }\n\n  // ±hh\n  token = parseTokenTimezoneHH.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  // ±hh:mm or ±hhmm\n  token = parseTokenTimezoneHHMM.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  return 0\n}\n\nfunction dayOfISOYear (isoYear, week, day) {\n  week = week || 0\n  day = day || 0\n  var date = new Date(0)\n  date.setUTCFullYear(isoYear, 0, 4)\n  var fourthOfJanuaryDay = date.getUTCDay() || 7\n  var diff = week * 7 + day + 1 - fourthOfJanuaryDay\n  date.setUTCDate(date.getUTCDate() + diff)\n  return date\n}\n\nmodule.exports = parse\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/parse/index.js\n// module id = 18\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_property-desc.js\n// module id = 19\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 20\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_library.js\n// module id = 21\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-keys.js\n// module id = 22\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_cof.js\n// module id = 23\n// module chunks = 0","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_a-function.js\n// module id = 24\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_uid.js\n// module id = 25\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 26\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 27\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-pie.js\n// module id = 28\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 29\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/createClass.js\n// module id = 30\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_dom-create.js\n// module id = 31\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-primitive.js\n// module id = 32\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 33\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-integer.js\n// module id = 34\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_defined.js\n// module id = 35\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-create.js\n// module id = 36\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-length.js\n// module id = 37\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_shared-key.js\n// module id = 38\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_shared.js\n// module id = 39\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 40\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_classof.js\n// module id = 41\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 42\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(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 = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 43\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gops.js\n// module id = 44\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks-ext.js\n// module id = 45\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks-define.js\n// module id = 46\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.omit = omit;\nexports.arraysEqual = arraysEqual;\nvar isElementAnSFC = exports.isElementAnSFC = function isElementAnSFC(element) {\n  var isNativeDOMElement = typeof element.type === 'string';\n\n  if (isNativeDOMElement) {\n    return false;\n  }\n\n  return !element.type.prototype.isReactComponent;\n};\nfunction omit(obj) {\n  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n  var result = {};\n  Object.keys(obj).forEach(function (key) {\n    if (attrs.indexOf(key) === -1) {\n      result[key] = obj[key];\n    }\n  });\n  return result;\n}\n\nfunction arraysEqual(a, b) {\n  var sameObject = a === b;\n  if (sameObject) {\n    return true;\n  }\n\n  var notBothArrays = !Array.isArray(a) || !Array.isArray(b);\n  var differentLengths = a.length !== b.length;\n\n  if (notBothArrays || differentLengths) {\n    return false;\n  }\n\n  return a.every(function (element, index) {\n    return element === b[index];\n  });\n}\n\nfunction memoizeString(fn) {\n  var cache = {};\n\n  return function (str) {\n    if (!cache[str]) {\n      cache[str] = fn(str);\n    }\n    return cache[str];\n  };\n}\n\nvar hyphenate = exports.hyphenate = memoizeString(function (str) {\n  return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/helpers.js\n// module id = 47\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 48\n// module chunks = 0","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-is/index.js\n// module id = 49\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-define.js\n// module id = 51\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_redefine.js\n// module id = 52\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 53\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iobject.js\n// module id = 54\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_html.js\n// module id = 55\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gpo.js\n// module id = 56\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-call.js\n// module id = 57\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 58\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_species-constructor.js\n// module id = 59\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_task.js\n// module id = 60\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_perform.js\n// module id = 61\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 62\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-detect.js\n// module id = 63\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 64\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-sap.js\n// module id = 65\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 66\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/typeof.js\n// module id = 67\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopn.js\n// module id = 68\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopd.js\n// module id = 69\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/inherits.js\n// module id = 70\n// module chunks = 0","import axios from 'axios'\n\nexport const queryParse = (search = window.location.search) => {\n  if (!search) return {}\n  const queryString = search[0] === '?' ? search.substring(1) : search\n  const query = {}\n  queryString\n    .split('&')\n    .forEach(queryStr => {\n      const [key, value] = queryStr.split('=')\n      /* istanbul ignore else */\n      if (key) query[decodeURIComponent(key)] = decodeURIComponent(value)\n    })\n\n  return query\n}\n\nexport const queryStringify = query => {\n  const queryString = Object.keys(query)\n    .map(key => `${key}=${encodeURIComponent(query[key] || '')}`)\n    .join('&')\n  return queryString\n}\n\nexport const axiosJSON = axios.create({\n  headers: {\n    'Accept': 'application/json'\n  }\n})\n\nexport const axiosGithub = axios.create({\n  baseURL: 'https://api.github.com',\n  headers: {\n    'Accept': 'application/json'\n  }\n})\n\nexport const getMetaContent = (name, content) => {\n  /* istanbul ignore next */\n  content || (content = 'content')\n  /* istanbul ignore next */\n  const el = window.document.querySelector(`meta[name='${name}']`)\n  /* istanbul ignore next */\n  return el && el.getAttribute(content)\n}\n\nexport const formatErrorMsg = err => {\n  let msg = 'Error: '\n  if (err.response && err.response.data && err.response.data.message) {\n    msg += `${err.response.data.message}. `\n    err.response.data.errors && (msg += err.response.data.errors.map(e => e.message).join(', '))\n  } else {\n    msg += err.message\n  }\n  return msg\n}\n\nexport const hasClassInParent = (element, ...className) => {\n  /* istanbul ignore next */\n  let yes = false\n  /* istanbul ignore next */\n  if (typeof element.className === 'undefined') return false\n  /* istanbul ignore next */\n  const classes = element.className.split(' ')\n  /* istanbul ignore next */\n  className.forEach((c, i) => {\n    /* istanbul ignore next */\n    yes = yes || (classes.indexOf(c) >= 0)\n  })\n  /* istanbul ignore next */\n  if (yes) return yes\n  /* istanbul ignore next */\n  return element.parentNode && hasClassInParent(element.parentNode, className)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./util.js","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/bind.js\n// module id = 72\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%40/gi, '@').\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/buildURL.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/isCancel.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = require('./adapters/xhr');\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = require('./adapters/http');\n  }\n  return adapter;\n}\n\nvar defaults = {\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data)) {\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n      return JSON.stringify(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    /*eslint no-param-reassign:0*/\n    if (typeof data === 'string') {\n      try {\n        data = JSON.parse(data);\n      } catch (e) { /* Ignore */ }\n    }\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/defaults.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password || '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    // Listen for ready state\n    request.onreadystatechange = function handleLoad() {\n      if (!request || request.readyState !== 4) {\n        return;\n      }\n\n      // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      }\n\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      var cookies = require('./../helpers/cookies');\n\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (requestData === undefined) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/adapters/xhr.js\n// module id = 76\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/createError.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n  var defaultToConfig2Keys = [\n    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n    'httpsAgent', 'cancelToken', 'socketPath'\n  ];\n\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    }\n  });\n\n  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n    if (utils.isObject(config2[prop])) {\n      config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n    } else if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (utils.isObject(config1[prop])) {\n      config[prop] = utils.deepMerge(config1[prop]);\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  var axiosKeys = valueFromConfig2Keys\n    .concat(mergeDeepPropertiesKeys)\n    .concat(defaultToConfig2Keys);\n\n  var otherKeys = Object\n    .keys(config2)\n    .filter(function filterAxiosKeys(key) {\n      return axiosKeys.indexOf(key) === -1;\n    });\n\n  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  return config;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/mergeConfig.js\n// module id = 78\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/Cancel.js\n// module id = 79\n// module chunks = 0","import React from 'react'\n\nexport default ({ src, className, alt, onError }) => (\n  <div className={`gt-avatar ${className}`}>\n    <img src={src} alt={`@${alt}`} onError={onError} />\n  </div>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/avatar.jsx","import React from 'react'\n\nexport default ({ className, text, name }) => (\n  <span className={`gt-ico ${className}`}>\n    <span className=\"gt-svg\" dangerouslySetInnerHTML={{\n      __html: require(`!!raw-loader!../assets/icon/${name}.svg`)\n    }}/>\n    {\n      text && <span className=\"gt-ico-text\">{text}</span>\n    }\n  </span>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/svg.jsx","import React from 'react'\nimport { render } from 'react-dom'\nimport 'es6-promise/auto'\nimport GitalkComponent from './gitalk'\n\nclass Gitalk {\n  constructor (options = {}) {\n    this.options = options\n  }\n\n  render (container, callback) {\n    let node = null\n    container = container || this.options.container\n\n    if (!container) throw new Error(`Container is required: ${container}`)\n\n    if (!(container instanceof HTMLElement)) {\n      node = window.document.getElementById(container)\n      if (!node) throw new Error(`Container not found, window.document.getElementById: ${container}`)\n    } else {\n      node = container\n    }\n\n    if (!callback) {\n      callback = () => {}\n    }\n\n    return render(<GitalkComponent options={this.options}/>, node, callback)\n  }\n}\n\nmodule.exports = Gitalk\n\n\n\n// WEBPACK FOOTER //\n// ./index.js","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 83\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/define-property.js\n// module id = 84\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 85\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/index.js\n// module id = 86\n// module chunks = 0","/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-is/cjs/react-is.production.min.js\n// module id = 87\n// module chunks = 0","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n  var printWarning = function (format) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    var argIndex = 0;\n    var message = 'Warning: ' + format.replace(/%s/g, function () {\n      return args[argIndex++];\n    });\n\n    if (typeof console !== 'undefined') {\n      console.warn(message);\n    }\n\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n\n  lowPriorityWarningWithoutStack = function (condition, format) {\n    if (format === undefined) {\n      throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n    }\n\n    if (!condition) {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n        args[_key2 - 2] = arguments[_key2];\n      }\n\n      printWarning.apply(void 0, [format].concat(args));\n    }\n  };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true;\n      lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n  })();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-is/cjs/react-is.development.js\n// module id = 88\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/factoryWithTypeCheckers.js\n// module id = 89\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/object-assign/index.js\n// module id = 90\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n  var loggedTypeFailures = {};\n  var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/checkPropTypes.js\n// module id = 91\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 92\n// module chunks = 0","!function() {\n    'use strict';\n    function VNode() {}\n    function h(nodeName, attributes) {\n        var lastSimple, child, simple, i, children = EMPTY_CHILDREN;\n        for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);\n        if (attributes && null != attributes.children) {\n            if (!stack.length) stack.push(attributes.children);\n            delete attributes.children;\n        }\n        while (stack.length) if ((child = stack.pop()) && void 0 !== child.pop) for (i = child.length; i--; ) stack.push(child[i]); else {\n            if (child === !0 || child === !1) child = null;\n            if (simple = 'function' != typeof nodeName) if (null == child) child = ''; else if ('number' == typeof child) child = String(child); else if ('string' != typeof child) simple = !1;\n            if (simple && lastSimple) children[children.length - 1] += child; else if (children === EMPTY_CHILDREN) children = [ child ]; else children.push(child);\n            lastSimple = simple;\n        }\n        var p = new VNode();\n        p.nodeName = nodeName;\n        p.children = children;\n        p.attributes = null == attributes ? void 0 : attributes;\n        p.key = null == attributes ? void 0 : attributes.key;\n        if (void 0 !== options.vnode) options.vnode(p);\n        return p;\n    }\n    function extend(obj, props) {\n        for (var i in props) obj[i] = props[i];\n        return obj;\n    }\n    function cloneElement(vnode, props) {\n        return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n    }\n    function enqueueRender(component) {\n        if (!component.__d && (component.__d = !0) && 1 == items.push(component)) (options.debounceRendering || setTimeout)(rerender);\n    }\n    function rerender() {\n        var p, list = items;\n        items = [];\n        while (p = list.pop()) if (p.__d) renderComponent(p);\n    }\n    function isSameNodeType(node, vnode, hydrating) {\n        if ('string' == typeof vnode || 'number' == typeof vnode) return void 0 !== node.splitText;\n        if ('string' == typeof vnode.nodeName) return !node._componentConstructor && isNamedNode(node, vnode.nodeName); else return hydrating || node._componentConstructor === vnode.nodeName;\n    }\n    function isNamedNode(node, nodeName) {\n        return node.__n === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n    }\n    function getNodeProps(vnode) {\n        var props = extend({}, vnode.attributes);\n        props.children = vnode.children;\n        var defaultProps = vnode.nodeName.defaultProps;\n        if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];\n        return props;\n    }\n    function createNode(nodeName, isSvg) {\n        var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);\n        node.__n = nodeName;\n        return node;\n    }\n    function removeNode(node) {\n        if (node.parentNode) node.parentNode.removeChild(node);\n    }\n    function setAccessor(node, name, old, value, isSvg) {\n        if ('className' === name) name = 'class';\n        if ('key' === name) ; else if ('ref' === name) {\n            if (old) old(null);\n            if (value) value(node);\n        } else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) {\n            if (!value || 'string' == typeof value || 'string' == typeof old) node.style.cssText = value || '';\n            if (value && 'object' == typeof value) {\n                if ('string' != typeof old) for (var i in old) if (!(i in value)) node.style[i] = '';\n                for (var i in value) node.style[i] = 'number' == typeof value[i] && IS_NON_DIMENSIONAL.test(i) === !1 ? value[i] + 'px' : value[i];\n            }\n        } else if ('dangerouslySetInnerHTML' === name) {\n            if (value) node.innerHTML = value.__html || '';\n        } else if ('o' == name[0] && 'n' == name[1]) {\n            var useCapture = name !== (name = name.replace(/Capture$/, ''));\n            name = name.toLowerCase().substring(2);\n            if (value) {\n                if (!old) node.addEventListener(name, eventProxy, useCapture);\n            } else node.removeEventListener(name, eventProxy, useCapture);\n            (node.__l || (node.__l = {}))[name] = value;\n        } else if ('list' !== name && 'type' !== name && !isSvg && name in node) {\n            setProperty(node, name, null == value ? '' : value);\n            if (null == value || value === !1) node.removeAttribute(name);\n        } else {\n            var ns = isSvg && name !== (name = name.replace(/^xlink\\:?/, ''));\n            if (null == value || value === !1) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); else node.removeAttribute(name); else if ('function' != typeof value) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); else node.setAttribute(name, value);\n        }\n    }\n    function setProperty(node, name, value) {\n        try {\n            node[name] = value;\n        } catch (e) {}\n    }\n    function eventProxy(e) {\n        return this.__l[e.type](options.event && options.event(e) || e);\n    }\n    function flushMounts() {\n        var c;\n        while (c = mounts.pop()) {\n            if (options.afterMount) options.afterMount(c);\n            if (c.componentDidMount) c.componentDidMount();\n        }\n    }\n    function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n        if (!diffLevel++) {\n            isSvgMode = null != parent && void 0 !== parent.ownerSVGElement;\n            hydrating = null != dom && !('__preactattr_' in dom);\n        }\n        var ret = idiff(dom, vnode, context, mountAll, componentRoot);\n        if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n        if (!--diffLevel) {\n            hydrating = !1;\n            if (!componentRoot) flushMounts();\n        }\n        return ret;\n    }\n    function idiff(dom, vnode, context, mountAll, componentRoot) {\n        var out = dom, prevSvgMode = isSvgMode;\n        if (null == vnode) vnode = '';\n        if ('string' == typeof vnode) {\n            if (dom && void 0 !== dom.splitText && dom.parentNode && (!dom._component || componentRoot)) {\n                if (dom.nodeValue != vnode) dom.nodeValue = vnode;\n            } else {\n                out = document.createTextNode(vnode);\n                if (dom) {\n                    if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n                    recollectNodeTree(dom, !0);\n                }\n            }\n            out.__preactattr_ = !0;\n            return out;\n        }\n        if ('function' == typeof vnode.nodeName) return buildComponentFromVNode(dom, vnode, context, mountAll);\n        isSvgMode = 'svg' === vnode.nodeName ? !0 : 'foreignObject' === vnode.nodeName ? !1 : isSvgMode;\n        if (!dom || !isNamedNode(dom, String(vnode.nodeName))) {\n            out = createNode(String(vnode.nodeName), isSvgMode);\n            if (dom) {\n                while (dom.firstChild) out.appendChild(dom.firstChild);\n                if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n                recollectNodeTree(dom, !0);\n            }\n        }\n        var fc = out.firstChild, props = out.__preactattr_ || (out.__preactattr_ = {}), vchildren = vnode.children;\n        if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && null != fc && void 0 !== fc.splitText && null == fc.nextSibling) {\n            if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];\n        } else if (vchildren && vchildren.length || null != fc) innerDiffNode(out, vchildren, context, mountAll, hydrating || null != props.dangerouslySetInnerHTML);\n        diffAttributes(out, vnode.attributes, props);\n        isSvgMode = prevSvgMode;\n        return out;\n    }\n    function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n        var j, c, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0;\n        if (0 !== len) for (var i = 0; i < len; i++) {\n            var _child = originalChildren[i], props = _child.__preactattr_, key = vlen && props ? _child._component ? _child._component.__k : props.key : null;\n            if (null != key) {\n                keyedLen++;\n                keyed[key] = _child;\n            } else if (props || (void 0 !== _child.splitText ? isHydrating ? _child.nodeValue.trim() : !0 : isHydrating)) children[childrenLen++] = _child;\n        }\n        if (0 !== vlen) for (var i = 0; i < vlen; i++) {\n            vchild = vchildren[i];\n            child = null;\n            var key = vchild.key;\n            if (null != key) {\n                if (keyedLen && void 0 !== keyed[key]) {\n                    child = keyed[key];\n                    keyed[key] = void 0;\n                    keyedLen--;\n                }\n            } else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) if (void 0 !== children[j] && isSameNodeType(c = children[j], vchild, isHydrating)) {\n                child = c;\n                children[j] = void 0;\n                if (j === childrenLen - 1) childrenLen--;\n                if (j === min) min++;\n                break;\n            }\n            child = idiff(child, vchild, context, mountAll);\n            if (child && child !== dom) if (i >= len) dom.appendChild(child); else if (child !== originalChildren[i]) if (child === originalChildren[i + 1]) removeNode(originalChildren[i]); else dom.insertBefore(child, originalChildren[i] || null);\n        }\n        if (keyedLen) for (var i in keyed) if (void 0 !== keyed[i]) recollectNodeTree(keyed[i], !1);\n        while (min <= childrenLen) if (void 0 !== (child = children[childrenLen--])) recollectNodeTree(child, !1);\n    }\n    function recollectNodeTree(node, unmountOnly) {\n        var component = node._component;\n        if (component) unmountComponent(component); else {\n            if (null != node.__preactattr_ && node.__preactattr_.ref) node.__preactattr_.ref(null);\n            if (unmountOnly === !1 || null == node.__preactattr_) removeNode(node);\n            removeChildren(node);\n        }\n    }\n    function removeChildren(node) {\n        node = node.lastChild;\n        while (node) {\n            var next = node.previousSibling;\n            recollectNodeTree(node, !0);\n            node = next;\n        }\n    }\n    function diffAttributes(dom, attrs, old) {\n        var name;\n        for (name in old) if ((!attrs || null == attrs[name]) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);\n        for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n    }\n    function collectComponent(component) {\n        var name = component.constructor.name;\n        (components[name] || (components[name] = [])).push(component);\n    }\n    function createComponent(Ctor, props, context) {\n        var inst, list = components[Ctor.name];\n        if (Ctor.prototype && Ctor.prototype.render) {\n            inst = new Ctor(props, context);\n            Component.call(inst, props, context);\n        } else {\n            inst = new Component(props, context);\n            inst.constructor = Ctor;\n            inst.render = doRender;\n        }\n        if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {\n            inst.__b = list[i].__b;\n            list.splice(i, 1);\n            break;\n        }\n        return inst;\n    }\n    function doRender(props, state, context) {\n        return this.constructor(props, context);\n    }\n    function setComponentProps(component, props, opts, context, mountAll) {\n        if (!component.__x) {\n            component.__x = !0;\n            if (component.__r = props.ref) delete props.ref;\n            if (component.__k = props.key) delete props.key;\n            if (!component.base || mountAll) {\n                if (component.componentWillMount) component.componentWillMount();\n            } else if (component.componentWillReceiveProps) component.componentWillReceiveProps(props, context);\n            if (context && context !== component.context) {\n                if (!component.__c) component.__c = component.context;\n                component.context = context;\n            }\n            if (!component.__p) component.__p = component.props;\n            component.props = props;\n            component.__x = !1;\n            if (0 !== opts) if (1 === opts || options.syncComponentUpdates !== !1 || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);\n            if (component.__r) component.__r(component);\n        }\n    }\n    function renderComponent(component, opts, mountAll, isChild) {\n        if (!component.__x) {\n            var rendered, inst, cbase, props = component.props, state = component.state, context = component.context, previousProps = component.__p || props, previousState = component.__s || state, previousContext = component.__c || context, isUpdate = component.base, nextBase = component.__b, initialBase = isUpdate || nextBase, initialChildComponent = component._component, skip = !1;\n            if (isUpdate) {\n                component.props = previousProps;\n                component.state = previousState;\n                component.context = previousContext;\n                if (2 !== opts && component.shouldComponentUpdate && component.shouldComponentUpdate(props, state, context) === !1) skip = !0; else if (component.componentWillUpdate) component.componentWillUpdate(props, state, context);\n                component.props = props;\n                component.state = state;\n                component.context = context;\n            }\n            component.__p = component.__s = component.__c = component.__b = null;\n            component.__d = !1;\n            if (!skip) {\n                rendered = component.render(props, state, context);\n                if (component.getChildContext) context = extend(extend({}, context), component.getChildContext());\n                var toUnmount, base, childComponent = rendered && rendered.nodeName;\n                if ('function' == typeof childComponent) {\n                    var childProps = getNodeProps(rendered);\n                    inst = initialChildComponent;\n                    if (inst && inst.constructor === childComponent && childProps.key == inst.__k) setComponentProps(inst, childProps, 1, context, !1); else {\n                        toUnmount = inst;\n                        component._component = inst = createComponent(childComponent, childProps, context);\n                        inst.__b = inst.__b || nextBase;\n                        inst.__u = component;\n                        setComponentProps(inst, childProps, 0, context, !1);\n                        renderComponent(inst, 1, mountAll, !0);\n                    }\n                    base = inst.base;\n                } else {\n                    cbase = initialBase;\n                    toUnmount = initialChildComponent;\n                    if (toUnmount) cbase = component._component = null;\n                    if (initialBase || 1 === opts) {\n                        if (cbase) cbase._component = null;\n                        base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);\n                    }\n                }\n                if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n                    var baseParent = initialBase.parentNode;\n                    if (baseParent && base !== baseParent) {\n                        baseParent.replaceChild(base, initialBase);\n                        if (!toUnmount) {\n                            initialBase._component = null;\n                            recollectNodeTree(initialBase, !1);\n                        }\n                    }\n                }\n                if (toUnmount) unmountComponent(toUnmount);\n                component.base = base;\n                if (base && !isChild) {\n                    var componentRef = component, t = component;\n                    while (t = t.__u) (componentRef = t).base = base;\n                    base._component = componentRef;\n                    base._componentConstructor = componentRef.constructor;\n                }\n            }\n            if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {\n                flushMounts();\n                if (component.componentDidUpdate) component.componentDidUpdate(previousProps, previousState, previousContext);\n                if (options.afterUpdate) options.afterUpdate(component);\n            }\n            if (null != component.__h) while (component.__h.length) component.__h.pop().call(component);\n            if (!diffLevel && !isChild) flushMounts();\n        }\n    }\n    function buildComponentFromVNode(dom, vnode, context, mountAll) {\n        var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);\n        while (c && !isOwner && (c = c.__u)) isOwner = c.constructor === vnode.nodeName;\n        if (c && isOwner && (!mountAll || c._component)) {\n            setComponentProps(c, props, 3, context, mountAll);\n            dom = c.base;\n        } else {\n            if (originalComponent && !isDirectOwner) {\n                unmountComponent(originalComponent);\n                dom = oldDom = null;\n            }\n            c = createComponent(vnode.nodeName, props, context);\n            if (dom && !c.__b) {\n                c.__b = dom;\n                oldDom = null;\n            }\n            setComponentProps(c, props, 1, context, mountAll);\n            dom = c.base;\n            if (oldDom && dom !== oldDom) {\n                oldDom._component = null;\n                recollectNodeTree(oldDom, !1);\n            }\n        }\n        return dom;\n    }\n    function unmountComponent(component) {\n        if (options.beforeUnmount) options.beforeUnmount(component);\n        var base = component.base;\n        component.__x = !0;\n        if (component.componentWillUnmount) component.componentWillUnmount();\n        component.base = null;\n        var inner = component._component;\n        if (inner) unmountComponent(inner); else if (base) {\n            if (base.__preactattr_ && base.__preactattr_.ref) base.__preactattr_.ref(null);\n            component.__b = base;\n            removeNode(base);\n            collectComponent(component);\n            removeChildren(base);\n        }\n        if (component.__r) component.__r(null);\n    }\n    function Component(props, context) {\n        this.__d = !0;\n        this.context = context;\n        this.props = props;\n        this.state = this.state || {};\n    }\n    function render(vnode, parent, merge) {\n        return diff(merge, vnode, {}, !1, parent, !1);\n    }\n    var options = {};\n    var stack = [];\n    var EMPTY_CHILDREN = [];\n    var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n    var items = [];\n    var mounts = [];\n    var diffLevel = 0;\n    var isSvgMode = !1;\n    var hydrating = !1;\n    var components = {};\n    extend(Component.prototype, {\n        setState: function(state, callback) {\n            var s = this.state;\n            if (!this.__s) this.__s = extend({}, s);\n            extend(s, 'function' == typeof state ? state(s, this.props) : state);\n            if (callback) (this.__h = this.__h || []).push(callback);\n            enqueueRender(this);\n        },\n        forceUpdate: function(callback) {\n            if (callback) (this.__h = this.__h || []).push(callback);\n            renderComponent(this, 2);\n        },\n        render: function() {}\n    });\n    var preact = {\n        h: h,\n        createElement: h,\n        cloneElement: cloneElement,\n        Component: Component,\n        render: render,\n        rerender: rerender,\n        options: options\n    };\n    if ('undefined' != typeof module) module.exports = preact; else self.preact = preact;\n}();\n//# sourceMappingURL=preact.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/preact/dist/preact.js\n// module id = 93\n// module chunks = 0","// This file can be required in Browserify and Node.js for automatic polyfill\n// To use it:  require('es6-promise/auto');\n'use strict';\nmodule.exports = require('./').polyfill();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/es6-promise/auto.js\n// module id = 94\n// module chunks = 0","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license   Licensed under MIT license\n *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version   4.1.1\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n  var type = typeof x;\n  return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n  return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (Array.isArray) {\n  _isArray = Array.isArray;\n} else {\n  _isArray = function (x) {\n    return Object.prototype.toString.call(x) === '[object Array]';\n  };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n  queue[len] = callback;\n  queue[len + 1] = arg;\n  len += 2;\n  if (len === 2) {\n    // If len is 2, that means that we need to schedule an async flush.\n    // If additional callbacks are queued before the queue is flushed, they\n    // will be processed by this flush that we are scheduling.\n    if (customSchedulerFn) {\n      customSchedulerFn(flush);\n    } else {\n      scheduleFlush();\n    }\n  }\n};\n\nfunction setScheduler(scheduleFn) {\n  customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n  asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n  // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n  // see https://github.com/cujojs/when/issues/410 for details\n  return function () {\n    return process.nextTick(flush);\n  };\n}\n\n// vertx\nfunction useVertxTimer() {\n  if (typeof vertxNext !== 'undefined') {\n    return function () {\n      vertxNext(flush);\n    };\n  }\n\n  return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n  var iterations = 0;\n  var observer = new BrowserMutationObserver(flush);\n  var node = document.createTextNode('');\n  observer.observe(node, { characterData: true });\n\n  return function () {\n    node.data = iterations = ++iterations % 2;\n  };\n}\n\n// web worker\nfunction useMessageChannel() {\n  var channel = new MessageChannel();\n  channel.port1.onmessage = flush;\n  return function () {\n    return channel.port2.postMessage(0);\n  };\n}\n\nfunction useSetTimeout() {\n  // Store setTimeout reference so es6-promise will be unaffected by\n  // other code modifying setTimeout (like sinon.useFakeTimers())\n  var globalSetTimeout = setTimeout;\n  return function () {\n    return globalSetTimeout(flush, 1);\n  };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n  for (var i = 0; i < len; i += 2) {\n    var callback = queue[i];\n    var arg = queue[i + 1];\n\n    callback(arg);\n\n    queue[i] = undefined;\n    queue[i + 1] = undefined;\n  }\n\n  len = 0;\n}\n\nfunction attemptVertx() {\n  try {\n    var r = require;\n    var vertx = r('vertx');\n    vertxNext = vertx.runOnLoop || vertx.runOnContext;\n    return useVertxTimer();\n  } catch (e) {\n    return useSetTimeout();\n  }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n  scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n  scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n  scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n  scheduleFlush = attemptVertx();\n} else {\n  scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n  var _arguments = arguments;\n\n  var parent = this;\n\n  var child = new this.constructor(noop);\n\n  if (child[PROMISE_ID] === undefined) {\n    makePromise(child);\n  }\n\n  var _state = parent._state;\n\n  if (_state) {\n    (function () {\n      var callback = _arguments[_state - 1];\n      asap(function () {\n        return invokeCallback(_state, child, callback, parent._result);\n      });\n    })();\n  } else {\n    subscribe(parent, child, onFulfillment, onRejection);\n  }\n\n  return child;\n}\n\n/**\n  `Promise.resolve` returns a promise that will become resolved with the\n  passed `value`. It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    resolve(1);\n  });\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.resolve(1);\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  @method resolve\n  @static\n  @param {Any} value value that the returned promise will be resolved with\n  Useful for tooling.\n  @return {Promise} a promise that will become fulfilled with the given\n  `value`\n*/\nfunction resolve$1(object) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (object && typeof object === 'object' && object.constructor === Constructor) {\n    return object;\n  }\n\n  var promise = new Constructor(noop);\n  resolve(promise, object);\n  return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n  return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n  return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n  try {\n    return promise.then;\n  } catch (error) {\n    GET_THEN_ERROR.error = error;\n    return GET_THEN_ERROR;\n  }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n  try {\n    then$$1.call(value, fulfillmentHandler, rejectionHandler);\n  } catch (e) {\n    return e;\n  }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n  asap(function (promise) {\n    var sealed = false;\n    var error = tryThen(then$$1, thenable, function (value) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n      if (thenable !== value) {\n        resolve(promise, value);\n      } else {\n        fulfill(promise, value);\n      }\n    }, function (reason) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n\n      reject(promise, reason);\n    }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n    if (!sealed && error) {\n      sealed = true;\n      reject(promise, error);\n    }\n  }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n  if (thenable._state === FULFILLED) {\n    fulfill(promise, thenable._result);\n  } else if (thenable._state === REJECTED) {\n    reject(promise, thenable._result);\n  } else {\n    subscribe(thenable, undefined, function (value) {\n      return resolve(promise, value);\n    }, function (reason) {\n      return reject(promise, reason);\n    });\n  }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n  if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n    handleOwnThenable(promise, maybeThenable);\n  } else {\n    if (then$$1 === GET_THEN_ERROR) {\n      reject(promise, GET_THEN_ERROR.error);\n      GET_THEN_ERROR.error = null;\n    } else if (then$$1 === undefined) {\n      fulfill(promise, maybeThenable);\n    } else if (isFunction(then$$1)) {\n      handleForeignThenable(promise, maybeThenable, then$$1);\n    } else {\n      fulfill(promise, maybeThenable);\n    }\n  }\n}\n\nfunction resolve(promise, value) {\n  if (promise === value) {\n    reject(promise, selfFulfillment());\n  } else if (objectOrFunction(value)) {\n    handleMaybeThenable(promise, value, getThen(value));\n  } else {\n    fulfill(promise, value);\n  }\n}\n\nfunction publishRejection(promise) {\n  if (promise._onerror) {\n    promise._onerror(promise._result);\n  }\n\n  publish(promise);\n}\n\nfunction fulfill(promise, value) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n\n  promise._result = value;\n  promise._state = FULFILLED;\n\n  if (promise._subscribers.length !== 0) {\n    asap(publish, promise);\n  }\n}\n\nfunction reject(promise, reason) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n  promise._state = REJECTED;\n  promise._result = reason;\n\n  asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n  var _subscribers = parent._subscribers;\n  var length = _subscribers.length;\n\n  parent._onerror = null;\n\n  _subscribers[length] = child;\n  _subscribers[length + FULFILLED] = onFulfillment;\n  _subscribers[length + REJECTED] = onRejection;\n\n  if (length === 0 && parent._state) {\n    asap(publish, parent);\n  }\n}\n\nfunction publish(promise) {\n  var subscribers = promise._subscribers;\n  var settled = promise._state;\n\n  if (subscribers.length === 0) {\n    return;\n  }\n\n  var child = undefined,\n      callback = undefined,\n      detail = promise._result;\n\n  for (var i = 0; i < subscribers.length; i += 3) {\n    child = subscribers[i];\n    callback = subscribers[i + settled];\n\n    if (child) {\n      invokeCallback(settled, child, callback, detail);\n    } else {\n      callback(detail);\n    }\n  }\n\n  promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n  this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n  try {\n    return callback(detail);\n  } catch (e) {\n    TRY_CATCH_ERROR.error = e;\n    return TRY_CATCH_ERROR;\n  }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n  var hasCallback = isFunction(callback),\n      value = undefined,\n      error = undefined,\n      succeeded = undefined,\n      failed = undefined;\n\n  if (hasCallback) {\n    value = tryCatch(callback, detail);\n\n    if (value === TRY_CATCH_ERROR) {\n      failed = true;\n      error = value.error;\n      value.error = null;\n    } else {\n      succeeded = true;\n    }\n\n    if (promise === value) {\n      reject(promise, cannotReturnOwn());\n      return;\n    }\n  } else {\n    value = detail;\n    succeeded = true;\n  }\n\n  if (promise._state !== PENDING) {\n    // noop\n  } else if (hasCallback && succeeded) {\n      resolve(promise, value);\n    } else if (failed) {\n      reject(promise, error);\n    } else if (settled === FULFILLED) {\n      fulfill(promise, value);\n    } else if (settled === REJECTED) {\n      reject(promise, value);\n    }\n}\n\nfunction initializePromise(promise, resolver) {\n  try {\n    resolver(function resolvePromise(value) {\n      resolve(promise, value);\n    }, function rejectPromise(reason) {\n      reject(promise, reason);\n    });\n  } catch (e) {\n    reject(promise, e);\n  }\n}\n\nvar id = 0;\nfunction nextId() {\n  return id++;\n}\n\nfunction makePromise(promise) {\n  promise[PROMISE_ID] = id++;\n  promise._state = undefined;\n  promise._result = undefined;\n  promise._subscribers = [];\n}\n\nfunction Enumerator$1(Constructor, input) {\n  this._instanceConstructor = Constructor;\n  this.promise = new Constructor(noop);\n\n  if (!this.promise[PROMISE_ID]) {\n    makePromise(this.promise);\n  }\n\n  if (isArray(input)) {\n    this.length = input.length;\n    this._remaining = input.length;\n\n    this._result = new Array(this.length);\n\n    if (this.length === 0) {\n      fulfill(this.promise, this._result);\n    } else {\n      this.length = this.length || 0;\n      this._enumerate(input);\n      if (this._remaining === 0) {\n        fulfill(this.promise, this._result);\n      }\n    }\n  } else {\n    reject(this.promise, validationError());\n  }\n}\n\nfunction validationError() {\n  return new Error('Array Methods must be provided an Array');\n}\n\nEnumerator$1.prototype._enumerate = function (input) {\n  for (var i = 0; this._state === PENDING && i < input.length; i++) {\n    this._eachEntry(input[i], i);\n  }\n};\n\nEnumerator$1.prototype._eachEntry = function (entry, i) {\n  var c = this._instanceConstructor;\n  var resolve$$1 = c.resolve;\n\n  if (resolve$$1 === resolve$1) {\n    var _then = getThen(entry);\n\n    if (_then === then && entry._state !== PENDING) {\n      this._settledAt(entry._state, i, entry._result);\n    } else if (typeof _then !== 'function') {\n      this._remaining--;\n      this._result[i] = entry;\n    } else if (c === Promise$2) {\n      var promise = new c(noop);\n      handleMaybeThenable(promise, entry, _then);\n      this._willSettleAt(promise, i);\n    } else {\n      this._willSettleAt(new c(function (resolve$$1) {\n        return resolve$$1(entry);\n      }), i);\n    }\n  } else {\n    this._willSettleAt(resolve$$1(entry), i);\n  }\n};\n\nEnumerator$1.prototype._settledAt = function (state, i, value) {\n  var promise = this.promise;\n\n  if (promise._state === PENDING) {\n    this._remaining--;\n\n    if (state === REJECTED) {\n      reject(promise, value);\n    } else {\n      this._result[i] = value;\n    }\n  }\n\n  if (this._remaining === 0) {\n    fulfill(promise, this._result);\n  }\n};\n\nEnumerator$1.prototype._willSettleAt = function (promise, i) {\n  var enumerator = this;\n\n  subscribe(promise, undefined, function (value) {\n    return enumerator._settledAt(FULFILLED, i, value);\n  }, function (reason) {\n    return enumerator._settledAt(REJECTED, i, reason);\n  });\n};\n\n/**\n  `Promise.all` accepts an array of promises, and returns a new promise which\n  is fulfilled with an array of fulfillment values for the passed promises, or\n  rejected with the reason of the first passed promise to be rejected. It casts all\n  elements of the passed iterable to promises as it runs this algorithm.\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = resolve(2);\n  let promise3 = resolve(3);\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // The array here would be [ 1, 2, 3 ];\n  });\n  ```\n\n  If any of the `promises` given to `all` are rejected, the first promise\n  that is rejected will be given as an argument to the returned promises's\n  rejection handler. For example:\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = reject(new Error(\"2\"));\n  let promise3 = reject(new Error(\"3\"));\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // Code here never runs because there are rejected promises!\n  }, function(error) {\n    // error.message === \"2\"\n  });\n  ```\n\n  @method all\n  @static\n  @param {Array} entries array of promises\n  @param {String} label optional string for labeling the promise.\n  Useful for tooling.\n  @return {Promise} promise that is fulfilled when all `promises` have been\n  fulfilled, or rejected if any of them become rejected.\n  @static\n*/\nfunction all$1(entries) {\n  return new Enumerator$1(this, entries).promise;\n}\n\n/**\n  `Promise.race` returns a new promise which is settled in the same way as the\n  first passed promise to settle.\n\n  Example:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 2');\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // result === 'promise 2' because it was resolved before promise1\n    // was resolved.\n  });\n  ```\n\n  `Promise.race` is deterministic in that only the state of the first\n  settled promise matters. For example, even if other promises given to the\n  `promises` array argument are resolved, but the first settled promise has\n  become rejected before the other promises became fulfilled, the returned\n  promise will become rejected:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      reject(new Error('promise 2'));\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // Code here never runs\n  }, function(reason){\n    // reason.message === 'promise 2' because promise 2 became rejected before\n    // promise 1 became fulfilled\n  });\n  ```\n\n  An example real-world use case is implementing timeouts:\n\n  ```javascript\n  Promise.race([ajax('foo.json'), timeout(5000)])\n  ```\n\n  @method race\n  @static\n  @param {Array} promises array of promises to observe\n  Useful for tooling.\n  @return {Promise} a promise which settles in the same way as the first passed\n  promise to settle.\n*/\nfunction race$1(entries) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (!isArray(entries)) {\n    return new Constructor(function (_, reject) {\n      return reject(new TypeError('You must pass an array to race.'));\n    });\n  } else {\n    return new Constructor(function (resolve, reject) {\n      var length = entries.length;\n      for (var i = 0; i < length; i++) {\n        Constructor.resolve(entries[i]).then(resolve, reject);\n      }\n    });\n  }\n}\n\n/**\n  `Promise.reject` returns a promise rejected with the passed `reason`.\n  It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    reject(new Error('WHOOPS'));\n  });\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.reject(new Error('WHOOPS'));\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  @method reject\n  @static\n  @param {Any} reason value that the returned promise will be rejected with.\n  Useful for tooling.\n  @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n  /*jshint validthis:true */\n  var Constructor = this;\n  var promise = new Constructor(noop);\n  reject(promise, reason);\n  return promise;\n}\n\nfunction needsResolver() {\n  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n  throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n  Promise objects represent the eventual result of an asynchronous operation. The\n  primary way of interacting with a promise is through its `then` method, which\n  registers callbacks to receive either a promise's eventual value or the reason\n  why the promise cannot be fulfilled.\n\n  Terminology\n  -----------\n\n  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n  - `thenable` is an object or function that defines a `then` method.\n  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n  - `exception` is a value that is thrown using the throw statement.\n  - `reason` is a value that indicates why a promise was rejected.\n  - `settled` the final resting state of a promise, fulfilled or rejected.\n\n  A promise can be in one of three states: pending, fulfilled, or rejected.\n\n  Promises that are fulfilled have a fulfillment value and are in the fulfilled\n  state.  Promises that are rejected have a rejection reason and are in the\n  rejected state.  A fulfillment value is never a thenable.\n\n  Promises can also be said to *resolve* a value.  If this value is also a\n  promise, then the original promise's settled state will match the value's\n  settled state.  So a promise that *resolves* a promise that rejects will\n  itself reject, and a promise that *resolves* a promise that fulfills will\n  itself fulfill.\n\n\n  Basic Usage:\n  ------------\n\n  ```js\n  let promise = new Promise(function(resolve, reject) {\n    // on success\n    resolve(value);\n\n    // on failure\n    reject(reason);\n  });\n\n  promise.then(function(value) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Advanced Usage:\n  ---------------\n\n  Promises shine when abstracting away asynchronous interactions such as\n  `XMLHttpRequest`s.\n\n  ```js\n  function getJSON(url) {\n    return new Promise(function(resolve, reject){\n      let xhr = new XMLHttpRequest();\n\n      xhr.open('GET', url);\n      xhr.onreadystatechange = handler;\n      xhr.responseType = 'json';\n      xhr.setRequestHeader('Accept', 'application/json');\n      xhr.send();\n\n      function handler() {\n        if (this.readyState === this.DONE) {\n          if (this.status === 200) {\n            resolve(this.response);\n          } else {\n            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n          }\n        }\n      };\n    });\n  }\n\n  getJSON('/posts.json').then(function(json) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Unlike callbacks, promises are great composable primitives.\n\n  ```js\n  Promise.all([\n    getJSON('/posts'),\n    getJSON('/comments')\n  ]).then(function(values){\n    values[0] // => postsJSON\n    values[1] // => commentsJSON\n\n    return values;\n  });\n  ```\n\n  @class Promise\n  @param {function} resolver\n  Useful for tooling.\n  @constructor\n*/\nfunction Promise$2(resolver) {\n  this[PROMISE_ID] = nextId();\n  this._result = this._state = undefined;\n  this._subscribers = [];\n\n  if (noop !== resolver) {\n    typeof resolver !== 'function' && needsResolver();\n    this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();\n  }\n}\n\nPromise$2.all = all$1;\nPromise$2.race = race$1;\nPromise$2.resolve = resolve$1;\nPromise$2.reject = reject$1;\nPromise$2._setScheduler = setScheduler;\nPromise$2._setAsap = setAsap;\nPromise$2._asap = asap;\n\nPromise$2.prototype = {\n  constructor: Promise$2,\n\n  /**\n    The primary way of interacting with a promise is through its `then` method,\n    which registers callbacks to receive either a promise's eventual value or the\n    reason why the promise cannot be fulfilled.\n  \n    ```js\n    findUser().then(function(user){\n      // user is available\n    }, function(reason){\n      // user is unavailable, and you are given the reason why\n    });\n    ```\n  \n    Chaining\n    --------\n  \n    The return value of `then` is itself a promise.  This second, 'downstream'\n    promise is resolved with the return value of the first promise's fulfillment\n    or rejection handler, or rejected if the handler throws an exception.\n  \n    ```js\n    findUser().then(function (user) {\n      return user.name;\n    }, function (reason) {\n      return 'default name';\n    }).then(function (userName) {\n      // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n      // will be `'default name'`\n    });\n  \n    findUser().then(function (user) {\n      throw new Error('Found user, but still unhappy');\n    }, function (reason) {\n      throw new Error('`findUser` rejected and we're unhappy');\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n      // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n    });\n    ```\n    If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n  \n    ```js\n    findUser().then(function (user) {\n      throw new PedagogicalException('Upstream error');\n    }).then(function (value) {\n      // never reached\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // The `PedgagocialException` is propagated all the way down to here\n    });\n    ```\n  \n    Assimilation\n    ------------\n  \n    Sometimes the value you want to propagate to a downstream promise can only be\n    retrieved asynchronously. This can be achieved by returning a promise in the\n    fulfillment or rejection handler. The downstream promise will then be pending\n    until the returned promise is settled. This is called *assimilation*.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // The user's comments are now available\n    });\n    ```\n  \n    If the assimliated promise rejects, then the downstream promise will also reject.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // If `findCommentsByAuthor` fulfills, we'll have the value here\n    }, function (reason) {\n      // If `findCommentsByAuthor` rejects, we'll have the reason here\n    });\n    ```\n  \n    Simple Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let result;\n  \n    try {\n      result = findResult();\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n    findResult(function(result, err){\n      if (err) {\n        // failure\n      } else {\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findResult().then(function(result){\n      // success\n    }, function(reason){\n      // failure\n    });\n    ```\n  \n    Advanced Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let author, books;\n  \n    try {\n      author = findAuthor();\n      books  = findBooksByAuthor(author);\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n  \n    function foundBooks(books) {\n  \n    }\n  \n    function failure(reason) {\n  \n    }\n  \n    findAuthor(function(author, err){\n      if (err) {\n        failure(err);\n        // failure\n      } else {\n        try {\n          findBoooksByAuthor(author, function(books, err) {\n            if (err) {\n              failure(err);\n            } else {\n              try {\n                foundBooks(books);\n              } catch(reason) {\n                failure(reason);\n              }\n            }\n          });\n        } catch(error) {\n          failure(err);\n        }\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findAuthor().\n      then(findBooksByAuthor).\n      then(function(books){\n        // found books\n    }).catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method then\n    @param {Function} onFulfilled\n    @param {Function} onRejected\n    Useful for tooling.\n    @return {Promise}\n  */\n  then: then,\n\n  /**\n    `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n    as the catch block of a try/catch statement.\n  \n    ```js\n    function findAuthor(){\n      throw new Error('couldn't find that author');\n    }\n  \n    // synchronous\n    try {\n      findAuthor();\n    } catch(reason) {\n      // something went wrong\n    }\n  \n    // async with promises\n    findAuthor().catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method catch\n    @param {Function} onRejection\n    Useful for tooling.\n    @return {Promise}\n  */\n  'catch': function _catch(onRejection) {\n    return this.then(null, onRejection);\n  }\n};\n\n/*global self*/\nfunction polyfill$1() {\n    var local = undefined;\n\n    if (typeof global !== 'undefined') {\n        local = global;\n    } else if (typeof self !== 'undefined') {\n        local = self;\n    } else {\n        try {\n            local = Function('return this')();\n        } catch (e) {\n            throw new Error('polyfill failed because global object is unavailable in this environment');\n        }\n    }\n\n    var P = local.Promise;\n\n    if (P) {\n        var promiseToString = null;\n        try {\n            promiseToString = Object.prototype.toString.call(P.resolve());\n        } catch (e) {\n            // silently ignored\n        }\n\n        if (promiseToString === '[object Promise]' && !P.cast) {\n            return;\n        }\n    }\n\n    local.Promise = Promise$2;\n}\n\n// Strange compat..\nPromise$2.polyfill = polyfill$1;\nPromise$2.Promise = Promise$2;\n\nreturn Promise$2;\n\n})));\n\n//# sourceMappingURL=es6-promise.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/es6-promise/dist/es6-promise.js\n// module id = 95\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/webpack/buildin/global.js\n// module id = 96\n// module chunks = 0","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// vertx (ignored)\n// module id = 97\n// module chunks = 0","import React, { Component } from 'react'\nimport FlipMove from 'react-flip-move'\nimport autosize from 'autosize'\n\nimport i18n from './i18n'\nimport './style/index.styl'\nimport {\n  queryParse,\n  queryStringify,\n  axiosJSON,\n  axiosGithub,\n  getMetaContent,\n  formatErrorMsg,\n  hasClassInParent\n} from './util'\nimport Avatar from './component/avatar'\nimport Button from './component/button'\nimport Action from './component/action'\nimport Comment from './component/comment'\nimport Svg from './component/svg'\nimport { GT_ACCESS_TOKEN, GT_VERSION, GT_COMMENT } from './const'\nimport QLGetComments from './graphql/getComments'\n\nclass GitalkComponent extends Component {\n  state = {\n    user: null,\n    issue: null,\n    comments: [],\n    localComments: [],\n    comment: '',\n    page: 1,\n    pagerDirection: 'last',\n    cursor: null,\n    previewHtml: '',\n\n    isNoInit: false,\n    isIniting: true,\n    isCreating: false,\n    isLoading: false,\n    isLoadMore: false,\n    isLoadOver: false,\n    isIssueCreating: false,\n    isPopupVisible: false,\n    isInputFocused: false,\n    isPreview: false,\n\n    isOccurError: false,\n    errorMsg: '',\n  }\n  constructor (props) {\n    super(props)\n    this.options = Object.assign({}, {\n      id: window.location.href,\n      number: -1,\n      labels: ['Gitalk'],\n      title: window.document.title,\n      body: '', // window.location.href + header.meta[description]\n      language: window.navigator.language || window.navigator.userLanguage,\n      perPage: 10,\n      pagerDirection: 'last', // last or first\n      createIssueManually: false,\n      distractionFreeMode: false,\n      proxy: 'https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token',\n      flipMoveOptions: {\n        staggerDelayBy: 150,\n        appearAnimation: 'accordionVertical',\n        enterAnimation: 'accordionVertical',\n        leaveAnimation: 'accordionVertical',\n      },\n      enableHotKey: true,\n\n      url: window.location.href,\n\n      defaultAuthor: {\n        avatarUrl: '//avatars1.githubusercontent.com/u/29697133?s=50',\n        login: 'null',\n        url: '',\n      },\n\n      updateCountCallback: null\n    }, props.options)\n\n    this.state.pagerDirection = this.options.pagerDirection\n    const storedComment = window.localStorage.getItem(GT_COMMENT)\n    if (storedComment) {\n      this.state.comment = decodeURIComponent(storedComment)\n      window.localStorage.removeItem(GT_COMMENT)\n    }\n\n    const query = queryParse()\n    if (query.code) {\n      const code = query.code\n      delete query.code\n      const replacedUrl = `${window.location.origin}${window.location.pathname}${queryStringify(query)}${window.location.hash}`\n      history.replaceState(null, null, replacedUrl)\n      this.options = Object.assign({}, this.options, {\n        url: replacedUrl,\n        id: replacedUrl\n      }, props.options)\n\n      axiosJSON.post(this.options.proxy, {\n        code,\n        client_id: this.options.clientID,\n        client_secret: this.options.clientSecret\n      }).then(res => {\n        if (res.data && res.data.access_token) {\n          this.accessToken = res.data.access_token\n\n          this.getInit()\n            .then(() => this.setState({ isIniting: false }))\n            .catch(err => {\n              console.log('err:', err)\n              this.setState({\n                isIniting: false,\n                isOccurError: true,\n                errorMsg: formatErrorMsg(err)\n              })\n            })\n        } else {\n          // no access_token\n          console.log('res.data err:', res.data)\n          this.setState({\n            isOccurError: true,\n            errorMsg: formatErrorMsg(new Error('no access token'))\n          })\n        }\n      }).catch(err => {\n        console.log('err: ', err)\n        this.setState({\n          isOccurError: true,\n          errorMsg: formatErrorMsg(err)\n        })\n      })\n    } else {\n      this.getInit()\n        .then(() => this.setState({ isIniting: false }))\n        .catch(err => {\n          console.log('err:', err)\n          this.setState({\n            isIniting: false,\n            isOccurError: true,\n            errorMsg: formatErrorMsg(err)\n          })\n        })\n    }\n\n    this.i18n = i18n(this.options.language)\n  }\n  componentDidUpdate () {\n    this.commentEL && autosize(this.commentEL)\n  }\n\n  get accessToken () {\n    return this._accessToke || window.localStorage.getItem(GT_ACCESS_TOKEN)\n  }\n  set accessToken (token) {\n    window.localStorage.setItem(GT_ACCESS_TOKEN, token)\n    this._accessToken = token\n  }\n  get loginLink () {\n    const githubOauthUrl = 'https://github.com/login/oauth/authorize'\n    const { clientID } = this.options\n    const query = {\n      client_id: clientID,\n      redirect_uri: window.location.href,\n      scope: 'public_repo'\n    }\n    return `${githubOauthUrl}?${queryStringify(query)}`\n  }\n  get isAdmin () {\n    const { admin } = this.options\n    const { user } = this.state\n\n    return user && ~[].concat(admin).map(a => a.toLowerCase()).indexOf(user.login.toLowerCase())\n  }\n\n  getInit () {\n    return this.getUserInfo().then(() => this.getIssue()).then(issue => this.getComments(issue))\n  }\n  getUserInfo () {\n    return axiosGithub.get('/user', {\n      headers: {\n        Authorization: `token ${this.accessToken}`\n      }\n    }).then(res => {\n      this.setState({ user: res.data })\n    }).catch(err => {\n      this.logout()\n    })\n  }\n  getIssueById () {\n    const { owner, repo, number, clientID, clientSecret } = this.options\n    const getUrl = `/repos/${owner}/${repo}/issues/${number}`\n\n    return new Promise((resolve, reject) => {\n      axiosGithub.get(getUrl, {\n        auth: {\n          username: clientID,\n          password: clientSecret\n        },\n        params: {\n          t: Date.now()\n        }\n      })\n        .then(res => {\n          let issue = null\n\n          if (res && res.data && res.data.number === number) {\n            issue = res.data\n\n            this.setState({ issue, isNoInit: false })\n          }\n          resolve(issue)\n        })\n        .catch(err => {\n          // When the status code is 404, promise will be resolved with null\n          if (err.response.status === 404) resolve(null)\n          reject(err)\n        })\n    })\n  }\n  getIssueByLabels () {\n    const { owner, repo, id, labels, clientID, clientSecret } = this.options\n\n    return axiosGithub.get(`/repos/${owner}/${repo}/issues`, {\n      auth: {\n        username: clientID,\n        password: clientSecret\n      },\n      params: {\n        labels: labels.concat(id).join(','),\n        t: Date.now()\n      }\n    }).then(res => {\n      const { createIssueManually } = this.options\n      let isNoInit = false\n      let issue = null\n      if (!(res && res.data && res.data.length)) {\n        if (!createIssueManually && this.isAdmin) {\n          return this.createIssue()\n        }\n\n        isNoInit = true\n      } else {\n        issue = res.data[0]\n      }\n      this.setState({ issue, isNoInit })\n      return issue\n    })\n  }\n  getIssue () {\n    const { number } = this.options\n    const { issue } = this.state\n    if (issue) {\n      this.setState({ isNoInit: false })\n      return Promise.resolve(issue)\n    }\n\n    if (typeof number === 'number' && number > 0) {\n      return this.getIssueById().then(resIssue => {\n        if (!resIssue) return this.getIssueByLabels()\n        return resIssue\n      })\n    }\n    return this.getIssueByLabels()\n  }\n  createIssue () {\n    const { owner, repo, title, body, id, labels, url } = this.options\n    return axiosGithub.post(`/repos/${owner}/${repo}/issues`, {\n      title,\n      labels: labels.concat(id),\n      body: body || `${url} \\n\\n ${\n        getMetaContent('description') ||\n        getMetaContent('description', 'og:description') || ''\n      }`\n    }, {\n      headers: {\n        Authorization: `token ${this.accessToken}`\n      }\n    }).then(res => {\n      this.setState({ issue: res.data })\n      return res.data\n    })\n  }\n  // Get comments via v3 api, don't require login, but sorting feature is disable\n  getCommentsV3 = issue => {\n    const { clientID, clientSecret, perPage } = this.options\n    const { page } = this.state\n\n    return this.getIssue()\n      .then(issue => {\n        if (!issue) return\n\n        return axiosGithub.get(issue.comments_url, {\n          headers: {\n            Accept: 'application/vnd.github.v3.full+json'\n          },\n          auth: {\n            username: clientID,\n            password: clientSecret\n          },\n          params: {\n            per_page: perPage,\n            page\n          }\n        }).then(res => {\n          const { comments, issue } = this.state\n          let isLoadOver = false\n          const cs = comments.concat(res.data)\n          if (cs.length >= issue.comments || res.data.length < perPage) {\n            isLoadOver = true\n          }\n          this.setState({\n            comments: cs,\n            isLoadOver,\n            page: page + 1\n          })\n          return cs\n        })\n      })\n  }\n  getComments (issue) {\n    if (!issue) return\n    // Get comments via v4 graphql api, login required and sorting feature is available\n    if (this.accessToken) return QLGetComments.call(this, issue)\n    return this.getCommentsV3(issue)\n  }\n\n  createComment () {\n    const { comment, localComments, comments } = this.state\n\n    return this.getIssue()\n      .then(issue => axiosGithub.post(issue.comments_url, {\n        body: comment\n      }, {\n        headers: {\n          Accept: 'application/vnd.github.v3.full+json',\n          Authorization: `token ${this.accessToken}`\n        }\n      }))\n      .then(res => {\n        this.setState({\n          comment: '',\n          comments: comments.concat(res.data),\n          localComments: localComments.concat(res.data)\n        })\n      })\n  }\n  logout () {\n    this.setState({ user: null })\n    window.localStorage.removeItem(GT_ACCESS_TOKEN)\n  }\n  getRef = e => {\n    this.publicBtnEL = e\n  }\n  reply = replyComment => () => {\n    const { comment } = this.state\n    const replyCommentBody = replyComment.body\n    let replyCommentArray = replyCommentBody.split('\\n')\n    replyCommentArray.unshift(`@${replyComment.user.login}`)\n    replyCommentArray = replyCommentArray.map(t => `> ${t}`)\n    replyCommentArray.push('')\n    replyCommentArray.push('')\n    if (comment) replyCommentArray.unshift('')\n    this.setState({ comment: comment + replyCommentArray.join('\\n') }, () => {\n      autosize.update(this.commentEL)\n      this.commentEL.focus()\n    })\n  }\n  like (comment) {\n    const { owner, repo } = this.options\n    const { user } = this.state\n    let { comments } = this.state\n\n    axiosGithub.post(`/repos/${owner}/${repo}/issues/comments/${comment.id}/reactions`, {\n      content: 'heart'\n    }, {\n      headers: {\n        Authorization: `token ${this.accessToken}`,\n        Accept: 'application/vnd.github.squirrel-girl-preview'\n      }\n    }).then(res => {\n      comments = comments.map(c => {\n        if (c.id === comment.id) {\n          if (c.reactions) {\n            if (!~c.reactions.nodes.findIndex(n => n.user.login === user.login)) {\n              c.reactions.totalCount += 1\n            }\n          } else {\n            c.reactions = { nodes: [] }\n            c.reactions.totalCount = 1\n          }\n\n          c.reactions.nodes.push(res.data)\n          c.reactions.viewerHasReacted = true\n        }\n        return c\n      })\n\n      this.setState({\n        comments\n      })\n    })\n  }\n  unLike (comment) {\n    const { user } = this.state\n    let { comments } = this.state\n\n    // const {  user } = this.state\n    // let id\n    // comment.reactions.nodes.forEach(r => {\n    //   if (r.user.login = user.login) id = r.databaseId\n    // })\n    // return axiosGithub.delete(`/reactions/${id}`, {\n    //   headers: {\n    //     Authorization: `token ${this.accessToken}`,\n    //     Accept: 'application/vnd.github.squirrel-girl-preview'\n    //   }\n    // }).then(res => {\n    //   console.log('res:', res)\n    // })\n\n    const getQL = id => ({\n      operationName: 'RemoveReaction',\n      query: `\n          mutation RemoveReaction{\n            removeReaction (input:{\n              subjectId: \"${id}\",\n              content: HEART\n            }) {\n              reaction {\n                content\n              }\n            }\n          }\n        `\n    })\n\n    axiosGithub.post('/graphql', getQL(comment.gId), {\n      headers: {\n        Authorization: `bearer ${this.accessToken}`\n      }\n    }).then(res => {\n      if (res.data) {\n        comments = comments.map(c => {\n          if (c.id === comment.id) {\n            const index = c.reactions.nodes.findIndex(n => n.user.login === user.login)\n            if (~index) {\n              c.reactions.totalCount -= 1\n              c.reactions.nodes.splice(index, 1)\n            }\n            c.reactions.viewerHasReacted = false\n          }\n          return c\n        })\n\n        this.setState({\n          comments\n        })\n      }\n    })\n  }\n\n\n  handlePopup = e => {\n    e.preventDefault()\n    e.stopPropagation()\n    const isVisible = !this.state.isPopupVisible\n    const hideHandle = e1 => {\n      if (hasClassInParent(e1.target, 'gt-user', 'gt-popup')) {\n        return\n      }\n      window.document.removeEventListener('click', hideHandle)\n      this.setState({ isPopupVisible: false })\n    }\n    this.setState({ isPopupVisible: isVisible })\n    if (isVisible) {\n      window.document.addEventListener('click', hideHandle)\n    } else {\n      window.document.removeEventListener('click', hideHandle)\n    }\n  }\n  handleLogin = () => {\n    const { comment } = this.state\n    window.localStorage.setItem(GT_COMMENT, encodeURIComponent(comment))\n    window.location.href = this.loginLink\n  }\n  handleIssueCreate = () => {\n    this.setState({ isIssueCreating: true })\n    this.createIssue().then(issue => {\n      this.setState({\n        isIssueCreating: false,\n        isOccurError: false\n      })\n      return this.getComments(issue)\n    }).catch(err => {\n      this.setState({\n        isIssueCreating: false,\n        isOccurError: true,\n        errorMsg: formatErrorMsg(err)\n      })\n    }).then(res => {\n      if (res) {\n        this.setState({\n          isNoInit: false,\n        })\n      }\n    })\n  }\n  handleCommentCreate = e => {\n    if (!this.state.comment.length) {\n      e && e.preventDefault()\n      this.commentEL.focus()\n      return\n    }\n    this.setState(state => {\n      if (state.isCreating) return\n\n      this.createComment()\n        .then(() => this.setState({\n          isCreating: false,\n          isOccurError: false\n        }))\n        .catch(err => {\n          this.setState({\n            isCreating: false,\n            isOccurError: true,\n            errorMsg: formatErrorMsg(err)\n          })\n        })\n      return { isCreating: true }\n    })\n  }\n  handleCommentPreview = e => {\n    this.setState({\n      isPreview: !this.state.isPreview\n    })\n\n    axiosGithub.post('/markdown', {\n      text: this.state.comment\n    }, {\n      headers: this.accessToken && { Authorization: `token ${this.accessToken}` }\n    }).then(res => {\n      this.setState({\n        previewHtml: res.data\n      })\n    }).catch(err => {\n      this.setState({\n        isOccurError: true,\n        errorMsg: formatErrorMsg(err)\n      })\n    })\n  }\n  handleCommentLoad = () => {\n    const { issue, isLoadMore } = this.state\n    if (isLoadMore) return\n    this.setState({ isLoadMore: true })\n    this.getComments(issue).then(() => this.setState({ isLoadMore: false }))\n  }\n  handleCommentChange = e => this.setState({ comment: e.target.value })\n  handleLogout = () => {\n    this.logout()\n    window.location.reload()\n  }\n  handleCommentFocus = e => {\n    const { distractionFreeMode } = this.options\n    if (!distractionFreeMode) return e.preventDefault()\n    this.setState({ isInputFocused: true })\n  }\n  handleCommentBlur = e => {\n    const { distractionFreeMode } = this.options\n    if (!distractionFreeMode) return e.preventDefault()\n    this.setState({ isInputFocused: false })\n  }\n  handleSort = direction => e => {\n    this.setState({ pagerDirection: direction })\n  }\n  handleCommentKeyDown = e => {\n    const { enableHotKey } = this.options\n    if (enableHotKey && (e.metaKey || e.ctrlKey) && e.keyCode === 13) {\n      this.publicBtnEL && this.publicBtnEL.focus()\n      this.handleCommentCreate()\n    }\n  }\n\n  initing () {\n    return <div className=\"gt-initing\">\n      <i className=\"gt-loader\"/>\n      <p className=\"gt-initing-text\">{this.i18n.t('init')}</p>\n    </div>\n  }\n  noInit () {\n    const { user, isIssueCreating } = this.state\n    const { owner, repo, admin } = this.options\n    return (\n      <div className=\"gt-no-init\" key=\"no-init\">\n        <p dangerouslySetInnerHTML={{\n          __html: this.i18n.t('no-found-related', {\n            link: `<a href=\"https://github.com/${owner}/${repo}/issues\">Issues</a>`\n          })\n        }}/>\n        <p>{this.i18n.t('please-contact', { user: [].concat(admin).map(u => `@${u}`).join(' ') })}</p>\n        {this.isAdmin ? <p>\n          <Button onClick={this.handleIssueCreate} isLoading={isIssueCreating} text={this.i18n.t('init-issue')} />\n        </p> : null}\n        {!user && <Button className=\"gt-btn-login\" onClick={this.handleLogin} text={this.i18n.t('login-with-github')} />}\n      </div>\n    )\n  }\n\n  handleImageErrored(obj) {\n    obj.target.src=\"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n  }\n  header () {\n    const { user, comment, isCreating, previewHtml, isPreview } = this.state\n    return (\n      <div className=\"gt-header\" key=\"header\">\n        {user ?\n          <Avatar className=\"gt-header-avatar\" src={user.avatar_url} alt={user.login} onError={this.handleImageErrored.bind(this)} />:\n          <a className=\"gt-avatar-github\" onMouseDown={this.handleLogin}>\n            <Svg className=\"gt-ico-github\" name=\"github\"/>\n          </a>\n        }\n        <div className=\"gt-header-comment\">\n          <textarea\n            ref={t => { this.commentEL = t }}\n            className={`gt-header-textarea ${isPreview ? 'hide' : ''}`}\n            value={comment}\n            onChange={this.handleCommentChange}\n            onFocus={this.handleCommentFocus}\n            onBlur={this.handleCommentBlur}\n            onKeyDown={this.handleCommentKeyDown}\n            placeholder={this.i18n.t('leave-a-comment')}\n          />\n          <div\n            className={`gt-header-preview markdown-body ${isPreview ? '' : 'hide'}`}\n            dangerouslySetInnerHTML={{ __html: previewHtml }}\n          />\n          <div className=\"gt-header-controls\">\n            <a className=\"gt-header-controls-tip\" href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">\n              <Svg className=\"gt-ico-tip\" name=\"tip\" text={this.i18n.t('support-markdown')}/>\n            </a>\n            {user && <Button\n              getRef={this.getRef}\n              className=\"gt-btn-public\"\n              onMouseDown={this.handleCommentCreate}\n              text={this.i18n.t('comment')}\n              isLoading={isCreating}\n            />}\n\n            <Button\n              className=\"gt-btn-preview\"\n              onMouseDown={this.handleCommentPreview}\n              text={isPreview ? this.i18n.t('edit') : this.i18n.t('preview')}\n              // isLoading={isPreviewing}\n            />\n            {!user && <Button className=\"gt-btn-login\" onMouseDown={this.handleLogin} text={this.i18n.t('login-with-github')} />}\n          </div>\n        </div>\n      </div>\n    )\n  }\n  comments () {\n    const { user, comments, isLoadOver, isLoadMore, pagerDirection } = this.state\n    const { language, flipMoveOptions, admin } = this.options\n    const totalComments = comments.concat([])\n    if (pagerDirection === 'last' && this.accessToken) {\n      totalComments.reverse()\n    }\n    return (\n      <div className=\"gt-comments\" key=\"comments\">\n        <FlipMove {...flipMoveOptions}>\n          {totalComments.map(c => (\n            <Comment\n              comment={c}\n              key={c.id}\n              user={user}\n              language={language}\n              commentedText={this.i18n.t('commented')}\n              admin={admin}\n              replyCallback={this.reply(c)}\n              likeCallback={c.reactions && c.reactions.viewerHasReacted ? this.unLike.bind(this, c) : this.like.bind(this, c)}\n            />\n          ))}\n        </FlipMove>\n        {!totalComments.length && <p className=\"gt-comments-null\">{this.i18n.t('first-comment-person')}</p>}\n        {(!isLoadOver && totalComments.length) ? <div className=\"gt-comments-controls\">\n          <Button className=\"gt-btn-loadmore\" onClick={this.handleCommentLoad} isLoading={isLoadMore} text={this.i18n.t('load-more')} />\n        </div> : null}\n      </div>\n    )\n  }\n  meta () {\n    const { user, issue, isPopupVisible, pagerDirection, localComments } = this.state\n    const cnt = (issue && issue.comments) + localComments.length\n    const isDesc = pagerDirection === 'last'\n    const { updateCountCallback } = this.options\n\n    // window.GITALK_COMMENTS_COUNT = cnt\n    if (\n      updateCountCallback &&\n      {}.toString.call(updateCountCallback) === '[object Function]'\n    ) {\n      try {\n        updateCountCallback(cnt)\n      } catch (err) {\n        console.log('An error occurred executing the updateCountCallback:', err)\n      }\n    }\n\n    return (\n      <div className=\"gt-meta\" key=\"meta\" >\n        <span className=\"gt-counts\" dangerouslySetInnerHTML={{\n          __html: this.i18n.t('counts', {\n            counts: `<a class=\"gt-link gt-link-counts\" href=\"${issue && issue.html_url}\" target=\"_blank\">${cnt}</a>`,\n            smart_count: cnt\n          })\n        }}/>\n        {isPopupVisible &&\n          <div className=\"gt-popup\">\n            {user ? <Action className={`gt-action-sortasc${!isDesc ? ' is--active' : ''}`} onClick={this.handleSort('first')} text={this.i18n.t('sort-asc')}/> : null }\n            {user ? <Action className={`gt-action-sortdesc${isDesc ? ' is--active' : ''}`} onClick={this.handleSort('last')} text={this.i18n.t('sort-desc')}/> : null }\n            {user ?\n              <Action className=\"gt-action-logout\" onClick={this.handleLogout} text={this.i18n.t('logout')}/> :\n              <a className=\"gt-action gt-action-login\" onMouseDown={this.handleLogin}>{this.i18n.t('login-with-github')}</a>\n            }\n            <div className=\"gt-copyright\">\n              <a className=\"gt-link gt-link-project\" href=\"https://github.com/gitalk/gitalk\" target=\"_blank\">Gitalk</a>\n              <span className=\"gt-version\">{GT_VERSION}</span>\n            </div>\n          </div>\n        }\n        <div className=\"gt-user\">\n          {user ?\n            <div className={isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner'} onClick={this.handlePopup}>\n              <span className=\"gt-user-name\">{user.login}</span>\n              <Svg className=\"gt-ico-arrdown\" name=\"arrow_down\"/>\n            </div> :\n            <div className={isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner'} onClick={this.handlePopup}>\n              <span className=\"gt-user-name\">{this.i18n.t('anonymous')}</span>\n              <Svg className=\"gt-ico-arrdown\" name=\"arrow_down\"/>\n            </div>\n          }\n        </div>\n      </div>\n    )\n  }\n\n  render () {\n    const { isIniting, isNoInit, isOccurError, errorMsg, isInputFocused } = this.state\n    return (\n      <div className={`gt-container${isInputFocused ? ' gt-input-focused' : ''}`}>\n        {isIniting && this.initing()}\n        {!isIniting && (\n          isNoInit ? [\n          ] : [\n            this.meta()\n          ])\n        }\n        {isOccurError && <div className=\"gt-error\">\n          {errorMsg}\n        </div>}\n        {!isIniting && (\n          isNoInit ? [\n            this.noInit()\n          ] : [\n            this.header(),\n            this.comments()\n          ])\n        }\n      </div>\n    )\n  }\n}\n\nmodule.exports = GitalkComponent\n\n\n\n// WEBPACK FOOTER //\n// ./gitalk.jsx","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/promise.js\n// module id = 99\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/promise.js\n// module id = 100\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_string-at.js\n// module id = 101\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-create.js\n// module id = 102\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-dps.js\n// module id = 103\n// module chunks = 0","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_array-includes.js\n// module id = 104\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 105\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 106\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 107\n// module chunks = 0","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-step.js\n// module id = 108\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\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      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\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 (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may 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            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\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 values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(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.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\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      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.promise.js\n// module id = 109\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_an-instance.js\n// module id = 110\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_for-of.js\n// module id = 111\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_invoke.js\n// module id = 112\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return 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};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_microtask.js\n// module id = 113\n// module chunks = 0","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_user-agent.js\n// module id = 114\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_redefine-all.js\n// module id = 115\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-species.js\n// module id = 116\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\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\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 117\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 118\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/assign.js\n// module id = 119\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/assign.js\n// module id = 120\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 121\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-assign.js\n// module id = 122\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 123\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 124\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 125\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 126\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/symbol.js\n// module id = 127\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/symbol/index.js\n// module id = 128\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\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\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.symbol.js\n// module id = 129\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\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    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\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    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_meta.js\n// module id = 130\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_enum-keys.js\n// module id = 131\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-array.js\n// module id = 132\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 133\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 134\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 135\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 136\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 137\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 138\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-proto.js\n// module id = 139\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/create.js\n// module id = 140\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/create.js\n// module id = 141\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.create.js\n// module id = 142\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _FlipMove = require('./FlipMove');\n\nvar _FlipMove2 = _interopRequireDefault(_FlipMove);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _FlipMove2.default;\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n */\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/index.js\n// module id = 143\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nrequire('./polyfills');\n\nvar _propConverter = require('./prop-converter');\n\nvar _propConverter2 = _interopRequireDefault(_propConverter);\n\nvar _domManipulation = require('./dom-manipulation');\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * For information on how this code is laid out, check out CODE_TOUR.md\n */\n\n/* eslint-disable react/prop-types */\n\nvar transitionEnd = (0, _domManipulation.whichTransitionEvent)();\nvar noBrowserSupport = !transitionEnd;\n\nfunction getKey(childData) {\n  return childData.key || '';\n}\n\nvar FlipMove = function (_Component) {\n  _inherits(FlipMove, _Component);\n\n  function FlipMove() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, FlipMove);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FlipMove.__proto__ || Object.getPrototypeOf(FlipMove)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      children: _react.Children.toArray(_this.props.children).map(function (element) {\n        return _extends({}, element, {\n          element: element,\n          appearing: true\n        });\n      })\n    }, _this.childrenData = {}, _this.parentData = {\n      domNode: null,\n      boundingBox: null\n    }, _this.heightPlaceholderData = {\n      domNode: null\n    }, _this.remainingAnimations = 0, _this.childrenToAnimate = [], _this.runAnimation = function () {\n      var dynamicChildren = _this.state.children.filter(_this.doesChildNeedToBeAnimated);\n\n      dynamicChildren.forEach(function (child, n) {\n        _this.remainingAnimations += 1;\n        _this.childrenToAnimate.push(getKey(child));\n        _this.animateChild(child, n);\n      });\n\n      if (typeof _this.props.onStartAll === 'function') {\n        _this.callChildrenHook(_this.props.onStartAll);\n      }\n    }, _this.doesChildNeedToBeAnimated = function (child) {\n      // If the child doesn't have a key, it's an immovable child (one that we\n      // do not want to do FLIP stuff to.)\n      if (!getKey(child)) {\n        return false;\n      }\n\n      var childData = _this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = _this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return false;\n      }\n\n      var _this$props = _this.props,\n          appearAnimation = _this$props.appearAnimation,\n          enterAnimation = _this$props.enterAnimation,\n          leaveAnimation = _this$props.leaveAnimation,\n          getPosition = _this$props.getPosition;\n\n\n      var isAppearingWithAnimation = child.appearing && appearAnimation;\n      var isEnteringWithAnimation = child.entering && enterAnimation;\n      var isLeavingWithAnimation = child.leaving && leaveAnimation;\n\n      if (isAppearingWithAnimation || isEnteringWithAnimation || isLeavingWithAnimation) {\n        return true;\n      }\n\n      // If it isn't entering/leaving, we want to animate it if it's\n      // on-screen position has changed.\n\n      var _getPositionDelta = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: getPosition\n      }),\n          _getPositionDelta2 = _slicedToArray(_getPositionDelta, 2),\n          dX = _getPositionDelta2[0],\n          dY = _getPositionDelta2[1];\n\n      return dX !== 0 || dY !== 0;\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n  // Copy props.children into state.\n  // To understand why this is important (and not an anti-pattern), consider\n  // how \"leave\" animations work. An item has \"left\" when the component\n  // receives a new set of props that do NOT contain the item.\n  // If we just render the props as-is, the item would instantly disappear.\n  // We want to keep the item rendered for a little while, until its animation\n  // can complete. Because we cannot mutate props, we make `state` the source\n  // of truth.\n\n\n  // FlipMove needs to know quite a bit about its children in order to do\n  // its job. We store these as a property on the instance. We're not using\n  // state, because we don't want changes to trigger re-renders, we just\n  // need a place to keep the data for reference, when changes happen.\n  // This field should not be accessed directly. Instead, use getChildData,\n  // putChildData, etc...\n\n\n  // Similarly, track the dom node and box of our parent element.\n\n\n  // If `maintainContainerHeight` prop is set to true, we'll create a\n  // placeholder element which occupies space so that the parent height\n  // doesn't change when items are removed from the document flow (which\n  // happens during leave animations)\n\n\n  // Keep track of remaining animations so we know when to fire the\n  // all-finished callback, and clean up after ourselves.\n  // NOTE: we can't simply use childrenToAnimate.length to track remaining\n  // animations, because we need to maintain the list of animating children,\n  // to pass to the `onFinishAll` handler.\n\n\n  _createClass(FlipMove, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      // Run our `appearAnimation` if it was requested, right after the\n      // component mounts.\n      var shouldTriggerFLIP = this.props.appearAnimation && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'componentWillReceiveProps',\n    value: function componentWillReceiveProps(nextProps) {\n      // When the component is handed new props, we need to figure out the\n      // \"resting\" position of all currently-rendered DOM nodes.\n      // We store that data in this.parent and this.children,\n      // so it can be used later to work out the animation.\n      this.updateBoundingBoxCaches();\n\n      // Convert opaque children object to array.\n      var nextChildren = _react.Children.toArray(nextProps.children);\n\n      // Next, we need to update our state, so that it contains our new set of\n      // children. If animation is disabled or unsupported, this is easy;\n      // we just copy our props into state.\n      // Assuming that we can animate, though, we have to do some work.\n      // Essentially, we want to keep just-deleted nodes in the DOM for a bit\n      // longer, so that we can animate them away.\n      this.setState({\n        children: this.isAnimationDisabled(nextProps) ? nextChildren.map(function (element) {\n          return _extends({}, element, { element: element });\n        }) : this.calculateNextSetOfChildren(nextChildren)\n      });\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(previousProps) {\n      // If the children have been re-arranged, moved, or added/removed,\n      // trigger the main FLIP animation.\n      //\n      // IMPORTANT: We need to make sure that the children have actually changed.\n      // At the end of the transition, we clean up nodes that need to be removed.\n      var oldChildrenKeys = _react.Children.toArray(this.props.children).map(function (d) {\n        return d.key;\n      });\n      var nextChildrenKeys = _react.Children.toArray(previousProps.children).map(function (d) {\n        return d.key;\n      });\n\n      var shouldTriggerFLIP = !(0, _helpers.arraysEqual)(oldChildrenKeys, nextChildrenKeys) && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'calculateNextSetOfChildren',\n    value: function calculateNextSetOfChildren(nextChildren) {\n      var _this2 = this;\n\n      // We want to:\n      //   - Mark all new children as `entering`\n      //   - Pull in previous children that aren't in nextChildren, and mark them\n      //     as `leaving`\n      //   - Preserve the nextChildren list order, with leaving children in their\n      //     appropriate places.\n      //\n\n      var updatedChildren = nextChildren.map(function (nextChild) {\n        var child = _this2.findChildByKey(nextChild.key || '');\n\n        // If the current child did exist, but it was in the midst of leaving,\n        // we want to treat it as though it's entering\n        var isEntering = !child || child.leaving;\n\n        return _extends({}, nextChild, { element: nextChild, entering: isEntering });\n      });\n\n      // This is tricky. We want to keep the nextChildren's ordering, but with\n      // any just-removed items maintaining their original position.\n      // eg.\n      //   this.state.children  = [ 1, 2, 3, 4 ]\n      //   nextChildren         = [ 3, 1 ]\n      //\n      // In this example, we've removed the '2' & '4'\n      // We want to end up with:  [ 2, 3, 1, 4 ]\n      //\n      // To accomplish that, we'll iterate through this.state.children. whenever\n      // we find a match, we'll append our `leaving` flag to it, and insert it\n      // into the nextChildren in its ORIGINAL position. Note that, as we keep\n      // inserting old items into the new list, the \"original\" position will\n      // keep incrementing.\n      var numOfChildrenLeaving = 0;\n      this.state.children.forEach(function (child, index) {\n        var isLeaving = !nextChildren.find(function (_ref2) {\n          var key = _ref2.key;\n          return key === getKey(child);\n        });\n\n        // If the child isn't leaving (or, if there is no leave animation),\n        // we don't need to add it into the state children.\n        if (!isLeaving || !_this2.props.leaveAnimation) return;\n\n        var nextChild = _extends({}, child, { leaving: true });\n        var nextChildIndex = index + numOfChildrenLeaving;\n\n        updatedChildren.splice(nextChildIndex, 0, nextChild);\n        numOfChildrenLeaving += 1;\n      });\n\n      return updatedChildren;\n    }\n  }, {\n    key: 'prepForAnimation',\n    value: function prepForAnimation() {\n      var _this3 = this;\n\n      // Our animation prep consists of:\n      // - remove children that are leaving from the DOM flow, so that the new\n      //   layout can be accurately calculated,\n      // - update the placeholder container height, if needed, to ensure that\n      //   the parent's height doesn't collapse.\n\n      var _props = this.props,\n          leaveAnimation = _props.leaveAnimation,\n          maintainContainerHeight = _props.maintainContainerHeight,\n          getPosition = _props.getPosition;\n\n      // we need to make all leaving nodes \"invisible\" to the layout calculations\n      // that will take place in the next step (this.runAnimation).\n\n      if (leaveAnimation) {\n        var leavingChildren = this.state.children.filter(function (child) {\n          return child.leaving;\n        });\n\n        leavingChildren.forEach(function (leavingChild) {\n          var childData = _this3.getChildData(getKey(leavingChild));\n\n          // We need to take the items out of the \"flow\" of the document, so that\n          // its siblings can move to take its place.\n          if (childData.boundingBox) {\n            (0, _domManipulation.removeNodeFromDOMFlow)(childData, _this3.props.verticalAlignment);\n          }\n        });\n\n        if (maintainContainerHeight && this.heightPlaceholderData.domNode) {\n          (0, _domManipulation.updateHeightPlaceholder)({\n            domNode: this.heightPlaceholderData.domNode,\n            parentData: this.parentData,\n            getPosition: getPosition\n          });\n        }\n      }\n\n      // For all children not in the middle of entering or leaving,\n      // we need to reset the transition, so that the NEW shuffle starts from\n      // the right place.\n      this.state.children.forEach(function (child) {\n        var _getChildData = _this3.getChildData(getKey(child)),\n            domNode = _getChildData.domNode;\n\n        // Ignore children that don't render DOM nodes (eg. by returning null)\n\n\n        if (!domNode) {\n          return;\n        }\n\n        if (!child.entering && !child.leaving) {\n          (0, _domManipulation.applyStylesToDOMNode)({\n            domNode: domNode,\n            styles: {\n              transition: ''\n            }\n          });\n        }\n      });\n    }\n  }, {\n    key: 'animateChild',\n    value: function animateChild(child, index) {\n      var _this4 = this;\n\n      var _getChildData2 = this.getChildData(getKey(child)),\n          domNode = _getChildData2.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // Apply the relevant style for this DOM node\n      // This is the offset from its actual DOM position.\n      // eg. if an item has been re-rendered 20px lower, we want to apply a\n      // style of 'transform: translate(-20px)', so that it appears to be where\n      // it started.\n      // In FLIP terminology, this is the 'Invert' stage.\n      (0, _domManipulation.applyStylesToDOMNode)({\n        domNode: domNode,\n        styles: this.computeInitialStyles(child)\n      });\n\n      // Start by invoking the onStart callback for this child.\n      if (this.props.onStart) this.props.onStart(child, domNode);\n\n      // Next, animate the item from it's artificially-offset position to its\n      // new, natural position.\n      requestAnimationFrame(function () {\n        requestAnimationFrame(function () {\n          // NOTE, RE: the double-requestAnimationFrame:\n          // Sadly, this is the most browser-compatible way to do this I've found.\n          // Essentially we need to set the initial styles outside of any request\n          // callbacks to avoid batching them. Then, a frame needs to pass with\n          // the styles above rendered. Then, on the second frame, we can apply\n          // our final styles to perform the animation.\n\n          // Our first order of business is to \"undo\" the styles applied in the\n          // previous frames, while also adding a `transition` property.\n          // This way, the item will smoothly transition from its old position\n          // to its new position.\n\n          // eslint-disable-next-line flowtype/require-variable-type\n          var styles = {\n            transition: (0, _domManipulation.createTransitionString)(index, _this4.props),\n            transform: '',\n            opacity: ''\n          };\n\n          if (child.appearing && _this4.props.appearAnimation) {\n            styles = _extends({}, styles, _this4.props.appearAnimation.to);\n          } else if (child.entering && _this4.props.enterAnimation) {\n            styles = _extends({}, styles, _this4.props.enterAnimation.to);\n          } else if (child.leaving && _this4.props.leaveAnimation) {\n            styles = _extends({}, styles, _this4.props.leaveAnimation.to);\n          }\n\n          // In FLIP terminology, this is the 'Play' stage.\n          (0, _domManipulation.applyStylesToDOMNode)({ domNode: domNode, styles: styles });\n        });\n      });\n\n      this.bindTransitionEndHandler(child);\n    }\n  }, {\n    key: 'bindTransitionEndHandler',\n    value: function bindTransitionEndHandler(child) {\n      var _this5 = this;\n\n      var _getChildData3 = this.getChildData(getKey(child)),\n          domNode = _getChildData3.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // The onFinish callback needs to be bound to the transitionEnd event.\n      // We also need to unbind it when the transition completes, so this ugly\n      // inline function is required (we need it here so it closes over\n      // dependent variables `child` and `domNode`)\n      var transitionEndHandler = function transitionEndHandler(ev) {\n        // It's possible that this handler is fired not on our primary transition,\n        // but on a nested transition (eg. a hover effect). Ignore these cases.\n        if (ev.target !== domNode) return;\n\n        // Remove the 'transition' inline style we added. This is cleanup.\n        domNode.style.transition = '';\n\n        // Trigger any applicable onFinish/onFinishAll hooks\n        _this5.triggerFinishHooks(child, domNode);\n\n        domNode.removeEventListener(transitionEnd, transitionEndHandler);\n\n        if (child.leaving) {\n          _this5.removeChildData(getKey(child));\n        }\n      };\n\n      domNode.addEventListener(transitionEnd, transitionEndHandler);\n    }\n  }, {\n    key: 'triggerFinishHooks',\n    value: function triggerFinishHooks(child, domNode) {\n      var _this6 = this;\n\n      if (this.props.onFinish) this.props.onFinish(child, domNode);\n\n      // Reduce the number of children we need to animate by 1,\n      // so that we can tell when all children have finished.\n      this.remainingAnimations -= 1;\n\n      if (this.remainingAnimations === 0) {\n        // Remove any items from the DOM that have left, and reset `entering`.\n        var nextChildren = this.state.children.filter(function (_ref3) {\n          var leaving = _ref3.leaving;\n          return !leaving;\n        }).map(function (item) {\n          return _extends({}, item, {\n            appearing: false,\n            entering: false\n          });\n        });\n\n        this.setState({ children: nextChildren }, function () {\n          if (typeof _this6.props.onFinishAll === 'function') {\n            _this6.callChildrenHook(_this6.props.onFinishAll);\n          }\n\n          // Reset our variables for the next iteration\n          _this6.childrenToAnimate = [];\n        });\n\n        // If the placeholder was holding the container open while elements were\n        // leaving, we we can now set its height to zero.\n        if (this.heightPlaceholderData.domNode) {\n          this.heightPlaceholderData.domNode.style.height = '0';\n        }\n      }\n    }\n  }, {\n    key: 'callChildrenHook',\n    value: function callChildrenHook(hook) {\n      var _this7 = this;\n\n      var elements = [];\n      var domNodes = [];\n\n      this.childrenToAnimate.forEach(function (childKey) {\n        // If this was an exit animation, the child may no longer exist.\n        // If so, skip it.\n        var child = _this7.findChildByKey(childKey);\n\n        if (!child) {\n          return;\n        }\n\n        elements.push(child);\n\n        if (_this7.hasChildData(childKey)) {\n          domNodes.push(_this7.getChildData(childKey).domNode);\n        }\n      });\n\n      hook(elements, domNodes);\n    }\n  }, {\n    key: 'updateBoundingBoxCaches',\n    value: function updateBoundingBoxCaches() {\n      var _this8 = this;\n\n      // This is the ONLY place that parentData and childrenData's\n      // bounding boxes are updated. They will be calculated at other times\n      // to be compared to this value, but it's important that the cache is\n      // updated once per update.\n      var parentDomNode = this.parentData.domNode;\n\n      if (!parentDomNode) {\n        return;\n      }\n\n      this.parentData.boundingBox = this.props.getPosition(parentDomNode);\n\n      this.state.children.forEach(function (child) {\n        var childKey = getKey(child);\n\n        // It is possible that a child does not have a `key` property;\n        // Ignore these children, they don't need to be moved.\n        if (!childKey) {\n          return;\n        }\n\n        // In very rare circumstances, for reasons unknown, the ref is never\n        // populated for certain children. In this case, avoid doing this update.\n        // see: https://github.com/joshwcomeau/react-flip-move/pull/91\n        if (!_this8.hasChildData(childKey)) {\n          return;\n        }\n\n        var childData = _this8.getChildData(childKey);\n\n        // If the child element returns null, we need to avoid trying to\n        // account for it\n        if (!childData.domNode || !child) {\n          return;\n        }\n\n        _this8.setChildData(childKey, {\n          boundingBox: (0, _domManipulation.getRelativeBoundingBox)({\n            childDomNode: childData.domNode,\n            parentDomNode: parentDomNode,\n            getPosition: _this8.props.getPosition\n          })\n        });\n      });\n    }\n  }, {\n    key: 'computeInitialStyles',\n    value: function computeInitialStyles(child) {\n      if (child.appearing) {\n        return this.props.appearAnimation ? this.props.appearAnimation.from : {};\n      } else if (child.entering) {\n        if (!this.props.enterAnimation) {\n          return {};\n        }\n        // If this child was in the middle of leaving, it still has its\n        // absolute positioning styles applied. We need to undo those.\n        return _extends({\n          position: '',\n          top: '',\n          left: '',\n          right: '',\n          bottom: ''\n        }, this.props.enterAnimation.from);\n      } else if (child.leaving) {\n        return this.props.leaveAnimation ? this.props.leaveAnimation.from : {};\n      }\n\n      var childData = this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return {};\n      }\n\n      var _getPositionDelta3 = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: this.props.getPosition\n      }),\n          _getPositionDelta4 = _slicedToArray(_getPositionDelta3, 2),\n          dX = _getPositionDelta4[0],\n          dY = _getPositionDelta4[1];\n\n      return {\n        transform: 'translate(' + dX + 'px, ' + dY + 'px)'\n      };\n    }\n\n    // eslint-disable-next-line class-methods-use-this\n\n  }, {\n    key: 'isAnimationDisabled',\n    value: function isAnimationDisabled(props) {\n      // If the component is explicitly passed a `disableAllAnimations` flag,\n      // we can skip this whole process. Similarly, if all of the numbers have\n      // been set to 0, there is no point in trying to animate; doing so would\n      // only cause a flicker (and the intent is probably to disable animations)\n      // We can also skip this rigamarole if there's no browser support for it.\n      return noBrowserSupport || props.disableAllAnimations || props.duration === 0 && props.delay === 0 && props.staggerDurationBy === 0 && props.staggerDelayBy === 0;\n    }\n  }, {\n    key: 'findChildByKey',\n    value: function findChildByKey(key) {\n      return this.state.children.find(function (child) {\n        return getKey(child) === key;\n      });\n    }\n  }, {\n    key: 'hasChildData',\n    value: function hasChildData(key) {\n      // Object has some built-in properties on its prototype, such as toString.  hasOwnProperty makes\n      // sure that key is present on childrenData itself, not on its prototype.\n      return Object.prototype.hasOwnProperty.call(this.childrenData, key);\n    }\n  }, {\n    key: 'getChildData',\n    value: function getChildData(key) {\n      return this.hasChildData(key) ? this.childrenData[key] : {};\n    }\n  }, {\n    key: 'setChildData',\n    value: function setChildData(key, data) {\n      this.childrenData[key] = _extends({}, this.getChildData(key), data);\n    }\n  }, {\n    key: 'removeChildData',\n    value: function removeChildData(key) {\n      delete this.childrenData[key];\n    }\n  }, {\n    key: 'createHeightPlaceholder',\n    value: function createHeightPlaceholder() {\n      var _this9 = this;\n\n      var typeName = this.props.typeName;\n\n      // If requested, create an invisible element at the end of the list.\n      // Its height will be modified to prevent the container from collapsing\n      // prematurely.\n\n      var isContainerAList = typeName === 'ul' || typeName === 'ol';\n      var placeholderType = isContainerAList ? 'li' : 'div';\n\n      return _react2.default.createElement(placeholderType, {\n        key: 'height-placeholder',\n        ref: function ref(domNode) {\n          _this9.heightPlaceholderData.domNode = domNode;\n        },\n        style: { visibility: 'hidden', height: 0 }\n      });\n    }\n  }, {\n    key: 'childrenWithRefs',\n    value: function childrenWithRefs() {\n      var _this10 = this;\n\n      // We need to clone the provided children, capturing a reference to the\n      // underlying DOM node. Flip Move needs to use the React escape hatches to\n      // be able to do its calculations.\n      return this.state.children.map(function (child) {\n        return _react2.default.cloneElement(child.element, {\n          ref: function ref(element) {\n            // Stateless Functional Components are not supported by FlipMove,\n            // because they don't have instances.\n            if (!element) {\n              return;\n            }\n\n            var domNode = (0, _domManipulation.getNativeNode)(element);\n            _this10.setChildData(getKey(child), { domNode: domNode });\n          }\n        });\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this11 = this;\n\n      var _props2 = this.props,\n          typeName = _props2.typeName,\n          delegated = _props2.delegated,\n          leaveAnimation = _props2.leaveAnimation,\n          maintainContainerHeight = _props2.maintainContainerHeight;\n\n\n      var props = _extends({}, delegated, {\n        ref: function ref(node) {\n          _this11.parentData.domNode = node;\n        }\n      });\n\n      var children = this.childrenWithRefs();\n      if (leaveAnimation && maintainContainerHeight) {\n        children.push(this.createHeightPlaceholder());\n      }\n\n      return _react2.default.createElement(typeName, props, children);\n    }\n  }]);\n\n  return FlipMove;\n}(_react.Component);\n\nexports.default = (0, _propConverter2.default)(FlipMove);\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/FlipMove.js\n// module id = 144\n// module chunks = 0","'use strict';\n\n// @noflow\n/**\n * React Flip Move - Polyfills\n * (c) 2016-present Joshua Comeau\n */\n\n/* eslint-disable */\n\nif (!Array.prototype.find) {\n  Array.prototype.find = function (predicate) {\n    if (this === null) {\n      throw new TypeError('Array.prototype.find called on null or undefined');\n    }\n    if (typeof predicate !== 'function') {\n      throw new TypeError('predicate must be a function');\n    }\n    var list = Object(this);\n    var length = list.length >>> 0;\n    var thisArg = arguments[1];\n    var value = void 0;\n\n    for (var i = 0; i < length; i++) {\n      value = list[i];\n      if (predicate.call(thisArg, value, i, list)) {\n        return value;\n      }\n    }\n    return undefined;\n  };\n}\n\nif (!Array.prototype.every) {\n  Array.prototype.every = function (callbackfn, thisArg) {\n    'use strict';\n\n    var T, k;\n\n    if (this == null) {\n      throw new TypeError('this is null or not defined');\n    }\n\n    var O = Object(this);\n    var len = O.length >>> 0;\n\n    if (typeof callbackfn !== 'function') {\n      throw new TypeError();\n    }\n\n    if (arguments.length > 1) {\n      T = thisArg;\n    }\n\n    k = 0;\n\n    while (k < len) {\n\n      var kValue;\n\n      if (k in O) {\n        kValue = O[k];\n\n        var testResult = callbackfn.call(T, kValue, k, O);\n\n        if (!testResult) {\n          return false;\n        }\n      }\n      k++;\n    }\n    return true;\n  };\n}\n\nif (!Array.isArray) {\n  Array.isArray = function (arg) {\n    return Object.prototype.toString.call(arg) === '[object Array]';\n  };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/polyfills.js\n// module id = 145\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _errorMessages = require('./error-messages');\n\nvar _enterLeavePresets = require('./enter-leave-presets');\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move | propConverter\n * (c) 2016-present Joshua Comeau\n *\n * Abstracted away a bunch of the messy business with props.\n *   - props flow types and defaultProps\n *   - Type conversion (We accept 'string' and 'number' values for duration,\n *     delay, and other fields, but we actually need them to be ints.)\n *   - Children conversion (we need the children to be an array. May not always\n *     be, if a single child is passed in.)\n *   - Resolving animation presets into their base CSS styles\n */\n/* eslint-disable block-scoped-var */\n\nvar nodeEnv = void 0;\ntry {\n  nodeEnv = process.env.NODE_ENV;\n} catch (e) {\n  nodeEnv = 'development';\n}\n\nfunction propConverter(ComposedComponent) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    _inherits(FlipMovePropConverter, _Component);\n\n    function FlipMovePropConverter() {\n      _classCallCheck(this, FlipMovePropConverter);\n\n      return _possibleConstructorReturn(this, (FlipMovePropConverter.__proto__ || Object.getPrototypeOf(FlipMovePropConverter)).apply(this, arguments));\n    }\n\n    _createClass(FlipMovePropConverter, [{\n      key: 'checkForStatelessFunctionalComponents',\n\n\n      // eslint-disable-next-line class-methods-use-this\n      value: function checkForStatelessFunctionalComponents(children) {\n        // Skip all console warnings in production.\n        // Bail early, to avoid unnecessary work.\n        if (nodeEnv === 'production') {\n          return;\n        }\n\n        // FlipMove does not support stateless functional components.\n        // Check to see if any supplied components won't work.\n        // If the child doesn't have a key, it means we aren't animating it.\n        // It's allowed to be an SFC, since we ignore it.\n        var childArray = _react.Children.toArray(children);\n        var noStateless = childArray.every(function (child) {\n          return !(0, _helpers.isElementAnSFC)(child) || typeof child.key === 'undefined';\n        });\n\n        if (!noStateless) {\n          (0, _errorMessages.statelessFunctionalComponentSupplied)();\n        }\n      }\n    }, {\n      key: 'convertProps',\n      value: function convertProps(props) {\n        var workingProps = {\n          // explicitly bypass the props that don't need conversion\n          children: props.children,\n          easing: props.easing,\n          onStart: props.onStart,\n          onFinish: props.onFinish,\n          onStartAll: props.onStartAll,\n          onFinishAll: props.onFinishAll,\n          typeName: props.typeName,\n          disableAllAnimations: props.disableAllAnimations,\n          getPosition: props.getPosition,\n          maintainContainerHeight: props.maintainContainerHeight,\n          verticalAlignment: props.verticalAlignment,\n\n          // Do string-to-int conversion for all timing-related props\n          duration: this.convertTimingProp('duration'),\n          delay: this.convertTimingProp('delay'),\n          staggerDurationBy: this.convertTimingProp('staggerDurationBy'),\n          staggerDelayBy: this.convertTimingProp('staggerDelayBy'),\n\n          // Our enter/leave animations can be specified as boolean (default or\n          // disabled), string (preset name), or object (actual animation values).\n          // Let's standardize this so that they're always objects\n          appearAnimation: this.convertAnimationProp(props.appearAnimation, _enterLeavePresets.appearPresets),\n          enterAnimation: this.convertAnimationProp(props.enterAnimation, _enterLeavePresets.enterPresets),\n          leaveAnimation: this.convertAnimationProp(props.leaveAnimation, _enterLeavePresets.leavePresets),\n\n          delegated: {}\n        };\n\n        this.checkForStatelessFunctionalComponents(workingProps.children);\n\n        // Accept `disableAnimations`, but add a deprecation warning\n        if (typeof props.disableAnimations !== 'undefined') {\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.deprecatedDisableAnimations)();\n          }\n\n          workingProps.disableAllAnimations = props.disableAnimations;\n        }\n\n        // Gather any additional props;\n        // they will be delegated to the ReactElement created.\n        var primaryPropKeys = Object.keys(workingProps);\n        var delegatedProps = (0, _helpers.omit)(this.props, primaryPropKeys);\n\n        // The FlipMove container element needs to have a non-static position.\n        // We use `relative` by default, but it can be overridden by the user.\n        // Now that we're delegating props, we need to merge this in.\n        delegatedProps.style = _extends({\n          position: 'relative'\n        }, delegatedProps.style);\n\n        workingProps.delegated = delegatedProps;\n\n        return workingProps;\n      }\n    }, {\n      key: 'convertTimingProp',\n      value: function convertTimingProp(prop) {\n        var rawValue = this.props[prop];\n\n        var value = typeof rawValue === 'number' ? rawValue : parseInt(rawValue, 10);\n\n        if (isNaN(value)) {\n          var defaultValue = FlipMovePropConverter.defaultProps[prop];\n\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.invalidTypeForTimingProp)({\n              prop: prop,\n              value: rawValue,\n              defaultValue: defaultValue\n            });\n          }\n\n          return defaultValue;\n        }\n\n        return value;\n      }\n\n      // eslint-disable-next-line class-methods-use-this\n\n    }, {\n      key: 'convertAnimationProp',\n      value: function convertAnimationProp(animation, presets) {\n        switch (typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) {\n          case 'boolean':\n            {\n              // If it's true, we want to use the default preset.\n              // If it's false, we want to use the 'none' preset.\n              return presets[animation ? _enterLeavePresets.defaultPreset : _enterLeavePresets.disablePreset];\n            }\n\n          case 'string':\n            {\n              var presetKeys = Object.keys(presets);\n\n              if (presetKeys.indexOf(animation) === -1) {\n                if (nodeEnv !== 'production') {\n                  (0, _errorMessages.invalidEnterLeavePreset)({\n                    value: animation,\n                    acceptableValues: presetKeys.join(', '),\n                    defaultValue: _enterLeavePresets.defaultPreset\n                  });\n                }\n\n                return presets[_enterLeavePresets.defaultPreset];\n              }\n\n              return presets[animation];\n            }\n\n          default:\n            {\n              return animation;\n            }\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        return _react2.default.createElement(ComposedComponent, this.convertProps(this.props));\n      }\n    }]);\n\n    return FlipMovePropConverter;\n  }(_react.Component), _class.defaultProps = {\n    easing: 'ease-in-out',\n    duration: 350,\n    delay: 0,\n    staggerDurationBy: 0,\n    staggerDelayBy: 0,\n    typeName: 'div',\n    enterAnimation: _enterLeavePresets.defaultPreset,\n    leaveAnimation: _enterLeavePresets.defaultPreset,\n    disableAllAnimations: false,\n    getPosition: function getPosition(node) {\n      return node.getBoundingClientRect();\n    },\n    maintainContainerHeight: false,\n    verticalAlignment: 'top'\n  }, _temp;\n}\n\nexports.default = propConverter;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/prop-converter.js\n// module id = 146\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\n\nfunction warnOnce(msg) {\n  var hasWarned = false;\n  return function () {\n    if (!hasWarned) {\n      console.warn(msg);\n      hasWarned = true;\n    }\n  };\n}\nvar statelessFunctionalComponentSupplied = exports.statelessFunctionalComponentSupplied = warnOnce('\\n>> Error, via react-flip-move <<\\n\\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren\\'t supported, because Flip Move needs access to the backing instances via refs, and SFCs don\\'t have a public instance that holds that info.\\n\\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\\n');\n\nvar invalidTypeForTimingProp = exports.invalidTypeForTimingProp = function invalidTypeForTimingProp(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe prop you provided for \\'' + args.prop + '\\' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is \\'' + args.value + '\\'.\\n\\nAs a result,  the default value for this parameter will be used, which is \\'' + args.defaultValue + '\\'.\\n');\n};\n\nvar deprecatedDisableAnimations = exports.deprecatedDisableAnimations = warnOnce('\\n>> Warning, via react-flip-move <<\\n\\nThe \\'disableAnimations\\' prop you provided is deprecated. Please switch to use \\'disableAllAnimations\\'.\\n\\nThis will become a silent error in future versions of react-flip-move.\\n');\n\nvar invalidEnterLeavePreset = exports.invalidEnterLeavePreset = function invalidEnterLeavePreset(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe enter/leave preset you provided is invalid. We don\\'t currently have a \\'' + args.value + ' preset.\\'\\n\\nAcceptable values are ' + args.acceptableValues + '. The default value of \\'' + args.defaultValue + '\\' will be used.\\n');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/error-messages.js\n// module id = 147\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar enterPresets = exports.enterPresets = {\n  elevator: {\n    from: { transform: 'scale(0)', opacity: '0' },\n    to: { transform: '', opacity: '' }\n  },\n  fade: {\n    from: { opacity: '0' },\n    to: { opacity: '' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(0)', transformOrigin: 'center top' },\n    to: { transform: '', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(0)', transformOrigin: 'left center' },\n    to: { transform: '', transformOrigin: 'left center' }\n  },\n  none: null\n};\n/**\n * React Flip Move | enterLeavePresets\n * (c) 2016-present Joshua Comeau\n *\n * This contains the master list of presets available for enter/leave animations,\n * along with the mapping between preset and styles.\n */\nvar leavePresets = exports.leavePresets = {\n  elevator: {\n    from: { transform: 'scale(1)', opacity: '1' },\n    to: { transform: 'scale(0)', opacity: '0' }\n  },\n  fade: {\n    from: { opacity: '1' },\n    to: { opacity: '0' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(1)', transformOrigin: 'center top' },\n    to: { transform: 'scaleY(0)', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(1)', transformOrigin: 'left center' },\n    to: { transform: 'scaleX(0)', transformOrigin: 'left center' }\n  },\n  none: null\n};\n\n// For now, appearPresets will be identical to enterPresets.\n// Assigning a custom export in case we ever want to add appear-specific ones.\nvar appearPresets = exports.appearPresets = enterPresets;\n\n// Embarrassingly enough, v2.0 launched with typo'ed preset names.\n// To avoid penning a new major version over something so inconsequential,\n// we're supporting both spellings. In a future version, these alternatives\n// may be deprecated.\n// $FlowFixMe\nenterPresets.accordianVertical = enterPresets.accordionVertical;\n// $FlowFixMe\nenterPresets.accordianHorizontal = enterPresets.accordionHorizontal;\n// $FlowFixMe\nleavePresets.accordianVertical = leavePresets.accordionVertical;\n// $FlowFixMe\nleavePresets.accordianHorizontal = leavePresets.accordionHorizontal;\n\nvar defaultPreset = exports.defaultPreset = 'elevator';\nvar disablePreset = exports.disablePreset = 'none';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/enter-leave-presets.js\n// module id = 148\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createTransitionString = exports.getNativeNode = exports.updateHeightPlaceholder = exports.removeNodeFromDOMFlow = exports.getPositionDelta = exports.getRelativeBoundingBox = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * These methods read from and write to the DOM.\n * They almost always have side effects, and will hopefully become the\n * only spot in the codebase with impure functions.\n */\n\n\nexports.applyStylesToDOMNode = applyStylesToDOMNode;\nexports.whichTransitionEvent = whichTransitionEvent;\n\nvar _reactDom = require('react-dom');\n\nvar _helpers = require('./helpers');\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 applyStylesToDOMNode(_ref) {\n  var domNode = _ref.domNode,\n      styles = _ref.styles;\n\n  // Can't just do an object merge because domNode.styles is no regular object.\n  // Need to do it this way for the engine to fire its `set` listeners.\n  Object.keys(styles).forEach(function (key) {\n    domNode.style.setProperty((0, _helpers.hyphenate)(key), styles[key]);\n  });\n}\n\n// Modified from Modernizr\nfunction whichTransitionEvent() {\n  var transitions = {\n    transition: 'transitionend',\n    '-o-transition': 'oTransitionEnd',\n    '-moz-transition': 'transitionend',\n    '-webkit-transition': 'webkitTransitionEnd'\n  };\n\n  // If we're running in a browserless environment (eg. SSR), it doesn't apply.\n  // Return a placeholder string, for consistent type return.\n  if (typeof document === 'undefined') return '';\n\n  var el = document.createElement('fakeelement');\n\n  var match = Object.keys(transitions).find(function (t) {\n    return el.style.getPropertyValue(t) !== undefined;\n  });\n\n  // If no `transition` is found, we must be running in a browser so ancient,\n  // React itself won't run. Return an empty string, for consistent type return\n  return match ? transitions[match] : '';\n}\n\nvar getRelativeBoundingBox = exports.getRelativeBoundingBox = function getRelativeBoundingBox(_ref2) {\n  var childDomNode = _ref2.childDomNode,\n      parentDomNode = _ref2.parentDomNode,\n      getPosition = _ref2.getPosition;\n\n  var parentBox = getPosition(parentDomNode);\n\n  var _getPosition = getPosition(childDomNode),\n      top = _getPosition.top,\n      left = _getPosition.left,\n      right = _getPosition.right,\n      bottom = _getPosition.bottom,\n      width = _getPosition.width,\n      height = _getPosition.height;\n\n  return {\n    top: top - parentBox.top,\n    left: left - parentBox.left,\n    right: parentBox.right - right,\n    bottom: parentBox.bottom - bottom,\n    width: width,\n    height: height\n  };\n};\n\n/** getPositionDelta\n * This method returns the delta between two bounding boxes, to figure out\n * how many pixels on each axis the element has moved.\n *\n */\nvar getPositionDelta = exports.getPositionDelta = function getPositionDelta(_ref3) {\n  var childDomNode = _ref3.childDomNode,\n      childBoundingBox = _ref3.childBoundingBox,\n      parentBoundingBox = _ref3.parentBoundingBox,\n      getPosition = _ref3.getPosition;\n\n  // TEMP: A mystery bug is sometimes causing unnecessary boundingBoxes to\n  var defaultBox = { top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 };\n\n  // Our old box is its last calculated position, derived on mount or at the\n  // start of the previous animation.\n  var oldRelativeBox = childBoundingBox || defaultBox;\n  var parentBox = parentBoundingBox || defaultBox;\n\n  // Our new box is the new final resting place: Where we expect it to wind up\n  // after the animation. First we get the box in absolute terms (AKA relative\n  // to the viewport), and then we calculate its relative box (relative to the\n  // parent container)\n  var newAbsoluteBox = getPosition(childDomNode);\n  var newRelativeBox = {\n    top: newAbsoluteBox.top - parentBox.top,\n    left: newAbsoluteBox.left - parentBox.left\n  };\n\n  return [oldRelativeBox.left - newRelativeBox.left, oldRelativeBox.top - newRelativeBox.top];\n};\n\n/** removeNodeFromDOMFlow\n * This method does something very sneaky: it removes a DOM node from the\n * document flow, but without actually changing its on-screen position.\n *\n * It works by calculating where the node is, and then applying styles\n * so that it winds up being positioned absolutely, but in exactly the\n * same place.\n *\n * This is a vital part of the FLIP technique.\n */\nvar removeNodeFromDOMFlow = exports.removeNodeFromDOMFlow = function removeNodeFromDOMFlow(childData, verticalAlignment) {\n  var domNode = childData.domNode,\n      boundingBox = childData.boundingBox;\n\n\n  if (!domNode || !boundingBox) {\n    return;\n  }\n\n  // For this to work, we have to offset any given `margin`.\n  var computed = window.getComputedStyle(domNode);\n\n  // We need to clean up margins, by converting and removing suffix:\n  // eg. '21px' -> 21\n  var marginAttrs = ['margin-top', 'margin-left', 'margin-right'];\n  var margins = marginAttrs.reduce(function (acc, margin) {\n    var propertyVal = computed.getPropertyValue(margin);\n\n    return _extends({}, acc, _defineProperty({}, margin, Number(propertyVal.replace('px', ''))));\n  }, {});\n\n  // If we're bottom-aligned, we need to add the height of the child to its\n  // top offset. This is because, when the container is bottom-aligned, its\n  // height shrinks from the top, not the bottom. We're removing this node\n  // from the flow, so the top is going to drop by its height.\n  var topOffset = verticalAlignment === 'bottom' ? boundingBox.top - boundingBox.height : boundingBox.top;\n\n  var styles = {\n    position: 'absolute',\n    top: topOffset - margins['margin-top'] + 'px',\n    left: boundingBox.left - margins['margin-left'] + 'px',\n    right: boundingBox.right - margins['margin-right'] + 'px'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\n/** updateHeightPlaceholder\n * An optional property to FlipMove is a `maintainContainerHeight` boolean.\n * This property creates a node that fills space, so that the parent\n * container doesn't collapse when its children are removed from the\n * document flow.\n */\nvar updateHeightPlaceholder = exports.updateHeightPlaceholder = function updateHeightPlaceholder(_ref4) {\n  var domNode = _ref4.domNode,\n      parentData = _ref4.parentData,\n      getPosition = _ref4.getPosition;\n\n  var parentDomNode = parentData.domNode;\n  var parentBoundingBox = parentData.boundingBox;\n\n  if (!parentDomNode || !parentBoundingBox) {\n    return;\n  }\n\n  // We need to find the height of the container *without* the placeholder.\n  // Since it's possible that the placeholder might already be present,\n  // we first set its height to 0.\n  // This allows the container to collapse down to the size of just its\n  // content (plus container padding or borders if any).\n  applyStylesToDOMNode({ domNode: domNode, styles: { height: '0' } });\n\n  // Find the distance by which the container would be collapsed by elements\n  // leaving. We compare the freshly-available parent height with the original,\n  // cached container height.\n  var originalParentHeight = parentBoundingBox.height;\n  var collapsedParentHeight = getPosition(parentDomNode).height;\n  var reductionInHeight = originalParentHeight - collapsedParentHeight;\n\n  // If the container has become shorter, update the padding element's\n  // height to take up the difference. Otherwise set its height to zero,\n  // so that it has no effect.\n  var styles = {\n    height: reductionInHeight > 0 ? reductionInHeight + 'px' : '0'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\nvar getNativeNode = exports.getNativeNode = function getNativeNode(element) {\n  // When running in a windowless environment, abort!\n  if (typeof HTMLElement === 'undefined') {\n    return null;\n  }\n\n  // `element` may already be a native node.\n  if (element instanceof HTMLElement) {\n    return element;\n  }\n\n  // While ReactDOM's `findDOMNode` is discouraged, it's the only\n  // publicly-exposed way to find the underlying DOM node for\n  // composite components.\n  var foundNode = (0, _reactDom.findDOMNode)(element);\n\n  if (!(foundNode instanceof HTMLElement)) {\n    // Text nodes are not supported\n    return null;\n  }\n\n  return foundNode;\n};\n\nvar createTransitionString = exports.createTransitionString = function createTransitionString(index, props) {\n  var delay = props.delay,\n      duration = props.duration;\n  var staggerDurationBy = props.staggerDurationBy,\n      staggerDelayBy = props.staggerDelayBy,\n      easing = props.easing;\n\n\n  delay += index * staggerDelayBy;\n  duration += index * staggerDurationBy;\n\n  var cssProperties = ['transform', 'opacity'];\n\n  return cssProperties.map(function (prop) {\n    return prop + ' ' + duration + 'ms ' + easing + ' ' + delay + 'ms';\n  }).join(', ');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/dom-manipulation.js\n// module id = 149\n// module chunks = 0","/*!\n\tAutosize 3.0.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/autosize\n*/\n(function (global, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(['exports', 'module'], factory);\n\t} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n\t\tfactory(exports, module);\n\t} else {\n\t\tvar mod = {\n\t\t\texports: {}\n\t\t};\n\t\tfactory(mod.exports, mod);\n\t\tglobal.autosize = mod.exports;\n\t}\n})(this, function (exports, module) {\n\t'use strict';\n\n\tvar map = typeof Map === \"function\" ? new Map() : (function () {\n\t\tvar keys = [];\n\t\tvar values = [];\n\n\t\treturn {\n\t\t\thas: function has(key) {\n\t\t\t\treturn keys.indexOf(key) > -1;\n\t\t\t},\n\t\t\tget: function get(key) {\n\t\t\t\treturn values[keys.indexOf(key)];\n\t\t\t},\n\t\t\tset: function set(key, value) {\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\tvalues.push(value);\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function _delete(key) {\n\t\t\t\tvar index = keys.indexOf(key);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tkeys.splice(index, 1);\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tvar createEvent = function createEvent(name) {\n\t\treturn new Event(name, { bubbles: true });\n\t};\n\ttry {\n\t\tnew Event('test');\n\t} catch (e) {\n\t\t// IE does not support `new Event()`\n\t\tcreateEvent = function (name) {\n\t\t\tvar evt = document.createEvent('Event');\n\t\t\tevt.initEvent(name, true, false);\n\t\t\treturn evt;\n\t\t};\n\t}\n\n\tfunction assign(ta) {\n\t\tif (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;\n\n\t\tvar heightOffset = null;\n\t\tvar clientWidth = ta.clientWidth;\n\t\tvar cachedHeight = null;\n\n\t\tfunction init() {\n\t\t\tvar style = window.getComputedStyle(ta, null);\n\n\t\t\tif (style.resize === 'vertical') {\n\t\t\t\tta.style.resize = 'none';\n\t\t\t} else if (style.resize === 'both') {\n\t\t\t\tta.style.resize = 'horizontal';\n\t\t\t}\n\n\t\t\tif (style.boxSizing === 'content-box') {\n\t\t\t\theightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n\t\t\t} else {\n\t\t\t\theightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\t\t\t}\n\t\t\t// Fix when a textarea is not on document body and heightOffset is Not a Number\n\t\t\tif (isNaN(heightOffset)) {\n\t\t\t\theightOffset = 0;\n\t\t\t}\n\n\t\t\tupdate();\n\t\t}\n\n\t\tfunction changeOverflow(value) {\n\t\t\t{\n\t\t\t\t// Chrome/Safari-specific fix:\n\t\t\t\t// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space\n\t\t\t\t// made available by removing the scrollbar. The following forces the necessary text reflow.\n\t\t\t\tvar width = ta.style.width;\n\t\t\t\tta.style.width = '0px';\n\t\t\t\t// Force reflow:\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tta.offsetWidth;\n\t\t\t\t/* jshint ignore:end */\n\t\t\t\tta.style.width = width;\n\t\t\t}\n\n\t\t\tta.style.overflowY = value;\n\t\t}\n\n\t\tfunction getParentOverflows(el) {\n\t\t\tvar arr = [];\n\n\t\t\twhile (el && el.parentNode && el.parentNode instanceof Element) {\n\t\t\t\tif (el.parentNode.scrollTop) {\n\t\t\t\t\tarr.push({\n\t\t\t\t\t\tnode: el.parentNode,\n\t\t\t\t\t\tscrollTop: el.parentNode.scrollTop\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tel = el.parentNode;\n\t\t\t}\n\n\t\t\treturn arr;\n\t\t}\n\n\t\tfunction resize() {\n\t\t\tvar originalHeight = ta.style.height;\n\t\t\tvar overflows = getParentOverflows(ta);\n\t\t\tvar docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)\n\n\t\t\tta.style.height = 'auto';\n\n\t\t\tvar endHeight = ta.scrollHeight + heightOffset;\n\n\t\t\tif (ta.scrollHeight === 0) {\n\t\t\t\t// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.\n\t\t\t\tta.style.height = originalHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tta.style.height = endHeight + 'px';\n\n\t\t\t// used to check if an update is actually necessary on window.resize\n\t\t\tclientWidth = ta.clientWidth;\n\n\t\t\t// prevents scroll-position jumping\n\t\t\toverflows.forEach(function (el) {\n\t\t\t\tel.node.scrollTop = el.scrollTop;\n\t\t\t});\n\n\t\t\tif (docTop) {\n\t\t\t\tdocument.documentElement.scrollTop = docTop;\n\t\t\t}\n\t\t}\n\n\t\tfunction update() {\n\t\t\tresize();\n\n\t\t\tvar styleHeight = Math.round(parseFloat(ta.style.height));\n\t\t\tvar computed = window.getComputedStyle(ta, null);\n\n\t\t\t// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box\n\t\t\tvar actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;\n\n\t\t\t// The actual height not matching the style height (set via the resize method) indicates that\n\t\t\t// the max-height has been exceeded, in which case the overflow should be allowed.\n\t\t\tif (actualHeight !== styleHeight) {\n\t\t\t\tif (computed.overflowY === 'hidden') {\n\t\t\t\t\tchangeOverflow('scroll');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.\n\t\t\t\tif (computed.overflowY !== 'hidden') {\n\t\t\t\t\tchangeOverflow('hidden');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (cachedHeight !== actualHeight) {\n\t\t\t\tcachedHeight = actualHeight;\n\t\t\t\tvar evt = createEvent('autosize:resized');\n\t\t\t\ttry {\n\t\t\t\t\tta.dispatchEvent(evt);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Firefox will throw an error on dispatchEvent for a detached element\n\t\t\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=889376\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar pageResize = function pageResize() {\n\t\t\tif (ta.clientWidth !== clientWidth) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t};\n\n\t\tvar destroy = (function (style) {\n\t\t\twindow.removeEventListener('resize', pageResize, false);\n\t\t\tta.removeEventListener('input', update, false);\n\t\t\tta.removeEventListener('keyup', update, false);\n\t\t\tta.removeEventListener('autosize:destroy', destroy, false);\n\t\t\tta.removeEventListener('autosize:update', update, false);\n\n\t\t\tObject.keys(style).forEach(function (key) {\n\t\t\t\tta.style[key] = style[key];\n\t\t\t});\n\n\t\t\tmap['delete'](ta);\n\t\t}).bind(ta, {\n\t\t\theight: ta.style.height,\n\t\t\tresize: ta.style.resize,\n\t\t\toverflowY: ta.style.overflowY,\n\t\t\toverflowX: ta.style.overflowX,\n\t\t\twordWrap: ta.style.wordWrap\n\t\t});\n\n\t\tta.addEventListener('autosize:destroy', destroy, false);\n\n\t\t// IE9 does not fire onpropertychange or oninput for deletions,\n\t\t// so binding to onkeyup to catch most of those events.\n\t\t// There is no way that I know of to detect something like 'cut' in IE9.\n\t\tif ('onpropertychange' in ta && 'oninput' in ta) {\n\t\t\tta.addEventListener('keyup', update, false);\n\t\t}\n\n\t\twindow.addEventListener('resize', pageResize, false);\n\t\tta.addEventListener('input', update, false);\n\t\tta.addEventListener('autosize:update', update, false);\n\t\tta.style.overflowX = 'hidden';\n\t\tta.style.wordWrap = 'break-word';\n\n\t\tmap.set(ta, {\n\t\t\tdestroy: destroy,\n\t\t\tupdate: update\n\t\t});\n\n\t\tinit();\n\t}\n\n\tfunction destroy(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.destroy();\n\t\t}\n\t}\n\n\tfunction update(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.update();\n\t\t}\n\t}\n\n\tvar autosize = null;\n\n\t// Do nothing in Node.js environment and IE8 (or lower)\n\tif (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {\n\t\tautosize = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\treturn el;\n\t\t};\n\t} else {\n\t\tautosize = function (el, options) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], function (x) {\n\t\t\t\t\treturn assign(x, options);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], destroy);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], update);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t}\n\n\tmodule.exports = autosize;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/autosize/dist/autosize.js\n// module id = 150\n// module chunks = 0","import Polyglot from 'node-polyglot/build/polyglot'\nimport ZHCN from './zh-CN.json'\nimport ZHTW from './zh-TW.json'\nimport EN from './en.json'\nimport ES from './es-ES.json'\nimport FR from './fr.json'\nimport RU from './ru.json'\nimport DE from './de.json'\n\nconst i18nMap = {\n  'zh': ZHCN,\n  'zh-CN': ZHCN,\n  'zh-TW': ZHTW,\n  'en': EN,\n  'es-ES': ES,\n  'fr': FR,\n  'ru': RU,\n  'de': DE,\n}\n\nexport default function (language) {\n  return new Polyglot({\n    phrases: i18nMap[language] || i18nMap.en,\n    locale: language\n  })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./i18n/index.js","//     (c) 2012 Airbnb, Inc.\n//\n//     polyglot.js may be freely distributed under the terms of the BSD\n//     license. For all licensing information, details, and documention:\n//     http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n\n(function(root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    define([], function() {\n      return factory(root);\n    });\n  } else if (typeof exports === 'object') {\n    module.exports = factory(root);\n  } else {\n    root.Polyglot = factory(root);\n  }\n}(this, function(root) {\n  'use strict';\n\n  // ### Polyglot class constructor\n  function Polyglot(options) {\n    options = options || {};\n    this.phrases = {};\n    this.extend(options.phrases || {});\n    this.currentLocale = options.locale || 'en';\n    this.allowMissing = !!options.allowMissing;\n    this.warn = options.warn || warn;\n  }\n\n  // ### Version\n  Polyglot.VERSION = '0.4.3';\n\n  // ### polyglot.locale([locale])\n  //\n  // Get or set locale. Internally, Polyglot only uses locale for pluralization.\n  Polyglot.prototype.locale = function(newLocale) {\n    if (newLocale) this.currentLocale = newLocale;\n    return this.currentLocale;\n  };\n\n  // ### polyglot.extend(phrases)\n  //\n  // Use `extend` to tell Polyglot how to translate a given key.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     });\n  //\n  // The key can be any string.  Feel free to call `extend` multiple times;\n  // it will override any phrases with the same key, but leave existing phrases\n  // untouched.\n  //\n  // It is also possible to pass nested phrase objects, which get flattened\n  // into an object with the nested keys concatenated using dot notation.\n  //\n  //     polyglot.extend({\n  //       \"nav\": {\n  //         \"hello\": \"Hello\",\n  //         \"hello_name\": \"Hello, %{name}\",\n  //         \"sidebar\": {\n  //           \"welcome\": \"Welcome\"\n  //         }\n  //       }\n  //     });\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}',\n  //     //   'nav.sidebar.welcome': 'Welcome'\n  //     // }\n  //\n  // `extend` accepts an optional second argument, `prefix`, which can be used\n  // to prefix every key in the phrases object with some string, using dot\n  // notation.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     }, \"nav\");\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}'\n  //     // }\n  //\n  // This feature is used internally to support nested phrase objects.\n  Polyglot.prototype.extend = function(morePhrases, prefix) {\n    var phrase;\n\n    for (var key in morePhrases) {\n      if (morePhrases.hasOwnProperty(key)) {\n        phrase = morePhrases[key];\n        if (prefix) key = prefix + '.' + key;\n        if (typeof phrase === 'object') {\n          this.extend(phrase, key);\n        } else {\n          this.phrases[key] = phrase;\n        }\n      }\n    }\n  };\n\n  // ### polyglot.clear()\n  //\n  // Clears all phrases. Useful for special cases, such as freeing\n  // up memory if you have lots of phrases but no longer need to\n  // perform any translation. Also used internally by `replace`.\n  Polyglot.prototype.clear = function() {\n    this.phrases = {};\n  };\n\n  // ### polyglot.replace(phrases)\n  //\n  // Completely replace the existing phrases with a new set of phrases.\n  // Normally, just use `extend` to add more phrases, but under certain\n  // circumstances, you may want to make sure no old phrases are lying around.\n  Polyglot.prototype.replace = function(newPhrases) {\n    this.clear();\n    this.extend(newPhrases);\n  };\n\n\n  // ### polyglot.t(key, options)\n  //\n  // The most-used method. Provide a key, and `t` will return the\n  // phrase.\n  //\n  //     polyglot.t(\"hello\");\n  //     => \"Hello\"\n  //\n  // The phrase value is provided first by a call to `polyglot.extend()` or\n  // `polyglot.replace()`.\n  //\n  // Pass in an object as the second argument to perform interpolation.\n  //\n  //     polyglot.t(\"hello_name\", {name: \"Spike\"});\n  //     => \"Hello, Spike\"\n  //\n  // If you like, you can provide a default value in case the phrase is missing.\n  // Use the special option key \"_\" to specify a default.\n  //\n  //     polyglot.t(\"i_like_to_write_in_language\", {\n  //       _: \"I like to write in %{language}.\",\n  //       language: \"JavaScript\"\n  //     });\n  //     => \"I like to write in JavaScript.\"\n  //\n  Polyglot.prototype.t = function(key, options) {\n    var phrase, result;\n    options = options == null ? {} : options;\n    // allow number as a pluralization shortcut\n    if (typeof options === 'number') {\n      options = {smart_count: options};\n    }\n    if (typeof this.phrases[key] === 'string') {\n      phrase = this.phrases[key];\n    } else if (typeof options._ === 'string') {\n      phrase = options._;\n    } else if (this.allowMissing) {\n      phrase = key;\n    } else {\n      this.warn('Missing translation for key: \"'+key+'\"');\n      result = key;\n    }\n    if (typeof phrase === 'string') {\n      options = clone(options);\n      result = choosePluralForm(phrase, this.currentLocale, options.smart_count);\n      result = interpolate(result, options);\n    }\n    return result;\n  };\n\n\n  // ### polyglot.has(key)\n  //\n  // Check if polyglot has a translation for given key\n  Polyglot.prototype.has = function(key) {\n    return key in this.phrases;\n  };\n\n\n  // #### Pluralization methods\n  // The string that separates the different phrase possibilities.\n  var delimeter = '||||';\n\n  // Mapping from pluralization group plural logic.\n  var pluralTypes = {\n    chinese:   function(n) { return 0; },\n    german:    function(n) { return n !== 1 ? 1 : 0; },\n    french:    function(n) { return n > 1 ? 1 : 0; },\n    russian:   function(n) { return n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2; },\n    czech:     function(n) { return (n === 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2; },\n    polish:    function(n) { return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); },\n    icelandic: function(n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }\n  };\n\n  // Mapping from pluralization group to individual locales.\n  var pluralTypeToLanguages = {\n    chinese:   ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],\n    german:    ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],\n    french:    ['fr', 'tl', 'pt-br'],\n    russian:   ['hr', 'ru'],\n    czech:     ['cs'],\n    polish:    ['pl'],\n    icelandic: ['is']\n  };\n\n  function langToTypeMap(mapping) {\n    var type, langs, l, ret = {};\n    for (type in mapping) {\n      if (mapping.hasOwnProperty(type)) {\n        langs = mapping[type];\n        for (l in langs) {\n          ret[langs[l]] = type;\n        }\n      }\n    }\n    return ret;\n  }\n\n  // Trim a string.\n  function trim(str){\n    var trimRe = /^\\s+|\\s+$/g;\n    return str.replace(trimRe, '');\n  }\n\n  // Based on a phrase text that contains `n` plural forms separated\n  // by `delimeter`, a `locale`, and a `count`, choose the correct\n  // plural form, or none if `count` is `null`.\n  function choosePluralForm(text, locale, count){\n    var ret, texts, chosenText;\n    if (count != null && text) {\n      texts = text.split(delimeter);\n      chosenText = texts[pluralTypeIndex(locale, count)] || texts[0];\n      ret = trim(chosenText);\n    } else {\n      ret = text;\n    }\n    return ret;\n  }\n\n  function pluralTypeName(locale) {\n    var langToPluralType = langToTypeMap(pluralTypeToLanguages);\n    return langToPluralType[locale] || langToPluralType.en;\n  }\n\n  function pluralTypeIndex(locale, count) {\n    return pluralTypes[pluralTypeName(locale)](count);\n  }\n\n  // ### interpolate\n  //\n  // Does the dirty work. Creates a `RegExp` object for each\n  // interpolation placeholder.\n  function interpolate(phrase, options) {\n    for (var arg in options) {\n      if (arg !== '_' && options.hasOwnProperty(arg)) {\n        // We create a new `RegExp` each time instead of using a more-efficient\n        // string replace so that the same argument can be replaced multiple times\n        // in the same phrase.\n        phrase = phrase.replace(new RegExp('%\\\\{'+arg+'\\\\}', 'g'), options[arg]);\n      }\n    }\n    return phrase;\n  }\n\n  // ### warn\n  //\n  // Provides a warning in the console if a phrase key is missing.\n  function warn(message) {\n    root.console && root.console.warn && root.console.warn('WARNING: ' + message);\n  }\n\n  // ### clone\n  //\n  // Clone an object.\n  function clone(source) {\n    var ret = {};\n    for (var prop in source) {\n      ret[prop] = source[prop];\n    }\n    return ret;\n  }\n\n  return Polyglot;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/node-polyglot/build/polyglot.js\n// module id = 152\n// module chunks = 0","module.exports = {\"init\":\"Gitalk 加载中 ...\",\"no-found-related\":\"未找到相关的 %{link} 进行评论\",\"please-contact\":\"请联系 %{user} 初始化创建\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"说点什么\",\"preview\":\"预览\",\"edit\":\"编辑\",\"comment\":\"评论\",\"support-markdown\":\"支持 Markdown 语法\",\"login-with-github\":\"使用 GitHub 登录\",\"first-comment-person\":\"来做第一个留言的人吧！\",\"commented\":\"发表于\",\"load-more\":\"加载更多\",\"counts\":\"%{counts} 条评论\",\"sort-asc\":\"从旧到新排序\",\"sort-desc\":\"从新到旧排序\",\"logout\":\"注销\",\"anonymous\":\"未登录用户\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/zh-CN.json\n// module id = 153\n// module chunks = 0","module.exports = {\"init\":\"Gitalk 載入中…\",\"no-found-related\":\"未找到相關的 %{link}\",\"please-contact\":\"請聯絡 %{user} 初始化評論\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"寫點什麼\",\"preview\":\"預覽\",\"edit\":\"編輯\",\"comment\":\"評論\",\"support-markdown\":\"支援 Markdown 語法\",\"login-with-github\":\"使用 GitHub 登入\",\"first-comment-person\":\"成為首個留言的人吧！\",\"commented\":\"評論於\",\"load-more\":\"載入更多\",\"counts\":\"%{counts} 筆評論\",\"sort-asc\":\"從舊至新排序\",\"sort-desc\":\"從新至舊排序\",\"logout\":\"登出\",\"anonymous\":\"訪客\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/zh-TW.json\n// module id = 154\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Related %{link} not found\",\"please-contact\":\"Please contact %{user} to initialize the comment\",\"init-issue\":\"Init Issue\",\"leave-a-comment\":\"Leave a comment\",\"preview\":\"Preview\",\"edit\":\"Edit\",\"comment\":\"Comment\",\"support-markdown\":\"Markdown is supported\",\"login-with-github\":\"Login with GitHub\",\"first-comment-person\":\"Be the first person to leave a comment!\",\"commented\":\"commented\",\"load-more\":\"Load more\",\"counts\":\"%{counts} comment |||| %{counts} comments\",\"sort-asc\":\"Sort by Oldest\",\"sort-desc\":\"Sort by Latest\",\"logout\":\"Logout\",\"anonymous\":\"Anonymous\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/en.json\n// module id = 155\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Link %{link} no encontrado\",\"please-contact\":\"Por favor contacta con %{user} para inicializar el comentario\",\"init-issue\":\"Iniciar Issue\",\"leave-a-comment\":\"Deja un comentario\",\"preview\":\"Avance\",\"edit\":\"Editar\",\"comment\":\"Comentario\",\"support-markdown\":\"Markdown es soportado\",\"login-with-github\":\"Entrar con GitHub\",\"first-comment-person\":\"Sé el primero en dejar un comentario!\",\"commented\":\"comentó\",\"load-more\":\"Cargar más\",\"counts\":\"%{counts} comentario |||| %{counts} comentarios\",\"sort-asc\":\"Ordenar por Antiguos\",\"sort-desc\":\"Ordenar por Recientes\",\"logout\":\"Salir\",\"anonymous\":\"Anónimo\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/es-ES.json\n// module id = 156\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Lien %{link} non trouvé\",\"please-contact\":\"S’il vous plaît contactez %{user} pour initialiser les commentaires\",\"init-issue\":\"Initialisation des issues\",\"leave-a-comment\":\"Laisser un commentaire\",\"preview\":\"Aperçu\",\"edit\":\"Modifier\",\"comment\":\"Commentaire\",\"support-markdown\":\"Markdown est supporté\",\"login-with-github\":\"Se connecter avec GitHub\",\"first-comment-person\":\"Être le premier à laisser un commentaire !\",\"commented\":\"commenter\",\"load-more\":\"Charger plus\",\"counts\":\"%{counts} commentaire |||| %{counts} commentaires\",\"sort-asc\":\"Trier par plus ancien\",\"sort-desc\":\"Trier par plus récent\",\"logout\":\"Déconnexion\",\"anonymous\":\"Anonyme\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/fr.json\n// module id = 157\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Связанные %{link} не найдены\",\"please-contact\":\"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий\",\"init-issue\":\"Выпуск инициализации\",\"leave-a-comment\":\"Оставить комментарий\",\"preview\":\"Предварительный просмотр\",\"edit\":\"Pедактировать\",\"comment\":\"Комментарий\",\"support-markdown\":\"Поддерживается Markdown\",\"login-with-github\":\"Вход через GitHub\",\"first-comment-person\":\"Будьте первым, кто оставил комментарий\",\"commented\":\"прокомментированный\",\"load-more\":\"Загрузить ещё\",\"counts\":\"%{counts} комментарий |||| %{counts} комментарьев\",\"sort-asc\":\"Сортировать по старым\",\"sort-desc\":\"Сортировать по последним\",\"logout\":\"Выход\",\"anonymous\":\"Анонимный\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/ru.json\n// module id = 158\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Zugehöriger %{link} nicht gefunden\",\"please-contact\":\"Bitte kontaktiere %{user} um den Kommentar zu initialisieren\",\"init-issue\":\"Initialisiere Issue\",\"leave-a-comment\":\"Hinterlasse einen Kommentar\",\"preview\":\"Vorschau\",\"edit\":\"Editieren\",\"comment\":\"Kommentieren\",\"support-markdown\":\"Markdown wird unterstützt\",\"login-with-github\":\"Mit GitHub-Account anmelden\",\"first-comment-person\":\"Sei die erste Person, welche einen Kommentar hinterlässt!\",\"commented\":\"kommentierte\",\"load-more\":\"Zeige mehr\",\"counts\":\"%{counts} Kommentar |||| %{counts} Kommentare\",\"sort-asc\":\"Älteste zuerst\",\"sort-desc\":\"Neuste zuerst\",\"logout\":\"Abmelden\",\"anonymous\":\"Anonym\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/de.json\n// module id = 159\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./style/index.styl\n// module id = 160\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/keys.js\n// module id = 161\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/keys.js\n// module id = 162\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 163\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/slicedToArray.js\n// module id = 164\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/is-iterable.js\n// module id = 165\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/is-iterable.js\n// module id = 166\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.is-iterable.js\n// module id = 167\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/get-iterator.js\n// module id = 168\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/get-iterator.js\n// module id = 169\n// module chunks = 0","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.get-iterator.js\n// module id = 170\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/index.js\n// module id = 171\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/axios.js\n// module id = 172\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = arguments[1] || {};\n    config.url = arguments[0];\n  } else {\n    config = config || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  // Hook up interceptors middleware\n  var chain = [dispatchRequest, undefined];\n  var promise = Promise.resolve(config);\n\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    chain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  while (chain.length) {\n    promise = promise.then(chain.shift(), chain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/Axios.js\n// module id = 173\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/InterceptorManager.js\n// module id = 174\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData(\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData(\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData(\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/dispatchRequest.js\n// module id = 175\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn(data, headers);\n  });\n\n  return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/transformData.js\n// module id = 176\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 177\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/settle.js\n// module id = 178\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.toJSON = function() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code\n    };\n  };\n  return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/enhanceError.js\n// module id = 179\n// module chunks = 0","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/buildFullPath.js\n// module id = 180\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 181\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/combineURLs.js\n// module id = 182\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 183\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 184\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/cookies.js\n// module id = 185\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/CancelToken.js\n// module id = 186\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/spread.js\n// module id = 187\n// module chunks = 0","import React from 'react'\n\nexport default ({\n  className,\n  getRef,\n  onClick,\n  onMouseDown,\n  text,\n  isLoading\n}) => (\n  <button\n    ref={el => getRef && getRef(el)}\n    className={`gt-btn ${className}`}\n    onClick={onClick}\n    onMouseDown={onMouseDown}>\n    <span className=\"gt-btn-text\">{text}</span>\n    {\n      isLoading && <span className=\"gt-btn-loading gt-spinner\"></span>\n    }\n  </button>\n)\n\n\n\n\n// WEBPACK FOOTER //\n// ./component/button.jsx","import React from 'react'\n\nexport default ({ className, onClick, text }) => (\n  <a className={`gt-action ${className}`} onClick={onClick}>\n    <span className=\"gt-action-text\">{text}</span>\n  </a>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/action.jsx","import React, { Component } from 'react'\nimport Avatar from './avatar'\nimport Svg from './svg'\nimport distanceInWordsToNow from 'date-fns/distance_in_words_to_now'\nimport buildDistanceInWordsLocaleZHCN from 'date-fns/locale/zh_cn/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleZHTW from 'date-fns/locale/zh_tw/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleES from 'date-fns/locale/es/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleFR from 'date-fns/locale/fr/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleRU from 'date-fns/locale/ru/build_distance_in_words_locale/index'\nimport 'github-markdown-css/github-markdown.css'\n\nconst ZHCN = buildDistanceInWordsLocaleZHCN()\nconst ZHTW = buildDistanceInWordsLocaleZHTW()\nconst ES = buildDistanceInWordsLocaleES()\nconst FR = buildDistanceInWordsLocaleFR()\nconst RU = buildDistanceInWordsLocaleRU()\n\nif (typeof window !== `undefined`) {\n  window.GT_i18n_distanceInWordsLocaleMap = {\n    zh: ZHCN,\n    'zh-CN': ZHCN,\n    'zh-TW': ZHTW,\n    'es-ES': ES,\n    fr: FR,\n    ru: RU\n  }\n}\n\n\nexport default class Comment extends Component {\n  shouldComponentUpdate () {\n    return false\n  }\n\n  componentDidMount () {\n    const comment = this.node\n    const emailResponse = comment.querySelector('.email-hidden-toggle>a')\n    if (emailResponse) {\n      emailResponse.addEventListener('click', e => {\n        e.preventDefault()\n        comment.querySelector('.email-hidden-reply').classList.toggle('expanded')\n      }, true)\n    }\n  }\n\n  handleImageErrored(obj) {\n    obj.target.src=\"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n  }\n  render () {\n    const {\n      comment,\n      user,\n      language,\n      commentedText = '',\n      admin = [],\n      replyCallback,\n      likeCallback\n    } = this.props\n    const enableEdit = user && comment.user.login === user.login\n    const isAdmin = ~[]\n      .concat(admin)\n      .map(a => a.toLowerCase())\n      .indexOf(comment.user.login.toLowerCase())\n    const reactions = comment.reactions\n\n    let reactionTotalCount = ''\n    if (reactions && reactions.totalCount) {\n      reactionTotalCount = reactions.totalCount\n      if (\n        reactions.totalCount === 100 &&\n        reactions.pageInfo &&\n        reactions.pageInfo.hasNextPage\n      ) {\n        reactionTotalCount = '100+'\n      }\n    }\n\n    return (\n      <div ref={node => { this.node = node }} className={`gt-comment ${isAdmin ? 'gt-comment-admin' : ''}`}>\n        <Avatar\n          className=\"gt-comment-avatar\"\n          src={comment.user && comment.user.avatar_url}\n          alt={comment.user && comment.user.login}\n          onError={this.handleImageErrored.bind(this)} \n        />\n\n        <div className=\"gt-comment-content\">\n          <div className=\"gt-comment-header\">\n            <div className={`gt-comment-block-${user ? '2' : '1'}`} />\n            <a\n              className=\"gt-comment-username\"\n              href={comment.user && comment.user.html_url}\n            >\n              {comment.user && comment.user.login}\n            </a>\n            <span className=\"gt-comment-text\">{commentedText}</span>\n            <span className=\"gt-comment-date\">\n              {distanceInWordsToNow(comment.created_at, {\n                addSuffix: true,\n                locale: {\n                  distanceInWords:\n                    window.GT_i18n_distanceInWordsLocaleMap[language]\n                }\n              })}\n            </span>\n\n            {reactions && (\n              <a className=\"gt-comment-like\" title=\"Like\" onClick={likeCallback}>\n                {reactions.viewerHasReacted ? (\n                  <Svg\n                    className=\"gt-ico-heart\"\n                    name=\"heart_on\"\n                    text={reactionTotalCount}\n                  />\n                ) : (\n                  <Svg\n                    className=\"gt-ico-heart\"\n                    name=\"heart\"\n                    text={reactionTotalCount}\n                  />\n                )}\n              </a>\n            )}\n\n            {enableEdit ? (\n              <a\n                href={comment.html_url}\n                className=\"gt-comment-edit\"\n                title=\"Edit\"\n                target=\"_blank\"\n              >\n                <Svg className=\"gt-ico-edit\" name=\"edit\" />\n              </a>\n            ) : (\n              <a className=\"gt-comment-reply\" title=\"Reply\" onClick={replyCallback}>\n                <Svg className=\"gt-ico-reply\" name=\"reply\" />\n              </a>\n            )}\n          </div>\n          <div\n            className=\"gt-comment-body markdown-body\"\n            dangerouslySetInnerHTML={{\n              __html: comment.body_html\n            }}\n          />\n        </div>\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./component/comment.jsx","var map = {\n\t\"./arrow_down.svg\": 192,\n\t\"./edit.svg\": 193,\n\t\"./github.svg\": 194,\n\t\"./heart.svg\": 195,\n\t\"./heart_on.svg\": 196,\n\t\"./reply.svg\": 197,\n\t\"./tip.svg\": 198\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 191;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/icon !../node_modules/raw-loader ^\\.\\/.*\\.svg$\n// module id = 191\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"1619\\\"><path d=\\\"M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z\\\" p-id=\\\"1620\\\"></path></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/arrow_down.svg\n// module id = 192\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/edit.svg\n// module id = 193\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/github.svg\n// module id = 194\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/heart.svg\n// module id = 195\n// module chunks = 0","module.exports = \"<svg t=\\\"1512463363724\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/heart_on.svg\n// module id = 196\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1332 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/reply.svg\n// module id = 197\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z\\\"\\n    p-id=\\\"3083\\\"></path>\\n  <path d=\\\"M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z\\\"\\n    p-id=\\\"3084\\\"></path>\\n  <path d=\\\"M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z\\\"\\n    p-id=\\\"3085\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/tip.svg\n// module id = 198\n// module chunks = 0","var distanceInWords = require('../distance_in_words/index.js')\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @param {Date|String|Number} date - the given date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = distanceInWordsToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = distanceInWordsToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = distanceInWordsToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWordsToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWordsToNow (dirtyDate, dirtyOptions) {\n  return distanceInWords(Date.now(), dirtyDate, dirtyOptions)\n}\n\nmodule.exports = distanceInWordsToNow\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/distance_in_words_to_now/index.js\n// module id = 199\n// module chunks = 0","var compareDesc = require('../compare_desc/index.js')\nvar parse = require('../parse/index.js')\nvar differenceInSeconds = require('../difference_in_seconds/index.js')\nvar differenceInMonths = require('../difference_in_months/index.js')\nvar enLocale = require('../locale/en/index.js')\n\nvar MINUTES_IN_DAY = 1440\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520\nvar MINUTES_IN_MONTH = 43200\nvar MINUTES_IN_TWO_MONTHS = 86400\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Date|String|Number} date - the other date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * var result = distanceInWords(\n *   new Date(2014, 6, 2),\n *   new Date(2015, 0, 1)\n * )\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * var result = distanceInWords(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * var result = distanceInWords(\n *   new Date(2016, 0, 1),\n *   new Date(2015, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWords(\n *   new Date(2016, 7, 1),\n *   new Date(2015, 0, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWords (dirtyDateToCompare, dirtyDate, dirtyOptions) {\n  var options = dirtyOptions || {}\n\n  var comparison = compareDesc(dirtyDateToCompare, dirtyDate)\n\n  var locale = options.locale\n  var localize = enLocale.distanceInWords.localize\n  if (locale && locale.distanceInWords && locale.distanceInWords.localize) {\n    localize = locale.distanceInWords.localize\n  }\n\n  var localizeOptions = {\n    addSuffix: Boolean(options.addSuffix),\n    comparison: comparison\n  }\n\n  var dateLeft, dateRight\n  if (comparison > 0) {\n    dateLeft = parse(dirtyDateToCompare)\n    dateRight = parse(dirtyDate)\n  } else {\n    dateLeft = parse(dirtyDate)\n    dateRight = parse(dirtyDateToCompare)\n  }\n\n  var seconds = differenceInSeconds(dateRight, dateLeft)\n  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()\n  var minutes = Math.round(seconds / 60) - offset\n  var months\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options.includeSeconds) {\n      if (seconds < 5) {\n        return localize('lessThanXSeconds', 5, localizeOptions)\n      } else if (seconds < 10) {\n        return localize('lessThanXSeconds', 10, localizeOptions)\n      } else if (seconds < 20) {\n        return localize('lessThanXSeconds', 20, localizeOptions)\n      } else if (seconds < 40) {\n        return localize('halfAMinute', null, localizeOptions)\n      } else if (seconds < 60) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', 1, localizeOptions)\n      }\n    } else {\n      if (minutes === 0) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', minutes, localizeOptions)\n      }\n    }\n\n  // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return localize('xMinutes', minutes, localizeOptions)\n\n  // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return localize('aboutXHours', 1, localizeOptions)\n\n  // 1.5 hrs up to 24 hrs\n  } else if (minutes < MINUTES_IN_DAY) {\n    var hours = Math.round(minutes / 60)\n    return localize('aboutXHours', hours, localizeOptions)\n\n  // 1 day up to 1.75 days\n  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n    return localize('xDays', 1, localizeOptions)\n\n  // 1.75 days up to 30 days\n  } else if (minutes < MINUTES_IN_MONTH) {\n    var days = Math.round(minutes / MINUTES_IN_DAY)\n    return localize('xDays', days, localizeOptions)\n\n  // 1 month up to 2 months\n  } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n    months = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('aboutXMonths', months, localizeOptions)\n  }\n\n  months = differenceInMonths(dateRight, dateLeft)\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('xMonths', nearestMonth, localizeOptions)\n\n  // 1 year up to max Date\n  } else {\n    var monthsSinceStartOfYear = months % 12\n    var years = Math.floor(months / 12)\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return localize('aboutXYears', years, localizeOptions)\n\n    // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return localize('overXYears', years, localizeOptions)\n\n    // N years 9 months up to N year 12 months\n    } else {\n      return localize('almostXYears', years + 1, localizeOptions)\n    }\n  }\n}\n\nmodule.exports = distanceInWords\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/distance_in_words/index.js\n// module id = 200\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return -1 if the first date is after the second,\n * 1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\n * var result = compareDesc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> 1\n *\n * @example\n * // Sort the array of dates in reverse chronological order:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareDesc)\n * //=> [\n * //   Sun Jul 02 1995 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Wed Feb 11 1987 00:00:00\n * // ]\n */\nfunction compareDesc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft > timeRight) {\n    return -1\n  } else if (timeLeft < timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareDesc\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/compare_desc/index.js\n// module id = 201\n// module chunks = 0","/**\n * @category Common Helpers\n * @summary Is the given argument an instance of Date?\n *\n * @description\n * Is the given argument an instance of Date?\n *\n * @param {*} argument - the argument to check\n * @returns {Boolean} the given argument is an instance of Date\n *\n * @example\n * // Is 'mayonnaise' a Date?\n * var result = isDate('mayonnaise')\n * //=> false\n */\nfunction isDate (argument) {\n  return argument instanceof Date\n}\n\nmodule.exports = isDate\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/is_date/index.js\n// module id = 202\n// module chunks = 0","var differenceInMilliseconds = require('../difference_in_milliseconds/index.js')\n\n/**\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * var result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nfunction differenceInSeconds (dirtyDateLeft, dirtyDateRight) {\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\n}\n\nmodule.exports = differenceInSeconds\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_seconds/index.js\n// module id = 203\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * var result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nfunction differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n  return dateLeft.getTime() - dateRight.getTime()\n}\n\nmodule.exports = differenceInMilliseconds\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_milliseconds/index.js\n// module id = 204\n// module chunks = 0","var parse = require('../parse/index.js')\nvar differenceInCalendarMonths = require('../difference_in_calendar_months/index.js')\nvar compareAsc = require('../compare_asc/index.js')\n\n/**\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 7\n */\nfunction differenceInMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var sign = compareAsc(dateLeft, dateRight)\n  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight))\n  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)\n\n  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n  // If so, result must be decreased by 1 in absolute value\n  var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign\n  return sign * (difference - isLastMonthNotFull)\n}\n\nmodule.exports = differenceInMonths\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_months/index.js\n// module id = 205\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nfunction differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()\n  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()\n\n  return yearDiff * 12 + monthDiff\n}\n\nmodule.exports = differenceInCalendarMonths\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_calendar_months/index.js\n// module id = 206\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nfunction compareAsc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft < timeRight) {\n    return -1\n  } else if (timeLeft > timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareAsc\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/compare_asc/index.js\n// module id = 207\n// module chunks = 0","var buildDistanceInWordsLocale = require('./build_distance_in_words_locale/index.js')\nvar buildFormatLocale = require('./build_format_locale/index.js')\n\n/**\n * @category Locales\n * @summary English locale.\n */\nmodule.exports = {\n  distanceInWords: buildDistanceInWordsLocale(),\n  format: buildFormatLocale()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/index.js\n// module id = 208\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'less than a second',\n      other: 'less than {{count}} seconds'\n    },\n\n    xSeconds: {\n      one: '1 second',\n      other: '{{count}} seconds'\n    },\n\n    halfAMinute: 'half a minute',\n\n    lessThanXMinutes: {\n      one: 'less than a minute',\n      other: 'less than {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'about 1 hour',\n      other: 'about {{count}} hours'\n    },\n\n    xHours: {\n      one: '1 hour',\n      other: '{{count}} hours'\n    },\n\n    xDays: {\n      one: '1 day',\n      other: '{{count}} days'\n    },\n\n    aboutXMonths: {\n      one: 'about 1 month',\n      other: 'about {{count}} months'\n    },\n\n    xMonths: {\n      one: '1 month',\n      other: '{{count}} months'\n    },\n\n    aboutXYears: {\n      one: 'about 1 year',\n      other: 'about {{count}} years'\n    },\n\n    xYears: {\n      one: '1 year',\n      other: '{{count}} years'\n    },\n\n    overXYears: {\n      one: 'over 1 year',\n      other: 'over {{count}} years'\n    },\n\n    almostXYears: {\n      one: 'almost 1 year',\n      other: 'almost {{count}} years'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'in ' + result\n      } else {\n        return result + ' ago'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js\n// module id = 209\n// module chunks = 0","var buildFormattingTokensRegExp = require('../../_lib/build_formatting_tokens_reg_exp/index.js')\n\nfunction buildFormatLocale () {\n  // Note: in English, the names of days of the week and months are capitalized.\n  // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n  // Generally, formatted dates should look like they are in the middle of a sentence,\n  // e.g. in Spanish language the weekdays and months should be in the lowercase.\n  var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n  var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n  var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\n  var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n  var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n  var meridiemUppercase = ['AM', 'PM']\n  var meridiemLowercase = ['am', 'pm']\n  var meridiemFull = ['a.m.', 'p.m.']\n\n  var formatters = {\n    // Month: Jan, Feb, ..., Dec\n    'MMM': function (date) {\n      return months3char[date.getMonth()]\n    },\n\n    // Month: January, February, ..., December\n    'MMMM': function (date) {\n      return monthsFull[date.getMonth()]\n    },\n\n    // Day of week: Su, Mo, ..., Sa\n    'dd': function (date) {\n      return weekdays2char[date.getDay()]\n    },\n\n    // Day of week: Sun, Mon, ..., Sat\n    'ddd': function (date) {\n      return weekdays3char[date.getDay()]\n    },\n\n    // Day of week: Sunday, Monday, ..., Saturday\n    'dddd': function (date) {\n      return weekdaysFull[date.getDay()]\n    },\n\n    // AM, PM\n    'A': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0]\n    },\n\n    // am, pm\n    'a': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0]\n    },\n\n    // a.m., p.m.\n    'aa': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0]\n    }\n  }\n\n  // Generate ordinal version of formatters: M -> Mo, D -> Do, etc.\n  var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W']\n  ordinalFormatters.forEach(function (formatterToken) {\n    formatters[formatterToken + 'o'] = function (date, formatters) {\n      return ordinal(formatters[formatterToken](date))\n    }\n  })\n\n  return {\n    formatters: formatters,\n    formattingTokensRegExp: buildFormattingTokensRegExp(formatters)\n  }\n}\n\nfunction ordinal (number) {\n  var rem100 = number % 100\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st'\n      case 2:\n        return number + 'nd'\n      case 3:\n        return number + 'rd'\n    }\n  }\n  return number + 'th'\n}\n\nmodule.exports = buildFormatLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/build_format_locale/index.js\n// module id = 210\n// module chunks = 0","var commonFormatterKeys = [\n  'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',\n  'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',\n  'H', 'HH', 'h', 'hh', 'm', 'mm',\n  's', 'ss', 'S', 'SS', 'SSS',\n  'Z', 'ZZ', 'X', 'x'\n]\n\nfunction buildFormattingTokensRegExp (formatters) {\n  var formatterKeys = []\n  for (var key in formatters) {\n    if (formatters.hasOwnProperty(key)) {\n      formatterKeys.push(key)\n    }\n  }\n\n  var formattingTokens = commonFormatterKeys\n    .concat(formatterKeys)\n    .sort()\n    .reverse()\n  var formattingTokensRegExp = new RegExp(\n    '(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'\n  )\n\n  return formattingTokensRegExp\n}\n\nmodule.exports = buildFormattingTokensRegExp\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js\n// module id = 211\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '不到 1 秒',\n      other: '不到 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分钟',\n\n    lessThanXMinutes: {\n      one: '不到 1 分钟',\n      other: '不到 {{count}} 分钟'\n    },\n\n    xMinutes: {\n      one: '1 分钟',\n      other: '{{count}} 分钟'\n    },\n\n    xHours: {\n      one: '1 小时',\n      other: '{{count}} 小时'\n    },\n\n    aboutXHours: {\n      one: '大约 1 小时',\n      other: '大约 {{count}} 小时'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大约 1 个月',\n      other: '大约 {{count}} 个月'\n    },\n\n    xMonths: {\n      one: '1 个月',\n      other: '{{count}} 个月'\n    },\n\n    aboutXYears: {\n      one: '大约 1 年',\n      other: '大约 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超过 1 年',\n      other: '超过 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '将近 1 年',\n      other: '将近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '内'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/zh_cn/build_distance_in_words_locale/index.js\n// module id = 212\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '少於 1 秒',\n      other: '少於 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分鐘',\n\n    lessThanXMinutes: {\n      one: '少於 1 分鐘',\n      other: '少於 {{count}} 分鐘'\n    },\n\n    xMinutes: {\n      one: '1 分鐘',\n      other: '{{count}} 分鐘'\n    },\n\n    xHours: {\n      one: '1 小時',\n      other: '{{count}} 小時'\n    },\n\n    aboutXHours: {\n      one: '大約 1 小時',\n      other: '大約 {{count}} 小時'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大約 1 個月',\n      other: '大約 {{count}} 個月'\n    },\n\n    xMonths: {\n      one: '1 個月',\n      other: '{{count}} 個月'\n    },\n\n    aboutXYears: {\n      one: '大約 1 年',\n      other: '大約 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超過 1 年',\n      other: '超過 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '將近 1 年',\n      other: '將近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '內'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/zh_tw/build_distance_in_words_locale/index.js\n// module id = 213\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'menos de un segundo',\n      other: 'menos de {{count}} segundos'\n    },\n\n    xSeconds: {\n      one: '1 segundo',\n      other: '{{count}} segundos'\n    },\n\n    halfAMinute: 'medio minuto',\n\n    lessThanXMinutes: {\n      one: 'menos de un minuto',\n      other: 'menos de {{count}} minutos'\n    },\n\n    xMinutes: {\n      one: '1 minuto',\n      other: '{{count}} minutos'\n    },\n\n    aboutXHours: {\n      one: 'alrededor de 1 hora',\n      other: 'alrededor de {{count}} horas'\n    },\n\n    xHours: {\n      one: '1 hora',\n      other: '{{count}} horas'\n    },\n\n    xDays: {\n      one: '1 día',\n      other: '{{count}} días'\n    },\n\n    aboutXMonths: {\n      one: 'alrededor de 1 mes',\n      other: 'alrededor de {{count}} meses'\n    },\n\n    xMonths: {\n      one: '1 mes',\n      other: '{{count}} meses'\n    },\n\n    aboutXYears: {\n      one: 'alrededor de 1 año',\n      other: 'alrededor de {{count}} años'\n    },\n\n    xYears: {\n      one: '1 año',\n      other: '{{count}} años'\n    },\n\n    overXYears: {\n      one: 'más de 1 año',\n      other: 'más de {{count}} años'\n    },\n\n    almostXYears: {\n      one: 'casi 1 año',\n      other: 'casi {{count}} años'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'en ' + result\n      } else {\n        return 'hace ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js\n// module id = 214\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'moins d’une seconde',\n      other: 'moins de {{count}} secondes'\n    },\n\n    xSeconds: {\n      one: '1 seconde',\n      other: '{{count}} secondes'\n    },\n\n    halfAMinute: '30 secondes',\n\n    lessThanXMinutes: {\n      one: 'moins d’une minute',\n      other: 'moins de {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'environ 1 heure',\n      other: 'environ {{count}} heures'\n    },\n\n    xHours: {\n      one: '1 heure',\n      other: '{{count}} heures'\n    },\n\n    xDays: {\n      one: '1 jour',\n      other: '{{count}} jours'\n    },\n\n    aboutXMonths: {\n      one: 'environ 1 mois',\n      other: 'environ {{count}} mois'\n    },\n\n    xMonths: {\n      one: '1 mois',\n      other: '{{count}} mois'\n    },\n\n    aboutXYears: {\n      one: 'environ 1 an',\n      other: 'environ {{count}} ans'\n    },\n\n    xYears: {\n      one: '1 an',\n      other: '{{count}} ans'\n    },\n\n    overXYears: {\n      one: 'plus d’un an',\n      other: 'plus de {{count}} ans'\n    },\n\n    almostXYears: {\n      one: 'presqu’un an',\n      other: 'presque {{count}} ans'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'dans ' + result\n      } else {\n        return 'il y a ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js\n// module id = 215\n// module chunks = 0","function declension (scheme, count) {\n  // scheme for count=1 exists\n  if (scheme.one !== undefined && count === 1) {\n    return scheme.one\n  }\n\n  var rem10 = count % 10\n  var rem100 = count % 100\n\n  // 1, 21, 31, ...\n  if (rem10 === 1 && rem100 !== 11) {\n    return scheme.singularNominative.replace('{{count}}', count)\n\n  // 2, 3, 4, 22, 23, 24, 32 ...\n  } else if ((rem10 >= 2 && rem10 <= 4) && (rem100 < 10 || rem100 > 20)) {\n    return scheme.singularGenitive.replace('{{count}}', count)\n\n  // 5, 6, 7, 8, 9, 10, 11, ...\n  } else {\n    return scheme.pluralGenitive.replace('{{count}}', count)\n  }\n}\n\nfunction buildLocalizeTokenFn (scheme) {\n  return function (count, options) {\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        if (scheme.future) {\n          return declension(scheme.future, count)\n        } else {\n          return 'через ' + declension(scheme.regular, count)\n        }\n      } else {\n        if (scheme.past) {\n          return declension(scheme.past, count)\n        } else {\n          return declension(scheme.regular, count) + ' назад'\n        }\n      }\n    } else {\n      return declension(scheme.regular, count)\n    }\n  }\n}\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше секунды',\n        singularNominative: 'меньше {{count}} секунды',\n        singularGenitive: 'меньше {{count}} секунд',\n        pluralGenitive: 'меньше {{count}} секунд'\n      },\n      future: {\n        one: 'меньше, чем через секунду',\n        singularNominative: 'меньше, чем через {{count}} секунду',\n        singularGenitive: 'меньше, чем через {{count}} секунды',\n        pluralGenitive: 'меньше, чем через {{count}} секунд'\n      }\n    }),\n\n    xSeconds: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} секунда',\n        singularGenitive: '{{count}} секунды',\n        pluralGenitive: '{{count}} секунд'\n      },\n      past: {\n        singularNominative: '{{count}} секунду назад',\n        singularGenitive: '{{count}} секунды назад',\n        pluralGenitive: '{{count}} секунд назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} секунду',\n        singularGenitive: 'через {{count}} секунды',\n        pluralGenitive: 'через {{count}} секунд'\n      }\n    }),\n\n    halfAMinute: function (_, options) {\n      if (options.addSuffix) {\n        if (options.comparison > 0) {\n          return 'через полминуты'\n        } else {\n          return 'полминуты назад'\n        }\n      }\n\n      return 'полминуты'\n    },\n\n    lessThanXMinutes: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше минуты',\n        singularNominative: 'меньше {{count}} минуты',\n        singularGenitive: 'меньше {{count}} минут',\n        pluralGenitive: 'меньше {{count}} минут'\n      },\n      future: {\n        one: 'меньше, чем через минуту',\n        singularNominative: 'меньше, чем через {{count}} минуту',\n        singularGenitive: 'меньше, чем через {{count}} минуты',\n        pluralGenitive: 'меньше, чем через {{count}} минут'\n      }\n    }),\n\n    xMinutes: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} минута',\n        singularGenitive: '{{count}} минуты',\n        pluralGenitive: '{{count}} минут'\n      },\n      past: {\n        singularNominative: '{{count}} минуту назад',\n        singularGenitive: '{{count}} минуты назад',\n        pluralGenitive: '{{count}} минут назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} минуту',\n        singularGenitive: 'через {{count}} минуты',\n        pluralGenitive: 'через {{count}} минут'\n      }\n    }),\n\n    aboutXHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} часа',\n        singularGenitive: 'около {{count}} часов',\n        pluralGenitive: 'около {{count}} часов'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} час',\n        singularGenitive: 'приблизительно через {{count}} часа',\n        pluralGenitive: 'приблизительно через {{count}} часов'\n      }\n    }),\n\n    xHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} час',\n        singularGenitive: '{{count}} часа',\n        pluralGenitive: '{{count}} часов'\n      }\n    }),\n\n    xDays: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} день',\n        singularGenitive: '{{count}} дня',\n        pluralGenitive: '{{count}} дней'\n      }\n    }),\n\n    aboutXMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} месяца',\n        singularGenitive: 'около {{count}} месяцев',\n        pluralGenitive: 'около {{count}} месяцев'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} месяц',\n        singularGenitive: 'приблизительно через {{count}} месяца',\n        pluralGenitive: 'приблизительно через {{count}} месяцев'\n      }\n    }),\n\n    xMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} месяц',\n        singularGenitive: '{{count}} месяца',\n        pluralGenitive: '{{count}} месяцев'\n      }\n    }),\n\n    aboutXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} года',\n        singularGenitive: 'около {{count}} лет',\n        pluralGenitive: 'около {{count}} лет'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} год',\n        singularGenitive: 'приблизительно через {{count}} года',\n        pluralGenitive: 'приблизительно через {{count}} лет'\n      }\n    }),\n\n    xYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} год',\n        singularGenitive: '{{count}} года',\n        pluralGenitive: '{{count}} лет'\n      }\n    }),\n\n    overXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'больше {{count}} года',\n        singularGenitive: 'больше {{count}} лет',\n        pluralGenitive: 'больше {{count}} лет'\n      },\n      future: {\n        singularNominative: 'больше, чем через {{count}} год',\n        singularGenitive: 'больше, чем через {{count}} года',\n        pluralGenitive: 'больше, чем через {{count}} лет'\n      }\n    }),\n\n    almostXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'почти {{count}} год',\n        singularGenitive: 'почти {{count}} года',\n        pluralGenitive: 'почти {{count}} лет'\n      },\n      future: {\n        singularNominative: 'почти через {{count}} год',\n        singularGenitive: 'почти через {{count}} года',\n        pluralGenitive: 'почти через {{count}} лет'\n      }\n    })\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n    return distanceInWordsLocale[token](count, options)\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/ru/build_distance_in_words_locale/index.js\n// module id = 216\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/github-markdown-css/github-markdown.css\n// module id = 217\n// module chunks = 0","export const GT_ACCESS_TOKEN = 'GT_ACCESS_TOKEN'\nexport const GT_VERSION = VERSION // eslint-disable-line\nexport const GT_COMMENT = 'GT_COMMENT'\n\n\n\n// WEBPACK FOOTER //\n// ./const.js","import {\n  axiosGithub\n} from '../util'\n\nconst getQL = (vars, pagerDirection) => {\n  const cursorDirection = pagerDirection === 'last' ? 'before' : 'after'\n  const ql = `\n  query getIssueAndComments(\n    $owner: String!,\n    $repo: String!,\n    $id: Int!,\n    $cursor: String,\n    $pageSize: Int!\n  ) {\n    repository(owner: $owner, name: $repo) {\n      issue(number: $id) {\n        title\n        url\n        bodyHTML\n        createdAt\n        comments(${pagerDirection}: $pageSize, ${cursorDirection}: $cursor) {\n          totalCount\n          pageInfo {\n            ${pagerDirection === 'last' ? 'hasPreviousPage' : 'hasNextPage'}\n            ${cursorDirection === 'before' ? 'startCursor' : 'endCursor'}\n          }\n          nodes {\n            id\n            databaseId\n            author {\n              avatarUrl\n              login\n              url\n            }\n            bodyHTML\n            body\n            createdAt\n            reactions(first: 100, content: HEART) {\n              totalCount\n              viewerHasReacted\n              pageInfo{\n                hasNextPage\n              }\n              nodes {\n                id\n                databaseId\n                user {\n                  login\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  `\n\n  if (vars.cursor === null) delete vars.cursor\n\n  return {\n    operationName: 'getIssueAndComments',\n    query: ql,\n    variables: vars\n  }\n}\n\nfunction getComments (issue) {\n  const { owner, repo, perPage, pagerDirection, defaultAuthor } = this.options\n  const { cursor, comments } = this.state\n  return axiosGithub.post(\n    '/graphql',\n    getQL(\n      {\n        owner,\n        repo,\n        id: issue.number,\n        pageSize: perPage,\n        cursor\n      },\n      pagerDirection\n    ), {\n      headers: {\n        Authorization: `bearer ${this.accessToken}`\n      }\n    }\n  ).then(res => {\n    const data = res.data.data.repository.issue.comments\n    const items = data.nodes.map(node => {\n      const author = node.author || defaultAuthor\n\n      return {\n        id: node.databaseId,\n        gId: node.id,\n        user: {\n          avatar_url: author.avatarUrl,\n          login: author.login,\n          html_url: author.url\n        },\n        created_at: node.createdAt,\n        body_html: node.bodyHTML,\n        body: node.body,\n        html_url: `https://github.com/${owner}/${repo}/issues/${issue.number}#issuecomment-${node.databaseId}`,\n        reactions: node.reactions\n      }\n    })\n\n    let cs\n\n    if (pagerDirection === 'last') {\n      cs = [...items, ...comments]\n    } else {\n      cs = [...comments, ...items]\n    }\n\n    const isLoadOver = data.pageInfo.hasPreviousPage === false || data.pageInfo.hasNextPage === false\n    this.setState({\n      comments: cs,\n      isLoadOver,\n      cursor: data.pageInfo.startCursor || data.pageInfo.endCursor\n    })\n    return cs\n  })\n}\n\nexport default getComments\n\n\n\n// WEBPACK FOOTER //\n// ./graphql/getComments.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/toConsumableArray.js\n// module id = 220\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/array/from.js\n// module id = 221\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/array/from.js\n// module id = 222\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.array.from.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_create-property.js\n// module id = 224\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk.min.js b/server/target/classes/static/gitalk/gitalk.min.js
deleted file mode 100644
index 39757cd..0000000
--- a/server/target/classes/static/gitalk/gitalk.min.js
+++ /dev/null
@@ -1,35 +0,0 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Gitalk=t():e.Gitalk=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=82)}([function(e,t){var n=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=n)},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){var r=n(39)("wks"),o=n(25),i=n(1).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){"use strict";function r(e){return"[object Array]"===C.call(e)}function o(e){return void 0===e}function i(e){return null!==e&&!o(e)&&null!==e.constructor&&!o(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function a(e){return"[object ArrayBuffer]"===C.call(e)}function u(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function c(e){return"string"==typeof e}function l(e){return"number"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===C.call(e)}function d(e){return"[object File]"===C.call(e)}function h(e){return"[object Blob]"===C.call(e)}function m(e){return"[object Function]"===C.call(e)}function v(e){return f(e)&&m(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function g(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function b(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function w(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}function _(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=_(t[n],e):t[n]=e}for(var t={},n=0,r=arguments.length;n<r;n++)w(arguments[n],e);return t}function x(){function e(e,n){"object"==typeof t[n]&&"object"==typeof e?t[n]=x(t[n],e):t[n]="object"==typeof e?x({},e):e}for(var t={},n=0,r=arguments.length;n<r;n++)w(arguments[n],e);return t}function S(e,t,n){return w(t,function(t,r){e[r]=n&&"function"==typeof t?E(t,n):t}),e}var E=n(72),C=Object.prototype.toString;e.exports={isArray:r,isArrayBuffer:a,isBuffer:i,isFormData:u,isArrayBufferView:s,isString:c,isNumber:l,isObject:f,isUndefined:o,isDate:p,isFile:d,isBlob:h,isFunction:m,isStream:v,isURLSearchParams:y,isStandardBrowserEnv:b,forEach:w,merge:_,deepMerge:x,extend:S,trim:g}},function(e,t,n){var r=n(1),o=n(0),i=n(13),a=n(11),u=n(12),s=function(e,t,n){var c,l,f,p=e&s.F,d=e&s.G,h=e&s.S,m=e&s.P,v=e&s.B,y=e&s.W,g=d?o:o[t]||(o[t]={}),b=g.prototype,w=d?r:h?r[t]:(r[t]||{}).prototype;d&&(n=t);for(c in n)(l=!p&&w&&void 0!==w[c])&&u(g,c)||(f=l?w[c]:n[c],g[c]=d&&"function"!=typeof w[c]?n[c]:v&&l?i(f,r):y&&w[c]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):m&&"function"==typeof f?i(Function.call,f):f,m&&((g.virtual||(g.virtual={}))[c]=f,e&s.R&&b&&!b[c]&&a(b,c,f)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){function r(){return null}function o(e){var t=e.nodeName,n=e.attributes;e.attributes={},t.defaultProps&&_(e.attributes,t.defaultProps),n&&_(e.attributes,n)}function i(e,t){var n,r,o;if(t){for(o in t)if(n=W.test(o))break;if(n){r=e.attributes={};for(o in t)t.hasOwnProperty(o)&&(r[W.test(o)?o.replace(/([A-Z0-9])/,"-$1").toLowerCase():o]=t[o])}}}function a(e,t,n){var r=t&&t._preactCompatRendered&&t._preactCompatRendered.base;r&&r.parentNode!==t&&(r=null),r||(r=t.children[0]);for(var o=t.childNodes.length;o--;)t.childNodes[o]!==r&&t.removeChild(t.childNodes[o]);var i=G.render(e,t,r);return t&&(t._preactCompatRendered=i&&(i._component||{base:i})),"function"==typeof n&&n(),i&&i._component||i}function u(e,t,n,r){var o=G.h(J,{context:e.context},t),i=a(o,n);return r&&r(i),i._component||i.base}function s(e){var t=e._preactCompatRendered&&e._preactCompatRendered.base;return!(!t||t.parentNode!==e)&&(G.render(G.h(r),e,t),!0)}function c(e){return h.bind(null,e)}function l(e,t){for(var n=t||0;n<e.length;n++){var r=e[n];Array.isArray(r)?l(r):r&&"object"==typeof r&&!y(r)&&(r.props&&r.type||r.attributes&&r.nodeName||r.children)&&(e[n]=h(r.type||r.nodeName,r.props||r.attributes,r.children))}}function f(e){return"function"==typeof e&&!(e.prototype&&e.prototype.render)}function p(e){return C({displayName:e.displayName||e.name,render:function(){return e(this.props,this.context)}})}function d(e){var t=e[$];return t?!0===t?e:t:(t=p(e),Object.defineProperty(t,$,{configurable:!0,value:!0}),t.displayName=e.displayName,t.propTypes=e.propTypes,t.defaultProps=e.defaultProps,Object.defineProperty(e,$,{configurable:!0,value:t}),t)}function h(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return l(e,2),m(G.h.apply(void 0,e))}function m(e){e.preactCompatNormalized=!0,w(e),f(e.nodeName)&&(e.nodeName=d(e.nodeName));var t=e.attributes.ref,n=t&&typeof t;return!Z||"string"!==n&&"number"!==n||(e.attributes.ref=g(t,Z)),b(e),e}function v(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];if(!y(e))return e;var o=e.attributes||e.props,i=G.h(e.nodeName||e.type,o,e.children||o&&o.children),a=[i,t];return n&&n.length?a.push(n):t&&t.children&&a.push(t.children),m(G.cloneElement.apply(void 0,a))}function y(e){return e&&(e instanceof Y||e.$$typeof===H)}function g(e,t){return t._refProxies[e]||(t._refProxies[e]=function(n){t&&t.refs&&(t.refs[e]=n,null===n&&(delete t._refProxies[e],t=null))})}function b(e){var t=e.nodeName,n=e.attributes;if(n&&"string"==typeof t){var r={};for(var o in n)r[o.toLowerCase()]=o;if(r.ondoubleclick&&(n.ondblclick=n[r.ondoubleclick],delete n[r.ondoubleclick]),r.onchange&&("textarea"===t||"input"===t.toLowerCase()&&!/^fil|che|rad/i.test(n.type))){var i=r.oninput||"oninput";n[i]||(n[i]=P([n[i],n[r.onchange]]),delete n[r.onchange])}}}function w(e){var t=e.attributes;if(t){var n=t.className||t.class;n&&(t.className=n)}}function _(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function x(e,t){for(var n in e)if(!(n in t))return!0;for(var r in t)if(e[r]!==t[r])return!0;return!1}function S(e){return e&&e.base||e}function E(){}function C(e){function t(e,t){k(this),I.call(this,e,t,V),T.call(this,e,t)}return e=_({constructor:t},e),e.mixins&&O(e,N(e.mixins)),e.statics&&_(t,e.statics),e.propTypes&&(t.propTypes=e.propTypes),e.defaultProps&&(t.defaultProps=e.defaultProps),e.getDefaultProps&&(t.defaultProps=e.getDefaultProps()),E.prototype=I.prototype,t.prototype=_(new E,e),t.displayName=e.displayName||"Component",t}function N(e){for(var t={},n=0;n<e.length;n++){var r=e[n];for(var o in r)r.hasOwnProperty(o)&&"function"==typeof r[o]&&(t[o]||(t[o]=[])).push(r[o])}return t}function O(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=P(t[n].concat(e[n]||Q),"getDefaultProps"===n||"getInitialState"===n||"getChildContext"===n))}function k(e){for(var t in e){var n=e[t];"function"!=typeof n||n.__bound||U.hasOwnProperty(t)||((e[t]=n.bind(e)).__bound=!0)}}function M(e,t,n){if("string"==typeof t&&(t=e.constructor.prototype[t]),"function"==typeof t)return t.apply(e,n)}function P(e,t){return function(){for(var n,r=arguments,o=this,i=0;i<e.length;i++){var a=M(o,e[i],r);if(t&&null!=a){n||(n={});for(var u in a)a.hasOwnProperty(u)&&(n[u]=a[u])}else void 0!==a&&(n=a)}return n}}function T(e,t){A.call(this,e,t),this.componentWillReceiveProps=P([A,this.componentWillReceiveProps||"componentWillReceiveProps"]),this.render=P([A,j,this.render||"render",D])}function A(e,t){if(e){var n=e.children;if(n&&Array.isArray(n)&&1===n.length&&(e.children=n[0],e.children&&"object"==typeof e.children&&(e.children.length=1,e.children[0]=e.children)),X){var r="function"==typeof this?this:this.constructor,o=this.propTypes||r.propTypes,i=this.displayName||r.name;o&&F.a.checkPropTypes(o,e,"prop",i)}}}function j(e){Z=this}function D(){Z===this&&(Z=null)}function I(e,t,n){G.Component.call(this,e,t),this.state=this.getInitialState?this.getInitialState():{},this.refs={},this._refProxies={},n!==V&&T.call(this,e,t)}function L(e,t){I.call(this,e,t)}n.d(t,"version",function(){return B}),n.d(t,"DOM",function(){return te}),n.d(t,"Children",function(){return ee}),n.d(t,"render",function(){return a}),n.d(t,"createClass",function(){return C}),n.d(t,"createFactory",function(){return c}),n.d(t,"createElement",function(){return h}),n.d(t,"cloneElement",function(){return v}),n.d(t,"isValidElement",function(){return y}),n.d(t,"findDOMNode",function(){return S}),n.d(t,"unmountComponentAtNode",function(){return s}),n.d(t,"Component",function(){return I}),n.d(t,"PureComponent",function(){return L}),n.d(t,"unstable_renderSubtreeIntoContainer",function(){return u});var R=n(86),F=n.n(R),G=n(93);n.n(G);n.d(t,"PropTypes",function(){return F.a});var B="15.1.0",z="a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan".split(" "),H="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,$="undefined"!=typeof Symbol?Symbol.for("__preactCompatWrapper"):"__preactCompatWrapper",U={constructor:1,render:1,shouldComponentUpdate:1,componentWillReceiveProps:1,componentWillUpdate:1,componentDidUpdate:1,componentWillMount:1,componentDidMount:1,componentWillUnmount:1,componentDidUnmount:1},W=/^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/,V={},X=void 0===e||!e.env||"production"!==e.env.NODE_ENV,Y=G.h("a",null).constructor;Y.prototype.$$typeof=H,Y.prototype.preactCompatUpgraded=!1,Y.prototype.preactCompatNormalized=!1,Object.defineProperty(Y.prototype,"type",{get:function(){return this.nodeName},set:function(e){this.nodeName=e},configurable:!0}),Object.defineProperty(Y.prototype,"props",{get:function(){return this.attributes},set:function(e){this.attributes=e},configurable:!0});var q=G.options.event;G.options.event=function(e){return q&&(e=q(e)),e.persist=Object,e.nativeEvent=e,e};var K=G.options.vnode;G.options.vnode=function(e){if(!e.preactCompatUpgraded){e.preactCompatUpgraded=!0;var t=e.nodeName,n=e.attributes=_({},e.attributes);"function"==typeof t?(!0===t[$]||t.prototype&&"isReactComponent"in t.prototype)&&(e.children&&""===String(e.children)&&(e.children=void 0),e.children&&(n.children=e.children),e.preactCompatNormalized||m(e),o(e)):(e.children&&""===String(e.children)&&(e.children=void 0),e.children&&(n.children=e.children),n.defaultValue&&(n.value||0===n.value||(n.value=n.defaultValue),delete n.defaultValue),i(e,n))}K&&K(e)};var J=function(){};J.prototype.getChildContext=function(){return this.props.context},J.prototype.render=function(e){return e.children[0]};for(var Z,Q=[],ee={map:function(e,t,n){return null==e?null:(e=ee.toArray(e),n&&n!==e&&(t=t.bind(n)),e.map(t))},forEach:function(e,t,n){if(null==e)return null;e=ee.toArray(e),n&&n!==e&&(t=t.bind(n)),e.forEach(t)},count:function(e){return e&&e.length||0},only:function(e){if(e=ee.toArray(e),1!==e.length)throw new Error("Children.only() expects only one child.");return e[0]},toArray:function(e){return null==e?[]:Array.isArray&&Array.isArray(e)?e:Q.concat(e)}},te={},ne=z.length;ne--;)te[z[ne]]=c(z[ne]);_(I.prototype=new G.Component,{constructor:I,isReactComponent:{},replaceState:function(e,t){var n=this;this.setState(e,t);for(var r in n.state)r in e||delete n.state[r]},getDOMNode:function(){return this.base},isMounted:function(){return!!this.base}}),E.prototype=I.prototype,L.prototype=new E,L.prototype.isPureReactComponent=!0,L.prototype.shouldComponentUpdate=function(e,t){return x(this.props,e)||x(this.state,t)};var re={version:B,DOM:te,PropTypes:F.a,Children:ee,render:a,createClass:C,createFactory:c,createElement:h,cloneElement:v,isValidElement:y,findDOMNode:S,unmountComponentAtNode:s,Component:I,PureComponent:L,unstable_renderSubtreeIntoContainer:u};t.default=re}.call(t,n(9))},function(e,t,n){var r=n(10);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){var r=n(6),o=n(48),i=n(32),a=Object.defineProperty;t.f=n(8)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(14)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function i(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function a(){m&&d&&(m=!1,d.length?h=d.concat(h):v=-1,h.length&&u())}function u(){if(!m){var e=o(a);m=!0;for(var t=h.length;t;){for(d=h,h=[];++v<t;)d&&d[v].run();v=-1,t=h.length}d=null,m=!1,i(e)}}function s(e,t){this.fun=e,this.array=t}function c(){}var l,f,p=e.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(e){l=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var d,h=[],m=!1,v=-1;p.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];h.push(new s(e,t)),1!==h.length||m||o(u)},s.prototype.run=function(){this.fun.apply(null,this.array)},p.title="browser",p.browser=!0,p.env={},p.argv=[],p.version="",p.versions={},p.on=c,p.addListener=c,p.once=c,p.off=c,p.removeListener=c,p.removeAllListeners=c,p.emit=c,p.prependListener=c,p.prependOnceListener=c,p.listeners=function(e){return[]},p.binding=function(e){throw new Error("process.binding is not supported")},p.cwd=function(){return"/"},p.chdir=function(e){throw new Error("process.chdir is not supported")},p.umask=function(){return 0}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(7),o=n(19);e.exports=n(8)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(24);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports={}},function(e,t,n){var r=n(54),o=n(35);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(35);e.exports=function(e){return Object(r(e))}},function(e,t,n){function r(e,t){if(l(e))return new Date(e.getTime());if("string"!=typeof e)return new Date(e);var n=t||{},r=n.additionalDigits;r=null==r?d:Number(r);var c=o(e),f=i(c.date,r),h=f.year,m=f.restDateString,v=a(m,h);if(v){var y,g=v.getTime(),b=0;return c.time&&(b=u(c.time)),c.timezone?y=s(c.timezone):(y=new Date(g+b).getTimezoneOffset(),y=new Date(g+b+y*p).getTimezoneOffset()),new Date(g+b+y*p)}return new Date(e)}function o(e){var t,n={},r=e.split(h);if(m.test(r[0])?(n.date=null,t=r[0]):(n.date=r[0],t=r[1]),t){var o=k.exec(t);o?(n.time=t.replace(o[1],""),n.timezone=o[1]):n.time=t}return n}function i(e,t){var n,r=y[t],o=b[t];if(n=g.exec(e)||o.exec(e)){var i=n[1];return{year:parseInt(i,10),restDateString:e.slice(i.length)}}if(n=v.exec(e)||r.exec(e)){var a=n[1];return{year:100*parseInt(a,10),restDateString:e.slice(a.length)}}return{year:null}}function a(e,t){if(null===t)return null;var n,r,o,i;if(0===e.length)return r=new Date(0),r.setUTCFullYear(t),r;if(n=w.exec(e))return r=new Date(0),o=parseInt(n[1],10)-1,r.setUTCFullYear(t,o),r;if(n=_.exec(e)){r=new Date(0);var a=parseInt(n[1],10);return r.setUTCFullYear(t,0,a),r}if(n=x.exec(e)){r=new Date(0),o=parseInt(n[1],10)-1;var u=parseInt(n[2],10);return r.setUTCFullYear(t,o,u),r}if(n=S.exec(e))return i=parseInt(n[1],10)-1,c(t,i);if(n=E.exec(e)){i=parseInt(n[1],10)-1;return c(t,i,parseInt(n[2],10)-1)}return null}function u(e){var t,n,r;if(t=C.exec(e))return(n=parseFloat(t[1].replace(",",".")))%24*f;if(t=N.exec(e))return n=parseInt(t[1],10),r=parseFloat(t[2].replace(",",".")),n%24*f+r*p;if(t=O.exec(e)){n=parseInt(t[1],10),r=parseInt(t[2],10);var o=parseFloat(t[3].replace(",","."));return n%24*f+r*p+1e3*o}return null}function s(e){var t,n;return(t=M.exec(e))?0:(t=P.exec(e))?(n=60*parseInt(t[2],10),"+"===t[1]?-n:n):(t=T.exec(e),t?(n=60*parseInt(t[2],10)+parseInt(t[3],10),"+"===t[1]?-n:n):0)}function c(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var o=r.getUTCDay()||7,i=7*t+n+1-o;return r.setUTCDate(r.getUTCDate()+i),r}var l=n(202),f=36e5,p=6e4,d=2,h=/[T ]/,m=/:/,v=/^(\d{2})$/,y=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],g=/^(\d{4})/,b=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],w=/^-(\d{2})$/,_=/^-?(\d{3})$/,x=/^-?(\d{2})-?(\d{2})$/,S=/^-?W(\d{2})$/,E=/^-?W(\d{2})-?(\d{1})$/,C=/^(\d{2}([.,]\d*)?)$/,N=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,O=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,k=/([Z+-].*)$/,M=/^(Z)$/,P=/^([+-])(\d{2})$/,T=/^([+-])(\d{2}):?(\d{2})$/;e.exports=r},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(101)(!0);n(51)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){e.exports=!0},function(e,t,n){var r=n(53),o=n(40);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(7).f,o=n(12),i=n(2)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){n(106);for(var r=n(1),o=n(11),i=n(15),a=n(2)("toStringTag"),u="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(","),s=0;s<u.length;s++){var c=u[s],l=r[c],f=l&&l.prototype;f&&!f[a]&&o(f,a,c),i[c]=i.Array}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(83),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,o.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){var r=n(10),o=n(1).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(10);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on  "+e);return e}},function(e,t,n){var r=n(6),o=n(103),i=n(40),a=n(38)("IE_PROTO"),u=function(){},s=function(){var e,t=n(31)("iframe"),r=i.length;for(t.style.display="none",n(55).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("<script>document.F=Object<\/script>"),e.close(),s=e.F;r--;)delete s.prototype[i[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(u.prototype=r(e),n=new u,u.prototype=null,n[a]=e):n=s(),void 0===t?n:o(n,t)}},function(e,t,n){var r=n(34),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(39)("keys"),o=n(25);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(0),o=n(1),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:n(21)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(23),o=n(2)("toStringTag"),i="Arguments"==r(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,u;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=Object(e),o))?n:i?r(t):"Object"==(u=r(t))&&"function"==typeof t.callee?"Arguments":u}},function(e,t,n){var r=n(41),o=n(2)("iterator"),i=n(15);e.exports=n(0).getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||i[r(e)]}},function(e,t,n){"use strict";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=o(t),this.reject=o(n)}var o=n(24);e.exports.f=function(e){return new r(e)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){t.f=n(2)},function(e,t,n){var r=n(1),o=n(0),i=n(21),a=n(45),u=n(7).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||u(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n={};return Object.keys(e).forEach(function(r){-1===t.indexOf(r)&&(n[r]=e[r])}),n}function o(e,t){if(e===t)return!0;var n=!Array.isArray(e)||!Array.isArray(t),r=e.length!==t.length;return!n&&!r&&e.every(function(e,n){return e===t[n]})}Object.defineProperty(t,"__esModule",{value:!0}),t.omit=r,t.arraysEqual=o;t.isElementAnSFC=function(e){return!("string"==typeof e.type||e.type.prototype.isReactComponent)},t.hyphenate=function(e){var t={};return function(n){return t[n]||(t[n]=e(n)),t[n]}}(function(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()})},function(e,t,n){e.exports=!n(8)&&!n(14)(function(){return 7!=Object.defineProperty(n(31)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";(function(t){"production"===t.env.NODE_ENV?e.exports=n(87):e.exports=n(88)}).call(t,n(9))},function(e,t){},function(e,t,n){"use strict";var r=n(21),o=n(4),i=n(52),a=n(11),u=n(15),s=n(102),c=n(26),l=n(56),f=n(2)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};e.exports=function(e,t,n,h,m,v,y){s(n,t,h);var g,b,w,_=function(e){if(!p&&e in C)return C[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+" Iterator",S="values"==m,E=!1,C=e.prototype,N=C[f]||C["@@iterator"]||m&&C[m],O=N||_(m),k=m?S?_("entries"):O:void 0,M="Array"==t?C.entries||N:N;if(M&&(w=l(M.call(new e)))!==Object.prototype&&w.next&&(c(w,x,!0),r||"function"==typeof w[f]||a(w,f,d)),S&&N&&"values"!==N.name&&(E=!0,O=function(){return N.call(this)}),r&&!y||!p&&!E&&C[f]||a(C,f,O),u[t]=O,u[x]=d,m)if(g={values:S?O:_("values"),keys:v?O:_("keys"),entries:k},y)for(b in g)b in C||i(C,b,g[b]);else o(o.P+o.F*(p||E),t,g);return g}},function(e,t,n){e.exports=n(11)},function(e,t,n){var r=n(12),o=n(16),i=n(104)(!1),a=n(38)("IE_PROTO");e.exports=function(e,t){var n,u=o(e),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);for(;t.length>s;)r(u,n=t[s++])&&(~i(c,n)||c.push(n));return c}},function(e,t,n){var r=n(23);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(1).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(12),o=n(17),i=n(38)("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){var r=n(6);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(15),o=n(2)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},function(e,t,n){var r=n(6),o=n(24),i=n(2)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[i])?t:o(n)}},function(e,t,n){var r,o,i,a=n(13),u=n(112),s=n(55),c=n(31),l=n(1),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,m=l.Dispatch,v=0,y={},g=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},b=function(e){g.call(e.data)};p&&d||(p=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++v]=function(){u("function"==typeof e?e:Function(e),t)},r(v),v},d=function(e){delete y[e]},"process"==n(23)(f)?r=function(e){f.nextTick(a(g,e,1))}:m&&m.now?r=function(e){m.now(a(g,e,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",b,!1)):r="onreadystatechange"in c("script")?function(e){s.appendChild(c("script")).onreadystatechange=function(){s.removeChild(this),g.call(e)}}:function(e){setTimeout(a(g,e,1),0)}),e.exports={set:p,clear:d}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(6),o=n(10),i=n(43);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(2)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},e(i)}catch(e){}return n}},function(e,t,n){e.exports={default:n(123),__esModule:!0}},function(e,t,n){var r=n(4),o=n(0),i=n(14);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(67),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,o.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(125),i=r(o),a=n(127),u=r(a),s="function"==typeof u.default&&"symbol"==typeof i.default?function(e){return typeof e}:function(e){return e&&"function"==typeof u.default&&e.constructor===u.default&&e!==u.default.prototype?"symbol":typeof e};t.default="function"==typeof u.default&&"symbol"===s(i.default)?function(e){return void 0===e?"undefined":s(e)}:function(e){return e&&"function"==typeof u.default&&e.constructor===u.default&&e!==u.default.prototype?"symbol":void 0===e?"undefined":s(e)}},function(e,t,n){var r=n(53),o=n(40).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){var r=n(28),o=n(19),i=n(16),a=n(32),u=n(12),s=n(48),c=Object.getOwnPropertyDescriptor;t.f=n(8)?c:function(e,t){if(e=i(e),t=a(t,!0),s)try{return c(e,t)}catch(e){}if(u(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(136),i=r(o),a=n(140),u=r(a),s=n(67),c=r(s);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,c.default)(t)));e.prototype=(0,u.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(i.default?(0,i.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.hasClassInParent=t.formatErrorMsg=t.getMetaContent=t.axiosGithub=t.axiosJSON=t.queryStringify=t.queryParse=void 0;var o=n(161),i=r(o),a=n(164),u=r(a),s=n(171),c=r(s);t.queryParse=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.search;if(!e)return{};var t="?"===e[0]?e.substring(1):e,n={};return t.split("&").forEach(function(e){var t=e.split("="),r=(0,u.default)(t,2),o=r[0],i=r[1];o&&(n[decodeURIComponent(o)]=decodeURIComponent(i))}),n},t.queryStringify=function(e){return(0,i.default)(e).map(function(t){return t+"="+encodeURIComponent(e[t]||"")}).join("&")},t.axiosJSON=c.default.create({headers:{Accept:"application/json"}}),t.axiosGithub=c.default.create({baseURL:"https://api.github.com",headers:{Accept:"application/json"}}),t.getMetaContent=function(e,t){t||(t="content");var n=window.document.querySelector("meta[name='"+e+"']");return n&&n.getAttribute(t)},t.formatErrorMsg=function(e){var t="Error: ";return e.response&&e.response.data&&e.response.data.message?(t+=e.response.data.message+". ",e.response.data.errors&&(t+=e.response.data.errors.map(function(e){return e.message}).join(", "))):t+=e.message,t},t.hasClassInParent=function e(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=!1;if(void 0===t.className)return!1;var a=t.className.split(" ");return r.forEach(function(e,t){i=i||a.indexOf(e)>=0}),i||t.parentNode&&e(t.parentNode,r)}},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(3);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var a=[];o.forEach(t,function(e,t){null!==e&&void 0!==e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),a.push(r(t)+"="+r(e))}))}),i=a.join("&")}if(i){var u=e.indexOf("#");-1!==u&&(e=e.slice(0,u)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";(function(t){function r(e,t){!o.isUndefined(e)&&o.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var o=n(3),i=n(177),a={"Content-Type":"application/x-www-form-urlencoded"},u={adapter:function(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(76):void 0!==t&&"[object process]"===Object.prototype.toString.call(t)&&(e=n(76)),e}(),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),o.isFormData(e)||o.isArrayBuffer(e)||o.isBuffer(e)||o.isStream(e)||o.isFile(e)||o.isBlob(e)?e:o.isArrayBufferView(e)?e.buffer:o.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):o.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],function(e){u.headers[e]={}}),o.forEach(["post","put","patch"],function(e){u.headers[e]=o.merge(a)}),e.exports=u}).call(t,n(9))},function(e,t,n){"use strict";var r=n(3),o=n(178),i=n(73),a=n(180),u=n(183),s=n(184),c=n(77);e.exports=function(e){return new Promise(function(t,l){var f=e.data,p=e.headers;r.isFormData(f)&&delete p["Content-Type"];var d=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";p.Authorization="Basic "+btoa(h+":"+m)}var v=a(e.baseURL,e.url);if(d.open(e.method.toUpperCase(),i(v,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in d?u(d.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?d.response:d.responseText,i={data:r,status:d.status,statusText:d.statusText,headers:n,config:e,request:d};o(t,l,i),d=null}},d.onabort=function(){d&&(l(c("Request aborted",e,"ECONNABORTED",d)),d=null)},d.onerror=function(){l(c("Network Error",e,null,d)),d=null},d.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),l(c(t,e,"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var y=n(185),g=(e.withCredentials||s(v))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;g&&(p[e.xsrfHeaderName]=g)}if("setRequestHeader"in d&&r.forEach(p,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete p[t]:d.setRequestHeader(t,e)}),r.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),e.responseType)try{d.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){d&&(d.abort(),l(e),d=null)}),void 0===f&&(f=null),d.send(f)})}},function(e,t,n){"use strict";var r=n(179);e.exports=function(e,t,n,o,i){var a=new Error(e);return r(a,t,n,o,i)}},function(e,t,n){"use strict";var r=n(3);e.exports=function(e,t){t=t||{};var n={},o=["url","method","params","data"],i=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];r.forEach(o,function(e){void 0!==t[e]&&(n[e]=t[e])}),r.forEach(i,function(o){r.isObject(t[o])?n[o]=r.deepMerge(e[o],t[o]):void 0!==t[o]?n[o]=t[o]:r.isObject(e[o])?n[o]=r.deepMerge(e[o]):void 0!==e[o]&&(n[o]=e[o])}),r.forEach(a,function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])});var u=o.concat(i).concat(a),s=Object.keys(t).filter(function(e){return-1===u.indexOf(e)});return r.forEach(s,function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])}),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){var t=e.src,n=e.className,r=e.alt,i=e.onError;return o.default.createElement("div",{className:"gt-avatar "+n},o.default.createElement("img",{src:t,alt:"@"+r,onError:i}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){var t=e.className,r=e.text,i=e.name;return o.default.createElement("span",{className:"gt-ico "+t},o.default.createElement("span",{className:"gt-svg",dangerouslySetInnerHTML:{__html:n(191)("./"+i+".svg")}}),r&&o.default.createElement("span",{className:"gt-ico-text"},r))}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var o=n(29),i=r(o),a=n(30),u=r(a),s=n(5),c=r(s),l=n(5);n(94);var f=n(98),p=r(f),d=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,i.default)(this,e),this.options=t}return(0,u.default)(e,[{key:"render",value:function(e,t){var n=null;if(!(e=e||this.options.container))throw new Error("Container is required: "+e);if(e instanceof HTMLElement)n=e;else if(!(n=window.document.getElementById(e)))throw new Error("Container not found, window.document.getElementById: "+e);return t||(t=function(){}),(0,l.render)(c.default.createElement(p.default,{options:this.options}),n,t)}}]),e}();e.exports=d},function(e,t,n){e.exports={default:n(84),__esModule:!0}},function(e,t,n){n(85);var r=n(0).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){var r=n(4);r(r.S+r.F*!n(8),"Object",{defineProperty:n(7).f})},function(e,t,n){(function(t){if("production"!==t.env.NODE_ENV){var r=n(49);e.exports=n(89)(r.isElement,!0)}else e.exports=n(92)()}).call(t,n(9))},function(e,t,n){"use strict";function r(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case a:switch(e=e.type){case d:case h:case s:case l:case c:case v:return e;default:switch(e=e&&e.$$typeof){case p:case m:case b:case g:case f:return e;default:return t}}case u:return t}}}function o(e){return r(e)===h}/** @license React v16.12.0
- * react-is.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&Symbol.for,a=i?Symbol.for("react.element"):60103,u=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,c=i?Symbol.for("react.strict_mode"):60108,l=i?Symbol.for("react.profiler"):60114,f=i?Symbol.for("react.provider"):60109,p=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,h=i?Symbol.for("react.concurrent_mode"):60111,m=i?Symbol.for("react.forward_ref"):60112,v=i?Symbol.for("react.suspense"):60113,y=i?Symbol.for("react.suspense_list"):60120,g=i?Symbol.for("react.memo"):60115,b=i?Symbol.for("react.lazy"):60116,w=i?Symbol.for("react.fundamental"):60117,_=i?Symbol.for("react.responder"):60118,x=i?Symbol.for("react.scope"):60119;t.typeOf=r,t.AsyncMode=d,t.ConcurrentMode=h,t.ContextConsumer=p,t.ContextProvider=f,t.Element=a,t.ForwardRef=m,t.Fragment=s,t.Lazy=b,t.Memo=g,t.Portal=u,t.Profiler=l,t.StrictMode=c,t.Suspense=v,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===s||e===h||e===l||e===c||e===v||e===y||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===g||e.$$typeof===f||e.$$typeof===p||e.$$typeof===m||e.$$typeof===w||e.$$typeof===_||e.$$typeof===x)},t.isAsyncMode=function(e){return o(e)||r(e)===d},t.isConcurrentMode=o,t.isContextConsumer=function(e){return r(e)===p},t.isContextProvider=function(e){return r(e)===f},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},t.isForwardRef=function(e){return r(e)===m},t.isFragment=function(e){return r(e)===s},t.isLazy=function(e){return r(e)===b},t.isMemo=function(e){return r(e)===g},t.isPortal=function(e){return r(e)===u},t.isProfiler=function(e){return r(e)===l},t.isStrictMode=function(e){return r(e)===c},t.isSuspense=function(e){return r(e)===v}},function(e,t,n){"use strict";(function(e){/** @license React v16.12.0
- * react-is.development.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-"production"!==e.env.NODE_ENV&&function(){function e(e){return"string"==typeof e||"function"==typeof e||e===b||e===C||e===_||e===w||e===O||e===k||"object"==typeof e&&null!==e&&(e.$$typeof===P||e.$$typeof===M||e.$$typeof===x||e.$$typeof===S||e.$$typeof===N||e.$$typeof===T||e.$$typeof===A||e.$$typeof===j)}function n(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case y:var n=e.type;switch(n){case E:case C:case b:case _:case w:case O:return n;default:var r=n&&n.$$typeof;switch(r){case S:case N:case P:case M:case x:return r;default:return t}}case g:return t}}}function r(e){return K||(K=!0,L(!1,"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),o(e)||n(e)===E}function o(e){return n(e)===C}function i(e){return n(e)===S}function a(e){return n(e)===x}function u(e){return"object"==typeof e&&null!==e&&e.$$typeof===y}function s(e){return n(e)===N}function c(e){return n(e)===b}function l(e){return n(e)===P}function f(e){return n(e)===M}function p(e){return n(e)===g}function d(e){return n(e)===_}function h(e){return n(e)===w}function m(e){return n(e)===O}Object.defineProperty(t,"__esModule",{value:!0});var v="function"==typeof Symbol&&Symbol.for,y=v?Symbol.for("react.element"):60103,g=v?Symbol.for("react.portal"):60106,b=v?Symbol.for("react.fragment"):60107,w=v?Symbol.for("react.strict_mode"):60108,_=v?Symbol.for("react.profiler"):60114,x=v?Symbol.for("react.provider"):60109,S=v?Symbol.for("react.context"):60110,E=v?Symbol.for("react.async_mode"):60111,C=v?Symbol.for("react.concurrent_mode"):60111,N=v?Symbol.for("react.forward_ref"):60112,O=v?Symbol.for("react.suspense"):60113,k=v?Symbol.for("react.suspense_list"):60120,M=v?Symbol.for("react.memo"):60115,P=v?Symbol.for("react.lazy"):60116,T=v?Symbol.for("react.fundamental"):60117,A=v?Symbol.for("react.responder"):60118,j=v?Symbol.for("react.scope"):60119,D=function(){},I=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=0,i="Warning: "+e.replace(/%s/g,function(){return n[o++]});"undefined"!=typeof console&&console.warn(i);try{throw new Error(i)}catch(e){}};D=function(e,t){if(void 0===t)throw new Error("`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning message argument");if(!e){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];I.apply(void 0,[t].concat(r))}};var L=D,R=E,F=C,G=S,B=x,z=y,H=N,$=b,U=P,W=M,V=g,X=_,Y=w,q=O,K=!1;t.typeOf=n,t.AsyncMode=R,t.ConcurrentMode=F,t.ContextConsumer=G,t.ContextProvider=B,t.Element=z,t.ForwardRef=H,t.Fragment=$,t.Lazy=U,t.Memo=W,t.Portal=V,t.Profiler=X,t.StrictMode=Y,t.Suspense=q,t.isValidElementType=e,t.isAsyncMode=r,t.isConcurrentMode=o,t.isContextConsumer=i,t.isContextProvider=a,t.isElement=u,t.isForwardRef=s,t.isFragment=c,t.isLazy=l,t.isMemo=f,t.isPortal=p,t.isProfiler=d,t.isStrictMode=h,t.isSuspense=m}()}).call(t,n(9))},function(e,t,n){"use strict";(function(t){function r(){return null}var o=n(49),i=n(90),a=n(33),u=n(91),s=Function.call.bind(Object.prototype.hasOwnProperty),c=function(){};"production"!==t.env.NODE_ENV&&(c=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}),e.exports=function(e,n){function l(e){var t=e&&(k&&e[k]||e[M]);if("function"==typeof t)return t}function f(e,t){return e===t?0!==e||1/e==1/t:e!==e&&t!==t}function p(e){this.message=e,this.stack=""}function d(e){function r(r,u,s,l,f,d,h){if(l=l||P,d=d||s,h!==a){if(n){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}if("production"!==t.env.NODE_ENV&&"undefined"!=typeof console){var v=l+":"+s;!o[v]&&i<3&&(c("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+l+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),o[v]=!0,i++)}}return null==u[s]?r?new p(null===u[s]?"The "+f+" `"+d+"` is marked as required in `"+l+"`, but its value is `null`.":"The "+f+" `"+d+"` is marked as required in `"+l+"`, but its value is `undefined`."):null:e(u,s,l,f,d)}if("production"!==t.env.NODE_ENV)var o={},i=0;var u=r.bind(null,!1);return u.isRequired=r.bind(null,!0),u}function h(e){function t(t,n,r,o,i,a){var u=t[n];if(E(u)!==e)return new p("Invalid "+o+" `"+i+"` of type `"+C(u)+"` supplied to `"+r+"`, expected `"+e+"`.");return null}return d(t)}function m(e){function t(t,n,r,o,i){if("function"!=typeof e)return new p("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var u=t[n];if(!Array.isArray(u)){return new p("Invalid "+o+" `"+i+"` of type `"+E(u)+"` supplied to `"+r+"`, expected an array.")}for(var s=0;s<u.length;s++){var c=e(u,s,r,o,i+"["+s+"]",a);if(c instanceof Error)return c}return null}return d(t)}function v(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||P;return new p("Invalid "+o+" `"+i+"` of type `"+O(t[n])+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null}return d(t)}function y(e){function n(t,n,r,o,i){for(var a=t[n],u=0;u<e.length;u++)if(f(a,e[u]))return null;var s=JSON.stringify(e,function(e,t){return"symbol"===C(t)?String(t):t});return new p("Invalid "+o+" `"+i+"` of value `"+String(a)+"` supplied to `"+r+"`, expected one of "+s+".")}return Array.isArray(e)?d(n):("production"!==t.env.NODE_ENV&&c(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),r)}function g(e){function t(t,n,r,o,i){if("function"!=typeof e)return new p("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var u=t[n],c=E(u);if("object"!==c)return new p("Invalid "+o+" `"+i+"` of type `"+c+"` supplied to `"+r+"`, expected an object.");for(var l in u)if(s(u,l)){var f=e(u,l,r,o,i+"."+l,a);if(f instanceof Error)return f}return null}return d(t)}function b(e){function n(t,n,r,o,i){for(var u=0;u<e.length;u++){if(null==(0,e[u])(t,n,r,o,i,a))return null}return new p("Invalid "+o+" `"+i+"` supplied to `"+r+"`.")}if(!Array.isArray(e))return"production"!==t.env.NODE_ENV&&c("Invalid argument supplied to oneOfType, expected an instance of array."),r;for(var o=0;o<e.length;o++){var i=e[o];if("function"!=typeof i)return c("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+N(i)+" at index "+o+"."),r}return d(n)}function w(e){function t(t,n,r,o,i){var u=t[n],s=E(u);if("object"!==s)return new p("Invalid "+o+" `"+i+"` of type `"+s+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var l=e[c];if(l){var f=l(u,c,r,o,i+"."+c,a);if(f)return f}}return null}return d(t)}function _(e){function t(t,n,r,o,u){var s=t[n],c=E(s);if("object"!==c)return new p("Invalid "+o+" `"+u+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var l=i({},t[n],e);for(var f in l){var d=e[f];if(!d)return new p("Invalid "+o+" `"+u+"` key `"+f+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null,"  "));var h=d(s,f,r,o,u+"."+f,a);if(h)return h}return null}return d(t)}function x(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(x);if(null===t||e(t))return!0;var n=l(t);if(!n)return!1;var r,o=n.call(t);if(n!==t.entries){for(;!(r=o.next()).done;)if(!x(r.value))return!1}else for(;!(r=o.next()).done;){var i=r.value;if(i&&!x(i[1]))return!1}return!0;default:return!1}}function S(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function E(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":S(t,e)?"symbol":t}function C(e){if(void 0===e||null===e)return""+e;var t=E(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function N(e){var t=C(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function O(e){return e.constructor&&e.constructor.name?e.constructor.name:P}var k="function"==typeof Symbol&&Symbol.iterator,M="@@iterator",P="<<anonymous>>",T={array:h("array"),bool:h("boolean"),func:h("function"),number:h("number"),object:h("object"),string:h("string"),symbol:h("symbol"),any:function(){return d(r)}(),arrayOf:m,element:function(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){return new p("Invalid "+o+" `"+i+"` of type `"+E(a)+"` supplied to `"+r+"`, expected a single ReactElement.")}return null}return d(t)}(),elementType:function(){function e(e,t,n,r,i){var a=e[t];if(!o.isValidElementType(a)){return new p("Invalid "+r+" `"+i+"` of type `"+E(a)+"` supplied to `"+n+"`, expected a single ReactElement type.")}return null}return d(e)}(),instanceOf:v,node:function(){function e(e,t,n,r,o){return x(e[t])?null:new p("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}return d(e)}(),objectOf:g,oneOf:y,oneOfType:b,shape:w,exact:_};return p.prototype=Error.prototype,T.checkPropTypes=u,T.resetWarningCache=u.resetWarningCache,T.PropTypes=T,T}}).call(t,n(9))},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/*
-object-assign
-(c) Sindre Sorhus
-@license MIT
-*/
-var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,u,s=r(e),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)i.call(n,l)&&(s[l]=n[l]);if(o){u=o(n);for(var f=0;f<u.length;f++)a.call(n,u[f])&&(s[u[f]]=n[u[f]])}}return s}},function(e,t,n){"use strict";(function(t){function r(e,n,r,s,c){if("production"!==t.env.NODE_ENV)for(var l in e)if(u(e,l)){var f;try{if("function"!=typeof e[l]){var p=Error((s||"React class")+": "+r+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.");throw p.name="Invariant Violation",p}f=e[l](n,l,s,r,null,i)}catch(e){f=e}if(!f||f instanceof Error||o((s||"React class")+": type specification of "+r+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof f+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),f instanceof Error&&!(f.message in a)){a[f.message]=!0;var d=c?c():"";o("Failed "+r+" type: "+f.message+(null!=d?d:""))}}}var o=function(){};if("production"!==t.env.NODE_ENV){var i=n(33),a={},u=Function.call.bind(Object.prototype.hasOwnProperty);o=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}r.resetWarningCache=function(){"production"!==t.env.NODE_ENV&&(a={})},e.exports=r}).call(t,n(9))},function(e,t,n){"use strict";function r(){}function o(){}var i=n(33);o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,a){if(a!==i){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:r};return n.PropTypes=n,n}},function(e,t,n){!function(){"use strict";function t(){}function n(e,n){var r,o,i,a,u=j;for(a=arguments.length;a-- >2;)A.push(arguments[a]);for(n&&null!=n.children&&(A.length||A.push(n.children),delete n.children);A.length;)if((o=A.pop())&&void 0!==o.pop)for(a=o.length;a--;)A.push(o[a]);else!0!==o&&!1!==o||(o=null),(i="function"!=typeof e)&&(null==o?o="":"number"==typeof o?o=String(o):"string"!=typeof o&&(i=!1)),i&&r?u[u.length-1]+=o:u===j?u=[o]:u.push(o),r=i;var s=new t;return s.nodeName=e,s.children=u,s.attributes=null==n?void 0:n,s.key=null==n?void 0:n.key,void 0!==T.vnode&&T.vnode(s),s}function r(e,t){for(var n in t)e[n]=t[n];return e}function o(e,t){return n(e.nodeName,r(r({},e.attributes),t),arguments.length>2?[].slice.call(arguments,2):e.children)}function i(e){!e.__d&&(e.__d=!0)&&1==I.push(e)&&(T.debounceRendering||setTimeout)(a)}function a(){var e,t=I;for(I=[];e=t.pop();)e.__d&&N(e)}function u(e,t,n){return"string"==typeof t||"number"==typeof t?void 0!==e.splitText:"string"==typeof t.nodeName?!e._componentConstructor&&s(e,t.nodeName):n||e._componentConstructor===t.nodeName}function s(e,t){return e.__n===t||e.nodeName.toLowerCase()===t.toLowerCase()}function c(e){var t=r({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var o in n)void 0===t[o]&&(t[o]=n[o]);return t}function l(e,t){var n=t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e);return n.__n=e,n}function f(e){e.parentNode&&e.parentNode.removeChild(e)}function p(e,t,n,r,o){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)n&&n(null),r&&r(e);else if("class"!==t||o)if("style"===t){if(r&&"string"!=typeof r&&"string"!=typeof n||(e.style.cssText=r||""),r&&"object"==typeof r){if("string"!=typeof n)for(var i in n)i in r||(e.style[i]="");for(var i in r)e.style[i]="number"==typeof r[i]&&!1===D.test(i)?r[i]+"px":r[i]}}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var a=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||e.addEventListener(t,h,a):e.removeEventListener(t,h,a),(e.__l||(e.__l={}))[t]=r}else if("list"!==t&&"type"!==t&&!o&&t in e)d(e,t,null==r?"":r),null!=r&&!1!==r||e.removeAttribute(t);else{var u=o&&t!==(t=t.replace(/^xlink\:?/,""));null==r||!1===r?u?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof r&&(u?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function d(e,t,n){try{e[t]=n}catch(e){}}function h(e){return this.__l[e.type](T.event&&T.event(e)||e)}function m(){for(var e;e=L.pop();)T.afterMount&&T.afterMount(e),e.componentDidMount&&e.componentDidMount()}function v(e,t,n,r,o,i){R++||(F=null!=o&&void 0!==o.ownerSVGElement,G=null!=e&&!("__preactattr_"in e));var a=y(e,t,n,r,i);return o&&a.parentNode!==o&&o.appendChild(a),--R||(G=!1,i||m()),a}function y(e,t,n,r,o){var i=e,a=F;if(null==t&&(t=""),"string"==typeof t)return e&&void 0!==e.splitText&&e.parentNode&&(!e._component||o)?e.nodeValue!=t&&(e.nodeValue=t):(i=document.createTextNode(t),e&&(e.parentNode&&e.parentNode.replaceChild(i,e),b(e,!0))),i.__preactattr_=!0,i;if("function"==typeof t.nodeName)return O(e,t,n,r);if(F="svg"===t.nodeName||"foreignObject"!==t.nodeName&&F,(!e||!s(e,String(t.nodeName)))&&(i=l(String(t.nodeName),F),e)){for(;e.firstChild;)i.appendChild(e.firstChild);e.parentNode&&e.parentNode.replaceChild(i,e),b(e,!0)}var u=i.firstChild,c=i.__preactattr_||(i.__preactattr_={}),f=t.children;return!G&&f&&1===f.length&&"string"==typeof f[0]&&null!=u&&void 0!==u.splitText&&null==u.nextSibling?u.nodeValue!=f[0]&&(u.nodeValue=f[0]):(f&&f.length||null!=u)&&g(i,f,n,r,G||null!=c.dangerouslySetInnerHTML),_(i,t.attributes,c),F=a,i}function g(e,t,n,r,o){var i,a,s,c,l=e.childNodes,p=[],d={},h=0,m=0,v=l.length,g=0,w=t?t.length:0;if(0!==v)for(var _=0;_<v;_++){var x=l[_],S=x.__preactattr_,E=w&&S?x._component?x._component.__k:S.key:null;null!=E?(h++,d[E]=x):(S||(void 0!==x.splitText?!o||x.nodeValue.trim():o))&&(p[g++]=x)}if(0!==w)for(var _=0;_<w;_++){s=t[_],c=null;var E=s.key;if(null!=E)h&&void 0!==d[E]&&(c=d[E],d[E]=void 0,h--);else if(!c&&m<g)for(i=m;i<g;i++)if(void 0!==p[i]&&u(a=p[i],s,o)){c=a,p[i]=void 0,i===g-1&&g--,i===m&&m++;break}c=y(c,s,n,r),c&&c!==e&&(_>=v?e.appendChild(c):c!==l[_]&&(c===l[_+1]?f(l[_]):e.insertBefore(c,l[_]||null)))}if(h)for(var _ in d)void 0!==d[_]&&b(d[_],!1);for(;m<=g;)void 0!==(c=p[g--])&&b(c,!1)}function b(e,t){var n=e._component;n?k(n):(null!=e.__preactattr_&&e.__preactattr_.ref&&e.__preactattr_.ref(null),!1!==t&&null!=e.__preactattr_||f(e),w(e))}function w(e){for(e=e.lastChild;e;){var t=e.previousSibling;b(e,!0),e=t}}function _(e,t,n){var r;for(r in n)t&&null!=t[r]||null==n[r]||p(e,r,n[r],n[r]=void 0,F);for(r in t)"children"===r||"innerHTML"===r||r in n&&t[r]===("value"===r||"checked"===r?e[r]:n[r])||p(e,r,n[r],n[r]=t[r],F)}function x(e){var t=e.constructor.name;(B[t]||(B[t]=[])).push(e)}function S(e,t,n){var r,o=B[e.name];if(e.prototype&&e.prototype.render?(r=new e(t,n),M.call(r,t,n)):(r=new M(t,n),r.constructor=e,r.render=E),o)for(var i=o.length;i--;)if(o[i].constructor===e){r.__b=o[i].__b,o.splice(i,1);break}return r}function E(e,t,n){return this.constructor(e,n)}function C(e,t,n,r,o){e.__x||(e.__x=!0,(e.__r=t.ref)&&delete t.ref,(e.__k=t.key)&&delete t.key,!e.base||o?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,r),r&&r!==e.context&&(e.__c||(e.__c=e.context),e.context=r),e.__p||(e.__p=e.props),e.props=t,e.__x=!1,0!==n&&(1!==n&&!1===T.syncComponentUpdates&&e.base?i(e):N(e,1,o)),e.__r&&e.__r(e))}function N(e,t,n,o){if(!e.__x){var i,a,u,s=e.props,l=e.state,f=e.context,p=e.__p||s,d=e.__s||l,h=e.__c||f,y=e.base,g=e.__b,w=y||g,_=e._component,x=!1;if(y&&(e.props=p,e.state=d,e.context=h,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(s,l,f)?x=!0:e.componentWillUpdate&&e.componentWillUpdate(s,l,f),e.props=s,e.state=l,e.context=f),e.__p=e.__s=e.__c=e.__b=null,e.__d=!1,!x){i=e.render(s,l,f),e.getChildContext&&(f=r(r({},f),e.getChildContext()));var E,O,M=i&&i.nodeName;if("function"==typeof M){var P=c(i);a=_,a&&a.constructor===M&&P.key==a.__k?C(a,P,1,f,!1):(E=a,e._component=a=S(M,P,f),a.__b=a.__b||g,a.__u=e,C(a,P,0,f,!1),N(a,1,n,!0)),O=a.base}else u=w,E=_,E&&(u=e._component=null),(w||1===t)&&(u&&(u._component=null),O=v(u,i,f,n||!y,w&&w.parentNode,!0));if(w&&O!==w&&a!==_){var A=w.parentNode;A&&O!==A&&(A.replaceChild(O,w),E||(w._component=null,b(w,!1)))}if(E&&k(E),e.base=O,O&&!o){for(var j=e,D=e;D=D.__u;)(j=D).base=O;O._component=j,O._componentConstructor=j.constructor}}if(!y||n?L.unshift(e):x||(m(),e.componentDidUpdate&&e.componentDidUpdate(p,d,h),T.afterUpdate&&T.afterUpdate(e)),null!=e.__h)for(;e.__h.length;)e.__h.pop().call(e);R||o||m()}}function O(e,t,n,r){for(var o=e&&e._component,i=o,a=e,u=o&&e._componentConstructor===t.nodeName,s=u,l=c(t);o&&!s&&(o=o.__u);)s=o.constructor===t.nodeName;return o&&s&&(!r||o._component)?(C(o,l,3,n,r),e=o.base):(i&&!u&&(k(i),e=a=null),o=S(t.nodeName,l,n),e&&!o.__b&&(o.__b=e,a=null),C(o,l,1,n,r),e=o.base,a&&e!==a&&(a._component=null,b(a,!1))),e}function k(e){T.beforeUnmount&&T.beforeUnmount(e);var t=e.base;e.__x=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?k(n):t&&(t.__preactattr_&&t.__preactattr_.ref&&t.__preactattr_.ref(null),e.__b=t,f(t),x(e),w(t)),e.__r&&e.__r(null)}function M(e,t){this.__d=!0,this.context=t,this.props=e,this.state=this.state||{}}function P(e,t,n){return v(n,e,{},!1,t,!1)}var T={},A=[],j=[],D=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,I=[],L=[],R=0,F=!1,G=!1,B={};r(M.prototype,{setState:function(e,t){var n=this.state;this.__s||(this.__s=r({},n)),r(n,"function"==typeof e?e(n,this.props):e),t&&(this.__h=this.__h||[]).push(t),i(this)},forceUpdate:function(e){e&&(this.__h=this.__h||[]).push(e),N(this,2)},render:function(){}});var z={h:n,createElement:n,cloneElement:o,Component:M,render:P,rerender:a,options:T};e.exports=z}()},function(e,t,n){"use strict";e.exports=n(95).polyfill()},function(e,t,n){(function(t,r){/*!
- * @overview es6-promise - a tiny implementation of Promises/A+.
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
- * @license   Licensed under MIT license
- *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
- * @version   4.1.1
- */
-!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}function o(e){return"function"==typeof e}function i(e){W=e}function a(e){V=e}function u(){return void 0!==U?function(){U(c)}:s()}function s(){var e=setTimeout;return function(){return e(c,1)}}function c(){for(var e=0;e<$;e+=2){(0,Z[e])(Z[e+1]),Z[e]=void 0,Z[e+1]=void 0}$=0}function l(e,t){var n=arguments,r=this,o=new this.constructor(p);void 0===o[ee]&&T(o);var i=r._state;return i?function(){var e=n[i-1];V(function(){return k(i,o,e,r._result)})}():E(r,o,e,t),o}function f(e){var t=this;if(e&&"object"==typeof e&&e.constructor===t)return e;var n=new t(p);return w(n,e),n}function p(){}function d(){return new TypeError("You cannot resolve a promise with itself")}function h(){return new TypeError("A promises callback cannot return that same promise.")}function m(e){try{return e.then}catch(e){return oe.error=e,oe}}function v(e,t,n,r){try{e.call(t,n,r)}catch(e){return e}}function y(e,t,n){V(function(e){var r=!1,o=v(n,t,function(n){r||(r=!0,t!==n?w(e,n):x(e,n))},function(t){r||(r=!0,S(e,t))},"Settle: "+(e._label||" unknown promise"));!r&&o&&(r=!0,S(e,o))},e)}function g(e,t){t._state===ne?x(e,t._result):t._state===re?S(e,t._result):E(t,void 0,function(t){return w(e,t)},function(t){return S(e,t)})}function b(e,t,n){t.constructor===e.constructor&&n===l&&t.constructor.resolve===f?g(e,t):n===oe?(S(e,oe.error),oe.error=null):void 0===n?x(e,t):o(n)?y(e,t,n):x(e,t)}function w(t,n){t===n?S(t,d()):e(n)?b(t,n,m(n)):x(t,n)}function _(e){e._onerror&&e._onerror(e._result),C(e)}function x(e,t){e._state===te&&(e._result=t,e._state=ne,0!==e._subscribers.length&&V(C,e))}function S(e,t){e._state===te&&(e._state=re,e._result=t,V(_,e))}function E(e,t,n,r){var o=e._subscribers,i=o.length;e._onerror=null,o[i]=t,o[i+ne]=n,o[i+re]=r,0===i&&e._state&&V(C,e)}function C(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var r=void 0,o=void 0,i=e._result,a=0;a<t.length;a+=3)r=t[a],o=t[a+n],r?k(n,r,o,i):o(i);e._subscribers.length=0}}function N(){this.error=null}function O(e,t){try{return e(t)}catch(e){return ie.error=e,ie}}function k(e,t,n,r){var i=o(n),a=void 0,u=void 0,s=void 0,c=void 0;if(i){if(a=O(n,r),a===ie?(c=!0,u=a.error,a.error=null):s=!0,t===a)return void S(t,h())}else a=r,s=!0;t._state!==te||(i&&s?w(t,a):c?S(t,u):e===ne?x(t,a):e===re&&S(t,a))}function M(e,t){try{t(function(t){w(e,t)},function(t){S(e,t)})}catch(t){S(e,t)}}function P(){return ae++}function T(e){e[ee]=ae++,e._state=void 0,e._result=void 0,e._subscribers=[]}function A(e,t){this._instanceConstructor=e,this.promise=new e(p),this.promise[ee]||T(this.promise),H(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?x(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&x(this.promise,this._result))):S(this.promise,j())}function j(){return new Error("Array Methods must be provided an Array")}function D(e){return new A(this,e).promise}function I(e){var t=this;return new t(H(e)?function(n,r){for(var o=e.length,i=0;i<o;i++)t.resolve(e[i]).then(n,r)}:function(e,t){return t(new TypeError("You must pass an array to race."))})}function L(e){var t=this,n=new t(p);return S(n,e),n}function R(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function F(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function G(e){this[ee]=P(),this._result=this._state=void 0,this._subscribers=[],p!==e&&("function"!=typeof e&&R(),this instanceof G?M(this,e):F())}function B(){var e=void 0;if(void 0!==r)e=r;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=G}var z=void 0;z=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var H=z,$=0,U=void 0,W=void 0,V=function(e,t){Z[$]=e,Z[$+1]=t,2===($+=2)&&(W?W(c):Q())},X="undefined"!=typeof window?window:void 0,Y=X||{},q=Y.MutationObserver||Y.WebKitMutationObserver,K="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),J="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Z=new Array(1e3),Q=void 0;Q=K?function(){return function(){return t.nextTick(c)}}():q?function(){var e=0,t=new q(c),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():J?function(){var e=new MessageChannel;return e.port1.onmessage=c,function(){return e.port2.postMessage(0)}}():void 0===X?function(){try{var e=n(97);return U=e.runOnLoop||e.runOnContext,u()}catch(e){return s()}}():s();var ee=Math.random().toString(36).substring(16),te=void 0,ne=1,re=2,oe=new N,ie=new N,ae=0;return A.prototype._enumerate=function(e){for(var t=0;this._state===te&&t<e.length;t++)this._eachEntry(e[t],t)},A.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,r=n.resolve;if(r===f){var o=m(e);if(o===l&&e._state!==te)this._settledAt(e._state,t,e._result);else if("function"!=typeof o)this._remaining--,this._result[t]=e;else if(n===G){var i=new n(p);b(i,e,o),this._willSettleAt(i,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(r(e),t)},A.prototype._settledAt=function(e,t,n){var r=this.promise;r._state===te&&(this._remaining--,e===re?S(r,n):this._result[t]=n),0===this._remaining&&x(r,this._result)},A.prototype._willSettleAt=function(e,t){var n=this;E(e,void 0,function(e){return n._settledAt(ne,t,e)},function(e){return n._settledAt(re,t,e)})},G.all=D,G.race=I,G.resolve=f,G.reject=L,G._setScheduler=i,G._setAsap=a,G._asap=V,G.prototype={constructor:G,then:l,catch:function(e){return this.then(null,e)}},G.polyfill=B,G.Promise=G,G})}).call(t,n(9),n(96))},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var o=n(99),i=r(o),a=n(119),u=r(a),s=n(64),c=r(s),l=n(29),f=r(l),p=n(30),d=r(p),h=n(66),m=r(h),v=n(70),y=r(v),g=n(5),b=r(g),w=n(143),_=r(w),x=n(150),S=r(x),E=n(151),C=r(E);n(160);var N=n(71),O=n(80),k=r(O),M=n(188),P=r(M),T=n(189),A=r(T),j=n(190),D=r(j),I=n(81),L=r(I),R=n(218),F=n(219),G=r(F),B=function(e){function t(e){(0,f.default)(this,t);var n=(0,m.default)(this,(t.__proto__||(0,c.default)(t)).call(this,e));n.state={user:null,issue:null,comments:[],localComments:[],comment:"",page:1,pagerDirection:"last",cursor:null,previewHtml:"",isNoInit:!1,isIniting:!0,isCreating:!1,isLoading:!1,isLoadMore:!1,isLoadOver:!1,isIssueCreating:!1,isPopupVisible:!1,isInputFocused:!1,isPreview:!1,isOccurError:!1,errorMsg:""},n.getCommentsV3=function(e){var t=n.options,r=t.clientID,o=t.clientSecret,i=t.perPage,a=n.state.page;return n.getIssue().then(function(e){if(e)return N.axiosGithub.get(e.comments_url,{headers:{Accept:"application/vnd.github.v3.full+json"},auth:{username:r,password:o},params:{per_page:i,page:a}}).then(function(e){var t=n.state,r=t.comments,o=t.issue,u=!1,s=r.concat(e.data);return(s.length>=o.comments||e.data.length<i)&&(u=!0),n.setState({comments:s,isLoadOver:u,page:a+1}),s})})},n.getRef=function(e){n.publicBtnEL=e},n.reply=function(e){return function(){var t=n.state.comment,r=e.body,o=r.split("\n");o.unshift("@"+e.user.login),o=o.map(function(e){return"> "+e}),o.push(""),o.push(""),t&&o.unshift(""),n.setState({comment:t+o.join("\n")},function(){S.default.update(n.commentEL),n.commentEL.focus()})}},n.handlePopup=function(e){e.preventDefault(),e.stopPropagation();var t=!n.state.isPopupVisible,r=function e(t){(0,N.hasClassInParent)(t.target,"gt-user","gt-popup")||(window.document.removeEventListener("click",e),n.setState({isPopupVisible:!1}))};n.setState({isPopupVisible:t}),t?window.document.addEventListener("click",r):window.document.removeEventListener("click",r)},n.handleLogin=function(){var e=n.state.comment;window.localStorage.setItem(R.GT_COMMENT,encodeURIComponent(e)),window.location.href=n.loginLink},n.handleIssueCreate=function(){n.setState({isIssueCreating:!0}),n.createIssue().then(function(e){return n.setState({isIssueCreating:!1,isOccurError:!1}),n.getComments(e)}).catch(function(e){n.setState({isIssueCreating:!1,isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(e)})}).then(function(e){e&&n.setState({isNoInit:!1})})},n.handleCommentCreate=function(e){if(!n.state.comment.length)return e&&e.preventDefault(),void n.commentEL.focus();n.setState(function(e){if(!e.isCreating)return n.createComment().then(function(){return n.setState({isCreating:!1,isOccurError:!1})}).catch(function(e){n.setState({isCreating:!1,isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(e)})}),{isCreating:!0}})},n.handleCommentPreview=function(e){n.setState({isPreview:!n.state.isPreview}),N.axiosGithub.post("/markdown",{text:n.state.comment},{headers:n.accessToken&&{Authorization:"token "+n.accessToken}}).then(function(e){n.setState({previewHtml:e.data})}).catch(function(e){n.setState({isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(e)})})},n.handleCommentLoad=function(){var e=n.state,t=e.issue;e.isLoadMore||(n.setState({isLoadMore:!0}),n.getComments(t).then(function(){return n.setState({isLoadMore:!1})}))},n.handleCommentChange=function(e){return n.setState({comment:e.target.value})},n.handleLogout=function(){n.logout(),window.location.reload()},n.handleCommentFocus=function(e){if(!n.options.distractionFreeMode)return e.preventDefault();n.setState({isInputFocused:!0})},n.handleCommentBlur=function(e){if(!n.options.distractionFreeMode)return e.preventDefault();n.setState({isInputFocused:!1})},n.handleSort=function(e){return function(t){n.setState({pagerDirection:e})}},n.handleCommentKeyDown=function(e){n.options.enableHotKey&&(e.metaKey||e.ctrlKey)&&13===e.keyCode&&(n.publicBtnEL&&n.publicBtnEL.focus(),n.handleCommentCreate())},n.options=(0,u.default)({},{id:window.location.href,number:-1,labels:["Gitalk"],title:window.document.title,body:"",language:window.navigator.language||window.navigator.userLanguage,perPage:10,pagerDirection:"last",createIssueManually:!1,distractionFreeMode:!1,proxy:"https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token",flipMoveOptions:{staggerDelayBy:150,appearAnimation:"accordionVertical",enterAnimation:"accordionVertical",leaveAnimation:"accordionVertical"},enableHotKey:!0,url:window.location.href,defaultAuthor:{avatarUrl:"//avatars1.githubusercontent.com/u/29697133?s=50",login:"null",url:""},updateCountCallback:null},e.options),n.state.pagerDirection=n.options.pagerDirection;var r=window.localStorage.getItem(R.GT_COMMENT);r&&(n.state.comment=decodeURIComponent(r),window.localStorage.removeItem(R.GT_COMMENT));var o=(0,N.queryParse)();if(o.code){var i=o.code;delete o.code;var a=""+window.location.origin+window.location.pathname+(0,N.queryStringify)(o)+window.location.hash;history.replaceState(null,null,a),n.options=(0,u.default)({},n.options,{url:a,id:a},e.options),N.axiosJSON.post(n.options.proxy,{code:i,client_id:n.options.clientID,client_secret:n.options.clientSecret}).then(function(e){e.data&&e.data.access_token?(n.accessToken=e.data.access_token,n.getInit().then(function(){return n.setState({isIniting:!1})}).catch(function(e){console.log("err:",e),n.setState({isIniting:!1,isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(e)})})):(console.log("res.data err:",e.data),n.setState({isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(new Error("no access token"))}))}).catch(function(e){console.log("err: ",e),n.setState({isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(e)})})}else n.getInit().then(function(){return n.setState({isIniting:!1})}).catch(function(e){console.log("err:",e),n.setState({isIniting:!1,isOccurError:!0,errorMsg:(0,N.formatErrorMsg)(e)})});return n.i18n=(0,C.default)(n.options.language),n}return(0,y.default)(t,e),(0,d.default)(t,[{key:"componentDidUpdate",value:function(){this.commentEL&&(0,S.default)(this.commentEL)}},{key:"getInit",value:function(){var e=this;return this.getUserInfo().then(function(){return e.getIssue()}).then(function(t){return e.getComments(t)})}},{key:"getUserInfo",value:function(){var e=this;return N.axiosGithub.get("/user",{headers:{Authorization:"token "+this.accessToken}}).then(function(t){e.setState({user:t.data})}).catch(function(t){e.logout()})}},{key:"getIssueById",value:function(){var e=this,t=this.options,n=t.owner,r=t.repo,o=t.number,a=t.clientID,u=t.clientSecret,s="/repos/"+n+"/"+r+"/issues/"+o;return new i.default(function(t,n){N.axiosGithub.get(s,{auth:{username:a,password:u},params:{t:Date.now()}}).then(function(n){var r=null;n&&n.data&&n.data.number===o&&(r=n.data,e.setState({issue:r,isNoInit:!1})),t(r)}).catch(function(e){404===e.response.status&&t(null),n(e)})})}},{key:"getIssueByLabels",value:function(){var e=this,t=this.options,n=t.owner,r=t.repo,o=t.id,i=t.labels,a=t.clientID,u=t.clientSecret;return N.axiosGithub.get("/repos/"+n+"/"+r+"/issues",{auth:{username:a,password:u},params:{labels:i.concat(o).join(","),t:Date.now()}}).then(function(t){var n=e.options.createIssueManually,r=!1,o=null;if(t&&t.data&&t.data.length)o=t.data[0];else{if(!n&&e.isAdmin)return e.createIssue();r=!0}return e.setState({issue:o,isNoInit:r}),o})}},{key:"getIssue",value:function(){var e=this,t=this.options.number,n=this.state.issue;return n?(this.setState({isNoInit:!1}),i.default.resolve(n)):"number"==typeof t&&t>0?this.getIssueById().then(function(t){return t||e.getIssueByLabels()}):this.getIssueByLabels()}},{key:"createIssue",value:function(){var e=this,t=this.options,n=t.owner,r=t.repo,o=t.title,i=t.body,a=t.id,u=t.labels,s=t.url;return N.axiosGithub.post("/repos/"+n+"/"+r+"/issues",{title:o,labels:u.concat(a),body:i||s+" \n\n "+((0,N.getMetaContent)("description")||(0,N.getMetaContent)("description","og:description")||"")},{headers:{Authorization:"token "+this.accessToken}}).then(function(t){return e.setState({issue:t.data}),t.data})}},{key:"getComments",value:function(e){if(e)return this.accessToken?G.default.call(this,e):this.getCommentsV3(e)}},{key:"createComment",value:function(){var e=this,t=this.state,n=t.comment,r=t.localComments,o=t.comments;return this.getIssue().then(function(t){return N.axiosGithub.post(t.comments_url,{body:n},{headers:{Accept:"application/vnd.github.v3.full+json",Authorization:"token "+e.accessToken}})}).then(function(t){e.setState({comment:"",comments:o.concat(t.data),localComments:r.concat(t.data)})})}},{key:"logout",value:function(){this.setState({user:null}),window.localStorage.removeItem(R.GT_ACCESS_TOKEN)}},{key:"like",value:function(e){var t=this,n=this.options,r=n.owner,o=n.repo,i=this.state.user,a=this.state.comments;N.axiosGithub.post("/repos/"+r+"/"+o+"/issues/comments/"+e.id+"/reactions",{content:"heart"},{headers:{Authorization:"token "+this.accessToken,Accept:"application/vnd.github.squirrel-girl-preview"}}).then(function(n){a=a.map(function(t){return t.id===e.id&&(t.reactions?~t.reactions.nodes.findIndex(function(e){return e.user.login===i.login})||(t.reactions.totalCount+=1):(t.reactions={nodes:[]},t.reactions.totalCount=1),t.reactions.nodes.push(n.data),t.reactions.viewerHasReacted=!0),t}),t.setState({comments:a})})}},{key:"unLike",value:function(e){var t=this,n=this.state.user,r=this.state.comments;N.axiosGithub.post("/graphql",function(e){return{operationName:"RemoveReaction",query:'\n          mutation RemoveReaction{\n            removeReaction (input:{\n              subjectId: "'+e+'",\n              content: HEART\n            }) {\n              reaction {\n                content\n              }\n            }\n          }\n        '}}(e.gId),{headers:{Authorization:"bearer "+this.accessToken}}).then(function(o){o.data&&(r=r.map(function(t){if(t.id===e.id){var r=t.reactions.nodes.findIndex(function(e){return e.user.login===n.login});~r&&(t.reactions.totalCount-=1,t.reactions.nodes.splice(r,1)),t.reactions.viewerHasReacted=!1}return t}),t.setState({comments:r}))})}},{key:"initing",value:function(){return b.default.createElement("div",{className:"gt-initing"},b.default.createElement("i",{className:"gt-loader"}),b.default.createElement("p",{className:"gt-initing-text"},this.i18n.t("init")))}},{key:"noInit",value:function(){var e=this.state,t=e.user,n=e.isIssueCreating,r=this.options,o=r.owner,i=r.repo,a=r.admin;return b.default.createElement("div",{className:"gt-no-init",key:"no-init"},b.default.createElement("p",{dangerouslySetInnerHTML:{__html:this.i18n.t("no-found-related",{link:'<a href="https://github.com/'+o+"/"+i+'/issues">Issues</a>'})}}),b.default.createElement("p",null,this.i18n.t("please-contact",{user:[].concat(a).map(function(e){return"@"+e}).join(" ")})),this.isAdmin?b.default.createElement("p",null,b.default.createElement(P.default,{onClick:this.handleIssueCreate,isLoading:n,text:this.i18n.t("init-issue")})):null,!t&&b.default.createElement(P.default,{className:"gt-btn-login",onClick:this.handleLogin,text:this.i18n.t("login-with-github")}))}},{key:"handleImageErrored",value:function(e){e.target.src="https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg"}},{key:"header",value:function(){var e=this,t=this.state,n=t.user,r=t.comment,o=t.isCreating,i=t.previewHtml,a=t.isPreview;return b.default.createElement("div",{className:"gt-header",key:"header"},n?b.default.createElement(k.default,{className:"gt-header-avatar",src:n.avatar_url,alt:n.login,onError:this.handleImageErrored.bind(this)}):b.default.createElement("a",{className:"gt-avatar-github",onMouseDown:this.handleLogin},b.default.createElement(L.default,{className:"gt-ico-github",name:"github"})),b.default.createElement("div",{className:"gt-header-comment"},b.default.createElement("textarea",{ref:function(t){e.commentEL=t},className:"gt-header-textarea "+(a?"hide":""),value:r,onChange:this.handleCommentChange,onFocus:this.handleCommentFocus,onBlur:this.handleCommentBlur,onKeyDown:this.handleCommentKeyDown,placeholder:this.i18n.t("leave-a-comment")}),b.default.createElement("div",{className:"gt-header-preview markdown-body "+(a?"":"hide"),dangerouslySetInnerHTML:{__html:i}}),b.default.createElement("div",{className:"gt-header-controls"},b.default.createElement("a",{className:"gt-header-controls-tip",href:"https://guides.github.com/features/mastering-markdown/",target:"_blank"},b.default.createElement(L.default,{className:"gt-ico-tip",name:"tip",text:this.i18n.t("support-markdown")})),n&&b.default.createElement(P.default,{getRef:this.getRef,className:"gt-btn-public",onMouseDown:this.handleCommentCreate,text:this.i18n.t("comment"),isLoading:o}),b.default.createElement(P.default,{className:"gt-btn-preview",onMouseDown:this.handleCommentPreview,text:a?this.i18n.t("edit"):this.i18n.t("preview")}),!n&&b.default.createElement(P.default,{className:"gt-btn-login",onMouseDown:this.handleLogin,text:this.i18n.t("login-with-github")}))))}},{key:"comments",value:function(){var e=this,t=this.state,n=t.user,r=t.comments,o=t.isLoadOver,i=t.isLoadMore,a=t.pagerDirection,u=this.options,s=u.language,c=u.flipMoveOptions,l=u.admin,f=r.concat([]);return"last"===a&&this.accessToken&&f.reverse(),b.default.createElement("div",{className:"gt-comments",key:"comments"},b.default.createElement(_.default,c,f.map(function(t){return b.default.createElement(D.default,{comment:t,key:t.id,user:n,language:s,commentedText:e.i18n.t("commented"),admin:l,replyCallback:e.reply(t),likeCallback:t.reactions&&t.reactions.viewerHasReacted?e.unLike.bind(e,t):e.like.bind(e,t)})})),!f.length&&b.default.createElement("p",{className:"gt-comments-null"},this.i18n.t("first-comment-person")),!o&&f.length?b.default.createElement("div",{className:"gt-comments-controls"},b.default.createElement(P.default,{className:"gt-btn-loadmore",onClick:this.handleCommentLoad,isLoading:i,text:this.i18n.t("load-more")})):null)}},{key:"meta",value:function(){var e=this.state,t=e.user,n=e.issue,r=e.isPopupVisible,o=e.pagerDirection,i=e.localComments,a=(n&&n.comments)+i.length,u="last"===o,s=this.options.updateCountCallback;if(s&&"[object Function]"==={}.toString.call(s))try{s(a)}catch(e){console.log("An error occurred executing the updateCountCallback:",e)}return b.default.createElement("div",{className:"gt-meta",key:"meta"},b.default.createElement("span",{className:"gt-counts",dangerouslySetInnerHTML:{__html:this.i18n.t("counts",{counts:'<a class="gt-link gt-link-counts" href="'+(n&&n.html_url)+'" target="_blank">'+a+"</a>",smart_count:a})}}),r&&b.default.createElement("div",{className:"gt-popup"},t?b.default.createElement(A.default,{className:"gt-action-sortasc"+(u?"":" is--active"),onClick:this.handleSort("first"),text:this.i18n.t("sort-asc")}):null,t?b.default.createElement(A.default,{className:"gt-action-sortdesc"+(u?" is--active":""),onClick:this.handleSort("last"),text:this.i18n.t("sort-desc")}):null,t?b.default.createElement(A.default,{className:"gt-action-logout",onClick:this.handleLogout,text:this.i18n.t("logout")}):b.default.createElement("a",{className:"gt-action gt-action-login",onMouseDown:this.handleLogin},this.i18n.t("login-with-github")),b.default.createElement("div",{className:"gt-copyright"},b.default.createElement("a",{className:"gt-link gt-link-project",href:"https://github.com/gitalk/gitalk",target:"_blank"},"Gitalk"),b.default.createElement("span",{className:"gt-version"},R.GT_VERSION))),b.default.createElement("div",{className:"gt-user"},t?b.default.createElement("div",{className:r?"gt-user-inner is--poping":"gt-user-inner",onClick:this.handlePopup},b.default.createElement("span",{className:"gt-user-name"},t.login),b.default.createElement(L.default,{className:"gt-ico-arrdown",name:"arrow_down"})):b.default.createElement("div",{className:r?"gt-user-inner is--poping":"gt-user-inner",onClick:this.handlePopup},b.default.createElement("span",{className:"gt-user-name"},this.i18n.t("anonymous")),b.default.createElement(L.default,{className:"gt-ico-arrdown",name:"arrow_down"}))))}},{key:"render",value:function(){var e=this.state,t=e.isIniting,n=e.isNoInit,r=e.isOccurError,o=e.errorMsg,i=e.isInputFocused;return b.default.createElement("div",{className:"gt-container"+(i?" gt-input-focused":"")},t&&this.initing(),!t&&(n?[]:[this.meta()]),r&&b.default.createElement("div",{className:"gt-error"},o),!t&&(n?[this.noInit()]:[this.header(),this.comments()]))}},{key:"accessToken",get:function(){return this._accessToke||window.localStorage.getItem(R.GT_ACCESS_TOKEN)},set:function(e){window.localStorage.setItem(R.GT_ACCESS_TOKEN,e),this._accessToken=e}},{key:"loginLink",get:function(){var e=this.options.clientID,t={client_id:e,redirect_uri:window.location.href,scope:"public_repo"};return"https://github.com/login/oauth/authorize?"+(0,N.queryStringify)(t)}},{key:"isAdmin",get:function(){var e=this.options.admin,t=this.state.user;return t&&~[].concat(e).map(function(e){return e.toLowerCase()}).indexOf(t.login.toLowerCase())}}]),t}(g.Component);e.exports=B},function(e,t,n){e.exports={default:n(100),__esModule:!0}},function(e,t,n){n(50),n(20),n(27),n(109),n(117),n(118),e.exports=n(0).Promise},function(e,t,n){var r=n(34),o=n(35);e.exports=function(e){return function(t,n){var i,a,u=String(o(t)),s=r(n),c=u.length;return s<0||s>=c?e?"":void 0:(i=u.charCodeAt(s),i<55296||i>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?e?u.charAt(s):i:e?u.slice(s,s+2):a-56320+(i-55296<<10)+65536)}}},function(e,t,n){"use strict";var r=n(36),o=n(19),i=n(26),a={};n(11)(a,n(2)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(e,t+" Iterator")}},function(e,t,n){var r=n(7),o=n(6),i=n(22);e.exports=n(8)?Object.defineProperties:function(e,t){o(e);for(var n,a=i(t),u=a.length,s=0;u>s;)r.f(e,n=a[s++],t[n]);return e}},function(e,t,n){var r=n(16),o=n(37),i=n(105);e.exports=function(e){return function(t,n,a){var u,s=r(t),c=o(s.length),l=i(a,c);if(e&&n!=n){for(;c>l;)if((u=s[l++])!=u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}}},function(e,t,n){var r=n(34),o=Math.max,i=Math.min;e.exports=function(e,t){return e=r(e),e<0?o(e+t,0):i(e,t)}},function(e,t,n){"use strict";var r=n(107),o=n(108),i=n(15),a=n(16);e.exports=n(51)(Array,"Array",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,o(1)):"keys"==t?o(0,n):"values"==t?o(0,e[n]):o(0,[n,e[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){"use strict";var r,o,i,a,u=n(21),s=n(1),c=n(13),l=n(41),f=n(4),p=n(10),d=n(24),h=n(110),m=n(111),v=n(59),y=n(60).set,g=n(113)(),b=n(43),w=n(61),_=n(114),x=n(62),S=s.TypeError,E=s.process,C=E&&E.versions,N=C&&C.v8||"",O=s.Promise,k="process"==l(E),M=function(){},P=o=b.f,T=!!function(){try{var e=O.resolve(1),t=(e.constructor={})[n(2)("species")]=function(e){e(M,M)};return(k||"function"==typeof PromiseRejectionEvent)&&e.then(M)instanceof t&&0!==N.indexOf("6.6")&&-1===_.indexOf("Chrome/66")}catch(e){}}(),A=function(e){var t;return!(!p(e)||"function"!=typeof(t=e.then))&&t},j=function(e,t){if(!e._n){e._n=!0;var n=e._c;g(function(){for(var r=e._v,o=1==e._s,i=0;n.length>i;)!function(t){var n,i,a,u=o?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{u?(o||(2==e._h&&L(e),e._h=1),!0===u?n=r:(l&&l.enter(),n=u(r),l&&(l.exit(),a=!0)),n===t.promise?c(S("Promise-chain cycle")):(i=A(n))?i.call(n,s,c):s(n)):c(r)}catch(e){l&&!a&&l.exit(),c(e)}}(n[i++]);e._c=[],e._n=!1,t&&!e._h&&D(e)})}},D=function(e){y.call(s,function(){var t,n,r,o=e._v,i=I(e);if(i&&(t=w(function(){k?E.emit("unhandledRejection",o,e):(n=s.onunhandledrejection)?n({promise:e,reason:o}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",o)}),e._h=k||I(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},I=function(e){return 1!==e._h&&0===(e._a||e._c).length},L=function(e){y.call(s,function(){var t;k?E.emit("rejectionHandled",e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})})},R=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),j(t,!0))},F=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw S("Promise can't be resolved itself");(t=A(e))?g(function(){var r={_w:n,_d:!1};try{t.call(e,c(F,r,1),c(R,r,1))}catch(e){R.call(r,e)}}):(n._v=e,n._s=1,j(n,!1))}catch(e){R.call({_w:n,_d:!1},e)}}};T||(O=function(e){h(this,O,"Promise","_h"),d(e),r.call(this);try{e(c(F,this,1),c(R,this,1))}catch(e){R.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(115)(O.prototype,{then:function(e,t){var n=P(v(this,O));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=k?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&j(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=c(F,e,1),this.reject=c(R,e,1)},b.f=P=function(e){return e===O||e===a?new i(e):o(e)}),f(f.G+f.W+f.F*!T,{Promise:O}),n(26)(O,"Promise"),n(116)("Promise"),a=n(0).Promise,f(f.S+f.F*!T,"Promise",{reject:function(e){var t=P(this);return(0,t.reject)(e),t.promise}}),f(f.S+f.F*(u||!T),"Promise",{resolve:function(e){return x(u&&this===a?O:this,e)}}),f(f.S+f.F*!(T&&n(63)(function(e){O.all(e).catch(M)})),"Promise",{all:function(e){var t=this,n=P(t),r=n.resolve,o=n.reject,i=w(function(){var n=[],i=0,a=1;m(e,!1,function(e){var u=i++,s=!1;n.push(void 0),a++,t.resolve(e).then(function(e){s||(s=!0,n[u]=e,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(e){var t=this,n=P(t),r=n.reject,o=w(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(13),o=n(57),i=n(58),a=n(6),u=n(37),s=n(42),c={},l={},t=e.exports=function(e,t,n,f,p){var d,h,m,v,y=p?function(){return e}:s(e),g=r(n,f,t?2:1),b=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(i(y)){for(d=u(e.length);d>b;b++)if((v=t?g(a(h=e[b])[0],h[1]):g(e[b]))===c||v===l)return v}else for(m=y.call(e);!(h=m.next()).done;)if((v=o(m,g,h.value,t))===c||v===l)return v};t.BREAK=c,t.RETURN=l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(1),o=n(60).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,s="process"==n(23)(a);e.exports=function(){var e,t,n,c=function(){var r,o;for(s&&(r=a.domain)&&r.exit();e;){o=e.fn,e=e.next;try{o()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(s)n=function(){a.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var l=u.resolve(void 0);n=function(){l.then(c)}}else n=function(){o.call(r,c)};else{var f=!0,p=document.createTextNode("");new i(c).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(r){var o={fn:r,next:void 0};t&&(t.next=o),e||(e=o,n()),t=o}}},function(e,t,n){var r=n(1),o=r.navigator;e.exports=o&&o.userAgent||""},function(e,t,n){var r=n(11);e.exports=function(e,t,n){for(var o in t)n&&e[o]?e[o]=t[o]:r(e,o,t[o]);return e}},function(e,t,n){"use strict";var r=n(1),o=n(0),i=n(7),a=n(8),u=n(2)("species");e.exports=function(e){var t="function"==typeof o[e]?o[e]:r[e];a&&t&&!t[u]&&i.f(t,u,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";var r=n(4),o=n(0),i=n(1),a=n(59),u=n(62);r(r.P+r.R,"Promise",{finally:function(e){var t=a(this,o.Promise||i.Promise),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then(function(){return n})}:e,n?function(n){return u(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){"use strict";var r=n(4),o=n(43),i=n(61);r(r.S,"Promise",{try:function(e){var t=o.f(this),n=i(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){e.exports={default:n(120),__esModule:!0}},function(e,t,n){n(121),e.exports=n(0).Object.assign},function(e,t,n){var r=n(4);r(r.S+r.F,"Object",{assign:n(122)})},function(e,t,n){"use strict";var r=n(8),o=n(22),i=n(44),a=n(28),u=n(17),s=n(54),c=Object.assign;e.exports=!c||n(14)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=c({},e)[n]||Object.keys(c({},t)).join("")!=r})?function(e,t){for(var n=u(e),c=arguments.length,l=1,f=i.f,p=a.f;c>l;)for(var d,h=s(arguments[l++]),m=f?o(h).concat(f(h)):o(h),v=m.length,y=0;v>y;)d=m[y++],r&&!p.call(h,d)||(n[d]=h[d]);return n}:c},function(e,t,n){n(124),e.exports=n(0).Object.getPrototypeOf},function(e,t,n){var r=n(17),o=n(56);n(65)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){e.exports={default:n(126),__esModule:!0}},function(e,t,n){n(20),n(27),e.exports=n(45).f("iterator")},function(e,t,n){e.exports={default:n(128),__esModule:!0}},function(e,t,n){n(129),n(50),n(134),n(135),e.exports=n(0).Symbol},function(e,t,n){"use strict";var r=n(1),o=n(12),i=n(8),a=n(4),u=n(52),s=n(130).KEY,c=n(14),l=n(39),f=n(26),p=n(25),d=n(2),h=n(45),m=n(46),v=n(131),y=n(132),g=n(6),b=n(10),w=n(17),_=n(16),x=n(32),S=n(19),E=n(36),C=n(133),N=n(69),O=n(44),k=n(7),M=n(22),P=N.f,T=k.f,A=C.f,j=r.Symbol,D=r.JSON,I=D&&D.stringify,L=d("_hidden"),R=d("toPrimitive"),F={}.propertyIsEnumerable,G=l("symbol-registry"),B=l("symbols"),z=l("op-symbols"),H=Object.prototype,$="function"==typeof j&&!!O.f,U=r.QObject,W=!U||!U.prototype||!U.prototype.findChild,V=i&&c(function(){return 7!=E(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=P(H,t);r&&delete H[t],T(e,t,n),r&&e!==H&&T(H,t,r)}:T,X=function(e){var t=B[e]=E(j.prototype);return t._k=e,t},Y=$&&"symbol"==typeof j.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof j},q=function(e,t,n){return e===H&&q(z,t,n),g(e),t=x(t,!0),g(n),o(B,t)?(n.enumerable?(o(e,L)&&e[L][t]&&(e[L][t]=!1),n=E(n,{enumerable:S(0,!1)})):(o(e,L)||T(e,L,S(1,{})),e[L][t]=!0),V(e,t,n)):T(e,t,n)},K=function(e,t){g(e);for(var n,r=v(t=_(t)),o=0,i=r.length;i>o;)q(e,n=r[o++],t[n]);return e},J=function(e,t){return void 0===t?E(e):K(E(e),t)},Z=function(e){var t=F.call(this,e=x(e,!0));return!(this===H&&o(B,e)&&!o(z,e))&&(!(t||!o(this,e)||!o(B,e)||o(this,L)&&this[L][e])||t)},Q=function(e,t){if(e=_(e),t=x(t,!0),e!==H||!o(B,t)||o(z,t)){var n=P(e,t);return!n||!o(B,t)||o(e,L)&&e[L][t]||(n.enumerable=!0),n}},ee=function(e){for(var t,n=A(_(e)),r=[],i=0;n.length>i;)o(B,t=n[i++])||t==L||t==s||r.push(t);return r},te=function(e){for(var t,n=e===H,r=A(n?z:_(e)),i=[],a=0;r.length>a;)!o(B,t=r[a++])||n&&!o(H,t)||i.push(B[t]);return i};$||(j=function(){if(this instanceof j)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===H&&t.call(z,n),o(this,L)&&o(this[L],e)&&(this[L][e]=!1),V(this,e,S(1,n))};return i&&W&&V(H,e,{configurable:!0,set:t}),X(e)},u(j.prototype,"toString",function(){return this._k}),N.f=Q,k.f=q,n(68).f=C.f=ee,n(28).f=Z,O.f=te,i&&!n(21)&&u(H,"propertyIsEnumerable",Z,!0),h.f=function(e){return X(d(e))}),a(a.G+a.W+a.F*!$,{Symbol:j});for(var ne="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),re=0;ne.length>re;)d(ne[re++]);for(var oe=M(d.store),ie=0;oe.length>ie;)m(oe[ie++]);a(a.S+a.F*!$,"Symbol",{for:function(e){return o(G,e+="")?G[e]:G[e]=j(e)},keyFor:function(e){if(!Y(e))throw TypeError(e+" is not a symbol!");for(var t in G)if(G[t]===e)return t},useSetter:function(){W=!0},useSimple:function(){W=!1}}),a(a.S+a.F*!$,"Object",{create:J,defineProperty:q,defineProperties:K,getOwnPropertyDescriptor:Q,getOwnPropertyNames:ee,getOwnPropertySymbols:te});var ae=c(function(){O.f(1)});a(a.S+a.F*ae,"Object",{getOwnPropertySymbols:function(e){return O.f(w(e))}}),D&&a(a.S+a.F*(!$||c(function(){var e=j();return"[null]"!=I([e])||"{}"!=I({a:e})||"{}"!=I(Object(e))})),"JSON",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(b(t)||void 0!==e)&&!Y(e))return y(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!Y(t))return t}),r[1]=t,I.apply(D,r)}}),j.prototype[R]||n(11)(j.prototype,R,j.prototype.valueOf),f(j,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(e,t,n){var r=n(25)("meta"),o=n(10),i=n(12),a=n(7).f,u=0,s=Object.isExtensible||function(){return!0},c=!n(14)(function(){return s(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++u,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!s(e))return"F";if(!t)return"E";l(e)}return e[r].i},p=function(e,t){if(!i(e,r)){if(!s(e))return!0;if(!t)return!1;l(e)}return e[r].w},d=function(e){return c&&h.NEED&&s(e)&&!i(e,r)&&l(e),e},h=e.exports={KEY:r,NEED:!1,fastKey:f,getWeak:p,onFreeze:d}},function(e,t,n){var r=n(22),o=n(44),i=n(28);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var a,u=n(e),s=i.f,c=0;u.length>c;)s.call(e,a=u[c++])&&t.push(a);return t}},function(e,t,n){var r=n(23);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(16),o=n(68).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(e){try{return o(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?u(e):o(r(e))}},function(e,t,n){n(46)("asyncIterator")},function(e,t,n){n(46)("observable")},function(e,t,n){e.exports={default:n(137),__esModule:!0}},function(e,t,n){n(138),e.exports=n(0).Object.setPrototypeOf},function(e,t,n){var r=n(4);r(r.S,"Object",{setPrototypeOf:n(139).set})},function(e,t,n){var r=n(10),o=n(6),i=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n(13)(Function.call,n(69).f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},function(e,t,n){e.exports={default:n(141),__esModule:!0}},function(e,t,n){n(142);var r=n(0).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){var r=n(4);r(r.S,"Object",{create:n(36)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(144),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=o.default,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e){return e.key||""}Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=n(5),p=r(f);n(145);var d=n(146),h=r(d),m=n(149),v=n(47),y=(0,m.whichTransitionEvent)(),g=!y,b=function(e){function t(){var e,n,r,a;o(this,t);for(var l=arguments.length,p=Array(l),d=0;d<l;d++)p[d]=arguments[d];return n=r=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(p))),r.state={children:f.Children.toArray(r.props.children).map(function(e){return c({},e,{element:e,appearing:!0})})},r.childrenData={},r.parentData={domNode:null,boundingBox:null},r.heightPlaceholderData={domNode:null},r.remainingAnimations=0,r.childrenToAnimate=[],r.runAnimation=function(){r.state.children.filter(r.doesChildNeedToBeAnimated).forEach(function(e,t){r.remainingAnimations+=1,r.childrenToAnimate.push(u(e)),r.animateChild(e,t)}),"function"==typeof r.props.onStartAll&&r.callChildrenHook(r.props.onStartAll)},r.doesChildNeedToBeAnimated=function(e){if(!u(e))return!1;var t=r.getChildData(u(e)),n=t.domNode,o=t.boundingBox,i=r.parentData.boundingBox;if(!n)return!1;var a=r.props,c=a.appearAnimation,l=a.enterAnimation,f=a.leaveAnimation,p=a.getPosition,d=e.appearing&&c,h=e.entering&&l,v=e.leaving&&f;if(d||h||v)return!0;var y=(0,m.getPositionDelta)({childDomNode:n,childBoundingBox:o,parentBoundingBox:i,getPosition:p}),g=s(y,2),b=g[0],w=g[1];return 0!==b||0!==w},a=n,i(r,a)}return a(t,e),l(t,[{key:"componentDidMount",value:function(){this.props.appearAnimation&&!this.isAnimationDisabled(this.props)&&(this.prepForAnimation(),this.runAnimation())}},{key:"componentWillReceiveProps",value:function(e){this.updateBoundingBoxCaches();var t=f.Children.toArray(e.children);this.setState({children:this.isAnimationDisabled(e)?t.map(function(e){return c({},e,{element:e})}):this.calculateNextSetOfChildren(t)})}},{key:"componentDidUpdate",value:function(e){var t=f.Children.toArray(this.props.children).map(function(e){return e.key}),n=f.Children.toArray(e.children).map(function(e){return e.key});!(0,v.arraysEqual)(t,n)&&!this.isAnimationDisabled(this.props)&&(this.prepForAnimation(),this.runAnimation())}},{key:"calculateNextSetOfChildren",value:function(e){var t=this,n=e.map(function(e){var n=t.findChildByKey(e.key||""),r=!n||n.leaving;return c({},e,{element:e,entering:r})}),r=0;return this.state.children.forEach(function(o,i){if(!e.find(function(e){return e.key===u(o)})&&t.props.leaveAnimation){var a=c({},o,{leaving:!0}),s=i+r;n.splice(s,0,a),r+=1}}),n}},{key:"prepForAnimation",value:function(){var e=this,t=this.props,n=t.leaveAnimation,r=t.maintainContainerHeight,o=t.getPosition;if(n){this.state.children.filter(function(e){return e.leaving}).forEach(function(t){var n=e.getChildData(u(t));n.boundingBox&&(0,m.removeNodeFromDOMFlow)(n,e.props.verticalAlignment)}),r&&this.heightPlaceholderData.domNode&&(0,m.updateHeightPlaceholder)({domNode:this.heightPlaceholderData.domNode,parentData:this.parentData,getPosition:o})}this.state.children.forEach(function(t){var n=e.getChildData(u(t)),r=n.domNode;r&&(t.entering||t.leaving||(0,m.applyStylesToDOMNode)({domNode:r,styles:{transition:""}}))})}},{key:"animateChild",value:function(e,t){var n=this,r=this.getChildData(u(e)),o=r.domNode;o&&((0,m.applyStylesToDOMNode)({domNode:o,styles:this.computeInitialStyles(e)}),this.props.onStart&&this.props.onStart(e,o),requestAnimationFrame(function(){requestAnimationFrame(function(){var r={transition:(0,m.createTransitionString)(t,n.props),transform:"",opacity:""};e.appearing&&n.props.appearAnimation?r=c({},r,n.props.appearAnimation.to):e.entering&&n.props.enterAnimation?r=c({},r,n.props.enterAnimation.to):e.leaving&&n.props.leaveAnimation&&(r=c({},r,n.props.leaveAnimation.to)),(0,m.applyStylesToDOMNode)({domNode:o,styles:r})})}),this.bindTransitionEndHandler(e))}},{key:"bindTransitionEndHandler",value:function(e){var t=this,n=this.getChildData(u(e)),r=n.domNode;if(r){var o=function n(o){o.target===r&&(r.style.transition="",t.triggerFinishHooks(e,r),r.removeEventListener(y,n),e.leaving&&t.removeChildData(u(e)))};r.addEventListener(y,o)}}},{key:"triggerFinishHooks",value:function(e,t){var n=this;if(this.props.onFinish&&this.props.onFinish(e,t),this.remainingAnimations-=1,0===this.remainingAnimations){var r=this.state.children.filter(function(e){return!e.leaving}).map(function(e){return c({},e,{appearing:!1,entering:!1})});this.setState({children:r},function(){"function"==typeof n.props.onFinishAll&&n.callChildrenHook(n.props.onFinishAll),n.childrenToAnimate=[]}),this.heightPlaceholderData.domNode&&(this.heightPlaceholderData.domNode.style.height="0")}}},{key:"callChildrenHook",value:function(e){var t=this,n=[],r=[];this.childrenToAnimate.forEach(function(e){var o=t.findChildByKey(e);o&&(n.push(o),t.hasChildData(e)&&r.push(t.getChildData(e).domNode))}),e(n,r)}},{key:"updateBoundingBoxCaches",value:function(){var e=this,t=this.parentData.domNode;t&&(this.parentData.boundingBox=this.props.getPosition(t),this.state.children.forEach(function(n){var r=u(n);if(r&&e.hasChildData(r)){var o=e.getChildData(r);o.domNode&&n&&e.setChildData(r,{boundingBox:(0,m.getRelativeBoundingBox)({childDomNode:o.domNode,parentDomNode:t,getPosition:e.props.getPosition})})}}))}},{key:"computeInitialStyles",value:function(e){if(e.appearing)return this.props.appearAnimation?this.props.appearAnimation.from:{};if(e.entering)return this.props.enterAnimation?c({position:"",top:"",left:"",right:"",bottom:""},this.props.enterAnimation.from):{};if(e.leaving)return this.props.leaveAnimation?this.props.leaveAnimation.from:{};var t=this.getChildData(u(e)),n=t.domNode,r=t.boundingBox,o=this.parentData.boundingBox;if(!n)return{};var i=(0,m.getPositionDelta)({childDomNode:n,childBoundingBox:r,parentBoundingBox:o,getPosition:this.props.getPosition}),a=s(i,2);return{transform:"translate("+a[0]+"px, "+a[1]+"px)"}}},{key:"isAnimationDisabled",value:function(e){return g||e.disableAllAnimations||0===e.duration&&0===e.delay&&0===e.staggerDurationBy&&0===e.staggerDelayBy}},{key:"findChildByKey",value:function(e){return this.state.children.find(function(t){return u(t)===e})}},{key:"hasChildData",value:function(e){return Object.prototype.hasOwnProperty.call(this.childrenData,e)}},{key:"getChildData",value:function(e){return this.hasChildData(e)?this.childrenData[e]:{}}},{key:"setChildData",value:function(e,t){this.childrenData[e]=c({},this.getChildData(e),t)}},{key:"removeChildData",value:function(e){delete this.childrenData[e]}},{key:"createHeightPlaceholder",value:function(){var e=this,t=this.props.typeName,n="ul"===t||"ol"===t,r=n?"li":"div";return p.default.createElement(r,{key:"height-placeholder",ref:function(t){e.heightPlaceholderData.domNode=t},style:{visibility:"hidden",height:0}})}},{key:"childrenWithRefs",value:function(){var e=this;return this.state.children.map(function(t){return p.default.cloneElement(t.element,{ref:function(n){if(n){var r=(0,m.getNativeNode)(n);e.setChildData(u(t),{domNode:r})}}})})}},{key:"render",value:function(){var e=this,t=this.props,n=t.typeName,r=t.delegated,o=t.leaveAnimation,i=t.maintainContainerHeight,a=c({},r,{ref:function(t){e.parentData.domNode=t}}),u=this.childrenWithRefs();return o&&i&&u.push(this.createHeightPlaceholder()),p.default.createElement(n,a,u)}}]),t}(f.Component);t.default=(0,h.default)(b),e.exports=t.default},function(e,t,n){"use strict";Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var t=Object(this),n=t.length>>>0,r=arguments[1],o=void 0,i=0;i<n;i++)if(o=t[i],e.call(r,o,i,t))return o}),Array.prototype.every||(Array.prototype.every=function(e,t){var n,r;if(null==this)throw new TypeError("this is null or not defined");var o=Object(this),i=o.length>>>0;if("function"!=typeof e)throw new TypeError;for(arguments.length>1&&(n=t),r=0;r<i;){var a;if(r in o){a=o[r];if(!e.call(n,a,r,o))return!1}r++}return!0}),Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)})},function(e,t,n){"use strict";(function(r){function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e){var t,n;return n=t=function(t){function n(){return o(this,n),i(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return a(n,t),l(n,[{key:"checkForStatelessFunctionalComponents",value:function(e){if("production"!==v){f.Children.toArray(e).every(function(e){return!(0,m.isElementAnSFC)(e)||void 0===e.key})||(0,d.statelessFunctionalComponentSupplied)()}}},{key:"convertProps",value:function(e){var t={children:e.children,easing:e.easing,onStart:e.onStart,onFinish:e.onFinish,onStartAll:e.onStartAll,onFinishAll:e.onFinishAll,typeName:e.typeName,disableAllAnimations:e.disableAllAnimations,getPosition:e.getPosition,maintainContainerHeight:e.maintainContainerHeight,verticalAlignment:e.verticalAlignment,duration:this.convertTimingProp("duration"),delay:this.convertTimingProp("delay"),staggerDurationBy:this.convertTimingProp("staggerDurationBy"),staggerDelayBy:this.convertTimingProp("staggerDelayBy"),appearAnimation:this.convertAnimationProp(e.appearAnimation,h.appearPresets),enterAnimation:this.convertAnimationProp(e.enterAnimation,h.enterPresets),leaveAnimation:this.convertAnimationProp(e.leaveAnimation,h.leavePresets),delegated:{}};this.checkForStatelessFunctionalComponents(t.children),void 0!==e.disableAnimations&&("production"!==v&&(0,d.deprecatedDisableAnimations)(),t.disableAllAnimations=e.disableAnimations);var n=Object.keys(t),r=(0,m.omit)(this.props,n);return r.style=c({position:"relative"},r.style),t.delegated=r,t}},{key:"convertTimingProp",value:function(e){var t=this.props[e],r="number"==typeof t?t:parseInt(t,10);if(isNaN(r)){var o=n.defaultProps[e];return"production"!==v&&(0,d.invalidTypeForTimingProp)({prop:e,value:t,defaultValue:o}),o}return r}},{key:"convertAnimationProp",value:function(e,t){switch(void 0===e?"undefined":s(e)){case"boolean":return t[e?h.defaultPreset:h.disablePreset];case"string":var n=Object.keys(t);return-1===n.indexOf(e)?("production"!==v&&(0,d.invalidEnterLeavePreset)({value:e,acceptableValues:n.join(", "),defaultValue:h.defaultPreset}),t[h.defaultPreset]):t[e];default:return e}}},{key:"render",value:function(){return p.default.createElement(e,this.convertProps(this.props))}}]),n}(f.Component),t.defaultProps={easing:"ease-in-out",duration:350,delay:0,staggerDurationBy:0,staggerDelayBy:0,typeName:"div",enterAnimation:h.defaultPreset,leaveAnimation:h.defaultPreset,disableAllAnimations:!1,getPosition:function(e){return e.getBoundingClientRect()},maintainContainerHeight:!1,verticalAlignment:"top"},n}Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=n(5),p=function(e){return e&&e.__esModule?e:{default:e}}(f),d=n(147),h=n(148),m=n(47),v=void 0;try{v=r.env.NODE_ENV}catch(e){v="development"}t.default=u,e.exports=t.default}).call(t,n(9))},function(e,t,n){"use strict";function r(e){var t=!1;return function(){t||(console.warn(e),t=!0)}}Object.defineProperty(t,"__esModule",{value:!0});t.statelessFunctionalComponentSupplied=r("\n>> Error, via react-flip-move <<\n\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren't supported, because Flip Move needs access to the backing instances via refs, and SFCs don't have a public instance that holds that info.\n\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\n"),t.invalidTypeForTimingProp=function(e){return console.error("\n>> Error, via react-flip-move <<\n\nThe prop you provided for '"+e.prop+"' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is '"+e.value+"'.\n\nAs a result,  the default value for this parameter will be used, which is '"+e.defaultValue+"'.\n")},t.deprecatedDisableAnimations=r("\n>> Warning, via react-flip-move <<\n\nThe 'disableAnimations' prop you provided is deprecated. Please switch to use 'disableAllAnimations'.\n\nThis will become a silent error in future versions of react-flip-move.\n"),t.invalidEnterLeavePreset=function(e){return console.error("\n>> Error, via react-flip-move <<\n\nThe enter/leave preset you provided is invalid. We don't currently have a '"+e.value+" preset.'\n\nAcceptable values are "+e.acceptableValues+". The default value of '"+e.defaultValue+"' will be used.\n")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.enterPresets={elevator:{from:{transform:"scale(0)",opacity:"0"},to:{transform:"",opacity:""}},fade:{from:{opacity:"0"},to:{opacity:""}},accordionVertical:{from:{transform:"scaleY(0)",transformOrigin:"center top"},to:{transform:"",transformOrigin:"center top"}},accordionHorizontal:{from:{transform:"scaleX(0)",transformOrigin:"left center"},to:{transform:"",transformOrigin:"left center"}},none:null},o=t.leavePresets={elevator:{from:{transform:"scale(1)",opacity:"1"},to:{transform:"scale(0)",opacity:"0"}},fade:{from:{opacity:"1"},to:{opacity:"0"}},accordionVertical:{from:{transform:"scaleY(1)",transformOrigin:"center top"},to:{transform:"scaleY(0)",transformOrigin:"center top"}},accordionHorizontal:{from:{transform:"scaleX(1)",transformOrigin:"left center"},to:{transform:"scaleX(0)",transformOrigin:"left center"}},none:null};t.appearPresets=r;r.accordianVertical=r.accordionVertical,r.accordianHorizontal=r.accordionHorizontal,o.accordianVertical=o.accordionVertical,o.accordianHorizontal=o.accordionHorizontal;t.defaultPreset="elevator",t.disablePreset="none"},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e){var t=e.domNode,n=e.styles;Object.keys(n).forEach(function(e){t.style.setProperty((0,s.hyphenate)(e),n[e])})}function i(){var e={transition:"transitionend","-o-transition":"oTransitionEnd","-moz-transition":"transitionend","-webkit-transition":"webkitTransitionEnd"};if("undefined"==typeof document)return"";var t=document.createElement("fakeelement"),n=Object.keys(e).find(function(e){return void 0!==t.style.getPropertyValue(e)});return n?e[n]:""}Object.defineProperty(t,"__esModule",{value:!0}),t.createTransitionString=t.getNativeNode=t.updateHeightPlaceholder=t.removeNodeFromDOMFlow=t.getPositionDelta=t.getRelativeBoundingBox=void 0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.applyStylesToDOMNode=o,t.whichTransitionEvent=i;var u=n(5),s=n(47);t.getRelativeBoundingBox=function(e){var t=e.childDomNode,n=e.parentDomNode,r=e.getPosition,o=r(n),i=r(t),a=i.top,u=i.left,s=i.right,c=i.bottom,l=i.width,f=i.height;return{top:a-o.top,left:u-o.left,right:o.right-s,bottom:o.bottom-c,width:l,height:f}},t.getPositionDelta=function(e){var t=e.childDomNode,n=e.childBoundingBox,r=e.parentBoundingBox,o=e.getPosition,i={top:0,left:0,right:0,bottom:0,height:0,width:0},a=n||i,u=r||i,s=o(t),c={top:s.top-u.top,left:s.left-u.left};return[a.left-c.left,a.top-c.top]},t.removeNodeFromDOMFlow=function(e,t){var n=e.domNode,i=e.boundingBox;if(n&&i){var u=window.getComputedStyle(n),s=["margin-top","margin-left","margin-right"],c=s.reduce(function(e,t){var n=u.getPropertyValue(t);return a({},e,r({},t,Number(n.replace("px",""))))},{});o({domNode:n,styles:{position:"absolute",top:("bottom"===t?i.top-i.height:i.top)-c["margin-top"]+"px",left:i.left-c["margin-left"]+"px",right:i.right-c["margin-right"]+"px"}})}},t.updateHeightPlaceholder=function(e){var t=e.domNode,n=e.parentData,r=e.getPosition,i=n.domNode,a=n.boundingBox;if(i&&a){o({domNode:t,styles:{height:"0"}});var u=a.height,s=r(i).height,c=u-s;o({domNode:t,styles:{height:c>0?c+"px":"0"}})}},t.getNativeNode=function(e){if("undefined"==typeof HTMLElement)return null;if(e instanceof HTMLElement)return e;var t=(0,u.findDOMNode)(e);return t instanceof HTMLElement?t:null},t.createTransitionString=function(e,t){var n=t.delay,r=t.duration,o=t.staggerDurationBy,i=t.staggerDelayBy,a=t.easing;return n+=e*i,r+=e*o,["transform","opacity"].map(function(e){return e+" "+r+"ms "+a+" "+n+"ms"}).join(", ")}},function(e,t,n){var r,o,i;/*!
-	Autosize 3.0.21
-	license: MIT
-	http://www.jacklmoore.com/autosize
-*/
-!function(n,a){o=[t,e],r=a,void 0!==(i="function"==typeof r?r.apply(t,o):r)&&(e.exports=i)}(0,function(e,t){"use strict";function n(e){function t(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t}function n(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}function r(){var t=e.style.height,r=n(e),o=document.documentElement&&document.documentElement.scrollTop;e.style.height="auto";var i=e.scrollHeight+u;if(0===e.scrollHeight)return void(e.style.height=t);e.style.height=i+"px",s=e.clientWidth,r.forEach(function(e){e.node.scrollTop=e.scrollTop}),o&&(document.documentElement.scrollTop=o)}function o(){r();var n=Math.round(parseFloat(e.style.height)),o=window.getComputedStyle(e,null),i="content-box"===o.boxSizing?Math.round(parseFloat(o.height)):e.offsetHeight;if(i!==n?"hidden"===o.overflowY&&(t("scroll"),r(),i="content-box"===o.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight):"hidden"!==o.overflowY&&(t("hidden"),r(),i="content-box"===o.boxSizing?Math.round(parseFloat(window.getComputedStyle(e,null).height)):e.offsetHeight),c!==i){c=i;var u=a("autosize:resized");try{e.dispatchEvent(u)}catch(e){}}}if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!i.has(e)){var u=null,s=e.clientWidth,c=null,l=function(){e.clientWidth!==s&&o()},f=function(t){window.removeEventListener("resize",l,!1),e.removeEventListener("input",o,!1),e.removeEventListener("keyup",o,!1),e.removeEventListener("autosize:destroy",f,!1),e.removeEventListener("autosize:update",o,!1),Object.keys(t).forEach(function(n){e.style[n]=t[n]}),i.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",f,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",o,!1),window.addEventListener("resize",l,!1),e.addEventListener("input",o,!1),e.addEventListener("autosize:update",o,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",i.set(e,{destroy:f,update:o}),function(){var t=window.getComputedStyle(e,null);"vertical"===t.resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),u="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(u)&&(u=0),o()}()}}function r(e){var t=i.get(e);t&&t.destroy()}function o(e){var t=i.get(e);t&&t.update()}var i="function"==typeof Map?new Map:function(){var e=[],t=[];return{has:function(t){return e.indexOf(t)>-1},get:function(n){return t[e.indexOf(n)]},set:function(n,r){-1===e.indexOf(n)&&(e.push(n),t.push(r))},delete:function(n){var r=e.indexOf(n);r>-1&&(e.splice(r,1),t.splice(r,1))}}}(),a=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){a=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}var u=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?(u=function(e){return e},u.destroy=function(e){return e},u.update=function(e){return e}):(u=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return n(e)}),e},u.destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e},u.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e}),t.exports=u})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return new i.default({phrases:w[e]||w.en,locale:e})};var o=n(152),i=r(o),a=n(153),u=r(a),s=n(154),c=r(s),l=n(155),f=r(l),p=n(156),d=r(p),h=n(157),m=r(h),v=n(158),y=r(v),g=n(159),b=r(g),w={zh:u.default,"zh-CN":u.default,"zh-TW":c.default,en:f.default,"es-ES":d.default,fr:m.default,ru:y.default,de:b.default}},function(e,t,n){var r,o;!function(n,i){r=[],void 0!==(o=function(){return i(n)}.apply(t,r))&&(e.exports=o)}(this,function(e){"use strict";function t(e){e=e||{},this.phrases={},this.extend(e.phrases||{}),this.currentLocale=e.locale||"en",this.allowMissing=!!e.allowMissing,this.warn=e.warn||s}function n(e){var t,n,r,o={};for(t in e)if(e.hasOwnProperty(t)){n=e[t];for(r in n)o[n[r]]=t}return o}function r(e){var t=/^\s+|\s+$/g;return e.replace(t,"")}function o(e,t,n){var o,i,u;return null!=n&&e?(i=e.split(l),u=i[a(t,n)]||i[0],o=r(u)):o=e,o}function i(e){var t=n(p);return t[e]||t.en}function a(e,t){return f[i(e)](t)}function u(e,t){for(var n in t)"_"!==n&&t.hasOwnProperty(n)&&(e=e.replace(new RegExp("%\\{"+n+"\\}","g"),t[n]));return e}function s(t){e.console&&e.console.warn&&e.console.warn("WARNING: "+t)}function c(e){var t={};for(var n in e)t[n]=e[n];return t}t.VERSION="0.4.3",t.prototype.locale=function(e){return e&&(this.currentLocale=e),this.currentLocale},t.prototype.extend=function(e,t){var n;for(var r in e)e.hasOwnProperty(r)&&(n=e[r],t&&(r=t+"."+r),"object"==typeof n?this.extend(n,r):this.phrases[r]=n)},t.prototype.clear=function(){this.phrases={}},t.prototype.replace=function(e){this.clear(),this.extend(e)},t.prototype.t=function(e,t){var n,r;return t=null==t?{}:t,"number"==typeof t&&(t={smart_count:t}),"string"==typeof this.phrases[e]?n=this.phrases[e]:"string"==typeof t._?n=t._:this.allowMissing?n=e:(this.warn('Missing translation for key: "'+e+'"'),r=e),"string"==typeof n&&(t=c(t),r=o(n,this.currentLocale,t.smart_count),r=u(r,t)),r},t.prototype.has=function(e){return e in this.phrases};var l="||||",f={chinese:function(e){return 0},german:function(e){return 1!==e?1:0},french:function(e){return e>1?1:0},russian:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},czech:function(e){return 1===e?0:e>=2&&e<=4?1:2},polish:function(e){return 1===e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},icelandic:function(e){return e%10!=1||e%100==11?1:0}},p={chinese:["fa","id","ja","ko","lo","ms","th","tr","zh"],german:["da","de","en","es","fi","el","he","hu","it","nl","no","pt","sv"],french:["fr","tl","pt-br"],russian:["hr","ru"],czech:["cs"],polish:["pl"],icelandic:["is"]};return t})},function(e,t){e.exports={init:"Gitalk 加载中 ...","no-found-related":"未找到相关的 %{link} 进行评论","please-contact":"请联系 %{user} 初始化创建","init-issue":"初始化 Issue","leave-a-comment":"说点什么",preview:"预览",edit:"编辑",comment:"评论","support-markdown":"支持 Markdown 语法","login-with-github":"使用 GitHub 登录","first-comment-person":"来做第一个留言的人吧！",commented:"发表于","load-more":"加载更多",counts:"%{counts} 条评论","sort-asc":"从旧到新排序","sort-desc":"从新到旧排序",logout:"注销",anonymous:"未登录用户"}},function(e,t){e.exports={init:"Gitalk 載入中…","no-found-related":"未找到相關的 %{link}","please-contact":"請聯絡 %{user} 初始化評論","init-issue":"初始化 Issue","leave-a-comment":"寫點什麼",preview:"預覽",edit:"編輯",comment:"評論","support-markdown":"支援 Markdown 語法","login-with-github":"使用 GitHub 登入","first-comment-person":"成為首個留言的人吧！",commented:"評論於","load-more":"載入更多",counts:"%{counts} 筆評論","sort-asc":"從舊至新排序","sort-desc":"從新至舊排序",logout:"登出",anonymous:"訪客"}},function(e,t){e.exports={init:"Gitalking ...","no-found-related":"Related %{link} not found","please-contact":"Please contact %{user} to initialize the comment","init-issue":"Init Issue","leave-a-comment":"Leave a comment",preview:"Preview",edit:"Edit",comment:"Comment","support-markdown":"Markdown is supported","login-with-github":"Login with GitHub","first-comment-person":"Be the first person to leave a comment!",commented:"commented","load-more":"Load more",counts:"%{counts} comment |||| %{counts} comments","sort-asc":"Sort by Oldest","sort-desc":"Sort by Latest",logout:"Logout",anonymous:"Anonymous"}},function(e,t){e.exports={init:"Gitalking ...","no-found-related":"Link %{link} no encontrado","please-contact":"Por favor contacta con %{user} para inicializar el comentario","init-issue":"Iniciar Issue","leave-a-comment":"Deja un comentario",preview:"Avance",edit:"Editar",comment:"Comentario","support-markdown":"Markdown es soportado","login-with-github":"Entrar con GitHub","first-comment-person":"Sé el primero en dejar un comentario!",commented:"comentó","load-more":"Cargar más",counts:"%{counts} comentario |||| %{counts} comentarios","sort-asc":"Ordenar por Antiguos","sort-desc":"Ordenar por Recientes",logout:"Salir",anonymous:"Anónimo"}},function(e,t){e.exports={init:"Gitalking ...","no-found-related":"Lien %{link} non trouvé","please-contact":"S’il vous plaît contactez %{user} pour initialiser les commentaires","init-issue":"Initialisation des issues","leave-a-comment":"Laisser un commentaire",preview:"Aperçu",edit:"Modifier",comment:"Commentaire","support-markdown":"Markdown est supporté","login-with-github":"Se connecter avec GitHub","first-comment-person":"Être le premier à laisser un commentaire !",commented:"commenter","load-more":"Charger plus",counts:"%{counts} commentaire |||| %{counts} commentaires","sort-asc":"Trier par plus ancien","sort-desc":"Trier par plus récent",logout:"Déconnexion",anonymous:"Anonyme"}},function(e,t){e.exports={init:"Gitalking ...","no-found-related":"Связанные %{link} не найдены","please-contact":"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий","init-issue":"Выпуск инициализации","leave-a-comment":"Оставить комментарий",preview:"Предварительный просмотр",edit:"Pедактировать",comment:"Комментарий","support-markdown":"Поддерживается Markdown","login-with-github":"Вход через GitHub","first-comment-person":"Будьте первым, кто оставил комментарий",commented:"прокомментированный","load-more":"Загрузить ещё",counts:"%{counts} комментарий |||| %{counts} комментарьев","sort-asc":"Сортировать по старым","sort-desc":"Сортировать по последним",logout:"Выход",anonymous:"Анонимный"}},function(e,t){e.exports={init:"Gitalking ...","no-found-related":"Zugehöriger %{link} nicht gefunden","please-contact":"Bitte kontaktiere %{user} um den Kommentar zu initialisieren","init-issue":"Initialisiere Issue","leave-a-comment":"Hinterlasse einen Kommentar",preview:"Vorschau",edit:"Editieren",comment:"Kommentieren","support-markdown":"Markdown wird unterstützt","login-with-github":"Mit GitHub-Account anmelden","first-comment-person":"Sei die erste Person, welche einen Kommentar hinterlässt!",commented:"kommentierte","load-more":"Zeige mehr",counts:"%{counts} Kommentar |||| %{counts} Kommentare","sort-asc":"Älteste zuerst","sort-desc":"Neuste zuerst",logout:"Abmelden",anonymous:"Anonym"}},function(e,t){},function(e,t,n){e.exports={default:n(162),__esModule:!0}},function(e,t,n){n(163),e.exports=n(0).Object.keys},function(e,t,n){var r=n(17),o=n(22);n(65)("keys",function(){return function(e){return o(r(e))}})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(165),i=r(o),a=n(168),u=r(a);t.default=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=(0,u.default)(e);!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,i.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){e.exports={default:n(166),__esModule:!0}},function(e,t,n){n(27),n(20),e.exports=n(167)},function(e,t,n){var r=n(41),o=n(2)("iterator"),i=n(15);e.exports=n(0).isIterable=function(e){var t=Object(e);return void 0!==t[o]||"@@iterator"in t||i.hasOwnProperty(r(t))}},function(e,t,n){e.exports={default:n(169),__esModule:!0}},function(e,t,n){n(27),n(20),e.exports=n(170)},function(e,t,n){var r=n(6),o=n(42);e.exports=n(0).getIterator=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return r(t.call(e))}},function(e,t,n){e.exports=n(172)},function(e,t,n){"use strict";function r(e){var t=new a(e),n=i(a.prototype.request,t);return o.extend(n,a.prototype,t),o.extend(n,t),n}var o=n(3),i=n(72),a=n(173),u=n(78),s=n(75),c=r(s);c.Axios=a,c.create=function(e){return r(u(c.defaults,e))},c.Cancel=n(79),c.CancelToken=n(186),c.isCancel=n(74),c.all=function(e){return Promise.all(e)},c.spread=n(187),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new a,response:new a}}var o=n(3),i=n(73),a=n(174),u=n(175),s=n(78);r.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=s(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},r.prototype.getUri=function(e){return e=s(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},o.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}}),o.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(3);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(3),i=n(176),a=n(74),u=n(75);e.exports=function(e){return r(e),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||u.adapter)(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return a(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(3);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t,n){"use strict";var r=n(3);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(77);e.exports=function(e,t,n){var o=n.config.validateStatus;!o||o(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,n){"use strict";var r=n(181),o=n(182);e.exports=function(e,t){return e&&!r(t)?o(e,t):t}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(3),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,a={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}}),a):a}},function(e,t,n){"use strict";var r=n(3);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t,n){"use strict";var r=n(3);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,a){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),!0===a&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(79);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){var t=e.className,n=e.getRef,r=e.onClick,i=e.onMouseDown,a=e.text,u=e.isLoading;return o.default.createElement("button",{ref:function(e){return n&&n(e)},className:"gt-btn "+t,onClick:r,onMouseDown:i},o.default.createElement("span",{className:"gt-btn-text"},a),u&&o.default.createElement("span",{className:"gt-btn-loading gt-spinner"}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){var t=e.className,n=e.onClick,r=e.text;return o.default.createElement("a",{className:"gt-action "+t,onClick:n},o.default.createElement("span",{className:"gt-action-text"},r))}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(64),i=r(o),a=n(29),u=r(a),s=n(30),c=r(s),l=n(66),f=r(l),p=n(70),d=r(p),h=n(5),m=r(h),v=n(80),y=r(v),g=n(81),b=r(g),w=n(199),_=r(w),x=n(212),S=r(x),E=n(213),C=r(E),N=n(214),O=r(N),k=n(215),M=r(k),P=n(216),T=r(P);n(217);var A=(0,S.default)(),j=(0,C.default)(),D=(0,O.default)(),I=(0,M.default)(),L=(0,T.default)();"undefined"!=typeof window&&(window.GT_i18n_distanceInWordsLocaleMap={zh:A,"zh-CN":A,"zh-TW":j,"es-ES":D,fr:I,ru:L});var R=function(e){function t(){return(0,u.default)(this,t),(0,f.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,d.default)(t,e),(0,c.default)(t,[{key:"shouldComponentUpdate",value:function(){return!1}},{key:"componentDidMount",value:function(){var e=this.node,t=e.querySelector(".email-hidden-toggle>a");t&&t.addEventListener("click",function(t){t.preventDefault(),e.querySelector(".email-hidden-reply").classList.toggle("expanded")},!0)}},{key:"handleImageErrored",value:function(e){e.target.src="https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg"}},{key:"render",value:function(){var e=this,t=this.props,n=t.comment,r=t.user,o=t.language,i=t.commentedText,a=void 0===i?"":i,u=t.admin,s=void 0===u?[]:u,c=t.replyCallback,l=t.likeCallback,f=r&&n.user.login===r.login,p=~[].concat(s).map(function(e){return e.toLowerCase()}).indexOf(n.user.login.toLowerCase()),d=n.reactions,h="";return d&&d.totalCount&&(h=d.totalCount,100===d.totalCount&&d.pageInfo&&d.pageInfo.hasNextPage&&(h="100+")),m.default.createElement("div",{ref:function(t){e.node=t},className:"gt-comment "+(p?"gt-comment-admin":"")},m.default.createElement(y.default,{className:"gt-comment-avatar",src:n.user&&n.user.avatar_url,alt:n.user&&n.user.login,onError:this.handleImageErrored.bind(this)}),m.default.createElement("div",{className:"gt-comment-content"},m.default.createElement("div",{className:"gt-comment-header"},m.default.createElement("div",{className:"gt-comment-block-"+(r?"2":"1")}),m.default.createElement("a",{className:"gt-comment-username",href:n.user&&n.user.html_url},n.user&&n.user.login),m.default.createElement("span",{className:"gt-comment-text"},a),m.default.createElement("span",{className:"gt-comment-date"},(0,_.default)(n.created_at,{addSuffix:!0,locale:{distanceInWords:window.GT_i18n_distanceInWordsLocaleMap[o]}})),d&&m.default.createElement("a",{className:"gt-comment-like",title:"Like",onClick:l},d.viewerHasReacted?m.default.createElement(b.default,{className:"gt-ico-heart",name:"heart_on",text:h}):m.default.createElement(b.default,{className:"gt-ico-heart",name:"heart",text:h})),f?m.default.createElement("a",{href:n.html_url,className:"gt-comment-edit",title:"Edit",target:"_blank"},m.default.createElement(b.default,{className:"gt-ico-edit",name:"edit"})):m.default.createElement("a",{className:"gt-comment-reply",title:"Reply",onClick:c},m.default.createElement(b.default,{className:"gt-ico-reply",name:"reply"}))),m.default.createElement("div",{className:"gt-comment-body markdown-body",dangerouslySetInnerHTML:{__html:n.body_html}})))}}]),t}(h.Component);t.default=R},function(e,t,n){function r(e){return n(o(e))}function o(e){var t=i[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var i={"./arrow_down.svg":192,"./edit.svg":193,"./github.svg":194,"./heart.svg":195,"./heart_on.svg":196,"./reply.svg":197,"./tip.svg":198};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=191},function(e,t){e.exports='<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" p-id="1619"><path d="M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z" p-id="1620"></path></svg>'},function(e,t){e.exports='<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n  <path d="M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z"></path>\n</svg>\n'},function(e,t){e.exports='<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">\n  <path d="M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z"></path>\n</svg>\n'},function(e,t){e.exports='<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n  <path d="M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z"></path>\n</svg>\n'},function(e,t){e.exports='<svg t="1512463363724" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n  <path d="M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z"></path>\n</svg>\n'},function(e,t){e.exports='<svg viewBox="0 0 1332 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">\n  <path d="M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666"></path>\n</svg>\n'},function(e,t){e.exports='<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">\n  <path d="M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z"\n    p-id="3083"></path>\n  <path d="M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z"\n    p-id="3084"></path>\n  <path d="M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z"\n    p-id="3085"></path>\n</svg>\n'},function(e,t,n){function r(e,t){return o(Date.now(),e,t)}var o=n(200);e.exports=r},function(e,t,n){function r(e,t,n){var r=n||{},d=o(e,t),h=r.locale,m=s.distanceInWords.localize;h&&h.distanceInWords&&h.distanceInWords.localize&&(m=h.distanceInWords.localize);var v,y,g={addSuffix:Boolean(r.addSuffix),comparison:d};d>0?(v=i(e),y=i(t)):(v=i(t),y=i(e));var b,w=a(y,v),_=y.getTimezoneOffset()-v.getTimezoneOffset(),x=Math.round(w/60)-_;if(x<2)return r.includeSeconds?w<5?m("lessThanXSeconds",5,g):w<10?m("lessThanXSeconds",10,g):w<20?m("lessThanXSeconds",20,g):w<40?m("halfAMinute",null,g):w<60?m("lessThanXMinutes",1,g):m("xMinutes",1,g):0===x?m("lessThanXMinutes",1,g):m("xMinutes",x,g);if(x<45)return m("xMinutes",x,g);if(x<90)return m("aboutXHours",1,g);if(x<c){return m("aboutXHours",Math.round(x/60),g)}if(x<l)return m("xDays",1,g);if(x<f){return m("xDays",Math.round(x/c),g)}if(x<p)return b=Math.round(x/f),m("aboutXMonths",b,g);if((b=u(y,v))<12){return m("xMonths",Math.round(x/f),g)}var S=b%12,E=Math.floor(b/12);return S<3?m("aboutXYears",E,g):S<9?m("overXYears",E,g):m("almostXYears",E+1,g)}var o=n(201),i=n(18),a=n(203),u=n(205),s=n(208),c=1440,l=2520,f=43200,p=86400;e.exports=r},function(e,t,n){function r(e,t){var n=o(e),r=n.getTime(),i=o(t),a=i.getTime();return r>a?-1:r<a?1:0}var o=n(18);e.exports=r},function(e,t){function n(e){return e instanceof Date}e.exports=n},function(e,t,n){function r(e,t){var n=o(e,t)/1e3;return n>0?Math.floor(n):Math.ceil(n)}var o=n(204);e.exports=r},function(e,t,n){function r(e,t){var n=o(e),r=o(t);return n.getTime()-r.getTime()}var o=n(18);e.exports=r},function(e,t,n){function r(e,t){var n=o(e),r=o(t),u=a(n,r),s=Math.abs(i(n,r));return n.setMonth(n.getMonth()-u*s),u*(s-(a(n,r)===-u))}var o=n(18),i=n(206),a=n(207);e.exports=r},function(e,t,n){function r(e,t){var n=o(e),r=o(t);return 12*(n.getFullYear()-r.getFullYear())+(n.getMonth()-r.getMonth())}var o=n(18);e.exports=r},function(e,t,n){function r(e,t){var n=o(e),r=n.getTime(),i=o(t),a=i.getTime();return r<a?-1:r>a?1:0}var o=n(18);e.exports=r},function(e,t,n){var r=n(209),o=n(210);e.exports={distanceInWords:r(),format:o()}},function(e,t){function n(){function e(e,n,r){r=r||{};var o;return o="string"==typeof t[e]?t[e]:1===n?t[e].one:t[e].other.replace("{{count}}",n),r.addSuffix?r.comparison>0?"in "+o:o+" ago":o}var t={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};return{localize:e}}e.exports=n},function(e,t,n){function r(){var e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],t=["January","February","March","April","May","June","July","August","September","October","November","December"],n=["Su","Mo","Tu","We","Th","Fr","Sa"],r=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],a=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["AM","PM"],s=["am","pm"],c=["a.m.","p.m."],l={MMM:function(t){return e[t.getMonth()]},MMMM:function(e){return t[e.getMonth()]},dd:function(e){return n[e.getDay()]},ddd:function(e){return r[e.getDay()]},dddd:function(e){return a[e.getDay()]},A:function(e){return e.getHours()/12>=1?u[1]:u[0]},a:function(e){return e.getHours()/12>=1?s[1]:s[0]},aa:function(e){return e.getHours()/12>=1?c[1]:c[0]}};return["M","D","DDD","d","Q","W"].forEach(function(e){l[e+"o"]=function(t,n){return o(n[e](t))}}),{formatters:l,formattingTokensRegExp:i(l)}}function o(e){var t=e%100;if(t>20||t<10)switch(t%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"}var i=n(211);e.exports=r},function(e,t){function n(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);var o=r.concat(t).sort().reverse();return new RegExp("(\\[[^\\[]*\\])|(\\\\)?("+o.join("|")+"|.)","g")}var r=["M","MM","Q","D","DD","DDD","DDDD","d","E","W","WW","YY","YYYY","GG","GGGG","H","HH","h","hh","m","mm","s","ss","S","SS","SSS","Z","ZZ","X","x"];e.exports=n},function(e,t){function n(){function e(e,n,r){r=r||{};var o;return o="string"==typeof t[e]?t[e]:1===n?t[e].one:t[e].other.replace("{{count}}",n),r.addSuffix?r.comparison>0?o+"内":o+"前":o}var t={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}};return{localize:e}}e.exports=n},function(e,t){function n(){function e(e,n,r){r=r||{};var o;return o="string"==typeof t[e]?t[e]:1===n?t[e].one:t[e].other.replace("{{count}}",n),r.addSuffix?r.comparison>0?o+"內":o+"前":o}var t={lessThanXSeconds:{one:"少於 1 秒",other:"少於 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分鐘",lessThanXMinutes:{one:"少於 1 分鐘",other:"少於 {{count}} 分鐘"},xMinutes:{one:"1 分鐘",other:"{{count}} 分鐘"},xHours:{one:"1 小時",other:"{{count}} 小時"},aboutXHours:{one:"大約 1 小時",other:"大約 {{count}} 小時"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXMonths:{one:"大約 1 個月",other:"大約 {{count}} 個月"},xMonths:{one:"1 個月",other:"{{count}} 個月"},aboutXYears:{one:"大約 1 年",other:"大約 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超過 1 年",other:"超過 {{count}} 年"},almostXYears:{one:"將近 1 年",other:"將近 {{count}} 年"}};return{localize:e}}e.exports=n},function(e,t){function n(){function e(e,n,r){r=r||{};var o;return o="string"==typeof t[e]?t[e]:1===n?t[e].one:t[e].other.replace("{{count}}",n),r.addSuffix?r.comparison>0?"en "+o:"hace "+o:o}var t={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}};return{localize:e}}e.exports=n},function(e,t){function n(){function e(e,n,r){r=r||{};var o;return o="string"==typeof t[e]?t[e]:1===n?t[e].one:t[e].other.replace("{{count}}",n),r.addSuffix?r.comparison>0?"dans "+o:"il y a "+o:o}var t={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}};return{localize:e}}e.exports=n},function(e,t){function n(e,t){if(void 0!==e.one&&1===t)return e.one;var n=t%10,r=t%100;return 1===n&&11!==r?e.singularNominative.replace("{{count}}",t):n>=2&&n<=4&&(r<10||r>20)?e.singularGenitive.replace("{{count}}",t):e.pluralGenitive.replace("{{count}}",t)}function r(e){return function(t,r){return r.addSuffix?r.comparison>0?e.future?n(e.future,t):"через "+n(e.regular,t):e.past?n(e.past,t):n(e.regular,t)+" назад":n(e.regular,t)}}function o(){function e(e,n,r){return r=r||{},t[e](n,r)}var t={lessThanXSeconds:r({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:r({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:function(e,t){return t.addSuffix?t.comparison>0?"через полминуты":"полминуты назад":"полминуты"},lessThanXMinutes:r({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:r({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:r({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:r({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:r({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXMonths:r({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:r({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:r({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:r({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:r({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:r({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})};return{localize:e}}e.exports=o},function(e,t){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.GT_ACCESS_TOKEN="GT_ACCESS_TOKEN",t.GT_VERSION="1.6.2",t.GT_COMMENT="GT_COMMENT"},function(e,t,n){"use strict";function r(e){var t=this,n=this.options,r=n.owner,o=n.repo,s=n.perPage,c=n.pagerDirection,l=n.defaultAuthor,f=this.state,p=f.cursor,d=f.comments;return a.axiosGithub.post("/graphql",u({owner:r,repo:o,id:e.number,pageSize:s,cursor:p},c),{headers:{Authorization:"bearer "+this.accessToken}}).then(function(n){var a=n.data.data.repository.issue.comments,u=a.nodes.map(function(t){var n=t.author||l;return{id:t.databaseId,gId:t.id,user:{avatar_url:n.avatarUrl,login:n.login,html_url:n.url},created_at:t.createdAt,body_html:t.bodyHTML,body:t.body,html_url:"https://github.com/"+r+"/"+o+"/issues/"+e.number+"#issuecomment-"+t.databaseId,reactions:t.reactions}}),s=void 0;s="last"===c?[].concat((0,i.default)(u),(0,i.default)(d)):[].concat((0,i.default)(d),(0,i.default)(u));var f=!1===a.pageInfo.hasPreviousPage||!1===a.pageInfo.hasNextPage;return t.setState({comments:s,isLoadOver:f,cursor:a.pageInfo.startCursor||a.pageInfo.endCursor}),s})}Object.defineProperty(t,"__esModule",{value:!0});var o=n(220),i=function(e){return e&&e.__esModule?e:{default:e}}(o),a=n(71),u=function(e,t){var n="last"===t?"before":"after",r="\n  query getIssueAndComments(\n    $owner: String!,\n    $repo: String!,\n    $id: Int!,\n    $cursor: String,\n    $pageSize: Int!\n  ) {\n    repository(owner: $owner, name: $repo) {\n      issue(number: $id) {\n        title\n        url\n        bodyHTML\n        createdAt\n        comments("+t+": $pageSize, "+n+": $cursor) {\n          totalCount\n          pageInfo {\n            "+("last"===t?"hasPreviousPage":"hasNextPage")+"\n            "+("before"===n?"startCursor":"endCursor")+"\n          }\n          nodes {\n            id\n            databaseId\n            author {\n              avatarUrl\n              login\n              url\n            }\n            bodyHTML\n            body\n            createdAt\n            reactions(first: 100, content: HEART) {\n              totalCount\n              viewerHasReacted\n              pageInfo{\n                hasNextPage\n              }\n              nodes {\n                id\n                databaseId\n                user {\n                  login\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  ";return null===e.cursor&&delete e.cursor,{operationName:"getIssueAndComments",query:r,variables:e}};t.default=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(221),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return(0,o.default)(e)}},function(e,t,n){e.exports={default:n(222),__esModule:!0}},function(e,t,n){n(20),n(223),e.exports=n(0).Array.from},function(e,t,n){"use strict";var r=n(13),o=n(4),i=n(17),a=n(57),u=n(58),s=n(37),c=n(224),l=n(42);o(o.S+o.F*!n(63)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,o,f,p=i(e),d="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,v=void 0!==m,y=0,g=l(p);if(v&&(m=r(m,h>2?arguments[2]:void 0,2)),void 0==g||d==Array&&u(g))for(t=s(p.length),n=new d(t);t>y;y++)c(n,y,v?m(p[y],y):p[y]);else for(f=g.call(p),n=new d;!(o=f.next()).done;y++)c(n,y,v?a(f,m,[o.value,y],!0):o.value);return n.length=y,n}})},function(e,t,n){"use strict";var r=n(7),o=n(19);e.exports=function(e,t,n){t in e?r.f(e,t,o(0,n)):e[t]=n}}])});
-//# sourceMappingURL=gitalk.min.js.map
\ No newline at end of file
diff --git a/server/target/classes/static/gitalk/gitalk.min.js.map b/server/target/classes/static/gitalk/gitalk.min.js.map
deleted file mode 100644
index 67fd2c1..0000000
--- a/server/target/classes/static/gitalk/gitalk.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap c7023cce7384d387302e","webpack:///gitalk.min.js","webpack:///../node_modules/core-js/library/modules/_core.js","webpack:///../node_modules/core-js/library/modules/_global.js","webpack:///../node_modules/core-js/library/modules/_wks.js","webpack:///../node_modules/axios/lib/utils.js","webpack:///../node_modules/core-js/library/modules/_export.js","webpack:///../node_modules/preact-compat/dist/preact-compat.es.js","webpack:///../node_modules/core-js/library/modules/_an-object.js","webpack:///../node_modules/core-js/library/modules/_object-dp.js","webpack:///../node_modules/core-js/library/modules/_descriptors.js","webpack:///../node_modules/process/browser.js","webpack:///../node_modules/core-js/library/modules/_is-object.js","webpack:///../node_modules/core-js/library/modules/_hide.js","webpack:///../node_modules/core-js/library/modules/_has.js","webpack:///../node_modules/core-js/library/modules/_ctx.js","webpack:///../node_modules/core-js/library/modules/_fails.js","webpack:///../node_modules/core-js/library/modules/_iterators.js","webpack:///../node_modules/core-js/library/modules/_to-iobject.js","webpack:///../node_modules/core-js/library/modules/_to-object.js","webpack:///../node_modules/date-fns/parse/index.js","webpack:///../node_modules/core-js/library/modules/_property-desc.js","webpack:///../node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///../node_modules/core-js/library/modules/_library.js","webpack:///../node_modules/core-js/library/modules/_object-keys.js","webpack:///../node_modules/core-js/library/modules/_cof.js","webpack:///../node_modules/core-js/library/modules/_a-function.js","webpack:///../node_modules/core-js/library/modules/_uid.js","webpack:///../node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///../node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///../node_modules/core-js/library/modules/_object-pie.js","webpack:///../node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///../node_modules/babel-runtime/helpers/createClass.js","webpack:///../node_modules/core-js/library/modules/_dom-create.js","webpack:///../node_modules/core-js/library/modules/_to-primitive.js","webpack:///../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///../node_modules/core-js/library/modules/_to-integer.js","webpack:///../node_modules/core-js/library/modules/_defined.js","webpack:///../node_modules/core-js/library/modules/_object-create.js","webpack:///../node_modules/core-js/library/modules/_to-length.js","webpack:///../node_modules/core-js/library/modules/_shared-key.js","webpack:///../node_modules/core-js/library/modules/_shared.js","webpack:///../node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///../node_modules/core-js/library/modules/_classof.js","webpack:///../node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///../node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///../node_modules/core-js/library/modules/_object-gops.js","webpack:///../node_modules/core-js/library/modules/_wks-ext.js","webpack:///../node_modules/core-js/library/modules/_wks-define.js","webpack:///../node_modules/react-flip-move/lib/helpers.js","webpack:///../node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///../node_modules/react-is/index.js","webpack:///../node_modules/core-js/library/modules/_iter-define.js","webpack:///../node_modules/core-js/library/modules/_redefine.js","webpack:///../node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///../node_modules/core-js/library/modules/_iobject.js","webpack:///../node_modules/core-js/library/modules/_html.js","webpack:///../node_modules/core-js/library/modules/_object-gpo.js","webpack:///../node_modules/core-js/library/modules/_iter-call.js","webpack:///../node_modules/core-js/library/modules/_is-array-iter.js","webpack:///../node_modules/core-js/library/modules/_species-constructor.js","webpack:///../node_modules/core-js/library/modules/_task.js","webpack:///../node_modules/core-js/library/modules/_perform.js","webpack:///../node_modules/core-js/library/modules/_promise-resolve.js","webpack:///../node_modules/core-js/library/modules/_iter-detect.js","webpack:///../node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///../node_modules/core-js/library/modules/_object-sap.js","webpack:///../node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///../node_modules/babel-runtime/helpers/typeof.js","webpack:///../node_modules/core-js/library/modules/_object-gopn.js","webpack:///../node_modules/core-js/library/modules/_object-gopd.js","webpack:///../node_modules/babel-runtime/helpers/inherits.js","webpack:///./util.js","webpack:///../node_modules/axios/lib/helpers/bind.js","webpack:///../node_modules/axios/lib/helpers/buildURL.js","webpack:///../node_modules/axios/lib/cancel/isCancel.js","webpack:///../node_modules/axios/lib/defaults.js","webpack:///../node_modules/axios/lib/adapters/xhr.js","webpack:///../node_modules/axios/lib/core/createError.js","webpack:///../node_modules/axios/lib/core/mergeConfig.js","webpack:///../node_modules/axios/lib/cancel/Cancel.js","webpack:///./component/avatar.jsx","webpack:///./component/svg.jsx","webpack:///./index.js","webpack:///../node_modules/babel-runtime/core-js/object/define-property.js","webpack:///../node_modules/core-js/library/fn/object/define-property.js","webpack:///../node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///../node_modules/prop-types/index.js","webpack:///../node_modules/react-is/cjs/react-is.production.min.js","webpack:///../node_modules/react-is/cjs/react-is.development.js","webpack:///../node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///../node_modules/object-assign/index.js","webpack:///../node_modules/prop-types/checkPropTypes.js","webpack:///../node_modules/prop-types/factoryWithThrowingShims.js","webpack:///../node_modules/preact/dist/preact.js","webpack:///../node_modules/es6-promise/auto.js","webpack:///../node_modules/es6-promise/dist/es6-promise.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///./gitalk.jsx","webpack:///../node_modules/babel-runtime/core-js/promise.js","webpack:///../node_modules/core-js/library/fn/promise.js","webpack:///../node_modules/core-js/library/modules/_string-at.js","webpack:///../node_modules/core-js/library/modules/_iter-create.js","webpack:///../node_modules/core-js/library/modules/_object-dps.js","webpack:///../node_modules/core-js/library/modules/_array-includes.js","webpack:///../node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///../node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///../node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///../node_modules/core-js/library/modules/_iter-step.js","webpack:///../node_modules/core-js/library/modules/es6.promise.js","webpack:///../node_modules/core-js/library/modules/_an-instance.js","webpack:///../node_modules/core-js/library/modules/_for-of.js","webpack:///../node_modules/core-js/library/modules/_invoke.js","webpack:///../node_modules/core-js/library/modules/_microtask.js","webpack:///../node_modules/core-js/library/modules/_user-agent.js","webpack:///../node_modules/core-js/library/modules/_redefine-all.js","webpack:///../node_modules/core-js/library/modules/_set-species.js","webpack:///../node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///../node_modules/core-js/library/modules/es7.promise.try.js","webpack:///../node_modules/babel-runtime/core-js/object/assign.js","webpack:///../node_modules/core-js/library/fn/object/assign.js","webpack:///../node_modules/core-js/library/modules/es6.object.assign.js","webpack:///../node_modules/core-js/library/modules/_object-assign.js","webpack:///../node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///../node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///../node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///../node_modules/core-js/library/fn/symbol/iterator.js","webpack:///../node_modules/babel-runtime/core-js/symbol.js","webpack:///../node_modules/core-js/library/fn/symbol/index.js","webpack:///../node_modules/core-js/library/modules/es6.symbol.js","webpack:///../node_modules/core-js/library/modules/_meta.js","webpack:///../node_modules/core-js/library/modules/_enum-keys.js","webpack:///../node_modules/core-js/library/modules/_is-array.js","webpack:///../node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///../node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///../node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///../node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///../node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///../node_modules/core-js/library/modules/_set-proto.js","webpack:///../node_modules/babel-runtime/core-js/object/create.js","webpack:///../node_modules/core-js/library/fn/object/create.js","webpack:///../node_modules/core-js/library/modules/es6.object.create.js","webpack:///../node_modules/react-flip-move/lib/index.js","webpack:///../node_modules/react-flip-move/lib/FlipMove.js","webpack:///../node_modules/react-flip-move/lib/polyfills.js","webpack:///../node_modules/react-flip-move/lib/prop-converter.js","webpack:///../node_modules/react-flip-move/lib/error-messages.js","webpack:///../node_modules/react-flip-move/lib/enter-leave-presets.js","webpack:///../node_modules/react-flip-move/lib/dom-manipulation.js","webpack:///../node_modules/autosize/dist/autosize.js","webpack:///./i18n/index.js","webpack:///../node_modules/node-polyglot/build/polyglot.js","webpack:///./i18n/zh-CN.json","webpack:///./i18n/zh-TW.json","webpack:///./i18n/en.json","webpack:///./i18n/es-ES.json","webpack:///./i18n/fr.json","webpack:///./i18n/ru.json","webpack:///./i18n/de.json","webpack:///../node_modules/babel-runtime/core-js/object/keys.js","webpack:///../node_modules/core-js/library/fn/object/keys.js","webpack:///../node_modules/core-js/library/modules/es6.object.keys.js","webpack:///../node_modules/babel-runtime/helpers/slicedToArray.js","webpack:///../node_modules/babel-runtime/core-js/is-iterable.js","webpack:///../node_modules/core-js/library/fn/is-iterable.js","webpack:///../node_modules/core-js/library/modules/core.is-iterable.js","webpack:///../node_modules/babel-runtime/core-js/get-iterator.js","webpack:///../node_modules/core-js/library/fn/get-iterator.js","webpack:///../node_modules/core-js/library/modules/core.get-iterator.js","webpack:///../node_modules/axios/index.js","webpack:///../node_modules/axios/lib/axios.js","webpack:///../node_modules/axios/lib/core/Axios.js","webpack:///../node_modules/axios/lib/core/InterceptorManager.js","webpack:///../node_modules/axios/lib/core/dispatchRequest.js","webpack:///../node_modules/axios/lib/core/transformData.js","webpack:///../node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///../node_modules/axios/lib/core/settle.js","webpack:///../node_modules/axios/lib/core/enhanceError.js","webpack:///../node_modules/axios/lib/core/buildFullPath.js","webpack:///../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///../node_modules/axios/lib/helpers/combineURLs.js","webpack:///../node_modules/axios/lib/helpers/parseHeaders.js","webpack:///../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///../node_modules/axios/lib/helpers/cookies.js","webpack:///../node_modules/axios/lib/cancel/CancelToken.js","webpack:///../node_modules/axios/lib/helpers/spread.js","webpack:///./component/button.jsx","webpack:///./component/action.jsx","webpack:///./component/comment.jsx","webpack:///../node_modules/raw-loader ^\\.\\/.*\\.svg$","webpack:///./assets/icon/arrow_down.svg","webpack:///./assets/icon/edit.svg","webpack:///./assets/icon/github.svg","webpack:///./assets/icon/heart.svg","webpack:///./assets/icon/heart_on.svg","webpack:///./assets/icon/reply.svg","webpack:///./assets/icon/tip.svg","webpack:///../node_modules/date-fns/distance_in_words_to_now/index.js","webpack:///../node_modules/date-fns/distance_in_words/index.js","webpack:///../node_modules/date-fns/compare_desc/index.js","webpack:///../node_modules/date-fns/is_date/index.js","webpack:///../node_modules/date-fns/difference_in_seconds/index.js","webpack:///../node_modules/date-fns/difference_in_milliseconds/index.js","webpack:///../node_modules/date-fns/difference_in_months/index.js","webpack:///../node_modules/date-fns/difference_in_calendar_months/index.js","webpack:///../node_modules/date-fns/compare_asc/index.js","webpack:///../node_modules/date-fns/locale/en/index.js","webpack:///../node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/en/build_format_locale/index.js","webpack:///../node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js","webpack:///../node_modules/date-fns/locale/zh_cn/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/zh_tw/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js","webpack:///../node_modules/date-fns/locale/ru/build_distance_in_words_locale/index.js","webpack:///./const.js","webpack:///./graphql/getComments.js","webpack:///../node_modules/babel-runtime/helpers/toConsumableArray.js","webpack:///../node_modules/babel-runtime/core-js/array/from.js","webpack:///../node_modules/core-js/library/fn/array/from.js","webpack:///../node_modules/core-js/library/modules/es6.array.from.js","webpack:///../node_modules/core-js/library/modules/_create-property.js"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","moduleId","installedModules","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","core","version","__e","global","window","Math","self","Function","__g","store","uid","Symbol","USE_SYMBOL","isArray","val","toString","isUndefined","isBuffer","constructor","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isDate","isFile","isBlob","isFunction","isStream","pipe","isURLSearchParams","URLSearchParams","trim","str","replace","isStandardBrowserEnv","navigator","product","document","forEach","obj","fn","length","key","merge","assignValue","result","arguments","deepMerge","extend","a","b","thisArg","bind","ctx","hide","has","$export","type","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","target","undefined","C","apply","virtual","R","U","__webpack_exports__","EmptyComponent","handleComponentVNode","vnode","tag","nodeName","attributes","defaultProps","handleElementVNode","shouldSanitize","attrs","CAMEL_PROPS","test","toLowerCase","render$1","parent","callback","prev","_preactCompatRendered","base","parentNode","children","childNodes","removeChild","_component","renderSubtreeIntoContainer","parentComponent","container","wrap","ContextProvider","context","unmountComponentAtNode","existing","createFactory","createElement","upgradeToVNodes","arr","offset","Array","isValidElement","props","isStatelessComponent","render","wrapStatelessComponent","WrappedComponent","createClass","displayName","statelessComponentHook","Ctor","Wrapped","COMPONENT_WRAPPER_KEY","value","propTypes","args","len","normalizeVNode","preactCompatNormalized","applyClassName","ref","currentComponent","createStringRefProxy","applyEventNormalization","cloneElement$1","element","elementProps","node","cloneArgs","push","VNode","$$typeof","REACT_ELEMENT_TYPE","component","_refProxies","resolved","refs","ondoubleclick","ondblclick","onchange","normalized","oninput","multihook","cl","className","class","shallowDiffers","i$1","findDOMNode","bindAll","Component$1","BYPASS_HOOK","newComponentHook","mixins","applyMixins","collateMixins","statics","getDefaultProps","keyed","mixin","proto","concat","ARR","v","__bound","AUTOBIND_BLACKLIST","callMethod","hooks","skipDuplicates","ret","arguments$1","this$1","r","propsHook","componentWillReceiveProps","beforeRender","afterRender","DEV","ctor","checkPropTypes","opts","state","getInitialState","PureComponent","ELEMENTS","split","for","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","componentWillMount","componentDidMount","componentWillUnmount","componentDidUnmount","process","env","NODE_ENV","preactCompatUpgraded","set","oldEventHook","event","e","persist","nativeEvent","oldVnodeHook","String","defaultValue","getChildContext","Children","map","toArray","count","only","Error","DOM","isReactComponent","replaceState","setState","getDOMNode","isMounted","isPureReactComponent","index","PropTypes","cloneElement","Component","unstable_renderSubtreeIntoContainer","it","TypeError","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","timeout","run","Item","array","noop","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","createDesc","aFunction","that","exec","IObject","defined","parse","argument","dirtyOptions","Date","getTime","options","additionalDigits","DEFAULT_ADDITIONAL_DIGITS","Number","dateStrings","splitDateString","parseYearResult","parseYear","date","year","restDateString","parseDate","timestamp","time","parseTime","timezone","parseTimezone","getTimezoneOffset","MILLISECONDS_IN_MINUTE","dateString","timeString","parseTokenDateTimeDelimeter","parseTokenPlainTime","token","parseTokenTimezone","parseTokenYYY","parseTokensYYY","parseTokenYYYYY","parseTokensYYYYY","parseTokenYYYY","yearString","parseInt","slice","parseTokenYY","centuryString","month","week","setUTCFullYear","parseTokenMM","parseTokenDDD","dayOfYear","parseTokenMMDD","day","parseTokenWww","dayOfISOYear","parseTokenWwwD","hours","minutes","parseTokenHH","parseFloat","MILLISECONDS_IN_HOUR","parseTokenHHMM","parseTokenHHMMSS","seconds","timezoneString","absoluteOffset","parseTokenTimezoneZ","parseTokenTimezoneHH","parseTokenTimezoneHHMM","isoYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","getUTCDate","bitmap","writable","$at","iterated","_t","_i","point","done","$keys","enumBugKeys","keys","id","px","random","def","TAG","stat","Iterators","TO_STRING_TAG","DOMIterables","NAME","Collection","propertyIsEnumerable","default","instance","Constructor","_defineProperty","_defineProperty2","defineProperties","descriptor","protoProps","staticProps","is","valueOf","ceil","floor","isNaN","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","create","Properties","toInteger","min","shared","mode","copyright","cof","ARG","tryGet","T","callee","classof","ITERATOR","getIteratorMethod","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","getOwnPropertySymbols","LIBRARY","wksExt","$Symbol","charAt","omit","indexOf","arraysEqual","notBothArrays","differentLengths","every","isElementAnSFC","hyphenate","cache","redefine","$iterCreate","setToStringTag","getPrototypeOf","BUGGY","returnThis","Base","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","toIObject","arrayIndexOf","names","documentElement","toObject","ObjectProto","iterator","ArrayProto","SPECIES","D","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","listener","data","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","clear","newPromiseCapability","x","promiseCapability","SAFE_CLOSING","riter","from","skipClosing","safe","iter","fails","KEY","exp","_typeof2","_typeof3","ReferenceError","_interopRequireDefault","_iterator","_iterator2","_symbol","_symbol2","_typeof","hiddenKeys","getOwnPropertyNames","pIE","gOPD","getOwnPropertyDescriptor","_setPrototypeOf","_setPrototypeOf2","_create","_create2","subClass","superClass","__proto__","hasClassInParent","formatErrorMsg","getMetaContent","axiosGithub","axiosJSON","queryStringify","queryParse","_keys","_keys2","_slicedToArray2","_slicedToArray3","_axios2","_axios","search","location","queryString","substring","query","queryStr","decodeURIComponent","encodeURIComponent","join","axios","headers","baseURL","content","el","querySelector","getAttribute","err","msg","response","message","errors","yes","classes","encode","utils","url","params","paramsSerializer","serializedParams","parts","toISOString","JSON","stringify","hashmarkIndex","__CANCEL__","setContentTypeIfUnset","normalizeHeaderName","DEFAULT_CONTENT_TYPE","defaults","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","method","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","fullPath","toUpperCase","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","then","cancel","abort","send","enhanceError","code","error","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","prop","axiosKeys","otherKeys","filter","Cancel","_react2","_react","alt","onError","text","dangerouslySetInnerHTML","__html","require","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_gitalk2","_gitalk","Gitalk","HTMLElement","getElementById","$Object","desc","ReactIs","isElement","y","u","g","k","t","h","z","q","w","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","REACT_FRAGMENT_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_LAZY_TYPE","REACT_MEMO_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","REACT_ASYNC_MODE_TYPE","$$typeofType","REACT_PORTAL_TYPE","hasWarnedAboutDeprecatedIsAsyncMode","lowPriorityWarningWithoutStack$1","hasSymbol","lowPriorityWarningWithoutStack","printWarning","format","_len","_key","argIndex","console","warn","condition","_len2","_key2","emptyFunctionThatReturnsNull","assign","ReactPropTypesSecret","throwOnDirectAccess","getIteratorFn","maybeIterable","iteratorFn","ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","PropTypeError","stack","createChainableTypeChecker","validate","checkType","isRequired","propName","componentName","propFullName","secret","ANONYMOUS","cacheKey","manualPropTypeCallCache","manualPropTypeWarningCount","chainedCheckType","createPrimitiveTypeChecker","expectedType","propValue","getPropType","getPreciseType","createArrayOfTypeChecker","typeChecker","createInstanceTypeChecker","expectedClass","expectedClassName","getClassName","createEnumTypeChecker","expectedValues","valuesString","createObjectOfTypeChecker","propType","createUnionTypeChecker","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","createShapeTypeChecker","shapeTypes","createStrictShapeTypeChecker","allKeys","isNode","step","entry","isSymbol","RegExp","ReactPropTypes","bool","func","number","string","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","resetWarningCache","propIsEnumerable","test1","test2","fromCharCode","test3","letter","symbols","to","typeSpecs","getStack","typeSpecName","ex","loggedTypeFailures","emptyFunction","emptyFunctionWithReset","shim","getShim","lastSimple","child","simple","EMPTY_CHILDREN","pop","enqueueRender","__d","items","debounceRendering","rerender","list","renderComponent","isSameNodeType","hydrating","splitText","_componentConstructor","isNamedNode","__n","getNodeProps","createNode","isSvg","createElementNS","removeNode","setAccessor","old","cssText","IS_NON_DIMENSIONAL","innerHTML","useCapture","eventProxy","removeEventListener","__l","setProperty","removeAttribute","ns","removeAttributeNS","setAttributeNS","setAttribute","flushMounts","mounts","afterMount","dom","mountAll","componentRoot","diffLevel","isSvgMode","ownerSVGElement","idiff","prevSvgMode","nodeValue","createTextNode","replaceChild","recollectNodeTree","__preactattr_","buildComponentFromVNode","firstChild","fc","vchildren","nextSibling","innerDiffNode","diffAttributes","isHydrating","j","vchild","originalChildren","keyedLen","childrenLen","vlen","_child","__k","insertBefore","unmountOnly","unmountComponent","removeChildren","lastChild","previousSibling","collectComponent","components","createComponent","inst","doRender","__b","splice","setComponentProps","__x","__r","__c","__p","syncComponentUpdates","isChild","rendered","cbase","previousProps","previousState","__s","previousContext","isUpdate","nextBase","initialBase","initialChildComponent","skip","toUnmount","childComponent","childProps","__u","baseParent","componentRef","unshift","afterUpdate","__h","originalComponent","oldDom","isDirectOwner","isOwner","beforeUnmount","inner","forceUpdate","preact","polyfill","objectOrFunction","setScheduler","scheduleFn","customSchedulerFn","setAsap","asapFn","asap","useVertxTimer","vertxNext","flush","useSetTimeout","globalSetTimeout","onFulfillment","onRejection","_arguments","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","selfFulfillment","cannotReturnOwn","getThen","GET_THEN_ERROR","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_label","handleOwnThenable","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","publishRejection","_onerror","publish","PENDING","_subscribers","subscribers","settled","detail","ErrorObject","tryCatch","TRY_CATCH_ERROR","hasCallback","succeeded","failed","initializePromise","resolver","nextId","Enumerator$1","input","_instanceConstructor","_remaining","_enumerate","validationError","all$1","race$1","_","reject$1","needsResolver","needsNew","Promise$2","polyfill$1","local","promiseToString","cast","_isArray","arg","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isWorker","Uint8ClampedArray","iterations","observer","observe","characterData","vertx","runOnLoop","runOnContext","_eachEntry","resolve$$1","_then","_settledAt","_willSettleAt","enumerator","all","race","_setScheduler","_setAsap","_asap","eval","_promise","_promise2","_assign","_assign2","_getPrototypeOf","_getPrototypeOf2","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_reactFlipMove2","_reactFlipMove","_autosize2","_autosize","_i18n2","_i18n","_avatar2","_avatar","_button2","_button","_action2","_action","_comment2","_comment","_svg2","_svg","_getComments2","_getComments","GitalkComponent","user","issue","comments","localComments","comment","page","pagerDirection","cursor","previewHtml","isNoInit","isIniting","isCreating","isLoading","isLoadMore","isLoadOver","isIssueCreating","isPopupVisible","isInputFocused","isPreview","isOccurError","errorMsg","getCommentsV3","clientID","clientSecret","perPage","getIssue","comments_url","Accept","per_page","res","cs","getRef","publicBtnEL","reply","replyComment","replyCommentBody","body","replyCommentArray","login","autosize","update","commentEL","focus","handlePopup","preventDefault","stopPropagation","isVisible","hideHandle","e1","handleLogin","localStorage","setItem","GT_COMMENT","href","loginLink","handleIssueCreate","createIssue","getComments","catch","handleCommentCreate","createComment","handleCommentPreview","post","accessToken","handleCommentLoad","handleCommentChange","handleLogout","logout","reload","handleCommentFocus","distractionFreeMode","handleCommentBlur","handleSort","direction","handleCommentKeyDown","enableHotKey","metaKey","ctrlKey","keyCode","labels","language","userLanguage","createIssueManually","proxy","flipMoveOptions","staggerDelayBy","appearAnimation","enterAnimation","leaveAnimation","defaultAuthor","avatarUrl","updateCountCallback","storedComment","getItem","removeItem","replacedUrl","origin","pathname","hash","history","client_id","client_secret","access_token","getInit","log","i18n","_Component","getUserInfo","owner","repo","getUrl","isAdmin","getIssueById","resIssue","getIssueByLabels","QLGetComments","GT_ACCESS_TOKEN","reactions","nodes","findIndex","totalCount","viewerHasReacted","operationName","gId","admin","link","onClick","avatar_url","handleImageErrored","onMouseDown","onChange","onFocus","onBlur","onKeyDown","placeholder","totalComments","reverse","commentedText","replyCallback","likeCallback","unLike","like","cnt","isDesc","counts","html_url","smart_count","GT_VERSION","initing","meta","noInit","header","_accessToke","_accessToken","redirect_uri","scope","githubOauthUrl","TO_STRING","pos","charCodeAt","getKeys","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","max","addToUnscopables","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","v8","$Promise","empty","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","capability","iterable","remaining","$index","alreadyCalled","forbiddenField","isArrayIter","getIterFn","BREAK","RETURN","iterFn","un","macrotask","Observer","head","last","standalone","toggle","DESCRIPTORS","onFinally","callbackfn","gOPS","$assign","A","K","aLen","getSymbols","isEnum","$getPrototypeOf","META","$fails","wks","wksDefine","enumKeys","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","NEED","windowNames","getWindowNames","setPrototypeOf","check","buggy","_FlipMove","_FlipMove2","_classCallCheck","_possibleConstructorReturn","_inherits","getKey","childData","_slicedToArray","sliceIterator","_arr","_e","_extends","_createClass","_propConverter","_propConverter2","_domManipulation","_helpers","transitionEnd","whichTransitionEvent","noBrowserSupport","FlipMove","_ref","_temp","_this","_ret","appearing","childrenData","parentData","domNode","boundingBox","heightPlaceholderData","remainingAnimations","childrenToAnimate","runAnimation","doesChildNeedToBeAnimated","animateChild","onStartAll","callChildrenHook","getChildData","childDomNode","childBoundingBox","parentBoundingBox","_this$props","getPosition","isAppearingWithAnimation","isEnteringWithAnimation","entering","isLeavingWithAnimation","leaving","_getPositionDelta","getPositionDelta","_getPositionDelta2","dX","dY","isAnimationDisabled","prepForAnimation","nextProps","updateBoundingBoxCaches","nextChildren","calculateNextSetOfChildren","oldChildrenKeys","nextChildrenKeys","_this2","updatedChildren","nextChild","findChildByKey","isEntering","numOfChildrenLeaving","find","_ref2","nextChildIndex","_this3","_props","maintainContainerHeight","leavingChild","removeNodeFromDOMFlow","verticalAlignment","updateHeightPlaceholder","_getChildData","applyStylesToDOMNode","styles","transition","_this4","_getChildData2","computeInitialStyles","onStart","requestAnimationFrame","createTransitionString","transform","opacity","bindTransitionEndHandler","_this5","_getChildData3","transitionEndHandler","ev","triggerFinishHooks","removeChildData","_this6","onFinish","_ref3","item","onFinishAll","height","hook","_this7","elements","domNodes","childKey","hasChildData","_this8","parentDomNode","setChildData","getRelativeBoundingBox","position","top","left","right","bottom","_getPositionDelta3","_getPositionDelta4","disableAllAnimations","duration","delay","staggerDurationBy","_this9","typeName","isContainerAList","placeholderType","visibility","_this10","getNativeNode","_this11","_props2","delegated","childrenWithRefs","createHeightPlaceholder","predicate","kValue","propConverter","ComposedComponent","_class","FlipMovePropConverter","nodeEnv","_errorMessages","statelessFunctionalComponentSupplied","workingProps","easing","convertTimingProp","convertAnimationProp","_enterLeavePresets","appearPresets","enterPresets","leavePresets","checkForStatelessFunctionalComponents","disableAnimations","deprecatedDisableAnimations","primaryPropKeys","delegatedProps","rawValue","invalidTypeForTimingProp","animation","presets","defaultPreset","disablePreset","presetKeys","invalidEnterLeavePreset","acceptableValues","convertProps","getBoundingClientRect","warnOnce","hasWarned","elevator","fade","accordionVertical","transformOrigin","accordionHorizontal","none","accordianVertical","accordianHorizontal","transitions","match","getPropertyValue","_reactDom","parentBox","_getPosition","width","defaultBox","oldRelativeBox","newAbsoluteBox","newRelativeBox","computed","getComputedStyle","marginAttrs","margins","reduce","acc","margin","propertyVal","_ref4","originalParentHeight","collapsedParentHeight","reductionInHeight","foundNode","ta","changeOverflow","offsetWidth","overflowY","getParentOverflows","scrollTop","resize","originalHeight","overflows","docTop","endHeight","scrollHeight","heightOffset","clientWidth","styleHeight","round","actualHeight","boxSizing","offsetHeight","cachedHeight","evt","createEvent","dispatchEvent","pageResize","destroy","overflowX","wordWrap","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","Map","Event","bubbles","initEvent","Polyglot","phrases","i18nMap","en","locale","_polyglot2","_polyglot","_zhCN2","_zhCN","_zhTW2","_zhTW","_en2","_en","_esES2","_esES","_fr2","_fr","_ru2","_ru","_de2","_de","ZHCN","ZHTW","EN","ES","FR","RU","DE","currentLocale","allowMissing","langToTypeMap","mapping","langs","trimRe","choosePluralForm","texts","chosenText","delimeter","pluralTypeIndex","pluralTypeName","langToPluralType","pluralTypeToLanguages","pluralTypes","interpolate","phrase","clone","VERSION","newLocale","morePhrases","prefix","newPhrases","chinese","german","french","russian","czech","polish","icelandic","_isIterable2","_isIterable3","_getIterator2","_getIterator3","isIterable","getIterator","createInstance","defaultConfig","Axios","mergeConfig","instanceConfig","CancelToken","isCancel","promises","spread","interceptors","InterceptorManager","dispatchRequest","interceptor","fulfilled","rejected","shift","getUri","handlers","use","eject","throwIfCancellationRequested","throwIfRequested","transformData","fns","normalizedName","isAxiosError","toJSON","description","fileName","lineNumber","columnNumber","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","parsed","line","substr","resolveURL","msie","urlParsingNode","protocol","host","hostname","originURL","requestURL","expires","path","secure","cookie","toGMTString","remove","resolvePromise","_distance_in_words_to_now2","_distance_in_words_to_now","_index2","_index","_index4","_index3","_index6","_index5","_index8","_index7","_index10","_index9","GT_i18n_distanceInWordsLocaleMap","zh","fr","ru","Comment","emailResponse","classList","enableEdit","reactionTotalCount","pageInfo","hasNextPage","created_at","addSuffix","distanceInWords","body_html","webpackContext","req","webpackContextResolve","distanceInWordsToNow","dirtyDate","dirtyDateToCompare","comparison","compareDesc","localize","enLocale","dateLeft","dateRight","localizeOptions","Boolean","months","differenceInSeconds","includeSeconds","MINUTES_IN_DAY","MINUTES_IN_ALMOST_TWO_DAYS","MINUTES_IN_MONTH","MINUTES_IN_TWO_MONTHS","differenceInMonths","monthsSinceStartOfYear","years","dirtyDateLeft","dirtyDateRight","timeLeft","timeRight","differenceInMilliseconds","sign","compareAsc","difference","abs","differenceInCalendarMonths","setMonth","getMonth","getFullYear","buildDistanceInWordsLocale","buildFormatLocale","distanceInWordsLocale","one","other","lessThanXSeconds","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","months3char","monthsFull","weekdays2char","weekdays3char","weekdaysFull","meridiemUppercase","meridiemLowercase","meridiemFull","formatters","getDay","getHours","formatterToken","ordinal","formattingTokensRegExp","buildFormattingTokensRegExp","rem100","formatterKeys","formattingTokens","commonFormatterKeys","sort","declension","scheme","rem10","singularNominative","singularGenitive","pluralGenitive","buildLocalizeTokenFn","future","regular","past","getQL","pageSize","repository","author","databaseId","createdAt","bodyHTML","hasPreviousPage","startCursor","endCursor","_toConsumableArray2","_toConsumableArray3","vars","cursorDirection","ql","variables","_from","_from2","arr2","createProperty","arrayLike","mapfn"],"mappings":"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","file":"gitalk.min.js","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 if(typeof exports === 'object')\n\t\texports[\"Gitalk\"] = factory();\n\telse\n\t\troot[\"Gitalk\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 82);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c7023cce7384d387302e","(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 if(typeof exports === 'object')\n\t\texports[\"Gitalk\"] = factory();\n\telse\n\t\troot[\"Gitalk\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 82);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(39)('wks');\nvar uid = __webpack_require__(25);\nvar Symbol = __webpack_require__(1).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(72);\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = merge(result[key], val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = deepMerge(result[key], val);\n    } else if (typeof val === 'object') {\n      result[key] = deepMerge({}, val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  deepMerge: deepMerge,\n  extend: extend,\n  trim: trim\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar ctx = __webpack_require__(13);\nvar hide = __webpack_require__(11);\nvar has = __webpack_require__(12);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return version; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DOM\", function() { return DOM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Children\", function() { return Children; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createClass\", function() { return createClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createFactory\", function() { return createFactory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return createElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cloneElement\", function() { return cloneElement$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isValidElement\", function() { return isValidElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findDOMNode\", function() { return findDOMNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unmountComponentAtNode\", function() { return unmountComponentAtNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Component\", function() { return Component$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PureComponent\", function() { return PureComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unstable_renderSubtreeIntoContainer\", function() { return renderSubtreeIntoContainer; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_preact__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_preact___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_preact__);\n/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, \"PropTypes\", function() { return __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a; });\n\n\n\nvar version = '15.1.0'; // trick libraries to think we are react\n\nvar ELEMENTS = 'a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan'.split(' ');\n\nvar REACT_ELEMENT_TYPE = (typeof Symbol!=='undefined' && Symbol.for && Symbol.for('react.element')) || 0xeac7;\n\nvar COMPONENT_WRAPPER_KEY = typeof Symbol!=='undefined' ? Symbol.for('__preactCompatWrapper') : '__preactCompatWrapper';\n\n// don't autobind these methods since they already have guaranteed context.\nvar AUTOBIND_BLACKLIST = {\n\tconstructor: 1,\n\trender: 1,\n\tshouldComponentUpdate: 1,\n\tcomponentWillReceiveProps: 1,\n\tcomponentWillUpdate: 1,\n\tcomponentDidUpdate: 1,\n\tcomponentWillMount: 1,\n\tcomponentDidMount: 1,\n\tcomponentWillUnmount: 1,\n\tcomponentDidUnmount: 1\n};\n\n\nvar CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/;\n\n\nvar BYPASS_HOOK = {};\n\n/*global process*/\nvar DEV = typeof process==='undefined' || !process.env || process.env.NODE_ENV!=='production';\n\n// a component that renders nothing. Used to replace components for unmountComponentAtNode.\nfunction EmptyComponent() { return null; }\n\n\n\n// make react think we're react.\nvar VNode = __WEBPACK_IMPORTED_MODULE_1_preact__[\"h\"]('a', null).constructor;\nVNode.prototype.$$typeof = REACT_ELEMENT_TYPE;\nVNode.prototype.preactCompatUpgraded = false;\nVNode.prototype.preactCompatNormalized = false;\n\nObject.defineProperty(VNode.prototype, 'type', {\n\tget: function() { return this.nodeName; },\n\tset: function(v) { this.nodeName = v; },\n\tconfigurable:true\n});\n\nObject.defineProperty(VNode.prototype, 'props', {\n\tget: function() { return this.attributes; },\n\tset: function(v) { this.attributes = v; },\n\tconfigurable:true\n});\n\n\n\nvar oldEventHook = __WEBPACK_IMPORTED_MODULE_1_preact__[\"options\"].event;\n__WEBPACK_IMPORTED_MODULE_1_preact__[\"options\"].event = function (e) {\n\tif (oldEventHook) { e = oldEventHook(e); }\n\te.persist = Object;\n\te.nativeEvent = e;\n\treturn e;\n};\n\n\nvar oldVnodeHook = __WEBPACK_IMPORTED_MODULE_1_preact__[\"options\"].vnode;\n__WEBPACK_IMPORTED_MODULE_1_preact__[\"options\"].vnode = function (vnode) {\n\tif (!vnode.preactCompatUpgraded) {\n\t\tvnode.preactCompatUpgraded = true;\n\n\t\tvar tag = vnode.nodeName,\n\t\t\tattrs = vnode.attributes = extend({}, vnode.attributes);\n\n\t\tif (typeof tag==='function') {\n\t\t\tif (tag[COMPONENT_WRAPPER_KEY]===true || (tag.prototype && 'isReactComponent' in tag.prototype)) {\n\t\t\t\tif (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }\n\t\t\t\tif (vnode.children) { attrs.children = vnode.children; }\n\n\t\t\t\tif (!vnode.preactCompatNormalized) {\n\t\t\t\t\tnormalizeVNode(vnode);\n\t\t\t\t}\n\t\t\t\thandleComponentVNode(vnode);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }\n\t\t\tif (vnode.children) { attrs.children = vnode.children; }\n\n\t\t\tif (attrs.defaultValue) {\n\t\t\t\tif (!attrs.value && attrs.value!==0) {\n\t\t\t\t\tattrs.value = attrs.defaultValue;\n\t\t\t\t}\n\t\t\t\tdelete attrs.defaultValue;\n\t\t\t}\n\n\t\t\thandleElementVNode(vnode, attrs);\n\t\t}\n\t}\n\n\tif (oldVnodeHook) { oldVnodeHook(vnode); }\n};\n\nfunction handleComponentVNode(vnode) {\n\tvar tag = vnode.nodeName,\n\t\ta = vnode.attributes;\n\n\tvnode.attributes = {};\n\tif (tag.defaultProps) { extend(vnode.attributes, tag.defaultProps); }\n\tif (a) { extend(vnode.attributes, a); }\n}\n\nfunction handleElementVNode(vnode, a) {\n\tvar shouldSanitize, attrs, i;\n\tif (a) {\n\t\tfor (i in a) { if ((shouldSanitize = CAMEL_PROPS.test(i))) { break; } }\n\t\tif (shouldSanitize) {\n\t\t\tattrs = vnode.attributes = {};\n\t\t\tfor (i in a) {\n\t\t\t\tif (a.hasOwnProperty(i)) {\n\t\t\t\t\tattrs[ CAMEL_PROPS.test(i) ? i.replace(/([A-Z0-9])/, '-$1').toLowerCase() : i ] = a[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n// proxy render() since React returns a Component reference.\nfunction render$1(vnode, parent, callback) {\n\tvar prev = parent && parent._preactCompatRendered && parent._preactCompatRendered.base;\n\n\t// ignore impossible previous renders\n\tif (prev && prev.parentNode!==parent) { prev = null; }\n\n\t// default to first Element child\n\tif (!prev) { prev = parent.children[0]; }\n\n\t// remove unaffected siblings\n\tfor (var i=parent.childNodes.length; i--; ) {\n\t\tif (parent.childNodes[i]!==prev) {\n\t\t\tparent.removeChild(parent.childNodes[i]);\n\t\t}\n\t}\n\n\tvar out = __WEBPACK_IMPORTED_MODULE_1_preact__[\"render\"](vnode, parent, prev);\n\tif (parent) { parent._preactCompatRendered = out && (out._component || { base: out }); }\n\tif (typeof callback==='function') { callback(); }\n\treturn out && out._component || out;\n}\n\n\nvar ContextProvider = function () {};\n\nContextProvider.prototype.getChildContext = function () {\n\treturn this.props.context;\n};\nContextProvider.prototype.render = function (props) {\n\treturn props.children[0];\n};\n\nfunction renderSubtreeIntoContainer(parentComponent, vnode, container, callback) {\n\tvar wrap = __WEBPACK_IMPORTED_MODULE_1_preact__[\"h\"](ContextProvider, { context: parentComponent.context }, vnode);\n\tvar c = render$1(wrap, container);\n\tif (callback) { callback(c); }\n\treturn c._component || c.base;\n}\n\n\nfunction unmountComponentAtNode(container) {\n\tvar existing = container._preactCompatRendered && container._preactCompatRendered.base;\n\tif (existing && existing.parentNode===container) {\n\t\t__WEBPACK_IMPORTED_MODULE_1_preact__[\"render\"](__WEBPACK_IMPORTED_MODULE_1_preact__[\"h\"](EmptyComponent), container, existing);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n\nvar ARR = [];\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nvar Children = {\n\tmap: function(children, fn, ctx) {\n\t\tif (children == null) { return null; }\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) { fn = fn.bind(ctx); }\n\t\treturn children.map(fn);\n\t},\n\tforEach: function(children, fn, ctx) {\n\t\tif (children == null) { return null; }\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) { fn = fn.bind(ctx); }\n\t\tchildren.forEach(fn);\n\t},\n\tcount: function(children) {\n\t\treturn children && children.length || 0;\n\t},\n\tonly: function(children) {\n\t\tchildren = Children.toArray(children);\n\t\tif (children.length!==1) { throw new Error('Children.only() expects only one child.'); }\n\t\treturn children[0];\n\t},\n\ttoArray: function(children) {\n\t\tif (children == null) { return []; }\n\t\treturn Array.isArray && Array.isArray(children) ? children : ARR.concat(children);\n\t}\n};\n\n\n/** Track current render() component for ref assignment */\nvar currentComponent;\n\n\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n\nvar DOM = {};\nfor (var i=ELEMENTS.length; i--; ) {\n\tDOM[ELEMENTS[i]] = createFactory(ELEMENTS[i]);\n}\n\nfunction upgradeToVNodes(arr, offset) {\n\tfor (var i=offset || 0; i<arr.length; i++) {\n\t\tvar obj = arr[i];\n\t\tif (Array.isArray(obj)) {\n\t\t\tupgradeToVNodes(obj);\n\t\t}\n\t\telse if (obj && typeof obj==='object' && !isValidElement(obj) && ((obj.props && obj.type) || (obj.attributes && obj.nodeName) || obj.children)) {\n\t\t\tarr[i] = createElement(obj.type || obj.nodeName, obj.props || obj.attributes, obj.children);\n\t\t}\n\t}\n}\n\nfunction isStatelessComponent(c) {\n\treturn typeof c==='function' && !(c.prototype && c.prototype.render);\n}\n\n\n// wraps stateless functional components in a PropTypes validator\nfunction wrapStatelessComponent(WrappedComponent) {\n\treturn createClass({\n\t\tdisplayName: WrappedComponent.displayName || WrappedComponent.name,\n\t\trender: function() {\n\t\t\treturn WrappedComponent(this.props, this.context);\n\t\t}\n\t});\n}\n\n\nfunction statelessComponentHook(Ctor) {\n\tvar Wrapped = Ctor[COMPONENT_WRAPPER_KEY];\n\tif (Wrapped) { return Wrapped===true ? Ctor : Wrapped; }\n\n\tWrapped = wrapStatelessComponent(Ctor);\n\n\tObject.defineProperty(Wrapped, COMPONENT_WRAPPER_KEY, { configurable:true, value:true });\n\tWrapped.displayName = Ctor.displayName;\n\tWrapped.propTypes = Ctor.propTypes;\n\tWrapped.defaultProps = Ctor.defaultProps;\n\n\tObject.defineProperty(Ctor, COMPONENT_WRAPPER_KEY, { configurable:true, value:Wrapped });\n\n\treturn Wrapped;\n}\n\n\nfunction createElement() {\n\tvar args = [], len = arguments.length;\n\twhile ( len-- ) args[ len ] = arguments[ len ];\n\n\tupgradeToVNodes(args, 2);\n\treturn normalizeVNode(__WEBPACK_IMPORTED_MODULE_1_preact__[\"h\"].apply(void 0, args));\n}\n\n\nfunction normalizeVNode(vnode) {\n\tvnode.preactCompatNormalized = true;\n\n\tapplyClassName(vnode);\n\n\tif (isStatelessComponent(vnode.nodeName)) {\n\t\tvnode.nodeName = statelessComponentHook(vnode.nodeName);\n\t}\n\n\tvar ref = vnode.attributes.ref,\n\t\ttype = ref && typeof ref;\n\tif (currentComponent && (type==='string' || type==='number')) {\n\t\tvnode.attributes.ref = createStringRefProxy(ref, currentComponent);\n\t}\n\n\tapplyEventNormalization(vnode);\n\n\treturn vnode;\n}\n\n\nfunction cloneElement$1(element, props) {\n\tvar children = [], len = arguments.length - 2;\n\twhile ( len-- > 0 ) children[ len ] = arguments[ len + 2 ];\n\n\tif (!isValidElement(element)) { return element; }\n\tvar elementProps = element.attributes || element.props;\n\tvar node = __WEBPACK_IMPORTED_MODULE_1_preact__[\"h\"](\n\t\telement.nodeName || element.type,\n\t\telementProps,\n\t\telement.children || elementProps && elementProps.children\n\t);\n\t// Only provide the 3rd argument if needed.\n\t// Arguments 3+ overwrite element.children in preactCloneElement\n\tvar cloneArgs = [node, props];\n\tif (children && children.length) {\n\t\tcloneArgs.push(children);\n\t}\n\telse if (props && props.children) {\n\t\tcloneArgs.push(props.children);\n\t}\n\treturn normalizeVNode(__WEBPACK_IMPORTED_MODULE_1_preact__[\"cloneElement\"].apply(void 0, cloneArgs));\n}\n\n\nfunction isValidElement(element) {\n\treturn element && ((element instanceof VNode) || element.$$typeof===REACT_ELEMENT_TYPE);\n}\n\n\nfunction createStringRefProxy(name, component) {\n\treturn component._refProxies[name] || (component._refProxies[name] = function (resolved) {\n\t\tif (component && component.refs) {\n\t\t\tcomponent.refs[name] = resolved;\n\t\t\tif (resolved===null) {\n\t\t\t\tdelete component._refProxies[name];\n\t\t\t\tcomponent = null;\n\t\t\t}\n\t\t}\n\t});\n}\n\n\nfunction applyEventNormalization(ref) {\n\tvar nodeName = ref.nodeName;\n\tvar attributes = ref.attributes;\n\n\tif (!attributes || typeof nodeName!=='string') { return; }\n\tvar props = {};\n\tfor (var i in attributes) {\n\t\tprops[i.toLowerCase()] = i;\n\t}\n\tif (props.ondoubleclick) {\n\t\tattributes.ondblclick = attributes[props.ondoubleclick];\n\t\tdelete attributes[props.ondoubleclick];\n\t}\n\t// for *textual inputs* (incl textarea), normalize `onChange` -> `onInput`:\n\tif (props.onchange && (nodeName==='textarea' || (nodeName.toLowerCase()==='input' && !/^fil|che|rad/i.test(attributes.type)))) {\n\t\tvar normalized = props.oninput || 'oninput';\n\t\tif (!attributes[normalized]) {\n\t\t\tattributes[normalized] = multihook([attributes[normalized], attributes[props.onchange]]);\n\t\t\tdelete attributes[props.onchange];\n\t\t}\n\t}\n}\n\n\nfunction applyClassName(ref) {\n\tvar attributes = ref.attributes;\n\n\tif (!attributes) { return; }\n\tvar cl = attributes.className || attributes.class;\n\tif (cl) { attributes.className = cl; }\n}\n\n\nfunction extend(base, props) {\n\tfor (var key in props) {\n\t\tif (props.hasOwnProperty(key)) {\n\t\t\tbase[key] = props[key];\n\t\t}\n\t}\n\treturn base;\n}\n\n\nfunction shallowDiffers(a, b) {\n\tfor (var i in a) { if (!(i in b)) { return true; } }\n\tfor (var i$1 in b) { if (a[i$1]!==b[i$1]) { return true; } }\n\treturn false;\n}\n\n\nfunction findDOMNode(component) {\n\treturn component && component.base || component;\n}\n\n\nfunction F(){}\n\nfunction createClass(obj) {\n\tfunction cl(props, context) {\n\t\tbindAll(this);\n\t\tComponent$1.call(this, props, context, BYPASS_HOOK);\n\t\tnewComponentHook.call(this, props, context);\n\t}\n\n\tobj = extend({ constructor: cl }, obj);\n\n\t// We need to apply mixins here so that getDefaultProps is correctly mixed\n\tif (obj.mixins) {\n\t\tapplyMixins(obj, collateMixins(obj.mixins));\n\t}\n\tif (obj.statics) {\n\t\textend(cl, obj.statics);\n\t}\n\tif (obj.propTypes) {\n\t\tcl.propTypes = obj.propTypes;\n\t}\n\tif (obj.defaultProps) {\n\t\tcl.defaultProps = obj.defaultProps;\n\t}\n\tif (obj.getDefaultProps) {\n\t\tcl.defaultProps = obj.getDefaultProps();\n\t}\n\n\tF.prototype = Component$1.prototype;\n\tcl.prototype = extend(new F(), obj);\n\n\tcl.displayName = obj.displayName || 'Component';\n\n\treturn cl;\n}\n\n\n// Flatten an Array of mixins to a map of method name to mixin implementations\nfunction collateMixins(mixins) {\n\tvar keyed = {};\n\tfor (var i=0; i<mixins.length; i++) {\n\t\tvar mixin = mixins[i];\n\t\tfor (var key in mixin) {\n\t\t\tif (mixin.hasOwnProperty(key) && typeof mixin[key]==='function') {\n\t\t\t\t(keyed[key] || (keyed[key]=[])).push(mixin[key]);\n\t\t\t}\n\t\t}\n\t}\n\treturn keyed;\n}\n\n\n// apply a mapping of Arrays of mixin methods to a component prototype\nfunction applyMixins(proto, mixins) {\n\tfor (var key in mixins) { if (mixins.hasOwnProperty(key)) {\n\t\tproto[key] = multihook(\n\t\t\tmixins[key].concat(proto[key] || ARR),\n\t\t\tkey==='getDefaultProps' || key==='getInitialState' || key==='getChildContext'\n\t\t);\n\t} }\n}\n\n\nfunction bindAll(ctx) {\n\tfor (var i in ctx) {\n\t\tvar v = ctx[i];\n\t\tif (typeof v==='function' && !v.__bound && !AUTOBIND_BLACKLIST.hasOwnProperty(i)) {\n\t\t\t(ctx[i] = v.bind(ctx)).__bound = true;\n\t\t}\n\t}\n}\n\n\nfunction callMethod(ctx, m, args) {\n\tif (typeof m==='string') {\n\t\tm = ctx.constructor.prototype[m];\n\t}\n\tif (typeof m==='function') {\n\t\treturn m.apply(ctx, args);\n\t}\n}\n\nfunction multihook(hooks, skipDuplicates) {\n\treturn function() {\n\t\tvar arguments$1 = arguments;\n\t\tvar this$1 = this;\n\n\t\tvar ret;\n\t\tfor (var i=0; i<hooks.length; i++) {\n\t\t\tvar r = callMethod(this$1, hooks[i], arguments$1);\n\n\t\t\tif (skipDuplicates && r!=null) {\n\t\t\t\tif (!ret) { ret = {}; }\n\t\t\t\tfor (var key in r) { if (r.hasOwnProperty(key)) {\n\t\t\t\t\tret[key] = r[key];\n\t\t\t\t} }\n\t\t\t}\n\t\t\telse if (typeof r!=='undefined') { ret = r; }\n\t\t}\n\t\treturn ret;\n\t};\n}\n\n\nfunction newComponentHook(props, context) {\n\tpropsHook.call(this, props, context);\n\tthis.componentWillReceiveProps = multihook([propsHook, this.componentWillReceiveProps || 'componentWillReceiveProps']);\n\tthis.render = multihook([propsHook, beforeRender, this.render || 'render', afterRender]);\n}\n\n\nfunction propsHook(props, context) {\n\tif (!props) { return; }\n\n\t// React annoyingly special-cases single children, and some react components are ridiculously strict about this.\n\tvar c = props.children;\n\tif (c && Array.isArray(c) && c.length===1) {\n\t\tprops.children = c[0];\n\n\t\t// but its totally still going to be an Array.\n\t\tif (props.children && typeof props.children==='object') {\n\t\t\tprops.children.length = 1;\n\t\t\tprops.children[0] = props.children;\n\t\t}\n\t}\n\n\t// add proptype checking\n\tif (DEV) {\n\t\tvar ctor = typeof this==='function' ? this : this.constructor,\n\t\t\tpropTypes = this.propTypes || ctor.propTypes;\n\t\tvar displayName = this.displayName || ctor.name;\n\n\t\tif (propTypes) {\n\t\t\t__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.checkPropTypes(propTypes, props, 'prop', displayName);\n\t\t}\n\t}\n}\n\n\nfunction beforeRender(props) {\n\tcurrentComponent = this;\n}\n\nfunction afterRender() {\n\tif (currentComponent===this) {\n\t\tcurrentComponent = null;\n\t}\n}\n\n\n\nfunction Component$1(props, context, opts) {\n\t__WEBPACK_IMPORTED_MODULE_1_preact__[\"Component\"].call(this, props, context);\n\tthis.state = this.getInitialState ? this.getInitialState() : {};\n\tthis.refs = {};\n\tthis._refProxies = {};\n\tif (opts!==BYPASS_HOOK) {\n\t\tnewComponentHook.call(this, props, context);\n\t}\n}\nextend(Component$1.prototype = new __WEBPACK_IMPORTED_MODULE_1_preact__[\"Component\"](), {\n\tconstructor: Component$1,\n\n\tisReactComponent: {},\n\n\treplaceState: function(state, callback) {\n\t\tvar this$1 = this;\n\n\t\tthis.setState(state, callback);\n\t\tfor (var i in this$1.state) {\n\t\t\tif (!(i in state)) {\n\t\t\t\tdelete this$1.state[i];\n\t\t\t}\n\t\t}\n\t},\n\n\tgetDOMNode: function() {\n\t\treturn this.base;\n\t},\n\n\tisMounted: function() {\n\t\treturn !!this.base;\n\t}\n});\n\n\n\nfunction PureComponent(props, context) {\n\tComponent$1.call(this, props, context);\n}\nF.prototype = Component$1.prototype;\nPureComponent.prototype = new F();\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n\n\n\nvar index = {\n\tversion: version,\n\tDOM: DOM,\n\tPropTypes: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a,\n\tChildren: Children,\n\trender: render$1,\n\tcreateClass: createClass,\n\tcreateFactory: createFactory,\n\tcreateElement: createElement,\n\tcloneElement: cloneElement$1,\n\tisValidElement: isValidElement,\n\tfindDOMNode: findDOMNode,\n\tunmountComponentAtNode: unmountComponentAtNode,\n\tComponent: Component$1,\n\tPureComponent: PureComponent,\n\tunstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n//# sourceMappingURL=preact-compat.es.js.map\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(9)))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(10);\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(6);\nvar IE8_DOM_DEFINE = __webpack_require__(48);\nvar toPrimitive = __webpack_require__(32);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* 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\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(14)(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\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\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar createDesc = __webpack_require__(19);\nmodule.exports = __webpack_require__(8) ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(24);\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(54);\nvar defined = __webpack_require__(35);\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(35);\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isDate = __webpack_require__(202)\n\nvar MILLISECONDS_IN_HOUR = 3600000\nvar MILLISECONDS_IN_MINUTE = 60000\nvar DEFAULT_ADDITIONAL_DIGITS = 2\n\nvar parseTokenDateTimeDelimeter = /[T ]/\nvar parseTokenPlainTime = /:/\n\n// year tokens\nvar parseTokenYY = /^(\\d{2})$/\nvar parseTokensYYY = [\n  /^([+-]\\d{2})$/, // 0 additional digits\n  /^([+-]\\d{3})$/, // 1 additional digit\n  /^([+-]\\d{4})$/ // 2 additional digits\n]\n\nvar parseTokenYYYY = /^(\\d{4})/\nvar parseTokensYYYYY = [\n  /^([+-]\\d{4})/, // 0 additional digits\n  /^([+-]\\d{5})/, // 1 additional digit\n  /^([+-]\\d{6})/ // 2 additional digits\n]\n\n// date tokens\nvar parseTokenMM = /^-(\\d{2})$/\nvar parseTokenDDD = /^-?(\\d{3})$/\nvar parseTokenMMDD = /^-?(\\d{2})-?(\\d{2})$/\nvar parseTokenWww = /^-?W(\\d{2})$/\nvar parseTokenWwwD = /^-?W(\\d{2})-?(\\d{1})$/\n\n// time tokens\nvar parseTokenHH = /^(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMM = /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMMSS = /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\n\n// timezone tokens\nvar parseTokenTimezone = /([Z+-].*)$/\nvar parseTokenTimezoneZ = /^(Z)$/\nvar parseTokenTimezoneHH = /^([+-])(\\d{2})$/\nvar parseTokenTimezoneHHMM = /^([+-])(\\d{2}):?(\\d{2})$/\n\n/**\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If all above fails, the function passes the given argument to Date constructor.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {Object} [options] - the object with options\n * @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parse('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Parse string '+02014101',\n * // if the additional number of digits in the extended year format is 1:\n * var result = parse('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction parse (argument, dirtyOptions) {\n  if (isDate(argument)) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime())\n  } else if (typeof argument !== 'string') {\n    return new Date(argument)\n  }\n\n  var options = dirtyOptions || {}\n  var additionalDigits = options.additionalDigits\n  if (additionalDigits == null) {\n    additionalDigits = DEFAULT_ADDITIONAL_DIGITS\n  } else {\n    additionalDigits = Number(additionalDigits)\n  }\n\n  var dateStrings = splitDateString(argument)\n\n  var parseYearResult = parseYear(dateStrings.date, additionalDigits)\n  var year = parseYearResult.year\n  var restDateString = parseYearResult.restDateString\n\n  var date = parseDate(restDateString, year)\n\n  if (date) {\n    var timestamp = date.getTime()\n    var time = 0\n    var offset\n\n    if (dateStrings.time) {\n      time = parseTime(dateStrings.time)\n    }\n\n    if (dateStrings.timezone) {\n      offset = parseTimezone(dateStrings.timezone)\n    } else {\n      // get offset accurate to hour in timezones that change offset\n      offset = new Date(timestamp + time).getTimezoneOffset()\n      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()\n    }\n\n    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)\n  } else {\n    return new Date(argument)\n  }\n}\n\nfunction splitDateString (dateString) {\n  var dateStrings = {}\n  var array = dateString.split(parseTokenDateTimeDelimeter)\n  var timeString\n\n  if (parseTokenPlainTime.test(array[0])) {\n    dateStrings.date = null\n    timeString = array[0]\n  } else {\n    dateStrings.date = array[0]\n    timeString = array[1]\n  }\n\n  if (timeString) {\n    var token = parseTokenTimezone.exec(timeString)\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], '')\n      dateStrings.timezone = token[1]\n    } else {\n      dateStrings.time = timeString\n    }\n  }\n\n  return dateStrings\n}\n\nfunction parseYear (dateString, additionalDigits) {\n  var parseTokenYYY = parseTokensYYY[additionalDigits]\n  var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]\n\n  var token\n\n  // YYYY or ±YYYYY\n  token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)\n  if (token) {\n    var yearString = token[1]\n    return {\n      year: parseInt(yearString, 10),\n      restDateString: dateString.slice(yearString.length)\n    }\n  }\n\n  // YY or ±YYY\n  token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)\n  if (token) {\n    var centuryString = token[1]\n    return {\n      year: parseInt(centuryString, 10) * 100,\n      restDateString: dateString.slice(centuryString.length)\n    }\n  }\n\n  // Invalid ISO-formatted year\n  return {\n    year: null\n  }\n}\n\nfunction parseDate (dateString, year) {\n  // Invalid ISO-formatted year\n  if (year === null) {\n    return null\n  }\n\n  var token\n  var date\n  var month\n  var week\n\n  // YYYY\n  if (dateString.length === 0) {\n    date = new Date(0)\n    date.setUTCFullYear(year)\n    return date\n  }\n\n  // YYYY-MM\n  token = parseTokenMM.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    date.setUTCFullYear(year, month)\n    return date\n  }\n\n  // YYYY-DDD or YYYYDDD\n  token = parseTokenDDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    var dayOfYear = parseInt(token[1], 10)\n    date.setUTCFullYear(year, 0, dayOfYear)\n    return date\n  }\n\n  // YYYY-MM-DD or YYYYMMDD\n  token = parseTokenMMDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    var day = parseInt(token[2], 10)\n    date.setUTCFullYear(year, month, day)\n    return date\n  }\n\n  // YYYY-Www or YYYYWww\n  token = parseTokenWww.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    return dayOfISOYear(year, week)\n  }\n\n  // YYYY-Www-D or YYYYWwwD\n  token = parseTokenWwwD.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    var dayOfWeek = parseInt(token[2], 10) - 1\n    return dayOfISOYear(year, week, dayOfWeek)\n  }\n\n  // Invalid ISO-formatted date\n  return null\n}\n\nfunction parseTime (timeString) {\n  var token\n  var hours\n  var minutes\n\n  // hh\n  token = parseTokenHH.exec(timeString)\n  if (token) {\n    hours = parseFloat(token[1].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR\n  }\n\n  // hh:mm or hhmm\n  token = parseTokenHHMM.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseFloat(token[2].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE\n  }\n\n  // hh:mm:ss or hhmmss\n  token = parseTokenHHMMSS.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseInt(token[2], 10)\n    var seconds = parseFloat(token[3].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE +\n      seconds * 1000\n  }\n\n  // Invalid ISO-formatted time\n  return null\n}\n\nfunction parseTimezone (timezoneString) {\n  var token\n  var absoluteOffset\n\n  // Z\n  token = parseTokenTimezoneZ.exec(timezoneString)\n  if (token) {\n    return 0\n  }\n\n  // ±hh\n  token = parseTokenTimezoneHH.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  // ±hh:mm or ±hhmm\n  token = parseTokenTimezoneHHMM.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  return 0\n}\n\nfunction dayOfISOYear (isoYear, week, day) {\n  week = week || 0\n  day = day || 0\n  var date = new Date(0)\n  date.setUTCFullYear(isoYear, 0, 4)\n  var fourthOfJanuaryDay = date.getUTCDay() || 7\n  var diff = week * 7 + day + 1 - fourthOfJanuaryDay\n  date.setUTCDate(date.getUTCDate() + diff)\n  return date\n}\n\nmodule.exports = parse\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(101)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(51)(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(53);\nvar enumBugKeys = __webpack_require__(40);\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(7).f;\nvar has = __webpack_require__(12);\nvar TAG = __webpack_require__(2)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(106);\nvar global = __webpack_require__(1);\nvar hide = __webpack_require__(11);\nvar Iterators = __webpack_require__(15);\nvar TO_STRING_TAG = __webpack_require__(2)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(83);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(10);\nvar document = __webpack_require__(1).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(10);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(6);\nvar dPs = __webpack_require__(103);\nvar enumBugKeys = __webpack_require__(40);\nvar IE_PROTO = __webpack_require__(38)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(31)('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(55).appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(34);\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(39)('keys');\nvar uid = __webpack_require__(25);\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: __webpack_require__(21) ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(23);\nvar TAG = __webpack_require__(2)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(41);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(15);\nmodule.exports = __webpack_require__(0).getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(24);\n\nfunction PromiseCapability(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 = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(2);\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar LIBRARY = __webpack_require__(21);\nvar wksExt = __webpack_require__(45);\nvar defineProperty = __webpack_require__(7).f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.omit = omit;\nexports.arraysEqual = arraysEqual;\nvar isElementAnSFC = exports.isElementAnSFC = function isElementAnSFC(element) {\n  var isNativeDOMElement = typeof element.type === 'string';\n\n  if (isNativeDOMElement) {\n    return false;\n  }\n\n  return !element.type.prototype.isReactComponent;\n};\nfunction omit(obj) {\n  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n  var result = {};\n  Object.keys(obj).forEach(function (key) {\n    if (attrs.indexOf(key) === -1) {\n      result[key] = obj[key];\n    }\n  });\n  return result;\n}\n\nfunction arraysEqual(a, b) {\n  var sameObject = a === b;\n  if (sameObject) {\n    return true;\n  }\n\n  var notBothArrays = !Array.isArray(a) || !Array.isArray(b);\n  var differentLengths = a.length !== b.length;\n\n  if (notBothArrays || differentLengths) {\n    return false;\n  }\n\n  return a.every(function (element, index) {\n    return element === b[index];\n  });\n}\n\nfunction memoizeString(fn) {\n  var cache = {};\n\n  return function (str) {\n    if (!cache[str]) {\n      cache[str] = fn(str);\n    }\n    return cache[str];\n  };\n}\n\nvar hyphenate = exports.hyphenate = memoizeString(function (str) {\n  return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(8) && !__webpack_require__(14)(function () {\n  return Object.defineProperty(__webpack_require__(31)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = __webpack_require__(87);\n} else {\n  module.exports = __webpack_require__(88);\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(21);\nvar $export = __webpack_require__(4);\nvar redefine = __webpack_require__(52);\nvar hide = __webpack_require__(11);\nvar Iterators = __webpack_require__(15);\nvar $iterCreate = __webpack_require__(102);\nvar setToStringTag = __webpack_require__(26);\nvar getPrototypeOf = __webpack_require__(56);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(11);\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(12);\nvar toIObject = __webpack_require__(16);\nvar arrayIndexOf = __webpack_require__(104)(false);\nvar IE_PROTO = __webpack_require__(38)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(23);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(1).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(12);\nvar toObject = __webpack_require__(17);\nvar IE_PROTO = __webpack_require__(38)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(6);\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(15);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(6);\nvar aFunction = __webpack_require__(24);\nvar SPECIES = __webpack_require__(2)('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(13);\nvar invoke = __webpack_require__(112);\nvar html = __webpack_require__(55);\nvar cel = __webpack_require__(31);\nvar global = __webpack_require__(1);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (__webpack_require__(23)(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(6);\nvar isObject = __webpack_require__(10);\nvar newPromiseCapability = __webpack_require__(43);\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\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(123), __esModule: true };\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(4);\nvar core = __webpack_require__(0);\nvar fails = __webpack_require__(14);\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _typeof2 = __webpack_require__(67);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(125);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(127);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(53);\nvar hiddenKeys = __webpack_require__(40).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(28);\nvar createDesc = __webpack_require__(19);\nvar toIObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(32);\nvar has = __webpack_require__(12);\nvar IE8_DOM_DEFINE = __webpack_require__(48);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(8) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = __webpack_require__(136);\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = __webpack_require__(140);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = __webpack_require__(67);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.hasClassInParent = exports.formatErrorMsg = exports.getMetaContent = exports.axiosGithub = exports.axiosJSON = exports.queryStringify = exports.queryParse = undefined;\n\nvar _keys = __webpack_require__(161);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _slicedToArray2 = __webpack_require__(164);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _axios = __webpack_require__(171);\n\nvar _axios2 = _interopRequireDefault(_axios);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar queryParse = exports.queryParse = function queryParse() {\n  var search = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.location.search;\n\n  if (!search) return {};\n  var queryString = search[0] === '?' ? search.substring(1) : search;\n  var query = {};\n  queryString.split('&').forEach(function (queryStr) {\n    var _queryStr$split = queryStr.split('='),\n        _queryStr$split2 = (0, _slicedToArray3.default)(_queryStr$split, 2),\n        key = _queryStr$split2[0],\n        value = _queryStr$split2[1];\n    /* istanbul ignore else */\n\n\n    if (key) query[decodeURIComponent(key)] = decodeURIComponent(value);\n  });\n\n  return query;\n};\n\nvar queryStringify = exports.queryStringify = function queryStringify(query) {\n  var queryString = (0, _keys2.default)(query).map(function (key) {\n    return key + '=' + encodeURIComponent(query[key] || '');\n  }).join('&');\n  return queryString;\n};\n\nvar axiosJSON = exports.axiosJSON = _axios2.default.create({\n  headers: {\n    'Accept': 'application/json'\n  }\n});\n\nvar axiosGithub = exports.axiosGithub = _axios2.default.create({\n  baseURL: 'https://api.github.com',\n  headers: {\n    'Accept': 'application/json'\n  }\n});\n\nvar getMetaContent = exports.getMetaContent = function getMetaContent(name, content) {\n  /* istanbul ignore next */\n  content || (content = 'content');\n  /* istanbul ignore next */\n  var el = window.document.querySelector('meta[name=\\'' + name + '\\']');\n  /* istanbul ignore next */\n  return el && el.getAttribute(content);\n};\n\nvar formatErrorMsg = exports.formatErrorMsg = function formatErrorMsg(err) {\n  var msg = 'Error: ';\n  if (err.response && err.response.data && err.response.data.message) {\n    msg += err.response.data.message + '. ';\n    err.response.data.errors && (msg += err.response.data.errors.map(function (e) {\n      return e.message;\n    }).join(', '));\n  } else {\n    msg += err.message;\n  }\n  return msg;\n};\n\nvar hasClassInParent = exports.hasClassInParent = function hasClassInParent(element) {\n  for (var _len = arguments.length, className = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    className[_key - 1] = arguments[_key];\n  }\n\n  /* istanbul ignore next */\n  var yes = false;\n  /* istanbul ignore next */\n  if (typeof element.className === 'undefined') return false;\n  /* istanbul ignore next */\n  var classes = element.className.split(' ');\n  /* istanbul ignore next */\n  className.forEach(function (c, i) {\n    /* istanbul ignore next */\n    yes = yes || classes.indexOf(c) >= 0;\n  });\n  /* istanbul ignore next */\n  if (yes) return yes;\n  /* istanbul ignore next */\n  return element.parentNode && hasClassInParent(element.parentNode, className);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%40/gi, '@').\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar utils = __webpack_require__(3);\nvar normalizeHeaderName = __webpack_require__(177);\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = __webpack_require__(76);\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = __webpack_require__(76);\n  }\n  return adapter;\n}\n\nvar defaults = {\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data)) {\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n      return JSON.stringify(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    /*eslint no-param-reassign:0*/\n    if (typeof data === 'string') {\n      try {\n        data = JSON.parse(data);\n      } catch (e) { /* Ignore */ }\n    }\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\nvar settle = __webpack_require__(178);\nvar buildURL = __webpack_require__(73);\nvar buildFullPath = __webpack_require__(180);\nvar parseHeaders = __webpack_require__(183);\nvar isURLSameOrigin = __webpack_require__(184);\nvar createError = __webpack_require__(77);\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password || '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    // Listen for ready state\n    request.onreadystatechange = function handleLoad() {\n      if (!request || request.readyState !== 4) {\n        return;\n      }\n\n      // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      }\n\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      var cookies = __webpack_require__(185);\n\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (requestData === undefined) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar enhanceError = __webpack_require__(179);\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n  var defaultToConfig2Keys = [\n    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n    'httpsAgent', 'cancelToken', 'socketPath'\n  ];\n\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    }\n  });\n\n  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n    if (utils.isObject(config2[prop])) {\n      config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n    } else if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (utils.isObject(config1[prop])) {\n      config[prop] = utils.deepMerge(config1[prop]);\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  var axiosKeys = valueFromConfig2Keys\n    .concat(mergeDeepPropertiesKeys)\n    .concat(defaultToConfig2Keys);\n\n  var otherKeys = Object\n    .keys(config2)\n    .filter(function filterAxiosKeys(key) {\n      return axiosKeys.indexOf(key) === -1;\n    });\n\n  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  return config;\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (_ref) {\n  var src = _ref.src,\n      className = _ref.className,\n      alt = _ref.alt,\n      onError = _ref.onError;\n  return _react2.default.createElement(\n    'div',\n    { className: 'gt-avatar ' + className },\n    _react2.default.createElement('img', { src: src, alt: '@' + alt, onError: onError })\n  );\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (_ref) {\n  var className = _ref.className,\n      text = _ref.text,\n      name = _ref.name;\n  return _react2.default.createElement(\n    \"span\",\n    { className: \"gt-ico \" + className },\n    _react2.default.createElement(\"span\", { className: \"gt-svg\", dangerouslySetInnerHTML: {\n        __html: __webpack_require__(191)(\"./\" + name + \".svg\")\n      } }),\n    text && _react2.default.createElement(\n      \"span\",\n      { className: \"gt-ico-text\" },\n      text\n    )\n  );\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _classCallCheck2 = __webpack_require__(29);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(30);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(5);\n\n__webpack_require__(94);\n\nvar _gitalk = __webpack_require__(98);\n\nvar _gitalk2 = _interopRequireDefault(_gitalk);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Gitalk = function () {\n  function Gitalk() {\n    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    (0, _classCallCheck3.default)(this, Gitalk);\n\n    this.options = options;\n  }\n\n  (0, _createClass3.default)(Gitalk, [{\n    key: 'render',\n    value: function render(container, callback) {\n      var node = null;\n      container = container || this.options.container;\n\n      if (!container) throw new Error('Container is required: ' + container);\n\n      if (!(container instanceof HTMLElement)) {\n        node = window.document.getElementById(container);\n        if (!node) throw new Error('Container not found, window.document.getElementById: ' + container);\n      } else {\n        node = container;\n      }\n\n      if (!callback) {\n        callback = function callback() {};\n      }\n\n      return (0, _reactDom.render)(_react2.default.createElement(_gitalk2.default, { options: this.options }), node, callback);\n    }\n  }]);\n  return Gitalk;\n}();\n\nmodule.exports = Gitalk;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(84), __esModule: true };\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(85);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(4);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(8), 'Object', { defineProperty: __webpack_require__(7).f });\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = __webpack_require__(49);\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = __webpack_require__(89)(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = __webpack_require__(92)();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nObject.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n  var printWarning = function (format) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    var argIndex = 0;\n    var message = 'Warning: ' + format.replace(/%s/g, function () {\n      return args[argIndex++];\n    });\n\n    if (typeof console !== 'undefined') {\n      console.warn(message);\n    }\n\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n\n  lowPriorityWarningWithoutStack = function (condition, format) {\n    if (format === undefined) {\n      throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n    }\n\n    if (!condition) {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n        args[_key2 - 2] = arguments[_key2];\n      }\n\n      printWarning.apply(void 0, [format].concat(args));\n    }\n  };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true;\n      lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n  })();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(49);\nvar assign = __webpack_require__(90);\n\nvar ReactPropTypesSecret = __webpack_require__(33);\nvar checkPropTypes = __webpack_require__(91);\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = __webpack_require__(33);\n  var loggedTypeFailures = {};\n  var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(33);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n!function() {\n    'use strict';\n    function VNode() {}\n    function h(nodeName, attributes) {\n        var lastSimple, child, simple, i, children = EMPTY_CHILDREN;\n        for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);\n        if (attributes && null != attributes.children) {\n            if (!stack.length) stack.push(attributes.children);\n            delete attributes.children;\n        }\n        while (stack.length) if ((child = stack.pop()) && void 0 !== child.pop) for (i = child.length; i--; ) stack.push(child[i]); else {\n            if (child === !0 || child === !1) child = null;\n            if (simple = 'function' != typeof nodeName) if (null == child) child = ''; else if ('number' == typeof child) child = String(child); else if ('string' != typeof child) simple = !1;\n            if (simple && lastSimple) children[children.length - 1] += child; else if (children === EMPTY_CHILDREN) children = [ child ]; else children.push(child);\n            lastSimple = simple;\n        }\n        var p = new VNode();\n        p.nodeName = nodeName;\n        p.children = children;\n        p.attributes = null == attributes ? void 0 : attributes;\n        p.key = null == attributes ? void 0 : attributes.key;\n        if (void 0 !== options.vnode) options.vnode(p);\n        return p;\n    }\n    function extend(obj, props) {\n        for (var i in props) obj[i] = props[i];\n        return obj;\n    }\n    function cloneElement(vnode, props) {\n        return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n    }\n    function enqueueRender(component) {\n        if (!component.__d && (component.__d = !0) && 1 == items.push(component)) (options.debounceRendering || setTimeout)(rerender);\n    }\n    function rerender() {\n        var p, list = items;\n        items = [];\n        while (p = list.pop()) if (p.__d) renderComponent(p);\n    }\n    function isSameNodeType(node, vnode, hydrating) {\n        if ('string' == typeof vnode || 'number' == typeof vnode) return void 0 !== node.splitText;\n        if ('string' == typeof vnode.nodeName) return !node._componentConstructor && isNamedNode(node, vnode.nodeName); else return hydrating || node._componentConstructor === vnode.nodeName;\n    }\n    function isNamedNode(node, nodeName) {\n        return node.__n === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n    }\n    function getNodeProps(vnode) {\n        var props = extend({}, vnode.attributes);\n        props.children = vnode.children;\n        var defaultProps = vnode.nodeName.defaultProps;\n        if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];\n        return props;\n    }\n    function createNode(nodeName, isSvg) {\n        var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);\n        node.__n = nodeName;\n        return node;\n    }\n    function removeNode(node) {\n        if (node.parentNode) node.parentNode.removeChild(node);\n    }\n    function setAccessor(node, name, old, value, isSvg) {\n        if ('className' === name) name = 'class';\n        if ('key' === name) ; else if ('ref' === name) {\n            if (old) old(null);\n            if (value) value(node);\n        } else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) {\n            if (!value || 'string' == typeof value || 'string' == typeof old) node.style.cssText = value || '';\n            if (value && 'object' == typeof value) {\n                if ('string' != typeof old) for (var i in old) if (!(i in value)) node.style[i] = '';\n                for (var i in value) node.style[i] = 'number' == typeof value[i] && IS_NON_DIMENSIONAL.test(i) === !1 ? value[i] + 'px' : value[i];\n            }\n        } else if ('dangerouslySetInnerHTML' === name) {\n            if (value) node.innerHTML = value.__html || '';\n        } else if ('o' == name[0] && 'n' == name[1]) {\n            var useCapture = name !== (name = name.replace(/Capture$/, ''));\n            name = name.toLowerCase().substring(2);\n            if (value) {\n                if (!old) node.addEventListener(name, eventProxy, useCapture);\n            } else node.removeEventListener(name, eventProxy, useCapture);\n            (node.__l || (node.__l = {}))[name] = value;\n        } else if ('list' !== name && 'type' !== name && !isSvg && name in node) {\n            setProperty(node, name, null == value ? '' : value);\n            if (null == value || value === !1) node.removeAttribute(name);\n        } else {\n            var ns = isSvg && name !== (name = name.replace(/^xlink\\:?/, ''));\n            if (null == value || value === !1) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); else node.removeAttribute(name); else if ('function' != typeof value) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); else node.setAttribute(name, value);\n        }\n    }\n    function setProperty(node, name, value) {\n        try {\n            node[name] = value;\n        } catch (e) {}\n    }\n    function eventProxy(e) {\n        return this.__l[e.type](options.event && options.event(e) || e);\n    }\n    function flushMounts() {\n        var c;\n        while (c = mounts.pop()) {\n            if (options.afterMount) options.afterMount(c);\n            if (c.componentDidMount) c.componentDidMount();\n        }\n    }\n    function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n        if (!diffLevel++) {\n            isSvgMode = null != parent && void 0 !== parent.ownerSVGElement;\n            hydrating = null != dom && !('__preactattr_' in dom);\n        }\n        var ret = idiff(dom, vnode, context, mountAll, componentRoot);\n        if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n        if (!--diffLevel) {\n            hydrating = !1;\n            if (!componentRoot) flushMounts();\n        }\n        return ret;\n    }\n    function idiff(dom, vnode, context, mountAll, componentRoot) {\n        var out = dom, prevSvgMode = isSvgMode;\n        if (null == vnode) vnode = '';\n        if ('string' == typeof vnode) {\n            if (dom && void 0 !== dom.splitText && dom.parentNode && (!dom._component || componentRoot)) {\n                if (dom.nodeValue != vnode) dom.nodeValue = vnode;\n            } else {\n                out = document.createTextNode(vnode);\n                if (dom) {\n                    if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n                    recollectNodeTree(dom, !0);\n                }\n            }\n            out.__preactattr_ = !0;\n            return out;\n        }\n        if ('function' == typeof vnode.nodeName) return buildComponentFromVNode(dom, vnode, context, mountAll);\n        isSvgMode = 'svg' === vnode.nodeName ? !0 : 'foreignObject' === vnode.nodeName ? !1 : isSvgMode;\n        if (!dom || !isNamedNode(dom, String(vnode.nodeName))) {\n            out = createNode(String(vnode.nodeName), isSvgMode);\n            if (dom) {\n                while (dom.firstChild) out.appendChild(dom.firstChild);\n                if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n                recollectNodeTree(dom, !0);\n            }\n        }\n        var fc = out.firstChild, props = out.__preactattr_ || (out.__preactattr_ = {}), vchildren = vnode.children;\n        if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && null != fc && void 0 !== fc.splitText && null == fc.nextSibling) {\n            if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];\n        } else if (vchildren && vchildren.length || null != fc) innerDiffNode(out, vchildren, context, mountAll, hydrating || null != props.dangerouslySetInnerHTML);\n        diffAttributes(out, vnode.attributes, props);\n        isSvgMode = prevSvgMode;\n        return out;\n    }\n    function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n        var j, c, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0;\n        if (0 !== len) for (var i = 0; i < len; i++) {\n            var _child = originalChildren[i], props = _child.__preactattr_, key = vlen && props ? _child._component ? _child._component.__k : props.key : null;\n            if (null != key) {\n                keyedLen++;\n                keyed[key] = _child;\n            } else if (props || (void 0 !== _child.splitText ? isHydrating ? _child.nodeValue.trim() : !0 : isHydrating)) children[childrenLen++] = _child;\n        }\n        if (0 !== vlen) for (var i = 0; i < vlen; i++) {\n            vchild = vchildren[i];\n            child = null;\n            var key = vchild.key;\n            if (null != key) {\n                if (keyedLen && void 0 !== keyed[key]) {\n                    child = keyed[key];\n                    keyed[key] = void 0;\n                    keyedLen--;\n                }\n            } else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) if (void 0 !== children[j] && isSameNodeType(c = children[j], vchild, isHydrating)) {\n                child = c;\n                children[j] = void 0;\n                if (j === childrenLen - 1) childrenLen--;\n                if (j === min) min++;\n                break;\n            }\n            child = idiff(child, vchild, context, mountAll);\n            if (child && child !== dom) if (i >= len) dom.appendChild(child); else if (child !== originalChildren[i]) if (child === originalChildren[i + 1]) removeNode(originalChildren[i]); else dom.insertBefore(child, originalChildren[i] || null);\n        }\n        if (keyedLen) for (var i in keyed) if (void 0 !== keyed[i]) recollectNodeTree(keyed[i], !1);\n        while (min <= childrenLen) if (void 0 !== (child = children[childrenLen--])) recollectNodeTree(child, !1);\n    }\n    function recollectNodeTree(node, unmountOnly) {\n        var component = node._component;\n        if (component) unmountComponent(component); else {\n            if (null != node.__preactattr_ && node.__preactattr_.ref) node.__preactattr_.ref(null);\n            if (unmountOnly === !1 || null == node.__preactattr_) removeNode(node);\n            removeChildren(node);\n        }\n    }\n    function removeChildren(node) {\n        node = node.lastChild;\n        while (node) {\n            var next = node.previousSibling;\n            recollectNodeTree(node, !0);\n            node = next;\n        }\n    }\n    function diffAttributes(dom, attrs, old) {\n        var name;\n        for (name in old) if ((!attrs || null == attrs[name]) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);\n        for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n    }\n    function collectComponent(component) {\n        var name = component.constructor.name;\n        (components[name] || (components[name] = [])).push(component);\n    }\n    function createComponent(Ctor, props, context) {\n        var inst, list = components[Ctor.name];\n        if (Ctor.prototype && Ctor.prototype.render) {\n            inst = new Ctor(props, context);\n            Component.call(inst, props, context);\n        } else {\n            inst = new Component(props, context);\n            inst.constructor = Ctor;\n            inst.render = doRender;\n        }\n        if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {\n            inst.__b = list[i].__b;\n            list.splice(i, 1);\n            break;\n        }\n        return inst;\n    }\n    function doRender(props, state, context) {\n        return this.constructor(props, context);\n    }\n    function setComponentProps(component, props, opts, context, mountAll) {\n        if (!component.__x) {\n            component.__x = !0;\n            if (component.__r = props.ref) delete props.ref;\n            if (component.__k = props.key) delete props.key;\n            if (!component.base || mountAll) {\n                if (component.componentWillMount) component.componentWillMount();\n            } else if (component.componentWillReceiveProps) component.componentWillReceiveProps(props, context);\n            if (context && context !== component.context) {\n                if (!component.__c) component.__c = component.context;\n                component.context = context;\n            }\n            if (!component.__p) component.__p = component.props;\n            component.props = props;\n            component.__x = !1;\n            if (0 !== opts) if (1 === opts || options.syncComponentUpdates !== !1 || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);\n            if (component.__r) component.__r(component);\n        }\n    }\n    function renderComponent(component, opts, mountAll, isChild) {\n        if (!component.__x) {\n            var rendered, inst, cbase, props = component.props, state = component.state, context = component.context, previousProps = component.__p || props, previousState = component.__s || state, previousContext = component.__c || context, isUpdate = component.base, nextBase = component.__b, initialBase = isUpdate || nextBase, initialChildComponent = component._component, skip = !1;\n            if (isUpdate) {\n                component.props = previousProps;\n                component.state = previousState;\n                component.context = previousContext;\n                if (2 !== opts && component.shouldComponentUpdate && component.shouldComponentUpdate(props, state, context) === !1) skip = !0; else if (component.componentWillUpdate) component.componentWillUpdate(props, state, context);\n                component.props = props;\n                component.state = state;\n                component.context = context;\n            }\n            component.__p = component.__s = component.__c = component.__b = null;\n            component.__d = !1;\n            if (!skip) {\n                rendered = component.render(props, state, context);\n                if (component.getChildContext) context = extend(extend({}, context), component.getChildContext());\n                var toUnmount, base, childComponent = rendered && rendered.nodeName;\n                if ('function' == typeof childComponent) {\n                    var childProps = getNodeProps(rendered);\n                    inst = initialChildComponent;\n                    if (inst && inst.constructor === childComponent && childProps.key == inst.__k) setComponentProps(inst, childProps, 1, context, !1); else {\n                        toUnmount = inst;\n                        component._component = inst = createComponent(childComponent, childProps, context);\n                        inst.__b = inst.__b || nextBase;\n                        inst.__u = component;\n                        setComponentProps(inst, childProps, 0, context, !1);\n                        renderComponent(inst, 1, mountAll, !0);\n                    }\n                    base = inst.base;\n                } else {\n                    cbase = initialBase;\n                    toUnmount = initialChildComponent;\n                    if (toUnmount) cbase = component._component = null;\n                    if (initialBase || 1 === opts) {\n                        if (cbase) cbase._component = null;\n                        base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);\n                    }\n                }\n                if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n                    var baseParent = initialBase.parentNode;\n                    if (baseParent && base !== baseParent) {\n                        baseParent.replaceChild(base, initialBase);\n                        if (!toUnmount) {\n                            initialBase._component = null;\n                            recollectNodeTree(initialBase, !1);\n                        }\n                    }\n                }\n                if (toUnmount) unmountComponent(toUnmount);\n                component.base = base;\n                if (base && !isChild) {\n                    var componentRef = component, t = component;\n                    while (t = t.__u) (componentRef = t).base = base;\n                    base._component = componentRef;\n                    base._componentConstructor = componentRef.constructor;\n                }\n            }\n            if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {\n                flushMounts();\n                if (component.componentDidUpdate) component.componentDidUpdate(previousProps, previousState, previousContext);\n                if (options.afterUpdate) options.afterUpdate(component);\n            }\n            if (null != component.__h) while (component.__h.length) component.__h.pop().call(component);\n            if (!diffLevel && !isChild) flushMounts();\n        }\n    }\n    function buildComponentFromVNode(dom, vnode, context, mountAll) {\n        var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);\n        while (c && !isOwner && (c = c.__u)) isOwner = c.constructor === vnode.nodeName;\n        if (c && isOwner && (!mountAll || c._component)) {\n            setComponentProps(c, props, 3, context, mountAll);\n            dom = c.base;\n        } else {\n            if (originalComponent && !isDirectOwner) {\n                unmountComponent(originalComponent);\n                dom = oldDom = null;\n            }\n            c = createComponent(vnode.nodeName, props, context);\n            if (dom && !c.__b) {\n                c.__b = dom;\n                oldDom = null;\n            }\n            setComponentProps(c, props, 1, context, mountAll);\n            dom = c.base;\n            if (oldDom && dom !== oldDom) {\n                oldDom._component = null;\n                recollectNodeTree(oldDom, !1);\n            }\n        }\n        return dom;\n    }\n    function unmountComponent(component) {\n        if (options.beforeUnmount) options.beforeUnmount(component);\n        var base = component.base;\n        component.__x = !0;\n        if (component.componentWillUnmount) component.componentWillUnmount();\n        component.base = null;\n        var inner = component._component;\n        if (inner) unmountComponent(inner); else if (base) {\n            if (base.__preactattr_ && base.__preactattr_.ref) base.__preactattr_.ref(null);\n            component.__b = base;\n            removeNode(base);\n            collectComponent(component);\n            removeChildren(base);\n        }\n        if (component.__r) component.__r(null);\n    }\n    function Component(props, context) {\n        this.__d = !0;\n        this.context = context;\n        this.props = props;\n        this.state = this.state || {};\n    }\n    function render(vnode, parent, merge) {\n        return diff(merge, vnode, {}, !1, parent, !1);\n    }\n    var options = {};\n    var stack = [];\n    var EMPTY_CHILDREN = [];\n    var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n    var items = [];\n    var mounts = [];\n    var diffLevel = 0;\n    var isSvgMode = !1;\n    var hydrating = !1;\n    var components = {};\n    extend(Component.prototype, {\n        setState: function(state, callback) {\n            var s = this.state;\n            if (!this.__s) this.__s = extend({}, s);\n            extend(s, 'function' == typeof state ? state(s, this.props) : state);\n            if (callback) (this.__h = this.__h || []).push(callback);\n            enqueueRender(this);\n        },\n        forceUpdate: function(callback) {\n            if (callback) (this.__h = this.__h || []).push(callback);\n            renderComponent(this, 2);\n        },\n        render: function() {}\n    });\n    var preact = {\n        h: h,\n        createElement: h,\n        cloneElement: cloneElement,\n        Component: Component,\n        render: render,\n        rerender: rerender,\n        options: options\n    };\n    if (true) module.exports = preact; else self.preact = preact;\n}();\n//# sourceMappingURL=preact.js.map\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// This file can be required in Browserify and Node.js for automatic polyfill\n// To use it:  require('es6-promise/auto');\n\nmodule.exports = __webpack_require__(95).polyfill();\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global) {var require;/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license   Licensed under MIT license\n *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version   4.1.1\n */\n\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n  var type = typeof x;\n  return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n  return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (Array.isArray) {\n  _isArray = Array.isArray;\n} else {\n  _isArray = function (x) {\n    return Object.prototype.toString.call(x) === '[object Array]';\n  };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n  queue[len] = callback;\n  queue[len + 1] = arg;\n  len += 2;\n  if (len === 2) {\n    // If len is 2, that means that we need to schedule an async flush.\n    // If additional callbacks are queued before the queue is flushed, they\n    // will be processed by this flush that we are scheduling.\n    if (customSchedulerFn) {\n      customSchedulerFn(flush);\n    } else {\n      scheduleFlush();\n    }\n  }\n};\n\nfunction setScheduler(scheduleFn) {\n  customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n  asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n  // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n  // see https://github.com/cujojs/when/issues/410 for details\n  return function () {\n    return process.nextTick(flush);\n  };\n}\n\n// vertx\nfunction useVertxTimer() {\n  if (typeof vertxNext !== 'undefined') {\n    return function () {\n      vertxNext(flush);\n    };\n  }\n\n  return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n  var iterations = 0;\n  var observer = new BrowserMutationObserver(flush);\n  var node = document.createTextNode('');\n  observer.observe(node, { characterData: true });\n\n  return function () {\n    node.data = iterations = ++iterations % 2;\n  };\n}\n\n// web worker\nfunction useMessageChannel() {\n  var channel = new MessageChannel();\n  channel.port1.onmessage = flush;\n  return function () {\n    return channel.port2.postMessage(0);\n  };\n}\n\nfunction useSetTimeout() {\n  // Store setTimeout reference so es6-promise will be unaffected by\n  // other code modifying setTimeout (like sinon.useFakeTimers())\n  var globalSetTimeout = setTimeout;\n  return function () {\n    return globalSetTimeout(flush, 1);\n  };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n  for (var i = 0; i < len; i += 2) {\n    var callback = queue[i];\n    var arg = queue[i + 1];\n\n    callback(arg);\n\n    queue[i] = undefined;\n    queue[i + 1] = undefined;\n  }\n\n  len = 0;\n}\n\nfunction attemptVertx() {\n  try {\n    var r = require;\n    var vertx = __webpack_require__(97);\n    vertxNext = vertx.runOnLoop || vertx.runOnContext;\n    return useVertxTimer();\n  } catch (e) {\n    return useSetTimeout();\n  }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n  scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n  scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n  scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n  scheduleFlush = attemptVertx();\n} else {\n  scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n  var _arguments = arguments;\n\n  var parent = this;\n\n  var child = new this.constructor(noop);\n\n  if (child[PROMISE_ID] === undefined) {\n    makePromise(child);\n  }\n\n  var _state = parent._state;\n\n  if (_state) {\n    (function () {\n      var callback = _arguments[_state - 1];\n      asap(function () {\n        return invokeCallback(_state, child, callback, parent._result);\n      });\n    })();\n  } else {\n    subscribe(parent, child, onFulfillment, onRejection);\n  }\n\n  return child;\n}\n\n/**\n  `Promise.resolve` returns a promise that will become resolved with the\n  passed `value`. It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    resolve(1);\n  });\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.resolve(1);\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  @method resolve\n  @static\n  @param {Any} value value that the returned promise will be resolved with\n  Useful for tooling.\n  @return {Promise} a promise that will become fulfilled with the given\n  `value`\n*/\nfunction resolve$1(object) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (object && typeof object === 'object' && object.constructor === Constructor) {\n    return object;\n  }\n\n  var promise = new Constructor(noop);\n  resolve(promise, object);\n  return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n  return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n  return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n  try {\n    return promise.then;\n  } catch (error) {\n    GET_THEN_ERROR.error = error;\n    return GET_THEN_ERROR;\n  }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n  try {\n    then$$1.call(value, fulfillmentHandler, rejectionHandler);\n  } catch (e) {\n    return e;\n  }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n  asap(function (promise) {\n    var sealed = false;\n    var error = tryThen(then$$1, thenable, function (value) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n      if (thenable !== value) {\n        resolve(promise, value);\n      } else {\n        fulfill(promise, value);\n      }\n    }, function (reason) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n\n      reject(promise, reason);\n    }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n    if (!sealed && error) {\n      sealed = true;\n      reject(promise, error);\n    }\n  }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n  if (thenable._state === FULFILLED) {\n    fulfill(promise, thenable._result);\n  } else if (thenable._state === REJECTED) {\n    reject(promise, thenable._result);\n  } else {\n    subscribe(thenable, undefined, function (value) {\n      return resolve(promise, value);\n    }, function (reason) {\n      return reject(promise, reason);\n    });\n  }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n  if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n    handleOwnThenable(promise, maybeThenable);\n  } else {\n    if (then$$1 === GET_THEN_ERROR) {\n      reject(promise, GET_THEN_ERROR.error);\n      GET_THEN_ERROR.error = null;\n    } else if (then$$1 === undefined) {\n      fulfill(promise, maybeThenable);\n    } else if (isFunction(then$$1)) {\n      handleForeignThenable(promise, maybeThenable, then$$1);\n    } else {\n      fulfill(promise, maybeThenable);\n    }\n  }\n}\n\nfunction resolve(promise, value) {\n  if (promise === value) {\n    reject(promise, selfFulfillment());\n  } else if (objectOrFunction(value)) {\n    handleMaybeThenable(promise, value, getThen(value));\n  } else {\n    fulfill(promise, value);\n  }\n}\n\nfunction publishRejection(promise) {\n  if (promise._onerror) {\n    promise._onerror(promise._result);\n  }\n\n  publish(promise);\n}\n\nfunction fulfill(promise, value) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n\n  promise._result = value;\n  promise._state = FULFILLED;\n\n  if (promise._subscribers.length !== 0) {\n    asap(publish, promise);\n  }\n}\n\nfunction reject(promise, reason) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n  promise._state = REJECTED;\n  promise._result = reason;\n\n  asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n  var _subscribers = parent._subscribers;\n  var length = _subscribers.length;\n\n  parent._onerror = null;\n\n  _subscribers[length] = child;\n  _subscribers[length + FULFILLED] = onFulfillment;\n  _subscribers[length + REJECTED] = onRejection;\n\n  if (length === 0 && parent._state) {\n    asap(publish, parent);\n  }\n}\n\nfunction publish(promise) {\n  var subscribers = promise._subscribers;\n  var settled = promise._state;\n\n  if (subscribers.length === 0) {\n    return;\n  }\n\n  var child = undefined,\n      callback = undefined,\n      detail = promise._result;\n\n  for (var i = 0; i < subscribers.length; i += 3) {\n    child = subscribers[i];\n    callback = subscribers[i + settled];\n\n    if (child) {\n      invokeCallback(settled, child, callback, detail);\n    } else {\n      callback(detail);\n    }\n  }\n\n  promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n  this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n  try {\n    return callback(detail);\n  } catch (e) {\n    TRY_CATCH_ERROR.error = e;\n    return TRY_CATCH_ERROR;\n  }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n  var hasCallback = isFunction(callback),\n      value = undefined,\n      error = undefined,\n      succeeded = undefined,\n      failed = undefined;\n\n  if (hasCallback) {\n    value = tryCatch(callback, detail);\n\n    if (value === TRY_CATCH_ERROR) {\n      failed = true;\n      error = value.error;\n      value.error = null;\n    } else {\n      succeeded = true;\n    }\n\n    if (promise === value) {\n      reject(promise, cannotReturnOwn());\n      return;\n    }\n  } else {\n    value = detail;\n    succeeded = true;\n  }\n\n  if (promise._state !== PENDING) {\n    // noop\n  } else if (hasCallback && succeeded) {\n      resolve(promise, value);\n    } else if (failed) {\n      reject(promise, error);\n    } else if (settled === FULFILLED) {\n      fulfill(promise, value);\n    } else if (settled === REJECTED) {\n      reject(promise, value);\n    }\n}\n\nfunction initializePromise(promise, resolver) {\n  try {\n    resolver(function resolvePromise(value) {\n      resolve(promise, value);\n    }, function rejectPromise(reason) {\n      reject(promise, reason);\n    });\n  } catch (e) {\n    reject(promise, e);\n  }\n}\n\nvar id = 0;\nfunction nextId() {\n  return id++;\n}\n\nfunction makePromise(promise) {\n  promise[PROMISE_ID] = id++;\n  promise._state = undefined;\n  promise._result = undefined;\n  promise._subscribers = [];\n}\n\nfunction Enumerator$1(Constructor, input) {\n  this._instanceConstructor = Constructor;\n  this.promise = new Constructor(noop);\n\n  if (!this.promise[PROMISE_ID]) {\n    makePromise(this.promise);\n  }\n\n  if (isArray(input)) {\n    this.length = input.length;\n    this._remaining = input.length;\n\n    this._result = new Array(this.length);\n\n    if (this.length === 0) {\n      fulfill(this.promise, this._result);\n    } else {\n      this.length = this.length || 0;\n      this._enumerate(input);\n      if (this._remaining === 0) {\n        fulfill(this.promise, this._result);\n      }\n    }\n  } else {\n    reject(this.promise, validationError());\n  }\n}\n\nfunction validationError() {\n  return new Error('Array Methods must be provided an Array');\n}\n\nEnumerator$1.prototype._enumerate = function (input) {\n  for (var i = 0; this._state === PENDING && i < input.length; i++) {\n    this._eachEntry(input[i], i);\n  }\n};\n\nEnumerator$1.prototype._eachEntry = function (entry, i) {\n  var c = this._instanceConstructor;\n  var resolve$$1 = c.resolve;\n\n  if (resolve$$1 === resolve$1) {\n    var _then = getThen(entry);\n\n    if (_then === then && entry._state !== PENDING) {\n      this._settledAt(entry._state, i, entry._result);\n    } else if (typeof _then !== 'function') {\n      this._remaining--;\n      this._result[i] = entry;\n    } else if (c === Promise$2) {\n      var promise = new c(noop);\n      handleMaybeThenable(promise, entry, _then);\n      this._willSettleAt(promise, i);\n    } else {\n      this._willSettleAt(new c(function (resolve$$1) {\n        return resolve$$1(entry);\n      }), i);\n    }\n  } else {\n    this._willSettleAt(resolve$$1(entry), i);\n  }\n};\n\nEnumerator$1.prototype._settledAt = function (state, i, value) {\n  var promise = this.promise;\n\n  if (promise._state === PENDING) {\n    this._remaining--;\n\n    if (state === REJECTED) {\n      reject(promise, value);\n    } else {\n      this._result[i] = value;\n    }\n  }\n\n  if (this._remaining === 0) {\n    fulfill(promise, this._result);\n  }\n};\n\nEnumerator$1.prototype._willSettleAt = function (promise, i) {\n  var enumerator = this;\n\n  subscribe(promise, undefined, function (value) {\n    return enumerator._settledAt(FULFILLED, i, value);\n  }, function (reason) {\n    return enumerator._settledAt(REJECTED, i, reason);\n  });\n};\n\n/**\n  `Promise.all` accepts an array of promises, and returns a new promise which\n  is fulfilled with an array of fulfillment values for the passed promises, or\n  rejected with the reason of the first passed promise to be rejected. It casts all\n  elements of the passed iterable to promises as it runs this algorithm.\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = resolve(2);\n  let promise3 = resolve(3);\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // The array here would be [ 1, 2, 3 ];\n  });\n  ```\n\n  If any of the `promises` given to `all` are rejected, the first promise\n  that is rejected will be given as an argument to the returned promises's\n  rejection handler. For example:\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = reject(new Error(\"2\"));\n  let promise3 = reject(new Error(\"3\"));\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // Code here never runs because there are rejected promises!\n  }, function(error) {\n    // error.message === \"2\"\n  });\n  ```\n\n  @method all\n  @static\n  @param {Array} entries array of promises\n  @param {String} label optional string for labeling the promise.\n  Useful for tooling.\n  @return {Promise} promise that is fulfilled when all `promises` have been\n  fulfilled, or rejected if any of them become rejected.\n  @static\n*/\nfunction all$1(entries) {\n  return new Enumerator$1(this, entries).promise;\n}\n\n/**\n  `Promise.race` returns a new promise which is settled in the same way as the\n  first passed promise to settle.\n\n  Example:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 2');\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // result === 'promise 2' because it was resolved before promise1\n    // was resolved.\n  });\n  ```\n\n  `Promise.race` is deterministic in that only the state of the first\n  settled promise matters. For example, even if other promises given to the\n  `promises` array argument are resolved, but the first settled promise has\n  become rejected before the other promises became fulfilled, the returned\n  promise will become rejected:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      reject(new Error('promise 2'));\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // Code here never runs\n  }, function(reason){\n    // reason.message === 'promise 2' because promise 2 became rejected before\n    // promise 1 became fulfilled\n  });\n  ```\n\n  An example real-world use case is implementing timeouts:\n\n  ```javascript\n  Promise.race([ajax('foo.json'), timeout(5000)])\n  ```\n\n  @method race\n  @static\n  @param {Array} promises array of promises to observe\n  Useful for tooling.\n  @return {Promise} a promise which settles in the same way as the first passed\n  promise to settle.\n*/\nfunction race$1(entries) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (!isArray(entries)) {\n    return new Constructor(function (_, reject) {\n      return reject(new TypeError('You must pass an array to race.'));\n    });\n  } else {\n    return new Constructor(function (resolve, reject) {\n      var length = entries.length;\n      for (var i = 0; i < length; i++) {\n        Constructor.resolve(entries[i]).then(resolve, reject);\n      }\n    });\n  }\n}\n\n/**\n  `Promise.reject` returns a promise rejected with the passed `reason`.\n  It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    reject(new Error('WHOOPS'));\n  });\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.reject(new Error('WHOOPS'));\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  @method reject\n  @static\n  @param {Any} reason value that the returned promise will be rejected with.\n  Useful for tooling.\n  @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n  /*jshint validthis:true */\n  var Constructor = this;\n  var promise = new Constructor(noop);\n  reject(promise, reason);\n  return promise;\n}\n\nfunction needsResolver() {\n  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n  throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n  Promise objects represent the eventual result of an asynchronous operation. The\n  primary way of interacting with a promise is through its `then` method, which\n  registers callbacks to receive either a promise's eventual value or the reason\n  why the promise cannot be fulfilled.\n\n  Terminology\n  -----------\n\n  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n  - `thenable` is an object or function that defines a `then` method.\n  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n  - `exception` is a value that is thrown using the throw statement.\n  - `reason` is a value that indicates why a promise was rejected.\n  - `settled` the final resting state of a promise, fulfilled or rejected.\n\n  A promise can be in one of three states: pending, fulfilled, or rejected.\n\n  Promises that are fulfilled have a fulfillment value and are in the fulfilled\n  state.  Promises that are rejected have a rejection reason and are in the\n  rejected state.  A fulfillment value is never a thenable.\n\n  Promises can also be said to *resolve* a value.  If this value is also a\n  promise, then the original promise's settled state will match the value's\n  settled state.  So a promise that *resolves* a promise that rejects will\n  itself reject, and a promise that *resolves* a promise that fulfills will\n  itself fulfill.\n\n\n  Basic Usage:\n  ------------\n\n  ```js\n  let promise = new Promise(function(resolve, reject) {\n    // on success\n    resolve(value);\n\n    // on failure\n    reject(reason);\n  });\n\n  promise.then(function(value) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Advanced Usage:\n  ---------------\n\n  Promises shine when abstracting away asynchronous interactions such as\n  `XMLHttpRequest`s.\n\n  ```js\n  function getJSON(url) {\n    return new Promise(function(resolve, reject){\n      let xhr = new XMLHttpRequest();\n\n      xhr.open('GET', url);\n      xhr.onreadystatechange = handler;\n      xhr.responseType = 'json';\n      xhr.setRequestHeader('Accept', 'application/json');\n      xhr.send();\n\n      function handler() {\n        if (this.readyState === this.DONE) {\n          if (this.status === 200) {\n            resolve(this.response);\n          } else {\n            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n          }\n        }\n      };\n    });\n  }\n\n  getJSON('/posts.json').then(function(json) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Unlike callbacks, promises are great composable primitives.\n\n  ```js\n  Promise.all([\n    getJSON('/posts'),\n    getJSON('/comments')\n  ]).then(function(values){\n    values[0] // => postsJSON\n    values[1] // => commentsJSON\n\n    return values;\n  });\n  ```\n\n  @class Promise\n  @param {function} resolver\n  Useful for tooling.\n  @constructor\n*/\nfunction Promise$2(resolver) {\n  this[PROMISE_ID] = nextId();\n  this._result = this._state = undefined;\n  this._subscribers = [];\n\n  if (noop !== resolver) {\n    typeof resolver !== 'function' && needsResolver();\n    this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();\n  }\n}\n\nPromise$2.all = all$1;\nPromise$2.race = race$1;\nPromise$2.resolve = resolve$1;\nPromise$2.reject = reject$1;\nPromise$2._setScheduler = setScheduler;\nPromise$2._setAsap = setAsap;\nPromise$2._asap = asap;\n\nPromise$2.prototype = {\n  constructor: Promise$2,\n\n  /**\n    The primary way of interacting with a promise is through its `then` method,\n    which registers callbacks to receive either a promise's eventual value or the\n    reason why the promise cannot be fulfilled.\n  \n    ```js\n    findUser().then(function(user){\n      // user is available\n    }, function(reason){\n      // user is unavailable, and you are given the reason why\n    });\n    ```\n  \n    Chaining\n    --------\n  \n    The return value of `then` is itself a promise.  This second, 'downstream'\n    promise is resolved with the return value of the first promise's fulfillment\n    or rejection handler, or rejected if the handler throws an exception.\n  \n    ```js\n    findUser().then(function (user) {\n      return user.name;\n    }, function (reason) {\n      return 'default name';\n    }).then(function (userName) {\n      // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n      // will be `'default name'`\n    });\n  \n    findUser().then(function (user) {\n      throw new Error('Found user, but still unhappy');\n    }, function (reason) {\n      throw new Error('`findUser` rejected and we're unhappy');\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n      // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n    });\n    ```\n    If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n  \n    ```js\n    findUser().then(function (user) {\n      throw new PedagogicalException('Upstream error');\n    }).then(function (value) {\n      // never reached\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // The `PedgagocialException` is propagated all the way down to here\n    });\n    ```\n  \n    Assimilation\n    ------------\n  \n    Sometimes the value you want to propagate to a downstream promise can only be\n    retrieved asynchronously. This can be achieved by returning a promise in the\n    fulfillment or rejection handler. The downstream promise will then be pending\n    until the returned promise is settled. This is called *assimilation*.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // The user's comments are now available\n    });\n    ```\n  \n    If the assimliated promise rejects, then the downstream promise will also reject.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // If `findCommentsByAuthor` fulfills, we'll have the value here\n    }, function (reason) {\n      // If `findCommentsByAuthor` rejects, we'll have the reason here\n    });\n    ```\n  \n    Simple Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let result;\n  \n    try {\n      result = findResult();\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n    findResult(function(result, err){\n      if (err) {\n        // failure\n      } else {\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findResult().then(function(result){\n      // success\n    }, function(reason){\n      // failure\n    });\n    ```\n  \n    Advanced Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let author, books;\n  \n    try {\n      author = findAuthor();\n      books  = findBooksByAuthor(author);\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n  \n    function foundBooks(books) {\n  \n    }\n  \n    function failure(reason) {\n  \n    }\n  \n    findAuthor(function(author, err){\n      if (err) {\n        failure(err);\n        // failure\n      } else {\n        try {\n          findBoooksByAuthor(author, function(books, err) {\n            if (err) {\n              failure(err);\n            } else {\n              try {\n                foundBooks(books);\n              } catch(reason) {\n                failure(reason);\n              }\n            }\n          });\n        } catch(error) {\n          failure(err);\n        }\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findAuthor().\n      then(findBooksByAuthor).\n      then(function(books){\n        // found books\n    }).catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method then\n    @param {Function} onFulfilled\n    @param {Function} onRejected\n    Useful for tooling.\n    @return {Promise}\n  */\n  then: then,\n\n  /**\n    `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n    as the catch block of a try/catch statement.\n  \n    ```js\n    function findAuthor(){\n      throw new Error('couldn't find that author');\n    }\n  \n    // synchronous\n    try {\n      findAuthor();\n    } catch(reason) {\n      // something went wrong\n    }\n  \n    // async with promises\n    findAuthor().catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method catch\n    @param {Function} onRejection\n    Useful for tooling.\n    @return {Promise}\n  */\n  'catch': function _catch(onRejection) {\n    return this.then(null, onRejection);\n  }\n};\n\n/*global self*/\nfunction polyfill$1() {\n    var local = undefined;\n\n    if (typeof global !== 'undefined') {\n        local = global;\n    } else if (typeof self !== 'undefined') {\n        local = self;\n    } else {\n        try {\n            local = Function('return this')();\n        } catch (e) {\n            throw new Error('polyfill failed because global object is unavailable in this environment');\n        }\n    }\n\n    var P = local.Promise;\n\n    if (P) {\n        var promiseToString = null;\n        try {\n            promiseToString = Object.prototype.toString.call(P.resolve());\n        } catch (e) {\n            // silently ignored\n        }\n\n        if (promiseToString === '[object Promise]' && !P.cast) {\n            return;\n        }\n    }\n\n    local.Promise = Promise$2;\n}\n\n// Strange compat..\nPromise$2.polyfill = polyfill$1;\nPromise$2.Promise = Promise$2;\n\nreturn Promise$2;\n\n})));\n\n//# sourceMappingURL=es6-promise.map\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9), __webpack_require__(96)))\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _promise = __webpack_require__(99);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _assign = __webpack_require__(119);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _getPrototypeOf = __webpack_require__(64);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(29);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(30);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(66);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(70);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactFlipMove = __webpack_require__(143);\n\nvar _reactFlipMove2 = _interopRequireDefault(_reactFlipMove);\n\nvar _autosize = __webpack_require__(150);\n\nvar _autosize2 = _interopRequireDefault(_autosize);\n\nvar _i18n = __webpack_require__(151);\n\nvar _i18n2 = _interopRequireDefault(_i18n);\n\n__webpack_require__(160);\n\nvar _util = __webpack_require__(71);\n\nvar _avatar = __webpack_require__(80);\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _button = __webpack_require__(188);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _action = __webpack_require__(189);\n\nvar _action2 = _interopRequireDefault(_action);\n\nvar _comment = __webpack_require__(190);\n\nvar _comment2 = _interopRequireDefault(_comment);\n\nvar _svg = __webpack_require__(81);\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _const = __webpack_require__(218);\n\nvar _getComments = __webpack_require__(219);\n\nvar _getComments2 = _interopRequireDefault(_getComments);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar GitalkComponent = function (_Component) {\n  (0, _inherits3.default)(GitalkComponent, _Component);\n\n  function GitalkComponent(props) {\n    (0, _classCallCheck3.default)(this, GitalkComponent);\n\n    var _this = (0, _possibleConstructorReturn3.default)(this, (GitalkComponent.__proto__ || (0, _getPrototypeOf2.default)(GitalkComponent)).call(this, props));\n\n    _this.state = {\n      user: null,\n      issue: null,\n      comments: [],\n      localComments: [],\n      comment: '',\n      page: 1,\n      pagerDirection: 'last',\n      cursor: null,\n      previewHtml: '',\n\n      isNoInit: false,\n      isIniting: true,\n      isCreating: false,\n      isLoading: false,\n      isLoadMore: false,\n      isLoadOver: false,\n      isIssueCreating: false,\n      isPopupVisible: false,\n      isInputFocused: false,\n      isPreview: false,\n\n      isOccurError: false,\n      errorMsg: ''\n    };\n\n    _this.getCommentsV3 = function (issue) {\n      var _this$options = _this.options,\n          clientID = _this$options.clientID,\n          clientSecret = _this$options.clientSecret,\n          perPage = _this$options.perPage;\n      var page = _this.state.page;\n\n\n      return _this.getIssue().then(function (issue) {\n        if (!issue) return;\n\n        return _util.axiosGithub.get(issue.comments_url, {\n          headers: {\n            Accept: 'application/vnd.github.v3.full+json'\n          },\n          auth: {\n            username: clientID,\n            password: clientSecret\n          },\n          params: {\n            per_page: perPage,\n            page: page\n          }\n        }).then(function (res) {\n          var _this$state = _this.state,\n              comments = _this$state.comments,\n              issue = _this$state.issue;\n\n          var isLoadOver = false;\n          var cs = comments.concat(res.data);\n          if (cs.length >= issue.comments || res.data.length < perPage) {\n            isLoadOver = true;\n          }\n          _this.setState({\n            comments: cs,\n            isLoadOver: isLoadOver,\n            page: page + 1\n          });\n          return cs;\n        });\n      });\n    };\n\n    _this.getRef = function (e) {\n      _this.publicBtnEL = e;\n    };\n\n    _this.reply = function (replyComment) {\n      return function () {\n        var comment = _this.state.comment;\n\n        var replyCommentBody = replyComment.body;\n        var replyCommentArray = replyCommentBody.split('\\n');\n        replyCommentArray.unshift('@' + replyComment.user.login);\n        replyCommentArray = replyCommentArray.map(function (t) {\n          return '> ' + t;\n        });\n        replyCommentArray.push('');\n        replyCommentArray.push('');\n        if (comment) replyCommentArray.unshift('');\n        _this.setState({ comment: comment + replyCommentArray.join('\\n') }, function () {\n          _autosize2.default.update(_this.commentEL);\n          _this.commentEL.focus();\n        });\n      };\n    };\n\n    _this.handlePopup = function (e) {\n      e.preventDefault();\n      e.stopPropagation();\n      var isVisible = !_this.state.isPopupVisible;\n      var hideHandle = function hideHandle(e1) {\n        if ((0, _util.hasClassInParent)(e1.target, 'gt-user', 'gt-popup')) {\n          return;\n        }\n        window.document.removeEventListener('click', hideHandle);\n        _this.setState({ isPopupVisible: false });\n      };\n      _this.setState({ isPopupVisible: isVisible });\n      if (isVisible) {\n        window.document.addEventListener('click', hideHandle);\n      } else {\n        window.document.removeEventListener('click', hideHandle);\n      }\n    };\n\n    _this.handleLogin = function () {\n      var comment = _this.state.comment;\n\n      window.localStorage.setItem(_const.GT_COMMENT, encodeURIComponent(comment));\n      window.location.href = _this.loginLink;\n    };\n\n    _this.handleIssueCreate = function () {\n      _this.setState({ isIssueCreating: true });\n      _this.createIssue().then(function (issue) {\n        _this.setState({\n          isIssueCreating: false,\n          isOccurError: false\n        });\n        return _this.getComments(issue);\n      }).catch(function (err) {\n        _this.setState({\n          isIssueCreating: false,\n          isOccurError: true,\n          errorMsg: (0, _util.formatErrorMsg)(err)\n        });\n      }).then(function (res) {\n        if (res) {\n          _this.setState({\n            isNoInit: false\n          });\n        }\n      });\n    };\n\n    _this.handleCommentCreate = function (e) {\n      if (!_this.state.comment.length) {\n        e && e.preventDefault();\n        _this.commentEL.focus();\n        return;\n      }\n      _this.setState(function (state) {\n        if (state.isCreating) return;\n\n        _this.createComment().then(function () {\n          return _this.setState({\n            isCreating: false,\n            isOccurError: false\n          });\n        }).catch(function (err) {\n          _this.setState({\n            isCreating: false,\n            isOccurError: true,\n            errorMsg: (0, _util.formatErrorMsg)(err)\n          });\n        });\n        return { isCreating: true };\n      });\n    };\n\n    _this.handleCommentPreview = function (e) {\n      _this.setState({\n        isPreview: !_this.state.isPreview\n      });\n\n      _util.axiosGithub.post('/markdown', {\n        text: _this.state.comment\n      }, {\n        headers: _this.accessToken && { Authorization: 'token ' + _this.accessToken }\n      }).then(function (res) {\n        _this.setState({\n          previewHtml: res.data\n        });\n      }).catch(function (err) {\n        _this.setState({\n          isOccurError: true,\n          errorMsg: (0, _util.formatErrorMsg)(err)\n        });\n      });\n    };\n\n    _this.handleCommentLoad = function () {\n      var _this$state2 = _this.state,\n          issue = _this$state2.issue,\n          isLoadMore = _this$state2.isLoadMore;\n\n      if (isLoadMore) return;\n      _this.setState({ isLoadMore: true });\n      _this.getComments(issue).then(function () {\n        return _this.setState({ isLoadMore: false });\n      });\n    };\n\n    _this.handleCommentChange = function (e) {\n      return _this.setState({ comment: e.target.value });\n    };\n\n    _this.handleLogout = function () {\n      _this.logout();\n      window.location.reload();\n    };\n\n    _this.handleCommentFocus = function (e) {\n      var distractionFreeMode = _this.options.distractionFreeMode;\n\n      if (!distractionFreeMode) return e.preventDefault();\n      _this.setState({ isInputFocused: true });\n    };\n\n    _this.handleCommentBlur = function (e) {\n      var distractionFreeMode = _this.options.distractionFreeMode;\n\n      if (!distractionFreeMode) return e.preventDefault();\n      _this.setState({ isInputFocused: false });\n    };\n\n    _this.handleSort = function (direction) {\n      return function (e) {\n        _this.setState({ pagerDirection: direction });\n      };\n    };\n\n    _this.handleCommentKeyDown = function (e) {\n      var enableHotKey = _this.options.enableHotKey;\n\n      if (enableHotKey && (e.metaKey || e.ctrlKey) && e.keyCode === 13) {\n        _this.publicBtnEL && _this.publicBtnEL.focus();\n        _this.handleCommentCreate();\n      }\n    };\n\n    _this.options = (0, _assign2.default)({}, {\n      id: window.location.href,\n      number: -1,\n      labels: ['Gitalk'],\n      title: window.document.title,\n      body: '', // window.location.href + header.meta[description]\n      language: window.navigator.language || window.navigator.userLanguage,\n      perPage: 10,\n      pagerDirection: 'last', // last or first\n      createIssueManually: false,\n      distractionFreeMode: false,\n      proxy: 'https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token',\n      flipMoveOptions: {\n        staggerDelayBy: 150,\n        appearAnimation: 'accordionVertical',\n        enterAnimation: 'accordionVertical',\n        leaveAnimation: 'accordionVertical'\n      },\n      enableHotKey: true,\n\n      url: window.location.href,\n\n      defaultAuthor: {\n        avatarUrl: '//avatars1.githubusercontent.com/u/29697133?s=50',\n        login: 'null',\n        url: ''\n      },\n\n      updateCountCallback: null\n    }, props.options);\n\n    _this.state.pagerDirection = _this.options.pagerDirection;\n    var storedComment = window.localStorage.getItem(_const.GT_COMMENT);\n    if (storedComment) {\n      _this.state.comment = decodeURIComponent(storedComment);\n      window.localStorage.removeItem(_const.GT_COMMENT);\n    }\n\n    var query = (0, _util.queryParse)();\n    if (query.code) {\n      var code = query.code;\n      delete query.code;\n      var replacedUrl = '' + window.location.origin + window.location.pathname + (0, _util.queryStringify)(query) + window.location.hash;\n      history.replaceState(null, null, replacedUrl);\n      _this.options = (0, _assign2.default)({}, _this.options, {\n        url: replacedUrl,\n        id: replacedUrl\n      }, props.options);\n\n      _util.axiosJSON.post(_this.options.proxy, {\n        code: code,\n        client_id: _this.options.clientID,\n        client_secret: _this.options.clientSecret\n      }).then(function (res) {\n        if (res.data && res.data.access_token) {\n          _this.accessToken = res.data.access_token;\n\n          _this.getInit().then(function () {\n            return _this.setState({ isIniting: false });\n          }).catch(function (err) {\n            console.log('err:', err);\n            _this.setState({\n              isIniting: false,\n              isOccurError: true,\n              errorMsg: (0, _util.formatErrorMsg)(err)\n            });\n          });\n        } else {\n          // no access_token\n          console.log('res.data err:', res.data);\n          _this.setState({\n            isOccurError: true,\n            errorMsg: (0, _util.formatErrorMsg)(new Error('no access token'))\n          });\n        }\n      }).catch(function (err) {\n        console.log('err: ', err);\n        _this.setState({\n          isOccurError: true,\n          errorMsg: (0, _util.formatErrorMsg)(err)\n        });\n      });\n    } else {\n      _this.getInit().then(function () {\n        return _this.setState({ isIniting: false });\n      }).catch(function (err) {\n        console.log('err:', err);\n        _this.setState({\n          isIniting: false,\n          isOccurError: true,\n          errorMsg: (0, _util.formatErrorMsg)(err)\n        });\n      });\n    }\n\n    _this.i18n = (0, _i18n2.default)(_this.options.language);\n    return _this;\n  }\n\n  (0, _createClass3.default)(GitalkComponent, [{\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate() {\n      this.commentEL && (0, _autosize2.default)(this.commentEL);\n    }\n  }, {\n    key: 'getInit',\n    value: function getInit() {\n      var _this2 = this;\n\n      return this.getUserInfo().then(function () {\n        return _this2.getIssue();\n      }).then(function (issue) {\n        return _this2.getComments(issue);\n      });\n    }\n  }, {\n    key: 'getUserInfo',\n    value: function getUserInfo() {\n      var _this3 = this;\n\n      return _util.axiosGithub.get('/user', {\n        headers: {\n          Authorization: 'token ' + this.accessToken\n        }\n      }).then(function (res) {\n        _this3.setState({ user: res.data });\n      }).catch(function (err) {\n        _this3.logout();\n      });\n    }\n  }, {\n    key: 'getIssueById',\n    value: function getIssueById() {\n      var _this4 = this;\n\n      var _options = this.options,\n          owner = _options.owner,\n          repo = _options.repo,\n          number = _options.number,\n          clientID = _options.clientID,\n          clientSecret = _options.clientSecret;\n\n      var getUrl = '/repos/' + owner + '/' + repo + '/issues/' + number;\n\n      return new _promise2.default(function (resolve, reject) {\n        _util.axiosGithub.get(getUrl, {\n          auth: {\n            username: clientID,\n            password: clientSecret\n          },\n          params: {\n            t: Date.now()\n          }\n        }).then(function (res) {\n          var issue = null;\n\n          if (res && res.data && res.data.number === number) {\n            issue = res.data;\n\n            _this4.setState({ issue: issue, isNoInit: false });\n          }\n          resolve(issue);\n        }).catch(function (err) {\n          // When the status code is 404, promise will be resolved with null\n          if (err.response.status === 404) resolve(null);\n          reject(err);\n        });\n      });\n    }\n  }, {\n    key: 'getIssueByLabels',\n    value: function getIssueByLabels() {\n      var _this5 = this;\n\n      var _options2 = this.options,\n          owner = _options2.owner,\n          repo = _options2.repo,\n          id = _options2.id,\n          labels = _options2.labels,\n          clientID = _options2.clientID,\n          clientSecret = _options2.clientSecret;\n\n\n      return _util.axiosGithub.get('/repos/' + owner + '/' + repo + '/issues', {\n        auth: {\n          username: clientID,\n          password: clientSecret\n        },\n        params: {\n          labels: labels.concat(id).join(','),\n          t: Date.now()\n        }\n      }).then(function (res) {\n        var createIssueManually = _this5.options.createIssueManually;\n\n        var isNoInit = false;\n        var issue = null;\n        if (!(res && res.data && res.data.length)) {\n          if (!createIssueManually && _this5.isAdmin) {\n            return _this5.createIssue();\n          }\n\n          isNoInit = true;\n        } else {\n          issue = res.data[0];\n        }\n        _this5.setState({ issue: issue, isNoInit: isNoInit });\n        return issue;\n      });\n    }\n  }, {\n    key: 'getIssue',\n    value: function getIssue() {\n      var _this6 = this;\n\n      var number = this.options.number;\n      var issue = this.state.issue;\n\n      if (issue) {\n        this.setState({ isNoInit: false });\n        return _promise2.default.resolve(issue);\n      }\n\n      if (typeof number === 'number' && number > 0) {\n        return this.getIssueById().then(function (resIssue) {\n          if (!resIssue) return _this6.getIssueByLabels();\n          return resIssue;\n        });\n      }\n      return this.getIssueByLabels();\n    }\n  }, {\n    key: 'createIssue',\n    value: function createIssue() {\n      var _this7 = this;\n\n      var _options3 = this.options,\n          owner = _options3.owner,\n          repo = _options3.repo,\n          title = _options3.title,\n          body = _options3.body,\n          id = _options3.id,\n          labels = _options3.labels,\n          url = _options3.url;\n\n      return _util.axiosGithub.post('/repos/' + owner + '/' + repo + '/issues', {\n        title: title,\n        labels: labels.concat(id),\n        body: body || url + ' \\n\\n ' + ((0, _util.getMetaContent)('description') || (0, _util.getMetaContent)('description', 'og:description') || '')\n      }, {\n        headers: {\n          Authorization: 'token ' + this.accessToken\n        }\n      }).then(function (res) {\n        _this7.setState({ issue: res.data });\n        return res.data;\n      });\n    }\n    // Get comments via v3 api, don't require login, but sorting feature is disable\n\n  }, {\n    key: 'getComments',\n    value: function getComments(issue) {\n      if (!issue) return;\n      // Get comments via v4 graphql api, login required and sorting feature is available\n      if (this.accessToken) return _getComments2.default.call(this, issue);\n      return this.getCommentsV3(issue);\n    }\n  }, {\n    key: 'createComment',\n    value: function createComment() {\n      var _this8 = this;\n\n      var _state = this.state,\n          comment = _state.comment,\n          localComments = _state.localComments,\n          comments = _state.comments;\n\n\n      return this.getIssue().then(function (issue) {\n        return _util.axiosGithub.post(issue.comments_url, {\n          body: comment\n        }, {\n          headers: {\n            Accept: 'application/vnd.github.v3.full+json',\n            Authorization: 'token ' + _this8.accessToken\n          }\n        });\n      }).then(function (res) {\n        _this8.setState({\n          comment: '',\n          comments: comments.concat(res.data),\n          localComments: localComments.concat(res.data)\n        });\n      });\n    }\n  }, {\n    key: 'logout',\n    value: function logout() {\n      this.setState({ user: null });\n      window.localStorage.removeItem(_const.GT_ACCESS_TOKEN);\n    }\n  }, {\n    key: 'like',\n    value: function like(comment) {\n      var _this9 = this;\n\n      var _options4 = this.options,\n          owner = _options4.owner,\n          repo = _options4.repo;\n      var user = this.state.user;\n      var comments = this.state.comments;\n\n\n      _util.axiosGithub.post('/repos/' + owner + '/' + repo + '/issues/comments/' + comment.id + '/reactions', {\n        content: 'heart'\n      }, {\n        headers: {\n          Authorization: 'token ' + this.accessToken,\n          Accept: 'application/vnd.github.squirrel-girl-preview'\n        }\n      }).then(function (res) {\n        comments = comments.map(function (c) {\n          if (c.id === comment.id) {\n            if (c.reactions) {\n              if (!~c.reactions.nodes.findIndex(function (n) {\n                return n.user.login === user.login;\n              })) {\n                c.reactions.totalCount += 1;\n              }\n            } else {\n              c.reactions = { nodes: [] };\n              c.reactions.totalCount = 1;\n            }\n\n            c.reactions.nodes.push(res.data);\n            c.reactions.viewerHasReacted = true;\n          }\n          return c;\n        });\n\n        _this9.setState({\n          comments: comments\n        });\n      });\n    }\n  }, {\n    key: 'unLike',\n    value: function unLike(comment) {\n      var _this10 = this;\n\n      var user = this.state.user;\n      var comments = this.state.comments;\n\n      // const {  user } = this.state\n      // let id\n      // comment.reactions.nodes.forEach(r => {\n      //   if (r.user.login = user.login) id = r.databaseId\n      // })\n      // return axiosGithub.delete(`/reactions/${id}`, {\n      //   headers: {\n      //     Authorization: `token ${this.accessToken}`,\n      //     Accept: 'application/vnd.github.squirrel-girl-preview'\n      //   }\n      // }).then(res => {\n      //   console.log('res:', res)\n      // })\n\n      var getQL = function getQL(id) {\n        return {\n          operationName: 'RemoveReaction',\n          query: '\\n          mutation RemoveReaction{\\n            removeReaction (input:{\\n              subjectId: \"' + id + '\",\\n              content: HEART\\n            }) {\\n              reaction {\\n                content\\n              }\\n            }\\n          }\\n        '\n        };\n      };\n\n      _util.axiosGithub.post('/graphql', getQL(comment.gId), {\n        headers: {\n          Authorization: 'bearer ' + this.accessToken\n        }\n      }).then(function (res) {\n        if (res.data) {\n          comments = comments.map(function (c) {\n            if (c.id === comment.id) {\n              var index = c.reactions.nodes.findIndex(function (n) {\n                return n.user.login === user.login;\n              });\n              if (~index) {\n                c.reactions.totalCount -= 1;\n                c.reactions.nodes.splice(index, 1);\n              }\n              c.reactions.viewerHasReacted = false;\n            }\n            return c;\n          });\n\n          _this10.setState({\n            comments: comments\n          });\n        }\n      });\n    }\n  }, {\n    key: 'initing',\n    value: function initing() {\n      return _react2.default.createElement(\n        'div',\n        { className: 'gt-initing' },\n        _react2.default.createElement('i', { className: 'gt-loader' }),\n        _react2.default.createElement(\n          'p',\n          { className: 'gt-initing-text' },\n          this.i18n.t('init')\n        )\n      );\n    }\n  }, {\n    key: 'noInit',\n    value: function noInit() {\n      var _state2 = this.state,\n          user = _state2.user,\n          isIssueCreating = _state2.isIssueCreating;\n      var _options5 = this.options,\n          owner = _options5.owner,\n          repo = _options5.repo,\n          admin = _options5.admin;\n\n      return _react2.default.createElement(\n        'div',\n        { className: 'gt-no-init', key: 'no-init' },\n        _react2.default.createElement('p', { dangerouslySetInnerHTML: {\n            __html: this.i18n.t('no-found-related', {\n              link: '<a href=\"https://github.com/' + owner + '/' + repo + '/issues\">Issues</a>'\n            })\n          } }),\n        _react2.default.createElement(\n          'p',\n          null,\n          this.i18n.t('please-contact', { user: [].concat(admin).map(function (u) {\n              return '@' + u;\n            }).join(' ') })\n        ),\n        this.isAdmin ? _react2.default.createElement(\n          'p',\n          null,\n          _react2.default.createElement(_button2.default, { onClick: this.handleIssueCreate, isLoading: isIssueCreating, text: this.i18n.t('init-issue') })\n        ) : null,\n        !user && _react2.default.createElement(_button2.default, { className: 'gt-btn-login', onClick: this.handleLogin, text: this.i18n.t('login-with-github') })\n      );\n    }\n  }, {\n    key: 'handleImageErrored',\n    value: function handleImageErrored(obj) {\n      obj.target.src = \"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n    }\n  }, {\n    key: 'header',\n    value: function header() {\n      var _this11 = this;\n\n      var _state3 = this.state,\n          user = _state3.user,\n          comment = _state3.comment,\n          isCreating = _state3.isCreating,\n          previewHtml = _state3.previewHtml,\n          isPreview = _state3.isPreview;\n\n      return _react2.default.createElement(\n        'div',\n        { className: 'gt-header', key: 'header' },\n        user ? _react2.default.createElement(_avatar2.default, { className: 'gt-header-avatar', src: user.avatar_url, alt: user.login, onError: this.handleImageErrored.bind(this) }) : _react2.default.createElement(\n          'a',\n          { className: 'gt-avatar-github', onMouseDown: this.handleLogin },\n          _react2.default.createElement(_svg2.default, { className: 'gt-ico-github', name: 'github' })\n        ),\n        _react2.default.createElement(\n          'div',\n          { className: 'gt-header-comment' },\n          _react2.default.createElement('textarea', {\n            ref: function ref(t) {\n              _this11.commentEL = t;\n            },\n            className: 'gt-header-textarea ' + (isPreview ? 'hide' : ''),\n            value: comment,\n            onChange: this.handleCommentChange,\n            onFocus: this.handleCommentFocus,\n            onBlur: this.handleCommentBlur,\n            onKeyDown: this.handleCommentKeyDown,\n            placeholder: this.i18n.t('leave-a-comment')\n          }),\n          _react2.default.createElement('div', {\n            className: 'gt-header-preview markdown-body ' + (isPreview ? '' : 'hide'),\n            dangerouslySetInnerHTML: { __html: previewHtml }\n          }),\n          _react2.default.createElement(\n            'div',\n            { className: 'gt-header-controls' },\n            _react2.default.createElement(\n              'a',\n              { className: 'gt-header-controls-tip', href: 'https://guides.github.com/features/mastering-markdown/', target: '_blank' },\n              _react2.default.createElement(_svg2.default, { className: 'gt-ico-tip', name: 'tip', text: this.i18n.t('support-markdown') })\n            ),\n            user && _react2.default.createElement(_button2.default, {\n              getRef: this.getRef,\n              className: 'gt-btn-public',\n              onMouseDown: this.handleCommentCreate,\n              text: this.i18n.t('comment'),\n              isLoading: isCreating\n            }),\n            _react2.default.createElement(_button2.default, {\n              className: 'gt-btn-preview',\n              onMouseDown: this.handleCommentPreview,\n              text: isPreview ? this.i18n.t('edit') : this.i18n.t('preview')\n              // isLoading={isPreviewing}\n            }),\n            !user && _react2.default.createElement(_button2.default, { className: 'gt-btn-login', onMouseDown: this.handleLogin, text: this.i18n.t('login-with-github') })\n          )\n        )\n      );\n    }\n  }, {\n    key: 'comments',\n    value: function comments() {\n      var _this12 = this;\n\n      var _state4 = this.state,\n          user = _state4.user,\n          comments = _state4.comments,\n          isLoadOver = _state4.isLoadOver,\n          isLoadMore = _state4.isLoadMore,\n          pagerDirection = _state4.pagerDirection;\n      var _options6 = this.options,\n          language = _options6.language,\n          flipMoveOptions = _options6.flipMoveOptions,\n          admin = _options6.admin;\n\n      var totalComments = comments.concat([]);\n      if (pagerDirection === 'last' && this.accessToken) {\n        totalComments.reverse();\n      }\n      return _react2.default.createElement(\n        'div',\n        { className: 'gt-comments', key: 'comments' },\n        _react2.default.createElement(\n          _reactFlipMove2.default,\n          flipMoveOptions,\n          totalComments.map(function (c) {\n            return _react2.default.createElement(_comment2.default, {\n              comment: c,\n              key: c.id,\n              user: user,\n              language: language,\n              commentedText: _this12.i18n.t('commented'),\n              admin: admin,\n              replyCallback: _this12.reply(c),\n              likeCallback: c.reactions && c.reactions.viewerHasReacted ? _this12.unLike.bind(_this12, c) : _this12.like.bind(_this12, c)\n            });\n          })\n        ),\n        !totalComments.length && _react2.default.createElement(\n          'p',\n          { className: 'gt-comments-null' },\n          this.i18n.t('first-comment-person')\n        ),\n        !isLoadOver && totalComments.length ? _react2.default.createElement(\n          'div',\n          { className: 'gt-comments-controls' },\n          _react2.default.createElement(_button2.default, { className: 'gt-btn-loadmore', onClick: this.handleCommentLoad, isLoading: isLoadMore, text: this.i18n.t('load-more') })\n        ) : null\n      );\n    }\n  }, {\n    key: 'meta',\n    value: function meta() {\n      var _state5 = this.state,\n          user = _state5.user,\n          issue = _state5.issue,\n          isPopupVisible = _state5.isPopupVisible,\n          pagerDirection = _state5.pagerDirection,\n          localComments = _state5.localComments;\n\n      var cnt = (issue && issue.comments) + localComments.length;\n      var isDesc = pagerDirection === 'last';\n      var updateCountCallback = this.options.updateCountCallback;\n\n      // window.GITALK_COMMENTS_COUNT = cnt\n\n      if (updateCountCallback && {}.toString.call(updateCountCallback) === '[object Function]') {\n        try {\n          updateCountCallback(cnt);\n        } catch (err) {\n          console.log('An error occurred executing the updateCountCallback:', err);\n        }\n      }\n\n      return _react2.default.createElement(\n        'div',\n        { className: 'gt-meta', key: 'meta' },\n        _react2.default.createElement('span', { className: 'gt-counts', dangerouslySetInnerHTML: {\n            __html: this.i18n.t('counts', {\n              counts: '<a class=\"gt-link gt-link-counts\" href=\"' + (issue && issue.html_url) + '\" target=\"_blank\">' + cnt + '</a>',\n              smart_count: cnt\n            })\n          } }),\n        isPopupVisible && _react2.default.createElement(\n          'div',\n          { className: 'gt-popup' },\n          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-sortasc' + (!isDesc ? ' is--active' : ''), onClick: this.handleSort('first'), text: this.i18n.t('sort-asc') }) : null,\n          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-sortdesc' + (isDesc ? ' is--active' : ''), onClick: this.handleSort('last'), text: this.i18n.t('sort-desc') }) : null,\n          user ? _react2.default.createElement(_action2.default, { className: 'gt-action-logout', onClick: this.handleLogout, text: this.i18n.t('logout') }) : _react2.default.createElement(\n            'a',\n            { className: 'gt-action gt-action-login', onMouseDown: this.handleLogin },\n            this.i18n.t('login-with-github')\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'gt-copyright' },\n            _react2.default.createElement(\n              'a',\n              { className: 'gt-link gt-link-project', href: 'https://github.com/gitalk/gitalk', target: '_blank' },\n              'Gitalk'\n            ),\n            _react2.default.createElement(\n              'span',\n              { className: 'gt-version' },\n              _const.GT_VERSION\n            )\n          )\n        ),\n        _react2.default.createElement(\n          'div',\n          { className: 'gt-user' },\n          user ? _react2.default.createElement(\n            'div',\n            { className: isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner', onClick: this.handlePopup },\n            _react2.default.createElement(\n              'span',\n              { className: 'gt-user-name' },\n              user.login\n            ),\n            _react2.default.createElement(_svg2.default, { className: 'gt-ico-arrdown', name: 'arrow_down' })\n          ) : _react2.default.createElement(\n            'div',\n            { className: isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner', onClick: this.handlePopup },\n            _react2.default.createElement(\n              'span',\n              { className: 'gt-user-name' },\n              this.i18n.t('anonymous')\n            ),\n            _react2.default.createElement(_svg2.default, { className: 'gt-ico-arrdown', name: 'arrow_down' })\n          )\n        )\n      );\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _state6 = this.state,\n          isIniting = _state6.isIniting,\n          isNoInit = _state6.isNoInit,\n          isOccurError = _state6.isOccurError,\n          errorMsg = _state6.errorMsg,\n          isInputFocused = _state6.isInputFocused;\n\n      return _react2.default.createElement(\n        'div',\n        { className: 'gt-container' + (isInputFocused ? ' gt-input-focused' : '') },\n        isIniting && this.initing(),\n        !isIniting && (isNoInit ? [] : [this.meta()]),\n        isOccurError && _react2.default.createElement(\n          'div',\n          { className: 'gt-error' },\n          errorMsg\n        ),\n        !isIniting && (isNoInit ? [this.noInit()] : [this.header(), this.comments()])\n      );\n    }\n  }, {\n    key: 'accessToken',\n    get: function get() {\n      return this._accessToke || window.localStorage.getItem(_const.GT_ACCESS_TOKEN);\n    },\n    set: function set(token) {\n      window.localStorage.setItem(_const.GT_ACCESS_TOKEN, token);\n      this._accessToken = token;\n    }\n  }, {\n    key: 'loginLink',\n    get: function get() {\n      var githubOauthUrl = 'https://github.com/login/oauth/authorize';\n      var clientID = this.options.clientID;\n\n      var query = {\n        client_id: clientID,\n        redirect_uri: window.location.href,\n        scope: 'public_repo'\n      };\n      return githubOauthUrl + '?' + (0, _util.queryStringify)(query);\n    }\n  }, {\n    key: 'isAdmin',\n    get: function get() {\n      var admin = this.options.admin;\n      var user = this.state.user;\n\n\n      return user && ~[].concat(admin).map(function (a) {\n        return a.toLowerCase();\n      }).indexOf(user.login.toLowerCase());\n    }\n  }]);\n  return GitalkComponent;\n}(_react.Component);\n\nmodule.exports = GitalkComponent;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(100), __esModule: true };\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(50);\n__webpack_require__(20);\n__webpack_require__(27);\n__webpack_require__(109);\n__webpack_require__(117);\n__webpack_require__(118);\nmodule.exports = __webpack_require__(0).Promise;\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(34);\nvar defined = __webpack_require__(35);\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(36);\nvar descriptor = __webpack_require__(19);\nvar setToStringTag = __webpack_require__(26);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(11)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar anObject = __webpack_require__(6);\nvar getKeys = __webpack_require__(22);\n\nmodule.exports = __webpack_require__(8) ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(16);\nvar toLength = __webpack_require__(37);\nvar toAbsoluteIndex = __webpack_require__(105);\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(34);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(107);\nvar step = __webpack_require__(108);\nvar Iterators = __webpack_require__(15);\nvar toIObject = __webpack_require__(16);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(51)(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(21);\nvar global = __webpack_require__(1);\nvar ctx = __webpack_require__(13);\nvar classof = __webpack_require__(41);\nvar $export = __webpack_require__(4);\nvar isObject = __webpack_require__(10);\nvar aFunction = __webpack_require__(24);\nvar anInstance = __webpack_require__(110);\nvar forOf = __webpack_require__(111);\nvar speciesConstructor = __webpack_require__(59);\nvar task = __webpack_require__(60).set;\nvar microtask = __webpack_require__(113)();\nvar newPromiseCapabilityModule = __webpack_require__(43);\nvar perform = __webpack_require__(61);\nvar userAgent = __webpack_require__(114);\nvar promiseResolve = __webpack_require__(62);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[__webpack_require__(2)('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\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      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\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 (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may 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            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = __webpack_require__(115)($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(26)($Promise, PROMISE);\n__webpack_require__(116)(PROMISE);\nWrapper = __webpack_require__(0)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(63)(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\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 values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(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.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\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      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(13);\nvar call = __webpack_require__(57);\nvar isArrayIter = __webpack_require__(58);\nvar anObject = __webpack_require__(6);\nvar toLength = __webpack_require__(37);\nvar getIterFn = __webpack_require__(42);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar macrotask = __webpack_require__(60).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(23)(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return 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};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(1);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(11);\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(1);\nvar core = __webpack_require__(0);\nvar dP = __webpack_require__(7);\nvar DESCRIPTORS = __webpack_require__(8);\nvar SPECIES = __webpack_require__(2)('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(4);\nvar core = __webpack_require__(0);\nvar global = __webpack_require__(1);\nvar speciesConstructor = __webpack_require__(59);\nvar promiseResolve = __webpack_require__(62);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\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/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(4);\nvar newPromiseCapability = __webpack_require__(43);\nvar perform = __webpack_require__(61);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(120), __esModule: true };\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(121);\nmodule.exports = __webpack_require__(0).Object.assign;\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(4);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(122) });\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(8);\nvar getKeys = __webpack_require__(22);\nvar gOPS = __webpack_require__(44);\nvar pIE = __webpack_require__(28);\nvar toObject = __webpack_require__(17);\nvar IObject = __webpack_require__(54);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(14)(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(124);\nmodule.exports = __webpack_require__(0).Object.getPrototypeOf;\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(17);\nvar $getPrototypeOf = __webpack_require__(56);\n\n__webpack_require__(65)('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(126), __esModule: true };\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(20);\n__webpack_require__(27);\nmodule.exports = __webpack_require__(45).f('iterator');\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(128), __esModule: true };\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(129);\n__webpack_require__(50);\n__webpack_require__(134);\n__webpack_require__(135);\nmodule.exports = __webpack_require__(0).Symbol;\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(1);\nvar has = __webpack_require__(12);\nvar DESCRIPTORS = __webpack_require__(8);\nvar $export = __webpack_require__(4);\nvar redefine = __webpack_require__(52);\nvar META = __webpack_require__(130).KEY;\nvar $fails = __webpack_require__(14);\nvar shared = __webpack_require__(39);\nvar setToStringTag = __webpack_require__(26);\nvar uid = __webpack_require__(25);\nvar wks = __webpack_require__(2);\nvar wksExt = __webpack_require__(45);\nvar wksDefine = __webpack_require__(46);\nvar enumKeys = __webpack_require__(131);\nvar isArray = __webpack_require__(132);\nvar anObject = __webpack_require__(6);\nvar isObject = __webpack_require__(10);\nvar toObject = __webpack_require__(17);\nvar toIObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(32);\nvar createDesc = __webpack_require__(19);\nvar _create = __webpack_require__(36);\nvar gOPNExt = __webpack_require__(133);\nvar $GOPD = __webpack_require__(69);\nvar $GOPS = __webpack_require__(44);\nvar $DP = __webpack_require__(7);\nvar $keys = __webpack_require__(22);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  __webpack_require__(68).f = gOPNExt.f = $getOwnPropertyNames;\n  __webpack_require__(28).f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !__webpack_require__(21)) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\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\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(11)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(25)('meta');\nvar isObject = __webpack_require__(10);\nvar has = __webpack_require__(12);\nvar setDesc = __webpack_require__(7).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !__webpack_require__(14)(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\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    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\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    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(22);\nvar gOPS = __webpack_require__(44);\nvar pIE = __webpack_require__(28);\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(23);\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(16);\nvar gOPN = __webpack_require__(68).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(46)('asyncIterator');\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(46)('observable');\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(137), __esModule: true };\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(138);\nmodule.exports = __webpack_require__(0).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(4);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(139).set });\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(10);\nvar anObject = __webpack_require__(6);\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = __webpack_require__(13)(Function.call, __webpack_require__(69).f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(141), __esModule: true };\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(142);\nvar $Object = __webpack_require__(0).Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(4);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(36) });\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _FlipMove = __webpack_require__(144);\n\nvar _FlipMove2 = _interopRequireDefault(_FlipMove);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _FlipMove2.default;\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n */\n\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\n__webpack_require__(145);\n\nvar _propConverter = __webpack_require__(146);\n\nvar _propConverter2 = _interopRequireDefault(_propConverter);\n\nvar _domManipulation = __webpack_require__(149);\n\nvar _helpers = __webpack_require__(47);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * For information on how this code is laid out, check out CODE_TOUR.md\n */\n\n/* eslint-disable react/prop-types */\n\nvar transitionEnd = (0, _domManipulation.whichTransitionEvent)();\nvar noBrowserSupport = !transitionEnd;\n\nfunction getKey(childData) {\n  return childData.key || '';\n}\n\nvar FlipMove = function (_Component) {\n  _inherits(FlipMove, _Component);\n\n  function FlipMove() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, FlipMove);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FlipMove.__proto__ || Object.getPrototypeOf(FlipMove)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      children: _react.Children.toArray(_this.props.children).map(function (element) {\n        return _extends({}, element, {\n          element: element,\n          appearing: true\n        });\n      })\n    }, _this.childrenData = {}, _this.parentData = {\n      domNode: null,\n      boundingBox: null\n    }, _this.heightPlaceholderData = {\n      domNode: null\n    }, _this.remainingAnimations = 0, _this.childrenToAnimate = [], _this.runAnimation = function () {\n      var dynamicChildren = _this.state.children.filter(_this.doesChildNeedToBeAnimated);\n\n      dynamicChildren.forEach(function (child, n) {\n        _this.remainingAnimations += 1;\n        _this.childrenToAnimate.push(getKey(child));\n        _this.animateChild(child, n);\n      });\n\n      if (typeof _this.props.onStartAll === 'function') {\n        _this.callChildrenHook(_this.props.onStartAll);\n      }\n    }, _this.doesChildNeedToBeAnimated = function (child) {\n      // If the child doesn't have a key, it's an immovable child (one that we\n      // do not want to do FLIP stuff to.)\n      if (!getKey(child)) {\n        return false;\n      }\n\n      var childData = _this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = _this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return false;\n      }\n\n      var _this$props = _this.props,\n          appearAnimation = _this$props.appearAnimation,\n          enterAnimation = _this$props.enterAnimation,\n          leaveAnimation = _this$props.leaveAnimation,\n          getPosition = _this$props.getPosition;\n\n\n      var isAppearingWithAnimation = child.appearing && appearAnimation;\n      var isEnteringWithAnimation = child.entering && enterAnimation;\n      var isLeavingWithAnimation = child.leaving && leaveAnimation;\n\n      if (isAppearingWithAnimation || isEnteringWithAnimation || isLeavingWithAnimation) {\n        return true;\n      }\n\n      // If it isn't entering/leaving, we want to animate it if it's\n      // on-screen position has changed.\n\n      var _getPositionDelta = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: getPosition\n      }),\n          _getPositionDelta2 = _slicedToArray(_getPositionDelta, 2),\n          dX = _getPositionDelta2[0],\n          dY = _getPositionDelta2[1];\n\n      return dX !== 0 || dY !== 0;\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n  // Copy props.children into state.\n  // To understand why this is important (and not an anti-pattern), consider\n  // how \"leave\" animations work. An item has \"left\" when the component\n  // receives a new set of props that do NOT contain the item.\n  // If we just render the props as-is, the item would instantly disappear.\n  // We want to keep the item rendered for a little while, until its animation\n  // can complete. Because we cannot mutate props, we make `state` the source\n  // of truth.\n\n\n  // FlipMove needs to know quite a bit about its children in order to do\n  // its job. We store these as a property on the instance. We're not using\n  // state, because we don't want changes to trigger re-renders, we just\n  // need a place to keep the data for reference, when changes happen.\n  // This field should not be accessed directly. Instead, use getChildData,\n  // putChildData, etc...\n\n\n  // Similarly, track the dom node and box of our parent element.\n\n\n  // If `maintainContainerHeight` prop is set to true, we'll create a\n  // placeholder element which occupies space so that the parent height\n  // doesn't change when items are removed from the document flow (which\n  // happens during leave animations)\n\n\n  // Keep track of remaining animations so we know when to fire the\n  // all-finished callback, and clean up after ourselves.\n  // NOTE: we can't simply use childrenToAnimate.length to track remaining\n  // animations, because we need to maintain the list of animating children,\n  // to pass to the `onFinishAll` handler.\n\n\n  _createClass(FlipMove, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      // Run our `appearAnimation` if it was requested, right after the\n      // component mounts.\n      var shouldTriggerFLIP = this.props.appearAnimation && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'componentWillReceiveProps',\n    value: function componentWillReceiveProps(nextProps) {\n      // When the component is handed new props, we need to figure out the\n      // \"resting\" position of all currently-rendered DOM nodes.\n      // We store that data in this.parent and this.children,\n      // so it can be used later to work out the animation.\n      this.updateBoundingBoxCaches();\n\n      // Convert opaque children object to array.\n      var nextChildren = _react.Children.toArray(nextProps.children);\n\n      // Next, we need to update our state, so that it contains our new set of\n      // children. If animation is disabled or unsupported, this is easy;\n      // we just copy our props into state.\n      // Assuming that we can animate, though, we have to do some work.\n      // Essentially, we want to keep just-deleted nodes in the DOM for a bit\n      // longer, so that we can animate them away.\n      this.setState({\n        children: this.isAnimationDisabled(nextProps) ? nextChildren.map(function (element) {\n          return _extends({}, element, { element: element });\n        }) : this.calculateNextSetOfChildren(nextChildren)\n      });\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(previousProps) {\n      // If the children have been re-arranged, moved, or added/removed,\n      // trigger the main FLIP animation.\n      //\n      // IMPORTANT: We need to make sure that the children have actually changed.\n      // At the end of the transition, we clean up nodes that need to be removed.\n      var oldChildrenKeys = _react.Children.toArray(this.props.children).map(function (d) {\n        return d.key;\n      });\n      var nextChildrenKeys = _react.Children.toArray(previousProps.children).map(function (d) {\n        return d.key;\n      });\n\n      var shouldTriggerFLIP = !(0, _helpers.arraysEqual)(oldChildrenKeys, nextChildrenKeys) && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'calculateNextSetOfChildren',\n    value: function calculateNextSetOfChildren(nextChildren) {\n      var _this2 = this;\n\n      // We want to:\n      //   - Mark all new children as `entering`\n      //   - Pull in previous children that aren't in nextChildren, and mark them\n      //     as `leaving`\n      //   - Preserve the nextChildren list order, with leaving children in their\n      //     appropriate places.\n      //\n\n      var updatedChildren = nextChildren.map(function (nextChild) {\n        var child = _this2.findChildByKey(nextChild.key || '');\n\n        // If the current child did exist, but it was in the midst of leaving,\n        // we want to treat it as though it's entering\n        var isEntering = !child || child.leaving;\n\n        return _extends({}, nextChild, { element: nextChild, entering: isEntering });\n      });\n\n      // This is tricky. We want to keep the nextChildren's ordering, but with\n      // any just-removed items maintaining their original position.\n      // eg.\n      //   this.state.children  = [ 1, 2, 3, 4 ]\n      //   nextChildren         = [ 3, 1 ]\n      //\n      // In this example, we've removed the '2' & '4'\n      // We want to end up with:  [ 2, 3, 1, 4 ]\n      //\n      // To accomplish that, we'll iterate through this.state.children. whenever\n      // we find a match, we'll append our `leaving` flag to it, and insert it\n      // into the nextChildren in its ORIGINAL position. Note that, as we keep\n      // inserting old items into the new list, the \"original\" position will\n      // keep incrementing.\n      var numOfChildrenLeaving = 0;\n      this.state.children.forEach(function (child, index) {\n        var isLeaving = !nextChildren.find(function (_ref2) {\n          var key = _ref2.key;\n          return key === getKey(child);\n        });\n\n        // If the child isn't leaving (or, if there is no leave animation),\n        // we don't need to add it into the state children.\n        if (!isLeaving || !_this2.props.leaveAnimation) return;\n\n        var nextChild = _extends({}, child, { leaving: true });\n        var nextChildIndex = index + numOfChildrenLeaving;\n\n        updatedChildren.splice(nextChildIndex, 0, nextChild);\n        numOfChildrenLeaving += 1;\n      });\n\n      return updatedChildren;\n    }\n  }, {\n    key: 'prepForAnimation',\n    value: function prepForAnimation() {\n      var _this3 = this;\n\n      // Our animation prep consists of:\n      // - remove children that are leaving from the DOM flow, so that the new\n      //   layout can be accurately calculated,\n      // - update the placeholder container height, if needed, to ensure that\n      //   the parent's height doesn't collapse.\n\n      var _props = this.props,\n          leaveAnimation = _props.leaveAnimation,\n          maintainContainerHeight = _props.maintainContainerHeight,\n          getPosition = _props.getPosition;\n\n      // we need to make all leaving nodes \"invisible\" to the layout calculations\n      // that will take place in the next step (this.runAnimation).\n\n      if (leaveAnimation) {\n        var leavingChildren = this.state.children.filter(function (child) {\n          return child.leaving;\n        });\n\n        leavingChildren.forEach(function (leavingChild) {\n          var childData = _this3.getChildData(getKey(leavingChild));\n\n          // We need to take the items out of the \"flow\" of the document, so that\n          // its siblings can move to take its place.\n          if (childData.boundingBox) {\n            (0, _domManipulation.removeNodeFromDOMFlow)(childData, _this3.props.verticalAlignment);\n          }\n        });\n\n        if (maintainContainerHeight && this.heightPlaceholderData.domNode) {\n          (0, _domManipulation.updateHeightPlaceholder)({\n            domNode: this.heightPlaceholderData.domNode,\n            parentData: this.parentData,\n            getPosition: getPosition\n          });\n        }\n      }\n\n      // For all children not in the middle of entering or leaving,\n      // we need to reset the transition, so that the NEW shuffle starts from\n      // the right place.\n      this.state.children.forEach(function (child) {\n        var _getChildData = _this3.getChildData(getKey(child)),\n            domNode = _getChildData.domNode;\n\n        // Ignore children that don't render DOM nodes (eg. by returning null)\n\n\n        if (!domNode) {\n          return;\n        }\n\n        if (!child.entering && !child.leaving) {\n          (0, _domManipulation.applyStylesToDOMNode)({\n            domNode: domNode,\n            styles: {\n              transition: ''\n            }\n          });\n        }\n      });\n    }\n  }, {\n    key: 'animateChild',\n    value: function animateChild(child, index) {\n      var _this4 = this;\n\n      var _getChildData2 = this.getChildData(getKey(child)),\n          domNode = _getChildData2.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // Apply the relevant style for this DOM node\n      // This is the offset from its actual DOM position.\n      // eg. if an item has been re-rendered 20px lower, we want to apply a\n      // style of 'transform: translate(-20px)', so that it appears to be where\n      // it started.\n      // In FLIP terminology, this is the 'Invert' stage.\n      (0, _domManipulation.applyStylesToDOMNode)({\n        domNode: domNode,\n        styles: this.computeInitialStyles(child)\n      });\n\n      // Start by invoking the onStart callback for this child.\n      if (this.props.onStart) this.props.onStart(child, domNode);\n\n      // Next, animate the item from it's artificially-offset position to its\n      // new, natural position.\n      requestAnimationFrame(function () {\n        requestAnimationFrame(function () {\n          // NOTE, RE: the double-requestAnimationFrame:\n          // Sadly, this is the most browser-compatible way to do this I've found.\n          // Essentially we need to set the initial styles outside of any request\n          // callbacks to avoid batching them. Then, a frame needs to pass with\n          // the styles above rendered. Then, on the second frame, we can apply\n          // our final styles to perform the animation.\n\n          // Our first order of business is to \"undo\" the styles applied in the\n          // previous frames, while also adding a `transition` property.\n          // This way, the item will smoothly transition from its old position\n          // to its new position.\n\n          // eslint-disable-next-line flowtype/require-variable-type\n          var styles = {\n            transition: (0, _domManipulation.createTransitionString)(index, _this4.props),\n            transform: '',\n            opacity: ''\n          };\n\n          if (child.appearing && _this4.props.appearAnimation) {\n            styles = _extends({}, styles, _this4.props.appearAnimation.to);\n          } else if (child.entering && _this4.props.enterAnimation) {\n            styles = _extends({}, styles, _this4.props.enterAnimation.to);\n          } else if (child.leaving && _this4.props.leaveAnimation) {\n            styles = _extends({}, styles, _this4.props.leaveAnimation.to);\n          }\n\n          // In FLIP terminology, this is the 'Play' stage.\n          (0, _domManipulation.applyStylesToDOMNode)({ domNode: domNode, styles: styles });\n        });\n      });\n\n      this.bindTransitionEndHandler(child);\n    }\n  }, {\n    key: 'bindTransitionEndHandler',\n    value: function bindTransitionEndHandler(child) {\n      var _this5 = this;\n\n      var _getChildData3 = this.getChildData(getKey(child)),\n          domNode = _getChildData3.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // The onFinish callback needs to be bound to the transitionEnd event.\n      // We also need to unbind it when the transition completes, so this ugly\n      // inline function is required (we need it here so it closes over\n      // dependent variables `child` and `domNode`)\n      var transitionEndHandler = function transitionEndHandler(ev) {\n        // It's possible that this handler is fired not on our primary transition,\n        // but on a nested transition (eg. a hover effect). Ignore these cases.\n        if (ev.target !== domNode) return;\n\n        // Remove the 'transition' inline style we added. This is cleanup.\n        domNode.style.transition = '';\n\n        // Trigger any applicable onFinish/onFinishAll hooks\n        _this5.triggerFinishHooks(child, domNode);\n\n        domNode.removeEventListener(transitionEnd, transitionEndHandler);\n\n        if (child.leaving) {\n          _this5.removeChildData(getKey(child));\n        }\n      };\n\n      domNode.addEventListener(transitionEnd, transitionEndHandler);\n    }\n  }, {\n    key: 'triggerFinishHooks',\n    value: function triggerFinishHooks(child, domNode) {\n      var _this6 = this;\n\n      if (this.props.onFinish) this.props.onFinish(child, domNode);\n\n      // Reduce the number of children we need to animate by 1,\n      // so that we can tell when all children have finished.\n      this.remainingAnimations -= 1;\n\n      if (this.remainingAnimations === 0) {\n        // Remove any items from the DOM that have left, and reset `entering`.\n        var nextChildren = this.state.children.filter(function (_ref3) {\n          var leaving = _ref3.leaving;\n          return !leaving;\n        }).map(function (item) {\n          return _extends({}, item, {\n            appearing: false,\n            entering: false\n          });\n        });\n\n        this.setState({ children: nextChildren }, function () {\n          if (typeof _this6.props.onFinishAll === 'function') {\n            _this6.callChildrenHook(_this6.props.onFinishAll);\n          }\n\n          // Reset our variables for the next iteration\n          _this6.childrenToAnimate = [];\n        });\n\n        // If the placeholder was holding the container open while elements were\n        // leaving, we we can now set its height to zero.\n        if (this.heightPlaceholderData.domNode) {\n          this.heightPlaceholderData.domNode.style.height = '0';\n        }\n      }\n    }\n  }, {\n    key: 'callChildrenHook',\n    value: function callChildrenHook(hook) {\n      var _this7 = this;\n\n      var elements = [];\n      var domNodes = [];\n\n      this.childrenToAnimate.forEach(function (childKey) {\n        // If this was an exit animation, the child may no longer exist.\n        // If so, skip it.\n        var child = _this7.findChildByKey(childKey);\n\n        if (!child) {\n          return;\n        }\n\n        elements.push(child);\n\n        if (_this7.hasChildData(childKey)) {\n          domNodes.push(_this7.getChildData(childKey).domNode);\n        }\n      });\n\n      hook(elements, domNodes);\n    }\n  }, {\n    key: 'updateBoundingBoxCaches',\n    value: function updateBoundingBoxCaches() {\n      var _this8 = this;\n\n      // This is the ONLY place that parentData and childrenData's\n      // bounding boxes are updated. They will be calculated at other times\n      // to be compared to this value, but it's important that the cache is\n      // updated once per update.\n      var parentDomNode = this.parentData.domNode;\n\n      if (!parentDomNode) {\n        return;\n      }\n\n      this.parentData.boundingBox = this.props.getPosition(parentDomNode);\n\n      this.state.children.forEach(function (child) {\n        var childKey = getKey(child);\n\n        // It is possible that a child does not have a `key` property;\n        // Ignore these children, they don't need to be moved.\n        if (!childKey) {\n          return;\n        }\n\n        // In very rare circumstances, for reasons unknown, the ref is never\n        // populated for certain children. In this case, avoid doing this update.\n        // see: https://github.com/joshwcomeau/react-flip-move/pull/91\n        if (!_this8.hasChildData(childKey)) {\n          return;\n        }\n\n        var childData = _this8.getChildData(childKey);\n\n        // If the child element returns null, we need to avoid trying to\n        // account for it\n        if (!childData.domNode || !child) {\n          return;\n        }\n\n        _this8.setChildData(childKey, {\n          boundingBox: (0, _domManipulation.getRelativeBoundingBox)({\n            childDomNode: childData.domNode,\n            parentDomNode: parentDomNode,\n            getPosition: _this8.props.getPosition\n          })\n        });\n      });\n    }\n  }, {\n    key: 'computeInitialStyles',\n    value: function computeInitialStyles(child) {\n      if (child.appearing) {\n        return this.props.appearAnimation ? this.props.appearAnimation.from : {};\n      } else if (child.entering) {\n        if (!this.props.enterAnimation) {\n          return {};\n        }\n        // If this child was in the middle of leaving, it still has its\n        // absolute positioning styles applied. We need to undo those.\n        return _extends({\n          position: '',\n          top: '',\n          left: '',\n          right: '',\n          bottom: ''\n        }, this.props.enterAnimation.from);\n      } else if (child.leaving) {\n        return this.props.leaveAnimation ? this.props.leaveAnimation.from : {};\n      }\n\n      var childData = this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return {};\n      }\n\n      var _getPositionDelta3 = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: this.props.getPosition\n      }),\n          _getPositionDelta4 = _slicedToArray(_getPositionDelta3, 2),\n          dX = _getPositionDelta4[0],\n          dY = _getPositionDelta4[1];\n\n      return {\n        transform: 'translate(' + dX + 'px, ' + dY + 'px)'\n      };\n    }\n\n    // eslint-disable-next-line class-methods-use-this\n\n  }, {\n    key: 'isAnimationDisabled',\n    value: function isAnimationDisabled(props) {\n      // If the component is explicitly passed a `disableAllAnimations` flag,\n      // we can skip this whole process. Similarly, if all of the numbers have\n      // been set to 0, there is no point in trying to animate; doing so would\n      // only cause a flicker (and the intent is probably to disable animations)\n      // We can also skip this rigamarole if there's no browser support for it.\n      return noBrowserSupport || props.disableAllAnimations || props.duration === 0 && props.delay === 0 && props.staggerDurationBy === 0 && props.staggerDelayBy === 0;\n    }\n  }, {\n    key: 'findChildByKey',\n    value: function findChildByKey(key) {\n      return this.state.children.find(function (child) {\n        return getKey(child) === key;\n      });\n    }\n  }, {\n    key: 'hasChildData',\n    value: function hasChildData(key) {\n      // Object has some built-in properties on its prototype, such as toString.  hasOwnProperty makes\n      // sure that key is present on childrenData itself, not on its prototype.\n      return Object.prototype.hasOwnProperty.call(this.childrenData, key);\n    }\n  }, {\n    key: 'getChildData',\n    value: function getChildData(key) {\n      return this.hasChildData(key) ? this.childrenData[key] : {};\n    }\n  }, {\n    key: 'setChildData',\n    value: function setChildData(key, data) {\n      this.childrenData[key] = _extends({}, this.getChildData(key), data);\n    }\n  }, {\n    key: 'removeChildData',\n    value: function removeChildData(key) {\n      delete this.childrenData[key];\n    }\n  }, {\n    key: 'createHeightPlaceholder',\n    value: function createHeightPlaceholder() {\n      var _this9 = this;\n\n      var typeName = this.props.typeName;\n\n      // If requested, create an invisible element at the end of the list.\n      // Its height will be modified to prevent the container from collapsing\n      // prematurely.\n\n      var isContainerAList = typeName === 'ul' || typeName === 'ol';\n      var placeholderType = isContainerAList ? 'li' : 'div';\n\n      return _react2.default.createElement(placeholderType, {\n        key: 'height-placeholder',\n        ref: function ref(domNode) {\n          _this9.heightPlaceholderData.domNode = domNode;\n        },\n        style: { visibility: 'hidden', height: 0 }\n      });\n    }\n  }, {\n    key: 'childrenWithRefs',\n    value: function childrenWithRefs() {\n      var _this10 = this;\n\n      // We need to clone the provided children, capturing a reference to the\n      // underlying DOM node. Flip Move needs to use the React escape hatches to\n      // be able to do its calculations.\n      return this.state.children.map(function (child) {\n        return _react2.default.cloneElement(child.element, {\n          ref: function ref(element) {\n            // Stateless Functional Components are not supported by FlipMove,\n            // because they don't have instances.\n            if (!element) {\n              return;\n            }\n\n            var domNode = (0, _domManipulation.getNativeNode)(element);\n            _this10.setChildData(getKey(child), { domNode: domNode });\n          }\n        });\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this11 = this;\n\n      var _props2 = this.props,\n          typeName = _props2.typeName,\n          delegated = _props2.delegated,\n          leaveAnimation = _props2.leaveAnimation,\n          maintainContainerHeight = _props2.maintainContainerHeight;\n\n\n      var props = _extends({}, delegated, {\n        ref: function ref(node) {\n          _this11.parentData.domNode = node;\n        }\n      });\n\n      var children = this.childrenWithRefs();\n      if (leaveAnimation && maintainContainerHeight) {\n        children.push(this.createHeightPlaceholder());\n      }\n\n      return _react2.default.createElement(typeName, props, children);\n    }\n  }]);\n\n  return FlipMove;\n}(_react.Component);\n\nexports.default = (0, _propConverter2.default)(FlipMove);\nmodule.exports = exports['default'];\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// @noflow\n/**\n * React Flip Move - Polyfills\n * (c) 2016-present Joshua Comeau\n */\n\n/* eslint-disable */\n\nif (!Array.prototype.find) {\n  Array.prototype.find = function (predicate) {\n    if (this === null) {\n      throw new TypeError('Array.prototype.find called on null or undefined');\n    }\n    if (typeof predicate !== 'function') {\n      throw new TypeError('predicate must be a function');\n    }\n    var list = Object(this);\n    var length = list.length >>> 0;\n    var thisArg = arguments[1];\n    var value = void 0;\n\n    for (var i = 0; i < length; i++) {\n      value = list[i];\n      if (predicate.call(thisArg, value, i, list)) {\n        return value;\n      }\n    }\n    return undefined;\n  };\n}\n\nif (!Array.prototype.every) {\n  Array.prototype.every = function (callbackfn, thisArg) {\n    'use strict';\n\n    var T, k;\n\n    if (this == null) {\n      throw new TypeError('this is null or not defined');\n    }\n\n    var O = Object(this);\n    var len = O.length >>> 0;\n\n    if (typeof callbackfn !== 'function') {\n      throw new TypeError();\n    }\n\n    if (arguments.length > 1) {\n      T = thisArg;\n    }\n\n    k = 0;\n\n    while (k < len) {\n\n      var kValue;\n\n      if (k in O) {\n        kValue = O[k];\n\n        var testResult = callbackfn.call(T, kValue, k, O);\n\n        if (!testResult) {\n          return false;\n        }\n      }\n      k++;\n    }\n    return true;\n  };\n}\n\nif (!Array.isArray) {\n  Array.isArray = function (arg) {\n    return Object.prototype.toString.call(arg) === '[object Array]';\n  };\n}\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _errorMessages = __webpack_require__(147);\n\nvar _enterLeavePresets = __webpack_require__(148);\n\nvar _helpers = __webpack_require__(47);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move | propConverter\n * (c) 2016-present Joshua Comeau\n *\n * Abstracted away a bunch of the messy business with props.\n *   - props flow types and defaultProps\n *   - Type conversion (We accept 'string' and 'number' values for duration,\n *     delay, and other fields, but we actually need them to be ints.)\n *   - Children conversion (we need the children to be an array. May not always\n *     be, if a single child is passed in.)\n *   - Resolving animation presets into their base CSS styles\n */\n/* eslint-disable block-scoped-var */\n\nvar nodeEnv = void 0;\ntry {\n  nodeEnv = process.env.NODE_ENV;\n} catch (e) {\n  nodeEnv = 'development';\n}\n\nfunction propConverter(ComposedComponent) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    _inherits(FlipMovePropConverter, _Component);\n\n    function FlipMovePropConverter() {\n      _classCallCheck(this, FlipMovePropConverter);\n\n      return _possibleConstructorReturn(this, (FlipMovePropConverter.__proto__ || Object.getPrototypeOf(FlipMovePropConverter)).apply(this, arguments));\n    }\n\n    _createClass(FlipMovePropConverter, [{\n      key: 'checkForStatelessFunctionalComponents',\n\n\n      // eslint-disable-next-line class-methods-use-this\n      value: function checkForStatelessFunctionalComponents(children) {\n        // Skip all console warnings in production.\n        // Bail early, to avoid unnecessary work.\n        if (nodeEnv === 'production') {\n          return;\n        }\n\n        // FlipMove does not support stateless functional components.\n        // Check to see if any supplied components won't work.\n        // If the child doesn't have a key, it means we aren't animating it.\n        // It's allowed to be an SFC, since we ignore it.\n        var childArray = _react.Children.toArray(children);\n        var noStateless = childArray.every(function (child) {\n          return !(0, _helpers.isElementAnSFC)(child) || typeof child.key === 'undefined';\n        });\n\n        if (!noStateless) {\n          (0, _errorMessages.statelessFunctionalComponentSupplied)();\n        }\n      }\n    }, {\n      key: 'convertProps',\n      value: function convertProps(props) {\n        var workingProps = {\n          // explicitly bypass the props that don't need conversion\n          children: props.children,\n          easing: props.easing,\n          onStart: props.onStart,\n          onFinish: props.onFinish,\n          onStartAll: props.onStartAll,\n          onFinishAll: props.onFinishAll,\n          typeName: props.typeName,\n          disableAllAnimations: props.disableAllAnimations,\n          getPosition: props.getPosition,\n          maintainContainerHeight: props.maintainContainerHeight,\n          verticalAlignment: props.verticalAlignment,\n\n          // Do string-to-int conversion for all timing-related props\n          duration: this.convertTimingProp('duration'),\n          delay: this.convertTimingProp('delay'),\n          staggerDurationBy: this.convertTimingProp('staggerDurationBy'),\n          staggerDelayBy: this.convertTimingProp('staggerDelayBy'),\n\n          // Our enter/leave animations can be specified as boolean (default or\n          // disabled), string (preset name), or object (actual animation values).\n          // Let's standardize this so that they're always objects\n          appearAnimation: this.convertAnimationProp(props.appearAnimation, _enterLeavePresets.appearPresets),\n          enterAnimation: this.convertAnimationProp(props.enterAnimation, _enterLeavePresets.enterPresets),\n          leaveAnimation: this.convertAnimationProp(props.leaveAnimation, _enterLeavePresets.leavePresets),\n\n          delegated: {}\n        };\n\n        this.checkForStatelessFunctionalComponents(workingProps.children);\n\n        // Accept `disableAnimations`, but add a deprecation warning\n        if (typeof props.disableAnimations !== 'undefined') {\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.deprecatedDisableAnimations)();\n          }\n\n          workingProps.disableAllAnimations = props.disableAnimations;\n        }\n\n        // Gather any additional props;\n        // they will be delegated to the ReactElement created.\n        var primaryPropKeys = Object.keys(workingProps);\n        var delegatedProps = (0, _helpers.omit)(this.props, primaryPropKeys);\n\n        // The FlipMove container element needs to have a non-static position.\n        // We use `relative` by default, but it can be overridden by the user.\n        // Now that we're delegating props, we need to merge this in.\n        delegatedProps.style = _extends({\n          position: 'relative'\n        }, delegatedProps.style);\n\n        workingProps.delegated = delegatedProps;\n\n        return workingProps;\n      }\n    }, {\n      key: 'convertTimingProp',\n      value: function convertTimingProp(prop) {\n        var rawValue = this.props[prop];\n\n        var value = typeof rawValue === 'number' ? rawValue : parseInt(rawValue, 10);\n\n        if (isNaN(value)) {\n          var defaultValue = FlipMovePropConverter.defaultProps[prop];\n\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.invalidTypeForTimingProp)({\n              prop: prop,\n              value: rawValue,\n              defaultValue: defaultValue\n            });\n          }\n\n          return defaultValue;\n        }\n\n        return value;\n      }\n\n      // eslint-disable-next-line class-methods-use-this\n\n    }, {\n      key: 'convertAnimationProp',\n      value: function convertAnimationProp(animation, presets) {\n        switch (typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) {\n          case 'boolean':\n            {\n              // If it's true, we want to use the default preset.\n              // If it's false, we want to use the 'none' preset.\n              return presets[animation ? _enterLeavePresets.defaultPreset : _enterLeavePresets.disablePreset];\n            }\n\n          case 'string':\n            {\n              var presetKeys = Object.keys(presets);\n\n              if (presetKeys.indexOf(animation) === -1) {\n                if (nodeEnv !== 'production') {\n                  (0, _errorMessages.invalidEnterLeavePreset)({\n                    value: animation,\n                    acceptableValues: presetKeys.join(', '),\n                    defaultValue: _enterLeavePresets.defaultPreset\n                  });\n                }\n\n                return presets[_enterLeavePresets.defaultPreset];\n              }\n\n              return presets[animation];\n            }\n\n          default:\n            {\n              return animation;\n            }\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        return _react2.default.createElement(ComposedComponent, this.convertProps(this.props));\n      }\n    }]);\n\n    return FlipMovePropConverter;\n  }(_react.Component), _class.defaultProps = {\n    easing: 'ease-in-out',\n    duration: 350,\n    delay: 0,\n    staggerDurationBy: 0,\n    staggerDelayBy: 0,\n    typeName: 'div',\n    enterAnimation: _enterLeavePresets.defaultPreset,\n    leaveAnimation: _enterLeavePresets.defaultPreset,\n    disableAllAnimations: false,\n    getPosition: function getPosition(node) {\n      return node.getBoundingClientRect();\n    },\n    maintainContainerHeight: false,\n    verticalAlignment: 'top'\n  }, _temp;\n}\n\nexports.default = propConverter;\nmodule.exports = exports['default'];\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\n\nfunction warnOnce(msg) {\n  var hasWarned = false;\n  return function () {\n    if (!hasWarned) {\n      console.warn(msg);\n      hasWarned = true;\n    }\n  };\n}\nvar statelessFunctionalComponentSupplied = exports.statelessFunctionalComponentSupplied = warnOnce('\\n>> Error, via react-flip-move <<\\n\\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren\\'t supported, because Flip Move needs access to the backing instances via refs, and SFCs don\\'t have a public instance that holds that info.\\n\\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\\n');\n\nvar invalidTypeForTimingProp = exports.invalidTypeForTimingProp = function invalidTypeForTimingProp(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe prop you provided for \\'' + args.prop + '\\' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is \\'' + args.value + '\\'.\\n\\nAs a result,  the default value for this parameter will be used, which is \\'' + args.defaultValue + '\\'.\\n');\n};\n\nvar deprecatedDisableAnimations = exports.deprecatedDisableAnimations = warnOnce('\\n>> Warning, via react-flip-move <<\\n\\nThe \\'disableAnimations\\' prop you provided is deprecated. Please switch to use \\'disableAllAnimations\\'.\\n\\nThis will become a silent error in future versions of react-flip-move.\\n');\n\nvar invalidEnterLeavePreset = exports.invalidEnterLeavePreset = function invalidEnterLeavePreset(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe enter/leave preset you provided is invalid. We don\\'t currently have a \\'' + args.value + ' preset.\\'\\n\\nAcceptable values are ' + args.acceptableValues + '. The default value of \\'' + args.defaultValue + '\\' will be used.\\n');\n};\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar enterPresets = exports.enterPresets = {\n  elevator: {\n    from: { transform: 'scale(0)', opacity: '0' },\n    to: { transform: '', opacity: '' }\n  },\n  fade: {\n    from: { opacity: '0' },\n    to: { opacity: '' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(0)', transformOrigin: 'center top' },\n    to: { transform: '', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(0)', transformOrigin: 'left center' },\n    to: { transform: '', transformOrigin: 'left center' }\n  },\n  none: null\n};\n/**\n * React Flip Move | enterLeavePresets\n * (c) 2016-present Joshua Comeau\n *\n * This contains the master list of presets available for enter/leave animations,\n * along with the mapping between preset and styles.\n */\nvar leavePresets = exports.leavePresets = {\n  elevator: {\n    from: { transform: 'scale(1)', opacity: '1' },\n    to: { transform: 'scale(0)', opacity: '0' }\n  },\n  fade: {\n    from: { opacity: '1' },\n    to: { opacity: '0' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(1)', transformOrigin: 'center top' },\n    to: { transform: 'scaleY(0)', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(1)', transformOrigin: 'left center' },\n    to: { transform: 'scaleX(0)', transformOrigin: 'left center' }\n  },\n  none: null\n};\n\n// For now, appearPresets will be identical to enterPresets.\n// Assigning a custom export in case we ever want to add appear-specific ones.\nvar appearPresets = exports.appearPresets = enterPresets;\n\n// Embarrassingly enough, v2.0 launched with typo'ed preset names.\n// To avoid penning a new major version over something so inconsequential,\n// we're supporting both spellings. In a future version, these alternatives\n// may be deprecated.\n// $FlowFixMe\nenterPresets.accordianVertical = enterPresets.accordionVertical;\n// $FlowFixMe\nenterPresets.accordianHorizontal = enterPresets.accordionHorizontal;\n// $FlowFixMe\nleavePresets.accordianVertical = leavePresets.accordionVertical;\n// $FlowFixMe\nleavePresets.accordianHorizontal = leavePresets.accordionHorizontal;\n\nvar defaultPreset = exports.defaultPreset = 'elevator';\nvar disablePreset = exports.disablePreset = 'none';\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createTransitionString = exports.getNativeNode = exports.updateHeightPlaceholder = exports.removeNodeFromDOMFlow = exports.getPositionDelta = exports.getRelativeBoundingBox = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * These methods read from and write to the DOM.\n * They almost always have side effects, and will hopefully become the\n * only spot in the codebase with impure functions.\n */\n\n\nexports.applyStylesToDOMNode = applyStylesToDOMNode;\nexports.whichTransitionEvent = whichTransitionEvent;\n\nvar _reactDom = __webpack_require__(5);\n\nvar _helpers = __webpack_require__(47);\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 applyStylesToDOMNode(_ref) {\n  var domNode = _ref.domNode,\n      styles = _ref.styles;\n\n  // Can't just do an object merge because domNode.styles is no regular object.\n  // Need to do it this way for the engine to fire its `set` listeners.\n  Object.keys(styles).forEach(function (key) {\n    domNode.style.setProperty((0, _helpers.hyphenate)(key), styles[key]);\n  });\n}\n\n// Modified from Modernizr\nfunction whichTransitionEvent() {\n  var transitions = {\n    transition: 'transitionend',\n    '-o-transition': 'oTransitionEnd',\n    '-moz-transition': 'transitionend',\n    '-webkit-transition': 'webkitTransitionEnd'\n  };\n\n  // If we're running in a browserless environment (eg. SSR), it doesn't apply.\n  // Return a placeholder string, for consistent type return.\n  if (typeof document === 'undefined') return '';\n\n  var el = document.createElement('fakeelement');\n\n  var match = Object.keys(transitions).find(function (t) {\n    return el.style.getPropertyValue(t) !== undefined;\n  });\n\n  // If no `transition` is found, we must be running in a browser so ancient,\n  // React itself won't run. Return an empty string, for consistent type return\n  return match ? transitions[match] : '';\n}\n\nvar getRelativeBoundingBox = exports.getRelativeBoundingBox = function getRelativeBoundingBox(_ref2) {\n  var childDomNode = _ref2.childDomNode,\n      parentDomNode = _ref2.parentDomNode,\n      getPosition = _ref2.getPosition;\n\n  var parentBox = getPosition(parentDomNode);\n\n  var _getPosition = getPosition(childDomNode),\n      top = _getPosition.top,\n      left = _getPosition.left,\n      right = _getPosition.right,\n      bottom = _getPosition.bottom,\n      width = _getPosition.width,\n      height = _getPosition.height;\n\n  return {\n    top: top - parentBox.top,\n    left: left - parentBox.left,\n    right: parentBox.right - right,\n    bottom: parentBox.bottom - bottom,\n    width: width,\n    height: height\n  };\n};\n\n/** getPositionDelta\n * This method returns the delta between two bounding boxes, to figure out\n * how many pixels on each axis the element has moved.\n *\n */\nvar getPositionDelta = exports.getPositionDelta = function getPositionDelta(_ref3) {\n  var childDomNode = _ref3.childDomNode,\n      childBoundingBox = _ref3.childBoundingBox,\n      parentBoundingBox = _ref3.parentBoundingBox,\n      getPosition = _ref3.getPosition;\n\n  // TEMP: A mystery bug is sometimes causing unnecessary boundingBoxes to\n  var defaultBox = { top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 };\n\n  // Our old box is its last calculated position, derived on mount or at the\n  // start of the previous animation.\n  var oldRelativeBox = childBoundingBox || defaultBox;\n  var parentBox = parentBoundingBox || defaultBox;\n\n  // Our new box is the new final resting place: Where we expect it to wind up\n  // after the animation. First we get the box in absolute terms (AKA relative\n  // to the viewport), and then we calculate its relative box (relative to the\n  // parent container)\n  var newAbsoluteBox = getPosition(childDomNode);\n  var newRelativeBox = {\n    top: newAbsoluteBox.top - parentBox.top,\n    left: newAbsoluteBox.left - parentBox.left\n  };\n\n  return [oldRelativeBox.left - newRelativeBox.left, oldRelativeBox.top - newRelativeBox.top];\n};\n\n/** removeNodeFromDOMFlow\n * This method does something very sneaky: it removes a DOM node from the\n * document flow, but without actually changing its on-screen position.\n *\n * It works by calculating where the node is, and then applying styles\n * so that it winds up being positioned absolutely, but in exactly the\n * same place.\n *\n * This is a vital part of the FLIP technique.\n */\nvar removeNodeFromDOMFlow = exports.removeNodeFromDOMFlow = function removeNodeFromDOMFlow(childData, verticalAlignment) {\n  var domNode = childData.domNode,\n      boundingBox = childData.boundingBox;\n\n\n  if (!domNode || !boundingBox) {\n    return;\n  }\n\n  // For this to work, we have to offset any given `margin`.\n  var computed = window.getComputedStyle(domNode);\n\n  // We need to clean up margins, by converting and removing suffix:\n  // eg. '21px' -> 21\n  var marginAttrs = ['margin-top', 'margin-left', 'margin-right'];\n  var margins = marginAttrs.reduce(function (acc, margin) {\n    var propertyVal = computed.getPropertyValue(margin);\n\n    return _extends({}, acc, _defineProperty({}, margin, Number(propertyVal.replace('px', ''))));\n  }, {});\n\n  // If we're bottom-aligned, we need to add the height of the child to its\n  // top offset. This is because, when the container is bottom-aligned, its\n  // height shrinks from the top, not the bottom. We're removing this node\n  // from the flow, so the top is going to drop by its height.\n  var topOffset = verticalAlignment === 'bottom' ? boundingBox.top - boundingBox.height : boundingBox.top;\n\n  var styles = {\n    position: 'absolute',\n    top: topOffset - margins['margin-top'] + 'px',\n    left: boundingBox.left - margins['margin-left'] + 'px',\n    right: boundingBox.right - margins['margin-right'] + 'px'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\n/** updateHeightPlaceholder\n * An optional property to FlipMove is a `maintainContainerHeight` boolean.\n * This property creates a node that fills space, so that the parent\n * container doesn't collapse when its children are removed from the\n * document flow.\n */\nvar updateHeightPlaceholder = exports.updateHeightPlaceholder = function updateHeightPlaceholder(_ref4) {\n  var domNode = _ref4.domNode,\n      parentData = _ref4.parentData,\n      getPosition = _ref4.getPosition;\n\n  var parentDomNode = parentData.domNode;\n  var parentBoundingBox = parentData.boundingBox;\n\n  if (!parentDomNode || !parentBoundingBox) {\n    return;\n  }\n\n  // We need to find the height of the container *without* the placeholder.\n  // Since it's possible that the placeholder might already be present,\n  // we first set its height to 0.\n  // This allows the container to collapse down to the size of just its\n  // content (plus container padding or borders if any).\n  applyStylesToDOMNode({ domNode: domNode, styles: { height: '0' } });\n\n  // Find the distance by which the container would be collapsed by elements\n  // leaving. We compare the freshly-available parent height with the original,\n  // cached container height.\n  var originalParentHeight = parentBoundingBox.height;\n  var collapsedParentHeight = getPosition(parentDomNode).height;\n  var reductionInHeight = originalParentHeight - collapsedParentHeight;\n\n  // If the container has become shorter, update the padding element's\n  // height to take up the difference. Otherwise set its height to zero,\n  // so that it has no effect.\n  var styles = {\n    height: reductionInHeight > 0 ? reductionInHeight + 'px' : '0'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\nvar getNativeNode = exports.getNativeNode = function getNativeNode(element) {\n  // When running in a windowless environment, abort!\n  if (typeof HTMLElement === 'undefined') {\n    return null;\n  }\n\n  // `element` may already be a native node.\n  if (element instanceof HTMLElement) {\n    return element;\n  }\n\n  // While ReactDOM's `findDOMNode` is discouraged, it's the only\n  // publicly-exposed way to find the underlying DOM node for\n  // composite components.\n  var foundNode = (0, _reactDom.findDOMNode)(element);\n\n  if (!(foundNode instanceof HTMLElement)) {\n    // Text nodes are not supported\n    return null;\n  }\n\n  return foundNode;\n};\n\nvar createTransitionString = exports.createTransitionString = function createTransitionString(index, props) {\n  var delay = props.delay,\n      duration = props.duration;\n  var staggerDurationBy = props.staggerDurationBy,\n      staggerDelayBy = props.staggerDelayBy,\n      easing = props.easing;\n\n\n  delay += index * staggerDelayBy;\n  duration += index * staggerDurationBy;\n\n  var cssProperties = ['transform', 'opacity'];\n\n  return cssProperties.map(function (prop) {\n    return prop + ' ' + duration + 'ms ' + easing + ' ' + delay + 'ms';\n  }).join(', ');\n};\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\tAutosize 3.0.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/autosize\n*/\n(function (global, factory) {\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports, module], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n\t\tfactory(exports, module);\n\t} else {\n\t\tvar mod = {\n\t\t\texports: {}\n\t\t};\n\t\tfactory(mod.exports, mod);\n\t\tglobal.autosize = mod.exports;\n\t}\n})(this, function (exports, module) {\n\t'use strict';\n\n\tvar map = typeof Map === \"function\" ? new Map() : (function () {\n\t\tvar keys = [];\n\t\tvar values = [];\n\n\t\treturn {\n\t\t\thas: function has(key) {\n\t\t\t\treturn keys.indexOf(key) > -1;\n\t\t\t},\n\t\t\tget: function get(key) {\n\t\t\t\treturn values[keys.indexOf(key)];\n\t\t\t},\n\t\t\tset: function set(key, value) {\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\tvalues.push(value);\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function _delete(key) {\n\t\t\t\tvar index = keys.indexOf(key);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tkeys.splice(index, 1);\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tvar createEvent = function createEvent(name) {\n\t\treturn new Event(name, { bubbles: true });\n\t};\n\ttry {\n\t\tnew Event('test');\n\t} catch (e) {\n\t\t// IE does not support `new Event()`\n\t\tcreateEvent = function (name) {\n\t\t\tvar evt = document.createEvent('Event');\n\t\t\tevt.initEvent(name, true, false);\n\t\t\treturn evt;\n\t\t};\n\t}\n\n\tfunction assign(ta) {\n\t\tif (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;\n\n\t\tvar heightOffset = null;\n\t\tvar clientWidth = ta.clientWidth;\n\t\tvar cachedHeight = null;\n\n\t\tfunction init() {\n\t\t\tvar style = window.getComputedStyle(ta, null);\n\n\t\t\tif (style.resize === 'vertical') {\n\t\t\t\tta.style.resize = 'none';\n\t\t\t} else if (style.resize === 'both') {\n\t\t\t\tta.style.resize = 'horizontal';\n\t\t\t}\n\n\t\t\tif (style.boxSizing === 'content-box') {\n\t\t\t\theightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n\t\t\t} else {\n\t\t\t\theightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\t\t\t}\n\t\t\t// Fix when a textarea is not on document body and heightOffset is Not a Number\n\t\t\tif (isNaN(heightOffset)) {\n\t\t\t\theightOffset = 0;\n\t\t\t}\n\n\t\t\tupdate();\n\t\t}\n\n\t\tfunction changeOverflow(value) {\n\t\t\t{\n\t\t\t\t// Chrome/Safari-specific fix:\n\t\t\t\t// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space\n\t\t\t\t// made available by removing the scrollbar. The following forces the necessary text reflow.\n\t\t\t\tvar width = ta.style.width;\n\t\t\t\tta.style.width = '0px';\n\t\t\t\t// Force reflow:\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tta.offsetWidth;\n\t\t\t\t/* jshint ignore:end */\n\t\t\t\tta.style.width = width;\n\t\t\t}\n\n\t\t\tta.style.overflowY = value;\n\t\t}\n\n\t\tfunction getParentOverflows(el) {\n\t\t\tvar arr = [];\n\n\t\t\twhile (el && el.parentNode && el.parentNode instanceof Element) {\n\t\t\t\tif (el.parentNode.scrollTop) {\n\t\t\t\t\tarr.push({\n\t\t\t\t\t\tnode: el.parentNode,\n\t\t\t\t\t\tscrollTop: el.parentNode.scrollTop\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tel = el.parentNode;\n\t\t\t}\n\n\t\t\treturn arr;\n\t\t}\n\n\t\tfunction resize() {\n\t\t\tvar originalHeight = ta.style.height;\n\t\t\tvar overflows = getParentOverflows(ta);\n\t\t\tvar docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)\n\n\t\t\tta.style.height = 'auto';\n\n\t\t\tvar endHeight = ta.scrollHeight + heightOffset;\n\n\t\t\tif (ta.scrollHeight === 0) {\n\t\t\t\t// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.\n\t\t\t\tta.style.height = originalHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tta.style.height = endHeight + 'px';\n\n\t\t\t// used to check if an update is actually necessary on window.resize\n\t\t\tclientWidth = ta.clientWidth;\n\n\t\t\t// prevents scroll-position jumping\n\t\t\toverflows.forEach(function (el) {\n\t\t\t\tel.node.scrollTop = el.scrollTop;\n\t\t\t});\n\n\t\t\tif (docTop) {\n\t\t\t\tdocument.documentElement.scrollTop = docTop;\n\t\t\t}\n\t\t}\n\n\t\tfunction update() {\n\t\t\tresize();\n\n\t\t\tvar styleHeight = Math.round(parseFloat(ta.style.height));\n\t\t\tvar computed = window.getComputedStyle(ta, null);\n\n\t\t\t// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box\n\t\t\tvar actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;\n\n\t\t\t// The actual height not matching the style height (set via the resize method) indicates that\n\t\t\t// the max-height has been exceeded, in which case the overflow should be allowed.\n\t\t\tif (actualHeight !== styleHeight) {\n\t\t\t\tif (computed.overflowY === 'hidden') {\n\t\t\t\t\tchangeOverflow('scroll');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.\n\t\t\t\tif (computed.overflowY !== 'hidden') {\n\t\t\t\t\tchangeOverflow('hidden');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (cachedHeight !== actualHeight) {\n\t\t\t\tcachedHeight = actualHeight;\n\t\t\t\tvar evt = createEvent('autosize:resized');\n\t\t\t\ttry {\n\t\t\t\t\tta.dispatchEvent(evt);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Firefox will throw an error on dispatchEvent for a detached element\n\t\t\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=889376\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar pageResize = function pageResize() {\n\t\t\tif (ta.clientWidth !== clientWidth) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t};\n\n\t\tvar destroy = (function (style) {\n\t\t\twindow.removeEventListener('resize', pageResize, false);\n\t\t\tta.removeEventListener('input', update, false);\n\t\t\tta.removeEventListener('keyup', update, false);\n\t\t\tta.removeEventListener('autosize:destroy', destroy, false);\n\t\t\tta.removeEventListener('autosize:update', update, false);\n\n\t\t\tObject.keys(style).forEach(function (key) {\n\t\t\t\tta.style[key] = style[key];\n\t\t\t});\n\n\t\t\tmap['delete'](ta);\n\t\t}).bind(ta, {\n\t\t\theight: ta.style.height,\n\t\t\tresize: ta.style.resize,\n\t\t\toverflowY: ta.style.overflowY,\n\t\t\toverflowX: ta.style.overflowX,\n\t\t\twordWrap: ta.style.wordWrap\n\t\t});\n\n\t\tta.addEventListener('autosize:destroy', destroy, false);\n\n\t\t// IE9 does not fire onpropertychange or oninput for deletions,\n\t\t// so binding to onkeyup to catch most of those events.\n\t\t// There is no way that I know of to detect something like 'cut' in IE9.\n\t\tif ('onpropertychange' in ta && 'oninput' in ta) {\n\t\t\tta.addEventListener('keyup', update, false);\n\t\t}\n\n\t\twindow.addEventListener('resize', pageResize, false);\n\t\tta.addEventListener('input', update, false);\n\t\tta.addEventListener('autosize:update', update, false);\n\t\tta.style.overflowX = 'hidden';\n\t\tta.style.wordWrap = 'break-word';\n\n\t\tmap.set(ta, {\n\t\t\tdestroy: destroy,\n\t\t\tupdate: update\n\t\t});\n\n\t\tinit();\n\t}\n\n\tfunction destroy(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.destroy();\n\t\t}\n\t}\n\n\tfunction update(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.update();\n\t\t}\n\t}\n\n\tvar autosize = null;\n\n\t// Do nothing in Node.js environment and IE8 (or lower)\n\tif (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {\n\t\tautosize = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\treturn el;\n\t\t};\n\t} else {\n\t\tautosize = function (el, options) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], function (x) {\n\t\t\t\t\treturn assign(x, options);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], destroy);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], update);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t}\n\n\tmodule.exports = autosize;\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nexports.default = function (language) {\n  return new _polyglot2.default({\n    phrases: i18nMap[language] || i18nMap.en,\n    locale: language\n  });\n};\n\nvar _polyglot = __webpack_require__(152);\n\nvar _polyglot2 = _interopRequireDefault(_polyglot);\n\nvar _zhCN = __webpack_require__(153);\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _zhTW = __webpack_require__(154);\n\nvar _zhTW2 = _interopRequireDefault(_zhTW);\n\nvar _en = __webpack_require__(155);\n\nvar _en2 = _interopRequireDefault(_en);\n\nvar _esES = __webpack_require__(156);\n\nvar _esES2 = _interopRequireDefault(_esES);\n\nvar _fr = __webpack_require__(157);\n\nvar _fr2 = _interopRequireDefault(_fr);\n\nvar _ru = __webpack_require__(158);\n\nvar _ru2 = _interopRequireDefault(_ru);\n\nvar _de = __webpack_require__(159);\n\nvar _de2 = _interopRequireDefault(_de);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar i18nMap = {\n  'zh': _zhCN2.default,\n  'zh-CN': _zhCN2.default,\n  'zh-TW': _zhTW2.default,\n  'en': _en2.default,\n  'es-ES': _esES2.default,\n  'fr': _fr2.default,\n  'ru': _ru2.default,\n  'de': _de2.default\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//     (c) 2012 Airbnb, Inc.\n//\n//     polyglot.js may be freely distributed under the terms of the BSD\n//     license. For all licensing information, details, and documention:\n//     http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n\n(function(root, factory) {\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function() {\n      return factory(root);\n    }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  } else if (typeof exports === 'object') {\n    module.exports = factory(root);\n  } else {\n    root.Polyglot = factory(root);\n  }\n}(this, function(root) {\n  'use strict';\n\n  // ### Polyglot class constructor\n  function Polyglot(options) {\n    options = options || {};\n    this.phrases = {};\n    this.extend(options.phrases || {});\n    this.currentLocale = options.locale || 'en';\n    this.allowMissing = !!options.allowMissing;\n    this.warn = options.warn || warn;\n  }\n\n  // ### Version\n  Polyglot.VERSION = '0.4.3';\n\n  // ### polyglot.locale([locale])\n  //\n  // Get or set locale. Internally, Polyglot only uses locale for pluralization.\n  Polyglot.prototype.locale = function(newLocale) {\n    if (newLocale) this.currentLocale = newLocale;\n    return this.currentLocale;\n  };\n\n  // ### polyglot.extend(phrases)\n  //\n  // Use `extend` to tell Polyglot how to translate a given key.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     });\n  //\n  // The key can be any string.  Feel free to call `extend` multiple times;\n  // it will override any phrases with the same key, but leave existing phrases\n  // untouched.\n  //\n  // It is also possible to pass nested phrase objects, which get flattened\n  // into an object with the nested keys concatenated using dot notation.\n  //\n  //     polyglot.extend({\n  //       \"nav\": {\n  //         \"hello\": \"Hello\",\n  //         \"hello_name\": \"Hello, %{name}\",\n  //         \"sidebar\": {\n  //           \"welcome\": \"Welcome\"\n  //         }\n  //       }\n  //     });\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}',\n  //     //   'nav.sidebar.welcome': 'Welcome'\n  //     // }\n  //\n  // `extend` accepts an optional second argument, `prefix`, which can be used\n  // to prefix every key in the phrases object with some string, using dot\n  // notation.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     }, \"nav\");\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}'\n  //     // }\n  //\n  // This feature is used internally to support nested phrase objects.\n  Polyglot.prototype.extend = function(morePhrases, prefix) {\n    var phrase;\n\n    for (var key in morePhrases) {\n      if (morePhrases.hasOwnProperty(key)) {\n        phrase = morePhrases[key];\n        if (prefix) key = prefix + '.' + key;\n        if (typeof phrase === 'object') {\n          this.extend(phrase, key);\n        } else {\n          this.phrases[key] = phrase;\n        }\n      }\n    }\n  };\n\n  // ### polyglot.clear()\n  //\n  // Clears all phrases. Useful for special cases, such as freeing\n  // up memory if you have lots of phrases but no longer need to\n  // perform any translation. Also used internally by `replace`.\n  Polyglot.prototype.clear = function() {\n    this.phrases = {};\n  };\n\n  // ### polyglot.replace(phrases)\n  //\n  // Completely replace the existing phrases with a new set of phrases.\n  // Normally, just use `extend` to add more phrases, but under certain\n  // circumstances, you may want to make sure no old phrases are lying around.\n  Polyglot.prototype.replace = function(newPhrases) {\n    this.clear();\n    this.extend(newPhrases);\n  };\n\n\n  // ### polyglot.t(key, options)\n  //\n  // The most-used method. Provide a key, and `t` will return the\n  // phrase.\n  //\n  //     polyglot.t(\"hello\");\n  //     => \"Hello\"\n  //\n  // The phrase value is provided first by a call to `polyglot.extend()` or\n  // `polyglot.replace()`.\n  //\n  // Pass in an object as the second argument to perform interpolation.\n  //\n  //     polyglot.t(\"hello_name\", {name: \"Spike\"});\n  //     => \"Hello, Spike\"\n  //\n  // If you like, you can provide a default value in case the phrase is missing.\n  // Use the special option key \"_\" to specify a default.\n  //\n  //     polyglot.t(\"i_like_to_write_in_language\", {\n  //       _: \"I like to write in %{language}.\",\n  //       language: \"JavaScript\"\n  //     });\n  //     => \"I like to write in JavaScript.\"\n  //\n  Polyglot.prototype.t = function(key, options) {\n    var phrase, result;\n    options = options == null ? {} : options;\n    // allow number as a pluralization shortcut\n    if (typeof options === 'number') {\n      options = {smart_count: options};\n    }\n    if (typeof this.phrases[key] === 'string') {\n      phrase = this.phrases[key];\n    } else if (typeof options._ === 'string') {\n      phrase = options._;\n    } else if (this.allowMissing) {\n      phrase = key;\n    } else {\n      this.warn('Missing translation for key: \"'+key+'\"');\n      result = key;\n    }\n    if (typeof phrase === 'string') {\n      options = clone(options);\n      result = choosePluralForm(phrase, this.currentLocale, options.smart_count);\n      result = interpolate(result, options);\n    }\n    return result;\n  };\n\n\n  // ### polyglot.has(key)\n  //\n  // Check if polyglot has a translation for given key\n  Polyglot.prototype.has = function(key) {\n    return key in this.phrases;\n  };\n\n\n  // #### Pluralization methods\n  // The string that separates the different phrase possibilities.\n  var delimeter = '||||';\n\n  // Mapping from pluralization group plural logic.\n  var pluralTypes = {\n    chinese:   function(n) { return 0; },\n    german:    function(n) { return n !== 1 ? 1 : 0; },\n    french:    function(n) { return n > 1 ? 1 : 0; },\n    russian:   function(n) { return n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2; },\n    czech:     function(n) { return (n === 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2; },\n    polish:    function(n) { return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); },\n    icelandic: function(n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }\n  };\n\n  // Mapping from pluralization group to individual locales.\n  var pluralTypeToLanguages = {\n    chinese:   ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],\n    german:    ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],\n    french:    ['fr', 'tl', 'pt-br'],\n    russian:   ['hr', 'ru'],\n    czech:     ['cs'],\n    polish:    ['pl'],\n    icelandic: ['is']\n  };\n\n  function langToTypeMap(mapping) {\n    var type, langs, l, ret = {};\n    for (type in mapping) {\n      if (mapping.hasOwnProperty(type)) {\n        langs = mapping[type];\n        for (l in langs) {\n          ret[langs[l]] = type;\n        }\n      }\n    }\n    return ret;\n  }\n\n  // Trim a string.\n  function trim(str){\n    var trimRe = /^\\s+|\\s+$/g;\n    return str.replace(trimRe, '');\n  }\n\n  // Based on a phrase text that contains `n` plural forms separated\n  // by `delimeter`, a `locale`, and a `count`, choose the correct\n  // plural form, or none if `count` is `null`.\n  function choosePluralForm(text, locale, count){\n    var ret, texts, chosenText;\n    if (count != null && text) {\n      texts = text.split(delimeter);\n      chosenText = texts[pluralTypeIndex(locale, count)] || texts[0];\n      ret = trim(chosenText);\n    } else {\n      ret = text;\n    }\n    return ret;\n  }\n\n  function pluralTypeName(locale) {\n    var langToPluralType = langToTypeMap(pluralTypeToLanguages);\n    return langToPluralType[locale] || langToPluralType.en;\n  }\n\n  function pluralTypeIndex(locale, count) {\n    return pluralTypes[pluralTypeName(locale)](count);\n  }\n\n  // ### interpolate\n  //\n  // Does the dirty work. Creates a `RegExp` object for each\n  // interpolation placeholder.\n  function interpolate(phrase, options) {\n    for (var arg in options) {\n      if (arg !== '_' && options.hasOwnProperty(arg)) {\n        // We create a new `RegExp` each time instead of using a more-efficient\n        // string replace so that the same argument can be replaced multiple times\n        // in the same phrase.\n        phrase = phrase.replace(new RegExp('%\\\\{'+arg+'\\\\}', 'g'), options[arg]);\n      }\n    }\n    return phrase;\n  }\n\n  // ### warn\n  //\n  // Provides a warning in the console if a phrase key is missing.\n  function warn(message) {\n    root.console && root.console.warn && root.console.warn('WARNING: ' + message);\n  }\n\n  // ### clone\n  //\n  // Clone an object.\n  function clone(source) {\n    var ret = {};\n    for (var prop in source) {\n      ret[prop] = source[prop];\n    }\n    return ret;\n  }\n\n  return Polyglot;\n}));\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalk 加载中 ...\",\"no-found-related\":\"未找到相关的 %{link} 进行评论\",\"please-contact\":\"请联系 %{user} 初始化创建\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"说点什么\",\"preview\":\"预览\",\"edit\":\"编辑\",\"comment\":\"评论\",\"support-markdown\":\"支持 Markdown 语法\",\"login-with-github\":\"使用 GitHub 登录\",\"first-comment-person\":\"来做第一个留言的人吧！\",\"commented\":\"发表于\",\"load-more\":\"加载更多\",\"counts\":\"%{counts} 条评论\",\"sort-asc\":\"从旧到新排序\",\"sort-desc\":\"从新到旧排序\",\"logout\":\"注销\",\"anonymous\":\"未登录用户\"}\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalk 載入中…\",\"no-found-related\":\"未找到相關的 %{link}\",\"please-contact\":\"請聯絡 %{user} 初始化評論\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"寫點什麼\",\"preview\":\"預覽\",\"edit\":\"編輯\",\"comment\":\"評論\",\"support-markdown\":\"支援 Markdown 語法\",\"login-with-github\":\"使用 GitHub 登入\",\"first-comment-person\":\"成為首個留言的人吧！\",\"commented\":\"評論於\",\"load-more\":\"載入更多\",\"counts\":\"%{counts} 筆評論\",\"sort-asc\":\"從舊至新排序\",\"sort-desc\":\"從新至舊排序\",\"logout\":\"登出\",\"anonymous\":\"訪客\"}\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Related %{link} not found\",\"please-contact\":\"Please contact %{user} to initialize the comment\",\"init-issue\":\"Init Issue\",\"leave-a-comment\":\"Leave a comment\",\"preview\":\"Preview\",\"edit\":\"Edit\",\"comment\":\"Comment\",\"support-markdown\":\"Markdown is supported\",\"login-with-github\":\"Login with GitHub\",\"first-comment-person\":\"Be the first person to leave a comment!\",\"commented\":\"commented\",\"load-more\":\"Load more\",\"counts\":\"%{counts} comment |||| %{counts} comments\",\"sort-asc\":\"Sort by Oldest\",\"sort-desc\":\"Sort by Latest\",\"logout\":\"Logout\",\"anonymous\":\"Anonymous\"}\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Link %{link} no encontrado\",\"please-contact\":\"Por favor contacta con %{user} para inicializar el comentario\",\"init-issue\":\"Iniciar Issue\",\"leave-a-comment\":\"Deja un comentario\",\"preview\":\"Avance\",\"edit\":\"Editar\",\"comment\":\"Comentario\",\"support-markdown\":\"Markdown es soportado\",\"login-with-github\":\"Entrar con GitHub\",\"first-comment-person\":\"Sé el primero en dejar un comentario!\",\"commented\":\"comentó\",\"load-more\":\"Cargar más\",\"counts\":\"%{counts} comentario |||| %{counts} comentarios\",\"sort-asc\":\"Ordenar por Antiguos\",\"sort-desc\":\"Ordenar por Recientes\",\"logout\":\"Salir\",\"anonymous\":\"Anónimo\"}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Lien %{link} non trouvé\",\"please-contact\":\"S’il vous plaît contactez %{user} pour initialiser les commentaires\",\"init-issue\":\"Initialisation des issues\",\"leave-a-comment\":\"Laisser un commentaire\",\"preview\":\"Aperçu\",\"edit\":\"Modifier\",\"comment\":\"Commentaire\",\"support-markdown\":\"Markdown est supporté\",\"login-with-github\":\"Se connecter avec GitHub\",\"first-comment-person\":\"Être le premier à laisser un commentaire !\",\"commented\":\"commenter\",\"load-more\":\"Charger plus\",\"counts\":\"%{counts} commentaire |||| %{counts} commentaires\",\"sort-asc\":\"Trier par plus ancien\",\"sort-desc\":\"Trier par plus récent\",\"logout\":\"Déconnexion\",\"anonymous\":\"Anonyme\"}\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Связанные %{link} не найдены\",\"please-contact\":\"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий\",\"init-issue\":\"Выпуск инициализации\",\"leave-a-comment\":\"Оставить комментарий\",\"preview\":\"Предварительный просмотр\",\"edit\":\"Pедактировать\",\"comment\":\"Комментарий\",\"support-markdown\":\"Поддерживается Markdown\",\"login-with-github\":\"Вход через GitHub\",\"first-comment-person\":\"Будьте первым, кто оставил комментарий\",\"commented\":\"прокомментированный\",\"load-more\":\"Загрузить ещё\",\"counts\":\"%{counts} комментарий |||| %{counts} комментарьев\",\"sort-asc\":\"Сортировать по старым\",\"sort-desc\":\"Сортировать по последним\",\"logout\":\"Выход\",\"anonymous\":\"Анонимный\"}\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Zugehöriger %{link} nicht gefunden\",\"please-contact\":\"Bitte kontaktiere %{user} um den Kommentar zu initialisieren\",\"init-issue\":\"Initialisiere Issue\",\"leave-a-comment\":\"Hinterlasse einen Kommentar\",\"preview\":\"Vorschau\",\"edit\":\"Editieren\",\"comment\":\"Kommentieren\",\"support-markdown\":\"Markdown wird unterstützt\",\"login-with-github\":\"Mit GitHub-Account anmelden\",\"first-comment-person\":\"Sei die erste Person, welche einen Kommentar hinterlässt!\",\"commented\":\"kommentierte\",\"load-more\":\"Zeige mehr\",\"counts\":\"%{counts} Kommentar |||| %{counts} Kommentare\",\"sort-asc\":\"Älteste zuerst\",\"sort-desc\":\"Neuste zuerst\",\"logout\":\"Abmelden\",\"anonymous\":\"Anonym\"}\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(162), __esModule: true };\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(163);\nmodule.exports = __webpack_require__(0).Object.keys;\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(17);\nvar $keys = __webpack_require__(22);\n\n__webpack_require__(65)('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(165);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(168);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(166), __esModule: true };\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(27);\n__webpack_require__(20);\nmodule.exports = __webpack_require__(167);\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(41);\nvar ITERATOR = __webpack_require__(2)('iterator');\nvar Iterators = __webpack_require__(15);\nmodule.exports = __webpack_require__(0).isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(169), __esModule: true };\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(27);\n__webpack_require__(20);\nmodule.exports = __webpack_require__(170);\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(6);\nvar get = __webpack_require__(42);\nmodule.exports = __webpack_require__(0).getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(172);\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\nvar bind = __webpack_require__(72);\nvar Axios = __webpack_require__(173);\nvar mergeConfig = __webpack_require__(78);\nvar defaults = __webpack_require__(75);\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(79);\naxios.CancelToken = __webpack_require__(186);\naxios.isCancel = __webpack_require__(74);\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = __webpack_require__(187);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\nvar buildURL = __webpack_require__(73);\nvar InterceptorManager = __webpack_require__(174);\nvar dispatchRequest = __webpack_require__(175);\nvar mergeConfig = __webpack_require__(78);\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = arguments[1] || {};\n    config.url = arguments[0];\n  } else {\n    config = config || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  // Hook up interceptors middleware\n  var chain = [dispatchRequest, undefined];\n  var promise = Promise.resolve(config);\n\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    chain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  while (chain.length) {\n    promise = promise.then(chain.shift(), chain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\nvar transformData = __webpack_require__(176);\nvar isCancel = __webpack_require__(74);\nvar defaults = __webpack_require__(75);\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData(\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData(\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData(\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn(data, headers);\n  });\n\n  return data;\n};\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(77);\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.toJSON = function() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code\n    };\n  };\n  return error;\n};\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isAbsoluteURL = __webpack_require__(181);\nvar combineURLs = __webpack_require__(182);\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(3);\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(79);\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (_ref) {\n  var className = _ref.className,\n      getRef = _ref.getRef,\n      onClick = _ref.onClick,\n      onMouseDown = _ref.onMouseDown,\n      text = _ref.text,\n      isLoading = _ref.isLoading;\n  return _react2.default.createElement(\n    \"button\",\n    {\n      ref: function ref(el) {\n        return getRef && getRef(el);\n      },\n      className: \"gt-btn \" + className,\n      onClick: onClick,\n      onMouseDown: onMouseDown },\n    _react2.default.createElement(\n      \"span\",\n      { className: \"gt-btn-text\" },\n      text\n    ),\n    isLoading && _react2.default.createElement(\"span\", { className: \"gt-btn-loading gt-spinner\" })\n  );\n};\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (_ref) {\n  var className = _ref.className,\n      onClick = _ref.onClick,\n      text = _ref.text;\n  return _react2.default.createElement(\n    \"a\",\n    { className: \"gt-action \" + className, onClick: onClick },\n    _react2.default.createElement(\n      \"span\",\n      { className: \"gt-action-text\" },\n      text\n    )\n  );\n};\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _getPrototypeOf = __webpack_require__(64);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = __webpack_require__(29);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = __webpack_require__(30);\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(66);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(70);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = __webpack_require__(80);\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _svg = __webpack_require__(81);\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _distance_in_words_to_now = __webpack_require__(199);\n\nvar _distance_in_words_to_now2 = _interopRequireDefault(_distance_in_words_to_now);\n\nvar _index = __webpack_require__(212);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = __webpack_require__(213);\n\nvar _index4 = _interopRequireDefault(_index3);\n\nvar _index5 = __webpack_require__(214);\n\nvar _index6 = _interopRequireDefault(_index5);\n\nvar _index7 = __webpack_require__(215);\n\nvar _index8 = _interopRequireDefault(_index7);\n\nvar _index9 = __webpack_require__(216);\n\nvar _index10 = _interopRequireDefault(_index9);\n\n__webpack_require__(217);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ZHCN = (0, _index2.default)();\nvar ZHTW = (0, _index4.default)();\nvar ES = (0, _index6.default)();\nvar FR = (0, _index8.default)();\nvar RU = (0, _index10.default)();\n\nif (typeof window !== 'undefined') {\n  window.GT_i18n_distanceInWordsLocaleMap = {\n    zh: ZHCN,\n    'zh-CN': ZHCN,\n    'zh-TW': ZHTW,\n    'es-ES': ES,\n    fr: FR,\n    ru: RU\n  };\n}\n\nvar Comment = function (_Component) {\n  (0, _inherits3.default)(Comment, _Component);\n\n  function Comment() {\n    (0, _classCallCheck3.default)(this, Comment);\n    return (0, _possibleConstructorReturn3.default)(this, (Comment.__proto__ || (0, _getPrototypeOf2.default)(Comment)).apply(this, arguments));\n  }\n\n  (0, _createClass3.default)(Comment, [{\n    key: 'shouldComponentUpdate',\n    value: function shouldComponentUpdate() {\n      return false;\n    }\n  }, {\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      var comment = this.node;\n      var emailResponse = comment.querySelector('.email-hidden-toggle>a');\n      if (emailResponse) {\n        emailResponse.addEventListener('click', function (e) {\n          e.preventDefault();\n          comment.querySelector('.email-hidden-reply').classList.toggle('expanded');\n        }, true);\n      }\n    }\n  }, {\n    key: 'handleImageErrored',\n    value: function handleImageErrored(obj) {\n      obj.target.src = \"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this2 = this;\n\n      var _props = this.props,\n          comment = _props.comment,\n          user = _props.user,\n          language = _props.language,\n          _props$commentedText = _props.commentedText,\n          commentedText = _props$commentedText === undefined ? '' : _props$commentedText,\n          _props$admin = _props.admin,\n          admin = _props$admin === undefined ? [] : _props$admin,\n          replyCallback = _props.replyCallback,\n          likeCallback = _props.likeCallback;\n\n      var enableEdit = user && comment.user.login === user.login;\n      var isAdmin = ~[].concat(admin).map(function (a) {\n        return a.toLowerCase();\n      }).indexOf(comment.user.login.toLowerCase());\n      var reactions = comment.reactions;\n\n      var reactionTotalCount = '';\n      if (reactions && reactions.totalCount) {\n        reactionTotalCount = reactions.totalCount;\n        if (reactions.totalCount === 100 && reactions.pageInfo && reactions.pageInfo.hasNextPage) {\n          reactionTotalCount = '100+';\n        }\n      }\n\n      return _react2.default.createElement(\n        'div',\n        { ref: function ref(node) {\n            _this2.node = node;\n          }, className: 'gt-comment ' + (isAdmin ? 'gt-comment-admin' : '') },\n        _react2.default.createElement(_avatar2.default, {\n          className: 'gt-comment-avatar',\n          src: comment.user && comment.user.avatar_url,\n          alt: comment.user && comment.user.login,\n          onError: this.handleImageErrored.bind(this)\n        }),\n        _react2.default.createElement(\n          'div',\n          { className: 'gt-comment-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'gt-comment-header' },\n            _react2.default.createElement('div', { className: 'gt-comment-block-' + (user ? '2' : '1') }),\n            _react2.default.createElement(\n              'a',\n              {\n                className: 'gt-comment-username',\n                href: comment.user && comment.user.html_url\n              },\n              comment.user && comment.user.login\n            ),\n            _react2.default.createElement(\n              'span',\n              { className: 'gt-comment-text' },\n              commentedText\n            ),\n            _react2.default.createElement(\n              'span',\n              { className: 'gt-comment-date' },\n              (0, _distance_in_words_to_now2.default)(comment.created_at, {\n                addSuffix: true,\n                locale: {\n                  distanceInWords: window.GT_i18n_distanceInWordsLocaleMap[language]\n                }\n              })\n            ),\n            reactions && _react2.default.createElement(\n              'a',\n              { className: 'gt-comment-like', title: 'Like', onClick: likeCallback },\n              reactions.viewerHasReacted ? _react2.default.createElement(_svg2.default, {\n                className: 'gt-ico-heart',\n                name: 'heart_on',\n                text: reactionTotalCount\n              }) : _react2.default.createElement(_svg2.default, {\n                className: 'gt-ico-heart',\n                name: 'heart',\n                text: reactionTotalCount\n              })\n            ),\n            enableEdit ? _react2.default.createElement(\n              'a',\n              {\n                href: comment.html_url,\n                className: 'gt-comment-edit',\n                title: 'Edit',\n                target: '_blank'\n              },\n              _react2.default.createElement(_svg2.default, { className: 'gt-ico-edit', name: 'edit' })\n            ) : _react2.default.createElement(\n              'a',\n              { className: 'gt-comment-reply', title: 'Reply', onClick: replyCallback },\n              _react2.default.createElement(_svg2.default, { className: 'gt-ico-reply', name: 'reply' })\n            )\n          ),\n          _react2.default.createElement('div', {\n            className: 'gt-comment-body markdown-body',\n            dangerouslySetInnerHTML: {\n              __html: comment.body_html\n            }\n          })\n        )\n      );\n    }\n  }]);\n  return Comment;\n}(_react.Component);\n\nexports.default = Comment;\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./arrow_down.svg\": 192,\n\t\"./edit.svg\": 193,\n\t\"./github.svg\": 194,\n\t\"./heart.svg\": 195,\n\t\"./heart_on.svg\": 196,\n\t\"./reply.svg\": 197,\n\t\"./tip.svg\": 198\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 191;\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"1619\\\"><path d=\\\"M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z\\\" p-id=\\\"1620\\\"></path></svg>\"\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z\\\"></path>\\n</svg>\\n\"\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z\\\"></path>\\n</svg>\\n\"\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z\\\"></path>\\n</svg>\\n\"\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg t=\\\"1512463363724\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z\\\"></path>\\n</svg>\\n\"\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 1332 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666\\\"></path>\\n</svg>\\n\"\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z\\\"\\n    p-id=\\\"3083\\\"></path>\\n  <path d=\\\"M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z\\\"\\n    p-id=\\\"3084\\\"></path>\\n  <path d=\\\"M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z\\\"\\n    p-id=\\\"3085\\\"></path>\\n</svg>\\n\"\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar distanceInWords = __webpack_require__(200)\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @param {Date|String|Number} date - the given date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = distanceInWordsToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = distanceInWordsToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = distanceInWordsToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWordsToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWordsToNow (dirtyDate, dirtyOptions) {\n  return distanceInWords(Date.now(), dirtyDate, dirtyOptions)\n}\n\nmodule.exports = distanceInWordsToNow\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar compareDesc = __webpack_require__(201)\nvar parse = __webpack_require__(18)\nvar differenceInSeconds = __webpack_require__(203)\nvar differenceInMonths = __webpack_require__(205)\nvar enLocale = __webpack_require__(208)\n\nvar MINUTES_IN_DAY = 1440\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520\nvar MINUTES_IN_MONTH = 43200\nvar MINUTES_IN_TWO_MONTHS = 86400\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Date|String|Number} date - the other date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * var result = distanceInWords(\n *   new Date(2014, 6, 2),\n *   new Date(2015, 0, 1)\n * )\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * var result = distanceInWords(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * var result = distanceInWords(\n *   new Date(2016, 0, 1),\n *   new Date(2015, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWords(\n *   new Date(2016, 7, 1),\n *   new Date(2015, 0, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWords (dirtyDateToCompare, dirtyDate, dirtyOptions) {\n  var options = dirtyOptions || {}\n\n  var comparison = compareDesc(dirtyDateToCompare, dirtyDate)\n\n  var locale = options.locale\n  var localize = enLocale.distanceInWords.localize\n  if (locale && locale.distanceInWords && locale.distanceInWords.localize) {\n    localize = locale.distanceInWords.localize\n  }\n\n  var localizeOptions = {\n    addSuffix: Boolean(options.addSuffix),\n    comparison: comparison\n  }\n\n  var dateLeft, dateRight\n  if (comparison > 0) {\n    dateLeft = parse(dirtyDateToCompare)\n    dateRight = parse(dirtyDate)\n  } else {\n    dateLeft = parse(dirtyDate)\n    dateRight = parse(dirtyDateToCompare)\n  }\n\n  var seconds = differenceInSeconds(dateRight, dateLeft)\n  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()\n  var minutes = Math.round(seconds / 60) - offset\n  var months\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options.includeSeconds) {\n      if (seconds < 5) {\n        return localize('lessThanXSeconds', 5, localizeOptions)\n      } else if (seconds < 10) {\n        return localize('lessThanXSeconds', 10, localizeOptions)\n      } else if (seconds < 20) {\n        return localize('lessThanXSeconds', 20, localizeOptions)\n      } else if (seconds < 40) {\n        return localize('halfAMinute', null, localizeOptions)\n      } else if (seconds < 60) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', 1, localizeOptions)\n      }\n    } else {\n      if (minutes === 0) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', minutes, localizeOptions)\n      }\n    }\n\n  // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return localize('xMinutes', minutes, localizeOptions)\n\n  // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return localize('aboutXHours', 1, localizeOptions)\n\n  // 1.5 hrs up to 24 hrs\n  } else if (minutes < MINUTES_IN_DAY) {\n    var hours = Math.round(minutes / 60)\n    return localize('aboutXHours', hours, localizeOptions)\n\n  // 1 day up to 1.75 days\n  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n    return localize('xDays', 1, localizeOptions)\n\n  // 1.75 days up to 30 days\n  } else if (minutes < MINUTES_IN_MONTH) {\n    var days = Math.round(minutes / MINUTES_IN_DAY)\n    return localize('xDays', days, localizeOptions)\n\n  // 1 month up to 2 months\n  } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n    months = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('aboutXMonths', months, localizeOptions)\n  }\n\n  months = differenceInMonths(dateRight, dateLeft)\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('xMonths', nearestMonth, localizeOptions)\n\n  // 1 year up to max Date\n  } else {\n    var monthsSinceStartOfYear = months % 12\n    var years = Math.floor(months / 12)\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return localize('aboutXYears', years, localizeOptions)\n\n    // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return localize('overXYears', years, localizeOptions)\n\n    // N years 9 months up to N year 12 months\n    } else {\n      return localize('almostXYears', years + 1, localizeOptions)\n    }\n  }\n}\n\nmodule.exports = distanceInWords\n\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parse = __webpack_require__(18)\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return -1 if the first date is after the second,\n * 1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\n * var result = compareDesc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> 1\n *\n * @example\n * // Sort the array of dates in reverse chronological order:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareDesc)\n * //=> [\n * //   Sun Jul 02 1995 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Wed Feb 11 1987 00:00:00\n * // ]\n */\nfunction compareDesc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft > timeRight) {\n    return -1\n  } else if (timeLeft < timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareDesc\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports) {\n\n/**\n * @category Common Helpers\n * @summary Is the given argument an instance of Date?\n *\n * @description\n * Is the given argument an instance of Date?\n *\n * @param {*} argument - the argument to check\n * @returns {Boolean} the given argument is an instance of Date\n *\n * @example\n * // Is 'mayonnaise' a Date?\n * var result = isDate('mayonnaise')\n * //=> false\n */\nfunction isDate (argument) {\n  return argument instanceof Date\n}\n\nmodule.exports = isDate\n\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar differenceInMilliseconds = __webpack_require__(204)\n\n/**\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * var result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nfunction differenceInSeconds (dirtyDateLeft, dirtyDateRight) {\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\n}\n\nmodule.exports = differenceInSeconds\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parse = __webpack_require__(18)\n\n/**\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * var result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nfunction differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n  return dateLeft.getTime() - dateRight.getTime()\n}\n\nmodule.exports = differenceInMilliseconds\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parse = __webpack_require__(18)\nvar differenceInCalendarMonths = __webpack_require__(206)\nvar compareAsc = __webpack_require__(207)\n\n/**\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 7\n */\nfunction differenceInMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var sign = compareAsc(dateLeft, dateRight)\n  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight))\n  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)\n\n  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n  // If so, result must be decreased by 1 in absolute value\n  var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign\n  return sign * (difference - isLastMonthNotFull)\n}\n\nmodule.exports = differenceInMonths\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parse = __webpack_require__(18)\n\n/**\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nfunction differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()\n  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()\n\n  return yearDiff * 12 + monthDiff\n}\n\nmodule.exports = differenceInCalendarMonths\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar parse = __webpack_require__(18)\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nfunction compareAsc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft < timeRight) {\n    return -1\n  } else if (timeLeft > timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareAsc\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar buildDistanceInWordsLocale = __webpack_require__(209)\nvar buildFormatLocale = __webpack_require__(210)\n\n/**\n * @category Locales\n * @summary English locale.\n */\nmodule.exports = {\n  distanceInWords: buildDistanceInWordsLocale(),\n  format: buildFormatLocale()\n}\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports) {\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'less than a second',\n      other: 'less than {{count}} seconds'\n    },\n\n    xSeconds: {\n      one: '1 second',\n      other: '{{count}} seconds'\n    },\n\n    halfAMinute: 'half a minute',\n\n    lessThanXMinutes: {\n      one: 'less than a minute',\n      other: 'less than {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'about 1 hour',\n      other: 'about {{count}} hours'\n    },\n\n    xHours: {\n      one: '1 hour',\n      other: '{{count}} hours'\n    },\n\n    xDays: {\n      one: '1 day',\n      other: '{{count}} days'\n    },\n\n    aboutXMonths: {\n      one: 'about 1 month',\n      other: 'about {{count}} months'\n    },\n\n    xMonths: {\n      one: '1 month',\n      other: '{{count}} months'\n    },\n\n    aboutXYears: {\n      one: 'about 1 year',\n      other: 'about {{count}} years'\n    },\n\n    xYears: {\n      one: '1 year',\n      other: '{{count}} years'\n    },\n\n    overXYears: {\n      one: 'over 1 year',\n      other: 'over {{count}} years'\n    },\n\n    almostXYears: {\n      one: 'almost 1 year',\n      other: 'almost {{count}} years'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'in ' + result\n      } else {\n        return result + ' ago'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar buildFormattingTokensRegExp = __webpack_require__(211)\n\nfunction buildFormatLocale () {\n  // Note: in English, the names of days of the week and months are capitalized.\n  // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n  // Generally, formatted dates should look like they are in the middle of a sentence,\n  // e.g. in Spanish language the weekdays and months should be in the lowercase.\n  var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n  var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n  var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\n  var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n  var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n  var meridiemUppercase = ['AM', 'PM']\n  var meridiemLowercase = ['am', 'pm']\n  var meridiemFull = ['a.m.', 'p.m.']\n\n  var formatters = {\n    // Month: Jan, Feb, ..., Dec\n    'MMM': function (date) {\n      return months3char[date.getMonth()]\n    },\n\n    // Month: January, February, ..., December\n    'MMMM': function (date) {\n      return monthsFull[date.getMonth()]\n    },\n\n    // Day of week: Su, Mo, ..., Sa\n    'dd': function (date) {\n      return weekdays2char[date.getDay()]\n    },\n\n    // Day of week: Sun, Mon, ..., Sat\n    'ddd': function (date) {\n      return weekdays3char[date.getDay()]\n    },\n\n    // Day of week: Sunday, Monday, ..., Saturday\n    'dddd': function (date) {\n      return weekdaysFull[date.getDay()]\n    },\n\n    // AM, PM\n    'A': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0]\n    },\n\n    // am, pm\n    'a': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0]\n    },\n\n    // a.m., p.m.\n    'aa': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0]\n    }\n  }\n\n  // Generate ordinal version of formatters: M -> Mo, D -> Do, etc.\n  var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W']\n  ordinalFormatters.forEach(function (formatterToken) {\n    formatters[formatterToken + 'o'] = function (date, formatters) {\n      return ordinal(formatters[formatterToken](date))\n    }\n  })\n\n  return {\n    formatters: formatters,\n    formattingTokensRegExp: buildFormattingTokensRegExp(formatters)\n  }\n}\n\nfunction ordinal (number) {\n  var rem100 = number % 100\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st'\n      case 2:\n        return number + 'nd'\n      case 3:\n        return number + 'rd'\n    }\n  }\n  return number + 'th'\n}\n\nmodule.exports = buildFormatLocale\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports) {\n\nvar commonFormatterKeys = [\n  'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',\n  'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',\n  'H', 'HH', 'h', 'hh', 'm', 'mm',\n  's', 'ss', 'S', 'SS', 'SSS',\n  'Z', 'ZZ', 'X', 'x'\n]\n\nfunction buildFormattingTokensRegExp (formatters) {\n  var formatterKeys = []\n  for (var key in formatters) {\n    if (formatters.hasOwnProperty(key)) {\n      formatterKeys.push(key)\n    }\n  }\n\n  var formattingTokens = commonFormatterKeys\n    .concat(formatterKeys)\n    .sort()\n    .reverse()\n  var formattingTokensRegExp = new RegExp(\n    '(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'\n  )\n\n  return formattingTokensRegExp\n}\n\nmodule.exports = buildFormattingTokensRegExp\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports) {\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '不到 1 秒',\n      other: '不到 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分钟',\n\n    lessThanXMinutes: {\n      one: '不到 1 分钟',\n      other: '不到 {{count}} 分钟'\n    },\n\n    xMinutes: {\n      one: '1 分钟',\n      other: '{{count}} 分钟'\n    },\n\n    xHours: {\n      one: '1 小时',\n      other: '{{count}} 小时'\n    },\n\n    aboutXHours: {\n      one: '大约 1 小时',\n      other: '大约 {{count}} 小时'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大约 1 个月',\n      other: '大约 {{count}} 个月'\n    },\n\n    xMonths: {\n      one: '1 个月',\n      other: '{{count}} 个月'\n    },\n\n    aboutXYears: {\n      one: '大约 1 年',\n      other: '大约 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超过 1 年',\n      other: '超过 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '将近 1 年',\n      other: '将近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '内'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports) {\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '少於 1 秒',\n      other: '少於 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分鐘',\n\n    lessThanXMinutes: {\n      one: '少於 1 分鐘',\n      other: '少於 {{count}} 分鐘'\n    },\n\n    xMinutes: {\n      one: '1 分鐘',\n      other: '{{count}} 分鐘'\n    },\n\n    xHours: {\n      one: '1 小時',\n      other: '{{count}} 小時'\n    },\n\n    aboutXHours: {\n      one: '大約 1 小時',\n      other: '大約 {{count}} 小時'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大約 1 個月',\n      other: '大約 {{count}} 個月'\n    },\n\n    xMonths: {\n      one: '1 個月',\n      other: '{{count}} 個月'\n    },\n\n    aboutXYears: {\n      one: '大約 1 年',\n      other: '大約 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超過 1 年',\n      other: '超過 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '將近 1 年',\n      other: '將近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '內'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports) {\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'menos de un segundo',\n      other: 'menos de {{count}} segundos'\n    },\n\n    xSeconds: {\n      one: '1 segundo',\n      other: '{{count}} segundos'\n    },\n\n    halfAMinute: 'medio minuto',\n\n    lessThanXMinutes: {\n      one: 'menos de un minuto',\n      other: 'menos de {{count}} minutos'\n    },\n\n    xMinutes: {\n      one: '1 minuto',\n      other: '{{count}} minutos'\n    },\n\n    aboutXHours: {\n      one: 'alrededor de 1 hora',\n      other: 'alrededor de {{count}} horas'\n    },\n\n    xHours: {\n      one: '1 hora',\n      other: '{{count}} horas'\n    },\n\n    xDays: {\n      one: '1 día',\n      other: '{{count}} días'\n    },\n\n    aboutXMonths: {\n      one: 'alrededor de 1 mes',\n      other: 'alrededor de {{count}} meses'\n    },\n\n    xMonths: {\n      one: '1 mes',\n      other: '{{count}} meses'\n    },\n\n    aboutXYears: {\n      one: 'alrededor de 1 año',\n      other: 'alrededor de {{count}} años'\n    },\n\n    xYears: {\n      one: '1 año',\n      other: '{{count}} años'\n    },\n\n    overXYears: {\n      one: 'más de 1 año',\n      other: 'más de {{count}} años'\n    },\n\n    almostXYears: {\n      one: 'casi 1 año',\n      other: 'casi {{count}} años'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'en ' + result\n      } else {\n        return 'hace ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports) {\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'moins d’une seconde',\n      other: 'moins de {{count}} secondes'\n    },\n\n    xSeconds: {\n      one: '1 seconde',\n      other: '{{count}} secondes'\n    },\n\n    halfAMinute: '30 secondes',\n\n    lessThanXMinutes: {\n      one: 'moins d’une minute',\n      other: 'moins de {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'environ 1 heure',\n      other: 'environ {{count}} heures'\n    },\n\n    xHours: {\n      one: '1 heure',\n      other: '{{count}} heures'\n    },\n\n    xDays: {\n      one: '1 jour',\n      other: '{{count}} jours'\n    },\n\n    aboutXMonths: {\n      one: 'environ 1 mois',\n      other: 'environ {{count}} mois'\n    },\n\n    xMonths: {\n      one: '1 mois',\n      other: '{{count}} mois'\n    },\n\n    aboutXYears: {\n      one: 'environ 1 an',\n      other: 'environ {{count}} ans'\n    },\n\n    xYears: {\n      one: '1 an',\n      other: '{{count}} ans'\n    },\n\n    overXYears: {\n      one: 'plus d’un an',\n      other: 'plus de {{count}} ans'\n    },\n\n    almostXYears: {\n      one: 'presqu’un an',\n      other: 'presque {{count}} ans'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'dans ' + result\n      } else {\n        return 'il y a ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports) {\n\nfunction declension (scheme, count) {\n  // scheme for count=1 exists\n  if (scheme.one !== undefined && count === 1) {\n    return scheme.one\n  }\n\n  var rem10 = count % 10\n  var rem100 = count % 100\n\n  // 1, 21, 31, ...\n  if (rem10 === 1 && rem100 !== 11) {\n    return scheme.singularNominative.replace('{{count}}', count)\n\n  // 2, 3, 4, 22, 23, 24, 32 ...\n  } else if ((rem10 >= 2 && rem10 <= 4) && (rem100 < 10 || rem100 > 20)) {\n    return scheme.singularGenitive.replace('{{count}}', count)\n\n  // 5, 6, 7, 8, 9, 10, 11, ...\n  } else {\n    return scheme.pluralGenitive.replace('{{count}}', count)\n  }\n}\n\nfunction buildLocalizeTokenFn (scheme) {\n  return function (count, options) {\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        if (scheme.future) {\n          return declension(scheme.future, count)\n        } else {\n          return 'через ' + declension(scheme.regular, count)\n        }\n      } else {\n        if (scheme.past) {\n          return declension(scheme.past, count)\n        } else {\n          return declension(scheme.regular, count) + ' назад'\n        }\n      }\n    } else {\n      return declension(scheme.regular, count)\n    }\n  }\n}\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше секунды',\n        singularNominative: 'меньше {{count}} секунды',\n        singularGenitive: 'меньше {{count}} секунд',\n        pluralGenitive: 'меньше {{count}} секунд'\n      },\n      future: {\n        one: 'меньше, чем через секунду',\n        singularNominative: 'меньше, чем через {{count}} секунду',\n        singularGenitive: 'меньше, чем через {{count}} секунды',\n        pluralGenitive: 'меньше, чем через {{count}} секунд'\n      }\n    }),\n\n    xSeconds: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} секунда',\n        singularGenitive: '{{count}} секунды',\n        pluralGenitive: '{{count}} секунд'\n      },\n      past: {\n        singularNominative: '{{count}} секунду назад',\n        singularGenitive: '{{count}} секунды назад',\n        pluralGenitive: '{{count}} секунд назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} секунду',\n        singularGenitive: 'через {{count}} секунды',\n        pluralGenitive: 'через {{count}} секунд'\n      }\n    }),\n\n    halfAMinute: function (_, options) {\n      if (options.addSuffix) {\n        if (options.comparison > 0) {\n          return 'через полминуты'\n        } else {\n          return 'полминуты назад'\n        }\n      }\n\n      return 'полминуты'\n    },\n\n    lessThanXMinutes: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше минуты',\n        singularNominative: 'меньше {{count}} минуты',\n        singularGenitive: 'меньше {{count}} минут',\n        pluralGenitive: 'меньше {{count}} минут'\n      },\n      future: {\n        one: 'меньше, чем через минуту',\n        singularNominative: 'меньше, чем через {{count}} минуту',\n        singularGenitive: 'меньше, чем через {{count}} минуты',\n        pluralGenitive: 'меньше, чем через {{count}} минут'\n      }\n    }),\n\n    xMinutes: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} минута',\n        singularGenitive: '{{count}} минуты',\n        pluralGenitive: '{{count}} минут'\n      },\n      past: {\n        singularNominative: '{{count}} минуту назад',\n        singularGenitive: '{{count}} минуты назад',\n        pluralGenitive: '{{count}} минут назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} минуту',\n        singularGenitive: 'через {{count}} минуты',\n        pluralGenitive: 'через {{count}} минут'\n      }\n    }),\n\n    aboutXHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} часа',\n        singularGenitive: 'около {{count}} часов',\n        pluralGenitive: 'около {{count}} часов'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} час',\n        singularGenitive: 'приблизительно через {{count}} часа',\n        pluralGenitive: 'приблизительно через {{count}} часов'\n      }\n    }),\n\n    xHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} час',\n        singularGenitive: '{{count}} часа',\n        pluralGenitive: '{{count}} часов'\n      }\n    }),\n\n    xDays: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} день',\n        singularGenitive: '{{count}} дня',\n        pluralGenitive: '{{count}} дней'\n      }\n    }),\n\n    aboutXMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} месяца',\n        singularGenitive: 'около {{count}} месяцев',\n        pluralGenitive: 'около {{count}} месяцев'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} месяц',\n        singularGenitive: 'приблизительно через {{count}} месяца',\n        pluralGenitive: 'приблизительно через {{count}} месяцев'\n      }\n    }),\n\n    xMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} месяц',\n        singularGenitive: '{{count}} месяца',\n        pluralGenitive: '{{count}} месяцев'\n      }\n    }),\n\n    aboutXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} года',\n        singularGenitive: 'около {{count}} лет',\n        pluralGenitive: 'около {{count}} лет'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} год',\n        singularGenitive: 'приблизительно через {{count}} года',\n        pluralGenitive: 'приблизительно через {{count}} лет'\n      }\n    }),\n\n    xYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} год',\n        singularGenitive: '{{count}} года',\n        pluralGenitive: '{{count}} лет'\n      }\n    }),\n\n    overXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'больше {{count}} года',\n        singularGenitive: 'больше {{count}} лет',\n        pluralGenitive: 'больше {{count}} лет'\n      },\n      future: {\n        singularNominative: 'больше, чем через {{count}} год',\n        singularGenitive: 'больше, чем через {{count}} года',\n        pluralGenitive: 'больше, чем через {{count}} лет'\n      }\n    }),\n\n    almostXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'почти {{count}} год',\n        singularGenitive: 'почти {{count}} года',\n        pluralGenitive: 'почти {{count}} лет'\n      },\n      future: {\n        singularNominative: 'почти через {{count}} год',\n        singularGenitive: 'почти через {{count}} года',\n        pluralGenitive: 'почти через {{count}} лет'\n      }\n    })\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n    return distanceInWordsLocale[token](count, options)\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar GT_ACCESS_TOKEN = exports.GT_ACCESS_TOKEN = 'GT_ACCESS_TOKEN';\nvar GT_VERSION = exports.GT_VERSION = \"1.6.2\"; // eslint-disable-line\nvar GT_COMMENT = exports.GT_COMMENT = 'GT_COMMENT';\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _toConsumableArray2 = __webpack_require__(220);\n\nvar _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);\n\nvar _util = __webpack_require__(71);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getQL = function getQL(vars, pagerDirection) {\n  var cursorDirection = pagerDirection === 'last' ? 'before' : 'after';\n  var ql = '\\n  query getIssueAndComments(\\n    $owner: String!,\\n    $repo: String!,\\n    $id: Int!,\\n    $cursor: String,\\n    $pageSize: Int!\\n  ) {\\n    repository(owner: $owner, name: $repo) {\\n      issue(number: $id) {\\n        title\\n        url\\n        bodyHTML\\n        createdAt\\n        comments(' + pagerDirection + ': $pageSize, ' + cursorDirection + ': $cursor) {\\n          totalCount\\n          pageInfo {\\n            ' + (pagerDirection === 'last' ? 'hasPreviousPage' : 'hasNextPage') + '\\n            ' + (cursorDirection === 'before' ? 'startCursor' : 'endCursor') + '\\n          }\\n          nodes {\\n            id\\n            databaseId\\n            author {\\n              avatarUrl\\n              login\\n              url\\n            }\\n            bodyHTML\\n            body\\n            createdAt\\n            reactions(first: 100, content: HEART) {\\n              totalCount\\n              viewerHasReacted\\n              pageInfo{\\n                hasNextPage\\n              }\\n              nodes {\\n                id\\n                databaseId\\n                user {\\n                  login\\n                }\\n              }\\n            }\\n          }\\n        }\\n      }\\n    }\\n  }\\n  ';\n\n  if (vars.cursor === null) delete vars.cursor;\n\n  return {\n    operationName: 'getIssueAndComments',\n    query: ql,\n    variables: vars\n  };\n};\n\nfunction getComments(issue) {\n  var _this = this;\n\n  var _options = this.options,\n      owner = _options.owner,\n      repo = _options.repo,\n      perPage = _options.perPage,\n      pagerDirection = _options.pagerDirection,\n      defaultAuthor = _options.defaultAuthor;\n  var _state = this.state,\n      cursor = _state.cursor,\n      comments = _state.comments;\n\n  return _util.axiosGithub.post('/graphql', getQL({\n    owner: owner,\n    repo: repo,\n    id: issue.number,\n    pageSize: perPage,\n    cursor: cursor\n  }, pagerDirection), {\n    headers: {\n      Authorization: 'bearer ' + this.accessToken\n    }\n  }).then(function (res) {\n    var data = res.data.data.repository.issue.comments;\n    var items = data.nodes.map(function (node) {\n      var author = node.author || defaultAuthor;\n\n      return {\n        id: node.databaseId,\n        gId: node.id,\n        user: {\n          avatar_url: author.avatarUrl,\n          login: author.login,\n          html_url: author.url\n        },\n        created_at: node.createdAt,\n        body_html: node.bodyHTML,\n        body: node.body,\n        html_url: 'https://github.com/' + owner + '/' + repo + '/issues/' + issue.number + '#issuecomment-' + node.databaseId,\n        reactions: node.reactions\n      };\n    });\n\n    var cs = void 0;\n\n    if (pagerDirection === 'last') {\n      cs = [].concat((0, _toConsumableArray3.default)(items), (0, _toConsumableArray3.default)(comments));\n    } else {\n      cs = [].concat((0, _toConsumableArray3.default)(comments), (0, _toConsumableArray3.default)(items));\n    }\n\n    var isLoadOver = data.pageInfo.hasPreviousPage === false || data.pageInfo.hasNextPage === false;\n    _this.setState({\n      comments: cs,\n      isLoadOver: isLoadOver,\n      cursor: data.pageInfo.startCursor || data.pageInfo.endCursor\n    });\n    return cs;\n  });\n}\n\nexports.default = getComments;\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _from = __webpack_require__(221);\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(222), __esModule: true };\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(20);\n__webpack_require__(223);\nmodule.exports = __webpack_require__(0).Array.from;\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(13);\nvar $export = __webpack_require__(4);\nvar toObject = __webpack_require__(17);\nvar call = __webpack_require__(57);\nvar isArrayIter = __webpack_require__(58);\nvar toLength = __webpack_require__(37);\nvar createProperty = __webpack_require__(224);\nvar getIterFn = __webpack_require__(42);\n\n$export($export.S + $export.F * !__webpack_require__(63)(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(7);\nvar createDesc = __webpack_require__(19);\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// gitalk.min.js","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = merge(result[key], val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (typeof result[key] === 'object' && typeof val === 'object') {\n      result[key] = deepMerge(result[key], val);\n    } else if (typeof val === 'object') {\n      result[key] = deepMerge({}, val);\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  deepMerge: deepMerge,\n  extend: extend,\n  trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/utils.js\n// module id = 3\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && has(exports, key)) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_export.js\n// module id = 4\n// module chunks = 0","import PropTypes from 'prop-types';\nimport { Component, cloneElement, h, options, render } from 'preact';\n\nvar version = '15.1.0'; // trick libraries to think we are react\n\nvar ELEMENTS = 'a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan'.split(' ');\n\nvar REACT_ELEMENT_TYPE = (typeof Symbol!=='undefined' && Symbol.for && Symbol.for('react.element')) || 0xeac7;\n\nvar COMPONENT_WRAPPER_KEY = typeof Symbol!=='undefined' ? Symbol.for('__preactCompatWrapper') : '__preactCompatWrapper';\n\n// don't autobind these methods since they already have guaranteed context.\nvar AUTOBIND_BLACKLIST = {\n\tconstructor: 1,\n\trender: 1,\n\tshouldComponentUpdate: 1,\n\tcomponentWillReceiveProps: 1,\n\tcomponentWillUpdate: 1,\n\tcomponentDidUpdate: 1,\n\tcomponentWillMount: 1,\n\tcomponentDidMount: 1,\n\tcomponentWillUnmount: 1,\n\tcomponentDidUnmount: 1\n};\n\n\nvar CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/;\n\n\nvar BYPASS_HOOK = {};\n\n/*global process*/\nvar DEV = typeof process==='undefined' || !process.env || process.env.NODE_ENV!=='production';\n\n// a component that renders nothing. Used to replace components for unmountComponentAtNode.\nfunction EmptyComponent() { return null; }\n\n\n\n// make react think we're react.\nvar VNode = h('a', null).constructor;\nVNode.prototype.$$typeof = REACT_ELEMENT_TYPE;\nVNode.prototype.preactCompatUpgraded = false;\nVNode.prototype.preactCompatNormalized = false;\n\nObject.defineProperty(VNode.prototype, 'type', {\n\tget: function() { return this.nodeName; },\n\tset: function(v) { this.nodeName = v; },\n\tconfigurable:true\n});\n\nObject.defineProperty(VNode.prototype, 'props', {\n\tget: function() { return this.attributes; },\n\tset: function(v) { this.attributes = v; },\n\tconfigurable:true\n});\n\n\n\nvar oldEventHook = options.event;\noptions.event = function (e) {\n\tif (oldEventHook) { e = oldEventHook(e); }\n\te.persist = Object;\n\te.nativeEvent = e;\n\treturn e;\n};\n\n\nvar oldVnodeHook = options.vnode;\noptions.vnode = function (vnode) {\n\tif (!vnode.preactCompatUpgraded) {\n\t\tvnode.preactCompatUpgraded = true;\n\n\t\tvar tag = vnode.nodeName,\n\t\t\tattrs = vnode.attributes = extend({}, vnode.attributes);\n\n\t\tif (typeof tag==='function') {\n\t\t\tif (tag[COMPONENT_WRAPPER_KEY]===true || (tag.prototype && 'isReactComponent' in tag.prototype)) {\n\t\t\t\tif (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }\n\t\t\t\tif (vnode.children) { attrs.children = vnode.children; }\n\n\t\t\t\tif (!vnode.preactCompatNormalized) {\n\t\t\t\t\tnormalizeVNode(vnode);\n\t\t\t\t}\n\t\t\t\thandleComponentVNode(vnode);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (vnode.children && String(vnode.children)==='') { vnode.children = undefined; }\n\t\t\tif (vnode.children) { attrs.children = vnode.children; }\n\n\t\t\tif (attrs.defaultValue) {\n\t\t\t\tif (!attrs.value && attrs.value!==0) {\n\t\t\t\t\tattrs.value = attrs.defaultValue;\n\t\t\t\t}\n\t\t\t\tdelete attrs.defaultValue;\n\t\t\t}\n\n\t\t\thandleElementVNode(vnode, attrs);\n\t\t}\n\t}\n\n\tif (oldVnodeHook) { oldVnodeHook(vnode); }\n};\n\nfunction handleComponentVNode(vnode) {\n\tvar tag = vnode.nodeName,\n\t\ta = vnode.attributes;\n\n\tvnode.attributes = {};\n\tif (tag.defaultProps) { extend(vnode.attributes, tag.defaultProps); }\n\tif (a) { extend(vnode.attributes, a); }\n}\n\nfunction handleElementVNode(vnode, a) {\n\tvar shouldSanitize, attrs, i;\n\tif (a) {\n\t\tfor (i in a) { if ((shouldSanitize = CAMEL_PROPS.test(i))) { break; } }\n\t\tif (shouldSanitize) {\n\t\t\tattrs = vnode.attributes = {};\n\t\t\tfor (i in a) {\n\t\t\t\tif (a.hasOwnProperty(i)) {\n\t\t\t\t\tattrs[ CAMEL_PROPS.test(i) ? i.replace(/([A-Z0-9])/, '-$1').toLowerCase() : i ] = a[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n// proxy render() since React returns a Component reference.\nfunction render$1(vnode, parent, callback) {\n\tvar prev = parent && parent._preactCompatRendered && parent._preactCompatRendered.base;\n\n\t// ignore impossible previous renders\n\tif (prev && prev.parentNode!==parent) { prev = null; }\n\n\t// default to first Element child\n\tif (!prev) { prev = parent.children[0]; }\n\n\t// remove unaffected siblings\n\tfor (var i=parent.childNodes.length; i--; ) {\n\t\tif (parent.childNodes[i]!==prev) {\n\t\t\tparent.removeChild(parent.childNodes[i]);\n\t\t}\n\t}\n\n\tvar out = render(vnode, parent, prev);\n\tif (parent) { parent._preactCompatRendered = out && (out._component || { base: out }); }\n\tif (typeof callback==='function') { callback(); }\n\treturn out && out._component || out;\n}\n\n\nvar ContextProvider = function () {};\n\nContextProvider.prototype.getChildContext = function () {\n\treturn this.props.context;\n};\nContextProvider.prototype.render = function (props) {\n\treturn props.children[0];\n};\n\nfunction renderSubtreeIntoContainer(parentComponent, vnode, container, callback) {\n\tvar wrap = h(ContextProvider, { context: parentComponent.context }, vnode);\n\tvar c = render$1(wrap, container);\n\tif (callback) { callback(c); }\n\treturn c._component || c.base;\n}\n\n\nfunction unmountComponentAtNode(container) {\n\tvar existing = container._preactCompatRendered && container._preactCompatRendered.base;\n\tif (existing && existing.parentNode===container) {\n\t\trender(h(EmptyComponent), container, existing);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n\nvar ARR = [];\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nvar Children = {\n\tmap: function(children, fn, ctx) {\n\t\tif (children == null) { return null; }\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) { fn = fn.bind(ctx); }\n\t\treturn children.map(fn);\n\t},\n\tforEach: function(children, fn, ctx) {\n\t\tif (children == null) { return null; }\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) { fn = fn.bind(ctx); }\n\t\tchildren.forEach(fn);\n\t},\n\tcount: function(children) {\n\t\treturn children && children.length || 0;\n\t},\n\tonly: function(children) {\n\t\tchildren = Children.toArray(children);\n\t\tif (children.length!==1) { throw new Error('Children.only() expects only one child.'); }\n\t\treturn children[0];\n\t},\n\ttoArray: function(children) {\n\t\tif (children == null) { return []; }\n\t\treturn Array.isArray && Array.isArray(children) ? children : ARR.concat(children);\n\t}\n};\n\n\n/** Track current render() component for ref assignment */\nvar currentComponent;\n\n\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n\nvar DOM = {};\nfor (var i=ELEMENTS.length; i--; ) {\n\tDOM[ELEMENTS[i]] = createFactory(ELEMENTS[i]);\n}\n\nfunction upgradeToVNodes(arr, offset) {\n\tfor (var i=offset || 0; i<arr.length; i++) {\n\t\tvar obj = arr[i];\n\t\tif (Array.isArray(obj)) {\n\t\t\tupgradeToVNodes(obj);\n\t\t}\n\t\telse if (obj && typeof obj==='object' && !isValidElement(obj) && ((obj.props && obj.type) || (obj.attributes && obj.nodeName) || obj.children)) {\n\t\t\tarr[i] = createElement(obj.type || obj.nodeName, obj.props || obj.attributes, obj.children);\n\t\t}\n\t}\n}\n\nfunction isStatelessComponent(c) {\n\treturn typeof c==='function' && !(c.prototype && c.prototype.render);\n}\n\n\n// wraps stateless functional components in a PropTypes validator\nfunction wrapStatelessComponent(WrappedComponent) {\n\treturn createClass({\n\t\tdisplayName: WrappedComponent.displayName || WrappedComponent.name,\n\t\trender: function() {\n\t\t\treturn WrappedComponent(this.props, this.context);\n\t\t}\n\t});\n}\n\n\nfunction statelessComponentHook(Ctor) {\n\tvar Wrapped = Ctor[COMPONENT_WRAPPER_KEY];\n\tif (Wrapped) { return Wrapped===true ? Ctor : Wrapped; }\n\n\tWrapped = wrapStatelessComponent(Ctor);\n\n\tObject.defineProperty(Wrapped, COMPONENT_WRAPPER_KEY, { configurable:true, value:true });\n\tWrapped.displayName = Ctor.displayName;\n\tWrapped.propTypes = Ctor.propTypes;\n\tWrapped.defaultProps = Ctor.defaultProps;\n\n\tObject.defineProperty(Ctor, COMPONENT_WRAPPER_KEY, { configurable:true, value:Wrapped });\n\n\treturn Wrapped;\n}\n\n\nfunction createElement() {\n\tvar args = [], len = arguments.length;\n\twhile ( len-- ) args[ len ] = arguments[ len ];\n\n\tupgradeToVNodes(args, 2);\n\treturn normalizeVNode(h.apply(void 0, args));\n}\n\n\nfunction normalizeVNode(vnode) {\n\tvnode.preactCompatNormalized = true;\n\n\tapplyClassName(vnode);\n\n\tif (isStatelessComponent(vnode.nodeName)) {\n\t\tvnode.nodeName = statelessComponentHook(vnode.nodeName);\n\t}\n\n\tvar ref = vnode.attributes.ref,\n\t\ttype = ref && typeof ref;\n\tif (currentComponent && (type==='string' || type==='number')) {\n\t\tvnode.attributes.ref = createStringRefProxy(ref, currentComponent);\n\t}\n\n\tapplyEventNormalization(vnode);\n\n\treturn vnode;\n}\n\n\nfunction cloneElement$1(element, props) {\n\tvar children = [], len = arguments.length - 2;\n\twhile ( len-- > 0 ) children[ len ] = arguments[ len + 2 ];\n\n\tif (!isValidElement(element)) { return element; }\n\tvar elementProps = element.attributes || element.props;\n\tvar node = h(\n\t\telement.nodeName || element.type,\n\t\telementProps,\n\t\telement.children || elementProps && elementProps.children\n\t);\n\t// Only provide the 3rd argument if needed.\n\t// Arguments 3+ overwrite element.children in preactCloneElement\n\tvar cloneArgs = [node, props];\n\tif (children && children.length) {\n\t\tcloneArgs.push(children);\n\t}\n\telse if (props && props.children) {\n\t\tcloneArgs.push(props.children);\n\t}\n\treturn normalizeVNode(cloneElement.apply(void 0, cloneArgs));\n}\n\n\nfunction isValidElement(element) {\n\treturn element && ((element instanceof VNode) || element.$$typeof===REACT_ELEMENT_TYPE);\n}\n\n\nfunction createStringRefProxy(name, component) {\n\treturn component._refProxies[name] || (component._refProxies[name] = function (resolved) {\n\t\tif (component && component.refs) {\n\t\t\tcomponent.refs[name] = resolved;\n\t\t\tif (resolved===null) {\n\t\t\t\tdelete component._refProxies[name];\n\t\t\t\tcomponent = null;\n\t\t\t}\n\t\t}\n\t});\n}\n\n\nfunction applyEventNormalization(ref) {\n\tvar nodeName = ref.nodeName;\n\tvar attributes = ref.attributes;\n\n\tif (!attributes || typeof nodeName!=='string') { return; }\n\tvar props = {};\n\tfor (var i in attributes) {\n\t\tprops[i.toLowerCase()] = i;\n\t}\n\tif (props.ondoubleclick) {\n\t\tattributes.ondblclick = attributes[props.ondoubleclick];\n\t\tdelete attributes[props.ondoubleclick];\n\t}\n\t// for *textual inputs* (incl textarea), normalize `onChange` -> `onInput`:\n\tif (props.onchange && (nodeName==='textarea' || (nodeName.toLowerCase()==='input' && !/^fil|che|rad/i.test(attributes.type)))) {\n\t\tvar normalized = props.oninput || 'oninput';\n\t\tif (!attributes[normalized]) {\n\t\t\tattributes[normalized] = multihook([attributes[normalized], attributes[props.onchange]]);\n\t\t\tdelete attributes[props.onchange];\n\t\t}\n\t}\n}\n\n\nfunction applyClassName(ref) {\n\tvar attributes = ref.attributes;\n\n\tif (!attributes) { return; }\n\tvar cl = attributes.className || attributes.class;\n\tif (cl) { attributes.className = cl; }\n}\n\n\nfunction extend(base, props) {\n\tfor (var key in props) {\n\t\tif (props.hasOwnProperty(key)) {\n\t\t\tbase[key] = props[key];\n\t\t}\n\t}\n\treturn base;\n}\n\n\nfunction shallowDiffers(a, b) {\n\tfor (var i in a) { if (!(i in b)) { return true; } }\n\tfor (var i$1 in b) { if (a[i$1]!==b[i$1]) { return true; } }\n\treturn false;\n}\n\n\nfunction findDOMNode(component) {\n\treturn component && component.base || component;\n}\n\n\nfunction F(){}\n\nfunction createClass(obj) {\n\tfunction cl(props, context) {\n\t\tbindAll(this);\n\t\tComponent$1.call(this, props, context, BYPASS_HOOK);\n\t\tnewComponentHook.call(this, props, context);\n\t}\n\n\tobj = extend({ constructor: cl }, obj);\n\n\t// We need to apply mixins here so that getDefaultProps is correctly mixed\n\tif (obj.mixins) {\n\t\tapplyMixins(obj, collateMixins(obj.mixins));\n\t}\n\tif (obj.statics) {\n\t\textend(cl, obj.statics);\n\t}\n\tif (obj.propTypes) {\n\t\tcl.propTypes = obj.propTypes;\n\t}\n\tif (obj.defaultProps) {\n\t\tcl.defaultProps = obj.defaultProps;\n\t}\n\tif (obj.getDefaultProps) {\n\t\tcl.defaultProps = obj.getDefaultProps();\n\t}\n\n\tF.prototype = Component$1.prototype;\n\tcl.prototype = extend(new F(), obj);\n\n\tcl.displayName = obj.displayName || 'Component';\n\n\treturn cl;\n}\n\n\n// Flatten an Array of mixins to a map of method name to mixin implementations\nfunction collateMixins(mixins) {\n\tvar keyed = {};\n\tfor (var i=0; i<mixins.length; i++) {\n\t\tvar mixin = mixins[i];\n\t\tfor (var key in mixin) {\n\t\t\tif (mixin.hasOwnProperty(key) && typeof mixin[key]==='function') {\n\t\t\t\t(keyed[key] || (keyed[key]=[])).push(mixin[key]);\n\t\t\t}\n\t\t}\n\t}\n\treturn keyed;\n}\n\n\n// apply a mapping of Arrays of mixin methods to a component prototype\nfunction applyMixins(proto, mixins) {\n\tfor (var key in mixins) { if (mixins.hasOwnProperty(key)) {\n\t\tproto[key] = multihook(\n\t\t\tmixins[key].concat(proto[key] || ARR),\n\t\t\tkey==='getDefaultProps' || key==='getInitialState' || key==='getChildContext'\n\t\t);\n\t} }\n}\n\n\nfunction bindAll(ctx) {\n\tfor (var i in ctx) {\n\t\tvar v = ctx[i];\n\t\tif (typeof v==='function' && !v.__bound && !AUTOBIND_BLACKLIST.hasOwnProperty(i)) {\n\t\t\t(ctx[i] = v.bind(ctx)).__bound = true;\n\t\t}\n\t}\n}\n\n\nfunction callMethod(ctx, m, args) {\n\tif (typeof m==='string') {\n\t\tm = ctx.constructor.prototype[m];\n\t}\n\tif (typeof m==='function') {\n\t\treturn m.apply(ctx, args);\n\t}\n}\n\nfunction multihook(hooks, skipDuplicates) {\n\treturn function() {\n\t\tvar arguments$1 = arguments;\n\t\tvar this$1 = this;\n\n\t\tvar ret;\n\t\tfor (var i=0; i<hooks.length; i++) {\n\t\t\tvar r = callMethod(this$1, hooks[i], arguments$1);\n\n\t\t\tif (skipDuplicates && r!=null) {\n\t\t\t\tif (!ret) { ret = {}; }\n\t\t\t\tfor (var key in r) { if (r.hasOwnProperty(key)) {\n\t\t\t\t\tret[key] = r[key];\n\t\t\t\t} }\n\t\t\t}\n\t\t\telse if (typeof r!=='undefined') { ret = r; }\n\t\t}\n\t\treturn ret;\n\t};\n}\n\n\nfunction newComponentHook(props, context) {\n\tpropsHook.call(this, props, context);\n\tthis.componentWillReceiveProps = multihook([propsHook, this.componentWillReceiveProps || 'componentWillReceiveProps']);\n\tthis.render = multihook([propsHook, beforeRender, this.render || 'render', afterRender]);\n}\n\n\nfunction propsHook(props, context) {\n\tif (!props) { return; }\n\n\t// React annoyingly special-cases single children, and some react components are ridiculously strict about this.\n\tvar c = props.children;\n\tif (c && Array.isArray(c) && c.length===1) {\n\t\tprops.children = c[0];\n\n\t\t// but its totally still going to be an Array.\n\t\tif (props.children && typeof props.children==='object') {\n\t\t\tprops.children.length = 1;\n\t\t\tprops.children[0] = props.children;\n\t\t}\n\t}\n\n\t// add proptype checking\n\tif (DEV) {\n\t\tvar ctor = typeof this==='function' ? this : this.constructor,\n\t\t\tpropTypes = this.propTypes || ctor.propTypes;\n\t\tvar displayName = this.displayName || ctor.name;\n\n\t\tif (propTypes) {\n\t\t\tPropTypes.checkPropTypes(propTypes, props, 'prop', displayName);\n\t\t}\n\t}\n}\n\n\nfunction beforeRender(props) {\n\tcurrentComponent = this;\n}\n\nfunction afterRender() {\n\tif (currentComponent===this) {\n\t\tcurrentComponent = null;\n\t}\n}\n\n\n\nfunction Component$1(props, context, opts) {\n\tComponent.call(this, props, context);\n\tthis.state = this.getInitialState ? this.getInitialState() : {};\n\tthis.refs = {};\n\tthis._refProxies = {};\n\tif (opts!==BYPASS_HOOK) {\n\t\tnewComponentHook.call(this, props, context);\n\t}\n}\nextend(Component$1.prototype = new Component(), {\n\tconstructor: Component$1,\n\n\tisReactComponent: {},\n\n\treplaceState: function(state, callback) {\n\t\tvar this$1 = this;\n\n\t\tthis.setState(state, callback);\n\t\tfor (var i in this$1.state) {\n\t\t\tif (!(i in state)) {\n\t\t\t\tdelete this$1.state[i];\n\t\t\t}\n\t\t}\n\t},\n\n\tgetDOMNode: function() {\n\t\treturn this.base;\n\t},\n\n\tisMounted: function() {\n\t\treturn !!this.base;\n\t}\n});\n\n\n\nfunction PureComponent(props, context) {\n\tComponent$1.call(this, props, context);\n}\nF.prototype = Component$1.prototype;\nPureComponent.prototype = new F();\nPureComponent.prototype.isPureReactComponent = true;\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n\n\n\nvar index = {\n\tversion: version,\n\tDOM: DOM,\n\tPropTypes: PropTypes,\n\tChildren: Children,\n\trender: render$1,\n\tcreateClass: createClass,\n\tcreateFactory: createFactory,\n\tcreateElement: createElement,\n\tcloneElement: cloneElement$1,\n\tisValidElement: isValidElement,\n\tfindDOMNode: findDOMNode,\n\tunmountComponentAtNode: unmountComponentAtNode,\n\tComponent: Component$1,\n\tPureComponent: PureComponent,\n\tunstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n\nexport { version, DOM, PropTypes, Children, render$1 as render, createClass, createFactory, createElement, cloneElement$1 as cloneElement, isValidElement, findDOMNode, unmountComponentAtNode, Component$1 as Component, PureComponent, renderSubtreeIntoContainer as unstable_renderSubtreeIntoContainer };export default index;\n//# sourceMappingURL=preact-compat.es.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/preact-compat/dist/preact-compat.es.js\n// module id = 5\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_an-object.js\n// module id = 6\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-dp.js\n// module id = 7\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_descriptors.js\n// module id = 8\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/process/browser.js\n// module id = 9\n// module chunks = 0","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-object.js\n// module id = 10\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_hide.js\n// module id = 11\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_has.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_fails.js\n// module id = 14\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iterators.js\n// module id = 15\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-iobject.js\n// module id = 16\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-object.js\n// module id = 17\n// module chunks = 0","var isDate = require('../is_date/index.js')\n\nvar MILLISECONDS_IN_HOUR = 3600000\nvar MILLISECONDS_IN_MINUTE = 60000\nvar DEFAULT_ADDITIONAL_DIGITS = 2\n\nvar parseTokenDateTimeDelimeter = /[T ]/\nvar parseTokenPlainTime = /:/\n\n// year tokens\nvar parseTokenYY = /^(\\d{2})$/\nvar parseTokensYYY = [\n  /^([+-]\\d{2})$/, // 0 additional digits\n  /^([+-]\\d{3})$/, // 1 additional digit\n  /^([+-]\\d{4})$/ // 2 additional digits\n]\n\nvar parseTokenYYYY = /^(\\d{4})/\nvar parseTokensYYYYY = [\n  /^([+-]\\d{4})/, // 0 additional digits\n  /^([+-]\\d{5})/, // 1 additional digit\n  /^([+-]\\d{6})/ // 2 additional digits\n]\n\n// date tokens\nvar parseTokenMM = /^-(\\d{2})$/\nvar parseTokenDDD = /^-?(\\d{3})$/\nvar parseTokenMMDD = /^-?(\\d{2})-?(\\d{2})$/\nvar parseTokenWww = /^-?W(\\d{2})$/\nvar parseTokenWwwD = /^-?W(\\d{2})-?(\\d{1})$/\n\n// time tokens\nvar parseTokenHH = /^(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMM = /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\nvar parseTokenHHMMSS = /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/\n\n// timezone tokens\nvar parseTokenTimezone = /([Z+-].*)$/\nvar parseTokenTimezoneZ = /^(Z)$/\nvar parseTokenTimezoneHH = /^([+-])(\\d{2})$/\nvar parseTokenTimezoneHHMM = /^([+-])(\\d{2}):?(\\d{2})$/\n\n/**\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If all above fails, the function passes the given argument to Date constructor.\n *\n * @param {Date|String|Number} argument - the value to convert\n * @param {Object} [options] - the object with options\n * @param {0 | 1 | 2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parse('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Parse string '+02014101',\n * // if the additional number of digits in the extended year format is 1:\n * var result = parse('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction parse (argument, dirtyOptions) {\n  if (isDate(argument)) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new Date(argument.getTime())\n  } else if (typeof argument !== 'string') {\n    return new Date(argument)\n  }\n\n  var options = dirtyOptions || {}\n  var additionalDigits = options.additionalDigits\n  if (additionalDigits == null) {\n    additionalDigits = DEFAULT_ADDITIONAL_DIGITS\n  } else {\n    additionalDigits = Number(additionalDigits)\n  }\n\n  var dateStrings = splitDateString(argument)\n\n  var parseYearResult = parseYear(dateStrings.date, additionalDigits)\n  var year = parseYearResult.year\n  var restDateString = parseYearResult.restDateString\n\n  var date = parseDate(restDateString, year)\n\n  if (date) {\n    var timestamp = date.getTime()\n    var time = 0\n    var offset\n\n    if (dateStrings.time) {\n      time = parseTime(dateStrings.time)\n    }\n\n    if (dateStrings.timezone) {\n      offset = parseTimezone(dateStrings.timezone)\n    } else {\n      // get offset accurate to hour in timezones that change offset\n      offset = new Date(timestamp + time).getTimezoneOffset()\n      offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset()\n    }\n\n    return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE)\n  } else {\n    return new Date(argument)\n  }\n}\n\nfunction splitDateString (dateString) {\n  var dateStrings = {}\n  var array = dateString.split(parseTokenDateTimeDelimeter)\n  var timeString\n\n  if (parseTokenPlainTime.test(array[0])) {\n    dateStrings.date = null\n    timeString = array[0]\n  } else {\n    dateStrings.date = array[0]\n    timeString = array[1]\n  }\n\n  if (timeString) {\n    var token = parseTokenTimezone.exec(timeString)\n    if (token) {\n      dateStrings.time = timeString.replace(token[1], '')\n      dateStrings.timezone = token[1]\n    } else {\n      dateStrings.time = timeString\n    }\n  }\n\n  return dateStrings\n}\n\nfunction parseYear (dateString, additionalDigits) {\n  var parseTokenYYY = parseTokensYYY[additionalDigits]\n  var parseTokenYYYYY = parseTokensYYYYY[additionalDigits]\n\n  var token\n\n  // YYYY or ±YYYYY\n  token = parseTokenYYYY.exec(dateString) || parseTokenYYYYY.exec(dateString)\n  if (token) {\n    var yearString = token[1]\n    return {\n      year: parseInt(yearString, 10),\n      restDateString: dateString.slice(yearString.length)\n    }\n  }\n\n  // YY or ±YYY\n  token = parseTokenYY.exec(dateString) || parseTokenYYY.exec(dateString)\n  if (token) {\n    var centuryString = token[1]\n    return {\n      year: parseInt(centuryString, 10) * 100,\n      restDateString: dateString.slice(centuryString.length)\n    }\n  }\n\n  // Invalid ISO-formatted year\n  return {\n    year: null\n  }\n}\n\nfunction parseDate (dateString, year) {\n  // Invalid ISO-formatted year\n  if (year === null) {\n    return null\n  }\n\n  var token\n  var date\n  var month\n  var week\n\n  // YYYY\n  if (dateString.length === 0) {\n    date = new Date(0)\n    date.setUTCFullYear(year)\n    return date\n  }\n\n  // YYYY-MM\n  token = parseTokenMM.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    date.setUTCFullYear(year, month)\n    return date\n  }\n\n  // YYYY-DDD or YYYYDDD\n  token = parseTokenDDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    var dayOfYear = parseInt(token[1], 10)\n    date.setUTCFullYear(year, 0, dayOfYear)\n    return date\n  }\n\n  // YYYY-MM-DD or YYYYMMDD\n  token = parseTokenMMDD.exec(dateString)\n  if (token) {\n    date = new Date(0)\n    month = parseInt(token[1], 10) - 1\n    var day = parseInt(token[2], 10)\n    date.setUTCFullYear(year, month, day)\n    return date\n  }\n\n  // YYYY-Www or YYYYWww\n  token = parseTokenWww.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    return dayOfISOYear(year, week)\n  }\n\n  // YYYY-Www-D or YYYYWwwD\n  token = parseTokenWwwD.exec(dateString)\n  if (token) {\n    week = parseInt(token[1], 10) - 1\n    var dayOfWeek = parseInt(token[2], 10) - 1\n    return dayOfISOYear(year, week, dayOfWeek)\n  }\n\n  // Invalid ISO-formatted date\n  return null\n}\n\nfunction parseTime (timeString) {\n  var token\n  var hours\n  var minutes\n\n  // hh\n  token = parseTokenHH.exec(timeString)\n  if (token) {\n    hours = parseFloat(token[1].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR\n  }\n\n  // hh:mm or hhmm\n  token = parseTokenHHMM.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseFloat(token[2].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE\n  }\n\n  // hh:mm:ss or hhmmss\n  token = parseTokenHHMMSS.exec(timeString)\n  if (token) {\n    hours = parseInt(token[1], 10)\n    minutes = parseInt(token[2], 10)\n    var seconds = parseFloat(token[3].replace(',', '.'))\n    return (hours % 24) * MILLISECONDS_IN_HOUR +\n      minutes * MILLISECONDS_IN_MINUTE +\n      seconds * 1000\n  }\n\n  // Invalid ISO-formatted time\n  return null\n}\n\nfunction parseTimezone (timezoneString) {\n  var token\n  var absoluteOffset\n\n  // Z\n  token = parseTokenTimezoneZ.exec(timezoneString)\n  if (token) {\n    return 0\n  }\n\n  // ±hh\n  token = parseTokenTimezoneHH.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  // ±hh:mm or ±hhmm\n  token = parseTokenTimezoneHHMM.exec(timezoneString)\n  if (token) {\n    absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10)\n    return (token[1] === '+') ? -absoluteOffset : absoluteOffset\n  }\n\n  return 0\n}\n\nfunction dayOfISOYear (isoYear, week, day) {\n  week = week || 0\n  day = day || 0\n  var date = new Date(0)\n  date.setUTCFullYear(isoYear, 0, 4)\n  var fourthOfJanuaryDay = date.getUTCDay() || 7\n  var diff = week * 7 + day + 1 - fourthOfJanuaryDay\n  date.setUTCDate(date.getUTCDate() + diff)\n  return date\n}\n\nmodule.exports = parse\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/parse/index.js\n// module id = 18\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_property-desc.js\n// module id = 19\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 20\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_library.js\n// module id = 21\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-keys.js\n// module id = 22\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_cof.js\n// module id = 23\n// module chunks = 0","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_a-function.js\n// module id = 24\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_uid.js\n// module id = 25\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 26\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n  'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n  'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n  'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n  'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n  var NAME = DOMIterables[i];\n  var Collection = global[NAME];\n  var proto = Collection && Collection.prototype;\n  if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n  Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 27\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-pie.js\n// module id = 28\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 29\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/createClass.js\n// module id = 30\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_dom-create.js\n// module id = 31\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-primitive.js\n// module id = 32\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/lib/ReactPropTypesSecret.js\n// module id = 33\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-integer.js\n// module id = 34\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_defined.js\n// module id = 35\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-create.js\n// module id = 36\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-length.js\n// module id = 37\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_shared-key.js\n// module id = 38\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: core.version,\n  mode: require('./_library') ? 'pure' : 'global',\n  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_shared.js\n// module id = 39\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 40\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_classof.js\n// module id = 41\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 42\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(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 = aFunction(resolve);\n  this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 43\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gops.js\n// module id = 44\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks-ext.js\n// module id = 45\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_wks-define.js\n// module id = 46\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.omit = omit;\nexports.arraysEqual = arraysEqual;\nvar isElementAnSFC = exports.isElementAnSFC = function isElementAnSFC(element) {\n  var isNativeDOMElement = typeof element.type === 'string';\n\n  if (isNativeDOMElement) {\n    return false;\n  }\n\n  return !element.type.prototype.isReactComponent;\n};\nfunction omit(obj) {\n  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n  var result = {};\n  Object.keys(obj).forEach(function (key) {\n    if (attrs.indexOf(key) === -1) {\n      result[key] = obj[key];\n    }\n  });\n  return result;\n}\n\nfunction arraysEqual(a, b) {\n  var sameObject = a === b;\n  if (sameObject) {\n    return true;\n  }\n\n  var notBothArrays = !Array.isArray(a) || !Array.isArray(b);\n  var differentLengths = a.length !== b.length;\n\n  if (notBothArrays || differentLengths) {\n    return false;\n  }\n\n  return a.every(function (element, index) {\n    return element === b[index];\n  });\n}\n\nfunction memoizeString(fn) {\n  var cache = {};\n\n  return function (str) {\n    if (!cache[str]) {\n      cache[str] = fn(str);\n    }\n    return cache[str];\n  };\n}\n\nvar hyphenate = exports.hyphenate = memoizeString(function (str) {\n  return str.replace(/([A-Z])/g, '-$1').toLowerCase();\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/helpers.js\n// module id = 47\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 48\n// module chunks = 0","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-is/index.js\n// module id = 49\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = $native || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-define.js\n// module id = 51\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_redefine.js\n// module id = 52\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 53\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iobject.js\n// module id = 54\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_html.js\n// module id = 55\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gpo.js\n// module id = 56\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-call.js\n// module id = 57\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 58\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_species-constructor.js\n// module id = 59\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n  var id = +this;\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\nvar listener = function (event) {\n  run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n  setTask = function setImmediate(fn) {\n    var args = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clearTask = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (require('./_cof')(process) == 'process') {\n    defer = function (id) {\n      process.nextTick(ctx(run, id, 1));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(ctx(run, id, 1));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  } else if (MessageChannel) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = ctx(port.postMessage, port, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n    defer = function (id) {\n      global.postMessage(id + '', '*');\n    };\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in cel('script')) {\n    defer = function (id) {\n      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run.call(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(ctx(run, id, 1), 0);\n    };\n  }\n}\nmodule.exports = {\n  set: setTask,\n  clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_task.js\n// module id = 60\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return { e: false, v: exec() };\n  } catch (e) {\n    return { e: true, v: e };\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_perform.js\n// module id = 61\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 62\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-detect.js\n// module id = 63\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 64\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n  var fn = (core.Object || {})[KEY] || Object[KEY];\n  var exp = {};\n  exp[KEY] = exec(fn);\n  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-sap.js\n// module id = 65\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n  if (!self) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 66\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n  return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n  return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/typeof.js\n// module id = 67\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopn.js\n// module id = 68\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n  O = toIObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return gOPD(O, P);\n  } catch (e) { /* empty */ }\n  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopd.js\n// module id = 69\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n  }\n\n  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      enumerable: false,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/inherits.js\n// module id = 70\n// module chunks = 0","import axios from 'axios'\n\nexport const queryParse = (search = window.location.search) => {\n  if (!search) return {}\n  const queryString = search[0] === '?' ? search.substring(1) : search\n  const query = {}\n  queryString\n    .split('&')\n    .forEach(queryStr => {\n      const [key, value] = queryStr.split('=')\n      /* istanbul ignore else */\n      if (key) query[decodeURIComponent(key)] = decodeURIComponent(value)\n    })\n\n  return query\n}\n\nexport const queryStringify = query => {\n  const queryString = Object.keys(query)\n    .map(key => `${key}=${encodeURIComponent(query[key] || '')}`)\n    .join('&')\n  return queryString\n}\n\nexport const axiosJSON = axios.create({\n  headers: {\n    'Accept': 'application/json'\n  }\n})\n\nexport const axiosGithub = axios.create({\n  baseURL: 'https://api.github.com',\n  headers: {\n    'Accept': 'application/json'\n  }\n})\n\nexport const getMetaContent = (name, content) => {\n  /* istanbul ignore next */\n  content || (content = 'content')\n  /* istanbul ignore next */\n  const el = window.document.querySelector(`meta[name='${name}']`)\n  /* istanbul ignore next */\n  return el && el.getAttribute(content)\n}\n\nexport const formatErrorMsg = err => {\n  let msg = 'Error: '\n  if (err.response && err.response.data && err.response.data.message) {\n    msg += `${err.response.data.message}. `\n    err.response.data.errors && (msg += err.response.data.errors.map(e => e.message).join(', '))\n  } else {\n    msg += err.message\n  }\n  return msg\n}\n\nexport const hasClassInParent = (element, ...className) => {\n  /* istanbul ignore next */\n  let yes = false\n  /* istanbul ignore next */\n  if (typeof element.className === 'undefined') return false\n  /* istanbul ignore next */\n  const classes = element.className.split(' ')\n  /* istanbul ignore next */\n  className.forEach((c, i) => {\n    /* istanbul ignore next */\n    yes = yes || (classes.indexOf(c) >= 0)\n  })\n  /* istanbul ignore next */\n  if (yes) return yes\n  /* istanbul ignore next */\n  return element.parentNode && hasClassInParent(element.parentNode, className)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./util.js","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/bind.js\n// module id = 72\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%40/gi, '@').\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/buildURL.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/isCancel.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = require('./adapters/xhr');\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = require('./adapters/http');\n  }\n  return adapter;\n}\n\nvar defaults = {\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data)) {\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n      return JSON.stringify(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    /*eslint no-param-reassign:0*/\n    if (typeof data === 'string') {\n      try {\n        data = JSON.parse(data);\n      } catch (e) { /* Ignore */ }\n    }\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/defaults.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password || '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    // Listen for ready state\n    request.onreadystatechange = function handleLoad() {\n      if (!request || request.readyState !== 4) {\n        return;\n      }\n\n      // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      }\n\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      var cookies = require('./../helpers/cookies');\n\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (requestData === undefined) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/adapters/xhr.js\n// module id = 76\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/createError.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n  var defaultToConfig2Keys = [\n    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n    'httpsAgent', 'cancelToken', 'socketPath'\n  ];\n\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    }\n  });\n\n  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n    if (utils.isObject(config2[prop])) {\n      config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n    } else if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (utils.isObject(config1[prop])) {\n      config[prop] = utils.deepMerge(config1[prop]);\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  var axiosKeys = valueFromConfig2Keys\n    .concat(mergeDeepPropertiesKeys)\n    .concat(defaultToConfig2Keys);\n\n  var otherKeys = Object\n    .keys(config2)\n    .filter(function filterAxiosKeys(key) {\n      return axiosKeys.indexOf(key) === -1;\n    });\n\n  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n    if (typeof config2[prop] !== 'undefined') {\n      config[prop] = config2[prop];\n    } else if (typeof config1[prop] !== 'undefined') {\n      config[prop] = config1[prop];\n    }\n  });\n\n  return config;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/mergeConfig.js\n// module id = 78\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/Cancel.js\n// module id = 79\n// module chunks = 0","import React from 'react'\n\nexport default ({ src, className, alt, onError }) => (\n  <div className={`gt-avatar ${className}`}>\n    <img src={src} alt={`@${alt}`} onError={onError} />\n  </div>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/avatar.jsx","import React from 'react'\n\nexport default ({ className, text, name }) => (\n  <span className={`gt-ico ${className}`}>\n    <span className=\"gt-svg\" dangerouslySetInnerHTML={{\n      __html: require(`!!raw-loader!../assets/icon/${name}.svg`)\n    }}/>\n    {\n      text && <span className=\"gt-ico-text\">{text}</span>\n    }\n  </span>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/svg.jsx","import React from 'react'\nimport { render } from 'react-dom'\nimport 'es6-promise/auto'\nimport GitalkComponent from './gitalk'\n\nclass Gitalk {\n  constructor (options = {}) {\n    this.options = options\n  }\n\n  render (container, callback) {\n    let node = null\n    container = container || this.options.container\n\n    if (!container) throw new Error(`Container is required: ${container}`)\n\n    if (!(container instanceof HTMLElement)) {\n      node = window.document.getElementById(container)\n      if (!node) throw new Error(`Container not found, window.document.getElementById: ${container}`)\n    } else {\n      node = container\n    }\n\n    if (!callback) {\n      callback = () => {}\n    }\n\n    return render(<GitalkComponent options={this.options}/>, node, callback)\n  }\n}\n\nmodule.exports = Gitalk\n\n\n\n// WEBPACK FOOTER //\n// ./index.js","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 83\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n  return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/define-property.js\n// module id = 84\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 85\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/index.js\n// module id = 86\n// module chunks = 0","/** @license React v16.12.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-is/cjs/react-is.production.min.js\n// module id = 87\n// module chunks = 0","/** @license React v16.12.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n  var printWarning = function (format) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    var argIndex = 0;\n    var message = 'Warning: ' + format.replace(/%s/g, function () {\n      return args[argIndex++];\n    });\n\n    if (typeof console !== 'undefined') {\n      console.warn(message);\n    }\n\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n\n  lowPriorityWarningWithoutStack = function (condition, format) {\n    if (format === undefined) {\n      throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n    }\n\n    if (!condition) {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n        args[_key2 - 2] = arguments[_key2];\n      }\n\n      printWarning.apply(void 0, [format].concat(args));\n    }\n  };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true;\n      lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n  })();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-is/cjs/react-is.development.js\n// module id = 88\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message) {\n    this.message = message;\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n          return null;\n        }\n      }\n\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          continue;\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from\n      // props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/factoryWithTypeCheckers.js\n// module id = 89\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/object-assign/index.js\n// module id = 90\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n  var loggedTypeFailures = {};\n  var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/checkPropTypes.js\n// module id = 91\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/prop-types/factoryWithThrowingShims.js\n// module id = 92\n// module chunks = 0","!function() {\n    'use strict';\n    function VNode() {}\n    function h(nodeName, attributes) {\n        var lastSimple, child, simple, i, children = EMPTY_CHILDREN;\n        for (i = arguments.length; i-- > 2; ) stack.push(arguments[i]);\n        if (attributes && null != attributes.children) {\n            if (!stack.length) stack.push(attributes.children);\n            delete attributes.children;\n        }\n        while (stack.length) if ((child = stack.pop()) && void 0 !== child.pop) for (i = child.length; i--; ) stack.push(child[i]); else {\n            if (child === !0 || child === !1) child = null;\n            if (simple = 'function' != typeof nodeName) if (null == child) child = ''; else if ('number' == typeof child) child = String(child); else if ('string' != typeof child) simple = !1;\n            if (simple && lastSimple) children[children.length - 1] += child; else if (children === EMPTY_CHILDREN) children = [ child ]; else children.push(child);\n            lastSimple = simple;\n        }\n        var p = new VNode();\n        p.nodeName = nodeName;\n        p.children = children;\n        p.attributes = null == attributes ? void 0 : attributes;\n        p.key = null == attributes ? void 0 : attributes.key;\n        if (void 0 !== options.vnode) options.vnode(p);\n        return p;\n    }\n    function extend(obj, props) {\n        for (var i in props) obj[i] = props[i];\n        return obj;\n    }\n    function cloneElement(vnode, props) {\n        return h(vnode.nodeName, extend(extend({}, vnode.attributes), props), arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children);\n    }\n    function enqueueRender(component) {\n        if (!component.__d && (component.__d = !0) && 1 == items.push(component)) (options.debounceRendering || setTimeout)(rerender);\n    }\n    function rerender() {\n        var p, list = items;\n        items = [];\n        while (p = list.pop()) if (p.__d) renderComponent(p);\n    }\n    function isSameNodeType(node, vnode, hydrating) {\n        if ('string' == typeof vnode || 'number' == typeof vnode) return void 0 !== node.splitText;\n        if ('string' == typeof vnode.nodeName) return !node._componentConstructor && isNamedNode(node, vnode.nodeName); else return hydrating || node._componentConstructor === vnode.nodeName;\n    }\n    function isNamedNode(node, nodeName) {\n        return node.__n === nodeName || node.nodeName.toLowerCase() === nodeName.toLowerCase();\n    }\n    function getNodeProps(vnode) {\n        var props = extend({}, vnode.attributes);\n        props.children = vnode.children;\n        var defaultProps = vnode.nodeName.defaultProps;\n        if (void 0 !== defaultProps) for (var i in defaultProps) if (void 0 === props[i]) props[i] = defaultProps[i];\n        return props;\n    }\n    function createNode(nodeName, isSvg) {\n        var node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);\n        node.__n = nodeName;\n        return node;\n    }\n    function removeNode(node) {\n        if (node.parentNode) node.parentNode.removeChild(node);\n    }\n    function setAccessor(node, name, old, value, isSvg) {\n        if ('className' === name) name = 'class';\n        if ('key' === name) ; else if ('ref' === name) {\n            if (old) old(null);\n            if (value) value(node);\n        } else if ('class' === name && !isSvg) node.className = value || ''; else if ('style' === name) {\n            if (!value || 'string' == typeof value || 'string' == typeof old) node.style.cssText = value || '';\n            if (value && 'object' == typeof value) {\n                if ('string' != typeof old) for (var i in old) if (!(i in value)) node.style[i] = '';\n                for (var i in value) node.style[i] = 'number' == typeof value[i] && IS_NON_DIMENSIONAL.test(i) === !1 ? value[i] + 'px' : value[i];\n            }\n        } else if ('dangerouslySetInnerHTML' === name) {\n            if (value) node.innerHTML = value.__html || '';\n        } else if ('o' == name[0] && 'n' == name[1]) {\n            var useCapture = name !== (name = name.replace(/Capture$/, ''));\n            name = name.toLowerCase().substring(2);\n            if (value) {\n                if (!old) node.addEventListener(name, eventProxy, useCapture);\n            } else node.removeEventListener(name, eventProxy, useCapture);\n            (node.__l || (node.__l = {}))[name] = value;\n        } else if ('list' !== name && 'type' !== name && !isSvg && name in node) {\n            setProperty(node, name, null == value ? '' : value);\n            if (null == value || value === !1) node.removeAttribute(name);\n        } else {\n            var ns = isSvg && name !== (name = name.replace(/^xlink\\:?/, ''));\n            if (null == value || value === !1) if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); else node.removeAttribute(name); else if ('function' != typeof value) if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); else node.setAttribute(name, value);\n        }\n    }\n    function setProperty(node, name, value) {\n        try {\n            node[name] = value;\n        } catch (e) {}\n    }\n    function eventProxy(e) {\n        return this.__l[e.type](options.event && options.event(e) || e);\n    }\n    function flushMounts() {\n        var c;\n        while (c = mounts.pop()) {\n            if (options.afterMount) options.afterMount(c);\n            if (c.componentDidMount) c.componentDidMount();\n        }\n    }\n    function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n        if (!diffLevel++) {\n            isSvgMode = null != parent && void 0 !== parent.ownerSVGElement;\n            hydrating = null != dom && !('__preactattr_' in dom);\n        }\n        var ret = idiff(dom, vnode, context, mountAll, componentRoot);\n        if (parent && ret.parentNode !== parent) parent.appendChild(ret);\n        if (!--diffLevel) {\n            hydrating = !1;\n            if (!componentRoot) flushMounts();\n        }\n        return ret;\n    }\n    function idiff(dom, vnode, context, mountAll, componentRoot) {\n        var out = dom, prevSvgMode = isSvgMode;\n        if (null == vnode) vnode = '';\n        if ('string' == typeof vnode) {\n            if (dom && void 0 !== dom.splitText && dom.parentNode && (!dom._component || componentRoot)) {\n                if (dom.nodeValue != vnode) dom.nodeValue = vnode;\n            } else {\n                out = document.createTextNode(vnode);\n                if (dom) {\n                    if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n                    recollectNodeTree(dom, !0);\n                }\n            }\n            out.__preactattr_ = !0;\n            return out;\n        }\n        if ('function' == typeof vnode.nodeName) return buildComponentFromVNode(dom, vnode, context, mountAll);\n        isSvgMode = 'svg' === vnode.nodeName ? !0 : 'foreignObject' === vnode.nodeName ? !1 : isSvgMode;\n        if (!dom || !isNamedNode(dom, String(vnode.nodeName))) {\n            out = createNode(String(vnode.nodeName), isSvgMode);\n            if (dom) {\n                while (dom.firstChild) out.appendChild(dom.firstChild);\n                if (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n                recollectNodeTree(dom, !0);\n            }\n        }\n        var fc = out.firstChild, props = out.__preactattr_ || (out.__preactattr_ = {}), vchildren = vnode.children;\n        if (!hydrating && vchildren && 1 === vchildren.length && 'string' == typeof vchildren[0] && null != fc && void 0 !== fc.splitText && null == fc.nextSibling) {\n            if (fc.nodeValue != vchildren[0]) fc.nodeValue = vchildren[0];\n        } else if (vchildren && vchildren.length || null != fc) innerDiffNode(out, vchildren, context, mountAll, hydrating || null != props.dangerouslySetInnerHTML);\n        diffAttributes(out, vnode.attributes, props);\n        isSvgMode = prevSvgMode;\n        return out;\n    }\n    function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n        var j, c, vchild, child, originalChildren = dom.childNodes, children = [], keyed = {}, keyedLen = 0, min = 0, len = originalChildren.length, childrenLen = 0, vlen = vchildren ? vchildren.length : 0;\n        if (0 !== len) for (var i = 0; i < len; i++) {\n            var _child = originalChildren[i], props = _child.__preactattr_, key = vlen && props ? _child._component ? _child._component.__k : props.key : null;\n            if (null != key) {\n                keyedLen++;\n                keyed[key] = _child;\n            } else if (props || (void 0 !== _child.splitText ? isHydrating ? _child.nodeValue.trim() : !0 : isHydrating)) children[childrenLen++] = _child;\n        }\n        if (0 !== vlen) for (var i = 0; i < vlen; i++) {\n            vchild = vchildren[i];\n            child = null;\n            var key = vchild.key;\n            if (null != key) {\n                if (keyedLen && void 0 !== keyed[key]) {\n                    child = keyed[key];\n                    keyed[key] = void 0;\n                    keyedLen--;\n                }\n            } else if (!child && min < childrenLen) for (j = min; j < childrenLen; j++) if (void 0 !== children[j] && isSameNodeType(c = children[j], vchild, isHydrating)) {\n                child = c;\n                children[j] = void 0;\n                if (j === childrenLen - 1) childrenLen--;\n                if (j === min) min++;\n                break;\n            }\n            child = idiff(child, vchild, context, mountAll);\n            if (child && child !== dom) if (i >= len) dom.appendChild(child); else if (child !== originalChildren[i]) if (child === originalChildren[i + 1]) removeNode(originalChildren[i]); else dom.insertBefore(child, originalChildren[i] || null);\n        }\n        if (keyedLen) for (var i in keyed) if (void 0 !== keyed[i]) recollectNodeTree(keyed[i], !1);\n        while (min <= childrenLen) if (void 0 !== (child = children[childrenLen--])) recollectNodeTree(child, !1);\n    }\n    function recollectNodeTree(node, unmountOnly) {\n        var component = node._component;\n        if (component) unmountComponent(component); else {\n            if (null != node.__preactattr_ && node.__preactattr_.ref) node.__preactattr_.ref(null);\n            if (unmountOnly === !1 || null == node.__preactattr_) removeNode(node);\n            removeChildren(node);\n        }\n    }\n    function removeChildren(node) {\n        node = node.lastChild;\n        while (node) {\n            var next = node.previousSibling;\n            recollectNodeTree(node, !0);\n            node = next;\n        }\n    }\n    function diffAttributes(dom, attrs, old) {\n        var name;\n        for (name in old) if ((!attrs || null == attrs[name]) && null != old[name]) setAccessor(dom, name, old[name], old[name] = void 0, isSvgMode);\n        for (name in attrs) if (!('children' === name || 'innerHTML' === name || name in old && attrs[name] === ('value' === name || 'checked' === name ? dom[name] : old[name]))) setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n    }\n    function collectComponent(component) {\n        var name = component.constructor.name;\n        (components[name] || (components[name] = [])).push(component);\n    }\n    function createComponent(Ctor, props, context) {\n        var inst, list = components[Ctor.name];\n        if (Ctor.prototype && Ctor.prototype.render) {\n            inst = new Ctor(props, context);\n            Component.call(inst, props, context);\n        } else {\n            inst = new Component(props, context);\n            inst.constructor = Ctor;\n            inst.render = doRender;\n        }\n        if (list) for (var i = list.length; i--; ) if (list[i].constructor === Ctor) {\n            inst.__b = list[i].__b;\n            list.splice(i, 1);\n            break;\n        }\n        return inst;\n    }\n    function doRender(props, state, context) {\n        return this.constructor(props, context);\n    }\n    function setComponentProps(component, props, opts, context, mountAll) {\n        if (!component.__x) {\n            component.__x = !0;\n            if (component.__r = props.ref) delete props.ref;\n            if (component.__k = props.key) delete props.key;\n            if (!component.base || mountAll) {\n                if (component.componentWillMount) component.componentWillMount();\n            } else if (component.componentWillReceiveProps) component.componentWillReceiveProps(props, context);\n            if (context && context !== component.context) {\n                if (!component.__c) component.__c = component.context;\n                component.context = context;\n            }\n            if (!component.__p) component.__p = component.props;\n            component.props = props;\n            component.__x = !1;\n            if (0 !== opts) if (1 === opts || options.syncComponentUpdates !== !1 || !component.base) renderComponent(component, 1, mountAll); else enqueueRender(component);\n            if (component.__r) component.__r(component);\n        }\n    }\n    function renderComponent(component, opts, mountAll, isChild) {\n        if (!component.__x) {\n            var rendered, inst, cbase, props = component.props, state = component.state, context = component.context, previousProps = component.__p || props, previousState = component.__s || state, previousContext = component.__c || context, isUpdate = component.base, nextBase = component.__b, initialBase = isUpdate || nextBase, initialChildComponent = component._component, skip = !1;\n            if (isUpdate) {\n                component.props = previousProps;\n                component.state = previousState;\n                component.context = previousContext;\n                if (2 !== opts && component.shouldComponentUpdate && component.shouldComponentUpdate(props, state, context) === !1) skip = !0; else if (component.componentWillUpdate) component.componentWillUpdate(props, state, context);\n                component.props = props;\n                component.state = state;\n                component.context = context;\n            }\n            component.__p = component.__s = component.__c = component.__b = null;\n            component.__d = !1;\n            if (!skip) {\n                rendered = component.render(props, state, context);\n                if (component.getChildContext) context = extend(extend({}, context), component.getChildContext());\n                var toUnmount, base, childComponent = rendered && rendered.nodeName;\n                if ('function' == typeof childComponent) {\n                    var childProps = getNodeProps(rendered);\n                    inst = initialChildComponent;\n                    if (inst && inst.constructor === childComponent && childProps.key == inst.__k) setComponentProps(inst, childProps, 1, context, !1); else {\n                        toUnmount = inst;\n                        component._component = inst = createComponent(childComponent, childProps, context);\n                        inst.__b = inst.__b || nextBase;\n                        inst.__u = component;\n                        setComponentProps(inst, childProps, 0, context, !1);\n                        renderComponent(inst, 1, mountAll, !0);\n                    }\n                    base = inst.base;\n                } else {\n                    cbase = initialBase;\n                    toUnmount = initialChildComponent;\n                    if (toUnmount) cbase = component._component = null;\n                    if (initialBase || 1 === opts) {\n                        if (cbase) cbase._component = null;\n                        base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, !0);\n                    }\n                }\n                if (initialBase && base !== initialBase && inst !== initialChildComponent) {\n                    var baseParent = initialBase.parentNode;\n                    if (baseParent && base !== baseParent) {\n                        baseParent.replaceChild(base, initialBase);\n                        if (!toUnmount) {\n                            initialBase._component = null;\n                            recollectNodeTree(initialBase, !1);\n                        }\n                    }\n                }\n                if (toUnmount) unmountComponent(toUnmount);\n                component.base = base;\n                if (base && !isChild) {\n                    var componentRef = component, t = component;\n                    while (t = t.__u) (componentRef = t).base = base;\n                    base._component = componentRef;\n                    base._componentConstructor = componentRef.constructor;\n                }\n            }\n            if (!isUpdate || mountAll) mounts.unshift(component); else if (!skip) {\n                flushMounts();\n                if (component.componentDidUpdate) component.componentDidUpdate(previousProps, previousState, previousContext);\n                if (options.afterUpdate) options.afterUpdate(component);\n            }\n            if (null != component.__h) while (component.__h.length) component.__h.pop().call(component);\n            if (!diffLevel && !isChild) flushMounts();\n        }\n    }\n    function buildComponentFromVNode(dom, vnode, context, mountAll) {\n        var c = dom && dom._component, originalComponent = c, oldDom = dom, isDirectOwner = c && dom._componentConstructor === vnode.nodeName, isOwner = isDirectOwner, props = getNodeProps(vnode);\n        while (c && !isOwner && (c = c.__u)) isOwner = c.constructor === vnode.nodeName;\n        if (c && isOwner && (!mountAll || c._component)) {\n            setComponentProps(c, props, 3, context, mountAll);\n            dom = c.base;\n        } else {\n            if (originalComponent && !isDirectOwner) {\n                unmountComponent(originalComponent);\n                dom = oldDom = null;\n            }\n            c = createComponent(vnode.nodeName, props, context);\n            if (dom && !c.__b) {\n                c.__b = dom;\n                oldDom = null;\n            }\n            setComponentProps(c, props, 1, context, mountAll);\n            dom = c.base;\n            if (oldDom && dom !== oldDom) {\n                oldDom._component = null;\n                recollectNodeTree(oldDom, !1);\n            }\n        }\n        return dom;\n    }\n    function unmountComponent(component) {\n        if (options.beforeUnmount) options.beforeUnmount(component);\n        var base = component.base;\n        component.__x = !0;\n        if (component.componentWillUnmount) component.componentWillUnmount();\n        component.base = null;\n        var inner = component._component;\n        if (inner) unmountComponent(inner); else if (base) {\n            if (base.__preactattr_ && base.__preactattr_.ref) base.__preactattr_.ref(null);\n            component.__b = base;\n            removeNode(base);\n            collectComponent(component);\n            removeChildren(base);\n        }\n        if (component.__r) component.__r(null);\n    }\n    function Component(props, context) {\n        this.__d = !0;\n        this.context = context;\n        this.props = props;\n        this.state = this.state || {};\n    }\n    function render(vnode, parent, merge) {\n        return diff(merge, vnode, {}, !1, parent, !1);\n    }\n    var options = {};\n    var stack = [];\n    var EMPTY_CHILDREN = [];\n    var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n    var items = [];\n    var mounts = [];\n    var diffLevel = 0;\n    var isSvgMode = !1;\n    var hydrating = !1;\n    var components = {};\n    extend(Component.prototype, {\n        setState: function(state, callback) {\n            var s = this.state;\n            if (!this.__s) this.__s = extend({}, s);\n            extend(s, 'function' == typeof state ? state(s, this.props) : state);\n            if (callback) (this.__h = this.__h || []).push(callback);\n            enqueueRender(this);\n        },\n        forceUpdate: function(callback) {\n            if (callback) (this.__h = this.__h || []).push(callback);\n            renderComponent(this, 2);\n        },\n        render: function() {}\n    });\n    var preact = {\n        h: h,\n        createElement: h,\n        cloneElement: cloneElement,\n        Component: Component,\n        render: render,\n        rerender: rerender,\n        options: options\n    };\n    if ('undefined' != typeof module) module.exports = preact; else self.preact = preact;\n}();\n//# sourceMappingURL=preact.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/preact/dist/preact.js\n// module id = 93\n// module chunks = 0","// This file can be required in Browserify and Node.js for automatic polyfill\n// To use it:  require('es6-promise/auto');\n'use strict';\nmodule.exports = require('./').polyfill();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/es6-promise/auto.js\n// module id = 94\n// module chunks = 0","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license   Licensed under MIT license\n *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version   4.1.1\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n  var type = typeof x;\n  return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n  return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (Array.isArray) {\n  _isArray = Array.isArray;\n} else {\n  _isArray = function (x) {\n    return Object.prototype.toString.call(x) === '[object Array]';\n  };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n  queue[len] = callback;\n  queue[len + 1] = arg;\n  len += 2;\n  if (len === 2) {\n    // If len is 2, that means that we need to schedule an async flush.\n    // If additional callbacks are queued before the queue is flushed, they\n    // will be processed by this flush that we are scheduling.\n    if (customSchedulerFn) {\n      customSchedulerFn(flush);\n    } else {\n      scheduleFlush();\n    }\n  }\n};\n\nfunction setScheduler(scheduleFn) {\n  customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n  asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n  // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n  // see https://github.com/cujojs/when/issues/410 for details\n  return function () {\n    return process.nextTick(flush);\n  };\n}\n\n// vertx\nfunction useVertxTimer() {\n  if (typeof vertxNext !== 'undefined') {\n    return function () {\n      vertxNext(flush);\n    };\n  }\n\n  return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n  var iterations = 0;\n  var observer = new BrowserMutationObserver(flush);\n  var node = document.createTextNode('');\n  observer.observe(node, { characterData: true });\n\n  return function () {\n    node.data = iterations = ++iterations % 2;\n  };\n}\n\n// web worker\nfunction useMessageChannel() {\n  var channel = new MessageChannel();\n  channel.port1.onmessage = flush;\n  return function () {\n    return channel.port2.postMessage(0);\n  };\n}\n\nfunction useSetTimeout() {\n  // Store setTimeout reference so es6-promise will be unaffected by\n  // other code modifying setTimeout (like sinon.useFakeTimers())\n  var globalSetTimeout = setTimeout;\n  return function () {\n    return globalSetTimeout(flush, 1);\n  };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n  for (var i = 0; i < len; i += 2) {\n    var callback = queue[i];\n    var arg = queue[i + 1];\n\n    callback(arg);\n\n    queue[i] = undefined;\n    queue[i + 1] = undefined;\n  }\n\n  len = 0;\n}\n\nfunction attemptVertx() {\n  try {\n    var r = require;\n    var vertx = r('vertx');\n    vertxNext = vertx.runOnLoop || vertx.runOnContext;\n    return useVertxTimer();\n  } catch (e) {\n    return useSetTimeout();\n  }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n  scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n  scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n  scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n  scheduleFlush = attemptVertx();\n} else {\n  scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n  var _arguments = arguments;\n\n  var parent = this;\n\n  var child = new this.constructor(noop);\n\n  if (child[PROMISE_ID] === undefined) {\n    makePromise(child);\n  }\n\n  var _state = parent._state;\n\n  if (_state) {\n    (function () {\n      var callback = _arguments[_state - 1];\n      asap(function () {\n        return invokeCallback(_state, child, callback, parent._result);\n      });\n    })();\n  } else {\n    subscribe(parent, child, onFulfillment, onRejection);\n  }\n\n  return child;\n}\n\n/**\n  `Promise.resolve` returns a promise that will become resolved with the\n  passed `value`. It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    resolve(1);\n  });\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.resolve(1);\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  @method resolve\n  @static\n  @param {Any} value value that the returned promise will be resolved with\n  Useful for tooling.\n  @return {Promise} a promise that will become fulfilled with the given\n  `value`\n*/\nfunction resolve$1(object) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (object && typeof object === 'object' && object.constructor === Constructor) {\n    return object;\n  }\n\n  var promise = new Constructor(noop);\n  resolve(promise, object);\n  return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n  return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n  return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n  try {\n    return promise.then;\n  } catch (error) {\n    GET_THEN_ERROR.error = error;\n    return GET_THEN_ERROR;\n  }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n  try {\n    then$$1.call(value, fulfillmentHandler, rejectionHandler);\n  } catch (e) {\n    return e;\n  }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n  asap(function (promise) {\n    var sealed = false;\n    var error = tryThen(then$$1, thenable, function (value) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n      if (thenable !== value) {\n        resolve(promise, value);\n      } else {\n        fulfill(promise, value);\n      }\n    }, function (reason) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n\n      reject(promise, reason);\n    }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n    if (!sealed && error) {\n      sealed = true;\n      reject(promise, error);\n    }\n  }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n  if (thenable._state === FULFILLED) {\n    fulfill(promise, thenable._result);\n  } else if (thenable._state === REJECTED) {\n    reject(promise, thenable._result);\n  } else {\n    subscribe(thenable, undefined, function (value) {\n      return resolve(promise, value);\n    }, function (reason) {\n      return reject(promise, reason);\n    });\n  }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n  if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n    handleOwnThenable(promise, maybeThenable);\n  } else {\n    if (then$$1 === GET_THEN_ERROR) {\n      reject(promise, GET_THEN_ERROR.error);\n      GET_THEN_ERROR.error = null;\n    } else if (then$$1 === undefined) {\n      fulfill(promise, maybeThenable);\n    } else if (isFunction(then$$1)) {\n      handleForeignThenable(promise, maybeThenable, then$$1);\n    } else {\n      fulfill(promise, maybeThenable);\n    }\n  }\n}\n\nfunction resolve(promise, value) {\n  if (promise === value) {\n    reject(promise, selfFulfillment());\n  } else if (objectOrFunction(value)) {\n    handleMaybeThenable(promise, value, getThen(value));\n  } else {\n    fulfill(promise, value);\n  }\n}\n\nfunction publishRejection(promise) {\n  if (promise._onerror) {\n    promise._onerror(promise._result);\n  }\n\n  publish(promise);\n}\n\nfunction fulfill(promise, value) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n\n  promise._result = value;\n  promise._state = FULFILLED;\n\n  if (promise._subscribers.length !== 0) {\n    asap(publish, promise);\n  }\n}\n\nfunction reject(promise, reason) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n  promise._state = REJECTED;\n  promise._result = reason;\n\n  asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n  var _subscribers = parent._subscribers;\n  var length = _subscribers.length;\n\n  parent._onerror = null;\n\n  _subscribers[length] = child;\n  _subscribers[length + FULFILLED] = onFulfillment;\n  _subscribers[length + REJECTED] = onRejection;\n\n  if (length === 0 && parent._state) {\n    asap(publish, parent);\n  }\n}\n\nfunction publish(promise) {\n  var subscribers = promise._subscribers;\n  var settled = promise._state;\n\n  if (subscribers.length === 0) {\n    return;\n  }\n\n  var child = undefined,\n      callback = undefined,\n      detail = promise._result;\n\n  for (var i = 0; i < subscribers.length; i += 3) {\n    child = subscribers[i];\n    callback = subscribers[i + settled];\n\n    if (child) {\n      invokeCallback(settled, child, callback, detail);\n    } else {\n      callback(detail);\n    }\n  }\n\n  promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n  this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n  try {\n    return callback(detail);\n  } catch (e) {\n    TRY_CATCH_ERROR.error = e;\n    return TRY_CATCH_ERROR;\n  }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n  var hasCallback = isFunction(callback),\n      value = undefined,\n      error = undefined,\n      succeeded = undefined,\n      failed = undefined;\n\n  if (hasCallback) {\n    value = tryCatch(callback, detail);\n\n    if (value === TRY_CATCH_ERROR) {\n      failed = true;\n      error = value.error;\n      value.error = null;\n    } else {\n      succeeded = true;\n    }\n\n    if (promise === value) {\n      reject(promise, cannotReturnOwn());\n      return;\n    }\n  } else {\n    value = detail;\n    succeeded = true;\n  }\n\n  if (promise._state !== PENDING) {\n    // noop\n  } else if (hasCallback && succeeded) {\n      resolve(promise, value);\n    } else if (failed) {\n      reject(promise, error);\n    } else if (settled === FULFILLED) {\n      fulfill(promise, value);\n    } else if (settled === REJECTED) {\n      reject(promise, value);\n    }\n}\n\nfunction initializePromise(promise, resolver) {\n  try {\n    resolver(function resolvePromise(value) {\n      resolve(promise, value);\n    }, function rejectPromise(reason) {\n      reject(promise, reason);\n    });\n  } catch (e) {\n    reject(promise, e);\n  }\n}\n\nvar id = 0;\nfunction nextId() {\n  return id++;\n}\n\nfunction makePromise(promise) {\n  promise[PROMISE_ID] = id++;\n  promise._state = undefined;\n  promise._result = undefined;\n  promise._subscribers = [];\n}\n\nfunction Enumerator$1(Constructor, input) {\n  this._instanceConstructor = Constructor;\n  this.promise = new Constructor(noop);\n\n  if (!this.promise[PROMISE_ID]) {\n    makePromise(this.promise);\n  }\n\n  if (isArray(input)) {\n    this.length = input.length;\n    this._remaining = input.length;\n\n    this._result = new Array(this.length);\n\n    if (this.length === 0) {\n      fulfill(this.promise, this._result);\n    } else {\n      this.length = this.length || 0;\n      this._enumerate(input);\n      if (this._remaining === 0) {\n        fulfill(this.promise, this._result);\n      }\n    }\n  } else {\n    reject(this.promise, validationError());\n  }\n}\n\nfunction validationError() {\n  return new Error('Array Methods must be provided an Array');\n}\n\nEnumerator$1.prototype._enumerate = function (input) {\n  for (var i = 0; this._state === PENDING && i < input.length; i++) {\n    this._eachEntry(input[i], i);\n  }\n};\n\nEnumerator$1.prototype._eachEntry = function (entry, i) {\n  var c = this._instanceConstructor;\n  var resolve$$1 = c.resolve;\n\n  if (resolve$$1 === resolve$1) {\n    var _then = getThen(entry);\n\n    if (_then === then && entry._state !== PENDING) {\n      this._settledAt(entry._state, i, entry._result);\n    } else if (typeof _then !== 'function') {\n      this._remaining--;\n      this._result[i] = entry;\n    } else if (c === Promise$2) {\n      var promise = new c(noop);\n      handleMaybeThenable(promise, entry, _then);\n      this._willSettleAt(promise, i);\n    } else {\n      this._willSettleAt(new c(function (resolve$$1) {\n        return resolve$$1(entry);\n      }), i);\n    }\n  } else {\n    this._willSettleAt(resolve$$1(entry), i);\n  }\n};\n\nEnumerator$1.prototype._settledAt = function (state, i, value) {\n  var promise = this.promise;\n\n  if (promise._state === PENDING) {\n    this._remaining--;\n\n    if (state === REJECTED) {\n      reject(promise, value);\n    } else {\n      this._result[i] = value;\n    }\n  }\n\n  if (this._remaining === 0) {\n    fulfill(promise, this._result);\n  }\n};\n\nEnumerator$1.prototype._willSettleAt = function (promise, i) {\n  var enumerator = this;\n\n  subscribe(promise, undefined, function (value) {\n    return enumerator._settledAt(FULFILLED, i, value);\n  }, function (reason) {\n    return enumerator._settledAt(REJECTED, i, reason);\n  });\n};\n\n/**\n  `Promise.all` accepts an array of promises, and returns a new promise which\n  is fulfilled with an array of fulfillment values for the passed promises, or\n  rejected with the reason of the first passed promise to be rejected. It casts all\n  elements of the passed iterable to promises as it runs this algorithm.\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = resolve(2);\n  let promise3 = resolve(3);\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // The array here would be [ 1, 2, 3 ];\n  });\n  ```\n\n  If any of the `promises` given to `all` are rejected, the first promise\n  that is rejected will be given as an argument to the returned promises's\n  rejection handler. For example:\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = reject(new Error(\"2\"));\n  let promise3 = reject(new Error(\"3\"));\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // Code here never runs because there are rejected promises!\n  }, function(error) {\n    // error.message === \"2\"\n  });\n  ```\n\n  @method all\n  @static\n  @param {Array} entries array of promises\n  @param {String} label optional string for labeling the promise.\n  Useful for tooling.\n  @return {Promise} promise that is fulfilled when all `promises` have been\n  fulfilled, or rejected if any of them become rejected.\n  @static\n*/\nfunction all$1(entries) {\n  return new Enumerator$1(this, entries).promise;\n}\n\n/**\n  `Promise.race` returns a new promise which is settled in the same way as the\n  first passed promise to settle.\n\n  Example:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 2');\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // result === 'promise 2' because it was resolved before promise1\n    // was resolved.\n  });\n  ```\n\n  `Promise.race` is deterministic in that only the state of the first\n  settled promise matters. For example, even if other promises given to the\n  `promises` array argument are resolved, but the first settled promise has\n  become rejected before the other promises became fulfilled, the returned\n  promise will become rejected:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      reject(new Error('promise 2'));\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // Code here never runs\n  }, function(reason){\n    // reason.message === 'promise 2' because promise 2 became rejected before\n    // promise 1 became fulfilled\n  });\n  ```\n\n  An example real-world use case is implementing timeouts:\n\n  ```javascript\n  Promise.race([ajax('foo.json'), timeout(5000)])\n  ```\n\n  @method race\n  @static\n  @param {Array} promises array of promises to observe\n  Useful for tooling.\n  @return {Promise} a promise which settles in the same way as the first passed\n  promise to settle.\n*/\nfunction race$1(entries) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (!isArray(entries)) {\n    return new Constructor(function (_, reject) {\n      return reject(new TypeError('You must pass an array to race.'));\n    });\n  } else {\n    return new Constructor(function (resolve, reject) {\n      var length = entries.length;\n      for (var i = 0; i < length; i++) {\n        Constructor.resolve(entries[i]).then(resolve, reject);\n      }\n    });\n  }\n}\n\n/**\n  `Promise.reject` returns a promise rejected with the passed `reason`.\n  It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    reject(new Error('WHOOPS'));\n  });\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.reject(new Error('WHOOPS'));\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  @method reject\n  @static\n  @param {Any} reason value that the returned promise will be rejected with.\n  Useful for tooling.\n  @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n  /*jshint validthis:true */\n  var Constructor = this;\n  var promise = new Constructor(noop);\n  reject(promise, reason);\n  return promise;\n}\n\nfunction needsResolver() {\n  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n  throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n  Promise objects represent the eventual result of an asynchronous operation. The\n  primary way of interacting with a promise is through its `then` method, which\n  registers callbacks to receive either a promise's eventual value or the reason\n  why the promise cannot be fulfilled.\n\n  Terminology\n  -----------\n\n  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n  - `thenable` is an object or function that defines a `then` method.\n  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n  - `exception` is a value that is thrown using the throw statement.\n  - `reason` is a value that indicates why a promise was rejected.\n  - `settled` the final resting state of a promise, fulfilled or rejected.\n\n  A promise can be in one of three states: pending, fulfilled, or rejected.\n\n  Promises that are fulfilled have a fulfillment value and are in the fulfilled\n  state.  Promises that are rejected have a rejection reason and are in the\n  rejected state.  A fulfillment value is never a thenable.\n\n  Promises can also be said to *resolve* a value.  If this value is also a\n  promise, then the original promise's settled state will match the value's\n  settled state.  So a promise that *resolves* a promise that rejects will\n  itself reject, and a promise that *resolves* a promise that fulfills will\n  itself fulfill.\n\n\n  Basic Usage:\n  ------------\n\n  ```js\n  let promise = new Promise(function(resolve, reject) {\n    // on success\n    resolve(value);\n\n    // on failure\n    reject(reason);\n  });\n\n  promise.then(function(value) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Advanced Usage:\n  ---------------\n\n  Promises shine when abstracting away asynchronous interactions such as\n  `XMLHttpRequest`s.\n\n  ```js\n  function getJSON(url) {\n    return new Promise(function(resolve, reject){\n      let xhr = new XMLHttpRequest();\n\n      xhr.open('GET', url);\n      xhr.onreadystatechange = handler;\n      xhr.responseType = 'json';\n      xhr.setRequestHeader('Accept', 'application/json');\n      xhr.send();\n\n      function handler() {\n        if (this.readyState === this.DONE) {\n          if (this.status === 200) {\n            resolve(this.response);\n          } else {\n            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n          }\n        }\n      };\n    });\n  }\n\n  getJSON('/posts.json').then(function(json) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Unlike callbacks, promises are great composable primitives.\n\n  ```js\n  Promise.all([\n    getJSON('/posts'),\n    getJSON('/comments')\n  ]).then(function(values){\n    values[0] // => postsJSON\n    values[1] // => commentsJSON\n\n    return values;\n  });\n  ```\n\n  @class Promise\n  @param {function} resolver\n  Useful for tooling.\n  @constructor\n*/\nfunction Promise$2(resolver) {\n  this[PROMISE_ID] = nextId();\n  this._result = this._state = undefined;\n  this._subscribers = [];\n\n  if (noop !== resolver) {\n    typeof resolver !== 'function' && needsResolver();\n    this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();\n  }\n}\n\nPromise$2.all = all$1;\nPromise$2.race = race$1;\nPromise$2.resolve = resolve$1;\nPromise$2.reject = reject$1;\nPromise$2._setScheduler = setScheduler;\nPromise$2._setAsap = setAsap;\nPromise$2._asap = asap;\n\nPromise$2.prototype = {\n  constructor: Promise$2,\n\n  /**\n    The primary way of interacting with a promise is through its `then` method,\n    which registers callbacks to receive either a promise's eventual value or the\n    reason why the promise cannot be fulfilled.\n  \n    ```js\n    findUser().then(function(user){\n      // user is available\n    }, function(reason){\n      // user is unavailable, and you are given the reason why\n    });\n    ```\n  \n    Chaining\n    --------\n  \n    The return value of `then` is itself a promise.  This second, 'downstream'\n    promise is resolved with the return value of the first promise's fulfillment\n    or rejection handler, or rejected if the handler throws an exception.\n  \n    ```js\n    findUser().then(function (user) {\n      return user.name;\n    }, function (reason) {\n      return 'default name';\n    }).then(function (userName) {\n      // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n      // will be `'default name'`\n    });\n  \n    findUser().then(function (user) {\n      throw new Error('Found user, but still unhappy');\n    }, function (reason) {\n      throw new Error('`findUser` rejected and we're unhappy');\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n      // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n    });\n    ```\n    If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n  \n    ```js\n    findUser().then(function (user) {\n      throw new PedagogicalException('Upstream error');\n    }).then(function (value) {\n      // never reached\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // The `PedgagocialException` is propagated all the way down to here\n    });\n    ```\n  \n    Assimilation\n    ------------\n  \n    Sometimes the value you want to propagate to a downstream promise can only be\n    retrieved asynchronously. This can be achieved by returning a promise in the\n    fulfillment or rejection handler. The downstream promise will then be pending\n    until the returned promise is settled. This is called *assimilation*.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // The user's comments are now available\n    });\n    ```\n  \n    If the assimliated promise rejects, then the downstream promise will also reject.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // If `findCommentsByAuthor` fulfills, we'll have the value here\n    }, function (reason) {\n      // If `findCommentsByAuthor` rejects, we'll have the reason here\n    });\n    ```\n  \n    Simple Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let result;\n  \n    try {\n      result = findResult();\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n    findResult(function(result, err){\n      if (err) {\n        // failure\n      } else {\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findResult().then(function(result){\n      // success\n    }, function(reason){\n      // failure\n    });\n    ```\n  \n    Advanced Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let author, books;\n  \n    try {\n      author = findAuthor();\n      books  = findBooksByAuthor(author);\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n  \n    function foundBooks(books) {\n  \n    }\n  \n    function failure(reason) {\n  \n    }\n  \n    findAuthor(function(author, err){\n      if (err) {\n        failure(err);\n        // failure\n      } else {\n        try {\n          findBoooksByAuthor(author, function(books, err) {\n            if (err) {\n              failure(err);\n            } else {\n              try {\n                foundBooks(books);\n              } catch(reason) {\n                failure(reason);\n              }\n            }\n          });\n        } catch(error) {\n          failure(err);\n        }\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findAuthor().\n      then(findBooksByAuthor).\n      then(function(books){\n        // found books\n    }).catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method then\n    @param {Function} onFulfilled\n    @param {Function} onRejected\n    Useful for tooling.\n    @return {Promise}\n  */\n  then: then,\n\n  /**\n    `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n    as the catch block of a try/catch statement.\n  \n    ```js\n    function findAuthor(){\n      throw new Error('couldn't find that author');\n    }\n  \n    // synchronous\n    try {\n      findAuthor();\n    } catch(reason) {\n      // something went wrong\n    }\n  \n    // async with promises\n    findAuthor().catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method catch\n    @param {Function} onRejection\n    Useful for tooling.\n    @return {Promise}\n  */\n  'catch': function _catch(onRejection) {\n    return this.then(null, onRejection);\n  }\n};\n\n/*global self*/\nfunction polyfill$1() {\n    var local = undefined;\n\n    if (typeof global !== 'undefined') {\n        local = global;\n    } else if (typeof self !== 'undefined') {\n        local = self;\n    } else {\n        try {\n            local = Function('return this')();\n        } catch (e) {\n            throw new Error('polyfill failed because global object is unavailable in this environment');\n        }\n    }\n\n    var P = local.Promise;\n\n    if (P) {\n        var promiseToString = null;\n        try {\n            promiseToString = Object.prototype.toString.call(P.resolve());\n        } catch (e) {\n            // silently ignored\n        }\n\n        if (promiseToString === '[object Promise]' && !P.cast) {\n            return;\n        }\n    }\n\n    local.Promise = Promise$2;\n}\n\n// Strange compat..\nPromise$2.polyfill = polyfill$1;\nPromise$2.Promise = Promise$2;\n\nreturn Promise$2;\n\n})));\n\n//# sourceMappingURL=es6-promise.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/es6-promise/dist/es6-promise.js\n// module id = 95\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/webpack/buildin/global.js\n// module id = 96\n// module chunks = 0","import React, { Component } from 'react'\nimport FlipMove from 'react-flip-move'\nimport autosize from 'autosize'\n\nimport i18n from './i18n'\nimport './style/index.styl'\nimport {\n  queryParse,\n  queryStringify,\n  axiosJSON,\n  axiosGithub,\n  getMetaContent,\n  formatErrorMsg,\n  hasClassInParent\n} from './util'\nimport Avatar from './component/avatar'\nimport Button from './component/button'\nimport Action from './component/action'\nimport Comment from './component/comment'\nimport Svg from './component/svg'\nimport { GT_ACCESS_TOKEN, GT_VERSION, GT_COMMENT } from './const'\nimport QLGetComments from './graphql/getComments'\n\nclass GitalkComponent extends Component {\n  state = {\n    user: null,\n    issue: null,\n    comments: [],\n    localComments: [],\n    comment: '',\n    page: 1,\n    pagerDirection: 'last',\n    cursor: null,\n    previewHtml: '',\n\n    isNoInit: false,\n    isIniting: true,\n    isCreating: false,\n    isLoading: false,\n    isLoadMore: false,\n    isLoadOver: false,\n    isIssueCreating: false,\n    isPopupVisible: false,\n    isInputFocused: false,\n    isPreview: false,\n\n    isOccurError: false,\n    errorMsg: '',\n  }\n  constructor (props) {\n    super(props)\n    this.options = Object.assign({}, {\n      id: window.location.href,\n      number: -1,\n      labels: ['Gitalk'],\n      title: window.document.title,\n      body: '', // window.location.href + header.meta[description]\n      language: window.navigator.language || window.navigator.userLanguage,\n      perPage: 10,\n      pagerDirection: 'last', // last or first\n      createIssueManually: false,\n      distractionFreeMode: false,\n      proxy: 'https://cors-anywhere.herokuapp.com/https://github.com/login/oauth/access_token',\n      flipMoveOptions: {\n        staggerDelayBy: 150,\n        appearAnimation: 'accordionVertical',\n        enterAnimation: 'accordionVertical',\n        leaveAnimation: 'accordionVertical',\n      },\n      enableHotKey: true,\n\n      url: window.location.href,\n\n      defaultAuthor: {\n        avatarUrl: '//avatars1.githubusercontent.com/u/29697133?s=50',\n        login: 'null',\n        url: '',\n      },\n\n      updateCountCallback: null\n    }, props.options)\n\n    this.state.pagerDirection = this.options.pagerDirection\n    const storedComment = window.localStorage.getItem(GT_COMMENT)\n    if (storedComment) {\n      this.state.comment = decodeURIComponent(storedComment)\n      window.localStorage.removeItem(GT_COMMENT)\n    }\n\n    const query = queryParse()\n    if (query.code) {\n      const code = query.code\n      delete query.code\n      const replacedUrl = `${window.location.origin}${window.location.pathname}${queryStringify(query)}${window.location.hash}`\n      history.replaceState(null, null, replacedUrl)\n      this.options = Object.assign({}, this.options, {\n        url: replacedUrl,\n        id: replacedUrl\n      }, props.options)\n\n      axiosJSON.post(this.options.proxy, {\n        code,\n        client_id: this.options.clientID,\n        client_secret: this.options.clientSecret\n      }).then(res => {\n        if (res.data && res.data.access_token) {\n          this.accessToken = res.data.access_token\n\n          this.getInit()\n            .then(() => this.setState({ isIniting: false }))\n            .catch(err => {\n              console.log('err:', err)\n              this.setState({\n                isIniting: false,\n                isOccurError: true,\n                errorMsg: formatErrorMsg(err)\n              })\n            })\n        } else {\n          // no access_token\n          console.log('res.data err:', res.data)\n          this.setState({\n            isOccurError: true,\n            errorMsg: formatErrorMsg(new Error('no access token'))\n          })\n        }\n      }).catch(err => {\n        console.log('err: ', err)\n        this.setState({\n          isOccurError: true,\n          errorMsg: formatErrorMsg(err)\n        })\n      })\n    } else {\n      this.getInit()\n        .then(() => this.setState({ isIniting: false }))\n        .catch(err => {\n          console.log('err:', err)\n          this.setState({\n            isIniting: false,\n            isOccurError: true,\n            errorMsg: formatErrorMsg(err)\n          })\n        })\n    }\n\n    this.i18n = i18n(this.options.language)\n  }\n  componentDidUpdate () {\n    this.commentEL && autosize(this.commentEL)\n  }\n\n  get accessToken () {\n    return this._accessToke || window.localStorage.getItem(GT_ACCESS_TOKEN)\n  }\n  set accessToken (token) {\n    window.localStorage.setItem(GT_ACCESS_TOKEN, token)\n    this._accessToken = token\n  }\n  get loginLink () {\n    const githubOauthUrl = 'https://github.com/login/oauth/authorize'\n    const { clientID } = this.options\n    const query = {\n      client_id: clientID,\n      redirect_uri: window.location.href,\n      scope: 'public_repo'\n    }\n    return `${githubOauthUrl}?${queryStringify(query)}`\n  }\n  get isAdmin () {\n    const { admin } = this.options\n    const { user } = this.state\n\n    return user && ~[].concat(admin).map(a => a.toLowerCase()).indexOf(user.login.toLowerCase())\n  }\n\n  getInit () {\n    return this.getUserInfo().then(() => this.getIssue()).then(issue => this.getComments(issue))\n  }\n  getUserInfo () {\n    return axiosGithub.get('/user', {\n      headers: {\n        Authorization: `token ${this.accessToken}`\n      }\n    }).then(res => {\n      this.setState({ user: res.data })\n    }).catch(err => {\n      this.logout()\n    })\n  }\n  getIssueById () {\n    const { owner, repo, number, clientID, clientSecret } = this.options\n    const getUrl = `/repos/${owner}/${repo}/issues/${number}`\n\n    return new Promise((resolve, reject) => {\n      axiosGithub.get(getUrl, {\n        auth: {\n          username: clientID,\n          password: clientSecret\n        },\n        params: {\n          t: Date.now()\n        }\n      })\n        .then(res => {\n          let issue = null\n\n          if (res && res.data && res.data.number === number) {\n            issue = res.data\n\n            this.setState({ issue, isNoInit: false })\n          }\n          resolve(issue)\n        })\n        .catch(err => {\n          // When the status code is 404, promise will be resolved with null\n          if (err.response.status === 404) resolve(null)\n          reject(err)\n        })\n    })\n  }\n  getIssueByLabels () {\n    const { owner, repo, id, labels, clientID, clientSecret } = this.options\n\n    return axiosGithub.get(`/repos/${owner}/${repo}/issues`, {\n      auth: {\n        username: clientID,\n        password: clientSecret\n      },\n      params: {\n        labels: labels.concat(id).join(','),\n        t: Date.now()\n      }\n    }).then(res => {\n      const { createIssueManually } = this.options\n      let isNoInit = false\n      let issue = null\n      if (!(res && res.data && res.data.length)) {\n        if (!createIssueManually && this.isAdmin) {\n          return this.createIssue()\n        }\n\n        isNoInit = true\n      } else {\n        issue = res.data[0]\n      }\n      this.setState({ issue, isNoInit })\n      return issue\n    })\n  }\n  getIssue () {\n    const { number } = this.options\n    const { issue } = this.state\n    if (issue) {\n      this.setState({ isNoInit: false })\n      return Promise.resolve(issue)\n    }\n\n    if (typeof number === 'number' && number > 0) {\n      return this.getIssueById().then(resIssue => {\n        if (!resIssue) return this.getIssueByLabels()\n        return resIssue\n      })\n    }\n    return this.getIssueByLabels()\n  }\n  createIssue () {\n    const { owner, repo, title, body, id, labels, url } = this.options\n    return axiosGithub.post(`/repos/${owner}/${repo}/issues`, {\n      title,\n      labels: labels.concat(id),\n      body: body || `${url} \\n\\n ${\n        getMetaContent('description') ||\n        getMetaContent('description', 'og:description') || ''\n      }`\n    }, {\n      headers: {\n        Authorization: `token ${this.accessToken}`\n      }\n    }).then(res => {\n      this.setState({ issue: res.data })\n      return res.data\n    })\n  }\n  // Get comments via v3 api, don't require login, but sorting feature is disable\n  getCommentsV3 = issue => {\n    const { clientID, clientSecret, perPage } = this.options\n    const { page } = this.state\n\n    return this.getIssue()\n      .then(issue => {\n        if (!issue) return\n\n        return axiosGithub.get(issue.comments_url, {\n          headers: {\n            Accept: 'application/vnd.github.v3.full+json'\n          },\n          auth: {\n            username: clientID,\n            password: clientSecret\n          },\n          params: {\n            per_page: perPage,\n            page\n          }\n        }).then(res => {\n          const { comments, issue } = this.state\n          let isLoadOver = false\n          const cs = comments.concat(res.data)\n          if (cs.length >= issue.comments || res.data.length < perPage) {\n            isLoadOver = true\n          }\n          this.setState({\n            comments: cs,\n            isLoadOver,\n            page: page + 1\n          })\n          return cs\n        })\n      })\n  }\n  getComments (issue) {\n    if (!issue) return\n    // Get comments via v4 graphql api, login required and sorting feature is available\n    if (this.accessToken) return QLGetComments.call(this, issue)\n    return this.getCommentsV3(issue)\n  }\n\n  createComment () {\n    const { comment, localComments, comments } = this.state\n\n    return this.getIssue()\n      .then(issue => axiosGithub.post(issue.comments_url, {\n        body: comment\n      }, {\n        headers: {\n          Accept: 'application/vnd.github.v3.full+json',\n          Authorization: `token ${this.accessToken}`\n        }\n      }))\n      .then(res => {\n        this.setState({\n          comment: '',\n          comments: comments.concat(res.data),\n          localComments: localComments.concat(res.data)\n        })\n      })\n  }\n  logout () {\n    this.setState({ user: null })\n    window.localStorage.removeItem(GT_ACCESS_TOKEN)\n  }\n  getRef = e => {\n    this.publicBtnEL = e\n  }\n  reply = replyComment => () => {\n    const { comment } = this.state\n    const replyCommentBody = replyComment.body\n    let replyCommentArray = replyCommentBody.split('\\n')\n    replyCommentArray.unshift(`@${replyComment.user.login}`)\n    replyCommentArray = replyCommentArray.map(t => `> ${t}`)\n    replyCommentArray.push('')\n    replyCommentArray.push('')\n    if (comment) replyCommentArray.unshift('')\n    this.setState({ comment: comment + replyCommentArray.join('\\n') }, () => {\n      autosize.update(this.commentEL)\n      this.commentEL.focus()\n    })\n  }\n  like (comment) {\n    const { owner, repo } = this.options\n    const { user } = this.state\n    let { comments } = this.state\n\n    axiosGithub.post(`/repos/${owner}/${repo}/issues/comments/${comment.id}/reactions`, {\n      content: 'heart'\n    }, {\n      headers: {\n        Authorization: `token ${this.accessToken}`,\n        Accept: 'application/vnd.github.squirrel-girl-preview'\n      }\n    }).then(res => {\n      comments = comments.map(c => {\n        if (c.id === comment.id) {\n          if (c.reactions) {\n            if (!~c.reactions.nodes.findIndex(n => n.user.login === user.login)) {\n              c.reactions.totalCount += 1\n            }\n          } else {\n            c.reactions = { nodes: [] }\n            c.reactions.totalCount = 1\n          }\n\n          c.reactions.nodes.push(res.data)\n          c.reactions.viewerHasReacted = true\n        }\n        return c\n      })\n\n      this.setState({\n        comments\n      })\n    })\n  }\n  unLike (comment) {\n    const { user } = this.state\n    let { comments } = this.state\n\n    // const {  user } = this.state\n    // let id\n    // comment.reactions.nodes.forEach(r => {\n    //   if (r.user.login = user.login) id = r.databaseId\n    // })\n    // return axiosGithub.delete(`/reactions/${id}`, {\n    //   headers: {\n    //     Authorization: `token ${this.accessToken}`,\n    //     Accept: 'application/vnd.github.squirrel-girl-preview'\n    //   }\n    // }).then(res => {\n    //   console.log('res:', res)\n    // })\n\n    const getQL = id => ({\n      operationName: 'RemoveReaction',\n      query: `\n          mutation RemoveReaction{\n            removeReaction (input:{\n              subjectId: \"${id}\",\n              content: HEART\n            }) {\n              reaction {\n                content\n              }\n            }\n          }\n        `\n    })\n\n    axiosGithub.post('/graphql', getQL(comment.gId), {\n      headers: {\n        Authorization: `bearer ${this.accessToken}`\n      }\n    }).then(res => {\n      if (res.data) {\n        comments = comments.map(c => {\n          if (c.id === comment.id) {\n            const index = c.reactions.nodes.findIndex(n => n.user.login === user.login)\n            if (~index) {\n              c.reactions.totalCount -= 1\n              c.reactions.nodes.splice(index, 1)\n            }\n            c.reactions.viewerHasReacted = false\n          }\n          return c\n        })\n\n        this.setState({\n          comments\n        })\n      }\n    })\n  }\n\n\n  handlePopup = e => {\n    e.preventDefault()\n    e.stopPropagation()\n    const isVisible = !this.state.isPopupVisible\n    const hideHandle = e1 => {\n      if (hasClassInParent(e1.target, 'gt-user', 'gt-popup')) {\n        return\n      }\n      window.document.removeEventListener('click', hideHandle)\n      this.setState({ isPopupVisible: false })\n    }\n    this.setState({ isPopupVisible: isVisible })\n    if (isVisible) {\n      window.document.addEventListener('click', hideHandle)\n    } else {\n      window.document.removeEventListener('click', hideHandle)\n    }\n  }\n  handleLogin = () => {\n    const { comment } = this.state\n    window.localStorage.setItem(GT_COMMENT, encodeURIComponent(comment))\n    window.location.href = this.loginLink\n  }\n  handleIssueCreate = () => {\n    this.setState({ isIssueCreating: true })\n    this.createIssue().then(issue => {\n      this.setState({\n        isIssueCreating: false,\n        isOccurError: false\n      })\n      return this.getComments(issue)\n    }).catch(err => {\n      this.setState({\n        isIssueCreating: false,\n        isOccurError: true,\n        errorMsg: formatErrorMsg(err)\n      })\n    }).then(res => {\n      if (res) {\n        this.setState({\n          isNoInit: false,\n        })\n      }\n    })\n  }\n  handleCommentCreate = e => {\n    if (!this.state.comment.length) {\n      e && e.preventDefault()\n      this.commentEL.focus()\n      return\n    }\n    this.setState(state => {\n      if (state.isCreating) return\n\n      this.createComment()\n        .then(() => this.setState({\n          isCreating: false,\n          isOccurError: false\n        }))\n        .catch(err => {\n          this.setState({\n            isCreating: false,\n            isOccurError: true,\n            errorMsg: formatErrorMsg(err)\n          })\n        })\n      return { isCreating: true }\n    })\n  }\n  handleCommentPreview = e => {\n    this.setState({\n      isPreview: !this.state.isPreview\n    })\n\n    axiosGithub.post('/markdown', {\n      text: this.state.comment\n    }, {\n      headers: this.accessToken && { Authorization: `token ${this.accessToken}` }\n    }).then(res => {\n      this.setState({\n        previewHtml: res.data\n      })\n    }).catch(err => {\n      this.setState({\n        isOccurError: true,\n        errorMsg: formatErrorMsg(err)\n      })\n    })\n  }\n  handleCommentLoad = () => {\n    const { issue, isLoadMore } = this.state\n    if (isLoadMore) return\n    this.setState({ isLoadMore: true })\n    this.getComments(issue).then(() => this.setState({ isLoadMore: false }))\n  }\n  handleCommentChange = e => this.setState({ comment: e.target.value })\n  handleLogout = () => {\n    this.logout()\n    window.location.reload()\n  }\n  handleCommentFocus = e => {\n    const { distractionFreeMode } = this.options\n    if (!distractionFreeMode) return e.preventDefault()\n    this.setState({ isInputFocused: true })\n  }\n  handleCommentBlur = e => {\n    const { distractionFreeMode } = this.options\n    if (!distractionFreeMode) return e.preventDefault()\n    this.setState({ isInputFocused: false })\n  }\n  handleSort = direction => e => {\n    this.setState({ pagerDirection: direction })\n  }\n  handleCommentKeyDown = e => {\n    const { enableHotKey } = this.options\n    if (enableHotKey && (e.metaKey || e.ctrlKey) && e.keyCode === 13) {\n      this.publicBtnEL && this.publicBtnEL.focus()\n      this.handleCommentCreate()\n    }\n  }\n\n  initing () {\n    return <div className=\"gt-initing\">\n      <i className=\"gt-loader\"/>\n      <p className=\"gt-initing-text\">{this.i18n.t('init')}</p>\n    </div>\n  }\n  noInit () {\n    const { user, isIssueCreating } = this.state\n    const { owner, repo, admin } = this.options\n    return (\n      <div className=\"gt-no-init\" key=\"no-init\">\n        <p dangerouslySetInnerHTML={{\n          __html: this.i18n.t('no-found-related', {\n            link: `<a href=\"https://github.com/${owner}/${repo}/issues\">Issues</a>`\n          })\n        }}/>\n        <p>{this.i18n.t('please-contact', { user: [].concat(admin).map(u => `@${u}`).join(' ') })}</p>\n        {this.isAdmin ? <p>\n          <Button onClick={this.handleIssueCreate} isLoading={isIssueCreating} text={this.i18n.t('init-issue')} />\n        </p> : null}\n        {!user && <Button className=\"gt-btn-login\" onClick={this.handleLogin} text={this.i18n.t('login-with-github')} />}\n      </div>\n    )\n  }\n\n  handleImageErrored(obj) {\n    obj.target.src=\"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n  }\n  header () {\n    const { user, comment, isCreating, previewHtml, isPreview } = this.state\n    return (\n      <div className=\"gt-header\" key=\"header\">\n        {user ?\n          <Avatar className=\"gt-header-avatar\" src={user.avatar_url} alt={user.login} onError={this.handleImageErrored.bind(this)} />:\n          <a className=\"gt-avatar-github\" onMouseDown={this.handleLogin}>\n            <Svg className=\"gt-ico-github\" name=\"github\"/>\n          </a>\n        }\n        <div className=\"gt-header-comment\">\n          <textarea\n            ref={t => { this.commentEL = t }}\n            className={`gt-header-textarea ${isPreview ? 'hide' : ''}`}\n            value={comment}\n            onChange={this.handleCommentChange}\n            onFocus={this.handleCommentFocus}\n            onBlur={this.handleCommentBlur}\n            onKeyDown={this.handleCommentKeyDown}\n            placeholder={this.i18n.t('leave-a-comment')}\n          />\n          <div\n            className={`gt-header-preview markdown-body ${isPreview ? '' : 'hide'}`}\n            dangerouslySetInnerHTML={{ __html: previewHtml }}\n          />\n          <div className=\"gt-header-controls\">\n            <a className=\"gt-header-controls-tip\" href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\">\n              <Svg className=\"gt-ico-tip\" name=\"tip\" text={this.i18n.t('support-markdown')}/>\n            </a>\n            {user && <Button\n              getRef={this.getRef}\n              className=\"gt-btn-public\"\n              onMouseDown={this.handleCommentCreate}\n              text={this.i18n.t('comment')}\n              isLoading={isCreating}\n            />}\n\n            <Button\n              className=\"gt-btn-preview\"\n              onMouseDown={this.handleCommentPreview}\n              text={isPreview ? this.i18n.t('edit') : this.i18n.t('preview')}\n              // isLoading={isPreviewing}\n            />\n            {!user && <Button className=\"gt-btn-login\" onMouseDown={this.handleLogin} text={this.i18n.t('login-with-github')} />}\n          </div>\n        </div>\n      </div>\n    )\n  }\n  comments () {\n    const { user, comments, isLoadOver, isLoadMore, pagerDirection } = this.state\n    const { language, flipMoveOptions, admin } = this.options\n    const totalComments = comments.concat([])\n    if (pagerDirection === 'last' && this.accessToken) {\n      totalComments.reverse()\n    }\n    return (\n      <div className=\"gt-comments\" key=\"comments\">\n        <FlipMove {...flipMoveOptions}>\n          {totalComments.map(c => (\n            <Comment\n              comment={c}\n              key={c.id}\n              user={user}\n              language={language}\n              commentedText={this.i18n.t('commented')}\n              admin={admin}\n              replyCallback={this.reply(c)}\n              likeCallback={c.reactions && c.reactions.viewerHasReacted ? this.unLike.bind(this, c) : this.like.bind(this, c)}\n            />\n          ))}\n        </FlipMove>\n        {!totalComments.length && <p className=\"gt-comments-null\">{this.i18n.t('first-comment-person')}</p>}\n        {(!isLoadOver && totalComments.length) ? <div className=\"gt-comments-controls\">\n          <Button className=\"gt-btn-loadmore\" onClick={this.handleCommentLoad} isLoading={isLoadMore} text={this.i18n.t('load-more')} />\n        </div> : null}\n      </div>\n    )\n  }\n  meta () {\n    const { user, issue, isPopupVisible, pagerDirection, localComments } = this.state\n    const cnt = (issue && issue.comments) + localComments.length\n    const isDesc = pagerDirection === 'last'\n    const { updateCountCallback } = this.options\n\n    // window.GITALK_COMMENTS_COUNT = cnt\n    if (\n      updateCountCallback &&\n      {}.toString.call(updateCountCallback) === '[object Function]'\n    ) {\n      try {\n        updateCountCallback(cnt)\n      } catch (err) {\n        console.log('An error occurred executing the updateCountCallback:', err)\n      }\n    }\n\n    return (\n      <div className=\"gt-meta\" key=\"meta\" >\n        <span className=\"gt-counts\" dangerouslySetInnerHTML={{\n          __html: this.i18n.t('counts', {\n            counts: `<a class=\"gt-link gt-link-counts\" href=\"${issue && issue.html_url}\" target=\"_blank\">${cnt}</a>`,\n            smart_count: cnt\n          })\n        }}/>\n        {isPopupVisible &&\n          <div className=\"gt-popup\">\n            {user ? <Action className={`gt-action-sortasc${!isDesc ? ' is--active' : ''}`} onClick={this.handleSort('first')} text={this.i18n.t('sort-asc')}/> : null }\n            {user ? <Action className={`gt-action-sortdesc${isDesc ? ' is--active' : ''}`} onClick={this.handleSort('last')} text={this.i18n.t('sort-desc')}/> : null }\n            {user ?\n              <Action className=\"gt-action-logout\" onClick={this.handleLogout} text={this.i18n.t('logout')}/> :\n              <a className=\"gt-action gt-action-login\" onMouseDown={this.handleLogin}>{this.i18n.t('login-with-github')}</a>\n            }\n            <div className=\"gt-copyright\">\n              <a className=\"gt-link gt-link-project\" href=\"https://github.com/gitalk/gitalk\" target=\"_blank\">Gitalk</a>\n              <span className=\"gt-version\">{GT_VERSION}</span>\n            </div>\n          </div>\n        }\n        <div className=\"gt-user\">\n          {user ?\n            <div className={isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner'} onClick={this.handlePopup}>\n              <span className=\"gt-user-name\">{user.login}</span>\n              <Svg className=\"gt-ico-arrdown\" name=\"arrow_down\"/>\n            </div> :\n            <div className={isPopupVisible ? 'gt-user-inner is--poping' : 'gt-user-inner'} onClick={this.handlePopup}>\n              <span className=\"gt-user-name\">{this.i18n.t('anonymous')}</span>\n              <Svg className=\"gt-ico-arrdown\" name=\"arrow_down\"/>\n            </div>\n          }\n        </div>\n      </div>\n    )\n  }\n\n  render () {\n    const { isIniting, isNoInit, isOccurError, errorMsg, isInputFocused } = this.state\n    return (\n      <div className={`gt-container${isInputFocused ? ' gt-input-focused' : ''}`}>\n        {isIniting && this.initing()}\n        {!isIniting && (\n          isNoInit ? [\n          ] : [\n            this.meta()\n          ])\n        }\n        {isOccurError && <div className=\"gt-error\">\n          {errorMsg}\n        </div>}\n        {!isIniting && (\n          isNoInit ? [\n            this.noInit()\n          ] : [\n            this.header(),\n            this.comments()\n          ])\n        }\n      </div>\n    )\n  }\n}\n\nmodule.exports = GitalkComponent\n\n\n\n// WEBPACK FOOTER //\n// ./gitalk.jsx","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/promise.js\n// module id = 99\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/promise.js\n// module id = 100\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_string-at.js\n// module id = 101\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-create.js\n// module id = 102\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-dps.js\n// module id = 103\n// module chunks = 0","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_array-includes.js\n// module id = 104\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 105\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n  this._t = toIObject(iterated); // target\n  this._i = 0;                   // next index\n  this._k = kind;                // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var kind = this._k;\n  var index = this._i++;\n  if (!O || index >= O.length) {\n    this._t = undefined;\n    return step(1);\n  }\n  if (kind == 'keys') return step(0, index);\n  if (kind == 'values') return step(0, O[index]);\n  return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 106\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 107\n// module chunks = 0","module.exports = function (done, value) {\n  return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_iter-step.js\n// module id = 108\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n  try {\n    // correct subclassing with @@species support\n    var promise = $Promise.resolve(1);\n    var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n      exec(empty, empty);\n    };\n    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    return (isNode || typeof PromiseRejectionEvent == 'function')\n      && promise.then(empty) instanceof FakePromise\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      && v8.indexOf('6.6') !== 0\n      && userAgent.indexOf('Chrome/66') === -1;\n  } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n  if (promise._n) return;\n  promise._n = true;\n  var chain = promise._c;\n  microtask(function () {\n    var value = promise._v;\n    var ok = promise._s == 1;\n    var i = 0;\n    var run = function (reaction) {\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 (promise._h == 2) onHandleUnhandled(promise);\n            promise._h = 1;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // may 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            then.call(result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (e) {\n        if (domain && !exited) domain.exit();\n        reject(e);\n      }\n    };\n    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n    promise._c = [];\n    promise._n = false;\n    if (isReject && !promise._h) onUnhandled(promise);\n  });\n};\nvar onUnhandled = function (promise) {\n  task.call(global, function () {\n    var value = promise._v;\n    var unhandled = isUnhandled(promise);\n    var result, handler, console;\n    if (unhandled) {\n      result = perform(function () {\n        if (isNode) {\n          process.emit('unhandledRejection', value, promise);\n        } else if (handler = global.onunhandledrejection) {\n          handler({ promise: promise, reason: value });\n        } else if ((console = global.console) && console.error) {\n          console.error('Unhandled promise rejection', value);\n        }\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n    } promise._a = undefined;\n    if (unhandled && result.e) throw result.v;\n  });\n};\nvar isUnhandled = function (promise) {\n  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n  task.call(global, function () {\n    var handler;\n    if (isNode) {\n      process.emit('rejectionHandled', promise);\n    } else if (handler = global.onrejectionhandled) {\n      handler({ promise: promise, reason: promise._v });\n    }\n  });\n};\nvar $reject = function (value) {\n  var promise = this;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  promise._v = value;\n  promise._s = 2;\n  if (!promise._a) promise._a = promise._c.slice();\n  notify(promise, true);\n};\nvar $resolve = function (value) {\n  var promise = this;\n  var then;\n  if (promise._d) return;\n  promise._d = true;\n  promise = promise._w || promise; // unwrap\n  try {\n    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n    if (then = isThenable(value)) {\n      microtask(function () {\n        var wrapper = { _w: promise, _d: false }; // wrap\n        try {\n          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n        } catch (e) {\n          $reject.call(wrapper, e);\n        }\n      });\n    } else {\n      promise._v = value;\n      promise._s = 1;\n      notify(promise, false);\n    }\n  } catch (e) {\n    $reject.call({ _w: promise, _d: false }, e); // wrap\n  }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n  // 25.4.3.1 Promise(executor)\n  $Promise = function Promise(executor) {\n    anInstance(this, $Promise, PROMISE, '_h');\n    aFunction(executor);\n    Internal.call(this);\n    try {\n      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n    } catch (err) {\n      $reject.call(this, err);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\n  Internal = function Promise(executor) {\n    this._c = [];             // <- awaiting reactions\n    this._a = undefined;      // <- checked in isUnhandled reactions\n    this._s = 0;              // <- state\n    this._d = false;          // <- done\n    this._v = undefined;      // <- value\n    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n    this._n = false;          // <- notify\n  };\n  Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n    then: function then(onFulfilled, onRejected) {\n      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = isNode ? process.domain : undefined;\n      this._c.push(reaction);\n      if (this._a) this._a.push(reaction);\n      if (this._s) notify(this, false);\n      return reaction.promise;\n    },\n    // 25.4.5.1 Promise.prototype.catch(onRejected)\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    this.promise = promise;\n    this.resolve = ctx($resolve, promise, 1);\n    this.reject = ctx($reject, promise, 1);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === $Promise || C === Wrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n  // 25.4.4.5 Promise.reject(r)\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    var $$reject = capability.reject;\n    $$reject(r);\n    return capability.promise;\n  }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n  // 25.4.4.6 Promise.resolve(x)\n  resolve: function resolve(x) {\n    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n  }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n  $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n  // 25.4.4.1 Promise.all(iterable)\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 values = [];\n      var index = 0;\n      var remaining = 1;\n      forOf(iterable, false, function (promise) {\n        var $index = index++;\n        var alreadyCalled = false;\n        values.push(undefined);\n        remaining++;\n        C.resolve(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.e) reject(result.v);\n    return capability.promise;\n  },\n  // 25.4.4.4 Promise.race(iterable)\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      forOf(iterable, false, function (promise) {\n        C.resolve(promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.e) reject(result.v);\n    return capability.promise;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.promise.js\n// module id = 109\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n    throw TypeError(name + ': incorrect invocation!');\n  } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_an-instance.js\n// module id = 110\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n  var f = ctx(fn, that, entries ? 2 : 1);\n  var index = 0;\n  var length, step, iterator, result;\n  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n  // fast case for arrays with default iterator\n  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n    if (result === BREAK || result === RETURN) return result;\n  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n    result = call(iterator, f, step.value, entries);\n    if (result === BREAK || result === RETURN) return result;\n  }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_for-of.js\n// module id = 111\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n  var un = that === undefined;\n  switch (args.length) {\n    case 0: return un ? fn()\n                      : fn.call(that);\n    case 1: return un ? fn(args[0])\n                      : fn.call(that, args[0]);\n    case 2: return un ? fn(args[0], args[1])\n                      : fn.call(that, args[0], args[1]);\n    case 3: return un ? fn(args[0], args[1], args[2])\n                      : fn.call(that, args[0], args[1], args[2]);\n    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n                      : fn.call(that, args[0], args[1], args[2], args[3]);\n  } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_invoke.js\n// module id = 112\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n  var head, last, notify;\n\n  var flush = function () {\n    var parent, fn;\n    if (isNode && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (e) {\n        if (head) notify();\n        else last = undefined;\n        throw e;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // Node.js\n  if (isNode) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n    var toggle = true;\n    var node = document.createTextNode('');\n    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    var promise = Promise.resolve(undefined);\n    notify = function () {\n      promise.then(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, flush);\n    };\n  }\n\n  return 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};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_microtask.js\n// module id = 113\n// module chunks = 0","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_user-agent.js\n// module id = 114\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n  for (var key in src) {\n    if (safe && target[key]) target[key] = src[key];\n    else hide(target, key, src[key]);\n  } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_redefine-all.js\n// module id = 115\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n    configurable: true,\n    get: function () { return this; }\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-species.js\n// module id = 116\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n  var C = speciesConstructor(this, core.Promise || global.Promise);\n  var isFunction = typeof onFinally == 'function';\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\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 117\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n  var promiseCapability = newPromiseCapability.f(this);\n  var result = perform(callbackfn);\n  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n  return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 118\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/assign.js\n// module id = 119\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/assign.js\n// module id = 120\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 121\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line no-undef\n  var S = Symbol();\n  var K = 'abcdefghijklmnopqrst';\n  A[S] = 7;\n  K.split('').forEach(function (k) { B[k] = k; });\n  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n  var T = toObject(target);\n  var aLen = arguments.length;\n  var index = 1;\n  var getSymbols = gOPS.f;\n  var isEnum = pIE.f;\n  while (aLen > index) {\n    var S = IObject(arguments[index++]);\n    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-assign.js\n// module id = 122\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 123\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n  return function getPrototypeOf(it) {\n    return $getPrototypeOf(toObject(it));\n  };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 124\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 125\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 126\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/symbol.js\n// module id = 127\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/symbol/index.js\n// module id = 128\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n  return _create(dP({}, 'a', {\n    get: function () { return dP(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (it, key, D) {\n  var protoDesc = gOPD(ObjectProto, key);\n  if (protoDesc) delete ObjectProto[key];\n  dP(it, key, D);\n  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n  sym._k = tag;\n  return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n  anObject(it);\n  key = toPrimitive(key, true);\n  anObject(D);\n  if (has(AllSymbols, key)) {\n    if (!D.enumerable) {\n      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n      it[HIDDEN][key] = true;\n    } else {\n      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n      D = _create(D, { enumerable: createDesc(0, false) });\n    } return setSymbolDesc(it, key, D);\n  } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n  anObject(it);\n  var keys = enumKeys(P = toIObject(P));\n  var i = 0;\n  var l = keys.length;\n  var key;\n  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n  return it;\n};\nvar $create = function create(it, P) {\n  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n  var E = isEnum.call(this, key = toPrimitive(key, true));\n  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n  it = toIObject(it);\n  key = toPrimitive(key, true);\n  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n  var D = gOPD(it, key);\n  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n  return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n  var names = gOPN(toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n  } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n  var IS_OP = it === ObjectProto;\n  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n  var result = [];\n  var i = 0;\n  var key;\n  while (names.length > i) {\n    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n  } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n    var $set = function (value) {\n      if (this === ObjectProto) $set.call(OPSymbols, value);\n      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDesc(this, tag, createDesc(1, value));\n    };\n    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n    return wrap(tag);\n  };\n  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n    return this._k;\n  });\n\n  $GOPD.f = $getOwnPropertyDescriptor;\n  $DP.f = $defineProperty;\n  require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n  require('./_object-pie').f = $propertyIsEnumerable;\n  $GOPS.f = $getOwnPropertySymbols;\n\n  if (DESCRIPTORS && !require('./_library')) {\n    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n  }\n\n  wksExt.f = function (name) {\n    return wrap(wks(name));\n  };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n  // 19.4.2.1 Symbol.for(key)\n  'for': function (key) {\n    return has(SymbolRegistry, key += '')\n      ? SymbolRegistry[key]\n      : SymbolRegistry[key] = $Symbol(key);\n  },\n  // 19.4.2.5 Symbol.keyFor(sym)\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n  },\n  useSetter: function () { setter = true; },\n  useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n  // 19.1.2.2 Object.create(O [, Properties])\n  create: $create,\n  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n  defineProperty: $defineProperty,\n  // 19.1.2.3 Object.defineProperties(O, Properties)\n  defineProperties: $defineProperties,\n  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n  // 19.1.2.7 Object.getOwnPropertyNames(O)\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // 19.1.2.8 Object.getOwnPropertySymbols(O)\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\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return $GOPS.f(toObject(it));\n  }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n  var S = $Symbol();\n  // MS Edge converts symbol values to JSON as {}\n  // WebKit converts symbol values to JSON as null\n  // V8 throws on boxed symbols\n  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n  stringify: function stringify(it) {\n    var args = [it];\n    var i = 1;\n    var replacer, $replacer;\n    while (arguments.length > i) args.push(arguments[i++]);\n    $replacer = replacer = args[1];\n    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n    if (!isArray(replacer)) replacer = function (key, value) {\n      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n      if (!isSymbol(value)) return value;\n    };\n    args[1] = replacer;\n    return _stringify.apply($JSON, args);\n  }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.symbol.js\n// module id = 129\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n  return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n  setDesc(it, META, { value: {\n    i: 'O' + ++id, // object ID\n    w: {}          // weak collections IDs\n  } });\n};\nvar fastKey = function (it, create) {\n  // return primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has(it, META)) {\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    setMeta(it);\n  // return object ID\n  } return it[META].i;\n};\nvar getWeak = function (it, create) {\n  if (!has(it, META)) {\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    setMeta(it);\n  // return hash weak collections IDs\n  } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n  return it;\n};\nvar meta = module.exports = {\n  KEY: META,\n  NEED: false,\n  fastKey: fastKey,\n  getWeak: getWeak,\n  onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_meta.js\n// module id = 130\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n  var result = getKeys(it);\n  var getSymbols = gOPS.f;\n  if (getSymbols) {\n    var symbols = getSymbols(it);\n    var isEnum = pIE.f;\n    var i = 0;\n    var key;\n    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n  } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_enum-keys.js\n// module id = 131\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n  return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_is-array.js\n// module id = 132\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return gOPN(it);\n  } catch (e) {\n    return windowNames.slice();\n  }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 133\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 134\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 135\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 136\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 137\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 138\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n  anObject(O);\n  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n    function (test, buggy, set) {\n      try {\n        set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n        set(test, []);\n        buggy = !(test instanceof Array);\n      } catch (e) { buggy = true; }\n      return function setPrototypeOf(O, proto) {\n        check(O, proto);\n        if (buggy) O.__proto__ = proto;\n        else set(O, proto);\n        return O;\n      };\n    }({}, false) : undefined),\n  check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_set-proto.js\n// module id = 139\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/create.js\n// module id = 140\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n  return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/create.js\n// module id = 141\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.create.js\n// module id = 142\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _FlipMove = require('./FlipMove');\n\nvar _FlipMove2 = _interopRequireDefault(_FlipMove);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _FlipMove2.default;\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n */\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/index.js\n// module id = 143\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nrequire('./polyfills');\n\nvar _propConverter = require('./prop-converter');\n\nvar _propConverter2 = _interopRequireDefault(_propConverter);\n\nvar _domManipulation = require('./dom-manipulation');\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * For information on how this code is laid out, check out CODE_TOUR.md\n */\n\n/* eslint-disable react/prop-types */\n\nvar transitionEnd = (0, _domManipulation.whichTransitionEvent)();\nvar noBrowserSupport = !transitionEnd;\n\nfunction getKey(childData) {\n  return childData.key || '';\n}\n\nvar FlipMove = function (_Component) {\n  _inherits(FlipMove, _Component);\n\n  function FlipMove() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, FlipMove);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = FlipMove.__proto__ || Object.getPrototypeOf(FlipMove)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      children: _react.Children.toArray(_this.props.children).map(function (element) {\n        return _extends({}, element, {\n          element: element,\n          appearing: true\n        });\n      })\n    }, _this.childrenData = {}, _this.parentData = {\n      domNode: null,\n      boundingBox: null\n    }, _this.heightPlaceholderData = {\n      domNode: null\n    }, _this.remainingAnimations = 0, _this.childrenToAnimate = [], _this.runAnimation = function () {\n      var dynamicChildren = _this.state.children.filter(_this.doesChildNeedToBeAnimated);\n\n      dynamicChildren.forEach(function (child, n) {\n        _this.remainingAnimations += 1;\n        _this.childrenToAnimate.push(getKey(child));\n        _this.animateChild(child, n);\n      });\n\n      if (typeof _this.props.onStartAll === 'function') {\n        _this.callChildrenHook(_this.props.onStartAll);\n      }\n    }, _this.doesChildNeedToBeAnimated = function (child) {\n      // If the child doesn't have a key, it's an immovable child (one that we\n      // do not want to do FLIP stuff to.)\n      if (!getKey(child)) {\n        return false;\n      }\n\n      var childData = _this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = _this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return false;\n      }\n\n      var _this$props = _this.props,\n          appearAnimation = _this$props.appearAnimation,\n          enterAnimation = _this$props.enterAnimation,\n          leaveAnimation = _this$props.leaveAnimation,\n          getPosition = _this$props.getPosition;\n\n\n      var isAppearingWithAnimation = child.appearing && appearAnimation;\n      var isEnteringWithAnimation = child.entering && enterAnimation;\n      var isLeavingWithAnimation = child.leaving && leaveAnimation;\n\n      if (isAppearingWithAnimation || isEnteringWithAnimation || isLeavingWithAnimation) {\n        return true;\n      }\n\n      // If it isn't entering/leaving, we want to animate it if it's\n      // on-screen position has changed.\n\n      var _getPositionDelta = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: getPosition\n      }),\n          _getPositionDelta2 = _slicedToArray(_getPositionDelta, 2),\n          dX = _getPositionDelta2[0],\n          dY = _getPositionDelta2[1];\n\n      return dX !== 0 || dY !== 0;\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n  // Copy props.children into state.\n  // To understand why this is important (and not an anti-pattern), consider\n  // how \"leave\" animations work. An item has \"left\" when the component\n  // receives a new set of props that do NOT contain the item.\n  // If we just render the props as-is, the item would instantly disappear.\n  // We want to keep the item rendered for a little while, until its animation\n  // can complete. Because we cannot mutate props, we make `state` the source\n  // of truth.\n\n\n  // FlipMove needs to know quite a bit about its children in order to do\n  // its job. We store these as a property on the instance. We're not using\n  // state, because we don't want changes to trigger re-renders, we just\n  // need a place to keep the data for reference, when changes happen.\n  // This field should not be accessed directly. Instead, use getChildData,\n  // putChildData, etc...\n\n\n  // Similarly, track the dom node and box of our parent element.\n\n\n  // If `maintainContainerHeight` prop is set to true, we'll create a\n  // placeholder element which occupies space so that the parent height\n  // doesn't change when items are removed from the document flow (which\n  // happens during leave animations)\n\n\n  // Keep track of remaining animations so we know when to fire the\n  // all-finished callback, and clean up after ourselves.\n  // NOTE: we can't simply use childrenToAnimate.length to track remaining\n  // animations, because we need to maintain the list of animating children,\n  // to pass to the `onFinishAll` handler.\n\n\n  _createClass(FlipMove, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      // Run our `appearAnimation` if it was requested, right after the\n      // component mounts.\n      var shouldTriggerFLIP = this.props.appearAnimation && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'componentWillReceiveProps',\n    value: function componentWillReceiveProps(nextProps) {\n      // When the component is handed new props, we need to figure out the\n      // \"resting\" position of all currently-rendered DOM nodes.\n      // We store that data in this.parent and this.children,\n      // so it can be used later to work out the animation.\n      this.updateBoundingBoxCaches();\n\n      // Convert opaque children object to array.\n      var nextChildren = _react.Children.toArray(nextProps.children);\n\n      // Next, we need to update our state, so that it contains our new set of\n      // children. If animation is disabled or unsupported, this is easy;\n      // we just copy our props into state.\n      // Assuming that we can animate, though, we have to do some work.\n      // Essentially, we want to keep just-deleted nodes in the DOM for a bit\n      // longer, so that we can animate them away.\n      this.setState({\n        children: this.isAnimationDisabled(nextProps) ? nextChildren.map(function (element) {\n          return _extends({}, element, { element: element });\n        }) : this.calculateNextSetOfChildren(nextChildren)\n      });\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(previousProps) {\n      // If the children have been re-arranged, moved, or added/removed,\n      // trigger the main FLIP animation.\n      //\n      // IMPORTANT: We need to make sure that the children have actually changed.\n      // At the end of the transition, we clean up nodes that need to be removed.\n      var oldChildrenKeys = _react.Children.toArray(this.props.children).map(function (d) {\n        return d.key;\n      });\n      var nextChildrenKeys = _react.Children.toArray(previousProps.children).map(function (d) {\n        return d.key;\n      });\n\n      var shouldTriggerFLIP = !(0, _helpers.arraysEqual)(oldChildrenKeys, nextChildrenKeys) && !this.isAnimationDisabled(this.props);\n\n      if (shouldTriggerFLIP) {\n        this.prepForAnimation();\n        this.runAnimation();\n      }\n    }\n  }, {\n    key: 'calculateNextSetOfChildren',\n    value: function calculateNextSetOfChildren(nextChildren) {\n      var _this2 = this;\n\n      // We want to:\n      //   - Mark all new children as `entering`\n      //   - Pull in previous children that aren't in nextChildren, and mark them\n      //     as `leaving`\n      //   - Preserve the nextChildren list order, with leaving children in their\n      //     appropriate places.\n      //\n\n      var updatedChildren = nextChildren.map(function (nextChild) {\n        var child = _this2.findChildByKey(nextChild.key || '');\n\n        // If the current child did exist, but it was in the midst of leaving,\n        // we want to treat it as though it's entering\n        var isEntering = !child || child.leaving;\n\n        return _extends({}, nextChild, { element: nextChild, entering: isEntering });\n      });\n\n      // This is tricky. We want to keep the nextChildren's ordering, but with\n      // any just-removed items maintaining their original position.\n      // eg.\n      //   this.state.children  = [ 1, 2, 3, 4 ]\n      //   nextChildren         = [ 3, 1 ]\n      //\n      // In this example, we've removed the '2' & '4'\n      // We want to end up with:  [ 2, 3, 1, 4 ]\n      //\n      // To accomplish that, we'll iterate through this.state.children. whenever\n      // we find a match, we'll append our `leaving` flag to it, and insert it\n      // into the nextChildren in its ORIGINAL position. Note that, as we keep\n      // inserting old items into the new list, the \"original\" position will\n      // keep incrementing.\n      var numOfChildrenLeaving = 0;\n      this.state.children.forEach(function (child, index) {\n        var isLeaving = !nextChildren.find(function (_ref2) {\n          var key = _ref2.key;\n          return key === getKey(child);\n        });\n\n        // If the child isn't leaving (or, if there is no leave animation),\n        // we don't need to add it into the state children.\n        if (!isLeaving || !_this2.props.leaveAnimation) return;\n\n        var nextChild = _extends({}, child, { leaving: true });\n        var nextChildIndex = index + numOfChildrenLeaving;\n\n        updatedChildren.splice(nextChildIndex, 0, nextChild);\n        numOfChildrenLeaving += 1;\n      });\n\n      return updatedChildren;\n    }\n  }, {\n    key: 'prepForAnimation',\n    value: function prepForAnimation() {\n      var _this3 = this;\n\n      // Our animation prep consists of:\n      // - remove children that are leaving from the DOM flow, so that the new\n      //   layout can be accurately calculated,\n      // - update the placeholder container height, if needed, to ensure that\n      //   the parent's height doesn't collapse.\n\n      var _props = this.props,\n          leaveAnimation = _props.leaveAnimation,\n          maintainContainerHeight = _props.maintainContainerHeight,\n          getPosition = _props.getPosition;\n\n      // we need to make all leaving nodes \"invisible\" to the layout calculations\n      // that will take place in the next step (this.runAnimation).\n\n      if (leaveAnimation) {\n        var leavingChildren = this.state.children.filter(function (child) {\n          return child.leaving;\n        });\n\n        leavingChildren.forEach(function (leavingChild) {\n          var childData = _this3.getChildData(getKey(leavingChild));\n\n          // We need to take the items out of the \"flow\" of the document, so that\n          // its siblings can move to take its place.\n          if (childData.boundingBox) {\n            (0, _domManipulation.removeNodeFromDOMFlow)(childData, _this3.props.verticalAlignment);\n          }\n        });\n\n        if (maintainContainerHeight && this.heightPlaceholderData.domNode) {\n          (0, _domManipulation.updateHeightPlaceholder)({\n            domNode: this.heightPlaceholderData.domNode,\n            parentData: this.parentData,\n            getPosition: getPosition\n          });\n        }\n      }\n\n      // For all children not in the middle of entering or leaving,\n      // we need to reset the transition, so that the NEW shuffle starts from\n      // the right place.\n      this.state.children.forEach(function (child) {\n        var _getChildData = _this3.getChildData(getKey(child)),\n            domNode = _getChildData.domNode;\n\n        // Ignore children that don't render DOM nodes (eg. by returning null)\n\n\n        if (!domNode) {\n          return;\n        }\n\n        if (!child.entering && !child.leaving) {\n          (0, _domManipulation.applyStylesToDOMNode)({\n            domNode: domNode,\n            styles: {\n              transition: ''\n            }\n          });\n        }\n      });\n    }\n  }, {\n    key: 'animateChild',\n    value: function animateChild(child, index) {\n      var _this4 = this;\n\n      var _getChildData2 = this.getChildData(getKey(child)),\n          domNode = _getChildData2.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // Apply the relevant style for this DOM node\n      // This is the offset from its actual DOM position.\n      // eg. if an item has been re-rendered 20px lower, we want to apply a\n      // style of 'transform: translate(-20px)', so that it appears to be where\n      // it started.\n      // In FLIP terminology, this is the 'Invert' stage.\n      (0, _domManipulation.applyStylesToDOMNode)({\n        domNode: domNode,\n        styles: this.computeInitialStyles(child)\n      });\n\n      // Start by invoking the onStart callback for this child.\n      if (this.props.onStart) this.props.onStart(child, domNode);\n\n      // Next, animate the item from it's artificially-offset position to its\n      // new, natural position.\n      requestAnimationFrame(function () {\n        requestAnimationFrame(function () {\n          // NOTE, RE: the double-requestAnimationFrame:\n          // Sadly, this is the most browser-compatible way to do this I've found.\n          // Essentially we need to set the initial styles outside of any request\n          // callbacks to avoid batching them. Then, a frame needs to pass with\n          // the styles above rendered. Then, on the second frame, we can apply\n          // our final styles to perform the animation.\n\n          // Our first order of business is to \"undo\" the styles applied in the\n          // previous frames, while also adding a `transition` property.\n          // This way, the item will smoothly transition from its old position\n          // to its new position.\n\n          // eslint-disable-next-line flowtype/require-variable-type\n          var styles = {\n            transition: (0, _domManipulation.createTransitionString)(index, _this4.props),\n            transform: '',\n            opacity: ''\n          };\n\n          if (child.appearing && _this4.props.appearAnimation) {\n            styles = _extends({}, styles, _this4.props.appearAnimation.to);\n          } else if (child.entering && _this4.props.enterAnimation) {\n            styles = _extends({}, styles, _this4.props.enterAnimation.to);\n          } else if (child.leaving && _this4.props.leaveAnimation) {\n            styles = _extends({}, styles, _this4.props.leaveAnimation.to);\n          }\n\n          // In FLIP terminology, this is the 'Play' stage.\n          (0, _domManipulation.applyStylesToDOMNode)({ domNode: domNode, styles: styles });\n        });\n      });\n\n      this.bindTransitionEndHandler(child);\n    }\n  }, {\n    key: 'bindTransitionEndHandler',\n    value: function bindTransitionEndHandler(child) {\n      var _this5 = this;\n\n      var _getChildData3 = this.getChildData(getKey(child)),\n          domNode = _getChildData3.domNode;\n\n      if (!domNode) {\n        return;\n      }\n\n      // The onFinish callback needs to be bound to the transitionEnd event.\n      // We also need to unbind it when the transition completes, so this ugly\n      // inline function is required (we need it here so it closes over\n      // dependent variables `child` and `domNode`)\n      var transitionEndHandler = function transitionEndHandler(ev) {\n        // It's possible that this handler is fired not on our primary transition,\n        // but on a nested transition (eg. a hover effect). Ignore these cases.\n        if (ev.target !== domNode) return;\n\n        // Remove the 'transition' inline style we added. This is cleanup.\n        domNode.style.transition = '';\n\n        // Trigger any applicable onFinish/onFinishAll hooks\n        _this5.triggerFinishHooks(child, domNode);\n\n        domNode.removeEventListener(transitionEnd, transitionEndHandler);\n\n        if (child.leaving) {\n          _this5.removeChildData(getKey(child));\n        }\n      };\n\n      domNode.addEventListener(transitionEnd, transitionEndHandler);\n    }\n  }, {\n    key: 'triggerFinishHooks',\n    value: function triggerFinishHooks(child, domNode) {\n      var _this6 = this;\n\n      if (this.props.onFinish) this.props.onFinish(child, domNode);\n\n      // Reduce the number of children we need to animate by 1,\n      // so that we can tell when all children have finished.\n      this.remainingAnimations -= 1;\n\n      if (this.remainingAnimations === 0) {\n        // Remove any items from the DOM that have left, and reset `entering`.\n        var nextChildren = this.state.children.filter(function (_ref3) {\n          var leaving = _ref3.leaving;\n          return !leaving;\n        }).map(function (item) {\n          return _extends({}, item, {\n            appearing: false,\n            entering: false\n          });\n        });\n\n        this.setState({ children: nextChildren }, function () {\n          if (typeof _this6.props.onFinishAll === 'function') {\n            _this6.callChildrenHook(_this6.props.onFinishAll);\n          }\n\n          // Reset our variables for the next iteration\n          _this6.childrenToAnimate = [];\n        });\n\n        // If the placeholder was holding the container open while elements were\n        // leaving, we we can now set its height to zero.\n        if (this.heightPlaceholderData.domNode) {\n          this.heightPlaceholderData.domNode.style.height = '0';\n        }\n      }\n    }\n  }, {\n    key: 'callChildrenHook',\n    value: function callChildrenHook(hook) {\n      var _this7 = this;\n\n      var elements = [];\n      var domNodes = [];\n\n      this.childrenToAnimate.forEach(function (childKey) {\n        // If this was an exit animation, the child may no longer exist.\n        // If so, skip it.\n        var child = _this7.findChildByKey(childKey);\n\n        if (!child) {\n          return;\n        }\n\n        elements.push(child);\n\n        if (_this7.hasChildData(childKey)) {\n          domNodes.push(_this7.getChildData(childKey).domNode);\n        }\n      });\n\n      hook(elements, domNodes);\n    }\n  }, {\n    key: 'updateBoundingBoxCaches',\n    value: function updateBoundingBoxCaches() {\n      var _this8 = this;\n\n      // This is the ONLY place that parentData and childrenData's\n      // bounding boxes are updated. They will be calculated at other times\n      // to be compared to this value, but it's important that the cache is\n      // updated once per update.\n      var parentDomNode = this.parentData.domNode;\n\n      if (!parentDomNode) {\n        return;\n      }\n\n      this.parentData.boundingBox = this.props.getPosition(parentDomNode);\n\n      this.state.children.forEach(function (child) {\n        var childKey = getKey(child);\n\n        // It is possible that a child does not have a `key` property;\n        // Ignore these children, they don't need to be moved.\n        if (!childKey) {\n          return;\n        }\n\n        // In very rare circumstances, for reasons unknown, the ref is never\n        // populated for certain children. In this case, avoid doing this update.\n        // see: https://github.com/joshwcomeau/react-flip-move/pull/91\n        if (!_this8.hasChildData(childKey)) {\n          return;\n        }\n\n        var childData = _this8.getChildData(childKey);\n\n        // If the child element returns null, we need to avoid trying to\n        // account for it\n        if (!childData.domNode || !child) {\n          return;\n        }\n\n        _this8.setChildData(childKey, {\n          boundingBox: (0, _domManipulation.getRelativeBoundingBox)({\n            childDomNode: childData.domNode,\n            parentDomNode: parentDomNode,\n            getPosition: _this8.props.getPosition\n          })\n        });\n      });\n    }\n  }, {\n    key: 'computeInitialStyles',\n    value: function computeInitialStyles(child) {\n      if (child.appearing) {\n        return this.props.appearAnimation ? this.props.appearAnimation.from : {};\n      } else if (child.entering) {\n        if (!this.props.enterAnimation) {\n          return {};\n        }\n        // If this child was in the middle of leaving, it still has its\n        // absolute positioning styles applied. We need to undo those.\n        return _extends({\n          position: '',\n          top: '',\n          left: '',\n          right: '',\n          bottom: ''\n        }, this.props.enterAnimation.from);\n      } else if (child.leaving) {\n        return this.props.leaveAnimation ? this.props.leaveAnimation.from : {};\n      }\n\n      var childData = this.getChildData(getKey(child));\n      var childDomNode = childData.domNode;\n      var childBoundingBox = childData.boundingBox;\n      var parentBoundingBox = this.parentData.boundingBox;\n\n      if (!childDomNode) {\n        return {};\n      }\n\n      var _getPositionDelta3 = (0, _domManipulation.getPositionDelta)({\n        childDomNode: childDomNode,\n        childBoundingBox: childBoundingBox,\n        parentBoundingBox: parentBoundingBox,\n        getPosition: this.props.getPosition\n      }),\n          _getPositionDelta4 = _slicedToArray(_getPositionDelta3, 2),\n          dX = _getPositionDelta4[0],\n          dY = _getPositionDelta4[1];\n\n      return {\n        transform: 'translate(' + dX + 'px, ' + dY + 'px)'\n      };\n    }\n\n    // eslint-disable-next-line class-methods-use-this\n\n  }, {\n    key: 'isAnimationDisabled',\n    value: function isAnimationDisabled(props) {\n      // If the component is explicitly passed a `disableAllAnimations` flag,\n      // we can skip this whole process. Similarly, if all of the numbers have\n      // been set to 0, there is no point in trying to animate; doing so would\n      // only cause a flicker (and the intent is probably to disable animations)\n      // We can also skip this rigamarole if there's no browser support for it.\n      return noBrowserSupport || props.disableAllAnimations || props.duration === 0 && props.delay === 0 && props.staggerDurationBy === 0 && props.staggerDelayBy === 0;\n    }\n  }, {\n    key: 'findChildByKey',\n    value: function findChildByKey(key) {\n      return this.state.children.find(function (child) {\n        return getKey(child) === key;\n      });\n    }\n  }, {\n    key: 'hasChildData',\n    value: function hasChildData(key) {\n      // Object has some built-in properties on its prototype, such as toString.  hasOwnProperty makes\n      // sure that key is present on childrenData itself, not on its prototype.\n      return Object.prototype.hasOwnProperty.call(this.childrenData, key);\n    }\n  }, {\n    key: 'getChildData',\n    value: function getChildData(key) {\n      return this.hasChildData(key) ? this.childrenData[key] : {};\n    }\n  }, {\n    key: 'setChildData',\n    value: function setChildData(key, data) {\n      this.childrenData[key] = _extends({}, this.getChildData(key), data);\n    }\n  }, {\n    key: 'removeChildData',\n    value: function removeChildData(key) {\n      delete this.childrenData[key];\n    }\n  }, {\n    key: 'createHeightPlaceholder',\n    value: function createHeightPlaceholder() {\n      var _this9 = this;\n\n      var typeName = this.props.typeName;\n\n      // If requested, create an invisible element at the end of the list.\n      // Its height will be modified to prevent the container from collapsing\n      // prematurely.\n\n      var isContainerAList = typeName === 'ul' || typeName === 'ol';\n      var placeholderType = isContainerAList ? 'li' : 'div';\n\n      return _react2.default.createElement(placeholderType, {\n        key: 'height-placeholder',\n        ref: function ref(domNode) {\n          _this9.heightPlaceholderData.domNode = domNode;\n        },\n        style: { visibility: 'hidden', height: 0 }\n      });\n    }\n  }, {\n    key: 'childrenWithRefs',\n    value: function childrenWithRefs() {\n      var _this10 = this;\n\n      // We need to clone the provided children, capturing a reference to the\n      // underlying DOM node. Flip Move needs to use the React escape hatches to\n      // be able to do its calculations.\n      return this.state.children.map(function (child) {\n        return _react2.default.cloneElement(child.element, {\n          ref: function ref(element) {\n            // Stateless Functional Components are not supported by FlipMove,\n            // because they don't have instances.\n            if (!element) {\n              return;\n            }\n\n            var domNode = (0, _domManipulation.getNativeNode)(element);\n            _this10.setChildData(getKey(child), { domNode: domNode });\n          }\n        });\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _this11 = this;\n\n      var _props2 = this.props,\n          typeName = _props2.typeName,\n          delegated = _props2.delegated,\n          leaveAnimation = _props2.leaveAnimation,\n          maintainContainerHeight = _props2.maintainContainerHeight;\n\n\n      var props = _extends({}, delegated, {\n        ref: function ref(node) {\n          _this11.parentData.domNode = node;\n        }\n      });\n\n      var children = this.childrenWithRefs();\n      if (leaveAnimation && maintainContainerHeight) {\n        children.push(this.createHeightPlaceholder());\n      }\n\n      return _react2.default.createElement(typeName, props, children);\n    }\n  }]);\n\n  return FlipMove;\n}(_react.Component);\n\nexports.default = (0, _propConverter2.default)(FlipMove);\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/FlipMove.js\n// module id = 144\n// module chunks = 0","'use strict';\n\n// @noflow\n/**\n * React Flip Move - Polyfills\n * (c) 2016-present Joshua Comeau\n */\n\n/* eslint-disable */\n\nif (!Array.prototype.find) {\n  Array.prototype.find = function (predicate) {\n    if (this === null) {\n      throw new TypeError('Array.prototype.find called on null or undefined');\n    }\n    if (typeof predicate !== 'function') {\n      throw new TypeError('predicate must be a function');\n    }\n    var list = Object(this);\n    var length = list.length >>> 0;\n    var thisArg = arguments[1];\n    var value = void 0;\n\n    for (var i = 0; i < length; i++) {\n      value = list[i];\n      if (predicate.call(thisArg, value, i, list)) {\n        return value;\n      }\n    }\n    return undefined;\n  };\n}\n\nif (!Array.prototype.every) {\n  Array.prototype.every = function (callbackfn, thisArg) {\n    'use strict';\n\n    var T, k;\n\n    if (this == null) {\n      throw new TypeError('this is null or not defined');\n    }\n\n    var O = Object(this);\n    var len = O.length >>> 0;\n\n    if (typeof callbackfn !== 'function') {\n      throw new TypeError();\n    }\n\n    if (arguments.length > 1) {\n      T = thisArg;\n    }\n\n    k = 0;\n\n    while (k < len) {\n\n      var kValue;\n\n      if (k in O) {\n        kValue = O[k];\n\n        var testResult = callbackfn.call(T, kValue, k, O);\n\n        if (!testResult) {\n          return false;\n        }\n      }\n      k++;\n    }\n    return true;\n  };\n}\n\nif (!Array.isArray) {\n  Array.isArray = function (arg) {\n    return Object.prototype.toString.call(arg) === '[object Array]';\n  };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/polyfills.js\n// module id = 145\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _errorMessages = require('./error-messages');\n\nvar _enterLeavePresets = require('./enter-leave-presets');\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n/**\n * React Flip Move | propConverter\n * (c) 2016-present Joshua Comeau\n *\n * Abstracted away a bunch of the messy business with props.\n *   - props flow types and defaultProps\n *   - Type conversion (We accept 'string' and 'number' values for duration,\n *     delay, and other fields, but we actually need them to be ints.)\n *   - Children conversion (we need the children to be an array. May not always\n *     be, if a single child is passed in.)\n *   - Resolving animation presets into their base CSS styles\n */\n/* eslint-disable block-scoped-var */\n\nvar nodeEnv = void 0;\ntry {\n  nodeEnv = process.env.NODE_ENV;\n} catch (e) {\n  nodeEnv = 'development';\n}\n\nfunction propConverter(ComposedComponent) {\n  var _class, _temp;\n\n  return _temp = _class = function (_Component) {\n    _inherits(FlipMovePropConverter, _Component);\n\n    function FlipMovePropConverter() {\n      _classCallCheck(this, FlipMovePropConverter);\n\n      return _possibleConstructorReturn(this, (FlipMovePropConverter.__proto__ || Object.getPrototypeOf(FlipMovePropConverter)).apply(this, arguments));\n    }\n\n    _createClass(FlipMovePropConverter, [{\n      key: 'checkForStatelessFunctionalComponents',\n\n\n      // eslint-disable-next-line class-methods-use-this\n      value: function checkForStatelessFunctionalComponents(children) {\n        // Skip all console warnings in production.\n        // Bail early, to avoid unnecessary work.\n        if (nodeEnv === 'production') {\n          return;\n        }\n\n        // FlipMove does not support stateless functional components.\n        // Check to see if any supplied components won't work.\n        // If the child doesn't have a key, it means we aren't animating it.\n        // It's allowed to be an SFC, since we ignore it.\n        var childArray = _react.Children.toArray(children);\n        var noStateless = childArray.every(function (child) {\n          return !(0, _helpers.isElementAnSFC)(child) || typeof child.key === 'undefined';\n        });\n\n        if (!noStateless) {\n          (0, _errorMessages.statelessFunctionalComponentSupplied)();\n        }\n      }\n    }, {\n      key: 'convertProps',\n      value: function convertProps(props) {\n        var workingProps = {\n          // explicitly bypass the props that don't need conversion\n          children: props.children,\n          easing: props.easing,\n          onStart: props.onStart,\n          onFinish: props.onFinish,\n          onStartAll: props.onStartAll,\n          onFinishAll: props.onFinishAll,\n          typeName: props.typeName,\n          disableAllAnimations: props.disableAllAnimations,\n          getPosition: props.getPosition,\n          maintainContainerHeight: props.maintainContainerHeight,\n          verticalAlignment: props.verticalAlignment,\n\n          // Do string-to-int conversion for all timing-related props\n          duration: this.convertTimingProp('duration'),\n          delay: this.convertTimingProp('delay'),\n          staggerDurationBy: this.convertTimingProp('staggerDurationBy'),\n          staggerDelayBy: this.convertTimingProp('staggerDelayBy'),\n\n          // Our enter/leave animations can be specified as boolean (default or\n          // disabled), string (preset name), or object (actual animation values).\n          // Let's standardize this so that they're always objects\n          appearAnimation: this.convertAnimationProp(props.appearAnimation, _enterLeavePresets.appearPresets),\n          enterAnimation: this.convertAnimationProp(props.enterAnimation, _enterLeavePresets.enterPresets),\n          leaveAnimation: this.convertAnimationProp(props.leaveAnimation, _enterLeavePresets.leavePresets),\n\n          delegated: {}\n        };\n\n        this.checkForStatelessFunctionalComponents(workingProps.children);\n\n        // Accept `disableAnimations`, but add a deprecation warning\n        if (typeof props.disableAnimations !== 'undefined') {\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.deprecatedDisableAnimations)();\n          }\n\n          workingProps.disableAllAnimations = props.disableAnimations;\n        }\n\n        // Gather any additional props;\n        // they will be delegated to the ReactElement created.\n        var primaryPropKeys = Object.keys(workingProps);\n        var delegatedProps = (0, _helpers.omit)(this.props, primaryPropKeys);\n\n        // The FlipMove container element needs to have a non-static position.\n        // We use `relative` by default, but it can be overridden by the user.\n        // Now that we're delegating props, we need to merge this in.\n        delegatedProps.style = _extends({\n          position: 'relative'\n        }, delegatedProps.style);\n\n        workingProps.delegated = delegatedProps;\n\n        return workingProps;\n      }\n    }, {\n      key: 'convertTimingProp',\n      value: function convertTimingProp(prop) {\n        var rawValue = this.props[prop];\n\n        var value = typeof rawValue === 'number' ? rawValue : parseInt(rawValue, 10);\n\n        if (isNaN(value)) {\n          var defaultValue = FlipMovePropConverter.defaultProps[prop];\n\n          if (nodeEnv !== 'production') {\n            (0, _errorMessages.invalidTypeForTimingProp)({\n              prop: prop,\n              value: rawValue,\n              defaultValue: defaultValue\n            });\n          }\n\n          return defaultValue;\n        }\n\n        return value;\n      }\n\n      // eslint-disable-next-line class-methods-use-this\n\n    }, {\n      key: 'convertAnimationProp',\n      value: function convertAnimationProp(animation, presets) {\n        switch (typeof animation === 'undefined' ? 'undefined' : _typeof(animation)) {\n          case 'boolean':\n            {\n              // If it's true, we want to use the default preset.\n              // If it's false, we want to use the 'none' preset.\n              return presets[animation ? _enterLeavePresets.defaultPreset : _enterLeavePresets.disablePreset];\n            }\n\n          case 'string':\n            {\n              var presetKeys = Object.keys(presets);\n\n              if (presetKeys.indexOf(animation) === -1) {\n                if (nodeEnv !== 'production') {\n                  (0, _errorMessages.invalidEnterLeavePreset)({\n                    value: animation,\n                    acceptableValues: presetKeys.join(', '),\n                    defaultValue: _enterLeavePresets.defaultPreset\n                  });\n                }\n\n                return presets[_enterLeavePresets.defaultPreset];\n              }\n\n              return presets[animation];\n            }\n\n          default:\n            {\n              return animation;\n            }\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        return _react2.default.createElement(ComposedComponent, this.convertProps(this.props));\n      }\n    }]);\n\n    return FlipMovePropConverter;\n  }(_react.Component), _class.defaultProps = {\n    easing: 'ease-in-out',\n    duration: 350,\n    delay: 0,\n    staggerDurationBy: 0,\n    staggerDelayBy: 0,\n    typeName: 'div',\n    enterAnimation: _enterLeavePresets.defaultPreset,\n    leaveAnimation: _enterLeavePresets.defaultPreset,\n    disableAllAnimations: false,\n    getPosition: function getPosition(node) {\n      return node.getBoundingClientRect();\n    },\n    maintainContainerHeight: false,\n    verticalAlignment: 'top'\n  }, _temp;\n}\n\nexports.default = propConverter;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/prop-converter.js\n// module id = 146\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\n\nfunction warnOnce(msg) {\n  var hasWarned = false;\n  return function () {\n    if (!hasWarned) {\n      console.warn(msg);\n      hasWarned = true;\n    }\n  };\n}\nvar statelessFunctionalComponentSupplied = exports.statelessFunctionalComponentSupplied = warnOnce('\\n>> Error, via react-flip-move <<\\n\\nYou provided a stateless functional component as a child to <FlipMove>. Unfortunately, SFCs aren\\'t supported, because Flip Move needs access to the backing instances via refs, and SFCs don\\'t have a public instance that holds that info.\\n\\nPlease wrap your components in a native element (eg. <div>), or a non-functional component.\\n');\n\nvar invalidTypeForTimingProp = exports.invalidTypeForTimingProp = function invalidTypeForTimingProp(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe prop you provided for \\'' + args.prop + '\\' is invalid. It needs to be a positive integer, or a string that can be resolved to a number. The value you provided is \\'' + args.value + '\\'.\\n\\nAs a result,  the default value for this parameter will be used, which is \\'' + args.defaultValue + '\\'.\\n');\n};\n\nvar deprecatedDisableAnimations = exports.deprecatedDisableAnimations = warnOnce('\\n>> Warning, via react-flip-move <<\\n\\nThe \\'disableAnimations\\' prop you provided is deprecated. Please switch to use \\'disableAllAnimations\\'.\\n\\nThis will become a silent error in future versions of react-flip-move.\\n');\n\nvar invalidEnterLeavePreset = exports.invalidEnterLeavePreset = function invalidEnterLeavePreset(args) {\n  return console.error('\\n>> Error, via react-flip-move <<\\n\\nThe enter/leave preset you provided is invalid. We don\\'t currently have a \\'' + args.value + ' preset.\\'\\n\\nAcceptable values are ' + args.acceptableValues + '. The default value of \\'' + args.defaultValue + '\\' will be used.\\n');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/error-messages.js\n// module id = 147\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar enterPresets = exports.enterPresets = {\n  elevator: {\n    from: { transform: 'scale(0)', opacity: '0' },\n    to: { transform: '', opacity: '' }\n  },\n  fade: {\n    from: { opacity: '0' },\n    to: { opacity: '' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(0)', transformOrigin: 'center top' },\n    to: { transform: '', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(0)', transformOrigin: 'left center' },\n    to: { transform: '', transformOrigin: 'left center' }\n  },\n  none: null\n};\n/**\n * React Flip Move | enterLeavePresets\n * (c) 2016-present Joshua Comeau\n *\n * This contains the master list of presets available for enter/leave animations,\n * along with the mapping between preset and styles.\n */\nvar leavePresets = exports.leavePresets = {\n  elevator: {\n    from: { transform: 'scale(1)', opacity: '1' },\n    to: { transform: 'scale(0)', opacity: '0' }\n  },\n  fade: {\n    from: { opacity: '1' },\n    to: { opacity: '0' }\n  },\n  accordionVertical: {\n    from: { transform: 'scaleY(1)', transformOrigin: 'center top' },\n    to: { transform: 'scaleY(0)', transformOrigin: 'center top' }\n  },\n  accordionHorizontal: {\n    from: { transform: 'scaleX(1)', transformOrigin: 'left center' },\n    to: { transform: 'scaleX(0)', transformOrigin: 'left center' }\n  },\n  none: null\n};\n\n// For now, appearPresets will be identical to enterPresets.\n// Assigning a custom export in case we ever want to add appear-specific ones.\nvar appearPresets = exports.appearPresets = enterPresets;\n\n// Embarrassingly enough, v2.0 launched with typo'ed preset names.\n// To avoid penning a new major version over something so inconsequential,\n// we're supporting both spellings. In a future version, these alternatives\n// may be deprecated.\n// $FlowFixMe\nenterPresets.accordianVertical = enterPresets.accordionVertical;\n// $FlowFixMe\nenterPresets.accordianHorizontal = enterPresets.accordionHorizontal;\n// $FlowFixMe\nleavePresets.accordianVertical = leavePresets.accordionVertical;\n// $FlowFixMe\nleavePresets.accordianHorizontal = leavePresets.accordionHorizontal;\n\nvar defaultPreset = exports.defaultPreset = 'elevator';\nvar disablePreset = exports.disablePreset = 'none';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/enter-leave-presets.js\n// module id = 148\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.createTransitionString = exports.getNativeNode = exports.updateHeightPlaceholder = exports.removeNodeFromDOMFlow = exports.getPositionDelta = exports.getRelativeBoundingBox = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n/**\n * React Flip Move\n * (c) 2016-present Joshua Comeau\n *\n * These methods read from and write to the DOM.\n * They almost always have side effects, and will hopefully become the\n * only spot in the codebase with impure functions.\n */\n\n\nexports.applyStylesToDOMNode = applyStylesToDOMNode;\nexports.whichTransitionEvent = whichTransitionEvent;\n\nvar _reactDom = require('react-dom');\n\nvar _helpers = require('./helpers');\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 applyStylesToDOMNode(_ref) {\n  var domNode = _ref.domNode,\n      styles = _ref.styles;\n\n  // Can't just do an object merge because domNode.styles is no regular object.\n  // Need to do it this way for the engine to fire its `set` listeners.\n  Object.keys(styles).forEach(function (key) {\n    domNode.style.setProperty((0, _helpers.hyphenate)(key), styles[key]);\n  });\n}\n\n// Modified from Modernizr\nfunction whichTransitionEvent() {\n  var transitions = {\n    transition: 'transitionend',\n    '-o-transition': 'oTransitionEnd',\n    '-moz-transition': 'transitionend',\n    '-webkit-transition': 'webkitTransitionEnd'\n  };\n\n  // If we're running in a browserless environment (eg. SSR), it doesn't apply.\n  // Return a placeholder string, for consistent type return.\n  if (typeof document === 'undefined') return '';\n\n  var el = document.createElement('fakeelement');\n\n  var match = Object.keys(transitions).find(function (t) {\n    return el.style.getPropertyValue(t) !== undefined;\n  });\n\n  // If no `transition` is found, we must be running in a browser so ancient,\n  // React itself won't run. Return an empty string, for consistent type return\n  return match ? transitions[match] : '';\n}\n\nvar getRelativeBoundingBox = exports.getRelativeBoundingBox = function getRelativeBoundingBox(_ref2) {\n  var childDomNode = _ref2.childDomNode,\n      parentDomNode = _ref2.parentDomNode,\n      getPosition = _ref2.getPosition;\n\n  var parentBox = getPosition(parentDomNode);\n\n  var _getPosition = getPosition(childDomNode),\n      top = _getPosition.top,\n      left = _getPosition.left,\n      right = _getPosition.right,\n      bottom = _getPosition.bottom,\n      width = _getPosition.width,\n      height = _getPosition.height;\n\n  return {\n    top: top - parentBox.top,\n    left: left - parentBox.left,\n    right: parentBox.right - right,\n    bottom: parentBox.bottom - bottom,\n    width: width,\n    height: height\n  };\n};\n\n/** getPositionDelta\n * This method returns the delta between two bounding boxes, to figure out\n * how many pixels on each axis the element has moved.\n *\n */\nvar getPositionDelta = exports.getPositionDelta = function getPositionDelta(_ref3) {\n  var childDomNode = _ref3.childDomNode,\n      childBoundingBox = _ref3.childBoundingBox,\n      parentBoundingBox = _ref3.parentBoundingBox,\n      getPosition = _ref3.getPosition;\n\n  // TEMP: A mystery bug is sometimes causing unnecessary boundingBoxes to\n  var defaultBox = { top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 };\n\n  // Our old box is its last calculated position, derived on mount or at the\n  // start of the previous animation.\n  var oldRelativeBox = childBoundingBox || defaultBox;\n  var parentBox = parentBoundingBox || defaultBox;\n\n  // Our new box is the new final resting place: Where we expect it to wind up\n  // after the animation. First we get the box in absolute terms (AKA relative\n  // to the viewport), and then we calculate its relative box (relative to the\n  // parent container)\n  var newAbsoluteBox = getPosition(childDomNode);\n  var newRelativeBox = {\n    top: newAbsoluteBox.top - parentBox.top,\n    left: newAbsoluteBox.left - parentBox.left\n  };\n\n  return [oldRelativeBox.left - newRelativeBox.left, oldRelativeBox.top - newRelativeBox.top];\n};\n\n/** removeNodeFromDOMFlow\n * This method does something very sneaky: it removes a DOM node from the\n * document flow, but without actually changing its on-screen position.\n *\n * It works by calculating where the node is, and then applying styles\n * so that it winds up being positioned absolutely, but in exactly the\n * same place.\n *\n * This is a vital part of the FLIP technique.\n */\nvar removeNodeFromDOMFlow = exports.removeNodeFromDOMFlow = function removeNodeFromDOMFlow(childData, verticalAlignment) {\n  var domNode = childData.domNode,\n      boundingBox = childData.boundingBox;\n\n\n  if (!domNode || !boundingBox) {\n    return;\n  }\n\n  // For this to work, we have to offset any given `margin`.\n  var computed = window.getComputedStyle(domNode);\n\n  // We need to clean up margins, by converting and removing suffix:\n  // eg. '21px' -> 21\n  var marginAttrs = ['margin-top', 'margin-left', 'margin-right'];\n  var margins = marginAttrs.reduce(function (acc, margin) {\n    var propertyVal = computed.getPropertyValue(margin);\n\n    return _extends({}, acc, _defineProperty({}, margin, Number(propertyVal.replace('px', ''))));\n  }, {});\n\n  // If we're bottom-aligned, we need to add the height of the child to its\n  // top offset. This is because, when the container is bottom-aligned, its\n  // height shrinks from the top, not the bottom. We're removing this node\n  // from the flow, so the top is going to drop by its height.\n  var topOffset = verticalAlignment === 'bottom' ? boundingBox.top - boundingBox.height : boundingBox.top;\n\n  var styles = {\n    position: 'absolute',\n    top: topOffset - margins['margin-top'] + 'px',\n    left: boundingBox.left - margins['margin-left'] + 'px',\n    right: boundingBox.right - margins['margin-right'] + 'px'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\n/** updateHeightPlaceholder\n * An optional property to FlipMove is a `maintainContainerHeight` boolean.\n * This property creates a node that fills space, so that the parent\n * container doesn't collapse when its children are removed from the\n * document flow.\n */\nvar updateHeightPlaceholder = exports.updateHeightPlaceholder = function updateHeightPlaceholder(_ref4) {\n  var domNode = _ref4.domNode,\n      parentData = _ref4.parentData,\n      getPosition = _ref4.getPosition;\n\n  var parentDomNode = parentData.domNode;\n  var parentBoundingBox = parentData.boundingBox;\n\n  if (!parentDomNode || !parentBoundingBox) {\n    return;\n  }\n\n  // We need to find the height of the container *without* the placeholder.\n  // Since it's possible that the placeholder might already be present,\n  // we first set its height to 0.\n  // This allows the container to collapse down to the size of just its\n  // content (plus container padding or borders if any).\n  applyStylesToDOMNode({ domNode: domNode, styles: { height: '0' } });\n\n  // Find the distance by which the container would be collapsed by elements\n  // leaving. We compare the freshly-available parent height with the original,\n  // cached container height.\n  var originalParentHeight = parentBoundingBox.height;\n  var collapsedParentHeight = getPosition(parentDomNode).height;\n  var reductionInHeight = originalParentHeight - collapsedParentHeight;\n\n  // If the container has become shorter, update the padding element's\n  // height to take up the difference. Otherwise set its height to zero,\n  // so that it has no effect.\n  var styles = {\n    height: reductionInHeight > 0 ? reductionInHeight + 'px' : '0'\n  };\n\n  applyStylesToDOMNode({ domNode: domNode, styles: styles });\n};\n\nvar getNativeNode = exports.getNativeNode = function getNativeNode(element) {\n  // When running in a windowless environment, abort!\n  if (typeof HTMLElement === 'undefined') {\n    return null;\n  }\n\n  // `element` may already be a native node.\n  if (element instanceof HTMLElement) {\n    return element;\n  }\n\n  // While ReactDOM's `findDOMNode` is discouraged, it's the only\n  // publicly-exposed way to find the underlying DOM node for\n  // composite components.\n  var foundNode = (0, _reactDom.findDOMNode)(element);\n\n  if (!(foundNode instanceof HTMLElement)) {\n    // Text nodes are not supported\n    return null;\n  }\n\n  return foundNode;\n};\n\nvar createTransitionString = exports.createTransitionString = function createTransitionString(index, props) {\n  var delay = props.delay,\n      duration = props.duration;\n  var staggerDurationBy = props.staggerDurationBy,\n      staggerDelayBy = props.staggerDelayBy,\n      easing = props.easing;\n\n\n  delay += index * staggerDelayBy;\n  duration += index * staggerDurationBy;\n\n  var cssProperties = ['transform', 'opacity'];\n\n  return cssProperties.map(function (prop) {\n    return prop + ' ' + duration + 'ms ' + easing + ' ' + delay + 'ms';\n  }).join(', ');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/react-flip-move/lib/dom-manipulation.js\n// module id = 149\n// module chunks = 0","/*!\n\tAutosize 3.0.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/autosize\n*/\n(function (global, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(['exports', 'module'], factory);\n\t} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n\t\tfactory(exports, module);\n\t} else {\n\t\tvar mod = {\n\t\t\texports: {}\n\t\t};\n\t\tfactory(mod.exports, mod);\n\t\tglobal.autosize = mod.exports;\n\t}\n})(this, function (exports, module) {\n\t'use strict';\n\n\tvar map = typeof Map === \"function\" ? new Map() : (function () {\n\t\tvar keys = [];\n\t\tvar values = [];\n\n\t\treturn {\n\t\t\thas: function has(key) {\n\t\t\t\treturn keys.indexOf(key) > -1;\n\t\t\t},\n\t\t\tget: function get(key) {\n\t\t\t\treturn values[keys.indexOf(key)];\n\t\t\t},\n\t\t\tset: function set(key, value) {\n\t\t\t\tif (keys.indexOf(key) === -1) {\n\t\t\t\t\tkeys.push(key);\n\t\t\t\t\tvalues.push(value);\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function _delete(key) {\n\t\t\t\tvar index = keys.indexOf(key);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tkeys.splice(index, 1);\n\t\t\t\t\tvalues.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t})();\n\n\tvar createEvent = function createEvent(name) {\n\t\treturn new Event(name, { bubbles: true });\n\t};\n\ttry {\n\t\tnew Event('test');\n\t} catch (e) {\n\t\t// IE does not support `new Event()`\n\t\tcreateEvent = function (name) {\n\t\t\tvar evt = document.createEvent('Event');\n\t\t\tevt.initEvent(name, true, false);\n\t\t\treturn evt;\n\t\t};\n\t}\n\n\tfunction assign(ta) {\n\t\tif (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;\n\n\t\tvar heightOffset = null;\n\t\tvar clientWidth = ta.clientWidth;\n\t\tvar cachedHeight = null;\n\n\t\tfunction init() {\n\t\t\tvar style = window.getComputedStyle(ta, null);\n\n\t\t\tif (style.resize === 'vertical') {\n\t\t\t\tta.style.resize = 'none';\n\t\t\t} else if (style.resize === 'both') {\n\t\t\t\tta.style.resize = 'horizontal';\n\t\t\t}\n\n\t\t\tif (style.boxSizing === 'content-box') {\n\t\t\t\theightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));\n\t\t\t} else {\n\t\t\t\theightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\t\t\t}\n\t\t\t// Fix when a textarea is not on document body and heightOffset is Not a Number\n\t\t\tif (isNaN(heightOffset)) {\n\t\t\t\theightOffset = 0;\n\t\t\t}\n\n\t\t\tupdate();\n\t\t}\n\n\t\tfunction changeOverflow(value) {\n\t\t\t{\n\t\t\t\t// Chrome/Safari-specific fix:\n\t\t\t\t// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space\n\t\t\t\t// made available by removing the scrollbar. The following forces the necessary text reflow.\n\t\t\t\tvar width = ta.style.width;\n\t\t\t\tta.style.width = '0px';\n\t\t\t\t// Force reflow:\n\t\t\t\t/* jshint ignore:start */\n\t\t\t\tta.offsetWidth;\n\t\t\t\t/* jshint ignore:end */\n\t\t\t\tta.style.width = width;\n\t\t\t}\n\n\t\t\tta.style.overflowY = value;\n\t\t}\n\n\t\tfunction getParentOverflows(el) {\n\t\t\tvar arr = [];\n\n\t\t\twhile (el && el.parentNode && el.parentNode instanceof Element) {\n\t\t\t\tif (el.parentNode.scrollTop) {\n\t\t\t\t\tarr.push({\n\t\t\t\t\t\tnode: el.parentNode,\n\t\t\t\t\t\tscrollTop: el.parentNode.scrollTop\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tel = el.parentNode;\n\t\t\t}\n\n\t\t\treturn arr;\n\t\t}\n\n\t\tfunction resize() {\n\t\t\tvar originalHeight = ta.style.height;\n\t\t\tvar overflows = getParentOverflows(ta);\n\t\t\tvar docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)\n\n\t\t\tta.style.height = 'auto';\n\n\t\t\tvar endHeight = ta.scrollHeight + heightOffset;\n\n\t\t\tif (ta.scrollHeight === 0) {\n\t\t\t\t// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.\n\t\t\t\tta.style.height = originalHeight;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tta.style.height = endHeight + 'px';\n\n\t\t\t// used to check if an update is actually necessary on window.resize\n\t\t\tclientWidth = ta.clientWidth;\n\n\t\t\t// prevents scroll-position jumping\n\t\t\toverflows.forEach(function (el) {\n\t\t\t\tel.node.scrollTop = el.scrollTop;\n\t\t\t});\n\n\t\t\tif (docTop) {\n\t\t\t\tdocument.documentElement.scrollTop = docTop;\n\t\t\t}\n\t\t}\n\n\t\tfunction update() {\n\t\t\tresize();\n\n\t\t\tvar styleHeight = Math.round(parseFloat(ta.style.height));\n\t\t\tvar computed = window.getComputedStyle(ta, null);\n\n\t\t\t// Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box\n\t\t\tvar actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;\n\n\t\t\t// The actual height not matching the style height (set via the resize method) indicates that\n\t\t\t// the max-height has been exceeded, in which case the overflow should be allowed.\n\t\t\tif (actualHeight !== styleHeight) {\n\t\t\t\tif (computed.overflowY === 'hidden') {\n\t\t\t\t\tchangeOverflow('scroll');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.\n\t\t\t\tif (computed.overflowY !== 'hidden') {\n\t\t\t\t\tchangeOverflow('hidden');\n\t\t\t\t\tresize();\n\t\t\t\t\tactualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (cachedHeight !== actualHeight) {\n\t\t\t\tcachedHeight = actualHeight;\n\t\t\t\tvar evt = createEvent('autosize:resized');\n\t\t\t\ttry {\n\t\t\t\t\tta.dispatchEvent(evt);\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Firefox will throw an error on dispatchEvent for a detached element\n\t\t\t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=889376\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar pageResize = function pageResize() {\n\t\t\tif (ta.clientWidth !== clientWidth) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t};\n\n\t\tvar destroy = (function (style) {\n\t\t\twindow.removeEventListener('resize', pageResize, false);\n\t\t\tta.removeEventListener('input', update, false);\n\t\t\tta.removeEventListener('keyup', update, false);\n\t\t\tta.removeEventListener('autosize:destroy', destroy, false);\n\t\t\tta.removeEventListener('autosize:update', update, false);\n\n\t\t\tObject.keys(style).forEach(function (key) {\n\t\t\t\tta.style[key] = style[key];\n\t\t\t});\n\n\t\t\tmap['delete'](ta);\n\t\t}).bind(ta, {\n\t\t\theight: ta.style.height,\n\t\t\tresize: ta.style.resize,\n\t\t\toverflowY: ta.style.overflowY,\n\t\t\toverflowX: ta.style.overflowX,\n\t\t\twordWrap: ta.style.wordWrap\n\t\t});\n\n\t\tta.addEventListener('autosize:destroy', destroy, false);\n\n\t\t// IE9 does not fire onpropertychange or oninput for deletions,\n\t\t// so binding to onkeyup to catch most of those events.\n\t\t// There is no way that I know of to detect something like 'cut' in IE9.\n\t\tif ('onpropertychange' in ta && 'oninput' in ta) {\n\t\t\tta.addEventListener('keyup', update, false);\n\t\t}\n\n\t\twindow.addEventListener('resize', pageResize, false);\n\t\tta.addEventListener('input', update, false);\n\t\tta.addEventListener('autosize:update', update, false);\n\t\tta.style.overflowX = 'hidden';\n\t\tta.style.wordWrap = 'break-word';\n\n\t\tmap.set(ta, {\n\t\t\tdestroy: destroy,\n\t\t\tupdate: update\n\t\t});\n\n\t\tinit();\n\t}\n\n\tfunction destroy(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.destroy();\n\t\t}\n\t}\n\n\tfunction update(ta) {\n\t\tvar methods = map.get(ta);\n\t\tif (methods) {\n\t\t\tmethods.update();\n\t\t}\n\t}\n\n\tvar autosize = null;\n\n\t// Do nothing in Node.js environment and IE8 (or lower)\n\tif (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {\n\t\tautosize = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\treturn el;\n\t\t};\n\t} else {\n\t\tautosize = function (el, options) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], function (x) {\n\t\t\t\t\treturn assign(x, options);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.destroy = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], destroy);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t\tautosize.update = function (el) {\n\t\t\tif (el) {\n\t\t\t\tArray.prototype.forEach.call(el.length ? el : [el], update);\n\t\t\t}\n\t\t\treturn el;\n\t\t};\n\t}\n\n\tmodule.exports = autosize;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/autosize/dist/autosize.js\n// module id = 150\n// module chunks = 0","import Polyglot from 'node-polyglot/build/polyglot'\nimport ZHCN from './zh-CN.json'\nimport ZHTW from './zh-TW.json'\nimport EN from './en.json'\nimport ES from './es-ES.json'\nimport FR from './fr.json'\nimport RU from './ru.json'\nimport DE from './de.json'\n\nconst i18nMap = {\n  'zh': ZHCN,\n  'zh-CN': ZHCN,\n  'zh-TW': ZHTW,\n  'en': EN,\n  'es-ES': ES,\n  'fr': FR,\n  'ru': RU,\n  'de': DE,\n}\n\nexport default function (language) {\n  return new Polyglot({\n    phrases: i18nMap[language] || i18nMap.en,\n    locale: language\n  })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./i18n/index.js","//     (c) 2012 Airbnb, Inc.\n//\n//     polyglot.js may be freely distributed under the terms of the BSD\n//     license. For all licensing information, details, and documention:\n//     http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n\n(function(root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    define([], function() {\n      return factory(root);\n    });\n  } else if (typeof exports === 'object') {\n    module.exports = factory(root);\n  } else {\n    root.Polyglot = factory(root);\n  }\n}(this, function(root) {\n  'use strict';\n\n  // ### Polyglot class constructor\n  function Polyglot(options) {\n    options = options || {};\n    this.phrases = {};\n    this.extend(options.phrases || {});\n    this.currentLocale = options.locale || 'en';\n    this.allowMissing = !!options.allowMissing;\n    this.warn = options.warn || warn;\n  }\n\n  // ### Version\n  Polyglot.VERSION = '0.4.3';\n\n  // ### polyglot.locale([locale])\n  //\n  // Get or set locale. Internally, Polyglot only uses locale for pluralization.\n  Polyglot.prototype.locale = function(newLocale) {\n    if (newLocale) this.currentLocale = newLocale;\n    return this.currentLocale;\n  };\n\n  // ### polyglot.extend(phrases)\n  //\n  // Use `extend` to tell Polyglot how to translate a given key.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     });\n  //\n  // The key can be any string.  Feel free to call `extend` multiple times;\n  // it will override any phrases with the same key, but leave existing phrases\n  // untouched.\n  //\n  // It is also possible to pass nested phrase objects, which get flattened\n  // into an object with the nested keys concatenated using dot notation.\n  //\n  //     polyglot.extend({\n  //       \"nav\": {\n  //         \"hello\": \"Hello\",\n  //         \"hello_name\": \"Hello, %{name}\",\n  //         \"sidebar\": {\n  //           \"welcome\": \"Welcome\"\n  //         }\n  //       }\n  //     });\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}',\n  //     //   'nav.sidebar.welcome': 'Welcome'\n  //     // }\n  //\n  // `extend` accepts an optional second argument, `prefix`, which can be used\n  // to prefix every key in the phrases object with some string, using dot\n  // notation.\n  //\n  //     polyglot.extend({\n  //       \"hello\": \"Hello\",\n  //       \"hello_name\": \"Hello, %{name}\"\n  //     }, \"nav\");\n  //\n  //     console.log(polyglot.phrases);\n  //     // {\n  //     //   'nav.hello': 'Hello',\n  //     //   'nav.hello_name': 'Hello, %{name}'\n  //     // }\n  //\n  // This feature is used internally to support nested phrase objects.\n  Polyglot.prototype.extend = function(morePhrases, prefix) {\n    var phrase;\n\n    for (var key in morePhrases) {\n      if (morePhrases.hasOwnProperty(key)) {\n        phrase = morePhrases[key];\n        if (prefix) key = prefix + '.' + key;\n        if (typeof phrase === 'object') {\n          this.extend(phrase, key);\n        } else {\n          this.phrases[key] = phrase;\n        }\n      }\n    }\n  };\n\n  // ### polyglot.clear()\n  //\n  // Clears all phrases. Useful for special cases, such as freeing\n  // up memory if you have lots of phrases but no longer need to\n  // perform any translation. Also used internally by `replace`.\n  Polyglot.prototype.clear = function() {\n    this.phrases = {};\n  };\n\n  // ### polyglot.replace(phrases)\n  //\n  // Completely replace the existing phrases with a new set of phrases.\n  // Normally, just use `extend` to add more phrases, but under certain\n  // circumstances, you may want to make sure no old phrases are lying around.\n  Polyglot.prototype.replace = function(newPhrases) {\n    this.clear();\n    this.extend(newPhrases);\n  };\n\n\n  // ### polyglot.t(key, options)\n  //\n  // The most-used method. Provide a key, and `t` will return the\n  // phrase.\n  //\n  //     polyglot.t(\"hello\");\n  //     => \"Hello\"\n  //\n  // The phrase value is provided first by a call to `polyglot.extend()` or\n  // `polyglot.replace()`.\n  //\n  // Pass in an object as the second argument to perform interpolation.\n  //\n  //     polyglot.t(\"hello_name\", {name: \"Spike\"});\n  //     => \"Hello, Spike\"\n  //\n  // If you like, you can provide a default value in case the phrase is missing.\n  // Use the special option key \"_\" to specify a default.\n  //\n  //     polyglot.t(\"i_like_to_write_in_language\", {\n  //       _: \"I like to write in %{language}.\",\n  //       language: \"JavaScript\"\n  //     });\n  //     => \"I like to write in JavaScript.\"\n  //\n  Polyglot.prototype.t = function(key, options) {\n    var phrase, result;\n    options = options == null ? {} : options;\n    // allow number as a pluralization shortcut\n    if (typeof options === 'number') {\n      options = {smart_count: options};\n    }\n    if (typeof this.phrases[key] === 'string') {\n      phrase = this.phrases[key];\n    } else if (typeof options._ === 'string') {\n      phrase = options._;\n    } else if (this.allowMissing) {\n      phrase = key;\n    } else {\n      this.warn('Missing translation for key: \"'+key+'\"');\n      result = key;\n    }\n    if (typeof phrase === 'string') {\n      options = clone(options);\n      result = choosePluralForm(phrase, this.currentLocale, options.smart_count);\n      result = interpolate(result, options);\n    }\n    return result;\n  };\n\n\n  // ### polyglot.has(key)\n  //\n  // Check if polyglot has a translation for given key\n  Polyglot.prototype.has = function(key) {\n    return key in this.phrases;\n  };\n\n\n  // #### Pluralization methods\n  // The string that separates the different phrase possibilities.\n  var delimeter = '||||';\n\n  // Mapping from pluralization group plural logic.\n  var pluralTypes = {\n    chinese:   function(n) { return 0; },\n    german:    function(n) { return n !== 1 ? 1 : 0; },\n    french:    function(n) { return n > 1 ? 1 : 0; },\n    russian:   function(n) { return n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2; },\n    czech:     function(n) { return (n === 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2; },\n    polish:    function(n) { return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); },\n    icelandic: function(n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }\n  };\n\n  // Mapping from pluralization group to individual locales.\n  var pluralTypeToLanguages = {\n    chinese:   ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],\n    german:    ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],\n    french:    ['fr', 'tl', 'pt-br'],\n    russian:   ['hr', 'ru'],\n    czech:     ['cs'],\n    polish:    ['pl'],\n    icelandic: ['is']\n  };\n\n  function langToTypeMap(mapping) {\n    var type, langs, l, ret = {};\n    for (type in mapping) {\n      if (mapping.hasOwnProperty(type)) {\n        langs = mapping[type];\n        for (l in langs) {\n          ret[langs[l]] = type;\n        }\n      }\n    }\n    return ret;\n  }\n\n  // Trim a string.\n  function trim(str){\n    var trimRe = /^\\s+|\\s+$/g;\n    return str.replace(trimRe, '');\n  }\n\n  // Based on a phrase text that contains `n` plural forms separated\n  // by `delimeter`, a `locale`, and a `count`, choose the correct\n  // plural form, or none if `count` is `null`.\n  function choosePluralForm(text, locale, count){\n    var ret, texts, chosenText;\n    if (count != null && text) {\n      texts = text.split(delimeter);\n      chosenText = texts[pluralTypeIndex(locale, count)] || texts[0];\n      ret = trim(chosenText);\n    } else {\n      ret = text;\n    }\n    return ret;\n  }\n\n  function pluralTypeName(locale) {\n    var langToPluralType = langToTypeMap(pluralTypeToLanguages);\n    return langToPluralType[locale] || langToPluralType.en;\n  }\n\n  function pluralTypeIndex(locale, count) {\n    return pluralTypes[pluralTypeName(locale)](count);\n  }\n\n  // ### interpolate\n  //\n  // Does the dirty work. Creates a `RegExp` object for each\n  // interpolation placeholder.\n  function interpolate(phrase, options) {\n    for (var arg in options) {\n      if (arg !== '_' && options.hasOwnProperty(arg)) {\n        // We create a new `RegExp` each time instead of using a more-efficient\n        // string replace so that the same argument can be replaced multiple times\n        // in the same phrase.\n        phrase = phrase.replace(new RegExp('%\\\\{'+arg+'\\\\}', 'g'), options[arg]);\n      }\n    }\n    return phrase;\n  }\n\n  // ### warn\n  //\n  // Provides a warning in the console if a phrase key is missing.\n  function warn(message) {\n    root.console && root.console.warn && root.console.warn('WARNING: ' + message);\n  }\n\n  // ### clone\n  //\n  // Clone an object.\n  function clone(source) {\n    var ret = {};\n    for (var prop in source) {\n      ret[prop] = source[prop];\n    }\n    return ret;\n  }\n\n  return Polyglot;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/node-polyglot/build/polyglot.js\n// module id = 152\n// module chunks = 0","module.exports = {\"init\":\"Gitalk 加载中 ...\",\"no-found-related\":\"未找到相关的 %{link} 进行评论\",\"please-contact\":\"请联系 %{user} 初始化创建\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"说点什么\",\"preview\":\"预览\",\"edit\":\"编辑\",\"comment\":\"评论\",\"support-markdown\":\"支持 Markdown 语法\",\"login-with-github\":\"使用 GitHub 登录\",\"first-comment-person\":\"来做第一个留言的人吧！\",\"commented\":\"发表于\",\"load-more\":\"加载更多\",\"counts\":\"%{counts} 条评论\",\"sort-asc\":\"从旧到新排序\",\"sort-desc\":\"从新到旧排序\",\"logout\":\"注销\",\"anonymous\":\"未登录用户\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/zh-CN.json\n// module id = 153\n// module chunks = 0","module.exports = {\"init\":\"Gitalk 載入中…\",\"no-found-related\":\"未找到相關的 %{link}\",\"please-contact\":\"請聯絡 %{user} 初始化評論\",\"init-issue\":\"初始化 Issue\",\"leave-a-comment\":\"寫點什麼\",\"preview\":\"預覽\",\"edit\":\"編輯\",\"comment\":\"評論\",\"support-markdown\":\"支援 Markdown 語法\",\"login-with-github\":\"使用 GitHub 登入\",\"first-comment-person\":\"成為首個留言的人吧！\",\"commented\":\"評論於\",\"load-more\":\"載入更多\",\"counts\":\"%{counts} 筆評論\",\"sort-asc\":\"從舊至新排序\",\"sort-desc\":\"從新至舊排序\",\"logout\":\"登出\",\"anonymous\":\"訪客\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/zh-TW.json\n// module id = 154\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Related %{link} not found\",\"please-contact\":\"Please contact %{user} to initialize the comment\",\"init-issue\":\"Init Issue\",\"leave-a-comment\":\"Leave a comment\",\"preview\":\"Preview\",\"edit\":\"Edit\",\"comment\":\"Comment\",\"support-markdown\":\"Markdown is supported\",\"login-with-github\":\"Login with GitHub\",\"first-comment-person\":\"Be the first person to leave a comment!\",\"commented\":\"commented\",\"load-more\":\"Load more\",\"counts\":\"%{counts} comment |||| %{counts} comments\",\"sort-asc\":\"Sort by Oldest\",\"sort-desc\":\"Sort by Latest\",\"logout\":\"Logout\",\"anonymous\":\"Anonymous\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/en.json\n// module id = 155\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Link %{link} no encontrado\",\"please-contact\":\"Por favor contacta con %{user} para inicializar el comentario\",\"init-issue\":\"Iniciar Issue\",\"leave-a-comment\":\"Deja un comentario\",\"preview\":\"Avance\",\"edit\":\"Editar\",\"comment\":\"Comentario\",\"support-markdown\":\"Markdown es soportado\",\"login-with-github\":\"Entrar con GitHub\",\"first-comment-person\":\"Sé el primero en dejar un comentario!\",\"commented\":\"comentó\",\"load-more\":\"Cargar más\",\"counts\":\"%{counts} comentario |||| %{counts} comentarios\",\"sort-asc\":\"Ordenar por Antiguos\",\"sort-desc\":\"Ordenar por Recientes\",\"logout\":\"Salir\",\"anonymous\":\"Anónimo\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/es-ES.json\n// module id = 156\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Lien %{link} non trouvé\",\"please-contact\":\"S’il vous plaît contactez %{user} pour initialiser les commentaires\",\"init-issue\":\"Initialisation des issues\",\"leave-a-comment\":\"Laisser un commentaire\",\"preview\":\"Aperçu\",\"edit\":\"Modifier\",\"comment\":\"Commentaire\",\"support-markdown\":\"Markdown est supporté\",\"login-with-github\":\"Se connecter avec GitHub\",\"first-comment-person\":\"Être le premier à laisser un commentaire !\",\"commented\":\"commenter\",\"load-more\":\"Charger plus\",\"counts\":\"%{counts} commentaire |||| %{counts} commentaires\",\"sort-asc\":\"Trier par plus ancien\",\"sort-desc\":\"Trier par plus récent\",\"logout\":\"Déconnexion\",\"anonymous\":\"Anonyme\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/fr.json\n// module id = 157\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Связанные %{link} не найдены\",\"please-contact\":\"Пожалуйста, свяжитесь с %{user} чтобы инициализировать комментарий\",\"init-issue\":\"Выпуск инициализации\",\"leave-a-comment\":\"Оставить комментарий\",\"preview\":\"Предварительный просмотр\",\"edit\":\"Pедактировать\",\"comment\":\"Комментарий\",\"support-markdown\":\"Поддерживается Markdown\",\"login-with-github\":\"Вход через GitHub\",\"first-comment-person\":\"Будьте первым, кто оставил комментарий\",\"commented\":\"прокомментированный\",\"load-more\":\"Загрузить ещё\",\"counts\":\"%{counts} комментарий |||| %{counts} комментарьев\",\"sort-asc\":\"Сортировать по старым\",\"sort-desc\":\"Сортировать по последним\",\"logout\":\"Выход\",\"anonymous\":\"Анонимный\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/ru.json\n// module id = 158\n// module chunks = 0","module.exports = {\"init\":\"Gitalking ...\",\"no-found-related\":\"Zugehöriger %{link} nicht gefunden\",\"please-contact\":\"Bitte kontaktiere %{user} um den Kommentar zu initialisieren\",\"init-issue\":\"Initialisiere Issue\",\"leave-a-comment\":\"Hinterlasse einen Kommentar\",\"preview\":\"Vorschau\",\"edit\":\"Editieren\",\"comment\":\"Kommentieren\",\"support-markdown\":\"Markdown wird unterstützt\",\"login-with-github\":\"Mit GitHub-Account anmelden\",\"first-comment-person\":\"Sei die erste Person, welche einen Kommentar hinterlässt!\",\"commented\":\"kommentierte\",\"load-more\":\"Zeige mehr\",\"counts\":\"%{counts} Kommentar |||| %{counts} Kommentare\",\"sort-asc\":\"Älteste zuerst\",\"sort-desc\":\"Neuste zuerst\",\"logout\":\"Abmelden\",\"anonymous\":\"Anonym\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./i18n/de.json\n// module id = 159\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/object/keys.js\n// module id = 161\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/object/keys.js\n// module id = 162\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n  return function keys(it) {\n    return $keys(toObject(it));\n  };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 163\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n  function sliceIterator(arr, i) {\n    var _arr = [];\n    var _n = true;\n    var _d = false;\n    var _e = undefined;\n\n    try {\n      for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n        _arr.push(_s.value);\n\n        if (i && _arr.length === i) break;\n      }\n    } catch (err) {\n      _d = true;\n      _e = err;\n    } finally {\n      try {\n        if (!_n && _i[\"return\"]) _i[\"return\"]();\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n\n    return _arr;\n  }\n\n  return function (arr, i) {\n    if (Array.isArray(arr)) {\n      return arr;\n    } else if ((0, _isIterable3.default)(Object(arr))) {\n      return sliceIterator(arr, i);\n    } else {\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n    }\n  };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/slicedToArray.js\n// module id = 164\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/is-iterable.js\n// module id = 165\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/is-iterable.js\n// module id = 166\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n  var O = Object(it);\n  return O[ITERATOR] !== undefined\n    || '@@iterator' in O\n    // eslint-disable-next-line no-prototype-builtins\n    || Iterators.hasOwnProperty(classof(O));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.is-iterable.js\n// module id = 167\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/get-iterator.js\n// module id = 168\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/get-iterator.js\n// module id = 169\n// module chunks = 0","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n  var iterFn = get(it);\n  if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n  return anObject(iterFn.call(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/core.get-iterator.js\n// module id = 170\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/index.js\n// module id = 171\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/axios.js\n// module id = 172\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = arguments[1] || {};\n    config.url = arguments[0];\n  } else {\n    config = config || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  // Hook up interceptors middleware\n  var chain = [dispatchRequest, undefined];\n  var promise = Promise.resolve(config);\n\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    chain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  while (chain.length) {\n    promise = promise.then(chain.shift(), chain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(utils.merge(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/Axios.js\n// module id = 173\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/InterceptorManager.js\n// module id = 174\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData(\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData(\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData(\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/dispatchRequest.js\n// module id = 175\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn(data, headers);\n  });\n\n  return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/transformData.js\n// module id = 176\n// module chunks = 0","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/normalizeHeaderName.js\n// module id = 177\n// module chunks = 0","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/settle.js\n// module id = 178\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.toJSON = function() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code\n    };\n  };\n  return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/enhanceError.js\n// module id = 179\n// module chunks = 0","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/core/buildFullPath.js\n// module id = 180\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = 181\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/combineURLs.js\n// module id = 182\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/parseHeaders.js\n// module id = 183\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = 184\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/cookies.js\n// module id = 185\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/cancel/CancelToken.js\n// module id = 186\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/axios/lib/helpers/spread.js\n// module id = 187\n// module chunks = 0","import React from 'react'\n\nexport default ({\n  className,\n  getRef,\n  onClick,\n  onMouseDown,\n  text,\n  isLoading\n}) => (\n  <button\n    ref={el => getRef && getRef(el)}\n    className={`gt-btn ${className}`}\n    onClick={onClick}\n    onMouseDown={onMouseDown}>\n    <span className=\"gt-btn-text\">{text}</span>\n    {\n      isLoading && <span className=\"gt-btn-loading gt-spinner\"></span>\n    }\n  </button>\n)\n\n\n\n\n// WEBPACK FOOTER //\n// ./component/button.jsx","import React from 'react'\n\nexport default ({ className, onClick, text }) => (\n  <a className={`gt-action ${className}`} onClick={onClick}>\n    <span className=\"gt-action-text\">{text}</span>\n  </a>\n)\n\n\n\n// WEBPACK FOOTER //\n// ./component/action.jsx","import React, { Component } from 'react'\nimport Avatar from './avatar'\nimport Svg from './svg'\nimport distanceInWordsToNow from 'date-fns/distance_in_words_to_now'\nimport buildDistanceInWordsLocaleZHCN from 'date-fns/locale/zh_cn/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleZHTW from 'date-fns/locale/zh_tw/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleES from 'date-fns/locale/es/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleFR from 'date-fns/locale/fr/build_distance_in_words_locale/index'\nimport buildDistanceInWordsLocaleRU from 'date-fns/locale/ru/build_distance_in_words_locale/index'\nimport 'github-markdown-css/github-markdown.css'\n\nconst ZHCN = buildDistanceInWordsLocaleZHCN()\nconst ZHTW = buildDistanceInWordsLocaleZHTW()\nconst ES = buildDistanceInWordsLocaleES()\nconst FR = buildDistanceInWordsLocaleFR()\nconst RU = buildDistanceInWordsLocaleRU()\n\nif (typeof window !== `undefined`) {\n  window.GT_i18n_distanceInWordsLocaleMap = {\n    zh: ZHCN,\n    'zh-CN': ZHCN,\n    'zh-TW': ZHTW,\n    'es-ES': ES,\n    fr: FR,\n    ru: RU\n  }\n}\n\n\nexport default class Comment extends Component {\n  shouldComponentUpdate () {\n    return false\n  }\n\n  componentDidMount () {\n    const comment = this.node\n    const emailResponse = comment.querySelector('.email-hidden-toggle>a')\n    if (emailResponse) {\n      emailResponse.addEventListener('click', e => {\n        e.preventDefault()\n        comment.querySelector('.email-hidden-reply').classList.toggle('expanded')\n      }, true)\n    }\n  }\n\n  handleImageErrored(obj) {\n    obj.target.src=\"https://cdn.jsdelivr.net/npm/gitalk@1/src/assets/icon/github.svg\";\n  }\n  render () {\n    const {\n      comment,\n      user,\n      language,\n      commentedText = '',\n      admin = [],\n      replyCallback,\n      likeCallback\n    } = this.props\n    const enableEdit = user && comment.user.login === user.login\n    const isAdmin = ~[]\n      .concat(admin)\n      .map(a => a.toLowerCase())\n      .indexOf(comment.user.login.toLowerCase())\n    const reactions = comment.reactions\n\n    let reactionTotalCount = ''\n    if (reactions && reactions.totalCount) {\n      reactionTotalCount = reactions.totalCount\n      if (\n        reactions.totalCount === 100 &&\n        reactions.pageInfo &&\n        reactions.pageInfo.hasNextPage\n      ) {\n        reactionTotalCount = '100+'\n      }\n    }\n\n    return (\n      <div ref={node => { this.node = node }} className={`gt-comment ${isAdmin ? 'gt-comment-admin' : ''}`}>\n        <Avatar\n          className=\"gt-comment-avatar\"\n          src={comment.user && comment.user.avatar_url}\n          alt={comment.user && comment.user.login}\n          onError={this.handleImageErrored.bind(this)} \n        />\n\n        <div className=\"gt-comment-content\">\n          <div className=\"gt-comment-header\">\n            <div className={`gt-comment-block-${user ? '2' : '1'}`} />\n            <a\n              className=\"gt-comment-username\"\n              href={comment.user && comment.user.html_url}\n            >\n              {comment.user && comment.user.login}\n            </a>\n            <span className=\"gt-comment-text\">{commentedText}</span>\n            <span className=\"gt-comment-date\">\n              {distanceInWordsToNow(comment.created_at, {\n                addSuffix: true,\n                locale: {\n                  distanceInWords:\n                    window.GT_i18n_distanceInWordsLocaleMap[language]\n                }\n              })}\n            </span>\n\n            {reactions && (\n              <a className=\"gt-comment-like\" title=\"Like\" onClick={likeCallback}>\n                {reactions.viewerHasReacted ? (\n                  <Svg\n                    className=\"gt-ico-heart\"\n                    name=\"heart_on\"\n                    text={reactionTotalCount}\n                  />\n                ) : (\n                  <Svg\n                    className=\"gt-ico-heart\"\n                    name=\"heart\"\n                    text={reactionTotalCount}\n                  />\n                )}\n              </a>\n            )}\n\n            {enableEdit ? (\n              <a\n                href={comment.html_url}\n                className=\"gt-comment-edit\"\n                title=\"Edit\"\n                target=\"_blank\"\n              >\n                <Svg className=\"gt-ico-edit\" name=\"edit\" />\n              </a>\n            ) : (\n              <a className=\"gt-comment-reply\" title=\"Reply\" onClick={replyCallback}>\n                <Svg className=\"gt-ico-reply\" name=\"reply\" />\n              </a>\n            )}\n          </div>\n          <div\n            className=\"gt-comment-body markdown-body\"\n            dangerouslySetInnerHTML={{\n              __html: comment.body_html\n            }}\n          />\n        </div>\n      </div>\n    )\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./component/comment.jsx","var map = {\n\t\"./arrow_down.svg\": 192,\n\t\"./edit.svg\": 193,\n\t\"./github.svg\": 194,\n\t\"./heart.svg\": 195,\n\t\"./heart_on.svg\": 196,\n\t\"./reply.svg\": 197,\n\t\"./tip.svg\": 198\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 191;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./assets/icon !../node_modules/raw-loader ^\\.\\/.*\\.svg$\n// module id = 191\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"1619\\\"><path d=\\\"M511.872 676.8c-0.003 0-0.006 0-0.008 0-9.137 0-17.379-3.829-23.21-9.97l-251.277-265.614c-5.415-5.72-8.743-13.464-8.744-21.984 0-17.678 14.33-32.008 32.008-32.008 9.157 0 17.416 3.845 23.25 10.009l228.045 241.103 228.224-241.088c5.855-6.165 14.113-10.001 23.266-10.001 8.516 0 16.256 3.32 21.998 8.736 12.784 12.145 13.36 32.434 1.264 45.233l-251.52 265.6c-5.844 6.155-14.086 9.984-23.223 9.984-0.025 0-0.051 0-0.076 0z\\\" p-id=\\\"1620\\\"></path></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/arrow_down.svg\n// module id = 192\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M785.333333 85.333333C774.666667 85.333333 763.2 90.133333 754.666667 98.666667L682.666667 170.666667 853.333333 341.333333 925.333333 269.333333C942.4 252.266667 942.4 222.133333 925.333333 209.333333L814.666667 98.666667C806.133333 90.133333 796 85.333333 785.333333 85.333333zM640 217.333333 85.333333 768 85.333333 938.666667 256 938.666667 806.666667 384 640 217.333333z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/edit.svg\n// module id = 193\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M64 524C64 719.602 189.356 885.926 364.113 947.017 387.65799 953 384 936.115 384 924.767L384 847.107C248.118 863.007 242.674 773.052 233.5 758.001 215 726.501 171.5 718.501 184.5 703.501 215.5 687.501 247 707.501 283.5 761.501 309.956 800.642 361.366 794.075 387.658 787.497 393.403 763.997 405.637 743.042 422.353 726.638 281.774 701.609 223 615.67 223 513.5 223 464.053 239.322 418.406 271.465 381.627 251.142 320.928 273.421 269.19 276.337 261.415 334.458 256.131 394.888 302.993 399.549 306.685 432.663 297.835 470.341 293 512.5 293 554.924 293 592.81 297.896 626.075 306.853 637.426 298.219 693.46 258.054 747.5 262.966 750.382 270.652 772.185 321.292 753.058 381.083 785.516 417.956 802 463.809 802 513.5 802 615.874 742.99 701.953 601.803 726.786 625.381 750.003 640 782.295 640 818.008L640 930.653C640.752 939.626 640 948.664978 655.086 948.665 832.344 888.962 960 721.389 960 524 960 276.576 759.424 76 512 76 264.577 76 64 276.576 64 524Z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/github.svg\n// module id = 194\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z m286.72 377.173333l45.226667-45.226666a192 192 0 0 0-135.808-327.893334 192 192 0 0 0-135.808 56.32l-45.226667 45.226667a42.666667 42.666667 0 0 1-60.330666 0l-45.226667-45.226667a192.042667 192.042667 0 0 0-271.616 271.573334L512 845.482667l301.781333-301.781334z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/heart.svg\n// module id = 195\n// module chunks = 0","module.exports = \"<svg t=\\\"1512463363724\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\">\\n  <path d=\\\"M527.061333 166.528A277.333333 277.333333 0 0 1 1000.618667 362.666667a277.333333 277.333333 0 0 1-81.28 196.138666l-377.173334 377.173334a42.666667 42.666667 0 0 1-60.330666 0l-377.173334-377.173334a277.376 277.376 0 0 1 392.277334-392.277333l15.061333 15.061333 15.061333-15.061333z\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/heart_on.svg\n// module id = 196\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1332 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M529.066665 273.066666 529.066665 0 51.2 477.866666 529.066665 955.733335 529.066665 675.84C870.4 675.84 1109.333335 785.066665 1280 1024 1211.733335 682.666665 1006.933335 341.333334 529.066665 273.066666\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/reply.svg\n// module id = 197\n// module chunks = 0","module.exports = \"<svg viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n  <path d=\\\"M512 366.949535c-16.065554 0-29.982212 13.405016-29.982212 29.879884l0 359.070251c0 16.167882 13.405016 29.879884 29.982212 29.879884 15.963226 0 29.879884-13.405016 29.879884-29.879884L541.879884 396.829419C541.879884 380.763865 528.474868 366.949535 512 366.949535L512 366.949535z\\\"\\n    p-id=\\\"3083\\\"></path>\\n  <path d=\\\"M482.017788 287.645048c0-7.776956 3.274508-15.553912 8.80024-21.181973 5.525732-5.525732 13.302688-8.80024 21.181973-8.80024 7.776956 0 15.553912 3.274508 21.079644 8.80024 5.525732 5.62806 8.80024 13.405016 8.80024 21.181973 0 7.776956-3.274508 15.656241-8.80024 21.181973-5.525732 5.525732-13.405016 8.697911-21.079644 8.697911-7.879285 0-15.656241-3.274508-21.181973-8.697911C485.292295 303.301289 482.017788 295.524333 482.017788 287.645048L482.017788 287.645048z\\\"\\n    p-id=\\\"3084\\\"></path>\\n  <path d=\\\"M512 946.844409c-239.8577 0-434.895573-195.037873-434.895573-434.895573 0-239.8577 195.037873-434.895573 434.895573-434.895573 239.755371 0 434.895573 195.037873 434.895573 434.895573C946.895573 751.806535 751.755371 946.844409 512 946.844409zM512 126.17088c-212.740682 0-385.880284 173.037274-385.880284 385.777955 0 212.740682 173.037274 385.777955 385.880284 385.777955 212.740682 0 385.777955-173.037274 385.777955-385.777955C897.777955 299.208154 724.740682 126.17088 512 126.17088z\\\"\\n    p-id=\\\"3085\\\"></path>\\n</svg>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/raw-loader!./assets/icon/tip.svg\n// module id = 198\n// module chunks = 0","var distanceInWords = require('../distance_in_words/index.js')\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @param {Date|String|Number} date - the given date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result specifies if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * var result = distanceInWordsToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * var result = distanceInWordsToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * var result = distanceInWordsToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWordsToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWordsToNow (dirtyDate, dirtyOptions) {\n  return distanceInWords(Date.now(), dirtyDate, dirtyOptions)\n}\n\nmodule.exports = distanceInWordsToNow\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/distance_in_words_to_now/index.js\n// module id = 199\n// module chunks = 0","var compareDesc = require('../compare_desc/index.js')\nvar parse = require('../parse/index.js')\nvar differenceInSeconds = require('../difference_in_seconds/index.js')\nvar differenceInMonths = require('../difference_in_months/index.js')\nvar enLocale = require('../locale/en/index.js')\n\nvar MINUTES_IN_DAY = 1440\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520\nvar MINUTES_IN_MONTH = 43200\nvar MINUTES_IN_TWO_MONTHS = 86400\n\n/**\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @param {Date|String|Number} dateToCompare - the date to compare with\n * @param {Date|String|Number} date - the other date\n * @param {Object} [options] - the object with options\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Object} [options.locale=enLocale] - the locale object\n * @returns {String} the distance in words\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * var result = distanceInWords(\n *   new Date(2014, 6, 2),\n *   new Date(2015, 0, 1)\n * )\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * var result = distanceInWords(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * var result = distanceInWords(\n *   new Date(2016, 0, 1),\n *   new Date(2015, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * var eoLocale = require('date-fns/locale/eo')\n * var result = distanceInWords(\n *   new Date(2016, 7, 1),\n *   new Date(2015, 0, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nfunction distanceInWords (dirtyDateToCompare, dirtyDate, dirtyOptions) {\n  var options = dirtyOptions || {}\n\n  var comparison = compareDesc(dirtyDateToCompare, dirtyDate)\n\n  var locale = options.locale\n  var localize = enLocale.distanceInWords.localize\n  if (locale && locale.distanceInWords && locale.distanceInWords.localize) {\n    localize = locale.distanceInWords.localize\n  }\n\n  var localizeOptions = {\n    addSuffix: Boolean(options.addSuffix),\n    comparison: comparison\n  }\n\n  var dateLeft, dateRight\n  if (comparison > 0) {\n    dateLeft = parse(dirtyDateToCompare)\n    dateRight = parse(dirtyDate)\n  } else {\n    dateLeft = parse(dirtyDate)\n    dateRight = parse(dirtyDateToCompare)\n  }\n\n  var seconds = differenceInSeconds(dateRight, dateLeft)\n  var offset = dateRight.getTimezoneOffset() - dateLeft.getTimezoneOffset()\n  var minutes = Math.round(seconds / 60) - offset\n  var months\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options.includeSeconds) {\n      if (seconds < 5) {\n        return localize('lessThanXSeconds', 5, localizeOptions)\n      } else if (seconds < 10) {\n        return localize('lessThanXSeconds', 10, localizeOptions)\n      } else if (seconds < 20) {\n        return localize('lessThanXSeconds', 20, localizeOptions)\n      } else if (seconds < 40) {\n        return localize('halfAMinute', null, localizeOptions)\n      } else if (seconds < 60) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', 1, localizeOptions)\n      }\n    } else {\n      if (minutes === 0) {\n        return localize('lessThanXMinutes', 1, localizeOptions)\n      } else {\n        return localize('xMinutes', minutes, localizeOptions)\n      }\n    }\n\n  // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return localize('xMinutes', minutes, localizeOptions)\n\n  // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return localize('aboutXHours', 1, localizeOptions)\n\n  // 1.5 hrs up to 24 hrs\n  } else if (minutes < MINUTES_IN_DAY) {\n    var hours = Math.round(minutes / 60)\n    return localize('aboutXHours', hours, localizeOptions)\n\n  // 1 day up to 1.75 days\n  } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n    return localize('xDays', 1, localizeOptions)\n\n  // 1.75 days up to 30 days\n  } else if (minutes < MINUTES_IN_MONTH) {\n    var days = Math.round(minutes / MINUTES_IN_DAY)\n    return localize('xDays', days, localizeOptions)\n\n  // 1 month up to 2 months\n  } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n    months = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('aboutXMonths', months, localizeOptions)\n  }\n\n  months = differenceInMonths(dateRight, dateLeft)\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH)\n    return localize('xMonths', nearestMonth, localizeOptions)\n\n  // 1 year up to max Date\n  } else {\n    var monthsSinceStartOfYear = months % 12\n    var years = Math.floor(months / 12)\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return localize('aboutXYears', years, localizeOptions)\n\n    // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return localize('overXYears', years, localizeOptions)\n\n    // N years 9 months up to N year 12 months\n    } else {\n      return localize('almostXYears', years + 1, localizeOptions)\n    }\n  }\n}\n\nmodule.exports = distanceInWords\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/distance_in_words/index.js\n// module id = 200\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates reverse chronologically and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return -1 if the first date is after the second,\n * 1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989 reverse chronologically:\n * var result = compareDesc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> 1\n *\n * @example\n * // Sort the array of dates in reverse chronological order:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareDesc)\n * //=> [\n * //   Sun Jul 02 1995 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Wed Feb 11 1987 00:00:00\n * // ]\n */\nfunction compareDesc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft > timeRight) {\n    return -1\n  } else if (timeLeft < timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareDesc\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/compare_desc/index.js\n// module id = 201\n// module chunks = 0","/**\n * @category Common Helpers\n * @summary Is the given argument an instance of Date?\n *\n * @description\n * Is the given argument an instance of Date?\n *\n * @param {*} argument - the argument to check\n * @returns {Boolean} the given argument is an instance of Date\n *\n * @example\n * // Is 'mayonnaise' a Date?\n * var result = isDate('mayonnaise')\n * //=> false\n */\nfunction isDate (argument) {\n  return argument instanceof Date\n}\n\nmodule.exports = isDate\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/is_date/index.js\n// module id = 202\n// module chunks = 0","var differenceInMilliseconds = require('../difference_in_milliseconds/index.js')\n\n/**\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * var result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nfunction differenceInSeconds (dirtyDateLeft, dirtyDateRight) {\n  var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000\n  return diff > 0 ? Math.floor(diff) : Math.ceil(diff)\n}\n\nmodule.exports = differenceInSeconds\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_seconds/index.js\n// module id = 203\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * var result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nfunction differenceInMilliseconds (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n  return dateLeft.getTime() - dateRight.getTime()\n}\n\nmodule.exports = differenceInMilliseconds\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_milliseconds/index.js\n// module id = 204\n// module chunks = 0","var parse = require('../parse/index.js')\nvar differenceInCalendarMonths = require('../difference_in_calendar_months/index.js')\nvar compareAsc = require('../compare_asc/index.js')\n\n/**\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 7\n */\nfunction differenceInMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var sign = compareAsc(dateLeft, dateRight)\n  var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight))\n  dateLeft.setMonth(dateLeft.getMonth() - sign * difference)\n\n  // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n  // If so, result must be decreased by 1 in absolute value\n  var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign\n  return sign * (difference - isLastMonthNotFull)\n}\n\nmodule.exports = differenceInMonths\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_months/index.js\n// module id = 205\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|String|Number} dateLeft - the later date\n * @param {Date|String|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nfunction differenceInCalendarMonths (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var dateRight = parse(dirtyDateRight)\n\n  var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear()\n  var monthDiff = dateLeft.getMonth() - dateRight.getMonth()\n\n  return yearDiff * 12 + monthDiff\n}\n\nmodule.exports = differenceInCalendarMonths\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/difference_in_calendar_months/index.js\n// module id = 206\n// module chunks = 0","var parse = require('../parse/index.js')\n\n/**\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @param {Date|String|Number} dateLeft - the first date to compare\n * @param {Date|String|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * )\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nfunction compareAsc (dirtyDateLeft, dirtyDateRight) {\n  var dateLeft = parse(dirtyDateLeft)\n  var timeLeft = dateLeft.getTime()\n  var dateRight = parse(dirtyDateRight)\n  var timeRight = dateRight.getTime()\n\n  if (timeLeft < timeRight) {\n    return -1\n  } else if (timeLeft > timeRight) {\n    return 1\n  } else {\n    return 0\n  }\n}\n\nmodule.exports = compareAsc\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/compare_asc/index.js\n// module id = 207\n// module chunks = 0","var buildDistanceInWordsLocale = require('./build_distance_in_words_locale/index.js')\nvar buildFormatLocale = require('./build_format_locale/index.js')\n\n/**\n * @category Locales\n * @summary English locale.\n */\nmodule.exports = {\n  distanceInWords: buildDistanceInWordsLocale(),\n  format: buildFormatLocale()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/index.js\n// module id = 208\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'less than a second',\n      other: 'less than {{count}} seconds'\n    },\n\n    xSeconds: {\n      one: '1 second',\n      other: '{{count}} seconds'\n    },\n\n    halfAMinute: 'half a minute',\n\n    lessThanXMinutes: {\n      one: 'less than a minute',\n      other: 'less than {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'about 1 hour',\n      other: 'about {{count}} hours'\n    },\n\n    xHours: {\n      one: '1 hour',\n      other: '{{count}} hours'\n    },\n\n    xDays: {\n      one: '1 day',\n      other: '{{count}} days'\n    },\n\n    aboutXMonths: {\n      one: 'about 1 month',\n      other: 'about {{count}} months'\n    },\n\n    xMonths: {\n      one: '1 month',\n      other: '{{count}} months'\n    },\n\n    aboutXYears: {\n      one: 'about 1 year',\n      other: 'about {{count}} years'\n    },\n\n    xYears: {\n      one: '1 year',\n      other: '{{count}} years'\n    },\n\n    overXYears: {\n      one: 'over 1 year',\n      other: 'over {{count}} years'\n    },\n\n    almostXYears: {\n      one: 'almost 1 year',\n      other: 'almost {{count}} years'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'in ' + result\n      } else {\n        return result + ' ago'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/build_distance_in_words_locale/index.js\n// module id = 209\n// module chunks = 0","var buildFormattingTokensRegExp = require('../../_lib/build_formatting_tokens_reg_exp/index.js')\n\nfunction buildFormatLocale () {\n  // Note: in English, the names of days of the week and months are capitalized.\n  // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n  // Generally, formatted dates should look like they are in the middle of a sentence,\n  // e.g. in Spanish language the weekdays and months should be in the lowercase.\n  var months3char = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n  var monthsFull = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n  var weekdays2char = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\n  var weekdays3char = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n  var weekdaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n  var meridiemUppercase = ['AM', 'PM']\n  var meridiemLowercase = ['am', 'pm']\n  var meridiemFull = ['a.m.', 'p.m.']\n\n  var formatters = {\n    // Month: Jan, Feb, ..., Dec\n    'MMM': function (date) {\n      return months3char[date.getMonth()]\n    },\n\n    // Month: January, February, ..., December\n    'MMMM': function (date) {\n      return monthsFull[date.getMonth()]\n    },\n\n    // Day of week: Su, Mo, ..., Sa\n    'dd': function (date) {\n      return weekdays2char[date.getDay()]\n    },\n\n    // Day of week: Sun, Mon, ..., Sat\n    'ddd': function (date) {\n      return weekdays3char[date.getDay()]\n    },\n\n    // Day of week: Sunday, Monday, ..., Saturday\n    'dddd': function (date) {\n      return weekdaysFull[date.getDay()]\n    },\n\n    // AM, PM\n    'A': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemUppercase[1] : meridiemUppercase[0]\n    },\n\n    // am, pm\n    'a': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemLowercase[1] : meridiemLowercase[0]\n    },\n\n    // a.m., p.m.\n    'aa': function (date) {\n      return (date.getHours() / 12) >= 1 ? meridiemFull[1] : meridiemFull[0]\n    }\n  }\n\n  // Generate ordinal version of formatters: M -> Mo, D -> Do, etc.\n  var ordinalFormatters = ['M', 'D', 'DDD', 'd', 'Q', 'W']\n  ordinalFormatters.forEach(function (formatterToken) {\n    formatters[formatterToken + 'o'] = function (date, formatters) {\n      return ordinal(formatters[formatterToken](date))\n    }\n  })\n\n  return {\n    formatters: formatters,\n    formattingTokensRegExp: buildFormattingTokensRegExp(formatters)\n  }\n}\n\nfunction ordinal (number) {\n  var rem100 = number % 100\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + 'st'\n      case 2:\n        return number + 'nd'\n      case 3:\n        return number + 'rd'\n    }\n  }\n  return number + 'th'\n}\n\nmodule.exports = buildFormatLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/en/build_format_locale/index.js\n// module id = 210\n// module chunks = 0","var commonFormatterKeys = [\n  'M', 'MM', 'Q', 'D', 'DD', 'DDD', 'DDDD', 'd',\n  'E', 'W', 'WW', 'YY', 'YYYY', 'GG', 'GGGG',\n  'H', 'HH', 'h', 'hh', 'm', 'mm',\n  's', 'ss', 'S', 'SS', 'SSS',\n  'Z', 'ZZ', 'X', 'x'\n]\n\nfunction buildFormattingTokensRegExp (formatters) {\n  var formatterKeys = []\n  for (var key in formatters) {\n    if (formatters.hasOwnProperty(key)) {\n      formatterKeys.push(key)\n    }\n  }\n\n  var formattingTokens = commonFormatterKeys\n    .concat(formatterKeys)\n    .sort()\n    .reverse()\n  var formattingTokensRegExp = new RegExp(\n    '(\\\\[[^\\\\[]*\\\\])|(\\\\\\\\)?' + '(' + formattingTokens.join('|') + '|.)', 'g'\n  )\n\n  return formattingTokensRegExp\n}\n\nmodule.exports = buildFormattingTokensRegExp\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/_lib/build_formatting_tokens_reg_exp/index.js\n// module id = 211\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '不到 1 秒',\n      other: '不到 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分钟',\n\n    lessThanXMinutes: {\n      one: '不到 1 分钟',\n      other: '不到 {{count}} 分钟'\n    },\n\n    xMinutes: {\n      one: '1 分钟',\n      other: '{{count}} 分钟'\n    },\n\n    xHours: {\n      one: '1 小时',\n      other: '{{count}} 小时'\n    },\n\n    aboutXHours: {\n      one: '大约 1 小时',\n      other: '大约 {{count}} 小时'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大约 1 个月',\n      other: '大约 {{count}} 个月'\n    },\n\n    xMonths: {\n      one: '1 个月',\n      other: '{{count}} 个月'\n    },\n\n    aboutXYears: {\n      one: '大约 1 年',\n      other: '大约 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超过 1 年',\n      other: '超过 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '将近 1 年',\n      other: '将近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '内'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/zh_cn/build_distance_in_words_locale/index.js\n// module id = 212\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: '少於 1 秒',\n      other: '少於 {{count}} 秒'\n    },\n\n    xSeconds: {\n      one: '1 秒',\n      other: '{{count}} 秒'\n    },\n\n    halfAMinute: '半分鐘',\n\n    lessThanXMinutes: {\n      one: '少於 1 分鐘',\n      other: '少於 {{count}} 分鐘'\n    },\n\n    xMinutes: {\n      one: '1 分鐘',\n      other: '{{count}} 分鐘'\n    },\n\n    xHours: {\n      one: '1 小時',\n      other: '{{count}} 小時'\n    },\n\n    aboutXHours: {\n      one: '大約 1 小時',\n      other: '大約 {{count}} 小時'\n    },\n\n    xDays: {\n      one: '1 天',\n      other: '{{count}} 天'\n    },\n\n    aboutXMonths: {\n      one: '大約 1 個月',\n      other: '大約 {{count}} 個月'\n    },\n\n    xMonths: {\n      one: '1 個月',\n      other: '{{count}} 個月'\n    },\n\n    aboutXYears: {\n      one: '大約 1 年',\n      other: '大約 {{count}} 年'\n    },\n\n    xYears: {\n      one: '1 年',\n      other: '{{count}} 年'\n    },\n\n    overXYears: {\n      one: '超過 1 年',\n      other: '超過 {{count}} 年'\n    },\n\n    almostXYears: {\n      one: '將近 1 年',\n      other: '將近 {{count}} 年'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return result + '內'\n      } else {\n        return result + '前'\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/zh_tw/build_distance_in_words_locale/index.js\n// module id = 213\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'menos de un segundo',\n      other: 'menos de {{count}} segundos'\n    },\n\n    xSeconds: {\n      one: '1 segundo',\n      other: '{{count}} segundos'\n    },\n\n    halfAMinute: 'medio minuto',\n\n    lessThanXMinutes: {\n      one: 'menos de un minuto',\n      other: 'menos de {{count}} minutos'\n    },\n\n    xMinutes: {\n      one: '1 minuto',\n      other: '{{count}} minutos'\n    },\n\n    aboutXHours: {\n      one: 'alrededor de 1 hora',\n      other: 'alrededor de {{count}} horas'\n    },\n\n    xHours: {\n      one: '1 hora',\n      other: '{{count}} horas'\n    },\n\n    xDays: {\n      one: '1 día',\n      other: '{{count}} días'\n    },\n\n    aboutXMonths: {\n      one: 'alrededor de 1 mes',\n      other: 'alrededor de {{count}} meses'\n    },\n\n    xMonths: {\n      one: '1 mes',\n      other: '{{count}} meses'\n    },\n\n    aboutXYears: {\n      one: 'alrededor de 1 año',\n      other: 'alrededor de {{count}} años'\n    },\n\n    xYears: {\n      one: '1 año',\n      other: '{{count}} años'\n    },\n\n    overXYears: {\n      one: 'más de 1 año',\n      other: 'más de {{count}} años'\n    },\n\n    almostXYears: {\n      one: 'casi 1 año',\n      other: 'casi {{count}} años'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'en ' + result\n      } else {\n        return 'hace ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/es/build_distance_in_words_locale/index.js\n// module id = 214\n// module chunks = 0","function buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: {\n      one: 'moins d’une seconde',\n      other: 'moins de {{count}} secondes'\n    },\n\n    xSeconds: {\n      one: '1 seconde',\n      other: '{{count}} secondes'\n    },\n\n    halfAMinute: '30 secondes',\n\n    lessThanXMinutes: {\n      one: 'moins d’une minute',\n      other: 'moins de {{count}} minutes'\n    },\n\n    xMinutes: {\n      one: '1 minute',\n      other: '{{count}} minutes'\n    },\n\n    aboutXHours: {\n      one: 'environ 1 heure',\n      other: 'environ {{count}} heures'\n    },\n\n    xHours: {\n      one: '1 heure',\n      other: '{{count}} heures'\n    },\n\n    xDays: {\n      one: '1 jour',\n      other: '{{count}} jours'\n    },\n\n    aboutXMonths: {\n      one: 'environ 1 mois',\n      other: 'environ {{count}} mois'\n    },\n\n    xMonths: {\n      one: '1 mois',\n      other: '{{count}} mois'\n    },\n\n    aboutXYears: {\n      one: 'environ 1 an',\n      other: 'environ {{count}} ans'\n    },\n\n    xYears: {\n      one: '1 an',\n      other: '{{count}} ans'\n    },\n\n    overXYears: {\n      one: 'plus d’un an',\n      other: 'plus de {{count}} ans'\n    },\n\n    almostXYears: {\n      one: 'presqu’un an',\n      other: 'presque {{count}} ans'\n    }\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n\n    var result\n    if (typeof distanceInWordsLocale[token] === 'string') {\n      result = distanceInWordsLocale[token]\n    } else if (count === 1) {\n      result = distanceInWordsLocale[token].one\n    } else {\n      result = distanceInWordsLocale[token].other.replace('{{count}}', count)\n    }\n\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        return 'dans ' + result\n      } else {\n        return 'il y a ' + result\n      }\n    }\n\n    return result\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/fr/build_distance_in_words_locale/index.js\n// module id = 215\n// module chunks = 0","function declension (scheme, count) {\n  // scheme for count=1 exists\n  if (scheme.one !== undefined && count === 1) {\n    return scheme.one\n  }\n\n  var rem10 = count % 10\n  var rem100 = count % 100\n\n  // 1, 21, 31, ...\n  if (rem10 === 1 && rem100 !== 11) {\n    return scheme.singularNominative.replace('{{count}}', count)\n\n  // 2, 3, 4, 22, 23, 24, 32 ...\n  } else if ((rem10 >= 2 && rem10 <= 4) && (rem100 < 10 || rem100 > 20)) {\n    return scheme.singularGenitive.replace('{{count}}', count)\n\n  // 5, 6, 7, 8, 9, 10, 11, ...\n  } else {\n    return scheme.pluralGenitive.replace('{{count}}', count)\n  }\n}\n\nfunction buildLocalizeTokenFn (scheme) {\n  return function (count, options) {\n    if (options.addSuffix) {\n      if (options.comparison > 0) {\n        if (scheme.future) {\n          return declension(scheme.future, count)\n        } else {\n          return 'через ' + declension(scheme.regular, count)\n        }\n      } else {\n        if (scheme.past) {\n          return declension(scheme.past, count)\n        } else {\n          return declension(scheme.regular, count) + ' назад'\n        }\n      }\n    } else {\n      return declension(scheme.regular, count)\n    }\n  }\n}\n\nfunction buildDistanceInWordsLocale () {\n  var distanceInWordsLocale = {\n    lessThanXSeconds: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше секунды',\n        singularNominative: 'меньше {{count}} секунды',\n        singularGenitive: 'меньше {{count}} секунд',\n        pluralGenitive: 'меньше {{count}} секунд'\n      },\n      future: {\n        one: 'меньше, чем через секунду',\n        singularNominative: 'меньше, чем через {{count}} секунду',\n        singularGenitive: 'меньше, чем через {{count}} секунды',\n        pluralGenitive: 'меньше, чем через {{count}} секунд'\n      }\n    }),\n\n    xSeconds: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} секунда',\n        singularGenitive: '{{count}} секунды',\n        pluralGenitive: '{{count}} секунд'\n      },\n      past: {\n        singularNominative: '{{count}} секунду назад',\n        singularGenitive: '{{count}} секунды назад',\n        pluralGenitive: '{{count}} секунд назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} секунду',\n        singularGenitive: 'через {{count}} секунды',\n        pluralGenitive: 'через {{count}} секунд'\n      }\n    }),\n\n    halfAMinute: function (_, options) {\n      if (options.addSuffix) {\n        if (options.comparison > 0) {\n          return 'через полминуты'\n        } else {\n          return 'полминуты назад'\n        }\n      }\n\n      return 'полминуты'\n    },\n\n    lessThanXMinutes: buildLocalizeTokenFn({\n      regular: {\n        one: 'меньше минуты',\n        singularNominative: 'меньше {{count}} минуты',\n        singularGenitive: 'меньше {{count}} минут',\n        pluralGenitive: 'меньше {{count}} минут'\n      },\n      future: {\n        one: 'меньше, чем через минуту',\n        singularNominative: 'меньше, чем через {{count}} минуту',\n        singularGenitive: 'меньше, чем через {{count}} минуты',\n        pluralGenitive: 'меньше, чем через {{count}} минут'\n      }\n    }),\n\n    xMinutes: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} минута',\n        singularGenitive: '{{count}} минуты',\n        pluralGenitive: '{{count}} минут'\n      },\n      past: {\n        singularNominative: '{{count}} минуту назад',\n        singularGenitive: '{{count}} минуты назад',\n        pluralGenitive: '{{count}} минут назад'\n      },\n      future: {\n        singularNominative: 'через {{count}} минуту',\n        singularGenitive: 'через {{count}} минуты',\n        pluralGenitive: 'через {{count}} минут'\n      }\n    }),\n\n    aboutXHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} часа',\n        singularGenitive: 'около {{count}} часов',\n        pluralGenitive: 'около {{count}} часов'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} час',\n        singularGenitive: 'приблизительно через {{count}} часа',\n        pluralGenitive: 'приблизительно через {{count}} часов'\n      }\n    }),\n\n    xHours: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} час',\n        singularGenitive: '{{count}} часа',\n        pluralGenitive: '{{count}} часов'\n      }\n    }),\n\n    xDays: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} день',\n        singularGenitive: '{{count}} дня',\n        pluralGenitive: '{{count}} дней'\n      }\n    }),\n\n    aboutXMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} месяца',\n        singularGenitive: 'около {{count}} месяцев',\n        pluralGenitive: 'около {{count}} месяцев'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} месяц',\n        singularGenitive: 'приблизительно через {{count}} месяца',\n        pluralGenitive: 'приблизительно через {{count}} месяцев'\n      }\n    }),\n\n    xMonths: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} месяц',\n        singularGenitive: '{{count}} месяца',\n        pluralGenitive: '{{count}} месяцев'\n      }\n    }),\n\n    aboutXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'около {{count}} года',\n        singularGenitive: 'около {{count}} лет',\n        pluralGenitive: 'около {{count}} лет'\n      },\n      future: {\n        singularNominative: 'приблизительно через {{count}} год',\n        singularGenitive: 'приблизительно через {{count}} года',\n        pluralGenitive: 'приблизительно через {{count}} лет'\n      }\n    }),\n\n    xYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: '{{count}} год',\n        singularGenitive: '{{count}} года',\n        pluralGenitive: '{{count}} лет'\n      }\n    }),\n\n    overXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'больше {{count}} года',\n        singularGenitive: 'больше {{count}} лет',\n        pluralGenitive: 'больше {{count}} лет'\n      },\n      future: {\n        singularNominative: 'больше, чем через {{count}} год',\n        singularGenitive: 'больше, чем через {{count}} года',\n        pluralGenitive: 'больше, чем через {{count}} лет'\n      }\n    }),\n\n    almostXYears: buildLocalizeTokenFn({\n      regular: {\n        singularNominative: 'почти {{count}} год',\n        singularGenitive: 'почти {{count}} года',\n        pluralGenitive: 'почти {{count}} лет'\n      },\n      future: {\n        singularNominative: 'почти через {{count}} год',\n        singularGenitive: 'почти через {{count}} года',\n        pluralGenitive: 'почти через {{count}} лет'\n      }\n    })\n  }\n\n  function localize (token, count, options) {\n    options = options || {}\n    return distanceInWordsLocale[token](count, options)\n  }\n\n  return {\n    localize: localize\n  }\n}\n\nmodule.exports = buildDistanceInWordsLocale\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/date-fns/locale/ru/build_distance_in_words_locale/index.js\n// module id = 216\n// module chunks = 0","export const GT_ACCESS_TOKEN = 'GT_ACCESS_TOKEN'\nexport const GT_VERSION = VERSION // eslint-disable-line\nexport const GT_COMMENT = 'GT_COMMENT'\n\n\n\n// WEBPACK FOOTER //\n// ./const.js","import {\n  axiosGithub\n} from '../util'\n\nconst getQL = (vars, pagerDirection) => {\n  const cursorDirection = pagerDirection === 'last' ? 'before' : 'after'\n  const ql = `\n  query getIssueAndComments(\n    $owner: String!,\n    $repo: String!,\n    $id: Int!,\n    $cursor: String,\n    $pageSize: Int!\n  ) {\n    repository(owner: $owner, name: $repo) {\n      issue(number: $id) {\n        title\n        url\n        bodyHTML\n        createdAt\n        comments(${pagerDirection}: $pageSize, ${cursorDirection}: $cursor) {\n          totalCount\n          pageInfo {\n            ${pagerDirection === 'last' ? 'hasPreviousPage' : 'hasNextPage'}\n            ${cursorDirection === 'before' ? 'startCursor' : 'endCursor'}\n          }\n          nodes {\n            id\n            databaseId\n            author {\n              avatarUrl\n              login\n              url\n            }\n            bodyHTML\n            body\n            createdAt\n            reactions(first: 100, content: HEART) {\n              totalCount\n              viewerHasReacted\n              pageInfo{\n                hasNextPage\n              }\n              nodes {\n                id\n                databaseId\n                user {\n                  login\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  `\n\n  if (vars.cursor === null) delete vars.cursor\n\n  return {\n    operationName: 'getIssueAndComments',\n    query: ql,\n    variables: vars\n  }\n}\n\nfunction getComments (issue) {\n  const { owner, repo, perPage, pagerDirection, defaultAuthor } = this.options\n  const { cursor, comments } = this.state\n  return axiosGithub.post(\n    '/graphql',\n    getQL(\n      {\n        owner,\n        repo,\n        id: issue.number,\n        pageSize: perPage,\n        cursor\n      },\n      pagerDirection\n    ), {\n      headers: {\n        Authorization: `bearer ${this.accessToken}`\n      }\n    }\n  ).then(res => {\n    const data = res.data.data.repository.issue.comments\n    const items = data.nodes.map(node => {\n      const author = node.author || defaultAuthor\n\n      return {\n        id: node.databaseId,\n        gId: node.id,\n        user: {\n          avatar_url: author.avatarUrl,\n          login: author.login,\n          html_url: author.url\n        },\n        created_at: node.createdAt,\n        body_html: node.bodyHTML,\n        body: node.body,\n        html_url: `https://github.com/${owner}/${repo}/issues/${issue.number}#issuecomment-${node.databaseId}`,\n        reactions: node.reactions\n      }\n    })\n\n    let cs\n\n    if (pagerDirection === 'last') {\n      cs = [...items, ...comments]\n    } else {\n      cs = [...comments, ...items]\n    }\n\n    const isLoadOver = data.pageInfo.hasPreviousPage === false || data.pageInfo.hasNextPage === false\n    this.setState({\n      comments: cs,\n      isLoadOver,\n      cursor: data.pageInfo.startCursor || data.pageInfo.endCursor\n    })\n    return cs\n  })\n}\n\nexport default getComments\n\n\n\n// WEBPACK FOOTER //\n// ./graphql/getComments.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n  if (Array.isArray(arr)) {\n    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n      arr2[i] = arr[i];\n    }\n\n    return arr2;\n  } else {\n    return (0, _from2.default)(arr);\n  }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/helpers/toConsumableArray.js\n// module id = 220\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/babel-runtime/core-js/array/from.js\n// module id = 221\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/fn/array/from.js\n// module id = 222\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/es6.array.from.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/core-js/library/modules/_create-property.js\n// module id = 224\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/images/jpg.svg b/server/target/classes/static/images/jpg.svg
deleted file mode 100644
index c3ad2ee..0000000
--- a/server/target/classes/static/images/jpg.svg
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="126px" height="126px" viewBox="0 0 126 126" enable-background="new 0 0 126 126" xml:space="preserve">
-<path d="M58.662,58.839c-1.372,0-2.303,0.133-2.791,0.267v8.817c0.577,0.133,1.286,0.178,2.26,0.178c3.59,0,5.807-1.818,5.807-4.874
-	C63.938,60.479,62.031,58.839,58.662,58.839z"/>
-<path d="M102.328,48.928h-2.449V37.11c0-0.074-0.012-0.148-0.021-0.223c-0.004-0.469-0.154-0.93-0.475-1.295L79.717,13.127
-	c-0.006-0.006-0.012-0.008-0.016-0.014c-0.117-0.131-0.254-0.24-0.398-0.334c-0.043-0.029-0.086-0.053-0.131-0.078
-	c-0.125-0.068-0.258-0.125-0.395-0.166c-0.037-0.01-0.07-0.025-0.107-0.035c-0.148-0.035-0.303-0.057-0.459-0.057H29.879
-	c-2.207,0-4,1.795-4,4v32.484H23.43c-3.157,0-5.717,2.559-5.717,5.717v29.73c0,3.156,2.56,5.717,5.717,5.717h2.449v20.352
-	c0,2.205,1.793,4,4,4h66c2.205,0,4-1.795,4-4V90.092h2.449c3.157,0,5.717-2.561,5.717-5.717v-29.73
-	C108.045,51.487,105.485,48.928,102.328,48.928z M29.879,16.444h46.332v20.465c0,1.105,0.896,2,2,2h17.668v10.02h-66V16.444z
-	 M70.627,63.049c0,2.924-0.974,5.406-2.746,7.091c-2.306,2.171-5.718,3.145-9.704,3.145c-0.887,0-1.686-0.043-2.306-0.132v10.679
-	H49.18V54.365c2.084-0.356,5.008-0.621,9.129-0.621c4.165,0,7.134,0.797,9.13,2.393C69.343,57.643,70.627,60.125,70.627,63.049z
-	 M27.996,83.61l0.755-5.45c0.931,0.31,2.126,0.533,3.455,0.533c2.838,0,4.609-1.287,4.609-5.939V53.965h6.735v18.877
-	c0,8.508-4.078,11.476-10.635,11.476C31.365,84.319,29.326,84.055,27.996,83.61z M95.879,109.36h-66V90.092h66V109.36z
-	 M99.877,82.458c-2.082,0.709-6.025,1.684-9.972,1.684c-5.448,0-9.394-1.374-12.14-4.032c-2.748-2.57-4.256-6.469-4.21-10.857
-	c0.043-9.926,7.266-15.598,17.06-15.598c3.856,0,6.826,0.752,8.288,1.462l-1.419,5.406c-1.64-0.709-3.679-1.285-6.958-1.285
-	c-5.627,0-9.88,3.191-9.88,9.661c0,6.159,3.854,9.793,9.394,9.793c1.551,0,2.792-0.178,3.323-0.445v-6.247h-4.609v-5.273h11.123
-	V82.458z"/>
-</svg>
diff --git a/server/target/classes/static/images/loading.gif b/server/target/classes/static/images/loading.gif
deleted file mode 100644
index 78fd259..0000000
Binary files a/server/target/classes/static/images/loading.gif and /dev/null differ
diff --git a/server/target/classes/static/images/pdf.svg b/server/target/classes/static/images/pdf.svg
deleted file mode 100644
index 7506901..0000000
--- a/server/target/classes/static/images/pdf.svg
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="126px" height="126px" viewBox="0 0 126 126" enable-background="new 0 0 126 126" xml:space="preserve">
-<path d="M41.579,64.707c0-2.747-1.907-4.386-5.273-4.386c-1.373,0-2.303,0.132-2.791,0.265v8.819
-	c0.577,0.132,1.286,0.177,2.258,0.177C39.364,69.582,41.579,67.765,41.579,64.707z"/>
-<path d="M62.411,60.409c-1.508,0-2.481,0.133-3.059,0.266v19.542c0.577,0.134,1.508,0.134,2.35,0.134
-	c6.114,0.043,10.103-3.323,10.103-10.458C71.849,63.687,68.215,60.409,62.411,60.409z"/>
-<path d="M102.328,48.928h-2.449V37.11c0-0.074-0.012-0.148-0.021-0.223c-0.004-0.469-0.154-0.93-0.475-1.295L79.717,13.127
-	c-0.006-0.006-0.012-0.008-0.016-0.014c-0.117-0.131-0.254-0.24-0.398-0.334c-0.043-0.029-0.086-0.053-0.131-0.078
-	c-0.125-0.068-0.258-0.125-0.395-0.166c-0.037-0.01-0.07-0.025-0.107-0.035c-0.148-0.035-0.303-0.057-0.459-0.057H29.879
-	c-2.207,0-4,1.795-4,4v32.484H23.43c-3.157,0-5.717,2.559-5.717,5.717v29.73c0,3.156,2.56,5.717,5.717,5.717h2.449v20.352
-	c0,2.205,1.793,4,4,4h66c2.205,0,4-1.795,4-4V90.092h2.449c3.157,0,5.717-2.561,5.717-5.717v-29.73
-	C108.045,51.487,105.485,48.928,102.328,48.928z M29.879,16.444h46.332v20.465c0,1.105,0.896,2,2,2h17.668v10.02h-66V16.444z
-	 M78.982,69.669c0,5.718-2.082,9.661-4.966,12.099c-3.143,2.614-7.93,3.854-13.777,3.854c-3.5,0-5.981-0.221-7.667-0.442V55.844
-	c2.481-0.398,5.718-0.62,9.13-0.62c5.669,0,9.348,1.02,12.229,3.19C77.032,60.719,78.982,64.396,78.982,69.669z M26.823,85.313
-	V55.844c2.082-0.353,5.008-0.62,9.129-0.62c4.165,0,7.135,0.798,9.128,2.394c1.906,1.506,3.188,3.988,3.188,6.913
-	c0,2.925-0.972,5.407-2.746,7.09c-2.304,2.171-5.716,3.147-9.705,3.147c-0.885,0-1.685-0.045-2.303-0.133v10.679H26.823z
-	 M95.879,109.36h-66V90.092h66V109.36z M101.675,60.985H90.196v6.824h10.724v5.495H90.196v12.009h-6.777V55.446h18.256V60.985z"/>
-</svg>
diff --git a/server/target/classes/static/images/sorry.jpg b/server/target/classes/static/images/sorry.jpg
deleted file mode 100644
index 03c9dd3..0000000
Binary files a/server/target/classes/static/images/sorry.jpg and /dev/null differ
diff --git a/server/target/classes/static/js/base64.min.js b/server/target/classes/static/js/base64.min.js
deleted file mode 100644
index f2cc36a..0000000
--- a/server/target/classes/static/js/base64.min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Minified by jsDelivr using Terser v5.3.5.
- * Original file: /npm/js-base64@3.6.0/base64.js
- *
- * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
- */
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):function(){const r=e.Base64,o=t();o.noConflict=()=>(e.Base64=r,o),e.Meteor&&(Base64=o),e.Base64=o}()}("undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:this,(function(){"use strict";const e="3.6.0",t="function"==typeof atob,r="function"==typeof btoa,o="function"==typeof Buffer,n="function"==typeof TextDecoder?new TextDecoder:void 0,a="function"==typeof TextEncoder?new TextEncoder:void 0,f=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],i=(e=>{let t={};return e.forEach(((e,r)=>t[e]=r)),t})(f),c=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),s="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):(e,t=(e=>e))=>new Uint8Array(Array.prototype.slice.call(e,0).map(t)),d=e=>e.replace(/[+\/]/g,(e=>"+"==e?"-":"_")).replace(/=+$/m,""),l=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),h=e=>{let t,r,o,n,a="";const i=e.length%3;for(let i=0;i<e.length;){if((r=e.charCodeAt(i++))>255||(o=e.charCodeAt(i++))>255||(n=e.charCodeAt(i++))>255)throw new TypeError("invalid character found");t=r<<16|o<<8|n,a+=f[t>>18&63]+f[t>>12&63]+f[t>>6&63]+f[63&t]}return i?a.slice(0,i-3)+"===".substring(i):a},p=r?e=>btoa(e):o?e=>Buffer.from(e,"binary").toString("base64"):h,y=o?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let r=0,o=e.length;r<o;r+=4096)t.push(u.apply(null,e.subarray(r,r+4096)));return p(t.join(""))},A=(e,t=!1)=>t?d(y(e)):y(e),b=e=>{if(e.length<2)return(t=e.charCodeAt(0))<128?e:t<2048?u(192|t>>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},g=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,B=e=>e.replace(g,b),x=o?e=>Buffer.from(e,"utf8").toString("base64"):a?e=>y(a.encode(e)):e=>p(B(e)),C=(e,t=!1)=>t?d(x(e)):x(e),m=e=>C(e,!0),U=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,F=e=>{switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},w=e=>e.replace(U,F),S=e=>{if(e=e.replace(/\s+/g,""),!c.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let t,r,o,n="";for(let a=0;a<e.length;)t=i[e.charAt(a++)]<<18|i[e.charAt(a++)]<<12|(r=i[e.charAt(a++)])<<6|(o=i[e.charAt(a++)]),n+=64===r?u(t>>16&255):64===o?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return n},E=t?e=>atob(l(e)):o?e=>Buffer.from(e,"base64").toString("binary"):S,v=o?e=>s(Buffer.from(e,"base64")):e=>s(E(e),(e=>e.charCodeAt(0))),D=e=>v(z(e)),R=o?e=>Buffer.from(e,"base64").toString("utf8"):n?e=>n.decode(v(e)):e=>w(E(e)),z=e=>l(e.replace(/[-_]/g,(e=>"-"==e?"+":"/"))),T=e=>R(z(e)),Z=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),j=function(){const e=(e,t)=>Object.defineProperty(String.prototype,e,Z(t));e("fromBase64",(function(){return T(this)})),e("toBase64",(function(e){return C(this,e)})),e("toBase64URI",(function(){return C(this,!0)})),e("toBase64URL",(function(){return C(this,!0)})),e("toUint8Array",(function(){return D(this)}))},I=function(){const e=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,Z(t));e("toBase64",(function(e){return A(this,e)})),e("toBase64URI",(function(){return A(this,!0)})),e("toBase64URL",(function(){return A(this,!0)}))},O={version:e,VERSION:"3.6.0",atob:E,atobPolyfill:S,btoa:p,btoaPolyfill:h,fromBase64:T,toBase64:C,encode:C,encodeURI:m,encodeURL:m,utob:B,btou:w,decode:T,isValid:e=>{if("string"!=typeof e)return!1;const t=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:A,toUint8Array:D,extendString:j,extendUint8Array:I,extendBuiltins:()=>{j(),I()},Base64:{}};return Object.keys(O).forEach((e=>O.Base64[e]=O[e])),O}));
-//# sourceMappingURL=/sm/8bca8602e2256d240cef904e1c1df432ccfdd2a2a73f6911c60be79e526e3e1e.map
\ No newline at end of file
diff --git a/server/target/classes/static/js/excel.header.js b/server/target/classes/static/js/excel.header.js
deleted file mode 100644
index 8450dbd..0000000
--- a/server/target/classes/static/js/excel.header.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**创建一个div并固定在底部，将center中的所有a标签放在改div中**/
-$("body").append($("<div>").css({"width":"100%","height":"30px","position":"fixed","top":"0","left":"0"
-    ,"background-color":"rgba(53, 53, 53, 1)","line-height":"30px","font-size":"13px"}).attr("id","excel-header-nav"));
-$("center").css("display", "none");
-var centerChildrenA = $("center").children("a");
-if (centerChildrenA.length === 0) {
-    $("#excel-header-nav").hide();
-}
-$(centerChildrenA).each(function (a, b) {
-    // 获取a标签对应的target的name值，并设置name对应标签的样式以避免锚点标签标题被覆盖
-    var href = $(b).attr("href");
-    var name = href.substr(1);
-    $("[name=" + name + "]").css({"display":"block","padding-top":"14.01px"});
-    $(b).css({"padding":"5px","border-right":"1px solid white","color":"#f9f9f9"});
-    $("#excel-header-nav").append(b);
-});
-/**给所有的table添加class=table table-striped样式**/
-$("table").addClass("table table-striped");
\ No newline at end of file
diff --git a/server/target/classes/static/js/flv.min.js b/server/target/classes/static/js/flv.min.js
deleted file mode 100644
index fed09f7..0000000
--- a/server/target/classes/static/js/flv.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.flvjs=e()}}(function(){var e;return function e(t,n,i){function r(a,o){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var d=n[a]={exports:{}};t[a][0].call(d.exports,function(e){var n=t[a][1][e];return r(n||e)},d,d.exports,e,t,n,i)}return n[a].exports}for(var s="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(t,n,i){(function(r,s){!function(t,r){"object"==typeof i&&void 0!==n?n.exports=r():"function"==typeof e&&e.amd?e(r):t.ES6Promise=r()}(this,function(){"use strict";function e(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}function n(e){return"function"==typeof e}function i(e){V=e}function a(e){z=e}function o(){return void 0!==G?function(){G(l)}:u()}function u(){var e=setTimeout;return function(){return e(l,1)}}function l(){for(var e=0;e<F;e+=2){(0,Y[e])(Y[e+1]),Y[e]=void 0,Y[e+1]=void 0}F=0}function d(e,t){var n=this,i=new this.constructor(f);void 0===i[Q]&&C(i);var r=n._state;if(r){var s=arguments[r-1];z(function(){return w(r,i,s,n._result)})}else L(n,i,e,t);return i}function h(e){var t=this;if(e&&"object"==typeof e&&e.constructor===t)return e;var n=new t(f);return E(n,e),n}function f(){}function c(){return new TypeError("You cannot resolve a promise with itself")}function _(){return new TypeError("A promises callback cannot return that same promise.")}function m(e){try{return e.then}catch(e){return te.error=e,te}}function p(e,t,n,i){try{e.call(t,n,i)}catch(e){return e}}function v(e,t,n){z(function(e){var i=!1,r=p(n,t,function(n){i||(i=!0,t!==n?E(e,n):S(e,n))},function(t){i||(i=!0,k(e,t))},"Settle: "+(e._label||" unknown promise"));!i&&r&&(i=!0,k(e,r))},e)}function g(e,t){t._state===$?S(e,t._result):t._state===ee?k(e,t._result):L(t,void 0,function(t){return E(e,t)},function(t){return k(e,t)})}function y(e,t,i){t.constructor===e.constructor&&i===d&&t.constructor.resolve===h?g(e,t):i===te?(k(e,te.error),te.error=null):void 0===i?S(e,t):n(i)?v(e,t,i):S(e,t)}function E(t,n){t===n?k(t,c()):e(n)?y(t,n,m(n)):S(t,n)}function b(e){e._onerror&&e._onerror(e._result),R(e)}function S(e,t){e._state===J&&(e._result=t,e._state=$,0!==e._subscribers.length&&z(R,e))}function k(e,t){e._state===J&&(e._state=ee,e._result=t,z(b,e))}function L(e,t,n,i){var r=e._subscribers,s=r.length;e._onerror=null,r[s]=t,r[s+$]=n,r[s+ee]=i,0===s&&e._state&&z(R,e)}function R(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var i=void 0,r=void 0,s=e._result,a=0;a<t.length;a+=3)i=t[a],r=t[a+n],i?w(n,i,r,s):r(s);e._subscribers.length=0}}function A(e,t){try{return e(t)}catch(e){return te.error=e,te}}function w(e,t,i,r){var s=n(i),a=void 0,o=void 0,u=void 0,l=void 0;if(s){if(a=A(i,r),a===te?(l=!0,o=a.error,a.error=null):u=!0,t===a)return void k(t,_())}else a=r,u=!0;t._state!==J||(s&&u?E(t,a):l?k(t,o):e===$?S(t,a):e===ee&&k(t,a))}function T(e,t){try{t(function(t){E(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}function O(){return ne++}function C(e){e[Q]=ne++,e._state=void 0,e._result=void 0,e._subscribers=[]}function I(){return new Error("Array Methods must be provided an Array")}function D(e){return new ie(this,e).promise}function x(e){var t=this;return new t(N(e)?function(n,i){for(var r=e.length,s=0;s<r;s++)t.resolve(e[s]).then(n,i)}:function(e,t){return t(new TypeError("You must pass an array to race."))})}function M(e){var t=this,n=new t(f);return k(n,e),n}function B(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function j(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function P(){var e=void 0;if(void 0!==s)e=s;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if("[object Promise]"===n&&!t.cast)return}e.Promise=re}var U=void 0;U=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var N=U,F=0,G=void 0,V=void 0,z=function(e,t){Y[F]=e,Y[F+1]=t,2===(F+=2)&&(V?V(l):Z())},H="undefined"!=typeof window?window:void 0,K=H||{},q=K.MutationObserver||K.WebKitMutationObserver,W="undefined"==typeof self&&void 0!==r&&"[object process]"==={}.toString.call(r),X="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Y=new Array(1e3),Z=void 0;Z=W?function(){return function(){return r.nextTick(l)}}():q?function(){var e=0,t=new q(l),n=document.createTextNode("");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():X?function(){var e=new MessageChannel;return e.port1.onmessage=l,function(){return e.port2.postMessage(0)}}():void 0===H&&"function"==typeof t?function(){try{var e=Function("return this")().require("vertx");return G=e.runOnLoop||e.runOnContext,o()}catch(e){return u()}}():u();var Q=Math.random().toString(36).substring(2),J=void 0,$=1,ee=2,te={error:null},ne=0,ie=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(f),this.promise[Q]||C(this.promise),N(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?S(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&S(this.promise,this._result))):k(this.promise,I())}return e.prototype._enumerate=function(e){for(var t=0;this._state===J&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,i=n.resolve;if(i===h){var r=m(e);if(r===d&&e._state!==J)this._settledAt(e._state,t,e._result);else if("function"!=typeof r)this._remaining--,this._result[t]=e;else if(n===re){var s=new n(f);y(s,e,r),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(i(e),t)},e.prototype._settledAt=function(e,t,n){var i=this.promise;i._state===J&&(this._remaining--,e===ee?k(i,n):this._result[t]=n),0===this._remaining&&S(i,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;L(e,void 0,function(e){return n._settledAt($,t,e)},function(e){return n._settledAt(ee,t,e)})},e}(),re=function(){function e(t){this[Q]=O(),this._result=this._state=void 0,this._subscribers=[],f!==t&&("function"!=typeof t&&B(),this instanceof e?T(this,t):j())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this,i=t.constructor;return n(e)?t.then(function(t){return i.resolve(e()).then(function(){return t})},function(t){return i.resolve(e()).then(function(){throw t})}):t.then(e,e)},e}();return re.prototype.then=d,re.all=D,re.race=x,re.resolve=h,re.reject=M,re._setScheduler=i,re._setAsap=a,re._asap=z,re.polyfill=P,re.Promise=re,re})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:3}],2:[function(e,t,n){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function s(e){return"number"==typeof e}function a(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,n,i,s,u,l;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var d=new Error('Uncaught, unspecified "error" event. ('+t+")");throw d.context=t,d}if(n=this._events[e],o(n))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(a(n))for(s=Array.prototype.slice.call(arguments,1),l=n.slice(),i=l.length,u=0;u<i;u++)l[u].apply(this,s);return!0},i.prototype.addListener=function(e,t){var n;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(n=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},i.prototype.removeListener=function(e,t){var n,i,s,o;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(o=s;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){i=o;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},{}],3:[function(e,t,n){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function s(e){if(h===setTimeout)return setTimeout(e,0);if((h===i||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function o(){p&&_&&(p=!1,_.length?m=_.concat(m):v=-1,m.length&&u())}function u(){if(!p){var e=s(o);p=!0;for(var t=m.length;t;){for(_=m,m=[];++v<t;)_&&_[v].run();v=-1,t=m.length}_=null,p=!1,a(e)}}function l(e,t){this.fun=e,this.array=t}function d(){}var h,f,c=t.exports={};!function(){try{h="function"==typeof setTimeout?setTimeout:i}catch(e){h=i}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var _,m=[],p=!1,v=-1;c.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];m.push(new l(e,t)),1!==m.length||p||s(u)},l.prototype.run=function(){this.fun.apply(null,this.array)},c.title="browser",c.browser=!0,c.env={},c.argv=[],c.version="",c.versions={},c.on=d,c.addListener=d,c.once=d,c.off=d,c.removeListener=d,c.removeAllListeners=d,c.emit=d,c.prependListener=d,c.prependOnceListener=d,c.listeners=function(e){return[]},c.binding=function(e){throw new Error("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(e){throw new Error("process.chdir is not supported")},c.umask=function(){return 0}},{}],4:[function(e,t,n){var i=arguments[3],r=arguments[4],s=arguments[5],a=JSON.stringify;t.exports=function(e,t){function n(e){p[e]=!0;for(var t in r[e][1]){var i=r[e][1][t];p[i]||n(i)}}for(var o,u=Object.keys(s),l=0,d=u.length;l<d;l++){var h=u[l],f=s[h].exports;if(f===e||f&&f.default===e){o=h;break}}if(!o){o=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},l=0,d=u.length;l<d;l++){var h=u[l];c[h]=h}r[o]=["function(require,module,exports){"+e+"(self); }",c]}var _=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[o]=o,r[_]=["function(require,module,exports){var f = require("+a(o)+");(f.default ? f.default : f)(self);}",m];var p={};n(_);var v="("+i+")({"+Object.keys(p).map(function(e){return a(e)+":["+r[e][0]+","+a(r[e][1])+"]"}).join(",")+"},{},["+a(_)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:"text/javascript"});if(t&&t.bare)return y;var E=g.createObjectURL(y),b=new Worker(E);return b.objectURL=E,b}},{}],5:[function(e,t,n){"use strict";function i(){return Object.assign({},r)}Object.defineProperty(n,"__esModule",{value:!0}),n.createDefaultConfig=i;var r=n.defaultConfig={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:180,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:180,autoCleanupMinBackwardDuration:120,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0}},{}],6:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../io/io-controller.js"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=e("../config.js"),u=function(){function e(){i(this,e)}return r(e,null,[{key:"supportMSEH264Playback",value:function(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}},{key:"supportNetworkStreamIO",value:function(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),"fetch-stream-loader"==t||"xhr-moz-chunked-loader"==t}},{key:"getNetworkLoaderTypeName",value:function(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),t}},{key:"supportNativeMediaPlayback",value:function(t){void 0==e.videoElement&&(e.videoElement=window.document.createElement("video"));var n=e.videoElement.canPlayType(t);return"probably"===n||"maybe"==n}},{key:"getFeatureList",value:function(){var t={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return t.mseFlvPlayback=e.supportMSEH264Playback(),t.networkStreamIO=e.supportNetworkStreamIO(),t.networkLoaderName=e.getNetworkLoaderTypeName(),t.mseLiveFlvPlayback=t.mseFlvPlayback&&t.networkStreamIO,t.nativeMP4H264Playback=e.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),t.nativeWebmVP8Playback=e.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),t.nativeWebmVP9Playback=e.supportNativeMediaPlayback('video/webm; codecs="vp9"'),t}}]),e}();n.default=u},{"../config.js":5,"../io/io-controller.js":23}],7:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return r(e,[{key:"isComplete",value:function(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&null!=this.duration&&null!=this.metadata&&null!=this.hasKeyframesIndex&&e&&t}},{key:"isSeekable",value:function(){return!0===this.hasKeyframesIndex}},{key:"getNearestKeyframe",value:function(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,n=this._search(t.times,e);return{index:n,milliseconds:t.times[n],fileposition:t.filepositions[n]}}},{key:"_search",value:function(e,t){var n=0,i=e.length-1,r=0,s=0,a=i;for(t<e[0]&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||t>=e[r]&&t<e[r+1]){n=r;break}e[r]<t?s=r+1:a=r-1}return n}}]),e}();n.default=s},{}],8:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();n.SampleInfo=function e(t,n,r,s,a){i(this,e),this.dts=t,this.pts=n,this.duration=r,this.originalDts=s,this.isSyncPoint=a,this.fileposition=null},n.MediaSegmentInfo=function(){function e(){i(this,e),this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return r(e,[{key:"appendSyncPoint",value:function(e){e.isSyncPoint=!0,this.syncPoints.push(e)}}]),e}(),n.IDRSampleList=function(){function e(){i(this,e),this._list=[]}return r(e,[{key:"clear",value:function(){this._list=[]}},{key:"appendArray",value:function(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts<t[t.length-1].originalDts&&this.clear(),Array.prototype.push.apply(t,e))}},{key:"getLastSyncPointBeforeDts",value:function(e){if(0==this._list.length)return null;var t=this._list,n=0,i=t.length-1,r=0,s=0,a=i;for(e<t[0].dts&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||e>=t[r].dts&&e<t[r+1].dts){n=r;break}t[r].dts<e?s=r+1:a=r-1}return this._list[n]}}]),e}(),n.MediaSegmentInfoList=function(){function e(t){i(this,e),this._type=t,this._list=[],this._lastAppendLocation=-1}return r(e,[{key:"isEmpty",value:function(){return 0===this._list.length}},{key:"clear",value:function(){this._list=[],this._lastAppendLocation=-1}},{key:"_searchNearestSegmentBefore",value:function(e){var t=this._list;if(0===t.length)return-2;var n=t.length-1,i=0,r=0,s=n,a=0;if(e<t[0].originalBeginDts)return a=-1;for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>t[i].lastSample.originalDts&&e<t[i+1].originalBeginDts){a=i;break}t[i].originalBeginDts<e?r=i+1:s=i-1}return a}},{key:"_searchNearestSegmentAfter",value:function(e){return this._searchNearestSegmentBefore(e)+1}},{key:"append",value:function(e){var t=this._list,n=e,i=this._lastAppendLocation,r=0;-1!==i&&i<t.length&&n.originalBeginDts>=t[i].lastSample.originalDts&&(i===t.length-1||i<t.length-1&&n.originalBeginDts<t[i+1].originalBeginDts)?r=i+1:t.length>0&&(r=this._searchNearestSegmentBefore(n.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,n)}},{key:"getLastSegmentBefore",value:function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null}},{key:"getLastSampleBefore",value:function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null}},{key:"getLastSyncPointBefore",value:function(e){for(var t=this._searchNearestSegmentBefore(e),n=this._list[t].syncPoints;0===n.length&&t>0;)t--,n=this._list[t].syncPoints;return n.length>0?n[n.length-1]:null}},{key:"type",get:function(){return this._type}},{key:"length",get:function(){return this._list.length}}]),e}()},{}],9:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/browser.js"),h=i(d),f=e("./mse-events.js"),c=i(f),_=e("./media-segment-info.js"),m=e("../utils/exception.js"),p=function(){function e(t){r(this,e),this.TAG="MSEController",this._config=t,this._emitter=new o.default,this._config.isLive&&void 0==this._config.autoCleanupSourceBuffer&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new _.IDRSampleList}return s(e,[{key:"destroy",value:function(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function(e){if(this._mediaSource)throw new m.IllegalStateException("MediaSource has been attached to an HTMLMediaElement!");var t=this._mediaSource=new window.MediaSource;t.addEventListener("sourceopen",this.e.onSourceOpen),t.addEventListener("sourceended",this.e.onSourceEnded),t.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=e,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),e.src=this._mediaSourceObjectURL}},{key:"detachMediaElement",value:function(){if(this._mediaSource){var e=this._mediaSource;for(var t in this._sourceBuffers){var n=this._pendingSegments[t];n.splice(0,n.length),this._pendingSegments[t]=null,this._pendingRemoveRanges[t]=null,this._lastInitSegments[t]=null;var i=this._sourceBuffers[t];if(i){if("closed"!==e.readyState){try{e.removeSourceBuffer(i)}catch(e){l.default.e(this.TAG,e.message)}i.removeEventListener("error",this.e.onSourceBufferError),i.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[t]=null,this._sourceBuffers[t]=null}}if("open"===e.readyState)try{e.endOfStream()}catch(e){l.default.e(this.TAG,e.message)}e.removeEventListener("sourceopen",this.e.onSourceOpen),e.removeEventListener("sourceended",this.e.onSourceEnded),e.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}},{key:"appendInitSegment",value:function(e,t){if(!this._mediaSource||"open"!==this._mediaSource.readyState)return this._pendingSourceBufferInit.push(e),void this._pendingSegments[e.type].push(e);var n=e,i=""+n.container;n.codec&&n.codec.length>0&&(i+=";codecs="+n.codec);var r=!1;if(l.default.v(this.TAG,"Received Initialization Segment, mimeType: "+i),this._lastInitSegments[n.type]=n,i!==this._mimeTypes[n.type]){if(this._mimeTypes[n.type])l.default.v(this.TAG,"Notice: "+n.type+" mimeType changed, origin: "+this._mimeTypes[n.type]+", target: "+i);else{r=!0;try{var s=this._sourceBuffers[n.type]=this._mediaSource.addSourceBuffer(i);s.addEventListener("error",this.e.onSourceBufferError),s.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(e){return l.default.e(this.TAG,e.message),void this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[n.type]=i}t||this._pendingSegments[n.type].push(n),r||this._sourceBuffers[n.type]&&!this._sourceBuffers[n.type].updating&&this._doAppendSegments(),h.default.safari&&"audio/mpeg"===n.container&&n.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=n.mediaDuration/1e3,this._updateMediaSourceDuration())}},{key:"appendMediaSegment",value:function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var n=this._sourceBuffers[t.type];!n||n.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()}},{key:"seek",value:function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var n=this._sourceBuffers[t];if("open"===this._mediaSource.readyState)try{n.abort()}catch(e){l.default.e(this.TAG,e.message)}this._idrList.clear();var i=this._pendingSegments[t];if(i.splice(0,i.length),"closed"!==this._mediaSource.readyState){for(var r=0;r<n.buffered.length;r++){var s=n.buffered.start(r),a=n.buffered.end(r);this._pendingRemoveRanges[t].push({start:s,end:a})}if(n.updating||this._doRemoveRanges(),h.default.safari){var o=this._lastInitSegments[t];o&&(this._pendingSegments[t].push(o),n.updating||this._doAppendSegments())}}}}},{key:"endOfStream",value:function(){var e=this._mediaSource,t=this._sourceBuffers;if(!e||"open"!==e.readyState)return void(e&&"closed"===e.readyState&&this._hasPendingSegments()&&(this._hasPendingEos=!0));t.video&&t.video.updating||t.audio&&t.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,e.endOfStream())}},{key:"getNearestKeyframe",value:function(e){return this._idrList.getLastSyncPointBeforeDts(e)}},{key:"_needCleanupSourceBuffer",value:function(){if(!this._config.autoCleanupSourceBuffer)return!1;var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){var i=n.buffered;if(i.length>=1&&e-i.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}},{key:"_doCleanupSourceBuffer",value:function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){for(var i=n.buffered,r=!1,s=0;s<i.length;s++){var a=i.start(s),o=i.end(s);if(a<=e&&e<o+3){if(e-a>=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:a,end:u})}}else o<e&&(r=!0,this._pendingRemoveRanges[t].push({start:a,end:o}))}r&&!n.updating&&this._doRemoveRanges()}}}},{key:"_updateMediaSourceDuration",value:function(){var e=this._sourceBuffers;if(0!==this._mediaElement.readyState&&"open"===this._mediaSource.readyState&&!(e.video&&e.video.updating||e.audio&&e.audio.updating)){var t=this._mediaSource.duration,n=this._pendingMediaDuration;n>0&&(isNaN(t)||n>t)&&(l.default.v(this.TAG,"Update MediaSource duration from "+t+" to "+n),this._mediaSource.duration=n),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}}},{key:"_doRemoveRanges",value:function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],n=this._pendingRemoveRanges[e];n.length&&!t.updating;){var i=n.shift();t.remove(i.start,i.end)}}},{key:"_doAppendSegments",value:function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var n=e[t].shift();if(n.timestampOffset){var i=this._sourceBuffers[t].timestampOffset,r=n.timestampOffset/1e3,s=Math.abs(i-r);s>.1&&(l.default.v(this.TAG,"Update MPEG audio timestampOffset from "+i+" to "+r),this._sourceBuffers[t].timestampOffset=r),delete n.timestampOffset}if(!n.data||0===n.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(n.data),this._isBufferFull=!1,"video"===t&&n.hasOwnProperty("info")&&this._idrList.appendArray(n.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(n),22===e.code?(this._isBufferFull||this._emitter.emit(c.default.BUFFER_FULL),this._isBufferFull=!0):(l.default.e(this.TAG,e.message),this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message}))}}}},{key:"_onSourceOpen",value:function(){if(l.default.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(c.default.SOURCE_OPEN)}},{key:"_onSourceEnded",value:function(){l.default.v(this.TAG,"MediaSource onSourceEnded")}},{key:"_onSourceClose",value:function(){l.default.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}},{key:"_hasPendingSegments",value:function(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0}},{key:"_hasPendingRemoveRanges",value:function(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0}},{key:"_onSourceBufferUpdateEnd",value:function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(c.default.UPDATE_END)}},{key:"_onSourceBufferError",value:function(e){l.default.e(this.TAG,"SourceBuffer Error: "+e)}}]),e}();n.default=p},{"../utils/browser.js":39,"../utils/exception.js":40,"../utils/logger.js":41,"./media-segment-info.js":8,"./mse-events.js":10,events:2}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};n.default=i},{}],11:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){
-function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/logging-control.js"),h=i(d),f=e("./transmuxing-controller.js"),c=i(f),_=e("./transmuxing-events.js"),m=i(_),p=e("./transmuxing-worker.js"),v=i(p),g=e("./media-info.js"),y=i(g),E=function(){function t(n,i){if(r(this,t),this.TAG="Transmuxer",this._emitter=new o.default,i.enableWorker&&"undefined"!=typeof Worker)try{var s=e("webworkify");this._worker=s(v.default),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[n,i]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},h.default.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:h.default.getConfig()})}catch(e){l.default.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new c.default(n,i)}else this._controller=new c.default(n,i);if(this._controller){var a=this._controller;a.on(m.default.IO_ERROR,this._onIOError.bind(this)),a.on(m.default.DEMUX_ERROR,this._onDemuxError.bind(this)),a.on(m.default.INIT_SEGMENT,this._onInitSegment.bind(this)),a.on(m.default.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),a.on(m.default.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),a.on(m.default.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),a.on(m.default.MEDIA_INFO,this._onMediaInfo.bind(this)),a.on(m.default.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),a.on(m.default.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),a.on(m.default.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),a.on(m.default.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}return s(t,[{key:"destroy",value:function(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),h.default.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function(e,t){this._emitter.removeListener(e,t)}},{key:"hasWorker",value:function(){return null!=this._worker}},{key:"open",value:function(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}},{key:"close",value:function(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}},{key:"seek",value:function(e){this._worker?this._worker.postMessage({cmd:"seek",param:e}):this._controller.seek(e)}},{key:"pause",value:function(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}},{key:"resume",value:function(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}},{key:"_onInitSegment",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.INIT_SEGMENT,e,t)})}},{key:"_onMediaSegment",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.MEDIA_SEGMENT,e,t)})}},{key:"_onLoadingComplete",value:function(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.LOADING_COMPLETE)})}},{key:"_onRecoveredEarlyEof",value:function(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.RECOVERED_EARLY_EOF)})}},{key:"_onMediaInfo",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.MEDIA_INFO,e)})}},{key:"_onMetaDataArrived",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.METADATA_ARRIVED,e)})}},{key:"_onScriptDataArrived",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.SCRIPTDATA_ARRIVED,e)})}},{key:"_onStatisticsInfo",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.STATISTICS_INFO,e)})}},{key:"_onIOError",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.IO_ERROR,e,t)})}},{key:"_onDemuxError",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.DEMUX_ERROR,e,t)})}},{key:"_onRecommendSeekpoint",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.RECOMMEND_SEEKPOINT,e)})}},{key:"_onLoggingConfigChanged",value:function(e){this._worker&&this._worker.postMessage({cmd:"logging_config",param:e})}},{key:"_onWorkerMessage",value:function(e){var t=e.data,n=t.data;if("destroyed"===t.msg||this._workerDestroying)return this._workerDestroying=!1,this._worker.terminate(),void(this._worker=null);switch(t.msg){case m.default.INIT_SEGMENT:case m.default.MEDIA_SEGMENT:this._emitter.emit(t.msg,n.type,n.data);break;case m.default.LOADING_COMPLETE:case m.default.RECOVERED_EARLY_EOF:this._emitter.emit(t.msg);break;case m.default.MEDIA_INFO:Object.setPrototypeOf(n,y.default.prototype),this._emitter.emit(t.msg,n);break;case m.default.METADATA_ARRIVED:case m.default.SCRIPTDATA_ARRIVED:case m.default.STATISTICS_INFO:this._emitter.emit(t.msg,n);break;case m.default.IO_ERROR:case m.default.DEMUX_ERROR:this._emitter.emit(t.msg,n.type,n.info);break;case m.default.RECOMMEND_SEEKPOINT:this._emitter.emit(t.msg,n);break;case"logcat_callback":l.default.emitter.emit("log",n.type,n.logcat)}}}]),t}();n.default=E},{"../utils/logger.js":41,"../utils/logging-control.js":42,"./media-info.js":7,"./transmuxing-controller.js":12,"./transmuxing-events.js":13,"./transmuxing-worker.js":14,events:2,webworkify:4}],12:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("../utils/logger.js"),l=i(u),d=e("../utils/browser.js"),h=i(d),f=e("./media-info.js"),c=i(f),_=e("../demux/flv-demuxer.js"),m=i(_),p=e("../remux/mp4-remuxer.js"),v=i(p),g=e("../demux/demux-errors.js"),y=i(g),E=e("../io/io-controller.js"),b=i(E),S=e("./transmuxing-events.js"),k=i(S),L=(e("../io/loader.js"),function(){function e(t,n){r(this,e),this.TAG="TransmuxingController",this._emitter=new o.default,this._config=n,t.segments||(t.segments=[{duration:t.duration,filesize:t.filesize,url:t.url}]),"boolean"!=typeof t.cors&&(t.cors=!0),"boolean"!=typeof t.withCredentials&&(t.withCredentials=!1),this._mediaDataSource=t,this._currentSegmentIndex=0;var i=0;this._mediaDataSource.segments.forEach(function(e){e.timestampBase=i,i+=e.duration,e.cors=t.cors,e.withCredentials=t.withCredentials,n.referrerPolicy&&(e.referrerPolicy=n.referrerPolicy)}),isNaN(i)||this._mediaDataSource.duration===i||(this._mediaDataSource.duration=i),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}return s(e,[{key:"destroy",value:function(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function(e,t){this._emitter.addListener(e,t)}},{key:"off",value:function(e,t){this._emitter.removeListener(e,t)}},{key:"start",value:function(){this._loadSegment(0),this._enableStatisticsReporter()}},{key:"_loadSegment",value:function(e,t){this._currentSegmentIndex=e;var n=this._mediaDataSource.segments[e],i=this._ioctl=new b.default(n,this._config,e);i.onError=this._onIOException.bind(this),i.onSeeked=this._onIOSeeked.bind(this),i.onComplete=this._onIOComplete.bind(this),i.onRedirect=this._onIORedirect.bind(this),i.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),t?this._demuxer.bindDataSource(this._ioctl):i.onDataArrival=this._onInitChunkArrival.bind(this),i.open(t)}},{key:"stop",value:function(){this._internalAbort(),this._disableStatisticsReporter()}},{key:"_internalAbort",value:function(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}},{key:"pause",value:function(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}},{key:"resume",value:function(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}},{key:"seek",value:function(e){if(null!=this._mediaInfo&&this._mediaInfo.isSeekable()){var t=this._searchSegmentIndexContains(e);if(t===this._currentSegmentIndex){var n=this._mediaInfo.segments[t];if(void 0==n)this._pendingSeekTime=e;else{var i=n.getNearestKeyframe(e);this._remuxer.seek(i.milliseconds),this._ioctl.seek(i.fileposition),this._pendingResolveSeekPoint=i.milliseconds}}else{var r=this._mediaInfo.segments[t];if(void 0==r)this._pendingSeekTime=e,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(t);else{var s=r.getNearestKeyframe(e);this._internalAbort(),this._remuxer.seek(e),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[t].timestampBase,this._loadSegment(t,s.fileposition),this._pendingResolveSeekPoint=s.milliseconds,this._reportSegmentMediaInfo(t)}}this._enableStatisticsReporter()}}},{key:"_searchSegmentIndexContains",value:function(e){for(var t=this._mediaDataSource.segments,n=t.length-1,i=0;i<t.length;i++)if(e<t[i].timestampBase){n=i-1;break}return n}},{key:"_onInitChunkArrival",value:function(e,t){var n=this,i=null,r=0;if(t>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((i=m.default.probe(e)).match){this._demuxer=new m.default(i,this._config),this._remuxer||(this._remuxer=new v.default(this._config));var s=this._mediaDataSource;void 0==s.duration||isNaN(s.duration)||(this._demuxer.overridedDuration=s.duration),"boolean"==typeof s.hasAudio&&(this._demuxer.overridedHasAudio=s.hasAudio),"boolean"==typeof s.hasVideo&&(this._demuxer.overridedHasVideo=s.hasVideo),this._demuxer.timestampBase=s.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else i=null,l.default.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(function(){n._internalAbort()}),this._emitter.emit(k.default.DEMUX_ERROR,y.default.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),r=0;return r}},{key:"_onMediaInfo",value:function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,c.default.prototype));var n=Object.assign({},e);Object.setPrototypeOf(n,c.default.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=n,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then(function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)})}},{key:"_onMetaDataArrived",value:function(e){this._emitter.emit(k.default.METADATA_ARRIVED,e)}},{key:"_onScriptDataArrived",value:function(e){this._emitter.emit(k.default.SCRIPTDATA_ARRIVED,e)}},{key:"_onIOSeeked",value:function(){this._remuxer.insertDiscontinuity()}},{key:"_onIOComplete",value:function(e){var t=e,n=t+1;n<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(n)):(this._remuxer.flushStashedSamples(),this._emitter.emit(k.default.LOADING_COMPLETE),this._disableStatisticsReporter())}},{key:"_onIORedirect",value:function(e){var t=this._ioctl.extraData;this._mediaDataSource.segments[t].redirectedURL=e}},{key:"_onIORecoveredEarlyEof",value:function(){this._emitter.emit(k.default.RECOVERED_EARLY_EOF)}},{key:"_onIOException",value:function(e,t){l.default.e(this.TAG,"IOException: type = "+e+", code = "+t.code+", msg = "+t.msg),this._emitter.emit(k.default.IO_ERROR,e,t),this._disableStatisticsReporter()}},{key:"_onDemuxException",value:function(e,t){l.default.e(this.TAG,"DemuxException: type = "+e+", info = "+t),this._emitter.emit(k.default.DEMUX_ERROR,e,t)}},{key:"_onRemuxerInitSegmentArrival",value:function(e,t){this._emitter.emit(k.default.INIT_SEGMENT,e,t)}},{key:"_onRemuxerMediaSegmentArrival",value:function(e,t){if(null==this._pendingSeekTime&&(this._emitter.emit(k.default.MEDIA_SEGMENT,e,t),null!=this._pendingResolveSeekPoint&&"video"===e)){var n=t.info.syncPoints,i=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,h.default.safari&&n.length>0&&n[0].originalDts===i&&(i=n[0].pts),this._emitter.emit(k.default.RECOMMEND_SEEKPOINT,i)}}},{key:"_enableStatisticsReporter",value:function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}},{key:"_disableStatisticsReporter",value:function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"_reportSegmentMediaInfo",value:function(e){var t=this._mediaInfo.segments[e],n=Object.assign({},t);n.duration=this._mediaInfo.duration,n.segmentCount=this._mediaInfo.segmentCount,delete n.segments,delete n.keyframesIndex,this._emitter.emit(k.default.MEDIA_INFO,n)}},{key:"_reportStatisticsInfo",value:function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(k.default.STATISTICS_INFO,e)}}]),e}());n.default=L},{"../demux/demux-errors.js":16,"../demux/flv-demuxer.js":18,"../io/io-controller.js":23,"../io/loader.js":24,"../remux/mp4-remuxer.js":38,"../utils/browser.js":39,"../utils/logger.js":41,"./media-info.js":7,"./transmuxing-events.js":13,events:2}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};n.default=i},{}],14:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/logger.js"),s=(i(r),e("../utils/logging-control.js")),a=i(s),o=e("../utils/polyfill.js"),u=i(o),l=e("./transmuxing-controller.js"),d=i(l),h=e("./transmuxing-events.js"),f=i(h),c=function(e){function t(t,n){var i={msg:f.default.INIT_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function n(t,n){var i={msg:f.default.MEDIA_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function i(){var t={msg:f.default.LOADING_COMPLETE};e.postMessage(t)}function r(){var t={msg:f.default.RECOVERED_EARLY_EOF};e.postMessage(t)}function s(t){var n={msg:f.default.MEDIA_INFO,data:t};e.postMessage(n)}function o(t){var n={msg:f.default.METADATA_ARRIVED,data:t};e.postMessage(n)}function l(t){var n={msg:f.default.SCRIPTDATA_ARRIVED,data:t};e.postMessage(n)}function h(t){var n={msg:f.default.STATISTICS_INFO,data:t};e.postMessage(n)}function c(t,n){e.postMessage({msg:f.default.IO_ERROR,data:{type:t,info:n}})}function _(t,n){e.postMessage({msg:f.default.DEMUX_ERROR,data:{type:t,info:n}})}function m(t){e.postMessage({msg:f.default.RECOMMEND_SEEKPOINT,data:t})}function p(t,n){e.postMessage({msg:"logcat_callback",data:{type:t,logcat:n}})}var v=null,g=p.bind(this);u.default.install(),e.addEventListener("message",function(u){switch(u.data.cmd){case"init":v=new d.default(u.data.param[0],u.data.param[1]),v.on(f.default.IO_ERROR,c.bind(this)),v.on(f.default.DEMUX_ERROR,_.bind(this)),v.on(f.default.INIT_SEGMENT,t.bind(this)),v.on(f.default.MEDIA_SEGMENT,n.bind(this)),v.on(f.default.LOADING_COMPLETE,i.bind(this)),v.on(f.default.RECOVERED_EARLY_EOF,r.bind(this)),v.on(f.default.MEDIA_INFO,s.bind(this)),v.on(f.default.METADATA_ARRIVED,o.bind(this)),v.on(f.default.SCRIPTDATA_ARRIVED,l.bind(this)),v.on(f.default.STATISTICS_INFO,h.bind(this)),v.on(f.default.RECOMMEND_SEEKPOINT,m.bind(this));break;case"destroy":v&&(v.destroy(),v=null),e.postMessage({msg:"destroyed"});break;case"start":v.start();break;case"stop":v.stop();break;case"seek":v.seek(u.data.param);break;case"pause":v.pause();break;case"resume":v.resume();break;case"logging_config":var p=u.data.param;a.default.applyConfig(p),!0===p.enableCallback?a.default.addLogListener(g):a.default.removeLogListener(g)}})};n.default=c},{"../utils/logger.js":41,"../utils/logging-control.js":42,"../utils/polyfill.js":43,"./transmuxing-controller.js":12,"./transmuxing-events.js":13}],15:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("../utils/utf8-conv.js"),l=i(u),d=e("../utils/exception.js"),h=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),f=function(){function e(){r(this,e)}return s(e,null,[{key:"parseScriptData",value:function(t,n,i){var r={};try{var s=e.parseValue(t,n,i),a=e.parseValue(t,n+s.size,i-s.size);r[s.data]=a.data}catch(e){o.default.e("AMF",e.toString())}return r}},{key:"parseObject",value:function(t,n,i){if(i<3)throw new d.IllegalStateException("Data not enough when parse ScriptDataObject");var r=e.parseString(t,n,i),s=e.parseValue(t,n+r.size,i-r.size),a=s.objectEnd;return{data:{name:r.data,value:s.data},size:r.size+s.size,objectEnd:a}}},{key:"parseVariable",value:function(t,n,i){return e.parseObject(t,n,i)}},{key:"parseString",value:function(e,t,n){if(n<2)throw new d.IllegalStateException("Data not enough when parse String");var i=new DataView(e,t,n),r=i.getUint16(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+2,r)):"",{data:s,size:2+r}}},{key:"parseLongString",value:function(e,t,n){if(n<4)throw new d.IllegalStateException("Data not enough when parse LongString");var i=new DataView(e,t,n),r=i.getUint32(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+4,r)):"",{data:s,size:4+r}}},{key:"parseDate",value:function(e,t,n){if(n<10)throw new d.IllegalStateException("Data size invalid when parse Date");var i=new DataView(e,t,n),r=i.getFloat64(0,!h);return r+=60*i.getInt16(8,!h)*1e3,{data:new Date(r),size:10}}},{key:"parseValue",value:function(t,n,i){if(i<1)throw new d.IllegalStateException("Data not enough when parse Value");var r=new DataView(t,n,i),s=1,a=r.getUint8(0),u=void 0,l=!1;try{switch(a){case 0:u=r.getFloat64(1,!h),s+=8;break;case 1:u=!!r.getUint8(1),s+=1;break;case 2:var f=e.parseString(t,n+1,i-1);u=f.data,s+=f.size;break;case 3:u={};var c=0;for(9==(16777215&r.getUint32(i-4,!h))&&(c=3);s<i-4;){var _=e.parseObject(t,n+s,i-s-c);if(_.objectEnd)break;u[_.data.name]=_.data.value,s+=_.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 8:u={},s+=4;var m=0;for(9==(16777215&r.getUint32(i-4,!h))&&(m=3);s<i-8;){var p=e.parseVariable(t,n+s,i-s-m);if(p.objectEnd)break;u[p.data.name]=p.data.value,s+=p.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 9:u=void 0,s=1,l=!0;break;case 10:u=[];var v=r.getUint32(1,!h);s+=4;for(var g=0;g<v;g++){var y=e.parseValue(t,n+s,i-s);u.push(y.data),s+=y.size}break;case 11:var E=e.parseDate(t,n+1,i-1);u=E.data,s+=E.size;break;case 12:var b=e.parseString(t,n+1,i-1);u=b.data,s+=b.size;break;default:s=i,o.default.w("AMF","Unsupported AMF value type "+a)}}catch(e){o.default.e("AMF",e.toString())}return{data:u,size:s,objectEnd:l}}}]),e}();n.default=f},{"../utils/exception.js":40,"../utils/logger.js":41,"../utils/utf8-conv.js":44}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};n.default=i},{}],17:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../utils/exception.js"),a=function(){function e(t){i(this,e),this.TAG="ExpGolomb",this._buffer=t,this._buffer_index=0,this._total_bytes=t.byteLength,this._total_bits=8*t.byteLength,this._current_word=0,this._current_word_bits_left=0}return r(e,[{key:"destroy",value:function(){this._buffer=null}},{key:"_fillCurrentWord",value:function(){var e=this._total_bytes-this._buffer_index;if(e<=0)throw new s.IllegalStateException("ExpGolomb: _fillCurrentWord() but no bytes available");var t=Math.min(4,e),n=new Uint8Array(4);n.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(n.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}},{key:"readBits",value:function(e){if(e>32)throw new s.InvalidArgumentException("ExpGolomb: readBits() bits exceeded max 32bits!");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var n=this._current_word_bits_left?this._current_word:0;n>>>=32-this._current_word_bits_left;var i=e-this._current_word_bits_left;this._fillCurrentWord();var r=Math.min(i,this._current_word_bits_left),a=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,n=n<<r|a}},{key:"readBool",value:function(){return 1===this.readBits(1)}},{key:"readByte",value:function(){return this.readBits(8)}},{key:"_skipLeadingZero",value:function(){var e=void 0;for(e=0;e<this._current_word_bits_left;e++)if(0!=(this._current_word&2147483648>>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}},{key:"readUEG",value:function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1}},{key:"readSEG",value:function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}]),e}();n.default=a},{"../utils/exception.js":40}],18:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=i(u),d=e("./amf-parser.js"),h=i(d),f=e("./sps-parser.js"),c=i(f),_=e("./demux-errors.js"),m=i(_),p=e("../core/media-info.js"),v=i(p),g=e("../utils/exception.js"),y=function(){function e(t,n){r(this,e),this.TAG="FLVDemuxer",this._config=n,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=t.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=t.hasAudioTrack,this._hasVideo=t.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new v.default,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}()}return o(e,[{key:"destroy",value:function(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}},{key:"bindDataSource",value:function(e){return e.onDataArrival=this.parseChunks.bind(this),this}},{key:"resetMediaInfo",value:function(){this._mediaInfo=new v.default}},{key:"_isInitialMetadataDispatched",value:function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched}},{key:"parseChunks",value:function(t,n){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new g.IllegalStateException("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");var i=0,r=this._littleEndian;if(0===n){if(!(t.byteLength>13))return 0;i=e.probe(t).dataOffset}if(this._firstParse){this._firstParse=!1,n+i!==this._dataOffset&&l.default.w(this.TAG,"First time parsing but chunk byteStart invalid!");0!==new DataView(t,i).getUint32(0,!r)&&l.default.w(this.TAG,"PrevTagSize0 !== 0 !!!"),i+=4}for(;i<t.byteLength;){this._dispatch=!0;var s=new DataView(t,i);if(i+11+4>t.byteLength)break;var a=s.getUint8(0),o=16777215&s.getUint32(0,!r);if(i+11+o+4>t.byteLength)break;if(8===a||9===a||18===a){var u=s.getUint8(4),d=s.getUint8(5),h=s.getUint8(6),f=s.getUint8(7),c=h|d<<8|u<<16|f<<24;0!==(16777215&s.getUint32(7,!r))&&l.default.w(this.TAG,"Meet tag which has StreamID != 0!");var _=i+11;switch(a){case 8:this._parseAudioData(t,_,o,c);break;case 9:this._parseVideoData(t,_,o,c,n+i);break;case 18:this._parseScriptData(t,_,o)}var m=s.getUint32(11+o,!r);m!==11+o&&l.default.w(this.TAG,"Invalid PrevTagSize "+m),i+=11+o+4}else l.default.w(this.TAG,"Unsupported tag type "+a+", skipped"),i+=11+o+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),i}},{key:"_parseScriptData",value:function(e,t,n){var i=h.default.parseScriptData(e,t,n);if(i.hasOwnProperty("onMetaData")){if(null==i.onMetaData||"object"!==a(i.onMetaData))return void l.default.w(this.TAG,"Invalid onMetaData structure!");this._metadata&&l.default.w(this.TAG,"Found another onMetaData tag!"),this._metadata=i;var r=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},r)),"boolean"==typeof r.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=r.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),"boolean"==typeof r.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=r.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),"number"==typeof r.audiodatarate&&(this._mediaInfo.audioDataRate=r.audiodatarate),"number"==typeof r.videodatarate&&(this._mediaInfo.videoDataRate=r.videodatarate),"number"==typeof r.width&&(this._mediaInfo.width=r.width),"number"==typeof r.height&&(this._mediaInfo.height=r.height),"number"==typeof r.duration){if(!this._durationOverrided){var s=Math.floor(r.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if("number"==typeof r.framerate){var o=Math.floor(1e3*r.framerate);if(o>0){var u=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=u,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=u}}if("object"===a(r.keyframes)){this._mediaInfo.hasKeyframesIndex=!0;var d=r.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(d),r.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=r,l.default.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(i).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},i))}},{key:"_parseKeyframesIndex",value:function(e){for(var t=[],n=[],i=1;i<e.times.length;i++){var r=this._timestampBase+Math.floor(1e3*e.times[i]);t.push(r),n.push(e.filepositions[i])}return{times:t,filepositions:n}}},{key:"_parseAudioData",value:function(e,t,n,i){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");if(!0!==this._hasAudioFlagOverrided||!1!==this._hasAudio){var r=(this._littleEndian,new DataView(e,t,n)),s=r.getUint8(0),a=s>>>4;if(2!==a&&10!==a)return void this._onError(m.default.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+a);var o=0,u=(12&s)>>>2;if(!(u>=0&&u<=4))return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+u);o=this._flvSoundRateTable[u];var d=1&s,h=this._audioMetadata,f=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),h=this._audioMetadata={},h.type="audio",h.id=f.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===d?1:2),10===a){var c=this._parseAACAudioData(e,t+1,n-1);if(void 0==c)return;if(0===c.packetType){h.config&&l.default.w(this.TAG,"Found another AudioSpecificConfig!");var _=c.data;h.audioSampleRate=_.samplingRate,h.channelCount=_.channelCount,h.codec=_.codec,h.originalCodec=_.originalCodec,h.config=_.config,
-h.refSampleDuration=1024/h.audioSampleRate*h.timescale,l.default.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",h);var p=this._mediaInfo;p.audioCodec=h.originalCodec,p.audioSampleRate=h.audioSampleRate,p.audioChannelCount=h.channelCount,p.hasVideo?null!=p.videoCodec&&(p.mimeType='video/x-flv; codecs="'+p.videoCodec+","+p.audioCodec+'"'):p.mimeType='video/x-flv; codecs="'+p.audioCodec+'"',p.isComplete()&&this._onMediaInfo(p)}else if(1===c.packetType){var v=this._timestampBase+i,g={unit:c.data,length:c.data.byteLength,dts:v,pts:v};f.samples.push(g),f.length+=c.data.length}else l.default.e(this.TAG,"Flv: Unsupported AAC data type "+c.packetType)}else if(2===a){if(!h.codec){var y=this._parseMP3AudioData(e,t+1,n-1,!0);if(void 0==y)return;h.audioSampleRate=y.samplingRate,h.channelCount=y.channelCount,h.codec=y.codec,h.originalCodec=y.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,l.default.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",h);var E=this._mediaInfo;E.audioCodec=h.codec,E.audioSampleRate=h.audioSampleRate,E.audioChannelCount=h.channelCount,E.audioDataRate=y.bitRate,E.hasVideo?null!=E.videoCodec&&(E.mimeType='video/x-flv; codecs="'+E.videoCodec+","+E.audioCodec+'"'):E.mimeType='video/x-flv; codecs="'+E.audioCodec+'"',E.isComplete()&&this._onMediaInfo(E)}var b=this._parseMP3AudioData(e,t+1,n-1,!1);if(void 0==b)return;var S=this._timestampBase+i,k={unit:b,length:b.byteLength,dts:S,pts:S};f.samples.push(k),f.length+=b.length}}}},{key:"_parseAACAudioData",value:function(e,t,n){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");var i={},r=new Uint8Array(e,t,n);return i.packetType=r[0],0===r[0]?i.data=this._parseAACAudioSpecificConfig(e,t+1,n-1):i.data=r.subarray(1),i}},{key:"_parseAACAudioSpecificConfig",value:function(e,t,n){var i=new Uint8Array(e,t,n),r=null,s=0,a=0,o=0,u=null;if(s=a=i[0]>>>3,(o=(7&i[0])<<1|i[1]>>>7)<0||o>=this._mpegSamplingRates.length)return void this._onError(m.default.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");var l=this._mpegSamplingRates[o],d=(120&i[1])>>>3;if(d<0||d>=8)return void this._onError(m.default.FORMAT_ERROR,"Flv: AAC invalid channel configuration");5===s&&(u=(7&i[1])<<1|i[2]>>>7,i[2]);var h=self.navigator.userAgent.toLowerCase();return-1!==h.indexOf("firefox")?o>=6?(s=5,r=new Array(4),u=o-3):(s=2,r=new Array(2),u=o):-1!==h.indexOf("android")?(s=2,r=new Array(2),u=o):(s=5,u=o,r=new Array(4),o>=6?u=o-3:1===d&&(s=2,r=new Array(2),u=o)),r[0]=s<<3,r[0]|=(15&o)>>>1,r[1]=(15&o)<<7,r[1]|=(15&d)<<3,5===s&&(r[1]|=(15&u)>>>1,r[2]=(1&u)<<7,r[2]|=8,r[3]=0),{config:r,samplingRate:l,channelCount:d,codec:"mp4a.40."+s,originalCodec:"mp4a.40."+a}}},{key:"_parseMP3AudioData",value:function(e,t,n,i){if(n<4)return void l.default.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");var r=(this._littleEndian,new Uint8Array(e,t,n)),s=null;if(i){if(255!==r[0])return;var a=r[1]>>>3&3,o=(6&r[1])>>1,u=(240&r[2])>>>4,d=(12&r[2])>>>2,h=r[3]>>>6&3,f=3!==h?2:1,c=0,_=0;switch(a){case 0:c=this._mpegAudioV25SampleRateTable[d];break;case 2:c=this._mpegAudioV20SampleRateTable[d];break;case 3:c=this._mpegAudioV10SampleRateTable[d]}switch(o){case 1:34,u<this._mpegAudioL3BitRateTable.length&&(_=this._mpegAudioL3BitRateTable[u]);break;case 2:33,u<this._mpegAudioL2BitRateTable.length&&(_=this._mpegAudioL2BitRateTable[u]);break;case 3:32,u<this._mpegAudioL1BitRateTable.length&&(_=this._mpegAudioL1BitRateTable[u])}s={bitRate:_,samplingRate:c,channelCount:f,codec:"mp3",originalCodec:"mp3"}}else s=r;return s}},{key:"_parseVideoData",value:function(e,t,n,i,r){if(n<=1)return void l.default.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");if(!0!==this._hasVideoFlagOverrided||!1!==this._hasVideo){var s=new Uint8Array(e,t,n)[0],a=(240&s)>>>4,o=15&s;if(7!==o)return void this._onError(m.default.CODEC_UNSUPPORTED,"Flv: Unsupported codec in video frame: "+o);this._parseAVCVideoPacket(e,t+1,n-1,i,r,a)}}},{key:"_parseAVCVideoPacket",value:function(e,t,n,i,r,s){if(n<4)return void l.default.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");var a=this._littleEndian,o=new DataView(e,t,n),u=o.getUint8(0),d=16777215&o.getUint32(0,!a),h=d<<8>>8;if(0===u)this._parseAVCDecoderConfigurationRecord(e,t+4,n-4);else if(1===u)this._parseAVCVideoData(e,t+4,n-4,i,r,s,h);else if(2!==u)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid video packet type "+u)}},{key:"_parseAVCDecoderConfigurationRecord",value:function(e,t,n){if(n<7)return void l.default.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");var i=this._videoMetadata,r=this._videoTrack,s=this._littleEndian,a=new DataView(e,t,n);i?void 0!==i.avcc&&l.default.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),i=this._videoMetadata={},i.type="video",i.id=r.id,i.timescale=this._timescale,i.duration=this._duration);var o=a.getUint8(0),u=a.getUint8(1);a.getUint8(2),a.getUint8(3);if(1!==o||0===u)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");if(this._naluLengthSize=1+(3&a.getUint8(4)),3!==this._naluLengthSize&&4!==this._naluLengthSize)return void this._onError(m.default.FORMAT_ERROR,"Flv: Strange NaluLengthSizeMinusOne: "+(this._naluLengthSize-1));var d=31&a.getUint8(5);if(0===d)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");d>1&&l.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = "+d);for(var h=6,f=0;f<d;f++){var _=a.getUint16(h,!s);if(h+=2,0!==_){var p=new Uint8Array(e,t+h,_);h+=_;var v=c.default.parseSPS(p);if(0===f){i.codecWidth=v.codec_size.width,i.codecHeight=v.codec_size.height,i.presentWidth=v.present_size.width,i.presentHeight=v.present_size.height,i.profile=v.profile_string,i.level=v.level_string,i.bitDepth=v.bit_depth,i.chromaFormat=v.chroma_format,i.sarRatio=v.sar_ratio,i.frameRate=v.frame_rate,!1!==v.frame_rate.fixed&&0!==v.frame_rate.fps_num&&0!==v.frame_rate.fps_den||(i.frameRate=this._referenceFrameRate);var g=i.frameRate.fps_den,y=i.frameRate.fps_num;i.refSampleDuration=i.timescale*(g/y);for(var E=p.subarray(1,4),b="avc1.",S=0;S<3;S++){var k=E[S].toString(16);k.length<2&&(k="0"+k),b+=k}i.codec=b;var L=this._mediaInfo;L.width=i.codecWidth,L.height=i.codecHeight,L.fps=i.frameRate.fps,L.profile=i.profile,L.level=i.level,L.refFrames=v.ref_frames,L.chromaFormat=v.chroma_format_string,L.sarNum=i.sarRatio.width,L.sarDen=i.sarRatio.height,L.videoCodec=b,L.hasAudio?null!=L.audioCodec&&(L.mimeType='video/x-flv; codecs="'+L.videoCodec+","+L.audioCodec+'"'):L.mimeType='video/x-flv; codecs="'+L.videoCodec+'"',L.isComplete()&&this._onMediaInfo(L)}}}var R=a.getUint8(h);if(0===R)return void this._onError(m.default.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");R>1&&l.default.w(this.TAG,"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = "+R),h++;for(var A=0;A<R;A++){var w=a.getUint16(h,!s);h+=2,0!==w&&(h+=w)}i.avcc=new Uint8Array(n),i.avcc.set(new Uint8Array(e,t,n),0),l.default.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",i)}},{key:"_parseAVCVideoData",value:function(e,t,n,i,r,s,a){for(var o=this._littleEndian,u=new DataView(e,t,n),d=[],h=0,f=0,c=this._naluLengthSize,_=this._timestampBase+i,m=1===s;f<n;){if(f+4>=n){l.default.w(this.TAG,"Malformed Nalu near timestamp "+_+", offset = "+f+", dataSize = "+n);break}var p=u.getUint32(f,!o);if(3===c&&(p>>>=8),p>n-c)return void l.default.w(this.TAG,"Malformed Nalus near timestamp "+_+", NaluSize > DataSize!");var v=31&u.getUint8(f+c);5===v&&(m=!0);var g=new Uint8Array(e,t+f,c+p),y={type:v,data:g};d.push(y),h+=g.byteLength,f+=c+p}if(d.length){var E=this._videoTrack,b={units:d,length:h,isKeyframe:m,dts:_,cts:a,pts:_+a};m&&(b.fileposition=r),E.samples.push(b),E.length+=h}}},{key:"onTrackMetadata",get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e}},{key:"onMediaInfo",get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e}},{key:"onMetaDataArrived",get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e}},{key:"onScriptDataArrived",get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e}},{key:"onError",get:function(){return this._onError},set:function(e){this._onError=e}},{key:"onDataAvailable",get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e}},{key:"timestampBase",get:function(){return this._timestampBase},set:function(e){this._timestampBase=e}},{key:"overridedDuration",get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e}},{key:"overridedHasAudio",set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e}},{key:"overridedHasVideo",set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e}}],[{key:"probe",value:function(e){var t=new Uint8Array(e),n={match:!1};if(70!==t[0]||76!==t[1]||86!==t[2]||1!==t[3])return n;var i=(4&t[4])>>>2!=0,r=0!=(1&t[4]),a=s(t,5);return a<9?n:{match:!0,consumed:a,dataOffset:a,hasAudioTrack:i,hasVideoTrack:r}}}]),e}();n.default=y},{"../core/media-info.js":7,"../utils/exception.js":40,"../utils/logger.js":41,"./amf-parser.js":15,"./demux-errors.js":16,"./sps-parser.js":19}],19:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("./exp-golomb.js"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:"_ebsp2rbsp",value:function(e){for(var t=e,n=t.byteLength,i=new Uint8Array(n),r=0,s=0;s<n;s++)s>=2&&3===t[s]&&0===t[s-1]&&0===t[s-2]||(i[r]=t[s],r++);return new Uint8Array(i.buffer,0,r)}},{key:"parseSPS",value:function(t){var n=e._ebsp2rbsp(t),i=new a.default(n);i.readByte();var r=i.readByte();i.readByte();var s=i.readByte();i.readUEG();var o=e.getProfileString(r),u=e.getLevelString(s),l=1,d=420,h=[0,420,422,444],f=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(l=i.readUEG(),3===l&&i.readBits(1),l<=3&&(d=h[l]),f=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool()))for(var c=3!==l?8:12,_=0;_<c;_++)i.readBool()&&(_<6?e._skipScalingList(i,16):e._skipScalingList(i,64));i.readUEG();var m=i.readUEG();if(0===m)i.readUEG();else if(1===m){i.readBits(1),i.readSEG(),i.readSEG();for(var p=i.readUEG(),v=0;v<p;v++)i.readSEG()}var g=i.readUEG();i.readBits(1);var y=i.readUEG(),E=i.readUEG(),b=i.readBits(1);0===b&&i.readBits(1),i.readBits(1);var S=0,k=0,L=0,R=0;i.readBool()&&(S=i.readUEG(),k=i.readUEG(),L=i.readUEG(),R=i.readUEG());var A=1,w=1,T=0,O=!0,C=0,I=0;if(i.readBool()){if(i.readBool()){var D=i.readByte(),x=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],M=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];D>0&&D<16?(A=x[D-1],w=M[D-1]):255===D&&(A=i.readByte()<<8|i.readByte(),w=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){var B=i.readBits(32),j=i.readBits(32);O=i.readBool(),C=j,I=2*B,T=C/I}}var P=1;1===A&&1===w||(P=A/w);var U=0,N=0;if(0===l)U=1,N=2-b;else{var F=3===l?1:2,G=1===l?2:1;U=F,N=G*(2-b)}var V=16*(y+1),z=16*(E+1)*(2-b);V-=(S+k)*U,z-=(L+R)*N;var H=Math.ceil(V*P);return i.destroy(),i=null,{profile_string:o,level_string:u,bit_depth:f,ref_frames:g,chroma_format:d,chroma_format_string:e.getChromaFormatString(d),frame_rate:{fixed:O,fps:T,fps_den:I,fps_num:C},sar_ratio:{width:A,height:w},codec_size:{width:V,height:z},present_size:{width:H,height:z}}}},{key:"_skipScalingList",value:function(e,t){for(var n=8,i=8,r=0,s=0;s<t;s++)0!==i&&(r=e.readSEG(),i=(n+r+256)%256),n=0===i?n:i}},{key:"getProfileString",value:function(e){switch(e){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}},{key:"getLevelString",value:function(e){return(e/10).toFixed(1)}},{key:"getChromaFormatString",value:function(e){switch(e){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}]),e}();n.default=o},{"./exp-golomb.js":17}],20:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=e;if(null==n||"object"!==(void 0===n?"undefined":o(n)))throw new S.InvalidArgumentException("MediaDataSource must be an javascript object!");if(!n.hasOwnProperty("type"))throw new S.InvalidArgumentException("MediaDataSource must has type field to indicate video file type!");switch(n.type){case"flv":return new _.default(n,t);default:return new p.default(n,t)}}function s(){return h.default.supportMSEH264Playback()}function a(){return h.default.getFeatureList()}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u=e("./utils/polyfill.js"),l=i(u),d=e("./core/features.js"),h=i(d),f=e("./io/loader.js"),c=e("./player/flv-player.js"),_=i(c),m=e("./player/native-player.js"),p=i(m),v=e("./player/player-events.js"),g=i(v),y=e("./player/player-errors.js"),E=e("./utils/logging-control.js"),b=i(E),S=e("./utils/exception.js");l.default.install();var k={};k.createPlayer=r,k.isSupported=s,k.getFeatureList=a,k.BaseLoader=f.BaseLoader,k.LoaderStatus=f.LoaderStatus,k.LoaderErrors=f.LoaderErrors,k.Events=g.default,k.ErrorTypes=y.ErrorTypes,k.ErrorDetails=y.ErrorDetails,k.FlvPlayer=_.default,k.NativePlayer=p.default,k.LoggingControl=b.default,Object.defineProperty(k,"version",{enumerable:!0,get:function(){return"1.5.0"}}),n.default=k},{"./core/features.js":6,"./io/loader.js":24,"./player/flv-player.js":32,"./player/native-player.js":33,"./player/player-errors.js":34,"./player/player-events.js":35,"./utils/exception.js":40,"./utils/logging-control.js":42,"./utils/polyfill.js":43}],21:[function(e,t,n){"use strict";t.exports=e("./flv.js").default},{"./flv.js":20}],22:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e("../utils/logger.js"),h=(i(d),e("../utils/browser.js")),f=i(h),c=e("./loader.js"),_=e("../utils/exception.js"),m=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"fetch-stream-loader"));return i.TAG="FetchStreamLoader",i._seekHandler=e,i._config=n,i._needStash=!0,i._requestAbort=!1,i._contentLength=null,i._receivedLength=0,i}return a(t,e),l(t,null,[{key:"isSupported",value:function(){try{var e=f.default.msedge&&f.default.version.minor>=15048,t=!f.default.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}}}]),l(t,[{key:"destroy",value:function(){this.isWorking()&&this.abort(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function(e,t){var n=this;this._dataSource=e,this._range=t;var i=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(i=e.redirectedURL);var r=this._seekHandler.getConfig(i,t),s=new self.Headers;if("object"===o(r.headers)){var a=r.headers;for(var u in a)a.hasOwnProperty(u)&&s.append(u,a[u])}var l={method:"GET",headers:s,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if("object"===o(this._config.headers))for(var d in this._config.headers)s.append(d,this._config.headers[d]);!1===e.cors&&(l.mode="same-origin"),e.withCredentials&&(l.credentials="include"),e.referrerPolicy&&(l.referrerPolicy=e.referrerPolicy),this._status=c.LoaderStatus.kConnecting,self.fetch(r.url,l).then(function(e){if(n._requestAbort)return n._requestAbort=!1,void(n._status=c.LoaderStatus.kIdle);if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==r.url&&n._onURLRedirect){var t=n._seekHandler.removeURLParameters(e.url);n._onURLRedirect(t)}var i=e.headers.get("Content-Length");return null!=i&&(n._contentLength=parseInt(i),0!==n._contentLength&&n._onContentLengthKnown&&n._onContentLengthKnown(n._contentLength)),n._pump.call(n,e.body.getReader())}if(n._status=c.LoaderStatus.kError,!n._onError)throw new _.RuntimeException("FetchStreamLoader: Http code invalid, "+e.status+" "+e.statusText);n._onError(c.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})}).catch(function(e){if(n._status=c.LoaderStatus.kError,!n._onError)throw e;n._onError(c.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})})}},{key:"abort",value:function(){this._requestAbort=!0}},{key:"_pump",value:function(e){var t=this;return e.read().then(function(n){if(n.done)if(null!==t._contentLength&&t._receivedLength<t._contentLength){t._status=c.LoaderStatus.kError;var i=c.LoaderErrors.EARLY_EOF,r={code:-1,msg:"Fetch stream meet Early-EOF"};if(!t._onError)throw new _.RuntimeException(r.msg);t._onError(i,r)}else t._status=c.LoaderStatus.kComplete,t._onComplete&&t._onComplete(t._range.from,t._range.from+t._receivedLength-1);else{if(!0===t._requestAbort)return t._requestAbort=!1,t._status=c.LoaderStatus.kComplete,e.cancel();t._status=c.LoaderStatus.kBuffering;var s=n.value.buffer,a=t._range.from+t._receivedLength;t._receivedLength+=s.byteLength,t._onDataArrival&&t._onDataArrival(s,a,t._receivedLength),t._pump(e)}}).catch(function(e){if(11!==e.code||!f.default.msedge){t._status=c.LoaderStatus.kError;var n=0,i=null;if(19!==e.code&&"network error"!==e.message||!(null===t._contentLength||null!==t._contentLength&&t._receivedLength<t._contentLength)?(n=c.LoaderErrors.EXCEPTION,i={code:e.code,msg:e.message}):(n=c.LoaderErrors.EARLY_EOF,i={code:e.code,msg:"Fetch stream meet Early-EOF"}),!t._onError)throw new _.RuntimeException(i.msg);t._onError(n,i)}})}}]),t}(c.BaseLoader);n.default=m},{"../utils/browser.js":39,"../utils/exception.js":40,"../utils/logger.js":41,"./loader.js":24}],23:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("./speed-sampler.js"),l=i(u),d=e("./loader.js"),h=e("./fetch-stream-loader.js"),f=i(h),c=e("./xhr-moz-chunked-loader.js"),_=i(c),m=e("./xhr-msstream-loader.js"),p=(i(m),e("./xhr-range-loader.js")),v=i(p),g=e("./websocket-loader.js"),y=i(g),E=e("./range-seek-handler.js"),b=i(E),S=e("./param-seek-handler.js"),k=i(S),L=e("../utils/exception.js"),R=function(){function e(t,n,i){r(this,e),this.TAG="IOController",this._config=n,this._extraData=i,this._stashInitialSize=393216,void 0!=n.stashInitialSize&&n.stashInitialSize>0&&(this._stashInitialSize=n.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===n.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=t,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(t.url),this._refTotalLength=t.filesize?t.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new l.default,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return s(e,[{key:"destroy",value:function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}},{key:"isWorking",value:function(){return this._loader&&this._loader.isWorking()&&!this._paused}},{key:"isPaused",value:function(){return this._paused}},{key:"_selectSeekHandler",value:function(){var e=this._config;if("range"===e.seekType)this._seekHandler=new b.default(this._config.rangeLoadZeroStart);else if("param"===e.seekType){var t=e.seekParamStart||"bstart",n=e.seekParamEnd||"bend";this._seekHandler=new k.default(t,n)}else{if("custom"!==e.seekType)throw new L.InvalidArgumentException("Invalid seekType in config: "+e.seekType);if("function"!=typeof e.customSeekHandler)throw new L.InvalidArgumentException("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new e.customSeekHandler}}},{key:"_selectLoader",value:function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=y.default;else if(f.default.isSupported())this._loaderClass=f.default;else if(_.default.isSupported())this._loaderClass=_.default;else{if(!v.default.isSupported())throw new L.RuntimeException("Your browser doesn't support xhr with arraybuffer responseType!");this._loaderClass=v.default}}},{key:"_createLoader",value:function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}},{key:"open",value:function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}},{key:"abort",value:function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}},{key:"pause",value:function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}},{key:"resume",value:function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}}},{key:"seek",value:function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)}},{key:"_internalSeek",value:function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var n={from:e,to:-1};this._currentRange={from:n.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,n),this._onSeeked&&this._onSeeked()}},{key:"updateUrl",value:function(e){if(!e||"string"!=typeof e||0===e.length)throw new L.InvalidArgumentException("Url must be a non-empty string!");this._dataSource.url=e}},{key:"_expandBuffer",value:function(e){for(var t=this._stashSize;t+1048576<e;)t*=2;if((t+=1048576)!==this._bufferSize){var n=new ArrayBuffer(t);if(this._stashUsed>0){var i=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(n,0,t).set(i,0)}this._stashBuffer=n,this._bufferSize=t}}},{key:"_normalizeSpeed",value:function(e){var t=this._speedNormalizeList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:"_adjustStashSize",value:function(e){var t=0;(t=this._config.isLive?e:e<512?e:e>=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var n=1024*t+1048576;this._bufferSize<n&&this._expandBuffer(n),this._stashSize=1024*t}},{key:"_dispatchChunks",value:function(e,t){return this._currentRange.to=t+e.byteLength-1,this._onDataArrival(e,t)}},{key:"_onURLRedirect",value:function(e){this._redirectedURL=e,this._onRedirect&&this._onRedirect(e)}},{key:"_onContentLengthKnown",value:function(e){e&&this._fullRequestFlag&&(this._totalLength=e,this._fullRequestFlag=!1)}},{key:"_onLoaderChunkArrival",value:function(e,t,n){if(!this._onDataArrival)throw new L.IllegalStateException("IOController: No existing consumer (onDataArrival) callback!");if(!this._paused){this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(e.byteLength);var i=this._speedSampler.lastSecondKBps;if(0!==i){var r=this._normalizeSpeed(i);this._speedNormalized!==r&&(this._speedNormalized=r,this._adjustStashSize(r))}if(this._enableStash)if(0===this._stashUsed&&0===this._stashByteStart&&(this._stashByteStart=t),this._stashUsed+e.byteLength<=this._stashSize){var s=new Uint8Array(this._stashBuffer,0,this._stashSize);s.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var a=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){var o=this._stashBuffer.slice(0,this._stashUsed),u=this._dispatchChunks(o,this._stashByteStart);if(u<o.byteLength){if(u>0){var l=new Uint8Array(o,u);a.set(l,0),this._stashUsed=l.byteLength,this._stashByteStart+=u}}else this._stashUsed=0,this._stashByteStart+=u;this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var d=this._dispatchChunks(e,t);if(d<e.byteLength){var h=e.byteLength-d;h>this._bufferSize&&(this._expandBuffer(h),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e,d),0),this._stashUsed+=h,this._stashByteStart=t+d}}}else if(0===this._stashUsed){var f=this._dispatchChunks(e,t);if(f<e.byteLength){var c=e.byteLength-f;c>this._bufferSize&&this._expandBuffer(c);var _=new Uint8Array(this._stashBuffer,0,this._bufferSize);_.set(new Uint8Array(e,f),0),this._stashUsed+=c,this._stashByteStart=t+f}}else{this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength);var m=new Uint8Array(this._stashBuffer,0,this._bufferSize);m.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength;var p=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(p<this._stashUsed&&p>0){var v=new Uint8Array(this._stashBuffer,p);m.set(v,0)}this._stashUsed-=p,this._stashByteStart+=p}}}},{key:"_flushStashBuffer",value:function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),n=this._dispatchChunks(t,this._stashByteStart),i=t.byteLength-n;if(n<t.byteLength){if(!e){if(n>0){var r=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,n);r.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=n}return 0}o.default.w(this.TAG,i+" bytes unconsumed data remain when flush buffer, dropped")}return this._stashUsed=0,this._stashByteStart=0,i}return 0}},{key:"_onLoaderComplete",value:function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}},{key:"_onLoaderError",value:function(e,t){switch(o.default.e(this.TAG,"Loader error, code = "+t.code+", msg = "+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF),e){case d.LoaderErrors.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var n=this._currentRange.to+1;return void(n<this._totalLength&&(o.default.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(n,!1)))}e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF;break;case d.LoaderErrors.UNRECOVERABLE_EARLY_EOF:case d.LoaderErrors.CONNECTING_TIMEOUT:case d.LoaderErrors.HTTP_STATUS_CODE_INVALID:case d.LoaderErrors.EXCEPTION:}if(!this._onError)throw new L.RuntimeException("IOException: "+t.msg);this._onError(e,t)}},{key:"status",get:function(){return this._loader.status}},{key:"extraData",get:function(){return this._extraData},set:function(e){this._extraData=e}},{key:"onDataArrival",get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e}},{key:"onSeeked",get:function(){return this._onSeeked},set:function(e){this._onSeeked=e}},{key:"onError",get:function(){return this._onError},set:function(e){this._onError=e}},{key:"onComplete",get:function(){return this._onComplete},set:function(e){this._onComplete=e}},{key:"onRedirect",get:function(){return this._onRedirect},set:function(e){this._onRedirect=e}},{key:"onRecoveredEarlyEof",get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e}},{key:"currentURL",get:function(){return this._dataSource.url}},{key:"hasRedirect",get:function(){return null!=this._redirectedURL||void 0!=this._dataSource.redirectedURL}},{key:"currentRedirectedURL",get:function(){return this._redirectedURL||this._dataSource.redirectedURL}},{key:"currentSpeed",get:function(){return this._loaderClass===v.default?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}},{key:"loaderType",get:function(){return this._loader.type}}]),e}();n.default=R},{"../utils/exception.js":40,"../utils/logger.js":41,"./fetch-stream-loader.js":22,"./loader.js":24,
-"./param-seek-handler.js":25,"./range-seek-handler.js":26,"./speed-sampler.js":27,"./websocket-loader.js":28,"./xhr-moz-chunked-loader.js":29,"./xhr-msstream-loader.js":30,"./xhr-range-loader.js":31}],24:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0}),n.BaseLoader=n.LoaderErrors=n.LoaderStatus=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("../utils/exception.js"),a=n.LoaderStatus={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4};n.LoaderErrors={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"},n.BaseLoader=function(){function e(t){i(this,e),this._type=t||"undefined",this._status=a.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return r(e,[{key:"destroy",value:function(){this._status=a.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}},{key:"isWorking",value:function(){return this._status===a.kConnecting||this._status===a.kBuffering}},{key:"open",value:function(e,t){throw new s.NotImplementedException("Unimplemented abstract function!")}},{key:"abort",value:function(){throw new s.NotImplementedException("Unimplemented abstract function!")}},{key:"type",get:function(){return this._type}},{key:"status",get:function(){return this._status}},{key:"needStashBuffer",get:function(){return this._needStash}},{key:"onContentLengthKnown",get:function(){return this._onContentLengthKnown},set:function(e){this._onContentLengthKnown=e}},{key:"onURLRedirect",get:function(){return this._onURLRedirect},set:function(e){this._onURLRedirect=e}},{key:"onDataArrival",get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e}},{key:"onError",get:function(){return this._onError},set:function(e){this._onError=e}},{key:"onComplete",get:function(){return this._onComplete},set:function(e){this._onComplete=e}}]),e}()},{"../utils/exception.js":40}],25:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t,n){i(this,e),this._startName=t,this._endName=n}return r(e,[{key:"getConfig",value:function(e,t){var n=e;if(0!==t.from||-1!==t.to){var i=!0;-1===n.indexOf("?")&&(n+="?",i=!1),i&&(n+="&"),n+=this._startName+"="+t.from.toString(),-1!==t.to&&(n+="&"+this._endName+"="+t.to.toString())}return{url:n,headers:{}}}},{key:"removeURLParameters",value:function(e){var t=e.split("?")[0],n=void 0,i=e.indexOf("?");-1!==i&&(n=e.substring(i+1));var r="";if(void 0!=n&&n.length>0)for(var s=n.split("&"),a=0;a<s.length;a++){var o=s[a].split("="),u=a>0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+="&"),r+=s[a])}return 0===r.length?t:t+"?"+r}}]),e}();n.default=s},{}],26:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t){i(this,e),this._zeroStart=t||!1}return r(e,[{key:"getConfig",value:function(e,t){var n={};if(0!==t.from||-1!==t.to){var i=void 0;i=-1!==t.to?"bytes="+t.from.toString()+"-"+t.to.toString():"bytes="+t.from.toString()+"-",n.Range=i}else this._zeroStart&&(n.Range="bytes=0-");return{url:e,headers:n}}},{key:"removeURLParameters",value:function(e){return e}}]),e}();n.default=s},{}],27:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return r(e,[{key:"reset",value:function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}},{key:"addBytes",value:function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())}},{key:"currentKBps",get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024}},{key:"lastSecondKBps",get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}},{key:"averageKBps",get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024}}]),e}();n.default=s},{}],28:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e("../utils/logger.js"),l=(function(e){e&&e.__esModule}(u),e("./loader.js")),d=e("../utils/exception.js"),h=function(e){function t(){i(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"websocket-loader"));return e.TAG="WebSocketLoader",e._needStash=!0,e._ws=null,e._requestAbort=!1,e._receivedLength=0,e}return s(t,e),o(t,null,[{key:"isSupported",value:function(){try{return void 0!==self.WebSocket}catch(e){return!1}}}]),o(t,[{key:"destroy",value:function(){this._ws&&this.abort(),a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function(e){try{var t=this._ws=new self.WebSocket(e.url);t.binaryType="arraybuffer",t.onopen=this._onWebSocketOpen.bind(this),t.onclose=this._onWebSocketClose.bind(this),t.onmessage=this._onWebSocketMessage.bind(this),t.onerror=this._onWebSocketError.bind(this),this._status=l.LoaderStatus.kConnecting}catch(e){this._status=l.LoaderStatus.kError;var n={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(n.msg);this._onError(l.LoaderErrors.EXCEPTION,n)}}},{key:"abort",value:function(){var e=this._ws;!e||0!==e.readyState&&1!==e.readyState||(this._requestAbort=!0,e.close()),this._ws=null,this._status=l.LoaderStatus.kComplete}},{key:"_onWebSocketOpen",value:function(e){this._status=l.LoaderStatus.kBuffering}},{key:"_onWebSocketClose",value:function(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status=l.LoaderStatus.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}},{key:"_onWebSocketMessage",value:function(e){var t=this;if(e.data instanceof ArrayBuffer)this._dispatchArrayBuffer(e.data);else if(e.data instanceof Blob){var n=new FileReader;n.onload=function(){t._dispatchArrayBuffer(n.result)},n.readAsArrayBuffer(e.data)}else{this._status=l.LoaderStatus.kError;var i={code:-1,msg:"Unsupported WebSocket message type: "+e.data.constructor.name};if(!this._onError)throw new d.RuntimeException(i.msg);this._onError(l.LoaderErrors.EXCEPTION,i)}}},{key:"_dispatchArrayBuffer",value:function(e){var t=e,n=this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}},{key:"_onWebSocketError",value:function(e){this._status=l.LoaderStatus.kError;var t={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(t.msg);this._onError(l.LoaderErrors.EXCEPTION,t)}}]),t}(l.BaseLoader);n.default=h},{"../utils/exception.js":40,"../utils/logger.js":41,"./loader.js":24}],29:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e("../utils/logger.js"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e("./loader.js"),f=e("../utils/exception.js"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-moz-chunked-loader"));return s.TAG="MozChunkedLoader",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._requestAbort=!1,s._contentLength=null,s._receivedLength=0,s}return s(t,e),u(t,null,[{key:"isSupported",value:function(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="moz-chunked-arraybuffer","moz-chunked-arraybuffer"===e.responseType}catch(e){return d.default.w("MozChunkedLoader",e.message),!1}}}]),u(t,[{key:"destroy",value:function(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function(e,t){this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(n=e.redirectedURL);var i=this._seekHandler.getConfig(n,t);this._requestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",i.url,!0),r.responseType="moz-chunked-arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onloadend=this._onLoadEnd.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"===a(i.headers)){var s=i.headers;for(var o in s)s.hasOwnProperty(o)&&r.setRequestHeader(o,s[o])}if("object"===a(this._config.headers)){var u=this._config.headers;for(var l in u)u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}this._status=h.LoaderStatus.kConnecting,r.send()}},{key:"abort",value:function(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=h.LoaderStatus.kComplete}},{key:"_onReadyStateChange",value:function(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL&&t.responseURL!==this._requestURL&&this._onURLRedirect){var n=this._seekHandler.removeURLParameters(t.responseURL);this._onURLRedirect(n)}if(0!==t.status&&(t.status<200||t.status>299)){if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException("MozChunkedLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=h.LoaderStatus.kBuffering}}},{key:"_onProgress",value:function(e){if(this._status!==h.LoaderStatus.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,n=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}}},{key:"_onLoadEnd",value:function(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status!==h.LoaderStatus.kError&&(this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}},{key:"_onXhrError",value:function(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&e.loaded<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{"../utils/exception.js":40,"../utils/logger.js":41,"./loader.js":24}],30:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e("../utils/logger.js"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e("./loader.js"),f=e("../utils/exception.js"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-msstream-loader"));return s.TAG="MSStreamLoader",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._reader=null,s._totalRange=null,s._currentRange=null,s._currentRequestURL=null,s._currentRedirectedURL=null,s._contentLength=null,s._receivedLength=0,s._bufferLimit=16777216,s._lastTimeBufferSize=0,s._isReconnecting=!1,s}return s(t,e),u(t,null,[{key:"isSupported",value:function(){try{if(void 0===self.MSStream||void 0===self.MSStreamReader)return!1;var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="ms-stream","ms-stream"===e.responseType}catch(e){return d.default.w("MSStreamLoader",e.message),!1}}}]),u(t,[{key:"destroy",value:function(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function(e,t){this._internalOpen(e,t,!1)}},{key:"_internalOpen",value:function(e,t,n){this._dataSource=e,n?this._currentRange=t:this._totalRange=t;var i=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?i=this._currentRedirectedURL:void 0!=e.redirectedURL&&(i=e.redirectedURL));var r=this._seekHandler.getConfig(i,t);this._currentRequestURL=r.url;var s=this._reader=new self.MSStreamReader;s.onprogress=this._msrOnProgress.bind(this),s.onload=this._msrOnLoad.bind(this),s.onerror=this._msrOnError.bind(this);var o=this._xhr=new XMLHttpRequest;if(o.open("GET",r.url,!0),o.responseType="ms-stream",o.onreadystatechange=this._xhrOnReadyStateChange.bind(this),o.onerror=this._xhrOnError.bind(this),e.withCredentials&&(o.withCredentials=!0),"object"===a(r.headers)){var u=r.headers;for(var l in u)u.hasOwnProperty(l)&&o.setRequestHeader(l,u[l])}if("object"===a(this._config.headers)){var d=this._config.headers;for(var f in d)d.hasOwnProperty(f)&&o.setRequestHeader(f,d[f])}this._isReconnecting?this._isReconnecting=!1:this._status=h.LoaderStatus.kConnecting,o.send()}},{key:"abort",value:function(){this._internalAbort(),this._status=h.LoaderStatus.kComplete}},{key:"_internalAbort",value:function(){this._reader&&(1===this._reader.readyState&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}},{key:"_xhrOnReadyStateChange",value:function(e){var t=e.target;if(2===t.readyState)if(t.status>=200&&t.status<=299){if(this._status=h.LoaderStatus.kBuffering,void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}var i=t.getResponseHeader("Content-Length");if(null!=i&&null==this._contentLength){var r=parseInt(i);r>0&&(this._contentLength=r,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else{if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException("MSStreamLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else if(3===t.readyState&&t.status>=200&&t.status<=299){this._status=h.LoaderStatus.kBuffering;var s=t.response;this._reader.readAsArrayBuffer(s)}}},{key:"_xhrOnError",value:function(e){this._status=h.LoaderStatus.kError;var t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type};if(!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}},{key:"_msrOnProgress",value:function(e){var t=e.target,n=t.result;if(null==n)return void this._doReconnectIfNeeded();var i=n.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=n.byteLength;var r=this._totalRange.from+this._receivedLength;this._receivedLength+=i.byteLength,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),n.byteLength>=this._bufferLimit&&(d.default.v(this.TAG,"MSStream buffer exceeded max size near "+(r+i.byteLength)+", reconnecting..."),this._doReconnectIfNeeded())}},{key:"_doReconnectIfNeeded",value:function(){if(null==this._contentLength||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();var e={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,e,!0)}}},{key:"_msrOnLoad",value:function(e){this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}},{key:"_msrOnError",value:function(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:"MSStream meet Early-Eof"}):(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{"../utils/exception.js":40,"../utils/logger.js":41,"./loader.js":24}],31:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if("value"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e("../utils/logger.js"),h=i(d),f=e("./speed-sampler.js"),c=i(f),_=e("./loader.js"),m=e("../utils/exception.js"),p=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"xhr-range-loader"));return i.TAG="RangeLoader",i._seekHandler=e,i._config=n,i._needStash=!1,i._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],i._currentChunkSizeKB=384,i._currentSpeedNormalized=0,i._zeroSpeedChunkCount=0,i._xhr=null,i._speedSampler=new c.default,i._requestAbort=!1,i._waitForTotalLength=!1,i._totalLengthReceived=!1,i._currentRequestURL=null,i._currentRedirectedURL=null,i._currentRequestRange=null,i._totalLength=null,i._contentLength=null,i._receivedLength=0,i._lastTimeLoaded=0,i}return a(t,e),l(t,null,[{key:"isSupported",value:function(){try{var e=new XMLHttpRequest;return e.open("GET","https://example.com",!0),e.responseType="arraybuffer","arraybuffer"===e.responseType}catch(e){return h.default.w("RangeLoader",e.message),!1}}}]),l(t,[{key:"destroy",value:function(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"destroy",this).call(this)}},{key:"open",value:function(e,t){this._dataSource=e,this._range=t,this._status=_.LoaderStatus.kConnecting;var n=!1;void 0!=this._dataSource.filesize&&0!==this._dataSource.filesize&&(n=!0,this._totalLength=this._dataSource.filesize),this._totalLengthReceived||n?this._openSubRange():(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1}))}},{key:"_openSubRange",value:function(){var e=1024*this._currentChunkSizeKB,t=this._range.from+this._receivedLength,n=t+e;null!=this._contentLength&&n-this._range.from>=this._contentLength&&(n=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:n},this._internalOpen(this._dataSource,this._currentRequestRange)}},{key:"_internalOpen",value:function(e,t){this._lastTimeLoaded=0;var n=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?n=this._currentRedirectedURL:void 0!=e.redirectedURL&&(n=e.redirectedURL));var i=this._seekHandler.getConfig(n,t);this._currentRequestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open("GET",i.url,!0),r.responseType="arraybuffer",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onload=this._onLoad.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),"object"===o(i.headers)){var s=i.headers;for(var a in s)s.hasOwnProperty(a)&&r.setRequestHeader(a,s[a])}if("object"===o(this._config.headers)){var u=this._config.headers;for(var l in u)u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}r.send()}},{key:"abort",value:function(){this._requestAbort=!0,this._internalAbort(),this._status=_.LoaderStatus.kComplete}},{key:"_internalAbort",value:function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}},{key:"_onReadyStateChange",value:function(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=_.LoaderStatus.kBuffering}else{if(this._status=_.LoaderStatus.kError,!this._onError)throw new m.RuntimeException("RangeLoader: Http code invalid, "+t.status+" "+t.statusText);this._onError(_.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}}},{key:"_onProgress",value:function(e){if(this._status!==_.LoaderStatus.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var n=e.total;this._internalAbort(),null!=n&0!==n&&(this._totalLength=n)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var i=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(i)}}},{key:"_normalizeSpeed",value:function(e){var t=this._chunkSizeKBList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:"_onLoad",value:function(e){if(this._status!==_.LoaderStatus.kError){if(this._waitForTotalLength)return void(this._waitForTotalLength=!1);this._lastTimeLoaded=0;var t=this._speedSampler.lastSecondKBps;if(0===t&&++this._zeroSpeedChunkCount>=3&&(t=this._speedSampler.currentKBps),0!==t){var n=this._normalizeSpeed(t);this._currentSpeedNormalized!==n&&(this._currentSpeedNormalized=n,this._currentChunkSizeKB=n)}var i=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=i.byteLength;var s=!1;null!=this._contentLength&&this._receivedLength<this._contentLength?this._openSubRange():s=!0,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),s&&(this._status=_.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}}},{key:"_onXhrError",value:function(e){this._status=_.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(t=_.LoaderErrors.EARLY_EOF,n={code:-1,msg:"RangeLoader meet Early-Eof"}):(t=_.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+" "+e.type}),!this._onError)throw new m.RuntimeException(n.msg);this._onError(t,n)}},{key:"currentSpeed",get:function(){return this._speedSampler.lastSecondKBps}}]),t}(_.BaseLoader);n.default=p},{"../utils/exception.js":40,"../utils/logger.js":41,"./loader.js":24,"./speed-sampler.js":27}],32:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e("events"),u=i(o),l=e("../utils/logger.js"),d=i(l),h=e("../utils/browser.js"),f=i(h),c=e("./player-events.js"),_=i(c),m=e("../core/transmuxer.js"),p=i(m),v=e("../core/transmuxing-events.js"),g=i(v),y=e("../core/mse-controller.js"),E=i(y),b=e("../core/mse-events.js"),S=i(b),k=e("./player-errors.js"),L=e("../config.js"),R=e("../utils/exception.js"),A=function(){function e(t,n){if(r(this,e),this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new u.default,this._config=(0,L.createDefaultConfig)(),"object"===(void 0===n?"undefined":s(n))&&Object.assign(this._config,n),"flv"!==t.type.toLowerCase())throw new R.InvalidArgumentException("FlvPlayer requires an flv MediaDataSource input!");!0===t.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=t,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var i=f.default.chrome&&(f.default.version.major<50||50===f.default.version.major&&f.default.version.build<2661);this._alwaysSeekKeyframe=!!(i||f.default.msedge||f.default.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return a(e,[{key:"destroy",value:function(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function(e,t){var n=this;e===_.default.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.MEDIA_INFO,n.mediaInfo)}):e===_.default.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:"off",value:function(e,t){this._emitter.removeListener(e,t)}},{
-key:"attachMediaElement",value:function(e){var t=this;if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),e.addEventListener("seeking",this.e.onvSeeking),e.addEventListener("canplay",this.e.onvCanPlay),e.addEventListener("stalled",this.e.onvStalled),e.addEventListener("progress",this.e.onvProgress),this._msectl=new E.default(this._config),this._msectl.on(S.default.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(S.default.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(S.default.SOURCE_OPEN,function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())}),this._msectl.on(S.default.ERROR,function(e){t._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,k.ErrorDetails.MEDIA_MSE_ERROR,e)}),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:"detachMediaElement",value:function(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}},{key:"load",value:function(){var e=this;if(!this._mediaElement)throw new R.IllegalStateException("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new R.IllegalStateException("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened)return void(this._hasPendingLoad=!0);this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new p.default(this._mediaDataSource,this._config),this._transmuxer.on(g.default.INIT_SEGMENT,function(t,n){e._msectl.appendInitSegment(n)}),this._transmuxer.on(g.default.MEDIA_SEGMENT,function(t,n){if(e._msectl.appendMediaSegment(n),e._config.lazyLoad&&!e._config.isLive){var i=e._mediaElement.currentTime;n.info.endDts>=1e3*(i+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(d.default.v(e.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),e._suspendTransmuxer())}}),this._transmuxer.on(g.default.LOADING_COMPLETE,function(){e._msectl.endOfStream(),e._emitter.emit(_.default.LOADING_COMPLETE)}),this._transmuxer.on(g.default.RECOVERED_EARLY_EOF,function(){e._emitter.emit(_.default.RECOVERED_EARLY_EOF)}),this._transmuxer.on(g.default.IO_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.NETWORK_ERROR,t,n)}),this._transmuxer.on(g.default.DEMUX_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,t,{code:-1,msg:n})}),this._transmuxer.on(g.default.MEDIA_INFO,function(t){e._mediaInfo=t,e._emitter.emit(_.default.MEDIA_INFO,Object.assign({},t))}),this._transmuxer.on(g.default.METADATA_ARRIVED,function(t){e._emitter.emit(_.default.METADATA_ARRIVED,t)}),this._transmuxer.on(g.default.SCRIPTDATA_ARRIVED,function(t){e._emitter.emit(_.default.SCRIPTDATA_ARRIVED,t)}),this._transmuxer.on(g.default.STATISTICS_INFO,function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(_.default.STATISTICS_INFO,Object.assign({},e._statisticsInfo))}),this._transmuxer.on(g.default.RECOMMEND_SEEKPOINT,function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)}),this._transmuxer.open()}}},{key:"unload",value:function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}},{key:"play",value:function(){return this._mediaElement.play()}},{key:"pause",value:function(){this._mediaElement.pause()}},{key:"_fillStatisticsInfo",value:function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}},{key:"_onmseUpdateEnd",value:function(){if(this._config.lazyLoad&&!this._config.isLive){for(var e=this._mediaElement.buffered,t=this._mediaElement.currentTime,n=0,i=0;i<e.length;i++){var r=e.start(i),s=e.end(i);if(r<=t&&t<s){r,n=s;break}}n>=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(d.default.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}},{key:"_onmseBufferFull",value:function(){d.default.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),null==this._progressChecker&&this._suspendTransmuxer()}},{key:"_suspendTransmuxer",value:function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}},{key:"_checkProgressAndResume",value:function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,n=!1,i=0;i<t.length;i++){var r=t.start(i),s=t.end(i);if(e>=r&&e<s){e>=s-this._config.lazyLoadRecoverDuration&&(n=!0);break}}n&&(window.clearInterval(this._progressChecker),this._progressChecker=null,n&&(d.default.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}},{key:"_isTimepointBuffered",value:function(e){for(var t=this._mediaElement.buffered,n=0;n<t.length;n++){var i=t.start(n),r=t.end(n);if(e>=i&&e<r)return!0}return!1}},{key:"_internalSeek",value:function(e){var t=this._isTimepointBuffered(e),n=!1,i=0;if(e<1&&this._mediaElement.buffered.length>0){var r=this._mediaElement.buffered.start(0);(r<1&&e<r||f.default.safari)&&(n=!0,i=f.default.safari?.1:r)}if(n)this._requestSetTime=!0,this._mediaElement.currentTime=i;else if(t){if(this._alwaysSeekKeyframe){var s=this._msectl.getNearestKeyframe(Math.floor(1e3*e));this._requestSetTime=!0,this._mediaElement.currentTime=null!=s?s.dts/1e3:e}else this._requestSetTime=!0,this._mediaElement.currentTime=e;null!=this._progressChecker&&this._checkProgressAndResume()}else null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e)}},{key:"_checkAndApplyUnbufferedSeekpoint",value:function(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){var e=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(e)||(null!=this._progressChecker&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:"_checkAndResumeStuckPlayback",value:function(e){var t=this._mediaElement;if(e||!this._receivedCanPlay||t.readyState<2){var n=t.buffered;n.length>0&&t.currentTime<n.start(0)&&(d.default.w(this.TAG,"Playback seems stuck at "+t.currentTime+", seek to "+n.start(0)),this._requestSetTime=!0,this._mediaElement.currentTime=n.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}},{key:"_onvLoadedMetadata",value:function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}},{key:"_onvSeeking",value:function(e){var t=this._mediaElement.currentTime,n=this._mediaElement.buffered;if(this._requestSetTime)return void(this._requestSetTime=!1);if(t<1&&n.length>0){var i=n.start(0);if(i<1&&t<i||f.default.safari)return this._requestSetTime=!0,void(this._mediaElement.currentTime=f.default.safari?.1:i)}if(this._isTimepointBuffered(t)){if(this._alwaysSeekKeyframe){var r=this._msectl.getNearestKeyframe(Math.floor(1e3*t));null!=r&&(this._requestSetTime=!0,this._mediaElement.currentTime=r.dts/1e3)}return void(null!=this._progressChecker&&this._checkProgressAndResume())}this._seekpointRecord={seekPoint:t,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:"_onvCanPlay",value:function(e){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}},{key:"_onvStalled",value:function(e){this._checkAndResumeStuckPlayback(!0)}},{key:"_onvProgress",value:function(e){this._checkAndResumeStuckPlayback()}},{key:"type",get:function(){return this._type}},{key:"buffered",get:function(){return this._mediaElement.buffered}},{key:"duration",get:function(){return this._mediaElement.duration}},{key:"volume",get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e}},{key:"muted",get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e}},{key:"currentTime",get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e}},{key:"mediaInfo",get:function(){return Object.assign({},this._mediaInfo)}},{key:"statisticsInfo",get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}}]),e}();n.default=A},{"../config.js":5,"../core/mse-controller.js":9,"../core/mse-events.js":10,"../core/transmuxer.js":11,"../core/transmuxing-events.js":13,"../utils/browser.js":39,"../utils/exception.js":40,"../utils/logger.js":41,"./player-errors.js":34,"./player-events.js":35,events:2}],33:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e("events"),u=i(o),l=e("./player-events.js"),d=i(l),h=e("../config.js"),f=e("../utils/exception.js"),c=function(){function e(t,n){if(r(this,e),this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new u.default,this._config=(0,h.createDefaultConfig)(),"object"===(void 0===n?"undefined":s(n))&&Object.assign(this._config,n),"flv"===t.type.toLowerCase())throw new f.InvalidArgumentException("NativePlayer does't support flv MediaDataSource input!");if(t.hasOwnProperty("segments"))throw new f.InvalidArgumentException("NativePlayer("+t.type+") doesn't support multipart playback!");this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=t,this._mediaElement=null}return a(e,[{key:"destroy",value:function(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:"on",value:function(e,t){var n=this;e===d.default.MEDIA_INFO?null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.MEDIA_INFO,n.mediaInfo)}):e===d.default.STATISTICS_INFO&&null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:"off",value:function(e,t){this._emitter.removeListener(e,t)}},{key:"attachMediaElement",value:function(e){if(this._mediaElement=e,e.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:"detachMediaElement",value:function(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"load",value:function(){if(!this._mediaElement)throw new f.IllegalStateException("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}},{key:"unload",value:function(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:"play",value:function(){return this._mediaElement.play()}},{key:"pause",value:function(){this._mediaElement.pause()}},{key:"_onvLoadedMetadata",value:function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(d.default.MEDIA_INFO,this.mediaInfo)}},{key:"_reportStatisticsInfo",value:function(){this._emitter.emit(d.default.STATISTICS_INFO,this.statisticsInfo)}},{key:"type",get:function(){return this._type}},{key:"buffered",get:function(){return this._mediaElement.buffered}},{key:"duration",get:function(){return this._mediaElement.duration}},{key:"volume",get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e}},{key:"muted",get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e}},{key:"currentTime",get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e}},{key:"mediaInfo",get:function(){var e=this._mediaElement instanceof HTMLAudioElement?"audio/":"video/",t={mimeType:e+this._mediaDataSource.type};return this._mediaElement&&(t.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(t.width=this._mediaElement.videoWidth,t.height=this._mediaElement.videoHeight)),t}},{key:"statisticsInfo",get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}}]),e}();n.default=c},{"../config.js":5,"../utils/exception.js":40,"./player-events.js":35,events:2}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ErrorDetails=n.ErrorTypes=void 0;var i=e("../io/loader.js"),r=e("../demux/demux-errors.js"),s=function(e){return e&&e.__esModule?e:{default:e}}(r);n.ErrorTypes={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},n.ErrorDetails={NETWORK_EXCEPTION:i.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:i.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:i.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:i.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:s.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:s.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:s.default.CODEC_UNSUPPORTED}},{"../demux/demux-errors.js":16,"../io/loader.js":24}],35:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};n.default=i},{}],36:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:"getSilentFrame",value:function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),e}();n.default=s},{}],37:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:"init",value:function(){e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(var t in e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var n=e.constants={};n.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),n.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),n.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),n.STSC=n.STCO=n.STTS,n.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),n.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),n.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),n.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}},{key:"box",value:function(e){for(var t=8,n=null,i=Array.prototype.slice.call(arguments,1),r=i.length,s=0;s<r;s++)t+=i[s].byteLength;n=new Uint8Array(t),n[0]=t>>>24&255,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n.set(e,4);for(var a=8,o=0;o<r;o++)n.set(i[o],a),a+=i[o].byteLength;return n}},{key:"generateInitSegment",value:function(t){var n=e.box(e.types.ftyp,e.constants.FTYP),i=e.moov(t),r=new Uint8Array(n.byteLength+i.byteLength);return r.set(n,0),r.set(i,n.byteLength),r}},{key:"moov",value:function(t){var n=e.mvhd(t.timescale,t.duration),i=e.trak(t),r=e.mvex(t);return e.box(e.types.moov,n,i,r)}},{key:"mvhd",value:function(t,n){return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,1,0,0,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,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,255,255,255]))}},{key:"trak",value:function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))}},{key:"tkhd",value:function(t){var n=t.id,i=t.duration,r=t.presentWidth,s=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,s>>>8&255,255&s,0,0]))}},{key:"mdia",value:function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))}},{key:"mdhd",value:function(t){var n=t.timescale,i=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}},{key:"hdlr",value:function(t){var n=null;return n="audio"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,n)}},{key:"minf",value:function(t){var n=null;return n="audio"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,n,e.dinf(),e.stbl(t))}},{key:"dinf",value:function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))}},{key:"stbl",value:function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))}},{key:"stsd",value:function(t){return"audio"===t.type?"mp3"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))}},{key:"mp3",value:function(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types[".mp3"],r)}},{key:"mp4a",value:function(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types.mp4a,r,e.esds(t))}},{key:"esds",value:function(t){var n=t.config||[],i=n.length,r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(n).concat([6,1,2]));return e.box(e.types.esds,r)}},{key:"avc1",value:function(t){var n=t.avcc,i=t.codecWidth,r=t.codecHeight,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,s,e.box(e.types.avcC,n))}},{key:"mvex",value:function(t){return e.box(e.types.mvex,e.trex(t))}},{key:"trex",value:function(t){var n=t.id,i=new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,i)}},{key:"moof",value:function(t,n){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,n))}},{key:"mfhd",value:function(t){var n=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,n)}},{key:"traf",value:function(t,n){var i=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.sdtp(t),o=e.trun(t,a.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,s,o,a)}},{key:"sdtp",value:function(t){for(var n=t.samples||[],i=n.length,r=new Uint8Array(4+i),s=0;s<i;s++){var a=n[s].flags;r[s+4]=a.isLeading<<6|a.dependsOn<<4|a.isDependedOn<<2|a.hasRedundancy}return e.box(e.types.sdtp,r)}},{key:"trun",value:function(t,n){var i=t.samples||[],r=i.length,s=12+16*r,a=new Uint8Array(s);n+=8+s,a.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n],0);for(var o=0;o<r;o++){var u=i[o].duration,l=i[o].size,d=i[o].flags,h=i[o].cts;a.set([u>>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.isNonSync,0,0,h>>>24&255,h>>>16&255,h>>>8&255,255&h],12+16*o)}return e.box(e.types.trun,a)}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}}]),e}();s.init(),n.default=s},{}],38:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("../utils/logger.js"),o=i(a),u=e("./mp4-generator.js"),l=i(u),d=e("./aac-silent.js"),h=i(d),f=e("../utils/browser.js"),c=i(f),_=e("../core/media-segment-info.js"),m=e("../utils/exception.js"),p=function(){function e(t){r(this,e),this.TAG="MP4Remuxer",this._config=t,this._isLive=!0===t.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new _.MediaSegmentInfoList("audio"),this._videoSegmentInfoList=new _.MediaSegmentInfoList("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!c.default.chrome||!(c.default.version.major<50||50===c.default.version.major&&c.default.version.build<2661)),this._fillSilentAfterSeek=c.default.msedge||c.default.msie,this._mp3UseMpegAudio=!c.default.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return s(e,[{key:"destroy",value:function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}},{key:"bindDataSource",value:function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}},{key:"insertDiscontinuity",value:function(){this._audioNextDts=this._videoNextDts=void 0}},{key:"seek",value:function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}},{key:"remux",value:function(e,t){if(!this._onMediaSegment)throw new m.IllegalStateException("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(e,t),this._remuxVideo(t),this._remuxAudio(e)}},{key:"_onTrackMetadataReceived",value:function(e,t){var n=null,i="mp4",r=t.codec;if("audio"===e)this._audioMeta=t,"mp3"===t.codec&&this._mp3UseMpegAudio?(i="mpeg",r="",n=new Uint8Array):n=l.default.generateInitSegment(t);else{if("video"!==e)return;this._videoMeta=t,n=l.default.generateInitSegment(t)}if(!this._onInitSegment)throw new m.IllegalStateException("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(e,{type:e,data:n.buffer,codec:r,container:e+"/"+i,mediaDuration:t.duration})}},{key:"_calculateDtsBase",value:function(e,t){this._dtsBaseInited||(e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}},{key:"flushStashedSamples",value:function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,n={type:"video",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(n.samples.push(e),n.length=e.length);var i={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(i.samples.push(t),i.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(n,!0),this._remuxAudio(i,!0)}},{key:"_remuxAudio",value:function(e,t){if(null!=this._audioMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,u=this._audioMeta.refSampleDuration,d="mp3"===this._audioMeta.codec&&this._mp3UseMpegAudio,f=this._dtsBaseInited&&void 0===this._audioNextDts,m=!1;if(i&&0!==i.length&&(1!==i.length||t)){var p=0,v=null,g=0;d?(p=0,g=n.length):(p=8,g=8+n.length);var y=null;if(i.length>1&&(y=i.pop(),g-=y.length),null!=this._audioStashedLastSample){var E=this._audioStashedLastSample;this._audioStashedLastSample=null,i.unshift(E),g+=E.length}null!=y&&(this._audioStashedLastSample=y);var b=i[0].dts-this._dtsBase;if(this._audioNextDts)r=b-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())r=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&"mp3"!==this._audioMeta.originalCodec&&(m=!0);else{var S=this._audioSegmentInfoList.getLastSampleBefore(b);if(null!=S){var k=b-(S.originalDts+S.duration);k<=3&&(k=0);var L=S.dts+S.duration+k;r=b-L}else r=0}if(m){var R=b-r,A=this._videoSegmentInfoList.getLastSegmentBefore(b);if(null!=A&&A.beginDts<R){var w=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(w){var T=A.beginDts,O=R-A.beginDts;o.default.v(this.TAG,"InsertPrefixSilentAudio: dts: "+T+", duration: "+O),i.unshift({unit:w,dts:T,pts:T}),g+=w.byteLength}}else m=!1}for(var C=[],I=0;I<i.length;I++){var D=i[I],x=D.unit,M=D.dts-this._dtsBase,B=M-r;-1===s&&(s=B);var j=0;if(I!==i.length-1){j=i[I+1].dts-this._dtsBase-r-B}else if(null!=y){var P=y.dts-this._dtsBase-r;j=P-B}else j=C.length>=1?C[C.length-1].duration:Math.floor(u);var U=!1,N=null;if(j>1.5*u&&"mp3"!==this._audioMeta.codec&&this._fillAudioTimestampGap&&!c.default.safari){U=!0;var F=Math.abs(j-u),G=Math.ceil(F/u),V=B+u;o.default.w(this.TAG,"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\ndts: "+(B+j)+" ms, expected: "+(B+Math.round(u))+" ms, delta: "+Math.round(F)+" ms, generate: "+G+" frames");var z=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);null==z&&(o.default.w(this.TAG,"Unable to generate silent frame for "+this._audioMeta.originalCodec+" with "+this._audioMeta.channelCount+" channels, repeat last frame"),z=x),N=[];for(var H=0;H<G;H++){var K=Math.round(V);if(N.length>0){var q=N[N.length-1];q.duration=K-q.dts}var W={dts:K,pts:K,cts:0,unit:z,size:z.byteLength,duration:0,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};N.push(W),g+=W.size,V+=u}var X=N[N.length-1];X.duration=B+j-X.dts,j=Math.round(u)}C.push({dts:B,pts:B,cts:0,unit:D.unit,size:D.unit.byteLength,duration:j,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),U&&C.push.apply(C,N)}d?v=new Uint8Array(g):(v=new Uint8Array(g),v[0]=g>>>24&255,v[1]=g>>>16&255,v[2]=g>>>8&255,v[3]=255&g,v.set(l.default.types.mdat,4));for(var Y=0;Y<C.length;Y++){var Z=C[Y].unit;v.set(Z,p),p+=Z.byteLength}var Q=C[C.length-1];a=Q.dts+Q.duration,this._audioNextDts=a;var J=new _.MediaSegmentInfo;J.beginDts=s,J.endDts=a,J.beginPts=s,J.endPts=a,J.originalBeginDts=C[0].originalDts,J.originalEndDts=Q.originalDts+Q.duration,
-J.firstSample=new _.SampleInfo(C[0].dts,C[0].pts,C[0].duration,C[0].originalDts,!1),J.lastSample=new _.SampleInfo(Q.dts,Q.pts,Q.duration,Q.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(J),n.samples=C,n.sequenceNumber++;var $=null;$=d?new Uint8Array:l.default.moof(n,s),n.samples=[],n.length=0;var ee={type:"audio",data:this._mergeBoxes($,v).buffer,sampleCount:C.length,info:J};d&&f&&(ee.timestampOffset=s),this._onMediaSegment("audio",ee)}}}},{key:"_remuxVideo",value:function(e,t){if(null!=this._videoMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,o=-1,u=-1;if(i&&0!==i.length&&(1!==i.length||t)){var d=8,h=null,f=8+e.length,c=null;if(i.length>1&&(c=i.pop(),f-=c.length),null!=this._videoStashedLastSample){var m=this._videoStashedLastSample;this._videoStashedLastSample=null,i.unshift(m),f+=m.length}null!=c&&(this._videoStashedLastSample=c);var p=i[0].dts-this._dtsBase;if(this._videoNextDts)r=p-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())r=0;else{var v=this._videoSegmentInfoList.getLastSampleBefore(p);if(null!=v){var g=p-(v.originalDts+v.duration);g<=3&&(g=0);var y=v.dts+v.duration+g;r=p-y}else r=0}for(var E=new _.MediaSegmentInfo,b=[],S=0;S<i.length;S++){var k=i[S],L=k.dts-this._dtsBase,R=k.isKeyframe,A=L-r,w=k.cts,T=A+w;-1===s&&(s=A,o=T);var O=0;if(S!==i.length-1){O=i[S+1].dts-this._dtsBase-r-A}else if(null!=c){var C=c.dts-this._dtsBase-r;O=C-A}else O=b.length>=1?b[b.length-1].duration:Math.floor(this._videoMeta.refSampleDuration);if(R){var I=new _.SampleInfo(A,T,O,k.dts,!0);I.fileposition=k.fileposition,E.appendSyncPoint(I)}b.push({dts:A,pts:T,cts:w,units:k.units,size:k.length,isKeyframe:R,duration:O,originalDts:L,flags:{isLeading:0,dependsOn:R?2:1,isDependedOn:R?1:0,hasRedundancy:0,isNonSync:R?0:1}})}h=new Uint8Array(f),h[0]=f>>>24&255,h[1]=f>>>16&255,h[2]=f>>>8&255,h[3]=255&f,h.set(l.default.types.mdat,4);for(var D=0;D<b.length;D++)for(var x=b[D].units;x.length;){var M=x.shift(),B=M.data;h.set(B,d),d+=B.byteLength}var j=b[b.length-1];if(a=j.dts+j.duration,u=j.pts+j.duration,this._videoNextDts=a,E.beginDts=s,E.endDts=a,E.beginPts=o,E.endPts=u,E.originalBeginDts=b[0].originalDts,E.originalEndDts=j.originalDts+j.duration,E.firstSample=new _.SampleInfo(b[0].dts,b[0].pts,b[0].duration,b[0].originalDts,b[0].isKeyframe),E.lastSample=new _.SampleInfo(j.dts,j.pts,j.duration,j.originalDts,j.isKeyframe),this._isLive||this._videoSegmentInfoList.append(E),n.samples=b,n.sequenceNumber++,this._forceFirstIDR){var P=b[0].flags;P.dependsOn=2,P.isNonSync=0}var U=l.default.moof(n,s);n.samples=[],n.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(U,h).buffer,sampleCount:b.length,info:E})}}}},{key:"_mergeBoxes",value:function(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n}},{key:"onInitSegment",get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e}},{key:"onMediaSegment",get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e}}]),e}();n.default=p},{"../core/media-segment-info.js":8,"../utils/browser.js":39,"../utils/exception.js":40,"../utils/logger.js":41,"./aac-silent.js":36,"./mp4-generator.js":37}],39:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(iemobile)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",majorVersion:t[4]||t[2]||"0",platform:n[0]||""},s={};if(r.browser){s[r.browser]=!0;var a=r.majorVersion.split(".");s.version={major:parseInt(r.majorVersion,10),string:r.version},a.length>1&&(s.version.minor=parseInt(a[1],10)),a.length>2&&(s.version.build=parseInt(a[2],10))}r.platform&&(s[r.platform]=!0),(s.chrome||s.opr||s.safari)&&(s.webkit=!0),(s.rv||s.iemobile)&&(s.rv&&delete s.rv,r.browser="msie",s.msie=!0),s.edge&&(delete s.edge,r.browser="msedge",s.msedge=!0),s.opr&&(r.browser="opera",s.opera=!0),s.safari&&s.android&&(r.browser="android",s.android=!0),s.name=r.browser,s.platform=r.platform;for(var o in i)i.hasOwnProperty(o)&&delete i[o];Object.assign(i,s)}(),n.default=i},{}],40:[function(e,t,n){"use strict";function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=n.RuntimeException=function(){function e(t){s(this,e),this._message=t}return a(e,[{key:"toString",value:function(){return this.name+": "+this.message}},{key:"name",get:function(){return"RuntimeException"}},{key:"message",get:function(){return this._message}}]),e}();n.IllegalStateException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function(){return"IllegalStateException"}}]),t}(o),n.InvalidArgumentException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function(){return"InvalidArgumentException"}}]),t}(o),n.NotImplementedException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:"name",get:function(){return"NotImplementedException"}}]),t}(o)},{}],41:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e("events"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:"e",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","error",i),e.ENABLE_ERROR&&(console.error?console.error(i):console.warn?console.warn(i):console.log(i))}},{key:"i",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","info",i),e.ENABLE_INFO&&(console.info?console.info(i):console.log(i))}},{key:"w",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","warn",i),e.ENABLE_WARN&&(console.warn?console.warn(i):console.log(i))}},{key:"d",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","debug",i),e.ENABLE_DEBUG&&(console.debug?console.debug(i):console.log(i))}},{key:"v",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i="["+t+"] > "+n;e.ENABLE_CALLBACK&&e.emitter.emit("log","verbose",i),e.ENABLE_VERBOSE&&console.log(i)}}]),e}();o.GLOBAL_TAG="flv.js",o.FORCE_GLOBAL_TAG=!1,o.ENABLE_ERROR=!0,o.ENABLE_INFO=!0,o.ENABLE_WARN=!0,o.ENABLE_DEBUG=!0,o.ENABLE_VERBOSE=!0,o.ENABLE_CALLBACK=!1,o.emitter=new a.default,n.default=o},{events:2}],42:[function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e("events"),o=i(a),u=e("./logger.js"),l=i(u),d=function(){function e(){r(this,e)}return s(e,null,[{key:"getConfig",value:function(){return{globalTag:l.default.GLOBAL_TAG,forceGlobalTag:l.default.FORCE_GLOBAL_TAG,enableVerbose:l.default.ENABLE_VERBOSE,enableDebug:l.default.ENABLE_DEBUG,enableInfo:l.default.ENABLE_INFO,enableWarn:l.default.ENABLE_WARN,enableError:l.default.ENABLE_ERROR,enableCallback:l.default.ENABLE_CALLBACK}}},{key:"applyConfig",value:function(e){l.default.GLOBAL_TAG=e.globalTag,l.default.FORCE_GLOBAL_TAG=e.forceGlobalTag,l.default.ENABLE_VERBOSE=e.enableVerbose,l.default.ENABLE_DEBUG=e.enableDebug,l.default.ENABLE_INFO=e.enableInfo,l.default.ENABLE_WARN=e.enableWarn,l.default.ENABLE_ERROR=e.enableError,l.default.ENABLE_CALLBACK=e.enableCallback}},{key:"_notifyChange",value:function(){var t=e.emitter;if(t.listenerCount("change")>0){var n=e.getConfig();t.emit("change",n)}}},{key:"registerListener",value:function(t){e.emitter.addListener("change",t)}},{key:"removeListener",value:function(t){e.emitter.removeListener("change",t)}},{key:"addLogListener",value:function(t){l.default.emitter.addListener("log",t),l.default.emitter.listenerCount("log")>0&&(l.default.ENABLE_CALLBACK=!0,e._notifyChange())}},{key:"removeLogListener",value:function(t){l.default.emitter.removeListener("log",t),0===l.default.emitter.listenerCount("log")&&(l.default.ENABLE_CALLBACK=!1,e._notifyChange())}},{key:"forceGlobalTag",get:function(){return l.default.FORCE_GLOBAL_TAG},set:function(t){l.default.FORCE_GLOBAL_TAG=t,e._notifyChange()}},{key:"globalTag",get:function(){return l.default.GLOBAL_TAG},set:function(t){l.default.GLOBAL_TAG=t,e._notifyChange()}},{key:"enableAll",get:function(){return l.default.ENABLE_VERBOSE&&l.default.ENABLE_DEBUG&&l.default.ENABLE_INFO&&l.default.ENABLE_WARN&&l.default.ENABLE_ERROR},set:function(t){l.default.ENABLE_VERBOSE=t,l.default.ENABLE_DEBUG=t,l.default.ENABLE_INFO=t,l.default.ENABLE_WARN=t,l.default.ENABLE_ERROR=t,e._notifyChange()}},{key:"enableDebug",get:function(){return l.default.ENABLE_DEBUG},set:function(t){l.default.ENABLE_DEBUG=t,e._notifyChange()}},{key:"enableVerbose",get:function(){return l.default.ENABLE_VERBOSE},set:function(t){l.default.ENABLE_VERBOSE=t,e._notifyChange()}},{key:"enableInfo",get:function(){return l.default.ENABLE_INFO},set:function(t){l.default.ENABLE_INFO=t,e._notifyChange()}},{key:"enableWarn",get:function(){return l.default.ENABLE_WARN},set:function(t){l.default.ENABLE_WARN=t,e._notifyChange()}},{key:"enableError",get:function(){return l.default.ENABLE_ERROR},set:function(t){l.default.ENABLE_ERROR=t,e._notifyChange()}}]),e}();d.emitter=new o.default,n.default=d},{"./logger.js":41,events:2}],43:[function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function t(){i(this,t)}return r(t,null,[{key:"install",value:function(){Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Object.assign=Object.assign||function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i)for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])}return t},"function"!=typeof self.Promise&&e("es6-promise").polyfill()}}]),t}();s.install(),n.default=s},{"es6-promise":1}],44:[function(e,t,n){"use strict";function i(e,t,n){var i=e;if(t+n<i.length){for(;n--;)if(128!=(192&i[++t]))return!1;return!0}return!1}function r(e){for(var t=[],n=e,r=0,s=e.length;r<s;)if(n[r]<128)t.push(String.fromCharCode(n[r])),++r;else{if(n[r]<192);else if(n[r]<224){if(i(n,r,1)){var a=(31&n[r])<<6|63&n[r+1];if(a>=128){t.push(String.fromCharCode(65535&a)),r+=2;continue}}}else if(n[r]<240){if(i(n,r,2)){var o=(15&n[r])<<12|(63&n[r+1])<<6|63&n[r+2];if(o>=2048&&55296!=(63488&o)){t.push(String.fromCharCode(65535&o)),r+=3;continue}}}else if(n[r]<248&&i(n,r,3)){var u=(7&n[r])<<18|(63&n[r+1])<<12|(63&n[r+2])<<6|63&n[r+3];if(u>65536&&u<1114112){u-=65536,t.push(String.fromCharCode(u>>>10|55296)),t.push(String.fromCharCode(1023&u|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}return t.join("")}Object.defineProperty(n,"__esModule",{value:!0}),n.default=r},{}]},{},[21])(21)});
-//# sourceMappingURL=flv.min.js.map
diff --git a/server/target/classes/static/js/jquery-3.0.0.min.js b/server/target/classes/static/js/jquery-3.0.0.min.js
deleted file mode 100644
index 62d410d..0000000
--- a/server/target/classes/static/js/jquery-3.0.0.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v3.0.0 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.0.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return a&&"[object Object]"===k.call(a)?(b=e(a))?(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n):!0:!1},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;d>f;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;return"string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a)?(d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e):void 0},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"===c||r.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\x00-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\x00"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[0>c?c+b:c]}),even:pa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,e>i&&ya(a.slice(i,e)),f>e&&ya(a=a.slice(e)),f>e&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;d>b;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;d>b;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(f>b)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(1>=b&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){
-return j.call(r(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;g>f;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;g>f;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;d>c;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;o>n;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){return this.originalEvent?b(this.originalEvent):void 0}:function(){return this.originalEvent?this.originalEvent[a]:void 0},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==va()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===va()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&r.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;m>l;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;i>l;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;e>d;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;e>d;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),0>=d||null==d){if(d=Ma(a,b,f),(0>d||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){return c?!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)}):void 0},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){return b?(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;e>g;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);g>f;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;e>d;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c);
-}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){return r.isArray(b)?a.checked=r.inArray(r(a).val(),b)>-1:void 0}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?r.event.trigger(a,b,c,!0):void 0}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",0>b&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;return o.cors||Pb&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){return c?(c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c):void 0})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
diff --git a/server/target/classes/static/js/jquery.form.min.js b/server/target/classes/static/js/jquery.form.min.js
deleted file mode 100644
index 899dcc9..0000000
--- a/server/target/classes/static/js/jquery.form.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(e){"use strict";function t(t){var n=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(this).ajaxSubmit(n))}function n(t){var n=t.target,i=e(n);if(!i.is(":submit,input:image")){var r=i.closest(":submit");if(0===r.length)return;n=r[0]}var o=this;if(o.clk=n,"image"==n.type)if(void 0!==t.offsetX)o.clk_x=t.offsetX,o.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var a=i.offset();o.clk_x=t.pageX-a.left,o.clk_y=t.pageY-a.top}else o.clk_x=t.pageX-n.offsetLeft,o.clk_y=t.pageY-n.offsetTop;setTimeout(function(){o.clk=o.clk_x=o.clk_y=null},100)}function i(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var r={};r.fileapi=void 0!==e("<input type='file'/>").get(0).files,r.formdata=void 0!==window.FormData,e.fn.ajaxSubmit=function(t){function n(n){for(var i=new FormData,r=0;n.length>r;r++)i.append(n[r].name,n[r].value);if(t.extraData)for(var o in t.extraData)t.extraData.hasOwnProperty(o)&&i.append(o,t.extraData[o]);t.data=null;var a=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:"POST"});t.uploadProgress&&(a.xhr=function(){var e=jQuery.ajaxSettings.xhr();return e.upload&&(e.upload.onprogress=function(e){var n=0,i=e.loaded||e.position,r=e.total;e.lengthComputable&&(n=Math.ceil(100*(i/r))),t.uploadProgress(e,i,r,n)}),e}),a.data=null;var s=a.beforeSend;a.beforeSend=function(e,n){n.data=i,s&&s.call(n,e,t)},e.ajax(a)}function o(n){function r(e){var t=e.contentWindow?e.contentWindow.document:e.contentDocument?e.contentDocument:e.document;return t}function o(){function t(){try{var e=r(m).readyState;i("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(n){i("Server abort: ",n," (",n.name,")"),s(T),w&&clearTimeout(w),w=void 0}}var n=c.attr("target"),o=c.attr("action");k.setAttribute("target",f),a||k.setAttribute("method","POST"),o!=d.url&&k.setAttribute("action",d.url),d.skipEncodingOverride||a&&!/post/i.test(a)||c.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),d.timeout&&(w=setTimeout(function(){x=!0,s(_)},d.timeout));var l=[];try{if(d.extraData)for(var u in d.extraData)d.extraData.hasOwnProperty(u)&&l.push(e('<input type="hidden" name="'+u+'">').attr("value",d.extraData[u]).appendTo(k)[0]);d.iframeTarget||(g.appendTo("body"),m.attachEvent?m.attachEvent("onload",s):m.addEventListener("load",s,!1)),setTimeout(t,15),k.submit()}finally{k.setAttribute("action",o),n?k.setAttribute("target",n):c.removeAttr("target"),e(l).remove()}}function s(t){if(!v.aborted&&!D){try{I=r(m)}catch(n){i("cannot access response document: ",n),t=T}if(t===_&&v)return v.abort("timeout"),void 0;if(t==T&&v)return v.abort("server abort"),void 0;if(I&&I.location.href!=d.iframeSrc||x){m.detachEvent?m.detachEvent("onload",s):m.removeEventListener("load",s,!1);var o,a="success";try{if(x)throw"timeout";var l="xml"==d.dataType||I.XMLDocument||e.isXMLDoc(I);if(i("isXml="+l),!l&&window.opera&&(null===I.body||!I.body.innerHTML)&&--L)return i("requeing onLoad callback, DOM not available"),setTimeout(s,250),void 0;var c=I.body?I.body:I.documentElement;v.responseText=c?c.innerHTML:null,v.responseXML=I.XMLDocument?I.XMLDocument:I,l&&(d.dataType="xml"),v.getResponseHeader=function(e){var t={"content-type":d.dataType};return t[e]},c&&(v.status=Number(c.getAttribute("status"))||v.status,v.statusText=c.getAttribute("statusText")||v.statusText);var u=(d.dataType||"").toLowerCase(),p=/(json|script|text)/.test(u);if(p||d.textarea){var f=I.getElementsByTagName("textarea")[0];if(f)v.responseText=f.value,v.status=Number(f.getAttribute("status"))||v.status,v.statusText=f.getAttribute("statusText")||v.statusText;else if(p){var b=I.getElementsByTagName("pre")[0],y=I.getElementsByTagName("body")[0];b?v.responseText=b.textContent?b.textContent:b.innerText:y&&(v.responseText=y.textContent?y.textContent:y.innerText)}}else"xml"==u&&!v.responseXML&&v.responseText&&(v.responseXML=R(v.responseText));try{A=P(v,u,d)}catch(t){a="parsererror",v.error=o=t||a}}catch(t){i("error caught: ",t),a="error",v.error=o=t||a}v.aborted&&(i("upload aborted"),a=null),v.status&&(a=v.status>=200&&300>v.status||304===v.status?"success":"error"),"success"===a?(d.success&&d.success.call(d.context,A,"success",v),h&&e.event.trigger("ajaxSuccess",[v,d])):a&&(void 0===o&&(o=v.statusText),d.error&&d.error.call(d.context,v,a,o),h&&e.event.trigger("ajaxError",[v,d,o])),h&&e.event.trigger("ajaxComplete",[v,d]),h&&!--e.active&&e.event.trigger("ajaxStop"),d.complete&&d.complete.call(d.context,v,a),D=!0,d.timeout&&clearTimeout(w),setTimeout(function(){d.iframeTarget||g.remove(),v.responseXML=null},100)}}}var l,u,d,h,f,g,m,v,b,y,x,w,k=c[0],C=!!e.fn.prop;if(e(":input[name=submit],:input[id=submit]",k).length)return alert('Error: Form elements must not have name or id of "submit".'),void 0;if(n)for(u=0;p.length>u;u++)l=e(p[u]),C?l.prop("disabled",!1):l.removeAttr("disabled");if(d=e.extend(!0,{},e.ajaxSettings,t),d.context=d.context||d,f="jqFormIO"+(new Date).getTime(),d.iframeTarget?(g=e(d.iframeTarget),y=g.attr("name"),y?f=y:g.attr("name",f)):(g=e('<iframe name="'+f+'" src="'+d.iframeSrc+'" />'),g.css({position:"absolute",top:"-1000px",left:"-1000px"})),m=g[0],v={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var n="timeout"===t?"timeout":"aborted";i("aborting upload... "+n),this.aborted=1,g.attr("src",d.iframeSrc),v.error=n,d.error&&d.error.call(d.context,v,n,t),h&&e.event.trigger("ajaxError",[v,d,n]),d.complete&&d.complete.call(d.context,v,n)}},h=d.global,h&&0===e.active++&&e.event.trigger("ajaxStart"),h&&e.event.trigger("ajaxSend",[v,d]),d.beforeSend&&d.beforeSend.call(d.context,v,d)===!1)return d.global&&e.active--,void 0;if(!v.aborted){b=k.clk,b&&(y=b.name,y&&!b.disabled&&(d.extraData=d.extraData||{},d.extraData[y]=b.value,"image"==b.type&&(d.extraData[y+".x"]=k.clk_x,d.extraData[y+".y"]=k.clk_y)));var _=1,T=2,E=e("meta[name=csrf-token]").attr("content"),S=e("meta[name=csrf-param]").attr("content");S&&E&&(d.extraData=d.extraData||{},d.extraData[S]=E),d.forceSync?o():setTimeout(o,10);var A,I,D,L=50,R=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},O=e.parseJSON||function(e){return window.eval("("+e+")")},P=function(t,n,i){var r=t.getResponseHeader("content-type")||"",o="xml"===n||!n&&r.indexOf("xml")>=0,a=o?t.responseXML:t.responseText;return o&&"parsererror"===a.documentElement.nodeName&&e.error&&e.error("parsererror"),i&&i.dataFilter&&(a=i.dataFilter(a,n)),"string"==typeof a&&("json"===n||!n&&r.indexOf("json")>=0?a=O(a):("script"===n||!n&&r.indexOf("javascript")>=0)&&e.globalEval(a)),a}}}if(!this.length)return i("ajaxSubmit: skipping submit process - no element selected"),this;var a,s,l,c=this;"function"==typeof t&&(t={success:t}),a=this.attr("method"),s=this.attr("action"),l="string"==typeof s?e.trim(s):"",l=l||window.location.href||"",l&&(l=(l.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:l,success:e.ajaxSettings.success,type:a||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var u={};if(this.trigger("form-pre-serialize",[this,t,u]),u.veto)return i("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return i("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var d=t.traditional;void 0===d&&(d=e.ajaxSettings.traditional);var h,p=[],f=this.formToArray(t.semantic,p);if(t.data&&(t.extraData=t.data,h=e.param(t.data,d)),t.beforeSubmit&&t.beforeSubmit(f,this,t)===!1)return i("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[f,this,t,u]),u.veto)return i("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var g=e.param(f,d);h&&(g=g?g+"&"+h:h),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;var m=[];if(t.resetForm&&m.push(function(){c.resetForm()}),t.clearForm&&m.push(function(){c.clearForm(t.includeHidden)}),!t.dataType&&t.target){var v=t.success||function(){};m.push(function(n){var i=t.replaceTarget?"replaceWith":"html";e(t.target)[i](n).each(v,arguments)})}else t.success&&m.push(t.success);t.success=function(e,n,i){for(var r=t.context||t,o=0,a=m.length;a>o;o++)m[o].apply(r,[e,n,i||c,c])};var b=e("input:file:enabled[value]",this),y=b.length>0,x="multipart/form-data",w=c.attr("enctype")==x||c.attr("encoding")==x,k=r.fileapi&&r.formdata;i("fileAPI :"+k);var C=(y||w)&&!k;t.iframe!==!1&&(t.iframe||C)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){o(f)}):o(f):(y||w)&&k?n(f):e.ajax(t);for(var _=0;p.length>_;_++)p[_]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(r){if(r=r||{},r.delegation=r.delegation&&e.isFunction(e.fn.on),!r.delegation&&0===this.length){var o={s:this.selector,c:this.context};return!e.isReady&&o.s?(i("DOM not ready, queuing ajaxForm"),e(function(){e(o.s,o.c).ajaxForm(r)}),this):(i("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return r.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,n).on("submit.form-plugin",this.selector,r,t).on("click.form-plugin",this.selector,r,n),this):this.ajaxFormUnbind().bind("submit.form-plugin",r,t).bind("click.form-plugin",r,n)},e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,n){var i=[];if(0===this.length)return i;var o=this[0],a=t?o.getElementsByTagName("*"):o.elements;if(!a)return i;var s,l,c,u,d,h,p;for(s=0,h=a.length;h>s;s++)if(d=a[s],c=d.name)if(t&&o.clk&&"image"==d.type)d.disabled||o.clk!=d||(i.push({name:c,value:e(d).val(),type:d.type}),i.push({name:c+".x",value:o.clk_x},{name:c+".y",value:o.clk_y}));else if(u=e.fieldValue(d,!0),u&&u.constructor==Array)for(n&&n.push(d),l=0,p=u.length;p>l;l++)i.push({name:c,value:u[l]});else if(r.fileapi&&"file"==d.type&&!d.disabled){n&&n.push(d);var f=d.files;if(f.length)for(l=0;f.length>l;l++)i.push({name:c,value:f[l],type:d.type});else i.push({name:c,value:"",type:d.type})}else null!==u&&u!==void 0&&(n&&n.push(d),i.push({name:c,value:u,type:d.type,required:d.required}));if(!t&&o.clk){var g=e(o.clk),m=g[0];c=m.name,c&&!m.disabled&&"image"==m.type&&(i.push({name:c,value:g.val()}),i.push({name:c+".x",value:o.clk_x},{name:c+".y",value:o.clk_y}))}return i},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var n=[];return this.each(function(){var i=this.name;if(i){var r=e.fieldValue(this,t);if(r&&r.constructor==Array)for(var o=0,a=r.length;a>o;o++)n.push({name:i,value:r[o]});else null!==r&&r!==void 0&&n.push({name:this.name,value:r})}}),e.param(n)},e.fn.fieldValue=function(t){for(var n=[],i=0,r=this.length;r>i;i++){var o=this[i],a=e.fieldValue(o,t);null===a||void 0===a||a.constructor==Array&&!a.length||(a.constructor==Array?e.merge(n,a):n.push(a))}return n},e.fieldValue=function(t,n){var i=t.name,r=t.type,o=t.tagName.toLowerCase();if(void 0===n&&(n=!0),n&&(!i||t.disabled||"reset"==r||"button"==r||("checkbox"==r||"radio"==r)&&!t.checked||("submit"==r||"image"==r)&&t.form&&t.form.clk!=t||"select"==o&&-1==t.selectedIndex))return null;if("select"==o){var a=t.selectedIndex;if(0>a)return null;for(var s=[],l=t.options,c="select-one"==r,u=c?a+1:l.length,d=c?a:0;u>d;d++){var h=l[d];if(h.selected){var p=h.value;if(p||(p=h.attributes&&h.attributes.value&&!h.attributes.value.specified?h.text:h.value),c)return p;s.push(p)}}return s}return e(t).val()},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var n=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var i=this.type,r=this.tagName.toLowerCase();n.test(i)||"textarea"==r?this.value="":"checkbox"==i||"radio"==i?this.checked=!1:"select"==r?this.selectedIndex=-1:t&&(t===!0&&/hidden/.test(i)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var n=this.type;if("checkbox"==n||"radio"==n)this.checked=t;else if("option"==this.tagName.toLowerCase()){var i=e(this).parent("select");t&&i[0]&&"select-one"==i[0].type&&i.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1})(jQuery);
\ No newline at end of file
diff --git a/server/target/classes/static/js/jquery.ztree.core.js b/server/target/classes/static/js/jquery.ztree.core.js
deleted file mode 100644
index 276d164..0000000
--- a/server/target/classes/static/js/jquery.ztree.core.js
+++ /dev/null
@@ -1,1935 +0,0 @@
-/*
- * JQuery zTree core v3.5.30
- * http://treejs.cn/
- *
- * Copyright (c) 2010 Hunter.z
- *
- * Licensed same as jquery - MIT License
- * http://www.opensource.org/licenses/mit-license.php
- *
- * email: hunter.z@263.net
- * Date: 2017-11-11
- */
-(function ($) {
-    var settings = {}, roots = {}, caches = {},
-        //default consts of core
-        _consts = {
-            className: {
-                BUTTON: "button",
-                LEVEL: "level",
-                ICO_LOADING: "ico_loading",
-                SWITCH: "switch",
-                NAME: 'node_name'
-            },
-            event: {
-                NODECREATED: "ztree_nodeCreated",
-                CLICK: "ztree_click",
-                EXPAND: "ztree_expand",
-                COLLAPSE: "ztree_collapse",
-                ASYNC_SUCCESS: "ztree_async_success",
-                ASYNC_ERROR: "ztree_async_error",
-                REMOVE: "ztree_remove",
-                SELECTED: "ztree_selected",
-                UNSELECTED: "ztree_unselected"
-            },
-            id: {
-                A: "_a",
-                ICON: "_ico",
-                SPAN: "_span",
-                SWITCH: "_switch",
-                UL: "_ul"
-            },
-            line: {
-                ROOT: "root",
-                ROOTS: "roots",
-                CENTER: "center",
-                BOTTOM: "bottom",
-                NOLINE: "noline",
-                LINE: "line"
-            },
-            folder: {
-                OPEN: "open",
-                CLOSE: "close",
-                DOCU: "docu"
-            },
-            node: {
-                CURSELECTED: "curSelectedNode"
-            }
-        },
-        //default setting of core
-        _setting = {
-            treeId: "",
-            treeObj: null,
-            view: {
-                addDiyDom: null,
-                autoCancelSelected: true,
-                dblClickExpand: true,
-                expandSpeed: "fast",
-                fontCss: {},
-                nameIsHTML: false,
-                selectedMulti: true,
-                showIcon: true,
-                showLine: true,
-                showTitle: true,
-                txtSelectedEnable: false
-            },
-            data: {
-                key: {
-                    children: "children",
-                    name: "name",
-                    title: "",
-                    url: "url",
-                    icon: "icon"
-                },
-                simpleData: {
-                    enable: false,
-                    idKey: "id",
-                    pIdKey: "pId",
-                    rootPId: null
-                },
-                keep: {
-                    parent: false,
-                    leaf: false
-                }
-            },
-            async: {
-                enable: false,
-                contentType: "application/x-www-form-urlencoded",
-                type: "post",
-                dataType: "text",
-                url: "",
-                autoParam: [],
-                otherParam: [],
-                dataFilter: null
-            },
-            callback: {
-                beforeAsync: null,
-                beforeClick: null,
-                beforeDblClick: null,
-                beforeRightClick: null,
-                beforeMouseDown: null,
-                beforeMouseUp: null,
-                beforeExpand: null,
-                beforeCollapse: null,
-                beforeRemove: null,
-
-                onAsyncError: null,
-                onAsyncSuccess: null,
-                onNodeCreated: null,
-                onClick: null,
-                onDblClick: null,
-                onRightClick: null,
-                onMouseDown: null,
-                onMouseUp: null,
-                onExpand: null,
-                onCollapse: null,
-                onRemove: null
-            }
-        },
-        //default root of core
-        //zTree use root to save full data
-        _initRoot = function (setting) {
-            var r = data.getRoot(setting);
-            if (!r) {
-                r = {};
-                data.setRoot(setting, r);
-            }
-            r[setting.data.key.children] = [];
-            r.expandTriggerFlag = false;
-            r.curSelectedList = [];
-            r.noSelection = true;
-            r.createdNodes = [];
-            r.zId = 0;
-            r._ver = (new Date()).getTime();
-        },
-        //default cache of core
-        _initCache = function (setting) {
-            var c = data.getCache(setting);
-            if (!c) {
-                c = {};
-                data.setCache(setting, c);
-            }
-            c.nodes = [];
-            c.doms = [];
-        },
-        //default bindEvent of core
-        _bindEvent = function (setting) {
-            var o = setting.treeObj,
-                c = consts.event;
-            o.bind(c.NODECREATED, function (event, treeId, node) {
-                tools.apply(setting.callback.onNodeCreated, [event, treeId, node]);
-            });
-
-            o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {
-                tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);
-            });
-
-            o.bind(c.EXPAND, function (event, treeId, node) {
-                tools.apply(setting.callback.onExpand, [event, treeId, node]);
-            });
-
-            o.bind(c.COLLAPSE, function (event, treeId, node) {
-                tools.apply(setting.callback.onCollapse, [event, treeId, node]);
-            });
-
-            o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {
-                tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);
-            });
-
-            o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {
-                tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);
-            });
-
-            o.bind(c.REMOVE, function (event, treeId, treeNode) {
-                tools.apply(setting.callback.onRemove, [event, treeId, treeNode]);
-            });
-
-            o.bind(c.SELECTED, function (event, treeId, node) {
-                tools.apply(setting.callback.onSelected, [treeId, node]);
-            });
-            o.bind(c.UNSELECTED, function (event, treeId, node) {
-                tools.apply(setting.callback.onUnSelected, [treeId, node]);
-            });
-        },
-        _unbindEvent = function (setting) {
-            var o = setting.treeObj,
-                c = consts.event;
-            o.unbind(c.NODECREATED)
-                .unbind(c.CLICK)
-                .unbind(c.EXPAND)
-                .unbind(c.COLLAPSE)
-                .unbind(c.ASYNC_SUCCESS)
-                .unbind(c.ASYNC_ERROR)
-                .unbind(c.REMOVE)
-                .unbind(c.SELECTED)
-                .unbind(c.UNSELECTED);
-        },
-        //default event proxy of core
-        _eventProxy = function (event) {
-            var target = event.target,
-                setting = data.getSetting(event.data.treeId),
-                tId = "", node = null,
-                nodeEventType = "", treeEventType = "",
-                nodeEventCallback = null, treeEventCallback = null,
-                tmp = null;
-
-            if (tools.eqs(event.type, "mousedown")) {
-                treeEventType = "mousedown";
-            } else if (tools.eqs(event.type, "mouseup")) {
-                treeEventType = "mouseup";
-            } else if (tools.eqs(event.type, "contextmenu")) {
-                treeEventType = "contextmenu";
-            } else if (tools.eqs(event.type, "click")) {
-                if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode" + consts.id.SWITCH) !== null) {
-                    tId = tools.getNodeMainDom(target).id;
-                    nodeEventType = "switchNode";
-                } else {
-                    tmp = tools.getMDom(setting, target, [{tagName: "a", attrName: "treeNode" + consts.id.A}]);
-                    if (tmp) {
-                        tId = tools.getNodeMainDom(tmp).id;
-                        nodeEventType = "clickNode";
-                    }
-                }
-            } else if (tools.eqs(event.type, "dblclick")) {
-                treeEventType = "dblclick";
-                tmp = tools.getMDom(setting, target, [{tagName: "a", attrName: "treeNode" + consts.id.A}]);
-                if (tmp) {
-                    tId = tools.getNodeMainDom(tmp).id;
-                    nodeEventType = "switchNode";
-                }
-            }
-            if (treeEventType.length > 0 && tId.length == 0) {
-                tmp = tools.getMDom(setting, target, [{tagName: "a", attrName: "treeNode" + consts.id.A}]);
-                if (tmp) {
-                    tId = tools.getNodeMainDom(tmp).id;
-                }
-            }
-            // event to node
-            if (tId.length > 0) {
-                node = data.getNodeCache(setting, tId);
-                switch (nodeEventType) {
-                    case "switchNode" :
-                        if (!node.isParent) {
-                            nodeEventType = "";
-                        } else if (tools.eqs(event.type, "click")
-                            || (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {
-                            nodeEventCallback = handler.onSwitchNode;
-                        } else {
-                            nodeEventType = "";
-                        }
-                        break;
-                    case "clickNode" :
-                        nodeEventCallback = handler.onClickNode;
-                        break;
-                }
-            }
-            // event to zTree
-            switch (treeEventType) {
-                case "mousedown" :
-                    treeEventCallback = handler.onZTreeMousedown;
-                    break;
-                case "mouseup" :
-                    treeEventCallback = handler.onZTreeMouseup;
-                    break;
-                case "dblclick" :
-                    treeEventCallback = handler.onZTreeDblclick;
-                    break;
-                case "contextmenu" :
-                    treeEventCallback = handler.onZTreeContextmenu;
-                    break;
-            }
-            var proxyResult = {
-                stop: false,
-                node: node,
-                nodeEventType: nodeEventType,
-                nodeEventCallback: nodeEventCallback,
-                treeEventType: treeEventType,
-                treeEventCallback: treeEventCallback
-            };
-            return proxyResult
-        },
-        //default init node of core
-        _initNode = function (setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
-            if (!n) return;
-            var r = data.getRoot(setting),
-                childKey = setting.data.key.children;
-            n.level = level;
-            n.tId = setting.treeId + "_" + (++r.zId);
-            n.parentTId = parentNode ? parentNode.tId : null;
-            n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open;
-            if (n[childKey] && n[childKey].length > 0) {
-                n.isParent = true;
-                n.zAsync = true;
-            } else {
-                n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent;
-                n.open = (n.isParent && !setting.async.enable) ? n.open : false;
-                n.zAsync = !n.isParent;
-            }
-            n.isFirstNode = isFirstNode;
-            n.isLastNode = isLastNode;
-            n.getParentNode = function () {
-                return data.getNodeCache(setting, n.parentTId);
-            };
-            n.getPreNode = function () {
-                return data.getPreNode(setting, n);
-            };
-            n.getNextNode = function () {
-                return data.getNextNode(setting, n);
-            };
-            n.getIndex = function () {
-                return data.getNodeIndex(setting, n);
-            };
-            n.getPath = function () {
-                return data.getNodePath(setting, n);
-            };
-            n.isAjaxing = false;
-            data.fixPIdKeyValue(setting, n);
-        },
-        _init = {
-            bind: [_bindEvent],
-            unbind: [_unbindEvent],
-            caches: [_initCache],
-            nodes: [_initNode],
-            proxys: [_eventProxy],
-            roots: [_initRoot],
-            beforeA: [],
-            afterA: [],
-            innerBeforeA: [],
-            innerAfterA: [],
-            zTreeTools: []
-        },
-        //method of operate data
-        data = {
-            addNodeCache: function (setting, node) {
-                data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;
-            },
-            getNodeCacheId: function (tId) {
-                return tId.substring(tId.lastIndexOf("_") + 1);
-            },
-            addAfterA: function (afterA) {
-                _init.afterA.push(afterA);
-            },
-            addBeforeA: function (beforeA) {
-                _init.beforeA.push(beforeA);
-            },
-            addInnerAfterA: function (innerAfterA) {
-                _init.innerAfterA.push(innerAfterA);
-            },
-            addInnerBeforeA: function (innerBeforeA) {
-                _init.innerBeforeA.push(innerBeforeA);
-            },
-            addInitBind: function (bindEvent) {
-                _init.bind.push(bindEvent);
-            },
-            addInitUnBind: function (unbindEvent) {
-                _init.unbind.push(unbindEvent);
-            },
-            addInitCache: function (initCache) {
-                _init.caches.push(initCache);
-            },
-            addInitNode: function (initNode) {
-                _init.nodes.push(initNode);
-            },
-            addInitProxy: function (initProxy, isFirst) {
-                if (!!isFirst) {
-                    _init.proxys.splice(0, 0, initProxy);
-                } else {
-                    _init.proxys.push(initProxy);
-                }
-            },
-            addInitRoot: function (initRoot) {
-                _init.roots.push(initRoot);
-            },
-            addNodesData: function (setting, parentNode, index, nodes) {
-                var childKey = setting.data.key.children, params;
-                if (!parentNode[childKey]) {
-                    parentNode[childKey] = [];
-                    index = -1;
-                } else if (index >= parentNode[childKey].length) {
-                    index = -1;
-                }
-
-                if (parentNode[childKey].length > 0 && index === 0) {
-                    parentNode[childKey][0].isFirstNode = false;
-                    view.setNodeLineIcos(setting, parentNode[childKey][0]);
-                } else if (parentNode[childKey].length > 0 && index < 0) {
-                    parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false;
-                    view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]);
-                }
-                parentNode.isParent = true;
-
-                if (index < 0) {
-                    parentNode[childKey] = parentNode[childKey].concat(nodes);
-                } else {
-                    params = [index, 0].concat(nodes);
-                    parentNode[childKey].splice.apply(parentNode[childKey], params);
-                }
-            },
-            addSelectedNode: function (setting, node) {
-                var root = data.getRoot(setting);
-                if (!data.isSelectedNode(setting, node)) {
-                    root.curSelectedList.push(node);
-                }
-            },
-            addCreatedNode: function (setting, node) {
-                if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
-                    var root = data.getRoot(setting);
-                    root.createdNodes.push(node);
-                }
-            },
-            addZTreeTools: function (zTreeTools) {
-                _init.zTreeTools.push(zTreeTools);
-            },
-            exSetting: function (s) {
-                $.extend(true, _setting, s);
-            },
-            fixPIdKeyValue: function (setting, node) {
-                if (setting.data.simpleData.enable) {
-                    node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;
-                }
-            },
-            getAfterA: function (setting, node, array) {
-                for (var i = 0, j = _init.afterA.length; i < j; i++) {
-                    _init.afterA[i].apply(this, arguments);
-                }
-            },
-            getBeforeA: function (setting, node, array) {
-                for (var i = 0, j = _init.beforeA.length; i < j; i++) {
-                    _init.beforeA[i].apply(this, arguments);
-                }
-            },
-            getInnerAfterA: function (setting, node, array) {
-                for (var i = 0, j = _init.innerAfterA.length; i < j; i++) {
-                    _init.innerAfterA[i].apply(this, arguments);
-                }
-            },
-            getInnerBeforeA: function (setting, node, array) {
-                for (var i = 0, j = _init.innerBeforeA.length; i < j; i++) {
-                    _init.innerBeforeA[i].apply(this, arguments);
-                }
-            },
-            getCache: function (setting) {
-                return caches[setting.treeId];
-            },
-            getNodeIndex: function (setting, node) {
-                if (!node) return null;
-                var childKey = setting.data.key.children,
-                    p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-                for (var i = 0, l = p[childKey].length - 1; i <= l; i++) {
-                    if (p[childKey][i] === node) {
-                        return i;
-                    }
-                }
-                return -1;
-            },
-            getNextNode: function (setting, node) {
-                if (!node) return null;
-                var childKey = setting.data.key.children,
-                    p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-                for (var i = 0, l = p[childKey].length - 1; i <= l; i++) {
-                    if (p[childKey][i] === node) {
-                        return (i == l ? null : p[childKey][i + 1]);
-                    }
-                }
-                return null;
-            },
-            getNodeByParam: function (setting, nodes, key, value) {
-                if (!nodes || !key) return null;
-                var childKey = setting.data.key.children;
-                for (var i = 0, l = nodes.length; i < l; i++) {
-                    if (nodes[i][key] == value) {
-                        return nodes[i];
-                    }
-                    var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value);
-                    if (tmp) return tmp;
-                }
-                return null;
-            },
-            getNodeCache: function (setting, tId) {
-                if (!tId) return null;
-                var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];
-                return n ? n : null;
-            },
-            getNodeName: function (setting, node) {
-                var nameKey = setting.data.key.name;
-                return "" + node[nameKey];
-            },
-            getNodePath: function (setting, node) {
-                if (!node) return null;
-
-                var path;
-                if (node.parentTId) {
-                    path = node.getParentNode().getPath();
-                } else {
-                    path = [];
-                }
-
-                if (path) {
-                    path.push(node);
-                }
-
-                return path;
-            },
-            getNodeTitle: function (setting, node) {
-                var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title;
-                return "" + node[t];
-            },
-            getNodes: function (setting) {
-                return data.getRoot(setting)[setting.data.key.children];
-            },
-            getNodesByParam: function (setting, nodes, key, value) {
-                if (!nodes || !key) return [];
-                var childKey = setting.data.key.children,
-                    result = [];
-                for (var i = 0, l = nodes.length; i < l; i++) {
-                    if (nodes[i][key] == value) {
-                        result.push(nodes[i]);
-                    }
-                    result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value));
-                }
-                return result;
-            },
-            getNodesByParamFuzzy: function (setting, nodes, key, value) {
-                if (!nodes || !key) return [];
-                var childKey = setting.data.key.children,
-                    result = [];
-                value = value.toLowerCase();
-                for (var i = 0, l = nodes.length; i < l; i++) {
-                    if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value) > -1) {
-                        result.push(nodes[i]);
-                    }
-                    result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value));
-                }
-                return result;
-            },
-            getNodesByFilter: function (setting, nodes, filter, isSingle, invokeParam) {
-                if (!nodes) return (isSingle ? null : []);
-                var childKey = setting.data.key.children,
-                    result = isSingle ? null : [];
-                for (var i = 0, l = nodes.length; i < l; i++) {
-                    if (tools.apply(filter, [nodes[i], invokeParam], false)) {
-                        if (isSingle) {
-                            return nodes[i];
-                        }
-                        result.push(nodes[i]);
-                    }
-                    var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam);
-                    if (isSingle && !!tmpResult) {
-                        return tmpResult;
-                    }
-                    result = isSingle ? tmpResult : result.concat(tmpResult);
-                }
-                return result;
-            },
-            getPreNode: function (setting, node) {
-                if (!node) return null;
-                var childKey = setting.data.key.children,
-                    p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-                for (var i = 0, l = p[childKey].length; i < l; i++) {
-                    if (p[childKey][i] === node) {
-                        return (i == 0 ? null : p[childKey][i - 1]);
-                    }
-                }
-                return null;
-            },
-            getRoot: function (setting) {
-                return setting ? roots[setting.treeId] : null;
-            },
-            getRoots: function () {
-                return roots;
-            },
-            getSetting: function (treeId) {
-                return settings[treeId];
-            },
-            getSettings: function () {
-                return settings;
-            },
-            getZTreeTools: function (treeId) {
-                var r = this.getRoot(this.getSetting(treeId));
-                return r ? r.treeTools : null;
-            },
-            initCache: function (setting) {
-                for (var i = 0, j = _init.caches.length; i < j; i++) {
-                    _init.caches[i].apply(this, arguments);
-                }
-            },
-            initNode: function (setting, level, node, parentNode, preNode, nextNode) {
-                for (var i = 0, j = _init.nodes.length; i < j; i++) {
-                    _init.nodes[i].apply(this, arguments);
-                }
-            },
-            initRoot: function (setting) {
-                for (var i = 0, j = _init.roots.length; i < j; i++) {
-                    _init.roots[i].apply(this, arguments);
-                }
-            },
-            isSelectedNode: function (setting, node) {
-                var root = data.getRoot(setting);
-                for (var i = 0, j = root.curSelectedList.length; i < j; i++) {
-                    if (node === root.curSelectedList[i]) return true;
-                }
-                return false;
-            },
-            removeNodeCache: function (setting, node) {
-                var childKey = setting.data.key.children;
-                if (node[childKey]) {
-                    for (var i = 0, l = node[childKey].length; i < l; i++) {
-                        data.removeNodeCache(setting, node[childKey][i]);
-                    }
-                }
-                data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;
-            },
-            removeSelectedNode: function (setting, node) {
-                var root = data.getRoot(setting);
-                for (var i = 0, j = root.curSelectedList.length; i < j; i++) {
-                    if (node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {
-                        root.curSelectedList.splice(i, 1);
-                        setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]);
-                        i--;
-                        j--;
-                    }
-                }
-            },
-            setCache: function (setting, cache) {
-                caches[setting.treeId] = cache;
-            },
-            setRoot: function (setting, root) {
-                roots[setting.treeId] = root;
-            },
-            setZTreeTools: function (setting, zTreeTools) {
-                for (var i = 0, j = _init.zTreeTools.length; i < j; i++) {
-                    _init.zTreeTools[i].apply(this, arguments);
-                }
-            },
-            transformToArrayFormat: function (setting, nodes) {
-                if (!nodes) return [];
-                var childKey = setting.data.key.children,
-                    r = [];
-                if (tools.isArray(nodes)) {
-                    for (var i = 0, l = nodes.length; i < l; i++) {
-                        r.push(nodes[i]);
-                        if (nodes[i][childKey])
-                            r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));
-                    }
-                } else {
-                    r.push(nodes);
-                    if (nodes[childKey])
-                        r = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));
-                }
-                return r;
-            },
-            transformTozTreeFormat: function (setting, sNodes) {
-                var i, l,
-                    key = setting.data.simpleData.idKey,
-                    parentKey = setting.data.simpleData.pIdKey,
-                    childKey = setting.data.key.children;
-                if (!key || key == "" || !sNodes) return [];
-
-                if (tools.isArray(sNodes)) {
-                    var r = [];
-                    var tmpMap = {};
-                    for (i = 0, l = sNodes.length; i < l; i++) {
-                        tmpMap[sNodes[i][key]] = sNodes[i];
-                    }
-                    for (i = 0, l = sNodes.length; i < l; i++) {
-                        if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
-                            if (!tmpMap[sNodes[i][parentKey]][childKey])
-                                tmpMap[sNodes[i][parentKey]][childKey] = [];
-                            tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
-                        } else {
-                            r.push(sNodes[i]);
-                        }
-                    }
-                    return r;
-                } else {
-                    return [sNodes];
-                }
-            }
-        },
-        //method of event proxy
-        event = {
-            bindEvent: function (setting) {
-                for (var i = 0, j = _init.bind.length; i < j; i++) {
-                    _init.bind[i].apply(this, arguments);
-                }
-            },
-            unbindEvent: function (setting) {
-                for (var i = 0, j = _init.unbind.length; i < j; i++) {
-                    _init.unbind[i].apply(this, arguments);
-                }
-            },
-            bindTree: function (setting) {
-                var eventParam = {
-                        treeId: setting.treeId
-                    },
-                    o = setting.treeObj;
-                if (!setting.view.txtSelectedEnable) {
-                    // for can't select text
-                    o.bind('selectstart', handler.onSelectStart).css({
-                        "-moz-user-select": "-moz-none"
-                    });
-                }
-                o.bind('click', eventParam, event.proxy);
-                o.bind('dblclick', eventParam, event.proxy);
-                o.bind('mouseover', eventParam, event.proxy);
-                o.bind('mouseout', eventParam, event.proxy);
-                o.bind('mousedown', eventParam, event.proxy);
-                o.bind('mouseup', eventParam, event.proxy);
-                o.bind('contextmenu', eventParam, event.proxy);
-            },
-            unbindTree: function (setting) {
-                var o = setting.treeObj;
-                o.unbind('selectstart', handler.onSelectStart)
-                    .unbind('click', event.proxy)
-                    .unbind('dblclick', event.proxy)
-                    .unbind('mouseover', event.proxy)
-                    .unbind('mouseout', event.proxy)
-                    .unbind('mousedown', event.proxy)
-                    .unbind('mouseup', event.proxy)
-                    .unbind('contextmenu', event.proxy);
-            },
-            doProxy: function (e) {
-                var results = [];
-                for (var i = 0, j = _init.proxys.length; i < j; i++) {
-                    var proxyResult = _init.proxys[i].apply(this, arguments);
-                    results.push(proxyResult);
-                    if (proxyResult.stop) {
-                        break;
-                    }
-                }
-                return results;
-            },
-            proxy: function (e) {
-                var setting = data.getSetting(e.data.treeId);
-                if (!tools.uCanDo(setting, e)) return true;
-                var results = event.doProxy(e),
-                    r = true, x = false;
-                for (var i = 0, l = results.length; i < l; i++) {
-                    var proxyResult = results[i];
-                    if (proxyResult.nodeEventCallback) {
-                        x = true;
-                        r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
-                    }
-                    if (proxyResult.treeEventCallback) {
-                        x = true;
-                        r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
-                    }
-                }
-                return r;
-            }
-        },
-        //method of event handler
-        handler = {
-            onSwitchNode: function (event, node) {
-                var setting = data.getSetting(event.data.treeId);
-                if (node.open) {
-                    if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;
-                    data.getRoot(setting).expandTriggerFlag = true;
-                    view.switchNode(setting, node);
-                } else {
-                    if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;
-                    data.getRoot(setting).expandTriggerFlag = true;
-                    view.switchNode(setting, node);
-                }
-                return true;
-            },
-            onClickNode: function (event, node) {
-                var setting = data.getSetting(event.data.treeId),
-                    clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;
-                if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;
-                if (clickFlag === 0) {
-                    view.cancelPreSelectedNode(setting, node);
-                } else {
-                    view.selectNode(setting, node, clickFlag === 2);
-                }
-                setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);
-                return true;
-            },
-            onZTreeMousedown: function (event, node) {
-                var setting = data.getSetting(event.data.treeId);
-                if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {
-                    tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);
-                }
-                return true;
-            },
-            onZTreeMouseup: function (event, node) {
-                var setting = data.getSetting(event.data.treeId);
-                if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {
-                    tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);
-                }
-                return true;
-            },
-            onZTreeDblclick: function (event, node) {
-                var setting = data.getSetting(event.data.treeId);
-                if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {
-                    tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);
-                }
-                return true;
-            },
-            onZTreeContextmenu: function (event, node) {
-                var setting = data.getSetting(event.data.treeId);
-                if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {
-                    tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);
-                }
-                return (typeof setting.callback.onRightClick) != "function";
-            },
-            onSelectStart: function (e) {
-                var n = e.originalEvent.srcElement.nodeName.toLowerCase();
-                return (n === "input" || n === "textarea" );
-            }
-        },
-        //method of tools for zTree
-        tools = {
-            apply: function (fun, param, defaultValue) {
-                if ((typeof fun) == "function") {
-                    return fun.apply(zt, param ? param : []);
-                }
-                return defaultValue;
-            },
-            canAsync: function (setting, node) {
-                var childKey = setting.data.key.children;
-                return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0)));
-            },
-            clone: function (obj) {
-                if (obj === null) return null;
-                var o = tools.isArray(obj) ? [] : {};
-                for (var i in obj) {
-                    o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? tools.clone(obj[i]) : obj[i]);
-                }
-                return o;
-            },
-            eqs: function (str1, str2) {
-                return str1.toLowerCase() === str2.toLowerCase();
-            },
-            isArray: function (arr) {
-                return Object.prototype.toString.apply(arr) === "[object Array]";
-            },
-            isElement: function (o) {
-                return (
-                    typeof HTMLElement === "object" ? o instanceof HTMLElement : //DOM2
-                        o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string"
-                );
-            },
-            $: function (node, exp, setting) {
-                if (!!exp && typeof exp != "string") {
-                    setting = exp;
-                    exp = "";
-                }
-                if (typeof node == "string") {
-                    return $(node, setting ? setting.treeObj.get(0).ownerDocument : null);
-                } else {
-                    return $("#" + node.tId + exp, setting ? setting.treeObj : null);
-                }
-            },
-            getMDom: function (setting, curDom, targetExpr) {
-                if (!curDom) return null;
-                while (curDom && curDom.id !== setting.treeId) {
-                    for (var i = 0, l = targetExpr.length; curDom.tagName && i < l; i++) {
-                        if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {
-                            return curDom;
-                        }
-                    }
-                    curDom = curDom.parentNode;
-                }
-                return null;
-            },
-            getNodeMainDom: function (target) {
-                return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0));
-            },
-            isChildOrSelf: function (dom, parentId) {
-                return ( $(dom).closest("#" + parentId).length > 0 );
-            },
-            uCanDo: function (setting, e) {
-                return true;
-            }
-        },
-        //method of operate ztree dom
-        view = {
-            addNodes: function (setting, parentNode, index, newNodes, isSilent) {
-                if (setting.data.keep.leaf && parentNode && !parentNode.isParent) {
-                    return;
-                }
-                if (!tools.isArray(newNodes)) {
-                    newNodes = [newNodes];
-                }
-                if (setting.data.simpleData.enable) {
-                    newNodes = data.transformTozTreeFormat(setting, newNodes);
-                }
-                if (parentNode) {
-                    var target_switchObj = $$(parentNode, consts.id.SWITCH, setting),
-                        target_icoObj = $$(parentNode, consts.id.ICON, setting),
-                        target_ulObj = $$(parentNode, consts.id.UL, setting);
-
-                    if (!parentNode.open) {
-                        view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);
-                        view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);
-                        parentNode.open = false;
-                        target_ulObj.css({
-                            "display": "none"
-                        });
-                    }
-
-                    data.addNodesData(setting, parentNode, index, newNodes);
-                    view.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index);
-                    if (!isSilent) {
-                        view.expandCollapseParentNode(setting, parentNode, true);
-                    }
-                } else {
-                    data.addNodesData(setting, data.getRoot(setting), index, newNodes);
-                    view.createNodes(setting, 0, newNodes, null, index);
-                }
-            },
-            appendNodes: function (setting, level, nodes, parentNode, index, initFlag, openFlag) {
-                if (!nodes) return [];
-                var html = [],
-                    childKey = setting.data.key.children;
-
-                var tmpPNode = (parentNode) ? parentNode : data.getRoot(setting),
-                    tmpPChild = tmpPNode[childKey],
-                    isFirstNode, isLastNode;
-
-                if (!tmpPChild || index >= tmpPChild.length - nodes.length) {
-                    index = -1;
-                }
-
-                for (var i = 0, l = nodes.length; i < l; i++) {
-                    var node = nodes[i];
-                    if (initFlag) {
-                        isFirstNode = ((index === 0 || tmpPChild.length == nodes.length) && (i == 0));
-                        isLastNode = (index < 0 && i == (nodes.length - 1));
-                        data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);
-                        data.addNodeCache(setting, node);
-                    }
-
-                    var childHtml = [];
-                    if (node[childKey] && node[childKey].length > 0) {
-                        //make child html first, because checkType
-                        childHtml = view.appendNodes(setting, level + 1, node[childKey], node, -1, initFlag, openFlag && node.open);
-                    }
-                    if (openFlag) {
-
-                        view.makeDOMNodeMainBefore(html, setting, node);
-                        view.makeDOMNodeLine(html, setting, node);
-                        data.getBeforeA(setting, node, html);
-                        view.makeDOMNodeNameBefore(html, setting, node);
-                        data.getInnerBeforeA(setting, node, html);
-                        view.makeDOMNodeIcon(html, setting, node);
-                        data.getInnerAfterA(setting, node, html);
-                        view.makeDOMNodeNameAfter(html, setting, node);
-                        data.getAfterA(setting, node, html);
-                        if (node.isParent && node.open) {
-                            view.makeUlHtml(setting, node, html, childHtml.join(''));
-                        }
-                        view.makeDOMNodeMainAfter(html, setting, node);
-                        data.addCreatedNode(setting, node);
-                    }
-                }
-                return html;
-            },
-            appendParentULDom: function (setting, node) {
-                var html = [],
-                    nObj = $$(node, setting);
-                if (!nObj.get(0) && !!node.parentTId) {
-                    view.appendParentULDom(setting, node.getParentNode());
-                    nObj = $$(node, setting);
-                }
-                var ulObj = $$(node, consts.id.UL, setting);
-                if (ulObj.get(0)) {
-                    ulObj.remove();
-                }
-                var childKey = setting.data.key.children,
-                    childHtml = view.appendNodes(setting, node.level + 1, node[childKey], node, -1, false, true);
-                view.makeUlHtml(setting, node, html, childHtml.join(''));
-                nObj.append(html.join(''));
-            },
-            asyncNode: function (setting, node, isSilent, callback) {
-                var i, l;
-                if (node && !node.isParent) {
-                    tools.apply(callback);
-                    return false;
-                } else if (node && node.isAjaxing) {
-                    return false;
-                } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {
-                    tools.apply(callback);
-                    return false;
-                }
-                if (node) {
-                    node.isAjaxing = true;
-                    var icoObj = $$(node, consts.id.ICON, setting);
-                    icoObj.attr({"style": "", "class": consts.className.BUTTON + " " + consts.className.ICO_LOADING});
-                }
-
-                var tmpParam = {};
-                for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) {
-                    var pKey = setting.async.autoParam[i].split("="), spKey = pKey;
-                    if (pKey.length > 1) {
-                        spKey = pKey[1];
-                        pKey = pKey[0];
-                    }
-                    tmpParam[spKey] = node[pKey];
-                }
-                if (tools.isArray(setting.async.otherParam)) {
-                    for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) {
-                        tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1];
-                    }
-                } else {
-                    for (var p in setting.async.otherParam) {
-                        tmpParam[p] = setting.async.otherParam[p];
-                    }
-                }
-
-                var _tmpV = data.getRoot(setting)._ver;
-                $.ajax({
-                    contentType: setting.async.contentType,
-                    cache: false,
-                    type: setting.async.type,
-                    url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),
-                    data: setting.async.contentType.indexOf('application/json') > -1 ? JSON.stringify(tmpParam) : tmpParam,
-                    dataType: setting.async.dataType,
-                    success: function (msg) {
-                        if (_tmpV != data.getRoot(setting)._ver) {
-                            return;
-                        }
-                        var newNodes = [];
-                        try {
-                            if (!msg || msg.length == 0) {
-                                newNodes = [];
-                            } else if (typeof msg == "string") {
-                                newNodes = eval("(" + msg + ")");
-                            } else {
-                                newNodes = msg;
-                            }
-                        } catch (err) {
-                            newNodes = msg;
-                        }
-
-                        if (node) {
-                            node.isAjaxing = null;
-                            node.zAsync = true;
-                        }
-                        view.setNodeLineIcos(setting, node);
-                        if (newNodes && newNodes !== "") {
-                            newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);
-                            view.addNodes(setting, node, -1, !!newNodes ? tools.clone(newNodes) : [], !!isSilent);
-                        } else {
-                            view.addNodes(setting, node, -1, [], !!isSilent);
-                        }
-                        setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);
-                        tools.apply(callback);
-                    },
-                    error: function (XMLHttpRequest, textStatus, errorThrown) {
-                        if (_tmpV != data.getRoot(setting)._ver) {
-                            return;
-                        }
-                        if (node) node.isAjaxing = null;
-                        view.setNodeLineIcos(setting, node);
-                        setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);
-                    }
-                });
-                return true;
-            },
-            cancelPreSelectedNode: function (setting, node, excludeNode) {
-                var list = data.getRoot(setting).curSelectedList,
-                    i, n;
-                for (i = list.length - 1; i >= 0; i--) {
-                    n = list[i];
-                    if (node === n || (!node && (!excludeNode || excludeNode !== n))) {
-                        $$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED);
-                        if (node) {
-                            data.removeSelectedNode(setting, node);
-                            break;
-                        } else {
-                            list.splice(i, 1);
-                            setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]);
-                        }
-                    }
-                }
-            },
-            createNodeCallback: function (setting) {
-                if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
-                    var root = data.getRoot(setting);
-                    while (root.createdNodes.length > 0) {
-                        var node = root.createdNodes.shift();
-                        tools.apply(setting.view.addDiyDom, [setting.treeId, node]);
-                        if (!!setting.callback.onNodeCreated) {
-                            setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);
-                        }
-                    }
-                }
-            },
-            createNodes: function (setting, level, nodes, parentNode, index) {
-                if (!nodes || nodes.length == 0) return;
-                var root = data.getRoot(setting),
-                    childKey = setting.data.key.children,
-                    openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0);
-                root.createdNodes = [];
-                var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag),
-                    parentObj, nextObj;
-
-                if (!parentNode) {
-                    parentObj = setting.treeObj;
-                    //setting.treeObj.append(zTreeHtml.join(''));
-                } else {
-                    var ulObj = $$(parentNode, consts.id.UL, setting);
-                    if (ulObj.get(0)) {
-                        parentObj = ulObj;
-                        //ulObj.append(zTreeHtml.join(''));
-                    }
-                }
-                if (parentObj) {
-                    if (index >= 0) {
-                        nextObj = parentObj.children()[index];
-                    }
-                    if (index >= 0 && nextObj) {
-                        $(nextObj).before(zTreeHtml.join(''));
-                    } else {
-                        parentObj.append(zTreeHtml.join(''));
-                    }
-                }
-
-                view.createNodeCallback(setting);
-            },
-            destroy: function (setting) {
-                if (!setting) return;
-                data.initCache(setting);
-                data.initRoot(setting);
-                event.unbindTree(setting);
-                event.unbindEvent(setting);
-                setting.treeObj.empty();
-                delete settings[setting.treeId];
-            },
-            expandCollapseNode: function (setting, node, expandFlag, animateFlag, callback) {
-                var root = data.getRoot(setting),
-                    childKey = setting.data.key.children;
-                var tmpCb, _callback;
-                if (!node) {
-                    tools.apply(callback, []);
-                    return;
-                }
-                if (root.expandTriggerFlag) {
-                    _callback = callback;
-                    tmpCb = function () {
-                        if (_callback) _callback();
-                        if (node.open) {
-                            setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);
-                        } else {
-                            setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);
-                        }
-                    };
-                    callback = tmpCb;
-                    root.expandTriggerFlag = false;
-                }
-                if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length > 0 && !$$(node[childKey][0], setting).get(0)))) {
-                    view.appendParentULDom(setting, node);
-                    view.createNodeCallback(setting);
-                }
-                if (node.open == expandFlag) {
-                    tools.apply(callback, []);
-                    return;
-                }
-                var ulObj = $$(node, consts.id.UL, setting),
-                    switchObj = $$(node, consts.id.SWITCH, setting),
-                    icoObj = $$(node, consts.id.ICON, setting);
-
-                if (node.isParent) {
-                    node.open = !node.open;
-                    if (node.iconOpen && node.iconClose) {
-                        icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
-                    }
-
-                    if (node.open) {
-                        view.replaceSwitchClass(node, switchObj, consts.folder.OPEN);
-                        view.replaceIcoClass(node, icoObj, consts.folder.OPEN);
-                        if (animateFlag == false || setting.view.expandSpeed == "") {
-                            ulObj.show();
-                            tools.apply(callback, []);
-                        } else {
-                            if (node[childKey] && node[childKey].length > 0) {
-                                ulObj.slideDown(setting.view.expandSpeed, callback);
-                            } else {
-                                ulObj.show();
-                                tools.apply(callback, []);
-                            }
-                        }
-                    } else {
-                        view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);
-                        view.replaceIcoClass(node, icoObj, consts.folder.CLOSE);
-                        if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) {
-                            ulObj.hide();
-                            tools.apply(callback, []);
-                        } else {
-                            ulObj.slideUp(setting.view.expandSpeed, callback);
-                        }
-                    }
-                } else {
-                    tools.apply(callback, []);
-                }
-            },
-            expandCollapseParentNode: function (setting, node, expandFlag, animateFlag, callback) {
-                if (!node) return;
-                if (!node.parentTId) {
-                    view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);
-                    return;
-                } else {
-                    view.expandCollapseNode(setting, node, expandFlag, animateFlag);
-                }
-                if (node.parentTId) {
-                    view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);
-                }
-            },
-            expandCollapseSonNode: function (setting, node, expandFlag, animateFlag, callback) {
-                var root = data.getRoot(setting),
-                    childKey = setting.data.key.children,
-                    treeNodes = (node) ? node[childKey] : root[childKey],
-                    selfAnimateSign = (node) ? false : animateFlag,
-                    expandTriggerFlag = data.getRoot(setting).expandTriggerFlag;
-                data.getRoot(setting).expandTriggerFlag = false;
-                if (treeNodes) {
-                    for (var i = 0, l = treeNodes.length; i < l; i++) {
-                        if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);
-                    }
-                }
-                data.getRoot(setting).expandTriggerFlag = expandTriggerFlag;
-                view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);
-            },
-            isSelectedNode: function (setting, node) {
-                if (!node) {
-                    return false;
-                }
-                var list = data.getRoot(setting).curSelectedList,
-                    i;
-                for (i = list.length - 1; i >= 0; i--) {
-                    if (node === list[i]) {
-                        return true;
-                    }
-                }
-                return false;
-            },
-            makeDOMNodeIcon: function (html, setting, node) {
-                var nameStr = data.getNodeName(setting, node),
-                    name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
-                html.push("<span id='", node.tId, consts.id.ICON,
-                    "' title='' treeNode", consts.id.ICON, " class='", view.makeNodeIcoClass(setting, node),
-                    "' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN,
-                    "' class='", consts.className.NAME,
-                    "'>", name, "</span>");
-            },
-            makeDOMNodeLine: function (html, setting, node) {
-                html.push("<span id='", node.tId, consts.id.SWITCH, "' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH, "></span>");
-            },
-            makeDOMNodeMainAfter: function (html, setting, node) {
-                html.push("</li>");
-            },
-            makeDOMNodeMainBefore: function (html, setting, node) {
-                html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level, "' tabindex='0' hidefocus='true' treenode>");
-            },
-            makeDOMNodeNameAfter: function (html, setting, node) {
-                html.push("</a>");
-            },
-            makeDOMNodeNameBefore: function (html, setting, node) {
-                var title = data.getNodeTitle(setting, node),
-                    url = view.makeNodeUrl(setting, node),
-                    fontcss = view.makeNodeFontCss(setting, node),
-                    fontStyle = [];
-                for (var f in fontcss) {
-                    fontStyle.push(f, ":", fontcss[f], ";");
-                }
-                html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level, "' treeNode", consts.id.A, " onclick=\"", (node.click || ''),
-                    "\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='", view.makeNodeTarget(node), "' style='", fontStyle.join(''),
-                    "'");
-                if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {
-                    html.push("title='", title.replace(/'/g, "&#39;").replace(/</g, '&lt;').replace(/>/g, '&gt;'), "'");
-                }
-                html.push(">");
-            },
-            makeNodeFontCss: function (setting, node) {
-                var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);
-                return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {};
-            },
-            makeNodeIcoClass: function (setting, node) {
-                var icoCss = ["ico"];
-                if (!node.isAjaxing) {
-                    icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0];
-                    if (node.isParent) {
-                        icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
-                    } else {
-                        icoCss.push(consts.folder.DOCU);
-                    }
-                }
-                return consts.className.BUTTON + " " + icoCss.join('_');
-            },
-            makeNodeIcoStyle: function (setting, node) {
-                var icoStyle = [];
-                if (!node.isAjaxing) {
-                    var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.icon];
-                    if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;");
-                    if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {
-                        icoStyle.push("width:0px;height:0px;");
-                    }
-                }
-                return icoStyle.join('');
-            },
-            makeNodeLineClass: function (setting, node) {
-                var lineClass = [];
-                if (setting.view.showLine) {
-                    if (node.level == 0 && node.isFirstNode && node.isLastNode) {
-                        lineClass.push(consts.line.ROOT);
-                    } else if (node.level == 0 && node.isFirstNode) {
-                        lineClass.push(consts.line.ROOTS);
-                    } else if (node.isLastNode) {
-                        lineClass.push(consts.line.BOTTOM);
-                    } else {
-                        lineClass.push(consts.line.CENTER);
-                    }
-                } else {
-                    lineClass.push(consts.line.NOLINE);
-                }
-                if (node.isParent) {
-                    lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
-                } else {
-                    lineClass.push(consts.folder.DOCU);
-                }
-                return view.makeNodeLineClassEx(node) + lineClass.join('_');
-            },
-            makeNodeLineClassEx: function (node) {
-                return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " ";
-            },
-            makeNodeTarget: function (node) {
-                return (node.target || "_blank");
-            },
-            makeNodeUrl: function (setting, node) {
-                var urlKey = setting.data.key.url;
-                return node[urlKey] ? node[urlKey] : null;
-            },
-            makeUlHtml: function (setting, node, html, content) {
-                html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block" : "none"), "'>");
-                html.push(content);
-                html.push("</ul>");
-            },
-            makeUlLineClass: function (setting, node) {
-                return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : "");
-            },
-            removeChildNodes: function (setting, node) {
-                if (!node) return;
-                var childKey = setting.data.key.children,
-                    nodes = node[childKey];
-                if (!nodes) return;
-
-                for (var i = 0, l = nodes.length; i < l; i++) {
-                    data.removeNodeCache(setting, nodes[i]);
-                }
-                data.removeSelectedNode(setting);
-                delete node[childKey];
-
-                if (!setting.data.keep.parent) {
-                    node.isParent = false;
-                    node.open = false;
-                    var tmp_switchObj = $$(node, consts.id.SWITCH, setting),
-                        tmp_icoObj = $$(node, consts.id.ICON, setting);
-                    view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);
-                    view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);
-                    $$(node, consts.id.UL, setting).remove();
-                } else {
-                    $$(node, consts.id.UL, setting).empty();
-                }
-            },
-            scrollIntoView: function (setting, dom) {
-                if (!dom) {
-                    return;
-                }
-                // support IE 7
-                if (typeof Element === 'undefined') {
-                  var contRect = setting.treeObj.get(0).getBoundingClientRect(),
-                    findMeRect = dom.getBoundingClientRect();
-                  if (findMeRect.top < contRect.top || findMeRect.bottom > contRect.bottom
-                    || findMeRect.right > contRect.right || findMeRect.left < contRect.left) {
-                    dom.scrollIntoView();
-                  }
-                  return;
-                }
-                // code src: http://jsfiddle.net/08u6cxwj/
-                if (!Element.prototype.scrollIntoViewIfNeeded) {
-                    Element.prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) {
-                        function withinBounds(value, min, max, extent) {
-                            if (false === centerIfNeeded || max <= value + extent && value <= min + extent) {
-                                return Math.min(max, Math.max(min, value));
-                            } else {
-                                return (min + max) / 2;
-                            }
-                        }
-
-                        function makeArea(left, top, width, height) {
-                            return {
-                                "left": left, "top": top, "width": width, "height": height
-                                , "right": left + width, "bottom": top + height
-                                , "translate": function (x, y) {
-                                    return makeArea(x + left, y + top, width, height);
-                                }
-                                , "relativeFromTo": function (lhs, rhs) {
-                                    var newLeft = left, newTop = top;
-                                    lhs = lhs.offsetParent;
-                                    rhs = rhs.offsetParent;
-                                    if (lhs === rhs) {
-                                        return area;
-                                    }
-                                    for (; lhs; lhs = lhs.offsetParent) {
-                                        newLeft += lhs.offsetLeft + lhs.clientLeft;
-                                        newTop += lhs.offsetTop + lhs.clientTop;
-                                    }
-                                    for (; rhs; rhs = rhs.offsetParent) {
-                                        newLeft -= rhs.offsetLeft + rhs.clientLeft;
-                                        newTop -= rhs.offsetTop + rhs.clientTop;
-                                    }
-                                    return makeArea(newLeft, newTop, width, height);
-                                }
-                            };
-                        }
-
-                        var parent, elem = this, area = makeArea(
-                            this.offsetLeft, this.offsetTop,
-                            this.offsetWidth, this.offsetHeight);
-                        while (tools.isElement(parent = elem.parentNode)) {
-                            var clientLeft = parent.offsetLeft + parent.clientLeft;
-                            var clientTop = parent.offsetTop + parent.clientTop;
-
-                            // Make area relative to parent's client area.
-                            area = area.relativeFromTo(elem, parent).translate(-clientLeft, -clientTop);
-
-                            parent.scrollLeft = withinBounds(
-                                parent.scrollLeft,
-                                area.right - parent.clientWidth, area.left,
-                                parent.clientWidth);
-
-                            parent.scrollTop = withinBounds(
-                                parent.scrollTop,
-                                area.bottom - parent.clientHeight, area.top,
-                                parent.clientHeight);
-
-                            // Determine actual scroll amount by reading back scroll properties.
-                            area = area.translate(clientLeft - parent.scrollLeft,
-                                clientTop - parent.scrollTop);
-                            elem = parent;
-                        }
-                    };
-                }
-                dom.scrollIntoViewIfNeeded();
-            },
-            setFirstNode: function (setting, parentNode) {
-                var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
-                if (childLength > 0) {
-                    parentNode[childKey][0].isFirstNode = true;
-                }
-            },
-            setLastNode: function (setting, parentNode) {
-                var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
-                if (childLength > 0) {
-                    parentNode[childKey][childLength - 1].isLastNode = true;
-                }
-            },
-            removeNode: function (setting, node) {
-                var root = data.getRoot(setting),
-                    childKey = setting.data.key.children,
-                    parentNode = (node.parentTId) ? node.getParentNode() : root;
-
-                node.isFirstNode = false;
-                node.isLastNode = false;
-                node.getPreNode = function () {
-                    return null;
-                };
-                node.getNextNode = function () {
-                    return null;
-                };
-
-                if (!data.getNodeCache(setting, node.tId)) {
-                    return;
-                }
-
-                $$(node, setting).remove();
-                data.removeNodeCache(setting, node);
-                data.removeSelectedNode(setting, node);
-
-                for (var i = 0, l = parentNode[childKey].length; i < l; i++) {
-                    if (parentNode[childKey][i].tId == node.tId) {
-                        parentNode[childKey].splice(i, 1);
-                        break;
-                    }
-                }
-                view.setFirstNode(setting, parentNode);
-                view.setLastNode(setting, parentNode);
-
-                var tmp_ulObj, tmp_switchObj, tmp_icoObj,
-                    childLength = parentNode[childKey].length;
-
-                //repair nodes old parent
-                if (!setting.data.keep.parent && childLength == 0) {
-                    //old parentNode has no child nodes
-                    parentNode.isParent = false;
-                    parentNode.open = false;
-                    tmp_ulObj = $$(parentNode, consts.id.UL, setting);
-                    tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);
-                    tmp_icoObj = $$(parentNode, consts.id.ICON, setting);
-                    view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);
-                    view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);
-                    tmp_ulObj.css("display", "none");
-
-                } else if (setting.view.showLine && childLength > 0) {
-                    //old parentNode has child nodes
-                    var newLast = parentNode[childKey][childLength - 1];
-                    tmp_ulObj = $$(newLast, consts.id.UL, setting);
-                    tmp_switchObj = $$(newLast, consts.id.SWITCH, setting);
-                    tmp_icoObj = $$(newLast, consts.id.ICON, setting);
-                    if (parentNode == root) {
-                        if (parentNode[childKey].length == 1) {
-                            //node was root, and ztree has only one root after move node
-                            view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);
-                        } else {
-                            var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting);
-                            view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS);
-                            view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
-                        }
-                    } else {
-                        view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
-                    }
-                    tmp_ulObj.removeClass(consts.line.LINE);
-                }
-            },
-            replaceIcoClass: function (node, obj, newName) {
-                if (!obj || node.isAjaxing) return;
-                var tmpName = obj.attr("class");
-                if (tmpName == undefined) return;
-                var tmpList = tmpName.split("_");
-                switch (newName) {
-                    case consts.folder.OPEN:
-                    case consts.folder.CLOSE:
-                    case consts.folder.DOCU:
-                        tmpList[tmpList.length - 1] = newName;
-                        break;
-                }
-                obj.attr("class", tmpList.join("_"));
-            },
-            replaceSwitchClass: function (node, obj, newName) {
-                if (!obj) return;
-                var tmpName = obj.attr("class");
-                if (tmpName == undefined) return;
-                var tmpList = tmpName.split("_");
-                switch (newName) {
-                    case consts.line.ROOT:
-                    case consts.line.ROOTS:
-                    case consts.line.CENTER:
-                    case consts.line.BOTTOM:
-                    case consts.line.NOLINE:
-                        tmpList[0] = view.makeNodeLineClassEx(node) + newName;
-                        break;
-                    case consts.folder.OPEN:
-                    case consts.folder.CLOSE:
-                    case consts.folder.DOCU:
-                        tmpList[1] = newName;
-                        break;
-                }
-                obj.attr("class", tmpList.join("_"));
-                if (newName !== consts.folder.DOCU) {
-                    obj.removeAttr("disabled");
-                } else {
-                    obj.attr("disabled", "disabled");
-                }
-            },
-            selectNode: function (setting, node, addFlag) {
-                if (!addFlag) {
-                    view.cancelPreSelectedNode(setting, null, node);
-                }
-                $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);
-                data.addSelectedNode(setting, node);
-                setting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, node]);
-            },
-            setNodeFontCss: function (setting, treeNode) {
-                var aObj = $$(treeNode, consts.id.A, setting),
-                    fontCss = view.makeNodeFontCss(setting, treeNode);
-                if (fontCss) {
-                    aObj.css(fontCss);
-                }
-            },
-            setNodeLineIcos: function (setting, node) {
-                if (!node) return;
-                var switchObj = $$(node, consts.id.SWITCH, setting),
-                    ulObj = $$(node, consts.id.UL, setting),
-                    icoObj = $$(node, consts.id.ICON, setting),
-                    ulLine = view.makeUlLineClass(setting, node);
-                if (ulLine.length == 0) {
-                    ulObj.removeClass(consts.line.LINE);
-                } else {
-                    ulObj.addClass(ulLine);
-                }
-                switchObj.attr("class", view.makeNodeLineClass(setting, node));
-                if (node.isParent) {
-                    switchObj.removeAttr("disabled");
-                } else {
-                    switchObj.attr("disabled", "disabled");
-                }
-                icoObj.removeAttr("style");
-                icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
-                icoObj.attr("class", view.makeNodeIcoClass(setting, node));
-            },
-            setNodeName: function (setting, node) {
-                var title = data.getNodeTitle(setting, node),
-                    nObj = $$(node, consts.id.SPAN, setting);
-                nObj.empty();
-                if (setting.view.nameIsHTML) {
-                    nObj.html(data.getNodeName(setting, node));
-                } else {
-                    nObj.text(data.getNodeName(setting, node));
-                }
-                if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {
-                    var aObj = $$(node, consts.id.A, setting);
-                    aObj.attr("title", !title ? "" : title);
-                }
-            },
-            setNodeTarget: function (setting, node) {
-                var aObj = $$(node, consts.id.A, setting);
-                aObj.attr("target", view.makeNodeTarget(node));
-            },
-            setNodeUrl: function (setting, node) {
-                var aObj = $$(node, consts.id.A, setting),
-                    url = view.makeNodeUrl(setting, node);
-                if (url == null || url.length == 0) {
-                    aObj.removeAttr("href");
-                } else {
-                    aObj.attr("href", url);
-                }
-            },
-            switchNode: function (setting, node) {
-                if (node.open || !tools.canAsync(setting, node)) {
-                    view.expandCollapseNode(setting, node, !node.open);
-                } else if (setting.async.enable) {
-                    if (!view.asyncNode(setting, node)) {
-                        view.expandCollapseNode(setting, node, !node.open);
-                        return;
-                    }
-                } else if (node) {
-                    view.expandCollapseNode(setting, node, !node.open);
-                }
-            }
-        };
-    // zTree defind
-    $.fn.zTree = {
-        consts: _consts,
-        _z: {
-            tools: tools,
-            view: view,
-            event: event,
-            data: data
-        },
-        getZTreeObj: function (treeId) {
-            var o = data.getZTreeTools(treeId);
-            return o ? o : null;
-        },
-        destroy: function (treeId) {
-            if (!!treeId && treeId.length > 0) {
-                view.destroy(data.getSetting(treeId));
-            } else {
-                for (var s in settings) {
-                    view.destroy(settings[s]);
-                }
-            }
-        },
-        init: function (obj, zSetting, zNodes) {
-            var setting = tools.clone(_setting);
-            $.extend(true, setting, zSetting);
-            setting.treeId = obj.attr("id");
-            setting.treeObj = obj;
-            setting.treeObj.empty();
-            settings[setting.treeId] = setting;
-            //For some older browser,(e.g., ie6)
-            if (typeof document.body.style.maxHeight === "undefined") {
-                setting.view.expandSpeed = "";
-            }
-            data.initRoot(setting);
-            var root = data.getRoot(setting),
-                childKey = setting.data.key.children;
-            zNodes = zNodes ? tools.clone(tools.isArray(zNodes) ? zNodes : [zNodes]) : [];
-            if (setting.data.simpleData.enable) {
-                root[childKey] = data.transformTozTreeFormat(setting, zNodes);
-            } else {
-                root[childKey] = zNodes;
-            }
-
-            data.initCache(setting);
-            event.unbindTree(setting);
-            event.bindTree(setting);
-            event.unbindEvent(setting);
-            event.bindEvent(setting);
-
-            var zTreeTools = {
-                setting: setting,
-                addNodes: function (parentNode, index, newNodes, isSilent) {
-                    if (!parentNode) parentNode = null;
-                    if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null;
-
-                    var i = parseInt(index, 10);
-                    if (isNaN(i)) {
-                        isSilent = !!newNodes;
-                        newNodes = index;
-                        index = -1;
-                    } else {
-                        index = i;
-                    }
-                    if (!newNodes) return null;
-
-
-                    var xNewNodes = tools.clone(tools.isArray(newNodes) ? newNodes : [newNodes]);
-
-                    function addCallback() {
-                        view.addNodes(setting, parentNode, index, xNewNodes, (isSilent == true));
-                    }
-
-                    if (tools.canAsync(setting, parentNode)) {
-                        view.asyncNode(setting, parentNode, isSilent, addCallback);
-                    } else {
-                        addCallback();
-                    }
-                    return xNewNodes;
-                },
-                cancelSelectedNode: function (node) {
-                    view.cancelPreSelectedNode(setting, node);
-                },
-                destroy: function () {
-                    view.destroy(setting);
-                },
-                expandAll: function (expandFlag) {
-                    expandFlag = !!expandFlag;
-                    view.expandCollapseSonNode(setting, null, expandFlag, true);
-                    return expandFlag;
-                },
-                expandNode: function (node, expandFlag, sonSign, focus, callbackFlag) {
-                    if (!node || !node.isParent) return null;
-                    if (expandFlag !== true && expandFlag !== false) {
-                        expandFlag = !node.open;
-                    }
-                    callbackFlag = !!callbackFlag;
-
-                    if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {
-                        return null;
-                    } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {
-                        return null;
-                    }
-                    if (expandFlag && node.parentTId) {
-                        view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);
-                    }
-                    if (expandFlag === node.open && !sonSign) {
-                        return null;
-                    }
-
-                    data.getRoot(setting).expandTriggerFlag = callbackFlag;
-                    if (!tools.canAsync(setting, node) && sonSign) {
-                        view.expandCollapseSonNode(setting, node, expandFlag, true, showNodeFocus);
-                    } else {
-                        node.open = !expandFlag;
-                        view.switchNode(this.setting, node);
-                        showNodeFocus();
-                    }
-                    return expandFlag;
-
-                    function showNodeFocus() {
-                        var a = $$(node, setting).get(0);
-                        if (a && focus !== false) {
-                            view.scrollIntoView(setting, a);
-                        }
-                    }
-                },
-                getNodes: function () {
-                    return data.getNodes(setting);
-                },
-                getNodeByParam: function (key, value, parentNode) {
-                    if (!key) return null;
-                    return data.getNodeByParam(setting, parentNode ? parentNode[setting.data.key.children] : data.getNodes(setting), key, value);
-                },
-                getNodeByTId: function (tId) {
-                    return data.getNodeCache(setting, tId);
-                },
-                getNodesByParam: function (key, value, parentNode) {
-                    if (!key) return null;
-                    return data.getNodesByParam(setting, parentNode ? parentNode[setting.data.key.children] : data.getNodes(setting), key, value);
-                },
-                getNodesByParamFuzzy: function (key, value, parentNode) {
-                    if (!key) return null;
-                    return data.getNodesByParamFuzzy(setting, parentNode ? parentNode[setting.data.key.children] : data.getNodes(setting), key, value);
-                },
-                getNodesByFilter: function (filter, isSingle, parentNode, invokeParam) {
-                    isSingle = !!isSingle;
-                    if (!filter || (typeof filter != "function")) return (isSingle ? null : []);
-                    return data.getNodesByFilter(setting, parentNode ? parentNode[setting.data.key.children] : data.getNodes(setting), filter, isSingle, invokeParam);
-                },
-                getNodeIndex: function (node) {
-                    if (!node) return null;
-                    var childKey = setting.data.key.children,
-                        parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
-                    for (var i = 0, l = parentNode[childKey].length; i < l; i++) {
-                        if (parentNode[childKey][i] == node) return i;
-                    }
-                    return -1;
-                },
-                getSelectedNodes: function () {
-                    var r = [], list = data.getRoot(setting).curSelectedList;
-                    for (var i = 0, l = list.length; i < l; i++) {
-                        r.push(list[i]);
-                    }
-                    return r;
-                },
-                isSelectedNode: function (node) {
-                    return data.isSelectedNode(setting, node);
-                },
-                reAsyncChildNodesPromise: function (parentNode, reloadType, isSilent) {
-                    var promise = new Promise(function(resolve, reject) {
-                        try {
-                            zTreeTools.reAsyncChildNodes(parentNode, reloadType, isSilent, function() {
-                                resolve(parentNode);
-                            });
-                        } catch(e) {
-                            reject(e);
-                        }
-                    });
-                    return promise;
-                },
-                reAsyncChildNodes: function (parentNode, reloadType, isSilent, callback) {
-                    if (!this.setting.async.enable) return;
-                    var isRoot = !parentNode;
-                    if (isRoot) {
-                        parentNode = data.getRoot(setting);
-                    }
-                    if (reloadType == "refresh") {
-                        var childKey = this.setting.data.key.children;
-                        for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) {
-                            data.removeNodeCache(setting, parentNode[childKey][i]);
-                        }
-                        data.removeSelectedNode(setting);
-                        parentNode[childKey] = [];
-                        if (isRoot) {
-                            this.setting.treeObj.empty();
-                        } else {
-                            var ulObj = $$(parentNode, consts.id.UL, setting);
-                            ulObj.empty();
-                        }
-                    }
-                    view.asyncNode(this.setting, isRoot ? null : parentNode, !!isSilent, callback);
-                },
-                refresh: function () {
-                    this.setting.treeObj.empty();
-                    var root = data.getRoot(setting),
-                        nodes = root[setting.data.key.children]
-                    data.initRoot(setting);
-                    root[setting.data.key.children] = nodes
-                    data.initCache(setting);
-                    view.createNodes(setting, 0, root[setting.data.key.children], null, -1);
-                },
-                removeChildNodes: function (node) {
-                    if (!node) return null;
-                    var childKey = setting.data.key.children,
-                        nodes = node[childKey];
-                    view.removeChildNodes(setting, node);
-                    return nodes ? nodes : null;
-                },
-                removeNode: function (node, callbackFlag) {
-                    if (!node) return;
-                    callbackFlag = !!callbackFlag;
-                    if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;
-                    view.removeNode(setting, node);
-                    if (callbackFlag) {
-                        this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
-                    }
-                },
-                selectNode: function (node, addFlag, isSilent) {
-                    if (!node) return;
-                    if (tools.uCanDo(setting)) {
-                        addFlag = setting.view.selectedMulti && addFlag;
-                        if (node.parentTId) {
-                            view.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus);
-                        } else if (!isSilent) {
-                            try {
-                                $$(node, setting).focus().blur();
-                            } catch (e) {
-                            }
-                        }
-                        view.selectNode(setting, node, addFlag);
-                    }
-
-                    function showNodeFocus() {
-                        if (isSilent) {
-                            return;
-                        }
-                        var a = $$(node, setting).get(0);
-                        view.scrollIntoView(setting, a);
-                    }
-                },
-                transformTozTreeNodes: function (simpleNodes) {
-                    return data.transformTozTreeFormat(setting, simpleNodes);
-                },
-                transformToArray: function (nodes) {
-                    return data.transformToArrayFormat(setting, nodes);
-                },
-                updateNode: function (node, checkTypeFlag) {
-                    if (!node) return;
-                    var nObj = $$(node, setting);
-                    if (nObj.get(0) && tools.uCanDo(setting)) {
-                        view.setNodeName(setting, node);
-                        view.setNodeTarget(setting, node);
-                        view.setNodeUrl(setting, node);
-                        view.setNodeLineIcos(setting, node);
-                        view.setNodeFontCss(setting, node);
-                    }
-                }
-            }
-            root.treeTools = zTreeTools;
-            data.setZTreeTools(setting, zTreeTools);
-
-            if (root[childKey] && root[childKey].length > 0) {
-                view.createNodes(setting, 0, root[childKey], null, -1);
-            } else if (setting.async.enable && setting.async.url && setting.async.url !== '') {
-                view.asyncNode(setting);
-            }
-            return zTreeTools;
-        }
-    };
-
-    var zt = $.fn.zTree,
-        $$ = tools.$,
-        consts = zt.consts;
-})(jQuery);
\ No newline at end of file
diff --git a/server/target/classes/static/js/lazyload.js b/server/target/classes/static/js/lazyload.js
deleted file mode 100644
index 5beff48..0000000
--- a/server/target/classes/static/js/lazyload.js
+++ /dev/null
@@ -1,65 +0,0 @@
-function isInSight(el) {
-    var bound = el.getBoundingClientRect();
-    var clientHeight = window.innerHeight;
-    //只考虑向下滚动加载
-    //const clientWidth=window.innerWeight;
-    return bound.top <= clientHeight + 100;
-}
-
-var index = 0;
-
-function checkImgs() {
-    var imgs = document.querySelectorAll('.my-photo');
-    for (var i = index; i < imgs.length; i++) {
-        if (isInSight(imgs[i])) {
-            loadImg(imgs[i]);
-            index = i;
-        }
-    }
-}
-
-function loadImg(el) {
-    var source = el.getAttribute("data-src");
-    el.src = source;
-}
-// var mustRun = 500
-// function throttle(fn, mustRun) {
-//     var timer = null;
-//     var previous = null;
-//     return function() {
-//         var now = new Date();
-//         var context = this;
-//         var args = arguments;
-//         if (!previous) {
-//             previous = now;
-//         }
-//         var remaining = now - previous;
-//         if (mustRun && remaining >= mustRun) {
-//             fn.apply(context, args);
-//             previous = now;
-//         }
-//     }
-// }
-
-
-function throttle(fn) {
-    var timer = null;
-    var previous = null;
-    return function () {
-        var now = new Date();
-        var context = this;
-        var args = arguments;
-        if (!previous) {
-            previous = now;
-        }
-        var remaining = now - previous;
-        setTimeout(refresh(fn, remaining, context, args, previous, now));
-    }
-}
-
-function refresh(fn, remaining, context, args, previous, now) {
-    if (remaining >= 500) {
-        fn.apply(context, args);
-        previous = now;
-    }
-}
diff --git a/server/target/classes/static/js/marked.min.js b/server/target/classes/static/js/marked.min.js
deleted file mode 100644
index 80c66b0..0000000
--- a/server/target/classes/static/js/marked.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * marked - a markdown parser
- * Copyright (c) 2011-2020, Christopher Jeffrey. (MIT Licensed)
- * https://github.com/markedjs/marked
- */
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).marked=t()}(this,function(){"use strict";function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t){var n;if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator])return(n=e[Symbol.iterator]()).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}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 n(e){return c[e]}var e,t=(function(t){function e(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}t.exports={defaults:e(),getDefaults:e,changeDefaults:function(e){t.exports.defaults=e}}}(e={exports:{}}),e.exports),r=(t.defaults,t.getDefaults,t.changeDefaults,/[&<>"']/),l=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,o=/[<>"']|&(?!#?\w+;)/g,c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};var u=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(u,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var g=/(^|[^\[])\^/g;var f=/[^\w:]/g,d=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var k={},b=/^[^:]+:\/*[^/]*$/,m=/^([^:]+:)[\s\S]*$/,x=/^([^:]+:\/*[^/]*)[\s\S]*$/;function w(e,t){k[" "+e]||(b.test(e)?k[" "+e]=e+"/":k[" "+e]=v(e,"/",!0));var n=-1===(e=k[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(m,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(x,"$1")+t:e+t}function v(e,t,n){var r=e.length;if(0===r)return"";for(var i=0;i<r;){var s=e.charAt(r-i-1);if(s!==t||n){if(s===t||!n)break;i++}else i++}return e.substr(0,r-i)}var _=function(e,t){if(t){if(r.test(e))return e.replace(l,n)}else if(a.test(e))return e.replace(o,n);return e},y=h,z=function(n,e){n=n.source||n,e=e||"";var r={replace:function(e,t){return t=(t=t.source||t).replace(g,"$1"),n=n.replace(e,t),r},getRegex:function(){return new RegExp(n,e)}};return r},S=function(e,t,n){if(e){var r;try{r=decodeURIComponent(h(n)).replace(f,"").toLowerCase()}catch(e){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!d.test(n)&&(n=w(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n},$={exec:function(){}},A=function(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},R=function(e,t){var n=e.replace(/\|/g,function(e,t,n){for(var r=!1,i=t;0<=--i&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n},T=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i<n;i++)if("\\"===e[i])i++;else if(e[i]===t[0])r++;else if(e[i]===t[1]&&--r<0)return i;return-1},I=function(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")},Z=function(e,t){if(t<1)return"";for(var n="";1<t;)1&t&&(n+=e),t>>=1,e+=e;return n+e},q=t.defaults,O=v,C=R,U=_,j=T;function E(e,t,n){var r=t.href,i=t.title?U(t.title):null,t=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:n,href:r,title:i,text:t}:{type:"image",raw:n,href:r,title:i,text:U(t)}}var D=function(){function e(e){this.options=e||q}var t=e.prototype;return t.space=function(e){e=this.rules.block.newline.exec(e);if(e)return 1<e[0].length?{type:"space",raw:e[0]}:{raw:"\n"}},t.code=function(e,t){e=this.rules.block.code.exec(e);if(e){t=t[t.length-1];if(t&&"paragraph"===t.type)return{raw:e[0],text:e[0].trimRight()};t=e[0].replace(/^ {4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:O(t,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],e=function(e,t){if(null===(e=e.match(/^(\s+)(?:```)/)))return t;var n=e[1];return t.split("\n").map(function(e){var t=e.match(/^\s+/);return null!==t&&t[0].length>=n.length?e.slice(n.length):e}).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]&&t[2].trim(),text:e}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();return/#$/.test(n)&&(e=O(n,"#"),!this.options.pedantic&&e&&!/ $/.test(e)||(n=e.trim())),{type:"heading",raw:t[0],depth:t[1].length,text:n}}},t.nptable=function(e){e=this.rules.block.nptable.exec(e);if(e){var t={type:"table",header:C(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[],raw:e[0]};if(t.header.length===t.align.length){for(var n=t.align.length,r=0;r<n;r++)/^ *-+: *$/.test(t.align[r])?t.align[r]="right":/^ *:-+: *$/.test(t.align[r])?t.align[r]="center":/^ *:-+ *$/.test(t.align[r])?t.align[r]="left":t.align[r]=null;for(n=t.cells.length,r=0;r<n;r++)t.cells[r]=C(t.cells[r],t.header.length);return t}}},t.hr=function(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:e[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){e=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],text:e}}},t.list=function(e){e=this.rules.block.list.exec(e);if(e){for(var t,n,r,i,s,l=e[0],a=e[2],o=1<a.length,c={type:"list",raw:l,ordered:o,start:o?+a.slice(0,-1):"",loose:!1,items:[]},u=e[0].match(this.rules.block.item),p=!1,h=u.length,g=this.rules.block.listItemStart.exec(u[0]),f=0;f<h;f++){if(l=t=u[f],f!==h-1){if((r=this.rules.block.listItemStart.exec(u[f+1]))[1].length>g[0].length||3<r[1].length){u.splice(f,2,u[f]+"\n"+u[f+1]),f--,h--;continue}(!this.options.pedantic||this.options.smartLists?r[2][r[2].length-1]!==a[a.length-1]:o==(1===r[2].length))&&(n=u.slice(f+1).join("\n"),c.raw=c.raw.substring(0,c.raw.length-n.length),f=h-1),g=r}r=t.length,~(t=t.replace(/^ *([*+-]|\d+[.)]) ?/,"")).indexOf("\n ")&&(r-=t.length,t=this.options.pedantic?t.replace(/^ {1,4}/gm,""):t.replace(new RegExp("^ {1,"+r+"}","gm"),"")),r=p||/\n\n(?!\s*$)/.test(t),f!==h-1&&(p="\n"===t.charAt(t.length-1),r=r||p),r&&(c.loose=!0),this.options.gfm&&(s=void 0,(i=/^\[[ xX]\] /.test(t))&&(s=" "!==t[1],t=t.replace(/^\[[ xX]\] +/,""))),c.items.push({type:"list_item",raw:l,task:i,checked:s,loose:r,text:t})}return c}},t.html=function(e){e=this.rules.block.html.exec(e);if(e)return{type:this.options.sanitize?"paragraph":"html",raw:e[0],pre:!this.options.sanitizer&&("pre"===e[1]||"script"===e[1]||"style"===e[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):U(e[0]):e[0]}},t.def=function(e){e=this.rules.block.def.exec(e);if(e)return e[3]&&(e[3]=e[3].substring(1,e[3].length-1)),{tag:e[1].toLowerCase().replace(/\s+/g," "),raw:e[0],href:e[2],title:e[3]}},t.table=function(e){e=this.rules.block.table.exec(e);if(e){var t={type:"table",header:C(e[1].replace(/^ *| *\| *$/g,"")),align:e[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:e[3]?e[3].replace(/\n$/,"").split("\n"):[]};if(t.header.length===t.align.length){t.raw=e[0];for(var n=t.align.length,r=0;r<n;r++)/^ *-+: *$/.test(t.align[r])?t.align[r]="right":/^ *:-+: *$/.test(t.align[r])?t.align[r]="center":/^ *:-+ *$/.test(t.align[r])?t.align[r]="left":t.align[r]=null;for(n=t.cells.length,r=0;r<n;r++)t.cells[r]=C(t.cells[r].replace(/^ *\| *| *\| *$/g,""),t.header.length);return t}}},t.lheading=function(e){e=this.rules.block.lheading.exec(e);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1]}},t.paragraph=function(e){e=this.rules.block.paragraph.exec(e);if(e)return{type:"paragraph",raw:e[0],text:"\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1]}},t.text=function(e,t){e=this.rules.block.text.exec(e);if(e){t=t[t.length-1];return t&&"text"===t.type?{raw:e[0],text:e[0]}:{type:"text",raw:e[0],text:e[0]}}},t.escape=function(e){e=this.rules.inline.escape.exec(e);if(e)return{type:"escape",raw:e[0],text:U(e[1])}},t.tag=function(e,t,n){e=this.rules.inline.tag.exec(e);if(e)return!t&&/^<a /i.test(e[0])?t=!0:t&&/^<\/a>/i.test(e[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):U(e[0]):e[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;e=O(n.slice(0,-1),"\\");if((n.length-e.length)%2==0)return}else{var r=j(t[2],"()");-1<r&&(s=(0===t[0].indexOf("!")?5:4)+t[1].length+r,t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,s).trim(),t[3]="")}var i,r=t[2],s="";return this.options.pedantic?(i=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r),i&&(r=i[1],s=i[3])):s=t[3]?t[3].slice(1,-1):"",r=r.trim(),/^</.test(r)&&(r=this.options.pedantic&&!/>$/.test(n)?r.slice(1):r.slice(1,-1)),E(t,{href:r&&r.replace(this.rules.inline._escapes,"$1"),title:s&&s.replace(this.rules.inline._escapes,"$1")},t[0])}},t.reflink=function(e,t){if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){e=(n[2]||n[1]).replace(/\s+/g," ");if((e=t[e.toLowerCase()])&&e.href)return E(n,e,n[0]);var n=n[0].charAt(0);return{type:"text",raw:n,text:n}}},t.strong=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.strong.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var i,s="**"===r[0]?this.rules.inline.strong.endAst:this.rules.inline.strong.endUnd;for(s.lastIndex=0;null!=(r=s.exec(t));)if(i=this.rules.inline.strong.middle.exec(t.slice(0,r.index+3)))return{type:"strong",raw:e.slice(0,i[0].length),text:e.slice(2,i[0].length-2)}}},t.em=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.em.start.exec(e);if(r&&(!r[1]||r[1]&&(""===n||this.rules.inline.punctuation.exec(n)))){t=t.slice(-1*e.length);var i,s="*"===r[0]?this.rules.inline.em.endAst:this.rules.inline.em.endUnd;for(s.lastIndex=0;null!=(r=s.exec(t));)if(i=this.rules.inline.em.middle.exec(t.slice(0,r.index+2)))return{type:"em",raw:e.slice(0,i[0].length),text:e.slice(1,i[0].length-1)}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),e=/^ /.test(n)&&/ $/.test(n);return r&&e&&(n=n.substring(1,n.length-1)),n=U(n,!0),{type:"codespan",raw:t[0],text:n}}},t.br=function(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}},t.del=function(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2]}},t.autolink=function(e,t){e=this.rules.inline.autolink.exec(e);if(e){var n,t="@"===e[2]?"mailto:"+(n=U(this.options.mangle?t(e[1]):e[1])):n=U(e[1]);return{type:"link",raw:e[0],text:n,href:t,tokens:[{type:"text",raw:n,text:n}]}}},t.url=function(e,t){var n,r,i,s;if(n=this.rules.inline.url.exec(e)){if("@"===n[2])i="mailto:"+(r=U(this.options.mangle?t(n[0]):n[0]));else{for(;s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0],s!==n[0];);r=U(n[0]),i="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}},t.inlineText=function(e,t,n){e=this.rules.inline.text.exec(e);if(e){n=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):U(e[0]):e[0]:U(this.options.smartypants?n(e[0]):e[0]);return{type:"text",raw:e[0],text:n}}},e}(),R=$,T=z,$=A,z={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:R,table:R,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};z.def=T(z.def).replace("label",z._label).replace("title",z._title).getRegex(),z.bullet=/(?:[*+-]|\d{1,9}[.)])/,z.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,z.item=T(z.item,"gm").replace(/bull/g,z.bullet).getRegex(),z.listItemStart=T(/^( *)(bull)/).replace("bull",z.bullet).getRegex(),z.list=T(z.list).replace(/bull/g,z.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+z.def.source+")").getRegex(),z._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",z._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/,z.html=T(z.html,"i").replace("comment",z._comment).replace("tag",z._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),z.paragraph=T(z._paragraph).replace("hr",z.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",z._tag).getRegex(),z.blockquote=T(z.blockquote).replace("paragraph",z.paragraph).getRegex(),z.normal=$({},z),z.gfm=$({},z.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),z.gfm.nptable=T(z.gfm.nptable).replace("hr",z.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",z._tag).getRegex(),z.gfm.table=T(z.gfm.table).replace("hr",z.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",z._tag).getRegex(),z.pedantic=$({},z.normal,{html:T("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",z._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:R,paragraph:T(z.normal._paragraph).replace("hr",z.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",z.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:R,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",strong:{start:/^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,middle:/^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,endAst:/[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/},em:{start:/^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,middle:/^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,endAst:/[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/,endUnd:/[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:R,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\s*punctuation])/,_punctuation:"!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~"};R.punctuation=T(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R._blockSkip="\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>",R._overlapSkip="__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*",R._comment=T(z._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.em.start=T(R.em.start).replace(/punctuation/g,R._punctuation).getRegex(),R.em.middle=T(R.em.middle).replace(/punctuation/g,R._punctuation).replace(/overlapSkip/g,R._overlapSkip).getRegex(),R.em.endAst=T(R.em.endAst,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.em.endUnd=T(R.em.endUnd,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.strong.start=T(R.strong.start).replace(/punctuation/g,R._punctuation).getRegex(),R.strong.middle=T(R.strong.middle).replace(/punctuation/g,R._punctuation).replace(/overlapSkip/g,R._overlapSkip).getRegex(),R.strong.endAst=T(R.strong.endAst,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.strong.endUnd=T(R.strong.endUnd,"g").replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=T(R._blockSkip,"g").getRegex(),R.overlapSkip=T(R._overlapSkip,"g").getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,R.autolink=T(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=T(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=T(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=T(R.reflink).replace("label",R._label).getRegex(),R.reflinkSearch=T(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=$({},R),R.pedantic=$({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:T(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:T(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=$({},R.normal,{escape:T(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),R.gfm.url=T(R.gfm.url,"i").replace("email",R.gfm._extended_email).getRegex(),R.breaks=$({},R.gfm,{br:T(R.br).replace("{2,}","*").getRegex(),text:T(R.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});var R={block:z,inline:R},P=t.defaults,L=R.block,N=R.inline,B=Z;function F(e){return e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function M(e){for(var t,n="",r=e.length,i=0;i<r;i++)t=e.charCodeAt(i),.5<Math.random()&&(t="x"+t.toString(16)),n+="&#"+t+";";return n}var X=function(){function n(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||P,this.options.tokenizer=this.options.tokenizer||new D,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;e={block:L.normal,inline:N.normal};this.options.pedantic?(e.block=L.pedantic,e.inline=N.pedantic):this.options.gfm&&(e.block=L.gfm,this.options.breaks?e.inline=N.breaks:e.inline=N.gfm),this.tokenizer.rules=e}n.lex=function(e,t){return new n(t).lex(e)},n.lexInline=function(e,t){return new n(t).inlineTokens(e)};var e,t,r=n.prototype;return r.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},r.blockTokens=function(e,t,n){var r,i,s,l;for(void 0===t&&(t=[]),void 0===n&&(n=!0),e=e.replace(/^ +$/gm,"");e;)if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),r.type&&t.push(r);else if(r=this.tokenizer.code(e,t))e=e.substring(r.raw.length),r.type?t.push(r):((l=t[t.length-1]).raw+="\n"+r.raw,l.text+="\n"+r.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.nptable(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),r.tokens=this.blockTokens(r.text,[],n),t.push(r);else if(r=this.tokenizer.list(e)){for(e=e.substring(r.raw.length),s=r.items.length,i=0;i<s;i++)r.items[i].tokens=this.blockTokens(r.items[i].text,[],!1);t.push(r)}else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.def(e)))e=e.substring(r.raw.length),this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else if(n&&(r=this.tokenizer.paragraph(e)))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.text(e,t))e=e.substring(r.raw.length),r.type?t.push(r):((l=t[t.length-1]).raw+="\n"+r.raw,l.text+="\n"+r.text);else if(e){var a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}throw new Error(a)}return t},r.inline=function(e){for(var t,n,r,i,s,l=e.length,a=0;a<l;a++)switch((s=e[a]).type){case"paragraph":case"text":case"heading":s.tokens=[],this.inlineTokens(s.text,s.tokens);break;case"table":for(s.tokens={header:[],cells:[]},r=s.header.length,t=0;t<r;t++)s.tokens.header[t]=[],this.inlineTokens(s.header[t],s.tokens.header[t]);for(r=s.cells.length,t=0;t<r;t++)for(i=s.cells[t],s.tokens.cells[t]=[],n=0;n<i.length;n++)s.tokens.cells[t][n]=[],this.inlineTokens(i[n],s.tokens.cells[t][n]);break;case"blockquote":this.inline(s.tokens);break;case"list":for(r=s.items.length,t=0;t<r;t++)this.inline(s.items[t].tokens)}return e},r.inlineTokens=function(e,t,n,r){var i;void 0===t&&(t=[]),void 0===n&&(n=!1),void 0===r&&(r=!1);var s,l,a,o=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(0<c.length)for(;null!=(s=this.tokenizer.rules.inline.reflinkSearch.exec(o));)c.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,s.index)+"["+B("a",s[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(s=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,s.index)+"["+B("a",s[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;e;)if(l||(a=""),l=!1,i=this.tokenizer.escape(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.tag(e,n,r))e=e.substring(i.raw.length),n=i.inLink,r=i.inRawBlock,t.push(i);else if(i=this.tokenizer.link(e))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,r)),t.push(i);else if(i=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(i.raw.length),"link"===i.type&&(i.tokens=this.inlineTokens(i.text,[],!0,r)),t.push(i);else if(i=this.tokenizer.strong(e,o,a))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.em(e,o,a))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.codespan(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.br(e))e=e.substring(i.raw.length),t.push(i);else if(i=this.tokenizer.del(e))e=e.substring(i.raw.length),i.tokens=this.inlineTokens(i.text,[],n,r),t.push(i);else if(i=this.tokenizer.autolink(e,M))e=e.substring(i.raw.length),t.push(i);else if(n||!(i=this.tokenizer.url(e,M))){if(i=this.tokenizer.inlineText(e,r,F))e=e.substring(i.raw.length),a=i.raw.slice(-1),l=!0,t.push(i);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}else e=e.substring(i.raw.length),t.push(i);return t},e=n,t=[{key:"rules",get:function(){return{block:L,inline:N}}}],(r=null)&&i(e.prototype,r),t&&i(e,t),n}(),G=t.defaults,V=S,H=_,J=function(){function e(e){this.options=e||G}var t=e.prototype;return t.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];return!this.options.highlight||null!=(t=this.options.highlight(e,r))&&t!==e&&(n=!0,e=t),r?'<pre><code class="'+this.options.langPrefix+H(r,!0)+'">'+(n?e:H(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:H(e,!0))+"</code></pre>\n"},t.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},t.html=function(e){return e},t.heading=function(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},t.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},t.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"},t.listitem=function(e){return"<li>"+e+"</li>\n"},t.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},t.paragraph=function(e){return"<p>"+e+"</p>\n"},t.table=function(e,t){return"<table>\n<thead>\n"+e+"</thead>\n"+(t=t&&"<tbody>"+t+"</tbody>")+"</table>\n"},t.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},t.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},t.strong=function(e){return"<strong>"+e+"</strong>"},t.em=function(e){return"<em>"+e+"</em>"},t.codespan=function(e){return"<code>"+e+"</code>"},t.br=function(){return this.options.xhtml?"<br/>":"<br>"},t.del=function(e){return"<del>"+e+"</del>"},t.link=function(e,t,n){if(null===(e=V(this.options.sanitize,this.options.baseUrl,e)))return n;e='<a href="'+H(e)+'"';return t&&(e+=' title="'+t+'"'),e+=">"+n+"</a>"},t.image=function(e,t,n){if(null===(e=V(this.options.sanitize,this.options.baseUrl,e)))return n;n='<img src="'+e+'" alt="'+n+'"';return t&&(n+=' title="'+t+'"'),n+=this.options.xhtml?"/>":">"},t.text=function(e){return e},e}(),K=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),Q=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n))for(r=this.seen[e];n=e+"-"+ ++r,this.seen.hasOwnProperty(n););return t||(this.seen[e]=r,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),W=t.defaults,Y=y,ee=function(){function n(e){this.options=e||W,this.options.renderer=this.options.renderer||new J,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new K,this.slugger=new Q}n.parse=function(e,t){return new n(t).parse(e)},n.parseInline=function(e,t){return new n(t).parseInline(e)};var e=n.prototype;return e.parse=function(e,t){void 0===t&&(t=!0);for(var n,r,i,s,l,a,o,c,u,p,h,g,f,d,k,b="",m=e.length,x=0;x<m;x++)switch((c=e[x]).type){case"space":continue;case"hr":b+=this.renderer.hr();continue;case"heading":b+=this.renderer.heading(this.parseInline(c.tokens),c.depth,Y(this.parseInline(c.tokens,this.textRenderer)),this.slugger);continue;case"code":b+=this.renderer.code(c.text,c.lang,c.escaped);continue;case"table":for(a=u="",i=c.header.length,n=0;n<i;n++)a+=this.renderer.tablecell(this.parseInline(c.tokens.header[n]),{header:!0,align:c.align[n]});for(u+=this.renderer.tablerow(a),o="",i=c.cells.length,n=0;n<i;n++){for(a="",s=(l=c.tokens.cells[n]).length,r=0;r<s;r++)a+=this.renderer.tablecell(this.parseInline(l[r]),{header:!1,align:c.align[r]});o+=this.renderer.tablerow(a)}b+=this.renderer.table(u,o);continue;case"blockquote":o=this.parse(c.tokens),b+=this.renderer.blockquote(o);continue;case"list":for(u=c.ordered,w=c.start,p=c.loose,i=c.items.length,o="",n=0;n<i;n++)f=(g=c.items[n]).checked,d=g.task,h="",g.task&&(k=this.renderer.checkbox(f),p?0<g.tokens.length&&"text"===g.tokens[0].type?(g.tokens[0].text=k+" "+g.tokens[0].text,g.tokens[0].tokens&&0<g.tokens[0].tokens.length&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=k+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:k}):h+=k),h+=this.parse(g.tokens,p),o+=this.renderer.listitem(h,d,f);b+=this.renderer.list(o,u,w);continue;case"html":b+=this.renderer.html(c.text);continue;case"paragraph":b+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(o=c.tokens?this.parseInline(c.tokens):c.text;x+1<m&&"text"===e[x+1].type;)o+="\n"+((c=e[++x]).tokens?this.parseInline(c.tokens):c.text);b+=t?this.renderer.paragraph(o):o;continue;default:var w='Token with "'+c.type+'" type was not found.';if(this.options.silent)return void console.error(w);throw new Error(w)}return b},e.parseInline=function(e,t){t=t||this.renderer;for(var n,r="",i=e.length,s=0;s<i;s++)switch((n=e[s]).type){case"escape":r+=t.text(n.text);break;case"html":r+=t.html(n.text);break;case"link":r+=t.link(n.href,n.title,this.parseInline(n.tokens,t));break;case"image":r+=t.image(n.href,n.title,n.text);break;case"strong":r+=t.strong(this.parseInline(n.tokens,t));break;case"em":r+=t.em(this.parseInline(n.tokens,t));break;case"codespan":r+=t.codespan(n.text);break;case"br":r+=t.br();break;case"del":r+=t.del(this.parseInline(n.tokens,t));break;case"text":r+=t.text(n.text);break;default:var l='Token with "'+n.type+'" type was not found.';if(this.options.silent)return void console.error(l);throw new Error(l)}return r},n}(),te=A,ne=I,re=_,_=t.getDefaults,ie=t.changeDefaults,t=t.defaults;function se(e,n,r){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if("function"==typeof n&&(r=n,n=null),n=te({},se.defaults,n||{}),ne(n),r){var i,s=n.highlight;try{i=X.lex(e,n)}catch(e){return r(e)}var l=function(t){var e;if(!t)try{e=ee.parse(i,n)}catch(e){t=e}return n.highlight=s,t?r(t):r(null,e)};if(!s||s.length<3)return l();if(delete n.highlight,!i.length)return l();var a=0;return se.walkTokens(i,function(n){"code"===n.type&&(a++,setTimeout(function(){s(n.text,n.lang,function(e,t){return e?l(e):(null!=t&&t!==n.text&&(n.text=t,n.escaped=!0),void(0===--a&&l()))})},0))}),void(0===a&&l())}try{var t=X.lex(e,n);return n.walkTokens&&se.walkTokens(t,n.walkTokens),ee.parse(t,n)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",n.silent)return"<p>An error occurred:</p><pre>"+re(e.message+"",!0)+"</pre>";throw e}}return se.options=se.setOptions=function(e){return te(se.defaults,e),ie(se.defaults),se},se.getDefaults=_,se.defaults=t,se.use=function(a){var t,n=te({},a);a.renderer&&function(){var e,l=se.defaults.renderer||new J;for(e in a.renderer)!function(i){var s=l[i];l[i]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=a.renderer[i].apply(l,t);return!1===r&&(r=s.apply(l,t)),r}}(e);n.renderer=l}(),a.tokenizer&&function(){var e,l=se.defaults.tokenizer||new D;for(e in a.tokenizer)!function(i){var s=l[i];l[i]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=a.tokenizer[i].apply(l,t);return!1===r&&(r=s.apply(l,t)),r}}(e);n.tokenizer=l}(),a.walkTokens&&(t=se.defaults.walkTokens,n.walkTokens=function(e){a.walkTokens(e),t&&t(e)}),se.setOptions(n)},se.walkTokens=function(e,t){for(var n,r=p(e);!(n=r()).done;){var i=n.value;switch(t(i),i.type){case"table":for(var s=p(i.tokens.header);!(l=s()).done;){var l=l.value;se.walkTokens(l,t)}for(var a,o=p(i.tokens.cells);!(a=o()).done;)for(var c=p(a.value);!(u=c()).done;){var u=u.value;se.walkTokens(u,t)}break;case"list":se.walkTokens(i.items,t);break;default:i.tokens&&se.walkTokens(i.tokens,t)}}},se.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=te({},se.defaults,t||{}),ne(t);try{var n=X.lexInline(e,t);return t.walkTokens&&se.walkTokens(n,t.walkTokens),ee.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"<p>An error occurred:</p><pre>"+re(e.message+"",!0)+"</pre>";throw e}},se.Parser=ee,se.parser=ee.parse,se.Renderer=J,se.TextRenderer=K,se.Lexer=X,se.lexer=X.lex,se.Tokenizer=D,se.Slugger=Q,se.parse=se});
\ No newline at end of file
diff --git a/server/target/classes/static/js/tiff.min.js b/server/target/classes/static/js/tiff.min.js
deleted file mode 100644
index 63e3081..0000000
--- a/server/target/classes/static/js/tiff.min.js
+++ /dev/null
@@ -1,3189 +0,0 @@
-(function() {/*
-
-   ----
-   tiff.js: https://github.com/seikichi/tiff.js
-
-   Copyright (C) 2013 seikichi[at]kmc.gr.jp
-
-   This software is provided 'as-is', without any express or implied
-   warranty. In no event will the authors be held liable for any damages
-   arising from the use of this software.
-
-   Permission is granted to anyone to use this software for any purpose,
-   including commercial applications, and to alter it and redistribute it
-   freely, subject to the following restrictions:
-
-   1. The origin of this software must not be misrepresented; you must not
-   claim that you wrote the original software. If you use this software
-   in a product, an acknowledgment in the product documentation would be
-   appreciated but is not required.
-
-   2. Altered source versions must be plainly marked as such, and must not be
-   misrepresented as being the original software.
-
-   3. This notice may not be removed or altered from any source
-   distribution.
-   ----
-   zlib: http://www.zlib.net/
-
-   Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
-
-   This software is provided 'as-is', without any express or implied
-   warranty.  In no event will the authors be held liable for any damages
-   arising from the use of this software.
-
-   Permission is granted to anyone to use this software for any purpose,
-   including commercial applications, and to alter it and redistribute it
-   freely, subject to the following restrictions:
-
-   1. The origin of this software must not be misrepresented; you must not
-   claim that you wrote the original software. If you use this software
-   in a product, an acknowledgment in the product documentation would be
-   appreciated but is not required.
-   2. Altered source versions must be plainly marked as such, and must not be
-   misrepresented as being the original software.
-   3. This notice may not be removed or altered from any source distribution.
-
-   Jean-loup Gailly        Mark Adler
-   jloup@gzip.org          madler@alumni.caltech.edu
-
-
-   The data format used by the zlib library is described by RFCs (Request for
-   Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
-   (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
-   ----
-   LibTIFF: http://www.remotesensing.org/libtiff/
-
-   Copyright (c) 1988-1997 Sam Leffler
-   Copyright (c) 1991-1997 Silicon Graphics, Inc.
-
-   Permission to use, copy, modify, distribute, and sell this software and 
-   its documentation for any purpose is hereby granted without fee, provided
-   that (i) the above copyright notices and this permission notice appear in
-   all copies of the software and related documentation, and (ii) the names of
-   Sam Leffler and Silicon Graphics may not be used in any advertising or
-   publicity relating to the software without the specific, prior written
-   permission of Sam Leffler and Silicon Graphics.
-
-   THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
-   EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
-   WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
-
-   IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-   ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-   OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-   WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
-   LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
-   OF THIS SOFTWARE.
-*/
-var loadModule=function(Lb){function nc(r){eval.call(null,r)}function fb(r,v){r||Vc("Assertion failed: "+v)}function me(r){var v=F["_"+r];if(!v)try{v=eval("_"+r)}catch(A){}fb(v,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)");return v}function If(r,v,A,fa){A=A||"i8";"*"===A.charAt(A.length-1)&&(A="i32");switch(A){case "i1":Dd[r>>0]=v;break;case "i8":Dd[r>>0]=v;break;case "i16":gf[r>>1]=v;break;case "i32":Sb[r>>2]=v;break;case "i64":kg=[v>>>0,(Re=v,1<=+Fg(Re)?
-0<Re?(dj(+Lh(Re/4294967296),4294967295)|0)>>>0:~~+ej((Re-+(~~Re>>>0))/4294967296)>>>0:0)];Sb[r>>2]=kg[0];Sb[r+4>>2]=kg[1];break;case "float":mf[r>>2]=v;break;case "double":tf[r>>3]=v;break;default:Vc("invalid type for setValue: "+A)}}function dg(r,v,A){v=v||"i8";"*"===v.charAt(v.length-1)&&(v="i32");switch(v){case "i1":return Dd[r>>0];case "i8":return Dd[r>>0];case "i16":return gf[r>>1];case "i32":return Sb[r>>2];case "i64":return Sb[r>>2];case "float":return mf[r>>2];case "double":return tf[r>>3];
-default:Vc("invalid type for setValue: "+v)}return null}function vc(r,v,A,fa){var D,F;"number"===typeof r?(D=!0,F=r):(D=!1,F=r.length);var ya="string"===typeof v?v:null;A=4==A?fa:[uf,ra.stackAlloc,ra.staticAlloc,ra.dynamicAlloc][void 0===A?2:A](Math.max(F,ya?1:v.length));if(D){fa=A;fb(0==(A&3));for(r=A+(F&-4);fa<r;fa+=4)Sb[fa>>2]=0;for(r=A+F;fa<r;)Dd[fa++>>0]=0;return A}if("i8"===ya)return r.subarray||r.slice?Od.set(r,A):Od.set(new Uint8Array(r),A),A;fa=0;for(var S,ca;fa<F;){var Xd=r[fa];"function"===
-typeof Xd&&(Xd=ra.getFunctionIndex(Xd));D=ya||v[fa];0===D?fa++:("i64"==D&&(D="i32"),If(A+fa,Xd,D),ca!==D&&(S=ra.getNativeTypeSize(D),ca=D),fa+=S)}return A}function Yd(r,v){if(0===v||!r)return"";for(var A=0,fa,D=0;;){fa=Od[r+D>>0];A|=fa;if(0==fa&&!v)break;D++;if(v&&D==v)break}v||(v=D);fa="";if(128>A){for(;0<v;)A=String.fromCharCode.apply(String,Od.subarray(r,r+Math.min(v,1024))),fa=fa?fa+A:A,r+=1024,v-=1024;return fa}return F.UTF8ToString(r)}function nf(r,v){for(var A,fa,D,F,ya,S,ca="";;){A=r[v++];
-if(!A)return ca;A&128?(fa=r[v++]&63,192==(A&224)?ca+=String.fromCharCode((A&31)<<6|fa):(D=r[v++]&63,224==(A&240)?A=(A&15)<<12|fa<<6|D:(F=r[v++]&63,240==(A&248)?A=(A&7)<<18|fa<<12|D<<6|F:(ya=r[v++]&63,248==(A&252)?A=(A&3)<<24|fa<<18|D<<12|F<<6|ya:(S=r[v++]&63,A=(A&1)<<30|fa<<24|D<<18|F<<12|ya<<6|S))),65536>A?ca+=String.fromCharCode(A):(A-=65536,ca+=String.fromCharCode(55296|A>>10,56320|A&1023)))):ca+=String.fromCharCode(A)}}function Ug(r,v,A,fa){if(!(0<fa))return 0;var D=A;fa=A+fa-1;for(var F=0;F<
-r.length;++F){var ya=r.charCodeAt(F);55296<=ya&&57343>=ya&&(ya=65536+((ya&1023)<<10)|r.charCodeAt(++F)&1023);if(127>=ya){if(A>=fa)break;v[A++]=ya}else{if(2047>=ya){if(A+1>=fa)break;v[A++]=192|ya>>6}else{if(65535>=ya){if(A+2>=fa)break;v[A++]=224|ya>>12}else{if(2097151>=ya){if(A+3>=fa)break;v[A++]=240|ya>>18}else{if(67108863>=ya){if(A+4>=fa)break;v[A++]=248|ya>>24}else{if(A+5>=fa)break;v[A++]=252|ya>>30;v[A++]=128|ya>>24&63}v[A++]=128|ya>>18&63}v[A++]=128|ya>>12&63}v[A++]=128|ya>>6&63}v[A++]=128|ya&
-63}}v[A]=0;return A-D}function lg(r){for(var v=0,A=0;A<r.length;++A){var fa=r.charCodeAt(A);55296<=fa&&57343>=fa&&(fa=65536+((fa&1023)<<10)|r.charCodeAt(++A)&1023);127>=fa?++v:v=2047>=fa?v+2:65535>=fa?v+3:2097151>=fa?v+4:67108863>=fa?v+5:v+6}return v}function fj(r){function v(A,fa,D){fa=fa||Infinity;var F="",yc=[],aa;if("N"===r[ya]){ya++;"K"===r[ya]&&ya++;for(aa=[];"E"!==r[ya];)if("S"===r[ya]){ya++;var S=r.indexOf("_",ya),ra=r.substring(ya,S)||0;aa.push(Hk[ra]||"?");ya=S+1}else if("C"===r[ya])aa.push(aa[aa.length-
-1]),ya+=2;else{S=parseInt(r.substr(ya));ra=S.toString().length;if(!S||!ra){ya--;break}var Ka=r.substr(ya+ra,S);aa.push(Ka);Hk.push(Ka);ya+=ra+S}ya++;aa=aa.join("::");fa--;if(0===fa)return A?[aa]:aa}else if(("K"===r[ya]||Xd&&"L"===r[ya])&&ya++,S=parseInt(r.substr(ya)))ra=S.toString().length,aa=r.substr(ya+ra,S),ya+=ra+S;Xd=!1;"I"===r[ya]?(ya++,S=v(!0),ra=v(!0,1,!0),F+=ra[0]+" "+aa+"<"+S.join(", ")+">"):F=aa;a:for(;ya<r.length&&0<fa--;)if(aa=r[ya++],aa in ca)yc.push(ca[aa]);else switch(aa){case "P":yc.push(v(!0,
-1,!0)[0]+"*");break;case "R":yc.push(v(!0,1,!0)[0]+"&");break;case "L":ya++;S=r.indexOf("E",ya)-ya;yc.push(r.substr(ya,S));ya+=S+2;break;case "A":S=parseInt(r.substr(ya));ya+=S.toString().length;if("_"!==r[ya])throw"?";ya++;yc.push(v(!0,1,!0)[0]+" ["+S+"]");break;case "E":break a;default:F+="?"+aa;break a}D||1!==yc.length||"void"!==yc[0]||(yc=[]);return A?(F&&yc.push(F+"?"),yc):F+("("+yc.join(", ")+")")}var A=!!F.___cxa_demangle;if(A)try{var fa=uf(r.length);Ji(r.substr(1),fa);var D=uf(4),aa=F.___cxa_demangle(fa,
-0,0,D);if(0===dg(D,"i32")&&aa)return Yd(aa)}catch(S){}finally{fa&&vf(fa),D&&vf(D),aa&&vf(aa)}var ya=3,ca={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},Hk=[],Xd=!0,fa=r;try{if("Object._main"==r||"_main"==r)return"main()";"number"===typeof r&&(r=Yd(r));if("_"!==r[0]||"_"!==r[1]||"Z"!==r[2])return r;switch(r[3]){case "n":return"operator new()";
-case "d":return"operator delete()"}fa=v()}catch(S){fa+="?"}0<=fa.indexOf("?")&&!A&&ra.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return fa}function gj(r){return r.replace(/__Z[\w\d_]+/g,function(r){var A=fj(r);return r===A?r:r+" ["+A+"]"})}function wf(){var r=gj,v;a:{v=Error();if(!v.stack){try{throw Error(0);}catch(A){v=A}if(!v.stack){v="(no stack trace available)";break a}}v=v.stack.toString()}return r(v)}
-function Gg(r){0<r%4096&&(r+=4096-r%4096);return r}function Cj(){var r=Math.pow(2,31);if(we>=r)return!1;for(;ld<=we;)if(ld<r/2)ld=Gg(2*ld);else{var v=ld;ld=Gg((3*ld+r)/4);if(ld<=v)return!1}ld=Math.max(ld,16777216);if(ld>=r)return!1;try{if(ArrayBuffer.transfer)rd=ArrayBuffer.transfer(rd,ld);else{var A=Dd;rd=new ArrayBuffer(ld)}}catch(fa){return!1}if(!Dj(rd))return!1;F.buffer=rd;F.HEAP8=Dd=new Int8Array(rd);F.HEAP16=gf=new Int16Array(rd);F.HEAP32=Sb=new Int32Array(rd);F.HEAPU8=Od=new Uint8Array(rd);
-F.HEAPU16=Vg=new Uint16Array(rd);F.HEAPU32=xf=new Uint32Array(rd);F.HEAPF32=mf=new Float32Array(rd);F.HEAPF64=tf=new Float64Array(rd);ArrayBuffer.transfer||Dd.set(A);return!0}function mg(r){for(;0<r.length;){var v=r.shift();if("function"==typeof v)v();else{var A=v.func;"number"===typeof A?void 0===v.arg?ra.dynCall("v",A):ra.dynCall("vi",A,[v.arg]):A(void 0===v.arg?null:v.arg)}}}function Mh(r){Jf.unshift(r)}function Hg(r){Wg.unshift(r)}function yf(r,v,A){A=0<A?A:lg(r)+1;A=Array(A);r=Ug(r,A,0,A.length);
-v&&(A.length=r);return A}function Ji(r,v,A){r=yf(r,A);for(A=0;A<r.length;)Dd[v+A>>0]=r[A],A+=1}function Xg(r,v){for(var A=0;A<r.length;A++)Dd[v++>>0]=r[A]}function zf(r,v,A){for(var fa=0;fa<r.length;++fa)Dd[v++>>0]=r.charCodeAt(fa);A||(Dd[v>>0]=0)}function Yg(r){Uf++;F.monitorRunDependencies&&F.monitorRunDependencies(Uf)}function ng(r){Uf--;F.monitorRunDependencies&&F.monitorRunDependencies(Uf);0==Uf&&(null!==Nh&&(clearInterval(Nh),Nh=null),Vf&&(r=Vf,Vf=null,r()))}function eg(r){F.___errno_location&&
-(Sb[F.___errno_location()>>2]=r);return r}function hj(r,v){S.mainLoop.timingMode=r;S.mainLoop.timingValue=v;if(!S.mainLoop.func)return 1;if(0==r)S.mainLoop.scheduler=function(){setTimeout(S.mainLoop.runner,v)},S.mainLoop.method="timeout";else if(1==r)S.mainLoop.scheduler=function(){S.requestAnimationFrame(S.mainLoop.runner)},S.mainLoop.method="rAF";else if(2==r){if(!window.setImmediate){var A=[];window.addEventListener("message",function(r){r.source===window&&"__emcc"===r.data&&(r.stopPropagation(),
-A.shift()())},!0);window.setImmediate=function(r){A.push(r);window.postMessage("__emcc","*")}}S.mainLoop.scheduler=function(){window.setImmediate(S.mainLoop.runner)};S.mainLoop.method="immediate"}return 0}function Oh(r,v,A,fa,D){F.noExitRuntime=!0;fb(!S.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");S.mainLoop.func=r;S.mainLoop.arg=fa;var aa=
-S.mainLoop.currentlyRunningMainloop;S.mainLoop.runner=function(){if(!xe)if(0<S.mainLoop.queue.length){var v=Date.now(),A=S.mainLoop.queue.shift();A.func(A.arg);if(S.mainLoop.remainingBlockers){var D=S.mainLoop.remainingBlockers,yc=0==D%1?D-1:Math.floor(D);S.mainLoop.remainingBlockers=A.counted?yc:(8*D+(yc+.5))/9}console.log('main loop blocker "'+A.name+'" took '+(Date.now()-v)+" ms");S.mainLoop.updateStatus();setTimeout(S.mainLoop.runner,0)}else aa<S.mainLoop.currentlyRunningMainloop||(S.mainLoop.currentFrameNumber=
-S.mainLoop.currentFrameNumber+1|0,1==S.mainLoop.timingMode&&1<S.mainLoop.timingValue&&0!=S.mainLoop.currentFrameNumber%S.mainLoop.timingValue?S.mainLoop.scheduler():("timeout"===S.mainLoop.method&&F.ctx&&(F.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),S.mainLoop.method=""),S.mainLoop.runIter(function(){"undefined"!==
-typeof fa?ra.dynCall("vi",r,[fa]):ra.dynCall("v",r)}),aa<S.mainLoop.currentlyRunningMainloop||("object"===typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),S.mainLoop.scheduler())))};D||(v&&0<v?hj(0,1E3/v):hj(1,1),S.mainLoop.scheduler());if(A)throw"SimulateInfiniteLoop";}function Ph(){throw"bad";}function Qh(r){F.exit(r)}function Zg(r,v){ab.setThrew(r,v||1);throw"longjmp";}function ni(r,v){re.push(function(){ra.dynCall("vi",r,[v])});ni.level=re.length}function Af(r){var v,
-A;Af.called?(A=Sb[Rh>>2],v=Sb[A>>2]):(Af.called=!0,Td.USER=Td.LOGNAME="web_user",Td.PATH="/",Td.PWD="/",Td.HOME="/home/web_user",Td.LANG="C",Td._=F.thisProgram,v=vc(1024,"i8",2),A=vc(256,"i8*",2),Sb[A>>2]=v,Sb[Rh>>2]=A);var fa=[],D=0,aa;for(aa in r)if("string"===typeof r[aa]){var ya=aa+"="+r[aa];fa.push(ya);D+=ya.length}if(1024<D)throw Error("Environment size exceeded TOTAL_ENV_SIZE!");for(r=0;r<fa.length;r++)ya=fa[r],zf(ya,v),Sb[A+4*r>>2]=v,v+=ya.length+1;Sb[A+4*fa.length>>2]=0}function Ig(r){if(0===
-r)return 0;r=Yd(r);if(!Td.hasOwnProperty(r))return 0;Ig.ret&&vf(Ig.ret);Ig.ret=vc(yf(Td[r]),"i8",0);return Ig.ret}function og(r){var v=og;v.called||(we=Gg(we),v.called=!0,fb(ra.dynamicAlloc),v.alloc=ra.dynamicAlloc,ra.dynamicAlloc=function(){Vc("cannot dynamically allocate, sbrk now has control")});var A=we;return 0==r||v.alloc(r)?A:4294967295}function of(r){this.name="ExitStatus";this.message="Program terminated with exit("+r+")";this.status=r}function $g(r){function v(){if(!F.calledRun&&(F.calledRun=
-!0,!xe)){pg||(pg=!0,mg(qg));mg(rg);if(F.onRuntimeInitialized)F.onRuntimeInitialized();F._main&&Sh&&F.callMain(r);if(F.postRun)for("function"==typeof F.postRun&&(F.postRun=[F.postRun]);F.postRun.length;)Hg(F.postRun.shift());mg(Wg)}}r=r||F.arguments;null===Th&&(Th=Date.now());if(!(0<Uf)){if(F.preRun)for("function"==typeof F.preRun&&(F.preRun=[F.preRun]);F.preRun.length;)Mh(F.preRun.shift());mg(Jf);0<Uf||F.calledRun||(F.setStatus?(F.setStatus("Running..."),setTimeout(function(){setTimeout(function(){F.setStatus("")},
-1);v()},1)):v())}}function Jg(r,v){if(!v||!F.noExitRuntime){if(!F.noExitRuntime&&(xe=!0,se=Ej,mg(re),F.onExit))F.onExit(r);Bf?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):ah&&"function"===typeof quit&&quit(r);throw new of(r);}}function Vc(r){void 0!==r?(F.print(r),F.printErr(r),r=JSON.stringify(r)):r="";xe=!0;var v="abort("+r+") at "+wf()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";
-bh&&bh.forEach(function(A){v=A(v,r)});throw v;}var F={};"TOTAL_MEMORY"in Lb&&(F.TOTAL_MEMORY=Lb.TOTAL_MEMORY);F||(F=("undefined"!==typeof F?F:null)||{});var sg={},Kf;for(Kf in F)F.hasOwnProperty(Kf)&&(sg[Kf]=F[Kf]);var Uh="object"===typeof window,fg="function"===typeof importScripts,Bf="object"===typeof process&&"function"===typeof require&&!Uh&&!fg,ah=!Uh&&!Bf&&!fg;if(Bf){F.print||(F.print=function(r){process.stdout.write(r+"\n")});F.printErr||(F.printErr=function(r){process.stderr.write(r+"\n")});
-var Vh=require("fs"),Wh=require("path");F.read=function(r,v){r=Wh.normalize(r);var A=Vh.readFileSync(r);A||r==Wh.resolve(r)||(r=path.join(__dirname,"..","src",r),A=Vh.readFileSync(r));A&&!v&&(A=A.toString());return A};F.readBinary=function(r){r=F.read(r,!0);r.buffer||(r=new Uint8Array(r));fb(r.buffer);return r};F.load=function(r){nc(read(r))};F.thisProgram||(F.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");F.arguments=process.argv.slice(2);"undefined"!==typeof module&&
-(module.exports=F);process.on("uncaughtException",function(r){if(!(r instanceof of))throw r;});F.inspect=function(){return"[Emscripten Module object]"}}else if(ah)F.print||(F.print=print),"undefined"!=typeof printErr&&(F.printErr=printErr),F.read="undefined"!=typeof read?read:function(){throw"no read() available (jsc?)";},F.readBinary=function(r){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(r));r=read(r,"binary");fb("object"===typeof r);return r},"undefined"!=typeof scriptArgs?
-F.arguments=scriptArgs:"undefined"!=typeof arguments&&(F.arguments=arguments);else if(Uh||fg)F.read=function(r){var v=new XMLHttpRequest;v.open("GET",r,!1);v.send(null);return v.responseText},"undefined"!=typeof arguments&&(F.arguments=arguments),"undefined"!==typeof console?(F.print||(F.print=function(r){console.log(r)}),F.printErr||(F.printErr=function(r){console.log(r)})):F.print||(F.print=function(r){}),fg&&(F.load=importScripts),"undefined"===typeof F.setWindowTitle&&(F.setWindowTitle=function(r){document.title=
-r});else throw"Unknown runtime environment. Where are we?";!F.load&&F.read&&(F.load=function(r){nc(F.read(r))});F.print||(F.print=function(){});F.printErr||(F.printErr=F.print);F.arguments||(F.arguments=[]);F.thisProgram||(F.thisProgram="./this.program");F.print=F.print;F.printErr=F.printErr;F.preRun=[];F.postRun=[];for(Kf in sg)sg.hasOwnProperty(Kf)&&(F[Kf]=sg[Kf]);var ra={setTempRet0:function(r){oi=r},getTempRet0:function(){return oi},stackSave:function(){return se},stackRestore:function(r){se=
-r},getNativeTypeSize:function(r){switch(r){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===r[r.length-1]?ra.QUANTUM_SIZE:"i"===r[0]?(r=parseInt(r.substr(1)),fb(0===r%8),r/8):0}},getNativeFieldSize:function(r){return Math.max(ra.getNativeTypeSize(r),ra.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,v){"double"===v||"i64"===v?r&7&&(fb(4===(r&7)),r+=4):fb(0===(r&3));return r},getAlignSize:function(r,
-v,A){return A||"i64"!=r&&"double"!=r?r?Math.min(v||(r?ra.getNativeFieldSize(r):0),ra.QUANTUM_SIZE):Math.min(v,8):8},dynCall:function(r,v,A){return A&&A.length?(A.splice||(A=Array.prototype.slice.call(A)),A.splice(0,0,v),F["dynCall_"+r].apply(null,A)):F["dynCall_"+r].call(null,v)},functionPointers:[],addFunction:function(r){for(var v=0;v<ra.functionPointers.length;v++)if(!ra.functionPointers[v])return ra.functionPointers[v]=r,2*(1+v);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";
-},removeFunction:function(r){ra.functionPointers[(r-2)/2]=null},warnOnce:function(r){ra.warnOnce.shown||(ra.warnOnce.shown={});ra.warnOnce.shown[r]||(ra.warnOnce.shown[r]=1,F.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,v){fb(v);ra.funcWrappers[v]||(ra.funcWrappers[v]={});var A=ra.funcWrappers[v];A[r]||(A[r]=function(){return ra.dynCall(v,r,arguments)});return A[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";
-},stackAlloc:function(r){var v=se;se=se+r|0;se=se+15&-16;return v},staticAlloc:function(r){var v=Se;Se=Se+r|0;Se=Se+15&-16;return v},dynamicAlloc:function(r){var v=we;we=we+r|0;we=we+15&-16;return we>=ld&&!Cj()?(we=v,0):v},alignMemory:function(r,v){return Math.ceil(r/(v?v:16))*(v?v:16)},makeBigInt:function(r,v,A){return A?+(r>>>0)+4294967296*+(v>>>0):+(r>>>0)+4294967296*+(v|0)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};F.Runtime=ra;var xe=!1,Re,kg,oi,Xh,Yh;(function(){function r(r){r=r.toString().match(fa).slice(1);
-return{arguments:r[0],body:r[1],returnValue:r[2]}}var v={stackSave:function(){ra.stackSave()},stackRestore:function(){ra.stackRestore()},arrayToC:function(r){var v=ra.stackAlloc(r.length);Xg(r,v);return v},stringToC:function(r){var v=0;null!==r&&void 0!==r&&0!==r&&(v=ra.stackAlloc((r.length<<2)+1),Ji(r,v));return v}},A={string:v.stringToC,array:v.arrayToC};Yh=function(r,v,D,fa,F){r=me(r);var yc=[],Y=0;if(fa)for(var aa=0;aa<fa.length;aa++){var S=A[D[aa]];S?(0===Y&&(Y=ra.stackSave()),yc[aa]=S(fa[aa])):
-yc[aa]=fa[aa]}D=r.apply(null,yc);"string"===v&&(D=Yd(D));if(0!==Y){if(F&&F.async){EmterpreterAsync.asyncFinalizers.push(function(){ra.stackRestore(Y)});return}ra.stackRestore(Y)}return D};var fa=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,D={},F;for(F in v)v.hasOwnProperty(F)&&(D[F]=r(v[F]));Xh=function(v,A,fa){fa=fa||[];var F=me(v);v=fa.every(function(r){return"number"===r});var aa="string"!==A;if(aa&&v)return F;var S=fa.map(function(r,v){return"$"+v});A="(function("+
-S.join(",")+") {";var Y=fa.length;if(!v){A+="var stack = "+D.stackSave.body+";";for(var ca=0;ca<Y;ca++){var ra=S[ca],Ka=fa[ca];"number"!==Ka&&(Ka=D[Ka+"ToC"],A+="var "+Ka.arguments+" = "+ra+";",A+=Ka.body+";",A+=ra+"="+Ka.returnValue+";")}}fa=r(function(){return F}).returnValue;A+="var ret = "+fa+"("+S.join(",")+");";aa||(fa=r(function(){return Yd}).returnValue,A+="ret = "+fa+"(ret);");v||(A+=D.stackRestore.body.replace("()","(stack)")+";");return eval(A+"return ret})")}})();F.ccall=Yh;F.cwrap=Xh;
-F.setValue=If;F.getValue=dg;F.ALLOC_NORMAL=0;F.ALLOC_STACK=1;F.ALLOC_STATIC=2;F.ALLOC_DYNAMIC=3;F.ALLOC_NONE=4;F.allocate=vc;F.getMemory=function(r){return pi?"undefined"!==typeof og&&!og.called||!pg?ra.dynamicAlloc(r):uf(r):ra.staticAlloc(r)};F.Pointer_stringify=Yd;F.AsciiToString=function(r){for(var v="";;){var A=Dd[r++>>0];if(!A)return v;v+=String.fromCharCode(A)}};F.stringToAscii=function(r,v){return zf(r,v,!1)};F.UTF8ArrayToString=nf;F.UTF8ToString=function(r){return nf(Od,r)};F.stringToUTF8Array=
-Ug;F.stringToUTF8=function(r,v,A){return Ug(r,Od,v,A)};F.lengthBytesUTF8=lg;F.UTF16ToString=function(r){for(var v=0,A="";;){var fa=gf[r+2*v>>1];if(0==fa)return A;++v;A+=String.fromCharCode(fa)}};F.stringToUTF16=function(r,v,A){void 0===A&&(A=2147483647);if(2>A)return 0;A-=2;var fa=v;A=A<2*r.length?A/2:r.length;for(var D=0;D<A;++D){var F=r.charCodeAt(D);gf[v>>1]=F;v+=2}gf[v>>1]=0;return v-fa};F.lengthBytesUTF16=function(r){return 2*r.length};F.UTF32ToString=function(r){for(var v=0,A="";;){var fa=Sb[r+
-4*v>>2];if(0==fa)return A;++v;65536<=fa?(fa-=65536,A+=String.fromCharCode(55296|fa>>10,56320|fa&1023)):A+=String.fromCharCode(fa)}};F.stringToUTF32=function(r,v,A){void 0===A&&(A=2147483647);if(4>A)return 0;var fa=v;A=fa+A-4;for(var D=0;D<r.length;++D){var F=r.charCodeAt(D);if(55296<=F&&57343>=F)var ya=r.charCodeAt(++D),F=65536+((F&1023)<<10)|ya&1023;Sb[v>>2]=F;v+=4;if(v+4>A)break}Sb[v>>2]=0;return v-fa};F.lengthBytesUTF32=function(r){for(var v=0,A=0;A<r.length;++A){var D=r.charCodeAt(A);55296<=D&&
-57343>=D&&++A;v+=4}return v};F.stackTrace=wf;var Dd,Od,gf,Vg,Sb,xf,mf,tf,Ki=0,Se=0,pi=!1,Zh=0,se=0,vh=0,ch=0,we=0,Kg;try{Kg=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),Kg(new ArrayBuffer(4))}catch(r){Kg=function(r){return r.byteLength}}for(var $h=F.TOTAL_STACK||5242880,ld=F.TOTAL_MEMORY||16777216,Pc=65536;Pc<ld||Pc<2*$h;)Pc=16777216>Pc?2*Pc:Pc+16777216;Pc=Math.max(Pc,16777216);Pc!==ld&&(ld=Pc);fb("undefined"!==typeof Int32Array&&"undefined"!==
-typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var rd;rd=new ArrayBuffer(ld);Dd=new Int8Array(rd);gf=new Int16Array(rd);Sb=new Int32Array(rd);Od=new Uint8Array(rd);Vg=new Uint16Array(rd);xf=new Uint32Array(rd);mf=new Float32Array(rd);tf=new Float64Array(rd);Sb[0]=255;fb(255===Od[0]&&0===Od[3],"Typed arrays 2 must be run on a little-endian system");F.HEAP=void 0;F.buffer=rd;F.HEAP8=Dd;F.HEAP16=gf;F.HEAP32=Sb;F.HEAPU8=
-Od;F.HEAPU16=Vg;F.HEAPU32=xf;F.HEAPF32=mf;F.HEAPF64=tf;var Jf=[],qg=[],rg=[],re=[],Wg=[],pg=!1;F.addOnPreRun=Mh;F.addOnInit=function(r){qg.unshift(r)};F.addOnPreMain=function(r){rg.unshift(r)};F.addOnExit=function(r){re.unshift(r)};F.addOnPostRun=Hg;F.intArrayFromString=yf;F.intArrayToString=function(r){for(var v=[],A=0;A<r.length;A++){var D=r[A];255<D&&(D&=255);v.push(String.fromCharCode(D))}return v.join("")};F.writeStringToMemory=Ji;F.writeArrayToMemory=Xg;F.writeAsciiToMemory=zf;Math.imul&&-5===
-Math.imul(4294967295,5)||(Math.imul=function(r,v){var A=r&65535,D=v&65535;return A*D+((r>>>16)*D+A*(v>>>16)<<16)|0});Math.imul=Math.imul;Math.clz32||(Math.clz32=function(r){r>>>=0;for(var v=0;32>v;v++)if(r&1<<31-v)return v;return 32});Math.clz32=Math.clz32;var Fg=Math.abs,Fj=Math.atan2,Gj=Math.exp,Hj=Math.log,Ij=Math.sqrt,ej=Math.ceil,Lh=Math.floor,Jj=Math.pow,dj=Math.min,Uf=0,Nh=null,Vf=null;F.addRunDependency=Yg;F.removeRunDependency=ng;F.preloadedImages={};F.preloadedAudios={};Ki=8;Se=Ki+164992;
-qg.push();vc([0,0,0,0,0,0,240,63,239,97,72,177,80,49,246,63,202,111,77,145,174,231,244,63,170,17,108,239,98,208,242,63,0,0,0,0,0,0,240,63,59,191,167,192,105,36,233,63,187,32,199,123,122,81,225,63,93,171,114,222,85,168,209,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,0,0,0,84,8,0,0,1,0,0,0,0,0,0,0,56,0,0,0,116,0,0,0,154,130,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,82,251,1,0,0,0,0,0,157,130,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,95,251,1,0,0,0,0,0,34,136,0,0,1,0,1,0,3,
-0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,103,251,1,0,0,0,0,0,36,136,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,119,251,1,0,0,0,0,0,39,136,0,0,255,255,255,255,3,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,65,0,1,1,139,251,1,0,0,0,0,0,40,136,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,155,251,1,0,0,0,0,0,0,144,0,0,4,0,4,0,7,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,1,0,184,251,1,0,0,0,0,0,3,144,0,0,20,0,20,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,196,251,1,0,0,0,0,0,4,144,0,0,20,0,
-20,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,213,251,1,0,0,0,0,0,1,145,0,0,4,0,4,0,7,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,1,0,231,251,1,0,0,0,0,0,2,145,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,255,251,1,0,0,0,0,0,1,146,0,0,1,0,1,0,10,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,22,252,1,0,0,0,0,0,2,146,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,40,252,1,0,0,0,0,0,3,146,0,0,1,0,1,0,10,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,54,252,1,0,0,0,0,0,4,146,0,0,1,0,1,0,10,0,0,0,0,0,0,0,11,
-0,0,0,0,0,0,0,65,0,1,0,70,252,1,0,0,0,0,0,5,146,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,88,252,1,0,0,0,0,0,6,146,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,105,252,1,0,0,0,0,0,7,146,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,121,252,1,0,0,0,0,0,8,146,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,134,252,1,0,0,0,0,0,9,146,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,146,252,1,0,0,0,0,0,10,146,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,152,
-252,1,0,0,0,0,0,20,146,0,0,255,255,255,255,3,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,65,0,1,1,164,252,1,0,0,0,0,0,124,146,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,176,252,1,0,0,0,0,0,134,146,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,186,252,1,0,0,0,0,0,144,146,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,198,252,1,0,0,0,0,0,145,146,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,209,252,1,0,0,0,0,0,146,146,0,0,255,255,255,255,2,0,0,0,0,
-0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,228,252,1,0,0,0,0,0,0,160,0,0,4,0,4,0,7,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,1,0,248,252,1,0,0,0,0,0,1,160,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,8,253,1,0,0,0,0,0,2,160,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,1,0,19,253,1,0,0,0,0,0,3,160,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,1,0,35,253,1,0,0,0,0,0,4,160,0,0,13,0,13,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,51,253,1,0,0,0,0,0,11,162,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,
-1,0,68,253,1,0,0,0,0,0,12,162,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,80,253,1,0,0,0,0,0,14,162,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,105,253,1,0,0,0,0,0,15,162,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,127,253,1,0,0,0,0,0,16,162,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,149,253,1,0,0,0,0,0,20,162,0,0,2,0,2,0,3,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,65,0,1,0,174,253,1,0,0,0,0,0,21,162,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,190,253,
-1,0,0,0,0,0,23,162,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,204,253,1,0,0,0,0,0,0,163,0,0,1,0,1,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,65,0,1,0,218,253,1,0,0,0,0,0,1,163,0,0,1,0,1,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,65,0,1,0,229,253,1,0,0,0,0,0,2,163,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,239,253,1,0,0,0,0,0,1,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,250,253,1,0,0,0,0,0,2,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,9,254,1,0,0,0,0,0,3,164,0,
-0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,22,254,1,0,0,0,0,0,4,164,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,35,254,1,0,0,0,0,0,5,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,52,254,1,0,0,0,0,0,6,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,74,254,1,0,0,0,0,0,7,164,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,1,0,91,254,1,0,0,0,0,0,8,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,103,254,1,0,0,0,0,0,9,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,
-0,0,0,0,0,0,65,0,1,0,112,254,1,0,0,0,0,0,10,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,123,254,1,0,0,0,0,0,11,164,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,133,254,1,0,0,0,0,0,12,164,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,158,254,1,0,0,0,0,0,32,164,0,0,33,0,33,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,179,254,1,0,0,0,0,0,254,0,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,5,0,1,0,193,254,1,0,0,0,0,0,255,0,0,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
-0,1,0,205,254,1,0,0,0,0,0,0,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,220,254,1,0,0,0,0,0,1,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,0,1,0,211,8,2,0,0,0,0,0,2,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,0,0,0,231,254,1,0,0,0,0,0,3,1,0,0,255,255,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,0,0,0,99,20,2,0,0,0,0,0,6,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,8,0,0,0,245,254,1,0,0,0,0,0,7,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,9,0,1,0,15,255,1,0,0,0,0,0,8,1,0,0,1,0,
-1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,29,255,1,0,0,0,0,0,9,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,39,255,1,0,0,0,0,0,10,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,10,0,0,0,50,255,1,0,0,0,0,0,13,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,60,255,1,0,0,0,0,0,14,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,73,255,1,0,0,0,0,0,15,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,90,255,1,0,0,0,0,0,16,1,0,0,255,255,255,255,2,0,0,
-0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,95,255,1,0,0,0,0,0,17,1,0,0,255,255,255,255,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,9,2,0,0,0,0,0,18,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,15,0,0,0,101,255,1,0,0,0,0,0,21,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,16,0,0,0,113,255,1,0,0,0,0,0,22,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,17,0,0,0,129,255,1,0,0,0,0,0,23,1,0,0,255,255,255,255,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,191,10,2,0,0,0,0,0,24,1,0,0,254,255,255,255,3,0,0,0,0,0,0,0,4,
-0,0,0,0,0,0,0,18,0,1,0,142,255,1,0,0,0,0,0,25,1,0,0,254,255,255,255,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,19,0,1,0,157,255,1,0,0,0,0,0,26,1,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,3,0,1,0,172,255,1,0,0,0,0,0,27,1,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,3,0,1,0,184,255,1,0,0,0,0,0,28,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,20,0,0,0,196,255,1,0,0,0,0,0,29,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,216,255,1,0,0,0,0,0,30,1,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,4,
-0,1,0,225,255,1,0,0,0,0,0,31,1,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,4,0,1,0,235,255,1,0,0,0,0,0,32,1,0,0,255,255,255,255,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,255,1,0,0,0,0,0,33,1,0,0,255,255,255,255,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,34,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,16,0,2,0,0,0,0,0,35,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,33,0,2,0,0,0,0,0,40,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,22,0,1,0,51,0,2,0,0,0,0,
-0,41,1,0,0,2,0,2,0,3,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,23,0,1,0,66,0,2,0,0,0,0,0,44,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,77,0,2,0,0,0,0,0,45,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,44,0,1,0,95,0,2,0,0,0,0,0,49,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,112,0,2,0,0,0,0,0,50,1,0,0,20,0,20,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,121,0,2,0,0,0,0,0,59,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,130,0,2,0,0,0,0,0,60,1,0,0,255,255,255,
-255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,137,0,2,0,0,0,0,0,62,1,0,0,2,0,2,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,1,0,150,0,2,0,0,0,0,0,63,1,0,0,6,0,6,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,1,0,161,0,2,0,0,0,0,0,64,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,26,0,1,0,183,0,2,0,0,0,0,0,65,1,0,0,2,0,2,0,3,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,37,0,1,0,192,0,2,0,0,0,0,0,66,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,0,0,0,206,0,2,0,0,0,0,0,67,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,
-0,2,0,0,0,216,0,2,0,0,0,0,0,68,1,0,0,255,255,1,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,12,9,2,0,0,0,0,0,69,1,0,0,255,255,1,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,227,0,2,0,0,0,0,0,74,1,0,0,255,255,255,255,18,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,49,0,1,1,242,0,2,0,84,0,0,0,76,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,0,0,59,20,2,0,0,0,0,0,77,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,46,0,1,1,249,0,2,0,0,0,0,0,78,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,1,0,2,1,2,
-0,0,0,0,0,80,1,0,0,2,0,2,0,3,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,65,0,0,0,15,1,2,0,0,0,0,0,81,1,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,24,1,2,0,0,0,0,0,82,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,31,0,0,1,38,1,2,0,0,0,0,0,83,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,32,0,0,0,51,1,2,0,0,0,0,0,84,1,0,0,254,255,255,255,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,33,0,1,0,64,1,2,0,0,0,0,0,85,1,0,0,254,255,255,255,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,34,0,1,0,80,1,2,0,0,0,0,
-0,87,1,0,0,255,255,253,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,1,96,1,2,0,0,0,0,0,88,1,0,0,1,0,1,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,105,1,2,0,0,0,0,0,88,1,0,0,1,0,1,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,105,1,2,0,0,0,0,0,89,1,0,0,1,0,1,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,120,1,2,0,0,0,0,0,17,2,0,0,3,0,3,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,0,0,135,1,2,0,0,0,0,0,18,2,0,0,2,0,2,0,3,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,39,0,0,0,153,1,2,0,0,0,0,0,19,2,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,
-0,0,0,0,0,0,0,40,0,0,0,170,1,2,0,0,0,0,0,20,2,0,0,6,0,6,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,41,0,1,0,187,1,2,0,0,0,0,0,188,2,0,0,253,255,253,255,1,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,65,0,0,1,207,1,2,0,0,0,0,0,227,128,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,31,0,0,0,217,1,2,0,0,0,0,0,228,128,0,0,254,255,255,255,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,32,0,0,0,226,1,2,0,0,0,0,0,229,128,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,35,0,0,0,235,1,2,0,0,0,0,0,230,128,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,
-36,0,0,0,246,1,2,0,0,0,0,0,20,130,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,1,0,0,2,2,0,0,0,0,0,21,130,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,1,0,15,2,2,0,0,0,0,0,22,130,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,31,2,2,0,0,0,0,0,23,130,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,45,2,2,0,0,0,0,0,24,130,0,0,1,0,1,0,11,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,65,0,1,0,62,2,2,0,0,0,0,0,25,130,0,0,16,0,16,0,11,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,1,0,83,2,2,0,
-0,0,0,0,26,130,0,0,16,0,16,0,11,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,1,0,103,2,2,0,0,0,0,0,141,130,0,0,2,0,2,0,3,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,65,0,0,0,123,2,2,0,0,0,0,0,142,130,0,0,4,0,4,0,1,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,0,0,239,253,1,0,0,0,0,0,152,130,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,143,2,2,0,0,0,0,0,187,131,0,0,253,255,253,255,4,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,65,0,0,1,153,2,2,0,0,0,0,0,73,134,0,0,253,255,253,255,1,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,65,0,0,1,166,2,
-2,0,0,0,0,0,105,135,0,0,1,0,1,0,18,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,65,0,0,0,176,2,2,0,100,0,0,0,115,135,0,0,253,255,253,255,7,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,65,0,0,1,190,2,2,0,0,0,0,0,37,136,0,0,1,0,1,0,18,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,65,0,0,0,202,2,2,0,0,0,0,0,92,136,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,65,0,1,0,215,2,2,0,0,0,0,0,93,136,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,65,0,1,0,229,2,2,0,0,0,0,0,94,136,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,65,0,1,0,243,2,2,0,0,0,
-0,0,95,136,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,65,0,1,0,255,2,2,0,0,0,0,0,63,146,0,0,1,0,1,0,12,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,6,3,2,0,0,0,0,0,5,160,0,0,1,0,1,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,14,3,2,0,0,0,0,0,18,198,0,0,4,0,4,0,1,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,0,0,40,3,2,0,0,0,0,0,19,198,0,0,4,0,4,0,1,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,0,0,51,3,2,0,0,0,0,0,20,198,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,70,3,2,0,0,0,0,0,21,198,0,0,255,
-255,255,255,1,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,88,3,2,0,0,0,0,0,22,198,0,0,255,255,255,255,1,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,0,1,109,3,2,0,0,0,0,0,23,198,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,0,0,123,3,2,0,0,0,0,0,24,198,0,0,255,255,255,255,3,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,65,0,0,1,133,3,2,0,0,0,0,0,25,198,0,0,2,0,2,0,3,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,65,0,0,0,152,3,2,0,0,0,0,0,26,198,0,0,255,255,255,255,5,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,172,3,2,0,0,0,0,0,27,198,0,0,255,
-255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,183,3,2,0,0,0,0,0,28,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,200,3,2,0,0,0,0,0,29,198,0,0,255,255,255,255,4,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,65,0,0,1,217,3,2,0,0,0,0,0,30,198,0,0,2,0,2,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,0,0,228,3,2,0,0,0,0,0,92,198,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,241,3,2,0,0,0,0,0,31,198,0,0,2,0,2,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,0,0,2,4,2,0,0,0,0,0,32,198,0,0,2,0,2,0,
-5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,0,0,20,4,2,0,0,0,0,0,33,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,36,4,2,0,0,0,0,0,34,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,49,4,2,0,0,0,0,0,35,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,62,4,2,0,0,0,0,0,36,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,81,4,2,0,0,0,0,0,37,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,100,4,2,0,0,0,0,0,38,198,
-0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,117,4,2,0,0,0,0,0,39,198,0,0,255,255,255,255,5,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,134,4,2,0,0,0,0,0,40,198,0,0,255,255,255,255,5,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,148,4,2,0,0,0,0,0,41,198,0,0,2,0,2,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,0,0,162,4,2,0,0,0,0,0,42,198,0,0,1,0,1,0,10,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,176,4,2,0,0,0,0,0,43,198,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,193,4,2,0,0,0,0,0,44,198,0,
-0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,207,4,2,0,0,0,0,0,45,198,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,0,0,225,4,2,0,0,0,0,0,46,198,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,241,4,2,0,0,0,0,0,47,198,0,0,255,255,255,255,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,0,1,0,5,5,2,0,0,0,0,0,48,198,0,0,4,0,4,0,5,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,65,0,0,0,24,5,2,0,0,0,0,0,49,198,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,33,5,2,0,0,0,0,0,50,198,0,0,1,0,1,0,5,0,0,0,0,0,0,0,
-11,0,0,0,0,0,0,0,65,0,0,0,50,5,2,0,0,0,0,0,51,198,0,0,1,0,1,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,65,0,0,0,68,5,2,0,0,0,0,0,52,198,0,0,255,255,255,255,1,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,0,1,80,5,2,0,0,0,0,0,53,198,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,0,0,95,5,2,0,0,0,0,0,90,198,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,0,0,111,5,2,0,0,0,0,0,91,198,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,0,0,134,5,2,0,0,0,0,0,93,198,0,0,16,0,16,0,1,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,0,
-0,157,5,2,0,0,0,0,0,139,198,0,0,255,255,255,255,1,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,1,1,173,5,2,0,0,0,0,0,140,198,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,0,1,193,5,2,0,0,0,0,0,141,198,0,0,4,0,4,0,4,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,65,0,0,0,213,5,2,0,0,0,0,0,142,198,0,0,255,255,255,255,4,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,65,0,0,1,224,5,2,0,0,0,0,0,143,198,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,0,1,236,5,2,0,0,0,0,0,144,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,
-0,0,0,0,0,0,65,0,0,1,253,5,2,0,0,0,0,0,145,198,0,0,255,255,255,255,7,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,65,0,0,1,20,6,2,0,0,0,0,0,146,198,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,38,6,2,0,0,0,0,0,27,0,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,62,6,2,0,0,0,0,0,90,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,65,0,0,0,72,6,2,0,0,0,0,0,144,1,0,0,1,0,1,0,18,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,65,0,0,0,80,6,2,0,0,0,0,0,145,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,0,0,100,
-6,2,0,0,0,0,0,146,1,0,0,1,0,1,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,65,0,0,0,112,6,2,0,0,0,0,0,147,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,0,0,123,6,2,0,0,0,0,0,148,1,0,0,4,0,4,0,1,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,65,0,0,0,137,6,2,0,0,0,0,0,149,1,0,0,1,0,1,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,65,0,0,0,149,6,2,0,0,0,0,0,177,1,0,0,255,255,255,255,10,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,65,0,0,1,160,6,2,0,0,0,0,0,178,1,0,0,255,255,255,255,3,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,65,0,0,1,167,6,2,0,0,0,0,0,179,1,
-0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,65,0,0,0,182,6,2,0,0,0,0,0,47,2,0,0,255,255,255,255,4,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,65,0,0,1,193,6,2,0,0,0,0,0,172,135,0,0,2,0,2,0,4,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,65,0,0,0,208,6,2,0,0,0,0,0,0,0,0,0,139,108,79,64,134,201,196,191,128,72,255,190,126,29,120,191,197,32,240,63,195,100,42,61,211,188,99,61,96,229,80,190,199,75,135,63,0,0,200,66,0,0,200,66,0,0,200,66,255,0,0,0,255,0,0,0,255,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,154,153,25,64,154,153,25,64,154,
-153,25,64,0,0,0,0,1,0,0,0,2,0,0,0,135,22,153,62,162,69,22,63,213,120,233,61,0,0,0,0,0,0,0,0,0,0,0,0,101,44,2,0,1,0,0,0,1,0,0,0,106,44,2,0,5,0,0,0,2,0,0,0,110,44,2,0,5,128,0,0,3,0,0,0,119,44,2,0,41,128,0,0,4,0,0,0,131,44,2,0,254,127,0,0,5,0,0,0,136,44,2,0,7,0,0,0,6,0,0,0,141,44,2,0,6,0,0,0,7,0,0,0,156,44,2,0,2,0,0,0,8,0,0,0,166,44,2,0,3,128,0,0,9,0,0,0,178,44,2,0,3,0,0,0,10,0,0,0,192,44,2,0,4,0,0,0,11,0,0,0,206,44,2,0,101,135,0,0,12,0,0,0,215,44,2,0,178,128,0,0,13,0,0,0,223,44,2,0,8,0,0,0,13,0,0,0,
-236,44,2,0,141,128,0,0,14,0,0,0,245,44,2,0,116,135,0,0,15,0,0,0,252,44,2,0,117,135,0,0,15,0,0,0,5,45,2,0,109,136,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,73,0,0,0,3,50,2,0,0,0,0,0,37,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,73,0,0,0,245,49,2,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,168,52,2,0,0,0,0,0,4,0,1,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,176,52,2,0,0,0,0,0,70,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,66,0,1,0,188,52,2,0,0,0,0,0,71,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,1,0,200,52,2,0,0,0,0,0,72,1,0,0,1,0,1,0,4,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,68,0,1,0,213,52,2,0,0,0,0,0,12,7,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,
-0,3,1,0,0,0,0,0,0,5,6,0,0,2,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,5,7,0,0,3,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,
-0,0,1,0,0,0,3,1,0,0,0,0,0,0,4,6,0,0,2,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,6,7,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,
-0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,5,6,0,0,2,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,4,7,0,0,3,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,
-3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,4,6,0,0,2,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,2,3,0,0,0,0,0,0,3,1,0,0,0,0,0,0,4,3,0,0,1,0,0,0,3,1,0,0,0,0,0,0,12,11,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,
-0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,
-0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,
-7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,
-9,0,0,192,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17],"i8",4,ra.GLOBAL_BASE);vc([9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,11,0,0,0,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,
-0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,
-7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,
-0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,
-4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,
-0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,
-0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,
-6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,
-0,0,0,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,
-0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,11,0,0,64,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,
-0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,
-7,4,0,0,3,0,0,0,9,9,0,0,192,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,
-7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,
-7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,
-0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,
-0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,
-0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,
-0,9,9,0,0,192,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,64,8,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,
-7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,
-5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,
-30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,
-0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,
-0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,
-9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,
-0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,
-6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,
-0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,64,9,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,
-0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,
-9,0,0,192,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,
-8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,
-4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,
-0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,
-0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,
-0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,192,2,0,
-0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,192,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,
-7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,
-4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,
-3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,
-0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,
-0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,
-7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,
-0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,
-31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17],"i8",4,ra.GLOBAL_BASE+
-10240);vc([9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,11,0,0,128,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,
-0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,
-0,0,0,9,9,0,0,192,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,
-0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,
-0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,
-0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,
-8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,
-0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,
-0,192,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,192,8,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,
-0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,
-11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,
-0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,
-0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,
-7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,
-0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,
-0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,6,0,
-0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,
-9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,192,9,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,
-8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,
-0,192,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,
-0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,
-0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,12,11,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,
-28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,
-0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,
-0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,192,2,0,
-0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,11,0,0,0,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,
-5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,
-0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,
-0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,
-0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,
-0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,
-5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,
-192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,
-0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,
-7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,11,0,0,64,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,
-6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,6,0,0,7,4,0,
-0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,
-3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,
-7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,
-0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,
-0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,
-7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,192,2,0,0,7,4,0,0,6,0,0,0,7,8,
-0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17],"i8",4,ra.GLOBAL_BASE+20480);vc([9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,128,8,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,
-0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,
-0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,
-4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,
-0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,
-0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,
-0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,
-9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,6,0,0,0,7,
-8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,
-0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,128,9,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,
-40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,
-6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,
-0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,
-0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,
-7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,
-0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,
-0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,192,2,0,0,7,4,0,0,
-6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,0,8,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,
-0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,
-0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,
-0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,
-0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,
-2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,
-0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,
-9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,
-0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,
-0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,11,0,0,128,7,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,
-0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,6,0,0,7,4,0,0,5,0,0,
-0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,
-7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,
-7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,
-0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,
-0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,5,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,192,4,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,
-49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,192,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,192,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,
-0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,0,9,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,
-0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,
-7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,64,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,64,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,
-0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,64,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,
-3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,
-0,0,0,0,0,0,0,0,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,39,0,0,0,7,6,0,0,16,0,0,0,9,8,0,0,64,2,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,55,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,
-0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,45,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,53,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,192,1,0,0,7,4,0,0,6,0,0,0,7,8,0,0,35,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,51,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,63,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,0,6,0,0,7,4,0,0,5,0,0,0,7,8,0,0,43,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,0,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,
-7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,29,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,33,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,49,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,61,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,47,0,0,0,7,4,0,0,3,0,0,0,7,8,0,0,59,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,41,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,0,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,31,0,0,0,7,5,0,0,8,0,0,0,7,8,
-0,0,57,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,9,0,0,0,3,0,0,7,4,0,0,6,0,0,0,7,8,0,0,37,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,64,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17],"i8",4,ra.GLOBAL_BASE+30720);vc([9,7,0,0,0,1,0,
-0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,11,12,0,0,0,10,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,7,0,0,20,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,24,0,0,0,7,6,0,0,14,0,0,0,7,7,0,0,28,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,23,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,27,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,40,0,0,0,
-7,6,0,0,16,0,0,0,9,9,0,0,128,3,0,0,7,4,0,0,6,0,0,0,7,7,0,0,19,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,56,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,46,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,54,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,0,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,36,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,52,0,0,0,7,6,0,0,15,0,0,0,7,8,0,0,0,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,9,9,0,0,192,6,0,0,7,4,
-0,0,5,0,0,0,7,8,0,0,44,0,0,0,7,6,0,0,17,0,0,0,9,9,0,0,128,5,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,30,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,6,0,0,12,0,0,0,7,5,0,0,9,0,0,0,9,6,0,0,128,6,0,0,7,4,0,0,6,0,0,0,7,8,0,0,34,0,0,0,9,5,0,0,128,0,0,0,7,8,0,0,50,0,0,0,7,6,0,0,14,0,0,0,7,8,0,0,62,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,8,0,0,48,0,0,0,7,4,0,
-0,3,0,0,0,7,8,0,0,60,0,0,0,7,4,0,0,5,0,0,0,7,8,0,0,42,0,0,0,7,6,0,0,16,0,0,0,9,9,0,0,128,4,0,0,7,4,0,0,6,0,0,0,7,8,0,0,32,0,0,0,7,5,0,0,8,0,0,0,7,8,0,0,58,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,7,7,0,0,22,0,0,0,7,4,0,0,3,0,0,0,7,5,0,0,11,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,26,0,0,0,7,5,0,0,9,0,0,0,9,8,0,0,128,2,0,0,7,4,0,0,6,0,0,0,7,8,0,0,38,0,0,0,9,5,0,0,128,0,0,0,7,7,0,0,25,0,0,0,7,6,0,0,15,0,0,0,9,8,0,0,128,1,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,
-0,7,0,0,0,7,6,0,0,13,0,0,0,7,4,0,0,3,0,0,0,7,7,0,0,18,0,0,0,7,4,0,0,5,0,0,0,7,7,0,0,21,0,0,0,7,6,0,0,17,0,0,0,9,7,0,0,0,1,0,0,7,4,0,0,6,0,0,0,7,6,0,0,1,0,0,0,7,5,0,0,8,0,0,0,9,6,0,0,192,0,0,0,9,5,0,0,64,0,0,0,7,5,0,0,10,0,0,0,7,4,0,0,4,0,0,0,7,4,0,0,2,0,0,0,7,4,0,0,7,0,0,0,12,11,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,
-0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,
-5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,
-0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,0,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,23,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,20,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,25,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,
-0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,
-0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,128,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,56,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,30,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,64,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,
-8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,57,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,
-2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,21,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,54,0,0,0,8,2,0,0,3,0,0,0,8,3,
-0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,
-8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,
-0,0,2,0,0,0,8,12,0,0,52,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,48,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,64,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,44,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,36,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,
-0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,128,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,28,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,
-0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,60,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,40,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,
-0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,64,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,
-8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,
-0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,
-1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,
-7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3],"i8",4,ra.GLOBAL_BASE+40960);vc([8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,192,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,
-0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,50,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,
-5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,34,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,128,6,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,26,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,128,5,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,
-0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,32,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,
-0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,128,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,61,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,42,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,0,4,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,
-0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,
-2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,0,3,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,62,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,11,12,0,0,192,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,
-0,8,2,0,0,2,0,0,0,8,12,0,0,46,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,38,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,0,2,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,
-2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,
-0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,
-0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,19,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,24,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,22,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,192,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,
-8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,
-2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,
-0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,12,11,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,
-0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,
-8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,0,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,23,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,
-0,20,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,25,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,
-0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,192,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,0,5,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,
-0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,31,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,
-0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3],"i8",4,ra.GLOBAL_BASE+51200);vc([8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,64,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,58,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,21,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,128,3,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,
-0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,
-0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,128,2,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,
-0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,49,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,128,8,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,45,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,37,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,
-12,0,0,192,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,
-0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,
-4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,29,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,0,6,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,
-8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,41,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,
-2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,128,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,
-0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,
-0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,
-0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,
-0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,0,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,51,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,35,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,
-0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,64,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,
-0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,
-0,0,0,8,12,0,0,27,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,59,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,
-0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,33,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,128,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,0,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,
-8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,43,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,128,4,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,
-8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,
-0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,55,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,63,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,
-8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3],"i8",4,ra.GLOBAL_BASE+61440);vc([8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,0,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,
-0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,47,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,39,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,53,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,
-0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,
-2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,
-0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,19,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,11,0,0,24,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,
-0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,22,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,0,10,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,
-8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,
-2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,12,11,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,
-8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,0,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,23,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,20,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,25,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,
-0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,
-0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,
-0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,128,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,56,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,30,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,
-0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,64,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,
-0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,57,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,
-4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,21,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,54,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,
-0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,
-4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,
-0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,52,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,
-1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,48,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,
-0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,64,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,44,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,36,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,128,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,
-0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,
-0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,28,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,60,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,
-0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,40,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,
-0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3],"i8",4,ra.GLOBAL_BASE+71680);vc([8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,
-0,0,64,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,
-0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,
-0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,
-0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,192,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,50,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,34,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,192,6,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,
-0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,
-0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,26,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,
-6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,192,5,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,32,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,
-0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,128,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,
-0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,61,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,42,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,64,4,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,
-2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,
-0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,64,3,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,62,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,
-0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,192,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,
-0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,46,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,38,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,64,2,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,
-0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,
-0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,19,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,24,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,22,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,192,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,
-8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,
-2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,
-0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,
-3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,12,11,0,0,0,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,
-2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,
-0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3],"i8",4,ra.GLOBAL_BASE+81920);vc([8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,
-0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,0,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,23,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,20,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,25,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,
-0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,192,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,
-4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,64,5,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,
-0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,31,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,
-0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,64,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,
-0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,58,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,21,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,
-8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,192,3,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,
-0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,192,2,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,
-0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,49,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,128,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,45,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,
-4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,37,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,192,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,
-2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,
-0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,29,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,64,6,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,
-0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,41,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,
-8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,128,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,
-2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,
-0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,18,0,0,0,8,
-2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,
-0,17,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,
-0,0,0,11,12,0,0,0,8,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,
-0,0,8,2,0,0,2,0,0,0,8,12,0,0,51,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,35,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,
-0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,64,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,
-0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,27,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,
-0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,59,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,33,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3],"i8",4,ra.GLOBAL_BASE+92160);vc([8,3,0,0,4,0,0,0,8,
-2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,11,0,0,128,7,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,
-3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,12,0,0,0,1,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,43,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,
-0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,13,0,0,192,4,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,
-0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,
-0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,9,0,0,15,0,0,0,8,2,0,0,3,0,0,0,
-8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,55,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,
-2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,63,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,
-0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,0,9,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,
-2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,47,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,
-0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,39,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,12,0,0,53,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,
-8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,
-0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,13,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,
-2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,19,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,24,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,
-0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,11,0,0,22,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,
-0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,11,12,0,0,0,10,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,9,0,0,
-0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,10,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,16,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,
-8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,10,0,0,0,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,10,10,0,0,64,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,
-2,0,0,2,0,0,0,8,6,0,0,9,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,11,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,8,0,0,14,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,
-0,4,0,0,0,8,2,0,0,2,0,0,0,8,6,0,0,8,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,7,0,0,12,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,6,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,8,5,0,0,7,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,1,0,0,0,8,2,0,0,2,0,0,0,8,4,0,0,5,0,0,0,8,2,0,0,3,0,0,0,8,3,0,0,4,0,0,0,8,2,0,0,2,0,0,0,91,1,0,0,253,255,253,255,7,0,0,0,0,0,0,0,40,0,0,0,40,0,0,0,66,0,0,1,140,60,2,0,0,0,0,0,1,0,
-1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,1,0,39,96,2,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,39,96,2,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,39,96,2,0,0,0,0,0,95,155,125,62,4,0,0,0,52,161,121,62,6,0,4,0,3,124,119,62,7,0,10,0,62,149,115,62,9,0,17,0,88,145,113,62,10,0,26,0,132,185,109,62,12,0,36,0,27,213,105,62,14,0,48,0,112,176,103,62,15,0,62,0,57,181,99,62,17,0,77,0,41,179,97,62,18,0,94,0,240,220,91,62,21,0,112,0,179,209,89,62,22,0,133,
-0,63,199,87,62,23,0,155,0,59,229,81,62,26,0,178,0,144,219,79,62,27,0,204,0,226,6,76,62,29,0,231,0,181,55,72,62,31,0,4,1,152,52,70,62,32,0,35,1,97,111,66,62,34,0,67,1,104,175,62,62,36,0,101,1,104,175,62,62,36,0,137,1,102,249,58,62,38,0,173,1,144,76,55,62,40,0,211,1,92,173,51,62,42,0,251,1,8,33,48,62,44,0,37,2,8,33,48,62,44,0,81,2,160,168,44,62,46,0,125,2,160,168,44,62,46,0,171,2,52,128,39,62,49,0,217,2,12,115,34,62,52,0,10,3,12,115,34,62,52,0,62,3,12,115,34,62,52,0,114,3,174,129,29,62,55,0,166,3,174,
-129,29,62,55,0,221,3,226,172,24,62,58,0,20,4,226,172,24,62,58,0,78,4,2,44,18,62,62,0,136,4,2,44,18,62,62,0,198,4,2,44,18,62,62,0,4,5,167,150,13,62,65,0,66,5,167,150,13,62,65,0,131,5,167,150,13,62,65,0,196,5,134,86,7,62,69,0,5,6,134,86,7,62,69,0,74,6,159,59,1,62,73,0,143,6,159,59,1,62,73,0,216,6,159,59,1,62,73,0,33,7,80,138,246,61,77,0,106,7,80,138,246,61,77,0,183,7,80,138,246,61,77,0,4,8,80,138,246,61,77,0,81,8,159,88,231,61,82,0,158,8,159,88,231,61,82,0,240,8,159,88,231,61,82,0,66,9,191,14,220,61,
-86,0,148,9,191,14,220,61,86,0,234,9,191,14,220,61,86,0,64,10,191,14,220,61,86,0,150,10,161,128,205,61,91,0,236,10,161,128,205,61,91,0,71,11,161,128,205,61,91,0,162,11,108,209,194,61,95,0,253,11,108,209,194,61,95,0,92,12,108,209,194,61,95,0,187,12,108,209,194,61,95,0,26,13,12,202,180,61,100,0,121,13,12,202,180,61,100,0,221,13,12,202,180,61,100,0,65,14,12,202,180,61,100,0,165,14,136,245,166,61,105,0,9,15,136,245,166,61,105,0,114,15,136,245,166,61,105,0,219,15,136,245,166,61,105,0,68,16,185,80,153,61,
-110,0,173,16,185,80,153,61,110,0,27,17,185,80,153,61,110,0,137,17,185,80,153,61,110,0,247,17,161,219,139,61,115,0,101,18,161,219,139,61,115,0,216,18,161,219,139,61,115,0,75,19,161,219,139,61,115,0,190,19,144,50,130,61,119,0,49,20,144,50,130,61,119,0,168,20,144,50,130,61,119,0,31,21,144,50,130,61,119,0,150,21,120,94,106,61,124,0,13,22,120,94,106,61,124,0,137,22,120,94,106,61,124,0,5,23,120,94,106,61,124,0,129,23,166,213,80,61,129,0,253,23,166,213,80,61,129,0,126,24,166,213,80,61,129,0,255,24,166,213,
-80,61,129,0,128,25,166,213,80,61,129,0,1,26,18,190,55,61,134,0,130,26,18,190,55,61,134,0,8,27,18,190,55,61,134,0,142,27,18,190,55,61,134,0,20,28,199,45,38,61,138,0,154,28,199,45,38,61,138,0,36,29,199,45,38,61,138,0,174,29,199,45,38,61,138,0,56,30,52,216,20,61,142,0,194,30,52,216,20,61,142,0,80,31,52,216,20,61,142,0,222,31,52,216,20,61,142,0,108,32,47,164,3,61,146,0,250,32,47,164,3,61,146,0,140,33,47,164,3,61,146,0,30,34,47,164,3,61,146,0,176,34,27,241,228,60,150,0,66,35,27,241,228,60,150,0,216,35,
-27,241,228,60,150,0,110,36,75,120,194,60,154,0,4,37,75,120,194,60,154,0,158,37,75,120,194,60,154,0,56,38,75,120,194,60,154,0,210,38,218,198,159,60,158,0,108,39,218,198,159,60,158,0,10,40,218,198,159,60,158,0,168,40,65,17,139,60,161,0,70,41,65,17,139,60,161,0,231,41,65,17,139,60,161,0,136,42,65,17,139,60,161,0,41,43,207,19,79,60,165,0,202,43,207,19,79,60,165,0,111,44,207,19,79,60,165,0,20,45,75,177,35,60,168,0,185,45,75,177,35,60,168,0,97,46,75,177,35,60,168,0,9,47,216,183,19,60,170,0,177,47,216,183,
-19,60,170,0,91,48,216,183,19,60,170,0,5,49,250,183,203,59,173,0,175,49,250,183,203,59,173,0,92,50,188,4,167,59,175,0,9,51,188,4,167,59,175,0,184,51,188,4,167,59,175,0,103,52,18,23,128,59,177,0,22,53,18,23,128,59,177,0,199,53,175,90,25,59,177,0,120,54,197,144,28,59,170,0,41,55,34,252,139,58,164,0,211,55,122,169,216,58,157,0,119,56,14,245,59,58,150,0,20,57,218,140,211,58,143,0,170,57,201,142,141,57,136,0,57,58,97,193,253,57,129,0,193,58,138,146,144,58,123,0,66,59,155,202,162,58,115,0,189,59,170,182,
-155,58,109,0,48,60,136,131,132,58,103,0,157,60,47,220,57,58,97,0,4,61,137,207,157,57,89,0,101,61,193,85,30,59,82,0,190,61,187,14,85,59,76,0,16,62,216,186,84,59,69,0,92,62,58,177,135,59,62,0,161,62,69,101,195,59,55,0,223,62,116,209,16,60,47,0,22,63,64,222,43,60,40,0,69,63,0,55,139,60,31,0,109,63,133,208,193,60,21,0,140,63,24,0,1,0,0,0,0,0,3,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,1,0,173,64,2,0,0,0,0,0,25,0,1,0,0,0,0,0,3,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,1,0,187,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,0,0,1,0,1,0,16,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,66,0,1,0,190,81,2,0,0,0,0,0,2,2,0,0,1,0,1,0,16,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,67,0,1,0,212,81,2,0,0,0,0,0,7,2,0,0,253,255,253,255,16,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,68,0,0,
-1,240,81,2,0,0,0,0,0,8,2,0,0,253,255,253,255,16,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,69,0,0,1,252,81,2,0,0,0,0,0,9,2,0,0,253,255,253,255,16,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,70,0,0,1,9,82,2,0,0,0,0,0,0,2,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,71,0,0,0,22,82,2,0,0,0,0,0,3,2,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,31,82,2,0,0,0,0,0,13,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,39,96,2,0,0,0,0,0,22,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,39,96,2,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,61,1,0,0,1,0,1,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,66,0,0,0,166,88,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,253,255,255,255,254,255,255,255,255,255,255,255,21,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,1,0,39,96,2,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,4,0,4,0,8,0,4,0,17,0,0,0,4,0,5,0,16,0,8,0,17,0,0,0,4,0,6,0,32,0,32,0,17,0,0,0,4,0,4,0,16,0,16,0,18,0,0,0,8,0,16,0,32,0,32,0,18,0,0,0,8,0,16,0,128,0,128,0,18,0,0,0,8,0,32,0,128,0,0,
-1,18,0,0,0,32,0,128,0,2,1,0,4,18,0,0,0,32,0,2,1,2,1,0,16,18,0,0,0,48,242,1,0,88,174,1,0,1,1,0,0,30,1,0,0,15,0,0,0,176,246,1,0,64,175,1,0,0,0,0,0,30,0,0,0,15,0,0,0,0,0,0,0,48,176,1,0,0,0,0,0,19,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,
-0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,
-0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,128,0,0,0,192,0,0,0,0,1,0,0,128,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,3,0,0,0,7,0,0,0,12,96,2,0,28,96,2,0,39,96,2,0,40,96,2,0,51,96,2,0,64,96,2,0,75,96,2,0,95,96,2,0,108,96,2,0,39,96,2,0,0,0,0,0,150,48,7,119,44,97,14,238,186,81,9,153,
-25,196,109,7,143,244,106,112,53,165,99,233,163,149,100,158,50,136,219,14,164,184,220,121,30,233,213,224,136,217,210,151,43,76,182,9,189,124,177,126,7,45,184,231,145,29,191,144,100,16,183,29,242,32,176,106,72,113,185,243,222,65,190,132,125,212,218,26,235,228,221,109,81,181,212,244,199,133,211,131,86,152,108,19,192,168,107,100,122,249,98,253,236,201,101,138,79,92,1,20,217,108,6,99,99,61,15,250,245,13,8,141,200,32,110,59,94,16,105,76,228,65,96,213,114,113,103,162,209,228,3,60,71,212,4,75,253,133,13,
-210,107,181,10,165,250,168,181,53,108,152,178,66,214,201,187,219,64,249,188,172,227,108,216,50,117,92,223,69,207,13,214,220,89,61,209,171,172,48,217,38,58,0,222,81,128,81,215,200,22,97,208,191,181,244,180,33,35,196,179,86,153,149,186,207,15,165,189,184,158,184,2,40,8,136,5,95,178,217,12,198,36,233,11,177,135,124,111,47,17,76,104,88,171,29,97,193,61,45,102,182,144,65,220,118,6,113,219,1,188,32,210,152,42,16,213,239,137,133,177,113,31,181,182,6,165,228,191,159,51,212,184,232,162,201,7,120,52,249,0,
-15,142,168,9,150,24,152,14,225,187,13,106,127,45,61,109,8,151,108,100,145,1,92,99,230,244,81,107,107,98,97,108,28,216,48,101,133,78,0,98,242,237,149,6,108,123,165,1,27,193,244,8,130,87,196,15,245,198,217,176,101,80,233,183,18,234,184,190,139,124,136,185,252,223,29,221,98,73,45,218,21,243,124,211,140,101,76,212,251,88,97,178,77,206,81,181,58,116,0,188,163,226,48,187,212,65,165,223,74,215,149,216,61,109,196,209,164,251,244,214,211,106,233,105,67,252,217,110,52,70,136,103,173,208,184,96,218,115,45,4,
-68,229,29,3,51,95,76,10,170,201,124,13,221,60,113,5,80,170,65,2,39,16,16,11,190,134,32,12,201,37,181,104,87,179,133,111,32,9,212,102,185,159,228,97,206,14,249,222,94,152,201,217,41,34,152,208,176,180,168,215,199,23,61,179,89,129,13,180,46,59,92,189,183,173,108,186,192,32,131,184,237,182,179,191,154,12,226,182,3,154,210,177,116,57,71,213,234,175,119,210,157,21,38,219,4,131,22,220,115,18,11,99,227,132,59,100,148,62,106,109,13,168,90,106,122,11,207,14,228,157,255,9,147,39,174,0,10,177,158,7,125,68,147,
-15,240,210,163,8,135,104,242,1,30,254,194,6,105,93,87,98,247,203,103,101,128,113,54,108,25,231,6,107,110,118,27,212,254,224,43,211,137,90,122,218,16,204,74,221,103,111,223,185,249,249,239,190,142,67,190,183,23,213,142,176,96,232,163,214,214,126,147,209,161,196,194,216,56,82,242,223,79,241,103,187,209,103,87,188,166,221,6,181,63,75,54,178,72,218,43,13,216,76,27,10,175,246,74,3,54,96,122,4,65,195,239,96,223,85,223,103,168,239,142,110,49,121,190,105,70,140,179,97,203,26,131,102,188,160,210,111,37,54,
-226,104,82,149,119,12,204,3,71,11,187,185,22,2,34,47,38,5,85,190,59,186,197,40,11,189,178,146,90,180,43,4,106,179,92,167,255,215,194,49,207,208,181,139,158,217,44,29,174,222,91,176,194,100,155,38,242,99,236,156,163,106,117,10,147,109,2,169,6,9,156,63,54,14,235,133,103,7,114,19,87,0,5,130,74,191,149,20,122,184,226,174,43,177,123,56,27,182,12,155,142,210,146,13,190,213,229,183,239,220,124,33,223,219,11,212,210,211,134,66,226,212,241,248,179,221,104,110,131,218,31,205,22,190,129,91,38,185,246,225,119,
-176,111,119,71,183,24,230,90,8,136,112,106,15,255,202,59,6,102,92,11,1,17,255,158,101,143,105,174,98,248,211,255,107,97,69,207,108,22,120,226,10,160,238,210,13,215,84,131,4,78,194,179,3,57,97,38,103,167,247,22,96,208,77,71,105,73,219,119,110,62,74,106,209,174,220,90,214,217,102,11,223,64,240,59,216,55,83,174,188,169,197,158,187,222,127,207,178,71,233,255,181,48,28,242,189,189,138,194,186,202,48,147,179,83,166,163,180,36,5,54,208,186,147,6,215,205,41,87,222,84,191,103,217,35,46,122,102,179,184,74,
-97,196,2,27,104,93,148,43,111,42,55,190,11,180,161,142,12,195,27,223,5,90,141,239,2,45,0,0,0,0,65,49,27,25,130,98,54,50,195,83,45,43,4,197,108,100,69,244,119,125,134,167,90,86,199,150,65,79,8,138,217,200,73,187,194,209,138,232,239,250,203,217,244,227,12,79,181,172,77,126,174,181,142,45,131,158,207,28,152,135,81,18,194,74,16,35,217,83,211,112,244,120,146,65,239,97,85,215,174,46,20,230,181,55,215,181,152,28,150,132,131,5,89,152,27,130,24,169,0,155,219,250,45,176,154,203,54,169,93,93,119,230,28,108,
-108,255,223,63,65,212,158,14,90,205,162,36,132,149,227,21,159,140,32,70,178,167,97,119,169,190,166,225,232,241,231,208,243,232,36,131,222,195,101,178,197,218,170,174,93,93,235,159,70,68,40,204,107,111,105,253,112,118,174,107,49,57,239,90,42,32,44,9,7,11,109,56,28,18,243,54,70,223,178,7,93,198,113,84,112,237,48,101,107,244,247,243,42,187,182,194,49,162,117,145,28,137,52,160,7,144,251,188,159,23,186,141,132,14,121,222,169,37,56,239,178,60,255,121,243,115,190,72,232,106,125,27,197,65,60,42,222,88,5,
-79,121,240,68,126,98,233,135,45,79,194,198,28,84,219,1,138,21,148,64,187,14,141,131,232,35,166,194,217,56,191,13,197,160,56,76,244,187,33,143,167,150,10,206,150,141,19,9,0,204,92,72,49,215,69,139,98,250,110,202,83,225,119,84,93,187,186,21,108,160,163,214,63,141,136,151,14,150,145,80,152,215,222,17,169,204,199,210,250,225,236,147,203,250,245,92,215,98,114,29,230,121,107,222,181,84,64,159,132,79,89,88,18,14,22,25,35,21,15,218,112,56,36,155,65,35,61,167,107,253,101,230,90,230,124,37,9,203,87,100,56,
-208,78,163,174,145,1,226,159,138,24,33,204,167,51,96,253,188,42,175,225,36,173,238,208,63,180,45,131,18,159,108,178,9,134,171,36,72,201,234,21,83,208,41,70,126,251,104,119,101,226,246,121,63,47,183,72,36,54,116,27,9,29,53,42,18,4,242,188,83,75,179,141,72,82,112,222,101,121,49,239,126,96,254,243,230,231,191,194,253,254,124,145,208,213,61,160,203,204,250,54,138,131,187,7,145,154,120,84,188,177,57,101,167,168,75,152,131,59,10,169,152,34,201,250,181,9,136,203,174,16,79,93,239,95,14,108,244,70,205,63,
-217,109,140,14,194,116,67,18,90,243,2,35,65,234,193,112,108,193,128,65,119,216,71,215,54,151,6,230,45,142,197,181,0,165,132,132,27,188,26,138,65,113,91,187,90,104,152,232,119,67,217,217,108,90,30,79,45,21,95,126,54,12,156,45,27,39,221,28,0,62,18,0,152,185,83,49,131,160,144,98,174,139,209,83,181,146,22,197,244,221,87,244,239,196,148,167,194,239,213,150,217,246,233,188,7,174,168,141,28,183,107,222,49,156,42,239,42,133,237,121,107,202,172,72,112,211,111,27,93,248,46,42,70,225,225,54,222,102,160,7,197,
-127,99,84,232,84,34,101,243,77,229,243,178,2,164,194,169,27,103,145,132,48,38,160,159,41,184,174,197,228,249,159,222,253,58,204,243,214,123,253,232,207,188,107,169,128,253,90,178,153,62,9,159,178,127,56,132,171,176,36,28,44,241,21,7,53,50,70,42,30,115,119,49,7,180,225,112,72,245,208,107,81,54,131,70,122,119,178,93,99,78,215,250,203,15,230,225,210,204,181,204,249,141,132,215,224,74,18,150,175,11,35,141,182,200,112,160,157,137,65,187,132,70,93,35,3,7,108,56,26,196,63,21,49,133,14,14,40,66,152,79,103,
-3,169,84,126,192,250,121,85,129,203,98,76,31,197,56,129,94,244,35,152,157,167,14,179,220,150,21,170,27,0,84,229,90,49,79,252,153,98,98,215,216,83,121,206,23,79,225,73],"i8",4,ra.GLOBAL_BASE+102400);vc([86,126,250,80,149,45,215,123,212,28,204,98,19,138,141,45,82,187,150,52,145,232,187,31,208,217,160,6,236,243,126,94,173,194,101,71,110,145,72,108,47,160,83,117,232,54,18,58,169,7,9,35,106,84,36,8,43,101,63,17,228,121,167,150,165,72,188,143,102,27,145,164,39,42,138,189,224,188,203,242,161,141,208,235,
-98,222,253,192,35,239,230,217,189,225,188,20,252,208,167,13,63,131,138,38,126,178,145,63,185,36,208,112,248,21,203,105,59,70,230,66,122,119,253,91,181,107,101,220,244,90,126,197,55,9,83,238,118,56,72,247,177,174,9,184,240,159,18,161,51,204,63,138,114,253,36,147,0,0,0,0,55,106,194,1,110,212,132,3,89,190,70,2,220,168,9,7,235,194,203,6,178,124,141,4,133,22,79,5,184,81,19,14,143,59,209,15,214,133,151,13,225,239,85,12,100,249,26,9,83,147,216,8,10,45,158,10,61,71,92,11,112,163,38,28,71,201,228,29,30,119,
-162,31,41,29,96,30,172,11,47,27,155,97,237,26,194,223,171,24,245,181,105,25,200,242,53,18,255,152,247,19,166,38,177,17,145,76,115,16,20,90,60,21,35,48,254,20,122,142,184,22,77,228,122,23,224,70,77,56,215,44,143,57,142,146,201,59,185,248,11,58,60,238,68,63,11,132,134,62,82,58,192,60,101,80,2,61,88,23,94,54,111,125,156,55,54,195,218,53,1,169,24,52,132,191,87,49,179,213,149,48,234,107,211,50,221,1,17,51,144,229,107,36,167,143,169,37,254,49,239,39,201,91,45,38,76,77,98,35,123,39,160,34,34,153,230,32,
-21,243,36,33,40,180,120,42,31,222,186,43,70,96,252,41,113,10,62,40,244,28,113,45,195,118,179,44,154,200,245,46,173,162,55,47,192,141,154,112,247,231,88,113,174,89,30,115,153,51,220,114,28,37,147,119,43,79,81,118,114,241,23,116,69,155,213,117,120,220,137,126,79,182,75,127,22,8,13,125,33,98,207,124,164,116,128,121,147,30,66,120,202,160,4,122,253,202,198,123,176,46,188,108,135,68,126,109,222,250,56,111,233,144,250,110,108,134,181,107,91,236,119,106,2,82,49,104,53,56,243,105,8,127,175,98,63,21,109,99,
-102,171,43,97,81,193,233,96,212,215,166,101,227,189,100,100,186,3,34,102,141,105,224,103,32,203,215,72,23,161,21,73,78,31,83,75,121,117,145,74,252,99,222,79,203,9,28,78,146,183,90,76,165,221,152,77,152,154,196,70,175,240,6,71,246,78,64,69,193,36,130,68,68,50,205,65,115,88,15,64,42,230,73,66,29,140,139,67,80,104,241,84,103,2,51,85,62,188,117,87,9,214,183,86,140,192,248,83,187,170,58,82,226,20,124,80,213,126,190,81,232,57,226,90,223,83,32,91,134,237,102,89,177,135,164,88,52,145,235,93,3,251,41,92,90,
-69,111,94,109,47,173,95,128,27,53,225,183,113,247,224,238,207,177,226,217,165,115,227,92,179,60,230,107,217,254,231,50,103,184,229,5,13,122,228,56,74,38,239,15,32,228,238,86,158,162,236,97,244,96,237,228,226,47,232,211,136,237,233,138,54,171,235,189,92,105,234,240,184,19,253,199,210,209,252,158,108,151,254,169,6,85,255,44,16,26,250,27,122,216,251,66,196,158,249,117,174,92,248,72,233,0,243,127,131,194,242,38,61,132,240,17,87,70,241,148,65,9,244,163,43,203,245,250,149,141,247,205,255,79,246,96,93,120,
-217,87,55,186,216,14,137,252,218,57,227,62,219,188,245,113,222,139,159,179,223,210,33,245,221,229,75,55,220,216,12,107,215,239,102,169,214,182,216,239,212,129,178,45,213,4,164,98,208,51,206,160,209,106,112,230,211,93,26,36,210,16,254,94,197,39,148,156,196,126,42,218,198,73,64,24,199,204,86,87,194,251,60,149,195,162,130,211,193,149,232,17,192,168,175,77,203,159,197,143,202,198,123,201,200,241,17,11,201,116,7,68,204,67,109,134,205,26,211,192,207,45,185,2,206,64,150,175,145,119,252,109,144,46,66,43,
-146,25,40,233,147,156,62,166,150,171,84,100,151,242,234,34,149,197,128,224,148,248,199,188,159,207,173,126,158,150,19,56,156,161,121,250,157,36,111,181,152,19,5,119,153,74,187,49,155,125,209,243,154,48,53,137,141,7,95,75,140,94,225,13,142,105,139,207,143,236,157,128,138,219,247,66,139,130,73,4,137,181,35,198,136,136,100,154,131,191,14,88,130,230,176,30,128,209,218,220,129,84,204,147,132,99,166,81,133,58,24,23,135,13,114,213,134,160,208,226,169,151,186,32,168,206,4,102,170,249,110,164,171,124,120,
-235,174,75,18,41,175,18,172,111,173,37,198,173,172,24,129,241,167,47,235,51,166,118,85,117,164,65,63,183,165,196,41,248,160,243,67,58,161,170,253,124,163,157,151,190,162,208,115,196,181,231,25,6,180,190,167,64,182,137,205,130,183,12,219,205,178,59,177,15,179,98,15,73,177,85,101,139,176,104,34,215,187,95,72,21,186,6,246,83,184,49,156,145,185,180,138,222,188,131,224,28,189,218,94,90,191,237,52,152,190,0,0,0,0,101,103,188,184,139,200,9,170,238,175,181,18,87,151,98,143,50,240,222,55,220,95,107,37,185,
-56,215,157,239,40,180,197,138,79,8,125,100,224,189,111,1,135,1,215,184,191,214,74,221,216,106,242,51,119,223,224,86,16,99,88,159,87,25,80,250,48,165,232,20,159,16,250,113,248,172,66,200,192,123,223,173,167,199,103,67,8,114,117,38,111,206,205,112,127,173,149,21,24,17,45,251,183,164,63,158,208,24,135,39,232,207,26,66,143,115,162,172,32,198,176,201,71,122,8,62,175,50,160,91,200,142,24,181,103,59,10,208,0,135,178,105,56,80,47,12,95,236,151,226,240,89,133,135,151,229,61,209,135,134,101,180,224,58,221,
-90,79,143,207,63,40,51,119,134,16,228,234,227,119,88,82,13,216,237,64,104,191,81,248,161,248,43,240,196,159,151,72,42,48,34,90,79,87,158,226,246,111,73,127,147,8,245,199,125,167,64,213,24,192,252,109,78,208,159,53,43,183,35,141,197,24,150,159,160,127,42,39,25,71,253,186,124,32,65,2,146,143,244,16,247,232,72,168,61,88,20,155,88,63,168,35,182,144,29,49,211,247,161,137,106,207,118,20,15,168,202,172,225,7,127,190,132,96,195,6,210,112,160,94,183,23,28,230,89,184,169,244,60,223,21,76,133,231,194,209,224,
-128,126,105,14,47,203,123,107,72,119,195,162,15,13,203,199,104,177,115,41,199,4,97,76,160,184,217,245,152,111,68,144,255,211,252,126,80,102,238,27,55,218,86,77,39,185,14,40,64,5,182,198,239,176,164,163,136,12,28,26,176,219,129,127,215,103,57,145,120,210,43,244,31,110,147,3,247,38,59,102,144,154,131,136,63,47,145,237,88,147,41,84,96,68,180,49,7,248,12,223,168,77,30,186,207,241,166,236,223,146,254,137,184,46,70,103,23,155,84,2,112,39,236,187,72,240,113,222,47,76,201,48,128,249,219,85,231,69,99,156,
-160,63,107,249,199,131,211,23,104,54,193,114,15,138,121,203,55,93,228,174,80,225,92,64,255,84,78,37,152,232,246,115,136,139,174,22,239,55,22,248,64,130,4,157,39,62,188,36,31,233,33,65,120,85,153,175,215,224,139,202,176,92,51,59,182,89,237,94,209,229,85,176,126,80,71,213,25,236,255,108,33,59,98,9,70,135,218,231,233,50,200,130,142,142,112,212,158,237,40,177,249,81,144,95,86,228,130,58,49,88,58,131,9,143,167,230,110,51,31,8,193,134,13,109,166,58,181,164,225,64,189,193,134,252,5,47,41,73,23,74,78,245,
-175,243,118,34,50,150,17,158,138,120,190,43,152,29,217,151,32,75,201,244,120,46,174,72,192,192,1,253,210,165,102,65,106,28,94,150,247,121,57,42,79,151,150,159,93,242,241,35,229,5,25,107,77,96,126,215,245,142,209,98,231,235,182,222,95,82,142,9,194,55,233,181,122,217,70,0,104,188,33,188,208,234,49,223,136,143,86,99,48,97,249,214,34,4,158,106,154,189,166,189,7,216,193,1,191,54,110,180,173,83,9,8,21,154,78,114,29,255,41,206,165,17,134,123,183,116,225,199,15,205,217,16,146,168,190,172,42,70,17,25,56,35,
-118,165,128,117,102,198,216,16,1,122,96,254,174,207,114,155,201,115,202,34,241,164,87,71,150,24,239,169,57,173,253,204,94,17,69,6,238,77,118,99,137,241,206,141,38,68,220,232,65,248,100,81,121,47,249,52,30,147,65,218,177,38,83,191,214,154,235,233,198,249,179,140,161,69,11,98,14,240,25,7,105,76,161,190,81,155,60,219,54,39,132,53,153,146,150,80,254,46,46,153,185,84,38,252,222,232,158,18,113,93,140,119,22,225,52,206,46,54,169,171,73,138,17,69,230,63,3,32,129,131,187,118,145,224,227,19,246,92,91,253,89,
-233,73,152,62,85,241,33,6,130,108,68,97,62,212,170,206,139,198,207,169,55,126,56,65,127,214,93,38,195,110,179,137,118,124,214,238,202,196,111,214,29,89,10,177,161,225,228,30,20,243,129,121,168,75,215,105,203,19,178,14,119,171,92,161,194,185,57,198,126,1,128,254,169,156,229,153,21,36,11,54,160,54,110,81,28,142,167,22,102,134,194,113,218,62,44,222,111,44,73,185,211,148,240,129,4,9,149,230,184,177,123,73,13,163,30,46,177,27,72,62,210,67,45,89,110,251,195,246,219,233,166,145,103,81,31,169,176,204,122,
-206,12,116,148,97,185,102,241,6,5,222,0,0,0,0,119,7,48,150,238,14,97,44,153,9,81,186,7,109,196,25,112,106,244,143,233,99,165,53,158,100,149,163,14,219,136,50,121,220,184,164,224,213,233,30,151,210,217,136,9,182,76,43,126,177,124,189,231,184,45,7,144,191,29,145,29,183,16,100,106,176,32,242,243,185,113,72,132,190,65,222,26,218,212,125,109,221,228,235,244,212,181,81,131,211,133,199,19,108,152,86,100,107,168,192,253,98,249,122,138,101,201,236,20,1,92,79,99,6,108,217,250,15,61,99,141,8,13,245,59,110,32,
-200,76,105,16,94,213,96,65,228,162,103,113,114,60,3,228,209,75,4,212,71,210,13,133,253,165,10,181,107,53,181,168,250,66,178,152,108,219,187,201,214,172,188,249,64,50,216,108,227,69,223,92,117,220,214,13,207,171,209,61,89,38,217,48,172,81,222,0,58,200,215,81,128,191,208,97,22,33,180,244,181,86,179,196,35,207,186,149,153,184,189,165,15,40,2,184,158,95,5,136,8,198,12,217,178,177,11,233,36,47,111,124,135,88,104,76,17,193,97,29,171,182,102,45,61,118,220,65,144,1,219,113,6,152,210,32,188,239,213,16,42,
-113,177,133,137,6,182,181,31,159,191,228,165,232,184,212,51,120,7,201,162,15,0,249,52,150,9,168,142,225,14,152,24,127,106,13,187,8,109,61,45,145,100,108,151,230,99,92,1,107,107,81,244,28,108,97,98,133,101,48,216,242,98,0,78,108,6,149,237,27,1,165,123,130,8,244,193,245,15,196,87,101,176,217,198,18,183,233,80,139,190,184,234,252,185,136,124,98,221,29,223,21,218,45,73,140,211,124,243,251,212,76,101,77,178,97,88,58,181,81,206,163,188,0,116,212,187,48,226,74,223,165,65,61,216,149,215,164,209,196,109,211,
-214,244,251,67,105,233,106,52,110,217,252,173,103,136,70,218,96,184,208,68,4,45,115,51,3,29,229,170,10,76,95,221,13,124,201,80,5,113,60,39,2,65,170,190,11,16,16,201,12,32,134,87,104,181,37,32,111,133,179,185,102,212,9,206,97,228,159,94,222,249,14,41,217,201,152,176,208,152,34,199,215,168,180,89,179,61,23,46,180,13,129,183,189,92,59,192,186,108,173,237,184,131,32,154,191,179,182,3,182,226,12,116,177,210,154,234,213,71,57,157,210,119,175,4,219,38,21,115,220,22,131,227,99,11,18,148,100,59,132,13,109,
-106,62,122,106,90,168,228,14,207,11,147,9,255,157,10,0,174,39,125,7,158,177,240,15,147,68,135,8,163,210,30,1,242,104,105,6,194,254,247,98,87,93,128,101,103,203,25,108,54,113,110,107,6,231,254,212,27,118,137,211,43,224,16,218,122,90,103,221,74,204,249,185,223,111,142,190,239,249,23,183,190,67,96,176,142,213,214,214,163,232,161,209,147,126,56,216,194,196,79,223,242,82,209,187,103,241,166,188,87,103,63,181,6,221,72,178,54,75,216,13,43,218,175,10,27,76,54,3,74,246,65,4,122,96,223,96,239,195,168,103,223,
-85,49,110,142,239,70,105,190,121,203,97,179,140,188,102,131,26,37,111,210,160,82,104,226,54,204,12,119,149,187,11,71,3,34,2,22,185,85,5,38,47,197,186,59,190,178,189,11,40,43,180,90,146,92,179,106,4,194,215,255,167,181,208,207,49,44,217,158,139,91,222,174,29,155,100,194,176,236,99,242,38,117,106,163,156,2,109,147,10,156,9,6,169,235,14,54,63,114,7,103,133,5,0,87,19,149,191,74,130,226,184,122,20,123,177,43,174,12,182,27,56,146,210,142,155,229,213,190,13,124,220,239,183,11,219,223,33,134,211,210,212,
-241,212,226,66,104,221,179,248,31,218,131,110,129,190,22,205,246,185,38,91,111,176,119,225,24,183,71,119,136,8,90,230,255,15,106,112,102,6,59,202,17,1,11,92,143,101,158,255,248,98,174,105,97,107,255,211,22,108,207,69,160,10,226,120,215,13,210,238,78,4,131,84,57,3,179,194,167,103,38,97,208,96,22,247,73,105,71,77,62,110,119,219,174,209,106,74,217,214,90,220,64,223,11,102,55,216,59,240,169,188,174,83,222,187,158,197,71,178,207,127,48,181,255,233,189,189,242,28,202,186,194,138,83,179,147,48,36,180,163,
-166,186,208,54,5,205,215,6,147,84,222,87,41,35,217,103,191,179,102,122,46,196,97,74,184,93,104,27,2,42,111,43,148,180,11,190,55,195,12,142,161,90,5,223,27,45,2,239,141,0,0,0,0,25,27,49,65,50,54,98,130,43,45,83,195,100,108,197,4,125,119,244,69,86,90,167,134,79,65,150,199,200,217,138,8,209,194,187,73,250,239,232,138,227,244,217,203,172,181,79,12,181,174,126,77,158,131,45,142,135,152,28,207,74,194,18,81,83,217,35,16,120,244,112,211,97,239,65,146,46,174,215,85,55,181,230,20,28,152,181,215,5,131,132,150,
-130,27,152,89,155,0,169,24,176,45,250,219,169,54,203,154,230,119,93,93,255,108,108,28,212,65,63,223,205,90,14,158,149,132,36,162,140,159,21,227,167,178,70,32,190,169,119,97,241,232,225,166,232,243,208,231,195,222,131,36,218,197,178,101,93,93,174,170,68,70,159,235,111,107,204,40,118,112,253,105,57,49,107,174,32,42,90,239,11,7,9,44,18,28,56,109,223,70,54,243,198,93,7,178,237,112,84,113,244,107,101,48,187,42,243,247,162,49,194,182,137,28,145,117,144,7,160,52,23,159,188,251,14,132,141,186,37,169,222,
-121,60,178,239,56,115,243,121,255,106,232,72,190,65,197,27,125,88,222,42,60,240,121,79,5,233,98,126,68,194,79,45,135,219,84,28,198,148,21,138,1,141,14,187,64,166,35,232,131,191,56,217,194,56,160,197,13,33,187,244,76,10,150,167,143,19,141,150,206,92,204,0,9,69,215,49,72,110,250,98,139,119,225,83,202,186,187,93,84,163,160,108,21,136,141,63,214,145,150,14,151,222,215,152,80,199,204,169,17,236,225,250,210,245,250,203,147,114,98,215,92,107,121,230,29,64,84,181,222,89,79,132,159,22,14,18,88,15,21,35,25,
-36,56,112,218,61,35,65,155,101,253,107,167,124,230,90,230,87,203,9,37,78,208,56,100,1,145,174,163,24,138,159,226,51,167,204,33,42,188,253,96,173,36,225,175,180,63,208,238,159,18,131,45,134,9,178,108,201,72,36,171,208,83,21,234,251,126,70,41,226,101,119,104,47,63,121,246,54,36,72,183,29,9,27,116,4,18,42,53,75,83,188,242,82,72,141,179,121,101,222,112,96,126,239,49,231,230,243,254,254,253,194,191,213,208,145,124,204,203,160,61,131,138,54,250,154,145,7,187,177,188,84,120,168,167,101,57,59,131,152,75,
-34,152,169,10,9,181,250,201,16,174,203,136,95,239,93,79,70,244,108,14,109,217,63,205,116,194,14,140,243,90,18,67,234,65,35,2,193,108,112,193,216,119,65,128,151,54,215,71,142,45,230,6,165,0,181,197,188,27,132,132,113,65,138,26,104,90,187,91,67,119,232,152,90,108,217,217,21,45,79,30,12,54,126,95,39,27,45,156,62,0,28,221,185,152,0,18,160,131,49,83,139,174,98,144,146,181,83,209,221,244,197,22,196,239,244,87,239,194,167,148,246,217,150,213,174,7,188,233,183,28,141,168,156,49,222,107,133,42,239,42,202,
-107,121,237,211,112,72,172,248,93,27,111,225,70,42,46,102,222,54,225,127,197,7,160,84,232,84,99,77,243,101,34,2,178,243,229,27,169,194,164,48,132,145,103,41,159,160,38,228,197,174,184,253,222,159,249,214,243,204,58,207,232,253,123,128,169,107,188,153,178,90,253,178,159,9,62,171,132,56,127,44,28,36,176,53,7,21,241,30,42,70,50,7,49,119,115,72,112,225,180,81,107,208,245,122,70,131,54,99,93,178,119,203,250,215,78,210,225,230,15,249,204,181,204,224,215,132,141,175,150,18,74,182,141,35,11,157,160,112,200,
-132,187,65,137,3,35,93,70,26,56,108,7,49,21,63,196,40,14,14,133,103,79,152,66,126,84,169,3,85,121,250,192,76,98,203,129,129,56,197,31,152,35,244,94,179,14,167,157,170,21,150,220,229,84,0,27,252,79,49,90,215,98,98,153,206,121,83,216,73,225,79,23,80,250,126,86,123,215,45,149,98,204,28,212,45,141,138,19,52,150,187,82,31,187,232,145,6,160,217,208,94,126,243,236,71,101,194,173,108,72,145,110,117,83,160,47,58,18,54,232,35,9,7,169,8,36,84,106,17,63,101,43,150,167,121,228,143,188,72,165,164,145,27,102,189,
-138,42,39,242,203,188,224,235,208,141,161,192,253,222,98,217,230,239,35,20,188,225,189,13,167,208,252,38,138,131,63,63,145,178,126,112,208,36,185,105,203,21,248,66,230,70,59,91,253,119,122,220,101,107,181,197,126,90,244,238,83,9,55,247,72,56,118,184,9,174,177,161,18,159,240,138,63,204,51,147,36,253,114,0,0,0,0,1,194,106,55,3,132,212,110,2,70,190,89,7,9,168,220,6,203,194,235,4,141,124,178,5,79,22,133,14,19,81,184,15,209,59,143,13,151,133,214,12,85,239,225,9,26,249,100,8,216,147,83,10,158,45,10,11,
-92,71,61,28,38,163,112,29,228,201,71,31,162,119,30,30,96,29,41,27,47,11,172,26,237,97,155,24,171,223,194,25,105,181,245,18,53,242,200,19,247,152,255,17,177,38,166,16,115,76,145,21,60,90,20,20,254,48,35,22,184,142,122,23,122,228,77,56,77,70,224,57,143,44,215,59,201,146,142,58,11,248,185,63,68,238,60,62,134,132,11,60,192,58,82,61,2,80,101,54,94,23,88,55,156,125,111,53,218,195,54,52,24,169,1,49,87,191,132,48,149,213,179,50,211,107,234,51,17,1,221,36,107,229,144,37,169,143,167,39,239,49,254,38,45,91,
-201,35,98,77,76,34,160,39,123,32,230,153,34,33,36,243,21,42,120,180,40,43,186,222,31,41,252,96,70,40,62,10,113,45,113,28,244,44,179,118,195,46,245,200,154,47,55,162,173,112,154,141,192,113,88,231,247,115,30,89,174,114,220,51,153,119,147,37,28,118,81,79,43,116,23,241,114,117,213,155,69,126,137,220,120,127,75,182,79,125,13,8,22,124,207,98,33,121,128,116,164,120,66,30,147,122,4,160,202,123,198,202,253,108,188,46,176,109,126,68,135,111,56,250,222,110,250,144,233,107,181,134,108,106,119,236,91,104,49,
-82,2,105,243,56,53,98,175,127,8,99,109,21,63,97,43,171,102,96,233,193,81,101,166,215,212,100,100,189,227,102,34,3,186,103,224,105,141,72,215,203,32,73,21,161,23,75,83,31,78,74,145,117,121,79,222,99,252,78,28,9,203,76,90,183,146,77,152,221,165,70,196,154,152,71,6,240,175,69,64,78,246,68,130,36,193,65,205,50,68,64,15,88,115,66,73,230,42,67,139,140,29,84,241,104,80,85,51,2,103,87,117,188,62,86,183,214,9,83,248,192,140,82,58,170,187,80,124,20,226,81,190,126,213,90,226,57,232,91,32,83,223,89,102,237,134,
-88,164,135,177,93,235,145,52,92,41,251,3,94,111,69,90,95,173,47,109,225,53,27,128,224,247,113,183,226,177,207,238,227,115,165,217,230,60,179,92,231,254,217,107,229,184,103,50,228,122,13,5,239,38,74,56,238,228,32,15,236,162,158,86,237,96,244,97,232,47,226,228,233,237,136,211,235,171,54,138,234,105,92,189,253,19,184,240,252,209,210,199,254,151,108,158,255,85,6,169,250,26,16,44,251,216,122,27,249,158,196,66,248,92,174,117,243,0,233,72,242,194,131,127,240,132,61,38,241,70,87,17,244,9,65,148,245,203,43,
-163,247,141,149,250,246,79,255,205,217,120,93,96,216,186,55,87,218,252,137,14,219,62,227,57,222,113,245,188,223,179,159,139,221,245,33,210,220,55,75,229,215,107,12,216,214,169,102,239,212,239,216,182,213,45,178,129,208,98,164,4,209,160,206,51,211,230,112,106,210,36,26,93,197,94,254,16,196,156,148,39,198,218,42,126,199,24,64,73,194,87,86,204,195,149,60,251,193,211,130,162,192,17,232,149,203,77,175,168,202,143,197,159,200,201,123,198,201,11,17,241,204,68,7,116,205,134,109,67,207,192,211,26,206,2,185,
-45,145,175,150,64,144,109,252,119,146,43,66,46,147,233,40,25,150,166,62,156,151,100,84,171,149,34,234,242,148,224,128,197,159,188,199,248,158,126,173,207,156,56,19,150,157,250,121,161,152,181,111,36,153,119,5,19,155,49,187,74,154,243,209,125,141,137,53,48,140,75,95,7,142,13,225,94,143,207,139,105,138,128,157,236,139,66,247,219,137,4,73,130,136,198,35,181,131,154,100,136,130,88,14,191,128,30,176,230,129,220,218,209,132,147,204,84,133,81,166,99,135,23,24,58,134,213,114,13,169,226,208,160,168,32,186,
-151,170,102,4,206,171,164,110,249,174,235,120,124,175,41,18,75,173,111,172,18,172,173,198,37,167,241,129,24,166,51,235,47,164,117,85,118,165,183,63,65,160,248,41,196,161,58,67,243,163,124,253,170,162,190,151,157,181,196,115,208,180,6,25,231,182,64,167,190,183,130,205,137,178,205,219,12,179,15,177,59,177,73,15,98,176,139,101,85,187,215,34,104,186,21,72,95,184,83,246,6,185,145,156,49,188,222,138,180,189,28,224,131,191,90,94,218,190,152,52,237,0,0,0,0,184,188,103,101,170,9,200,139,18,181,175,238,143,
-98,151,87,55,222,240,50,37,107,95,220,157,215,56,185,197,180,40,239,125,8,79,138,111,189,224,100,215,1,135,1,74,214,191,184,242,106,216,221,224,223,119,51,88,99,16,86,80,25,87,159,232,165,48,250,250,16,159,20,66,172,248,113,223,123,192,200,103,199,167,173,117,114,8,67,205,206,111,38,149,173,127,112,45,17,24,21,63,164,183,251,135,24,208,158,26,207,232,39,162,115,143,66,176,198,32,172,8,122,71,201,160,50,175,62,24,142,200,91,10,59,103,181,178,135,0,208,47,80,56,105,151,236,95,12,133,89,240,226,61,229,
-151,135,101,134,135,209,221,58,224,180,207,143,79,90,119,51,40,63,234,228,16,134,82,88,119,227,64,237,216,13,248,81,191,104,240,43,248,161,72,151,159,196,90,34,48,42,226,158,87,79,127,73,111,246,199,245,8,147,213,64,167,125,109,252,192,24,53,159,208,78,141,35,183,43,159,150,24,197,39,42,127,160,186,253,71,25,2,65,32,124,16,244,143,146,168,72,232,247,155,20,88,61,35,168,63,88,49,29,144,182,137,161,247,211,20,118,207,106,172,202,168,15,190,127,7,225,6,195,96,132,94,160,112,210,230,28,23,183,244,169,
-184,89,76,21,223,60,209,194,231,133,105,126,128,224,123,203,47,14,195,119,72,107,203,13,15,162,115,177,104,199,97,4,199,41,217,184,160,76,68,111,152,245,252,211,255,144,238,102,80,126,86,218,55,27,14,185,39,77,182,5,64,40,164,176,239,198,28,12,136,163,129,219,176,26,57,103,215,127,43,210,120,145,147,110,31,244,59,38,247,3,131,154,144,102,145,47,63,136,41,147,88,237,180,68,96,84,12,248,7,49,30,77,168,223,166,241,207,186,254,146,223,236,70,46,184,137,84,155,23,103,236,39,112,2,113,240,72,187,201,76,
-47,222,219,249,128,48,99,69,231,85,107,63,160,156,211,131,199,249,193,54,104,23,121,138,15,114,228,93,55,203,92,225,80,174,78,84,255,64,246,232,152,37,174,139,136,115,22,55,239,22,4,130,64,248,188,62,39,157,33,233,31,36,153,85,120,65,139,224,215,175,51,92,176,202,237,89,182,59,85,229,209,94,71,80,126,176,255,236,25,213,98,59,33,108,218,135,70,9,200,50,233,231,112,142,142,130,40,237,158,212,144,81,249,177,130,228,86,95,58,88,49,58,167,143,9,131,31,51,110,230,13,134,193,8,181,58,166,109,189,64,225,
-164,5,252,134,193,23,73,41,47,175,245,78,74,50,34,118,243,138,158,17,150,152,43,190,120,32,151,217,29,120,244,201,75,192,72,174,46,210,253,1,192,106,65,102,165,247,150,94,28,79,42,57,121,93,159,150,151,229,35,241,242,77,107,25,5,245,215,126,96,231,98,209,142,95,222,182,235,194,9,142,82,122,181,233,55,104,0,70,217,208,188,33,188,136,223,49,234,48,99,86,143,34,214,249,97,154,106,158,4,7,189,166,189,191,1,193,216,173,180,110,54,21,8,9,83,29,114,78,154,165,206,41,255,183,123,134,17,15,199,225,116,146,
-16,217,205,42,172,190,168,56,25,17,70,128,165,118,35,216,198,102,117,96,122,1,16,114,207,174,254,202,115,201,155,87,164,241,34,239,24,150,71,253,173,57,169,69,17,94,204,118,77,238,6,206,241,137,99,220,68,38,141,100,248,65,232,249,47,121,81,65,147,30,52,83,38,177,218,235,154,214,191,179,249,198,233,11,69,161,140,25,240,14,98,161,76,105,7,60,155,81,190,132,39,54,219,150,146,153,53,46,46,254,80,38,84,185,153,158,232,222,252,140,93,113,18,52,225,22,119,169,54,46,206,17,138,73,171,3,63,230,69,187,131,
-129,32,227,224,145,118,91,92,246,19,73,233,89,253,241,85,62,152,108,130,6,33,212,62,97,68,198,139,206,170,126,55,169,207,214,127,65,56,110,195,38,93,124,118,137,179,196,202,238,214,89,29,214,111,225,161,177,10,243,20,30,228,75,168,121,129,19,203,105,215,171,119,14,178,185,194,161,92,1,126,198,57,156,169,254,128,36,21,153,229,54,160,54,11,142,28,81,110,134,102,22,167,62,218,113,194,44,111,222,44,148,211,185,73,9,4,129,240,177,184,230,149,163,13,73,123,27,177,46,30,67,210,62,72,251,110,89,45,233,219,
-246,195,81,103,145,166,204,176,169,31,116,12,206,122,102,185,97,148,222,5,6,241,16,0,0,0,11,0,0,0,10,0,0,0,16,0,0,0,24,0,0,0,40,0,0,0,51,0,0,0,61,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,19,0,0,0,26,0,0,0,58,0,0,0,60,0,0,0,55,0,0,0,14,0,0,0,13,0,0,0,16,0,0,0,24,0,0,0,40,0,0,0,57,0,0,0,69,0,0,0,56,0,0,0,14,0,0,0,17,0,0,0,22,0,0,0,29,0,0,0,51,0,0,0,87,0,0,0,80,0,0,0,62,0,0,0,18,0,0,0,22,0,0,0,37,0,0,0,56,0,0,0,68,0,0,0,109,0,0,0,103,0,0,0,77,0,0,0,24,0,0,0,35,0,0,0,55,0,0,0,64,0,0,0,81,0,0,0,104,0,0,0,113,
-0,0,0,92,0,0,0,49,0,0,0,64,0,0,0,78,0,0,0,87,0,0,0,103,0,0,0,121,0,0,0,120,0,0,0,101,0,0,0,72,0,0,0,92,0,0,0,95,0,0,0,98,0,0,0,112,0,0,0,100,0,0,0,103,0,0,0,99,0,0,0,17,0,0,0,18,0,0,0,24,0,0,0,47,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,18,0,0,0,21,0,0,0,26,0,0,0,66,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,24,0,0,0,26,0,0,0,56,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,47,0,0,0,66,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,
-0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,121,98,2,0,143,98,2,0,175,98,2,0,212,98,2,0,238,98,2,0,13,99,2,0,34,99,2,0,63,99,2,0,105,99,2,0,169,99,2,0,200,99,2,0,223,99,2,0,245,99,2,0,9,100,2,0,70,100,2,0,118,100,2,0,146,100,2,0,181,100,2,0,236,100,2,0,35,101,2,0,58,101,2,0,90,101,2,0,132,101,2,0,209,101,
-2,0,236,101,2,0,23,102,2,0,51,102,2,0,88,102,2,0,126,102,2,0,163,102,2,0,182,102,2,0,203,102,2,0,222,102,2,0,241,102,2,0,22,103,2,0,43,103,2,0,63,103,2,0,96,103,2,0,118,103,2,0,165,103,2,0,205,103,2,0,238,103,2,0,15,104,2,0,62,104,2,0,79,104,2,0,107,104,2,0,169,104,2,0,208,104,2,0,247,104,2,0,11,105,2,0,57,105,2,0,97,105,2,0,125,105,2,0,162,105,2,0,196,105,2,0,238,105,2,0,25,106,2,0,55,106,2,0,101,106,2,0,141,106,2,0,180,106,2,0,223,106,2,0,12,107,2,0,60,107,2,0,102,107,2,0,147,107,2,0,182,107,2,
-0,212,107,2,0,242,107,2,0,40,108,2,0,82,108,2,0,113,108,2,0,148,108,2,0,187,108,2,0,208,108,2,0,228,108,2,0,25,109,2,0,41,109,2,0,103,109,2,0,169,109,2,0,211,109,2,0,255,109,2,0,38,110,2,0,66,110,2,0,109,110,2,0,136,110,2,0,156,110,2,0,179,110,2,0,192,110,2,0,232,110,2,0,29,111,2,0,89,111,2,0,135,111,2,0,168,111,2,0,207,111,2,0,232,111,2,0,16,112,2,0,51,112,2,0,75,112,2,0,111,112,2,0,148,112,2,0,154,112,2,0,211,112,2,0,13,113,2,0,44,113,2,0,59,113,2,0,88,113,2,0,118,113,2,0,147,113,2,0,172,113,2,
-0,197,113,2,0,7,114,2,0,65,114,2,0,119,114,2,0,171,114,2,0,191,114,2,0,214,114,2,0,252,114,2,0,35,115,2,0,101,115,2,0,161,115,2,0,210,115,2,0,246,115,2,0,36,116,2,0,63,116,2,0,119,116,2,0,162,116,2,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,7,0,0,0,14,0,0,0,21,0,0,0,
-28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,56,0,0,0,57,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,15,0,0,0,23,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,58,0,0,0,59,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,31,0,0,0,39,0,0,0,46,0,0,0,53,0,0,0,60,0,0,0,61,0,0,0,54,0,0,0,47,0,0,0,55,0,0,0,62,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,
-0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,46,0,0,0,53,0,0,0,54,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,
-0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,37,0,0,0,44,0,0,0,45,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,
-0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,35,0,0,0,36,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,
-0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,17,0,0,0,18,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,
-63,0,0,0,64,6,0,0,128,62,0,0,0,0,0,0,136,19,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,8,0,0,0,11,0,0,0,13,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,15,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,21,0,0,0,9,0,0,0,11,0,0,0,17,0,0,0,20,0,0,0,22,0,0,0,10,0,0,0,18,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,
-0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,25,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,24,0,0,0,26,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,23,0,0,0,27,0,0,0,32,0,0,0,10,0,0,0,19,0,0,0,22,0,0,0,28,0,0,0,31,0,0,0,33,0,0,0,20,0,0,0,21,0,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,27,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,26,0,0,0,28,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,25,0,0,0,29,0,0,0,38,0,0,0,9,0,0,0,
-11,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,37,0,0,0,39,0,0,0,10,0,0,0,19,0,0,0,23,0,0,0,31,0,0,0,36,0,0,0,40,0,0,0,45,0,0,0,20,0,0,0,22,0,0,0,32,0,0,0,35,0,0,0,41,0,0,0,44,0,0,0,46,0,0,0,21,0,0,0,33,0,0,0,34,0,0,0,42,0,0,0,43,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,27,0,0,0,28,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,26,0,0,0,29,0,0,0,42,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,25,0,0,0,30,0,0,0,41,0,0,0,43,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,24,0,0,0,31,0,0,0,40,0,0,
-0,44,0,0,0,53,0,0,0,10,0,0,0,19,0,0,0,23,0,0,0,32,0,0,0,39,0,0,0,45,0,0,0,52,0,0,0,54,0,0,0,20,0,0,0,22,0,0,0,33,0,0,0,38,0,0,0,46,0,0,0,51,0,0,0,55,0,0,0,60,0,0,0,21,0,0,0,34,0,0,0,37,0,0,0,47,0,0,0,50,0,0,0,56,0,0,0,59,0,0,0,61,0,0,0,35,0,0,0,36,0,0,0,48,0,0,0,49,0,0,0,57,0,0,0,58,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,129,1,29,90,14,2,134,37,16,3,20,17,18,4,
-11,8,20,5,216,3,23,6,218,1,25,7,229,0,28,8,111,0,30,9,54,0,33,10,26,0,35,11,13,0,9,12,6,0,10,13,3,0,12,13,1,0,143,15,127,90,36,16,37,63,38,17,242,44,39,18,124,32,40,19,185,23,42,20,130,17,43,21,239,12,45,22,161,9,46,23,47,7,48,24,92,5,49,25,6,4,51,26,3,3,52,27,64,2,54,28,177,1,56,29,68,1,57,30,245,0,59,31,183,0,60,32,138,0,62,33,104,0,63,34,78,0,32,35,59,0,33,9,44,0,165,37,225,90,64,38,76,72,65,39,13,58,67,40,241,46,68,41,31,38,69,42,51,31,70,43,168,25,72,44,24,21,73,45,119,17,74,46,116,14,75,47,
-251,11,77,48,248,9,78,49,97,8,79,50,6,7,48,51,205,5,50,52,222,4,50,53,15,4,51,54,99,3,52,55,212,2,53,56,92,2,54,57,248,1,55,58,164,1,56,59,96,1,57,60,37,1,58,61,246,0,59,62,203,0,61,63,171,0,61,32,143,0,193,65,18,91,80,66,4,77,81,67,44,65,82,68,216,55,83,69,232,47,84,70,60,41,86,71,121,35,87,72,223,30,87,73,169,26,72,74,78,23,72,75,36,20,74,76,156,17,74,77,107,15,75,78,81,13,77,79,182,11,77,48,64,10,208,81,50,88,88,82,28,77,89,83,142,67,90,84,221,59,91,85,238,52,92,86,174,46,93,87,154,41,86,71,22,
-37,216,89,112,85,95,90,169,76,96,91,217,68,97,92,34,62,99,93,36,56,99,94,180,50,93,86,23,46,223,96,168,86,101,97,70,79,102,98,229,71,103,99,207,65,104,100,61,60,99,93,94,55,105,102,49,82,106,103,15,76,107,104,57,70,103,99,94,65,233,106,39,86,108,107,231,80,109,103,133,75,110,109,151,85,111,107,79,80,238,111,16,90,112,109,34,85,240,111,235,89,113,113,29,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,
-192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,120,224,1,0,232,
-224,1,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5],"i8",4,ra.GLOBAL_BASE+112640);vc([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,255,255,255,255,255,0,0,0,0,0,0,0,0,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,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,2,0,0,0,3,0,0,0,102,130,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,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,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,4,0,0,0,3,0,0,0,94,126,2,0,0,4,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,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,53,0,0,0,6,0,7,0,1,0,4,0,7,0,2,0,4,0,8,0,3,0,4,0,11,0,4,0,4,0,12,0,5,0,4,0,14,0,6,0,4,0,15,0,7,0,5,0,19,0,8,0,5,0,20,0,9,0,5,0,7,0,10,0,5,0,8,0,11,0,6,0,8,0,12,0,6,0,3,0,13,0,6,0,52,0,14,0,6,0,53,0,15,0,6,0,42,0,16,0,6,0,43,0,17,0,7,0,
-39,0,18,0,7,0,12,0,19,0,7,0,8,0,20,0,7,0,23,0,21,0,7,0,3,0,22,0,7,0,4,0,23,0,7,0,40,0,24,0,7,0,43,0,25,0,7,0,19,0,26,0,7,0,36,0,27,0,7,0,24,0,28,0,8,0,2,0,29,0,8,0,3,0,30,0,8,0,26,0,31,0,8,0,27,0,32,0,8,0,18,0,33,0,8,0,19,0,34,0,8,0,20,0,35,0,8,0,21,0,36,0,8,0,22,0,37,0,8,0,23,0,38,0,8,0,40,0,39,0,8,0,41,0,40,0,8,0,42,0,41,0,8,0,43,0,42,0,8,0,44,0,43,0,8,0,45,0,44,0,8,0,4,0,45,0,8,0,5,0,46,0,8,0,10,0,47,0,8,0,11,0,48,0,8,0,82,0,49,0,8,0,83,0,50,0,8,0,84,0,51,0,8,0,85,0,52,0,8,0,36,0,53,0,8,0,37,0,
-54,0,8,0,88,0,55,0,8,0,89,0,56,0,8,0,90,0,57,0,8,0,91,0,58,0,8,0,74,0,59,0,8,0,75,0,60,0,8,0,50,0,61,0,8,0,51,0,62,0,8,0,52,0,63,0,5,0,27,0,64,0,5,0,18,0,128,0,6,0,23,0,192,0,7,0,55,0,0,1,8,0,54,0,64,1,8,0,55,0,128,1,8,0,100,0,192,1,8,0,101,0,0,2,8,0,104,0,64,2,8,0,103,0,128,2,9,0,204,0,192,2,9,0,205,0,0,3,9,0,210,0,64,3,9,0,211,0,128,3,9,0,212,0,192,3,9,0,213,0,0,4,9,0,214,0,64,4,9,0,215,0,128,4,9,0,216,0,192,4,9,0,217,0,0,5,9,0,218,0,64,5,9,0,219,0,128,5,9,0,152,0,192,5,9,0,153,0,0,6,9,0,154,0,
-64,6,6,0,24,0,128,6,9,0,155,0,192,6,11,0,8,0,0,7,11,0,12,0,64,7,11,0,13,0,128,7,12,0,18,0,192,7,12,0,19,0,0,8,12,0,20,0,64,8,12,0,21,0,128,8,12,0,22,0,192,8,12,0,23,0,0,9,12,0,28,0,64,9,12,0,29,0,128,9,12,0,30,0,192,9,12,0,31,0,0,10,12,0,1,0,255,255,9,0,1,0,254,255,10,0,1,0,254,255,11,0,1,0,254,255,12,0,0,0,254,255,10,0,55,0,0,0,3,0,2,0,1,0,2,0,3,0,2,0,2,0,2,0,3,0,3,0,3,0,4,0,4,0,3,0,5,0,4,0,2,0,6,0,5,0,3,0,7,0,6,0,5,0,8,0,6,0,4,0,9,0,7,0,4,0,10,0,7,0,5,0,11,0,7,0,7,0,12,0,8,0,4,0,13,0,8,0,7,0,14,
-0,9,0,24,0,15,0,10,0,23,0,16,0,10,0,24,0,17,0,10,0,8,0,18,0,11,0,103,0,19,0,11,0,104,0,20,0,11,0,108,0,21,0,11,0,55,0,22,0,11,0,40,0,23,0,11,0,23,0,24,0,11,0,24,0,25,0,12,0,202,0,26,0,12,0,203,0,27,0,12,0,204,0,28,0,12,0,205,0,29,0,12,0,104,0,30,0,12,0,105,0,31,0,12,0,106,0,32,0,12,0,107,0,33,0,12,0,210,0,34,0,12,0,211,0,35,0,12,0,212,0,36,0,12,0,213,0,37,0,12,0,214,0,38,0,12,0,215,0,39,0,12,0,108,0,40,0,12,0,109,0,41,0,12,0,218,0,42,0,12,0,219,0,43,0,12,0,84,0,44,0,12,0,85,0,45,0,12,0,86,0,46,0,
-12,0,87,0,47,0,12,0,100,0,48,0,12,0,101,0,49,0,12,0,82,0,50,0,12,0,83,0,51,0,12,0,36,0,52,0,12,0,55,0,53,0,12,0,56,0,54,0,12,0,39,0,55,0,12,0,40,0,56,0,12,0,88,0,57,0,12,0,89,0,58,0,12,0,43,0,59,0,12,0,44,0,60,0,12,0,90,0,61,0,12,0,102,0,62,0,12,0,103,0,63,0,10,0,15,0,64,0,12,0,200,0,128,0,12,0,201,0,192,0,12,0,91,0,0,1,12,0,51,0,64,1,12,0,52,0,128,1,12,0,53,0,192,1,13,0,108,0,0,2,13,0,109,0,64,2,13,0,74,0,128,2,13,0,75,0,192,2,13,0,76,0,0,3,13,0,77,0,64,3,13,0,114,0,128,3,13,0,115,0,192,3,13,0,116,
-0,0,4,13,0,117,0,64,4,13,0,118,0,128,4,13,0,119,0,192,4,13,0,82,0,0,5,13,0,83,0,64,5,13,0,84,0,128,5,13,0,85,0,192,5,13,0,90,0,0,6,13,0,91,0,64,6,13,0,100,0,128,6,13,0,101,0,192,6,11,0,8,0,0,7,11,0,12,0,64,7,11,0,13,0,128,7,12,0,18,0,192,7,12,0,19,0,0,8,12,0,20,0,64,8,12,0,21,0,128,8,12,0,22,0,192,8,12,0,23,0,0,9,12,0,28,0,64,9,12,0,29,0,128,9,12,0,30,0,192,9,12,0,31,0,0,10,12,0,1,0,255,255,9,0,1,0,254,255,10,0,1,0,254,255,11,0,1,0,254,255,12,0,0,0,254,255,7,0,3,0,0,0,6,0,3,0,0,0,3,0,3,0,0,0,1,0,
-1,0,0,0,3,0,2,0,0,0,6,0,2,0,0,0,7,0,2,0,0,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,192,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,160,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,224,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,144,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,208,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,176,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,240,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,200,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,168,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,232,0,
-16,7,8,0,0,8,92,0,0,8,28,0,0,9,152,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,216,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,184,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,248,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,196,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,164,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,228,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,148,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,212,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,180,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,244,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,
-0,0,8,118,0,0,8,54,0,0,9,204,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,172,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,236,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,156,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,220,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,188,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,252,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,194,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,162,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,226,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,146,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,210,0,17,7,17,0,0,8,
-105,0,0,8,41,0,0,9,178,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,242,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,202,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,170,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,234,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,154,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,218,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,186,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,250,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,198,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,166,0,0,8,3,0,0,8,131,0,0,
-8,67,0,0,9,230,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,150,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,214,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,182,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,246,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,206,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,174,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,238,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,158,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,222,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,190,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,254,0,96,7,0,0,0,8,80,0,0,8,16,0,
-20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,193,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,161,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,225,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,145,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,209,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,177,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,241,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,201,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,169,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,233,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,153,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,217,
-0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,185,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,249,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,197,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,165,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,229,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,149,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,213,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,181,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,245,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,205,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,173,0,0,8,
-6,0,0,8,134,0,0,8,70,0,0,9,237,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,157,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,221,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,189,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,253,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,195,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,163,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,227,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,147,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,211,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,179,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,243,0,16,7,4,0,0,
-8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,203,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,171,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,235,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,155,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,219,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,187,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,251,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,199,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,167,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,231,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,151,0,20,7,67,0,0,8,123,0,
-0,8,59,0,0,9,215,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,183,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,247,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,207,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,175,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,239,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,159,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,223,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,191,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,255,0,16,5,1,0,23,5,1,1,19,5,17,0,27,5,1,16,17,5,5,0,25,5,1,4,21,5,65,0,29,5,1,64,16,5,3,0,24,5,1,2,20,5,33,
-0,28,5,1,32,18,5,9,0,26,5,1,8,22,5,129,0,64,5,0,0,16,5,2,0,23,5,129,1,19,5,25,0,27,5,1,24,17,5,7,0,25,5,1,6,21,5,97,0,29,5,1,96,16,5,4,0,24,5,1,3,20,5,49,0,28,5,1,48,18,5,13,0,26,5,1,12,22,5,193,0,64,5,0,0,16,0,17,0,18,0,0,0,8,0,7,0,9,0,6,0,10,0,5,0,11,0,4,0,12,0,3,0,13,0,2,0,14,0,1,0,15,0,1,0,2,0,3,0,4,0,5,0,7,0,9,0,13,0,17,0,25,0,33,0,49,0,65,0,97,0,129,0,193,0,1,1,129,1,1,2,1,3,1,4,1,6,1,8,1,12,1,16,1,24,1,32,1,48,1,64,1,96,0,0,0,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,13,0,15,0,17,0,19,0,23,0,
-27,0,31,0,35,0,43,0,51,0,59,0,67,0,83,0,99,0,115,0,131,0,163,0,195,0,227,0,2,1,0,0,0,0,16,0,16,0,16,0,16,0,17,0,17,0,18,0,18,0,19,0,19,0,20,0,20,0,21,0,21,0,22,0,22,0,23,0,23,0,24,0,24,0,25,0,25,0,26,0,26,0,27,0,27,0,28,0,28,0,29,0,29,0,64,0,64,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,17,0,17,0,17,0,17,0,18,0,18,0,18,0,18,0,19,0,19,0,19,0,19,0,20,0,20,0,20,0,20,0,21,0,21,0,21,0,21,0,16,0,72,0,78,0,12,0,8,0,140,0,8,0,76,0,8,0,204,0,8,0,44,0,8,0,172,0,8,0,108,0,8,0,236,0,8,0,28,0,8,0,156,0,8,0,92,
-0,8,0,220,0,8,0,60,0,8,0,188,0,8,0,124,0,8,0,252,0,8,0,2,0,8,0,130,0,8,0,66,0,8,0,194,0,8,0,34,0,8,0,162,0,8,0,98,0,8,0,226,0,8,0,18,0,8,0,146,0,8,0,82,0,8,0,210,0,8,0,50,0,8,0,178,0,8,0,114,0,8,0,242,0,8,0,10,0,8,0,138,0,8,0,74,0,8,0,202,0,8,0,42,0,8,0,170,0,8,0,106,0,8,0,234,0,8,0,26,0,8,0,154,0,8,0,90,0,8,0,218,0,8,0,58,0,8,0,186,0,8,0,122,0,8,0,250,0,8,0,6,0,8,0,134,0,8,0,70,0,8,0,198,0,8,0,38,0,8,0,166,0,8,0,102,0,8,0,230,0,8,0,22,0,8,0,150,0,8,0,86,0,8,0,214,0,8,0,54,0,8,0,182,0,8,0,118,0,8,
-0,246,0,8,0,14,0,8,0,142,0,8,0,78,0,8,0,206,0,8,0,46,0,8,0,174,0,8,0,110,0,8,0,238,0,8,0,30,0,8,0,158,0,8,0,94,0,8,0,222,0,8,0,62,0,8,0,190,0,8,0,126,0,8,0,254,0,8,0,1,0,8,0,129,0,8,0,65,0,8,0,193,0,8,0,33,0,8,0,161,0,8,0,97,0,8,0,225,0,8,0,17,0,8,0,145,0,8,0,81,0,8,0,209,0,8,0,49,0,8,0,177,0,8,0,113,0,8,0,241,0,8,0,9,0,8,0,137,0,8,0,73,0,8,0,201,0,8,0,41,0,8,0,169,0,8,0,105,0,8,0,233,0,8,0,25,0,8,0,153,0,8,0,89,0,8,0,217,0,8,0,57,0,8,0,185,0,8,0,121,0,8,0,249,0,8,0,5,0,8,0,133,0,8,0,69,0,8,0,197,
-0,8,0,37,0,8,0,165,0,8,0,101,0,8,0,229,0,8,0,21,0,8,0,149,0,8,0,85,0,8,0,213,0,8,0,53,0,8,0,181,0,8,0,117,0,8,0,245,0,8,0,13,0,8,0,141,0,8,0,77,0,8,0,205,0,8,0,45,0,8,0,173,0,8,0,109,0,8,0,237,0,8,0,29,0,8,0,157,0,8,0,93,0,8,0,221,0,8,0,61,0,8,0,189,0,8,0,125,0,8,0,253,0,8,0,19,0,9,0,19,1,9,0,147,0,9,0,147,1,9,0,83,0,9,0,83,1,9,0,211,0,9,0,211,1,9,0,51,0,9,0,51,1,9,0,179,0,9,0,179,1,9,0,115,0,9,0,115,1,9,0,243,0,9,0,243,1,9,0,11,0,9,0,11,1,9,0,139,0,9,0,139,1,9,0,75,0,9,0,75,1,9,0,203,0,9,0,203,1,
-9,0,43,0,9,0,43,1,9,0,171,0,9,0,171,1,9,0,107,0,9,0,107,1,9,0,235,0,9,0,235,1,9,0,27,0,9,0,27,1,9,0,155,0,9,0,155,1,9,0,91,0,9,0,91,1,9,0,219,0,9,0,219,1,9,0,59,0,9,0,59,1,9,0,187,0,9,0,187,1,9,0,123,0,9,0,123,1,9,0,251,0,9,0,251,1,9,0,7,0,9,0,7,1,9,0,135,0,9,0,135,1,9,0,71,0,9,0,71,1,9,0,199,0,9,0,199,1,9,0,39,0,9,0,39,1,9,0,167,0,9,0,167,1,9,0,103,0,9,0,103,1,9,0,231,0,9,0,231,1,9,0,23,0,9,0,23,1,9,0,151,0,9,0,151,1,9,0,87,0,9,0,87,1,9,0,215,0,9,0,215,1,9,0,55,0,9,0,55,1,9,0,183,0,9,0,183,1,9,0,
-119,0,9,0,119,1,9,0,247,0,9,0,247,1,9,0,15,0,9,0,15,1,9,0,143,0,9,0,143,1,9,0,79,0,9,0,79,1,9,0,207,0,9,0,207,1,9,0,47,0,9,0,47,1,9,0,175,0,9,0,175,1,9,0,111,0,9,0,111,1,9,0,239,0,9,0,239,1,9,0,31,0,9,0,31,1,9,0,159,0,9,0,159,1,9,0,95,0,9,0,95,1,9,0,223,0,9,0,223,1,9,0,63,0,9,0,63,1,9,0,191,0,9,0,191,1,9,0,127,0,9,0,127,1,9,0,255,0,9,0,255,1,9,0,0,0,7,0,64,0,7,0,32,0,7,0,96,0,7,0,16,0,7,0,80,0,7,0,48,0,7,0,112,0,7,0,8,0,7,0,72,0,7,0,40,0,7,0,104,0,7,0,24,0,7,0,88,0,7,0,56,0,7,0,120,0,7,0,4,0,7,0,
-68,0,7,0,36,0,7,0,100,0,7,0,20,0,7,0,84,0,7,0,52,0,7,0,116,0,7,0,3,0,8,0,131,0,8,0,67,0,8,0,195,0,8,0,35,0,8,0,163,0,8,0,99,0,8,0,227,0,8,0,0,0,5,0,16,0,5,0,8,0,5,0,24,0,5,0,4,0,5,0,20,0,5,0,12,0,5,0,28,0,5,0,2,0,5,0,18,0,5,0,10,0,5,0,26,0,5,0,6,0,5,0,22,0,5,0,14,0,5,0,30,0,5,0,1,0,5,0,17,0,5,0,9,0,5,0,25,0,5,0,5,0,5,0,21,0,5,0,13,0,5,0,29,0,5,0,3,0,5,0,19,0,5,0,11,0,5,0,27,0,5,0,7,0,5,0,23,0,5,0,0,64,197,88,159,83,66,75,0,64,73,50,163,34,168,17,197,88,33,123,252,115,98,104,197,88,191,69,11,48,126,
-24,159,83,252,115,65,109,84,98,159,83,179,65,65,45,18,23,66,75,98,104,84,98,126,88,66,75,33,59,186,40,195,20,0,64,197,88,159,83,66,75,0,64,73,50,163,34,168,17,73,50,191,69,179,65,33,59,73,50,130,39,55,27,224,13,163,34,11,48,65,45,186,40,163,34,55,27,191,18,142,9,168,17,126,24,18,23,195,20,168,17,224,13,142,9,223,4,112,115,101,117,100,111,45,0,84,73,70,70,83,101,116,70,105,101,108,100,0,37,115,58,32,85,110,107,110,111,119,110,32,37,115,116,97,103,32,37,117,0,37,115,58,32,67,97,110,110,111,116,32,109,
-111,100,105,102,121,32,116,97,103,32,34,37,115,34,32,119,104,105,108,101,32,119,114,105,116,105,110,103,0,116,105,102,95,100,105,114,46,99,0,84,73,70,70,65,100,118,97,110,99,101,68,105,114,101,99,116,111,114,121,0,83,97,110,105,116,121,32,99,104,101,99,107,32,111,110,32,100,105,114,101,99,116,111,114,121,32,99,111,117,110,116,32,102,97,105,108,101,100,0,37,115,58,32,69,114,114,111,114,32,102,101,116,99,104,105,110,103,32,100,105,114,101,99,116,111,114,121,32,99,111,117,110,116,0,37,115,58,32,69,114,
-114,111,114,32,102,101,116,99,104,105,110,103,32,100,105,114,101,99,116,111,114,121,32,108,105,110,107,0,95,84,73,70,70,86,71,101,116,70,105,101,108,100,0,37,115,58,32,73,110,118,97,108,105,100,32,37,115,116,97,103,32,34,37,115,34,32,40,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,99,111,100,101,99,41,0,116,118,45,62,99,111,117,110,116,32,61,61,32,49,0,78,111,110,115,116,97,110,100,97,114,100,32,116,105,108,101,32,119,105,100,116,104,32,37,100,44,32,99,111,110,118,101,114,116,32,
-102,105,108,101,0,78,111,110,115,116,97,110,100,97,114,100,32,116,105,108,101,32,108,101,110,103,116,104,32,37,100,44,32,99,111,110,118,101,114,116,32,102,105,108,101,0,95,84,73,70,70,86,83,101,116,70,105,101,108,100,0,37,115,58,32,83,111,114,114,121,44,32,99,97,110,110,111,116,32,110,101,115,116,32,83,117,98,73,70,68,115,0,37,115,58,32,73,110,118,97,108,105,100,32,73,110,107,78,97,109,101,115,32,118,97,108,117,101,59,32,101,120,112,101,99,116,105,110,103,32,37,100,32,110,97,109,101,115,44,32,102,
-111,117,110,100,32,37,100,0,37,115,58,32,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,115,112,97,99,101,32,102,111,114,32,108,105,115,116,32,111,102,32,99,117,115,116,111,109,32,118,97,108,117,101,115,0,37,115,58,32,66,97,100,32,102,105,101,108,100,32,116,121,112,101,32,37,100,32,102,111,114,32,34,37,115,34,0,102,105,112,45,62,102,105,101,108,100,95,119,114,105,116,101,99,111,117,110,116,61,61,84,73,70,70,95,86,65,82,73,65,66,76,69,50,0,37,115,58,32,78,117,108,108,32,99,111,
-117,110,116,32,102,111,114,32,34,37,115,34,32,40,116,121,112,101,32,37,100,44,32,119,114,105,116,101,99,111,117,110,116,32,37,100,44,32,112,97,115,115,99,111,117,110,116,32,37,100,41,0,99,117,115,116,111,109,32,116,97,103,32,98,105,110,97,114,121,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,0,37,115,58,32,66,97,100,32,118,97,108,117,101,32,37,117,32,102,111,114,32,34,37,115,34,32,116,97,103,0,37,115,58,32,66,97,100,32,118,97,108,117,101,32,37,102,32,102,111,114,32,34,37,115,34,32,116,97,
-103,0,84,97,103,32,0,95,84,73,70,70,83,101,116,117,112,70,105,101,108,100,115,0,83,101,116,116,105,110,103,32,117,112,32,102,105,101,108,100,32,105,110,102,111,32,102,97,105,108,101,100,0,102,111,114,32,102,105,101,108,100,115,32,97,114,114,97,121,0,95,84,73,70,70,77,101,114,103,101,70,105,101,108,100,115,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,102,105,101,108,100,115,32,97,114,114,97,121,0,84,73,70,70,70,105,101,108,100,87,105,116,104,84,97,103,0,73,110,116,101,114,
-110,97,108,32,101,114,114,111,114,44,32,117,110,107,110,111,119,110,32,116,97,103,32,48,120,37,120,0,84,97,103,32,37,100,0,69,120,112,111,115,117,114,101,84,105,109,101,0,70,78,117,109,98,101,114,0,69,120,112,111,115,117,114,101,80,114,111,103,114,97,109,0,83,112,101,99,116,114,97,108,83,101,110,115,105,116,105,118,105,116,121,0,73,83,79,83,112,101,101,100,82,97,116,105,110,103,115,0,79,112,116,111,101,108,101,99,116,114,105,99,67,111,110,118,101,114,115,105,111,110,70,97,99,116,111,114,0,69,120,
-105,102,86,101,114,115,105,111,110,0,68,97,116,101,84,105,109,101,79,114,105,103,105,110,97,108,0,68,97,116,101,84,105,109,101,68,105,103,105,116,105,122,101,100,0,67,111,109,112,111,110,101,110,116,115,67,111,110,102,105,103,117,114,97,116,105,111,110,0,67,111,109,112,114,101,115,115,101,100,66,105,116,115,80,101,114,80,105,120,101,108,0,83,104,117,116,116,101,114,83,112,101,101,100,86,97,108,117,101,0,65,112,101,114,116,117,114,101,86,97,108,117,101,0,66,114,105,103,104,116,110,101,115,115,86,97,
-108,117,101,0,69,120,112,111,115,117,114,101,66,105,97,115,86,97,108,117,101,0,77,97,120,65,112,101,114,116,117,114,101,86,97,108,117,101,0,83,117,98,106,101,99,116,68,105,115,116,97,110,99,101,0,77,101,116,101,114,105,110,103,77,111,100,101,0,76,105,103,104,116,83,111,117,114,99,101,0,70,108,97,115,104,0,70,111,99,97,108,76,101,110,103,116,104,0,83,117,98,106,101,99,116,65,114,101,97,0,77,97,107,101,114,78,111,116,101,0,85,115,101,114,67,111,109,109,101,110,116,0,83,117,98,83,101,99,84,105,109,101,
-0,83,117,98,83,101,99,84,105,109,101,79,114,105,103,105,110,97,108,0,83,117,98,83,101,99,84,105,109,101,68,105,103,105,116,105,122,101,100,0,70,108,97,115,104,112,105,120,86,101,114,115,105,111,110,0,67,111,108,111,114,83,112,97,99,101,0,80,105,120,101,108,88,68,105,109,101,110,115,105,111,110,0,80,105,120,101,108,89,68,105,109,101,110,115,105,111,110,0,82,101,108,97,116,101,100,83,111,117,110,100,70,105,108,101,0,70,108,97,115,104,69,110,101,114,103,121,0,83,112,97,116,105,97,108,70,114,101,113,
-117,101,110,99,121,82,101,115,112,111,110,115,101,0,70,111,99,97,108,80,108,97,110,101,88,82,101,115,111,108,117,116,105,111,110,0,70,111,99,97,108,80,108,97,110,101,89,82,101,115,111,108,117,116,105,111,110,0,70,111,99,97,108,80,108,97,110,101,82,101,115,111,108,117,116,105,111,110,85,110,105,116,0,83,117,98,106,101,99,116,76,111,99,97,116,105,111,110,0,69,120,112,111,115,117,114,101,73,110,100,101,120,0,83,101,110,115,105,110,103,77,101,116,104,111,100,0,70,105,108,101,83,111,117,114,99,101,0,83,
-99,101,110,101,84,121,112,101,0,67,70,65,80,97,116,116,101,114,110,0,67,117,115,116,111,109,82,101,110,100,101,114,101,100,0,69,120,112,111,115,117,114,101,77,111,100,101,0,87,104,105,116,101,66,97,108,97,110,99,101,0,68,105,103,105,116,97,108,90,111,111,109,82,97,116,105,111,0,70,111,99,97,108,76,101,110,103,116,104,73,110,51,53,109,109,70,105,108,109,0,83,99,101,110,101,67,97,112,116,117,114,101,84,121,112,101,0,71,97,105,110,67,111,110,116,114,111,108,0,67,111,110,116,114,97,115,116,0,83,97,116,
-117,114,97,116,105,111,110,0,83,104,97,114,112,110,101,115,115,0,68,101,118,105,99,101,83,101,116,116,105,110,103,68,101,115,99,114,105,112,116,105,111,110,0,83,117,98,106,101,99,116,68,105,115,116,97,110,99,101,82,97,110,103,101,0,73,109,97,103,101,85,110,105,113,117,101,73,68,0,83,117,98,102,105,108,101,84,121,112,101,0,79,108,100,83,117,98,102,105,108,101,84,121,112,101,0,73,109,97,103,101,87,105,100,116,104,0,66,105,116,115,80,101,114,83,97,109,112,108,101,0,80,104,111,116,111,109,101,116,114,
-105,99,73,110,116,101,114,112,114,101,116,97,116,105,111,110,0,84,104,114,101,115,104,104,111,108,100,105,110,103,0,67,101,108,108,87,105,100,116,104,0,67,101,108,108,76,101,110,103,116,104,0,70,105,108,108,79,114,100,101,114,0,68,111,99,117,109,101,110,116,78,97,109,101,0,73,109,97,103,101,68,101,115,99,114,105,112,116,105,111,110,0,77,97,107,101,0,77,111,100,101,108,0,79,114,105,101,110,116,97,116,105,111,110,0,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,0,82,111,119,115,80,101,114,
-83,116,114,105,112,0,77,105,110,83,97,109,112,108,101,86,97,108,117,101,0,77,97,120,83,97,109,112,108,101,86,97,108,117,101,0,88,82,101,115,111,108,117,116,105,111,110,0,89,82,101,115,111,108,117,116,105,111,110,0,80,108,97,110,97,114,67,111,110,102,105,103,117,114,97,116,105,111,110,0,80,97,103,101,78,97,109,101,0,88,80,111,115,105,116,105,111,110,0,89,80,111,115,105,116,105,111,110,0,70,114,101,101,79,102,102,115,101,116,115,0,70,114,101,101,66,121,116,101,67,111,117,110,116,115,0,71,114,97,121,
-82,101,115,112,111,110,115,101,85,110,105,116,0,71,114,97,121,82,101,115,112,111,110,115,101,67,117,114,118,101,0,82,101,115,111,108,117,116,105,111,110,85,110,105,116,0,80,97,103,101,78,117,109,98,101,114,0,67,111,108,111,114,82,101,115,112,111,110,115,101,85,110,105,116,0,84,114,97,110,115,102,101,114,70,117,110,99,116,105,111,110,0,83,111,102,116,119,97,114,101,0,68,97,116,101,84,105,109,101,0,65,114,116,105,115,116,0,72,111,115,116,67,111,109,112,117,116,101,114,0,87,104,105,116,101,80,111,105,
-110,116,0,80,114,105,109,97,114,121,67,104,114,111,109,97,116,105,99,105,116,105,101,115,0,67,111,108,111,114,77,97,112,0,72,97,108,102,116,111,110,101,72,105,110,116,115,0,84,105,108,101,87,105,100,116,104,0,84,105,108,101,76,101,110,103,116,104,0,84,105,108,101,66,121,116,101,67,111,117,110,116,115,0,83,117,98,73,70,68,0,73,110,107,78,97,109,101,115,0,78,117,109,98,101,114,79,102,73,110,107,115,0,68,111,116,82,97,110,103,101,0,84,97,114,103,101,116,80,114,105,110,116,101,114,0,69,120,116,114,97,
-83,97,109,112,108,101,115,0,83,97,109,112,108,101,70,111,114,109,97,116,0,83,77,105,110,83,97,109,112,108,101,86,97,108,117,101,0,83,77,97,120,83,97,109,112,108,101,86,97,108,117,101,0,67,108,105,112,80,97,116,104,0,88,67,108,105,112,80,97,116,104,85,110,105,116,115,0,89,67,108,105,112,80,97,116,104,85,110,105,116,115,0,89,67,98,67,114,67,111,101,102,102,105,99,105,101,110,116,115,0,89,67,98,67,114,83,117,98,115,97,109,112,108,105,110,103,0,89,67,98,67,114,80,111,115,105,116,105,111,110,105,110,103,
-0,82,101,102,101,114,101,110,99,101,66,108,97,99,107,87,104,105,116,101,0,88,77,76,80,97,99,107,101,116,0,77,97,116,116,101,105,110,103,0,68,97,116,97,84,121,112,101,0,73,109,97,103,101,68,101,112,116,104,0,84,105,108,101,68,101,112,116,104,0,73,109,97,103,101,70,117,108,108,87,105,100,116,104,0,73,109,97,103,101,70,117,108,108,76,101,110,103,116,104,0,84,101,120,116,117,114,101,70,111,114,109,97,116,0,84,101,120,116,117,114,101,87,114,97,112,77,111,100,101,115,0,70,105,101,108,100,79,102,86,105,
-101,119,67,111,116,97,110,103,101,110,116,0,77,97,116,114,105,120,87,111,114,108,100,84,111,83,99,114,101,101,110,0,77,97,116,114,105,120,87,111,114,108,100,84,111,67,97,109,101,114,97,0,67,70,65,82,101,112,101,97,116,80,97,116,116,101,114,110,68,105,109,0,67,111,112,121,114,105,103,104,116,0,82,105,99,104,84,73,70,70,73,80,84,67,0,80,104,111,116,111,115,104,111,112,0,69,88,73,70,73,70,68,79,102,102,115,101,116,0,73,67,67,32,80,114,111,102,105,108,101,0,71,80,83,73,70,68,79,102,102,115,101,116,0,
-70,97,120,82,101,99,118,80,97,114,97,109,115,0,70,97,120,83,117,98,65,100,100,114,101,115,115,0,70,97,120,82,101,99,118,84,105,109,101,0,70,97,120,68,99,115,0,83,116,111,78,105,116,115,0,73,110,116,101,114,111,112,101,114,97,98,105,108,105,116,121,73,70,68,79,102,102,115,101,116,0,68,78,71,86,101,114,115,105,111,110,0,68,78,71,66,97,99,107,119,97,114,100,86,101,114,115,105,111,110,0,85,110,105,113,117,101,67,97,109,101,114,97,77,111,100,101,108,0,76,111,99,97,108,105,122,101,100,67,97,109,101,114,
-97,77,111,100,101,108,0,67,70,65,80,108,97,110,101,67,111,108,111,114,0,67,70,65,76,97,121,111,117,116,0,76,105,110,101,97,114,105,122,97,116,105,111,110,84,97,98,108,101,0,66,108,97,99,107,76,101,118,101,108,82,101,112,101,97,116,68,105,109,0,66,108,97,99,107,76,101,118,101,108,0,66,108,97,99,107,76,101,118,101,108,68,101,108,116,97,72,0,66,108,97,99,107,76,101,118,101,108,68,101,108,116,97,86,0,87,104,105,116,101,76,101,118,101,108,0,68,101,102,97,117,108,116,83,99,97,108,101,0,66,101,115,116,81,
-117,97,108,105,116,121,83,99,97,108,101,0,68,101,102,97,117,108,116,67,114,111,112,79,114,105,103,105,110,0,68,101,102,97,117,108,116,67,114,111,112,83,105,122,101,0,67,111,108,111,114,77,97,116,114,105,120,49,0,67,111,108,111,114,77,97,116,114,105,120,50,0,67,97,109,101,114,97,67,97,108,105,98,114,97,116,105,111,110,49,0,67,97,109,101,114,97,67,97,108,105,98,114,97,116,105,111,110,50,0,82,101,100,117,99,116,105,111,110,77,97,116,114,105,120,49,0,82,101,100,117,99,116,105,111,110,77,97,116,114,105,
-120,50,0,65,110,97,108,111,103,66,97,108,97,110,99,101,0,65,115,83,104,111,116,78,101,117,116,114,97,108,0,65,115,83,104,111,116,87,104,105,116,101,88,89,0,66,97,115,101,108,105,110,101,69,120,112,111,115,117,114,101,0,66,97,115,101,108,105,110,101,78,111,105,115,101,0,66,97,115,101,108,105,110,101,83,104,97,114,112,110,101,115,115,0,66,97,121,101,114,71,114,101,101,110,83,112,108,105,116,0,76,105,110,101,97,114,82,101,115,112,111,110,115,101,76,105,109,105,116,0,67,97,109,101,114,97,83,101,114,105,
-97,108,78,117,109,98,101,114,0,76,101,110,115,73,110,102,111,0,67,104,114,111,109,97,66,108,117,114,82,97,100,105,117,115,0,65,110,116,105,65,108,105,97,115,83,116,114,101,110,103,116,104,0,83,104,97,100,111,119,83,99,97,108,101,0,68,78,71,80,114,105,118,97,116,101,68,97,116,97,0,77,97,107,101,114,78,111,116,101,83,97,102,101,116,121,0,67,97,108,105,98,114,97,116,105,111,110,73,108,108,117,109,105,110,97,110,116,49,0,67,97,108,105,98,114,97,116,105,111,110,73,108,108,117,109,105,110,97,110,116,50,
-0,82,97,119,68,97,116,97,85,110,105,113,117,101,73,68,0,79,114,105,103,105,110,97,108,82,97,119,70,105,108,101,78,97,109,101,0,79,114,105,103,105,110,97,108,82,97,119,70,105,108,101,68,97,116,97,0,65,99,116,105,118,101,65,114,101,97,0,77,97,115,107,101,100,65,114,101,97,115,0,65,115,83,104,111,116,73,67,67,80,114,111,102,105,108,101,0,65,115,83,104,111,116,80,114,101,80,114,111,102,105,108,101,77,97,116,114,105,120,0,67,117,114,114,101,110,116,73,67,67,80,114,111,102,105,108,101,0,67,117,114,114,
-101,110,116,80,114,101,80,114,111,102,105,108,101,77,97,116,114,105,120,0,80,101,114,83,97,109,112,108,101,0,73,110,100,101,120,101,100,0,71,108,111,98,97,108,80,97,114,97,109,101,116,101,114,115,73,70,68,0,80,114,111,102,105,108,101,84,121,112,101,0,70,97,120,80,114,111,102,105,108,101,0,67,111,100,105,110,103,77,101,116,104,111,100,115,0,86,101,114,115,105,111,110,89,101,97,114,0,77,111,100,101,78,117,109,98,101,114,0,68,101,99,111,100,101,0,73,109,97,103,101,66,97,115,101,67,111,108,111,114,0,
-84,56,50,79,112,116,105,111,110,115,0,83,116,114,105,112,82,111,119,67,111,117,110,116,115,0,73,109,97,103,101,76,97,121,101,114,0,84,73,70,70,67,104,101,99,107,68,105,114,79,102,102,115,101,116,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,109,111,114,101,32,116,104,97,110,32,54,53,53,51,53,32,84,73,70,70,32,100,105,114,101,99,116,111,114,105,101,115,0,102,111,114,32,73,70,68,32,108,105,115,116,0,84,73,70,70,82,101,97,100,68,105,114,101,99,116,111,114,121,0,70,97,105,108,101,100,32,116,111,
-32,114,101,97,100,32,100,105,114,101,99,116,111,114,121,32,97,116,32,111,102,102,115,101,116,32,37,108,117,0,84,73,70,70,82,101,97,100,68,105,114,101,99,116,111,114,121,67,104,101,99,107,79,114,100,101,114,0,73,110,118,97,108,105,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,59,32,116,97,103,115,32,97,114,101,32,110,111,116,32,115,111,114,116,101,100,32,105,110,32,97,115,99,101,110,100,105,110,103,32,111,114,100,101,114,0,85,110,107,110,111,119,110,32,102,105,101,108,100,32,119,105,116,
-104,32,116,97,103,32,37,100,32,40,48,120,37,120,41,32,101,110,99,111,117,110,116,101,114,101,100,0,82,101,103,105,115,116,101,114,105,110,103,32,97,110,111,110,121,109,111,117,115,32,102,105,101,108,100,32,119,105,116,104,32,116,97,103,32,37,100,32,40,48,120,37,120,41,32,102,97,105,108,101,100,0,102,105,105,32,33,61,32,70,65,73,76],"i8",4,ra.GLOBAL_BASE+122916);vc([69,68,95,70,73,73,0,116,105,102,95,100,105,114,114,101,97,100,46,99,0,80,108,97,110,97,114,99,111,110,102,105,103,32,116,97,103,32,118,
-97,108,117,101,32,97,115,115,117,109,101,100,32,105,110,99,111,114,114,101,99,116,44,32,97,115,115,117,109,105,110,103,32,100,97,116,97,32,105,115,32,99,111,110,116,105,103,32,105,110,115,116,101,97,100,32,111,102,32,99,104,117,110,107,121,0,77,105,115,115,105,110,103,82,101,113,117,105,114,101,100,0,84,73,70,70,32,100,105,114,101,99,116,111,114,121,32,105,115,32,109,105,115,115,105,110,103,32,114,101,113,117,105,114,101,100,32,34,37,115,34,32,102,105,101,108,100,0,73,109,97,103,101,76,101,110,103,
-116,104,0,116,105,108,101,115,0,115,116,114,105,112,115,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,122,101,114,111,32,110,117,109,98,101,114,32,111,102,32,37,115,0,84,105,108,101,79,102,102,115,101,116,115,0,83,116,114,105,112,79,102,102,115,101,116,115,0,117,110,107,110,111,119,110,32,116,97,103,110,97,109,101,0,73,103,110,111,114,105,110,103,32,37,115,32,115,105,110,99,101,32,66,105,116,115,80,101,114,83,97,109,112,108,101,32,116,97,103,32,110,111,116,32,102,111,117,110,100,0,80,104,111,
-116,111,109,101,116,114,105,99,32,116,97,103,32,105,115,32,109,105,115,115,105,110,103,44,32,97,115,115,117,109,105,110,103,32,100,97,116,97,32,105,115,32,89,67,98,67,114,0,80,104,111,116,111,109,101,116,114,105,99,32,116,97,103,32,118,97,108,117,101,32,97,115,115,117,109,101,100,32,105,110,99,111,114,114,101,99,116,44,32,97,115,115,117,109,105,110,103,32,100,97,116,97,32,105,115,32,89,67,98,67,114,32,105,110,115,116,101,97,100,32,111,102,32,82,71,66,0,66,105,116,115,80,101,114,83,97,109,112,108,
-101,32,116,97,103,32,105,115,32,109,105,115,115,105,110,103,44,32,97,115,115,117,109,105,110,103,32,56,32,98,105,116,115,32,112,101,114,32,115,97,109,112,108,101,0,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,32,116,97,103,32,105,115,32,109,105,115,115,105,110,103,44,32,97,115,115,117,109,105,110,103,32,99,111,114,114,101,99,116,32,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,32,118,97,108,117,101,32,105,115,32,51,0,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,32,
-116,97,103,32,105,115,32,109,105,115,115,105,110,103,44,32,97,112,112,108,121,105,110,103,32,99,111,114,114,101,99,116,32,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,32,118,97,108,117,101,32,111,102,32,51,0,67,111,108,111,114,109,97,112,0,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,0,84,73,70,70,32,100,105,114,101,99,116,111,114,121,32,105,115,32,109,105,115,115,105,110,103,32,114,101,113,117,105,114,101,100,32,34,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,34,
-32,102,105,101,108,100,44,32,99,97,108,99,117,108,97,116,105,110,103,32,102,114,111,109,32,105,109,97,103,101,108,101,110,103,116,104,0,66,111,103,117,115,32,34,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,34,32,102,105,101,108,100,44,32,105,103,110,111,114,105,110,103,32,97,110,100,32,99,97,108,99,117,108,97,116,105,110,103,32,102,114,111,109,32,105,109,97,103,101,108,101,110,103,116,104,0,87,114,111,110,103,32,34,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,34,32,102,105,
-101,108,100,44,32,105,103,110,111,114,105,110,103,32,97,110,100,32,99,97,108,99,117,108,97,116,105,110,103,32,102,114,111,109,32,105,109,97,103,101,108,101,110,103,116,104,0,102,111,114,32,99,104,111,112,112,101,100,32,34,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,34,32,97,114,114,97,121,0,102,111,114,32,99,104,111,112,112,101,100,32,34,83,116,114,105,112,79,102,102,115,101,116,115,34,32,97,114,114,97,121,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,122,101,114,111,32,115,99,
-97,110,108,105,110,101,32,115,105,122,101,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,122,101,114,111,32,116,105,108,101,32,115,105,122,101,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,122,101,114,111,32,115,116,114,105,112,32,115,105,122,101,0,102,111,114,32,34,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,34,32,97,114,114,97,121,0,69,115,116,105,109,97,116,101,83,116,114,105,112,66,121,116,101,67,111,117,110,116,115,0,67,97,110,110,111,116,32,100,101,116,101,114,109,
-105,110,101,32,115,105,122,101,32,111,102,32,117,110,107,110,111,119,110,32,116,97,103,32,116,121,112,101,32,37,100,0,84,73,70,70,70,101,116,99,104,83,116,114,105,112,84,104,105,110,103,0,102,111,114,32,115,116,114,105,112,32,97,114,114,97,121,0,40,116,109,115,105,122,101,95,116,41,100,97,116,97,115,105,122,101,62,48,0,84,73,70,70,82,101,97,100,68,105,114,69,110,116,114,121,65,114,114,97,121,0,82,101,97,100,68,105,114,69,110,116,114,121,65,114,114,97,121,0,73,110,99,111,114,114,101,99,116,32,99,111,
-117,110,116,32,102,111,114,32,34,37,115,34,0,73,110,99,111,109,112,97,116,105,98,108,101,32,116,121,112,101,32,102,111,114,32,34,37,115,34,0,73,79,32,101,114,114,111,114,32,100,117,114,105,110,103,32,114,101,97,100,105,110,103,32,111,102,32,34,37,115,34,0,73,110,99,111,114,114,101,99,116,32,118,97,108,117,101,32,102,111,114,32,34,37,115,34,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,100,105,102,102,101,114,101,110,116,32,118,97,108,117,101,115,32,112,101,114,32,115,97,109,112,108,101,32,
-102,111,114,32,34,37,115,34,0,83,97,110,105,116,121,32,99,104,101,99,107,32,111,110,32,115,105,122,101,32,111,102,32,34,37,115,34,32,118,97,108,117,101,32,102,97,105,108,101,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,114,101,97,100,105,110,103,32,111,102,32,34,37,115,34,0,84,73,70,70,82,101,97,100,68,105,114,69,110,116,114,121,79,117,116,112,117,116,69,114,114,0,73,110,99,111,114,114,101,99,116,32,99,111,117,110,116,32,102,111,114,32,34,37,115,34,59,32,116,97,103,32,105,103,110,111,
-114,101,100,0,73,110,99,111,109,112,97,116,105,98,108,101,32,116,121,112,101,32,102,111,114,32,34,37,115,34,59,32,116,97,103,32,105,103,110,111,114,101,100,0,73,79,32,101,114,114,111,114,32,100,117,114,105,110,103,32,114,101,97,100,105,110,103,32,111,102,32,34,37,115,34,59,32,116,97,103,32,105,103,110,111,114,101,100,0,73,110,99,111,114,114,101,99,116,32,118,97,108,117,101,32,102,111,114,32,34,37,115,34,59,32,116,97,103,32,105,103,110,111,114,101,100,0,67,97,110,110,111,116,32,104,97,110,100,108,
-101,32,100,105,102,102,101,114,101,110,116,32,118,97,108,117,101,115,32,112,101,114,32,115,97,109,112,108,101,32,102,111,114,32,34,37,115,34,59,32,116,97,103,32,105,103,110,111,114,101,100,0,83,97,110,105,116,121,32,99,104,101,99,107,32,111,110,32,115,105,122,101,32,111,102,32,34,37,115,34,32,118,97,108,117,101,32,102,97,105,108,101,100,59,32,116,97,103,32,105,103,110,111,114,101,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,114,101,97,100,105,110,103,32,111,102,32,34,37,115,34,59,32,
-116,97,103,32,105,103,110,111,114,101,100,0,84,73,70,70,70,101,116,99,104,78,111,114,109,97,108,84,97,103,0,78,111,32,100,101,102,105,110,105,116,105,111,110,32,102,111,117,110,100,32,102,111,114,32,116,97,103,32,37,100,0,102,105,112,32,33,61,32,78,85,76,76,0,102,105,112,45,62,115,101,116,95,102,105,101,108,100,95,116,121,112,101,33,61,84,73,70,70,95,83,69,84,71,69,84,95,79,84,72,69,82,0,102,105,112,45,62,115,101,116,95,102,105,101,108,100,95,116,121,112,101,33,61,84,73,70,70,95,83,69,84,71,69,84,
-95,73,78,84,0,102,105,112,45,62,102,105,101,108,100,95,112,97,115,115,99,111,117,110,116,61,61,48,0,65,83,67,73,73,32,118,97,108,117,101,32,102,111,114,32,116,97,103,32,34,37,115,34,32,99,111,110,116,97,105,110,115,32,110,117,108,108,32,98,121,116,101,32,105,110,32,118,97,108,117,101,59,32,118,97,108,117,101,32,105,110,99,111,114,114,101,99,116,108,121,32,116,114,117,110,99,97,116,101,100,32,100,117,114,105,110,103,32,114,101,97,100,105,110,103,32,100,117,101,32,116,111,32,105,109,112,108,101,109,
-101,110,116,97,116,105,111,110,32,108,105,109,105,116,97,116,105,111,110,115,0,65,83,67,73,73,32,118,97,108,117,101,32,102,111,114,32,116,97,103,32,34,37,115,34,32,100,111,101,115,32,110,111,116,32,101,110,100,32,105,110,32,110,117,108,108,32,98,121,116,101,0,102,105,112,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,49,0,102,105,112,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,50,0,105,110,99,111,114,114,101,99,116,32,99,111,117,110,116,32,102,111,114,
-32,102,105,101,108,100,32,34,37,115,34,44,32,101,120,112,101,99,116,101,100,32,50,44,32,103,111,116,32,37,100,0,102,105,112,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,62,61,49,0,105,110,99,111,114,114,101,99,116,32,99,111,117,110,116,32,102,111,114,32,102,105,101,108,100,32,34,37,115,34,44,32,101,120,112,101,99,116,101,100,32,37,100,44,32,103,111,116,32,37,100,0,102,105,112,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,84,73,70,70,95,86,65,82,73,65,66,76,
-69,0,102,105,112,45,62,102,105,101,108,100,95,112,97,115,115,99,111,117,110,116,61,61,49,0,102,105,112,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,84,73,70,70,95,86,65,82,73,65,66,76,69,50,0,112,100,105,114,0,84,73,70,70,70,101,116,99,104,68,105,114,101,99,116,111,114,121,0,83,97,110,105,116,121,32,99,104,101,99,107,32,111,110,32,100,105,114,101,99,116,111,114,121,32,99,111,117,110,116,32,102,97,105,108,101,100,44,32,116,104,105,115,32,105,115,32,112,114,111,98,97,98,108,
-121,32,110,111,116,32,97,32,118,97,108,105,100,32,73,70,68,32,111,102,102,115,101,116,0,116,111,32,114,101,97,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,0,37,46,49,48,48,115,58,32,67,97,110,32,110,111,116,32,114,101,97,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,0,67,97,110,32,110,111,116,32,114,101,97,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,32,99,111,117,110,116,0,83,97,110,105,116,121,32,99,104,101,99,107,32,111,110,32,100,105,114,101,99,116,111,114,121,
-32,99,111,117,110,116,32,102,97,105,108,101,100,44,32,122,101,114,111,32,116,97,103,32,100,105,114,101,99,116,111,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,67,97,110,32,110,111,116,32,114,101,97,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,0,83,111,114,114,121,44,32,114,101,113,117,101,115,116,101,100,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,32,105,115,32,110,111,116,32,99,111,110,102,105,103,117,114,101,100,0,83,111,114,114,
-121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,105,109,97,103,101,115,32,119,105,116,104,32,37,100,45,98,105,116,32,115,97,109,112,108,101,115,0,77,105,115,115,105,110,103,32,110,101,101,100,101,100,32,37,115,32,116,97,103,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,99,111,110,116,105,103,117,111,117,115,32,100,97,116,97,32,119,105,116,104,32,37,115,61,37,100,44,32,97,110,100,32,37,115,61,37,100,32,97,110,100,32,66,105,116,115,47,83,97,109,112,
-108,101,61,37,100,0,83,97,109,112,108,101,115,47,112,105,120,101,108,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,82,71,66,32,105,109,97,103,101,32,119,105,116,104,32,37,115,61,37,100,0,67,111,108,111,114,32,99,104,97,110,110,101,108,115,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,115,101,112,97,114,97,116,101,100,32,105,109,97,103,101,32,119,105,116,104,32,37,115,61,37,100,0,73,110,107,83,101,116,0,83,111,114,114,121,44,32,
-76,111,103,76,32,100,97,116,97,32,109,117,115,116,32,104,97,118,101,32,37,115,61,37,100,0,67,111,109,112,114,101,115,115,105,111,110,0,83,111,114,114,121,44,32,76,111,103,76,117,118,32,100,97,116,97,32,109,117,115,116,32,104,97,118,101,32,37,115,61,37,100,32,111,114,32,37,100,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,76,111,103,76,117,118,32,105,109,97,103,101,115,32,119,105,116,104,32,37,115,61,37,100,0,80,108,97,110,97,114,99,111,110,102,105,103,117,114,97,
-116,105,111,110,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,105,109,97,103,101,32,119,105,116,104,32,37,115,61,37,100,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,105,109,97,103,101,32,119,105,116,104,32,37,115,61,37,100,32,97,110,100,32,37,115,61,37,100,0,66,105,116,115,47,115,97,109,112,108,101,0,77,105,115,115,105,110,103,32,114,101,113,117,105,114,101,100,32,34,67,111,108,111,114,109,97,112,34,32,116,97,103,0,79,117,116,
-32,111,102,32,109,101,109,111,114,121,32,102,111,114,32,99,111,108,111,114,109,97,112,32,99,111,112,121,0,105,109,103,45,62,85,97,84,111,65,97,61,61,78,85,76,76,0,116,105,102,95,103,101,116,105,109,97,103,101,46,99,0,66,117,105,108,100,77,97,112,85,97,84,111,65,97,0,105,109,103,45,62,66,105,116,100,101,112,116,104,49,54,84,111,56,61,61,78,85,76,76,0,66,117,105,108,100,77,97,112,66,105,116,100,101,112,116,104,49,54,84,111,56,0,105,110,105,116,67,73,69,76,97,98,67,111,110,118,101,114,115,105,111,110,
-0,78,111,32,115,112,97,99,101,32,102,111,114,32,67,73,69,32,76,42,97,42,98,42,45,62,82,71,66,32,99,111,110,118,101,114,115,105,111,110,32,115,116,97,116,101,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,67,73,69,32,76,42,97,42,98,42,45,62,82,71,66,32,99,111,110,118,101,114,115,105,111,110,32,115,116,97,116,101,46,0,83,111,114,114,121,44,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,105,109,97,103,101,0,78,111,32,34,103,101,116,34,32,114,111,117,116,
-105,110,101,32,115,101,116,117,112,0,78,111,32,34,112,117,116,34,32,114,111,117,116,105,110,101,32,115,101,116,117,112,108,59,32,112,114,111,98,97,98,108,121,32,99,97,110,32,110,111,116,32,104,97,110,100,108,101,32,105,109,97,103,101,32,102,111,114,109,97,116,0,103,116,83,116,114,105,112,83,101,112,97,114,97,116,101,0,78,111,32,115,112,97,99,101,32,102,111,114,32,116,105,108,101,32,98,117,102,102,101,114,0,103,116,84,105,108,101,83,101,112,97,114,97,116,101,0,105,110,105,116,89,67,98,67,114,67,111,
-110,118,101,114,115,105,111,110,0,78,111,32,115,112,97,99,101,32,102,111,114,32,89,67,98,67,114,45,62,82,71,66,32,99,111,110,118,101,114,115,105,111,110,32,115,116,97,116,101,0,78,111,32,115,112,97,99,101,32,102,111,114,32,112,104,111,116,111,109,101,116,114,105,99,32,99,111,110,118,101,114,115,105,111,110,32,116,97,98,108,101,0,78,111,32,115,112,97,99,101,32,102,111,114,32,66,38,87,32,109,97,112,112,105,110,103,32,116,97,98,108,101,0,65,115,115,117,109,105,110,103,32,56,45,98,105,116,32,99,111,108,
-111,114,109,97,112,0,78,111,32,115,112,97,99,101,32,102,111,114,32,80,97,108,101,116,116,101,32,109,97,112,112,105,110,103,32,116,97,98,108,101,0,73,110,118,97,108,105,100,32,118,101,114,116,105,99,97,108,32,89,67,98,67,114,32,115,117,98,115,97,109,112,108,105,110,103,0,78,111,32,115,112,97,99,101,32,102,111,114,32,115,116,114,105,112,32,98,117,102,102,101,114,0,34,37,115,34,58,32,66,97,100,32,109,111,100,101,0,84,73,70,70,67,108,105,101,110,116,79,112,101,110,0,37,115,58,32,79,117,116,32,111,102,
-32,109,101,109,111,114,121,32,40,84,73,70,70,32,115,116,114,117,99,116,117,114,101,41,0,79,110,101,32,111,102,32,116,104,101,32,99,108,105,101,110,116,32,112,114,111,99,101,100,117,114,101,115,32,105,115,32,78,85,76,76,32,112,111,105,110,116,101,114,46,0,67,97,110,110,111,116,32,114,101,97,100,32,84,73,70,70,32,104,101,97,100,101,114,0,78,111,116,32,97,32,84,73,70,70,32,111,114,32,77,68,73,32,102,105,108,101,44,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,32,37,100,32,40,48,120,37,
-120,41,0,78,111,116,32,97,32,84,73,70,70,32,102,105,108,101,44,32,98,97,100,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,32,37,100,32,40,48,120,37,120,41,0,78,111,116,32,97,32,84,73,70,70,32,102,105,108,101,44,32,98,97,100,32,66,105,103,84,73,70,70,32,111,102,102,115,101,116,115,105,122,101,32,37,100,32,40,48,120,37,120,41,0,78,111,116,32,97,32,84,73,70,70,32,102,105,108,101,44,32,98,97,100,32,66,105,103,84,73,70,70,32,117,110,117,115,101,100,32,37,100,32,40,48,120,37,120,41,0,40,116,
-111,102,102,95,116,41,116,105,102,45,62,116,105,102,95,115,105,122,101,61,61,110,0,116,105,102,95,111,112,101,110,46,99,0,70,105,108,101,32,110,111,116,32,111,112,101,110,32,102,111,114,32,114,101,97,100,105,110,103,0,67,97,110,32,110,111,116,32,114,101,97,100,32,115,99,97,110,108,105,110,101,115,32,102,114,111,109,32,97,32,116,105,108,101,100,32,105,109,97,103,101,0,40,116,105,102,45,62,116,105,102,95,102,108,97,103,115,38,84,73,70,70,95,78,79,82,69,65,68,82,65,87,41,61,61,48,0,116,105,102,95,114,
-101,97,100,46,99,0,84,73,70,70,82,101,97,100,66,117,102,102,101,114,83,101,116,117,112,0,73,110,118,97,108,105,100,32,98,117,102,102,101,114,32,115,105,122,101,0,83,101,101,107,32,101,114,114,111,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,44,32,115,116,114,105,112,32,37,108,117,0,82,101,97,100,32,101,114,114,111,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,59,32,103,111,116,32,37,108,108,117,32,98,121,116,101,115,44,32,101,120,112,101,99,116,101,100,32,37,108,108,
-117,0,84,73,70,70,82,101,97,100,69,110,99,111,100,101,100,83,116,114,105,112,0,37,108,117,58,32,83,116,114,105,112,32,111,117,116,32,111,102,32,114,97,110,103,101,44,32,109,97,120,32,37,108,117,0,84,73,70,70,70,105,108,108,83,116,114,105,112,0,73,110,118,97,108,105,100,32,115,116,114,105,112,32,98,121,116,101,32,99,111,117,110,116,32,37,108,108,117,44,32,115,116,114,105,112,32,37,108,117,0,82,101,97,100,32,101,114,114,111,114,32,111,110,32,115,116,114,105,112,32,37,108,117,59,32,103,111,116,32,37,
-108,108,117,32,98,121,116,101,115,44,32,101,120,112,101,99,116,101,100,32,37,108,108,117,0,68,97,116,97,32,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,32,116,111,32,104,111,108,100,32,115,116,114,105,112,32,37,108,117,0,78,111,32,115,112,97,99,101,32,102,111,114,32,100,97,116,97,32,98,117,102,102,101,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,0,67,97,110,32,110,111,116,32,114,101,97,100,32,116,105,108,101,115,32,102,114,111,109,32,97,32,115,116,114,105,112,112,101,
-100,32,105,109,97,103,101,0,84,73,70,70,82,101,97,100,69,110,99,111,100,101,100,84,105,108,101,0,37,108,117,58,32,84,105,108,101,32,111,117,116,32,111,102,32,114,97,110,103,101,44,32,109,97,120,32,37,108,117,0,84,73,70,70,70,105,108,108,84,105,108,101,0,37,108,108,117,58,32,73,110,118,97,108,105,100,32,116,105,108,101,32,98,121,116,101,32,99,111,117,110,116,44,32,116,105,108,101,32,37,108,117,0,68,97,116,97,32,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,32,116,111,32,104,111,108,100,
-32,116,105,108,101,32,37,108,117,0,84,73,70,70,83,116,97,114,116,84,105,108,101,0,90,101,114,111,32,116,105,108,101,115,0,40,99,99,32,38,32,49,41,32,61,61,32,48,0,95,84,73,70,70,83,119,97,98,49,54,66,105,116,68,97,116,97,0,40,99,99,32,37,32,51,41,32,61,61,32,48,0,95,84,73,70,70,83,119,97,98,50,52,66,105,116,68,97,116,97,0,40,99,99,32,38,32,51,41,32,61,61,32,48,0,95,84,73,70,70,83,119,97,98,51,50,66,105,116,68,97,116,97,0,40,99,99,32,38,32,55,41,32,61,61,32,48,0,95,84,73,70,70,83,119,97,98,54,52,66,
-105,116,68,97,116,97,0,84,73,70,70,82,101,97,100,82,97,119,84,105,108,101,49,0,83,101,101,107,32,101,114,114,111,114,32,97,116,32,114,111,119,32,37,108,117,44,32,99,111,108,32,37,108,117,44,32,116,105,108,101,32,37,108,117,0,82,101,97,100,32,101,114,114,111,114,32,97,116,32,114,111,119,32,37,108,117,44,32,99,111,108,32,37,108,117,59,32,103,111,116,32,37,108,108,117,32,98,121,116,101,115,44,32,101,120,112,101,99,116,101,100,32,37,108,108,117,0,82,101,97,100,32,101,114,114,111,114,32,97,116,32,114,
-111,119,32,37,108,117,44,32,99,111,108,32,37,108,117,44,32,116,105,108,101,32,37,108,117,59,32,103,111,116,32,37,108,108,117,32,98,121,116,101,115,44,32,101,120,112,101,99,116,101,100,32,37,108,108,117,0,84,73,70,70,82,101,97,100,82,97,119,83,116,114,105,112,49,0,82,101,97,100,32,101,114,114,111,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,44,32,115,116,114,105,112,32,37,108,117,59,32,103,111,116,32,37,108,108,117,32,98,121,116,101,115,44,32,101,120,112,101,99,116,101,100,32,37,108,
-108,117,0,84,73,70,70,67,111,109,112,117,116,101,83,116,114,105,112,0,84,73,70,70,78,117,109,98,101,114,79,102,83,116,114,105,112,115,0,84,73,70,70,86,83,116,114,105,112,83,105,122,101,54,52,0,73,110,118,97,108,105,100,32,116,100,95,115,97,109,112,108,101,115,112,101,114,112,105,120,101,108,32,118,97,108,117,101,0,84,73,70,70,83,99,97,110,108,105,110,101,83,105,122,101,54,52,0,73,110,118,97,108,105,100,32,89,67,98,67,114,32,115,117,98,115,97,109,112,108,105,110,103,0,67,111,109,112,117,116,101,100,
-32,115,99,97,110,108,105,110,101,32,115,105,122,101,32,105,115,32,122,101,114,111,0,84,73,70,70,86,83,116,114,105,112,83,105,122,101,0,84,73,70,70,83,116,114,105,112,83,105,122,101,0,84,73,70,70,83,99,97,110,108,105,110,101,83,105,122,101,0,73,110,116,101,103,101,114,32,97,114,105,116,104,109,101,116,105,99,32,111,118,101,114,102,108,111,119,0,0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,
-52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,
-29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255,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,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,
-85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,
-214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,37,108,117,58,32,67,111,108,32,111,117,116,32,111,102,32,114,97,110,103,101,44,32,109,97,120,32,37,108,117,0,37,108,117,58,32,82,111,119,32,111,117,116,32,111,102,32,114,97,110,103,101,44,32,109,97,120,32,37,108,117,0,37,108,117,58,32,68,101,112,116,104,32,111,117,116,32,111,102,32,114,97,110,103,101,44,32,109,97,120,32,37,108,117,
-0,37,108,117,58,32,83,97,109,112,108,101,32,111,117,116,32,111,102,32,114,97,110,103,101,44,32,109,97,120,32,37,108,117,0,84,73,70,70,78,117,109,98,101,114,79,102,84,105,108,101,115,0,84,73,70,70,84,105,108,101,82,111,119,83,105,122,101,54,52,0,84,105,108,101,32,108,101,110,103,116,104,32,105,115,32,122,101,114,111,0,84,105,108,101,32,119,105,100,116,104,32,105,115,32,122,101,114,111,0,84,73,70,70,84,105,108,101,82,111,119,83,105,122,101,0,83,97,109,112,108,101,115,32,112,101,114,32,112,105,120,101,
-108,32,105,115,32,122,101,114,111,0,67,111,109,112,117,116,101,100,32,116,105,108,101,32,114,111,119,32,115,105,122,101,32,105,115,32,122,101,114,111,0,73,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,84,73,70,70,86,84,105,108,101,83,105,122,101,54,52,0,73,110,118,97,108,105,100,32,89,67,98,67,114,32,115,117,98,115,97,109,112,108,105,110,103,32,40,37,100,120,37,100,41,0,84,73,70,70,84,105,108,101,83,105,122,101,0,116,100,45,62,116,100,95,110,115,116,114,105,112,115,32,62,32,48,0,116,
-105,102,95,119,114,105,116,101,46,99,0,84,73,70,70,65,112,112,101,110,100,84,111,83,116,114,105,112,0,83,101,101,107,32,101,114,114,111,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,0,87,114,105,116,101,32,101,114,114,111,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,0,84,73,70,70,79,112,101,110,0,37,115,58,32,37,115,0,37,115,58,32,67,97,110,110,111,116,32,111,112,101,110,0,37,115,58,32,0,46,10,0,87,97,114,110,105,110,103,44,32,0,73,110,116,101,103,101,114,32,111,118,
-101,114,102,108,111,119,32,105,110,32,37,115,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,37,115,32,40,37,108,100,32,101,108,101,109,101,110,116,115,32,111,102,32,37,108,100,32,98,121,116,101,115,32,101,97,99,104,41,0,78,111,32,115,112,97,99,101,32,102,111,114,32,34,84,114,97,110,115,102,101,114,70,117,110,99,116,105,111,110,34,32,116,97,103,0,37,115,32,37,115,32,101,110,99,111,100,105,110,103,32,105,115,32,110,111,116,32,105,109,
-112,108,101,109,101,110,116,101,100,0,115,99,97,110,108,105,110,101,0,67,111,109,112,114,101,115,115,105,111,110,32,115,99,104,101,109,101,32,37,117,32,37,115,32,101,110,99,111,100,105,110,103,32,105,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,37,115,32,37,115,32,100,101,99,111,100,105,110,103,32,105,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,109,112,114,101,115,115,105,111,110,32,115,99,104,101,109,101,32,37,117,32,37,115,32,100,101,99,111,
-100,105,110,103,32,105,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,114,97,110,100,111,109,32,97,99,99,101,115,115,0,69,114,114,111,114,32,117,112,100,97,116,105,110,103,32,84,73,70,70,32,104,101,97,100,101,114,0,84,73,70,70,82,101,119,114,105,116,101,68,105,114,101,99,116,111,114,121,0,69,114,114,111,114,32,102,101,116,99,104,
-105,110,103,32,100,105,114,101,99,116,111,114,121,32,99,111,117,110,116,0,69,114,114,111,114,32,102,101,116,99,104,105,110,103,32,100,105,114,101,99,116,111,114,121,32,108,105,110,107,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,100,105,114,101,99,116,111,114,121,32,108,105,110,107,0,83,97,110,105,116,121,32,99,104,101,99,107,32,111,110,32,116,97,103,32,99,111,117,110,116,32,102,97,105,108,101,100,44,32,108,105,107,101,108,121,32,99,111,114,114,117,112,116,32,84,73,70,70,0,84,73,70,70,82,
-101,115,101,116,70,105,101,108,100,0,77,101,109,111,114,121,32,109,97,112,112,101,100,32,102,105,108,101,115,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,116,104,105,115,32,111,112,101,114,97,116,105,111,110,46,0,65,116,116,101,109,112,116,32,116,111,32,114,101,115,101,116,32,102,105,101,108,100,32,111,110,32,100,105,114,101,99,116,111,114,121,32,110,111,116,32,97,108,114,101,97,100,121,32,111,110,32,100,105,115,107,46,0,37,115,58,32,
-83,101,101,107,32,101,114,114,111,114,32,97,99,99,101,115,115,105,110,103,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,0,37,115,58,32,67,97,110,32,110,111,116,32,114,101,97,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,32,99,111,117,110,116,0,37,115,58,32,67,97,110,32,110,111,116,32,114,101,97,100,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,32,101,110,116,114,121,46,0,37,115,58,32,67,111,117,108,100,32,110,111,116,32,102,105,110,100,32,116,97,103,32,37,100,46,0,102,111,
-114,32,102,105,101,108,100,32,98,117,102,102,101,114,46,0,86,97,108,117,101,32,101,120,99,101,101,100,115,32,51,50,98,105,116,32,114,97,110,103,101,32,111,102,32,111,117,116,112,117,116,32,116,121,112,101,46,0,37,115,58,32,67,97,110,32,110,111,116,32,119,114,105,116,101,32,84,73,70,70,32,100,105,114,101,99,116,111,114,121,32,101,110,116,114,121,46,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,83,101,99,0,69,114,114,111,114,32,112,111,115,116,45,101,110,99,111,100,105,110,103,
-32,98,101,102,111,114,101,32,100,105,114,101,99,116,111,114,121,32,119,114,105,116,101,0,69,114,114,111,114,32,102,108,117,115,104,105,110,103,32,100,97,116,97,32,98,101,102,111,114,101,32,100,105,114,101,99,116,111,114,121,32,119,114,105,116,101,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,83,104,111,114,116,80,101,114,83,97,109,112,108,101,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,111,108,111,114,109,97,112,0,99,111,117,110,116,
-60,48,120,56,48,48,48,48,48,48,48,0,116,105,102,95,100,105,114,119,114,105,116,101,46,99,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,83,104,111,114,116,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,84,114,97,110,115,102,101,114,102,117,110,99,116,105,111,110,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,83,117,98,105,102,100,0,112,97,32,33,61,32,48,0,42,112,97,
-32,60,61,32,48,120,70,70,70,70,70,70,70,70,85,76,0,111,45,62,102,105,101,108,100,95,116,121,112,101,61,61,84,73,70,70,95,65,83,67,73,73,0,111,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,84,73,70,70,95,86,65,82,73,65,66,76,69,0,111,45,62,102,105,101,108,100,95,112,97,115,115,99,111,117,110,116,61,61,48,0,111,45,62,102,105,101,108,100,95,116,121,112,101,61,61,84,73,70,70,95,83,72,79,82,84,0,111,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,49,0,111,45,
-62,102,105,101,108,100,95,116,121,112,101,61,61,84,73,70,70,95,76,79,78,71,0,111,45,62,102,105,101,108,100,95,116,121,112,101,61,61,84,73,70,70,95,85,78,68,69,70,73,78,69,68,0,111,45,62,102,105,101,108,100,95,114,101,97,100,99,111,117,110,116,61,61,84,73,70,70,95,86,65,82,73,65,66,76,69,50,0,111,45,62,102,105,101,108,100,95,112,97,115,115,99,111,117,110,116,61,61,49,0,48,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,83,115,104,111,114,116,65,
-114,114,97,121,0,99,111,117,110,116,60,48,120,52,48,48,48,48,48,48,48,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,76,111,110,103,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,83,108,111,110,103,65,114,114,97,121,0,99,111,117,110,116,60,48,120,50,48,48,48,48,48,48,48,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,
-76,111,110,103,56,65,114,114,97,121,0,116,105,102,45,62,116,105,102,95,102,108,97,103,115,38,84,73,70,70,95,66,73,71,84,73,70,70,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,83,108,111,110,103,56,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,83,114,97,116,105,111,110,97,108,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,
-67,104,101,99,107,101,100,70,108,111,97,116,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,68,111,117,98,108,101,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,73,102,100,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,73,102,100,56,65,114,114,97,121,0,84,73,70,70,87,114,105,116,
-101,68,105,114,101,99,116,111,114,121,84,97,103,73,102,100,73,102,100,56,65,114,114,97,121,0,65,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,118,97,108,117,101,32,108,97,114,103,101,114,32,116,104,97,110,32,48,120,70,70,70,70,70,70,70,70,32,105,110,32,67,108,97,115,115,105,99,32,84,73,70,70,32,102,105,108,101,46,0,84,73,70,70,76,105,110,107,68,105,114,101,99,116,111,114,121,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,117,98,73,70,68,32,100,105,114,101,99,116,111,114,
-121,32,108,105,110,107,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,84,73,70,70,32,104,101,97,100,101,114,0,77,97,120,105,109,117,109,32,84,73,70,70,32,102,105,108,101,32,115,105,122,101,32,101,120,99,101,101,100,101,100,0,110,97,60,110,100,105,114,0,73,79,32,101,114,114,111,114,32,119,114,105,116,105,110,103,32,100,105,114,101,99,116,111,114,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,82,97,116,105,111,110,97,108,65,114,114,
-97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,83,97,109,112,108,101,102,111,114,109,97,116,65,114,114,97,121,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,76,111,110,103,76,111,110,103,56,65,114,114,97,121,0,118,97,108,117,101,62,61,48,46,48,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,67,104,101,99,107,101,100,82,97,116,105,111,110,97,108,0,100,105,114,91,109,93,46,116,100,105,114,95,116,97,103,33,
-61,116,97,103,0,84,73,70,70,87,114,105,116,101,68,105,114,101,99,116,111,114,121,84,97,103,68,97,116,97,0,73,79,32,101,114,114,111,114,32,119,114,105,116,105,110,103,32,116,97,103,32,100,97,116,97,0,100,97,116,97,108,101,110,103,116,104,60,48,120,56,48,48,48,48,48,48,48,85,76,0,78,111,110,101,0,76,90,87,0,80,97,99,107,66,105,116,115,0,84,104,117,110,100,101,114,83,99,97,110,0,78,101,88,84,0,74,80,69,71,0,79,108,100,45,115,116,121,108,101,32,74,80,69,71,0,67,67,73,84,84,32,82,76,69,0,67,67,73,84,84,
-32,82,76,69,47,87,0,67,67,73,84,84,32,71,114,111,117,112,32,51,0,67,67,73,84,84,32,71,114,111,117,112,32,52,0,73,83,79,32,74,66,73,71,0,68,101,102,108,97,116,101,0,65,100,111,98,101,68,101,102,108,97,116,101,0,80,105,120,97,114,76,111,103,0,83,71,73,76,111,103,0,83,71,73,76,111,103,50,52,0,76,90,77,65,0,37,100,0,37,115,32,99,111,109,112,114,101,115,115,105,111,110,32,115,117,112,112,111,114,116,32,105,115,32,110,111,116,32,99,111,110,102,105,103,117,114,101,100,0,110,32,62,32,48,0,116,105,102,95,
-100,117,109,112,109,111,100,101,46,99,0,68,117,109,112,77,111,100,101,69,110,99,111,100,101,0,68,117,109,112,77,111,100,101,68,101,99,111,100,101,0,78,111,116,32,101,110,111,117,103,104,32,100,97,116,97,32,102,111,114,32,115,99,97,110,108,105,110,101,32,37,108,117,44,32,101,120,112,101,99,116,101,100,32,97,32,114,101,113,117,101,115,116,32,102,111,114,32,97,116,32,109,111,115,116,32,37,108,108,100,32,98,121,116,101,115,44,32,103,111,116,32,97,32,114,101,113,117,101,115,116,32,102,111,114,32,37,108,
-108,100,32,98,121,116,101,115,0,0,128,192,224,240,248,252,254,255,120,32,61,61,32,108,97,115,116,120,0,116,105,102,95,102,97,120,51,46,99,0,95,84,73,70,70,70,97,120,51,102,105,108,108,114,117,110,115,0,84,73,70,70,73,110,105,116,67,67,73,84,84,70,97,120,51,0,77,101,114,103,105,110,103,32,67,67,73,84,84,32,70,97,120,32,51,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,84,73,70,70,73,110,105,116,67,67,73,84,84,70,97,120,52,0,77,101,114,103,105,110,
-103,32,67,67,73,84,84,32,70,97,120,32,52,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,70,97,120,51,68,101,99,111,100,101,82,76,69,0,116,105,108,101,0,115,116,114,105,112,0,66,97,100,32,99,111,100,101,32,119,111,114,100,32,97,116,32,108,105,110,101,32,37,117,32,111,102,32,37,115,32,37,117,32,40,120,32,37,117,41,0,80,114,101,109,97,116,117,114,101,32,69,79,70,32,97,116,32,108,105,110,101,32,37,117,32,111,102,32,37,115,32,37,117,32,40,120,32,37,
-117,41,0,80,114,101,109,97,116,117,114,101,32,69,79,76,0,76,105,110,101,32,108,101,110,103,116,104,32,109,105,115,109,97,116,99,104,0,37,115,32,97,116,32,108,105,110,101,32,37,117,32,111,102,32,37,115,32,37,117,32,40,103,111,116,32,37,117,44,32,101,120,112,101,99,116,101,100,32,37,117,41,0,108,101,110,103,116,104,32,60,32,57,0,70,97,120,51,80,117,116,66,105,116,115,0,70,97,120,52,69,110,99,111,100,101,0,70,114,97,99,116,105,111,110,97,108,32,115,99,97,110,108,105,110,101,115,32,99,97,110,110,111,
-116,32,98,101,32,119,114,105,116,116,101,110,0,8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"i8",4,ra.GLOBAL_BASE+133156);vc([112,117,116,115,112,97,110,0,116,101,45,62,114,117,110,108,101,110,32,61,61,32,54,52,42,40,115,112,97,110,62,62,54,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,7,8,70,97,120,52,68,101,99,111,100,101,
-0,85,110,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,40,110,111,116,32,115,117,112,112,111,114,116,101,100,41,32,97,116,32,108,105,110,101,32,37,117,32,111,102,32,37,115,32,37,117,32,40,120,32,37,117,41,0,71,114,111,117,112,52,79,112,116,105,111,110,115,0,71,114,111,117,112,51,79,112,116,105,111,110,115,0,73,110,105,116,67,67,73,84,84,70,97,120,51,0,77,101,114,103,105,110,103,32,99,111,109,109,111,110,32,67,67,73,84,84,32,70,97,120,32,99,111,100,101,99,45,115,112,101,99,105,102,105,
-99,32,116,97,103,115,32,102,97,105,108,101,100,0,78,111,32,115,112,97,99,101,32,102,111,114,32,115,116,97,116,101,32,98,108,111,99,107,0,70,97,120,51,67,108,101,97,110,117,112,0,70,97,120,51,69,110,99,111,100,101,0,116,112,97,114,109,32,60,32,57,0,70,97,120,51,80,117,116,69,79,76,0,70,97,120,51,80,114,101,69,110,99,111,100,101,0,70,97,120,51,68,101,99,111,100,101,49,68,0,70,97,120,51,80,114,101,68,101,99,111,100,101,0,70,97,120,51,83,101,116,117,112,83,116,97,116,101,0,66,105,116,115,47,115,97,109,
-112,108,101,32,109,117,115,116,32,98,101,32,49,32,102,111,114,32,71,114,111,117,112,32,51,47,52,32,101,110,99,111,100,105,110,103,47,100,101,99,111,100,105,110,103,0,82,111,119,32,112,105,120,101,108,115,32,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,32,40,114,111,119,112,105,120,101,108,115,32,37,117,41,0,102,111,114,32,71,114,111,117,112,32,51,47,52,32,114,117,110,32,97,114,114,97,121,115,0,78,111,32,115,112,97,99,101,32,102,111,114,32,71,114,111,117,112,32,51,47,52,32,114,101,
-102,101,114,101,110,99,101,32,108,105,110,101,0,70,97,120,51,68,101,99,111,100,101,50,68,0,70,97,120,51,80,114,105,110,116,68,105,114,0,32,32,71,114,111,117,112,32,52,32,79,112,116,105,111,110,115,58,0,37,115,117,110,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,0,32,0,32,32,71,114,111,117,112,32,51,32,79,112,116,105,111,110,115,58,0,37,115,50,45,100,32,101,110,99,111,100,105,110,103,0,43,0,37,115,69,79,76,32,112,97,100,100,105,110,103,0,32,40,37,108,117,32,61,32,48,120,37,108,120,41,10,
-0,32,32,70,97,120,32,68,97,116,97,58,0,32,99,108,101,97,110,0,32,114,101,99,101,105,118,101,114,32,114,101,103,101,110,101,114,97,116,101,100,0,32,117,110,99,111,114,114,101,99,116,101,100,32,101,114,114,111,114,115,0,32,40,37,117,32,61,32,48,120,37,120,41,10,0,32,32,66,97,100,32,70,97,120,32,76,105,110,101,115,58,32,37,108,117,10,0,32,32,67,111,110,115,101,99,117,116,105,118,101,32,66,97,100,32,70,97,120,32,76,105,110,101,115,58,32,37,108,117,10,0,70,97,120,51,86,83,101,116,70,105,101,108,100,0,
-115,112,45,62,118,115,101,116,112,97,114,101,110,116,32,33,61,32,48,0,70,97,120,51,86,71,101,116,70,105,101,108,100,0,70,97,120,77,111,100,101,0,70,97,120,70,105,108,108,70,117,110,99,0,66,97,100,70,97,120,76,105,110,101,115,0,67,108,101,97,110,70,97,120,68,97,116,97,0,67,111,110,115,101,99,117,116,105,118,101,66,97,100,70,97,120,76,105,110,101,115,0,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,74,80,69,71,0,116,105,102,95,106,112,101,103,46,99,0,84,73,70,70,73,110,105,116,
-74,80,69,71,0,77,101,114,103,105,110,103,32,74,80,69,71,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,78,111,32,115,112,97,99,101,32,102,111,114,32,74,80,69,71,32,115,116,97,116,101,32,98,108,111,99,107,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,74,80,69,71,32,116,97,98,108,101,115,0,74,80,69,71,67,108,101,97,110,117,112,0,74,80,69,71,69,110,99,111,100,101,0,102,114,97,99,116,
-105,111,110,97,108,32,115,99,97,110,108,105,110,101,32,100,105,115,99,97,114,100,101,100,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,74,80,69,71,80,114,101,69,110,99,111,100,101,0,33,115,112,45,62,99,105,110,102,111,46,99,111,109,109,46,105,115,95,100,101,99,111,109,112,114,101,115,115,111,114,0,83,116,114,105,112,47,116,105,108,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,74,80,69,71,0,74,80,69,71,69,110,99,111,100,101,82,97,119,0,
-74,80,69,71,83,101,116,117,112,69,110,99,111,100,101,0,80,104,111,116,111,109,101,116,114,105,99,73,110,116,101,114,112,114,101,116,97,116,105,111,110,32,37,100,32,110,111,116,32,97,108,108,111,119,101,100,32,102,111,114,32,74,80,69,71,0,66,105,116,115,80,101,114,83,97,109,112,108,101,32,37,100,32,110,111,116,32,97,108,108,111,119,101,100,32,102,111,114,32,74,80,69,71,0,74,80,69,71,32,116,105,108,101,32,104,101,105,103,104,116,32,109,117,115,116,32,98,101,32,109,117,108,116,105,112,108,101,32,111,
-102,32,37,100,0,74,80,69,71,32,116,105,108,101,32,119,105,100,116,104,32,109,117,115,116,32,98,101,32,109,117,108,116,105,112,108,101,32,111,102,32,37,100,0,82,111,119,115,80,101,114,83,116,114,105,112,32,109,117,115,116,32,98,101,32,109,117,108,116,105,112,108,101,32,111,102,32,37,100,32,102,111,114,32,74,80,69,71,0,0,0,0,0,0,0,0,0,0,0,84,73,70,70,106,112,101,103,95,116,97,98,108,101,115,95,100,101,115,116,0,78,111,32,115,112,97,99,101,32,102,111,114,32,74,80,69,71,84,97,98,108,101,115,0,74,80,69,
-71,76,105,98,0,102,114,97,99,116,105,111,110,97,108,32,115,99,97,110,108,105,110,101,32,110,111,116,32,114,101,97,100,0,74,80,69,71,80,114,101,68,101,99,111,100,101,0,115,112,45,62,99,105,110,102,111,46,99,111,109,109,46,105,115,95,100,101,99,111,109,112,114,101,115,115,111,114,0,73,109,112,114,111,112,101,114,32,74,80,69,71,32,115,116,114,105,112,47,116,105,108,101,32,115,105,122,101,44,32,101,120,112,101,99,116,101,100,32,37,100,120,37,100,44,32,103,111,116,32,37,100,120,37,100,0,74,80,69,71,32,
-115,116,114,105,112,47,116,105,108,101,32,115,105,122,101,32,101,120,99,101,101,100,115,32,101,120,112,101,99,116,101,100,32,100,105,109,101,110,115,105,111,110,115,44,32,101,120,112,101,99,116,101,100,32,37,100,120,37,100,44,32,103,111,116,32,37,100,120,37,100,0,73,109,112,114,111,112,101,114,32,74,80,69,71,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,73,109,112,114,111,112,101,114,32,74,80,69,71,32,100,97,116,97,32,112,114,101,99,105,115,105,111,110,0,73,109,112,114,111,112,101,
-114,32,74,80,69,71,32,115,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,32,37,100,44,37,100,10,65,112,112,97,114,101,110,116,108,121,32,115,104,111,117,108,100,32,98,101,32,37,100,44,37,100,46,0,73,109,112,114,111,112,101,114,32,74,80,69,71,32,115,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,0,74,80,69,71,68,101,99,111,100,101,82,97,119,0,97,112,112,108,105,99,97,116,105,111,110,32,98,117,102,102,101,114,32,110,111,116,32,108,97,114,103,101,32,101,110,111,117,103,104,32,102,111,
-114,32,97,108,108,32,100,97,116,97,46,0,97,112,112,108,105,99,97,116,105,111,110,32,98,117,102,102,101,114,32,110,111,116,32,108,97,114,103,101,32,101,110,111,117,103,104,32,102,111,114,32,97,108,108,32,100,97,116,97,44,32,112,111,115,115,105,98,108,101,32,115,117,98,115,97,109,112,108,105,110,103,32,105,115,115,117,101,0,84,73,70,70,82,101,97,100,83,99,97,110,108,105,110,101,0,115,99,97,110,108,105,110,101,32,111,114,105,101,110,116,101,100,32,97,99,99,101,115,115,32,105,115,32,110,111,116,32,115,
-117,112,112,111,114,116,101,100,32,102,111,114,32,100,111,119,110,115,97,109,112,108,101,100,32,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,105,109,97,103,101,115,44,32,99,111,110,115,105,100,101,114,32,101,110,97,98,108,105,110,103,32,84,73,70,70,95,74,80,69,71,67,79,76,79,82,77,79,68,69,32,97,115,32,74,80,69,71,67,79,76,79,82,77,79,68,69,95,82,71,66,46,0,74,80,69,71,83,101,116,117,112,68,101,99,111,100,101,0,66,111,103,117,115,32,74,80,69,71,84,97,98,108,101,115,32,102,105,101,108,
-100,0,255,217,74,80,69,71,70,105,120,117,112,84,97,103,115,83,117,98,115,97,109,112,108,105,110,103,0,85,110,97,98,108,101,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,97,117,116,111,45,99,111,114,114,101,99,116,105,110,103,32,111,102,32,115,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,59,32,97,117,116,111,45,99,111,114,114,101,99,116,105,110,103,32,115,107,105,112,112,101,100,0,109,60,48,120,56,48,48,48,48,48,48,48,85,76,0,74,80,69,71,
-70,105,120,117,112,84,97,103,115,83,117,98,115,97,109,112,108,105,110,103,82,101,97,100,66,121,116,101,0,74,80,69,71,70,105,120,117,112,84,97,103,115,83,117,98,115,97,109,112,108,105,110,103,83,101,99,0,83,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,32,105,110,115,105,100,101,32,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,104,97,118,101,32,110,111,32,84,73,70,70,32,101,113,117,105,118,97,108,101,110,116,44,32,97,117,116,111,45,99,111,114,114,101,99,
-116,105,111,110,32,111,102,32,84,73,70,70,32,115,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,32,102,97,105,108,101,100,0,65,117,116,111,45,99,111,114,114,101,99,116,101,100,32,102,111,114,109,101,114,32,84,73,70,70,32,115,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,32,91,37,100,44,37,100,93,32,116,111,32,109,97,116,99,104,32,115,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,32,105,110,115,105,100,101,32,74,80,69,71,32,99,111,109,112,114,101,
-115,115,101,100,32,100,97,116,97,32,91,37,100,44,37,100,93,0,85,110,97,98,108,101,32,116,111,32,97,117,116,111,45,99,111,114,114,101,99,116,32,115,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,44,32,108,105,107,101,108,121,32,99,111,114,114,117,112,116,32,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,105,110,32,102,105,114,115,116,32,115,116,114,105,112,47,116,105,108,101,59,32,97,117,116,111,45,99,111,114,114,101,99,116,105,110,103,32,115,107,105,112,
-112,101,100,0,74,80,69,71,80,114,105,110,116,68,105,114,0,32,32,74,80,69,71,32,84,97,98,108,101,115,58,32,40,37,108,117,32,98,121,116,101,115,41,10,0,74,80,69,71,86,83,101,116,70,105,101,108,100,0,74,80,69,71,86,71,101,116,70,105,101,108,100,0,74,80,69,71,84,97,98,108,101,115,0,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,83,71,73,76,79,71,50,52,32,124,124,32,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,83,71,73,76,79,71,0,116,105,102,95,108,117,
-118,46,99,0,84,73,70,70,73,110,105,116,83,71,73,76,111,103,0,77,101,114,103,105,110,103,32,83,71,73,76,111,103,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,37,115,58,32,78,111,32,115,112,97,99,101,32,102,111,114,32,76,111,103,76,117,118,32,115,116,97,116,101,32,98,108,111,99,107,0,85,110,107,110,111,119,110,32,100,97,116,97,32,102,111,114,109,97,116,32,37,100,32,102,111,114,32,76,111,103,76,117,118,32,99,111,109,112,114,101,115,115,105,111,110,
-0,76,111,103,76,117,118,86,83,101,116,70,105,101,108,100,0,85,110,107,110,111,119,110,32,101,110,99,111,100,105,110,103,32,37,100,32,102,111,114,32,76,111,103,76,117,118,32,99,111,109,112,114,101,115,115,105,111,110,0,76,111,103,76,117,118,67,108,101,97,110,117,112,0,99,99,37,114,111,119,108,101,110,32,61,61,32,48,0,76,111,103,76,117,118,69,110,99,111,100,101,84,105,108,101,0,76,111,103,76,117,118,69,110,99,111,100,101,83,116,114,105,112,0,76,111,103,76,117,118,83,101,116,117,112,69,110,99,111,100,
-101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,112,104,111,116,111,109,101,116,114,105,99,32,105,110,116,101,114,112,114,101,116,97,116,105,111,110,32,37,100,32,102,111,114,32,83,71,73,76,111,103,32,99,111,109,112,114,101,115,115,105,111,110,59,32,37,115,0,109,117,115,116,32,98,101,32,101,105,116,104,101,114,32,76,111,103,76,85,86,32,111,114,32,76,111,103,76,0,89,44,32,76,0,88,89,90,44,32,76,117,118,0,83,71,73,76,111,103,32,99,111,109,112,114,101,115,115,105,111,110,32,115,117,112,112,
-111,114,116,101,100,32,111,110,108,121,32,102,111,114,32,37,115,44,32,111,114,32,114,97,119,32,100,97,116,97,0,115,32,61,61,32,48,0,76,111,103,76,49,54,69,110,99,111,100,101,0,115,112,45,62,116,98,117,102,108,101,110,32,62,61,32,110,112,105,120,101,108,115,0,76,111,103,76,49,54,73,110,105,116,83,116,97,116,101,0,116,100,45,62,116,100,95,112,104,111,116,111,109,101,116,114,105,99,32,61,61,32,80,72,79,84,79,77,69,84,82,73,67,95,76,79,71,76,0,78,111,32,115,117,112,112,111,114,116,32,102,111,114,32,99,
-111,110,118,101,114,116,105,110,103,32,117,115,101,114,32,100,97,116,97,32,102,111,114,109,97,116,32,116,111,32,76,111,103,76,0,78,111,32,115,112,97,99,101,32,102,111,114,32,83,71,73,76,111,103,32,116,114,97,110,115,108,97,116,105,111,110,32,98,117,102,102,101,114,0,76,111,103,76,117,118,69,110,99,111,100,101,51,50,0,76,111,103,76,117,118,69,110,99,111,100,101,50,52,0,76,111,103,76,117,118,73,110,105,116,83,116,97,116,101,0,116,100,45,62,116,100,95,112,104,111,116,111,109,101,116,114,105,99,32,61,
-61,32,80,72,79,84,79,77,69,84,82,73,67,95,76,79,71,76,85,86,0,83,71,73,76,111,103,32,99,111,109,112,114,101,115,115,105,111,110,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32,110,111,110,45,99,111,110,116,105,103,117,111,117,115,32,100,97,116,97,0,78,111,32,115,117,112,112,111,114,116,32,102,111,114,32,99,111,110,118,101,114,116,105,110,103,32,117,115,101,114,32,100,97,116,97,32,102,111,114,109,97,116,32,116,111,32,76,111,103,76,117,118,0,76,111,103,76,117,118,68,101,99,111,100,101,84,105,
-108,101,0,76,111,103,76,117,118,68,101,99,111,100,101,83,116,114,105,112,0,76,111,103,76,117,118,83,101,116,117,112,68,101,99,111,100,101,0,76,111,103,76,49,54,68,101,99,111,100,101,0,78,111,116,32,101,110,111,117,103,104,32,100,97,116,97,32,97,116,32,114,111,119,32,37,108,117,32,40,115,104,111,114,116,32,37,108,108,117,32,112,105,120,101,108,115,41,0,76,111,103,76,117,118,68,101,99,111,100,101,51,50,0,76,111,103,76,117,118,68,101,99,111,100,101,50,52,0,83,71,73,76,111,103,68,97,116,97,70,109,116,
-0,83,71,73,76,111,103,69,110,99,111,100,101,0,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,76,90,87,0,116,105,102,95,108,122,119,46,99,0,84,73,70,70,73,110,105,116,76,90,87,0,78,111,32,115,112,97,99,101,32,102,111,114,32,76,90,87,32,115,116,97,116,101,32,98,108,111,99,107,0,116,105,102,45,62,116,105,102,95,100,97,116,97,32,33,61,32,48,0,76,90,87,67,108,101,97,110,117,112,0,115,112,45,62,101,110,99,95,104,97,115,104,116,97,98,32,33,61,32,78,85,76,76,0,76,90,87,69,110,99,111,
-100,101,0,110,98,105,116,115,32,60,61,32,66,73,84,83,95,77,65,88,0,76,90,87,80,114,101,69,110,99,111,100,101,0,76,90,87,83,101,116,117,112,69,110,99,111,100,101,0,78,111,32,115,112,97,99,101,32,102,111,114,32,76,90,87,32,104,97,115,104,32,116,97,98,108,101,0,76,90,87,68,101,99,111,100,101,0,115,112,45,62,100,101,99,95,99,111,100,101,116,97,98,32,33,61,32,78,85,76,76,0,76,90,87,68,101,99,111,100,101,58,32,83,116,114,105,112,32,37,100,32,110,111,116,32,116,101,114,109,105,110,97,116,101,100,32,119,
-105,116,104,32,69,79,73,32,99,111,100,101,0,76,90,87,68,101,99,111,100,101,58,32,67,111,114,114,117,112,116,101,100,32,76,90,87,32,116,97,98,108,101,32,97,116,32,115,99,97,110,108,105,110,101,32,37,100,0,67,111,114,114,117,112,116,101,100,32,76,90,87,32,116,97,98,108,101,32,97,116,32,115,99,97,110,108,105,110,101,32,37,100,0,87,114,111,110,103,32,108,101,110,103,116,104,32,111,102,32,100,101,99,111,100,101,100,32,115,116,114,105,110,103,58,32,100,97,116,97,32,112,114,111,98,97,98,108,121,32,99,111,
-114,114,117,112,116,101,100,32,97,116,32,115,99,97,110,108,105,110,101,32,37,100,0,66,111,103,117,115,32,101,110,99,111,100,105,110,103,44,32,108,111,111,112,32,105,110,32,116,104,101,32,99,111,100,101,32,116,97,98,108,101,59,32,115,99,97,110,108,105,110,101,32,37,100,0,78,111,116,32,101,110,111,117,103,104,32,100,97,116,97,32,97,116,32,115,99,97,110,108,105,110,101,32,37,100,32,40,115,104,111,114,116,32,37,108,108,117,32,98,121,116,101,115,41,0,76,90,87,80,114,101,68,101,99,111,100,101,0,79,108,
-100,45,115,116,121,108,101,32,76,90,87,32,99,111,100,101,115,44,32,99,111,110,118,101,114,116,32,102,105,108,101,0,76,90,87,68,101,99,111,100,101,67,111,109,112,97,116,0,76,90,87,83,101,116,117,112,68,101,99,111,100,101,0,78,111,32,115,112,97,99,101,32,102,111,114,32,76,90,87,32,99,111,100,101,32,116,97,98,108,101,0,78,101,88,84,68,101,99,111,100,101,0,78,111,116,32,101,110,111,117,103,104,32,100,97,116,97,32,102,111,114,32,115,99,97,110,108,105,110,101,32,37,108,100,0,78,101,88,84,80,114,101,68,
-101,99,111,100,101,0,85,110,115,117,112,112,111,114,116,101,100,32,66,105,116,115,80,101,114,83,97,109,112,108,101,32,61,32,37,100,0,115,99,104,101,109,101,61,61,67,79,77,80,82,69,83,83,73,79,78,95,79,74,80,69,71,0,116,105,102,95,111,106,112,101,103,46,99,0,84,73,70,70,73,110,105,116,79,74,80,69,71,0,77,101,114,103,105,110,103,32,79,108,100,32,74,80,69,71,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,78,111,32,115,112,97,99,101,32,102,111,114,
-32,79,74,80,69,71,32,115,116,97,116,101,32,98,108,111,99,107,0,115,112,33,61,78,85,76,76,0,79,74,80,69,71,80,114,105,110,116,68,105,114,0,32,32,74,112,101,103,73,110,116,101,114,99,104,97,110,103,101,70,111,114,109,97,116,58,32,37,108,117,10,0,32,32,74,112,101,103,73,110,116,101,114,99,104,97,110,103,101,70,111,114,109,97,116,76,101,110,103,116,104,58,32,37,108,117,10,0,32,32,74,112,101,103,81,84,97,98,108,101,115,58,0,32,37,108,117,0,32,32,74,112,101,103,68,99,84,97,98,108,101,115,58,0,32,32,74,
-112,101,103,65,99,84,97,98,108,101,115,58,0,32,32,74,112,101,103,80,114,111,99,58,32,37,117,10,0,32,32,74,112,101,103,82,101,115,116,97,114,116,73,110,116,101,114,118,97,108,58,32,37,117,10,0,79,74,80,69,71,86,83,101,116,70,105,101,108,100,0,74,112,101,103,81,84,97,98,108,101,115,32,116,97,103,32,104,97,115,32,105,110,99,111,114,114,101,99,116,32,99,111,117,110,116,0,74,112,101,103,68,99,84,97,98,108,101,115,32,116,97,103,32,104,97,115,32,105,110,99,111,114,114,101,99,116,32,99,111,117,110,116,0,
-74,112,101,103,65,99,84,97,98,108,101,115,32,116,97,103,32,104,97,115,32,105,110,99,111,114,114,101,99,116,32,99,111,117,110,116,0,115,112,45,62,115,117,98,115,97,109,112,108,105,110,103,99,111,114,114,101,99,116,95,100,111,110,101,61,61,48,0,79,74,80,69,71,83,117,98,115,97,109,112,108,105,110,103,67,111,114,114,101,99,116,0,83,117,98,115,97,109,112,108,105,110,103,32,116,97,103,32,110,111,116,32,97,112,112,114,111,112,114,105,97,116,101,32,102,111,114,32,116,104,105,115,32,80,104,111,116,111,109,
-101,116,114,105,99,32,97,110,100,47,111,114,32,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,0,83,117,98,115,97,109,112,108,105,110,103,32,116,97,103,32,105,115,32,110,111,116,32,115,101,116,44,32,121,101,116,32,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,91,37,100,44,37,100,93,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,32,91,50,44,50,93,59,32,97,115,115,117,109,
-105,110,103,32,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,105,115,32,99,111,114,114,101,99,116,0,83,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,91,37,100,44,37,100,93,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,115,117,98,115,97,109,112,108,105,110,103,32,116,97,103,32,118,97,108,117,101,115,32,91,37,100,44,37,100,93,59,32,97,115,115,117,109,105,110,103,32,115,117,98,
-115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,105,115,32,99,111,114,114,101,99,116,0,83,117,98,115,97,109,112,108,105,110,103,32,116,97,103,32,105,115,32,110,111,116,32,115,101,116,44,32,121,101,116,32,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,115,32,91,50,44,50,93,32,40,110,111,114,32,97,
-110,121,32,111,116,104,101,114,32,118,97,108,117,101,115,32,97,108,108,111,119,101,100,32,105,110,32,84,73,70,70,41,59,32,97,115,115,117,109,105,110,103,32,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,105,115,32,99,111,114,114,101,99,116,32,97,110,100,32,100,101,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,101,99,111,109,112,114,101,115,115,105,111,110,0,83,117,98,115,97,109,112,108,105,110,103,
-32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,97,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,115,117,98,115,97,109,112,108,105,110,103,32,116,97,103,32,118,97,108,117,101,115,32,91,37,100,44,37,100,93,32,40,110,111,114,32,97,110,121,32,111,116,104,101,114,32,118,97,108,117,101,115,32,97,108,108,111,119,101,100,32,105,110,32,84,73,70,70,41,59,32,97,115,115,117,109,105,110,103,32,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,97,116,
-97,32,105,115,32,99,111,114,114,101,99,116,32,97,110,100,32,100,101,115,117,98,115,97,109,112,108,105,110,103,32,105,110,115,105,100,101,32,74,80,69,71,32,100,101,99,111,109,112,114,101,115,115,105,111,110,0,83,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,32,91,37,100,44,37,100,93,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,84,73,70,70,0,115,112,45,62,105,110,95,98,117,102,102,101,114,95,116,111,103,111,62,48,0,79,74,80,69,71,82,101,97,100,66,121,116,
-101,80,101,101,107,0,79,74,80,69,71,82,101,97,100,66,121,116,101,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,0,115,112,45,62,105,110,95,98,117,102,102,101,114,95,116,111,103,111,61,61,48,0,79,74,80,69,71,82,101,97,100,83,107,105,112,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,83,116,114,101,97,109,68,114,105,0,67,111,114,114,117,112,116,32,68,82,73,32,109,97,114,107,101,
-114,32,105,110,32,74,80,69,71,32,100,97,116,97,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,83,116,114,101,97,109,68,113,116,0,67,111,114,114,117,112,116,32,68,81,84,32,109,97,114,107,101,114,32,105,110,32,74,80,69,71,32,100,97,116,97,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,79,74,80,69,71,82,101,97,100,66,108,111,99,107,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,83,116,114,101,97,109,68,104,116,0,67,111,114,114,117,112,
-116,32,68,72,84,32,109,97,114,107,101,114,32,105,110,32,74,80,69,71,32,100,97,116,97,0,108,101,110,62,48,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,83,116,114,101,97,109,83,111,102,0,67,111,114,114,117,112,116,32,83,79,70,32,109,97,114,107,101,114,32,105,110,32,74,80,69,71,32,100,97,116,97,0,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,105,110,100,105,99,97,116,101,115,32,117,110,101,120,112,101,99,116,101,100,32,110,117,109,98,101,114,
-32,111,102,32,115,97,109,112,108,101,115,0,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,105,110,100,105,99,97,116,101,115,32,117,110,101,120,112,101,99,116,101,100,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,112,101,114,32,115,97,109,112,108,101,0,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,105,110,100,105,99,97,116,101,115,32,117,110,101,120,112,101,99,116,101,100,32,104,101,105,103,104,116,0,74,80,69,71,32,99,111,109,112,114,
-101,115,115,101,100,32,100,97,116,97,32,105,110,100,105,99,97,116,101,115,32,117,110,101,120,112,101,99,116,101,100,32,119,105,100,116,104,0,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,105,109,97,103,101,32,119,105,100,116,104,32,101,120,99,101,101,100,115,32,101,120,112,101,99,116,101,100,32,105,109,97,103,101,32,119,105,100,116,104,0,74,80,69,71,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,105,110,100,105,99,97,116,101,115,32,117,110,101,120,112,101,
-99,116,101,100,32,115,117,98,115,97,109,112,108,105,110,103,32,118,97,108,117,101,115,0,115,112,45,62,112,108,97,110,101,95,115,97,109,112,108,101,95,111,102,102,115,101,116,61,61,48,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,32,116,121,112,101,32,37,100,32,105,110,32,74,80,69,71,32,100,97,116,97,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,84,97,98,108,101,115,81,84,97,98,108,101,0,77,105,115,115,105,110,103,32,74,80,69,71,32,116,97,98,108,101,115,0,67,
-111,114,114,117,112,116,32,74,112,101,103,81,84,97,98,108,101,115,32,116,97,103,32,118,97,108,117,101,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,84,97,98,108,101,115,68,99,84,97,98,108,101,0,67,111,114,114,117,112,116,32,74,112,101,103,68,99,84,97,98,108,101,115,32,116,97,103,32,118,97,108,117,101,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,84,97,98,108,101,115,65,99,84,97,98,108,101,0,67,111,114,114,117,112,116,32,74,112,101,103,
-65,99,84,97,98,108,101,115,32,116,97,103,32,118,97,108,117,101,0,115,112,45,62,115,117,98,115,97,109,112,108,105,110,103,99,111,114,114,101,99,116,61,61,48,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,83,101,99,83,116,114,101,97,109,83,111,115,0,67,111,114,114,117,112,116,32,83,79,83,32,109,97,114,107,101,114,32,105,110,32,74,80,69,71,32,100,97,116,97,0,110,62,48,0,79,74,80,69,71,82,101,97,100,66,117,102,102,101,114,70,105,108,108,0,110,60,61,79,74,80,69,71,95,66,85,70,70,69,
-82,0,40,117,105,110,116,54,52,41,110,60,61,115,112,45,62,105,110,95,98,117,102,102,101,114,95,102,105,108,101,95,116,111,103,111,0,115,112,45,62,108,105,98,106,112,101,103,95,115,101,115,115,105,111,110,95,97,99,116,105,118,101,33,61,48,0,79,74,80,69,71,76,105,98,106,112,101,103,83,101,115,115,105,111,110,65,98,111,114,116,0,79,74,80,69,71,69,110,99,111,100,101,0,79,74,80,69,71,32,101,110,99,111,100,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,59,32,117,115,101,32,110,101,119,
-45,115,116,121,108,101,32,74,80,69,71,32,99,111,109,112,114,101,115,115,105,111,110,32,105,110,115,116,101,97,100,0,79,74,80,69,71,80,111,115,116,69,110,99,111,100,101,0,79,74,80,69,71,80,114,101,69,110,99,111,100,101,0,79,74,80,69,71,83,101,116,117,112,69,110,99,111,100,101,0,79,74,80,69,71,68,101,99,111,100,101,82,97,119,0,70,114,97,99,116,105,111,110,97,108,32,115,99,97,110,108,105,110,101,32,110,111,116,32,114,101,97,100,0,99,99,62,48,0,79,74,80,69,71,68,101,99,111,100,101,83,99,97,110,108,105,
-110,101,115,0,79,74,80,69,71,80,111,115,116,68,101,99,111,100,101,0,115,112,45,62,114,101,97,100,104,101,97,100,101,114,95,100,111,110,101,61,61,48,0,79,74,80,69,71,82,101,97,100,72,101,97,100,101,114,73,110,102,111,0,83,97,109,112,108,101,115,80,101,114,80,105,120,101,108,32,37,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,116,104,105,115,32,99,111,109,112,114,101,115,115,105,111,110,32,115,99,104,101,109,101,0,73,110,99,111,109,112,97,116,105,98,108,101,32,118,101,
-114,116,105,99,97,108,32,115,117,98,115,97,109,112,108,105,110,103,32,97,110,100,32,105,109,97,103,101,32,115,116,114,105,112,47,116,105,108,101,32,108,101,110,103,116,104,0,115,62,48,0,79,74,80,69,71,82,101,97,100,83,101,99,111,110,100,97,114,121,83,111,115,0,115,60,51,0,115,112,45,62,115,111,115,95,101,110,100,91,48,93,46,108,111,103,33,61,48,0,115,112,45,62,115,111,115,95,101,110,100,91,115,93,46,108,111,103,61,61,48,0,115,112,45,62,115,117,98,115,97,109,112,108,105,110,103,95,99,111,110,118,101,
-114,116,95,121,99,98,99,114,98,117,102,61,61,48,0,79,74,80,69,71,87,114,105,116,101,72,101,97,100,101,114,73,110,102,111,0,115,112,45,62,115,117,98,115,97,109,112,108,105,110,103,95,99,111,110,118,101,114,116,95,121,99,98,99,114,105,109,97,103,101,61,61,48,0,79,74,80,69,71,80,114,101,68,101,99,111,100,101,83,107,105,112,83,99,97,110,108,105,110,101,115,0,76,105,98,74,112,101,103,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,115,112,45,62,111,117,116,95,115,116,97,116,101,60,61,
-111,115,111,115,69,111,105,0,79,74,80,69,71,87,114,105,116,101,83,116,114,101,97,109,0,50,53,53,62,61,56,43,115,112,45,62,115,97,109,112,108,101,115,95,112,101,114,95,112,105,120,101,108,95,112,101,114,95,112,108,97,110,101,42,51,0,79,74,80,69,71,87,114,105,116,101,83,116,114,101,97,109,83,111,102,0,50,53,53,62,61,54,43,115,112,45,62,115,97,109,112,108,101,115,95,112,101,114,95,112,105,120,101,108,95,112,101,114,95,112,108,97,110,101,42,50,0,79,74,80,69,71,87,114,105,116,101,83,116,114,101,97,109,
-83,111,115,0,79,74,80,69,71,87,114,105,116,101,83,116,114,101,97,109,67,111,109,112,114,101,115,115,101,100,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,74,80,69,71,32,100,97,116,97,0,79,74,80,69,71,83,101,116,117,112,68,101,99,111,100,101,0,68,101,112,114,101,99,105,97,116,101,100,32,97,110,100,32,116,114,111,117,98,108,101,115,111,109,101,32,111,108,100,45,115,116,121,108,101,32,74,80,69,71,32,99,111,109,112,114,101,115,115,105,111,110,32,109,111,100,101,44,32,112,108,101,97,
-115,101,32,99,111,110,118,101,114,116,32,116,111,32,110,101,119,45,115,116,121,108,101,32,74,80,69,71,32,99,111,109,112,114,101,115,115,105,111,110,32,97,110,100,32,110,111,116,105,102,121,32,118,101,110,100,111,114,32,111,102,32,119,114,105,116,105,110,103,32,115,111,102,116,119,97,114,101,0,74,112,101,103,73,110,116,101,114,99,104,97,110,103,101,70,111,114,109,97,116,0,74,112,101,103,73,110,116,101,114,99,104,97,110,103,101,70,111,114,109,97,116,76,101,110,103,116,104,0,74,112,101,103,81,84,97,
-98,108,101,115,0,74,112,101,103,68,99,84,97,98,108,101,115,0,74,112,101,103,65,99,84,97,98,108,101,115,0,74,112,101,103,80,114,111,99,0,74,112,101,103,82,101,115,116,97,114,116,73,110,116,101,114,118,97,108,0,80,97,99,107,66,105,116,115,68,101,99,111,100,101,0,68,105,115,99,97,114,100,105,110,103,32,37,108,117,32,98,121,116,101,115,32,116,111,32,97,118,111,105,100,32,98,117,102,102,101,114,32,111,118,101,114,114,117,110,0,84,101,114,109,105,110,97,116,105,110,103,32,80,97,99,107,66,105,116,115,68,
-101,99,111,100,101,32,100,117,101,32,116,111,32,108,97,99,107,32,111,102,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,100,97,116,97,32,102,111,114,32,115,99,97,110,108,105,110,101,32,37,108,117,0,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,80,73,88,65,82,76,79,71,0,116,105,102,95,112,105,120,97,114,108,111,103,46,99,0,84,73,70,70,73,110,105,116,80,105,120,97,114,76,111,103,0,77,101,114,103,105,110,103,32,80,105,120,97,114,76,111,103,32,99,111,100,101,99,
-45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,78,111,32,115,112,97,99,101,32,102,111,114,32,80,105,120,97,114,76,111,103,32,115,116,97,116,101,32,98,108,111,99,107,0,80,105,120,97,114,76,111,103,86,83,101,116,70,105,101,108,100,0,80,105,120,97,114,76,111,103,67,108,101,97,110,117,112,0,80,105,120,97,114,76,111,103,69,110,99,111,100,101,0,37,100,32,98,105,116,32,105,110,112,117,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,80,105,120,97,114,
-76,111,103,0,90,76,105,98,32,99,97,110,110,111,116,32,100,101,97,108,32,119,105,116,104,32,98,117,102,102,101,114,115,32,116,104,105,115,32,115,105,122,101,0,80,105,120,97,114,76,111,103,80,111,115,116,69,110,99,111,100,101,0,80,105,120,97,114,76,111,103,80,114,101,69,110,99,111,100,101,0,80,105,120,97,114,76,111,103,83,101,116,117,112,69,110,99,111,100,101,0,80,105,120,97,114,76,111,103,32,99,111,109,112,114,101,115,115,105,111,110,32,99,97,110,39,116,32,104,97,110,100,108,101,32,37,100,32,98,105,
-116,32,108,105,110,101,97,114,32,101,110,99,111,100,105,110,103,115,0,80,105,120,97,114,76,111,103,68,101,99,111,100,101,0,115,116,114,105,100,101,32,37,108,117,32,105,115,32,110,111,116,32,97,32,109,117,108,116,105,112,108,101,32,111,102,32,115,97,109,112,108,101,32,99,111,117,110,116,44,32,37,108,117,44,32,100,97,116,97,32,116,114,117,110,99,97,116,101,100,46,0,85,110,115,117,112,112,111,114,116,101,100,32,98,105,116,115,47,115,97,109,112,108,101,58,32,37,100,0,80,105,120,97,114,76,111,103,80,114,
-101,68,101,99,111,100,101,0,80,105,120,97,114,76,111,103,83,101,116,117,112,68,101,99,111,100,101,0,80,105,120,97,114,76,111,103,32,99,111,109,112,114,101,115,115,105,111,110,32,99,97,110,39,116,32,104,97,110,100,108,101,32,98,105,116,115,32,100,101,112,116,104,47,100,97,116,97,32,102,111,114,109,97,116,32,99,111,109,98,105,110,97,116,105,111,110,32,40,100,101,112,116,104,58,32,37,100,41,0,116,105,102,95,112,114,101,100,105,99,116,46,99,0,84,73,70,70,80,114,101,100,105,99,116,111,114,73,110,105,116,
-0,77,101,114,103,105,110,103,32,80,114,101,100,105,99,116,111,114,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,84,73,70,70,80,114,101,100,105,99,116,111,114,67,108,101,97,110,117,112,0,40,99,99,37,40,98,112,115,42,115,116,114,105,100,101,41,41,61,61,48,0,102,112,68,105,102,102,0,80,114,101,100,105,99,116,111,114,69,110,99,111,100,101,84,105,108,101,0,115,112,45,62,101,110,99,111,100,101,112,102,117,110,99,32,33,61,32,78,85,76,76,0,115,112,45,
-62,101,110,99,111,100,101,116,105,108,101,32,33,61,32,78,85,76,76,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,110,103,32,37,108,100,32,98,121,116,101,32,116,101,109,112,32,98,117,102,102,101,114,46,0,114,111,119,115,105,122,101,32,62,32,48,0,40,99,99,48,37,114,111,119,115,105,122,101,41,61,61,48,0,80,114,101,100,105,99,116,111,114,69,110,99,111,100,101,82,111,119,0,115,112,45,62,101,110,99,111,100,101,114,111,119,32,33,61,32,78,85,76,76,0,40,99,99,37,40,52,42,
-115,116,114,105,100,101,41,41,61,61,48,0,104,111,114,68,105,102,102,51,50,0,40,99,99,37,40,50,42,115,116,114,105,100,101,41,41,61,61,48,0,104,111,114,68,105,102,102,49,54,0,40,99,99,37,115,116,114,105,100,101,41,61,61,48,0,104,111,114,68,105,102,102,56,0,80,114,101,100,105,99,116,111,114,83,101,116,117,112,0,72,111,114,105,122,111,110,116,97,108,32,100,105,102,102,101,114,101,110,99,105,110,103,32,34,80,114,101,100,105,99,116,111,114,34,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,
-105,116,104,32,37,100,45,98,105,116,32,115,97,109,112,108,101,115,0,70,108,111,97,116,105,110,103,32,112,111,105,110,116,32,34,80,114,101,100,105,99,116,111,114,34,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,37,100,32,100,97,116,97,32,102,111,114,109,97,116,0,34,80,114,101,100,105,99,116,111,114,34,32,118,97,108,117,101,32,37,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,102,112,65,99,99,0,80,114,101,100,105,99,116,111,114,68,101,99,111,100,101,84,105,
-108,101,0,115,112,45,62,100,101,99,111,100,101,116,105,108,101,32,33,61,32,78,85,76,76,0,40,111,99,99,48,37,114,111,119,115,105,122,101,41,61,61,48,0,115,112,45,62,100,101,99,111,100,101,112,102,117,110,99,32,33,61,32,78,85,76,76,0,80,114,101,100,105,99,116,111,114,68,101,99,111,100,101,82,111,119,0,115,112,45,62,100,101,99,111,100,101,114,111,119,32,33,61,32,78,85,76,76,0,104,111,114,65,99,99,51,50,0,104,111,114,65,99,99,49,54,0,104,111,114,65,99,99,56,0,32,32,80,114,101,100,105,99,116,111,114,58,
-32,0,110,111,110,101,32,0,104,111,114,105,122,111,110,116,97,108,32,100,105,102,102,101,114,101,110,99,105,110,103,32,0,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,112,114,101,100,105,99,116,111,114,32,0,37,117,32,40,48,120,37,120,41,10,0,80,114,101,100,105,99,116,111,114,86,83,101,116,70,105,101,108,100,0,115,112,45,62,118,115,101,116,112,97,114,101,110,116,32,33,61,32,78,85,76,76,0,80,114,101,100,105,99,116,111,114,86,71,101,116,70],"i8",4,ra.GLOBAL_BASE+143490);vc([105,101,108,100,
-0,115,112,45,62,118,103,101,116,112,97,114,101,110,116,32,33,61,32,78,85,76,76,0,80,114,101,100,105,99,116,111,114,0,84,104,117,110,100,101,114,68,101,99,111,100,101,82,111,119,0,70,114,97,99,116,105,111,110,97,108,32,115,99,97,110,108,105,110,101,115,32,99,97,110,110,111,116,32,98,101,32,114,101,97,100,0,78,111,116,32,101,110,111,117,103,104,0,84,111,111,32,109,117,99,104,0,84,104,117,110,100,101,114,68,101,99,111,100,101,0,37,115,32,100,97,116,97,32,97,116,32,115,99,97,110,108,105,110,101,32,37,
-108,117,32,40,37,108,108,117,32,33,61,32,37,108,108,117,41,0,84,104,117,110,100,101,114,83,101,116,117,112,68,101,99,111,100,101,0,87,114,111,110,103,32,98,105,116,115,112,101,114,115,97,109,112,108,101,32,118,97,108,117,101,32,40,37,100,41,44,32,84,104,117,110,100,101,114,32,100,101,99,111,100,101,114,32,111,110,108,121,32,115,117,112,112,111,114,116,115,32,52,98,105,116,115,32,112,101,114,32,115,97,109,112,108,101,46,0,40,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,68,
-69,70,76,65,84,69,41,32,124,124,32,40,115,99,104,101,109,101,32,61,61,32,67,79,77,80,82,69,83,83,73,79,78,95,65,68,79,66,69,95,68,69,70,76,65,84,69,41,0,116,105,102,95,122,105,112,46,99,0,84,73,70,70,73,110,105,116,90,73,80,0,77,101,114,103,105,110,103,32,68,101,102,108,97,116,101,32,99,111,100,101,99,45,115,112,101,99,105,102,105,99,32,116,97,103,115,32,102,97,105,108,101,100,0,78,111,32,115,112,97,99,101,32,102,111,114,32,90,73,80,32,115,116,97,116,101,32,98,108,111,99,107,0,115,112,32,33,61,32,
-48,0,90,73,80,67,108,101,97,110,117,112,0,115,112,32,33,61,32,78,85,76,76,0,90,73,80,69,110,99,111,100,101,0,115,112,45,62,115,116,97,116,101,32,61,61,32,90,83,84,65,84,69,95,73,78,73,84,95,69,78,67,79,68,69,0,69,110,99,111,100,101,114,32,101,114,114,111,114,58,32,37,115,0,90,73,80,80,111,115,116,69,110,99,111,100,101,0,90,76,105,98,32,101,114,114,111,114,58,32,37,115,0,90,73,80,80,114,101,69,110,99,111,100,101,0,90,73,80,83,101,116,117,112,69,110,99,111,100,101,0,49,46,50,46,56,0,37,115,0,90,73,
-80,68,101,99,111,100,101,0,115,112,45,62,115,116,97,116,101,32,61,61,32,90,83,84,65,84,69,95,73,78,73,84,95,68,69,67,79,68,69,0,68,101,99,111,100,105,110,103,32,101,114,114,111,114,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,44,32,37,115,0,78,111,116,32,101,110,111,117,103,104,32,100,97,116,97,32,97,116,32,115,99,97,110,108,105,110,101,32,37,108,117,32,40,115,104,111,114,116,32,37,108,117,32,98,121,116,101,115,41,0,90,73,80,80,114,101,68,101,99,111,100,101,0,90,73,80,83,101,116,117,112,
-68,101,99,111,100,101,0,90,73,80,86,83,101,116,70,105,101,108,100,0,105,110,99,111,114,114,101,99,116,32,104,101,97,100,101,114,32,99,104,101,99,107,0,117,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,0,105,110,118,97,108,105,100,32,119,105,110,100,111,119,32,115,105,122,101,0,117,110,107,110,111,119,110,32,104,101,97,100,101,114,32,102,108,97,103,115,32,115,101,116,0,104,101,97,100,101,114,32,99,114,99,32,109,105,115,109,97,116,99,104,0,105,110,
-118,97,108,105,100,32,98,108,111,99,107,32,116,121,112,101,0,105,110,118,97,108,105,100,32,115,116,111,114,101,100,32,98,108,111,99,107,32,108,101,110,103,116,104,115,0,116,111,111,32,109,97,110,121,32,108,101,110,103,116,104,32,111,114,32,100,105,115,116,97,110,99,101,32,115,121,109,98,111,108,115,0,105,110,118,97,108,105,100,32,99,111,100,101,32,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,98,105,116,32,108,101,110,103,116,104,32,114,101,112,101,97,116,0,105,110,118,
-97,108,105,100,32,99,111,100,101,32,45,45,32,109,105,115,115,105,110,103,32,101,110,100,45,111,102,45,98,108,111,99,107,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,115,32,115,101,116,0,105,110,99,111,114,114,101,99,116,32,100,97,116,97,32,99,104,101,99,107,0,105,110,99,111,114,114,101,99,116,32,108,101,110,103,116,104,32,99,104,101,99,107,0,0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,
-8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
-14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,
-27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,
-12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,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,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
-25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,110,101,101,100,32,100,105,99,116,105,111,110,97,114,121,0,115,116,114,101,97,109,32,101,110,100,0,0,102,105,108,101,32,101,114,114,111,114,0,115,116,114,101,97,109,32,101,114,114,111,114,0,100,97,116,97,32,101,114,114,111,114,0,105,110,115,
-117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,0,98,117,102,102,101,114,32,101,114,114,111,114,0,105,110,99,111,109,112,97,116,105,98,108,101,32,118,101,114,115,105,111,110,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,116,111,111,32,102,97,114,32,98,97,99,107,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,99,111,100,101,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,32,99,111,100,101,0,0,0,1,5,1,1,1,1,1,1,
-0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,
-195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250,0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,
-116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250,83,79,83,0,76,83,69,0,66,111,103,117,115,32,109,101,115,115,97,103,101,32,99,111,100,101,32,37,100,0,65,76,73,71,78,95,84,89,80,69,32,105,115,32,119,114,111,110,103,44,32,112,108,101,97,
-115,101,32,102,105,120,0,77,65,88,95,65,76,76,79,67,95,67,72,85,78,75,32,105,115,32,119,114,111,110,103,44,32,112,108,101,97,115,101,32,102,105,120,0,66,111,103,117,115,32,98,117,102,102,101,114,32,99,111,110,116,114,111,108,32,109,111,100,101,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,73,68,32,37,100,32,105,110,32,83,79,83,0,73,110,118,97,108,105,100,32,99,114,111,112,32,114,101,113,117,101,115,116,0,68,67,84,32,99,111,101,102,102,105,99,105,101,110,116,32,111,117,116,32,
-111,102,32,114,97,110,103,101,0,68,67,84,32,115,99,97,108,101,100,32,98,108,111,99,107,32,115,105,122,101,32,37,100,120,37,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,67,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,58,32,109,105,115,109,97,116,99,104,105,110,103,32,115,97,109,112,108,105,110,103,32,114,97,116,105,111,32,37,100,58,37,100,44,32,37,100,58,37,100,44,32,37,99,0,66,111,103,117,115,32,72,117,102,102,109,97,110,32,116,97,98,108,101,32,100,101,102,105,110,
-105,116,105,111,110,0,66,111,103,117,115,32,105,110,112,117,116,32,99,111,108,111,114,115,112,97,99,101,0,66,111,103,117,115,32,74,80,69,71,32,99,111,108,111,114,115,112,97,99,101,0,66,111,103,117,115,32,109,97,114,107,101,114,32,108,101,110,103,116,104,0,87,114,111,110,103,32,74,80,69,71,32,108,105,98,114,97,114,121,32,118,101,114,115,105,111,110,58,32,108,105,98,114,97,114,121,32,105,115,32,37,100,44,32,99,97,108,108,101,114,32,101,120,112,101,99,116,115,32,37,100,0,83,97,109,112,108,105,110,103,
-32,102,97,99,116,111,114,115,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,105,110,116,101,114,108,101,97,118,101,100,32,115,99,97,110,0,73,110,118,97,108,105,100,32,109,101,109,111,114,121,32,112,111,111,108,32,99,111,100,101,32,37,100,0,85,110,115,117,112,112,111,114,116,101,100,32,74,80,69,71,32,100,97,116,97,32,112,114,101,99,105,115,105,111,110,32,37,100,0,73,110,118,97,108,105,100,32,112,114,111,103,114,101,115,115,105,118,101,32,112,97,114,97,109,101,116,101,114,115,32,83,115,61,37,
-100,32,83,101,61,37,100,32,65,104,61,37,100,32,65,108,61,37,100,0,73,110,118,97,108,105,100,32,112,114,111,103,114,101,115,115,105,118,101,32,112,97,114,97,109,101,116,101,114,115,32,97,116,32,115,99,97,110,32,115,99,114,105,112,116,32,101,110,116,114,121,32,37,100,0,66,111,103,117,115,32,115,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,0,73,110,118,97,108,105,100,32,115,99,97,110,32,115,99,114,105,112,116,32,97,116,32,101,110,116,114,121,32,37,100,0,73,109,112,114,111,112,101,114,32,99,
-97,108,108,32,116,111,32,74,80,69,71,32,108,105,98,114,97,114,121,32,105,110,32,115,116,97,116,101,32,37,100,0,74,80,69,71,32,112,97,114,97,109,101,116,101,114,32,115,116,114,117,99,116,32,109,105,115,109,97,116,99,104,58,32,108,105,98,114,97,114,121,32,116,104,105,110,107,115,32,115,105,122,101,32,105,115,32,37,117,44,32,99,97,108,108,101,114,32,101,120,112,101,99,116,115,32,37,117,0,66,111,103,117,115,32,118,105,114,116,117,97,108,32,97,114,114,97,121,32,97,99,99,101,115,115,0,66,117,102,102,101,
-114,32,112,97,115,115,101,100,32,116,111,32,74,80,69,71,32,108,105,98,114,97,114,121,32,105,115,32,116,111,111,32,115,109,97,108,108,0,83,117,115,112,101,110,115,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,104,101,114,101,0,67,67,73,82,54,48,49,32,115,97,109,112,108,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,84,111,111,32,109,97,110,121,32,99,111,108,111,114,32,99,111,109,112,111,110,101,110,116,115,58,32,37,100,44,32,109,97,120,32,37,
-100,0,85,110,115,117,112,112,111,114,116,101,100,32,99,111,108,111,114,32,99,111,110,118,101,114,115,105,111,110,32,114,101,113,117,101,115,116,0,66,111,103,117,115,32,68,65,67,32,105,110,100,101,120,32,37,100,0,66,111,103,117,115,32,68,65,67,32,118,97,108,117,101,32,48,120,37,120,0,66,111,103,117,115,32,68,72,84,32,105,110,100,101,120,32,37,100,0,66,111,103,117,115,32,68,81,84,32,105,110,100,101,120,32,37,100,0,69,109,112,116,121,32,74,80,69,71,32,105,109,97,103,101,32,40,68,78,76,32,110,111,116,
-32,115,117,112,112,111,114,116,101,100,41,0,82,101,97,100,32,102,114,111,109,32,69,77,83,32,102,97,105,108,101,100,0,87,114,105,116,101,32,116,111,32,69,77,83,32,102,97,105,108,101,100,0,68,105,100,110,39,116,32,101,120,112,101,99,116,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,97,110,0,73,110,112,117,116,32,102,105,108,101,32,114,101,97,100,32,101,114,114,111,114,0,79,117,116,112,117,116,32,102,105,108,101,32,119,114,105,116,101,32,101,114,114,111,114,32,45,45,45,32,111,117,116,
-32,111,102,32,100,105,115,107,32,115,112,97,99,101,63,0,70,114,97,99,116,105,111,110,97,108,32,115,97,109,112,108,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,72,117,102,102,109,97,110,32,99,111,100,101,32,115,105,122,101,32,116,97,98,108,101,32,111,118,101,114,102,108,111,119,0,77,105,115,115,105,110,103,32,72,117,102,102,109,97,110,32,99,111,100,101,32,116,97,98,108,101,32,101,110,116,114,121,0,77,97,120,105,109,117,109,32,115,117,112,112,111,114,116,
-101,100,32,105,109,97,103,101,32,100,105,109,101,110,115,105,111,110,32,105,115,32,37,117,32,112,105,120,101,108,115,0,69,109,112,116,121,32,105,110,112,117,116,32,102,105,108,101,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,105,110,112,117,116,32,102,105,108,101,0,67,97,110,110,111,116,32,116,114,97,110,115,99,111,100,101,32,100,117,101,32,116,111,32,109,117,108,116,105,112,108,101,32,117,115,101,32,111,102,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,
-32,37,100,0,83,99,97,110,32,115,99,114,105,112,116,32,100,111,101,115,32,110,111,116,32,116,114,97,110,115,109,105,116,32,97,108,108,32,100,97,116,97,0,73,110,118,97,108,105,100,32,99,111,108,111,114,32,113,117,97,110,116,105,122,97,116,105,111,110,32,109,111,100,101,32,99,104,97,110,103,101,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,82,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,119,97,115,32,111,109,105,116,116,101,100,32,97,116,32,99,111,109,
-112,105,108,101,32,116,105,109,101,0,65,114,105,116,104,109,101,116,105,99,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,66,97,99,107,105,110,103,32,115,116,111,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,72,117,102,102,109,97,110,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,74,80,69,71,32,100,97,116,97,115,116,114,101,97,109,32,99,111,110,116,97,105,110,115,
-32,110,111,32,105,109,97,103,101,0,81,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,78,111,116,32,97,32,74,80,69,71,32,102,105,108,101,58,32,115,116,97,114,116,115,32,119,105,116,104,32,48,120,37,48,50,120,32,48,120,37,48,50,120,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,40,99,97,115,101,32,37,100,41,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,109,
-111,114,101,32,116,104,97,110,32,37,100,32,99,111,108,111,114,32,99,111,109,112,111,110,101,110,116,115,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,116,111,32,102,101,119,101,114,32,116,104,97,110,32,37,100,32,99,111,108,111,114,115,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,116,111,32,109,111,114,101,32,116,104,97,110,32,37,100,32,99,111,108,111,114,115,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,37,
-115,32,98,101,102,111,114,101,32,83,79,70,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,116,119,111,32,83,79,70,32,109,97,114,107,101,114,115,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,109,105,115,115,105,110,103,32,83,79,83,32,109,97,114,107,101,114,0,85,110,115,117,112,112,111,114,116,101,100,32,74,80,69,71,32,112,114,111,99,101,115,115,58,32,83,79,70,32,116,121,112,101,32,
-48,120,37,48,50,120,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,116,119,111,32,83,79,73,32,109,97,114,107,101,114,115,0,70,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,82,101,97,100,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,0,83,101,101,107,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,
-114,121,32,102,105,108,101,0,87,114,105,116,101,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,45,45,45,32,111,117,116,32,111,102,32,100,105,115,107,32,115,112,97,99,101,63,0,65,112,112,108,105,99,97,116,105,111,110,32,116,114,97,110,115,102,101,114,114,101,100,32,116,111,111,32,102,101,119,32,115,99,97,110,108,105,110,101,115,0,85,110,115,117,112,112,111,114,116,101,100,32,109,97,114,107,101,114,32,116,121,112,101,32,48,120,37,48,50,120,0,86,105,
-114,116,117,97,108,32,97,114,114,97,121,32,99,111,110,116,114,111,108,108,101,114,32,109,101,115,115,101,100,32,117,112,0,73,109,97,103,101,32,116,111,111,32,119,105,100,101,32,102,111,114,32,116,104,105,115,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,82,101,97,100,32,102,114,111,109,32,88,77,83,32,102,97,105,108,101,100,0,87,114,105,116,101,32,116,111,32,88,77,83,32,102,97,105,108,101,100,0,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,54,44,32,84,104,111,109,97,115,
-32,71,46,32,76,97,110,101,44,32,71,117,105,100,111,32,86,111,108,108,98,101,100,105,110,103,0,57,98,32,32,49,55,45,74,97,110,45,50,48,49,54,0,67,97,117,116,105,111,110,58,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,115,32,97,114,101,32,116,111,111,32,99,111,97,114,115,101,32,102,111,114,32,98,97,115,101,108,105,110,101,32,74,80,69,71,0,65,100,111,98,101,32,65,80,80,49,52,32,109,97,114,107,101,114,58,32,118,101,114,115,105,111,110,32,37,100,44,32,102,108,97,103,115,32,48,
-120,37,48,52,120,32,48,120,37,48,52,120,44,32,116,114,97,110,115,102,111,114,109,32,37,100,0,85,110,107,110,111,119,110,32,65,80,80,48,32,109,97,114,107,101,114,32,40,110,111,116,32,74,70,73,70,41,44,32,108,101,110,103,116,104,32,37,117,0,85,110,107,110,111,119,110,32,65,80,80,49,52,32,109,97,114,107,101,114,32,40,110,111,116,32,65,100,111,98,101,41,44,32,108,101,110,103,116,104,32,37,117,0,68,101,102,105,110,101,32,65,114,105,116,104,109,101,116,105,99,32,84,97,98,108,101,32,48,120,37,48,50,120,
-58,32,48,120,37,48,50,120,0,68,101,102,105,110,101,32,72,117,102,102,109,97,110,32,84,97,98,108,101,32,48,120,37,48,50,120,0,68,101,102,105,110,101,32,81,117,97,110,116,105,122,97,116,105,111,110,32,84,97,98,108,101,32,37,100,32,32,112,114,101,99,105,115,105,111,110,32,37,100,0,68,101,102,105,110,101,32,82,101,115,116,97,114,116,32,73,110,116,101,114,118,97,108,32,37,117,0,70,114,101,101,100,32,69,77,83,32,104,97,110,100,108,101,32,37,117,0,79,98,116,97,105,110,101,100,32,69,77,83,32,104,97,110,100,
-108,101,32,37,117,0,69,110,100,32,79,102,32,73,109,97,103,101,0,32,32,32,32,32,32,32,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,0,74,70,73,70,32,65,80,80,48,32,109,97,114,107,101,114,58,32,118,101,114,115,105,111,110,32,37,100,46,37,48,50,100,44,32,100,101,110,115,105,116,121,32,37,100,120,37,100,32,32,37,100,0,87,97,114,110,105,110,103,58,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,32,115,105,122,101,32,100,111,101,115,32,
-110,111,116,32,109,97,116,99,104,32,100,97,116,97,32,108,101,110,103,116,104,32,37,117,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,116,121,112,101,32,48,120,37,48,50,120,44,32,108,101,110,103,116,104,32,37,117,0,32,32,32,32,119,105,116,104,32,37,100,32,120,32,37,100,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,0,77,105,115,99,101,108,108,97,110,101,111,117,115,32,109,97,114,107,101,114,32,48,120,37,48,50,120,44,32,108,101,110,103,116,104,32,37,
-117,0,85,110,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,32,48,120,37,48,50,120,0,32,32,32,32,32,32,32,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,0,81,117,97,110,116,105,122,105,110,103,32,116,111,32,37,100,32,61,32,37,100,42,37,100,42,37,100,32,99,111,108,111,114,115,0,81,117,97,110,116,105,122,105,110,103,32,116,111,32,37,100,32,99,111,108,111,114,115,0,83,101,108,101,99,116,101,100,32,37,100,32,99,111,108,111,114,115,32,
-102,111,114,32,113,117,97,110,116,105,122,97,116,105,111,110,0,65,116,32,109,97,114,107,101,114,32,48,120,37,48,50,120,44,32,114,101,99,111,118,101,114,121,32,97,99,116,105,111,110,32,37,100,0,82,83,84,37,100,0,83,109,111,111,116,104,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,110,111,110,115,116,97,110,100,97,114,100,32,115,97,109,112,108,105,110,103,32,114,97,116,105,111,115,0,83,116,97,114,116,32,79,102,32,70,114,97,109,101,32,48,120,37,48,50,120,58,
-32,119,105,100,116,104,61,37,117,44,32,104,101,105,103,104,116,61,37,117,44,32,99,111,109,112,111,110,101,110,116,115,61,37,100,0,32,32,32,32,67,111,109,112,111,110,101,110,116,32,37,100,58,32,37,100,104,120,37,100,118,32,113,61,37,100,0,83,116,97,114,116,32,111,102,32,73,109,97,103,101,0,83,116,97,114,116,32,79,102,32,83,99,97,110,58,32,37,100,32,99,111,109,112,111,110,101,110,116,115,0,32,32,32,32,67,111,109,112,111,110,101,110,116,32,37,100,58,32,100,99,61,37,100,32,97,99,61,37,100,0,32,32,83,
-115,61,37,100,44,32,83,101,61,37,100,44,32,65,104,61,37,100,44,32,65,108,61,37,100,0,67,108,111,115,101,100,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,79,112,101,110,101,100,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,74,80,69,71,45,99,111,109,112,114,101,115,115,101,100,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,
-117,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,112,97,108,101,116,116,101,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,82,71,66,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,111,110,101,110,116,32,73,68,
-115,32,37,100,32,37,100,32,37,100,44,32,97,115,115,117,109,105,110,103,32,89,67,98,67,114,0,70,114,101,101,100,32,88,77,83,32,104,97,110,100,108,101,32,37,117,0,79,98,116,97,105,110,101,100,32,88,77,83,32,104,97,110,100,108,101,32,37,117,0,85,110,107,110,111,119,110,32,65,100,111,98,101,32,99,111,108,111,114,32,116,114,97,110,115,102,111,114,109,32,99,111,100,101,32,37,100,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,98,97,100,32,97,114,105,116,104,109,101,116,105,99,32,99,111,
-100,101,0,73,110,99,111,110,115,105,115,116,101,110,116,32,112,114,111,103,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,102,111,114,32,99,111,109,112,111,110,101,110,116,32,37,100,32,99,111,101,102,102,105,99,105,101,110,116,32,37,100,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,37,117,32,101,120,116,114,97,110,101,111,117,115,32,98,121,116,101,115,32,98,101,102,111,114,101,32,109,97,114,107,101,114,32,48,120,37,48,50,120,0,67,111,114,114,117,112,116,32,74,
-80,69,71,32,100,97,116,97,58,32,112,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,100,97,116,97,32,115,101,103,109,101,110,116,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,98,97,100,32,72,117,102,102,109,97,110,32,99,111,100,101,0,87,97,114,110,105,110,103,58,32,117,110,107,110,111,119,110,32,74,70,73,70,32,114,101,118,105,115,105,111,110,32,110,117,109,98,101,114,32,37,100,46,37,48,50,100,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,74,80,69,
-71,32,102,105,108,101,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,102,111,117,110,100,32,109,97,114,107,101,114,32,48,120,37,48,50,120,32,105,110,115,116,101,97,100,32,111,102,32,82,83,84,37,100,0,73,110,118,97,108,105,100,32,83,79,83,32,112,97,114,97,109,101,116,101,114,115,32,102,111,114,32,115,101,113,117,101,110,116,105,97,108,32,74,80,69,71,0,65,112,112,108,105,99,97,116,105,111,110,32,116,114,97,110,115,102,101,114,114,101,100,32,116,111,111,32,109,97,110,121,32,115,99,
-97,110,108,105,110,101,115,0,37,115,10,0,0,192,48,240,12,204,60,252,3,195,51,243,15,207,63,255,128,64,176,112,140,76,188,124,131,67,179,115,143,79,191,127,32,224,16,208,44,236,28,220,35,227,19,211,47,239,31,223,160,96,144,80,172,108,156,92,163,99,147,83,175,111,159,95,8,200,56,248,4,196,52,244,11,203,59,251,7,199,55,247,136,72,184,120,132,68,180,116,139,75,187,123,135,71,183,119,40,232,24,216,36,228,20,212,43,235,27,219,39,231,23,215,168,104,152,88,164,100,148,84,171,107,155,91,167,103,151,87,2,194,
-50,242,14,206,62,254,1,193,49,241,13,205,61,253,130,66,178,114,142,78,190,126,129,65,177,113,141,77,189,125,34,226,18,210,46,238,30,222,33,225,17,209,45,237,29,221,162,98,146,82,174,110,158,94,161,97,145,81,173,109,157,93,10,202,58,250,6,198,54,246,9,201,57,249,5,197,53,245,138,74,186,122,134,70,182,118,137,73,185,121,133,69,181,117,42,234,26,218,38,230,22,214,41,233,25,217,37,229,21,213,170,106,154,90,166,102,150,86,169,105,153,89,165,101,149,85,74,80,69,71,77,69,77,0,37,108,100,37,99,0,84,33,34,
-25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,
-97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,
-99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,
-45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,
-100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,
-98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,
-32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,
-111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,
-101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,
-101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,
-114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,
-100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,
-99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,
-109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,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,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5],"i8",4,ra.GLOBAL_BASE+153730);vc([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,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,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,
-0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",4,ra.GLOBAL_BASE+164446);var ai=ra.alignMemory(vc(12,"i8",2),8);fb(0==ai%8);var ca={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,
-EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,
-ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,
-ESTRPIPE:86},Kj={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",
-23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",
-43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",
-64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",
-81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",
-98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",
-115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},ye={ttys:[],init:function(){},shutdown:function(){},register:function(r,v){ye.ttys[r]={input:[],output:[],ops:v};D.registerDevice(r,ye.stream_ops)},stream_ops:{open:function(r){var v=ye.ttys[r.node.rdev];if(!v)throw new D.ErrnoError(ca.ENODEV);r.tty=v;r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},
-flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,v,A,fa,F){if(!r.tty||!r.tty.ops.get_char)throw new D.ErrnoError(ca.ENXIO);for(var aa=F=0;aa<fa;aa++){var ya;try{ya=r.tty.ops.get_char(r.tty)}catch(S){throw new D.ErrnoError(ca.EIO);}if(void 0===ya&&0===F)throw new D.ErrnoError(ca.EAGAIN);if(null===ya||void 0===ya)break;F++;v[A+aa]=ya}F&&(r.node.timestamp=Date.now());return F},write:function(r,v,A,fa,F){if(!r.tty||!r.tty.ops.put_char)throw new D.ErrnoError(ca.ENXIO);for(F=0;F<fa;F++)try{r.tty.ops.put_char(r.tty,
-v[A+F])}catch(aa){throw new D.ErrnoError(ca.EIO);}fa&&(r.node.timestamp=Date.now());return F}},default_tty_ops:{get_char:function(r){if(!r.input.length){var v=null;if(Bf){var v=new Buffer(256),A,D=process.stdin.fd,F=!1;try{D=cd.openSync("/dev/stdin","r"),F=!0}catch(aa){}A=cd.readSync(D,v,0,256,null);F&&cd.closeSync(D);v=0<A?v.slice(0,A).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(v=window.prompt("Input: "),null!==v&&(v+="\n")):"function"==typeof readline&&
-(v=readline(),null!==v&&(v+="\n"));if(!v)return null;r.input=yf(v,!0)}return r.input.shift()},put_char:function(r,v){null===v||10===v?(F.print(nf(r.output,0)),r.output=[]):0!=v&&r.output.push(v)},flush:function(r){r.output&&0<r.output.length&&(F.print(nf(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,v){null===v||10===v?(F.printErr(nf(r.output,0)),r.output=[]):0!=v&&r.output.push(v)},flush:function(r){r.output&&0<r.output.length&&(F.printErr(nf(r.output,0)),r.output=[])}}},lc={ops_table:null,
-mount:function(r){return lc.createNode(null,"/",16895,0)},createNode:function(r,v,A,fa){if(D.isBlkdev(A)||D.isFIFO(A))throw new D.ErrnoError(ca.EPERM);lc.ops_table||(lc.ops_table={dir:{node:{getattr:lc.node_ops.getattr,setattr:lc.node_ops.setattr,lookup:lc.node_ops.lookup,mknod:lc.node_ops.mknod,rename:lc.node_ops.rename,unlink:lc.node_ops.unlink,rmdir:lc.node_ops.rmdir,readdir:lc.node_ops.readdir,symlink:lc.node_ops.symlink},stream:{llseek:lc.stream_ops.llseek}},file:{node:{getattr:lc.node_ops.getattr,
-setattr:lc.node_ops.setattr},stream:{llseek:lc.stream_ops.llseek,read:lc.stream_ops.read,write:lc.stream_ops.write,allocate:lc.stream_ops.allocate,mmap:lc.stream_ops.mmap,msync:lc.stream_ops.msync}},link:{node:{getattr:lc.node_ops.getattr,setattr:lc.node_ops.setattr,readlink:lc.node_ops.readlink},stream:{}},chrdev:{node:{getattr:lc.node_ops.getattr,setattr:lc.node_ops.setattr},stream:D.chrdev_stream_ops}});A=D.createNode(r,v,A,fa);D.isDir(A.mode)?(A.node_ops=lc.ops_table.dir.node,A.stream_ops=lc.ops_table.dir.stream,
-A.contents={}):D.isFile(A.mode)?(A.node_ops=lc.ops_table.file.node,A.stream_ops=lc.ops_table.file.stream,A.usedBytes=0,A.contents=null):D.isLink(A.mode)?(A.node_ops=lc.ops_table.link.node,A.stream_ops=lc.ops_table.link.stream):D.isChrdev(A.mode)&&(A.node_ops=lc.ops_table.chrdev.node,A.stream_ops=lc.ops_table.chrdev.stream);A.timestamp=Date.now();r&&(r.contents[v]=A);return A},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var v=[],A=0;A<r.usedBytes;++A)v.push(r.contents[A]);
-return v}return r.contents},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array},expandFileStorage:function(r,v){r.contents&&r.contents.subarray&&v>r.contents.length&&(r.contents=lc.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length);if(!r.contents||r.contents.subarray){var A=r.contents?r.contents.buffer.byteLength:0;A>=v||(v=Math.max(v,A*(1048576>A?2:1.125)|0),0!=A&&(v=Math.max(v,256)),A=r.contents,
-r.contents=new Uint8Array(v),0<r.usedBytes&&r.contents.set(A.subarray(0,r.usedBytes),0))}else for(!r.contents&&0<v&&(r.contents=[]);r.contents.length<v;)r.contents.push(0)},resizeFileStorage:function(r,v){if(r.usedBytes!=v)if(0==v)r.contents=null,r.usedBytes=0;else{if(!r.contents||r.contents.subarray){var A=r.contents;r.contents=new Uint8Array(new ArrayBuffer(v));A&&r.contents.set(A.subarray(0,Math.min(v,r.usedBytes)))}else if(r.contents||(r.contents=[]),r.contents.length>v)r.contents.length=v;else for(;r.contents.length<
-v;)r.contents.push(0);r.usedBytes=v}},node_ops:{getattr:function(r){var v={};v.dev=D.isChrdev(r.mode)?r.id:1;v.ino=r.id;v.mode=r.mode;v.nlink=1;v.uid=0;v.gid=0;v.rdev=r.rdev;D.isDir(r.mode)?v.size=4096:D.isFile(r.mode)?v.size=r.usedBytes:D.isLink(r.mode)?v.size=r.link.length:v.size=0;v.atime=new Date(r.timestamp);v.mtime=new Date(r.timestamp);v.ctime=new Date(r.timestamp);v.blksize=4096;v.blocks=Math.ceil(v.size/v.blksize);return v},setattr:function(r,v){void 0!==v.mode&&(r.mode=v.mode);void 0!==
-v.timestamp&&(r.timestamp=v.timestamp);void 0!==v.size&&lc.resizeFileStorage(r,v.size)},lookup:function(r,v){throw D.genericErrors[ca.ENOENT];},mknod:function(r,v,A,D){return lc.createNode(r,v,A,D)},rename:function(r,v,A){if(D.isDir(r.mode)){var fa;try{fa=D.lookupNode(v,A)}catch(F){}if(fa)for(var yc in fa.contents)throw new D.ErrnoError(ca.ENOTEMPTY);}delete r.parent.contents[r.name];r.name=A;v.contents[A]=r;r.parent=v},unlink:function(r,v){delete r.contents[v]},rmdir:function(r,v){var A=D.lookupNode(r,
-v),fa;for(fa in A.contents)throw new D.ErrnoError(ca.ENOTEMPTY);delete r.contents[v]},readdir:function(r){var v=[".",".."],A;for(A in r.contents)r.contents.hasOwnProperty(A)&&v.push(A);return v},symlink:function(r,v,A){r=lc.createNode(r,v,41471,0);r.link=A;return r},readlink:function(r){if(!D.isLink(r.mode))throw new D.ErrnoError(ca.EINVAL);return r.link}},stream_ops:{read:function(r,v,A,D,F){var aa=r.node.contents;if(F>=r.node.usedBytes)return 0;r=Math.min(r.node.usedBytes-F,D);fb(0<=r);if(8<r&&
-aa.subarray)v.set(aa.subarray(F,F+r),A);else for(D=0;D<r;D++)v[A+D]=aa[F+D];return r},write:function(r,v,A,D,F,aa){if(!D)return 0;r=r.node;r.timestamp=Date.now();if(v.subarray&&(!r.contents||r.contents.subarray)){if(aa)return r.contents=v.subarray(A,A+D),r.usedBytes=D;if(0===r.usedBytes&&0===F)return r.contents=new Uint8Array(v.subarray(A,A+D)),r.usedBytes=D;if(F+D<=r.usedBytes)return r.contents.set(v.subarray(A,A+D),F),D}lc.expandFileStorage(r,F+D);if(r.contents.subarray&&v.subarray)r.contents.set(v.subarray(A,
-A+D),F);else for(aa=0;aa<D;aa++)r.contents[F+aa]=v[A+aa];r.usedBytes=Math.max(r.usedBytes,F+D);return D},llseek:function(r,v,A){1===A?v+=r.position:2===A&&D.isFile(r.node.mode)&&(v+=r.node.usedBytes);if(0>v)throw new D.ErrnoError(ca.EINVAL);return v},allocate:function(r,v,A){lc.expandFileStorage(r.node,v+A);r.node.usedBytes=Math.max(r.node.usedBytes,v+A)},mmap:function(r,v,A,fa,F,aa,ya){if(!D.isFile(r.node.mode))throw new D.ErrnoError(ca.ENODEV);A=r.node.contents;if(ya&2||A.buffer!==v&&A.buffer!==
-v.buffer){if(0<F||F+fa<r.node.usedBytes)A=A.subarray?A.subarray(F,F+fa):Array.prototype.slice.call(A,F,F+fa);r=!0;fa=uf(fa);if(!fa)throw new D.ErrnoError(ca.ENOMEM);v.set(A,fa)}else r=!1,fa=A.byteOffset;return{ptr:fa,allocated:r}},msync:function(r,v,A,fa,F){if(!D.isFile(r.node.mode))throw new D.ErrnoError(ca.ENODEV);if(F&2)return 0;lc.stream_ops.write(r,v,0,fa,A,!1);return 0}}},Bc={dbs:{},indexedDB:function(){if("undefined"!==typeof indexedDB)return indexedDB;var r=null;"object"===typeof window&&
-(r=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB);fb(r,"IDBFS used, but indexedDB not supported");return r},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(r){return lc.mount.apply(null,arguments)},syncfs:function(r,v,A){Bc.getLocalSet(r,function(D,F){if(D)return A(D);Bc.getRemoteSet(r,function(r,D){if(r)return A(r);Bc.reconcile(v?D:F,v?F:D,A)})})},getDB:function(r,v){var A=Bc.dbs[r];if(A)return v(null,A);var D;try{D=Bc.indexedDB().open(r,Bc.DB_VERSION)}catch(F){return v(F)}D.onupgradeneeded=
-function(r){var v=r.target.result;r=r.target.transaction;v=v.objectStoreNames.contains(Bc.DB_STORE_NAME)?r.objectStore(Bc.DB_STORE_NAME):v.createObjectStore(Bc.DB_STORE_NAME);v.indexNames.contains("timestamp")||v.createIndex("timestamp","timestamp",{unique:!1})};D.onsuccess=function(){A=D.result;Bc.dbs[r]=A;v(null,A)};D.onerror=function(r){v(this.error);r.preventDefault()}},getLocalSet:function(r,v){function A(r){return"."!==r&&".."!==r}function fa(r){return function(v){return jc.join2(r,v)}}for(var F=
-{},aa=D.readdir(r.mountpoint).filter(A).map(fa(r.mountpoint));aa.length;){var ya=aa.pop(),S;try{S=D.stat(ya)}catch(ca){return v(ca)}D.isDir(S.mode)&&aa.push.apply(aa,D.readdir(ya).filter(A).map(fa(ya)));F[ya]={timestamp:S.mtime}}return v(null,{type:"local",entries:F})},getRemoteSet:function(r,v){var A={};Bc.getDB(r.mountpoint,function(r,D){if(r)return v(r);var F=D.transaction([Bc.DB_STORE_NAME],"readonly");F.onerror=function(r){v(this.error);r.preventDefault()};F.objectStore(Bc.DB_STORE_NAME).index("timestamp").openKeyCursor().onsuccess=
-function(r){r=r.target.result;if(!r)return v(null,{type:"remote",db:D,entries:A});A[r.primaryKey]={timestamp:r.key};r["continue"]()}})},loadLocalEntry:function(r,v){var A,fa;try{fa=D.lookupPath(r).node,A=D.stat(r)}catch(F){return v(F)}return D.isDir(A.mode)?v(null,{timestamp:A.mtime,mode:A.mode}):D.isFile(A.mode)?(fa.contents=lc.getFileDataAsTypedArray(fa),v(null,{timestamp:A.mtime,mode:A.mode,contents:fa.contents})):v(Error("node type not supported"))},storeLocalEntry:function(r,v,A){try{if(D.isDir(v.mode))D.mkdir(r,
-v.mode);else if(D.isFile(v.mode))D.writeFile(r,v.contents,{encoding:"binary",canOwn:!0});else return A(Error("node type not supported"));D.chmod(r,v.mode);D.utime(r,v.timestamp,v.timestamp)}catch(fa){return A(fa)}A(null)},removeLocalEntry:function(r,v){try{D.lookupPath(r);var A=D.stat(r);D.isDir(A.mode)?D.rmdir(r):D.isFile(A.mode)&&D.unlink(r)}catch(fa){return v(fa)}v(null)},loadRemoteEntry:function(r,v,A){r=r.get(v);r.onsuccess=function(r){A(null,r.target.result)};r.onerror=function(r){A(this.error);
-r.preventDefault()}},storeRemoteEntry:function(r,v,A,D){r=r.put(A,v);r.onsuccess=function(){D(null)};r.onerror=function(r){D(this.error);r.preventDefault()}},removeRemoteEntry:function(r,v,A){r=r["delete"](v);r.onsuccess=function(){A(null)};r.onerror=function(r){A(this.error);r.preventDefault()}},reconcile:function(r,v,A){function D(r){if(r){if(!D.errored)return D.errored=!0,A(r)}else if(++S>=F)return A(null)}var F=0,aa=[];Object.keys(r.entries).forEach(function(A){var D=r.entries[A],fa=v.entries[A];
-if(!fa||D.timestamp>fa.timestamp)aa.push(A),F++});var ya=[];Object.keys(v.entries).forEach(function(v){r.entries[v]||(ya.push(v),F++)});if(!F)return A(null);var S=0,ca=("remote"===r.type?r.db:v.db).transaction([Bc.DB_STORE_NAME],"readwrite"),Xd=ca.objectStore(Bc.DB_STORE_NAME);ca.onerror=function(r){D(this.error);r.preventDefault()};aa.sort().forEach(function(r){"local"===v.type?Bc.loadRemoteEntry(Xd,r,function(v,A){if(v)return D(v);Bc.storeLocalEntry(r,A,D)}):Bc.loadLocalEntry(r,function(v,A){if(v)return D(v);
-Bc.storeRemoteEntry(Xd,r,A,D)})});ya.sort().reverse().forEach(function(r){"local"===v.type?Bc.removeLocalEntry(r,D):Bc.removeRemoteEntry(Xd,r,D)})}},Wc={isWindows:!1,staticInit:function(){Wc.isWindows=!!process.platform.match(/^win/)},mount:function(r){fb(Bf);return Wc.createNode(null,"/",Wc.getMode(r.opts.root),0)},createNode:function(r,v,A,fa){if(!D.isDir(A)&&!D.isFile(A)&&!D.isLink(A))throw new D.ErrnoError(ca.EINVAL);r=D.createNode(r,v,A);r.node_ops=Wc.node_ops;r.stream_ops=Wc.stream_ops;return r},
-getMode:function(r){var v;try{v=cd.lstatSync(r),Wc.isWindows&&(v.mode|=(v.mode&146)>>1)}catch(A){if(!A.code)throw A;throw new D.ErrnoError(ca[A.code]);}return v.mode},realPath:function(r){for(var v=[];r.parent!==r;)v.push(r.name),r=r.parent;v.push(r.mount.opts.root);v.reverse();return jc.join.apply(null,v)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",
-1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(r){r&=-32769;if(r in Wc.flagsToPermissionStringMap)return Wc.flagsToPermissionStringMap[r];throw new D.ErrnoError(ca.EINVAL);},node_ops:{getattr:function(r){r=Wc.realPath(r);var v;try{v=cd.lstatSync(r)}catch(A){if(!A.code)throw A;throw new D.ErrnoError(ca[A.code]);}Wc.isWindows&&!v.blksize&&(v.blksize=4096);Wc.isWindows&&!v.blocks&&(v.blocks=(v.size+v.blksize-1)/v.blksize|0);return{dev:v.dev,ino:v.ino,mode:v.mode,
-nlink:v.nlink,uid:v.uid,gid:v.gid,rdev:v.rdev,size:v.size,atime:v.atime,mtime:v.mtime,ctime:v.ctime,blksize:v.blksize,blocks:v.blocks}},setattr:function(r,v){var A=Wc.realPath(r);try{void 0!==v.mode&&(cd.chmodSync(A,v.mode),r.mode=v.mode);if(void 0!==v.timestamp){var fa=new Date(v.timestamp);cd.utimesSync(A,fa,fa)}void 0!==v.size&&cd.truncateSync(A,v.size)}catch(F){if(!F.code)throw F;throw new D.ErrnoError(ca[F.code]);}},lookup:function(r,v){var A=jc.join2(Wc.realPath(r),v),A=Wc.getMode(A);return Wc.createNode(r,
-v,A)},mknod:function(r,v,A,fa){r=Wc.createNode(r,v,A,fa);v=Wc.realPath(r);try{D.isDir(r.mode)?cd.mkdirSync(v,r.mode):cd.writeFileSync(v,"",{mode:r.mode})}catch(F){if(!F.code)throw F;throw new D.ErrnoError(ca[F.code]);}return r},rename:function(r,v,A){r=Wc.realPath(r);v=jc.join2(Wc.realPath(v),A);try{cd.renameSync(r,v)}catch(fa){if(!fa.code)throw fa;throw new D.ErrnoError(ca[fa.code]);}},unlink:function(r,v){var A=jc.join2(Wc.realPath(r),v);try{cd.unlinkSync(A)}catch(fa){if(!fa.code)throw fa;throw new D.ErrnoError(ca[fa.code]);
-}},rmdir:function(r,v){var A=jc.join2(Wc.realPath(r),v);try{cd.rmdirSync(A)}catch(fa){if(!fa.code)throw fa;throw new D.ErrnoError(ca[fa.code]);}},readdir:function(r){r=Wc.realPath(r);try{return cd.readdirSync(r)}catch(v){if(!v.code)throw v;throw new D.ErrnoError(ca[v.code]);}},symlink:function(r,v,A){r=jc.join2(Wc.realPath(r),v);try{cd.symlinkSync(A,r)}catch(fa){if(!fa.code)throw fa;throw new D.ErrnoError(ca[fa.code]);}},readlink:function(r){var v=Wc.realPath(r);try{return v=cd.readlinkSync(v),v=
-Li.relative(Li.resolve(r.mount.opts.root),v)}catch(A){if(!A.code)throw A;throw new D.ErrnoError(ca[A.code]);}}},stream_ops:{open:function(r){var v=Wc.realPath(r.node);try{D.isFile(r.node.mode)&&(r.nfd=cd.openSync(v,Wc.flagsToPermissionString(r.flags)))}catch(A){if(!A.code)throw A;throw new D.ErrnoError(ca[A.code]);}},close:function(r){try{D.isFile(r.node.mode)&&r.nfd&&cd.closeSync(r.nfd)}catch(v){if(!v.code)throw v;throw new D.ErrnoError(ca[v.code]);}},read:function(r,v,A,fa,F){if(0===fa)return 0;
-var aa=new Buffer(fa),ya;try{ya=cd.readSync(r.nfd,aa,0,fa,F)}catch(S){throw new D.ErrnoError(ca[S.code]);}if(0<ya)for(r=0;r<ya;r++)v[A+r]=aa[r];return ya},write:function(r,v,A,fa,F){v=new Buffer(v.subarray(A,A+fa));var aa;try{aa=cd.writeSync(r.nfd,v,0,fa,F)}catch(ya){throw new D.ErrnoError(ca[ya.code]);}return aa},llseek:function(r,v,A){if(1===A)v+=r.position;else if(2===A&&D.isFile(r.node.mode))try{var fa=cd.fstatSync(r.nfd);v+=fa.size}catch(F){throw new D.ErrnoError(ca[F.code]);}if(0>v)throw new D.ErrnoError(ca.EINVAL);
-return v}}},sd={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(r){function v(r){r=r.split("/");for(var v=D,A=0;A<r.length-1;A++){var S=r.slice(0,A+1).join("/");F[S]||(F[S]=sd.createNode(v,S,sd.DIR_MODE,0));v=F[S]}return v}function A(r){r=r.split("/");return r[r.length-1]}fb(fg);sd.reader||(sd.reader=new FileReaderSync);var D=sd.createNode(null,"/",sd.DIR_MODE,0),F={};Array.prototype.forEach.call(r.opts.files||[],function(r){sd.createNode(v(r.name),A(r.name),sd.FILE_MODE,0,r,r.lastModifiedDate)});
-(r.opts.blobs||[]).forEach(function(r){sd.createNode(v(r.name),A(r.name),sd.FILE_MODE,0,r.data)});(r.opts.packages||[]).forEach(function(r){r.metadata.files.forEach(function(D){var fa=D.filename.substr(1);sd.createNode(v(fa),A(fa),sd.FILE_MODE,0,r.blob.slice(D.start,D.end))})});return D},createNode:function(r,v,A,fa,F,aa){fa=D.createNode(r,v,A);fa.mode=A;fa.node_ops=sd.node_ops;fa.stream_ops=sd.stream_ops;fa.timestamp=(aa||new Date).getTime();fb(sd.FILE_MODE!==sd.DIR_MODE);A===sd.FILE_MODE?(fa.size=
-F.size,fa.contents=F):(fa.size=4096,fa.contents={});r&&(r.contents[v]=fa);return fa},node_ops:{getattr:function(r){return{dev:1,ino:void 0,mode:r.mode,nlink:1,uid:0,gid:0,rdev:void 0,size:r.size,atime:new Date(r.timestamp),mtime:new Date(r.timestamp),ctime:new Date(r.timestamp),blksize:4096,blocks:Math.ceil(r.size/4096)}},setattr:function(r,v){void 0!==v.mode&&(r.mode=v.mode);void 0!==v.timestamp&&(r.timestamp=v.timestamp)},lookup:function(r,v){throw new D.ErrnoError(ca.ENOENT);},mknod:function(r,
-v,A,fa){throw new D.ErrnoError(ca.EPERM);},rename:function(r,v,A){throw new D.ErrnoError(ca.EPERM);},unlink:function(r,v){throw new D.ErrnoError(ca.EPERM);},rmdir:function(r,v){throw new D.ErrnoError(ca.EPERM);},readdir:function(r){throw new D.ErrnoError(ca.EPERM);},symlink:function(r,v,A){throw new D.ErrnoError(ca.EPERM);},readlink:function(r){throw new D.ErrnoError(ca.EPERM);}},stream_ops:{read:function(r,v,A,D,F){if(F>=r.node.size)return 0;r=r.node.contents.slice(F,F+D);D=sd.reader.readAsArrayBuffer(r);
-v.set(new Uint8Array(D),A);return r.size},write:function(r,v,A,fa,F){throw new D.ErrnoError(ca.EIO);},llseek:function(r,v,A){1===A?v+=r.position:2===A&&D.isFile(r.node.mode)&&(v+=r.node.size);if(0>v)throw new D.ErrnoError(ca.EINVAL);return v}}};vc(1,"i32*",2);vc(1,"i32*",2);vc(1,"i32*",2);var D={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},
-filesystems:null,handleFSError:function(r){if(!(r instanceof D.ErrnoError))throw r+" : "+wf();return eg(r.errno)},lookupPath:function(r,v){r=jc.resolve(D.cwd(),r);v=v||{};if(!r)return{path:"",node:null};var A={follow_mount:!0,recurse_count:0},fa;for(fa in A)void 0===v[fa]&&(v[fa]=A[fa]);if(8<v.recurse_count)throw new D.ErrnoError(ca.ELOOP);var A=jc.normalizeArray(r.split("/").filter(function(r){return!!r}),!1),F=D.root;fa="/";for(var aa=0;aa<A.length;aa++){var ya=aa===A.length-1;if(ya&&v.parent)break;
-F=D.lookupNode(F,A[aa]);fa=jc.join2(fa,A[aa]);D.isMountpoint(F)&&(!ya||ya&&v.follow_mount)&&(F=F.mounted.root);if(!ya||v.follow)for(ya=0;D.isLink(F.mode);)if(F=D.readlink(fa),fa=jc.resolve(jc.dirname(fa),F),F=D.lookupPath(fa,{recurse_count:v.recurse_count}).node,40<ya++)throw new D.ErrnoError(ca.ELOOP);}return{path:fa,node:F}},getPath:function(r){for(var v;;){if(D.isRoot(r))return r=r.mount.mountpoint,v?"/"!==r[r.length-1]?r+"/"+v:r+v:r;v=v?r.name+"/"+v:r.name;r=r.parent}},hashName:function(r,v){for(var A=
-0,fa=0;fa<v.length;fa++)A=(A<<5)-A+v.charCodeAt(fa)|0;return(r+A>>>0)%D.nameTable.length},hashAddNode:function(r){var v=D.hashName(r.parent.id,r.name);r.name_next=D.nameTable[v];D.nameTable[v]=r},hashRemoveNode:function(r){var v=D.hashName(r.parent.id,r.name);if(D.nameTable[v]===r)D.nameTable[v]=r.name_next;else for(v=D.nameTable[v];v;){if(v.name_next===r){v.name_next=r.name_next;break}v=v.name_next}},lookupNode:function(r,v){var A=D.mayLookup(r);if(A)throw new D.ErrnoError(A,r);A=D.hashName(r.id,
-v);for(A=D.nameTable[A];A;A=A.name_next){var fa=A.name;if(A.parent.id===r.id&&fa===v)return A}return D.lookup(r,v)},createNode:function(r,v,A,fa){D.FSNode||(D.FSNode=function(r,v,A,fa){r||(r=this);this.parent=r;this.mount=r.mount;this.mounted=null;this.id=D.nextInode++;this.name=v;this.mode=A;this.node_ops={};this.stream_ops={};this.rdev=fa},D.FSNode.prototype={},Object.defineProperties(D.FSNode.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(r){r?this.mode|=365:this.mode&=
--366}},write:{get:function(){return 146===(this.mode&146)},set:function(r){r?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return D.isDir(this.mode)}},isDevice:{get:function(){return D.isChrdev(this.mode)}}}));r=new D.FSNode(r,v,A,fa);D.hashAddNode(r);return r},destroyNode:function(r){D.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return 32768===(r&61440)},isDir:function(r){return 16384===(r&61440)},isLink:function(r){return 40960===
-(r&61440)},isChrdev:function(r){return 8192===(r&61440)},isBlkdev:function(r){return 24576===(r&61440)},isFIFO:function(r){return 4096===(r&61440)},isSocket:function(r){return 49152===(r&49152)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(r){var v=D.flagModes[r];if("undefined"===typeof v)throw Error("Unknown file open mode: "+r);return v},flagsToPermissionString:function(r){var v=
-["r","w","rw"][r&3];r&512&&(v+="w");return v},nodePermissions:function(r,v){if(D.ignorePermissions)return 0;if(-1===v.indexOf("r")||r.mode&292){if(-1!==v.indexOf("w")&&!(r.mode&146)||-1!==v.indexOf("x")&&!(r.mode&73))return ca.EACCES}else return ca.EACCES;return 0},mayLookup:function(r){var v=D.nodePermissions(r,"x");return v?v:r.node_ops.lookup?0:ca.EACCES},mayCreate:function(r,v){try{return D.lookupNode(r,v),ca.EEXIST}catch(A){}return D.nodePermissions(r,"wx")},mayDelete:function(r,v,A){var fa;
-try{fa=D.lookupNode(r,v)}catch(F){return F.errno}if(r=D.nodePermissions(r,"wx"))return r;if(A){if(!D.isDir(fa.mode))return ca.ENOTDIR;if(D.isRoot(fa)||D.getPath(fa)===D.cwd())return ca.EBUSY}else if(D.isDir(fa.mode))return ca.EISDIR;return 0},mayOpen:function(r,v){return r?D.isLink(r.mode)?ca.ELOOP:D.isDir(r.mode)&&(0!==(v&2097155)||v&512)?ca.EISDIR:D.nodePermissions(r,D.flagsToPermissionString(v)):ca.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,v){v=v||D.MAX_OPEN_FDS;for(var A=r||0;A<=v;A++)if(!D.streams[A])return A;
-throw new D.ErrnoError(ca.EMFILE);},getStream:function(r){return D.streams[r]},createStream:function(r,v,A){D.FSStream||(D.FSStream=function(){},D.FSStream.prototype={},Object.defineProperties(D.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!==(this.flags&2097155)}},isWrite:{get:function(){return 0!==(this.flags&2097155)}},isAppend:{get:function(){return this.flags&1024}}}));var fa=new D.FSStream,F;for(F in r)fa[F]=r[F];r=
-fa;v=D.nextfd(v,A);r.fd=v;return D.streams[v]=r},closeStream:function(r){D.streams[r]=null},chrdev_stream_ops:{open:function(r){var v=D.getDevice(r.node.rdev);r.stream_ops=v.stream_ops;r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new D.ErrnoError(ca.ESPIPE);}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,v){return r<<8|v},registerDevice:function(r,v){D.devices[r]={stream_ops:v}},getDevice:function(r){return D.devices[r]},getMounts:function(r){var v=
-[];for(r=[r];r.length;){var A=r.pop();v.push(A);r.push.apply(r,A.mounts)}return v},syncfs:function(r,v){function A(r){if(r){if(!A.errored)return A.errored=!0,v(r)}else++F>=fa.length&&v(null)}"function"===typeof r&&(v=r,r=!1);var fa=D.getMounts(D.root.mount),F=0;fa.forEach(function(v){if(!v.type.syncfs)return A(null);v.type.syncfs(v,r,A)})},mount:function(r,v,A){var fa="/"===A,F=!A,aa;if(fa&&D.root)throw new D.ErrnoError(ca.EBUSY);if(!fa&&!F){aa=D.lookupPath(A,{follow_mount:!1});A=aa.path;aa=aa.node;
-if(D.isMountpoint(aa))throw new D.ErrnoError(ca.EBUSY);if(!D.isDir(aa.mode))throw new D.ErrnoError(ca.ENOTDIR);}v={type:r,opts:v,mountpoint:A,mounts:[]};r=r.mount(v);r.mount=v;v.root=r;fa?D.root=r:aa&&(aa.mounted=v,aa.mount&&aa.mount.mounts.push(v));return r},unmount:function(r){r=D.lookupPath(r,{follow_mount:!1});if(!D.isMountpoint(r.node))throw new D.ErrnoError(ca.EINVAL);r=r.node;var v=r.mounted,A=D.getMounts(v);Object.keys(D.nameTable).forEach(function(r){for(r=D.nameTable[r];r;){var v=r.name_next;
--1!==A.indexOf(r.mount)&&D.destroyNode(r);r=v}});r.mounted=null;v=r.mount.mounts.indexOf(v);fb(-1!==v);r.mount.mounts.splice(v,1)},lookup:function(r,v){return r.node_ops.lookup(r,v)},mknod:function(r,v,A){var fa=D.lookupPath(r,{parent:!0}).node;r=jc.basename(r);if(!r||"."===r||".."===r)throw new D.ErrnoError(ca.EINVAL);var F=D.mayCreate(fa,r);if(F)throw new D.ErrnoError(F);if(!fa.node_ops.mknod)throw new D.ErrnoError(ca.EPERM);return fa.node_ops.mknod(fa,r,v,A)},create:function(r,v){return D.mknod(r,
-(void 0!==v?v:438)&4095|32768,0)},mkdir:function(r,v){return D.mknod(r,(void 0!==v?v:511)&1023|16384,0)},mkdev:function(r,v,A){"undefined"===typeof A&&(A=v,v=438);return D.mknod(r,v|8192,A)},symlink:function(r,v){if(!jc.resolve(r))throw new D.ErrnoError(ca.ENOENT);var A=D.lookupPath(v,{parent:!0}).node;if(!A)throw new D.ErrnoError(ca.ENOENT);var fa=jc.basename(v),F=D.mayCreate(A,fa);if(F)throw new D.ErrnoError(F);if(!A.node_ops.symlink)throw new D.ErrnoError(ca.EPERM);return A.node_ops.symlink(A,
-fa,r)},rename:function(r,v){var A=jc.dirname(r),fa=jc.dirname(v),F=jc.basename(r),aa=jc.basename(v),ya,S,ra;try{ya=D.lookupPath(r,{parent:!0}),S=ya.node,ya=D.lookupPath(v,{parent:!0}),ra=ya.node}catch(Ka){throw new D.ErrnoError(ca.EBUSY);}if(!S||!ra)throw new D.ErrnoError(ca.ENOENT);if(S.mount!==ra.mount)throw new D.ErrnoError(ca.EXDEV);ya=D.lookupNode(S,F);fa=jc.relative(r,fa);if("."!==fa.charAt(0))throw new D.ErrnoError(ca.EINVAL);fa=jc.relative(v,A);if("."!==fa.charAt(0))throw new D.ErrnoError(ca.ENOTEMPTY);
-var Xd;try{Xd=D.lookupNode(ra,aa)}catch(Ka){}if(ya!==Xd){A=D.isDir(ya.mode);if(F=D.mayDelete(S,F,A))throw new D.ErrnoError(F);if(F=Xd?D.mayDelete(ra,aa,A):D.mayCreate(ra,aa))throw new D.ErrnoError(F);if(!S.node_ops.rename)throw new D.ErrnoError(ca.EPERM);if(D.isMountpoint(ya)||Xd&&D.isMountpoint(Xd))throw new D.ErrnoError(ca.EBUSY);if(ra!==S&&(F=D.nodePermissions(S,"w")))throw new D.ErrnoError(F);try{D.trackingDelegate.willMovePath&&D.trackingDelegate.willMovePath(r,v)}catch(Ka){console.log("FS.trackingDelegate['willMovePath']('"+
-r+"', '"+v+"') threw an exception: "+Ka.message)}D.hashRemoveNode(ya);try{S.node_ops.rename(ya,ra,aa)}catch(Ka){throw Ka;}finally{D.hashAddNode(ya)}try{if(D.trackingDelegate.onMovePath)D.trackingDelegate.onMovePath(r,v)}catch(Ka){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+v+"') threw an exception: "+Ka.message)}}},rmdir:function(r){var v=D.lookupPath(r,{parent:!0}).node,A=jc.basename(r),fa=D.lookupNode(v,A),F=D.mayDelete(v,A,!0);if(F)throw new D.ErrnoError(F);if(!v.node_ops.rmdir)throw new D.ErrnoError(ca.EPERM);
-if(D.isMountpoint(fa))throw new D.ErrnoError(ca.EBUSY);try{D.trackingDelegate.willDeletePath&&D.trackingDelegate.willDeletePath(r)}catch(aa){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+aa.message)}v.node_ops.rmdir(v,A);D.destroyNode(fa);try{if(D.trackingDelegate.onDeletePath)D.trackingDelegate.onDeletePath(r)}catch(aa){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+aa.message)}},readdir:function(r){r=D.lookupPath(r,{follow:!0}).node;
-if(!r.node_ops.readdir)throw new D.ErrnoError(ca.ENOTDIR);return r.node_ops.readdir(r)},unlink:function(r){var v=D.lookupPath(r,{parent:!0}).node,A=jc.basename(r),F=D.lookupNode(v,A),yc=D.mayDelete(v,A,!1);if(yc)throw yc===ca.EISDIR&&(yc=ca.EPERM),new D.ErrnoError(yc);if(!v.node_ops.unlink)throw new D.ErrnoError(ca.EPERM);if(D.isMountpoint(F))throw new D.ErrnoError(ca.EBUSY);try{D.trackingDelegate.willDeletePath&&D.trackingDelegate.willDeletePath(r)}catch(aa){console.log("FS.trackingDelegate['willDeletePath']('"+
-r+"') threw an exception: "+aa.message)}v.node_ops.unlink(v,A);D.destroyNode(F);try{if(D.trackingDelegate.onDeletePath)D.trackingDelegate.onDeletePath(r)}catch(aa){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+aa.message)}},readlink:function(r){r=D.lookupPath(r).node;if(!r)throw new D.ErrnoError(ca.ENOENT);if(!r.node_ops.readlink)throw new D.ErrnoError(ca.EINVAL);return jc.resolve(D.getPath(r.parent),r.node_ops.readlink(r))},stat:function(r,v){var A=D.lookupPath(r,
-{follow:!v}).node;if(!A)throw new D.ErrnoError(ca.ENOENT);if(!A.node_ops.getattr)throw new D.ErrnoError(ca.EPERM);return A.node_ops.getattr(A)},lstat:function(r){return D.stat(r,!0)},chmod:function(r,v,A){r="string"===typeof r?D.lookupPath(r,{follow:!A}).node:r;if(!r.node_ops.setattr)throw new D.ErrnoError(ca.EPERM);r.node_ops.setattr(r,{mode:v&4095|r.mode&-4096,timestamp:Date.now()})},lchmod:function(r,v){D.chmod(r,v,!0)},fchmod:function(r,v){var A=D.getStream(r);if(!A)throw new D.ErrnoError(ca.EBADF);
-D.chmod(A.node,v)},chown:function(r,v,A,F){r="string"===typeof r?D.lookupPath(r,{follow:!F}).node:r;if(!r.node_ops.setattr)throw new D.ErrnoError(ca.EPERM);r.node_ops.setattr(r,{timestamp:Date.now()})},lchown:function(r,v,A){D.chown(r,v,A,!0)},fchown:function(r,v,A){r=D.getStream(r);if(!r)throw new D.ErrnoError(ca.EBADF);D.chown(r.node,v,A)},truncate:function(r,v){if(0>v)throw new D.ErrnoError(ca.EINVAL);var A;A="string"===typeof r?D.lookupPath(r,{follow:!0}).node:r;if(!A.node_ops.setattr)throw new D.ErrnoError(ca.EPERM);
-if(D.isDir(A.mode))throw new D.ErrnoError(ca.EISDIR);if(!D.isFile(A.mode))throw new D.ErrnoError(ca.EINVAL);var F=D.nodePermissions(A,"w");if(F)throw new D.ErrnoError(F);A.node_ops.setattr(A,{size:v,timestamp:Date.now()})},ftruncate:function(r,v){var A=D.getStream(r);if(!A)throw new D.ErrnoError(ca.EBADF);if(0===(A.flags&2097155))throw new D.ErrnoError(ca.EINVAL);D.truncate(A.node,v)},utime:function(r,v,A){r=D.lookupPath(r,{follow:!0}).node;r.node_ops.setattr(r,{timestamp:Math.max(v,A)})},open:function(r,
-v,A,fa,yc){if(""===r)throw new D.ErrnoError(ca.ENOENT);v="string"===typeof v?D.modeStringToFlags(v):v;A=v&64?("undefined"===typeof A?438:A)&4095|32768:0;var aa;if("object"===typeof r)aa=r;else{r=jc.normalize(r);try{aa=D.lookupPath(r,{follow:!(v&131072)}).node}catch(S){}}var ya=!1;if(v&64)if(aa){if(v&128)throw new D.ErrnoError(ca.EEXIST);}else aa=D.mknod(r,A,0),ya=!0;if(!aa)throw new D.ErrnoError(ca.ENOENT);D.isChrdev(aa.mode)&&(v&=-513);if(v&65536&&!D.isDir(aa.mode))throw new D.ErrnoError(ca.ENOTDIR);
-if(!ya&&(A=D.mayOpen(aa,v)))throw new D.ErrnoError(A);v&512&&D.truncate(aa,0);v&=-641;fa=D.createStream({node:aa,path:D.getPath(aa),flags:v,seekable:!0,position:0,stream_ops:aa.stream_ops,ungotten:[],error:!1},fa,yc);fa.stream_ops.open&&fa.stream_ops.open(fa);!F.logReadFiles||v&1||(D.readFiles||(D.readFiles={}),r in D.readFiles||(D.readFiles[r]=1,F.printErr("read file: "+r)));try{D.trackingDelegate.onOpenFile&&(yc=0,1!==(v&2097155)&&(yc|=D.tracking.openFlags.READ),0!==(v&2097155)&&(yc|=D.tracking.openFlags.WRITE),
-D.trackingDelegate.onOpenFile(r,yc))}catch(S){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+S.message)}return fa},close:function(r){r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(v){throw v;}finally{D.closeStream(r.fd)}},llseek:function(r,v,A){if(!r.seekable||!r.stream_ops.llseek)throw new D.ErrnoError(ca.ESPIPE);r.position=r.stream_ops.llseek(r,v,A);r.ungotten=[];return r.position},read:function(r,v,A,F,S){if(0>F||0>S)throw new D.ErrnoError(ca.EINVAL);
-if(1===(r.flags&2097155))throw new D.ErrnoError(ca.EBADF);if(D.isDir(r.node.mode))throw new D.ErrnoError(ca.EISDIR);if(!r.stream_ops.read)throw new D.ErrnoError(ca.EINVAL);var aa=!0;if("undefined"===typeof S)S=r.position,aa=!1;else if(!r.seekable)throw new D.ErrnoError(ca.ESPIPE);v=r.stream_ops.read(r,v,A,F,S);aa||(r.position+=v);return v},write:function(r,v,A,F,S,aa){if(0>F||0>S)throw new D.ErrnoError(ca.EINVAL);if(0===(r.flags&2097155))throw new D.ErrnoError(ca.EBADF);if(D.isDir(r.node.mode))throw new D.ErrnoError(ca.EISDIR);
-if(!r.stream_ops.write)throw new D.ErrnoError(ca.EINVAL);r.flags&1024&&D.llseek(r,0,2);var ya=!0;if("undefined"===typeof S)S=r.position,ya=!1;else if(!r.seekable)throw new D.ErrnoError(ca.ESPIPE);v=r.stream_ops.write(r,v,A,F,S,aa);ya||(r.position+=v);try{if(r.path&&D.trackingDelegate.onWriteToFile)D.trackingDelegate.onWriteToFile(r.path)}catch(ra){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+ra.message)}return v},allocate:function(r,v,A){if(0>v||0>=A)throw new D.ErrnoError(ca.EINVAL);
-if(0===(r.flags&2097155))throw new D.ErrnoError(ca.EBADF);if(!D.isFile(r.node.mode)&&!D.isDir(node.mode))throw new D.ErrnoError(ca.ENODEV);if(!r.stream_ops.allocate)throw new D.ErrnoError(ca.EOPNOTSUPP);r.stream_ops.allocate(r,v,A)},mmap:function(r,v,A,F,S,aa,ya){if(1===(r.flags&2097155))throw new D.ErrnoError(ca.EACCES);if(!r.stream_ops.mmap)throw new D.ErrnoError(ca.ENODEV);return r.stream_ops.mmap(r,v,A,F,S,aa,ya)},msync:function(r,v,A,D,F){return r&&r.stream_ops.msync?r.stream_ops.msync(r,v,A,
-D,F):0},munmap:function(r){return 0},ioctl:function(r,v,A){if(!r.stream_ops.ioctl)throw new D.ErrnoError(ca.ENOTTY);return r.stream_ops.ioctl(r,v,A)},readFile:function(r,v){v=v||{};v.flags=v.flags||"r";v.encoding=v.encoding||"binary";if("utf8"!==v.encoding&&"binary"!==v.encoding)throw Error('Invalid encoding type "'+v.encoding+'"');var A,F=D.open(r,v.flags),S=D.stat(r).size,aa=new Uint8Array(S);D.read(F,aa,0,S,0);"utf8"===v.encoding?A=nf(aa,0):"binary"===v.encoding&&(A=aa);D.close(F);return A},writeFile:function(r,
-v,A){A=A||{};A.flags=A.flags||"w";A.encoding=A.encoding||"utf8";if("utf8"!==A.encoding&&"binary"!==A.encoding)throw Error('Invalid encoding type "'+A.encoding+'"');r=D.open(r,A.flags,A.mode);if("utf8"===A.encoding){var F=new Uint8Array(lg(v)+1);v=Ug(v,F,0,F.length);D.write(r,F,0,v,0,A.canOwn)}else"binary"===A.encoding&&D.write(r,v,0,v.length,0,A.canOwn);D.close(r)},cwd:function(){return D.currentPath},chdir:function(r){r=D.lookupPath(r,{follow:!0});if(!D.isDir(r.node.mode))throw new D.ErrnoError(ca.ENOTDIR);
-var v=D.nodePermissions(r.node,"x");if(v)throw new D.ErrnoError(v);D.currentPath=r.path},createDefaultDirectories:function(){D.mkdir("/tmp");D.mkdir("/home");D.mkdir("/home/web_user")},createDefaultDevices:function(){D.mkdir("/dev");D.registerDevice(D.makedev(1,3),{read:function(){return 0},write:function(r,v,D,F,S){return F}});D.mkdev("/dev/null",D.makedev(1,3));ye.register(D.makedev(5,0),ye.default_tty_ops);ye.register(D.makedev(6,0),ye.default_tty1_ops);D.mkdev("/dev/tty",D.makedev(5,0));D.mkdev("/dev/tty1",
-D.makedev(6,0));var r;if("undefined"!==typeof crypto){var v=new Uint8Array(1);r=function(){crypto.getRandomValues(v);return v[0]}}else r=Bf?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};D.createDevice("/dev","random",r);D.createDevice("/dev","urandom",r);D.mkdir("/dev/shm");D.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){D.mkdir("/proc");D.mkdir("/proc/self");D.mkdir("/proc/self/fd");D.mount({mount:function(){var r=D.createNode("/proc/self",
-"fd",16895,73);r.node_ops={lookup:function(r,A){var F=D.getStream(+A);if(!F)throw new D.ErrnoError(ca.EBADF);var S={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return F.path}}};return S.parent=S}};return r}},{},"/proc/self/fd")},createStandardStreams:function(){F.stdin?D.createDevice("/dev","stdin",F.stdin):D.symlink("/dev/tty","/dev/stdin");F.stdout?D.createDevice("/dev","stdout",null,F.stdout):D.symlink("/dev/tty","/dev/stdout");F.stderr?D.createDevice("/dev","stderr",null,
-F.stderr):D.symlink("/dev/tty1","/dev/stderr");var r=D.open("/dev/stdin","r");fb(0===r.fd,"invalid handle for stdin ("+r.fd+")");r=D.open("/dev/stdout","w");fb(1===r.fd,"invalid handle for stdout ("+r.fd+")");r=D.open("/dev/stderr","w");fb(2===r.fd,"invalid handle for stderr ("+r.fd+")")},ensureErrnoError:function(){D.ErrnoError||(D.ErrnoError=function(r,v){this.node=v;this.setErrno=function(r){this.errno=r;for(var v in ca)if(ca[v]===r){this.code=v;break}};this.setErrno(r);this.message=Kj[r]},D.ErrnoError.prototype=
-Error(),D.ErrnoError.prototype.constructor=D.ErrnoError,[ca.ENOENT].forEach(function(r){D.genericErrors[r]=new D.ErrnoError(r);D.genericErrors[r].stack="<generic error, no stack>"}))},staticInit:function(){D.ensureErrnoError();D.nameTable=Array(4096);D.mount(lc,{},"/");D.createDefaultDirectories();D.createDefaultDevices();D.createSpecialDirectories();D.filesystems={MEMFS:lc,IDBFS:Bc,NODEFS:Wc,WORKERFS:sd}},init:function(r,v,A){fb(!D.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");
-D.init.initialized=!0;D.ensureErrnoError();F.stdin=r||F.stdin;F.stdout=v||F.stdout;F.stderr=A||F.stderr;D.createStandardStreams()},quit:function(){D.init.initialized=!1;var r=F._fflush;r&&r(0);for(r=0;r<D.streams.length;r++){var v=D.streams[r];v&&D.close(v)}},getMode:function(r,v){var A=0;r&&(A|=365);v&&(A|=146);return A},joinPath:function(r,v){var A=jc.join.apply(null,r);v&&"/"==A[0]&&(A=A.substr(1));return A},absolutePath:function(r,v){return jc.resolve(v,r)},standardizePath:function(r){return jc.normalize(r)},
-findObject:function(r,v){var A=D.analyzePath(r,v);if(A.exists)return A.object;eg(A.error);return null},analyzePath:function(r,v){try{var A=D.lookupPath(r,{follow:!v});r=A.path}catch(F){}var fa={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{A=D.lookupPath(r,{parent:!0}),fa.parentExists=!0,fa.parentPath=A.path,fa.parentObject=A.node,fa.name=jc.basename(r),A=D.lookupPath(r,{follow:!v}),fa.exists=!0,fa.path=A.path,fa.object=A.node,fa.name=
-A.node.name,fa.isRoot="/"===A.path}catch(F){fa.error=F.errno}return fa},createFolder:function(r,v,A,F){r=jc.join2("string"===typeof r?r:D.getPath(r),v);A=D.getMode(A,F);return D.mkdir(r,A)},createPath:function(r,v,A,F){r="string"===typeof r?r:D.getPath(r);for(v=v.split("/").reverse();v.length;)if(A=v.pop()){var S=jc.join2(r,A);try{D.mkdir(S)}catch(aa){}r=S}return S},createFile:function(r,v,A,F,S){r=jc.join2("string"===typeof r?r:D.getPath(r),v);F=D.getMode(F,S);return D.create(r,F)},createDataFile:function(r,
-v,A,F,S,aa){r=v?jc.join2("string"===typeof r?r:D.getPath(r),v):r;F=D.getMode(F,S);S=D.create(r,F);if(A){if("string"===typeof A){r=Array(A.length);v=0;for(var ya=A.length;v<ya;++v)r[v]=A.charCodeAt(v);A=r}D.chmod(S,F|146);r=D.open(S,"w");D.write(r,A,0,A.length,0,aa);D.close(r);D.chmod(S,F)}return S},createDevice:function(r,v,A,F){r=jc.join2("string"===typeof r?r:D.getPath(r),v);v=D.getMode(!!A,!!F);D.createDevice.major||(D.createDevice.major=64);var S=D.makedev(D.createDevice.major++,0);D.registerDevice(S,
-{open:function(r){r.seekable=!1},close:function(r){F&&F.buffer&&F.buffer.length&&F(10)},read:function(r,v,F,fa,S){for(var yc=S=0;yc<fa;yc++){var ra;try{ra=A()}catch(Y){throw new D.ErrnoError(ca.EIO);}if(void 0===ra&&0===S)throw new D.ErrnoError(ca.EAGAIN);if(null===ra||void 0===ra)break;S++;v[F+yc]=ra}S&&(r.node.timestamp=Date.now());return S},write:function(r,v,A,S,yc){for(yc=0;yc<S;yc++)try{F(v[A+yc])}catch(ra){throw new D.ErrnoError(ca.EIO);}S&&(r.node.timestamp=Date.now());return yc}});return D.mkdev(r,
-v,S)},createLink:function(r,v,A,F,S){r=jc.join2("string"===typeof r?r:D.getPath(r),v);return D.symlink(A,r)},forceLoadFile:function(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;var v=!0;if("undefined"!==typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(F.read)try{r.contents=yf(F.read(r.url),!0),r.usedBytes=
-r.contents.length}catch(A){v=!1}else throw Error("Cannot load without read() or XMLHttpRequest.");v||eg(ca.EIO);return v},createLazyFile:function(r,v,A,F,S){function aa(){this.lengthKnown=!1;this.chunks=[]}aa.prototype.get=function(r){if(!(r>this.length-1||0>r)){var v=r%this.chunkSize;return this.getter(r/this.chunkSize|0)[v]}};aa.prototype.setDataGetter=function(r){this.getter=r};aa.prototype.cacheLength=function(){var r=new XMLHttpRequest;r.open("HEAD",A,!1);r.send(null);if(!(200<=r.status&&300>
-r.status||304===r.status))throw Error("Couldn't load "+A+". Status: "+r.status);var v=Number(r.getResponseHeader("Content-length")),D,F=1048576;(D=r.getResponseHeader("Accept-Ranges"))&&"bytes"===D||(F=v);var fa=this;fa.setDataGetter(function(r){var D=r*F,S=(r+1)*F-1,S=Math.min(S,v-1);if("undefined"===typeof fa.chunks[r]){var aa=fa.chunks;if(D>S)throw Error("invalid range ("+D+", "+S+") or no bytes requested!");if(S>v-1)throw Error("only "+v+" bytes available! programmer error!");var ya=new XMLHttpRequest;
-ya.open("GET",A,!1);v!==F&&ya.setRequestHeader("Range","bytes="+D+"-"+S);"undefined"!=typeof Uint8Array&&(ya.responseType="arraybuffer");ya.overrideMimeType&&ya.overrideMimeType("text/plain; charset=x-user-defined");ya.send(null);if(!(200<=ya.status&&300>ya.status||304===ya.status))throw Error("Couldn't load "+A+". Status: "+ya.status);D=void 0!==ya.response?new Uint8Array(ya.response||[]):yf(ya.responseText||"",!0);aa[r]=D}if("undefined"===typeof fa.chunks[r])throw Error("doXHR failed!");return fa.chunks[r]});
-this._length=v;this._chunkSize=F;this.lengthKnown=!0};if("undefined"!==typeof XMLHttpRequest){if(!fg)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var ya=new aa;Object.defineProperty(ya,"length",{get:function(){this.lengthKnown||this.cacheLength();return this._length}});Object.defineProperty(ya,"chunkSize",{get:function(){this.lengthKnown||this.cacheLength();return this._chunkSize}});ya={isDevice:!1,contents:ya}}else ya=
-{isDevice:!1,url:A};var ra=D.createFile(r,v,ya,F,S);ya.contents?ra.contents=ya.contents:ya.url&&(ra.contents=null,ra.url=ya.url);Object.defineProperty(ra,"usedBytes",{get:function(){return this.contents.length}});var Ka={};Object.keys(ra.stream_ops).forEach(function(r){var v=ra.stream_ops[r];Ka[r]=function(){if(!D.forceLoadFile(ra))throw new D.ErrnoError(ca.EIO);return v.apply(null,arguments)}});Ka.read=function(r,v,A,F,fa){if(!D.forceLoadFile(ra))throw new D.ErrnoError(ca.EIO);r=r.node.contents;
-if(fa>=r.length)return 0;F=Math.min(r.length-fa,F);fb(0<=F);if(r.slice)for(var S=0;S<F;S++)v[A+S]=r[fa+S];else for(S=0;S<F;S++)v[A+S]=r.get(fa+S);return F};ra.stream_ops=Ka;return ra},createPreloadedFile:function(r,v,A,fa,yc,aa,ya,ca,ra,Ka){function ab(A){function S(A){Ka&&Ka();ca||D.createDataFile(r,v,A,fa,yc,ra);aa&&aa();ng(Y)}var Lb=!1;F.preloadPlugins.forEach(function(r){!Lb&&r.canHandle(fb)&&(r.handle(A,fb,S,function(){ya&&ya();ng(Y)}),Lb=!0)});Lb||S(A)}S.init();var fb=v?jc.resolve(jc.join2(r,
-v)):r,Y="cp "+fb;Yg(Y);"string"==typeof A?S.asyncLoad(A,function(r){ab(r)},ya):ab(A)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(r,v,A){v=v||function(){};A=A||function(){};var F=D.indexedDB();try{var S=F.open(D.DB_NAME(),D.DB_VERSION)}catch(aa){return A(aa)}S.onupgradeneeded=function(){console.log("creating db");
-S.result.createObjectStore(D.DB_STORE_NAME)};S.onsuccess=function(){var F=S.result.transaction([D.DB_STORE_NAME],"readwrite"),fa=F.objectStore(D.DB_STORE_NAME),ca=0,ra=0,Ka=r.length;r.forEach(function(r){r=fa.put(D.analyzePath(r).object.contents,r);r.onsuccess=function(){ca++;ca+ra==Ka&&(0==ra?v():A())};r.onerror=function(){ra++;ca+ra==Ka&&(0==ra?v():A())}});F.onerror=A};S.onerror=A},loadFilesFromDB:function(r,v,A){v=v||function(){};A=A||function(){};var F=D.indexedDB();try{var S=F.open(D.DB_NAME(),
-D.DB_VERSION)}catch(aa){return A(aa)}S.onupgradeneeded=A;S.onsuccess=function(){var F=S.result;try{var fa=F.transaction([D.DB_STORE_NAME],"readonly")}catch(ca){A(ca);return}var ra=fa.objectStore(D.DB_STORE_NAME),Ka=0,ab=0,fb=r.length;r.forEach(function(r){var F=ra.get(r);F.onsuccess=function(){D.analyzePath(r).exists&&D.unlink(r);D.createDataFile(jc.dirname(r),jc.basename(r),F.result,!0,!0,!0);Ka++;Ka+ab==fb&&(0==ab?v():A())};F.onerror=function(){ab++;Ka+ab==fb&&(0==ab?v():A())}});fa.onerror=A};S.onerror=
-A}};F.FS=D;var jc={splitPath:function(r){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1)},normalizeArray:function(r,v){for(var A=0,D=r.length-1;0<=D;D--){var F=r[D];"."===F?r.splice(D,1):".."===F?(r.splice(D,1),A++):A&&(r.splice(D,1),A--)}if(v)for(;A--;A)r.unshift("..");return r},normalize:function(r){var v="/"===r.charAt(0),A="/"===r.substr(-1);(r=jc.normalizeArray(r.split("/").filter(function(r){return!!r}),!v).join("/"))||v||(r=".");r&&A&&(r+="/");return(v?
-"/":"")+r},dirname:function(r){var v=jc.splitPath(r);r=v[0];v=v[1];if(!r&&!v)return".";v&&(v=v.substr(0,v.length-1));return r+v},basename:function(r){if("/"===r)return"/";var v=r.lastIndexOf("/");return-1===v?r:r.substr(v+1)},extname:function(r){return jc.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return jc.normalize(r.join("/"))},join2:function(r,v){return jc.normalize(r+"/"+v)},resolve:function(){for(var r="",v=!1,A=arguments.length-1;-1<=A&&!v;A--){v=0<=A?arguments[A]:
-D.cwd();if("string"!==typeof v)throw new TypeError("Arguments to path.resolve must be strings");if(!v)return"";r=v+"/"+r;v="/"===v.charAt(0)}r=jc.normalizeArray(r.split("/").filter(function(r){return!!r}),!v).join("/");return(v?"/":"")+r||"."},relative:function(r,v){function A(r){for(var v=0;v<r.length&&""===r[v];v++);for(var A=r.length-1;0<=A&&""===r[A];A--);return v>A?[]:r.slice(v,A-v+1)}r=jc.resolve(r).substr(1);v=jc.resolve(v).substr(1);for(var D=A(r.split("/")),F=A(v.split("/")),S=Math.min(D.length,
-F.length),ya=S,ca=0;ca<S;ca++)if(D[ca]!==F[ca]){ya=ca;break}S=[];for(ca=ya;ca<D.length;ca++)S.push("..");S=S.concat(F.slice(ya));return S.join("/")}},S={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){S.mainLoop.scheduler=null;S.mainLoop.currentlyRunningMainloop++},resume:function(){S.mainLoop.currentlyRunningMainloop++;var r=S.mainLoop.timingMode,v=S.mainLoop.timingValue,A=S.mainLoop.func;S.mainLoop.func=
-null;Oh(A,0,!1,S.mainLoop.arg,!0);hj(r,v);S.mainLoop.scheduler()},updateStatus:function(){if(F.setStatus){var r=F.statusMessage||"Please wait...",v=S.mainLoop.remainingBlockers,A=S.mainLoop.expectedBlockers;v?v<A?F.setStatus(r+" ("+(A-v)+"/"+A+")"):F.setStatus(r):F.setStatus("")}},runIter:function(r){if(!(xe||F.preMainLoop&&!1===F.preMainLoop())){try{r()}catch(v){if(v instanceof of)return;v&&"object"===typeof v&&v.stack&&F.printErr("exception thrown: "+[v,v.stack]);throw v;}F.postMainLoop&&F.postMainLoop()}}},
-isFullScreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){function r(){S.pointerLock=document.pointerLockElement===v||document.mozPointerLockElement===v||document.webkitPointerLockElement===v||document.msPointerLockElement===v}F.preloadPlugins||(F.preloadPlugins=[]);if(!S.initted){S.initted=!0;try{new Blob,S.hasBlobConstructor=!0}catch(A){S.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}S.BlobBuilder="undefined"!=
-typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:S.hasBlobConstructor?null:console.log("warning: no BlobBuilder");S.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0;F.noImageDecoding||"undefined"!==typeof S.URLObject||(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),F.noImageDecoding=!0);F.preloadPlugins.push({canHandle:function(r){return!F.noImageDecoding&&
-/\.(jpg|jpeg|png|bmp)$/i.test(r)},handle:function(r,v,D,aa){var ya=null;if(S.hasBlobConstructor)try{ya=new Blob([r],{type:S.getMimetype(v)}),ya.size!==r.length&&(ya=new Blob([(new Uint8Array(r)).buffer],{type:S.getMimetype(v)}))}catch(ca){ra.warnOnce("Blob constructor present but fails: "+ca+"; falling back to blob builder")}ya||(ya=new S.BlobBuilder,ya.append((new Uint8Array(r)).buffer),ya=ya.getBlob());var Ka=S.URLObject.createObjectURL(ya),ab=new Image;ab.onload=function(){fb(ab.complete,"Image "+
-v+" could not be decoded");var aa=document.createElement("canvas");aa.width=ab.width;aa.height=ab.height;aa.getContext("2d").drawImage(ab,0,0);F.preloadedImages[v]=aa;S.URLObject.revokeObjectURL(Ka);D&&D(r)};ab.onerror=function(r){console.log("Image "+Ka+" could not be decoded");aa&&aa()};ab.src=Ka}});F.preloadPlugins.push({canHandle:function(r){return!F.noAudioDecoding&&r.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(r,v,D,aa){function ya(S){ra||(ra=!0,F.preloadedAudios[v]=S,D&&D(r))}
-function ca(){ra||(ra=!0,F.preloadedAudios[v]=new Audio,aa&&aa())}var ra=!1;if(S.hasBlobConstructor){try{var Ka=new Blob([r],{type:S.getMimetype(v)})}catch(ab){return ca()}var Ka=S.URLObject.createObjectURL(Ka),fb=new Audio;fb.addEventListener("canplaythrough",function(){ya(fb)},!1);fb.onerror=function(D){if(!ra){console.log("warning: browser could not fully decode audio "+v+", trying slower base64 approach");D="data:audio/x-"+v.substr(-3)+";base64,";for(var F="",S=0,aa=0,ca=0;ca<r.length;ca++)for(S=
-S<<8|r[ca],aa+=8;6<=aa;)var yc=S>>aa-6&63,aa=aa-6,F=F+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[yc];2==aa?(F+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(S&3)<<4],F+="=="):4==aa&&(F+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(S&15)<<2],F+="=");fb.src=D+F;ya(fb)}};fb.src=Ka;S.safeSetTimeout(function(){ya(fb)},1E4)}else return ca()}});var v=F.canvas;v&&(v.requestPointerLock=v.requestPointerLock||v.mozRequestPointerLock||v.webkitRequestPointerLock||
-v.msRequestPointerLock||function(){},v.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},v.exitPointerLock=v.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),F.elementPointerLock&&v.addEventListener("click",
-function(r){!S.pointerLock&&v.requestPointerLock&&(v.requestPointerLock(),r.preventDefault())},!1))}},createContext:function(r,v,A,D){if(v&&F.ctx&&r==F.canvas)return F.ctx;var ca,aa;if(v){aa={antialias:!1,alpha:!1};if(D)for(var ya in D)aa[ya]=D[ya];if(aa=GL.createContext(r,aa))ca=GL.getContext(aa).GLctx;r.style.backgroundColor="black"}else ca=r.getContext("2d");if(!ca)return null;A&&(v||fb("undefined"===typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),
-F.ctx=ca,v&&GL.makeContextCurrent(aa),F.useWebGL=v,S.moduleContextCreatedCallbacks.forEach(function(r){r()}),S.init());return ca},destroyContext:function(r,v,A){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,v,A){function D(){S.isFullScreen=!1;var r=ca.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||
-document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===r?(ca.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},ca.cancelFullScreen=ca.cancelFullScreen.bind(document),S.lockPointer&&ca.requestPointerLock(),S.isFullScreen=!0,S.resizeCanvas&&S.setFullScreenCanvasSize()):(r.parentNode.insertBefore(ca,r),r.parentNode.removeChild(r),S.resizeCanvas&&
-S.setWindowedCanvasSize());if(F.onFullScreen)F.onFullScreen(S.isFullScreen);S.updateCanvasDimensions(ca)}S.lockPointer=r;S.resizeCanvas=v;S.vrDevice=A;"undefined"===typeof S.lockPointer&&(S.lockPointer=!0);"undefined"===typeof S.resizeCanvas&&(S.resizeCanvas=!1);"undefined"===typeof S.vrDevice&&(S.vrDevice=null);var ca=F.canvas;S.fullScreenHandlersInstalled||(S.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",D,!1),document.addEventListener("mozfullscreenchange",D,!1),document.addEventListener("webkitfullscreenchange",
-D,!1),document.addEventListener("MSFullscreenChange",D,!1));var aa=document.createElement("div");ca.parentNode.insertBefore(aa,ca);aa.appendChild(ca);aa.requestFullScreen=aa.requestFullScreen||aa.mozRequestFullScreen||aa.msRequestFullscreen||(aa.webkitRequestFullScreen?function(){aa.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null);A?aa.requestFullScreen({vrDisplay:A}):aa.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var v=Date.now();if(0===S.nextRAF)S.nextRAF=v+
-1E3/60;else for(;v+2>=S.nextRAF;)S.nextRAF+=1E3/60;setTimeout(r,Math.max(S.nextRAF-v,0))},requestAnimationFrame:function(r){"undefined"===typeof window?S.fakeRequestAnimationFrame(r):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||S.fakeRequestAnimationFrame),window.requestAnimationFrame(r))},safeCallback:function(r){return function(){if(!xe)return r.apply(null,
-arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){S.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){S.allowAsyncCallbacks=!0;if(0<S.queuedAsyncCallbacks.length){var r=S.queuedAsyncCallbacks;S.queuedAsyncCallbacks=[];r.forEach(function(r){r()})}},safeRequestAnimationFrame:function(r){return S.requestAnimationFrame(function(){xe||(S.allowAsyncCallbacks?r():S.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,v){F.noExitRuntime=!0;return setTimeout(function(){xe||
-(S.allowAsyncCallbacks?r():S.queuedAsyncCallbacks.push(r))},v)},safeSetInterval:function(r,v){F.noExitRuntime=!0;return setInterval(function(){xe||S.allowAsyncCallbacks&&r()},v)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia);window.getUserMedia(r)},
-getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){switch(r.type){case "DOMMouseScroll":r=r.detail;break;case "mousewheel":r=r.wheelDelta;break;case "wheel":r=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type;}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(S.pointerLock)"mousemove"!=
-r.type&&"mozMovementX"in r?S.mouseMovementX=S.mouseMovementY=0:(S.mouseMovementX=S.getMovementX(r),S.mouseMovementY=S.getMovementY(r)),"undefined"!=typeof SDL?(S.mouseX=SDL.mouseX+S.mouseMovementX,S.mouseY=SDL.mouseY+S.mouseMovementY):(S.mouseX+=S.mouseMovementX,S.mouseY+=S.mouseMovementY);else{var v=F.canvas.getBoundingClientRect(),A=F.canvas.width,D=F.canvas.height,ca="undefined"!==typeof window.scrollX?window.scrollX:window.pageXOffset,aa="undefined"!==typeof window.scrollY?window.scrollY:window.pageYOffset;
-if("touchstart"===r.type||"touchend"===r.type||"touchmove"===r.type){var ya=r.touch;if(void 0!==ya)if(ca=ya.pageX-(ca+v.left),aa=ya.pageY-(aa+v.top),ca*=A/v.width,aa*=D/v.height,v={x:ca,y:aa},"touchstart"===r.type)S.lastTouches[ya.identifier]=v,S.touches[ya.identifier]=v;else if("touchend"===r.type||"touchmove"===r.type)(r=S.touches[ya.identifier])||(r=v),S.lastTouches[ya.identifier]=r,S.touches[ya.identifier]=v}else ya=r.pageX-(ca+v.left),r=r.pageY-(aa+v.top),ya*=A/v.width,r*=D/v.height,S.mouseMovementX=
-ya-S.mouseX,S.mouseMovementY=r-S.mouseY,S.mouseX=ya,S.mouseY=r}},xhrLoad:function(r,v,A){var D=new XMLHttpRequest;D.open("GET",r,!0);D.responseType="arraybuffer";D.onload=function(){200==D.status||0==D.status&&D.response?v(D.response):A()};D.onerror=A;D.send(null)},asyncLoad:function(r,v,A,D){S.xhrLoad(r,function(A){fb(A,'Loading data file "'+r+'" failed (no arrayBuffer).');v(new Uint8Array(A));D||ng("al "+r)},function(v){if(A)A();else throw'Loading data file "'+r+'" failed.';});D||Yg("al "+r)},resizeListeners:[],
-updateResizeListeners:function(){var r=F.canvas;S.resizeListeners.forEach(function(v){v(r.width,r.height)})},setCanvasSize:function(r,v,A){S.updateCanvasDimensions(F.canvas,r,v);A||S.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){"undefined"!=typeof SDL&&(Sb[SDL.screen+0*ra.QUANTUM_SIZE>>2]=xf[SDL.screen+0*ra.QUANTUM_SIZE>>2]|8388608);S.updateResizeListeners()},setWindowedCanvasSize:function(){"undefined"!=typeof SDL&&(Sb[SDL.screen+0*ra.QUANTUM_SIZE>>
-2]=xf[SDL.screen+0*ra.QUANTUM_SIZE>>2]&-8388609);S.updateResizeListeners()},updateCanvasDimensions:function(r,v,A){v&&A?(r.widthNative=v,r.heightNative=A):(v=r.widthNative,A=r.heightNative);var D=v,ca=A;F.forcedAspectRatio&&0<F.forcedAspectRatio&&(D/ca<F.forcedAspectRatio?D=Math.round(ca*F.forcedAspectRatio):ca=Math.round(D/F.forcedAspectRatio));if((document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||
-document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===r.parentNode&&"undefined"!=typeof screen)var aa=Math.min(screen.width/D,screen.height/ca),D=Math.round(D*aa),ca=Math.round(ca*aa);S.resizeCanvas?(r.width!=D&&(r.width=D),r.height!=ca&&(r.height=ca),"undefined"!=typeof r.style&&(r.style.removeProperty("width"),r.style.removeProperty("height"))):(r.width!=v&&(r.width=v),r.height!=A&&(r.height=A),"undefined"!=typeof r.style&&
-(D!=v||ca!=A?(r.style.setProperty("width",D+"px","important"),r.style.setProperty("height",ca+"px","important")):(r.style.removeProperty("width"),r.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var r=S.nextWgetRequestHandle;S.nextWgetRequestHandle++;return r}};F._i64Subtract=Lj;F._memset=Mi;F._bitshift64Shl=Mj;var Ka={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(r,v){if("/"!==v[0]){var A;if(-100===r)A=D.cwd();else{A=
-D.getStream(r);if(!A)throw new D.ErrnoError(ca.EBADF);A=A.path}v=jc.join2(A,v)}return v},doStat:function(r,v,A){try{var F=r(v)}catch(S){if(S&&S.node&&jc.normalize(v)!==jc.normalize(D.getPath(S.node)))return-ca.ENOTDIR;throw S;}Sb[A>>2]=F.dev;Sb[A+4>>2]=0;Sb[A+8>>2]=F.ino;Sb[A+12>>2]=F.mode;Sb[A+16>>2]=F.nlink;Sb[A+20>>2]=F.uid;Sb[A+24>>2]=F.gid;Sb[A+28>>2]=F.rdev;Sb[A+32>>2]=0;Sb[A+36>>2]=F.size;Sb[A+40>>2]=4096;Sb[A+44>>2]=F.blocks;Sb[A+48>>2]=F.atime.getTime()/1E3|0;Sb[A+52>>2]=0;Sb[A+56>>2]=F.mtime.getTime()/
-1E3|0;Sb[A+60>>2]=0;Sb[A+64>>2]=F.ctime.getTime()/1E3|0;Sb[A+68>>2]=0;Sb[A+72>>2]=F.ino;return 0},doMsync:function(r,v,A,F){r=new Uint8Array(Od.subarray(r,r+A));D.msync(v,r,0,A,F)},doMkdir:function(r,v){r=jc.normalize(r);"/"===r[r.length-1]&&(r=r.substr(0,r.length-1));D.mkdir(r,v,0);return 0},doMknod:function(r,v,A){switch(v&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ca.EINVAL}D.mknod(r,v,A);return 0},doReadlink:function(r,v,A){if(0>=A)return-ca.EINVAL;r=D.readlink(r);
-r=r.slice(0,Math.max(0,A));Ji(r,v,!0);return r.length},doAccess:function(r,v){if(v&-8)return-ca.EINVAL;var A;A=D.lookupPath(r,{follow:!0}).node;var F="";v&4&&(F+="r");v&2&&(F+="w");v&1&&(F+="x");return F&&D.nodePermissions(A,F)?-ca.EACCES:0},doDup:function(r,v,A){var F=D.getStream(A);F&&D.close(F);return D.open(r,v,0,A,A).fd},doReadv:function(r,v,A,F){for(var S=0,aa=0;aa<A;aa++){var ca=Sb[v+(8*aa+4)>>2],ra=D.read(r,Dd,Sb[v+8*aa>>2],ca,F);if(0>ra)return-1;S+=ra;if(ra<ca)break}return S},doWritev:function(r,
-v,A,F){for(var S=0,aa=0;aa<A;aa++){var ca=D.write(r,Dd,Sb[v+8*aa>>2],Sb[v+(8*aa+4)>>2],F);if(0>ca)return-1;S+=ca}return S},varargs:0,get:function(r){Ka.varargs+=4;return Sb[Ka.varargs-4>>2]},getStr:function(){return Yd(Ka.get())},getStreamFromFD:function(){var r=D.getStream(Ka.get());if(!r)throw new D.ErrnoError(ca.EBADF);return r},getSocketFromFD:function(){var r=SOCKFS.getSocket(Ka.get());if(!r)throw new D.ErrnoError(ca.EBADF);return r},getSocketAddress:function(r){var v=Ka.get(),A=Ka.get();if(r&&
-0===v)return null;r=__read_sockaddr(v,A);if(r.errno)throw new D.ErrnoError(r.errno);r.addr=DNS.lookup_addr(r.addr)||r.addr;return r},get64:function(){var r=Ka.get(),v=Ka.get();0<=r?fb(0===v):fb(-1===v);return r},getZero:function(){fb(0===Ka.get())}};F._i64Add=Nj;var Oj=Lh,Pj=Ij;F._realloc=Ph;F._saveSetjmp=Qj;F._bitshift64Lshr=Rj;F._testSetjmp=Sj;var Rh=vc(1,"i32*",2),Td={},Tj=Hj,Uj=Fg;F._memcpy=Vj;var Wj=Fj;F._llvm_bswap_i32=Xj;var Yj=Gj,Zj=Jj;F.requestFullScreen=function(r,v,A){S.requestFullScreen(r,
-v,A)};F.requestAnimationFrame=function(r){S.requestAnimationFrame(r)};F.setCanvasSize=function(r,v,A){S.setCanvasSize(r,v,A)};F.pauseMainLoop=function(){S.mainLoop.pause()};F.resumeMainLoop=function(){S.mainLoop.resume()};F.getUserMedia=function(){S.getUserMedia()};F.createContext=function(r,v,A,D){return S.createContext(r,v,A,D)};D.staticInit();qg.unshift(function(){F.noFSInit||D.init.initialized||D.init()});rg.push(function(){D.ignorePermissions=!1});re.push(function(){D.quit()});F.FS_createFolder=
-D.createFolder;F.FS_createPath=D.createPath;F.FS_createDataFile=D.createDataFile;F.FS_createPreloadedFile=D.createPreloadedFile;F.FS_createLazyFile=D.createLazyFile;F.FS_createLink=D.createLink;F.FS_createDevice=D.createDevice;F.FS_unlink=D.unlink;qg.unshift(function(){ye.init()});re.push(function(){ye.shutdown()});if(Bf){var cd=require("fs"),Li=require("path");Wc.staticInit()}Af(Td);Zh=se=ra.alignMemory(Se);pi=!0;vh=Zh+$h;ch=we=ra.alignMemory(vh);fb(ch<ld,"TOTAL_MEMORY not big enough for stack");
-var ak=vc([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,
-0,1,0,3,0,1,0,2,0,1,0],"i8",3);F.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Kg};F.asmLibraryArg={abort:Vc,assert:fb,invoke_iiii:function(r,v,A,D){try{return F.dynCall_iiii(r,v,A,D)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;ab.setThrew(1,0)}},invoke_viiiiiii:function(r,v,A,D,S,aa,ca,ra){try{F.dynCall_viiiiiii(r,
-v,A,D,S,aa,ca,ra)}catch(Ka){if("number"!==typeof Ka&&"longjmp"!==Ka)throw Ka;ab.setThrew(1,0)}},invoke_viiiii:function(r,v,A,D,S,aa){try{F.dynCall_viiiii(r,v,A,D,S,aa)}catch(ca){if("number"!==typeof ca&&"longjmp"!==ca)throw ca;ab.setThrew(1,0)}},invoke_vi:function(r,v){try{F.dynCall_vi(r,v)}catch(A){if("number"!==typeof A&&"longjmp"!==A)throw A;ab.setThrew(1,0)}},invoke_vii:function(r,v,A){try{F.dynCall_vii(r,v,A)}catch(D){if("number"!==typeof D&&"longjmp"!==D)throw D;ab.setThrew(1,0)}},invoke_iiiiiii:function(r,
-v,A,D,S,aa,ca){try{return F.dynCall_iiiiiii(r,v,A,D,S,aa,ca)}catch(ra){if("number"!==typeof ra&&"longjmp"!==ra)throw ra;ab.setThrew(1,0)}},invoke_viiiiiiiiiiii:function(r,v,A,D,S,aa,ca,ra,Ka,fb,Lb,jc,Y){try{F.dynCall_viiiiiiiiiiii(r,v,A,D,S,aa,ca,ra,Ka,fb,Lb,jc,Y)}catch(Sb){if("number"!==typeof Sb&&"longjmp"!==Sb)throw Sb;ab.setThrew(1,0)}},invoke_ii:function(r,v){try{return F.dynCall_ii(r,v)}catch(A){if("number"!==typeof A&&"longjmp"!==A)throw A;ab.setThrew(1,0)}},invoke_viii:function(r,v,A,D){try{F.dynCall_viii(r,
-v,A,D)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;ab.setThrew(1,0)}},invoke_viiiiiiiii:function(r,v,A,D,S,aa,ca,ra,Ka,fb){try{F.dynCall_viiiiiiiii(r,v,A,D,S,aa,ca,ra,Ka,fb)}catch(Lb){if("number"!==typeof Lb&&"longjmp"!==Lb)throw Lb;ab.setThrew(1,0)}},invoke_iiiii:function(r,v,A,D,S){try{return F.dynCall_iiiii(r,v,A,D,S)}catch(aa){if("number"!==typeof aa&&"longjmp"!==aa)throw aa;ab.setThrew(1,0)}},invoke_iii:function(r,v,A){try{return F.dynCall_iii(r,v,A)}catch(D){if("number"!==typeof D&&
-"longjmp"!==D)throw D;ab.setThrew(1,0)}},invoke_iiiiii:function(r,v,A,D,S,aa){try{return F.dynCall_iiiiii(r,v,A,D,S,aa)}catch(ca){if("number"!==typeof ca&&"longjmp"!==ca)throw ca;ab.setThrew(1,0)}},invoke_viiii:function(r,v,A,D,S){try{F.dynCall_viiii(r,v,A,D,S)}catch(aa){if("number"!==typeof aa&&"longjmp"!==aa)throw aa;ab.setThrew(1,0)}},_pthread_cleanup_pop:function(){fb(ni.level==re.length,"cannot pop if something else added meanwhile!");re.pop();ni.level=re.length},_fabs:Uj,_exp:Yj,_llvm_pow_f64:Zj,
-___syscall54:function(r,v){Ka.varargs=v;try{var A=Ka.getStreamFromFD(),F=Ka.get();switch(F){case 21505:return A.tty?0:-ca.ENOTTY;case 21506:return A.tty?0:-ca.ENOTTY;case 21519:if(!A.tty)return-ca.ENOTTY;var S=Ka.get();return Sb[S>>2]=0;case 21520:return A.tty?-ca.EINVAL:-ca.ENOTTY;case 21531:return S=Ka.get(),D.ioctl(A,F,S);default:Vc("bad ioctl syscall "+F)}}catch(aa){return"undefined"!==typeof D&&aa instanceof D.ErrnoError||Vc(aa),-aa.errno}},_pthread_cleanup_push:ni,___syscall6:function(r,v){Ka.varargs=
-v;try{var A=Ka.getStreamFromFD();D.close(A);return 0}catch(F){return"undefined"!==typeof D&&F instanceof D.ErrnoError||Vc(F),-F.errno}},_atan2:Wj,___setErrNo:eg,___assert_fail:function(r,v,A,D){xe=!0;throw"Assertion failed: "+Yd(r)+", at: "+[v?Yd(v):"unknown filename",A,D?Yd(D):"unknown function"]+" at "+wf();},___buildEnvironment:Af,_longjmp:Zg,___syscall91:function(r,v){Ka.varargs=v;try{var A=Ka.get(),F=Ka.get(),S=Ka.mappings[A];if(!S)return 0;if(F===S.len){var aa=D.getStream(S.fd);Ka.doMsync(A,
-aa,F,S.flags);D.munmap(aa);Ka.mappings[A]=null;S.allocated&&vf(S.malloc)}return 0}catch(ca){return"undefined"!==typeof D&&ca instanceof D.ErrnoError||Vc(ca),-ca.errno}},_emscripten_set_main_loop_timing:hj,_sbrk:og,___syscall192:function(r,v){Ka.varargs=v;try{var A=Ka.get(),F=Ka.get(),S=Ka.get(),aa=Ka.get(),ya=Ka.get(),ra=Ka.get(),ra=ra<<12,ab,fb=!1;if(-1===ya){ab=uf(F);if(!ab)return-ca.ENOMEM;Mi(ab,0,F);fb=!0}else{var Lb=D.getStream(ya);if(!Lb)return-ca.EBADF;var Sb=D.mmap(Lb,Od,A,F,ra,S,aa);ab=Sb.ptr;
-fb=Sb.allocated}Ka.mappings[ab]={malloc:ab,len:F,allocated:fb,fd:ya,flags:aa};return ab}catch(Y){return"undefined"!==typeof D&&Y instanceof D.ErrnoError||Vc(Y),-Y.errno}},___syscall197:function(r,v){Ka.varargs=v;try{var A=Ka.getStreamFromFD(),F=Ka.get();return Ka.doStat(D.stat,A.path,F)}catch(S){return"undefined"!==typeof D&&S instanceof D.ErrnoError||Vc(S),-S.errno}},_emscripten_memcpy_big:function(r,v,A){Od.set(Od.subarray(v,v+A),r);return r},__exit:Qh,___syscall195:function(r,v){Ka.varargs=v;try{var A=
-Ka.getStr(),F=Ka.get();return Ka.doStat(D.stat,A,F)}catch(S){return"undefined"!==typeof D&&S instanceof D.ErrnoError||Vc(S),-S.errno}},___syscall221:function(r,v){Ka.varargs=v;try{var A=Ka.getStreamFromFD();switch(Ka.get()){case 0:var F=Ka.get();return 0>F?-ca.EINVAL:D.open(A.path,A.flags,0,F).fd;case 1:case 2:return 0;case 3:return A.flags;case 4:return F=Ka.get(),A.flags|=F,0;case 12:case 12:return F=Ka.get(),gf[F+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ca.EINVAL;
-case 9:return eg(ca.EINVAL),-1;default:return-ca.EINVAL}}catch(S){return"undefined"!==typeof D&&S instanceof D.ErrnoError||Vc(S),-S.errno}},_floor:Oj,_pthread_self:function(){return 0},_getenv:Ig,_sqrt:Pj,_log:Tj,___unlock:function(){},_emscripten_set_main_loop:Oh,___syscall3:function(r,v){Ka.varargs=v;try{var A=Ka.getStreamFromFD(),F=Ka.get(),S=Ka.get();return D.read(A,Dd,F,S)}catch(aa){return"undefined"!==typeof D&&aa instanceof D.ErrnoError||Vc(aa),-aa.errno}},_sysconf:function(r){switch(r){case 30:return 4096;
-case 85:return Pc/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;
-case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;
-case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}eg(ca.EINVAL);return-1},___lock:function(){},_abort:function(){F.abort()},___syscall5:function(r,v){Ka.varargs=v;try{var A=Ka.getStr(),F=Ka.get(),S=Ka.get();return D.open(A,F,S).fd}catch(aa){return"undefined"!==typeof D&&aa instanceof D.ErrnoError||Vc(aa),-aa.errno}},___syscall4:function(r,v){Ka.varargs=
-v;try{var A=Ka.getStreamFromFD(),F=Ka.get(),S=Ka.get();return D.write(A,Dd,F,S)}catch(aa){return"undefined"!==typeof D&&aa instanceof D.ErrnoError||Vc(aa),-aa.errno}},_time:function(r){var v=Date.now()/1E3|0;r&&(Sb[r>>2]=v);return v},_emscripten_longjmp:function(r,v){Zg(r,v)},___syscall140:function(r,v){Ka.varargs=v;try{var A=Ka.getStreamFromFD(),F=Ka.get(),S=Ka.get(),aa=Ka.get(),ca=Ka.get();fb(0===F);D.llseek(A,S,ca);Sb[aa>>2]=A.position;A.getdents&&0===S&&0===ca&&(A.getdents=null);return 0}catch(ra){return"undefined"!==
-typeof D&&ra instanceof D.ErrnoError||Vc(ra),-ra.errno}},_exit:function(r){Qh(r)},___syscall146:function(r,v){Ka.varargs=v;try{var A=Ka.getStreamFromFD(),F=Ka.get(),S=Ka.get();return Ka.doWritev(A,F,S)}catch(aa){return"undefined"!==typeof D&&aa instanceof D.ErrnoError||Vc(aa),-aa.errno}},STACKTOP:se,STACK_MAX:vh,tempDoublePtr:ai,ABORT:xe,cttz_i8:ak};var ab=function(r,v,A){function D(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y;e=u;u=u+16|0;f=e+4|0;g=e;h=d+2|0;switch(N[h>>1]|0){case 12:case 11:case 10:case 5:case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:break;
-default:return u=e,2}m=ra(b,d,f,8,g)|0;g=d=a[g>>2]|0;if(0!=(m|0)|0==(d|0))return a[c>>2]=0,u=e,m|0;if(12==(w[h>>1]|0))return a[b+12>>2]&128&&Ae(d,a[f>>2]|0),a[c>>2]=g,u=e,0;g=a[f>>2]|0;f=eb(g<<3)|0;if(!f)return ja(d),u=e,7;do switch(N[h>>1]|0){case 1:if(g)for(m=d,k=f,l=0;!(Hb[k>>3]=+(x[m>>0]|0),l=l+1|0,l>>>0>=g>>>0);)m=m+1|0,k=k+8|0;break;case 6:if(g)for(k=d,m=f,l=0;!(Hb[m>>3]=+(t[k>>0]|0),l=l+1|0,l>>>0>=g>>>0);)k=k+1|0,m=m+8|0;break;case 3:if(g)for(m=b+12|0,k=d,l=f,n=0;!(a[m>>2]&128&&ac(k),Hb[l>>
-3]=+(N[k>>1]|0),n=n+1|0,n>>>0>=g>>>0);)k=k+2|0,l=l+8|0;break;case 8:if(g)for(l=b+12|0,k=d,n=f,m=0;!(a[l>>2]&128&&ac(k),Hb[n>>3]=+(w[k>>1]|0),m=m+1|0,m>>>0>=g>>>0);)k=k+2|0,n=n+8|0;break;case 4:if(g)for(n=b+12|0,k=d,m=f,l=0;!(a[n>>2]&128&&pb(k),Hb[m>>3]=+((a[k>>2]|0)>>>0),l=l+1|0,l>>>0>=g>>>0);)k=k+4|0,m=m+8|0;break;case 9:if(g)for(m=b+12|0,k=d,l=f,n=0;!(a[m>>2]&128&&pb(k),Hb[l>>3]=+(a[k>>2]|0),n=n+1|0,n>>>0>=g>>>0);)k=k+4|0,l=l+8|0;break;case 16:if(g)for(l=b+12|0,k=d,n=f,m=0;!(a[l>>2]&128&&kc(k),
-p=k,Hb[n>>3]=+((a[p>>2]|0)>>>0)+4294967296*+((a[p+4>>2]|0)>>>0),m=m+1|0,m>>>0>=g>>>0);)k=k+8|0,n=n+8|0;break;case 17:if(g)for(n=b+12|0,k=d,m=f,l=0;!(a[n>>2]&128&&kc(k),p=k,Hb[m>>3]=+((a[p>>2]|0)>>>0)+4294967296*+(a[p+4>>2]|0),l=l+1|0,l>>>0>=g>>>0);)k=k+8|0,m=m+8|0;break;case 5:if(g)for(m=b+12|0,k=d,l=f,n=0;!(p=a[m>>2]|0,p&128?(pb(k),q=a[m>>2]|0):q=p,p=k+4|0,y=a[k>>2]|0,q&128&&pb(p),y=(q=a[p>>2]|0)?+(y>>>0)/+(q>>>0):0,Hb[l>>3]=y,n=n+1|0,n>>>0>=g>>>0);)k=k+8|0,l=l+8|0;break;case 10:if(g)for(l=b+12|
-0,k=d,n=f,m=0;!(q=a[l>>2]|0,q&128?(pb(k),p=a[l>>2]|0):p=q,q=a[k>>2]|0,y=k+4|0,p&128&&pb(y),y=(p=a[y>>2]|0)?+(q|0)/+(p>>>0):0,Hb[n>>3]=y,m=m+1|0,m>>>0>=g>>>0);)k=k+8|0,n=n+8|0;break;case 11:if(a[b+12>>2]&128&&Id(d,g),g)for(n=d,k=f,m=0;!(Hb[k>>3]=+W[n>>2],m=m+1|0,m>>>0>=g>>>0);)n=n+4|0,k=k+8|0}while(0);ja(d);a[c>>2]=f;u=e;return 0}function F(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m;f=u;u=u+16|0;if(g=ca(b,d,f)|0)return m=(h=Lf(b,N[d>>1]|0)|0)?a[h+28>>2]|0:133413,wh(b,g,134332,m,0),u=f,0;d=m=d+8|0;if(0==
-(a[d+4>>2]|0)&&(a[d>>2]|0)==(c|0))b=a[f>>2]|0;else{d=Mf(b,c,8,134352)|0;if(!d)return ja(a[f>>2]|0),u=f,0;b=m;g=a[b>>2]|0;h=a[b+4>>2]|0;b=a[f>>2]|0;0>h>>>0|0==(h|0)&g>>>0<c>>>0?(Ab(d,b,g<<3),g=a[m>>2]|0,$c(d+(g<<3)|0,0,c-g<<3)):Ab(d,b,c<<3);ja(b);b=a[f>>2]=d}a[e>>2]=b;u=f;return 1}function S(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H,t;e=u;u=u+16|0;f=b+176|0;(g=a[f>>2]|0)&&ja(g);g=b+168|0;h=Mf(b,a[g>>2]|0,8,134235)|0;a[f>>2]=h;if(!h)return u=e,-1;do if(1==(w[b+88>>1]|0))if(a[b+12>>2]&1024){if(h=
-b,h|=0,m=Kf(h,a[h+72>>2]|0)|0,n=U,h=a[g>>2]|0){k=a[f>>2]|0;l=0;do p=k+(l<<3)|0,a[p>>2]=m,a[p+4>>2]=n,l=l+1|0;while(l>>>0<h>>>0)}}else{if(h=Td(b)|0,m=a[g>>2]|0){k=Cf(((a[b+60>>2]|0)>>>0)/((a[b+164>>2]|0)>>>0)|0,0,h|0,U|0)|0;h=U;l=a[f>>2]|0;n=0;do p=l+(n<<3)|0,a[p>>2]=k,a[p+4>>2]=h,n=n+1|0;while(n>>>0<m>>>0)}}else{h=b+628|0;l=da[a[b+648>>2]&63](a[h>>2]|0)|0;n=U;m=b+12|0;k=c&65535;p=0==(a[m>>2]&524288|0)?(12*k|0)+14|0:(20*k|0)+32|0;a:do{if(c<<16>>16){k=p;y=0;q=d;for(B=c;;){H=q+2|0;p=Ne(N[H>>1]|0)|0;
-if(!p){b=H;break}H=q+8|0;t=Cf(a[H>>2]|0,a[H+4>>2]|0,p|0,0)|0;p=U;H=0==(a[m>>2]&524288|0)?0>p>>>0|0==(p|0)&5>t>>>0:0>p>>>0|0==(p|0)&9>t>>>0;y=Qb((H?0:t)|0,(H?0:p)|0,k|0,y|0)|0;p=U;B=B+-1<<16>>16;if(B<<16>>16)k=y,y=p,q=q+24|0;else{q=y;y=p;break a}}q=a[h>>2]|0;a[e>>2]=N[b>>1];Y(q,134263,134287,e);u=e;return-1}q=p;y=0}while(0);h=Ic(l|0,n|0,q|0,y|0)|0;m=U;2==(w[b+126>>1]|0)?(B=p=pf(h|0,m|0,N[b+98>>1]|0,0)|0,k=U):(B=h,k=m);m=a[g>>2]|0;h=a[f>>2]|0;if(m){p=1<m>>>0;q=0;do y=h+(q<<3)|0,a[y>>2]=B,a[y+4>>2]=
-k,q=q+1|0;while(q>>>0<m>>>0);m=p?m+-1|0:0}else m=-1;q=(a[b+172>>2]|0)+(m<<3)|0;y=a[q>>2]|0;k=a[q+4>>2]|0;B=q=h+(m<<3)|0;p=Qb(a[B>>2]|0,a[B+4>>2]|0,y|0,k|0)|0;B=U;B>>>0>n>>>0|(B|0)==(n|0)&p>>>0>l>>>0&&(p=Ic(l|0,n|0,y|0,k|0)|0,k=q,a[k>>2]=p,a[k+4>>2]=U)}while(0);m=b+40|0;k=a[m>>2]|0;a[m>>2]=k|16777216;if(k&131072)return u=e,1;a[b+100>>2]=a[b+60>>2];u=e;return 1}function ca(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y=0;e=u;u=u+16|0;f=e+4|0;g=e;h=d+2|0;switch(N[h>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:break;
-default:return u=e,2}m=ra(b,d,f,8,g)|0;g=d=a[g>>2]|0;if(0!=(m|0)|0==(d|0))return a[c>>2]=0,u=e,m|0;switch(N[h>>1]|0){case 16:a[c>>2]=d;if(!(a[b+12>>2]&128)){u=e;break}Ae(d,a[f>>2]|0);u=e;break;case 17:m=a[f>>2]|0;a:do if(m){k=b+12|0;l=d;for(n=0;;){a[k>>2]&128&&kc(l);p=l;q=a[p+4>>2]|0;if(!(-1<(q|0)|-1==(q|0)&4294967295<(a[p>>2]|0)>>>0))break;n=n+1|0;if(n>>>0>=m>>>0)break a;else l=l+8|0}ja(d);u=e;return 4}while(0);a[c>>2]=g;u=e;break;default:g=a[f>>2]|0;f=eb(g<<3)|0;if(!f)return ja(d),u=e,7;a:do switch(N[h>>
-1]|0){case 1:if(g)for(m=d,l=f,n=0;;)if(k=l,a[k>>2]=x[m>>0],a[k+4>>2]=0,n=n+1|0,n>>>0>=g>>>0){m=46;break}else m=m+1|0,l=l+8|0;else m=46;break;case 6:if(g)for(l=d,m=f,n=0;;){k=t[l>>0]|0;if(-1>=k<<24>>24){y=4;m=45;break a}p=k<<24>>24;k=m;a[k>>2]=p;a[k+4>>2]=(0>(p|0))<<31>>31;n=n+1|0;if(n>>>0>=g>>>0){m=46;break}else l=l+1|0,m=m+8|0}else m=46;break;case 3:if(g)for(m=b+12|0,l=d,n=f,p=0;;)if(a[m>>2]&128&&ac(l),k=n,a[k>>2]=N[l>>1],a[k+4>>2]=0,p=p+1|0,p>>>0>=g>>>0){m=46;break}else l=l+2|0,n=n+8|0;else m=46;
-break;case 8:if(g)for(n=b+12|0,l=d,p=f,m=0;;){a[n>>2]&128&&ac(l);k=w[l>>1]|0;if(-1>=k<<16>>16){y=4;m=45;break a}q=k<<16>>16;k=p;a[k>>2]=q;a[k+4>>2]=(0>(q|0))<<31>>31;m=m+1|0;if(m>>>0>=g>>>0){m=46;break}else l=l+2|0,p=p+8|0}else m=46;break;case 4:if(g)for(p=b+12|0,l=d,m=f,n=0;;)if(a[p>>2]&128&&pb(l),q=m,a[q>>2]=a[l>>2],a[q+4>>2]=0,n=n+1|0,n>>>0>=g>>>0){m=46;break}else l=l+4|0,m=m+8|0;else m=46;break;case 9:if(g)for(m=b+12|0,l=d,n=f,p=0;;){a[m>>2]&128&&pb(l);q=a[l>>2]|0;if(k=q>>31&4){y=k;m=45;break a}k=
-n;a[k>>2]=q;a[k+4>>2]=(0>(q|0))<<31>>31;p=p+1|0;if(p>>>0>=g>>>0){m=46;break}else l=l+4|0,n=n+8|0}else m=46;break;default:m=46}while(0);if(45==(m|0))return ja(d),ja(f),u=e,y|0;46==(m|0)&&(ja(d),a[c>>2]=f,u=e)}return 0}function ra(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p;g=u;u=u+16|0;h=g+8|0;m=Ne(N[d+2>>1]|0)|0;k=d+8|0;l=a[k>>2]|0;n=a[k+4>>2]|0;if(0==(m|0)|0==(l|0)&0==(n|0))return a[f>>2]=0,u=g,0;k=2147483647/(m|0)|0;p=(0>(k|0))<<31>>31;if(p>>>0<n>>>0|(p|0)==(n|0)&k>>>0<l>>>0||0<n>>>0|
-(0==(n|0)?(2147483647/(e>>>0)|0)>>>0<l>>>0:0))return u=g,6;a[c>>2]=l;c=E(l,m)|0;0>=(c|0)&&Z(134368,133171,790,134389);e=Mf(b,l,m,134411)|0;if(!e)return u=g,7;m=b+12|0;l=a[m>>2]|0;do if(l&524288)if(9>c>>>0)Ab(e,d+16|0,c);else{k=d+16|0;n=a[k>>2]|0;p=a[k+4>>2]|0;k=g;a[k>>2]=n;a[k+4>>2]=p;l&128?(kc(g),p=g,k=a[m>>2]|0,h=a[p>>2]|0,d=a[p+4>>2]|0):(k=l,h=n,d=p);if(k&2048){if(p=h+c|0,p>>>0<c>>>0|(h|0)!=(h|0)|0!=(d|0)|p>>>0<h>>>0?0:p>>>0<=(a[b+616>>2]|0)>>>0){Ab(e,(a[b+612>>2]|0)+h|0,c);break}}else if(p=b+
-628|0,n=rb[a[b+640>>2]&63](a[p>>2]|0,h,d,0)|0,(n|0)==(h|0)&(U|0)==(d|0)&&(Aa[a[b+632>>2]&63](a[p>>2]|0,e,c)|0)==(c|0))break;ja(e);b=3;u=g;return b|0}else if(n=d+16|0,5>c>>>0)Ab(e,n,c);else{k=a[n>>2]|0;a[h>>2]=k;l&128?(pb(h),n=a[m>>2]|0,p=a[h>>2]|0):(n=l,p=k);if(n&2048){if(k=p+c|0,k>>>0<c>>>0|k>>>0<p>>>0?0:k>>>0<=(a[b+616>>2]|0)>>>0){Ab(e,(a[b+612>>2]|0)+p|0,c);break}}else if(k=b+628|0,n=rb[a[b+640>>2]&63](a[k>>2]|0,p,0,0)|0,(n|0)==(p|0)&0==(U|0)&&(Aa[a[b+632>>2]&63](a[k>>2]|0,e,c)|0)==(c|0))break;
-ja(e);b=3;u=g;return b|0}while(0);a[f>>2]=e;u=g;return 0}function Ka(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B;e=u;u=u+16|0;f=e+4|0;g=d+2|0;switch(N[g>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:case 7:case 2:break;default:return u=e,2}h=ra(b,d,f,1,e)|0;m=d=a[e>>2]|0;if(0!=(h|0)|0==(d|0))return a[c>>2]=0,u=e,h|0;switch(N[g>>1]|0){case 1:case 7:case 2:a[c>>2]=m;u=e;break;case 6:h=a[f>>2]|0;a:do if(h){k=d;for(l=0;!(-1>=(t[k>>0]|0));)if(l=l+1|0,l>>>0>=h>>>0)break a;else k=
-k+1|0;ja(d);u=e;return 4}while(0);a[c>>2]=m;u=e;break;default:m=a[f>>2]|0;h=eb(m)|0;if(!h)return ja(d),u=e,7;a:do switch(N[g>>1]|0){case 3:if(m)for(k=b+12|0,l=d,n=h,p=0;;){a[k>>2]&128&&ac(l);q=w[l>>1]|0;if(256<=(q&65535)){k=50;break a}t[n>>0]=q;p=p+1|0;if(p>>>0>=(a[f>>2]|0)>>>0){k=51;break}else l=l+2|0,n=n+1|0}else k=51;break;case 8:if(m)for(n=b+12|0,l=d,p=h,k=0;;){a[n>>2]&128&&ac(l);q=w[l>>1]|0;if(256<=(q&65535)){k=50;break a}t[p>>0]=q;k=k+1|0;if(k>>>0>=(a[f>>2]|0)>>>0){k=51;break}else l=l+2|0,p=
-p+1|0}else k=51;break;case 4:if(m)for(p=b+12|0,l=d,k=h,n=0;;){a[p>>2]&128&&pb(l);q=a[l>>2]|0;if(256<=q>>>0){k=50;break a}t[k>>0]=q;n=n+1|0;if(n>>>0>=(a[f>>2]|0)>>>0){k=51;break}else l=l+4|0,k=k+1|0}else k=51;break;case 9:if(m)for(k=b+12|0,l=d,n=h,p=0;;){a[k>>2]&128&&pb(l);q=a[l>>2]|0;if(256<=q>>>0){k=50;break a}t[n>>0]=q;p=p+1|0;if(p>>>0>=(a[f>>2]|0)>>>0){k=51;break}else l=l+4|0,n=n+1|0}else k=51;break;case 16:if(m)for(n=b+12|0,l=d,p=h,k=0;;){a[n>>2]&128&&kc(l);q=l;y=a[q>>2]|0;B=a[q+4>>2]|0;if(!(0>
-B>>>0|0==(B|0)&256>y>>>0)){k=50;break a}t[p>>0]=y;k=k+1|0;if(k>>>0>=(a[f>>2]|0)>>>0){k=51;break}else l=l+8|0,p=p+1|0}else k=51;break;case 17:if(m)for(p=b+12|0,l=d,k=h,n=0;;){a[p>>2]&128&&kc(l);y=l;B=a[y>>2]|0;q=a[y+4>>2]|0;if(!(0>q>>>0|0==(q|0)&256>B>>>0)){k=50;break a}t[k>>0]=B;n=n+1|0;if(n>>>0>=(a[f>>2]|0)>>>0){k=51;break}else l=l+8|0,k=k+1|0}else k=51;break;default:k=51}while(0);if(50==(k|0))return ja(a[e>>2]|0),ja(h),u=e,4;51==(k|0)&&(ja(a[e>>2]|0),a[c>>2]=h,u=e)}return 0}function ab(b,d,c){b|=
-0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B;e=u;u=u+16|0;f=e+4|0;g=e;h=d+2|0;switch(N[h>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:break;default:return u=e,2}m=ra(b,d,f,4,g)|0;g=d=a[g>>2]|0;if(0!=(m|0)|0==(d|0))return a[c>>2]=0,u=e,m|0;switch(N[h>>1]|0){case 4:a[c>>2]=d;if(!(a[b+12>>2]&128)){u=e;break}Id(d,a[f>>2]|0);u=e;break;case 9:m=a[f>>2]|0;a:do if(m){k=b+12|0;l=d;for(n=0;;){a[k>>2]&128&&pb(l);if(p=a[l>>2]>>31&4){q=p;break}n=n+1|0;if(n>>>0>=m>>>0)break a;else l=l+4|0}ja(d);
-b=q;u=e;return b|0}while(0);a[c>>2]=g;u=e;break;default:g=a[f>>2]|0;q=eb(g<<2)|0;if(!q)return ja(d),u=e,7;a:do switch(N[h>>1]|0){case 1:if(g)for(m=d,l=q,n=0;;)if(a[l>>2]=x[m>>0],n=n+1|0,n>>>0>=(a[f>>2]|0)>>>0){m=47;break}else m=m+1|0,l=l+4|0;else m=47;break;case 6:if(g)for(l=d,m=q,n=0;;){k=t[l>>0]|0;if(-1>=k<<24>>24){m=46;break a}a[m>>2]=k<<24>>24;n=n+1|0;if(n>>>0>=(a[f>>2]|0)>>>0){m=47;break}else l=l+1|0,m=m+4|0}else m=47;break;case 3:if(g)for(m=b+12|0,l=d,n=q,k=0;;)if(a[m>>2]&128&&ac(l),a[n>>2]=
-N[l>>1],k=k+1|0,k>>>0>=(a[f>>2]|0)>>>0){m=47;break}else l=l+2|0,n=n+4|0;else m=47;break;case 8:if(g)for(n=b+12|0,l=d,k=q,m=0;;){a[n>>2]&128&&ac(l);p=w[l>>1]|0;if(-1>=p<<16>>16){m=46;break a}a[k>>2]=p<<16>>16;m=m+1|0;if(m>>>0>=(a[f>>2]|0)>>>0){m=47;break}else l=l+2|0,k=k+4|0}else m=47;break;case 16:if(g)for(k=b+12|0,l=d,m=q,n=0;;){a[k>>2]&128&&kc(l);p=l;y=a[p>>2]|0;B=a[p+4>>2]|0;if(!(1>B>>>0|1==(B|0)&0>y>>>0)){m=46;break a}a[m>>2]=y;n=n+1|0;if(n>>>0>=(a[f>>2]|0)>>>0){m=47;break}else l=l+8|0,m=m+4|
-0}else m=47;break;case 17:if(g)for(m=b+12|0,l=d,n=q,k=0;;){a[m>>2]&128&&kc(l);y=l;B=a[y>>2]|0;p=a[y+4>>2]|0;if(!(1>p>>>0|1==(p|0)&0>B>>>0)){m=46;break a}a[n>>2]=B;k=k+1|0;if(k>>>0>=(a[f>>2]|0)>>>0){m=47;break}else l=l+8|0,n=n+4|0}else m=47;break;default:m=47}while(0);if(46==(m|0))return ja(d),ja(q),u=e,4;47==(m|0)&&(ja(d),a[c>>2]=q,u=e)}return 0}function fb(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y;e=u;u=u+16|0;f=e+4|0;g=e;h=d+2|0;switch(N[h>>1]|0){case 12:case 11:case 10:case 5:case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:break;
-default:return u=e,2}m=ra(b,d,f,4,g)|0;g=d=a[g>>2]|0;if(0!=(m|0)|0==(d|0))return a[c>>2]=0,u=e,m|0;if(11==(w[h>>1]|0))return a[b+12>>2]&128&&Id(d,a[f>>2]|0),a[c>>2]=g,u=e,0;g=a[f>>2]|0;f=eb(g<<2)|0;if(!f)return ja(d),u=e,7;do switch(N[h>>1]|0){case 1:if(g)for(m=d,k=f,l=0;!(W[k>>2]=+(x[m>>0]|0),l=l+1|0,l>>>0>=g>>>0);)m=m+1|0,k=k+4|0;break;case 6:if(g)for(k=d,m=f,l=0;!(W[m>>2]=+(t[k>>0]|0),l=l+1|0,l>>>0>=g>>>0);)k=k+1|0,m=m+4|0;break;case 3:if(g)for(m=b+12|0,k=d,l=f,n=0;!(a[m>>2]&128&&ac(k),W[l>>2]=
-+(N[k>>1]|0),n=n+1|0,n>>>0>=g>>>0);)k=k+2|0,l=l+4|0;break;case 8:if(g)for(l=b+12|0,k=d,n=f,m=0;!(a[l>>2]&128&&ac(k),W[n>>2]=+(w[k>>1]|0),m=m+1|0,m>>>0>=g>>>0);)k=k+2|0,n=n+4|0;break;case 4:if(g)for(n=b+12|0,k=d,m=f,l=0;!(a[n>>2]&128&&pb(k),W[m>>2]=+((a[k>>2]|0)>>>0),l=l+1|0,l>>>0>=g>>>0);)k=k+4|0,m=m+4|0;break;case 9:if(g)for(m=b+12|0,k=d,l=f,n=0;!(a[m>>2]&128&&pb(k),W[l>>2]=+(a[k>>2]|0),n=n+1|0,n>>>0>=g>>>0);)k=k+4|0,l=l+4|0;break;case 16:if(g)for(l=b+12|0,k=d,n=f,m=0;!(a[l>>2]&128&&kc(k),p=k,W[n>>
-2]=+((a[p>>2]|0)>>>0)+4294967296*+((a[p+4>>2]|0)>>>0),m=m+1|0,m>>>0>=g>>>0);)k=k+8|0,n=n+4|0;break;case 17:if(g)for(n=b+12|0,k=d,m=f,l=0;!(a[n>>2]&128&&kc(k),p=k,W[m>>2]=+((a[p>>2]|0)>>>0)+4294967296*+(a[p+4>>2]|0),l=l+1|0,l>>>0>=g>>>0);)k=k+8|0,m=m+4|0;break;case 5:if(g)for(m=b+12|0,k=d,l=f,n=0;!(p=a[m>>2]|0,p&128?(pb(k),q=a[m>>2]|0):q=p,p=k+4|0,y=a[k>>2]|0,q&128&&pb(p),y=(q=a[p>>2]|0)?+(y>>>0)/+(q>>>0):0,W[l>>2]=y,n=n+1|0,n>>>0>=g>>>0);)k=k+8|0,l=l+4|0;break;case 10:if(g)for(l=b+12|0,k=d,n=f,m=
-0;!(q=a[l>>2]|0,q&128?(pb(k),p=a[l>>2]|0):p=q,q=a[k>>2]|0,y=k+4|0,p&128&&pb(y),y=(p=a[y>>2]|0)?+(q|0)/+(p>>>0):0,W[n>>2]=y,m=m+1|0,m>>>0>=g>>>0);)k=k+8|0,n=n+4|0;break;case 12:if(a[b+12>>2]&128&&Ae(d,g),g)for(n=d,k=f,m=0;!(W[k>>2]=+Hb[n>>3],m=m+1|0,m>>>0>=g>>>0);)n=n+8|0,k=k+4|0}while(0);ja(d);a[c>>2]=f;u=e;return 0}function Lb(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l;e=u;u=u+16|0;f=e+4|0;g=e;h=d+2|0;switch(N[h>>1]|0){case 18:case 13:case 16:case 4:break;default:return u=e,2}m=ra(b,d,f,8,g)|0;d=a[g>>
-2]|0;if(0!=(m|0)|0==(d|0))return a[c>>2]=0,u=e,m|0;switch(N[h>>1]|0){case 18:case 16:a[c>>2]=d;if(!(a[b+12>>2]&128))return u=e,0;Ae(d,a[f>>2]|0);u=e;return 0}m=a[f>>2]|0;f=eb(m<<3)|0;if(!f)return ja(d),u=e,7;switch(N[h>>1]|0){case 13:case 4:if(m)for(h=b+12|0,b=d,g=f,k=0;!(a[h>>2]&128&&pb(b),l=g,a[l>>2]=a[b>>2],a[l+4>>2]=0,k=k+1|0,k>>>0>=m>>>0);)b=b+4|0,g=g+8|0}ja(d);a[c>>2]=f;u=e;return 0}function Y(b,d,c,e){b|=0;d|=0;c|=0;var f;f=u;u=u+16|0;a[f>>2]=e|0;if(e=a[1934]|0)td[e&127](d,c,f);if(e=a[1910]|
-0)Ud[e&31](b,d,c,f);u=f}function Sb(b){b|=0;var d,c,e,f,g,h,m,k,l;d=u;u=u+48|0;c=d+24|0;e=d+16|0;f=d+8|0;g=d+32|0;h=d+28|0;m=b+8|0;if(!(a[m>>2]|0))return u=d,1;k=b+12|0;l=a[k>>2]|0;if(l&64)if((0==(l&4096|0)||(a[k>>2]=l&-4097,0!=(da[a[b+528>>2]&63](b)|0)))&&Lc(b)|0)l=a[k>>2]|0;else return u=d,0;if(2097152==(l&2097160|0)&&2==(a[m>>2]|0))if(a[g>>2]=0,a[h>>2]=0,cd(b)|0){if(a[d>>2]=g,Pd(b,324,d)|0&&(a[f>>2]=h,Pd(b,325,f)|0&&(l=b+168|0,Ni(b,324,16,a[l>>2]|0,a[g>>2]|0)|0&&Ni(b,325,16,a[l>>2]|0,a[h>>2]|0)|
-0)))return a[k>>2]&=-2097217,u=d,1}else if(a[e>>2]=g,Pd(b,273,e)|0&&(a[c>>2]=h,Pd(b,279,c)|0&&(l=b+168|0,Ni(b,273,16,a[l>>2]|0,a[g>>2]|0)|0&&Ni(b,279,16,a[l>>2]|0,a[h>>2]|0)|0)))return a[k>>2]&=-2097217,u=d,1;if(0!=(a[k>>2]&2097160|0)&&0==(Fj(b)|0))return u=d,0;u=d;return 1}function jc(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,Ra,V;c=u;u=u+160|0;e=c+136|0;f=c+120|0;g=c+112|0;h=c+104|0;m=c+88|0;k=c+80|0;l=c+72|0;n=c+64|0;p=c+56|0;q=c+48|0;y=c+24|0;B=c+16|0;H=c+8|0;ka=c;z=c+146|0;Q=c+
-144|0;if(!(a[b+500>>2]|0)){C=d;Ra=135926;e=C+54|0;do t[C>>0]=t[Ra>>0]|0,C=C+1|0,Ra=Ra+1|0;while((C|0)<(e|0));u=c;return 0}Ra=b+84|0;C=N[Ra>>1]|0;switch(C|0){case 16:case 8:case 4:case 2:case 1:break;default:return a[ka>>2]=C,ad(d,135980,ka)|0,u=c,0}ka=b+98|0;C=(N[ka>>1]|0)-(N[b+156>>1]|0)|0;a[H>>2]=z;a:do if(Pd(b,262,H)|0)V=w[z>>1]|0;else switch(C|0){case 1:V=w[z>>1]=1;break a;case 3:V=w[z>>1]=2;break a;default:return a[B>>2]=130805,ad(d,136029,B)|0,C=0,u=c,C|0}while(0);z=V&65535;a:do{if(5>(z|0)){switch(z|
-0){case 3:case 1:case 0:break;case 2:if(3<=(C|0))return C=1,u=c,C|0;a[q>>2]=136187;a[q+4>>2]=C;ad(d,136144,q)|0;C=0;u=c;return C|0;default:break a}if(1!=(w[b+126>>1]|0))return C=1,u=c,C|0;V=w[ka>>1]|0;if(1==V<<16>>16)return C=1,u=c,C|0;B=w[Ra>>1]|0;if(8<=(B&65535))return C=1,u=c,C|0;a[y>>2]=130805;a[y+4>>2]=z;a[y+8>>2]=136130;a[y+12>>2]=V&65535;a[y+16>>2]=B&65535;ad(d,136051,y)|0}else{if(8>(z|0)){switch(z|0){case 5:break;case 6:return C=1,u=c,C|0;default:break a}a[p>>2]=Q;ne(b,332,p)|0;B=w[Q>>1]|
-0;if(1!=B<<16>>16)return a[n>>2]=136251,a[n+4>>2]=B&65535,ad(d,136202,n)|0,C=0,u=c,C|0;B=w[ka>>1]|0;if(4<=(B&65535))return C=1,u=c,C|0;a[l>>2]=136130;a[l+4>>2]=B&65535;ad(d,136202,l)|0;C=0;u=c;return C|0}if(32844>(z|0)){switch(z|0){case 8:break;default:break a}B=w[ka>>1]|0;V=w[Ra>>1]|0;if(3==B<<16>>16&8==V<<16>>16)return C=1,u=c,C|0;a[f>>2]=136130;a[f+4>>2]=B&65535;a[f+8>>2]=136499;a[f+12>>2]=V&65535;ad(d,136450,f)|0;C=0;u=c;return C|0}switch(z|0){case 32844:if(-30860==(w[b+88>>1]|0))return C=1,u=
-c,C|0;a[k>>2]=136291;a[k+4>>2]=34676;ad(d,136258,k)|0;C=0;u=c;return C|0;case 32845:break;default:break a}if(-30860!=(w[b+88>>1]&-2)<<16>>16)return a[m>>2]=136291,a[m+4>>2]=34676,a[m+8>>2]=34677,ad(d,136303,m)|0,C=0,u=c,C|0;V=w[b+126>>1]|0;if(1!=V<<16>>16)return a[h>>2]=136391,a[h+4>>2]=V&65535,ad(d,136344,h)|0,C=0,u=c,C|0;V=w[ka>>1]|0;if(3==V<<16>>16)return C=1,u=c,C|0;a[g>>2]=136130;a[g+4>>2]=V&65535;ad(d,136411,g)|0}C=0;u=c;return C|0}while(0);a[e>>2]=130805;a[e+4>>2]=z;ad(d,136411,e)|0;u=c;return 0}
-function lc(b,d,c,e){b|=0;d|=0;e|=0;var f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,Ra,V,Ed,r,x,G,L,K,v,fd,O,M,T,X,P,Oa,A,D,ba,F,Te,R,ga,Ha,ma,bc,ha,U,S,pc,Nb,da,fa,oa,sa,Kc,ua,Ia,Da,na,Na,hf=0,Ca=0,Ga,Ea,La,ca=0,aa,dh=0,ya,xb,Aa,ra=0,jb,mc,pa,Ta,Ya,Sa,mb=0,Db,cc,Za,ia,qa,Ja,ea,wa=0,Ma,xa,$a,la;f=u;u=u+384|0;g=f+344|0;h=f+336|0;m=f+328|0;k=f+320|0;l=f+312|0;n=f+296|0;p=f+288|0;q=f+280|0;y=f+272|0;B=f+264|0;H=f+256|0;ka=f+248|0;z=f+240|0;Q=f+224|0;C=f+216|0;Ra=f+208|0;V=f+200|0;Ed=f+192|0;r=f+176|0;x=f+168|0;
-G=f+160|0;L=f+152|0;K=f+144|0;v=f+136|0;fd=f+128|0;O=f+120|0;M=f+96|0;T=f+80|0;X=f+72|0;P=f+64|0;Oa=f+56|0;A=f+48|0;D=f+40|0;ba=f+32|0;F=f+24|0;Te=f+16|0;R=f+8|0;ga=f;Ha=f+364|0;ma=f+374|0;bc=f+372|0;ha=f+370|0;U=f+360|0;S=f+356|0;pc=f+352|0;Nb=f+368|0;a[b+84>>2]=0;a[b+88>>2]=0;da=b+36|0;a[da>>2]=0;fa=b+40|0;a[fa>>2]=0;oa=b+44|0;a[oa>>2]=0;w[b+30>>1]=4;a[b>>2]=d;a[b+4>>2]=c|0;c=b+24|0;a[ga>>2]=c;ne(d,258,ga)|0;ga=N[c>>1]|0;a:do switch(ga|0){case 16:case 8:case 4:case 2:case 1:sa=b+12|0;a[sa>>2]=0;
-Kc=b+26|0;a[Te>>2]=Kc;ne(d,277,Te)|0;a[F>>2]=ma;a[F+4>>2]=Ha;ne(d,338,F)|0;b:do if(w[ma>>1]|0){ua=N[a[Ha>>2]>>1]|0;switch(ua|0){case 0:break;case 2:case 1:a[sa>>2]=ua;break b;default:break b}3<(N[Kc>>1]|0)&&(a[sa>>2]=1)}while(0);ua=b+32|0;a[ba>>2]=ua;Pd(d,262,ba)|0||(w[ua>>1]=0);Ia=w[ma>>1]|0;Da=w[Kc>>1]|0;Ia<<16>>16?(na=Da,Na=Ia):4==Da<<16>>16?2==(w[ua>>1]|0)?(a[sa>>2]=1,w[ma>>1]=1,na=4,Na=1):(na=4,Na=0):(na=Da,Na=0);Ia=(na&65535)-(Na&65535)|0;a[D>>2]=ha;ne(d,259,D)|0;a[A>>2]=bc;ne(d,284,A)|0;a[Oa>>
-2]=ua;b:do if(Pd(d,262,Oa)|0)Ca=w[ua>>1]|0;else switch(Ia|0){case 1:a[P>>2]=Oa;Pd(d,259,P)|0;Da=w[Oa>>1]|0;c:do if(3>Da<<16>>16)if(2>Da<<16>>16)switch(Da<<16>>16){case -32765:hf=18;break c;default:hf=19;break c}else switch(Da<<16>>16){case 2:hf=18;break c;default:hf=19;break c}else switch(Da<<16>>16){case 4:case 3:hf=18;break;default:hf=19}while(0);if(18==(hf|0)){Ca=w[ua>>1]=0;break b}else if(19==(hf|0)){Ca=w[ua>>1]=1;break b}break;case 3:Ca=w[ua>>1]=2;break b;default:a[X>>2]=130805;ad(e,136029,X)|
-0;break a}while(0);Da=Ca&65535;b:do if(5>(Da|0)){switch(Da|0){case 3:hf=23;break;case 1:case 0:break;case 2:if(3<=(Ia|0))break b;a[fd>>2]=136187;a[fd+4>>2]=Ia;ad(e,136144,fd)|0;break a;default:hf=49;break b}do if(23==(hf|0)){a[T>>2]=U;a[T+4>>2]=S;a[T+8>>2]=pc;if(!(Pd(d,320,T)|0)){Ga=e;Ea=136511;La=Ga+32|0;do t[Ga>>0]=t[Ea>>0]|0,Ga=Ga+1|0,Ea=Ea+1|0;while((Ga|0)<(La|0));break a}ca=2<<N[c>>1];aa=eb(ca)|0;a[da>>2]=aa;aa=eb(ca)|0;a[fa>>2]=aa;aa=eb(ca)|0;a[oa>>2]=aa;dh=a[da>>2]|0;if(0==(dh|0)||0==(aa|0)|
-0==(a[fa>>2]|0)){Ga=e;Ea=136543;La=Ga+32|0;do t[Ga>>0]=t[Ea>>0]|0,Ga=Ga+1|0,Ea=Ea+1|0;while((Ga|0)<(La|0));break a}else Ab(dh,a[U>>2]|0,ca),Ab(a[fa>>2]|0,a[S>>2]|0,ca),Ab(a[oa>>2]|0,a[pc>>2]|0,ca)}while(0);if(1==(w[bc>>1]|0)&&(ca=w[Kc>>1]|0,dh=ca&65535,1!=ca<<16>>16)&&(ca=w[c>>1]|0,8>(ca&65535))){aa=N[ua>>1]|0;a[M>>2]=130805;a[M+4>>2]=aa;a[M+8>>2]=136130;a[M+12>>2]=dh;a[M+16>>2]=ca&65535;ad(e,136051,M)|0;break a}}else{if(8>(Da|0)){switch(Da|0){case 6:if(!(1==(w[bc>>1]|0)&7==(w[ha>>1]|0)))break b;
-a[O>>2]=1;lb(d,65538,O)|0;w[ua>>1]=2;break b;case 5:break;default:hf=49;break b}a[v>>2]=Nb;ne(d,332,v)|0;ca=w[Nb>>1]|0;if(1!=ca<<16>>16){a[K>>2]=136251;a[K+4>>2]=ca&65535;ad(e,136202,K)|0;break a}ca=w[Kc>>1]|0;if(4<=(ca&65535))break;a[L>>2]=136130;a[L+4>>2]=ca&65535;ad(e,136202,L)|0;break a}if(32844>(Da|0))switch(Da|0){case 8:break b;default:hf=49;break b}switch(Da|0){case 32844:if(-30860==(w[ha>>1]|0)){a[x>>2]=3;lb(d,65560,x)|0;w[ua>>1]=1;w[c>>1]=8;break b}else{a[G>>2]=136291;a[G+4>>2]=34676;ad(e,
-136258,G)|0;break a}case 32845:break;default:hf=49;break b}if(-30860!=(w[ha>>1]&-2)<<16>>16){a[r>>2]=136291;a[r+4>>2]=34676;a[r+8>>2]=34677;ad(e,136303,r)|0;break a}ca=w[bc>>1]|0;if(1==ca<<16>>16)a[V>>2]=3,lb(d,65560,V)|0,w[ua>>1]=2,w[c>>1]=8;else return a[Ed>>2]=136391,a[Ed+4>>2]=ca&65535,ad(e,136344,Ed)|0,ya=0,u=f,ya|0}while(0);if(49==(hf|0)){a[Ra>>2]=130805;a[Ra+4>>2]=Da;ad(e,136411,Ra)|0;break a}Ia=b+56|0;ca=b+72|0;dh=b+76|0;aa=b+80|0;a[Ia>>2]=0;a[Ia+4>>2]=0;a[Ia+8>>2]=0;a[Ia+12>>2]=0;a[Ia+16>>
-2]=0;a[Ia+20>>2]=0;a[Ia+24>>2]=0;a[C>>2]=b+16;Pd(d,256,C)|0;a[Q>>2]=b+20;Pd(d,257,Q)|0;a[z>>2]=b+28;ne(d,274,z)|0;if(2==(w[bc>>1]|0)){if(xb=2>(N[Kc>>1]|0),a[b+8>>2]=xb&1,!xb){xb=0!=(cd(a[b>>2]|0)|0);Aa=b+48|0;a[Aa>>2]=xb?3:4;xb=b+52|0;a[xb>>2]=0;b:do switch(N[ua>>1]|0){case 2:case 1:case 0:switch(N[c>>1]|0){case 8:switch(a[sa>>2]|0){case 1:a[xb>>2]=1;break b;case 2:a[dh>>2]|0&&Z(136575,136593,2728,136608);ra=eb(65536)|0;if(a[dh>>2]=ra)jb=0,mc=ra;else{Y(a[(a[b>>2]|0)+628>>2]|0,136608,150005,l);break b}for(;;){ra=
-0;for(pa=mc;Ta=((((E(ra,jb)|0)+127|0)>>>0)/255|0)&255,t[pa>>0]=Ta,ra=ra+1|0,256!=(ra|0);)pa=pa+1|0;jb=jb+1|0;if(256==(jb|0))break;else mc=mc+256|0}a[xb>>2]=2;break b;default:a[xb>>2]=3;break b}case 16:break;default:break b}pa=a[sa>>2]|0;if(1==(pa|0)){a[aa>>2]|0&&Z(136623,136593,2750,136648);ra=eb(65536)|0;if(a[aa>>2]=ra)Ya=ra,Sa=0;else{Y(a[(a[b>>2]|0)+628>>2]|0,136648,150005,k);break b}for(;t[Ya>>0]=((Sa+128|0)>>>0)/257|0,Sa=Sa+1|0,65536!=(Sa|0);)Ya=Ya+1|0;a[xb>>2]=4;break b}ra=2==(pa|0);a[aa>>2]|
-0&&Z(136623,136593,2750,136648);Ta=eb(65536)|0;if(a[aa>>2]=Ta)for(Db=Ta,Ta=0;;)if(t[Db>>0]=((Ta+128|0)>>>0)/257|0,Ta=Ta+1|0,65536==(Ta|0)){mb=1;break}else Db=Db+1|0;else Y(a[(a[b>>2]|0)+628>>2]|0,136648,150005,m),mb=0;if(!ra){if(!mb)break b;a[xb>>2]=6;break b}if(mb){a[dh>>2]|0&&Z(136575,136593,2728,136608);Db=eb(65536)|0;if(a[dh>>2]=Db)cc=0,Za=Db;else{Y(a[(a[b>>2]|0)+628>>2]|0,136608,150005,h);break b}for(;;){Db=0;for(Ta=Za;pa=((((E(Db,cc)|0)+127|0)>>>0)/255|0)&255,t[Ta>>0]=pa,Db=Db+1|0,256!=(Db|
-0);)Ta=Ta+1|0;cc=cc+1|0;if(256==(cc|0))break;else Za=Za+256|0}a[xb>>2]=5}break;case 5:8==(w[c>>1]|0)&&4==(w[Kc>>1]|0)&&(a[sa>>2]=1,a[xb>>2]=7);break;case 6:8==(w[c>>1]|0)&&3==(w[Kc>>1]|0)&&0!=(Wc(b)|0)&&(ra=a[b>>2]|0,a[g>>2]=z,a[g+4>>2]=Q,ne(ra,530,g)|0,17==(N[z>>1]<<4|N[Q>>1]|0))&&(a[xb>>2]=8)}while(0);if(a[Aa>>2]|0&&a[xb>>2]|0)return ya=1,u=f,ya|0;Ga=e;Ea=136793;La=Ga+28|0;do t[Ga>>0]=t[Ea>>0]|0,Ga=Ga+1|0,Ea=Ea+1|0;while((Ga|0)<(La|0));break a}}else a[b+8>>2]=1;xb=0!=(cd(a[b>>2]|0)|0);Aa=b+48|0;
-a[Aa>>2]=xb?1:2;xb=b+52|0;a[xb>>2]=0;b:do switch(N[ua>>1]|0){case 2:switch(N[c>>1]|0){case 8:switch(a[sa>>2]|0){case 1:a[xb>>2]=1;break b;case 2:a[dh>>2]|0&&Z(136575,136593,2728,136608);Da=eb(65536)|0;if(a[dh>>2]=Da)ia=0,qa=Da;else{Y(a[(a[b>>2]|0)+628>>2]|0,136608,150005,ka);break b}for(;;){Da=0;for(ra=qa;Ta=((((E(Da,ia)|0)+127|0)>>>0)/255|0)&255,t[ra>>0]=Ta,Da=Da+1|0,256!=(Da|0);)ra=ra+1|0;ia=ia+1|0;if(256==(ia|0))break;else qa=qa+256|0}a[xb>>2]=2;break b;default:a[xb>>2]=3;break b}case 16:break;
-default:break b}ra=a[sa>>2]|0;if(1==(ra|0)){a[aa>>2]|0&&Z(136623,136593,2750,136648);Da=eb(65536)|0;if(a[aa>>2]=Da)Ja=Da,ea=0;else{Y(a[(a[b>>2]|0)+628>>2]|0,136648,150005,H);break b}for(;t[Ja>>0]=((ea+128|0)>>>0)/257|0,ea=ea+1|0,65536!=(ea|0);)Ja=Ja+1|0;a[xb>>2]=4;break b}Da=2==(ra|0);a[aa>>2]|0&&Z(136623,136593,2750,136648);Ta=eb(65536)|0;if(a[aa>>2]=Ta)for(Db=Ta,Ta=0;;)if(t[Db>>0]=((Ta+128|0)>>>0)/257|0,Ta=Ta+1|0,65536==(Ta|0)){wa=1;break}else Db=Db+1|0;else Y(a[(a[b>>2]|0)+628>>2]|0,136648,150005,
-B),wa=0;if(!Da){if(!wa)break b;a[xb>>2]=6;break b}if(wa){a[dh>>2]|0&&Z(136575,136593,2728,136608);Db=eb(65536)|0;if(a[dh>>2]=Db)Ma=0,xa=Db;else{Y(a[(a[b>>2]|0)+628>>2]|0,136608,150005,y);break b}for(;;){Db=0;for(Ta=xa;ra=((((E(Db,Ma)|0)+127|0)>>>0)/255|0)&255,t[Ta>>0]=ra,Db=Db+1|0,256!=(Db|0);)Ta=Ta+1|0;Ma=Ma+1|0;if(256==(Ma|0))break;else xa=xa+256|0}a[xb>>2]=5}break;case 5:if(0!=(nc(b)|0)&&8==(w[c>>1]|0)){a[xb>>2]=a[Ia>>2]|0?8:7;break b}break;case 3:if(nc(b)|0)switch(N[c>>1]|0){case 8:a[xb>>2]=9;
-break b;case 4:a[xb>>2]=10;break b;case 2:a[xb>>2]=11;break b;case 1:a[xb>>2]=12;break b;default:break b}break;case 1:case 0:if(nc(b)|0)switch(N[c>>1]|0){case 16:a[xb>>2]=13;break b;case 8:if(0!=(a[sa>>2]|0)&&2==(w[Kc>>1]|0)){a[xb>>2]=14;break b}a[xb>>2]=15;break b;case 4:a[xb>>2]=16;break b;case 2:a[xb>>2]=17;break b;case 1:a[xb>>2]=18;break b;default:break b}break;case 6:if(8==(w[c>>1]|0)&&3==(w[Kc>>1]|0)&&0!=(Wc(b)|0))switch(Da=a[b>>2]|0,a[q>>2]=C,a[q+4>>2]=Oa,ne(Da,530,q)|0,N[C>>1]<<4|N[Oa>>1]|
-0){case 68:a[xb>>2]=19;break b;case 66:a[xb>>2]=20;break b;case 65:a[xb>>2]=21;break b;case 34:a[xb>>2]=22;break b;case 33:a[xb>>2]=23;break b;case 18:a[xb>>2]=24;break b;case 17:a[xb>>2]=25;break b;default:break b}break;case 8:if(0!=(nc(b)|0)&&8==(w[c>>1]|0)){if(0==(a[ca>>2]|0)&&(Da=eb(18124)|0,a[ca>>2]=Da,0==(Da|0)))Y(a[(a[b>>2]|0)+628>>2]|0,136670,136691,p),$a=0;else{Da=a[b>>2]|0;a[n>>2]=z;ne(Da,318,n)|0;W[Q+4>>2]=100;Da=a[z>>2]|0;Ta=Da+4|0;W[Q>>2]=+W[Da>>2]/+W[Ta>>2]*100;la=+W[Ta>>2];W[Q+8>>2]=
-(1-+W[Da>>2]-la)/la*100;var Ba=a[ca>>2]|0,va=7644,za=Q,Ba=Ba|0,za=za|0,ta=void 0,nb=void 0,sc=void 0,gb=void 0,hb=void 0,ob=void 0,Bb=void 0,qb=void 0,kb=void 0,ib=void 0,Cb=void 0,fe=0,sb=void 0,Xa=void 0,Fa=void 0,Pa=0,Eb=void 0,vb=void 0,tb=void 0;a[Ba>>2]=1500;Ab(Ba+28|0,va|0,84);ta=1/+W[Ba+100>>2];va=Ba+64|0;nb=+W[va>>2];sc=Ba+88|0;gb=+W[sc>>2];hb=a[Ba>>2]|0;W[Ba+4>>2]=(nb-gb)/+(hb|0);if(0>(hb|0))ob=nb,Bb=gb,qb=hb;else{kb=Ba+76|0;ib=hb;for(hb=0;;)if(gb=+((a[kb>>2]|0)>>>0)*+Oi(+(+(hb|0)/+(ib|
-0)),+ta),W[Ba+112+(hb<<2)>>2]=gb,Cb=a[Ba>>2]|0,(hb|0)<(Cb|0))ib=Cb,hb=hb+1|0;else{fe=Cb;break}ob=+W[va>>2];Bb=+W[sc>>2];qb=fe}ta=1/+W[Ba+104>>2];W[Ba+8>>2]=(ob-Bb)/+(qb|0);if(0>(qb|0))sb=ob,Xa=Bb,Fa=qb;else{fe=Ba+80|0;hb=qb;for(qb=0;;)if(Bb=+((a[fe>>2]|0)>>>0)*+Oi(+(+(qb|0)/+(hb|0)),+ta),W[Ba+6116+(qb<<2)>>2]=Bb,ib=a[Ba>>2]|0,(qb|0)<(ib|0))hb=ib,qb=qb+1|0;else{Pa=ib;break}sb=+W[va>>2];Xa=+W[sc>>2];Fa=Pa}ta=1/+W[Ba+108>>2];W[Ba+12>>2]=(sb-Xa)/+(Fa|0);if(!(0>(Fa|0)))for(Pa=Ba+84|0,sc=Fa,Fa=0;!(Xa=+((a[Pa>>
-2]|0)>>>0)*+Oi(+(+(Fa|0)/+(sc|0)),+ta),W[Ba+12120+(Fa<<2)>>2]=Xa,sc=a[Ba>>2]|0,(Fa|0)>=(sc|0));)Fa=Fa+1|0;Eb=a[za>>2]|0;a[(Ba+16|0)>>2]=Eb;vb=a[(za+4|0)>>2]|0;a[(Ba+20|0)>>2]=vb;tb=a[(za+8|0)>>2]|0;a[(Ba+24|0)>>2]=tb;$a=26}a[xb>>2]=$a}}while(0);if(a[Aa>>2]|0&&a[xb>>2]|0)return ya=1,u=f,ya|0;Ga=e;Ea=136793;La=Ga+28|0;do t[Ga>>0]=t[Ea>>0]|0,Ga=Ga+1|0,Ea=Ea+1|0;while((Ga|0)<(La|0));break;default:a[R>>2]=ga,ad(e,135980,R)|0}while(0);ja(a[da>>2]|0);ja(a[fa>>2]|0);ja(a[oa>>2]|0);a[oa>>2]=0;a[fa>>2]=0;a[da>>
-2]=0;u=f;return 0}function vc(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m,k,l,n;h=u;u=u+1136|0;m=h+16|0;k=h+8|0;l=h+112|0;n=h+20|0;Va(l|0,0,1024)|0;if(0!=(jc(b,l)|0)&&0!=(lc(n,b,g,l)|0)){w[n+30>>1]=f;f=a[n+20>>2]|0;g=e+((E(c-f|0,d)|0)<<2)|0;(c=a[n+48>>2]|0)?a[n+52>>2]|0?e=rb[c&63](n,g,d,f)|0:(e=a[n>>2]|0,b=a[e+628>>2]|0,Y(b,Bc(e)|0,136844,k),e=0):(e=a[n>>2]|0,b=a[e+628>>2]|0,Y(b,Bc(e)|0,136821,h),e=0);m=n|0;n=m+56|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+60|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+
-64|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+68|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+72|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+76|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+80|0;if(b=a[n>>2]|0)ja(b),a[n>>2]=0;n=m+36|0;if(b=a[n>>2]|0)ja(b),b=m+40|0,ja(a[b>>2]|0),m=m+44|0,ja(a[m>>2]|0),a[m>>2]=0,a[b>>2]=0,a[n>>2]=0;u=h;return e|0}e=a[b+628>>2]|0;n=Bc(b)|0;a[m>>2]=l;Y(e,n,154321,m);u=h;return 0}function nc(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,H,ka;d=u;u=u+32|0;c=d+24|0;e=d+16|0;f=d+8|0;g=d;h=b+32|0;switch(N[h>>
-1]|0){case 5:case 6:case 2:if(8==(w[b+24>>1]|0))return u=d,1;break;case 0:case 1:break;case 3:f=b+36|0;m=a[f>>2]|0;k=b+40|0;l=a[k>>2]|0;g=b+44|0;n=a[g>>2]|0;h=b+24|0;p=w[h>>1]|0;q=1<<(p&65535);y=n;B=l;H=q;for(ka=m;;){if(0>=(H|0)){y=36;break}if(255<(N[ka>>1]|0)){y=34;break}if(255<(N[B>>1]|0)){y=34;break}if(255<(N[y>>1]|0)){y=34;break}else y=y+2|0,B=B+2|0,H=H+-1|0,ka=ka+2|0}if(34==(y|0)){if(31==p<<16>>16)return u=d,1;p=q;do q=p,p=p+-1|0,ka=m+(p<<1)|0,w[ka>>1]=(N[ka>>1]|0)>>>8,ka=l+(p<<1)|0,w[ka>>1]=
-(N[ka>>1]|0)>>>8,ka=n+(p<<1)|0,w[ka>>1]=(N[ka>>1]|0)>>>8;while(1<(q|0))}else 36==(y|0)&&(y=a[b>>2]|0,p=a[y+628>>2]|0,Wb(p,Bc(y)|0,137096,e));e=w[h>>1]|0;if(9<=(e&65535))return u=d,1;h=e&65535;e=a[f>>2]|0;f=a[k>>2]|0;k=a[g>>2]|0;g=eb(((8/(h>>>0)|0)<<10)+1024|0)|0;y=b+64|0;a[y>>2]=g;if(!g)return p=a[b>>2]|0,n=a[p+628>>2]|0,Y(n,Bc(p)|0,137120,c),u=d,0;c=g;p=0;for(n=g+1024|0;;){a[c+(p<<2)>>2]=n;switch(h|0){case 1:g=p>>>7&1;a[n>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;
-g=p>>>6&1;a[n+4>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>5&1;a[n+8>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>4&1;a[n+12>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>3&1;a[n+16>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>2&1;a[n+20>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>1&1;a[n+24>>2]=N[e+(g<<1)>>1]&255|
-N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p&1;a[n+28>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;m=n+32|0;break;case 2:g=p>>>6&3;a[n>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>4&3;a[n+4>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p>>>2&3;a[n+8>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p&3;a[n+12>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+
-(g<<1)>>1]<<16|-16777216;m=n+16|0;break;case 4:g=p>>>4&15;a[n>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;g=p&15;a[n+4>>2]=N[e+(g<<1)>>1]&255|N[f+(g<<1)>>1]<<8&65280|N[k+(g<<1)>>1]<<16|-16777216;m=n+8|0;break;case 8:a[n>>2]=N[e+(p<<1)>>1]&255|N[f+(p<<1)>>1]<<8&65280|N[k+(p<<1)>>1]<<16|-16777216;m=n+4|0;break;default:m=n}g=p+1|0;if(256==(g|0))break;c=a[y>>2]|0;p=g;n=m}u=d;return 1;default:return u=d,1}m=b+24|0;n=w[m>>1]|0;p=16==n<<16>>16?255:(1<<(n&65535))+-1|0;n=p+
-1|0;y=eb(n)|0;c=b+56|0;a[c>>2]=y;if(!y)return k=a[b>>2]|0,f=a[k+628>>2]|0,Y(f,Bc(k)|0,137023,g),u=d,0;g=0>(p|0);if(!(w[h>>1]|0)){if(g?0:(t[y>>0]=-1,0!=(p|0))){k=1;do t[(a[c>>2]|0)+k>>0]=(255*(p-k|0)|0)/(p|0)|0,k=k+1|0;while((k|0)!=(n|0))}}else if(g?0:(t[y>>0]=0,0!=(p|0))){y=1;do t[(a[c>>2]|0)+y>>0]=(255*y|0)/(p|0)|0,y=y+1|0;while((y|0)!=(n|0))}n=w[m>>1]|0;if(17<=(n&65535)||2<=(N[h>>1]|0))return u=d,1;h=a[c>>2]|0;m=n&65535;y=8/(m>>>0)|0;p=eb(0==(y|0)?2048:(y<<10)+1024|0)|0;y=b+60|0;a[y>>2]=p;if(!p)return g=
-a[b>>2]|0,b=a[g+628>>2]|0,Y(b,Bc(g)|0,137065,f),u=d,0;f=p+1024|0;a:do switch(n<<16>>16){case 1:for(g=p,b=0,k=f;;){a[g+(b<<2)>>2]=k;f=x[h+(b>>7)>>0]|0;a[k>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>6&1)>>0]|0;a[k+4>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>5&1)>>0]|0;a[k+8>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>4&1)>>0]|0;a[k+12>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>3&1)>>0]|0;a[k+16>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>2&1)>>0]|0;a[k+20>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>1&1)>>0]|0;a[k+24>>2]=f|f<<8|f<<
-16|-16777216;f=x[h+(b&1)>>0]|0;a[k+28>>2]=f|f<<8|f<<16|-16777216;f=b+1|0;if(256==(f|0))break a;g=a[y>>2]|0;b=f;k=k+32|0}case 2:for(k=p,b=0,g=f;;){a[k+(b<<2)>>2]=g;f=x[h+(b>>6)>>0]|0;a[g>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>4&3)>>0]|0;a[g+4>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b>>>2&3)>>0]|0;a[g+8>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b&3)>>0]|0;a[g+12>>2]=f|f<<8|f<<16|-16777216;if(255==(b|0))break a;k=a[y>>2]|0;b=b+1|0;g=g+16|0}case 16:a[p>>2]=f;g=x[h>>0]|0;a[f>>2]=g|g<<8|g<<16|-16777216;g=1;b=f;do b=b+
-4|0,a[(a[y>>2]|0)+(g<<2)>>2]=b,k=x[h+g>>0]|0,a[b>>2]=k|k<<8|k<<16|-16777216,g=g+1|0;while(256!=(g|0));break;default:for(g=p,b=0,k=f;;){a[g+(b<<2)>>2]=k;switch(m|0){case 8:case 16:f=x[h+b>>0]|0;a[k>>2]=f|f<<8|f<<16|-16777216;e=k+4|0;break;case 4:f=x[h+(b>>4)>>0]|0;a[k>>2]=f|f<<8|f<<16|-16777216;f=x[h+(b&15)>>0]|0;a[k+4>>2]=f|f<<8|f<<16|-16777216;e=k+8|0;break;default:e=k}f=b+1|0;if(256<=(f|0))break a;g=a[y>>2]|0;b=f;k=e}}while(0);ja(a[c>>2]|0);a[c>>2]=0;u=d;return 1}function Wc(b){b|=0;var d,c,e,f,
-g,h,m,k=0;d=u;u=u+32|0;c=d+16|0;e=d+8|0;f=d;g=d+24|0;h=d+20|0;m=b+68|0;if(0==(a[m>>2]|0)&&(k=eb(6168)|0,a[m>>2]=k,0==(k|0)))return Y(a[(a[b>>2]|0)+628>>2]|0,136962,136982,f),u=d,0;f=a[b>>2]|0;a[e>>2]=g;ne(f,529,e)|0;e=a[b>>2]|0;a[c>>2]=h;ne(e,532,c)|0;b=a[m>>2]|0;g=a[g>>2]|0;var l=a[h>>2]|0;b|=0;g|=0;var l=l|0,n,p,q,y,B,H,ka;$c(b+24|0,0,256);h=b+280|0;a[b>>2]=h;c=0;do t[h+c>>0]=c,c=c+1|0;while(256!=(c|0));$c(h+256|0,255,512);a[b+4>>2]=h+768;a[b+8>>2]=h+1792;a[b+12>>2]=h+2816;a[b+16>>2]=h+3840;a[b+
-20>>2]=h+4864;e=+W[g>>2];n=2-2*e;b=~~(65536*n+.5);f=+W[g+4>>2];c=0-~~(e*n/f*65536+.5)|0;n=+W[g+8>>2];e=2-2*n;g=~~(65536*e+.5);m=~~(n*e/f*65536+.5);f=+W[l+16>>2]+-128;k=~~f;e=+W[l+20>>2]+-128-f;f=0!=e?e:1;e=+W[l+8>>2]+-128;p=~~e;n=+W[l+12>>2]+-128-e;e=0!=n?n:1;n=+W[l>>2];q=~~n;l=+W[l+4>>2]-n;n=0!=l?l:1;l=0;for(y=-128;B=~~(127*+(y-k|0)/f),H=~~(127*+(y-p|0)/e),ka=(E(B,b)|0)+32768>>16,a[h+(l+192<<2)>>2]=ka,ka=(E(H,g)|0)+32768>>16,a[h+(l+448<<2)>>2]=ka,ka=E(B,c)|0,a[h+(l+704<<2)>>2]=ka,ka=32768-(E(H,m)|
-0)|0,a[h+(l+960<<2)>>2]=ka,a[h+(l+1216<<2)>>2]=~~(255*+(y+128-q|0)/n),l=l+1|0,256!=(l|0);)y=y+1|0;u=d;return 1}function rd(b,d,c,e,f,g,h,m,k,l){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;h|=0;m|=0;k|=0;l|=0;var n,p,q,y,B,H,ka,z,Q,C,Ra,V,Ed,r,x,G,L,K,E,v=0,O,M,T,X=0,P=0;n=u;u=u+96|0;p=n+80|0;q=n+72|0;y=n+64|0;B=n+56|0;H=n+48|0;ka=n+40|0;z=n+32|0;Q=n+24|0;C=n+16|0;Ra=n+8|0;V=n;Ed=t[d>>0]|0;switch(Ed<<24>>24|0){case 114:r=43==(t[d+1>>0]|0)?2:0;break;case 97:case 119:r=119==Ed<<24>>24?578:66;break;default:return a[Ra>>
-2]=d,Y(0,137231,137216,Ra),u=n,0}Ra=eb((bk(b)|0)+697|0)|0;if(!Ra)return a[C>>2]=b,Y(c,137231,137246,C),u=n,0;$c(Ra,0,696);C=Ra+696|0;a[Ra>>2]=C;C|=0;gj(C,b|0)|0;C|0;C=Ra+8|0;a[C>>2]=r&2;w[Ra+448>>1]=-1;Ed=Ra+456|0;a[Ed>>2]=0;a[Ed+4>>2]=0;a[Ra+452>>2]=-1;a[Ra+444>>2]=-1;Ed=Ra+628|0;a[Ed>>2]=c;if(!(0!=(e|0)&0!=(f|0)&0!=(g|0)&0!=(h|0)&0!=(m|0)))return Y(c,137231,137281,Q),u=n,0;Q=Ra+632|0;a[Q>>2]=e;e=Ra+636|0;a[e>>2]=f;f=Ra+640|0;a[f>>2]=g;a[Ra+644>>2]=h;a[Ra+648>>2]=m;m=Ra+620|0;a[m>>2]=0==(k|0)?7:
-k;a[Ra+624>>2]=0==(l|0)?1:l;Ng(Ra);l=Ra+12|0;h=(k=0==(r|0))?2049:1;g=0==(r&576|0)?h|32768:h;a[l>>2]=g;h=t[d>>0]|0;a:do if(h<<24>>24){c=0==(r&64|0);if(k)k=h,K=h=L=G=x=g,E=d;else for(x=g,k=d;;){switch(h<<24>>24|0){case 98:c||(g=x|128,x=a[l>>2]=g);break;case 56:c||(g=x|524288,x=a[l>>2]=g);break;case 66:g=x&-4|1;x=a[l>>2]=g;break;case 76:g=x&-4|2;x=a[l>>2]=g;break;case 72:g=x&-4|2;x=a[l>>2]=g;break;case 104:g|=65536;x=a[l>>2]=g;break}k=k+1|0;h=t[k>>0]|0;if(!(h<<24>>24))break a}for(;;){do switch(k<<24>>
-24|0){case 98:c?(v=K,O=h,M=L,T=G,g=x):(g=K|128,T=M=O=v=a[l>>2]=g);break;case 56:c?(v=K,O=h,M=L,T=G,g=x):(g=K|524288,T=M=O=v=a[l>>2]=g);break;case 66:g=K&-4|1;T=M=O=v=a[l>>2]=g;break;case 76:g=K&-4|2;T=M=O=v=a[l>>2]=g;break;case 72:g=K&-4|2;T=M=O=v=a[l>>2]=g;break;case 77:g=K|2048;T=M=O=v=a[l>>2]=g;break;case 109:g=h&-2049;T=M=O=v=a[l>>2]=g;break;case 67:g=L|32768;T=M=O=v=a[l>>2]=g;break;case 99:g=G&-32769;T=M=O=v=a[l>>2]=g;break;case 104:g=x|65536;T=M=O=v=a[l>>2]=g;break;default:v=K,O=h,M=L,T=G,g=
-x}while(0);E=E+1|0;k=t[E>>0]|0;if(k<<24>>24)x=g,G=T,L=M,h=O,K=v;else break a}}while(0);a:do if(0==(r&512|0)&&(v=Ra+424|0,8==(Aa[a[Q>>2]&63](a[Ed>>2]|0,v,8)|0))){K=w[v>>1]|0;v=K&65535;switch(K<<16>>16){case 19789:a[l>>2]|=128;break;case 20549:case 18761:break;default:K=a[Ed>>2]|0;a[H>>2]=v;a[H+4>>2]=v;Y(K,b,137351,H);break a}K=Ra+426|0;a[l>>2]&128&&ac(K);v=w[K>>1]|0;K=v&65535;if(42!=(v&-2)<<16>>16)O=a[Ed>>2]|0,a[B>>2]=K,a[B+4>>2]=K,Y(O,b,137402,B);else{do if(42!=v<<16>>16){O=Ra+432|0;if(8!=(Aa[a[Q>>
-2]&63](a[Ed>>2]|0,O,8)|0)){Y(a[Ed>>2]|0,b,137327,y);break a}K=Ra+428|0;a[l>>2]&128&&(ac(K),kc(O));O=w[K>>1]|0;K=O&65535;if(8!=O<<16>>16){O=a[Ed>>2]|0;a[q>>2]=K;a[q+4>>2]=K;Y(O,b,137448,q);break a}O=w[Ra+430>>1]|0;K=O&65535;if(O<<16>>16){O=a[Ed>>2]|0;a[p>>2]=K;a[p+4>>2]=K;Y(O,b,137498,p);break a}else w[Ra+440>>1]=16,O=a[l>>2]|524288,c=a[l>>2]=O}else O=a[l>>2]|0,O&128?(pb(Ra+428|0),c=a[l>>2]|0):c=O,w[Ra+440>>1]=8;while(0);v=c|512;a[l>>2]=v;O=Ra+588|0;a[O>>2]=0;a[O+4>>2]=0;a[O+8>>2]=0;a[O+12>>2]=0;a[O+
-16>>2]=0;switch(t[d>>0]|0){case 114:break;case 97:if(Pi(Ra)|0)b=Ra;else break a;u=n;return b|0;default:break a}c&524288?(O=Ra+432|0,K=a[O+4>>2]|0,h=Ra+24|0,a[h>>2]=a[O>>2],a[h+4>>2]=K):(O=Ra+24|0,a[O>>2]=a[Ra+428>>2],a[O+4>>2]=0);c&2048?Aa[a[m>>2]&63](a[Ed>>2]|0,Ra+612|0,V)|0?(K=V,h=a[K>>2]|0,O=a[K+4>>2]|0,a[Ra+616>>2]=h,(h|0)==(h|0)&((0>(h|0))<<31>>31|0)==(O|0)?X=a[l>>2]|0:Z(137544,137569,449,137231)):(K=a[l>>2]&-2049,X=a[l>>2]=K):X=v;if(X&65536)return b=Ra,u=n,b|0;if(ck(Ra)|0)return a[Ra+608>>2]=
--1,a[l>>2]|=16,b=Ra,u=n,b|0}}else P=37;while(0);if(37==(P|0))if(a[C>>2]|0)if(X=a[l>>2]|0,V=X&128,m=Ra+424|0,w[m>>1]=0!=(V|0)?19789:18761,c=Ra+426|0,X&524288?(w[c>>1]=43,X=Ra+428|0,w[X>>1]=8,w[Ra+430>>1]=0,d=Ra+432|0,a[d>>2]=0,a[d+4>>2]=0,V&&(ac(c),ac(X)),X=Ra+440|0,w[X>>1]=16):(w[c>>1]=42,a[Ra+428>>2]=0,V&&ac(c),X=Ra+440|0,w[X>>1]=8),d=X,rb[a[f>>2]&63](a[Ed>>2]|0,0,0,0)|0,X=Aa[a[e>>2]&63](a[Ed>>2]|0,m,N[d>>1]|0)|0,(X|0)!=(N[d>>1]|0))Y(a[Ed>>2]|0,b,142082,ka);else{if(19789==(w[m>>1]|0)&&(a[l>>2]|=
-128),Pi(Ra)|0)return m=Ra+16|0,a[m>>2]=0,a[m+4>>2]=0,a[Ra+32>>2]=0,w[Ra+36>>1]=0,w[Ra+38>>1]=0,u=n,Ra|0}else Y(a[Ed>>2]|0,b,137327,z);a[C>>2]=0;Ik(Ra);u=n;return 0}function Bc(b){return a[(b|0)>>2]|0}function cd(b){return(a[(b|0)+12>>2]|0)>>>10&1|0}function Vc(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k;f=u;u=u+32|0;g=f+16|0;if(1==(a[b+8>>2]|0))return Y(a[b+628>>2]|0,a[b>>2]|0,137580,f),u=f,-1;if(a[b+12>>2]&1024)return Y(a[b+628>>2]|0,a[b>>2]|0,137606,f+8|0),u=f,-1;h=a[b+168>>2]|0;if(h>>>0<=d>>>0)return m=
-a[b+628>>2]|0,a[g>>2]=d,a[g+4>>2]=h,Y(m,137830,137851,g),u=f,-1;g=a[b+100>>2]|0;m=a[b+60>>2]|0;h=g>>>0>m>>>0?m:g;g=((m+-1+h|0)>>>0)/(h>>>0)|0;k=m-(E((d>>>0)%(g>>>0)|0,h)|0)|0;m=b|0;var l;l=u;u=u+16|0;h=Yd(m,(k>>>0>h>>>0?h:k)|0)|0;(h|0)==(h|0)&((0>(h|0))<<31>>31|0)==(U|0)?(u=l,h|=0):(Y(a[m+628>>2]|0,138858,139721,l),u=l,h=0);m=h|0;if(!m)return u=f,-1;k=-1!=(e|0)&(m|0)>(e|0)?e:m;if(!(Dd(b,d)|0)||1>(rb[a[b+540>>2]&63](b,c,k,((d>>>0)/(g>>>0)|0)&65535)|0))return u=f,-1;td[a[b+652>>2]&127](b,c,k);u=f;return k|
-0}function Dd(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,y=0,B;c=u;u=u+64|0;e=c+48|0;f=c+40|0;g=c+16|0;h=b+176|0;m=a[h>>2]|0;if(!m)return u=c,0;k=b+12|0;l=a[k>>2]|0;do if(!(l&131072)){n=m+(d<<3)|0;p=a[n>>2]|0;q=a[n+4>>2]|0;if(0>(q|0)|0==(q|0)&1>p>>>0)return n=a[b+628>>2]|0,y=c,a[y>>2]=p,a[y+4>>2]=q,a[c+8>>2]=d,Y(n,137884,137898,c),h=0,u=c,h|0;if(0!=(l&2048|0)&&0!=((N[b+94>>1]|256)&l|0)){0!=(l&512|0)&&(n=b+588|0,y=a[n>>2]|0,0!=(y|0))?(ja(y),a[n>>2]=0,a[b+592>>2]=0,y=a[k>>2]|0):y=l;n=y&-513;a[k>>2]=n;
-y=a[b+616>>2]|0;l=(0>(y|0))<<31>>31;e=(a[b+172>>2]|0)+(d<<3)|0;f=a[e>>2]|0;m=a[e+4>>2]|0;e=Ic(y|0,l|0,p|0,q|0)|0;B=U;if(!(l>>>0<q>>>0|(l|0)==(q|0)&y>>>0<p>>>0|m>>>0>B>>>0|(m|0)==(B|0)&f>>>0>e>>>0)){a[b+592>>2]=p;a[b+588>>2]=(a[b+612>>2]|0)+f;a[b+596>>2]=0;a[b+600>>2]=p;a[k>>2]=n|8388608;break}n=a[b+628>>2]|0;e=Ic(y|0,l|0,f|0,m|0)|0;a[g>>2]=d;m=g+8|0;a[m>>2]=e;a[m+4>>2]=U;m=g+16|0;a[m>>2]=p;a[m+4>>2]=q;Y(n,137884,137939,g);a[b+452>>2]=-1;h=0;u=c;return h|0}if(!((p|0)==(p|0)&((0>(p|0))<<31>>31|0)==
-(q|0)))return Y(a[b+628>>2]|0,137884,139721,f),h=0,u=c,h|0;if((p|0)>(a[b+592>>2]|0)){a[b+452>>2]=-1;if(!(l&512))return q=a[b+628>>2]|0,a[e>>2]=d,Y(q,137884,137994,e),h=0,u=c,h|0;if(ld(b,0,p)|0)q=a[k>>2]|0;else return h=0,u=c,h|0}else q=l;if(0!=(q&8388608|0)&&(a[b+452>>2]=-1,0==(ld(b,0,p)|0)))return h=0,u=c,h|0;q=b+588|0;if((me(b,d,a[q>>2]|0,p,137884)|0)!=(p|0))return h=0,u=c,h|0;a[b+596>>2]=0;a[b+600>>2]=p;(N[b+94>>1]|256)&a[k>>2]||ye(a[q>>2]|0,p)}while(0);if(!(a[h>>2]|0))return u=c,0;q=a[k>>2]|0;
-if(q&32)g=q;else if(da[a[b+508>>2]&63](b)|0)l=a[k>>2]|32,g=a[k>>2]=l;else return u=c,0;a[b+452>>2]=d;q=a[b+164>>2]|0;l=E(a[b+100>>2]|0,(d>>>0)%(q>>>0)|0)|0;a[b+444>>2]=l;a[k>>2]=g&-1048577;g&131072?h=a[b+604>>2]=0:(a[b+604>>2]=a[b+588>>2],h=a[(a[h>>2]|0)+(d<<3)>>2]|0);a[b+608>>2]=h;h=dd[a[b+512>>2]&127](b,((d>>>0)/(q>>>0)|0)&65535)|0;u=c;return h|0}function ld(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l;e=u;u=u+16|0;f=e+8|0;g=e;h=b+12|0;m=a[h>>2]|0;m&131072&&Z(137648,137683,918,137694);a[h>>2]=m&-8388609;
-k=b+588|0;if(l=a[k>>2]|0)m&512&&ja(l),a[k>>2]=0,a[b+592>>2]=0;if(d)return a[b+592>>2]=c,a[k>>2]=d,a[h>>2]&=-513,u=e,1;d=c+1023&-1024;a[b+592>>2]=d;if(!d)return Y(a[b+628>>2]|0,137694,137714,g),u=e,0;g=eb(d)|0;a[k>>2]=g;a[h>>2]|=512;if(g)return u=e,1;g=a[b+628>>2]|0;a[f>>2]=a[b+444>>2];Y(g,137694,138034,f);a[b+592>>2]=0;u=e;return 0}function sd(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h;h=u;u=u+16|0;if(1==(a[b+8>>2]|0))return Y(a[b+628>>2]|0,a[b>>2]|0,137580,h),u=h,-1;if(!(a[b+12>>2]&1024))return Y(a[b+
-628>>2]|0,a[b>>2]|0,138075,h+8|0),u=h,-1;if(!(yf(b,c,e,f,g)|0))return u=h,-1;var m=b;b|=0;c|=0;e|=0;g|=0;var k,l,n,p,q,y,B;k=a[b+68>>2]|0;l=a[b+72>>2]|0;n=a[b+76>>2]|0;p=a[b+64>>2]|0;f=1==(p|0)?0:f|0;k=-1==(k|0)?a[b+56>>2]|0:k;q=-1==(l|0)?a[b+60>>2]|0:l;l=-1==(n|0)?p:n;0!=(k|0)&0!=(q|0)&0!=(l|0)?(n=a[b+56>>2]|0,y=n>>>0<(0-k|0)>>>0?((k+-1+n|0)>>>0)/(k>>>0)|0:0,n=a[b+60>>2]|0,B=p>>>0<(0-l|0)>>>0?((l+-1+p|0)>>>0)/(l>>>0)|0:0,p=E(n>>>0<(0-q|0)>>>0?((q+-1+n|0)>>>0)/(q>>>0)|0:0,y)|0,b=2==(w[b+126>>1]|0)?
-((c>>>0)/(k>>>0)|0)+(E((e>>>0)/(q>>>0)|0,y)|0)+(E(((f>>>0)/(l>>>0)|0)+(E(B,g&65535)|0)|0,p)|0)|0:(E((e>>>0)/(q>>>0)|0,y)|0)+(E((f>>>0)/(l>>>0)|0,p)|0)+((c>>>0)/(k>>>0)|0)|0,b|=0):b=1;d=Od(m,b|0,d,-1)|0;u=h;return d|0}function Od(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m;f=u;u=u+32|0;g=f+16|0;h=a[b+496>>2]|0;if(1==(a[b+8>>2]|0))return Y(a[b+628>>2]|0,a[b>>2]|0,137580,f),u=f,-1;if(!(a[b+12>>2]&1024))return Y(a[b+628>>2]|0,a[b>>2]|0,138075,f+8|0),u=f,-1;m=a[b+168>>2]|0;if(m>>>0<=d>>>0)return b=a[b+628>>
-2]|0,a[g>>2]=d,a[g+4>>2]=m,Y(b,138116,138136,g),u=f,-1;g=-1==(e|0)|(h|0)<(e|0)?h:e;if(!(we(b,d)|0&&rb[a[b+548>>2]&63](b,c,g,((d>>>0)/((a[b+164>>2]|0)>>>0)|0)&65535)|0))return u=f,-1;td[a[b+652>>2]&127](b,c,g);u=f;return g|0}function we(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,y,B=0,H=0,t=0,z=0;c=u;u=u+48|0;e=c+40|0;f=c+32|0;g=c+24|0;h=c+16|0;m=b+176|0;k=a[m>>2]|0;if(!k)return u=c,0;l=b+12|0;n=a[l>>2]|0;do if(!(n&131072)){p=k+(d<<3)|0;q=a[p>>2]|0;y=a[p+4>>2]|0;if(0>(y|0)|0==(y|0)&1>q>>>0)return p=
-a[b+628>>2]|0,B=c,a[B>>2]=q,a[B+4>>2]=y,a[c+8>>2]=d,Y(p,138168,138181,c),e=0,u=c,e|0;if(0!=(n&2048|0)&&0!=((N[b+94>>1]|256)&n|0)){0!=(n&512|0)&&(p=b+588|0,B=a[p>>2]|0,0!=(B|0))?(ja(B),a[p>>2]=0,a[b+592>>2]=0,h=a[l>>2]|0):h=n;p=h&-513;a[l>>2]=p;B=a[b+616>>2]|0;h=(0>(B|0))<<31>>31;if(h>>>0<y>>>0|(h|0)==(y|0)&B>>>0<q>>>0?0:(H=(a[b+172>>2]|0)+(d<<3)|0,t=a[H>>2]|0,z=a[H+4>>2]|0,H=Ic(B|0,h|0,q|0,y|0)|0,h=U,!(z>>>0>h>>>0|(z|0)==(h|0)&t>>>0>H>>>0))){a[b+592>>2]=q;a[b+588>>2]=(a[b+612>>2]|0)+t;a[b+596>>2]=
-0;a[b+600>>2]=q;a[l>>2]=p|8388608;break}a[b+492>>2]=-1;e=0;u=c;return e|0}if(!((q|0)==(q|0)&((0>(q|0))<<31>>31|0)==(y|0)))return Y(a[b+628>>2]|0,138168,139721,h),e=0,u=c,e|0;if((q|0)>(a[b+592>>2]|0)){a[b+492>>2]=-1;if(!(n&512))return y=a[b+628>>2]|0,a[g>>2]=d,Y(y,138168,138221,g),e=0,u=c,e|0;if(ld(b,0,q)|0)y=a[l>>2]|0;else return e=0,u=c,e|0}else y=n;if(0!=(y&8388608|0)&&(a[b+492>>2]=-1,0==(ld(b,0,q)|0)))return e=0,u=c,e|0;y=b+588|0;if((xe(b,d,a[y>>2]|0,q,138168)|0)!=(q|0))return e=0,u=c,e|0;a[b+
-596>>2]=0;a[b+600>>2]=q;(N[b+94>>1]|256)&a[l>>2]||ye(a[y>>2]|0,q)}while(0);if(!(a[m>>2]|0))return u=c,0;y=a[l>>2]|0;if(y&32)q=y;else if(da[a[b+508>>2]&63](b)|0)n=a[l>>2]|32,q=a[l>>2]=n;else return u=c,0;a[b+492>>2]=d;y=a[b+56>>2]|0;n=a[b+68>>2]|0;if(y>>>0<(0-n|0)>>>0&&(g=((y+-1+n|0)>>>0)/(n>>>0)|0,0!=(g|0))){y=a[b+72>>2]|0;h=E(y,(d>>>0)%(g>>>0)|0)|0;a[b+444>>2]=h;h=a[b+60>>2]|0;if(h>>>0<(0-y|0)>>>0&&(g=((y+-1+h|0)>>>0)/(y>>>0)|0,0!=(g|0)))return y=E((d>>>0)%(g>>>0)|0,n)|0,a[b+488>>2]=y,a[l>>2]=q&
--1048577,q&131072?e=a[b+604>>2]=0:(a[b+604>>2]=a[b+588>>2],e=a[(a[m>>2]|0)+(d<<3)>>2]|0),a[b+608>>2]=e,e=dd[a[b+512>>2]&127](b,((d>>>0)/((a[b+164>>2]|0)>>>0)|0)&65535)|0,u=c,e|0;Y(a[b+628>>2]|0,138260,138274,e);u=c;return 0}Y(a[b+628>>2]|0,138260,138274,f);u=c;return 0}function me(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q=p=0;g=u;u=u+64|0;h=g+32|0;m=g+8|0;k=g;l=a[b+12>>2]|0;l&131072&&Z(137648,137683,372,138609);if(!(l&2048)){l=b+628|0;h=b+172|0;n=(a[h>>2]|0)+(d<<3)|0;p=rb[a[b+640>>2]&
-63](a[l>>2]|0,a[n>>2]|0,a[n+4>>2]|0,0)|0;n=(a[h>>2]|0)+(d<<3)|0;if((p|0)!=(a[n>>2]|0)||(U|0)!=(a[n+4>>2]|0))return n=a[l>>2]|0,a[k>>2]=a[b+444>>2],a[k+4>>2]=d,Y(n,f,137734,k),u=g,-1;k=Aa[a[b+632>>2]&63](a[l>>2]|0,c,e)|0;if((k|0)==(e|0))return u=g,e|0;n=a[l>>2]|0;a[m>>2]=a[b+444>>2];l=m+8|0;a[l>>2]=k;a[l+4>>2]=(0>(k|0))<<31>>31;k=m+16|0;a[k>>2]=e;a[k+4>>2]=(0>(e|0))<<31>>31;Y(n,f,137772,m);u=g;return-1}m=(a[b+172>>2]|0)+(d<<3)|0;n=a[m>>2]|0;k=n+e|0;(n|0)==(n|0)&&((0>(n|0))<<31>>31|0)==(a[m+4>>2]|0)&&
-(m=a[b+616>>2]|0,(m|0)>=(n|0))?0>(n|e|0)|(k|0)>(m|0)&&(p=m-n|0,q=13):(p=0,q=13);if(13==(q|0)&&(p|0)!=(e|0))return q=a[b+628>>2]|0,a[h>>2]=a[b+444>>2],a[h+4>>2]=d,d=h+8|0,a[d>>2]=p,a[d+4>>2]=(0>(p|0))<<31>>31,p=h+16|0,a[p>>2]=e,a[p+4>>2]=(0>(e|0))<<31>>31,Y(q,f,138627,h),u=g,-1;Ab(c,(a[b+612>>2]|0)+n|0,e);u=g;return e|0}function xe(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q=p=0;g=u;u=u+80|0;h=g+40|0;m=g+16|0;k=g;l=a[b+12>>2]|0;l&131072&&Z(137648,137683,684,138417);if(!(l&2048)){l=b+628|
-0;h=b+172|0;n=(a[h>>2]|0)+(d<<3)|0;p=rb[a[b+640>>2]&63](a[l>>2]|0,a[n>>2]|0,a[n+4>>2]|0,0)|0;n=(a[h>>2]|0)+(d<<3)|0;if((p|0)!=(a[n>>2]|0)||(U|0)!=(a[n+4>>2]|0))return n=a[l>>2]|0,p=a[b+488>>2]|0,a[k>>2]=a[b+444>>2],a[k+4>>2]=p,a[k+8>>2]=d,Y(n,f,138434,k),u=g,-1;k=Aa[a[b+632>>2]&63](a[l>>2]|0,c,e)|0;if((k|0)==(e|0))return u=g,e|0;n=a[l>>2]|0;l=a[b+488>>2]|0;a[m>>2]=a[b+444>>2];a[m+4>>2]=l;l=m+8|0;a[l>>2]=k;a[l+4>>2]=(0>(k|0))<<31>>31;k=m+16|0;a[k>>2]=e;a[k+4>>2]=(0>(e|0))<<31>>31;Y(n,f,138475,m);u=
-g;return-1}m=(a[b+172>>2]|0)+(d<<3)|0;n=a[m>>2]|0;k=n+e|0;(n|0)==(n|0)&&((0>(n|0))<<31>>31|0)==(a[m+4>>2]|0)&&(m=a[b+616>>2]|0,(m|0)>=(n|0))?0>(n|e|0)|(k|0)>(m|0)&&(p=m-n|0,q=13):(p=0,q=13);if(13==(q|0)&&(p|0)!=(e|0))return q=a[b+628>>2]|0,m=a[b+488>>2]|0,a[h>>2]=a[b+444>>2],a[h+4>>2]=m,a[h+8>>2]=d,d=h+16|0,a[d>>2]=p,a[d+4>>2]=(0>(p|0))<<31>>31,p=h+24|0,a[p>>2]=e,a[p+4>>2]=(0>(e|0))<<31>>31,Y(q,f,138537,h),u=g,-1;Ab(c,(a[b+612>>2]|0)+n|0,e);u=g;return e|0}function Pc(b,d,c){b|=0;c|=0;var e,f,g;e=
-u;u=u+16|0;f=((d|0)>>>0)/((a[b+100>>2]|0)>>>0)|0;if(2!=(w[b+126>>1]|0))return u=e,f|0;d=c&65535;g=w[b+98>>1]|0;if((g&65535)>(c&65535))return b=(E(a[b+164>>2]|0,d)|0)+f|0,u=e,b|0;f=a[b+628>>2]|0;a[e>>2]=d;a[e+4>>2]=g&65535;Y(f,138696,139539,e);u=e;return 0}function Yd(b,d){b|=0;d|=0;var c,e,f,g,h,m;c=u;u=u+32|0;e=c+16|0;f=c+8|0;g=c;h=c+24|0;m=-1==(d|0)?a[b+60>>2]|0:d;if(1==(w[b+126>>1]|0)&&6==(w[b+90>>1]|0)&&0==(a[b+12>>2]&16384|0)){if(3!=(w[b+98>>1]|0))return Y(a[b+628>>2]|0,138732,138749,g),U=0,
-u=c,0;g=h+2|0;a[f>>2]=h;a[f+4>>2]=g;ne(b,530,f)|0;f=w[h>>1]|0;a:do switch(f<<16>>16){case 4:case 2:case 1:h=w[g>>1]|0;switch(h<<16>>16){case 4:case 2:case 1:break;default:break a}d=f&65535;g=h&65535;h=(E(g,d)|0)+2|0;e=a[b+56>>2]|0;e=e>>>0<(0-d|0)>>>0?((d+-1+e|0)>>>0)/(d>>>0)|0:0;m=m>>>0<(0-g|0)>>>0?((m+-1+g|0)>>>0)/(g>>>0)|0:0;g=pd(b,e,0,h&65535,0,138732)|0;h=U;d=b+84|0;e=pd(b,g,h,N[d>>1]|0,0,138732)|0;m=pd(b,Qb(Oe(pd(b,g,h,N[d>>1]|0,0,138732)|0,U|0,3)|0,U|0,(0!=(e&7|0)|0)&1|0,0)|0,U,m,0,138732)|
-0;U=h=U;u=c;return m|0;default:h=w[g>>1]|0}while(0);g=a[b+628>>2]|0;a[e>>2]=f&65535;a[e+4>>2]=h&65535;Y(g,138732,139754,e);U=0;u=c;return 0}e=Td(b)|0;g=pd(b,m,0,e,U,138732)|0;U=h=U;u=c;return g|0}function Td(b){b|=0;var d,c,e,f,g,h;d=u;u=u+32|0;c=d+16|0;e=d+8|0;f=d+20|0;a:do{if(1==(w[b+126>>1]|0)){g=w[b+98>>1]|0;if(3==g<<16>>16&&6==(w[b+90>>1]|0))if(a[b+12>>2]&16384)g=3;else{g=f+2|0;a[d>>2]=f;a[d+4>>2]=g;ne(b,530,d)|0;h=w[f>>1]|0;b:do switch(h<<16>>16){case 4:case 2:case 1:f=w[g>>1]|0;switch(f<<16>>
-16){case 4:case 2:case 1:break;default:break b}h&=65535;e=(E(f&65535,h)|0)+2|0;f=a[b+56>>2]|0;f=f>>>0<(0-h|0)>>>0?((h+-1+f|0)>>>0)/(h>>>0)|0:0;g=pf(Oe(Qb(pd(b,pd(b,f,0,e&65535,0,138782)|0,U,N[b+84>>1]|0,0,138782)|0,U|0,7,0)|0,U|0,3)|0,U|0,N[g>>1]|0,0)|0;h=U;break a}while(0);Y(a[b+628>>2]|0,138782,138801,e);U=0;u=d;return 0}g=pd(b,a[b+56>>2]|0,0,g&65535,0,138782)|0;h=pd(b,g,U,N[b+84>>1]|0,0,138782)|0}else h=pd(b,a[b+56>>2]|0,0,N[b+84>>1]|0,0,138782)|0;g=Qb(h|0,U|0,7,0)|0;g=h=Oe(g|0,U|0,3)|0;h=U}while(0);
-if(!(0==(g|0)&0==(h|0)))return U=h,u=d,g|0;Y(a[b+628>>2]|0,138782,138827,c);U=0;u=d;return 0}function se(b){b|=0;var d,c,e;d=u;u=u+16|0;c=a[b+100>>2]|0;e=a[b+60>>2]|0;c=Yd(b,c>>>0>e>>>0?e:c)|0;if((c|0)==(c|0)&((0>(c|0))<<31>>31|0)==(U|0))return u=d,c|0;Y(a[b+628>>2]|0,138873,139721,d);u=d;return 0}function Pe(b){b|=0;var d,c;d=u;u=u+16|0;c=Td(b)|0;if((c|0)==(c|0)&((0>(c|0))<<31>>31|0)==(U|0))return u=d,c|0;Y(a[b+628>>2]|0,138887,138904,d);u=d;return 0}function ac(a){a|=0;var d,c;d=a+1|0;c=t[d>>0]|
-0;t[d>>0]=t[a>>0]|0;t[a>>0]=c}function pb(a){a|=0;var d,c;d=a+3|0;c=t[d>>0]|0;t[d>>0]=t[a>>0]|0;t[a>>0]=c;c=a+2|0;d=t[c>>0]|0;a=a+1|0;t[c>>0]=t[a>>0]|0;t[a>>0]=d}function kc(a){a|=0;var d,c,e;d=a+7|0;c=t[d>>0]|0;t[d>>0]=t[a>>0]|0;t[a>>0]=c;c=a+6|0;d=t[c>>0]|0;e=a+1|0;t[c>>0]=t[e>>0]|0;t[e>>0]=d;d=a+5|0;e=t[d>>0]|0;c=a+2|0;t[d>>0]=t[c>>0]|0;t[c>>0]=e;e=a+4|0;c=t[e>>0]|0;d=a+3|0;t[e>>0]=t[d>>0]|0;t[d>>0]=c}function Vd(a,d){d|=0;var c,e;if(0<(d|0))for(c=d,e=a|0;;)if(a=e+1|0,d=t[a>>0]|0,t[a>>0]=t[e>>
-0]|0,t[e>>0]=d,1<(c|0))c=c+-1|0,e=e+2|0;else break}function Id(a,d){d|=0;var c,e,f;if(0<(d|0))for(c=d,e=a|0;;)if(a=e+3|0,d=t[a>>0]|0,t[a>>0]=t[e>>0]|0,t[e>>0]=d,d=e+2|0,a=t[d>>0]|0,f=e+1|0,t[d>>0]=t[f>>0]|0,t[f>>0]=a,1<(c|0))c=c+-1|0,e=e+4|0;else break}function Ae(a,d){d|=0;var c,e,f;if(0<(d|0))for(c=d,e=a|0;;)if(a=e+7|0,d=t[a>>0]|0,t[a>>0]=t[e>>0]|0,t[e>>0]=d,d=e+6|0,a=t[d>>0]|0,f=e+1|0,t[d>>0]=t[f>>0]|0,t[f>>0]=a,a=e+5|0,f=t[a>>0]|0,d=e+2|0,t[a>>0]=t[d>>0]|0,t[d>>0]=f,f=e+4|0,d=t[f>>0]|0,a=e+3|
-0,t[f>>0]=t[a>>0]|0,t[a>>0]=d,1<(c|0))c=c+-1|0,e=e+8|0;else break}function gf(a,d){d|=0;var c,e,f;if(0<(d|0))for(c=d,e=a|0;;)if(a=e+3|0,d=t[a>>0]|0,t[a>>0]=t[e>>0]|0,t[e>>0]=d,d=e+2|0,a=t[d>>0]|0,f=e+1|0,t[d>>0]=t[f>>0]|0,t[f>>0]=a,1<(c|0))c=c+-1|0,e=e+4|0;else break}function re(a,d){d|=0;var c,e,f;if(0<(d|0))for(c=d,e=a|0;;)if(a=e+7|0,d=t[a>>0]|0,t[a>>0]=t[e>>0]|0,t[e>>0]=d,d=e+6|0,a=t[d>>0]|0,f=e+1|0,t[d>>0]=t[f>>0]|0,t[f>>0]=a,a=e+5|0,f=t[a>>0]|0,d=e+2|0,t[a>>0]=t[d>>0]|0,t[d>>0]=f,f=e+4|0,d=t[f>>
-0]|0,a=e+3|0,t[f>>0]=t[a>>0]|0,t[a>>0]=d,1<(c|0))c=c+-1|0,e=e+8|0;else break}function ye(a,d){a|=0;d|=0;var c,e,f,g;if(8<(d|0)){c=d+-9&-8;e=a;for(f=d;!(t[e>>0]=t[138932+(x[e>>0]|0)>>0]|0,g=e+1|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,g=e+2|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,g=e+3|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,g=e+4|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,g=e+5|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,g=e+6|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,g=e+7|0,t[g>>0]=t[138932+(x[g>>0]|0)>>0]|0,f=f+-8|0,8>=(f|
-0));)e=e+8|0;e=d+-8-c|0;c=a+(c+8|0)|0}else e=d,c=a;if(0<(e|0))for(;;)if(t[c>>0]=t[138932+(x[c>>0]|0)>>0]|0,1<(e|0))c=c+1|0,e=e+-1|0;else break}function yf(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q;g=u;u=u+32|0;h=g+24|0;m=g+16|0;k=g+8|0;l=g;n=a[b+56>>2]|0;if(n>>>0<=d>>>0)return p=a[b+628>>2]|0,q=a[b>>2]|0,a[l>>2]=d,a[l+4>>2]=n+-1,Y(p,q,139444,l),u=g,0;l=a[b+60>>2]|0;if(l>>>0<=c>>>0)return q=a[b+628>>2]|0,p=a[b>>2]|0,a[k>>2]=c,a[k+4>>2]=l+-1,Y(q,p,139475,k),u=g,0;k=a[b+64>>2]|0;if(k>>>
-0<=e>>>0)return p=a[b+628>>2]|0,q=a[b>>2]|0,a[m>>2]=e,a[m+4>>2]=k+-1,Y(p,q,139506,m),u=g,0;if(2!=(w[b+126>>1]|0))return u=g,1;m=w[b+98>>1]|0;if((m&65535)>(f&65535))return u=g,1;q=a[b+628>>2]|0;p=a[b>>2]|0;a[h>>2]=f&65535;a[h+4>>2]=(m&65535)+-1;Y(q,p,139539,h);u=g;return 0}function Uf(b){b|=0;var d,c,e,f,g,h;d=u;u=u+32|0;c=d+24|0;e=d+16|0;if(!(a[b+72>>2]|0))return Y(a[b+628>>2]|0,139591,139609,d),U=0,u=d,0;f=a[b+68>>2]|0;if(!f)return Y(a[b+628>>2]|0,139591,139629,d+8|0),U=0,u=d,0;g=pd(b,N[b+84>>1]|
-0,0,f,0,139648)|0;f=U;if(1==(w[b+126>>1]|0))if(h=w[b+98>>1]|0,h<<16>>16)e=f=pd(b,g,f,h&65535,0,139648)|0,g=U;else return Y(a[b+628>>2]|0,139591,139664,e),U=0,u=d,0;else e=g,g=f;f=Oe(e|0,g|0,3)|0;g=Qb((0!=(e&7|0)|0)&1|0,0,f|0,U|0)|0;f=U;if(!(0==(g|0)&0==(f|0)))return U=f,u=d,g|0;Y(a[b+628>>2]|0,139591,139690,c);U=0;u=d;return 0}function tg(b){b|=0;var d,c;d=u;u=u+16|0;c=Uf(b)|0;if((c|0)==(c|0)&((0>(c|0))<<31>>31|0)==(U|0))return u=d,c|0;Y(a[b+628>>2]|0,139648,139721,d);u=d;return 0}function Kf(b,d){b|=
-0;d|=0;var c,e,f,g,h,m;c=u;u=u+32|0;e=c+8|0;f=c;g=c+16|0;if(!(a[b+72>>2]|0))return U=0,u=c,0;h=b+68|0;if(!(a[h>>2]|0&&a[b+76>>2]|0))return U=0,u=c,0;if(1==(w[b+126>>1]|0)&&6==(w[b+90>>1]|0)&&3==(w[b+98>>1]|0)&&0==(a[b+12>>2]&16384|0)){m=g+2|0;a[f>>2]=g;a[f+4>>2]=m;ne(b,530,f)|0;f=w[g>>1]|0;a:do switch(f<<16>>16){case 4:case 2:case 1:g=w[m>>1]|0;switch(g<<16>>16){case 4:case 2:case 1:break;default:break a}e=f&65535;m=g&65535;g=(E(m,e)|0)+2|0;f=a[h>>2]|0;e=f>>>0<(0-e|0)>>>0?((e+-1+f|0)>>>0)/(e>>>0)|
-0:0;h=d>>>0<(0-m|0)>>>0?((d+-1+m|0)>>>0)/(m>>>0)|0:0;m=pd(b,e,0,g&65535,0,139738)|0;g=U;e=b+84|0;f=pd(b,m,g,N[e>>1]|0,0,139738)|0;h=pd(b,Qb(Oe(pd(b,m,g,N[e>>1]|0,0,139738)|0,U|0,3)|0,U|0,(0!=(f&7|0)|0)&1|0,0)|0,U,h,0,139738)|0;U=g=U;u=c;return h|0;default:g=w[m>>1]|0}while(0);m=a[b+628>>2]|0;a[e>>2]=f&65535;a[e+4>>2]=g&65535;Y(m,139738,139754,e);U=0;u=c;return 0}e=Uf(b)|0;m=pd(b,d,0,e,U,139738)|0;U=g=U;u=c;return m|0}function Og(b){b|=0;var d,c;d=u;u=u+16|0;c=Kf(b,a[b+72>>2]|0)|0;if((c|0)==(c|0)&
-((0>(c|0))<<31>>31|0)==(U|0))return u=d,c|0;Y(a[b+628>>2]|0,139788,139721,d);u=d;return 0}function Wb(b,d,c,e){b|=0;d|=0;c|=0;var f;f=u;u=u+16|0;a[f>>2]=e|0;if(e=a[1933]|0)td[e&127](d,c,f);if(e=a[1932]|0)Ud[e&31](b,d,c,f);u=f}function Lc(b){b|=0;var d,c,e,f,g;d=b+608|0;c=a[d>>2]|0;if(0>=(c|0))return 1;e=b+12|0;f=a[e>>2]|0;if(!(f&1048576))return 1;g=b+588|0;(N[b+94>>1]|256)&f?e=f:(ye(a[g>>2]|0,c),e=a[e>>2]|0,c=a[d>>2]|0);if(!(dg(b,a[(0==(e&1024|0)?b+452|0:b+492|0)>>2]|0,a[g>>2]|0,c)|0))return 0;a[d>>
-2]=0;a[b+604>>2]=a[g>>2];return 1}function dg(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q=0,y=0,B=0,H=0,t;f=u;u=u+32|0;g=f+16|0;h=f+8|0;m=f;k=b+172|0;l=(a[k>>2]|0)+(d<<3)|0;n=a[l>>2]|0;p=a[l+4>>2]|0;if((l=0==(n|0)&0==(p|0))||(q=b+456|0,y=q,B=a[y>>2]|0,H=a[y+4>>2]|0,0==(B|0)&0==(H|0))){a[b+168>>2]|0||Z(139801,139820,690,139832);H=b+176|0;B=(a[H>>2]|0)+(d<<3)|0;q=a[B>>2]|0;y=a[B+4>>2]|0;if(0==(q|0)&0==(y|0)||(B=(0>(e|0))<<31>>31,y>>>0<B>>>0|(y|0)==(B|0)&q>>>0<e>>>0|l))m=rb[a[b+640>>2]&63](a[b+
-628>>2]|0,0,0,2)|0,p=U,l=(a[k>>2]|0)+(d<<3)|0,a[l>>2]=m,a[l+4>>2]=p,l=b+12|0,a[l>>2]|=2097152,y=m,t=p;else if(l=b+628|0,q=rb[a[b+640>>2]&63](a[l>>2]|0,n,p,0)|0,p=U,n=(a[k>>2]|0)+(d<<3)|0,(q|0)==(a[n>>2]|0)&&(p|0)==(a[n+4>>2]|0))y=q,t=p;else return p=a[l>>2]|0,a[m>>2]=a[b+444>>2],Y(p,139832,139850,m),u=f,0;m=p=b+456|0;a[m>>2]=y;a[m+4>>2]=t;H=t=(a[H>>2]|0)+(d<<3)|0;m=a[H>>2]|0;y=a[H+4>>2]|0;H=t;a[H>>2]=0;a[H+4>>2]=0;k=H=p;B=a[H>>2]|0;l=a[H+4>>2]|0;n=m;q=y}else k=q,l=H,q=n=-1;y=(0>(e|0))<<31>>31;m=Qb(B|
-0,l|0,e|0,y|0)|0;H=b+12|0;p=0==(a[H>>2]&524288|0);t=m;m=p?0:U;if(m>>>0<l>>>0|(m|0)==(l|0)&t>>>0<B>>>0|m>>>0<y>>>0|(m|0)==(y|0)&t>>>0<e>>>0)return Y(a[b+628>>2]|0,139832,142108,h),u=f,0;h=b+628|0;if((Aa[a[b+636>>2]&63](a[h>>2]|0,c,e)|0)!=(e|0))return c=a[h>>2]|0,a[g>>2]=a[b+444>>2],Y(c,139832,139877,g),u=f,0;g=k;a[g>>2]=t;a[g+4>>2]=m;d=m=(a[b+176>>2]|0)+(d<<3)|0;b=Qb(a[d>>2]|0,a[d+4>>2]|0,e|0,y|0)|0;y=U;e=m;a[e>>2]=b;a[e+4>>2]=y;if((b|0)==(n|0)&(y|0)==(q|0))return u=f,1;a[H>>2]|=2097152;u=f;return 1}
-function eb(a){a|=0;return(a?Hc(a)|0:0)|0}function ja(a){Gc(a|0)}function nf(a,d){return qi(a|0,d|0)|0}function $c(a,d,c){Va(a|0,(d|0)&255|0,c|0)|0}function Ab(a,d,c){Ec(a|0,d|0,c|0)|0}function of(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;f=u;u=u+16|0;g=E(c,d)|0;0!=(c|0)&&((g>>>0)/(c>>>0)|0)!=(d|0)?(d=a[b+628>>2]|0,a[f>>2]=e,Y(d,e,139955,f),b=0):b=g;u=f;return b|0}function pd(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m,k,l=0;h=u;u=u+16|0;m=Cf(e|0,f|0,d|0,c|0)|0;k=U;0==(e|0)&0==(f|0)||(l=pf(m|0,
-k|0,e|0,f|0)|0,(l|0)==(d|0)&(U|0)==(c|0))?b=k:(c=a[b+628>>2]|0,a[h>>2]=g,Y(c,g,139955,h),m=b=0);U=b;u=h;return m|0}function Bf(b,d,c,e,f){b|=0;c|=0;e|=0;f|=0;var g,h=0;g=u;u=u+16|0;if(0!=(c|0)&0!=(e|0)&&(h=nf(d|0,E(e,c)|0)|0,0!=(h|0)))return u=g,h|0;h=a[b+628>>2]|0;d=a[b>>2]|0;a[g>>2]=f;a[g+4>>2]=c;a[g+8>>2]=e;Y(h,d,139978,g);u=g;return 0}function Mf(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g=0;f=u;u=u+16|0;if(0!=(d|0)&0!=(c|0)&&(g=nf(0,E(c,d)|0)|0,0!=(g|0)))return u=f,g|0;g=a[b+628>>2]|0;b=a[b>>2]|0;a[f>>
-2]=e;a[f+4>>2]=d;a[f+8>>2]=c;Y(g,b,139978,f);u=f;return 0}function Se(b){b|=0;var d,c,e,f;d=4;c=Hc(40)|0;a[c>>2]=0;c=Xc(b+624|0,1,c|0,d|0)|0;d=U;Wa=e=Wa=0;0!=(e|0)&0!=(pa|0)?((f=db(a[e>>2]|0,c|0,d|0)|0)||Vb(e|0,pa|0),U=pa):f=-1;for(f=1==(f|0)?U:0;!f;)if(Wa=0,ri(12,b|0),f=Wa,Wa=0,0!=(f|0)&0!=(pa|0)?((e=db(a[f>>2]|0,c|0,d|0)|0)||Vb(f|0,pa|0),U=pa):e=-1,1==(e|0))f=U;else break;Gc(c|0)}function Re(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m=0,k=0,l=0;e=4;f=Hc(40)|0;a[f>>2]=0;f=Xc(b+624|0,1,f|0,e|0)|0;e=U;Wa=
-g=Wa=0;0!=(g|0)&0!=(pa|0)?((h=db(a[g>>2]|0,f|0,e|0)|0)||Vb(g|0,pa|0),U=pa):h=-1;for(h=1==(h|0)?U:0;;){if(h){m=-1;k=6;break}Wa=0;l=Pg(16,b|0,d|0,c|0)|0;h=Wa;Wa=0;0!=(h|0)&0!=(pa|0)?((g=db(a[h>>2]|0,f|0,e|0)|0)||Vb(h|0,pa|0),U=pa):g=-1;if(1==(g|0))h=U;else break}if(6==(k|0))return Gc(f|0),m|0;m=l;Gc(f|0);return m|0}function uf(b,d){b|=0;d|=0;var c,e,f,g,h=0,m=0;c=4;e=Hc(40)|0;a[e>>2]=0;e=Xc(b+624|0,1,e|0,c|0)|0;c=U;Wa=f=Wa=0;0!=(f|0)&0!=(pa|0)?((g=db(a[f>>2]|0,e|0,c|0)|0)||Vb(f|0,pa|0),U=pa):g=-1;for(g=
-1==(g|0)?U:0;;){if(g){h=0;m=6;break}Wa=0;dk(2,b|0,d|0);g=Wa;Wa=0;0!=(g|0)&0!=(pa|0)?((f=db(a[g>>2]|0,e|0,c|0)|0)||Vb(g|0,pa|0),U=pa):f=-1;if(1==(f|0))g=U;else break}if(6==(m|0))return Gc(e|0),h|0;h=1;Gc(e|0);return h|0}function mg(b,d){b|=0;d|=0;var c,e,f,g,h=0,m=0;c=4;e=Hc(40)|0;a[e>>2]=0;e=Xc(b+624|0,1,e|0,c|0)|0;c=U;Wa=f=Wa=0;0!=(f|0)&0!=(pa|0)?((g=db(a[f>>2]|0,e|0,c|0)|0)||Vb(f|0,pa|0),U=pa):g=-1;for(g=1==(g|0)?U:0;;){if(g){h=0;m=6;break}Wa=0;Qi(12,b|0,d|0,0);g=Wa;Wa=0;0!=(g|0)&0!=(pa|0)?((f=
-db(a[g>>2]|0,e|0,c|0)|0)||Vb(g|0,pa|0),U=pa):f=-1;if(1==(f|0))g=U;else break}if(6==(m|0))return Gc(e|0),h|0;h=1;Gc(e|0);return h|0}function eg(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m=0,k=0,l=0;e=4;f=Hc(40)|0;a[f>>2]=0;f=Xc(b+624|0,1,f|0,e|0)|0;e=U;Wa=g=Wa=0;0!=(g|0)&0!=(pa|0)?((h=db(a[g>>2]|0,f|0,e|0)|0)||Vb(g|0,pa|0),U=pa):h=-1;for(h=1==(h|0)?U:0;;){if(h){m=0;k=6;break}Wa=0;l=Mj(a[(a[b+4>>2]|0)+8>>2]|0,b|0,1,d|0,c|0)|0;h=Wa;Wa=0;0!=(h|0)&0!=(pa|0)?((g=db(a[h>>2]|0,f|0,e|0)|0)||Vb(h|0,pa|0),U=pa):g=-1;
-if(1==(g|0))h=U;else break}if(6==(k|0))return Gc(f|0),m|0;m=l;Gc(f|0);return m|0}function qg(b){b|=0;var d,c,e,f,g=0,h=0,m=0;d=4;c=Hc(40)|0;a[c>>2]=0;c=Xc(b+624|0,1,c|0,d|0)|0;d=U;Wa=e=Wa=0;0!=(e|0)&0!=(pa|0)?((f=db(a[e>>2]|0,c|0,d|0)|0)||Vb(e|0,pa|0),U=pa):f=-1;for(f=1==(f|0)?U:0;;){if(f){g=-1;h=6;break}Wa=0;m=si(20,b|0)|0;f=Wa;Wa=0;0!=(f|0)&0!=(pa|0)?((e=db(a[f>>2]|0,c|0,d|0)|0)||Vb(f|0,pa|0),U=pa):e=-1;if(1==(e|0))f=U;else break}if(6==(h|0))return Gc(c|0),g|0;g=m;Gc(c|0);return g|0}function fg(b,
-d){b|=0;d|=0;var c,e,f,g,h=0,m=0,k=0;c=4;e=Hc(40)|0;a[e>>2]=0;e=Xc(b+624|0,1,e|0,c|0)|0;c=U;Wa=f=Wa=0;0!=(f|0)&0!=(pa|0)?((g=db(a[f>>2]|0,e|0,c|0)|0)||Vb(f|0,pa|0),U=pa):g=-1;for(g=1==(g|0)?U:0;;){if(g){h=-1;m=6;break}Wa=0;k=Jk(30,b|0,d|0)|0;g=Wa;Wa=0;0!=(g|0)&0!=(pa|0)?((f=db(a[g>>2]|0,e|0,c|0)|0)||Vb(g|0,pa|0),U=pa):f=-1;if(1==(f|0))g=U;else break}if(6==(m|0))return Gc(e|0),h|0;h=k;Gc(e|0);return h|0}function mf(a,d,c){a=+a;d=+d;c|=0;var e,f;if(.016939999535679817>d)return a=vf(a,d)|0,a|0;e=0==
-(c|0);f=285.7142768952314*(d+-.016939999535679817);f=e?f:f+4.656612875245797E-10*+(Xe()|0)+-.5;c=~~f;if(162<(c|0))return a=vf(a,d)|0,a|0;f=+W[107752+(c<<3)>>2];if(f>a)return a=vf(a,d)|0,a|0;f=285.7142768952314*(a-f);e=~~(e?f:f+4.656612875245797E-10*+(Xe()|0)+-.5);a=(e|0)<(w[(c<<3)+107756>>1]|0)?(w[(c<<3)+107758>>1]|0)+e|0:vf(a,d)|0;return a|0}function tf(a,d){a|=0;d|=0;var c,e=0,f,g,h,m=0,k=0,l,n,p,q=0;f=0;c=a>>>14&1023;if(0==(c|0)||(e=+xh(+(.010830424696249145*(+(c|0)+.5)+-8.317766166719343)),0>=
-e))W[d+8>>2]=0,W[d+4>>2]=0,W[d>>2]=0;else{c=a&16383;if(16288<c>>>0)c=.210526316,f=.473684211;else{a=0;g=163;a:for(;;){for(h=a;;){if(1>=(g-h|0)){m=h;k=9;break a}l=h+g>>1;n=w[(l<<3)+107758>>1]|0;p=c-(n<<16>>16)|0;if(0<(p|0))h=l;else{g=l;break}}if(0>(p|0))a=h;else{q=n;f=g;break}}9==(k|0)&&(q=w[(m<<3)+107758>>1]|0,f=m);c=+W[107752+(f<<3)>>2]+.0035000001080334187*(+(c-(q<<16>>16)|0)+.5);f=.0035000001080334187*(+(f|0)+.5)+.016939999535679817}m=1/(6*c-16*f+12);k=9*c*m;c=4*f*m;W[d>>2]=k/c*e;W[d+4>>2]=e;W[d+
-8>>2]=(1-k-c)/c*e}}function vf(b,d){b=+b;d=+d;var c,e,f,g,h,m,k,l,n,p;c=u;u=u+800|0;if(a[27282]|0)return e=+ek(+(d+-.473684211),+(b+-.210526316)),e=109132+(~~(15.915494277358546*e+50)<<2)|0,e=a[e>>2]|0,u=c,e|0;for(f=99;;)if(Hb[c+(f<<3)>>3]=2,f)f=f+-1|0;else{e=162;g=163;break}for(;;){h=.0035000001080334187*(+(e|0)+.5)+.016939999535679817;f=(w[(e<<3)+107756>>1]|0)+-1|0;switch(g|0){case 1:case 163:m=1;break;default:m=f}g=+W[107752+(e<<3)>>2];k=h+-.473684211;l=(e<<3)+107758|0;n=f;do h=15.915494277358546*
-+ek(+k,+(.0035000001080334187*(+(n|0)+.5)+g+-.210526316))+50,f=~~h,h=+Kk(+(h-(+(f|0)+.5))),p=c+(f<<3)|0,h<+Hb[p>>3]&&(a[109132+(f<<2)>>2]=(w[l>>1]|0)+n,Hb[p>>3]=h),n=n-m|0;while(-1<(n|0));if(e)n=e,e=e+-1|0,g=n;else{f=99;k=100;break}}for(;;){do if(1.5<+Hb[c+(f<<3)>>3]){for(g=1;;){if(1.5>+Hb[c+(((g+f|0)%100|0)<<3)>>3]){h=g;break}e=g+1|0;if(50>(e|0))g=e;else{h=e;break}}g=k+99|0;e=-1;for(m=1;!(1.5>+Hb[c+(((g+e|0)%100|0)<<3)>>3]);)if(n=m+1|0,l=~m,50>(n|0))e=l,m=n;else{m=n;e=l;break}a[109132+(f<<2)>>2]=
-(h|0)<(m|0)?a[109132+(((h+f|0)%100|0)<<2)>>2]:a[109132+(((g+e|0)%100|0)<<2)>>2]}while(0);if(f)m=f,f=f+-1|0,k=m;else break}a[27282]=1;e=+ek(+(d+-.473684211),+(b+-.210526316));e=109132+(~~(15.915494277358546*e+50)<<2)|0;e=a[e>>2]|0;u=c;return e|0}function xf(b){b|=0;var d,c,e,f,g;d=u;u=u+32|0;c=d+16|0;e=d+8|0;(f=a[b+576>>2]|0)||Z(154187,146646,1335,147323);-32691!=(w[b+90>>1]|0)&&Z(147339,146646,1336,147323);if(1!=(w[b+126>>1]|0))return Y(a[b+628>>2]|0,147323,147380,d),u=d,0;g=a[f>>2]|0;if(-1==(g|0)){switch(N[b+
-84>>1]<<3|N[b+86>>1]|0){case 259:g=0;break;case 258:case 257:case 260:g=2;break;case 129:case 130:case 132:g=1;break;case 65:case 68:g=3;break;default:g=-1}switch(N[b+98>>1]|0){case 1:g=2==(g|0)?2:-1;break;case 3:g=2==(g|0)?-1:g;break;default:g=-1}a[f>>2]=g}switch(g|0){case 0:a[f+8>>2]=12;break;case 1:a[f+8>>2]=6;break;case 2:a[f+8>>2]=4;break;case 3:a[f+8>>2]=3;break;default:return Y(a[b+628>>2]|0,147323,147433,e),u=d,0}g=a[b+12>>2]&1024?E(a[b+72>>2]|0,a[b+68>>2]|0)|0:E(a[b+100>>2]|0,a[b+56>>2]|
-0)|0;a[f+16>>2]=g;if(0!=(g|0)&&(e=eb(g<<2)|0,a[f+12>>2]=e,0!=(e|0)))return u=d,1;Y(a[b+628>>2]|0,147323,147254,c);u=d;return 0}function Vf(b){b|=0;var d,c,e,f,g;d=u;u=u+16|0;c=d+8|0;e=d;(f=a[b+576>>2]|0)||Z(154187,146646,1243,147148);-32692!=(w[b+90>>1]|0)&&Z(147164,146646,1244,147148);g=a[f>>2]|0;if(-1==(g|0)){switch(N[b+86>>1]|N[b+84>>1]<<6|N[b+98>>1]<<3|0){case 2059:g=0;break;case 1033:case 1034:case 1036:g=1;break;case 521:case 524:g=3;break;default:g=-1}a[f>>2]=g}switch(g|0){case 0:a[f+8>>2]=
-4;break;case 1:a[f+8>>2]=2;break;case 3:a[f+8>>2]=1;break;default:return Y(a[b+628>>2]|0,147148,147203,e),u=d,0}g=a[b+12>>2]&1024?E(a[b+72>>2]|0,a[b+68>>2]|0)|0:E(a[b+100>>2]|0,a[b+56>>2]|0)|0;a[f+16>>2]=g;if(0!=(g|0)&&(e=eb(g<<1)|0,a[f+12>>2]=e,0!=(e|0)))return u=d,1;Y(a[b+628>>2]|0,147148,147254,c);u=d;return 0}function Ig(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,H,ka;d=u;u=u+64|0;c=d+48|0;e=d+40|0;f=d+32|0;g=d+16|0;h=d+8|0;m=a[b+576>>2]|0;1;k=m+226|0;t[k>>0]|0&&Z(148839,148429,989,148870);a:do if(3==
-(w[b+98>>1]|0)){switch(w[b+90>>1]|0){case 10:case 6:break;default:break a}t[k>>0]=1;l=m+228|0;n=t[l>>0]|0;p=m+229|0;q=t[p>>0]|0;y=m+225|0;t[y>>0]=1;Xg(b)|0;B=m+230|0;(H=0==(t[B>>0]|0))?ka=t[l>>0]|0:(t[l>>0]=1,ka=t[p>>0]=1);t[y>>0]=0;y=n&255;n=ka<<24>>24==n<<24>>24&&(t[p>>0]|0)==q<<24>>24?17:13;13==(n|0)&&(H?(n=a[b+628>>2]|0,H=ka&255,ka=x[p>>0]|0,t[m+227>>0]|0?(a[g>>2]=H,a[g+4>>2]=ka,a[g+8>>2]=y,a[g+12>>2]=q&255,Wb(n,148870,149125,g)):(a[h>>2]=H,a[h+4>>2]=ka,Wb(n,148870,148970,h)),n=17):n=18);17==
-(n|0)&&0!=(t[B>>0]|0)&&(n=18);if(18==(n|0)&&(H=a[b+628>>2]|0,t[m+227>>0]|0?(a[e>>2]=y,a[e+4>>2]=q&255,Wb(H,148870,149488,e)):Wb(H,148870,149258,f),t[B>>0]|0)){t[k>>0]=1;u=d;return}H=t[l>>0]|0;n=t[p>>0]|0;if((H&255)>=(n&255)){t[k>>0]=1;u=d;return}ka=a[b+628>>2]|0;a[c>>2]=H&255;a[c+4>>2]=n&255;Wb(ka,148870,149696,c);t[k>>0]=1;u=d;return}while(0);t[m+227>>0]|0&&Wb(a[b+628>>2]|0,148870,148894,d);t[m+228>>0]=1;t[m+229>>0]=1;t[m+230>>0]=0;t[k>>0]=1;u=d}function pg(b,d){b|=0;var c,e,f,g,h,m,k,l,n,p,q,y,
-B,H,ka,z,Q,C,Ra;c=a[b+124>>2]|0;e=a[b+56>>2]|0;f=a[b+108>>2]|0;g=e+f|0;h=a[b+120>>2]|0;m=a[b+144>>2]|0;k=(a[b+44>>2]|0)+-262|0;l=f>>>0>k>>>0?f-k|0:0;k=a[b+64>>2]|0;n=a[b+52>>2]|0;p=e+(f+258)|0;q=a[b+116>>2]|0;y=m>>>0>q>>>0?q:m;m=b+112|0;B=e+(f+1)|0;H=e+(f+2)|0;ka=f+257|0;z=d|0;d=h;Q=h>>>0<(a[b+140>>2]|0)>>>0?c:c>>>2;c=t[e+(h+f)>>0]|0;for(b=t[e+(f+-1+h)>>0]|0;;){h=e+z|0;if((t[e+(z+d)>>0]|0)==c<<24>>24&&(t[e+(d+-1+z)>>0]|0)==b<<24>>24&&(t[h>>0]|0)==(t[g>>0]|0)&&(t[e+(z+1)>>0]|0)==(t[B>>0]|0)){h=e+(z+
-2)|0;for(C=H;;){Ra=C+1|0;if((t[Ra>>0]|0)!=(t[h+1>>0]|0)){C=Ra;break}Ra=C+2|0;if((t[Ra>>0]|0)!=(t[h+2>>0]|0)){C=Ra;break}Ra=C+3|0;if((t[Ra>>0]|0)!=(t[h+3>>0]|0)){C=Ra;break}Ra=C+4|0;if((t[Ra>>0]|0)!=(t[h+4>>0]|0)){C=Ra;break}Ra=C+5|0;if((t[Ra>>0]|0)!=(t[h+5>>0]|0)){C=Ra;break}Ra=C+6|0;if((t[Ra>>0]|0)!=(t[h+6>>0]|0)){C=Ra;break}Ra=C+7|0;if((t[Ra>>0]|0)!=(t[h+7>>0]|0)){C=Ra;break}Ra=C+8|0;h=h+8|0;if(Ra>>>0<p>>>0&&(t[Ra>>0]|0)==(t[h>>0]|0))C=Ra;else{C=Ra;break}}C=C-p|0;h=C+258|0;if((h|0)>(d|0)){a[m>>
-2]=z;if((h|0)>=(y|0)){e=h;f=20;break}Ra=h;c=t[e+(h+f)>>0]|0;C=t[e+(ka+C)>>0]|0}else Ra=d,C=b}else Ra=d,C=b;z=N[k+((z&n)<<1)>>1]|0;if(z>>>0<=l>>>0){e=Ra;f=20;break}if(Q=Q+-1|0)d=Ra,b=C;else{e=Ra;f=20;break}}return 20==(f|0)?(e>>>0>q>>>0?q:e)|0:0}function If(b){b|=0;var d,c;if(!b)return-2;d=a[b+28>>2]|0;if(!d)return-2;a[d+40>>2]=0;a[d+44>>2]=0;a[d+48>>2]=0;a[d+28>>2]=0;a[b+20>>2]=0;a[b+8>>2]=0;a[b+24>>2]=0;(c=a[d+8>>2]|0)&&(a[b+48>>2]=c&1);a[d>>2]=0;a[d+4>>2]=0;a[d+12>>2]=0;a[d+20>>2]=32768;a[d+32>>
-2]=0;a[d+56>>2]=0;a[d+60>>2]=0;c=d+1328|0;a[d+108>>2]=c;a[d+80>>2]=c;a[d+76>>2]=c;a[d+7104>>2]=1;a[d+7108>>2]=-1;return 0}function Ug(b,d,c){b|=0;d|=0;var e;if(!d||56!=(c|0)|49!=(t[d>>0]|0))return-6;if(!b)return-2;d=b+24|0;a[d>>2]=0;c=b+32|0;(e=a[c>>2]|0)?c=e:(a[c>>2]=29,a[b+40>>2]=0,c=29);e=b+36|0;a[e>>2]|0||(a[e>>2]=6);e=Aa[c&63](a[b+40>>2]|0,1,7116)|0;if(!e)return-4;a[b+28>>2]=e;a[e+52>>2]=0;a[e+8>>2]=1;a[e+36>>2]=15;a[e+40>>2]=0;a[e+44>>2]=0;a[e+48>>2]=0;a[e+28>>2]=0;a[b+20>>2]=0;a[b+8>>2]=0;
-a[d>>2]=0;a[b+48>>2]=1;a[e>>2]=0;a[e+4>>2]=0;a[e+12>>2]=0;a[e+20>>2]=32768;a[e+32>>2]=0;a[e+56>>2]=0;a[e+60>>2]=0;b=e+1328|0;a[e+108>>2]=b;a[e+80>>2]=b;a[e+76>>2]=b;a[e+7104>>2]=1;a[e+7108>>2]=-1;return 0}function Ji(b,d){b|=0;d|=0;var c=0,e=0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0,Q=0,C=0,Ra=0,V=0,r=0,J=0,I=0,G=0,L=0,K=0,E=0,v=0,O=0,M=0,T=0,X=0,P=0,Oa=0,A=0,D=0,ba=0,F=0,Te=0,R=0,ga=0,Ha=0,ma=0,bc=0,ha=0,U=0,Y=0,S=0,da=0,Z=0,fa=0,oa=0,sa=0,Kc=0,ua=0,Ia=0,Da=0,na=0,Na=0,W=0,Ca=0,
-Ga=0,Ea=0,La=0,ca=0,aa=0,ja=0,ya=0,Aa=0,ra=0,pa=0,jb=0,mc=0,Wa=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,fe=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Ka=0,Ua=0,Qa=0,Jb=0,Va=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,eb=0,ub=0,nd=0,Zd=0,wb=0,Ab=0,Qd=0,zb=0,Ob=0,Tb=0,jf=0,ab=0,rb=0,pb=0,Qb=0,Hb=0,fb=0,Gb=0,Kb=0,lb=0,Wb=0,hc=0,Lb=0,ac=0,kd=0,Yb=0,kc=0,Pb=0,zc=0,Sb=0,oc=0,fc=0,jc=0,Ie=0,ic=0,Wd=0,Jd=
-0,bd=0,Vb=0,Rc=0,yc=0,Be=0,db=0,$b=0,ec=0,lc=0,gk=0,hd=0,Bd=0,xj=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,cf=0,Gc=0,Jc=0,Ic=0,Lc=0,Yc=0,wc=0,id=0,dc=0,Ac=0,Sc=0,Tc=0,nc=0,Bc=0,Ce=0,vd=0,wd=0,Hc=0,Nf=0,vc=0,ug=0,Fc=0,Cc=0,Qc=0,xc=0,ce=0,oe=0,Wc=0,Oc=0,Df=0,md=0,Uc=0,Vc=0,hk=0,he=0,te=0,de=0,He=0,ue=0,rd=0,Xc=0,ae=0,De=0,be=0,Fd=0,Rd=0,Gd=0,$d=0,ge=0,ud=0,xd=0,ie=0,je=0,cd=0,Of=0,Dc=0,yd=0,Ad=0,sd=0,ad=0,dd=0,Ye=0,ld=0,ve=0,Je=0,ze=0,Qe=0,$c=0,Ze=0,jd=0,td=0,kf=0,Id=0,df=0,Ud=0,ef=0,Ue=0,Ke=0,Pd=0,$e=0,
-Dd=0,Vd=0,Nd=0,ne=0,Ld=0,Nc=0,Mc=0,qc=0,qd=0,pe=0,uc=0,Pc=0,Wf=0,Cd=0,Od=0,Pf=0,Xd=0,Xf=0,pd=0,Yf=0,zd=0,Td=0,Sd=0,we=0,se=0,Ne=0,me=0,Oe=0,Pe=0,Md=0,Yd=0,xe=0,re=0,ye=0,le=0,Ve=0,We=0,sf=0,gf=0,nf=0,of=0,Kf=0,Lf=0,Mf=0,Xe=0,Sf=0,rf=0,yj=0,eh=0,mh=0,nh=0,qh=0,fh=0,ik=0,jk=0,Uf=0,Se=0,gg=0,Ae=0,qe=0,ee=0,uf=0,vf=0,yf=0,Bf=0,pf=0,Me=0,jg=0,bg=0,oh=0,Hf=0,rh=0,vg=0,ij=0,Re=0,mf=0,dg=0,mg=0,kk=0,wg=0,xg=0,yg=0,zg=0,Zf=0,ag=0,Ag=0,eg=0,qg=0,hg=0,fg=0,sh=0,Cf=0,tg=0,gh=0,Dg=0,Tf=0,qf=0,tf=0,wf=0,xf=0,Vf=
-0,Ig=0,pg=0,sg=0,Ng=0,Og=0,Gf=0,If=0,Ug=0,Vg=0,yh=0,Jf=0,zf=0,ng=0,Af=0,og=0,rg=0,Kg=0,ih=0,lh=0,cg=0,Tg=0,kg=0,lg=0,Gg=0,Yg=0,$g=0,vh=0,wh=0,Pg=0,xh=0,Ch=0,Eg=0,kh=0,ki=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Fg=0,Lh=0,Mh=0,Hg=0,Wg=0,Xg=0,Nh=0,Oh=0,Ph=0,Qh=0,Zg=0,Rh=0,Sh=0,jj=0,Th=0,Jg=0,ah=0,Ri=0,c=u;u=u+16|0;e=c;if(!b)return f=-2,u=c,f|0;g=a[b+28>>2]|0;if(!g)return f=-2,u=c,f|0;h=b+12|0;m=a[h>>2]|0;if(!m)return f=-2,u=c,f|0;k=a[b>>2]|0;if(0==(k|0)&&0!=(a[b+4>>2]|0))return f=-2,u=c,f|0;l=a[g>>2]|0;n=11==
-(l|0)?a[g>>2]=12:l;l=b+16|0;p=a[l>>2]|0;q=b+4|0;y=a[q>>2]|0;B=g+56|0;H=g+60|0;ka=g+8|0;z=g+24|0;Q=e+1|0;C=g+16|0;Ra=g+32|0;V=b+24|0;r=g+36|0;J=g+20|0;I=b+48|0;G=g+64|0;L=g+12|0;K=2>(d+-5|0)>>>0;E=g+4|0;v=g+76|0;O=g+84|0;M=g+80|0;T=g+88|0;X=6==(d|0);P=g+7108|0;Oa=g+72|0;A=g+7112|0;D=g+68|0;ba=g+44|0;F=g+7104|0;Te=g+48|0;R=g+52|0;ga=g+40|0;Ha=b+20|0;ma=g+28|0;bc=e+2|0;ha=e+3|0;U=g+104|0;Y=g+96|0;S=g+100|0;da=g+624|0;Z=g+1328|0;fa=g+108|0;oa=g+112|0;sa=g+752|0;Kc=g+92|0;ua=m;m=n;n=a[H>>2]|0;Ia=y;Da=
-a[B>>2]|0;na=p;Na=k;k=p;p=0;a:for(;;){b:do switch(m|0){case 28:W=ua;Ca=na;Ga=n;Ea=Ia;La=Da;ca=Na;aa=k;ja=1;break a;case 29:ya=ua;Aa=n;ra=Ia;pa=Da;jb=na;mc=Na;Wa=k;Ta=281;break a;case 30:f=-4;Ta=296;break a;case 0:Ya=a[ka>>2]|0;if(!Ya){a[g>>2]=12;Sa=n;mb=Ia;Db=Da;cc=na;Za=Na;ia=k;qa=ua;Ja=p;break b}if(16>n>>>0)for(ea=n,wa=Ia,Ma=Da,xa=Na;;){if(!wa){W=ua;Ca=na;Ga=ea;Ea=0;La=Ma;ca=xa;aa=k;ja=p;break a}$a=wa+-1|0;la=xa+1|0;Ba=(x[xa>>0]<<ea)+Ma|0;va=ea+8|0;if(16>va>>>0)ea=va,wa=$a,Ma=Ba,xa=la;else{za=va;
-ta=$a;nb=Ba;sc=la;break}}else za=n,ta=Ia,nb=Da,sc=Na;if(35615==(nb|0)&0!=(Ya&2|0)){xa=Kd(0,0,0)|0;a[z>>2]=xa;t[e>>0]=31;t[Q>>0]=-117;xa=Kd(a[z>>2]|0,e,2)|0;a[z>>2]=xa;a[g>>2]=1;Sa=0;mb=ta;Db=0;cc=na;Za=sc;ia=k;qa=ua;Ja=p;break b}a[C>>2]=0;(xa=a[Ra>>2]|0)&&(a[xa+48>>2]=-1);if(0!=(Ya&1|0)&&0==((((nb<<8&65280)+(nb>>>8)|0)>>>0)%31|0)){if(8!=(nb&15|0)){a[V>>2]=154515;a[g>>2]=29;Sa=za;mb=ta;Db=nb;cc=na;Za=sc;ia=k;qa=ua;Ja=p;break b}xa=nb>>>4;Ma=za+-4|0;wa=(xa&15)+8|0;if(ea=a[r>>2]|0){if(wa>>>0>ea>>>0){a[V>>
-2]=154542;a[g>>2]=29;Sa=Ma;mb=ta;Db=xa;cc=na;Za=sc;ia=k;qa=ua;Ja=p;break b}}else a[r>>2]=wa;a[J>>2]=1<<wa;wa=Si(0,0,0)|0;a[z>>2]=wa;a[I>>2]=wa;a[g>>2]=nb>>>12&2^11;Sa=0;mb=ta;Db=0;cc=na;Za=sc;ia=k;qa=ua;Ja=p;break b}a[V>>2]=154492;a[g>>2]=29;Sa=za;mb=ta;Db=nb;cc=na;Za=sc;ia=k;qa=ua;Ja=p;break;case 1:if(16>n>>>0)for(wa=n,xa=Ia,Ma=Da,ea=Na;;){if(!xa){W=ua;Ca=na;Ga=wa;Ea=0;La=Ma;ca=ea;aa=k;ja=p;break a}la=xa+-1|0;Ba=ea+1|0;$a=(x[ea>>0]<<wa)+Ma|0;va=wa+8|0;if(16>va>>>0)wa=va,xa=la,Ma=$a,ea=Ba;else{gb=
-$a;hb=va;ob=la;Bb=Ba;break}}else gb=Da,hb=n,ob=Ia,Bb=Na;a[C>>2]=gb;if(8!=(gb&255|0)){a[V>>2]=154515;a[g>>2]=29;Sa=hb;mb=ob;Db=gb;cc=na;Za=Bb;ia=k;qa=ua;Ja=p;break b}if(gb&57344){a[V>>2]=154562;a[g>>2]=29;Sa=hb;mb=ob;Db=gb;cc=na;Za=Bb;ia=k;qa=ua;Ja=p;break b}(ea=a[Ra>>2]|0)&&(a[ea>>2]=gb>>>8&1);gb&512&&(t[e>>0]=gb,t[Q>>0]=gb>>>8,ea=Kd(a[z>>2]|0,e,2)|0,a[z>>2]=ea);a[g>>2]=2;qb=0;kb=ob;ib=0;Cb=Bb;Ta=47;break;case 2:32>n>>>0?(qb=n,kb=Ia,ib=Da,Cb=Na,Ta=47):(fe=Ia,sb=Da,Xa=Na,Ta=49);break;case 3:16>n>>>
-0?(Fa=n,Pa=Ia,Eb=Da,vb=Na,Ta=55):(tb=Ia,bb=Da,Ib=Na,Ta=57);break;case 4:Mb=n;Ka=Ia;Ua=Da;Qa=Na;Ta=62;break;case 5:Jb=n;Va=Ia;yb=Da;cb=Na;Ta=73;break;case 6:gc=n;Ub=Ia;Fb=Da;eb=Na;Ta=83;break;case 7:ub=n;nd=Ia;Zd=Da;wb=Na;Ta=96;break;case 8:Ab=n;Qd=Ia;zb=Da;Ob=Na;Ta=109;break;case 9:if(32>n>>>0)for(ea=n,Ma=Ia,xa=Da,wa=Na;;){if(!Ma){W=ua;Ca=na;Ga=ea;Ea=0;La=xa;ca=wa;aa=k;ja=p;break a}Ya=Ma+-1|0;Ba=wa+1|0;la=(x[wa>>0]<<ea)+xa|0;ea=ea+8|0;if(32<=ea>>>0){Tb=Ya;jf=la;ab=Ba;break}else Ma=Ya,xa=la,wa=Ba}else Tb=
-Ia,jf=Da,ab=Na;wa=lk(jf|0)|0;a[z>>2]=wa;a[I>>2]=wa;a[g>>2]=10;rb=0;pb=Tb;Qb=0;Hb=ab;Ta=121;break;case 10:rb=n;pb=Ia;Qb=Da;Hb=Na;Ta=121;break;case 11:fb=n;Gb=Ia;Kb=Da;lb=Na;Ta=124;break;case 12:Wb=n;hc=Ia;Lb=Da;ac=Na;Ta=125;break;case 13:wa=n&7;xa=Da>>>wa;Ma=n-wa|0;if(32>Ma>>>0)for(wa=Ma,ea=Ia,Ba=xa,la=Na;;){if(!ea){W=ua;Ca=na;Ga=wa;Ea=0;La=Ba;ca=la;aa=k;ja=p;break a}Ya=ea+-1|0;va=la+1|0;$a=(x[la>>0]<<wa)+Ba|0;kd=wa+8|0;if(32>kd>>>0)wa=kd,ea=Ya,Ba=$a,la=va;else{Yb=kd;kc=Ya;Pb=$a;zc=va;break}}else Yb=
-Ma,kc=Ia,Pb=xa,zc=Na;la=Pb&65535;if((la|0)==(Pb>>>16^65535|0))if(a[G>>2]=la,a[g>>2]=14,X){W=ua;Ca=na;Ga=0;Ea=kc;La=0;ca=zc;aa=k;ja=p;break a}else{Sb=0;oc=kc;fc=0;jc=zc;Ta=143;break b}else{a[V>>2]=154626;a[g>>2]=29;Sa=Yb;mb=kc;Db=Pb;cc=na;Za=zc;ia=k;qa=ua;Ja=p;break b}case 14:Sb=n;oc=Ia;fc=Da;jc=Na;Ta=143;break;case 15:Ie=n;ic=Ia;Wd=Da;Jd=Na;Ta=144;break;case 16:if(14>n>>>0)for(la=n,Ba=Ia,ea=Da,wa=Na;;){if(!Ba){W=ua;Ca=na;Ga=la;Ea=0;La=ea;ca=wa;aa=k;ja=p;break a}va=Ba+-1|0;$a=wa+1|0;Ya=(x[wa>>0]<<
-la)+ea|0;kd=la+8|0;if(14>kd>>>0)la=kd,Ba=va,ea=Ya,wa=$a;else{bd=kd;Vb=va;Rc=Ya;yc=$a;break}}else bd=n,Vb=Ia,Rc=Da,yc=Na;wa=(Rc&31)+257|0;a[Y>>2]=wa;ea=(Rc>>>5&31)+1|0;a[S>>2]=ea;Ba=(Rc>>>10&15)+4|0;a[Kc>>2]=Ba;la=Rc>>>14;xa=bd+-14|0;286<wa>>>0|30<ea>>>0?(a[V>>2]=154655,a[g>>2]=29,Sa=xa,mb=Vb,Db=la,cc=na,Za=yc,ia=k,qa=ua,Ja=p):(a[U>>2]=0,a[g>>2]=17,Be=Ba,db=0,$b=xa,ec=Vb,lc=la,gk=yc,Ta=154);break b;case 17:la=a[U>>2]|0;xa=a[Kc>>2]|0;la>>>0<xa>>>0?(Be=xa,db=la,$b=n,ec=Ia,lc=Da,gk=Na,Ta=154):(hd=la,
-Bd=n,xj=Ia,Rb=Da,od=Na,Ta=155);break;case 18:tc=a[U>>2]|0;Xb=n;rc=Ia;ed=Da;gd=Na;cf=p;Ta=165;break;case 19:Gc=n;Jc=Ia;Ic=Da;Lc=Na;Yc=p;Ta=199;break;case 20:wc=n;id=Ia;dc=Da;Ac=Na;Sc=p;Ta=200;break;case 21:Tc=a[Oa>>2]|0;nc=n;Bc=Ia;Ce=Da;vd=Na;wd=p;Ta=218;break;case 22:Hc=n;Nf=Ia;vc=Da;ug=Na;Fc=p;Ta=225;break;case 23:Cc=a[Oa>>2]|0;Qc=n;xc=Ia;ce=Da;oe=Na;Wc=p;Ta=237;break;case 24:Oc=n;Df=Ia;md=Da;Uc=Na;Vc=p;Ta=243;break;case 25:if(!na){W=ua;Ca=0;Ga=n;Ea=Ia;La=Da;ca=Na;aa=k;ja=p;break a}t[ua>>0]=a[G>>
-2];a[g>>2]=20;Sa=n;mb=Ia;Db=Da;cc=na+-1|0;Za=Na;ia=k;qa=ua+1|0;Ja=p;break;case 26:if(a[ka>>2]|0){if(32>n>>>0)for(la=n,xa=Ia,Ba=Da,ea=Na;;){if(!xa){W=ua;Ca=na;Ga=la;Ea=0;La=Ba;ca=ea;aa=k;ja=p;break a}wa=xa+-1|0;Ma=ea+1|0;$a=(x[ea>>0]<<la)+Ba|0;Ya=la+8|0;if(32>Ya>>>0)la=Ya,xa=wa,Ba=$a,ea=Ma;else{hk=Ya;he=wa;te=$a;de=Ma;break}}else hk=n,he=Ia,te=Da,de=Na;ea=k-na|0;a[Ha>>2]=(a[Ha>>2]|0)+ea;a[ma>>2]=(a[ma>>2]|0)+ea;(k|0)==(na|0)?He=a[z>>2]|0:(Ba=a[z>>2]|0,xa=ua+(0-ea)|0,ue=a[C>>2]|0?Kd(Ba,xa,ea)|0:Si(Ba,
-xa,ea)|0,a[z>>2]=ue,He=a[I>>2]=ue);ea=0==(a[C>>2]|0);xa=lk(te|0)|0;if(((ea?xa:te)|0)==(He|0))rd=0,Xc=he,ae=0,De=de,be=na;else{a[V>>2]=154829;a[g>>2]=29;Sa=hk;mb=he;Db=te;cc=na;Za=de;ia=na;qa=ua;Ja=p;break b}}else rd=n,Xc=Ia,ae=Da,De=Na,be=k;a[g>>2]=27;Fd=rd;Rd=Xc;Gd=ae;$d=De;ge=be;Ta=273;break;case 27:Fd=n;Rd=Ia;Gd=Da;$d=Na;ge=k;Ta=273;break;default:Ta=295;break a}while(0);if(47==(Ta|0))for(;;){Ta=0;if(!kb){W=ua;Ca=na;Ga=qb;Ea=0;La=ib;ca=Cb;aa=k;ja=p;break a}xa=kb+-1|0;ea=Cb+1|0;Ba=(x[Cb>>0]<<qb)+
-ib|0;qb=qb+8|0;if(32<=qb>>>0){fe=xa;sb=Ba;Xa=ea;Ta=49;break}else kb=xa,ib=Ba,Cb=ea,Ta=47}else if(121==(Ta|0)){Ta=0;if(!(a[L>>2]|0)){ud=ua;xd=rb;ie=pb;je=Qb;cd=na;Of=Hb;Ta=122;break}ea=Si(0,0,0)|0;a[z>>2]=ea;a[I>>2]=ea;a[g>>2]=11;fb=rb;Gb=pb;Kb=Qb;lb=Hb;Ta=124}else if(143==(Ta|0))Ta=0,a[g>>2]=15,Ie=Sb,ic=oc,Wd=fc,Jd=jc,Ta=144;else if(154==(Ta|0))for(Ta=0,ea=db,Ba=$b,xa=ec,la=lc,Ma=gk;;){if(3>Ba>>>0)for($a=Ba,wa=xa,Ya=la,va=Ma;;){if(!wa){W=ua;Ca=na;Ga=$a;Ea=0;La=Ya;ca=va;aa=k;ja=p;break a}kd=wa+-1|
-0;Dc=va+1|0;yd=(x[va>>0]<<$a)+Ya|0;Ad=$a+8|0;if(3>Ad>>>0)$a=Ad,wa=kd,Ya=yd,va=Dc;else{sd=Ad;ad=kd;dd=yd;Ye=Dc;break}}else sd=Ba,ad=xa,dd=la,Ye=Ma;va=ea+1|0;a[U>>2]=va;w[g+112+(N[127246+(ea<<1)>>1]<<1)>>1]=dd&7;Ya=dd>>>3;wa=sd+-3|0;if(va>>>0<Be>>>0)ea=va,Ba=wa,xa=ad,la=Ya,Ma=Ye;else{hd=va;Bd=wa;xj=ad;Rb=Ya;od=Ye;Ta=155;break}}else if(273==(Ta|0)){Ta=0;if(!(a[ka>>2]|0)){ld=ua;ve=Fd;Je=Rd;ze=Gd;Qe=na;$c=$d;Ze=ge;Ta=280;break}if(!(a[C>>2]|0)){ld=ua;ve=Fd;Je=Rd;ze=Gd;Qe=na;$c=$d;Ze=ge;Ta=280;break}if(32>
-Fd>>>0)for(Ma=Fd,la=Rd,xa=Gd,Ba=$d;;){if(!la){W=ua;Ca=na;Ga=Ma;Ea=0;La=xa;ca=Ba;aa=ge;ja=p;break a}ea=la+-1|0;Ya=Ba+1|0;wa=(x[Ba>>0]<<Ma)+xa|0;va=Ma+8|0;if(32>va>>>0)Ma=va,la=ea,xa=wa,Ba=Ya;else{jd=va;td=ea;kf=wa;Id=Ya;break}}else jd=Fd,td=Rd,kf=Gd,Id=$d;if((kf|0)==(a[ma>>2]|0)){ld=ua;ve=0;Je=td;ze=0;Qe=na;$c=Id;Ze=ge;Ta=280;break}a[V>>2]=154850;a[g>>2]=29;Sa=jd;mb=td;Db=kf;cc=na;Za=Id;ia=ge;qa=ua;Ja=p}do if(49==(Ta|0))Ta=0,(Ba=a[Ra>>2]|0)&&(a[Ba+4>>2]=sb),a[C>>2]&512&&(t[e>>0]=sb,t[Q>>0]=sb>>>8,
-t[bc>>0]=sb>>>16,t[ha>>0]=sb>>>24,Ba=Kd(a[z>>2]|0,e,4)|0,a[z>>2]=Ba),a[g>>2]=3,Fa=0,Pa=fe,Eb=0,vb=Xa,Ta=55;else if(124==(Ta|0))if(Ta=0,K){W=ua;Ca=na;Ga=fb;Ea=Gb;La=Kb;ca=lb;aa=k;ja=p;break a}else Wb=fb,hc=Gb,Lb=Kb,ac=lb,Ta=125;else if(144==(Ta|0)){Ta=0;if(Ba=a[G>>2]|0){xa=Ba>>>0>ic>>>0?ic:Ba;Ba=xa>>>0>na>>>0?na:xa;if(!Ba){W=ua;Ca=na;Ga=Ie;Ea=ic;La=Wd;ca=Jd;aa=k;ja=p;break a}Ec(ua|0,Jd|0,Ba|0)|0;a[G>>2]=(a[G>>2]|0)-Ba;Sa=Ie;mb=ic-Ba|0;Db=Wd;cc=na-Ba|0;Za=Jd+Ba|0;ia=k;qa=ua+Ba|0}else a[g>>2]=11,Sa=
-Ie,mb=ic,Db=Wd,cc=na,Za=Jd,ia=k,qa=ua;Ja=p}else if(155==(Ta|0)){Ta=0;if(19>hd>>>0){Ba=hd;do w[g+112+(N[127246+(Ba<<1)>>1]<<1)>>1]=0,Ba=Ba+1|0;while(19!=(Ba|0));a[U>>2]=19}a[fa>>2]=Z;a[v>>2]=Z;a[O>>2]=7;(Ba=ni(0,oa,19,fa,O,sa)|0)?(a[V>>2]=154691,a[g>>2]=29,Sa=Bd,mb=xj,Db=Rb,cc=na,Za=od,ia=k,qa=ua,Ja=Ba):(a[U>>2]=0,a[g>>2]=18,tc=0,Xb=Bd,rc=xj,ed=Rb,gd=od,cf=0,Ta=165)}while(0);b:do if(55==(Ta|0))for(;;){Ta=0;if(!Pa){W=ua;Ca=na;Ga=Fa;Ea=0;La=Eb;ca=vb;aa=k;ja=p;break a}Ba=Pa+-1|0;xa=vb+1|0;la=(x[vb>>0]<<
-Fa)+Eb|0;Fa=Fa+8|0;if(16<=Fa>>>0){tb=Ba;bb=la;Ib=xa;Ta=57;break}else Pa=Ba,Eb=la,vb=xa,Ta=55}else if(125==(Ta|0)){Ta=0;if(a[E>>2]|0)xa=Wb&7,a[g>>2]=26,Sa=Wb-xa|0,mb=hc,Db=Lb>>>xa,cc=na,Za=ac;else{if(3>Wb>>>0)for(xa=Wb,la=hc,Ba=Lb,Ma=ac;;){if(!la){W=ua;Ca=na;Ga=xa;Ea=0;La=Ba;ca=Ma;aa=k;ja=p;break a}Ya=la+-1|0;wa=Ma+1|0;ea=(x[Ma>>0]<<xa)+Ba|0;va=xa+8|0;if(3>va>>>0)xa=va,la=Ya,Ba=ea,Ma=wa;else{df=va;Ud=Ya;ef=ea;Ue=wa;break}}else df=Wb,Ud=hc,ef=Lb,Ue=ac;a[E>>2]=ef&1;switch(ef>>>1&3|0){case 0:a[g>>2]=
-13;break;case 1:a[v>>2]=125070;a[O>>2]=9;a[M>>2]=127118;a[T>>2]=5;a[g>>2]=19;if(X){Ke=ua;Pd=df;$e=Ud;Dd=ef;Vd=na;Nd=Ue;ne=k;Ld=p;Ta=133;break a}break;case 2:a[g>>2]=16;break;case 3:a[V>>2]=154607,a[g>>2]=29}Sa=df+-3|0;mb=Ud;Db=ef>>>3;cc=na;Za=Ue}ia=k;qa=ua;Ja=p}else if(165==(Ta|0)){Ta=0;Ma=a[Y>>2]|0;Ba=a[S>>2]|0;do if(tc>>>0<(Ba+Ma|0)>>>0){la=tc;xa=Ba;wa=Ma;ea=Xb;Ya=rc;va=ed;$a=gd;c:for(;;){Dc=(1<<a[O>>2])+-1|0;yd=Dc&va;kd=a[v>>2]|0;Ad=x[kd+(yd<<2)+1>>0]|0;if(ea>>>0<Ad>>>0)for(Nc=ea,Mc=Ya,qc=va,qd=
-$a;;){if(!Mc){W=ua;Ca=na;Ga=Nc;Ea=0;La=qc;ca=qd;aa=k;ja=cf;break a}pe=Mc+-1|0;uc=qd+1|0;Pc=(x[qd>>0]<<Nc)+qc|0;Wf=Nc+8|0;Cd=Dc&Pc;Od=x[kd+(Cd<<2)+1>>0]|0;if(Wf>>>0<Od>>>0)Nc=Wf,Mc=pe,qc=Pc,qd=uc;else{Pf=Od;Xd=Cd;Xf=Wf;pd=pe;Yf=Pc;zd=uc;break}}else Pf=Ad,Xd=yd,Xf=ea,pd=Ya,Yf=va,zd=$a;qd=w[kd+(Xd<<2)+2>>1]|0;if(16<=(qd&65535)){switch(qd<<16>>16){case 16:qc=Pf+2|0;if(Xf>>>0<qc>>>0)for(Mc=Xf,Nc=pd,Dc=Yf,uc=zd;;){if(!Nc){W=ua;Ca=na;Ga=Mc;Ea=0;La=Dc;ca=uc;aa=k;ja=cf;break a}Pc=Nc+-1|0;pe=uc+1|0;Wf=(x[uc>>
-0]<<Mc)+Dc|0;Cd=Mc+8|0;if(Cd>>>0<qc>>>0)Mc=Cd,Nc=Pc,Dc=Wf,uc=pe;else{Td=Cd;Sd=Pc;we=Wf;se=pe;break}}else Td=Xf,Sd=pd,we=Yf,se=zd;uc=we>>>Pf;Dc=Td-Pf|0;if(!la){Ne=uc;me=Dc;Oe=Sd;Pe=se;Ta=179;break c}Md=Dc+-2|0;Yd=(uc&3)+3|0;xe=Sd;re=uc>>>2;ye=N[g+112+(la+-1<<1)>>1]|0;le=se;break;case 17:uc=Pf+3|0;if(Xf>>>0<uc>>>0)for(Dc=Xf,Nc=pd,Mc=Yf,qc=zd;;){if(!Nc){W=ua;Ca=na;Ga=Dc;Ea=0;La=Mc;ca=qc;aa=k;ja=cf;break a}kd=Nc+-1|0;yd=qc+1|0;Ad=(x[qc>>0]<<Dc)+Mc|0;pe=Dc+8|0;if(pe>>>0<uc>>>0)Dc=pe,Nc=kd,Mc=Ad,qc=yd;
-else{Ve=pe;We=kd;sf=Ad;gf=yd;break}}else Ve=Xf,We=pd,sf=Yf,gf=zd;qc=sf>>>Pf;Md=-3-Pf+Ve|0;Yd=(qc&7)+3|0;xe=We;re=qc>>>3;ye=0;le=gf;break;default:qc=Pf+7|0;if(Xf>>>0<qc>>>0)for(Mc=Xf,Nc=pd,Dc=Yf,uc=zd;;){if(!Nc){W=ua;Ca=na;Ga=Mc;Ea=0;La=Dc;ca=uc;aa=k;ja=cf;break a}yd=Nc+-1|0;Ad=uc+1|0;kd=(x[uc>>0]<<Mc)+Dc|0;pe=Mc+8|0;if(pe>>>0<qc>>>0)Mc=pe,Nc=yd,Dc=kd,uc=Ad;else{nf=pe;of=yd;Kf=kd;Lf=Ad;break}}else nf=Xf,of=pd,Kf=Yf,Lf=zd;uc=Kf>>>Pf;Md=-7-Pf+nf|0;Yd=(uc&127)+11|0;xe=of;re=uc>>>7;ye=0;le=Lf}if((la+Yd|
-0)>>>0>(xa+wa|0)>>>0){Mf=Md;Xe=xe;Sf=re;rf=le;Ta=189;break}uc=ye&65535;Dc=Yd+-1|0;a[U>>2]=la+1;w[g+112+(la<<1)>>1]=uc;if(Dc){Nc=Dc;do Dc=a[U>>2]|0,Nc=Nc+-1|0,a[U>>2]=Dc+1,w[g+112+(Dc<<1)>>1]=uc;while(0!=(Nc|0))}yj=Md;eh=xe;mh=re;nh=le}else a[U>>2]=la+1,w[g+112+(la<<1)>>1]=qd,yj=Xf-Pf|0,eh=pd,mh=Yf>>>Pf,nh=zd;la=a[U>>2]|0;Nc=a[Y>>2]|0;xa=a[S>>2]|0;if(la>>>0>=(xa+Nc|0)>>>0){qh=Nc;fh=yj;ik=eh;jk=mh;Uf=nh;Ta=191;break}else wa=Nc,ea=yj,Ya=eh,va=mh,$a=nh}if(179==(Ta|0)){Ta=0;a[V>>2]=154716;a[g>>2]=29;Sa=
-me;mb=Oe;Db=Ne;cc=na;Za=Pe;ia=k;qa=ua;Ja=cf;break b}else if(189==(Ta|0)){Ta=0;a[V>>2]=154716;a[g>>2]=29;Sa=Mf;mb=Xe;Db=Sf;cc=na;Za=rf;ia=k;qa=ua;Ja=cf;break b}else if(191==(Ta|0))if(Ta=0,29==(a[g>>2]|0)){Sa=fh;mb=ik;Db=jk;cc=na;Za=Uf;ia=k;qa=ua;Ja=cf;break b}else Se=qh,gg=fh,Ae=ik,qe=jk,ee=Uf}else Se=Ma,gg=Xb,Ae=rc,qe=ed,ee=gd;while(0);if(w[da>>1]|0)if(a[fa>>2]=Z,a[v>>2]=Z,a[O>>2]=9,Ma=ni(1,oa,Se,fa,O,sa)|0)a[V>>2]=154779,a[g>>2]=29,Sa=gg,mb=Ae,Db=qe,cc=na,Za=ee,ia=k,qa=ua,Ja=Ma;else if(a[M>>2]=a[fa>>
-2],a[T>>2]=6,Ma=ni(2,g+112+(a[Y>>2]<<1)|0,a[S>>2]|0,fa,T,sa)|0)a[V>>2]=154807,a[g>>2]=29,Sa=gg,mb=Ae,Db=qe,cc=na,Za=ee,ia=k,qa=ua,Ja=Ma;else if(a[g>>2]=19,X){W=ua;Ca=na;Ga=gg;Ea=Ae;La=qe;ca=ee;aa=k;ja=0;break a}else Gc=gg,Jc=Ae,Ic=qe,Lc=ee,Yc=0,Ta=199;else a[V>>2]=154742,a[g>>2]=29,Sa=gg,mb=Ae,Db=qe,cc=na,Za=ee,ia=k,qa=ua,Ja=cf}while(0);if(57==(Ta|0)){Ta=0;if(Ma=a[Ra>>2]|0)a[Ma+8>>2]=bb&255,a[Ma+12>>2]=bb>>>8;a[C>>2]&512&&(t[e>>0]=bb,t[Q>>0]=bb>>>8,Ma=Kd(a[z>>2]|0,e,2)|0,a[z>>2]=Ma);a[g>>2]=4;Mb=
-0;Ka=tb;Ua=0;Qa=Ib;Ta=62}else 199==(Ta|0)&&(Ta=0,a[g>>2]=20,wc=Gc,id=Jc,dc=Ic,Ac=Lc,Sc=Yc,Ta=200);do if(62==(Ta|0)){Ta=0;Ma=a[C>>2]|0;if(Ma&1024){if(16>Mb>>>0)for(Ba=Mb,$a=Ka,va=Ua,Ya=Qa;;){if(!$a){W=ua;Ca=na;Ga=Ba;Ea=0;La=va;ca=Ya;aa=k;ja=p;break a}ea=$a+-1|0;wa=Ya+1|0;xa=(x[Ya>>0]<<Ba)+va|0;Ba=Ba+8|0;if(16<=Ba>>>0){pf=ea;Me=xa;jg=wa;break}else $a=ea,va=xa,Ya=wa}else pf=Ka,Me=Ua,jg=Qa;a[G>>2]=Me;(Ya=a[Ra>>2]|0)&&(a[Ya+20>>2]=Me);Ma&512&&(t[e>>0]=Me,t[Q>>0]=Me>>>8,Ya=Kd(a[z>>2]|0,e,2)|0,a[z>>2]=Ya);
-uf=0;vf=pf;yf=0;Bf=jg}else(Ba=a[Ra>>2]|0)&&(a[Ba+16>>2]=0),uf=Mb,vf=Ka,yf=Ua,Bf=Qa;a[g>>2]=5;Jb=uf;Va=vf;yb=yf;cb=Bf;Ta=73}else if(200==(Ta|0))if(Ta=0,257<na>>>0&5<id>>>0){a[h>>2]=ua;a[l>>2]=na;a[b>>2]=Ac;a[q>>2]=id;a[B>>2]=dc;a[H>>2]=wc;var th=b,bh=k,th=th|0,bh=bh|0,Bg=0,Ee=0,Uh=0,Vh=0,Wh=0,hh=0,Xh=0,kj=0,Yh=0,pi=0,zh=0,ch=0,$h=0,ai=0,Ti=0,Ui=0,qi=0,ri=0,ti=0,si=0,ei=0,xi=0,yi=0,fi=0,Ai=0,Di=0,Vi=0,Dh=0,jh=0,hi=0,Eh=0,Wi=0,ii=0,lj=0,lf=0,oi=0,af=0,ff=0,Le=0,Ki=0,mj=0,Zh=0,Li=0,Mi=0,Ni=0,Oi=0,sj=
-0,nj=0,ph=0,$f=0,ke=0,Qf=0,Ef=0,Ff=0,Pi=0,Qi=0,Zi=0,zi=0,Bi=0,Ci=0,Xi=0,gi=0,tj=0,Qg=0,Ei=0,ji=0,Fi=0,Gi=0,li=0,oj=0,$i=0,aj=0,bj=0,cj=0,ig=0,Rf=0,Fe=0,Rg=0,mi=0,Yi=0,Hi=0,Ii=0,zj=0,uj=0,bi=0,Sg=0,ui=0,vi=0,ci=0,di=0,dj=0,ej=0,fj=0,gj=0,Ah=0,uh=0,Bh=0,Cg=0,wi=0,Aj=0,Bj=0,vj=0,pj=0,wj=0,qj=0,rj=0,Bg=a[th+28>>2]|0,Ee=a[th>>2]|0,Uh=th+4|0,Vh=Ee+((a[Uh>>2]|0)+-6)|0,Wh=th+12|0,hh=a[Wh>>2]|0,Xh=th+16|0,kj=a[Xh>>2]|0,Yh=hh+(kj+-258)|0,pi=a[Bg+44>>2]|0,zh=a[Bg+48>>2]|0,ch=a[Bg+52>>2]|0,$h=Bg+56|0,ai=Bg+60|
-0,Ti=a[Bg+76>>2]|0,Ui=a[Bg+80>>2]|0,qi=(1<<a[Bg+84>>2])+-1|0,ri=(1<<a[Bg+88>>2])+-1|0,ti=hh+(kj+~bh)|0,bh=Bg+7104|0,kj=ch+-1|0,si=0==(zh|0),ei=(a[Bg+40>>2]|0)+-1|0,xi=ei+zh|0,yi=zh+-1|0,fi=ti+-1|0,Ai=ti-zh|0,Di=ti+-2|0,Vi=a[ai>>2]|0,Dh=a[$h>>2]|0,jh=Ee+-1|0,Ee=hh+-1|0;b:for(;;){15>Vi>>>0?(hh=jh+2|0,hi=Vi+16|0,Eh=((x[jh+1>>0]|0)<<Vi)+Dh+((x[hh>>0]|0)<<Vi+8)|0,Wi=hh):(hi=Vi,Eh=Dh,Wi=jh);hh=Eh&qi;ii=t[Ti+(hh<<2)>>0]|0;lj=w[Ti+(hh<<2)+2>>1]|0;lf=x[Ti+(hh<<2)+1>>0]|0;hh=Eh>>>lf;oi=hi-lf|0;do if(ii<<24>>
-24){lf=hh;af=oi;ff=ii&255;for(Le=lj;;){if(ff&16){Ki=ff;mj=af;Zh=lf;Li=Le;break}if(ff&64){Mi=ff;Ni=af;Oi=lf;sj=Wi;nj=Ee;ph=57;break b}$f=(lf&(1<<ff)+-1)+(Le&65535)|0;ke=t[Ti+($f<<2)>>0]|0;Qf=w[Ti+($f<<2)+2>>1]|0;Ef=x[Ti+($f<<2)+1>>0]|0;$f=lf>>>Ef;Ff=af-Ef|0;if(ke<<24>>24)lf=$f,af=Ff,ff=ke&255,Le=Qf;else{Pi=$f;Qi=Ff;Zi=Qf;ph=6;break}}if(6==(ph|0))ph=0,zi=Pi,Bi=Qi,Ci=Zi&255,ph=7;else{Le=Li&65535;(ff=Ki&15)?(mj>>>0<ff>>>0?(af=Wi+1|0,Ei=mj+8|0,ji=((x[af>>0]|0)<<mj)+Zh|0,Fi=af):(Ei=mj,ji=Zh,Fi=Wi),Xi=Ei-
-ff|0,gi=ji>>>ff,tj=Fi,Qg=(ji&(1<<ff)+-1)+Le|0):(Xi=mj,gi=Zh,tj=Wi,Qg=Le);15>Xi>>>0?(Le=tj+2|0,Gi=Xi+16|0,li=((x[tj+1>>0]|0)<<Xi)+gi+((x[Le>>0]|0)<<Xi+8)|0,oj=Le):(Gi=Xi,li=gi,oj=tj);Le=li&ri;ff=w[Ui+(Le<<2)+2>>1]|0;af=x[Ui+(Le<<2)+1>>0]|0;lf=li>>>af;Qf=Gi-af|0;af=x[Ui+(Le<<2)>>0]|0;if(af&16)mi=lf,Yi=Qf,Hi=af,Ii=ff;else for(Le=af,ke=lf,Ff=Qf,$f=ff;;){if(Le&64){$i=Ff;aj=ke;bj=oj;cj=Ee;ph=54;break b}Ef=(ke&(1<<Le)+-1)+($f&65535)|0;ig=w[Ui+(Ef<<2)+2>>1]|0;Rf=x[Ui+(Ef<<2)+1>>0]|0;Fe=ke>>>Rf;Rg=Ff-Rf|0;
-Rf=x[Ui+(Ef<<2)>>0]|0;if(Rf&16){mi=Fe;Yi=Rg;Hi=Rf;Ii=ig;break}else Le=Rf,ke=Fe,Ff=Rg,$f=ig}$f=Ii&65535;Ff=Hi&15;Yi>>>0<Ff>>>0?(ke=oj+1|0,Le=((x[ke>>0]|0)<<Yi)+mi|0,ig=Yi+8|0,ig>>>0<Ff>>>0?(Rf=oj+2|0,zj=Yi+16|0,uj=((x[Rf>>0]|0)<<ig)+Le|0,bi=Rf):(zj=ig,uj=Le,bi=ke)):(zj=Yi,uj=mi,bi=oj);ke=(uj&(1<<Ff)+-1)+$f|0;$f=uj>>>Ff;Le=zj-Ff|0;Ff=Ee;ig=Ff-ti|0;if(ke>>>0<=ig>>>0){Rf=2-Qg|0;Rg=Qg+(4294967293<Rf>>>0?Rf:-3)|0;Rf=Rg-((Rg>>>0)%3|0)|0;Rg=Rf-ke|0;Fe=Ee+(0-ke)|0;Ef=Qg;Sg=Ee;do t[Sg+1>>0]=t[Fe+1>>0]|0,t[Sg+
-2>>0]=t[Fe+2>>0]|0,Fe=Fe+3|0,Sg=Sg+3|0,t[Sg>>0]=t[Fe>>0]|0,Ef=Ef+-3|0;while(2<Ef>>>0);Ef=Qg+-3|0;(Ef|0)==(Rf|0)?(ui=Le,vi=$f,ci=bi,di=Ee+(Rf+3)|0):(Fe=Ee+(Rf+4)|0,t[Fe>>0]=t[Ee+(Rg+4)>>0]|0,1>=(Ef-Rf|0)>>>0||(Fe=Ee+(Rf+5)|0,t[Fe>>0]=t[Ee+(Rg+5)>>0]|0),ui=Le,vi=$f,ci=bi,di=Fe)}else{Fe=ke-ig|0;if(Fe>>>0>pi>>>0&&0!=(a[bh>>2]|0)){dj=$f;ej=Le;fj=bi;gj=Ee;ph=22;break b}if(si)if(Ef=ch+(ei-Fe)|0,Qg>>>0>Fe>>>0){Sg=Qg-Fe|0;ff=ke-Ff|0;af=Ef;Qf=Fe;lf=Ee;do af=af+1|0,lf=lf+1|0,t[lf>>0]=t[af>>0]|0,Qf=Qf+-1|0;while(0!=
-(Qf|0));Ah=Ee+(fi+ff+(1-ke))|0;uh=Sg;Bh=Ee+(ti+ff)|0}else Ah=Ef,uh=Qg,Bh=Ee;else if(Fe>>>0<=zh>>>0)if(Qf=ch+(yi-Fe)|0,Qg>>>0<=Fe>>>0)Ah=Qf,uh=Qg,Bh=Ee;else{af=Qg-Fe|0;lf=ke-Ff|0;Cg=Qf;Qf=Fe;wi=Ee;do Cg=Cg+1|0,wi=wi+1|0,t[wi>>0]=t[Cg>>0]|0,Qf=Qf+-1|0;while(0!=(Qf|0));Ah=Ee+(fi+lf+(1-ke))|0;uh=af;Bh=Ee+(ti+lf)|0}else if(Qf=ch+(xi-Fe)|0,Cg=Fe-zh|0,Qg>>>0>Cg>>>0){wi=Qg-Cg|0;Ef=ke-Ff|0;ff=Qf;Sg=Cg;Cg=Ee;do ff=ff+1|0,Cg=Cg+1|0,t[Cg>>0]=t[ff>>0]|0,Sg=Sg+-1|0;while(0!=(Sg|0));Sg=Ee+(Ai+Ef)|0;if(wi>>>0>zh>>>
-0){ff=wi-zh|0;Cg=kj;lf=zh;af=Sg;do Cg=Cg+1|0,af=af+1|0,t[af>>0]=t[Cg>>0]|0,lf=lf+-1|0;while(0!=(lf|0));Ah=Ee+(Di+Ef+(2-ke))|0;uh=ff;Bh=Ee+(ti+Ef)|0}else Ah=kj,uh=wi,Bh=Sg}else Ah=Qf,uh=Qg,Bh=Ee;if(2<uh>>>0){ke=uh+-3|0;Ff=(ke>>>0)%3|0;Fe=ke-Ff|0;ke=Ah;ig=uh;Rg=Bh;do t[Rg+1>>0]=t[ke+1>>0]|0,t[Rg+2>>0]=t[ke+2>>0]|0,ke=ke+3|0,Rg=Rg+3|0,t[Rg>>0]=t[ke>>0]|0,ig=ig+-3|0;while(2<ig>>>0);Aj=Ah+(Fe+3)|0;Bj=Ff;vj=Bh+(Fe+3)|0}else Aj=Ah,Bj=uh,vj=Bh;Bj?(ig=vj+1|0,t[ig>>0]=t[Aj+1>>0]|0,1<Bj>>>0?(ke=vj+2|0,t[ke>>
-0]=t[Aj+2>>0]|0,ui=Le,vi=$f,ci=bi,di=ke):(ui=Le,vi=$f,ci=bi,di=ig)):(ui=Le,vi=$f,ci=bi,di=vj)}}}else zi=hh,Bi=oi,Ci=lj&255,ph=7;while(0);7==(ph|0)&&(ph=0,lj=Ee+1|0,t[lj>>0]=Ci,ui=Bi,vi=zi,ci=Wi,di=lj);if(di>>>0<Yh>>>0&ci>>>0<Vh>>>0)Vi=ui,Dh=vi,jh=ci,Ee=di;else{pj=ui;wj=vi;qj=ci;rj=di;break}}22==(ph|0)?(a[th+24>>2]=155777,a[Bg>>2]=29,pj=ej,wj=dj,qj=fj,rj=gj):54==(ph|0)?(a[th+24>>2]=155807,a[Bg>>2]=29,pj=$i,wj=aj,qj=bj,rj=cj):57==(ph|0)&&(Mi&32?a[Bg>>2]=11:(a[th+24>>2]=155829,a[Bg>>2]=29),pj=Ni,wj=
-Oi,qj=sj,rj=nj);nj=pj>>>3;sj=pj-(nj<<3)|0;a[th>>2]=qj+(1-nj);a[Wh>>2]=rj+1;a[Uh>>2]=Vh+5-(qj+(0-nj));a[Xh>>2]=Yh+257-rj;a[$h>>2]=(1<<sj)+-1&wj;a[ai>>2]=sj;Ya=a[h>>2]|0;va=a[l>>2]|0;$a=a[b>>2]|0;Ba=a[q>>2]|0;wa=a[B>>2]|0;xa=a[H>>2]|0;11==(a[g>>2]|0)&&(a[P>>2]=-1);Sa=xa;mb=Ba;Db=wa;cc=va;Za=$a;ia=k;qa=Ya;Ja=Sc}else{a[P>>2]=0;Ya=(1<<a[O>>2])+-1|0;$a=Ya&dc;va=a[v>>2]|0;wa=t[va+($a<<2)+1>>0]|0;Ba=wa&255;if(Ba>>>0>wc>>>0)for(xa=wc,ea=id,la=dc,Nc=Ac;;){if(!ea){W=ua;Ca=na;Ga=xa;Ea=0;La=la;ca=Nc;aa=k;ja=Sc;
-break a}uc=ea+-1|0;Dc=Nc+1|0;Mc=(x[Nc>>0]<<xa)+la|0;qc=xa+8|0;Ad=Ya&Mc;kd=t[va+(Ad<<2)+1>>0]|0;yd=kd&255;if(yd>>>0>qc>>>0)xa=qc,ea=uc,la=Mc,Nc=Dc;else{bg=kd;oh=yd;Hf=Ad;rh=qc;vg=uc;ij=Mc;Re=Dc;break}}else bg=wa,oh=Ba,Hf=$a,rh=wc,vg=id,ij=dc,Re=Ac;Nc=t[va+(Hf<<2)>>0]|0;la=w[va+(Hf<<2)+2>>1]|0;ea=Nc&255;if(0!=Nc<<24>>24&0==(ea&240|0)){xa=la&65535;Ya=(1<<oh+ea)+-1|0;ea=((ij&Ya)>>>oh)+xa|0;Ma=t[va+(ea<<2)+1>>0]|0;if(((Ma&255)+oh|0)>>>0>rh>>>0)for(Dc=rh,Mc=vg,uc=ij,qc=Re;;){if(!Mc){W=ua;Ca=na;Ga=Dc;Ea=
-0;La=uc;ca=qc;aa=k;ja=Sc;break a}Ad=Mc+-1|0;yd=qc+1|0;kd=(x[qc>>0]<<Dc)+uc|0;pe=Dc+8|0;Wf=((kd&Ya)>>>oh)+xa|0;Pc=t[va+(Wf<<2)+1>>0]|0;if(((Pc&255)+oh|0)>>>0>pe>>>0)Dc=pe,Mc=Ad,uc=kd,qc=yd;else{mf=Wf;dg=Pc;mg=pe;kk=Ad;wg=kd;xg=yd;break}}else mf=ea,dg=Ma,mg=rh,kk=vg,wg=ij,xg=Re;qc=w[va+(mf<<2)+2>>1]|0;uc=t[va+(mf<<2)>>0]|0;yg=a[P>>2]=oh;zg=mg-oh|0;Zf=kk;ag=uc;Ag=dg;eg=qc;qg=wg>>>oh;hg=xg}else yg=0,zg=rh,Zf=vg,ag=Nc,Ag=bg,eg=la,qg=ij,hg=Re;qc=Ag&255;uc=qg>>>qc;Mc=zg-qc|0;a[P>>2]=yg+qc;a[G>>2]=eg&65535;
-qc=ag&255;ag<<24>>24?qc&32?(a[P>>2]=-1,a[g>>2]=11,Sa=Mc,mb=Zf,Db=uc,cc=na,Za=hg,ia=k,qa=ua,Ja=Sc):qc&64?(a[V>>2]=155829,a[g>>2]=29,Sa=Mc,mb=Zf,Db=uc,cc=na,Za=hg,ia=k,qa=ua,Ja=Sc):(Dc=qc&15,a[Oa>>2]=Dc,a[g>>2]=21,Tc=Dc,nc=Mc,Bc=Zf,Ce=uc,vd=hg,wd=Sc,Ta=218):(a[g>>2]=25,Sa=Mc,mb=Zf,Db=uc,cc=na,Za=hg,ia=k,qa=ua,Ja=Sc)}while(0);if(73==(Ta|0)){Ta=0;uc=a[C>>2]|0;if(uc&1024)if(Mc=a[G>>2]|0,(Dc=Mc>>>0>Va>>>0?Va:Mc)?(qc=a[Ra>>2]|0,0!=(qc|0)&&(xa=a[qc+16>>2]|0,0!=(xa|0))?(Ya=(a[qc+20>>2]|0)-Mc|0,Mc=a[qc+24>>
-2]|0,Ec(xa+Ya|0,cb|0,((Ya+Dc|0)>>>0>Mc>>>0?Mc-Ya|0:Dc)|0)|0,tg=a[C>>2]|0):tg=uc,tg&512&&(uc=Kd(a[z>>2]|0,cb,Dc)|0,a[z>>2]=uc),uc=(a[G>>2]|0)-Dc|0,fg=a[G>>2]=uc,sh=Va-Dc|0,Cf=cb+Dc|0):(fg=Mc,sh=Va,Cf=cb),fg){W=ua;Ca=na;Ga=Jb;Ea=sh;La=yb;ca=Cf;aa=k;ja=p;break}else gh=sh,Dg=Cf;else gh=Va,Dg=cb;a[G>>2]=0;a[g>>2]=6;gc=Jb;Ub=gh;Fb=yb;eb=Dg;Ta=83}else if(218==(Ta|0)){Ta=0;if(Tc){if(nc>>>0<Tc>>>0)for(Dc=nc,uc=Bc,Ya=Ce,Mc=vd;;){if(!uc){W=ua;Ca=na;Ga=Dc;Ea=0;La=Ya;ca=Mc;aa=k;ja=wd;break a}xa=uc+-1|0;qc=Mc+
-1|0;$a=(x[Mc>>0]<<Dc)+Ya|0;Ba=Dc+8|0;if(Ba>>>0<Tc>>>0)Dc=Ba,uc=xa,Ya=$a,Mc=qc;else{Vf=Ba;Ig=xa;pg=$a;sg=qc;break}}else Vf=nc,Ig=Bc,pg=Ce,sg=vd;Mc=(a[G>>2]|0)+((1<<Tc)+-1&pg)|0;a[G>>2]=Mc;a[P>>2]=(a[P>>2]|0)+Tc;Tf=Mc;qf=Vf-Tc|0;tf=Ig;wf=pg>>>Tc;xf=sg}else Tf=a[G>>2]|0,qf=nc,tf=Bc,wf=Ce,xf=vd;a[A>>2]=Tf;a[g>>2]=22;Hc=qf;Nf=tf;vc=wf;ug=xf;Fc=wd;Ta=225}do if(83==(Ta|0)){Ta=0;if(a[C>>2]&2048){if(Ub)Gf=0;else{W=ua;Ca=na;Ga=gc;Ea=0;La=Fb;ca=eb;aa=k;ja=p;break a}for(;;)if(Mc=Gf+1|0,Ya=t[eb+Gf>>0]|0,uc=a[Ra>>
-2]|0,0!=(uc|0)&&(Dc=a[uc+28>>2]|0,0!=(Dc|0))&&(qc=a[G>>2]|0,qc>>>0<(a[uc+32>>2]|0)>>>0)&&(a[G>>2]=qc+1,t[Dc+qc>>0]=Ya),qc=0!=Ya<<24>>24,qc&Ub>>>0>Mc>>>0)Gf=Mc;else{If=Mc;Ug=qc;break}a[C>>2]&512&&(la=Kd(a[z>>2]|0,eb,If)|0,a[z>>2]=la);la=Ub-If|0;Nc=eb+If|0;if(Ug){W=ua;Ca=na;Ga=gc;Ea=la;La=Fb;ca=Nc;aa=k;ja=p;break a}else Ng=la,Og=Nc}else(Mc=a[Ra>>2]|0)&&(a[Mc+28>>2]=0),Ng=Ub,Og=eb;a[G>>2]=0;a[g>>2]=7;ub=gc;nd=Ng;Zd=Fb;wb=Og;Ta=96}else if(225==(Ta|0)){Ta=0;Nc=(1<<a[T>>2])+-1|0;la=Nc&vc;va=a[M>>2]|0;Ma=
-t[va+(la<<2)+1>>0]|0;ea=Ma&255;if(ea>>>0>Hc>>>0)for(qc=Hc,Mc=Nf,Ya=vc,Dc=ug;;){if(!Mc){W=ua;Ca=na;Ga=qc;Ea=0;La=Ya;ca=Dc;aa=k;ja=Fc;break a}uc=Mc+-1|0;$a=Dc+1|0;xa=(x[Dc>>0]<<qc)+Ya|0;Ba=qc+8|0;wa=Nc&xa;yd=t[va+(wa<<2)+1>>0]|0;kd=yd&255;if(kd>>>0>Ba>>>0)qc=Ba,Mc=uc,Ya=xa,Dc=$a;else{Vg=yd;yh=kd;Jf=wa;zf=Ba;ng=uc;Af=xa;og=$a;break}}else Vg=Ma,yh=ea,Jf=la,zf=Hc,ng=Nf,Af=vc,og=ug;Dc=t[va+(Jf<<2)>>0]|0;Ya=w[va+(Jf<<2)+2>>1]|0;Mc=Dc&255;if(Mc&240)kg=a[P>>2]|0,lg=zf,Gg=ng,Yg=Dc,$g=Vg,vh=Ya,wh=Af,Pg=og;else{qc=
-Ya&65535;Nc=(1<<yh+Mc)+-1|0;Mc=((Af&Nc)>>>yh)+qc|0;$a=t[va+(Mc<<2)+1>>0]|0;if((($a&255)+yh|0)>>>0>zf>>>0)for(xa=zf,uc=ng,Ba=Af,wa=og;;){if(!uc){W=ua;Ca=na;Ga=xa;Ea=0;La=Ba;ca=wa;aa=k;ja=Fc;break a}kd=uc+-1|0;yd=wa+1|0;Ad=(x[wa>>0]<<xa)+Ba|0;pe=xa+8|0;Pc=((Ad&Nc)>>>yh)+qc|0;Wf=t[va+(Pc<<2)+1>>0]|0;if(((Wf&255)+yh|0)>>>0>pe>>>0)xa=pe,uc=kd,Ba=Ad,wa=yd;else{rg=Pc;Kg=Wf;ih=pe;lh=kd;cg=Ad;Tg=yd;break}}else rg=Mc,Kg=$a,ih=zf,lh=ng,cg=Af,Tg=og;wa=w[va+(rg<<2)+2>>1]|0;Ba=t[va+(rg<<2)>>0]|0;uc=(a[P>>2]|0)+
-yh|0;kg=a[P>>2]=uc;lg=ih-yh|0;Gg=lh;Yg=Ba;$g=Kg;vh=wa;wh=cg>>>yh;Pg=Tg}wa=$g&255;Ba=wh>>>wa;uc=lg-wa|0;a[P>>2]=kg+wa;wa=Yg&255;wa&64?(a[V>>2]=155807,a[g>>2]=29,Sa=uc,mb=Gg,Db=Ba,cc=na,Za=Pg,ia=k,qa=ua,Ja=Fc):(a[D>>2]=vh&65535,xa=wa&15,a[Oa>>2]=xa,a[g>>2]=23,Cc=xa,Qc=uc,xc=Gg,ce=Ba,oe=Pg,Wc=Fc,Ta=237)}while(0);if(96==(Ta|0)){Ta=0;if(a[C>>2]&4096){if(nd)Eg=0;else{W=ua;Ca=na;Ga=ub;Ea=0;La=Zd;ca=wb;aa=k;ja=p;break}for(;;)if(Ba=Eg+1|0,uc=t[wb+Eg>>0]|0,xa=a[Ra>>2]|0,0!=(xa|0)&&(wa=a[xa+36>>2]|0,0!=(wa|
-0))&&(qc=a[G>>2]|0,qc>>>0<(a[xa+40>>2]|0)>>>0)&&(a[G>>2]=qc+1,t[wa+qc>>0]=uc),qc=0!=uc<<24>>24,qc&nd>>>0>Ba>>>0)Eg=Ba;else{kh=Ba;ki=qc;break}a[C>>2]&512&&(qc=Kd(a[z>>2]|0,wb,kh)|0,a[z>>2]=qc);qc=nd-kh|0;Ba=wb+kh|0;if(ki){W=ua;Ca=na;Ga=ub;Ea=qc;La=Zd;ca=Ba;aa=k;ja=p;break}else xh=qc,Ch=Ba}else(Ba=a[Ra>>2]|0)&&(a[Ba+36>>2]=0),xh=nd,Ch=wb;a[g>>2]=8;Ab=ub;Qd=xh;zb=Zd;Ob=Ch;Ta=109}else if(237==(Ta|0)){Ta=0;if(Cc){if(Qc>>>0<Cc>>>0)for(Ba=Qc,qc=xc,uc=ce,wa=oe;;){if(!qc){W=ua;Ca=na;Ga=Ba;Ea=0;La=uc;ca=wa;
-aa=k;ja=Wc;break a}xa=qc+-1|0;Nc=wa+1|0;la=(x[wa>>0]<<Ba)+uc|0;ea=Ba+8|0;if(ea>>>0<Cc>>>0)Ba=ea,qc=xa,uc=la,wa=Nc;else{Jh=ea;Kh=xa;Fg=la;Lh=Nc;break}}else Jh=Qc,Kh=xc,Fg=ce,Lh=oe;a[D>>2]=(a[D>>2]|0)+((1<<Cc)+-1&Fg);a[P>>2]=(a[P>>2]|0)+Cc;Fh=Jh-Cc|0;Gh=Kh;Hh=Fg>>>Cc;Ih=Lh}else Fh=Qc,Gh=xc,Hh=ce,Ih=oe;a[g>>2]=24;Oc=Fh;Df=Gh;md=Hh;Uc=Ih;Vc=Wc;Ta=243}do if(109==(Ta|0)){Ta=0;wa=a[C>>2]|0;if(wa&512){if(16>Ab>>>0)for(uc=Ab,qc=Qd,Ba=zb,Nc=Ob;;){if(!qc){W=ua;Ca=na;Ga=uc;Ea=0;La=Ba;ca=Nc;aa=k;ja=p;break a}la=
-qc+-1|0;xa=Nc+1|0;ea=(x[Nc>>0]<<uc)+Ba|0;Ma=uc+8|0;if(16>Ma>>>0)uc=Ma,qc=la,Ba=ea,Nc=xa;else{Mh=Ma;Hg=la;Wg=ea;Xg=xa;break}}else Mh=Ab,Hg=Qd,Wg=zb,Xg=Ob;if((Wg|0)==(a[z>>2]&65535|0))Nh=0,Oh=Hg,Ph=0,Qh=Xg;else{a[V>>2]=154587;a[g>>2]=29;Sa=Mh;mb=Hg;Db=Wg;cc=na;Za=Xg;ia=k;qa=ua;Ja=p;break}}else Nh=Ab,Oh=Qd,Ph=zb,Qh=Ob;if(Nc=a[Ra>>2]|0)a[Nc+44>>2]=wa>>>9&1,a[Nc+48>>2]=1;Nc=Kd(0,0,0)|0;a[z>>2]=Nc;a[I>>2]=Nc;a[g>>2]=11;Sa=Nh;mb=Oh;Db=Ph;cc=na;Za=Qh;ia=k;qa=ua;Ja=p}else if(243==(Ta|0)){Ta=0;if(!na){W=ua;
-Ca=0;Ga=Oc;Ea=Df;La=md;ca=Uc;aa=k;ja=Vc;break a}Nc=k-na|0;Ba=a[D>>2]|0;if(Ba>>>0>Nc>>>0){qc=Ba-Nc|0;if(qc>>>0>(a[ba>>2]|0)>>>0&&0!=(a[F>>2]|0)){a[V>>2]=155777;a[g>>2]=29;Sa=Oc;mb=Df;Db=md;cc=na;Za=Uc;ia=k;qa=ua;Ja=Vc;break}Nc=a[Te>>2]|0;qc>>>0>Nc>>>0?(Zg=uc=qc-Nc|0,Rh=(a[R>>2]|0)+((a[ga>>2]|0)-uc)|0):(Zg=qc,Rh=(a[R>>2]|0)+(Nc-qc)|0);Sh=qc=a[G>>2]|0;jj=Zg>>>0>qc>>>0?qc:Zg;Th=Rh}else jj=Sh=qc=a[G>>2]|0,Th=ua+(0-Ba)|0;Ba=jj>>>0>na>>>0?na:jj;a[G>>2]=Sh-Ba;qc=jj>>>0>na>>>0?na:jj;Nc=Ba;uc=Th;for(Ya=ua;;)if(t[Ya>>
-0]=t[uc>>0]|0,Nc=Nc+-1|0)uc=uc+1|0,Ya=Ya+1|0;else break;Ya=na-Ba|0;uc=ua+qc|0;a[G>>2]|0||(a[g>>2]=20);Sa=Oc;mb=Df;Db=md;cc=Ya;Za=Uc;ia=k;qa=uc;Ja=Vc}while(0);ua=qa;m=a[g>>2]|0;n=Sa;Ia=mb;Da=Db;na=cc;Na=Za;k=ia;p=Ja}if(122==(Ta|0))return a[h>>2]=ud,a[l>>2]=cd,a[b>>2]=Of,a[q>>2]=ie,a[B>>2]=je,a[H>>2]=xd,f=2,u=c,f|0;if(133==(Ta|0))W=Ke,Ca=Vd,Ga=Pd+-3|0,Ea=$e,La=Dd>>>3,ca=Nd,aa=ne,ja=Ld;else if(280==(Ta|0))a[g>>2]=28,W=ld,Ca=Qe,Ga=ve,Ea=Je,La=ze,ca=$c,aa=Ze,ja=1;else if(281==(Ta|0))W=ya,Ca=jb,Ga=Aa,Ea=
-ra,La=pa,ca=mc,aa=Wa,ja=-3;else{if(295==(Ta|0))return f=-2,u=c,f|0;if(296==(Ta|0))return u=c,f|0}a[h>>2]=W;a[l>>2]=Ca;a[b>>2]=ca;a[q>>2]=Ea;a[B>>2]=La;a[H>>2]=Ga;a[ga>>2]|0?Ta=286:(aa|0)!=(Ca|0)&&(ga=a[g>>2]|0,29>ga>>>0)&&4!=(d|0)|26>ga>>>0?Ta=286:(Jg=Ea,ah=Ca);if(286==(Ta|0)){if(hj(b,W,aa-Ca|0)|0)return a[g>>2]=30,f=-4,u=c,f|0;Jg=a[q>>2]|0;ah=a[l>>2]|0}l=aa-ah|0;q=b+8|0;a[q>>2]=y-Jg+(a[q>>2]|0);a[Ha>>2]=(a[Ha>>2]|0)+l;a[ma>>2]=(a[ma>>2]|0)+l;(aa|0)!=(ah|0)&0!=(a[ka>>2]|0)&&(ka=a[z>>2]|0,ma=(a[h>>
-2]|0)+(0-l)|0,Ri=a[C>>2]|0?Kd(ka,ma,l)|0:Si(ka,ma,l)|0,a[z>>2]=Ri,a[I>>2]=Ri);Ri=a[g>>2]|0;a[b+44>>2]=(0!=(a[E>>2]|0)?64:0)+(a[H>>2]|0)+(11==(Ri|0)?128:0)+(19==(Ri|0)|14==(Ri|0)?256:0);f=0==(ja|0)&(4==(d|0)|(y|0)==(Jg|0)&(aa|0)==(ah|0))?-5:ja;u=c;return f|0}function wf(b){b|=0;var d,c,e,f,g;if(!b)return-2;d=b+28|0;c=a[d>>2]|0;if(!c)return-2;e=b+36|0;f=a[e>>2]|0;if(!f)return-2;g=a[c+52>>2]|0;b=b+40|0;g?(ub[f&31](a[b>>2]|0,g),e=a[e>>2]|0,c=a[d>>2]|0):e=f;ub[e&31](a[b>>2]|0,c);return a[d>>2]=0}function ng(b){b|=
-0;var d,c,e,f,g,h,m,k,l,n;d=u;u=u+16|0;if(!b)return u=d,-2;c=a[b+28>>2]|0;if(!c)return u=d,-2;e=b+4|0;f=a[e>>2]|0;if(0==(f|0)&&8>(a[c+60>>2]|0)>>>0)return u=d,-5;if(31==(a[c>>2]|0))h=g=c+104|0,m=a[g>>2]|0;else{a[c>>2]=31;g=c+60|0;f=a[g>>2]|0;k=c+56|0;l=a[k>>2]<<(f&7);a[k>>2]=l;m=f&-8;a[g>>2]=m;if(7<m>>>0){f=7-m|0;n=(m+(4294967288<f>>>0?f:-8)|0)>>>3;f=n<<3;h=n+1|0;n=l;for(l=0;t[d+l>>0]=n,l=l+1|0,n>>>=8,(l|0)!=(h|0););a[k>>2]=n;a[g>>2]=m+-8-f;f=c+104|0;for(g=m=a[f>>2]=0;;)if(k=t[d+g>>0]|0,k=(k&255|
-0)==((2>m>>>0?0:255)|0)?m+1|0:0==k<<24>>24?4-m|0:0,g=g+1|0,g>>>0<h>>>0&4>k>>>0)m=k;else{l=f;g=k;break}}else k=c+104|0,a[k>>2]=0,l=k,g=0;a[l>>2]=g;h=l;f=a[e>>2]|0;m=g}g=a[b>>2]|0;if(0!=(f|0)&4>m>>>0)for(l=m,k=0;;)if(m=t[g+k>>0]|0,l=(m&255|0)==((2>l>>>0?0:255)|0)?l+1|0:0==m<<24>>24?4-l|0:0,m=k+1|0,m>>>0<f>>>0&4>l>>>0)k=m;else{f=l;break}else f=m,m=0;a[h>>2]=f;a[e>>2]=(a[e>>2]|0)-m;a[b>>2]=g+m;g=b+8|0;e=(a[g>>2]|0)+m|0;a[g>>2]=e;if(4!=(f|0))return u=d,-3;f=b+20|0;m=a[f>>2]|0;a[c+40>>2]=0;a[c+44>>2]=0;
-a[c+48>>2]=0;a[c+28>>2]=0;a[f>>2]=0;a[g>>2]=0;a[b+24>>2]=0;(h=a[c+8>>2]|0)&&(a[b+48>>2]=h&1);a[c+4>>2]=0;a[c+12>>2]=0;a[c+20>>2]=32768;a[c+32>>2]=0;a[c+56>>2]=0;a[c+60>>2]=0;h=c+1328|0;a[c+108>>2]=h;a[c+80>>2]=h;a[c+76>>2]=h;a[c+7104>>2]=1;a[c+7108>>2]=-1;a[g>>2]=e;a[f>>2]=m;a[c>>2]=11;u=d;return 0}function hj(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k;e=a[b+28>>2]|0;f=e+52|0;if(g=a[f>>2]|0)m=g;else if(h=Aa[a[b+32>>2]&63](a[b+40>>2]|0,1<<a[e+36>>2],1)|0,a[f>>2]=h)m=h;else return 1;g=e+40|0;(h=a[g>>2]|
-0)?k=h:(b=1<<a[e+36>>2],a[g>>2]=b,a[e+48>>2]=0,a[e+44>>2]=0,k=b);if(k>>>0<=c>>>0)return Ec(m|0,d+(0-k)|0,k|0)|0,a[e+48>>2]=0,a[e+44>>2]=a[g>>2],0;h=e+48|0;b=a[h>>2]|0;k=k-b|0;k=k>>>0>c>>>0?c:k;Ec(m+b|0,d+(0-c)|0,k|0)|0;b=c-k|0;if((k|0)!=(c|0))return Ec(a[f>>2]|0,d+(0-b)|0,b|0)|0,a[h>>2]=b,a[e+44>>2]=a[g>>2],0;b=(a[h>>2]|0)+c|0;d=a[g>>2]|0;a[h>>2]=(b|0)==(d|0)?0:b;b=e+44|0;e=a[b>>2]|0;if(e>>>0>=d>>>0)return 0;a[b>>2]=e+c;return 0}function ni(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m,k,l,n,
-p,q=0,y,B=0,H=0,ka=0,z=0,Q=0,C=0,Ra=0,V=0,r,x,I,G,L,K,E,v,O,M,T,X=0,P=0,Oa=0,A=0;h=u;u=u+64|0;m=h+32|0;k=h;l=m;n=l+32|0;do w[l>>1]=0,l=l+2|0;while((l|0)<(n|0));if(l=0==(c|0))q=a[f>>2]|0,y=5;else{n=0;do p=m+(N[d+(n<<1)>>1]<<1)|0,w[p>>1]=(w[p>>1]|0)+1<<16>>16,n=n+1|0;while((n|0)!=(c|0));n=w[m+30>>1]|0;p=a[f>>2]|0;n<<16>>16?(B=p,H=n,ka=15,y=6):(q=p,y=5)}if(5==(y|0))if(w[m+28>>1]|0)B=q,H=0,ka=14,y=6;else if(w[m+26>>1]|0)B=q,H=0,ka=13,y=6;else if(w[m+24>>1]|0)B=q,H=0,ka=12,y=6;else if(w[m+22>>1]|0)B=q,
-H=0,ka=11,y=6;else if(w[m+20>>1]|0)B=q,H=0,ka=10,y=6;else if(w[m+18>>1]|0)B=q,H=0,ka=9,y=6;else if(w[m+16>>1]|0)B=q,H=0,ka=8,y=6;else if(w[m+14>>1]|0)B=q,H=0,ka=7,y=6;else if(w[m+12>>1]|0)B=q,H=0,y=ka=6;else if(w[m+10>>1]|0)B=q,H=0,ka=5,y=6;else if(w[m+8>>1]|0)B=q,H=0,ka=4,y=6;else if(w[m+6>>1]|0)B=q,H=0,ka=3,y=6;else if(w[m+4>>1]|0)B=q,H=0,ka=2,y=6;else if(w[m+2>>1]|0)z=0,Q=1<q>>>0?1:q,Ra=C=1;else return n=a[e>>2]|0,a[e>>2]=n+4,t[n>>0]=64,t[n+1>>0]=1,w[n+2>>1]=0,n=a[e>>2]|0,a[e>>2]=n+4,t[n>>0]=64,
-t[n+1>>0]=1,w[n+2>>1]=0,a[f>>2]=1,u=h,0;a:do if(6==(y|0))for(q=B>>>0>ka>>>0?ka:B,n=1;;){if(w[m+(n<<1)>>1]|0){z=H;Q=q;C=ka;Ra=n;break a}p=n+1|0;if(p>>>0<ka>>>0)n=p;else{z=H;Q=q;C=ka;Ra=p;break}}while(0);ka=Q>>>0<Ra>>>0?Ra:Q;Q=w[m+2>>1]|0;H=2-(Q&65535)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+4>>1]|0)|0;if(0>(B|0))return u=h,-1;H=(B<<1)-(N[m+6>>1]|0)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+8>>1]|0)|0;if(0>(B|0))return u=h,-1;H=(B<<1)-(N[m+10>>1]|0)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+12>>1]|0)|
-0;if(0>(B|0))return u=h,-1;H=(B<<1)-(N[m+14>>1]|0)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+16>>1]|0)|0;if(0>(B|0))return u=h,-1;H=(B<<1)-(N[m+18>>1]|0)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+20>>1]|0)|0;if(0>(B|0))return u=h,-1;H=(B<<1)-(N[m+22>>1]|0)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+24>>1]|0)|0;if(0>(B|0))return u=h,-1;H=(B<<1)-(N[m+26>>1]|0)|0;if(0>(H|0))return u=h,-1;B=(H<<1)-(N[m+28>>1]|0)|0;if(0>(B|0))return u=h,-1;H=(B<<1)-(z&65535)|0;if(0>(H|0)||0<(H|0)&&0==(b|0)|1!=(C|0))return u=
-h,-1;w[k+2>>1]=0;w[k+4>>1]=Q;H=(N[m+4>>1]|0)+(Q&65535)|0;w[k+6>>1]=H;Q=(N[m+6>>1]|0)+(H&65535)|0;w[k+8>>1]=Q;H=(N[m+8>>1]|0)+(Q&65535)|0;w[k+10>>1]=H;Q=(N[m+10>>1]|0)+(H&65535)|0;w[k+12>>1]=Q;H=(N[m+12>>1]|0)+(Q&65535)|0;w[k+14>>1]=H;Q=(N[m+14>>1]|0)+(H&65535)|0;w[k+16>>1]=Q;H=(N[m+16>>1]|0)+(Q&65535)|0;w[k+18>>1]=H;Q=(N[m+18>>1]|0)+(H&65535)|0;w[k+20>>1]=Q;H=(N[m+20>>1]|0)+(Q&65535)|0;w[k+22>>1]=H;Q=(N[m+22>>1]|0)+(H&65535)|0;w[k+24>>1]=Q;H=(N[m+24>>1]|0)+(Q&65535)|0;w[k+26>>1]=H;Q=(N[m+26>>1]|0)+
-(H&65535)|0;w[k+28>>1]=Q;w[k+30>>1]=(N[m+28>>1]|0)+(Q&65535);if(!l){l=0;do Q=w[d+(l<<1)>>1]|0,Q<<16>>16&&(H=k+((Q&65535)<<1)|0,Q=w[H>>1]|0,w[H>>1]=Q+1<<16>>16,w[g+((Q&65535)<<1)>>1]=l),l=l+1|0;while((l|0)!=(c|0))}switch(b|0){case 0:x=r=0;I=g;G=19;L=g;break;case 1:if(9<ka>>>0)return u=h,1;r=0;x=1;I=126834;G=256;L=126960;break;default:c=2==(b|0);if(c&9<ka>>>0)return u=h,1;r=c;x=0;I=127284;G=-1;L=127410}c=1<<ka;b=c+-1|0;l=ka&255;k=ka;H=Q=0;z=Ra;Ra=-1;B=a[e>>2]|0;q=0;n=c;a:for(;;){c=1<<k;p=H;K=z;for(H=
-q;;){E=K-Q|0;q=E&255;v=w[g+(H<<1)>>1]|0;k=v&65535;(k|0)<(G|0)?(O=0,M=v):(k|0)<=(G|0)?(O=96,M=0):(O=w[L+(k<<1)>>1]&255,M=w[I+(k<<1)>>1]|0);k=1<<E;v=p>>>Q;z=c;do T=z,z=z-k|0,E=z+v|0,t[B+(E<<2)>>0]=O,t[B+(E<<2)+1>>0]=q,w[B+(E<<2)+2>>1]=M;while((T|0)!=(k|0));for(k=1<<K+-1;;)if(k&p)k>>>=1;else break;p=k?(k+-1&p)+k|0:0;k=H+1|0;v=m+(K<<1)|0;z=(w[v>>1]|0)+-1<<16>>16;w[v>>1]=z;if(!(z<<16>>16)){if((K|0)==(C|0)){X=q;P=p;Oa=B;A=n;break a}K=N[d+(N[g+(k<<1)>>1]<<1)>>1]|0}if(K>>>0<=ka>>>0)H=k;else if(z=p&b,(z|0)==
-(Ra|0))H=k;else{q=k;Ra=z;O=p;M=K;break}}H=0==(Q|0)?ka:Q;K=B+(c<<2)|0;p=M-H|0;b:do if(M>>>0<C>>>0)for(z=M,k=p,v=1<<p;;){E=v-(N[m+(z<<1)>>1]|0)|0;if(1>(E|0)){B=k;break b}T=k+1|0;z=T+H|0;if(z>>>0>=C>>>0){B=T;break}else k=T,v=E<<1}else B=p;while(0);p=(1<<B)+n|0;if(x&852<p>>>0|r&592<p>>>0){V=1;y=44;break}c=a[e>>2]|0;t[c+(Ra<<2)>>0]=B;t[c+(Ra<<2)+1>>0]=l;w[c+(Ra<<2)+2>>1]=(K-c|0)>>>2;k=B;Q=H;H=O;z=M;B=K;n=p}if(44==(y|0))return u=h,V|0;P&&(t[Oa+(P<<2)>>0]=64,t[Oa+(P<<2)+1>>0]=X,w[Oa+(P<<2)+2>>1]=0);a[e>>
-2]=(a[e>>2]|0)+(A<<2);a[f>>2]=ka;u=h;return 0}function Af(b,d,c,e){b|=0;c|=0;var f,g,h,m,k,l,n;f=b+5820|0;g=a[f>>2]|0;h=(e|0)&65535;e=b+5816|0;m=N[e>>1]|0|h<<g;w[e>>1]=m;13<(g|0)?(k=b+20|0,l=a[k>>2]|0,a[k>>2]=l+1,n=b+8|0,t[(a[n>>2]|0)+l>>0]=m,l=(N[e>>1]|0)>>>8&255,g=a[k>>2]|0,a[k>>2]=g+1,t[(a[n>>2]|0)+g>>0]=l,l=a[f>>2]|0,g=h>>>(16-l|0),h=w[e>>1]=g,m=l+-13|0):(h=m,m=g+3|0);g=h&255;a[f>>2]=m;8>=(m|0)?(h=b+20|0,0<(m|0)?(m=a[h>>2]|0,a[h>>2]=m+1,l=b+8|0,t[(a[l>>2]|0)+m>>0]=g,b=l):b=b+8|0):(h=b+20|0,l=
-a[h>>2]|0,a[h>>2]=l+1,m=b+8|0,t[(a[m>>2]|0)+l>>0]=g,l=(N[e>>1]|0)>>>8&255,g=a[h>>2]|0,a[h>>2]=g+1,t[(a[m>>2]|0)+g>>0]=l,b=m);w[e>>1]=0;a[f>>2]=0;f=a[h>>2]|0;a[h>>2]=f+1;t[(a[b>>2]|0)+f>>0]=c;f=a[h>>2]|0;a[h>>2]=f+1;t[(a[b>>2]|0)+f>>0]=c>>>8;f=c&65535^65535;e=a[h>>2]|0;a[h>>2]=e+1;t[(a[b>>2]|0)+e>>0]=f;e=a[h>>2]|0;a[h>>2]=e+1;t[(a[b>>2]|0)+e>>0]=f>>>8;if(c)for(e=c,f=d|0;;)if(e=e+-1|0,d=t[f>>0]|0,c=a[h>>2]|0,a[h>>2]=c+1,t[(a[b>>2]|0)+c>>0]=d,e)f=f+1|0;else break}function jd(b){b|=0;var d,c,e,f,g;d=
-b+5820|0;c=a[d>>2]|0;16==(c|0)?(e=b+5816|0,f=w[e>>1]&255,c=b+20|0,g=a[c>>2]|0,a[c>>2]=g+1,b=b+8|0,t[(a[b>>2]|0)+g>>0]=f,f=(N[e>>1]|0)>>>8&255,g=a[c>>2]|0,a[c>>2]=g+1,t[(a[b>>2]|0)+g>>0]=f,w[e>>1]=0,a[d>>2]=0):7>=(c|0)||(c=b+5816|0,e=w[c>>1]&255,f=b+20|0,g=a[f>>2]|0,a[f>>2]=g+1,t[(a[b+8>>2]|0)+g>>0]=e,w[c>>1]=(N[c>>1]|0)>>>8,a[d>>2]=(a[d>>2]|0)+-8)}function zd(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m=0,k=0,l,n,p,q,y,B,H,ka,z,Q;if(0<(a[b+132>>2]|0)){f=(a[b>>2]|0)+44|0;if(2==(a[f>>2]|0)){g=-201342849;
-for(h=0;;){if(0!=(g&1|0)&&0!=(w[b+148+(h<<2)>>1]|0)){m=0;break}h=h+1|0;if(32<=(h|0)){k=6;break}else g>>>=1}a:do if(6==(k|0))if(0==(w[b+184>>1]|0)&&0==(w[b+188>>1]|0)&&0==(w[b+200>>1]|0))for(g=32;;){if(w[b+148+(g<<2)>>1]|0){m=1;break a}g=g+1|0;if(256<=(g|0)){m=0;break}}else m=1;while(0);a[f>>2]=m}sg(b,b+2840|0);sg(b,b+2852|0);m=a[b+2844>>2]|0;f=w[b+150>>1]|0;k=0==f<<16>>16;w[b+148+(m+1<<2)+2>>1]=-1;g=b+2752|0;h=b+2756|0;l=b+2748|0;n=k?138:7;p=k?3:4;k=0;q=f&65535;f=-1;a:for(;;){y=0;for(B=k;;){if((B|
-0)>(m|0))break a;H=B+1|0;ka=w[b+148+(H<<2)+2>>1]|0;z=ka&65535;k=y+1|0;Q=(q|0)==(z|0);if((k|0)<(n|0)&Q)y=k,B=H;else{n=k;break}}(n|0)>=(p|0)?q?((q|0)!=(f|0)&&(B=b+2684+(q<<2)|0,w[B>>1]=(w[B>>1]|0)+1<<16>>16),w[l>>1]=(w[l>>1]|0)+1<<16>>16):11>(n|0)?w[g>>1]=(w[g>>1]|0)+1<<16>>16:w[h>>1]=(w[h>>1]|0)+1<<16>>16:(B=b+2684+(q<<2)|0,w[B>>1]=(N[B>>1]|0)+n);B=0==ka<<16>>16;y=q;n=B?138:Q?6:7;p=B|Q?3:4;k=H;q=z;f=y}f=a[b+2856>>2]|0;z=w[b+2442>>1]|0;q=0==z<<16>>16;w[b+2440+(f+1<<2)+2>>1]=-1;H=q?138:7;k=q?3:4;q=0;
-Q=z&65535;z=-1;a:for(;;){p=0;for(n=q;;){if((n|0)>(f|0))break a;ka=n+1|0;n=w[b+2440+(ka<<2)+2>>1]|0;m=n&65535;y=p+1|0;B=(Q|0)==(m|0);if((y|0)<(H|0)&B)p=y,n=ka;else{p=n;q=y;y=B;break}}(q|0)>=(k|0)?Q?((Q|0)!=(z|0)&&(n=b+2684+(Q<<2)|0,w[n>>1]=(w[n>>1]|0)+1<<16>>16),w[l>>1]=(w[l>>1]|0)+1<<16>>16):11>(q|0)?w[g>>1]=(w[g>>1]|0)+1<<16>>16:w[h>>1]=(w[h>>1]|0)+1<<16>>16:(n=b+2684+(Q<<2)|0,w[n>>1]=(N[n>>1]|0)+q);n=0==p<<16>>16;p=Q;H=n?138:y?6:7;k=n|y?3:4;q=ka;Q=m;z=p}sg(b,b+2864|0);B=w[b+2746>>1]|0?18:w[b+2690>>
-1]|0?17:w[b+2742>>1]|0?16:w[b+2694>>1]|0?15:w[b+2738>>1]|0?14:w[b+2698>>1]|0?13:w[b+2734>>1]|0?12:w[b+2702>>1]|0?11:w[b+2730>>1]|0?10:w[b+2706>>1]|0?9:w[b+2726>>1]|0?8:w[b+2710>>1]|0?7:w[b+2722>>1]|0?6:w[b+2714>>1]|0?5:w[b+2718>>1]|0?4:0==(w[b+2686>>1]|0)?2:3;z=b+5800|0;m=(3*B|0)+17+(a[z>>2]|0)|0;a[z>>2]=m;z=(m+10|0)>>>3;m=((a[b+5804>>2]|0)+10|0)>>>3;f=B;g=m>>>0>z>>>0?z:m}else m=c+5|0,f=0,g=m;h=m;if(0!=(d|0)&(c+4|0)>>>0<=g>>>0)Af(b,d,c,e);else if(m=b+5820|0,z=a[m>>2]|0,B=13<(z|0),(h|0)==(g|0)||4==
-(a[b+136>>2]|0))Q=e+2&65535,ka=b+5816|0,q=N[ka>>1]|Q<<z,w[ka>>1]=q,B?(y=b+20|0,k=a[y>>2]|0,a[y>>2]=k+1,H=b+8|0,t[(a[H>>2]|0)+k>>0]=q,q=(N[ka>>1]|0)>>>8&255,k=a[y>>2]|0,a[y>>2]=k+1,t[(a[H>>2]|0)+k>>0]=q,q=a[m>>2]|0,w[ka>>1]=Q>>>(16-q|0),z=q+-13|0):z=z+3|0,a[m>>2]=z,Kg(b,127536,128688);else{q=e+4&65535;Q=b+5816|0;ka=N[Q>>1]|q<<z;w[Q>>1]=ka;B?(B=b+20|0,k=a[B>>2]|0,a[B>>2]=k+1,H=b+8|0,t[(a[H>>2]|0)+k>>0]=ka,k=(N[Q>>1]|0)>>>8&255,y=a[B>>2]|0,a[B>>2]=y+1,t[(a[H>>2]|0)+y>>0]=k,k=a[m>>2]|0,y=q>>>(16-k|0),
-H=w[Q>>1]=y,q=k+-13|0):(H=ka,q=z+3|0);a[m>>2]=q;z=a[b+2844>>2]|0;ka=a[b+2856>>2]|0;k=z+65280&65535;y=H&65535|k<<q;w[Q>>1]=y;11<(q|0)?(q=b+20|0,H=a[q>>2]|0,a[q>>2]=H+1,B=b+8|0,t[(a[B>>2]|0)+H>>0]=y,H=(N[Q>>1]|0)>>>8&255,p=a[q>>2]|0,a[q>>2]=p+1,t[(a[B>>2]|0)+p>>0]=H,H=a[m>>2]|0,p=k>>>(16-H|0),w[Q>>1]=p,q=H+-11|0,H=p):(q=q+5|0,H=y);a[m>>2]=q;y=ka&65535;p=y<<q|H&65535;w[Q>>1]=p;11<(q|0)?(H=b+20|0,k=a[H>>2]|0,a[H>>2]=k+1,B=b+8|0,t[(a[B>>2]|0)+k>>0]=p,k=(N[Q>>1]|0)>>>8&255,q=a[H>>2]|0,a[H>>2]=q+1,t[(a[B>>
-2]|0)+q>>0]=k,k=a[m>>2]|0,q=y>>>(16-k|0),w[Q>>1]=q,H=k+-11|0):(H=q+5|0,q=p);a[m>>2]=H;p=f+65533&65535;q=p<<H|q&65535;w[Q>>1]=q;12<(H|0)?(k=b+20|0,y=a[k>>2]|0,a[k>>2]=y+1,B=b+8|0,t[(a[B>>2]|0)+y>>0]=q,y=(N[Q>>1]|0)>>>8&255,H=a[k>>2]|0,a[k>>2]=H+1,t[(a[B>>2]|0)+H>>0]=y,y=a[m>>2]|0,H=p>>>(16-y|0),w[Q>>1]=H,l=B,n=k,k=H,q=y+-12|0):(l=b+8|0,n=b+20|0,k=q,q=H+4|0);a[m>>2]=q;y=k;for(H=0;k=N[b+2684+(x[155641+H>>0]<<2)+2>>1]|0,B=k<<q|y&65535,w[Q>>1]=B,13<(q|0)?(p=a[n>>2]|0,a[n>>2]=p+1,t[(a[l>>2]|0)+p>>0]=B,
-p=(N[Q>>1]|0)>>>8&255,q=a[n>>2]|0,a[n>>2]=q+1,t[(a[l>>2]|0)+q>>0]=p,p=a[m>>2]|0,q=k>>>(16-p|0),k=w[Q>>1]=q,q=p+-13|0):(k=B,q=q+3|0),a[m>>2]=q,(H|0)!=(f|0);)y=k,H=H+1|0;H=b+148|0;kg(b,H,z);y=b+2440|0;kg(b,y,ka);Kg(b,H,y)}og(b);e&&(e=b+5820|0,k=a[e>>2]|0,8>=(k|0)?(q=b+5816|0,0<(k|0)&&(k=w[q>>1]&255,f=b+20|0,l=a[f>>2]|0,a[f>>2]=l+1,t[(a[b+8>>2]|0)+l>>0]=k)):(q=b+5816|0,k=w[q>>1]&255,l=b+20|0,f=a[l>>2]|0,a[l>>2]=f+1,n=b+8|0,t[(a[n>>2]|0)+f>>0]=k,k=(N[q>>1]|0)>>>8&255,f=a[l>>2]|0,a[l>>2]=f+1,t[(a[n>>2]|
-0)+f>>0]=k),w[q>>1]=0,a[e>>2]=0)}function og(b){b|=0;var d;d=0;do w[b+148+(d<<2)>>1]=0,d=d+1|0;while(286!=(d|0));w[b+2440>>1]=0;w[b+2444>>1]=0;w[b+2448>>1]=0;w[b+2452>>1]=0;w[b+2456>>1]=0;w[b+2460>>1]=0;w[b+2464>>1]=0;w[b+2468>>1]=0;w[b+2472>>1]=0;w[b+2476>>1]=0;w[b+2480>>1]=0;w[b+2484>>1]=0;w[b+2488>>1]=0;w[b+2492>>1]=0;w[b+2496>>1]=0;w[b+2500>>1]=0;w[b+2504>>1]=0;w[b+2508>>1]=0;w[b+2512>>1]=0;w[b+2516>>1]=0;w[b+2520>>1]=0;w[b+2524>>1]=0;w[b+2528>>1]=0;w[b+2532>>1]=0;w[b+2536>>1]=0;w[b+2540>>1]=
-0;w[b+2544>>1]=0;w[b+2548>>1]=0;w[b+2552>>1]=0;w[b+2556>>1]=0;w[b+2684>>1]=0;w[b+2688>>1]=0;w[b+2692>>1]=0;w[b+2696>>1]=0;w[b+2700>>1]=0;w[b+2704>>1]=0;w[b+2708>>1]=0;w[b+2712>>1]=0;w[b+2716>>1]=0;w[b+2720>>1]=0;w[b+2724>>1]=0;w[b+2728>>1]=0;w[b+2732>>1]=0;w[b+2736>>1]=0;w[b+2740>>1]=0;w[b+2744>>1]=0;w[b+2748>>1]=0;w[b+2752>>1]=0;w[b+2756>>1]=0;w[b+1172>>1]=1;a[b+5804>>2]=0;a[b+5800>>2]=0;a[b+5808>>2]=0;a[b+5792>>2]=0}function sg(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,y,B=0,H=0,ka=0,z=0,Q=0,C,Ra,
-V,r,J,I,G;c=u;u=u+32|0;e=a[d>>2]|0;f=d+8|0;g=a[f>>2]|0;h=a[g>>2]|0;m=a[g+12>>2]|0;g=b+5200|0;a[g>>2]=0;k=b+5204|0;a[k>>2]=573;if(0<(m|0)){l=-1;for(n=0;;)if(w[e+(n<<2)>>1]|0?(q=(a[g>>2]|0)+1|0,a[g>>2]=q,a[b+2908+(q<<2)>>2]=n,t[b+5208+n>>0]=0,p=n):(w[e+(n<<2)+2>>1]=0,p=l),n=n+1|0,(n|0)==(m|0)){y=p;break}else l=p;p=a[g>>2]|0;2>(p|0)?(B=p,H=y,ka=3):(z=p,Q=y)}else B=0,H=-1,ka=3;if(3==(ka|0))if(ka=b+5800|0,y=b+5804|0,h)for(l=B,B=H;;)if(H=2>(B|0),p=B+1|0,C=H?p:B,Ra=H?p:0,p=l+1|0,a[g>>2]=p,a[b+2908+(p<<2)>>
-2]=Ra,w[e+(Ra<<2)>>1]=1,t[b+5208+Ra>>0]=0,a[ka>>2]=(a[ka>>2]|0)+-1,a[y>>2]=(a[y>>2]|0)-(N[h+(Ra<<2)+2>>1]|0),Ra=a[g>>2]|0,2>(Ra|0))l=Ra,B=C;else{z=Ra;Q=C;break}else for(p=B,l=H;;)if(n=2>(l|0),q=l+1|0,C=n?q:l,Ra=n?q:0,q=p+1|0,a[g>>2]=q,a[b+2908+(q<<2)>>2]=Ra,w[e+(Ra<<2)>>1]=1,t[b+5208+Ra>>0]=0,a[ka>>2]=(a[ka>>2]|0)+-1,Ra=a[g>>2]|0,2>(Ra|0))p=Ra,l=C;else{z=Ra;Q=C;break}B=d+4|0;a[B>>2]=Q;l=z;for(h=(z|0)/2|0;;){z=a[b+2908+(h<<2)>>2]|0;y=b+5208+z|0;ka=h<<1;a:do if((ka|0)>(l|0))V=h;else for(C=e+(z<<2)|
-0,Ra=h,p=l,H=ka;;){do if((H|0)<(p|0)){q=H|1;n=a[b+2908+(q<<2)>>2]|0;r=w[e+(n<<2)>>1]|0;J=a[b+2908+(H<<2)>>2]|0;I=w[e+(J<<2)>>1]|0;if((r&65535)>=(I&65535)){if(r<<16>>16!=I<<16>>16){G=H;break}if((x[b+5208+n>>0]|0)>(x[b+5208+J>>0]|0)){G=H;break}}G=q}else G=H;while(0);q=w[C>>1]|0;J=a[b+2908+(G<<2)>>2]|0;n=w[e+(J<<2)>>1]|0;if((q&65535)<(n&65535)){V=Ra;break a}if(q<<16>>16==n<<16>>16&&(x[y>>0]|0)<=(x[b+5208+J>>0]|0)){V=Ra;break a}a[b+2908+(Ra<<2)>>2]=J;H=G<<1;p=a[g>>2]|0;if((H|0)>(p|0)){V=G;break}else Ra=
-G}while(0);a[b+2908+(V<<2)>>2]=z;if(1>=(h|0))break;l=a[g>>2]|0;h=h+-1|0}h=b+2912|0;l=a[g>>2]|0;V=m;do{m=a[h>>2]|0;G=l+-1|0;a[g>>2]=G;y=a[b+2908+(l<<2)>>2]|0;a[h>>2]=y;ka=b+5208+y|0;a:do if(3>(l|0))p=1;else for(Ra=e+(y<<2)|0,p=1,H=G,C=2;;){do if((C|0)<(H|0)){J=C|1;n=a[b+2908+(J<<2)>>2]|0;q=w[e+(n<<2)>>1]|0;I=a[b+2908+(C<<2)>>2]|0;r=w[e+(I<<2)>>1]|0;if((q&65535)>=(r&65535)){if(q<<16>>16!=r<<16>>16){q=C;break}if((x[b+5208+n>>0]|0)>(x[b+5208+I>>0]|0)){q=C;break}}q=J}else q=C;while(0);J=w[Ra>>1]|0;I=a[b+
-2908+(q<<2)>>2]|0;n=w[e+(I<<2)>>1]|0;if((J&65535)<(n&65535))break a;if(J<<16>>16==n<<16>>16&&(x[ka>>0]|0)<=(x[b+5208+I>>0]|0))break a;a[b+2908+(p<<2)>>2]=I;C=q<<1;H=a[g>>2]|0;if((C|0)>(H|0)){p=q;break}else p=q}while(0);a[b+2908+(p<<2)>>2]=y;ka=a[h>>2]|0;G=(a[k>>2]|0)+-1|0;a[k>>2]=G;a[b+2908+(G<<2)>>2]=m;G=(a[k>>2]|0)+-1|0;a[k>>2]=G;a[b+2908+(G<<2)>>2]=ka;G=e+(V<<2)|0;w[G>>1]=(N[e+(ka<<2)>>1]|0)+(N[e+(m<<2)>>1]|0);z=t[b+5208+m>>0]|0;p=t[b+5208+ka>>0]|0;H=b+5208+V|0;t[H>>0]=(((z&255)<(p&255)?p:z)&255)+
-1;z=V&65535;w[e+(ka<<2)+2>>1]=z;w[e+(m<<2)+2>>1]=z;a[h>>2]=V;z=a[g>>2]|0;a:do if(2>(z|0))y=1;else for(ka=1,p=z,C=2;;){do if((C|0)<(p|0)){Ra=C|1;I=a[b+2908+(Ra<<2)>>2]|0;n=w[e+(I<<2)>>1]|0;J=a[b+2908+(C<<2)>>2]|0;r=w[e+(J<<2)>>1]|0;if((n&65535)>=(r&65535)){if(n<<16>>16!=r<<16>>16){n=C;break}if((x[b+5208+I>>0]|0)>(x[b+5208+J>>0]|0)){n=C;break}}n=Ra}else n=C;while(0);Ra=w[G>>1]|0;J=a[b+2908+(n<<2)>>2]|0;I=w[e+(J<<2)>>1]|0;if((Ra&65535)<(I&65535)){y=ka;break a}if(Ra<<16>>16==I<<16>>16&&(x[H>>0]|0)<=(x[b+
-5208+J>>0]|0)){y=ka;break a}a[b+2908+(ka<<2)>>2]=J;C=n<<1;p=a[g>>2]|0;if((C|0)>(p|0)){y=n;break}else ka=n}while(0);a[b+2908+(y<<2)>>2]=V;V=V+1|0;l=a[g>>2]|0}while(1<(l|0));l=a[h>>2]|0;h=(a[k>>2]|0)+-1|0;a[k>>2]=h;a[b+2908+(h<<2)>>2]=l;l=a[d>>2]|0;d=a[B>>2]|0;B=a[f>>2]|0;f=a[B>>2]|0;h=a[B+4>>2]|0;g=a[B+8>>2]|0;V=a[B+16>>2]|0;B=b+2876|0;y=B+32|0;do w[B>>1]=0,B=B+2|0;while((B|0)<(y|0));B=a[k>>2]|0;w[l+(a[b+2908+(B<<2)>>2]<<2)+2>>1]=0;k=B+1|0;a:do if(573>(k|0)){B=b+5800|0;y=b+5804|0;if(f)for(p=k,n=0;G=
-a[b+2908+(p<<2)>>2]|0,H=l+(G<<2)+2|0,m=N[l+(N[H>>1]<<2)+2>>1]|0,z=(q=(m|0)<(V|0))?m+1|0:V,m=(q&1^1)+n|0,w[H>>1]=z,(G|0)<=(d|0)&&(H=b+2876+(z<<1)|0,w[H>>1]=(w[H>>1]|0)+1<<16>>16,n=(G|0)<(g|0)?0:a[h+(G-g<<2)>>2]|0,H=N[l+(G<<2)>>1]|0,q=E(H,n+z|0)|0,a[B>>2]=q+(a[B>>2]|0),q=E((N[f+(G<<2)+2>>1]|0)+n|0,H)|0,a[y>>2]=q+(a[y>>2]|0)),p=p+1|0,573!=(p|0);)n=m;else for(n=k,p=0;;)if(q=a[b+2908+(n<<2)>>2]|0,H=l+(q<<2)+2|0,G=N[l+(N[H>>1]<<2)+2>>1]|0,m=(z=(G|0)<(V|0))?G+1|0:V,G=(z&1^1)+p|0,w[H>>1]=m,(q|0)<=(d|0)&&
-(H=b+2876+(m<<1)|0,w[H>>1]=(w[H>>1]|0)+1<<16>>16,H=(q|0)<(g|0)?0:a[h+(q-g<<2)>>2]|0,H=E(N[l+(q<<2)>>1]|0,H+m|0)|0,a[B>>2]=H+(a[B>>2]|0)),n=n+1|0,573==(n|0)){m=G;break}else p=G;if(m){n=b+2876+(V<<1)|0;for(p=m;;){for(y=V;;)if(m=y+-1|0,q=b+2876+(m<<1)|0,H=w[q>>1]|0,H<<16>>16){m=q;G=y;break}else y=m;w[m>>1]=H+-1<<16>>16;y=b+2876+(G<<1)|0;w[y>>1]=(N[y>>1]|0)+2;y=(w[n>>1]|0)+-1<<16>>16;w[n>>1]=y;if(2<(p|0))p=p+-2|0;else{n=y;break}}if(V)for(p=n,n=V,y=573;;){H=n&65535;if(p<<16>>16)for(q=y,m=p&65535;;){for(G=
-q;;)if(z=G+-1|0,y=a[b+2908+(z<<2)>>2]|0,(y|0)>(d|0))G=z;else{f=z;g=y;break}G=l+(g<<2)+2|0;y=N[G>>1]|0;(n|0)!=(y|0)&&(z=E(N[l+(g<<2)>>1]|0,n-y|0)|0,a[B>>2]=z+(a[B>>2]|0),w[G>>1]=H);if(m=m+-1|0)q=f;else{h=f;break}}else h=y;q=n+-1|0;if(!q)break a;p=w[b+2876+(q<<1)>>1]|0;n=q;y=h}}}while(0);h=1;f=0;do f=(N[b+2876+(h+-1<<1)>>1]|0)+(f&65534)<<1,w[c+(h<<1)>>1]=f,h=h+1|0;while(16!=(h|0));if(!(0>(Q|0)))for(l=0;;){h=w[e+(l<<2)+2>>1]|0;f=h&65535;if(h<<16>>16){h=c+(f<<1)|0;b=w[h>>1]|0;w[h>>1]=b+1<<16>>16;h=f;
-f=b&65535;for(b=0;;)if(g=b|f&1,1<(h|0))h=h+-1|0,f>>>=1,b=g<<1;else{B=g;break}w[e+(l<<2)>>1]=B}if((l|0)==(Q|0))break;else l=l+1|0}u=c}function Kg(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C;e=b+5792|0;if(a[e>>2]|0){g=b+5796|0;f=b+5784|0;h=b+5820|0;m=b+5816|0;k=b+20|0;l=b+8|0;n=0;do p=w[(a[g>>2]|0)+(n<<1)>>1]|0,q=p&65535,y=x[(a[f>>2]|0)+n>>0]|0,n=n+1|0,p<<16>>16?(p=x[155385+y>>0]|0,z=(p|256)+1|0,B=N[d+(z<<2)+2>>1]|0,H=a[h>>2]|0,Q=N[d+(z<<2)>>1]|0,z=N[m>>1]|0|Q<<H,ka=z&65535,w[m>>1]=
-ka,(H|0)>(16-B|0)?(C=a[k>>2]|0,a[k>>2]=C+1,t[(a[l>>2]|0)+C>>0]=z,z=(N[m>>1]|0)>>>8&255,C=a[k>>2]|0,a[k>>2]=C+1,t[(a[l>>2]|0)+C>>0]=z,z=a[h>>2]|0,C=Q>>>(16-z|0)&65535,ka=w[m>>1]=C,C=B+-16+z|0):C=H+B|0,a[h>>2]=C,B=a[110168+(p<<2)>>2]|0,20>(p+-8|0)>>>0?(H=y-(a[110284+(p<<2)>>2]|0)&65535,ka=H<<C|ka&65535,z=ka&65535,w[m>>1]=z,(C|0)>(16-B|0)?(C=a[k>>2]|0,a[k>>2]=C+1,t[(a[l>>2]|0)+C>>0]=ka,ka=(N[m>>1]|0)>>>8&255,C=a[k>>2]|0,a[k>>2]=C+1,t[(a[l>>2]|0)+C>>0]=ka,ka=a[h>>2]|0,C=H>>>(16-ka|0)&65535,w[m>>1]=C,
-H=B+-16+ka|0,y=a[h>>2]=H,ka=C):(C=C+B|0,y=a[h>>2]=C,ka=z)):y=C,B=q+-1|0,p=x[154873+(256>B>>>0?B:(B>>>7)+256|0)>>0]|0,z=N[c+(p<<2)+2>>1]|0,C=N[c+(p<<2)>>1]|0,H=ka&65535|C<<y,ka=H&65535,w[m>>1]=ka,(y|0)>(16-z|0)?(Q=a[k>>2]|0,a[k>>2]=Q+1,t[(a[l>>2]|0)+Q>>0]=H,H=(N[m>>1]|0)>>>8&255,Q=a[k>>2]|0,a[k>>2]=Q+1,t[(a[l>>2]|0)+Q>>0]=H,H=a[h>>2]|0,Q=C>>>(16-H|0)&65535,w[m>>1]=Q,q=z+-16+H|0,y=Q):(q=y+z|0,y=ka),a[h>>2]=q,ka=a[110400+(p<<2)>>2]|0,26>(p+-4|0)>>>0?(z=B-(a[110520+(p<<2)>>2]|0)&65535,p=z<<q|y&65535,
-B=p&65535,w[m>>1]=B,(q|0)>(16-ka|0)?(Q=a[k>>2]|0,a[k>>2]=Q+1,t[(a[l>>2]|0)+Q>>0]=p,p=(N[m>>1]|0)>>>8&255,Q=a[k>>2]|0,a[k>>2]=Q+1,t[(a[l>>2]|0)+Q>>0]=p,p=a[h>>2]|0,Q=z>>>(16-p|0)&65535,w[m>>1]=Q,z=ka+-16+p|0,a[h>>2]=z,B=Q):(z=q+ka|0,a[h>>2]=z),p=z):(B=y,p=q)):(B=N[d+(y<<2)+2>>1]|0,H=a[h>>2]|0,p=N[d+(y<<2)>>1]|0,ka=N[m>>1]|0|p<<H,z=ka&65535,w[m>>1]=z,(H|0)>(16-B|0)?(Q=a[k>>2]|0,a[k>>2]=Q+1,t[(a[l>>2]|0)+Q>>0]=ka,ka=(N[m>>1]|0)>>>8&255,Q=a[k>>2]|0,a[k>>2]=Q+1,t[(a[l>>2]|0)+Q>>0]=ka,ka=a[h>>2]|0,Q=p>>>
-(16-ka|0)&65535,w[m>>1]=Q,p=B+-16+ka|0,a[h>>2]=p,B=Q):(p=H+B|0,a[h>>2]=p,B=z));while(n>>>0<(a[e>>2]|0)>>>0);c=m;e=h;h=p;g=B}else f=b+5820|0,c=g=b+5816|0,e=f,h=a[f>>2]|0,g=w[g>>1]|0;B=N[d+1026>>1]|0;p=N[d+1024>>1]|0;d=g&65535|p<<h;w[c>>1]=d;(h|0)>(16-B|0)?(g=b+20|0,h=a[g>>2]|0,a[g>>2]=h+1,m=b+8|0,t[(a[m>>2]|0)+h>>0]=d,d=(N[c>>1]|0)>>>8&255,h=a[g>>2]|0,a[g>>2]=h+1,t[(a[m>>2]|0)+h>>0]=d,d=a[e>>2]|0,w[c>>1]=p>>>(16-d|0),a[e>>2]=B+-16+d|0):a[e>>2]=h+B|0}function kg(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,
-k,l,n,p,q,y,B,H,ka,z,Q,C,Ra,u,r,x,I,G,L,K,v,E;e=w[d+2>>1]|0;f=0==e<<16>>16;g=b+2754|0;h=b+5820|0;m=b+2752|0;k=b+5816|0;l=b+20|0;n=b+8|0;p=b+2758|0;q=b+2756|0;y=b+2750|0;B=b+2748|0;H=f?138:7;ka=f?3:4;f=0;z=e&65535;e=-1;a:for(;;){Q=0;for(C=f;;){if((C|0)>(c|0))break a;Ra=C+1|0;u=w[d+(Ra<<2)+2>>1]|0;r=u&65535;x=Q+1|0;I=(z|0)==(r|0);if((x|0)<(H|0)&I)Q=x,C=Ra;else{f=Ra;H=u;G=r;L=x;K=I;v=Q;break}}do if((L|0)>=(ka|0))z?((z|0)==(e|0)?(r=w[k>>1]|0,x=a[h>>2]|0,I=L):(Q=N[b+2684+(z<<2)+2>>1]|0,C=a[h>>2]|0,I=N[b+
-2684+(z<<2)>>1]|0,x=N[k>>1]|0|I<<C,r=x&65535,w[k>>1]=r,(C|0)>(16-Q|0)?(u=a[l>>2]|0,a[l>>2]=u+1,t[(a[n>>2]|0)+u>>0]=x,x=(N[k>>1]|0)>>>8&255,u=a[l>>2]|0,a[l>>2]=u+1,t[(a[n>>2]|0)+u>>0]=x,x=a[h>>2]|0,u=I>>>(16-x|0)&65535,r=w[k>>1]=u,Q=Q+-16+x|0):Q=C+Q|0,x=a[h>>2]=Q,I=v),Q=N[y>>1]|0,C=N[B>>1]|0,r=r&65535|C<<x,w[k>>1]=r,(x|0)>(16-Q|0)?(x=a[l>>2]|0,a[l>>2]=x+1,t[(a[n>>2]|0)+x>>0]=r,x=(N[k>>1]|0)>>>8&255,u=a[l>>2]|0,a[l>>2]=u+1,t[(a[n>>2]|0)+u>>0]=x,x=a[h>>2]|0,u=C>>>(16-x|0),w[k>>1]=u,C=Q+-16+x|0,Q=u):
-(C=x+Q|0,Q=r),a[h>>2]=C,r=I+65533&65535,Q=Q&65535|r<<C,w[k>>1]=Q,14<(C|0)?(u=a[l>>2]|0,a[l>>2]=u+1,t[(a[n>>2]|0)+u>>0]=Q,Q=(N[k>>1]|0)>>>8&255,u=a[l>>2]|0,a[l>>2]=u+1,t[(a[n>>2]|0)+u>>0]=Q,Q=a[h>>2]|0,w[k>>1]=r>>>(16-Q|0),a[h>>2]=Q+-14):a[h>>2]=C+2):11>(L|0)?(Q=N[g>>1]|0,r=a[h>>2]|0,u=N[m>>1]|0,x=N[k>>1]|0|u<<r,w[k>>1]=x,(r|0)>(16-Q|0)?(C=a[l>>2]|0,a[l>>2]=C+1,t[(a[n>>2]|0)+C>>0]=x,C=(N[k>>1]|0)>>>8&255,I=a[l>>2]|0,a[l>>2]=I+1,t[(a[n>>2]|0)+I>>0]=C,C=a[h>>2]|0,I=u>>>(16-C|0),w[k>>1]=I,C=Q+-16+C|0,
-Q=I):(C=r+Q|0,Q=x),a[h>>2]=C,x=v+65534&65535,Q=Q&65535|x<<C,w[k>>1]=Q,13<(C|0)?(r=a[l>>2]|0,a[l>>2]=r+1,t[(a[n>>2]|0)+r>>0]=Q,Q=(N[k>>1]|0)>>>8&255,r=a[l>>2]|0,a[l>>2]=r+1,t[(a[n>>2]|0)+r>>0]=Q,Q=a[h>>2]|0,w[k>>1]=x>>>(16-Q|0),a[h>>2]=Q+-13):a[h>>2]=C+3):(Q=N[p>>1]|0,x=a[h>>2]|0,r=N[q>>1]|0,I=N[k>>1]|0|r<<x,w[k>>1]=I,(x|0)>(16-Q|0)?(C=a[l>>2]|0,a[l>>2]=C+1,t[(a[n>>2]|0)+C>>0]=I,C=(N[k>>1]|0)>>>8&255,u=a[l>>2]|0,a[l>>2]=u+1,t[(a[n>>2]|0)+u>>0]=C,C=a[h>>2]|0,u=r>>>(16-C|0),w[k>>1]=u,C=Q+-16+C|0,Q=u):
-(C=x+Q|0,Q=I),a[h>>2]=C,I=v+65526&65535,Q=Q&65535|I<<C,w[k>>1]=Q,9<(C|0)?(x=a[l>>2]|0,a[l>>2]=x+1,t[(a[n>>2]|0)+x>>0]=Q,Q=(N[k>>1]|0)>>>8&255,x=a[l>>2]|0,a[l>>2]=x+1,t[(a[n>>2]|0)+x>>0]=Q,Q=a[h>>2]|0,w[k>>1]=I>>>(16-Q|0),a[h>>2]=Q+-9):a[h>>2]=C+7);else for(Q=b+2684+(z<<2)+2|0,I=b+2684+(z<<2)|0,x=a[h>>2]|0,u=w[k>>1]|0,C=L;;)if(r=N[Q>>1]|0,Ra=N[I>>1]|0,u=u&65535|Ra<<x,E=u&65535,w[k>>1]=E,(x|0)>(16-r|0)?(x=a[l>>2]|0,a[l>>2]=x+1,t[(a[n>>2]|0)+x>>0]=u,u=(N[k>>1]|0)>>>8&255,x=a[l>>2]|0,a[l>>2]=x+1,t[(a[n>>
-2]|0)+x>>0]=u,u=a[h>>2]|0,x=Ra>>>(16-u|0)&65535,Ra=w[k>>1]=x,r=r+-16+u|0):(Ra=E,r=x+r|0),a[h>>2]=r,C=C+-1|0)x=r,u=Ra;else break;while(0);u=0==H<<16>>16;x=z;H=u?138:K?6:7;ka=u|K?3:4;z=G;e=x}}function Si(a,d,c){a|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C,u,V,r,w,I=0,G=0,L=0,K=0,v=0,E=0,O=0,M=0,T=0,X=0,P=0,Oa=0,A=0;e=a>>>16;f=a&65535;if(1==(c|0))return a=(x[d>>0]|0)+f|0,g=65520<a>>>0?a+-65521|0:a,a=g+e|0,(65520<a>>>0?a+15|0:a)<<16|g|0;if(!d)return 1;if(16>c>>>0){if(c)for(g=d,a=c,k=f,l=e;;)if(a=
-a+-1|0,n=(x[g>>0]|0)+k|0,p=n+l|0,a)g=g+1|0,k=n,l=p;else{h=n;m=p;break}else h=f,m=e;return((m>>>0)%65521|0)<<16|(65520<h>>>0?h+-65521|0:h)|0}if(5551<c>>>0){h=c+-5552|0;m=(h>>>0)%5552|0;l=h-m+5552|0;h=d;k=c;g=f;for(a=e;;){k=k+-5552|0;p=h;n=g;q=347;for(y=a;;)if(e=(x[p>>0]|0)+n|0,f=e+(x[p+1>>0]|0)|0,c=f+(x[p+2>>0]|0)|0,B=c+(x[p+3>>0]|0)|0,g=B+(x[p+4>>0]|0)|0,n=g+(x[p+5>>0]|0)|0,H=n+(x[p+6>>0]|0)|0,t=H+(x[p+7>>0]|0)|0,z=t+(x[p+8>>0]|0)|0,Q=z+(x[p+9>>0]|0)|0,C=Q+(x[p+10>>0]|0)|0,u=C+(x[p+11>>0]|0)|0,V=
-u+(x[p+12>>0]|0)|0,r=V+(x[p+13>>0]|0)|0,w=r+(x[p+14>>0]|0)|0,a=w+(x[p+15>>0]|0)|0,B=e+y+f+c+B+g+n+H+t+z+Q+C+u+V+r+w+a|0,q=q+-1|0)p=p+16|0,n=a,y=B;else{H=a;t=B;break}y=(H>>>0)%65521|0;n=(t>>>0)%65521|0;if(5551>=k>>>0){z=y;Q=n;break}else h=h+5552|0,g=y,a=n}a=d+l|0;m?15<m>>>0?(I=m,G=a,L=z,K=Q,v=15):(E=m,O=a,M=z,T=Q,v=18):(X=z,P=Q)}else I=c,G=d,L=f,K=e,v=15;if(15==(v|0)){e=I+-16|0;f=e&-16;d=G+(f+16)|0;c=I;I=G;G=L;for(L=K;;)if(c=c+-16|0,K=(x[I>>0]|0)+G|0,Q=K+(x[I+1>>0]|0)|0,z=Q+(x[I+2>>0]|0)|0,a=z+(x[I+
-3>>0]|0)|0,m=a+(x[I+4>>0]|0)|0,l=m+(x[I+5>>0]|0)|0,g=l+(x[I+6>>0]|0)|0,h=g+(x[I+7>>0]|0)|0,k=h+(x[I+8>>0]|0)|0,t=k+(x[I+9>>0]|0)|0,H=t+(x[I+10>>0]|0)|0,n=H+(x[I+11>>0]|0)|0,y=n+(x[I+12>>0]|0)|0,p=y+(x[I+13>>0]|0)|0,q=p+(x[I+14>>0]|0)|0,B=q+(x[I+15>>0]|0)|0,a=K+L+Q+z+a+m+l+g+h+k+t+H+n+y+p+q+B|0,15>=c>>>0){h=B;m=a;break}else I=I+16|0,G=B,L=a;(e|0)==(f|0)?(Oa=h,A=m,v=19):(E=e-f|0,O=d,M=h,T=m,v=18)}if(18==(v|0))for(;;)if(E=E+-1|0,m=(x[O>>0]|0)+M|0,h=m+T|0,E)O=O+1|0,M=m,T=h;else{Oa=m;A=h;v=19;break}19==
-(v|0)&&(X=(Oa>>>0)%65521|0,P=(A>>>0)%65521|0);return P<<16|X|0}function Kd(b,d,c){d|=0;c|=0;var e,f,g,h,m,k,l,n,p;if(!d)return 0;e=~(b|0);a:do if(c){b=d;f=c;for(g=e;;){if(!(b&3)){h=b;m=f;k=g;break}l=a[110756+(((x[b>>0]|0)^g&255)<<2)>>2]^g>>>8;if(f=f+-1|0)b=b+1|0,g=l;else{m=l;break a}}if(31<m>>>0){g=m+-32|0;b=g&-32;f=b+32|0;l=m;for(m=h;;)if(n=a[m>>2]^k,p=a[112804+((n>>>8&255)<<2)>>2]^a[113828+((n&255)<<2)>>2]^a[111780+((n>>>16&255)<<2)>>2]^a[110756+(n>>>24<<2)>>2]^a[m+4>>2],n=a[112804+((p>>>8&255)<<
-2)>>2]^a[113828+((p&255)<<2)>>2]^a[111780+((p>>>16&255)<<2)>>2]^a[110756+(p>>>24<<2)>>2]^a[m+8>>2],p=a[112804+((n>>>8&255)<<2)>>2]^a[113828+((n&255)<<2)>>2]^a[111780+((n>>>16&255)<<2)>>2]^a[110756+(n>>>24<<2)>>2]^a[m+12>>2],n=a[112804+((p>>>8&255)<<2)>>2]^a[113828+((p&255)<<2)>>2]^a[111780+((p>>>16&255)<<2)>>2]^a[110756+(p>>>24<<2)>>2]^a[m+16>>2],p=a[112804+((n>>>8&255)<<2)>>2]^a[113828+((n&255)<<2)>>2]^a[111780+((n>>>16&255)<<2)>>2]^a[110756+(n>>>24<<2)>>2]^a[m+20>>2],n=a[112804+((p>>>8&255)<<2)>>
-2]^a[113828+((p&255)<<2)>>2]^a[111780+((p>>>16&255)<<2)>>2]^a[110756+(p>>>24<<2)>>2]^a[m+24>>2],p=a[112804+((n>>>8&255)<<2)>>2]^a[113828+((n&255)<<2)>>2]^a[111780+((n>>>16&255)<<2)>>2]^a[110756+(n>>>24<<2)>>2]^a[m+28>>2],n=a[112804+((p>>>8&255)<<2)>>2]^a[113828+((p&255)<<2)>>2]^a[111780+((p>>>16&255)<<2)>>2]^a[110756+(p>>>24<<2)>>2],l=l+-32|0,31>=l>>>0){m=n;break}else m=m+32|0,k=n;p=g-b|0;f=h+f|0;h=m}else p=m,f=h,h=k;if(3<p>>>0){k=p+-4|0;m=k>>>2;l=m<<2;n=p;for(p=f;;)if(h^=a[p>>2],h=a[112804+((h>>>
-8&255)<<2)>>2]^a[113828+((h&255)<<2)>>2]^a[111780+((h>>>16&255)<<2)>>2]^a[110756+(h>>>24<<2)>>2],n=n+-4|0,3>=n>>>0){p=h;break}else p=p+4|0;l=k-l|0;m=f+(m+1<<2)|0;k=p}else l=p,m=f,k=h;if(l)for(h=m,p=l,n=k;;)if(f=a[110756+(((x[h>>0]|0)^n&255)<<2)>>2]^n>>>8,p=p+-1|0)h=h+1|0,n=f;else{m=f;break}else m=k}else m=e;while(0);return~m|0}function lg(b,d){b|=0;d|=0;var c;(c=a[b+88>>2]|0)&&(a[c+128>>2]=d);(c=a[b+92>>2]|0)&&(a[c+128>>2]=d);(c=a[b+96>>2]|0)&&(a[c+128>>2]=d);(c=a[b+100>>2]|0)&&(a[c+128>>2]=d);(c=
-a[b+120>>2]|0)&&(a[c+276>>2]=d);(c=a[b+136>>2]|0)&&(a[c+276>>2]=d);(c=a[b+124>>2]|0)&&(a[c+276>>2]=d);(c=a[b+140>>2]|0)&&(a[c+276>>2]=d);(c=a[b+128>>2]|0)&&(a[c+276>>2]=d);(c=a[b+144>>2]|0)&&(a[c+276>>2]=d);(c=a[b+132>>2]|0)&&(a[c+276>>2]=d);(c=a[b+148>>2]|0)&&(a[c+276>>2]=d)}function Gg(b){b|=0;var d;d=Aa[a[a[b+4>>2]>>2]&63](b,1,32)|0;a[b+408>>2]=d;a[d>>2]=30;a[d+4>>2]=31;a[d+8>>2]=32;a[d+12>>2]=33;a[d+16>>2]=34;a[d+20>>2]=44;a[d+24>>2]=8;a[d+28>>2]=0}function ei(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,
-l,n,p,q;c=a[b+88+(d<<2)>>2]|0;c||(e=a[b>>2]|0,a[e+20>>2]=54,a[e+24>>2]=d,R[a[e>>2]&127](b));e=b+388|0;f=a[e>>2]|0;if(0>(f|0))g=0;else for(h=a[b+384>>2]|0,k=m=0;;)if(l=255<(N[c+(a[h+(m<<2)>>2]<<1)>>1]|0)?1:k,(m|0)<(f|0))m=m+1|0,k=l;else{g=l;break}k=c+128|0;if(a[k>>2]|0)return g|0;m=b+24|0;f=a[m>>2]|0;h=a[f>>2]|0;a[f>>2]=h+1;t[h>>0]=-1;h=f+4|0;l=(a[h>>2]|0)+-1|0;a[h>>2]=l;0==(l|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b));f=a[m>>2]|0;l=a[f>>2]|0;a[f>>2]=l+1;t[l>>0]=
--37;l=f+4|0;h=(a[l>>2]|0)+-1|0;a[l>>2]=h;0==(h|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b));f=0!=(g|0);h=a[e>>2]|0;l=(f?(h<<1)+2|0:h+1|0)+3|0;h=a[m>>2]|0;n=a[h>>2]|0;a[h>>2]=n+1;t[n>>0]=l>>>8;n=h+4|0;p=(a[n>>2]|0)+-1|0;a[n>>2]=p;0==(p|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>2]&127](b));h=a[m>>2]|0;p=a[h>>2]|0;a[h>>2]=p+1;t[p>>0]=l;l=h+4|0;p=(a[l>>2]|0)+-1|0;a[l>>2]=p;0==(p|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>
-2]&127](b));h=a[m>>2]|0;p=a[h>>2]|0;a[h>>2]=p+1;t[p>>0]=(g<<4)+d;d=h+4|0;p=(a[d>>2]|0)+-1|0;a[d>>2]=p;0==(p|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>2]&127](b));a:do if(0<=(a[e>>2]|0)){h=b+384|0;if(f)q=0;else for(p=0;;)if(d=a[m>>2]|0,l=w[c+(a[(a[h>>2]|0)+(p<<2)>>2]<<1)>>1]&255,n=a[d>>2]|0,a[d>>2]=n+1,t[n>>0]=l,l=d+4|0,n=(a[l>>2]|0)+-1|0,a[l>>2]=n,0==(n|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),(p|0)<(a[e>>2]|0))p=p+1|0;else break a;for(;;)if(p=
-w[c+(a[(a[h>>2]|0)+(q<<2)>>2]<<1)>>1]|0,d=a[m>>2]|0,n=a[d>>2]|0,a[d>>2]=n+1,t[n>>0]=(p&65535)>>>8,n=d+4|0,l=(a[n>>2]|0)+-1|0,a[n>>2]=l,0==(l|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[m>>2]|0,l=a[d>>2]|0,a[d>>2]=l+1,t[l>>0]=p,p=d+4|0,l=(a[p>>2]|0)+-1|0,a[p>>2]=l,0==(l|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),(q|0)<(a[e>>2]|0))q=q+1|0;else break}while(0);a[k>>2]=1;return g|0}function Me(b,d,c){b|=0;d|=0;var e,f,g,h,m,k,l;
-c=(e=0==(c|0))?d:d+16|0;f=a[(e?b+120+(d<<2)|0:b+136+(d<<2)|0)>>2]|0;f||(d=a[b>>2]|0,a[d+20>>2]=52,a[d+24>>2]=c,R[a[d>>2]&127](b));d=f+276|0;if(!(a[d>>2]|0)){e=b+24|0;g=a[e>>2]|0;h=a[g>>2]|0;a[g>>2]=h+1;t[h>>0]=-1;h=g+4|0;m=(a[h>>2]|0)+-1|0;a[h>>2]=m;0==(m|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=a[e>>2]|0;m=a[g>>2]|0;a[g>>2]=m+1;t[m>>0]=-60;m=g+4|0;h=(a[m>>2]|0)+-1|0;a[m>>2]=h;0==(h|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));
-g=(x[f+16>>0]|0)+((x[f+15>>0]|0)+((x[f+14>>0]|0)+((x[f+13>>0]|0)+((x[f+12>>0]|0)+((x[f+11>>0]|0)+((x[f+10>>0]|0)+((x[f+9>>0]|0)+((x[f+8>>0]|0)+((x[f+7>>0]|0)+((x[f+6>>0]|0)+((x[f+5>>0]|0)+((x[f+4>>0]|0)+((x[f+3>>0]|0)+((x[f+2>>0]|0)+(x[f+1>>0]|0)))))))))))))))|0;h=g+19|0;m=a[e>>2]|0;k=a[m>>2]|0;a[m>>2]=k+1;t[k>>0]=h>>>8;k=m+4|0;l=(a[k>>2]|0)+-1|0;a[k>>2]=l;0==(l|0)&&0==(da[a[m+12>>2]&63](b)|0)&&(m=a[b>>2]|0,a[m+20>>2]=25,R[a[m>>2]&127](b));m=a[e>>2]|0;l=a[m>>2]|0;a[m>>2]=l+1;t[l>>0]=h;h=m+4|0;l=(a[h>>
-2]|0)+-1|0;a[h>>2]=l;0==(l|0)&&0==(da[a[m+12>>2]&63](b)|0)&&(m=a[b>>2]|0,a[m+20>>2]=25,R[a[m>>2]&127](b));m=a[e>>2]|0;l=a[m>>2]|0;a[m>>2]=l+1;t[l>>0]=c;c=m+4|0;l=(a[c>>2]|0)+-1|0;a[c>>2]=l;0==(l|0)&&0==(da[a[m+12>>2]&63](b)|0)&&(m=a[b>>2]|0,a[m+20>>2]=25,R[a[m>>2]&127](b));m=1;do l=t[f+m>>0]|0,c=a[e>>2]|0,h=a[c>>2]|0,a[c>>2]=h+1,t[h>>0]=l,l=c+4|0,h=(a[l>>2]|0)+-1|0,a[l>>2]=h,0==(h|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),m=m+1|0;while(17!=(m|0));if(0<(g|0)){m=
-0;do c=t[f+17+m>>0]|0,h=a[e>>2]|0,l=a[h>>2]|0,a[h>>2]=l+1,t[l>>0]=c,c=h+4|0,l=(a[c>>2]|0)+-1|0,a[c>>2]=l,0==(l|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>2]&127](b)),m=m+1|0;while((m|0)!=(g|0))}a[d>>2]=1}}function xi(b,d){b|=0;d|=0;var c,e,f,g,h,m;c=b+24|0;e=a[c>>2]|0;f=a[e>>2]|0;a[e>>2]=f+1;t[f>>0]=-1;f=e+4|0;g=(a[f>>2]|0)+-1|0;a[f>>2]=g;0==(g|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b));e=a[c>>2]|0;g=a[e>>2]|0;a[e>>2]=g+1;t[g>>0]=d;d=e+4|
-0;g=(a[d>>2]|0)+-1|0;a[d>>2]=g;0==(g|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b));e=b+76|0;g=(3*(a[e>>2]|0)|0)+8|0;d=a[c>>2]|0;f=a[d>>2]|0;a[d>>2]=f+1;t[f>>0]=g>>>8;f=d+4|0;h=(a[f>>2]|0)+-1|0;a[f>>2]=h;0==(h|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b));d=a[c>>2]|0;h=a[d>>2]|0;a[d>>2]=h+1;t[h>>0]=g;g=d+4|0;h=(a[g>>2]|0)+-1|0;a[g>>2]=h;0==(h|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b));d=b+68|0;65535>=
-(a[d>>2]|0)&&65535>=(a[b+64>>2]|0)||(h=a[b>>2]|0,a[h+20>>2]=42,a[h+24>>2]=65535,R[a[h>>2]&127](b));h=a[c>>2]|0;g=a[b+72>>2]&255;f=a[h>>2]|0;a[h>>2]=f+1;t[f>>0]=g;g=h+4|0;f=(a[g>>2]|0)+-1|0;a[g>>2]=f;0==(f|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>2]&127](b));h=a[d>>2]|0;d=a[c>>2]|0;f=a[d>>2]|0;a[d>>2]=f+1;t[f>>0]=h>>>8;f=d+4|0;g=(a[f>>2]|0)+-1|0;a[f>>2]=g;0==(g|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b));d=a[c>>2]|0;g=a[d>>2]|0;a[d>>2]=g+
-1;t[g>>0]=h;h=d+4|0;g=(a[h>>2]|0)+-1|0;a[h>>2]=g;0==(g|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b));d=a[b+64>>2]|0;g=a[c>>2]|0;h=a[g>>2]|0;a[g>>2]=h+1;t[h>>0]=d>>>8;h=g+4|0;f=(a[h>>2]|0)+-1|0;a[h>>2]=f;0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=a[c>>2]|0;f=a[g>>2]|0;a[g>>2]=f+1;t[f>>0]=d;d=g+4|0;f=(a[d>>2]|0)+-1|0;a[d>>2]=f;0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=a[c>>2]|0;
-f=a[e>>2]&255;d=a[g>>2]|0;a[g>>2]=d+1;t[d>>0]=f;f=g+4|0;d=(a[f>>2]|0)+-1|0;a[f>>2]=d;0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));if(!(0>=(a[e>>2]|0)))for(g=0,d=a[b+84>>2]|0;!(f=a[c>>2]|0,h=a[d>>2]&255,m=a[f>>2]|0,a[f>>2]=m+1,t[m>>0]=h,h=f+4|0,m=(a[h>>2]|0)+-1|0,a[h>>2]=m,0==(m|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),f=a[c>>2]|0,m=(a[d+8>>2]<<4)+(a[d+12>>2]|0)&255,h=a[f>>2]|0,a[f>>2]=h+1,t[h>>0]=m,m=f+4|0,h=(a[m>>2]|0)+
--1|0,a[m>>2]=h,0==(h|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),f=a[c>>2]|0,h=a[d+16>>2]&255,m=a[f>>2]|0,a[f>>2]=m+1,t[m>>0]=h,h=f+4|0,m=(a[h>>2]|0)+-1|0,a[h>>2]=m,0==(m|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),g=g+1|0,(g|0)>=(a[e>>2]|0));)d=d+88|0}function Vg(b){b|=0;var d,c,e,f,g;if(d=a[b+204>>2]|0){c=a[(a[b+392>>2]|0)+32>>2]|0;e=a[d+(36*c|0)>>2]|0;a[b+292>>2]=e;if(0<(e|0)){g=b+84|0;f=0;do a[b+296+(f<<2)>>2]=(a[g>>2]|0)+(88*
-(a[d+(36*c|0)+4+(f<<2)>>2]|0)|0),f=f+1|0;while((f|0)<(e|0))}if(a[b+268>>2]|0){a[b+364>>2]=a[d+(36*c|0)+20>>2];a[b+368>>2]=a[d+(36*c|0)+24>>2];a[b+372>>2]=a[d+(36*c|0)+28>>2];a[b+376>>2]=a[d+(36*c|0)+32>>2];return}}else if(c=b+76|0,e=a[c>>2]|0,4<(e|0)?(f=a[b>>2]|0,a[f+20>>2]=27,a[f+24>>2]=e,a[f+28>>2]=4,R[a[f>>2]&127](b),g=a[c>>2]|0):g=e,a[b+292>>2]=g,0<(g|0)){g=b+84|0;e=0;do a[b+296+(e<<2)>>2]=(a[g>>2]|0)+(88*e|0),e=e+1|0;while((e|0)<(a[c>>2]|0))}a[b+364>>2]=0;c=a[b+380>>2]|0;d=(E(c,c)|0)+-1|0;a[b+
-368>>2]=d;a[b+372>>2]=0;a[b+376>>2]=0}function Jf(b){b|=0;var d,c,e,f,g,h,m,k,l;d=b+292|0;c=a[d>>2]|0;a:do if(1!=(c|0)){if(3<(c+-1|0)>>>0&&(e=a[b>>2]|0,a[e+20>>2]=27,a[e+24>>2]=c,a[e+28>>2]=4,R[a[e>>2]&127](b)),e=b+380|0,f=Gb(a[b+64>>2]|0,E(a[e>>2]|0,a[b+272>>2]|0)|0)|0,a[b+312>>2]=f,f=Gb(a[b+68>>2]|0,E(a[e>>2]|0,a[b+276>>2]|0)|0)|0,a[b+316>>2]=f,f=b+320|0,a[f>>2]=0,0<(a[d>>2]|0))for(g=e=0;;){c=a[b+296+(g<<2)>>2]|0;h=a[c+8>>2]|0;a[c+56>>2]=h;m=a[c+12>>2]|0;a[c+60>>2]=m;k=E(h,m)|0;a[c+64>>2]=k;l=E(a[c+
-36>>2]|0,h)|0;a[c+68>>2]=l;l=((a[c+28>>2]|0)>>>0)%(h>>>0)|0;a[c+72>>2]=0==(l|0)?h:l;l=((a[c+32>>2]|0)>>>0)%(m>>>0)|0;a[c+76>>2]=0==(l|0)?m:l;10<(e+k|0)&&(l=a[b>>2]|0,a[l+20>>2]=14,R[a[l>>2]&127](b));if(0<(k|0))for(l=k;;)if(k=a[f>>2]|0,a[f>>2]=k+1,a[b+324+(k<<2)>>2]=g,1<(l|0))l=l+-1|0;else break;l=g+1|0;if((l|0)>=(a[d>>2]|0))break a;e=a[f>>2]|0;g=l}}else g=a[b+296>>2]|0,a[b+312>>2]=a[g+28>>2],f=a[g+32>>2]|0,a[b+316>>2]=f,a[g+56>>2]=1,a[g+60>>2]=1,a[g+64>>2]=1,a[g+68>>2]=a[g+36>>2],a[g+72>>2]=1,e=a[g+
-12>>2]|0,l=(f>>>0)%(e>>>0)|0,a[g+76>>2]=0==(l|0)?e:l,a[b+320>>2]=1,a[b+324>>2]=0;while(0);d=a[b+240>>2]|0;0>=(d|0)||(c=E(a[b+312>>2]|0,d)|0,a[b+236>>2]=65535>(c|0)?c:65535)}function yi(b){b|=0;var d;if(d=a[b+4>>2]|0)ub[a[d+36>>2]&31](b,1),d=b+20|0,a[b+16>>2]|0?(a[d>>2]=200,a[b+312>>2]=0):a[d>>2]=100}function fi(b){b|=0;var d,c;d=b+4|0;if(c=a[d>>2]|0)R[a[c+40>>2]&127](b);a[d>>2]=0;a[b+20>>2]=0}function zf(b){b|=0;b=Aa[a[a[b+4>>2]>>2]&63](b,0,132)|0;a[b+128>>2]=0;return b|0}function Zi(b){b|=0;b=Aa[a[a[b+
-4>>2]>>2]&63](b,0,280)|0;a[b+276>>2]=0;return b|0}function Yg(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m;e=b+20|0;f=a[e>>2]|0;100!=(f|0)&&(g=a[b>>2]|0,a[g+20>>2]=21,a[g+24>>2]=f,R[a[g>>2]&127](b));g=b+88|0;(f=a[g>>2]|0)?m=f:(h=zf(b)|0,m=a[g>>2]=h);if(f=0==(c|0)){c=0;do h=((E(a[118948+(c<<2)>>2]|0,d)|0)+50|0)/100|0,g=1>(h|0)?1:h,w[m+(c<<1)>>1]=32767<(g|0)?32767:g&65535,c=c+1|0;while(64!=(c|0))}else{c=0;do g=((E(a[118948+(c<<2)>>2]|0,d)|0)+50|0)/100|0,h=1>(g|0)?1:g,g=32767<(h|0)?32767:h,w[m+(c<<1)>>1]=255<
-(g|0)?255:g&65535,c=c+1|0;while(64!=(c|0))}a[m+128>>2]=0;m=a[e>>2]|0;100!=(m|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=m,R[a[e>>2]&127](b));e=b+92|0;(m=a[e>>2]|0)?b=m:(c=zf(b)|0,b=a[e>>2]=c);if(f){f=0;do m=((E(a[119204+(f<<2)>>2]|0,d)|0)+50|0)/100|0,c=1>(m|0)?1:m,w[b+(f<<1)>>1]=32767<(c|0)?32767:c&65535,f=f+1|0;while(64!=(f|0))}else{f=0;do c=((E(a[119204+(f<<2)>>2]|0,d)|0)+50|0)/100|0,m=1>(c|0)?1:c,c=32767<(m|0)?32767:m,w[b+(f<<1)>>1]=255<(c|0)?255:c&65535,f=f+1|0;while(64!=(f|0))}a[(b+128|0)>>2]=
-0}function zi(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h;(f=a[d>>2]|0)?h=f:(g=Zi(b)|0,h=a[d>>2]=g);f=h;h=c;g=f+17|0;do t[f>>0]=t[h>>0]|0,f=f+1|0,h=h+1|0;while((f|0)<(g|0));h=(x[c+16>>0]|0)+((x[c+15>>0]|0)+((x[c+14>>0]|0)+((x[c+13>>0]|0)+((x[c+12>>0]|0)+((x[c+11>>0]|0)+((x[c+10>>0]|0)+((x[c+9>>0]|0)+((x[c+8>>0]|0)+((x[c+7>>0]|0)+((x[c+6>>0]|0)+((x[c+5>>0]|0)+((x[c+4>>0]|0)+((x[c+3>>0]|0)+((x[c+2>>0]|0)+(x[c+1>>0]|0)))))))))))))))|0;255>=(h+-1|0)>>>0||(c=a[b>>2]|0,a[c+20>>2]=9,R[a[c>>2]&127](b));Ec((a[d>>
-2]|0)+17|0,e|0,h|0)|0;a[((a[d>>2]|0)+276|0)>>2]=0}function Nh(b){b|=0;var d,c,e,f,g,h;d=b+20|0;c=a[d>>2]|0;switch(c|0){case 200:e=b+460|0;R[a[(a[e>>2]|0)+4>>2]&127](b);R[a[(a[b+24>>2]|0)+8>>2]&127](b);a[d>>2]=201;f=e;break;case 201:f=b+460|0;break;case 210:case 208:case 207:case 206:case 205:case 204:case 203:return b=da[a[a[b+460>>2]>>2]&63](b)|0,b|0;case 202:return 1;default:return e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=c,R[a[e>>2]&127](b),0}e=da[a[a[f>>2]>>2]&63](b)|0;if(1!=(e|0))return e|0;switch(a[b+
-36>>2]|0){case 1:a[b+40>>2]=1;a[b+44>>2]=1;break;case 3:e=a[b+216>>2]|0;f=a[e>>2]|0;c=a[e+88>>2]|0;g=a[e+176>>2]|0;e=1==(f|0);a:do if(e&2==(c|0)&3==(g|0))a[b+40>>2]=3;else if(e&34==(c|0)&35==(g|0))a[b+40>>2]=7;else if(82==(f|0)&71==(c|0)&66==(g|0))a[b+40>>2]=2;else if(114==(f|0)&103==(c|0)&98==(g|0))a[b+40>>2]=6;else if(a[b+284>>2]|0)a[b+40>>2]=3;else if(a[b+296>>2]|0)switch(h=x[b+300>>0]|0,h|0){case 0:a[b+40>>2]=2;break a;case 1:a[b+40>>2]=3;break a;default:c=a[b>>2]|0;a[c+20>>2]=116;a[c+24>>2]=
-h;ub[a[c+4>>2]&31](b,-1);a[b+40>>2]=3;break a}else h=a[b>>2]|0,a[h+24>>2]=f,a[h+28>>2]=c,a[h+32>>2]=g,a[h+20>>2]=113,ub[a[h+4>>2]&31](b,1),a[b+40>>2]=3;while(0);a[b+44>>2]=2;break;case 4:a:do if(a[b+296>>2]|0)switch(g=x[b+300>>0]|0,g|0){case 0:a[b+40>>2]=4;break a;case 2:a[b+40>>2]=5;break a;default:c=a[b>>2]|0;a[c+20>>2]=116;a[c+24>>2]=g;ub[a[c+4>>2]&31](b,-1);a[b+40>>2]=5;break a}else a[b+40>>2]=4;while(0);a[b+44>>2]=4;break;default:a[b+40>>2]=0,a[b+44>>2]=0}c=a[b+428>>2]|0;a[b+48>>2]=c;a[b+52>>
-2]=c;Hb[b+56>>3]=1;a[b+64>>2]=0;a[b+68>>2]=0;a[b+72>>2]=0;a[b+76>>2]=1;a[b+80>>2]=1;a[b+84>>2]=0;a[b+88>>2]=2;a[b+92>>2]=1;a[b+96>>2]=256;a[b+136>>2]=0;a[b+100>>2]=0;a[b+104>>2]=0;a[b+108>>2]=0;a[d>>2]=202;return 1}function $g(b){b|=0;var d,c,e,f,g,h,m,k,l;d=b+340|0;c=a[d>>2]|0;if(1!=(c|0)){3<(c+-1|0)>>>0&&(e=a[b>>2]|0,a[e+20>>2]=27,a[e+24>>2]=c,a[e+28>>2]=4,R[a[e>>2]&127](b));e=b+428|0;c=Gb(a[b+28>>2]|0,E(a[e>>2]|0,a[b+316>>2]|0)|0)|0;a[b+360>>2]=c;c=Gb(a[b+32>>2]|0,E(a[e>>2]|0,a[b+320>>2]|0)|0)|
-0;a[b+364>>2]=c;c=b+368|0;a[c>>2]=0;if(0>=(a[d>>2]|0)){d=a[(b+468|0)>>2]|0;d=a[d>>2]|0;R[d&127](b);d=b+452|0;e=a[d>>2]|0;e=a[e>>2]|0;R[e&127](b);d=a[d>>2]|0;d=a[(d+4|0)>>2]|0;b=a[(b+460|0)>>2]|0;a[b>>2]=d;return}for(f=e=0;;){g=a[b+344+(f<<2)>>2]|0;h=a[g+8>>2]|0;a[g+56>>2]=h;m=a[g+12>>2]|0;a[g+60>>2]=m;k=E(m,h)|0;a[g+64>>2]=k;l=E(a[g+36>>2]|0,h)|0;a[g+68>>2]=l;l=((a[g+28>>2]|0)>>>0)%(h>>>0)|0;a[g+72>>2]=0==(l|0)?h:l;l=((a[g+32>>2]|0)>>>0)%(m>>>0)|0;a[g+76>>2]=0==(l|0)?m:l;10<(k+e|0)&&(l=a[b>>2]|0,
-a[l+20>>2]=14,R[a[l>>2]&127](b));if(0<(k|0))for(l=k;;)if(k=a[c>>2]|0,a[c>>2]=k+1,a[b+372+(k<<2)>>2]=f,1<(l|0))l=l+-1|0;else break;l=f+1|0;k=a[d>>2]|0;if((l|0)>=(k|0)){h=k;break}e=a[c>>2]|0;f=l}if(0<(h|0))g=h;else{d=a[(b+468|0)>>2]|0;d=a[d>>2]|0;R[d&127](b);d=b+452|0;e=a[d>>2]|0;e=a[e>>2]|0;R[e&127](b);d=a[d>>2]|0;d=a[(d+4|0)>>2]|0;b=a[(b+460|0)>>2]|0;a[b>>2]=d;return}}else h=a[b+344>>2]|0,a[b+360>>2]=a[h+28>>2],f=a[h+32>>2]|0,a[b+364>>2]=f,a[h+56>>2]=1,a[h+60>>2]=1,a[h+64>>2]=1,a[h+68>>2]=a[h+36>>
-2],a[h+72>>2]=1,c=a[h+12>>2]|0,e=(f>>>0)%(c>>>0)|0,a[h+76>>2]=0==(e|0)?c:e,a[b+368>>2]=1,a[b+372>>2]=0,g=1;e=b+4|0;c=g;for(g=0;!(h=a[b+344+(g<<2)>>2]|0,f=h+80|0,a[f>>2]|0||(l=a[h+16>>2]|0,h=b+164+(l<<2)|0,3>=l>>>0&&0!=(a[h>>2]|0)||(k=a[b>>2]|0,a[k+20>>2]=54,a[k+24>>2]=l,R[a[k>>2]&127](b)),k=Aa[a[a[e>>2]>>2]&63](b,1,132)|0,Ec(k|0,a[h>>2]|0,132)|0,a[f>>2]=k,c=a[d>>2]|0),g=g+1|0,(g|0)>=(c|0)););d=a[(b+468|0)>>2]|0;d=a[d>>2]|0;R[d&127](b);d=b+452|0;e=a[d>>2]|0;e=a[e>>2]|0;R[e&127](b);d=a[d>>2]|0;d=a[(d+
-4|0)>>2]|0;b=a[(b+460|0)>>2]|0;a[b>>2]=d}function rg(b){b|=0;var d,c,e,f,g,h,m=0,k,l,n,p=0,q=0,y=0,B=0;d=a[b+24>>2]|0;c=d+4|0;e=d+12|0;f=b+464|0;g=a[c>>2]|0;h=a[d>>2]|0;a:for(;;){if(!g){if(!(da[a[e>>2]&63](b)|0)){m=0;e=19;break}h=a[d>>2]|0;g=a[c>>2]|0}k=g+-1|0;l=h+1|0;if(-1==(t[h>>0]|0))h=l;else for(h=k,k=l;;){l=(a[f>>2]|0)+24|0;a[l>>2]=(a[l>>2]|0)+1;a[d>>2]=k;a[c>>2]=h;if(!h){if(!(da[a[e>>2]&63](b)|0)){m=0;e=19;break a}k=a[d>>2]|0;h=a[c>>2]|0}l=h+-1|0;g=k+1|0;if(-1==(t[k>>0]|0)){k=l;h=g;break}else h=
-l,k=g}for(;;){if(k)l=k,g=h;else{if(!(da[a[e>>2]&63](b)|0)){m=0;e=19;break a}l=a[c>>2]|0;g=a[d>>2]|0}k=l+-1|0;h=g+1|0;g=t[g>>0]|0;if(-1!=g<<24>>24){l=h;n=g;break}}g=(a[f>>2]|0)+24|0;h=a[g>>2]|0;if(n<<24>>24){p=k;q=l;y=n;B=h;e=16;break}a[g>>2]=h+2;a[d>>2]=l;g=a[c>>2]=k;h=l}return 16==(e|0)?(l=y&255,B&&(y=a[b>>2]|0,a[y+20>>2]=119,a[y+24>>2]=B,a[y+28>>2]=l,ub[a[y+4>>2]&31](b,-1),a[(a[f>>2]|0)+24>>2]=0),a[b+440>>2]=l,a[d>>2]=q,a[c>>2]=p,1):19==(e|0)?m|0:0}function Uh(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,
-m,k,l,n,p,q,y;l=0;f=(e|0)+c|0;if(13<c>>>0){if(74==(t[d>>0]|0)){if(70==(t[d+1>>0]|0)&&73==(t[d+2>>0]|0)&&70==(t[d+3>>0]|0)&&0==(t[d+4>>0]|0)){a[b+284>>2]=1;e=t[d+5>>0]|0;g=b+288|0;t[g>>0]=e;h=t[d+6>>0]|0;m=b+289|0;t[m>>0]=h;k=t[d+7>>0]|0;l=b+290|0;t[l>>0]=k;n=(x[d+8>>0]<<8|x[d+9>>0])&65535;p=b+292|0;w[p>>1]=n;q=(x[d+10>>0]<<8|x[d+11>>0])&65535;y=b+294|0;w[y>>1]=q;2>(e+-1&255)?c=b:(k=a[b>>2]|0,a[k+20>>2]=122,a[k+24>>2]=e&255,a[k+28>>2]=h&255,ub[a[k+4>>2]&31](b,-1),c=b,e=t[g>>0]|0,h=t[m>>0]|0,n=w[p>>
-1]|0,q=w[y>>1]|0,k=t[l>>0]|0);l=a[b>>2]|0;a[l+24>>2]=e&255;a[l+28>>2]=h&255;a[l+32>>2]=n&65535;a[l+36>>2]=q&65535;a[l+40>>2]=k&255;a[l+20>>2]=89;ub[a[l+4>>2]&31](c,1);l=d+12|0;k=t[l>>0]|0;q=d+13|0;n=t[q>>0]|0;(n|k)<<24>>24?(n=a[b>>2]|0,a[n+20>>2]=92,a[n+24>>2]=x[l>>0],a[n+28>>2]=x[q>>0],ub[a[n+4>>2]&31](c,1),d=t[l>>0]|0,l=t[q>>0]|0):(d=k,l=n);q=f+-14|0;if((q|0)==(E(3*(d&255)|0,l&255)|0))return;l=a[b>>2]|0;a[l+20>>2]=90;a[l+24>>2]=q;ub[a[l+4>>2]&31](c,1);return}l=16}}else 5<c>>>0&&74==(t[d>>0]|0)&&
-(l=16);if(16==(l|0)&&70==(t[d+1>>0]|0)&&88==(t[d+2>>0]|0)&&88==(t[d+3>>0]|0)&&0==(t[d+4>>0]|0))switch(l=d+5|0,x[l>>0]|0){case 16:d=a[b>>2]|0;a[d+20>>2]=110;a[d+24>>2]=f;ub[a[d+4>>2]&31](b,1);return;case 17:d=a[b>>2]|0;a[d+20>>2]=111;a[d+24>>2]=f;ub[a[d+4>>2]&31](b,1);return;case 19:d=a[b>>2]|0;a[d+20>>2]=112;a[d+24>>2]=f;ub[a[d+4>>2]&31](b,1);return;default:d=a[b>>2]|0;a[d+20>>2]=91;a[d+24>>2]=x[l>>0];a[d+28>>2]=f;ub[a[d+4>>2]&31](b,1);return}d=a[b>>2]|0;a[d+20>>2]=79;a[d+24>>2]=f;ub[a[d+4>>2]&31](b,
-1)}function Ai(b,d,c,e){b|=0;var f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C=0,u=0;f=a[b+24>>2]|0;g=a[f>>2]|0;h=f+4|0;m=a[h>>2]|0;a[b+220>>2]=d|0;a[b+224>>2]=c|0;a[b+228>>2]=e|0;if(m)l=m,n=g;else if(da[a[f+12>>2]&63](b)|0)l=a[h>>2]|0,n=a[f>>2]|0;else return 0;g=l+-1|0;l=n+1|0;m=(x[n>>0]|0)<<8;if(g)n=g,p=l;else if(da[a[f+12>>2]&63](b)|0)n=a[h>>2]|0,p=a[f>>2]|0;else return 0;l=n+-1|0;n=p+1|0;g=x[p>>0]|0|m;if(l)m=l,q=n;else if(da[a[f+12>>2]&63](b)|0)m=a[h>>2]|0,q=a[f>>2]|0;else return 0;n=m+-1|0;m=q+1|0;a[b+212>>
-2]=x[q>>0];if(n)y=n,k=m;else if(da[a[f+12>>2]&63](b)|0)y=a[h>>2]|0,k=a[f>>2]|0;else return 0;m=y+-1|0;y=k+1|0;n=(x[k>>0]|0)<<8;k=b+32|0;a[k>>2]=n;if(m)l=n,B=m,H=y;else if(da[a[f+12>>2]&63](b)|0)l=a[k>>2]|0,B=a[h>>2]|0,H=a[f>>2]|0;else return 0;y=B+-1|0;B=H+1|0;a[k>>2]=l+(x[H>>0]|0);if(y)d=y,H=B;else if(da[a[f+12>>2]&63](b)|0)d=a[h>>2]|0,H=a[f>>2]|0;else return 0;B=d+-1|0;d=H+1|0;y=(x[H>>0]|0)<<8;H=b+28|0;a[H>>2]=y;if(B)t=y,c=B,y=d;else if(da[a[f+12>>2]&63](b)|0)t=a[H>>2]|0,c=a[h>>2]|0,y=a[f>>2]|0;
-else return 0;d=c+-1|0;c=y+1|0;a[H>>2]=t+(x[y>>0]|0);if(d)e=d,z=c;else if(da[a[f+12>>2]&63](b)|0)e=a[h>>2]|0,z=a[f>>2]|0;else return 0;c=b+36|0;a[c>>2]=x[z>>0];d=g+-8|0;g=a[b>>2]|0;a[g+24>>2]=a[b+440>>2];a[g+28>>2]=a[H>>2];a[g+32>>2]=a[k>>2];a[g+36>>2]=a[c>>2];a[g+20>>2]=102;ub[a[g+4>>2]&31](b,1);g=b+464|0;a[(a[g>>2]|0)+16>>2]|0&&(y=a[b>>2]|0,a[y+20>>2]=61,R[a[y>>2]&127](b));0!=(a[k>>2]|0)&&0!=(a[H>>2]|0)&&(H=a[c>>2]|0,1<=(H|0))?Q=H:(H=a[b>>2]|0,a[H+20>>2]=33,R[a[H>>2]&127](b),Q=a[c>>2]|0);(d|0)!=
-(3*Q|0)&&(Q=a[b>>2]|0,a[Q+20>>2]=12,R[a[Q>>2]&127](b));Q=b+216|0;a[Q>>2]|0||(d=Aa[a[a[b+4>>2]>>2]&63](b,1,88*(a[c>>2]|0)|0)|0,a[Q>>2]=d);d=e+-1|0;e=z+1|0;a:do if(0<(a[c>>2]|0)){z=f+12|0;H=d;k=0;for(y=e;;){if(H)B=H;else{if(!(da[a[z>>2]&63](b)|0)){k=0;z=55;break}B=a[h>>2]|0;y=a[f>>2]|0}t=B+-1|0;B=y+1|0;y=x[y>>0]|0;H=a[Q>>2]|0;b:do if(0<(k|0)){l=H;for(m=0;(y|0)!=(a[l>>2]|0);)if(m=m+1|0,n=l+88|0,(m|0)>=(k|0)){l=y;m=n;break b}else l=n;l=a[H>>2]|0;m=H+88|0;if(1<(k|0)){n=H;q=l;l=m;for(m=1;;)if(p=a[n+88>>
-2]|0,n=(p|0)>(q|0)?p:q,m=m+1|0,(m|0)==(k|0)){m=n;break}else p=l,q=n,l=l+88|0,n=p;l=m;m=H+(88*k|0)|0}l=l+1|0}else l=y,m=H;while(0);a[m>>2]=l;a[m+4>>2]=k;if(t)y=t;else{if(!(da[a[z>>2]&63](b)|0)){k=0;z=55;break}y=a[h>>2]|0;B=a[f>>2]|0}H=y+-1|0;y=B+1|0;n=x[B>>0]|0;l=m+8|0;a[l>>2]=n>>>4;q=m+12|0;a[q>>2]=n&15;if(H)B=H,t=y;else{if(!(da[a[z>>2]&63](b)|0)){k=0;z=55;break}B=a[h>>2]|0;t=a[f>>2]|0}y=m+16|0;a[y>>2]=x[t>>0];H=a[b>>2]|0;a[H+24>>2]=a[m>>2];a[H+28>>2]=a[l>>2];a[H+32>>2]=a[q>>2];a[H+36>>2]=a[y>>2];
-a[H+20>>2]=103;ub[a[H+4>>2]&31](b,1);k=k+1|0;H=B+-1|0;y=t+1|0;if((k|0)>=(a[c>>2]|0)){C=H;u=y;break a}}if(55==(z|0))return k|0}else C=d,u=e;while(0);a[(a[g>>2]|0)+16>>2]=1;a[f>>2]=u;a[h>>2]=C;return 1}function vh(b){b|=0;var d,c;if(a[b+308>>2]|0)return 0;switch(a[b+40>>2]|0){case 7:case 3:break;default:return 0}if(3!=(a[b+36>>2]|0)||2!=(a[b+44>>2]|0)||3!=(a[b+120>>2]|0)||a[b+304>>2]|0)return 0;d=a[b+216>>2]|0;if(2!=(a[d+8>>2]|0)||1!=(a[d+96>>2]|0)||1!=(a[d+184>>2]|0)||2<(a[d+12>>2]|0)||1!=(a[d+100>>
-2]|0)||1!=(a[d+188>>2]|0))return 0;c=a[d+36>>2]|0;if((c|0)!=(a[b+324>>2]|0)||(a[d+124>>2]|0)!=(c|0)||(a[d+212>>2]|0)!=(c|0))return 0;c=a[d+40>>2]|0;return(c|0)!=(a[b+328>>2]|0)?0:(a[d+128>>2]|0)==(c|0)?(a[d+216>>2]|0)==(c|0)|0:0}function Fg(b){b|=0;a[b>>2]=47;a[b+4>>2]=11;a[b+8>>2]=48;a[b+12>>2]=12;a[b+16>>2]=49;a[b+104>>2]=0;a[b+108>>2]=0;a[b+20>>2]=0;a[b+112>>2]=119460;a[b+116>>2]=126;a[b+120>>2]=0;a[b+124>>2]=0;a[b+128>>2]=0;return b|0}function Lh(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q;d=a[b+484>>
-2]|0;c=1==(a[b+88>>2]|0);a[d+28>>2]=c&1;e=b+120|0;f=rb[a[(a[b+4>>2]|0)+8>>2]&63](b,1,c?766:256,a[e>>2]|0)|0;b=d+24|0;a[b>>2]=f;if(!(0>=(a[e>>2]|0))){f=a[d+20>>2]|0;g=0;do{h=a[d+32+(g<<2)>>2]|0;f=(f|0)/(h|0)|0;c&&(m=(a[b>>2]|0)+(g<<2)|0,a[m>>2]=(a[m>>2]|0)+255);m=a[(a[b>>2]|0)+(g<<2)>>2]|0;k=h+-1|0;l=k<<1;n=0;p=(h+254|0)/(l|0)|0;for(h=0;;){if((n|0)>(p|0))for(q=h;;)if(h=q+1|0,p=((255*(h<<1|1)|0)+k|0)/(l|0)|0,(n|0)>(p|0))q=h;else break;q=(E(h,f)|0)&255;t[m+n>>0]=q;n=n+1|0;if(256==(n|0))break}if(c){h=
-m+255|0;p=1;do t[m+(0-p)>>0]=t[m>>0]|0,t[m+(p+255)>>0]=t[h>>0]|0,p=p+1|0;while(256!=(p|0))}g=g+1|0}while((g|0)<(a[e>>2]|0))}}function Mh(b){b|=0;var d,c,e;d=a[b+484>>2]|0;c=Aa[a[a[b+4>>2]>>2]&63](b,1,2044)|0;b=c+1020|0;a[d+40>>2]=b;a[b>>2]=0;a[c+1024>>2]=1;a[c+1016>>2]=-1;a[c+1028>>2]=2;a[c+1012>>2]=-2;a[c+1032>>2]=3;a[c+1008>>2]=-3;a[c+1036>>2]=4;a[c+1004>>2]=-4;a[c+1040>>2]=5;a[c+1E3>>2]=-5;a[c+1044>>2]=6;a[c+996>>2]=-6;a[c+1048>>2]=7;a[c+992>>2]=-7;a[c+1052>>2]=8;a[c+988>>2]=-8;a[c+1056>>2]=9;
-a[c+984>>2]=-9;a[c+1060>>2]=10;a[c+980>>2]=-10;a[c+1064>>2]=11;a[c+976>>2]=-11;a[c+1068>>2]=12;a[c+972>>2]=-12;a[c+1072>>2]=13;a[c+968>>2]=-13;a[c+1076>>2]=14;a[c+964>>2]=-14;a[c+1080>>2]=15;a[c+960>>2]=-15;for(d=c=16;;)if(a[b+(c<<2)>>2]=d,a[b+(0-c<<2)>>2]=0-d,c=c+1|0,d=(c&1^1)+d|0,48==(c|0)){e=d;break}d=0-e|0;c=48;do a[b+(c<<2)>>2]=e,a[b+(0-c<<2)>>2]=d,c=c+1|0;while(256!=(c|0))}function Hg(b,d,c,e){b|=0;var f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,Ra,V,r,J,I,G,L,K,v,fd,O,M,T,X,P,Oa;f=u;u=u+1408|0;g=f+1152|
-0;h=f+1024|0;m=a[(a[b+484>>2]|0)+24>>2]|0;k=(d|0)>>2;d=(c|0)>>3;c=(e|0)>>2;e=k<<5;l=e|4;n=d<<5;p=n|2;q=c<<5;y=q|4;B=a[b+132>>2]|0;H=e|28;e=H+l>>1;ka=n|30;n=ka+p>>1;z=q|28;q=z+y>>1;if(0<(B|0)){Q=a[b+136>>2]|0;C=a[Q>>2]|0;Ra=a[Q+4>>2]|0;V=a[Q+8>>2]|0;Q=0;for(r=2147483647;;)if(J=x[C+Q>>0]|0,(J|0)>=(l|0)?(J|0)>(H|0)?(I=J-H<<1,G=J-l<<1,L=E(G,G)|0,K=E(I,I)|0):(I=(J|0)>(e|0)?J-l<<1:J-H<<1,L=E(I,I)|0,K=0):(I=J-l<<1,G=J-H<<1,L=E(G,G)|0,K=E(I,I)|0),J=x[Ra+Q>>0]|0,(J|0)>=(p|0)?(J|0)>(ka|0)?(I=3*(J-ka|0)|0,G=
-3*(J-p|0)|0,v=E(G,G)|0,fd=(E(I,I)|0)+K|0):(I=(J|0)>(n|0)?3*(J-p|0)|0:3*(J-ka|0)|0,v=E(I,I)|0,fd=K):(I=3*(J-p|0)|0,G=3*(J-ka|0)|0,v=E(G,G)|0,fd=(E(I,I)|0)+K|0),J=v+L|0,I=x[V+Q>>0]|0,(I|0)>=(y|0)?(I|0)>(z|0)?(G=I-z|0,O=I-y|0,M=E(O,O)|0,T=(E(G,G)|0)+fd|0):(G=(I|0)>(q|0)?I-y|0:I-z|0,M=E(G,G)|0,T=fd):(G=I-y|0,O=I-z|0,M=E(O,O)|0,T=(E(G,G)|0)+fd|0),I=J+M|0,a[f+(Q<<2)>>2]=T,G=(I|0)<(r|0)?I:r,Q=Q+1|0,(Q|0)==(B|0)){X=G;break}else r=G;for(Q=r=0;;)if((a[f+(r<<2)>>2]|0)>(X|0)?P=Q:(t[g+Q>>0]=r,P=Q+1|0),r=r+1|0,
-(r|0)==(B|0)){Oa=P;break}else Q=P}else Oa=0;P=f;for(Q=127;;)if(a[P>>2]=2147483647,0<(Q|0))P=P+4|0,Q=Q+-1|0;else break;if(0<(Oa|0)){Q=b+136|0;b=h+32|0;P=f+128|0;B=h+64|0;r=f+256|0;X=h+96|0;T=f+384|0;M=0;do{fd=t[g+M>>0]|0;z=fd&255;q=a[Q>>2]|0;V=l-(x[(a[q>>2]|0)+z>>0]|0)|0;L=V<<1;v=E(L,L)|0;L=p-(x[(a[q+4>>2]|0)+z>>0]|0)|0;K=3*L|0;ka=(E(K,K)|0)+v|0;v=y-(x[(a[q+8>>2]|0)+z>>0]|0)|0;z=ka+(E(v,v)|0)|0;ka=V<<6;V=ka+256|0;q=(72*L|0)+144|0;L=v<<4;v=L+64|0;K=L+192|0;n=L+320|0;L=f;Ra=h;H=z;e=7;for(C=q;;)if((H|
-0)<(a[L>>2]|0)&&(a[L>>2]=H,t[Ra>>0]=fd),G=v+H|0,I=L+4|0,(G|0)<(a[I>>2]|0)&&(a[I>>2]=G,t[Ra+1>>0]=fd),I=K+G|0,G=L+8|0,(I|0)<(a[G>>2]|0)&&(a[G>>2]=I,t[Ra+2>>0]=fd),G=n+I|0,I=L+12|0,(G|0)<(a[I>>2]|0)&&(a[I>>2]=G,t[Ra+3>>0]=fd),0<(e|0))L=L+16|0,Ra=Ra+4|0,H=H+C|0,e=e+-1|0,C=C+288|0;else break;C=z+V|0;e=ka+768|0;H=P;Ra=b;L=C;J=7;for(G=q;;)if((L|0)<(a[H>>2]|0)&&(a[H>>2]=L,t[Ra>>0]=fd),I=v+L|0,O=H+4|0,(I|0)<(a[O>>2]|0)&&(a[O>>2]=I,t[Ra+1>>0]=fd),O=K+I|0,I=H+8|0,(O|0)<(a[I>>2]|0)&&(a[I>>2]=O,t[Ra+2>>0]=fd),
-I=n+O|0,O=H+12|0,(I|0)<(a[O>>2]|0)&&(a[O>>2]=I,t[Ra+3>>0]=fd),0<(J|0))H=H+16|0,Ra=Ra+4|0,L=L+G|0,J=J+-1|0,G=G+288|0;else break;G=C+e|0;J=ka+1280|0;L=r;Ra=B;H=G;V=7;for(z=q;;)if((H|0)<(a[L>>2]|0)&&(a[L>>2]=H,t[Ra>>0]=fd),I=v+H|0,O=L+4|0,(I|0)<(a[O>>2]|0)&&(a[O>>2]=I,t[Ra+1>>0]=fd),O=K+I|0,I=L+8|0,(O|0)<(a[I>>2]|0)&&(a[I>>2]=O,t[Ra+2>>0]=fd),I=n+O|0,O=L+12|0,(I|0)<(a[O>>2]|0)&&(a[O>>2]=I,t[Ra+3>>0]=fd),0<(V|0))L=L+16|0,Ra=Ra+4|0,H=H+z|0,V=V+-1|0,z=z+288|0;else break;z=T;V=X;H=G+J|0;Ra=7;for(L=q;;)if((H|
-0)<(a[z>>2]|0)&&(a[z>>2]=H,t[V>>0]=fd),ka=v+H|0,e=z+4|0,(ka|0)<(a[e>>2]|0)&&(a[e>>2]=ka,t[V+1>>0]=fd),e=K+ka|0,ka=z+8|0,(e|0)<(a[ka>>2]|0)&&(a[ka>>2]=e,t[V+2>>0]=fd),ka=n+e|0,e=z+12|0,(ka|0)<(a[e>>2]|0)&&(a[e>>2]=ka,t[V+3>>0]=fd),0<(Ra|0))z=z+16|0,V=V+4|0,H=H+L|0,Ra=Ra+-1|0,L=L+288|0;else break;M=M+1|0}while((M|0)!=(Oa|0))}Oa=k<<2;k=d<<3;d=c<<2;c=a[m+(Oa<<2)>>2]|0;M=d|1;X=M+1|0;T=d|3;B=h;for(r=0;b=r+k|0,w[c+(b<<6)+(d<<1)>>1]=(x[B>>0]|0)+1,w[c+(b<<6)+(M<<1)>>1]=(x[B+1>>0]|0)+1,w[c+(b<<6)+(X<<1)>>1]=
-(x[B+2>>0]|0)+1,w[c+(b<<6)+(T<<1)>>1]=(x[B+3>>0]|0)+1,r=r+1|0,8!=(r|0);)B=B+4|0;B=a[m+((Oa|1)<<2)>>2]|0;r=d|1;T=r+1|0;c=d|3;X=h+32|0;for(M=0;b=M+k|0,w[B+(b<<6)+(d<<1)>>1]=(x[X>>0]|0)+1,w[B+(b<<6)+(r<<1)>>1]=(x[X+1>>0]|0)+1,w[B+(b<<6)+(T<<1)>>1]=(x[X+2>>0]|0)+1,w[B+(b<<6)+(c<<1)>>1]=(x[X+3>>0]|0)+1,M=M+1|0,8!=(M|0);)X=X+4|0;X=a[m+((Oa|2)<<2)>>2]|0;M=d|1;c=M+1|0;B=d|3;T=h+64|0;for(r=0;b=r+k|0,w[X+(b<<6)+(d<<1)>>1]=(x[T>>0]|0)+1,w[X+(b<<6)+(M<<1)>>1]=(x[T+1>>0]|0)+1,w[X+(b<<6)+(c<<1)>>1]=(x[T+2>>0]|
-0)+1,w[X+(b<<6)+(B<<1)>>1]=(x[T+3>>0]|0)+1,r=r+1|0,8!=(r|0);)T=T+4|0;T=a[m+((Oa|3)<<2)>>2]|0;Oa=d|1;m=Oa+1|0;r=d|3;B=h+96|0;for(h=0;X=h+k|0,w[T+(X<<6)+(d<<1)>>1]=(x[B>>0]|0)+1,w[T+(X<<6)+(Oa<<1)>>1]=(x[B+1>>0]|0)+1,w[T+(X<<6)+(m<<1)>>1]=(x[B+2>>0]|0)+1,w[T+(X<<6)+(r<<1)>>1]=(x[B+3>>0]|0)+1,h=h+1|0,8!=(h|0);)B=B+4|0;u=f}function mk(b,d){d|=0;var c,e,f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C;c=a[(a[(b|0)+484>>2]|0)+24>>2]|0;b=a[d>>2]|0;e=d+4|0;f=a[e>>2]|0;g=d+8|0;h=a[g>>2]|0;m=d+12|0;k=a[m>>2]|0;l=d+16|0;n=a[l>>
-2]|0;p=d+20|0;q=a[p>>2]|0;a:do if((b|0)<(f|0)){y=(h|0)>(k|0);B=(n|0)>(q|0);H=b;b:for(;;){if(!y)for(t=a[c+(H<<2)>>2]|0,z=h;;){if(!B)for(Q=n,C=t+(z<<6)+(n<<1)|0;;){if(w[C>>1]|0){C=H;break b}if((Q|0)<(q|0))Q=Q+1|0,C=C+2|0;else break}if((z|0)<(k|0))z=z+1|0;else break}if((H|0)<(f|0))H=H+1|0;else{Q=b;break a}}Q=a[d>>2]=C}else Q=b;while(0);a:do if((f|0)>(Q|0)){b=(h|0)>(k|0);C=(n|0)>(q|0);H=f;b:for(;;){if(!b)for(B=a[c+(H<<2)>>2]|0,y=h;;){if(!C)for(z=n,t=B+(y<<6)+(n<<1)|0;;){if(w[t>>1]|0){B=H;break b}if((z|
-0)<(q|0))z=z+1|0,t=t+2|0;else break}if((y|0)<(k|0))y=y+1|0;else break}if((H|0)>(Q|0))H=H+-1|0;else{y=f;break a}}y=a[e>>2]=B}else y=f;while(0);a:do if((h|0)<(k|0)){f=(y|0)<(Q|0);B=(n|0)>(q|0);e=h;b:for(;;){if(!f)for(H=Q;;){if(!B)for(C=n,b=(a[c+(H<<2)>>2]|0)+(e<<6)+(n<<1)|0;;){if(w[b>>1]|0){t=e;break b}if((C|0)<(q|0))C=C+1|0,b=b+2|0;else break}if((H|0)<(y|0))H=H+1|0;else break}if((e|0)<(k|0))e=e+1|0;else{H=h;break a}}H=a[g>>2]=t}else H=h;while(0);a:do if((k|0)>(H|0)){h=(y|0)<(Q|0);t=(n|0)>(q|0);g=k;
-b:for(;;){if(!h)for(e=Q;;){if(!t)for(B=n,f=(a[c+(e<<2)>>2]|0)+(g<<6)+(n<<1)|0;;){if(w[f>>1]|0){f=g;break b}if((B|0)<(q|0))B=B+1|0,f=f+2|0;else break}if((e|0)<(y|0))e=e+1|0;else break}if((g|0)>(H|0))g=g+-1|0;else{e=k;break a}}e=a[m>>2]=f}else e=k;while(0);a:do if((n|0)<(q|0)){k=(y|0)<(Q|0);f=(e|0)<(H|0);m=n;b:for(;;){if(!k)for(g=Q;;){if(!f)for(t=H,h=(a[c+(g<<2)>>2]|0)+(H<<6)+(m<<1)|0;;){if(w[h>>1]|0){B=m;break b}if((t|0)<(e|0))t=t+1|0,h=h+64|0;else break}if((g|0)<(y|0))g=g+1|0;else break}if((m|0)<
-(q|0))m=m+1|0;else{g=n;break a}}g=a[l>>2]=B}else g=n;while(0);a:do if((q|0)>(g|0)){n=(y|0)<(Q|0);B=(e|0)<(H|0);l=q;b:for(;;){c:do if(!n){if(B)for(m=Q;;)if((m|0)<(y|0))m=m+1|0;else break c;else h=Q;for(;;){m=H;for(f=(a[c+(h<<2)>>2]|0)+(H<<6)+(l<<1)|0;;){if(w[f>>1]|0){f=l;break b}if((m|0)<(e|0))m=m+1|0,f=f+64|0;else break}if((h|0)<(y|0))h=h+1|0;else break}}while(0);if((l|0)>(g|0))l=l+-1|0;else{m=q;break a}}m=a[p>>2]=f}else m=q;while(0);q=y-Q<<4;f=12*(e-H|0)|0;p=m-g<<3;h=(E(f,f)|0)+(E(q,q)|0)+(E(p,p)|
-0)|0;a[d+24>>2]=h;if((y|0)<(Q|0))a[(d+28|0)>>2]=0;else if(h=(m|0)<(g|0),(e|0)<(H|0))a[(d+28|0)>>2]=0;else{k=Q;for(l=0;;){Q=a[c+(k<<2)>>2]|0;if(h)p=l;else for(p=H,q=l;;){f=g;l=q;for(B=Q+(p<<6)+(g<<1)|0;;)if(n=(0!=(w[B>>1]|0)&1)+l|0,(f|0)<(m|0))f=f+1|0,l=n,B=B+2|0;else{l=n;break}if((p|0)<(e|0))p=p+1|0,q=l;else{p=l;break}}if((k|0)<(y|0))k=k+1|0,l=p;else break}a[(d+28|0)>>2]=p}}function Gb(a,d){d|=0;return((a|0)+-1+d|0)/(d|0)|0}function Ch(a,d){d|=0;var c;c=(a|0)+-1+d|0;return c-((c|0)%(d|0)|0)|0}function Dg(b,
-d,c,e,f,g){f|=0;g|=0;if(!(0>=(f|0)))for(c=(c|0)+((e|0)<<2)|0,e=(b|0)+((d|0)<<2)|0,d=f;;)if(Ec(a[c>>2]|0,a[e>>2]|0,g|0)|0,1<(d|0))c=c+4|0,e=e+4|0,d=d+-1|0;else break}function Wg(b){b|=0;var d,c,e,f,g,h,m;d=u;u=u+16|0;c=d+8|0;e=d+12|0;f=b+4|0;g=a[f>>2]=0;a[c>>2]=g;g=Hc(84)|0;g||(h=a[b>>2]|0,a[h+20>>2]=56,a[h+24>>2]=0,R[a[h>>2]&127](b));a[g>>2]=30;a[g+4>>2]=31;a[g+8>>2]=53;a[g+12>>2]=54;a[g+16>>2]=1;a[g+20>>2]=2;a[g+24>>2]=55;a[g+28>>2]=1;a[g+32>>2]=2;a[g+36>>2]=15;a[g+40>>2]=56;a[g+48>>2]=1E9;b=g+44|
-0;a[b>>2]=a[c>>2];a[g+56>>2]=0;a[g+64>>2]=0;a[g+52>>2]=0;a[g+60>>2]=0;a[g+68>>2]=0;a[g+72>>2]=0;a[g+76>>2]=84;a[f>>2]=g;if(g=Xj(161233)|0){t[e>>0]=120;a[d>>2]=c;a[d+4>>2]=e;var k=g,l=d,n;n=u;u=u+16|0;a[n>>2]=l|0;var p=k|0,p=p|0,q,y,B;q=u;u=u+112|0;y=q;B=y+112|0;do a[y>>2]=0,y=y+4|0;while((y|0)<(B|0));a[q+32>>2]=32;a[q+44>>2]=p;a[q+76>>2]=-1;a[q+84>>2]=p;var H;var ka=q,z=161241,Q=n|0,ka=ka|0,z=z|0,Q=Q|0,C=0,Ra=0,V=0,r=0,J=0,I=0,G=0,L=0,K=0,v=0,E=0,O=0,M=0,T=0,X=0,P=0,Oa=0,A=0,D=0,ba=0,N=0,F=0,Mg=0,
-ga=0,Ha=0,ma=0,bc=0,ha=0,Y=0,S=0,pc=0,da=0,Z=0,ca=0,oa=0,sa=0,aa=0,ua=0,Ia=0,Da=0,na=0,Na=0,fa=0,Ca=0,Ga=0,Ea=0,La=0,ja=0,ya=0,Aa=0,ra=0,xb=0,Zb=0,pa=0,jb=0,mc=0,Wa=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,fe=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Ka=0,Ua=0,Qa=0,Jb=0,eb=0,yb=0,cb=0,gc=0,C=u;u=u+304|0;Ra=C+16|0;V=C+8|0;r=C+33|0;J=C;I=C+32|0;G=t[z>>0]|0;b:do if(G<<24>>24){L=ka+
-4|0;K=ka+100|0;v=ka+108|0;E=ka+8|0;O=r+10|0;M=r+33|0;T=V+4|0;X=r+46|0;P=r+94|0;Oa=G;A=0;D=z;F=N=ba=0;c:for(;;){d:do{if(Eg(Oa&255)|0){for(Y=D;;)if(S=Y+1|0,Eg(x[S>>0]|0)|0)Y=S;else{Ua=Y;break}Sf(ka,0);do Y=a[L>>2]|0,Y>>>0<(a[K>>2]|0)>>>0?(a[L>>2]=Y+1,Qa=x[Y>>0]|0):Qa=Jc(ka)|0;while(0!=(Eg(Qa)|0));Y=a[L>>2]|0;a[K>>2]|0?(Mg=Y+-1|0,Jb=a[L>>2]=Mg):Jb=Y;ra=A;xb=Ua;Zb=(a[v>>2]|0)+ba+Jb-(a[E>>2]|0)|0}else{Mg=37==(t[D>>0]|0);e:do if(Mg){ga=D+1|0;Ha=t[ga>>0]|0;f:do switch(Ha<<24>>24){case 37:break e;case 42:ma=
-0;bc=D+2|0;break;default:ha=(Ha&255)+-48|0;if(10>ha>>>0&&36==(t[D+2>>0]|0)){a[Ra>>2]=a[Q>>2];for(Y=ha;;)if(ha=(a[Ra>>2]|0)+3&-4,S=a[ha>>2]|0,a[Ra>>2]=ha+4,1<Y>>>0)Y=Y+-1|0;else{pc=S;break}ma=pc;bc=D+3|0;break f}Y=(a[Q>>2]|0)+3&-4;S=a[Y>>2]|0;a[Q>>2]=Y+4;ma=S;bc=ga}while(0);ga=t[bc>>0]|0;Ha=ga&255;if(10>(Ha+-48|0)>>>0)for(S=Ha,Ha=bc,Y=0;;)if(ha=(10*Y|0)+-48+S|0,da=Ha+1|0,Z=t[da>>0]|0,S=Z&255,10<=(S+-48|0)>>>0){ca=Z;oa=da;sa=ha;break}else Ha=da,Y=ha;else ca=ga,oa=bc,sa=0;109==ca<<24>>24?(Y=oa+1|0,aa=
-t[Y>>0]|0,ua=0!=(ma|0)&1,Ia=Y,na=Da=0):(aa=ca,ua=0,Ia=oa,Da=N,na=F);Y=Ia+1|0;switch(aa&255|0){case 104:Na=(Ha=104==(t[Y>>0]|0))?Ia+2|0:Y;fa=Ha?-2:-1;break;case 108:Na=(Ha=108==(t[Y>>0]|0))?Ia+2|0:Y;fa=Ha?3:1;break;case 106:Na=Y;fa=3;break;case 116:case 122:Na=Y;fa=1;break;case 76:Na=Y;fa=2;break;case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:Na=Ia;fa=0;break;default:Ca=
-ua;Ga=A;Ea=Da;La=na;ja=152;break c}Y=x[Na>>0]|0;S=(Ha=3==(Y&47|0))?Y|32:Y;Y=Ha?1:fa;switch(S|0){case 99:ya=ba;Aa=1>(sa|0)?1:sa;break;case 91:ya=ba;Aa=sa;break;case 110:if(!ma){ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d}switch(Y|0){case -2:t[ma>>0]=ba;ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d;case -1:w[ma>>1]=ba;ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d;case 0:a[ma>>2]=ba;ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d;case 1:a[ma>>2]=ba;ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d;case 3:Ha=ma;a[Ha>>2]=ba;a[Ha+4>>2]=(0>(ba|0))<<31>>
-31;ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d;default:ra=A;xb=Na;Zb=ba;pa=Da;jb=na;break d}default:Sf(ka,0);do Ha=a[L>>2]|0,Ha>>>0<(a[K>>2]|0)>>>0?(a[L>>2]=Ha+1,mc=x[Ha>>0]|0):mc=Jc(ka)|0;while(0!=(Eg(mc)|0));ga=a[L>>2]|0;a[K>>2]|0?(Ha=ga+-1|0,Wa=a[L>>2]=Ha):Wa=ga;ya=(a[v>>2]|0)+ba+Wa-(a[E>>2]|0)|0;Aa=sa}Sf(ka,Aa);Ha=a[L>>2]|0;ga=a[K>>2]|0;if(Ha>>>0<ga>>>0)a[L>>2]=Ha+1,Ta=ga;else{if(0>(Jc(ka)|0)){Ca=ua;Ga=A;Ea=Da;La=na;ja=152;break c}Ta=a[K>>2]|0}Ta&&(a[L>>2]=(a[L>>2]|0)+-1);f:do switch(S|0){case 91:case 99:case 115:ga=
-99==(S|0);g:do if(99==(S&239|0))Va(r|0,-1,257)|0,t[r>>0]=0,115==(S|0)&&(t[M>>0]=0,t[O>>0]=0,t[O+1>>0]=0,t[O+2>>0]=0,t[O+3>>0]=0,t[O+4>>0]=0),Ya=Na;else{Ha=Na+1|0;ha=94==(t[Ha>>0]|0);da=ha&1;Z=ha?Ha:Na;Sa=ha?Na+2|0:Ha;Va(r|0,ha&1|0,257)|0;t[r>>0]=0;switch(t[Sa>>0]|0){case 45:ha=(da^1)&255;mb=t[X>>0]=ha;Db=Z+2|0;break;case 93:ha=(da^1)&255;mb=t[P>>0]=ha;Db=Z+2|0;break;default:mb=(da^1)&255,Db=Sa}for(Sa=Db;;){da=t[Sa>>0]|0;h:do switch(da<<24>>24){case 0:Ca=ua;Ga=A;Ea=Da;La=na;ja=152;break c;case 93:Ya=
-Sa;break g;case 45:Z=Sa+1|0;ha=t[Z>>0]|0;switch(ha<<24>>24){case 93:case 0:cc=45;Za=Sa;break h}Ha=t[Sa+-1>>0]|0;if((Ha&255)<(ha&255)){ia=Ha&255;do ia=ia+1|0,t[r+ia>>0]=mb,Ha=t[Z>>0]|0;while((ia|0)<(Ha&255|0));cc=Ha}else cc=ha;Za=Z;break;default:cc=da,Za=Sa}while(0);t[r+((cc&255)+1)>>0]=mb;Sa=Za+1|0}}while(0);Sa=ga?Aa+1|0:31;da=1==(Y|0);ia=0!=(ua|0);g:do if(da){if(ia)if(Ha=Hc(Sa<<2)|0)qa=Ha;else{Ca=ua;Ga=A;Ea=0;La=Ha;ja=152;break c}else qa=ma;a[V>>2]=0;Ha=a[T>>2]=0;Ja=Sa;ea=qa;h:for(;;){wa=0==(ea|
-0);for(Ma=Ha;;){i:for(;;){xa=a[L>>2]|0;xa>>>0<(a[K>>2]|0)>>>0?(a[L>>2]=xa+1,$a=x[xa>>0]|0):$a=Jc(ka)|0;if(!(t[r+($a+1)>>0]|0)){la=Ma;Ba=ea;break h}t[I>>0]=$a;switch(Mi(J,I,1,V)|0){case -1:Ca=ua;Ga=A;Ea=0;La=ea;ja=152;break c;case -2:break;default:break i}}wa?va=Ma:(a[ea+(Ma<<2)>>2]=a[J>>2],va=Ma+1|0);if(ia&(va|0)==(Ja|0))break;else Ma=va}Ma=Ja<<1|1;wa=qi(ea,Ma<<2)|0;if(!wa){Ca=ua;Ga=A;Ea=0;La=ea;ja=152;break c}Z=Ja;Ja=Ma;ea=wa;Ha=Z}var Ub=V,Ub=Ub|0;if((Ub?0==(a[Ub>>2]|0):1)&1|0)za=la,ta=0,nb=Ba;else{Ca=
-ua;Ga=A;Ea=0;La=Ba;ja=152;break c}}else{if(ia){if(Ha=Hc(Sa)|0)sc=0,gb=Sa,hb=Ha;else{Ca=ua;Ga=A;La=Ea=0;ja=152;break c}for(;;){Ha=sc;do{ea=a[L>>2]|0;ea>>>0<(a[K>>2]|0)>>>0?(a[L>>2]=ea+1,ob=x[ea>>0]|0):ob=Jc(ka)|0;if(!(t[r+(ob+1)>>0]|0)){za=Ha;ta=hb;nb=0;break g}t[hb+Ha>>0]=ob;Ha=Ha+1|0}while((Ha|0)!=(gb|0));Ha=gb<<1|1;if(ea=qi(hb,Ha)|0)Ja=gb,gb=Ha,hb=ea,sc=Ja;else{Ca=ua;Ga=A;Ea=hb;La=0;ja=152;break c}}}if(ma)for(Ja=Ta,ea=0;;){Ha=a[L>>2]|0;Ha>>>0<Ja>>>0?(a[L>>2]=Ha+1,qb=x[Ha>>0]|0):qb=Jc(ka)|0;if(!(t[r+
-(qb+1)>>0]|0)){za=ea;ta=ma;nb=0;break g}t[ma+ea>>0]=qb;Ja=a[K>>2]|0;ea=ea+1|0}else for(Ja=Ta;;){ea=a[L>>2]|0;ea>>>0<Ja>>>0?(a[L>>2]=ea+1,Bb=x[ea>>0]|0):Bb=Jc(ka)|0;if(!(t[r+(Bb+1)>>0]|0)){nb=ta=za=0;break g}Ja=a[K>>2]|0}}while(0);Sa=a[L>>2]|0;a[K>>2]|0?(ea=Sa+-1|0,kb=a[L>>2]=ea):kb=Sa;ea=kb-(a[E>>2]|0)+(a[v>>2]|0)|0;if(!ea){ib=ua;Cb=A;fe=ta;sb=nb;break c}if(!((ea|0)==(Aa|0)|ga^1)){ib=ua;Cb=A;fe=ta;sb=nb;break c}ia&&(a[ma>>2]=da?nb:ta);if(!ga){nb&&(a[nb+(za<<2)>>2]=0);if(!ta){Xa=Ya;Fa=0;Pa=nb;break f}t[ta+
-za>>0]=0}Xa=Ya;Fa=ta;Pa=nb;break;case 120:case 88:case 112:Eb=16;ja=134;break;case 111:Eb=8;ja=134;break;case 117:case 100:Eb=10;ja=134;break;case 105:Eb=0;ja=134;break;case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:vb=+Ki(ka,Y,0);if((a[v>>2]|0)==((a[E>>2]|0)-(a[L>>2]|0)|0)){ib=ua;Cb=A;fe=Da;sb=na;break c}if(ma)switch(Y|0){case 0:W[ma>>2]=vb;Xa=Na;Fa=Da;Pa=na;break f;case 1:Hb[ma>>3]=vb;Xa=Na;Fa=Da;Pa=na;break f;case 2:Hb[ma>>3]=vb;Xa=Na;Fa=Da;Pa=na;break f;default:Xa=Na;Fa=Da;
-Pa=na;break f}else Xa=Na,Fa=Da,Pa=na;break;default:Xa=Na,Fa=Da,Pa=na}while(0);f:do if(134==(ja|0)){ja=0;da=Zh(ka,Eb,0,-1,-1)|0;if((a[v>>2]|0)==((a[E>>2]|0)-(a[L>>2]|0)|0)){ib=ua;Cb=A;fe=Da;sb=na;break c}if(0!=(ma|0)&112==(S|0))a[ma>>2]=da,Xa=Na,Fa=Da,Pa=na;else if(ma)switch(Y|0){case -2:t[ma>>0]=da;Xa=Na;Fa=Da;Pa=na;break f;case -1:w[ma>>1]=da;Xa=Na;Fa=Da;Pa=na;break f;case 0:a[ma>>2]=da;Xa=Na;Fa=Da;Pa=na;break f;case 1:a[ma>>2]=da;Xa=Na;Fa=Da;Pa=na;break f;case 3:ia=ma;a[ia>>2]=da;a[ia+4>>2]=U;Xa=
-Na;Fa=Da;Pa=na;break f;default:Xa=Na;Fa=Da;Pa=na;break f}else Xa=Na,Fa=Da,Pa=na}while(0);ra=(0!=(ma|0)&1)+A|0;xb=Xa;Zb=(a[v>>2]|0)+ya+(a[L>>2]|0)-(a[E>>2]|0)|0;pa=Fa;jb=Pa;break d}while(0);Y=D+(Mg&1)|0;Sf(ka,0);S=a[L>>2]|0;S>>>0<(a[K>>2]|0)>>>0?(a[L>>2]=S+1,tb=x[S>>0]|0):tb=Jc(ka)|0;if((tb|0)!=(x[Y>>0]|0)){bb=tb;Ib=A;Mb=N;Ka=F;ja=21;break c}ra=A;xb=Y;Zb=ba+1|0}pa=N;jb=F}while(0);D=xb+1|0;Oa=t[D>>0]|0;if(Oa<<24>>24)A=ra,ba=Zb,N=pa,F=jb;else{eb=ra;break b}}if(21==(ja|0))if(a[K>>2]|0&&(a[L>>2]=(a[L>>
-2]|0)+-1),0!=(Ib|0)|-1<(bb|0)){eb=Ib;break}else yb=0,cb=Mb,gc=Ka,ja=153;else 152==(ja|0)&&(Ga?(ib=Ca,Cb=Ga,fe=Ea,sb=La):(yb=Ca,cb=Ea,gc=La,ja=153));153==(ja|0)&&(ib=yb,Cb=-1,fe=cb,sb=gc);ib&&(Gc(fe),Gc(sb));eb=Cb}else eb=0;while(0);u=C;H=eb|0;p=H|0;u=q;l=p|0;u=n;if(!(0>=(l|0))){switch(t[e>>0]|0){case 77:case 109:e=1E3*(a[c>>2]|0)|0;m=a[c>>2]=e;break;default:m=a[c>>2]|0}a[b>>2]=1E3*m}}u=d}function ih(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h=0,m=0,k,l=0,n,p;e=a[b+4>>2]|0;999999984<c>>>0&&(f=a[b>>2]|0,a[f+
-20>>2]=56,a[f+24>>2]=1,R[a[f>>2]&127](b));f=c&7;g=(0==(f|0)?0:8-f|0)+c|0;1<d>>>0&&(c=a[b>>2]|0,a[c+20>>2]=15,a[c+24>>2]=d,R[a[c>>2]&127](b));c=e+52+(d<<2)|0;f=a[c>>2]|0;a:do if(f)for(k=f;;){if((a[k+8>>2]|0)>>>0>=g>>>0){l=k;break a}if(n=a[k>>2]|0)k=n;else{h=k;m=8;break}}else h=0,m=8;while(0);do if(8==(m|0)){f=g+16|0;k=0==(h|0);n=a[(k?121244:121252)+(d<<2)>>2]|0;p=999999984-g|0;l=n>>>0>p>>>0?p:n;n=f+l|0;if(p=Hc(n|0)|0)f=n,n=p;else for(p=l;;)if(l=p>>>1,100>p>>>0&&(p=a[b>>2]|0,a[p+20>>2]=56,a[p+24>>2]=
-2,R[a[p>>2]&127](b)),p=f+l|0,n=Hc(p|0)|0){f=p;break}else p=l;p=e+76|0;a[p>>2]=(a[p>>2]|0)+f;a[n>>2]=0;a[n+4>>2]=0;a[n+8>>2]=l+g;k?a[c>>2]=n:a[h>>2]=n;l=n}while(0);n=l+4|0;h=a[n>>2]|0;a[n>>2]=h+g;n=l+8|0;a[n>>2]=(a[n>>2]|0)-g;return l+16+h|0}function nk(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=a[b+4>>2]|0;999999984<c>>>0&&(f=a[b>>2]|0,a[f+20>>2]=56,a[f+24>>2]=3,R[a[f>>2]&127](b));f=c&7;g=(0==(f|0)?0:8-f|0)+c|0;1<d>>>0&&(c=a[b>>2]|0,a[c+20>>2]=15,a[c+24>>2]=d,R[a[c>>2]&127](b));c=g+16|0;f=Hc(c|0)|0;f||(h=
-a[b>>2]|0,a[h+20>>2]=56,a[h+24>>2]=4,R[a[h>>2]&127](b));b=e+76|0;a[b>>2]=(a[b>>2]|0)+c;c=e+60+(d<<2)|0;a[f>>2]=a[c>>2];a[f+4>>2]=g;a[f+8>>2]=0;a[c>>2]=f;return f+16|0}function Xg(b){b|=0;var d=0,c=0,e=0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0,Q=0,C=0,Ra=0,V=0,r=0,J=0,I=0,G=0,L=0,K=0,v=0,E=0,O=0,M=0,T=0,X=0,P=0,Oa=0,A=0,D=0,ba=0,F=0,Te=0,R=0,ga=0,Ha=0,ma=0,bc=0,ha=0,S=0,W=0,pc=0,Nb=0,ca=0,fa=0,oa=0,sa=0,aa=0,ua=0,Ia=0,Da=0,na=0,Na=0,hf=0,Ca=0,Ga=0,Ea=0,La=0,ya=0,ra=0,pa=0,Wa=0,xb=
-0,Zb=0,Ka=0,jb=0,mc=0,Qa=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,fe=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Va=0,Ua=0,ub=0,Jb=0,ab=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,fk=0,pb=0,nd=0,Zd=0,wb=0,Hb=0,Qd=0,zb=0,Ob=0,Tb=0,jf=0,fb=0,Gb=0,Wb=0,Kb=0,lb=0,Lb=0,d=u;u=u+272|0;c=d+248|0;e=d+240|0;f=d+232|0;g=d+224|0;h=d+216|0;m=d+208|0;k=d+200|0;l=d+192|0;n=d+184|0;p=d+176|0;q=d+168|0;y=d+160|0;
-B=d+152|0;H=d+144|0;ka=d+136|0;z=d+128|0;Q=d+120|0;C=d+112|0;Ra=d+104|0;V=d+96|0;r=d+88|0;J=d+80|0;I=d+72|0;G=d+64|0;L=d+56|0;K=d+48|0;v=d+40|0;E=d+32|0;O=d+24|0;M=d+16|0;T=d+8|0;X=d;P=d+256|0;Oa=b+576|0;A=a[Oa>>2]|0;ba=D=A+176|0;F=a[ba>>2]|0;Te=a[ba+4>>2]|0;0==(F|0)&0==(Te|0)?(ba=da[a[b+648>>2]&63](a[b+628>>2]|0)|0,R=U,ga=D,a[ga>>2]=ba,Ha=a[ga+4>>2]=R,ma=ba):(Ha=Te,ma=F);Te=F=A+208|0;ba=a[Te>>2]|0;R=a[Te+4>>2]|0;0==(ba|0)&0==(R|0)||(Ha>>>0>R>>>0|(Ha|0)==(R|0)&ma>>>0>ba>>>0?(ga=Te=A+216|0,D=a[ga>>
-2]|0,bc=a[ga+4>>2]|0,ga=Qb(D|0,bc|0,ba|0,R|0)|0,ha=U,0==(D|0)&0==(bc|0)|ha>>>0>Ha>>>0|(ha|0)==(Ha|0)&ga>>>0>ma>>>0&&(ga=Ic(ma|0,Ha|0,ba|0,R|0)|0,ha=Te,a[ha>>2]=ga,a[ha+4>>2]=U)):(a[F>>2]=0,a[F+4>>2]=0,a[F+8>>2]=0,a[F+12>>2]=0));a[A+1220>>2]=0;a[A+1224>>2]=0;a[A+1228>>2]=a[b+168>>2];ba=R=A+1248|0;a[ba>>2]=0;a[ba+4>>2]=0;ba=A+1256|0;w[ba>>1]=0;Ha=A+1260|0;ma=A+1232|0;F=A+1240|0;ha=A+225|0;ga=A+205|0;Te=0;a:for(;;){if(Te<<16>>16)pc=Te;else{if(!(Fc(A)|0)){S=0;W=324;break}bc=w[ba>>1]|0;if(bc<<16>>16)pc=
-bc;else{W=13;break}}bc=a[Ha>>2]|0;if(-1!=(t[bc>>0]|0)){W=252;break}D=bc+1|0;a[Ha>>2]=D;bc=pc+-1<<16>>16;w[ba>>1]=bc;Nb=D;for(D=bc;;){if(D<<16>>16)ca=D,fa=Nb;else{if(!(Fc(A)|0)){S=0;W=324;break a}bc=w[ba>>1]|0;if(!(bc<<16>>16)){W=20;break a}ca=bc;fa=a[Ha>>2]|0}bc=t[fa>>0]|0;oa=fa+1|0;a[Ha>>2]=oa;sa=ca+-1<<16>>16;w[ba>>1]=sa;if(-1==bc<<24>>24)Nb=oa,D=sa;else{aa=bc;ua=oa;Ia=sa;break}}D=aa&255;b:do switch(D|0){case 216:break;case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:case 254:if(Ia<<
-16>>16)Da=ua,na=Ia;else{if(!(Fc(A)|0)){S=0;W=324;break a}Nb=w[ba>>1]|0;if(!(Nb<<16>>16)){W=27;break a}Da=a[Ha>>2]|0;na=Nb}Nb=t[Da>>0]|0;sa=Da+1|0;a[Ha>>2]=sa;oa=na+-1<<16>>16;w[ba>>1]=oa;bc=(Nb&255)<<8;if(oa<<16>>16)Na=sa,hf=oa;else{if(!(Fc(A)|0)){S=0;W=324;break a}Nb=w[ba>>1]|0;if(!(Nb<<16>>16)){W=32;break a}Na=a[Ha>>2]|0;hf=Nb}oa=t[Na>>0]|0;a[Ha>>2]=Na+1;sa=hf+-1<<16>>16;w[ba>>1]=sa;Nb=oa&255|bc;bc=Nb&65535;if(2>(bc&65535)){W=34;break a}if(2<(bc&65535)&&(bc=Nb+65534|0,Nb=bc&65535,oa=((sa&65535)<
-(Nb&65535)?sa:Nb)&65535,a[Ha>>2]=Na+(oa+1),Nb=(sa&65535)-oa|0,w[ba>>1]=Nb,sa=bc-oa|0,oa=sa&65535,bc=sa&65535,0!=(bc|0))){if(Nb&65535){W=39;break a}Nb=R;sa=a[Nb>>2]|0;Ca=a[Nb+4>>2]|0;Nb=(0>Ca>>>0|0==(Ca|0)&bc>>>0>sa>>>0?sa&65535:oa)&65535;oa=ma;bc=Qb(Nb|0,0,a[oa>>2]|0,a[oa+4>>2]|0)|0;oa=ma;a[oa>>2]=bc;a[oa+4>>2]=U;oa=Ic(sa|0,Ca|0,Nb|0,0)|0;Nb=R;a[Nb>>2]=oa;a[Nb+4>>2]=U;t[F>>0]=0}break;case 221:Nb=a[Oa>>2]|0;oa=Nb+1256|0;Ca=w[oa>>1]|0;if(Ca<<16>>16)Ga=Ca;else{if(!(Fc(Nb)|0)){S=0;W=324;break a}sa=w[oa>>
-1]|0;if(sa<<16>>16)Ga=sa;else{W=44;break a}}Ca=Nb+1260|0;sa=a[Ca>>2]|0;bc=t[sa>>0]|0;Ea=sa+1|0;a[Ca>>2]=Ea;sa=Ga+-1<<16>>16;w[oa>>1]=sa;La=(bc&255)<<8;if(sa<<16>>16)ya=Ea,ra=sa;else{if(!(Fc(Nb)|0)){S=0;W=324;break a}bc=w[oa>>1]|0;if(!(bc<<16>>16)){W=49;break a}ya=a[Ca>>2]|0;ra=bc}sa=t[ya>>0]|0;Ea=ya+1|0;a[Ca>>2]=Ea;bc=ra+-1<<16>>16;w[oa>>1]=bc;if(4!=(sa&255|La|0)){W=51;break a}if(bc<<16>>16)pa=Ea,Wa=bc;else{if(!(Fc(Nb)|0)){S=0;W=324;break a}La=w[oa>>1]|0;if(!(La<<16>>16)){W=56;break a}pa=a[Ca>>2]|
-0;Wa=La}bc=t[pa>>0]|0;Ea=pa+1|0;a[Ca>>2]=Ea;La=Wa+-1<<16>>16;w[oa>>1]=La;sa=(bc&255)<<8;if(La<<16>>16)xb=Ea,Zb=La;else{if(!(Fc(Nb)|0)){S=0;W=324;break a}bc=w[oa>>1]|0;if(!(bc<<16>>16)){W=61;break a}xb=a[Ca>>2]|0;Zb=bc}La=t[xb>>0]|0;a[Ca>>2]=xb+1;w[oa>>1]=Zb+-1<<16>>16;w[Nb+360>>1]=La&255|sa;break;case 219:sa=a[Oa>>2]|0;La=sa+1256|0;Nb=w[La>>1]|0;if(Nb<<16>>16)Ka=Nb;else{if(!(Fc(sa)|0)){S=0;W=324;break a}oa=w[La>>1]|0;if(oa<<16>>16)Ka=oa;else{W=66;break a}}Nb=sa+1260|0;oa=a[Nb>>2]|0;Ca=t[oa>>0]|0;
-Ea=oa+1|0;a[Nb>>2]=Ea;oa=Ka+-1<<16>>16;w[La>>1]=oa;bc=(Ca&255)<<8;if(oa<<16>>16)jb=Ea,mc=oa;else{if(!(Fc(sa)|0)){S=0;W=324;break a}Ca=w[La>>1]|0;if(!(Ca<<16>>16)){W=71;break a}jb=a[Nb>>2]|0;mc=Ca}oa=t[jb>>0]|0;a[Nb>>2]=jb+1;Ea=mc+-1<<16>>16;w[La>>1]=Ea;Ca=oa&255|bc;Qa=0==(t[sa+225>>0]|0);if(3>(Ca&65535)){W=73;break a}bc=Ca+65534|0;Ca=bc&65535;if(Qa)Ta=Ca;else{oa=((Ea&65535)<(Ca&65535)?Ea:Ca)&65535;a[Nb>>2]=jb+(oa+1);Ca=(Ea&65535)-oa|0;w[La>>1]=Ca;Ea=bc-oa|0;oa=Ea&65535;if(!oa)break b;if(Ca&65535){W=
-78;break a}bc=Ca=sa+1248|0;Ya=a[bc>>2]|0;Sa=a[bc+4>>2]|0;bc=(0>Sa>>>0|0==(Sa|0)&oa>>>0>Ya>>>0?Ya&65535:Ea&65535)&65535;oa=Ea=sa+1232|0;mb=Qb(bc|0,0,a[oa>>2]|0,a[oa+4>>2]|0)|0;oa=Ea;a[oa>>2]=mb;a[oa+4>>2]=U;oa=Ic(Ya|0,Sa|0,bc|0,0)|0;bc=Ca;a[bc>>2]=oa;a[bc+4>>2]=U;t[sa+1240>>0]=0;break b}for(;;){if(65>(Ta&65535)){W=81;break a}bc=eb(73)|0;if(!bc){W=83;break a}a[bc>>2]=73;t[bc+4>>0]=-1;t[bc+5>>0]=-37;t[bc+6>>0]=0;t[bc+7>>0]=67;oa=bc+8|0;Ca=w[La>>1]|0;Sa=65;for(Ya=oa;;){if(Ca<<16>>16)cc=Ca;else{if(!(Fc(sa)|
-0)){Db=bc;W=90;break a}mb=w[La>>1]|0;if(mb<<16>>16)cc=mb;else{W=88;break a}}mb=((Sa&65535)>(cc&65535)?cc:Sa)&65535;Ab(Ya,a[Nb>>2]|0,mb);a[Nb>>2]=(a[Nb>>2]|0)+mb;Ca=(N[La>>1]|0)-mb&65535;w[La>>1]=Ca;Ea=(Sa&65535)-mb|0;if(Ea&65535)Sa=Ea&65535,Ya=Ya+mb|0;else break}Ya=x[oa>>0]&15;if(3<Ya>>>0){Za=bc;W=92;break a}Sa=sa+312+(Ya<<2)|0;(Ya=a[Sa>>2]|0)&&ja(Ya);a[Sa>>2]=bc;Sa=(Ta&65535)+65471|0;if(Sa&65535)Ta=Sa&65535;else break}break;case 196:sa=a[Oa>>2]|0;La=sa+1256|0;Nb=w[La>>1]|0;if(Nb<<16>>16)ia=Nb;else{if(!(Fc(sa)|
-0)){S=0;W=324;break a}Sa=w[La>>1]|0;if(Sa<<16>>16)ia=Sa;else{W=99;break a}}Nb=sa+1260|0;Sa=a[Nb>>2]|0;Ya=t[Sa>>0]|0;Ca=Sa+1|0;a[Nb>>2]=Ca;Sa=ia+-1<<16>>16;w[La>>1]=Sa;mb=(Ya&255)<<8;if(Sa<<16>>16)qa=Ca,Ja=Sa;else{if(!(Fc(sa)|0)){S=0;W=324;break a}Ya=w[La>>1]|0;if(!(Ya<<16>>16)){W=104;break a}qa=a[Nb>>2]|0;Ja=Ya}Sa=t[qa>>0]|0;a[Nb>>2]=qa+1;Ca=Ja+-1<<16>>16;w[La>>1]=Ca;Ya=Sa&255|mb;mb=Ya&65535;ea=0==(t[sa+225>>0]|0);if(3>(mb&65535)){W=106;break a}if(!ea){Ea=Ya+65534|0;wa=Ea&65535;Ma=((Ca&65535)<(wa&
-65535)?Ca:wa)&65535;a[Nb>>2]=qa+(Ma+1);wa=(Ca&65535)-Ma|0;w[La>>1]=wa;Ca=Ea-Ma|0;Ma=Ca&65535;if(!Ma)break b;if(wa&65535){W=111;break a}Ea=wa=sa+1248|0;xa=a[Ea>>2]|0;$a=a[Ea+4>>2]|0;Ea=(0>$a>>>0|0==($a|0)&Ma>>>0>xa>>>0?xa&65535:Ca&65535)&65535;Ma=Ca=sa+1232|0;la=Qb(Ea|0,0,a[Ma>>2]|0,a[Ma+4>>2]|0)|0;Ma=Ca;a[Ma>>2]=la;a[Ma+4>>2]=U;Ma=Ic(xa|0,$a|0,Ea|0,0)|0;Ea=wa;a[Ea>>2]=Ma;a[Ea+4>>2]=U;t[sa+1240>>0]=0;break b}Ea=Ya+6|0;Ma=eb(Ea)|0;if(!Ma){W=114;break a}a[Ma>>2]=Ea;t[Ma+4>>0]=-1;t[Ma+5>>0]=-60;t[Ma+
-6>>0]=(mb&65535)>>>8;t[Ma+7>>0]=Sa;Sa=Ya+65534&65535;Ya=Ma+8|0;if(!(Sa<<16>>16)){W=117;break a}mb=w[La>>1]|0;Ea=Sa;for(Sa=Ya;;){if(mb<<16>>16)va=mb;else{if(!(Fc(sa)|0)){Ba=Ma;W=123;break a}wa=w[La>>1]|0;if(wa<<16>>16)va=wa;else{W=121;break a}}wa=((Ea&65535)>(va&65535)?va:Ea)&65535;Ab(Sa,a[Nb>>2]|0,wa);a[Nb>>2]=(a[Nb>>2]|0)+wa;mb=(N[La>>1]|0)-wa&65535;w[La>>1]=mb;$a=(Ea&65535)-wa|0;if($a&65535)Ea=$a&65535,Sa=Sa+wa|0;else break}Sa=t[Ya>>0]|0;Ea=Sa&255;switch(Ea&240|0){case 0:if(3<(Sa&255)){za=Ma;W=
-126;break a}Sa=sa+328+(Ea<<2)|0;(mb=a[Sa>>2]|0)&&ja(mb);a[Sa>>2]=Ma;break b;case 16:Sa=Ea&15;if(3<Sa>>>0){ta=Ma;W=132;break a}Ea=sa+344+(Sa<<2)|0;(Sa=a[Ea>>2]|0)&&ja(Sa);a[Ea>>2]=Ma;break b;default:nb=Ma;W=130;break a}case 195:case 193:case 192:Ea=a[Oa>>2]|0;Sa=Ea+363|0;if(t[Sa>>0]|0){W=137;break a}mb=Ea+225|0;t[mb>>0]|0||(t[Ea+364>>0]=aa);La=Ea+1256|0;Nb=w[La>>1]|0;if(Nb<<16>>16)sc=Nb;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}wa=w[La>>1]|0;if(wa<<16>>16)sc=wa;else{W=143;break a}}Nb=Ea+1260|0;wa=a[Nb>>
-2]|0;$a=t[wa>>0]|0;xa=wa+1|0;a[Nb>>2]=xa;wa=sc+-1<<16>>16;w[La>>1]=wa;la=($a&255)<<8;if(wa<<16>>16)gb=xa,hb=wa;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}$a=w[La>>1]|0;if(!($a<<16>>16)){W=148;break a}gb=a[Nb>>2]|0;hb=$a}wa=t[gb>>0]|0;xa=gb+1|0;a[Nb>>2]=xa;$a=hb+-1<<16>>16;w[La>>1]=$a;Ca=wa&255|la;if(11>(Ca&65535)){ob=mb;W=150;break a}la=Ca+65528&65535;if((la>>>0)%3|0){Bb=mb;W=153;break a}Ca=(la>>>0)/3|0;wa=t[mb>>0]|0;if(0==wa<<24>>24&&(Ca|0)!=(x[Ea+204>>0]|0)){W=157;break a}if($a<<16>>16)kb=xa,ib=$a,
-Cb=wa;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}qb=w[La>>1]|0;if(!(qb<<16>>16)){W=162;break a}kb=a[Nb>>2]|0;ib=qb;Cb=t[mb>>0]|0}wa=t[kb>>0]|0;$a=kb+1|0;a[Nb>>2]=$a;xa=ib+-1<<16>>16;w[La>>1]=xa;fe=0==Cb<<24>>24;if(8!=wa<<24>>24){W=164;break a}if(fe){if(xa<<16>>16)Mb=$a,Va=xa;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}wa=w[La>>1]|0;if(!(wa<<16>>16)){W=175;break a}Mb=a[Nb>>2]|0;Va=wa}xa=t[Mb>>0]|0;$a=Mb+1|0;a[Nb>>2]=$a;wa=Va+-1<<16>>16;w[La>>1]=wa;sb=(xa&255)<<8;if(wa<<16>>16)Ua=$a,ub=wa;else{if(!(Fc(Ea)|0)){S=
-0;W=324;break a}xa=w[La>>1]|0;if(!(xa<<16>>16)){W=180;break a}Ua=a[Nb>>2]|0;ub=xa}wa=t[Ua>>0]|0;$a=Ua+1|0;a[Nb>>2]=$a;xa=ub+-1<<16>>16;w[La>>1]=xa;Fa=wa&255|sb;if(Fa>>>0<(a[Ea+188>>2]|0)>>>0&&Fa>>>0<(a[Ea+200>>2]|0)>>>0){W=183;break a}a[Ea+372>>2]=Fa;if(xa<<16>>16)Jb=$a,ab=xa;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}Fa=w[La>>1]|0;if(!(Fa<<16>>16)){W=188;break a}Jb=a[Nb>>2]|0;ab=Fa}xa=t[Jb>>0]|0;$a=Jb+1|0;a[Nb>>2]=$a;Fa=ab+-1<<16>>16;w[La>>1]=Fa;sb=(xa&255)<<8;if(Fa<<16>>16)yb=$a,cb=Fa;else{if(!(Fc(Ea)|
-0)){S=0;W=324;break a}xa=w[La>>1]|0;if(!(xa<<16>>16)){W=193;break a}yb=a[Nb>>2]|0;cb=xa}Fa=t[yb>>0]|0;$a=yb+1|0;a[Nb>>2]=$a;xa=cb+-1<<16>>16;w[La>>1]=xa;wa=Fa&255|sb;sb=a[Ea+192>>2]|0;if(wa>>>0<sb>>>0&&wa>>>0<(a[Ea+184>>2]|0)>>>0){W=195;break a}if(wa>>>0>sb>>>0){W=197;break a}a[Ea+368>>2]=wa;Eb=$a;vb=xa}else{wa=xa&65535;qb=4>(xa&65535)?wa:4;sb=kb+(qb+1)|0;a[Nb>>2]=sb;Xa=wa-qb|0;wa=Xa&65535;w[La>>1]=wa;Fa=4-qb|0;qb=Fa&65535;if(Pa=Fa&65535){if(Xa&65535){W=169;break a}Fa=Xa=Ea+1248|0;tb=a[Fa>>2]|0;bb=
-a[Fa+4>>2]|0;Fa=(0>bb>>>0|0==(bb|0)&Pa>>>0>tb>>>0?tb&65535:qb)&65535;Pa=qb=Ea+1232|0;Ib=Qb(Fa|0,0,a[Pa>>2]|0,a[Pa+4>>2]|0)|0;Pa=qb;a[Pa>>2]=Ib;a[Pa+4>>2]=U;Pa=Ic(tb|0,bb|0,Fa|0,0)|0;Fa=Xa;a[Fa>>2]=Pa;a[Fa+4>>2]=U;t[Ea+1240>>0]=0}Eb=sb;vb=wa}if(vb<<16>>16)gc=Eb,Ub=vb;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}xa=w[La>>1]|0;if(!(xa<<16>>16)){W=203;break a}gc=a[Nb>>2]|0;Ub=xa}xa=t[gc>>0]|0;a[Nb>>2]=gc+1;$a=Ub+-1<<16>>16;w[La>>1]=$a;if((xa&255|0)!=(Ca|0)){Fb=mb;W=208;break a}c:do if(2<la>>>0)for(xa=Ea+230|
-0,wa=Ea+228|0,sb=Ea+229|0,Fa=$a,Xa=Pa=0;;){if(Fa<<16>>16)fk=Fa;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}bb=w[La>>1]|0;if(bb<<16>>16)fk=bb;else{W=213;break a}}bb=a[Nb>>2]|0;tb=t[bb>>0]|0;a[Nb>>2]=bb+1;bb=fk+-1<<16>>16;w[La>>1]=bb;Ib=t[mb>>0]|0;Ib<<24>>24?pb=bb:(t[Ea+376+Pa>>0]=tb,pb=w[La>>1]|0);if(pb<<16>>16)nd=pb,Zd=Ib;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}bb=w[La>>1]|0;if(!(bb<<16>>16)){W=220;break a}nd=bb;Zd=t[mb>>0]|0}Ib=a[Nb>>2]|0;bb=t[Ib>>0]|0;a[Nb>>2]=Ib+1;w[La>>1]=nd+-1<<16>>16;d:do if(Zd<<
-24>>24)if(Xa<<16>>16)17!=bb<<24>>24&&(t[xa>>0]=1);else{Ib=(bb&255)>>>4;t[wa>>0]=Ib;tb=bb&15;t[sb>>0]=tb;switch(Ib<<24>>24){case 4:case 2:case 1:switch(tb<<24>>24){case 4:case 2:case 1:break d}}t[xa>>0]=1}else if(t[Ea+379+Pa>>0]=bb,!(t[xa>>0]|0))if(!(Xa<<16>>16)){if((bb&255|0)!=(x[wa>>0]<<4|x[sb>>0]|0)){W=231;break a}}else if(17!=bb<<24>>24){W=233;break a}while(0);bb=w[La>>1]|0;if(bb<<16>>16)wb=bb,Hb=Zd;else{if(!(Fc(Ea)|0)){S=0;W=324;break a}tb=w[La>>1]|0;if(!(tb<<16>>16)){W=238;break a}wb=tb;Hb=t[mb>>
-0]|0}bb=a[Nb>>2]|0;tb=t[bb>>0]|0;a[Nb>>2]=bb+1;w[La>>1]=wb+-1<<16>>16;Hb<<24>>24||(t[Ea+382+Pa>>0]=tb);tb=Xa+1<<16>>16;bb=tb&65535;if(bb>>>0>=Ca>>>0){Qd=Hb;break c}Fa=w[La>>1]|0;Pa=bb;Xa=tb}else Qd=t[mb>>0]|0;while(0);Qd<<24>>24||(t[Sa>>0]=1);if(t[ha>>0]|0){S=1;W=324;break a}break;case 218:if(t[ha>>0]|0){S=1;W=324;break a}if(t[ga>>0]|0){W=248;break a}if(!(Oh(b)|0)){S=0;W=324;break a}break;default:zb=D;W=250;break a}while(0);if(-38==aa<<24>>24){W=252;break}Te=w[ba>>1]|0}switch(W|0){case 13:Z(149747,
-148429,2031,149768);break;case 20:Z(149747,148429,2016,149786);break;case 27:Z(149747,148429,2016,149786);break;case 32:Z(149747,148429,2016,149786);break;case 34:if(t[ha>>0]|0)return S=0,u=d,S|0;Y(a[b+628>>2]|0,149800,149823,X);S=0;u=d;return S|0;case 39:Z(149841,148429,2101,149863);break;case 44:Z(149747,148429,2016,149786);break;case 49:Z(149747,148429,2016,149786);break;case 51:return Y(a[b+628>>2]|0,149877,149909,T),S=0,u=d,S|0;case 56:Z(149747,148429,2016,149786);break;case 61:Z(149747,148429,
-2016,149786);break;case 66:Z(149747,148429,2016,149786);break;case 71:Z(149747,148429,2016,149786);break;case 73:if(!Qa)return S=0,u=d,S|0;Y(a[b+628>>2]|0,149941,149973,M);S=0;u=d;return S|0;case 78:Z(149841,148429,2101,149863);break;case 81:return Y(a[b+628>>2]|0,149941,149973,O),S=0,u=d,S|0;case 83:return Y(a[b+628>>2]|0,149941,150005,E),S=0,u=d,S|0;case 88:Z(149747,148429,2073,150019);break;case 90:return ja(Db),S=0,u=d,S|0;case 92:return Y(a[b+628>>2]|0,149941,149973,v),ja(Za),S=0,u=d,S|0;case 99:Z(149747,
-148429,2016,149786);break;case 104:Z(149747,148429,2016,149786);break;case 106:if(!ea)return S=0,u=d,S|0;Y(a[b+628>>2]|0,150034,150066,K);S=0;u=d;return S|0;case 111:Z(149841,148429,2101,149863);break;case 114:return Y(a[b+628>>2]|0,150034,150005,L),S=0,u=d,S|0;case 117:Z(150098,148429,2064,150019);break;case 121:Z(149747,148429,2073,150019);break;case 123:return ja(Ba),S=0,u=d,S|0;case 126:return Y(a[b+628>>2]|0,150034,150066,G),ja(za),S=0,u=d,S|0;case 130:return Y(a[b+628>>2]|0,150034,150066,I),
-ja(nb),S=0,u=d,S|0;case 132:return Y(a[b+628>>2]|0,150034,150066,J),ja(ta),S=0,u=d,S|0;case 137:return Y(a[b+628>>2]|0,150104,149823,r),S=0,u=d,S|0;case 143:Z(149747,148429,2016,149786);break;case 148:Z(149747,148429,2016,149786);break;case 150:if(t[ob>>0]|0)return S=0,u=d,S|0;Y(a[b+628>>2]|0,150104,150136,V);S=0;u=d;return S|0;case 153:if(t[Bb>>0]|0)return S=0,u=d,S|0;Y(a[b+628>>2]|0,150104,150136,Ra);S=0;u=d;return S|0;case 157:return Y(a[b+628>>2]|0,150104,150168,C),S=0,u=d,S|0;case 162:Z(149747,
-148429,2016,149786);break;case 164:if(!fe)return S=0,u=d,S|0;Y(a[b+628>>2]|0,150104,150228,Q);S=0;u=d;return S|0;case 169:Z(149841,148429,2101,149863);break;case 175:Z(149747,148429,2016,149786);break;case 180:Z(149747,148429,2016,149786);break;case 183:return Y(a[b+628>>2]|0,150104,150296,z),S=0,u=d,S|0;case 188:Z(149747,148429,2016,149786);break;case 193:Z(149747,148429,2016,149786);break;case 195:return Y(a[b+628>>2]|0,150104,150345,ka),S=0,u=d,S|0;case 197:return Y(a[b+628>>2]|0,150104,150393,
-H),S=0,u=d,S|0;case 203:Z(149747,148429,2016,149786);break;case 208:if(t[Fb>>0]|0)return S=0,u=d,S|0;Y(a[b+628>>2]|0,150104,150136,B);S=0;u=d;return S|0;case 213:Z(149747,148429,2016,149786);break;case 220:Z(149747,148429,2016,149786);break;case 231:return Y(a[b+628>>2]|0,150104,150455,y),S=0,u=d,S|0;case 233:return Y(a[b+628>>2]|0,150104,150455,q),S=0,u=d,S|0;case 238:Z(149747,148429,2016,149786);break;case 248:Z(150516,148429,1347,149800);break;case 250:return q=a[b+628>>2]|0,a[p>>2]=zb,Y(q,149800,
-150543,p),S=0,u=d,S|0;case 252:if(t[ha>>0]|0)return S=1,u=d,S|0;ha=A+363|0;if(t[ha>>0]|0)return S=1,u=d,S|0;p=a[Oa>>2]|0;q=p+240|0;zb=a[q>>2]|0;y=a[q+4>>2]|0;if(0==(zb|0)&0==(y|0))return Y(a[b+628>>2]|0,150579,150614,n),S=0,u=d,S|0;t[p+1240>>0]=0;n=p+204|0;q=t[n>>0]|0;a:do if(q<<24>>24){B=b+640|0;Fb=b+628|0;H=b+632|0;ka=q;z=0;Q=zb;fe=y;C=0;b:for(;;){Ra=p+240+(z<<3)|0;do if(0==(Q|0)&0==(fe|0))Ob=z+-1|0,W=270;else if(Bb=z+-1|0,0!=C<<24>>24&&(V=p+240+(Bb<<3)|0,(Q|0)==(a[V>>2]|0)?(fe|0)==(a[V+4>>2]|0):
-0))Ob=Bb,W=270;else{if(1<z>>>0){ob=V=0;do{r=p+240+(V<<3)|0;ob=ob+1<<24>>24;if((Q|0)==(a[r>>2]|0)&&(fe|0)==(a[r+4>>2]|0)){W=265;break b}V=ob&255}while((V|0)<(Bb|0))}Bb=eb(73)|0;if(!Bb){W=267;break b}a[Bb>>2]=73;t[Bb+4>>0]=-1;t[Bb+5>>0]=-37;t[Bb+6>>0]=0;t[Bb+7>>0]=67;t[Bb+8>>0]=C;V=Ra;rb[a[B>>2]&63](a[Fb>>2]|0,a[V>>2]|0,a[V+4>>2]|0,0)|0;if(64!=(Aa[a[H>>2]&63](a[Fb>>2]|0,Bb+9|0,64)|0)){S=0;W=324;break b}a[p+312+(z<<2)>>2]=Bb;t[p+382+z>>0]=C;Tb=t[n>>0]|0}while(0);270==(W|0)&&(W=0,t[p+382+z>>0]=t[p+382+
-Ob>>0]|0,Tb=ka);Ra=C+1<<24>>24;Sa=Ra&255;if((Ra&255)>=(Tb&255))break a;Bb=p+240+(Sa<<3)|0;ka=Tb;z=Sa;Q=a[Bb>>2]|0;fe=a[Bb+4>>2]|0;C=Ra}if(265==(W|0))return Y(a[Fb>>2]|0,150579,150634,l),S=0,u=d,S|0;if(267==(W|0))return Y(a[Fb>>2]|0,150579,150005,k),S=0,u=d,S|0;if(324==(W|0))return u=d,S|0}while(0);t[A+364>>0]=-64;k=A+204|0;l=t[k>>0]|0;if(l<<24>>24){Tb=l&255;l=0;do t[A+376+l>>0]=l,l=l+1|0;while(l>>>0<Tb>>>0);jf=t[k>>0]|0}else jf=0;t[A+379>>0]=x[A+228>>0]<<4|x[A+229>>0];if(1<(jf&255)){Tb=1;do t[(Tb&
-255)+(A+379)>>0]=17,Tb=Tb+1<<24>>24;while((Tb&255)<(jf&255))}a[A+368>>2]=a[A+192>>2];a[A+372>>2]=a[A+200>>2];t[ha>>0]=1;ha=a[Oa>>2]|0;jf=ha+264|0;Tb=a[jf>>2]|0;l=a[jf+4>>2]|0;a:do if(0==(Tb|0)&0==(l|0))Y(a[b+628>>2]|0,150664,150614,m);else{t[ha+1240>>0]=0;jf=ha+204|0;p=t[jf>>0]|0;do if(p<<24>>24){Ob=b+640|0;n=b+628|0;y=b+632|0;zb=P+1|0;q=P+2|0;C=P+3|0;fe=P+4|0;Q=P+5|0;z=P+6|0;ka=P+7|0;H=P+8|0;B=P+9|0;Ra=P+10|0;Bb=P+11|0;Sa=P+12|0;V=P+13|0;ob=P+14|0;r=P+15|0;ta=p;J=Tb;nb=l;za=I=0;b:for(;;){do if(0==
-(J|0)&0==(nb|0))fb=I+-1|0,W=296;else if(G=I+-1|0,0!=za<<24>>24&&(Ba=ha+264+(G<<3)|0,(J|0)==(a[Ba>>2]|0)?(nb|0)==(a[Ba+4>>2]|0):0))fb=G,W=296;else{if(1<I>>>0){L=Ba=0;do{K=ha+264+(Ba<<3)|0;L=L+1<<24>>24;if((J|0)==(a[K>>2]|0)&&(nb|0)==(a[K+4>>2]|0)){W=290;break b}Ba=L&255}while((Ba|0)<(G|0))}rb[a[Ob>>2]&63](a[n>>2]|0,J,nb,0)|0;if(16!=(Aa[a[y>>2]&63](a[n>>2]|0,P,16)|0))break a;G=(x[zb>>0]|0)+(x[P>>0]|0)+(x[q>>0]|0)+(x[C>>0]|0)+(x[fe>>0]|0)+(x[Q>>0]|0)+(x[z>>0]|0)+(x[ka>>0]|0)+(x[H>>0]|0)+(x[B>>0]|0)+
-(x[Ra>>0]|0)+(x[Bb>>0]|0)+(x[Sa>>0]|0)+(x[V>>0]|0)+(x[ob>>0]|0)+(x[r>>0]|0)|0;Ba=G+25|0;L=eb(Ba)|0;if(!L){W=293;break b}a[L>>2]=Ba;t[L+4>>0]=-1;t[L+5>>0]=-60;Ba=G+19|0;t[L+6>>0]=Ba>>>8;t[L+7>>0]=Ba;t[L+8>>0]=za;t[L+9>>0]=t[P>>0]|0;t[L+10>>0]=t[zb>>0]|0;t[L+11>>0]=t[q>>0]|0;t[L+12>>0]=t[C>>0]|0;t[L+13>>0]=t[fe>>0]|0;t[L+14>>0]=t[Q>>0]|0;t[L+15>>0]=t[z>>0]|0;t[L+16>>0]=t[ka>>0]|0;t[L+17>>0]=t[H>>0]|0;t[L+18>>0]=t[B>>0]|0;t[L+19>>0]=t[Ra>>0]|0;t[L+20>>0]=t[Bb>>0]|0;t[L+21>>0]=t[Sa>>0]|0;t[L+22>>0]=t[V>>
-0]|0;t[L+23>>0]=t[ob>>0]|0;t[L+24>>0]=t[r>>0]|0;if((Aa[a[y>>2]&63](a[n>>2]|0,L+25|0,G)|0)!=(G|0))break a;a[ha+328+(I<<2)>>2]=L;t[ha+388+I>>0]=I<<4;Gb=t[jf>>0]|0}while(0);296==(W|0)&&(W=0,t[ha+388+I>>0]=t[ha+388+fb>>0]|0,Gb=ta);L=za+1<<24>>24;G=L&255;if((L&255)>=(Gb&255)){W=300;break}Ba=ha+264+(G<<3)|0;ta=Gb;J=a[Ba>>2]|0;nb=a[Ba+4>>2]|0;I=G;za=L}if(290==(W|0)){Y(a[n>>2]|0,150664,150700,h);break a}else if(293==(W|0)){Y(a[n>>2]|0,150664,150005,g);break a}else 300==(W|0)&&(Wb=a[Oa>>2]|0)}else Wb=ha;while(0);
-jf=Wb+288|0;p=a[jf>>2]|0;Fb=a[jf+4>>2]|0;b:do if(0==(p|0)&0==(Fb|0))Y(a[b+628>>2]|0,150731,150614,f);else{t[Wb+1240>>0]=0;jf=Wb+204|0;za=t[jf>>0]|0;c:do if(za<<24>>24){I=b+640|0;nb=b+628|0;J=b+632|0;ta=P+1|0;y=P+2|0;r=P+3|0;ob=P+4|0;V=P+5|0;Sa=P+6|0;Bb=P+7|0;Ra=P+8|0;B=P+9|0;H=P+10|0;ka=P+11|0;z=P+12|0;Q=P+13|0;fe=P+14|0;C=P+15|0;q=p;zb=Fb;Ob=0;L=za;G=0;d:for(;;){do if(0==(q|0)&0==(zb|0))Kb=Ob+-1|0,W=318;else if(Ba=Ob+-1|0,0!=G<<24>>24&&(K=Wb+288+(Ba<<3)|0,(q|0)==(a[K>>2]|0)?(zb|0)==(a[K+4>>2]|0):
-0))Kb=Ba,W=318;else{if(1<Ob>>>0){ea=K=0;do{Za=Wb+288+(K<<3)|0;ea=ea+1<<24>>24;if((q|0)==(a[Za>>2]|0)&&(zb|0)==(a[Za+4>>2]|0)){W=312;break d}K=ea&255}while((K|0)<(Ba|0))}rb[a[I>>2]&63](a[nb>>2]|0,q,zb,0)|0;if(16!=(Aa[a[J>>2]&63](a[nb>>2]|0,P,16)|0))break b;Ba=(x[ta>>0]|0)+(x[P>>0]|0)+(x[y>>0]|0)+(x[r>>0]|0)+(x[ob>>0]|0)+(x[V>>0]|0)+(x[Sa>>0]|0)+(x[Bb>>0]|0)+(x[Ra>>0]|0)+(x[B>>0]|0)+(x[H>>0]|0)+(x[ka>>0]|0)+(x[z>>0]|0)+(x[Q>>0]|0)+(x[fe>>0]|0)+(x[C>>0]|0)|0;K=Ba+25|0;ea=eb(K)|0;if(!ea){W=315;break d}a[ea>>
-2]=K;t[ea+4>>0]=-1;t[ea+5>>0]=-60;K=Ba+19|0;t[ea+6>>0]=K>>>8;t[ea+7>>0]=K;t[ea+8>>0]=Ob|16;t[ea+9>>0]=t[P>>0]|0;t[ea+10>>0]=t[ta>>0]|0;t[ea+11>>0]=t[y>>0]|0;t[ea+12>>0]=t[r>>0]|0;t[ea+13>>0]=t[ob>>0]|0;t[ea+14>>0]=t[V>>0]|0;t[ea+15>>0]=t[Sa>>0]|0;t[ea+16>>0]=t[Bb>>0]|0;t[ea+17>>0]=t[Ra>>0]|0;t[ea+18>>0]=t[B>>0]|0;t[ea+19>>0]=t[H>>0]|0;t[ea+20>>0]=t[ka>>0]|0;t[ea+21>>0]=t[z>>0]|0;t[ea+22>>0]=t[Q>>0]|0;t[ea+23>>0]=t[fe>>0]|0;t[ea+24>>0]=t[C>>0]|0;if((Aa[a[J>>2]&63](a[nb>>2]|0,ea+25|0,Ba)|0)!=(Ba|0))break b;
-a[Wb+344+(Ob<<2)>>2]=ea;ea=Wb+388+Ob|0;t[ea>>0]|=G;lb=t[jf>>0]|0}while(0);318==(W|0)&&(W=0,ea=Wb+388+Ob|0,t[ea>>0]=x[Wb+388+Kb>>0]&15|x[ea>>0],lb=L);ea=G+1<<24>>24;Ba=ea&255;if((ea&255)>=(lb&255))break c;K=Wb+288+(Ba<<3)|0;q=a[K>>2]|0;zb=a[K+4>>2]|0;Ob=Ba;L=lb;G=ea}if(312==(W|0)){Y(a[nb>>2]|0,150731,150767,e);break b}else if(315==(W|0)){Y(a[nb>>2]|0,150731,150005,c);break b}}while(0);jf=t[k>>0]|0;if(1<(jf&255))Lb=1;else return S=1,u=d,S|0;do t[(Lb&255)+(A+385)>>0]=Lb,Lb=Lb+1<<24>>24;while((Lb&255)<
-(jf&255));S=1;u=d;return S|0}while(0);S=0;u=d;return S|0}while(0);S=0;u=d;return S|0;case 324:return u=d,S|0}return 0}function Fc(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,u=0,V=0;c=d=b+1248|0;e=a[c>>2]|0;f=a[c+4>>2]|0;c=b+1240|0;a:do if(0==(e|0)&0==(f|0)){g=b+1220|0;h=b+208|0;m=b+1232|0;k=b+216|0;l=b+1224|0;n=b+1228|0;p=b+176|0;b:for(;;){t[c>>0]=0;c:do switch(a[g>>2]|0){case 0:q=h;y=a[q>>2]|0;B=a[q+4>>2]|0;0==(y|0)&0==(B|0)||(q=m,a[q>>2]=y,a[q+4>>2]=B,B=k,q=a[B+4>>2]|0,y=d,a[y>>2]=a[B>>
-2],a[y+4>>2]=q);a[g>>2]=1;break;case 1:a[g>>2]=2;break;case 2:q=a[b>>2]|0;y=a[q+172>>2]|0;if(!y){g=0;h=32;break b}B=a[q+176>>2]|0;if(!B){g=0;h=32;break b}q=a[l>>2]|0;if((q|0)==(a[n>>2]|0)){a[g>>2]=3;break c}H=y+(q<<3)|0;y=a[H>>2]|0;ka=a[H+4>>2]|0;H=m;a[H>>2]=y;a[H+4>>2]=ka;0==(y|0)&0==(ka|0)||(H=p,z=a[H>>2]|0,Q=a[H+4>>2]|0,Q>>>0>ka>>>0|(Q|0)==(ka|0)&z>>>0>y>>>0?(H=B+(q<<3)|0,B=a[H>>2]|0,C=a[H+4>>2]|0,H=d,a[H>>2]=B,a[H+4>>2]=C,0==(B|0)&0==(C|0)?(H=m,a[H>>2]=0,a[H+4>>2]=0):(H=Qb(y|0,ka|0,B|0,C|0)|0,
-C=U,C>>>0>Q>>>0|(C|0)==(Q|0)&H>>>0>z>>>0&&(H=Ic(z|0,Q|0,y|0,ka|0)|0,Q=d,a[Q>>2]=H,a[Q+4>>2]=U))):(H=m,a[H>>2]=0,a[H+4>>2]=0));a[l>>2]=q+1;break;default:g=0;h=32;break b}while(0);ka=d;y=a[ka>>2]|0;B=a[ka+4>>2]|0;if(!(0==(y|0)&0==(B|0))){u=y;V=B;break a}}if(32==(h|0))return g|0}else u=e,V=f;while(0);t[c>>0]|0?(e=V,f=u):(f=a[b>>2]|0,e=b+1232|0,rb[a[f+640>>2]&63](a[f+628>>2]|0,a[e>>2]|0,a[e+4>>2]|0,0)|0,t[c>>0]=1,c=d,e=a[c+4>>2]|0,f=a[c>>2]|0);u=a[b>>2]|0;V=b+1264|0;c=Aa[a[u+632>>2]&63](a[u+628>>2]|0,
-V,0>e>>>0|0==(e|0)&2048>f>>>0?f&65535:2048)|0;if(!c)return 0;0>=(c|0)&&Z(150888,148429,1944,150892);2049<=(c|0)&&Z(150912,148429,1945,150892);f=(0>(c|0))<<31>>31;e=d;u=a[e>>2]|0;e=a[e+4>>2]|0;f>>>0>e>>>0|(f|0)==(e|0)&c>>>0>u>>>0&&Z(150928,148429,1947,150892);w[b+1256>>1]=c;a[b+1260>>2]=V;V=c&65535;c=Ic(u|0,e|0,V|0,0)|0;e=d;a[e>>2]=c;a[e+4>>2]=U;b=e=b+1232|0;c=Qb(a[b>>2]|0,a[b+4>>2]|0,V|0,0)|0;V=e;a[V>>2]=c;a[V+4>>2]=U;return 1}function Oh(b){b|=0;var d,c,e,f,g=0,h,m,k,l=0,n,p,q=0,y=0,B=0,H=0,ka=0,
-z=0,Q=0,C=0;d=u;u=u+32|0;c=d+16|0;e=d+8|0;f=a[b+576>>2]|0;t[f+225>>0]|0&&Z(150798,148429,1701,150824);if(!(t[f+363>>0]|0))return Y(a[b+628>>2]|0,150824,150856,d),u=d,0;h=f+1256|0;m=w[h>>1]|0;if(m<<16>>16)l=m;else{if(!(Fc(f)|0))return u=d,0;k=w[h>>1]|0;k<<16>>16?l=k:Z(149747,148429,2016,149786)}m=f+1260|0;k=a[m>>2]|0;n=t[k>>0]|0;p=k+1|0;a[m>>2]=p;k=l+-1<<16>>16;w[h>>1]=k;l=(n&255)<<8;if(k<<16>>16)q=p,y=k;else{if(!(Fc(f)|0))return u=d,0;n=w[h>>1]|0;n<<16>>16?(q=a[m>>2]|0,y=n):Z(149747,148429,2016,149786)}k=
-t[q>>0]|0;p=q+1|0;a[m>>2]=p;q=y+-1<<16>>16;w[h>>1]=q;y=f+206|0;n=t[y>>0]|0;if((k&255|l|0)!=(((n&255)<<1)+6|0))return Y(a[b+628>>2]|0,150824,150856,e),u=d,0;if(q<<16>>16)B=p,H=q,ka=n;else{if(!(Fc(f)|0))return u=d,0;e=w[h>>1]|0;e<<16>>16?(B=a[m>>2]|0,H=e,ka=t[y>>0]|0):Z(149747,148429,2016,149786)}n=t[B>>0]|0;q=B+1|0;a[m>>2]=q;B=H+-1<<16>>16;w[h>>1]=B;if(n<<24>>24!=ka<<24>>24)return Y(a[b+628>>2]|0,150824,150856,c),u=d,0;do if(ka<<24>>24){c=f+205|0;b=B;for(H=n=0;;){if(!(b<<16>>16)){if(!(Fc(f)|0)){g=
-0;c=40;break}p=w[h>>1]|0;if(p<<16>>16)b=p;else{c=28;break}}p=a[m>>2]|0;e=t[p>>0]|0;a[m>>2]=p+1;w[h>>1]=b+-1<<16>>16;p=t[c>>0]|0;t[(p&255)+n+(f+385)>>0]=e;e=w[h>>1]|0;if(e<<16>>16)b=e,k=p;else{if(!(Fc(f)|0)){g=0;c=40;break}l=w[h>>1]|0;if(!(l<<16>>16)){c=33;break}b=l;k=t[c>>0]|0}p=a[m>>2]|0;e=t[p>>0]|0;a[m>>2]=p+1;w[h>>1]=b+-1<<16>>16;t[(k&255)+n+(f+388)>>0]=e;e=H+1<<24>>24;p=w[h>>1]|0;if((e&255)<(x[y>>0]|0))b=p,n=e&255,H=e;else{z=p;c=35;break}}if(28==(c|0))Z(149747,148429,2016,149786);else if(33==
-(c|0))Z(149747,148429,2016,149786);else if(35==(c|0))Q=z,C=a[m>>2]|0;else if(40==(c|0))return u=d,g|0}else Q=B,C=q;while(0);q=Q&65535;B=3>(Q&65535)?q:3;a[m>>2]=C+B;C=q-B|0;w[h>>1]=C;h=3-B|0;B=h&65535;if(!B)return u=d,1;C&65535&&Z(149841,148429,2101,149863);q=C=f+1248|0;m=a[q>>2]|0;Q=a[q+4>>2]|0;q=(0>Q>>>0|0==(Q|0)&B>>>0>m>>>0?m&65535:h&65535)&65535;B=h=f+1232|0;c=Qb(q|0,0,a[B>>2]|0,a[B+4>>2]|0)|0;B=h;a[B>>2]=c;a[B+4>>2]=U;B=Ic(m|0,Q|0,q|0,0)|0;q=C;a[q>>2]=B;a[q+4>>2]=U;t[f+1240>>0]=0;u=d;return 1}
-function ok(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m=0,k=0;f=4;g=Hc(40)|0;a[g>>2]=0;g=Xc(b+4|0,1,g|0,f|0)|0;f=U;Wa=b=Wa=0;0!=(b|0)&0!=(pa|0)?((h=db(a[b>>2]|0,g|0,f|0)|0)||Vb(b|0,pa|0),U=pa):h=-1;for(h=1==(h|0)?U:0;;){if(h){m=0;k=6;break}Wa=0;Pg(18,d|0,c|0,e|0)|0;h=Wa;Wa=0;0!=(h|0)&0!=(pa|0)?((b=db(a[h>>2]|0,g|0,f|0)|0)||Vb(h|0,pa|0),U=pa):b=-1;if(1==(b|0))h=U;else break}if(6==(k|0))return Gc(g|0),m|0;m=1;Gc(g|0);return m|0}function Ph(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h=0,m=0;e=4;f=Hc(40)|0;a[f>>2]=
-0;f=Xc(b+4|0,1,f|0,e|0)|0;e=U;Wa=b=Wa=0;0!=(b|0)&0!=(pa|0)?((g=db(a[b>>2]|0,f|0,e|0)|0)||Vb(b|0,pa|0),U=pa):g=-1;for(g=1==(g|0)?U:0;;){if(g){h=0;m=6;break}Wa=0;Pg(17,d|0,c|0,1)|0;g=Wa;Wa=0;0!=(g|0)&0!=(pa|0)?((b=db(a[g>>2]|0,f|0,e|0)|0)||Vb(g|0,pa|0),U=pa):b=-1;if(1==(b|0))g=U;else break}if(6==(m|0))return Gc(f|0),h|0;h=1;Gc(f|0);return h|0}function Bi(b){Vb((a[(b|0)+576>>2]|0)+4|0,1)}function Qh(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,u,V,r=0,w=0,x=0,G=0,L=0,K=0,v=0,E=0,O=0,
-M=0,T=0,X,P=0,Oa=0,A=0,D=0,ba=0,N=0,F=0,R=0,ga=0,S=0,ma=0,Y=0,ha=0,U=0,W=0,da=0;e=b+604|0;f=a[e>>2]|0;g=(a[b+588>>2]|0)+(a[b+592>>2]|0)|0;h=b+608|0;do if(0<(c|0)){m=c;k=d;l=0;n=f;p=0;a:for(;;){q=t[k>>0]|0;y=m+-1|0;k=k+1|0;b:do if(1<(m|0))for(B=y,H=k,ka=1;;){if(q<<24>>24!=(t[H>>0]|0)){z=B;Q=H;H=ka;break b}C=ka+1|0;u=B+-1|0;V=H+1|0;if(1<(B|0))B=u,H=V,ka=C;else{z=u;Q=V;H=C;break}}else z=y,Q=k,H=1;while(0);k=l;y=H;ka=n;H=p;b:for(;;){c:do if(1==(y|0)){do if((ka+2|0)>>>0>=g>>>0)if(1!=(H&-3|0)){a[h>>2]=
-ka-(a[e>>2]|0)+(a[h>>2]|0);if(!(Lc(b)|0)){r=-1;w=48;break a}B=k;V=a[e>>2]|0}else{B=k;a[h>>2]=B-(a[e>>2]|0)+(a[h>>2]|0);if(!(Lc(b)|0)){r=-1;w=48;break a}C=ka;V=C-B|0;u=a[e>>2]|0;if(0<(V|0)){m=B+-1-C|0;l=C+(-2<(m|0)?m:-2)-B|0;B=k;m=u;for(C=V;;)if(t[m>>0]=t[B>>0]|0,1<(C|0))B=B+1|0,m=m+1|0,C=C+-1|0;else break;B=a[e>>2]|0;V=u+(l+2)|0}else V=B=u}else B=k,V=ka;while(0);switch(H|0){case 0:x=B;G=V;w=16;break c;case 1:L=B;K=V;w=21;break c;case 2:v=B;E=V;w=26;break c;case 3:break;default:O=B;M=V;T=H;break b}if(-1!=
-(t[V+-2>>0]|0)){k=B;y=1;ka=V;H=2;continue b}C=t[B>>0]|0;if(126<=(C&255)){k=B;y=1;ka=V;H=2;continue b}m=(C&255)+2|0;t[B>>0]=m;t[V+-2>>0]=t[V+-1>>0]|0;k=B;y=1;ka=V;H=127!=(m&255|0)&1;continue b}else for(m=k,C=ka,B=H;;){do if((C+2|0)>>>0>=g>>>0)if(1!=(B&-3|0)){a[h>>2]=C-(a[e>>2]|0)+(a[h>>2]|0);if(!(Lc(b)|0)){r=-1;w=48;break a}V=m;u=a[e>>2]|0}else{V=m;a[h>>2]=V-(a[e>>2]|0)+(a[h>>2]|0);if(!(Lc(b)|0)){r=-1;w=48;break a}n=C;p=n-V|0;u=a[e>>2]|0;if(0<(p|0)){X=V+-1-n|0;l=n+(-2<(X|0)?X:-2)-V|0;V=m;X=u;for(n=
-p;;)if(t[X>>0]=t[V>>0]|0,1<(n|0))V=V+1|0,X=X+1|0,n=n+-1|0;else break;V=a[e>>2]|0;u=u+(l+2)|0}else V=u}else V=m,u=C;while(0);switch(B|0){case 0:x=V;G=u;w=16;break c;case 1:L=V;K=u;w=21;break c;case 2:v=V;E=u;w=26;break c;case 3:m=V;C=u;B=2;break;default:O=V;M=u;T=B;break b}}while(0);if(16==(w|0)){w=0;if(1>=(y|0)){P=G;w=20;break}if(128>=(y|0)){Oa=x;A=y;D=G;w=19;break}t[G>>0]=-127;t[G+1>>0]=q;k=x;y=y+-128|0;ka=G+2|0;H=2}else if(21==(w|0)){w=0;if(1>=(y|0)){ba=L;N=K;w=25;break}if(128>=(y|0)){F=L;R=y;ga=
-K;w=24;break}t[K>>0]=-127;t[K+1>>0]=q;k=L;y=y+-128|0;ka=K+2|0;H=3}else if(26==(w|0)){w=0;if(1>=(y|0)){S=E;w=31;break}if(128>=(y|0)){ma=v;Y=y;ha=E;w=29;break}t[E>>0]=-127;t[E+1>>0]=q;k=v;y=y+-128|0;ka=E+2|0;H=2}}19==(w|0)?(w=0,t[D>>0]=1-A,t[D+1>>0]=q,O=Oa,M=D+2|0,T=2):20==(w|0)?(w=0,t[P>>0]=0,t[P+1>>0]=q,O=P,M=P+2|0,T=1):24==(w|0)?(w=0,t[ga>>0]=1-R,t[ga+1>>0]=q,O=F,M=ga+2|0,T=3):25==(w|0)?(w=0,H=(t[ba>>0]|0)+1<<24>>24,t[ba>>0]=H,t[N>>0]=q,O=ba,M=N+1|0,T=127!=H<<24>>24&1):29==(w|0)?(w=0,t[ha>>0]=1-
-Y,t[ha+1>>0]=q,O=ma,M=ha+2|0,T=2):31==(w|0)&&(w=0,t[S>>0]=0,t[S+1>>0]=q,O=S,M=S+2|0,T=1);if(0<(z|0))m=z,k=Q,l=O,n=M,p=T;else{U=M;w=46;break}}if(46==(w|0))W=a[e>>2]|0,da=U;else if(48==(w|0))return r|0}else da=W=f;while(0);a[h>>2]=da-W+(a[h>>2]|0);a[e>>2]=da;return 1}function Ci(b){b|=0;var d,c,e,f;d=u;u=u+16|0;(c=a[b+576>>2]|0)||Z(154168,152869,735,152883);if(qe(b,109868,1)|0)return e=b+668|0,f=b+672|0,a[c+44>>2]=a[f>>2],a[f>>2]=25,a[c+48>>2]=a[e>>2],a[e>>2]=26,e=b+676|0,a[c+52>>2]=a[e>>2],a[e>>2]=
-31,e=b+508|0,a[c+56>>2]=a[e>>2],a[e>>2]=39,e=b+516|0,a[c+60>>2]=a[e>>2],a[e>>2]=40,a[c>>2]=1,a[c+24>>2]=0,a[c+40>>2]=0,u=d,1;Y(a[b+628>>2]|0,152883,152901,d);u=d;return 0}function pk(b){b|=0;var d;if(d=a[b+576>>2]|0)return a[b+672>>2]=a[d+44>>2],a[b+668>>2]=a[d+48>>2],a[b+676>>2]=a[d+52>>2],a[b+508>>2]=a[d+56>>2],a[b+516>>2]=a[d+60>>2],1;Z(154168,152869,776,152946);return 0}function Zg(b){b|=0;var d,c,e,f,g,h,m;d=u;u=u+32|0;c=d+16|0;e=d+8|0;f=a[b+576>>2]|0;g=a[f>>2]|0;a:do switch(g|0){case 2:h=w[b+
-84>>1]|0;switch(h<<16>>16){case 32:case 16:case 8:break a}m=a[b+628>>2]|0;a[d>>2]=h&65535;Y(m,153261,153276,d);f=0;u=d;return f|0;case 3:m=w[b+86>>1]|0;if(3!=m<<16>>16)return h=a[b+628>>2]|0,a[e>>2]=m&65535,Y(h,153261,153346,e),f=0,u=d,f|0;break;case 1:return f=1,u=d,f|0;default:return h=a[b+628>>2]|0,a[c>>2]=g,Y(h,153261,153407,c),f=0,u=d,f|0}while(0);a[f+4>>2]=1==(w[b+126>>1]|0)?N[b+98>>1]|0:1;b=a[b+12>>2]&1024?tg(b)|0:Pe(b)|0;a[f+8>>2]=b;u=d;return 0!=(b|0)&1|0}function Rh(b,d,c){d|=0;c|=0;var e,
-f,g,h,m,k=0,l=0,n=0,p=0,q=0,y=0;e=a[(a[(b|0)+576>>2]|0)+4>>2]|0;b=(c|0)/2|0;(c|0)%(e<<1|0)|0&&Z(153208,152869,517,153227);if(!((b|0)<=(e|0)))for(c=b-e|0,b=e+-4|0,f=4<(e|0),g=4-e|0,h=c,m=d+(c+-1<<1)|0;;){switch(e|0){case 4:k=m;l=9;break;case 3:n=m;l=10;break;case 2:p=m;l=11;break;case 1:q=m;l=12;break;case 0:y=m;break;default:if(f){c=b;for(d=m;;)if(k=d+(e<<1)|0,w[k>>1]=(N[k>>1]|0)-(N[d>>1]|0),1<(c|0))c=c+-1|0,d=d+-2|0;else break;k=m+(g<<1)|0}else k=m;l=9}9==(l|0)&&(d=k+(e<<1)|0,w[d>>1]=(N[d>>1]|0)-
-(N[k>>1]|0),n=k+-2|0,l=10);10==(l|0)&&(d=n+(e<<1)|0,w[d>>1]=(N[d>>1]|0)-(N[n>>1]|0),p=n+-2|0,l=11);11==(l|0)&&(d=p+(e<<1)|0,w[d>>1]=(N[d>>1]|0)-(N[p>>1]|0),q=p+-2|0,l=12);12==(l|0)&&(l=0,d=q+(e<<1)|0,w[d>>1]=(N[d>>1]|0)-(N[q>>1]|0),y=q+-2|0);h=h-e|0;if(0>=(h|0))break;else m=y}}function Sh(b,d,c){d|=0;c|=0;var e,f,g,h,m,k=0,l=0,n=0,p=0,q=0,y=0;e=a[(a[(b|0)+576>>2]|0)+4>>2]|0;b=(c|0)/4|0;(c|0)%(e<<2|0)|0&&Z(153179,152869,548,153198);if(!((b|0)<=(e|0)))for(c=b-e|0,b=e+-4|0,f=4<(e|0),g=4-e|0,h=c,m=d+
-(c+-1<<2)|0;;){switch(e|0){case 4:k=m;l=9;break;case 3:n=m;l=10;break;case 2:p=m;l=11;break;case 1:q=m;l=12;break;case 0:y=m;break;default:if(f){c=b;for(d=m;;)if(k=d+(e<<2)|0,a[k>>2]=(a[k>>2]|0)-(a[d>>2]|0),1<(c|0))c=c+-1|0,d=d+-4|0;else break;k=m+(g<<2)|0}else k=m;l=9}9==(l|0)&&(d=k+(e<<2)|0,a[d>>2]=(a[d>>2]|0)-(a[k>>2]|0),n=k+-4|0,l=10);10==(l|0)&&(d=n+(e<<2)|0,a[d>>2]=(a[d>>2]|0)-(a[n>>2]|0),p=n+-4|0,l=11);11==(l|0)&&(d=p+(e<<2)|0,a[d>>2]=(a[d>>2]|0)-(a[p>>2]|0),q=p+-4|0,l=12);12==(l|0)&&(l=0,
-d=q+(e<<2)|0,a[d>>2]=(a[d>>2]|0)-(a[q>>2]|0),y=q+-4|0);h=h-e|0;if(0>=(h|0))break;else m=y}}function Th(b,d,c){d|=0;c|=0;var e,f,g,h=0,m=0,k=0,l=0,n=0,p=0,q;e=a[(a[(b|0)+576>>2]|0)+4>>2]|0;b=(c|0)/2|0;(c|0)%(e<<1|0)|0&&Z(153208,152869,334,153583);if(!((b|0)<=(e|0)))for(c=e+-4|0,f=4<(e|0),g=b-e|0,b=d;;){switch(e|0){case 4:h=b;m=9;break;case 3:k=b;m=10;break;case 2:l=b;m=11;break;case 1:n=b;m=12;break;case 0:p=b;break;default:if(f){d=c;for(q=b;;)if(h=q+(e<<1)|0,w[h>>1]=(N[q>>1]|0)+(N[h>>1]|0),1<(d|0))d=
-d+-1|0,q=q+2|0;else break;h=b+(c<<1)|0}else h=b;m=9}9==(m|0)&&(q=h+(e<<1)|0,w[q>>1]=(N[h>>1]|0)+(N[q>>1]|0),k=h+2|0,m=10);10==(m|0)&&(q=k+(e<<1)|0,w[q>>1]=(N[k>>1]|0)+(N[q>>1]|0),l=k+2|0,m=11);11==(m|0)&&(q=l+(e<<1)|0,w[q>>1]=(N[l>>1]|0)+(N[q>>1]|0),n=l+2|0,m=12);12==(m|0)&&(m=0,q=n+(e<<1)|0,w[q>>1]=(N[n>>1]|0)+(N[q>>1]|0),p=n+2|0);g=g-e|0;if(0>=(g|0))break;else b=p}}function Jg(b,d,c){d|=0;c|=0;var e,f,g,h,m,k=0,l=g=0,n=0,p=0;e=a[(a[(b|0)+576>>2]|0)+4>>2]|0;b=(c|0)/4|0;(c|0)%(e<<2|0)|0&&Z(153179,
-152869,362,153574);if(!((b|0)<=(e|0)))if(c=b-e|0,b=e+-4|0,f=4<(e|0),4==(e|0))for(b=c,g=d;;)if(d=g+16|0,a[d>>2]=(a[d>>2]|0)+(a[g>>2]|0),d=g+20|0,a[d>>2]=(a[d>>2]|0)+(a[g+4>>2]|0),d=g+24|0,a[d>>2]=(a[d>>2]|0)+(a[g+8>>2]|0),d=g+28|0,a[d>>2]=(a[d>>2]|0)+(a[g+12>>2]|0),4<(b|0))b=b+-4|0,g=g+16|0;else break;else for(h=c,m=d;;){switch(e|0){case 0:k=m;break;case 3:g=m;l=11;break;case 2:n=m;l=12;break;case 1:p=m;l=13;break;default:if(f){d=b;for(c=m;;)if(g=c+(e<<2)|0,a[g>>2]=(a[g>>2]|0)+(a[c>>2]|0),1<(d|0))d=
-d+-1|0,c=c+4|0;else break;d=m+(b<<2)|0}else d=m;c=d+(e<<2)|0;a[c>>2]=(a[c>>2]|0)+(a[d>>2]|0);g=d+4|0;l=11}11==(l|0)&&(c=g+(e<<2)|0,a[c>>2]=(a[c>>2]|0)+(a[g>>2]|0),n=g+4|0,l=12);12==(l|0)&&(c=n+(e<<2)|0,a[c>>2]=(a[c>>2]|0)+(a[n>>2]|0),p=n+4|0,l=13);13==(l|0)&&(l=0,c=p+(e<<2)|0,a[c>>2]=(a[c>>2]|0)+(a[p>>2]|0),k=p+4|0);h=h-e|0;if(0>=(h|0))break;else m=k}}function ah(b,d,c,e,f,g,h,m){b|=0;d|=0;e|=0;f|=0;g|=0;h|=0;var k,l,n,p,q,y;if(!h||56!=(m|0)|49!=(t[h>>0]|0))return-6;if(!b)return-2;h=b+24|0;a[h>>2]=
-0;m=b+32|0;(k=a[m>>2]|0)?l=k:(a[m>>2]=29,a[b+40>>2]=0,l=29);k=b+36|0;a[k>>2]|0||(a[k>>2]=6);n=-1==(d|0)?6:d;0>(e|0)?(p=0-e|0,q=0):(p=(d=15<(e|0))?e+-16|0:e,q=d?2:1);if(4<g>>>0|9<n>>>0|8!=(c|0)|8<(f+-1|0)>>>0|8!=(p&-8|0))return-2;c=8==(p|0)?9:p;p=b+40|0;d=Aa[l&63](a[p>>2]|0,1,5828)|0;if(!d)return-4;l=b+28|0;a[l>>2]=d;a[d>>2]=b;a[d+24>>2]=q;a[d+28>>2]=0;a[d+48>>2]=c;q=1<<c;c=d+44|0;a[c>>2]=q;a[d+52>>2]=q+-1;e=f+7|0;a[d+80>>2]=e;y=1<<e;e=d+76|0;a[e>>2]=y;a[d+84>>2]=y+-1;a[d+88>>2]=((f+9|0)>>>0)/3|0;
-y=Aa[a[m>>2]&63](a[p>>2]|0,q,2)|0;q=d+56|0;a[q>>2]=y;y=Aa[a[m>>2]&63](a[p>>2]|0,a[c>>2]|0,2)|0;c=d+64|0;a[c>>2]=y;y=Aa[a[m>>2]&63](a[p>>2]|0,a[e>>2]|0,2)|0;e=d+68|0;a[e>>2]=y;a[d+5824>>2]=0;y=1<<f+6;f=d+5788|0;a[f>>2]=y;m=Aa[a[m>>2]&63](a[p>>2]|0,y,4)|0;a[d+8>>2]=m;y=a[f>>2]|0;a[d+12>>2]=y<<2;if(0!=(a[q>>2]|0)&&0!=(a[c>>2]|0)&&!(0==(a[e>>2]|0)|0==(m|0)))return a[d+5796>>2]=m+(y>>>1<<1),a[d+5784>>2]=m+(3*y|0),a[d+132>>2]=n,a[d+136>>2]=g,t[d+36>>0]=8,k=qk(b)|0,k|0;a[d+4>>2]=666;a[h>>2]=a[27685];h=a[l>>
-2]|0;if(!h)return-4;switch(a[h+4>>2]|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:return-4}(d=a[h+8>>2]|0)?(ub[a[k>>2]&31](a[p>>2]|0,d),b=a[l>>2]|0):b=h;if(d=a[b+68>>2]|0)ub[a[k>>2]&31](a[p>>2]|0,d),b=a[l>>2]|0;if(d=a[b+64>>2]|0)ub[a[k>>2]&31](a[p>>2]|0,d),b=a[l>>2]|0;(d=a[b+56>>2]|0)?(ub[a[k>>2]&31](a[p>>2]|0,d),d=a[l>>2]|0):d=b;ub[a[k>>2]&31](a[p>>2]|0,d);a[l>>2]=0;return-4}function rk(b){b|=0;var d,c,e,f,g;if(!b)return-2;d=b+28|0;c=a[d>>2]|0;if(!c)return-2;e=a[c+
-4>>2]|0;switch(e|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:return-2}if(f=a[c+8>>2]|0)ub[a[b+36>>2]&31](a[b+40>>2]|0,f),c=a[d>>2]|0;(f=a[c+68>>2]|0)?(ub[a[b+36>>2]&31](a[b+40>>2]|0,f),g=a[d>>2]|0):g=c;(f=a[g+64>>2]|0)?(ub[a[b+36>>2]&31](a[b+40>>2]|0,f),c=a[d>>2]|0):c=g;(f=a[c+56>>2]|0)?(c=b+36|0,g=b+40|0,ub[a[c>>2]&31](a[g>>2]|0,f),f=g,b=c,c=a[d>>2]|0):(f=b+40|0,b=b+36|0);ub[a[b>>2]&31](a[f>>2]|0,c);a[d>>2]=0;return(113==(e|0)?-3:0)|0}function qk(b){b|=0;var d,c,e,
-f;if(!b)return-2;d=b+28|0;c=a[d>>2]|0;if(!(c&&a[b+32>>2]|0&&a[b+36>>2]|0))return-2;a[b+20>>2]=0;a[b+8>>2]=0;a[b+24>>2]=0;a[b+44>>2]=2;a[c+20>>2]=0;a[c+16>>2]=a[c+8>>2];e=c+24|0;f=a[e>>2]|0;0>(f|0)&&(f=0-f|0,a[e>>2]=f);e=f;a[c+4>>2]=0!=(e|0)?42:113;e=2==(e|0)?Kd(0,0,0)|0:Si(0,0,0)|0;a[b+48>>2]=e;a[c+40>>2]=0;b=c|0;a[b+2840>>2]=b+148;a[b+2848>>2]=110108;a[b+2852>>2]=b+2440;a[b+2860>>2]=110128;a[b+2864>>2]=b+2684;a[b+2872>>2]=110148;w[b+5816>>1]=0;a[b+5820>>2]=0;og(b);c=a[d>>2]|0;a[c+60>>2]=a[c+44>>
-2]<<1;d=a[c+76>>2]|0;e=a[c+68>>2]|0;w[e+(d+-1<<1)>>1]=0;Va(e|0,0,(d<<1)+-2|0)|0;d=a[c+132>>2]|0;a[c+128>>2]=N[(12*d|0)+109990>>1];a[c+140>>2]=N[109988+(12*d|0)>>1];a[c+144>>2]=N[(12*d|0)+109992>>1];a[c+124>>2]=N[(12*d|0)+109994>>1];a[c+108>>2]=0;a[c+92>>2]=0;a[c+116>>2]=0;a[c+5812>>2]=0;a[c+120>>2]=2;a[c+96>>2]=2;a[c+104>>2]=0;return a[c+72>>2]=0}function bh(b,d,c){b|=0;d|=0;c|=0;var e,f,g;if(!b)return-2;e=a[b+28>>2]|0;if(!e)return-2;f=-1==(d|0)?6:d;if(4<c>>>0|9<f>>>0)return-2;d=e+132|0;g=e+136|0;
-(a[g>>2]|0)==(c|0)&&(a[(12*(a[d>>2]|0)|0)+109996>>2]|0)==(a[(12*f|0)+109996>>2]|0)?b=0:a[b+8>>2]|0?(b=Di(b,5)|0,b=-5==(b|0)?0==(a[e+20>>2]|0)?0:-5:b):b=0;(a[d>>2]|0)!=(f|0)&&(a[d>>2]=f,a[e+128>>2]=N[(12*f|0)+109990>>1],a[e+140>>2]=N[109988+(12*f|0)>>1],a[e+144>>2]=N[(12*f|0)+109992>>1],a[e+124>>2]=N[(12*f|0)+109994>>1]);a[g>>2]=c;return b|0}function Di(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q=0,y,B=0;y=0;var H,ka=0,z=0,Q=0,C=0,u=0,V=0,r=0,J,I,G=0,L=0,K=0,v,E,O,M,T,X=0,P=0,Oa=0,A=0,D,ba=D=0,F=0,R=
-0,S=0,ga=0;if(!b)return-2;c=b+28|0;e=a[c>>2]|0;if(5<d>>>0|0==(e|0))return-2;f=b+12|0;do if(a[f>>2]|0&&(0!=(a[b>>2]|0)||0==(a[b+4>>2]|0))&&(g=e+4|0,h=a[g>>2]|0,m=4!=(d|0),!(m&666==(h|0)))){k=b+16|0;if(!(a[k>>2]|0))return a[b+24>>2]=a[27686],c=-5,c|0;a[e>>2]=b;l=e+40|0;n=a[l>>2]|0;a[l>>2]=d;42==(h|0)?2!=(a[e+24>>2]|0)?(p=(a[e+48>>2]<<12)+-30720|0,y=1>=(a[e+136>>2]|0)&&(q=a[e+132>>2]|0,2<=(q|0))?6>(q|0)?64:6==(q|0)?128:192:0,q=y|p,p=e+108|0,B=0==(a[p>>2]|0)?q:q|32,a[g>>2]=113,q=e+20|0,y=a[q>>2]|0,a[q>>
-2]=y+1,H=e+8|0,t[(a[H>>2]|0)+y>>0]=B>>>8,y=a[q>>2]|0,a[q>>2]=y+1,t[(a[H>>2]|0)+y>>0]=(B|(B>>>0)%31|0)^31,B=b+48|0,a[p>>2]|0&&(p=a[B>>2]|0,y=a[q>>2]|0,a[q>>2]=y+1,t[(a[H>>2]|0)+y>>0]=p>>>24,y=a[q>>2]|0,a[q>>2]=y+1,t[(a[H>>2]|0)+y>>0]=p>>>16,p=a[B>>2]|0,y=a[q>>2]|0,a[q>>2]=y+1,t[(a[H>>2]|0)+y>>0]=p>>>8,y=a[q>>2]|0,a[q>>2]=y+1,t[(a[H>>2]|0)+y>>0]=p),p=Si(0,0,0)|0,a[B>>2]=p,ka=a[g>>2]|0,z=30):(p=Kd(0,0,0)|0,B=b+48|0,a[B>>2]=p,p=e+20|0,y=a[p>>2]|0,a[p>>2]=y+1,H=e+8|0,t[(a[H>>2]|0)+y>>0]=31,y=a[p>>2]|0,
-a[p>>2]=y+1,t[(a[H>>2]|0)+y>>0]=-117,y=a[p>>2]|0,a[p>>2]=y+1,t[(a[H>>2]|0)+y>>0]=8,y=e+28|0,(q=a[y>>2]|0)?(Q=((0!=(a[q+44>>2]|0)?2:0)|0!=(a[q>>2]|0)|(0==(a[q+16>>2]|0)?0:4)|(0==(a[q+28>>2]|0)?0:8)|(0==(a[q+36>>2]|0)?0:16))&255,q=a[p>>2]|0,a[p>>2]=q+1,t[(a[H>>2]|0)+q>>0]=Q,Q=a[(a[y>>2]|0)+4>>2]&255,q=a[p>>2]|0,a[p>>2]=q+1,t[(a[H>>2]|0)+q>>0]=Q,Q=(a[(a[y>>2]|0)+4>>2]|0)>>>8&255,q=a[p>>2]|0,a[p>>2]=q+1,t[(a[H>>2]|0)+q>>0]=Q,Q=(a[(a[y>>2]|0)+4>>2]|0)>>>16&255,q=a[p>>2]|0,a[p>>2]=q+1,t[(a[H>>2]|0)+q>>
-0]=Q,Q=(a[(a[y>>2]|0)+4>>2]|0)>>>24&255,q=a[p>>2]|0,a[p>>2]=q+1,t[(a[H>>2]|0)+q>>0]=Q,Q=a[e+132>>2]|0,q=9==(Q|0)?2:2>(Q|0)||1<(a[e+136>>2]|0)?4:0,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=q,Q=a[(a[y>>2]|0)+12>>2]&255,q=a[p>>2]|0,a[p>>2]=q+1,t[(a[H>>2]|0)+q>>0]=Q,Q=a[y>>2]|0,a[Q+16>>2]|0?(q=a[Q+20>>2]&255,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=q,q=(a[(a[y>>2]|0)+20>>2]|0)>>>8&255,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=q,z=a[y>>2]|0):z=Q,a[z+44>>2]|0&&(q=Kd(a[B>>2]|0,a[H>>2]|0,a[p>>2]|0)|
-0,a[B>>2]=q),a[e+32>>2]=0,a[g>>2]=69,C=y,z=32):(Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=0,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=0,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=0,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=0,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=0,Q=a[e+132>>2]|0,h=9==(Q|0)?2:2>(Q|0)||1<(a[e+136>>2]|0)?4:0,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=h,Q=a[p>>2]|0,a[p>>2]=Q+1,t[(a[H>>2]|0)+Q>>0]=3,a[g>>2]=113)):(ka=h,z=30);30==(z|0)&&(69==(ka|0)?(C=e+28|0,z=32):(u=ka,
-z=53));do if(32==(z|0))if(h=a[C>>2]|0,a[h+16>>2]|0){y=e+20|0;q=a[y>>2]|0;B=e+32|0;p=a[B>>2]|0;a:do if(p>>>0<(a[h+20>>2]&65535)>>>0){H=e+12|0;Q=b+48|0;J=e+8|0;I=b+20|0;G=p;L=q;ka=h;for(K=q;;){if((L|0)==(a[H>>2]|0)){L>>>0>K>>>0&0!=(a[ka+44>>2]|0)&&(v=Kd(a[Q>>2]|0,(a[J>>2]|0)+K|0,L-K|0)|0,a[Q>>2]=v);v=a[c>>2]|0;jd(v);E=v+20|0;O=a[E>>2]|0;M=a[k>>2]|0;T=O>>>0>M>>>0?M:O;0!=(T|0)&&(O=v+16|0,Ec(a[f>>2]|0,a[O>>2]|0,T|0)|0,a[f>>2]=(a[f>>2]|0)+T,a[O>>2]=(a[O>>2]|0)+T,a[I>>2]=(a[I>>2]|0)+T,a[k>>2]=(a[k>>2]|0)-
-T,M=a[E>>2]|0,a[E>>2]=M-T,(M|0)==(T|0))&&(a[O>>2]=a[v+8>>2]);v=a[y>>2]|0;if((v|0)==(a[H>>2]|0)){z=v;break}ka=a[C>>2]|0;O=a[B>>2]|0;z=E=v}else O=G,E=L,z=K;v=t[(a[ka+16>>2]|0)+O>>0]|0;a[y>>2]=E+1;t[(a[J>>2]|0)+E>>0]=v;v=(a[B>>2]|0)+1|0;a[B>>2]=v;O=a[C>>2]|0;if(v>>>0>=(a[O+20>>2]&65535)>>>0){H=O;break a}G=v;L=a[y>>2]|0;ka=O;K=z}H=a[C>>2]|0}else H=h,z=q;while(0);0!=(a[H+44>>2]|0)&&(q=a[y>>2]|0,q>>>0>z>>>0)?(h=b+48|0,p=Kd(a[h>>2]|0,(a[e+8>>2]|0)+z|0,q-z|0)|0,a[h>>2]=p,z=a[C>>2]|0):z=H;(a[B>>2]|0)==(a[z+
-20>>2]|0)?(a[B>>2]=0,a[g>>2]=73,V=C,r=z,z=55):(u=a[g>>2]|0,z=53)}else a[g>>2]=73,V=C,r=h,z=55;while(0);53==(z|0)&&(73==(u|0)?(V=p=e+28|0,r=a[p>>2]|0,z=55):(X=u,z=73));do if(55==(z|0))if(a[r+28>>2]|0){p=e+20|0;h=a[p>>2]|0;q=e+12|0;K=b+48|0;ka=e+8|0;L=b+20|0;G=e+32|0;for(H=J=h;;){if((J|0)==(a[q>>2]|0))if(J>>>0>H>>>0&&0!=(a[(a[V>>2]|0)+44>>2]|0)&&(h=Kd(a[K>>2]|0,(a[ka>>2]|0)+H|0,J-H|0)|0,a[K>>2]=h),h=a[c>>2]|0,jd(h),I=h+20|0,Q=a[I>>2]|0,O=a[k>>2]|0,v=Q>>>0>O>>>0?O:Q,0!=(v|0)&&(Q=h+16|0,Ec(a[f>>2]|0,
-a[Q>>2]|0,v|0)|0,a[f>>2]=(a[f>>2]|0)+v,a[Q>>2]=(a[Q>>2]|0)+v,a[L>>2]=(a[L>>2]|0)+v,a[k>>2]=(a[k>>2]|0)-v,O=a[I>>2]|0,a[I>>2]=O-v,(O|0)==(v|0))&&(a[Q>>2]=a[h+8>>2]),h=a[p>>2]|0,(h|0)==(a[q>>2]|0)){z=1;break}else z=O=h;else O=J,z=H;h=a[G>>2]|0;a[G>>2]=h+1;Q=t[(a[(a[V>>2]|0)+28>>2]|0)+h>>0]|0;a[p>>2]=O+1;t[(a[ka>>2]|0)+O>>0]=Q;if(!(Q<<24>>24)){h=z;z=Q&255;break}J=a[p>>2]|0;H=z}0!=(a[(a[V>>2]|0)+44>>2]|0)&&(H=a[p>>2]|0,H>>>0>h>>>0)&&(J=Kd(a[K>>2]|0,(a[ka>>2]|0)+h|0,H-h|0)|0,a[K>>2]=J);z?(X=a[g>>2]|0,
-z=73):(a[G>>2]=0,a[g>>2]=91,P=V,z=75)}else a[g>>2]=91,P=V,z=75;while(0);73==(z|0)&&(91==(X|0)?(P=e+28|0,z=75):(Oa=X,z=93));do if(75==(z|0))if(a[(a[P>>2]|0)+36>>2]|0){J=e+20|0;H=a[J>>2]|0;q=e+12|0;L=b+48|0;B=e+8|0;y=b+20|0;Q=e+32|0;for(v=h=H;;){if((h|0)==(a[q>>2]|0))if(h>>>0>v>>>0&&0!=(a[(a[P>>2]|0)+44>>2]|0)&&(H=Kd(a[L>>2]|0,(a[B>>2]|0)+v|0,h-v|0)|0,a[L>>2]=H),H=a[c>>2]|0,jd(H),O=H+20|0,I=a[O>>2]|0,T=a[k>>2]|0,M=I>>>0>T>>>0?T:I,0!=(M|0)&&(I=H+16|0,Ec(a[f>>2]|0,a[I>>2]|0,M|0)|0,a[f>>2]=(a[f>>2]|0)+
-M,a[I>>2]=(a[I>>2]|0)+M,a[y>>2]=(a[y>>2]|0)+M,a[k>>2]=(a[k>>2]|0)-M,T=a[O>>2]|0,a[O>>2]=T-M,(T|0)==(M|0))&&(a[I>>2]=a[H+8>>2]),H=a[J>>2]|0,(H|0)==(a[q>>2]|0)){z=H;p=1;break}else z=p=H;else p=h,z=v;H=a[Q>>2]|0;a[Q>>2]=H+1;I=t[(a[(a[P>>2]|0)+36>>2]|0)+H>>0]|0;a[J>>2]=p+1;t[(a[B>>2]|0)+p>>0]=I;if(!(I<<24>>24)){p=I&255;break}h=a[J>>2]|0;v=z}0!=(a[(a[P>>2]|0)+44>>2]|0)&&(v=a[J>>2]|0,v>>>0>z>>>0)&&(h=Kd(a[L>>2]|0,(a[B>>2]|0)+z|0,v-z|0)|0,a[L>>2]=h);p?(Oa=a[g>>2]|0,z=93):(a[g>>2]=103,A=P,z=95)}else a[g>>
-2]=103,A=P,z=95;while(0);93==(z|0)&&103==(Oa|0)&&(A=e+28|0,z=95);95==(z|0)&&(a[(a[A>>2]|0)+44>>2]|0?(h=e+20|0,v=e+12|0,((a[h>>2]|0)+2|0)>>>0>(a[v>>2]|0)>>>0&&(Q=a[c>>2]|0,jd(Q),q=Q+20|0,y=a[q>>2]|0,G=a[k>>2]|0,K=y>>>0>G>>>0?G:y,0!=(K|0))&&(y=Q+16|0,Ec(a[f>>2]|0,a[y>>2]|0,K|0)|0,a[f>>2]=(a[f>>2]|0)+K,a[y>>2]=(a[y>>2]|0)+K,G=b+20|0,a[G>>2]=(a[G>>2]|0)+K,a[k>>2]=(a[k>>2]|0)-K,G=a[q>>2]|0,a[q>>2]=G-K,(G|0)==(K|0))&&(a[y>>2]=a[Q+8>>2]),Q=a[h>>2]|0,(Q+2|0)>>>0<=(a[v>>2]|0)>>>0&&(v=b+48|0,y=a[v>>2]&255,
-a[h>>2]=Q+1,K=e+8|0,t[(a[K>>2]|0)+Q>>0]=y,y=(a[v>>2]|0)>>>8&255,Q=a[h>>2]|0,a[h>>2]=Q+1,t[(a[K>>2]|0)+Q>>0]=y,y=Kd(0,0,0)|0,a[v>>2]=y,a[g>>2]=113)):a[g>>2]=113);y=e+20|0;if(a[y>>2]|0){if(v=a[c>>2]|0,jd(v),Q=v+20|0,K=a[Q>>2]|0,h=a[k>>2]|0,(G=K>>>0>h>>>0?h:K)?(K=v+16|0,Ec(a[f>>2]|0,a[K>>2]|0,G|0)|0,a[f>>2]=(a[f>>2]|0)+G,a[K>>2]=(a[K>>2]|0)+G,q=b+20|0,a[q>>2]=(a[q>>2]|0)+G,q=(a[k>>2]|0)-G|0,a[k>>2]=q,ka=a[Q>>2]|0,a[Q>>2]=ka-G,(ka|0)==(G|0)&&(a[K>>2]=a[v+8>>2]),Q=q):Q=h,!Q)return a[l>>2]=-1,c=0,c|0}else if(0==
-(a[b+4>>2]|0)&&m&((d<<1)-(4<(d|0)?9:0)|0)<=((n<<1)-(4<(n|0)?9:0)|0))return a[b+24>>2]=a[27686],c=-5,c|0;h=666==(a[g>>2]|0);q=0==(a[b+4>>2]|0);if(h)if(q)z=116;else return a[b+24>>2]=a[27686],c=-5,c|0;else z=q?116:117;116!=(z|0)||0==(a[e+116>>2]|0)&(0==(d|0)|h)||(z=117);do if(117==(z|0)){a:do switch(a[e+136>>2]|0){case 2:h=e+116|0;q=e+96|0;v=e+108|0;K=e+56|0;G=e+5792|0;ka=e+5796|0;Q=e+5784|0;p=e+5788|0;for(I=e+92|0;0!=(a[h>>2]|0)||(Dh(e),0!=(a[h>>2]|0));)if(a[q>>2]=0,H=t[(a[K>>2]|0)+(a[v>>2]|0)>>0]|
-0,M=a[G>>2]|0,w[(a[ka>>2]|0)+(M<<1)>>1]=0,a[G>>2]=M+1,t[(a[Q>>2]|0)+M>>0]=H,M=e+148+((H&255)<<2)|0,w[M>>1]=(w[M>>1]|0)+1<<16>>16,M=(a[G>>2]|0)==((a[p>>2]|0)+-1|0),a[h>>2]=(a[h>>2]|0)+-1,H=(a[v>>2]|0)+1|0,a[v>>2]=H,M&&(M=a[I>>2]|0,n=-1<(M|0)?(a[K>>2]|0)+M|0:0,zd(e,n,H-M|0,0),a[I>>2]=a[v>>2],M=a[e>>2]|0,H=a[M+28>>2]|0,jd(H),T=H+20|0,O=a[T>>2]|0,E=M+16|0,n=a[E>>2]|0,P=O>>>0>n>>>0?n:O,0!=(P|0)&&(O=M+12|0,n=H+16|0,Ec(a[O>>2]|0,a[n>>2]|0,P|0)|0,a[O>>2]=(a[O>>2]|0)+P,a[n>>2]=(a[n>>2]|0)+P,O=M+20|0,a[O>>
-2]=(a[O>>2]|0)+P,a[E>>2]=(a[E>>2]|0)-P,E=a[T>>2]|0,a[T>>2]=E-P,(E|0)==(P|0))&&(a[n>>2]=a[H+8>>2]),!(a[(a[e>>2]|0)+16>>2]|0))){z=191;break a}if(d){a[e+5812>>2]=0;if(4==(d|0)){h=a[I>>2]|0;D=-1<(h|0)?(a[K>>2]|0)+h|0:0;zd(e,D,(a[v>>2]|0)-h|0,1);a[I>>2]=a[v>>2];h=a[e>>2]|0;p=a[h+28>>2]|0;jd(p);Q=p+20|0;ka=a[Q>>2]|0;q=h+16|0;H=a[q>>2]|0;n=ka>>>0>H>>>0?H:ka;0!=(n|0)&&(ka=h+12|0,H=p+16|0,Ec(a[ka>>2]|0,a[H>>2]|0,n|0)|0,a[ka>>2]=(a[ka>>2]|0)+n,a[H>>2]=(a[H>>2]|0)+n,ka=h+20|0,a[ka>>2]=(a[ka>>2]|0)+n,a[q>>2]=
-(a[q>>2]|0)-n,q=a[Q>>2]|0,a[Q>>2]=q-n,(q|0)==(n|0))&&(a[H>>2]=a[p+8>>2]);D=0==(a[(a[e>>2]|0)+16>>2]|0)?2:3;z=188;break a}a[G>>2]|0&&(p=a[I>>2]|0,Q=-1<(p|0)?(a[K>>2]|0)+p|0:0,zd(e,Q,(a[v>>2]|0)-p|0,0),a[I>>2]=a[v>>2],p=a[e>>2]|0,H=a[p+28>>2]|0,jd(H),n=H+20|0,q=a[n>>2]|0,Q=p+16|0,ka=a[Q>>2]|0,h=q>>>0>ka>>>0?ka:q,0!=(h|0)&&(q=p+12|0,ka=H+16|0,Ec(a[q>>2]|0,a[ka>>2]|0,h|0)|0,a[q>>2]=(a[q>>2]|0)+h,a[ka>>2]=(a[ka>>2]|0)+h,q=p+20|0,a[q>>2]=(a[q>>2]|0)+h,a[Q>>2]=(a[Q>>2]|0)-h,Q=a[n>>2]|0,a[n>>2]=Q-h,(Q|0)==
-(h|0))&&(a[ka>>2]=a[H+8>>2]),a[(a[e>>2]|0)+16>>2]|0||(z=191))}else z=191;break;case 3:H=e+116|0;ka=0==(d|0);h=e+96|0;Q=e+108|0;n=e+5792|0;q=e+5796|0;p=e+5784|0;P=e+2440+(x[154873]<<2)|0;E=e+5788|0;T=e+56|0;for(O=e+92|0;;){M=a[H>>2]|0;if(259>M>>>0){Dh(e);G=a[H>>2]|0;if(ka&259>G>>>0){z=191;break a}if(!G)break;a[h>>2]=0;2<G>>>0?(ba=G,z=150):(F=a[Q>>2]|0,z=165)}else a[h>>2]=0,ba=M,z=150;if(150==(z|0))if(z=0,M=a[Q>>2]|0)if(G=a[T>>2]|0,K=t[G+(M+-1)>>0]|0,K<<24>>24==(t[G+M>>0]|0)&&K<<24>>24==(t[G+(M+1)>>
-0]|0)&&(R=G+(M+2)|0,K<<24>>24==(t[R>>0]|0))){Oa=G+(M+258)|0;for(G=R;;){R=G+1|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+2|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+3|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+4|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+5|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+6|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+7|0;if(K<<24>>24!=(t[R>>0]|0)){G=R;break}R=G+8|0;if(R>>>0<Oa>>>0&&K<<24>>24==(t[R>>0]|0))G=R;else{G=R;break}}G=G-Oa+258|0;K=G>>>0>ba>>>0?ba:G;a[h>>2]=K;2<K>>>
-0?(G=K+253|0,K=a[n>>2]|0,w[(a[q>>2]|0)+(K<<1)>>1]=1,a[n>>2]=K+1,t[(a[p>>2]|0)+K>>0]=G,K=e+148+((x[155385+(G&255)>>0]|256)+1<<2)|0,w[K>>1]=(w[K>>1]|0)+1<<16>>16,w[P>>1]=(w[P>>1]|0)+1<<16>>16,K=(a[n>>2]|0)==((a[E>>2]|0)+-1|0)&1,G=a[h>>2]|0,a[H>>2]=(a[H>>2]|0)-G,R=(a[Q>>2]|0)+G|0,a[Q>>2]=R,a[h>>2]=0,S=R,ga=K):(F=M,z=165)}else F=M,z=165;else F=0,z=165;165==(z|0)&&(z=0,K=t[(a[T>>2]|0)+F>>0]|0,R=a[n>>2]|0,w[(a[q>>2]|0)+(R<<1)>>1]=0,a[n>>2]=R+1,t[(a[p>>2]|0)+R>>0]=K,R=e+148+((K&255)<<2)|0,w[R>>1]=(w[R>>
-1]|0)+1<<16>>16,R=(a[n>>2]|0)==((a[E>>2]|0)+-1|0)&1,a[H>>2]=(a[H>>2]|0)+-1,K=(a[Q>>2]|0)+1|0,S=a[Q>>2]=K,ga=R);if(ga&&(R=a[O>>2]|0,G=-1<(R|0)?(a[T>>2]|0)+R|0:0,zd(e,G,S-R|0,0),a[O>>2]=a[Q>>2],R=a[e>>2]|0,K=a[R+28>>2]|0,jd(K),G=K+20|0,Oa=a[G>>2]|0,A=R+16|0,V=a[A>>2]|0,r=Oa>>>0>V>>>0?V:Oa,0!=(r|0)&&(Oa=R+12|0,V=K+16|0,Ec(a[Oa>>2]|0,a[V>>2]|0,r|0)|0,a[Oa>>2]=(a[Oa>>2]|0)+r,a[V>>2]=(a[V>>2]|0)+r,Oa=R+20|0,a[Oa>>2]=(a[Oa>>2]|0)+r,a[A>>2]=(a[A>>2]|0)-r,A=a[G>>2]|0,a[G>>2]=A-r,(A|0)==(r|0))&&(a[V>>2]=a[K+
-8>>2]),!(a[(a[e>>2]|0)+16>>2]|0))){z=191;break a}}a[e+5812>>2]=0;if(4==(d|0)){H=a[O>>2]|0;D=-1<(H|0)?(a[T>>2]|0)+H|0:0;zd(e,D,(a[Q>>2]|0)-H|0,1);a[O>>2]=a[Q>>2];H=a[e>>2]|0;E=a[H+28>>2]|0;jd(E);p=E+20|0;q=a[p>>2]|0;h=H+16|0;P=a[h>>2]|0;ka=q>>>0>P>>>0?P:q;0!=(ka|0)&&(q=H+12|0,P=E+16|0,Ec(a[q>>2]|0,a[P>>2]|0,ka|0)|0,a[q>>2]=(a[q>>2]|0)+ka,a[P>>2]=(a[P>>2]|0)+ka,q=H+20|0,a[q>>2]=(a[q>>2]|0)+ka,a[h>>2]=(a[h>>2]|0)-ka,h=a[p>>2]|0,a[p>>2]=h-ka,(h|0)==(ka|0))&&(a[P>>2]=a[E+8>>2]);D=0==(a[(a[e>>2]|0)+16>>
-2]|0)?2:3;z=188;break a}a[n>>2]|0&&(E=a[O>>2]|0,q=-1<(E|0)?(a[T>>2]|0)+E|0:0,zd(e,q,(a[Q>>2]|0)-E|0,0),a[O>>2]=a[Q>>2],E=a[e>>2]|0,P=a[E+28>>2]|0,jd(P),ka=P+20|0,h=a[ka>>2]|0,p=E+16|0,q=a[p>>2]|0,H=h>>>0>q>>>0?q:h,0!=(H|0)&&(h=E+12|0,q=P+16|0,Ec(a[h>>2]|0,a[q>>2]|0,H|0)|0,a[h>>2]=(a[h>>2]|0)+H,a[q>>2]=(a[q>>2]|0)+H,h=E+20|0,a[h>>2]=(a[h>>2]|0)+H,a[p>>2]=(a[p>>2]|0)-H,p=a[ka>>2]|0,a[ka>>2]=p-H,(p|0)==(H|0))&&(a[q>>2]=a[P+8>>2]),a[(a[e>>2]|0)+16>>2]|0||(z=191));break;default:D=dd[a[(12*(a[e+132>>2]|
-0)|0)+109996>>2]&127](e,d)|0,z=188}while(0);if(188==(z|0))if(2==(D&-2|0)&&(a[g>>2]=666),D&-3){if(1!=(D|0))break}else z=191;if(191==(z|0)){if(a[k>>2]|0)return c=0,c|0;a[l>>2]=-1;c=0;return c|0}switch(d|0){case 1:L=e;L|=0;B=L+5820|0;p=a[B>>2]|0;Q=L+5816|0;q=N[Q>>1]|0|2<<p;w[Q>>1]=q;13<(p|0)?(p=L+20|0,h=a[p>>2]|0,a[p>>2]=h+1,G=L+8|0,t[(a[G>>2]|0)+h>>0]=q,h=(N[Q>>1]|0)>>>8&255,H=a[p>>2]|0,a[p>>2]=H+1,t[(a[G>>2]|0)+H>>0]=h,h=a[B>>2]|0,H=2>>>(16-h|0),G=w[Q>>1]=H,h=h+-13|0):(G=q,h=p+3|0);p=G&255;a[B>>2]=
-h;9<(h|0)?(G=L+20|0,q=a[G>>2]|0,a[G>>2]=q+1,h=L+8|0,t[(a[h>>2]|0)+q>>0]=p,q=(N[Q>>1]|0)>>>8&255,H=a[G>>2]|0,a[G>>2]=H+1,t[(a[h>>2]|0)+H>>0]=q,H=w[Q>>1]=0,q=(a[B>>2]|0)+-9|0):(H=p,q=h+7|0);a[B>>2]=q;16==(q|0)?(h=L+20|0,p=a[h>>2]|0,a[h>>2]=p+1,q=L+8|0,t[(a[q>>2]|0)+p>>0]=H,p=(N[Q>>1]|0)>>>8&255,H=a[h>>2]|0,a[h>>2]=H+1,t[(a[q>>2]|0)+H>>0]=p,w[Q>>1]=0,a[B>>2]=0):7>=(q|0)||(q=L+20|0,p=a[q>>2]|0,a[q>>2]=p+1,t[(a[L+8>>2]|0)+p>>0]=H,w[Q>>1]=(N[Q>>1]|0)>>>8,a[B>>2]=(a[B>>2]|0)+-8);break;case 5:break;default:Af(e,
-0,0,0),3==(d|0)&&(L=a[e+76>>2]|0,B=a[e+68>>2]|0,w[B+(L+-1<<1)>>1]=0,Va(B|0,0,(L<<1)+-2|0)|0,0==(a[e+116>>2]|0))&&(a[e+108>>2]=0,a[e+92>>2]=0,a[e+5812>>2]=0)}L=a[c>>2]|0;jd(L);B=L+20|0;J=a[B>>2]|0;P=a[k>>2]|0;(q=J>>>0>P>>>0?P:J)?(J=L+16|0,Ec(a[f>>2]|0,a[J>>2]|0,q|0)|0,a[f>>2]=(a[f>>2]|0)+q,a[J>>2]=(a[J>>2]|0)+q,H=b+20|0,a[H>>2]=(a[H>>2]|0)+q,H=(a[k>>2]|0)-q|0,a[k>>2]=H,p=a[B>>2]|0,a[B>>2]=p-q,(p|0)==(q|0)&&(a[J>>2]=a[L+8>>2]),Q=H):Q=P;if(!Q)return a[l>>2]=-1,c=0,c|0}while(0);if(m)return c=0,c|0;l=
-e+24|0;g=a[l>>2]|0;if(1>(g|0))return c=1,c|0;n=b+48|0;P=a[n>>2]|0;2==(g|0)?(g=a[y>>2]|0,a[y>>2]=g+1,H=e+8|0,t[(a[H>>2]|0)+g>>0]=P,g=(a[n>>2]|0)>>>8&255,L=a[y>>2]|0,a[y>>2]=L+1,t[(a[H>>2]|0)+L>>0]=g,g=(a[n>>2]|0)>>>16&255,L=a[y>>2]|0,a[y>>2]=L+1,t[(a[H>>2]|0)+L>>0]=g,g=(a[n>>2]|0)>>>24&255,L=a[y>>2]|0,a[y>>2]=L+1,t[(a[H>>2]|0)+L>>0]=g,g=b+8|0,L=a[g>>2]&255,J=a[y>>2]|0,a[y>>2]=J+1,t[(a[H>>2]|0)+J>>0]=L,L=(a[g>>2]|0)>>>8&255,J=a[y>>2]|0,a[y>>2]=J+1,t[(a[H>>2]|0)+J>>0]=L,L=(a[g>>2]|0)>>>16&255,J=a[y>>
-2]|0,a[y>>2]=J+1,t[(a[H>>2]|0)+J>>0]=L,L=(a[g>>2]|0)>>>24&255,g=a[y>>2]|0,a[y>>2]=g+1,t[(a[H>>2]|0)+g>>0]=L):(L=a[y>>2]|0,a[y>>2]=L+1,g=e+8|0,t[(a[g>>2]|0)+L>>0]=P>>>24,L=a[y>>2]|0,a[y>>2]=L+1,t[(a[g>>2]|0)+L>>0]=P>>>16,P=a[n>>2]|0,n=a[y>>2]|0,a[y>>2]=n+1,t[(a[g>>2]|0)+n>>0]=P>>>8,n=a[y>>2]|0,a[y>>2]=n+1,t[(a[g>>2]|0)+n>>0]=P);P=a[c>>2]|0;jd(P);n=P+20|0;g=a[n>>2]|0;L=a[k>>2]|0;H=g>>>0>L>>>0?L:g;0!=(H|0)&&(g=P+16|0,Ec(a[f>>2]|0,a[g>>2]|0,H|0)|0,a[f>>2]=(a[f>>2]|0)+H,a[g>>2]=(a[g>>2]|0)+H,L=b+20|0,
-a[L>>2]=(a[L>>2]|0)+H,a[k>>2]=(a[k>>2]|0)-H,L=a[n>>2]|0,a[n>>2]=L-H,(L|0)==(H|0))&&(a[g>>2]=a[P+8>>2]);P=a[l>>2]|0;0<(P|0)&&(a[l>>2]=0-P);c=0==(a[y>>2]|0)&1;return c|0}while(0);a[b+24>>2]=a[27683];return-2}function Dh(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C,u,V,r,J,I,G,L;d=b+44|0;c=a[d>>2]|0;e=b+60|0;f=b+116|0;g=b+108|0;h=c+-262|0;m=b+56|0;k=b+5812|0;l=b+72|0;n=b+88|0;p=b+84|0;q=b+68|0;y=b+52|0;B=b+64|0;H=b+112|0;t=b+92|0;z=b+76|0;Q=a[f>>2]|0;for(C=c;;){u=a[g>>2]|0;V=(a[e>>2]|0)-Q-u|0;if(u>>>
-0<(h+C|0)>>>0)r=u,J=V;else{u=a[m>>2]|0;Ec(u|0,u+c|0,c|0)|0;a[H>>2]=(a[H>>2]|0)-c;u=(a[g>>2]|0)-c|0;a[g>>2]=u;a[t>>2]=(a[t>>2]|0)-c;Q=C=a[z>>2]|0;I=(a[q>>2]|0)+(C<<1)|0;do I=I+-2|0,C=N[I>>1]|0,w[I>>1]=C>>>0<c>>>0?0:C-c&65535,Q=Q+-1|0;while(0!=(Q|0));Q=c;I=(a[B>>2]|0)+(c<<1)|0;do I=I+-2|0,C=N[I>>1]|0,w[I>>1]=C>>>0<c>>>0?0:C-c&65535,Q=Q+-1|0;while(0!=(Q|0));r=u;J=V+c|0}Q=a[b>>2]|0;I=Q+4|0;C=a[I>>2]|0;if(!C)break;u=a[f>>2]|0;V=(a[m>>2]|0)+(u+r)|0;if(r=C>>>0>J>>>0?J:C){a[I>>2]=C-r;Ec(V|0,a[Q>>2]|0,r|0)|
-0;switch(a[(a[Q+28>>2]|0)+24>>2]|0){case 1:C=Q+48|0;I=Si(a[C>>2]|0,V,r)|0;a[C>>2]=I;break;case 2:I=Q+48|0,C=Kd(a[I>>2]|0,V,r)|0,a[I>>2]=C}a[Q>>2]=(a[Q>>2]|0)+r;C=Q+8|0;a[C>>2]=(a[C>>2]|0)+r;C=r;Q=a[f>>2]|0}else C=0,Q=u;r=Q+C|0;a[f>>2]=r;C=a[k>>2]|0;a:do if(2<(r+C|0)>>>0)for(Q=(a[g>>2]|0)-C|0,I=a[m>>2]|0,V=x[I+Q>>0]|0,a[l>>2]=V,u=a[n>>2]|0,J=a[p>>2]|0,G=((x[I+(Q+1)>>0]|0)^V<<u)&J,a[l>>2]=G,V=C,L=G,G=Q;;){if(!V)break a;L=((x[I+(G+2)>>0]|0)^L<<u)&J;a[l>>2]=L;Q=(a[q>>2]|0)+(L<<1)|0;w[(a[B>>2]|0)+((a[y>>
-2]&G)<<1)>>1]=w[Q>>1]|0;w[Q>>1]=G;V=V+-1|0;a[k>>2]=V;if(3>(r+V|0)>>>0)break;else G=G+1|0}while(0);if(262<=r>>>0)break;if(!(a[(a[b>>2]|0)+4>>2]|0))break;Q=r;C=a[d>>2]|0}d=b+5824|0;b=a[d>>2]|0;C=a[e>>2]|0;C>>>0<=b>>>0||(e=(a[f>>2]|0)+(a[g>>2]|0)|0,b>>>0<e>>>0?(g=C-e|0,f=258<g>>>0?258:g,Va((a[m>>2]|0)+e|0,0,f|0)|0,a[d>>2]=f+e):(f=e+258|0,f>>>0<=b>>>0||(e=f-b|0,f=C-b|0,C=e>>>0>f>>>0?f:e,Va((a[m>>2]|0)+b|0,0,C|0)|0,a[d>>2]=(a[d>>2]|0)+C)))}function sk(b,d){b|=0;d|=0;var c,e,f,g,h;c=a[b+4>>2]|0;if(1>=d>>>
-0){if(1==(d|0)){e=c+68|0;if(f=a[e>>2]|0){g=f;do f=g+40|0,a[f>>2]|0&&(a[f>>2]=0,ub[a[g+56>>2]&31](b,g+48|0)),g=a[g+44>>2]|0;while(0!=(g|0))}a[e>>2]=0;e=c+72|0;if(g=a[e>>2]|0){f=g;do g=f+40|0,a[g>>2]|0&&(a[g>>2]=0,ub[a[f+56>>2]&31](b,f+48|0)),f=a[f+44>>2]|0;while(0!=(f|0))}a[e>>2]=0}}else e=a[b>>2]|0,a[e+20>>2]=15,a[e+24>>2]=d,R[a[e>>2]&127](b);e=c+60+(d<<2)|0;f=a[e>>2]|0;a[e>>2]=0;if(f){e=c+76|0;g=f;do f=g,g=a[g>>2]|0,h=(a[f+4>>2]|0)+16+(a[f+8>>2]|0)|0,Gc(f|0),a[e>>2]=(a[e>>2]|0)-h;while(0!=(g|0))}g=
-c+52+(d<<2)|0;d=a[g>>2]|0;a[g>>2]=0;if(d){g=c+76|0;c=d;do d=c,c=a[c>>2]|0,e=(a[d+4>>2]|0)+16+(a[d+8>>2]|0)|0,Gc(d|0),a[g>>2]=(a[g>>2]|0)-e;while(0!=(c|0))}}function Vh(b,d,c){b|=0;c=a[b>>2]|0;a[c+20>>2]=51;R[a[c>>2]&127](b)}function Wh(b){b|=0;var d,c,e,f,g,h,m,k,l;d=a[b+424>>2]|0;c=d+12|0;e=a[c>>2]|0;f=(a[d+16>>2]|0)+-1+e&-65536;g=((f|0)<(e|0)?f|32768:f)<<a[d+28>>2];a[c>>2]=g;f=d+32|0;e=a[f>>2]|0;if(134217727>=g>>>0){if(e){if(-1<(e|0)){g=d+24|0;h=b+24|0;if(a[g>>2]|0){do k=a[h>>2]|0,e=a[k>>2]|0,a[k>>
-2]=e+1,t[e>>0]=0,e=k+4|0,l=(a[e>>2]|0)+-1|0,a[e>>2]=l,0==(l|0)&&0==(da[a[k+12>>2]&63](b)|0)&&(k=a[b>>2]|0,a[k+20>>2]=25,R[a[k>>2]&127](b)),k=(a[g>>2]|0)+-1|0,a[g>>2]=k;while(0!=(k|0));m=a[f>>2]|0}else m=e;g=a[h>>2]|0;h=a[g>>2]|0;a[g>>2]=h+1;t[h>>0]=m;m=g+4|0;h=(a[m>>2]|0)+-1|0;a[m>>2]=h;0==(h|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b))}}else g=d+24|0,a[g>>2]=(a[g>>2]|0)+1;g=d+20|0;if(a[g>>2]|0){h=d+24|0;m=b+24|0;if(a[h>>2]|0){do k=a[m>>2]|0,l=a[k>>2]|0,a[k>>2]=l+
-1,t[l>>0]=0,l=k+4|0,e=(a[l>>2]|0)+-1|0,a[l>>2]=e,0==(e|0)&&0==(da[a[k+12>>2]&63](b)|0)&&(k=a[b>>2]|0,a[k+20>>2]=25,R[a[k>>2]&127](b)),k=(a[h>>2]|0)+-1|0,a[h>>2]=k;while(0!=(k|0))}do h=a[m>>2]|0,k=a[h>>2]|0,a[h>>2]=k+1,t[k>>0]=-1,k=h+4|0,e=(a[k>>2]|0)+-1|0,a[k>>2]=e,0==(e|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>2]&127](b)),h=a[m>>2]|0,e=a[h>>2]|0,a[h>>2]=e+1,t[e>>0]=0,e=h+4|0,k=(a[e>>2]|0)+-1|0,a[e>>2]=k,0==(k|0)&&0==(da[a[h+12>>2]&63](b)|0)&&(h=a[b>>2]|0,a[h+20>>2]=25,R[a[h>>
-2]&127](b)),h=(a[g>>2]|0)+-1|0,a[g>>2]=h;while(0!=(h|0))}}else{g=d+24|0;if(-1<(e|0)){m=b+24|0;if(a[g>>2]|0){do e=a[m>>2]|0,h=a[e>>2]|0,a[e>>2]=h+1,t[h>>0]=0,h=e+4|0,k=(a[h>>2]|0)+-1|0,a[h>>2]=k,0==(k|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=(a[g>>2]|0)+-1|0,a[g>>2]=e;while(0!=(e|0));h=a[f>>2]|0}else h=e;e=a[m>>2]|0;k=a[e>>2]|0;a[e>>2]=k+1;t[k>>0]=h+1;h=e+4|0;k=(a[h>>2]|0)+-1|0;a[h>>2]=k;0==(k|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>
-2]&127](b));254==(a[f>>2]|0)&&(f=a[m>>2]|0,m=a[f>>2]|0,a[f>>2]=m+1,t[m>>0]=0,m=f+4|0,e=(a[m>>2]|0)+-1|0,a[m>>2]=e,0==(e|0))&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b))}f=d+20|0;a[g>>2]=(a[g>>2]|0)+(a[f>>2]|0);a[f>>2]=0}f=a[c>>2]|0;if(f&134215680){g=d+24|0;d=b+24|0;if(a[g>>2]|0){do f=a[d>>2]|0,e=a[f>>2]|0,a[f>>2]=e+1,t[e>>0]=0,e=f+4|0,m=(a[e>>2]|0)+-1|0,a[e>>2]=m,0==(m|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),f=(a[g>>2]|0)+-1|0,
-a[g>>2]=f;while(0!=(f|0));m=a[c>>2]|0}else m=f;g=a[d>>2]|0;f=a[g>>2]|0;a[g>>2]=f+1;t[f>>0]=m>>>19;m=g+4|0;f=(a[m>>2]|0)+-1|0;a[m>>2]=f;0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));133693440==(a[c>>2]&133693440|0)&&(g=a[d>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=0,f=g+4|0,m=(a[f>>2]|0)+-1|0,a[f>>2]=m,0==(m|0))&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=a[c>>2]|0;g&522240&&(m=a[d>>2]|0,f=a[m>>2]|0,a[m>>2]=f+1,t[f>>0]=g>>>11,g=m+
-4|0,f=(a[g>>2]|0)+-1|0,a[g>>2]=f,0==(f|0)&&0==(da[a[m+12>>2]&63](b)|0)&&(m=a[b>>2]|0,a[m+20>>2]=25,R[a[m>>2]&127](b)),522240==(a[c>>2]&522240|0)&&(c=a[d>>2]|0,d=a[c>>2]|0,a[c>>2]=d+1,t[d>>0]=0,d=c+4|0,m=(a[d>>2]|0)+-1|0,a[d>>2]=m,m||da[a[c+12>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))))}}function jh(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l;c=a[b+424>>2]|0;Wh(b);e=b+24|0;f=a[e>>2]|0;g=a[f>>2]|0;a[f>>2]=g+1;t[g>>0]=-1;g=f+4|0;h=(a[g>>2]|0)+-1|0;a[g>>2]=h;0==(h|0)&&0==(da[a[f+12>>2]&63](b)|
-0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b));f=a[e>>2]|0;e=a[f>>2]|0;a[f>>2]=e+1;t[e>>0]=d+208;d=f+4|0;e=(a[d>>2]|0)+-1|0;a[d>>2]=e;0==(e|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b));f=b+292|0;if(!(0>=(a[f>>2]|0))){e=b+364|0;d=b+372|0;h=b+368|0;g=0;do{m=a[b+296+(g<<2)>>2]|0;if(0==(a[e>>2]|0)&&0==(a[d>>2]|0)){k=a[c+76+(a[m+20>>2]<<2)>>2]|0;l=k+64|0;do t[k>>0]=0,k=k+1|0;while((k|0)<(l|0));a[c+36+(g<<2)>>2]=0;a[c+52+(g<<2)>>2]=0}a[h>>2]|0&&Va(a[c+140+(a[m+24>>2]<<
-2)>>2]|0,0,256)|0;g=g+1|0}while((g|0)<(a[f>>2]|0))}a[(c+12|0)>>2]=0;a[(c+16|0)>>2]=65536;a[(c+20|0)>>2]=0;a[(c+24|0)>>2]=0;a[(c+28|0)>>2]=11;a[(c+32|0)>>2]=-1}function ec(b,d,c){b|=0;d|=0;var e,f,g,h,m,k,l,n,p;e=a[b+424>>2]|0;f=x[d>>0]|0;g=a[122136+((f&127)<<2)>>2]|0;h=g>>>8;m=g>>16;k=e+16|0;l=(a[k>>2]|0)-m|0;a[k>>2]=l;if((f>>>7|0)==(c|0)){if(32767<(l|0))return;(l|0)<(m|0)&&(c=e+12|0,a[c>>2]=(a[c>>2]|0)+l,a[k>>2]=m);n=f&128^h}else(l|0)>=(m|0)&&(h=e+12|0,a[h>>2]=(a[h>>2]|0)+l,a[k>>2]=m),n=f&128^g;
-t[d>>0]=n;n=e+12|0;d=e+28|0;g=e+32|0;f=e+24|0;m=b+24|0;l=e+20|0;e=a[k>>2]|0;h=a[n>>2]|0;for(c=a[d>>2]|0;;){p=e<<1;a[k>>2]=p;e=h<<1;a[n>>2]=e;c=c+-1|0;if(a[d>>2]=c)h=p;else{e>>=19;if(255<(e|0)){c=a[g>>2]|0;if(-1<(c|0)){if(a[f>>2]|0){do c=a[m>>2]|0,h=a[c>>2]|0,a[c>>2]=h+1,t[h>>0]=0,h=c+4|0,p=(a[h>>2]|0)+-1|0,a[h>>2]=p,0==(p|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),c=(a[f>>2]|0)+-1|0,a[f>>2]=c;while(0!=(c|0));h=a[g>>2]|0}else h=c;c=a[m>>2]|0;p=a[c>>2]|0;a[c>>2]=
-p+1;t[p>>0]=h+1;p=c+4|0;h=(a[p>>2]|0)+-1|0;a[p>>2]=h;0==(h|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));254==(a[g>>2]|0)&&(c=a[m>>2]|0,h=a[c>>2]|0,a[c>>2]=h+1,t[h>>0]=0,h=c+4|0,p=(a[h>>2]|0)+-1|0,a[h>>2]=p,0==(p|0))&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))}a[f>>2]=(a[f>>2]|0)+(a[l>>2]|0);a[l>>2]=0;a[g>>2]=e&255}else if(255==(e|0))a[l>>2]=(a[l>>2]|0)+1;else{if(c=a[g>>2]|0){if(-1<(c|0)){if(a[f>>2]|0){do c=a[m>>2]|0,p=a[c>>2]|0,a[c>>
-2]=p+1,t[p>>0]=0,p=c+4|0,h=(a[p>>2]|0)+-1|0,a[p>>2]=h,0==(h|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),c=(a[f>>2]|0)+-1|0,a[f>>2]=c;while(0!=(c|0));p=a[g>>2]|0}else p=c;c=a[m>>2]|0;h=a[c>>2]|0;a[c>>2]=h+1;t[h>>0]=p;h=c+4|0;p=(a[h>>2]|0)+-1|0;a[h>>2]=p;0==(p|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))}}else a[f>>2]=(a[f>>2]|0)+1;if(a[l>>2]|0){if(a[f>>2]|0){do c=a[m>>2]|0,p=a[c>>2]|0,a[c>>2]=p+1,t[p>>0]=0,p=c+4|0,h=(a[p>>2]|0)+-1|
-0,a[p>>2]=h,0==(h|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),c=(a[f>>2]|0)+-1|0,a[f>>2]=c;while(0!=(c|0))}do c=a[m>>2]|0,h=a[c>>2]|0,a[c>>2]=h+1,t[h>>0]=-1,h=c+4|0,p=(a[h>>2]|0)+-1|0,a[h>>2]=p,0==(p|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),c=a[m>>2]|0,p=a[c>>2]|0,a[c>>2]=p+1,t[p>>0]=0,p=c+4|0,h=(a[p>>2]|0)+-1|0,a[p>>2]=h,0==(h|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),c=(a[l>>2]|0)+-1|0,
-a[l>>2]=c;while(0!=(c|0))}a[g>>2]=e&255}e=a[n>>2]&524287;a[n>>2]=e;c=(a[d>>2]|0)+8|0;a[d>>2]=c;h=a[k>>2]|0}p=e;if(32768>(h|0))e=h,h=p;else break}}function tk(b,d){b|=0;var c,e,f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C,Ra,V,r,w,x,G,L,K,v,fd,O=0,M=0,T=0;d=u;u=u+16|0;c=d;e=b+404|0;f=a[e>>2]|0;g=b+292|0;h=a[g>>2]|0;if(0<(h|0)){m=b+4|0;k=f+8|0;l=0;do n=a[b+296+(l<<2)>>2]|0,p=a[n+12>>2]|0,q=E(p,a[k>>2]|0)|0,y=jg[a[(a[m>>2]|0)+32>>2]&3](b,a[f+64+(a[n+4>>2]<<2)>>2]|0,q,p,0)|0,a[c+(l<<2)>>2]=y,l=l+1|0,y=a[g>>2]|0;while((l|
-0)<(y|0));B=y}else B=h;h=f+16|0;l=a[h>>2]|0;m=f+20|0;k=a[m>>2]|0;do if((l|0)<(k|0)){y=f+12|0;p=b+312|0;q=b+424|0;n=f+24|0;H=k;t=a[y>>2]|0;z=a[p>>2]|0;Q=l;a:for(;;){if(t>>>0<z>>>0){for(H=t;;){t=a[g>>2]|0;if(0<(t|0))for(z=C=0;;){Ra=a[b+296+(z<<2)>>2]|0;V=a[Ra+56>>2]|0;r=E(V,H)|0;w=a[Ra+60>>2]|0;if(0<(w|0))for(Ra=a[c+(z<<2)>>2]|0,x=0<(V|0),G=1<(V|0)?V:1,L=C,C=0;;){if(x){K=L;v=(a[Ra+(C+Q<<2)>>2]|0)+(r<<7)|0;for(fd=0;!(a[f+24+(K<<2)>>2]=v,fd=fd+1|0,(fd|0)>=(V|0));)K=K+1|0,v=v+128|0;L=L+G|0}C=C+1|0;if((C|
-0)>=(w|0)){Ra=L;break}}else Ra=C;z=z+1|0;if((z|0)>=(t|0))break;else C=Ra}if(!(dd[a[(a[q>>2]|0)+4>>2]&127](b,n)|0)){O=H;M=Q;break a}H=H+1|0;C=a[p>>2]|0;if(H>>>0>=C>>>0){H=C;break}}z=H;H=a[m>>2]|0}a[y>>2]=0;Q=Q+1|0;if((Q|0)>=(H|0)){T=21;break}else t=0}if(21==(T|0))n=a[g>>2]|0;else return a[h>>2]=M,a[y>>2]=O,u=d,0}else n=B;while(0);B=f+8|0;a[B>>2]=(a[B>>2]|0)+1;B=a[e>>2]|0;1>=(n|0)?(e=a[b+296>>2]|0,a[B+20>>2]=(a[B+8>>2]|0)>>>0<((a[b+288>>2]|0)+-1|0)>>>0?a[e+12>>2]:a[e+76>>2]):a[B+20>>2]=1;a[B+12>>2]=
-0;a[B+16>>2]=0;u=d;return 1}function oi(b){b|=0;var d,c,e,f,g;d=Aa[a[a[b+4>>2]>>2]&63](b,1,12)|0;a[b+412>>2]=d;a[d>>2]=58;c=b+40|0;switch(a[c>>2]|0){case 1:1!=(a[b+36>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=10,R[a[e>>2]&127](b));break;case 6:case 2:3!=(a[b+36>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=10,R[a[e>>2]&127](b));break;case 7:case 3:3!=(a[b+36>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=10,R[a[e>>2]&127](b));break;case 5:case 4:4!=(a[b+36>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=10,R[a[e>>2]&127](b));break;default:1>(a[b+36>>
-2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=10,R[a[e>>2]&127](b))}e=b+260|0;f=b+80|0;a:do if(a[e>>2]|0){switch(a[f>>2]|0){case 6:case 2:break a}g=a[b>>2]|0;a[g+20>>2]=28;R[a[g>>2]&127](b)}while(0);g=a[f>>2]|0;switch(g|0){case 1:switch(1!=(a[b+76>>2]|0)&&(g=a[b>>2]|0,a[g+20>>2]=11,R[a[g>>2]&127](b)),a[c>>2]|0){case 7:case 3:case 1:a[d+4>>2]=2;return;case 2:a[d>>2]=59;a[d+4>>2]=3;return;default:g=a[b>>2]|0;a[g+20>>2]=28;R[a[g>>2]&127](b);return}case 6:case 2:3==(a[b+76>>2]|0)?f=g:(g=a[b>>2]|0,a[g+20>>2]=11,R[a[g>>
-2]&127](b),f=a[f>>2]|0);if((a[c>>2]|0)!=(f|0)){f=a[b>>2]|0;a[f+20>>2]=28;R[a[f>>2]&127](b);break}switch(a[e>>2]|0){case 0:a[d+4>>2]=4;return;case 1:a[d+4>>2]=5;return;default:e=a[b>>2]|0;a[e+20>>2]=28;R[a[e>>2]&127](b);return}case 3:switch(3!=(a[b+76>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=11,R[a[e>>2]&127](b)),a[c>>2]|0){case 2:a[d>>2]=59;a[d+4>>2]=6;return;case 3:a[d+4>>2]=7;return;default:e=a[b>>2]|0;a[e+20>>2]=28;R[a[e>>2]&127](b);return}case 7:3!=(a[b+76>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=11,R[a[e>>2]&
-127](b));switch(a[c>>2]|0){case 2:e=a[b+84>>2]|0;a[e+140>>2]=1;a[e+228>>2]=1;a[d>>2]=59;a[d+4>>2]=6;return;case 3:e=a[b+84>>2]|0;a[e+140>>2]=1;a[e+228>>2]=1;break;case 7:break;default:e=a[b>>2]|0;a[e+20>>2]=28;R[a[e>>2]&127](b);return}a[d+4>>2]=7;break;case 4:4!=(a[b+76>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=11,R[a[e>>2]&127](b));4==(a[c>>2]|0)?a[d+4>>2]=7:(e=a[b>>2]|0,a[e+20>>2]=28,R[a[e>>2]&127](b));break;case 5:switch(4!=(a[b+76>>2]|0)&&(e=a[b>>2]|0,a[e+20>>2]=11,R[a[e>>2]&127](b)),a[c>>2]|0){case 4:a[d>>
-2]=59;a[d+4>>2]=8;return;case 5:a[d+4>>2]=7;return;default:e=a[b>>2]|0;a[e+20>>2]=28;R[a[e>>2]&127](b);return}default:if((g|0)!=(a[c>>2]|0)||(a[b+76>>2]|0)!=(a[b+36>>2]|0))c=a[b>>2]|0,a[c+20>>2]=28,R[a[c>>2]&127](b);a[d+4>>2]=7}}function Xh(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,y,B;f=u;u=u+1296|0;g=f+1028|0;3<c>>>0&&(h=a[b>>2]|0,a[h+20>>2]=52,a[h+24>>2]=c,R[a[h>>2]&127](b));h=0!=(d|0);d=a[(h?b+120+(c<<2)|0:b+136+(c<<2)|0)>>2]|0;d||(m=a[b>>2]|0,a[m+20>>2]=52,a[m+24>>2]=c,R[a[m>>2]&127](b));
-(m=a[e>>2]|0)?(k=b,l=m):(c=Aa[a[a[b+4>>2]>>2]&63](b,1,1280)|0,a[e>>2]=c,k=b,l=c);m=1;for(c=0;;)if(e=t[d+m>>0]|0,n=e&255,p=n+c|0,256<(p|0)&&(q=a[b>>2]|0,a[q+20>>2]=9,R[a[q>>2]&127](k)),e<<24>>24?(Va(g+c|0,m&255|0,n|0)|0,y=p):y=c,m=m+1|0,17==(m|0)){B=y;break}else c=y;t[g+B>>0]=0;y=t[g>>0]|0;if(y<<24>>24)for(c=y,p=m=0,n=y<<24>>24;;){if((c<<24>>24|0)==(n|0))for(y=m,e=p;;)if(q=e+1|0,a[f+(e<<2)>>2]=y,p=y+1|0,e=t[g+q>>0]|0,(e<<24>>24|0)==(n|0))y=p,e=q;else{c=e;m=p;break}else q=p;(m|0)>=(1<<n|0)&&(e=a[b>>
-2]|0,a[e+20>>2]=9,R[a[e>>2]&127](k));if(c<<24>>24)m<<=1,p=q,n=n+1|0;else break}Va(l+1024|0,0,256)|0;n=h?15:255;if(0<(B|0)){e=0;do h=x[d+17+e>>0]|0,q=l+1024+h|0,h>>>0<=n>>>0&&0==(t[q>>0]|0)||(p=a[b>>2]|0,a[p+20>>2]=9,R[a[p>>2]&127](k)),a[l+(h<<2)>>2]=a[f+(e<<2)>>2],t[q>>0]=t[g+e>>0]|0,e=e+1|0;while((e|0)!=(B|0))}u=f}function gi(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n=0,p,q,y,B,H,ka,z,Q,C,u;c=b+128|0;if(e=a[c>>2]|0){f=0;for(g=e;;)if(g>>=1)f=f+1|0;else{h=f;break}14<(h|0)&&(f=a[b+120>>2]|0,g=a[f>>2]|0,a[g+
-20>>2]=41,R[a[g>>2]&127](f));f=a[b+124>>2]|0;g=h<<4;e=b+108|0;do if(a[e>>2]|0)H=(a[b+92+(f<<2)>>2]|0)+(g<<2)|0,a[H>>2]=(a[H>>2]|0)+1;else if(m=a[b+60+(f<<2)>>2]|0,k=a[m+(g<<2)>>2]|0,l=t[m+1024+g>>0]|0,m=l<<24>>24,0!=l<<24>>24||(l=a[b+120>>2]|0,n=a[l>>2]|0,a[n+20>>2]=41,R[a[n>>2]&127](l),0==(a[e>>2]|0))){l=b+16|0;n=(a[l>>2]|0)+m|0;p=b+12|0;q=((1<<m)+-1&k)<<24-n|a[p>>2];if(7<(n|0)){k=b+112|0;m=b+116|0;y=b+120|0;B=n;for(H=q;;)if(ka=H>>>16,z=ka&255,Q=a[k>>2]|0,a[k>>2]=Q+1,t[Q>>0]=ka,ka=(a[m>>2]|0)+-1|
-0,a[m>>2]=ka,ka||(ka=a[y>>2]|0,Q=a[ka+24>>2]|0,da[a[Q+12>>2]&63](ka)|0||(ka=a[y>>2]|0,C=a[ka>>2]|0,a[C+20>>2]=25,R[a[C>>2]&127](ka)),a[k>>2]=a[Q>>2],a[m>>2]=a[Q+4>>2]),255==(z|0)&&(z=a[k>>2]|0,a[k>>2]=z+1,t[z>>0]=0,z=(a[m>>2]|0)+-1|0,a[m>>2]=z,0==(z|0))&&(z=a[y>>2]|0,Q=a[z+24>>2]|0,da[a[Q+12>>2]&63](z)|0||(z=a[y>>2]|0,ka=a[z>>2]|0,a[ka+20>>2]=25,R[a[ka>>2]&127](z)),a[k>>2]=a[Q>>2],a[m>>2]=a[Q+4>>2]),Q=H<<8,B=B+-8|0,7>=(B|0)){ka=Q;break}else H=Q;u=n&7;q=ka}else u=n;a[p>>2]=q;a[l>>2]=u}while(0);if(0!=
-(h|0)&&0==(a[e>>2]|0)){g=b+16|0;f=(a[g>>2]|0)+h|0;u=b+12|0;q=(a[c>>2]&(1<<h)+-1)<<24-f|a[u>>2];if(7<(f|0)){h=b+112|0;ka=b+116|0;H=b+120|0;B=f;for(m=q;!(k=m>>>16,y=k&255,Q=a[h>>2]|0,a[h>>2]=Q+1,t[Q>>0]=k,k=(a[ka>>2]|0)+-1|0,a[ka>>2]=k,k||(k=a[H>>2]|0,Q=a[k+24>>2]|0,da[a[Q+12>>2]&63](k)|0||(k=a[H>>2]|0,z=a[k>>2]|0,a[z+20>>2]=25,R[a[z>>2]&127](k)),a[h>>2]=a[Q>>2],a[ka>>2]=a[Q+4>>2]),255==(y|0)&&(y=a[h>>2]|0,a[h>>2]=y+1,t[y>>0]=0,y=(a[ka>>2]|0)+-1|0,a[ka>>2]=y,0==(y|0))&&(y=a[H>>2]|0,Q=a[y+24>>2]|0,da[a[Q+
-12>>2]&63](y)|0||(y=a[H>>2]|0,k=a[y>>2]|0,a[k+20>>2]=25,R[a[k>>2]&127](y)),a[h>>2]=a[Q>>2],a[ka>>2]=a[Q+4>>2]),Q=m<<8,B=B+-8|0,7>=(B|0));)m=Q;l=f&7;p=Q}else l=f,p=q;a[u>>2]=p;a[g>>2]=l}a[c>>2]=0;l=b+132|0;g=a[l>>2]|0;a:do if(0!=(g|0)&0==(a[e>>2]|0))for(p=b+16|0,u=b+12|0,q=b+112|0,f=b+116|0,n=b+120|0,m=g,B=a[b+136>>2]|0,ka=0;;){if(!ka){h=a[p>>2]|0;H=h+1|0;Q=((x[B>>0]|0)&1)<<23-h|a[u>>2];if(7<(H|0)){h=H;for(y=Q;;)if(k=y>>>16,z=k&255,ka=a[q>>2]|0,a[q>>2]=ka+1,t[ka>>0]=k,k=(a[f>>2]|0)+-1|0,a[f>>2]=k,
-k||(k=a[n>>2]|0,ka=a[k+24>>2]|0,da[a[ka+12>>2]&63](k)|0||(k=a[n>>2]|0,C=a[k>>2]|0,a[C+20>>2]=25,R[a[C>>2]&127](k)),a[q>>2]=a[ka>>2],a[f>>2]=a[ka+4>>2]),255==(z|0)&&(z=a[q>>2]|0,a[q>>2]=z+1,t[z>>0]=0,z=(a[f>>2]|0)+-1|0,a[f>>2]=z,0==(z|0))&&(z=a[n>>2]|0,ka=a[z+24>>2]|0,da[a[ka+12>>2]&63](z)|0||(z=a[n>>2]|0,k=a[z>>2]|0,a[k+20>>2]=25,R[a[k>>2]&127](z)),a[q>>2]=a[ka>>2],a[f>>2]=a[ka+4>>2]),ka=y<<8,h=h+-8|0,7>=(h|0)){h=ka;break}else y=ka;g=H&7}else g=H,h=Q;a[u>>2]=h;a[p>>2]=g}y=m+-1|0;if(!y)break a;m=y;
-B=B+1|0;ka=a[e>>2]|0}while(0);a[l>>2]=0;f=e}else f=b+108|0;a[f>>2]|0||(Yh(b),f=b+112|0,e=a[f>>2]|0,a[f>>2]=e+1,t[e>>0]=-1,e=b+116|0,l=(a[e>>2]|0)+-1|0,(a[e>>2]=l)?m=a[f>>2]|0:(l=b+120|0,g=a[l>>2]|0,h=a[g+24>>2]|0,da[a[h+12>>2]&63](g)|0||(g=a[l>>2]|0,l=a[g>>2]|0,a[l+20>>2]=25,R[a[l>>2]&127](g)),g=a[h>>2]|0,a[f>>2]=g,a[e>>2]=a[h+4>>2],m=g),a[f>>2]=m+1,t[m>>0]=d+208,d=(a[e>>2]|0)+-1|0,a[e>>2]=d,d||(d=b+120|0,m=a[d>>2]|0,g=a[m+24>>2]|0,da[a[g+12>>2]&63](m)|0||(m=a[d>>2]|0,d=a[m>>2]|0,a[d+20>>2]=25,R[a[d>>
-2]&127](m)),a[f>>2]=a[g>>2],a[e>>2]=a[g+4>>2]));g=b+120|0;e=a[g>>2]|0;if(a[e+364>>2]|0)a[c>>2]=0,a[b+132>>2]=0;else if(0<(a[e+292>>2]|0)){c=0;do a[b+20+(c<<2)>>2]=0,c=c+1|0;while((c|0)<(a[(a[g>>2]|0)+292>>2]|0))}}function Yh(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p;if(a[b+108>>2]|0)a[(b+12|0)>>2]=0,a[(b+16|0)>>2]=0;else{d=b+16|0;c=a[d>>2]|0;e=c+7|0;f=b+12|0;g=127<<17-c|a[f>>2];if(7<(e|0)){c=b+112|0;h=b+116|0;m=b+120|0;b=e;for(k=g;!(l=k>>>16,n=l&255,g=a[c>>2]|0,a[c>>2]=g+1,t[g>>0]=l,l=(a[h>>2]|0)+-1|0,a[h>>
-2]=l,l||(l=a[m>>2]|0,g=a[l+24>>2]|0,da[a[g+12>>2]&63](l)|0||(l=a[m>>2]|0,p=a[l>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](l)),a[c>>2]=a[g>>2],a[h>>2]=a[g+4>>2]),255==(n|0)&&(n=a[c>>2]|0,a[c>>2]=n+1,t[n>>0]=0,n=(a[h>>2]|0)+-1|0,a[h>>2]=n,0==(n|0))&&(n=a[m>>2]|0,g=a[n+24>>2]|0,da[a[g+12>>2]&63](n)|0||(n=a[m>>2]|0,l=a[n>>2]|0,a[l+20>>2]=25,R[a[l>>2]&127](n)),a[c>>2]=a[g>>2],a[h>>2]=a[g+4>>2]),g=k<<8,b=b+-8|0,7>=(b|0));)k=g;b=e&7}else b=e;c=g;a[f>>2]=c;a[d>>2]=b;a[f>>2]=0;a[d>>2]=0}}function pi(b,d,c){b|=0;d|=
-0;c|=0;var e,f,g,h,m,k,l,n,p,q;e=u;u=u+2096|0;f=e+2056|0;g=e+1028|0;h=e;m=f;k=m+33|0;do t[m>>0]=0,m=m+1|0;while((m|0)<(k|0));Va(g|0,0,1028)|0;Va(h|0,-1,1028)|0;a[c+1024>>2]=1;k=-1;l=0;m=1E9;a:for(;;)if(257>(l|0))n=a[c+(l<<2)>>2]|0,k=(p=0==(n|0)|(n|0)>(m|0))?k:l,l=l+1|0,m=p?m:n;else{m=-1;l=0;for(q=1E9;;)if(n=a[c+(l<<2)>>2]|0,m=(p=(l|0)==(k|0)|0==(n|0)|(n|0)>(q|0))?m:l,l=l+1|0,257==(l|0)){q=m;break}else q=p?q:n;if(0>(q|0))break;n=c+(q<<2)|0;p=c+(k<<2)|0;a[p>>2]=(a[p>>2]|0)+(a[n>>2]|0);a[n>>2]=0;n=g+
-(k<<2)|0;a[n>>2]=(a[n>>2]|0)+1;n=h+(k<<2)|0;p=a[n>>2]|0;if(-1<(p|0)){m=p;do p=g+(m<<2)|0,a[p>>2]=(a[p>>2]|0)+1,p=h+(m<<2)|0,m=a[p>>2]|0;while(-1<(m|0));k=p}else k=n;a[k>>2]=q;m=g+(q<<2)|0;a[m>>2]=(a[m>>2]|0)+1;m=a[h+(q<<2)>>2]|0;if(-1<(m|0))for(n=m;;)if(m=g+(n<<2)|0,a[m>>2]=(a[m>>2]|0)+1,m=a[h+(n<<2)>>2]|0,-1<(m|0))n=m;else{k=-1;l=0;m=1E9;continue a}else k=-1,l=0,m=1E9}m=0;do{if(l=a[g+(m<<2)>>2]|0)32<(l|0)&&(k=a[b>>2]|0,a[k+20>>2]=40,R[a[k>>2]&127](b)),k=f+l|0,t[k>>0]=(t[k>>0]|0)+1<<24>>24;m=m+1|
-0}while(257!=(m|0));for(h=32;;){m=f+h|0;b=t[m>>0]|0;if(b<<24>>24){k=h+-2|0;l=h+-1|0;n=f+l|0;h=b;do{for(b=k;;)if(q=f+b|0,t[q>>0]|0){c=q;break}else b=b+-1|0;t[m>>0]=(h&255)+254;t[n>>0]=(t[n>>0]|0)+1<<24>>24;b=f+(b+1)|0;t[b>>0]=(x[b>>0]|0)+2;t[c>>0]=(t[c>>0]|0)+-1<<24>>24;h=t[m>>0]|0}while(0!=h<<24>>24);b=l}else b=h+-1|0;if(16<(b|0))h=b;else{c=16;break}}for(;!(b=f+c|0,h=t[b>>0]|0,h<<24>>24);)c=c+-1|0;t[b>>0]=h+-1<<24>>24;m=d;b=f;k=m+17|0;do t[m>>0]=t[b>>0]|0,m=m+1|0,b=b+1|0;while((m|0)<(k|0));b=1;for(m=
-0;;){k=0;for(f=m;;)if((a[g+(k<<2)>>2]|0)==(b|0)&&(t[d+17+f>>0]=k,f=f+1|0),k=k+1|0,256==(k|0)){h=f;break}f=b+1|0;if(33==(f|0))break;else b=f,m=h}a[d+276>>2]=0;u=e}function hi(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p;d=a[b+468>>2]|0;da[a[(a[b+464>>2]|0)+8>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=b+340|0;if(!(0>=(a[c>>2]|0))){e=b+224|0;f=b+436|0;g=b+412|0;h=b+420|0;m=0;do{k=a[b+344+(m<<2)>>2]|0;l=a[e>>2]|0?a[g>>2]|0?11:a[h>>2]|0?10:8:8;if(8==(l|0)){l=0;n=a[d+60+(a[k+20>>2]<<2)>>2]|0;p=
-n+64|0;do t[n>>0]=0,n=n+1|0;while((n|0)<(p|0));a[d+24+(m<<2)>>2]=0;a[d+40+(m<<2)>>2]=0;a[e>>2]|0?l=10:a[f>>2]|0&&(l=11)}10==(l|0)&&(l=0,0!=(a[g>>2]|0))&&(l=11);11==(l|0)&&Va(a[d+124+(a[k+24>>2]<<2)>>2]|0,0,256)|0;m=m+1|0}while((m|0)<(a[c>>2]|0))}a[(d+12|0)>>2]=0;a[(d+16|0)>>2]=0;a[(d+20|0)>>2]=-16;a[(d+56|0)>>2]=a[(b+280|0)>>2]|0}function Cc(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n;c=a[b+468>>2]|0;e=c+16|0;f=a[e>>2]|0;g=c+20|0;if(32768>(f|0))for(f=b+440|0,h=b+24|0,m=c+12|0,k=a[g>>2]|0;;){c=k+-1|0;a[g>>
-2]=c;if(1>(k|0)){a:do if(a[f>>2]|0)k=0;else if(k=a[h>>2]|0,l=k+4|0,0==(a[l>>2]|0)&&0==(da[a[k+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),a[l>>2]=(a[l>>2]|0)+-1,l=a[k>>2]|0,a[k>>2]=l+1,k=t[l>>0]|0,l=k&255,-1==k<<24>>24){b:for(;;)switch(k=a[h>>2]|0,c=k+4|0,0==(a[c>>2]|0)&&0==(da[a[k+12>>2]&63](b)|0)&&(l=a[b>>2]|0,a[l+20>>2]=25,R[a[l>>2]&127](b)),a[c>>2]=(a[c>>2]|0)+-1,c=a[k>>2]|0,a[k>>2]=c+1,k=x[c>>0]|0,k|0){case 0:k=255;break a;case 255:break;default:break b}a[f>>2]=k;k=0}else k=
-l;while(0);a[m>>2]=a[m>>2]<<8|k;k=a[g>>2]|0;c=k+8|0;a[g>>2]=c;-8>(k|0)?(l=k+9|0,(a[g>>2]=l)?k=l:(a[e>>2]=32768,k=0)):k=c}else k=c;c=a[e>>2]<<1;a[e>>2]=c;if(!(32768>(c|0))){h=c;l=m;n=k;break}}else h=f,l=c+12|0,n=a[g>>2]|0;g=x[d>>0]|0;c=a[122136+((g&127)<<2)>>2]|0;f=c>>8;k=c>>16;m=h-k|0;a[e>>2]=m;h=m<<n;n=a[l>>2]|0;if((n|0)>=(h|0))return a[l>>2]=n-h,a[e>>2]=k,e=g&128,(m|0)<(k|0)?(t[d>>0]=e^f,e=g>>7):(t[d>>0]=e^c,e=(g^128)>>7),e|0;if(32768<=(m|0))return g>>7|0;e=g&128;(m|0)<(k|0)?(t[d>>0]=e^c,e=(g^128)>>
-7):(t[d>>0]=e^f,e=g>>7);return e|0}function Eg(a){a|=0;return(32==(a|0)|5>(a+-9|0)>>>0)&1|0}function md(){var b;if(!(a[30648]|0))return 122848;b=(Wj()|0)+60|0;return a[b>>2]|0}function uk(a){a|=0;var d,c=0,e=0,f=0,g=0;for(d=0;;){if((x[161247+d>>0]|0)==(a|0)){c=d;e=2;break}d=d+1|0;if(87==(d|0)){f=87;g=161335;break}}if(2==(e|0))if(c)f=c,g=161335;else return 161335;for(;;){for(c=g;;)if(e=c+1|0,t[c>>0]|0)c=e;else{a=e;break}if(f=f+-1|0)g=a;else break}return a|0}function Ki(b,d,c){b|=0;d|=0;c|=0;var e=
-0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0,Q=0,C=0,Ra=0,V=0,r=0,w=0,I=0,G=0,L=0,K=0,v=0,fd=0,O=0,M=0,T=0,X=0,P=0,A=0,D=0,N=0,ba=0,F=0,R=0,S=0,ga=0,Ha=0,ma=0,Y=0,ha=0,W=0,da=0,pc=0,Z=0,ca=0,fa=0,oa=0,sa=0,aa=0,ua=0,Ia=0,Da=0,na=0,Na=0,ja=0,Ca=0,Ga=0,Ea=0,La=0,ya=0,ra=0,Aa=0,pa=0,xb=0,Zb=0,Wa=0,jb=0,mc=0,Ka=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,Qa=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=
-0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Va=0,Ua=0,eb=0,Jb=0,ub=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Ab=0,ab=0,nd=0,Zd=0,wb=0,pb=0,Qd=0,zb=0,Ob=0,Tb=0,Hb=0,rb=0,Wb=0,fb=0,Gb=0,lb=0,Kb=0,Lb=0,ac=0,Yb=0,kc=0,hc=0,Pb=0,Sb=0,kd=0,fc=0,jc=0,Vb=0,zc=0,yc=0,oc=0,db=0,$b=0,Ie=0,ic=0,Wd=0,Jd=0,bd=0,ec=0,Rc=0,lc=0,Be=0,Ec=0,Gc=0,nc=0,Lc=0,Bc=0,hd=0,Bd=0,Hc=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,Cc=0,vc=0,Fc=0,Qc=0,xc=0,Yc=0,wc=0,id=0,dc=0,Ac=0,Sc=0,Tc=0,Wc=0,Uc=0,Ce=0,vd=0,wd=0,Vc=0,Nf=0,Pc=0,ug=0,rd=0,ad=0,dd=0,Xc=0,ce=0,oe=0,qd=0,
-ld=0,Df=0,sd=0,$c=0,cd=0,td=0,he=0,e=u;u=u+512|0;f=e;switch(d|0){case 0:g=24;h=-149;break;case 1:g=53;h=-1074;break;case 2:g=53;h=-1074;break;default:return m=0,u=e,+m}d=b+4|0;k=b+100|0;do l=a[d>>2]|0,l>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=l+1,n=x[l>>0]|0):n=Jc(b)|0;while(0!=(Eg(n)|0));p=n;a:do switch(p|0){case 43:case 45:n=1-((45==(p|0)&1)<<1)|0;l=a[d>>2]|0;l>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=l+1,q=x[l>>0]|0):q=Jc(b)|0;y=n;break a;default:q=p,y=1}while(0);p=q;for(q=0;;){if((p|32)!=(t[163139+q>>0]|0)){B=p;H=q;
-break}7>q>>>0?(n=a[d>>2]|0,n>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=n+1,ka=x[n>>0]|0):ka=Jc(b)|0):ka=p;n=q+1|0;if(8>n>>>0)p=ka,q=n;else{B=ka;H=n;break}}a:do switch(H|0){case 8:break;case 3:z=23;break;default:ka=0!=(c|0);if(ka&3<H>>>0){8!=(H|0)&&(z=23);break a}do if(!H){if(110==(B|32)){q=a[d>>2]|0;q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,Q=x[q>>0]|0):Q=Jc(b)|0;if(97!=(Q|32))break;q=a[d>>2]|0;q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,C=x[q>>0]|0):C=Jc(b)|0;if(110!=(C|32))break;q=a[d>>2]|0;q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+
-1,Ra=x[q>>0]|0):Ra=Jc(b)|0;if(40==(Ra|0))V=1;else{if(!(a[k>>2]|0))return m=Eh,u=e,+m;a[d>>2]=(a[d>>2]|0)+-1;m=Eh;u=e;return+m}for(;;){q=a[d>>2]|0;q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,r=x[q>>0]|0):r=Jc(b)|0;if(10>(r+-48|0)>>>0|26>(r+-65|0)>>>0?0:!(95==(r|0)|26>(r+-97|0)>>>0)){w=r;I=V;break}V=V+1|0}if(41==(w|0))return m=Eh,u=e,+m;(q=0==(a[k>>2]|0))||(a[d>>2]=(a[d>>2]|0)+-1);if(!ka)return p=md()|0,a[p>>2]=22,Sf(b,0),m=0,u=e,+m;if(I)G=I;else return m=Eh,u=e,+m;do G=G+-1|0,q||(a[d>>2]=(a[d>>2]|0)+-1);while(0!=
-(G|0));m=Eh;u=e;return+m}do if(48==(B|0))if(q=a[d>>2]|0,q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,L=x[q>>0]|0):L=Jc(b)|0,120!=(L|32))a[k>>2]|0&&(a[d>>2]=(a[d>>2]|0)+-1),K=48;else{q=a[d>>2]|0;q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,v=x[q>>0]|0):v=Jc(b)|0;fd=0;b:for(;;){switch(v|0){case 46:O=fd;z=72;break b;case 48:break;default:P=X=T=M=0;A=v;D=fd;ba=N=0;F=1;S=R=0;break b}q=a[d>>2]|0;q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,v=x[q>>0]|0):v=Jc(b)|0;fd=1}if(72==(z|0))if(q=a[d>>2]|0,q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,ga=
-x[q>>0]|0):ga=Jc(b)|0,48==(ga|0))for(p=q=0;;)if(n=a[d>>2]|0,n>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=n+1,Ha=x[n>>0]|0):Ha=Jc(b)|0,n=Qb(q|0,p|0,-1,-1)|0,l=U,48==(Ha|0))q=n,p=l;else{T=M=0;X=n;P=l;A=Ha;N=D=1;ba=0;F=1;S=R=0;break}else P=X=T=M=0,A=ga,D=O,N=1,ba=0,F=1,S=R=0;for(;;){p=A+-48|0;q=A|32;if(10<=p>>>0){l=46==(A|0);if(!(l|6>(q+-97|0)>>>0)){ma=T;Y=X;ha=M;W=P;da=A;pc=D;Z=N;ca=R;fa=S;break}if(l)if(N){ma=T;Y=X;ha=M;W=P;da=46;pc=D;Z=N;ca=R;fa=S;break}else oa=T,sa=M,aa=T,ua=M,Ia=D,Da=1,na=ba,Na=F,ja=R,Ca=S;else z=
-84}else z=84;84==(z|0)&&(z=0,l=57<(A|0)?q+-87|0:p,0>(M|0)|0==(M|0)&8>T>>>0?(Ea=ba,La=F,ya=l+(R<<4)|0,ra=S):0>(M|0)|0==(M|0)&14>T>>>0?(Ga=.0625*F,Ea=ba,La=Ga,ya=R,ra=S+Ga*+(l|0)):0!=(ba|0)|0==(l|0)?(Ea=ba,La=F,ya=R,ra=S):(Ea=1,La=F,ya=R,ra=S+.5*F),l=Qb(T|0,M|0,1,0)|0,oa=X,sa=P,aa=l,ua=U,Ia=1,Da=N,na=Ea,Na=La,ja=ya,Ca=ra);l=a[d>>2]|0;l>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=l+1,M=ua,T=aa,X=oa,P=sa,A=x[l>>0]|0):(M=ua,T=aa,X=oa,P=sa,A=Jc(b)|0);D=Ia;N=Da;ba=na;F=Na;R=ja;S=Ca}if(!pc){(l=0==(a[k>>2]|0))||(a[d>>2]=
-(a[d>>2]|0)+-1);if(c){if(l?0:(l=a[d>>2]|0,a[d>>2]=l+-1,0!=(Z|0)))a[d>>2]=l+-2}else Sf(b,0);m=0*+(y|0);u=e;return+m}p=(l=0==(Z|0))?ma:Y;q=l?ha:W;if(0>(ha|0)|0==(ha|0)&8>ma>>>0)for(l=ma,n=ha,Aa=ca;;)if(pa=Aa<<4,l=Qb(l|0,n|0,1,0)|0,n=U,0>(n|0)|0==(n|0)&8>l>>>0)Aa=pa;else{xb=pa;break}else xb=ca;if(112==(da|32))if(Aa=Lk(b,c)|0,l=U,0==(Aa|0)&-2147483648==(l|0))if(c)a[k>>2]|0&&(a[d>>2]=(a[d>>2]|0)+-1),Wa=Zb=0;else return Sf(b,0),m=0,u=e,+m;else Zb=Aa,Wa=l;else a[k>>2]|0&&(a[d>>2]=(a[d>>2]|0)+-1),Wa=Zb=0;
-l=Oc(p|0,q|0,2)|0;Aa=Qb(l|0,U|0,-32,-1)|0;l=Qb(Aa|0,U|0,Zb|0,Wa|0)|0;Aa=U;if(!xb)return m=0*+(y|0),u=e,+m;if(0<(Aa|0)|0==(Aa|0)&l>>>0>(0-h|0)>>>0)return n=md()|0,a[n>>2]=34,m=Infinity*+(y|0),u=e,+m;n=h+-106|0;pa=(0>(n|0))<<31>>31;if((Aa|0)<(pa|0)|(Aa|0)==(pa|0)&l>>>0<n>>>0)return n=md()|0,a[n>>2]=34,m=0*+(y|0),u=e,+m;if(-1<(xb|0))for(n=l,pa=Aa,jb=xb,Ga=fa;;)if(mc=!(.5<=Ga),Ka=mc&1|jb<<1,Ta=Ka^1,Ya=Ga+(mc?Ga:Ga+-1),mc=Qb(n|0,pa|0,-1,-1)|0,Sa=U,-1<(Ka|0))n=mc,pa=Sa,jb=Ta,Ga=Ya;else{mb=mc;Db=Sa;cc=Ta;
-Za=Ya;break}else mb=l,Db=Aa,cc=xb,Za=fa;jb=Ic(32,0,h|0,(0>(h|0))<<31>>31|0)|0;pa=Qb(mb|0,Db|0,jb|0,U|0)|0;jb=U;0>(jb|0)|0==(jb|0)&g>>>0>pa>>>0?0>(pa|0)?(ia=0,z=125):(qa=pa,z=123):(qa=g,z=123);123==(z|0)&&(53>(qa|0)?(ia=qa,z=125):(Ja=qa,ea=+(y|0),wa=0));if(125==(z|0))var Ga=+(y|0),Ja=ia,ea=Ga,te=+ii(1,84-ia|0),wa=+ + +ch(+te,+Ga);pa=0==(cc&1|0)&0!=Za&32>(Ja|0);Ga=ea*(pa?0:Za)+(wa+ea*+(((pa&1)+cc|0)>>>0))-wa;0==Ga&&(pa=md()|0,a[pa>>2]=34);m=+ + +ii(+Ga,mb|0);u=e;return+m}else K=B;while(0);pa=h+g|0;
-jb=0-pa|0;n=K;q=0;b:for(;;){switch(n|0){case 46:Ma=q;z=136;break b;case 48:break;default:xa=n;la=$a=0;Ba=q;va=0;break b}p=a[d>>2]|0;p>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=p+1,n=x[p>>0]|0):n=Jc(b)|0;q=1}if(136==(z|0))if(q=a[d>>2]|0,q>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=q+1,za=x[q>>0]|0):za=Jc(b)|0,48==(za|0))for(n=q=0;;)if(p=Qb(q|0,n|0,-1,-1)|0,Ta=U,Sa=a[d>>2]|0,Sa>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=Sa+1,ta=x[Sa>>0]|0):ta=Jc(b)|0,48==(ta|0))q=p,n=Ta;else{xa=ta;$a=p;la=Ta;va=Ba=1;break}else xa=za,la=$a=0,Ba=Ma,va=1;a[f>>
-2]=0;n=xa+-48|0;q=46==(xa|0);b:do if(q|10>n>>>0){Ta=f+496|0;p=xa;mc=Sa=0;Ka=q;nb=n;sc=$a;gb=la;hb=Ba;ob=va;kb=qb=Bb=0;c:for(;;){do if(Ka)if(ob){tb=sc;bb=gb;Ib=Sa;Mb=mc;Va=hb;Ua=Bb;eb=qb;Jb=kb;break c}else ib=Sa,Cb=mc,Qa=Sa,sb=mc,Xa=hb,Fa=1,Pa=Bb,Eb=qb,vb=kb;else ub=Qb(Sa|0,mc|0,1,0)|0,yb=U,cb=48!=(p|0),125<=(qb|0)?(cb&&(a[Ta>>2]|=1),ib=sc,Cb=gb,Qa=ub,sb=yb,Xa=hb,Fa=ob,Pa=Bb,Eb=qb,vb=kb):(gc=f+(qb<<2)|0,Ub=Bb?p+-48+(10*(a[gc>>2]|0)|0)|0:nb,a[gc>>2]=Ub,gc=Bb+1|0,Fb=9==(gc|0),ib=sc,Cb=gb,Qa=ub,sb=yb,
-Xa=1,Fa=ob,Pa=Fb?0:gc,Eb=(Fb&1)+qb|0,vb=cb?ub:kb);while(0);ub=a[d>>2]|0;ub>>>0<(a[k>>2]|0)>>>0?(a[d>>2]=ub+1,Ab=x[ub>>0]|0):Ab=Jc(b)|0;nb=Ab+-48|0;Ka=46==(Ab|0);if(Ka|10>nb>>>0)p=Ab,Sa=Qa,mc=sb,sc=ib,gb=Cb,hb=Xa,ob=Fa,Bb=Pa,qb=Eb,kb=vb;else{ab=Ab;nd=Qa;Zd=ib;wb=sb;pb=Cb;Qd=Xa;zb=Fa;Ob=Pa;Tb=Eb;Hb=vb;z=159;break b}}rb=Ib;Wb=Mb;fb=tb;Gb=bb;lb=0!=(Va|0);Kb=Ua;Lb=eb;ac=Jb;z=167}else ab=xa,nd=0,Zd=$a,wb=0,pb=la,Qd=Ba,zb=va,Hb=Tb=Ob=0,z=159;while(0);do if(159==(z|0))if(q=(n=0==(zb|0))?nd:Zd,kb=n?wb:pb,
-n=0!=(Qd|0),101==(ab|32)&n){n=Lk(b,c)|0;qb=U;if(0==(n|0)&-2147483648==(qb|0)){if(!c){Sf(b,0);Vb=0;break}a[k>>2]|0&&(a[d>>2]=(a[d>>2]|0)+-1);yc=zc=0}else zc=n,yc=qb;oc=qb=Qb(zc|0,yc|0,q|0,kb|0)|0;db=nd;$b=U;Ie=wb;ic=Ob;Wd=Tb;Jd=Hb;z=171}else-1<(ab|0)?(rb=nd,Wb=wb,fb=q,Gb=kb,lb=n,Kb=Ob,Lb=Tb,ac=Hb,z=167):(Yb=nd,kc=wb,hc=n,Pb=q,Sb=kb,kd=Ob,fc=Tb,jc=Hb,z=169);while(0);167==(z|0)&&(a[k>>2]|0?(a[d>>2]=(a[d>>2]|0)+-1,lb?(oc=fb,db=rb,$b=Gb,Ie=Wb,ic=Kb,Wd=Lb,Jd=ac,z=171):z=170):(Yb=rb,kc=Wb,hc=lb,Pb=fb,Sb=
-Gb,kd=Kb,fc=Lb,jc=ac,z=169));169==(z|0)&&(hc?(oc=Pb,db=Yb,$b=Sb,Ie=kc,ic=kd,Wd=fc,Jd=jc,z=171):z=170);do if(170==(z|0))qb=md()|0,a[qb>>2]=22,Sf(b,0),Vb=0;else if(171==(z|0))if(qb=a[f>>2]|0)if((0>(Ie|0)|0==(Ie|0)&10>db>>>0)&(oc|0)==(db|0)&($b|0)==(Ie|0)&&30<g>>>0|0==(qb>>>g|0))Vb=+(y|0)*+(qb>>>0);else if(qb=(h|0)/-2|0,kb=(0>(qb|0))<<31>>31,($b|0)>(kb|0)|($b|0)==(kb|0)&oc>>>0>qb>>>0)qb=md()|0,a[qb>>2]=34,Vb=Infinity*+(y|0);else if(qb=h+-106|0,kb=(0>(qb|0))<<31>>31,($b|0)<(kb|0)|($b|0)==(kb|0)&oc>>>
-0<qb>>>0)qb=md()|0,a[qb>>2]=34,Vb=0*+(y|0);else{if(ic){if(9>(ic|0)){qb=f+(Wd<<2)|0;kb=a[qb>>2]|0;for(q=ic;;)if(n=10*kb|0,q=q+1|0,9==(q|0)){ec=n;break}else kb=n;a[qb>>2]=ec}bd=Wd+1|0}else bd=Wd;if(9>(Jd|0)&&(Jd|0)<=(oc|0)&18>(oc|0)){if(9==(oc|0)){Vb=+(y|0)*+((a[f>>2]|0)>>>0);break}if(9>(oc|0)){Vb=+(y|0)*+((a[f>>2]|0)>>>0)/+(a[122852+(8-oc<<2)>>2]|0);break}kb=g+27+(E(oc,-3)|0)|0;q=a[f>>2]|0;if(30<(kb|0)|0==(q>>>kb|0)){Vb=+(y|0)*+(q>>>0)*+(a[122852+(oc+-10<<2)>>2]|0);break}}if(q=(oc|0)%9|0){kb=-1<(oc|
-0)?q:q+9|0;q=a[122852+(8-kb<<2)>>2]|0;if(bd){n=1E9/(q|0)|0;hb=ob=Bb=0;for(gb=oc;;)if(sc=f+(hb<<2)|0,mc=a[sc>>2]|0,Sa=((mc>>>0)/(q>>>0)|0)+ob|0,a[sc>>2]=Sa,sc=E((mc>>>0)%(q>>>0)|0,n)|0,mc=(hb|0)==(Bb|0)&0==(Sa|0),hb=hb+1|0,Sa=mc?gb+-9|0:gb,p=mc?hb&127:Bb,(hb|0)==(bd|0)){Gc=sc;nc=p;Lc=Sa;break}else Bb=p,ob=sc,gb=Sa;Gc?(a[f+(bd<<2)>>2]=Gc,Bc=nc,hd=Lc,Bd=bd+1|0):(Bc=nc,hd=Lc,Bd=bd)}else Bc=0,hd=oc,Bd=0;Rc=Bc;lc=0;Be=9-kb+hd|0;Ec=Bd}else lc=Rc=0,Be=oc,Ec=bd;b:for(;;){gb=18>(Be|0);ob=18==(Be|0);Bb=f+(Rc<<
-2)|0;hb=lc;for(n=Ec;;){if(!gb){if(!ob){Hc=Rc;Rb=hb;od=Be;tc=n;break b}if(9007199<=(a[Bb>>2]|0)>>>0){Hc=Rc;Rb=hb;od=18;tc=n;break b}}q=0;qb=n+127|0;for(Sa=n;;)if(sc=qb&127,p=f+(sc<<2)|0,mc=Oc(a[p>>2]|0,0,29)|0,nb=Qb(mc|0,U|0,q|0,0)|0,mc=U,0<mc>>>0|0==(mc|0)&1E9<nb>>>0?(Ka=pf(nb|0,mc|0,1E9,0)|0,Xb=Ta=vk(nb|0,mc|0,1E9,0)|0,rc=Ka):(Xb=nb,rc=0),a[p>>2]=Xb,p=(sc|0)==(Rc|0),nb=(sc|0)!=(Sa+127&127|0)|p?Sa:0==(Xb|0)?sc:Sa,p){ed=rc;gd=nb;break}else q=rc,qb=sc+-1|0,Sa=nb;Sa=hb+-29|0;if(ed){Cc=Sa;vc=ed;Fc=gd;
-break}else hb=Sa,n=gd}n=Rc+127&127;(n|0)==(Fc|0)?(hb=Fc+127&127,Bb=f+((Fc+126&127)<<2)|0,a[Bb>>2]|=a[f+(hb<<2)>>2],Qc=hb):Qc=Fc;a[f+(n<<2)>>2]=vc;Rc=n;lc=Cc;Be=Be+9|0;Ec=Qc}b:for(;;){xc=tc+1&127;kb=f+((tc+127&127)<<2)|0;n=Hc;hb=Rb;for(Bb=od;;){ob=18==(Bb|0);gb=27<(Bb|0)?9:1;Sa=ob^1;Yc=n;for(wc=hb;;){id=Yc&127;dc=(id|0)==(tc|0);do if(dc)z=217;else if(qb=a[f+(id<<2)>>2]|0,9007199>qb>>>0)z=217;else if(!(9007199<qb>>>0))if(qb=Yc+1&127,(qb|0)==(tc|0))z=217;else if(q=a[f+(qb<<2)>>2]|0,254740991>q>>>0)z=
-217;else if(!(254740991<q>>>0|Sa)){Ac=id;Sc=Yc;Tc=wc;Wc=tc;break b}while(0);if(217==(z|0)&&(z=0,ob)){z=218;break b}q=wc+gb|0;if((Yc|0)==(tc|0))Yc=tc,wc=q;else{Uc=q;Ce=Yc;break}}ob=(1<<gb)+-1|0;Sa=1E9>>>gb;q=Ce;qb=0;nb=Ce;for(sc=Bb;;)if(p=f+(nb<<2)|0,Ka=a[p>>2]|0,Ta=(Ka>>>gb)+qb|0,a[p>>2]=Ta,p=E(Ka&ob,Sa)|0,Ka=(nb|0)==(q|0)&0==(Ta|0),nb=nb+1&127,Ta=Ka?sc+-9|0:sc,mc=Ka?nb:q,(nb|0)==(tc|0)){vd=p;wd=mc;Vc=Ta;break}else q=mc,qb=p,sc=Ta;if(vd){if((xc|0)!=(wd|0)){Nf=Uc;Pc=vd;ug=wd;rd=Vc;break}a[kb>>2]|=
-1}n=wd;hb=Uc;Bb=Vc}a[f+(tc<<2)>>2]=Pc;Hc=ug;Rb=Nf;od=rd;tc=xc}218==(z|0)&&(dc?(a[f+(xc+-1<<2)>>2]=0,Ac=tc,Sc=Yc,Tc=wc,Wc=xc):(Ac=id,Sc=Yc,Tc=wc,Wc=tc));Ga=+((a[f+(Ac<<2)>>2]|0)>>>0);Bb=Sc+1&127;(Bb|0)==(Wc|0)?(hb=Sc+2&127,a[f+(hb+-1<<2)>>2]=0,ad=hb):ad=Wc;Ya=+(y|0);dd=Ya*(1E9*Ga+ +((a[f+(Bb<<2)>>2]|0)>>>0));Bb=Tc+53|0;hb=Bb-h|0;n=(hb|0)<(g|0);kb=n&1;sc=n?0>(hb|0)?0:hb:g;if(53>(sc|0))var de=+ii(1,105-sc|0),Ga=+ + +ch(+de,+dd),He=+ii(1,53-sc|0),Xc=+ + +$h(+dd,+He),ce=Ga,oe=Xc,qd=Ga+(dd-Xc);else oe=
-ce=0,qd=dd;qb=Sc+2&127;(qb|0)==(ad|0)?ld=oe:(q=a[f+(qb<<2)>>2]|0,Df=5E8<=q>>>0?5E8<q>>>0?.75*Ya+oe:(Sc+3&127|0)==(ad|0)?.5*Ya+oe:.75*Ya+oe:0==(q|0)&&(Sc+3&127|0)==(ad|0)?oe:.25*Ya+oe,ld=1>=(53-sc|0)?Df:0!=+ + +$h(+Df,1)?Df:Df+1);Ya=qd+ld-ce;if((Bb&2147483647|0)>(-2-pa|0)){9007199254740992<=+Kk(+Ya)?(sd=n&(sc|0)==(hb|0)?0:kb,$c=Tc+1|0,cd=.5*Ya):(sd=kb,$c=Tc,cd=Ya);if(!(($c+50|0)<=(jb|0))||0!=ld&0!=(sd|0))qb=md()|0,a[qb>>2]=34;td=$c;he=cd}else td=Tc,he=Ya;Vb=+ + +ii(+he,td|0)}else Vb=0*+(y|0);while(0);
-m=Vb;u=e;return+m}while(0);a[k>>2]|0&&(a[d>>2]=(a[d>>2]|0)+-1);ka=md()|0;a[ka>>2]=22;Sf(b,0);m=0;u=e;return+m}while(0);if(23==(z|0)&&((z=0==(a[k>>2]|0))||(a[d>>2]=(a[d>>2]|0)+-1),0!=(c|0)&3<H>>>0)){c=H;do z||(a[d>>2]=(a[d>>2]|0)+-1),c=c+-1|0;while(3<c>>>0)}m=+(y|0)*Kj;u=e;return+m}function Zh(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p=0,q=0,y,B=0,H=0,ka,z,Q,C=0,u=0,V=0,r=0,w=0,I=0,G=0;if(36<d>>>0)return g=md()|0,a[g>>2]=22,U=0;g=b+4|0;h=b+100|0;do m=a[g>>2]|0,m>>>0<(a[h>>2]|0)>>>0?(a[g>>
-2]=m+1,k=x[m>>0]|0):k=Jc(b)|0;while(0!=(Eg(k)|0));l=k;a:do switch(l|0){case 43:case 45:k=(45==(l|0))<<31>>31;m=a[g>>2]|0;m>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=m+1,n=x[m>>0]|0):n=Jc(b)|0;m=k;break a;default:n=l,m=0}while(0);l=0==(d|0);if(0==(d&-17|0)&48==(n|0))if(k=a[g>>2]|0,k>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=k+1,k=x[k>>0]|0):k=Jc(b)|0,120!=(k|32))l?(p=8,q=k,y=46):(B=d,H=k,y=32);else{k=a[g>>2]|0;k>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=k+1,ka=x[k>>0]|0):ka=Jc(b)|0;if(15<(x[163148+(ka+1)>>0]|0)){(k=0==(a[h>>2]|0))||(a[g>>
-2]=(a[g>>2]|0)+-1);if(!c)return Sf(b,0),U=0;if(k)return U=0;a[g>>2]=(a[g>>2]|0)+-1;return U=0}p=16;q=ka;y=46}else if(k=l?10:d,(x[163148+(n+1)>>0]|0)>>>0<k>>>0)B=k,H=n,y=32;else return a[h>>2]|0&&(a[g>>2]=(a[g>>2]|0)+-1),Sf(b,0),k=md()|0,a[k>>2]=22,U=0;if(32==(y|0))if(10==(B|0)){n=H+-48|0;if(10>n>>>0){d=n;for(n=0;;)if(l=(10*n|0)+d|0,ka=a[g>>2]|0,ka>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=ka+1,c=x[ka>>0]|0):c=Jc(b)|0,d=c+-48|0,10>d>>>0&429496729>l>>>0)n=l;else break;k=l;l=0;B=c}else l=k=0,B=H;z=B+-48|0;if(10>
-z>>>0){H=k;n=l;c=z;for(z=B;;){B=Cf(H|0,n|0,10,0)|0;d=U;l=(0>(c|0))<<31>>31;ka=~l;if(d>>>0>ka>>>0|(d|0)==(ka|0)&B>>>0>~c>>>0){Q=c;d=H;c=n;n=z;break}ka=Qb(B|0,d|0,c|0,l|0)|0;l=U;d=a[g>>2]|0;d>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=d+1,k=x[d>>0]|0):k=Jc(b)|0;d=k+-48|0;if(10>d>>>0&(429496729>l>>>0|429496729==(l|0)&2576980378>ka>>>0))H=ka,n=l,c=d,z=k;else{Q=d;d=ka;c=l;n=k;break}}9<Q>>>0?(C=c,u=d,V=m):(r=10,w=d,I=c,G=n,y=72)}else C=l,u=k,V=m}else p=B,q=H,y=46;a:do if(46==(y|0)){if(!(p+-1&p)){H=t[163405+((23*p|0)>>>
-5&7)>>0]|0;B=t[163148+(q+1)>>0]|0;k=B&255;if(k>>>0<p>>>0){l=k;for(k=0;;)if(n=l|k<<H,c=a[g>>2]|0,c>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=c+1,r=x[c>>0]|0):r=Jc(b)|0,c=t[163148+(r+1)>>0]|0,l=c&255,134217728>n>>>0&l>>>0<p>>>0)k=n;else{q=n;w=c;l=r;break}r=w;I=0;w=q;q=l}else r=B,w=I=0;k=Oe(-1,-1,H|0)|0;l=U;if((r&255)>>>0>=p>>>0|I>>>0>l>>>0|(I|0)==(l|0)&w>>>0>k>>>0){r=p;G=q;y=72;break}else q=r;for(;;)if(n=Oc(w|0,I|0,H|0)|0,c=U,d=q&255|n,n=a[g>>2]|0,n>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=n+1,B=x[n>>0]|0):B=Jc(b)|0,q=t[163148+
-(B+1)>>0]|0,(q&255)>>>0>=p>>>0|c>>>0>l>>>0|(c|0)==(l|0)&d>>>0>k>>>0){r=p;w=d;I=c;G=B;y=72;break a}else w=d,I=c}k=t[163148+(q+1)>>0]|0;l=k&255;if(l>>>0<p>>>0){H=l;for(l=0;;)if(B=H+(E(l,p)|0)|0,c=a[g>>2]|0,c>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=c+1,r=x[c>>0]|0):r=Jc(b)|0,c=t[163148+(r+1)>>0]|0,H=c&255,119304647>B>>>0&H>>>0<p>>>0)l=B;else{H=B;w=c;l=r;break}r=w;w=H;I=0;G=l}else r=k,I=w=0,G=q;if((r&255)>>>0<p>>>0)for(l=pf(-1,-1,p|0,0)|0,H=U,B=I,c=w,d=r,n=G;;){if(B>>>0>H>>>0|(B|0)==(H|0)&c>>>0>l>>>0){r=p;w=c;I=
-B;G=n;y=72;break a}Q=Cf(c|0,B|0,p|0,0)|0;k=U;z=d&255;if(4294967295<k>>>0|-1==(k|0)&Q>>>0>~z>>>0){r=p;w=c;I=B;G=n;y=72;break a}c=Qb(z|0,0,Q|0,k|0)|0;k=U;Q=a[g>>2]|0;Q>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=Q+1,G=x[Q>>0]|0):G=Jc(b)|0;d=t[163148+(G+1)>>0]|0;if((d&255)>>>0>=p>>>0){r=p;w=c;I=k;y=72;break}else B=k,n=G}else r=p,y=72}while(0);if(72==(y|0))if((x[163148+(G+1)>>0]|0)>>>0<r>>>0){do G=a[g>>2]|0,G>>>0<(a[h>>2]|0)>>>0?(a[g>>2]=G+1,p=x[G>>0]|0):p=Jc(b)|0;while((x[163148+(p+1)>>0]|0)>>>0<r>>>0);r=md()|0;a[r>>
-2]=34;C=f;u=e;V=0==(e&1|0)&1?m:0}else C=I,u=w,V=m;a[h>>2]|0&&(a[g>>2]=(a[g>>2]|0)+-1);if(!(C>>>0<f>>>0|(C|0)==(f|0)&u>>>0<e>>>0)){if(!(0!=(e&1|0)|0|0!=(V|0)))return g=md()|0,a[g>>2]=34,g=Qb(e|0,f|0,-1,-1)|0,U=b=U,g|0;if(C>>>0>f>>>0|(C|0)==(f|0)&u>>>0>e>>>0)return g=md()|0,a[g>>2]=34,U=f,e|0}e=(0>(V|0))<<31>>31;f=Ic(u^V|0,C^e|0,V|0,e|0)|0;U=b=U;return f|0}function Sf(b,d){b|=0;d|=0;var c,e,f;a[b+104>>2]=d;c=a[b+4>>2]|0;e=a[b+8>>2]|0;f=e-c|0;a[b+108>>2]=f;a[b+100>>2]=0!=(d|0)&(f|0)>(d|0)?c+d:e}function Jc(b){b|=
-0;var d,c,e=0,f,g,h,m=0,k=0,l=0;d=b+104|0;c=a[d>>2]|0;0!=(c|0)&&(a[b+108>>2]|0)>=(c|0)||(e=3);3==(e|0)?(g=b|0,f=u,u=u+16|0,g=0==(a[g+8>>2]|0)&&0!=(fj(g)|0)?-1:1==(Aa[a[g+32>>2]&63](g,f,1)|0)?x[f>>0]|0:-1,u=f,f=(c=g|0,0<=(c|0))):f=0;if(f){f=a[d>>2]|0;d=b+8|0;f?(d=a[d>>2]|0,g=a[b+4>>2]|0,h=d,f=f-(a[b+108>>2]|0)+-1|0,(h-g|0)>(f|0)?(a[b+100>>2]=g+f,m=d):(k=h,l=d,e=9)):(l=k=d=a[d>>2]|0,e=9);9==(e|0)&&(a[b+100>>2]=k,m=l);l=a[b+4>>2]|0;m&&(k=b+108|0,a[k>>2]=m+1-l+(a[k>>2]|0));k=l+-1|0;if((x[k>>0]|0)==(c|
-0))return c|0;t[k>>0]=c;return c|0}a[b+100>>2]=0;return-1}function le(b){b|=0;var d;if(4294963200>=b>>>0)return b|0;d=md()|0;a[d>>2]=0-b;return-1}function ch(b,d){var c,e;Hb[Qc>>3]=+b;c=a[Qc>>2]|0;e=a[Qc+4>>2]|0;Hb[Qc>>3]=+d;e=a[Qc+4>>2]&-2147483648|e&2147483647;a[Qc>>2]=c;a[Qc+4>>2]=e;return+ +Hb[Qc>>3]}function $h(b,d){b=+b;d=+d;var c,e,f,g,h,m,k,l,n,p=0,q,y,B,H,t,z;Hb[Qc>>3]=b;c=a[Qc>>2]|0;e=a[Qc+4>>2]|0;Hb[Qc>>3]=d;f=a[Qc>>2]|0;g=a[Qc+4>>2]|0;h=Oe(c|0,e|0,52)|0;m=h&2047;h=Oe(f|0,g|0,52)|0;k=h&
-2047;h=e&-2147483648;l=Oc(f|0,g|0,1)|0;n=U;if(0==(l|0)&0==(n|0)?0:(p=g&2147483647,!(2146435072<p>>>0|2146435072==(p|0)&0<f>>>0|2047==(m|0)))){p=Oc(c|0,e|0,1)|0;q=U;if(!(q>>>0>n>>>0|(q|0)==(n|0)&p>>>0>l>>>0))return+((p|0)==(l|0)&(q|0)==(n|0)?0*b:b);if(m)n=c,l=e&1048575|1048576,q=m;else{n=Oc(c|0,e|0,12)|0;q=U;if(-1<(q|0)|-1==(q|0)&4294967295<n>>>0)for(l=n,n=q,q=0;;)if(p=q+-1|0,l=Oc(l|0,n|0,1)|0,n=U,-1<(n|0)|-1==(n|0)&4294967295<l>>>0)q=p;else{y=p;break}else y=0;n=q=Oc(c|0,e|0,1-y|0)|0;l=U;q=y}if(k)H=
-f,t=g&1048575|1048576,z=k;else{m=Oc(f|0,g|0,12)|0;e=U;if(-1<(e|0)|-1==(e|0)&4294967295<m>>>0)for(c=m,m=e,e=0;;)if(y=e+-1|0,c=Oc(c|0,m|0,1)|0,m=U,-1<(m|0)|-1==(m|0)&4294967295<c>>>0)e=y;else{B=y;break}else B=0;H=e=Oc(f|0,g|0,1-B|0)|0;t=U;z=B}k=Ic(n|0,l|0,H|0,t|0)|0;g=U;f=-1<(g|0)|-1==(g|0)&4294967295<k>>>0;a:do{if((q|0)>(z|0)){B=f;e=k;c=g;m=n;for(y=l;;){if(B)if((m|0)==(H|0)&(y|0)==(t|0))break;else f=e,g=c;else f=m,g=y;l=Oc(f|0,g|0,1)|0;n=U;p=q+-1|0;g=Ic(l|0,n|0,H|0,t|0)|0;f=U;k=-1<(f|0)|-1==(f|0)&
-4294967295<g>>>0;if((p|0)>(z|0))B=k,e=g,c=f,m=l,y=n,q=p;else{B=k;c=l;e=n;m=g;y=f;break a}}h=0*b;return+h}B=f;c=n;e=l;m=k;y=g;p=q}while(0);if(B){if((c|0)==(H|0)&(e|0)==(t|0))return+(0*b);H=y;t=m}else H=e,t=c;if(1048576>H>>>0|1048576==(H|0)&0>t>>>0)for(c=t,e=H,m=p;;)if(y=Oc(c|0,e|0,1)|0,t=U,H=m+-1|0,1048576>t>>>0|1048576==(t|0)&0>y>>>0)c=y,e=t,m=H;else{z=y;f=H;break}else z=t,t=H,f=p;0<(f|0)?(p=Qb(z|0,t|0,0,-1048576)|0,H=U,t=Oc(f|0,0,52)|0,H|=U,t|=p):(t=Oe(z|0,t|0,1-f|0)|0,H=U);a[Qc>>2]=t;a[Qc+4>>2]=
-H|h;h=+Hb[Qc>>3];return+h}h=b*d;return+(h/h)}function ai(b,d){b=+b;d|=0;var c,e,f;Hb[Qc>>3]=b;c=a[Qc>>2]|0;e=a[Qc+4>>2]|0;f=(Oe(c|0,e|0,52)|0)&2047;switch(f|0){case 0:return 0!=b?(c=+ai(1.8446744073709552E19*b,d),e=(a[d>>2]|0)+-64|0):(c=b,e=0),a[d>>2]=e,+c;case 2047:return+b;default:return a[d>>2]=f+-1022,a[Qc>>2]=c,a[Qc+4>>2]=e&-2146435073|1071644672,c=+Hb[Qc>>3],+c}}function ii(b,d){b=+b;d|=0;var c,e;1023<(d|0)?(c=8.98846567431158E307*b,e=d+-1023|0,1023<(e|0)&&(e=d+-2046|0,e=1023<(e|0)?1023:e,c*=
-8.98846567431158E307)):-1022>(d|0)?(c=2.2250738585072014E-308*b,e=d+1022|0,-1022>(e|0)&&(e=d+2044|0,e=-1022>(e|0)?-1022:e,c*=2.2250738585072014E-308)):(e=d,c=b);d=Oc(e+1023|0,0,52)|0;e=U;a[Qc>>2]=d;a[Qc+4>>2]=e;return+(c*+Hb[Qc>>3])}function Li(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m;h=u;u=u+32|0;if(!(0==(g&4095|0)&0==((0>(g|0))<<31>>31&-4096|0)))return m=md()|0,a[m>>2]=22,u=h,-1;if(2147483646<d>>>0)return m=md()|0,a[m>>2]=12,u=h,-1;m=0!=(e&16|0);a[h>>2]=b;a[h+4>>2]=d;a[h+8>>2]=c;a[h+12>>
-2]=e;a[h+16>>2]=f;a[h+20>>2]=g>>12;g=le(Rj(192,h|0)|0)|0;if(!m)return u=h,g|0;u=h;return g|0}function Mi(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k=0,l=0,n=0,p=0,q=0;f=u;u=u+16|0;g=0==(e|0)?122884:e;e=a[g>>2]|0;a:do{if(d){b=0==(b|0)?f:b;if(!c)return c=-2,u=f,c|0;do if(e)l=c,n=e,p=d,q=9;else if(h=t[d>>0]|0,m=h&255,-1>=h<<24>>24){h=m+-194|0;if(50<h>>>0)break a;m=a[122636+(h<<2)>>2]|0;(h=c+-1|0)?(l=h,n=m,p=d+1|0,q=9):k=m}else return a[b>>2]=m,c=0!=h<<24>>24&1,u=f,c|0;while(0);b:do if(9==(q|0)){h=t[p>>
-0]|0;m=(h&255)>>>3;if(7<(m+-16|m+(n>>26))>>>0)break a;else d=l,e=h;for(;;){p=p+1|0;n=(e&255)+-128|n<<6;d=d+-1|0;if(0<=(n|0)){p=n;n=d;break}if(!d){k=n;break b}e=t[p>>0]|0;if(-128!=(e&-64)<<24>>24)break a}a[g>>2]=0;a[b>>2]=p;c=c-n|0;u=f;return c|0}while(0);a[g>>2]=k;c=-2;u=f;return c|0}if(!e)return c=0,u=f,c|0}while(0);a[g>>2]=0;g=md()|0;a[g>>2]=84;u=f;return-1}function dj(b,d,c){b|=0;d|=0;if(!b)return 1;if(128>d>>>0)return t[b>>0]=d,1;if(2048>d>>>0)return t[b>>0]=d>>>6|192,t[b+1>>0]=d&63|128,2;if(55296>
-d>>>0|57344==(d&-8192|0))return t[b>>0]=d>>>12|224,t[b+1>>0]=d>>>6&63|128,t[b+2>>0]=d&63|128,3;if(1048576>(d+-65536|0)>>>0)return t[b>>0]=d>>>18|240,t[b+1>>0]=d>>>12&63|128,t[b+2>>0]=d>>>6&63|128,t[b+3>>0]=d&63|128,4;d=md()|0;a[d>>2]=84;return-1}function Mk(a,d){a|=0;return(a?dj(a,d|0,0)|0:0)|0}function Xe(){var b,d,c;b=72;d=Cf(a[b>>2]|0,a[b+4>>2]|0,1284865837,1481765933)|0;b=Qb(d|0,U|0,1,0)|0;d=U;c=72;a[c>>2]=b;a[c+4>>2]=d;c=Oe(b|0,d|0,33)|0;return c|0}function Nk(b,d){b|=0;d|=0;var c,e,f,g,h;c=
-u;u=u+64|0;e=c+16|0;f=c+8|0;g=c+24|0;a[c>>2]=b;a[c+4>>2]=d;h=Sj(197,c|0)|0;if(-9==(h|0)&&(a[f>>2]=b,a[f+4>>2]=1,0<=(Vj(221,f|0)|0))){f=g|0;h=b|0;var m,k;t[f>>0]=47;t[f+1>>0]=112;t[f+2>>0]=114;t[f+3>>0]=111;t[f+4>>0]=99;t[f+5>>0]=47;t[f+6>>0]=115;t[f+7>>0]=101;t[f+8>>0]=108;t[f+9>>0]=102;t[f+10>>0]=47;t[f+11>>0]=102;t[f+12>>0]=100;t[f+13>>0]=47;m=f+14|0;t[m>>0]=0;if(h){m=14;for(k=h;!(m=m+1|0,10>k>>>0);)k=(k>>>0)/10|0;t[f+m>>0]=0;k=h;for(h=m;!(h=h+-1|0,t[f+h>>0]=(k>>>0)%10|48,10>k>>>0);)k=(k>>>0)/10|
-0}else t[m>>0]=48,t[f+15>>0]=0;a[e>>2]=g;a[e+4>>2]=d;e=le(Uj(195,e|0)|0)|0;u=c;return e|0}e=le(h)|0;u=c;return e|0}function ej(b,d){b|=0;d|=0;var c,e,f,g,h;c=u;u=u+16|0;e=d&255;t[c>>0]=e;f=b+16|0;if(g=a[f>>2]|0)h=g;else{if(Ok(b)|0)return u=c,-1;h=a[f>>2]|0}g=b+20|0;f=a[g>>2]|0;if(f>>>0<h>>>0&&(h=d&255,(h|0)!=(t[b+75>>0]|0)))return a[g>>2]=f+1,t[f>>0]=e,u=c,h|0;if(1!=(Aa[a[b+36>>2]&63](b,c,1)|0))return u=c,-1;e=x[c>>0]|0;u=c;return e|0}function Pk(b,d,c){b|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y=0,B=0,H=
-0,t;e=u;u=u+48|0;f=e+16|0;g=e+32|0;h=b+28|0;m=a[h>>2]|0;a[g>>2]=m;k=b+20|0;l=(a[k>>2]|0)-m|0;a[g+4>>2]=l;a[g+8>>2]=d|0;a[g+12>>2]=c;d=b+60|0;m=b+44|0;n=g;g=2;for(p=l+c|0;;){a[30648]|0?(Pj(71,b|0),a[e>>2]=a[d>>2],a[e+4>>2]=n,a[e+8>>2]=g,l=le(Qk(146,e|0)|0)|0,Nj(0),q=l):(a[f>>2]=a[d>>2],a[f+4>>2]=n,a[f+8>>2]=g,q=le(Qk(146,f|0)|0)|0);if((p|0)==(q|0)){y=6;break}if(0>(q|0)){B=n;H=g;break}l=p-q|0;t=a[n+4>>2]|0;q>>>0<=t>>>0?2==(g|0)?(a[h>>2]=(a[h>>2]|0)+q,p=t,g=2):p=t:(p=a[m>>2]|0,a[h>>2]=p,a[k>>2]=p,p=
-a[n+12>>2]|0,q=q-t|0,n=n+8|0,g=g+-1|0);a[n>>2]=(a[n>>2]|0)+q;a[n+4>>2]=p-q;p=l}if(6==(y|0))return y=a[m>>2]|0,a[b+16>>2]=y+(a[b+48>>2]|0),m=y,a[h>>2]=m,a[k>>2]=m,u=e,c|0;a[b+16>>2]=0;a[h>>2]=0;a[k>>2]=0;a[b>>2]|=32;if(2==(H|0))return u=e,0;b=c-(a[B+4>>2]|0)|0;u=e;return b|0}function fj(b){b|=0;var d,c;d=b+74|0;c=t[d>>0]|0;t[d>>0]=c+255|c;c=b+20|0;d=b+44|0;(a[c>>2]|0)>>>0>(a[d>>2]|0)>>>0&&Aa[a[b+36>>2]&63](b,0,0)|0;a[b+16>>2]=0;a[b+28>>2]=0;a[c>>2]=0;c=a[b>>2]|0;if(!(c&20))return d=a[d>>2]|0,a[b+8>>
-2]=d,a[b+4>>2]=d,0;if(!(c&4))return-1;a[b>>2]=c|32;return-1}function Ok(b){b|=0;var d,c;d=b+74|0;c=t[d>>0]|0;t[d>>0]=c+255|c;c=a[b>>2]|0;if(c&8)return a[b>>2]=c|32,-1;a[b+8>>2]=0;a[b+4>>2]=0;d=a[b+44>>2]|0;a[b+28>>2]=d;a[b+20>>2]=d;a[b+16>>2]=d+(a[b+48>>2]|0);return 0}function Rk(b){b|=0;var d,c;if(b){if(-1>=(a[b+76>>2]|0))return b=wk(b)|0,b|0;d=wk(b)|0;return d|0}c=a[30711]|0?Rk(a[30711]|0)|0:0;rl(122620);if(d=a[30654]|0)for(b=d,d=c;;){if(d=(a[b+20>>2]|0)>>>0>(a[b+28>>2]|0)>>>0?wk(b)|0|d:d,b=a[b+
-56>>2]|0,!b){b=d;break}}else b=c;Yj(122620);return b|0}function Ld(b,d,c){var e;e=u;u=u+16|0;a[e>>2]=c|0;c=Ei(b|0,d|0,e)|0;u=e;return c|0}function xk(b,d){b|=0;d|=0;var c=0,e=0;return(t[d+75>>0]|0)!=(b|0)&&(e=d+20|0,c=a[e>>2]|0,c>>>0<(a[d+16>>2]|0)>>>0)?(a[e>>2]=c+1,t[c>>0]=b,b&255|0):ej(d,b)|0}function qd(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k;e=c+16|0;if(f=a[e>>2]|0)g=f;else{if(Ok(c)|0)return 0;g=a[e>>2]|0}f=c+20|0;e=a[f>>2]|0;if((g-e|0)>>>0<d>>>0)return b=Aa[a[c+36>>2]&63](c,b,d)|0,b|0;a:do if(-1<
-(t[c+75>>0]|0)){for(g=d;;){if(!g){g=d;h=b;m=e;k=0;break a}h=g+-1|0;if(10==(t[b+h>>0]|0)){k=g;break}else g=h}if((Aa[a[c+36>>2]&63](c,b,k)|0)>>>0<k>>>0)return b=k,b|0;g=d-k|0;h=b+k|0;m=a[f>>2]|0}else g=d,h=b,m=e,k=0;while(0);Ec(m|0,h|0,g|0)|0;a[f>>2]=(a[f>>2]|0)+g;return k+g|0}function Sd(a,d,c,e){a|=0;d|=0;c|=0;e|=0;var f;f=E(c,d)|0;a=qd(a,f,e)|0;return(a|0)==(f|0)?c|0:(a>>>0)/(d>>>0)|0}function ad(b,d,c){var e;e=u;u=u+16|0;a[e>>2]=c|0;c=Sk(b|0,2147483647,d|0,e|0)|0;u=e;return c|0}function Ei(b,d,
-c){b|=0;d|=0;var e,f,g,h,m,k,l,n,p,q;e=u;u=u+224|0;f=e+80|0;g=e+96|0;h=e+136|0;m=g;k=m+40|0;do a[m>>2]=0,m=m+4|0;while((m|0)<(k|0));a[f>>2]=a[(c|0)>>2];if(0>(yk(0,d,f,e,g)|0))return u=e,-1;c=a[b>>2]|0;m=c&32;1>(t[b+74>>0]|0)&&(a[b>>2]=c&-33);c=b+48|0;a[c>>2]|0?c=yk(b,d,f,e,g)|0:(k=b+44|0,l=a[k>>2]|0,a[k>>2]=h,n=b+28|0,a[n>>2]=h,p=b+20|0,a[p>>2]=h,a[c>>2]=80,q=b+16|0,a[q>>2]=h+80,h=yk(b,d,f,e,g)|0,l?(Aa[a[b+36>>2]&63](b,0,0)|0,g=0==(a[p>>2]|0)?-1:h,a[k>>2]=l,a[c>>2]=0,a[q>>2]=0,a[n>>2]=0,a[p>>2]=0,
-c=g):c=h);g=a[b>>2]|0;a[b>>2]=g|m;u=e;return(0==(g&32|0)?c:-1)|0}function Sk(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k;f=u;u=u+128|0;g=f+112|0;h=f;m=122888;k=h+112|0;do a[h>>2]=a[m>>2],h=h+4|0,m=m+4|0;while((h|0)<(k|0));if(2147483646<(d+-1|0)>>>0){if(d)return g=md()|0,a[g>>2]=75,u=f,-1;h=1}else g=b,h=d;d=-2-g|0;b=h>>>0>d>>>0?d:h;a[f+48>>2]=b;h=f+20|0;a[h>>2]=g;a[f+44>>2]=g;d=g+b|0;g=f+16|0;a[g>>2]=d;a[f+28>>2]=d;d=Ei(f,c,e)|0;if(!b)return u=f,d|0;b=a[h>>2]|0;t[b+(((b|0)==(a[g>>2]|0))<<31>>31)>>0]=
-0;u=f;return d|0}function zk(a,d,c,e,f){a|=0;c|=0;e|=0;f|=0;var g,h,m;if(c)g=d|0,h=c;else return 0;for(;;){c=h>>>1;d=g+(E(c,e)|0)|0;m=dd[f&127](a,d)|0;if(!m){a=d;d=5;break}if(1==(h|0)){a=0;d=5;break}if(h=(m=0>(m|0))?c:h-c|0)g=m?g:d;else{a=0;d=5;break}}return 5==(d|0)?a|0:0}function Tk(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k=0,l=0,n,p=0,q=0,y=0,B=0,H=0,ka,z=0,Q=0,C=ka=0;e=d&255;f=0!=(c|0);a:do if(f&0!=(b&3|0))for(g=d&255,h=c,m=b;;){if((t[m>>0]|0)==g<<24>>24){k=h;l=m;g=6;break a}m=m+1|0;h=h+-1|0;n=0!=
-(h|0);if(!(n&0!=(m&3|0))){p=h;q=n;y=m;g=5;break}}else p=c,q=f,y=b,g=5;while(0);5==(g|0)&&(q?(k=p,l=y,g=6):(B=0,H=y));a:do if(6==(g|0))if(y=d&255,(t[l>>0]|0)==y<<24>>24)B=k,H=l;else{p=E(e,16843009)|0;b:do if(3<k>>>0){q=k;for(b=l;;){f=a[b>>2]^p;if((f&-2139062144^-2139062144)&f+-16843009){ka=q;break}f=b+4|0;c=q+-4|0;if(3<c>>>0)q=c,b=f;else{z=c;Q=f;g=11;break b}}C=b}else z=k,Q=l,g=11;while(0);if(11==(g|0))if(z)ka=z,C=Q;else{B=0;H=Q;break}for(;;){if((t[C>>0]|0)==y<<24>>24){B=ka;H=C;break a}p=C+1|0;if(ka=
-ka+-1|0)C=p;else{B=0;H=p;break}}}while(0);return(0!=(B|0)?H:0)|0}function Ak(a,d,c){c|=0;var e=0,f,g,h=0,m=0,k=0;if(c)f=a|0,g=d|0;else return 0;for(;;){d=t[f>>0]|0;a=t[g>>0]|0;if(d<<24>>24!=a<<24>>24){h=d;m=a;break}if(c=c+-1|0)f=f+1|0,g=g+1|0;else{e=0;k=5;break}}return 5==(k|0)?e|0:(h&255)-(m&255)|0}function gj(b,d){b|=0;d|=0;var c,e,f,g;c=d;if((c^b)&3)g=d,e=b;else{a:do{if(c&3){f=b;for(g=d;;){e=t[g>>0]|0;t[f>>0]=e;if(!(e<<24>>24)){c=f;break}e=g+1|0;f=f+1|0;if(e&3)g=e;else break a}return c|0}e=d;f=
-b}while(0);c=a[e>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)c=f,g=e;else for(g=c,c=f,f=e;;)if(e=f+4|0,f=c+4|0,a[c>>2]=g,g=a[e>>2]|0,(g&-2139062144^-2139062144)&g+-16843009){c=f;g=e;break}else c=f,f=e;e=c}b=t[g>>0]|0;t[e>>0]=b;if(b<<24>>24)c=g;else return e|0;for(;;)if(c=c+1|0,g=e+1|0,e=t[c>>0]|0,t[g>>0]=e,e<<24>>24)e=g;else break;return g|0}function Cj(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0;e=d;if((e^b)&3)l=d,n=b;else{f=0!=(c|0);a:do if(f&0!=(e&3|0))for(g=c,h=
-d,m=b;;){k=t[h>>0]|0;t[m>>0]=k;if(!(k<<24>>24)){l=g;n=h;p=m;break a}k=g+-1|0;h=h+1|0;m=m+1|0;g=0!=(k|0);if(g&0!=(h&3|0))g=k;else{q=k;y=h;B=m;H=g;ka=5;break}}else q=c,y=d,B=b,H=f,ka=5;while(0);if(5==(ka|0))if(H)l=q,n=y,p=B;else return n=B,Va(n|0,0,0)|0,n|0;if(!(t[n>>0]|0))return n=p,Va(n|0,0,l|0)|0,n|0;a:do if(3<l>>>0)for(B=l,y=p,q=n;;){H=a[q>>2]|0;if((H&-2139062144^-2139062144)&H+-16843009){c=B;ka=y;f=q;break a}a[y>>2]=H;H=B+-4|0;f=q+4|0;e=y+4|0;if(3<H>>>0)B=H,y=e,q=f;else{c=H;ka=e;break}}else c=
-l,ka=p,f=n;while(0);l=f;n=ka}if(p=c)c=p;else return Va(n|0,0,0)|0,n|0;for(;;){p=t[l>>0]|0;t[n>>0]=p;if(!(p<<24>>24)){l=c;ka=14;break}c=c+-1|0;p=n+1|0;if(c)l=l+1|0,n=p;else{n=p;l=0;ka=14;break}}return 14==(ka|0)?(Va(n|0,0,l|0)|0,n|0):0}function Uk(a,d){a|=0;d|=0;var c,e,f;c=t[a>>0]|0;e=t[d>>0]|0;if(0==c<<24>>24||c<<24>>24!=e<<24>>24)f=c,c=e;else{e=a;a=d;do e=e+1|0,a=a+1|0,d=t[e>>0]|0,c=t[a>>0]|0;while(0!=d<<24>>24&&d<<24>>24==c<<24>>24);f=d}return(f&255)-(c&255)|0}function bk(b){b|=0;var d,c;d=b;a:do{if(d&
-3){for(c=d;t[b>>0]|0;)if(c=b=b+1|0,!(c&3)){c=b;break a}d=c-d|0;return d|0}c=b}while(0);for(b=c;!(c=a[b>>2]|0,(c&-2139062144^-2139062144)&c+-16843009);)b=b+4|0;if((c&255)<<24>>24)for(c=b;;)if(b=c+1|0,t[b>>0]|0)c=b;else{c=b;break}else c=b;return c-d|0}function Vk(a,d,c){a|=0;d|=0;c|=0;var e,f,g,h,m,k;if(!c)return 0;e=t[a>>0]|0;a:do if(e<<24>>24)for(f=c,h=e,m=a,g=d;;){f=f+-1|0;k=t[g>>0]|0;if(!(h<<24>>24==k<<24>>24&0!=(f|0)&0!=k<<24>>24)){f=h;break a}m=m+1|0;k=g+1|0;h=t[m>>0]|0;if(h<<24>>24)g=k;else{f=
-0;g=k;break}}else f=0,g=d;while(0);return(f&255)-(x[g>>0]|0)|0}function Wk(a,d,c){a|=0;Cj(a,d|0,c|0)|0;return a|0}function Xk(b){var d,c;d=u;u=u+16|0;c=d;a[c>>2]=b|0;b=Yk(6,c|0)|0;c=le(-4==(b|0)?-115:b)|0;u=d;return c|0}function Lk(b,d){b|=0;d|=0;var c,e,f,g,h,m,k;c=b+4|0;e=a[c>>2]|0;f=b+100|0;e>>>0<(a[f>>2]|0)>>>0?(a[c>>2]=e+1,g=x[e>>0]|0):g=Jc(b)|0;switch(g|0){case 43:case 45:e=45==(g|0)&1;h=a[c>>2]|0;h>>>0<(a[f>>2]|0)>>>0?(a[c>>2]=h+1,m=x[h>>0]|0):m=Jc(b)|0;0!=(d|0)&9<(m+-48|0)>>>0&&0!=(a[f>>2]|
-0)&&(a[c>>2]=(a[c>>2]|0)+-1);h=e;break;default:m=g,h=0}if(9<(m+-48|0)>>>0){if(!(a[f>>2]|0))return U=-2147483648,0;a[c>>2]=(a[c>>2]|0)+-1;U=-2147483648;return 0}k=m;for(g=0;;)if(m=k+-48+(10*g|0)|0,g=a[c>>2]|0,g>>>0<(a[f>>2]|0)>>>0?(a[c>>2]=g+1,k=x[g>>0]|0):k=Jc(b)|0,10>(k+-48|0)>>>0&214748364>(m|0))g=m;else{g=m;e=k;break}k=(0>(g|0))<<31>>31;if(10>(e+-48|0)>>>0)for(m=e;;)if(g=Cf(g|0,k|0,10,0)|0,e=U,m=Qb(m|0,(0>(m|0))<<31>>31|0,-48,-1)|0,d=Qb(m|0,U|0,g|0,e|0)|0,e=U,g=a[c>>2]|0,g>>>0<(a[f>>2]|0)>>>0?
-(a[c>>2]=g+1,m=x[g>>0]|0):m=Jc(b)|0,10>(m+-48|0)>>>0&(21474836>(e|0)|21474836==(e|0)&2061584302>d>>>0))g=d,k=e;else{g=d;k=e;e=m;break}if(10>(e+-48|0)>>>0){do e=a[c>>2]|0,e>>>0<(a[f>>2]|0)>>>0?(a[c>>2]=e+1,e=x[e>>0]|0):e=Jc(b)|0;while(10>(e+-48|0)>>>0)}a[f>>2]|0&&(a[c>>2]=(a[c>>2]|0)+-1);c=0!=(h|0);h=Ic(0,0,g|0,k|0)|0;U=c?U:k;return(c?h:g)|0}function wk(b){b|=0;var d,c,e,f,g,h;d=b+20|0;c=b+28|0;if((a[d>>2]|0)>>>0>(a[c>>2]|0)>>>0&&(Aa[a[b+36>>2]&63](b,0,0)|0,0==(a[d>>2]|0)))return-1;e=b+4|0;f=a[e>>
-2]|0;g=b+8|0;h=a[g>>2]|0;f>>>0<h>>>0&&Aa[a[b+40>>2]&63](b,f-h|0,1)|0;a[b+16>>2]=0;a[c>>2]=0;a[d>>2]=0;a[g>>2]=0;return a[e>>2]=0}function yk(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0,Q=0,C=0,Ra=0,r=0,Ed=0,J=0,I=0,G=0,L=0,K=0,v=0,fd=0,O=0,M=0,T=0,X=0,P=0,A=0,D=0,N=0,ba=0,F=0,R=0,S=0,ga=0,Ha=0,ma=0,Y=0,ha=0,W=0,da=0,pc=0,Z=0,ca=0,fa=0,oa=0,sa=0,aa=0,ua=0,Ia=0,Da=0,na=0,Na=0,ja=0,Ca=0,Ga=0,Ea=0,La=0,Aa=0,ya=0,ra=0,pa=0,xb=0,Zb=0,Ka=0,jb=0,mc=0,Wa=0,
-Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,Qa=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Va=0,Ua=0,eb=0,Jb=0,ub=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Ab=0,ab=0,nd=0,pb=0,wb=0,rb=0,Qd=0,zb=0,Ob=0,Tb=0,Wb=0,fb=0,Gb=0,lb=0,Kb=0,Lb=0,ac=0,Yb=0,kc=0,Vb=0,Pb=0,hc=0,Sb=0,fc=0,kd=0,jc=0,$b=0,db=0,zc=0,yc=0,oc=0,lc=0,ec=0,Ie=0,ic=0,Wd=0,Jd=0,bd=0,Ec=0,Rc=0,Gc=0,Be=0,nc=0,Bc=0,Lc=0,Hc=0,Fc=0,hd=0,Bd=0,Cc=
-0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,g=u;u=u+624|0;h=g+24|0;m=g+16|0;k=g+588|0;l=g+576|0;n=g;p=g+536|0;q=g+8|0;y=g+528|0;B=0!=(b|0);ka=H=p+40|0;z=p+39|0;p=q+4|0;Q=l+12|0;C=l+11|0;l=k;Ra=Q;r=Ra-l|0;Ed=-2-l|0;J=Ra+2|0;I=h+288|0;L=G=k+9|0;K=k+8|0;v=0;fd=d;O=d=0;a:for(;;){-1<(v|0)?(d|0)>(2147483647-v|0)?(M=md()|0,a[M>>2]=75,T=-1):T=d+v|0:T=v;M=t[fd>>0]|0;if(M<<24>>24)D=M,N=fd;else{X=T;P=O;A=245;break}b:for(;;){switch(D<<24>>24){case 37:F=ba=N;A=9;break b;case 0:S=R=N;break b}M=N+1|0;D=t[M>>0]|0;N=M}b:do if(9==
-(A|0))for(;;){A=0;if(37!=(t[ba+1>>0]|0)){R=ba;S=F;break b}M=F+1|0;ga=ba+2|0;if(37==(t[ga>>0]|0))ba=ga,F=M,A=9;else{R=ga;S=M;break}}while(0);M=S-fd|0;B&&0==(a[b>>2]&32|0)&&qd(fd,M,b)|0;if((S|0)!=(fd|0))v=T,fd=R,d=M;else{ga=R+1|0;Ha=t[ga>>0]|0;ma=(Ha<<24>>24)+-48|0;10>ma>>>0?(ha=(Y=36==(t[R+2>>0]|0))?R+3|0:ga,W=t[ha>>0]|0,da=Y?ma:-1,pc=Y?1:O,Z=ha):(W=Ha,da=-1,pc=O,Z=ga);ga=W<<24>>24;b:do if(32==(ga&-32|0))for(Ha=ga,ha=W,Y=0,ma=Z;;){if(!(1<<Ha+-32&75913)){ca=ha;fa=Y;oa=ma;break b}sa=1<<(ha<<24>>24)+
--32|Y;aa=ma+1|0;ua=t[aa>>0]|0;Ha=ua<<24>>24;if(32!=(Ha&-32|0)){ca=ua;fa=sa;oa=aa;break}else ha=ua,Y=sa,ma=aa}else ca=W,fa=0,oa=Z;while(0);do if(42==ca<<24>>24){ga=oa+1|0;ma=(t[ga>>0]|0)+-48|0;if(10>ma>>>0&&36==(t[oa+2>>0]|0))a[f+(ma<<2)>>2]=10,Ia=1,Da=oa+3|0,na=a[e+((t[ga>>0]|0)+-48<<3)>>2]|0;else{if(pc){Na=-1;A=252;break a}if(!B){ja=fa;Ca=ga;Ea=Ga=0;break}ma=(a[c>>2]|0)+3&-4;Y=a[ma>>2]|0;a[c>>2]=ma+4;Ia=0;Da=ga;na=Y}0>(na|0)?(ja=fa|8192,Ca=Da,Ga=Ia,Ea=0-na|0):(ja=fa,Ca=Da,Ga=Ia,Ea=na)}else if(Y=
-(ca<<24>>24)+-48|0,10>Y>>>0){ga=oa;ma=0;for(ha=Y;;)if(Y=(10*ma|0)+ha|0,Ha=ga+1|0,ha=(t[Ha>>0]|0)+-48|0,10<=ha>>>0){La=Y;Aa=Ha;break}else ga=Ha,ma=Y;if(0>(La|0)){Na=-1;A=252;break a}else ja=fa,Ca=Aa,Ga=pc,Ea=La}else ja=fa,Ca=oa,Ga=pc,Ea=0;while(0);b:do if(46==(t[Ca>>0]|0)){ma=Ca+1|0;ga=t[ma>>0]|0;if(42!=ga<<24>>24){ha=(ga<<24>>24)+-48|0;if(10>ha>>>0)ya=ma,ra=0,pa=ha;else{xb=ma;Zb=0;break}for(;;)if(ma=(10*ra|0)+pa|0,ha=ya+1|0,pa=(t[ha>>0]|0)+-48|0,10<=pa>>>0){xb=ha;Zb=ma;break b}else ya=ha,ra=ma}ma=
-Ca+2|0;ha=(t[ma>>0]|0)+-48|0;if(10>ha>>>0&&36==(t[Ca+3>>0]|0))a[f+(ha<<2)>>2]=10,xb=Ca+4|0,Zb=a[e+((t[ma>>0]|0)+-48<<3)>>2]|0;else{if(Ga){Na=-1;A=252;break a}B?(ha=(a[c>>2]|0)+3&-4,ga=a[ha>>2]|0,a[c>>2]=ha+4,xb=ma,Zb=ga):(xb=ma,Zb=0)}}else xb=Ca,Zb=-1;while(0);ma=xb;for(ga=0;;){ha=(t[ma>>0]|0)+-65|0;if(57<ha>>>0){Na=-1;A=252;break a}Y=ma+1|0;Ha=t[164454+(58*ga|0)+ha>>0]|0;ha=Ha&255;if(8>(ha+-1|0)>>>0)ma=Y,ga=ha;else{Ka=Y;jb=Ha;mc=ha;Wa=ma;Ta=ga;break}}if(!(jb<<24>>24)){Na=-1;A=252;break}ga=-1<(da|
-0);do if(19==jb<<24>>24)if(ga){Na=-1;A=252;break a}else A=52;else if(ga)a[f+(da<<2)>>2]=mc,ma=e+(da<<3)|0,ha=a[ma+4>>2]|0,Ha=n,a[Ha>>2]=a[ma>>2],a[Ha+4>>2]=ha,A=52;else{if(!B){Na=0;A=252;break a}bg(n,mc,c)}while(0);if(52!=(A|0)||(A=0,B)){ga=t[Wa>>0]|0;ha=0!=(Ta|0)&3==(ga&15|0)?ga&-33:ga;ga=ja&-65537;Ha=0==(ja&8192|0)?ja:ga;b:do switch(ha|0){case 110:switch(Ta|0){case 0:v=a[a[n>>2]>>2]=T;fd=Ka;d=M;O=Ga;continue a;case 1:v=a[a[n>>2]>>2]=T;fd=Ka;d=M;O=Ga;continue a;case 2:ma=a[n>>2]|0;a[ma>>2]=T;a[ma+
-4>>2]=(0>(T|0))<<31>>31;v=T;fd=Ka;d=M;O=Ga;continue a;case 3:v=w[a[n>>2]>>1]=T;fd=Ka;d=M;O=Ga;continue a;case 4:v=t[a[n>>2]>>0]=T;fd=Ka;d=M;O=Ga;continue a;case 6:v=a[a[n>>2]>>2]=T;fd=Ka;d=M;O=Ga;continue a;case 7:ma=a[n>>2]|0;a[ma>>2]=T;a[ma+4>>2]=(0>(T|0))<<31>>31;v=T;fd=Ka;d=M;O=Ga;continue a;default:v=T;fd=Ka;d=M;O=Ga;continue a}case 112:Ya=Ha|8;Sa=8<Zb>>>0?Zb:8;mb=120;A=64;break;case 88:case 120:Ya=Ha;Sa=Zb;mb=ha;A=64;break;case 111:ma=n;Y=a[ma>>2]|0;aa=a[ma+4>>2]|0;if(0==(Y|0)&0==(aa|0))Db=
-H;else for(ma=H,sa=Y,Y=aa;;)if(aa=ma+-1|0,t[aa>>0]=sa&7|48,sa=Oe(sa|0,Y|0,3)|0,Y=U,0==(sa|0)&0==(Y|0)){Db=aa;break}else ma=aa;Ha&8?(ma=ka-Db+1|0,cc=Db,Za=Ha,ia=(Zb|0)<(ma|0)?ma:Zb):(cc=Db,Za=Ha,ia=Zb);qa=0;Ja=164934;A=77;break;case 105:case 100:ma=n;Y=a[ma>>2]|0;sa=a[ma+4>>2]|0;if(0>(sa|0)){ma=Ic(0,0,Y|0,sa|0)|0;aa=U;ua=n;a[ua>>2]=ma;a[ua+4>>2]=aa;ea=ma;wa=aa;Ma=1;xa=164934;A=76;break b}Ha&2048?(ea=Y,wa=sa,Ma=1,xa=164935):(aa=Ha&1,ea=Y,wa=sa,Ma=aa,xa=0==(aa|0)?164934:164936);A=76;break;case 117:sa=
-n;ea=a[sa>>2]|0;wa=a[sa+4>>2]|0;Ma=0;xa=164934;A=76;break;case 99:t[z>>0]=a[n>>2];$a=z;la=ga;Ba=1;va=0;za=164934;ta=H;break;case 109:sa=md()|0;nb=uk(a[sa>>2]|0)|0;A=82;break;case 115:sa=a[n>>2]|0;nb=0!=(sa|0)?sa:164944;A=82;break;case 67:a[q>>2]=a[n>>2];a[p>>2]=0;a[n>>2]=q;sc=-1;A=86;break;case 83:Zb?(sc=Zb,A=86):(Cd(b,32,Ea,0,Ha),gb=0,A=98);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:hb=+Hb[n>>3];a[m>>2]=0;Hb[Qc>>3]=hb;0<=(a[Qc+4>>2]|0)?Ha&2048?(ob=hb,Bb=1,qb=164954):
-(sa=Ha&1,ob=hb,Bb=sa,qb=0==(sa|0)?164952:164957):(ob=-hb,Bb=1,qb=164951);Hb[Qc>>3]=ob;sa=a[Qc+4>>2]&2146435072;do if(2146435072>sa>>>0|2146435072==(sa|0)&0)if(hb=2*+ + +ai(+ob,m|0),(Y=0!=hb)&&(a[m>>2]=(a[m>>2]|0)+-1),aa=ha|32,97==(aa|0)){ma=ha&32;ua=0==(ma|0)?qb:qb+9|0;kb=Bb|2;ib=12-Zb|0;do if(11<Zb>>>0|0==(ib|0))Fa=hb;else{Cb=ib;for(Qa=8;;)if(Cb=Cb+-1|0,sb=16*Qa,Cb)Qa=sb;else{Xa=sb;break}Fa=45==(t[ua>>0]|0)?-(Xa+(-hb-Xa)):hb+Xa-Xa}while(0);ib=a[m>>2]|0;Cb=0>(ib|0)?0-ib|0:ib;Pa=kh(Cb,(0>(Cb|0))<<
-31>>31,Q)|0;(Pa|0)==(Q|0)?(t[C>>0]=48,Eb=C):Eb=Pa;t[Eb+-1>>0]=(ib>>31&2)+43;ib=Eb+-2|0;t[ib>>0]=ha+15;Pa=1>(Zb|0);Cb=0==(Ha&8|0);Qa=Fa;for(vb=k;;)if(tb=~~Qa,bb=vb+1|0,t[vb>>0]=x[164918+tb>>0]|ma,Qa=16*(Qa-+(tb|0)),1==(bb-l|0)?Cb&Pa&0==Qa?Ib=bb:(t[bb>>0]=46,Ib=vb+2|0):Ib=bb,0==Qa){Mb=Ib;break}else vb=Ib;vb=Mb;Pa=0!=(Zb|0)&(Ed+vb|0)<(Zb|0)?J+Zb-ib|0:r-ib+vb|0;Cb=Pa+kb|0;Cd(b,32,Ea,Cb,Ha);a[b>>2]&32||qd(ua,kb,b)|0;Cd(b,48,Ea,Cb,Ha^65536);ma=vb-l|0;a[b>>2]&32||qd(k,ma,b)|0;vb=Ra-ib|0;Cd(b,48,Pa-(ma+vb)|
-0,0,0);a[b>>2]&32||qd(ib,vb,b)|0;Cd(b,32,Ea,Cb,Ha^8192);Va=(Cb|0)<(Ea|0)?Ea:Cb}else{Cb=0>(Zb|0)?6:Zb;Y?(vb=(a[m>>2]|0)+-28|0,a[m>>2]=vb,Ua=268435456*hb,eb=vb):(Ua=hb,eb=a[m>>2]|0);ma=vb=0>(eb|0)?h:I;Qa=Ua;for(Pa=vb;;)if(bb=~~Qa>>>0,a[Pa>>2]=bb,tb=Pa+4|0,Qa=1E9*(Qa-+(bb>>>0)),0==Qa){Jb=tb;break}else Pa=tb;Pa=a[m>>2]|0;if(0<(Pa|0))for(Y=Pa,ib=vb,kb=Jb;;){ua=29<(Y|0)?29:Y;tb=kb+-4|0;do if(tb>>>0<ib>>>0)ub=ib;else{bb=0;for(yb=tb;;)if(cb=Oc(a[yb>>2]|0,0,ua|0)|0,gc=Qb(cb|0,U|0,bb|0,0)|0,cb=U,Ub=vk(gc|0,
-cb|0,1E9,0)|0,a[yb>>2]=Ub,Ub=pf(gc|0,cb|0,1E9,0)|0,yb=yb+-4|0,yb>>>0<ib>>>0){Fb=Ub;break}else bb=Ub;Fb?(bb=ib+-4|0,a[bb>>2]=Fb,ub=bb):ub=ib}while(0);for(tb=kb;;){if(tb>>>0<=ub>>>0){Ab=tb;break}bb=tb+-4|0;if(a[bb>>2]|0){Ab=tb;break}else tb=bb}tb=(a[m>>2]|0)-ua|0;a[m>>2]=tb;if(0<(tb|0))Y=tb,ib=ub,kb=Ab;else{ab=tb;nd=ub;pb=Ab;break}}else ab=Pa,nd=vb,pb=Jb;if(0>(ab|0))for(kb=((Cb+25|0)/9|0)+1|0,ib=102==(aa|0),Y=ab,tb=nd,bb=pb;;){yb=0-Y|0;Ub=9<(yb|0)?9:yb;do if(tb>>>0<bb>>>0){yb=(1<<Ub)+-1|0;cb=1E9>>>
-Ub;gc=0;for(wb=tb;;)if(rb=a[wb>>2]|0,a[wb>>2]=(rb>>>Ub)+gc,Qd=E(rb&yb,cb)|0,wb=wb+4|0,wb>>>0>=bb>>>0){zb=Qd;break}else gc=Qd;gc=0==(a[tb>>2]|0)?tb+4|0:tb;zb?(a[bb>>2]=zb,Ob=gc,Tb=bb+4|0):(Ob=gc,Tb=bb)}else Ob=0==(a[tb>>2]|0)?tb+4|0:tb,Tb=bb;while(0);ua=ib?vb:Ob;gc=(Tb-ua>>2|0)>(kb|0)?ua+(kb<<2)|0:Tb;Y=(a[m>>2]|0)+Ub|0;a[m>>2]=Y;if(0<=(Y|0)){Wb=Ob;fb=gc;break}else tb=Ob,bb=gc}else Wb=nd,fb=pb;do if(Wb>>>0<fb>>>0)if(bb=9*(ma-Wb>>2)|0,tb=a[Wb>>2]|0,10>tb>>>0)Gb=bb;else for(lb=bb,Kb=10;;)if(Kb=10*Kb|
-0,bb=lb+1|0,tb>>>0<Kb>>>0){Gb=bb;break}else lb=bb;else Gb=0;while(0);tb=103==(aa|0);Ub=0!=(Cb|0);bb=Cb-(102!=(aa|0)?Gb:0)+((Ub&tb)<<31>>31)|0;if((bb|0)<((9*(fb-ma>>2)|0)+-9|0)){Y=bb+9216|0;bb=(Y|0)/9|0;kb=vb+(bb+-1023<<2)|0;ib=((Y|0)%9|0)+1|0;if(9>(ib|0))for(Y=10,Pa=ib;;)if(ib=10*Y|0,Pa=Pa+1|0,9==(Pa|0)){Lb=ib;break}else Y=ib;else Lb=10;Y=a[kb>>2]|0;Pa=(Y>>>0)%(Lb>>>0)|0;0==(Pa|0)&&(vb+(bb+-1022<<2)|0)==(fb|0)?(ac=Wb,Yb=kb,kc=Gb):A=163;do if(163==(A|0))if(A=0,Qa=0==(((Y>>>0)/(Lb>>>0)|0)&1|0)?9007199254740992:
-9007199254740994,aa=(Lb|0)/2|0,Vb=Pa>>>0<aa>>>0?.5:(Pa|0)==(aa|0)&&(vb+(bb+-1022<<2)|0)==(fb|0)?1:1.5,Bb?45!=(t[qb>>0]|0)?(Pb=Qa,hc=Vb):(Pb=-Qa,hc=-Vb):(Pb=Qa,hc=Vb),aa=Y-Pa|0,a[kb>>2]=aa,Pb+hc==Pb)ac=Wb,Yb=kb,kc=Gb;else{ib=aa+Lb|0;a[kb>>2]=ib;if(999999999<ib>>>0)for(ib=Wb,aa=kb;;)if(gc=aa+-4|0,a[aa>>2]=0,gc>>>0<ib>>>0?(ua=ib+-4|0,a[ua>>2]=0,Sb=ua):Sb=ib,ua=(a[gc>>2]|0)+1|0,a[gc>>2]=ua,999999999<ua>>>0)ib=Sb,aa=gc;else{fc=Sb;kd=gc;break}else fc=Wb,kd=kb;aa=9*(ma-fc>>2)|0;ib=a[fc>>2]|0;if(10>ib>>>
-0)ac=fc,Yb=kd,kc=aa;else for(jc=aa,$b=10;;)if($b=10*$b|0,aa=jc+1|0,ib>>>0<$b>>>0){ac=fc;Yb=kd;kc=aa;break}else jc=aa}while(0);kb=Yb+4|0;db=ac;zc=kc;yc=fb>>>0>kb>>>0?kb:fb}else db=Wb,zc=Gb,yc=fb;kb=0-zc|0;for(Pa=yc;;){if(Pa>>>0<=db>>>0){oc=0;lc=Pa;break}Y=Pa+-4|0;if(a[Y>>2]|0){oc=1;lc=Pa;break}else Pa=Y}do if(tb)if(Pa=(Ub&1^1)+Cb|0,(Pa|0)>(zc|0)&-5<(zc|0)?(ec=ha+-1|0,Ie=Pa+-1-zc|0):(ec=ha+-2|0,Ie=Pa+-1|0),Pa=Ha&8)ic=ec,Wd=Ie,Jd=Pa;else{do if(oc)if(Pa=a[lc+-4>>2]|0)if((Pa>>>0)%10|0)bd=0;else for(Ec=
-10,Rc=0;;)if(Ec=10*Ec|0,Y=Rc+1|0,(Pa>>>0)%(Ec>>>0)|0){bd=Y;break}else Rc=Y;else bd=9;else bd=9;while(0);Pa=(9*(lc-ma>>2)|0)+-9|0;102==(ec|32)?(Y=Pa-bd|0,bb=0>(Y|0)?0:Y,ic=ec,Wd=(Ie|0)<(bb|0)?Ie:bb):(bb=Pa+zc-bd|0,Pa=0>(bb|0)?0:bb,ic=ec,Wd=(Ie|0)<(Pa|0)?Ie:Pa);Jd=0}else ic=ha,Wd=Cb,Jd=Ha&8;while(0);Cb=Wd|Jd;ma=0!=(Cb|0)&1;if(Ub=102==(ic|32))Gc=0<(zc|0)?zc:0,Be=0;else{tb=0>(zc|0)?kb:zc;Pa=kh(tb,(0>(tb|0))<<31>>31,Q)|0;if(2>(Ra-Pa|0))for(tb=Pa;;)if(bb=tb+-1|0,t[bb>>0]=48,2>(Ra-bb|0))tb=bb;else{nc=bb;
-break}else nc=Pa;t[nc+-1>>0]=(zc>>31&2)+43;tb=nc+-2|0;t[tb>>0]=ic;Gc=Ra-tb|0;Be=tb}tb=Bb+1+Wd+ma+Gc|0;Cd(b,32,Ea,tb,Ha);a[b>>2]&32||qd(qb,Bb,b)|0;Cd(b,48,Ea,tb,Ha^65536);do if(Ub){for(bb=kb=db>>>0>vb>>>0?vb:db;;){Y=kh(a[bb>>2]|0,0,G)|0;do if((bb|0)==(kb|0))(Y|0)!=(G|0)?Bc=Y:(t[K>>0]=48,Bc=K);else if(Y>>>0>k>>>0)for(Lc=Y;;)if(ib=Lc+-1|0,t[ib>>0]=48,ib>>>0>k>>>0)Lc=ib;else{Bc=ib;break}else Bc=Y;while(0);a[b>>2]&32||qd(Bc,L-Bc|0,b)|0;Y=bb+4|0;if(Y>>>0>vb>>>0){Hc=Y;break}else bb=Y}!Cb||a[b>>2]&32||qd(164986,
-1,b)|0;if(0<(Wd|0)&Hc>>>0<lc>>>0)for(bb=Wd,kb=Hc;;){Y=kh(a[kb>>2]|0,0,G)|0;if(Y>>>0>k>>>0)for(ib=Y;;)if(aa=ib+-1|0,t[aa>>0]=48,aa>>>0>k>>>0)ib=aa;else{Fc=aa;break}else Fc=Y;a[b>>2]&32||qd(Fc,9<(bb|0)?9:bb,b)|0;kb=kb+4|0;ib=bb+-9|0;if(9<(bb|0)&kb>>>0<lc>>>0)bb=ib;else{hd=ib;break}}else hd=Wd;Cd(b,48,hd+9|0,9,0)}else{bb=oc?lc:db+4|0;if(-1<(Wd|0))for(kb=0==(Jd|0),ib=Wd,aa=db;;){gc=kh(a[aa>>2]|0,0,G)|0;(gc|0)==(G|0)?(t[K>>0]=48,Bd=K):Bd=gc;do if((aa|0)==(db|0))gc=Bd+1|0,a[b>>2]&32||qd(Bd,1,b)|0,kb&1>
-(ib|0)||a[b>>2]&32||qd(164986,1,b)|0,Cc=gc;else if(Bd>>>0>k>>>0)for(Rb=Bd;;)if(gc=Rb+-1|0,t[gc>>0]=48,gc>>>0>k>>>0)Rb=gc;else{Cc=gc;break}else Cc=Bd;while(0);Y=L-Cc|0;a[b>>2]&32||qd(Cc,(ib|0)>(Y|0)?Y:ib,b)|0;gc=ib-Y|0;aa=aa+4|0;if(aa>>>0<bb>>>0&-1<(gc|0))ib=gc;else{od=gc;break}}else od=Wd;Cd(b,48,od+18|0,18,0);a[b>>2]&32||qd(Be,Ra-Be|0,b)|0}while(0);Cd(b,32,Ea,tb,Ha^8192);Va=(tb|0)<(Ea|0)?Ea:tb}else Cb=0!=(ha&32|0),Ub=(vb=ob!=ob|0)?0:Bb,ma=Ub+3|0,Cd(b,32,Ea,ma,ga),Pa=a[b>>2]|0,Pa&32?tc=Pa:(qd(qb,
-Ub,b)|0,tc=a[b>>2]|0),tc&32||qd(vb?Cb?164978:164982:Cb?164970:164974,3,b)|0,Cd(b,32,Ea,ma,Ha^8192),Va=(ma|0)<(Ea|0)?Ea:ma;while(0);v=T;fd=Ka;d=Va;O=Ga;continue a;default:$a=fd,la=Ha,Ba=Zb,va=0,za=164934,ta=H}while(0);b:do if(64==(A|0)){A=0;ha=n;M=a[ha>>2]|0;sa=a[ha+4>>2]|0;ha=mb&32;if(0==(M|0)&0==(sa|0))cc=H,Za=Ya,ia=Sa,qa=0,Ja=164934;else{ma=H;Cb=M;for(M=sa;;)if(sa=ma+-1|0,t[sa>>0]=x[164918+(Cb&15)>>0]|ha,Cb=Oe(Cb|0,M|0,4)|0,M=U,0==(Cb|0)&0==(M|0)){Xb=sa;break}else ma=sa;ma=n;0==(Ya&8|0)|0==(a[ma>>
-2]|0)&0==(a[ma+4>>2]|0)?(cc=Xb,Za=Ya,ia=Sa,qa=0,Ja=164934):(cc=Xb,Za=Ya,ia=Sa,qa=2,Ja=164934+(mb>>4)|0)}A=77}else if(76==(A|0))A=0,cc=kh(ea,wa,H)|0,Za=Ha,ia=Zb,qa=Ma,Ja=xa,A=77;else if(82==(A|0))A=0,ma=Tk(nb,0,Zb)|0,M=0==(ma|0),$a=nb,la=ga,Ba=M?Zb:ma-nb|0,va=0,za=164934,ta=M?nb+Zb|0:ma;else if(86==(A|0)){M=ma=A=0;for(Cb=a[n>>2]|0;;){ha=a[Cb>>2]|0;if(!ha){rc=ma;ed=M;break}sa=Mk(y,ha)|0;if(0>(sa|0)|sa>>>0>(sc-ma|0)>>>0){rc=ma;ed=sa;break}ha=sa+ma|0;if(sc>>>0>ha>>>0)ma=ha,M=sa,Cb=Cb+4|0;else{rc=ha;ed=
-sa;break}}if(0>(ed|0)){Na=-1;A=252;break a}Cd(b,32,Ea,rc,Ha);if(rc)for(Cb=0,M=a[n>>2]|0;;){ma=a[M>>2]|0;if(!ma){gb=rc;A=98;break b}sa=Mk(y,ma)|0;Cb=sa+Cb|0;if((Cb|0)>(rc|0)){gb=rc;A=98;break b}a[b>>2]&32||qd(y,sa,b)|0;if(Cb>>>0>=rc>>>0){gb=rc;A=98;break}else M=M+4|0}else gb=0,A=98}while(0);98==(A|0)?(A=0,Cd(b,32,Ea,gb,Ha^8192),v=T,fd=Ka,d=(Ea|0)>(gb|0)?Ea:gb):(77==(A|0)&&(A=0,ga=-1<(ia|0)?Za&-65537:Za,M=n,Cb=0!=(a[M>>2]|0)|0!=(a[M+4>>2]|0),0!=(ia|0)|Cb?(M=(Cb&1^1)+(ka-cc)|0,$a=cc,la=ga,Ba=(ia|0)>
-(M|0)?ia:M):($a=H,la=ga,Ba=0),va=qa,za=Ja,ta=H),ga=ta-$a|0,M=(Ba|0)<(ga|0)?ga:Ba,Cb=va+M|0,sa=(Ea|0)<(Cb|0)?Cb:Ea,Cd(b,32,sa,Cb,la),a[b>>2]&32||qd(za,va,b)|0,Cd(b,48,sa,Cb,la^65536),Cd(b,48,M,ga,0),a[b>>2]&32||qd($a,ga,b)|0,Cd(b,32,sa,Cb,la^8192),v=T,fd=Ka,d=sa)}else v=T,fd=Ka,d=M;O=Ga}}if(245==(A|0)){if(b)return Na=X,u=g,Na|0;if(!P)return Na=0,u=g,Na|0;if(P=a[f+4>>2]|0)if(bg(e+8|0,P,c),P=a[f+8>>2]|0)if(bg(e+16|0,P,c),P=a[f+12>>2]|0)if(bg(e+24|0,P,c),P=a[f+16>>2]|0)if(bg(e+32|0,P,c),P=a[f+20>>2]|
-0)if(bg(e+40|0,P,c),P=a[f+24>>2]|0)if(bg(e+48|0,P,c),P=a[f+28>>2]|0)if(bg(e+56|0,P,c),P=a[f+32>>2]|0){bg(e+64|0,P,c);if(P=a[f+36>>2]|0)return bg(e+72|0,P,c),Na=1,u=g,Na|0;gd=9}else gd=8;else gd=7;else gd=6;else gd=5;else gd=4;else gd=3;else gd=2;else gd=1;for(;;){if(a[f+(gd<<2)>>2]|0){Na=-1;A=252;break}gd=gd+1|0;if(10<=(gd|0)){Na=1;A=252;break}}}return 252==(A|0)?(u=g,Na|0):0}function Bk(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p;g=u;u=u+240|0;a[g>>2]=b;if(1>=(e|0))Ck(d,g,1),u=g;else{h=
-0-d|0;m=e;k=e=b;for(b=1;;){l=e+h|0;n=m+-2|0;e=e+(0-((a[f+(n<<2)>>2]|0)+d))|0;if(-1<(dd[c&127](k,e)|0)&&-1<(dd[c&127](k,l)|0)){c=b;f=10;break}p=b+1|0;b=g+(b<<2)|0;-1<(dd[c&127](e,l)|0)?(l=a[b>>2]=e,m=m+-1|0):(a[b>>2]=l,m=n);if(1>=(m|0)){c=p;f=10;break}e=l;k=a[g>>2]|0;b=p}10==(f|0)&&(Ck(d,g,c),u=g)}}function ji(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;h|=0;var m,k,l,n=0,p,q,y,B,H,t,z,Q=0,C=0,Ra=0,r=0,w=0,x=0,I,G=0,L=0,K=0,v=0,E=0,O=0,M=0,T=0;m=u;u=u+240|0;k=a[e>>2]|0;l=a[e+4>>2]|0;a[m>>2]=b;e=0-
-d|0;a:do if(0!=(l|0)|1!=(k|0)&&(n=b+(0-(a[h+(f<<2)>>2]|0))|0,1<=(dd[c&127](n,b)|0)))for(p=b,q=f,y=0==(g|0),B=n,n=k,H=l,t=1;;){if(y&1<(q|0)){z=a[h+(q+-2<<2)>>2]|0;if(-1<(dd[c&127](p+e|0,B)|0)){Q=p;C=q;Ra=t;break a}if(-1<(dd[c&127](p+(0-(z+d))|0,B)|0)){Q=p;C=q;Ra=t;break a}}z=t+1|0;a[m+(t<<2)>>2]=B;y=n+-1|0;do if(y){if(y&1)w=11;else{p=y;for(t=0;;)if(t=t+1|0,p>>>=1,p&1){p=t;break}p?r=p:w=11}if(11==(w|0)){w=0;if(!H){x=64;w=16;break}if(H&1){G=0;L=n;K=H;v=0;break}else I=H,p=0;for(;!(t=p+1|0,I>>>=1,I&1);)p=
-t;if(t)r=p+33|0;else{G=0;L=n;K=H;v=0;break}}31<r>>>0?(x=r,w=16):(G=r,L=n,K=H,v=r)}else x=32,w=16;while(0);16==(w|0)&&(w=0,G=x+-32|0,L=H,K=0,v=x);n=K<<32-G|L>>>G;H=K>>>G;y=v+q|0;if(!(0!=(H|0)|1!=(n|0))){Q=B;C=y;Ra=z;break a}t=B+(0-(a[h+(y<<2)>>2]|0))|0;if(1>(dd[c&127](t,a[m>>2]|0)|0)){E=B;O=y;M=0;T=z;w=19;break}else p=B,q=y,y=1,B=t,t=z}else E=b,O=f,M=g,T=1,w=19;while(0);if(19==(w|0)){if(M){u=m;return}Q=E;C=O;Ra=T}Ck(d,m,Ra);Bk(Q,d,c,C,h);u=m}function Ck(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m;e=u;u=u+
-256|0;f=e;if(!(2>(c|0))&&(g=d+(c<<2)|0,a[g>>2]=f,b))for(h=b,b=f;;){f=256<h>>>0?256:h;Ec(b|0,a[d>>2]|0,f|0)|0;b=0;do m=d+(b<<2)|0,b=b+1|0,Ec(a[m>>2]|0,a[d+(b<<2)>>2]|0,f|0)|0,a[m>>2]=(a[m>>2]|0)+f;while((b|0)!=(c|0));if((h|0)==(f|0))break;h=h-f|0;b=a[g>>2]|0}u=e}function bg(b,d,c){b|=0;d|=0;c|=0;var e,f;if(!(20<d>>>0))switch(d|0){case 9:d=(a[c>>2]|0)+3&-4;e=a[d>>2]|0;a[c>>2]=d+4;a[b>>2]=e;break;case 10:e=(a[c>>2]|0)+3&-4;d=a[e>>2]|0;a[c>>2]=e+4;e=b;a[e>>2]=d;a[e+4>>2]=(0>(d|0))<<31>>31;break;case 11:d=
-(a[c>>2]|0)+3&-4;e=a[d>>2]|0;a[c>>2]=d+4;d=b;a[d>>2]=e;a[d+4>>2]=0;break;case 12:e=d=(a[c>>2]|0)+7&-8;f=a[e>>2]|0;e=a[e+4>>2]|0;a[c>>2]=d+8;d=b;a[d>>2]=f;a[d+4>>2]=e;break;case 13:e=(a[c>>2]|0)+3&-4;d=a[e>>2]|0;a[c>>2]=e+4;e=(d&65535)<<16>>16;d=b;a[d>>2]=e;a[d+4>>2]=(0>(e|0))<<31>>31;break;case 14:e=(a[c>>2]|0)+3&-4;d=a[e>>2]|0;a[c>>2]=e+4;e=b;a[e>>2]=d&65535;a[e+4>>2]=0;break;case 15:e=(a[c>>2]|0)+3&-4;d=a[e>>2]|0;a[c>>2]=e+4;e=(d&255)<<24>>24;d=b;a[d>>2]=e;a[d+4>>2]=(0>(e|0))<<31>>31;break;case 16:e=
-(a[c>>2]|0)+3&-4;d=a[e>>2]|0;a[c>>2]=e+4;e=b;a[e>>2]=d&255;a[e+4>>2]=0;break;case 17:e=(a[c>>2]|0)+7&-8;d=+Hb[e>>3];a[c>>2]=e+8;Hb[b>>3]=d;break;case 18:e=(a[c>>2]|0)+7&-8,d=+Hb[e>>3],a[c>>2]=e+8,Hb[b>>3]=d}}function kh(a,d,c){a|=0;d|=0;c|=0;var e;if(0<d>>>0|0==(d|0)&4294967295<a>>>0)for(e=d;;)if(d=vk(a|0,e|0,10,0)|0,c=c+-1|0,t[c>>0]=d|48,d=pf(a|0,e|0,10,0)|0,9<e>>>0|9==(e|0)&4294967295<a>>>0)a=d,e=U;else break;else d=a;if(d)a=c,c=d;else return c|0;for(;!(d=a+-1|0,t[d>>0]=(c>>>0)%10|48,10>c>>>0);)a=
-d,c=(c>>>0)/10|0;return d|0}function Cd(b,d,c,e,f){b|=0;c|=0;e|=0;var g,h,m;g=u;u=u+256|0;if((c|0)>(e|0)&0==((f|0)&73728|0)){f=c-e|0;Va(g|0,d|0,(256<f>>>0?256:f)|0)|0;d=a[b>>2]|0;h=0==(d&32|0);if(255<f>>>0){m=c-e|0;e=f;c=d;for(d=h;!(d&&(qd(g,256,b)|0,c=a[b>>2]|0),e=e+-256|0,d=0==(c&32|0),255>=e>>>0););if(d)d=m&255;else{u=g;return}}else if(h)d=f;else{u=g;return}qd(g,d,b)|0}u=g}function Fi(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,y,B,H;f=u;u=u+1296|0;g=f+1028|0;3<c>>>0&&(h=a[b>>2]|0,a[h+20>>
-2]=52,a[h+24>>2]=c,R[a[h>>2]&127](b));h=0!=(d|0);d=a[(h?b+180+(c<<2)|0:b+196+(c<<2)|0)>>2]|0;d||(m=a[b>>2]|0,a[m+20>>2]=52,a[m+24>>2]=c,R[a[m>>2]&127](b));(m=a[e>>2]|0)?(k=b,l=m):(c=Aa[a[a[b+4>>2]>>2]&63](b,1,1424)|0,a[e>>2]=c,k=b,l=c);a[l+140>>2]=d;m=1;for(c=0;;)if(e=t[d+m>>0]|0,n=e&255,p=n+c|0,256<(p|0)&&(q=a[b>>2]|0,a[q+20>>2]=9,R[a[q>>2]&127](k)),e<<24>>24?(Va(g+c|0,m&255|0,n|0)|0,y=p):y=c,m=m+1|0,17==(m|0)){B=y;break}else c=y;t[g+B>>0]=0;y=t[g>>0]|0;if(y<<24>>24)for(c=y,p=m=0,n=y<<24>>24;;){if((c<<
-24>>24|0)==(n|0))for(y=m,e=p;;)if(q=e+1|0,a[f+(e<<2)>>2]=y,m=y+1|0,p=t[g+q>>0]|0,(p<<24>>24|0)==(n|0))y=m,e=q;else{c=p;y=m;break}else y=m,q=p;(y|0)>=(1<<n|0)&&(e=a[b>>2]|0,a[e+20>>2]=9,R[a[e>>2]&127](k));if(c<<24>>24)m=y<<1,p=q,n=n+1|0;else{e=1;m=0;break}}else e=1,m=0;for(;n=d+e|0,t[n>>0]|0?(a[l+72+(e<<2)>>2]=m-(a[f+(m<<2)>>2]|0),q=(x[n>>0]|0)+m|0,H=a[f+(q+-1<<2)>>2]|0,g=q):(H=-1,g=m),a[l+(e<<2)>>2]=H,e=e+1|0,17!=(e|0);)m=g;a[l+68>>2]=1048575;Va(l+144|0,0,1024)|0;g=1;for(m=0;;){e=d+g|0;if(t[e>>0]|
-0)for(H=8-g|0,q=1<<H,n=1,p=m;;){y=d+17+p|0;m=q;for(c=a[f+(p<<2)>>2]<<H;;)if(a[l+144+(c<<2)>>2]=g,t[l+1168+c>>0]=t[y>>0]|0,1<(m|0))m=m+-1|0,c=c+1|0;else break;c=p+1|0;if((n|0)<(x[e>>0]|0))n=n+1|0,p=c;else{n=c;break}}else n=m;g=g+1|0;if(9==(g|0))break;else m=n}if(h&0<(B|0)){l=0;do 15<(x[d+17+l>>0]|0)&&(h=a[b>>2]|0,a[h+20>>2]=9,R[a[h>>2]&127](k)),l=l+1|0;while((l|0)!=(B|0))}u=f}function Uc(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,y,B=0,H=0,ka,z,Q,C,u,r=0,w=0,x=0,I=0,G=0,L=0,K=0,v=0,E=0,O=0,
-M=0,T=0,A=0;f=a[b>>2]|0;g=b+4|0;h=a[g>>2]|0;m=a[b+16>>2]|0;k=m+440|0;a:do if(a[k>>2]|0)O=d,M=c,T=h,A=f,H=14;else if(25>(c|0)){l=m+24|0;n=d;p=c;q=h;y=f;b:for(;;){if(q)ka=q;else{if(!(da[a[(a[l>>2]|0)+12>>2]&63](m)|0)){B=0;H=19;break}q=a[l>>2]|0;ka=a[q+4>>2]|0;y=a[q>>2]|0}q=ka+-1|0;ka=y+1|0;z=t[y>>0]|0;Q=z&255;c:do if(-1==z<<24>>24)for(y=q;;){if(y)q=y,y=ka;else{if(!(da[a[(a[l>>2]|0)+12>>2]&63](m)|0)){B=0;H=19;break b}ka=a[l>>2]|0;q=a[ka+4>>2]|0;y=a[ka>>2]|0}ka=q+-1|0;q=y+1|0;y=t[y>>0]|0;switch(y<<24>>
-24){case 0:y=ka;C=255;u=q;break c;case -1:y=ka;ka=q;break;default:r=n;w=p;x=ka;I=q;G=y;H=12;break b}}else y=q,C=Q,u=ka;while(0);ka=C|n<<8;Q=p+8|0;if(25>(Q|0))n=ka,p=Q,q=y,y=u;else{L=ka;K=Q;v=y;E=u;break a}}if(12==(H|0))a[k>>2]=G&255,O=r,M=w,T=x,A=I,H=14;else if(19==(H|0))return B|0}else L=d,K=c,v=h,E=f;while(0);14==(H|0)&&((M|0)<(e|0)?(e=m+468|0,a[(a[e>>2]|0)+40>>2]|0||(H=a[m>>2]|0,a[H+20>>2]=120,ub[a[H+4>>2]&31](m,-1),a[(a[e>>2]|0)+40>>2]=1),L=O<<25-M,K=25):(L=O,K=M),v=T,E=A);a[b>>2]=E;a[g>>2]=v;
-a[b+8>>2]=L;a[b+12>>2]=K;return 1}function Tf(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p;if((c|0)<(f|0))if(Uc(b,d,c,f)|0)g=a[b+8>>2]|0,h=a[b+12>>2]|0;else return-1;else g=d,h=c;c=h-f|0;h=g>>c&a[122072+(f<<2)>>2];d=b+8|0;m=b+12|0;a:do{if((h|0)>(a[e+(f<<2)>>2]|0)){k=g;l=c;c=h;for(h=f;;){f=c<<1;if(1>(l|0)){if(!(Uc(b,k,l,1)|0)){b=-1;break}k=a[d>>2]|0;l=a[m>>2]|0}l=l+-1|0;c=k>>>l&1|f;f=h+1|0;if((c|0)>(a[e+(f<<2)>>2]|0))h=f;else{n=c;p=f;break a}}return b|0}k=g;l=c;n=h;p=f}while(0);a[d>>2]=k;
-a[m>>2]=l;if(16<(p|0))return l=a[b+16>>2]|0,b=a[l>>2]|0,a[b+20>>2]=121,ub[a[b+4>>2]&31](l,-1),0;b=x[(a[e+72+(p<<2)>>2]|0)+n+((a[e+140>>2]|0)+17)>>0]|0;return b|0}function Dj(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l=0,n=0,p=0,q,y;e=u;u=u+16|0;f=b|0;g=d|0;h=c|0;k=0;m=ki(f,g,0)|0;if((!m||65535>=g>>>0&&(k=w[m+24>>1]|0,0==(1<<(k&31)&a[f+40+(((k&65535)>>>5&65535)<<2)>>2]|0))?0:Aa[a[f+672>>2]&63](f,g,h)|0)|0)return u=e,1;if(318<=(d|0)){if(530>(d|0))switch(d|0){case 336:return f=(a[c>>2]|0)+3&-4,g=a[f>>2]|
-0,a[c>>2]=f+4,w[g>>1]=0,g=(1<<N[b+84>>1])+65535&65535,f=(a[c>>2]|0)+3&-4,h=a[f>>2]|0,a[c>>2]=f+4,w[h>>1]=g,u=e,1;case 332:return g=(a[c>>2]|0)+3&-4,h=a[g>>2]|0,a[c>>2]=g+4,w[h>>1]=1,u=e,1;case 334:return h=(a[c>>2]|0)+3&-4,g=a[h>>2]|0,a[c>>2]=h+4,w[g>>1]=4,u=e,1;case 338:return g=w[b+156>>1]|0,h=(a[c>>2]|0)+3&-4,f=a[h>>2]|0,a[c>>2]=h+4,w[f>>1]=g,g=a[b+160>>2]|0,f=(a[c>>2]|0)+3&-4,h=a[f>>2]|0,a[c>>2]=f+4,a[h>>2]=g,u=e,1;case 339:return g=w[b+86>>1]|0,h=(a[c>>2]|0)+3&-4,f=a[h>>2]|0,a[c>>2]=h+4,w[f>>
-1]=g,u=e,1;case 529:return g=(a[c>>2]|0)+3&-4,f=a[g>>2]|0,a[c>>2]=g+4,a[f>>2]=7740,u=e,1;case 318:return W[1938]=.3457419276237488,W[1939]=.3585604429244995,f=(a[c>>2]|0)+3&-4,g=a[f>>2]|0,a[c>>2]=f+4,a[g>>2]=7752,u=e,1;default:return u=e,0}if(32995<=(d|0))switch(d|0){case 32995:return m=1==(w[b+156>>1]|0)?1==(w[a[b+160>>2]>>1]|0)&1:0,g=(a[c>>2]|0)+3&-4,f=a[g>>2]|0,a[c>>2]=g+4,w[f>>1]=m,u=e,1;case 32998:return m=a[b+76>>2]|0,f=(a[c>>2]|0)+3&-4,g=a[f>>2]|0,a[c>>2]=f+4,a[g>>2]=m,u=e,1;case 32996:return m=
-(N[b+86>>1]|0)+65535&65535,g=(a[c>>2]|0)+3&-4,f=a[g>>2]|0,a[c>>2]=g+4,w[f>>1]=m,u=e,1;case 32997:return m=a[b+64>>2]|0,f=(a[c>>2]|0)+3&-4,g=a[f>>2]|0,a[c>>2]=f+4,a[g>>2]=m,u=e,1;default:return u=e,0}switch(d|0){case 530:return m=w[b+192>>1]|0,g=(a[c>>2]|0)+3&-4,f=a[g>>2]|0,a[c>>2]=g+4,w[f>>1]=m,m=w[b+194>>1]|0,f=(a[c>>2]|0)+3&-4,g=a[f>>2]|0,a[c>>2]=f+4,w[g>>1]=m,u=e,1;case 531:return m=w[b+196>>1]|0,g=(a[c>>2]|0)+3&-4,f=a[g>>2]|0,a[c>>2]=g+4,w[f>>1]=m,u=e,1;case 532:m=b+212|0;if(g=f=a[m>>2]|0)d=g;
-else{h=eb(24)|0;a[m>>2]=h;if(!h)return u=e,0;6==(w[b+90>>1]|0)?(W[h>>2]=0,W[h+20>>2]=255,W[h+12>>2]=255,W[h+4>>2]=255,W[h+16>>2]=128,W[h+8>>2]=128):(k=+((1<<N[b+84>>1])+-1|0),W[h>>2]=0,W[h+4>>2]=k,W[h+8>>2]=0,W[h+12>>2]=k,W[h+16>>2]=0,W[h+20>>2]=k);d=h}g=(a[c>>2]|0)+3&-4;m=a[g>>2]|0;a[c>>2]=g+4;a[m>>2]=d;u=e;return 1;default:return u=e,0}}do switch(d|0){case 254:return d=a[b+80>>2]|0,m=(a[c>>2]|0)+3&-4,g=a[m>>2]|0,a[c>>2]=m+4,a[g>>2]=d,b=1,u=e,b|0;case 258:return d=w[b+84>>1]|0,g=(a[c>>2]|0)+3&-4,
-m=a[g>>2]|0,a[c>>2]=g+4,w[m>>1]=d,b=1,u=e,b|0;case 263:return d=w[b+92>>1]|0,m=(a[c>>2]|0)+3&-4,g=a[m>>2]|0,a[c>>2]=m+4,w[g>>1]=d,b=1,u=e,b|0;case 266:return d=w[b+94>>1]|0,g=(a[c>>2]|0)+3&-4,m=a[g>>2]|0,a[c>>2]=g+4,w[m>>1]=d,b=1,u=e,b|0;case 274:return d=w[b+96>>1]|0,m=(a[c>>2]|0)+3&-4,g=a[m>>2]|0,a[c>>2]=m+4,w[g>>1]=d,b=1,u=e,b|0;case 277:return d=w[b+98>>1]|0,g=(a[c>>2]|0)+3&-4,m=a[g>>2]|0,a[c>>2]=g+4,w[m>>1]=d,b=1,u=e,b|0;case 278:return d=a[b+100>>2]|0,m=(a[c>>2]|0)+3&-4,g=a[m>>2]|0,a[c>>2]=
-m+4,a[g>>2]=d,b=1,u=e,b|0;case 280:return d=w[b+104>>1]|0,g=(a[c>>2]|0)+3&-4,m=a[g>>2]|0,a[c>>2]=g+4,w[m>>1]=d,b=1,u=e,b|0;case 281:return d=w[b+106>>1]|0,m=(a[c>>2]|0)+3&-4,g=a[m>>2]|0,a[c>>2]=m+4,w[g>>1]=d,b=1,u=e,b|0;case 284:return d=w[b+126>>1]|0,g=(a[c>>2]|0)+3&-4,m=a[g>>2]|0,a[c>>2]=g+4,w[m>>1]=d,b=1,u=e,b|0;case 296:return d=w[b+124>>1]|0,m=(a[c>>2]|0)+3&-4,g=a[m>>2]|0,a[c>>2]=m+4,w[g>>1]=d,b=1,u=e,b|0;case 317:return d=a[a[b+576>>2]>>2]&65535,g=(a[c>>2]|0)+3&-4,m=a[g>>2]|0,a[c>>2]=g+4,w[m>>
-1]=d,b=1,u=e,b|0;case 301:d=b+200|0;m=a[d>>2]|0;do if(m)f=b+156|0,g=b+98|0,h=m;else{g=b+200|0;f=b+208|0;a[f>>2]=0;m=b+204|0;a[m>>2]=0;a[g>>2]=0;h=w[b+84>>1]|0;if(29>=(h&65535)&&(l=1<<(h&65535),h=l<<1,n=eb(h)|0,a[g>>2]=n,p=n,0!=(n|0))){w[n>>1]=0;if(1<(l|0)){k=+(l|0)+-1;q=1;do y=~~+Lj(+(65535*+Oi(+(+(q|0)/k),2.2)+.5))&65535,w[n+(q<<1)>>1]=y,q=q+1|0;while((q|0)!=(l|0))}l=b+98|0;q=b+156|0;if(1>=((N[l>>1]|0)-(N[q>>1]|0)|0)){f=q;g=l;h=p;break}n=eb(h)|0;a[m>>2]=n;if(0!=(n|0)&&(Ab(n,a[g>>2]|0,h),n=eb(h)|
-0,a[f>>2]=n,0!=(n|0))){Ab(n,a[g>>2]|0,h);f=q;g=l;h=a[d>>2]|0;break}(l=a[g>>2]|0)&&ja(l);(l=a[m>>2]|0)&&ja(l);(l=a[f>>2]|0)&&ja(l);a[f>>2]=0;a[m>>2]=0;a[g>>2]=0}Y(a[b+628>>2]|0,a[b>>2]|0,140044,e);b=0;u=e;return b|0}while(0);m=(a[c>>2]|0)+3&-4;d=a[m>>2]|0;a[c>>2]=m+4;a[d>>2]=h;if(1>=((N[g>>1]|0)-(N[f>>1]|0)|0))return b=1,u=e,b|0;d=a[b+204>>2]|0;m=(a[c>>2]|0)+3&-4;l=a[m>>2]|0;a[c>>2]=m+4;a[l>>2]=d;d=a[b+208>>2]|0;l=(a[c>>2]|0)+3&-4;m=a[l>>2]|0;a[c>>2]=l+4;a[m>>2]=d;b=1;u=e;return b|0;default:return b=
-0,u=e,b|0}while(0)}function ne(b,d,c){var e;e=u;u=u+16|0;a[e>>2]=c|0;c=Dj(b|0,d|0,e)|0;u=e;return c|0}function Kb(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;e|=0;var m;m=0>(c|0)?0:255<(c|0)?255:c;c=0>(e|0)?0:255<(e|0)?255:e;e=(a[b+20>>2]|0)+((255<d>>>0?255:d)<<2)|0;d=(a[(a[b+4>>2]|0)+(c<<2)>>2]|0)+(a[e>>2]|0)|0;a[(f|0)>>2]=0>(d|0)?0:255<(d|0)?255:d;d=((a[(a[b+12>>2]|0)+(c<<2)>>2]|0)+(a[(a[b+16>>2]|0)+(m<<2)>>2]|0)>>16)+(a[e>>2]|0)|0;a[(g|0)>>2]=0>(d|0)?0:255<(d|0)?255:d;d=(a[(a[b+8>>2]|0)+(m<<2)>>2]|0)+(a[e>>
-2]|0)|0;a[(h|0)>>2]=0>(d|0)?0:255<(d|0)?255:d}function Ng(b){b|=0;a[b+504>>2]=4;a[b+500>>2]=1;a[b+508>>2]=5;a[b+512>>2]=20;a[b+532>>2]=6;a[b+540>>2]=7;a[b+548>>2]=8;a[b+520>>2]=1;a[b+516>>2]=5;a[b+524>>2]=20;a[b+528>>2]=5;a[b+536>>2]=9;a[b+544>>2]=10;a[b+552>>2]=11;a[b+556>>2]=1;a[b+560>>2]=21;a[b+564>>2]=1;a[b+568>>2]=22;a[b+572>>2]=8;b=b+12|0;a[b>>2]&=-131329}function Ej(b){b|=0;var d,c;d=a[1940]|0;a:do if(d){for(;;){c=a[d+4>>2]|0;if((w[c+4>>1]|0)==b<<16>>16){b=c;break}d=a[d>>2]|0;if(!d)break a}return b|
-0}while(0);if(a[1941]|0)d=7764;else return 0;for(;;){if((w[d+4>>1]|0)==b<<16>>16){b=d;d=7;break}d=d+12|0;if(!(a[d>>2]|0)){b=0;d=7;break}}return 7==(d|0)?b|0:0}function Fj(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C,Ra,r,w,x,I,G,L=0,K,v,E,O=0,M=0;d=u;u=u+112|0;c=d+88|0;e=d+80|0;f=d+72|0;g=d+64|0;h=d+56|0;m=d+48|0;k=d+40|0;l=d+32|0;n=d+24|0;p=d+100|0;q=d+96|0;y=d+92|0;B=d+16|0;H=d+8|0;z=t=b+16|0;Q=a[z>>2]|0;C=a[z+4>>2]|0;if(0==(Q|0)&0==(C|0))return b=Zk(b,1,1,0)|0,u=d,b|0;z=b+12|0;do if(a[z>>
-2]&524288){x=I=b+432|0;r=a[x>>2]|0;G=a[x+4>>2]|0;if((r|0)==(Q|0)&(G|0)==(C|0)){x=I;a[x>>2]=0;a[x+4>>2]=0;x=t;a[x>>2]=0;a[x+4>>2]=0;x=b+628|0;rb[a[b+640>>2]&63](a[x>>2]|0,8,0,0)|0;if(8==(Aa[a[b+636>>2]&63](a[x>>2]|0,I,8)|0))break;Y(a[x>>2]|0,a[b>>2]|0,140316,h);b=0;u=d;return b|0}x=b+640|0;I=b+628|0;Ra=b+632|0;K=r;for(r=G;;){G=rb[a[x>>2]&63](a[I>>2]|0,K,r,0)|0;if(!((G|0)==(K|0)&(U|0)==(r|0))){G=27;break}if(8!=(Aa[a[Ra>>2]&63](a[I>>2]|0,B,8)|0)){G=27;break}a[z>>2]&128&&kc(B);G=B;w=a[G>>2]|0;v=a[G+4>>
-2]|0;if(0<v>>>0|0==(v|0)&65535<w>>>0){G=31;break}v=a[x>>2]|0;G=a[I>>2]|0;r=Qb(K|0,r|0,8,0)|0;E=Qb(r|0,U|0,20*(w&65535)|0,0)|0;w=U;rb[v&63](G,E,w,0)|0;if(8!=(Aa[a[Ra>>2]&63](a[I>>2]|0,H,8)|0)){G=33;break}a[z>>2]&128&&kc(H);G=H;K=a[G>>2]|0;r=a[G+4>>2]|0;G=t;if((K|0)==(a[G>>2]|0)&&(r|0)==(a[G+4>>2]|0)){O=E;M=w;G=37;break}}if(27==(G|0))return Y(a[I>>2]|0,140343,140364,g),b=0,u=d,b|0;if(31==(G|0))return Y(a[I>>2]|0,140343,140454,f),b=0,u=d,b|0;if(33==(G|0))return Y(a[I>>2]|0,140343,140395,e),b=0,u=d,b|
-0;if(37==(G|0))if(r=d,a[r>>2]=0,a[r+4>>2]=0,rb[a[x>>2]&63](a[I>>2]|0,O,M,0)|0,8==(Aa[a[b+636>>2]&63](a[I>>2]|0,d,8)|0))r=t,a[r>>2]=0,a[r+4>>2]=0;else return Y(a[I>>2]|0,140343,140425,c),b=0,u=d,b|0}else{Ra=b+428|0;r=a[Ra>>2]|0;if((r|0)==(Q|0)&0==(C|0)){a[Ra>>2]=0;w=t;a[w>>2]=0;a[w+4>>2]=0;w=b+628|0;rb[a[b+640>>2]&63](a[w>>2]|0,4,0,0)|0;if(4==(Aa[a[b+636>>2]&63](a[w>>2]|0,Ra,4)|0))break;Y(a[w>>2]|0,a[b>>2]|0,140316,n);b=0;u=d;return b|0}w=b+640|0;Ra=b+628|0;x=b+632|0;for(I=r;;){r=rb[a[w>>2]&63](a[Ra>>
-2]|0,I,0,0)|0;if(!((r|0)==(I|0)&0==(U|0))){G=10;break}if(2!=(Aa[a[x>>2]&63](a[Ra>>2]|0,p,2)|0)){G=10;break}a[z>>2]&128&&ac(p);r=I+2|0;rb[a[w>>2]&63](a[Ra>>2]|0,(12*(N[p>>1]|0)|0)+r|0,0,0)|0;if(4!=(Aa[a[x>>2]&63](a[Ra>>2]|0,q,4)|0)){G=14;break}a[z>>2]&128&&pb(q);I=a[q>>2]|0;G=t;if((I|0)==(a[G>>2]|0)&&0==(a[G+4>>2]|0)){L=r;G=18;break}}if(10==(G|0))return Y(a[Ra>>2]|0,140343,140364,l),b=0,u=d,b|0;if(14==(G|0))return Y(a[Ra>>2]|0,140343,140395,k),b=0,u=d,b|0;if(18==(G|0))if(a[y>>2]=0,rb[a[w>>2]&63](a[Ra>>
-2]|0,(12*(N[p>>1]|0)|0)+L|0,0,0)|0,4==(Aa[a[b+636>>2]&63](a[Ra>>2]|0,y,4)|0))I=t,a[I>>2]=0,a[I+4>>2]=0;else return Y(a[Ra>>2]|0,140343,140425,m),b=0,u=d,b|0}while(0);b=Zk(b,1,1,0)|0;u=d;return b|0}function Ni(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C,Ra,r,x,J,I,G,L,K,v,A,O,M,T,X,P=0,Oa=0,D=0,F=0,ba=0,R=0,S=0,W=0;g=u;u=u+176|0;h=g+128|0;m=g+120|0;k=g+112|0;l=g+104|0;n=g+96|0;p=g+88|0;q=g+80|0;y=g+72|0;B=g+64|0;H=g+56|0;t=g+48|0;z=g+40|0;Q=g+160|0;C=g+140|0;Ra=g+138|0;r=
-g+136|0;x=g+16|0;J=g+8|0;I=g;G=g+132|0;w[Ra>>1]=0;w[r>>1]=0;L=x;a[L>>2]=0;a[L+4>>2]=0;L=J;a[L>>2]=0;a[L+4>>2]=0;L=d&65535;ki(b,L,0)|0;K=b+12|0;if(a[K>>2]&2048)return Y(a[b+628>>2]|0,140508,140523,g+24|0),u=g,0;A=v=b+16|0;O=a[A>>2]|0;M=a[A+4>>2]|0;if(0==(O|0)&0==(M|0))return Y(a[b+628>>2]|0,140508,140587,g+32|0),u=g,0;A=b+640|0;T=b+628|0;X=rb[a[A>>2]&63](a[T>>2]|0,O,M,0)|0;M=U;O=v;if((X|0)!=(a[O>>2]|0)||(M|0)!=(a[O+4>>2]|0))return O=a[T>>2]|0,a[z>>2]=a[b>>2],Y(O,140508,140644,z),u=g,0;z=b+632|0;O=
-a[z>>2]|0;v=a[T>>2]|0;if(a[K>>2]&524288){if(8!=(Aa[O&63](v,I,8)|0))return v=a[T>>2]|0,a[H>>2]=a[b>>2],Y(v,140508,140684,H),u=g,0;a[K>>2]&128&&kc(I);H=a[I>>2]&65535;w[Q>>1]=H;I=Qb(X|0,M|0,8,0)|0;ba=H;R=I;S=U;W=20}else{if(2!=(Aa[O&63](v,Q,2)|0))return d=a[T>>2]|0,a[t>>2]=a[b>>2],Y(d,140508,140684,t),u=g,0;a[K>>2]&128&&ac(Q);P=t=Qb(X|0,M|0,2,0)|0;Oa=U;D=12;F=18}for(;;){18==(F|0)&&(F=0,ba=w[Q>>1]|0,R=P,S=Oa,W=D);if(!(ba<<16>>16)){F=26;break}if((Aa[a[z>>2]&63](a[T>>2]|0,C,W)|0)!=(W|0)){F=21;break}I=w[C>>
-1]|0;w[Ra>>1]=I;a[K>>2]&128?(ac(Ra),t=w[Ra>>1]|0):t=I;if(t<<16>>16==d<<16>>16)break;P=I=Qb(R|0,S|0,W|0,0)|0;Oa=U;D=W;F=18}if(21==(F|0))return D=a[T>>2]|0,a[B>>2]=a[b>>2],Y(D,140508,140722,B),u=g,0;if(26==(F|0)&&(w[Ra>>1]|0)!=d<<16>>16)return d=a[T>>2]|0,a[y>>2]=a[b>>2],a[y+4>>2]=L,Y(d,140508,140761,y),u=g,0;y=C+2|0;w[r>>1]=w[y>>1]|0;d=a[K>>2]|0;d&128?(ac(r),B=a[K>>2]|0):B=d;d=C+4|0;B&524288?(Ra=L=d,F=L+4|0,L=N[F>>1]|N[F+2>>1]<<16,F=x,a[F>>2]=N[Ra>>1]|N[Ra+2>>1]<<16,a[F+4>>2]=L,B&128?(kc(x),t=a[K>>
-2]|0):t=B,F=L=C+12|0,Ra=L+4|0,L=N[Ra>>1]|N[Ra+2>>1]<<16,Ra=J,a[Ra>>2]=N[F>>1]|N[F+2>>1]<<16,a[Ra+4>>2]=L,t&128&&kc(J)):(t=N[d>>1]|N[d+2>>1]<<16,a[G>>2]=t,B&128?(pb(G),L=a[G>>2]|0,F=a[K>>2]|0):(L=t,F=B),B=x,a[B>>2]=L,a[B+4>>2]=0,B=C+8|0,L=N[B>>1]|N[B+2>>1]<<16,a[G>>2]=L,F&128?(pb(G),t=a[G>>2]|0):t=L,G=J,a[G>>2]=t,a[G+4>>2]=0);a:do if(8==(Ne(c)|0)&&0==(a[K>>2]&524288|0))switch(c|0){case 16:Ra=4;break a;case 17:Ra=9;break a;case 18:Ra=13;break a;default:Ra=c;break a}else Ra=c;while(0);G=Mf(b,e,Ne(Ra)|
-0,140788)|0;if(!G)return u=g,0;a:do if((Ra|0)==(c|0))Ec(G|0,f|0,E(Ne(c)|0,e)|0)|0;else{if(17==(c|0)&9==(Ra|0)){if(0>=(e|0))break;for(t=0;;){L=f+(t<<3)|0;F=a[L>>2]|0;B=a[L+4>>2]|0;a[G+(t<<2)>>2]=F;t=t+1|0;if(!((F|0)==(F|0)&((0>(F|0))<<31>>31|0)==(B|0)))break;if((t|0)>=(e|0))break a}ja(G);Y(a[T>>2]|0,140508,140806,q);b=0;u=g;return b|0}if(16==(c|0)&4==(Ra|0)){if(0>=(e|0))break}else if(!(18==(c|0)&13==(Ra|0)&0<(e|0)))break;for(t=0;;){B=f+(t<<3)|0;F=a[B>>2]|0;L=a[B+4>>2]|0;a[G+(t<<2)>>2]=F;t=t+1|0;if(!((F|
-0)==(F|0)&0==(L|0)))break;if((t|0)>=(e|0))break a}ja(G);Y(a[T>>2]|0,140508,140806,p);b=0;u=g;return b|0}while(0);1<(Ne(Ra)|0)&&0!=(a[K>>2]&128|0)&&(2==(Ne(Ra)|0)?Vd(G,e):4==(Ne(Ra)|0)?Id(G,e):8==(Ne(Ra)|0)&&Ae(G,e));p=0==(a[K>>2]&524288|0);f=E(Ne(Ra)|0,e)|0;p?5>(f|0)?(p=Qb(R|0,S|0,8,0)|0,c=J,a[c>>2]=p,a[c+4>>2]=U,p=1):p=0:9>(f|0)?(f=Qb(R|0,S|0,12,0)|0,c=J,a[c>>2]=f,a[c+4>>2]=U,p=1):p=0;c=x;if((a[c>>2]|0)==(e|0)&&(a[c+4>>2]|0)==((0>(e|0))<<31>>31|0)&&(w[r>>1]|0)==(Ra&65535)<<16>>16){c=J;f=rb[a[A>>
-2]&63](a[T>>2]|0,a[c>>2]|0,a[c+4>>2]|0,0)|0;c=J;if((f|0)!=(a[c>>2]|0)||(U|0)!=(a[c+4>>2]|0))return ja(G),c=a[T>>2]|0,a[n>>2]=a[b>>2],Y(c,140508,140644,n),u=g,0;n=a[b+636>>2]|0;c=a[T>>2]|0;f=E(Ne(Ra)|0,e)|0;p=Aa[n&63](c,G,f)|0;f=(p|0)==(E(Ne(Ra)|0,e)|0);ja(G);if(f)return u=g,1;Y(a[T>>2]|0,140508,140425,l);u=g;return 0}if(p)Ec(J|0,G|0,E(Ne(Ra)|0,e)|0)|0;else if(p=rb[a[A>>2]&63](a[T>>2]|0,0,0,2)|0,l=J,a[l>>2]=p,a[l+4>>2]=U,l=a[b+636>>2]|0,p=a[T>>2]|0,f=E(Ne(Ra)|0,e)|0,p=Aa[l&63](p,G,f)|0,(p|0)!=(E(Ne(Ra)|
-0,e)|0))return ja(G),Y(a[T>>2]|0,140508,140425,k),u=g,0;ja(G);G=Ra&65535;w[r>>1]=G;w[y>>1]=G;G=a[K>>2]|0;G&128?(ac(y),c=a[K>>2]|0):c=G;c&524288?(G=x,x=a[G>>2]|0,e=a[G+4>>2]|0,y=G=d,w[y>>1]=x,w[y+2>>1]=x>>>16,x=G+4|0,w[x>>1]=e,w[x+2>>1]=e>>>16,c&128?(kc(d),y=a[K>>2]|0):y=c,K=C+12|0,d=J,J=a[d>>2]|0,c=a[d+4>>2]|0,e=d=K,w[e>>1]=J,w[e+2>>1]=J>>>16,J=d+4|0,w[J>>1]=c,w[J+2>>1]=c>>>16,y&128&&kc(K)):(y=a[x>>2]|0,w[d>>1]=y,w[d+2>>1]=y>>>16,c&128?(pb(d),e=a[K>>2]|0):e=c,y=a[J>>2]|0,G=C+8|0,w[G>>1]=y,w[G+2>>
-1]=y>>>16,e&128&&pb(G));K=rb[a[A>>2]&63](a[T>>2]|0,R,S,0)|0;if(!((K|0)==(R|0)&(U|0)==(S|0)))return S=a[T>>2]|0,a[m>>2]=a[b>>2],Y(S,140508,140644,m),u=g,0;if((Aa[a[b+636>>2]&63](a[T>>2]|0,C,W)|0)==(W|0))return u=g,1;W=a[T>>2]|0;a[h>>2]=a[b>>2];Y(W,140508,140848,h);u=g;return 0}function Zk(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0,Q=0,C=0,Ra=0,r=0,x=0,J=0,I=0,G=0,L=0,K=0,v=0,E=0,O=0,M=0,T=0,A=0,P=0,Oa=0,D=0,F=0,ba=0,bf=0,S=0,Mg=0,ga=0,Ha=0,ma=0,aa=0,ha=
-0,ca=0,fa=0,pc=0,Nb=0,Hd=0,Zc=0,oa=0,sa=0,Kc=0,ua=0,Ia=0,Da=0,na=0,Na=0,ya=0,Ca=0,Ga=0,Ea=0,La=0,ra=0,pa=0,Ka=0,Qa=0,xb=0,Zb=0,Wa=0,jb=0,mc=0,Va=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,ub=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,ab=0,Ua=0,Wb=0,Jb=0,fb=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Hb=0,Gb=0,nd=0,Zd=0,wb=0,Lb=0,Qd=0,zb=0,Ob=0,Tb=0,Kb=0,lb=0,Pb=0,Vb=0,fc=0,Sb=0,db=0,$b=0,jc=0,yc=0,
-lc=0,hc=0,ec=0,Ec=0,kd=0,Bc=0,nc=0,Gc=0,zc=0,Hc=0,oc=0,Cc=0,Fc=0,Ie=0,ic=0,Wd=0,Jd=0,bd=0,vc=0,Rc=0,Jc=0,Be=0,Ic=0,xc=0,Qc=0,Wc=0,Uc=0,hd=0,Bd=0,Vc=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,cf=0,ad=0,dd=0,Oc=0,Pc=0,Yc=0,wc=0,id=0,dc=0,Ac=0,Sc=0,Tc=0,ld=0,$c=0,Ce=0,vd=0,wd=0,Xc=0,Nf=0,qd=0,ug=0,rd=0,sd=0,md=0,cd=0,ce=0,oe=0,td=0,jd=0,Df=0,Ud=0,pd=0,zd=0,Cd=0,he=0,te=0,de=0,He=0,ue=0,Dd=0,Nd=0,ae=0,De=0,be=0,Fd=0,Rd=0,Gd=0,$d=0,ge=0,ud=0,xd=0,f=u;u=u+352|0;g=f+288|0;h=f+280|0;m=f+272|0;k=f+264|0;l=f+256|
-0;n=f+248|0;p=f+240|0;q=f+232|0;y=f+224|0;B=f+216|0;H=f+208|0;ka=f+200|0;z=f+192|0;Q=f+184|0;C=f+176|0;Ra=f+168|0;r=f+160|0;x=f+152|0;J=f+144|0;I=f+136|0;G=f+128|0;L=f+120|0;K=f+112|0;v=f+104|0;E=f+96|0;O=f+88|0;M=f+80|0;T=f+72|0;A=f+64|0;P=f+56|0;Oa=f+48|0;D=f+40|0;F=f+32|0;ba=f+328|0;bf=f+24|0;S=f+324|0;Mg=f+336|0;ga=f+316|0;Ha=f+16|0;ma=f+8|0;aa=f;ha=f+320|0;ca=f+334|0;fa=f+312|0;pc=f+308|0;Nb=f+332|0;Hd=f+304|0;Zc=f+300|0;oa=f+296|0;sa=f+292|0;if(!(a[b+8>>2]|0))return Kc=1,u=f,Kc|0;1;ua=0!=(c|
-0);c=b+12|0;if(ua){Ia=a[c>>2]|0;if(0!=(Ia&4096|0)&&(a[c>>2]=Ia&-4097,0==(da[a[b+528>>2]&63](b)|0)))return Y(a[b+628>>2]|0,140888,140910,F),Kc=0,u=f,Kc|0;R[a[b+556>>2]&127](b);F=b+608|0;if(0<(a[F>>2]|0)&&0!=(a[c>>2]&64|0)&&0==(Lc(b)|0))return Y(a[b+628>>2]|0,140888,140953,D),Kc=0,u=f,Kc|0;D=a[c>>2]|0;0!=(D&512|0)&&(Ia=b+588|0,Da=a[Ia>>2]|0,0!=(Da|0))?(ja(Da),a[F>>2]=0,a[Ia>>2]=0,a[Ia+4>>2]=0,a[Ia+8>>2]=0,a[Ia+12>>2]=0,na=a[c>>2]|0):na=D;a[c>>2]=na&-81}na=0!=(d|0);d=b+40|0;D=b+156|0;Ia=b+44|0;F=b+184|
-0;Da=b+464|0;Na=b+188|0;ya=b+472|0;Ca=b+480|0;Ga=b+660|0;Ea=b+656|0;La=b+216|0;ra=b+220|0;pa=b+84|0;Ka=b+98|0;Qa=b+200|0;xb=b+204|0;Zb=b+208|0;Wa=b+212|0;jb=b+196|0;mc=b+192|0;Va=b+152|0;Ta=b+76|0;Ya=b+64|0;Sa=b+112|0;mb=b+108|0;Db=b+86|0;cc=b+140|0;Za=b+144|0;ia=b+148|0;qa=b+168|0;Ja=b+172|0;ea=b+176|0;wa=b+136|0;Ma=b+124|0;xa=b+126|0;$a=b+106|0;la=b+104|0;Ba=b+100|0;va=b+96|0;za=b+94|0;ta=b+92|0;nb=b+90|0;sc=b+88|0;gb=b+80|0;hb=b+128|0;ob=b+132|0;Bb=b+116|0;qb=b+120|0;kb=b+68|0;ib=b+72|0;Cb=b+56|
-0;ub=b+60|0;sb=b+224|0;Xa=b+16|0;Fa=b+640|0;Pa=b+628|0;Eb=b+432|0;vb=b+636|0;tb=b+632|0;bb=b+428|0;Ib=0==(e|0);Mb=b+448|0;ab=b+228|0;Wb=Ua=0;a:for(;;){a[ha>>2]=0;do if(na){do if(a[d>>2]&2)if(Jb=a[Cb>>2]|0,Ua){65536>Jb>>>0?(w[ba>>1]=Jb,a[c>>2]&128&&ac(ba),fb=Yb(b,ha,Ua,256,3,1,2,ba)|0):(a[ba>>2]=Jb,a[c>>2]&128&&pb(ba),fb=Yb(b,ha,Ua,256,4,1,4,ba)|0);if(!fb){yb=Ua;cb=593;break a}Jb=a[ub>>2]|0;65536>Jb>>>0?(w[ba>>1]=Jb,a[c>>2]&128&&ac(ba),gc=Yb(b,ha,Ua,257,3,1,2,ba)|0):(a[ba>>2]=Jb,a[c>>2]&128&&pb(ba),
-gc=Yb(b,ha,Ua,257,4,1,4,ba)|0);if(!gc){yb=Ua;cb=593;break a}}else a[ha>>2]=2;while(0);do if(a[d>>2]&4)if(Jb=a[kb>>2]|0,Ua){65536>Jb>>>0?(w[ba>>1]=Jb,a[c>>2]&128&&ac(ba),Ub=Yb(b,ha,Ua,322,3,1,2,ba)|0):(a[ba>>2]=Jb,a[c>>2]&128&&pb(ba),Ub=Yb(b,ha,Ua,322,4,1,4,ba)|0);if(!Ub){yb=Ua;cb=593;break a}Jb=a[ib>>2]|0;65536>Jb>>>0?(w[ba>>1]=Jb,a[c>>2]&128&&ac(ba),Fb=Yb(b,ha,Ua,323,3,1,2,ba)|0):(a[ba>>2]=Jb,a[c>>2]&128&&pb(ba),Fb=Yb(b,ha,Ua,323,4,1,4,ba)|0);if(!Fb){yb=Ua;cb=593;break a}}else a[ha>>2]=(a[ha>>2]|
-0)+2;while(0);Jb=a[d>>2]|0;if(Jb&8){if(!(Gi(b,ha,Ua,282,+W[Bb>>2])|0)){yb=Ua;cb=593;break a}if(!(Gi(b,ha,Ua,283,+W[qb>>2])|0)){yb=Ua;cb=593;break a}Hb=a[d>>2]|0}else Hb=Jb;if(Hb&16){if(!(Gi(b,ha,Ua,286,+W[hb>>2])|0)){yb=Ua;cb=593;break a}if(!(Gi(b,ha,Ua,287,+W[ob>>2])|0)){yb=Ua;cb=593;break a}Gb=a[d>>2]|0}else Gb=Hb;do if(Gb&32)if(Ua){a[ba>>2]=a[gb>>2];a[c>>2]&128&&pb(ba);if(!(Yb(b,ha,Ua,254,4,1,4,ba)|0)){yb=Ua;cb=593;break a}nd=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,nd=Gb;else nd=Gb;while(0);do if(nd&
-64)if(Jb=w[pa>>1]|0,Ua){wb=eb(N[Ka>>1]<<1)|0;if(!wb){Lb=Ua;cb=76;break a}if(w[Ka>>1]|0)for(zb=wb,Ob=0;;)if(w[zb>>1]=Jb,Ob=Ob+1<<16>>16,Tb=w[Ka>>1]|0,(Ob&65535)>=(Tb&65535)){Qd=Tb;break}else zb=zb+2|0;else Qd=0;zb=Qd&65535;a[c>>2]&128&&Vd(wb,zb);Ob=Yb(b,ha,Ua,258,3,zb,zb<<1,wb)|0;ja(wb);if(!Ob){yb=Ua;cb=593;break a}Zd=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Zd=nd;else Zd=nd;while(0);do if(Zd&128)if(Ua){w[ba>>1]=w[sc>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,259,3,1,2,ba)|0)){yb=Ua;cb=593;break a}Kb=
-a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Kb=Zd;else Kb=Zd;while(0);do if(Kb&256)if(Ua){w[ba>>1]=w[nb>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,262,3,1,2,ba)|0)){yb=Ua;cb=593;break a}lb=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,lb=Kb;else lb=Kb;while(0);do if(lb&512)if(Ua){w[ba>>1]=w[ta>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,263,3,1,2,ba)|0)){yb=Ua;cb=593;break a}Pb=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Pb=lb;else Pb=lb;while(0);do if(Pb&1024)if(Ua){w[ba>>1]=w[za>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,
-ha,Ua,266,3,1,2,ba)|0)){yb=Ua;cb=593;break a}Vb=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Vb=Pb;else Vb=Pb;while(0);do if(Vb&32768)if(Ua){w[ba>>1]=w[va>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,274,3,1,2,ba)|0)){yb=Ua;cb=593;break a}fc=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,fc=Vb;else fc=Vb;while(0);do if(fc&65536)if(Ua){w[ba>>1]=w[Ka>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,277,3,1,2,ba)|0)){yb=Ua;cb=593;break a}Sb=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Sb=fc;else Sb=fc;while(0);do if(Sb&131072)if(Ob=
-a[Ba>>2]|0,Ua){65536>Ob>>>0?(w[ba>>1]=Ob,a[c>>2]&128&&ac(ba),$b=Yb(b,ha,Ua,278,3,1,2,ba)|0):(a[ba>>2]=Ob,a[c>>2]&128&&pb(ba),$b=Yb(b,ha,Ua,278,4,1,4,ba)|0);if(!$b){yb=Ua;cb=593;break a}db=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,db=Sb;else db=Sb;while(0);do if(db&262144)if(Ob=w[la>>1]|0,Ua){zb=eb(N[Ka>>1]<<1)|0;if(!zb){yc=Ua;cb=141;break a}if(w[Ka>>1]|0)for(Jb=zb,Tb=0;;)if(w[Jb>>1]=Ob,Tb=Tb+1<<16>>16,hc=w[Ka>>1]|0,(Tb&65535)>=(hc&65535)){lc=hc;break}else Jb=Jb+2|0;else lc=0;Jb=lc&65535;a[c>>2]&128&&
-Vd(zb,Jb);Tb=Yb(b,ha,Ua,280,3,Jb,Jb<<1,zb)|0;ja(zb);if(!Tb){yb=Ua;cb=593;break a}jc=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,jc=db;else jc=db;while(0);do if(jc&524288)if(Tb=w[$a>>1]|0,Ua){Jb=eb(N[Ka>>1]<<1)|0;if(!Jb){Ec=Ua;cb=152;break a}if(w[Ka>>1]|0)for(Ob=Jb,wb=0;;)if(w[Ob>>1]=Tb,wb=wb+1<<16>>16,hc=w[Ka>>1]|0,(wb&65535)>=(hc&65535)){kd=hc;break}else Ob=Ob+2|0;else kd=0;Ob=kd&65535;a[c>>2]&128&&Vd(Jb,Ob);wb=Yb(b,ha,Ua,281,3,Ob,Ob<<1,Jb)|0;ja(Jb);if(!wb){yb=Ua;cb=593;break a}ec=a[d>>2]|0}else a[ha>>
-2]=(a[ha>>2]|0)+1,ec=jc;else ec=jc;while(0);do if(ec&1048576)if(Ua){w[ba>>1]=w[xa>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,284,3,1,2,ba)|0)){yb=Ua;cb=593;break a}Bc=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Bc=ec;else Bc=ec;while(0);do if(Bc&4194304)if(Ua){w[ba>>1]=w[Ma>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,296,3,1,2,ba)|0)){yb=Ua;cb=593;break a}nc=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,nc=Bc;else nc=Bc;while(0);do if(nc&8388608)if(Ua){a[c>>2]&128&&Vd(wa,2);if(!(Yb(b,ha,Ua,297,3,2,4,wa)|0)){yb=
-Ua;cb=593;break a}Gc=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Gc=nc;else Gc=nc;while(0);do if(Gc&16777216)if(wb=a[qa>>2]|0,Ob=a[ea>>2]|0,!(a[c>>2]&1024)){if(!(li(b,ha,Ua,279,wb,Ob)|0)){yb=Ua;cb=593;break a}}else if(!(li(b,ha,Ua,325,wb,Ob)|0)){yb=Ua;cb=593;break a}while(0);do if(a[d>>2]&33554432)if(Ob=a[qa>>2]|0,wb=a[Ja>>2]|0,!(a[c>>2]&1024)){if(!(li(b,ha,Ua,273,Ob,wb)|0)){yb=Ua;cb=593;break a}}else if(!(li(b,ha,Ua,324,Ob,wb)|0)){yb=Ua;cb=593;break a}while(0);wb=a[d>>2]|0;do if(wb&67108864)if(Ua){Ob=
-N[pa>>1]|0;Tb=1<<Ob;zb=3<<Ob;Ob=zb<<1;hc=eb(Ob)|0;if(!hc){Hc=Ua;cb=191;break a}oc=Tb<<1;Ab(hc,a[cc>>2]|0,oc);Ab(hc+(Tb<<1)|0,a[Za>>2]|0,oc);Ab(hc+(oc<<1)|0,a[ia>>2]|0,oc);if(-1>=(zb|0)){cb=193;break a}a[c>>2]&128&&Vd(hc,zb);oc=Yb(b,ha,Ua,320,3,zb,Ob,hc)|0;ja(hc);if(!oc){yb=Ua;cb=593;break a}zc=a[d>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,zc=wb;else zc=wb;while(0);do if(0>(zc|0)&&w[D>>1]|0)if(a[M>>2]=ca,a[M+4>>2]=fa,ne(b,338,M)|0,wb=N[ca>>1]|0,oc=a[fa>>2]|0,Ua){if(a[c>>2]&128&&Vd(oc,wb),!(Yb(b,ha,Ua,338,
-3,wb,wb<<1,oc)|0)){yb=Ua;cb=593;break a}}else a[ha>>2]=(a[ha>>2]|0)+1;while(0);oc=a[Ia>>2]|0;do if(oc&1)if(wb=w[Db>>1]|0,Ua){hc=eb(N[Ka>>1]<<1)|0;if(!hc){Fc=Ua;cb=210;break a}if(w[Ka>>1]|0)for(Ob=hc,zb=0;;)if(w[Ob>>1]=wb,zb=zb+1<<16>>16,Tb=w[Ka>>1]|0,(zb&65535)>=(Tb&65535)){Ie=Tb;break}else Ob=Ob+2|0;else Ie=0;Ob=Ie&65535;a[c>>2]&128&&Vd(hc,Ob);zb=Yb(b,ha,Ua,339,3,Ob,Ob<<1,hc)|0;ja(hc);if(!zb){yb=Ua;cb=593;break a}Cc=a[Ia>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Cc=oc;else Cc=oc;while(0);if(Cc&2){if(!($k(b,
-ha,Ua,340,N[Ka>>1]|0,a[mb>>2]|0)|0)){yb=Ua;cb=593;break a}ic=a[Ia>>2]|0}else ic=Cc;if(ic&4){if(!($k(b,ha,Ua,341,N[Ka>>1]|0,a[Sa>>2]|0)|0)){yb=Ua;cb=593;break a}Wd=a[Ia>>2]|0}else Wd=ic;do if(Wd&8)if(Ua){a[ba>>2]=a[Ya>>2];a[c>>2]&128&&pb(ba);if(!(Yb(b,ha,Ua,-32539,4,1,4,ba)|0)){yb=Ua;cb=593;break a}Jd=a[Ia>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Jd=Wd;else Jd=Wd;while(0);do if(Jd&16)if(Ua){a[ba>>2]=a[Ta>>2];a[c>>2]&128&&pb(ba);if(!(Yb(b,ha,Ua,-32538,4,1,4,ba)|0)){yb=Ua;cb=593;break a}bd=a[Ia>>2]|0}else a[ha>>
-2]=(a[ha>>2]|0)+1,bd=Jd;else bd=Jd;while(0);do if(bd&32)if(Ua){a[c>>2]&128&&Vd(Va,2);if(!(Yb(b,ha,Ua,321,3,2,4,Va)|0)){yb=Ua;cb=593;break a}vc=a[Ia>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,vc=bd;else vc=bd;while(0);do if(vc&128)if(Ua){a[c>>2]&128&&Vd(mc,2);if(!(Yb(b,ha,Ua,530,3,2,4,mc)|0)){yb=Ua;cb=593;break a}Rc=a[Ia>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Rc=vc;else Rc=vc;while(0);do if(Rc&256)if(Ua){w[ba>>1]=w[jb>>1]|0;a[c>>2]&128&&ac(ba);if(!(Yb(b,ha,Ua,531,3,1,2,ba)|0)){yb=Ua;cb=593;break a}Jc=a[Ia>>2]|
-0}else a[ha>>2]=(a[ha>>2]|0)+1,Jc=Rc;else Jc=Rc;while(0);if(Jc&512){if(!(al(b,ha,Ua,532,6,a[Wa>>2]|0)|0)){yb=Ua;cb=593;break a}Be=a[Ia>>2]|0}else Be=Jc;do if(Be&4096)if(Ua){oc=N[pa>>1]|0;zb=1<<oc;Ob=(N[Ka>>1]|0)-(N[D>>1]|0)|0;wb=3<(Ob&65532)>>>0?3:Ob&65535;switch(wb<<16>>16){case 3:Ob=zb<<1;Ak(a[Qa>>2]|0,a[Zb>>2]|0,Ob|0)|0?Qc=3:(xc=Ob,cb=266);break;case 2:xc=zb<<1;cb=266;break;default:Qc=wb}266==(cb|0)&&(cb=0,Qc=(wb=0==(Ak(a[Qa>>2]|0,a[xb>>2]|0,xc|0)|0))?1:2);wb=0==Qc<<16>>16?1:Qc;Ob=(wb&65535)<<
-oc;oc=Ob<<1;Jb=eb(oc)|0;if(!Jb){Wc=Ua;cb=268;break a}Tb=zb<<1;Ab(Jb,a[Qa>>2]|0,Tb);1<(wb&65535)&&(Ab(Jb+(zb<<1)|0,a[xb>>2]|0,Tb),2>=(wb&65535)||Ab(Jb+(Tb<<1)|0,a[Zb>>2]|0,Tb));if(-1>=(Ob|0)){cb=273;break a}a[c>>2]&128&&Vd(Jb,Ob);Tb=Yb(b,ha,Ua,301,3,Ob,oc,Jb)|0;ja(Jb);if(!Tb){yb=Ua;cb=593;break a}Ic=a[Ia>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+1,Ic=Be;else Ic=Be;while(0);do if(Ic&16384)if(Tb=a[La>>2]|0,Ua){if(!(Yb(b,ha,Ua,333,2,Tb,Tb,a[ra>>2]|0)|0)){hd=Ua;break a}Uc=a[Ia>>2]|0}else a[ha>>2]=(a[ha>>2]|0)+
-1,Uc=Ic;else Uc=Ic;while(0);do if(Uc&131072&&(Tb=w[F>>1]|0,wb=Tb&65535,Tb<<16>>16))if(Ua){Tb=Da;zb=a[Tb>>2]|0;hc=a[Tb+4>>2]|0;Tb=a[c>>2]|0;if(Tb&524288)Xb=a[Na>>2]|0,Tb&128&&Ae(Xb,wb),ad=Yb(b,ha,Ua,330,18,wb,wb<<3,Xb)|0;else{Bd=eb(wb<<2)|0;if(!Bd){Vc=Ua;cb=289;break a}Rb=w[F>>1]|0;if(Rb<<16>>16)for(tc=0,Xb=a[Na>>2]|0,rc=Bd;;){if(!Xb){cb=293;break a}ed=Xb;gd=a[ed>>2]|0;cf=a[ed+4>>2]|0;if(!(1>cf>>>0|1==(cf|0)&0>gd>>>0)){cb=295;break a}a[rc>>2]=gd;tc=tc+1<<16>>16;if((tc&65535)>=(Rb&65535)){od=Rb;break}else Xb=
-Xb+8|0,rc=rc+4|0}else od=0;rc=od&65535;a[c>>2]&128&&Id(Bd,rc);Xb=Yb(b,ha,Ua,330,13,rc,rc<<2,Bd)|0;ja(Bd);ad=Xb}if(!ad){yb=Ua;cb=593;break a}a[c>>2]|=8192;Xb=w[F>>1]|0;w[ya>>1]=Xb;1==Xb<<16>>16?(Xb=Ca,a[Xb>>2]=0,a[Xb+4>>2]=0):(Xb=Ca,a[Xb>>2]=zb,a[Xb+4>>2]=hc)}else a[ha>>2]=(a[ha>>2]|0)+1;while(0);if(a[Ga>>2]|0){Xb=0==(Ua|0);rc=0;do{Rb=a[(a[Ea>>2]|0)+(rc<<2)>>2]|0;tc=w[Rb+24>>1]|0;b:do if(65<(tc&65535)&&a[b+40+(((tc&65535)>>>5&65535)<<2)>>2]&1<<(tc&31))switch(a[Rb+20>>2]|0){case 1:if(2!=(a[Rb+8>>2]|
-0)){cb=313;break a}if(-1!=(w[Rb+4>>1]|0)){cb=315;break a}if(t[Rb+27>>0]|0){cb=317;break a}Jb=a[Rb>>2]|0;a[K>>2]=pc;Pd(b,Jb,K)|0;Jb=a[pc>>2]|0;oc=bk(Jb)|0;if(Xb){a[ha>>2]=(a[ha>>2]|0)+1;break b}else if(Yb(b,ha,Ua,a[Rb>>2]&65535,2,oc,oc,Jb)|0)break b;else{hd=Ua;break a}case 4:if(3!=(a[Rb+8>>2]|0)){cb=322;break a}if(1!=(w[Rb+4>>1]|0)){cb=324;break a}if(t[Rb+27>>0]|0){cb=326;break a}Jb=a[Rb>>2]|0;a[L>>2]=Nb;Pd(b,Jb,L)|0;Jb=a[Rb>>2]&65535;if(Xb){a[ha>>2]=(a[ha>>2]|0)+1;break b}w[ba>>1]=w[Nb>>1]|0;a[c>>
-2]&128&&ac(ba);if(Yb(b,ha,Ua,Jb,3,1,2,ba)|0)break b;else{hd=Ua;break a}case 6:if(4!=(a[Rb+8>>2]|0)){cb=333;break a}if(1!=(w[Rb+4>>1]|0)){cb=335;break a}if(t[Rb+27>>0]|0){cb=337;break a}Jb=a[Rb>>2]|0;a[G>>2]=Hd;Pd(b,Jb,G)|0;Jb=a[Rb>>2]&65535;if(Xb){a[ha>>2]=(a[ha>>2]|0)+1;break b}a[ba>>2]=a[Hd>>2];a[c>>2]&128&&pb(ba);if(Yb(b,ha,Ua,Jb,4,1,4,ba)|0)break b;else{hd=Ua;break a}case 40:if(7!=(a[Rb+8>>2]|0)){cb=344;break a}if(-3!=(w[Rb+4>>1]|0)){cb=346;break a}if(1!=(t[Rb+27>>0]|0)){cb=348;break a}Jb=a[Rb>>
-2]|0;a[I>>2]=Zc;a[I+4>>2]=oa;Pd(b,Jb,I)|0;Jb=a[Zc>>2]|0;if(Xb){a[ha>>2]=(a[ha>>2]|0)+1;break b}else if(Yb(b,ha,Ua,a[Rb>>2]&65535,7,Jb,Jb,a[oa>>2]|0)|0)break b;else{hd=Ua;break a}default:cb=352;break a}while(0);rc=rc+1|0}while(rc>>>0<(a[Ga>>2]|0)>>>0)}}while(0);b:do if(a[sb>>2]|0)for(rc=0==(Ua|0),Xb=0;;){Rb=a[ab>>2]|0;tc=a[Rb+(12*Xb|0)>>2]|0;c:do switch(a[tc+8>>2]|0){case 2:if(hc=a[Rb+(12*Xb|0)+4>>2]|0,rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}else if(Yb(b,ha,Ua,a[tc>>2]&65535,2,hc,hc,a[Rb+(12*Xb|0)+8>>
-2]|0)|0)break c;else{hd=Ua;break a}case 7:if(hc=a[Rb+(12*Xb|0)+4>>2]|0,rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}else if(Yb(b,ha,Ua,a[tc>>2]&65535,7,hc,hc,a[Rb+(12*Xb|0)+8>>2]|0)|0)break c;else{hd=Ua;break a}case 1:if(hc=a[Rb+(12*Xb|0)+4>>2]|0,rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}else if(Yb(b,ha,Ua,a[tc>>2]&65535,1,hc,hc,a[Rb+(12*Xb|0)+8>>2]|0)|0)break c;else{hd=Ua;break a}case 6:if(hc=a[Rb+(12*Xb|0)+4>>2]|0,rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}else if(Yb(b,ha,Ua,a[tc>>2]&65535,6,hc,hc,a[Rb+(12*Xb|0)+8>>
-2]|0)|0)break c;else{hd=Ua;break a}case 3:hc=a[tc>>2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;wb=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(-1>=(zb|0)){cb=370;break a}a[c>>2]&128&&Vd(wb,zb);if(!(Yb(b,ha,Ua,hc,3,zb,zb<<1,wb)|0)){yb=Ua;cb=593;break a}break;case 8:wb=a[tc>>2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;hc=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(-1>=(zb|0)){cb=377;break a}a[c>>2]&128&&Vd(hc,zb);if(!(Yb(b,ha,Ua,wb,8,zb,zb<<1,hc)|0)){yb=Ua;cb=593;break a}break;
-case 4:hc=a[tc>>2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;wb=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(1073741824<=zb>>>0){cb=384;break a}a[c>>2]&128&&Id(wb,zb);if(!(Yb(b,ha,Ua,hc,4,zb,zb<<2,wb)|0)){yb=Ua;cb=593;break a}break;case 9:wb=a[tc>>2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;hc=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(1073741824<=zb>>>0){cb=391;break a}a[c>>2]&128&&Id(hc,zb);if(!(Yb(b,ha,Ua,wb,9,zb,zb<<2,hc)|0)){yb=Ua;cb=593;break a}break;case 16:hc=a[tc>>
-2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;wb=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(536870912<=zb>>>0){cb=398;break a}Tb=a[c>>2]|0;if(!(Tb&524288)){cb=400;break a}Tb&128&&Ae(wb,zb);if(!(Yb(b,ha,Ua,hc,16,zb,zb<<3,wb)|0)){yb=Ua;cb=593;break a}break;case 17:wb=a[tc>>2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;hc=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(536870912<=zb>>>0){cb=407;break a}Tb=a[c>>2]|0;if(!(Tb&524288)){cb=409;break a}Tb&128&&Ae(hc,zb);if(!(Yb(b,ha,Ua,wb,
-17,zb,zb<<3,hc)|0)){yb=Ua;cb=593;break a}break;case 5:if(!(al(b,ha,Ua,a[tc>>2]&65535,a[Rb+(12*Xb|0)+4>>2]|0,a[Rb+(12*Xb|0)+8>>2]|0)|0)){yb=Ua;cb=593;break a}break;case 10:hc=a[tc>>2]&65535;zb=a[Rb+(12*Xb|0)+4>>2]|0;wb=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}Tb=zb<<1;Bd=zb<<3;Jb=eb(Bd)|0;if(!Jb){dd=Ua;cb=418;break a}if(zb)for(oc=wb,wb=Jb,Ob=0;Oc=+W[oc>>2],gd=~~Oc,cf=Oc==+(gd|0),0>Oc?cf?(a[wb>>2]=gd,a[wb+4>>2]=1):-1<Oc?(a[wb>>2]=0-~~(-2147483648*Oc),a[wb+4>>2]=2147483647):(a[wb>>
-2]=-2147483647,a[wb+4>>2]=~~(2147483648/-Oc)):cf?(a[wb>>2]=gd,a[wb+4>>2]=1):1>Oc?(a[wb>>2]=~~(2147483648*Oc),a[wb+4>>2]=2147483647):(a[wb>>2]=2147483647,a[wb+4>>2]=~~(2147483648/Oc)),Ob=Ob+1|0,(Ob|0)!=(zb|0);)oc=oc+4|0,wb=wb+8|0;a[c>>2]&128&&Id(Jb,Tb);wb=Yb(b,ha,Ua,hc,10,zb,Bd,Jb)|0;ja(Jb);if(!wb){yb=Ua;cb=593;break a}break;case 11:wb=a[tc>>2]&65535;oc=a[Rb+(12*Xb|0)+4>>2]|0;Ob=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(1073741824<=oc>>>0){cb=437;break a}a[c>>2]&128&&gf(Ob,oc);
-if(!(Yb(b,ha,Ua,wb,11,oc,oc<<2,Ob)|0)){yb=Ua;cb=593;break a}break;case 12:Ob=a[tc>>2]&65535;oc=a[Rb+(12*Xb|0)+4>>2]|0;wb=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(536870912<=oc>>>0){cb=444;break a}a[c>>2]&128&&re(wb,oc);if(!(Yb(b,ha,Ua,Ob,12,oc,oc<<3,wb)|0)){yb=Ua;cb=593;break a}break;case 13:wb=a[tc>>2]&65535;oc=a[Rb+(12*Xb|0)+4>>2]|0;Ob=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}if(1073741824<=oc>>>0){cb=451;break a}a[c>>2]&128&&Id(Ob,oc);if(!(Yb(b,ha,Ua,
-wb,13,oc,oc<<2,Ob)|0)){yb=Ua;cb=593;break a}break;case 18:Ob=a[tc>>2]&65535;oc=a[Rb+(12*Xb|0)+4>>2]|0;wb=a[Rb+(12*Xb|0)+8>>2]|0;if(rc){a[ha>>2]=(a[ha>>2]|0)+1;break c}gd=a[c>>2]|0;if(gd&524288){if(536870912<=oc>>>0){cb=459;break a}gd&128&&Ae(wb,oc);$c=Yb(b,ha,Ua,Ob,18,oc,oc<<3,wb)|0}else{cf=oc<<2;ed=eb(cf)|0;if(!ed){Pc=Ua;cb=465;break a}if(oc){Yc=wb;wc=0;for(id=ed;;){dc=Yc;Ac=a[dc>>2]|0;Sc=a[dc+4>>2]|0;if(0<Sc>>>0|0==(Sc|0)&4294967295<Ac>>>0){Tc=ed;ld=Ua;cb=467;break a}a[id>>2]=Ac;wc=wc+1|0;if(wc>>>
-0>=oc>>>0)break;else Yc=Yc+8|0,id=id+4|0}if(1073741824<=oc>>>0){cb=470;break a}}a[c>>2]&128&&Id(ed,oc);id=Yb(b,ha,Ua,Ob,13,oc,cf,ed)|0;ja(ed);$c=id}if(!$c){yb=Ua;cb=593;break a}break;default:cb=475;break a}while(0);Xb=Xb+1|0;if(Xb>>>0>=(a[sb>>2]|0)>>>0)break b}while(0);if(Ua){Ce=Ua;vd=Wb;cb=548;break}Xb=eb(24*(a[ha>>2]|0)|0)|0;if(!Xb){wd=Xb;cb=479;break}if(na){if(rc=Xa,0==(a[rc>>2]|0)&0==(a[rc+4>>2]|0)){rc=rb[a[Fa>>2]&63](a[Pa>>2]|0,0,0,2)|0;Rb=Qb(rc|0,U|0,1,0)|0;rc=U;tc=Rb&-2;Rb=Xa;a[Rb>>2]=tc;a[Rb+
-4>>2]=rc;Rb=a[c>>2]|0;id=0!=(Rb&524288|0);do if(Rb&8192)if(id){wc=bf;a[wc>>2]=tc;a[wc+4>>2]=rc;Rb&128&&kc(bf);wc=Ca;rb[a[Fa>>2]&63](a[Pa>>2]|0,a[wc>>2]|0,a[wc+4>>2]|0,0)|0;if(8!=(Aa[a[vb>>2]&63](a[Pa>>2]|0,bf,8)|0)){zd=Xb;cb=494;break a}wc=(w[ya>>1]|0)+-1<<16>>16;w[ya>>1]=wc;wc<<16>>16?(wc=Ca,Yc=Qb(a[wc>>2]|0,a[wc+4>>2]|0,8,0)|0,wc=Ca,a[wc>>2]=Yc,a[wc+4>>2]=U):a[c>>2]&=-8193}else{a[ba>>2]=tc;Rb&128&&pb(ba);wc=Ca;rb[a[Fa>>2]&63](a[Pa>>2]|0,a[wc>>2]|0,a[wc+4>>2]|0,0)|0;if(4!=(Aa[a[vb>>2]&63](a[Pa>>
-2]|0,ba,4)|0)){Cd=Xb;cb=487;break a}wc=(w[ya>>1]|0)+-1<<16>>16;w[ya>>1]=wc;wc<<16>>16?(wc=Ca,Yc=Qb(a[wc>>2]|0,a[wc+4>>2]|0,4,0)|0,wc=Ca,a[wc>>2]=Yc,a[wc+4>>2]=U):a[c>>2]&=-8193}else{if(!id){a[S>>2]=tc;Rb&128&&pb(S);if(Yc=a[bb>>2]|0)Nf=Yc;else if(a[bb>>2]=a[Xa>>2],rb[a[Fa>>2]&63](a[Pa>>2]|0,4,0,0)|0,4==(Aa[a[vb>>2]&63](a[Pa>>2]|0,S,4)|0))break;else{Xc=Xb;cb=503;break a}for(;;){Yc=rb[a[Fa>>2]&63](a[Pa>>2]|0,Nf,0,0)|0;if(!((Yc|0)==(Nf|0)&0==(U|0))){qd=Xb;cb=506;break a}if(2!=(Aa[a[tb>>2]&63](a[Pa>>2]|
-0,Mg,2)|0)){qd=Xb;cb=506;break a}a[c>>2]&128&&ac(Mg);Yc=Nf+2|0;rb[a[Fa>>2]&63](a[Pa>>2]|0,(12*(N[Mg>>1]|0)|0)+Yc|0,0,0)|0;if(4!=(Aa[a[tb>>2]&63](a[Pa>>2]|0,ga,4)|0)){ug=Xb;cb=510;break a}a[c>>2]&128&&pb(ga);Nf=a[ga>>2]|0;if(!Nf){rd=Yc;break}}rb[a[Fa>>2]&63](a[Pa>>2]|0,(12*(N[Mg>>1]|0)|0)+rd|0,0,0)|0;if(4==(Aa[a[vb>>2]&63](a[Pa>>2]|0,S,4)|0))break;else{sd=Xb;cb=515;break a}}Yc=Ha;a[Yc>>2]=tc;a[Yc+4>>2]=rc;Rb&128&&kc(Ha);Yc=Eb;wc=a[Yc>>2]|0;Jb=a[Yc+4>>2]|0;if(0==(wc|0)&0==(Jb|0))if(Yc=Xa,Bd=a[Yc+4>>
-2]|0,zb=Eb,a[zb>>2]=a[Yc>>2],a[zb+4>>2]=Bd,rb[a[Fa>>2]&63](a[Pa>>2]|0,8,0,0)|0,8==(Aa[a[vb>>2]&63](a[Pa>>2]|0,Ha,8)|0))break;else{md=Xb;cb=520;break a}else cd=wc,ce=Jb;for(;;){Jb=rb[a[Fa>>2]&63](a[Pa>>2]|0,cd,ce,0)|0;if(!((Jb|0)==(cd|0)&(U|0)==(ce|0))){oe=Xb;cb=523;break a}if(8!=(Aa[a[tb>>2]&63](a[Pa>>2]|0,ma,8)|0)){oe=Xb;cb=523;break a}a[c>>2]&128&&kc(ma);Jb=ma;wc=a[Jb>>2]|0;Bd=a[Jb+4>>2]|0;if(0<Bd>>>0|0==(Bd|0)&65535<wc>>>0){td=Xb;cb=527;break a}Bd=a[Fa>>2]|0;Jb=a[Pa>>2]|0;zb=Qb(cd|0,ce|0,8,0)|
-0;Yc=Qb(zb|0,U|0,20*(wc&65535)|0,0)|0;wc=U;rb[Bd&63](Jb,Yc,wc,0)|0;if(8!=(Aa[a[tb>>2]&63](a[Pa>>2]|0,aa,8)|0)){jd=Xb;cb=529;break a}a[c>>2]&128&&kc(aa);Jb=aa;cd=a[Jb>>2]|0;ce=a[Jb+4>>2]|0;if(0==(cd|0)&0==(ce|0)){Df=Yc;Ud=wc;break}}rb[a[Fa>>2]&63](a[Pa>>2]|0,Df,Ud,0)|0;if(8!=(Aa[a[vb>>2]&63](a[Pa>>2]|0,Ha,8)|0)){pd=Xb;cb=534;break a}}while(0)}}else Rb=rb[a[Fa>>2]&63](a[Pa>>2]|0,0,0,2)|0,tc=Qb(Rb|0,U|0,1,0)|0,Rb=Xa,a[Rb>>2]=tc&-2,a[Rb+4>>2]=U;Ib||(Rb=Xa,tc=a[Rb+4>>2]|0,rc=e,a[rc>>2]=a[Rb>>2],a[rc+4>>
-2]=tc);tc=a[ha>>2]|0;a[c>>2]&524288?(rc=(20*tc|0)+16|0,tc=Xa,id=a[tc>>2]|0,wc=a[tc+4>>2]|0,he=tc=Qb(id|0,wc|0,rc|0,0)|0,te=U):(rc=(12*tc|2)+4|0,Rb=Xa,id=a[Rb>>2]|0,wc=a[Rb+4>>2]|0,he=Rb=Qb(id|0,wc|0,rc|0,0)|0,te=0);de=wc;He=id;ue=0;Nd=Dd=rc;rc=Da;a[rc>>2]=he;a[rc+4>>2]=te;if(te>>>0<ue>>>0|(te|0)==(ue|0)&he>>>0<Dd>>>0|te>>>0<de>>>0|(te|0)==(de|0)&he>>>0<He>>>0){ae=Xb;cb=543;break}0==(he&1|0)&1||(rc=Qb(he|0,te|0,1,0)|0,id=Da,a[id>>2]=rc,a[id+4>>2]=U);na&&(w[Mb>>1]=(w[Mb>>1]|0)+1<<16>>16);Ua=Xb;Wb=Nd}switch(cb|
-0){case 76:Y(a[Pa>>2]|0,140996,150005,Oa);hd=Lb;break;case 141:Y(a[Pa>>2]|0,140996,150005,P);hd=yc;break;case 152:Y(a[Pa>>2]|0,140996,150005,A);hd=Ec;break;case 191:Y(a[Pa>>2]|0,141032,150005,T);hd=Hc;break;case 193:Z(141062,141079,1956,141094);break;case 210:Y(a[Pa>>2]|0,140996,150005,O);hd=Fc;break;case 268:Y(a[Pa>>2]|0,141133,150005,E);hd=Wc;break;case 273:Z(141062,141079,1956,141094);break;case 289:Y(a[Pa>>2]|0,141171,150005,v);hd=Vc;break;case 293:Z(141199,141079,1868,141171);break;case 295:Z(141207,
-141079,1869,141171);break;case 313:Z(141227,141079,643,140888);break;case 315:Z(141253,141079,644,140888);break;case 317:Z(141287,141079,645,140888);break;case 322:Z(141309,141079,655,140888);break;case 324:Z(141335,141079,656,140888);break;case 326:Z(141287,141079,657,140888);break;case 333:Z(141357,141079,666,140888);break;case 335:Z(141335,141079,667,140888);break;case 337:Z(141287,141079,668,140888);break;case 344:Z(141382,141079,678,140888);break;case 346:Z(141412,141079,679,140888);break;case 348:Z(141447,
-141079,680,140888);break;case 352:Z(141469,141079,687,140888);break;case 370:Z(141062,141079,1956,141094);break;case 377:Z(141062,141079,1979,141471);break;case 384:Z(141511,141079,2E3,141528);break;case 391:Z(141511,141079,2023,141566);break;case 398:Z(141605,141079,2047,141622);break;case 400:Z(141661,141079,2049,141622);break;case 407:Z(141605,141079,2072,141689);break;case 409:Z(141661,141079,2074,141689);break;case 418:Y(a[Pa>>2]|0,141729,150005,J);hd=dd;break;case 437:Z(141511,141079,2239,141772);
-break;case 444:Z(141605,141079,2264,141811);break;case 451:Z(141511,141079,2275,141851);break;case 459:Z(141605,141079,2285,141888);break;case 465:Y(a[Pa>>2]|0,141926,150005,x);hd=Pc;break;case 467:Y(a[Pa>>2]|0,141926,141960,r);ja(Tc);yb=ld;cb=593;break;case 470:Z(141511,141079,2275,141851);break;case 475:Z(141469,141079,763,140888);break;case 479:Y(a[Pa>>2]|0,140888,150005,Ra);yb=wd;cb=593;break;case 487:Y(a[Pa>>2]|0,142028,142046,C);yb=Cd;cb=593;break;case 494:Y(a[Pa>>2]|0,142028,142046,Q);yb=zd;
-cb=593;break;case 503:Y(a[Pa>>2]|0,a[b>>2]|0,142082,z);yb=Xc;cb=593;break;case 506:Y(a[Pa>>2]|0,142028,140364,ka);yb=qd;cb=593;break;case 510:Y(a[Pa>>2]|0,142028,140395,H);yb=ug;cb=593;break;case 515:Y(a[Pa>>2]|0,142028,140425,B);yb=sd;cb=593;break;case 520:Y(a[Pa>>2]|0,a[b>>2]|0,142082,y);yb=md;cb=593;break;case 523:Y(a[Pa>>2]|0,142028,140364,q);yb=oe;cb=593;break;case 527:Y(a[Pa>>2]|0,142028,140454,p);yb=td;cb=593;break;case 529:Y(a[Pa>>2]|0,142028,140395,n);yb=jd;cb=593;break;case 534:Y(a[Pa>>
-2]|0,142028,140425,l);yb=pd;cb=593;break;case 543:Y(a[Pa>>2]|0,140888,142108,k);yb=ae;cb=593;break;case 548:do if(na&&0!=(a[Ia>>2]&131072|0)&&(ae=Ca,0==(a[ae>>2]|0)&0==(a[ae+4>>2]|0))){(ae=a[ha>>2]|0)?(De=0,be=Ce):Z(142140,141079,809,140888);for(;;){if(330==(w[be>>1]|0)){Fd=De;break}De=De+1|0;if(De>>>0>=ae>>>0){cb=552;break}else be=be+24|0}552==(cb|0)&&Z(142140,141079,809,140888);ae=Xa;Xb=a[ae>>2]|0;k=a[ae+4>>2]|0;a[c>>2]&524288?(ae=Qb(20*Fd|0,0,20,0)|0,pd=Qb(ae|0,U|0,Xb|0,k|0)|0,k=Ca,a[k>>2]=pd,
-a[k+4>>2]=U):(ae=Qb(12*Fd|0,0,10,0)|0,pd=Qb(ae|0,U|0,Xb|0,k|0)|0,ae=Ca,a[ae>>2]=pd,a[ae+4>>2]=U)}while(0);if(Ca=eb(vd)|0){m=a[c>>2]|0;Fd=a[ha>>2]|0;if(m&524288){be=Ca;a[be>>2]=Fd;a[be+4>>2]=0;m&128?(kc(Ca),Rd=a[ha>>2]|0):Rd=Fd;be=Ca+8|0;if(Rd)for(Rd=Ca,De=0,Ia=be,be=Ce;;)if(w[Ia>>1]=w[be>>1]|0,na=a[c>>2]|0,na&128?(ac(Ia),$d=a[c>>2]|0):$d=na,na=Rd+10|0,w[na>>1]=w[be+2>>1]|0,$d&128&&ac(na),na=Rd+12|0,Ab(na,be+8|0,8),a[c>>2]&128&&kc(na),na=Rd,Rd=Rd+20|0,Ab(Rd,be+16|0,8),De=De+1|0,k=na+28|0,De>>>0>=(a[ha>>
-2]|0)>>>0){Gd=k;break}else Ia=k,be=be+24|0;else Gd=be;Ab(Gd,b+24|0,8);a[c>>2]&128&&kc(Gd)}else{w[Ca>>1]=Fd;m&128?(ac(Ca),ge=a[ha>>2]|0):ge=Fd;Fd=Ca+2|0;if(ge)for(ge=0,m=Fd,Fd=Ce;;)if(w[m>>1]=w[Fd>>1]|0,Gd=a[c>>2]|0,Gd&128?(ac(m),xd=a[c>>2]|0):xd=Gd,Gd=m+2|0,w[Gd>>1]=w[Fd+2>>1]|0,xd&128&&ac(Gd),Gd=m+4|0,a[sa>>2]=a[Fd+8>>2],Ab(Gd,sa,4),a[c>>2]&128&&pb(Gd),Ab(m+8|0,Fd+16|0,4),Gd=m+12|0,ge=ge+1|0,ge>>>0>=(a[ha>>2]|0)>>>0){ud=Gd;break}else m=Gd,Fd=Fd+24|0;else ud=Fd;a[sa>>2]=a[b+24>>2];a[c>>2]&128&&pb(sa);
-Ab(ud,sa,4)}ja(Ce);sa=Ce=Xa;if((rb[a[Fa>>2]&63](a[Pa>>2]|0,a[Ce>>2]|0,a[Ce+4>>2]|0,0)|0)==(a[sa>>2]|0)&&(U|0)==(a[sa+4>>2]|0))if((Aa[a[vb>>2]&63](a[Pa>>2]|0,Ca,vd)|0)!=(vd|0))Y(a[Pa>>2]|0,140888,142148,g);else{ja(Ca);if(!ua)return Kc=1,u=f,Kc|0;Dk(b);a[c>>2]&=-2097161;R[a[b+564>>2]&127](b);var ie=b,ie=ie|0,je=void 0,Kd=void 0;Pi(ie)|0;je=ie+16|0;Kd=ie+456|0;a[Kd>>2]=0;a[Kd+4>>2]=0;a[je>>2]=0;a[je+4>>2]=0;a[je+8>>2]=0;a[je+12>>2]=0;a[ie+444>>2]=-1;a[ie+452>>2]=-1;0;Kc=1;u=f;return Kc|0}else Y(a[Pa>>
-2]|0,140888,142148,h);ja(Ca);Kc=0;u=f;return Kc|0}Y(a[Pa>>2]|0,140888,150005,m);yb=Ce;cb=593}if(593==(cb|0))if(yb)hd=yb;else return Kc=0,u=f,Kc|0;ja(hd);Kc=0;u=f;return Kc|0}function Yb(b,d,c,e,f,g,h,m){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;h|=0;m|=0;var k,l,n,p,q,y=0,B,H,t;k=u;u=u+32|0;l=k+16|0;n=k+8|0;p=k+20|0;q=a[d>>2]|0;a:do if(q){for(B=0;;){H=w[c+(24*B|0)>>1]|0;if(H<<16>>16==e<<16>>16)break;if((H&65535)>(e&65535)){y=B;break a}H=B+1|0;if(H>>>0<q>>>0)B=H;else{y=H;break a}}Z(142340,141079,2301,142361)}else y=
-0;while(0);if(y>>>0<q>>>0){B=q;do q=c+(24*B|0)|0,B=B+-1|0,H=c+(24*B|0)|0,a[q>>2]=a[H>>2],a[q+4>>2]=a[H+4>>2],a[q+8>>2]=a[H+8>>2],a[q+12>>2]=a[H+12>>2],a[q+16>>2]=a[H+16>>2],a[q+20>>2]=a[H+20>>2];while(B>>>0>y>>>0)}w[c+(24*y|0)>>1]=e;w[c+(24*y|0)+2>>1]=f;f=c+(24*y|0)+8|0;a[f>>2]=g;a[f+4>>2]=0;y=f=c+(24*y|0)+16|0;a[y>>2]=0;a[y+4>>2]=0;y=b+12|0;c=a[y>>2]&524288;if(((c>>>17)+4|0)>>>0<h>>>0){g=0==(c|0);B=e=b+464|0;H=a[B>>2]|0;q=a[B+4>>2]|0;c=B=Qb(H|0,q|0,h|0,0)|0;B=g?0:U;if(B>>>0<q>>>0|(B|0)==(q|0)&c>>>
-0<H>>>0|0>B>>>0|0==(B|0)&c>>>0<h>>>0)return Y(a[b+628>>2]|0,142361,142108,k),u=k,0;g=b+628|0;t=rb[a[b+640>>2]&63](a[g>>2]|0,H,q,0)|0;if(!((t|0)==(H|0)&(U|0)==(q|0)))return Y(a[g>>2]|0,142361,142387,n),u=k,0;-1>=(h|0)&&Z(142413,141079,2335,142361);if((Aa[a[b+636>>2]&63](a[g>>2]|0,m,h)|0)!=(h|0))return Y(a[g>>2]|0,142361,142387,l),u=k,0;g=Qb(c&1|0,0,c|0,B|0)|0;B=e;a[B>>2]=g;a[B+4>>2]=U;B=a[y>>2]|0;B&524288?(g=f,a[g>>2]=H,a[g+4>>2]=q,B&128&&kc(f)):(a[p>>2]=H,B&128&&pb(p),Ab(f,p,4))}else Ab(f,m,h);a[d>>
-2]=(a[d>>2]|0)+1;u=k;return 1}function Gi(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f=+f;var g,h;g=u;u=u+16|0;if(!c)return a[d>>2]=(a[d>>2]|0)+1,u=g,1;0<=f||Z(142292,141079,2084,142303);0>=f?(a[g>>2]=0,a[g+4>>2]=1):(h=~~f>>>0,+(h>>>0)==f?(a[g>>2]=h,a[g+4>>2]=1):1>f?(a[g>>2]=~~(4294967295*f)>>>0,a[g+4>>2]=-1):(a[g>>2]=-1,a[g+4>>2]=~~(4294967295/f)>>>0));a[b+12>>2]&128&&(pb(g),pb(g+4|0));b=Yb(b,d,c,e,5,1,8,g)|0;u=g;return b|0}function li(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m,k,l,n,p,q,y,B,H;h=u;u=
-u+16|0;m=h+8|0;k=h;if(!c)return a[d>>2]=(a[d>>2]|0)+1,u=h,1;l=b+12|0;n=a[l>>2]|0;if(n&524288)return 536870912<=f>>>0&&Z(141605,141079,2047,141622),n&128&&Ae(g,f),b=Yb(b,d,c,e,16,f,f<<3,g)|0,u=h,b|0;n=f<<2;p=eb(n)|0;if(!p)return Y(a[b+628>>2]|0,142256,150005,k),u=h,0;do if(f){k=g;q=0;for(y=p;;){B=k;H=a[B>>2]|0;B=a[B+4>>2]|0;if(0<B>>>0|0==(B|0)&4294967295<H>>>0){k=13;break}a[y>>2]=H;q=q+1|0;if(q>>>0>=f>>>0){k=15;break}else k=k+8|0,y=y+4|0}if(13==(k|0))return Y(a[b+628>>2]|0,142256,141960,m),ja(p),b=
-0,u=h,b|0;15!=(k|0)||1073741824>f>>>0||Z(141511,141079,2E3,141528)}while(0);a[l>>2]&128&&Id(p,f);l=Yb(b,d,c,e,4,f,n,p)|0;ja(p);u=h;return l|0}function $k(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m,k,l;h=u;u=u+16|0;m=f<<3;k=eb(m)|0;if(!k)return Y(a[b+628>>2]|0,142217,150005,h),u=h,0;a:do switch(N[b+86>>1]|0){case 3:if(33<=(N[b+84>>1]|0)){if(!c){a[d>>2]=(a[d>>2]|0)+1;l=1;break a}536870912<=f>>>0&&Z(141605,141079,2264,141811);a[b+12>>2]&128&&re(g,f);l=Yb(b,d,c,e,12,f,m,g)|0;break a}if(f){l=0;
-do W[k+(l<<2)>>2]=+Hb[g+(l<<3)>>3],l=l+1|0;while((l|0)!=(f|0))}if(!c){a[d>>2]=(a[d>>2]|0)+1;l=1;break a}1073741824<=f>>>0&&Z(141511,141079,2239,141772);a[b+12>>2]&128&&gf(k,f);l=Yb(b,d,c,e,11,f,f<<2,k)|0;break;case 2:l=w[b+84>>1]|0;if(9>(l&65535)){if(f){m=0;do t[k+m>>0]=~~+Hb[g+(m<<3)>>3],m=m+1|0;while((m|0)!=(f|0))}c?l=Yb(b,d,c,e,6,f,f,k)|0:(a[d>>2]=(a[d>>2]|0)+1,l=1);break a}m=0==(f|0);if(17>(l&65535)){if(!m){l=0;do w[k+(l<<1)>>1]=~~+Hb[g+(l<<3)>>3],l=l+1|0;while((l|0)!=(f|0))}if(!c){a[d>>2]=(a[d>>
-2]|0)+1;l=1;break a}-1>=(f|0)&&Z(141062,141079,1979,141471);a[b+12>>2]&128&&Vd(k,f);l=Yb(b,d,c,e,8,f,f<<1,k)|0}else{if(!m){l=0;do a[k+(l<<2)>>2]=~~+Hb[g+(l<<3)>>3],l=l+1|0;while((l|0)!=(f|0))}if(!c){a[d>>2]=(a[d>>2]|0)+1;l=1;break a}1073741824<=f>>>0&&Z(141511,141079,2023,141566);a[b+12>>2]&128&&Id(k,f);l=Yb(b,d,c,e,9,f,f<<2,k)|0}break a;case 1:l=w[b+84>>1]|0;if(9>(l&65535)){if(f){m=0;do t[k+m>>0]=~~+Hb[g+(m<<3)>>3],m=m+1|0;while((m|0)!=(f|0))}c?l=Yb(b,d,c,e,1,f,f,k)|0:(a[d>>2]=(a[d>>2]|0)+1,l=1);
-break a}m=0==(f|0);if(17>(l&65535)){if(!m){l=0;do w[k+(l<<1)>>1]=~~+Hb[g+(l<<3)>>3],l=l+1|0;while((l|0)!=(f|0))}if(!c){a[d>>2]=(a[d>>2]|0)+1;l=1;break a}-1>=(f|0)&&Z(141062,141079,1956,141094);a[b+12>>2]&128&&Vd(k,f);l=Yb(b,d,c,e,3,f,f<<1,k)|0}else{if(!m){l=0;do a[k+(l<<2)>>2]=~~+Hb[g+(l<<3)>>3]>>>0,l=l+1|0;while((l|0)!=(f|0))}if(!c){a[d>>2]=(a[d>>2]|0)+1;l=1;break a}1073741824<=f>>>0&&Z(141511,141079,2E3,141528);a[b+12>>2]&128&&Id(k,f);l=Yb(b,d,c,e,4,f,f<<2,k)|0}break a;default:l=0}while(0);ja(k);
-u=h;return l|0}function al(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m,k,l,n,p,q,y;h=u;u=u+16|0;if(!c)return a[d>>2]=(a[d>>2]|0)+1,u=h,1;m=f<<1;k=f<<3;l=eb(k)|0;if(!l)return Y(a[b+628>>2]|0,142175,150005,h),u=h,0;if(f)for(n=g,g=l,p=0;q=+W[n>>2],0>=q?(a[g>>2]=0,a[g+4>>2]=1):(y=~~q>>>0,q==+(y>>>0)?(a[g>>2]=y,a[g+4>>2]=1):1>q?(a[g>>2]=~~(4294967296*q)>>>0,a[g+4>>2]=-1):(a[g>>2]=-1,a[g+4>>2]=~~(4294967296/q)>>>0)),p=p+1|0,(p|0)!=(f|0);)n=n+4|0,g=g+8|0;a[b+12>>2]&128&&Id(l,m);m=Yb(b,d,c,e,5,f,k,
-l)|0;ja(l);u=h;return m|0}function $i(b){b|=0;var d,c,e,f,g,h,m;d=u;u=u+32|0;c=d+16|0;if(!(qe(b,8100,5)|0))return Y(a[b+628>>2]|0,143889,143903,d),u=d,0;e=eb(96)|0;f=b+576|0;a[f>>2]=e;if(!e)return Y(a[b+628>>2]|0,143889,143955,d+8|0),u=d,0;g=a[b+8>>2]|0;a[e>>2]=g;h=b+668|0;m=b+672|0;a[e+32>>2]=a[m>>2];a[m>>2]=11;a[e+36>>2]=a[h>>2];a[h>>2]=12;h=b+676|0;a[e+40>>2]=a[h>>2];a[h>>2]=9;a[e+28>>2]=0;g||(g=b+12|0,a[g>>2]|=256);a[e+64>>2]=0;a[c>>2]=3;lb(b,65540,c)|0;a[(a[f>>2]|0)+80>>2]=0;a[b+504>>2]=9;a[b+
-508>>2]=10;a[b+512>>2]=24;a[b+532>>2]=17;a[b+540>>2]=17;a[b+548>>2]=17;a[b+516>>2]=10;a[b+524>>2]=25;a[b+528>>2]=11;a[b+536>>2]=18;a[b+544>>2]=18;a[b+552>>2]=18;a[b+556>>2]=2;a[b+564>>2]=3;u=d;return 1}function qf(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m=0,k=0,l=0,n,p;e=a[b+576>>2]|0;f=e+52|0;g=a[f>>2]|0;h=e+48|0;e=a[h>>2]|0;if(g>>>0>=c>>>0)9>c>>>0?(m=c,k=g,l=e):Z(143169,142823,609,143180);else for(m=b+608|0,k=b+592|0,n=b+604|0,p=c,c=a[m>>2]|0,l=g,g=e;;)if(e=p-l|0,(c|0)>=(a[k>>2]|0)&&Lc(b)|0,c=a[n>>2]|
-0,a[n>>2]=c+1,t[c>>0]=d>>>e|g,c=(a[m>>2]|0)+1|0,a[m>>2]=c,8>=e>>>0){m=e;k=8;l=0;break}else p=e,l=8,g=0;g=k-m|0;l|=(a[8064+(m<<2)>>2]&d)<<g;(k|0)!=(m|0)?(a[h>>2]=l,a[f>>2]=g):(g=b+608|0,(a[g>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|0,m=b+604|0,b=a[m>>2]|0,a[m>>2]=b+1,t[b>>0]=l,a[g>>2]=(a[g>>2]|0)+1,a[h>>2]=0,a[f>>2]=8)}function bl(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h=0,m=0,k=0,l=0,n,p,q,y,B,H=0,ka=0,z=0,Q,C,u=0,r=0,w=0,J=0,I=0,G=0;f=t[d>>0]|0;g=0<(e|0);a:do if(g&-1<f<<24>>24){if(63<(e|0)){b:do if(d&3){c:do if(f<<
-24>>24)n=f,y=0;else{n=d;p=e;for(q=0;;){y=q+8|0;p=p+-8|0;n=n+1|0;if(!(n&3))break;B=t[n>>0]|0;if(B<<24>>24){n=B;break c}else q=y}31<(p|0)?(h=p,m=n,k=y,l=10):(H=p,ka=n,z=y);break b}while(0);n=(x[143242+(n&255)>>0]|0)+y|0;break a}else h=e,m=d,k=0,l=10;while(0);b:do if(10==(l|0))for(;;){l=0;if(a[m>>2]|0){H=h;ka=m;z=k;break b}q=k+32|0;n=h+-32|0;p=m+4|0;if(31<(n|0))h=n,m=p,k=q;else{H=n;ka=p;z=q;break}}while(0);Q=ka;B=H;C=z}else Q=d,B=e,C=0;b:do if(7<(B|0)){q=Q;p=B;for(n=C;;){y=t[q>>0]|0;if(y<<24>>24){h=
-y;f=n;break}y=n+8|0;B=p+-8|0;n=q+1|0;if(7<(B|0))q=n,p=B,n=y;else{q=n;p=B;break b}}n=(x[143242+(h&255)>>0]|0)+f|0;break a}else q=Q,p=B,y=C;while(0);0<(p|0)?(n=x[143242+(x[q>>0]|0)>>0]|0,n=((n|0)>(p|0)?p:n)+y|0):n=y}else n=0;while(0);y=t[c>>0]|0;a:do if(g&-1<y<<24>>24){if(63<(e|0)){b:do if(c&3){c:do if(y<<24>>24)z=y,p=0;else{p=c;q=e;for(C=0;;){B=C+8|0;q=q+-8|0;p=p+1|0;if(!(p&3)){f=q;h=p;break}Q=t[p>>0]|0;if(Q<<24>>24){z=Q;p=B;break c}else C=B}31<(f|0)?(u=f,r=h,w=B,l=28):(J=f,I=h,G=B);break b}while(0);
-z=(x[143242+(z&255)>>0]|0)+p|0;break a}else u=e,r=c,w=0,l=28;while(0);b:do if(28==(l|0))for(;;){l=0;if(a[r>>2]|0){J=u;I=r;G=w;break b}C=w+32|0;p=u+-32|0;q=r+4|0;if(31<(p|0))u=p,r=q,w=C;else{J=p;I=q;G=C;break}}while(0);ka=I;k=J;f=G}else ka=c,k=e,f=0;b:do if(7<(k|0)){C=ka;q=k;for(p=f;;){B=t[C>>0]|0;if(B<<24>>24){w=B;y=p;break}B=p+8|0;Q=q+-8|0;f=C+1|0;if(7<(Q|0))C=f,q=Q,p=B;else{h=f;m=Q;H=B;break b}}z=(x[143242+(w&255)>>0]|0)+y|0;break a}else h=ka,m=k,H=f;while(0);0<(m|0)?(p=x[143242+(x[h>>0]|0)>>0]|
-0,z=((p|0)>(m|0)?m:p)+H|0):z=H}else z=0;while(0);H=b+576|0;m=b+608|0;h=b+592|0;f=b+604|0;k=0;ka=n;for(n=z;;){n>>>0<e>>>0?(w=(x[c+(n>>>3)>>0]|0)&1<<(n&7^7)?Fh(c,n,e)|0:Gh(c,n,e)|0,g=w+n|0):g=e;do if(g>>>0<ka>>>0){z=a[H>>2]|0;y=z+52|0;w=a[y>>2]|0;G=z+48|0;z=a[G>>2]|0;if(4>w>>>0)for(J=4,I=a[m>>2]|0,l=w,w=z;;)if(r=J-l|0,(I|0)>=(a[h>>2]|0)&&Lc(b)|0,u=a[f>>2]|0,a[f>>2]=u+1,t[u>>0]=1>>>r|w,I=(a[m>>2]|0)+1|0,a[m>>2]=I,8>=r>>>0){I=r;J=8;l=0;break}else J=r,l=8,w=0;else I=4,J=w,l=z;w=J-I|0;l|=(a[8064+(I<<2)>>
-2]&1)<<w;(J|0)==(I|0)?((a[m>>2]|0)>=(a[h>>2]|0)&&Lc(b)|0,J=a[f>>2]|0,a[f>>2]=J+1,t[J>>0]=l,a[m>>2]=(a[m>>2]|0)+1,w=8,I=0):I=l;a[G>>2]=I;a[y>>2]=w;w=g}else if(l=n-ka+3|0,7>l>>>0)qf(b,N[(6*l|0)+125030>>1]|0,N[125028+(6*l|0)>>1]|0),w=ka;else{ka>>>0<e>>>0?(w=(x[d+(ka>>>3)>>0]|0)&1<<(ka&7^7)?Fh(d,ka,e)|0:Gh(d,ka,e)|0,G=w+ka|0):G=e;l=a[H>>2]|0;w=l+52|0;J=a[w>>2]|0;I=l+48|0;l=a[I>>2]|0;if(3>J>>>0)for(r=3,u=a[m>>2]|0,p=J,z=l;;)if(y=r-p|0,(u|0)>=(a[h>>2]|0)&&Lc(b)|0,B=a[f>>2]|0,a[f>>2]=B+1,t[B>>0]=1>>>y|z,
-u=(a[m>>2]|0)+1|0,a[m>>2]=u,8>=y>>>0){u=y;J=8;l=0;break}else r=y,p=8,z=0;else u=3;z=J-u|0;p=(a[8064+(u<<2)>>2]&1)<<z|l;(J|0)==(u|0)?((a[m>>2]|0)>=(a[h>>2]|0)&&Lc(b)|0,r=a[f>>2]|0,a[f>>2]=r+1,t[r>>0]=p,a[m>>2]=(a[m>>2]|0)+1,l=8,J=0):(l=z,J=p);a[I>>2]=J;a[w>>2]=l;(k|0)!=(0-ka|0)&&0!=((x[d+(k>>>3)>>0]|0)&1<<(k&7^7)|0)?(Hh(b,ka-k|0,124374),Hh(b,G-ka|0,123720)):(Hh(b,ka-k|0,123720),Hh(b,G-ka|0,124374));w=G}while(0);if(w>>>0>=e>>>0)break;(x[d+(w>>>3)>>0]|0)&1<<(w&7^7)?(z=Fh(d,w,e)|0,p=(Gh(c,w,e)|0)+w|0,
-l=z,I=Fh(c,p,e)|0,G=p):(p=Gh(d,w,e)|0,z=(Fh(c,w,e)|0)+w|0,l=p,I=Gh(c,z,e)|0,G=z);k=w;ka=l+w|0;n=I+G|0}}function Fh(b,d,c){b|=0;d|=0;var e,f,g,h,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0;g=0;e=(c|0)-d|0;c=d>>3;f=b+c|0;if(0>=(e|0))return 0;if(h=d&7){d=x[143533+((x[f>>0]|0)<<h&255)>>0]|0;f=8-h|0;d=d>>>0>f>>>0?f:d;d=(d|0)>(e|0)?e:d;if(8>(d+h|0))return d|0;c=b+(c+1)|0;b=e-d|0}else c=f,b=e,d=0;if(63<(b|0)){do{if(c&3){e=c;f=b;for(c=d;;){b=t[e>>0]|0;if(-1!=b<<24>>24){p=b;q=c;break}b=c+8|0;h=f+-8|0;d=e+
-1|0;if(d&3)e=d,f=h,c=b;else{y=b;B=h;H=d;n=11;break}}if(11==(n|0)){31<(B|0)?(m=B,k=H,l=y,n=12):(ka=B,z=H,g=y);break}g=(x[143533+(p&255)>>0]|0)+q|0;return g|0}m=b;k=c;l=d;n=12}while(0);a:do if(12==(n|0))for(;;){n=0;if(-1!=(a[k>>2]|0)){ka=m;z=k;g=l;break a}q=l+32|0;p=m+-32|0;y=k+4|0;if(31<(p|0))m=p,k=y,l=q;else{ka=p;z=y;g=q;break}}while(0);e=z}else e=c,ka=b,g=d;a:do{if(7<(ka|0)){d=e;b=ka;for(c=g;;){g=t[d>>0]|0;if(-1!=g<<24>>24){ka=c;break}g=c+8|0;ka=b+-8|0;z=d+1|0;if(7<(ka|0))d=z,b=ka,c=g;else{m=z;k=
-ka;l=g;break a}}g=(x[143533+(g&255)>>0]|0)+ka|0;return g|0}m=e;k=ka;l=g}while(0);if(0>=(k|0))return l|0;g=x[143533+(x[m>>0]|0)>>0]|0;return((g|0)>(k|0)?k:g)+l|0}function Gh(b,d,c){b|=0;d|=0;var e,f,g,h,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0;g=0;e=(c|0)-d|0;c=d>>3;f=b+c|0;if(0>=(e|0))return 0;if(h=d&7){d=x[143242+((x[f>>0]|0)<<h&255)>>0]|0;f=8-h|0;d=d>>>0>f>>>0?f:d;d=(d|0)>(e|0)?e:d;if(8>(d+h|0))return d|0;c=b+(c+1)|0;b=e-d|0}else c=f,b=e,d=0;if(63<(b|0)){do{if(c&3){e=c;f=b;for(c=d;;){b=t[e>>
-0]|0;if(b<<24>>24){p=b;q=c;break}b=c+8|0;h=f+-8|0;d=e+1|0;if(d&3)e=d,f=h,c=b;else{y=b;B=h;H=d;n=11;break}}if(11==(n|0)){31<(B|0)?(m=B,k=H,l=y,n=12):(ka=B,z=H,g=y);break}g=(x[143242+(p&255)>>0]|0)+q|0;return g|0}m=b;k=c;l=d;n=12}while(0);a:do if(12==(n|0))for(;;){n=0;if(a[k>>2]|0){ka=m;z=k;g=l;break a}q=l+32|0;p=m+-32|0;y=k+4|0;if(31<(p|0))m=p,k=y,l=q;else{ka=p;z=y;g=q;break}}while(0);e=z}else e=c,ka=b,g=d;a:do{if(7<(ka|0)){d=e;b=ka;for(c=g;;){g=t[d>>0]|0;if(g<<24>>24){ka=c;break}g=c+8|0;ka=b+-8|0;
-z=d+1|0;if(7<(ka|0))d=z,b=ka,c=g;else{m=z;k=ka;l=g;break a}}g=(x[143242+(g&255)>>0]|0)+ka|0;return g|0}m=e;k=ka;l=g}while(0);if(0>=(k|0))return l|0;g=x[143242+(x[m>>0]|0)>>0]|0;return((g|0)>(k|0)?k:g)+l|0}function Hh(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,u,r=0,x=0,J=0,I=0,G=0,L=0,K=0,v=0,E=0;e=a[b+576>>2]|0;f=e+52|0;g=a[f>>2]|0;h=e+48|0;e=a[h>>2]|0;a:do if(2623<(d|0)){m=c+620|0;k=c+618|0;l=b+608|0;n=b+592|0;p=b+604|0;q=c+622|0;y=d;B=g;for(H=e;;){ka=N[m>>1]|0;z=w[k>>1]|0;Q=z&
-65535;if(Q>>>0<=B>>>0)if(9>(z&65535))z=B,C=H;else break;else for(z=a[l>>2]|0,C=B,B=Q;;)if(Q=B-C|0,(z|0)>=(a[n>>2]|0)&&Lc(b)|0,z=a[p>>2]|0,a[p>>2]=z+1,t[z>>0]=ka>>>Q|H,z=(a[l>>2]|0)+1|0,a[l>>2]=z,8>=Q>>>0){z=8;C=0;break}else C=8,H=0,B=Q;B=z-Q|0;H=(a[8064+(Q<<2)>>2]&ka)<<B|C;(z|0)==(Q|0)?((a[l>>2]|0)>=(a[n>>2]|0)&&Lc(b)|0,C=a[p>>2]|0,a[p>>2]=C+1,t[C>>0]=H,a[l>>2]=(a[l>>2]|0)+1,ka=8,u=0):(ka=B,u=H);H=y-(w[q>>1]|0)|0;if(2623<(H|0))y=H,B=ka,H=u;else{r=H;x=ka;J=u;break a}}Z(143169,142823,651,143498)}else r=
-d,x=g,J=e;while(0);if(63<(r|0)){e=r>>6;g=e+63|0;d=c+(6*g|0)+4|0;(w[d>>1]|0)!=(e<<6|0)&&Z(143506,142823,656,143498);e=N[c+(6*g|0)+2>>1]|0;u=w[c+(6*g|0)>>1]|0;g=u&65535;if(g>>>0<=x>>>0)9>(u&65535)?(I=x,G=J,L=g):Z(143169,142823,661,143498);else for(u=b+608|0,ka=b+592|0,Q=b+604|0,z=a[u>>2]|0,C=x,H=J,B=g;;)if(g=B-C|0,(z|0)>=(a[ka>>2]|0)&&Lc(b)|0,y=a[Q>>2]|0,a[Q>>2]=y+1,t[y>>0]=e>>>g|H,z=(a[u>>2]|0)+1|0,a[u>>2]=z,8>=g>>>0){I=8;G=0;L=g;break}else C=8,H=0,B=g;B=I-L|0;H=(a[8064+(L<<2)>>2]&e)<<B|G;(I|0)==(L|
-0)?(L=b+608|0,(a[L>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|0,I=b+604|0,G=a[I>>2]|0,a[I>>2]=G+1,t[G>>0]=H,a[L>>2]=(a[L>>2]|0)+1,e=8,g=0):(e=B,g=H);m=r-(w[d>>1]|0)|0;k=e;d=g}else m=r,k=x,d=J;J=N[c+(6*m|0)+2>>1]|0;x=w[c+(6*m|0)>>1]|0;m=x&65535;if(m>>>0<=k>>>0)9>(x&65535)?(K=k,v=d,E=m):Z(143169,142823,668,143498);else for(x=b+608|0,c=b+592|0,r=b+604|0,g=a[x>>2]|0,e=k,k=d,d=m;;)if(m=d-e|0,(g|0)>=(a[c>>2]|0)&&Lc(b)|0,d=a[r>>2]|0,a[r>>2]=d+1,t[d>>0]=J>>>m|k,g=(a[x>>2]|0)+1|0,a[x>>2]=g,8>=m>>>0){K=8;v=0;E=m;break}else e=
-8,k=0,d=m;d=K-E|0;k=(a[8064+(E<<2)>>2]&J)<<d|v;(K|0)!=(E|0)?(a[h>>2]=k,a[f>>2]=d):(d=b+608|0,(a[d>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|0,E=b+604|0,b=a[E>>2]|0,a[E>>2]=b+1,t[b>>0]=k,a[d>>2]=(a[d>>2]|0)+1,a[h>>2]=0,a[f>>2]=8)}function cl(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k;e=a[b+576>>2]|0;f=0;do{g=Gh(d,f,c)|0;Hh(b,g,123720);h=g+f|0;if(h>>>0>=c>>>0)break;g=Fh(d,h,c)|0;Hh(b,g,124374);f=g+h|0}while(f>>>0<c>>>0);c=e+4|0;f=a[c>>2]|0;f&12&&(d=e+52|0,8!=(a[d>>2]|0)&&(f=b+608|0,(a[f>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|
-0,h=e+48|0,g=a[h>>2]&255,m=b+604|0,k=a[m>>2]|0,a[m>>2]=k+1,t[k>>0]=g,a[f>>2]=(a[f>>2]|0)+1,a[h>>2]=0,a[d>>2]=8,f=a[c>>2]|0),f&8&&(f=b+604|0,c=a[f>>2]|0,c&1&&(h=b+608|0,(a[h>>2]|0)<(a[b+592>>2]|0)||(Lc(b)|0,c=a[f>>2]|0),b=e+48|0,e=a[b>>2]&255,a[f>>2]=c+1,t[c>>0]=e,a[h>>2]=(a[h>>2]|0)+1,a[b>>2]=0,a[d>>2]=8)))}function Ik(b){b|=0;var d,c,e,f=0,g,h,m=0,k;a[b+8>>2]|0&&Sb(b)|0;R[a[b+564>>2]&127](b);Dk(b);(d=a[b+32>>2]|0)&&ja(d);d=b+680|0;if(c=a[d>>2]|0){e=c;do a[d>>2]=a[e>>2],ja(a[e+8>>2]|0),ja(e),e=a[d>>
-2]|0;while(0!=(e|0))}e=a[b+588>>2]|0;d=b+12|0;0!=(e|0)&&0!=(a[d>>2]&512|0)&&ja(e);a[d>>2]&2048&&(d=a[b+616>>2]|0,Ud[a[b+624>>2]&31](a[b+628>>2]|0,a[b+612>>2]|0,d,(0>(d|0))<<31>>31));d=b+656|0;e=a[d>>2]|0;if(0!=(e|0)&&(c=b+660|0,f=a[c>>2]|0,0!=(f|0))){g=e;e=f;for(f=0;;){h=a[g+(f<<2)>>2]|0;65==(w[h+24>>1]|0)&&(m=a[h+28>>2]|0,0==(Vk(129700,m,4)|0))?(ja(m),ja(h),k=a[c>>2]|0):k=e;h=f+1|0;if(h>>>0>=k>>>0)break;g=a[d>>2]|0;e=k;f=h}ja(a[d>>2]|0)}d=b+688|0;if(f=a[d>>2]|0){k=b+684|0;e=f;for(f=0;!(g=a[k>>2]|
-0,a[g+(f<<4)+4>>2]|0?(ja(a[g+(f<<4)+12>>2]|0),c=a[d>>2]|0):c=e,f=f+1|0,f>>>0>=c>>>0);)e=c;ja(a[k>>2]|0)}ja(b)}function lb(b,d,c){b|=0;d|=0;var e,f,g,h;e=u;u=u+48|0;f=e+16|0;g=e;h=e+24|0;a[h>>2]=c|0;c=ki(b,d,0)|0;if(!c)return c=a[b+628>>2]|0,a[g>>2]=a[b>>2],a[g+4>>2]=65535<d>>>0?128936:155687,a[g+8>>2]=d,Y(c,128944,128957,g),u=e,0;if(257!=(d|0)&&0!=(a[b+12>>2]&64|0)&&0==(t[c+26>>0]|0))return g=a[b+628>>2]|0,c=a[c+28>>2]|0,a[f>>2]=a[b>>2],a[f+4>>2]=c,Y(g,128944,128978,f),u=e,0;b=Aa[a[b+668>>2]&63](b,
-d,h)|0;u=e;return b|0}function Pd(b,d,c){b|=0;d|=0;var e,f=0;e=u;u=u+16|0;a[e>>2]=c|0;c=ki(b,d,0)|0;if(!c||65535>=d>>>0&&(f=w[c+24>>1]|0,0==(1<<(f&31)&a[b+40+(((f&65535)>>>5&65535)<<2)>>2]|0)))return u=e,0;b=Aa[a[b+672>>2]&63](b,d,e)|0;u=e;return b|0}function Dk(b){b|=0;var d,c,e,f;$c(b+40|0,0,4);d=b+108|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+112|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+140|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+144|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+148|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=
-0;d=b+160|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+188|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+220|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+212|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+200|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+204|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+208|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+172|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+176|0;if(c=a[d>>2]|0)ja(c),a[d>>2]=0;d=b+44|0;a[d>>2]&=-385;d=b+224|0;c=a[d>>2]|0;e=b+228|0;if(0<(c|0))for(b=c,c=0;;){if(f=a[(a[e>>2]|0)+(12*c|0)+8>>2]|0)ja(f),b=a[d>>
-2]|0;c=c+1|0;if((c|0)>=(b|0))break}a[d>>2]=0;if(d=a[e>>2]|0)ja(d),a[e>>2]=0}function Pi(b){b|=0;var d,c,e,f,g,h;d=u;u=u+16|0;c=b|0;e=84;var m=0,k=0,l,n,p=0;f=u;u=u+16|0;g=c+656|0;h=a[g>>2]|0;if(0!=(h|0)&&(m=c+660|0,k=a[m>>2]|0,0!=(k|0))){l=k;k=h;for(h=0;;){n=a[k+(h<<2)>>2]|0;65==(w[n+24>>1]|0)&&(p=a[n+28>>2]|0,0==(Vk(129700,p,4)|0))?(ja(p),ja(n),k=a[m>>2]|0):k=l;n=h+1|0;if(n>>>0>=k>>>0)break;l=k;k=a[g>>2]|0;h=n}ja(a[g>>2]|0);a[g>>2]=0;a[m>>2]=0}qe(c,a[e+12>>2]|0,a[e+8>>2]|0)|0||Y(a[c+628>>2]|0,129705,
-129722,f);u=f;$c(b+40|0,0,192);w[b+94>>1]=1;w[b+84>>1]=1;w[b+92>>1]=1;w[b+96>>1]=1;w[b+98>>1]=1;a[b+100>>2]=-1;a[b+68>>2]=0;a[b+72>>2]=0;a[b+76>>2]=1;a[b+180>>2]=1;w[b+124>>1]=2;w[b+86>>1]=1;a[b+64>>2]=1;w[b+192>>1]=2;w[b+194>>1]=2;w[b+196>>1]=1;a[b+652>>2]=3;a[b+664>>2]=0;a[b+668>>2]=5;a[b+672>>2]=6;a[b+676>>2]=0;c=b+688|0;if(e=a[c>>2]|0){f=b+684|0;g=e;for(e=0;!(h=a[f>>2]|0,a[h+(e<<4)+4>>2]|0&&(ja(a[h+(e<<4)+12>>2]|0),g=a[c>>2]|0),e=e+1|0,e>>>0>=g>>>0););ja(a[f>>2]|0);a[c>>2]=0;a[f>>2]=0}f=a[20]|
-0;if(!f)return a[d>>2]=1,lb(b,259,d)|0,b=b+12|0,c=a[b>>2]|0,a[b>>2]=c&-1033,u=d,1;R[f&127](b);a[d>>2]=1;lb(b,259,d)|0;b=b+12|0;c=a[b>>2]|0;a[b>>2]=c&-1033;u=d;return 1}function Gj(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C,r,w,x;e=u;u=u+112|0;f=e+88|0;g=e+80|0;h=e+72|0;m=e+64|0;k=e+56|0;l=e+48|0;n=e+40|0;p=e+32|0;q=e+24|0;y=e+16|0;B=e+102|0;H=e+96|0;t=e+8|0;z=e+100|0;Q=e+92|0;C=e;r=b+12|0;w=a[r>>2]|0;if(!(w&2048)){q=b+640|0;x=b+628|0;B=d;H=rb[a[q>>2]&63](a[x>>2]|0,a[B>>2]|0,a[B+4>>
-2]|0,0)|0;B=d;l=(H|0)==(a[B>>2]|0)?(U|0)==(a[B+4>>2]|0):0;if(!(w&524288)){if(l&&(B=b+632|0,2==(Aa[a[B>>2]&63](a[x>>2]|0,z,2)|0))){a[r>>2]&128&&ac(z);H=rb[a[q>>2]&63](a[x>>2]|0,12*(N[z>>1]|0)|0,0,1)|0;c&&(z=c,a[z>>2]=H,a[z+4>>2]=U);if(4!=(Aa[a[B>>2]&63](a[x>>2]|0,Q,4)|0))return B=a[x>>2]|0,a[m>>2]=a[b>>2],Y(B,129029,129124,m),u=e,0;a[r>>2]&128&&pb(Q);m=d;a[m>>2]=a[Q>>2];a[m+4>>2]=0;u=e;return 1}m=a[x>>2]|0;a[k>>2]=a[b>>2];Y(m,129029,129089,k);u=e;return 0}if(l&&(l=b+632|0,8==(Aa[a[l>>2]&63](a[x>>2]|
-0,C,8)|0))){a[r>>2]&128&&kc(C);k=C;C=a[k>>2]|0;m=a[k+4>>2]|0;if(0<m>>>0|0==(m|0)&65535<C>>>0)return Y(a[x>>2]|0,129029,140364,g),u=e,0;g=rb[a[q>>2]&63](a[x>>2]|0,20*(C&65535)|0,0,1)|0;c&&(C=c,a[C>>2]=g,a[C+4>>2]=U);if(8!=(Aa[a[l>>2]&63](a[x>>2]|0,d,8)|0))return l=a[x>>2]|0,a[f>>2]=a[b>>2],Y(l,129029,129124,f),u=e,0;if(!(a[r>>2]&128))return u=e,1;kc(d);u=e;return 1}f=a[x>>2]|0;a[h>>2]=a[b>>2];Y(f,129029,129089,h);u=e;return 0}h=d;f=a[h>>2]|0;x=a[h+4>>2]|0;if(!(w&524288)){w=f+2|0;if((f|0)==(f|0)&((0>
-(f|0))<<31>>31|0)==(x|0)&&!(2147483645<(f|0)|2>(w|0))&&(h=b+616|0,(w|0)<=(a[h>>2]|0))){l=b+612|0;Ab(B,(a[l>>2]|0)+f|0,2);a[r>>2]&128&&ac(B);C=(12*(N[B>>1]|0)|0)+w|0;B=C+4|0;if(0<=(w|0)&&!(2147483643<(C|0)|4>(B|0))&&(B|0)<=(a[h>>2]|0))return c&&(h=c,a[h>>2]=C,a[h+4>>2]=(0>(C|0))<<31>>31),Ab(H,(a[l>>2]|0)+C|0,4),a[r>>2]&128&&pb(H),C=d,a[C>>2]=a[H>>2],a[C+4>>2]=0,u=e,1;Y(a[b+628>>2]|0,129029,140395,q);u=e;return 0}Y(a[b+628>>2]|0,129029,140364,y);y=d;a[y>>2]=0;a[y+4>>2]=0;u=e;return 0}y=f+8|0;if((f|
-0)==(f|0)&((0>(f|0))<<31>>31|0)==(x|0)&&!(2147483639<(f|0)|8>(y|0))&&(x=b+616|0,(y|0)<=(a[x>>2]|0))){q=b+612|0;Ab(t,(a[q>>2]|0)+f|0,8);a[r>>2]&128&&kc(t);f=t;t=a[f>>2]|0;C=a[f+4>>2]|0;if(0<C>>>0|0==(C|0)&65535<t>>>0)return Y(a[b+628>>2]|0,129029,129050,n),u=e,0;n=(20*(t&65535)|0)+y|0;t=n+8|0;if(0<=(y|0)&&!(2147483639<(n|0)|8>(t|0))&&(t|0)<=(a[x>>2]|0)){c&&(x=c,a[x>>2]=n,a[x+4>>2]=(0>(n|0))<<31>>31);Ab(d,(a[q>>2]|0)+n|0,8);if(!(a[r>>2]&128))return u=e,1;kc(d);u=e;return 1}Y(a[b+628>>2]|0,129029,140395,
-l);u=e;return 0}Y(a[b+628>>2]|0,129029,140364,p);u=e;return 0}function qe(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n=0,p,q,y,B=0;e=u;u=u+48|0;f=e;g=e+8|0;h=e+4|0;m=b+664|0;a[m>>2]=0;k=b+656|0;l=a[k>>2]|0;p=0!=(l|0)&&(n=a[b+660>>2]|0,0!=(n|0))?Bf(b,l,n+c|0,4,129751)|0:Mf(b,c,4,129751)|0;q=a[k>>2]=p;if(!q)return Y(a[b+628>>2]|0,129768,129785,f),u=e,0;if(c){q=b+660|0;b=g+8|0;f=0;do{p=d+(36*f|0)|0;n=a[p>>2]|0;l=g;y=l+36|0;do a[l>>2]=0,l=l+4|0;while((l|0)<(y|0));a[h>>2]=g;l=a[m>>2]|0;if(0==(l|0)||(a[l>>
-2]|0)!=(n|0))B=13;a:do if(13==(B|0)){B=0;l=a[k>>2]|0;do if(l)if(a[g>>2]=n,a[b>>2]=0,y=zk(h,l,a[q>>2]|0,4,19)|0){if(y=a[y>>2]|0,a[m>>2]=y)break a}else a[m>>2]=0;while(0);l=a[q>>2]|0;a[(a[k>>2]|0)+(l<<2)>>2]=p;a[q>>2]=l+1}while(0);f=f+1|0}while((f|0)!=(c|0));b=q;k=a[k>>2]|0}else b=b+660|0,k=q;var H,t=a[b>>2]|0;H=k|0;k=4;q=19;var z,Q,C,r,w;l=m=h=0;var x,J;y=B=p=n=0;b=u;u=u+208|0;d=b+8|0;z=E(k,t|0)|0;t=b;a[t>>2]=1;a[t+4>>2]=0;if(z){t=z-k|0;a[d+4>>2]=k;g=f=a[d>>2]=k;for(Q=2;;)if(C=g+k+f|0,a[d+(Q<<2)>>
-2]=C,C>>>0<z>>>0)r=f,f=C,Q=Q+1|0,g=r;else break;g=0-k|0;Q=H+t|0;f=b+4|0;if(0<(t|0))for(t=Q,z=1,r=H,C=1;;)if(3==(z&3|0)?(Bk(r,k,q,C,d),z=a[f>>2]|0,H=z<<30|(a[b>>2]|0)>>>2,a[b>>2]=H,a[f>>2]=z>>>2,C=C+2|0):(H=C+-1|0,(a[d+(H<<2)>>2]|0)>>>0<(t-r|0)>>>0?Bk(r,k,q,C,d):ji(r,k,q,b,C,0,d),1==(C|0)?(z=a[b>>2]|0,a[f>>2]=z>>>31|a[f>>2]<<1,z<<=1,H=a[b>>2]=z,C=0):(31<H>>>0?(z=a[b>>2]|0,a[f>>2]=z,a[b>>2]=0,H=C+-33|0,C=z,z=0):(C=a[f>>2]|0,z=a[b>>2]|0),a[f>>2]=z>>>(32-H|0)|C<<H,H=z<<H,a[b>>2]=H,C=1)),z=H|1,a[b>>2]=
-z,H=r+k|0,H>>>0>=Q>>>0){w=H;z=C;break}else r=H;else w=H,z=1;ji(w,k,q,b,z,0,d);H=b+4|0;C=a[b>>2]|0;if(!(1==(z|0)&1==(C|0)&0==(a[H>>2]|0)))for(t=C,Q=w,r=z;;){if(2>(r|0)){z=t+-1|0;do if(z){if(z&1)m=24;else{w=z;for(C=0;!(C=C+1|0,w>>>=1,w&1););C?h=C:m=24}if(24==(m|0)){m=0;C=a[f>>2]|0;if(!C){l=64;m=30;break}if(C&1){n=0;p=t;B=C;y=0;break}else x=C,J=0;for(;!(w=J+1|0,x>>>=1,x&1);)J=w;if(w)h=J+33|0;else{n=0;p=t;B=C;y=0;break}}31<h>>>0?(l=h,m=30):(n=h,p=t,B=a[f>>2]|0,y=h)}else l=32,m=30;while(0);30==(m|0)&&
-(m=0,z=a[f>>2]|0,a[b>>2]=z,a[f>>2]=0,n=l+-32|0,p=z,B=0,y=l);a[b>>2]=B<<32-n|p>>>n;a[f>>2]=B>>>n;Q=Q+g|0;C=y+r|0}else z=t>>>30,w=z|a[f>>2]<<2,C=r+-2|0,a[b>>2]=(t<<1&2147483646|z<<31)^3,a[f>>2]=w>>>1,ji(Q+(0-((a[d+(C<<2)>>2]|0)+k))|0,k,q,b,r+-1|0,1,d),w=a[b>>2]|0,a[f>>2]=w>>>31|a[f>>2]<<1,a[b>>2]=w<<1|1,w=Q+g|0,ji(w,k,q,b,C,1,d),Q=w;t=a[b>>2]|0;if(1==(C|0)&1==(t|0)&0==(a[H>>2]|0))break;else r=C}}u=b;u=e;return c|0}function ki(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=u;u=u+48|0;g=f=e+4|0;h=g+36|0;do a[g>>
-2]=0,g=g+4|0;while((g|0)<(h|0));a[e>>2]=f;g=b+664|0;h=a[g>>2]|0;if(0!=(h|0)&&(a[h>>2]|0)==(d|0)&&(!c||(a[h+8>>2]|0)==(c|0)))return u=e,h|0;h=a[b+656>>2]|0;if(!h)return u=e,0;a[f>>2]=d;a[f+8>>2]=c;b=(c=zk(e,h,a[b+660>>2]|0,4,19)|0)?a[c>>2]|0:0;a[g>>2]=b;u=e;return b|0}function Ne(a){switch(a|0){case 7:case 6:case 2:case 1:case 0:a=1;break;case 8:case 3:a=2;break;case 13:case 11:case 9:case 4:a=4;break;case 18:case 17:case 16:case 12:case 10:case 5:a=8;break;default:a=0}return a|0}function Lf(b,d){b|=
-0;d|=0;var c,e,f,g,h;c=u;u=u+48|0;e=c+8|0;f=c+4|0;g=e;h=g+36|0;do a[g>>2]=0,g=g+4|0;while((g|0)<(h|0));a[f>>2]=e;g=b+664|0;h=a[g>>2]|0;if(0!=(h|0)&&(a[h>>2]|0)==(d|0))return u=c,h|0;if(h=a[b+656>>2]|0)if(a[e>>2]=d,a[e+8>>2]=0,e=zk(f,h,a[b+660>>2]|0,4,19)|0){if(e=a[e>>2]|0,a[g>>2]=e)return u=c,e|0}else a[g>>2]=0;g=a[b+628>>2]|0;a[c>>2]=d;Y(g,129817,129834,c);u=c;return 0}function Hj(b,d,c){d|=0;c|=0;var e,f;b=u;u=u+16|0;e=b;f=eb(36)|0;if(!f)return u=b,0;$c(f,0,36);a[f>>2]=d;w[f+4>>1]=-3;w[f+6>>1]=
--3;a[f+8>>2]=c;a[f+12>>2]=0;do switch(c|0){case 7:case 1:a[f+16>>2]=40;a[f+20>>2]=40;break;case 2:a[f+16>>2]=39;a[f+20>>2]=39;break;case 3:a[f+16>>2]=42;a[f+20>>2]=42;break;case 4:a[f+16>>2]=44;a[f+20>>2]=44;break;case 11:case 10:case 5:a[f+16>>2]=48;a[f+20>>2]=48;break;case 6:a[f+16>>2]=41;a[f+20>>2]=41;break;case 8:a[f+16>>2]=43;a[f+20>>2]=43;break;case 9:a[f+16>>2]=45;a[f+20>>2]=45;break;case 12:a[f+16>>2]=49;a[f+20>>2]=49;break;case 18:case 13:a[f+16>>2]=50;a[f+20>>2]=50;break;case 16:a[f+16>>
-2]=46;a[f+20>>2]=46;break;case 17:a[f+16>>2]=47;a[f+20>>2]=47;break;default:a[f+16>>2]=0,a[f+20>>2]=0}while(0);w[f+24>>1]=65;t[f+26>>0]=1;t[f+27>>0]=1;c=eb(32)|0;if(a[f+28>>2]=c)return a[f+32>>2]=0,a[e>>2]=d,d=u,u=u+16|0,a[d>>2]=e|0,c=Sk(c|0,32,129867,d)|0,u=d,c|0,u=b,f|0;ja(f);u=b;return 0}function ck(b){b|=0;var d=0,c=0,e=0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,t=0,z=0,Q=0,C=0,r=0,x=0,Ed=0,J=0,I=0,G=0,L=0,K=0,v=0,A=0,O=0,M=0,T=0,X=0,P=0,Oa=0,Ge=0,Lg=0,ba=0,bf=0,Te=0,W=0,ga=0,Ha=0,ma=0,
-bc=0,ha=0,ca=0,ya=0,pc=0,Nb=0,Hd=0,Zc=0,oa=0,sa=0,Kc=0,ua=0,Ia=0,Da=0,na=0,Na=0,Aa=0,Ca=0,Ga=0,Ea=0,La=0,ra=0,pa=0,Ka=0,Qa=0,xb=0,Zb=0,Wa=0,jb=0,mc=0,Va=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,ub=0,sb=0,Xa=0,d=u;u=u+320|0;c=d+288|0;e=d+280|0;f=d+272|0;g=d+264|0;h=d+256|0;m=d+248|0;k=d+240|0;l=d+232|0;n=d+224|0;p=d+216|0;q=d+208|0;y=d+200|0;B=d+192|0;H=d+184|0;t=d+176|0;z=d+168|0;Q=d+160|
-0;C=d+152|0;r=d+144|0;x=d+136|0;Ed=d+120|0;J=d+112|0;I=d+104|0;G=d+96|0;L=d+88|0;K=d+80|0;v=d+72|0;A=d+64|0;O=d+56|0;M=d+48|0;T=d+40|0;X=d+32|0;P=d+24|0;Oa=d+16|0;Ge=d+8|0;Lg=d+300|0;ba=d+308|0;bf=d+306|0;Te=d+296|0;W=d+292|0;ga=d+304|0;ma=Ha=b+24|0;bc=a[ma>>2]|0;ha=a[ma+4>>2]|0;ma=b+16|0;a[ma>>2]=bc;a[ma+4>>2]=ha;if(0==(bc|0)&0==(ha|0))return ca=0,u=d,ca|0;ma=b+38|0;ya=w[ma>>1]|0;switch(ya<<16>>16){case -1:return Y(a[b+628>>2]|0,132827,132846,d),ca=0,u=d,ca|0;case 0:break;default:pc=3}a:do if(3==
-(pc|0)&&(Nb=a[b+32>>2]|0,0!=(Nb|0))){for(Zc=Hd=0;;){oa=Nb+(Hd<<3)|0;sa=(Zc&65535)+1<<16>>16;if((a[oa>>2]|0)==(bc|0)&&(a[oa+4>>2]|0)==(ha|0)){ca=0;break}if((sa&65535)<(ya&65535))Hd=sa&65535,Zc=Zc+1|0;else break a}u=d;return ca|0}while(0);Zc=ya+1<<16>>16;w[ma>>1]=Zc;ya=b+36|0;if((Zc&65535)>(N[ya>>1]|0)){Hd=b+32|0;Nb=Bf(b,a[Hd>>2]|0,Zc&65535,16,132893)|0;if(!Nb)return ca=0,u=d,ca|0;sa=w[ma>>1]|0;Kc=0>sa<<16>>16?-1:(sa&65535)<<1&65535;w[ya>>1]=Kc;a[Hd>>2]=Nb;ua=sa;Ia=Nb}else ua=Zc,Ia=a[b+32>>2]|0;Zc=
-Ia+((ua&65535)+-1<<3)|0;a[Zc>>2]=bc;a[Zc+4>>2]=ha;R[a[b+564>>2]&127](b);ha=b+448|0;w[ha>>1]=(w[ha>>1]|0)+1<<16>>16;ha=Ha;Zc=a[ha>>2]|0;bc=a[ha+4>>2]|0;ha=Ij(b,Zc,bc,Lg,Ha)|0;if(!(ha<<16>>16))return Ha=a[b+628>>2]|0,ua=Ge,a[ua>>2]=Zc,a[ua+4>>2]=bc,Y(Ha,132906,132924,Ge),ca=0,u=d,ca|0;Ha=Ge=0;for(bc=a[Lg>>2]|0;;){ua=N[bc>>1]|0;if(ua>>>0<(Ge&65535)>>>0){pc=17;break}Ha=Ha+1<<16>>16;if((Ha&65535)>=(ha&65535))break;else Ge=ua+1|0,bc=bc+24|0}17==(pc|0)&&Wb(a[b+628>>2]|0,132963,132991,Oa);Oa=0;bc=a[Lg>>2]|
-0;do if(Ge=bc,bc=bc+24|0,Oa=Oa+1|0,Ha=Oa&65535,(Ha&65535)<(ha&65535))for(ua=Ge,Zc=bc,Ia=Ha;!(Nb=ua+24|0,(w[Ge>>1]|0)==(w[Nb>>1]|0)&&(w[Nb>>1]=0),Ia=Ia+1<<16>>16,(Ia&65535)>=(ha&65535));)Nb=Zc,Zc=Zc+24|0,ua=Nb;while(Ha<<16>>16!=ha<<16>>16);bc=b+12|0;a[bc>>2]&=-1048641;Dk(b);Pi(b)|0;a[P>>2]=1;lb(b,284,P)|0;Oa=a[Lg>>2]|0;for(ua=0;;){if(277==(w[Oa>>1]|0)){na=Da=Oa;pc=29;break}ua=ua+1<<16>>16;if((ua&65535)>=(ha&65535)){pc=32;break}else Oa=Oa+24|0}29==(pc|0)&&(na?Ek(b,na,0)|0&&(w[Da>>1]=0,pc=32):pc=32);
-a:do if(32==(pc|0)){Da=a[Lg>>2]|0;for(na=0;;){if(259==(w[Da>>1]|0)){Aa=Na=Da;pc=35;break}na=na+1<<16>>16;if((na&65535)>=(ha&65535)){pc=48;break}else Da=Da+24|0}if(35==(pc|0))if(Aa){Da=aj(b,Aa,ba)|0;if(1==(Da|0)){na=Aa+8|0;Ha=a[na+4>>2]|0;Oa=b+98|0;if(0>Ha>>>0|(0==(Ha|0)?(a[na>>2]|0)>>>0<(N[Oa>>1]|0)>>>0:0))Ga=1;else if(na=lh(b,Aa,P)|0)Ga=na;else{Ha=a[P>>2]|0;ua=w[Oa>>1]|0;Oa=w[Ha>>1]|0;w[ba>>1]=Oa;Zc=Ha;for(Ia=ua;;){Ia=Ia+-1<<16>>16;Zc=Zc+2|0;if(!(Ia<<16>>16)){Ca=0;break}if((w[Zc>>1]|0)!=Oa<<16>>
-16){Ca=5;break}}ja(Ha);Ga=Ca}Ea=Ga}else Ea=Da;if(Ea){wh(b,Ea,132906,136291,0);break}a[X>>2]=N[ba>>1];if(!(lb(b,259,X)|0))break;w[Na>>1]=0}else pc=48;if(48!=(pc|0)||(a[T>>2]=1,0!=(lb(b,259,T)|0))){Oa=b+660|0;Zc=b+628|0;Ia=b+656|0;ua=0;Ge=a[Lg>>2]|0;b:for(;;){Nb=w[Ge>>1]|0;c:do if(Nb<<16>>16){sa=a[Oa>>2]|0;d:do if(sa){Hd=a[Ia>>2]|0;Kc=Nb&65535;ya=-1;for(ma=sa;;){oa=(ya+ma|0)/2|0;La=a[a[Hd+(oa<<2)>>2]>>2]|0;if((La|0)==(Kc|0)){ra=oa;break}ya=(pa=La>>>0<Kc>>>0)?oa:ya;ma=pa?ma:oa;if((ya+1|0)==(ma|0)){Ka=
-Kc;pc=59;break d}}for(;;){if(!ra){Qa=0;xb=Nb;Zb=Hd;break d}ma=ra+-1|0;if((a[a[Hd+(ma<<2)>>2]>>2]|0)==(Kc|0))ra=ma;else{Wa=ra;break}}-1==(Wa|0)?(Ka=Kc,pc=59):(Qa=Wa,xb=Nb,Zb=Hd)}else Ka=Nb&65535,pc=59;while(0);d:do if(59==(pc|0)){pc=0;sa=a[Zc>>2]|0;a[M>>2]=Ka;a[M+4>>2]=Ka;Wb(sa,132906,133054,M);if(!(qe(b,Hj(b,N[Ge>>1]|0,N[Ge+2>>1]|0)|0,1)|0)){sa=a[Zc>>2]|0;ma=N[Ge>>1]|0;a[O>>2]=ma;a[O+4>>2]=ma;Wb(sa,132906,133099,O);w[Ge>>1]=0;break c}sa=a[Oa>>2]|0;if(!sa){pc=68;break b}ma=w[Ge>>1]|0;ya=a[Ia>>2]|0;
-oa=ma&65535;pa=-1;for(La=sa;;){sa=(pa+La|0)/2|0;jb=a[a[ya+(sa<<2)>>2]>>2]|0;if((jb|0)==(oa|0)){mc=sa;break}pa=(Va=jb>>>0<oa>>>0)?sa:pa;La=Va?La:sa;if((pa+1|0)==(La|0)){pc=68;break b}}for(;;){if(!mc){Qa=0;xb=ma;Zb=ya;break d}La=mc+-1|0;if((a[a[ya+(La<<2)>>2]>>2]|0)==(oa|0))mc=La;else{Ta=mc;break}}if(-1==(Ta|0)){pc=68;break b}else Qa=Ta,xb=ma,Zb=ya}while(0);oa=xb&65535;if(xb<<16>>16)if(La=w[(a[Zb+(Qa<<2)>>2]|0)+24>>1]|0,La<<16>>16){d:do if(322<=(oa|0)){if(325>(oa|0))switch(oa|0){case 324:pc=73;break d;
-case 322:case 323:break d;default:break c}if(32997>(oa|0))switch(oa|0){case 325:pc=73;break d;case 338:break d;default:break c}else switch(oa|0){case 32998:case 32997:break d;default:break c}}else switch(oa|0){case 279:case 273:pc=73;break;case 278:case 284:case 257:case 256:break;default:break c}while(0);if(73==(pc|0))pc=0,oa=b+40+(((La&65535)>>>5&65535)<<2)|0,a[oa>>2]|=1<<(La&31);else{if(!(Ek(b,Ge,0)|0))break a;w[Ge>>1]=0}}else w[Ge>>1]=0}while(0);ua=ua+1<<16>>16;if((ua&65535)>=(ha&65535)){pc=77;
-break}else Ge=Ge+24|0}if(68==(pc|0))Z(133153,133171,3535,132906);else if(77==(pc|0)){Ge=b+88|0;b:do if(6==(w[Ge>>1]|0)&&(ua=b+126|0,2==(w[ua>>1]|0))){Oa=Ia=a[Lg>>2]|0;for(Zc=0;;){if(273==(w[Oa>>1]|0)){Ya=Oa;break}Zc=Zc+1<<16>>16;if((Zc&65535)>=(ha&65535))break b;else Oa=Oa+24|0}if(0!=(Ya|0)&&(Oa=Ya+8|0,1==(a[Oa>>2]|0)&0==(a[Oa+4>>2]|0))){Oa=Ia;for(Zc=0;;){if(279==(w[Oa>>1]|0)){Sa=Oa;break}Zc=Zc+1<<16>>16;if((Zc&65535)>=(ha&65535))break b;else Oa=Oa+24|0}0!=(Sa|0)&&(Oa=Sa+8|0,1==(a[Oa>>2]|0)&0==(a[Oa+
-4>>2]|0))&&(w[ua>>1]=1,Wb(a[b+628>>2]|0,132906,133185,A))}}while(0);Oa=b+40|0;Zc=a[Oa>>2]|0;if(Zc&2){if(Zc&4){var Fa;var Pa=b,Pa=Pa|0,Eb=void 0,vb=void 0,tb=void 0,bb=void 0,Ib=void 0,Mb=void 0,eb=void 0,Ua=void 0,ab=void 0,Jb=void 0,Ab=void 0,Eb=a[Pa+68>>2]|0,vb=a[Pa+72>>2]|0,tb=a[Pa+76>>2]|0,bb=-1==(Eb|0)?a[Pa+56>>2]|0:Eb,Ib=-1==(vb|0)?a[Pa+60>>2]|0:vb,Mb=-1==(tb|0)?a[Pa+64>>2]|0:tb;0==(bb|0)|0==(Ib|0)|0==(Mb|0)?eb=0:(tb=a[Pa+56>>2]|0,Ua=tb>>>0<(0-bb|0)>>>0?((bb+-1+tb|0)>>>0)/(bb>>>0)|0:0,bb=a[Pa+
-60>>2]|0,ab=bb>>>0<(0-Ib|0)>>>0?((Ib+-1+bb|0)>>>0)/(Ib>>>0)|0:0,Ib=of(Pa,Ua,ab,139573)|0,ab=a[Pa+64>>2]|0,Jb=ab>>>0<(0-Mb|0)>>>0?((Mb+-1+ab|0)>>>0)/(Mb>>>0)|0:0,eb=of(Pa,Ib,Jb,139573)|0);2!=(w[Pa+126>>1]|0)?Fa=eb|0:(Ab=of(Pa,eb,N[Pa+98>>1]|0,139573)|0,Fa=Ab|0);mb=Zc=Fa|0;Db=a[bc>>2]|1024}else{var yb;var cb=b,cb=cb|0,gc=void 0,Ub=void 0,Fb=void 0,pb=void 0,gc=a[cb+100>>2]|0;-1!=(gc|0)?(Ub=a[cb+60>>2]|0,Fb=Ub>>>0<(0-gc|0)>>>0?((gc+-1+Ub|0)>>>0)/(gc>>>0)|0:0):Fb=1;2!=(w[cb+126>>1]|0)?yb=Fb|0:(pb=of(cb,
-Fb,N[cb+98>>1]|0,138713)|0,yb=pb|0);Zc=yb|0;a[b+68>>2]=a[b+56>>2];a[b+72>>2]=a[b+100>>2];a[b+76>>2]=a[b+64>>2];mb=Zc;Db=a[bc>>2]&-1025}Zc=b+168|0;a[Zc>>2]=mb;a[bc>>2]=Db;if(mb){Ia=b+164|0;a[Ia>>2]=mb;Da=b+126|0;2==(w[Da>>1]|0)&&(a[Ia>>2]=(mb>>>0)/((N[b+98>>1]|0)>>>0)|0);na=a[Oa>>2]|0;do if(!(na&33554432)){Ha=Db&1024;if(6==(w[Ge>>1]|0)&0==(Ha|0))if(1==(mb|0)){a[Oa>>2]=na|33554432;break}else cc=0;else cc=Ha;Ha=a[b+628>>2]|0;a[L>>2]=0!=(cc|0)?133388:133400;Y(Ha,133269,133285,L);break a}while(0);na=b+
-98|0;Ha=b+172|0;Nb=b+176|0;oa=b+628|0;pa=b+84|0;Kc=Hd=0;sa=a[Lg>>2]|0;b:for(;;){Va=w[sa>>1]|0;jb=Va&65535;c:do if(301>(jb|0)){switch(jb|0){case 0:Za=Hd;break c;case 258:case 281:case 280:pc=105;break c;case 273:pc=126;break c;case 279:pc=127;break c;case 255:break;default:pc=141;break c}0==(aj(b,sa,ga)|0)&&(ia=w[ga>>1]|0,qa=2==ia<<16>>16?1:3==ia<<16>>16?2:0,0!=(qa|0))&&(a[x>>2]=qa,lb(b,254,x)|0);Za=Hd}else{if(339<=(jb|0)){d:do if(341<=(jb|0))if(32996>(jb|0))switch(jb|0){case 341:break d;default:pc=
-141;break c}else switch(jb|0){case 32996:pc=105;break c;default:pc=141;break c}else switch(jb|0){case 339:pc=105;break c;case 340:break;default:pc=141;break c}while(0);La=sa+8|0;if(0!=(a[La+4>>2]|0)||(a[La>>2]|0)!=(N[na>>1]|0)){Ja=Va;ea=1;break b}if(La=D(b,sa,Te)|0){wa=La;Ma=sa;pc=121;break b}La=a[bc>>2]|0;a[bc>>2]=La|4194304;qa=N[sa>>1]|0;ia=a[Te>>2]|0;a[I>>2]=ia;xa=lb(b,qa,I)|0;a[bc>>2]=La;ja(ia);if(xa){Za=Hd;break}else break a}switch(jb|0){case 324:pc=126;break c;case 325:pc=127;break c;case 301:case 320:break;
-default:pc=141;break c}a[W>>2]=0;if(Hd){ia=N[pa>>1]|0;xa=1<<ia;La=sa+8|0;qa=a[La>>2]|0;la=a[La+4>>2]|0;Ba=(La=301==Va<<16>>16&(qa|0)==(xa|0)&0==(la|0))?0:xa;if(0==(la|0)&&(qa|0)==((La?xa:3<<ia)|0))if(ia=lh(b,sa,W)|0,xa=N[sa>>1]|0,ia)va=xa,za=ia;else{La=a[W>>2]|0;a[Ed>>2]=La;a[Ed+4>>2]=La+(Ba<<1);a[Ed+8>>2]=La+(Ba<<1<<1);lb(b,xa,Ed)|0;ja(La);Za=Hd;break}else va=jb,za=1;ta=(ia=Lf(b,va)|0)?a[ia+28>>2]|0:133413;wh(b,za,132906,ta,1);Za=Hd}else xa=Lf(b,jb)|0,ia=a[oa>>2]|0,$a=xa?a[xa+28>>2]|0:133413,a[J>>
-2]=$a,Wb(ia,132906,133429,J),Za=0}while(0);if(105==(pc|0)){pc=0;jb=aj(b,sa,bf)|0;if(1==(jb|0)){Va=sa+8|0;ua=a[Va+4>>2]|0;if(0>ua>>>0|(0==(ua|0)?(a[Va>>2]|0)>>>0<(N[na>>1]|0)>>>0:0))sc=1;else if(Va=lh(b,sa,P)|0)sc=Va;else{ua=a[P>>2]|0;ia=w[na>>1]|0;xa=w[ua>>1]|0;w[bf>>1]=xa;La=ua;for(Ba=ia;;){Ba=Ba+-1<<16>>16;La=La+2|0;if(!(Ba<<16>>16)){nb=0;break}if((w[La>>1]|0)!=xa<<16>>16){nb=5;break}}ja(ua);sc=nb}gb=sc}else gb=jb;xa=N[sa>>1]|0;if(gb){hb=xa;ob=gb;pc=114;break}a[G>>2]=N[bf>>1];if(!(lb(b,xa,G)|0))break a;
-Za=258==(w[sa>>1]|0)?1:Hd}else if(126==(pc|0))if(pc=0,F(b,sa,a[Zc>>2]|0,Ha)|0)Za=Hd;else break a;else if(127==(pc|0))if(pc=0,F(b,sa,a[Zc>>2]|0,Nb)|0)Za=Hd;else break a;else 141==(pc|0)&&(pc=0,Ek(b,sa,1)|0,Za=Hd);Kc=Kc+1<<16>>16;if((Kc&65535)>=(ha&65535)){pc=143;break}else Hd=Za,sa=sa+24|0}if(114==(pc|0))Bb=(sa=Lf(b,hb)|0)?a[sa+28>>2]|0:133413,wh(b,ob,132906,Bb,0);else{if(121==(pc|0))Ja=w[Ma>>1]|0,ea=wa;else if(143==(pc|0)){b:do if(6==(w[Ge>>1]|0)){if(a[Oa>>2]&256)sa=b+90|0,2==(w[sa>>1]|0)&&(w[sa>>
-1]=6,Wb(a[b+628>>2]|0,132906,133526,Q));else if(Wb(a[b+628>>2]|0,132906,133475,r),a[C>>2]=6,!(lb(b,262,C)|0))break a;sa=a[Oa>>2]|0;if(sa&64)qb=sa;else{Wb(a[b+628>>2]|0,132906,133605,z);a[t>>2]=8;if(!(lb(b,258,t)|0))break a;qb=a[Oa>>2]|0}if(!(qb&65536)){sa=b+90|0;Hd=w[sa>>1]|0;if(2==Hd<<16>>16){Wb(a[b+628>>2]|0,132906,133662,H);a[B>>2]=3;if(!(lb(b,277,B)|0))break a;kb=w[sa>>1]|0}else kb=Hd;switch(kb<<16>>16){case 6:if(Wb(a[b+628>>2]|0,132906,133738,y),a[q>>2]=3,lb(b,277,q)|0)break b;else break a;case 1:case 0:if(a[p>>
-2]=1,lb(b,277,p)|0)break b;else break a;default:break b}}}while(0);Hd=b+90|0;do if(3==(w[Hd>>1]|0)&&0==(a[Oa>>2]&67108864|0)){if(7>=(N[b+84>>1]|0)){sa=a[b+628>>2]|0;a[n>>2]=133814;Y(sa,133269,133285,n);break a}w[Hd>>1]=3==(w[b+98>>1]|0)?2:1}while(0);sa=w[Ge>>1]|0;b:do if(6!=sa<<16>>16){if(!(a[Oa>>2]&16777216)){switch(w[Da>>1]|0){case 1:pc=1<(a[Zc>>2]|0)>>>0?170:171;break;case 2:pc=(a[Zc>>2]|0)==(N[b+98>>1]|0)?171:170;break;default:pc=171}if(170==(pc|0)){Kc=a[b+628>>2]|0;a[l>>2]=133823;Y(Kc,133269,
-133285,l);break a}else if(171==(pc|0))if(Wb(a[b+628>>2]|0,132906,133839,k),0>(S(b,a[Lg>>2]|0,ha)|0))break a;else break}c:do if(1==(a[Zc>>2]|0)&&(Kc=b+172|0,Nb=a[Kc>>2]|0,!(0==(a[Nb>>2]|0)&0==(a[Nb+4>>2]|0)))){Nb=b+176|0;Ha=a[Nb>>2]|0;na=a[Ha>>2]|0;pa=a[Ha+4>>2]|0;do if(!(0==(na|0)&0==(pa|0)||1==sa<<16>>16&&(Ha=da[a[b+648>>2]&63](a[b+628>>2]|0)|0,oa=a[Kc>>2]|0,xa=Ic(Ha|0,U|0,a[oa>>2]|0,a[oa+4>>2]|0)|0,oa=U,pa>>>0>oa>>>0|(pa|0)==(oa|0)&na>>>0>xa>>>0))){if(a[b+8>>2]|0)break c;if(1!=(w[Ge>>1]|0))break c;
-xa=a[Nb>>2]|0;oa=a[xa>>2]|0;Ha=a[xa+4>>2]|0;xa=Td(b)|0;La=Cf(a[b+60>>2]|0,0,xa|0,U|0)|0;xa=U;if(!(Ha>>>0<xa>>>0|(Ha|0)==(xa|0)&oa>>>0<La>>>0))break c}while(0);Wb(a[b+628>>2]|0,132906,133928,m);if(0>(S(b,a[Lg>>2]|0,ha)|0))break a;else break b}while(0);if(1==(w[Da>>1]|0)&&2<(a[Zc>>2]|0)>>>0&&1==(w[Ge>>1]|0)&&(Va=jb=a[b+176>>2]|0,ua=a[Va>>2]|0,Nb=a[Va+4>>2]|0,Va=jb+8|0,jb=a[Va>>2]|0,na=a[Va+4>>2]|0,!(0==(jb|0)&0==(na|0)|0==(ua|0)&0==(Nb|0)|(ua|0)==(jb|0)&(Nb|0)==(na|0))&&(Wb(a[b+628>>2]|0,132906,134001,
-h),0>(S(b,a[Lg>>2]|0,ha)|0))))break a}while(0);if(sa=a[Lg>>2]|0)ja(sa),a[Lg>>2]=0;a[Oa>>2]&524288||(sa=w[b+84>>1]|0,w[b+106>>1]=15<(sa&65535)?-1:(1<<(sa&65535))+65535);Oa=a[Zc>>2]|0;b:do if(1<Oa>>>0){sa=b+180|0;a[sa>>2]=1;Nb=na=a[b+172>>2]|0;jb=a[Nb+4>>2]|0;ua=a[Nb>>2]|0;for(Nb=1;;){Va=na+(Nb<<3)|0;pa=ua;ua=a[Va>>2]|0;Kc=jb;jb=a[Va+4>>2]|0;Nb=Nb+1|0;if(Kc>>>0>jb>>>0|(Kc|0)==(jb|0)&pa>>>0>ua>>>0)break;if(Nb>>>0>=Oa>>>0)break b}a[sa>>2]=0}while(0);da[a[b+504>>2]&63](b)|0;do if(1==(w[Da>>1]|0)&&1==(a[Zc>>
-2]|0)&&1==(w[Ge>>1]|0)&&(Oa=a[bc>>2]|0,32768==(Oa&33792|0))){Nb=b+176|0;ua=a[Nb>>2]|0;if(!ua)return ca=0,u=d,ca|0;jb=ua;ua=a[jb>>2]|0;na=a[jb+4>>2]|0;jb=b+172|0;pa=a[jb>>2]|0;Kc=a[pa>>2]|0;Va=a[pa+4>>2]|0;ib=0==(Oa&16384|0)&6==(w[Hd>>1]|0)?N[b+194>>1]|0:1;Oa=Kf(b,ib)|0;pa=U;if(0<pa>>>0|0==(pa|0)&8192<Oa>>>0)Cb=Oa,ub=pa,sb=ib;else{if(0==(Oa|0)&0==(pa|0))break;La=pf(8192,0,Oa|0,pa|0)|0;oa=E(La,ib)|0;Cb=xa=Cf(La|0,U|0,Oa|0,pa|0)|0;ub=U;sb=oa}if(!(sb>>>0>=(a[b+100>>2]|0)>>>0||(oa=Qb(ua|0,na|0,-1,-1)|
-0,xa=Qb(oa|0,U|0,Cb|0,ub|0)|0,oa=pf(xa|0,U|0,Cb|0,ub|0)|0,xa=Qb(oa|0,U|0,-1,-1)|0,pa=U,0<pa>>>0|0==(pa|0)&4294967294<xa>>>0)))if(xa=Mf(b,oa,8,134074)|0,pa=Mf(b,oa,8,134110)|0,Oa=0==(xa|0),La=0==(pa|0),Oa|La)Oa||ja(xa),La||ja(pa);else{if(oa)for(Ha=ub,Ba=na,na=Cb,ia=ua,ua=Kc,Kc=Va,Va=0;na=(qa=Ha>>>0>Ba>>>0|(Ha|0)==(Ba|0)&na>>>0>ia>>>0)?ia:na,Ha=qa?Ba:Ha,qa=xa+(Va<<3)|0,a[qa>>2]=na,a[qa+4>>2]=Ha,qa=pa+(Va<<3)|0,a[qa>>2]=ua,a[qa+4>>2]=Kc,ua=Qb(na|0,Ha|0,ua|0,Kc|0)|0,Kc=U,ia=Ic(ia|0,Ba|0,na|0,Ha|0)|0,
-Va=Va+1|0,(Va|0)!=(oa|0);)Ba=U;a[Zc>>2]=oa;a[Ia>>2]=oa;a[g>>2]=sb;lb(b,278,g)|0;ja(a[Nb>>2]|0);ja(a[jb>>2]|0);a[Nb>>2]=xa;a[jb>>2]=pa;a[b+180>>2]=1}}while(0);a[bc>>2]&=-2097161;a[b+444>>2]=-1;a[b+452>>2]=-1;a[b+488>>2]=-1;a[b+492>>2]=-1;Ia=b+496|0;a[Ia>>2]=-1;Zc=Pe(b)|0;a[b+580>>2]=Zc;if(!Zc)return Y(a[b+628>>2]|0,132906,134143,f),ca=0,u=d,ca|0;if(a[bc>>2]&1024){Zc=Og(b)|0;if(a[Ia>>2]=Zc)return ca=1,u=d,ca|0;Y(a[b+628>>2]|0,132906,134176,e)}else{if(se(b)|0)return ca=1,u=d,ca|0;Y(a[b+628>>2]|0,132906,
-134205,c)}ca=0;u=d;return ca|0}Xa=(Zc=Lf(b,Ja&65535)|0)?a[Zc+28>>2]|0:133413;wh(b,ea,132906,Xa,0)}}else Ia=a[b+628>>2]|0,a[K>>2]=0!=(Db&1024|0)?133343:133349,Y(Ia,132906,133356,K)}else Ia=a[b+628>>2]|0,a[v>>2]=133331,Y(Ia,133269,133285,v)}}}while(0);Xa=a[Lg>>2]|0;if(!Xa)return ca=0,u=d,ca|0;ja(Xa);ca=0;u=d;return ca|0}function Ij(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,r,V,Ed,J,I,G,L,K,v,A,O,M;g=u;u=u+128|0;h=g+112|0;m=g+104|0;k=g+96|0;l=g+88|0;n=g+80|0;p=g+72|0;q=g+
-64|0;y=g+56|0;B=g+48|0;H=g+40|0;ka=g+32|0;z=g+24|0;Q=g+16|0;C=g+124|0;r=g+8|0;V=g+120|0;Ed=g;J=g+116|0;e||Z(135626,133171,4453,135631);G=I=b+16|0;a[G>>2]=d;a[G+4>>2]=c;if(c=0!=(f|0))G=f,a[G>>2]=0,a[G+4>>2]=0;G=b+12|0;d=a[G>>2]|0;do if(d&2048){A=I;v=a[A>>2]|0;if((v|0)!=(v|0)||((0>(v|0))<<31>>31|0)!=(a[A+4>>2]|0))return Y(a[b+628>>2]|0,135631,135789,q),e=0,u=g,e|0;do{if(d&524288){A=v+8|0;if(2147483639<(v|0)|8>(A|0)?0:(A|0)<=(a[b+616>>2]|0)){Ab(Ed,(a[b+612>>2]|0)+v|0,8);a[G>>2]&128&&kc(Ed);O=Ed;M=a[O>>
-2]|0;O=a[O+4>>2]|0;if(!(0<O>>>0|0==(O|0)&4096<M>>>0)){O=M&65535;K=w[C>>1]=O;M=20;O=A;break}Y(a[b+628>>2]|0,135631,135650,k);e=0;u=g;return e|0}Y(a[b+628>>2]|0,135631,135789,l)}else{A=v+2|0;if(2147483645<(v|0)|2>(A|0)?0:(A|0)<=(a[b+616>>2]|0)){Ab(C,(a[b+612>>2]|0)+v|0,2);a[G>>2]&128&&ac(C);O=w[C>>1]|0;if(4096>=(O&65535)){K=O;M=12;O=A;break}Y(a[b+628>>2]|0,135631,135650,n);e=0;u=g;return e|0}Y(a[b+628>>2]|0,135631,135789,p)}e=0;u=g;return e|0}while(0);if(!(K<<16>>16))return Y(a[b+628>>2]|0,135631,135823,
-m),e=0,u=g,e|0;v=Mf(b,K&65535,M,135730)|0;if(!v)return e=0,u=g,e|0;L=E(N[C>>1]|0,M)|0;K=L+O|0;if((K|0)<(O|0)|(K|0)<(L|0)?0:(A=b+616|0,(K|0)<=(a[A>>2]|0)))K=b+612|0,Ab(v,(a[K>>2]|0)+O|0,L),c&&(L=(E(N[C>>1]|0,M)|0)+O|0,O=a[G>>2]|0,O&524288?(M=L+8|0,(2147483639<(L|0)|8>(M|0)?0:(M|0)<=(a[A>>2]|0))?(Ab(f,(a[K>>2]|0)+L|0,8),A=a[G>>2]|0):(M=f,a[M>>2]=0,a[M+4>>2]=0,A=O),A&128&&kc(f)):(M=L+4|0,(2147483643<(L|0)|4>(M|0)?0:(M|0)<=(a[A>>2]|0))?(Ab(J,(a[K>>2]|0)+L|0,4),L=a[G>>2]|0):(a[J>>2]=0,L=O),L&128&&pb(J),
-O=f,a[O>>2]=a[J>>2],a[O+4>>2]=0));else return Y(a[b+628>>2]|0,135631,135898,h),ja(v),e=0,u=g,e|0}else{L=b+628|0;K=I;v=rb[a[b+640>>2]&63](a[L>>2]|0,a[K>>2]|0,a[K+4>>2]|0,0)|0;K=I;if((v|0)!=(a[K>>2]|0)||(U|0)!=(a[K+4>>2]|0))return K=a[L>>2]|0,a[Q>>2]=a[b>>2],Y(K,135631,140644,Q),e=0,u=g,e|0;K=b+632|0;v=a[K>>2]|0;A=a[L>>2]|0;if(a[G>>2]&524288){if(8!=(Aa[v&63](A,r,8)|0))return O=a[L>>2]|0,a[H>>2]=a[b>>2],Y(O,135631,140684,H),e=0,u=g,e|0;a[G>>2]&128&&kc(r);O=r;M=a[O>>2]|0;O=a[O+4>>2]|0;if(0<O>>>0|0==(O|
-0)&4096<M>>>0)return Y(a[L>>2]|0,135631,135650,B),e=0,u=g,e|0;O=M&65535;v=w[C>>1]=O;M=20}else{if(2!=(Aa[v&63](A,C,2)|0))return O=a[L>>2]|0,a[z>>2]=a[b>>2],Y(O,135631,140684,z),e=0,u=g,e|0;a[G>>2]&128&&ac(C);O=w[C>>1]|0;if(4096<(O&65535))return Y(a[L>>2]|0,135631,135650,ka),e=0,u=g,e|0;v=O;M=12}A=Mf(b,v&65535,M,135730)|0;if(!A)return e=0,u=g,e|0;v=E(N[C>>1]|0,M)|0;O=Aa[a[K>>2]&63](a[L>>2]|0,A,v)|0;if((O|0)!=(E(N[C>>1]|0,M)|0))return O=a[L>>2]|0,a[y>>2]=a[b>>2],Y(O,135631,135753,y),ja(A),e=0,u=g,e|
-0;c&&(O=a[K>>2]|0,v=a[L>>2]|0,a[G>>2]&524288?(8!=(Aa[O&63](v,f,8)|0)&&(M=f,a[M>>2]=0,a[M+4>>2]=0),a[G>>2]&128&&kc(f)):(4!=(Aa[O&63](v,V,4)|0)&&(a[V>>2]=0),a[G>>2]&128&&pb(V),v=f,a[v>>2]=a[V>>2],a[v+4>>2]=0));v=A}while(0);h=Mf(b,N[C>>1]|0,24,135730)|0;if(!h)return ja(v),u=g,0;if(w[C>>1]|0)for(b=v,J=h,f=0;!(L=a[G>>2]|0,L&128?(ac(b),d=a[G>>2]|0):d=L,w[J>>1]=w[b>>1]|0,L=b+2|0,d&128&&(ac(L),d=a[G>>2]|0),w[J+2>>1]=w[L>>1]|0,L=b+4|0,A=0!=(d&128|0),d&524288?(A&&kc(L),A=t[L>>0]|0,L=t[b+5>>0]|0,O=t[b+6>>0]|
-0,M=t[b+7>>0]|0,c=t[b+8>>0]|0,K=t[b+9>>0]|0,m=t[b+10>>0]|0,l=Oc(x[b+11>>0]|0,0,56)|0,k=U,Ed=Oc(m&255|0,0,48)|0,m=U,p=Oc(K&255|0,0,40)|0,K=U,n=Oc(M&255|0,0,24)|0,M=U,d=Oc(O&255|0,0,16)|0,O=U,q=Oc(L&255|0,0,8)|0,L=J+8|0,a[L>>2]=q|A&255|d|n|p|Ed|l,a[L+4>>2]=U|O|M|c&255|K|m|k,k=t[b+12>>0]|0,m=t[b+13>>0]|0,K=t[b+14>>0]|0,c=t[b+15>>0]|0,M=t[b+16>>0]|0,O=t[b+17>>0]|0,L=t[b+18>>0]|0,l=Oc(x[b+19>>0]|0,0,56)|0,Ed=U,p=Oc(L&255|0,0,48)|0,L=U,n=Oc(O&255|0,0,40)|0,O=U,d=Oc(c&255|0,0,24)|0,c=U,A=Oc(K&255|0,0,16)|
-0,K=U,q=Oc(m&255|0,0,8)|0,m=J+16|0,a[m>>2]=q|k&255|A|d|n|p|l,a[m+4>>2]=U|K|c|M&255|O|L|Ed,b=b+20|0):(A&&pb(L),O=J+8|0,a[O>>2]=a[L>>2],a[O+4>>2]=0,a[J+16>>2]=a[b+8>>2],b=b+12|0),f=f+1<<16>>16,(f&65535)>=(N[C>>1]|0));)J=J+24|0;ja(v);a[e>>2]=h;e=w[C>>1]|0;u=g;return e|0}function Ek(b,d,c){b|=0;d|=0;c|=0;var e=0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,ka=0,z=0,Q=0,C=0,r=0,V=0,v=0,J=0,I=0,G=0,L=0,K=0,E=0,A=0,O=0,M=0,T=0,X=0,P=0,Oa=0,F=0,R=0,ba=0,bf=0,S=0,Mg=0,ga=0,Ha=0,ma=0,da=0,ha=0,aa=0,pa=0,
-pc=0,Nb=0,Hd=0,Zc=0,oa=0,sa=0,Kc=0,ua=0,Ia=0,Da=0,na=0,Na=0,hf=0,Ca=0,Ga=0,Ea=0,La=0,Qa=0,Va=0,Wa=0,ub=0,xb=0,Zb=0,Gb=0,jb=0,mc=0,Kb=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,fe=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Pb=0,Ua=0,Vb=0,Jb=0,Yb=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,fc=0,Sb=0,nd=0,Zd=0,wb=0,db=0,Qd=0,zb=0,Ob=0,Tb=0,jc=0,$b=0,ec=0,lc=0,yc=0,Bc=0,Ec=0,nc=0,Gc=0,Cc=0,Hc=0,hc=0,Fc=
-0,vc=0,kd=0,Lc=0,Ic=0,Jc=0,zc=0,xc=0,oc=0,Oc=0,Wc=0,Ie=0,ic=0,Wd=0,Jd=0,bd=0,Uc=0,Rc=0,ad=0,Be=0,Vc=0,cd=0,dd=0,Pc=0,$c=0,hd=0,Bd=0,qd=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,cf=0,ld=0,Xc=0,rd=0,sd=0,Yc=0,wc=0,id=0,dc=0,Ac=0,Sc=0,Tc=0,md=0,td=0,Ce=0,vd=0,wd=0,pd=0,Nf=0,jd=0,ug=0,Ud=0,e=u;u=u+496|0;f=e+376|0;g=e+368|0;h=e+360|0;m=e+352|0;k=e+344|0;l=e+336|0;n=e+328|0;p=e+320|0;q=e+312|0;y=e+304|0;B=e+296|0;H=e+288|0;ka=e+280|0;z=e+272|0;Q=e+264|0;C=e+256|0;r=e+248|0;V=e+240|0;v=e+232|0;J=e+224|0;I=e+
-216|0;G=e+208|0;L=e+200|0;K=e+192|0;E=e+176|0;A=e+168|0;O=e+160|0;M=e+152|0;T=e+144|0;X=e+136|0;P=e+128|0;Oa=e+120|0;F=e+112|0;R=e+104|0;ba=e+96|0;bf=e+88|0;S=e+80|0;Mg=e+72|0;ga=e+64|0;Ha=e+484|0;ma=e+488|0;da=e+456|0;ha=e+32|0;aa=e+24|0;pa=e+16|0;pc=e+8|0;Nb=e;Hd=e+480|0;Zc=e+490|0;oa=e+476|0;sa=e+56|0;Kc=e+472|0;ua=e+48|0;Ia=e+40|0;Da=e+468|0;na=e+464|0;Na=e+460|0;hf=e+452|0;Ca=e+448|0;Ga=e+444|0;Ea=e+440|0;La=e+436|0;Qa=e+432|0;Va=e+428|0;Wa=e+424|0;ub=e+420|0;xb=e+416|0;Zb=e+412|0;Gb=e+408|0;
-jb=e+404|0;mc=e+400|0;Kb=e+396|0;Ta=e+392|0;Ya=e+388|0;Sa=e+384|0;mb=a[b+660>>2]|0;Db=w[d>>1]|0;a:do if(mb){cc=a[b+656>>2]|0;Za=Db&65535;ia=-1;for(qa=mb;;){Ja=(ia+qa|0)/2|0;ea=a[a[cc+(Ja<<2)>>2]>>2]|0;if((ea|0)==(Za|0)){wa=Ja;break}ia=(Ma=ea>>>0<Za>>>0)?Ja:ia;qa=Ma?qa:Ja;if((ia+1|0)==(qa|0))break a}for(;;){if(!wa){xa=0;break}qa=wa+-1|0;if((a[a[cc+(qa<<2)>>2]>>2]|0)==(Za|0))wa=qa;else{$a=wa;la=7;break}}if(7==(la|0))if(-1==($a|0))break;else xa=$a;(Za=a[cc+(xa<<2)>>2]|0)||Z(135060,133171,4711,135010);
-b:do switch(a[Za+16>>2]|0){case 51:Z(135072,133171,4712,135010);break;case 13:Z(135111,133171,4713,135010);break;case 0:la=835;break;case 1:t[Za+27>>0]|0&&Z(135148,133171,4722,135010);if(qa=Ka(b,d,Hd)|0)hb=qa,la=837;else{ia=d+8|0;Ja=a[ia>>2]|0;c:do if(Ja)for(Ma=a[Hd>>2]|0,ea=0;;){if(!(t[Ma>>0]|0)){Ba=ea;break c}va=ea+1|0;if(va>>>0<Ja>>>0)Ma=Ma+1|0,ea=va;else{Ba=va;break}}else Ba=0;while(0);ea=Ba+1|0;do{if(ea>>>0>=Ja>>>0){if(ea>>>0>Ja>>>0){Ma=a[b+628>>2]|0;a[bf>>2]=a[Za+28>>2];Wb(Ma,135010,135303,
-bf);Ma=ia;va=a[Ma>>2]|0;za=va+1|0;ta=Qb(va|0,a[Ma+4>>2]|0,1,0)|0;if((za|0)==(ta|0)&0==(U|0))if(ta=eb(za)|0,za=a[Hd>>2]|0,ta){Ab(ta,za,a[ia>>2]|0);t[ta+(a[ia>>2]|0)>>0]=0;za&&ja(za);sc=a[Hd>>2]=ta;break}else nb=za;else nb=a[Hd>>2]|0;if(!nb)return gb=0,u=e,gb|0;ja(nb);gb=0;u=e;return gb|0}}else ta=a[b+628>>2]|0,a[S>>2]=a[Za+28>>2],Wb(ta,135010,135172,S);la=32}while(0);32==(la|0)&&(sc=a[Hd>>2]|0);ia=N[d>>1]|0;a[ba>>2]=sc;Ja=lb(b,ia,ba)|0;sc&&ja(sc);if(Ja)la=836;else return gb=0,u=e,gb|0}break;case 2:1!=
-(w[Za+4>>1]|0)&&Z(135354,133171,4771,135010);t[Za+27>>0]|0&&Z(135148,133171,4772,135010);Ja=d+8|0;c:do if(1==(a[Ja>>2]|0)&0==(a[Ja+4>>2]|0))switch(N[d+2>>1]|0){case 1:ob=0;Bb=t[d+16>>0]|0;break c;case 6:ia=t[d+16>>0]|0;ob=(ea=-1<ia<<24>>24)?0:4;Bb=ea?ia:0;break c;case 3:ia=a[b+12>>2]|0;ea=w[d+16>>1]|0;w[Ha>>1]=ea;ia&128?(ac(Ha),qb=w[Ha>>1]|0):qb=ea;ob=(ea=256>(qb&65535))?0:4;Bb=ea?qb&255:0;break c;case 8:ea=a[b+12>>2]|0;ia=w[d+16>>1]|0;w[ma>>1]=ia;ea&128?(ac(ma),kb=w[ma>>1]|0):kb=ia;ob=(ia=256>(kb&
-65535))?0:4;Bb=ia?kb&255:0;break c;case 4:ia=a[d+16>>2]|0;a[da>>2]=ia;a[b+12>>2]&128?(pb(da),ib=a[da>>2]|0):ib=ia;ob=(ia=256>ib>>>0)?0:4;Bb=ia?ib&255:0;break c;case 9:ia=a[d+16>>2]|0;a[ha>>2]=ia;a[b+12>>2]&128?(pb(ha),Cb=a[ha>>2]|0):Cb=ia;ob=(ia=256>Cb>>>0)?0:4;Bb=ia?Cb&255:0;break c;case 16:ia=b+12|0;ea=a[ia>>2]|0;ta=d+16|0;do if(ea&524288)za=ta,Ma=a[za+4>>2]|0,va=aa,a[va>>2]=a[za>>2],a[va+4>>2]=Ma,Xa=ea;else if(za=a[ta>>2]|0,a[ga>>2]=za,ea&128?(pb(ga),fe=a[ia>>2]|0,sb=a[ga>>2]|0):(fe=ea,sb=za),
-fe&2048?4294967287>=sb>>>0&&(sb+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(aa,(a[b+612>>2]|0)+sb|0,8),la=65):la=69:(za=b+628|0,Ma=rb[a[b+640>>2]&63](a[za>>2]|0,sb,0,0)|0,la=(Ma|0)==(sb|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[za>>2]|0,aa,8)|0)?65:69),65==(la|0))Xa=a[ia>>2]|0;else if(69==(la|0)){ob=3;Bb=0;break c}while(0);Xa&128&&kc(aa);ea=aa;ta=a[ea>>2]|0;ia=a[ea+4>>2]|0;ob=(ea=0>ia>>>0|0==(ia|0)&256>ta>>>0)?0:4;Bb=ea?ta&255:0;break c;case 17:ta=b+12|0;ea=a[ta>>2]|0;ia=d+16|0;do if(ea&524288)Ma=ia,va=a[Ma+4>>
-2]|0,za=pa,a[za>>2]=a[Ma>>2],a[za+4>>2]=va,Eb=ea;else if(Ma=a[ia>>2]|0,a[ga>>2]=Ma,ea&128?(pb(ga),Fa=a[ta>>2]|0,Pa=a[ga>>2]|0):(Fa=ea,Pa=Ma),Fa&2048?4294967287>=Pa>>>0&&(Pa+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(pa,(a[b+612>>2]|0)+Pa|0,8),la=80):la=84:(Ma=b+628|0,va=rb[a[b+640>>2]&63](a[Ma>>2]|0,Pa,0,0)|0,la=(va|0)==(Pa|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[Ma>>2]|0,pa,8)|0)?80:84),80==(la|0))Eb=a[ta>>2]|0;else if(84==(la|0)){ob=3;Bb=0;break c}while(0);Eb&128&&kc(pa);ea=pa;ia=a[ea>>2]|0;ta=a[ea+4>>2]|
-0;ob=(ea=0>ta>>>0|0==(ta|0)&256>ia>>>0)?0:4;Bb=ea?ia&255:0;break c;default:ob=2;Bb=0;break c}else ob=1,Bb=0;while(0);if(ob)hb=ob,la=837;else if(Ja=N[d>>1]|0,a[R>>2]=Bb&255,lb(b,Ja,R)|0)la=835;else return gb=0,u=e,gb|0;break;case 4:1!=(w[Za+4>>1]|0)&&Z(135354,133171,4784,135010);t[Za+27>>0]|0&&Z(135148,133171,4785,135010);if(Ja=aj(b,d,Zc)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,a[F>>2]=N[Zc>>1],lb(b,qa,F)|0)la=835;else return gb=0,u=e,gb|0;break;case 6:1!=(w[Za+4>>1]|0)&&Z(135354,133171,4797,135010);t[Za+
-27>>0]|0&&Z(135148,133171,4798,135010);Ja=d+8|0;c:do if(1==(a[Ja>>2]|0)&0==(a[Ja+4>>2]|0))switch(N[d+2>>1]|0){case 1:a[oa>>2]=x[d+16>>0];vb=0;break c;case 6:qa=t[d+16>>0]|0;if(-1>=qa<<24>>24){vb=4;break c}a[oa>>2]=qa<<24>>24;vb=0;break c;case 3:qa=a[b+12>>2]|0;ia=w[d+16>>1]|0;w[Ha>>1]=ia;qa&128?(ac(Ha),tb=w[Ha>>1]|0):tb=ia;a[oa>>2]=tb&65535;vb=0;break c;case 8:ia=a[b+12>>2]|0;qa=w[d+16>>1]|0;w[ma>>1]=qa;ia&128?(ac(ma),bb=w[ma>>1]|0):bb=qa;if(-1>=bb<<16>>16){vb=4;break c}a[oa>>2]=bb<<16>>16;vb=0;break c;
-case 4:a[oa>>2]=a[d+16>>2];if(!(a[b+12>>2]&128)){vb=0;break c}pb(oa);vb=0;break c;case 9:qa=a[d+16>>2]|0;a[da>>2]=qa;a[b+12>>2]&128?(pb(da),Ib=a[da>>2]|0):Ib=qa;if(qa=Ib>>31&4){vb=qa;break c}a[oa>>2]=Ib;vb=0;break c;case 16:qa=b+12|0;ia=a[qa>>2]|0;ea=d+16|0;do if(ia&524288)ta=ea,va=a[ta+4>>2]|0,za=ha,a[za>>2]=a[ta>>2],a[za+4>>2]=va,Ua=ia;else if(ta=a[ea>>2]|0,a[ga>>2]=ta,ia&128?(pb(ga),Mb=a[qa>>2]|0,Pb=a[ga>>2]|0):(Mb=ia,Pb=ta),Mb&2048?4294967287>=Pb>>>0&&(Pb+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(ha,
-(a[b+612>>2]|0)+Pb|0,8),la=125):la=129:(ta=b+628|0,va=rb[a[b+640>>2]&63](a[ta>>2]|0,Pb,0,0)|0,la=(va|0)==(Pb|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[ta>>2]|0,ha,8)|0)?125:129),125==(la|0))Ua=a[qa>>2]|0;else if(129==(la|0)){vb=3;break c}while(0);Ua&128&&kc(ha);ia=ha;ea=a[ia>>2]|0;qa=a[ia+4>>2]|0;if(!(1>qa>>>0|1==(qa|0)&0>ea>>>0)){vb=4;break c}a[oa>>2]=ea;vb=0;break c;case 17:ea=b+12|0;qa=a[ea>>2]|0;ia=d+16|0;do if(qa&524288)va=ia,za=a[va+4>>2]|0,ta=aa,a[ta>>2]=a[va>>2],a[ta+4>>2]=za,Yb=qa;else if(va=
-a[ia>>2]|0,a[ga>>2]=va,qa&128?(pb(ga),Vb=a[ea>>2]|0,Jb=a[ga>>2]|0):(Vb=qa,Jb=va),Vb&2048?4294967287>=Jb>>>0&&(Jb+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(aa,(a[b+612>>2]|0)+Jb|0,8),la=141):la=145:(va=b+628|0,za=rb[a[b+640>>2]&63](a[va>>2]|0,Jb,0,0)|0,la=(za|0)==(Jb|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[va>>2]|0,aa,8)|0)?141:145),141==(la|0))Yb=a[ea>>2]|0;else if(145==(la|0)){vb=3;break c}while(0);Yb&128&&kc(aa);qa=aa;ia=a[qa>>2]|0;ea=a[qa+4>>2]|0;if(!(1>ea>>>0|1==(ea|0)&0>ia>>>0)){vb=4;break c}a[oa>>2]=
-ia;vb=0;break c;default:vb=2;break c}else vb=1;while(0);if(vb)hb=vb,la=837;else if(Ja=N[d>>1]|0,a[Oa>>2]=a[oa>>2],lb(b,Ja,Oa)|0)la=835;else return gb=0,u=e,gb|0;break;case 8:1!=(w[Za+4>>1]|0)&&Z(135354,133171,4810,135010);t[Za+27>>0]|0&&Z(135148,133171,4811,135010);Ja=d+8|0;c:do if(1==(a[Ja>>2]|0)&0==(a[Ja+4>>2]|0))switch(N[d+2>>1]|0){case 1:ia=sa;a[ia>>2]=x[d+16>>0];yb=a[ia+4>>2]=0;break c;case 6:ia=t[d+16>>0]|0;if(-1>=ia<<24>>24){yb=4;break c}ea=ia<<24>>24;ia=sa;a[ia>>2]=ea;a[ia+4>>2]=(0>(ea|0))<<
-31>>31;yb=0;break c;case 3:ea=a[b+12>>2]|0;ia=w[d+16>>1]|0;w[Ha>>1]=ia;ea&128?(ac(Ha),cb=w[Ha>>1]|0):cb=ia;ia=sa;a[ia>>2]=cb&65535;yb=a[ia+4>>2]=0;break c;case 8:ia=a[b+12>>2]|0;ea=w[d+16>>1]|0;w[ma>>1]=ea;ia&128?(ac(ma),gc=w[ma>>1]|0):gc=ea;if(-1>=gc<<16>>16){yb=4;break c}ea=gc<<16>>16;ia=sa;a[ia>>2]=ea;a[ia+4>>2]=(0>(ea|0))<<31>>31;yb=0;break c;case 4:ea=a[d+16>>2]|0;a[da>>2]=ea;a[b+12>>2]&128?(pb(da),Ub=a[da>>2]|0):Ub=ea;ea=sa;a[ea>>2]=Ub;yb=a[ea+4>>2]=0;break c;case 9:ea=a[d+16>>2]|0;a[ha>>2]=
-ea;a[b+12>>2]&128?(pb(ha),Fb=a[ha>>2]|0):Fb=ea;if(ea=Fb>>31&4){yb=ea;break c}ea=sa;a[ea>>2]=Fb;a[ea+4>>2]=(0>(Fb|0))<<31>>31;yb=0;break c;case 16:ea=b+12|0;ia=a[ea>>2]|0;qa=d+16|0;do{if(ia&524288)za=qa,ta=a[za+4>>2]|0,va=sa,a[va>>2]=a[za>>2],a[va+4>>2]=ta,Zd=ia;else{za=a[qa>>2]|0;a[ga>>2]=za;ia&128?(pb(ga),fc=a[ea>>2]|0,Sb=a[ga>>2]|0):(fc=ia,Sb=za);if(fc&2048){if(4294967287<Sb>>>0){nd=3;break}if((Sb+8|0)>>>0>(a[b+616>>2]|0)>>>0){nd=3;break}Ab(sa,(a[b+612>>2]|0)+Sb|0,8)}else{za=b+628|0;ta=rb[a[b+640>>
-2]&63](a[za>>2]|0,Sb,0,0)|0;if(!((ta|0)==(Sb|0)&0==(U|0))){nd=3;break}if(8!=(Aa[a[b+632>>2]&63](a[za>>2]|0,sa,8)|0)){nd=3;break}}Zd=a[ea>>2]|0}la=184}while(0);184==(la|0)&&(Zd&128&&kc(sa),nd=0);yb=nd;break c;case 17:ia=b+12|0;qa=a[ia>>2]|0;ea=d+16|0;do if(qa&524288)ta=ea,va=a[ta+4>>2]|0,za=aa,a[za>>2]=a[ta>>2],a[za+4>>2]=va,Qd=qa;else if(ta=a[ea>>2]|0,a[ga>>2]=ta,qa&128?(pb(ga),wb=a[ia>>2]|0,db=a[ga>>2]|0):(wb=qa,db=ta),wb&2048?4294967287>=db>>>0&&(db+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(aa,(a[b+612>>
-2]|0)+db|0,8),la=196):la=200:(ta=b+628|0,va=rb[a[b+640>>2]&63](a[ta>>2]|0,db,0,0)|0,la=(va|0)==(db|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[ta>>2]|0,aa,8)|0)?196:200),196==(la|0))Qd=a[ia>>2]|0;else if(200==(la|0)){yb=3;break c}while(0);Qd&128&&kc(aa);qa=aa;ea=a[qa>>2]|0;ia=a[qa+4>>2]|0;if(!(-1<(ia|0)|-1==(ia|0)&4294967295<ea>>>0)){yb=4;break c}qa=sa;a[qa>>2]=ea;a[qa+4>>2]=ia;yb=0;break c;default:yb=2;break c}else yb=1;while(0);if(yb)hb=yb,la=837;else if(Ja=N[d>>1]|0,ia=sa,qa=a[ia+4>>2]|0,ea=P,a[ea>>
-2]=a[ia>>2],a[ea+4>>2]=qa,lb(b,Ja,P)|0)la=835;else return gb=0,u=e,gb|0;break;case 10:1!=(w[Za+4>>1]|0)&&Z(135354,133171,4823,135010);t[Za+27>>0]|0&&Z(135148,133171,4824,135010);Ja=d+8|0;c:do if(1==(a[Ja>>2]|0)&0==(a[Ja+4>>2]|0)){do switch(N[d+2>>1]|0){case 1:W[Kc>>2]=+(x[d+16>>0]|0);zb=0;break c;case 6:W[Kc>>2]=+(t[d+16>>0]|0);zb=0;break c;case 3:qa=a[b+12>>2]|0;ea=w[d+16>>1]|0;w[ma>>1]=ea;qa&128?(ac(ma),Ob=w[ma>>1]|0):Ob=ea;W[Kc>>2]=+(Ob&65535);zb=0;break c;case 8:ea=a[b+12>>2]|0;qa=w[d+16>>1]|
-0;w[da>>1]=qa;ea&128?(ac(da),Tb=w[da>>1]|0):Tb=qa;W[Kc>>2]=+(Tb<<16>>16);zb=0;break c;case 4:qa=a[d+16>>2]|0;a[ha>>2]=qa;a[b+12>>2]&128?(pb(ha),jc=a[ha>>2]|0):jc=qa;W[Kc>>2]=+(jc>>>0);zb=0;break c;case 9:qa=a[d+16>>2]|0;a[aa>>2]=qa;a[b+12>>2]&128?(pb(aa),$b=a[aa>>2]|0):$b=qa;W[Kc>>2]=+($b|0);zb=0;break c;case 16:qa=b+12|0;ea=a[qa>>2]|0;ia=d+16|0;do if(ea&524288)va=ia,za=a[va+4>>2]|0,ta=pa,a[ta>>2]=a[va>>2],a[ta+4>>2]=za,yc=ea;else if(va=a[ia>>2]|0,a[ga>>2]=va,ea&128?(pb(ga),ec=a[qa>>2]|0,lc=a[ga>>
-2]|0):(ec=ea,lc=va),ec&2048?4294967287>=lc>>>0&&(lc+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(pa,(a[b+612>>2]|0)+lc|0,8),la=234):la=238:(va=b+628|0,za=rb[a[b+640>>2]&63](a[va>>2]|0,lc,0,0)|0,la=(za|0)==(lc|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[va>>2]|0,pa,8)|0)?234:238),234==(la|0))yc=a[qa>>2]|0;else if(238==(la|0)){zb=3;break c}while(0);yc&128&&kc(pa);ea=pa;W[Kc>>2]=+((a[ea>>2]|0)>>>0)+4294967296*+((a[ea+4>>2]|0)>>>0);zb=0;break c;case 17:ea=b+12|0;ia=a[ea>>2]|0;qa=d+16|0;do if(ia&524288)za=qa,ta=a[za+4>>
-2]|0,va=pc,a[va>>2]=a[za>>2],a[va+4>>2]=ta,nc=ia;else if(za=a[qa>>2]|0,a[ga>>2]=za,ia&128?(pb(ga),Bc=a[ea>>2]|0,Ec=a[ga>>2]|0):(Bc=ia,Ec=za),Bc&2048?4294967287>=Ec>>>0&&(Ec+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(pc,(a[b+612>>2]|0)+Ec|0,8),la=249):la=253:(za=b+628|0,ta=rb[a[b+640>>2]&63](a[za>>2]|0,Ec,0,0)|0,la=(ta|0)==(Ec|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[za>>2]|0,pc,8)|0)?249:253),249==(la|0))nc=a[ea>>2]|0;else if(253==(la|0)){zb=3;break c}while(0);nc&128&&kc(pc);ia=pc;W[Kc>>2]=+((a[ia>>2]|0)>>>0)+
-4294967296*+(a[ia+4>>2]|0);zb=0;break c;case 5:ia=b+12|0;qa=a[ia>>2]|0;ea=d+16|0;do if(qa&524288)ta=ea,va=a[ta+4>>2]|0,za=ga,a[za>>2]=a[ta>>2],a[za+4>>2]=va,Hc=qa;else if(ta=a[ea>>2]|0,a[Ha>>2]=ta,qa&128?(pb(Ha),Gc=a[ia>>2]|0,Cc=a[Ha>>2]|0):(Gc=qa,Cc=ta),Gc&2048?4294967287>=Cc>>>0&&(Cc+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(ga,(a[b+612>>2]|0)+Cc|0,8),la=264):la=270:(ta=b+628|0,va=rb[a[b+640>>2]&63](a[ta>>2]|0,Cc,0,0)|0,la=(va|0)==(Cc|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[ta>>2]|0,ga,8)|0)?264:270),264==
-(la|0))Hc=a[ia>>2]|0;else if(270==(la|0)){zb=3;break c}while(0);Hc&128&&Id(ga,2);hc=(qa=a[ga>>2]|0)?+(qa>>>0)/+((a[ga+4>>2]|0)>>>0):0;W[Kc>>2]=hc;zb=0;break c;case 10:qa=b+12|0;ea=a[qa>>2]|0;ia=d+16|0;do if(ea&524288)va=ia,za=a[va+4>>2]|0,ta=ga,a[ta>>2]=a[va>>2],a[ta+4>>2]=za,kd=ea;else if(va=a[ia>>2]|0,a[Ha>>2]=va,ea&128?(pb(Ha),Fc=a[qa>>2]|0,vc=a[Ha>>2]|0):(Fc=ea,vc=va),Fc&2048?4294967287>=vc>>>0&&(vc+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(ga,(a[b+612>>2]|0)+vc|0,8),la=281):la=287:(va=b+628|0,za=rb[a[b+
-640>>2]&63](a[va>>2]|0,vc,0,0)|0,la=(za|0)==(vc|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[va>>2]|0,ga,8)|0)?281:287),281==(la|0))kd=a[qa>>2]|0;else if(287==(la|0)){zb=3;break c}while(0);kd&128&&Id(ga,2);Lc=(ea=a[ga>>2]|0)?+(ea|0)/+((a[ga+4>>2]|0)>>>0):0;W[Kc>>2]=Lc;zb=0;break c;case 11:ea=a[b+12>>2]|0;a[Kc>>2]=a[d+16>>2];if(!(ea&128)){zb=0;break c}pb(Kc);zb=0;break c;case 12:ea=b+12|0;ia=a[ea>>2]|0;qa=d+16|0;do if(ia&524288)Hb[Nb>>3]=+Hb[qa>>3],zc=ia;else if(za=a[qa>>2]|0,a[ga>>2]=za,ia&128?(pb(ga),Ic=
-a[ea>>2]|0,Jc=a[ga>>2]|0):(Ic=ia,Jc=za),Ic&2048?4294967287>=Jc>>>0&&(Jc+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(Nb,(a[b+612>>2]|0)+Jc|0,8),la=300):la=304:(za=b+628|0,ta=rb[a[b+640>>2]&63](a[za>>2]|0,Jc,0,0)|0,la=(ta|0)==(Jc|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[za>>2]|0,Nb,8)|0)?300:304),300==(la|0))zc=a[ea>>2]|0;else if(304==(la|0)){zb=3;break c}while(0);zc&128&&kc(Nb);W[Kc>>2]=+Hb[Nb>>3];zb=0;break c;default:zb=2;break c}while(0)}else zb=1;while(0);if(zb)hb=zb,la=837;else if(Ja=N[d>>1]|0,Hb[X>>3]=+W[Kc>>
-2],lb(b,Ja,X)|0)la=835;else return gb=0,u=e,gb|0;break;case 11:1!=(w[Za+4>>1]|0)&&Z(135354,133171,4836,135010);t[Za+27>>0]|0&&Z(135148,133171,4837,135010);Ja=d+8|0;c:do if(1==(a[Ja>>2]|0)&0==(a[Ja+4>>2]|0)){do switch(N[d+2>>1]|0){case 1:Hb[ua>>3]=+(x[d+16>>0]|0);xc=0;break c;case 6:Hb[ua>>3]=+(t[d+16>>0]|0);xc=0;break c;case 3:ia=a[b+12>>2]|0;qa=w[d+16>>1]|0;w[ma>>1]=qa;ia&128?(ac(ma),oc=w[ma>>1]|0):oc=qa;Hb[ua>>3]=+(oc&65535);xc=0;break c;case 8:qa=a[b+12>>2]|0;ia=w[d+16>>1]|0;w[da>>1]=ia;qa&128?
-(ac(da),Oc=w[da>>1]|0):Oc=ia;Hb[ua>>3]=+(Oc<<16>>16);xc=0;break c;case 4:ia=a[d+16>>2]|0;a[ha>>2]=ia;a[b+12>>2]&128?(pb(ha),Wc=a[ha>>2]|0):Wc=ia;Hb[ua>>3]=+(Wc>>>0);xc=0;break c;case 9:ia=a[d+16>>2]|0;a[aa>>2]=ia;a[b+12>>2]&128?(pb(aa),Ie=a[aa>>2]|0):Ie=ia;Hb[ua>>3]=+(Ie|0);xc=0;break c;case 16:ia=b+12|0;qa=a[ia>>2]|0;ea=d+16|0;do if(qa&524288)za=ea,ta=a[za+4>>2]|0,va=pa,a[va>>2]=a[za>>2],a[va+4>>2]=ta,Jd=qa;else if(za=a[ea>>2]|0,a[ga>>2]=za,qa&128?(pb(ga),ic=a[ia>>2]|0,Wd=a[ga>>2]|0):(ic=qa,Wd=za),
-ic&2048?4294967287>=Wd>>>0&&(Wd+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(pa,(a[b+612>>2]|0)+Wd|0,8),la=337):la=341:(za=b+628|0,ta=rb[a[b+640>>2]&63](a[za>>2]|0,Wd,0,0)|0,la=(ta|0)==(Wd|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[za>>2]|0,pa,8)|0)?337:341),337==(la|0))Jd=a[ia>>2]|0;else if(341==(la|0)){xc=3;break c}while(0);Jd&128&&kc(pa);qa=pa;Hb[ua>>3]=+((a[qa>>2]|0)>>>0)+4294967296*+((a[qa+4>>2]|0)>>>0);xc=0;break c;case 17:qa=b+12|0;ea=a[qa>>2]|0;ia=d+16|0;do if(ea&524288)ta=ia,va=a[ta+4>>2]|0,za=pc,a[za>>
-2]=a[ta>>2],a[za+4>>2]=va,Rc=ea;else if(ta=a[ia>>2]|0,a[ga>>2]=ta,ea&128?(pb(ga),bd=a[qa>>2]|0,Uc=a[ga>>2]|0):(bd=ea,Uc=ta),bd&2048?4294967287>=Uc>>>0&&(Uc+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(pc,(a[b+612>>2]|0)+Uc|0,8),la=352):la=356:(ta=b+628|0,va=rb[a[b+640>>2]&63](a[ta>>2]|0,Uc,0,0)|0,la=(va|0)==(Uc|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[ta>>2]|0,pc,8)|0)?352:356),352==(la|0))Rc=a[qa>>2]|0;else if(356==(la|0)){xc=3;break c}while(0);Rc&128&&kc(pc);ea=pc;Hb[ua>>3]=+((a[ea>>2]|0)>>>0)+4294967296*+(a[ea+
-4>>2]|0);xc=0;break c;case 5:ea=b+12|0;ia=a[ea>>2]|0;qa=d+16|0;do{if(ia&524288)va=qa,za=a[va+4>>2]|0,ta=ga,a[ta>>2]=a[va>>2],a[ta+4>>2]=za,cd=ia;else{va=a[qa>>2]|0;a[Ha>>2]=va;ia&128?(pb(Ha),ad=a[ea>>2]|0,Be=a[Ha>>2]|0):(ad=ia,Be=va);if(ad&2048){if(4294967287<Be>>>0){Vc=3;break}if((Be+8|0)>>>0>(a[b+616>>2]|0)>>>0){Vc=3;break}Ab(ga,(a[b+612>>2]|0)+Be|0,8)}else{va=b+628|0;za=rb[a[b+640>>2]&63](a[va>>2]|0,Be,0,0)|0;if(!((za|0)==(Be|0)&0==(U|0))){Vc=3;break}if(8!=(Aa[a[b+632>>2]&63](a[va>>2]|0,ga,8)|
-0)){Vc=3;break}}cd=a[ea>>2]|0}la=369}while(0);369==(la|0)&&(cd&128&&Id(ga,2),dd=(ia=a[ga>>2]|0)?+(ia>>>0)/+((a[ga+4>>2]|0)>>>0):0,Hb[ua>>3]=dd,Vc=0);xc=Vc;break c;case 10:ia=b+12|0;qa=a[ia>>2]|0;ea=d+16|0;do{if(qa&524288)za=ea,ta=a[za+4>>2]|0,va=ga,a[va>>2]=a[za>>2],a[va+4>>2]=ta,Bd=qa;else{za=a[ea>>2]|0;a[Ha>>2]=za;qa&128?(pb(Ha),Pc=a[ia>>2]|0,$c=a[Ha>>2]|0):(Pc=qa,$c=za);if(Pc&2048){if(4294967287<$c>>>0){hd=3;break}if(($c+8|0)>>>0>(a[b+616>>2]|0)>>>0){hd=3;break}Ab(ga,(a[b+612>>2]|0)+$c|0,8)}else{za=
-b+628|0;ta=rb[a[b+640>>2]&63](a[za>>2]|0,$c,0,0)|0;if(!((ta|0)==($c|0)&0==(U|0))){hd=3;break}if(8!=(Aa[a[b+632>>2]&63](a[za>>2]|0,ga,8)|0)){hd=3;break}}Bd=a[ia>>2]|0}la=386}while(0);386==(la|0)&&(Bd&128&&Id(ga,2),qd=(qa=a[ga>>2]|0)?+(qa|0)/+((a[ga+4>>2]|0)>>>0):0,Hb[ua>>3]=qd,hd=0);xc=hd;break c;case 11:qa=a[b+12>>2]|0;ea=a[d+16>>2]|0;a[Nb>>2]=ea;qa&128?(pb(Nb),Rb=+W[Nb>>2]):Rb=(a[Qc>>2]=ea,+W[Qc>>2]);Hb[ua>>3]=Rb;xc=0;break c;case 12:ea=b+12|0;qa=a[ea>>2]|0;ia=d+16|0;do{if(qa&524288)Hb[ua>>3]=+Hb[ia>>
-3],rc=qa;else{ta=a[ia>>2]|0;a[ga>>2]=ta;qa&128?(pb(ga),od=a[ea>>2]|0,tc=a[ga>>2]|0):(od=qa,tc=ta);if(od&2048){if(4294967287<tc>>>0){Xb=3;break}if((tc+8|0)>>>0>(a[b+616>>2]|0)>>>0){Xb=3;break}Ab(ua,(a[b+612>>2]|0)+tc|0,8)}else{ta=b+628|0;va=rb[a[b+640>>2]&63](a[ta>>2]|0,tc,0,0)|0;if(!((va|0)==(tc|0)&0==(U|0))){Xb=3;break}if(8!=(Aa[a[b+632>>2]&63](a[ta>>2]|0,ua,8)|0)){Xb=3;break}}rc=a[ea>>2]|0}la=406}while(0);406==(la|0)&&(rc&128&&kc(ua),Xb=0);xc=Xb;break c;default:xc=2;break c}while(0)}else xc=1;while(0);
-if(xc)hb=xc,la=837;else if(Ja=N[d>>1]|0,Hb[T>>3]=+Hb[ua>>3],lb(b,Ja,T)|0)la=835;else return gb=0,u=e,gb|0;break;case 12:1!=(w[Za+4>>1]|0)&&Z(135354,133171,4849,135010);t[Za+27>>0]|0&&Z(135148,133171,4850,135010);Ja=d+8|0;c:do{if(1==(a[Ja>>2]|0)&0==(a[Ja+4>>2]|0)){switch(N[d+2>>1]|0){case 13:case 4:qa=a[d+16>>2]|0;a[Ha>>2]=qa;a[b+12>>2]&128?(pb(Ha),ed=a[Ha>>2]|0):ed=qa;qa=Ia;a[qa>>2]=ed;a[qa+4>>2]=0;gd=ed;cf=0;break;case 18:case 16:qa=b+12|0;ia=a[qa>>2]|0;ea=d+16|0;do if(ia&524288)ta=ea,va=a[ta+4>>
-2]|0,za=Ia,a[za>>2]=a[ta>>2],a[za+4>>2]=va,rd=ia;else if(ta=a[ea>>2]|0,a[ga>>2]=ta,ia&128?(pb(ga),ld=a[qa>>2]|0,Xc=a[ga>>2]|0):(ld=ia,Xc=ta),ld&2048?4294967287>=Xc>>>0&&(Xc+8|0)>>>0<=(a[b+616>>2]|0)>>>0?(Ab(Ia,(a[b+612>>2]|0)+Xc|0,8),la=429):la=434:(ta=b+628|0,va=rb[a[b+640>>2]&63](a[ta>>2]|0,Xc,0,0)|0,la=(va|0)==(Xc|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[ta>>2]|0,Ia,8)|0)?429:434),429==(la|0))rd=a[qa>>2]|0;else if(434==(la|0)){hb=3;la=837;break b}while(0);rd&128&&kc(Ia);ia=Ia;gd=a[ia>>2]|0;cf=a[ia+
-4>>2]|0;break;default:sd=2;break c}ia=N[d>>1]|0;ea=M;a[ea>>2]=gd;a[ea+4>>2]=cf;if(lb(b,ia,M)|0){la=835;break b}else gb=0;u=e;return gb|0}sd=1}while(0);hb=sd;la=837;break;case 14:2!=(w[Za+4>>1]|0)&&Z(135378,133171,4862,135010);t[Za+27>>0]|0&&Z(135148,133171,4863,135010);Ja=d+8|0;ia=a[Ja>>2]|0;if(!(2==(ia|0)&0==(a[Ja+4>>2]|0)))return Ja=a[b+628>>2]|0,a[O>>2]=a[Za+28>>2],a[O+4>>2]=ia,Wb(Ja,135010,135402,O),gb=0,u=e,gb|0;if(Ja=lh(b,d,Da)|0)hb=Ja,la=837;else if(ia=N[d>>1]|0,ea=a[Da>>2]|0,qa=N[ea+2>>1]|
-0,a[A>>2]=N[ea>>1],a[A+4>>2]=qa,qa=lb(b,ia,A)|0,ja(ea),qa)la=835;else return gb=0,u=e,gb|0;break;case 16:Ja=w[Za+4>>1]|0;0>=Ja<<16>>16&&Z(135453,133171,4884,135010);t[Za+27>>0]|0&&Z(135148,133171,4885,135010);qa=d+8|0;ea=a[qa>>2]|0;ia=Ja<<16>>16;if((ea|0)!=(ia|0)||(a[qa+4>>2]|0)!=((0>(ia|0))<<31>>31|0))return ia=a[b+628>>2]|0,a[E>>2]=a[Za+28>>2],a[E+4>>2]=Ja<<16>>16,a[E+8>>2]=ea,Wb(ia,135010,135477,E),gb=0,u=e,gb|0;if(ia=Ka(b,d,na)|0)hb=ia,la=837;else if(ea=N[d>>1]|0,Ja=a[na>>2]|0,a[K>>2]=Ja,qa=lb(b,
-ea,K)|0,Ja&&ja(Ja),qa)la=836;else return gb=0,u=e,gb|0;break;case 18:ia=w[Za+4>>1]|0;0>=ia<<16>>16&&Z(135453,133171,4910,135010);t[Za+27>>0]|0&&Z(135148,133171,4911,135010);qa=d+8|0;Ja=ia<<16>>16;if((a[qa>>2]|0)==(Ja|0)&&(a[qa+4>>2]|0)==((0>(Ja|0))<<31>>31|0))if(Ja=lh(b,d,Na)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,ia=a[Na>>2]|0,a[L>>2]=ia,ea=lb(b,qa,L)|0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;else la=835;break;case 20:Ja=w[Za+4>>1]|0;0>=Ja<<16>>16&&Z(135453,133171,4932,135010);t[Za+27>>0]|0&&
-Z(135148,133171,4933,135010);ea=d+8|0;ia=Ja<<16>>16;if((a[ea>>2]|0)==(ia|0)&&(a[ea+4>>2]|0)==((0>(ia|0))<<31>>31|0))if(ia=ab(b,d,hf)|0)hb=ia,la=837;else if(ea=N[d>>1]|0,Ja=a[hf>>2]|0,a[G>>2]=Ja,qa=lb(b,ea,G)|0,Ja&&ja(Ja),qa)la=836;else return gb=0,u=e,gb|0;else la=835;break;case 24:ia=w[Za+4>>1]|0;0>=ia<<16>>16&&Z(135453,133171,4954,135010);t[Za+27>>0]|0&&Z(135148,133171,4955,135010);qa=d+8|0;Ja=ia<<16>>16;if((a[qa>>2]|0)==(Ja|0)&&(a[qa+4>>2]|0)==((0>(Ja|0))<<31>>31|0))if(Ja=fb(b,d,Ca)|0)hb=Ja,la=
-837;else if(qa=N[d>>1]|0,ia=a[Ca>>2]|0,a[I>>2]=ia,ea=lb(b,qa,I)|0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;else la=835;break;case 27:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,4976,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,4977,135010);ea=Ja=d+8|0;ia=a[ea+4>>2]|0;if(0<ia>>>0|0==(ia|0)&65535<(a[ea>>2]|0)>>>0)hb=1,la=837;else if(ea=Ka(b,d,Ga)|0)hb=ea,la=837;else if(ia=N[d>>1]|0,qa=a[Ga>>2]|0,a[J>>2]=a[Ja>>2]&65535,a[J+4>>2]=qa,Ja=lb(b,ia,J)|0,qa&&ja(qa),Ja)la=836;else return gb=0,u=e,gb|0;break;case 28:-1!=
-(w[Za+4>>1]|0)&&Z(135529,133171,4998,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,4999,135010);Ja=ea=d+8|0;qa=a[Ja+4>>2]|0;if(0<qa>>>0|0==(qa|0)&65535<(a[Ja>>2]|0)>>>0)hb=1,la=837;else if(Ja=Ka(b,d,Ea)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,ia=a[Ea>>2]|0,a[v>>2]=a[ea>>2]&65535,a[v+4>>2]=ia,ea=lb(b,qa,v)|0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;break;case 30:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,5020,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5021,135010);ea=Ja=d+8|0;ia=a[ea+4>>2]|0;if(0<ia>>>0|
-0==(ia|0)&65535<(a[ea>>2]|0)>>>0)hb=1,la=837;else if(ea=lh(b,d,La)|0)hb=ea,la=837;else if(ia=N[d>>1]|0,qa=a[La>>2]|0,a[V>>2]=a[Ja>>2]&65535,a[V+4>>2]=qa,Ja=lb(b,ia,V)|0,qa&&ja(qa),Ja)la=836;else return gb=0,u=e,gb|0;break;case 32:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,5042,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5043,135010);Ja=ea=d+8|0;qa=a[Ja+4>>2]|0;if(0<qa>>>0|0==(qa|0)&65535<(a[Ja>>2]|0)>>>0)hb=1,la=837;else if(Ja=ab(b,d,Qa)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,ia=a[Qa>>2]|0,a[r>>2]=a[ea>>2]&
-65535,a[r+4>>2]=ia,ea=lb(b,qa,r)|0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;break;case 34:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,5064,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5065,135010);ea=Ja=d+8|0;ia=a[ea+4>>2]|0;if(0<ia>>>0|0==(ia|0)&65535<(a[ea>>2]|0)>>>0)hb=1,la=837;else if(ea=ca(b,d,Va)|0)hb=ea,la=837;else if(ia=N[d>>1]|0,qa=a[Va>>2]|0,a[C>>2]=a[Ja>>2]&65535,a[C+4>>2]=qa,Ja=lb(b,ia,C)|0,qa&&ja(qa),Ja)la=836;else return gb=0,u=e,gb|0;break;case 36:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,5086,
-135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5087,135010);Ja=ea=d+8|0;qa=a[Ja+4>>2]|0;if(0<qa>>>0|0==(qa|0)&65535<(a[Ja>>2]|0)>>>0)hb=1,la=837;else if(Ja=fb(b,d,Wa)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,ia=a[Wa>>2]|0,a[Q>>2]=a[ea>>2]&65535,a[Q+4>>2]=ia,ea=lb(b,qa,Q)|0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;break;case 37:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,5108,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5109,135010);ea=Ja=d+8|0;ia=a[ea+4>>2]|0;if(0<ia>>>0|0==(ia|0)&65535<(a[ea>>2]|0)>>>0)hb=
-1,la=837;else if(ea=D(b,d,ub)|0)hb=ea,la=837;else if(ia=N[d>>1]|0,qa=a[ub>>2]|0,a[z>>2]=a[Ja>>2]&65535,a[z+4>>2]=qa,Ja=lb(b,ia,z)|0,qa&&ja(qa),Ja)la=836;else return gb=0,u=e,gb|0;break;case 38:-1!=(w[Za+4>>1]|0)&&Z(135529,133171,5130,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5131,135010);Ja=ea=d+8|0;qa=a[Ja+4>>2]|0;if(0<qa>>>0|0==(qa|0)&65535<(a[Ja>>2]|0)>>>0)hb=1,la=837;else if(Ja=Lb(b,d,xb)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,ia=a[xb>>2]|0,a[ka>>2]=a[ea>>2]&65535,a[ka+4>>2]=ia,ea=lb(b,qa,ka)|
-0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;break;case 39:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5152,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5153,135010);if(Ja=Ka(b,d,Zb)|0)hb=Ja,la=837;else if(ea=N[d>>1]|0,ia=a[Zb>>2]|0,a[H>>2]=a[d+8>>2],a[H+4>>2]=ia,qa=lb(b,ea,H)|0,ia&&ja(ia),qa)la=836;else return gb=0,u=e,gb|0;break;case 40:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5169,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5170,135010);if(Ja=Ka(b,d,Gb)|0)hb=Ja,la=837;else if(qa=N[d>>1]|0,ia=a[Gb>>2]|0,
-a[B>>2]=a[d+8>>2],a[B+4>>2]=ia,ea=lb(b,qa,B)|0,ia&&ja(ia),ea)la=836;else return gb=0,u=e,gb|0;break;case 41:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5186,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5187,135010);Ja=d+2|0;c:do switch(N[Ja>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:case 7:ea=ra(b,d,ga,1,Ha)|0;qa=ia=a[Ha>>2]|0;if(0!=(ea|0)|0==(ia|0))if(ea){hb=ea;la=837;break b}else Yc=0;else{d:do switch(N[Ja>>1]|0){case 1:case 7:if(ea=a[ga>>2]|0){va=ia;for(za=0;!(-1>=(t[va>>0]|0));)if(za=
-za+1|0,za>>>0>=ea>>>0){wc=qa;break d}else va=va+1|0;ja(ia);id=4;break c}else wc=qa;break;case 6:wc=qa;break;default:va=a[ga>>2]|0;ea=eb(va)|0;if(!ea){ja(ia);id=7;break c}e:do switch(N[Ja>>1]|0){case 3:if(va)for(za=b+12|0,ta=ia,Ma=ea,dc=0;;){a[za>>2]&128&&ac(ta);Ac=w[ta>>1]|0;if(128<=(Ac&65535)){la=620;break e}t[Ma>>0]=Ac;dc=dc+1|0;if(dc>>>0>=(a[ga>>2]|0)>>>0){la=621;break}else ta=ta+2|0,Ma=Ma+1|0}else la=621;break;case 8:if(va)for(Ma=b+12|0,ta=ia,dc=ea,za=0;;){a[Ma>>2]&128&&ac(ta);Ac=w[ta>>1]|0;if(256<=
-(Ac+128&65535)){la=620;break e}t[dc>>0]=Ac;za=za+1|0;if(za>>>0>=(a[ga>>2]|0)>>>0){la=621;break}else ta=ta+2|0,dc=dc+1|0}else la=621;break;case 4:if(va)for(dc=b+12|0,ta=ia,za=ea,Ma=0;;){a[dc>>2]&128&&pb(ta);Ac=a[ta>>2]|0;if(128<=Ac>>>0){la=620;break e}t[za>>0]=Ac;Ma=Ma+1|0;if(Ma>>>0>=(a[ga>>2]|0)>>>0){la=621;break}else ta=ta+4|0,za=za+1|0}else la=621;break;case 9:if(va)for(za=b+12|0,ta=ia,Ma=ea,dc=0;;){a[za>>2]&128&&pb(ta);Ac=a[ta>>2]|0;if(256<=(Ac+128|0)>>>0){la=620;break e}t[Ma>>0]=Ac;dc=dc+1|0;
-if(dc>>>0>=(a[ga>>2]|0)>>>0){la=621;break}else ta=ta+4|0,Ma=Ma+1|0}else la=621;break;case 16:if(va)for(Ma=b+12|0,ta=ia,dc=ea,za=0;;){a[Ma>>2]&128&&kc(ta);Ac=ta;Sc=a[Ac>>2]|0;Tc=a[Ac+4>>2]|0;if(!(0>Tc>>>0|0==(Tc|0)&128>Sc>>>0)){la=620;break e}t[dc>>0]=Sc;za=za+1|0;if(za>>>0>=(a[ga>>2]|0)>>>0){la=621;break}else ta=ta+8|0,dc=dc+1|0}else la=621;break;case 17:if(va)for(dc=b+12|0,ta=ia,za=ea,Ma=0;;){a[dc>>2]&128&&kc(ta);Sc=ta;Tc=a[Sc>>2]|0;Ac=Qb(Tc|0,a[Sc+4>>2]|0,128,0)|0;Sc=U;if(!(0>Sc>>>0|0==(Sc|0)&256>
-Ac>>>0)){la=620;break e}t[za>>0]=Tc;Ma=Ma+1|0;if(Ma>>>0>=(a[ga>>2]|0)>>>0){la=621;break}else ta=ta+8|0,za=za+1|0}else la=621;break;default:la=621}while(0);if(620==(la|0)){ja(a[Ha>>2]|0);ja(ea);id=4;break c}else if(621==(la|0)){ja(a[Ha>>2]|0);wc=ea;break d}}while(0);Yc=wc}ia=N[d>>1]|0;qa=Yc;a[y>>2]=a[d+8>>2];a[y+4>>2]=qa;va=lb(b,ia,y)|0;Yc&&ja(qa);if(va){la=836;break b}else gb=0;u=e;return gb|0;default:id=2}while(0);hb=id;la=837;break;case 42:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5203,135010);1!=(t[Za+
-27>>0]|0)&&Z(135565,133171,5204,135010);if(Ja=lh(b,d,jb)|0)hb=Ja,la=837;else if(va=N[d>>1]|0,qa=a[jb>>2]|0,a[q>>2]=a[d+8>>2],a[q+4>>2]=qa,ia=lb(b,va,q)|0,qa&&ja(qa),ia)la=836;else return gb=0,u=e,gb|0;break;case 43:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5220,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5221,135010);Ja=d+2|0;c:do switch(N[Ja>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:ia=ra(b,d,ga,2,Ha)|0;va=qa=a[Ha>>2]|0;if(0!=(ia|0)|0==(qa|0))if(ia){hb=ia;la=837;break b}else md=
-0;else{d:do switch(N[Ja>>1]|0){case 3:if(ia=a[ga>>2]|0){za=b+12|0;ta=qa;for(Ma=0;;){a[za>>2]&128&&ac(ta);if(-1>=(w[ta>>1]|0))break;Ma=Ma+1|0;if(Ma>>>0>=ia>>>0){td=va;break d}else ta=ta+2|0}ja(qa);Ce=4;break c}else td=va;break;case 8:a[b+12>>2]&128&&Vd(qa,a[ga>>2]|0);td=va;break;default:ta=a[ga>>2]|0;ia=eb(ta<<1)|0;if(!ia){ja(qa);Ce=7;break c}e:do switch(N[Ja>>1]|0){case 1:if(ta)for(Ma=qa,za=ia,ea=0;;)if(w[za>>1]=x[Ma>>0]|0,ea=ea+1|0,(ea|0)==(ta|0)){la=684;break}else Ma=Ma+1|0,za=za+2|0;else la=684;
-break;case 6:if(ta)for(za=qa,Ma=ia,ea=0;;)if(w[Ma>>1]=t[za>>0]|0,ea=ea+1|0,(ea|0)==(ta|0)){la=684;break}else za=za+1|0,Ma=Ma+2|0;else la=684;break;case 4:if(ta)for(Ma=b+12|0,za=qa,ea=ia,dc=0;;){a[Ma>>2]&128&&pb(za);Tc=a[za>>2]|0;if(32768<=Tc>>>0){la=683;break e}w[ea>>1]=Tc;dc=dc+1|0;if(dc>>>0>=ta>>>0){la=684;break}else za=za+4|0,ea=ea+2|0}else la=684;break;case 9:if(ta)for(ea=b+12|0,za=qa,dc=ia,Ma=0;;){a[ea>>2]&128&&pb(za);Tc=a[za>>2]|0;if(65536<=(Tc+32768|0)>>>0){la=683;break e}w[dc>>1]=Tc;Ma=Ma+
-1|0;if(Ma>>>0>=ta>>>0){la=684;break}else za=za+4|0,dc=dc+2|0}else la=684;break;case 16:if(ta)for(dc=b+12|0,za=qa,Ma=ia,ea=0;;){a[dc>>2]&128&&kc(za);Tc=za;Ac=a[Tc>>2]|0;Sc=a[Tc+4>>2]|0;if(!(0>Sc>>>0|0==(Sc|0)&32768>Ac>>>0)){la=683;break e}w[Ma>>1]=Ac;ea=ea+1|0;if(ea>>>0>=ta>>>0){la=684;break}else za=za+8|0,Ma=Ma+2|0}else la=684;break;case 17:if(ta)for(Ma=b+12|0,za=qa,ea=ia,dc=0;;){a[Ma>>2]&128&&kc(za);Ac=za;Sc=a[Ac>>2]|0;Tc=Qb(Sc|0,a[Ac+4>>2]|0,32768,0)|0;Ac=U;if(!(0>Ac>>>0|0==(Ac|0)&65536>Tc>>>0)){la=
-683;break e}w[ea>>1]=Sc;dc=dc+1|0;if(dc>>>0>=ta>>>0){la=684;break}else za=za+8|0,ea=ea+2|0}else la=684;break;default:la=684}while(0);if(683==(la|0)){ja(qa);ja(ia);Ce=4;break c}else if(684==(la|0)){ja(qa);td=ia;break d}}while(0);md=td}qa=N[d>>1]|0;a[p>>2]=a[d+8>>2];a[p+4>>2]=md;va=lb(b,qa,p)|0;md&&ja(md);if(va){la=836;break b}else gb=0;u=e;return gb|0;default:Ce=2}while(0);hb=Ce;la=837;break;case 44:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5237,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5238,135010);if(Ja=
-ab(b,d,mc)|0)hb=Ja,la=837;else if(va=N[d>>1]|0,qa=a[mc>>2]|0,a[n>>2]=a[d+8>>2],a[n+4>>2]=qa,ta=lb(b,va,n)|0,qa&&ja(qa),ta)la=836;else return gb=0,u=e,gb|0;break;case 45:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5254,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5255,135010);Ja=d+2|0;c:do switch(N[Ja>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:ta=ra(b,d,ga,4,Ha)|0;va=qa=a[Ha>>2]|0;if(0!=(ta|0)|0==(qa|0))if(ta){hb=ta;la=837;break b}else vd=0;else{d:do switch(N[Ja>>1]|0){case 4:if(ta=a[ga>>
-2]|0){ea=b+12|0;za=qa;for(dc=0;;){a[ea>>2]&128&&pb(za);if(Ma=a[za>>2]>>31&4){pd=Ma;break}dc=dc+1|0;if(dc>>>0>=ta>>>0){wd=va;break d}else za=za+4|0}ja(qa);Nf=pd;break c}else wd=va;break;case 9:a[b+12>>2]&128&&Id(qa,a[ga>>2]|0);wd=va;break;default:za=a[ga>>2]|0;ta=eb(za<<2)|0;if(!ta){ja(qa);Nf=7;break c}e:do switch(N[Ja>>1]|0){case 1:if(za)for(dc=qa,ea=ta,ia=0;;)if(a[ea>>2]=x[dc>>0],ia=ia+1|0,ia>>>0>=(a[ga>>2]|0)>>>0){la=745;break}else dc=dc+1|0,ea=ea+4|0;else la=745;break;case 6:if(za)for(ea=qa,dc=
-ta,ia=0;;)if(a[dc>>2]=t[ea>>0],ia=ia+1|0,ia>>>0>=(a[ga>>2]|0)>>>0){la=745;break}else ea=ea+1|0,dc=dc+4|0;else la=745;break;case 3:if(za)for(dc=b+12|0,ea=qa,ia=ta,Ma=0;;)if(a[dc>>2]&128&&ac(ea),a[ia>>2]=N[ea>>1],Ma=Ma+1|0,Ma>>>0>=(a[ga>>2]|0)>>>0){la=745;break}else ea=ea+2|0,ia=ia+4|0;else la=745;break;case 8:if(za)for(ia=b+12|0,ea=qa,Ma=ta,dc=0;;)if(a[ia>>2]&128&&ac(ea),a[Ma>>2]=w[ea>>1],dc=dc+1|0,dc>>>0>=(a[ga>>2]|0)>>>0){la=745;break}else ea=ea+2|0,Ma=Ma+4|0;else la=745;break;case 16:if(za)for(Ma=
-b+12|0,ea=qa,dc=ta,ia=0;;){a[Ma>>2]&128&&kc(ea);Sc=ea;Tc=a[Sc>>2]|0;Ac=a[Sc+4>>2]|0;if(!(0>Ac>>>0|0==(Ac|0)&2147483648>Tc>>>0)){la=744;break e}a[dc>>2]=Tc;ia=ia+1|0;if(ia>>>0>=(a[ga>>2]|0)>>>0){la=745;break}else ea=ea+8|0,dc=dc+4|0}else la=745;break;case 17:if(za)for(dc=b+12|0,ea=qa,ia=ta,Ma=0;;){a[dc>>2]&128&&kc(ea);Tc=ea;Ac=a[Tc>>2]|0;Sc=Qb(Ac|0,a[Tc+4>>2]|0,-2147483648,0)|0;Tc=U;if(!(1>Tc>>>0|1==(Tc|0)&0>Sc>>>0)){la=744;break e}a[ia>>2]=Ac;Ma=Ma+1|0;if(Ma>>>0>=(a[ga>>2]|0)>>>0){la=745;break}else ea=
-ea+8|0,ia=ia+4|0}else la=745;break;default:la=745}while(0);if(744==(la|0)){ja(qa);ja(ta);Nf=4;break c}else if(745==(la|0)){ja(qa);wd=ta;break d}}while(0);vd=wd}qa=N[d>>1]|0;a[l>>2]=a[d+8>>2];a[l+4>>2]=vd;va=lb(b,qa,l)|0;vd&&ja(vd);if(va){la=836;break b}else gb=0;u=e;return gb|0;default:Nf=2}while(0);hb=Nf;la=837;break;case 46:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5271,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5272,135010);if(Ja=ca(b,d,Kb)|0)hb=Ja,la=837;else if(va=N[d>>1]|0,qa=a[Kb>>2]|0,a[k>>2]=
-a[d+8>>2],a[k+4>>2]=qa,za=lb(b,va,k)|0,qa&&ja(qa),za)la=836;else return gb=0,u=e,gb|0;break;case 47:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5288,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5289,135010);Ja=d+2|0;c:do switch(N[Ja>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:za=ra(b,d,ga,8,Ha)|0;va=qa=a[Ha>>2]|0;if(0!=(za|0)|0==(qa|0))if(za){hb=za;la=837;break b}else jd=0;else{d:do switch(N[Ja>>1]|0){case 16:if(za=a[ga>>2]|0){ia=b+12|0;ea=qa;for(Ma=0;;){a[ia>>2]&128&&kc(ea);dc=ea;Ac=
-a[dc+4>>2]|0;if(!(-1<(Ac|0)|-1==(Ac|0)&4294967295<(a[dc>>2]|0)>>>0))break;Ma=Ma+1|0;if(Ma>>>0>=za>>>0){ug=va;break d}else ea=ea+8|0}ja(qa);Ud=4;break c}else ug=va;break;case 17:a[b+12>>2]&128&&Ae(qa,a[ga>>2]|0);ug=va;break;default:ea=a[ga>>2]|0;za=eb(ea<<3)|0;if(!za){ja(qa);Ud=7;break c}switch(N[Ja>>1]|0){case 1:if(ea)for(Ma=qa,ia=za,ta=0;dc=ia,a[dc>>2]=x[Ma>>0],a[dc+4>>2]=0,ta=ta+1|0,(ta|0)!=(ea|0);)Ma=Ma+1|0,ia=ia+8|0;break;case 6:if(ea)for(ia=qa,Ma=za,ta=0;dc=t[ia>>0]|0,Ac=Ma,a[Ac>>2]=dc,a[Ac+
-4>>2]=(0>(dc|0))<<31>>31,ta=ta+1|0,(ta|0)!=(ea|0);)ia=ia+1|0,Ma=Ma+8|0;break;case 3:if(ea)for(Ma=b+12|0,ia=qa,ta=za,dc=0;a[Ma>>2]&128&&ac(ia),Ac=ta,a[Ac>>2]=N[ia>>1],a[Ac+4>>2]=0,dc=dc+1|0,(dc|0)!=(ea|0);)ia=ia+2|0,ta=ta+8|0;break;case 8:if(ea)for(ta=b+12|0,ia=qa,dc=za,Ma=0;a[ta>>2]&128&&ac(ia),Ac=w[ia>>1]|0,Sc=dc,a[Sc>>2]=Ac,a[Sc+4>>2]=(0>(Ac|0))<<31>>31,Ma=Ma+1|0,(Ma|0)!=(ea|0);)ia=ia+2|0,dc=dc+8|0;break;case 4:if(ea)for(dc=b+12|0,ia=qa,Ma=za,ta=0;a[dc>>2]&128&&pb(ia),Ac=Ma,a[Ac>>2]=a[ia>>2],a[Ac+
-4>>2]=0,ta=ta+1|0,(ta|0)!=(ea|0);)ia=ia+4|0,Ma=Ma+8|0;break;case 9:if(ea)for(Ma=b+12|0,ia=qa,ta=za,dc=0;a[Ma>>2]&128&&pb(ia),Ac=a[ia>>2]|0,Sc=ta,a[Sc>>2]=Ac,a[Sc+4>>2]=(0>(Ac|0))<<31>>31,dc=dc+1|0,(dc|0)!=(ea|0);)ia=ia+4|0,ta=ta+8|0}ja(qa);ug=za}while(0);jd=ug}qa=N[d>>1]|0;a[m>>2]=a[d+8>>2];a[m+4>>2]=jd;va=lb(b,qa,m)|0;jd&&ja(jd);if(va){la=836;break b}else gb=0;u=e;return gb|0;default:Ud=2}while(0);hb=Ud;la=837;break;case 48:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5305,135010);1!=(t[Za+27>>0]|0)&&Z(135565,
-133171,5306,135010);if(Ja=fb(b,d,Ta)|0)hb=Ja,la=837;else if(va=N[d>>1]|0,qa=a[Ta>>2]|0,a[h>>2]=a[d+8>>2],a[h+4>>2]=qa,ta=lb(b,va,h)|0,qa&&ja(qa),ta)la=836;else return gb=0,u=e,gb|0;break;case 49:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,5322,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5323,135010);if(Ja=D(b,d,Ya)|0)hb=Ja,la=837;else if(ta=N[d>>1]|0,qa=a[Ya>>2]|0,a[g>>2]=a[d+8>>2],a[g+4>>2]=qa,va=lb(b,ta,g)|0,qa&&ja(qa),va)la=836;else return gb=0,u=e,gb|0;break;case 50:-3!=(w[Za+4>>1]|0)&&Z(135589,133171,
-5339,135010);1!=(t[Za+27>>0]|0)&&Z(135565,133171,5340,135010);if(Ja=Lb(b,d,Sa)|0)hb=Ja,la=837;else if(va=N[d>>1]|0,qa=a[Sa>>2]|0,a[f>>2]=a[d+8>>2],a[f+4>>2]=qa,ta=lb(b,va,f)|0,qa&&ja(qa),ta)la=836;else return gb=0,u=e,gb|0;break;default:Z(141469,133171,5354,135010)}while(0);if(835==(la|0)||836==(la|0))return gb=1,u=e,gb|0;if(837==(la|0))return wh(b,hb,135010,a[Za+28>>2]|0,c),gb=0,u=e,gb|0}while(0);c=a[b+628>>2]|0;a[Mg>>2]=Db&65535;Y(c,135010,135029,Mg);gb=0;u=e;return gb|0}function aj(b,d,c){b|=0;
-d|=0;c|=0;var e,f,g,h,m,k,l,n,p=0;e=u;u=u+32|0;f=e+24|0;g=e+28|0;h=e+20|0;m=e+16|0;k=e+8|0;l=e;n=d+8|0;if(!(1==(a[n>>2]|0)&0==(a[n+4>>2]|0)))return u=e,1;switch(N[d+2>>1]|0){case 1:return w[c>>1]=x[d+16>>0]|0,u=e,0;case 6:n=t[d+16>>0]|0;if(-1>=n<<24>>24)return u=e,4;w[c>>1]=n<<24>>24;u=e;return 0;case 3:n=a[b+12>>2]|0;w[c>>1]=w[d+16>>1]|0;if(!(n&128))return u=e,0;ac(c);u=e;return 0;case 8:n=a[b+12>>2]|0;b=w[d+16>>1]|0;w[g>>1]=b;n&128?(ac(g),l=w[g>>1]|0):l=b;if(-1>=l<<16>>16)return u=e,4;w[c>>1]=l;
-u=e;return 0;case 4:l=a[d+16>>2]|0;a[h>>2]=l;a[b+12>>2]&128?(pb(h),h=a[h>>2]|0):h=l;if(65536<=h>>>0)return u=e,4;w[c>>1]=h;u=e;return 0;case 9:h=a[d+16>>2]|0;a[m>>2]=h;a[b+12>>2]&128?(pb(m),g=a[m>>2]|0):g=h;if(65536<=g>>>0)return u=e,4;w[c>>1]=g;u=e;return 0;case 16:g=b+12|0;m=a[g>>2]|0;h=d+16|0;if(m&524288)l=a[h+4>>2]|0,g=k,a[g>>2]=a[h>>2],a[g+4>>2]=l,d=m;else if(h=a[h>>2]|0,a[f>>2]=h,m&128?(pb(f),l=a[g>>2]|0,f=a[f>>2]|0):(l=m,f=h),l&2048?4294967287>=f>>>0&&(f+8|0)>>>0<=(a[b+616>>2]|0)>>>0&&(Ab(k,
-(a[b+612>>2]|0)+f|0,8),p=29):(h=b+628|0,l=rb[a[b+640>>2]&63](a[h>>2]|0,f,0,0)|0,(l|0)==(f|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[h>>2]|0,k,8)|0)&&(p=29)),29==(p|0))d=a[g>>2]|0;else return u=e,3;d&128&&kc(k);d=k;k=a[d>>2]|0;m=a[d+4>>2]|0;if(!(0>m>>>0|0==(m|0)&65536>k>>>0))return u=e,4;w[c>>1]=k;u=e;return 0;case 17:k=b+12|0;m=a[k>>2]|0;d=d+16|0;if(m&524288)h=a[d+4>>2]|0,g=l,a[g>>2]=a[d>>2],a[g+4>>2]=h,b=m;else if(d=a[d>>2]|0,a[f>>2]=d,m&128?(pb(f),h=a[k>>2]|0,f=a[f>>2]|0):(h=m,f=d),h&2048?4294967287>=
-f>>>0&&(f+8|0)>>>0<=(a[b+616>>2]|0)>>>0&&(Ab(l,(a[b+612>>2]|0)+f|0,8),p=45):(d=b+628|0,h=rb[a[b+640>>2]&63](a[d>>2]|0,f,0,0)|0,(h|0)==(f|0)&0==(U|0)&&8==(Aa[a[b+632>>2]&63](a[d>>2]|0,l,8)|0)&&(p=45)),45==(p|0))b=a[k>>2]|0;else return u=e,3;b&128&&kc(l);b=l;l=a[b>>2]|0;m=a[b+4>>2]|0;if(!(0>m>>>0|0==(m|0)&65536>l>>>0))return u=e,4;w[c>>1]=l;u=e;return 0;default:return u=e,2}}function lh(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y;e=u;u=u+16|0;f=e+4|0;g=e;h=d+2|0;switch(N[h>>1]|0){case 17:case 16:case 9:case 4:case 8:case 3:case 6:case 1:break;
-default:return u=e,2}m=ra(b,d,f,2,g)|0;g=d=a[g>>2]|0;if(0!=(m|0)|0==(d|0))return a[c>>2]=0,u=e,m|0;switch(N[h>>1]|0){case 3:a[c>>2]=d;if(!(a[b+12>>2]&128)){u=e;break}Vd(d,a[f>>2]|0);u=e;break;case 8:m=a[f>>2]|0;a:do if(m){k=b+12|0;l=d;for(n=0;;){a[k>>2]&128&&ac(l);if(-1>=(w[l>>1]|0))break;n=n+1|0;if(n>>>0>=m>>>0)break a;else l=l+2|0}ja(d);u=e;return 4}while(0);a[c>>2]=g;u=e;break;default:g=a[f>>2]|0;f=eb(g<<1)|0;if(!f)return ja(d),u=e,7;a:do switch(N[h>>1]|0){case 1:if(g)for(m=d,l=f,n=0;;)if(w[l>>
-1]=x[m>>0]|0,n=n+1|0,n>>>0>=g>>>0){m=48;break}else m=m+1|0,l=l+2|0;else m=48;break;case 6:if(g)for(l=d,m=f,n=0;;){k=t[l>>0]|0;if(-1>=k<<24>>24){m=47;break a}w[m>>1]=k<<24>>24;n=n+1|0;if(n>>>0>=g>>>0){m=48;break}else l=l+1|0,m=m+2|0}else m=48;break;case 4:if(g)for(m=b+12|0,l=d,n=f,k=0;;){a[m>>2]&128&&pb(l);p=a[l>>2]|0;if(65536<=p>>>0){m=47;break a}w[n>>1]=p;k=k+1|0;if(k>>>0>=g>>>0){m=48;break}else l=l+4|0,n=n+2|0}else m=48;break;case 9:if(g)for(n=b+12|0,l=d,k=f,m=0;;){a[n>>2]&128&&pb(l);p=a[l>>2]|
-0;if(65536<=p>>>0){m=47;break a}w[k>>1]=p;m=m+1|0;if(m>>>0>=g>>>0){m=48;break}else l=l+4|0,k=k+2|0}else m=48;break;case 16:if(g)for(k=b+12|0,l=d,m=f,n=0;;){a[k>>2]&128&&kc(l);p=l;q=a[p>>2]|0;y=a[p+4>>2]|0;if(!(0>y>>>0|0==(y|0)&65536>q>>>0)){m=47;break a}w[m>>1]=q;n=n+1|0;if(n>>>0>=g>>>0){m=48;break}else l=l+8|0,m=m+2|0}else m=48;break;case 17:if(g)for(m=b+12|0,l=d,n=f,k=0;;){a[m>>2]&128&&kc(l);q=l;y=a[q>>2]|0;p=a[q+4>>2]|0;if(!(0>p>>>0|0==(p|0)&65536>y>>>0)){m=47;break a}w[n>>1]=y;k=k+1|0;if(k>>>
-0>=g>>>0){m=48;break}else l=l+8|0,n=n+2|0}else m=48;break;default:m=48}while(0);if(47==(m|0))return ja(d),ja(f),u=e,4;48==(m|0)&&(ja(d),a[c>>2]=f,u=e)}return 0}function wh(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;var g,h,m,k,l,n,p,q,y,B,H,t,z,Q,C;g=u;u=u+112|0;h=g+104|0;m=g+96|0;k=g+88|0;l=g+80|0;n=g+72|0;p=g+64|0;q=g+56|0;y=g+48|0;B=g+40|0;H=g+32|0;t=g+24|0;z=g+16|0;Q=g+8|0;C=g;if(f|0)switch(d|0){case 1:d=a[b+628>>2]|0;a[q>>2]=e;Wb(d,c,134687,q);u=g;break;case 2:q=a[b+628>>2]|0;a[p>>2]=e;Wb(q,c,134725,p);
-u=g;break;case 3:p=a[b+628>>2]|0;a[n>>2]=e;Wb(p,c,134765,n);u=g;break;case 4:n=a[b+628>>2]|0;a[l>>2]=e;Wb(n,c,134810,l);u=g;break;case 5:l=a[b+628>>2]|0;a[k>>2]=e;Wb(l,c,134848,k);u=g;break;case 6:k=a[b+628>>2]|0;a[m>>2]=e;Wb(k,c,134912,m);u=g;break;case 7:m=a[b+628>>2]|0;a[h>>2]=e;Wb(m,c,134967,h);u=g;break;default:Z(141469,133171,3386,134661)}else switch(d|0){case 1:f=a[b+628>>2]|0;a[C>>2]=e;Y(f,c,134429,C);u=g;break;case 2:C=a[b+628>>2]|0;a[Q>>2]=e;Y(C,c,134454,Q);u=g;break;case 3:Q=a[b+628>>2]|
-0;a[z>>2]=e;Y(Q,c,134481,z);u=g;break;case 4:z=a[b+628>>2]|0;a[t>>2]=e;Y(z,c,134513,t);u=g;break;case 5:t=a[b+628>>2]|0;a[H>>2]=e;Y(t,c,134538,H);u=g;break;case 6:H=a[b+628>>2]|0;a[B>>2]=e;Y(H,c,134589,B);u=g;break;case 7:B=a[b+628>>2]|0;a[y>>2]=e;Y(B,c,134631,y);u=g;break;default:Z(141469,133171,3345,134661)}}function Hc(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B=0,H=0,t=0,z=0,Q,C,u=0,r=0,w,x=0,I=0,G=0,v=n=0,K=0,E=0,A=0,O=0,M=0,T=0,X=0,P=0,Oa=0,D=g=l=0,F=Q=0,ba=0,N=C=0,R=0,S=0,ga=0,Y=0,ma=0,W=0,ha=
-0,U=0,da=0,aa=0,ca=0,Z=0,fa=0,oa=0;do if(245>b>>>0){d=11>b>>>0?16:b+11&-8;c=d>>>3;e=a[30806]|0;f=e>>>c;if(f&3)return g=(f&1^1)+c|0,d=g<<1,h=123264+(d<<2)|0,m=123264+(d+2<<2)|0,d=a[m>>2]|0,k=d+8|0,l=a[k>>2]|0,(h|0)!=(l|0)?(l>>>0<(a[30810]|0)>>>0&&Qa(),n=l+12|0,(a[n>>2]|0)==(d|0)?(a[n>>2]=h,a[m>>2]=l):Qa()):a[30806]=e&~(1<<g),l=g<<3,a[d+4>>2]=l|3,m=d+(l|4)|0,a[m>>2]|=1,l=k,l|0;m=a[30808]|0;if(d>>>0>m>>>0){if(f)return l=2<<c,h=f<<c&(l|0-l),l=(h&0-h)+-1|0,h=l>>>12&16,n=l>>>h,l=n>>>5&8,k=n>>>l,n=k>>>2&
-4,p=k>>>n,k=p>>>1&2,q=p>>>k,p=q>>>1&1,y=(l|h|n|k|p)+(q>>>p)|0,p=y<<1,q=123264+(p<<2)|0,k=123264+(p+2<<2)|0,p=a[k>>2]|0,n=p+8|0,h=a[n>>2]|0,(q|0)!=(h|0)?(h>>>0<(a[30810]|0)>>>0&&Qa(),l=h+12|0,(a[l>>2]|0)==(p|0)?(a[l>>2]=q,a[k>>2]=h,B=a[30808]|0):Qa()):(a[30806]=e&~(1<<y),B=m),m=y<<3,e=m-d|0,a[p+4>>2]=d|3,h=p+d|0,a[p+(d|4)>>2]=e|1,a[p+m>>2]=e,B&&(m=a[30811]|0,k=B>>>3,q=k<<1,c=123264+(q<<2)|0,f=a[30806]|0,k=1<<k,f&k?(k=123264+(q+2<<2)|0,d=a[k>>2]|0,d>>>0<(a[30810]|0)>>>0?Qa():(H=k,t=d)):(a[30806]=f|
-k,H=123264+(q+2<<2)|0,t=c),a[H>>2]=m,a[t+12>>2]=m,a[m+8>>2]=t,a[m+12>>2]=c),a[30808]=e,a[30811]=h,l=n,l|0;if(h=a[30807]|0){e=(h&0-h)+-1|0;h=e>>>12&16;c=e>>>h;e=c>>>5&8;m=c>>>e;c=m>>>2&4;q=m>>>c;m=q>>>1&2;k=q>>>m;q=k>>>1&1;f=a[123528+((e|h|c|m|q)+(k>>>q)<<2)>>2]|0;q=(a[f+4>>2]&-8)-d|0;for(m=k=f;;){if(f=a[k+16>>2]|0)l=f;else if(c=a[k+20>>2]|0)l=c;else{l=q;g=m;break}f=(a[l+4>>2]&-8)-d|0;q=(c=f>>>0<q>>>0)?f:q;k=l;m=c?l:m}m=a[30810]|0;g>>>0<m>>>0&&Qa();k=g+d|0;g>>>0>=k>>>0&&Qa();q=a[g+24>>2]|0;n=a[g+12>>
-2]|0;do if((n|0)==(g|0)){p=g+20|0;if(y=a[p>>2]|0)Q=y,C=p;else if(c=g+16|0,f=a[c>>2]|0)Q=f,C=c;else{z=0;break}for(;;)if(p=Q+20|0,y=a[p>>2]|0)Q=y,C=p;else if(p=Q+16|0,y=a[p>>2]|0)Q=y,C=p;else break;C>>>0<m>>>0?Qa():(a[C>>2]=0,z=Q)}else p=a[g+8>>2]|0,p>>>0<m>>>0&&Qa(),y=p+12|0,(a[y>>2]|0)!=(g|0)&&Qa(),c=n+8|0,(a[c>>2]|0)==(g|0)?(a[y>>2]=n,a[c>>2]=p,z=n):Qa();while(0);do if(q){n=a[g+28>>2]|0;m=123528+(n<<2)|0;if((g|0)==(a[m>>2]|0)){if(a[m>>2]=z,!z){a[30807]&=~(1<<n);break}}else if(q>>>0<(a[30810]|0)>>>
-0&&Qa(),n=q+16|0,(a[n>>2]|0)==(g|0)?a[n>>2]=z:a[q+20>>2]=z,!z)break;n=a[30810]|0;z>>>0<n>>>0&&Qa();a[z+24>>2]=q;if(m=a[g+16>>2]|0)m>>>0<n>>>0?Qa():(a[z+16>>2]=m,a[m+24>>2]=z);if(m=a[g+20>>2]|0)m>>>0<(a[30810]|0)>>>0?Qa():(a[z+20>>2]=m,a[m+24>>2]=z)}while(0);if(16>l>>>0)q=l+d|0,a[g+4>>2]=q|3,m=g+(q+4)|0,a[m>>2]|=1;else{a[g+4>>2]=d|3;a[g+(d|4)>>2]=l|1;a[g+(l+d)>>2]=l;if(m=a[30808]|0)q=a[30811]|0,n=m>>>3,m=n<<1,p=123264+(m<<2)|0,c=a[30806]|0,y=1<<n,c&y?(n=123264+(m+2<<2)|0,f=a[n>>2]|0,f>>>0<(a[30810]|
-0)>>>0?Qa():(u=n,r=f)):(a[30806]=c|y,u=123264+(m+2<<2)|0,r=p),a[u>>2]=q,a[r+12>>2]=q,a[q+8>>2]=r,a[q+12>>2]=p;a[30808]=l;a[30811]=k}l=g+8|0;return l|0}}m=d}else if(4294967231>=b>>>0){p=b+11|0;q=p&-8;if(m=a[30807]|0){y=0-q|0;(c=p>>>8)?16777215<q>>>0?w=31:(p=(c+1048320|0)>>>16&8,f=c<<p,c=(f+520192|0)>>>16&4,n=f<<c,f=(n+245760|0)>>>16&2,h=14-(c|p|f)+(n<<f>>>15)|0,w=q>>>(h+7|0)&1|h<<1):w=0;h=a[123528+(w<<2)>>2]|0;a:do if(h)for(f=y,n=0,p=q<<(31==(w|0)?0:25-(w>>>1)|0),c=h,e=0;;){d=a[c+4>>2]&-8;k=d-q|0;
-if(k>>>0<f>>>0)if((d|0)==(q|0)){v=k;E=K=c;n=90;break a}else f=k,e=c;k=a[c+20>>2]|0;c=a[c+16+(p>>>31<<2)>>2]|0;d=0==(k|0)|(k|0)==(c|0)?n:k;if(c)n=d,p<<=1;else{x=f;I=d;G=e;n=86;break}}else x=y,G=I=0,n=86;while(0);if(86==(n|0)){if(0==(I|0)&0==(G|0)){h=2<<w;y=m&(h|0-h);if(!y){m=q;break}h=(y&0-y)+-1|0;y=h>>>12&16;d=h>>>y;h=d>>>5&8;k=d>>>h;d=k>>>2&4;e=k>>>d;k=e>>>1&2;p=e>>>k;e=p>>>1&1;m=a[123528+((h|y|d|k|e)+(p>>>e)<<2)>>2]|0;p=0}else m=I,p=G;m?(v=x,K=m,E=p,n=90):(A=x,O=p)}if(90==(n|0))for(;;)if(n=0,e=
-(a[K+4>>2]&-8)-q|0,k=(p=e>>>0<v>>>0)?e:v,e=p?K:E,p=a[K+16>>2]|0)v=k,K=p,E=e;else if(K=a[K+20>>2]|0)v=k,E=e;else{A=k;O=e;break}if(0!=(O|0)&&A>>>0<((a[30808]|0)-q|0)>>>0){m=a[30810]|0;O>>>0<m>>>0&&Qa();e=O+q|0;O>>>0>=e>>>0&&Qa();k=a[O+24>>2]|0;p=a[O+12>>2]|0;do if((p|0)==(O|0)){d=O+20|0;if(y=a[d>>2]|0)l=y,g=d;else if(h=O+16|0,n=a[h>>2]|0)l=n,g=h;else{M=0;break}for(;;)if(d=l+20|0,y=a[d>>2]|0)l=y,g=d;else if(d=l+16|0,y=a[d>>2]|0)l=y,g=d;else{u=l;l=g;break}l>>>0<m>>>0?Qa():(a[l>>2]=0,M=u)}else d=a[O+8>>
-2]|0,d>>>0<m>>>0&&Qa(),y=d+12|0,(a[y>>2]|0)!=(O|0)&&Qa(),h=p+8|0,(a[h>>2]|0)==(O|0)?(a[y>>2]=p,a[h>>2]=d,M=p):Qa();while(0);do if(k){p=a[O+28>>2]|0;m=123528+(p<<2)|0;if((O|0)==(a[m>>2]|0)){if(a[m>>2]=M,!M){a[30807]&=~(1<<p);break}}else if(k>>>0<(a[30810]|0)>>>0&&Qa(),p=k+16|0,(a[p>>2]|0)==(O|0)?a[p>>2]=M:a[k+20>>2]=M,!M)break;p=a[30810]|0;M>>>0<p>>>0&&Qa();a[M+24>>2]=k;if(m=a[O+16>>2]|0)m>>>0<p>>>0?Qa():(a[M+16>>2]=m,a[m+24>>2]=M);if(m=a[O+20>>2]|0)m>>>0<(a[30810]|0)>>>0?Qa():(a[M+20>>2]=m,a[m+24>>
-2]=M)}while(0);a:do if(16<=A>>>0)if(a[O+4>>2]=q|3,a[O+(q|4)>>2]=A|1,a[O+(A+q)>>2]=A,k=A>>>3,256>A>>>0)m=k<<1,p=123264+(m<<2)|0,d=a[30806]|0,h=1<<k,d&h?(k=123264+(m+2<<2)|0,y=a[k>>2]|0,y>>>0<(a[30810]|0)>>>0?Qa():(T=k,X=y)):(a[30806]=d|h,T=123264+(m+2<<2)|0,X=p),a[T>>2]=e,a[X+12>>2]=e,a[O+(q+8)>>2]=X,a[O+(q+12)>>2]=p;else if((p=A>>>8)?16777215<A>>>0?z=31:(m=(p+1048320|0)>>>16&8,h=p<<m,p=(h+520192|0)>>>16&4,d=h<<p,h=(d+245760|0)>>>16&2,y=14-(p|m|h)+(d<<h>>>15)|0,z=A>>>(y+7|0)&1|y<<1):z=0,y=123528+(z<<
-2)|0,a[O+(q+28)>>2]=z,a[O+(q+20)>>2]=0,a[O+(q+16)>>2]=0,h=a[30807]|0,d=1<<z,h&d){d=a[y>>2]|0;b:do if((a[d+4>>2]&-8|0)!=(A|0)){y=A<<(31==(z|0)?0:25-(z>>>1)|0);for(h=d;;){m=h+16+(y>>>31<<2)|0;p=a[m>>2]|0;if(!p){p=m;k=h;break}if((a[p+4>>2]&-8|0)==(A|0)){P=p;break b}else y<<=1,h=p}if(p>>>0<(a[30810]|0)>>>0)Qa();else{a[p>>2]=e;a[O+(q+24)>>2]=k;a[O+(q+12)>>2]=e;a[O+(q+8)>>2]=e;break a}}else P=d;while(0);d=P+8|0;h=a[d>>2]|0;y=a[30810]|0;h>>>0>=y>>>0&P>>>0>=y>>>0?(a[h+12>>2]=e,a[d>>2]=e,a[O+(q+8)>>2]=h,a[O+
-(q+12)>>2]=P,a[O+(q+24)>>2]=0):Qa()}else a[30807]=h|d,a[y>>2]=e,a[O+(q+24)>>2]=y,a[O+(q+12)>>2]=e,a[O+(q+8)>>2]=e;else h=A+q|0,a[O+4>>2]=h|3,d=O+(h+4)|0,a[d>>2]|=1;while(0);l=O+8|0;return l|0}}m=q}else m=-1;while(0);O=a[30808]|0;if(O>>>0>=m>>>0)return A=O-m|0,P=a[30811]|0,15<A>>>0?(a[30811]=P+m,a[30808]=A,a[P+(m+4)>>2]=A|1,a[P+O>>2]=A,a[P+4>>2]=m|3):(a[30808]=0,a[30811]=0,a[P+4>>2]=O|3,A=P+(O+4)|0,a[A>>2]|=1),P+8|0;P=a[30809]|0;if(P>>>0>m>>>0)return A=P-m|0,a[30809]=A,P=a[30812]|0,a[30812]=P+m,a[P+
-(m+4)>>2]=A|1,a[P+4>>2]=m|3,P+8|0;a[30924]|0||(P=ak(30)|0,P+-1&P?Qa():(a[30926]=P,a[30925]=P,a[30927]=-1,a[30928]=-1,a[30929]=0,a[30917]=0,P=(sl(0)|0)&-16^1431655768,a[30924]=P));P=m+48|0;A=a[30926]|0;O=m+47|0;k=A+O|0;p=0-A|0;A=k&p;if(A>>>0<=m>>>0)return 0;z=a[30916]|0;if(0!=(z|0)&&(X=a[30914]|0,T=X+A|0,T>>>0<=X>>>0|T>>>0>z>>>0))return 0;a:do{if(a[30917]&4)C=0;else{z=a[30812]|0;b:do if(z){for(T=123672;;){X=a[T>>2]|0;if(X>>>0<=z>>>0&&(M=T+4|0,(X+(a[M>>2]|0)|0)>>>0>z>>>0)){X=T;q=M;break}T=a[T+8>>2]|
-0;if(!T){n=174;break b}}T=k-(a[30809]|0)&p;if(2147483647>T>>>0)if(M=cg(T|0)|0,u=(X=(M|0)==((a[X>>2]|0)+(a[q>>2]|0)|0))?T:0,X)if(-1==(M|0))Oa=u;else{l=M;g=u;n=194;break a}else D=M,Q=T,F=u,n=184;else Oa=0}else n=174;while(0);do if(174==(n|0))if(z=cg(0)|0,-1!=(z|0))if(q=z,u=a[30925]|0,T=u+-1|0,r=T&q?A-q+(T+q&0-u)|0:A,u=a[30914]|0,q=u+r|0,r>>>0>m>>>0&2147483647>r>>>0)if(T=a[30916]|0,0!=(T|0)&&q>>>0<=u>>>0|q>>>0>T>>>0)Oa=0;else if(T=cg(r|0)|0,u=(q=(T|0)==(z|0))?r:0,q){l=z;g=u;n=194;break a}else D=T,Q=
-r,F=u,n=184;else Oa=0;else Oa=0;while(0);b:do if(184==(n|0)){u=0-Q|0;do if(P>>>0>Q>>>0&2147483647>Q>>>0&-1!=(D|0)&&(T=a[30926]|0,z=O-Q+T&0-T,2147483647>z>>>0))if(-1==(cg(z|0)|0)){cg(u|0)|0;Oa=F;break b}else ba=z+Q|0;else ba=Q;while(0);if(-1==(D|0))Oa=F;else{l=D;g=ba;n=194;break a}}while(0);a[30917]|=4;C=Oa}n=191}while(0);191==(n|0)&&2147483647>A>>>0&&(Oa=cg(A|0)|0,A=cg(0)|0,Oa>>>0<A>>>0&-1!=(Oa|0)&-1!=(A|0))&&(ba=A-Oa|0,A=ba>>>0>(m+40|0)>>>0,A)&&(l=Oa,g=A?ba:C,n=194);if(194==(n|0)){C=(a[30914]|0)+
-g|0;a[30914]=C;C>>>0>(a[30915]|0)>>>0&&(a[30915]=C);C=a[30812]|0;a:do if(C){ba=123672;do{A=a[ba>>2]|0;Oa=ba+4|0;D=a[Oa>>2]|0;if((l|0)==(A+D|0)){N=A;R=Oa;S=D;ga=ba;n=204;break}ba=a[ba+8>>2]|0}while(0!=(ba|0));if(204==(n|0)&&0==(a[ga+12>>2]&8|0)&&C>>>0<l>>>0&C>>>0>=N>>>0)a[R>>2]=S+g,ba=(a[30809]|0)+g|0,D=C+8|0,Oa=0==(D&7|0)?0:0-D&7,D=ba-Oa|0,a[30812]=C+Oa,a[30809]=D,a[C+(Oa+4)>>2]=D|1,a[C+(ba+4)>>2]=40,a[30813]=a[30928];else{ba=a[30810]|0;M=l>>>0<ba>>>0?a[30810]=l:ba;ba=l+g|0;for(D=123672;;){if((a[D>>
-2]|0)==(ba|0)){ma=Y=D;n=212;break}D=a[D+8>>2]|0;if(!D){W=123672;break}}if(212==(n|0))if(a[ma+12>>2]&8)W=123672;else{a[Y>>2]=l;D=ma+4|0;a[D>>2]=(a[D>>2]|0)+g;D=l+8|0;ba=0==(D&7|0)?0:0-D&7;D=l+(g+8)|0;Oa=0==(D&7|0)?0:0-D&7;D=l+(Oa+g)|0;A=ba+m|0;F=l+A|0;Q=D-(l+ba)-m|0;a[l+(ba+4)>>2]=m|3;b:do if((D|0)!=(C|0))if((D|0)==(a[30811]|0))O=(a[30808]|0)+Q|0,a[30808]=O,a[30811]=F,a[l+(A+4)>>2]=O|1,a[l+(O+A)>>2]=O;else{O=g+4|0;P=a[l+(O+Oa)>>2]|0;if(1==(P&3|0)){r=P&-8;q=P>>>3;c:do if(256<=P>>>0){X=a[l+((Oa|24)+
-g)>>2]|0;p=a[l+(g+12+Oa)>>2]|0;do if((p|0)==(D|0)){k=Oa|16;u=l+(O+k)|0;if(z=a[u>>2]|0)N=z,R=u;else if(T=l+(k+g)|0,k=a[T>>2]|0)N=k,R=T;else{ha=0;break}for(;;)if(u=N+20|0,z=a[u>>2]|0)N=z,R=u;else if(u=N+16|0,z=a[u>>2]|0)N=z,R=u;else break;R>>>0<M>>>0?Qa():(a[R>>2]=0,ha=N)}else u=a[l+((Oa|8)+g)>>2]|0,u>>>0<M>>>0&&Qa(),z=u+12|0,(a[z>>2]|0)!=(D|0)&&Qa(),T=p+8|0,(a[T>>2]|0)==(D|0)?(a[z>>2]=p,a[T>>2]=u,ha=p):Qa();while(0);if(X){p=a[l+(g+28+Oa)>>2]|0;u=123528+(p<<2)|0;do if((D|0)!=(a[u>>2]|0)){if(X>>>0<(a[30810]|
-0)>>>0&&Qa(),T=X+16|0,(a[T>>2]|0)==(D|0)?a[T>>2]=ha:a[X+20>>2]=ha,!ha)break c}else if(a[u>>2]=ha,!ha){a[30807]&=~(1<<p);break c}while(0);p=a[30810]|0;ha>>>0<p>>>0&&Qa();a[ha+24>>2]=X;u=Oa|16;if(T=a[l+(u+g)>>2]|0)T>>>0<p>>>0?Qa():(a[ha+16>>2]=T,a[T+24>>2]=ha);if(T=a[l+(O+u)>>2]|0)T>>>0<(a[30810]|0)>>>0?Qa():(a[ha+20>>2]=T,a[T+24>>2]=ha)}}else T=a[l+((Oa|8)+g)>>2]|0,p=a[l+(g+12+Oa)>>2]|0,X=123264+(q<<1<<2)|0,(T|0)!=(X|0)&&(T>>>0<M>>>0&&Qa(),(a[T+12>>2]|0)!=(D|0)&&Qa()),(p|0)==(T|0)?a[30806]&=~(1<<q):
-((p|0)==(X|0)?U=p+8|0:(p>>>0<M>>>0&&Qa(),u=p+8|0,(a[u>>2]|0)==(D|0)?U=u:Qa()),a[T+12>>2]=p,a[U>>2]=T);while(0);O=l+((r|Oa)+g)|0;N=r+Q|0}else O=D,N=Q;q=O+4|0;a[q>>2]&=-2;a[l+(A+4)>>2]=N|1;a[l+(N+A)>>2]=N;q=N>>>3;if(256>N>>>0)O=q<<1,P=123264+(O<<2)|0,X=a[30806]|0,u=1<<q,X&u?(q=123264+(O+2<<2)|0,z=a[q>>2]|0,z>>>0>=(a[30810]|0)>>>0?(da=q,aa=z):Qa()):(a[30806]=X|u,da=123264+(O+2<<2)|0,aa=P),a[da>>2]=F,a[aa+12>>2]=F,a[l+(A+8)>>2]=aa,a[l+(A+12)>>2]=P;else if((O=N>>>8)?16777215<N>>>0?R=31:(u=(O+1048320|0)>>>
-16&8,X=O<<u,r=(X+520192|0)>>>16&4,z=X<<r,X=(z+245760|0)>>>16&2,q=14-(r|u|X)+(z<<X>>>15)|0,R=N>>>(q+7|0)&1|q<<1):R=0,O=123528+(R<<2)|0,a[l+(A+28)>>2]=R,a[l+(A+20)>>2]=0,a[l+(A+16)>>2]=0,P=a[30807]|0,q=1<<R,P&q){q=a[O>>2]|0;c:do if((a[q+4>>2]&-8|0)!=(N|0)){O=N<<(31==(R|0)?0:25-(R>>>1)|0);for(P=q;;){X=P+16+(O>>>31<<2)|0;z=a[X>>2]|0;if(!z){O=X;break}if((a[z+4>>2]&-8|0)==(N|0)){ca=z;break c}else O<<=1,P=z}if(O>>>0<(a[30810]|0)>>>0)Qa();else{a[O>>2]=F;a[l+(A+24)>>2]=P;a[l+(A+12)>>2]=F;a[l+(A+8)>>2]=F;break b}}else ca=
-q;while(0);q=ca+8|0;P=a[q>>2]|0;O=a[30810]|0;P>>>0>=O>>>0&ca>>>0>=O>>>0?(a[P+12>>2]=F,a[q>>2]=F,a[l+(A+8)>>2]=P,a[l+(A+12)>>2]=ca,a[l+(A+24)>>2]=0):Qa()}else a[30807]=P|q,a[O>>2]=F,a[l+(A+24)>>2]=O,a[l+(A+12)>>2]=F,a[l+(A+8)>>2]=F}else P=(a[30809]|0)+Q|0,a[30809]=P,a[30812]=F,a[l+(A+4)>>2]=P|1;while(0);l=l+(ba|8)|0;return l|0}for(;;){A=a[W>>2]|0;if(A>>>0<=C>>>0&&(F=a[W+4>>2]|0,Q=A+F|0,Q>>>0>C>>>0)){O=Q;break}W=a[W+8>>2]|0}ba=A+(F+-39)|0;Q=A+(F+-47+(0==(ba&7|0)?0:0-ba&7))|0;ba=C+16|0;F=Q>>>0<ba>>>
-0?C:Q;Q=F+8|0;A=l+8|0;D=0==(A&7|0)?0:0-A&7;A=g+-40-D|0;a[30812]=l+D;a[30809]=A;a[l+(D+4)>>2]=A|1;a[l+(g+-36)>>2]=40;a[30813]=a[30928];A=F+4|0;a[A>>2]=27;a[Q>>2]=a[30918];a[Q+4>>2]=a[30919];a[Q+8>>2]=a[30920];a[Q+12>>2]=a[30921];a[30918]=l;a[30919]=g;a[30921]=0;a[30920]=Q;Q=F+28|0;a[Q>>2]=7;if((F+32|0)>>>0<O>>>0){D=Q;do Q=D,D=D+4|0,a[D>>2]=7;while((Q+8|0)>>>0<O>>>0)}if((F|0)!=(C|0))if(D=F-C|0,a[A>>2]&=-2,a[C+4>>2]=D|1,a[F>>2]=D,Q=D>>>3,256>D>>>0)Oa=Q<<1,P=123264+(Oa<<2)|0,q=a[30806]|0,O=1<<Q,q&O?(Q=
-123264+(Oa+2<<2)|0,T=a[Q>>2]|0,T>>>0<(a[30810]|0)>>>0?Qa():(Z=Q,fa=T)):(a[30806]=q|O,Z=123264+(Oa+2<<2)|0,fa=P),a[Z>>2]=C,a[fa+12>>2]=C,a[C+8>>2]=fa,a[C+12>>2]=P;else if((P=D>>>8)?16777215<D>>>0?A=31:(Oa=(P+1048320|0)>>>16&8,O=P<<Oa,P=(O+520192|0)>>>16&4,q=O<<P,O=(q+245760|0)>>>16&2,T=14-(P|Oa|O)+(q<<O>>>15)|0,A=D>>>(T+7|0)&1|T<<1):A=0,T=123528+(A<<2)|0,a[C+28>>2]=A,a[C+20>>2]=0,a[ba>>2]=0,O=a[30807]|0,q=1<<A,O&q){q=a[T>>2]|0;b:do if((a[q+4>>2]&-8|0)!=(D|0)){T=D<<(31==(A|0)?0:25-(A>>>1)|0);for(O=
-q;;){Oa=O+16+(T>>>31<<2)|0;P=a[Oa>>2]|0;if(!P){ba=Oa;break}if((a[P+4>>2]&-8|0)==(D|0)){oa=P;break b}else T<<=1,O=P}if(ba>>>0<(a[30810]|0)>>>0)Qa();else{a[ba>>2]=C;a[C+24>>2]=O;a[C+12>>2]=C;a[C+8>>2]=C;break a}}else oa=q;while(0);q=oa+8|0;D=a[q>>2]|0;ba=a[30810]|0;D>>>0>=ba>>>0&oa>>>0>=ba>>>0?(a[D+12>>2]=C,a[q>>2]=C,a[C+8>>2]=D,a[C+12>>2]=oa,a[C+24>>2]=0):Qa()}else a[30807]=O|q,a[T>>2]=C,a[C+24>>2]=T,a[C+12>>2]=C,a[C+8>>2]=C}}else{D=a[30810]|0;0==(D|0)|l>>>0<D>>>0&&(a[30810]=l);a[30918]=l;a[30919]=
-g;a[30921]=0;a[30815]=a[30924];a[30814]=-1;D=0;do q=D<<1,ba=123264+(q<<2)|0,a[123264+(q+3<<2)>>2]=ba,a[123264+(q+2<<2)>>2]=ba,D=D+1|0;while(32!=(D|0));D=l+8|0;ba=0==(D&7|0)?0:0-D&7;D=g+-40-ba|0;a[30812]=l+ba;a[30809]=D;a[l+(ba+4)>>2]=D|1;a[l+(g+-36)>>2]=40;a[30813]=a[30928]}while(0);g=a[30809]|0;if(g>>>0>m>>>0)return l=g-m|0,a[30809]=l,g=a[30812]|0,a[30812]=g+m,a[g+(m+4)>>2]=l|1,a[g+4>>2]=m|3,g+8|0}g=md()|0;a[g>>2]=12;return 0}function Gc(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y=0,B=0,H,t=0,z,Q,u=0,
-r=0,w=0,x=0,J=0,I=0;if(b){d=b+-8|0;c=a[30810]|0;d>>>0<c>>>0&&Qa();e=a[b+-4>>2]|0;f=e&3;1==(f|0)&&Qa();g=e&-8;h=b+(g+-8)|0;do if(e&1)y=d,B=g;else{m=a[d>>2]|0;if(!f)return;k=-8-m|0;l=b+k|0;n=m+g|0;l>>>0<c>>>0&&Qa();if((l|0)==(a[30811]|0)){p=b+(g+-4)|0;q=a[p>>2]|0;if(3!=(q&3|0)){y=l;B=n;break}a[30808]=n;a[p>>2]=q&-2;a[b+(k+4)>>2]=n|1;a[h>>2]=n;return}q=m>>>3;if(256>m>>>0)m=a[b+(k+8)>>2]|0,p=a[b+(k+12)>>2]|0,H=123264+(q<<1<<2)|0,(m|0)!=(H|0)&&(m>>>0<c>>>0&&Qa(),(a[m+12>>2]|0)!=(l|0)&&Qa()),(p|0)==(m|
-0)?a[30806]&=~(1<<q):((p|0)!=(H|0)?(p>>>0<c>>>0&&Qa(),H=p+8|0,(a[H>>2]|0)==(l|0)?t=H:Qa()):t=p+8|0,a[m+12>>2]=p,a[t>>2]=m),y=l,B=n;else{m=a[b+(k+24)>>2]|0;p=a[b+(k+12)>>2]|0;do if((p|0)==(l|0)){H=b+(k+20)|0;if(q=a[H>>2]|0)Q=q,z=H;else if(z=b+(k+16)|0,Q=a[z>>2]|0,!Q){u=0;break}for(;;)if(H=Q+20|0,q=a[H>>2]|0)Q=q,z=H;else if(H=Q+16|0,q=a[H>>2]|0)Q=q,z=H;else{q=Q;H=z;break}H>>>0<c>>>0?Qa():(a[H>>2]=0,u=q)}else H=a[b+(k+8)>>2]|0,H>>>0<c>>>0&&Qa(),q=H+12|0,(a[q>>2]|0)!=(l|0)&&Qa(),z=p+8|0,(a[z>>2]|0)==
-(l|0)?(a[q>>2]=p,a[z>>2]=H,u=p):Qa();while(0);if(m){p=a[b+(k+28)>>2]|0;H=123528+(p<<2)|0;if((l|0)==(a[H>>2]|0)){if(a[H>>2]=u,!u){a[30807]&=~(1<<p);y=l;B=n;break}}else if(m>>>0<(a[30810]|0)>>>0&&Qa(),p=m+16|0,(a[p>>2]|0)==(l|0)?a[p>>2]=u:a[m+20>>2]=u,!u){y=l;B=n;break}p=a[30810]|0;u>>>0<p>>>0&&Qa();a[u+24>>2]=m;if(H=a[b+(k+16)>>2]|0)H>>>0<p>>>0?Qa():(a[u+16>>2]=H,a[H+24>>2]=u);(H=a[b+(k+20)>>2]|0)?H>>>0<(a[30810]|0)>>>0?Qa():(a[u+20>>2]=H,a[H+24>>2]=u,y=l,B=n):(y=l,B=n)}else y=l,B=n}}while(0);y>>>
-0>=h>>>0&&Qa();d=b+(g+-4)|0;u=a[d>>2]|0;u&1||Qa();if(u&2)a[d>>2]=u&-2,a[y+4>>2]=B|1,b=a[y+B>>2]=B;else{if((h|0)==(a[30812]|0)){c=(a[30809]|0)+B|0;a[30809]=c;a[30812]=y;a[y+4>>2]=c|1;if((y|0)!=(a[30811]|0))return;a[30811]=0;a[30808]=0;return}if((h|0)==(a[30811]|0)){c=(a[30808]|0)+B|0;a[30808]=c;a[30811]=y;a[y+4>>2]=c|1;a[y+c>>2]=c;return}c=(u&-8)+B|0;q=u>>>3;do if(256<=u>>>0){H=a[b+(g+16)>>2]|0;z=a[b+(g|4)>>2]|0;do if((z|0)==(h|0)){Q=b+(g+12)|0;if(t=a[Q>>2]|0)d=t,B=Q;else if(f=b+(g+8)|0,e=a[f>>2]|
-0)d=e,B=f;else{r=0;break}for(;;)if(Q=d+20|0,t=a[Q>>2]|0)d=t,B=Q;else if(Q=d+16|0,t=a[Q>>2]|0)d=t,B=Q;else break;B>>>0<(a[30810]|0)>>>0?Qa():(a[B>>2]=0,r=d)}else Q=a[b+g>>2]|0,Q>>>0<(a[30810]|0)>>>0&&Qa(),t=Q+12|0,(a[t>>2]|0)!=(h|0)&&Qa(),f=z+8|0,(a[f>>2]|0)==(h|0)?(a[t>>2]=z,a[f>>2]=Q,r=z):Qa();while(0);if(H){z=a[b+(g+20)>>2]|0;n=123528+(z<<2)|0;if((h|0)==(a[n>>2]|0)){if(a[n>>2]=r,!r){a[30807]&=~(1<<z);break}}else if(H>>>0<(a[30810]|0)>>>0&&Qa(),z=H+16|0,(a[z>>2]|0)==(h|0)?a[z>>2]=r:a[H+20>>2]=r,
-!r)break;z=a[30810]|0;r>>>0<z>>>0&&Qa();a[r+24>>2]=H;if(n=a[b+(g+8)>>2]|0)n>>>0<z>>>0?Qa():(a[r+16>>2]=n,a[n+24>>2]=r);if(n=a[b+(g+12)>>2]|0)n>>>0<(a[30810]|0)>>>0?Qa():(a[r+20>>2]=n,a[n+24>>2]=r)}}else n=a[b+g>>2]|0,z=a[b+(g|4)>>2]|0,H=123264+(q<<1<<2)|0,(n|0)!=(H|0)&&(n>>>0<(a[30810]|0)>>>0&&Qa(),(a[n+12>>2]|0)!=(h|0)&&Qa()),(z|0)==(n|0)?a[30806]&=~(1<<q):((z|0)!=(H|0)?(z>>>0<(a[30810]|0)>>>0&&Qa(),H=z+8|0,(a[H>>2]|0)==(h|0)?w=H:Qa()):w=z+8|0,a[n+12>>2]=z,a[w>>2]=n);while(0);a[y+4>>2]=c|1;a[y+c>>
-2]=c;if((y|0)==(a[30811]|0)){a[30808]=c;return}b=c}B=b>>>3;if(256>b>>>0)u=B<<1,d=123264+(u<<2)|0,c=a[30806]|0,w=1<<B,c&w?(B=123264+(u+2<<2)|0,h=a[B>>2]|0,h>>>0<(a[30810]|0)>>>0?Qa():(x=B,J=h)):(a[30806]=c|w,x=123264+(u+2<<2)|0,J=d),a[x>>2]=y,a[J+12>>2]=y,a[y+8>>2]=J,a[y+12>>2]=d;else{(d=b>>>8)?16777215<b>>>0?g=31:(J=(d+1048320|0)>>>16&8,x=d<<J,d=(x+520192|0)>>>16&4,u=x<<d,x=(u+245760|0)>>>16&2,w=14-(d|J|x)+(u<<x>>>15)|0,g=b>>>(w+7|0)&1|w<<1):g=0;w=123528+(g<<2)|0;a[y+28>>2]=g;a[y+20>>2]=0;a[y+16>>
-2]=0;x=a[30807]|0;u=1<<g;a:do if(x&u){J=a[w>>2]|0;b:do if((a[J+4>>2]&-8|0)!=(b|0)){d=b<<(31==(g|0)?0:25-(g>>>1)|0);for(c=J;;){h=c+16+(d>>>31<<2)|0;B=a[h>>2]|0;if(!B)break;if((a[B+4>>2]&-8|0)==(b|0)){I=B;break b}else d<<=1,c=B}if(h>>>0<(a[30810]|0)>>>0)Qa();else{a[h>>2]=y;a[y+24>>2]=c;a[y+12>>2]=y;a[y+8>>2]=y;break a}}else I=J;while(0);J=I+8|0;c=a[J>>2]|0;d=a[30810]|0;c>>>0>=d>>>0&I>>>0>=d>>>0?(a[c+12>>2]=y,a[J>>2]=y,a[y+8>>2]=c,a[y+12>>2]=I,a[y+24>>2]=0):Qa()}else a[30807]=x|u,a[w>>2]=y,a[y+24>>2]=
-w,a[y+12>>2]=y,a[y+8>>2]=y;while(0);y=(a[30814]|0)+-1|0;a[30814]=y;if(!y){for(y=123680;;)if(y=a[y>>2]|0)y=y+8|0;else break;a[30814]=-1}}}}function qi(b,d){b|=0;d|=0;var c,e;if(!b)return c=Hc(d)|0,c|0;if(4294967231<d>>>0)return c=md()|0,a[c>>2]=12,0;if(c=Jj(b+-8|0,11>d>>>0?16:d+11&-8)|0)return c+8|0;c=Hc(d)|0;if(!c)return 0;e=a[b+-4>>2]|0;e=(e&-8)-(0==(e&3|0)?8:4)|0;Ec(c|0,b|0,(e>>>0<d>>>0?e:d)|0)|0;Gc(b);return c|0}function Jj(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,y,B,H,t=0,z,Q=0;c=b+4|0;e=a[c>>
-2]|0;f=e&-8;g=b+f|0;h=a[30810]|0;m=e&3;1!=(m|0)&b>>>0>=h>>>0&b>>>0<g>>>0||Qa();k=b+(f|4)|0;l=a[k>>2]|0;l&1||Qa();if(!m)return 256>d>>>0?0:f>>>0>=(d+4|0)>>>0&&(f-d|0)>>>0<=a[30926]<<1>>>0?b|0:0;if(f>>>0>=d>>>0){m=f-d|0;if(15>=m>>>0)return b|0;a[c>>2]=e&1|d|2;a[b+(d+4)>>2]=m|3;a[k>>2]|=1;dl(b+d|0,m);return b|0}if((g|0)==(a[30812]|0)){m=(a[30809]|0)+f|0;if(m>>>0<=d>>>0)return 0;k=m-d|0;a[c>>2]=e&1|d|2;a[b+(d+4)>>2]=k|1;a[30812]=b+d;a[30809]=k;return b|0}if((g|0)==(a[30811]|0)){k=(a[30808]|0)+f|0;if(k>>>
-0<d>>>0)return 0;m=k-d|0;15<m>>>0?(a[c>>2]=e&1|d|2,a[b+(d+4)>>2]=m|1,a[b+k>>2]=m,n=b+(k+4)|0,a[n>>2]&=-2,p=b+d|0,q=m):(a[c>>2]=e&1|k|2,m=b+(k+4)|0,a[m>>2]|=1,q=p=0);a[30808]=q;a[30811]=p;return b|0}if(l&2)return 0;p=(l&-8)+f|0;if(p>>>0<d>>>0)return 0;q=p-d|0;m=l>>>3;do if(256<=l>>>0){k=a[b+(f+24)>>2]|0;n=a[b+(f+12)>>2]|0;do if((n|0)==(g|0)){y=b+(f+20)|0;if(B=a[y>>2]|0)z=B,H=y;else if(H=b+(f+16)|0,y=a[H>>2]|0)z=y;else{t=0;break}for(;;)if(y=z+20|0,B=a[y>>2]|0)z=B,H=y;else if(y=z+16|0,B=a[y>>2]|0)z=
-B,H=y;else{y=z;B=H;break}B>>>0<h>>>0?Qa():(a[B>>2]=0,t=y)}else y=a[b+(f+8)>>2]|0,y>>>0<h>>>0&&Qa(),B=y+12|0,(a[B>>2]|0)!=(g|0)&&Qa(),H=n+8|0,(a[H>>2]|0)==(g|0)?(a[B>>2]=n,a[H>>2]=y,t=n):Qa();while(0);if(k){n=a[b+(f+28)>>2]|0;y=123528+(n<<2)|0;if((g|0)==(a[y>>2]|0)){if(a[y>>2]=t,!t){a[30807]&=~(1<<n);break}}else if(k>>>0<(a[30810]|0)>>>0&&Qa(),n=k+16|0,(a[n>>2]|0)==(g|0)?a[n>>2]=t:a[k+20>>2]=t,!t)break;n=a[30810]|0;t>>>0<n>>>0&&Qa();a[t+24>>2]=k;if(y=a[b+(f+16)>>2]|0)y>>>0<n>>>0?Qa():(a[t+16>>2]=y,
-a[y+24>>2]=t);if(y=a[b+(f+20)>>2]|0)y>>>0<(a[30810]|0)>>>0?Qa():(a[t+20>>2]=y,a[y+24>>2]=t)}}else y=a[b+(f+8)>>2]|0,n=a[b+(f+12)>>2]|0,k=123264+(m<<1<<2)|0,(y|0)!=(k|0)&&(y>>>0<h>>>0&&Qa(),(a[y+12>>2]|0)!=(g|0)&&Qa()),(n|0)==(y|0)?a[30806]&=~(1<<m):((n|0)!=(k|0)?(n>>>0<h>>>0&&Qa(),k=n+8|0,(a[k>>2]|0)==(g|0)?Q=k:Qa()):Q=n+8|0,a[y+12>>2]=n,a[Q>>2]=y);while(0);16>q>>>0?(a[c>>2]=p|e&1|2,Q=b+(p|4)|0,a[Q>>2]|=1):(a[c>>2]=e&1|d|2,a[b+(d+4)>>2]=q|3,e=b+(p|4)|0,a[e>>2]|=1,dl(b+d|0,q));return b|0}function dl(b,
-d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n=0,p=0,q,y,B=0,H,t,z=0,Q=0,u=0,r=0,w=0;c=b+d|0;e=a[b+4>>2]|0;do if(e&1)n=b,p=d;else{f=a[b>>2]|0;if(!(e&3))return;g=b+(0-f)|0;h=f+d|0;m=a[30810]|0;g>>>0<m>>>0&&Qa();if((g|0)==(a[30811]|0)){k=b+(d+4)|0;l=a[k>>2]|0;if(3!=(l&3|0)){n=g;p=h;break}a[30808]=h;a[k>>2]=l&-2;a[b+(4-f)>>2]=h|1;a[c>>2]=h;return}l=f>>>3;if(256>f>>>0)k=a[b+(8-f)>>2]|0,q=a[b+(12-f)>>2]|0,y=123264+(l<<1<<2)|0,(k|0)!=(y|0)&&(k>>>0<m>>>0&&Qa(),(a[k+12>>2]|0)!=(g|0)&&Qa()),(q|0)==(k|0)?a[30806]&=~(1<<
-l):((q|0)!=(y|0)?(q>>>0<m>>>0&&Qa(),y=q+8|0,(a[y>>2]|0)==(g|0)?B=y:Qa()):B=q+8|0,a[k+12>>2]=q,a[B>>2]=k),n=g,p=h;else{k=a[b+(24-f)>>2]|0;q=a[b+(12-f)>>2]|0;do if((q|0)==(g|0)){y=16-f|0;l=b+(y+4)|0;if(H=a[l>>2]|0)y=H,t=l;else if(t=b+y|0,y=a[t>>2]|0,!y){z=0;break}for(;;)if(l=y+20|0,H=a[l>>2]|0)y=H,t=l;else if(l=y+16|0,H=a[l>>2]|0)y=H,t=l;else{H=t;break}H>>>0<m>>>0?Qa():(a[H>>2]=0,z=y)}else l=a[b+(8-f)>>2]|0,l>>>0<m>>>0&&Qa(),H=l+12|0,(a[H>>2]|0)!=(g|0)&&Qa(),t=q+8|0,(a[t>>2]|0)==(g|0)?(a[H>>2]=q,a[t>>
-2]=l,z=q):Qa();while(0);if(k){q=a[b+(28-f)>>2]|0;m=123528+(q<<2)|0;if((g|0)==(a[m>>2]|0)){if(a[m>>2]=z,!z){a[30807]&=~(1<<q);n=g;p=h;break}}else if(k>>>0<(a[30810]|0)>>>0&&Qa(),q=k+16|0,(a[q>>2]|0)==(g|0)?a[q>>2]=z:a[k+20>>2]=z,!z){n=g;p=h;break}q=a[30810]|0;z>>>0<q>>>0&&Qa();a[z+24>>2]=k;m=16-f|0;if(l=a[b+m>>2]|0)l>>>0<q>>>0?Qa():(a[z+16>>2]=l,a[l+24>>2]=z);(l=a[b+(m+4)>>2]|0)?l>>>0<(a[30810]|0)>>>0?Qa():(a[z+20>>2]=l,a[l+24>>2]=z,n=g,p=h):(n=g,p=h)}else n=g,p=h}}while(0);z=a[30810]|0;c>>>0<z>>>
-0&&Qa();y=b+(d+4)|0;H=a[y>>2]|0;if(H&2)a[y>>2]=H&-2,a[n+4>>2]=p|1,c=a[n+p>>2]=p;else{if((c|0)==(a[30812]|0)){t=(a[30809]|0)+p|0;a[30809]=t;a[30812]=n;a[n+4>>2]=t|1;if((n|0)!=(a[30811]|0))return;a[30811]=0;a[30808]=0;return}if((c|0)==(a[30811]|0)){t=(a[30808]|0)+p|0;a[30808]=t;a[30811]=n;a[n+4>>2]=t|1;a[n+t>>2]=t;return}t=(H&-8)+p|0;y=H>>>3;do if(256<=H>>>0){B=a[b+(d+24)>>2]|0;e=a[b+(d+12)>>2]|0;do if((e|0)==(c|0)){l=b+(d+20)|0;if(q=a[l>>2]|0)p=q,f=l;else if(f=b+(d+16)|0,k=a[f>>2]|0)p=k;else{Q=0;break}for(;;)if(l=
-p+20|0,q=a[l>>2]|0)p=q,f=l;else if(l=p+16|0,q=a[l>>2]|0)p=q,f=l;else{q=p;break}f>>>0<z>>>0?Qa():(a[f>>2]=0,Q=q)}else l=a[b+(d+8)>>2]|0,l>>>0<z>>>0&&Qa(),q=l+12|0,(a[q>>2]|0)!=(c|0)&&Qa(),f=e+8|0,(a[f>>2]|0)==(c|0)?(a[q>>2]=e,a[f>>2]=l,Q=e):Qa();while(0);if(B){e=a[b+(d+28)>>2]|0;h=123528+(e<<2)|0;if((c|0)==(a[h>>2]|0)){if(a[h>>2]=Q,!Q){a[30807]&=~(1<<e);break}}else if(B>>>0<(a[30810]|0)>>>0&&Qa(),e=B+16|0,(a[e>>2]|0)==(c|0)?a[e>>2]=Q:a[B+20>>2]=Q,!Q)break;e=a[30810]|0;Q>>>0<e>>>0&&Qa();a[Q+24>>2]=
-B;if(h=a[b+(d+16)>>2]|0)h>>>0<e>>>0?Qa():(a[Q+16>>2]=h,a[h+24>>2]=Q);if(h=a[b+(d+20)>>2]|0)h>>>0<(a[30810]|0)>>>0?Qa():(a[Q+20>>2]=h,a[h+24>>2]=Q)}}else h=a[b+(d+8)>>2]|0,e=a[b+(d+12)>>2]|0,B=123264+(y<<1<<2)|0,(h|0)!=(B|0)&&(h>>>0<z>>>0&&Qa(),(a[h+12>>2]|0)!=(c|0)&&Qa()),(e|0)==(h|0)?a[30806]&=~(1<<y):((e|0)!=(B|0)?(e>>>0<z>>>0&&Qa(),B=e+8|0,(a[B>>2]|0)==(c|0)?u=B:Qa()):u=e+8|0,a[h+12>>2]=e,a[u>>2]=h);while(0);a[n+4>>2]=t|1;a[n+t>>2]=t;if((n|0)==(a[30811]|0)){a[30808]=t;return}c=t}p=c>>>3;if(256>
-c>>>0)H=p<<1,y=123264+(H<<2)|0,t=a[30806]|0,u=1<<p,t&u?(p=123264+(H+2<<2)|0,c=a[p>>2]|0,c>>>0<(a[30810]|0)>>>0?Qa():(r=p,w=c)):(a[30806]=t|u,r=123264+(H+2<<2)|0,w=y),a[r>>2]=n,a[w+12>>2]=n,a[n+8>>2]=w,a[n+12>>2]=y;else if((y=c>>>8)?16777215<c>>>0?w=31:(w=(y+1048320|0)>>>16&8,r=y<<w,y=(r+520192|0)>>>16&4,H=r<<y,r=(H+245760|0)>>>16&2,u=14-(y|w|r)+(H<<r>>>15)|0,w=c>>>(u+7|0)&1|u<<1):w=0,u=123528+(w<<2)|0,a[n+28>>2]=w,a[n+20>>2]=0,a[n+16>>2]=0,r=a[30807]|0,H=1<<w,r&H){H=a[u>>2]|0;a:do if((a[H+4>>2]&-8|
-0)==(c|0))r=H;else{u=c<<(31==(w|0)?0:25-(w>>>1)|0);for(r=H;;){w=r+16+(u>>>31<<2)|0;y=a[w>>2]|0;if(!y){u=w;w=r;break}if((a[y+4>>2]&-8|0)==(c|0)){r=y;break a}else u<<=1,r=y}u>>>0<(a[30810]|0)>>>0&&Qa();a[u>>2]=n;a[n+24>>2]=w;a[n+12>>2]=n;a[n+8>>2]=n;return}while(0);w=r+8|0;u=a[w>>2]|0;c=a[30810]|0;u>>>0>=c>>>0&r>>>0>=c>>>0||Qa();a[u+12>>2]=n;a[w>>2]=n;a[n+8>>2]=u;a[n+12>>2]=r;a[n+24>>2]=0}else a[30807]=r|H,a[u>>2]=n,a[n+24>>2]=u,a[n+12>>2]=n,a[n+8>>2]=n}function Ic(a,d,c,e){a|=0;c|=0;return(U=(d|0)-
-(e|0)-(c>>>0>a>>>0|0)>>>0,a-c>>>0|0)|0}function Va(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=b+c|0;if(20<=(c|0)){d&=255;f=b&3;g=d|d<<8|d<<16|d<<24;h=e&-4;if(f)for(f=b+4-f|0;(b|0)<(f|0);)t[b>>0]=d,b=b+1|0;for(;(b|0)<(h|0);)a[b>>2]=g,b=b+4|0}for(;(b|0)<(e|0);)t[b>>0]=d,b=b+1|0;return b-c|0}function Oc(a,d,c){a|=0;c|=0;if(32>(c|0))return U=(d|0)<<c|(a&(1<<c)-1<<32-c)>>>32-c,a<<c;U=a<<c-32;return 0}function Qb(a,d,c,e){a|=0;c=a+(c|0)>>>0;return(U=(d|0)+(e|0)+(c>>>0<a>>>0|0)>>>0,c|0)|0}function Xc(b,d,c,e){b|=
-0;d|=0;c|=0;e|=0;var f=0;bj=bj+1|0;for(a[b>>2]=bj;(f|0)<(e|0);){if(!(a[c+(f<<3)>>2]|0))return a[c+(f<<3)>>2]=bj,a[c+((f<<3)+4)>>2]=d,a[c+((f<<3)+8)>>2]=0,U=e,c|0;f=f+1|0}e=2*e|0;c=qi(c|0,8*(e+1|0)|0)|0;c=Xc(b|0,d|0,c|0,e|0)|0;U=e;return c|0}function Oe(a,d,c){d|=0;c|=0;if(32>(c|0))return U=d>>>c,(a|0)>>>c|(d&(1<<c)-1)<<32-c;U=0;return d>>>c-32|0}function db(b,d,c){b|=0;d|=0;c|=0;for(var e=0,f;(e|0)<(c|0);){f=a[d+(e<<3)>>2]|0;if(!f)break;if((f|0)==(b|0))return a[d+((e<<3)+4)>>2]|0;e=e+1|0}return 0}
-function Ec(b,d,c){b|=0;d|=0;c|=0;var e;if(4096<=(c|0))return Tj(b|0,d|0,c|0)|0;e=b|0;if((b&3)==(d&3)){for(;b&3;){if(!c)return e|0;t[b>>0]=t[d>>0]|0;b=b+1|0;d=d+1|0;c=c-1|0}for(;4<=(c|0);)a[b>>2]=a[d>>2],b=b+4|0,d=d+4|0,c=c-4|0}for(;0<(c|0);)t[b>>0]=t[d>>0]|0,b=b+1|0,d=d+1|0,c=c-1|0;return e|0}function lk(a){a|=0;return(a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function el(a){a|=0;var d;d=t[cj+(a&255)>>0]|0;if(8>(d|0))return d|0;d=t[cj+(a>>8&255)>>0]|0;if(8>(d|0))return d+8|0;d=t[cj+(a>>16&
-255)>>0]|0;return 8>(d|0)?d+16|0:(t[cj+(a>>>24)>>0]|0)+24|0}function Cf(a,d,c,e){d|=0;e|=0;var f,g;f=a|0;a=c|0;c=f|0;g=a|0;var h,m,k,l;h=c&65535;m=g&65535;k=E(m,h)|0;l=c>>>16;c=(k>>>16)+(E(m,l)|0)|0;m=g>>>16;g=E(m,h)|0;c=(U=(c>>>16)+(E(m,l)|0)+(((c&65535)+g|0)>>>16)|0,c+g<<16|k&65535|0)|0;g=U;return(U=(E(d,a)|0)+(E(e,f)|0)+g|g&0,c|0)|0}function pf(a,d,c,e){return fl(a|0,d|0,c|0,e|0,0)|0}function vk(b,d,c,e){var f,g;f=u;u=u+16|0;g=f|0;fl(b|0,d|0,c|0,e|0,g)|0;u=f;return(U=a[g+4>>2]|0,a[g>>2]|0)|0}function fl(b,
-d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,t,z,u,C,r;g=b;m=h=d;k=c;n=l=e;if(!m){p=0!=(f|0);if(n){if(!p)return(U=0,0)|0;a[f>>2]=b|0;a[f+4>>2]=d&0;return(U=0,0)|0}p&&(a[f>>2]=(g>>>0)%(k>>>0),a[f+4>>2]=0);return(U=0,(g>>>0)/(k>>>0)>>>0)|0}p=0==(n|0);do if(k){if(!p){y=(Ih(n|0)|0)-(Ih(m|0)|0)|0;if(31>=y>>>0){B=y+1|0;H=31-y|0;t=y-31>>31;q=B;z=g>>>(B>>>0)&t|m<<H;u=m>>>(B>>>0)&t;C=0;y=g<<H;break}if(!f)return q=f=0,(U=f,q)|0;a[f>>2]=b|0;a[f+4>>2]=h|d&0;q=f=0;return(U=f,q)|0}H=k-1|0;if(H&k)t=
-(Ih(k|0)|0)+33-(Ih(m|0)|0)|0,B=64-t|0,y=32-t|0,H=y>>31,r=t-32|0,u=r>>31,q=t,z=y-1>>31&m>>>(r>>>0)|(m<<y|g>>>(t>>>0))&u,u&=m>>>(t>>>0),C=g<<B&H,y=(m<<B|g>>>(r>>>0))&H|g<<y&t-33>>31;else return f&&(a[f>>2]=H&g,a[f+4>>2]=0),1==(k|0)?(f=h|d&0,q=b|0):(H=el(k|0)|0,f=m>>>(H>>>0)|0,q=m<<32-H|g>>>(H>>>0)|0),(U=f,q)|0}else{if(p)return f&&(a[f>>2]=(m>>>0)%(k>>>0),a[f+4>>2]=0),f=0,q=(m>>>0)/(k>>>0)>>>0,(U=f,q)|0;if(!g)return f&&(a[f>>2]=0,a[f+4>>2]=(m>>>0)%(n>>>0)),f=0,q=(m>>>0)/(n>>>0)>>>0,(U=f,q)|0;H=n-1|0;
-if(!(H&n))return f&&(a[f>>2]=b|0,a[f+4>>2]=H&m|d&0),f=0,q=m>>>((el(n|0)|0)>>>0),(U=f,q)|0;H=(Ih(n|0)|0)-(Ih(m|0)|0)|0;if(30>=H>>>0)t=H+1|0,y=31-H|0,q=t,z=m<<y|g>>>(t>>>0),u=m>>>(t>>>0),C=0,y=g<<y;else{if(!f)return q=f=0,(U=f,q)|0;a[f>>2]=b|0;a[f+4>>2]=h|d&0;q=f=0;return(U=f,q)|0}}while(0);if(q){d=c|0;c=l|e&0;e=Qb(d|0,c|0,-1,-1)|0;l=U;h=y;y=C;C=u;u=z;z=q;q=0;do b=h,h=y>>>31|h<<1,y=q|y<<1,g=u<<1|b>>>31|0,b=u>>>31|C<<1|0,Ic(e,l,g,b)|0,m=U,n=m>>31|(0>(m|0)?-1:0)<<1,q=n&1,u=Ic(g,b,n&d,((0>(m|0)?-1:0)>>
-31|(0>(m|0)?-1:0)<<1)&c)|0,C=U,z=z-1|0;while(0!=(z|0));b=h;g=y;m=C;z=u;u=0;k=q}else b=y,g=C,m=u,k=u=0;q=g;g=0;f&&(a[f>>2]=z,a[f+4>>2]=m);return(U=(q|0)>>>31|(b|g)<<1|(g<<1|q>>>31)&0|u,(q<<1|0)&-2|k)|0}function xc(a,d,c){Md(0);return 0}function Jh(a,d,c,e,f,g,h){Md(1)}function Ve(a,d,c,e,f){Md(2)}function fc(a){Md(3)}function We(a,d){Md(4)}function gl(a,d,c,e,f,g){Md(5);return 0}function Gf(a,d,c,e,f,g,h,m,k,l,n,p){Md(6)}function rf(a){Md(7);return 0}function $b(a,d,c){Md(8)}function Kh(a,d,c,e,f,
-g,h,m,k){Md(9)}function Hf(a,d,c,e){Md(10);return 0}function Pb(a,d){Md(11);return 0}function hl(a,d,c,e,f){Md(12);return 0}function mi(a,d,c,e){Md(13)}"use asm";var il=r.Int8Array,jl=r.Int16Array,kl=r.Int32Array,ll=r.Uint8Array,ml=r.Uint16Array,nl=r.Uint32Array,ol=r.Float32Array,pl=r.Float64Array,t=new il(A),w=new jl(A),a=new kl(A),x=new ll(A),N=new ml(A);new nl(A);var W=new ol(A),Hb=new pl(A),Fk=r.byteLength,u=v.STACKTOP|0,Qc=v.tempDoublePtr|0,cj=v.cttz_i8|0,Wa=0,pa=0,bj=0,Eh=r.NaN,Kj=r.Infinity,
-U=0,Lj=r.Math.floor,Kk=r.Math.abs,Tg=r.Math.sqrt,Oi=r.Math.pow,ek=r.Math.atan2,xh=r.Math.exp,Nd=r.Math.log,E=r.Math.imul,Ih=r.Math.clz32,Md=v.abort,Pg=v.invoke_iiii,ri=v.invoke_vi,dk=v.invoke_vii,si=v.invoke_ii,Qi=v.invoke_viii,Mj=v.invoke_iiiii,Jk=v.invoke_iii,Nj=v._pthread_cleanup_pop,Oj=v.___syscall54,Pj=v._pthread_cleanup_push,Yk=v.___syscall6,Z=v.___assert_fail,Vb=v._longjmp,Qj=v.___syscall91,cg=v._sbrk,Rj=v.___syscall192,Sj=v.___syscall197,Tj=v._emscripten_memcpy_big,Uj=v.___syscall195,Vj=v.___syscall221,
-Wj=v._pthread_self,Xj=v._getenv,Yj=v.___unlock,Zj=v.___syscall3,ak=v._sysconf,rl=v.___lock,Qa=v._abort,tl=v.___syscall5,ul=v.___syscall4,sl=v._time,ql=v.___syscall140,vl=v._exit,Qk=v.___syscall146,Aa=[xc,function(b,d,c){b|=0;c|=0;var e,f;e=b+20|0;f=a[e>>2]|0;b=(a[b+16>>2]|0)-f|0;b=b>>>0>c>>>0?c:b;Ec(f|0,d|0,b|0)|0;a[e>>2]=(a[e>>2]|0)+b;return c|0},Pk,function(b,d,c){var e,f;e=u;u=u+32|0;f=e+20|0;a[e>>2]=a[(b|0)+60>>2];a[e+4>>2]=0;a[e+8>>2]=d|0;a[e+12>>2]=f;a[e+16>>2]=c|0;if(0>(le(ql(140,e|0)|0)|0))return a[f>>
-2]=-1,u=e,-1;b=a[f>>2]|0;u=e;return b|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f;e=u;u=u+80|0;f=e;a[b+36>>2]=2;0==(a[b>>2]&64|0)&&(a[f>>2]=a[b+60>>2],a[f+4>>2]=21505,a[f+8>>2]=e+12,0!=(Oj(54,f|0)|0))&&(t[b+75>>0]=-1);f=Pk(b,d,c)|0;u=e;return f|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,r,V,v,J,I,G,L,K,A,D,O,M,T=0,X=0,P,Oa=0,F=0,S=0,ba=0,bf,Te=0,U=0,ga=0,Ha=0,ma=0,da=0,ha=0,aa=0,ca=0,pc=0,fa=0;e=u;u=u+208|0;f=e+160|0;g=e+144|0;h=e+128|0;m=e+104|0;k=e+88|0;l=e+80|0;n=e+
-64|0;p=e+48|0;q=e+40|0;y=e+32|0;B=e+24|0;H=e+204|0;ka=e+200|0;z=e+207|0;Q=e+206|0;C=e+198|0;r=e+196|0;V=e+192|0;v=e+188|0;J=e+16|0;I=e+8|0;G=e+184|0;L=b+40|0;K=ki(b,d,0)|0;if(!K)return u=e,0;D=(A=65==(w[K+24>>1]|0))?0:d;a:do{if(297>(D|0)){do switch(D|0){case 254:O=(a[c>>2]|0)+3&-4;M=a[O>>2]|0;a[c>>2]=O+4;a[b+80>>2]=M;T=1;X=219;break a;case 256:M=(a[c>>2]|0)+3&-4;O=a[M>>2]|0;a[c>>2]=M+4;a[b+56>>2]=O;T=1;X=219;break a;case 257:O=(a[c>>2]|0)+3&-4;M=a[O>>2]|0;a[c>>2]=O+4;a[b+60>>2]=M;T=1;X=219;break a;
-case 258:M=(a[c>>2]|0)+3&-4;O=a[M>>2]|0;a[c>>2]=M+4;w[b+84>>1]=O;if(!(a[b+12>>2]&128)){T=1;X=219;break a}switch(O&65535|0){case 8:a[b+652>>2]=3;T=1;X=219;break a;case 16:a[b+652>>2]=4;T=1;X=219;break a;case 24:a[b+652>>2]=5;T=1;X=219;break a;case 32:a[b+652>>2]=6;T=1;X=219;break a;case 64:a[b+652>>2]=7;T=1;X=219;break a;case 128:a[b+652>>2]=7;T=1;X=219;break a;default:T=1;X=219;break a}case 259:O=(a[c>>2]|0)+3&-4;M=a[O>>2]|0;a[c>>2]=O+4;O=M&65535;if(a[L>>2]&128){if((w[b+88>>1]|0)==(M&65535)<<16>>
-16){T=1;X=219;break a}R[a[b+564>>2]&127](b);P=b+12|0;a[P>>2]&=-33}P=b;p=O;P|=0;p|=0;L=B=0;O=p&65535;q=a[1940]|0;c:do if(q)for(y=q;;){f=a[y+4>>2]|0;if((w[f+4>>1]|0)==O<<16>>16){L=f;break c}y=a[y>>2]|0;if(!y){B=3;break}}else B=3;while(0);c:do if(3==(B|0))if(a[1941]|0)for(q=7764;;){if((w[q+4>>1]|0)==O<<16>>16){L=q;break c}q=q+12|0;if(!(a[q>>2]|0)){L=0;break}}else L=0;while(0);a[P+504>>2]=4;a[P+500>>2]=1;a[P+508>>2]=5;a[P+512>>2]=20;a[P+532>>2]=6;a[P+540>>2]=7;a[P+548>>2]=8;a[P+520>>2]=1;a[P+516>>2]=
-5;a[P+524>>2]=20;a[P+528>>2]=5;a[P+536>>2]=9;a[P+544>>2]=10;a[P+552>>2]=11;a[P+556>>2]=1;a[P+560>>2]=21;a[P+564>>2]=1;a[P+568>>2]=22;a[P+572>>2]=8;O=P+12|0;a[O>>2]&=-131329;L?(P=dd[a[L+8>>2]&127](P,p)|0,P|=0):P=1;P|=0;if(!P){Oa=0;break a}w[b+88>>1]=M;T=P;X=219;break a;case 262:P=(a[c>>2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;w[b+90>>1]=M;T=1;X=219;break a;case 263:M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;w[b+92>>1]=P;T=1;X=219;break a;case 266:P=(a[c>>2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;P=M&65535;if(1<
-(P+-1|0)>>>0){F=P;X=223;break a}w[b+94>>1]=M;T=1;X=219;break a;case 274:M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;M=P&65535;if(7<(M+-1|0)>>>0){F=M;X=223;break a}w[b+96>>1]=P;T=1;X=219;break a;case 277:P=(a[c>>2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;if(!(M&65535)){F=0;X=223;break a}w[b+98>>1]=M;T=1;X=219;break a;case 278:M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;if(!P){S=0;X=226;break a}a[b+100>>2]=P;if(a[L>>2]&4){T=1;X=219;break a}a[b+72>>2]=P;a[b+68>>2]=a[b+56>>2];T=1;X=219;break a;case 280:P=(a[c>>
-2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;w[b+104>>1]=M;T=1;X=219;break a;case 281:M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;w[b+106>>1]=P;T=1;X=219;break a;case 282:P=(a[c>>2]|0)+7&-8;p=+Hb[P>>3];a[c>>2]=P+8;if(!(0>p)){W[b+116>>2]=p;T=1;X=219;break a}break;case 283:P=(a[c>>2]|0)+7&-8;p=+Hb[P>>3];a[c>>2]=P+8;if(!(0>p)){W[b+120>>2]=p;T=1;X=219;break a}break;case 284:P=(a[c>>2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;P=M&65535;if(1<(P+-1|0)>>>0){F=P;X=223;break a}w[b+126>>1]=M;T=1;X=219;break a;case 286:M=(a[c>>
-2]|0)+7&-8;p=+Hb[M>>3];a[c>>2]=M+8;W[b+128>>2]=p;T=1;X=219;break a;case 287:M=(a[c>>2]|0)+7&-8;p=+Hb[M>>3];a[c>>2]=M+8;W[b+132>>2]=p;T=1;X=219;break a;case 296:M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;M=P&65535;if(2<(M+-1|0)>>>0){F=M;X=223;break a}w[b+124>>1]=P;T=1;X=219;break a;default:X=163;break a}while(0);P=Lf(b,d)|0;M=a[b+628>>2]|0;g=P?a[P+28>>2]|0:129632;a[f>>2]=a[b>>2];Hb[f+8>>3]=p;a[f+16>>2]=g;Y(M,129317,129670,f);b=0;u=e;return b|0}if(340<=(D|0)){if(32995<=(D|0))if(32997<=(D|0)){if(32998>
-(D|0)){switch(D|0){case 32997:break;default:X=163;break a}M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;a[b+64>>2]=P;T=1;X=219;break}if(65563>(D|0)){switch(D|0){case 32998:break;default:X=163;break a}P=(a[c>>2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;if(!M){S=0;X=226;break}a[b+76>>2]=M;T=1;X=219;break}switch(D|0){case 65563:break;default:X=163;break a}M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;M=b+12|0;O=a[M>>2]|0;a[M>>2]=1==(P&65535|0)?O|4194304:O&-4194305;T=1;X=219;break}else switch(D|0){case 32995:O=(a[c>>
-2]|0)+3&-4;M=a[O>>2]|0;a[c>>2]=O+4;O=0!=(M&65535|0);w[b+156>>1]=O&1;if(!O){T=1;X=219;break a}w[H>>1]=1;O=b+160|0;if(M=a[O>>2]|0)ja(M),a[O>>2]=0;M=eb(2)|0;a[O>>2]=M;if(!M){T=1;X=219;break a}Ab(M,H,2);T=1;X=219;break a;case 32996:M=(a[c>>2]|0)+3&-4;O=a[M>>2]|0;a[c>>2]=M+4;M=O&65535;switch(M|0){case 0:T=4;break;case 1:T=2;break;case 2:T=1;break;case 3:T=3;break;default:F=M;X=223;break a}w[b+86>>1]=T;T=1;X=219;break a;default:X=163;break a}switch(D|0){case 340:M=b+108|0;if(!(a[b+12>>2]&4194304)){O=(a[c>>
-2]|0)+7&-8;p=+Hb[O>>3];a[c>>2]=O+8;O=w[b+98>>1]|0;P=O&65535;(B=a[M>>2]|0)&&ja(B);B=eb(P<<3)|0;a[M>>2]=B;if(0==O<<16>>16|0==(B|0)){T=1;X=219;break a}else T=P;for(;;)if(T=T+-1|0,Hb[B+(T<<3)>>3]=p,!T){T=1;X=219;break a}}B=(a[c>>2]|0)+3&-4;P=a[B>>2]|0;a[c>>2]=B+4;B=N[b+98>>1]|0;if(O=a[M>>2]|0)ja(O),a[M>>2]=0;if(!P){T=1;X=219;break a}O=B<<3;B=eb(O)|0;a[M>>2]=B;if(!B){T=1;X=219;break a}Ab(B,P,O);T=1;X=219;break a;case 341:O=b+112|0;if(!(a[b+12>>2]&4194304)){P=(a[c>>2]|0)+7&-8;p=+Hb[P>>3];a[c>>2]=P+8;P=
-w[b+98>>1]|0;B=P&65535;(q=a[O>>2]|0)&&ja(q);q=eb(B<<3)|0;a[O>>2]=q;if(0==P<<16>>16|0==(q|0)){T=1;X=219;break a}else T=B;for(;;)if(T=T+-1|0,Hb[q+(T<<3)>>3]=p,!T){T=1;X=219;break a}}q=(a[c>>2]|0)+3&-4;M=a[q>>2]|0;a[c>>2]=q+4;q=N[b+98>>1]|0;if(B=a[O>>2]|0)ja(B),a[O>>2]=0;if(!M){T=1;X=219;break a}B=q<<3;q=eb(B)|0;a[O>>2]=q;if(!q){T=1;X=219;break a}Ab(q,M,B);T=1;X=219;break a;case 531:B=(a[c>>2]|0)+3&-4;M=a[B>>2]|0;a[c>>2]=B+4;w[b+196>>1]=M;T=1;X=219;break a;case 530:M=(a[c>>2]|0)+3&-4;B=a[M>>2]|0;a[c>>
-2]=M+4;w[b+192>>1]=B;B=(a[c>>2]|0)+3&-4;M=a[B>>2]|0;a[c>>2]=B+4;w[b+194>>1]=M;T=1;X=219;break a;case 532:M=b+212|0;B=(a[c>>2]|0)+3&-4;q=a[B>>2]|0;a[c>>2]=B+4;if(B=a[M>>2]|0)ja(B),a[M>>2]=0;if(!q){T=1;X=219;break a}B=eb(24)|0;a[M>>2]=B;if(!B){T=1;X=219;break a}Ab(B,q,24);T=1;X=219;break a;default:X=163;break a}}do switch(D|0){case 297:q=(a[c>>2]|0)+3&-4;B=a[q>>2]|0;a[c>>2]=q+4;w[b+136>>1]=B;B=(a[c>>2]|0)+3&-4;q=a[B>>2]|0;a[c>>2]=B+4;w[b+138>>1]=q;T=1;X=219;break a;case 321:q=(a[c>>2]|0)+3&-4;B=a[q>>
-2]|0;a[c>>2]=q+4;w[b+152>>1]=B;B=(a[c>>2]|0)+3&-4;q=a[B>>2]|0;a[c>>2]=B+4;w[b+154>>1]=q;T=1;X=219;break a;case 320:q=1<<N[b+84>>1];B=b+140|0;M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;if(M=a[B>>2]|0)ja(M),a[B>>2]=0;0!=(P|0)&&(M=q<<1,(q&2147483647|0)==(q|0))&&(ba=eb(M)|0,a[B>>2]=ba,0!=(ba|0))&&Ab(ba,P,M);M=b+144|0;P=(a[c>>2]|0)+3&-4;ba=a[P>>2]|0;a[c>>2]=P+4;if(P=a[M>>2]|0)ja(P),a[M>>2]=0;0!=(ba|0)&&(P=q<<1,(q&2147483647|0)==(q|0))&&(B=eb(P)|0,a[M>>2]=B,0!=(B|0))&&Ab(B,ba,P);P=b+148|0;ba=(a[c>>2]|0)+
-3&-4;B=a[ba>>2]|0;a[c>>2]=ba+4;if(ba=a[P>>2]|0)ja(ba),a[P>>2]=0;if(!B){T=1;X=219;break a}ba=q<<1;if((q&2147483647|0)!=(q|0)){T=1;X=219;break a}q=eb(ba)|0;a[P>>2]=q;if(!q){T=1;X=219;break a}Ab(q,B,ba);T=1;X=219;break a;case 338:ba=(a[c>>2]|0)+3&-4;B=a[ba>>2]|0;a[c>>2]=ba+4;ba=B&65535;if(ba>>>0>(N[b+98>>1]|0)>>>0){F=ba;X=223;break a}B=(a[c>>2]|0)+3&-4;q=a[B>>2]|0;a[c>>2]=B+4;B=0==(q|0);if(B&0!=(ba|0)){F=ba;X=223;break a}if(ba)for(P=0;;){M=q+(P<<1)|0;O=w[M>>1]|0;if(2<(O&65535)){if(999!=O<<16>>16){F=
-ba;X=223;break a}w[M>>1]=2}P=P+1|0;if(P>>>0>=ba>>>0){T=ba;break}}else T=0;w[b+156>>1]=T;ba=b+160|0;if(P=a[ba>>2]|0)ja(P),a[ba>>2]=0;if(B){T=1;X=219;break a}P=T<<1;M=eb(P)|0;a[ba>>2]=M;if(!M){T=1;X=219;break a}Ab(M,q,P);T=1;X=219;break a;case 322:P=(a[c>>2]|0)+3&-4;M=a[P>>2]|0;a[c>>2]=P+4;if(M&15){if(a[b+8>>2]|0){S=M;X=226;break a}P=a[b+628>>2]|0;ba=a[b>>2]|0;a[B>>2]=M;Wb(P,ba,129236,B)}a[b+68>>2]=M;M=b+12|0;a[M>>2]|=1024;T=1;X=219;break a;case 323:M=(a[c>>2]|0)+3&-4;ba=a[M>>2]|0;a[c>>2]=M+4;if(ba&
-15){if(a[b+8>>2]|0){S=ba;X=226;break a}M=a[b+628>>2]|0;P=a[b>>2]|0;a[y>>2]=ba;Wb(M,P,129276,y)}a[b+72>>2]=ba;ba=b+12|0;a[ba>>2]|=1024;T=1;X=219;break a;case 339:ba=(a[c>>2]|0)+3&-4;P=a[ba>>2]|0;a[c>>2]=ba+4;ba=P&65535;if(5<(ba+-1|0)>>>0){F=ba;X=223;break a}M=P&65535;w[b+86>>1]=M;if(5==(ba|0)&&32==(w[b+84>>1]|0)&&(ba=b+652|0,6==(a[ba>>2]|0))){a[ba>>2]=4;T=1;X=219;break a}if(2<=(M+-5&65535)){T=1;X=219;break a}if(64!=(w[b+84>>1]|0)){T=1;X=219;break a}M=b+652|0;if(7!=(a[M>>2]|0)){T=1;X=219;break a}a[M>>
-2]=6;T=1;X=219;break a;case 330:if(a[b+12>>2]&8192){M=a[b+628>>2]|0;a[q>>2]=a[b>>2];Y(M,129317,129332,q);Oa=0;break a}M=(a[c>>2]|0)+3&-4;ba=a[M>>2]|0;a[c>>2]=M+4;M=b+184|0;w[M>>1]=ba;ba=b+188|0;P=(a[c>>2]|0)+3&-4;O=a[P>>2]|0;a[c>>2]=P+4;P=N[M>>1]|0;if(M=a[ba>>2]|0)ja(M),a[ba>>2]=0;if(!O){T=1;X=219;break a}M=P<<3;P=eb(M)|0;a[ba>>2]=P;if(!P){T=1;X=219;break a}Ab(P,O,M);T=1;X=219;break a;case 301:M=1<((N[b+98>>1]|0)-(N[b+156>>1]|0)|0)?3:1;O=b+84|0;P=0;do{ba=b+200+(P<<2)|0;X=(a[c>>2]|0)+3&-4;T=a[X>>2]|
-0;a[c>>2]=X+4;X=1<<N[O>>1];if(bf=a[ba>>2]|0)ja(bf),a[ba>>2]=0;0!=(T|0)&&(bf=X<<1,(X&2147483647|0)==(X|0))&&(X=eb(bf)|0,a[ba>>2]=X,0!=(X|0))&&Ab(X,T,bf);P=P+1|0}while((P|0)!=(M|0));T=1;X=219;break;case 333:M=(a[c>>2]|0)+3&-4;P=a[M>>2]|0;a[c>>2]=M+4;M=P&65535;P=(a[c>>2]|0)+3&-4;O=a[P>>2]|0;a[c>>2]=P+4;P=w[b+98>>1]|0;b:do if(M){q=O+M|0;if(P<<16>>16)ba=O,M=P;else{Oa=0;break a}for(;;){for(B=ba;;){if(B>>>0>=q>>>0){f=M;break b}bf=B+1|0;if(t[B>>0]|0)B=bf;else{B=bf;break}}M=M+-1<<16>>16;if(M<<16>>16)ba=B;
-else{L=B;break}}q=L-O|0;B=(L|0)!=(O|0);bf=B&1;if(!B){Oa=0;break a}B=b+220|0;if(T=a[B>>2]|0)ja(T),a[B>>2]=0;0!=(O|0)&&(T=eb(q)|0,a[B>>2]=T,0!=(T|0))&&Ab(T,O,q);a[b+216>>2]=q;T=bf;X=219;break a}else f=P;while(0);O=a[b+628>>2]|0;M=P&65535;a[p>>2]=a[b>>2];a[p+4>>2]=M;a[p+8>>2]=M-(f&65535);Y(O,128944,129363,p);Oa=0;break a;default:X=163;break a}while(0)}while(0);a:do if(163==(X|0))if(A){p=b+224|0;f=a[p>>2]|0;L=b+228|0;do if(0<(f|0)){B=a[L>>2]|0;for(ba=0;;){M=B+(12*ba|0)|0;if((a[a[M>>2]>>2]|0)==(d|0)){Te=
-M;U=ba;break}ba=ba+1|0;if((ba|0)>=(f|0)){X=172;break}}if(172==(X|0))ga=L,Ha=B,X=173;else{ba=B+(12*U|0)+8|0;if(P=a[ba>>2]|0)ja(P),a[ba>>2]=0;ma=Te}}else ga=L,Ha=a[L>>2]|0,X=173;while(0);do if(173==(X|0))if(L=f+1|0,a[p>>2]=L,ba=nf(Ha,12*L|0)|0)a[ga>>2]=ba,L=(a[p>>2]|0)+-1|0,P=ba+(12*L|0)|0,a[P>>2]=K,a[ba+(12*L|0)+8>>2]=0,a[ba+(12*L|0)+4>>2]=0,ma=P;else{L=a[b+628>>2]|0;a[l>>2]=a[b>>2];Y(L,129317,129420,l);Oa=0;break a}while(0);p=K+8|0;switch(a[p>>2]|0){case 7:case 2:case 6:case 1:M=1;break;case 8:case 3:M=
-2;break;case 10:case 5:case 13:case 11:case 9:case 4:M=4;break;case 18:case 17:case 16:case 12:M=8;break;default:M=0}if(f=M|0)if(P=K+27|0,ba=0!=(t[P>>0]|0),2==(a[p>>2]|0)){ba?-3==(w[K+6>>1]|0)?(L=(a[c>>2]|0)+3&-4,M=a[L>>2]|0,a[c>>2]=L+4,L=(a[c>>2]|0)+3&-4,q=a[L>>2]|0,a[c>>2]=L+4,da=M,ha=q):Z(129506,129019,529,129317):(q=(a[c>>2]|0)+3&-4,M=a[q>>2]|0,a[c>>2]=q+4,da=(bk(M)|0)+1|0,ha=M);a[ma+4>>2]=da;M=ma+8|0;if(q=a[M>>2]|0)ja(q),a[M>>2]=0;ha&&(q=eb(da)|0,(a[M>>2]=q)&&Ab(q,ha,da));T=1;X=219}else{q=K+
-6|0;M=w[q>>1]|0;L=M<<16>>16;b:do if(ba)y=(a[c>>2]|0)+3&-4,B=a[y>>2]|0,a[c>>2]=y+4,y=ma+4|0,a[y>>2]=B,aa=y,ca=B,X=195;else switch(M<<16>>16){case -3:case -1:B=ma+4|0;a[B>>2]=1;pc=B;fa=1;break b;case -2:B=N[b+98>>1]|0;y=ma+4|0;a[y>>2]=B;aa=y;ca=B;X=195;break b;default:B=ma+4|0;a[B>>2]=L;aa=B;ca=L;X=195;break b}while(0);if(195==(X|0))if(ca)pc=aa,fa=ca;else{L=a[b+628>>2]|0;M=a[K+28>>2]|0;ba=a[p>>2]|0;B=w[q>>1]|0;y=x[P>>0]|0;a[m>>2]=a[b>>2];a[m+4>>2]=M;a[m+8>>2]=ba;a[m+12>>2]=B;a[m+16>>2]=y;Y(L,129317,
-129544,m);Oa=0;break}L=Mf(b,fa,f,129607)|0;y=ma+8|0;if(a[y>>2]=L){if(336==(a[K>>2]|0)&&0==(Uk(a[K+28>>2]|0,131343)|0))B=(a[c>>2]|0)+3&-4,ba=a[B>>2]|0,a[c>>2]=B+4,w[ka>>1]=ba,ba=(a[c>>2]|0)+3&-4,B=a[ba>>2]|0,a[c>>2]=ba+4,w[ka+2>>1]=B,Ab(a[y>>2]|0,ka,4);else{if(0==(t[P>>0]|0)&&65532>=(N[q>>1]|0)&&(y=a[pc>>2]|0,1>=(y|0))){1!=(y|0)&&Z(129221,129019,597,129317);do switch(a[p>>2]|0){case 7:case 1:y=(a[c>>2]|0)+3&-4;B=a[y>>2]|0;a[c>>2]=y+4;t[z>>0]=B;Ab(L,z,f);T=1;X=219;break a;case 6:B=(a[c>>2]|0)+3&-4;
-y=a[B>>2]|0;a[c>>2]=B+4;t[Q>>0]=y;Ab(L,Q,f);T=1;X=219;break a;case 3:y=(a[c>>2]|0)+3&-4;B=a[y>>2]|0;a[c>>2]=y+4;w[C>>1]=B;Ab(L,C,f);T=1;X=219;break a;case 8:B=(a[c>>2]|0)+3&-4;y=a[B>>2]|0;a[c>>2]=B+4;w[r>>1]=y;Ab(L,r,f);T=1;X=219;break a;case 13:case 4:y=(a[c>>2]|0)+3&-4;B=a[y>>2]|0;a[c>>2]=y+4;a[V>>2]=B;Ab(L,V,f);T=1;X=219;break a;case 9:B=(a[c>>2]|0)+3&-4;y=a[B>>2]|0;a[c>>2]=B+4;a[v>>2]=y;Ab(L,v,f);T=1;X=219;break a;case 18:case 16:B=y=(a[c>>2]|0)+7&-8;ba=a[B>>2]|0;M=a[B+4>>2]|0;a[c>>2]=y+8;y=J;
-a[y>>2]=ba;a[y+4>>2]=M;Ab(L,J,f);T=1;X=219;break a;case 17:y=M=(a[c>>2]|0)+7&-8;ba=a[y>>2]|0;B=a[y+4>>2]|0;a[c>>2]=M+8;M=I;a[M>>2]=ba;a[M+4>>2]=B;Ab(L,I,f);T=1;X=219;break a;case 11:case 10:case 5:B=(a[c>>2]|0)+7&-8;p=+Hb[B>>3];a[c>>2]=B+8;W[G>>2]=p;Ab(L,G,f);T=1;X=219;break a;case 12:B=(a[c>>2]|0)+7&-8;p=+Hb[B>>3];a[c>>2]=B+8;Hb[e>>3]=p;Ab(L,e,f);T=1;X=219;break a;default:$c(L,0,f);Oa=0;break a}while(0)}p=(a[c>>2]|0)+3&-4;q=a[p>>2]|0;a[c>>2]=p+4;Ab(L,q,E(a[pc>>2]|0,f)|0)}T=1;X=219}else Oa=0}else P=
-a[b+628>>2]|0,L=a[p>>2]|0,ba=a[K+28>>2]|0,a[k>>2]=a[b>>2],a[k+4>>2]=L,a[k+8>>2]=ba,Y(P,129317,129475,k),Oa=0}else p=a[b+628>>2]|0,f=a[K+28>>2]|0,a[n>>2]=a[b>>2],a[n+4>>2]=65535<d>>>0?128936:155687,a[n+8>>2]=f,Y(p,129317,129173,n),Oa=0;else{if(223==(X|0))return q=Lf(b,d)|0,p=a[b+628>>2]|0,g=q?a[q+28>>2]|0:129632,a[h>>2]=a[b>>2],a[h+4>>2]=F,a[h+8>>2]=g,Y(p,129317,129640,h),b=0,u=e,b|0;if(226==(X|0))return p=Lf(b,d)|0,q=a[b+628>>2]|0,h=p?a[p+28>>2]|0:129632,a[g>>2]=a[b>>2],a[g+4>>2]=S,a[g+8>>2]=h,Y(q,
-129317,129640,g),b=0,u=e,b|0}while(0);if(219==(X|0)){if(X=Lf(b,d)|0)d=w[X+24>>1]|0,X=b+40+(((d&65535)>>>5&65535)<<2)|0,a[X>>2]|=1<<(d&31);X=b+12|0;a[X>>2]|=8;Oa=T}u=e;return Oa|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h=0,m,k,l,n=0;e=u;u=u+16|0;f=e;g=ki(b,d,0)|0;if(!g)return u=e,0;k=(m=65==(w[g+24>>1]|0))?0:d;a:do if(297>(k|0)){do switch(k|0){case 273:l=37;break a;case 279:l=38;break a;case 254:return k=a[b+80>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,h=1,u=e,h|0;case 256:return k=
-a[b+56>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 257:return k=a[b+60>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,h=1,u=e,h|0;case 258:return k=w[b+84>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,h=1,u=e,h|0;case 259:return k=w[b+88>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 262:return k=w[b+90>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,h=1,u=e,h|0;case 263:return k=w[b+92>>1]|0,l=(a[c>>
-2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 266:return k=w[b+94>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,h=1,u=e,h|0;case 274:return k=w[b+96>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 277:return k=w[b+98>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,h=1,u=e,h|0;case 278:return k=a[b+100>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,h=1,u=e,h|0;case 280:return k=w[b+104>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|
-0,a[c>>2]=g+4,w[l>>1]=k,h=1,u=e,h|0;case 281:return k=w[b+106>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 282:return k=a[b+116>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 283:return k=a[b+120>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,h=1,u=e,h|0;case 284:return k=w[b+126>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,h=1,u=e,h|0;case 286:return k=a[b+128>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>
-2]=k,h=1,u=e,h|0;case 287:return k=a[b+132>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 296:return k=w[b+124>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;default:l=60;break a}while(0)}else{if(338>(k|0))switch(k|0){case 324:l=37;break a;case 325:l=38;break a;case 297:return k=w[b+136>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,k=w[b+138>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 321:return k=w[b+
-152>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,k=w[b+154>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 320:return k=a[b+140>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,k=a[b+144>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,k=a[b+148>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 322:return k=a[b+68>>2]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,h=1,u=e,h|0;case 323:return k=a[b+72>>
-2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 330:return k=w[b+184>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,k=a[b+188>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 301:k=a[b+200>>2]|0;l=(a[c>>2]|0)+3&-4;g=a[l>>2]|0;a[c>>2]=l+4;a[g>>2]=k;if(1>=((N[b+98>>1]|0)-(N[b+156>>1]|0)|0))return h=1,u=e,h|0;k=a[b+204>>2]|0;g=(a[c>>2]|0)+3&-4;l=a[g>>2]|0;a[c>>2]=g+4;a[l>>2]=k;k=a[b+208>>2]|0;l=(a[c>>2]|0)+3&-4;g=a[l>>2]|0;a[c>>2]=l+4;
-a[g>>2]=k;h=1;u=e;return h|0;case 333:return k=a[b+220>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;default:l=60;break a}if(531>(k|0))switch(k|0){case 340:k=a[b+108>>2]|0;if(a[b+12>>2]&4194304)return l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,a[g>>2]=k,h=1,u=e,h|0;d=+Hb[k>>3];g=w[b+98>>1]|0;if(1<(g&65535))for(l=g&65535,g=1;;){if(b=+Hb[k+(g<<3)>>3],d=b<d?b:d,g=g+1|0,g>>>0>=l>>>0){b=d;break}}else b=d;l=(a[c>>2]|0)+3&-4;g=a[l>>2]|0;a[c>>2]=l+4;Hb[g>>3]=b;h=1;u=e;return h|0;
-case 341:g=a[b+112>>2]|0;if(a[b+12>>2]&4194304)return l=(a[c>>2]|0)+3&-4,k=a[l>>2]|0,a[c>>2]=l+4,a[k>>2]=g,h=1,u=e,h|0;d=+Hb[g>>3];k=w[b+98>>1]|0;if(1<(k&65535))for(l=k&65535,k=1;!(b=+Hb[g+(k<<3)>>3],b=b>d?b:d,k=k+1|0,k>>>0>=l>>>0);)d=b;else b=d;l=(a[c>>2]|0)+3&-4;k=a[l>>2]|0;a[c>>2]=l+4;Hb[k>>3]=b;h=1;u=e;return h|0;case 338:return k=w[b+156>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,k=a[b+160>>2]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,a[l>>2]=k,h=1,u=e,h|0;case 339:return k=
-w[b+86>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;case 530:return k=w[b+192>>1]|0,g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=k,k=w[b+194>>1]|0,l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=k,h=1,u=e,h|0;default:l=60;break a}if(32996>(k|0)){if(532>(k|0)){switch(k|0){case 531:break;default:l=60;break a}k=w[b+196>>1]|0;g=(a[c>>2]|0)+3&-4;l=a[g>>2]|0;a[c>>2]=g+4;w[l>>1]=k;h=1;u=e;return h|0}if(32995>(k|0)){switch(k|0){case 532:break;default:l=60;break a}k=a[b+
-212>>2]|0;l=(a[c>>2]|0)+3&-4;g=a[l>>2]|0;a[c>>2]=l+4;a[g>>2]=k;h=1;u=e;return h|0}switch(k|0){case 32995:break;default:l=60;break a}b=1==(w[b+156>>1]|0)?1==(w[a[b+160>>2]>>1]|0)&1:0;k=(a[c>>2]|0)+3&-4;g=a[k>>2]|0;a[c>>2]=k+4;w[g>>1]=b;h=1;u=e;return h|0}switch(k|0){case 32998:return g=a[b+76>>2]|0,k=(a[c>>2]|0)+3&-4,l=a[k>>2]|0,a[c>>2]=k+4,a[l>>2]=g,h=1,u=e,h|0;case 32996:switch(N[b+86>>1]|0){case 1:return g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=2,h=1,u=e,h|0;case 2:return l=(a[c>>2]|0)+
-3&-4,g=a[l>>2]|0,a[c>>2]=l+4,h=w[g>>1]=1,u=e,h|0;case 3:return g=(a[c>>2]|0)+3&-4,l=a[g>>2]|0,a[c>>2]=g+4,w[l>>1]=3,h=1,u=e,h|0;case 4:return l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,w[g>>1]=0,h=1,u=e,h|0;default:return h=1,u=e,h|0}case 32997:return g=a[b+64>>2]|0,l=(a[c>>2]|0)+3&-4,k=a[l>>2]|0,a[c>>2]=l+4,a[k>>2]=g,h=1,u=e,h|0;default:l=60;break a}}while(0);if(37==(l|0))return 1,k=a[b+172>>2]|0,b=(a[c>>2]|0)+3&-4,g=a[b>>2]|0,a[c>>2]=b+4,a[g>>2]=k,u=e,1;if(38==(l|0))return 1,k=a[b+176>>2]|0,g=(a[c>>
-2]|0)+3&-4,b=a[g>>2]|0,a[c>>2]=g+4,a[b>>2]=k,u=e,1;if(60==(l|0)){if(!m)return m=a[b+628>>2]|0,k=a[g+28>>2]|0,a[f>>2]=a[b>>2],a[f+4>>2]=65535<d>>>0?128936:155687,a[f+8>>2]=k,Y(m,129158,129173,f),u=e,0;f=a[b+224>>2]|0;if(0>=(f|0))return u=e,0;m=a[b+228>>2]|0;for(b=0;;){if((a[a[m+(12*b|0)>>2]>>2]|0)==(d|0)){n=b;break}b=b+1|0;if((b|0)>=(f|0)){h=0;l=91;break}}if(91==(l|0))return u=e,h|0;if(t[g+27>>0]|0)return l=a[m+(12*n|0)+4>>2]|0,-3==(w[g+4>>1]|0)?(f=(a[c>>2]|0)+3&-4,b=a[f>>2]|0,a[c>>2]=f+4,a[b>>2]=
-l):(b=(a[c>>2]|0)+3&-4,f=a[b>>2]|0,a[c>>2]=b+4,w[f>>1]=l),l=a[m+(12*n|0)+8>>2]|0,f=(a[c>>2]|0)+3&-4,b=a[f>>2]|0,a[c>>2]=f+4,a[b>>2]=l,u=e,1;if(336==(a[g>>2]|0)&&0==(Uk(a[g+28>>2]|0,131343)|0))return l=m+(12*n|0)+8|0,b=w[a[l>>2]>>1]|0,f=(a[c>>2]|0)+3&-4,d=a[f>>2]|0,a[c>>2]=f+4,w[d>>1]=b,b=w[(a[l>>2]|0)+2>>1]|0,l=(a[c>>2]|0)+3&-4,d=a[l>>2]|0,a[c>>2]=l+4,w[d>>1]=b,u=e,1;b=a[g+8>>2]|0;if(2!=(b|0)&&65532>=(N[g+4>>1]|0)&&(g=a[m+(12*n|0)+4>>2]|0,1>=(g|0)))switch(d=a[m+(12*n|0)+8>>2]|0,1!=(g|0)&&Z(129221,
-129019,1077,129158),b|0){case 7:case 1:return g=t[d>>0]|0,l=(a[c>>2]|0)+3&-4,f=a[l>>2]|0,a[c>>2]=l+4,t[f>>0]=g,u=e,1;case 6:return g=t[d>>0]|0,f=(a[c>>2]|0)+3&-4,l=a[f>>2]|0,a[c>>2]=f+4,t[l>>0]=g,u=e,1;case 3:return g=w[d>>1]|0,l=(a[c>>2]|0)+3&-4,f=a[l>>2]|0,a[c>>2]=l+4,w[f>>1]=g,u=e,1;case 8:return g=w[d>>1]|0,f=(a[c>>2]|0)+3&-4,l=a[f>>2]|0,a[c>>2]=f+4,w[l>>1]=g,u=e,1;case 13:case 4:return g=a[d>>2]|0,l=(a[c>>2]|0)+3&-4,f=a[l>>2]|0,a[c>>2]=l+4,a[f>>2]=g,u=e,1;case 9:return g=a[d>>2]|0,f=(a[c>>2]|
-0)+3&-4,l=a[f>>2]|0,a[c>>2]=f+4,a[l>>2]=g,u=e,1;case 18:case 16:return g=d,l=a[g>>2]|0,f=a[g+4>>2]|0,g=(a[c>>2]|0)+3&-4,k=a[g>>2]|0,a[c>>2]=g+4,g=k,a[g>>2]=l,a[g+4>>2]=f,u=e,1;case 17:return f=d,g=a[f>>2]|0,l=a[f+4>>2]|0,f=(a[c>>2]|0)+3&-4,k=a[f>>2]|0,a[c>>2]=f+4,f=k,a[f>>2]=g,a[f+4>>2]=l,u=e,1;case 11:case 10:case 5:return l=a[d>>2]|0,f=(a[c>>2]|0)+3&-4,g=a[f>>2]|0,a[c>>2]=f+4,a[g>>2]=l,u=e,1;case 12:return b=+Hb[d>>3],l=(a[c>>2]|0)+3&-4,g=a[l>>2]|0,a[c>>2]=l+4,Hb[g>>3]=b,u=e,1;default:return u=
-e,0}d=a[m+(12*n|0)+8>>2]|0;n=(a[c>>2]|0)+3&-4;m=a[n>>2]|0;a[c>>2]=n+4;a[m>>2]=d;u=e;return 1}return 0},function(a,d,c){return 0},function(b,d,c){d|=0;c|=0;var e,f,g;e=b|0;if(c)f=0;else return-1;for(;;){b=c-f|0;g=e;var h=d+f|0;b=0>(b|0)?2147483647:b;var m,k;m=u;u=u+16|0;k=m;a[k>>2]=g|0;a[k+4>>2]=h|0;a[k+8>>2]=b|0;b=le(Zj(3,k|0)|0)|0;u=m;g=b|0;if(1>(g|0)){d=g;break}b=g+f|0;if(b>>>0<c>>>0)f=b;else{d=g;f=b;break}}return(0>(d|0)?-1:f)|0},function(b,d,c){d|=0;c|=0;var e,f,g;e=b|0;if(c)f=0;else return-1;
-for(;;){b=c-f|0;g=e;var h=d+f|0;b=0>(b|0)?2147483647:b;var m,k;m=u;u=u+16|0;k=m;a[k>>2]=g|0;a[k+4>>2]=h|0;a[k+8>>2]=b|0;b=le(ul(4,k|0)|0)|0;u=m;g=b|0;if(1>(g|0)){d=g;break}b=g+f|0;if(b>>>0<c>>>0)f=b;else{d=g;f=b;break}}return(0>(d|0)?-1:f)|0},function(b,d,c){d|=0;c|=0;var e,f,g,h;e=u;u=u+80|0;f=e;g=b|0;b=0>(Nk(g,f)|0);h=a[f+36>>2]|0;f=b?0:h;b=b?0:(0>(h|0))<<31>>31;if(!((f|0)==(f|0)&((0>(f|0))<<31>>31|0)==(b|0)))return u=e,0;h=Li(0,f,1,1,g,0)|0;a[d>>2]=h;if(-1==(h|0))return u=e,0;h=c;a[h>>2]=f;a[h+
-4>>2]=b;u=e;return 1},function(b,d,c){b|=0;d|=0;c|=0;var e;(e=a[b+576>>2]|0)||Z(154168,142823,1199,144538);a:do if(327<=(d|0))if(65536>(d|0))switch(d|0){case 327:return b=w[e+16>>1]|0,d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,w[e>>1]=b,c=1,c|0;case 328:return b=a[e+20>>2]|0,e=(a[c>>2]|0)+3&-4,d=a[e>>2]|0,a[c>>2]=e+4,a[d>>2]=b,c=1,c|0;default:break a}else switch(d|0){case 65536:return b=a[e+4>>2]|0,d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,a[e>>2]=b,c=1,c|0;case 65540:return b=a[e+60>>2]|0,e=(a[c>>
-2]|0)+3&-4,d=a[e>>2]|0,a[c>>2]=e+4,a[d>>2]=b,c=1,c|0;default:break a}else switch(d|0){case 293:case 292:return b=a[e+28>>2]|0,d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,a[e>>2]=b,c=1,c|0;case 326:return b=a[e+24>>2]|0,e=(a[c>>2]|0)+3&-4,d=a[e>>2]|0,a[c>>2]=e+4,a[d>>2]=b,c=1,c|0;default:break a}while(0);c=Aa[a[e+32>>2]&63](b,d,c)|0;return c|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k=0;e=b+576|0;(f=a[e>>2]|0)||Z(154168,142823,1152,144504);(g=a[f+36>>2]|0)||Z(144518,142823,1153,144504);a:do if(327>
-(d|0))switch(d|0){case 292:if(3!=(w[b+88>>1]|0))break a;h=(a[c>>2]|0)+3&-4;m=a[h>>2]|0;a[c>>2]=h+4;a[f+28>>2]=m;break a;case 293:if(4!=(w[b+88>>1]|0))break a;m=(a[c>>2]|0)+3&-4;h=a[m>>2]|0;a[c>>2]=m+4;a[f+28>>2]=h;break a;case 326:h=(a[c>>2]|0)+3&-4;m=a[h>>2]|0;a[c>>2]=h+4;a[f+24>>2]=m;break a;default:k=15;break a}else{if(65536>(d|0))switch(d|0){case 327:m=(a[c>>2]|0)+3&-4;h=a[m>>2]|0;a[c>>2]=m+4;w[f+16>>1]=h;break a;case 328:h=(a[c>>2]|0)+3&-4;m=a[h>>2]|0;a[c>>2]=h+4;a[f+20>>2]=m;break a;default:k=
-15;break a}switch(d|0){case 65536:return m=(a[c>>2]|0)+3&-4,h=a[m>>2]|0,a[c>>2]=m+4,a[f+4>>2]=h,b=1,b|0;case 65540:return h=(a[c>>2]|0)+3&-4,m=a[h>>2]|0,a[c>>2]=h+4,a[(a[e>>2]|0)+60>>2]=m,b=1,b|0;default:k=15;break a}}while(0);if(15==(k|0))return b=Aa[g&63](b,d,c)|0,b|0;c=Lf(b,d)|0;if(!c)return 0;d=w[c+24>>1]|0;c=b+40+(((d&65535)>>>5&65535)<<2)|0;a[c>>2]|=1<<(d&31);c=b+12|0;a[c>>2]|=8;return 1},function(b,d,c){b|=0;d|=0;c|=0;var e,f;(e=a[b+576>>2]|0)||Z(154187,144647,2186,146558);a:do{if(65538>(d|
-0)){if(65537>(d|0)){switch(d|0){case 347:break;default:break a}b=a[e+916>>2]|0;d=(a[c>>2]|0)+3&-4;f=a[d>>2]|0;a[c>>2]=d+4;a[f>>2]=b;b=a[e+912>>2]|0;f=(a[c>>2]|0)+3&-4;d=a[f>>2]|0;a[c>>2]=f+4;a[d>>2]=b}else{switch(d|0){case 65537:break;default:break a}b=a[e+920>>2]|0;d=(a[c>>2]|0)+3&-4;f=a[d>>2]|0;a[c>>2]=d+4;a[f>>2]=b}c=1;return c|0}switch(d|0){case 65538:return b=a[e+924>>2]|0,f=(a[c>>2]|0)+3&-4,d=a[f>>2]|0,a[c>>2]=f+4,a[d>>2]=b,c=1,c|0;case 65539:return b=a[e+928>>2]|0,d=(a[c>>2]|0)+3&-4,f=a[d>>
-2]|0,a[c>>2]=d+4,a[f>>2]=b,c=1,c|0;default:break a}}while(0);c=Aa[a[e+892>>2]&63](b,d,c)|0;return c|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g;e=b+576|0;(f=a[e>>2]|0)||Z(154187,144647,2132,146544);a:do if(65537>(d|0))switch(d|0){case 347:e=(a[c>>2]|0)+3&-4;d=a[e>>2]|0;a[c>>2]=e+4;if(!d)return b=0,b|0;e=(a[c>>2]|0)+3&-4;g=a[e>>2]|0;a[c>>2]=e+4;e=f+912|0;c=d;e|=0;g|=0;c|=0;var h;if(h=a[e>>2]|0)ja(h),a[e>>2]=0;g&&(h=eb(c)|0,(a[e>>2]=h)&&Ab(h,g,c));a[f+916>>2]=d;d=b+48|0;a[d>>2]|=4;d=Lf(b,347)|0;if(!d)return b=
-0,b|0;g=w[d+24>>1]|0;d=b+40+(((g&65535)>>>5&65535)<<2)|0;a[d>>2]|=1<<(g&31);d=b+12|0;a[d>>2]|=8;b=1;return b|0;case 262:d=Aa[a[f+896>>2]&63](b,262,c)|0;g=a[e>>2]|0;e=b+12|0;c=a[e>>2]|0;f=c&-16385;a[e>>2]=f;1==(w[b+126>>1]|0)&&6==(w[b+90>>1]|0)&&1==(a[g+924>>2]|0)?(g=c|16384,e=a[e>>2]=g):e=f;f=b+496|0;0<(a[f>>2]|0)&&(e=e&1024?Og(b)|0:-1,a[f>>2]=e);f=b+580|0;if(0>=(a[f>>2]|0))return b=d,b|0;g=Pe(b)|0;a[f>>2]=g;b=d;return b|0;case 530:return a[f+932>>2]=1,b=Aa[a[f+896>>2]&63](b,530,c)|0,b|0;default:break a}else switch(d|
-0){case 65537:return d=(a[c>>2]|0)+3&-4,g=a[d>>2]|0,a[c>>2]=d+4,a[f+920>>2]=g,b=1,b|0;case 65538:g=(a[c>>2]|0)+3&-4;d=a[g>>2]|0;a[c>>2]=g+4;a[f+924>>2]=d;d=a[e>>2]|0;g=b+12|0;f=a[g>>2]|0;e=f&-16385;a[g>>2]=e;1==(w[b+126>>1]|0)&&6==(w[b+90>>1]|0)&&1==(a[d+924>>2]|0)?(d=f|16384,a[g>>2]=d):d=e;e=b+496|0;0<(a[e>>2]|0)&&(d=d&1024?Og(b)|0:-1,a[e>>2]=d);e=b+580|0;if(0>=(a[e>>2]|0))return b=1,b|0;d=Pe(b)|0;a[e>>2]=d;b=1;return b|0;case 65539:return d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,a[f+928>>2]=e,
-b=1,b|0;default:break a}while(0);b=Aa[a[f+896>>2]&63](b,d,c)|0;return b|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=u;u=u+16|0;f=a[b+20>>2]|0;101!=(f|0)&&(g=a[b>>2]|0,a[g+20>>2]=21,a[g+24>>2]=f,R[a[g>>2]&127](b));g=b+264|0;f=b+32|0;(a[g>>2]|0)>>>0>=(a[f>>2]|0)>>>0&&(h=a[b>>2]|0,a[h+20>>2]=126,ub[a[h+4>>2]&31](b,-1));if(h=a[b+8>>2]|0)a[h+4>>2]=a[g>>2],a[h+8>>2]=a[f>>2],R[a[h>>2]&127](b);h=a[b+392>>2]|0;if(a[h+12>>2]|0)R[a[h+4>>2]&127](b);h=(a[f>>2]|0)-(a[g>>2]|0)|0;a[e>>2]=0;Ud[a[(a[b+396>>2]|
-0)+4>>2]&31](b,d,e,h>>>0<c>>>0?h:c);c=a[e>>2]|0;a[g>>2]=(a[g>>2]|0)+c;u=e;return c|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=a[b+20>>2]|0;102!=(e|0)&&(f=a[b>>2]|0,a[f+20>>2]=21,a[f+24>>2]=e,R[a[f>>2]&127](b));f=b+264|0;e=a[f>>2]|0;g=a[b+32>>2]|0;if(e>>>0>=g>>>0)return h=a[b>>2]|0,a[h+20>>2]=126,ub[a[h+4>>2]&31](b,-1),0;if(h=a[b+8>>2]|0)a[h+4>>2]=e,a[h+8>>2]=g,R[a[h>>2]&127](b);h=a[b+392>>2]|0;if(a[h+12>>2]|0)R[a[h+4>>2]&127](b);h=E(a[b+284>>2]|0,a[b+276>>2]|0)|0;h>>>0>c>>>0&&(c=a[b>>2]|0,a[c+
-20>>2]=24,R[a[c>>2]&127](b));if(!(dd[a[(a[b+404>>2]|0)+4>>2]&127](b,d)|0))return 0;a[f>>2]=(a[f>>2]|0)+h;return h|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m;e=u;u=u+16|0;f=a[b+20>>2]|0;205!=(f|0)&&(g=a[b>>2]|0,a[g+20>>2]=21,a[g+24>>2]=f,R[a[g>>2]&127](b));g=b+140|0;f=a[g>>2]|0;h=a[b+116>>2]|0;if(f>>>0>=h>>>0)return m=a[b>>2]|0,a[m+20>>2]=126,ub[a[m+4>>2]&31](b,-1),u=e,0;if(m=a[b+8>>2]|0)a[m+4>>2]=f,a[m+8>>2]=h,R[a[m>>2]&127](b);a[e>>2]=0;Ud[a[(a[b+448>>2]|0)+4>>2]&31](b,d,e,c);c=a[e>>2]|0;a[g>>
-2]=(a[g>>2]|0)+c;u=e;return c|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=a[b+20>>2]|0;206!=(e|0)&&(f=a[b>>2]|0,a[f+20>>2]=21,a[f+24>>2]=e,R[a[f>>2]&127](b));f=b+140|0;e=a[f>>2]|0;g=a[b+116>>2]|0;if(e>>>0>=g>>>0)return h=a[b>>2]|0,a[h+20>>2]=126,ub[a[h+4>>2]&31](b,-1),0;if(h=a[b+8>>2]|0)a[h+4>>2]=e,a[h+8>>2]=g,R[a[h>>2]&127](b);h=E(a[b+328>>2]|0,a[b+320>>2]|0)|0;h>>>0>c>>>0&&(c=a[b>>2]|0,a[c+20>>2]=24,R[a[c>>2]&127](b));if(!(dd[a[(a[b+452>>2]|0)+12>>2]&127](b,d)|0))return 0;a[f>>2]=(a[f>>2]|0)+
-h;return h|0},function(b,d,c){b|=0;d|=0;c|=0;var e;e=a[b+576>>2]|0;return 65560==(d|0)?(b=a[e>>2]|0,d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,a[e>>2]=b,1):Aa[a[e+24>>2]&63](b,d,c)|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l;e=u;u=u+48|0;f=e+32|0;g=e+24|0;h=e+16|0;m=e+8|0;k=e;l=a[b+576>>2]|0;switch(d|0){case 65560:f=(a[c>>2]|0)+3&-4;d=a[f>>2]|0;a[c>>2]=f+4;a[l>>2]=d;switch(d|0){case 0:c=32;l=3;break;case 1:c=16;l=2;break;case 2:a[k>>2]=1;lb(b,277,k)|0;c=32;l=1;break;case 3:c=8;l=1;break;default:return k=
-a[b+628>>2]|0,f=a[b>>2]|0,a[m>>2]=d,Y(k,f,146749,m),u=e,0}a[h>>2]=c;lb(b,258,h)|0;a[g>>2]=l;lb(b,339,g)|0;h=a[b+12>>2]&1024?Og(b)|0:-1;a[b+496>>2]=h;h=Pe(b)|0;a[b+580>>2]=h;u=e;return 1;case 65561:h=(a[c>>2]|0)+3&-4;g=a[h>>2]|0;a[c>>2]=h+4;a[l+4>>2]=g;if(2>g>>>0)return u=e,1;h=a[b+628>>2]|0;a[f>>2]=g;Y(h,146795,146811,f);u=e;return 0;default:return b=Aa[a[l+28>>2]&63](b,d,c)|0,u=e,b|0}},function(b,d,c){b|=0;d|=0;c|=0;var e,f;e=a[b+576>>2]|0;switch(d|0){case 513:return b=e+208|0,d=a[b>>2]|0,f=a[b+
-4>>2]|0,b=(a[c>>2]|0)+3&-4,e=a[b>>2]|0,a[c>>2]=b+4,b=e,a[b>>2]=d,a[b+4>>2]=f,1;case 514:return f=e+216|0,b=a[f>>2]|0,d=a[f+4>>2]|0,f=(a[c>>2]|0)+3&-4,e=a[f>>2]|0,a[c>>2]=f+4,f=e,a[f>>2]=b,a[f+4>>2]=d,1;case 530:return t[e+226>>0]|0||Ig(b),d=x[e+228>>0]|0,f=(a[c>>2]|0)+3&-4,b=a[f>>2]|0,a[c>>2]=f+4,w[b>>1]=d,d=x[e+229>>0]|0,b=(a[c>>2]|0)+3&-4,f=a[b>>2]|0,a[c>>2]=b+4,w[f>>1]=d,1;case 519:return d=x[e+231>>0]|0,f=(a[c>>2]|0)+3&-4,b=a[f>>2]|0,a[c>>2]=f+4,a[b>>2]=d,d=(a[c>>2]|0)+3&-4,b=a[d>>2]|0,a[c>>2]=
-d+4,a[b>>2]=e+240,1;case 520:return b=x[e+232>>0]|0,d=(a[c>>2]|0)+3&-4,f=a[d>>2]|0,a[c>>2]=d+4,a[f>>2]=b,b=(a[c>>2]|0)+3&-4,f=a[b>>2]|0,a[c>>2]=b+4,a[f>>2]=e+264,1;case 521:return f=x[e+233>>0]|0,b=(a[c>>2]|0)+3&-4,d=a[b>>2]|0,a[c>>2]=b+4,a[d>>2]=f,f=(a[c>>2]|0)+3&-4,d=a[f>>2]|0,a[c>>2]=f+4,a[d>>2]=e+288,1;case 512:return d=x[e+224>>0]|0,f=(a[c>>2]|0)+3&-4,b=a[f>>2]|0,a[c>>2]=f+4,w[b>>1]=d,1;case 515:return d=w[e+360>>1]|0,b=(a[c>>2]|0)+3&-4,f=a[b>>2]|0,a[c>>2]=b+4,w[f>>1]=d,1;default:return c=Aa[a[e+
-160>>2]&63](b,d,c)|0,c|0}},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l;e=u;u=u+32|0;f=e+16|0;g=e+8|0;h=e;m=a[b+576>>2]|0;switch(d|0){case 513:l=k=(a[c>>2]|0)+7&-8;f=a[l>>2]|0;g=a[l+4>>2]|0;a[c>>2]=k+8;k=m+208|0;a[k>>2]=f;a[k+4>>2]=g;break;case 514:k=g=(a[c>>2]|0)+7&-8;f=a[k>>2]|0;l=a[k+4>>2]|0;a[c>>2]=g+8;g=m+216|0;a[g>>2]=f;a[g+4>>2]=l;break;case 530:t[m+227>>0]=1;l=(a[c>>2]|0)+3&-4;g=a[l>>2]|0;a[c>>2]=l+4;l=m+228|0;t[l>>0]=g;g=(a[c>>2]|0)+3&-4;f=a[g>>2]|0;a[c>>2]=g+4;t[m+229>>0]=f;w[b+192>>
-1]=x[l>>0]|0;w[b+194>>1]=f&255;break;case 519:f=(a[c>>2]|0)+3&-4;l=a[f>>2]|0;a[c>>2]=f+4;if(l){if(3<l>>>0)return Y(a[b+628>>2]|0,148714,148729,h),u=e,0;t[m+231>>0]=l;h=(a[c>>2]|0)+3&-4;f=a[h>>2]|0;a[c>>2]=h+4;h=0;do g=f+(h<<3)|0,k=a[g+4>>2]|0,c=m+240+(h<<3)|0,a[c>>2]=a[g>>2],a[c+4>>2]=k,h=h+1|0;while((h|0)!=(l|0))}break;case 520:l=(a[c>>2]|0)+3&-4;h=a[l>>2]|0;a[c>>2]=l+4;if(h){if(3<h>>>0)return Y(a[b+628>>2]|0,148714,148765,g),u=e,0;t[m+232>>0]=h;g=(a[c>>2]|0)+3&-4;l=a[g>>2]|0;a[c>>2]=g+4;g=0;do f=
-l+(g<<3)|0,k=a[f+4>>2]|0,c=m+264+(g<<3)|0,a[c>>2]=a[f>>2],a[c+4>>2]=k,g=g+1|0;while((g|0)!=(h|0))}break;case 521:h=(a[c>>2]|0)+3&-4;g=a[h>>2]|0;a[c>>2]=h+4;if(g){if(3<g>>>0)return Y(a[b+628>>2]|0,148714,148802,f),u=e,0;t[m+233>>0]=g;f=(a[c>>2]|0)+3&-4;h=a[f>>2]|0;a[c>>2]=f+4;f=0;do l=h+(f<<3)|0,k=a[l+4>>2]|0,c=m+288+(f<<3)|0,a[c>>2]=a[l>>2],a[c+4>>2]=k,f=f+1|0;while((f|0)!=(g|0))}break;case 512:g=(a[c>>2]|0)+3&-4;f=a[g>>2]|0;a[c>>2]=g+4;t[m+224>>0]=f;break;case 515:f=(a[c>>2]|0)+3&-4;g=a[f>>2]|0;
-a[c>>2]=f+4;w[m+360>>1]=g;break;default:return b=Aa[a[m+164>>2]&63](b,d,c)|0,u=e,b|0}c=Lf(b,d)|0;if(!c)return u=e,0;d=w[c+24>>1]|0;c=b+40+(((d&65535)>>>5&65535)<<2)|0;a[c>>2]|=1<<(d&31);c=b+12|0;a[c>>2]|=8;u=e;return 1},function(b,d,c){b|=0;d|=0;c|=0;var e;e=a[b+576>>2]|0;switch(d|0){case 65558:return b=a[e+136>>2]|0,d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,a[e>>2]=b,1;case 65549:return b=a[e+132>>2]|0,e=(a[c>>2]|0)+3&-4,d=a[e>>2]|0,a[c>>2]=e+4,a[d>>2]=b,1;default:return c=Aa[a[e+140>>2]&63](b,
-d,c)|0,c|0}},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,H;e=u;u=u+96|0;f=e+80|0;g=e+72|0;h=e+64|0;m=e+56|0;k=e+48|0;l=e+40|0;n=e+32|0;p=e+24|0;q=e+16|0;y=e+8|0;B=e;H=a[b+576>>2]|0;switch(d|0){case 65558:f=(a[c>>2]|0)+3&-4;d=a[f>>2]|0;a[c>>2]=f+4;a[H+136>>2]=d;if(!(a[b+8>>2]|0&&a[H+128>>2]&1&&bh(H+64|0,d,0)|0))return u=e,1;d=a[b+628>>2]|0;a[B>>2]=a[H+88>>2];Y(d,152397,154272,B);u=e;return 0;case 65549:B=(a[c>>2]|0)+3&-4;d=a[B>>2]|0;a[c>>2]=B+4;a[H+132>>2]=d;switch(d|0){case 1:case 0:a[y>>
-2]=8;lb(b,258,y)|0;a[q>>2]=1;lb(b,339,q)|0;break;case 2:a[p>>2]=16;lb(b,258,p)|0;a[n>>2]=1;lb(b,339,n)|0;break;case 3:a[l>>2]=16;lb(b,258,l)|0;a[k>>2]=2;lb(b,339,k)|0;break;case 4:a[m>>2]=16;lb(b,258,m)|0;a[h>>2]=1;lb(b,339,h)|0;break;case 5:a[g>>2]=32,lb(b,258,g)|0,a[f>>2]=3,lb(b,339,f)|0}c=a[b+12>>2]&1024?Og(b)|0:-1;a[b+496>>2]=c;c=Pe(b)|0;a[b+580>>2]=c;u=e;return 1;default:return b=Aa[a[H+144>>2]&63](b,d,c)|0,u=e,b|0}},function(b,d,c){b|=0;d|=0;c|=0;var e,f;(e=a[b+576>>2]|0)||Z(154187,152869,698,
-153724);(f=a[e+44>>2]|0)||Z(153743,152869,699,153724);return 317==(d|0)?(b=a[e>>2]&65535,e=(a[c>>2]|0)+3&-4,d=a[e>>2]|0,a[c>>2]=e+4,w[d>>1]=b,1):Aa[f&63](b,d,c)|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f;(e=a[b+576>>2]|0)||Z(154187,152869,678,153682);(f=a[e+48>>2]|0)||Z(153701,152869,679,153682);return 317==(d|0)?(d=(a[c>>2]|0)+3&-4,f=a[d>>2]|0,a[c>>2]=d+4,a[e>>2]=f&65535,f=b+48|0,a[f>>2]|=4,f=b+12|0,a[f>>2]|=8,1):Aa[f&63](b,d,c)|0},function(b,d,c){b|=0;d|=0;c|=0;var e;e=a[b+576>>2]|0;return 65557==
-(d|0)?(b=a[e+120>>2]|0,d=(a[c>>2]|0)+3&-4,e=a[d>>2]|0,a[c>>2]=d+4,a[e>>2]=b,1):Aa[a[e+128>>2]&63](b,d,c)|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g;e=u;u=u+16|0;f=a[b+576>>2]|0;if(65557!=(d|0))return b=Aa[a[f+132>>2]&63](b,d,c)|0,u=e,b|0;d=(a[c>>2]|0)+3&-4;g=a[d>>2]|0;a[c>>2]=d+4;a[f+120>>2]=g;if(!(a[f+124>>2]&2&&bh(f+64|0,g,0)|0))return u=e,1;g=a[b+628>>2]|0;b=a[f+88>>2]|0;a[e>>2]=0==(b|0)?155687:b;Y(g,154479,154272,e);u=e;return 0},function(a,d,c){return Hc(E(c|0,d|0)|0)|0},ih,nk,function(b,d,
-c){b|=0;d|=0;c|=0;var e,f,g,h;e=b+84|0;f=a[e>>2]|0;g=c+256|0;h=Tk(f,0,g)|0;g=0==(h|0)?g:h-f|0;h=g>>>0<c>>>0?g:c;Ec(d|0,f|0,h|0)|0;a[b+4>>2]=f+h;d=f+g|0;a[b+8>>2]=d;a[e>>2]=d;return h|0},xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc,xc],ee=[Jh,function(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;h|=0;var m,k,l,n,p,q,y,B,H,t,z,u,C,r,w,x,J,I,G,v,K=0,E=0;m=a[b+400>>2]|0;k=b+276|0;l=3*(a[k>>2]|0)|0;n=m+48|0;if(!((a[g>>2]|0)>>>0>=h>>>0))for(p=m+60|0,q=m+52|0,
-y=b+412|0,B=m+8|0,H=b+32|0,t=b+76|0,z=b+28|0,u=b+416|0,C=m+56|0;;){r=a[c>>2]|0;if(r>>>0>=e>>>0){if(a[n>>2]|0)break;w=a[q>>2]|0;x=a[p>>2]|0;if((w|0)<(x|0)){J=a[t>>2]|0;if(0<(J|0)){I=J;for(J=0;;){G=a[m+8+(J<<2)>>2]|0;v=a[z>>2]|0;if((w|0)<(x|0)){I=w+-1|0;r=w;do Dg(G,I,G,r,1,v),r=r+1|0;while((r|0)!=(x|0));I=a[t>>2]|0}r=J+1|0;if((r|0)>=(I|0))break;w=a[q>>2]|0;x=a[p>>2]|0;J=r}w=a[p>>2]|0}else w=x;a[q>>2]=w;w=25}else K=w,E=x,w=24}else{J=e-r|0;I=a[q>>2]|0;x=(a[p>>2]|0)-I|0;w=x>>>0<J>>>0?x:J;sf[a[(a[y>>2]|
-0)+4>>2]&63](b,d+(r<<2)|0,B,I,w);if((a[n>>2]|0)==(a[H>>2]|0)&&(I=a[t>>2]|0,0<(I|0)))for(J=a[k>>2]|0,x=I,I=0;;){if(1>(J|0))K=x,E=J;else{r=m+8+(I<<2)|0;for(v=1;;)if(G=a[r>>2]|0,Dg(G,0,G,0-v|0,1,a[z>>2]|0),G=a[k>>2]|0,(v|0)<(G|0))v=v+1|0;else{E=G;break}K=a[t>>2]|0}I=I+1|0;if((I|0)>=(K|0))break;else J=E,x=K}a[c>>2]=(a[c>>2]|0)+w;x=(a[q>>2]|0)+w|0;a[q>>2]=x;a[n>>2]=(a[n>>2]|0)-w;K=x;E=a[p>>2]|0;w=24}24==(w|0)&&(w=0,(K|0)==(E|0))&&(w=25);25==(w|0)&&(sf[a[(a[u>>2]|0)+4>>2]&63](b,B,a[C>>2]|0,f,a[g>>2]|0),
-a[g>>2]=(a[g>>2]|0)+1,x=a[k>>2]|0,J=(a[C>>2]|0)+x|0,a[C>>2]=(J|0)<(l|0)?J:0,J=a[q>>2]|0,w=(J|0)<(l|0)?J:a[q>>2]=0,a[p>>2]=x+w);if((a[g>>2]|0)>>>0>=h>>>0)break}},function(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;h|=0;var m,k,l,n,p,q,y,B,H,t,z,u=0,C,r,w,x,J=0;m=a[b+400>>2]|0;k=a[c>>2]|0;if(!(k>>>0>=e>>>0)){l=b+276|0;n=m+52|0;p=b+412|0;q=m+8|0;y=m+48|0;B=b+76|0;H=b+28|0;t=b+416|0;for(z=k;;){if((a[g>>2]|0)>>>0>=h>>>0){u=28;break}k=e-z|0;C=a[n>>2]|0;r=(a[l>>2]|0)-C|0;w=r>>>0<k>>>0?r:k;sf[a[(a[p>>2]|
-0)+4>>2]&63](b,d+(z<<2)|0,q,C,w);a[c>>2]=(a[c>>2]|0)+w;C=(a[n>>2]|0)+w|0;a[n>>2]=C;k=a[y>>2]|0;a[y>>2]=k-w;r=a[l>>2]|0;if((k|0)==(w|0)&(C|0)<(r|0)){w=a[B>>2]|0;if(0<(w|0)){k=C;C=r;x=w;for(w=0;;){u=a[m+8+(w<<2)>>2]|0;r=a[H>>2]|0;if((k|0)<(C|0)){x=k+-1|0;z=k;do Dg(u,x,u,z,1,r),z=z+1|0;while((z|0)!=(C|0));u=a[B>>2]|0}else u=x;z=w+1|0;if((z|0)>=(u|0))break;k=a[n>>2]|0;C=a[l>>2]|0;x=u;w=z}k=a[l>>2]|0}else k=r;a[n>>2]=k;u=15}else(C|0)==(r|0)&&(u=15);15==(u|0)&&(u=0,sf[a[(a[t>>2]|0)+4>>2]&63](b,q,0,f,a[g>>
-2]|0),a[n>>2]=0,a[g>>2]=(a[g>>2]|0)+1);if(0==(a[y>>2]|0)&&(w=a[g>>2]|0,w>>>0<h>>>0)){J=w;u=19;break}z=a[c>>2]|0;if(z>>>0>=e>>>0){u=28;break}}if(19==(u|0)){e=a[B>>2]|0;a:do if(0<(e|0))for(z=b+284|0,c=J,y=e,n=0,q=a[b+84>>2]|0;;){t=E(a[q+40>>2]|0,a[q+12>>2]|0)|0;k=(t|0)/(a[z>>2]|0)|0;t=a[f+(n<<2)>>2]|0;l=E(a[q+36>>2]|0,a[q+28>>2]|0)|0;u=E(c,k)|0;H=E(k,h)|0;if((u|0)<(H|0)){k=u+-1|0;m=u;do Dg(t,k,t,m,1,l),m=m+1|0;while((m|0)!=(H|0));b=a[B>>2]|0}else b=y;H=n+1|0;if((H|0)>=(b|0))break a;c=a[g>>2]|0;y=b;
-n=H;q=q+88|0}while(0);a[g>>2]=h}}},function(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;f|=0;g|=0;h|=0;var m,k,l,n,p,q;e=u;u=u+16|0;m=e;k=a[b+476>>2]|0;l=k+36|0;if(a[l>>2]|0)Dg(k+32|0,0,f+(a[g>>2]<<2)|0,0,1,a[k+40>>2]|0),a[l>>2]=0,l=k+44|0,a[g>>2]=(a[g>>2]|0)+1,a[l>>2]=(a[l>>2]|0)+-1;else if(n=k+44|0,p=a[n>>2]|0,q=2>p>>>0?p:2,p=a[g>>2]|0,h=h-p|0,h=q>>>0>h>>>0?h:q,a[m>>2]=a[f+(p<<2)>>2],1<h>>>0?a[m+4>>2]=a[f+(p+1<<2)>>2]:(a[m+4>>2]=a[k+32>>2],a[l>>2]=1),Ud[a[k+12>>2]&31](b,d,a[c>>2]|0,m),m=0==(a[l>>2]|0),a[g>>2]=
-(a[g>>2]|0)+h,a[n>>2]=(a[n>>2]|0)-h,!m){u=e;return}a[c>>2]=(a[c>>2]|0)+1;u=e},function(b,d,c,e,f,g,h){b|=0;c|=0;g|=0;Ud[a[(a[b+476>>2]|0)+12>>2]&31](b,d|0,a[c>>2]|0,(f|0)+(a[g>>2]<<2)|0);a[g>>2]=(a[g>>2]|0)+1;a[c>>2]=(a[c>>2]|0)+1},function(b,d,c,e,f,g,h){b|=0;f|=0;g|=0;var m,k,l;m=u;u=u+16|0;k=a[b+456>>2]|0;l=(h|0)-(a[g>>2]|0)|0;h=a[k+16>>2]|0;a[m>>2]=0;k=k+12|0;ee[a[(a[b+476>>2]|0)+4>>2]&15](b,d|0,c|0,e|0,a[k>>2]|0,m,l>>>0>h>>>0?h:l);Ud[a[(a[b+484>>2]|0)+4>>2]&31](b,a[k>>2]|0,f+(a[g>>2]<<2)|0,a[m>>
-2]|0);a[g>>2]=(a[g>>2]|0)+(a[m>>2]|0);u=m},function(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;e|=0;g|=0;var m,k,l,n;h=a[b+456>>2]|0;f=h+24|0;(m=a[f>>2]|0)?(l=h+12|0,k=h+16|0,n=l,l=a[l>>2]|0):(k=h+16|0,l=jg[a[(a[b+4>>2]|0)+28>>2]&3](b,a[h+8>>2]|0,a[h+20>>2]|0,a[k>>2]|0,1)|0,n=h+12|0,a[n>>2]=l,m=a[f>>2]|0);ee[a[(a[b+476>>2]|0)+4>>2]&15](b,d,c,e,l,f,a[k>>2]|0);l=a[f>>2]|0;l>>>0>m>>>0?(e=l-m|0,Ud[a[(a[b+484>>2]|0)+4>>2]&31](b,(a[n>>2]|0)+(m<<2)|0,0,e),a[g>>2]=(a[g>>2]|0)+e,b=a[f>>2]|0):b=l;l=a[k>>2]|0;b>>>0<l>>>
-0||(b=h+20|0,a[b>>2]=(a[b>>2]|0)+l,a[f>>2]=0)},function(b,d,c,e,f,g,h){b|=0;f|=0;g|=0;h|=0;var m,k,l,n,p;e=a[b+456>>2]|0;c=e+24|0;(d=a[c>>2]|0)?(m=e+20|0,l=e+16|0,n=d,p=a[e+12>>2]|0):(m=e+20|0,d=e+16|0,k=jg[a[(a[b+4>>2]|0)+28>>2]&3](b,a[e+8>>2]|0,a[m>>2]|0,a[d>>2]|0,0)|0,a[e+12>>2]=k,l=d,n=a[c>>2]|0,p=k);e=(a[l>>2]|0)-n|0;d=a[g>>2]|0;k=h-d|0;h=e>>>0>k>>>0?k:e;e=(a[b+116>>2]|0)-(a[m>>2]|0)|0;k=h>>>0>e>>>0?e:h;Ud[a[(a[b+484>>2]|0)+4>>2]&31](b,p+(n<<2)|0,f+(d<<2)|0,k);a[g>>2]=(a[g>>2]|0)+k;g=(a[c>>2]|
-0)+k|0;a[c>>2]=g;k=a[l>>2]|0;g>>>0<k>>>0||(a[m>>2]=(a[m>>2]|0)+k,a[c>>2]=0)},function(b,d,c,e,f,g,h){b|=0;d|=0;c|=0;f|=0;g|=0;h|=0;var m,k,l,n,p,q;e=a[b+476>>2]|0;m=e+92|0;k=a[m>>2]|0;l=b+320|0;n=a[l>>2]|0;if((k|0)<(n|0))d=n;else{k=b+36|0;if(0<(a[k>>2]|0)){n=0;for(p=a[b+216>>2]|0;!(q=(a[d+(n<<2)>>2]|0)+((E(a[e+100+(n<<2)>>2]|0,a[c>>2]|0)|0)<<2)|0,Ud[a[e+52+(n<<2)>>2]&31](b,p,q,e+12+(n<<2)|0),n=n+1|0,(n|0)>=(a[k>>2]|0));)p=p+88|0;q=a[l>>2]|0}else q=n;a[m>>2]=0;d=q;k=0}q=d-k|0;d=e+96|0;n=a[d>>2]|0;
-p=q>>>0>n>>>0?n:q;q=a[g>>2]|0;n=h-q|0;h=p>>>0>n>>>0?n:p;sf[a[(a[b+480>>2]|0)+4>>2]&63](b,e+12|0,k,f+(q<<2)|0,h);a[g>>2]=(a[g>>2]|0)+h;a[d>>2]=(a[d>>2]|0)-h;d=(a[m>>2]|0)+h|0;a[m>>2]=d;(d|0)<(a[l>>2]|0)||(a[c>>2]=(a[c>>2]|0)+1)},function(b,d,c,e,f,g,h){d|=0;e|=0;h|=0;var m,k,l,n,p,q;m=u;u=u+256|0;k=a[(a[(b|0)+420>>2]|0)+44+(a[d+4>>2]<<2)>>2]|0;b=a[d+84>>2]|0;l=(c|0)+((f|0)<<2)|0;if(h)for(f=d+36|0,d=g|0,g=0;;){td[k&127](m,l,d);c=0;do n=a[b+(c<<2)>>2]|0,p=a[m+(c<<2)>>2]|0,q=n>>1,0<=(p|0)?(p=p+q|0,n=
-(p|0)<(n|0)?0:(p|0)/(n|0)|0):(p=q-p|0,n=(p|0)<(n|0)?0:(p|0)/(n|0)|0,n=0-n|0),w[e+(g<<7)+(c<<1)>>1]=n,c=c+1|0;while(64!=(c|0));g=g+1|0;if((g|0)==(h|0))break;else d=(a[f>>2]|0)+d|0}u=m},function(b,d,c,e,f,g,h){d|=0;e|=0;h|=0;var m,k,l;m=u;u=u+256|0;k=a[(a[(b|0)+420>>2]|0)+84+(a[d+4>>2]<<2)>>2]|0;b=a[d+84>>2]|0;l=(c|0)+((f|0)<<2)|0;if(h)for(f=d+36|0,d=g|0,g=0;;){td[k&127](m,l,d);c=0;do w[e+(g<<7)+(c<<1)>>1]=~~(+W[m+(c<<2)>>2]*+W[b+(c<<2)>>2]+16384.5)+49152,c=c+1|0;while(64!=(c|0));g=g+1|0;if((g|0)==
-(h|0))break;else d=(a[f>>2]|0)+d|0}u=m},Jh,Jh,Jh,Jh,Jh],sf=[Ve,function(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k,l;g=a[b+416>>2]|0;h=b+76|0;if(!(0>=(a[h>>2]|0)))for(m=0,k=a[b+84>>2]|0;!(l=(a[e+(m<<2)>>2]|0)+((E(a[g+52+(m<<2)>>2]|0,f)|0)<<2)|0,Ud[a[g+12+(m<<2)>>2]&31](b,k,(a[d+(m<<2)>>2]|0)+(c<<2)|0,l),m=m+1|0,(m|0)>=(a[h>>2]|0));)k=k+88|0},function(b,d,c,e,f){b|=0;c|=0;f|=0;var g,h,m,k,l;g=a[b+36>>2]|0;h=a[b+28>>2]|0;if(!(1>(f|0)|0==(h|0))){m=e|0;k=d|0;l=f;do for(f=l,l=l+-1|0,d=k,k=k+4|0,e=
-a[(a[c>>2]|0)+(m<<2)>>2]|0,m=m+1|0,b=0,d=a[d>>2]|0;t[e+b>>0]=t[d>>0]|0,b=b+1|0,(b|0)!=(h|0);)d=d+g|0;while(1<(f|0))}},function(b,d,c,e,f){b|=0;c|=0;f|=0;var g,h,m,k,l;g=a[(a[b+412>>2]|0)+8>>2]|0;h=a[b+28>>2]|0;if(!(1>(f|0)|0==(h|0))){m=e|0;k=d|0;l=f;do for(f=l,l=l+-1|0,d=k,k=k+4|0,e=a[(a[c>>2]|0)+(m<<2)>>2]|0,m=m+1|0,b=0,d=a[d>>2]|0;t[e+b>>0]=((a[g+((x[d+1>>0]|256)<<2)>>2]|0)+(a[g+((x[d>>0]|0)<<2)>>2]|0)+(a[g+((x[d+2>>0]|512)<<2)>>2]|0)|0)>>>16,b=b+1|0,(b|0)!=(h|0);)d=d+3|0;while(1<(f|0))}},function(b,
-d,c,e,f){c|=0;f|=0;var g,h,m,k,l,n,p,q;g=a[(b|0)+28>>2]|0;if(!(0>=(f|0))&&(b=c+4|0,h=c+8|0,g)){m=e|0;k=d|0;l=f;do for(f=l,l=l+-1|0,d=k,k=k+4|0,e=a[(a[c>>2]|0)+(m<<2)>>2]|0,n=a[(a[b>>2]|0)+(m<<2)>>2]|0,p=a[(a[h>>2]|0)+(m<<2)>>2]|0,m=m+1|0,q=0,d=a[d>>2]|0;t[e+q>>0]=t[d>>0]|0,t[n+q>>0]=t[d+1>>0]|0,t[p+q>>0]=t[d+2>>0]|0,q=q+1|0,(q|0)!=(g|0);)d=d+3|0;while(1<(f|0))}},function(b,d,c,e,f){c|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H;g=a[(b|0)+28>>2]|0;if(!(0>=(f|0))&&(b=c+4|0,h=c+8|0,g)){m=e|0;k=d|0;l=f;do for(f=
-l,l=l+-1|0,d=k,k=k+4|0,e=a[(a[c>>2]|0)+(m<<2)>>2]|0,n=a[(a[b>>2]|0)+(m<<2)>>2]|0,p=a[(a[h>>2]|0)+(m<<2)>>2]|0,m=m+1|0,q=0,y=a[d>>2]|0;d=t[y+1>>0]|0,B=d&255,H=x[y+2>>0]|0,t[e+q>>0]=(x[y>>0]|0)+128-B,t[n+q>>0]=d,t[p+q>>0]=128-B+H,q=q+1|0,(q|0)!=(g|0);)y=y+3|0;while(1<(f|0))}},function(b,d,c,e,f){b|=0;c|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,u,z;g=a[(a[b+412>>2]|0)+8>>2]|0;h=a[b+28>>2]|0;if(!(0>=(f|0))){b=c+4|0;m=c+8|0;k=0==(h|0);l=e|0;e=d|0;d=f;do if(f=d,d=d+-1|0,n=e,e=e+4|0,p=a[(a[c>>2]|0)+(l<<2)>>2]|0,
-q=a[(a[b>>2]|0)+(l<<2)>>2]|0,y=a[(a[m>>2]|0)+(l<<2)>>2]|0,l=l+1|0,!k)for(B=0,H=a[n>>2]|0;n=x[H>>0]|0,u=x[H+1>>0]|0,z=x[H+2>>0]|0,t[p+B>>0]=((a[g+((u|256)<<2)>>2]|0)+(a[g+(n<<2)>>2]|0)+(a[g+((z|512)<<2)>>2]|0)|0)>>>16,t[q+B>>0]=((a[g+((u|1024)<<2)>>2]|0)+(a[g+((n|768)<<2)>>2]|0)+(a[g+((z|1280)<<2)>>2]|0)|0)>>>16,t[y+B>>0]=((a[g+((u|1536)<<2)>>2]|0)+(a[g+((n|1280)<<2)>>2]|0)+(a[g+((z|1792)<<2)>>2]|0)|0)>>>16,B=B+1|0,(B|0)!=(h|0);)H=H+3|0;while(1<(f|0))}},function(b,d,c,e,f){b|=0;c|=0;f|=0;var g,h,m,
-k,l,n,p,q;g=a[b+76>>2]|0;h=a[b+28>>2]|0;if(!(0>=(f|0)))for(b=0<(g|0),m=0==(h|0),k=d|0,d=e|0,e=f;;){f=e;e=e+-1|0;if(b){l=0;do{if(!m)for(n=0,p=(a[k>>2]|0)+l|0,q=a[(a[c+(l<<2)>>2]|0)+(d<<2)>>2]|0;t[q>>0]=t[p>>0]|0,n=n+1|0,(n|0)!=(h|0);)p=p+g|0,q=q+1|0;l=l+1|0}while((l|0)!=(g|0))}if(1>=(f|0))break;else k=k+4|0,d=d+1|0}},function(b,d,c,e,f){b|=0;c|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,u,z,Q,C;g=a[(a[b+412>>2]|0)+8>>2]|0;h=a[b+28>>2]|0;if(!(0>=(f|0))){b=c+4|0;m=c+8|0;k=c+12|0;l=0==(h|0);n=e|0;e=d|0;d=f;do if(f=
-d,d=d+-1|0,p=e,e=e+4|0,q=a[(a[c>>2]|0)+(n<<2)>>2]|0,y=a[(a[b>>2]|0)+(n<<2)>>2]|0,B=a[(a[m>>2]|0)+(n<<2)>>2]|0,H=a[(a[k>>2]|0)+(n<<2)>>2]|0,n=n+1|0,!l)for(u=0,z=a[p>>2]|0;p=(x[z>>0]|0)^255,Q=(x[z+1>>0]|0)^255,C=(x[z+2>>0]|0)^255,t[H+u>>0]=t[z+3>>0]|0,t[q+u>>0]=((a[g+((Q|256)<<2)>>2]|0)+(a[g+(p<<2)>>2]|0)+(a[g+((C|512)<<2)>>2]|0)|0)>>>16,t[y+u>>0]=((a[g+((Q|1024)<<2)>>2]|0)+(a[g+((p|768)<<2)>>2]|0)+(a[g+((C|1280)<<2)>>2]|0)|0)>>>16,t[B+u>>0]=((a[g+((Q|1536)<<2)>>2]|0)+(a[g+((p|1280)<<2)>>2]|0)+(a[g+
-((C|1792)<<2)>>2]|0)|0)>>>16,u=u+1|0,(u|0)!=(h|0);)z=z+4|0;while(1<(f|0))}},function(b,d,c,e,f){Dg(a[(d|0)>>2]|0,c|0,e|0,0,f|0,a[(b|0)+112>>2]|0)},function(b,d,c,e,f){b|=0;d|=0;f|=0;var g,h,m,k,l,n,p,q,y;g=a[(a[b+480>>2]|0)+24>>2]|0;h=a[b+112>>2]|0;if(!(0>=(f|0))&&(b=d+4|0,m=d+8|0,h)){k=e|0;l=c|0;n=f;do{f=n;n=n+-1|0;c=a[(a[d>>2]|0)+(l<<2)>>2]|0;e=a[(a[b>>2]|0)+(l<<2)>>2]|0;p=a[(a[m>>2]|0)+(l<<2)>>2]|0;l=l+1|0;q=a[k>>2]|0;k=k+4|0;y=0;do t[q+y>>0]=((a[g+((x[e+y>>0]|256)<<2)>>2]|0)+(a[g+((x[c+y>>0]|
-0)<<2)>>2]|0)+(a[g+((x[p+y>>0]|512)<<2)>>2]|0)|0)>>>16,y=y+1|0;while((y|0)!=(h|0))}while(1<(f|0))}},function(b,d,c,e,f){b|=0;d|=0;f|=0;var g,h,m,k,l,n,p,q,y,B;g=a[(a[b+480>>2]|0)+24>>2]|0;h=a[b+112>>2]|0;if(!(0>=(f|0))&&(b=d+4|0,m=d+8|0,h)){k=e|0;l=c|0;n=f;do{f=n;n=n+-1|0;c=a[(a[d>>2]|0)+(l<<2)>>2]|0;e=a[(a[b>>2]|0)+(l<<2)>>2]|0;p=a[(a[m>>2]|0)+(l<<2)>>2]|0;l=l+1|0;q=a[k>>2]|0;k=k+4|0;y=0;do B=x[e+y>>0]|0,t[q+y>>0]=((a[g+((B|256)<<2)>>2]|0)+(a[g+(((x[c+y>>0]|0)+128+B&255)<<2)>>2]|0)+(a[g+((B+128+
-(x[p+y>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16,y=y+1|0;while((y|0)!=(h|0))}while(1<(f|0))}},function(b,d,c,e,f){d|=0;f|=0;var g,h,m,k,l;g=a[(b|0)+112>>2]|0;if(!(1>(f|0)|0==(g|0))){h=e|0;m=c|0;k=f;do for(f=k,k=k+-1|0,c=a[(a[d>>2]|0)+(m<<2)>>2]|0,m=m+1|0,e=0,b=a[h>>2]|0,h=h+4|0;l=t[c+e>>0]|0,t[b+2>>0]=l,t[b+1>>0]=l,t[b>>0]=l,e=e+1|0,(e|0)!=(g|0);)b=b+3|0;while(1<(f|0))}},function(b,d,c,e,f){b|=0;d|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,u,z,Q,C,r;g=a[b+480>>2]|0;h=a[b+112>>2]|0;m=a[b+336>>2]|0;b=a[g+8>>2]|0;k=
-a[g+12>>2]|0;l=a[g+16>>2]|0;n=a[g+20>>2]|0;if(!(0>=(f|0))&&(g=d+4|0,p=d+8|0,h)){q=e|0;y=c|0;B=f;do for(f=B,B=B+-1|0,c=a[(a[d>>2]|0)+(y<<2)>>2]|0,e=a[(a[g>>2]|0)+(y<<2)>>2]|0,H=a[(a[p>>2]|0)+(y<<2)>>2]|0,y=y+1|0,u=0,z=a[q>>2]|0,q=q+4|0;Q=x[c+u>>0]|0,C=x[e+u>>0]|0,r=x[H+u>>0]|0,t[z>>0]=t[m+((a[b+(r<<2)>>2]|0)+Q)>>0]|0,t[z+1>>0]=t[m+(((a[l+(r<<2)>>2]|0)+(a[n+(C<<2)>>2]|0)>>16)+Q)>>0]|0,t[z+2>>0]=t[m+((a[k+(C<<2)>>2]|0)+Q)>>0]|0,u=u+1|0,(u|0)!=(h|0);)z=z+3|0;while(1<(f|0))}},function(b,d,c,e,f){d|=0;
-f|=0;var g,h,m,k,l,n,p,q,y;g=a[(b|0)+112>>2]|0;if(!(0>=(f|0))){b=d+4|0;h=d+8|0;m=0==(g|0);k=e|0;e=c|0;c=f;do{f=c;c=c+-1|0;l=a[(a[d>>2]|0)+(e<<2)>>2]|0;n=a[(a[b>>2]|0)+(e<<2)>>2]|0;p=a[(a[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if(!m)for(q=0,y=a[k>>2]|0;t[y>>0]=t[l+q>>0]|0,t[y+1>>0]=t[n+q>>0]|0,t[y+2>>0]=t[p+q>>0]|0,q=q+1|0,(q|0)!=(g|0);)y=y+3|0;k=k+4|0}while(1<(f|0))}},function(b,d,c,e,f){d|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,u;g=a[(b|0)+112>>2]|0;if(!(0>=(f|0))){b=d+4|0;h=d+8|0;m=0==(g|0);k=e|0;e=c|0;c=f;do{f=
-c;c=c+-1|0;l=a[(a[d>>2]|0)+(e<<2)>>2]|0;n=a[(a[b>>2]|0)+(e<<2)>>2]|0;p=a[(a[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if(!m)for(q=0,y=a[k>>2]|0;B=t[n+q>>0]|0,H=B&255,u=x[p+q>>0]|0,t[y>>0]=(x[l+q>>0]|0)+128+H,t[y+1>>0]=B,t[y+2>>0]=H+128+u,q=q+1|0,(q|0)!=(g|0);)y=y+3|0;k=k+4|0}while(1<(f|0))}},function(b,d,c,e,f){b|=0;d|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,u,z,Q,C,r,w,v,J;g=a[b+480>>2]|0;h=a[b+112>>2]|0;m=a[b+336>>2]|0;b=a[g+8>>2]|0;k=a[g+12>>2]|0;l=a[g+16>>2]|0;n=a[g+20>>2]|0;if(!(0>=(f|0))){g=d+4|0;p=d+8|0;q=d+
-12|0;y=0==(h|0);B=e|0;e=c|0;c=f;do{f=c;c=c+-1|0;H=a[(a[d>>2]|0)+(e<<2)>>2]|0;u=a[(a[g>>2]|0)+(e<<2)>>2]|0;z=a[(a[p>>2]|0)+(e<<2)>>2]|0;Q=a[(a[q>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if(!y)for(C=0,r=a[B>>2]|0;w=x[u+C>>0]|0,v=x[z+C>>0]|0,J=(x[H+C>>0]|0)^255,t[r>>0]=t[m+(J-(a[b+(v<<2)>>2]|0))>>0]|0,t[r+1>>0]=t[m+(J-((a[l+(v<<2)>>2]|0)+(a[n+(w<<2)>>2]|0)>>16))>>0]|0,t[r+2>>0]=t[m+(J-(a[k+(w<<2)>>2]|0))>>0]|0,t[r+3>>0]=t[Q+C>>0]|0,C=C+1|0,(C|0)!=(h|0);)r=r+4|0;B=B+4|0}while(1<(f|0))}},function(b,d,c,e,f){b|=0;d|=
-0;f|=0;var g,h,m,k,l,n,p,q;g=a[b+36>>2]|0;h=a[b+112>>2]|0;if(!(0>=(f|0)))for(b=0<(g|0),m=0==(h|0),k=c|0,c=e|0,e=f;;){f=e;e=e+-1|0;if(b){l=0;do{if(!m)for(n=0,p=a[(a[d+(l<<2)>>2]|0)+(k<<2)>>2]|0,q=(a[c>>2]|0)+l|0;t[q>>0]=t[p>>0]|0,n=n+1|0,(n|0)!=(h|0);)p=p+1|0,q=q+g|0;l=l+1|0}while((l|0)!=(g|0))}if(1>=(f|0))break;else k=k+1|0,c=c+4|0}},function(b,d,c,e,f){e|=0;f|=0;b=(a[(b|0)+336>>2]|0)+((((E(w[(c|0)>>1]|0,a[a[(d|0)+84>>2]>>2]|0)|0)+4100|0)>>>3&1023)+-384)|0;t[(a[e>>2]|0)+f>>0]=t[b>>0]|0},function(b,
-d,c,e,f){c|=0;e|=0;f|=0;var g,h,m,k;g=a[(b|0)+336>>2]|0;b=a[(d|0)+84>>2]|0;d=E(w[c>>1]|0,a[b>>2]|0)|0;h=E(w[c+16>>1]|0,a[b+32>>2]|0)|0;m=d+4100|0;d=h+m|0;k=m-h|0;h=E(w[c+2>>1]|0,a[b+4>>2]|0)|0;m=E(w[c+18>>1]|0,a[b+36>>2]|0)|0;b=m+h|0;c=h-m|0;m=a[e>>2]|0;t[m+f>>0]=t[g+(((b+d|0)>>>3&1023)+-384)>>0]|0;h=f+1|0;t[m+h>>0]=t[g+(((d-b|0)>>>3&1023)+-384)>>0]|0;b=a[e+4>>2]|0;t[b+f>>0]=t[g+(((c+k|0)>>>3&1023)+-384)>>0]|0;t[b+h>>0]=t[g+(((k-c|0)>>>3&1023)+-384)>>0]|0},function(b,d,c,e,f){c|=0;e|=0;f|=0;var g,
-h,m,k,l,n,p,q,y,B;g=u;u=u+48|0;h=a[(b|0)+336>>2]|0;b=a[(d|0)+84>>2]|0;d=E(a[b>>2]<<13,w[c>>1]|0)|1024;m=E(5793*(a[b+64>>2]|0)|0,w[c+32>>1]|0)|0;k=m+d|0;l=(E(m,-2)|0)+d|0;d=E(10033*(a[b+32>>2]|0)|0,w[c+16>>1]|0)|0;m=d+k>>11;a[g>>2]=m;a[g+24>>2]=k-d>>11;d=g+12|0;a[d>>2]=l>>11;l=E(a[b+4>>2]<<13,w[c+2>>1]|0)|1024;k=E(5793*(a[b+68>>2]|0)|0,w[c+34>>1]|0)|0;n=k+l|0;p=(E(k,-2)|0)+l|0;l=E(10033*(a[b+36>>2]|0)|0,w[c+18>>1]|0)|0;k=l+n>>11;a[g+4>>2]=k;a[g+28>>2]=n-l>>11;l=p>>11;a[g+16>>2]=l;p=E(a[b+8>>2]<<13,
-w[c+4>>1]|0)|1024;n=E(5793*(a[b+72>>2]|0)|0,w[c+36>>1]|0)|0;q=n+p|0;y=(E(n,-2)|0)+p|0;p=E(10033*(a[b+40>>2]|0)|0,w[c+20>>1]|0)|0;c=p+q>>11;a[g+8>>2]=c;b=q-p>>11;a[g+32>>2]=b;p=y>>11;a[g+20>>2]=p;y=f+2|0;q=f+1|0;n=a[e>>2]|0;B=(m<<13)+134348800|0;m=B+(5793*c|0)|0;c=(E(c,-11586)|0)+B|0;B=10033*k|0;t[n+f>>0]=t[h+(((m+B|0)>>>18&1023)+-384)>>0]|0;t[n+y>>0]=t[h+(((m-B|0)>>>18&1023)+-384)>>0]|0;t[n+q>>0]=t[h+((c>>>18&1023)+-384)>>0]|0;c=a[e+4>>2]|0;n=(a[d>>2]<<13)+134348800|0;d=n+(5793*p|0)|0;B=(E(p,-11586)|
-0)+n|0;n=10033*l|0;t[c+f>>0]=t[h+(((d+n|0)>>>18&1023)+-384)>>0]|0;t[c+y>>0]=t[h+(((d-n|0)>>>18&1023)+-384)>>0]|0;t[c+q>>0]=t[h+((B>>>18&1023)+-384)>>0]|0;B=a[e+8>>2]|0;e=(a[g+24>>2]<<13)+134348800|0;c=e+(5793*b|0)|0;n=(E(b,-11586)|0)+e|0;e=10033*(a[g+28>>2]|0)|0;t[B+f>>0]=t[h+(((c+e|0)>>>18&1023)+-384)>>0]|0;t[B+y>>0]=t[h+(((c-e|0)>>>18&1023)+-384)>>0]|0;t[B+q>>0]=t[h+((n>>>18&1023)+-384)>>0]|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H;g=u;u=u+64|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=
-c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(w[k>>1]|0,a[c>>2]|0)|0,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=n+l<<2,q=l-n<<2,n=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,l=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,y=(4433*(l+n|0)|0)+1024|0,B=y+(6270*n|0)>>11,n=y+(E(l,-15137)|0)>>11,a[d>>2]=B+p,a[d+48>>2]=p-B,a[d+16>>2]=n+q,a[d+32>>2]=q-n,b=b+1|0,4!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+3|0;c=f+1|0;k=f+2|0;b=0;for(n=h;h=a[e+(b<<2)>>2]|0,q=(a[n>>2]|0)+16400|0,B=a[n+8>>2]|0,p=q+B<<13,l=q-B<<13,B=a[n+4>>2]|0,q=a[n+12>>2]|0,y=4433*(q+B|0)|0,H=
-y+(6270*B|0)|0,B=y+(E(q,-15137)|0)|0,t[h+f>>0]=t[m+(((H+p|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((p-H|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((B+l|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((l-B|0)>>>18&1023)+-384)>>0]|0,b=b+1|0,4!=(b|0);)n=n+16|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,ka,z;g=u;u=u+112|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=6476*(p+
-n|0)|0,y=n-p|0,p=(2896*y|0)+l|0,n=p+q|0,B=p-q|0,q=l+(E(y,-11584)|0)|0,y=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,l=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,p=6810*(l+y|0)|0,H=p+(4209*y|0)|0,y=p+(E(l,-17828)|0)|0,a[d>>2]=H+n>>11,a[d+80>>2]=n-H>>11,a[d+20>>2]=y+B>>11,a[d+60>>2]=B-y>>11,a[d+40>>2]=q>>11,b=b+1|0,5!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+4|0;c=f+1|0;k=f+3|0;b=f+2|0;q=0;for(y=h;h=a[e+(q<<2)>>2]|0,B=(a[y>>2]<<13)+134348800|0,H=a[y+8>>2]|0,n=a[y+16>>2]|0,l=6476*(n+H|0)|0,p=H-n|0,n=(2896*p|0)+B|0,H=n+l|0,ka=n-l|
-0,l=B+(E(p,-11584)|0)|0,p=a[y+4>>2]|0,B=a[y+12>>2]|0,n=6810*(B+p|0)|0,z=n+(4209*p|0)|0,p=n+(E(B,-17828)|0)|0,t[h+f>>0]=t[m+(((z+H|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((H-z|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((p+ka|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((ka-p|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+((l>>>18&1023)+-384)>>0]|0,q=q+1|0,5!=(q|0);)y=y+20|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,r;g=u;u=u+144|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>
-2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(5793*(a[c+128>>2]|0)|0,w[k+64>>1]|0)|0,p=n+l|0,q=(E(n,-2)|0)+l>>11,l=E(10033*(a[c+64>>2]|0)|0,w[k+32>>1]|0)|0,n=l+p|0,y=p-l|0,l=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,p=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,B=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,H=2998*(B+l|0)|0,ka=H+(p+l<<13)|0,z=H+(B-p<<13)|0,H=l-p-B<<2,a[d>>2]=ka+n>>11,a[d+120>>2]=n-ka>>11,a[d+24>>2]=H+q,a[d+96>>2]=q-H,a[d+48>>2]=z+y>>11,a[d+72>>2]=y-z>>11,b=b+1|0,6!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+5|0;c=f+1|0;k=
-f+4|0;b=f+2|0;z=f+3|0;y=0;for(H=h;h=a[e+(y<<2)>>2]|0,q=(a[H>>2]<<13)+134348800|0,ka=5793*(a[H+16>>2]|0)|0,n=q+ka|0,B=q-ka-ka|0,ka=10033*(a[H+8>>2]|0)|0,q=n+ka|0,p=n-ka|0,ka=a[H+4>>2]|0,n=a[H+12>>2]|0,l=a[H+20>>2]|0,Q=2998*(l+ka|0)|0,C=Q+(n+ka<<13)|0,r=Q+(l-n<<13)|0,Q=ka-n-l<<13,t[h+f>>0]=t[m+(((C+q|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((q-C|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((Q+B|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((B-Q|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((r+p|0)>>>18&1023)+
--384)>>0]|0,t[h+z>>0]=t[m+(((p-r|0)>>>18&1023)+-384)>>0]|0,y=y+1|0,6!=(y|0);)H=H+24|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,r,x,v,J,I,G;g=u;u=u+208|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,y=7223*(p-q|0)|0,B=2578*(n-p|0)|0,H=l+(B+y)+(E(p,-15083)|0)|0,ka=q+n|0,z=(10438*ka|0)+l|0,Q=z+(E(q,-637)|0)+y|0,y=z+(E(n,-20239)|
-0)+B|0,B=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,n=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,q=7663*(n+B|0)|0,C=1395*(B-n|0)|0,r=E(z+n|0,-11295)|0,n=q+C+r|0,x=5027*(z+B|0)|0,B=x+(q-C)|0,C=x+(15326*z|0)+r|0,a[d>>2]=B+Q>>11,a[d+168>>2]=Q-B>>11,a[d+28>>2]=n+H>>11,a[d+140>>2]=H-n>>11,a[d+56>>2]=C+y>>11,a[d+112>>2]=y-C>>11,a[d+84>>2]=(11585*(p-ka|0)|0)+l>>11,b=b+1|0,7!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+6|0;c=f+1|0;k=f+5|0;b=f+2|0;l=f+4|0;ka=f+3|0;p=0;for(C=h;h=a[e+(p<<2)>>2]|0,y=(a[C>>2]<<
-13)+134348800|0,n=a[C+8>>2]|0,H=a[C+16>>2]|0,B=a[C+24>>2]|0,Q=7223*(H-B|0)|0,r=2578*(n-H|0)|0,z=y+(r+Q)+(E(H,-15083)|0)|0,x=B+n|0,q=(10438*x|0)+y|0,v=q+(E(B,-637)|0)+Q|0,Q=q+(E(n,-20239)|0)+r|0,r=a[C+4>>2]|0,n=a[C+12>>2]|0,q=a[C+20>>2]|0,B=7663*(n+r|0)|0,J=1395*(r-n|0)|0,I=E(q+n|0,-11295)|0,n=B+J+I|0,G=5027*(q+r|0)|0,r=B-J+G|0,J=G+(15326*q|0)+I|0,t[h+f>>0]=t[m+(((r+v|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((v-r|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((n+z|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+
-(((z-n|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((J+Q|0)>>>18&1023)+-384)>>0]|0,t[h+l>>0]=t[m+(((Q-J|0)>>>18&1023)+-384)>>0]|0,t[h+ka>>0]=t[m+((((11585*(H-x|0)|0)+y|0)>>>18&1023)+-384)>>0]|0,p=p+1|0,7!=(p|0);)C=C+28|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,r,x,v,J,I,G,L,K,A;g=u;u=u+288|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=E(5793*(a[c+192>>2]|
-0)|0,w[k+96>>1]|0)|0,y=q+l|0,B=l-q-q|0,q=n-p|0,l=B+(5793*q|0)|0,H=(E(q,-11586)|0)+B|0,B=10887*(p+n|0)|0,q=8875*n|0,n=2012*p|0,p=B-n+y|0,ka=y-B+q|0,B=y-q+n|0,n=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,q=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,y=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,z=E(E(a[c+96>>2]|0,-10033)|0,w[k+48>>1]|0)|0,Q=7447*(q+n|0)|0,C=3962*(y+n|0)|0,r=Q-z+C|0,x=11409*(q-y|0)|0,v=z-x+Q|0,Q=x+z+C|0,C=10033*(n-q-y|0)|0,a[d>>2]=r+p>>11,a[d+256>>2]=p-r>>11,a[d+32>>2]=C+l>>11,a[d+224>>2]=l-C>>11,a[d+64>>2]=v+ka>>11,
-a[d+192>>2]=ka-v>>11,a[d+96>>2]=Q+B>>11,a[d+160>>2]=B-Q>>11,a[d+128>>2]=H>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+8|0;c=f+1|0;k=f+7|0;b=f+2|0;H=f+6|0;Q=f+3|0;B=f+5|0;v=f+4|0;ka=0;for(C=h;h=a[e+(ka<<2)>>2]|0,l=(a[C>>2]<<13)+134348800|0,r=a[C+8>>2]|0,p=a[C+16>>2]|0,y=5793*(a[C+24>>2]|0)|0,q=y+l|0,n=l-y-y|0,y=r-p|0,l=n+(5793*y|0)|0,z=(E(y,-11586)|0)+n|0,n=10887*(p+r|0)|0,y=8875*r|0,r=2012*p|0,p=n-r+q|0,x=q-n+y|0,n=q-y+r|0,r=a[C+4>>2]|0,y=a[C+20>>2]|0,q=a[C+28>>2]|0,J=E(a[C+12>>2]|0,-10033)|
-0,I=7447*(y+r|0)|0,G=3962*(q+r|0)|0,L=I-J+G|0,K=11409*(y-q|0)|0,A=J-K+I|0,I=K+J+G|0,G=10033*(r-y-q|0)|0,t[h+f>>0]=t[m+(((L+p|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((p-L|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((G+l|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((l-G|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((A+x|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((x-A|0)>>>18&1023)+-384)>>0]|0,t[h+Q>>0]=t[m+(((I+n|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((n-I|0)>>>18&1023)+-384)>>0]|0,t[h+v>>0]=t[m+((z>>>18&
-1023)+-384)>>0]|0,ka=ka+1|0,9!=(ka|0);)C=C+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,ka,z,Q,C,r,x,v,J,I,G,L,K,A;g=u;u=u+320|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,p=(9373*n|0)+l|0,q=l+(E(n,-3580)|0)|0,y=l+(E(n,-11586)|0)>>11,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,l=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,B=6810*(l+n|0)|0,H=B+(4209*n|0)|0,n=B+(E(l,-17828)|0)|0,l=H+p|0,B=p-H|0,H=n+q|0,p=q-n|0,n=E(w[k+
-16>>1]|0,a[c+32>>2]|0)|0,q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,ka=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,z=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,Q=z+q|0,C=q-z|0,z=2531*C|0,q=ka<<13,r=7791*Q|0,x=z+q|0,v=r+(11443*n|0)+x|0,J=(1812*n|0)-r+x|0,x=4815*Q|0,Q=q-z-(C<<12)|0,z=n-ka-C<<2,C=(10323*n|0)-x-Q|0,ka=Q+((5260*n|0)-x)|0,a[d>>2]=v+l>>11,a[d+288>>2]=l-v>>11,a[d+32>>2]=C+H>>11,a[d+256>>2]=H-C>>11,a[d+64>>2]=z+y,a[d+224>>2]=y-z,a[d+96>>2]=ka+p>>11,a[d+192>>2]=p-ka>>11,a[d+128>>2]=J+B>>11,a[d+160>>2]=B-J>>11,b=b+1|0,8!=
-(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+9|0;c=f+1|0;k=f+8|0;b=f+2|0;J=f+7|0;B=f+3|0;ka=f+6|0;p=f+4|0;z=f+5|0;y=0;for(C=h;h=a[e+(y<<2)>>2]|0,H=(a[C>>2]<<13)+134348800|0,v=a[C+16>>2]|0,l=H+(9373*v|0)|0,x=H+(E(v,-3580)|0)|0,n=H+(E(v,-11586)|0)|0,v=a[C+8>>2]|0,H=a[C+24>>2]|0,Q=6810*(H+v|0)|0,q=Q+(4209*v|0)|0,v=Q+(E(H,-17828)|0)|0,H=q+l|0,Q=l-q|0,q=v+x|0,l=x-v|0,v=a[C+4>>2]|0,x=a[C+12>>2]|0,r=a[C+20>>2]<<13,I=a[C+28>>2]|0,G=I+x|0,L=x-I|0,I=2531*L|0,x=7791*G|0,K=I+r|0,A=x+(11443*v|0)+K|0,x=(1812*v|0)-x+K|0,
-K=4815*G|0,G=r-I-(L<<12)|0,I=(v-L<<13)-r|0,r=(10323*v|0)-K-G|0,L=G+((5260*v|0)-K)|0,t[h+f>>0]=t[m+(((A+H|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((H-A|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((r+q|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((q-r|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((I+n|0)>>>18&1023)+-384)>>0]|0,t[h+J>>0]=t[m+(((n-I|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((L+l|0)>>>18&1023)+-384)>>0]|0,t[h+ka>>0]=t[m+(((l-L|0)>>>18&1023)+-384)>>0]|0,t[h+p>>0]=t[m+(((x+Q|0)>>>18&1023)+-384)>>
-0]|0,t[h+z>>0]=t[m+(((Q-x|0)>>>18&1023)+-384)>>0]|0,y=y+1|0,10!=(y|0);)C=C+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T;g=u;u=u+352|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,y=20862*(p-q|0)|0,B=3529*(p-n|0)|0,H=q+n|0,r=H-p|0,z=(11116*r|0)+l|0,Q=B+y+z+(E(p,-14924)|0)|0,C=y+(17333*q|0)+z|0,y=z+
-(E(n,-12399)|0)+B|0,B=z+(E(H,-9467)|0)|0,H=B+(E(q,-6461)|0)|0,q=B+((15929*p|0)+(E(n,-11395)|0))|0,n=l+(E(r,-11585)|0)|0,r=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,l=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,p=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,B=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,z=l+r|0,x=3264*(p+z+B|0)|0,V=7274*z|0,z=5492*(p+r|0)|0,v=x+(3E3*(B+r|0)|0)|0,J=V+z+v+(E(r,-7562)|0)|0,r=x+(E(p+l|0,-9527)|0)|0,I=r+(E(p,-9766)|0)+z|0,z=E(B+l|0,-14731)|0,G=V+(16984*l|0)+z+r|0,r=z+(17223*B|0)+v|0,v=x+((E(l,-12019)|0)+(8203*p|0)+(E(B,
--13802)|0))|0,a[d>>2]=J+C>>11,a[d+320>>2]=C-J>>11,a[d+32>>2]=G+Q>>11,a[d+288>>2]=Q-G>>11,a[d+64>>2]=I+H>>11,a[d+256>>2]=H-I>>11,a[d+96>>2]=r+y>>11,a[d+224>>2]=y-r>>11,a[d+128>>2]=v+q>>11,a[d+192>>2]=q-v>>11,a[d+160>>2]=n>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+10|0;c=f+1|0;k=f+9|0;b=f+2|0;n=f+8|0;v=f+3|0;q=f+7|0;r=f+4|0;y=f+6|0;I=f+5|0;H=0;for(G=h;h=a[e+(H<<2)>>2]|0,Q=(a[G>>2]<<13)+134348800|0,J=a[G+8>>2]|0,C=a[G+16>>2]|0,B=a[G+24>>2]|0,p=20862*(C-B|0)|0,l=3529*(C-J|0)|0,x=B+J|0,z=x-C|0,
-V=(11116*z|0)+Q|0,L=l+p+V+(E(C,-14924)|0)|0,K=p+(17333*B|0)+V|0,p=V+(E(J,-12399)|0)+l|0,l=V+(E(x,-9467)|0)|0,x=l+(E(B,-6461)|0)|0,B=l+((15929*C|0)+(E(J,-11395)|0))|0,J=Q+(E(z,-11585)|0)|0,z=a[G+4>>2]|0,Q=a[G+12>>2]|0,C=a[G+20>>2]|0,l=a[G+28>>2]|0,V=Q+z|0,A=3264*(V+C+l|0)|0,D=7274*V|0,V=5492*(C+z|0)|0,O=A+(3E3*(l+z|0)|0)|0,M=D+V+O+(E(z,-7562)|0)|0,z=A+(E(C+Q|0,-9527)|0)|0,T=z+(E(C,-9766)|0)+V|0,V=E(l+Q|0,-14731)|0,D=D+(16984*Q|0)+V+z|0,z=V+(17223*l|0)+O|0,O=A+((E(Q,-12019)|0)+(8203*C|0)+(E(l,-13802)|
-0))|0,t[h+f>>0]=t[m+(((M+K|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((K-M|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((D+L|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((L-D|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((T+x|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((x-T|0)>>>18&1023)+-384)>>0]|0,t[h+v>>0]=t[m+(((z+p|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((p-z|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((O+B|0)>>>18&1023)+-384)>>0]|0,t[h+y>>0]=t[m+(((B-O|0)>>>18&1023)+-384)>>0]|0,t[h+I>>0]=t[m+((J>>>18&1023)+
--384)>>0]|0,H=H+1|0,11!=(H|0);)G=G+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P;g=u;u=u+384|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(10033*(a[c+128>>2]|0)|0,w[k+64>>1]|0)|0,p=n+l|0,q=l-n|0,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,y=E(a[c+192>>2]<<13,w[k+96>>1]|0)|0,B=(n<<13)-y|0,H=B+l|0,r=l-B|0,B=y+(11190*n|0)|0,l=B+p|0,z=p-B|0,B=(2998*n|0)-y|0,y=B+q|0,n=q-B|0,B=E(w[k+16>>1]|0,a[c+32>>2]|0)|
-0,q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,p=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,Q=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,C=10703*q|0,x=E(q,-4433)|0,V=p+B|0,v=7053*(Q+V|0)|0,J=v+(2139*V|0)|0,V=C+(2295*B|0)+J|0,I=E(Q+p|0,-8565)|0,G=x+I+(E(p,-12112)|0)+J|0,J=(12998*Q|0)-C+v+I|0,I=v+((E(B,-5540)|0)+x+(E(Q,-16244)|0))|0,x=B-Q|0,Q=q-p|0,p=4433*(x+Q|0)|0,q=p+(6270*x|0)|0,x=p+(E(Q,-15137)|0)|0,a[d>>2]=V+l>>11,a[d+352>>2]=l-V>>11,a[d+32>>2]=q+H>>11,a[d+320>>2]=H-q>>11,a[d+64>>2]=G+y>>11,a[d+288>>2]=y-G>>11,a[d+96>>2]=J+n>>
-11,a[d+256>>2]=n-J>>11,a[d+128>>2]=x+r>>11,a[d+224>>2]=r-x>>11,a[d+160>>2]=I+z>>11,a[d+192>>2]=z-I>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+11|0;c=f+1|0;k=f+10|0;b=f+2|0;I=f+9|0;z=f+3|0;x=f+8|0;r=f+4|0;J=f+7|0;n=f+5|0;G=f+6|0;y=0;for(q=h;h=a[e+(y<<2)>>2]|0,H=(a[q>>2]<<13)+134348800|0,V=10033*(a[q+16>>2]|0)|0,l=H+V|0,Q=H-V|0,V=a[q+8>>2]|0,p=a[q+24>>2]<<13,B=(V<<13)-p|0,v=B+H|0,C=H-B|0,B=p+(11190*V|0)|0,H=B+l|0,L=l-B|0,B=(2998*V|0)-p|0,p=B+Q|0,V=Q-B|0,B=a[q+4>>2]|0,Q=a[q+12>>2]|0,l=a[q+20>>
-2]|0,K=a[q+28>>2]|0,A=10703*Q|0,D=E(Q,-4433)|0,O=l+B|0,M=7053*(O+K|0)|0,T=M+(2139*O|0)|0,O=A+(2295*B|0)+T|0,X=E(K+l|0,-8565)|0,P=D+X+(E(l,-12112)|0)+T|0,T=(12998*K|0)-A+M+X|0,X=M+((E(B,-5540)|0)+D+(E(K,-16244)|0))|0,D=B-K|0,K=Q-l|0,l=4433*(D+K|0)|0,Q=l+(6270*D|0)|0,D=l+(E(K,-15137)|0)|0,t[h+f>>0]=t[m+(((O+H|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((H-O|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((Q+v|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((v-Q|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((P+p|0)>>>
-18&1023)+-384)>>0]|0,t[h+I>>0]=t[m+(((p-P|0)>>>18&1023)+-384)>>0]|0,t[h+z>>0]=t[m+(((T+V|0)>>>18&1023)+-384)>>0]|0,t[h+x>>0]=t[m+(((V-T|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((D+C|0)>>>18&1023)+-384)>>0]|0,t[h+J>>0]=t[m+(((C-D|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((X+L|0)>>>18&1023)+-384)>>0]|0,t[h+G>>0]=t[m+(((L-X|0)>>>18&1023)+-384)>>0]|0,y=y+1|0,12!=(y|0);)q=q+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P,Oa,F,N,ba,R;g=u;u=u+416|
-0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,y=q+p|0,B=p-q|0,q=9465*y|0,p=(793*B|0)+l|0,H=q+(11249*n|0)+p|0,r=(4108*n|0)-q+p|0,p=2592*y|0,q=(3989*B|0)+l|0,z=(8672*n|0)-p+q|0,Q=p+(E(n,-10258)|0)+q|0,q=3570*y|0,y=l+(E(B,-7678)|0)|0,p=(E(n,-1396)|0)-q+y|0,C=q+(E(n,-6581)|0)+y|0,y=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,x=E(w[k+
-80>>1]|0,a[c+160>>2]|0)|0,V=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,v=10832*(q+y|0)|0,J=9534*(x+y|0)|0,I=V+y|0,G=7682*I|0,L=v+J+G+(E(y,-16549)|0)|0,K=E(x+q|0,-2773)|0,A=E(V+q|0,-9534)|0,D=v+(6859*q|0)+K+A|0,v=E(V+x|0,-5384)|0,O=K+(E(x,-12879)|0)+J+v|0,J=A+(18068*V|0)+G+v|0,v=2773*I|0,I=7682*(x-q|0)|0,G=(2611*y|0)+v+(E(q,-3818)|0)+I|0,q=v+((3150*x|0)+I+(E(V,-14273)|0))|0,a[d>>2]=L+H>>11,a[d+384>>2]=H-L>>11,a[d+32>>2]=D+z>>11,a[d+352>>2]=z-D>>11,a[d+64>>2]=O+r>>11,a[d+320>>2]=r-O>>11,a[d+96>>2]=J+p>>11,a[d+
-288>>2]=p-J>>11,a[d+128>>2]=G+C>>11,a[d+256>>2]=C-G>>11,a[d+160>>2]=q+Q>>11,a[d+224>>2]=Q-q>>11,a[d+192>>2]=(11585*(B-n|0)|0)+l>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+12|0;c=f+1|0;k=f+11|0;b=f+2|0;l=f+10|0;n=f+3|0;B=f+9|0;q=f+4|0;Q=f+8|0;G=f+5|0;C=f+7|0;J=f+6|0;p=0;for(O=h;h=a[e+(p<<2)>>2]|0,r=(a[O>>2]<<13)+134348800|0,D=a[O+8>>2]|0,z=a[O+16>>2]|0,L=a[O+24>>2]|0,H=L+z|0,V=z-L|0,L=9465*H|0,z=(793*V|0)+r|0,I=L+(11249*D|0)+z|0,x=(4108*D|0)-L+z|0,z=2592*H|0,L=(3989*V|0)+r|0,v=(8672*D|0)-z+
-L|0,y=z+(E(D,-10258)|0)+L|0,L=3570*H|0,H=r+(E(V,-7678)|0)|0,z=(E(D,-1396)|0)-L+H|0,A=L+(E(D,-6581)|0)+H|0,H=a[O+4>>2]|0,L=a[O+12>>2]|0,K=a[O+20>>2]|0,M=a[O+28>>2]|0,T=10832*(L+H|0)|0,X=9534*(K+H|0)|0,P=M+H|0,Oa=7682*P|0,F=T+X+Oa+(E(H,-16549)|0)|0,N=E(K+L|0,-2773)|0,ba=E(M+L|0,-9534)|0,R=T+(6859*L|0)+N+ba|0,T=E(M+K|0,-5384)|0,N=N+(E(K,-12879)|0)+X+T|0,X=ba+(18068*M|0)+Oa+T|0,T=2773*P|0,P=7682*(K-L|0)|0,Oa=(2611*H|0)+T+(E(L,-3818)|0)+P|0,L=(3150*K|0)+P+(E(M,-14273)|0)+T|0,t[h+f>>0]=t[m+(((F+I|0)>>>
-18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((I-F|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((R+v|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((v-R|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((N+x|0)>>>18&1023)+-384)>>0]|0,t[h+l>>0]=t[m+(((x-N|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((X+z|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((z-X|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((Oa+A|0)>>>18&1023)+-384)>>0]|0,t[h+Q>>0]=t[m+(((A-Oa|0)>>>18&1023)+-384)>>0]|0,t[h+G>>0]=t[m+(((L+y|0)>>>18&1023)+-384)>>0]|0,t[h+C>>0]=
-t[m+(((y-L|0)>>>18&1023)+-384)>>0]|0,t[h+J>>0]=t[m+((((11585*(V-D|0)|0)+r|0)>>>18&1023)+-384)>>0]|0,p=p+1|0,13!=(p|0);)O=O+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P,Oa,F,N,ba;g=u;u=u+448|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,p=(10438*n|0)+l|0,q=(2578*n|0)+l|0,y=l+(E(n,-7223)|0)|0,B=l+(E(n,-11586)|0)>>11,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,l=E(w[k+96>>
-1]|0,a[c+192>>2]|0)|0,H=9058*(l+n|0)|0,r=H+(2237*n|0)|0,z=H+(E(l,-14084)|0)|0,H=(5027*n|0)+(E(l,-11295)|0)|0,l=r+p|0,n=p-r|0,r=z+q|0,p=q-z|0,z=H+y|0,q=y-H|0,H=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,y=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,Q=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,C=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,x=C<<13,V=Q+H|0,v=10935*(y+H|0)|0,J=9810*V|0,I=v+J+x+(E(H,-9232)|0)|0,G=6164*V|0,V=H-y|0,L=(3826*V|0)-x|0,K=L+(G+(E(H,-8693)|0))|0,H=(E(Q+y|0,-1297)|0)-x|0,A=H+(E(y,-3474)|0)+v|0,v=H+(E(Q,-19447)|0)+J|0,J=11512*
-(Q-y|0)|0,H=J+x+(E(Q,-13850)|0)+G|0,G=J+(5529*y|0)+L|0,L=V-Q+C<<2,a[d>>2]=I+l>>11,a[d+416>>2]=l-I>>11,a[d+32>>2]=A+r>>11,a[d+384>>2]=r-A>>11,a[d+64>>2]=v+z>>11,a[d+352>>2]=z-v>>11,a[d+96>>2]=L+B,a[d+320>>2]=B-L,a[d+128>>2]=H+q>>11,a[d+288>>2]=q-H>>11,a[d+160>>2]=G+p>>11,a[d+256>>2]=p-G>>11,a[d+192>>2]=K+n>>11,a[d+224>>2]=n-K>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+13|0;c=f+1|0;k=f+12|0;b=f+2|0;K=f+11|0;n=f+3|0;G=f+10|0;p=f+4|0;H=f+9|0;q=f+5|0;L=f+8|0;B=f+6|0;v=f+7|0;z=0;for(A=h;h=a[e+(z<<
-2)>>2]|0,r=(a[A>>2]<<13)+134348800|0,I=a[A+16>>2]|0,l=r+(10438*I|0)|0,C=r+(2578*I|0)|0,Q=r+(E(I,-7223)|0)|0,V=r+(E(I,-11586)|0)|0,I=a[A+8>>2]|0,r=a[A+24>>2]|0,y=9058*(r+I|0)|0,J=y+(2237*I|0)|0,x=y+(E(r,-14084)|0)|0,y=(5027*I|0)+(E(r,-11295)|0)|0,r=J+l|0,I=l-J|0,J=x+C|0,l=C-x|0,x=y+Q|0,C=Q-y|0,y=a[A+4>>2]|0,Q=a[A+12>>2]|0,D=a[A+20>>2]|0,O=a[A+28>>2]<<13,M=D+y|0,T=10935*(Q+y|0)|0,X=9810*M|0,P=O+(T+X)+(E(y,-9232)|0)|0,Oa=6164*M|0,M=y-Q|0,F=(3826*M|0)-O|0,N=Oa+(E(y,-8693)|0)+F|0,y=(E(D+Q|0,-1297)|0)-
-O|0,ba=y+(E(Q,-3474)|0)+T|0,T=y+(E(D,-19447)|0)+X|0,X=11512*(D-Q|0)|0,y=X+O+(E(D,-13850)|0)+Oa|0,Oa=X+(5529*Q|0)+F|0,F=(M-D<<13)+O|0,t[h+f>>0]=t[m+(((P+r|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((r-P|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((ba+J|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((J-ba|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((T+x|0)>>>18&1023)+-384)>>0]|0,t[h+K>>0]=t[m+(((x-T|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((F+V|0)>>>18&1023)+-384)>>0]|0,t[h+G>>0]=t[m+(((V-F|0)>>>18&1023)+-384)>>
-0]|0,t[h+p>>0]=t[m+(((y+C|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((C-y|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((Oa+l|0)>>>18&1023)+-384)>>0]|0,t[h+L>>0]=t[m+(((l-Oa|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((N+I|0)>>>18&1023)+-384)>>0]|0,t[h+v>>0]=t[m+(((I-N|0)>>>18&1023)+-384)>>0]|0,z=z+1|0,14!=(z|0);)A=A+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P,Oa,F,N,ba,R;g=u;u=u+480|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=
-h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,y=l+(E(q,-3580)|0)|0,B=(9373*q|0)+l|0,H=l+(E(q,-11586)|0)|0,q=n-p|0,l=p+n|0,p=10958*l|0,r=374*q|0,z=11795*n|0,n=r+p+B|0,Q=z-p+r+y|0,r=4482*l|0,p=E(q,-3271)|0,C=B-r+p|0,x=r-z+p+y|0,p=6476*l|0,l=2896*q|0,z=l+p+y|0,y=B-p+l|0,l=H+(5792*q|0)|0,p=(E(q,-11584)|0)+H|0,H=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,B=E(10033*(a[c+160>>2]|0)|0,w[k+80>>1]|
-0)|0,r=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,V=q-r|0,v=6810*(V+H|0)|0,J=v+(4209*H|0)|0,I=v+(E(V,-17828)|0)|0,V=E(q,-6810)|0,v=E(q,-11018)|0,q=H-r|0,G=(11522*q|0)+B|0,L=(20131*r|0)-v+G|0,K=G+(E(H,-9113)|0)+V|0,G=(10033*q|0)-B|0,q=4712*(r+H|0)|0,A=V+(3897*H|0)-B+q|0,H=B+v+(E(r,-7121)|0)+q|0,a[d>>2]=L+n>>11,a[d+448>>2]=n-L>>11,a[d+32>>2]=J+z>>11,a[d+416>>2]=z-J>>11,a[d+64>>2]=G+l>>11,a[d+384>>2]=l-G>>11,a[d+96>>2]=A+Q>>11,a[d+352>>2]=Q-A>>11,a[d+128>>2]=I+y>>11,a[d+320>>2]=y-I>>11,a[d+160>>2]=H+C>>11,a[d+
-288>>2]=C-H>>11,a[d+192>>2]=K+x>>11,a[d+256>>2]=x-K>>11,a[d+224>>2]=p>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+14|0;c=f+1|0;k=f+13|0;b=f+2|0;p=f+12|0;K=f+3|0;x=f+11|0;H=f+4|0;C=f+10|0;I=f+5|0;y=f+9|0;A=f+6|0;Q=f+8|0;G=f+7|0;l=0;for(J=h;h=a[e+(l<<2)>>2]|0,z=(a[J>>2]<<13)+134348800|0,L=a[J+8>>2]|0,n=a[J+16>>2]|0,q=a[J+24>>2]|0,r=z+(E(q,-3580)|0)|0,v=(9373*q|0)+z|0,B=z+(E(q,-11586)|0)|0,q=L-n|0,z=n+L|0,n=10958*z|0,V=374*q|0,D=11795*L|0,L=V+n+v|0,O=D-n+V+r|0,V=4482*z|0,n=E(q,-3271)|0,M=v-V+n|
-0,T=V-D+n+r|0,n=6476*z|0,z=2896*q|0,D=z+n+r|0,r=v-n+z|0,z=B+(5792*q|0)|0,n=(E(q,-11584)|0)+B|0,B=a[J+4>>2]|0,q=a[J+12>>2]|0,v=10033*(a[J+20>>2]|0)|0,V=a[J+28>>2]|0,X=q-V|0,P=6810*(X+B|0)|0,Oa=P+(4209*B|0)|0,F=P+(E(X,-17828)|0)|0,X=E(q,-6810)|0,P=E(q,-11018)|0,q=B-V|0,N=(11522*q|0)+v|0,ba=(20131*V|0)-P+N|0,R=N+(E(B,-9113)|0)+X|0,N=(10033*q|0)-v|0,q=4712*(V+B|0)|0,X=X+(3897*B|0)-v+q|0,B=v+P+(E(V,-7121)|0)+q|0,t[h+f>>0]=t[m+(((ba+L|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((L-ba|0)>>>18&1023)+-384)>>
-0]|0,t[h+c>>0]=t[m+(((Oa+D|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((D-Oa|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((N+z|0)>>>18&1023)+-384)>>0]|0,t[h+p>>0]=t[m+(((z-N|0)>>>18&1023)+-384)>>0]|0,t[h+K>>0]=t[m+(((X+O|0)>>>18&1023)+-384)>>0]|0,t[h+x>>0]=t[m+(((O-X|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((F+r|0)>>>18&1023)+-384)>>0]|0,t[h+C>>0]=t[m+(((r-F|0)>>>18&1023)+-384)>>0]|0,t[h+I>>0]=t[m+(((B+M|0)>>>18&1023)+-384)>>0]|0,t[h+y>>0]=t[m+(((M-B|0)>>>18&1023)+-384)>>0]|0,t[h+A>>0]=t[m+(((R+T|0)>>>
-18&1023)+-384)>>0]|0,t[h+Q>>0]=t[m+(((T-R|0)>>>18&1023)+-384)>>0]|0,t[h+G>>0]=t[m+((n>>>18&1023)+-384)>>0]|0,l=l+1|0,15!=(l|0);)J=J+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P,Oa,F,N,ba,R,S,Y,ga,Ha,ma,W;g=u;u=u+512|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,p=10703*n|0,q=4433*n|0,n=p+l|0,y=l-p|0,p=q+l|0,B=l-q|0,q=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,l=E(w[k+96>>
-1]|0,a[c+192>>2]|0)|0,H=q-l|0,r=2260*H|0,z=11363*H|0,H=z+(20995*l|0)|0,Q=r+(7373*q|0)|0,C=z+(E(q,-4926)|0)|0,q=r+(E(l,-4176)|0)|0,l=H+n|0,r=n-H|0,H=Q+p|0,n=p-Q|0,Q=C+B|0,p=B-C|0,C=q+y|0,B=y-q|0,q=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,y=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,x=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,V=z+q|0,v=11086*(y+q|0)|0,J=10217*V|0,I=8956*(x+q|0)|0,G=7350*(q-x|0)|0,L=5461*V|0,V=3363*(q-y|0)|0,K=v+J+I+(E(q,-18730)|0)|0,A=V+(L+G)+(E(q,-15038)|0)|0,q=1136*(z+y|0)|0,D=
-11529*(z-y|0)|0,O=x+y|0,M=E(O,-5461)|0,T=v+(589*y|0)+q+M|0,v=E(O,-10217)|0,O=V+(16154*y|0)+D+v|0,y=E(x+z|0,-11086)|0,V=q+(E(z,-9222)|0)+J+y|0,J=M+(8728*x|0)+I+y|0,y=3363*(x-z|0)|0,I=v+(25733*x|0)+G+y|0,G=D+(E(z,-6278)|0)+L+y|0,a[d>>2]=K+l>>11,a[d+480>>2]=l-K>>11,a[d+32>>2]=T+H>>11,a[d+448>>2]=H-T>>11,a[d+64>>2]=V+Q>>11,a[d+416>>2]=Q-V>>11,a[d+96>>2]=J+C>>11,a[d+384>>2]=C-J>>11,a[d+128>>2]=I+B>>11,a[d+352>>2]=B-I>>11,a[d+160>>2]=G+p>>11,a[d+320>>2]=p-G>>11,a[d+192>>2]=O+n>>11,a[d+288>>2]=n-O>>11,a[d+
-224>>2]=A+r>>11,a[d+256>>2]=r-A>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+15|0;c=f+1|0;k=f+14|0;b=f+2|0;A=f+13|0;r=f+3|0;O=f+12|0;n=f+4|0;G=f+11|0;p=f+5|0;I=f+10|0;B=f+6|0;J=f+9|0;C=f+7|0;V=f+8|0;Q=0;for(T=h;h=a[e+(Q<<2)>>2]|0,H=(a[T>>2]<<13)+134348800|0,K=a[T+16>>2]|0,l=10703*K|0,y=4433*K|0,K=H+l|0,L=H-l|0,l=H+y|0,z=H-y|0,y=a[T+8>>2]|0,H=a[T+24>>2]|0,D=y-H|0,x=2260*D|0,v=11363*D|0,D=v+(20995*H|0)|0,M=x+(7373*y|0)|0,q=v+(E(y,-4926)|0)|0,y=x+(E(H,-4176)|0)|0,H=D+K|0,x=K-D|0,D=M+l|0,K=l-M|0,
-M=q+z|0,l=z-q|0,q=y+L|0,z=L-y|0,y=a[T+4>>2]|0,L=a[T+12>>2]|0,v=a[T+20>>2]|0,X=a[T+28>>2]|0,P=v+y|0,Oa=11086*(L+y|0)|0,F=10217*P|0,N=8956*(X+y|0)|0,ba=7350*(y-X|0)|0,R=5461*P|0,P=3363*(y-L|0)|0,S=Oa+F+N+(E(y,-18730)|0)|0,Y=P+(R+ba)+(E(y,-15038)|0)|0,y=1136*(v+L|0)|0,ga=11529*(v-L|0)|0,Ha=X+L|0,ma=E(Ha,-5461)|0,W=Oa+(589*L|0)+y+ma|0,Oa=E(Ha,-10217)|0,Ha=P+(16154*L|0)+ga+Oa|0,L=E(X+v|0,-11086)|0,P=y+(E(v,-9222)|0)+F+L|0,F=ma+(8728*X|0)+N+L|0,L=3363*(X-v|0)|0,N=Oa+(25733*X|0)+ba+L|0,ba=ga+(E(v,-6278)|
-0)+R+L|0,t[h+f>>0]=t[m+(((S+H|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((H-S|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((W+D|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((D-W|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((P+M|0)>>>18&1023)+-384)>>0]|0,t[h+A>>0]=t[m+(((M-P|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((F+q|0)>>>18&1023)+-384)>>0]|0,t[h+O>>0]=t[m+(((q-F|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((N+z|0)>>>18&1023)+-384)>>0]|0,t[h+G>>0]=t[m+(((z-N|0)>>>18&1023)+-384)>>0]|0,t[h+p>>0]=t[m+(((ba+l|
-0)>>>18&1023)+-384)>>0]|0,t[h+I>>0]=t[m+(((l-ba|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((Ha+K|0)>>>18&1023)+-384)>>0]|0,t[h+J>>0]=t[m+(((K-Ha|0)>>>18&1023)+-384)>>0]|0,t[h+C>>0]=t[m+(((Y+x|0)>>>18&1023)+-384)>>0]|0,t[h+V>>0]=t[m+(((x-Y|0)>>>18&1023)+-384)>>0]|0,Q=Q+1|0,16!=(Q|0);)T=T+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q=0,y=0,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P,Oa,F,N,ba,R,S,Y,ga,Ha,ma,W;g=u;u=u+256|0;h=g;m=a[(b|0)+336>>2]|0;b=8;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;;)if(l=
-w[k+16>>1]|0,n=w[k+32>>1]|0,(l|n)<<16>>16?(q=n,y=10):0==(w[k+48>>1]|0)&&0==(w[k+64>>1]|0)&&0==(w[k+80>>1]|0)&&0==(w[k+96>>1]|0)&&0==(w[k+112>>1]|0)?(p=E(a[c>>2]<<2,w[k>>1]|0)|0,a[d>>2]=p,a[d+32>>2]=p,a[d+64>>2]=p,a[d+96>>2]=p,a[d+128>>2]=p,a[d+160>>2]=p,a[d+192>>2]=p,a[d+224>>2]=p):(q=0,y=10),10==(y|0)&&(y=0,n=E(q<<16>>16,a[c+64>>2]|0)|0,p=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,B=4433*(p+n|0)|0,H=B+(6270*n|0)|0,n=B+(E(p,-15137)|0)|0,p=E(a[c+128>>2]<<13,w[k+64>>1]|0)|0,B=E(a[c>>2]<<13,w[k>>1]|0)|1024,r=p+
-B|0,z=B-p|0,p=r+H|0,B=r-H|0,H=z+n|0,r=z-n|0,n=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,Q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,C=E(l<<16>>16,a[c+32>>2]|0)|0,l=Q+n|0,x=C+z|0,V=9633*(x+l|0)|0,v=V+(E(l,-16069)|0)|0,l=V+(E(x,-3196)|0)|0,x=E(C+n|0,-7373)|0,V=x+(2446*n|0)+v|0,n=x+(12299*C|0)+l|0,C=E(Q+z|0,-20995)|0,x=C+(16819*z|0)+l|0,l=C+(25172*Q|0)+v|0,a[d>>2]=n+p>>11,a[d+224>>2]=p-n>>11,a[d+32>>2]=l+H>>11,a[d+192>>2]=H-l>>11,a[d+64>>2]=x+r>>11,a[d+160>>2]=r-x>>11,a[d+96>>2]=V+B>>11,
-a[d+128>>2]=B-V>>11),1<(b|0))b=b+-1|0,k=k+2|0,c=c+4|0,d=d+4|0;else break;d=f+15|0;c=f+1|0;k=f+14|0;b=f+2|0;q=f+13|0;y=f+3|0;V=f+12|0;B=f+4|0;x=f+11|0;r=f+5|0;l=f+10|0;H=f+6|0;n=f+9|0;p=f+7|0;v=f+8|0;Q=0;for(C=h;h=a[e+(Q<<2)>>2]|0,z=(a[C>>2]<<13)+134348800|0,J=a[C+16>>2]|0,I=10703*J|0,G=4433*J|0,J=z+I|0,L=z-I|0,I=z+G|0,K=z-G|0,G=a[C+8>>2]|0,z=a[C+24>>2]|0,A=G-z|0,D=2260*A|0,O=11363*A|0,A=O+(20995*z|0)|0,M=D+(7373*G|0)|0,T=O+(E(G,-4926)|0)|0,G=D+(E(z,-4176)|0)|0,z=A+J|0,D=J-A|0,A=M+I|0,J=I-M|0,M=T+
-K|0,I=K-T|0,T=G+L|0,K=L-G|0,G=a[C+4>>2]|0,L=a[C+12>>2]|0,O=a[C+20>>2]|0,X=a[C+28>>2]|0,P=O+G|0,Oa=11086*(L+G|0)|0,F=10217*P|0,N=8956*(X+G|0)|0,ba=7350*(G-X|0)|0,R=5461*P|0,P=3363*(G-L|0)|0,S=Oa+F+N+(E(G,-18730)|0)|0,Y=P+(R+ba)+(E(G,-15038)|0)|0,G=1136*(O+L|0)|0,ga=11529*(O-L|0)|0,Ha=X+L|0,ma=E(Ha,-5461)|0,W=Oa+(589*L|0)+G+ma|0,Oa=E(Ha,-10217)|0,Ha=P+(16154*L|0)+ga+Oa|0,L=E(X+O|0,-11086)|0,P=G+(E(O,-9222)|0)+F+L|0,F=ma+(8728*X|0)+N+L|0,L=3363*(X-O|0)|0,N=Oa+(25733*X|0)+ba+L|0,ba=ga+(E(O,-6278)|0)+
-R+L|0,t[h+f>>0]=t[m+(((S+z|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((z-S|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((W+A|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((A-W|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((P+M|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((M-P|0)>>>18&1023)+-384)>>0]|0,t[h+y>>0]=t[m+(((F+T|0)>>>18&1023)+-384)>>0]|0,t[h+V>>0]=t[m+(((T-F|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((N+K|0)>>>18&1023)+-384)>>0]|0,t[h+x>>0]=t[m+(((K-N|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((ba+I|0)>>>
-18&1023)+-384)>>0]|0,t[h+l>>0]=t[m+(((I-ba|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((Ha+J|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((J-Ha|0)>>>18&1023)+-384)>>0]|0,t[h+p>>0]=t[m+(((Y+D|0)>>>18&1023)+-384)>>0]|0,t[h+v>>0]=t[m+(((D-Y|0)>>>18&1023)+-384)>>0]|0,Q=Q+1|0,8!=(Q|0);)C=C+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P,Oa,F,N,ba;g=u;u=u+224|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,
-n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,y=7223*(p-q|0)|0,B=2578*(n-p|0)|0,H=l+(B+y)+(E(p,-15083)|0)|0,r=q+n|0,z=(10438*r|0)+l|0,Q=z+(E(q,-637)|0)+y|0,y=z+(E(n,-20239)|0)+B|0,B=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,n=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,q=7663*(n+B|0)|0,C=1395*(B-n|0)|0,x=E(z+n|0,-11295)|0,n=q+C+x|0,V=5027*(z+B|0)|0,B=V+(q-C)|0,C=V+(15326*z|0)+x|0,a[d>>2]=B+Q>>11,a[d+192>>2]=Q-B>>11,a[d+32>>2]=n+H>>11,
-a[d+160>>2]=H-n>>11,a[d+64>>2]=C+y>>11,a[d+128>>2]=y-C>>11,a[d+96>>2]=(11585*(p-r|0)|0)+l>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+13|0;c=f+1|0;k=f+12|0;b=f+2|0;l=f+11|0;r=f+3|0;p=f+10|0;C=f+4|0;y=f+9|0;n=f+5|0;H=f+8|0;B=f+6|0;Q=f+7|0;x=0;for(z=h;h=a[e+(x<<2)>>2]|0,V=(a[z>>2]<<13)+134348800|0,q=a[z+16>>2]|0,v=V+(10438*q|0)|0,J=V+(2578*q|0)|0,I=V+(E(q,-7223)|0)|0,G=V+(E(q,-11586)|0)|0,q=a[z+8>>2]|0,V=a[z+24>>2]|0,L=9058*(V+q|0)|0,K=L+(2237*q|0)|0,A=L+(E(V,-14084)|0)|0,L=(5027*q|0)+(E(V,-11295)|
-0)|0,V=K+v|0,q=v-K|0,K=A+J|0,v=J-A|0,A=L+I|0,J=I-L|0,L=a[z+4>>2]|0,I=a[z+12>>2]|0,D=a[z+20>>2]|0,O=a[z+28>>2]<<13,M=D+L|0,T=10935*(I+L|0)|0,X=9810*M|0,P=O+(T+X)+(E(L,-9232)|0)|0,Oa=6164*M|0,M=L-I|0,F=(3826*M|0)-O|0,N=Oa+(E(L,-8693)|0)+F|0,L=(E(D+I|0,-1297)|0)-O|0,ba=L+(E(I,-3474)|0)+T|0,T=L+(E(D,-19447)|0)+X|0,X=11512*(D-I|0)|0,L=X+O+(E(D,-13850)|0)+Oa|0,Oa=X+(5529*I|0)+F|0,F=(M-D<<13)+O|0,t[h+f>>0]=t[m+(((P+V|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((V-P|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+
-(((ba+K|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((K-ba|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((T+A|0)>>>18&1023)+-384)>>0]|0,t[h+l>>0]=t[m+(((A-T|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((F+G|0)>>>18&1023)+-384)>>0]|0,t[h+p>>0]=t[m+(((G-F|0)>>>18&1023)+-384)>>0]|0,t[h+C>>0]=t[m+(((L+J|0)>>>18&1023)+-384)>>0]|0,t[h+y>>0]=t[m+(((J-L|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((Oa+v|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((v-Oa|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((N+q|0)>>>18&1023)+-384)>>
-0]|0,t[h+Q>>0]=t[m+(((q-N|0)>>>18&1023)+-384)>>0]|0,x=x+1|0,7!=(x|0);)z=z+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T,X,P;g=u;u=u+192|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(5793*(a[c+128>>2]|0)|0,w[k+64>>1]|0)|0,p=n+l|0,q=(E(n,-2)|0)+l>>11,l=E(10033*(a[c+64>>2]|0)|0,w[k+32>>1]|0)|0,n=l+p|0,y=p-l|0,l=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,p=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,B=E(w[k+80>>1]|0,a[c+
-160>>2]|0)|0,H=2998*(B+l|0)|0,r=H+(p+l<<13)|0,z=H+(B-p<<13)|0,H=l-p-B<<2,a[d>>2]=r+n>>11,a[d+160>>2]=n-r>>11,a[d+32>>2]=H+q,a[d+128>>2]=q-H,a[d+64>>2]=z+y>>11,a[d+96>>2]=y-z>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+11|0;c=f+1|0;k=f+10|0;b=f+2|0;z=f+9|0;y=f+3|0;H=f+8|0;q=f+4|0;r=f+7|0;n=f+5|0;B=f+6|0;p=0;for(l=h;h=a[e+(p<<2)>>2]|0,Q=(a[l>>2]<<13)+134348800|0,C=10033*(a[l+16>>2]|0)|0,x=Q+C|0,V=Q-C|0,C=a[l+8>>2]|0,v=a[l+24>>2]<<13,J=(C<<13)-v|0,I=J+Q|0,G=Q-J|0,J=v+(11190*C|0)|0,Q=J+x|0,L=x-
-J|0,J=(2998*C|0)-v|0,v=J+V|0,C=V-J|0,J=a[l+4>>2]|0,V=a[l+12>>2]|0,x=a[l+20>>2]|0,K=a[l+28>>2]|0,A=10703*V|0,D=E(V,-4433)|0,O=x+J|0,M=7053*(O+K|0)|0,T=M+(2139*O|0)|0,O=A+(2295*J|0)+T|0,X=E(K+x|0,-8565)|0,P=D+X+(E(x,-12112)|0)+T|0,T=(12998*K|0)-A+M+X|0,X=M+((E(J,-5540)|0)+D+(E(K,-16244)|0))|0,D=J-K|0,K=V-x|0,x=4433*(D+K|0)|0,V=x+(6270*D|0)|0,D=x+(E(K,-15137)|0)|0,t[h+f>>0]=t[m+(((O+Q|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((Q-O|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((V+I|0)>>>18&1023)+-384)>>0]|
-0,t[h+k>>0]=t[m+(((I-V|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((P+v|0)>>>18&1023)+-384)>>0]|0,t[h+z>>0]=t[m+(((v-P|0)>>>18&1023)+-384)>>0]|0,t[h+y>>0]=t[m+(((T+C|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((C-T|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((D+G|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((G-D|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((X+L|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((L-X|0)>>>18&1023)+-384)>>0]|0,p=p+1|0,6!=(p|0);)l=l+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,
-n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A;g=u;u=u+160|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,q=6476*(p+n|0)|0,y=n-p|0,p=(2896*y|0)+l|0,n=p+q|0,B=p-q|0,q=l+(E(y,-11584)|0)|0,y=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,l=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,p=6810*(l+y|0)|0,H=p+(4209*y|0)|0,y=p+(E(l,-17828)|0)|0,a[d>>2]=H+n>>11,a[d+128>>2]=n-H>>11,a[d+32>>2]=y+B>>11,a[d+96>>2]=B-y>>11,a[d+64>>2]=q>>
-11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+9|0;c=f+1|0;k=f+8|0;b=f+2|0;q=f+7|0;y=f+3|0;B=f+6|0;H=f+4|0;n=f+5|0;l=0;for(p=h;h=a[e+(l<<2)>>2]|0,r=(a[p>>2]<<13)+134348800|0,z=a[p+16>>2]|0,Q=r+(9373*z|0)|0,C=r+(E(z,-3580)|0)|0,x=r+(E(z,-11586)|0)|0,z=a[p+8>>2]|0,r=a[p+24>>2]|0,V=6810*(r+z|0)|0,v=V+(4209*z|0)|0,z=V+(E(r,-17828)|0)|0,r=v+Q|0,V=Q-v|0,v=z+C|0,Q=C-z|0,z=a[p+4>>2]|0,C=a[p+12>>2]|0,J=a[p+20>>2]<<13,I=a[p+28>>2]|0,G=I+C|0,L=C-I|0,I=2531*L|0,C=7791*G|0,K=I+J|0,A=C+(11443*z|0)+K|0,C=(1812*
-z|0)-C+K|0,K=4815*G|0,G=J-I-(L<<12)|0,I=(z-L<<13)-J|0,J=(10323*z|0)-K-G|0,L=G+((5260*z|0)-K)|0,t[h+f>>0]=t[m+(((A+r|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((r-A|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((J+v|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((v-J|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((I+x|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((x-I|0)>>>18&1023)+-384)>>0]|0,t[h+y>>0]=t[m+(((L+Q|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((Q-L|0)>>>18&1023)+-384)>>0]|0,t[h+H>>0]=t[m+(((C+V|0)>>>18&1023)+
--384)>>0]|0,t[h+n>>0]=t[m+(((V-C|0)>>>18&1023)+-384)>>0]|0,l=l+1|0,5!=(l|0);)p=p+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G;g=u;u=u+128|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(w[k>>1]|0,a[c>>2]|0)|0,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,p=n+l<<2,q=l-n<<2,n=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,l=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,y=(4433*(l+n|0)|0)+1024|0,B=y+(6270*n|0)>>11,n=y+(E(l,-15137)|0)>>11,a[d>>2]=B+p,a[d+96>>2]=p-B,a[d+32>>2]=n+q,a[d+
-64>>2]=q-n,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+7|0;c=f+1|0;k=f+6|0;b=f+2|0;n=f+5|0;q=f+3|0;B=f+4|0;p=0;for(l=h;h=a[e+(p<<2)>>2]|0,y=(a[l>>2]|0)+16400|0,H=a[l+16>>2]|0,r=y+H<<13,z=y-H<<13,H=a[l+8>>2]|0,y=a[l+24>>2]|0,Q=4433*(y+H|0)|0,C=Q+(6270*H|0)|0,H=Q+(E(y,-15137)|0)|0,y=C+r|0,Q=r-C|0,C=H+z|0,r=z-H|0,H=a[l+28>>2]|0,z=a[l+20>>2]|0,x=a[l+12>>2]|0,V=a[l+4>>2]|0,v=x+H|0,J=V+z|0,I=9633*(J+v|0)|0,G=I+(E(v,-16069)|0)|0,v=I+(E(J,-3196)|0)|0,J=E(V+H|0,-7373)|0,I=J+(2446*H|0)+G|0,H=J+(12299*V|0)+
-v|0,V=E(x+z|0,-20995)|0,J=V+(16819*z|0)+v|0,v=V+(25172*x|0)+G|0,t[h+f>>0]=t[m+(((H+y|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((y-H|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((v+C|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((C-v|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((J+r|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+(((r-J|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((I+Q|0)>>>18&1023)+-384)>>0]|0,t[h+B>>0]=t[m+(((Q-I|0)>>>18&1023)+-384)>>0]|0,p=p+1|0,4!=(p|0);)l=l+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;
-var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x;g=u;u=u+80|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(5793*(a[c+64>>2]|0)|0,w[k+32>>1]|0)|0,p=n+l|0,q=(E(n,-2)|0)+l|0,l=E(10033*(a[c+32>>2]|0)|0,w[k+16>>1]|0)|0,a[d>>2]=l+p>>11,a[d+48>>2]=p-l>>11,a[d+24>>2]=q>>11,b=b+1|0,6!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+5|0;c=f+1|0;k=f+4|0;b=f+2|0;q=f+3|0;l=0;for(p=h;h=a[e+(l<<2)>>2]|0,n=(a[p>>2]<<13)+134348800|0,y=5793*(a[p+16>>2]|0)|0,B=n+y|0,H=n-y-y|0,y=10033*(a[p+
-8>>2]|0)|0,n=B+y|0,r=B-y|0,y=a[p+4>>2]|0,B=a[p+12>>2]|0,z=a[p+20>>2]|0,Q=2998*(z+y|0)|0,C=Q+(B+y<<13)|0,x=Q+(z-B<<13)|0,Q=y-B-z<<13,t[h+f>>0]=t[m+(((C+n|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((n-C|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((Q+H|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((H-Q|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((x+r|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((r-x|0)>>>18&1023)+-384)>>0]|0,l=l+1|0,3!=(l|0);)p=p+24|0;u=g},function(b,d,c,e,f){c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q,
-y,B,H,r,z;g=u;u=u+32|0;h=g;m=a[(b|0)+336>>2]|0;b=a[(d|0)+84>>2]|0;d=E(w[c>>1]|0,a[b>>2]|0)|0;k=E(w[c+16>>1]|0,a[b+32>>2]|0)|0;l=k+d|0;a[h>>2]=l;n=h+16|0;a[n>>2]=d-k;k=E(w[c+2>>1]|0,a[b+4>>2]|0)|0;d=E(w[c+18>>1]|0,a[b+36>>2]|0)|0;p=d+k|0;a[h+4>>2]=p;q=k-d|0;a[h+20>>2]=q;d=E(w[c+4>>1]|0,a[b+8>>2]|0)|0;k=E(w[c+20>>1]|0,a[b+40>>2]|0)|0;y=k+d|0;a[h+8>>2]=y;B=d-k|0;a[h+24>>2]=B;k=E(w[c+6>>1]|0,a[b+12>>2]|0)|0;d=E(w[c+22>>1]|0,a[b+44>>2]|0)|0;b=d+k|0;a[h+12>>2]=b;c=k-d|0;a[h+28>>2]=c;h=f+3|0;d=f+1|0;k=f+
-2|0;H=a[e>>2]|0;r=l+4100|0;l=r+y<<13;z=r-y<<13;y=4433*(b+p|0)|0;r=y+(6270*p|0)|0;p=y+(E(b,-15137)|0)|0;t[H+f>>0]=t[m+(((r+l|0)>>>16&1023)+-384)>>0]|0;t[H+h>>0]=t[m+(((l-r|0)>>>16&1023)+-384)>>0]|0;t[H+d>>0]=t[m+(((p+z|0)>>>16&1023)+-384)>>0]|0;t[H+k>>0]=t[m+(((z-p|0)>>>16&1023)+-384)>>0]|0;p=a[e+4>>2]|0;e=(a[n>>2]|0)+4100|0;n=e+B<<13;z=e-B<<13;B=4433*(c+q|0)|0;e=B+(6270*q|0)|0;q=B+(E(c,-15137)|0)|0;t[p+f>>0]=t[m+(((e+n|0)>>>16&1023)+-384)>>0]|0;t[p+h>>0]=t[m+(((n-e|0)>>>16&1023)+-384)>>0]|0;t[p+d>>
-0]=t[m+(((q+z|0)>>>16&1023)+-384)>>0]|0;t[p+k>>0]=t[m+(((z-q|0)>>>16&1023)+-384)>>0]|0;u=g},function(b,d,c,e,f){c|=0;f|=0;var g;g=a[(b|0)+336>>2]|0;b=a[(d|0)+84>>2]|0;d=a[(e|0)>>2]|0;e=(E(w[c>>1]|0,a[b>>2]|0)|0)+4100|0;b=E(w[c+2>>1]|0,a[b+4>>2]|0)|0;t[d+f>>0]=t[g+(((b+e|0)>>>3&1023)+-384)>>0]|0;t[d+(f+1)>>0]=t[g+(((e-b|0)>>>3&1023)+-384)>>0]|0},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A,D,O,M,T;g=u;u=u+512|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|
-0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,p=10703*n|0,q=4433*n|0,n=p+l|0,y=l-p|0,p=q+l|0,B=l-q|0,q=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,l=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,H=q-l|0,r=2260*H|0,z=11363*H|0,H=z+(20995*l|0)|0,Q=r+(7373*q|0)|0,C=z+(E(q,-4926)|0)|0,q=r+(E(l,-4176)|0)|0,l=H+n|0,r=n-H|0,H=Q+p|0,n=p-Q|0,Q=C+B|0,p=B-C|0,C=q+y|0,B=y-q|0,q=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,y=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,x=E(w[k+112>>1]|0,a[c+224>>2]|0)|
-0,V=z+q|0,v=11086*(y+q|0)|0,J=10217*V|0,I=8956*(x+q|0)|0,G=7350*(q-x|0)|0,L=5461*V|0,V=3363*(q-y|0)|0,K=v+J+I+(E(q,-18730)|0)|0,A=V+(L+G)+(E(q,-15038)|0)|0,q=1136*(z+y|0)|0,D=11529*(z-y|0)|0,O=x+y|0,M=E(O,-5461)|0,T=v+(589*y|0)+q+M|0,v=E(O,-10217)|0,O=V+(16154*y|0)+D+v|0,y=E(x+z|0,-11086)|0,V=q+(E(z,-9222)|0)+J+y|0,J=M+(8728*x|0)+I+y|0,y=3363*(x-z|0)|0,I=v+(25733*x|0)+G+y|0,G=D+(E(z,-6278)|0)+L+y|0,a[d>>2]=K+l>>11,a[d+480>>2]=l-K>>11,a[d+32>>2]=T+H>>11,a[d+448>>2]=H-T>>11,a[d+64>>2]=V+Q>>11,a[d+416>>
-2]=Q-V>>11,a[d+96>>2]=J+C>>11,a[d+384>>2]=C-J>>11,a[d+128>>2]=I+B>>11,a[d+352>>2]=B-I>>11,a[d+160>>2]=G+p>>11,a[d+320>>2]=p-G>>11,a[d+192>>2]=O+n>>11,a[d+288>>2]=n-O>>11,a[d+224>>2]=A+r>>11,a[d+256>>2]=r-A>>11,b=b+1|0,8!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+7|0;c=f+1|0;k=f+6|0;b=f+2|0;A=f+5|0;r=f+3|0;O=f+4|0;n=0;for(G=h;h=a[e+(n<<2)>>2]|0,p=(a[G>>2]|0)+16400|0,I=a[G+16>>2]|0,B=p+I<<13,J=p-I<<13,I=a[G+8>>2]|0,p=a[G+24>>2]|0,C=4433*(p+I|0)|0,V=C+(6270*I|0)|0,I=C+(E(p,-15137)|0)|0,p=V+B|0,C=B-V|0,V=I+
-J|0,B=J-I|0,I=a[G+28>>2]|0,J=a[G+20>>2]|0,Q=a[G+12>>2]|0,T=a[G+4>>2]|0,H=Q+I|0,K=T+J|0,l=9633*(K+H|0)|0,y=l+(E(H,-16069)|0)|0,H=l+(E(K,-3196)|0)|0,K=E(T+I|0,-7373)|0,l=K+(2446*I|0)+y|0,I=K+(12299*T|0)+H|0,T=E(Q+J|0,-20995)|0,K=T+(16819*J|0)+H|0,H=T+(25172*Q|0)+y|0,t[h+f>>0]=t[m+(((I+p|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((p-I|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((H+V|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((V-H|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((K+B|0)>>>18&1023)+-384)>>0]|0,t[h+
-A>>0]=t[m+(((B-K|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((l+C|0)>>>18&1023)+-384)>>0]|0,t[h+O>>0]=t[m+(((C-l|0)>>>18&1023)+-384)>>0]|0,n=n+1|0,16!=(n|0);)G=G+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G,L,K,A;g=u;u=u+400|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,p=(10438*n|0)+l|0,q=(2578*n|0)+l|0,y=l+(E(n,-7223)|0)|0,B=l+(E(n,-11586)|0)>>11,n=E(w[k+32>>1]|0,a[c+64>>2]|
-0)|0,l=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,H=9058*(l+n|0)|0,r=H+(2237*n|0)|0,z=H+(E(l,-14084)|0)|0,H=(5027*n|0)+(E(l,-11295)|0)|0,l=r+p|0,n=p-r|0,r=z+q|0,p=q-z|0,z=H+y|0,q=y-H|0,H=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,y=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,Q=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,C=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,x=C<<13,V=Q+H|0,v=10935*(y+H|0)|0,J=9810*V|0,I=v+J+x+(E(H,-9232)|0)|0,G=6164*V|0,V=H-y|0,L=(3826*V|0)-x|0,K=L+(G+(E(H,-8693)|0))|0,H=(E(Q+y|0,-1297)|0)-x|0,A=H+(E(y,-3474)|0)+v|0,v=H+(E(Q,-19447)|
-0)+J|0,J=11512*(Q-y|0)|0,H=J+x+(E(Q,-13850)|0)+G|0,G=J+(5529*y|0)+L|0,L=V-Q+C<<2,a[d>>2]=I+l>>11,a[d+364>>2]=l-I>>11,a[d+28>>2]=A+r>>11,a[d+336>>2]=r-A>>11,a[d+56>>2]=v+z>>11,a[d+308>>2]=z-v>>11,a[d+84>>2]=L+B,a[d+280>>2]=B-L,a[d+112>>2]=H+q>>11,a[d+252>>2]=q-H>>11,a[d+140>>2]=G+p>>11,a[d+224>>2]=p-G>>11,a[d+168>>2]=K+n>>11,a[d+196>>2]=n-K>>11,b=b+1|0,7!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+6|0;c=f+1|0;k=f+5|0;b=f+2|0;K=f+4|0;n=f+3|0;G=0;for(p=h;h=a[e+(G<<2)>>2]|0,H=(a[p>>2]<<13)+134348800|0,q=a[p+
-8>>2]|0,L=a[p+16>>2]|0,B=a[p+24>>2]|0,v=7223*(L-B|0)|0,z=2578*(q-L|0)|0,A=H+(z+v)+(E(L,-15083)|0)|0,r=B+q|0,I=(10438*r|0)+H|0,l=I+(E(B,-637)|0)+v|0,v=I+(E(q,-20239)|0)+z|0,z=a[p+4>>2]|0,q=a[p+12>>2]|0,I=a[p+20>>2]|0,B=7663*(q+z|0)|0,C=1395*(z-q|0)|0,Q=E(I+q|0,-11295)|0,q=B+C+Q|0,V=5027*(I+z|0)|0,z=B-C+V|0,C=V+(15326*I|0)+Q|0,t[h+f>>0]=t[m+(((z+l|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((l-z|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((q+A|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((A-q|0)>>>18&1023)+
--384)>>0]|0,t[h+b>>0]=t[m+(((C+v|0)>>>18&1023)+-384)>>0]|0,t[h+K>>0]=t[m+(((v-C|0)>>>18&1023)+-384)>>0]|0,t[h+n>>0]=t[m+((((11585*(L-r|0)|0)+H|0)>>>18&1023)+-384)>>0]|0,G=G+1|0,14!=(G|0);)p=p+28|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v,J,I,G;g=u;u=u+288|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(10033*(a[c+128>>2]|0)|0,w[k+64>>1]|0)|0,p=n+l|0,q=l-n|0,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,y=E(a[c+192>>2]<<13,w[k+
-96>>1]|0)|0,B=(n<<13)-y|0,H=B+l|0,r=l-B|0,B=y+(11190*n|0)|0,l=B+p|0,z=p-B|0,B=(2998*n|0)-y|0,y=B+q|0,n=q-B|0,B=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,p=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,Q=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,C=10703*q|0,x=E(q,-4433)|0,V=p+B|0,v=7053*(Q+V|0)|0,J=v+(2139*V|0)|0,V=C+(2295*B|0)+J|0,I=E(Q+p|0,-8565)|0,G=x+I+(E(p,-12112)|0)+J|0,J=(12998*Q|0)-C+v+I|0,I=v+((E(B,-5540)|0)+x+(E(Q,-16244)|0))|0,x=B-Q|0,Q=q-p|0,p=4433*(x+Q|0)|0,q=p+(6270*x|0)|0,x=p+(E(Q,-15137)|
-0)|0,a[d>>2]=V+l>>11,a[d+264>>2]=l-V>>11,a[d+24>>2]=q+H>>11,a[d+240>>2]=H-q>>11,a[d+48>>2]=G+y>>11,a[d+216>>2]=y-G>>11,a[d+72>>2]=J+n>>11,a[d+192>>2]=n-J>>11,a[d+96>>2]=x+r>>11,a[d+168>>2]=r-x>>11,a[d+120>>2]=I+z>>11,a[d+144>>2]=z-I>>11,b=b+1|0,6!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+5|0;c=f+1|0;k=f+4|0;b=f+2|0;I=f+3|0;z=0;for(x=h;h=a[e+(z<<2)>>2]|0,r=(a[x>>2]<<13)+134348800|0,J=5793*(a[x+16>>2]|0)|0,n=r+J|0,G=r-J-J|0,J=10033*(a[x+8>>2]|0)|0,r=n+J|0,y=n-J|0,J=a[x+4>>2]|0,n=a[x+12>>2]|0,q=a[x+20>>2]|
-0,H=2998*(q+J|0)|0,V=H+(n+J<<13)|0,l=H+(q-n<<13)|0,H=J-n-q<<13,t[h+f>>0]=t[m+(((V+r|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((r-V|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((H+G|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((G-H|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((l+y|0)>>>18&1023)+-384)>>0]|0,t[h+I>>0]=t[m+(((y-l|0)>>>18&1023)+-384)>>0]|0,z=z+1|0,12!=(z|0);)x=x+24|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z,Q,C,x,V,v;g=u;u=u+208|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|
-0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,p=(9373*n|0)+l|0,q=l+(E(n,-3580)|0)|0,y=l+(E(n,-11586)|0)>>11,n=E(w[k+32>>1]|0,a[c+64>>2]|0)|0,l=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,B=6810*(l+n|0)|0,H=B+(4209*n|0)|0,n=B+(E(l,-17828)|0)|0,l=H+p|0,B=p-H|0,H=n+q|0,p=q-n|0,n=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,r=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,z=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,Q=z+q|0,C=q-z|0,z=2531*C|0,q=r<<13,x=7791*Q|0,V=z+q|0,v=x+(11443*
-n|0)+V|0,x=(1812*n|0)-x+V|0,V=4815*Q|0,Q=q-z-(C<<12)|0,z=n-r-C<<2,C=(10323*n|0)-V-Q|0,r=Q+((5260*n|0)-V)|0,a[d>>2]=v+l>>11,a[d+180>>2]=l-v>>11,a[d+20>>2]=C+H>>11,a[d+160>>2]=H-C>>11,a[d+40>>2]=z+y,a[d+140>>2]=y-z,a[d+60>>2]=r+p>>11,a[d+120>>2]=p-r>>11,a[d+80>>2]=x+B>>11,a[d+100>>2]=B-x>>11,b=b+1|0,5!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+4|0;c=f+1|0;k=f+3|0;b=f+2|0;x=0;for(B=h;h=a[e+(x<<2)>>2]|0,r=(a[B>>2]<<13)+134348800|0,p=a[B+8>>2]|0,z=a[B+16>>2]|0,y=6476*(z+p|0)|0,C=p-z|0,z=(2896*C|0)+r|0,p=z+y|
-0,H=z-y|0,y=r+(E(C,-11584)|0)|0,C=a[B+4>>2]|0,r=a[B+12>>2]|0,z=6810*(r+C|0)|0,v=z+(4209*C|0)|0,C=z+(E(r,-17828)|0)|0,t[h+f>>0]=t[m+(((v+p|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((p-v|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((C+H|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((H-C|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+((y>>>18&1023)+-384)>>0]|0,x=x+1|0,10!=(x|0);)B=B+20|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q=0,y=0,B,H,r,z,Q,C,x,V,v;g=u;u=u+128|0;h=g;m=a[(b|0)+336>>2]|0;b=4;k=c|0;
-c=a[(d|0)+84>>2]|0;for(d=h;;)if(l=w[k+16>>1]|0,n=w[k+32>>1]|0,(l|n)<<16>>16?(q=n,y=10):0==(w[k+48>>1]|0)&&0==(w[k+64>>1]|0)&&0==(w[k+80>>1]|0)&&0==(w[k+96>>1]|0)&&0==(w[k+112>>1]|0)?(p=E(a[c>>2]<<2,w[k>>1]|0)|0,a[d>>2]=p,a[d+16>>2]=p,a[d+32>>2]=p,a[d+48>>2]=p,a[d+64>>2]=p,a[d+80>>2]=p,a[d+96>>2]=p,a[d+112>>2]=p):(q=0,y=10),10==(y|0)&&(y=0,n=E(q<<16>>16,a[c+64>>2]|0)|0,p=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,B=4433*(p+n|0)|0,H=B+(6270*n|0)|0,n=B+(E(p,-15137)|0)|0,p=E(a[c+128>>2]<<13,w[k+64>>1]|0)|0,B=E(a[c>>
-2]<<13,w[k>>1]|0)|1024,r=p+B|0,z=B-p|0,p=r+H|0,B=r-H|0,H=z+n|0,r=z-n|0,n=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,Q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,C=E(l<<16>>16,a[c+32>>2]|0)|0,l=Q+n|0,x=C+z|0,V=9633*(x+l|0)|0,v=V+(E(l,-16069)|0)|0,l=V+(E(x,-3196)|0)|0,x=E(C+n|0,-7373)|0,V=x+(2446*n|0)+v|0,n=x+(12299*C|0)+l|0,C=E(Q+z|0,-20995)|0,x=C+(16819*z|0)+l|0,l=C+(25172*Q|0)+v|0,a[d>>2]=n+p>>11,a[d+112>>2]=p-n>>11,a[d+16>>2]=l+H>>11,a[d+96>>2]=H-l>>11,a[d+32>>2]=x+r>>11,a[d+80>>2]=
-r-x>>11,a[d+48>>2]=V+B>>11,a[d+64>>2]=B-V>>11),1<(b|0))b=b+-1|0,k=k+2|0,c=c+4|0,d=d+4|0;else break;d=f+3|0;c=f+1|0;k=f+2|0;b=0;for(q=h;h=a[e+(b<<2)>>2]|0,y=(a[q>>2]|0)+16400|0,V=a[q+8>>2]|0,B=y+V<<13,x=y-V<<13,V=a[q+4>>2]|0,y=a[q+12>>2]|0,r=4433*(y+V|0)|0,l=r+(6270*V|0)|0,V=r+(E(y,-15137)|0)|0,t[h+f>>0]=t[m+(((l+B|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((B-l|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((V+x|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((x-V|0)>>>18&1023)+-384)>>0]|0,b=b+1|0,8!=(b|0);)q=
-q+16|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q,y,B,H,r,z;g=u;u=u+80|0;h=g;m=a[(b|0)+336>>2]|0;b=0;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;l=E(a[c>>2]<<13,w[k>>1]|0)|1024,n=E(5793*(a[c+128>>2]|0)|0,w[k+64>>1]|0)|0,p=n+l|0,q=(E(n,-2)|0)+l>>11,l=E(10033*(a[c+64>>2]|0)|0,w[k+32>>1]|0)|0,n=l+p|0,y=p-l|0,l=E(w[k+16>>1]|0,a[c+32>>2]|0)|0,p=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,B=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,H=2998*(B+l|0)|0,r=H+(p+l<<13)|0,z=H+(B-p<<13)|0,H=l-p-B<<2,a[d>>2]=r+n>>11,a[d+60>>2]=n-r>>11,
-a[d+12>>2]=H+q,a[d+48>>2]=q-H,a[d+24>>2]=z+y>>11,a[d+36>>2]=y-z>>11,b=b+1|0,3!=(b|0);)k=k+2|0,c=c+4|0,d=d+4|0;d=f+2|0;c=f+1|0;k=0;for(b=h;h=a[e+(k<<2)>>2]|0,z=(a[b>>2]<<13)+134348800|0,y=a[b+8>>2]|0,H=z+(5793*y|0)|0,q=(E(y,-11586)|0)+z|0,z=10033*(a[b+4>>2]|0)|0,t[h+f>>0]=t[m+(((H+z|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((H-z|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+((q>>>18&1023)+-384)>>0]|0,k=k+1|0,6!=(k|0);)b=b+12|0;u=g},function(b,d,c,e,f){c|=0;e|=0;f|=0;var g,h,m,k,l,n,p,q;g=u;u=u+32|0;h=a[(b|
-0)+336>>2]|0;b=a[(d|0)+84>>2]|0;d=E(w[c>>1]|0,a[b>>2]|0)|0;m=E(w[c+32>>1]|0,a[b+64>>2]|0)|0;k=m+d<<13;l=d-m<<13;m=E(w[c+16>>1]|0,a[b+32>>2]|0)|0;d=E(w[c+48>>1]|0,a[b+96>>2]|0)|0;n=4433*(d+m|0)|0;p=n+(6270*m|0)|0;m=n+(E(d,-15137)|0)|0;d=p+k|0;a[g>>2]=d;a[g+24>>2]=k-p;p=m+l|0;a[g+8>>2]=p;k=l-m|0;a[g+16>>2]=k;m=E(w[c+2>>1]|0,a[b+4>>2]|0)|0;l=E(w[c+34>>1]|0,a[b+68>>2]|0)|0;n=l+m<<13;q=m-l<<13;l=E(w[c+18>>1]|0,a[b+36>>2]|0)|0;m=E(w[c+50>>1]|0,a[b+100>>2]|0)|0;b=4433*(m+l|0)|0;c=b+(6270*l|0)|0;l=b+(E(m,
--15137)|0)|0;m=c+n|0;a[g+4>>2]=m;b=n-c|0;a[g+28>>2]=b;c=l+q|0;a[g+12>>2]=c;n=q-l|0;a[g+20>>2]=n;l=f+1|0;q=a[e>>2]|0;d=d+33587200|0;t[q+f>>0]=t[h+(((d+m|0)>>>16&1023)+-384)>>0]|0;t[q+l>>0]=t[h+(((d-m|0)>>>16&1023)+-384)>>0]|0;m=a[e+4>>2]|0;d=p+33587200|0;t[m+f>>0]=t[h+(((d+c|0)>>>16&1023)+-384)>>0]|0;t[m+l>>0]=t[h+(((d-c|0)>>>16&1023)+-384)>>0]|0;c=a[e+8>>2]|0;d=k+33587200|0;t[c+f>>0]=t[h+(((d+n|0)>>>16&1023)+-384)>>0]|0;t[c+l>>0]=t[h+(((d-n|0)>>>16&1023)+-384)>>0]|0;n=a[e+12>>2]|0;e=(a[g+24>>2]|0)+
-33587200|0;t[n+f>>0]=t[h+(((e+b|0)>>>16&1023)+-384)>>0]|0;t[n+l>>0]=t[h+(((e-b|0)>>>16&1023)+-384)>>0]|0;u=g},function(b,d,c,e,f){c|=0;e|=0;f|=0;var g;g=a[(b|0)+336>>2]|0;b=a[(d|0)+84>>2]|0;d=(E(w[c>>1]|0,a[b>>2]|0)|0)+4100|0;b=E(w[c+16>>1]|0,a[b+32>>2]|0)|0;t[(a[e>>2]|0)+f>>0]=t[g+(((b+d|0)>>>3&1023)+-384)>>0]|0;t[(a[e+4>>2]|0)+f>>0]=t[g+(((d-b|0)>>>3&1023)+-384)>>0]|0},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q=0,y=0,B,H,r,z,Q,C,x,V,v,J=0,I,G,L,K,A;g=u;u=u+256|0;h=g;m=a[(b|0)+336>>2]|0;b=
-8;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;;)if(l=w[k+16>>1]|0,n=w[k+32>>1]|0,(l|n)<<16>>16?(q=n,y=10):0==(w[k+48>>1]|0)&&0==(w[k+64>>1]|0)&&0==(w[k+80>>1]|0)&&0==(w[k+96>>1]|0)&&0==(w[k+112>>1]|0)?(p=E(a[c>>2]<<2,w[k>>1]|0)|0,a[d>>2]=p,a[d+32>>2]=p,a[d+64>>2]=p,a[d+96>>2]=p,a[d+128>>2]=p,a[d+160>>2]=p,a[d+192>>2]=p,a[d+224>>2]=p):(q=0,y=10),10==(y|0)&&(y=0,n=E(a[c+128>>2]<<13,w[k+64>>1]|0)|0,p=E(a[c>>2]<<13,w[k>>1]|0)|1024,B=n+p|0,H=p-n|0,n=E(q<<16>>16,a[c+64>>2]|0)|0,p=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,r=
-4433*(p+n|0)|0,z=r+(6270*n|0)|0,n=r+(E(p,-15137)|0)|0,p=z+B|0,r=B-z|0,z=n+H|0,B=H-n|0,n=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,H=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,Q=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,C=E(l<<16>>16,a[c+32>>2]|0)|0,l=Q+n|0,x=C+H|0,V=9633*(x+l|0)|0,v=V+(E(l,-16069)|0)|0,l=V+(E(x,-3196)|0)|0,x=E(C+n|0,-7373)|0,V=x+(2446*n|0)+v|0,n=x+(12299*C|0)+l|0,C=E(Q+H|0,-20995)|0,x=C+(16819*H|0)+l|0,l=C+(25172*Q|0)+v|0,a[d>>2]=n+p>>11,a[d+224>>2]=p-n>>11,a[d+32>>2]=l+z>>11,a[d+192>>2]=z-l>>11,a[d+64>>2]=x+B>>
-11,a[d+160>>2]=B-x>>11,a[d+96>>2]=V+r>>11,a[d+128>>2]=r-V>>11),1<(b|0))b=b+-1|0,k=k+2|0,c=c+4|0,d=d+4|0;else break;d=f+1|0;c=f+2|0;k=f+3|0;b=f+4|0;q=f+5|0;V=f+6|0;r=f+7|0;x=0;for(B=h;h=a[e+(x<<2)>>2]|0,l=h+f|0,z=(a[B>>2]|0)+16400|0,n=a[B+4>>2]|0,p=a[B+8>>2]|0,n|p?(J=p,y=19):0==(a[B+12>>2]|0)&&0==(a[B+16>>2]|0)&&0==(a[B+20>>2]|0)&&0==(a[B+24>>2]|0)&&0==(a[B+28>>2]|0)?(v=t[m+((z>>>5&1023)+-384)>>0]|0,t[l>>0]=v,t[h+d>>0]=v,t[h+c>>0]=v,t[h+k>>0]=v,t[h+b>>0]=v,t[h+q>>0]=v,t[h+V>>0]=v,t[h+r>>0]=v):(J=0,
-y=19),19==(y|0)&&(y=0,p=a[B+16>>2]|0,v=p+z<<13,Q=z-p<<13,p=a[B+24>>2]|0,z=4433*(p+J|0)|0,C=z+(6270*J|0)|0,H=z+(E(p,-15137)|0)|0,p=C+v|0,z=v-C|0,C=H+Q|0,v=Q-H|0,H=a[B+28>>2]|0,Q=a[B+20>>2]|0,I=a[B+12>>2]|0,G=I+H|0,L=n+Q|0,K=9633*(L+G|0)|0,A=K+(E(G,-16069)|0)|0,G=K+(E(L,-3196)|0)|0,L=E(n+H|0,-7373)|0,K=L+(2446*H|0)+A|0,H=L+(12299*n|0)+G|0,n=E(I+Q|0,-20995)|0,L=n+(16819*Q|0)+G|0,G=n+(25172*I|0)+A|0,t[l>>0]=t[m+(((H+p|0)>>>18&1023)+-384)>>0]|0,t[h+r>>0]=t[m+(((p-H|0)>>>18&1023)+-384)>>0]|0,t[h+d>>0]=
-t[m+(((G+C|0)>>>18&1023)+-384)>>0]|0,t[h+V>>0]=t[m+(((C-G|0)>>>18&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((L+v|0)>>>18&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((v-L|0)>>>18&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((K+z|0)>>>18&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((z-K|0)>>>18&1023)+-384)>>0]|0),x=x+1|0,8!=(x|0);)B=B+32|0;u=g},function(b,d,c,e,f){e|=0;f|=0;var g,h,m,k,l,n,p,q=0,y=0,B,H,r,z,Q,C,x,V,v=0,J,I,G,L,K;g=u;u=u+256|0;h=g;m=a[(b|0)+336>>2]|0;b=8;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;;)if(l=w[k+16>>1]|0,n=w[k+32>>1]|0,
-(l|n)<<16>>16?(q=n,y=10):0==(w[k+48>>1]|0)&&0==(w[k+64>>1]|0)&&0==(w[k+80>>1]|0)&&0==(w[k+96>>1]|0)&&0==(w[k+112>>1]|0)?(p=E(w[k>>1]|0,a[c>>2]|0)|0,a[d>>2]=p,a[d+32>>2]=p,a[d+64>>2]=p,a[d+96>>2]=p,a[d+128>>2]=p,a[d+160>>2]=p,a[d+192>>2]=p,a[d+224>>2]=p):(q=0,y=10),10==(y|0)&&(y=0,n=E(w[k>>1]|0,a[c>>2]|0)|0,p=E(q<<16>>16,a[c+64>>2]|0)|0,B=E(w[k+64>>1]|0,a[c+128>>2]|0)|0,H=E(w[k+96>>1]|0,a[c+192>>2]|0)|0,r=B+n|0,z=n-B|0,B=H+p|0,n=(362*(p-H|0)>>8)-B|0,H=B+r|0,p=r-B|0,B=n+z|0,r=z-n|0,n=E(l<<16>>16,a[c+
-32>>2]|0)|0,l=E(w[k+48>>1]|0,a[c+96>>2]|0)|0,z=E(w[k+80>>1]|0,a[c+160>>2]|0)|0,Q=E(w[k+112>>1]|0,a[c+224>>2]|0)|0,C=z+l|0,x=z-l|0,l=Q+n|0,z=n-Q|0,Q=l+C|0,n=473*(z+x|0)>>8,V=n-(669*x>>8)-Q|0,x=(362*(l-C|0)>>8)-V|0,C=n-(277*z>>8)-x|0,a[d>>2]=Q+H,a[d+224>>2]=H-Q,a[d+32>>2]=V+B,a[d+192>>2]=B-V,a[d+64>>2]=x+r,a[d+160>>2]=r-x,a[d+96>>2]=C+p,a[d+128>>2]=p-C),1<(b|0))b=b+-1|0,k=k+2|0,c=c+4|0,d=d+4|0;else break;d=f+1|0;c=f+2|0;k=f+3|0;b=f+4|0;q=f+5|0;C=f+6|0;p=f+7|0;x=0;for(r=h;h=a[e+(x<<2)>>2]|0,V=h+f|0,
-B=(a[r>>2]|0)+16400|0,Q=a[r+4>>2]|0,H=a[r+8>>2]|0,Q|H?(v=H,y=19):0==(a[r+12>>2]|0)&&0==(a[r+16>>2]|0)&&0==(a[r+20>>2]|0)&&0==(a[r+24>>2]|0)&&0==(a[r+28>>2]|0)?(z=t[m+((B>>>5&1023)+-384)>>0]|0,t[V>>0]=z,t[h+d>>0]=z,t[h+c>>0]=z,t[h+k>>0]=z,t[h+b>>0]=z,t[h+q>>0]=z,t[h+C>>0]=z,t[h+p>>0]=z):(v=0,y=19),19==(y|0)&&(y=0,H=a[r+16>>2]|0,z=H+B|0,n=B-H|0,H=a[r+24>>2]|0,B=H+v|0,l=(362*(v-H|0)>>8)-B|0,H=B+z|0,J=z-B|0,B=l+n|0,z=n-l|0,l=a[r+20>>2]|0,n=a[r+12>>2]|0,I=n+l|0,G=l-n|0,n=a[r+28>>2]|0,l=n+Q|0,L=Q-n|0,n=
-l+I|0,Q=473*(L+G|0)>>8,K=Q-(669*G>>8)-n|0,G=(362*(l-I|0)>>8)-K|0,I=Q-(277*L>>8)-G|0,t[V>>0]=t[m+(((n+H|0)>>>5&1023)+-384)>>0]|0,t[h+p>>0]=t[m+(((H-n|0)>>>5&1023)+-384)>>0]|0,t[h+d>>0]=t[m+(((K+B|0)>>>5&1023)+-384)>>0]|0,t[h+C>>0]=t[m+(((B-K|0)>>>5&1023)+-384)>>0]|0,t[h+c>>0]=t[m+(((G+z|0)>>>5&1023)+-384)>>0]|0,t[h+q>>0]=t[m+(((z-G|0)>>>5&1023)+-384)>>0]|0,t[h+k>>0]=t[m+(((I+J|0)>>>5&1023)+-384)>>0]|0,t[h+b>>0]=t[m+(((J-I|0)>>>5&1023)+-384)>>0]|0),x=x+1|0,8!=(x|0);)r=r+32|0;u=g},function(b,d,c,e,f){e|=
-0;f|=0;var g,h,m,k,l,n,p,q=0,y=0,B,H,r,z,Q,C,x,V,v,J,I;g=u;u=u+256|0;h=g;m=a[(b|0)+336>>2]|0;b=8;k=c|0;c=a[(d|0)+84>>2]|0;for(d=h;;)if(l=w[k+16>>1]|0,n=w[k+32>>1]|0,(l|n)<<16>>16?(q=n,y=10):0==(w[k+48>>1]|0)&&0==(w[k+64>>1]|0)&&0==(w[k+80>>1]|0)&&0==(w[k+96>>1]|0)&&0==(w[k+112>>1]|0)?(p=+(w[k>>1]|0)*+W[c>>2],W[d>>2]=p,W[d+32>>2]=p,W[d+64>>2]=p,W[d+96>>2]=p,W[d+128>>2]=p,W[d+160>>2]=p,W[d+192>>2]=p,W[d+224>>2]=p):(q=0,y=10),10==(y|0)&&(y=0,p=+(w[k>>1]|0)*+W[c>>2],B=+(q<<16>>16)*+W[c+64>>2],H=+(w[k+
-64>>1]|0)*+W[c+128>>2],r=+(w[k+96>>1]|0)*+W[c+192>>2],z=p+H,Q=p-H,H=B+r,p=1.4142135381698608*(B-r)-H,r=z+H,B=z-H,H=Q+p,z=Q-p,p=+(l<<16>>16)*+W[c+32>>2],Q=+(w[k+48>>1]|0)*+W[c+96>>2],C=+(w[k+80>>1]|0)*+W[c+160>>2],x=+(w[k+112>>1]|0)*+W[c+224>>2],V=Q+C,v=C-Q,Q=p+x,C=p-x,x=V+Q,p=1.8477590084075928*(v+C),J=p-2.613126039505005*v-x,v=1.4142135381698608*(Q-V)-J,V=p-1.0823922157287598*C-v,W[d>>2]=r+x,W[d+224>>2]=r-x,W[d+32>>2]=H+J,W[d+192>>2]=H-J,W[d+64>>2]=z+v,W[d+160>>2]=z-v,W[d+96>>2]=B+V,W[d+128>>2]=
-B-V),1<(b|0))b=b+-1|0,k=k+2|0,c=c+4|0,d=d+4|0;else break;d=f+7|0;c=f+1|0;k=f+6|0;b=f+2|0;q=f+5|0;y=f+3|0;l=f+4|0;n=0;for(I=h;h=a[e+(n<<2)>>2]|0,V=+W[I>>2]+512.5,B=+W[I+16>>2],v=V+B,z=V-B,B=+W[I+8>>2],V=+W[I+24>>2],J=B+V,H=1.4142135381698608*(B-V)-J,V=v+J,B=v-J,J=z+H,v=z-H,H=+W[I+20>>2],z=+W[I+12>>2],x=H+z,r=H-z,z=+W[I+4>>2],H=+W[I+28>>2],C=z+H,p=z-H,H=x+C,z=1.8477590084075928*(r+p),Q=z-2.613126039505005*r-H,r=1.4142135381698608*(C-x)-Q,x=z-1.0823922157287598*p-r,t[h+f>>0]=t[m+((~~(V+H)&1023)+-384)>>
-0]|0,t[h+d>>0]=t[m+((~~(V-H)&1023)+-384)>>0]|0,t[h+c>>0]=t[m+((~~(J+Q)&1023)+-384)>>0]|0,t[h+k>>0]=t[m+((~~(J-Q)&1023)+-384)>>0]|0,t[h+b>>0]=t[m+((~~(v+r)&1023)+-384)>>0]|0,t[h+q>>0]=t[m+((~~(v-r)&1023)+-384)>>0]|0,t[h+y>>0]=t[m+((~~(B+x)&1023)+-384)>>0]|0,t[h+l>>0]=t[m+((~~(B-x)&1023)+-384)>>0]|0,n=n+1|0,8!=(n|0);)I=I+32|0;u=g},Ve,Ve,Ve,Ve,Ve,Ve,Ve,Ve,Ve,Ve,Ve,Ve],R=[fc,function(a){},function(b){b|=0;var d,c,e,f,g;d=a[b+576>>2]|0;a[d+4>>2]&1||(a[d+28>>2]&1?(c=0==(a[d+76>>2]|0)|2,e=13):(c=1,e=12),
-qf(b,c,e),qf(b,c,e),qf(b,c,e),qf(b,c,e),qf(b,c,e),qf(b,c,e),e=b+608|0,(a[e>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|0,c=d+48|0,f=a[c>>2]&255,g=b+604|0,b=a[g>>2]|0,a[g>>2]=b+1,t[b>>0]=f,a[e>>2]=(a[e>>2]|0)+1,a[c>>2]=0,a[d+52>>2]=8)},function(b){b|=0;var d,c,e;d=b+576|0;(c=a[d>>2]|0)||Z(154168,142823,1110,143980);a[b+672>>2]=a[c+32>>2];a[b+668>>2]=a[c+36>>2];a[b+676>>2]=a[c+40>>2];(e=a[c+64>>2]|0)&&ja(e);(e=a[c+80>>2]|0)&&ja(e);ja(a[d>>2]|0);a[d>>2]=0;Ng(b)},function(b){b|=0;var d,c;d=b+576|0;(c=a[d>>2]|0)||
-Z(154168,144647,2075,144783);a[b+672>>2]=a[c+892>>2];a[b+668>>2]=a[c+896>>2];a[b+676>>2]=a[c+900>>2];a[c+488>>2]|0&&Se(c);(c=a[c+912>>2]|0)&&ja(c);ja(a[d>>2]|0);a[d>>2]=0;Ng(b)},function(a){},function(b){b|=0;var d;d=b+800|0;a[d>>2]=a[b+912>>2];a[d+4>>2]=a[b+916>>2]},function(b){b|=0;var d;d=a[b+828>>2]|0;b=b+800|0;a[b>>2]=a[d+588>>2];a[b+4>>2]=a[d+608>>2]},function(b){b|=0;a[b+780>>2]=a[b+912>>2];a[b+784>>2]=a[b+916>>2]},function(b){b|=0;var d;d=b+916|0;a[d>>2]=(a[d>>2]|0)-(a[b+784>>2]|0)},function(b){b|=
-0;var d;d=a[b+828>>2]|0;a[b+780>>2]=a[d+588>>2];a[b+784>>2]=a[d+592>>2]},function(b){b|=0;var d;d=a[b+828>>2]|0;a[d+604>>2]=a[b+780>>2];a[d+608>>2]=(a[d+592>>2]|0)-(a[b+784>>2]|0)},fi,function(b){b|=0;var d,c,e,f,g,h,m;d=a[b+20>>2]|0;switch(d|0){case 102:case 101:(a[b+264>>2]|0)>>>0<(a[b+32>>2]|0)>>>0&&(c=a[b>>2]|0,a[c+20>>2]=69,R[a[c>>2]&127](b));R[a[(a[b+392>>2]|0)+8>>2]&127](b);break;case 103:break;default:c=a[b>>2]|0,a[c+20>>2]=21,a[c+24>>2]=d,R[a[c>>2]&127](b)}c=b+392|0;d=a[c>>2]|0;if(!(a[d+
-16>>2]|0)){e=b+288|0;f=b+8|0;g=b+404|0;do{R[a[d>>2]&127](b);if(d=a[e>>2]|0){h=d;d=0;do{if(m=a[f>>2]|0)a[m+4>>2]=d,a[m+8>>2]=h,R[a[m>>2]&127](b);dd[a[(a[g>>2]|0)+4>>2]&127](b,0)|0||(m=a[b>>2]|0,a[m+20>>2]=25,R[a[m>>2]&127](b));d=d+1|0;h=a[e>>2]|0}while(d>>>0<h>>>0)}R[a[(a[c>>2]|0)+8>>2]&127](b);d=a[c>>2]|0}while(0==(a[d+16>>2]|0))}c=b;R[(a[((a[(b+408|0)>>2]|0)+12|0)>>2]|0)&127](b);R[(a[((a[(b+24|0)>>2]|0)+16|0)>>2]|0)&127](b);yi(c)},function(b){b|=0;var d,c,e;d=u;u=u+208|0;c=d;e=d+8|0;ub[a[(a[b>>2]|
-0)+12>>2]&31](b,e);d=a[(a[b+828>>2]|0)+628>>2]|0;a[c>>2]=e;Y(d,145235,154321,c);yi(b);Vb(b+624|0,1)},function(b){b|=0;var d,c;d=u;u=u+208|0;c=d+8|0;ub[a[(a[b>>2]|0)+12>>2]&31](b,c);b=a[(a[b+828>>2]|0)+628>>2]|0;a[d>>2]=c;Wb(b,145235,154321,d);u=d},function(b){b|=0;var d,c;d=a[b+20>>2]|0;100!=(d|0)&&(c=a[b>>2]|0,a[c+20>>2]=21,a[c+24>>2]=d,R[a[c>>2]&127](b));c=b+84|0;a[c>>2]|0||(d=Aa[a[a[b+4>>2]>>2]&63](b,0,880)|0,a[c>>2]=d);a[b+56>>2]=1;a[b+60>>2]=1;d=b+72|0;a[d>>2]=8;Yg(b,50,1);zi(b,b+120|0,155857,
-155874);zi(b,b+136|0,155886,155903);zi(b,b+124|0,156065,156082);zi(b,b+140|0,156094,156111);t[b+152>>0]=0;t[b+168>>0]=1;t[b+184>>0]=5;t[b+153>>0]=0;t[b+169>>0]=1;t[b+185>>0]=5;t[b+154>>0]=0;t[b+170>>0]=1;t[b+186>>0]=5;t[b+155>>0]=0;t[b+171>>0]=1;t[b+187>>0]=5;t[b+156>>0]=0;t[b+172>>0]=1;t[b+188>>0]=5;t[b+157>>0]=0;t[b+173>>0]=1;t[b+189>>0]=5;t[b+158>>0]=0;t[b+174>>0]=1;t[b+190>>0]=5;t[b+159>>0]=0;t[b+175>>0]=1;t[b+191>>0]=5;t[b+160>>0]=0;t[b+176>>0]=1;t[b+192>>0]=5;t[b+161>>0]=0;t[b+177>>0]=1;t[b+
-193>>0]=5;t[b+162>>0]=0;t[b+178>>0]=1;t[b+194>>0]=5;t[b+163>>0]=0;t[b+179>>0]=1;t[b+195>>0]=5;t[b+164>>0]=0;t[b+180>>0]=1;t[b+196>>0]=5;t[b+165>>0]=0;t[b+181>>0]=1;t[b+197>>0]=5;t[b+166>>0]=0;t[b+182>>0]=1;t[b+198>>0]=5;t[b+167>>0]=0;t[b+183>>0]=1;t[b+199>>0]=5;a[b+204>>2]=0;a[b+200>>2]=0;a[b+208>>2]=0;a[b+212>>2]=8<(a[d>>2]|0)&1;a[b+216>>2]=0;a[b+220>>2]=0;a[b+224>>2]=1;d=b+228|0;a[d>>2]=0;a[d+4>>2]=0;a[d+8>>2]=0;a[d+12>>2]=0;t[b+248>>0]=1;t[b+249>>0]=1;t[b+250>>0]=0;w[b+252>>1]=1;w[b+254>>1]=1;
-a[b+260>>2]=0;b|=0;var e;switch(a[b+40>>2]|0){case 0:d=a[b+20>>2]|0;100!=(d|0)&&(c=a[b>>2]|0,a[c+20>>2]=21,a[c+24>>2]=d,R[a[c>>2]&127](b));a[b+80>>2]=0;a[b+244>>2]=0;a[b+256>>2]=0;c=a[b+36>>2]|0;d=b+76|0;a[d>>2]=c;9<(c+-1|0)>>>0?(e=a[b>>2]|0,a[e+20>>2]=27,a[e+24>>2]=c,a[e+28>>2]=10,R[a[e>>2]&127](b),e=a[d>>2]|0):e=c;if(0>=(e|0))break;c=a[b+84>>2]|0;d=0;do a[c+(88*d|0)>>2]=d,a[c+(88*d|0)+8>>2]=1,a[c+(88*d|0)+12>>2]=1,a[c+(88*d|0)+16>>2]=0,a[c+(88*d|0)+20>>2]=0,a[c+(88*d|0)+24>>2]=0,d=d+1|0;while((d|
-0)!=(e|0));break;case 1:e=a[b+20>>2]|0;100!=(e|0)&&(d=a[b>>2]|0,a[d+20>>2]=21,a[d+24>>2]=e,R[a[d>>2]&127](b));a[b+80>>2]=1;a[b+256>>2]=0;a[b+244>>2]=1;a[b+76>>2]=1;d=a[b+84>>2]|0;a[d>>2]=1;a[d+8>>2]=1;a[d+12>>2]=1;a[d+16>>2]=0;a[d+20>>2]=0;a[d+24>>2]=0;break;case 2:d=a[b+20>>2]|0;100!=(d|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=d,R[a[e>>2]&127](b));a[b+80>>2]=3;a[b+256>>2]=0;a[b+244>>2]=1;a[b+76>>2]=3;e=a[b+84>>2]|0;a[e>>2]=1;a[e+8>>2]=2;a[e+12>>2]=2;a[e+16>>2]=0;a[e+20>>2]=0;a[e+24>>2]=0;a[e+88>>
-2]=2;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=1;a[e+108>>2]=1;a[e+112>>2]=1;a[e+176>>2]=3;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=1;a[e+196>>2]=1;a[e+200>>2]=1;break;case 3:e=a[b+20>>2]|0;100!=(e|0)&&(d=a[b>>2]|0,a[d+20>>2]=21,a[d+24>>2]=e,R[a[d>>2]&127](b));a[b+80>>2]=3;a[b+256>>2]=0;a[b+244>>2]=1;a[b+76>>2]=3;d=a[b+84>>2]|0;a[d>>2]=1;a[d+8>>2]=2;a[d+12>>2]=2;a[d+16>>2]=0;a[d+20>>2]=0;a[d+24>>2]=0;a[d+88>>2]=2;a[d+96>>2]=1;a[d+100>>2]=1;a[d+104>>2]=1;a[d+108>>2]=1;a[d+112>>2]=1;a[d+176>>2]=3;a[d+184>>
-2]=1;a[d+188>>2]=1;a[d+192>>2]=1;a[d+196>>2]=1;a[d+200>>2]=1;break;case 4:d=a[b+20>>2]|0;100!=(d|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=d,R[a[e>>2]&127](b));a[b+80>>2]=4;a[b+244>>2]=0;a[b+256>>2]=1;a[b+76>>2]=4;e=a[b+84>>2]|0;a[e>>2]=67;a[e+8>>2]=1;a[e+12>>2]=1;a[e+16>>2]=0;a[e+20>>2]=0;a[e+24>>2]=0;a[e+88>>2]=77;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=0;a[e+108>>2]=0;a[e+112>>2]=0;a[e+176>>2]=89;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=0;a[e+196>>2]=0;a[e+200>>2]=0;a[e+264>>2]=75;a[e+272>>2]=1;
-a[e+276>>2]=1;a[e+280>>2]=0;a[e+284>>2]=0;a[e+288>>2]=0;break;case 5:e=a[b+20>>2]|0;100!=(e|0)&&(d=a[b>>2]|0,a[d+20>>2]=21,a[d+24>>2]=e,R[a[d>>2]&127](b));a[b+80>>2]=5;a[b+244>>2]=0;a[b+256>>2]=1;a[b+76>>2]=4;d=a[b+84>>2]|0;a[d>>2]=1;a[d+8>>2]=2;a[d+12>>2]=2;a[d+16>>2]=0;a[d+20>>2]=0;a[d+24>>2]=0;a[d+88>>2]=2;a[d+96>>2]=1;a[d+100>>2]=1;a[d+104>>2]=1;a[d+108>>2]=1;a[d+112>>2]=1;a[d+176>>2]=3;a[d+184>>2]=1;a[d+188>>2]=1;a[d+192>>2]=1;a[d+196>>2]=1;a[d+200>>2]=1;a[d+264>>2]=4;a[d+272>>2]=2;a[d+276>>
-2]=2;a[d+280>>2]=0;a[d+284>>2]=0;a[d+288>>2]=0;break;case 6:d=a[b+20>>2]|0;100!=(d|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=d,R[a[e>>2]&127](b));a[b+80>>2]=6;a[b+256>>2]=0;a[b+244>>2]=1;t[b+248>>0]=2;a[b+76>>2]=3;e=a[b+84>>2]|0;a[e>>2]=114;a[e+8>>2]=1;a[e+12>>2]=1;a[e+16>>2]=0;d=1==(a[b+260>>2]|0)&1;a[e+20>>2]=d;a[e+24>>2]=d;a[e+88>>2]=103;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=0;a[e+108>>2]=0;a[e+112>>2]=0;a[e+176>>2]=98;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=0;a[e+196>>2]=d;a[e+200>>2]=d;break;
-case 7:d=a[b+20>>2]|0;100!=(d|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=d,R[a[e>>2]&127](b));a[b+80>>2]=7;a[b+256>>2]=0;a[b+244>>2]=1;t[b+248>>0]=2;a[b+76>>2]=3;e=a[b+84>>2]|0;a[e>>2]=1;a[e+8>>2]=2;a[e+12>>2]=2;a[e+16>>2]=0;a[e+20>>2]=0;a[e+24>>2]=0;a[e+88>>2]=34;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=1;a[e+108>>2]=1;a[e+112>>2]=1;a[e+176>>2]=35;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=1;a[e+196>>2]=1;a[e+200>>2]=1;break;default:e=a[b>>2]|0,a[e+20>>2]=10,R[a[e>>2]&127](b)}},function(b){b|=0;var d,
-c;d=a[b+20>>2]|0;100!=(d|0)&&(c=a[b>>2]|0,a[c+20>>2]=21,a[c+24>>2]=d,R[a[c>>2]&127](b));R[a[(a[b>>2]|0)+16>>2]&127](b);d=b+24|0;R[a[(a[d>>2]|0)+8>>2]&127](b);Gg(b);R[a[(a[b+408>>2]|0)+16>>2]&127](b);R[a[(a[d>>2]|0)+16>>2]&127](b)},yi,function(a){a|=0;w[a+98>>1]=-32692==(w[a+90>>1]|0)?1:3;w[a+84>>1]=16;w[a+86>>1]=2},function(b){b|=0;var d,c,e;d=b+576|0;(c=a[d>>2]|0)||Z(154168,146646,1537,146854);a[b+672>>2]=a[c+24>>2];a[b+668>>2]=a[c+28>>2];(e=a[c+12>>2]|0)&&ja(e);ja(c);a[d>>2]=0;Ng(b)},function(b){b|=
-0;var d,c,e,f;pk(b)|0;d=b+576|0;(c=a[d>>2]|0)||Z(147733,147682,1092,147752);(e=a[c+124>>2]|0)?(ja(e),c=f=e=a[d>>2]|0):f=c;if(e=a[c+152>>2]|0)ja(e),f=a[d>>2]|0;ja(f);a[d>>2]=0;Ng(b)},function(b){b|=0;var d,c,e,f;d=b+576|0;if(c=a[d>>2]|0)a[b+672>>2]=a[c+160>>2],a[b+668>>2]=a[c+164>>2],a[b+676>>2]=a[c+168>>2],(e=a[c+312>>2]|0)&&ja(e),(e=a[c+316>>2]|0)&&ja(e),(e=a[c+320>>2]|0)&&ja(e),(e=a[c+324>>2]|0)&&ja(e),(e=a[c+328>>2]|0)&&ja(e),(e=a[c+332>>2]|0)&&ja(e),(e=a[c+336>>2]|0)&&ja(e),(e=a[c+340>>2]|0)&&
-ja(e),(e=a[c+344>>2]|0)&&ja(e),(e=a[c+348>>2]|0)&&ja(e),(e=a[c+352>>2]|0)&&ja(e),(e=a[c+356>>2]|0)&&ja(e),t[c+496>>0]|0&&(e=a[d>>2]|0,f=e+496|0,t[f>>0]|0?(fi(e+632|0),t[f>>0]=0):Z(150963,148429,1245,150993)),(f=a[c+1180>>2]|0)&&ja(f),(f=a[c+1200>>2]|0)&&ja(f),(f=a[c+5364>>2]|0)&&ja(f),ja(c),a[d>>2]=0,Ng(b)},function(b){b|=0;var d,c;d=u;u=u+208|0;c=d+8|0;ub[a[(a[b>>2]|0)+12>>2]&31](b,c);b=a[(a[b+12>>2]|0)+628>>2]|0;a[d>>2]=c;Wb(b,151596,154321,d);u=d},function(b){b|=0;var d,c,e;d=u;u=u+208|0;c=d;e=
-d+8|0;ub[a[(a[b>>2]|0)+12>>2]&31](b,e);d=b+12|0;b=a[(a[d>>2]|0)+628>>2]|0;a[c>>2]=e;Y(b,151596,154321,c);Bi(a[d>>2]|0)},function(a){},function(a){},function(a){a|=0;w[a+84>>1]=8;w[a+86>>1]=1},function(b){b|=0;var d,c,e;d=b+576|0;(c=a[d>>2]|0)||Z(154168,152287,1247,152415);pk(b)|0;a[b+672>>2]=a[c+140>>2];a[b+668>>2]=a[c+144>>2];(e=a[c+160>>2]|0)&&ja(e);(e=a[c+164>>2]|0)&&ja(e);(e=a[c+168>>2]|0)&&ja(e);(e=a[c+148>>2]|0)&&ja(e);(e=a[c+152>>2]|0)&&ja(e);(e=a[c+156>>2]|0)&&ja(e);a[c+128>>2]&1&&(e=c+64|
-0,a[b+8>>2]|0?rk(e)|0:wf(e)|0);(e=a[c+120>>2]|0)&&ja(e);ja(c);a[d>>2]=0;Ng(b)},function(b){b|=0;var d,c,e,f;d=b+576|0;(c=a[d>>2]|0)||Z(154168,154074,332,154176);pk(b)|0;a[b+672>>2]=a[c+128>>2];a[b+668>>2]=a[c+132>>2];e=c+124|0;f=a[e>>2]|0;f&2?(rk(c+64|0)|0,a[e>>2]=0):f&1&&(wf(c+64|0)|0,a[e>>2]=0);ja(c);a[d>>2]=0;Ng(b)},function(b){b|=0;var d,c,e,f,g;d=a[b+408>>2]|0;c=b+24|0;e=a[c>>2]|0;f=a[e>>2]|0;a[e>>2]=f+1;t[f>>0]=-1;f=e+4|0;g=(a[f>>2]|0)+-1|0;a[f>>2]=g;0==(g|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=
-a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b));e=a[c>>2]|0;g=a[e>>2]|0;a[e>>2]=g+1;t[g>>0]=-40;g=e+4|0;f=(a[g>>2]|0)+-1|0;a[g>>2]=f;0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b));a[d+28>>2]=0;a[b+244>>2]|0&&(d=a[c>>2]|0,e=a[d>>2]|0,a[d>>2]=e+1,t[e>>0]=-1,e=d+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,f=a[d>>2]|0,a[d>>2]=f+1,t[f>>0]=-32,f=d+4|0,e=(a[f>>2]|0)+-1|0,a[f>>2]=e,0==(e|
-0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,e=a[d>>2]|0,a[d>>2]=e+1,t[e>>0]=0,e=d+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,f=a[d>>2]|0,a[d>>2]=f+1,t[f>>0]=16,f=d+4|0,e=(a[f>>2]|0)+-1|0,a[f>>2]=e,0==(e|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,e=a[d>>2]|0,a[d>>2]=e+1,t[e>>0]=74,e=d+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==
-(f|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,f=a[d>>2]|0,a[d>>2]=f+1,t[f>>0]=70,f=d+4|0,e=(a[f>>2]|0)+-1|0,a[f>>2]=e,0==(e|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,e=a[d>>2]|0,a[d>>2]=e+1,t[e>>0]=73,e=d+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,f=a[d>>2]|0,a[d>>2]=f+1,t[f>>0]=70,f=d+4|0,e=(a[f>>2]|0)+-1|0,a[f>>2]=
-e,0==(e|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=a[c>>2]|0,e=a[d>>2]|0,a[d>>2]=e+1,t[e>>0]=0,e=d+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=t[b+248>>0]|0,f=a[c>>2]|0,e=a[f>>2]|0,a[f>>2]=e+1,t[e>>0]=d,d=f+4|0,e=(a[d>>2]|0)+-1|0,a[d>>2]=e,0==(e|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),f=t[b+249>>0]|0,e=a[c>>2]|0,d=a[e>>2]|0,a[e>>2]=d+1,t[d>>0]=f,
-f=e+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=t[b+250>>0]|0,d=a[c>>2]|0,f=a[d>>2]|0,a[d>>2]=f+1,t[f>>0]=e,e=d+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[d+12>>2]&63](b)|0)&&(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),d=w[b+252>>1]|0,f=a[c>>2]|0,e=a[f>>2]|0,a[f>>2]=e+1,t[e>>0]=(d&65535)>>>8,e=f+4|0,g=(a[e>>2]|0)+-1|0,a[e>>2]=g,0==(g|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),
-f=a[c>>2]|0,g=a[f>>2]|0,a[f>>2]=g+1,t[g>>0]=d,d=f+4|0,g=(a[d>>2]|0)+-1|0,a[d>>2]=g,0==(g|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),f=w[b+254>>1]|0,g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=(f&65535)>>>8,d=g+4|0,e=(a[d>>2]|0)+-1|0,a[d>>2]=e,e||da[a[g+12>>2]&63](b)|0||(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),g=a[c>>2]|0,e=a[g>>2]|0,a[g>>2]=e+1,t[e>>0]=f,e=g+4|0,d=(a[e>>2]|0)+-1|0,a[e>>2]=d,d||da[a[g+12>>2]&63](b)|0||(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),
-g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=0,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,f||da[a[g+12>>2]&63](b)|0||(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=0,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,d||da[a[g+12>>2]&63](b)|0||(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)));if(a[b+256>>2]|0)switch(g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=-1,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),
-g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=-18,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=0,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=14,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),
-g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=65,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=100,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=111,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),
-g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=98,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=101,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=0,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),
-g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=100,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=0,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=0,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,0==(f|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),
-g=a[c>>2]|0,f=a[g>>2]|0,a[g>>2]=f+1,t[f>>0]=0,f=g+4|0,d=(a[f>>2]|0)+-1|0,a[f>>2]=d,0==(d|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b)),g=a[c>>2]|0,d=a[g>>2]|0,a[g>>2]=d+1,t[d>>0]=0,d=g+4|0,f=(a[d>>2]|0)+-1|0,a[d>>2]=f,f||da[a[g+12>>2]&63](b)|0||(d=a[b>>2]|0,a[d+20>>2]=25,R[a[d>>2]&127](b)),a[b+80>>2]|0){case 3:g=a[c>>2]|0;f=a[g>>2]|0;a[g>>2]=f+1;t[f>>0]=1;f=g+4|0;d=(a[f>>2]|0)+-1|0;if(a[f>>2]=d)break;if(da[a[g+12>>2]&63](b)|0)break;g=a[b>>2]|0;a[g+20>>2]=25;R[a[g>>
-2]&127](b);break;case 5:g=a[c>>2]|0;d=a[g>>2]|0;a[g>>2]=d+1;t[d>>0]=2;d=g+4|0;f=(a[d>>2]|0)+-1|0;if(a[d>>2]=f)break;if(da[a[g+12>>2]&63](b)|0)break;g=a[b>>2]|0;a[g+20>>2]=25;R[a[g>>2]&127](b);break;default:g=a[c>>2]|0,c=a[g>>2]|0,a[g>>2]=c+1,t[c>>0]=0,c=g+4|0,f=(a[c>>2]|0)+-1|0,a[c>>2]=f,f||da[a[g+12>>2]&63](b)|0||(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b))}},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p=0;d=b+84|0;c=b+76|0;e=a[c>>2]|0;if(0<(e|0))for(f=0,g=a[d>>2]|0,h=0;;)if(m=(ei(b,a[g+16>>2]|0)|
-0)+h|0,f=f+1|0,k=a[c>>2]|0,(f|0)>=(k|0)){l=k;n=m;break}else g=g+88|0,h=m;else l=e,n=0;e=b+212|0;h=b+268|0;g=0==(a[h>>2]|0);a:do if(a[e>>2]|0)p=g?19:18;else{b:do if(g){do if(8==(a[b+72>>2]|0)&&8==(a[b+380>>2]|0)){if(0<(l|0))for(f=0,m=a[d>>2]|0,k=1;;)if(k=1>=(a[m+20>>2]|0)&&1>=(a[m+24>>2]|0)?k:0,f=f+1|0,(f|0)>=(l|0)){f=k;break}else m=m+88|0;else f=1;if(!(0!=(n|0)&0!=(f|0))){if(!f)break;xi(b,192);break a}k=a[b>>2]|0;a[k+20>>2]=77;ub[a[k+4>>2]&31](b,0);k=0!=(a[h>>2]|0);if(a[e>>2]|0){p=k?18:19;break a}else if(k)break b}while(0);
-xi(b,193);break a}while(0);xi(b,194)}while(0);18==(p|0)?xi(b,202):19==(p|0)&&xi(b,201);switch(a[b+260>>2]|0){case 0:break;case 1:p=3>(a[c>>2]|0)?27:28;break;default:p=27}27==(p|0)&&(c=a[b>>2]|0,a[c+20>>2]=28,R[a[c>>2]&127](b),p=28);28==(p|0)&&(c=b+24|0,e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=-1,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=-8,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>
-2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=24,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=13,f=e+4|0,n=(a[f>>2]|0)+-1|0,
-a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=-1,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=3,n=e+4|0,f=(a[n>>2]|0)+-1|
-0,a[n>>2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[(a[d>>2]|0)+88>>2]&255,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=f,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[a[d>>2]>>2]&255,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=n,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[(a[d>>
-2]|0)+176>>2]&255,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=f,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=-128,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>
-2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,0==(f|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,0==(n|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,f||da[a[e+12>>2]&63](b)|0||(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),
-e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,n||da[a[e+12>>2]&63](b)|0||(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,f||da[a[e+12>>2]&63](b)|0||(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=1,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,n||da[a[e+12>>2]&63](b)|0||(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+
-1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,f||da[a[e+12>>2]&63](b)|0||(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,n||da[a[e+12>>2]&63](b)|0||(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,f||da[a[e+12>>2]&63](b)|0||(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+
--1|0,a[f>>2]=n,n||da[a[e+12>>2]&63](b)|0||(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=1,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,f||da[a[e+12>>2]&63](b)|0||(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),e=a[c>>2]|0,f=a[e>>2]|0,a[e>>2]=f+1,t[f>>0]=0,f=e+4|0,n=(a[f>>2]|0)+-1|0,a[f>>2]=n,n||da[a[e+12>>2]&63](b)|0||(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b)),e=a[c>>2]|0,n=a[e>>2]|0,a[e>>2]=n+1,t[n>>0]=0,n=e+4|0,f=(a[n>>2]|0)+-1|0,a[n>>2]=f,f||da[a[e+12>>2]&63](b)|
-0||(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)));a[h>>2]|0&&(h=b+380|0,8!=(a[h>>2]|0)&&(d=b+24|0,p=a[d>>2]|0,e=a[p>>2]|0,a[p>>2]=e+1,t[e>>0]=-1,e=p+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[d>>2]|0,f=a[p>>2]|0,a[p>>2]=f+1,t[f>>0]=-38,f=p+4|0,e=(a[f>>2]|0)+-1|0,a[f>>2]=e,0==(e|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[d>>2]|0,e=a[p>>2]|0,a[p>>2]=e+1,t[e>>0]=0,e=p+4|0,f=(a[e>>2]|
-0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[d>>2]|0,f=a[p>>2]|0,a[p>>2]=f+1,t[f>>0]=6,f=p+4|0,e=(a[f>>2]|0)+-1|0,a[f>>2]=e,0==(e|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[d>>2]|0,e=a[p>>2]|0,a[p>>2]=e+1,t[e>>0]=0,e=p+4|0,f=(a[e>>2]|0)+-1|0,a[e>>2]=f,0==(f|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[d>>2]|0,f=a[p>>2]|0,a[p>>2]=f+1,t[f>>0]=0,f=p+4|0,e=(a[f>>
-2]|0)+-1|0,a[f>>2]=e,0==(e|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[h>>2]|0,h=(E(p,p)|0)+255|0,p=a[d>>2]|0,e=a[p>>2]|0,a[p>>2]=e+1,t[e>>0]=h,h=p+4|0,e=(a[h>>2]|0)+-1|0,a[h>>2]=e,0==(e|0)&&0==(da[a[p+12>>2]&63](b)|0)&&(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b)),p=a[d>>2]|0,d=a[p>>2]|0,a[p>>2]=d+1,t[d>>0]=0,d=p+4|0,e=(a[d>>2]|0)+-1|0,a[d>>2]=e,e||da[a[p+12>>2]&63](b)|0||(p=a[b>>2]|0,a[p+20>>2]=25,R[a[p>>2]&127](b))))},function(b){b|=0;var d,c,e,f,g,h,m,k,
-l,n,p,q,y,B,H,r,z,Q,C,w,V,v,J,I,G,L,K,E,A,O,M,T,D,P,Oa,F,N;d=u;u=u+32|0;c=d+16|0;e=d;f=a[b+408>>2]|0;if(a[b+212>>2]|0){g=e;k=g+16|0;do t[g>>0]=0,g=g+1|0;while((g|0)<(k|0));g=c;k=g+16|0;do t[g>>0]=0,g=g+1|0;while((g|0)<(k|0));g=a[b+292>>2]|0;if(0<(g|0)){k=0==(a[b+368>>2]|0);if(a[b+364>>2]|0){if(!k){m=0;do t[e+(a[(a[b+296+(m<<2)>>2]|0)+24>>2]|0)>>0]=1,m=m+1|0;while((m|0)!=(g|0))}v=V=w=C=Q=z=r=H=B=y=q=p=g=n=m=l=0}else{m=0==(a[b+372>>2]|0);if(k){k=0;do m&&(t[c+(a[(a[b+296+(k<<2)>>2]|0)+20>>2]|0)>>0]=
-1),k=k+1|0;while((k|0)!=(g|0))}else{k=0;do h=a[b+296+(k<<2)>>2]|0,m&&(t[c+(a[h+20>>2]|0)>>0]=1),t[e+(a[h+24>>2]|0)>>0]=1,k=k+1|0;while((k|0)!=(g|0))}l=t[c+13>>0]|0;m=t[c>>0]|0;n=t[c+14>>0]|0;g=t[c+15>>0]|0;p=t[c+1>>0]|0;q=t[c+2>>0]|0;y=t[c+3>>0]|0;B=t[c+4>>0]|0;H=t[c+5>>0]|0;r=t[c+6>>0]|0;z=t[c+7>>0]|0;Q=t[c+8>>0]|0;C=t[c+9>>0]|0;w=t[c+10>>0]|0;V=t[c+11>>0]|0;v=t[c+12>>0]|0}h=t[e+15>>0]|0;k=t[e>>0]|0;J=t[e+1>>0]|0;I=t[e+2>>0]|0;G=t[e+3>>0]|0;L=t[e+4>>0]|0;K=t[e+5>>0]|0;E=t[e+6>>0]|0;A=t[e+7>>0]|0;
-O=t[e+8>>0]|0;M=t[e+9>>0]|0;T=t[e+10>>0]|0;D=t[e+11>>0]|0;P=t[e+12>>0]|0;Oa=l;F=t[e+13>>0]|0;l=t[e+14>>0]|0;N=g}else N=l=n=F=Oa=P=v=D=V=T=w=M=C=O=Q=A=z=E=r=K=H=L=B=G=y=I=q=J=p=k=m=h=0;if(g=(v<<24>>24)+(P<<24>>24)+(D<<24>>24)+(V<<24>>24)+(T<<24>>24)+(w<<24>>24)+(M<<24>>24)+(C<<24>>24)+(O<<24>>24)+(Q<<24>>24)+(A<<24>>24)+(z<<24>>24)+(E<<24>>24)+(r<<24>>24)+(K<<24>>24)+(H<<24>>24)+(L<<24>>24)+(B<<24>>24)+(G<<24>>24)+(y<<24>>24)+(I<<24>>24)+(q<<24>>24)+(J<<24>>24)+(p<<24>>24)+(k<<24>>24)+(m<<24>>24)+
-(Oa<<24>>24)+(F<<24>>24)+(n<<24>>24)+(l<<24>>24)+(N<<24>>24)+(h<<24>>24)|0){h=b+24|0;N=a[h>>2]|0;l=a[N>>2]|0;a[N>>2]=l+1;t[l>>0]=-1;l=N+4|0;n=(a[l>>2]|0)+-1|0;a[l>>2]=n;0==(n|0)&&0==(da[a[N+12>>2]&63](b)|0)&&(N=a[b>>2]|0,a[N+20>>2]=25,R[a[N>>2]&127](b));N=a[h>>2]|0;n=a[N>>2]|0;a[N>>2]=n+1;t[n>>0]=-52;n=N+4|0;l=(a[n>>2]|0)+-1|0;a[n>>2]=l;0==(l|0)&&0==(da[a[N+12>>2]&63](b)|0)&&(N=a[b>>2]|0,a[N+20>>2]=25,R[a[N>>2]&127](b));N=(g<<1)+2|0;g=a[h>>2]|0;l=a[g>>2]|0;a[g>>2]=l+1;t[l>>0]=N>>>8;l=g+4|0;n=(a[l>>
-2]|0)+-1|0;a[l>>2]=n;0==(n|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=a[h>>2]|0;n=a[g>>2]|0;a[g>>2]=n+1;t[n>>0]=N;N=g+4|0;n=(a[N>>2]|0)+-1|0;a[N>>2]=n;0==(n|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=0;do t[c+g>>0]|0&&(n=a[h>>2]|0,N=a[n>>2]|0,a[n>>2]=N+1,t[N>>0]=g,N=n+4|0,l=(a[N>>2]|0)+-1|0,a[N>>2]=l,0==(l|0)&&0==(da[a[n+12>>2]&63](b)|0)&&(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),n=a[h>>2]|0,l=(x[b+168+g>>0]<<4)+(x[b+
-152+g>>0]|0)&255,N=a[n>>2]|0,a[n>>2]=N+1,t[N>>0]=l,l=n+4|0,N=(a[l>>2]|0)+-1|0,a[l>>2]=N,0==(N|0)&&0==(da[a[n+12>>2]&63](b)|0)&&(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b))),t[e+g>>0]|0&&(n=a[h>>2]|0,N=a[n>>2]|0,a[n>>2]=N+1,t[N>>0]=g+16,N=n+4|0,l=(a[N>>2]|0)+-1|0,a[N>>2]=l,0==(l|0)&&0==(da[a[n+12>>2]&63](b)|0)&&(n=a[b>>2]|0,a[n+20>>2]=25,R[a[n>>2]&127](b)),n=t[b+184+g>>0]|0,l=a[h>>2]|0,N=a[l>>2]|0,a[l>>2]=N+1,t[N>>0]=n,n=l+4|0,N=(a[n>>2]|0)+-1|0,a[n>>2]=N,0==(N|0)&&0==(da[a[l+12>>2]&63](b)|0)&&(l=
-a[b>>2]|0,a[l+20>>2]=25,R[a[l>>2]&127](b))),g=g+1|0;while(16!=(g|0))}}else if(g=b+292|0,0<(a[g>>2]|0)){c=b+364|0;h=b+372|0;m=b+368|0;k=0;do e=a[b+296+(k<<2)>>2]|0,0==(a[c>>2]|0)&&0==(a[h>>2]|0)&&Me(b,a[e+20>>2]|0,0),a[m>>2]|0&&Me(b,a[e+24>>2]|0,1),k=k+1|0;while((k|0)<(a[g>>2]|0))}g=b+236|0;h=f+28|0;f=b+24|0;(a[g>>2]|0)!=(a[h>>2]|0)&&(e=a[f>>2]|0,c=a[e>>2]|0,a[e>>2]=c+1,t[c>>0]=-1,c=e+4|0,l=(a[c>>2]|0)+-1|0,a[c>>2]=l,0==(l|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),
-e=a[f>>2]|0,l=a[e>>2]|0,a[e>>2]=l+1,t[l>>0]=-35,l=e+4|0,c=(a[l>>2]|0)+-1|0,a[l>>2]=c,0==(c|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[f>>2]|0,c=a[e>>2]|0,a[e>>2]=c+1,t[c>>0]=0,c=e+4|0,l=(a[c>>2]|0)+-1|0,a[c>>2]=l,0==(l|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),e=a[f>>2]|0,l=a[e>>2]|0,a[e>>2]=l+1,t[l>>0]=4,l=e+4|0,c=(a[l>>2]|0)+-1|0,a[l>>2]=c,0==(c|0)&&0==(da[a[e+12>>2]&63](b)|0)&&(e=a[b>>2]|0,a[e+20>>2]=25,R[a[e>>2]&127](b)),
-e=a[g>>2]|0,c=a[f>>2]|0,l=a[c>>2]|0,a[c>>2]=l+1,t[l>>0]=e>>>8,l=c+4|0,N=(a[l>>2]|0)+-1|0,a[l>>2]=N,0==(N|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),c=a[f>>2]|0,N=a[c>>2]|0,a[c>>2]=N+1,t[N>>0]=e,e=c+4|0,N=(a[e>>2]|0)+-1|0,a[e>>2]=N,0==(N|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b)),a[h>>2]=a[g>>2]);g=a[f>>2]|0;h=a[g>>2]|0;a[g>>2]=h+1;t[h>>0]=-1;h=g+4|0;c=(a[h>>2]|0)+-1|0;a[h>>2]=c;0==(c|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|
-0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=a[f>>2]|0;c=a[g>>2]|0;a[g>>2]=c+1;t[c>>0]=-38;c=g+4|0;h=(a[c>>2]|0)+-1|0;a[c>>2]=h;0==(h|0)&&0==(da[a[g+12>>2]&63](b)|0)&&(g=a[b>>2]|0,a[g+20>>2]=25,R[a[g>>2]&127](b));g=b+292|0;h=(a[g>>2]<<1)+6|0;c=a[f>>2]|0;N=a[c>>2]|0;a[c>>2]=N+1;t[N>>0]=h>>>8;N=c+4|0;e=(a[N>>2]|0)+-1|0;a[N>>2]=e;0==(e|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[f>>2]|0;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=h;h=c+4|0;e=(a[h>>2]|0)+-1|0;a[h>>2]=e;0==(e|0)&&0==
-(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[f>>2]|0;e=a[g>>2]&255;h=a[c>>2]|0;a[c>>2]=h+1;t[h>>0]=e;e=c+4|0;h=(a[e>>2]|0)+-1|0;a[e>>2]=h;0==(h|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));if(0<(a[g>>2]|0)){c=b+364|0;h=b+372|0;e=b+368|0;N=0;do l=a[b+296+(N<<2)>>2]|0,n=a[f>>2]|0,F=a[l>>2]&255,Oa=a[n>>2]|0,a[n>>2]=Oa+1,t[Oa>>0]=F,F=n+4|0,Oa=(a[F>>2]|0)+-1|0,a[F>>2]=Oa,0==(Oa|0)&&0==(da[a[n+12>>2]&63](b)|0)&&(n=a[b>>2]|0,a[n+20>>2]=25,
-R[a[n>>2]&127](b)),m=0==(a[c>>2]|0)&&0==(a[h>>2]|0)?a[l+20>>2]|0:0,k=a[e>>2]|0?a[l+24>>2]|0:0,l=a[f>>2]|0,n=a[l>>2]|0,a[l>>2]=n+1,t[n>>0]=k+(m<<4),n=l+4|0,Oa=(a[n>>2]|0)+-1|0,a[n>>2]=Oa,0==(Oa|0)&&0==(da[a[l+12>>2]&63](b)|0)&&(l=a[b>>2]|0,a[l+20>>2]=25,R[a[l>>2]&127](b)),N=N+1|0;while((N|0)<(a[g>>2]|0));e=c}else e=b+364|0;c=a[f>>2]|0;g=a[e>>2]&255;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=g;g=c+4|0;e=(a[g>>2]|0)+-1|0;a[g>>2]=e;0==(e|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));
-c=a[f>>2]|0;e=a[b+368>>2]&255;g=a[c>>2]|0;a[c>>2]=g+1;t[g>>0]=e;e=c+4|0;g=(a[e>>2]|0)+-1|0;a[e>>2]=g;0==(g|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[f>>2]|0;f=(a[b+372>>2]<<4)+(a[b+376>>2]|0)&255;g=a[c>>2]|0;a[c>>2]=g+1;t[g>>0]=f;f=c+4|0;g=(a[f>>2]|0)+-1|0;a[f>>2]=g;g||da[a[c+12>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));u=d},function(b){b|=0;var d,c,e,f;d=b+24|0;c=a[d>>2]|0;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=-1;e=c+4|0;f=(a[e>>2]|0)+-1|0;a[e>>
-2]=f;0==(f|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[d>>2]|0;d=a[c>>2]|0;a[c>>2]=d+1;t[d>>0]=-39;d=c+4|0;f=(a[d>>2]|0)+-1|0;a[d>>2]=f;f||da[a[c+12>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))},function(b){b|=0;var d,c,e,f;d=b+24|0;c=a[d>>2]|0;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=-1;e=c+4|0;f=(a[e>>2]|0)+-1|0;a[e>>2]=f;0==(f|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[d>>2]|0;f=a[c>>2]|0;a[c>>2]=f+1;t[f>>0]=-40;
-f=c+4|0;e=(a[f>>2]|0)+-1|0;a[f>>2]=e;0==(e|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));a[b+88>>2]|0&&ei(b,0)|0;a[b+92>>2]|0&&ei(b,1)|0;a[b+96>>2]|0&&ei(b,2)|0;a[b+100>>2]|0&&ei(b,3)|0;a[b+212>>2]|0||(a[b+120>>2]|0&&Me(b,0,0),a[b+136>>2]|0&&Me(b,0,1),a[b+124>>2]|0&&Me(b,1,0),a[b+140>>2]|0&&Me(b,1,1),a[b+128>>2]|0&&Me(b,2,0),a[b+144>>2]|0&&Me(b,2,1),a[b+132>>2]|0&&Me(b,3,0),a[b+148>>2]|0&&Me(b,3,1));c=a[d>>2]|0;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=-1;e=c+4|0;f=(a[e>>2]|
-0)+-1|0;a[e>>2]=f;0==(f|0)&&0==(da[a[c+12>>2]&63](b)|0)&&(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[d>>2]|0;d=a[c>>2]|0;a[c>>2]=d+1;t[d>>0]=-39;d=c+4|0;f=(a[d>>2]|0)+-1|0;a[d>>2]=f;f||da[a[c+12>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))},function(b){b|=0;var d,c,e,f=0;d=a[b+392>>2]|0;c=d+20|0;a:do switch(a[c>>2]|0){case 0:Vg(b);Jf(b);a[b+208>>2]|0||(R[a[a[b+412>>2]>>2]&127](b),R[a[a[b+416>>2]>>2]&127](b),ub[a[a[b+400>>2]>>2]&31](b,0));R[a[a[b+420>>2]>>2]&127](b);c=b+216|0;
-ub[a[a[b+424>>2]>>2]&31](b,a[c>>2]|0);ub[a[a[b+404>>2]>>2]&31](b,1<(a[d+28>>2]|0)?3:0);ub[a[a[b+396>>2]>>2]&31](b,0);e=d+12|0;a[e>>2]=a[c>>2]|0?0:1;break a;case 1:Vg(b);Jf(b);if(0==(a[b+364>>2]|0)&&0!=(a[b+372>>2]|0)){a[c>>2]=2;e=d+24|0;a[e>>2]=(a[e>>2]|0)+1;f=11;break a}ub[a[a[b+424>>2]>>2]&31](b,1);ub[a[a[b+404>>2]>>2]&31](b,2);a[d+12>>2]=0;break;case 2:f=11;break;default:e=a[b>>2]|0,a[e+20>>2]=49,R[a[e>>2]&127](b)}while(0);if(11==(f|0)){a[b+216>>2]|0||(Vg(b),Jf(b));ub[a[a[b+424>>2]>>2]&31](b,0);
-ub[a[a[b+404>>2]>>2]&31](b,2);f=b+408|0;if(!(a[d+32>>2]|0))R[a[(a[f>>2]|0)+4>>2]&127](b);R[a[(a[f>>2]|0)+8>>2]&127](b);a[d+12>>2]=0}f=a[d+24>>2]|0;c=a[d+28>>2]|0;a[d+16>>2]=(f|0)==(c+-1|0)&1;if(d=a[b+8>>2]|0)a[d+12>>2]=f,a[d+16>>2]=c},function(b){b|=0;var d;a[(a[b+392>>2]|0)+12>>2]=0;d=b+408|0;R[a[(a[d>>2]|0)+4>>2]&127](b);R[a[(a[d>>2]|0)+8>>2]&127](b)},function(b){b|=0;var d,c;d=a[b+392>>2]|0;R[a[(a[b+424>>2]|0)+8>>2]&127](b);c=d+20|0;switch(a[c>>2]|0){case 0:a[c>>2]=2;a[b+216>>2]|0||(b=d+32|0,a[b>>
-2]=(a[b>>2]|0)+1);break;case 1:a[c>>2]=2;break;case 2:a[b+216>>2]|0&&(a[c>>2]=1),c=d+32|0,a[c>>2]=(a[c>>2]|0)+1}c=d+24|0;a[c>>2]=(a[c>>2]|0)+1},function(a){},function(b){b|=0;var d;d=a[b+460>>2]|0;a[d>>2]=46;a[d+16>>2]=0;a[d+20>>2]=0;a[d+24>>2]=1;R[a[(a[b>>2]|0)+16>>2]&127](b);R[a[a[b+464>>2]>>2]&127](b);a[b+160>>2]=0},$g,function(b){b|=0;R[a[(a[b+468>>2]|0)+8>>2]&127](b);a[a[b+460>>2]>>2]=46},function(b){b|=0;var d;d=a[b+464>>2]|0;a[b+216>>2]=0;a[b+144>>2]=0;a[b+440>>2]=0;a[d+12>>2]=0;a[d+16>>2]=
-0;a[d+24>>2]=0;a[d+164>>2]=0},function(b){b|=0;var d,c,e,f;d=a[b+444>>2]|0;c=d+8|0;if(a[c>>2]|0)a[c>>2]=0,ub[a[a[b+484>>2]>>2]&31](b,0),ub[a[a[b+456>>2]>>2]&31](b,2),ub[a[a[b+448>>2]>>2]&31](b,2);else if(e=b+84|0,0!=(a[e>>2]|0)&&0==(a[b+136>>2]|0)&&(0!=(a[b+92>>2]|0)&&0!=(a[b+108>>2]|0)?(a[b+484>>2]=a[d+24>>2],a[c>>2]=1):a[b+100>>2]|0?a[b+484>>2]=a[d+20>>2]:(f=a[b>>2]|0,a[f+20>>2]=47,R[a[f>>2]&127](b))),R[a[a[b+472>>2]>>2]&127](b),R[a[(a[b+452>>2]|0)+8>>2]&127](b),!(a[b+68>>2]|0)){if(!(a[d+16>>2]|
-0))R[a[a[b+480>>2]>>2]&127](b);R[a[a[b+476>>2]>>2]&127](b);if(a[e>>2]|0)ub[a[a[b+484>>2]>>2]&31](b,a[c>>2]|0);ub[a[a[b+456>>2]>>2]&31](b,0!=(a[c>>2]|0)?3:0);ub[a[a[b+448>>2]>>2]&31](b,0)}if(e=a[b+8>>2]|0)f=a[d+12>>2]|0,a[e+12>>2]=f,d=(0!=(a[c>>2]|0)?2:1)+f|0,f=e+16|0,a[f>>2]=d,a[b+64>>2]|0&&(a[(a[b+460>>2]|0)+20>>2]|0||(a[f>>2]=d+(0!=(a[b+108>>2]|0)?2:1)))},function(b){b|=0;var d;d=a[b+444>>2]|0;if(a[b+84>>2]|0)R[a[(a[b+484>>2]|0)+8>>2]&127](b);b=d+12|0;a[b>>2]=(a[b>>2]|0)+1},function(b){b|=0;var d;
-d=a[b+476>>2]|0;a[d+36>>2]=0;a[d+44>>2]=a[b+116>>2]},function(b){b|=0;var d;d=a[b+476>>2]|0;a[d+92>>2]=a[b+320>>2];a[d+96>>2]=a[b+116>>2]},function(b){b|=0;R[a[(a[b>>2]|0)+8>>2]&127](b);fi(b);vl(1)},function(b){b|=0;var d,c;d=u;u=u+208|0;c=d+8|0;ub[a[(a[b>>2]|0)+12>>2]&31](b,c);b=a[30710]|0;a[d>>2]=c;Ld(b,160973,d)|0;u=d},function(b){b=a[(b|0)>>2]|0;a[b+108>>2]=0;a[b+20>>2]=0},function(a){},function(b){b|=0;var d;d=a[b>>2]|0;a[d+20>>2]=47;R[a[d>>2]&127](b)},function(b){a[(a[(b|0)+484>>2]|0)+28>>2]=
-1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,H,r,z,u,C,x,V,v,J,I,G,L,K;d=b+484|0;c=a[d>>2]|0;e=b+136|0;a[e>>2]=a[c+16>>2];f=a[c+20>>2]|0;g=Aa[a[a[b+4>>2]>>2]&63](b,1,f<<5)|0;a[g>>2]=0;a[g+4>>2]=31;a[g+8>>2]=0;a[g+12>>2]=63;a[g+16>>2]=0;a[g+20>>2]=31;mk(b,g);if(1<(f|0)){for(h=1;;){if((h<<1|0)>(f|0))for(m=g,n=l=k=0;;)if(p=a[m+24>>2]|0,y=(q=(p|0)>(l|0))?m:n,k=k+1|0,(k|0)==(h|0)){B=y;break}else m=m+32|0,l=q?p:l,n=y;else for(n=g,k=m=l=0;;)if(y=a[n+28>>2]|0,(y|0)>(m|0)?(H=(p=0<(a[n+24>>2]|0))?y:
-m,r=p?n:k):(H=m,r=k),l=l+1|0,(l|0)==(h|0)){B=r;break}else n=n+32|0,m=H,k=r;if(!B){z=h;break}k=g+(h<<5)|0;m=B+4|0;a[g+(h<<5)+4>>2]=a[m>>2];n=B+12|0;a[g+(h<<5)+12>>2]=a[n>>2];l=B+20|0;a[g+(h<<5)+20>>2]=a[l>>2];a[k>>2]=a[B>>2];p=B+8|0;y=g+(h<<5)+8|0;a[y>>2]=a[p>>2];q=B+16|0;u=g+(h<<5)+16|0;a[u>>2]=a[q>>2];C=a[m>>2]|0;x=a[B>>2]|0;V=C-x<<4;v=a[n>>2]|0;J=a[p>>2]|0;p=12*(v-J|0)|0;I=a[l>>2]|0;G=a[q>>2]|0;q=(V|0)>(p|0);switch(((I-G<<3|0)>((q?V:p)|0)?2:q&1^1)|0){case 0:q=(x+C|0)/2|0;a[m>>2]=q;a[k>>2]=q+1;break;
-case 1:q=(J+v|0)/2|0;a[n>>2]=q;a[y>>2]=q+1;break;case 2:q=(G+I|0)/2|0,a[l>>2]=q,a[u>>2]=q+1}mk(b,B);mk(b,k);k=h+1|0;if((k|0)<(f|0))h=k;else{z=k;break}}if(0<(z|0))L=z;else{d=z;a[(b+132|0)>>2]=d;e=a[b>>2]|0;a[(e+20|0)>>2]=98;a[(e+24|0)>>2]=d;d=a[(e+4|0)>>2]|0;ub[d&31](b,1);a[(c+28|0)>>2]=1;return}}else L=1;z=0;do{h=a[(a[d>>2]|0)+24>>2]|0;f=a[g+(z<<5)>>2]|0;B=a[g+(z<<5)+4>>2]|0;r=a[g+(z<<5)+8>>2]|0;H=a[g+(z<<5)+12>>2]|0;k=a[g+(z<<5)+16>>2]|0;q=a[g+(z<<5)+20>>2]|0;if((f|0)>(B|0))q=l=k=h=0;else for(u=
-(r|0)>(H|0),l=(k|0)>(q|0),I=f,n=y=G=f=0;;){if(u)C=f,v=G,J=y,V=n;else for(v=a[h+(I<<2)>>2]|0,J=I<<3|4,m=f,C=r,x=G,p=y,V=n;;){if(l)n=m;else for(n=C<<2|2,f=x,x=k,y=p,p=v+(C<<6)+(k<<1)|0,G=V;;)if(V=w[p>>1]|0,K=V&65535,V<<16>>16?(m=(E(K,J)|0)+m|0,f=(E(K,n)|0)+f|0,V=(E(K,x<<3|4)|0)+y|0,G=K+G|0):V=y,(x|0)<(q|0))x=x+1|0,y=V,p=p+2|0;else{n=m;x=f;p=V;V=G;break}if((C|0)<(H|0))m=n,C=C+1|0;else{C=n;v=x;J=p;break}}if((I|0)<(B|0))I=I+1|0,f=C,G=v,y=J,n=V;else{h=C;k=v;l=J;q=V;break}}n=q>>1;t[(a[a[e>>2]>>2]|0)+z>>
-0]=(n+h|0)/(q|0)|0;t[(a[(a[e>>2]|0)+4>>2]|0)+z>>0]=(n+k|0)/(q|0)|0;t[(a[(a[e>>2]|0)+8>>2]|0)+z>>0]=(n+l|0)/(q|0)|0;z=z+1|0}while((z|0)!=(L|0));d=L;a[(b+132|0)>>2]=d;e=a[b>>2]|0;a[(e+20|0)>>2]=98;a[(e+24|0)>>2]=d;d=a[(e+4|0)>>2]|0;ub[d&31](b,1);a[(c+28|0)>>2]=1},function(a){},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,u,C;d=b+4|0;c=a[d>>2]|0;e=c+68|0;if(f=a[e>>2]|0)for(k=m=0,l=f;;)if(a[l>>2]|0?(p=m,q=k):(f=a[l+8>>2]|0,n=(E(f,a[l+12>>2]|0)|0)+k|0,p=(E(a[l+4>>2]|0,f)|0)+m|0,q=n),l=a[l+44>>
-2]|0)m=p,k=q;else{g=p;h=q;break}else h=g=0;q=c+72|0;if(k=a[q>>2]|0)for(p=k,k=g,g=h;;)if(a[p>>2]|0?(t=k,r=g):(h=a[p+8>>2]|0,m=(E(a[p+12>>2]<<7,h)|0)+g|0,t=(E(h<<7,a[p+4>>2]|0)|0)+k|0,r=m),p=a[p+44>>2]|0)k=t,g=r;else{y=t;B=r;break}else y=g,B=h;if(!(1>(B|0))){r=y|0;(r|0)<(y|0)?(y=(r|0)/(B|0)|0,z=1>(y|0)?1:y):z=1E9;if(y=a[e>>2]|0){e=c+80|0;B=y;do{if(!(a[B>>2]|0)){y=a[B+4>>2]|0;r=a[B+12>>2]|0;((((y+-1|0)>>>0)/(r>>>0)|0)+1|0)>(z|0)?(g=E(r,z)|0,r=B+16|0,a[r>>2]=g,g=B+8|0,Vh(b,B+48|0,E(a[g>>2]|0,y)|0),a[B+
-40>>2]=1,n=g,u=a[r>>2]|0):(a[B+16>>2]=y,n=B+8|0,u=y);y=a[n>>2]|0;r=a[d>>2]|0;g=999999984/(y>>>0)|0;g||(t=a[b>>2]|0,a[t+20>>2]=72,R[a[t>>2]&127](b));t=(g|0)<(u|0)?g:u;a[r+80>>2]=t;r=ih(b,1,u<<2)|0;if(u)for(g=~u,k=0,p=t;;){t=u-k|0;m=p;p=p>>>0<t>>>0?p:t;t=E(p,y)|0;h=a[d>>2]|0;999999984<t>>>0&&(l=a[b>>2]|0,a[l+20>>2]=56,a[l+24>>2]=3,R[a[l>>2]&127](b));l=t&7;n=(0==(l|0)?0:8-l|0)+t|0;t=n+16|0;l=Hc(t|0)|0;l||(f=a[b>>2]|0,a[f+20>>2]=56,a[f+24>>2]=4,R[a[f>>2]&127](b));f=h+76|0;a[f>>2]=(a[f>>2]|0)+t;t=h+64|
-0;a[l>>2]=a[t>>2];a[l+4>>2]=n;a[l+8>>2]=0;a[t>>2]=l;if(p){t=k+g|0;n=~m;m=t>>>0>n>>>0;h=k;f=p;for(C=l+16|0;;)if(a[r+(h<<2)>>2]=C,f=f+-1|0)h=h+1|0,C=C+y|0;else break;m=k+-1-(m?t:n)|0}else m=k;if(m>>>0>=u>>>0)break;else k=m}a[B>>2]=r;a[B+20>>2]=a[e>>2];a[B+24>>2]=0;a[B+28>>2]=0;a[B+36>>2]=0}B=a[B+44>>2]|0}while(0!=(B|0))}if(B=a[q>>2]|0){q=c+80|0;c=B;do{if(!(a[c>>2]|0)){B=a[c+4>>2]|0;e=a[c+12>>2]|0;((((B+-1|0)>>>0)/(e>>>0)|0)+1|0)>(z|0)?(m=E(e,z)|0,e=c+16|0,a[e>>2]=m,m=c+8|0,Vh(b,c+48|0,E(B<<7,a[m>>2]|
-0)|0),a[c+40>>2]=1,y=m,r=a[e>>2]|0):(a[c+16>>2]=B,y=c+8|0,r=B);B=a[y>>2]|0;e=a[d>>2]|0;m=B<<7;u=999999984/(m>>>0)|0;u||(n=a[b>>2]|0,a[n+20>>2]=72,R[a[n>>2]&127](b));n=(u|0)<(r|0)?u:r;a[e+80>>2]=n;e=ih(b,1,r<<2)|0;if(r)for(u=~r,k=0,y=n;;){n=r-k|0;p=y;y=y>>>0<n>>>0?y:n;n=E(y,m)|0;g=a[d>>2]|0;999999984<n>>>0&&(C=a[b>>2]|0,a[C+20>>2]=56,a[C+24>>2]=3,R[a[C>>2]&127](b));C=n|16;h=Hc(C|0)|0;h||(f=a[b>>2]|0,a[f+20>>2]=56,a[f+24>>2]=4,R[a[f>>2]&127](b));f=g+76|0;a[f>>2]=(a[f>>2]|0)+C;C=g+64|0;a[h>>2]=a[C>>
-2];a[h+4>>2]=n;a[h+8>>2]=0;a[C>>2]=h;if(y){C=k+u|0;n=~p;p=C>>>0>n>>>0;g=k;f=y;for(l=h+16|0;;)if(a[e+(g<<2)>>2]=l,f=f+-1|0)g=g+1|0,l=l+(B<<7)|0;else break;f=k+-1-(p?C:n)|0}else f=k;if(f>>>0>=r>>>0)break;else k=f}a[c>>2]=e;a[c+20>>2]=a[q>>2];a[c+24>>2]=0;a[c+28>>2]=0;a[c+36>>2]=0}c=a[c+44>>2]|0}while(0!=(c|0))}}},function(b){b|=0;sk(b,1);sk(b,0);b=b+4|0;Gc(a[b>>2]|0);a[b>>2]=0},Wh,function(a){},function(b){b|=0;var d,c;d=a[b+412>>2]|0;c=Aa[a[a[b+4>>2]>>2]&63](b,1,8192)|0;a[d+8>>2]=c;d=0;do a[c+(d<<
-2)>>2]=19595*d,a[c+(d+256<<2)>>2]=38470*d,a[c+(d+512<<2)>>2]=(7471*d|0)+32768,b=E(d,-11058)|0,a[c+(d+768<<2)>>2]=b,b=E(d,-21710)|0,a[c+(d+1024<<2)>>2]=b,a[c+(d+1280<<2)>>2]=(d<<15)+8421375,b=E(d,-27439)|0,a[c+(d+1536<<2)>>2]=b,b=E(d,-5329)|0,a[c+(d+1792<<2)>>2]=b,d=d+1|0;while(256!=(d|0))},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n=0,p,q,y,B;d=a[b+420>>2]|0;c=b+76|0;if(!(0>=(a[c>>2]|0)))for(e=b+232|0,f=0,g=a[b+84>>2]|0,h=0;;){m=a[g+36>>2]|0;k=g+40|0;a:do switch((m<<8)+(a[k>>2]|0)|0){case 257:a[d+44+
-(f<<2)>>2]=45;l=0;break;case 514:a[d+44+(f<<2)>>2]=46;l=0;break;case 771:a[d+44+(f<<2)>>2]=47;l=0;break;case 1028:a[d+44+(f<<2)>>2]=48;l=0;break;case 1285:a[d+44+(f<<2)>>2]=49;l=0;break;case 1542:a[d+44+(f<<2)>>2]=50;l=0;break;case 1799:a[d+44+(f<<2)>>2]=51;l=0;break;case 2313:a[d+44+(f<<2)>>2]=52;l=0;break;case 2570:a[d+44+(f<<2)>>2]=53;l=0;break;case 2827:a[d+44+(f<<2)>>2]=54;l=0;break;case 3084:a[d+44+(f<<2)>>2]=55;l=0;break;case 3341:a[d+44+(f<<2)>>2]=56;l=0;break;case 3598:a[d+44+(f<<2)>>2]=
-57;l=0;break;case 3855:a[d+44+(f<<2)>>2]=58;l=0;break;case 4112:a[d+44+(f<<2)>>2]=59;l=0;break;case 4104:a[d+44+(f<<2)>>2]=60;l=0;break;case 3591:a[d+44+(f<<2)>>2]=61;l=0;break;case 3078:a[d+44+(f<<2)>>2]=62;l=0;break;case 2565:a[d+44+(f<<2)>>2]=63;l=0;break;case 2052:a[d+44+(f<<2)>>2]=64;l=0;break;case 1539:a[d+44+(f<<2)>>2]=65;l=0;break;case 1026:a[d+44+(f<<2)>>2]=66;l=0;break;case 513:a[d+44+(f<<2)>>2]=67;l=0;break;case 2064:a[d+44+(f<<2)>>2]=68;l=0;break;case 1806:a[d+44+(f<<2)>>2]=69;l=0;break;
-case 1548:a[d+44+(f<<2)>>2]=70;l=0;break;case 1290:a[d+44+(f<<2)>>2]=71;l=0;break;case 1032:a[d+44+(f<<2)>>2]=72;l=0;break;case 774:a[d+44+(f<<2)>>2]=73;l=0;break;case 516:a[d+44+(f<<2)>>2]=74;l=0;break;case 258:a[d+44+(f<<2)>>2]=75;l=0;break;case 2056:switch(a[e>>2]|0){case 0:a[d+44+(f<<2)>>2]=76;l=0;break a;case 1:a[d+44+(f<<2)>>2]=77;l=1;break a;case 2:a[d+84+(f<<2)>>2]=78;l=2;break a;default:n=a[b>>2]|0;a[n+20>>2]=49;R[a[n>>2]&127](b);l=h;break a}default:n=a[b>>2]|0,a[n+20>>2]=7,a[n+24>>2]=m,
-a[n+28>>2]=a[k>>2],R[a[n>>2]&127](b),l=h}while(0);k=a[g+16>>2]|0;m=b+88+(k<<2)|0;3>=k>>>0&&(n=a[m>>2]|0,0!=(n|0))?h=n:(n=a[b>>2]|0,a[n+20>>2]=54,a[n+24>>2]=k,R[a[n>>2]&127](b),h=a[m>>2]|0);switch(l|0){case 0:m=a[g+84>>2]|0;n=0!=(a[g+52>>2]|0)?4:3;k=0;do a[m+(k<<2)>>2]=N[h+(k<<1)>>1]<<n,k=k+1|0;while(64!=(k|0));a[d+4+(f<<2)>>2]=9;break;case 1:k=a[g+84>>2]|0;n=0!=(a[g+52>>2]|0)?10:11;m=1<<n+-1;p=0;do q=m+(E(w[128808+(p<<1)>>1]|0,N[h+(p<<1)>>1]|0)|0)>>n,a[k+(p<<2)>>2]=q,p=p+1|0;while(64!=(p|0));a[d+
-4+(f<<2)>>2]=9;break;case 2:p=a[g+84>>2]|0;y=0!=(a[g+52>>2]|0)?16:8;for(n=k=0;B=+Hb[8+(n<<3)>>3],W[p+(k<<2)>>2]=1/(+(N[h+(k<<1)>>1]|0)*B*y),m=k|1,W[p+(m<<2)>>2]=1/(+(N[h+(m<<1)>>1]|0)*B*1.387039845*y),q=m+1|0,W[p+(q<<2)>>2]=1/(+(N[h+(q<<1)>>1]|0)*B*1.306562965*y),q=k|3,W[p+(q<<2)>>2]=1/(+(N[h+(q<<1)>>1]|0)*B*1.175875602*y),m=q+1|0,W[p+(m<<2)>>2]=1/(+(N[h+(m<<1)>>1]|0)*B*y),m=q+2|0,W[p+(m<<2)>>2]=1/(+(N[h+(m<<1)>>1]|0)*B*.785694958*y),m=q+3|0,W[p+(m<<2)>>2]=1/(+(N[h+(m<<1)>>1]|0)*B*.5411961*y),m=k|
-7,W[p+(m<<2)>>2]=1/(+(N[h+(m<<1)>>1]|0)*B*.275899379*y),n=n+1|0,8!=(n|0);)k=k+8|0;a[d+4+(f<<2)>>2]=10;break;default:k=a[b>>2]|0,a[k+20>>2]=49,R[a[k>>2]&127](b)}f=f+1|0;if((f|0)>=(a[c>>2]|0))break;else g=g+88|0,h=l}},function(b){b|=0;var d,c,e,f=0,g=0,h,m,k,l=0,n,p,q=0,y,B,H,r=0,z,Q,C,w,v,E;d=u;u=u+32|0;c=d+16|0;e=a[b+424>>2]|0;if(0!=(a[b+268>>2]|0)&&(f=e+128|0,g=a[f>>2]|0,0!=(g|0))){h=0;for(m=g;;)if(m>>=1)h=h+1|0;else{k=h;break}14<(k|0)&&(h=a[e+120>>2]|0,m=a[h>>2]|0,a[m+20>>2]=41,R[a[m>>2]&127](h));
-h=a[e+124>>2]|0;m=k<<4;g=e+108|0;do if(a[g>>2]|0)z=(a[e+92+(h<<2)>>2]|0)+(m<<2)|0,a[z>>2]=(a[z>>2]|0)+1;else if(l=a[e+60+(h<<2)>>2]|0,n=a[l+(m<<2)>>2]|0,p=t[l+1024+m>>0]|0,l=p<<24>>24,0!=p<<24>>24||(p=a[e+120>>2]|0,q=a[p>>2]|0,a[q+20>>2]=41,R[a[q>>2]&127](p),0==(a[g>>2]|0))){p=e+16|0;q=(a[p>>2]|0)+l|0;y=e+12|0;B=((1<<l)+-1&n)<<24-q|a[y>>2];if(7<(q|0)){n=e+112|0;l=e+116|0;H=e+120|0;r=q;for(z=B;;)if(Q=z>>>16,C=Q&255,w=a[n>>2]|0,a[n>>2]=w+1,t[w>>0]=Q,Q=(a[l>>2]|0)+-1|0,a[l>>2]=Q,Q||(Q=a[H>>2]|0,w=a[Q+
-24>>2]|0,da[a[w+12>>2]&63](Q)|0||(Q=a[H>>2]|0,v=a[Q>>2]|0,a[v+20>>2]=25,R[a[v>>2]&127](Q)),a[n>>2]=a[w>>2],a[l>>2]=a[w+4>>2]),255==(C|0)&&(C=a[n>>2]|0,a[n>>2]=C+1,t[C>>0]=0,C=(a[l>>2]|0)+-1|0,a[l>>2]=C,0==(C|0))&&(C=a[H>>2]|0,w=a[C+24>>2]|0,da[a[w+12>>2]&63](C)|0||(C=a[H>>2]|0,Q=a[C>>2]|0,a[Q+20>>2]=25,R[a[Q>>2]&127](C)),a[n>>2]=a[w>>2],a[l>>2]=a[w+4>>2]),w=z<<8,r=r+-8|0,7>=(r|0)){E=w;break}else z=w;v=q&7;B=E}else v=q;a[y>>2]=B;a[p>>2]=v}while(0);if(0!=(k|0)&&0==(a[g>>2]|0)){m=e+16|0;h=(a[m>>2]|0)+
-k|0;v=e+12|0;B=(a[f>>2]&(1<<k)+-1)<<24-h|a[v>>2];if(7<(h|0)){k=e+112|0;E=e+116|0;z=e+120|0;r=h;for(l=B;!(n=l>>>16,H=n&255,w=a[k>>2]|0,a[k>>2]=w+1,t[w>>0]=n,n=(a[E>>2]|0)+-1|0,a[E>>2]=n,n||(n=a[z>>2]|0,w=a[n+24>>2]|0,da[a[w+12>>2]&63](n)|0||(n=a[z>>2]|0,C=a[n>>2]|0,a[C+20>>2]=25,R[a[C>>2]&127](n)),a[k>>2]=a[w>>2],a[E>>2]=a[w+4>>2]),255==(H|0)&&(H=a[k>>2]|0,a[k>>2]=H+1,t[H>>0]=0,H=(a[E>>2]|0)+-1|0,a[E>>2]=H,0==(H|0))&&(H=a[z>>2]|0,w=a[H+24>>2]|0,da[a[w+12>>2]&63](H)|0||(H=a[z>>2]|0,n=a[H>>2]|0,a[n+
-20>>2]=25,R[a[n>>2]&127](H)),a[k>>2]=a[w>>2],a[E>>2]=a[w+4>>2]),w=l<<8,r=r+-8|0,7>=(r|0));)l=w;k=h&7;q=w}else k=h,q=B;a[v>>2]=q;a[m>>2]=k}a[f>>2]=0;f=e+132|0;k=a[f>>2]|0;a:do if(0!=(k|0)&0==(a[g>>2]|0))for(m=e+16|0,q=e+12|0,v=e+112|0,B=e+116|0,h=e+120|0,p=k,l=a[e+136>>2]|0,r=0;;){if(!r){E=a[m>>2]|0;k=E+1|0;z=((x[l>>0]|0)&1)<<23-E|a[q>>2];if(7<(k|0)){E=k;for(w=z;;)if(H=w>>>16,n=H&255,C=a[v>>2]|0,a[v>>2]=C+1,t[C>>0]=H,H=(a[B>>2]|0)+-1|0,a[B>>2]=H,H||(H=a[h>>2]|0,C=a[H+24>>2]|0,da[a[C+12>>2]&63](H)|
-0||(H=a[h>>2]|0,Q=a[H>>2]|0,a[Q+20>>2]=25,R[a[Q>>2]&127](H)),a[v>>2]=a[C>>2],a[B>>2]=a[C+4>>2]),255==(n|0)&&(n=a[v>>2]|0,a[v>>2]=n+1,t[n>>0]=0,n=(a[B>>2]|0)+-1|0,a[B>>2]=n,0==(n|0))&&(n=a[h>>2]|0,C=a[n+24>>2]|0,da[a[C+12>>2]&63](n)|0||(n=a[h>>2]|0,H=a[n>>2]|0,a[H+20>>2]=25,R[a[H>>2]&127](n)),a[v>>2]=a[C>>2],a[B>>2]=a[C+4>>2]),C=w<<8,E=E+-8|0,7>=(E|0)){n=C;break}else w=C;H=k&7;z=n}else H=k;a[q>>2]=z;a[m>>2]=H}w=p+-1|0;if(!w)break a;p=w;l=l+1|0;r=a[g>>2]|0}while(0);a[f>>2]=0}a[c>>2]=0;a[c+4>>2]=0;a[c+
-8>>2]=0;a[c+12>>2]=0;a[d>>2]=0;a[d+4>>2]=0;a[d+8>>2]=0;a[d+12>>2]=0;f=b+292|0;if(!(0>=(a[f>>2]|0))){g=b+364|0;H=b+372|0;z=b+368|0;n=0;do k=a[b+296+(n<<2)>>2]|0,0==(a[g>>2]|0)&&0==(a[H>>2]|0)&&(r=a[k+20>>2]|0,l=c+(r<<2)|0,0==(a[l>>2]|0))&&(p=b+120+(r<<2)|0,(m=a[p>>2]|0)?h=m:(q=Zi(b)|0,h=a[p>>2]=q),pi(b,h,a[e+76+(r<<2)>>2]|0),a[l>>2]=1),0!=(a[z>>2]|0)&&(l=a[k+24>>2]|0,k=d+(l<<2)|0,0==(a[k>>2]|0))&&(r=b+136+(l<<2)|0,(m=a[r>>2]|0)?h=m:(q=Zi(b)|0,h=a[r>>2]=q),pi(b,h,a[e+92+(l<<2)>>2]|0),a[k>>2]=1),n=n+
-1|0;while((n|0)<(a[f>>2]|0))}u=d},function(b){b|=0;var d,c,e,f,g,h,m=0,k,l,n,p,q,y,B,H,r,z,Q,C,w,v;d=u;u=u+16|0;c=d;e=a[b+424>>2]|0;f=b+24|0;g=a[f>>2]|0;h=a[g>>2]|0;if(a[b+268>>2]|0){c=e+112|0;a[c>>2]=h;h=e+116|0;a[h>>2]=a[g+4>>2];g=e+128|0;if(q=a[g>>2]|0){H=0;for(n=q;;)if(n>>=1)H=H+1|0;else{z=H;break}14<(z|0)&&(H=a[e+120>>2]|0,n=a[H>>2]|0,a[n+20>>2]=41,R[a[n>>2]&127](H));H=a[e+124>>2]|0;n=z<<4;q=e+108|0;do if(a[q>>2]|0)l=(a[e+92+(H<<2)>>2]|0)+(n<<2)|0,a[l>>2]=(a[l>>2]|0)+1;else if(w=a[e+60+(H<<2)>>
-2]|0,k=a[w+(n<<2)>>2]|0,C=t[w+1024+n>>0]|0,w=C<<24>>24,0!=C<<24>>24||(C=a[e+120>>2]|0,m=a[C>>2]|0,a[m+20>>2]=41,R[a[m>>2]&127](C),0==(a[q>>2]|0))){C=e+16|0;m=(a[C>>2]|0)+w|0;Q=e+12|0;p=((1<<w)+-1&k)<<24-m|a[Q>>2];if(7<(m|0)){k=e+120|0;w=m;for(l=p;;)if(y=l>>>16,b=y&255,r=a[c>>2]|0,a[c>>2]=r+1,t[r>>0]=y,y=(a[h>>2]|0)+-1|0,a[h>>2]=y,y||(y=a[k>>2]|0,r=a[y+24>>2]|0,da[a[r+12>>2]&63](y)|0||(y=a[k>>2]|0,B=a[y>>2]|0,a[B+20>>2]=25,R[a[B>>2]&127](y)),a[c>>2]=a[r>>2],a[h>>2]=a[r+4>>2]),255==(b|0)&&(b=a[c>>2]|
-0,a[c>>2]=b+1,t[b>>0]=0,b=(a[h>>2]|0)+-1|0,a[h>>2]=b,0==(b|0))&&(b=a[k>>2]|0,r=a[b+24>>2]|0,da[a[r+12>>2]&63](b)|0||(b=a[k>>2]|0,y=a[b>>2]|0,a[y+20>>2]=25,R[a[y>>2]&127](b)),a[c>>2]=a[r>>2],a[h>>2]=a[r+4>>2]),r=l<<8,w=w+-8|0,7>=(w|0)){v=r;break}else l=r;B=m&7;p=v}else B=m;a[Q>>2]=p;a[C>>2]=B}while(0);if(0!=(z|0)&&0==(a[q>>2]|0)){n=e+16|0;H=(a[n>>2]|0)+z|0;B=e+12|0;p=(a[g>>2]&(1<<z)+-1)<<24-H|a[B>>2];if(7<(H|0)){z=e+120|0;v=H;for(l=p;!(w=l>>>16,k=w&255,r=a[c>>2]|0,a[c>>2]=r+1,t[r>>0]=w,w=(a[h>>2]|
-0)+-1|0,a[h>>2]=w,w||(w=a[z>>2]|0,r=a[w+24>>2]|0,da[a[r+12>>2]&63](w)|0||(w=a[z>>2]|0,b=a[w>>2]|0,a[b+20>>2]=25,R[a[b>>2]&127](w)),a[c>>2]=a[r>>2],a[h>>2]=a[r+4>>2]),255==(k|0)&&(k=a[c>>2]|0,a[c>>2]=k+1,t[k>>0]=0,k=(a[h>>2]|0)+-1|0,a[h>>2]=k,0==(k|0))&&(k=a[z>>2]|0,r=a[k+24>>2]|0,da[a[r+12>>2]&63](k)|0||(k=a[z>>2]|0,w=a[k>>2]|0,a[w+20>>2]=25,R[a[w>>2]&127](k)),a[c>>2]=a[r>>2],a[h>>2]=a[r+4>>2]),r=l<<8,v=v+-8|0,7>=(v|0));)l=r;b=H&7;m=r}else b=H,m=p;a[B>>2]=m;a[n>>2]=b}a[g>>2]=0;g=e+132|0;b=a[g>>2]|
-0;a:do if(0!=(b|0)&0==(a[q>>2]|0))for(n=e+16|0,m=e+12|0,B=e+120|0,p=b,H=a[e+136>>2]|0,b=0;;){if(!b){l=a[n>>2]|0;v=l+1|0;z=((x[H>>0]|0)&1)<<23-l|a[m>>2];if(7<(v|0)){l=v;for(r=z;;)if(k=r>>>16,w=k&255,b=a[c>>2]|0,a[c>>2]=b+1,t[b>>0]=k,k=(a[h>>2]|0)+-1|0,a[h>>2]=k,k||(k=a[B>>2]|0,b=a[k+24>>2]|0,da[a[b+12>>2]&63](k)|0||(k=a[B>>2]|0,y=a[k>>2]|0,a[y+20>>2]=25,R[a[y>>2]&127](k)),a[c>>2]=a[b>>2],a[h>>2]=a[b+4>>2]),255==(w|0)&&(w=a[c>>2]|0,a[c>>2]=w+1,t[w>>0]=0,w=(a[h>>2]|0)+-1|0,a[h>>2]=w,0==(w|0))&&(w=a[B>>
-2]|0,b=a[w+24>>2]|0,da[a[b+12>>2]&63](w)|0||(w=a[B>>2]|0,k=a[w>>2]|0,a[k+20>>2]=25,R[a[k>>2]&127](w)),a[c>>2]=a[b>>2],a[h>>2]=a[b+4>>2]),b=r<<8,l=l+-8|0,7>=(l|0)){k=b;break}else r=b;b=v&7}else b=v,k=z;a[m>>2]=k;a[n>>2]=b}r=p+-1|0;if(!r)break a;p=r;H=H+1|0;b=a[q>>2]|0}while(0);a[g>>2]=0}Yh(e);e=a[f>>2]|0;a[e>>2]=a[c>>2];a[e+4>>2]=a[h>>2]}else{m=a[g+4>>2]|0;k=e+12|0;l=a[k>>2]|0;n=e+16|0;p=a[n>>2]|0;q=e+20|0;a[c>>2]=a[q>>2];a[c+4>>2]=a[q+4>>2];a[c+8>>2]=a[q+8>>2];a[c+12>>2]=a[q+12>>2];a:do if(0<(p|0)){y=
-h;B=m;g=p+7|0;for(e=127<<17-p|l;;){H=e>>>16;r=H&255;z=y+1|0;t[y>>0]=H;if(H=B+-1|0)B=z,y=H;else{y=a[f>>2]|0;if(!(da[a[y+12>>2]&63](b)|0)){y=z;break}B=a[y>>2]|0;y=a[y+4>>2]|0}if(255==(r|0))if(r=B,H=r+1|0,t[r>>0]=0,r=y+-1|0)B=H;else{z=a[f>>2]|0;if(!(da[a[z+12>>2]&63](b)|0)){y=H;break}r=a[z+4>>2]|0;B=a[z>>2]|0}else r=y;g=g+-8|0;if(7>=(g|0)){Q=B;C=r;H=w=0;break a}else y=B,B=r,e<<=8}e=a[b>>2]|0;a[e+20>>2]=25;R[a[e>>2]&127](b);Q=y;C=0;w=l;H=p}else Q=h,C=m,H=w=0;while(0);m=a[f>>2]|0;a[m>>2]=Q;a[m+4>>2]=C;
-a[k>>2]=w;a[n>>2]=H;a[q>>2]=a[c>>2];a[q+4>>2]=a[c+4>>2];a[q+8>>2]=a[c+8>>2];a[q+12>>2]=a[c+12>>2]}u=d},function(b){b|=0;var d,c,e,f,g,h,m,k=0,l,n,p,q,y,B,H,r,z;d=a[b+468>>2]|0;c=b+224|0;e=b+412|0;f=a[e>>2]|0;g=0==(f|0);do if(a[c>>2]|0){h=b+416|0;m=a[h>>2]|0;k=g?m?11:7:(m|0)>=(f|0)&&(m|0)<=(a[b+436>>2]|0)&&1==(a[b+340>>2]|0)?7:11;do if(7==(k|0)){if(m=a[b+420>>2]|0){if(l=m+-1|0,(l|0)!=(a[b+424>>2]|0)){k=11;break}}else l=a[b+424>>2]|0;13<(l|0)&&(k=11)}while(0);11==(k|0)&&(l=a[b>>2]|0,a[l+20>>2]=17,a[l+
-24>>2]=f,a[l+28>>2]=a[h>>2],a[l+32>>2]=a[b+420>>2],a[l+36>>2]=a[b+424>>2],R[a[l>>2]&127](b));l=b+340|0;m=a[l>>2]|0;if(0<(m|0)){n=b+160|0;p=b+420|0;q=b+424|0;m=0;do{y=a[(a[b+344+(m<<2)>>2]|0)+4>>2]|0;B=a[n>>2]|0;(H=a[e>>2]|0)?0>(a[B+(y<<8)>>2]|0)&&(r=a[b>>2]|0,a[r+20>>2]=118,a[r+24>>2]=y,a[r+28>>2]=0,ub[a[r+4>>2]&31](b,-1),H=a[e>>2]|0):H=0;if((H|0)<=(a[h>>2]|0))for(;;)if(r=B+(y<<8)+(H<<2)|0,z=a[r>>2]|0,(a[p>>2]|0)!=((0>(z|0)?0:z)|0)&&(z=a[b>>2]|0,a[z+20>>2]=118,a[z+24>>2]=y,a[z+28>>2]=H,ub[a[z+4>>
-2]&31](b,-1)),a[r>>2]=a[q>>2],(H|0)<(a[h>>2]|0))H=H+1|0;else break;m=m+1|0;H=a[l>>2]|0}while((m|0)<(H|0));h=p;n=H}else h=b+420|0,n=m;p=0==(a[e>>2]|0);m=d+4|0;a[m>>2]=a[h>>2]|0?p?58:59:p?56:57;p=l;q=n}else g&&0==(a[b+420>>2]|0)&&0==(a[b+424>>2]|0)?(m=a[b+416>>2]|0,64>(m|0)&&(m|0)!=(a[b+436>>2]|0)&&(k=35)):k=35,35==(k|0)&&(m=a[b>>2]|0,a[m+20>>2]=125,ub[a[m+4>>2]&31](b,-1)),a[d+4>>2]=60,p=m=b+340|0,q=a[m>>2]|0;while(0);if(!(0>=(q|0))){q=b+4|0;g=b+436|0;n=b+420|0;h=0;do{H=a[b+344+(h<<2)>>2]|0;k=a[c>>
-2]|0?a[e>>2]|0?49:a[n>>2]|0?48:42:42;if(42==(k|0)){k=0;f=a[H+20>>2]|0;15<f>>>0&&(l=a[b>>2]|0,a[l+20>>2]=50,a[l+24>>2]=f,R[a[l>>2]&127](b));l=d+60+(f<<2)|0;f=a[l>>2]|0;f||(m=Aa[a[a[q>>2]>>2]&63](b,1,64)|0,f=a[l>>2]=m);m=f+64|0;do t[f>>0]=0,f=f+1|0;while((f|0)<(m|0));a[d+24+(h<<2)>>2]=0;a[d+40+(h<<2)>>2]=0;a[c>>2]|0?k=48:a[g>>2]|0&&(k=49)}48==(k|0)&&(k=0,0!=(a[e>>2]|0))&&(k=49);49==(k|0)&&(f=a[H+24>>2]|0,15<f>>>0&&(m=a[b>>2]|0,a[m+20>>2]=50,a[m+24>>2]=f,R[a[m>>2]&127](b)),m=d+124+(f<<2)|0,(f=a[m>>2]|
-0)?k=f:(l=Aa[a[a[q>>2]>>2]&63](b,1,256)|0,k=a[m>>2]=l),Va(k|0,0,256)|0);h=h+1|0}while((h|0)<(a[p>>2]|0))}a[(d+12|0)>>2]=0;a[(d+16|0)>>2]=0;a[(d+20|0)>>2]=-16;a[(d+56|0)>>2]=a[(b+280|0)>>2]|0},function(a){},function(b){b|=0;var d,c;a[b+148>>2]=0;d=a[b+452>>2]|0;1>=(a[b+340>>2]|0)?(c=a[b+344>>2]|0,a[d+28>>2]=1==(a[b+332>>2]|0)?a[c+76>>2]:a[c+12>>2]):a[d+28>>2]=1;a[d+20>>2]=0;a[d+24>>2]=0},function(b){b|=0;var d,c=0,e,f,g,h,m,k,l,n;d=a[b+452>>2]|0;if(a[d+16>>2]|0){a:do if(0!=(a[b+80>>2]|0)&&0!=(a[b+
-224>>2]|0)&&(c=b+160|0,0!=(a[c>>2]|0))&&(e=d+112|0,(f=a[e>>2]|0)?(m=b+36|0,e=f):(g=b+36|0,h=Aa[a[a[b+4>>2]>>2]&63](b,1,24*(a[g>>2]|0)|0)|0,a[e>>2]=h,m=g,e=h),0<(a[m>>2]|0))){f=0;h=e;g=a[b+216>>2]|0;for(e=0;;){k=a[g+80>>2]|0;if(!k)break a;if(!(w[k>>1]|0))break a;if(!(w[k+2>>1]|0))break a;if(!(w[k+16>>1]|0))break a;if(!(w[k+32>>1]|0))break a;if(!(w[k+18>>1]|0))break a;if(!(w[k+4>>1]|0))break a;k=a[c>>2]|0;if(0>(a[k+(f<<8)>>2]|0))break a;l=k+(f<<8)+4|0;a[h+4>>2]=a[l>>2];n=a[l>>2]|0;l=k+(f<<8)+8|0;a[h+
-8>>2]=a[l>>2];l=a[l>>2]|n;n=k+(f<<8)+12|0;a[h+12>>2]=a[n>>2];l|=a[n>>2];n=k+(f<<8)+16|0;a[h+16>>2]=a[n>>2];l|=a[n>>2];n=k+(f<<8)+20|0;a[h+20>>2]=a[n>>2];k=0==(l|a[n>>2]|0)?e:1;f=f+1|0;if((f|0)>=(a[m>>2]|0)){f=k;break}else h=h+24|0,g=g+88|0,e=k}if(f){a[d+12>>2]=63;b=b+156|0;a[b>>2]=0;return}}while(0);a[d+12>>2]=61}a[(b+156|0)>>2]=0},function(a){},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B;d=a[b+472>>2]|0;c=b+36|0;if(!(0>=(a[c>>2]|0)))for(e=b+72|0,f=0,g=a[b+216>>2]|0,m=h=0;;){k=a[g+36>>2]|0;l=
-g+40|0;a:do switch((k<<8)+(a[l>>2]|0)|0){case 257:n=0;p=18;break;case 514:n=0;p=19;break;case 771:n=0;p=20;break;case 1028:n=0;p=21;break;case 1285:n=0;p=22;break;case 1542:n=0;p=23;break;case 1799:n=0;p=24;break;case 2313:n=0;p=25;break;case 2570:n=0;p=26;break;case 2827:n=0;p=27;break;case 3084:n=0;p=28;break;case 3341:n=0;p=29;break;case 3598:n=0;p=30;break;case 3855:n=0;p=31;break;case 4112:n=0;p=32;break;case 4104:n=0;p=33;break;case 3591:n=0;p=34;break;case 3078:n=0;p=35;break;case 2565:n=0;
-p=36;break;case 2052:n=0;p=37;break;case 1539:n=0;p=38;break;case 1026:n=0;p=39;break;case 513:n=0;p=40;break;case 2064:n=0;p=41;break;case 1806:n=0;p=42;break;case 1548:n=0;p=43;break;case 1290:n=0;p=44;break;case 1032:n=0;p=45;break;case 774:n=0;p=46;break;case 516:n=0;p=47;break;case 258:n=0;p=48;break;case 2056:switch(q=a[e>>2]|0,q|0){case 0:n=0;p=49;break a;case 1:n=q;p=50;break a;case 2:n=q;p=51;break a;default:q=a[b>>2]|0;a[q+20>>2]=49;R[a[q>>2]&127](b);n=h;p=m;break a}default:q=a[b>>2]|0,
-a[q+20>>2]=7,a[q+24>>2]=k,a[q+28>>2]=a[l>>2],R[a[q>>2]&127](b),n=h,p=m}while(0);a[d+4+(f<<2)>>2]=p;a:do if(0!=(a[g+52>>2]|0)&&(l=d+44+(f<<2)|0,(a[l>>2]|0)!=(n|0))&&(k=a[g+80>>2]|0,0!=(k|0)))switch(a[l>>2]=n,n|0){case 0:l=a[g+84>>2]|0;q=0;do a[l+(q<<2)>>2]=N[k+(q<<1)>>1],q=q+1|0;while(64!=(q|0));break;case 1:q=a[g+84>>2]|0;l=0;do h=(E(w[128808+(l<<1)>>1]|0,N[k+(l<<1)>>1]|0)|0)+2048>>12,a[q+(l<<2)>>2]=h,l=l+1|0;while(64!=(l|0));break;case 2:l=a[g+84>>2]|0;for(h=q=0;m=+Hb[8+(h<<3)>>3],W[l+(q<<2)>>2]=
-+(N[k+(q<<1)>>1]|0)*m*.125,y=q|1,W[l+(y<<2)>>2]=+(N[k+(y<<1)>>1]|0)*m*.173379980625,B=y+1|0,W[l+(B<<2)>>2]=+(N[k+(B<<1)>>1]|0)*m*.163320370625,B=q|3,W[l+(B<<2)>>2]=+(N[k+(B<<1)>>1]|0)*m*.14698445025,y=B+1|0,W[l+(y<<2)>>2]=+(N[k+(y<<1)>>1]|0)*m*.125,y=B+2|0,W[l+(y<<2)>>2]=+(N[k+(y<<1)>>1]|0)*m*.09821186975,y=B+3|0,W[l+(y<<2)>>2]=+(N[k+(y<<1)>>1]|0)*m*.0676495125,y=q|7,W[l+(y<<2)>>2]=+(N[k+(y<<1)>>1]|0)*m*.034487422375,h=h+1|0,8!=(h|0);)q=q+8|0;break;default:q=a[b>>2]|0;a[q+20>>2]=49;R[a[q>>2]&127](b);
-break a}while(0);f=f+1|0;if((f|0)>=(a[c>>2]|0))break;else g=g+88|0,h=n,m=p}},function(b){b|=0;var d,c,e,f,g,h=0,m,k,l,n,p,q,y;d=a[b+468>>2]|0;c=b+412|0;e=a[c>>2]|0;f=0==(e|0);if(a[b+224>>2]|0){m=b+416|0;n=a[m>>2]|0;h=f?n?11:7:(n|0)>=(e|0)&&(n|0)<=(a[b+436>>2]|0)&&1==(a[b+340>>2]|0)?7:11;do if(7==(h|0)){if(n=a[b+420>>2]|0)if(f=n+-1|0,(f|0)==(a[b+424>>2]|0))y=f;else{h=11;break}else y=a[b+424>>2]|0;13<(y|0)&&(h=11)}while(0);11==(h|0)&&(h=a[b>>2]|0,a[h+20>>2]=17,a[h+24>>2]=e,a[h+28>>2]=a[m>>2],a[h+32>>
-2]=a[b+420>>2],a[h+36>>2]=a[b+424>>2],R[a[h>>2]&127](b));h=b+340|0;e=a[h>>2]|0;if(0<(e|0)){y=b+160|0;f=b+420|0;n=b+424|0;g=0;do{e=a[(a[b+344+(g<<2)>>2]|0)+4>>2]|0;l=a[y>>2]|0;(p=a[c>>2]|0)?0>(a[l+(e<<8)>>2]|0)&&(k=a[b>>2]|0,a[k+20>>2]=118,a[k+24>>2]=e,a[k+28>>2]=0,ub[a[k+4>>2]&31](b,-1),p=a[c>>2]|0):p=0;if((p|0)<=(a[m>>2]|0))for(;;)if(k=l+(e<<8)+(p<<2)|0,q=a[k>>2]|0,(a[f>>2]|0)!=((0>(q|0)?0:q)|0)&&(q=a[b>>2]|0,a[q+20>>2]=118,a[q+24>>2]=e,a[q+28>>2]=p,ub[a[q+4>>2]&31](b,-1)),a[k>>2]=a[n>>2],(p|0)<
-(a[m>>2]|0))p=p+1|0;else break;g=g+1|0;p=a[h>>2]|0}while((g|0)<(p|0));y=f;g=p}else y=b+420|0,g=e;e=a[c>>2]|0;f=0==(e|0);a[(d+4|0)>>2]=a[y>>2]|0?f?66:67:f?64:65;a:do if(0<(g|0))for(g=d+64|0,f=e,m=0;;){n=a[b+344+(m<<2)>>2]|0;f?(p=a[n+24>>2]|0,n=d+48+(p<<2)|0,Fi(b,0,p,n),a[g>>2]=a[n>>2]):a[y>>2]|0||(p=a[n+20>>2]|0,Fi(b,1,p,d+48+(p<<2)|0));a[d+24+(m<<2)>>2]=0;n=m+1|0;if((n|0)>=(a[h>>2]|0))break a;f=a[c>>2]|0;m=n}while(0);a[d+20>>2]=0}else{f&&0==(a[b+420>>2]|0)&&0==(a[b+424>>2]|0)?(g=a[b+416>>2]|0,0!=
-(a[b+220>>2]|0)|64>(g|0)&&(g|0)!=(a[b+436>>2]|0)&&(h=44)):h=44;44==(h|0)&&(g=a[b>>2]|0,a[g+20>>2]=125,ub[a[g+4>>2]&31](b,-1));g=b+436|0;a[d+4>>2]=63==(a[g>>2]|0)?68:69;m=b+340|0;if(0<(a[m>>2]|0)){e=0;do k=a[b+344+(e<<2)>>2]|0,l=a[k+20>>2]|0,Fi(b,1,l,d+68+(l<<2)|0),a[g>>2]|0&&(l=a[k+24>>2]|0,Fi(b,0,l,d+84+(l<<2)|0)),a[d+24+(e<<2)>>2]=0,e=e+1|0;while((e|0)<(a[m>>2]|0))}m=b+368|0;if(0<(a[m>>2]|0)){n=0;do{e=a[b+344+(a[b+372+(n<<2)>>2]<<2)>>2]|0;a[d+100+(n<<2)>>2]=a[d+68+(a[e+20>>2]<<2)>>2];a[d+140+(n<<
-2)>>2]=a[d+84+(a[e+24>>2]<<2)>>2];a:do if(a[e+52>>2]|0)switch(l=a[e+40>>2]|0,k=a[e+36>>2]|0,a[g>>2]|0){case 0:a[d+180+(n<<2)>>2]=1;break a;case 3:p=l+-1|0;q=k+-1|0;a[d+180+(n<<2)>>2]=(a[121260+((1<p>>>0?1:p)<<3)+((1<q>>>0?1:q)<<2)>>2]|0)+1;break a;case 8:q=l+-1|0;p=k+-1|0;a[d+180+(n<<2)>>2]=(a[121276+(12*(2<q>>>0?2:q)|0)+((2<p>>>0?2:p)<<2)>>2]|0)+1;break a;case 15:p=l+-1|0;q=k+-1|0;a[d+180+(n<<2)>>2]=(a[121312+((3<p>>>0?3:p)<<4)+((3<q>>>0?3:q)<<2)>>2]|0)+1;break a;case 24:q=l+-1|0;p=k+-1|0;a[d+180+
-(n<<2)>>2]=(a[121376+(20*(4<q>>>0?4:q)|0)+((4<p>>>0?4:p)<<2)>>2]|0)+1;break a;case 35:p=l+-1|0;q=k+-1|0;a[d+180+(n<<2)>>2]=(a[121476+(24*(5<p>>>0?5:p)|0)+((5<q>>>0?5:q)<<2)>>2]|0)+1;break a;case 48:q=l+-1|0;p=k+-1|0;a[d+180+(n<<2)>>2]=(a[121620+(28*(6<q>>>0?6:q)|0)+((6<p>>>0?6:p)<<2)>>2]|0)+1;break a;default:p=l+-1|0;l=k+-1|0;a[d+180+(n<<2)>>2]=(a[121816+((7<p>>>0?7:p)<<5)+((7<l>>>0?7:l)<<2)>>2]|0)+1;break a}else a[d+180+(n<<2)>>2]=0;while(0);n=n+1|0}while((n|0)<(a[m>>2]|0))}}a[(d+16|0)>>2]=0;a[(d+
-12|0)>>2]=0;a[(d+40|0)>>2]=0;a[(d+44|0)>>2]=a[(b+280|0)>>2]|0},function(b){b|=0;var d;d=(a[b+468>>2]|0)+16|0;b=(a[b+464>>2]|0)+24|0;a[b>>2]=(a[b>>2]|0)+((a[d>>2]|0)/8|0);a[d>>2]=0},function(a){},fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc,fc],ub=[We,function(b,d){b|=0;d|=0;var c,e,f;0>=(d|0)||(c=b+800|0,e=c+4|0,f=a[e>>2]|0,f>>>0<d>>>0?(f=a[b>>2]|0,a[f+20>>2]=123,ub[a[f+4>>2]&31](b,
--1),a[c>>2]=145943,a[e>>2]=2):(a[c>>2]=(a[c>>2]|0)+d,a[e>>2]=f-d))},function(b,d){b|=0;d|=0;var c,e;c=a[b+20>>2]|0;100!=(c|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=c,R[a[e>>2]&127](b));a[b+80>>2]=d;e=b+244|0;a[e>>2]=0;c=b+256|0;a[c>>2]=0;switch(d|0){case 0:d=a[b+36>>2]|0;e=b+76|0;a[e>>2]=d;9<(d+-1|0)>>>0?(c=a[b>>2]|0,a[c+20>>2]=27,a[c+24>>2]=d,a[c+28>>2]=10,R[a[c>>2]&127](b),c=a[e>>2]|0):c=d;if(0>=(c|0))break;d=a[b+84>>2]|0;e=0;do a[d+(88*e|0)>>2]=e,a[d+(88*e|0)+8>>2]=1,a[d+(88*e|0)+12>>2]=1,a[d+
-(88*e|0)+16>>2]=0,a[d+(88*e|0)+20>>2]=0,a[d+(88*e|0)+24>>2]=0,e=e+1|0;while((e|0)<(c|0));break;case 1:a[e>>2]=1;a[b+76>>2]=1;c=a[b+84>>2]|0;a[c>>2]=1;a[c+8>>2]=1;a[c+12>>2]=1;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=0;break;case 2:a[c>>2]=1;a[b+76>>2]=3;c=a[b+84>>2]|0;a[c>>2]=82;a[c+8>>2]=1;a[c+12>>2]=1;a[c+16>>2]=0;e=1==(a[b+260>>2]|0)&1;a[c+20>>2]=e;a[c+24>>2]=e;a[c+88>>2]=71;a[c+96>>2]=1;a[c+100>>2]=1;a[c+104>>2]=0;a[c+108>>2]=0;a[c+112>>2]=0;a[c+176>>2]=66;a[c+184>>2]=1;a[c+188>>2]=1;a[c+192>>2]=
-0;a[c+196>>2]=e;a[c+200>>2]=e;break;case 3:a[e>>2]=1;a[b+76>>2]=3;e=a[b+84>>2]|0;a[e>>2]=1;a[e+8>>2]=2;a[e+12>>2]=2;a[e+16>>2]=0;a[e+20>>2]=0;a[e+24>>2]=0;a[e+88>>2]=2;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=1;a[e+108>>2]=1;a[e+112>>2]=1;a[e+176>>2]=3;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=1;a[e+196>>2]=1;a[e+200>>2]=1;break;case 4:a[c>>2]=1;a[b+76>>2]=4;e=a[b+84>>2]|0;a[e>>2]=67;a[e+8>>2]=1;a[e+12>>2]=1;a[e+16>>2]=0;a[e+20>>2]=0;a[e+24>>2]=0;a[e+88>>2]=77;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=0;
-a[e+108>>2]=0;a[e+112>>2]=0;a[e+176>>2]=89;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=0;a[e+196>>2]=0;a[e+200>>2]=0;a[e+264>>2]=75;a[e+272>>2]=1;a[e+276>>2]=1;a[e+280>>2]=0;a[e+284>>2]=0;a[e+288>>2]=0;break;case 5:a[c>>2]=1;a[b+76>>2]=4;c=a[b+84>>2]|0;a[c>>2]=1;a[c+8>>2]=2;a[c+12>>2]=2;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=0;a[c+88>>2]=2;a[c+96>>2]=1;a[c+100>>2]=1;a[c+104>>2]=1;a[c+108>>2]=1;a[c+112>>2]=1;a[c+176>>2]=3;a[c+184>>2]=1;a[c+188>>2]=1;a[c+192>>2]=1;a[c+196>>2]=1;a[c+200>>2]=1;a[c+264>>2]=
-4;a[c+272>>2]=2;a[c+276>>2]=2;a[c+280>>2]=0;a[c+284>>2]=0;a[c+288>>2]=0;break;case 6:a[e>>2]=1;t[b+248>>0]=2;a[b+76>>2]=3;c=a[b+84>>2]|0;a[c>>2]=114;a[c+8>>2]=1;a[c+12>>2]=1;a[c+16>>2]=0;e=1==(a[b+260>>2]|0)&1;a[c+20>>2]=e;a[c+24>>2]=e;a[c+88>>2]=103;a[c+96>>2]=1;a[c+100>>2]=1;a[c+104>>2]=0;a[c+108>>2]=0;a[c+112>>2]=0;a[c+176>>2]=98;a[c+184>>2]=1;a[c+188>>2]=1;a[c+192>>2]=0;a[c+196>>2]=e;a[c+200>>2]=e;break;case 7:a[e>>2]=1;t[b+248>>0]=2;a[b+76>>2]=3;e=a[b+84>>2]|0;a[e>>2]=1;a[e+8>>2]=2;a[e+12>>2]=
-2;a[e+16>>2]=0;a[e+20>>2]=0;a[e+24>>2]=0;a[e+88>>2]=34;a[e+96>>2]=1;a[e+100>>2]=1;a[e+104>>2]=1;a[e+108>>2]=1;a[e+112>>2]=1;a[e+176>>2]=35;a[e+184>>2]=1;a[e+188>>2]=1;a[e+192>>2]=1;a[e+196>>2]=1;a[e+200>>2]=1;break;default:e=a[b>>2]|0,a[e+20>>2]=11,R[a[e>>2]&127](b)}},function(b,d){b|=0;d|=0;var c,e,f;c=b+20|0;e=a[c>>2]|0;100!=(e|0)&&(f=a[b>>2]|0,a[f+20>>2]=21,a[f+24>>2]=e,R[a[f>>2]&127](b));d&&lg(b,0);R[a[(a[b>>2]|0)+16>>2]&127](b);R[a[(a[b+24>>2]|0)+8>>2]&127](b);var g=b,g=g|0,h,m;h=a[g+72>>2]|
-0;8!=(h|0)&&(m=a[g>>2]|0,a[m+20>>2]=16,a[m+24>>2]=h,R[a[m>>2]&127](g));0!=(a[g+32>>2]|0)&&0!=(a[g+28>>2]|0)&&1<=(a[g+36>>2]|0)||(m=a[g>>2]|0,a[m+20>>2]=33,R[a[m>>2]&127](g));var k=g,l=0,k=k|0,l=l|0,n,p,q,y,B,H,r,z,Q,C,x,w,v,J,I,G,L,K,A,D=0,O,M,T,X,P,Oa,N,F,ba,S,Y,W,ga,Ha,ma,U,ha,da,aa,ca,Z,fa,ja;n=u;u=u+2608|0;p=n+2560|0;q=n;y=Aa[a[a[k+4>>2]>>2]&63](k,1,36)|0;a[k+392>>2]=y;a[y>>2]=35;a[y+4>>2]=36;a[y+8>>2]=37;a[y+16>>2]=0;if(B=0==(l|0)){var oa=k,oa=oa|0,sa,pa,ua,Ia,Da,na;sa=oa+28|0;16777215>=(a[sa>>
-2]|0)>>>0&&16777215>=(a[oa+32>>2]|0)>>>0||(pa=a[oa>>2]|0,a[pa+20>>2]=42,a[pa+24>>2]=65500,R[a[pa>>2]&127](oa));pa=a[oa+56>>2]|0;ua=oa+380|0;Ia=a[ua>>2]|0;Da=E(Ia,a[oa+60>>2]|0)|0;pa>>>0>=Da>>>0?(na=E(a[sa>>2]|0,Ia)|0,a[oa+64>>2]=na,na=E(Ia,a[oa+32>>2]|0)|0,a[oa+68>>2]=na,a[oa+280>>2]=1,a[oa+284>>2]=1):pa<<1>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,2)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,2)|0,a[oa+68>>2]=na,a[oa+280>>2]=2,a[oa+284>>2]=2):(3*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,
-3)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,3)|0,a[oa+68>>2]=na,a[oa+280>>2]=3,a[oa+284>>2]=3):pa<<2>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,4)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,4)|0,a[oa+68>>2]=na,a[oa+280>>2]=4,a[oa+284>>2]=4):(5*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,5)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,5)|0,a[oa+68>>2]=na,a[oa+280>>2]=5,a[oa+284>>2]=5):(6*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,6)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+
-32>>2]|0)|0,6)|0,a[oa+68>>2]=na,a[oa+280>>2]=6,a[oa+284>>2]=6):(7*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,7)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,7)|0,a[oa+68>>2]=na,a[oa+280>>2]=7,a[oa+284>>2]=7):pa<<3>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,8)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,8)|0,a[oa+68>>2]=na,a[oa+280>>2]=8,a[oa+284>>2]=8):(9*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,9)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,9)|0,a[oa+68>>2]=na,a[oa+280>>
-2]=9,a[oa+284>>2]=9):(10*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,10)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,10)|0,a[oa+68>>2]=na,a[oa+280>>2]=10,a[oa+284>>2]=10):(11*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,11)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,11)|0,a[oa+68>>2]=na,a[oa+280>>2]=11,a[oa+284>>2]=11):(12*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,12)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,12)|0,a[oa+68>>2]=na,a[oa+280>>2]=12,a[oa+284>>2]=12):(13*
-pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,13)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,13)|0,a[oa+68>>2]=na,a[oa+280>>2]=13,a[oa+284>>2]=13):(14*pa|0)>>>0>=Da>>>0?(na=Gb(E(a[sa>>2]|0,Ia)|0,14)|0,a[oa+64>>2]=na,na=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,14)|0,a[oa+68>>2]=na,a[oa+280>>2]=14,a[oa+284>>2]=14):(na=E(a[sa>>2]|0,Ia)|0,(15*pa|0)>>>0<Da>>>0?(Da=Gb(na,16)|0,a[oa+64>>2]=Da,Da=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,16)|0,a[oa+68>>2]=Da,a[oa+280>>2]=16,a[oa+284>>2]=16):(Da=Gb(na,15)|0,a[oa+64>>
-2]=Da,Da=Gb(E(a[ua>>2]|0,a[oa+32>>2]|0)|0,15)|0,a[oa+68>>2]=Da,a[oa+280>>2]=15,a[oa+284>>2]=15));H=l=k+380|0;r=a[l>>2]|0}else l=k+280|0,z=a[l>>2]|0,Q=k+284|0,(z|0)==(a[Q>>2]|0)?C=z:(x=a[k>>2]|0,a[x+20>>2]=7,a[x+24>>2]=z,a[x+28>>2]=a[Q>>2],R[a[x>>2]&127](k),C=a[l>>2]|0),l=k+380|0,a[l>>2]=C,H=l,r=C;15<(r+-1|0)>>>0?(C=a[k>>2]|0,a[C+20>>2]=7,a[C+24>>2]=r,a[C+28>>2]=a[H>>2],R[a[C>>2]&127](k),w=a[H>>2]|0):w=r;switch(w|0){case 2:a[k+384>>2]=121164;break;case 3:a[k+384>>2]=121064;break;case 4:a[k+384>>2]=
-120936;break;case 5:a[k+384>>2]=120772;break;case 6:a[k+384>>2]=120564;break;case 7:a[k+384>>2]=120304;break;default:a[k+384>>2]=119984}w=a[H>>2]|0;r=(E(w,w)|0)+-1|0;C=k+388|0;a[C>>2]=8>(w|0)?r:63;r=k+68|0;w=a[r>>2]|0;0!=(w|0)&&0!=(a[k+64>>2]|0)&&1<=(a[k+76>>2]|0)?v=w:(w=a[k>>2]|0,a[w+20>>2]=33,R[a[w>>2]&127](k),v=a[r>>2]|0);65500>=(v|0)&&65500>=(a[k+64>>2]|0)||(v=a[k>>2]|0,a[v+20>>2]=42,a[v+24>>2]=65500,R[a[v>>2]&127](k));v=a[k+72>>2]|0;4<(v+-8|0)>>>0&&(w=a[k>>2]|0,a[w+20>>2]=16,a[w+24>>2]=v,R[a[w>>
-2]&127](k));w=k+76|0;v=a[w>>2]|0;10<(v|0)?(l=a[k>>2]|0,a[l+20>>2]=27,a[l+24>>2]=v,a[l+28>>2]=10,R[a[l>>2]&127](k),J=a[w>>2]|0):J=v;v=k+272|0;a[v>>2]=1;l=k+276|0;a[l>>2]=1;x=k+84|0;if(0<(J|0)){Q=J;z=J=1;I=0;for(G=a[x>>2]|0;;)if(L=G+8|0,K=a[L>>2]|0,A=G+12|0,3>=(K+-1|0)>>>0&&(D=a[A>>2]|0,3>=(D+-1|0)>>>0)?(O=Q,M=z,T=K,X=J,P=D):(D=a[k>>2]|0,a[D+20>>2]=19,R[a[D>>2]&127](k),O=a[w>>2]|0,M=a[v>>2]|0,T=a[L>>2]|0,X=a[l>>2]|0,P=a[A>>2]|0),z=(M|0)>(T|0)?M:T,a[v>>2]=z,A=(X|0)>(P|0)?X:P,a[l>>2]=A,I=I+1|0,(I|0)>=
-(O|0)){Oa=O;N=A;break}else Q=O,J=A,G=G+88|0;if(0<(Oa|0)){Oa=k+280|0;G=k+224|0;J=k+284|0;O=k+64|0;Q=0;for(I=a[x>>2]|0;;){a[I+4>>2]=Q;x=a[Oa>>2]|0;P=0!=(a[G>>2]|0)?8:4;a:do if((x|0)>(P|0))F=1;else for(X=a[v>>2]|0,z=a[I+8>>2]|0,T=1;;){M=T<<1;if((X|0)%(E(M,z)|0)|0){F=T;break a}if((E(M,x)|0)>(P|0)){F=M;break}else T=M}while(0);T=E(F,x)|0;z=I+36|0;a[z>>2]=T;X=a[J>>2]|0;a:do if((X|0)>(P|0))ba=1;else for(M=a[l>>2]|0,A=a[I+12>>2]|0,L=1;;){D=L<<1;if((M|0)%(E(D,A)|0)|0){ba=L;break a}if((E(D,X)|0)>(P|0)){ba=D;
-break}else L=D}while(0);P=E(ba,X)|0;x=I+40|0;a[x>>2]=P;L=P<<1;(T|0)<=(L|0)?(A=T<<1,(P|0)>(A|0)&&(a[x>>2]=A)):a[z>>2]=L;L=I+8|0;A=E(a[L>>2]|0,a[O>>2]|0)|0;P=Gb(A,E(a[H>>2]|0,a[v>>2]|0)|0)|0;a[I+28>>2]=P;P=I+12|0;A=E(a[P>>2]|0,a[r>>2]|0)|0;M=Gb(A,E(a[H>>2]|0,a[l>>2]|0)|0)|0;a[I+32>>2]=M;M=E(E(a[L>>2]|0,a[O>>2]|0)|0,a[z>>2]|0)|0;L=Gb(M,E(a[H>>2]|0,a[v>>2]|0)|0)|0;a[I+44>>2]=L;L=E(E(a[P>>2]|0,a[r>>2]|0)|0,a[x>>2]|0)|0;x=Gb(L,E(a[H>>2]|0,a[l>>2]|0)|0)|0;a[I+48>>2]=x;a[I+52>>2]=0;Q=Q+1|0;if((Q|0)>=(a[w>>
-2]|0))break;else I=I+88|0}S=a[l>>2]|0}else S=N}else S=1;N=Gb(a[r>>2]|0,E(a[H>>2]|0,S)|0)|0;a[k+288>>2]=N;N=k+204|0;if(S=a[N>>2]|0){H=k+200|0;1>(a[H>>2]|0)?(r=a[k>>2]|0,a[r+20>>2]=20,a[r+24>>2]=0,R[a[r>>2]&127](k),Y=a[N>>2]|0):Y=S;0==(a[Y+20>>2]|0)&&63==(a[Y+24>>2]|0)?(a[k+268>>2]=0,S=a[w>>2]|0,0<(S|0)&&Va(p|0,0,(1<(S|0)?S<<2:4)|0)|0,W=S,ga=0):(a[k+268>>2]=1,S=a[w>>2]|0,0<(S|0)&&Va(q|0,-1,S<<8|0)|0,W=S,ga=1);if(1>(a[H>>2]|0))Ha=ga,ma=W;else{W=k+268|0;ga=1;for(S=Y;;){Y=a[S>>2]|0;3<(Y+-1|0)>>>0&&(r=
-a[k>>2]|0,a[r+20>>2]=27,a[r+24>>2]=Y,a[r+28>>2]=4,R[a[r>>2]&127](k));if(r=0<(Y|0)){l=0;do I=a[S+4+(l<<2)>>2]|0,0<=(I|0)&&(I|0)<(a[w>>2]|0)||(Q=a[k>>2]|0,a[Q+20>>2]=20,a[Q+24>>2]=ga,R[a[Q>>2]&127](k)),0<(l|0)&&!((I|0)>(a[S+4+(l+-1<<2)>>2]|0))&&(Q=a[k>>2]|0,a[Q+20>>2]=20,a[Q+24>>2]=ga,R[a[Q>>2]&127](k)),l=l+1|0;while((l|0)!=(Y|0))}l=a[S+20>>2]|0;z=a[S+24>>2]|0;T=a[S+28>>2]|0;X=a[S+32>>2]|0;do if(a[W>>2]|0){if(!(63>=l>>>0)||10<X>>>0|10<T>>>0|(z|0)<(l|0)|63<(z|0))I=a[k>>2]|0,a[I+20>>2]=18,a[I+24>>2]=
-ga,R[a[I>>2]&127](k);(I=0==(l|0))?z&&(Q=a[k>>2]|0,a[Q+20>>2]=18,a[Q+24>>2]=ga,R[a[Q>>2]&127](k)):1!=(Y|0)&&(Q=a[k>>2]|0,a[Q+20>>2]=18,a[Q+24>>2]=ga,R[a[Q>>2]&127](k));if(r){Q=0==(T|0);v=(X|0)==(T+-1|0);O=0;do{ba=a[S+4+(O<<2)>>2]|0;I?U=0:(0<=(a[q+(ba<<8)>>2]|0)||(J=a[k>>2]|0,a[J+20>>2]=18,a[J+24>>2]=ga,R[a[J>>2]&127](k)),U=l);a:do if((U|0)<=(z|0)){if(!v){if(Q)ha=U;else for(J=U;;)if(F=a[k>>2]|0,a[F+20>>2]=18,a[F+24>>2]=ga,R[a[F>>2]&127](k),a[q+(ba<<8)+(J<<2)>>2]=X,(J|0)<(z|0))J=J+1|0;else break a;for(;;)if(J=
-q+(ba<<8)+(ha<<2)|0,0<=(a[J>>2]|0)&&(F=a[k>>2]|0,a[F+20>>2]=18,a[F+24>>2]=ga,R[a[F>>2]&127](k)),a[J>>2]=X,(ha|0)<(z|0))ha=ha+1|0;else break a}if(Q)for(J=U;;)if(F=q+(ba<<8)+(J<<2)|0,1<=(a[F>>2]|0)&&(G=a[k>>2]|0,a[G+20>>2]=18,a[G+24>>2]=ga,R[a[G>>2]&127](k)),a[F>>2]=X,(J|0)<(z|0))J=J+1|0;else break a;else da=U;for(;;)if(J=q+(ba<<8)+(da<<2)|0,F=a[J>>2]|0,0>(F|0)?(G=a[k>>2]|0,a[G+20>>2]=18,a[G+24>>2]=ga,R[a[G>>2]&127](k)):(T|0)!=(F|0)&&(G=a[k>>2]|0,a[G+20>>2]=18,a[G+24>>2]=ga,R[a[G>>2]&127](k)),a[J>>
-2]=X,(da|0)<(z|0))da=da+1|0;else break}while(0);O=O+1|0}while((O|0)!=(Y|0))}}else if(63!=(z|0)|0!=(T|l|X|0)&&(I=a[k>>2]|0,a[I+20>>2]=18,a[I+24>>2]=ga,R[a[I>>2]&127](k)),r){I=0;do Q=p+(a[S+4+(I<<2)>>2]<<2)|0,a[Q>>2]|0&&(v=a[k>>2]|0,a[v+20>>2]=20,a[v+24>>2]=ga,R[a[v>>2]&127](k)),a[Q>>2]=1,I=I+1|0;while((I|0)!=(Y|0))}while(0);if((ga|0)<(a[H>>2]|0))ga=ga+1|0,S=S+36|0;else break}Ha=a[W>>2]|0;ma=a[w>>2]|0}W=0<(ma|0);if(!Ha){if(W)for(Ha=ma,S=0;!(a[p+(S<<2)>>2]|0?aa=Ha:(ga=a[k>>2]|0,a[ga+20>>2]=46,R[a[ga>>
-2]&127](k),aa=a[w>>2]|0),S=S+1|0,(S|0)>=(aa|0));)Ha=aa}else if(W)for(W=ma,ma=0;!(0>(a[q+(ma<<8)>>2]|0)?(aa=a[k>>2]|0,a[aa+20>>2]=46,R[a[aa>>2]&127](k),ca=a[w>>2]|0):ca=W,ma=ma+1|0,(ma|0)>=(ca|0));)W=ca;if(8>(a[k+380>>2]|0)){ca=a[N>>2]|0;if(0<(a[H>>2]|0))for(W=N=0;;){if((N|0)!=(W|0)){ma=ca+(36*W|0)|0;w=ca+(36*N|0)|0;q=ma+36|0;do a[ma>>2]=a[w>>2],ma=ma+4|0,w=w+4|0;while((ma|0)<(q|0))}w=a[C>>2]|0;(a[ca+(36*W|0)+20>>2]|0)>(w|0)?Z=W:(ma=ca+(36*W|0)+24|0,(a[ma>>2]|0)>(w|0)&&(a[ma>>2]=w),Z=W+1|0);N=N+1|
-0;if((N|0)>=(a[H>>2]|0)){fa=Z;break}else W=Z}else fa=0;a[H>>2]=fa}}else a[k+268>>2]=0,a[k+200>>2]=1;fa=k+216|0;H=a[fa>>2]|0;Z=k+212|0;H?(a[Z>>2]=0,ja=H):ja=a[Z>>2]|0?0:0==(a[k+268>>2]|0)&&6<=((a[k+380>>2]|0)+-2|0)>>>0?0:a[fa>>2]=1;B?a[y+20>>2]=0:(H=y+20|0,a[H>>2]=ja?1:2);a[y+32>>2]=0;a[y+24>>2]=0;B=a[k+200>>2]|0;a[y+28>>2]=ja?B<<1:B;u=n;if(!(a[g+208>>2]|0)){oi(g);var Na=g,Na=Na|0,ya,Ca,Ga,Ea,La,ra,Ka,Qa,Wa,xb,Zb,eb,jb,mc,ab,Ta,Ya,Sa,mb,Db,cc;ya=Aa[a[a[Na+4>>2]>>2]&63](Na,1,112)|0;a[Na+416>>2]=ya;
-a[ya>>2]=38;a[ya+4>>2]=1;Ca=ya+8|0;a[Ca>>2]=0;a[Na+220>>2]|0&&(Ga=a[Na>>2]|0,a[Ga+20>>2]=26,R[a[Ga>>2]&127](Na));Ga=Na+76|0;if(!(0>=(a[Ga>>2]|0))){Ea=Na+280|0;La=Na+284|0;ra=Na+272|0;Ka=Na+276|0;Qa=ya+52|0;Wa=Na+228|0;xb=ya+12|0;Zb=0;eb=a[Na+84>>2]|0;for(jb=1;;)if(mc=E(a[eb+36>>2]|0,a[eb+8>>2]|0)|0,ab=(mc|0)/(a[Ea>>2]|0)|0,mc=E(a[eb+40>>2]|0,a[eb+12>>2]|0)|0,Ta=(mc|0)/(a[La>>2]|0)|0,mc=a[ra>>2]|0,Ya=a[Ka>>2]|0,a[Qa+(Zb<<2)>>2]=Ta,Sa=(Ya|0)==(Ta|0),(mc|0)==(ab|0)&Sa?(mb=xb+(Zb<<2)|0,a[Wa>>2]|0?(a[mb>>
-2]=5,a[Ca>>2]=1):a[mb>>2]=6,Db=jb):(mb=(mc|0)==(ab<<1|0),mb&Sa?(a[xb+(Zb<<2)>>2]=7,Db=0):mb&(Ya|0)==(Ta<<1|0)?(mb=xb+(Zb<<2)|0,a[Wa>>2]|0?(a[mb>>2]=8,a[Ca>>2]=1):a[mb>>2]=9,Db=jb):0==((mc|0)%(ab|0)|0)&&0==((Ya|0)%(Ta|0)|0)?(a[xb+(Zb<<2)>>2]=10,t[ya+(Zb+92)>>0]=(mc|0)/(ab|0)|0,t[ya+(Zb+102)>>0]=(Ya|0)/(Ta|0)|0,Db=0):(mb=a[Na>>2]|0,a[mb+20>>2]=39,R[a[mb>>2]&127](Na),Db=jb)),Zb=Zb+1|0,(Zb|0)>=(a[Ga>>2]|0)){cc=Db;break}else eb=eb+88|0,jb=Db;0!=(cc|0)|0==(a[Wa>>2]|0)||(Wa=a[Na>>2]|0,a[Wa+20>>2]=101,ub[a[Wa+
-4>>2]&31](Na,0))}var Za=g,ia=0,Za=Za|0,qa,Ja,ea,wa,Ma,xa,$a,la,Ba,va,za,ta,nb,sc,gb,hb,ob,Bb;ia|0&&(ia=a[Za>>2]|0,a[ia+20>>2]=3,R[a[ia>>2]&127](Za));qa=Za;ia=Za+4|0;Ja=Aa[a[a[ia>>2]>>2]&63](qa,1,64)|0;a[Za+400>>2]=Ja;a[Ja>>2]=9;ea=Ja+4|0;if(a[(a[Za+416>>2]|0)+8>>2]|0){if(a[ea>>2]=1,ea=a[Za+276>>2]|0,va=Za+76|0,wa=E(20*ea|0,a[va>>2]|0)|0,Ba=Aa[a[a[ia>>2]>>2]&63](qa,1,wa)|0,wa=a[Za+84>>2]|0,!(0>=(a[va>>2]|0)))if(la=Za+280|0,$a=Za+272|0,Za=3*ea|0,xa=12*ea|0,Ma=5*ea|0,za=ea<<1,ta=ea<<2,0<(ea|0))for(nb=
-0,sc=wa,gb=Ba;;){wa=E(a[la>>2]|0,a[sc+28>>2]|0)|0;ob=E(wa,a[$a>>2]|0)|0;wa=rb[a[(a[ia>>2]|0)+8>>2]&63](qa,1,(ob|0)/(a[sc+8>>2]|0)|0,Za)|0;ob=gb+(ea<<2)|0;Ec(ob|0,wa|0,xa|0)|0;hb=0;do a[gb+(hb<<2)>>2]=a[wa+(hb+za<<2)>>2],a[gb+(hb+ta<<2)>>2]=a[wa+(hb<<2)>>2],hb=hb+1|0;while((hb|0)!=(ea|0));a[Ja+8+(nb<<2)>>2]=ob;nb=nb+1|0;if((nb|0)>=(a[va>>2]|0))break;else sc=sc+88|0,gb=gb+(Ma<<2)|0}else for(hb=0,ob=wa,wa=Ba;!(Ba=E(a[la>>2]|0,a[ob+28>>2]|0)|0,Bb=E(Ba,a[$a>>2]|0)|0,Ba=wa+(ea<<2)|0,Ec(Ba|0,rb[a[(a[ia>>
-2]|0)+8>>2]&63](qa,1,(Bb|0)/(a[ob+8>>2]|0)|0,Za)|0,xa|0)|0,a[Ja+8+(hb<<2)>>2]=Ba,hb=hb+1|0,(hb|0)>=(a[va>>2]|0));)ob=ob+88|0,wa=wa+(Ma<<2)|0}else if(a[ea>>2]=2,wa=Za+76|0,!(0>=(a[wa>>2]|0)))for(Ma=Za+280|0,xa=Za+272|0,$a=Za+276|0,la=Ja+8|0,Ba=0,va=a[Za+84>>2]|0;!(za=E(a[Ma>>2]|0,a[va+28>>2]|0)|0,ta=E(za,a[xa>>2]|0)|0,za=rb[a[(a[ia>>2]|0)+8>>2]&63](qa,1,(ta|0)/(a[va+8>>2]|0)|0,a[$a>>2]|0)|0,a[la+(Ba<<2)>>2]=za,Ba=Ba+1|0,(Ba|0)>=(a[wa>>2]|0));)va=va+88|0}var qb=g,qb=qb|0,kb,ib,Cb,Ab,sb;kb=qb+4|0;ib=
-Aa[a[a[kb>>2]>>2]&63](qb,1,124)|0;a[qb+420>>2]=ib;a[ib>>2]=60;ib=qb+76|0;if(!(0>=(a[ib>>2]|0)))for(Cb=0,Ab=a[qb+84>>2]|0;!(sb=Aa[a[a[kb>>2]>>2]&63](qb,1,256)|0,a[Ab+84>>2]=sb,Cb=Cb+1|0,(Cb|0)>=(a[ib>>2]|0));)Ab=Ab+88|0;if(a[g+212>>2]|0){var Xa=g,Xa=Xa|0,Fa;Fa=Aa[a[a[Xa+4>>2]>>2]&63](Xa,1,208)|0;a[Xa+424>>2]=Fa;a[Fa>>2]=16;a[Fa+8>>2]=57;a[Fa+76>>2]=0;a[Fa+140>>2]=0;a[Fa+80>>2]=0;a[Fa+144>>2]=0;a[Fa+84>>2]=0;a[Fa+148>>2]=0;a[Fa+88>>2]=0;a[Fa+152>>2]=0;a[Fa+92>>2]=0;a[Fa+156>>2]=0;a[Fa+96>>2]=0;a[Fa+
-160>>2]=0;a[Fa+100>>2]=0;a[Fa+164>>2]=0;a[Fa+104>>2]=0;a[Fa+168>>2]=0;a[Fa+108>>2]=0;a[Fa+172>>2]=0;a[Fa+112>>2]=0;a[Fa+176>>2]=0;a[Fa+116>>2]=0;a[Fa+180>>2]=0;a[Fa+120>>2]=0;a[Fa+184>>2]=0;a[Fa+124>>2]=0;a[Fa+188>>2]=0;a[Fa+128>>2]=0;a[Fa+192>>2]=0;a[Fa+132>>2]=0;a[Fa+196>>2]=0;a[Fa+136>>2]=0;a[Fa+200>>2]=0;t[Fa+204>>0]=113}else{var Pa=g,Pa=Pa|0,Eb;Eb=Aa[a[a[Pa+4>>2]>>2]&63](Pa,1,140)|0;a[Pa+424>>2]=Eb;a[Eb>>2]=18;a[Eb+60>>2]=0;a[Eb+44>>2]=0;a[Eb+92>>2]=0;a[Eb+76>>2]=0;a[Eb+64>>2]=0;a[Eb+48>>2]=
-0;a[Eb+96>>2]=0;a[Eb+80>>2]=0;a[Eb+68>>2]=0;a[Eb+52>>2]=0;a[Eb+100>>2]=0;a[Eb+84>>2]=0;a[Eb+72>>2]=0;a[Eb+56>>2]=0;a[Eb+104>>2]=0;a[Eb+88>>2]=0;a[Pa+268>>2]|0&&(a[Eb+136>>2]=0)}var vb=g,tb=(1<(a[g+200>>2]|0)?1:0!=(a[g+216>>2]|0))&1,vb=vb|0,tb=tb|0,bb,Ib,Mb,pb,Ua,Wb,Jb,fb,yb;bb=vb+4|0;Ib=Aa[a[a[bb>>2]>>2]&63](vb,1,104)|0;a[vb+404>>2]=Ib;a[Ib>>2]=17;if(tb){if(tb=vb+76|0,!(0>=(a[tb>>2]|0)))for(Mb=Ib+64|0,Ib=0,pb=a[vb+84>>2]|0;!(Ua=a[(a[bb>>2]|0)+20>>2]|0,Wb=Ch(a[pb+28>>2]|0,a[pb+8>>2]|0)|0,Jb=pb+12|
-0,fb=Ch(a[pb+32>>2]|0,a[Jb>>2]|0)|0,yb=Hi[Ua&3](vb,1,0,Wb,fb,a[Jb>>2]|0)|0,a[Mb+(Ib<<2)>>2]=yb,Ib=Ib+1|0,(Ib|0)>=(a[tb>>2]|0));)pb=pb+88|0}else tb=Aa[a[(a[bb>>2]|0)+4>>2]&63](vb,1,1280)|0,a[Ib+24>>2]=tb,a[Ib+28>>2]=tb+128,a[Ib+32>>2]=tb+256,a[Ib+36>>2]=tb+384,a[Ib+40>>2]=tb+512,a[Ib+44>>2]=tb+640,a[Ib+48>>2]=tb+768,a[Ib+52>>2]=tb+896,a[Ib+56>>2]=tb+1024,a[Ib+60>>2]=tb+1152,a[Ib+64>>2]=0;var cb=g,gc=0,cb=cb|0,gc=gc|0,Ub,Fb,Hb,Kb,nd,Zd,wb;Ub=cb+4|0;Fb=Aa[a[a[Ub>>2]>>2]&63](cb,1,64)|0;a[cb+396>>2]=Fb;
-a[Fb>>2]=7;if(!(a[cb+208>>2]|0))if(gc)gc=a[cb>>2]|0,a[gc+20>>2]=3,R[a[gc>>2]&127](cb);else if(gc=cb+76|0,!(0>=(a[gc>>2]|0)))for(Hb=Fb+24|0,Fb=0,Kb=a[cb+84>>2]|0;!(nd=E(a[Kb+36>>2]|0,a[Kb+28>>2]|0)|0,Zd=E(a[Kb+40>>2]|0,a[Kb+12>>2]|0)|0,wb=rb[a[(a[Ub>>2]|0)+8>>2]&63](cb,1,nd,Zd)|0,a[Hb+(Fb<<2)>>2]=wb,Fb=Fb+1|0,(Fb|0)>=(a[gc>>2]|0));)Kb=Kb+88|0;Gg(g);R[a[(a[g+4>>2]|0)+24>>2]&127](g);R[a[a[g+408>>2]>>2]&127](g);R[a[a[b+392>>2]>>2]&127](b);a[b+264>>2]=0;a[c>>2]=0!=(a[b+208>>2]|0)?102:101},lg,function(b,
-d){var c;d=u;u=u+16|0;c=a[(b|0)+12>>2]|0;Y(a[c+628>>2]|0,151596,151604,d);Bi(c)},function(a,d){Gc(d|0)},function(b,d){b|=0;d|=0;var c;c=a[b+396>>2]|0;a[b+208>>2]|0||(a[c+8>>2]=0,a[c+12>>2]=0,a[c+16>>2]=0,(a[c+20>>2]=d)?(c=a[b>>2]|0,a[c+20>>2]=3,R[a[c>>2]&127](b)):a[c+4>>2]=4)},function(b,d){b|=0;var c,e;c=a[b+24>>2]|0;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=d|0;d=c+4|0;e=(a[d>>2]|0)+-1|0;a[d>>2]=e;e||da[a[c+12>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))},function(b,d){b|=0;var c;c=a[b+400>>
-2]|0;d|0&&(d=a[b>>2]|0,a[d+20>>2]=3,R[a[d>>2]&127](b));a[c+48>>2]=a[b+32>>2];a[c+52>>2]=0;a[c+56>>2]=0;a[c+60>>2]=a[b+276>>2]<<1},function(b,d){b|=0;d|=0;var c,e,f;c=a[b+456>>2]|0;a:do switch(d|0){case 0:if(!(a[b+84>>2]|0)){a[c+4>>2]=a[(a[b+476>>2]|0)+4>>2];break a}a[c+4>>2]=5;e=c+12|0;a[e>>2]|0||(f=jg[a[(a[b+4>>2]|0)+28>>2]&3](b,a[c+8>>2]|0,0,a[c+16>>2]|0,1)|0,a[e>>2]=f);break;case 3:a[c+8>>2]|0||(f=a[b>>2]|0,a[f+20>>2]=3,R[a[f>>2]&127](b));a[c+4>>2]=6;break;case 2:a[c+8>>2]|0||(f=a[b>>2]|0,a[f+
-20>>2]=3,R[a[f>>2]&127](b));a[c+4>>2]=7;break;default:f=a[b>>2]|0,a[f+20>>2]=3,R[a[f>>2]&127](b)}while(0);a[c+24>>2]=0;a[c+20>>2]=0},function(b,d){b|=0;d|=0;var c,e;c=a[b>>2]|0;if(0<=(d|0)){if(!((a[c+104>>2]|0)<(d|0)))R[a[c+8>>2]&127](b)}else d=c+108|0,e=a[d>>2]|0,0!=(e|0)&&2>=(a[c+104>>2]|0)?c=e:(R[a[c+8>>2]&127](b),c=a[d>>2]|0),a[d>>2]=c+1},function(b,d){d|=0;var c,e,f,g,h=0,m,k,l=0,n=0,p=0;c=u;u=u+48|0;e=c+8|0;f=c;g=a[(b|0)>>2]|0;b=a[g+20>>2]|0;0<(b|0)&&(b|0)<=(a[g+116>>2]|0)?(h=(a[g+112>>2]|0)+
-(b<<2)|0,m=8):(k=a[g+120>>2]|0,0!=(k|0)&&(l=a[g+124>>2]|0,(b|0)>=(l|0))&&(b|0)<=(a[g+128>>2]|0)?(h=k+(b-l<<2)|0,m=8):m=9);8==(m|0)&&((l=a[h>>2]|0)?n=l:m=9);9==(m|0)&&(a[g+24>>2]=b,n=a[a[g+112>>2]>>2]|0);b=n;a:for(;;)switch(l=b+1|0,t[b>>0]|0){case 0:break a;case 37:p=l;m=12;break a;default:b=l}12==(m|0)&&115==(t[p>>0]|0)?(a[f>>2]=g+24,ad(d,n,f)|0):(f=a[g+28>>2]|0,p=a[g+32>>2]|0,m=a[g+36>>2]|0,b=a[g+40>>2]|0,l=a[g+44>>2]|0,h=a[g+48>>2]|0,k=a[g+52>>2]|0,a[e>>2]=a[g+24>>2],a[e+4>>2]=f,a[e+8>>2]=p,a[e+
-12>>2]=m,a[e+16>>2]=b,a[e+20>>2]=l,a[e+24>>2]=h,a[e+28>>2]=k,ad(d,n,e)|0);u=c},function(b,d){b|=0;var c,e,f,g,h,m,k=0,l=0,n=0,p;d=b+484|0;c=a[d>>2]|0;a[b+136>>2]=a[c+16>>2];a[b+132>>2]=a[c+20>>2];switch(a[b+88>>2]|0){case 0:a[(c+4|0)>>2]=3==(a[b+120>>2]|0)?18:19;break;case 1:e=b+120|0;a[c+4>>2]=3==(a[e>>2]|0)?20:21;a[c+48>>2]=0;a[c+28>>2]|0||Lh(b);if(a[c+52>>2]|0)break;f=a[d>>2]|0;d=a[e>>2]|0;if(0>=(d|0))break;c=b+4|0;g=d;for(d=0;;){h=a[f+32+(d<<2)>>2]|0;a:do if(0<(d|0)){for(m=0;(h|0)!=(a[f+32+(m<<
-2)>>2]|0);)if(m=m+1|0,(m|0)>=(d|0)){k=14;break a}(m=a[f+52+(m<<2)>>2]|0)?(l=g,n=m):k=14}else k=14;while(0);if(14==(k|0)){k=0;m=Aa[a[a[c>>2]>>2]&63](b,1,1024)|0;l=(h<<9)+-512|0;g=0;do{n=0;do h=255-((x[160977+(g<<4)+n>>0]|0)<<1)|0,p=255*h|0,h=0>(h|0)?0-((0-p|0)/(l|0)|0)|0:(p|0)/(l|0)|0,a[m+(g<<6)+(n<<2)>>2]=h,n=n+1|0;while(16!=(n|0));g=g+1|0}while(16!=(g|0));l=a[e>>2]|0;n=m}a[f+52+(d<<2)>>2]=n;d=d+1|0;if((d|0)>=(l|0))break;else g=l}break;case 2:a[c+4>>2]=22;a[c+84>>2]=0;if(a[c+68>>2]|0)f=l=b+120|0,
-k=b+112|0,e=a[l>>2]|0;else{l=b+112|0;g=(a[l>>2]<<1)+4|0;d=b+120|0;if(0>=(a[d>>2]|0))break;n=b+4|0;f=0;do e=Aa[a[(a[n>>2]|0)+4>>2]&63](b,1,g)|0,a[c+68+(f<<2)>>2]=e,f=f+1|0,e=a[d>>2]|0;while((f|0)<(e|0));f=d;k=l}l=(a[k>>2]<<1)+4|0;if(0<(e|0))e=0;else break;do Va(a[c+68+(e<<2)>>2]|0,0,l|0)|0,e=e+1|0;while((e|0)<(a[f>>2]|0));break;default:f=a[b>>2]|0,a[f+20>>2]=49,R[a[f>>2]&127](b)}},function(b,d){b|=0;var c,e,f,g,h;c=a[b+484>>2]|0;e=a[c+24>>2]|0;f=b+88|0;g=a[f>>2]|0?a[f>>2]=2:0;d|0?(a[c+4>>2]=23,a[c+
-8>>2]=53,a[c+28>>2]=1):(a[c+4>>2]=2==(g|0)?24:25,a[c+8>>2]=54,g=a[b+132>>2]|0,1<=(g|0)?256<(g|0)&&(g=a[b>>2]|0,a[g+20>>2]=59,a[g+24>>2]=256,R[a[g>>2]&127](b)):(g=a[b>>2]|0,a[g+20>>2]=58,a[g+24>>2]=1,R[a[g>>2]&127](b)),2==(a[f>>2]|0)&&(f=(6*(a[b+112>>2]|0)|0)+12|0,g=c+32|0,(d=a[g>>2]|0)?g=d:(h=Aa[a[(a[b+4>>2]|0)+4>>2]&63](b,1,f)|0,g=a[g>>2]=h),Va(g|0,0,f|0)|0,a[c+40>>2]|0||Mh(b),a[c+36>>2]=0));b=c+28|0;a[b>>2]|0&&(Va(a[e>>2]|0,0,4096)|0,Va(a[e+4>>2]|0,0,4096)|0,Va(a[e+8>>2]|0,0,4096)|0,Va(a[e+12>>
-2]|0,0,4096)|0,Va(a[e+16>>2]|0,0,4096)|0,Va(a[e+20>>2]|0,0,4096)|0,Va(a[e+24>>2]|0,0,4096)|0,Va(a[e+28>>2]|0,0,4096)|0,Va(a[e+32>>2]|0,0,4096)|0,Va(a[e+36>>2]|0,0,4096)|0,Va(a[e+40>>2]|0,0,4096)|0,Va(a[e+44>>2]|0,0,4096)|0,Va(a[e+48>>2]|0,0,4096)|0,Va(a[e+52>>2]|0,0,4096)|0,Va(a[e+56>>2]|0,0,4096)|0,Va(a[e+60>>2]|0,0,4096)|0,Va(a[e+64>>2]|0,0,4096)|0,Va(a[e+68>>2]|0,0,4096)|0,Va(a[e+72>>2]|0,0,4096)|0,Va(a[e+76>>2]|0,0,4096)|0,Va(a[e+80>>2]|0,0,4096)|0,Va(a[e+84>>2]|0,0,4096)|0,Va(a[e+88>>2]|0,0,
-4096)|0,Va(a[e+92>>2]|0,0,4096)|0,Va(a[e+96>>2]|0,0,4096)|0,Va(a[e+100>>2]|0,0,4096)|0,Va(a[e+104>>2]|0,0,4096)|0,Va(a[e+108>>2]|0,0,4096)|0,Va(a[e+112>>2]|0,0,4096)|0,Va(a[e+116>>2]|0,0,4096)|0,Va(a[e+120>>2]|0,0,4096)|0,Va(a[e+124>>2]|0,0,4096)|0,a[b>>2]=0)},sk,function(b,d){b|=0;var c,e,f,g,h,m,k,l,n,p;c=a[b+424>>2]|0;d|0&&(d=a[b>>2]|0,a[d+20>>2]=49,R[a[d>>2]&127](b));a[b+268>>2]|0?(d=0==(a[b+364>>2]|0),a[(c+4|0)>>2]=a[b+372>>2]|0?d?44:45:d?42:43):a[c+4>>2]=46;e=b+292|0;if(!(0>=(a[e>>2]|0))){d=
-b+364|0;f=b+372|0;g=b+4|0;h=b+368|0;m=0;do{k=a[b+296+(m<<2)>>2]|0;if(0==(a[d>>2]|0)&&0==(a[f>>2]|0)){l=a[k+20>>2]|0;15<l>>>0&&(n=a[b>>2]|0,a[n+20>>2]=50,a[n+24>>2]=l,R[a[n>>2]&127](b));n=c+76+(l<<2)|0;l=a[n>>2]|0;l||(p=Aa[a[a[g>>2]>>2]&63](b,1,64)|0,l=a[n>>2]=p);p=l+64|0;do t[l>>0]=0,l=l+1|0;while((l|0)<(p|0));a[c+36+(m<<2)>>2]=0;a[c+52+(m<<2)>>2]=0}a[h>>2]|0&&(l=a[k+24>>2]|0,15<l>>>0&&(p=a[b>>2]|0,a[p+20>>2]=50,a[p+24>>2]=l,R[a[p>>2]&127](b)),p=c+140+(l<<2)|0,(l=a[p>>2]|0)?k=l:(n=Aa[a[a[g>>2]>>2]&
-63](b,1,256)|0,k=a[p>>2]=n),Va(k|0,0,256)|0);m=m+1|0}while((m|0)<(a[e>>2]|0))}a[(c+12|0)>>2]=0;a[(c+16|0)>>2]=65536;a[(c+20|0)>>2]=0;a[(c+24|0)>>2]=0;a[(c+28|0)>>2]=11;a[(c+32|0)>>2]=-1;a[(c+68|0)>>2]=a[(b+236|0)>>2]|0;a[(c+72|0)>>2]=0},function(b,d){b|=0;var c,e;c=a[b+404>>2]|0;a[c+8>>2]=0;1>=(a[b+292>>2]|0)?(e=a[b+296>>2]|0,a[c+20>>2]=1==(a[b+288>>2]|0)?a[e+76>>2]:a[e+12>>2]):a[c+20>>2]=1;a[c+12>>2]=0;a[c+16>>2]=0;switch(d|0){case 0:a[c+64>>2]|0&&(d=a[b>>2]|0,a[d+20>>2]=3,R[a[d>>2]&127](b));a[c+
-4>>2]=47;break;case 3:a[c+64>>2]|0||(d=a[b>>2]|0,a[d+20>>2]=3,R[a[d>>2]&127](b));a[c+4>>2]=48;break;case 2:a[c+64>>2]|0||(d=a[b>>2]|0,a[d+20>>2]=3,R[a[d>>2]&127](b));a[c+4>>2]=49;break;default:c=a[b>>2]|0,a[c+20>>2]=3,R[a[c>>2]&127](b)}},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n;c=a[b+424>>2]|0;e=0!=(d|0);a[c+8>>2]=e?61:62;a[b+268>>2]|0?(a[c+120>>2]=b,a[c+108>>2]=d,f=0==(a[b+364>>2]|0),g=c+4|0,a[b+372>>2]|0?f?a[g>>2]=52:(a[g>>2]=53,h=c+136|0,a[h>>2]|0||(m=Aa[a[a[b+4>>2]>>2]&63](b,1,1E3)|0,a[h>>
-2]=m)):a[g>>2]=f?50:51,a[c+124>>2]=a[(a[b+296>>2]|0)+24>>2],a[c+128>>2]=0,a[c+132>>2]=0):a[(c+4|0)>>2]=e?54:55;d=b+292|0;if(!(0>=(a[d>>2]|0)))if(g=b+364|0,f=b+372|0,m=b+4|0,h=b+368|0,e){k=0;do e=a[b+296+(k<<2)>>2]|0,0==(a[g>>2]|0)&&0==(a[f>>2]|0)&&(n=a[e+20>>2]|0,3<n>>>0&&(l=a[b>>2]|0,a[l+20>>2]=52,a[l+24>>2]=n,R[a[l>>2]&127](b)),l=c+76+(n<<2)|0,n=a[l>>2]|0,n||(n=Aa[a[a[m>>2]>>2]&63](b,1,1028)|0,a[l>>2]=n),l=n,Va(l|0,0,1028)|0,a[c+20+(k<<2)>>2]=0),a[h>>2]|0&&(n=a[e+24>>2]|0,3<n>>>0&&(e=a[b>>2]|0,
-a[e+20>>2]=52,a[e+24>>2]=n,R[a[e>>2]&127](b)),e=c+92+(n<<2)|0,n=a[e>>2]|0,n||(n=Aa[a[a[m>>2]>>2]&63](b,1,1028)|0,a[e>>2]=n),e=n,Va(e|0,0,1028)|0),k=k+1|0;while((k|0)<(a[d>>2]|0))}else{e=0;do l=a[b+296+(e<<2)>>2]|0,0==(a[g>>2]|0)&&0==(a[f>>2]|0)&&(n=a[l+20>>2]|0,Xh(b,1,n,c+44+(n<<2)|0),a[c+20+(e<<2)>>2]=0),a[h>>2]|0&&(n=a[l+24>>2]|0,Xh(b,0,n,c+60+(n<<2)|0)),e=e+1|0;while((e|0)<(a[d>>2]|0))}a[(c+12|0)>>2]=0;a[(c+16|0)>>2]=0;a[(c+36|0)>>2]=a[(b+236|0)>>2]|0;a[(c+40|0)>>2]=0},function(b,d){b|=0;var c,
-e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,u,C;c=a[b+448>>2]|0;switch(d|0){case 0:d=c+4|0;if(a[(a[b+476>>2]|0)+8>>2]|0){a[d>>2]=26;d=a[b+328>>2]|0;e=a[b+36>>2]|0;if(0<(e|0))for(f=c+56|0,g=c+60|0,h=d+2|0,m=d+-2|0,k=0,l=a[b+216>>2]|0;;){n=(E(a[l+40>>2]|0,a[l+12>>2]|0)|0)/(d|0)|0;p=a[(a[f>>2]|0)+(k<<2)>>2]|0;q=a[(a[g>>2]|0)+(k<<2)>>2]|0;y=a[c+8+(k<<2)>>2]|0;B=E(n,h)|0;if(0<(B|0)){t=0;do r=a[y+(t<<2)>>2]|0,a[q+(t<<2)>>2]=r,a[p+(t<<2)>>2]=r,t=t+1|0;while((t|0)!=(B|0))}B=n<<1;if(0<(n|0)){t=E(n,d)|0;r=E(n,m)|0;z=0;do u=
-z+t|0,C=z+r|0,a[q+(C<<2)>>2]=a[y+(u<<2)>>2],a[q+(u<<2)>>2]=a[y+(C<<2)>>2],z=z+1|0;while((z|0)<(B|0));B=0;do a[p+(B-n<<2)>>2]=a[p>>2],B=B+1|0;while((B|0)!=(n|0))}k=k+1|0;if((k|0)==(e|0))break;else l=l+88|0}a[c+64>>2]=0;a[c+68>>2]=0;a[c+76>>2]=0}else a[d>>2]=27;a[c+48>>2]=0;a[c+52>>2]=0;break;case 2:a[c+4>>2]=28;break;default:c=a[b>>2]|0,a[c+20>>2]=3,R[a[c>>2]&127](b)}},We,We,We,We,We,We,We,We,We,We,We,We],Hi=[gl,function(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m;h=a[b+4>>2]|0;1!=(d|0)&&(m=
-a[b>>2]|0,a[m+20>>2]=15,a[m+24>>2]=d,R[a[m>>2]&127](b));m=ih(b,d,128)|0;a[m>>2]=0;a[m+4>>2]=f;a[m+8>>2]=e;a[m+12>>2]=g;a[m+32>>2]=c;a[m+40>>2]=0;c=h+68|0;a[m+44>>2]=a[c>>2];a[c>>2]=m;return m|0},function(b,d,c,e,f,g){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;var h,m;h=a[b+4>>2]|0;1!=(d|0)&&(m=a[b>>2]|0,a[m+20>>2]=15,a[m+24>>2]=d,R[a[m>>2]&127](b));m=ih(b,d,128)|0;a[m>>2]=0;a[m+4>>2]=f;a[m+8>>2]=e;a[m+12>>2]=g;a[m+32>>2]=c;a[m+40>>2]=0;c=h+72|0;a[m+44>>2]=a[c>>2];a[c>>2]=m;return m|0},gl],Gk=[Gf,function(b,d,
-c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;m|=0;var q,y,B,t,r,z,u=0,C=0,w=0,v=0,E=0,J=0,I=0,G=0,L=0,K=0,A=0,D=0,O=0,M=0,T=0,X=0,P=0,Oa=0,F=0,N=0,ba=0,R=0,S=0,Y=0,ga=0,W=0,ma=0,U=0,ha=0,da=0,aa=0,ca=0,Z=0,fa=0,ja=0,oa=0;if(g)for(e=7<f>>>0,c=f+-8|0,b=c&-8,q=c-b|0,c=b+8|0,b=l|0,l=n|0,n=k|0,k=d|0,d=p|0,p=g;;){p=p+-1|0;if(e){g=d+c|0;y=b+c|0;B=n;t=l;r=k;for(z=f;!(a[r>>2]=(x[b>>0]|0)<<8|x[B>>0]|0|(x[t>>0]|0)<<16|(x[d>>0]|0)<<24,a[r+4>>2]=(x[b+1>>0]|0)<<8|x[B+1>>0]|0|(x[t+1>>0]|0)<<16|(x[d+1>>0]|0)<<24,a[r+8>>2]=
-(x[b+2>>0]|0)<<8|x[B+2>>0]|0|(x[t+2>>0]|0)<<16|(x[d+2>>0]|0)<<24,a[r+12>>2]=(x[b+3>>0]|0)<<8|x[B+3>>0]|0|(x[t+3>>0]|0)<<16|(x[d+3>>0]|0)<<24,a[r+16>>2]=(x[b+4>>0]|0)<<8|x[B+4>>0]|0|(x[t+4>>0]|0)<<16|(x[d+4>>0]|0)<<24,a[r+20>>2]=(x[b+5>>0]|0)<<8|x[B+5>>0]|0|(x[t+5>>0]|0)<<16|(x[d+5>>0]|0)<<24,a[r+24>>2]=(x[b+6>>0]|0)<<8|x[B+6>>0]|0|(x[t+6>>0]|0)<<16|(x[d+6>>0]|0)<<24,a[r+28>>2]=(x[b+7>>0]|0)<<8|x[B+7>>0]|0|(x[t+7>>0]|0)<<16|(x[d+7>>0]|0)<<24,z=z+-8|0,7>=z>>>0);)b=b+8|0,B=B+8|0,t=t+8|0,r=r+32|0,d=d+
-8|0;l=l+c|0;n=n+c|0;k=k+(c<<2)|0;b=q}else g=d,y=b,b=f;switch(b|0){case 1:u=g;C=y;w=n;v=k;E=l;J=14;break;case 7:a[k>>2]=(x[y>>0]|0)<<8|x[n>>0]|0|(x[l>>0]|0)<<16|(x[g>>0]|0)<<24;I=g+1|0;G=y+1|0;L=n+1|0;K=l+1|0;A=k+4|0;J=9;break;case 6:I=g;G=y;L=n;K=l;A=k;J=9;break;case 5:D=g;O=y;M=n;T=k;X=l;J=10;break;case 4:P=g;Oa=y;F=n;N=k;ba=l;J=11;break;case 3:R=g;S=y;Y=n;ga=k;W=l;J=12;break;case 2:ma=g;U=y;ha=n;da=k;aa=l;J=13;break;default:ca=g,Z=y,fa=n,ja=k,oa=l}9==(J|0)&&(a[A>>2]=(x[G>>0]|0)<<8|x[L>>0]|0|(x[K>>
-0]|0)<<16|(x[I>>0]|0)<<24,D=I+1|0,O=G+1|0,M=L+1|0,T=A+4|0,X=K+1|0,J=10);10==(J|0)&&(a[T>>2]=(x[O>>0]|0)<<8|x[M>>0]|0|(x[X>>0]|0)<<16|(x[D>>0]|0)<<24,P=D+1|0,Oa=O+1|0,F=M+1|0,N=T+4|0,ba=X+1|0,J=11);11==(J|0)&&(a[N>>2]=(x[Oa>>0]|0)<<8|x[F>>0]|0|(x[ba>>0]|0)<<16|(x[P>>0]|0)<<24,R=P+1|0,S=Oa+1|0,Y=F+1|0,ga=N+4|0,W=ba+1|0,J=12);12==(J|0)&&(a[ga>>2]=(x[S>>0]|0)<<8|x[Y>>0]|0|(x[W>>0]|0)<<16|(x[R>>0]|0)<<24,ma=R+1|0,U=S+1|0,ha=Y+1|0,da=ga+4|0,aa=W+1|0,J=13);13==(J|0)&&(a[da>>2]=(x[U>>0]|0)<<8|x[ha>>0]|0|
-(x[aa>>0]|0)<<16|(x[ma>>0]|0)<<24,u=ma+1|0,C=U+1|0,w=ha+1|0,v=da+4|0,E=aa+1|0,J=14);14==(J|0)&&(J=0,a[v>>2]=(x[C>>0]|0)<<8|x[w>>0]|0|(x[E>>0]|0)<<16|(x[u>>0]|0)<<24,ca=u+1|0,Z=C+1|0,fa=w+1|0,ja=v+4|0,oa=E+1|0);if(p)b=Z+h|0,l=oa+h|0,n=fa+h|0,k=ja+(m<<2)|0,d=ca+h|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;m|=0;var q,y,B,t,r,z,u,C;if(g)for(e=0==(f|0),c=(b|0)+76|0,b=d|0,d=k|0,k=l|0,l=p|0,p=n|0,n=g;;){n=n+-1|0;if(e)g=p,q=d;else{g=p+f|0;q=d+f|0;y=a[c>>2]|0;B=f;t=b;r=k;for(z=l;;)if(B=
-B+-1|0,u=x[z>>0]|0,C=u<<8,a[t>>2]=x[y+(x[d>>0]|0|C)>>0]|0|u<<24|(x[y+(x[r>>0]|0|C)>>0]|0)<<8|(x[y+(x[p>>0]|0|C)>>0]|0)<<16,B)p=p+1|0,t=t+4|0,d=d+1|0,r=r+1|0,z=z+1|0;else break;b=b+(f<<2)|0;k=k+f|0;l=l+f|0}if(n)b=b+(m<<2)|0,d=q+h|0,k=k+h|0,l=l+h|0,p=g+h|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;m|=0;var q,y,B,t,r=0,z=0,u=0,C=0,w=0,v=0,E=0,J=0,I=0,G=0,L=0,K=0,A=0,D=0,O=0,M=0,T=0,X=0,P=0,Oa=0,F=0,N=0,ba=0,R=0,S=0,Y=0,ga=0,W=0,ma=0;if(g)for(p=7<f>>>0,e=f+-8|0,c=e&-8,b=e-c|0,e=c+
-8|0,c=l|0,l=n|0,n=k|0,k=d|0,d=g;;){d=d+-1|0;if(p){g=k+(e<<2)|0;q=c+e|0;y=n;B=l;for(t=f;!(a[k>>2]=x[y>>0]|0|(x[c>>0]|0)<<8|(x[B>>0]|0)<<16|-16777216,a[k+4>>2]=x[y+1>>0]|0|(x[c+1>>0]|0)<<8|(x[B+1>>0]|0)<<16|-16777216,a[k+8>>2]=x[y+2>>0]|0|(x[c+2>>0]|0)<<8|(x[B+2>>0]|0)<<16|-16777216,a[k+12>>2]=x[y+3>>0]|0|(x[c+3>>0]|0)<<8|(x[B+3>>0]|0)<<16|-16777216,a[k+16>>2]=x[y+4>>0]|0|(x[c+4>>0]|0)<<8|(x[B+4>>0]|0)<<16|-16777216,a[k+20>>2]=x[y+5>>0]|0|(x[c+5>>0]|0)<<8|(x[B+5>>0]|0)<<16|-16777216,a[k+24>>2]=x[y+
-6>>0]|0|(x[c+6>>0]|0)<<8|(x[B+6>>0]|0)<<16|-16777216,a[k+28>>2]=x[y+7>>0]|0|(x[c+7>>0]|0)<<8|(x[B+7>>0]|0)<<16|-16777216,t=t+-8|0,7>=t>>>0);)c=c+8|0,y=y+8|0,B=B+8|0,k=k+32|0;l=l+e|0;n=n+e|0;c=b}else g=k,q=c,c=f;switch(c|0){case 1:r=g;z=q;u=n;C=l;w=14;break;case 7:a[g>>2]=x[n>>0]|0|(x[q>>0]|0)<<8|(x[l>>0]|0)<<16|-16777216;v=g+4|0;E=q+1|0;J=n+1|0;I=l+1|0;w=9;break;case 6:v=g;E=q;J=n;I=l;w=9;break;case 5:G=g;L=q;K=n;A=l;w=10;break;case 4:D=g;O=q;M=n;T=l;w=11;break;case 3:X=g;P=q;Oa=n;F=l;w=12;break;
-case 2:N=g;ba=q;R=n;S=l;w=13;break;default:Y=g,ga=q,W=n,ma=l}9==(w|0)&&(a[v>>2]=x[J>>0]|0|(x[E>>0]|0)<<8|(x[I>>0]|0)<<16|-16777216,G=v+4|0,L=E+1|0,K=J+1|0,A=I+1|0,w=10);10==(w|0)&&(a[G>>2]=x[K>>0]|0|(x[L>>0]|0)<<8|(x[A>>0]|0)<<16|-16777216,D=G+4|0,O=L+1|0,M=K+1|0,T=A+1|0,w=11);11==(w|0)&&(a[D>>2]=x[M>>0]|0|(x[O>>0]|0)<<8|(x[T>>0]|0)<<16|-16777216,X=D+4|0,P=O+1|0,Oa=M+1|0,F=T+1|0,w=12);12==(w|0)&&(a[X>>2]=x[Oa>>0]|0|(x[P>>0]|0)<<8|(x[F>>0]|0)<<16|-16777216,N=X+4|0,ba=P+1|0,R=Oa+1|0,S=F+1|0,w=13);13==
-(w|0)&&(a[N>>2]=x[R>>0]|0|(x[ba>>0]|0)<<8|(x[S>>0]|0)<<16|-16777216,r=N+4|0,z=ba+1|0,u=R+1|0,C=S+1|0,w=14);14==(w|0)&&(w=0,a[r>>2]=x[u>>0]|0|(x[z>>0]|0)<<8|(x[C>>0]|0)<<16|-16777216,Y=r+4|0,ga=z+1|0,W=u+1|0,ma=C+1|0);if(d)c=ga+h|0,l=ma+h|0,n=W+h|0,k=Y+(m<<2)|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;m|=0;var q,y,B,t,r,z;if(g)for(e=0==(f|0),c=(b|0)+80|0,b=d|0,d=g,g=p|0,p=n|0,n=l|0,l=k|0;;){d=d+-1|0;if(e)k=g,q=n;else{k=g+(f<<1)|0;q=n+(f<<1)|0;y=a[c>>2]|0;B=0;t=b;r=p;for(z=l;a[t>>
-2]=(x[y+(N[n>>1]|0)>>0]|0)<<8|x[y+(N[z>>1]|0)>>0]|0|(x[y+(N[r>>1]|0)>>0]|0)<<16|(x[y+(N[g>>1]|0)>>0]|0)<<24,B=B+1|0,(B|0)!=(f|0);)t=t+4|0,g=g+2|0,r=r+2|0,n=n+2|0,z=z+2|0;b=b+(f<<2)|0;p=p+(f<<1)|0;l=l+(f<<1)|0}if(d)b=b+(m<<2)|0,g=k+(h<<1)|0,p=p+(h<<1)|0,n=q+(h<<1)|0,l=l+(h<<1)|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){b|=0;f|=0;g|=0;h|=0;m|=0;var q,y,B,t,r,z,u,C,w,v;if(g)for(e=0==(f|0),c=b+80|0,q=b+76|0,b=d|0,d=g,g=p|0,p=n|0,n=l|0,l=k|0;;){d=d+-1|0;if(e)k=p,y=l;else{k=p+(f<<1)|0;y=l+(f<<1)|
-0;B=a[c>>2]|0;t=a[q>>2]|0;r=f;z=b;u=g;for(C=n;;)if(r=r+-1|0,w=x[B+(N[u>>1]|0)>>0]|0,v=w<<8,a[z>>2]=x[t+(x[B+(N[l>>1]|0)>>0]|0|v)>>0]|0|w<<24|(x[t+(x[B+(N[C>>1]|0)>>0]|0|v)>>0]|0)<<8|(x[t+(x[B+(N[p>>1]|0)>>0]|0|v)>>0]|0)<<16,r)z=z+4|0,u=u+2|0,p=p+2|0,C=C+2|0,l=l+2|0;else break;b=b+(f<<2)|0;g=g+(f<<1)|0;n=n+(f<<1)|0}if(d)b=b+(m<<2)|0,g=g+(h<<1)|0,p=k+(h<<1)|0,n=n+(h<<1)|0,l=y+(h<<1)|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;m|=0;var q,y,B,t;if(g)for(p=0==(f|0),e=(b|0)+80|0,b=d|
-0,d=g,g=n|0,n=l|0,l=k|0;;){d=d+-1|0;if(p)k=b,c=n;else{k=b+(f<<2)|0;c=n+(f<<1)|0;q=a[e>>2]|0;y=0;B=g;for(t=l;a[b>>2]=x[q+(N[t>>1]|0)>>0]|0|(x[q+(N[n>>1]|0)>>0]|0)<<8|(x[q+(N[B>>1]|0)>>0]|0)<<16|-16777216,y=y+1|0,(y|0)!=(f|0);)b=b+4|0,B=B+2|0,n=n+2|0,t=t+2|0;g=g+(f<<1)|0;l=l+(f<<1)|0}if(d)b=k+(m<<2)|0,g=g+(h<<1)|0,n=c+(h<<1)|0,l=l+(h<<1)|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;m|=0;var q,y,B,t,r,z,u;if(g)for(e=0==(f|0),c=d|0,d=k|0,k=p|0,p=n|0,n=l|0,l=g;;){l=l+-1|0;if(e)b=d,g=
-p;else{g=p+f|0;b=d+f|0;q=f;y=n;B=c;for(t=k;;)if(q=q+-1|0,r=(x[t>>0]|0)^255,z=((E((x[d>>0]|0)^255,r)|0)>>>0)/255|0,u=((E((x[y>>0]|0)^255,r)|0)>>>0)/255|0,r=z|u<<8|(((E((x[p>>0]|0)^255,r)|0)>>>0)/255|0)<<16|-16777216,a[B>>2]=r,q)y=y+1|0,B=B+4|0,d=d+1|0,t=t+1|0,p=p+1|0;else break;c=c+(f<<2)|0;n=n+f|0;k=k+f|0}if(l)c=c+(m<<2)|0,d=b+h|0,k=k+h|0,p=g+h|0,n=n+h|0;else break}},function(b,d,c,e,f,g,h,m,k,l,n,p){f|=0;g|=0;h|=0;var q,y,B,t,r,z,Q,C;p=u;u=u+16|0;e=p+8|0;c=p+4|0;q=p;if(g)for(y=(b|0)+68|0,b=f+h|0,
-B=f+h|0,t=f+h|0,h=f+(m|0)|0,m=n|0,n=d|0,d=l|0,l=k|0,k=g;;){g=f;r=n;z=m;Q=d;for(C=l;;)if(Kb(a[y>>2]|0,x[C>>0]|0,x[Q>>0]|0,x[z>>0]|0,e,c,q),a[r>>2]=a[e>>2]|a[c>>2]<<8|a[q>>2]<<16|-16777216,g=g+-1|0)r=r+4|0,z=z+1|0,Q=Q+1|0,C=C+1|0;else break;if(k=k+-1|0)m=m+t|0,n=n+(h<<2)|0,d=d+B|0,l=l+b|0;else break}u=p},Gf,Gf,Gf,Gf,Gf,Gf,Gf],da=[rf,function(b){var d;d=u;u=u+16|0;a[d>>2]=a[(b|0)+60>>2];b=le(Yk(6,d|0)|0)|0;u=d;return b|0},function(a){return Xk(a|0)|0},function(b){var d,c;d=u;u=u+80|0;c=0>(Nk(b|0,d)|
-0);b=a[d+36>>2]|0;U=c?0:(0>(b|0))<<31>>31;u=d;return(c?0:b)|0},function(a){return 1},function(a){return 1},function(b){b|=0;var d,c,e,f,g,h;d=u;u=u+32|0;c=d+8|0;e=d;f=d+12|0;g=b+88|0;h=Ej(w[g>>1]|0)|0;a[e>>2]=N[g>>1];ad(f,142602,e)|0;e=a[b+628>>2]|0;g=a[b>>2]|0;a[c>>2]=h?a[h>>2]|0:f;Y(e,g,142605,c);u=d;return 0},function(a){return 1},function(b){b|=0;var d,c,e,f,g;d=a[b+576>>2]|0;qf(b,1,12);qf(b,1,12);c=d+52|0;if(8==(a[c>>2]|0))return 1;e=b+608|0;(a[e>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|0;f=d+48|0;d=a[f>>
-2]&255;g=b+604|0;b=a[g>>2]|0;a[g>>2]=b+1;t[b>>0]=d;a[e>>2]=(a[e>>2]|0)+1;a[f>>2]=0;a[c>>2]=8;return 1},function(a){return 1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q=0,y=0,B=0,t=0,r=0,z=0,Q=0;d=u;u=u+32|0;c=d+16|0;e=d+8|0;f=b+576|0;g=a[f>>2]|0;if(1!=(w[b+84>>1]|0))return Y(a[b+628>>2]|0,144065,144080,d),u=d,0;a[b+12>>2]&1024?(h=tg(b)|0,m=b+68|0):(h=Pe(b)|0,m=b+56|0);k=a[m>>2]|0;a[g+8>>2]=h;a[g+12>>2]=k;m=g+28|0;a[m>>2]&1?(p=g+64|0,a[p>>2]=0,q=4294967264>k>>>0?k+31&-32:0,B=y=p,l=9):(l=4==(w[b+
-88>>1]|0),n=g+64|0,a[n>>2]=0,p=4294967264>k>>>0?k+31&-32:0,l?(q=p,B=y=n,l=9):(r=t=n,z=0,Q=p,l=10));9==(l|0)&&(q&2147483616|0)==(q|0)&&(t=B,r=y,z=1,Q=q<<1,l=10);if(10==(l|0)&&0!=(Q|0)&&(l=Q<<1,!(0==(l|0)|(Q&2147483647|0)!=(Q|0)))){q=Mf(b,l,4,144177)|0;a[t>>2]=q;if(!q)return u=d,0;Va(q|0,0,Q<<3|0)|0;a[g+72>>2]=a[t>>2];a[g+68>>2]=z?(a[r>>2]|0)+(Q<<2):0;3==(w[b+88>>1]|0)&&0!=(a[m>>2]&1|0)&&(a[b+532>>2]=19,a[b+540>>2]=19,a[b+548>>2]=19);m=a[f>>2]|0;if(!z)return a[m+80>>2]=0,u=d,1;z=eb(h)|0;if(a[m+80>>
-2]=z)return u=d,1;Y(a[b+628>>2]|0,144065,144202,c);u=d;return 0}c=a[b+628>>2]|0;z=a[b>>2]|0;a[e>>2]=k;Y(c,z,144134,e);u=d;return 0},function(b){b|=0;var d,c,e,f,g;d=a[b+576>>2]|0;c=d+52|0;if(8==(a[c>>2]|0))return 1;e=b+608|0;(a[e>>2]|0)>=(a[b+592>>2]|0)&&Lc(b)|0;f=d+48|0;d=a[f>>2]&255;g=b+604|0;b=a[g>>2]|0;a[g>>2]=b+1;t[b>>0]=d;a[e>>2]=(a[e>>2]|0)+1;a[f>>2]=0;a[c>>2]=8;return 1},function(b){b|=0;var d=0,c=0,e=0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,r=0,z=0,Q=0,C=0,v=0,V=0,E=0,J=0,I=0,G=
-0,L=0,K=0,A=0,D=0,O=0,M=0,T=0,X=0,P=0,Oa=0,F=0,R=0,ba=0,S=0,Y=0,W=0,ga=0,Ha=0,ma=0,da=0,ha=0,aa=0,ca=0,fa=0,Nb=0,pa=0,ya=0,oa=0,sa=0,ra=0,ua=0,Ia=0,Da=0,na=0,Na=0,Ka=0,Ca=0,Ga=0,Ea=0,La=0,Qa=0,Va=0,Wa=0,ub=0,xb=0,Zb=0,ab=0,jb=0,mc=0,Ab=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,pb=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,fb=0,Ua=0,Hb=0,Jb=0,Gb=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Kb=0,lb=
-0,nd=0,Zd=0,wb=0,Lb=0,Qd=0,zb=0,Ob=0,Tb=0,Pb=0,Sb=0,db=0,Vb=0,Yb=0,ac=0,fc=0,jc=0,lc=0,$b=0,kc=0,hc=0,ec=0,yc=0,d=u;u=u+48|0;c=d+40|0;e=d+24|0;f=d+16|0;g=d+8|0;if(6!=(w[b+90>>1]|0)||1!=(w[b+126>>1]|0))return u=d,1;h=b+98|0;if(3!=(w[h>>1]|0))return u=d,1;1;m=b+176|0;k=a[m>>2]|0;if(!k)return u=d,1;l=b+172|0;if(!(a[l>>2]|0))return u=d,1;n=k;if(0==(a[n>>2]|0)&0==(a[n+4>>2]|0))return u=d,1;n=eb(2048)|0;if(!n)return Wb(a[b+628>>2]|0,145945,145970,d),u=d,1;k=a[l>>2]|0;l=a[k>>2]|0;p=a[k+4>>2]|0;k=a[m>>2]|
-0;m=a[k>>2]|0;q=a[k+4>>2]|0;a:do if(0==(m|0)&0==(q|0))P=b+628|0,Oa=114;else if(k=b+640|0,y=b+628|0,rb[a[k>>2]&63](a[y>>2]|0,l,p,0)|0,B=0>q>>>0|0==(q|0)&2048>m>>>0?m:2048,-1>=(B|0)&&Z(146063,144647,902,146078),H=b+632|0,(Aa[a[H>>2]&63](a[y>>2]|0,n,B)|0)==(B|0)){r=Qb(B|0,0,l|0,p|0)|0;z=U;Q=Ic(m|0,q|0,B|0,0)|0;C=B;v=B=n;V=1;E=Q;Q=U;J=r;r=z;b:for(;;){I=z=v+1|0;G=C+-1|0;c:do if(-1==(t[B>>0]|0)){L=G;K=I;A=E;D=Q;O=V;M=J;T=r;for(X=z;;){if(L)W=K,ga=X,Ha=L,ma=O,da=A,ha=D,aa=M,ca=T;else{if(0==(A|0)&0==(D|0)){P=
-y;Oa=114;break a}O<<24>>24?F=O:(rb[a[k>>2]&63](a[y>>2]|0,M,T,0)|0,F=1);R=0>D>>>0|0==(D|0)&2048>A>>>0?A:2048;if(-1>=(R|0)){Oa=31;break b}if((Aa[a[H>>2]&63](a[y>>2]|0,n,R)|0)!=(R|0)){P=y;Oa=114;break a}ba=Qb(R|0,0,M|0,T|0)|0;S=U;Y=Ic(A|0,D|0,R|0,0)|0;ga=W=n;Ha=R;ma=F;da=Y;ha=U;aa=ba;ca=S}S=t[W>>0]|0;ba=ga+1|0;Y=Ha+-1|0;R=ba;if(-1==S<<24>>24)L=Y,K=R,A=da,D=ha,O=ma,M=aa,T=ca,X=ba;else{fa=ma;Nb=S;pa=ba;ya=Y;oa=R;sa=da;ra=ha;ua=aa;Ia=ca;break}}switch(Nb&255|0){case 202:case 201:case 194:case 193:case 192:Da=
-fa;na=pa;Na=ya;Ka=sa;Ca=ra;Ga=ua;Ea=Ia;Oa=58;break b;case 216:La=pa;Qa=fa;Va=sa;Wa=ra;ub=ua;xb=Ia;Zb=ya;ab=oa;Oa=16;break c;case 221:case 196:case 218:case 219:case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:case 254:break;default:P=y;Oa=114;break a}if(ya)mc=pa,Ab=ya,Ta=sa,Ya=ra,Sa=fa,mb=ua,Db=Ia;else{if(0==(sa|0)&0==(ra|0)){P=y;Oa=114;break a}fa<<24>>24?jb=fa:(rb[a[k>>2]&63](a[y>>2]|0,ua,Ia,0)|0,jb=1);
-X=0>ra>>>0|0==(ra|0)&2048>sa>>>0?sa:2048;if(-1>=(X|0)){Oa=41;break b}if((Aa[a[H>>2]&63](a[y>>2]|0,n,X)|0)!=(X|0)){P=y;Oa=114;break a}T=Qb(X|0,0,ua|0,Ia|0)|0;M=U;O=Ic(sa|0,ra|0,X|0,0)|0;mc=n;Ab=X;Ta=O;Ya=U;Sa=jb;mb=T;Db=M}M=t[mc>>0]|0;T=mc+1|0;if(O=Ab+-1|0)Za=T,ia=O,qa=Ya,Ja=Ta,ea=mb,wa=Db,Ma=Sa;else{if(0==(Ta|0)&0==(Ya|0)){P=y;Oa=114;break a}Sa<<24>>24?cc=Sa:(rb[a[k>>2]&63](a[y>>2]|0,mb,Db,0)|0,cc=1);X=0>Ya>>>0|0==(Ya|0)&2048>Ta>>>0?Ta:2048;if(-1>=(X|0)){Oa=49;break b}if((Aa[a[H>>2]&63](a[y>>2]|0,
-n,X)|0)!=(X|0)){P=y;Oa=114;break a}D=Qb(X|0,0,mb|0,Db|0)|0;A=U;K=Ic(Ta|0,Ya|0,X|0,0)|0;Za=n;ia=X;qa=U;Ja=K;ea=D;wa=A;Ma=cc}O=Za+1|0;T=ia+-1|0;A=x[Za>>0]|(M&255)<<8;if(2>(A&65535)){P=y;Oa=114;break a}M=A+65534|0;if(A=M&65535)if(T>>>0>=A>>>0)La=O=Za+(A+1)|0,Qa=Ma,Va=Ja,Wa=qa,ub=ea,xb=wa,Zb=T-A|0,ab=O,Oa=16;else{O=M-T&65535;if(0>qa>>>0|0==(qa|0)&Ja>>>0<O>>>0){P=y;Oa=114;break a}T=Qb(O|0,0,ea|0,wa|0)|0;M=U;xa=A=Ic(Ja|0,qa|0,O|0,0)|0;$a=U;la=0;Ba=T;va=M}else La=O,Qa=Ma,Va=Ja,Wa=qa,ub=ea,xb=wa,Zb=T,ab=
-O,Oa=16}else La=z,Qa=V,Va=E,Wa=Q,ub=J,xb=r,Zb=G,ab=I,Oa=16;while(0);if(16==(Oa|0))if(Oa=0,Zb){C=Zb;B=ab;v=La;V=Qa;E=Va;Q=Wa;J=ub;r=xb;continue}else xa=Va,$a=Wa,la=Qa,Ba=ub,va=xb;if(0==(xa|0)&0==($a|0)){P=y;Oa=114;break a}la<<24>>24?za=la:(rb[a[k>>2]&63](a[y>>2]|0,Ba,va,0)|0,za=1);I=0>$a>>>0|0==($a|0)&2048>xa>>>0?xa:2048;if(-1>=(I|0)){Oa=22;break}if((Aa[a[H>>2]&63](a[y>>2]|0,n,I)|0)!=(I|0)){P=y;Oa=114;break a}G=Qb(I|0,0,Ba|0,va|0)|0;z=U;M=Ic(xa|0,$a|0,I|0,0)|0;C=I;v=B=n;V=za;E=M;Q=U;J=G;r=z}if(22==
-(Oa|0))Z(146063,144647,902,146078);else if(31==(Oa|0))Z(146063,144647,902,146078);else if(41==(Oa|0))Z(146063,144647,902,146078);else if(49==(Oa|0))Z(146063,144647,902,146078);else if(58==(Oa|0)){if(Na)nb=na,sc=Na,gb=Ka,hb=Ca,ob=Da,Bb=Ga,qb=Ea;else{if(0==(Ka|0)&0==(Ca|0)){P=y;Oa=114;break}Da<<24>>24?ta=Da:(rb[a[k>>2]&63](a[y>>2]|0,Ga,Ea,0)|0,ta=1);r=0>Ca>>>0|0==(Ca|0)&2048>Ka>>>0?Ka:2048;-1>=(r|0)&&Z(146063,144647,902,146078);if((Aa[a[H>>2]&63](a[y>>2]|0,n,r)|0)!=(r|0)){P=y;Oa=114;break}J=Qb(r|0,
-0,Ga|0,Ea|0)|0;Q=U;E=Ic(Ka|0,Ca|0,r|0,0)|0;nb=n;sc=r;gb=E;hb=U;ob=ta;Bb=J;qb=Q}Q=t[nb>>0]|0;J=nb+1|0;if(E=sc+-1|0)ib=J,Cb=E,pb=hb,sb=gb,Xa=Bb,Fa=qb,Pa=ob;else{if(0==(gb|0)&0==(hb|0)){P=y;Oa=114;break}ob<<24>>24?kb=ob:(rb[a[k>>2]&63](a[y>>2]|0,Bb,qb,0)|0,kb=1);r=0>hb>>>0|0==(hb|0)&2048>gb>>>0?gb:2048;-1>=(r|0)&&Z(146063,144647,902,146078);if((Aa[a[H>>2]&63](a[y>>2]|0,n,r)|0)!=(r|0)){P=y;Oa=114;break}V=Qb(r|0,0,Bb|0,qb|0)|0;v=U;B=Ic(gb|0,hb|0,r|0,0)|0;ib=n;Cb=r;pb=U;sb=B;Xa=V;Fa=v;Pa=kb}if((x[ib>>0]|
-(Q&255)<<8|0)!=((3*(N[h>>1]|0)|0)+8|0))P=y,Oa=114;else{if(7<=(Cb+-1|0)>>>0)(Q=Cb+-8|0)?(Mb=ib+8|0,fb=Q,Ua=sb,Hb=pb,Jb=Xa,Gb=Fa,yb=Pa):(Eb=sb,vb=pb,tb=Pa,bb=Xa,Ib=Fa,Oa=79);else{Q=8-Cb&65535;if(0>pb>>>0|0==(pb|0)&sb>>>0<Q>>>0){P=y;Oa=114;break}E=Qb(Q|0,0,Xa|0,Fa|0)|0;J=U;Eb=v=Ic(sb|0,pb|0,Q|0,0)|0;vb=U;tb=0;bb=E;Ib=J;Oa=79}if(79==(Oa|0)){if(0==(Eb|0)&0==(vb|0)){P=y;Oa=114;break}tb<<24>>24?cb=tb:(rb[a[k>>2]&63](a[y>>2]|0,bb,Ib,0)|0,cb=1);J=0>vb>>>0|0==(vb|0)&2048>Eb>>>0?Eb:2048;-1>=(J|0)&&Z(146063,
-144647,902,146078);if((Aa[a[H>>2]&63](a[y>>2]|0,n,J)|0)!=(J|0)){P=y;Oa=114;break}E=Qb(J|0,0,bb|0,Ib|0)|0;v=U;Q=Ic(Eb|0,vb|0,J|0,0)|0;Mb=n;fb=J;Ua=Q;Hb=U;Jb=E;Gb=v;yb=cb}v=t[Mb>>0]|0;E=(v&255)>>>4;Q=v&15;v=Mb+1|0;1==(fb|0)?(0==(Ua|0)&0==(Hb|0)?(gc=v,Ub=yb,Kb=Fb=0,lb=Jb,nd=Gb):(J=Qb(Jb|0,Gb|0,1,0)|0,V=U,B=Qb(Ua|0,Hb|0,-1,-1)|0,gc=v,Ub=0,Fb=B,Kb=U,lb=J,nd=V),Zd=0):(gc=Mb+2|0,Ub=yb,Fb=Ua,Kb=Hb,lb=Jb,nd=Gb,Zd=fb+-2|0);b:do if(1<(N[h>>1]|0)){V=Zd;J=Fb;B=Kb;v=lb;r=nd;C=gc;z=Ub;for(G=1;;){if(V)(M=V+-1|0)?
-(Tb=C+1|0,Pb=M,Sb=J,db=B,Vb=v,Yb=r,ac=z):(wb=J,Lb=B,Qd=z,zb=v,Ob=r,Oa=95);else{if(0==(J|0)&0==(B|0)){P=y;Oa=114;break a}M=Qb(v|0,r|0,1,0)|0;I=U;wb=T=Qb(J|0,B|0,-1,-1)|0;Lb=U;Qd=0;zb=M;Ob=I;Oa=95}if(95==(Oa|0)){Oa=0;if(0==(wb|0)&0==(Lb|0)){P=y;Oa=114;break a}Qd<<24>>24?fc=Qd:(rb[a[k>>2]&63](a[y>>2]|0,zb,Ob,0)|0,fc=1);I=0>Lb>>>0|0==(Lb|0)&2048>wb>>>0?wb:2048;if(-1>=(I|0)){Oa=99;break}if((Aa[a[H>>2]&63](a[y>>2]|0,n,I)|0)!=(I|0)){P=y;Oa=114;break a}M=Qb(I|0,0,zb|0,Ob|0)|0;T=U;A=Ic(wb|0,Lb|0,I|0,0)|0;
-Tb=n;Pb=I;Sb=A;db=U;Vb=M;Yb=T;ac=fc}T=Tb+1|0;if(17!=(t[Tb>>0]|0)){Oa=103;break}1==(Pb|0)?(0==(Sb|0)&0==(db|0)?(jc=T,lc=ac,kc=$b=0,hc=Vb,ec=Yb):(M=Qb(Vb|0,Yb|0,1,0)|0,A=U,I=Qb(Sb|0,db|0,-1,-1)|0,jc=T,lc=0,$b=I,kc=U,hc=M,ec=A),yc=0):(jc=Tb+2|0,lc=ac,$b=Sb,kc=db,hc=Vb,ec=Yb,yc=Pb+-2|0);G=G+1<<16>>16;if((G&65535)>=(N[h>>1]|0))break b;else V=yc,J=$b,B=kc,v=hc,r=ec,C=jc,z=lc}if(99==(Oa|0))Z(146063,144647,902,146078);else if(103==(Oa|0)){Wb(a[y>>2]|0,146111,146139,g);break a}}while(0);H=E&255;b:do switch(E<<
-24>>24){case 4:case 2:case 1:switch(Q|0){case 4:case 2:case 1:break;default:break b}k=b+192|0;z=N[k>>1]|0;C=b+194|0;r=N[C>>1]|0;if((H|0)==(z|0)&(Q|0)==(r|0))break a;v=a[y>>2]|0;a[e>>2]=z;a[e+4>>2]=r;a[e+8>>2]=H;a[e+12>>2]=Q;Wb(v,146111,146261,e);w[k>>1]=E&255;w[C>>1]=Q;break a}while(0);Wb(a[y>>2]|0,146111,146139,f)}}}else P=y,Oa=114;while(0);114==(Oa|0)&&Wb(a[P>>2]|0,145945,146379,c);ja(n);u=d;return 1},function(b){b|=0;var d,c,e,f,g=0;d=u;u=u+16|0;c=d;e=a[b+576>>2]|0;f=e+488|0;a[f>>2]|0?a[e+16>>
-2]|0||(Se(e),a[f>>2]=0,g=4):g=4;do if(4==(g|0)){var h;h=e;h|=0;var m,k,l,n,p,q,y=0,B=0;m=4;k=Hc(40)|0;a[k>>2]=0;l=h+492|0;Wa=0;n=si(19,l|0)|0;p=Wa;Wa=0;0!=(p|0)&0!=(pa|0)?((q=db(a[p>>2]|0,k|0,m|0)|0)||Vb(p|0,pa|0),U=pa):q=-1;1!=(q|0)?(a[h>>2]=n,a[l>>2]=14,a[h+500>>2]=15,a[h+12>>2]=0,k=Xc(h+624|0,1,k|0,m|0)|0,m=U,Wa=l=Wa=0,0!=(l|0)&0!=(pa|0)?((n=db(a[l>>2]|0,k|0,m|0)|0)||Vb(l|0,pa|0),U=pa):n=-1,l=1!=(n|0)?0:U):l=U;for(;;){if(l){y=0;B=7;break}Wa=0;Qi(14,h|0,90,488);n=Wa;Wa=0;0!=(n|0)&0!=(pa|0)?((l=
-db(a[n>>2]|0,k|0,m|0)|0)||Vb(n|0,pa|0),U=pa):l=-1;if(1==(l|0))l=U;else break}7!=(B|0)&&(y=1);Gc(k|0);h=y|0;h|0?a[f>>2]=1:e||Z(154187,144647,972,145904)}while(0);a[e+16>>2]|0||Z(145286,144647,973,145904);if(0!=(a[b+48>>2]&4|0)&&(f=e+800|0,a[e+24>>2]=f,a[e+812>>2]=16,a[e+816>>2]=1,a[e+820>>2]=29,a[e+824>>2]=5,a[e+804>>2]=0,a[f>>2]=0,a[e+808>>2]=6,2!=(fg(e,0)|0)))return Y(a[b+628>>2]|0,145904,145920,c),u=d,0;c=w[b+90>>1]|0;w[e+832>>1]=c;6==c<<16>>16?(w[e+834>>1]=w[b+192>>1]|0,c=w[b+194>>1]|0):c=w[e+
-834>>1]=1;w[e+836>>1]=c;c=e+800|0;a[e+24>>2]=c;a[e+808>>2]=7;a[e+812>>2]=16;a[e+816>>2]=1;a[e+820>>2]=29;a[e+824>>2]=5;a[e+804>>2]=0;a[c>>2]=0;a[b+652>>2]=3;u=d;return 1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,t=0,r;d=u;u=u+96|0;c=d+56|0;e=d+48|0;f=d+40|0;g=d+32|0;h=d+24|0;m=d+16|0;k=d+8|0;l=d;n=d+88|0;p=d+64|0;q=b+576|0;y=a[q>>2]|0;B=y+488|0;a[B>>2]|0?a[y+16>>2]|0&&(Se(y),a[B>>2]=0,t=4):t=4;do if(4==(t|0)){r=y;r|=0;var z,Q,C,x,v,E,J=0,I=0;z=4;Q=Hc(40)|0;a[Q>>2]=0;C=r+492|0;Wa=0;x=si(19,
-C|0)|0;v=Wa;Wa=0;0!=(v|0)&0!=(pa|0)?((E=db(a[v>>2]|0,Q|0,z|0)|0)||Vb(v|0,pa|0),U=pa):E=-1;1!=(E|0)?(a[r>>2]=x,a[C>>2]=14,a[r+500>>2]=15,a[r+12>>2]=0,Q=Xc(r+624|0,1,Q|0,z|0)|0,z=U,Wa=C=Wa=0,0!=(C|0)&0!=(pa|0)?((x=db(a[C>>2]|0,Q|0,z|0)|0)||Vb(C|0,pa|0),U=pa):x=-1,C=1!=(x|0)?0:U):C=U;for(;;){if(C){J=0;I=7;break}Wa=0;Qi(13,r|0,90,440);x=Wa;Wa=0;0!=(x|0)&0!=(pa|0)?((C=db(a[x>>2]|0,Q|0,z|0)|0)||Vb(x|0,pa|0),U=pa):C=-1;if(1==(C|0))C=U;else break}7!=(I|0)&&(J=1);Gc(Q|0);r=J|0;r|0?a[B>>2]=1:y||Z(154187,144647,
-1590,144952)}while(0);a[y+16>>2]|0&&Z(144876,144647,1591,144952);B=w[b+90>>1]|0;t=y+832|0;w[t>>1]=B;a:do{if(1==(w[b+126>>1]|0)){r=w[b+98>>1]|0;a[y+36>>2]=r&65535;if(6==B<<16>>16){B=y+40|0;a[B>>2]=1==(a[y+924>>2]|0)?2:3;break}b:do if(2>(B&65535)){if(1==r<<16>>16){a[y+40>>2]=1;break a}}else switch(B<<16>>16){case 2:if(3!=r<<16>>16)break b;a[y+40>>2]=2;break a;case 5:if(4!=r<<16>>16)break b;a[y+40>>2]=4;break a;default:break b}while(0)}else a[y+36>>2]=1;a[y+40>>2]=0}while(0);B=y|0;J=Q=0;r=4;z=Hc(40)|
-0;a[z>>2]=0;z=Xc(B+624|0,1,z|0,r|0)|0;r=U;Wa=C=Wa=0;0!=(C|0)&0!=(pa|0)?((I=db(a[C>>2]|0,z|0,r|0)|0)||Vb(C|0,pa|0),U=pa):I=-1;for(I=1==(I|0)?U:0;;){if(I){Q=0;J=6;break}Wa=0;ri(16,B|0);I=Wa;Wa=0;0!=(I|0)&0!=(pa|0)?((C=db(a[I>>2]|0,z|0,r|0)|0)||Vb(I|0,pa|0),U=pa):C=-1;if(1==(C|0))I=U;else break}6!=(J|0)&&(Q=1);Gc(z|0);if(!(Q|0))return u=d,0;B=N[t>>1]|0;switch(B|0){case 6:w[y+834>>1]=w[b+192>>1]|0;w[y+836>>1]=w[b+194>>1]|0;a[l>>2]=n;Pd(b,532,l)|0||(l=1<<N[b+84>>1],W[p>>2]=0,m=+(l+-1|0),W[p+4>>2]=m,l=
-+(l>>1|0),W[p+8>>2]=l,W[p+12>>2]=m,W[p+16>>2]=l,W[p+20>>2]=m,a[k>>2]=p,lb(b,532,k)|0);break;case 4:case 3:return k=a[b+628>>2]|0,a[m>>2]=B,Y(k,144952,144968,m),u=d,0;default:w[y+834>>1]=1,w[y+836>>1]=1}m=w[b+84>>1]|0;k=m&65535;if(8!=m<<16>>16)return m=a[b+628>>2]|0,a[h>>2]=k,Y(m,144952,145018,h),u=d,0;a[y+72>>2]=k;k=b+12|0;if(a[k>>2]&1024){e=N[y+836>>1]<<3;if(((a[b+72>>2]|0)>>>0)%(e>>>0)|0)return h=a[b+628>>2]|0,a[g>>2]=e,Y(h,144952,145056,g),u=d,0;g=N[y+834>>1]<<3;if(((a[b+68>>2]|0)>>>0)%(g>>>0)|
-0)return h=a[b+628>>2]|0,a[f>>2]=g,Y(h,144952,145096,f),u=d,0}else if(h=a[b+100>>2]|0,h>>>0<(a[b+60>>2]|0)>>>0&&(m=N[y+836>>1]<<3,0!=((h>>>0)%(m>>>0)|0)))return h=a[b+628>>2]|0,a[e>>2]=m,Y(h,144952,145135,e),u=d,0;do if(a[y+928>>2]&3){if(f=a[y+912>>2]|0,0==(f|0)||0==(Ak(f,145180,8)|0)){f=a[q>>2]|0;if(!(mg(f,a[f+920>>2]|0)|0))return b=0,u=d,b|0;e=f;e|=0;l=p=0;g=4;h=Hc(40)|0;a[h>>2]=0;h=Xc(e+624|0,1,h|0,g|0)|0;g=U;Wa=n=Wa=0;0!=(n|0)&0!=(pa|0)?((m=db(a[n>>2]|0,h|0,g|0)|0)||Vb(n|0,pa|0),U=pa):m=-1;for(m=
-1==(m|0)?U:0;;){if(m){p=0;l=6;break}Wa=0;dk(4,e|0,1);m=Wa;Wa=0;0!=(m|0)&0!=(pa|0)?((n=db(a[m>>2]|0,h|0,g|0)|0)||Vb(m|0,pa|0),U=pa):n=-1;if(1==(n|0))m=U;else break}6!=(l|0)&&(p=1);Gc(h|0);e=p|0;if(!(e|0))return b=0,u=d,b|0;h=a[f+928>>2]|0;h&1&&(g=f+88|0,(e=a[g>>2]|0)&&(a[e+128>>2]=0),6==(w[f+832>>1]|0)&&(e=a[g+4>>2]|0,0!=(e|0))&&(a[e+128>>2]=0));h&2&&(h=f+120|0,(e=a[h>>2]|0)&&(a[e+276>>2]=0),e=f+136|0,(g=a[e>>2]|0)&&(a[g+276>>2]=0),6==(w[f+832>>1]|0)&&((g=a[h+4>>2]|0)&&(a[g+276>>2]=0),(g=a[e+4>>2]|
-0)&&(a[g+276>>2]=0)));g=f+912|0;(e=a[g>>2]|0)&&ja(e);e=f+916|0;a[e>>2]=1E3;h=eb(1E3)|0;a[g>>2]=h;if(!h)return a[e>>2]=0,Y(a[(a[f+828>>2]|0)+628>>2]|0,145190,145211,c),b=0,u=d,b|0;a[f+24>>2]=f+780;a[f+788>>2]=8;a[f+792>>2]=17;a[f+796>>2]=9;f|=0;p=h=0;e=4;g=Hc(40)|0;a[g>>2]=0;g=Xc(f+624|0,1,g|0,e|0)|0;e=U;Wa=m=Wa=0;0!=(m|0)&0!=(pa|0)?((l=db(a[m>>2]|0,g|0,e|0)|0)||Vb(m|0,pa|0),U=pa):l=-1;for(l=1==(l|0)?U:0;;){if(l){h=0;p=6;break}Wa=0;ri(17,f|0);l=Wa;Wa=0;0!=(l|0)&0!=(pa|0)?((m=db(a[l>>2]|0,g|0,e|0)|
-0)||Vb(l|0,pa|0),U=pa):m=-1;if(1==(m|0))l=U;else break}6!=(p|0)&&(h=1);Gc(g|0);f=h|0;if(f|0)a[k>>2]|=8,f=b+48|0,a[f>>2]|=4;else return b=0,u=d,b|0}}else f=b+48|0,a[f>>2]&=-5;while(0);a[y+24>>2]=y+780;a[y+788>>2]=10;a[y+792>>2]=18;a[y+796>>2]=11;u=d;return 1},function(b){var d,c,e,f,g,h,m,k,l,n,p;d=(b|0)+576|0;b=a[d>>2]|0;c=b+884|0;e=a[c>>2]|0;do if(0<(e|0)){f=b+76|0;g=a[f>>2]|0;a:do if(0<(g|0))for(h=e,m=g,g=0,k=a[b+84>>2]|0;;){l=a[k+12>>2]|0;n=a[k+28>>2]<<3;h=E(h,l)|0;if((h|0)<(l<<3|0)){m=b+844+(g<<
-2)|0;p=l<<3;l=h;do h=a[m>>2]|0,Ab(a[h+(l<<2)>>2]|0,a[h+(l+-1<<2)>>2]|0,n),l=l+1|0;while((l|0)!=(p|0));l=a[f>>2]|0}else l=m;p=g+1|0;if((p|0)>=(l|0))break a;h=a[c>>2]|0;m=l;g=p;k=k+88|0}while(0);f=a[b+276>>2]<<3;if((Re(b,b+844|0,f)|0)==(f|0))f=a[d>>2]|0;else return b=0,b|0}else f=b;while(0);b=f|0;f=e=0;d=4;c=Hc(40)|0;a[c>>2]=0;c=Xc(b+624|0,1,c|0,d|0)|0;d=U;Wa=k=Wa=0;0!=(k|0)&0!=(pa|0)?((g=db(a[k>>2]|0,c|0,d|0)|0)||Vb(k|0,pa|0),U=pa):g=-1;for(g=1==(g|0)?U:0;;){if(g){e=0;f=6;break}Wa=0;ri(13,b|0);g=Wa;
-Wa=0;0!=(g|0)&0!=(pa|0)?((k=db(a[g>>2]|0,c|0,d|0)|0)||Vb(g|0,pa|0),U=pa):k=-1;if(1==(k|0))g=U;else break}6!=(f|0)&&(e=1);Gc(c|0);b=e|0;return b|0},function(b){b|=0;var d;d=a[b>>2]|0;a[d+20>>2]=123;ub[a[d+4>>2]&31](b,-1);d=b+800|0;a[d>>2]=145943;a[d+4>>2]=2;return 1},function(b){b|=0;var d,c,e,f;d=b+912|0;c=b+916|0;e=nf(a[d>>2]|0,(a[c>>2]|0)+1E3|0)|0;e||(f=a[b>>2]|0,a[f+20>>2]=56,a[f+24>>2]=100,R[a[f>>2]&127](b));f=a[c>>2]|0;a[b+780>>2]=e+f;a[b+784>>2]=1E3;a[d>>2]=e;a[c>>2]=f+1E3;return 1},function(b){b|=
-0;var d,c;d=a[b+828>>2]|0;c=d+592|0;a[d+608>>2]=a[c>>2];Lc(d)|0;a[b+780>>2]=a[d+588>>2];a[b+784>>2]=a[c>>2];return 1},Fg,function(b){b|=0;var d,c,e,f=0,g=0;d=b+20|0;c=a[d>>2]|0;2>(c+-205|0)>>>0&&0==(a[b+64>>2]|0)?((a[b+140>>2]|0)>>>0<(a[b+116>>2]|0)>>>0&&(e=a[b>>2]|0,a[e+20>>2]=69,R[a[e>>2]&127](b)),R[a[(a[b+444>>2]|0)+4>>2]&127](b),a[d>>2]=210):f=6;a:do if(6==(f|0))switch(c|0){case 210:break a;case 207:a[d>>2]=210;break a;default:e=a[b>>2]|0;a[e+20>>2]=21;a[e+24>>2]=c;R[a[e>>2]&127](b);break a}while(0);
-for(c=b+460|0;;){d=a[c>>2]|0;if(a[d+20>>2]|0)break;if(!(da[a[d>>2]&63](b)|0)){g=0;f=13;break}}if(13==(f|0))return g|0;R[a[(a[b+24>>2]|0)+24>>2]&127](b);yi(b);return 1},function(b){b|=0;var d,c,e=0,f,g=0,h,m,k,l,n,p,q,y;d=b+20|0;c=a[d>>2]|0;a:do switch(c|0){case 202:var B=b,B=B|0,H=void 0,r=void 0,z=void 0,u=void 0,C=void 0,x=void 0,w=void 0,v=void 0,J=void 0,I=void 0,H=B+4|0,r=Aa[a[a[H>>2]>>2]&63](B,1,28)|0;a[B+444>>2]=r;a[r>>2]=43;a[r+4>>2]=44;a[r+8>>2]=0;z=a[B+212>>2]|0;8!=(z|0)&&(u=a[B>>2]|0,a[u+
-20>>2]=16,a[u+24>>2]=z,R[a[u>>2]&127](B));var G=B,G=G|0,L=void 0,K=void 0,A=void 0,D=void 0,O=void 0,M=void 0,T=void 0,X=void 0,P=void 0,F=void 0,N=void 0,S=void 0,ba=void 0,Y=0,W=void 0,U=void 0,ga=void 0,Ha=void 0,ma=0,aa=0,ha=0,ca=void 0,fa=void 0,L=a[G+20>>2]|0;202!=(L|0)&&(K=a[G>>2]|0,a[K+20>>2]=21,a[K+24>>2]=L,R[a[K>>2]&127](G));var Z=G,Z=Z|0,ja=void 0,pa=void 0,ya=void 0,oa=void 0,sa=void 0,ra=void 0,ua=void 0,ja=Z+428|0,pa=a[ja>>2]|0,ya=E(pa,a[Z+48>>2]|0)|0,oa=a[Z+52>>2]|0;ya>>>0>oa>>>0?ya>>>
-0<=oa<<1>>>0?(sa=Gb(a[Z+28>>2]<<1,pa)|0,a[Z+112>>2]=sa,sa=Gb(a[Z+32>>2]<<1,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=2,ra=a[Z+328>>2]=2):ya>>>0<=(3*oa|0)>>>0?(sa=Gb(3*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(3*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=3,ra=a[Z+328>>2]=3):ya>>>0<=oa<<2>>>0?(sa=Gb(a[Z+28>>2]<<2,pa)|0,a[Z+112>>2]=sa,sa=Gb(a[Z+32>>2]<<2,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=4,ra=a[Z+328>>2]=4):ya>>>0<=(5*oa|0)>>>0?(sa=Gb(5*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=
-Gb(5*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=5,ra=a[Z+328>>2]=5):ya>>>0<=(6*oa|0)>>>0?(sa=Gb(6*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(6*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=6,ra=a[Z+328>>2]=6):ya>>>0<=(7*oa|0)>>>0?(sa=Gb(7*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(7*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=7,ra=a[Z+328>>2]=7):ya>>>0<=oa<<3>>>0?(sa=Gb(a[Z+28>>2]<<3,pa)|0,a[Z+112>>2]=sa,sa=Gb(a[Z+32>>2]<<3,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+
-324>>2]=8,ra=a[Z+328>>2]=8):ya>>>0<=(9*oa|0)>>>0?(sa=Gb(9*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(9*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=9,ra=a[Z+328>>2]=9):ya>>>0<=(10*oa|0)>>>0?(sa=Gb(10*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(10*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=10,ra=a[Z+328>>2]=10):ya>>>0<=(11*oa|0)>>>0?(sa=Gb(11*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(11*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=11,ra=a[Z+328>>2]=11):ya>>>
-0<=(12*oa|0)>>>0?(sa=Gb(12*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(12*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=12,ra=a[Z+328>>2]=12):ya>>>0<=(13*oa|0)>>>0?(sa=Gb(13*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(13*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=13,ra=a[Z+328>>2]=13):ya>>>0<=(14*oa|0)>>>0?(sa=Gb(14*(a[Z+28>>2]|0)|0,pa)|0,a[Z+112>>2]=sa,sa=Gb(14*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=sa,a[Z+324>>2]=14,ra=a[Z+328>>2]=14):(sa=a[Z+28>>2]|0,ya>>>0>(15*oa|
-0)>>>0?(ua=Gb(sa<<4,pa)|0,a[Z+112>>2]=ua,ua=Gb(a[Z+32>>2]<<4,a[ja>>2]|0)|0,a[Z+116>>2]=ua,a[Z+324>>2]=16,ra=a[Z+328>>2]=16):(ua=Gb(15*sa|0,pa)|0,a[Z+112>>2]=ua,ua=Gb(15*(a[Z+32>>2]|0)|0,a[ja>>2]|0)|0,a[Z+116>>2]=ua,a[Z+324>>2]=15,ra=a[Z+328>>2]=15)):(ua=Gb(a[Z+28>>2]|0,pa)|0,a[Z+112>>2]=ua,ua=Gb(a[Z+32>>2]|0,a[ja>>2]|0)|0,a[Z+116>>2]=ua,a[Z+324>>2]=1,ra=a[Z+328>>2]=1);ja=a[Z+36>>2]|0;if(!(0>=(ja|0)))for(pa=0,oa=a[Z+216>>2]|0;!(a[oa+36>>2]=ra,a[oa+40>>2]=ra,pa=pa+1|0,(pa|0)>=(ja|0));)oa=oa+88|0;K=
-a[G+216>>2]|0;L=G+36|0;A=a[L>>2]|0;if(D=0<(A|0)){O=a[G+324>>2]|0;M=0!=(a[G+76>>2]|0)?8:4;T=G+320|0;X=a[G+328>>2]|0;if((O|0)>(M|0))for(P=(X|0)>(M|0),F=O<<1,N=0,S=K;;){ba=S+36|0;a[ba>>2]=O;c:do if(P)Y=1;else for(W=a[T>>2]|0,U=a[S+12>>2]|0,ga=1;;){Ha=ga<<1;if((W|0)%(E(Ha,U)|0)|0){Y=ga;break c}if((E(X,Ha)|0)>(M|0)){Y=Ha;break}else ga=Ha}while(0);ga=E(X,Y)|0;U=S+40|0;a[U>>2]=ga;W=ga<<1;(O|0)<=(W|0)?(ga|0)>(F|0)&&(a[U>>2]=F):a[ba>>2]=W;N=N+1|0;if((N|0)>=(A|0))break;else S=S+88|0}else for(S=a[G+316>>2]|
-0,N=(X|0)>(M|0),F=0,Y=K;;){P=a[Y+8>>2]|0;for(W=1;;){U=W<<1;if((S|0)%(E(U,P)|0)|0){ma=W;break}if((E(O,U)|0)>(M|0)){ma=U;break}else W=U}W=E(O,ma)|0;P=Y+36|0;a[P>>2]=W;c:do if(N)aa=1;else for(ba=a[T>>2]|0,U=a[Y+12>>2]|0,ga=1;;){Ha=ga<<1;if((ba|0)%(E(Ha,U)|0)|0){aa=ga;break c}if((E(X,Ha)|0)>(M|0)){aa=Ha;break}else ga=Ha}while(0);ga=E(X,aa)|0;U=Y+40|0;a[U>>2]=ga;ba=ga<<1;(W|0)<=(ba|0)?(Ha=W<<1,(ga|0)>(Ha|0)&&(a[U>>2]=Ha)):a[P>>2]=ba;F=F+1|0;if((F|0)>=(A|0))break;else Y=Y+88|0}if(D)for(D=G+28|0,Y=G+316|
-0,F=G+428|0,aa=G+32|0,X=G+320|0,M=0,T=K;;)if(K=E(E(a[T+8>>2]|0,a[D>>2]|0)|0,a[T+36>>2]|0)|0,N=Gb(K,E(a[F>>2]|0,a[Y>>2]|0)|0)|0,a[T+44>>2]=N,N=E(E(a[T+12>>2]|0,a[aa>>2]|0)|0,a[T+40>>2]|0)|0,K=Gb(N,E(a[F>>2]|0,a[X>>2]|0)|0)|0,a[T+48>>2]=K,M=M+1|0,K=a[L>>2]|0,(M|0)>=(K|0)){ha=K;break}else T=T+88|0;else ha=A}else ha=A;switch(a[G+44>>2]|0){case 1:ca=a[G+120>>2]=1;break;case 6:case 2:ca=a[G+120>>2]=3;break;case 7:case 3:ca=a[G+120>>2]=3;break;case 5:case 4:ca=a[G+120>>2]=4;break;default:ca=a[G+120>>2]=
-ha}a[G+124>>2]=0==(a[G+84>>2]|0)?ca:1;vh(G)|0?(fa=a[G+320>>2]|0,a[(G+128|0)>>2]=fa):a[(G+128|0)>>2]=1;u=Aa[a[a[H>>2]>>2]&63](B,1,1280)|0;Va(u|0,0,512)|0;a[B+336>>2]=u+512;z=0;do t[u+(z+512)>>0]=z,z=z+1|0;while(256!=(z|0));Va(u+768|0,-1,512)|0;0!=(a[B+116>>2]|0)&&0!=(a[B+112>>2]|0)&&(u=B+120|0,1<=(a[u>>2]|0))?C=u:(u=a[B>>2]|0,a[u+20>>2]=33,R[a[u>>2]&127](B),C=B+120|0);u=r+12|0;a[u>>2]=0;z=vh(B)|0;x=r+16|0;a[x>>2]=z;z=r+20|0;a[z>>2]=0;w=r+24|0;a[w>>2]=0;if(a[B+84>>2]|0){a[B+64>>2]|0||(a[B+100>>2]=0,
-a[B+104>>2]=0,a[B+108>>2]=0);r=B+68|0;a[r>>2]|0&&(J=a[B>>2]|0,a[J+20>>2]=48,R[a[J>>2]&127](B));3==(a[C>>2]|0)?a[B+136>>2]|0?a[B+104>>2]=1:a[B+92>>2]|0?a[B+108>>2]=1:a[B+100>>2]=1:(a[B+100>>2]=1,a[B+104>>2]=0,a[B+108>>2]=0,a[B+136>>2]=0);if(a[B+100>>2]|0){var Ia=B,Ia=Ia|0,Da=void 0,na=void 0,Na=void 0,Ka=void 0,Ca=void 0,Ga=void 0,Ea=void 0,La=void 0,Qa=void 0,Wa=void 0,eb=void 0,ab=void 0,xb=void 0,Zb=void 0,pb=void 0,jb=void 0,mc=void 0,Ab=void 0,Ta=void 0,Ya=void 0,Sa=void 0,mb=void 0,Db=void 0,
-cc=void 0,Za=void 0,ia=void 0,qa=void 0,Da=Ia+4|0,na=Aa[a[a[Da>>2]>>2]&63](Ia,1,88)|0,Na=Ia+484|0;a[Na>>2]=na;a[na>>2]=13;a[na+8>>2]=50;a[na+12>>2]=51;a[na+68>>2]=0;a[na+52>>2]=0;na=Ia+120|0;4<(a[na>>2]|0)&&(Ka=a[Ia>>2]|0,a[Ka+20>>2]=57,a[Ka+24>>2]=4,R[a[Ka>>2]&127](Ia));Ka=Ia+96|0;Ca=a[Ka>>2]|0;256<(Ca|0)?(Ga=a[Ia>>2]|0,a[Ga+20>>2]=59,a[Ga+24>>2]=256,R[a[Ga>>2]&127](Ia),Ea=a[Ka>>2]|0):Ea=Ca;Ca=a[Na>>2]|0;Ka=Ca+32|0;Ga=a[na>>2]|0;if(1<(Ga|0))for(La=1;;){Qa=La+1|0;Wa=1;for(eb=Qa;;)if(ab=E(eb,Qa)|0,
-Wa=Wa+1|0,(Wa|0)==(Ga|0)){xb=ab;break}else eb=ab;if((xb|0)>(Ea|0)){Zb=La;pb=xb;break}else La=Qa}else Zb=La=1<(Ea|0)?Ea:1,pb=La+1|0;2>(Zb|0)&&(La=a[Ia>>2]|0,a[La+20>>2]=58,a[La+24>>2]=pb,R[a[La>>2]&127](Ia));if(0<(Ga|0))for(La=0,pb=1;;)if(a[Ca+32+(La<<2)>>2]=Zb,xb=E(pb,Zb)|0,La=La+1|0,(La|0)==(Ga|0)){jb=xb;break}else pb=xb;else jb=1;pb=Ia+44|0;Zb=La=0;xb=jb;b:for(;;){jb=La;for(eb=Zb;;){if((eb|0)<(Ga|0)&&(mc=2==(a[pb>>2]|0)?a[119972+(eb<<2)>>2]|0:eb,Wa=Ca+32+(mc<<2)|0,ab=a[Wa>>2]|0,Ab=ab+1|0,Ta=E((xb|
-0)/(ab|0)|0,Ab)|0,(Ta|0)<=(Ea|0))){Ya=Wa;Sa=Ab;mb=Ta;Db=eb;break}if(jb)eb=jb=0;else{cc=xb;break b}}a[Ya>>2]=Sa;La=1;Zb=Db+1|0;xb=mb}mb=a[Ia>>2]|0;xb=a[mb+4>>2]|0;3==(a[na>>2]|0)?(a[mb+24>>2]=cc,a[mb+28>>2]=a[Ka>>2],a[mb+32>>2]=a[Ca+36>>2],a[mb+36>>2]=a[Ca+40>>2],a[mb+20>>2]=96):(a[mb+20>>2]=97,a[mb+24>>2]=cc);ub[xb&31](Ia,1);xb=rb[a[(a[Da>>2]|0)+8>>2]&63](Ia,1,cc,a[na>>2]|0)|0;mb=a[na>>2]|0;if(0<(mb|0))for(Ka=mb,mb=cc,Db=0;;){Zb=a[Ca+32+(Db<<2)>>2]|0;La=mb;mb=(mb|0)/(Zb|0)|0;b:do if(0<(Zb|0)){Sa=
-Zb+-1|0;Ya=(Sa|0)/2|0;Ea=xb+(Db<<2)|0;if(0<(mb|0))Za=0;else for(mc=0;;){pb=E(mc,mb)|0;if((pb|0)<(cc|0)){Ga=pb;do Ga=Ga+La|0;while((Ga|0)<(cc|0))}mc=mc+1|0;if((mc|0)==(Zb|0)){ia=Ka;break b}}do{mc=E(Za,mb)|0;if((mc|0)<(cc|0)){Ga=(((255*Za|0)+Ya|0)/(Sa|0)|0)&255;pb=mc;do{mc=0;do t[(a[Ea>>2]|0)+(mc+pb)>>0]=Ga,mc=mc+1|0;while((mc|0)!=(mb|0));pb=pb+La|0}while((pb|0)<(cc|0))}Za=Za+1|0}while((Za|0)!=(Zb|0));ia=a[na>>2]|0}else ia=Ka;while(0);Db=Db+1|0;if((Db|0)>=(ia|0))break;else Ka=ia}a[Ca+16>>2]=xb;a[Ca+
-20>>2]=cc;Lh(Ia);if(2==(a[Ia+88>>2]|0)&&(cc=a[Na>>2]|0,Na=(a[Ia+112>>2]<<1)+4|0,0<(a[na>>2]|0))){qa=0;do Ca=Aa[a[(a[Da>>2]|0)+4>>2]&63](Ia,1,Na)|0,a[cc+68+(qa<<2)>>2]=Ca,qa=qa+1|0;while((qa|0)<(a[na>>2]|0))}a[z>>2]=a[B+484>>2]}if(0!=(a[B+108>>2]|0)||0!=(a[B+104>>2]|0)){var Ja=B,Ja=Ja|0,ea=void 0,wa=void 0,Ma=void 0,xa=void 0,$a=void 0,la=void 0,ea=Ja+4|0,wa=Aa[a[a[ea>>2]>>2]&63](Ja,1,44)|0;a[Ja+484>>2]=wa;a[wa>>2]=14;a[wa+12>>2]=52;Ma=wa+32|0;a[Ma>>2]=0;a[wa+40>>2]=0;3!=(a[Ja+120>>2]|0)&&(xa=a[Ja>>
-2]|0,a[xa+20>>2]=48,R[a[xa>>2]&127](Ja));xa=Aa[a[a[ea>>2]>>2]&63](Ja,1,128)|0;$a=wa+24|0;a[$a>>2]=xa;xa=0;do la=Aa[a[(a[ea>>2]|0)+4>>2]&63](Ja,1,4096)|0,a[(a[$a>>2]|0)+(xa<<2)>>2]=la,xa=xa+1|0;while(32!=(xa|0));a[wa+28>>2]=1;a[Ja+108>>2]|0?(xa=a[Ja+96>>2]|0,8<=(xa|0)?256<(xa|0)&&($a=a[Ja>>2]|0,a[$a+20>>2]=59,a[$a+24>>2]=256,R[a[$a>>2]&127](Ja)):($a=a[Ja>>2]|0,a[$a+20>>2]=58,a[$a+24>>2]=8,R[a[$a>>2]&127](Ja)),$a=rb[a[(a[ea>>2]|0)+8>>2]&63](Ja,1,xa,3)|0,a[wa+16>>2]=$a,a[wa+20>>2]=xa):a[wa+16>>2]=0;
-xa=Ja+88|0;a[xa>>2]|0&&(a[xa>>2]=2,xa=Aa[a[(a[ea>>2]|0)+4>>2]&63](Ja,1,(6*(a[Ja+112>>2]|0)|0)+12|0)|0,a[Ma>>2]=xa,Mh(Ja));a[w>>2]=a[B+484>>2]}v=r}else a[B+100>>2]=0,a[B+104>>2]=0,a[B+108>>2]=0,v=B+68|0;if(!(a[v>>2]|0)){if(a[x>>2]|0){var Ba=B,Ba=Ba|0,va=void 0,za=void 0,ta=void 0,nb=void 0,sc=void 0,gb=void 0,hb=void 0,va=Ba+4|0,za=Aa[a[a[va>>2]>>2]&63](Ba,1,48)|0,ta=Ba+476|0;a[ta>>2]=za;a[za>>2]=45;a[za+8>>2]=0;nb=E(a[Ba+120>>2]|0,a[Ba+112>>2]|0)|0;a[za+40>>2]=nb;sc=za+4|0;2==(a[Ba+320>>2]|0)?(a[sc>>
-2]=3,a[za+12>>2]=11,gb=Aa[a[(a[va>>2]|0)+4>>2]&63](Ba,1,nb)|0,a[za+32>>2]=gb,hb=a[ta>>2]|0):(a[sc>>2]=4,a[za+12>>2]=12,a[za+32>>2]=0,hb=za);za=7==(a[Ba+40>>2]|0);sc=Aa[a[a[va>>2]>>2]&63](Ba,1,1024)|0;ta=hb+16|0;a[ta>>2]=sc;sc=Aa[a[a[va>>2]>>2]&63](Ba,1,1024)|0;gb=hb+20|0;a[gb>>2]=sc;sc=Aa[a[a[va>>2]>>2]&63](Ba,1,1024)|0;nb=hb+24|0;a[nb>>2]=sc;sc=Aa[a[a[va>>2]>>2]&63](Ba,1,1024)|0;a[hb+28>>2]=sc;hb=a[ta>>2]|0;ta=a[gb>>2]|0;gb=a[nb>>2]|0;if(za)for(za=0,nb=-128;a[hb+(za<<2)>>2]=(183763*nb|0)+32768>>
-16,a[ta+(za<<2)>>2]=(232260*nb|0)+32768>>16,Ba=E(nb,-93603)|0,a[gb+(za<<2)>>2]=Ba,Ba=(E(nb,-45107)|0)+32768|0,a[sc+(za<<2)>>2]=Ba,za=za+1|0,256!=(za|0);)nb=nb+1|0;else for(nb=0,za=-128;a[hb+(nb<<2)>>2]=(91881*za|0)+32768>>16,a[ta+(nb<<2)>>2]=(116130*za|0)+32768>>16,Ba=E(za,-46802)|0,a[gb+(nb<<2)>>2]=Ba,Ba=(E(za,-22553)|0)+32768|0,a[sc+(nb<<2)>>2]=Ba,nb=nb+1|0,256!=(nb|0);)za=za+1|0}else{var ob=B,ob=ob|0,Bb=void 0,qb=void 0,kb=void 0,ib=void 0,Cb=void 0,Hb=void 0,sb=void 0,Xa=void 0,Fa=void 0,Pa=void 0,
-Eb=void 0,vb=void 0,tb=void 0,bb=void 0,Bb=ob+4|0,qb=Aa[a[a[Bb>>2]>>2]&63](ob,1,28)|0,kb=ob+480|0;a[kb>>2]=qb;a[qb>>2]=67;ib=ob+40|0;switch(a[ib>>2]|0){case 1:1!=(a[ob+36>>2]|0)&&(Cb=a[ob>>2]|0,a[Cb+20>>2]=11,R[a[Cb>>2]&127](ob));break;case 7:case 6:case 3:case 2:3!=(a[ob+36>>2]|0)&&(Cb=a[ob>>2]|0,a[Cb+20>>2]=11,R[a[Cb>>2]&127](ob));break;case 5:case 4:4!=(a[ob+36>>2]|0)&&(Cb=a[ob>>2]|0,a[Cb+20>>2]=11,R[a[Cb>>2]&127](ob));break;default:1>(a[ob+36>>2]|0)&&(Cb=a[ob>>2]|0,a[Cb+20>>2]=11,R[a[Cb>>2]&127](ob))}Cb=
-ob+304|0;c:do if(a[Cb>>2]|0){switch(a[ib>>2]|0){case 6:case 2:break c}Hb=a[ob>>2]|0;a[Hb+20>>2]=28;R[a[Hb>>2]&127](ob)}while(0);Hb=a[ob+44>>2]|0;c:do switch(Hb|0){case 1:a[ob+120>>2]=1;switch(a[ib>>2]|0){case 7:case 3:case 1:a[qb+4>>2]=9;sb=a[ob+36>>2]|0;if(1>=(sb|0))break c;Xa=a[ob+216>>2]|0;Fa=1;do a[Xa+(88*Fa|0)+52>>2]=0,Fa=Fa+1|0;while((Fa|0)<(sb|0));break;case 2:switch(a[Cb>>2]|0){case 0:a[qb+4>>2]=10;break;case 1:a[qb+4>>2]=11;break;default:sb=a[ob>>2]|0,a[sb+20>>2]=28,R[a[sb>>2]&127](ob)}sb=
-a[kb>>2]|0;Fa=Aa[a[a[Bb>>2]>>2]&63](ob,1,3072)|0;a[sb+24>>2]=Fa;sb=0;do a[Fa+(sb<<2)>>2]=19595*sb,a[Fa+(sb+256<<2)>>2]=38470*sb,a[Fa+(sb+512<<2)>>2]=(7471*sb|0)+32768,sb=sb+1|0;while(256!=(sb|0));break;default:sb=a[ob>>2]|0;a[sb+20>>2]=28;R[a[sb>>2]&127](ob);break c}break;case 2:a[ob+120>>2]=3;switch(a[ib>>2]|0){case 1:a[qb+4>>2]=12;break c;case 3:a[qb+4>>2]=13;sb=a[kb>>2]|0;Fa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Xa=sb+8|0;a[Xa>>2]=Fa;Fa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Pa=sb+12|0;a[Pa>>2]=Fa;Fa=
-Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Eb=sb+16|0;a[Eb>>2]=Fa;Fa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;a[sb+20>>2]=Fa;sb=a[Xa>>2]|0;Xa=a[Pa>>2]|0;Pa=a[Eb>>2]|0;Eb=0;for(vb=-128;a[sb+(Eb<<2)>>2]=(91881*vb|0)+32768>>16,a[Xa+(Eb<<2)>>2]=(116130*vb|0)+32768>>16,tb=E(vb,-46802)|0,a[Pa+(Eb<<2)>>2]=tb,tb=(E(vb,-22553)|0)+32768|0,a[Fa+(Eb<<2)>>2]=tb,Eb=Eb+1|0,256!=(Eb|0);)vb=vb+1|0;break;case 7:a[qb+4>>2]=13;vb=a[kb>>2]|0;Eb=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Fa=vb+8|0;a[Fa>>2]=Eb;Eb=Aa[a[a[Bb>>2]>>2]&63](ob,1,
-1024)|0;Pa=vb+12|0;a[Pa>>2]=Eb;Eb=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Xa=vb+16|0;a[Xa>>2]=Eb;Eb=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;a[vb+20>>2]=Eb;vb=a[Fa>>2]|0;Fa=a[Pa>>2]|0;Pa=a[Xa>>2]|0;Xa=0;for(sb=-128;a[vb+(Xa<<2)>>2]=(183763*sb|0)+32768>>16,a[Fa+(Xa<<2)>>2]=(232260*sb|0)+32768>>16,tb=E(sb,-93603)|0,a[Pa+(Xa<<2)>>2]=tb,tb=(E(sb,-45107)|0)+32768|0,a[Eb+(Xa<<2)>>2]=tb,Xa=Xa+1|0,256!=(Xa|0);)sb=sb+1|0;break;case 2:switch(a[Cb>>2]|0){case 0:a[qb+4>>2]=14;break c;case 1:a[qb+4>>2]=15;break c;default:sb=
-a[ob>>2]|0;a[sb+20>>2]=28;R[a[sb>>2]&127](ob);break c}default:sb=a[ob>>2]|0;a[sb+20>>2]=28;R[a[sb>>2]&127](ob);break c}break;case 6:a[ob+120>>2]=3;if(6!=(a[ib>>2]|0)){sb=a[ob>>2]|0;a[sb+20>>2]=28;R[a[sb>>2]&127](ob);break c}switch(a[Cb>>2]|0){case 0:a[qb+4>>2]=14;break c;case 1:a[qb+4>>2]=15;break c;default:sb=a[ob>>2]|0;a[sb+20>>2]=28;R[a[sb>>2]&127](ob);break c}case 4:a[ob+120>>2]=4;switch(a[ib>>2]|0){case 5:a[qb+4>>2]=16;sb=a[kb>>2]|0;Xa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Eb=sb+8|0;a[Eb>>2]=Xa;
-Xa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Pa=sb+12|0;a[Pa>>2]=Xa;Xa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;Fa=sb+16|0;a[Fa>>2]=Xa;Xa=Aa[a[a[Bb>>2]>>2]&63](ob,1,1024)|0;a[sb+20>>2]=Xa;sb=a[Eb>>2]|0;Eb=a[Pa>>2]|0;Pa=a[Fa>>2]|0;Fa=0;for(vb=-128;a[sb+(Fa<<2)>>2]=(91881*vb|0)+32768>>16,a[Eb+(Fa<<2)>>2]=(116130*vb|0)+32768>>16,tb=E(vb,-46802)|0,a[Pa+(Fa<<2)>>2]=tb,tb=(E(vb,-22553)|0)+32768|0,a[Xa+(Fa<<2)>>2]=tb,Fa=Fa+1|0,256!=(Fa|0);)vb=vb+1|0;break;case 4:a[qb+4>>2]=17;break c;default:vb=a[ob>>2]|0;a[vb+20>>2]=
-28;R[a[vb>>2]&127](ob);break c}break;default:(Hb|0)==(a[ib>>2]|0)?(a[ob+120>>2]=a[ob+36>>2],a[qb+4>>2]=17):(vb=a[ob>>2]|0,a[vb+20>>2]=28,R[a[vb>>2]&127](ob));break c}while(0);a[ob+84>>2]|0?a[(ob+124|0)>>2]=1:(bb=a[ob+120>>2]|0,a[(ob+124|0)>>2]=bb);var Ib=B,Ib=Ib|0,Mb=void 0,fb=void 0,Ua=void 0,Wb=void 0,Jb=void 0,Kb=void 0,yb=void 0,cb=void 0,gc=void 0,Ub=void 0,Fb=void 0,Lb=void 0,lb=void 0,nd=void 0,Zd=void 0,wb=void 0,Pb=void 0,Qd=void 0,zb=void 0,Ob=void 0,Mb=Ib+4|0,fb=Aa[a[a[Mb>>2]>>2]&63](Ib,
-1,160)|0;a[Ib+476>>2]=fb;a[fb>>2]=46;a[fb+4>>2]=8;a[fb+8>>2]=0;a[Ib+308>>2]|0&&(Ua=a[Ib>>2]|0,a[Ua+20>>2]=26,R[a[Ua>>2]&127](Ib));Ua=Ib+36|0;if(!(0>=(a[Ua>>2]|0)))for(Wb=Ib+324|0,Jb=Ib+328|0,Kb=Ib+316|0,yb=Ib+320|0,cb=fb+100|0,gc=fb+52|0,Ub=Ib+112|0,Fb=fb+12|0,Lb=0,lb=a[Ib+216>>2]|0;!(nd=E(a[lb+36>>2]|0,a[lb+8>>2]|0)|0,Zd=(nd|0)/(a[Wb>>2]|0)|0,nd=E(a[lb+40>>2]|0,a[lb+12>>2]|0)|0,wb=(nd|0)/(a[Jb>>2]|0)|0,nd=a[Kb>>2]|0,Pb=a[yb>>2]|0,a[cb+(Lb<<2)>>2]=wb,a[lb+52>>2]|0?(Qd=(wb|0)==(Pb|0),(Zd|0)==(nd|0)&
-Qd?a[gc+(Lb<<2)>>2]=14:(zb=(Zd<<1|0)==(nd|0),zb&Qd?a[gc+(Lb<<2)>>2]=15:zb&(wb<<1|0)==(Pb|0)?a[gc+(Lb<<2)>>2]=16:0==((nd|0)%(Zd|0)|0)&&0==((Pb|0)%(wb|0)|0)?(a[gc+(Lb<<2)>>2]=17,t[fb+(Lb+140)>>0]=(nd|0)/(Zd|0)|0,t[fb+(Lb+150)>>0]=(Pb|0)/(wb|0)|0):(Ob=a[Ib>>2]|0,a[Ob+20>>2]=39,R[a[Ob>>2]&127](Ib)),zb=a[(a[Mb>>2]|0)+8>>2]|0,Qd=Ch(a[Ub>>2]|0,a[Kb>>2]|0)|0,Ob=rb[zb&63](Ib,1,Qd,a[yb>>2]|0)|0,a[Fb+(Lb<<2)>>2]=Ob)):a[gc+(Lb<<2)>>2]=13,Lb=Lb+1|0,(Lb|0)>=(a[Ua>>2]|0));)lb=lb+88|0}var Tb=B,Qb=a[B+108>>2]|0,Tb=
-Tb|0,Qb=Qb|0,Sb=void 0,db=void 0,Vb=void 0,Yb=void 0,ac=void 0,fc=void 0,jc=void 0,lc=void 0,Sb=Tb+4|0,db=Aa[a[a[Sb>>2]>>2]&63](Tb,1,28)|0;a[Tb+456>>2]=db;a[db>>2]=10;Vb=db+8|0;a[Vb>>2]=0;Yb=db+12|0;a[Yb>>2]=0;a[Tb+84>>2]|0&&(ac=a[Tb+320>>2]|0,fc=db+16|0,a[fc>>2]=ac,db=a[Sb>>2]|0,Sb=a[Tb+112>>2]|0,jc=a[Tb+120>>2]|0,Qb?(lc=a[db+16>>2]|0,db=E(jc,Sb)|0,Sb=Ch(a[Tb+116>>2]|0,ac)|0,ac=Hi[lc&3](Tb,1,0,db,Sb,a[fc>>2]|0)|0,a[Vb>>2]=ac):(Qb=E(jc,Sb)|0,lc=rb[a[db+8>>2]&63](Tb,1,Qb,ac)|0,a[Yb>>2]=lc))}var $b=
-B,$b=$b|0,kc=void 0,hc=void 0,ec=void 0,yc=void 0,kd=void 0,Ec=void 0,kc=$b+4|0,hc=Aa[a[a[kc>>2]>>2]&63]($b,1,84)|0;a[$b+472>>2]=hc;a[hc>>2]=68;ec=$b+36|0;if(!(0>=(a[ec>>2]|0)))for(yc=hc+44|0,hc=0,kd=a[$b+216>>2]|0;!(Ec=Aa[a[a[kc>>2]>>2]&63]($b,1,256)|0,a[kd+84>>2]=Ec,Va(Ec|0,0,256)|0,a[yc+(hc<<2)>>2]=-1,hc=hc+1|0,(hc|0)>=(a[ec>>2]|0));)kd=kd+88|0;if(a[B+228>>2]|0){var xc=B,xc=xc|0,Bc=void 0,zc=void 0,Cc=void 0,oc=void 0,Bc=xc+4|0,zc=Aa[a[a[Bc>>2]>>2]&63](xc,1,192)|0;a[xc+468>>2]=zc;a[zc>>2]=63;a[zc+
-8>>2]=64;a[zc+60>>2]=0;a[zc+124>>2]=0;a[zc+64>>2]=0;a[zc+128>>2]=0;a[zc+68>>2]=0;a[zc+132>>2]=0;a[zc+72>>2]=0;a[zc+136>>2]=0;a[zc+76>>2]=0;a[zc+140>>2]=0;a[zc+80>>2]=0;a[zc+144>>2]=0;a[zc+84>>2]=0;a[zc+148>>2]=0;a[zc+88>>2]=0;a[zc+152>>2]=0;a[zc+92>>2]=0;a[zc+156>>2]=0;a[zc+96>>2]=0;a[zc+160>>2]=0;a[zc+100>>2]=0;a[zc+164>>2]=0;a[zc+104>>2]=0;a[zc+168>>2]=0;a[zc+108>>2]=0;a[zc+172>>2]=0;a[zc+112>>2]=0;a[zc+176>>2]=0;a[zc+116>>2]=0;a[zc+180>>2]=0;a[zc+120>>2]=0;a[zc+184>>2]=0;t[zc+188>>0]=113;if(a[xc+
-224>>2]|0&&(zc=xc+36|0,Cc=Aa[a[a[Bc>>2]>>2]&63](xc,1,a[zc>>2]<<8)|0,a[xc+160>>2]=Cc,0<(a[zc>>2]|0))){oc=0;do Va(Cc+(oc<<8)|0,-1,256)|0,oc=oc+1|0;while((oc|0)<(a[zc>>2]|0))}}else{var nc=B,nc=nc|0,Gc=void 0,vc=void 0,ic=void 0,Hc=void 0,Gc=nc+4|0,vc=Aa[a[a[Gc>>2]>>2]&63](nc,1,220)|0;a[nc+468>>2]=vc;a[vc>>2]=69;a[vc+8>>2]=70;if(a[nc+224>>2]|0){ic=nc+36|0;Hc=Aa[a[a[Gc>>2]>>2]&63](nc,1,a[ic>>2]<<8)|0;a[nc+160>>2]=Hc;if(0<(a[ic>>2]|0)){nc=0;do Va(Hc+(nc<<8)|0,-1,256)|0,nc=nc+1|0;while((nc|0)<(a[ic>>2]|
-0))}ic=vc+48|0;a[ic>>2]=0;a[ic+4>>2]=0;a[ic+8>>2]=0;a[ic+12>>2]=0}else a[vc+84>>2]=0,a[vc+68>>2]=0,a[vc+88>>2]=0,a[vc+72>>2]=0,a[vc+92>>2]=0,a[vc+76>>2]=0,a[vc+96>>2]=0,a[vc+80>>2]=0}x=B+460|0;I=a[(a[x>>2]|0)+16>>2]|0?1:0!=(a[B+64>>2]|0);var Jd=B,bd=I&1,Jd=Jd|0,bd=bd|0,Jc=void 0,Rc=void 0,Fc=void 0,Ic=void 0,Lc=void 0,Oc=void 0,Uc=void 0,Wc=void 0,Qc=void 0,hd=void 0,Bd=void 0,Vc=0,Jc=Jd+4|0,Rc=Aa[a[a[Jc>>2]>>2]&63](Jd,1,116)|0;a[Jd+452>>2]=Rc;a[Rc>>2]=65;a[Rc+8>>2]=66;a[Rc+112>>2]=0;if(bd){bd=Jd+
-36|0;if(0<(a[bd>>2]|0))for(Fc=Jd+224|0,Ic=Rc+72|0,Lc=0,Oc=a[Jd+216>>2]|0;;)if(Uc=Oc+12|0,Wc=a[Uc>>2]|0,Qc=0==(a[Fc>>2]|0)?Wc:3*Wc|0,Wc=a[(a[Jc>>2]|0)+20>>2]|0,hd=Ch(a[Oc+28>>2]|0,a[Oc+8>>2]|0)|0,Bd=Ch(a[Oc+32>>2]|0,a[Uc>>2]|0)|0,Uc=Hi[Wc&3](Jd,1,1,hd,Bd,Qc)|0,a[Ic+(Lc<<2)>>2]=Uc,Lc=Lc+1|0,(Lc|0)>=(a[bd>>2]|0)){Vc=Ic;break}else Oc=Oc+88|0;else Vc=Rc+72|0;a[Rc+4>>2]=51;a[Rc+12>>2]=61;a[Rc+16>>2]=Vc}else bd=Aa[a[(a[Jc>>2]|0)+4>>2]&63](Jd,1,1280)|0,a[Rc+32>>2]=bd,a[Rc+36>>2]=bd+128,a[Rc+40>>2]=bd+256,
-a[Rc+44>>2]=bd+384,a[Rc+48>>2]=bd+512,a[Rc+52>>2]=bd+640,a[Rc+56>>2]=bd+768,a[Rc+60>>2]=bd+896,a[Rc+64>>2]=bd+1024,a[Rc+68>>2]=bd+1152,a[Jd+436>>2]|0||Va(bd|0,0,1280)|0,a[Rc+4>>2]=52,a[Rc+12>>2]=62,a[Rc+16>>2]=0;if(!(a[v>>2]|0)){var Rb=B,od=0,Rb=Rb|0,od=od|0,tc=void 0,Xb=void 0,rc=void 0,ed=void 0,gd=void 0,$c=void 0,Xc=void 0,ad=void 0,cd=void 0,Pc=void 0,Yc=void 0,wc=void 0,id=void 0,dc=void 0,Ac=void 0,Sc=void 0,Tc=0,tc=Rb+4|0,Xb=Aa[a[a[tc>>2]>>2]&63](Rb,1,80)|0,rc=Rb+448|0;a[rc>>2]=Xb;a[Xb>>2]=
-19;od&&(od=a[Rb>>2]|0,a[od+20>>2]=3,R[a[od>>2]&127](Rb));od=Rb+328|0;ed=a[od>>2]|0;if(a[(a[Rb+476>>2]|0)+8>>2]|0){2>(ed|0)?(gd=a[Rb>>2]|0,a[gd+20>>2]=48,R[a[gd>>2]&127](Rb),Pc=a[od>>2]|0):Pc=ed;ed=a[rc>>2]|0;rc=Rb+36|0;gd=Aa[a[a[tc>>2]>>2]&63](Rb,1,a[rc>>2]<<3)|0;Yc=ed+56|0;a[Yc>>2]=gd;wc=a[rc>>2]|0;id=ed+60|0;a[id>>2]=gd+(wc<<2);if(0<(wc|0))for(gd=Pc+4|0,Pc=0,ed=a[Rb+216>>2]|0;;)if(dc=E(a[ed+40>>2]|0,a[ed+12>>2]|0)|0,Ac=(dc|0)/(a[od>>2]|0)|0,dc=E(Ac,gd)|0,Sc=Aa[a[a[tc>>2]>>2]&63](Rb,1,dc<<3)|0,a[(a[Yc>>
-2]|0)+(Pc<<2)>>2]=Sc+(Ac<<2),a[(a[id>>2]|0)+(Pc<<2)>>2]=Sc+(dc+Ac<<2),Pc=Pc+1|0,Ac=a[rc>>2]|0,(Pc|0)>=(Ac|0)){Tc=Ac;break}else ed=ed+88|0;else Tc=wc;wc=a[od>>2]|0;$c=rc;Xc=Tc;ad=wc;cd=wc+2|0}else $c=gd=Rb+36|0,Xc=a[gd>>2]|0,cd=ad=ed;if(!(0>=(Xc|0)))for(Xc=Xb+8|0,Xb=ad,ad=0,wc=a[Rb+216>>2]|0;;){Tc=(E(a[wc+40>>2]|0,a[wc+12>>2]|0)|0)/(Xb|0)|0;rc=E(a[wc+36>>2]|0,a[wc+28>>2]|0)|0;ed=E(Tc,cd)|0;Tc=rb[a[(a[tc>>2]|0)+8>>2]&63](Rb,1,rc,ed)|0;a[Xc+(ad<<2)>>2]=Tc;Tc=ad+1|0;if((Tc|0)>=(a[$c>>2]|0))break;Xb=a[od>>
-2]|0;ad=Tc;wc=wc+88|0}}R[a[(a[H>>2]|0)+24>>2]&127](B);R[a[(a[x>>2]|0)+8>>2]&127](B);(H=a[B+8>>2]|0)&&!(a[B+64>>2]|0)&&a[(a[x>>2]|0)+16>>2]|0&&(x=a[B+36>>2]|0,v=0==(a[B+224>>2]|0)?x:(3*x|0)+2|0,a[H+4>>2]=0,x=E(v,a[B+332>>2]|0)|0,a[H+8>>2]=x,a[H+12>>2]=0,a[H+16>>2]=0!=(a[B+108>>2]|0)?3:2,a[u>>2]=(a[u>>2]|0)+1);if(!(a[b+64>>2]|0)){a[d>>2]=203;e=6;break a}a[d>>2]=207;f=1;return f|0;case 203:e=6;break;case 204:g=b+444|0;break;default:h=a[b>>2]|0,a[h+20>>2]=21,a[h+24>>2]=c,R[a[h>>2]&127](b),e=16}while(0);
-if(6==(e|0)){c=b+460|0;a:do if(a[(a[c>>2]|0)+16>>2]|0){h=b+8|0;m=b+332|0;k=a[h>>2]|0;b:for(;;){if(k)R[a[k>>2]&127](b);l=da[a[a[c>>2]>>2]&63](b)|0;switch(l|0){case 2:break a;case 0:f=0;break b}n=a[h>>2]|0;1==(l&-3|0)&0!=(n|0)&&(l=n+4|0,p=(a[l>>2]|0)+1|0,a[l>>2]=p,l=n+8|0,q=a[l>>2]|0,(p|0)<(q|0)||(a[l>>2]=(a[m>>2]|0)+q));k=n}return f|0}while(0);a[b+152>>2]=a[b+144>>2];e=16}16==(e|0)&&(e=b+444|0,204!=(a[d>>2]|0)&&(R[a[a[e>>2]>>2]&127](b),a[b+140>>2]=0,a[d>>2]=204),g=e);a:do if(a[(a[g>>2]|0)+8>>2]|0){e=
-b+140|0;c=b+116|0;k=b+8|0;m=b+448|0;for(h=a[e>>2]|0;;){n=a[c>>2]|0;if(h>>>0>=n>>>0)if(R[a[(a[g>>2]|0)+4>>2]&127](b),R[a[a[g>>2]>>2]&127](b),a[e>>2]=0,a[(a[g>>2]|0)+8>>2]|0){h=0;continue}else break a;(q=a[k>>2]|0)?(a[q+4>>2]=h,a[q+8>>2]=n,R[a[q>>2]&127](b),y=a[e>>2]|0):y=h;Ud[a[(a[m>>2]|0)+4>>2]&31](b,0,e,0);h=a[e>>2]|0;if((h|0)==(y|0)){f=0;break}}return f|0}while(0);a[d>>2]=0!=(a[b+68>>2]|0)?206:205;return 1},function(a){return 1},function(b){b|=0;var d,c,e,f;d=u;u=u+16|0;c=a[b+576>>2]|0;a[b+652>>
-2]=3;e=N[b+90>>1]|0;a:do switch(e|0){case 32845:if(xf(b)|0)if(f=b+532|0,-30859==(w[b+88>>1]|0))switch(a[f>>2]=29,a[c>>2]|0){case 0:a[c+20>>2]=16;f=1;break a;case 1:a[c+20>>2]=17;f=1;break a;case 3:a[c+20>>2]=18;f=1;break a;default:f=1;break a}else switch(a[f>>2]=30,a[c>>2]|0){case 0:a[c+20>>2]=19;f=1;break a;case 1:a[c+20>>2]=20;f=1;break a;case 3:a[c+20>>2]=21;f=1;break a;default:f=1;break a}else f=0;break;case 32844:if(Vf(b)|0)switch(a[b+532>>2]=31,a[c>>2]|0){case 0:a[c+20>>2]=22;f=1;break a;case 3:a[c+
-20>>2]=23;f=1;break a;default:f=1;break a}else f=0;break;default:f=a[b+628>>2]|0,a[d>>2]=e,a[d+4>>2]=147007,Y(f,147521,146936,d),f=0}while(0);u=d;return f|0},function(b){b|=0;var d,c,e,f,g,h,m=0,k=0;d=u;u=u+16|0;c=d+8|0;e=a[b+576>>2]|0;f=b+90|0;g=N[f>>1]|0;a:do switch(g|0){case 32845:if(xf(b)|0)if(h=b+536|0,-30859==(w[b+88>>1]|0))switch(a[h>>2]=32,a[e>>2]|0){case 2:m=1;break a;case 0:a[e+20>>2]=24;m=1;break a;case 1:a[e+20>>2]=25;m=1;break a;default:k=14;break a}else switch(a[h>>2]=33,a[e>>2]|0){case 2:m=
-1;break a;case 0:a[e+20>>2]=26;m=1;break a;case 1:a[e+20>>2]=27;m=1;break a;default:k=14;break a}else m=1;break;case 32844:if(Vf(b)|0){a[b+536>>2]=34;switch(a[e>>2]|0){case 1:m=1;break a;case 0:break;default:k=14;break a}a[e+20>>2]=28}m=1;break;default:h=a[b+628>>2]|0,a[d>>2]=g,a[d+4>>2]=147007,Y(h,146918,146936,d),m=1}while(0);14==(k|0)&&(k=a[b+628>>2]|0,a[c>>2]=-32692==(w[f>>1]|0)?147037:147042,Y(k,146918,147051,c),m=0);u=d;return m|0},function(a){return 1},function(b){b|=0;var d,c,e,f,g=0;d=u;
-u=u+16|0;c=d+8|0;e=b+576|0;if(f=a[e>>2]|0)g=f;else if(f=eb(160)|0,a[e>>2]=f)a[f+124>>2]=0,a[f+104>>2]=0,Ci(b)|0,(f=a[e>>2]|0)?g=f:Z(154187,147682,229,148271);else return Y(a[b+628>>2]|0,148271,147704,d),u=d,0;f=g+124|0;if(a[f>>2]|0)return u=d,1;g=eb(40952)|0;if(a[f>>2]=g)b=255;else return Y(a[b+628>>2]|0,148271,148286,c),u=d,0;for(;;)if(c=b&255,t[g+(b<<3)+6>>0]=c,t[g+(b<<3)+7>>0]=c,w[g+(b<<3)+4>>1]=1,a[g+(b<<3)>>2]=0,b)b=b+-1|0;else break;$c(g+2048|0,0,16);u=d;return 1},function(b){b|=0;var d,c,e;
-d=u;u=u+16|0;(c=a[b+576>>2]|0)||Z(154187,147682,788,147828);e=eb(72008)|0;if(a[c+152>>2]=e)return u=d,1;Y(a[b+628>>2]|0,147828,147843,d);u=d;return 0},function(b){b|=0;var d,c,e,f,g,h,m;d=a[b+576>>2]|0;c=a[b+604>>2]|0;e=a[d+76>>2]|0;f=a[d+72>>2]|0;g=N[d+64>>1]|0;c>>>0>(a[d+148>>2]|0)>>>0?(h=b+588|0,a[b+608>>2]=c-(a[h>>2]|0),Lc(b)|0,m=a[h>>2]|0):m=c;c=d+128|0;d=a[c>>2]|0;65535==(d|0)?(c=e,h=f):(h=d|f<<g,f=g+e|0,e=f+-8|0,d=m+1|0,t[m>>0]=h>>>e,7<(e|0)?(f=f+-16|0,t[d>>0]=h>>>f,m=m+2|0):(f=e,m=d),a[c>>
-2]=65535,c=f);f=m;m=h<<g|257;h=c+g|0;g=h+-8|0;c=f+1|0;t[f>>0]=m>>>g;7<(g|0)?(h=h+-16|0,t[c>>0]=m>>>h,d=c,g=h,h=f+2|0):(d=f,h=c);if(0>=(g|0))return g=a[(b+588|0)>>2]|0,g=h-g|0,a[(b+608|0)>>2]=g,1;t[h>>0]=m<<8-g;g=a[(b+588|0)>>2]|0;g=(d+2|0)-g|0;a[(b+608|0)>>2]=g;return 1},function(a){return 1},function(b){var d;d=u;u=u+16|0;Wb(a[(b|0)+628>>2]|0,151837,151854,d);u=d;return 1},function(b){var d;d=u;u=u+16|0;Y(a[(b|0)+628>>2]|0,151130,151030,d);u=d;return 0},function(b){var d;d=u;u=u+16|0;Y(a[(b|0)+628>>
-2]|0,151099,151030,d);u=d;return 0},function(b){var d,c,e,f,g,h,m,k,l,n,p,q,y,B=0,H=0,r=0;d=u;u=u+16|0;c=a[(b|0)+12>>2]|0;b=c+576|0;e=a[b>>2]|0;f=e+3312|0;h=g=0;a:for(;;){m=a[f>>2]|0;if(19<=m>>>0){h=4;break}do switch(m|0){case 0:h=5;break a;case 14:h=45;break a;case 15:h=51;break a;case 16:h=57;break a;case 17:h=67;break a;case 18:h=68;break a;case 1:k=a[b>>2]|0;(l=a[k+312>>2]|0)?(q=(a[l>>2]|0)+-4|0,n=l+4|0,p=l=q):(n=g,l=h,p=0);q=k+3312|0;a[q>>2]=(a[q>>2]|0)+1;k=p;q=n;y=l;break;case 2:q=a[b>>2]|0;
-(k=a[q+316>>2]|0)?(l=(a[k>>2]|0)+-4|0,p=k+4|0,k=n=l):(p=g,n=h,k=0);l=q+3312|0;a[l>>2]=(a[l>>2]|0)+1;q=p;y=n;break;case 3:l=a[b>>2]|0;(q=a[l+320>>2]|0)?(k=(a[q>>2]|0)+-4|0,q=q+4|0,p=n=k):(q=g,n=h,p=0);k=l+3312|0;a[k>>2]=(a[k>>2]|0)+1;k=p;y=n;break;case 4:k=a[b>>2]|0;(l=a[k+324>>2]|0)?(q=(a[l>>2]|0)+-4|0,n=l+4|0,p=l=q):(n=g,l=h,p=0);q=k+3312|0;a[q>>2]=(a[q>>2]|0)+1;k=p;q=n;y=l;break;case 5:q=a[b>>2]|0;(k=a[q+328>>2]|0)?(l=(a[k>>2]|0)+-4|0,p=k+4|0,k=n=l):(p=g,n=h,k=0);l=q+3312|0;a[l>>2]=(a[l>>2]|0)+
-1;q=p;y=n;break;case 6:l=a[b>>2]|0;(q=a[l+332>>2]|0)?(k=(a[q>>2]|0)+-4|0,q=q+4|0,p=n=k):(q=g,n=h,p=0);k=l+3312|0;a[k>>2]=(a[k>>2]|0)+1;k=p;y=n;break;case 7:k=a[b>>2]|0;(l=a[k+336>>2]|0)?(q=(a[l>>2]|0)+-4|0,n=l+4|0,p=l=q):(n=g,l=h,p=0);q=k+3312|0;a[q>>2]=(a[q>>2]|0)+1;k=p;q=n;y=l;break;case 8:q=a[b>>2]|0;(k=a[q+340>>2]|0)?(l=(a[k>>2]|0)+-4|0,p=k+4|0,k=n=l):(p=g,n=h,k=0);l=q+3312|0;a[l>>2]=(a[l>>2]|0)+1;q=p;y=n;break;case 9:l=a[b>>2]|0;(q=a[l+344>>2]|0)?(k=(a[q>>2]|0)+-4|0,q=q+4|0,p=n=k):(q=g,n=h,p=
-0);k=l+3312|0;a[k>>2]=(a[k>>2]|0)+1;k=p;y=n;break;case 10:k=a[b>>2]|0;(l=a[k+348>>2]|0)?(q=(a[l>>2]|0)+-4|0,n=l+4|0,p=l=q):(n=g,l=h,p=0);q=k+3312|0;a[q>>2]=(a[q>>2]|0)+1;k=p;q=n;y=l;break;case 11:q=a[b>>2]|0;(k=a[q+352>>2]|0)?(l=(a[k>>2]|0)+-4|0,p=k+4|0,k=n=l):(p=g,n=h,k=0);l=q+3312|0;a[l>>2]=(a[l>>2]|0)+1;q=p;y=n;break;case 12:l=a[b>>2]|0;(q=a[l+356>>2]|0)?(k=(a[q>>2]|0)+-4|0,q=q+4|0,p=n=k):(q=g,n=h,p=0);k=l+3312|0;a[k>>2]=(a[k>>2]|0)+1;k=p;y=n;break;case 13:k=a[b>>2]|0;l=w[k+360>>1]|0;l<<16>>16?
-(q=k+3316|0,t[q>>0]=-1,t[k+3317>>0]=-35,t[k+3318>>0]=0,t[k+3319>>0]=4,t[k+3320>>0]=(l&65535)>>>8,t[k+3321>>0]=l,l=q,p=n=6):(l=g,n=h,p=0);q=k+3312|0;a[q>>2]=(a[q>>2]|0)+1;k=p;q=l;y=n;break;default:h=72;break a}while(0);if(k){B=q;H=y;h=71;break}else g=q,h=y}if(4==(h|0))Z(151621,148429,2124,151644);else{if(5==(h|0))return y=a[b>>2]|0,q=y+3316|0,t[q>>0]=-1,t[y+3317>>0]=-40,h=y+3312|0,a[h>>2]=(a[h>>2]|0)+1,a[(e+1124|0)>>2]=2,a[(e+1120|0)>>2]=q,u=d,1;if(45==(h|0)){q=a[b>>2]|0;h=t[q+206>>0]|0;y=(3*(h&255)|
-0)+8|0;256<=y>>>0&&Z(151661,148429,2263,151702);g=q+3316|0;t[g>>0]=-1;t[q+3317>>0]=t[q+364>>0]|0;t[q+3318>>0]=0;t[q+3319>>0]=y;t[q+3320>>0]=8;y=a[q+372>>2]|0;t[q+3321>>0]=y>>>8;t[q+3322>>0]=y;y=a[q+368>>2]|0;t[q+3323>>0]=y>>>8;t[q+3324>>0]=y;t[q+3325>>0]=h;if(h<<24>>24){y=x[q+205>>0]|0;k=0;do n=k+y|0,l=3*k|0,t[l+10+(q+3316)>>0]=t[q+376+n>>0]|0,t[l+11+(q+3316)>>0]=t[q+379+n>>0]|0,t[l+12+(q+3316)>>0]=t[q+382+n>>0]|0,k=k+1|0;while((k&255)<<24>>24!=h<<24>>24);b=h}else b=0;h=q+3312|0;a[h>>2]=(a[h>>2]|
-0)+1;a[(e+1124|0)>>2]=(3*(b&255)|0)+10|0;a[(e+1120|0)>>2]=g;u=d;return 1}if(51==(h|0)){b=a[b>>2]|0;g=t[b+206>>0]|0;h=(g&255)<<1;q=h+6|0;256<=q>>>0&&Z(151722,148429,2299,151763);k=b+3316|0;t[k>>0]=-1;t[b+3317>>0]=-38;t[b+3318>>0]=0;t[b+3319>>0]=q;t[b+3320>>0]=g;if(g<<24>>24){y=x[b+205>>0]|0;n=0;do l=n+y|0,p=n<<1,t[p+5+(b+3316)>>0]=t[b+385+l>>0]|0,t[p+6+(b+3316)>>0]=t[b+388+l>>0]|0,n=n+1|0;while((n&255)<<24>>24!=g<<24>>24);c=g}else c=0;t[((c&255)<<1)+5+(b+3316)>>0]=0;t[b+3316+q>>0]=63;t[h+7+(b+3316)>>
-0]=0;q=b+3312|0;a[q>>2]=(a[q>>2]|0)+1;a[(e+1124|0)>>2]=h+8|0;a[(e+1120|0)>>2]=k;u=d;return 1}if(57==(h|0)){h=a[b>>2]|0;k=h+1256|0;q=w[k>>1]|0;q<<16>>16?r=q:(Fc(h)|0||(Y(a[c+628>>2]|0,151596,151810,d),Bi(c)),c=w[k>>1]|0,c<<16>>16?r=c:Z(149747,148429,2333,151783));q=r&65535;r=a[h+1260>>2]|0;w[k>>1]=0;k=h+1248|0;if(!(0==(a[k>>2]|0)&0==(a[k+4>>2]|0)))return a[(e+1124|0)>>2]=q,a[(e+1120|0)>>2]=r,u=d,1;switch(a[h+1220>>2]|0){case 2:return a[(h+3312|0)>>2]=(a[h+1224>>2]|0)>>>0<(a[h+1228>>2]|0)>>>0?17:18,
-a[(e+1124|0)>>2]=q,a[(e+1120|0)>>2]=r,u=d,1;case 3:return a[h+3312>>2]=18,a[(e+1124|0)>>2]=q,a[(e+1120|0)>>2]=r,u=d,1;default:return a[(e+1124|0)>>2]=q,a[(e+1120|0)>>2]=r,u=d,1}}else{if(67==(h|0))return q=a[b>>2]|0,r=q+3316|0,t[r>>0]=-1,h=q+362|0,k=t[h>>0]|0,t[q+3317>>0]=(k&255)+208,c=k+1<<24>>24,t[h>>0]=8==c<<24>>24?0:c,a[q+3312>>2]=16,a[(e+1124|0)>>2]=2,a[(e+1120|0)>>2]=r,u=d,1;if(68==(h|0))return r=a[b>>2]|0,b=r+3316|0,t[b>>0]=-1,t[r+3317>>0]=-39,a[(e+1124|0)>>2]=2,a[(e+1120|0)>>2]=b,u=d,1;if(71==
-(h|0))return a[(e+1124|0)>>2]=H,a[(e+1120|0)>>2]=B,u=d,1;if(72==(h|0))for(;;);}}return 0},function(b){b=a[(b|0)+576>>2]|0;if(!b)return 1;ja(b);return 1},function(a){return 1},function(b){b|=0;var d,c,e,f,g,h,m,k=0,l=0;d=u;u=u+16|0;c=d+8|0;e=d;(f=a[b+576>>2]|0)||Z(154187,152287,676,152768);a[b+652>>2]=3;g=1==(w[b+126>>1]|0)?w[b+98>>1]|0:1;w[f+124>>1]=g;h=g&65535;m=E(a[b+56>>2]|0,h)|0;m=E(m,a[b+100>>2]|0)|0;if(0==g<<16>>16|0==(m|0))return u=d,0;g=m+h|0;if(1>(m|0)|0==(g|0))return u=d,0;m=eb(g<<1)|0;
-a[f+120>>2]=m;if(!m)return u=d,0;m=f+132|0;do if(-1==(a[m>>2]|0)){g=w[b+86>>1]|0;h=N[b+84>>1]|0;switch(h|0){case 32:3==g<<16>>16&&(k=5,l=15);break;case 16:switch(g<<16>>16){case 1:case 4:k=4,l=15}break;case 12:switch(g<<16>>16){case 2:case 4:k=3,l=15}break;case 11:switch(g<<16>>16){case 1:case 4:k=2,l=15}break;case 8:switch(g<<16>>16){case 1:case 4:k=0,l=15}}if(15==(l|0))a[m>>2]=k;else return a[m>>2]=-1,g=a[b+628>>2]|0,a[e>>2]=h,Y(g,152768,152788,e),u=d,0}while(0);if(Ug(f+64|0,154315,56)|0)return e=
-a[b+628>>2]|0,a[c>>2]=a[f+88>>2],Y(e,152768,154321,c),u=d,0;e=f+128|0;a[e>>2]|=1;u=d;return 1},function(b){b|=0;var d,c,e,f,g,h,m,k=0,l=0;d=u;u=u+16|0;c=d+8|0;e=d;(f=a[b+576>>2]|0)||Z(154187,152287,880,152562);g=1==(w[b+126>>1]|0)?w[b+98>>1]|0:1;w[f+124>>1]=g;h=E(a[b+56>>2]|0,g&65535)|0;g=E(h,a[b+100>>2]|0)|0;if(!g)return u=d,0;h=eb(g<<1)|0;a[f+120>>2]=h;if(!h)return u=d,0;h=f+132|0;do if(-1==(a[h>>2]|0)){g=w[b+86>>1]|0;m=N[b+84>>1]|0;switch(m|0){case 32:3==g<<16>>16&&(k=5,l=14);break;case 16:switch(g<<
-16>>16){case 1:case 4:k=4,l=14}break;case 12:switch(g<<16>>16){case 2:case 4:k=3,l=14}break;case 11:switch(g<<16>>16){case 1:case 4:k=2,l=14}break;case 8:switch(g<<16>>16){case 1:case 4:k=0,l=14}}if(14==(l|0))a[h>>2]=k;else return a[h>>2]=-1,g=a[b+628>>2]|0,a[e>>2]=m,Y(g,152562,152582,e),u=d,0}while(0);if(ah(f+64|0,a[f+136>>2]|0,8,15,8,0,154315,56)|0)return e=a[b+628>>2]|0,a[c>>2]=a[f+88>>2],Y(e,152562,154321,c),u=d,0;e=f+128|0;a[e>>2]|=1;u=d;return 1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q=
-0,y=0;d=u;u=u+16|0;c=a[b+576>>2]|0;e=c+64|0;a[c+68>>2]=0;f=c+80|0;g=b+592|0;h=b+608|0;m=b+588|0;for(k=c+76|0;;){l=Di(e,4)|0;if(2<=l>>>0)break;n=a[f>>2]|0;p=a[g>>2]|0;(p|0)!=(n|0)&&(a[h>>2]=p-n,Lc(b)|0,a[k>>2]=a[m>>2],a[f>>2]=a[g>>2]);if(1==(l|0)){q=1;y=7;break}}if(7==(y|0))return u=d,q|0;y=a[b+628>>2]|0;a[d>>2]=a[c+88>>2];Y(y,152525,154272,d);u=d;return 0},function(b){b|=0;var d,c,e;d=a[b+576>>2]|0;if(!(da[a[d+56>>2]&63](b)|0&&Zg(b)|0))return 0;switch(a[d>>2]|0){case 2:switch(N[b+84>>1]|0){case 8:a[d+
-40>>2]=32;break;case 16:a[d+40>>2]=33;break;case 32:a[d+40>>2]=34}c=b+532|0;e=a[c>>2]|0;46!=(e|0)&&(a[d+28>>2]=e,a[c>>2]=46,c=b+540|0,a[d+32>>2]=a[c>>2],a[c>>2]=47,c=b+548|0,a[d+36>>2]=a[c>>2],a[c>>2]=47);if(!(a[b+12>>2]&128))return 1;c=d+40|0;e=a[c>>2]|0;if(33==(e|0))return a[c>>2]=35,a[b+652>>2]=3,1;if(34!=(e|0))return 1;a[c>>2]=36;a[b+652>>2]=3;return 1;case 3:a[d+40>>2]=37;c=b+532|0;e=a[c>>2]|0;46!=(e|0)&&(a[d+28>>2]=e,a[c>>2]=46,c=b+540|0,a[d+32>>2]=a[c>>2],a[c>>2]=47,c=b+548|0,a[d+36>>2]=a[c>>
-2],a[c>>2]=47);if(!(a[b+12>>2]&128))return 1;a[b+652>>2]=3;return 1;default:return 1}},function(b){b|=0;var d,c,e;d=a[b+576>>2]|0;if(!(da[a[d+60>>2]&63](b)|0&&Zg(b)|0))return 0;switch(a[d>>2]|0){case 2:switch(N[b+84>>1]|0){case 8:a[d+24>>2]=38;break;case 16:a[d+24>>2]=39;break;case 32:a[d+24>>2]=40}c=b+536|0;e=a[c>>2]|0;48!=(e|0)&&(a[d+12>>2]=e,a[c>>2]=48,c=b+544|0,a[d+16>>2]=a[c>>2],a[c>>2]=49,c=b+552|0,a[d+20>>2]=a[c>>2],a[c>>2]=49);if(!(a[b+12>>2]&128))return 1;c=d+24|0;e=a[c>>2]|0;if(39==(e|0))return a[c>>
-2]=41,a[b+652>>2]=3,1;if(40!=(e|0))return 1;a[c>>2]=42;a[b+652>>2]=3;return 1;case 3:a[d+24>>2]=43;c=b+536|0;e=a[c>>2]|0;if(48==(e|0))return 1;a[d+12>>2]=e;a[c>>2]=48;c=b+544|0;a[d+16>>2]=a[c>>2];a[c>>2]=49;c=b+552|0;a[d+20>>2]=a[c>>2];a[c>>2]=49;return 1;default:return 1}},function(b){b|=0;var d,c;d=u;u=u+16|0;c=w[b+84>>1]|0;if(4==c<<16>>16)return u=d,1;b=a[b+628>>2]|0;a[d>>2]=c&65535;Y(b,153902,153921,d);u=d;return 0},function(a){return 1},function(b){b|=0;var d,c,e,f;d=u;u=u+16|0;(c=a[b+576>>2]|
-0)||Z(154187,154074,102,154464);e=c+124|0;f=c+64|0;a[e>>2]&2&&(rk(f)|0,a[e>>2]=0);if(Ug(f,154315,56)|0)return e=a[b+628>>2]|0,b=a[c+88>>2]|0,a[d>>2]=0==(b|0)?155687:b,Y(e,154464,154321,d),u=d,0;a[e>>2]|=1;u=d;return 1},function(b){b|=0;var d,c,e,f;d=u;u=u+16|0;(c=a[b+576>>2]|0)||Z(154187,154074,209,154300);e=c+124|0;f=c+64|0;a[e>>2]&1&&(wf(f)|0,a[e>>2]=0);if(ah(f|0,a[c+120>>2]|0,8,15,8,0,154315,56)|0)return e=a[b+628>>2]|0,b=a[c+88>>2]|0,a[d>>2]=0==(b|0)?155687:b,Y(e,154300,154321,d),u=d,0;a[e>>2]|=
-2;u=d;return 1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q=0,y=0;d=u;u=u+16|0;c=a[b+576>>2]|0;e=c+64|0;a[c+68>>2]=0;f=c+80|0;g=b+592|0;h=b+608|0;m=b+588|0;for(k=c+76|0;;){l=Di(e,4)|0;if(2<=l>>>0)break;n=a[f>>2]|0;p=a[g>>2]|0;(p|0)!=(n|0)&&(a[h>>2]=p-n,Lc(b)|0,a[k>>2]=a[m>>2],a[f>>2]=a[g>>2]);if(1==(l|0)){q=1;y=7;break}}if(7==(y|0))return u=d,q|0;y=a[b+628>>2]|0;b=a[c+88>>2]|0;a[d>>2]=0==(b|0)?155687:b;Y(y,154258,154272,d);u=d;return 0},function(b){b|=0;var d,c,e,f=0,g,h,m,k,l,n,p,q,y,B,t,r,z,u,
-C,x,w,v,J,I,G,L,K,A=0,D,O,M,T,X,P,F,N=0,S=0,ba=0;d=b+460|0;c=a[d>>2]|0;e=c+20|0;if(a[e>>2]|0)return 2;g=b+464|0;h=c+24|0;m=b+340|0;k=c+16|0;c=b+32|0;l=b+212|0;n=b+36|0;p=b+316|0;q=b+320|0;y=b+216|0;B=b+220|0;t=b+224|0;r=b+416|0;z=b+412|0;u=b+420|0;C=b+424|0;x=b+428|0;w=b+432|0;v=b+436|0;J=b+324|0;I=b+328|0;G=b+28|0;L=b+332|0;a:for(;;){K=da[a[(a[g>>2]|0)+4>>2]&63](b)|0;switch(K|0){case 2:A=57;break a;case 1:break;default:f=K;A=62;break a}b:do switch(a[h>>2]|0){case 0:if(a[k>>2]|0||(K=a[b>>2]|0,a[K+
-20>>2]=36,R[a[K>>2]&127](b)),a[m>>2]|0){A=56;break a}else continue a;case 1:65500>=(a[c>>2]|0)&&65500>=(a[G>>2]|0)||(K=a[b>>2]|0,a[K+20>>2]=42,a[K+24>>2]=65500,R[a[K>>2]&127](b));K=a[l>>2]|0;4<(K+-8|0)>>>0&&(D=a[b>>2]|0,a[D+20>>2]=16,a[D+24>>2]=K,R[a[D>>2]&127](b));D=a[n>>2]|0;10<(D|0)?(K=a[b>>2]|0,a[K+20>>2]=27,a[K+24>>2]=D,a[K+28>>2]=10,R[a[K>>2]&127](b),O=a[n>>2]|0):O=D;a[p>>2]=1;a[q>>2]=1;if(0<(O|0))for(D=O,M=K=1,T=0,O=a[y>>2]|0;;)if(X=O+8|0,P=a[X>>2]|0,F=O+12|0,3>=(P+-1|0)>>>0&&(N=a[F>>2]|0,
-3>=(N+-1|0)>>>0)?(X=P,F=N):(N=a[b>>2]|0,a[N+20>>2]=19,R[a[N>>2]&127](b),M=a[p>>2]|0,X=a[X>>2]|0,K=a[q>>2]|0,F=a[F>>2]|0,D=a[n>>2]|0),M=(M|0)>(X|0)?M:X,a[p>>2]=M,K=(K|0)>(F|0)?K:F,a[q>>2]=K,T=T+1|0,(T|0)>=(D|0)){T=D;break}else O=O+88|0;else T=O;c:do if(a[B>>2]|0)A=22;else if(0!=(a[t>>2]|0)&&0!=(a[m>>2]|0))A=22;else{do switch(a[r>>2]|0){case 0:a[x>>2]=1;a[w>>2]=119984;a[v>>2]=0;S=1;ba=T;break c;case 3:a[x>>2]=2;a[w>>2]=121164;a[v>>2]=3;S=2;ba=T;break c;case 8:a[x>>2]=3;a[w>>2]=121064;a[v>>2]=8;S=3;
-ba=T;break c;case 15:a[x>>2]=4;a[w>>2]=120936;a[v>>2]=15;S=4;ba=T;break c;case 24:a[x>>2]=5;a[w>>2]=120772;a[v>>2]=24;S=5;ba=T;break c;case 35:a[x>>2]=6;a[w>>2]=120564;a[v>>2]=35;S=6;ba=T;break c;case 48:a[x>>2]=7;a[w>>2]=120304;a[v>>2]=48;S=7;ba=T;break c;case 63:a[x>>2]=8;a[w>>2]=119984;a[v>>2]=63;S=8;ba=T;break c;case 80:a[x>>2]=9;a[w>>2]=119984;a[v>>2]=63;S=9;ba=T;break c;case 99:a[x>>2]=10;a[w>>2]=119984;a[v>>2]=63;S=10;ba=T;break c;case 120:a[x>>2]=11;a[w>>2]=119984;a[v>>2]=63;S=11;ba=T;break c;
-case 143:a[x>>2]=12;a[w>>2]=119984;a[v>>2]=63;S=12;ba=T;break c;case 168:a[x>>2]=13;a[w>>2]=119984;a[v>>2]=63;S=13;ba=T;break c;case 195:a[x>>2]=14;a[w>>2]=119984;a[v>>2]=63;S=14;ba=T;break c;case 224:a[x>>2]=15;a[w>>2]=119984;a[v>>2]=63;S=15;ba=T;break c;case 255:a[x>>2]=16;a[w>>2]=119984;a[v>>2]=63;S=16;ba=T;break c;default:O=a[b>>2]|0;a[O+20>>2]=17;a[O+24>>2]=a[z>>2];a[O+28>>2]=a[r>>2];a[O+32>>2]=a[u>>2];a[O+36>>2]=a[C>>2];R[a[O>>2]&127](b);S=a[x>>2]|0;ba=a[n>>2]|0;break c}while(0)}while(0);22==
-(A|0)&&(A=0,a[x>>2]=8,a[w>>2]=119984,a[v>>2]=63,S=8,ba=T);a[J>>2]=S;a[I>>2]=S;if(0<(ba|0)){O=S;D=0;for(T=a[y>>2]|0;;){a[T+36>>2]=O;a[T+40>>2]=O;K=T+8|0;M=E(a[K>>2]|0,a[G>>2]|0)|0;F=Gb(M,E(a[p>>2]|0,O)|0)|0;a[T+28>>2]=F;F=T+12|0;M=E(a[F>>2]|0,a[c>>2]|0)|0;X=Gb(M,E(a[x>>2]|0,a[q>>2]|0)|0)|0;a[T+32>>2]=X;X=E(a[K>>2]|0,a[G>>2]|0)|0;K=Gb(X,a[p>>2]|0)|0;a[T+44>>2]=K;K=E(a[F>>2]|0,a[c>>2]|0)|0;F=Gb(K,a[q>>2]|0)|0;a[T+48>>2]=F;a[T+52>>2]=1;a[T+80>>2]=0;F=D+1|0;if((F|0)>=(a[n>>2]|0))break;O=a[x>>2]|0;D=F;
-T=T+88|0}O=a[x>>2]|0}else O=S;T=Gb(a[c>>2]|0,E(O,a[q>>2]|0)|0)|0;a[L>>2]=T;T=a[m>>2]|0;if((T|0)>=(a[n>>2]|0)&&0==(a[t>>2]|0)){a[(a[d>>2]|0)+16>>2]=0;O=T;break b}a[(a[d>>2]|0)+16>>2]=1;O=T;break;default:O=a[m>>2]|0}while(0);if(O){A=52;break}a[h>>2]=2}if(52==(A|0))return a[h>>2]=0,1;if(56==(A|0))return $g(b),1;if(57==(A|0)){a[e>>2]=1;if(a[h>>2]|0){if(!(a[(a[g>>2]|0)+16>>2]|0))return 2;g=a[b>>2]|0;a[g+20>>2]=62;R[a[g>>2]&127](b)}else{h=b+152|0;e=a[b+144>>2]|0;if((a[h>>2]|0)<=(e|0))return 2;a[h>>2]=e}return 2}return 62==
-(A|0)?f|0:0},function(b){b|=0;var d=0,c=0,e=0,f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,y=0,B=0,H=0,r=0,z=0,Q=0,C=0,v=0,V=0,E=0,J=0,I=0,G=0,L=0,K=0,A=0,D=0,O=0,M=0,T=0,X=0,P=0,F=0,S=0,Y=0,ba=0,W=0,U=0,Z=0,ga=0,Ha=0,ma=0,aa=0,ha=0,ca=0,fa=0,ja=0,pa=0,ya=0,ra=0,oa=0,sa=0,Aa=0,ua=0,Ia=0,Da=0,na=0,Na=0,Ka=0,Ca=0,Ga=0,Ea=0,La=0,Qa=0,Wa=0,eb=0,pb=0,xb=0,Zb=0,ab=0,jb=0,mc=0,Ab=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,sc=0,gb=0,hb=0,ob=0,Bb=0,qb=
-0,kb=0,ib=0,Cb=0,fb=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Hb=0,Ua=0,Kb=0,Jb=0,Wb=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Gb=0,Lb=0,lb=0,rb=0,wb=0,db=0,Qd=0,zb=0,Ob=0,Tb=0,Sb=0,Pb=0,Qb=0,ac=0,Vb=0,Yb=0,fc=0,$b=0,jc=0,lc=0,kc=0,hc=0,ec=0,nc=0,yc=0,xc=0,vc=0,Bc=0,zc=0,Cc=0,oc=0,Gc=0,Jc=0,Hc=0,ic=0,Lc=0,Fc=0,bd=0,Ic=0,Rc=0,Oc=0,Uc=0,Wc=0,Pc=0,ad=0,Qc=0,Xc=0,hd=0,Bd=0,Vc=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,$c=0,cd=0,dd=0,md=0,ld=0,Yc=0,wc=0,id=0,dc=0,Ac=0,Sc=0,Tc=0,td=0,qd=0,Ce=0,vd=0,wd=0,rd=0,sd=0,
-pd=0,jd=0,Ud=0,zd=0,Cd=0,Dd=0,ce=0,oe=0,Id=0,Kd=0,Df=0,Nd=0,Pd=0,Vd=0,ne=0,he=0,te=0,de=0,He=0,ue=0,Ld=0,Od=0,ae=0,De=0,be=0,Fd=0,Rd=0,Gd=0,$d=0,ge=0,ud=0,xd=0,ie=0,je=0,Xd=0,Of=0,Dc=0,yd=0,Ad=0,Sd=0,Td=0,se=0,Ye=0,Md=0,ve=0,Je=0,ze=0,Qe=0,Yd=0,Ze=0,we=0,xe=0,kf=0,re=0,df=0,Ae=0,ef=0,Ue=0,Ke=0,qe=0,$e=0,le=0,d=u;u=u+288|0;c=d+256|0;e=d;f=b+440|0;g=b+464|0;h=b+24|0;m=b+232|0;k=b+248|0;l=b+264|0;n=b+233|0;p=b+249|0;q=b+265|0;y=b+234|0;B=b+250|0;H=b+266|0;r=b+235|0;z=b+251|0;Q=b+267|0;C=b+236|0;v=b+
-252|0;V=b+268|0;E=b+237|0;J=b+253|0;I=b+269|0;G=b+238|0;L=b+254|0;K=b+270|0;A=b+239|0;D=b+255|0;O=b+271|0;M=b+240|0;T=b+256|0;X=b+272|0;P=b+241|0;F=b+257|0;S=b+273|0;Y=b+242|0;ba=b+258|0;W=b+274|0;U=b+243|0;Z=b+259|0;ga=b+275|0;Ha=b+244|0;ma=b+260|0;aa=b+276|0;ha=b+245|0;ca=b+261|0;fa=b+277|0;ja=b+246|0;pa=b+262|0;ya=b+278|0;ra=b+247|0;oa=b+263|0;sa=b+279|0;Aa=b+280|0;ua=b+40|0;Ia=b+304|0;Da=b+308|0;na=b+284|0;Na=b+288|0;Ka=b+289|0;Ca=b+290|0;Ga=b+292|0;Ea=b+294|0;La=b+296|0;Qa=b+300|0;Wa=c+1|0;eb=
-c+2|0;pb=c+3|0;xb=c+4|0;Zb=c+5|0;ab=c+6|0;jb=c+7|0;mc=c+8|0;Ab=c+9|0;Ta=c+10|0;Ya=c+11|0;Sa=c+12|0;mb=c+13|0;Db=c+14|0;cc=c+15|0;Za=c+16|0;ia=b+36|0;qa=b+216|0;Ja=a[f>>2]|0;a:for(;;){do if(Ja)Ma=Ja;else if(a[(a[g>>2]|0)+12>>2]|0){if(!(rg(b)|0)){ea=0;wa=303;break a}Ma=a[f>>2]|0}else{xa=a[h>>2]|0;$a=xa+4|0;if(la=a[$a>>2]|0)Ba=la;else{if(!(da[a[xa+12>>2]&63](b)|0)){ea=0;wa=303;break a}Ba=a[$a>>2]|0}la=a[xa>>2]|0;va=Ba+-1|0;za=la+1|0;ta=t[la>>0]|0;la=ta&255;if(va)nb=va,sc=za;else{if(!(da[a[xa+12>>2]&
-63](b)|0)){ea=0;wa=303;break a}nb=a[$a>>2]|0;sc=a[xa>>2]|0}za=t[sc>>0]|0;va=za&255;-1!=ta<<24>>24|-40!=za<<24>>24&&(za=a[b>>2]|0,a[za+20>>2]=55,a[za+24>>2]=la,a[za+28>>2]=va,R[a[za>>2]&127](b));a[f>>2]=va;a[xa>>2]=sc+1;a[$a>>2]=nb+-1;Ma=va}while(0);do switch(Ma|0){case 218:wa=25;break a;case 217:wa=72;break a;case 216:va=a[b>>2]|0;a[va+20>>2]=104;ub[a[va+4>>2]&31](b,1);va=a[g>>2]|0;a[va+12>>2]|0?(va=a[b>>2]|0,a[va+20>>2]=64,R[a[va>>2]&127](b),gb=a[g>>2]|0):gb=va;t[m>>0]=0;t[k>>0]=1;t[l>>0]=5;t[n>>
-0]=0;t[p>>0]=1;t[q>>0]=5;t[y>>0]=0;t[B>>0]=1;t[H>>0]=5;t[r>>0]=0;t[z>>0]=1;t[Q>>0]=5;t[C>>0]=0;t[v>>0]=1;t[V>>0]=5;t[E>>0]=0;t[J>>0]=1;t[I>>0]=5;t[G>>0]=0;t[L>>0]=1;t[K>>0]=5;t[A>>0]=0;t[D>>0]=1;t[O>>0]=5;t[M>>0]=0;t[T>>0]=1;t[X>>0]=5;t[P>>0]=0;t[F>>0]=1;t[S>>0]=5;t[Y>>0]=0;t[ba>>0]=1;t[W>>0]=5;t[U>>0]=0;t[Z>>0]=1;t[ga>>0]=5;t[Ha>>0]=0;t[ma>>0]=1;t[aa>>0]=5;t[ha>>0]=0;t[ca>>0]=1;t[fa>>0]=5;t[ja>>0]=0;t[pa>>0]=1;t[ya>>0]=5;t[ra>>0]=0;t[oa>>0]=1;t[sa>>0]=5;a[Aa>>2]=0;a[ua>>2]=0;a[Ia>>2]=0;a[Da>>2]=
-0;a[na>>2]=0;t[Na>>0]=1;t[Ka>>0]=1;t[Ca>>0]=0;w[Ga>>1]=1;w[Ea>>1]=1;a[La>>2]=0;t[Qa>>0]=0;a[gb+12>>2]=1;break;case 192:if(!(Ai(b,1,0,0)|0)){ea=0;wa=303;break a}break;case 193:if(!(Ai(b,0,0,0)|0)){ea=0;wa=303;break a}break;case 194:if(!(Ai(b,0,1,0)|0)){ea=0;wa=303;break a}break;case 201:if(!(Ai(b,0,0,1)|0)){ea=0;wa=303;break a}break;case 202:if(!(Ai(b,0,1,1)|0)){ea=0;wa=303;break a}break;case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:va=a[b>>2]|0;a[va+20>>2]=63;a[va+
-24>>2]=Ma;R[a[va>>2]&127](b);break;case 204:va=a[h>>2]|0;$a=va+4|0;if(xa=a[$a>>2]|0)hb=xa;else{if(!(da[a[va+12>>2]&63](b)|0)){ea=0;wa=303;break a}hb=a[$a>>2]|0}xa=a[va>>2]|0;za=hb+-1|0;la=xa+1|0;ta=x[xa>>0]<<8;if(za)ob=za,Bb=la;else{if(!(da[a[va+12>>2]&63](b)|0)){ea=0;wa=303;break a}ob=a[$a>>2]|0;Bb=a[va>>2]|0}la=ob+-1|0;za=Bb+1|0;xa=x[Bb>>0]|ta;ta=xa+-2|0;if(2<xa>>>0)for(xa=va+12|0,qb=la,kb=ta,ib=za;;){if(qb)Cb=qb,fb=ib;else{if(!(da[a[xa>>2]&63](b)|0)){ea=0;wa=303;break a}Cb=a[$a>>2]|0;fb=a[va>>
-2]|0}sb=Cb+-1|0;Xa=fb+1|0;Fa=t[fb>>0]|0;Pa=Fa&255;if(sb)Eb=sb,vb=Xa;else{if(!(da[a[xa>>2]&63](b)|0)){ea=0;wa=303;break a}Eb=a[$a>>2]|0;vb=a[va>>2]|0}Xa=Eb+-1|0;sb=vb+1|0;tb=t[vb>>0]|0;bb=tb&255;Ib=kb+-2|0;Mb=a[b>>2]|0;a[Mb+20>>2]=81;a[Mb+24>>2]=Pa;a[Mb+28>>2]=bb;ub[a[Mb+4>>2]&31](b,1);31>=(Fa&255)?15>=(Fa&255)?(Fa=bb&15,t[b+232+Pa>>0]=Fa,Mb=(tb&255)>>>4,t[b+248+Pa>>0]=Mb,(Fa&255)>(Mb&255)&&(Mb=a[b>>2]|0,a[Mb+20>>2]=30,a[Mb+24>>2]=bb,R[a[Mb>>2]&127](b))):wa=90:(Mb=a[b>>2]|0,a[Mb+20>>2]=29,a[Mb+24>>
-2]=Pa,R[a[Mb>>2]&127](b),wa=90);90==(wa|0)&&(wa=0,t[Pa+-16+(b+264)>>0]=tb);if(2<(kb|0))qb=Xa,kb=Ib,ib=sb;else{Hb=Xa;Ua=Ib;Kb=sb;break}}else Hb=la,Ua=ta,Kb=za;Ua&&(ib=a[b>>2]|0,a[ib+20>>2]=12,R[a[ib>>2]&127](b));a[va>>2]=Kb;a[$a>>2]=Hb;break;case 196:ib=a[h>>2]|0;kb=ib+4|0;if(qb=a[kb>>2]|0)Jb=qb;else{if(!(da[a[ib+12>>2]&63](b)|0)){wa=127;break a}Jb=a[kb>>2]|0}qb=a[ib>>2]|0;xa=Jb+-1|0;sb=qb+1|0;Ib=x[qb>>0]<<8;if(xa)Wb=xa,yb=sb;else{if(!(da[a[ib+12>>2]&63](b)|0)){wa=127;break a}Wb=a[kb>>2]|0;yb=a[ib>>
-2]|0}sb=Wb+-1|0;xa=yb+1|0;qb=(x[yb>>0]|Ib)+-2|0;if(16<(qb|0))for(Ib=ib+12|0,Xa=sb,tb=qb,Pa=xa;;){if(Xa)cb=Xa,gc=Pa;else{if(!(da[a[Ib>>2]&63](b)|0)){wa=127;break a}cb=a[kb>>2]|0;gc=a[ib>>2]|0}Mb=x[gc>>0]|0;bb=a[b>>2]|0;a[bb+20>>2]=82;a[bb+24>>2]=Mb;ub[a[bb+4>>2]&31](b,1);t[c>>0]=0;bb=cb+-1|0;Fa=0;Ub=1;for(Fb=gc+1|0;;){if(bb)Gb=bb,Lb=Fb;else{if(!(da[a[Ib>>2]&63](b)|0)){wa=127;break a}Gb=a[kb>>2]|0;Lb=a[ib>>2]|0}lb=t[Lb>>0]|0;t[c+Ub>>0]=lb;rb=(lb&255)+Fa|0;Ub=Ub+1|0;lb=Gb+-1|0;wb=Lb+1|0;if(17<=(Ub|0)){db=
-rb;Qd=lb;zb=wb;break}else bb=lb,Fa=rb,Fb=wb}Fb=tb+-17|0;Fa=a[b>>2]|0;a[Fa+24>>2]=x[Wa>>0];a[Fa+28>>2]=x[eb>>0];a[Fa+32>>2]=x[pb>>0];a[Fa+36>>2]=x[xb>>0];a[Fa+40>>2]=x[Zb>>0];a[Fa+44>>2]=x[ab>>0];a[Fa+48>>2]=x[jb>>0];a[Fa+52>>2]=x[mc>>0];a[Fa+20>>2]=88;ub[a[Fa+4>>2]&31](b,2);Fa=a[b>>2]|0;a[Fa+24>>2]=x[Ab>>0];a[Fa+28>>2]=x[Ta>>0];a[Fa+32>>2]=x[Ya>>0];a[Fa+36>>2]=x[Sa>>0];a[Fa+40>>2]=x[mb>>0];a[Fa+44>>2]=x[Db>>0];a[Fa+48>>2]=x[cc>>0];a[Fa+52>>2]=x[Za>>0];a[Fa+20>>2]=88;ub[a[Fa+4>>2]&31](b,2);256<(db|
-0)|(Fb|0)<(db|0)&&(Fa=a[b>>2]|0,a[Fa+20>>2]=9,R[a[Fa>>2]&127](b));Va(e|0,0,256)|0;if(0<(db|0))for(Fa=Qd,bb=0,Ub=zb;;){if(Fa)Ob=Fa,Tb=Ub;else{if(!(da[a[Ib>>2]&63](b)|0)){wa=127;break a}Ob=a[kb>>2]|0;Tb=a[ib>>2]|0}wb=Ob+-1|0;rb=Tb+1|0;t[e+bb>>0]=t[Tb>>0]|0;bb=bb+1|0;if((bb|0)>=(db|0)){Sb=wb;Pb=rb;break}else Fa=wb,Ub=rb}else Sb=Qd,Pb=zb;Ub=Fb-db|0;Fa=0==(Mb&16|0);bb=Mb+-16|0;rb=Fa?Mb:bb;wb=Fa?b+180+(Mb<<2)|0:b+196+(bb<<2)|0;3<rb>>>0&&(bb=a[b>>2]|0,a[bb+20>>2]=31,a[bb+24>>2]=rb,R[a[bb>>2]&127](b));(bb=
-a[wb>>2]|0)?Qb=bb:(rb=Zi(b)|0,Qb=a[wb>>2]=rb);bb=Qb;rb=c;Fa=bb+17|0;do t[bb>>0]=t[rb>>0]|0,bb=bb+1|0,rb=rb+1|0;while((bb|0)<(Fa|0));Ec((a[wb>>2]|0)+17|0,e|0,256)|0;if(16<(Ub|0))Xa=Sb,tb=Ub,Pa=Pb;else{ac=Sb;Vb=Ub;Yb=Pb;break}}else ac=sb,Vb=qb,Yb=xa;Vb&&(Pa=a[b>>2]|0,a[Pa+20>>2]=12,R[a[Pa>>2]&127](b));a[ib>>2]=Yb;a[kb>>2]=ac;break;case 219:Pa=a[h>>2]|0;tb=Pa+4|0;if(Xa=a[tb>>2]|0)fc=Xa;else{if(!(da[a[Pa+12>>2]&63](b)|0)){ea=0;wa=303;break a}fc=a[tb>>2]|0}Xa=a[Pa>>2]|0;Ib=fc+-1|0;$a=Xa+1|0;va=x[Xa>>0]<<
-8;if(Ib)$b=Ib,jc=$a;else{if(!(da[a[Pa+12>>2]&63](b)|0)){ea=0;wa=303;break a}$b=a[tb>>2]|0;jc=a[Pa>>2]|0}$a=$b+-1|0;Ib=jc+1|0;Xa=x[jc>>0]|va;va=Xa+-2|0;if(2<Xa>>>0)for(Xa=Pa+12|0,za=$a,ta=va,la=Ib;;){rb=ta+-1|0;if(za)lc=za,kc=la;else{if(!(da[a[Xa>>2]&63](b)|0)){ea=0;wa=303;break a}lc=a[tb>>2]|0;kc=a[Pa>>2]|0}bb=x[kc>>0]|0;Fa=bb>>>4;Mb=bb&15;bb=a[b>>2]|0;a[bb+20>>2]=83;a[bb+24>>2]=Mb;a[bb+28>>2]=Fa;ub[a[bb+4>>2]&31](b,1);3<Mb>>>0&&(bb=a[b>>2]|0,a[bb+20>>2]=32,a[bb+24>>2]=Mb,R[a[bb>>2]&127](b));bb=b+
-164+(Mb<<2)|0;(Mb=a[bb>>2]|0)?hc=Mb:(Fb=zf(b)|0,hc=a[bb>>2]=Fb);if(Mb=0!=(Fa|0))if(129>(ta|0)){Fa=0;do w[hc+(Fa<<1)>>1]=1,Fa=Fa+1|0;while(64!=(Fa|0));ec=rb>>1;wa=150}else wa=157;else if(65>(ta|0)){Fa=0;do w[hc+(Fa<<1)>>1]=1,Fa=Fa+1|0;while(64!=(Fa|0));ec=rb;wa=150}else wa=157;b:do if(150==(wa|0)){wa=0;switch(ec|0){case 4:nc=4;yc=121164;break;case 9:nc=ec;yc=121064;break;case 16:nc=ec;yc=120936;break;case 25:nc=ec;yc=120772;break;case 36:nc=ec;yc=120564;break;case 49:nc=ec;yc=120304;break;default:Fa=
-lc+-1|0;Ub=kc+1|0;0<(ec|0)?(xc=Fa,vc=ec,Bc=119984,zc=Ub,wa=159):(Cc=Fa,oc=ec,Gc=Ub);break b}xc=lc+-1|0;vc=nc;Bc=yc;zc=kc+1|0;wa=159}else 157==(wa|0)&&(wa=0,xc=lc+-1|0,vc=64,Bc=119984,zc=kc+1|0,wa=159);while(0);if(159==(wa|0))for(wa=0,Ub=xc,Fa=0,wb=zc;;){Fb=0==(Ub|0);if(Mb){if(Fb){if(!(da[a[Xa>>2]&63](b)|0)){ea=0;wa=303;break a}Jc=a[tb>>2]|0;Hc=a[Pa>>2]|0}else Jc=Ub,Hc=wb;bb=Jc+-1|0;lb=Hc+1|0;ic=x[Hc>>0]<<8;if(bb)Lc=bb,Fc=lb;else{if(!(da[a[Xa>>2]&63](b)|0)){ea=0;wa=303;break a}Lc=a[tb>>2]|0;Fc=a[Pa>>
-2]|0}bd=Lc;Ic=Fc;Rc=x[Fc>>0]|ic}else{if(Fb){if(!(da[a[Xa>>2]&63](b)|0)){ea=0;wa=303;break a}Oc=a[tb>>2]|0;Uc=a[Pa>>2]|0}else Oc=Ub,Uc=wb;bd=Oc;Ic=Uc;Rc=x[Uc>>0]|0}w[hc+(a[Bc+(Fa<<2)>>2]<<1)>>1]=Rc;Fa=Fa+1|0;Fb=bd+-1|0;ic=Ic+1|0;if((Fa|0)>=(vc|0)){Cc=Fb;oc=vc;Gc=ic;break}else Ub=Fb,wb=ic}wb=a[b>>2]|0;b:do if(1<(a[wb+104>>2]|0))for(Ub=wb,Fa=0;;){a[Ub+24>>2]=N[hc+(Fa<<1)>>1];a[Ub+28>>2]=N[hc+((Fa|1)<<1)>>1];a[Ub+32>>2]=N[hc+((Fa|2)<<1)>>1];a[Ub+36>>2]=N[hc+((Fa|3)<<1)>>1];a[Ub+40>>2]=N[hc+((Fa|4)<<1)>>
-1];a[Ub+44>>2]=N[hc+((Fa|5)<<1)>>1];a[Ub+48>>2]=N[hc+((Fa|6)<<1)>>1];a[Ub+52>>2]=N[hc+((Fa|7)<<1)>>1];a[Ub+20>>2]=95;ub[a[Ub+4>>2]&31](b,2);ic=Fa+8|0;if(64<=(ic|0))break b;Ub=a[b>>2]|0;Fa=ic}while(0);wb=rb-oc+(Mb?0-oc|0:0)|0;if(0<(wb|0))za=Cc,ta=wb,la=Gc;else{Wc=Cc;Pc=wb;ad=Gc;break}}else Wc=$a,Pc=va,ad=Ib;Pc&&(la=a[b>>2]|0,a[la+20>>2]=12,R[a[la>>2]&127](b));a[Pa>>2]=ad;a[tb>>2]=Wc;break;case 221:la=a[h>>2]|0;ta=la+4|0;if(za=a[ta>>2]|0)Qc=za;else{if(!(da[a[la+12>>2]&63](b)|0)){ea=0;wa=303;break a}Qc=
-a[ta>>2]|0}za=a[la>>2]|0;Xa=Qc+-1|0;kb=za+1|0;ib=x[za>>0]<<8;if(Xa)Xc=Xa,hd=kb;else{if(!(da[a[la+12>>2]&63](b)|0)){ea=0;wa=303;break a}Xc=a[ta>>2]|0;hd=a[la>>2]|0}kb=Xc+-1|0;Xa=hd+1|0;4!=(x[hd>>0]|ib|0)&&(ib=a[b>>2]|0,a[ib+20>>2]=12,R[a[ib>>2]&127](b));if(kb)Bd=kb,Vc=Xa;else{if(!(da[a[la+12>>2]&63](b)|0)){ea=0;wa=303;break a}Bd=a[ta>>2]|0;Vc=a[la>>2]|0}Xa=Bd+-1|0;kb=Vc+1|0;ib=x[Vc>>0]<<8;if(Xa)Rb=Xa,od=kb;else{if(!(da[a[la+12>>2]&63](b)|0)){ea=0;wa=303;break a}Rb=a[ta>>2]|0;od=a[la>>2]|0}kb=x[od>>
-0]|ib;ib=a[b>>2]|0;a[ib+20>>2]=84;a[ib+24>>2]=kb;ub[a[ib+4>>2]&31](b,1);a[Aa>>2]=kb;a[la>>2]=od+1;a[ta>>2]=Rb+-1;break;case 248:ta=a[h>>2]|0;la=a[ta>>2]|0;kb=ta+4|0;ib=a[kb>>2]|0;a[(a[g>>2]|0)+16>>2]|0||(Xa=a[b>>2]|0,a[Xa+20>>2]=60,Wk(Xa+24|0,156277,80)|0,R[a[a[b>>2]>>2]&127](b));do if(3<=(a[ia>>2]|0)){if(ib)tc=ib,Xb=la;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}tc=a[kb>>2]|0;Xb=a[ta>>2]|0}Xa=tc+-1|0;za=Xb+1|0;xa=x[Xb>>0]<<8;if(Xa)rc=Xa,ed=za;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;
-wa=303;break a}rc=a[kb>>2]|0;ed=a[ta>>2]|0}za=rc+-1|0;Xa=ed+1|0;24!=(x[ed>>0]|xa|0)&&(xa=a[b>>2]|0,a[xa+20>>2]=12,R[a[xa>>2]&127](b));if(za)gd=za,$c=Xa;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}gd=a[kb>>2]|0;$c=a[ta>>2]|0}Xa=gd+-1|0;za=$c+1|0;13!=(t[$c>>0]|0)&&(xa=a[b>>2]|0,a[xa+20>>2]=70,a[xa+24>>2]=a[f>>2],R[a[xa>>2]&127](b));if(Xa)cd=Xa,dd=za;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}cd=a[kb>>2]|0;dd=a[ta>>2]|0}za=cd+-1|0;Xa=dd+1|0;xa=x[dd>>0]<<8;if(za)md=za,ld=Xa;else{if(!(da[a[ta+
-12>>2]&63](b)|0)){ea=0;wa=303;break a}md=a[kb>>2]|0;ld=a[ta>>2]|0}Xa=md+-1|0;za=ld+1|0;if(255==(x[ld>>0]|xa|0)){if(Xa)Yc=Xa,wc=za;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Yc=a[kb>>2]|0;wc=a[ta>>2]|0}xa=Yc+-1|0;qb=wc+1|0;if(3==(t[wc>>0]|0)){if(xa)id=xa,dc=qb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}id=a[kb>>2]|0;dc=a[ta>>2]|0}sb=id+-1|0;wb=dc+1|0;Fa=a[qa>>2]|0;if((x[dc>>0]|0)==(a[Fa+88>>2]|0)){if(sb)Ac=Fa,Sc=sb,Tc=wb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Ac=
-a[qa>>2]|0;Sc=a[kb>>2]|0;Tc=a[ta>>2]|0}Fa=Sc+-1|0;Ub=Tc+1|0;if((x[Tc>>0]|0)==(a[Ac>>2]|0)){if(Fa)td=Ac,qd=Fa,Ce=Ub;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}td=a[qa>>2]|0;qd=a[kb>>2]|0;Ce=a[ta>>2]|0}ic=qd+-1|0;Fb=Ce+1|0;if((x[Ce>>0]|0)!=(a[td+176>>2]|0))vd=ic,wd=Fb,wa=288;else{if(ic)rd=ic,sd=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}rd=a[kb>>2]|0;sd=a[ta>>2]|0}Fb=rd+-1|0;ic=sd+1|0;if(-128!=(t[sd>>0]|0))vd=Fb,wd=ic,wa=288;else{if(Fb)pd=Fb,jd=ic;else{if(!(da[a[ta+12>>
-2]&63](b)|0)){ea=0;wa=303;break a}pd=a[kb>>2]|0;jd=a[ta>>2]|0}ic=pd+-1|0;Fb=jd+1|0;lb=x[jd>>0]<<8;if(ic)Ud=ic,zd=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Ud=a[kb>>2]|0;zd=a[ta>>2]|0}Fb=Ud+-1|0;ic=zd+1|0;if(x[zd>>0]|lb)vd=Fb,wd=ic,wa=288;else{if(Fb)Cd=Fb,Dd=ic;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Cd=a[kb>>2]|0;Dd=a[ta>>2]|0}ic=Cd+-1|0;Fb=Dd+1|0;lb=x[Dd>>0]<<8;if(ic)ce=ic,oe=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}ce=a[kb>>2]|0;oe=a[ta>>2]|0}Fb=
-ce+-1|0;ic=oe+1|0;if(x[oe>>0]|lb)vd=Fb,wd=ic,wa=288;else{if(Fb)Id=Fb,Kd=ic;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Id=a[kb>>2]|0;Kd=a[ta>>2]|0}ic=Id+-1|0;Fb=Kd+1|0;if(t[Kd>>0]|0)vd=ic,wd=Fb,wa=288;else{if(ic)Df=ic,Nd=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Df=a[kb>>2]|0;Nd=a[ta>>2]|0}Fb=Df+-1|0;ic=Nd+1|0;lb=x[Nd>>0]<<8;if(Fb)Pd=Fb,Vd=ic;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Pd=a[kb>>2]|0;Vd=a[ta>>2]|0}ic=Pd+-1|0;Fb=Vd+1|0;if(1!=(x[Vd>>0]|lb|0))vd=
-ic,wd=Fb,wa=288;else{if(ic)ne=ic,he=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}ne=a[kb>>2]|0;he=a[ta>>2]|0}Fb=ne+-1|0;ic=he+1|0;lb=x[he>>0]<<8;if(Fb)te=Fb,de=ic;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}te=a[kb>>2]|0;de=a[ta>>2]|0}ic=te+-1|0;Fb=de+1|0;if(x[de>>0]|lb)vd=ic,wd=Fb,wa=288;else{if(ic)He=ic,ue=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}He=a[kb>>2]|0;ue=a[ta>>2]|0}Fb=He+-1|0;ic=ue+1|0;if(t[ue>>0]|0)vd=Fb,wd=ic,wa=288;else{if(Fb)Ld=Fb,Od=ic;else{if(!(da[a[ta+
-12>>2]&63](b)|0)){ea=0;wa=303;break a}Ld=a[kb>>2]|0;Od=a[ta>>2]|0}ic=Ld+-1|0;Fb=Od+1|0;lb=x[Od>>0]<<8;if(ic)ae=ic,De=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}ae=a[kb>>2]|0;De=a[ta>>2]|0}Fb=ae+-1|0;ic=De+1|0;if(1!=(x[De>>0]|lb|0))vd=Fb,wd=ic,wa=288;else{if(Fb)be=Fb,Fd=ic;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}be=a[kb>>2]|0;Fd=a[ta>>2]|0}ic=be+-1|0;Fb=Fd+1|0;lb=x[Fd>>0]<<8;if(ic)Rd=ic,Gd=Fb;else{if(!(da[a[ta+12>>2]&63](b)|0)){ea=0;wa=303;break a}Rd=a[kb>>2]|0;Gd=a[ta>>
-2]|0}Fb=Rd+-1|0;ic=Gd+1|0;x[Gd>>0]|lb?(vd=Fb,wd=ic,wa=288):($d=Fb,ge=ic)}}}}}}}}}}else vd=Fa,wd=Ub,wa=288}else vd=sb,wd=wb,wa=288}else vd=xa,wd=qb,wa=288}else vd=Xa,wd=za,wa=288}else vd=ib,wd=la,wa=288;while(0);288==(wa|0)&&(wa=0,la=a[b>>2]|0,a[la+20>>2]=28,R[a[la>>2]&127](b),$d=vd,ge=wd);a[Ia>>2]=1;a[ta>>2]=ge;a[kb>>2]=$d;break;case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:if(!(da[a[(a[g>>2]|0)+32+(Ma+
--224<<2)>>2]&63](b)|0)){ea=0;wa=303;break a}break;case 254:if(!(da[a[(a[g>>2]|0)+28>>2]&63](b)|0)){ea=0;wa=303;break a}break;case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:la=a[b>>2]|0;a[la+20>>2]=94;a[la+24>>2]=Ma;ub[a[la+4>>2]&31](b,1);break;case 220:la=a[h>>2]|0;ib=la+4|0;if(tb=a[ib>>2]|0)ud=tb;else{if(!(da[a[la+12>>2]&63](b)|0)){ea=0;wa=303;break a}ud=a[ib>>2]|0}tb=a[la>>2]|0;Pa=ud+-1|0;Ib=tb+1|0;va=x[tb>>0]<<8;if(Pa)xd=Pa,ie=Ib;else{if(!(da[a[la+12>>2]&63](b)|
-0)){ea=0;wa=303;break a}xd=a[ib>>2]|0;ie=a[la>>2]|0}Ib=x[ie>>0]|va;va=Ib+-2|0;Pa=a[b>>2]|0;a[Pa+20>>2]=93;a[Pa+24>>2]=a[f>>2];a[Pa+28>>2]=va;ub[a[Pa+4>>2]&31](b,1);a[la>>2]=ie+1;a[ib>>2]=xd+-1;if(2<Ib>>>0)ub[a[(a[h>>2]|0)+16>>2]&31](b,va);break;default:va=a[b>>2]|0,a[va+20>>2]=70,a[va+24>>2]=Ma,R[a[va>>2]&127](b)}while(0);Ja=a[f>>2]=0}if(25==(wa|0)){Ja=a[h>>2]|0;h=a[Ja>>2]|0;Ma=Ja+4|0;xd=a[Ma>>2]|0;a[(a[g>>2]|0)+16>>2]|0||(ie=a[b>>2]|0,a[ie+20>>2]=60,Wk(ie+24|0,156273,80)|0,R[a[a[b>>2]>>2]&127](b));
-if(xd)je=xd,Xd=h;else if(da[a[Ja+12>>2]&63](b)|0)je=a[Ma>>2]|0,Xd=a[Ja>>2]|0;else return ea=0,u=d,ea|0;h=je+-1|0;je=Xd+1|0;xd=x[Xd>>0]<<8;if(h)Of=h,Dc=je;else if(da[a[Ja+12>>2]&63](b)|0)Of=a[Ma>>2]|0,Dc=a[Ja>>2]|0;else return ea=0,u=d,ea|0;je=Of+-1|0;Of=Dc+1|0;h=x[Dc>>0]|xd;if(je)yd=je,Ad=Of;else if(da[a[Ja+12>>2]&63](b)|0)yd=a[Ma>>2]|0,Ad=a[Ja>>2]|0;else return ea=0,u=d,ea|0;Of=t[Ad>>0]|0;je=Of&255;xd=a[b>>2]|0;a[xd+20>>2]=105;a[xd+24>>2]=je;ub[a[xd+4>>2]&31](b,1);4<(Of&255)|(h|0)!=((je<<1)+6|0)?
-wa=41:Of<<24>>24?(a[b+340>>2]=je,xd=yd+-1|0,Sd=0==(xd|0),Td=xd,se=Ad+1|0,wa=42):a[b+224>>2]|0?(a[b+340>>2]=je,(xd=yd+-1|0)?(Md=1,ve=xd,Je=Ad+1|0):(Ye=1,wa=61)):wa=41;41==(wa|0)&&(h=a[b>>2]|0,a[h+20>>2]=12,R[a[h>>2]&127](b),a[b+340>>2]=je,h=yd+-1|0,yd=Ad+1|0,Ad=0==(h|0),Of<<24>>24?(Sd=Ad,Td=h,se=yd,wa=42):(ze=Ad,Qe=1,Yd=h,Ze=yd,wa=60));a:do if(42==(wa|0)){yd=Ja+12|0;h=b+344|0;Ad=Sd;Of=Td;xd=0;for(Dc=se;;){if(Ad){if(!(da[a[yd>>2]&63](b)|0)){ea=0;wa=303;break}we=a[Ma>>2]|0;xe=a[Ja>>2]|0}else we=Of,xe=
-Dc;Xd=we+-1|0;ie=xe+1|0;ud=x[xe>>0]|0;b:do if(0<(xd|0)){for($d=0;(ud|0)!=(a[a[b+344+($d<<2)>>2]>>2]|0);)if($d=$d+1|0,($d|0)>=(xd|0)){kf=ud;break b}$d=a[a[h>>2]>>2]|0;if(1<(xd|0))for(Mb=$d,rb=1;;)if(ge=a[a[b+344+(rb<<2)>>2]>>2]|0,Ia=(ge|0)>(Mb|0)?ge:Mb,rb=rb+1|0,(rb|0)==(xd|0)){re=Ia;break}else Mb=Ia;else re=$d;kf=re+1|0}else kf=ud;while(0);ud=a[qa>>2]|0;kb=a[ia>>2]|0;b:do if(0<(kb|0))for(ta=0,Mb=ud;;){if((kf|0)==(a[Mb>>2]|0)){df=Mb;break b}ta=ta+1|0;rb=Mb+88|0;if((ta|0)>=(kb|0)){Ae=rb;wa=55;break}else Mb=
-rb}else Ae=ud,wa=55;while(0);55==(wa|0)&&(wa=0,ud=a[b>>2]|0,a[ud+20>>2]=4,a[ud+24>>2]=kf,R[a[ud>>2]&127](b),df=Ae);a[b+344+(xd<<2)>>2]=df;if(Xd)ef=Xd,Ue=ie;else{if(!(da[a[yd>>2]&63](b)|0)){ea=0;wa=303;break}ef=a[Ma>>2]|0;Ue=a[Ja>>2]|0}ud=x[Ue>>0]|0;kb=df+20|0;a[kb>>2]=ud>>>4;Mb=df+24|0;a[Mb>>2]=ud&15;ud=a[b>>2]|0;a[ud+24>>2]=a[df>>2];a[ud+28>>2]=a[kb>>2];a[ud+32>>2]=a[Mb>>2];a[ud+20>>2]=106;ub[a[ud+4>>2]&31](b,1);xd=xd+1|0;ud=ef+-1|0;Mb=Ue+1|0;kb=0==(ud|0);if((xd|0)>=(je|0)){ze=kb;Qe=0;Yd=ud;Ze=Mb;
-wa=60;break a}else Ad=kb,Of=ud,Dc=Mb}if(303==(wa|0))return u=d,ea|0}while(0);60==(wa|0)&&(ze?(Ye=Qe,wa=61):(Md=Qe,ve=Yd,Je=Ze));if(61==(wa|0))if(da[a[Ja+12>>2]&63](b)|0)Md=Ye,ve=a[Ma>>2]|0,Je=a[Ja>>2]|0;else return ea=0,u=d,ea|0;Ye=ve+-1|0;ve=Je+1|0;Ze=b+412|0;a[Ze>>2]=x[Je>>0];if(Ye)Ke=Ye,qe=ve;else if(da[a[Ja+12>>2]&63](b)|0)Ke=a[Ma>>2]|0,qe=a[Ja>>2]|0;else return ea=0,u=d,ea|0;ve=Ke+-1|0;Ke=qe+1|0;Ye=b+416|0;a[Ye>>2]=x[qe>>0];if(ve)$e=ve,le=Ke;else if(da[a[Ja+12>>2]&63](b)|0)$e=a[Ma>>2]|0,le=a[Ja>>
-2]|0;else return ea=0,u=d,ea|0;Ke=x[le>>0]|0;ve=b+420|0;a[ve>>2]=Ke>>>4;qe=b+424|0;a[qe>>2]=Ke&15;Ke=a[b>>2]|0;a[Ke+24>>2]=a[Ze>>2];a[Ke+28>>2]=a[Ye>>2];a[Ke+32>>2]=a[ve>>2];a[Ke+36>>2]=a[qe>>2];a[Ke+20>>2]=107;ub[a[Ke+4>>2]&31](b,1);a[(a[g>>2]|0)+20>>2]=0;Md||(Md=b+144|0,a[Md>>2]=(a[Md>>2]|0)+1);a[Ja>>2]=le+1;a[Ma>>2]=$e+-1;a[f>>2]=0;ea=1;u=d;return ea|0}return 72==(wa|0)?($e=a[b>>2]|0,a[$e+20>>2]=87,ub[a[$e+4>>2]&31](b,1),a[f>>2]=0,ea=2,u=d,ea|0):127==(wa|0)?(ea=0,u=d,ea|0):303==(wa|0)?(u=d,ea|
-0):0},function(b){b|=0;var d,c,e,f;d=b+440|0;if(c=a[d>>2]|0)e=c;else if(rg(b)|0)e=a[d>>2]|0;else return 0;c=b+464|0;f=a[(a[c>>2]|0)+20>>2]|0;if((e|0)!=(f+208|0)){if(!(dd[a[(a[b+24>>2]|0)+20>>2]&127](b,f)|0))return 0}else e=a[b>>2]|0,a[e+20>>2]=100,a[e+24>>2]=f,ub[a[e+4>>2]&31](b,3),a[d>>2]=0;d=(a[c>>2]|0)+20|0;a[d>>2]=(a[d>>2]|0)+1&7;return 1},function(b){b|=0;var d,c,e,f,g,h,m,k;d=b+24|0;c=a[d>>2]|0;e=c+4|0;if(f=a[e>>2]|0)g=f;else if(da[a[c+12>>2]&63](b)|0)g=a[e>>2]|0;else return 0;f=a[c>>2]|0;h=
-g+-1|0;g=f+1|0;f=(x[f>>0]|0)<<8;if(h)m=h,k=g;else if(da[a[c+12>>2]&63](b)|0)m=a[e>>2]|0,k=a[c>>2]|0;else return 0;g=x[k>>0]|0|f;f=g+-2|0;h=a[b>>2]|0;a[h+20>>2]=93;a[h+24>>2]=a[b+440>>2];a[h+28>>2]=f;ub[a[h+4>>2]&31](b,1);a[c>>2]=k+1;a[e>>2]=m+-1;if(2>=g>>>0)return 1;ub[a[(a[d>>2]|0)+16>>2]&31](b,f);return 1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y;d=u;u=u+16|0;c=b+24|0;e=a[c>>2]|0;f=e+4|0;if(g=a[f>>2]|0)h=g;else if(da[a[e+12>>2]&63](b)|0)h=a[f>>2]|0;else return u=d,0;g=a[e>>2]|0;m=h+-1|0;h=
-g+1|0;k=x[g>>0]<<8;if(m)l=m,n=h;else if(da[a[e+12>>2]&63](b)|0)l=a[f>>2]|0,n=a[e>>2]|0;else return u=d,0;h=x[n>>0]|k;k=h+-2|0;m=13<(k|0)?14:2<h>>>0?k:0;h=l+-1|0;l=n+1|0;a:do{if(m){n=e+12|0;g=h;h=0;for(q=l;;){if(g)y=q;else{if(!(da[a[n>>2]&63](b)|0)){b=0;break}g=a[f>>2]|0;y=a[e>>2]|0}t[d+h>>0]=t[y>>0]|0;h=h+1|0;g=g+-1|0;y=y+1|0;if(h>>>0>=m>>>0){n=g;p=y;break a}else q=y}u=d;return b|0}n=h;p=l}while(0);y=k-m|0;g=a[b+440>>2]|0;a:do switch(g|0){case 224:Uh(b,d,m,y);break;case 238:if(11<m>>>0&65==(t[d>>
-0]|0)&&100==(t[d+1>>0]|0)&&111==(t[d+2>>0]|0)&&98==(t[d+3>>0]|0)&&101==(t[d+4>>0]|0)){l=x[d+7>>0]<<8|x[d+8>>0];h=x[d+9>>0]<<8|x[d+10>>0];q=t[d+11>>0]|0;g=a[b>>2]|0;a[g+24>>2]=x[d+5>>0]<<8|x[d+6>>0];a[g+28>>2]=l;a[g+32>>2]=h;a[g+36>>2]=q&255;a[g+20>>2]=78;ub[a[g+4>>2]&31](b,1);a[b+296>>2]=1;t[b+300>>0]=q;break a}q=a[b>>2]|0;a[q+20>>2]=80;a[q+24>>2]=k;ub[a[q+4>>2]&31](b,1);break;default:q=a[b>>2]|0,a[q+20>>2]=70,a[q+24>>2]=g,R[a[q>>2]&127](b)}while(0);a[e>>2]=p;a[f>>2]=n;if(0>=(y|0))return u=d,1;ub[a[(a[c>>
-2]|0)+16>>2]&31](b,y);u=d;return 1},function(b){b|=0;var d,c,e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,x,C,w,v,A,J,I;d=u;u=u+16|0;c=b+452|0;e=a[c>>2]|0;f=b+340|0;if(0<(a[f>>2]|0)){g=b+4|0;h=b+148|0;m=0;do k=a[b+344+(m<<2)>>2]|0,l=a[k+12>>2]|0,n=E(l,a[h>>2]|0)|0,p=jg[a[(a[g>>2]|0)+32>>2]&3](b,a[e+72+(a[k+4>>2]<<2)>>2]|0,n,l,1)|0,a[d+(m<<2)>>2]=p,m=m+1|0;while((m|0)<(a[f>>2]|0))}m=e+24|0;g=a[m>>2]|0;h=e+28|0;p=a[h>>2]|0;a:do if((g|0)<(p|0)){l=e+20|0;n=b+360|0;k=b+468|0;q=e+32|0;y=a[l>>2]|0;B=a[n>>2]|0;b:for(;;){if(y>>>
-0<B>>>0){for(p=y;;){y=a[f>>2]|0;if(0<(y|0))for(B=t=0;;){r=a[b+344+(B<<2)>>2]|0;z=a[r+56>>2]|0;x=E(z,p)|0;C=a[r+60>>2]|0;if(0<(C|0)&&(r=a[d+(B<<2)>>2]|0,0<(z|0)))for(w=1<(z|0)?z:1,v=0;;){A=t;J=(a[r+(v+g<<2)>>2]|0)+(x<<7)|0;for(I=0;!(a[e+32+(A<<2)>>2]=J,I=I+1|0,(I|0)>=(z|0));)A=A+1|0,J=J+128|0;J=t+w|0;v=v+1|0;if((v|0)>=(C|0)){r=J;break}else t=J}else r=t;B=B+1|0;if((B|0)>=(y|0))break;else t=r}if(!(dd[a[(a[k>>2]|0)+4>>2]&127](b,q)|0)){e=p;h=g;break b}p=p+1|0;t=a[n>>2]|0;if(p>>>0>=t>>>0){p=t;break}}B=
-p;p=a[h>>2]|0}a[l>>2]=0;g=g+1|0;if((g|0)>=(p|0))break a;else y=0}a[m>>2]=h;a[l>>2]=e;u=d;return 0}while(0);e=b+148|0;h=(a[e>>2]|0)+1|0;a[e>>2]=h;e=a[b+332>>2]|0;if(h>>>0>=e>>>0)return R[a[(a[b+460>>2]|0)+12>>2]&127](b),u=d,4;m=a[c>>2]|0;1>=(a[f>>2]|0)?(c=a[b+344>>2]|0,a[m+28>>2]=h>>>0<(e+-1|0)>>>0?a[c+12>>2]:a[c+76>>2]):a[m+28>>2]=1;a[m+20>>2]=0;a[m+24>>2]=0;u=d;return 3},function(a){return 0},rf,rf,rf,rf,rf,rf,rf,rf,rf,rf,rf],td=[$b,function(b,d,c){b|=0;d|=0;c|=0;var e,f;e=u;u=u+16|0;f=a[30710]|
-0;b&&(a[e>>2]=b,Ld(f,139937,e)|0);Sd(139945,9,1,f)|0;Ei(f,d,c)|0;Sd(139942,2,1,f)|0;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f;e=u;u=u+16|0;f=a[30710]|0;b&&(a[e>>2]=b,Ld(f,139937,e)|0);Ei(f,d,c)|0;Sd(139942,2,1,f)|0;u=e},function(a,d,c){},function(a,d,c){d|=0;c|=0;c&1?Z(138285,137683,1059,138299):Vd(d,(c|0)/2|0)},function(a,d,c){d|=0;c|=0;if((c|0)%3|0)Z(138318,137683,1067,138332);else{a=(c|0)/3|0;var e;if(0<(a|0))for(c=a,e=d|0;;)if(d=e+2|0,a=t[d>>0]|0,t[d>>0]=t[e>>0]|0,t[e>>0]=a,1<(c|0))c=c+-1|0,
-e=e+3|0;else break}},function(a,d,c){d|=0;c|=0;c&3?Z(138351,137683,1075,138365):Id(d,(c|0)/4|0)},function(a,d,c){d|=0;c|=0;c&7?Z(138384,137683,1083,138398):re(d,(c|0)/8|0)},function(b,d,c){d|=0;c|=0;var e;b=a[d>>2]|0;e=1>(b|0)?a[d>>2]=256:b;b=a[c>>2]|0;1>(b|0)&&(b=a[c>>2]=256,e=a[d>>2]|0);e&15?(a[d>>2]=4294967280>e>>>0?e+15&-16:0,d=a[c>>2]|0):d=b;d&15&&(a[c>>2]=4294967280>d>>>0?d+15&-16:0)},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B;e=u;u=u+64|0;f=e+56|0;g=e+48|0;h=e+40|0;m=e+32|0;
-k=e+24|0;l=e+16|0;n=e+8|0;p=e;(q=a[b+576>>2]|0)||Z(154168,142823,1232,144253);y=b+48|0;B=a[y>>2]|0;B&512?(4==(w[b+88>>1]|0)?(Sd(144266,18,1,d)|0,B=q+28|0,a[B>>2]&2&&(a[p>>2]=144305,Ld(d,144285,p)|0)):(Sd(144307,18,1,d)|0,B=q+28|0,p=a[B>>2]|0,p&1?(a[n>>2]=144305,Ld(d,144326,n)|0,p=a[B>>2]|0,n=144341):n=144305,p&4?(a[l>>2]=n,Ld(d,144343,l)|0,l=a[B>>2]|0,n=144341):l=p,l&2&&(a[k>>2]=n,Ld(d,144285,k)|0)),B=a[B>>2]|0,a[m>>2]=B,a[m+4>>2]=B,Ld(d,144357,m)|0,m=a[y>>2]|0):m=B;if(m&8){Sd(144373,11,1,d)|0;m=
-q+16|0;switch(N[m>>1]|0){case 0:Sd(144385,6,1,d)|0;break;case 1:Sd(144392,21,1,d)|0;break;case 2:Sd(144414,19,1,d)|0}m=N[m>>1]|0;a[h>>2]=m;a[h+4>>2]=m;Ld(d,144434,h)|0;h=a[y>>2]|0}else h=m;h&4?(a[g>>2]=a[q+24>>2],Ld(d,144448,g)|0,g=a[y>>2]|0):g=h;g&16&&(a[f>>2]=a[q+20>>2],Ld(d,144470,f)|0);if(f=a[q+40>>2]|0)td[f&127](b,d,c);u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g;e=u;u=u+16|0;f=e;(g=a[b+576>>2]|0)||Z(154187,144647,2213,146503);a[b+48>>2]&4&&(a[f>>2]=a[g+916>>2],Ld(d,146516,f)|0);if(f=a[g+900>>
-2]|0)td[f&127](b,d,c);u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g;td[a[(a[b+576>>2]|0)+908>>2]&127](b,d,c);e=a[d>>2]|0;f=N[b+192>>1]|0;g=f<<3;g=E(e>>>0<(0-g|0)>>>0?(((e+-1+g|0)>>>0)/(g>>>0)|0)<<3:0,f)|0;a[d>>2]=g;g=a[c>>2]|0;d=N[b+194>>1]|0;b=d<<3;b=g>>>0>=(0-b|0)>>>0?E(0,d)|0:E((((g+-1+b|0)>>>0)/(b>>>0)|0)<<3,d)|0;a[c>>2]=b},function(a,d,c){d|=0;d=1>(d|0)?1:d;d=100<(d|0)?100:d;Yg(a|0,50>(d|0)?5E3/(d|0)|0:200-(d<<1)|0,c|0)},function(b,d,c){b|=0;d|=0;c|=0;var e,f;a[b+4>>2]=0;90!=(d|0)&&(e=a[b>>2]|
-0,a[e+20>>2]=13,a[e+24>>2]=90,a[e+28>>2]=d,R[a[e>>2]&127](b));440!=(c|0)&&(e=a[b>>2]|0,a[e+20>>2]=22,a[e+24>>2]=440,a[e+28>>2]=c,R[a[e>>2]&127](b));f=b;e=a[b>>2]|0;c=b+12|0;d=a[c>>2]|0;Va(b|0,0,440)|0;a[b>>2]=e;a[c>>2]=d;a[b+16>>2]=0;Wg(f);a[b+8>>2]=0;a[b+24>>2]=0;a[b+84>>2]=0;a[b+88>>2]=0;a[b+104>>2]=100;a[b+92>>2]=0;a[b+108>>2]=100;a[b+96>>2]=0;a[b+112>>2]=100;a[b+100>>2]=0;a[b+116>>2]=100;f=b+120|0;a[f>>2]=0;a[f+4>>2]=0;a[f+8>>2]=0;a[f+12>>2]=0;a[f+16>>2]=0;a[f+20>>2]=0;a[f+24>>2]=0;a[f+28>>2]=
-0;a[b+380>>2]=8;a[b+384>>2]=119984;a[b+388>>2]=63;a[b+428>>2]=0;Hb[b+48>>3]=1;a[b+20>>2]=100},function(b,d,c){b|=0;d|=0;c|=0;var e,f;a[b+4>>2]=0;90!=(d|0)&&(e=a[b>>2]|0,a[e+20>>2]=13,a[e+24>>2]=90,a[e+28>>2]=d,R[a[e>>2]&127](b));488!=(c|0)&&(e=a[b>>2]|0,a[e+20>>2]=22,a[e+24>>2]=488,a[e+28>>2]=c,R[a[e>>2]&127](b));f=b;e=a[b>>2]|0;c=b+12|0;d=a[c>>2]|0;Va(b|0,0,488)|0;a[b>>2]=e;a[c>>2]=d;a[b+16>>2]=1;Wg(f);a[b+8>>2]=0;a[b+24>>2]=0;a[b+312>>2]=0;f=b+164|0;d=f+48|0;do a[f>>2]=0,f=f+4|0;while((f|0)<(d|
-0));d=b|0;c=Aa[a[a[d+4>>2]>>2]&63](d,0,172)|0;e=d+464|0;a[e>>2]=c;a[c>>2]=42;a[c+4>>2]=47;a[c+8>>2]=48;a[c+28>>2]=49;a[c+96>>2]=0;a[c+100>>2]=0;a[c+36>>2]=49;a[c+104>>2]=0;a[c+40>>2]=49;a[c+108>>2]=0;a[c+44>>2]=49;a[c+112>>2]=0;a[c+48>>2]=49;a[c+116>>2]=0;a[c+52>>2]=49;a[c+120>>2]=0;a[c+56>>2]=49;a[c+124>>2]=0;a[c+60>>2]=49;a[c+128>>2]=0;a[c+64>>2]=49;a[c+132>>2]=0;a[c+68>>2]=49;a[c+136>>2]=0;a[c+72>>2]=49;a[c+140>>2]=0;a[c+76>>2]=49;a[c+144>>2]=0;a[c+80>>2]=49;a[c+148>>2]=0;a[c+84>>2]=49;a[c+152>>
-2]=0;a[c+156>>2]=0;a[c+92>>2]=49;a[c+160>>2]=0;a[c+32>>2]=50;a[c+88>>2]=50;c=a[e>>2]|0;a[d+216>>2]=0;a[d+144>>2]=0;a[d+440>>2]=0;a[c+12>>2]=0;a[c+16>>2]=0;a[c+24>>2]=0;a[c+164>>2]=0;d=b|0;c=Aa[a[a[d+4>>2]>>2]&63](d,0,28)|0;a[d+460>>2]=c;a[c>>2]=46;a[c+4>>2]=39;a[c+8>>2]=40;a[c+12>>2]=41;a[c+16>>2]=0;a[c+20>>2]=0;a[c+24>>2]=1;a[b+20>>2]=200},function(a,d,c){},function(b,d,c){c|=0;var e;if(!(0>=(c|0)))for(e=c,c=a[(b|0)+12>>2]|0,b=d|0;;)if(tf(a[c>>2]|0,b),1<(e|0))e=e+-1|0,c=c+4|0,b=b+12|0;else break},
-function(b,d,c){c|=0;var e,f,g,h,m,k=0,l=0,n,p,q,y=0,B=0;if(!(0>=(c|0)))for(e=c,c=a[(b|0)+12>>2]|0,b=d|0;;){d=e;e=e+-1|0;f=a[c>>2]|0;g=b+2|0;w[b>>1]=(f>>>12&4093)+13314;h=f&16383;if(16288<h>>>0)h=.210526316,f=.473684211;else{f=0;m=163;a:for(;;){for(;;){if(1>=(m-f|0)){k=f;l=8;break a}n=f+m>>1;p=w[(n<<3)+107758>>1]|0;q=h-(p<<16>>16)|0;if(0<(q|0))f=n;else{m=n;break}}if(!(0>(q|0))){y=p;B=m;break}}8==(l|0)&&(l=0,y=w[(k<<3)+107758>>1]|0,B=k);h=+W[107752+(B<<3)>>2]+.0035000001080334187*(+(h-(y<<16>>16)|
-0)+.5);f=.0035000001080334187*(+(B|0)+.5)+.016939999535679817}w[g>>1]=~~(32768*h);w[b+4>>1]=~~(32768*f);if(1>=(d|0))break;else c=c+4|0,b=b+6|0}},function(b,d,c){c|=0;var e,f,g,h,m,k,l,n,p;e=u;u=u+16|0;if(!(0>=(c|0)))for(f=e+4|0,g=e+8|0,h=c,c=a[(b|0)+12>>2]|0,b=d|0;!(d=h,h=h+-1|0,tf(a[c>>2]|0,e),c=c+4|0,m=+W[e>>2],k=+W[f>>2],l=+W[g>>2],n=2.69*m-1.276*k-.414*l,p=1.978*k-1.022*m+.044*l,m=.061*m-.224*k+1.163*l,n=0>=n?0:1<=n?-1:~~(256*+Tg(+n))&255,t[b>>0]=n,p=0>=p?0:1<=p?-1:~~(256*+Tg(+p))&255,t[b+1>>
-0]=p,p=0>=m?0:1<=m?-1:~~(256*+Tg(+m))&255,t[b+2>>0]=p,1>=(d|0));)b=b+3|0;u=e},function(b,d,c){c|=0;var e,f,g,h,m=0,k=0;if(!(0>=(c|0)))for(e=c,c=a[(b|0)+12>>2]|0,b=d|0;!(d=e,e=e+-1|0,f=a[c>>2]|0,c=c+4|0,g=f>>16,h=g&32767,0==(h|0)||(m=+xh(+(.0027076061740622863*(+(h|0)+.5)+-44.3614195558365)),k=0!=(g&32768|0)?-m:m,0>=k)?(W[b+8>>2]=0,W[b+4>>2]=0,W[b>>2]=0):(m=.0024390243902439024*(+((f>>>8&255)>>>0)+.5),f=.0024390243902439024*(+((f&255)>>>0)+.5),g=1/(6*m-16*f+12),h=9*m*g,m=4*f*g,W[b>>2]=h/m*k,W[b+4>>
-2]=k,W[b+8>>2]=(1-h-m)/m*k),1>=(d|0));)b=b+12|0},function(b,d,c){c|=0;var e;if(!(0>=(c|0)))for(e=c,c=a[(b|0)+12>>2]|0,b=d|0;;)if(d=a[c>>2]|0,w[b>>1]=d>>>16,w[b+2>>1]=~~(79.9219512195122*(+((d>>>8&255)>>>0)+.5)),w[b+4>>1]=~~(79.9219512195122*(+((d&255)>>>0)+.5)),1<(e|0))e=e+-1|0,c=c+4|0,b=b+6|0;else break},function(b,d,c){c|=0;var e,f,g,h,m=0,k=0;if(!(0>=(c|0)))for(e=c,c=a[(b|0)+12>>2]|0,b=d|0;!(d=e,e=e+-1|0,f=a[c>>2]|0,c=c+4|0,g=f>>16,h=g&32767,0==(h|0)||(m=+xh(+(.0027076061740622863*(+(h|0)+.5)+
--44.3614195558365)),k=0!=(g&32768|0)?-m:m,0>=k)?k=h=g=0:(m=.0024390243902439024*(+((f>>>8&255)>>>0)+.5),g=.0024390243902439024*(+((f&255)>>>0)+.5),h=1/(6*m-16*g+12),f=9*m*h,m=4*g*h,g=f/m*k,h=k,k*=(1-f-m)/m),m=g,f=h,h=2.69*m-1.276*f-.414*k,g=.044*k+(1.978*f-1.022*m),f=1.163*k+(.061*m-.224*f),h=0>=h?0:1<=h?-1:~~(256*+Tg(+h))&255,t[b>>0]=h,g=0>=g?0:1<=g?-1:~~(256*+Tg(+g))&255,t[b+1>>0]=g,f=0>=f?0:1<=f?-1:~~(256*+Tg(+f))&255,t[b+2>>0]=f,1>=(d|0));)b=b+3|0},function(b,d,c){c|=0;var e,f;if(!(0>=(c|0)))for(e=
-c,c=a[(b|0)+12>>2]|0,b=d|0;;)if(d=w[c>>1]|0,(f=d&32767)?(f=+xh(+(.0027076061740622863*(+(f|0)+.5)+-44.3614195558365)),d=0!=(d&32768|0)?-f:f):d=0,W[b>>2]=d,1<(e|0))e=e+-1|0,c=c+2|0,b=b+4|0;else break},function(b,d,c){c|=0;var e,f,g,h=0,m=0;if(!(0>=(c|0)))for(e=c,c=d|0,d=a[(b|0)+12>>2]|0;!(b=e,e=e+-1|0,f=w[d>>1]|0,d=d+2|0,g=f&32767,f=0==(g|0)||(h=+xh(+(.0027076061740622863*(+(g|0)+.5)+-44.3614195558365)),m=0!=(f&32768|0)?-h:h,0>=m)?0:1<=m?255:~~(256*+Tg(+m)),t[c>>0]=f,1>=(b|0));)c=c+1|0},function(b,
-d,c){b|=0;c|=0;var e,f;if(!(0>=(c|0)))for(e=b+4|0,f=c,c=a[b+12>>2]|0,b=d|0;;){d=b;var g=a[e>>2]|0;d|=0;var g=g|0,h,m,k,l;h=d+4|0;k=m=+W[h>>2];15.742<=k?(k=1023,l=m):2.4283E-4>=k?(k=0,l=m):(k=64*(1.4426950408889634*+Nd(+k)+12),g?(k=k+4.656612875245797E-10*+(Xe()|0)+-.5,h=+W[h>>2]):h=m,m=k,k=~~m,l=h);m=+W[d>>2];h=l;l=m+15*h+3*+W[d+8>>2];d=0==(k|0)|0>=l?mf(.210526316,.473684211,g)|0:mf(4*m/l,9*h/l,g)|0;d=(0>(d|0)?12266:d)|k<<14|0;d|=0;a[c>>2]=d;if(1<(f|0))f=f+-1|0,c=c+4|0,b=b+12|0;else break}},function(b,
-d,c){b|=0;c|=0;var e,f,g,h;if(!(0>=(c|0)))for(e=b+4|0,f=c,c=a[b+12>>2]|0,b=d|0;!(d=f,f=f+-1|0,g=w[b>>1]|0,h=g<<16>>16,h=1<=g<<16>>16?7409>=g<<16>>16?a[e>>2]|0?~~(.25*(+(g<<16>>16)+-3314)+4.656612875245797E-10*+(Xe()|0)+-.5):h+-3314>>2:1023:0,g=mf(3.0517578125E-5*(+(w[b+2>>1]|0)+.5),3.0517578125E-5*(+(w[b+4>>1]|0)+.5),a[e>>2]|0)|0,a[c>>2]=(0>(g|0)?12266:g)|h<<14,1>=(d|0));)c=c+4|0,b=b+6|0},function(b,d,c){b|=0;c|=0;var e,f;if(!(0>=(c|0)))for(e=b+4|0,f=c,c=a[b+12>>2]|0,b=d|0;;){var g=b,h=a[e>>2]|0,
-g=g|0,h=h|0,m,k,l,n,p,q=0,y=0,B=0,t=0,r=0;m=g+4|0;k=+W[m>>2];1.8371976E19<=k?d=32767:-1.8371976E19>=k?d=65535:5.4136769E-20<k?(l=256*(1.4426950408889634*+Nd(+k)+64),n=h?l+4.656612875245797E-10*+(Xe()|0)+-.5:l,d=~~n):-5.4136769E-20>k?(l=256*(1.4426950408889634*+Nd(+-k)+64),p=h?l+4.656612875245797E-10*+(Xe()|0)+-.5:l,d=~~p|-32768):d=0;p=+W[g>>2];k=+W[m>>2];n=p+15*k+3*+W[g+8>>2];0==(d|0)|0>=n?(q=.210526316,y=.473684211,B=13):(l=4*p/n,p=9*k/n,0>=l?(t=0,r=p):(q=l,y=p,B=13));13==(B|0)&&(p=410*q,B=h?p+4.656612875245797E-10*
-+(Xe()|0)+-.5:p,t=~~B,r=y);B=255<t>>>0;0>=r?h=0:(y=410*r,h=h?y+4.656612875245797E-10*+(Xe()|0)+-.5:y,h=~~h);d=(B?65280:t<<8)|d<<16|(255<h>>>0?255:h)|0;d|=0;a[c>>2]=d;if(1<(f|0))f=f+-1|0,c=c+4|0,b=b+12|0;else break}},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m;e=a[b+12>>2]|0;f=b+4|0;b=a[f>>2]|0;g=0<(c|0);if(!b){if(g)for(f=c,c=e;;)if(a[c>>2]=(410*(w[d+2>>1]|0)|0)>>>7&65280|N[d>>1]<<16|(410*(w[d+4>>1]|0)|0)>>>15&255,1<(f|0))f=f+-1|0,c=c+4|0,d=d+6|0;else break}else if(g)for(g=b,b=d;;){d=N[b>>1]<<16;
-h=.01251220703125*+(w[b+2>>1]|0);g?(g=m=h+4.656612875245797E-10*+(Xe()|0)+-.5,h=a[f>>2]|0):(g=h,h=0);m=.01251220703125*+(w[b+4>>1]|0);h=h?m+4.656612875245797E-10*+(Xe()|0)+-.5:m;a[e>>2]=~~g<<8&65280|d|~~h&255;if(1>=(c|0))break;c=c+-1|0;g=a[f>>2]|0;e=e+4|0;b=b+6|0}},function(b,d,c){b|=0;c|=0;var e,f,g,h;if(!(0>=(c|0)))for(e=b+4|0,f=c,c=a[b+12>>2]|0,b=d|0;!(d=f,f=f+-1|0,g=+W[b>>2],b=b+4|0,h=a[e>>2]|0,1.8371976E19<=g?h=32767:-1.8371976E19>=g?h=65535:5.4136769E-20<g?(g=256*(1.4426950408889634*+Nd(+g)+
-64),h=h?g+4.656612875245797E-10*+(Xe()|0)+-.5:g,h=~~h):-5.4136769E-20>g?(g=256*(1.4426950408889634*+Nd(+-g)+64),h=h?g+4.656612875245797E-10*+(Xe()|0)+-.5:g,h=~~h|-32768):h=0,w[c>>1]=h,1>=(d|0));)c=c+2|0},function(b,d,c){b|=0;var e;c=a[b+576>>2]|0;d=c+492|0;e=(a[d>>2]|0)+1|0;a[d>>2]=e;(e>>>0)%((a[b+164>>2]|0)>>>0)|0||(b=c+496|0,t[b>>0]|0||Z(150963,148429,891,151217),fi(c+632|0),t[b>>0]=0,t[c+489>>0]=0)},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q;e=u;u=u+64|0;f=e+48|0;g=e+40|0;h=e+32|0;
-m=e+24|0;k=e+16|0;l=e+8|0;(n=a[b+576>>2]|0)||Z(148530,148429,616,148539);p=b+48|0;q=a[p>>2]|0;q&4&&(a[e>>2]=a[n+208>>2],Ld(d,148553,e)|0,q=a[p>>2]|0);q&8&&(a[l>>2]=a[n+216>>2],Ld(d,148583,l)|0,q=a[p>>2]|0);if(q&16){Sd(148619,14,1,d)|0;q=n+231|0;if(t[q>>0]|0){l=0;do a[k>>2]=a[n+240+((l&255)<<3)>>2],Ld(d,148634,k)|0,l=l+1<<24>>24;while((l&255)<(x[q>>0]|0))}xk(10,d)|0;k=a[p>>2]|0}else k=q;if(k&32){Sd(148639,15,1,d)|0;k=n+232|0;if(t[k>>0]|0){q=0;do a[m>>2]=a[n+264+((q&255)<<3)>>2],Ld(d,148634,m)|0,q=
-q+1<<24>>24;while((q&255)<(x[k>>0]|0))}xk(10,d)|0;m=a[p>>2]|0}else m=k;if(m&64){Sd(148655,15,1,d)|0;m=n+233|0;if(t[m>>0]|0){k=0;do a[h>>2]=a[n+288+((k&255)<<3)>>2],Ld(d,148634,h)|0,k=k+1<<24>>24;while((k&255)<(x[m>>0]|0))}xk(10,d)|0;h=a[p>>2]|0}else h=m;h&128?(a[g>>2]=x[n+224>>0],Ld(d,148671,g)|0,g=a[p>>2]|0):g=h;g&256&&(a[f>>2]=N[n+360>>1],Ld(d,148687,f)|0);if(f=a[n+168>>2]|0)td[f&127](b,d,c);u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;e=u;u=u+16|0;f=e;g=a[b+576>>2]|0;if(a[b+48>>2]&4){Sd(153600,
-13,1,d)|0;switch(a[g>>2]|0){case 1:Sd(153614,5,1,d)|0;break;case 2:Sd(153620,24,1,d)|0;break;case 3:Sd(153645,25,1,d)|0}h=a[g>>2]|0;a[f>>2]=h;a[f+4>>2]=h;Ld(d,153671,f)|0}if(f=a[g+52>>2]|0)td[f&127](b,d,c);u=e},function(b,d,c){d|=0;c|=0;var e,f,g,h,m,k,l=m=k=0,n=0,p=0;e=a[(a[(b|0)+576>>2]|0)+4>>2]|0;(c|0)%(e|0)|0&&Z(153237,152869,273,153592);if(!((e|0)>=(c|0)))switch(e|0){case 3:if(3>=(c|0))break;b=c;f=x[d+2>>0]|0;g=x[d+1>>0]|0;e=d;h=x[d>>0]|0;do d=e,e=e+3|0,b=b+-3|0,h=(x[e>>0]|0)+h|0,t[e>>0]=h,m=
-d+4|0,g=(x[m>>0]|0)+g|0,t[m>>0]=g,m=d+5|0,f=(x[m>>0]|0)+f|0,t[m>>0]=f;while(3<(b|0));break;case 4:if(4>=(c|0))break;b=c;f=x[d+3>>0]|0;g=x[d+2>>0]|0;h=x[d+1>>0]|0;e=d;m=x[d>>0]|0;do d=e,e=e+4|0,b=b+-4|0,m=(x[e>>0]|0)+m|0,t[e>>0]=m,k=d+5|0,h=(x[k>>0]|0)+h|0,t[k>>0]=h,k=d+6|0,g=(x[k>>0]|0)+g|0,t[k>>0]=g,k=d+7|0,f=(x[k>>0]|0)+f|0,t[k>>0]=f;while(4<(b|0));break;default:for(b=e+-4|0,f=4<(e|0),g=c-e|0,c=d;;){switch(e|0){case 0:k=c;break;case 3:m=c;l=17;break;case 2:n=c;l=18;break;case 1:p=c;l=19;break;default:if(f){d=
-c;for(h=b;;)if(m=d+e|0,t[m>>0]=(x[d>>0]|0)+(x[m>>0]|0),1<(h|0))d=d+1|0,h=h+-1|0;else break;d=c+b|0}else d=c;h=d+e|0;t[h>>0]=(x[d>>0]|0)+(x[h>>0]|0);m=d+1|0;l=17}17==(l|0)&&(h=m+e|0,t[h>>0]=(x[m>>0]|0)+(x[h>>0]|0),n=m+1|0,l=18);18==(l|0)&&(h=n+e|0,t[h>>0]=(x[n>>0]|0)+(x[h>>0]|0),p=n+1|0,l=19);19==(l|0)&&(l=0,h=p+e|0,t[h>>0]=(x[p>>0]|0)+(x[h>>0]|0),k=p+1|0);g=g-e|0;if(0>=(g|0))break;else c=k}}},Th,Jg,function(a,d,c){a|=0;d|=0;c|=0;Vd(d,(c|0)/2|0);Th(a,d,c)},function(a,d,c){a|=0;d|=0;c|=0;Id(d,(c|0)/
-4|0);Jg(a,d,c)},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p=0,q=0,y=0,B=0,H=0,r=0,z;e=a[(a[b+576>>2]|0)+4>>2]|0;f=(N[b+84>>1]|0)>>>3;b=f&65535;g=(c>>>0)/(b>>>0)|0;h=eb(c)|0;(c>>>0)%((E(b,e)|0)>>>0)|0&&Z(152967,152869,386,153442);if(h){a:do if((e|0)<(c|0))for(m=e+-4|0,k=4<(e|0),l=c,n=d;;){switch(e|0){case 4:p=n;q=10;break;case 3:y=n;q=11;break;case 2:B=n;q=12;break;case 1:H=n;q=13;break;case 0:r=n;break;default:if(k){p=n;for(z=m;;)if(q=p+e|0,t[q>>0]=(x[p>>0]|0)+(x[q>>0]|0),1<(z|0))p=p+1|0,
-z=z+-1|0;else break;p=n+m|0}else p=n;q=10}10==(q|0)&&(z=p+e|0,t[z>>0]=(x[p>>0]|0)+(x[z>>0]|0),y=p+1|0,q=11);11==(q|0)&&(z=y+e|0,t[z>>0]=(x[y>>0]|0)+(x[z>>0]|0),B=y+1|0,q=12);12==(q|0)&&(z=B+e|0,t[z>>0]=(x[B>>0]|0)+(x[z>>0]|0),H=B+1|0,q=13);13==(q|0)&&(q=0,z=H+e|0,t[z>>0]=(x[H>>0]|0)+(x[z>>0]|0),r=H+1|0);l=l-e|0;if((l|0)<=(e|0))break a;else n=r}while(0);Ab(h,d,c);if(0<(g|0)){c=0==f<<16>>16;f=b+-1|0;r=0;do{if(!c){e=E(r,b)|0;H=0;do q=h+((E(f-H|0,g)|0)+r)|0,t[d+(H+e)>>0]=t[q>>0]|0,H=H+1|0;while((H|0)!=
-(b|0))}r=r+1|0}while((r|0)<(g|0))}ja(h)}},function(b,d,c){d|=0;c|=0;var e,f,g,h,m,k,l=m=0,n=0,p=0,q=0,y=0;e=a[(a[(b|0)+576>>2]|0)+4>>2]|0;(c|0)%(e|0)|0&&Z(153237,152869,469,153252);if(!((e|0)>=(c|0)))switch(b=c-e|0,e|0){case 3:c=b;f=x[d+2>>0]|0;g=d;h=x[d+1>>0]|0;for(m=x[d>>0]|0;!(k=g,g=g+3|0,b=m,m=x[g>>0]|0,t[g>>0]=m-b,b=k+4|0,d=h,h=x[b>>0]|0,t[b>>0]=h-d,d=k+5|0,k=f,f=x[d>>0]|0,t[d>>0]=f-k,3>=(c|0));)c=c+-3|0;break;case 4:c=b;f=x[d+3>>0]|0;h=x[d+2>>0]|0;m=d;g=x[d+1>>0]|0;for(k=x[d>>0]|0;!(d=m,m=m+
-4|0,b=k,k=x[m>>0]|0,t[m>>0]=k-b,b=d+5|0,e=g,g=x[b>>0]|0,t[b>>0]=g-e,e=d+6|0,b=h,h=x[e>>0]|0,t[e>>0]=h-b,b=d+7|0,d=f,f=x[b>>0]|0,t[b>>0]=f-d,4>=(c|0));)c=c+-4|0;break;default:for(c=e+-4|0,f=4<(e|0),h=4-e|0,g=b,k=d+(b+-1)|0;;){switch(e|0){case 4:m=k;l=14;break;case 3:n=k;l=15;break;case 2:p=k;l=16;break;case 1:q=k;l=17;break;case 0:y=k;break;default:if(f){b=k;for(d=c;;)if(m=b+e|0,t[m>>0]=(x[m>>0]|0)-(x[b>>0]|0),1<(d|0))b=b+-1|0,d=d+-1|0;else break;m=k+h|0}else m=k;l=14}14==(l|0)&&(d=m+e|0,t[d>>0]=(x[d>>
-0]|0)-(x[m>>0]|0),n=m+-1|0,l=15);15==(l|0)&&(d=n+e|0,t[d>>0]=(x[d>>0]|0)-(x[n>>0]|0),p=n+-1|0,l=16);16==(l|0)&&(d=p+e|0,t[d>>0]=(x[d>>0]|0)-(x[p>>0]|0),q=p+-1|0,l=17);17==(l|0)&&(l=0,d=q+e|0,t[d>>0]=(x[d>>0]|0)-(x[q>>0]|0),y=q+-1|0);g=g-e|0;if(0>=(g|0))break;else k=y}}},Rh,Sh,function(a,d,c){d|=0;c|=0;Rh(a|0,d,c);Vd(d,(c|0)/2|0)},function(a,d,c){d|=0;c|=0;Sh(a|0,d,c);Id(d,(c|0)/4|0)},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q=0,y=0,B=0,H=0,r=0,z=0;e=a[(a[b+576>>2]|0)+4>>2]|0;f=(N[b+84>>
-1]|0)>>>3;b=f&65535;g=(c>>>0)/(b>>>0)|0;h=eb(c)|0;(c>>>0)%((E(b,e)|0)>>>0)|0&&Z(152967,152869,584,152988);if(h){Ab(h,d,c);if(0<(g|0)){m=0==f<<16>>16;f=b+-1|0;k=0;do{if(!m){l=E(k,b)|0;n=0;do p=d+((E(f-n|0,g)|0)+k)|0,t[p>>0]=t[h+(n+l)>>0]|0,n=n+1|0;while((n|0)!=(b|0))}k=k+1|0}while((k|0)<(g|0))}ja(h);if(!((e|0)>=(c|0)))for(h=e+-4|0,g=4<(e|0),k=4-e|0,b=c,f=d+(c+-1-e)|0;;){switch(e|0){case 4:q=f;y=16;break;case 3:B=f;y=17;break;case 2:H=f;y=18;break;case 1:r=f;y=19;break;case 0:z=f;break;default:if(g){c=
-f;for(d=h;;)if(m=c+e|0,t[m>>0]=(x[m>>0]|0)-(x[c>>0]|0),1<(d|0))c=c+-1|0,d=d+-1|0;else break;q=f+k|0}else q=f;y=16}16==(y|0)&&(d=q+e|0,t[d>>0]=(x[d>>0]|0)-(x[q>>0]|0),B=q+-1|0,y=17);17==(y|0)&&(d=B+e|0,t[d>>0]=(x[d>>0]|0)-(x[B>>0]|0),H=B+-1|0,y=18);18==(y|0)&&(d=H+e|0,t[d>>0]=(x[d>>0]|0)-(x[H>>0]|0),r=H+-1|0,y=19);19==(y|0)&&(y=0,d=r+e|0,t[d>>0]=(x[d>>0]|0)-(x[r>>0]|0),z=r+-1|0);b=b-e|0;if((b|0)<=(e|0))break;else f=z}}},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;65533<c>>>0&&(e=a[b>>2]|0,a[e+20>>2]=
-12,R[a[e>>2]&127](b));e=b+24|0;f=a[e>>2]|0;g=a[f>>2]|0;a[f>>2]=g+1;t[g>>0]=-1;g=f+4|0;h=(a[g>>2]|0)+-1|0;a[g>>2]=h;0==(h|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b));f=a[e>>2]|0;h=a[f>>2]|0;a[f>>2]=h+1;t[h>>0]=d;d=f+4|0;h=(a[d>>2]|0)+-1|0;a[d>>2]=h;0==(h|0)&&0==(da[a[f+12>>2]&63](b)|0)&&(f=a[b>>2]|0,a[f+20>>2]=25,R[a[f>>2]&127](b));f=c+2|0;c=a[e>>2]|0;h=a[c>>2]|0;a[c>>2]=h+1;t[h>>0]=f>>>8;h=c+4|0;d=(a[h>>2]|0)+-1|0;a[h>>2]=d;0==(d|0)&&0==(da[a[c+12>>2]&63](b)|0)&&
-(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b));c=a[e>>2]|0;e=a[c>>2]|0;a[c>>2]=e+1;t[e>>0]=f;f=c+4|0;e=(a[f>>2]|0)+-1|0;a[f>>2]=e;e||da[a[c+12>>2]&63](b)|0||(c=a[b>>2]|0,a[c+20>>2]=25,R[a[c>>2]&127](b))},function(b,d,c){b|=0;d|=0;c|=0;Va(b|0,0,256)|0;a[b>>2]=((x[(a[d>>2]|0)+c>>0]|0)<<6)+-8192},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h;Va(b|0,0,256)|0;e=a[d>>2]|0;f=x[e+c>>0]|0;g=c+1|0;h=x[e+g>>0]|0;e=h+f|0;f=f-h|0;h=a[d+4>>2]|0;d=x[h+c>>0]|0;c=x[h+g>>0]|0;g=c+d|0;h=d-c|0;a[b>>2]=(g+e<<4)+-8192;a[b+
-32>>2]=e-g<<4;a[b+4>>2]=h+f<<4;a[b+36>>2]=f-h<<4},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y;Va(b|0,0,256)|0;e=c+2|0;f=c+1|0;g=a[d>>2]|0;h=x[g+c>>0]|0;m=x[g+e>>0]|0;k=m+h|0;l=x[g+f>>0]|0;g=(k+l<<4)+-6144|0;a[b>>2]=g;n=(5793*((E(l,-2)|0)+k|0)|0)+256>>9;a[b+8>>2]=n;n=(10033*(h-m|0)|0)+256>>9;m=b+4|0;a[m>>2]=n;h=b+32|0;k=a[d+4>>2]|0;l=x[k+c>>0]|0;p=x[k+e>>0]|0;q=p+l|0;y=x[k+f>>0]|0;k=(q+y<<4)+-6144|0;a[h>>2]=k;y=(5793*((E(y,-2)|0)+q|0)|0)+256>>9;a[b+40>>2]=y;q=(10033*(l-p|0)|0)+256>>9;
-a[b+36>>2]=q;p=a[d+8>>2]|0;d=x[p+c>>0]|0;c=x[p+e>>0]|0;e=c+d|0;l=x[p+f>>0]|0;f=(e+l<<4)+-6144|0;p=(5793*((E(l,-2)|0)+e|0)|0)+256>>9;e=(10033*(d-c|0)|0)+256>>9;c=f+g|0;a[b>>2]=(14564*(c+k|0)|0)+16384>>15;d=(10298*((E(k,-2)|0)+c|0)|0)+16384>>15;a[b+64>>2]=d;a[h>>2]=(17837*(g-f|0)|0)+16384>>15;f=e+n|0;a[m>>2]=(14564*(f+q|0)|0)+16384>>15;m=(10298*((E(q,-2)|0)+f|0)|0)+16384>>15;a[b+68>>2]=m;a[b+36>>2]=(17837*(n-e|0)|0)+16384>>15;e=b+8|0;n=a[e>>2]|0;m=p+n|0;a[e>>2]=(14564*(m+y|0)|0)+16384>>15;e=(10298*
-((E(y,-2)|0)+m|0)|0)+16384>>15;a[b+72>>2]=e;a[b+40>>2]=(17837*(n-p|0)|0)+16384>>15},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B;Va(b|0,0,256)|0;e=c+3|0;f=c+1|0;g=c+2|0;h=a[d>>2]|0;m=x[h+c>>0]|0;k=x[h+e>>0]|0;l=k+m|0;n=x[h+f>>0]|0;p=x[h+g>>0]|0;h=p+n|0;q=m-k|0;k=n-p|0;a[b>>2]=(h+l<<4)+-8192;a[b+8>>2]=l-h<<4;h=(4433*(k+q|0)|0)+256|0;l=b+4|0;a[l>>2]=h+(6270*q|0)>>9;q=h+(E(k,-15137)|0)>>9;a[b+12>>2]=q;q=b+32|0;k=a[d+4>>2]|0;h=x[k+c>>0]|0;p=x[k+e>>0]|0;n=p+h|0;m=x[k+f>>0]|0;y=x[k+g>>0]|
-0;k=y+m|0;B=h-p|0;p=m-y|0;a[q>>2]=(k+n<<4)+-8192;a[b+40>>2]=n-k<<4;k=(4433*(p+B|0)|0)+256|0;a[b+36>>2]=k+(6270*B|0)>>9;B=k+(E(p,-15137)|0)>>9;a[b+44>>2]=B;B=a[d+8>>2]|0;p=x[B+c>>0]|0;k=x[B+e>>0]|0;n=k+p|0;y=x[B+f>>0]|0;m=x[B+g>>0]|0;B=m+y|0;h=p-k|0;k=y-m|0;m=(B+n<<4)+-8192|0;a[b+64>>2]=m;a[b+72>>2]=n-B<<4;B=(4433*(k+h|0)|0)+256|0;n=B+(6270*h|0)>>9;a[b+68>>2]=n;h=B+(E(k,-15137)|0)>>9;a[b+76>>2]=h;h=a[d+12>>2]|0;d=x[h+c>>0]|0;c=x[h+e>>0]|0;e=c+d|0;k=x[h+f>>0]|0;f=x[h+g>>0]|0;g=f+k|0;h=d-c|0;c=k-f|0;
-f=(g+e<<4)+-8192|0;k=e-g<<4;g=(4433*(c+h|0)|0)+256|0;e=g+(6270*h|0)>>9;h=g+(E(c,-15137)|0)>>9;a[b+108>>2]=h;c=a[b>>2]|0;g=c+2+f|0;d=a[q>>2]|0;B=m+d|0;y=c-f|0;f=d-m|0;a[b>>2]=B+g>>2;a[b+64>>2]=g-B>>2;B=(4433*(f+y|0)|0)+16384|0;a[q>>2]=B+(6270*y|0)>>15;y=B+(E(f,-15137)|0)>>15;a[b+96>>2]=y;y=a[l>>2]|0;f=y+2+e|0;B=b+36|0;q=a[B>>2]|0;g=n+q|0;m=y-e|0;e=q-n|0;a[l>>2]=g+f>>2;a[b+68>>2]=f-g>>2;g=(4433*(e+m|0)|0)+16384|0;a[B>>2]=g+(6270*m|0)>>15;m=g+(E(e,-15137)|0)>>15;a[b+100>>2]=m;m=b+8|0;e=a[m>>2]|0;g=e+
-2+k|0;B=b+40|0;f=a[B>>2]|0;l=b+72|0;n=a[l>>2]|0;q=n+f|0;y=e-k|0;k=f-n|0;a[m>>2]=q+g>>2;a[l>>2]=g-q>>2;q=(4433*(k+y|0)|0)+16384|0;a[B>>2]=q+(6270*y|0)>>15;y=q+(E(k,-15137)|0)>>15;a[b+104>>2]=y;y=b+12|0;k=a[y>>2]|0;q=k+2+h|0;B=b+44|0;g=a[B>>2]|0;l=b+76|0;m=a[l>>2]|0;n=m+g|0;f=k-h|0;h=g-m|0;a[y>>2]=n+q>>2;a[l>>2]=q-n>>2;n=(4433*(h+f|0)|0)+16384|0;a[B>>2]=n+(6270*f|0)>>15;f=n+(E(h,-15137)|0)>>15;a[b+108>>2]=f},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r;Va(b|0,0,256)|0;e=c+4|0;f=c+
-1|0;g=c+3|0;h=c+2|0;m=0;for(k=b;;)if(l=a[d+(m<<2)>>2]|0,n=x[l+c>>0]|0,p=x[l+e>>0]|0,q=p+n|0,y=x[l+f>>0]|0,B=x[l+g>>0]|0,t=B+y|0,r=x[l+h>>0]|0,l=t+q|0,n=n-p|0,p=y-B|0,a[k>>2]=(l+r<<3)+-5120,B=2896*(l-(r<<2)|0)|0,r=(6476*(q-t|0)|0)+512|0,a[k+8>>2]=r+B>>10,a[k+16>>2]=r-B>>10,B=6810*(p+n|0)|0,a[k+4>>2]=(4209*n|0)+512+B>>10,n=(E(p,-17828)|0)+512+B>>10,a[k+12>>2]=n,m=m+1|0,5==(m|0)){l=0;q=b;break}else k=k+32|0;for(;k=a[q>>2]|0,b=q+128|0,m=a[b>>2]|0,h=m+k|0,g=q+32|0,f=a[g>>2]|0,e=q+96|0,c=a[e>>2]|0,d=c+
-f|0,n=q+64|0,B=a[n>>2]|0,p=d+h|0,r=k-m|0,m=f-c|0,a[q>>2]=(10486*(p+B|0)|0)+16384>>15,c=3707*(p-(B<<2)|0)|0,B=(8290*(h-d|0)|0)+16384|0,a[n>>2]=B+c>>15,a[b>>2]=B-c>>15,c=8716*(m+r|0)|0,a[g>>2]=(5387*r|0)+16384+c>>15,r=(E(m,-22820)|0)+16384+c>>15,a[e>>2]=r,l=l+1|0,5!=(l|0);)q=q+4|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,u,C;Va(b|0,0,256)|0;e=c+5|0;f=c+1|0;g=c+4|0;h=c+2|0;m=c+3|0;k=0;for(l=b;;)if(n=a[d+(k<<2)>>2]|0,p=x[n+c>>0]|0,q=x[n+e>>0]|0,y=q+p|0,B=x[n+f>>0]|0,t=x[n+g>>
-0]|0,r=t+B|0,z=x[n+h>>0]|0,u=x[n+m>>0]|0,n=u+z|0,C=n+y|0,p=p-q|0,q=B-t|0,t=z-u|0,a[l>>2]=(C+r<<2)+-3072,a[l+8>>2]=(10033*(y-n|0)|0)+1024>>11,n=(5793*((E(r,-2)|0)+C|0)|0)+1024>>11,a[l+16>>2]=n,n=(2998*(t+p|0)|0)+1024>>11,a[l+4>>2]=n+(q+p<<2),a[l+12>>2]=p-q-t<<2,a[l+20>>2]=n+(t-q<<2),k=k+1|0,6==(k|0)){y=0;B=b;break}else l=l+32|0;for(;l=a[B>>2]|0,b=B+160|0,k=a[b>>2]|0,m=k+l|0,h=B+32|0,g=a[h>>2]|0,f=B+128|0,e=a[f>>2]|0,c=e+g|0,d=B+64|0,q=a[d>>2]|0,t=B+96|0,n=a[t>>2]|0,p=n+q|0,C=p+m|0,r=l-k|0,k=g-e|0,
-e=q-n|0,a[B>>2]=(14564*(C+c|0)|0)+16384>>15,a[d>>2]=(17837*(m-p|0)|0)+16384>>15,p=(10298*((E(c,-2)|0)+C|0)|0)+16384>>15,a[f>>2]=p,p=5331*(e+r|0)|0,a[h>>2]=(14564*(k+r|0)|0)+16384+p>>15,a[t>>2]=(14564*(r-k-e|0)|0)+16384>>15,a[b>>2]=(14564*(e-k|0)|0)+16384+p>>15,y=y+1|0,6!=(y|0);)B=B+4|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,u,C,w,v;Va(b|0,0,256)|0;e=c+6|0;f=c+1|0;g=c+5|0;h=c+2|0;m=c+4|0;k=c+3|0;l=0;for(n=b;;)if(p=a[d+(l<<2)>>2]|0,q=x[p+c>>0]|0,y=x[p+e>>0]|0,B=y+q|0,t=x[p+
-f>>0]|0,r=x[p+g>>0]|0,z=r+t|0,u=x[p+h>>0]|0,C=x[p+m>>0]|0,w=C+u|0,v=x[p+k>>0]|0,p=q-y|0,y=t-r|0,r=u-C|0,C=w+B|0,a[n>>2]=(v+z+C<<2)+-3584,u=2896*((E(v,-4)|0)+C|0)|0,C=7542*(B-w|0)|0,t=2578*(z-w|0)|0,a[n+8>>2]=C+1024+t+u>>11,w=(7223*(B-z|0)|0)+1024|0,B=w+t+(E(z-(v<<1)|0,-5793)|0)>>11,a[n+16>>2]=B,a[n+24>>2]=w-C+u>>11,u=7663*(y+p|0)|0,C=1395*(p-y|0)|0,w=E(r+y|0,-11295)|0,y=5027*(r+p|0)|0,a[n+4>>2]=1024-C+u+y>>11,a[n+12>>2]=C+1024+u+w>>11,a[n+20>>2]=(15326*r|0)+1024+y+w>>11,l=l+1|0,7==(l|0)){q=0;B=b;
-break}else n=n+32|0;for(;n=a[B>>2]|0,b=B+192|0,l=a[b>>2]|0,k=l+n|0,m=B+32|0,h=a[m>>2]|0,g=B+160|0,f=a[g>>2]|0,e=f+h|0,c=B+64|0,d=a[c>>2]|0,w=B+128|0,y=a[w>>2]|0,r=y+d|0,u=B+96|0,C=a[u>>2]|0,p=n-l|0,l=h-f|0,f=d-y|0,y=r+k|0,a[B>>2]=(10700*(C+e+y|0)|0)+16384>>15,d=3783*((E(C,-4)|0)+y|0)|0,y=9850*(k-r|0)|0,h=3367*(e-r|0)|0,a[c>>2]=y+16384+h+d>>15,c=(9434*(k-e|0)|0)+16384|0,k=c+h+(E(e-(C<<1)|0,-7566)|0)>>15,a[w>>2]=k,a[b>>2]=c-y+d>>15,d=10009*(l+p|0)|0,y=1822*(p-l|0)|0,c=E(f+l|0,-14752)|0,l=6565*(f+p|
-0)|0,a[m>>2]=16384-y+d+l>>15,a[u>>2]=y+16384+d+c>>15,a[g>>2]=(20017*f|0)+16384+l+c>>15,q=q+1|0,7!=(q|0);)B=B+4|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D;e=u;u=u+32|0;f=e;g=c+8|0;h=c+1|0;m=c+7|0;k=c+2|0;l=c+6|0;n=c+3|0;p=c+5|0;q=c+4|0;y=0;B=b;a:for(;;){t=a[d+(y<<2)>>2]|0;r=x[t+c>>0]|0;z=x[t+g>>0]|0;w=z+r|0;C=x[t+h>>0]|0;v=x[t+m>>0]|0;V=v+C|0;A=x[t+k>>0]|0;J=x[t+l>>0]|0;I=J+A|0;G=x[t+n>>0]|0;L=x[t+p>>0]|0;K=L+G|0;D=x[t+q>>0]|0;t=r-z|0;z=A-J|0;J=G-L|0;
-L=I+w+K|0;G=D+V|0;a[B>>2]=(L+G<<1)+-2304;A=(5793*((E(G,-2)|0)+L|0)|0)+2048>>12;a[B+24>>2]=A;A=5793*((E(D,-2)|0)+V|0)|0;V=(10887*(w-I|0)|0)+2048|0;a[B+8>>2]=V+(8875*(I-K|0)|0)+A>>12;a[B+16>>2]=V+(2012*(K-w|0)|0)-A>>12;a[B+12>>2]=(10033*(t-z-J|0)|0)+2048>>12;A=10033*(C-v|0)|0;v=7447*(z+t|0)|0;C=3962*(J+t|0)|0;a[B+4>>2]=A+2048+v+C>>12;t=11409*(z-J|0)|0;J=2048-A|0;a[B+20>>2]=J+v-t>>12;a[B+28>>2]=J+C+t>>12;switch(y|0){case 7:y=8;B=f;continue a;case 8:r=7;V=b;I=f;break a}y=y+1|0;B=B+32|0}for(;;)if(B=a[V>>
-2]|0,y=a[I>>2]|0,f=y+B|0,b=V+32|0,q=a[b>>2]|0,p=V+224|0,n=a[p>>2]|0,l=n+q|0,k=V+64|0,m=a[k>>2]|0,h=V+192|0,g=a[h>>2]|0,c=g+m|0,d=V+96|0,t=a[d>>2]|0,C=V+160|0,J=a[C>>2]|0,v=J+t|0,A=V+128|0,z=a[A>>2]|0,w=B-y|0,y=m-g|0,g=t-J|0,J=c+f+v|0,t=z+l|0,a[V>>2]=(12945*(J+t|0)|0)+16384>>15,m=(9154*((E(t,-2)|0)+J|0)|0)+16384>>15,a[h>>2]=m,m=9154*((E(z,-2)|0)+l|0)|0,l=(17203*(f-c|0)|0)+16384|0,a[k>>2]=l+(14024*(c-v|0)|0)+m>>15,a[A>>2]=l+(3179*(v-f|0)|0)-m>>15,a[d>>2]=(15855*(w-y-g|0)|0)+16384>>15,d=15855*(q-n|0)|
-0,n=11768*(y+w|0)|0,q=6262*(g+w|0)|0,a[b>>2]=d+16384+n+q>>15,b=18029*(y-g|0)|0,g=16384-d|0,a[C>>2]=g+n-b>>15,a[p>>2]=g+q+b>>15,0<(r|0))r=r+-1|0,V=V+4|0,I=I+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T;e=u;u=u+64|0;f=e;g=c+9|0;h=c+1|0;m=c+8|0;k=c+2|0;l=c+7|0;n=c+3|0;p=c+6|0;q=c+4|0;y=c+5|0;B=0;t=b;a:for(;;){r=a[d+(B<<2)>>2]|0;z=x[r+c>>0]|0;w=x[r+g>>0]|0;C=w+z|0;v=x[r+h>>0]|0;V=x[r+m>>0]|0;A=V+v|0;J=x[r+k>>0]|0;I=x[r+l>>0]|0;G=I+
-J|0;L=x[r+n>>0]|0;K=x[r+p>>0]|0;D=K+L|0;F=x[r+q>>0]|0;O=x[r+y>>0]|0;r=O+F|0;M=r+C|0;T=C-r|0;r=D+A|0;C=A-D|0;D=z-w|0;w=v-V|0;V=J-I|0;I=L-K|0;K=F-O|0;a[t>>2]=(r+G+M<<1)+-2560;O=G<<1;G=(E(r-O|0,-3580)|0)+2048+(9373*(M-O|0)|0)>>12;a[t+16>>2]=G;G=6810*(T+C|0)|0;a[t+8>>2]=(4209*T|0)+2048+G>>12;T=(E(C,-17828)|0)+2048+G>>12;a[t+24>>2]=T;T=K+D|0;G=w-I|0;a[t+20>>2]=T-(G+V)<<1;C=V<<13;a[t+4>>2]=(11443*D|0)+2048+(10323*w|0)+C+(5260*I|0)+(1812*K|0)>>12;V=(G<<12)-C+(2531*(T+G|0)|0)|0;G=(7791*(D-K|0)|0)+(E(I+w|
-0,-4815)|0)+2048|0;a[t+12>>2]=G+V>>12;a[t+28>>2]=G-V>>12;switch(B|0){case 7:B=8;t=f;continue a;case 9:r=7;z=b;v=f;break a}B=B+1|0;t=t+32|0}for(;;)if(t=a[z>>2]|0,B=a[v+32>>2]|0,f=B+t|0,b=z+32|0,y=a[b>>2]|0,q=a[v>>2]|0,p=q+y|0,n=z+64|0,l=a[n>>2]|0,k=z+224|0,m=a[k>>2]|0,h=m+l|0,g=z+96|0,c=a[g>>2]|0,d=z+192|0,V=a[d>>2]|0,G=V+c|0,w=z+128|0,I=a[w>>2]|0,K=z+160|0,D=a[K>>2]|0,T=D+I|0,C=T+f|0,O=f-T|0,T=G+p|0,f=p-G|0,G=t-B|0,B=y-q|0,q=l-m|0,m=c-V|0,V=I-D|0,a[z>>2]=(10486*(T+h+C|0)|0)+16384>>15,D=h<<1,h=(E(T-
-D|0,-4582)|0)+16384+(11997*(C-D|0)|0)>>15,a[w>>2]=h,h=8716*(O+f|0)|0,a[n>>2]=(5387*O|0)+16384+h>>15,O=(E(f,-22820)|0)+16384+h>>15,a[d>>2]=O,O=V+G|0,d=B-m|0,a[K>>2]=(10486*(O-(d+q)|0)|0)+16384>>15,K=10486*q|0,a[b>>2]=(14647*G|0)+16384+(13213*B|0)+K+(6732*m|0)+(2320*V|0)>>15,b=(5243*d|0)-K+(3240*(O+d|0)|0)|0,d=(9973*(G-V|0)|0)+(E(m+B|0,-6163)|0)+16384|0,a[g>>2]=d+b>>15,a[k>>2]=d-b>>15,0<(r|0))r=r+-1|0,z=z+4|0,v=v+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,
-C,v,V,A,J,I,G,L,K,D,F,O,M,T,X;e=u;u=u+96|0;f=e;g=c+10|0;h=c+1|0;m=c+9|0;k=c+2|0;l=c+8|0;n=c+3|0;p=c+7|0;q=c+4|0;y=c+6|0;B=c+5|0;t=0;r=b;a:for(;;){z=a[d+(t<<2)>>2]|0;w=x[z+c>>0]|0;C=x[z+g>>0]|0;v=C+w|0;V=x[z+h>>0]|0;A=x[z+m>>0]|0;J=A+V|0;I=x[z+k>>0]|0;G=x[z+l>>0]|0;L=G+I|0;K=x[z+n>>0]|0;D=x[z+p>>0]|0;F=D+K|0;O=x[z+q>>0]|0;M=x[z+y>>0]|0;T=M+O|0;X=x[z+B>>0]|0;z=w-C|0;C=V-A|0;A=I-G|0;G=K-D|0;D=O-M|0;a[r>>2]=(J+v+L+F+T+X<<1)+-2816;M=X<<1;X=v-M|0;v=J-M|0;J=L-M|0;L=F-M|0;F=T-M|0;M=(11116*(X+L|0)|0)+(1649*
-(J+F|0)|0)|0;T=7587*(v-L|0)|0;O=9746*(X-v|0)|0;K=(E(L,-8342)|0)+2048+(E(F,-11395)|0)+T+M>>12;a[r+8>>2]=K;K=(511*v|0)+2048+(E(J,-11116)|0)+(4813*F|0)+O+T>>12;a[r+16>>2]=K;K=(E(X,-13275)|0)+2048+(E(J,-6461)|0)+O+M>>12;a[r+24>>2]=K;K=10538*(C+z|0)|0;M=8756*(A+z|0)|0;O=6263*(G+z|0)|0;J=E(A+C|0,-6263)|0;X=E(G+C|0,-11467)|0;T=E(D,-8756)|0;F=3264*(G+A|0)|0;v=E(A,-16294)|0;A=E(D,-10538)|0;L=(E(z,-14090)|0)+2048+K+M+O+(3264*D|0)>>12;a[r+4>>2]=L;a[r+12>>2]=(10456*C|0)+2048+K+J+X+T>>12;a[r+20>>2]=v+2048+J+M+
-F+(11467*D|0)>>12;a[r+28>>2]=(10695*G|0)+2048+F+X+O+A>>12;switch(t|0){case 7:t=8;r=f;continue a;case 10:z=7;w=b;C=f;break a}t=t+1|0;r=r+32|0}for(;;)if(r=a[w>>2]|0,t=a[C+64>>2]|0,f=t+r|0,b=w+32|0,B=a[b>>2]|0,y=a[C+32>>2]|0,q=y+B|0,p=w+64|0,n=a[p>>2]|0,l=a[C>>2]|0,k=l+n|0,m=w+96|0,h=a[m>>2]|0,g=w+224|0,c=a[g>>2]|0,d=c+h|0,A=w+128|0,O=a[A>>2]|0,X=w+192|0,F=a[X>>2]|0,G=F+O|0,D=w+160|0,M=a[D>>2]|0,J=r-t|0,t=B-y|0,y=n-l|0,l=h-c|0,c=O-F|0,a[w>>2]=(8666*(q+f+k+d+G+M|0)|0)+16384>>15,F=M<<1,M=f-F|0,f=q-F|0,
-q=k-F|0,k=d-F|0,d=G-F|0,F=(11759*(M+k|0)|0)+(1744*(q+d|0)|0)|0,G=8026*(f-k|0)|0,O=10310*(M-f|0)|0,h=(E(k,-8825)|0)+16384+(E(d,-12054)|0)+G+F>>15,a[p>>2]=h,h=(540*f|0)+16384+(E(q,-11759)|0)+(5091*d|0)+O+G>>15,a[A>>2]=h,h=(E(M,-14043)|0)+16384+(E(q,-6835)|0)+O+F>>15,a[X>>2]=h,h=11148*(t+J|0)|0,X=9262*(y+J|0)|0,F=6626*(l+J|0)|0,O=E(y+t|0,-6626)|0,q=E(l+t|0,-12131)|0,M=E(c,-9262)|0,A=3453*(l+y|0)|0,G=E(y,-17237)|0,y=E(c,-11148)|0,d=(E(J,-14905)|0)+16384+h+X+F+(3453*c|0)>>15,a[b>>2]=d,a[m>>2]=(11061*t|
-0)+16384+h+O+q+M>>15,a[D>>2]=G+16384+O+X+A+(12131*c|0)>>15,a[g>>2]=(11314*l|0)+16384+A+q+F+y>>15,0<(z|0))z=z+-1|0,w=w+4|0,C=C+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R,S;e=u;u=u+128|0;f=e;g=c+11|0;h=c+1|0;m=c+10|0;k=c+2|0;l=c+9|0;n=c+3|0;p=c+8|0;q=c+4|0;y=c+7|0;B=c+5|0;t=c+6|0;r=0;z=b;a:for(;;){w=a[d+(r<<2)>>2]|0;C=x[w+c>>0]|0;v=x[w+g>>0]|0;V=v+C|0;A=x[w+h>>0]|0;J=x[w+m>>0]|0;I=J+A|0;G=x[w+k>>0]|0;L=x[w+l>>0]|0;K=L+G|
-0;D=x[w+n>>0]|0;F=x[w+p>>0]|0;O=F+D|0;M=x[w+q>>0]|0;T=x[w+y>>0]|0;X=T+M|0;P=x[w+B>>0]|0;N=x[w+t>>0]|0;w=N+P|0;R=w+V|0;S=V-w|0;w=I-X|0;V=O+K|0;K=K-O|0;O=C-v|0;v=A-J|0;J=G-L|0;L=D-F|0;F=M-T|0;T=P-N|0;a[z>>2]=(I|-1536)+V+X+R;a[z+24>>2]=S-(w+K);a[z+16>>2]=(10033*(R-V|0)|0)+4096>>13;a[z+8>>2]=4096-K+w+(11190*(S+K|0)|0)>>13;K=4433*(F+v|0)|0;S=K+(6270*v|0)|0;v=K+(E(F,-15137)|0)|0;F=9191*(J+O|0)|0;K=7053*(L+O|0)|0;w=E(L+J|0,-1512)|0;V=E(J,-19165)|0;R=E(T,-9191)|0;X=E(T+J|0,-4433)|0;J=(E(O,-4758)|0)+4096+
-F+K+S+(1512*T|0)>>13;a[z+4>>2]=J;a[z+12>>2]=(10703*(O-L|0)|0)+4096+v+X>>13;a[z+20>>2]=V+4096+F+w-v+(7053*T|0)>>13;a[z+28>>2]=(5946*L|0)+4096+w+K-S+R>>13;switch(r|0){case 7:r=8;z=f;continue a;case 11:C=7;A=b;J=f;break a}r=r+1|0;z=z+32|0}for(;;)if(z=a[A>>2]|0,r=a[J+96>>2]|0,f=r+z|0,b=A+32|0,t=a[b>>2]|0,B=a[J+64>>2]|0,y=B+t|0,q=A+64|0,p=a[q>>2]|0,n=a[J+32>>2]|0,l=n+p|0,k=A+96|0,m=a[k>>2]|0,h=a[J>>2]|0,g=h+m|0,c=A+128|0,d=a[c>>2]|0,R=A+224|0,S=a[R>>2]|0,K=S+d|0,w=A+160|0,L=a[w>>2]|0,T=A+192|0,v=a[T>>
-2]|0,F=v+L|0,V=F+f|0,X=f-F|0,F=y-K|0,f=g+l|0,O=l-g|0,g=z-r|0,r=t-B|0,B=p-n|0,n=m-h|0,h=d-S|0,S=L-v|0,a[A>>2]=(7282*(f+y+K+V|0)|0)+8192>>14,a[T>>2]=(7282*(X-(F+O)|0)|0)+8192>>14,a[c>>2]=(8918*(V-f|0)|0)+8192>>14,a[q>>2]=(7282*(F-O|0)|0)+8192+(9947*(X+O|0)|0)>>14,O=3941*(h+r|0)|0,X=O+(5573*r|0)|0,r=O+(E(h,-13455)|0)|0,h=8170*(B+g|0)|0,O=6269*(n+g|0)|0,F=E(n+B|0,-1344)|0,q=E(B,-17036)|0,f=E(S,-8170)|0,V=E(S+B|0,-3941)|0,B=(E(g,-4229)|0)+8192+h+O+X+(1344*S|0)>>14,a[b>>2]=B,a[k>>2]=(9514*(g-n|0)|0)+8192+
-r+V>>14,a[w>>2]=q+8192+h+F-r+(6269*S|0)>>14,a[R>>2]=(5285*n|0)+8192+F+O-X+f>>14,0<(C|0))C=C+-1|0,A=A+4|0,J=J+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R,S,ba;e=u;u=u+160|0;f=e;g=c+12|0;h=c+1|0;m=c+11|0;k=c+2|0;l=c+10|0;n=c+3|0;p=c+9|0;q=c+4|0;y=c+8|0;B=c+5|0;t=c+7|0;r=c+6|0;z=0;w=b;a:for(;;){C=a[d+(z<<2)>>2]|0;v=x[C+c>>0]|0;V=x[C+g>>0]|0;A=V+v|0;J=x[C+h>>0]|0;I=x[C+m>>0]|0;G=I+J|0;L=x[C+k>>0]|0;K=x[C+l>>0]|0;D=K+L|0;F=
-x[C+n>>0]|0;O=x[C+p>>0]|0;M=O+F|0;T=x[C+q>>0]|0;X=x[C+y>>0]|0;P=X+T|0;N=x[C+B>>0]|0;R=x[C+t>>0]|0;S=R+N|0;ba=x[C+r>>0]|0;C=v-V|0;V=J-I|0;I=L-K|0;K=F-O|0;O=T-X|0;X=N-R|0;a[w>>2]=A+-1664+G+D+M+P+S+ba;R=ba<<1;ba=A-R|0;A=G-R|0;G=D-R|0;D=M-R|0;M=P-R|0;P=S-R|0;R=(8672*A|0)+4096+(11249*ba|0)+(4108*G|0)+(E(D,-1396)|0)+(E(M,-6581)|0)+(E(P,-10258)|0)>>13;a[w+8>>2]=R;R=(9465*(ba-G|0)|0)+(E(D-M|0,-3570)|0)+(E(A-P|0,-2592)|0)|0;S=(793*(ba+G|0)|0)+(E(D+M|0,-7678)|0)+(3989*(A+P|0)|0)|0;a[w+16>>2]=S+4096+R>>13;a[w+
-24>>2]=4096-S+R>>13;R=10832*(V+C|0)|0;S=9534*(I+C|0)|0;P=(2773*(X+O|0)|0)+(7682*(K+C|0)|0)|0;A=(7682*(O-X|0)|0)+(E(I+V|0,-2773)|0)|0;M=E(K+V|0,-9534)|0;D=E(O,-19183)|0;G=E(K+I|0,-5384)|0;ba=E(I,-12879)|0;I=E(X,-14273)|0;N=(E(C,-16549)|0)+4096+R+S+(2611*O|0)+P>>13;a[w+4>>2]=N;a[w+12>>2]=(6859*V|0)+4096+R+M+D+A>>13;a[w+20>>2]=ba+4096+S+G+(18515*X|0)+A>>13;a[w+28>>2]=(18068*K|0)+4096+G+M+I+P>>13;switch(z|0){case 7:z=8;w=f;continue a;case 12:C=7;v=b;V=f;break a}z=z+1|0;w=w+32|0}for(;;)if(w=a[v>>2]|0,
-z=a[V+128>>2]|0,f=z+w|0,b=v+32|0,r=a[b>>2]|0,t=a[V+96>>2]|0,B=t+r|0,y=v+64|0,q=a[y>>2]|0,p=a[V+64>>2]|0,n=p+q|0,l=v+96|0,k=a[l>>2]|0,m=a[V+32>>2]|0,h=m+k|0,g=v+128|0,c=a[g>>2]|0,d=a[V>>2]|0,P=d+c|0,I=v+160|0,M=a[I>>2]|0,G=v+224|0,K=a[G>>2]|0,A=K+M|0,X=v+192|0,S=a[X>>2]|0,ba=w-z|0,z=r-t|0,t=q-p|0,p=k-m|0,m=c-d|0,d=M-K|0,a[v>>2]=(6205*(B+f+n+h+P+A+S|0)|0)+8192>>14,K=S<<1,S=f-K|0,f=B-K|0,B=n-K|0,n=h-K|0,h=P-K|0,P=A-K|0,K=(6568*f|0)+8192+(8520*S|0)+(3112*B|0)+(E(n,-1058)|0)+(E(h,-4985)|0)+(E(P,-7770)|
-0)>>14,a[y>>2]=K,K=(7169*(S-B|0)|0)+(E(n-h|0,-2704)|0)+(E(f-P|0,-1963)|0)|0,y=(601*(S+B|0)|0)+(E(n+h|0,-5816)|0)+(3021*(f+P|0)|0)|0,a[g>>2]=y+8192+K>>14,a[X>>2]=8192-y+K>>14,K=8204*(z+ba|0)|0,y=7221*(t+ba|0)|0,X=(2100*(d+m|0)|0)+(5819*(p+ba|0)|0)|0,g=(5819*(m-d|0)|0)+(E(t+z|0,-2100)|0)|0,P=E(p+z|0,-7221)|0,f=E(m,-14529)|0,h=E(p+t|0,-4078)|0,n=E(t,-9754)|0,t=E(d,-10811)|0,B=(E(ba,-12534)|0)+8192+K+y+(1978*m|0)+X>>14,a[b>>2]=B,a[l>>2]=(5195*z|0)+8192+K+P+f+g>>14,a[I>>2]=n+8192+y+h+(14023*d|0)+g>>14,
-a[G>>2]=(13685*p|0)+8192+h+P+t+X>>14,0<(C|0))C=C+-1|0,v=v+4|0,V=V+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R,S,ba,Y,W,U,ga;e=u;u=u+192|0;f=e;g=c+13|0;h=c+1|0;m=c+12|0;k=c+2|0;l=c+11|0;n=c+3|0;p=c+10|0;q=c+4|0;y=c+9|0;B=c+5|0;t=c+8|0;r=c+6|0;z=c+7|0;w=0;C=b;a:for(;;){v=a[d+(w<<2)>>2]|0;V=x[v+c>>0]|0;A=x[v+g>>0]|0;J=A+V|0;I=x[v+h>>0]|0;G=x[v+m>>0]|0;L=G+I|0;K=x[v+k>>0]|0;D=x[v+l>>0]|0;F=D+K|0;O=x[v+n>>0]|0;M=x[v+p>>0]|0;
-T=M+O|0;X=x[v+q>>0]|0;P=x[v+y>>0]|0;N=P+X|0;R=x[v+B>>0]|0;S=x[v+t>>0]|0;ba=S+R|0;Y=x[v+r>>0]|0;W=x[v+z>>0]|0;v=W+Y|0;U=v+J|0;ga=J-v|0;v=ba+L|0;J=L-ba|0;ba=N+F|0;L=F-N|0;N=V-A|0;A=I-G|0;G=K-D|0;D=O-M|0;M=X-P|0;P=R-S|0;S=Y-W|0;a[C>>2]=T+-1792+ba+v+U;W=T<<1;T=(E(ba-W|0,-7223)|0)+4096+(2578*(v-W|0)|0)+(10438*(U-W|0)|0)>>13;a[C+16>>2]=T;T=9058*(ga+J|0)|0;a[C+8>>2]=(5027*L|0)+4096+(2237*ga|0)+T>>13;ga=(E(L,-11295)|0)+4096+(E(J,-14084)|0)+T>>13;a[C+24>>2]=ga;ga=G+A|0;T=P-M|0;a[C+28>>2]=N-ga+D-T-S;J=D<<13;
-D=(11512*T|0)-J+(E(ga,-1297)|0)|0;ga=(6164*(S+M|0)|0)+(9810*(G+N|0)|0)|0;T=(E(G,-19447)|0)+4096+(9175*M|0)+D+ga>>13;a[C+20>>2]=T;T=(3826*(P-S|0)|0)+(10935*(A+N|0)|0)|0;M=(E(A,-3474)|0)+4096+(E(P,-25148)|0)+D+T>>13;a[C+12>>2]=M;M=(J|4096)+S+(E(S+N|0,-9232)|0)+T+ga>>13;a[C+4>>2]=M;switch(w|0){case 7:w=8;C=f;continue a;case 13:v=7;V=b;I=f;break a}w=w+1|0;C=C+32|0}for(;;)if(C=a[V>>2]|0,w=a[I+160>>2]|0,f=w+C|0,b=V+32|0,z=a[b>>2]|0,r=a[I+128>>2]|0,t=r+z|0,B=V+64|0,y=a[B>>2]|0,q=a[I+96>>2]|0,p=q+y|0,n=V+
-96|0,l=a[n>>2]|0,k=a[I+64>>2]|0,m=k+l|0,h=V+128|0,g=a[h>>2]|0,c=a[I+32>>2]|0,d=c+g|0,M=V+160|0,ga=a[M>>2]|0,T=a[I>>2]|0,N=T+ga|0,S=V+192|0,J=a[S>>2]|0,D=V+224|0,P=a[D>>2]|0,A=P+J|0,G=A+f|0,L=f-A|0,A=N+t|0,f=t-N|0,N=d+p|0,t=p-d|0,d=C-w|0,w=z-r|0,r=y-q|0,q=l-k|0,k=g-c|0,c=ga-T|0,T=J-P|0,a[V>>2]=(5350*(N+m+A+G|0)|0)+8192>>14,P=m<<1,m=(E(N-P|0,-4717)|0)+8192+(1684*(A-P|0)|0)+(6817*(G-P|0)|0)>>14,a[h>>2]=m,m=5915*(L+f|0)|0,a[B>>2]=(3283*t|0)+8192+(1461*L|0)+m>>14,L=(E(t,-7376)|0)+8192+(E(f,-9198)|0)+m>>
-14,a[S>>2]=L,L=r+w|0,S=c-k|0,a[D>>2]=(5350*(d-L+q-S-T|0)|0)+8192>>14,D=5350*q|0,q=(7518*S|0)-D+(E(L,-847)|0)|0,L=(4025*(T+k|0)|0)+(6406*(r+d|0)|0)|0,S=(E(r,-12700)|0)+8192+(5992*k|0)+q+L>>14,a[M>>2]=S,S=(2499*(c-T|0)|0)+(7141*(w+d|0)|0)|0,M=(E(w,-2269)|0)+8192+(E(c,-16423)|0)+q+S>>14,a[n>>2]=M,M=(E(d,-6029)|0)+8192+D+(E(T,-679)|0)+S+L>>14,a[b>>2]=M,0<(v|0))v=v+-1|0,V=V+4|0,I=I+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,
-R,S,ba,Y,W,U,ga,Ha;e=u;u=u+224|0;f=e;g=c+14|0;h=c+1|0;m=c+13|0;k=c+2|0;l=c+12|0;n=c+3|0;p=c+11|0;q=c+4|0;y=c+10|0;B=c+5|0;t=c+9|0;r=c+6|0;z=c+8|0;w=c+7|0;C=0;v=b;a:for(;;){V=a[d+(C<<2)>>2]|0;A=x[V+c>>0]|0;J=x[V+g>>0]|0;I=J+A|0;G=x[V+h>>0]|0;L=x[V+m>>0]|0;K=L+G|0;D=x[V+k>>0]|0;F=x[V+l>>0]|0;O=F+D|0;M=x[V+n>>0]|0;T=x[V+p>>0]|0;X=T+M|0;P=x[V+q>>0]|0;N=x[V+y>>0]|0;R=N+P|0;S=x[V+B>>0]|0;ba=x[V+t>>0]|0;Y=ba+S|0;W=x[V+r>>0]|0;U=x[V+z>>0]|0;ga=U+W|0;Ha=x[V+w>>0]|0;V=A-J|0;J=G-L|0;L=D-F|0;F=M-T|0;T=P-N|0;
-N=S-ba|0;ba=W-U|0;U=R+I+Y|0;W=X+K+ga|0;S=Ha+O|0;a[v>>2]=U+-1920+W+S;P=S<<1;S=(E(W-P|0,-3580)|0)+4096+(9373*(U-P|0)|0)>>13;a[v+24>>2]=S;S=((R+K|0)>>>1)+O+(E(Ha,-2)|0)|0;Ha=E(I-S|0,-748)|0;O=(6476*(K-R|0)|0)+(11332*(I-X|0)|0)+(7752*(ga-Y|0)|0)+4096|0;I=O+(E(ga-S|0,-18336)|0)+(12543*(X-S|0)|0)>>13;a[v+8>>2]=I;a[v+16>>2]=O+Ha+(6541*(Y-S|0)|0)>>13;S=10033*L|0;Y=(4712*(N+F|0)|0)+(11018*(T+J|0)|0)+(11522*(V-ba|0)|0)|0;Ha=E(V,-2912)|0;O=E(N,-7121)|0;I=S+4096+(3897*F|0)+(E(T,-4209)|0)+(13930*ba|0)+Y>>13;a[v+
-4>>2]=I;a[v+12>>2]=(11018*(V-T-N|0)|0)+4096+(6810*(J-F-ba|0)|0)>>13;a[v+20>>2]=(10033*(V-L-F+N+ba|0)|0)+4096>>13;ba=Ha+4096+(E(J,-17828)|0)-S+O+Y>>13;a[v+28>>2]=ba;switch(C|0){case 7:C=8;v=f;continue a;case 14:A=7;I=b;G=f;break a}C=C+1|0;v=v+32|0}for(;;)if(v=a[I>>2]|0,C=a[G+192>>2]|0,f=C+v|0,b=I+32|0,w=a[b>>2]|0,z=a[G+160>>2]|0,r=z+w|0,t=I+64|0,B=a[t>>2]|0,y=a[G+128>>2]|0,q=y+B|0,p=I+96|0,n=a[p>>2]|0,l=a[G+96>>2]|0,k=l+n|0,m=I+128|0,h=a[m>>2]|0,g=a[G+64>>2]|0,c=g+h|0,d=I+160|0,ba=a[d>>2]|0,Y=a[G+
-32>>2]|0,O=Y+ba|0,S=I+192|0,J=a[S>>2]|0,Ha=a[G>>2]|0,N=Ha+J|0,F=I+224|0,L=a[F>>2]|0,V=v-C|0,C=w-z|0,z=B-y|0,y=n-l|0,l=h-g|0,g=ba-Y|0,Y=J-Ha|0,Ha=c+f+O|0,J=k+r+N|0,ba=L+q|0,a[I>>2]=(9321*(J+Ha+ba|0)|0)+16384>>15,h=ba<<1,ba=(E(J-h|0,-4073)|0)+16384+(10664*(Ha-h|0)|0)>>15,a[S>>2]=ba,ba=(c+r>>1)+q+(E(L,-2)|0)|0,L=E(f-ba|0,-852)|0,q=(7369*(r-c|0)|0)+(12893*(f-k|0)|0)+(8820*(N-O|0)|0)+16384|0,f=q+(E(N-ba|0,-20862)|0)+(14271*(k-ba|0)|0)>>15,a[t>>2]=f,a[m>>2]=q+L+(7442*(O-ba|0)|0)>>15,ba=11415*z|0,O=(5361*
-(g+y|0)|0)+(12536*(l+C|0)|0)+(13109*(V-Y|0)|0)|0,L=E(V,-3314)|0,q=E(g,-8102)|0,m=ba+16384+(4434*y|0)+(E(l,-4788)|0)+(15850*Y|0)+O>>15,a[b>>2]=m,a[p>>2]=(12536*(V-l-g|0)|0)+16384+(7748*(C-y-Y|0)|0)>>15,a[d>>2]=(11415*(V-z-y+g+Y|0)|0)+16384>>15,Y=L+16384+(E(C,-20284)|0)-ba+q+O>>15,a[F>>2]=Y,0<(A|0))A=A+-1|0,I=I+4|0,G=G+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R,S,ba,Y,W,U,ga,Ha,ma,Z,ha,da;e=u;u=u+256|0;f=e;g=c+15|0;h=c+
-1|0;m=c+14|0;k=c+2|0;l=c+13|0;n=c+3|0;p=c+12|0;q=c+4|0;y=c+11|0;B=c+5|0;t=c+10|0;r=c+6|0;z=c+9|0;w=c+7|0;C=c+8|0;v=0;V=b;a:for(;;){A=a[d+(v<<2)>>2]|0;J=x[A+c>>0]|0;I=x[A+g>>0]|0;G=I+J|0;L=x[A+h>>0]|0;K=x[A+m>>0]|0;D=K+L|0;F=x[A+k>>0]|0;O=x[A+l>>0]|0;M=O+F|0;T=x[A+n>>0]|0;X=x[A+p>>0]|0;P=X+T|0;N=x[A+q>>0]|0;R=x[A+y>>0]|0;S=R+N|0;ba=x[A+B>>0]|0;Y=x[A+t>>0]|0;W=Y+ba|0;U=x[A+r>>0]|0;ga=x[A+z>>0]|0;Ha=ga+U|0;ma=x[A+w>>0]|0;Z=x[A+C>>0]|0;A=Z+ma|0;ha=A+G|0;da=G-A|0;A=Ha+D|0;G=D-Ha|0;Ha=W+M|0;D=M-W|0;W=S+
-P|0;M=P-S|0;S=J-I|0;I=L-K|0;K=F-O|0;O=T-X|0;X=N-R|0;R=ba-Y|0;Y=U-ga|0;ga=ma-Z|0;a[V>>2]=(Ha+W+A+ha<<2)+-8192;a[V+16>>2]=(4433*(A-Ha|0)|0)+1024+(10703*(ha-W|0)|0)>>11;W=(11363*(da-D|0)|0)+(2260*(M-G|0)|0)|0;a[V+8>>2]=(17799*D|0)+1024+(11893*G|0)+W>>11;G=(E(M,-8697)|0)+1024+(E(da,-1730)|0)+W>>11;a[V+24>>2]=G;G=(3363*(Y-ga|0)|0)+(11086*(I+S|0)|0)|0;W=(5461*(ga+R|0)|0)+(10217*(K+S|0)|0)|0;da=(7350*(X-ga|0)|0)+(8956*(O+S|0)|0)|0;M=(11529*(Y-R|0)|0)+(1136*(K+I|0)|0)|0;D=(E(Y+X|0,-10217)|0)+(E(O+I|0,-5461)|
-0)|0;ha=(3363*(R-X|0)|0)+(E(O+K|0,-11086)|0)|0;Ha=E(Y,-13631)|0;Y=E(K,-9222)|0;K=(E(S,-18730)|0)+1024+(6387*ga|0)+W+G+da>>11;a[V+4>>2]=K;a[V+12>>2]=(589*I|0)+1024+Ha+D+M+G>>11;a[V+20>>2]=Y+1024+(10055*R|0)+ha+M+W>>11;a[V+28>>2]=(8728*O|0)+1024+(17760*X|0)+ha+D+da>>11;switch(v|0){case 7:v=8;V=f;continue a;case 15:A=7;J=b;L=f;break a}v=v+1|0;V=V+32|0}for(;;)if(V=a[J>>2]|0,v=a[L+224>>2]|0,f=v+V|0,b=J+32|0,C=a[b>>2]|0,w=a[L+192>>2]|0,z=w+C|0,r=J+64|0,t=a[r>>2]|0,B=a[L+160>>2]|0,y=B+t|0,q=J+96|0,p=a[q>>
-2]|0,n=a[L+128>>2]|0,l=n+p|0,k=J+128|0,m=a[k>>2]|0,h=a[L+96>>2]|0,g=h+m|0,c=J+160|0,d=a[c>>2]|0,da=a[L+64>>2]|0,D=da+d|0,ha=J+192|0,X=a[ha>>2]|0,O=a[L+32>>2]|0,W=O+X|0,M=J+224|0,R=a[M>>2]|0,Y=a[L>>2]|0,G=Y+R|0,Ha=G+f|0,I=f-G|0,G=W+z|0,f=z-W|0,W=D+y|0,z=y-D|0,D=g+l|0,y=l-g|0,g=V-v|0,v=C-w|0,w=t-B|0,B=p-n|0,n=m-h|0,h=d-da|0,da=X-O|0,O=R-Y|0,a[J>>2]=D+8+W+G+Ha>>4,a[k>>2]=(4433*(G-W|0)|0)+65536+(10703*(Ha-D|0)|0)>>17,D=(11363*(I-z|0)|0)+(2260*(y-f|0)|0)|0,a[r>>2]=(17799*z|0)+65536+(11893*f|0)+D>>17,f=
-(E(y,-8697)|0)+65536+(E(I,-1730)|0)+D>>17,a[ha>>2]=f,f=(3363*(da-O|0)|0)+(11086*(v+g|0)|0)|0,ha=(5461*(O+h|0)|0)+(10217*(w+g|0)|0)|0,D=(7350*(n-O|0)|0)+(8956*(B+g|0)|0)|0,I=(11529*(da-h|0)|0)+(1136*(w+v|0)|0)|0,y=(E(da+n|0,-10217)|0)+(E(B+v|0,-5461)|0)|0,z=(3363*(h-n|0)|0)+(E(B+w|0,-11086)|0)|0,r=E(da,-13631)|0,da=E(w,-9222)|0,w=(E(g,-18730)|0)+65536+(6387*O|0)+ha+f+D>>17,a[b>>2]=w,a[q>>2]=(589*v|0)+65536+r+y+I+f>>17,a[c>>2]=da+65536+(10055*h|0)+z+I+ha>>17,a[M>>2]=(8728*B|0)+65536+(17760*n|0)+z+y+
-D>>17,0<(A|0))A=A+-1|0,J=J+4|0,L=L+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,u,w,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R,S,ba,Y,W,U,ga,Ha,ma,Z;e=c+15|0;f=c+1|0;g=c+14|0;h=c+2|0;m=c+13|0;k=c+3|0;l=c+12|0;n=c+4|0;p=c+11|0;q=c+5|0;y=c+10|0;B=c+6|0;t=c+9|0;r=c+7|0;z=c+8|0;u=0;for(w=b;;)if(v=a[d+(u<<2)>>2]|0,V=x[v+c>>0]|0,A=x[v+e>>0]|0,J=A+V|0,I=x[v+f>>0]|0,G=x[v+g>>0]|0,L=G+I|0,K=x[v+h>>0]|0,D=x[v+m>>0]|0,F=D+K|0,O=x[v+k>>0]|0,M=x[v+l>>0]|0,T=M+O|0,X=x[v+n>>0]|0,P=
-x[v+p>>0]|0,N=P+X|0,R=x[v+q>>0]|0,S=x[v+y>>0]|0,ba=S+R|0,Y=x[v+B>>0]|0,W=x[v+t>>0]|0,U=W+Y|0,ga=x[v+r>>0]|0,Ha=x[v+z>>0]|0,v=Ha+ga|0,ma=v+J|0,Z=J-v|0,v=U+L|0,J=L-U|0,U=ba+F|0,L=F-ba|0,ba=N+T|0,F=T-N|0,N=V-A|0,A=I-G|0,G=K-D|0,D=O-M|0,M=X-P|0,P=R-S|0,S=Y-W|0,W=ga-Ha|0,a[w>>2]=(U+ba+v+ma<<2)+-8192,a[w+16>>2]=(4433*(v-U|0)|0)+1024+(10703*(ma-ba|0)|0)>>11,ba=(11363*(Z-L|0)|0)+(2260*(F-J|0)|0)|0,a[w+8>>2]=(17799*L|0)+1024+(11893*J|0)+ba>>11,J=(E(F,-8697)|0)+1024+(E(Z,-1730)|0)+ba>>11,a[w+24>>2]=J,J=(3363*
-(S-W|0)|0)+(11086*(A+N|0)|0)|0,ba=(5461*(W+P|0)|0)+(10217*(G+N|0)|0)|0,Z=(7350*(M-W|0)|0)+(8956*(D+N|0)|0)|0,F=(11529*(S-P|0)|0)+(1136*(G+A|0)|0)|0,L=(E(S+M|0,-10217)|0)+(E(D+A|0,-5461)|0)|0,ma=(3363*(P-M|0)|0)+(E(D+G|0,-11086)|0)|0,U=E(S,-13631)|0,S=E(G,-9222)|0,G=(E(N,-18730)|0)+1024+(6387*W|0)+ba+J+Z>>11,a[w+4>>2]=G,a[w+12>>2]=(589*A|0)+1024+U+L+F+J>>11,a[w+20>>2]=S+1024+(10055*P|0)+ma+F+ba>>11,a[w+28>>2]=(8728*D|0)+1024+(17760*M|0)+ma+L+Z>>11,u=u+1|0,8==(u|0)){v=7;V=b;break}else w=w+32|0;for(;;)if(w=
-a[V>>2]|0,b=V+224|0,u=a[b>>2]|0,z=u+w|0,r=V+32|0,t=a[r>>2]|0,B=V+192|0,y=a[B>>2]|0,q=y+t|0,p=V+64|0,n=a[p>>2]|0,l=V+160|0,k=a[l>>2]|0,m=k+n|0,h=V+96|0,g=a[h>>2]|0,f=V+128|0,e=a[f>>2]|0,c=e+g|0,d=c+z|0,Z=z-c|0,c=m+q|0,z=q-m|0,m=w-u|0,u=t-y|0,y=n-k|0,k=g-e|0,a[V>>2]=c+4+d>>3,a[f>>2]=4-c+d>>3,d=4433*(Z+z|0)|0,a[p>>2]=(6270*Z|0)+32768+d>>16,Z=(E(z,-15137)|0)+32768+d>>16,a[B>>2]=Z,Z=y+m|0,B=k+u|0,d=9633*(B+Z|0)|0,z=d+(E(Z,-3196)|0)|0,Z=d+(E(B,-16069)|0)|0,B=E(k+m|0,-7373)|0,d=E(y+u|0,-20995)|0,a[r>>2]=
-(12299*m|0)+32768+B+z>>16,a[h>>2]=(25172*u|0)+32768+d+Z>>16,a[l>>2]=(16819*y|0)+32768+d+z>>16,a[b>>2]=(2446*k|0)+32768+B+Z>>16,0<(v|0))v=v+-1|0,V=V+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,r,u,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R,S,ba,Y,W;e=b+224|0;f=e+32|0;do t[e>>0]=0,e=e+1|0;while((e|0)<(f|0));e=c+13|0;f=c+1|0;g=c+12|0;h=c+2|0;m=c+11|0;k=c+3|0;l=c+10|0;n=c+4|0;p=c+9|0;q=c+5|0;y=c+8|0;B=c+6|0;r=c+7|0;u=0;for(z=b;;)if(w=a[d+(u<<2)>>2]|0,C=x[w+c>>0]|0,v=x[w+e>>
-0]|0,V=v+C|0,A=x[w+f>>0]|0,J=x[w+g>>0]|0,I=J+A|0,G=x[w+h>>0]|0,L=x[w+m>>0]|0,K=L+G|0,D=x[w+k>>0]|0,F=x[w+l>>0]|0,O=F+D|0,M=x[w+n>>0]|0,T=x[w+p>>0]|0,X=T+M|0,P=x[w+q>>0]|0,N=x[w+y>>0]|0,R=N+P|0,S=x[w+B>>0]|0,ba=x[w+r>>0]|0,w=ba+S|0,Y=w+V|0,W=V-w|0,w=R+I|0,V=I-R|0,R=X+K|0,I=K-X|0,X=C-v|0,v=A-J|0,J=G-L|0,L=D-F|0,F=M-T|0,T=P-N|0,N=S-ba|0,a[z>>2]=(R+O+w+Y<<2)+-7168,ba=O<<1,O=(E(R-ba|0,-7223)|0)+1024+(2578*(w-ba|0)|0)+(10438*(Y-ba|0)|0)>>11,a[z+16>>2]=O,O=9058*(W+V|0)|0,a[z+8>>2]=(5027*I|0)+1024+(2237*
-W|0)+O>>11,W=(E(I,-11295)|0)+1024+(E(V,-14084)|0)+O>>11,a[z+24>>2]=W,W=J+v|0,O=T-F|0,a[z+28>>2]=X-W+L-O-N<<2,V=L<<13,L=(11512*O|0)-V+(E(W,-1297)|0)|0,W=(6164*(N+F|0)|0)+(9810*(J+X|0)|0)|0,O=(E(J,-19447)|0)+1024+(9175*F|0)+L+W>>11,a[z+20>>2]=O,O=(3826*(T-N|0)|0)+(10935*(v+X|0)|0)|0,F=(E(v,-3474)|0)+1024+(E(T,-25148)|0)+L+O>>11,a[z+12>>2]=F,F=(V|1024)+N+(E(N+X|0,-9232)|0)+O+W>>11,a[z+4>>2]=F,u=u+1|0,7==(u|0)){d=7;w=b;break}else z=z+32|0;for(;;)if(z=a[w>>2]|0,b=w+192|0,u=a[b>>2]|0,r=u+z|0,B=w+32|0,y=
-a[B>>2]|0,q=w+160|0,p=a[q>>2]|0,n=p+y|0,l=w+64|0,k=a[l>>2]|0,m=w+128|0,h=a[m>>2]|0,g=h+k|0,f=w+96|0,e=a[f>>2]|0,c=z-u|0,u=y-p|0,p=k-h|0,h=g+r|0,a[w>>2]=(10700*(e+n+h|0)|0)+32768>>16,k=3783*((E(e,-4)|0)+h|0)|0,h=9850*(r-g|0)|0,y=3367*(n-g|0)|0,a[l>>2]=h+32768+y+k>>16,l=(9434*(r-n|0)|0)+32768|0,r=l+y+(E(n-(e<<1)|0,-7566)|0)>>16,a[m>>2]=r,a[b>>2]=l-h+k>>16,k=10009*(u+c|0)|0,h=1822*(c-u|0)|0,l=E(p+u|0,-14752)|0,u=6565*(p+c|0)|0,a[B>>2]=32768-h+k+u>>16,a[f>>2]=h+32768+k+l>>16,a[q>>2]=(20017*p|0)+32768+
-u+l>>16,0<(d|0))d=d+-1|0,w=w+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,r,u,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N;e=b+192|0;f=e+64|0;do t[e>>0]=0,e=e+1|0;while((e|0)<(f|0));e=c+11|0;f=c+1|0;g=c+10|0;h=c+2|0;m=c+9|0;k=c+3|0;l=c+8|0;n=c+4|0;p=c+7|0;q=c+5|0;y=c+6|0;B=0;for(r=b;;)if(u=a[d+(B<<2)>>2]|0,z=x[u+c>>0]|0,w=x[u+e>>0]|0,C=w+z|0,v=x[u+f>>0]|0,V=x[u+g>>0]|0,A=V+v|0,J=x[u+h>>0]|0,I=x[u+m>>0]|0,G=I+J|0,L=x[u+k>>0]|0,K=x[u+l>>0]|0,D=K+L|0,F=x[u+n>>0]|0,O=x[u+p>>0]|
-0,M=O+F|0,T=x[u+q>>0]|0,X=x[u+y>>0]|0,u=X+T|0,P=u+C|0,N=C-u|0,u=A-M|0,C=D+G|0,G=G-D|0,D=z-w|0,w=v-V|0,V=J-I|0,I=L-K|0,K=F-O|0,O=T-X|0,a[r>>2]=(C+A+M+P<<2)+-6144,a[r+24>>2]=N-(u+G)<<2,a[r+16>>2]=(10033*(P-C|0)|0)+1024>>11,a[r+8>>2]=1024-G+u+(11190*(N+G|0)|0)>>11,G=4433*(K+w|0)|0,N=G+(6270*w|0)|0,w=G+(E(K,-15137)|0)|0,K=9191*(V+D|0)|0,G=7053*(I+D|0)|0,u=E(I+V|0,-1512)|0,C=E(V,-19165)|0,P=E(O,-9191)|0,M=E(O+V|0,-4433)|0,V=(E(D,-4758)|0)+1024+K+G+N+(1512*O|0)>>11,a[r+4>>2]=V,a[r+12>>2]=(10703*(D-I|0)|
-0)+1024+w+M>>11,a[r+20>>2]=C+1024+K+u-w+(7053*O|0)>>11,a[r+28>>2]=(5946*I|0)+1024+u+G-N+P>>11,B=B+1|0,6==(B|0)){u=7;z=b;break}else r=r+32|0;for(;;)if(r=a[z>>2]|0,b=z+160|0,B=a[b>>2]|0,y=B+r|0,q=z+32|0,p=a[q>>2]|0,n=z+128|0,l=a[n>>2]|0,k=l+p|0,m=z+64|0,h=a[m>>2]|0,g=z+96|0,f=a[g>>2]|0,e=f+h|0,c=e+y|0,d=r-B|0,B=p-l|0,l=h-f|0,a[z>>2]=(14564*(c+k|0)|0)+32768>>16,a[m>>2]=(17837*(y-e|0)|0)+32768>>16,e=(10298*((E(k,-2)|0)+c|0)|0)+32768>>16,a[n>>2]=e,e=5331*(l+d|0)|0,a[q>>2]=(14564*(B+d|0)|0)+32768+e>>16,
-a[g>>2]=(14564*(d-B-l|0)|0)+32768>>16,a[b>>2]=(14564*(l-B|0)|0)+32768+e>>16,0<(u|0))u=u+-1|0,z=z+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,r,u,z,w,C,v,V,A,J,I,G,L,K,D,F,O;e=b+160|0;f=e+96|0;do t[e>>0]=0,e=e+1|0;while((e|0)<(f|0));e=c+9|0;f=c+1|0;g=c+8|0;h=c+2|0;m=c+7|0;k=c+3|0;l=c+6|0;n=c+4|0;p=c+5|0;q=0;for(y=b;;)if(B=a[d+(q<<2)>>2]|0,r=x[B+c>>0]|0,u=x[B+e>>0]|0,z=u+r|0,w=x[B+f>>0]|0,C=x[B+g>>0]|0,v=C+w|0,V=x[B+h>>0]|0,A=x[B+m>>0]|0,J=A+V|0,I=x[B+k>>0]|0,G=x[B+l>>
-0]|0,L=G+I|0,K=x[B+n>>0]|0,D=x[B+p>>0]|0,B=D+K|0,F=B+z|0,O=z-B|0,B=L+v|0,z=v-L|0,L=r-u|0,u=w-C|0,C=V-A|0,A=I-G|0,G=K-D|0,a[y>>2]=(B+J+F<<2)+-5120,D=J<<1,J=(E(B-D|0,-3580)|0)+1024+(9373*(F-D|0)|0)>>11,a[y+16>>2]=J,J=6810*(O+z|0)|0,a[y+8>>2]=(4209*O|0)+1024+J>>11,O=(E(z,-17828)|0)+1024+J>>11,a[y+24>>2]=O,O=G+L|0,J=u-A|0,a[y+20>>2]=O-(J+C)<<2,z=C<<13,a[y+4>>2]=(11443*L|0)+1024+(10323*u|0)+z+(5260*A|0)+(1812*G|0)>>11,C=(J<<12)-z+(2531*(O+J|0)|0)|0,J=(7791*(L-G|0)|0)+(E(A+u|0,-4815)|0)+1024|0,a[y+12>>
-2]=J+C>>11,a[y+28>>2]=J-C>>11,q=q+1|0,5==(q|0)){d=7;B=b;break}else y=y+32|0;for(;;)if(y=a[B>>2]|0,b=B+128|0,q=a[b>>2]|0,p=q+y|0,n=B+32|0,l=a[n>>2]|0,k=B+96|0,m=a[k>>2]|0,h=m+l|0,g=B+64|0,f=a[g>>2]|0,e=h+p|0,c=y-q|0,q=l-m|0,a[B>>2]=(10486*(e+f|0)|0)+16384>>15,m=3707*(e-(f<<2)|0)|0,f=(8290*(p-h|0)|0)+16384|0,a[g>>2]=f+m>>15,a[b>>2]=f-m>>15,m=8716*(q+c|0)|0,a[n>>2]=(5387*c|0)+16384+m>>15,c=(E(q,-22820)|0)+16384+m>>15,a[k>>2]=c,0<(d|0))d=d+-1|0,B=B+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,
-f,g,h,m,k,l,n,p,q,y,B,r,u,z,w,C,v,V,A,J,I,G;e=b+128|0;f=e+128|0;do t[e>>0]=0,e=e+1|0;while((e|0)<(f|0));e=c+7|0;f=c+1|0;g=c+6|0;h=c+2|0;m=c+5|0;k=c+3|0;l=c+4|0;n=0;for(p=b;;)if(q=a[d+(n<<2)>>2]|0,y=x[q+c>>0]|0,B=x[q+e>>0]|0,r=B+y|0,u=x[q+f>>0]|0,z=x[q+g>>0]|0,w=z+u|0,C=x[q+h>>0]|0,v=x[q+m>>0]|0,V=v+C|0,A=x[q+k>>0]|0,J=x[q+l>>0]|0,q=J+A|0,I=q+r|0,G=r-q|0,q=V+w|0,r=w-V|0,V=y-B|0,B=u-z|0,z=C-v|0,v=A-J|0,a[p>>2]=(I+q<<3)+-8192,a[p+16>>2]=I-q<<3,q=(4433*(G+r|0)|0)+512|0,a[p+8>>2]=q+(6270*G|0)>>10,G=q+
-(E(r,-15137)|0)>>10,a[p+24>>2]=G,G=z+V|0,r=v+B|0,q=(9633*(r+G|0)|0)+512|0,I=q+(E(G,-3196)|0)|0,G=q+(E(r,-16069)|0)|0,r=E(v+V|0,-7373)|0,q=E(z+B|0,-20995)|0,a[p+4>>2]=r+(12299*V|0)+I>>10,a[p+12>>2]=q+(25172*B|0)+G>>10,a[p+20>>2]=q+(16819*z|0)+I>>10,a[p+28>>2]=r+(2446*v|0)+G>>10,n=n+1|0,4==(n|0)){d=7;c=b;break}else p=p+32|0;for(;;)if(p=a[c>>2]|0,b=c+96|0,n=a[b>>2]|0,l=p+2+n|0,k=c+32|0,m=a[k>>2]|0,h=c+64|0,g=a[h>>2]|0,f=g+m|0,e=p-n|0,n=m-g|0,a[c>>2]=f+l>>2,a[h>>2]=l-f>>2,f=(4433*(n+e|0)|0)+16384|0,a[k>>
-2]=f+(6270*e|0)>>15,e=f+(E(n,-15137)|0)>>15,a[b>>2]=e,0<(d|0))d=d+-1|0,c=c+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,u,w,C;Va(b|0,0,256)|0;e=c+5|0;f=c+1|0;g=c+4|0;h=c+2|0;m=c+3|0;k=0;for(l=b;n=a[d+(k<<2)>>2]|0,p=x[n+c>>0]|0,q=x[n+e>>0]|0,y=q+p|0,B=x[n+f>>0]|0,t=x[n+g>>0]|0,r=t+B|0,u=x[n+h>>0]|0,w=x[n+m>>0]|0,n=w+u|0,C=n+y|0,p=p-q|0,q=B-t|0,t=u-w|0,a[l>>2]=(C+r<<3)+-6144,a[l+8>>2]=(10033*(y-n|0)|0)+512>>10,n=(5793*((E(r,-2)|0)+C|0)|0)+512>>10,a[l+16>>2]=n,n=(2998*
-(t+p|0)|0)+512>>10,a[l+4>>2]=n+(q+p<<3),a[l+12>>2]=p-q-t<<3,a[l+20>>2]=n+(t-q<<3),k=k+1|0,3!=(k|0);)l=l+32|0;l=a[b>>2]|0;k=b+64|0;m=a[k>>2]|0;h=m+l|0;g=b+32|0;f=a[g>>2]|0;a[b>>2]=(14564*(h+f|0)|0)+16384>>15;e=(10298*((E(f,-2)|0)+h|0)|0)+16384>>15;a[k>>2]=e;a[g>>2]=(17837*(l-m|0)|0)+16384>>15;m=b+4|0;l=a[m>>2]|0;g=b+68|0;e=a[g>>2]|0;k=e+l|0;h=b+36|0;f=a[h>>2]|0;a[m>>2]=(14564*(k+f|0)|0)+16384>>15;m=(10298*((E(f,-2)|0)+k|0)|0)+16384>>15;a[g>>2]=m;a[h>>2]=(17837*(l-e|0)|0)+16384>>15;e=b+8|0;l=a[e>>2]|
-0;h=b+72|0;m=a[h>>2]|0;g=m+l|0;k=b+40|0;f=a[k>>2]|0;a[e>>2]=(14564*(g+f|0)|0)+16384>>15;e=(10298*((E(f,-2)|0)+g|0)|0)+16384>>15;a[h>>2]=e;a[k>>2]=(17837*(l-m|0)|0)+16384>>15;m=b+12|0;l=a[m>>2]|0;k=b+76|0;e=a[k>>2]|0;h=e+l|0;g=b+44|0;f=a[g>>2]|0;a[m>>2]=(14564*(h+f|0)|0)+16384>>15;m=(10298*((E(f,-2)|0)+h|0)|0)+16384>>15;a[k>>2]=m;a[g>>2]=(17837*(l-e|0)|0)+16384>>15;e=b+16|0;l=a[e>>2]|0;g=b+80|0;m=a[g>>2]|0;k=m+l|0;h=b+48|0;f=a[h>>2]|0;a[e>>2]=(14564*(k+f|0)|0)+16384>>15;e=(10298*((E(f,-2)|0)+k|0)|
-0)+16384>>15;a[g>>2]=e;a[h>>2]=(17837*(l-m|0)|0)+16384>>15;m=b+20|0;l=a[m>>2]|0;h=b+84|0;e=a[h>>2]|0;g=e+l|0;k=b+52|0;b=a[k>>2]|0;a[m>>2]=(14564*(g+b|0)|0)+16384>>15;m=(10298*((E(b,-2)|0)+g|0)|0)+16384>>15;a[h>>2]=m;a[k>>2]=(17837*(l-e|0)|0)+16384>>15},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q;Va(b|0,0,256)|0;e=c+3|0;f=c+1|0;g=c+2|0;h=a[d>>2]|0;m=x[h+c>>0]|0;k=x[h+e>>0]|0;l=k+m|0;n=x[h+f>>0]|0;p=x[h+g>>0]|0;h=p+n|0;q=m-k|0;k=n-p|0;p=h+l<<5;a[b>>2]=p+-16384;n=l-h<<5;a[b+8>>2]=n;h=(4433*
-(k+q|0)|0)+128|0;l=h+(6270*q|0)>>8;q=b+4|0;a[q>>2]=l;m=h+(E(k,-15137)|0)>>8;a[b+12>>2]=m;k=a[d+4>>2]|0;d=x[k+c>>0]|0;c=x[k+e>>0]|0;e=c+d|0;h=x[k+f>>0]|0;f=x[k+g>>0]|0;g=f+h|0;k=d-c|0;c=h-f|0;f=(g+e<<5)+-16384|0;h=e-g<<5;g=(4433*(c+k|0)|0)+128|0;e=g+(6270*k|0)>>8;k=g+(E(c,-15137)|0)>>8;c=p+-16382|0;a[b>>2]=c+f>>2;a[b+32>>2]=c-f>>2;f=l+2|0;a[q>>2]=f+e>>2;a[b+36>>2]=f-e>>2;e=n|2;a[b+8>>2]=e+h>>2;a[b+40>>2]=e-h>>2;h=m+2|0;a[b+12>>2]=h+k>>2;a[b+44>>2]=h-k>>2},function(b,d,c){b|=0;d|=0;c|=0;var e;Va(b|
-0,0,256)|0;e=a[d>>2]|0;d=x[e+c>>0]|0;c=x[e+(c+1)>>0]|0;a[b>>2]=(c+d<<5)+-8192;a[b+4>>2]=d-c<<5},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X,P,N,R;e=u;u=u+256|0;f=e;g=c+7|0;h=c+1|0;m=c+6|0;k=c+2|0;l=c+5|0;n=c+3|0;p=c+4|0;q=0;y=b;a:for(;;){B=a[d+(q<<2)>>2]|0;t=x[B+c>>0]|0;r=x[B+g>>0]|0;z=r+t|0;w=x[B+h>>0]|0;C=x[B+m>>0]|0;v=C+w|0;V=x[B+k>>0]|0;A=x[B+l>>0]|0;J=A+V|0;I=x[B+n>>0]|0;G=x[B+p>>0]|0;B=G+I|0;L=B+z|0;K=z-B|0;B=J+v|0;z=v-J|0;J=t-r|0;r=w-C|0;
-C=V-A|0;A=I-G|0;a[y>>2]=(L+B<<2)+-4096;a[y+16>>2]=L-B<<2;B=4433*(K+z|0)|0;a[y+8>>2]=(6270*K|0)+1024+B>>11;K=(E(z,-15137)|0)+1024+B>>11;a[y+24>>2]=K;K=C+J|0;B=A+r|0;z=9633*(B+K|0)|0;L=z+(E(K,-3196)|0)|0;K=z+(E(B,-16069)|0)|0;B=E(A+J|0,-7373)|0;z=E(C+r|0,-20995)|0;a[y+4>>2]=(12299*J|0)+1024+B+L>>11;a[y+12>>2]=(25172*r|0)+1024+z+K>>11;a[y+20>>2]=(16819*C|0)+1024+z+L>>11;a[y+28>>2]=(2446*A|0)+1024+B+K>>11;switch(q|0){case 7:q=8;y=f;continue a;case 15:D=7;F=b;O=f;break a}q=q+1|0;y=y+32|0}for(;;)if(y=a[F>>
-2]|0,q=a[O+224>>2]|0,f=q+y|0,b=F+32|0,p=a[b>>2]|0,n=a[O+192>>2]|0,l=n+p|0,k=F+64|0,m=a[k>>2]|0,h=a[O+160>>2]|0,g=h+m|0,c=F+96|0,d=a[c>>2]|0,K=a[O+128>>2]|0,B=K+d|0,A=F+128|0,L=a[A>>2]|0,z=a[O+96>>2]|0,C=z+L|0,r=F+160|0,J=a[r>>2]|0,G=a[O+64>>2]|0,I=G+J|0,V=F+192|0,w=a[V>>2]|0,t=a[O+32>>2]|0,v=t+w|0,M=F+224|0,T=a[M>>2]|0,X=a[O>>2]|0,P=X+T|0,N=P+f|0,R=f-P|0,P=v+l|0,f=l-v|0,v=I+g|0,l=g-I|0,I=C+B|0,g=B-C|0,C=y-q|0,q=p-n|0,n=m-h|0,h=d-K|0,K=L-z|0,z=J-G|0,G=w-t|0,t=T-X|0,a[F>>2]=I+4+v+P+N>>3,a[A>>2]=(4433*
-(P-v|0)|0)+32768+(10703*(N-I|0)|0)>>16,I=(11363*(R-l|0)|0)+(2260*(g-f|0)|0)|0,a[k>>2]=(17799*l|0)+32768+(11893*f|0)+I>>16,f=(E(g,-8697)|0)+32768+(E(R,-1730)|0)+I>>16,a[V>>2]=f,f=(3363*(G-t|0)|0)+(11086*(q+C|0)|0)|0,V=(5461*(t+z|0)|0)+(10217*(n+C|0)|0)|0,I=(7350*(K-t|0)|0)+(8956*(h+C|0)|0)|0,R=(11529*(G-z|0)|0)+(1136*(n+q|0)|0)|0,g=(E(G+K|0,-10217)|0)+(E(h+q|0,-5461)|0)|0,l=(3363*(z-K|0)|0)+(E(h+n|0,-11086)|0)|0,k=E(G,-13631)|0,G=E(n,-9222)|0,n=(E(C,-18730)|0)+32768+(6387*t|0)+V+f+I>>16,a[b>>2]=n,
-a[c>>2]=(589*q|0)+32768+k+g+R+f>>16,a[r>>2]=G+32768+(10055*z|0)+l+R+V>>16,a[M>>2]=(8728*h|0)+32768+(17760*K|0)+l+g+I>>16,0<(D|0))D=D+-1|0,F=F+4|0,O=O+4|0;else break;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,B,t,r,z,w,C,v,V,A,J,I,G,L,K,D,F,O,M,T,X;e=u;u=u+192|0;f=e;Va(b|0,0,256)|0;g=c+6|0;h=c+1|0;m=c+5|0;k=c+2|0;l=c+4|0;n=c+3|0;p=0;q=b;a:for(;;){y=a[d+(p<<2)>>2]|0;B=x[y+c>>0]|0;t=x[y+g>>0]|0;r=t+B|0;z=x[y+h>>0]|0;w=x[y+m>>0]|0;C=w+z|0;v=x[y+k>>0]|0;V=x[y+l>>0]|0;A=V+v|0;J=x[y+n>>
-0]|0;y=B-t|0;t=z-w|0;w=v-V|0;V=A+r|0;a[q>>2]=(J+C+V<<2)+-3584;v=2896*((E(J,-4)|0)+V|0)|0;V=7542*(r-A|0)|0;z=2578*(C-A|0)|0;a[q+8>>2]=V+1024+z+v>>11;A=(7223*(r-C|0)|0)+1024|0;r=A+z+(E(C-(J<<1)|0,-5793)|0)>>11;a[q+16>>2]=r;a[q+24>>2]=A-V+v>>11;v=7663*(t+y|0)|0;V=1395*(y-t|0)|0;A=E(w+t|0,-11295)|0;t=5027*(w+y|0)|0;a[q+4>>2]=1024-V+v+t>>11;a[q+12>>2]=V+1024+v+A>>11;a[q+20>>2]=(15326*w|0)+1024+t+A>>11;switch(p|0){case 7:p=8;q=f;continue a;case 13:I=0;G=b;L=f;break a}p=p+1|0;q=q+32|0}for(;q=a[G>>2]|0,p=
-a[L+160>>2]|0,f=p+q|0,b=G+32|0,n=a[b>>2]|0,l=a[L+128>>2]|0,k=l+n|0,m=G+64|0,h=a[m>>2]|0,g=a[L+96>>2]|0,c=g+h|0,d=G+96|0,A=a[d>>2]|0,t=a[L+64>>2]|0,w=t+A|0,v=G+128|0,V=a[v>>2]|0,y=a[L+32>>2]|0,r=y+V|0,J=G+160|0,C=a[J>>2]|0,z=a[L>>2]|0,B=z+C|0,K=G+192|0,D=a[K>>2]|0,F=G+224|0,O=a[F>>2]|0,M=O+D|0,T=M+f|0,X=f-M|0,M=B+k|0,f=k-B|0,B=r+c|0,k=c-r|0,r=q-p|0,p=n-l|0,l=h-g|0,g=A-t|0,t=V-y|0,y=C-z|0,z=D-O|0,a[G>>2]=(5350*(B+w+M+T|0)|0)+16384>>15,O=w<<1,w=(E(B-O|0,-4717)|0)+16384+(1684*(M-O|0)|0)+(6817*(T-O|0)|
-0)>>15,a[v>>2]=w,w=5915*(X+f|0)|0,a[m>>2]=(3283*k|0)+16384+(1461*X|0)+w>>15,X=(E(k,-7376)|0)+16384+(E(f,-9198)|0)+w>>15,a[K>>2]=X,X=l+p|0,K=y-t|0,a[F>>2]=(5350*(r-X+g-K-z|0)|0)+16384>>15,F=5350*g|0,g=(7518*K|0)-F+(E(X,-847)|0)|0,X=(4025*(z+t|0)|0)+(6406*(l+r|0)|0)|0,K=(E(l,-12700)|0)+16384+(5992*t|0)+g+X>>15,a[J>>2]=K,K=(2499*(y-z|0)|0)+(7141*(p+r|0)|0)|0,J=(E(p,-2269)|0)+16384+(E(y,-16423)|0)+g+K>>15,a[d>>2]=J,J=(E(r,-6029)|0)+16384+F+(E(z,-679)|0)+K+X>>15,a[b>>2]=J,I=I+1|0,7!=(I|0);)G=G+4|0,L=L+
-4|0;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,w,z,v,C,A,V,D,J,I,G,L,K,F,N,O;e=u;u=u+128|0;f=e;Va(b|0,0,256)|0;g=c+5|0;h=c+1|0;m=c+4|0;k=c+2|0;l=c+3|0;n=0;p=b;a:for(;;){q=a[d+(n<<2)>>2]|0;y=x[q+c>>0]|0;t=x[q+g>>0]|0;r=t+y|0;w=x[q+h>>0]|0;z=x[q+m>>0]|0;v=z+w|0;C=x[q+k>>0]|0;A=x[q+l>>0]|0;q=A+C|0;V=q+r|0;D=y-t|0;t=w-z|0;z=C-A|0;a[p>>2]=(V+v<<2)+-3072;a[p+8>>2]=(10033*(r-q|0)|0)+1024>>11;q=(5793*((E(v,-2)|0)+V|0)|0)+1024>>11;a[p+16>>2]=q;q=(2998*(z+D|0)|0)+1024>>11;a[p+4>>2]=q+
-(t+D<<2);a[p+12>>2]=D-t-z<<2;a[p+20>>2]=q+(z-t<<2);switch(n|0){case 7:n=8;p=f;continue a;case 11:J=0;I=b;G=f;break a}n=n+1|0;p=p+32|0}for(;p=a[I>>2]|0,n=a[G+96>>2]|0,f=n+p|0,b=I+32|0,l=a[b>>2]|0,k=a[G+64>>2]|0,m=k+l|0,h=I+64|0,g=a[h>>2]|0,c=a[G+32>>2]|0,d=c+g|0,t=I+96|0,z=a[t>>2]|0,q=a[G>>2]|0,D=q+z|0,V=I+128|0,v=a[V>>2]|0,r=I+224|0,A=a[r>>2]|0,C=A+v|0,w=I+160|0,y=a[w>>2]|0,L=I+192|0,K=a[L>>2]|0,F=K+y|0,N=F+f|0,O=f-F|0,F=m-C|0,f=D+d|0,d=d-D|0,D=p-n|0,n=l-k|0,k=g-c|0,c=z-q|0,q=v-A|0,A=y-K|0,a[I>>2]=
-(7282*(f+m+C+N|0)|0)+16384>>15,a[L>>2]=(7282*(O-(F+d)|0)|0)+16384>>15,a[V>>2]=(8918*(N-f|0)|0)+16384>>15,a[h>>2]=(7282*(F-d|0)|0)+16384+(9947*(O+d|0)|0)>>15,d=3941*(q+n|0)|0,O=d+(5573*n|0)|0,n=d+(E(q,-13455)|0)|0,q=8170*(k+D|0)|0,d=6269*(c+D|0)|0,F=E(c+k|0,-1344)|0,h=E(k,-17036)|0,f=E(A,-8170)|0,N=E(A+k|0,-3941)|0,k=(E(D,-4229)|0)+16384+q+d+O+(1344*A|0)>>15,a[b>>2]=k,a[t>>2]=(9514*(D-c|0)|0)+16384+n+N>>15,a[w>>2]=h+16384+q+F-n+(6269*A|0)>>15,a[r>>2]=(5285*c|0)+16384+F+d-O+f>>15,J=J+1|0,6!=(J|0);)I=
-I+4|0,G=G+4|0;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,w,z,v,C,A,V,D,J,I,G,L,K;e=u;u=u+64|0;f=e;Va(b|0,0,256)|0;g=c+4|0;h=c+1|0;m=c+3|0;k=c+2|0;l=0;n=b;a:for(;;){p=a[d+(l<<2)>>2]|0;q=x[p+c>>0]|0;y=x[p+g>>0]|0;t=y+q|0;r=x[p+h>>0]|0;w=x[p+m>>0]|0;z=w+r|0;v=x[p+k>>0]|0;p=z+t|0;C=q-y|0;y=r-w|0;a[n>>2]=(p+v<<2)+-2560;w=2896*(p-(v<<2)|0)|0;v=(6476*(t-z|0)|0)+1024|0;a[n+8>>2]=v+w>>11;a[n+16>>2]=v-w>>11;w=6810*(y+C|0)|0;a[n+4>>2]=(4209*C|0)+1024+w>>11;C=(E(y,-17828)|0)+1024+w>>11;
-a[n+12>>2]=C;switch(l|0){case 7:l=8;n=f;continue a;case 9:A=0;V=b;D=f;break a}l=l+1|0;n=n+32|0}for(;n=a[V>>2]|0,l=a[D+32>>2]|0,f=l+n|0,b=V+32|0,k=a[b>>2]|0,m=a[D>>2]|0,h=m+k|0,g=V+64|0,c=a[g>>2]|0,d=V+224|0,C=a[d>>2]|0,w=C+c|0,y=V+96|0,v=a[y>>2]|0,z=V+192|0,t=a[z>>2]|0,p=t+v|0,r=V+128|0,q=a[r>>2]|0,J=V+160|0,I=a[J>>2]|0,G=I+q|0,L=G+f|0,K=f-G|0,G=p+h|0,f=h-p|0,p=n-l|0,l=k-m|0,m=c-C|0,C=v-t|0,t=q-I|0,a[V>>2]=(10486*(G+w+L|0)|0)+16384>>15,I=w<<1,w=(E(G-I|0,-4582)|0)+16384+(11997*(L-I|0)|0)>>15,a[r>>
-2]=w,w=8716*(K+f|0)|0,a[g>>2]=(5387*K|0)+16384+w>>15,K=(E(f,-22820)|0)+16384+w>>15,a[z>>2]=K,K=t+p|0,z=l-C|0,a[J>>2]=(10486*(K-(z+m)|0)|0)+16384>>15,J=10486*m|0,a[b>>2]=(14647*p|0)+16384+(13213*l|0)+J+(6732*C|0)+(2320*t|0)>>15,b=(5243*z|0)-J+(3240*(K+z|0)|0)|0,z=(9973*(p-t|0)|0)+(E(C+l|0,-6163)|0)+16384|0,a[y>>2]=z+b>>15,a[d>>2]=z-b>>15,A=A+1|0,5!=(A|0);)V=V+4|0,D=D+4|0;u=e},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,u,z,w,C,v,A,D;Va(b|0,0,256)|0;e=c+3|0;f=c+1|0;g=c+2|0;h=0;for(m=
-b;;)if(k=a[d+(h<<2)>>2]|0,l=x[k+c>>0]|0,n=x[k+e>>0]|0,p=n+l|0,q=x[k+f>>0]|0,y=x[k+g>>0]|0,k=y+q|0,t=l-n|0,n=q-y|0,a[m>>2]=(k+p<<3)+-4096,a[m+8>>2]=p-k<<3,k=(4433*(n+t|0)|0)+512|0,a[m+4>>2]=k+(6270*t|0)>>10,t=k+(E(n,-15137)|0)>>10,a[m+12>>2]=t,h=h+1|0,8==(h|0)){r=0;u=b;break}else m=m+32|0;for(;m=a[u>>2]|0,b=u+224|0,h=a[b>>2]|0,g=h+m|0,f=u+32|0,e=a[f>>2]|0,c=u+192|0,d=a[c>>2]|0,t=d+e|0,n=u+64|0,k=a[n>>2]|0,p=u+160|0,y=a[p>>2]|0,q=y+k|0,l=u+96|0,z=a[l>>2]|0,w=u+128|0,C=a[w>>2]|0,v=C+z|0,A=g+2+v|0,D=
-g-v|0,v=q+t|0,g=t-q|0,q=m-h|0,h=e-d|0,d=k-y|0,y=z-C|0,a[u>>2]=A+v>>2,a[w>>2]=A-v>>2,v=(4433*(D+g|0)|0)+16384|0,a[n>>2]=v+(6270*D|0)>>15,D=v+(E(g,-15137)|0)>>15,a[c>>2]=D,D=d+q|0,c=y+h|0,g=(9633*(c+D|0)|0)+16384|0,v=g+(E(D,-3196)|0)|0,D=g+(E(c,-16069)|0)|0,c=E(y+q|0,-7373)|0,g=E(d+h|0,-20995)|0,a[f>>2]=c+(12299*q|0)+v>>15,a[l>>2]=g+(25172*h|0)+D>>15,a[p>>2]=g+(16819*d|0)+v>>15,a[b>>2]=c+(2446*y|0)+D>>15,r=r+1|0,4!=(r|0);)u=u+4|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,u;Va(b|
-0,0,256)|0;e=c+2|0;f=c+1|0;g=0;for(h=b;;)if(m=a[d+(g<<2)>>2]|0,k=x[m+c>>0]|0,l=x[m+e>>0]|0,n=l+k|0,p=x[m+f>>0]|0,a[h>>2]=(n+p<<3)+-3072,m=(5793*((E(p,-2)|0)+n|0)|0)+512>>10,a[h+8>>2]=m,a[h+4>>2]=(10033*(k-l|0)|0)+512>>10,g=g+1|0,6==(g|0)){q=0;y=b;break}else h=h+32|0;for(;h=a[y>>2]|0,b=y+160|0,g=a[b>>2]|0,f=g+h|0,e=y+32|0,c=a[e>>2]|0,d=y+128|0,l=a[d>>2]|0,k=l+c|0,m=y+64|0,n=a[m>>2]|0,p=y+96|0,t=a[p>>2]|0,r=t+n|0,u=r+f|0,h=h-g|0,g=c-l|0,l=n-t|0,a[y>>2]=(14564*(u+k|0)|0)+16384>>15,a[m>>2]=(17837*(f-
-r|0)|0)+16384>>15,r=(10298*((E(k,-2)|0)+u|0)|0)+16384>>15,a[d>>2]=r,r=5331*(l+h|0)|0,a[e>>2]=(14564*(g+h|0)|0)+16384+r>>15,a[p>>2]=(14564*(h-g-l|0)|0)+16384>>15,a[b>>2]=(14564*(l-g|0)|0)+16384+r>>15,q=q+1|0,3!=(q|0);)y=y+4|0},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y;Va(b|0,0,256)|0;e=c+1|0;f=a[d>>2]|0;g=x[f+c>>0]|0;h=x[f+e>>0]|0;f=(h+g<<3)+-2048|0;a[b>>2]=f;m=g-h<<3;h=b+4|0;a[h>>2]=m;g=b+32|0;k=a[d+4>>2]|0;l=x[k+c>>0]|0;n=x[k+e>>0]|0;k=(n+l<<3)+-2048|0;a[g>>2]=k;p=l-n<<3;a[b+36>>2]=
-p;n=a[d+8>>2]|0;l=x[n+c>>0]|0;q=x[n+e>>0]|0;n=(q+l<<3)+-2048|0;a[b+64>>2]=n;y=l-q<<3;a[b+68>>2]=y;q=a[d+12>>2]|0;d=x[q+c>>0]|0;c=x[q+e>>0]|0;e=(c+d<<3)+-2048|0;q=d-c<<3;c=e+f|0;d=n+k|0;l=f-e|0;e=k-n|0;a[b>>2]=d+c;a[b+64>>2]=c-d;d=(4433*(e+l|0)|0)+4096|0;a[g>>2]=d+(6270*l|0)>>13;l=d+(E(e,-15137)|0)>>13;a[b+96>>2]=l;l=q+m|0;e=y+p|0;d=m-q|0;q=p-y|0;a[h>>2]=e+l;a[b+68>>2]=l-e;e=(4433*(q+d|0)|0)+4096|0;a[b+36>>2]=e+(6270*d|0)>>13;d=e+(E(q,-15137)|0)>>13;a[b+100>>2]=d},function(b,d,c){b|=0;d|=0;c|=0;var e;
-Va(b|0,0,256)|0;e=x[(a[d>>2]|0)+c>>0]|0;d=x[(a[d+4>>2]|0)+c>>0]|0;a[b>>2]=(d+e<<5)+-8192;a[b+32>>2]=e-d<<5},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,u,z,w,C,v,A,D,J,I,G;e=c+7|0;f=c+1|0;g=c+6|0;h=c+2|0;m=c+5|0;k=c+3|0;l=c+4|0;n=0;for(p=b;;)if(q=a[d+(n<<2)>>2]|0,y=x[q+c>>0]|0,t=x[q+e>>0]|0,r=t+y|0,u=x[q+f>>0]|0,z=x[q+g>>0]|0,w=z+u|0,C=x[q+h>>0]|0,v=x[q+m>>0]|0,A=v+C|0,D=x[q+k>>0]|0,J=x[q+l>>0]|0,q=J+D|0,I=q+r|0,G=r-q|0,q=A+w|0,r=w-A|0,A=y-t|0,t=u-z|0,z=C-v|0,v=D-J|0,a[p>>2]=(I+q<<
-2)+-4096,a[p+16>>2]=I-q<<2,q=(4433*(G+r|0)|0)+1024|0,a[p+8>>2]=q+(6270*G|0)>>11,G=q+(E(r,-15137)|0)>>11,a[p+24>>2]=G,G=z+A|0,r=v+t|0,q=(9633*(r+G|0)|0)+1024|0,I=q+(E(G,-3196)|0)|0,G=q+(E(r,-16069)|0)|0,r=E(v+A|0,-7373)|0,q=E(z+t|0,-20995)|0,a[p+4>>2]=r+(12299*A|0)+I>>11,a[p+12>>2]=q+(25172*t|0)+G>>11,a[p+20>>2]=q+(16819*z|0)+I>>11,a[p+28>>2]=r+(2446*v|0)+G>>11,n=n+1|0,8==(n|0)){y=7;u=b;break}else p=p+32|0;for(;;)if(p=a[u>>2]|0,b=u+224|0,n=a[b>>2]|0,l=n+p|0,k=u+32|0,m=a[k>>2]|0,h=u+192|0,g=a[h>>2]|
-0,f=g+m|0,e=u+64|0,c=a[e>>2]|0,d=u+160|0,G=a[d>>2]|0,v=G+c|0,r=u+96|0,I=a[r>>2]|0,z=u+128|0,q=a[z>>2]|0,t=q+I|0,A=l+2+t|0,J=l-t|0,t=v+f|0,l=f-v|0,v=p-n|0,n=m-g|0,g=c-G|0,G=I-q|0,a[u>>2]=A+t>>2,a[z>>2]=A-t>>2,t=(4433*(J+l|0)|0)+16384|0,a[e>>2]=t+(6270*J|0)>>15,J=t+(E(l,-15137)|0)>>15,a[h>>2]=J,J=g+v|0,h=G+n|0,l=(9633*(h+J|0)|0)+16384|0,t=l+(E(J,-3196)|0)|0,J=l+(E(h,-16069)|0)|0,h=E(G+v|0,-7373)|0,l=E(g+n|0,-20995)|0,a[k>>2]=h+(12299*v|0)+t>>15,a[r>>2]=l+(25172*n|0)+J>>15,a[d>>2]=l+(16819*g|0)+t>>15,
-a[b>>2]=h+(2446*G|0)+J>>15,0<(y|0))y=y+-1|0,u=u+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,u,z,w,C,v,A;e=c+7|0;f=c+1|0;g=c+6|0;h=c+2|0;m=c+5|0;k=c+3|0;l=c+4|0;n=0;for(p=b;;)if(q=a[d+(n<<2)>>2]|0,y=x[q+c>>0]|0,t=x[q+e>>0]|0,r=t+y|0,u=y-t|0,t=x[q+f>>0]|0,y=x[q+g>>0]|0,z=y+t|0,w=t-y|0,y=x[q+h>>0]|0,t=x[q+m>>0]|0,C=t+y|0,v=y-t|0,t=x[q+k>>0]|0,y=x[q+l>>0]|0,q=y+t|0,A=q+r|0,r=r-q|0,q=C+z|0,a[p>>2]=(q|-1024)+A,a[p+16>>2]=A-q,q=181*(z-C+r|0)>>8,a[p+8>>2]=q+r,a[p+24>>2]=r-
-q,q=t-y+v|0,y=w+u|0,t=98*(q-y|0)>>8,r=t+(139*q>>8)|0,q=t+(334*y>>8)|0,y=181*(v+w|0)>>8,w=y+u|0,v=u-y|0,a[p+20>>2]=r+v,a[p+12>>2]=v-r,a[p+4>>2]=q+w,a[p+28>>2]=w-q,n=n+1|0,8==(n|0)){t=7;z=b;break}else p=p+32|0;for(;;)if(p=a[z>>2]|0,b=z+224|0,n=a[b>>2]|0,l=n+p|0,k=p-n|0,n=z+32|0,p=a[n>>2]|0,m=z+192|0,h=a[m>>2]|0,g=h+p|0,f=p-h|0,h=z+64|0,p=a[h>>2]|0,e=z+160|0,c=a[e>>2]|0,d=c+p|0,q=p-c|0,c=z+96|0,p=a[c>>2]|0,w=z+128|0,r=a[w>>2]|0,v=r+p|0,y=v+l|0,u=l-v|0,v=d+g|0,a[z>>2]=y+v,a[w>>2]=y-v,v=181*(g-d+u|0)>>
-8,a[h>>2]=v+u,a[m>>2]=u-v,v=p-r+q|0,r=f+k|0,p=98*(v-r|0)>>8,u=p+(139*v>>8)|0,v=p+(334*r>>8)|0,r=181*(q+f|0)>>8,f=r+k|0,q=k-r|0,a[e>>2]=u+q,a[c>>2]=q-u,a[n>>2]=v+f,a[b>>2]=f-v,0<(t|0))t=t+-1|0,z=z+4|0;else break},function(b,d,c){b|=0;d|=0;c|=0;var e,f,g,h,m,k,l,n,p,q,y,t,r,u,z,w,C,v,A,E,J;e=c+7|0;f=c+1|0;g=c+6|0;h=c+2|0;m=c+5|0;k=c+3|0;l=c+4|0;n=0;for(p=b;;)if(q=a[d+(n<<2)>>2]|0,y=x[q+c>>0]|0,t=x[q+e>>0]|0,r=+(t+y|0),u=y-t|0,z=+(u|0),t=x[q+f>>0]|0,y=x[q+g>>0]|0,w=+(y+t|0),C=t-y|0,y=x[q+h>>0]|0,t=x[q+
-m>>0]|0,v=+(t+y|0),A=y-t|0,t=x[q+k>>0]|0,y=x[q+l>>0]|0,q=+(y+t|0),E=r+q,J=r-q,q=w+v,W[p>>2]=q+E+-1024,W[p+16>>2]=E-q,q=.7071067690849304*(w-v+J),W[p+8>>2]=J+q,W[p+24>>2]=J-q,q=+(A+t-y|0),J=+(C+u|0),v=.3826834261417389*(q-J),w=.5411961078643799*q+v,q=1.3065630197525024*J+v,v=.7071067690849304*+(A+C|0),J=z+v,E=z-v,W[p+20>>2]=E+w,W[p+12>>2]=E-w,W[p+4>>2]=J+q,W[p+28>>2]=J-q,n=n+1|0,8==(n|0)){d=7;c=b;break}else p=p+32|0;for(;;)if(q=+W[c>>2],p=c+224|0,J=+W[p>>2],w=q+J,E=q-J,b=c+32|0,J=+W[b>>2],n=c+192|
-0,q=+W[n>>2],v=J+q,z=J-q,l=c+64|0,q=+W[l>>2],k=c+160|0,J=+W[k>>2],r=q+J,e=q-J,m=c+96|0,J=+W[m>>2],h=c+128|0,q=+W[h>>2],f=J+q,g=w+f,w-=f,f=v+r,W[c>>2]=f+g,W[h>>2]=g-f,f=.7071067690849304*(v-r+w),W[l>>2]=w+f,W[n>>2]=w-f,f=e+(J-q),q=E+z,J=.3826834261417389*(f-q),w=.5411961078643799*f+J,f=1.3065630197525024*q+J,J=.7071067690849304*(z+e),e=E+J,z=E-J,W[k>>2]=z+w,W[m>>2]=z-w,W[b>>2]=e+f,W[p>>2]=e-f,0<(d|0))d=d+-1|0,c=c+4|0;else break},$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,
-$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b,$b],Ii=[Kh,function(b,d,c,e,f,g,h,m,k){d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y,t,r,u,z,w,C,v,A,D,J,I,G,L,K,F,R,O,M,T,X,P,Oa,S,Y,ba,W,U,Z,ga=0,Ha=0,ma=0,da=0,ha=0,aa=0,ca=0,fa=0,ja=0,pa=0,ya=0,oa=0,sa=0,ra=0,ua=0;e=N[(b|0)+26>>1]|0;b=E(e,h|0)|0;if(g)for(h=7<f>>>0,c=e+1|0,l=e+2|0,n=e+3|0,p=e<<1,q=p|1,y=p+2|0,t=p+3|0,r=3*e|0,u=r+1|0,z=r+2|0,w=r+3|0,C=e<<2,v=C|1,A=C|2,D=C|3,J=5*e|0,I=J+1|0,G=J+2|0,L=J+3|0,K=6*e|0,F=K|1,R=K+2|0,
-O=K+3|0,M=7*e|0,T=M+1|0,X=M+2|0,P=M+3|0,Oa=e<<3,S=f+-8|0,Y=S&-8,ba=S-Y|0,S=Y+8|0,Y=E(S,e)|0,W=k,k=d,d=g;;){d=d+-1|0;if(h){g=W+Y|0;U=k;for(Z=f;!(a[U>>2]=(x[W+1>>0]|0)<<8|x[W>>0]|0|(x[W+2>>0]|0)<<16|(x[W+3>>0]|0)<<24,a[U+4>>2]=(x[W+c>>0]|0)<<8|x[W+e>>0]|0|(x[W+l>>0]|0)<<16|(x[W+n>>0]|0)<<24,a[U+8>>2]=(x[W+q>>0]|0)<<8|x[W+p>>0]|0|(x[W+y>>0]|0)<<16|(x[W+t>>0]|0)<<24,a[U+12>>2]=(x[W+u>>0]|0)<<8|x[W+r>>0]|0|(x[W+z>>0]|0)<<16|(x[W+w>>0]|0)<<24,a[U+16>>2]=(x[W+v>>0]|0)<<8|x[W+C>>0]|0|(x[W+A>>0]|0)<<16|(x[W+
-D>>0]|0)<<24,a[U+20>>2]=(x[W+I>>0]|0)<<8|x[W+J>>0]|0|(x[W+G>>0]|0)<<16|(x[W+L>>0]|0)<<24,a[U+24>>2]=(x[W+F>>0]|0)<<8|x[W+K>>0]|0|(x[W+R>>0]|0)<<16|(x[W+O>>0]|0)<<24,a[U+28>>2]=(x[W+T>>0]|0)<<8|x[W+M>>0]|0|(x[W+X>>0]|0)<<16|(x[W+P>>0]|0)<<24,Z=Z+-8|0,7>=Z>>>0);)W=W+Oa|0,U=U+32|0;k=k+(S<<2)|0;W=ba}else g=W,W=f;switch(W|0){case 1:ga=k;Ha=g;ma=14;break;case 7:a[k>>2]=(x[g+1>>0]|0)<<8|x[g>>0]|0|(x[g+2>>0]|0)<<16|(x[g+3>>0]|0)<<24;da=k+4|0;ha=g+e|0;ma=9;break;case 6:da=k;ha=g;ma=9;break;case 5:aa=k;ca=
-g;ma=10;break;case 4:fa=k;ja=g;ma=11;break;case 3:pa=k;ya=g;ma=12;break;case 2:oa=k;sa=g;ma=13;break;default:ra=k,ua=g}9==(ma|0)&&(a[da>>2]=(x[ha+1>>0]|0)<<8|x[ha>>0]|0|(x[ha+2>>0]|0)<<16|(x[ha+3>>0]|0)<<24,aa=da+4|0,ca=ha+e|0,ma=10);10==(ma|0)&&(a[aa>>2]=(x[ca+1>>0]|0)<<8|x[ca>>0]|0|(x[ca+2>>0]|0)<<16|(x[ca+3>>0]|0)<<24,fa=aa+4|0,ja=ca+e|0,ma=11);11==(ma|0)&&(a[fa>>2]=(x[ja+1>>0]|0)<<8|x[ja>>0]|0|(x[ja+2>>0]|0)<<16|(x[ja+3>>0]|0)<<24,pa=fa+4|0,ya=ja+e|0,ma=12);12==(ma|0)&&(a[pa>>2]=(x[ya+1>>0]|0)<<
-8|x[ya>>0]|0|(x[ya+2>>0]|0)<<16|(x[ya+3>>0]|0)<<24,oa=pa+4|0,sa=ya+e|0,ma=13);13==(ma|0)&&(a[oa>>2]=(x[sa+1>>0]|0)<<8|x[sa>>0]|0|(x[sa+2>>0]|0)<<16|(x[sa+3>>0]|0)<<24,ga=oa+4|0,Ha=sa+e|0,ma=14);14==(ma|0)&&(ma=0,a[ga>>2]=(x[Ha+1>>0]|0)<<8|x[Ha>>0]|0|(x[Ha+2>>0]|0)<<16|(x[Ha+3>>0]|0)<<24,ra=ga+4|0,ua=Ha+e|0);if(d)W=ua+b|0,k=ra+(m<<2)|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y,t,r;e=N[b+26>>1]|0;c=E(e,h|0)|0;if(g)for(h=0==(f|0),l=b+76|0,b=E(e,f)|0,n=d,d=k,
-k=g;;){k=k+-1|0;if(h)g=d;else{g=d+b|0;p=a[l>>2]|0;q=f;for(y=n;;)if(q=q+-1|0,t=x[d+3>>0]|0,r=t<<8,a[y>>2]=x[p+(x[d>>0]|0|r)>>0]|0|t<<24|(x[p+(x[d+1>>0]|0|r)>>0]|0)<<8|(x[p+(x[d+2>>0]|0|r)>>0]|0)<<16,q)d=d+e|0,y=y+4|0;else break;n=n+(f<<2)|0}if(k)n=n+(m<<2)|0,d=g+c|0;else break}},function(b,d,c,e,f,g,h,m,k){d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y,t,r,u,z,w,C,v,A,D,J,I,G,L,K,F,R,O,M,T,X,P,S=0,Y=0,W=0,ba=0,U=0,Z=0,da=0,ga=0,Ha=0,ma=0,aa=0,ha=0,ca=0,fa=0,ja=0;e=N[(b|0)+26>>1]|0;b=E(e,h|0)|0;if(g)for(h=
-7<f>>>0,c=e+1|0,l=e+2|0,n=e<<1,p=n|1,q=n+2|0,y=3*e|0,t=y+1|0,r=y+2|0,u=e<<2,z=u|1,w=u|2,C=5*e|0,v=C+1|0,A=C+2|0,D=6*e|0,J=D|1,I=D+2|0,G=7*e|0,L=G+1|0,K=G+2|0,F=e<<3,R=f+-8|0,O=R&-8,M=R-O|0,R=O+8|0,O=E(R,e)|0,T=k,k=d,d=g;;){d=d+-1|0;if(h){g=T+O|0;X=k;for(P=f;!(a[X>>2]=x[T>>0]|0|(x[T+1>>0]|0)<<8|(x[T+2>>0]|0)<<16|-16777216,a[X+4>>2]=x[T+e>>0]|0|(x[T+c>>0]|0)<<8|(x[T+l>>0]|0)<<16|-16777216,a[X+8>>2]=x[T+n>>0]|0|(x[T+p>>0]|0)<<8|(x[T+q>>0]|0)<<16|-16777216,a[X+12>>2]=x[T+y>>0]|0|(x[T+t>>0]|0)<<8|(x[T+
-r>>0]|0)<<16|-16777216,a[X+16>>2]=x[T+u>>0]|0|(x[T+z>>0]|0)<<8|(x[T+w>>0]|0)<<16|-16777216,a[X+20>>2]=x[T+C>>0]|0|(x[T+v>>0]|0)<<8|(x[T+A>>0]|0)<<16|-16777216,a[X+24>>2]=x[T+D>>0]|0|(x[T+J>>0]|0)<<8|(x[T+I>>0]|0)<<16|-16777216,a[X+28>>2]=x[T+G>>0]|0|(x[T+L>>0]|0)<<8|(x[T+K>>0]|0)<<16|-16777216,P=P+-8|0,7>=P>>>0);)T=T+F|0,X=X+32|0;k=k+(R<<2)|0;T=M}else g=T,T=f;switch(T|0){case 1:S=k;Y=g;W=14;break;case 7:a[k>>2]=x[g>>0]|0|(x[g+1>>0]|0)<<8|(x[g+2>>0]|0)<<16|-16777216;ba=k+4|0;U=g+e|0;W=9;break;case 6:ba=
-k;U=g;W=9;break;case 5:Z=k;da=g;W=10;break;case 4:ga=k;Ha=g;W=11;break;case 3:ma=k;aa=g;W=12;break;case 2:ha=k;ca=g;W=13;break;default:fa=k,ja=g}9==(W|0)&&(a[ba>>2]=x[U>>0]|0|(x[U+1>>0]|0)<<8|(x[U+2>>0]|0)<<16|-16777216,Z=ba+4|0,da=U+e|0,W=10);10==(W|0)&&(a[Z>>2]=x[da>>0]|0|(x[da+1>>0]|0)<<8|(x[da+2>>0]|0)<<16|-16777216,ga=Z+4|0,Ha=da+e|0,W=11);11==(W|0)&&(a[ga>>2]=x[Ha>>0]|0|(x[Ha+1>>0]|0)<<8|(x[Ha+2>>0]|0)<<16|-16777216,ma=ga+4|0,aa=Ha+e|0,W=12);12==(W|0)&&(a[ma>>2]=x[aa>>0]|0|(x[aa+1>>0]|0)<<8|
-(x[aa+2>>0]|0)<<16|-16777216,ha=ma+4|0,ca=aa+e|0,W=13);13==(W|0)&&(a[ha>>2]=x[ca>>0]|0|(x[ca+1>>0]|0)<<8|(x[ca+2>>0]|0)<<16|-16777216,S=ha+4|0,Y=ca+e|0,W=14);14==(W|0)&&(W=0,a[S>>2]=x[Y>>0]|0|(x[Y+1>>0]|0)<<8|(x[Y+2>>0]|0)<<16|-16777216,fa=S+4|0,ja=Y+e|0);if(d)T=ja+b|0,k=fa+(m<<2)|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y;e=N[b+26>>1]|0;c=E(e,h|0)|0;if(g)for(h=0==(f|0),l=b+80|0,b=E(e,f)|0,n=d,d=g,g=k;;){d=d+-1|0;if(h)k=g;else{k=g+(b<<1)|0;p=a[l>>2]|0;q=
-f;for(y=n;;)if(q=q+-1|0,a[y>>2]=(x[p+(N[g+2>>1]|0)>>0]|0)<<8|x[p+(N[g>>1]|0)>>0]|0|(x[p+(N[g+4>>1]|0)>>0]|0)<<16|(x[p+(N[g+6>>1]|0)>>0]|0)<<24,q)y=y+4|0,g=g+(e<<1)|0;else break;n=n+(f<<2)|0}if(d)n=n+(m<<2)|0,g=k+(c<<1)|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y,t,r,u,z;e=N[b+26>>1]|0;c=E(e,h|0)|0;if(g)for(h=0==(f|0),l=b+80|0,n=b+76|0,b=E(e,f)|0,p=d,d=g,g=k;;){d=d+-1|0;if(h)k=g;else{k=g+(b<<1)|0;q=a[l>>2]|0;y=a[n>>2]|0;t=f;for(r=p;;)if(t=t+-1|0,u=x[q+(N[g+
-6>>1]|0)>>0]|0,z=u<<8,a[r>>2]=x[y+(x[q+(N[g>>1]|0)>>0]|0|z)>>0]|0|u<<24|(x[y+(x[q+(N[g+2>>1]|0)>>0]|0|z)>>0]|0)<<8|(x[y+(x[q+(N[g+4>>1]|0)>>0]|0|z)>>0]|0)<<16,t)r=r+4|0,g=g+(e<<1)|0;else break;p=p+(f<<2)|0}if(d)p=p+(m<<2)|0,g=k+(c<<1)|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y;e=N[b+26>>1]|0;c=E(e,h|0)|0;if(g)for(h=0==(f|0),l=b+80|0,b=E(e,f)|0,n=d,d=g,g=k;;){d=d+-1|0;if(h)k=g;else{k=g+(b<<1)|0;p=a[l>>2]|0;q=f;for(y=n;;)if(q=q+-1|0,a[y>>2]=x[p+(N[g>>1]|0)>>
-0]|0|(x[p+(N[g+2>>1]|0)>>0]|0)<<8|(x[p+(N[g+4>>1]|0)>>0]|0)<<16|-16777216,q)y=y+4|0,g=g+(e<<1)|0;else break;n=n+(f<<2)|0}if(d)n=n+(m<<2)|0,g=k+(c<<1)|0;else break}},function(b,d,c,e,f,g,h,m,k){d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y,t,r,u,z,w,C,v,A,D,J,I,G,L,K,F,R,O,M,T,X,P,S,Y,W,ba,U,Z,da,ga,Ha,ma,aa,ha=0,ca=0,fa=0,ja=0,pa=0,ya=0,ra=0,oa=0,sa=0,Aa=0,ua=0,Ia=0,Da=0,na=0,Na=0;e=N[(b|0)+26>>1]|0;b=E(e,h|0)|0;if(g)for(h=7<f>>>0,c=e+3|0,l=e+1|0,n=e+2|0,p=e<<1,q=p+3|0,y=p|1,t=p+2|0,r=3*e|0,u=r+3|0,z=r+
-1|0,w=r+2|0,C=e<<2,v=C|3,A=C|1,D=C|2,J=5*e|0,I=J+3|0,G=J+1|0,L=J+2|0,K=6*e|0,F=K+3|0,R=K|1,O=K+2|0,M=7*e|0,T=M+3|0,X=M+1|0,P=M+2|0,S=e<<3,Y=f+-8|0,W=Y&-8,ba=Y-W|0,Y=W+8|0,W=E(Y,e)|0,U=k,k=d,d=g;;){d=d+-1|0;if(h){g=U+W|0;Z=k;for(da=f;!(ga=(x[U+3>>0]|0)^255,Ha=((E((x[U>>0]|0)^255,ga)|0)>>>0)/255|0,ma=((E((x[U+1>>0]|0)^255,ga)|0)>>>0)/255|0,aa=Ha|ma<<8|(((E((x[U+2>>0]|0)^255,ga)|0)>>>0)/255|0)<<16|-16777216,a[Z>>2]=aa,aa=(x[U+c>>0]|0)^255,ga=((E((x[U+e>>0]|0)^255,aa)|0)>>>0)/255|0,ma=((E((x[U+l>>0]|
-0)^255,aa)|0)>>>0)/255|0,Ha=ga|ma<<8|(((E((x[U+n>>0]|0)^255,aa)|0)>>>0)/255|0)<<16|-16777216,a[Z+4>>2]=Ha,Ha=(x[U+q>>0]|0)^255,aa=((E((x[U+p>>0]|0)^255,Ha)|0)>>>0)/255|0,ma=((E((x[U+y>>0]|0)^255,Ha)|0)>>>0)/255|0,ga=aa|ma<<8|(((E((x[U+t>>0]|0)^255,Ha)|0)>>>0)/255|0)<<16|-16777216,a[Z+8>>2]=ga,ga=(x[U+u>>0]|0)^255,Ha=((E((x[U+r>>0]|0)^255,ga)|0)>>>0)/255|0,ma=((E((x[U+z>>0]|0)^255,ga)|0)>>>0)/255|0,aa=Ha|ma<<8|(((E((x[U+w>>0]|0)^255,ga)|0)>>>0)/255|0)<<16|-16777216,a[Z+12>>2]=aa,aa=(x[U+v>>0]|0)^255,
-ga=((E((x[U+C>>0]|0)^255,aa)|0)>>>0)/255|0,ma=((E((x[U+A>>0]|0)^255,aa)|0)>>>0)/255|0,Ha=ga|ma<<8|(((E((x[U+D>>0]|0)^255,aa)|0)>>>0)/255|0)<<16|-16777216,a[Z+16>>2]=Ha,Ha=(x[U+I>>0]|0)^255,aa=((E((x[U+J>>0]|0)^255,Ha)|0)>>>0)/255|0,ma=((E((x[U+G>>0]|0)^255,Ha)|0)>>>0)/255|0,ga=aa|ma<<8|(((E((x[U+L>>0]|0)^255,Ha)|0)>>>0)/255|0)<<16|-16777216,a[Z+20>>2]=ga,ga=(x[U+F>>0]|0)^255,Ha=((E((x[U+K>>0]|0)^255,ga)|0)>>>0)/255|0,ma=((E((x[U+R>>0]|0)^255,ga)|0)>>>0)/255|0,aa=Ha|ma<<8|(((E((x[U+O>>0]|0)^255,ga)|
-0)>>>0)/255|0)<<16|-16777216,a[Z+24>>2]=aa,aa=(x[U+T>>0]|0)^255,ga=((E((x[U+M>>0]|0)^255,aa)|0)>>>0)/255|0,ma=((E((x[U+X>>0]|0)^255,aa)|0)>>>0)/255|0,Ha=ga|ma<<8|(((E((x[U+P>>0]|0)^255,aa)|0)>>>0)/255|0)<<16|-16777216,a[Z+28>>2]=Ha,da=da+-8|0,7>=da>>>0);)U=U+S|0,Z=Z+32|0;k=k+(Y<<2)|0;U=ba}else g=U,U=f;switch(U|0){case 1:ha=k;ca=g;fa=14;break;case 7:Z=(x[g+3>>0]|0)^255;U=((E((x[g>>0]|0)^255,Z)|0)>>>0)/255|0;da=U|(((E((x[g+1>>0]|0)^255,Z)|0)>>>0)/255|0)<<8|(((E((x[g+2>>0]|0)^255,Z)|0)>>>0)/255|0)<<
-16|-16777216;a[k>>2]=da;ja=k+4|0;pa=g+e|0;fa=9;break;case 6:ja=k;pa=g;fa=9;break;case 5:ya=k;ra=g;fa=10;break;case 4:oa=k;sa=g;fa=11;break;case 3:Aa=k;ua=g;fa=12;break;case 2:Ia=k;Da=g;fa=13;break;default:na=k,Na=g}9==(fa|0)&&(da=(x[pa+3>>0]|0)^255,Z=((E((x[pa>>0]|0)^255,da)|0)>>>0)/255|0,U=((E((x[pa+1>>0]|0)^255,da)|0)>>>0)/255|0,Ha=Z|U<<8|(((E((x[pa+2>>0]|0)^255,da)|0)>>>0)/255|0)<<16|-16777216,a[ja>>2]=Ha,ya=ja+4|0,ra=pa+e|0,fa=10);10==(fa|0)&&(Ha=(x[ra+3>>0]|0)^255,da=((E((x[ra>>0]|0)^255,Ha)|
-0)>>>0)/255|0,U=((E((x[ra+1>>0]|0)^255,Ha)|0)>>>0)/255|0,Z=da|U<<8|(((E((x[ra+2>>0]|0)^255,Ha)|0)>>>0)/255|0)<<16|-16777216,a[ya>>2]=Z,oa=ya+4|0,sa=ra+e|0,fa=11);11==(fa|0)&&(Z=(x[sa+3>>0]|0)^255,Ha=((E((x[sa>>0]|0)^255,Z)|0)>>>0)/255|0,U=((E((x[sa+1>>0]|0)^255,Z)|0)>>>0)/255|0,da=Ha|U<<8|(((E((x[sa+2>>0]|0)^255,Z)|0)>>>0)/255|0)<<16|-16777216,a[oa>>2]=da,Aa=oa+4|0,ua=sa+e|0,fa=12);12==(fa|0)&&(da=(x[ua+3>>0]|0)^255,Z=((E((x[ua>>0]|0)^255,da)|0)>>>0)/255|0,U=((E((x[ua+1>>0]|0)^255,da)|0)>>>0)/255|
-0,Ha=Z|U<<8|(((E((x[ua+2>>0]|0)^255,da)|0)>>>0)/255|0)<<16|-16777216,a[Aa>>2]=Ha,Ia=Aa+4|0,Da=ua+e|0,fa=13);13==(fa|0)&&(Ha=(x[Da+3>>0]|0)^255,da=((E((x[Da>>0]|0)^255,Ha)|0)>>>0)/255|0,U=((E((x[Da+1>>0]|0)^255,Ha)|0)>>>0)/255|0,Z=da|U<<8|(((E((x[Da+2>>0]|0)^255,Ha)|0)>>>0)/255|0)<<16|-16777216,a[Ia>>2]=Z,ha=Ia+4|0,ca=Da+e|0,fa=14);14==(fa|0)&&(fa=0,Z=(x[ca+3>>0]|0)^255,Ha=((E((x[ca>>0]|0)^255,Z)|0)>>>0)/255|0,U=((E((x[ca+1>>0]|0)^255,Z)|0)>>>0)/255|0,da=Ha|U<<8|(((E((x[ca+2>>0]|0)^255,Z)|0)>>>0)/
-255|0)<<16|-16777216,a[ha>>2]=da,na=ha+4|0,Na=ca+e|0);if(d)U=Na+b|0,k=na+(m<<2)|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,y,t,r;e=N[b+26>>1]|0;c=a[b+56>>2]|0;b=E(e,h|0)|0;if(g)for(h=0==(f|0),l=E(e,f)|0,n=d,d=k,k=g;;){k=k+-1|0;if(h)g=d;else{g=d+l|0;p=f;for(q=n;;)if(p=p+-1|0,y=(x[d+3>>0]|0)^255,t=((E((x[d>>0]|0)^255,y)|0)>>>0)/255|0,r=((E((x[d+1>>0]|0)^255,y)|0)>>>0)/255|0,y=((E((x[d+2>>0]|0)^255,y)|0)>>>0)/255|0,a[q>>2]=x[c+t>>0]|0|(x[c+r>>0]|0)<<8|(x[c+y>>
-0]|0)<<16|-16777216,p)d=d+e|0,q=q+4|0;else break;n=n+(f<<2)|0}if(k)n=n+(m<<2)|0,d=g+b|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;h|=0;m|=0;k|=0;var l,n,p,q;e=a[b+64>>2]|0;c=N[b+26>>1]|0;if(g)for(b=0==(f|0),l=E(c,f)|0,n=d,d=k,k=g;;){k=k+-1|0;if(b)g=d;else{g=d+l|0;p=f;for(q=n;;)if(p=p+-1|0,a[q>>2]=a[a[e+((x[d>>0]|0)<<2)>>2]>>2],p)d=d+c|0,q=q+4|0;else break;n=n+(f<<2)|0}if(k)n=n+(m<<2)|0,d=g+h|0;else break}},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,y,t;e=a[(b|0)+64>>
-2]|0;b=(h|0)/2|0;if(g)for(h=1<f>>>0,c=f+-2|0,l=c>>>1,n=l<<1,p=c-n|0,c=n+2|0,n=l+1|0,l=d|0,d=k|0,k=g;;){k=k+-1|0;if(h){g=l+(c<<2)|0;q=d;for(y=f;!(t=a[e+((x[q>>0]|0)<<2)>>2]|0,a[l>>2]=a[t>>2],a[l+4>>2]=a[t+4>>2],y=y+-2|0,1>=y>>>0);)q=q+1|0,l=l+8|0;d=d+n|0;q=p}else g=l,q=f;q&&(a[g>>2]=a[a[e+((x[d>>0]|0)<<2)>>2]>>2],g=g+4|0,d=d+1|0);if(k)l=g+(m<<2)|0,d=d+b|0;else break}},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,y,t,r=0,u=0,z=0,w=0,C=0;e=a[(b|0)+64>>2]|0;b=(h|0)/4|0;if(g)for(h=3<f>>>0,c=
-f+-4|0,l=c>>>2,n=l<<2,p=c-n|0,c=n+4|0,n=l+1|0,l=d|0,d=k|0,k=g;;){k=k+-1|0;if(h){g=l+(c<<2)|0;q=d;for(y=f;!(t=a[e+((x[q>>0]|0)<<2)>>2]|0,a[l>>2]=a[t>>2],a[l+4>>2]=a[t+4>>2],a[l+8>>2]=a[t+8>>2],a[l+12>>2]=a[t+12>>2],y=y+-4|0,3>=y>>>0);)q=q+1|0,l=l+16|0;d=d+n|0;y=p}else g=l,y=f;a:do if(y){l=d+1|0;q=a[e+((x[d>>0]|0)<<2)>>2]|0;switch(y|0){case 3:a[g>>2]=a[q>>2];r=g+4|0;u=q+4|0;z=10;break;case 2:r=g;u=q;z=10;break;case 1:w=g;C=q;break;default:q=l;l=g;break a}10==(z|0)&&(z=0,a[r>>2]=a[u>>2],w=r+4|0,C=u+
-4|0);a[w>>2]=a[C>>2];q=l;l=w+4|0}else q=d,l=g;while(0);if(k)l=l+(m<<2)|0,d=q+b|0;else break}},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,y,t,r=0,u=0,z=0,w=0,C=0,v=0,A=0,E=0,J=0,I=0,G=0,L=0,K=0;e=a[(b|0)+64>>2]|0;b=(h|0)/8|0;if(g)for(h=7<f>>>0,c=f+-8|0,l=c>>>3,n=l<<3,p=c-n|0,c=n+8|0,n=l+1|0,l=d|0,d=k|0,k=g;;){k=k+-1|0;if(h){g=l+(c<<2)|0;q=d;for(y=f;!(t=a[e+((x[q>>0]|0)<<2)>>2]|0,a[l>>2]=a[t>>2],a[l+4>>2]=a[t+4>>2],a[l+8>>2]=a[t+8>>2],a[l+12>>2]=a[t+12>>2],a[l+16>>2]=a[t+16>>2],a[l+20>>
-2]=a[t+20>>2],a[l+24>>2]=a[t+24>>2],a[l+28>>2]=a[t+28>>2],y=y+-8|0,7>=y>>>0);)q=q+1|0,l=l+32|0;d=d+n|0;y=p}else g=l,y=f;a:do if(y){l=d+1|0;q=a[e+((x[d>>0]|0)<<2)>>2]|0;switch(y|0){case 7:a[g>>2]=a[q>>2];r=g+4|0;u=q+4|0;z=10;break;case 6:r=g;u=q;z=10;break;case 5:w=g;C=q;z=11;break;case 4:v=g;A=q;z=12;break;case 3:E=g;J=q;z=13;break;case 2:I=g;G=q;z=14;break;case 1:L=g;K=q;break;default:q=l;l=g;break a}10==(z|0)&&(a[r>>2]=a[u>>2],w=r+4|0,C=u+4|0,z=11);11==(z|0)&&(a[w>>2]=a[C>>2],v=w+4|0,A=C+4|0,z=
-12);12==(z|0)&&(a[v>>2]=a[A>>2],E=v+4|0,J=A+4|0,z=13);13==(z|0)&&(a[E>>2]=a[J>>2],I=E+4|0,G=J+4|0,z=14);14==(z|0)&&(z=0,a[I>>2]=a[G>>2],L=I+4|0,K=G+4|0);a[L>>2]=a[K>>2];q=l;l=L+4|0}else q=d,l=g;while(0);if(k)l=l+(m<<2)|0,d=q+b|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;h|=0;m|=0;k|=0;var l,n,p,q;e=N[b+26>>1]|0;c=a[b+60>>2]|0;if(g)for(b=0==(f|0),l=(E(e,f)|0)<<1,n=d,d=k,k=g;;){k=k+-1|0;if(b)g=d;else{g=d+l|0;p=f;for(q=n;;)if(p=p+-1|0,a[q>>2]=a[a[c+((N[d>>1]|0)>>>8<<2)>>2]>>2],p)q=
-q+4|0,d=d+(e<<1)|0;else break;n=n+(f<<2)|0}if(k)n=n+(m<<2)|0,d=g+h|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;h|=0;m|=0;k|=0;var l,n,p,q;e=N[b+26>>1]|0;c=a[b+60>>2]|0;if(g)for(b=0==(f|0),l=E(e,f)|0,n=d,d=k,k=g;;){k=k+-1|0;if(b)g=d;else{g=d+l|0;p=f;for(q=n;;)if(p=p+-1|0,a[q>>2]=((x[d+1>>0]|0)<<24|16777215)&a[a[c+((x[d>>0]|0)<<2)>>2]>>2],p)d=d+e|0,q=q+4|0;else break;n=n+(f<<2)|0}if(k)n=n+(m<<2)|0,d=g+h|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;h|=0;m|=0;k|=0;
-var l,n,p,q;e=N[b+26>>1]|0;c=a[b+60>>2]|0;if(g)for(b=0==(f|0),l=E(e,f)|0,n=d,d=k,k=g;;){k=k+-1|0;if(b)g=d;else{g=d+l|0;p=f;for(q=n;;)if(p=p+-1|0,a[q>>2]=a[a[c+((x[d>>0]|0)<<2)>>2]>>2],p)d=d+e|0,q=q+4|0;else break;n=n+(f<<2)|0}if(k)n=n+(m<<2)|0,d=g+h|0;else break}},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,t,r;e=a[(b|0)+60>>2]|0;b=(h|0)/2|0;if(g)for(h=1<f>>>0,c=f+-2|0,l=c>>>1,n=l<<1,p=c-n|0,c=n+2|0,n=l+1|0,l=d|0,d=k|0,k=g;;){k=k+-1|0;if(h){g=l+(c<<2)|0;q=d;for(t=f;!(r=a[e+((x[q>>0]|0)<<
-2)>>2]|0,a[l>>2]=a[r>>2],a[l+4>>2]=a[r+4>>2],t=t+-2|0,1>=t>>>0);)q=q+1|0,l=l+8|0;d=d+n|0;q=p}else g=l,q=f;q&&(a[g>>2]=a[a[e+((x[d>>0]|0)<<2)>>2]>>2],g=g+4|0,d=d+1|0);if(k)l=g+(m<<2)|0,d=d+b|0;else break}},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,t,r,u=0,w=0,z=0,v=0,C=0;e=a[(b|0)+60>>2]|0;b=(h|0)/4|0;if(g)for(h=3<f>>>0,c=f+-4|0,l=c>>>2,n=l<<2,p=c-n|0,c=n+4|0,n=l+1|0,l=d|0,d=k|0,k=g;;){k=k+-1|0;if(h){g=l+(c<<2)|0;q=d;for(t=f;!(r=a[e+((x[q>>0]|0)<<2)>>2]|0,a[l>>2]=a[r>>2],a[l+4>>2]=a[r+
-4>>2],a[l+8>>2]=a[r+8>>2],a[l+12>>2]=a[r+12>>2],t=t+-4|0,3>=t>>>0);)q=q+1|0,l=l+16|0;d=d+n|0;t=p}else g=l,t=f;a:do if(t){l=d+1|0;q=a[e+((x[d>>0]|0)<<2)>>2]|0;switch(t|0){case 3:a[g>>2]=a[q>>2];u=g+4|0;w=q+4|0;z=10;break;case 2:u=g;w=q;z=10;break;case 1:v=g;C=q;break;default:q=l;l=g;break a}10==(z|0)&&(z=0,a[u>>2]=a[w>>2],v=u+4|0,C=w+4|0);a[v>>2]=a[C>>2];q=l;l=v+4|0}else q=d,l=g;while(0);if(k)l=l+(m<<2)|0,d=q+b|0;else break}},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,t,r,u=0,w=0,z=0,v=
-0,C=0,A=0,V=0,E=0,J=0,I=0,G=0,L=0,K=0;e=a[(b|0)+60>>2]|0;b=(h|0)/8|0;if(g)for(h=7<f>>>0,c=f+-8|0,l=c>>>3,n=l<<3,p=c-n|0,c=n+8|0,n=l+1|0,l=d|0,d=k|0,k=g;;){k=k+-1|0;if(h){g=l+(c<<2)|0;q=d;for(t=f;!(r=a[e+((x[q>>0]|0)<<2)>>2]|0,a[l>>2]=a[r>>2],a[l+4>>2]=a[r+4>>2],a[l+8>>2]=a[r+8>>2],a[l+12>>2]=a[r+12>>2],a[l+16>>2]=a[r+16>>2],a[l+20>>2]=a[r+20>>2],a[l+24>>2]=a[r+24>>2],a[l+28>>2]=a[r+28>>2],t=t+-8|0,7>=t>>>0);)q=q+1|0,l=l+32|0;d=d+n|0;t=p}else g=l,t=f;a:do if(t){l=d+1|0;q=a[e+((x[d>>0]|0)<<2)>>2]|0;
-switch(t|0){case 7:a[g>>2]=a[q>>2];u=g+4|0;w=q+4|0;z=10;break;case 6:u=g;w=q;z=10;break;case 5:v=g;C=q;z=11;break;case 4:A=g;V=q;z=12;break;case 3:E=g;J=q;z=13;break;case 2:I=g;G=q;z=14;break;case 1:L=g;K=q;break;default:q=l;l=g;break a}10==(z|0)&&(a[u>>2]=a[w>>2],v=u+4|0,C=w+4|0,z=11);11==(z|0)&&(a[v>>2]=a[C>>2],A=v+4|0,V=C+4|0,z=12);12==(z|0)&&(a[A>>2]=a[V>>2],E=A+4|0,J=V+4|0,z=13);13==(z|0)&&(a[E>>2]=a[J>>2],I=E+4|0,G=J+4|0,z=14);14==(z|0)&&(z=0,a[I>>2]=a[G>>2],L=I+4|0,K=G+4|0);a[L>>2]=a[K>>2];
-q=l;l=L+4|0}else q=d,l=g;while(0);if(k)l=l+(m<<2)|0,d=q+b|0;else break}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;c|=0;e|=0;f|=0;g|=0;h|=0;m|=0;k|=0;var l=0,n=0,p=0,q=0,t=0,r=0,w=0,v=0,z=0,Q=0,C=0,A=0,V=0,E=0,J=0,I=0,G=0,L=0,K=0,D=0,F=0,O=0,M=0,T=0,X=0,P=0,N=0,R=0,S=0,ba=0,Y=0,W=0,U=0,ga=0,Z=0,ma=0,da=0,ha=0,aa=0,ca=0,fa=0,ja=0,pa=0,ya=0,oa=0,sa=0,ra=0,ua=0,Ia=0,Da=0,na=0,Na=0,Aa=0,Ca=0,Ga=0,Ea=0,La=0,Ka=0,Qa=0,Wa=0,Va=0,xb=0,Zb=0,eb=0,jb=0,mc=0,pb=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,
-ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,ub=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,ab=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,rb=0,Ua=0,fb=0,Jb=0,Ab=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,lb=0,Hb=0,Wb=0,Lb=0,wb=0,Gb=0,db=0,zb=0,Ob=0,Tb=0,Sb=0,Pb=0,Qb=0;e=u;u=u+384|0;c=e+380|0;l=e+376|0;n=e+372|0;p=e+368|0;q=e+364|0;t=e+360|0;r=e+356|0;w=e+352|0;v=e+348|0;z=e+344|0;Q=e+340|0;C=e+336|0;A=e+332|0;V=e+328|0;E=e+324|0;J=e+320|0;I=e+316|0;G=e+312|0;L=e+308|0;K=e+304|0;D=e+300|0;F=e+296|
-0;O=e+292|0;M=e+288|0;T=e+284|0;X=e+280|0;P=e+276|0;N=e+272|0;R=e+268|0;S=e+264|0;ba=e+260|0;Y=e+256|0;W=e+252|0;U=e+248|0;ga=e+244|0;Z=e+240|0;ma=e+236|0;da=e+232|0;ha=e+228|0;aa=e+224|0;ca=e+220|0;fa=e+216|0;ja=e+212|0;pa=e+208|0;ya=e+204|0;oa=e+200|0;sa=e+196|0;ra=e+192|0;ua=e+188|0;Ia=e+184|0;Da=e+180|0;na=e+176|0;Na=e+172|0;Aa=e+168|0;Ca=e+164|0;Ga=e+160|0;Ea=e+156|0;La=e+152|0;Ka=e+148|0;Qa=e+144|0;Wa=e+140|0;Va=e+136|0;xb=e+132|0;Zb=e+128|0;eb=e+124|0;jb=e+120|0;mc=e+116|0;pb=e+112|0;Ta=e+
-108|0;Ya=e+104|0;Sa=e+100|0;mb=e+96|0;Db=e+92|0;cc=e+88|0;Za=e+84|0;ia=e+80|0;qa=e+76|0;Ja=e+72|0;ea=e+68|0;wa=e+64|0;Ma=e+60|0;xa=e+56|0;$a=e+52|0;la=e+48|0;Ba=e+44|0;va=e+40|0;za=e+36|0;ta=e+32|0;nb=e+28|0;ub=e+24|0;gb=e+20|0;hb=e+16|0;ob=e+12|0;Bb=e+8|0;qb=e+4|0;kb=e;ib=m+f|0;Cb=d+(ib<<2)|0;ab=d+(ib<<1<<2)|0;sb=d+(3*ib<<2)|0;ib=(m<<2)+(3*f|0)|0;m=(18*h|0)/4|0;if((g|f)&3)if(g){tb=0==(f|0);fb=b+68|0;b=g;g=d;d=k;k=Cb;Cb=ab;for(ab=sb;;){a:do if(tb)Hb=g,Wb=d,Lb=k,wb=Cb,Gb=ab;else{sb=f;vb=g;Ua=d;Eb=
-k;rb=Cb;for(Fa=ab;;){Mb=x[Ua+16>>0]|0;Pa=x[Ua+17>>0]|0;switch(sb|0){case 3:db=16;break;case 2:db=21;break;case 1:break;default:switch(b|0){case 3:db=13;break;case 2:db=14;break;case 1:break;default:Kb(a[fb>>2]|0,x[Ua+15>>0]|0,Mb,Pa,ua,Ia,Da),a[Fa+12>>2]=a[ua>>2]|a[Ia>>2]<<8|a[Da>>2]<<16|-16777216,db=13}13==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+11>>0]|0,Mb,Pa,na,Na,Aa),a[rb+12>>2]=a[na>>2]|a[Na>>2]<<8|a[Aa>>2]<<16|-16777216,db=14);14==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+7>>0]|0,Mb,Pa,Ca,Ga,Ea),a[Eb+12>>2]=
-a[Ca>>2]|a[Ga>>2]<<8|a[Ea>>2]<<16|-16777216);Kb(a[fb>>2]|0,x[Ua+3>>0]|0,Mb,Pa,La,Ka,Qa);a[vb+12>>2]=a[La>>2]|a[Ka>>2]<<8|a[Qa>>2]<<16|-16777216;db=16}if(16==(db|0)){db=0;switch(b|0){case 3:db=18;break;case 2:db=19;break;case 1:break;default:Kb(a[fb>>2]|0,x[Ua+14>>0]|0,Mb,Pa,Wa,Va,xb),a[Fa+8>>2]=a[Wa>>2]|a[Va>>2]<<8|a[xb>>2]<<16|-16777216,db=18}18==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+10>>0]|0,Mb,Pa,Zb,eb,jb),a[rb+8>>2]=a[Zb>>2]|a[eb>>2]<<8|a[jb>>2]<<16|-16777216,db=19);19==(db|0)&&(db=0,Kb(a[fb>>2]|0,
-x[Ua+6>>0]|0,Mb,Pa,mc,pb,Ta),a[Eb+8>>2]=a[mc>>2]|a[pb>>2]<<8|a[Ta>>2]<<16|-16777216);Kb(a[fb>>2]|0,x[Ua+2>>0]|0,Mb,Pa,Ya,Sa,mb);a[vb+8>>2]=a[Ya>>2]|a[Sa>>2]<<8|a[mb>>2]<<16|-16777216;db=21}if(21==(db|0)){db=0;switch(b|0){case 3:db=23;break;case 2:db=24;break;case 1:break;default:Kb(a[fb>>2]|0,x[Ua+13>>0]|0,Mb,Pa,Db,cc,Za),a[Fa+4>>2]=a[Db>>2]|a[cc>>2]<<8|a[Za>>2]<<16|-16777216,db=23}23==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+9>>0]|0,Mb,Pa,ia,qa,Ja),a[rb+4>>2]=a[ia>>2]|a[qa>>2]<<8|a[Ja>>2]<<16|-16777216,
-db=24);24==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+5>>0]|0,Mb,Pa,ea,wa,Ma),a[Eb+4>>2]=a[ea>>2]|a[wa>>2]<<8|a[Ma>>2]<<16|-16777216);Kb(a[fb>>2]|0,x[Ua+1>>0]|0,Mb,Pa,xa,$a,la);a[vb+4>>2]=a[xa>>2]|a[$a>>2]<<8|a[la>>2]<<16|-16777216}switch(b|0){case 3:db=28;break;case 2:db=29;break;case 1:break;default:Kb(a[fb>>2]|0,x[Ua+12>>0]|0,Mb,Pa,Ba,va,za),a[Fa>>2]=a[Ba>>2]|a[va>>2]<<8|a[za>>2]<<16|-16777216,db=28}28==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+8>>0]|0,Mb,Pa,ta,nb,ub),a[rb>>2]=a[ta>>2]|a[nb>>2]<<8|a[ub>>2]<<16|-16777216,
-db=29);29==(db|0)&&(db=0,Kb(a[fb>>2]|0,x[Ua+4>>0]|0,Mb,Pa,gb,hb,ob),a[Eb>>2]=a[gb>>2]|a[hb>>2]<<8|a[ob>>2]<<16|-16777216);Kb(a[fb>>2]|0,x[Ua>>0]|0,Mb,Pa,Bb,qb,kb);a[vb>>2]=a[Bb>>2]|a[qb>>2]<<8|a[kb>>2]<<16|-16777216;if(4>sb>>>0){zb=sb;Ob=vb;Tb=Ua;Sb=Eb;Pb=rb;Qb=Fa;break}Pa=vb+16|0;Mb=Eb+16|0;bb=rb+16|0;Ib=Fa+16|0;sb=sb+-4|0;ra=Ua+18|0;if(sb)vb=Pa,Ua=ra,Eb=Mb,rb=bb,Fa=Ib;else{Hb=Pa;Wb=ra;Lb=Mb;wb=bb;Gb=Ib;break a}}Hb=Ob+(zb<<2)|0;Wb=Tb+18|0;Lb=Sb+(zb<<2)|0;wb=Pb+(zb<<2)|0;Gb=Qb+(zb<<2)|0}while(0);
-if(5>b>>>0){db=35;break}if(b=b+-4|0)g=Hb+(ib<<2)|0,d=Wb+m|0,k=Lb+(ib<<2)|0,Cb=wb+(ib<<2)|0,ab=Gb+(ib<<2)|0;else{db=35;break}}35==(db|0)&&(u=e)}else u=e;else{if(!(3>=g>>>0))for(h=f>>>2,Xa=b+68|0,Fa=h<<2,Pa=Fa+ib|0,Eb=Fa+ib|0,vb=Fa+ib|0,tb=Fa+ib|0,Fa=(18*h|0)+m|0,bb=d,Ib=g,Mb=k,rb=Cb,Ua=ab,fb=sb;;){Jb=h;Ab=bb;yb=Mb;cb=rb;gc=Ua;for(Ub=fb;;)if(Fb=x[yb+16>>0]|0,lb=x[yb+17>>0]|0,Kb(a[Xa>>2]|0,x[yb>>0]|0,Fb,lb,c,l,n),a[Ab>>2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+1>>0]|0,Fb,lb,p,q,
-t),a[Ab+4>>2]=a[p>>2]|a[q>>2]<<8|a[t>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+2>>0]|0,Fb,lb,r,w,v),a[Ab+8>>2]=a[r>>2]|a[w>>2]<<8|a[v>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+3>>0]|0,Fb,lb,z,Q,C),a[Ab+12>>2]=a[z>>2]|a[Q>>2]<<8|a[C>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+4>>0]|0,Fb,lb,A,V,E),a[cb>>2]=a[A>>2]|a[V>>2]<<8|a[E>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+5>>0]|0,Fb,lb,J,I,G),a[cb+4>>2]=a[J>>2]|a[I>>2]<<8|a[G>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+6>>0]|0,Fb,lb,L,K,D),a[cb+8>>2]=a[L>>2]|a[K>>2]<<8|a[D>>2]<<
-16|-16777216,Kb(a[Xa>>2]|0,x[yb+7>>0]|0,Fb,lb,F,O,M),a[cb+12>>2]=a[F>>2]|a[O>>2]<<8|a[M>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+8>>0]|0,Fb,lb,T,X,P),a[gc>>2]=a[T>>2]|a[X>>2]<<8|a[P>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+9>>0]|0,Fb,lb,N,R,S),a[gc+4>>2]=a[N>>2]|a[R>>2]<<8|a[S>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+10>>0]|0,Fb,lb,ba,Y,W),a[gc+8>>2]=a[ba>>2]|a[Y>>2]<<8|a[W>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+11>>0]|0,Fb,lb,U,ga,Z),a[gc+12>>2]=a[U>>2]|a[ga>>2]<<8|a[Z>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+12>>
-0]|0,Fb,lb,ma,da,ha),a[Ub>>2]=a[ma>>2]|a[da>>2]<<8|a[ha>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+13>>0]|0,Fb,lb,aa,ca,fa),a[Ub+4>>2]=a[aa>>2]|a[ca>>2]<<8|a[fa>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+14>>0]|0,Fb,lb,ja,pa,ya),a[Ub+8>>2]=a[ja>>2]|a[pa>>2]<<8|a[ya>>2]<<16|-16777216,Kb(a[Xa>>2]|0,x[yb+15>>0]|0,Fb,lb,oa,sa,ra),a[Ub+12>>2]=a[oa>>2]|a[sa>>2]<<8|a[ra>>2]<<16|-16777216,Jb=Jb+-1|0)Ab=Ab+16|0,yb=yb+18|0,cb=cb+16|0,gc=gc+16|0,Ub=Ub+16|0;else break;Ib=Ib+-4|0;if(3>=Ib>>>0)break;else bb=bb+(Pa<<2)|0,Mb=
-Mb+Fa|0,rb=rb+(Eb<<2)|0,Ua=Ua+(vb<<2)|0,fb=fb+(tb<<2)|0}u=e}},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,t,r,w,v,z,Q,C,A,V,E,J,I,G,L,K,D,F,O,M,T,N,P,R,S,Y,ba,W,U,Z,ga,da,ma,aa,ha,ca,fa,ja,pa,ya,ra,oa,sa,Aa,ua,Ia,Da,na,Na,Ka,Ca,Ga=0;e=u;u=u+192|0;c=e+188|0;l=e+184|0;n=e+180|0;p=e+176|0;q=e+172|0;t=e+168|0;r=e+164|0;w=e+160|0;v=e+156|0;z=e+152|0;Q=e+148|0;C=e+144|0;A=e+140|0;V=e+136|0;E=e+132|0;J=e+128|0;I=e+124|0;G=e+120|0;L=e+116|0;K=e+112|0;D=e+108|0;F=e+104|0;O=e+100|
-0;M=e+96|0;T=e+92|0;N=e+88|0;P=e+84|0;R=e+80|0;S=e+76|0;Y=e+72|0;ba=e+68|0;W=e+64|0;U=e+60|0;Z=e+56|0;ga=e+52|0;da=e+48|0;ma=e+44|0;aa=e+40|0;ha=e+36|0;ca=e+32|0;fa=e+28|0;ja=e+24|0;pa=e+20|0;ya=e+16|0;ra=e+12|0;oa=e+8|0;sa=e+4|0;Aa=e;ua=d+(m+f<<2)|0;Ia=(m<<1)+f|0;m=(10*(h|0)|0)/4|0;if(g&1|f&3)if(g){Na=0==(f|0);Ca=b+68|0;b=g;g=k;k=d;for(d=ua;;){a:do if(Na)c=k,F=g,h=d;else for(ua=1==(b|0),Da=f,na=k,Ka=d;;){d=x[g+8>>0]|0;M=x[g+9>>0]|0;switch(Da|0){case 3:Ga=15;break;case 2:Ga=18;break;case 1:break;
-default:ua||(Kb(a[Ca>>2]|0,x[g+7>>0]|0,d,M,T,N,P),a[Ka+12>>2]=a[T>>2]|a[N>>2]<<8|a[P>>2]<<16|-16777216),Kb(a[Ca>>2]|0,x[g+3>>0]|0,d,M,R,S,Y),a[na+12>>2]=a[R>>2]|a[S>>2]<<8|a[Y>>2]<<16|-16777216,Ga=15}15==(Ga|0)&&(ua||(Kb(a[Ca>>2]|0,x[g+6>>0]|0,d,M,ba,W,U),a[Ka+8>>2]=a[ba>>2]|a[W>>2]<<8|a[U>>2]<<16|-16777216),Kb(a[Ca>>2]|0,x[g+2>>0]|0,d,M,Z,ga,da),a[na+8>>2]=a[Z>>2]|a[ga>>2]<<8|a[da>>2]<<16|-16777216,Ga=18);18==(Ga|0)&&(Ga=0,ua||(Kb(a[Ca>>2]|0,x[g+5>>0]|0,d,M,ma,aa,ha),a[Ka+4>>2]=a[ma>>2]|a[aa>>2]<<
-8|a[ha>>2]<<16|-16777216),Kb(a[Ca>>2]|0,x[g+1>>0]|0,d,M,ca,fa,ja),a[na+4>>2]=a[ca>>2]|a[fa>>2]<<8|a[ja>>2]<<16|-16777216);ua||(Kb(a[Ca>>2]|0,x[g+4>>0]|0,d,M,pa,ya,ra),a[Ka>>2]=a[pa>>2]|a[ya>>2]<<8|a[ra>>2]<<16|-16777216);Kb(a[Ca>>2]|0,x[g>>0]|0,d,M,oa,sa,Aa);a[na>>2]=a[oa>>2]|a[sa>>2]<<8|a[Aa>>2]<<16|-16777216;d=(M=4>Da>>>0)?Ka+(Da<<2)|0:Ka+16|0;O=M?na+(Da<<2)|0:na+16|0;F=g+10|0;if(Da=M?0:Da+-4|0)g=F,na=O,Ka=d;else{c=O;h=d;break a}}while(0);if(3>b>>>0){Ga=26;break}if(b=b+-2|0)g=F+m|0,k=c+(Ia<<2)|
-0,d=h+(Ia<<2)|0;else{Ga=26;break}}26==(Ga|0)&&(u=e)}else u=e;else{if(!(1>=g>>>0))for(h=f>>>2,b=b+68|0,Da=h<<2,na=Da+Ia|0,Na=Da+Ia|0,Da=(10*h|0)+m|0,Ka=d,d=g,g=k,Ca=ua;;){m=h;k=Ka;Ia=g;for(f=Ca;;)if(T=x[Ia+8>>0]|0,N=x[Ia+9>>0]|0,Kb(a[b>>2]|0,x[Ia>>0]|0,T,N,c,l,n),a[k>>2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,Kb(a[b>>2]|0,x[Ia+1>>0]|0,T,N,p,q,t),a[k+4>>2]=a[p>>2]|a[q>>2]<<8|a[t>>2]<<16|-16777216,Kb(a[b>>2]|0,x[Ia+2>>0]|0,T,N,r,w,v),a[k+8>>2]=a[r>>2]|a[w>>2]<<8|a[v>>2]<<16|-16777216,Kb(a[b>>2]|0,
-x[Ia+3>>0]|0,T,N,z,Q,C),a[k+12>>2]=a[z>>2]|a[Q>>2]<<8|a[C>>2]<<16|-16777216,Kb(a[b>>2]|0,x[Ia+4>>0]|0,T,N,A,V,E),a[f>>2]=a[A>>2]|a[V>>2]<<8|a[E>>2]<<16|-16777216,Kb(a[b>>2]|0,x[Ia+5>>0]|0,T,N,J,I,G),a[f+4>>2]=a[J>>2]|a[I>>2]<<8|a[G>>2]<<16|-16777216,Kb(a[b>>2]|0,x[Ia+6>>0]|0,T,N,L,K,D),a[f+8>>2]=a[L>>2]|a[K>>2]<<8|a[D>>2]<<16|-16777216,Kb(a[b>>2]|0,x[Ia+7>>0]|0,T,N,F,O,M),a[f+12>>2]=a[F>>2]|a[O>>2]<<8|a[M>>2]<<16|-16777216,m=m+-1|0)k=k+16|0,Ia=Ia+10|0,f=f+16|0;else break;d=d+-2|0;if(1>=d>>>0)break;
-else Ka=Ka+(na<<2)|0,g=g+Da|0,Ca=Ca+(Na<<2)|0}u=e}},function(b,d,c,e,f,g,h,m,k){f|=0;h|=0;m|=0;var l,n,p,q,t,r,w,v,z,Q,C,A,V,E,J,I,G,L,K,D,F,O,M,T,N,P,R,S,Y,ba,W=0;e=u;u=u+96|0;c=e+80|0;l=e+76|0;n=e+72|0;p=e+68|0;q=e+64|0;t=e+60|0;r=e+56|0;w=e+52|0;v=e+48|0;z=e+44|0;Q=e+40|0;C=e+36|0;A=e+32|0;V=e+28|0;E=e+24|0;J=e+20|0;I=e+16|0;G=e+12|0;L=e+8|0;K=e+4|0;D=e;F=f>>>2;O=0==(F|0);M=f&3;f=0==(M|0);T=(b|0)+68|0;b=6*F|0;N=F<<2;P=d|0;d=g|0;for(g=k|0;;){if(O)k=g;else{k=g+b|0;R=F;for(S=P;;)if(Y=x[g+4>>0]|0,
-ba=x[g+5>>0]|0,Kb(a[T>>2]|0,x[g>>0]|0,Y,ba,c,l,n),a[S>>2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,Kb(a[T>>2]|0,x[g+1>>0]|0,Y,ba,p,q,t),a[S+4>>2]=a[p>>2]|a[q>>2]<<8|a[t>>2]<<16|-16777216,Kb(a[T>>2]|0,x[g+2>>0]|0,Y,ba,r,w,v),a[S+8>>2]=a[r>>2]|a[w>>2]<<8|a[v>>2]<<16|-16777216,Kb(a[T>>2]|0,x[g+3>>0]|0,Y,ba,z,Q,C),a[S+12>>2]=a[z>>2]|a[Q>>2]<<8|a[C>>2]<<16|-16777216,R=R+-1|0)S=S+16|0,g=g+6|0;else break;P=P+(N<<2)|0}if(f)S=P;else{g=x[k+4>>0]|0;S=x[k+5>>0]|0;switch(M|0){case 3:Kb(a[T>>2]|0,x[k+2>>0]|0,g,
-S,A,V,E);a[P+8>>2]=a[A>>2]|a[V>>2]<<8|a[E>>2]<<16|-16777216;W=9;break;case 2:W=9;break;case 1:W=10}9==(W|0)&&(Kb(a[T>>2]|0,x[k+1>>0]|0,g,S,J,I,G),a[P+4>>2]=a[J>>2]|a[I>>2]<<8|a[G>>2]<<16|-16777216,W=10);10==(W|0)&&(W=0,Kb(a[T>>2]|0,x[k>>0]|0,g,S,L,K,D),a[P>>2]=a[L>>2]|a[K>>2]<<8|a[D>>2]<<16|-16777216);S=P+(M<<2)|0;k=k+6|0}if(d=d+-1|0)P=S+(m<<2)|0,g=k+h|0;else break}u=e},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;m|=0;k|=0;var l,n,p,q,t,r,w,v,z,Q,C,A,V,E,J,I,G,L,K,D,F,O,M,T,N,P,S,R,Y,ba,W,U,Z,
-ga,da,ma,aa,ha,ca;e=u;u=u+112|0;c=e+104|0;l=e+100|0;n=e+96|0;p=e+92|0;q=e+88|0;t=e+84|0;r=e+80|0;w=e+76|0;v=e+72|0;z=e+68|0;Q=e+64|0;C=e+60|0;A=e+56|0;V=e+52|0;E=e+48|0;J=e+44|0;I=e+40|0;G=e+36|0;L=e+32|0;K=e+28|0;D=e+24|0;F=e+20|0;O=e+16|0;M=e+12|0;T=e+8|0;N=e+4|0;P=e;S=(m<<1)+f|0;R=6*((h|0)/2|0)|0;if(1<g>>>0){h=1<f>>>0;Y=b+68|0;ba=f+-2|0;W=ba>>>1;U=W<<1;Z=ba-U|0;ba=(6*W|0)+6|0;W=U+2|0;U=d;ga=g;da=k;for(ma=d+(m+f<<2)|0;;){if(h){m=ma+(W<<2)|0;k=f;aa=U;for(d=da;!(ha=x[d+4>>0]|0,ca=x[d+5>>0]|0,Kb(a[Y>>
-2]|0,x[d>>0]|0,ha,ca,c,l,n),a[aa>>2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,Kb(a[Y>>2]|0,x[d+1>>0]|0,ha,ca,p,q,t),a[aa+4>>2]=a[p>>2]|a[q>>2]<<8|a[t>>2]<<16|-16777216,Kb(a[Y>>2]|0,x[d+2>>0]|0,ha,ca,r,w,v),a[ma>>2]=a[r>>2]|a[w>>2]<<8|a[v>>2]<<16|-16777216,Kb(a[Y>>2]|0,x[d+3>>0]|0,ha,ca,z,Q,C),a[ma+4>>2]=a[z>>2]|a[Q>>2]<<8|a[C>>2]<<16|-16777216,k=k+-2|0,1>=k>>>0);)aa=aa+8|0,d=d+6|0,ma=ma+8|0;d=Z;U=U+(W<<2)|0;da=da+ba|0}else d=f,m=ma;1==(d|0)?(ma=x[da+4>>0]|0,d=x[da+5>>0]|0,Kb(a[Y>>2]|0,x[da>>0]|0,
-ma,d,A,V,E),a[U>>2]=a[A>>2]|a[V>>2]<<8|a[E>>2]<<16|-16777216,Kb(a[Y>>2]|0,x[da+2>>0]|0,ma,d,J,I,G),a[m>>2]=a[J>>2]|a[I>>2]<<8|a[G>>2]<<16|-16777216,ma=U+4|0,da=da+6|0,m=m+4|0):ma=U;d=ma+(S<<2)|0;ma=da+R|0;ga=ga+-2|0;if(1>=ga>>>0)break;else U=d,da=ma,ma=m+(S<<2)|0}h=d;n=g&1;l=ma}else h=d,n=g,l=k;if(1==(n|0)){if(1<f>>>0){n=b+68|0;k=f+-2|0;g=k>>>1;d=g<<1;c=(6*g|0)+6|0;g=d+2|0;S=h;for(m=l;!(ma=x[m+4>>0]|0,da=x[m+5>>0]|0,Kb(a[n>>2]|0,x[m>>0]|0,ma,da,L,K,D),a[S>>2]=a[L>>2]|a[K>>2]<<8|a[D>>2]<<16|-16777216,
-Kb(a[n>>2]|0,x[m+1>>0]|0,ma,da,F,O,M),a[S+4>>2]=a[F>>2]|a[O>>2]<<8|a[M>>2]<<16|-16777216,f=f+-2|0,1>=f>>>0);)S=S+8|0,m=m+6|0;L=k-d|0;g=h+(g<<2)|0;K=l+c|0}else L=f,g=h,K=l;1==(L|0)&&(Kb(a[b+68>>2]|0,x[K>>0]|0,x[K+4>>0]|0,x[K+5>>0]|0,T,N,P),a[g>>2]=a[T>>2]|a[N>>2]<<8|a[P>>2]<<16|-16777216)}u=e},function(b,d,c,e,f,g,h,m,k){f|=0;m|=0;var l,n,p,q,t,r,w,v,z,Q,C,A,V,E,J,I,G;e=u;u=u+48|0;c=e+32|0;l=e+28|0;n=e+24|0;p=e+20|0;q=e+16|0;t=e+12|0;r=e+8|0;w=e+4|0;v=e;z=(h|0)<<1;h=f>>>1;Q=0==(h|0);C=0==(f&1|0);f=
-(b|0)+68|0;b=h<<2;A=h<<1;V=d|0;d=g|0;for(g=k|0;;){if(Q)k=g;else{k=g+b|0;E=h;for(J=V;;)if(I=x[g+2>>0]|0,G=x[g+3>>0]|0,Kb(a[f>>2]|0,x[g>>0]|0,I,G,c,l,n),a[J>>2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,Kb(a[f>>2]|0,x[g+1>>0]|0,I,G,p,q,t),a[J+4>>2]=a[p>>2]|a[q>>2]<<8|a[t>>2]<<16|-16777216,E=E+-1|0)g=g+4|0,J=J+8|0;else break;V=V+(A<<2)|0}C||(Kb(a[f>>2]|0,x[k>>0]|0,x[k+2>>0]|0,x[k+3>>0]|0,r,w,v),a[V>>2]=a[r>>2]|a[w>>2]<<8|a[v>>2]<<16|-16777216,V=V+4|0,k=k+4|0);if(d=d+-1|0)V=V+(m<<2)|0,g=k+z|0;else break}u=
-e},function(b,d,c,e,f,g,h,m,k){b|=0;d|=0;f|=0;g|=0;h|=0;m|=0;k|=0;var l,n,p,q,t,r,w,v,z,Q,C,A,V,D,J,I,G,L,K,F,N,O,M;e=u;u=u+48|0;c=e+32|0;l=e+28|0;n=e+24|0;p=e+20|0;q=e+16|0;t=e+12|0;r=e+8|0;w=e+4|0;v=e;if(1<g>>>0){z=m+f|0;Q=(h|0)/2|0;h=b+68|0;C=f+1+(m<<1)|0;A=f+-1|0;V=f<<2;D=g+-2|0;J=D>>>1;I=J<<1;G=Q<<2;L=(E(J,G+V|0)|0)+G+V|0;G=(E(J,z)|0)+m+f<<1;m=A+C|0;J=A+C|0;C=V+(Q<<2)|0;Q=d;V=g;A=k;for(g=d+(z<<2)|0;;){z=f;K=Q;F=A;for(N=g;;)if(O=x[F+2>>0]|0,M=x[F+3>>0]|0,Kb(a[h>>2]|0,x[F>>0]|0,O,M,c,l,n),a[K>>
-2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,Kb(a[h>>2]|0,x[F+1>>0]|0,O,M,p,q,t),a[N>>2]=a[p>>2]|a[q>>2]<<8|a[t>>2]<<16|-16777216,z=z+-1|0)K=K+4|0,F=F+4|0,N=N+4|0;else break;V=V+-2|0;if(1>=V>>>0)break;else Q=Q+(m<<2)|0,A=A+C|0,g=g+(J<<2)|0}d=d+(G<<2)|0;D=D-I|0;k=k+L|0}else D=g;if(1==(D|0))for(D=b+68|0,b=f,f=d,d=k;;)if(Kb(a[D>>2]|0,x[d>>0]|0,x[d+2>>0]|0,x[d+3>>0]|0,r,w,v),a[f>>2]=a[r>>2]|a[w>>2]<<8|a[v>>2]<<16|-16777216,b=b+-1|0)f=f+4|0,d=d+4|0;else break;u=e},function(b,d,c,e,f,g,h,m,k){f|=0;var l,
-n,p,q,t;e=u;u=u+16|0;c=e+8|0;l=e+4|0;n=e;p=(b|0)+68|0;b=f+(m|0)|0;m=3*(f+(h|0)|0)|0;h=d|0;d=k|0;for(k=g|0;;){g=f;q=h;for(t=d;;)if(Kb(a[p>>2]|0,x[t>>0]|0,x[t+1>>0]|0,x[t+2>>0]|0,c,l,n),a[q>>2]=a[c>>2]|a[l>>2]<<8|a[n>>2]<<16|-16777216,g=g+-1|0)q=q+4|0,t=t+3|0;else break;if(k=k+-1|0)h=h+(b<<2)|0,d=d+m|0;else break}u=e},function(b,d,c,e,f,g,h,m,k){f|=0;g|=0;m|=0;var l,n,p,q,y,r,w,v,z,Q;e=u;u=u+32|0;c=e+20|0;l=e+16|0;n=e+12|0;p=e+8|0;q=e+4|0;y=e;r=3*(h|0)|0;if(g)for(h=0==(f|0),w=(b|0)+72|0,b=3*f|0,v=k|
-0,k=d|0,d=g;;){d=d+-1|0;if(h)g=v;else{g=v+b|0;z=f;for(Q=k;;){z=z+-1|0;var C=a[w>>2]|0,A=x[v>>0]|0,V=t[v+1>>0]|0,E=t[v+2>>0]|0,J=c,I=l,G=n,C=C|0,I=I|0,G=G|0,L,K;L=100*+((A|0)>>>0)/255;8.855999946594238>L?(A=C+20|0,K=L*+W[A>>2]/903.2919921875,W[I>>2]=K,A=K/+W[A>>2]*7.7870001792907715+.13793103396892548):(K=(L+16)/116,W[I>>2]=K*K*K*+W[C+20>>2],A=K);K=A+ +(V|0)/500;L=+W[C+16>>2];V=.2069000005722046>K?L*(K+-.1379300057888031)/7.7870001792907715:K*K*L*K;W[(J|0)>>2]=V;V=A-+(E|0)/200;A=+W[C+24>>2];W[G>>2]=
-.2069000005722046>V?A*(V+-.1379300057888031)/7.7870001792907715:V*V*A*V;var C=a[w>>2]|0,E=+W[c>>2],D=+W[l>>2],F=+W[n>>2],J=p,G=q,V=y,C=C|0,E=+E,D=+D,F=+F,J=J|0,G=G|0,V=V|0,O,M;L=+W[C+28>>2]*E+ +W[C+32>>2]*D+ +W[C+36>>2]*F;K=+W[C+40>>2]*E+ +W[C+44>>2]*D+ +W[C+48>>2]*F;O=+W[C+52>>2]*E+ +W[C+56>>2]*D+ +W[C+60>>2]*F;F=+W[C+88>>2];D=L>F?L:F;L=+W[C+92>>2];E=K>L?K:L;K=+W[C+96>>2];A=O>K?O:K;O=+W[C+64>>2];I=+W[C+68>>2];M=+W[C+72>>2];D=~~(((D<O?D:O)-F)/+W[C+4>>2]);F=a[C>>2]|0;F=+W[C+112+(((F|0)<(D|0)?F:D)<<
-2)>>2];a[J>>2]=~~(F+(0<F?.5:-.5))>>>0;D=~~(((E<I?E:I)-L)/+W[C+8>>2]);F=a[C>>2]|0;L=+W[C+6116+(((F|0)<(D|0)?F:D)<<2)>>2];a[G>>2]=~~(L+(0<L?.5:-.5))>>>0;D=~~(((A<M?A:M)-K)/+W[C+12>>2]);F=a[C>>2]|0;K=+W[C+12120+(((F|0)<(D|0)?F:D)<<2)>>2];a[V>>2]=~~(K+(0<K?.5:-.5))>>>0;D=a[J>>2]|0;F=a[C+76>>2]|0;a[J>>2]=D>>>0<F>>>0?D:F;F=a[G>>2]|0;D=a[C+80>>2]|0;a[G>>2]=F>>>0<D>>>0?F:D;D=a[V>>2]|0;F=a[C+84>>2]|0;a[V>>2]=D>>>0<F>>>0?D:F;a[Q>>2]=a[p>>2]|a[q>>2]<<8|a[y>>2]<<16|-16777216;if(z)Q=Q+4|0,v=v+3|0;else break}k=
-k+(f<<2)|0}if(d)v=g+r|0,k=k+(m<<2)|0;else break}u=e},Kh,Kh,Kh,Kh,Kh],rb=[Hf,function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,t,r,H=0,x,z=0,v=0,C=0,A=0,V=0,D=0,J,I,G,L,K,F,S,O,M,T,X;f=u;u=u+32|0;g=f+16|0;h=f+8|0;m=f;k=f+24|0;l=f+20|0;n=a[b>>2]|0;p=a[b+52>>2]|0;q=eb(Og(n)|0)|0;if(!q)return t=a[n+628>>2]|0,r=Bc(n)|0,a[m>>2]=136922,Y(t,r,154321,m),u=f,0;$c(q,0,Og(n)|0);a[h>>2]=k;Pd(n,322,h)|0;a[g>>2]=l;Pd(n,323,g)|0;a:do switch(N[b+28>>1]|0){case 5:case 1:switch(w[b+30>>1]|0){case 6:case 2:H=
-2;x=17;break a;case 7:case 3:z=3;x=16;break a;case 8:case 4:z=1;x=16;break a;default:H=0;x=17;break a}case 6:case 2:switch(w[b+30>>1]|0){case 5:case 1:H=2;x=17;break a;case 7:case 3:z=1;x=16;break a;case 8:case 4:z=3;x=16;break a;default:H=0;x=17;break a}case 7:case 3:switch(w[b+30>>1]|0){case 5:case 1:z=3;x=16;break a;case 8:case 4:H=2;x=17;break a;case 6:case 2:z=1;x=16;break a;default:H=0;x=17;break a}case 8:case 4:switch(w[b+30>>1]|0){case 5:case 1:z=1;x=16;break a;case 7:case 3:H=2;x=17;break a;
-case 6:case 2:z=3;x=16;break a;default:H=0;x=17;break a}default:H=0,x=17}while(0);16==(x|0)?(g=a[k>>2]|0,v=z,C=g,A=1,V=0-(g+c)|0,D=e+-1|0):17==(x|0)&&(x=a[k>>2]|0,v=H,C=x,A=0,V=c-x|0,D=0);x=b+88|0;H=((a[x>>2]|0)>>>0)%(C>>>0)|0;g=C-H|0;C=H+V|0;if(z=0==(e|0))b=1;else for(h=b+84|0,m=b+4|0,r=0==(c|0),t=b+26|0,J=1,I=0,G=D;;){D=a[l>>2]|0;L=a[h>>2]|0;K=D-(((L+I|0)>>>0)%(D>>>0)|0)|0;D=(K+I|0)>>>0>e>>>0?e-I|0:K;a:do if(r)K=J;else for(K=E(G,c)|0,F=L,L=a[x>>2]|0,S=H,O=C,M=g,T=0;;){if(-1==(sd(n,q,L,F+I|0,0,0)|
-0)&&0!=(a[m>>2]|0)){K=0;break a}X=(((a[h>>2]|0)+I|0)>>>0)%((a[l>>2]|0)>>>0)|0;F=E(tg(n)|0,X)|0;X=(E(N[t>>1]|0,S)|0)+F|0;(T+M|0)>>>0>c>>>0&&(F=c-T|0,S=M=(a[k>>2]|0)-F|0,O=M+V|0,M=F);Ii[p&31](b,d+(T+K<<2)|0,T,G,M,D,S,O,q+X|0);X=M+T|0;if(X>>>0>=c>>>0){K=J;break a}F=a[h>>2]|0;L=M+L|0;S=0;O=V;M=a[k>>2]|0;T=X}while(0);I=D+I|0;if(I>>>0>=e>>>0){b=K;break}else J=K,G=(A?0-D|0:D)+G|0}ja(q);if(0==(v&2|0)|z)return u=f,b|0;z=c+-1|0;v=0;do{q=E(v,c)|0;G=z+q|0;if((q|0)<(G|0)){A=d+(q<<2)|0;q=d+(G<<2)|0;do G=a[A>>2]|
-0,a[A>>2]=a[q>>2],a[q>>2]=G,A=A+4|0,q=q+-4|0;while(A>>>0<q>>>0)}v=v+1|0}while((v|0)!=(e|0));u=f;return b|0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,t=0,r=0,H=0,x=0,z=0,v=0,C,A,V,D,J,I,G,L;f=u;u=u+48|0;g=f+24|0;h=f;m=f+28|0;k=f+32|0;l=a[b>>2]|0;n=a[b+52>>2]|0;p=a[b+16>>2]|0;a[h>>2]=f+34;a[h+4>>2]=k;ne(l,530,h)|0;if(!(w[k>>1]|0))return h=a[l+628>>2]|0,Y(h,Bc(l)|0,137155,f+8|0),u=f,0;h=eb(se(l)|0)|0;if(!h)return q=a[l+628>>2]|0,Y(q,Bc(l)|0,137190,f+16|0),u=f,0;$c(h,0,se(l)|0);a:do switch(N[b+
-28>>1]|0){case 5:case 1:switch(w[b+30>>1]|0){case 6:case 2:t=2;x=H=r=0;break a;case 7:case 3:z=3;v=18;break a;case 8:case 4:z=1;v=18;break a;default:x=H=r=t=0;break a}case 6:case 2:switch(w[b+30>>1]|0){case 5:case 1:t=2;x=H=r=0;break a;case 7:case 3:z=1;v=18;break a;case 8:case 4:z=3;v=18;break a;default:x=H=r=t=0;break a}case 7:case 3:switch(w[b+30>>1]|0){case 5:case 1:z=3;v=18;break a;case 8:case 4:t=2;x=H=r=0;break a;case 6:case 2:z=1;v=18;break a;default:x=H=r=t=0;break a}case 8:case 4:switch(w[b+
-30>>1]|0){case 5:case 1:z=1;v=18;break a;case 7:case 3:t=2;x=H=r=0;break a;case 6:case 2:z=3;v=18;break a;default:x=H=r=t=0;break a}default:x=H=r=t=0}while(0);18==(v|0)&&(t=z,r=1,H=0-(c<<1)|0,x=e+-1|0);a[g>>2]=m;ne(l,278,g)|0;g=Pe(l)|0;z=p>>>0>c>>>0?p-c|0:0;p=b+4|0;v=0==(e|0);a:do if(v)q=1;else if(q=b+84|0,C=b+88|0,A=b+26|0,r)for(V=0,D=x;;){J=a[m>>2]|0;I=(a[q>>2]|0)+V|0;G=J-((I>>>0)%(J>>>0)|0)|0;J=(G+V|0)>>>0>e>>>0?e-V|0:G;G=N[k>>1]|0;L=(J>>>0)%(G>>>0)|0;I=Pc(l,I,0)|0;if(-1==(Vc(l,I,h,E(J+(0==(L|
-0)?0:G-L|0)+((((a[q>>2]|0)+V|0)>>>0)%((a[m>>2]|0)>>>0)|0)|0,g)|0)|0)&&0!=(a[p>>2]|0)){q=0;break a}L=E((((a[q>>2]|0)+V|0)>>>0)%((a[m>>2]|0)>>>0)|0,g)|0;G=d+((E(D,c)|0)<<2)|0;I=h+((E(N[A>>1]|0,a[C>>2]|0)|0)+L)|0;Ii[n&31](b,G,0,D,c,J,z,H,I);V=J+V|0;if(V>>>0>=e>>>0){q=1;break}else D=D-J|0}else for(D=0,V=x;;){J=a[m>>2]|0;I=(a[q>>2]|0)+D|0;G=J-((I>>>0)%(J>>>0)|0)|0;J=(G+D|0)>>>0>e>>>0?e-D|0:G;G=N[k>>1]|0;L=(J>>>0)%(G>>>0)|0;I=Pc(l,I,0)|0;if(-1==(Vc(l,I,h,E(J+(0==(L|0)?0:G-L|0)+((((a[q>>2]|0)+D|0)>>>0)%
-((a[m>>2]|0)>>>0)|0)|0,g)|0)|0)&&0!=(a[p>>2]|0)){q=0;break a}L=E((((a[q>>2]|0)+D|0)>>>0)%((a[m>>2]|0)>>>0)|0,g)|0;G=d+((E(V,c)|0)<<2)|0;I=h+((E(N[A>>1]|0,a[C>>2]|0)|0)+L)|0;Ii[n&31](b,G,0,V,c,J,z,H,I);D=J+D|0;if(D>>>0>=e>>>0){q=1;break}else V=J+V|0}while(0);if(!(0==(t&2|0)|v)){v=c+-1|0;t=0;do{H=E(t,c)|0;z=v+H|0;if((H|0)<(z|0)){b=d+(H<<2)|0;H=d+(z<<2)|0;do z=a[b>>2]|0,a[b>>2]=a[H>>2],a[H>>2]=z,b=b+4|0,H=H+-4|0;while(b>>>0<H>>>0)}t=t+1|0}while((t|0)!=(e|0))}ja(h);u=f;return q|0},function(b,d,c,e){b|=
-0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,t,r=0,H,x,z,v=0,C,A=0,V=0,D=0,J=0,I=0,G=0,L,K,F,S,O,M,T,X,P,R,W,U,ba,Z;f=u;u=u+48|0;g=f+24|0;h=f+16|0;m=f+8|0;k=f+32|0;l=f+28|0;n=a[b>>2]|0;p=a[b+52>>2]|0;q=a[b+12>>2]|0;t=Og(n)|0;if(0!=(t|0)&&(r=0!=(q|0),q=E(r?4:3,t)|0,0!=(q|0))){H=eb(q)|0;if(!H)return x=a[n+628>>2]|0,z=Bc(n)|0,a[m>>2]=136922,Y(x,z,154321,m),u=f,0;$c(H,0,q);q=H+t|0;m=H+(t<<1)|0;z=r?H+(3*t|0)|0:0;a[h>>2]=k;Pd(n,322,h)|0;a[g>>2]=l;Pd(n,323,g)|0;a:do switch(N[b+28>>1]|0){case 5:case 1:switch(w[b+
-30>>1]|0){case 6:case 2:v=2;C=20;break a;case 7:case 3:A=3;C=19;break a;case 8:case 4:A=1;C=19;break a;default:v=0;C=20;break a}case 6:case 2:switch(w[b+30>>1]|0){case 5:case 1:v=2;C=20;break a;case 7:case 3:A=1;C=19;break a;case 8:case 4:A=3;C=19;break a;default:v=0;C=20;break a}case 7:case 3:switch(w[b+30>>1]|0){case 5:case 1:A=3;C=19;break a;case 8:case 4:v=2;C=20;break a;case 6:case 2:A=1;C=19;break a;default:v=0;C=20;break a}case 8:case 4:switch(w[b+30>>1]|0){case 5:case 1:A=1;C=19;break a;case 7:case 3:v=
-2;C=20;break a;case 6:case 2:A=3;C=19;break a;default:v=0;C=20;break a}default:v=0,C=20}while(0);19==(C|0)?(g=a[k>>2]|0,V=A,D=1,J=g,I=0-(g+c)|0,G=e+-1|0):20==(C|0)&&(C=a[k>>2]|0,V=v,D=0,J=C,I=c-C|0,G=0);switch(N[b+32>>1]|0){case 3:case 1:case 0:L=1;F=K=H;break;default:L=3,K=q,F=m}m=b+88|0;q=((a[m>>2]|0)>>>0)%(J>>>0)|0;C=J-q|0;J=q+I|0;if(v=0==(e|0))b=1;else for(g=b+84|0,A=b+4|0,h=0==(c|0),t=1==(L|0),x=L&65535,L=b+26|0,S=1,O=0,M=G;;){G=a[l>>2]|0;T=a[g>>2]|0;X=G-(((T+O|0)>>>0)%(G>>>0)|0)|0;G=(X+O|0)>>>
-0>e>>>0?e-O|0:X;a:do if(h)X=S;else for(X=E(M,c)|0,P=T,T=a[m>>2]|0,R=q,W=J,U=C,ba=0;;){if(-1==(sd(n,H,T,P+O|0,0,0)|0)&&0!=(a[A>>2]|0)){X=0;break a}if(!t){if(-1==(sd(n,K,T,(a[g>>2]|0)+O|0,0,1)|0)&&0!=(a[A>>2]|0)){X=0;break a}if(-1==(sd(n,F,T,(a[g>>2]|0)+O|0,0,2)|0)&&0!=(a[A>>2]|0)){X=0;break a}}if(r&&-1==(sd(n,z,T,(a[g>>2]|0)+O|0,0,x)|0)&&0!=(a[A>>2]|0)){X=0;break a}Z=(((a[g>>2]|0)+O|0)>>>0)%((a[l>>2]|0)>>>0)|0;P=E(tg(n)|0,Z)|0;Z=(E(N[L>>1]|0,R)|0)+P|0;(ba+U|0)>>>0>c>>>0&&(P=c-ba|0,R=U=(a[k>>2]|0)-
-P|0,W=U+I|0,U=P);Gk[p&15](b,d+(ba+X<<2)|0,ba,M,U,G,R,W,H+Z|0,K+Z|0,F+Z|0,r?z+Z|0:0);Z=U+ba|0;if(Z>>>0>=c>>>0){X=S;break a}P=a[g>>2]|0;T=U+T|0;R=0;W=I;U=a[k>>2]|0;ba=Z}while(0);O=G+O|0;if(O>>>0>=e>>>0){b=X;break}else S=X,M=(D?0-G|0:G)+M|0}if(!(0==(V&2|0)|v)){v=c+-1|0;V=0;do{M=E(V,c)|0;D=v+M|0;if((M|0)<(D|0)){X=d+(M<<2)|0;M=d+(D<<2)|0;do D=a[X>>2]|0,a[X>>2]=a[M>>2],a[M>>2]=D,X=X+4|0,M=M+-4|0;while(X>>>0<M>>>0)}V=V+1|0}while((V|0)!=(e|0))}ja(H);u=f;return b|0}b=a[n+628>>2]|0;H=Bc(n)|0;a[f>>2]=136947;
-Y(b,H,139955,f);u=f;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,t=0,r,H,x=0,z=0,v=0,C=0,A=0,V=0,D,J,I,G,L,K,F,S,O,M;f=u;u=u+32|0;g=f+16|0;h=f+8|0;m=f+20|0;k=a[b>>2]|0;l=a[b+52>>2]|0;n=a[b+16>>2]|0;p=a[b+12>>2]|0;q=se(k)|0;if(0!=(q|0)&&(t=0!=(p|0),p=E(t?4:3,q)|0,0!=(p|0))){r=eb(p)|0;if(!r)return H=a[k+628>>2]|0,Y(H,Bc(k)|0,136922,h),u=f,0;$c(r,0,p);p=r+q|0;h=r+(q<<1)|0;H=t?r+(3*q|0)|0:0;a:do switch(N[b+28>>1]|0){case 5:case 1:switch(w[b+30>>1]|0){case 6:case 2:x=2;C=v=z=0;
-break a;case 7:case 3:A=3;V=19;break a;case 8:case 4:A=1;V=19;break a;default:C=v=z=x=0;break a}case 6:case 2:switch(w[b+30>>1]|0){case 5:case 1:x=2;C=v=z=0;break a;case 7:case 3:A=1;V=19;break a;case 8:case 4:A=3;V=19;break a;default:C=v=z=x=0;break a}case 7:case 3:switch(w[b+30>>1]|0){case 5:case 1:A=3;V=19;break a;case 8:case 4:x=2;C=v=z=0;break a;case 6:case 2:A=1;V=19;break a;default:C=v=z=x=0;break a}case 8:case 4:switch(w[b+30>>1]|0){case 5:case 1:A=1;V=19;break a;case 7:case 3:x=2;C=v=z=0;
-break a;case 6:case 2:A=3;V=19;break a;default:C=v=z=x=0;break a}default:C=v=z=x=0}while(0);19==(V|0)&&(x=A,z=1,v=0-(c<<1)|0,C=e+-1|0);switch(N[b+32>>1]|0){case 3:case 1:case 0:D=1;I=J=r;break;default:D=3,J=p,I=h}a[g>>2]=m;ne(k,278,g)|0;g=Pe(k)|0;h=n>>>0>c>>>0?n-c|0:0;n=b+4|0;p=0==(e|0);a:do if(p)q=1;else for(A=b+84|0,V=1==(D|0),q=D&65535,G=b+88|0,L=b+26|0,K=0,F=C;;){S=a[m>>2]|0;O=(a[A>>2]|0)+K|0;M=S-((O>>>0)%(S>>>0)|0)|0;S=(M+K|0)>>>0>e>>>0?e-K|0:M;M=Pc(k,O,0)|0;if(-1==(Vc(k,M,r,E(((((a[A>>2]|0)+
-K|0)>>>0)%((a[m>>2]|0)>>>0)|0)+S|0,g)|0)|0)&&0!=(a[n>>2]|0)){q=0;break a}if(!V){M=Pc(k,O,1)|0;if(-1==(Vc(k,M,J,E(((((a[A>>2]|0)+K|0)>>>0)%((a[m>>2]|0)>>>0)|0)+S|0,g)|0)|0)&&0!=(a[n>>2]|0)){q=0;break a}M=Pc(k,O,2)|0;if(-1==(Vc(k,M,I,E(((((a[A>>2]|0)+K|0)>>>0)%((a[m>>2]|0)>>>0)|0)+S|0,g)|0)|0)&&0!=(a[n>>2]|0)){q=0;break a}}if(t&&(M=Pc(k,O,q)|0,-1==(Vc(k,M,H,E(((((a[A>>2]|0)+K|0)>>>0)%((a[m>>2]|0)>>>0)|0)+S|0,g)|0)|0))&&0!=(a[n>>2]|0)){q=0;break a}M=E((((a[A>>2]|0)+K|0)>>>0)%((a[m>>2]|0)>>>0)|0,g)|0;
-O=(E(N[L>>1]|0,a[G>>2]|0)|0)+M|0;M=d+((E(F,c)|0)<<2)|0;Gk[l&15](b,M,0,F,c,S,h,v,r+O|0,J+O|0,I+O|0,t?H+O|0:0);K=S+K|0;if(K>>>0>=e>>>0){q=1;break}else F=(z?0-S|0:S)+F|0}while(0);if(!(0==(x&2|0)|p)){p=c+-1|0;x=0;do{z=E(x,c)|0;H=p+z|0;if((z|0)<(H|0)){t=d+(z<<2)|0;z=d+(H<<2)|0;do H=a[t>>2]|0,a[t>>2]=a[z>>2],a[z>>2]=H,t=t+4|0,z=z+-4|0;while(t>>>0<z>>>0)}x=x+1|0}while((x|0)!=(e|0))}ja(r);u=f;return q|0}q=a[k+628>>2]|0;r=Bc(k)|0;a[f>>2]=136906;Y(q,r,139955,f);u=f;return 0},function(b,d,c,e){b|=0;d|=0;e|=
-0;if((d|0)==(d|0)&((0>(d|0))<<31>>31|0)==(c|0)){var f;c=u;u=u+32|0;f=c+20|0;a[c>>2]=b|0;a[c+4>>2]=0;a[c+8>>2]=d|0;a[c+12>>2]=f;a[c+16>>2]=e|0;b=0!=(le(ql(140,c|0)|0)|0);u=c;c=(b?-1:a[f>>2]|0)|0;U=(0>(c|0))<<31>>31;return c|0}c=md()|0;a[c>>2]=22;return U=-1},function(b,d,c,e){b|=0;var f,g,h,m,k,l=0,n=0,p=0,q=0,t=0;e=u;u=u+16|0;c=e+8|0;d=e;f=w[b+88>>1]|0;g=a[1940]|0;a:do if(g){for(h=g;;){m=a[h+4>>2]|0;if((w[m+4>>1]|0)==f<<16>>16){k=m;break}h=a[h>>2]|0;if(!h){h=3;break a}}h=a[b+628>>2]|0;m=a[b>>2]|0;
-k?(p=k,q=h,t=m,h=10):(l=h,n=m,h=11)}else h=3;while(0);a:do if(3==(h|0)){b:do if(a[1941]|0){for(k=7764;;){if((w[k+4>>1]|0)==f<<16>>16){g=k;break}k=k+12|0;if(!(a[k>>2]|0))break b}p=g;q=a[b+628>>2]|0;t=a[b>>2]|0;h=10;break a}while(0);l=a[b+628>>2]|0;n=a[b>>2]|0;h=11}while(0);return 10==(h|0)?(a[d>>2]=a[p>>2],a[d+4>>2]=140114,Y(q,t,140176,d),u=e,-1):11==(h|0)?(a[c>>2]=f&65535,a[c+4>>2]=140114,Y(l,n,140210,c),u=e,-1):0},function(b,d,c,e){b|=0;var f,g,h,m,k,l=0,n=0,p=0,q=0,t=0;e=u;u=u+16|0;c=e+8|0;d=e;
-f=w[b+88>>1]|0;g=a[1940]|0;a:do if(g){for(h=g;;){m=a[h+4>>2]|0;if((w[m+4>>1]|0)==f<<16>>16){k=m;break}h=a[h>>2]|0;if(!h){h=3;break a}}h=a[b+628>>2]|0;m=a[b>>2]|0;k?(p=k,q=h,t=m,h=10):(l=h,n=m,h=11)}else h=3;while(0);a:do if(3==(h|0)){b:do if(a[1941]|0){for(k=7764;;){if((w[k+4>>1]|0)==f<<16>>16){g=k;break}k=k+12|0;if(!(a[k>>2]|0))break b}p=g;q=a[b+628>>2]|0;t=a[b>>2]|0;h=10;break a}while(0);l=a[b+628>>2]|0;n=a[b>>2]|0;h=11}while(0);return 10==(h|0)?(a[d>>2]=a[p>>2],a[d+4>>2]=143001,Y(q,t,140176,d),
-u=e,-1):11==(h|0)?(a[c>>2]=f&65535,a[c+4>>2]=143001,Y(l,n,140210,c),u=e,-1):0},function(b,d,c,e){b|=0;var f,g,h,m,k,l=0,n=0,p=0,q=0,t=0;e=u;u=u+16|0;c=e+8|0;d=e;f=w[b+88>>1]|0;g=a[1940]|0;a:do if(g){for(h=g;;){m=a[h+4>>2]|0;if((w[m+4>>1]|0)==f<<16>>16){k=m;break}h=a[h>>2]|0;if(!h){h=3;break a}}h=a[b+628>>2]|0;m=a[b>>2]|0;k?(p=k,q=h,t=m,h=10):(l=h,n=m,h=11)}else h=3;while(0);a:do if(3==(h|0)){b:do if(a[1941]|0){for(k=7764;;){if((w[k+4>>1]|0)==f<<16>>16){g=k;break}k=k+12|0;if(!(a[k>>2]|0))break b}p=
-g;q=a[b+628>>2]|0;t=a[b>>2]|0;h=10;break a}while(0);l=a[b+628>>2]|0;n=a[b>>2]|0;h=11}while(0);return 10==(h|0)?(a[d>>2]=a[p>>2],a[d+4>>2]=142996,Y(q,t,140176,d),u=e,-1):11==(h|0)?(a[c>>2]=f&65535,a[c+4>>2]=142996,Y(l,n,140210,c),u=e,-1):0},function(b,d,c,e){b|=0;var f,g,h,m,k,l=0,n=0,p=0,q=0,t=0;e=u;u=u+16|0;c=e+8|0;d=e;f=w[b+88>>1]|0;g=a[1940]|0;a:do if(g){for(h=g;;){m=a[h+4>>2]|0;if((w[m+4>>1]|0)==f<<16>>16){k=m;break}h=a[h>>2]|0;if(!h){h=3;break a}}h=a[b+628>>2]|0;m=a[b>>2]|0;k?(p=k,q=h,t=m,h=
-10):(l=h,n=m,h=11)}else h=3;while(0);a:do if(3==(h|0)){b:do if(a[1941]|0){for(k=7764;;){if((w[k+4>>1]|0)==f<<16>>16){g=k;break}k=k+12|0;if(!(a[k>>2]|0))break b}p=g;q=a[b+628>>2]|0;t=a[b>>2]|0;h=10;break a}while(0);l=a[b+628>>2]|0;n=a[b>>2]|0;h=11}while(0);return 10==(h|0)?(a[d>>2]=a[p>>2],a[d+4>>2]=140114,Y(q,t,140080,d),u=e,-1):11==(h|0)?(a[c>>2]=f&65535,a[c+4>>2]=140114,Y(l,n,140123,c),u=e,-1):0},function(b,d,c,e){b|=0;var f,g,h,m,k,l=0,n=0,p=0,q=0,t=0;e=u;u=u+16|0;c=e+8|0;d=e;f=w[b+88>>1]|0;g=
-a[1940]|0;a:do if(g){for(h=g;;){m=a[h+4>>2]|0;if((w[m+4>>1]|0)==f<<16>>16){k=m;break}h=a[h>>2]|0;if(!h){h=3;break a}}h=a[b+628>>2]|0;m=a[b>>2]|0;k?(p=k,q=h,t=m,h=10):(l=h,n=m,h=11)}else h=3;while(0);a:do if(3==(h|0)){b:do if(a[1941]|0){for(k=7764;;){if((w[k+4>>1]|0)==f<<16>>16){g=k;break}k=k+12|0;if(!(a[k>>2]|0))break b}p=g;q=a[b+628>>2]|0;t=a[b>>2]|0;h=10;break a}while(0);l=a[b+628>>2]|0;n=a[b>>2]|0;h=11}while(0);return 10==(h|0)?(a[d>>2]=a[p>>2],a[d+4>>2]=143001,Y(q,t,140080,d),u=e,-1):11==(h|0)?
-(a[c>>2]=f&65535,a[c+4>>2]=143001,Y(l,n,140123,c),u=e,-1):0},function(b,d,c,e){b|=0;var f,g,h,m,k,l=0,n=0,p=0,q=0,t=0;e=u;u=u+16|0;c=e+8|0;d=e;f=w[b+88>>1]|0;g=a[1940]|0;a:do if(g){for(h=g;;){m=a[h+4>>2]|0;if((w[m+4>>1]|0)==f<<16>>16){k=m;break}h=a[h>>2]|0;if(!h){h=3;break a}}h=a[b+628>>2]|0;m=a[b>>2]|0;k?(p=k,q=h,t=m,h=10):(l=h,n=m,h=11)}else h=3;while(0);a:do if(3==(h|0)){b:do if(a[1941]|0){for(k=7764;;){if((w[k+4>>1]|0)==f<<16>>16){g=k;break}k=k+12|0;if(!(a[k>>2]|0))break b}p=g;q=a[b+628>>2]|0;
-t=a[b>>2]|0;h=10;break a}while(0);l=a[b+628>>2]|0;n=a[b>>2]|0;h=11}while(0);return 10==(h|0)?(a[d>>2]=a[p>>2],a[d+4>>2]=142996,Y(q,t,140080,d),u=e,-1):11==(h|0)?(a[c>>2]=f&65535,a[c+4>>2]=142996,Y(l,n,140123,c),u=e,-1):0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h;e=u;u=u+32|0;f=e;g=b+608|0;h=a[g>>2]|0;if((h|0)<(c|0))return g=a[b+628>>2]|0,a[f>>2]=a[b+444>>2],b=f+8|0,a[b>>2]=h,a[b+4>>2]=(0>(h|0))<<31>>31,b=f+16|0,a[b>>2]=c,a[b+4>>2]=(0>(c|0))<<31>>31,Y(g,142682,142697,f),u=e,0;f=b+604|0;b=a[f>>2]|
-0;(b|0)==(d|0)?b=d:(Ab(d,b,c),b=a[f>>2]|0,h=a[g>>2]|0);a[f>>2]=b+c;a[g>>2]=h-c;u=e;return 1},function(b,d,c,e){b|=0;c|=0;var f=0,g,h,m,k,l,n;if(0>=(c|0))return 1;e=b+608|0;g=b+592|0;h=b+604|0;m=c;for(c=d|0;;){d=a[e>>2]|0;k=a[g>>2]|0;l=(d+m|0)>(k|0)?k-d|0:m;if(0>=(l|0)){b=4;break}n=a[h>>2]|0;(n|0)==(c|0)?n=c:(Ab(n,c,l),n=a[h>>2]|0,d=a[e>>2]|0,k=a[g>>2]|0);a[h>>2]=n+l;n=d+l|0;a[e>>2]=n;c=c+l|0;m=m-l|0;if((n|0)>=(k|0)&&0==(Lc(b)|0)){f=-1;b=10;break}if(0>=(m|0)){f=1;b=10;break}}if(4==(b|0))Z(142646,142652,
-55,142667);else if(10==(b|0))return f|0;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,t=0,r=0,w=0,v=0,z=0,Q=0,C=0,A=0,V=0,E=0,J=0,I=0,G=0,D=0,K=0,F=0,N=0,O=0,M=0,T=0,X=0,P=0,S=0,R=0,W=0,ba=0,U=0,Z=0,da=0,ga=0,aa=0,ma=0,ca=0,ha=0,fa=0,ja=0,pa=0,ya=0,ra=0,Aa=0,oa=0,sa=0,Ka=0,ua=0,Ia=0,Da=0,na=0,Na=0,Qa=0,Ca=0,Ga=0,Ea=0,La=0,Wa=0,Va=0,eb=0,fb=0,xb=0,Zb=0,db=0,jb=0,mc=0,pb=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,
-va=0,za=0,ta=0,nb=0,ub=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,lb=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,ab=0,Ua=0,rb=0,Jb=0,Ab=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Hb=0,Lb=0,Gb=0,Kb=0,wb=0,Sb=0,Pb=0,zb=0,Ob=0,Tb=0,Qb=0,ac=0,Vb=0,Yb=0,ec=0,fc=0,$b=0,lc=0,jc=0,kc=0,nc=0,hc=0,yc=0,xc=0,vc=0,Bc=0,Cc=0,Ec=0,zc=0,Gc=0,oc=0,Hc=0,Jc=0,Lc=0,ic=0,Fc=0,Ic=0,bd=0,Oc=0,Rc=0,Uc=0,Wc=0,Pc=0,ad=0,Qc=0,Vc=0,$c=0,hd=0,Xc=0,cd=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,dd=0,ld=0,md=0,sd=0,td=0,Yc=0,wc=0,id=0,dc=0,Ac=
-0,Sc=0,Tc=0,qd=0,rd=0,jd=0,vd=0,wd=0,pd=0,zd=0,Cd=0,Dd=0,Kd=0,Nd=0,Id=0,Xd=0,ce=0,oe=0,Pd=0,Vd=0,Df=0,Md=0,ne=0,qe=0,Ld=0,he=0,te=0,de=0,He=0,ue=0,Od=0,Sd=0,ae=0,De=0,be=0,Fd=0,Rd=0,Gd=0,$d=0,ge=0,ud=0,xd=0,ie=0,je=0,xe=0,Of=0,Dc=0,yd=0,Ad=0,Td=0,se=0,le=0,Ye=0,Yd=0,ve=0,Je=0,ze=0,Qe=0,we=0,Ze=0,re=0,Ae=0,kf=0,ee=0,df=0,ye=0,ef=0,Ue=0,Ke=0,Ne=0,$e=0,me=0,Oe=0,Pe=0,Me=0;e=u;u=u+176|0;f=e+144|0;g=e+120|0;h=e+104|0;m=e+88|0;k=e+72|0;l=e+56|0;n=e+40|0;p=e+24|0;q=e+8|0;t=a[b+576>>2]|0;r=a[t+12>>2]|0;w=
-a[t+44>>2]|0;v=t+8|0;if((c|0)%(a[v>>2]|0)|0)return Y(a[b+628>>2]|0,143789,153793,e),z=-1,u=e,z|0;Q=t+48|0;C=a[Q>>2]|0;A=t+52|0;V=a[A>>2]|0;E=t+56|0;J=a[E>>2]|0;I=b+604|0;G=a[I>>2]|0;D=b+608|0;K=a[D>>2]|0;F=G+K|0;do if(0<(c|0)){N=t+72|0;O=t+68|0;M=0<(r|0);T=t+92|0;X=b+628|0;P=b+12|0;S=b+492|0;R=b+452|0;W=t+60|0;ba=d;U=c;Z=a[O>>2]|0;da=a[N>>2]|0;ga=C;aa=V;ma=J;ca=G;a:for(;;){b:do if(M){ha=da;fa=ga;ja=aa;ya=pa=0;ra=a[Z>>2]|0;Aa=ca;oa=da;sa=Z+4|0;c:for(;;){Ka=(oa|0)==(da|0);d:do if(Ka)for(ua=fa,Ia=ja,
-Da=0,na=pa,Na=ya,Qa=ra,Ca=Aa,Ga=sa;;){do if(7>(Ia|0))if(Ca>>>0>=F>>>0)if(Ia)mc=ua,pb=7,Ta=Ca;else{Ea=ba;La=da;Wa=ua;Va=0;eb=ma;fb=Da;xb=Na;Zb=Ca;db=da;jb=88;break a}else mc=(x[w+(x[Ca>>0]|0)>>0]|0)<<Ia|ua,pb=Ia+8|0,Ta=Ca+1|0;else mc=ua,pb=Ia,Ta=Ca;while(0);Ya=mc&127;Sa=x[(Ya<<3)+8281>>0]|0;mb=pb-Sa|0;Db=mc>>>Sa;switch(x[8280+(Ya<<3)>>0]|0){case 6:cc=mb;Za=Db;ia=Da;qa=Na;Ja=Ta;ea=da;jb=77;break c;case 12:wa=Sa;Ma=mb;xa=Db;$a=pb;la=Da;Ba=Na;va=Ta;za=da;jb=78;break c;case 2:ta=mb;nb=Db;ub=Da;gb=Na;hb=
-Qa;ob=Ta;Bb=Ga;jb=22;break d;case 3:qb=mb;kb=Db;ib=Da;Cb=Na;lb=na;sb=Qa;Xa=Ta;Fa=Ga;jb=62;break d;case 4:Pa=Ya;Eb=mb;vb=Db;tb=Da;bb=Na;Ib=na;Mb=Qa;ab=Ta;Ua=Ga;jb=66;break d;case 5:rb=Ya;Jb=mb;Ab=Db;yb=Da;cb=Na;gc=Qa;Ub=Ta;Fb=Ga;jb=70;break d;case 1:break;default:Hb=Db;Lb=mb;Gb=Da;Kb=Na;wb=Ta;Sb=da;jb=85;break c}Ya=(a[Ga>>2]|0)+Qa|0;Sa=na+Da+Ya|0;if((r|0)>(Ya|0))ua=Db,Ia=mb,Da=Sa,na=0-Ya|0,Na=Ya,Qa=Ya+(a[Ga+4>>2]|0)|0,Ca=Ta,Ga=Ga+8|0;else{Pb=Db;zb=mb;Ob=Sa;Tb=Ya;Qb=Ta;ac=da;jb=99;break c}}else for(Ga=
-fa,Ca=ja,Qa=0,Na=pa,na=ya,Da=ra,Ia=Aa,ua=sa;;){do if(7>(Ca|0))if(Ia>>>0>=F>>>0)if(Ca)Vb=Ga,Yb=7,ec=Ia;else{Ea=ba;La=da;Wa=Ga;Va=0;eb=ma;fb=Qa;xb=na;Zb=Ia;db=oa;jb=88;break a}else Vb=(x[w+(x[Ia>>0]|0)>>0]|0)<<Ca|Ga,Yb=Ca+8|0,ec=Ia+1|0;else Vb=Ga,Yb=Ca,ec=Ia;while(0);Ya=Vb&127;Sa=x[(Ya<<3)+8281>>0]|0;mb=Yb-Sa|0;Db=Vb>>>Sa;switch(x[8280+(Ya<<3)>>0]|0){case 6:cc=mb;Za=Db;ia=Qa;qa=na;Ja=ec;ea=oa;jb=77;break c;case 12:wa=Sa;Ma=mb;xa=Db;$a=Yb;la=Qa;Ba=na;va=ec;za=oa;jb=78;break c;case 2:ta=mb;nb=Db;ub=Qa;
-gb=na;hb=Da;ob=ec;Bb=ua;jb=22;break d;case 3:qb=mb;kb=Db;ib=Qa;Cb=na;lb=Na;sb=Da;Xa=ec;Fa=ua;jb=62;break d;case 4:Pa=Ya;Eb=mb;vb=Db;tb=Qa;bb=na;Ib=Na;Mb=Da;ab=ec;Ua=ua;jb=66;break d;case 5:rb=Ya;Jb=mb;Ab=Db;yb=Qa;cb=na;gc=Da;Ub=ec;Fb=ua;jb=70;break d;case 1:break;default:Hb=Db;Lb=mb;Gb=Qa;Kb=na;wb=ec;Sb=oa;jb=85;break c}if((Da|0)<=(na|0)&(Da|0)<(r|0))for(Ya=Da,Sa=ua;;)if(fc=(a[Sa>>2]|0)+Ya+(a[Sa+4>>2]|0)|0,$b=Sa+8|0,(fc|0)<=(na|0)&(fc|0)<(r|0))Ya=fc,Sa=$b;else{lc=fc;jc=$b;break}else lc=Da,jc=ua;Sa=
-(a[jc>>2]|0)+lc|0;Ya=Na+Qa+Sa|0;if((r|0)>(Sa|0))Ga=Db,Ca=mb,Qa=Ya,Na=0-Sa|0,na=Sa,Da=Sa+(a[jc+4>>2]|0)|0,Ia=ec,ua=jc+8|0;else{Pb=Db;zb=mb;Ob=Ya;Tb=Sa;Qb=ec;ac=oa;jb=99;break c}}while(0);if(22==(jb|0)){jb=0;if(oa-ha&4){Na=nb;Ga=ta;ua=ub;Ia=gb;Da=ob;d:for(;;){do if(13>(Ga|0)){if(Da>>>0>=F>>>0)if(Ga){Xb=Na;rc=13;ed=Da;break}else{Ea=ba;La=da;Wa=Na;Va=0;eb=ma;fb=ua;xb=Ia;Zb=Da;db=oa;jb=88;break a}Qa=Da+1|0;Sa=(x[w+(x[Da>>0]|0)>>0]|0)<<Ga|Na;Ya=Ga+8|0;13>(Ya|0)?Qa>>>0<F>>>0?(Xb=(x[w+(x[Qa>>0]|0)>>0]|0)<<
-Ya|Sa,rc=Ga+16|0,ed=Da+2|0):(Xb=Sa,rc=13,ed=Qa):(Xb=Sa,rc=Ya,ed=Qa)}else Xb=Na,rc=Ga,ed=Da;while(0);Qa=Xb&8191;Ya=x[(Qa<<3)+42073>>0]|0;Sa=rc-Ya|0;Ca=Xb>>>Ya;switch(x[42072+(Qa<<3)>>0]|0){case 8:gd=Qa;dd=Sa;ld=Ca;md=ua;sd=Ia;td=ed;break d;case 11:case 10:break;default:ad=Ca;Qc=Sa;Vc=ua;$c=Ia;hd=ed;Xc=oa;jb=86;break c}Ya=a[(Qa<<3)+42076>>2]|0;Na=Ca;Ga=Sa;ua=Ya+ua|0;Ia=Ya+Ia|0;Da=ed}Da=a[(gd<<3)+42076>>2]|0;Ia=oa+4|0;a[oa>>2]=Da+md;ua=ld;Ga=dd;Na=0;na=Da+sd|0;Da=td;d:for(;;){do if(12>(Ga|0)){if(Da>>>
-0>=F>>>0)if(Ga){Yc=ua;wc=12;id=Da;break}else{Ea=ba;La=da;Wa=ua;Va=0;eb=ma;fb=Na;xb=na;Zb=Da;db=Ia;jb=88;break a}Ya=Da+1|0;Sa=(x[w+(x[Da>>0]|0)>>0]|0)<<Ga|ua;Ca=Ga+8|0;12>(Ca|0)?Ya>>>0<F>>>0?(Yc=(x[w+(x[Ya>>0]|0)>>0]|0)<<Ca|Sa,wc=Ga+16|0,id=Da+2|0):(Yc=Sa,wc=12,id=Ya):(Yc=Sa,wc=Ca,id=Ya)}else Yc=ua,wc=Ga,id=Da;while(0);Ya=Yc&4095;Ca=x[(Ya<<3)+9305>>0]|0;Sa=wc-Ca|0;Qa=Yc>>>Ca;switch(x[9304+(Ya<<3)>>0]|0){case 7:dc=Ya;Ac=Sa;Sc=Qa;Tc=Na;qd=na;rd=id;break d;case 11:case 9:break;default:zc=Qa;Gc=Sa;oc=
-Na;Hc=na;Jc=id;Lc=Ia;jb=87;break c}Ca=a[(Ya<<3)+9308>>2]|0;ua=Qa;Ga=Sa;Na=Ca+Na|0;na=Ca+na|0;Da=id}Da=a[(dc<<3)+9308>>2]|0;a[Ia>>2]=Da+Tc;cd=Sc;Rb=Ac;od=Da+qd|0;tc=rd}else{ua=nb;Ia=ta;Da=ub;na=gb;Na=ob;d:for(;;){do if(12>(Ia|0)){if(Na>>>0>=F>>>0)if(Ia){kc=ua;nc=12;hc=Na;break}else{Ea=ba;La=da;Wa=ua;Va=0;eb=ma;fb=Da;xb=na;Zb=Na;db=oa;jb=88;break a}Qa=Na+1|0;Ca=(x[w+(x[Na>>0]|0)>>0]|0)<<Ia|ua;Ga=Ia+8|0;12>(Ga|0)?Qa>>>0<F>>>0?(kc=(x[w+(x[Qa>>0]|0)>>0]|0)<<Ga|Ca,nc=Ia+16|0,hc=Na+2|0):(kc=Ca,nc=12,hc=
-Qa):(kc=Ca,nc=Ga,hc=Qa)}else kc=ua,nc=Ia,hc=Na;while(0);Qa=kc&4095;Ga=x[(Qa<<3)+9305>>0]|0;Ca=nc-Ga|0;Sa=kc>>>Ga;switch(x[9304+(Qa<<3)>>0]|0){case 7:yc=Qa;xc=Ca;vc=Sa;Bc=Da;Cc=na;Ec=hc;break d;case 11:case 9:break;default:zc=Sa;Gc=Ca;oc=Da;Hc=na;Jc=hc;Lc=oa;jb=87;break c}Ga=a[(Qa<<3)+9308>>2]|0;ua=Sa;Ia=Ca;Da=Ga+Da|0;na=Ga+na|0;Na=hc}Na=a[(yc<<3)+9308>>2]|0;na=oa+4|0;a[oa>>2]=Na+Bc;Da=vc;Ia=xc;ua=0;Ga=Na+Cc|0;Na=Ec;d:for(;;){do if(13>(Ia|0)){if(Na>>>0>=F>>>0)if(Ia){ic=Da;Fc=13;Ic=Na;break}else{Ea=
-ba;La=da;Wa=Da;Va=0;eb=ma;fb=ua;xb=Ga;Zb=Na;db=na;jb=88;break a}Ca=Na+1|0;Sa=(x[w+(x[Na>>0]|0)>>0]|0)<<Ia|Da;Qa=Ia+8|0;13>(Qa|0)?Ca>>>0<F>>>0?(ic=(x[w+(x[Ca>>0]|0)>>0]|0)<<Qa|Sa,Fc=Ia+16|0,Ic=Na+2|0):(ic=Sa,Fc=13,Ic=Ca):(ic=Sa,Fc=Qa,Ic=Ca)}else ic=Da,Fc=Ia,Ic=Na;while(0);Ca=ic&8191;Qa=x[(Ca<<3)+42073>>0]|0;Sa=Fc-Qa|0;Ya=ic>>>Qa;switch(x[42072+(Ca<<3)>>0]|0){case 8:bd=Ca;Oc=Sa;Rc=Ya;Uc=ua;Wc=Ga;Pc=Ic;break d;case 11:case 10:break;default:ad=Ya;Qc=Sa;Vc=ua;$c=Ga;hd=Ic;Xc=na;jb=86;break c}Qa=a[(Ca<<
-3)+42076>>2]|0;Da=Ya;Ia=Sa;ua=Qa+ua|0;Ga=Qa+Ga|0;Na=Ic}Na=a[(bd<<3)+42076>>2]|0;a[na>>2]=Na+Uc;cd=Rc;Rb=Oc;od=Na+Wc|0;tc=Pc}Da=oa+8|0;if((Da|0)!=(da|0))if((hb|0)<=(od|0)&(hb|0)<(r|0))for(na=hb,Na=Bb;;)if(Ga=(a[Na>>2]|0)+na+(a[Na+4>>2]|0)|0,ua=Na+8|0,(Ga|0)<=(od|0)&(Ga|0)<(r|0))na=Ga,Na=ua;else{jd=cd;vd=Rb;wd=od;pd=Ga;zd=tc;Cd=Da;Dd=ua;break}else jd=cd,vd=Rb,wd=od,pd=hb,zd=tc,Cd=Da,Dd=Bb;else jd=cd,vd=Rb,wd=od,pd=hb,zd=tc,Cd=da,Dd=Bb}else if(62==(jb|0)){jb=0;if(Ka?0:(sb|0)<=(Cb|0)&(sb|0)<(r|0))for(Na=
-sb,na=Fa;;)if(Ia=(a[na>>2]|0)+Na+(a[na+4>>2]|0)|0,ua=na+8|0,(Ia|0)<=(Cb|0)&(Ia|0)<(r|0))Na=Ia,na=ua;else{Kd=Ia;Nd=ua;break}else Kd=sb,Nd=Fa;a[oa>>2]=lb+ib+Kd;jd=kb;vd=qb;wd=Kd;pd=(a[Nd>>2]|0)+Kd|0;zd=Xa;Cd=oa+4|0;Dd=Nd+4|0}else if(66==(jb|0)){jb=0;if(Ka?0:(Mb|0)<=(bb|0)&(Mb|0)<(r|0))for(na=Mb,Na=Ua;;)if(Da=(a[Na>>2]|0)+na+(a[Na+4>>2]|0)|0,ua=Na+8|0,(Da|0)<=(bb|0)&(Da|0)<(r|0))na=Da,Na=ua;else{Id=Da;Xd=ua;break}else Id=Mb,Xd=Ua;Na=a[(Pa<<3)+8284>>2]|0;a[oa>>2]=Ib+tb+Id+Na;jd=vb;vd=Eb;wd=Na+Id|0;pd=
-(a[Xd>>2]|0)+Id|0;zd=ab;Cd=oa+4|0;Dd=Xd+4|0}else if(70==(jb|0)){jb=0;if((Na=(oa|0)!=(da|0))&&(gc|0)<=(cb|0)&(gc|0)<(r|0))for(na=gc,Ka=Fb;;)if(ua=(a[Ka>>2]|0)+na+(a[Ka+4>>2]|0)|0,Da=Ka+8|0,(ua|0)<=(cb|0)&(ua|0)<(r|0))na=ua,Ka=Da;else{ce=ua;oe=Da;break}else ce=gc,oe=Fb;Ka=a[(rb<<3)+8284>>2]|0;na=Ka+cb|0;if((ce|0)<=(na|0)&(Na|(ce|0)<(na|0))){Pd=Jb;Vd=Ab;Df=yb;Md=cb;ne=Ub;qe=oa;jb=74;break}a[oa>>2]=ce-cb+yb-Ka;na=oe+-4|0;jd=Ab;vd=Jb;wd=ce-Ka|0;pd=ce-(a[na>>2]|0)|0;zd=Ub;Cd=oa+4|0;Dd=na}if((r|0)>(wd|0))fa=
-jd,ja=vd,pa=0-wd|0,ya=wd,ra=pd,Aa=zd,oa=Cd,sa=Dd;else{Ld=jd;he=vd;te=ma;de=wd;He=zd;ue=Cd;break b}}do if(74==(jb|0))jb=0,sa=a[X>>2]|0,oa=0!=(a[P>>2]&1024|0),Aa=a[(oa?S:R)>>2]|0,a[q>>2]=a[T>>2],a[q+4>>2]=oa?142996:143001,a[q+8>>2]=Aa,a[q+12>>2]=Md,Y(sa,143789,143007,q),Od=Vd,Sd=Pd,ae=ma,De=Df,be=Md,Fd=ne,Rd=qe;else if(77==(jb|0))jb=0,a[ea>>2]=r-qa,sa=a[X>>2]|0,Aa=0!=(a[P>>2]&1024|0),oa=a[(Aa?S:R)>>2]|0,a[p>>2]=a[T>>2],a[p+4>>2]=Aa?142996:143001,a[p+8>>2]=oa,a[p+12>>2]=qa,Y(sa,143789,143800,p),Od=Za,
-Sd=cc,ae=ma,De=ia,be=qa,Fd=Ja,Rd=ea+4|0;else if(78==(jb|0)){jb=0;sa=za+4|0;a[za>>2]=r-Ba;do if(4>(Ma|0))if(va>>>0>=F>>>0)if(($a|0)==(wa|0)){Ea=ba;La=da;Wa=xa;Va=Ma;eb=ma;fb=la;xb=Ba;Zb=va;db=sa;jb=88;break a}else Gd=xa,$d=4,ge=va;else Gd=(x[w+(x[va>>0]|0)>>0]|0)<<Ma|xa,$d=Ma+8|0,ge=va+1|0;else Gd=xa,$d=Ma,ge=va;while(0);Gd&15&&(Na=a[X>>2]|0,oa=0!=(a[P>>2]&1024|0),Aa=a[(oa?S:R)>>2]|0,a[n>>2]=a[T>>2],a[n+4>>2]=oa?142996:143001,a[n+8>>2]=Aa,a[n+12>>2]=Ba,Y(Na,143789,143007,n));Od=Gd>>>4;Sd=$d+-4|0;ae=
-1;De=la;be=Ba;Fd=ge;Rd=sa}else if(86==(jb|0))jb=0,Na=a[X>>2]|0,Aa=0!=(a[P>>2]&1024|0),oa=a[(Aa?S:R)>>2]|0,a[k>>2]=a[T>>2],a[k+4>>2]=Aa?142996:143001,a[k+8>>2]=oa,a[k+12>>2]=$c,Y(Na,143789,143007,k),Od=ad,Sd=Qc,ae=ma,De=Vc,be=$c,Fd=hd,Rd=Xc;else if(87==(jb|0))jb=0,Na=a[X>>2]|0,oa=0!=(a[P>>2]&1024|0),Aa=a[(oa?S:R)>>2]|0,a[m>>2]=a[T>>2],a[m+4>>2]=oa?142996:143001,a[m+8>>2]=Aa,a[m+12>>2]=Hc,Y(Na,143789,143007,m),Od=zc,Sd=Gc,ae=ma,De=oc,be=Hc,Fd=Jc,Rd=Lc;else if(99==(jb|0)){jb=0;if(!Ob){Ld=Pb;he=zb;te=
-ma;de=Tb;He=Qb;ue=ac;break b}if((Tb+Ob|0)<(r|0)){do if(1>(zb|0))if(Qb>>>0>=F>>>0)if(zb)ud=Pb,xd=1,ie=Qb;else{Ea=ba;La=da;Wa=Pb;Va=0;eb=ma;fb=Ob;xb=Tb;Zb=Qb;db=ac;jb=88;break a}else ud=(x[w+(x[Qb>>0]|0)>>0]|0)<<zb|Pb,xd=zb+8|0,ie=Qb+1|0;else ud=Pb,xd=zb,ie=Qb;while(0);if(!(ud&1)){Hb=ud;Lb=xd;Gb=Ob;Kb=Tb;wb=ie;Sb=ac;jb=85;break}je=ud>>>1;xe=xd+-1|0;Of=ie}else je=Pb,xe=zb,Of=Qb;a[ac>>2]=Ob;Ld=je;he=xe;te=ma;de=Tb;He=Of;ue=ac+4|0;break b}while(0);85==(jb|0)&&(jb=0,sa=a[X>>2]|0,Na=0!=(a[P>>2]&1024|0),
-Aa=a[(Na?S:R)>>2]|0,a[l>>2]=a[T>>2],a[l+4>>2]=Na?142996:143001,a[l+8>>2]=Aa,a[l+12>>2]=Kb,Y(sa,143789,143007,l),Od=Hb,Sd=Lb,ae=ma,De=Gb,be=Kb,Fd=wb,Rd=Sb);De?(a[Rd>>2]=De,Ld=Od,he=Sd,te=ae,de=be,He=Fd,ue=Rd+4|0):(Ld=Od,he=Sd,te=ae,de=be,He=Fd,ue=Rd)}else Ld=ga,he=aa,te=ma,de=0,He=ca,ue=da;while(0);do if((de|0)==(r|0))Dc=ue;else{sa=a[T>>2]|0;Aa=a[X>>2]|0;Na=0!=(a[P>>2]&1024|0);oa=a[(Na?S:R)>>2]|0;a[f>>2]=de>>>0<r>>>0?143089:143103;a[f+4>>2]=sa;a[f+8>>2]=Na?142996:143001;a[f+12>>2]=oa;a[f+16>>2]=de;
-a[f+20>>2]=r;Wb(Aa,143789,143124,f);Aa=(de|0)>(r|0);if(Aa&ue>>>0>da>>>0)for(oa=de,Na=ue;;)if(sa=Na+-4|0,ra=oa-(a[sa>>2]|0)|0,ya=(ra|0)>(r|0),ya&sa>>>0>da>>>0)oa=ra,Na=sa;else{yd=ya;Ad=ra;Td=sa;break}else yd=Aa,Ad=de,Td=ue;(Ad|0)>=(r|0)?yd?(a[Td>>2]=r,a[Td+4>>2]=0,Dc=Td+8|0):Dc=Td:(Td-da&4?(a[Td>>2]=0,se=Td+4|0):se=Td,a[se>>2]=r-(0>(Ad|0)?0:Ad),Dc=se+4|0)}while(0);if(te){le=ba;Ye=da;Yd=Ld;ve=he;Je=te;ze=He;Qe=Dc;break}Ud[a[W>>2]&31](ba,da,Dc,r);a[Dc>>2]=0;Z=a[N>>2]|0;da=a[O>>2]|0;a[N>>2]=da;a[O>>2]=
-Z;Na=a[v>>2]|0;U=U-Na|0;a[T>>2]=(a[T>>2]|0)+1;if(0>=(U|0)){we=Ld;Ze=he;re=He;jb=128;break}else ba=ba+Na|0,ga=Ld,aa=he,ma=0,ca=He}if(128==(jb|0))Ae=a[I>>2]|0,kf=a[D>>2]|0,ee=we,df=Ze,ye=0,ef=re;else{do if(88==(jb|0))if(ca=a[X>>2]|0,ma=0!=(a[P>>2]&1024|0),aa=a[(ma?S:R)>>2]|0,a[h>>2]=a[T>>2],a[h+4>>2]=ma?142996:143001,a[h+8>>2]=aa,a[h+12>>2]=xb,Wb(ca,143789,143048,h),fb?(a[db>>2]=fb,Ue=db+4|0):Ue=db,(xb|0)==(r|0))le=Ea,Ye=La,Yd=Wa,ve=Va,Je=eb,ze=Zb,Qe=Ue;else{ca=a[T>>2]|0;aa=a[X>>2]|0;ma=0!=(a[P>>2]&
-1024|0);ga=a[(ma?S:R)>>2]|0;a[g>>2]=xb>>>0<r>>>0?143089:143103;a[g+4>>2]=ca;a[g+8>>2]=ma?142996:143001;a[g+12>>2]=ga;a[g+16>>2]=xb;a[g+20>>2]=r;Wb(aa,143789,143124,g);aa=(xb|0)>(r|0);if(aa&Ue>>>0>La>>>0)for(ga=xb,ma=Ue;;)if(ca=ma+-4|0,ba=ga-(a[ca>>2]|0)|0,U=(ba|0)>(r|0),U&ca>>>0>La>>>0)ga=ba,ma=ca;else{Ke=U;Ne=ba;$e=ca;break}else Ke=aa,Ne=xb,$e=Ue;(Ne|0)>=(r|0)?Ke?(a[$e>>2]=r,a[$e+4>>2]=0,le=Ea,Ye=La,Yd=Wa,ve=Va,Je=eb,ze=Zb,Qe=$e+8|0):(le=Ea,Ye=La,Yd=Wa,ve=Va,Je=eb,ze=Zb,Qe=$e):($e-La&4?(a[$e>>2]=
-0,me=$e+4|0):me=$e,a[me>>2]=r-(0>(Ne|0)?0:Ne),le=Ea,Ye=La,Yd=Wa,ve=Va,Je=eb,ze=Zb,Qe=me+4|0)}while(0);13>(ve|0)?ze>>>0>=F>>>0?(Oe=Yd,Pe=0==(ve|0)?0:13,Me=ze):(R=ze+1|0,S=(x[w+(x[ze>>0]|0)>>0]|0)<<ve|Yd,P=ve+8|0,13>(P|0)?R>>>0<F>>>0?(Oe=(x[w+(x[R>>0]|0)>>0]|0)<<P|S,Pe=ve+16|0,Me=ze+2|0):(Oe=S,Pe=13,Me=R):(Oe=S,Pe=P,Me=R)):(Oe=Yd,Pe=ve,Me=ze);Ud[a[W>>2]&31](le,Ye,Qe,r);a[A>>2]=Pe+-13;a[Q>>2]=Oe>>>13;a[E>>2]=Je;a[D>>2]=(a[I>>2]|0)-Me+(a[D>>2]|0);a[I>>2]=Me;z=0!=(a[T>>2]|0)?1:-1;u=e;return z|0}}else Ae=
-G,kf=K,ee=C,df=V,ye=J,ef=G;while(0);a[A>>2]=df;a[Q>>2]=ee;a[E>>2]=ye;a[D>>2]=Ae-ef+kf;a[I>>2]=ef;z=1;u=e;return z|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m;e=u;u=u+16|0;f=a[b+576>>2]|0;g=f+8|0;if((c|0)%(a[g>>2]|0)|0)return Y(a[b+628>>2]|0,143192,143203,e),u=e,0;if(0>=(c|0))return u=e,1;h=f+80|0;m=f+12|0;f=d;for(d=c;!(bl(b,f,a[h>>2]|0,a[m>>2]|0),Ab(a[h>>2]|0,f,a[g>>2]|0),c=a[g>>2]|0,d=d-c|0,0>=(d|0));)f=f+c|0;u=e;return 1},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,
-p=0,q=0,t=0,r=0,w=0,v=0,z=0,Q=0,C=0,A=0,V=0,E=0,J=0,I=0,G=0,D=0,K=0,F=0,N=0,O=0,M=0,T=0,X=0,P=0,S=0,R=0,W=0,ba=0,U=0,Z=0,da=0,ga=0,aa=0,ma=0,ca=0,ha=0,fa=0,ja=0,pa=0,ya=0,ra=0,Aa=0,oa=0,sa=0,Qa=0,ua=0,Ia=0,Da=0,na=0,Na=0,Ka=0,Ca=0,Ga=0,Ea=0,La=0,Wa=0,Va=0,eb=0,db=0,xb=0,Zb=0,fb=0,jb=0,pb=0,ub=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,lb=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,ab=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,
-rb=0,Ua=0,Ab=0,Jb=0,Hb=0,yb=0,cb=0,gc=0,Ub=0,Fb=0,Lb=0,Gb=0,Kb=0,Qb=0,wb=0,Pb=0,Sb=0,zb=0,Ob=0;e=u;u=u+112|0;f=e+80|0;g=e+56|0;h=e+40|0;m=e+24|0;k=e+8|0;l=a[b+576>>2]|0;n=a[l+12>>2]|0;p=a[l+44>>2]|0;q=a[l+4>>2]|0;t=l+8|0;if((c|0)%(a[t>>2]|0)|0)return Y(a[b+628>>2]|0,142982,153793,e),r=-1,u=e,r|0;w=l+48|0;v=a[w>>2]|0;z=l+52|0;Q=a[z>>2]|0;C=l+56|0;A=a[C>>2]|0;V=b+604|0;E=a[V>>2]|0;J=b+608|0;I=a[J>>2]|0;G=E+I|0;D=a[l+72>>2]|0;do if(0<(c|0)){K=l+92|0;F=b+628|0;N=b+12|0;O=b+492|0;M=b+452|0;T=l+60|0;X=
-0==(q&4|0);P=0==(q&8|0);S=D;R=d;W=c;ba=v;U=Q;Z=A;da=E;a:for(;;){ga=ba;aa=U;ma=0;ca=da;ha=D;b:for(;;){fa=ga;ja=aa;pa=0;ya=ma;ra=ca;c:for(;;){do if(12>(ja|0)){if(ra>>>0>=G>>>0)if(ja){na=fa;Na=12;Ka=ra;break}else{Aa=R;oa=fa;sa=Z;Qa=pa;ua=ya;Ia=ra;Da=ha;break a}Ca=ra+1|0;Ga=(x[p+(x[ra>>0]|0)>>0]|0)<<ja|fa;Ea=ja+8|0;12>(Ea|0)?Ca>>>0<G>>>0?(na=(x[p+(x[Ca>>0]|0)>>0]|0)<<Ea|Ga,Na=ja+16|0,Ka=ra+2|0):(na=Ga,Na=12,Ka=Ca):(na=Ga,Na=Ea,Ka=Ca)}else na=fa,Na=ja,Ka=ra;while(0);Ca=na&4095;Ea=x[(Ca<<3)+9305>>0]|0;
-Ga=Na-Ea|0;La=na>>>Ea;switch(x[9304+(Ca<<3)>>0]|0){case 12:Wa=La;Va=Ga;eb=1;db=pa;xb=ya;Zb=Ka;fb=ha;jb=39;break b;case 7:pb=Ca;ub=Ga;Ta=La;Ya=pa;Sa=ya;mb=Ka;break c;case 11:case 9:break;default:Db=Ga;cc=La;Za=pa;ia=ya;qa=Ka;Ja=ha;jb=16;break b}Ea=a[(Ca<<3)+9308>>2]|0;fa=La;ja=Ga;pa=Ea+pa|0;ya=Ea+ya|0;ra=Ka}ra=a[(pb<<3)+9308>>2]|0;ya=ra+Ya|0;pa=ha+4|0;a[ha>>2]=ya;ja=ra+Sa|0;if((ja|0)<(n|0))ea=Ta,wa=ub,Ma=0,xa=ja,$a=mb;else{la=Ta;Ba=ub;va=Z;za=ja;ta=mb;nb=pa;break}c:for(;;){do if(13>(wa|0)){if($a>>>
-0>=G>>>0)if(wa){lb=ea;gb=13;hb=$a;break}else{Aa=R;oa=ea;sa=Z;Qa=Ma;ua=xa;Ia=$a;Da=pa;break a}ja=$a+1|0;ra=(x[p+(x[$a>>0]|0)>>0]|0)<<wa|ea;fa=wa+8|0;13>(fa|0)?ja>>>0<G>>>0?(lb=(x[p+(x[ja>>0]|0)>>0]|0)<<fa|ra,gb=wa+16|0,hb=$a+2|0):(lb=ra,gb=13,hb=ja):(lb=ra,gb=fa,hb=ja)}else lb=ea,gb=wa,hb=$a;while(0);ja=lb&8191;fa=x[(ja<<3)+42073>>0]|0;ra=gb-fa|0;Ea=lb>>>fa;switch(x[42072+(ja<<3)>>0]|0){case 12:Wa=Ea;Va=ra;eb=1;db=Ma;xb=xa;Zb=hb;fb=pa;jb=39;break b;case 8:ob=ja;Bb=ra;qb=Ea;kb=Ma;ib=xa;Cb=hb;break c;
-case 11:case 10:break;default:ab=ra;sb=Ea;Xa=pa;Fa=Ma;Pa=xa;Eb=hb;jb=26;break b}fa=a[(ja<<3)+42076>>2]|0;ea=Ea;wa=ra;Ma=fa+Ma|0;xa=fa+xa|0;$a=hb}fa=a[(ob<<3)+42076>>2]|0;ra=fa+kb|0;Ea=ha+8|0;a[pa>>2]=ra;ja=fa+ib|0;if((ja|0)>=(n|0)){la=qb;Ba=Bb;va=Z;za=ja;ta=Cb;nb=Ea;break}ga=qb;aa=Bb;ma=ja;ca=Cb;ha=0==(ra|ya|0)?ha:Ea}16==(jb|0)?(jb=0,ha=a[F>>2]|0,ca=0!=(a[N>>2]&1024|0),ma=a[(ca?O:M)>>2]|0,a[k>>2]=a[K>>2],a[k+4>>2]=ca?142996:143001,a[k+8>>2]=ma,a[k+12>>2]=ia,Y(ha,142982,143007,k),Wa=cc,Va=Db,eb=Z,
-db=Za,xb=ia,Zb=qa,fb=Ja,jb=39):26==(jb|0)&&(jb=0,ha=a[F>>2]|0,ma=0!=(a[N>>2]&1024|0),ca=a[(ma?O:M)>>2]|0,a[m>>2]=a[K>>2],a[m+4>>2]=ma?142996:143001,a[m+8>>2]=ca,a[m+12>>2]=Pa,Y(ha,142982,143007,m),Wa=sb,Va=ab,eb=Z,db=Fa,xb=Pa,Zb=Eb,fb=Xa,jb=39);39==(jb|0)&&(jb=0,db?(a[fb>>2]=db,la=Wa,Ba=Va,va=eb,za=xb,ta=Zb,nb=fb+4|0):(la=Wa,Ba=Va,va=eb,za=xb,ta=Zb,nb=fb));do if((za|0)==(n|0))vb=nb;else{ha=a[K>>2]|0;ca=a[F>>2]|0;ma=0!=(a[N>>2]&1024|0);aa=a[(ma?O:M)>>2]|0;a[f>>2]=za>>>0<n>>>0?143089:143103;a[f+4>>
-2]=ha;a[f+8>>2]=ma?142996:143001;a[f+12>>2]=aa;a[f+16>>2]=za;a[f+20>>2]=n;Wb(ca,142982,143124,f);ca=(za|0)>(n|0);if(nb>>>0>D>>>0&ca)for(aa=za,ma=nb;;)if(ha=ma+-4|0,ga=aa-(a[ha>>2]|0)|0,Ea=(ga|0)>(n|0),ha>>>0>D>>>0&Ea)aa=ga,ma=ha;else{tb=Ea;bb=ga;Ib=ha;break}else tb=ca,bb=za,Ib=nb;(bb|0)>=(n|0)?tb?(a[Ib>>2]=n,a[Ib+4>>2]=0,vb=Ib+8|0):vb=Ib:(Ib-S&4?(a[Ib>>2]=0,Mb=Ib+4|0):Mb=Ib,a[Mb>>2]=n-(0>(bb|0)?0:bb),vb=Mb+4|0)}while(0);Ud[a[T>>2]&31](R,D,vb,n);X?P?(rb=la,Ua=Ba,Ab=ta):(ma=Ba&-16,aa=la>>>(Ba-ma|0),
-ma?(rb=aa,Ua=ma,Ab=ta):(rb=aa,Ua=0,Ab=0==(ta&1|0)?ta:ta+1|0)):(ma=Ba&-8,rb=la>>>(Ba-ma|0),Ua=ma,Ab=ta);ma=a[t>>2]|0;W=W-ma|0;a[K>>2]=(a[K>>2]|0)+1;if(0>=(W|0)){Jb=rb;Hb=Ua;yb=va;cb=Ab;jb=57;break}else R=R+ma|0,ba=rb,U=Ua,Z=va,da=Ab}if(57==(jb|0))gc=a[V>>2]|0,Ub=a[J>>2]|0,Fb=Jb,Lb=Hb,Gb=yb,Kb=cb;else{da=a[F>>2]|0;Z=0!=(a[N>>2]&1024|0);U=a[(Z?O:M)>>2]|0;a[h>>2]=a[K>>2];a[h+4>>2]=Z?142996:143001;a[h+8>>2]=U;a[h+12>>2]=ua;Wb(da,142982,143048,h);Qa?(a[Da>>2]=Qa,Qb=Da+4|0):Qb=Da;do if((ua|0)==(n|0))wb=
-Qb;else{da=a[K>>2]|0;U=a[F>>2]|0;Z=0!=(a[N>>2]&1024|0);ba=a[(Z?O:M)>>2]|0;a[g>>2]=ua>>>0<n>>>0?143089:143103;a[g+4>>2]=da;a[g+8>>2]=Z?142996:143001;a[g+12>>2]=ba;a[g+16>>2]=ua;a[g+20>>2]=n;Wb(U,142982,143124,g);U=(ua|0)>(n|0);if(Qb>>>0>D>>>0&U)for(ba=ua,Z=Qb;;)if(da=Z+-4|0,R=ba-(a[da>>2]|0)|0,W=(R|0)>(n|0),da>>>0>D>>>0&W)ba=R,Z=da;else{Pb=W;Sb=R;zb=da;break}else Pb=U,Sb=ua,zb=Qb;(Sb|0)>=(n|0)?Pb?(a[zb>>2]=n,a[zb+4>>2]=0,wb=zb+8|0):wb=zb:(zb-S&4?(a[zb>>2]=0,Ob=zb+4|0):Ob=zb,a[Ob>>2]=n-(0>(Sb|0)?0:
-Sb),wb=Ob+4|0)}while(0);Ud[a[T>>2]&31](Aa,D,wb,n);a[z>>2]=0;a[w>>2]=oa;a[C>>2]=sa;a[J>>2]=(a[V>>2]|0)-Ia+(a[J>>2]|0);a[V>>2]=Ia;r=-1;u=e;return r|0}}else gc=E,Ub=I,Fb=v,Lb=Q,Gb=A,Kb=E;while(0);a[z>>2]=Lb;a[w>>2]=Fb;a[C>>2]=Gb;a[J>>2]=gc-Kb+Ub;a[V>>2]=Kb;r=1;u=e;return r|0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,t=0,r=0,w=0,v=0,z=0,Q=0,C=0,A=0,V=0,E=0,J=0,I=0,G=0,D=0,K=0,F=0,N=0,O=0,M=0,T=0,X=0,P=0,S=0,R=0,W=0,ba=0,U=0,Z=0,da=0,ga=0,aa=0,ma=0,ca=0,ha=0,fa=0,ja=
-0,pa=0,ya=0,ra=0,Aa=0,oa=0,sa=0,Ka=0,ua=0,Ia=0,Da=0,na=0,Na=0,Qa=0,Ca=0,Ga=0,Ea=0,La=0,Wa=0,Va=0,eb=0,fb=0,xb=0,db=0,lb=0,jb=0,pb=0,ub=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,cc=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,rb=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,ab=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Ab=0,Ua=0,Hb=0,Jb=0,Lb=0,yb=0,cb=0,Gb=0,Ub=0,Fb=0,Kb=0,Qb=0,Pb=0,Sb=0,wb=0,ac=0,ec=0,zb=0,Ob=0,Tb=0,Vb=0,Yb=0,fc=0,kc=0,jc=0,$b=0,lc=0,nc=0,yc=0,xc=0,vc=0,hc=0,
-Bc=0;e=u;u=u+128|0;f=e+104|0;g=e+80|0;h=e+56|0;m=e+40|0;k=e+24|0;l=e+8|0;n=a[b+576>>2]|0;p=a[n+12>>2]|0;q=a[n+44>>2]|0;t=n+8|0;if((c|0)%(a[t>>2]|0)|0)return Y(a[b+628>>2]|0,144038,153793,e),r=-1,u=e,r|0;w=n+48|0;v=a[w>>2]|0;z=n+52|0;Q=a[z>>2]|0;C=n+56|0;A=a[C>>2]|0;V=b+604|0;E=a[V>>2]|0;J=b+608|0;I=a[J>>2]|0;G=E+I|0;D=a[n+72>>2]|0;a:do{if(0<(c|0)){K=n+92|0;F=b+628|0;N=b+12|0;O=b+492|0;M=b+452|0;T=n+60|0;X=D;P=d;S=c;R=v;W=Q;ba=A;U=E;b:for(;;){c:do if(ba)sa=R,Ka=W,ua=U;else for(Z=R,da=W,ga=U;;){do if(11>
-(da|0)){if(ga>>>0>=G>>>0)if(da){ja=Z;pa=11;ya=ga;break}else{aa=P;ma=Z;ca=0;ha=ga;fa=67;break b}ra=ga+1|0;Aa=(x[q+(x[ga>>0]|0)>>0]|0)<<da|Z;oa=da+8|0;11>(oa|0)?ra>>>0<G>>>0?(ja=(x[q+(x[ra>>0]|0)>>0]|0)<<oa|Aa,pa=da+16|0,ya=ga+2|0):(ja=Aa,pa=11,ya=ra):(ja=Aa,pa=oa,ya=ra)}else ja=Z,pa=da,ya=ga;while(0);if(!(ja&2047)){sa=ja;Ka=pa;ua=ya;break c}Z=ja>>>1;da=pa+-1|0;ga=ya}while(0);for(;;){do if(8>(Ka|0))if(ua>>>0>=G>>>0)if(Ka)Ia=sa,Da=8,na=ua;else{aa=P;ma=sa;ca=ba;ha=ua;fa=67;break b}else Ia=(x[q+(x[ua>>
-0]|0)>>0]|0)<<Ka|sa,Da=Ka+8|0,na=ua+1|0;else Ia=sa,Da=Ka,na=ua;while(0);if(Ia&255){Na=Ia;Qa=Da;Ca=na;break}sa=Ia>>>8;Ka=Da+-8|0;ua=na}ga=Na;for(da=Qa;;)if(Z=da+-1|0,ra=ga>>>1,ga&1){Ga=ra;Ea=Z;La=0;Wa=Ca;Va=D;break}else ga=ra,da=Z;c:for(;;){da=Ga;ga=Ea;Z=0;ra=La;oa=Wa;d:for(;;){do if(12>(ga|0)){if(oa>>>0>=G>>>0)if(ga){pb=da;ub=12;Ta=oa;break}else{eb=P;fb=da;xb=Z;db=ra;lb=oa;jb=Va;fa=44;break b}Aa=oa+1|0;Ya=(x[q+(x[oa>>0]|0)>>0]|0)<<ga|da;Sa=ga+8|0;12>(Sa|0)?Aa>>>0<G>>>0?(pb=(x[q+(x[Aa>>0]|0)>>0]|0)<<
-Sa|Ya,ub=ga+16|0,Ta=oa+2|0):(pb=Ya,ub=12,Ta=Aa):(pb=Ya,ub=Sa,Ta=Aa)}else pb=da,ub=ga,Ta=oa;while(0);Aa=pb&4095;Sa=x[(Aa<<3)+9305>>0]|0;Ya=ub-Sa|0;mb=pb>>>Sa;switch(x[9304+(Aa<<3)>>0]|0){case 12:Db=mb;cc=Ya;Za=1;ia=Z;qa=ra;Ja=Ta;ea=Va;fa=55;break c;case 7:wa=Aa;Ma=Ya;xa=mb;$a=Z;la=ra;Ba=Ta;break d;case 11:case 9:break;default:va=Ya;za=mb;ta=Z;nb=ra;rb=Ta;gb=Va;fa=32;break c}Sa=a[(Aa<<3)+9308>>2]|0;da=mb;ga=Ya;Z=Sa+Z|0;ra=Sa+ra|0;oa=Ta}oa=a[(wa<<3)+9308>>2]|0;ra=oa+$a|0;Z=Va+4|0;a[Va>>2]=ra;ga=oa+la|
-0;if((ga|0)<(p|0))hb=xa,ob=Ma,Bb=0,qb=ga,kb=Ba;else{ib=xa;Cb=Ma;ab=0;sb=ga;Xa=Ba;Fa=Z;break}d:for(;;){do if(13>(ob|0)){if(kb>>>0>=G>>>0)if(ob){Pa=hb;Eb=13;vb=kb;break}else{eb=P;fb=hb;xb=Bb;db=qb;lb=kb;jb=Z;fa=44;break b}ga=kb+1|0;oa=(x[q+(x[kb>>0]|0)>>0]|0)<<ob|hb;da=ob+8|0;13>(da|0)?ga>>>0<G>>>0?(Pa=(x[q+(x[ga>>0]|0)>>0]|0)<<da|oa,Eb=ob+16|0,vb=kb+2|0):(Pa=oa,Eb=13,vb=ga):(Pa=oa,Eb=da,vb=ga)}else Pa=hb,Eb=ob,vb=kb;while(0);ga=Pa&8191;da=x[(ga<<3)+42073>>0]|0;oa=Eb-da|0;Sa=Pa>>>da;switch(x[42072+
-(ga<<3)>>0]|0){case 12:Db=Sa;cc=oa;Za=1;ia=Bb;qa=qb;Ja=vb;ea=Z;fa=55;break c;case 8:tb=ga;bb=oa;Ib=Sa;Mb=Bb;Ab=qb;Ua=vb;break d;case 11:case 10:break;default:Hb=oa;Jb=Sa;Lb=Z;yb=Bb;cb=qb;Gb=vb;fa=42;break c}da=a[(ga<<3)+42076>>2]|0;hb=Sa;ob=oa;Bb=da+Bb|0;qb=da+qb|0;kb=vb}da=a[(tb<<3)+42076>>2]|0;oa=da+Mb|0;Sa=Va+8|0;a[Z>>2]=oa;ga=da+Ab|0;if((ga|0)>=(p|0)){ib=Ib;Cb=bb;ab=0;sb=ga;Xa=Ua;Fa=Sa;break}Ga=Ib;Ea=bb;La=ga;Wa=Ua;Va=0==(oa|ra|0)?Va:Sa}32==(fa|0)?(fa=0,Sa=a[F>>2]|0,oa=0!=(a[N>>2]&1024|0),ga=
-a[(oa?O:M)>>2]|0,a[l>>2]=a[K>>2],a[l+4>>2]=oa?142996:143001,a[l+8>>2]=ga,a[l+12>>2]=nb,Y(Sa,144038,143007,l),Db=za,cc=va,Za=0,ia=ta,qa=nb,Ja=rb,ea=gb,fa=55):42==(fa|0)&&(fa=0,Sa=a[F>>2]|0,ga=0!=(a[N>>2]&1024|0),oa=a[(ga?O:M)>>2]|0,a[k>>2]=a[K>>2],a[k+4>>2]=ga?142996:143001,a[k+8>>2]=oa,a[k+12>>2]=cb,Y(Sa,144038,143007,k),Db=Jb,cc=Hb,Za=0,ia=yb,qa=cb,Ja=Gb,ea=Lb,fa=55);55==(fa|0)&&(fa=0,ia?(a[ea>>2]=ia,ib=Db,Cb=cc,ab=Za,sb=qa,Xa=Ja,Fa=ea+4|0):(ib=Db,Cb=cc,ab=Za,sb=qa,Xa=Ja,Fa=ea));do if((sb|0)==(p|
-0))Ub=Fa;else{Sa=a[K>>2]|0;oa=a[F>>2]|0;ga=0!=(a[N>>2]&1024|0);da=a[(ga?O:M)>>2]|0;a[g>>2]=sb>>>0<p>>>0?143089:143103;a[g+4>>2]=Sa;a[g+8>>2]=ga?142996:143001;a[g+12>>2]=da;a[g+16>>2]=sb;a[g+20>>2]=p;Wb(oa,144038,143124,g);oa=(sb|0)>(p|0);if(oa&Fa>>>0>D>>>0)for(da=sb,ga=Fa;;)if(Sa=ga+-4|0,Ya=da-(a[Sa>>2]|0)|0,mb=(Ya|0)>(p|0),mb&Sa>>>0>D>>>0)da=Ya,ga=Sa;else{Fb=mb;Kb=Ya;Qb=Sa;break}else Fb=oa,Kb=sb,Qb=Fa;(Kb|0)>=(p|0)?Fb?(a[Qb>>2]=p,a[Qb+4>>2]=0,Ub=Qb+8|0):Ub=Qb:(Qb-X&4?(a[Qb>>2]=0,Pb=Qb+4|0):Pb=Qb,
-a[Pb>>2]=p-(0>(Kb|0)?0:Kb),Ub=Pb+4|0)}while(0);Ud[a[T>>2]&31](P,D,Ub,p);ga=a[t>>2]|0;S=S-ga|0;a[K>>2]=(a[K>>2]|0)+1;if(0>=(S|0)){Sb=ib;wb=Cb;ac=ab;ec=Xa;fa=71;break}else P=P+ga|0,R=ib,W=Cb,ba=ab,U=Xa}do if(44==(fa|0))if(U=a[F>>2]|0,ba=0!=(a[N>>2]&1024|0),W=a[(ba?O:M)>>2]|0,a[m>>2]=a[K>>2],a[m+4>>2]=ba?142996:143001,a[m+8>>2]=W,a[m+12>>2]=db,Wb(U,144038,143048,m),xb?(a[jb>>2]=xb,zb=jb+4|0):zb=jb,(db|0)==(p|0))Ob=eb,Tb=fb,Vb=0,Yb=lb,fc=zb;else{U=a[K>>2]|0;W=a[F>>2]|0;ba=0!=(a[N>>2]&1024|0);R=a[(ba?
-O:M)>>2]|0;a[h>>2]=db>>>0<p>>>0?143089:143103;a[h+4>>2]=U;a[h+8>>2]=ba?142996:143001;a[h+12>>2]=R;a[h+16>>2]=db;a[h+20>>2]=p;Wb(W,144038,143124,h);W=(db|0)>(p|0);if(W&zb>>>0>D>>>0)for(R=db,ba=zb;;)if(U=ba+-4|0,P=R-(a[U>>2]|0)|0,S=(P|0)>(p|0),S&U>>>0>D>>>0)R=P,ba=U;else{kc=S;jc=P;$b=U;break}else kc=W,jc=db,$b=zb;(jc|0)>=(p|0)?kc?(a[$b>>2]=p,a[$b+4>>2]=0,Ob=eb,Tb=fb,Vb=0,Yb=lb,fc=$b+8|0):(Ob=eb,Tb=fb,Vb=0,Yb=lb,fc=$b):($b-X&4?(a[$b>>2]=0,lc=$b+4|0):lc=$b,a[lc>>2]=p-(0>(jc|0)?0:jc),Ob=eb,Tb=fb,Vb=0,
-Yb=lb,fc=lc+4|0)}else if(67==(fa|0))p?(ba=a[K>>2]|0,R=a[F>>2]|0,U=0!=(a[N>>2]&1024|0),P=a[(U?O:M)>>2]|0,a[f>>2]=143089,a[f+4>>2]=ba,a[f+8>>2]=U?142996:143001,a[f+12>>2]=P,a[f+16>>2]=0,a[f+20>>2]=p,Wb(R,144038,143124,f),R=D+4|0,a[D>>2]=p,0<(p|0)?(Ob=aa,Tb=ma,Vb=ca,Yb=ha,fc=R):(a[R>>2]=0,Ob=aa,Tb=ma,Vb=ca,Yb=ha,fc=D+8|0)):(Ob=aa,Tb=ma,Vb=ca,Yb=ha,fc=D);else if(71==(fa|0)){nc=a[V>>2]|0;yc=a[J>>2]|0;xc=Sb;vc=wb;hc=ac;Bc=ec;break a}while(0);Ud[a[T>>2]&31](Ob,D,fc,p);a[z>>2]=0;a[w>>2]=Tb;a[C>>2]=Vb;a[J>>
-2]=(a[V>>2]|0)-Yb+(a[J>>2]|0);a[V>>2]=Yb;r=-1;u=e;return r|0}nc=E;yc=I;xc=v;vc=Q;hc=A;Bc=E}while(0);a[z>>2]=vc;a[w>>2]=xc;a[C>>2]=hc;a[J>>2]=nc-Bc+yc;a[V>>2]=Bc;r=1;u=e;return r|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m=0,k,l,n,p,q,r,B,w,x,z,v,C,A,V,E,J,I,G,D;e=u;u=u+16|0;f=b+576|0;g=a[f>>2]|0;h=g+8|0;if((c|0)%(a[h>>2]|0)|0)return Y(a[b+628>>2]|0,143992,143203,e),u=e,0;if(0>=(c|0))return u=e,1;k=g+4|0;l=b+608|0;n=b+592|0;p=b+604|0;q=g+28|0;r=g+12|0;B=g+76|0;w=g+84|0;x=g+88|0;z=g+80|0;g=d;d=
-c;a:for(;;){if(!(a[k>>2]&2)){c=a[f>>2]|0;v=c+52|0;C=a[v>>2]|0;A=c+48|0;V=a[A>>2]|0;E=c+28|0;do if(4==(C|0)|0==(a[E>>2]&4|0))I=C,G=V;else if(J=4>(C|0)?4:-4,I=J+C|0,C>>>0>=I>>>0){if(9<=I>>>0){b=14;break a}I=0-J|0;G=V}else{J=a[l>>2]|0;D=C;for(G=V&255;;)if(I=I-D|0,(J|0)>=(a[n>>2]|0)&&Lc(b)|0,J=a[p>>2]|0,a[p>>2]=J+1,t[J>>0]=G,J=(a[l>>2]|0)+1|0,a[l>>2]=J,8<I>>>0)D=8,G=0;else{G=I;break}I=8-G|0;8==(G|0)&&((J|0)>=(a[n>>2]|0)&&Lc(b)|0,G=a[p>>2]|0,a[p>>2]=G+1,t[G>>0]=0,a[l>>2]=(a[l>>2]|0)+1,I=8);G=0}while(0);
-a[E>>2]&1?(c=0==(a[c+76>>2]|0)|2,E=13):(c=1,E=12);if(E>>>0<=I>>>0){b=26;break}V=a[l>>2]|0;C=I;I=G;for(G=E;;)if(D=G-C|0,(V|0)>=(a[n>>2]|0)&&Lc(b)|0,J=a[p>>2]|0,a[p>>2]=J+1,t[J>>0]=c>>>D|I,J=(a[l>>2]|0)+1|0,a[l>>2]=J,8<D>>>0)V=J,C=8,I=0,G=D;else{C=D;V=J;break}G=8-C|0;I=(a[8064+(C<<2)>>2]&c)<<G;8==(C|0)?((V|0)>=(a[n>>2]|0)&&Lc(b)|0,C=a[p>>2]|0,a[p>>2]=C+1,t[C>>0]=I,a[l>>2]=(a[l>>2]|0)+1,C=8,V=0):(C=G,V=I);a[A>>2]=V;a[v>>2]=C}a[q>>2]&1?(a[B>>2]|0?(bl(b,g,a[z>>2]|0,a[r>>2]|0),I=(a[w>>2]|0)+-1|0,v=a[w>>
-2]=I):(cl(b,g,a[r>>2]|0),a[B>>2]=1,v=a[w>>2]|0),v?Ab(a[z>>2]|0,g,a[h>>2]|0):(a[B>>2]=0,a[w>>2]=(a[x>>2]|0)+-1)):cl(b,g,a[r>>2]|0);v=a[h>>2]|0;d=d-v|0;if(0>=(d|0)){m=1;b=41;break}else g=g+v|0}if(14==(b|0))Z(144003,142823,702,144013);else if(26==(b|0))Z(143169,142823,708,144013);else if(41==(b|0))return u=e,m|0;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,t=0,r=0,w=0,v=0,z=0,Q=0,C=0,A=0,V=0,E=0,J=0,I=0,G=0,D=0,K=0,F=0,N=0,O=0,M=0,T=0,X=0,P=0,S=0,R=0,W=0,ba=
-0,U=0,Z=0,da=0,ga=0,aa=0,ma=0,ca=0,ha=0,fa=0,ja=0,pa=0,ra=0,ya=0,Aa=0,oa=0,sa=0,Ka=0,ua=0,Ia=0,Da=0,na=0,Na=0,Qa=0,Ca=0,Ga=0,Ea=0,La=0,Wa=0,Va=0,eb=0,db=0,xb=0,fb=0,pb=0,jb=0,lb=0,ub=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,ab=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,rb=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,Ab=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Hb=0,Ua=0,Kb=0,Jb=0,Lb=0,yb=0,cb=0,Gb=0,Qb=0,Fb=0,Pb=0,Sb=0,Yb=0,Vb=0,wb=0,ac=0,ec=0,zb=0,Ob=0,Tb=0,fc=0,$b=0,jc=
-0,kc=0,lc=0,nc=0,yc=0,xc=0,vc=0,Bc=0,Cc=0,hc=0,Ec=0,Gc=0,Hc=0,Ic=0,Jc=0,Fc=0,zc=0,Lc=0,oc=0,Oc=0,Uc=0,Wc=0,ic=0,$c=0,ad=0,bd=0,Qc=0,Rc=0,Vc=0,Pc=0,Xc=0,cd=0,jd=0,dd=0,ld=0,hd=0,pd=0,md=0,Rb=0,od=0,tc=0,Xb=0,rc=0,ed=0,gd=0,sd=0,td=0,qd=0,rd=0,zd=0,Yc=0,wc=0,id=0,dc=0,Ac=0,Sc=0,Tc=0,Cd=0,Dd=0,Kd=0,vd=0,wd=0,Id=0,Ld=0,Nd=0,Od=0,Td=0,Xd=0,Sd=0,Yd=0,ce=0,oe=0,Pd=0,Vd=0,Md=0,le=0,ne=0,qe=0,se=0,he=0,te=0,de=0,He=0,ue=0,xe=0,Ae=0,ae=0,De=0,be=0,Fd=0,Rd=0,Gd=0,$d=0,ge=0,ud=0,xd=0,ie=0,je=0,we=0,re=0,Dc=0,
-yd=0,Ad=0,Me=0,Ne=0,Oe=0,Ye=0,Pe=0,ve=0,Je=0,ze=0,Qe=0,ee=0,Ze=0,me=0,ye=0,kf=0,Ve=0,df=0,We=0,ef=0,Ue=0,Ke=0,sf=0,$e=0,gf=0,nf=0,of=0,Kf=0,Lf=0,Nc=0,Mc=0,qc=0,Re=0,pe=0,uc=0,Uf=0,Wf=0,Se=0,Mf=0,Pf=0,Xe=0,Xf=0,Sf=0,Yf=0,rf=0,Hf=0,mf=0,uf=0,qh=0,vf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,pf=0,jg=0,bg=0,dg=0,mg=0,ng=0,eg=0,og=0,pg=0,qg=0,fg=0,tg=0,Dg=0,Tf=0,qf=0,Gf=0,If=0,eh=0,mh=0,nh=0,tf=0,fh=0,wf=0,xf=0,Jf=0,Vf=0,gg=0,Ig=0,rg=0,sg=0,Ng=0,Og=0,Gg=0,Vg=0,ah=0,bh=0,ch=0,Kg=0,oh=0,Pg=0,rh=0,vg=0,Eg=0,ih=0,jh=0,kh=
-0,lh=0,cg=0,wg=0,xg=0,yg=0,zg=0,Zf=0,ag=0,Ag=0,Tg=0,kg=0,hg=0,Fg=0,sh=0,Ug=0,lg=0,gh=0,Hg=0,Wg=0,Xg=0,Yg=0,Zg=0,$g=0,Jg=0;e=u;u=u+288|0;f=e+264|0;g=e+240|0;h=e+216|0;m=e+200|0;k=e+184|0;l=e+168|0;n=e+152|0;p=e+136|0;q=e+120|0;t=e+104|0;r=e+80|0;w=e+56|0;v=e+40|0;z=e+24|0;Q=e+8|0;C=a[b+576>>2]|0;A=a[C+12>>2]|0;V=a[C+44>>2]|0;E=C+8|0;if((c|0)%(a[E>>2]|0)|0)return Y(a[b+628>>2]|0,144240,153793,e),J=-1,u=e,J|0;I=C+48|0;G=a[I>>2]|0;D=C+52|0;K=a[D>>2]|0;F=C+56|0;N=a[F>>2]|0;O=b+604|0;M=a[O>>2]|0;T=b+608|
-0;X=a[T>>2]|0;P=M+X|0;a:do{if(0<(c|0)){S=C+72|0;R=C+68|0;W=0<(A|0);ba=C+92|0;U=b+628|0;Z=b+12|0;da=b+492|0;ga=b+452|0;aa=C+60|0;ma=d;ca=c;ha=a[S>>2]|0;fa=G;ja=K;pa=N;ra=M;b:for(;;){c:do if(pa)Wa=fa,Va=ja,eb=ra;else for(ya=fa,Aa=ja,oa=ra;;){do if(11>(Aa|0)){if(oa>>>0>=P>>>0)if(Aa){Na=ya;Qa=11;Ca=oa;break}else{sa=ma;Ka=ha;ua=ya;Ia=0;Da=oa;na=186;break b}Ga=oa+1|0;Ea=(x[V+(x[oa>>0]|0)>>0]|0)<<Aa|ya;La=Aa+8|0;11>(La|0)?Ga>>>0<P>>>0?(Na=(x[V+(x[Ga>>0]|0)>>0]|0)<<La|Ea,Qa=Aa+16|0,Ca=oa+2|0):(Na=Ea,Qa=11,
-Ca=Ga):(Na=Ea,Qa=La,Ca=Ga)}else Na=ya,Qa=Aa,Ca=oa;while(0);if(!(Na&2047)){Wa=Na;Va=Qa;eb=Ca;break c}ya=Na>>>1;Aa=Qa+-1|0;oa=Ca}while(0);for(;;){do if(8>(Va|0))if(eb>>>0>=P>>>0)if(Va)db=Wa,xb=8,fb=eb;else{sa=ma;Ka=ha;ua=Wa;Ia=pa;Da=eb;na=186;break b}else db=(x[V+(x[eb>>0]|0)>>0]|0)<<Va|Wa,xb=Va+8|0,fb=eb+1|0;else db=Wa,xb=Va,fb=eb;while(0);if(db&255){pb=db;jb=xb;lb=fb;break}Wa=db>>>8;Va=xb+-8|0;eb=fb}oa=pb;for(Aa=jb;;)if(ya=Aa+-1|0,Ga=oa>>>1,oa&1){ub=ya;Ta=Ga;Ya=Aa;break}else oa=Ga,Aa=ya;do if(2>(Ya|
-0))if(lb>>>0>=P>>>0)if(ub)Sa=Ta,mb=1,Db=lb;else{sa=ma;Ka=ha;ua=Ta;Ia=0;Da=lb;na=186;break b}else Sa=(x[V+(x[lb>>0]|0)>>0]|0)<<ub|Ta,mb=Ya+7|0,Db=lb+1|0;else Sa=Ta,mb=ub,Db=lb;while(0);Aa=mb+-1|0;oa=Sa>>>1;Ga=a[R>>2]|0;ya=Ga+4|0;La=a[Ga>>2]|0;do if(Sa&1){va=oa;ea=Aa;wa=0;qa=Db;ia=ha;c:for(;;){Za=va;ab=ea;Ea=0;Ga=wa;Ba=qa;d:for(;;){do if(12>(ab|0)){if(Ba>>>0>=P>>>0)if(ab){mf=Za;uf=12;qh=Ba;break}else{Pf=ma;Xe=ha;Xf=Za;Sf=Ea;Yf=Ga;rf=Ba;Hf=ia;na=51;break b}Ma=Ba+1|0;la=(x[V+(x[Ba>>0]|0)>>0]|0)<<ab|Za;
-xa=ab+8|0;12>(xa|0)?Ma>>>0<P>>>0?(mf=(x[V+(x[Ma>>0]|0)>>0]|0)<<xa|la,uf=ab+16|0,qh=Ba+2|0):(mf=la,uf=12,qh=Ma):(mf=la,uf=xa,qh=Ma)}else mf=Za,uf=ab,qh=Ba;while(0);Ma=mf&4095;xa=x[(Ma<<3)+9305>>0]|0;la=uf-xa|0;$a=mf>>>xa;switch(x[9304+(Ma<<3)>>0]|0){case 12:vf=$a;yf=la;zf=1;Af=Ea;Bf=Ga;Cf=qh;pf=ia;na=62;break c;case 7:jg=Ma;bg=la;dg=$a;mg=Ea;ng=Ga;eg=qh;break d;case 11:case 9:break;default:og=la;pg=$a;qg=Ea;fg=Ga;tg=qh;Dg=ia;na=38;break c}xa=a[(Ma<<3)+9308>>2]|0;Za=$a;ab=la;Ea=xa+Ea|0;Ga=xa+Ga|0;Ba=
-qh}Ba=a[(jg<<3)+9308>>2]|0;Ga=Ba+mg|0;Ea=ia+4|0;a[ia>>2]=Ga;ab=Ba+ng|0;if((ab|0)<(A|0))Tf=dg,qf=bg,Gf=0,If=ab,eh=eg;else{mh=dg;nh=bg;tf=0;fh=ab;wf=eg;xf=Ea;break}d:for(;;){do if(13>(qf|0)){if(eh>>>0>=P>>>0)if(qf){Jf=Tf;Vf=13;gg=eh;break}else{Pf=ma;Xe=ha;Xf=Tf;Sf=Gf;Yf=If;rf=eh;Hf=Ea;na=51;break b}ab=eh+1|0;Ba=(x[V+(x[eh>>0]|0)>>0]|0)<<qf|Tf;Za=qf+8|0;13>(Za|0)?ab>>>0<P>>>0?(Jf=(x[V+(x[ab>>0]|0)>>0]|0)<<Za|Ba,Vf=qf+16|0,gg=eh+2|0):(Jf=Ba,Vf=13,gg=ab):(Jf=Ba,Vf=Za,gg=ab)}else Jf=Tf,Vf=qf,gg=eh;while(0);
-ab=Jf&8191;Za=x[(ab<<3)+42073>>0]|0;Ba=Vf-Za|0;xa=Jf>>>Za;switch(x[42072+(ab<<3)>>0]|0){case 12:vf=xa;yf=Ba;zf=1;Af=Gf;Bf=If;Cf=gg;pf=Ea;na=62;break c;case 8:Ig=ab;rg=Ba;sg=xa;Ng=Gf;Og=If;Gg=gg;break d;case 11:case 10:break;default:Vg=Ba;ah=xa;bh=Ea;ch=Gf;Kg=If;oh=gg;na=48;break c}Za=a[(ab<<3)+42076>>2]|0;Tf=xa;qf=Ba;Gf=Za+Gf|0;If=Za+If|0;eh=gg}Za=a[(Ig<<3)+42076>>2]|0;Ba=Za+Ng|0;xa=ia+8|0;a[Ea>>2]=Ba;ab=Za+Og|0;if((ab|0)>=(A|0)){mh=sg;nh=rg;tf=0;fh=ab;wf=Gg;xf=xa;break}va=sg;ea=rg;wa=ab;qa=Gg;ia=
-0==(Ba|Ga|0)?ia:xa}38==(na|0)?(na=0,ia=a[U>>2]|0,qa=0!=(a[Z>>2]&1024|0),wa=a[(qa?da:ga)>>2]|0,a[Q>>2]=a[ba>>2],a[Q+4>>2]=qa?142996:143001,a[Q+8>>2]=wa,a[Q+12>>2]=fg,Y(ia,144240,143007,Q),vf=pg,yf=og,zf=0,Af=qg,Bf=fg,Cf=tg,pf=Dg,na=62):48==(na|0)&&(na=0,ia=a[U>>2]|0,wa=0!=(a[Z>>2]&1024|0),qa=a[(wa?da:ga)>>2]|0,a[z>>2]=a[ba>>2],a[z+4>>2]=wa?142996:143001,a[z+8>>2]=qa,a[z+12>>2]=Kg,Y(ia,144240,143007,z),vf=ah,yf=Vg,zf=0,Af=ch,Bf=Kg,Cf=oh,pf=bh,na=62);62==(na|0)&&(na=0,Af?(a[pf>>2]=Af,mh=vf,nh=yf,tf=
-zf,fh=Bf,wf=Cf,xf=pf+4|0):(mh=vf,nh=yf,tf=zf,fh=Bf,wf=Cf,xf=pf));if((fh|0)==(A|0))Mc=mh,qc=nh,Re=tf,pe=wf,uc=xf;else{ia=a[ba>>2]|0;qa=a[U>>2]|0;wa=0!=(a[Z>>2]&1024|0);ea=a[(wa?da:ga)>>2]|0;a[r>>2]=fh>>>0<A>>>0?143089:143103;a[r+4>>2]=ia;a[r+8>>2]=wa?142996:143001;a[r+12>>2]=ea;a[r+16>>2]=fh;a[r+20>>2]=A;Wb(qa,144240,143124,r);qa=(fh|0)>(A|0);if(xf>>>0>ha>>>0&qa)for(ea=fh,wa=xf;;)if(ia=wa+-4|0,va=ea-(a[ia>>2]|0)|0,Ja=(va|0)>(A|0),ia>>>0>ha>>>0&Ja)ea=va,wa=ia;else{Pg=Ja;rh=va;vg=ia;break}else Pg=qa,
-rh=fh,vg=xf;(rh|0)>=(A|0)?Pg?(a[vg>>2]=A,a[vg+4>>2]=0,Mc=mh,qc=nh,Re=tf,pe=wf,uc=vg+8|0):(Mc=mh,qc=nh,Re=tf,pe=wf,uc=vg):(vg-ha&4?(a[vg>>2]=0,Eg=vg+4|0):Eg=vg,a[Eg>>2]=A-(0>(rh|0)?0:rh),Mc=mh,qc=nh,Re=tf,pe=wf,uc=Eg+4|0)}}else{c:do if(W){Ga=ha;Ea=oa;ab=Aa;ia=Za=0;qa=La;Ja=Db;ea=ha;wa=ya;d:for(;;){Ma=(ea|0)==(ha|0);e:do if(Ma)for(xa=Ea,$a=ab,la=0,Ba=Za,va=ia,za=qa,ta=Ja,nb=wa;;){do if(7>($a|0))if(ta>>>0>=P>>>0)if($a)Cb=xa,Ab=7,sb=ta;else{rb=ma;gb=ha;hb=xa;ob=0;Bb=la;qb=va;kb=ta;ib=ha;na=154;break b}else Cb=
-(x[V+(x[ta>>0]|0)>>0]|0)<<$a|xa,Ab=$a+8|0,sb=ta+1|0;else Cb=xa,Ab=$a,sb=ta;while(0);Xa=Cb&127;Fa=x[(Xa<<3)+8281>>0]|0;Pa=Ab-Fa|0;Eb=Cb>>>Fa;switch(x[8280+(Xa<<3)>>0]|0){case 6:vb=Pa;tb=Eb;bb=la;Ib=va;Mb=sb;Hb=ha;na=143;break d;case 12:Ua=Fa;Kb=Pa;Jb=Eb;Lb=Ab;yb=la;cb=va;Gb=sb;Qb=ha;na=144;break d;case 2:Fb=Pa;Pb=Eb;Sb=la;Yb=va;Vb=za;wb=sb;ac=nb;na=88;break e;case 3:ec=Pa;zb=Eb;Ob=la;Tb=va;fc=Ba;$b=za;jc=sb;kc=nb;na=128;break e;case 4:lc=Xa;nc=Pa;yc=Eb;xc=la;vc=va;Bc=Ba;Cc=za;hc=sb;Ec=nb;na=132;break e;
-case 5:Gc=Xa;Hc=Pa;Ic=Eb;Jc=la;Fc=va;zc=za;Lc=sb;oc=nb;na=136;break e;case 1:break;default:Oc=Eb;Uc=Pa;Wc=la;ic=va;$c=sb;ad=ha;na=151;break d}Xa=(a[nb>>2]|0)+za|0;Fa=Ba+la+Xa|0;if((A|0)>(Xa|0))xa=Eb,$a=Pa,la=Fa,Ba=0-Xa|0,va=Xa,za=Xa+(a[nb+4>>2]|0)|0,ta=sb,nb=nb+8|0;else{bd=Eb;Qc=Pa;Rc=Fa;Vc=Xa;Pc=sb;Xc=ha;na=165;break d}}else for(nb=Ea,ta=ab,za=0,va=Za,Ba=ia,la=qa,$a=Ja,xa=wa;;){do if(7>(ta|0))if($a>>>0>=P>>>0)if(ta)cd=nb,jd=7,dd=$a;else{rb=ma;gb=ha;hb=nb;ob=0;Bb=za;qb=Ba;kb=$a;ib=ea;na=154;break b}else cd=
-(x[V+(x[$a>>0]|0)>>0]|0)<<ta|nb,jd=ta+8|0,dd=$a+1|0;else cd=nb,jd=ta,dd=$a;while(0);Xa=cd&127;Fa=x[(Xa<<3)+8281>>0]|0;Pa=jd-Fa|0;Eb=cd>>>Fa;switch(x[8280+(Xa<<3)>>0]|0){case 6:vb=Pa;tb=Eb;bb=za;Ib=Ba;Mb=dd;Hb=ea;na=143;break d;case 12:Ua=Fa;Kb=Pa;Jb=Eb;Lb=jd;yb=za;cb=Ba;Gb=dd;Qb=ea;na=144;break d;case 2:Fb=Pa;Pb=Eb;Sb=za;Yb=Ba;Vb=la;wb=dd;ac=xa;na=88;break e;case 3:ec=Pa;zb=Eb;Ob=za;Tb=Ba;fc=va;$b=la;jc=dd;kc=xa;na=128;break e;case 4:lc=Xa;nc=Pa;yc=Eb;xc=za;vc=Ba;Bc=va;Cc=la;hc=dd;Ec=xa;na=132;break e;
-case 5:Gc=Xa;Hc=Pa;Ic=Eb;Jc=za;Fc=Ba;zc=la;Lc=dd;oc=xa;na=136;break e;case 1:break;default:Oc=Eb;Uc=Pa;Wc=za;ic=Ba;$c=dd;ad=ea;na=151;break d}if((la|0)<=(Ba|0)&(la|0)<(A|0))for(Xa=la,Fa=xa;;)if(ld=(a[Fa>>2]|0)+Xa+(a[Fa+4>>2]|0)|0,hd=Fa+8|0,(ld|0)<=(Ba|0)&(ld|0)<(A|0))Xa=ld,Fa=hd;else{pd=ld;md=hd;break}else pd=la,md=xa;Fa=(a[md>>2]|0)+pd|0;Xa=va+za+Fa|0;if((A|0)>(Fa|0))nb=Eb,ta=Pa,za=Xa,va=0-Fa|0,Ba=Fa,la=Fa+(a[md+4>>2]|0)|0,$a=dd,xa=md+8|0;else{bd=Eb;Qc=Pa;Rc=Xa;Vc=Fa;Pc=dd;Xc=ea;na=165;break d}}while(0);
-if(88==(na|0)){na=0;if(ea-Ga&4){va=Pb;nb=Fb;xa=Sb;$a=Yb;la=wb;e:for(;;){do if(13>(nb|0)){if(la>>>0>=P>>>0)if(nb){Pd=va;Vd=13;Md=la;break}else{rb=ma;gb=ha;hb=va;ob=0;Bb=xa;qb=$a;kb=la;ib=ea;na=154;break b}za=la+1|0;Fa=(x[V+(x[la>>0]|0)>>0]|0)<<nb|va;Xa=nb+8|0;13>(Xa|0)?za>>>0>=P>>>0?(Pd=Fa,Vd=13,Md=za):(Pd=(x[V+(x[za>>0]|0)>>0]|0)<<Xa|Fa,Vd=nb+16|0,Md=la+2|0):(Pd=Fa,Vd=Xa,Md=za)}else Pd=va,Vd=nb,Md=la;while(0);za=Pd&8191;Xa=x[(za<<3)+42073>>0]|0;Fa=Vd-Xa|0;ta=Pd>>>Xa;switch(x[42072+(za<<3)>>0]|0){case 8:le=
-za;ne=Fa;qe=ta;se=xa;he=$a;te=Md;break e;case 11:case 10:break;default:Id=ta;Ld=Fa;Nd=xa;Od=$a;Td=Md;Xd=ea;na=152;break d}Xa=a[(za<<3)+42076>>2]|0;va=ta;nb=Fa;xa=Xa+xa|0;$a=Xa+$a|0;la=Md}la=a[(le<<3)+42076>>2]|0;$a=ea+4|0;a[ea>>2]=la+se;xa=qe;nb=ne;va=0;Ba=la+he|0;la=te;e:for(;;){do if(12>(nb|0)){if(la>>>0>=P>>>0)if(nb){de=xa;He=12;ue=la;break}else{rb=ma;gb=ha;hb=xa;ob=0;Bb=va;qb=Ba;kb=la;ib=$a;na=154;break b}Xa=la+1|0;Fa=(x[V+(x[la>>0]|0)>>0]|0)<<nb|xa;ta=nb+8|0;12>(ta|0)?Xa>>>0>=P>>>0?(de=Fa,He=
-12,ue=Xa):(de=(x[V+(x[Xa>>0]|0)>>0]|0)<<ta|Fa,He=nb+16|0,ue=la+2|0):(de=Fa,He=ta,ue=Xa)}else de=xa,He=nb,ue=la;while(0);Xa=de&4095;ta=x[(Xa<<3)+9305>>0]|0;Fa=He-ta|0;za=de>>>ta;switch(x[9304+(Xa<<3)>>0]|0){case 7:xe=Xa;Ae=Fa;ae=za;De=va;be=Ba;Fd=ue;break e;case 11:case 9:break;default:qd=za;rd=Fa;zd=va;Yc=Ba;wc=ue;id=$a;na=153;break d}ta=a[(Xa<<3)+9308>>2]|0;xa=za;nb=Fa;va=ta+va|0;Ba=ta+Ba|0;la=ue}la=a[(xe<<3)+9308>>2]|0;a[$a>>2]=la+De;Sd=ae;Yd=Ae;ce=la+be|0;oe=Fd}else{xa=Pb;$a=Fb;la=Sb;Ba=Yb;va=
-wb;e:for(;;){do if(12>($a|0)){if(va>>>0>=P>>>0)if($a){Rb=xa;od=12;tc=va;break}else{rb=ma;gb=ha;hb=xa;ob=0;Bb=la;qb=Ba;kb=va;ib=ea;na=154;break b}za=va+1|0;ta=(x[V+(x[va>>0]|0)>>0]|0)<<$a|xa;nb=$a+8|0;12>(nb|0)?za>>>0>=P>>>0?(Rb=ta,od=12,tc=za):(Rb=(x[V+(x[za>>0]|0)>>0]|0)<<nb|ta,od=$a+16|0,tc=va+2|0):(Rb=ta,od=nb,tc=za)}else Rb=xa,od=$a,tc=va;while(0);za=Rb&4095;nb=x[(za<<3)+9305>>0]|0;ta=od-nb|0;Fa=Rb>>>nb;switch(x[9304+(za<<3)>>0]|0){case 7:Xb=za;rc=ta;ed=Fa;gd=la;sd=Ba;td=tc;break e;case 11:case 9:break;
-default:qd=Fa;rd=ta;zd=la;Yc=Ba;wc=tc;id=ea;na=153;break d}nb=a[(za<<3)+9308>>2]|0;xa=Fa;$a=ta;la=nb+la|0;Ba=nb+Ba|0;va=tc}va=a[(Xb<<3)+9308>>2]|0;Ba=ea+4|0;a[ea>>2]=va+gd;la=ed;$a=rc;xa=0;nb=va+sd|0;va=td;e:for(;;){do if(13>($a|0)){if(va>>>0>=P>>>0)if($a){dc=la;Ac=13;Sc=va;break}else{rb=ma;gb=ha;hb=la;ob=0;Bb=xa;qb=nb;kb=va;ib=Ba;na=154;break b}ta=va+1|0;Fa=(x[V+(x[va>>0]|0)>>0]|0)<<$a|la;za=$a+8|0;13>(za|0)?ta>>>0>=P>>>0?(dc=Fa,Ac=13,Sc=ta):(dc=(x[V+(x[ta>>0]|0)>>0]|0)<<za|Fa,Ac=$a+16|0,Sc=va+2|
-0):(dc=Fa,Ac=za,Sc=ta)}else dc=la,Ac=$a,Sc=va;while(0);ta=dc&8191;za=x[(ta<<3)+42073>>0]|0;Fa=Ac-za|0;Xa=dc>>>za;switch(x[42072+(ta<<3)>>0]|0){case 8:Tc=ta;Cd=Fa;Dd=Xa;Kd=xa;vd=nb;wd=Sc;break e;case 11:case 10:break;default:Id=Xa;Ld=Fa;Nd=xa;Od=nb;Td=Sc;Xd=Ba;na=152;break d}za=a[(ta<<3)+42076>>2]|0;la=Xa;$a=Fa;xa=za+xa|0;nb=za+nb|0;va=Sc}va=a[(Tc<<3)+42076>>2]|0;a[Ba>>2]=va+Kd;Sd=Dd;Yd=Cd;ce=va+vd|0;oe=wd}la=ea+8|0;if((la|0)!=(ha|0))if((Vb|0)<=(ce|0)&(Vb|0)<(A|0))for(Ba=Vb,va=ac;;)if(nb=(a[va>>2]|
-0)+Ba+(a[va+4>>2]|0)|0,xa=va+8|0,(nb|0)<=(ce|0)&(nb|0)<(A|0))Ba=nb,va=xa;else{Rd=Sd;Gd=Yd;$d=ce;ge=nb;ud=oe;xd=la;ie=xa;break}else Rd=Sd,Gd=Yd,$d=ce,ge=Vb,ud=oe,xd=la,ie=ac;else Rd=Sd,Gd=Yd,$d=ce,ge=Vb,ud=oe,xd=ha,ie=ac}else if(128==(na|0)){na=0;if(Ma?0:($b|0)<=(Tb|0)&($b|0)<(A|0))for(va=$b,Ba=kc;;)if($a=(a[Ba>>2]|0)+va+(a[Ba+4>>2]|0)|0,xa=Ba+8|0,($a|0)<=(Tb|0)&($a|0)<(A|0))va=$a,Ba=xa;else{je=$a;we=xa;break}else je=$b,we=kc;a[ea>>2]=fc+Ob+je;Rd=zb;Gd=ec;$d=je;ge=(a[we>>2]|0)+je|0;ud=jc;xd=ea+4|0;
-ie=we+4|0}else if(132==(na|0)){na=0;if(Ma?0:(Cc|0)<=(vc|0)&(Cc|0)<(A|0))for(Ba=Cc,va=Ec;;)if(la=(a[va>>2]|0)+Ba+(a[va+4>>2]|0)|0,xa=va+8|0,(la|0)<=(vc|0)&(la|0)<(A|0))Ba=la,va=xa;else{re=la;Dc=xa;break}else re=Cc,Dc=Ec;va=a[(lc<<3)+8284>>2]|0;a[ea>>2]=Bc+xc+re+va;Rd=yc;Gd=nc;$d=va+re|0;ge=(a[Dc>>2]|0)+re|0;ud=hc;xd=ea+4|0;ie=Dc+4|0}else if(136==(na|0)){na=0;if((va=(ea|0)!=(ha|0))&&(zc|0)<=(Fc|0)&(zc|0)<(A|0))for(Ba=zc,Ma=oc;;)if(xa=(a[Ma>>2]|0)+Ba+(a[Ma+4>>2]|0)|0,la=Ma+8|0,(xa|0)<=(Fc|0)&(xa|0)<
-(A|0))Ba=xa,Ma=la;else{yd=xa;Ad=la;break}else yd=zc,Ad=oc;Ma=a[(Gc<<3)+8284>>2]|0;Ba=Ma+Fc|0;if((yd|0)<=(Ba|0)&(va|(yd|0)<(Ba|0))){Me=Hc;Ne=Ic;Oe=Jc;Ye=Fc;Pe=Lc;ve=ea;na=140;break}a[ea>>2]=yd-Fc+Jc-Ma;Ba=Ad+-4|0;Rd=Ic;Gd=Hc;$d=yd-Ma|0;ge=yd-(a[Ba>>2]|0)|0;ud=Lc;xd=ea+4|0;ie=Ba}if((A|0)>($d|0))Ea=Rd,ab=Gd,Za=0-$d|0,ia=$d,qa=ge,Ja=ud,ea=xd,wa=ie;else{Je=Rd;ze=Gd;Qe=0;ee=$d;Ze=ud;me=xd;break c}}do if(140==(na|0))na=0,wa=a[U>>2]|0,ea=0!=(a[Z>>2]&1024|0),Ja=a[(ea?da:ga)>>2]|0,a[t>>2]=a[ba>>2],a[t+4>>2]=
-ea?142996:143001,a[t+8>>2]=Ja,a[t+12>>2]=Ye,Y(wa,144240,143007,t),ye=Ne,kf=Me,Ve=0,df=Oe,We=Ye,ef=Pe,Ue=ve;else if(143==(na|0))na=0,a[Hb>>2]=A-Ib,wa=a[U>>2]|0,Ja=0!=(a[Z>>2]&1024|0),ea=a[(Ja?da:ga)>>2]|0,a[q>>2]=a[ba>>2],a[q+4>>2]=Ja?142996:143001,a[q+8>>2]=ea,a[q+12>>2]=Ib,Y(wa,144240,143800,q),ye=tb,kf=vb,Ve=0,df=bb,We=Ib,ef=Mb,Ue=Hb+4|0;else if(144==(na|0)){na=0;wa=Qb+4|0;a[Qb>>2]=A-cb;do if(4>(Kb|0))if(Gb>>>0>=P>>>0)if((Lb|0)==(Ua|0)){rb=ma;gb=ha;hb=Jb;ob=Kb;Bb=yb;qb=cb;kb=Gb;ib=wa;na=154;break b}else Ke=
-Jb,sf=4,$e=Gb;else Ke=(x[V+(x[Gb>>0]|0)>>0]|0)<<Kb|Jb,sf=Kb+8|0,$e=Gb+1|0;else Ke=Jb,sf=Kb,$e=Gb;while(0);Ke&15&&(va=a[U>>2]|0,ea=0!=(a[Z>>2]&1024|0),Ja=a[(ea?da:ga)>>2]|0,a[p>>2]=a[ba>>2],a[p+4>>2]=ea?142996:143001,a[p+8>>2]=Ja,a[p+12>>2]=cb,Y(va,144240,143007,p));ye=Ke>>>4;kf=sf+-4|0;Ve=1;df=yb;We=cb;ef=$e;Ue=wa}else if(152==(na|0))na=0,va=a[U>>2]|0,Ja=0!=(a[Z>>2]&1024|0),ea=a[(Ja?da:ga)>>2]|0,a[l>>2]=a[ba>>2],a[l+4>>2]=Ja?142996:143001,a[l+8>>2]=ea,a[l+12>>2]=Od,Y(va,144240,143007,l),ye=Id,kf=
-Ld,Ve=0,df=Nd,We=Od,ef=Td,Ue=Xd;else if(153==(na|0))na=0,va=a[U>>2]|0,ea=0!=(a[Z>>2]&1024|0),Ja=a[(ea?da:ga)>>2]|0,a[k>>2]=a[ba>>2],a[k+4>>2]=ea?142996:143001,a[k+8>>2]=Ja,a[k+12>>2]=Yc,Y(va,144240,143007,k),ye=qd,kf=rd,Ve=0,df=zd,We=Yc,ef=wc,Ue=id;else if(165==(na|0)){na=0;if(!Rc){Je=bd;ze=Qc;Qe=0;ee=Vc;Ze=Pc;me=Xc;break c}if((Vc+Rc|0)<(A|0)){do if(1>(Qc|0))if(Pc>>>0>=P>>>0)if(Qc)gf=bd,nf=1,of=Pc;else{rb=ma;gb=ha;hb=bd;ob=0;Bb=Rc;qb=Vc;kb=Pc;ib=Xc;na=154;break b}else gf=(x[V+(x[Pc>>0]|0)>>0]|0)<<
-Qc|bd,nf=Qc+8|0,of=Pc+1|0;else gf=bd,nf=Qc,of=Pc;while(0);if(!(gf&1)){Oc=gf;Uc=nf;Wc=Rc;ic=Vc;$c=of;ad=Xc;na=151;break}Kf=gf>>>1;Lf=nf+-1|0;Nc=of}else Kf=bd,Lf=Qc,Nc=Pc;a[Xc>>2]=Rc;Je=Kf;ze=Lf;Qe=0;ee=Vc;Ze=Nc;me=Xc+4|0;break c}while(0);151==(na|0)&&(na=0,wa=a[U>>2]|0,va=0!=(a[Z>>2]&1024|0),Ja=a[(va?da:ga)>>2]|0,a[n>>2]=a[ba>>2],a[n+4>>2]=va?142996:143001,a[n+8>>2]=Ja,a[n+12>>2]=ic,Y(wa,144240,143007,n),ye=Oc,kf=Uc,Ve=0,df=Wc,We=ic,ef=$c,Ue=ad);df?(a[Ue>>2]=df,Je=ye,ze=kf,Qe=Ve,ee=We,Ze=ef,me=Ue+
-4|0):(Je=ye,ze=kf,Qe=Ve,ee=We,Ze=ef,me=Ue)}else Je=oa,ze=Aa,ee=Qe=0,Ze=Db,me=ha;while(0);if((ee|0)==(A|0))Mc=Je,qc=ze,Re=Qe,pe=Ze,uc=me;else{wa=a[ba>>2]|0;Ja=a[U>>2]|0;va=0!=(a[Z>>2]&1024|0);ea=a[(va?da:ga)>>2]|0;a[g>>2]=ee>>>0<A>>>0?143089:143103;a[g+4>>2]=wa;a[g+8>>2]=va?142996:143001;a[g+12>>2]=ea;a[g+16>>2]=ee;a[g+20>>2]=A;Wb(Ja,144240,143124,g);Ja=(ee|0)>(A|0);if(me>>>0>ha>>>0&Ja)for(ea=ee,va=me;;)if(wa=va+-4|0,qa=ea-(a[wa>>2]|0)|0,ia=(qa|0)>(A|0),wa>>>0>ha>>>0&ia)ea=qa,va=wa;else{Uf=ia;Wf=qa;
-Se=wa;break}else Uf=Ja,Wf=ee,Se=me;(Wf|0)>=(A|0)?Uf?(a[Se>>2]=A,a[Se+4>>2]=0,Mc=Je,qc=ze,Re=Qe,pe=Ze,uc=Se+8|0):(Mc=Je,qc=ze,Re=Qe,pe=Ze,uc=Se):(Se-ha&4?(a[Se>>2]=0,Mf=Se+4|0):Mf=Se,a[Mf>>2]=A-(0>(Wf|0)?0:Wf),Mc=Je,qc=ze,Re=Qe,pe=Ze,uc=Mf+4|0)}}while(0);Ud[a[aa>>2]&31](ma,ha,uc,A);a[uc>>2]=0;Aa=a[S>>2]|0;ha=a[R>>2]|0;a[S>>2]=ha;a[R>>2]=Aa;Aa=a[E>>2]|0;ca=ca-Aa|0;a[ba>>2]=(a[ba>>2]|0)+1;if(0>=(ca|0)){ih=Mc;jh=qc;kh=Re;lh=pe;na=190;break}else ma=ma+Aa|0,fa=Mc,ja=qc,pa=Re,ra=pe}do if(51==(na|0))if(ra=
-a[U>>2]|0,pa=0!=(a[Z>>2]&1024|0),ja=a[(pa?da:ga)>>2]|0,a[v>>2]=a[ba>>2],a[v+4>>2]=pa?142996:143001,a[v+8>>2]=ja,a[v+12>>2]=Yf,Wb(ra,144240,143048,v),Sf?(a[Hf>>2]=Sf,cg=Hf+4|0):cg=Hf,(Yf|0)==(A|0))wg=Pf,xg=Xe,yg=Xf,Zf=zg=0,ag=rf,Ag=cg;else{ra=a[ba>>2]|0;ja=a[U>>2]|0;pa=0!=(a[Z>>2]&1024|0);fa=a[(pa?da:ga)>>2]|0;a[w>>2]=Yf>>>0<A>>>0?143089:143103;a[w+4>>2]=ra;a[w+8>>2]=pa?142996:143001;a[w+12>>2]=fa;a[w+16>>2]=Yf;a[w+20>>2]=A;Wb(ja,144240,143124,w);ja=(Yf|0)>(A|0);if(cg>>>0>Xe>>>0&ja)for(fa=Yf,pa=cg;;)if(ra=
-pa+-4|0,ma=fa-(a[ra>>2]|0)|0,ca=(ma|0)>(A|0),ra>>>0>Xe>>>0&ca)fa=ma,pa=ra;else{Tg=ca;kg=ma;hg=ra;break}else Tg=ja,kg=Yf,hg=cg;(kg|0)>=(A|0)?Tg?(a[hg>>2]=A,a[hg+4>>2]=0,wg=Pf,xg=Xe,yg=Xf,Zf=zg=0,ag=rf,Ag=hg+8|0):(wg=Pf,xg=Xe,yg=Xf,Zf=zg=0,ag=rf,Ag=hg):(hg-Xe&4?(a[hg>>2]=0,Fg=hg+4|0):Fg=hg,a[Fg>>2]=A-(0>(kg|0)?0:kg),wg=Pf,xg=Xe,yg=Xf,Zf=zg=0,ag=rf,Ag=Fg+4|0)}else if(154==(na|0))if(pa=a[U>>2]|0,fa=0!=(a[Z>>2]&1024|0),ra=a[(fa?da:ga)>>2]|0,a[m>>2]=a[ba>>2],a[m+4>>2]=fa?142996:143001,a[m+8>>2]=ra,a[m+
-12>>2]=qb,Wb(pa,144240,143048,m),Bb?(a[ib>>2]=Bb,sh=ib+4|0):sh=ib,(qb|0)==(A|0))wg=rb,xg=gb,yg=hb,zg=ob,Zf=0,ag=kb,Ag=sh;else{pa=a[ba>>2]|0;ra=a[U>>2]|0;fa=0!=(a[Z>>2]&1024|0);ma=a[(fa?da:ga)>>2]|0;a[h>>2]=qb>>>0<A>>>0?143089:143103;a[h+4>>2]=pa;a[h+8>>2]=fa?142996:143001;a[h+12>>2]=ma;a[h+16>>2]=qb;a[h+20>>2]=A;Wb(ra,144240,143124,h);ra=(qb|0)>(A|0);if(sh>>>0>gb>>>0&ra)for(ma=qb,fa=sh;;)if(pa=fa+-4|0,ca=ma-(a[pa>>2]|0)|0,R=(ca|0)>(A|0),pa>>>0>gb>>>0&R)ma=ca,fa=pa;else{Ug=R;lg=ca;gh=pa;break}else Ug=
-ra,lg=qb,gh=sh;(lg|0)>=(A|0)?Ug?(a[gh>>2]=A,a[gh+4>>2]=0,wg=rb,xg=gb,yg=hb,zg=ob,Zf=0,ag=kb,Ag=gh+8|0):(wg=rb,xg=gb,yg=hb,zg=ob,Zf=0,ag=kb,Ag=gh):(gh-gb&4?(a[gh>>2]=0,Hg=gh+4|0):Hg=gh,a[Hg>>2]=A-(0>(lg|0)?0:lg),wg=rb,xg=gb,yg=hb,zg=ob,Zf=0,ag=kb,Ag=Hg+4|0)}else if(186==(na|0))A?(fa=a[ba>>2]|0,ma=a[U>>2]|0,ja=0!=(a[Z>>2]&1024|0),pa=a[(ja?da:ga)>>2]|0,a[f>>2]=143089,a[f+4>>2]=fa,a[f+8>>2]=ja?142996:143001,a[f+12>>2]=pa,a[f+16>>2]=0,a[f+20>>2]=A,Wb(ma,144240,143124,f),ma=Ka+4|0,a[Ka>>2]=A,W?(wg=sa,xg=
-Ka,yg=ua,zg=0,Zf=Ia,ag=Da,Ag=ma):(a[ma>>2]=0,wg=sa,xg=Ka,yg=ua,zg=0,Zf=Ia,ag=Da,Ag=Ka+8|0)):(wg=sa,xg=Ka,yg=ua,zg=0,Zf=Ia,ag=Da,Ag=Ka);else if(190==(na|0)){Wg=a[O>>2]|0;Xg=a[T>>2]|0;Yg=ih;Zg=jh;$g=kh;Jg=lh;break a}while(0);Ud[a[aa>>2]&31](wg,xg,Ag,A);a[D>>2]=zg;a[I>>2]=yg;a[F>>2]=Zf;a[T>>2]=(a[O>>2]|0)-ag+(a[T>>2]|0);a[O>>2]=ag;J=-1;u=e;return J|0}Wg=M;Xg=X;Yg=G;Zg=K;$g=N;Jg=M}while(0);a[D>>2]=Zg;a[I>>2]=Yg;a[F>>2]=$g;a[T>>2]=Wg-Jg+Xg;a[O>>2]=Jg;J=1;u=e;return J|0},function(b,d,c,e){b|=0;d|=0;c|=
-0;var f,g,h,m,k,l,n,p,q;e=u;u=u+16|0;f=e+4|0;g=a[b+576>>2]|0;h=b+604|0;m=g+800|0;a[m>>2]=a[h>>2];k=b+608|0;l=g+804|0;a[l>>2]=a[k>>2];n=g+840|0;p=a[n>>2]|0;if(!p)return u=e,0;q=(c|0)/(p|0)|0;(c|0)%(p|0)|0&&Wb(a[b+628>>2]|0,a[b>>2]|0,145243,e);p=a[g+32>>2]|0;c=(q|0)>(p|0)?p:q;a:do if(c){q=b+444|0;p=d;for(b=c;;){a[f>>2]=p;d=g;c=f;d|=0;c|=0;var t,r,w,x,z=0,v=0,C=0;t=4;r=Hc(40)|0;a[r>>2]=0;r=Xc(d+624|0,1,r|0,t|0)|0;t=U;Wa=w=Wa=0;0!=(w|0)&0!=(pa|0)?((x=db(a[w>>2]|0,r|0,t|0)|0)||Vb(w|0,pa|0),U=pa):x=-1;
-for(x=1==(x|0)?U:0;;){if(x){z=-1;v=6;break}Wa=0;C=Pg(17,d|0,c|0,1)|0;x=Wa;Wa=0;0!=(x|0)&0!=(pa|0)?((w=db(a[x>>2]|0,r|0,t|0)|0)||Vb(x|0,pa|0),U=pa):w=-1;if(1==(w|0))x=U;else break}6!=(v|0)&&(z=C);Gc(r|0);d=z|0;if(1!=(d|0)){f=0;break}a[q>>2]=(a[q>>2]|0)+1;if(1<(b|0))p=p+(a[n>>2]|0)|0,b=b+-1|0;else break a}u=e;return f|0}while(0);a[h>>2]=a[m>>2];a[k>>2]=a[l>>2];f=(a[g+140>>2]|0)>>>0<(a[g+116>>2]|0)>>>0?1:0!=(qg(g)|0);u=e;return f&1|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q=0,r=0,B=0,
-w=0,v=0,z=p=0,Q=0,C=0,A=0,V=0;e=u;u=u+16|0;f=e+8|0;g=e+12|0;(h=a[b+576>>2]|0)||Z(154187,144647,1883,144795);m=h+840|0;k=a[m>>2]|0;l=(c|0)/(k|0)|0;(c|0)%(k|0)|0&&Wb(a[b+628>>2]|0,a[b>>2]|0,144806,e);a[b+12>>2]&1024?n=l:(k=a[b+444>>2]|0,c=a[b+60>>2]|0,n=(k+l|0)>>>0>c>>>0?c-k|0:l);l=h+72|0;k=a[l>>2]|0;if(12==(k|0))if(c=(a[m>>2]<<1|0)/3|0,p=eb(c<<1)|0)r=d,B=p,w=c,v=n,p=10;else return Y(a[b+628>>2]|0,144795,144836,f),u=e,0;else z=d,Q=k,A=C=0,V=n;for(;;){10==(p|0)&&(p=0,z=r,Q=a[l>>2]|0,C=B,A=w,V=v);n=V+
--1|0;f=12==(Q|0);if(0>=(V|0))break;if(f){if(k=(A|0)/2|0,a[g>>2]=C,1<(A|0)){d=0;do c=3*d|0,p=C+(d<<1<<1)|0,t[p>>0]=(x[z+(c+1)>>0]|0)>>>4|(x[z+c>>0]|0)<<4,t[p+1>>0]=t[z+(c+2)>>0]|0,d=d+1|0;while((d|0)<(k|0))}}else a[g>>2]=z;c=g;d=h;d|=0;c|=0;var E,w=B=p=0;k=4;r=Hc(40)|0;a[r>>2]=0;r=Xc(d+624|0,1,r|0,k|0)|0;k=U;Wa=E=Wa=0;0!=(E|0)&0!=(pa|0)?((v=db(a[E>>2]|0,r|0,k|0)|0)||Vb(E|0,pa|0),U=pa):v=-1;for(v=1==(v|0)?U:0;;){if(v){p=-1;B=6;break}Wa=0;w=Pg(15,d|0,c|0,1)|0;v=Wa;Wa=0;0!=(v|0)&0!=(pa|0)?((E=db(a[v>>
-2]|0,r|0,k|0)|0)||Vb(v|0,pa|0),U=pa):E=-1;if(1==(E|0))v=U;else break}6!=(B|0)&&(p=w);Gc(r|0);d=p|0;if(1!=(d|0)){q=0;p=23;break}1<(V|0)&&(k=b+444|0,a[k>>2]=(a[k>>2]|0)+1);r=z+(a[m>>2]|0)|0;B=C;w=A;v=n;p=10}if(23==(p|0))return u=e,q|0;if(!f)return u=e,1;ja(C);u=e;return 1},function(b,d,c,e){e=u;u=u+16|0;Y(a[(b|0)+628>>2]|0,145746,145763,e);u=e;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,r,B,w,x,z,v,C,A,V,D,J,I,G,L=0,K,F,S,O,M,T,X,P,R,W,Z,ba,da;e=u;u=u+16|0;f=e+8|0;g=e;h=a[b+576>>
-2]|0;m=a[h+32>>2]|0;a:do if(m){k=h+216|0;l=a[(a[k>>2]|0)+132>>2]|0;n=a[h+888>>2]|0;p=h+840|0;q=h+884|0;r=h+320|0;B=h+844|0;w=h+36|0;x=h+836|0;z=b+444|0;v=l+-1|0;C=E(n,v)|0;A=0==(l|0);V=d;D=c;J=a[p>>2]|0;I=m;b:for(;;){if((D|0)<(J|0)){k=4;break}G=a[q>>2]|0;if(7<(G|0)){J=a[r>>2]<<3;G=h;K=B;F=J;G|=0;K|=0;F|=0;X=T=M=0;S=4;O=Hc(40)|0;a[O>>2]=0;O=Xc(G+624|0,1,O|0,S|0)|0;S=U;Wa=R=Wa=0;0!=(R|0)&0!=(pa|0)?((P=db(a[R>>2]|0,O|0,S|0)|0)||Vb(R|0,pa|0),U=pa):P=-1;for(P=1==(P|0)?U:0;;){if(P){M=-1;T=6;break}Wa=0;
-X=Pg(18,G|0,K|0,F|0)|0;P=Wa;Wa=0;0!=(P|0)&0!=(pa|0)?((R=db(a[P>>2]|0,O|0,S|0)|0)||Vb(P|0,pa|0),U=pa):R=-1;if(1==(R|0))P=U;else break}6!=(T|0)&&(M=X);Gc(O|0);G=M|0;if((G|0)!=(J|0)){L=0;k=32;break}J=a[q>>2]=0}else J=G;if(0<(a[w>>2]|0)){J=G=0;for(K=a[k>>2]|0;;){F=a[K+8>>2]|0;S=a[K+12>>2]|0;c:do if(0<(S|0)){O=h+844+(G<<2)|0;M=F+C|0;if(1==(F|0))for(T=J,X=0;;){if((D|0)<(M+T|0)){k=19;break b}if(!A)for(P=(a[O>>2]|0)+((E(a[q>>2]|0,S)|0)+X<<2)|0,R=a[P>>2]|0,P=l,W=V+T|0;;)if(P=P+-1|0,t[W>>0]=t[R>>0]|0,P)R=R+
-1|0,W=W+n|0;else break;W=T+1|0;X=X+1|0;if((X|0)>=(S|0)){O=W;break c}else T=W}T=A|1>(F|0);X=J;for(W=0;;){if((D|0)<(M+X|0)){k=19;break b}if(!T)for(R=(a[O>>2]|0)+((E(a[q>>2]|0,S)|0)+W<<2)|0,P=v,Z=a[R>>2]|0,R=V+X|0;;){ba=Z;for(da=0;t[R+da>>0]=t[ba>>0]|0,da=da+1|0,(da|0)!=(F|0);)ba=ba+1|0;if(P)P=P+-1|0,Z=Z+F|0,R=R+n|0;else break}R=X+F|0;W=W+1|0;if((W|0)>=(S|0)){O=R;break}else X=R}}else O=J;while(0);G=G+1|0;if((G|0)>=(a[w>>2]|0))break;else J=O,K=K+88|0}J=a[q>>2]|0}a[q>>2]=J+1;K=N[x>>1]|0;a[z>>2]=(a[z>>
-2]|0)+K;J=a[p>>2]|0;I=I-K|0;if(0>=(I|0))break a;else V=V+J|0,D=D-J|0}if(4==(k|0))return Y(a[b+628>>2]|0,145605,145619,g),L=0,u=e,L|0;if(19==(k|0))return Y(a[b+628>>2]|0,145605,145669,f),L=0,u=e,L|0;if(32==(k|0))return u=e,L|0}while(0);b=(a[h+140>>2]|0)>>>0<(a[h+116>>2]|0)>>>0?1:0!=(qg(h)|0);u=e;return b&1|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,r,B,w,x,z,v,C,A,V,D,J,I,G,L,K,F,R,O,M,T;e=u;u=u+16|0;f=a[b+576>>2]|0;g=a[f+888>>2]|0;f||Z(154187,144647,1965,144938);h=N[f+834>>1]|0;m=f+
-836|0;k=N[m>>1]|0;l=(E(k,h)|0)+2|0;n=((E(E(a[f+72>>2]|0,(((a[f+28>>2]|0)+-1+h|0)>>>0)/(h>>>0)|0)|0,l)|0)+7|0)>>>3;l=E((c|0)/(n|0)|0,k)|0;(c|0)%(n|0)|0&&Wb(a[b+628>>2]|0,a[b>>2]|0,144806,e);c=f+84|0;k=a[(a[c>>2]|0)+132>>2]|0;h=f+276|0;if(0>=(l|0))return u=e,1;p=f+76|0;q=f+884|0;r=f+844|0;B=b+444|0;b=0==(k|0);w=d;for(d=l;;){l=a[p>>2]|0;if(0<(l|0))for(x=l,z=l=0,v=a[c>>2]|0;;){C=a[v+8>>2]|0;A=a[v+12>>2]|0;V=a[v+28>>2]|0;D=E(C,k)|0;if(0<(A|0)){x=f+844+(l<<2)|0;J=1==(C|0);I=0<((V<<3)-D|0);G=(V<<3)-D|0;
-D=E(C,A)|0;V=b|1>(C|0);L=z;for(K=0;;){F=w+L|0;R=(E(a[q>>2]|0,A)|0)+K|0;O=a[(a[x>>2]|0)+(R<<2)>>2]|0;if(J)if(b)R=O;else{R=F;F=k;for(M=O;;)if(F=F+-1|0,t[M>>0]=t[R>>0]|0,F)R=R+g|0,M=M+1|0;else break;R=O+k|0}else if(V)R=O;else for(M=k,R=F,F=O;;){M=M+-1|0;O=F;for(T=0;t[O>>0]=t[R+T>>0]|0,T=T+1|0,(T|0)!=(C|0);)O=O+1|0;O=F+C|0;if(M)R=R+g|0,F=O;else{R=O;break}}if(I)for(F=R,R=0;t[F>>0]=t[F+-1>>0]|0,R=R+1|0,(R|0)!=(G|0);)F=F+1|0;K=K+1|0;if((K|0)==(A|0))break;else L=L+C|0}C=a[p>>2]|0;z=z+D|0}else C=x;l=l+1|0;
-if((l|0)>=(C|0))break;else x=C,v=v+88|0}v=a[q>>2]|0;a[q>>2]=v+1;if(6<(v|0)){v=a[h>>2]<<3;if((Re(f,r,v)|0)!=(v|0)){b=0;d=28;break}a[q>>2]=0}v=N[m>>1]|0;a[B>>2]=(a[B>>2]|0)+v;d=d-v|0;if(0>=(d|0)){b=1;d=28;break}else w=w+n|0}return 28==(d|0)?(u=e,b|0):0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;f=Pe(b)|0;if(!f)return 0;(c|0)%(f|0)|0&&Z(146868,146646,385,147503);g=b+532|0;if(!c)return 1;for(;;){if(!(rb[a[g>>2]&63](b,d,f,e)|0)){b=0;e=7;break}if((c|0)==(f|0)){b=1;e=7;break}else d=d+f|0,c=c-f|0}return 7==
-(e|0)?b|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;f=tg(b)|0;if(!f)return 0;(c|0)%(f|0)|0&&Z(146868,146646,404,147486);g=b+532|0;if(!c)return 1;for(;;){if(!(rb[a[g>>2]&63](b,d,f,e)|0)){b=0;e=7;break}if((c|0)==(f|0)){b=1;e=7;break}else d=d+f|0,c=c-f|0}return 7==(e|0)?b|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;f=Pe(b)|0;if(!f)return 0;(c|0)%(f|0)|0&&Z(146868,146646,656,146900);g=b+536|0;if(!c)return 1;for(;;){if(1!=(rb[a[g>>2]&63](b,d,f,e)|0)){b=0;e=7;break}if((c|0)==(f|0)){b=1;e=
-7;break}else d=d+f|0,c=c-f|0}return 7==(e|0)?b|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;f=tg(b)|0;if(!f)return 0;(c|0)%(f|0)|0&&Z(146868,146646,674,146883);g=b+536|0;if(!c)return 1;for(;;){if(1!=(rb[a[g>>2]&63](b,d,f,e)|0)){b=0;e=7;break}if((c|0)==(f|0)){b=1;e=7;break}else d=d+f|0,c=c-f|0}return 7==(e|0)?b|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h=0,m,k,l,n,p,q,t,r;f=u;u=u+16|0;g=a[b+576>>2]|0;(e|0)<<16>>16&&Z(147105,146646,263,147614);g||Z(154187,146646,264,147614);e=(c|0)/(a[g+8>>
-2]|0)|0;2!=(a[g>>2]|0)?(a[g+16>>2]|0)<(e|0)?Z(147125,146646,271,147614):h=a[g+12>>2]|0:h=d;c=b+604|0;m=a[c>>2]|0;k=b+608|0;l=a[k>>2]|0;if(0<(l|0)&0<(e|0)){n=((l+(3>(l|0)?~l:-4)+3|0)>>>0)/3|0;p=e+-1|0;q=n>>>0>p>>>0?p:n;n=~q;p=q+1|0;q=3*n|0;t=E(n,-3)|0;n=m;for(r=0;a[h+(r<<2)>>2]=(x[n+1>>0]|0)<<8|(x[n>>0]|0)<<16|x[n+2>>0]|0,r=r+1|0,(r|0)!=(p|0);)n=n+3|0;h=m+t|0;l=l+q|0}else h=m,p=0;a[c>>2]=h;a[k>>2]=l;if((e|0)==(p|0))return td[a[g+20>>2]&127](g,d,e),u=f,1;d=a[b+628>>2]|0;g=e-p|0;a[f>>2]=a[b+444>>2];
-b=f+8|0;a[b>>2]=g;a[b+4>>2]=(0>(g|0))<<31>>31;Y(d,147614,147552,f);u=f;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h=0,m,k,l,n,p,q,r=0,B=0,w,v,z,Q,C,A,V,E,J,I,G,D,K=0,F=0,N=0;f=u;u=u+16|0;(e|0)<<16>>16&&Z(147105,146646,319,147599);(e=a[b+576>>2]|0)||Z(154187,146646,321,147599);g=(c|0)/(a[e+8>>2]|0)|0;2!=(a[e>>2]|0)?(a[e+16>>2]|0)<(g|0)?Z(147125,146646,328,147599):h=a[e+12>>2]|0:h=d;$c(h,0,g<<2);c=b+604|0;m=a[c>>2]|0;k=b+608|0;l=a[k>>2]|0;a:do if(0<(g|0))for(n=m,p=l,q=32;;){q=q+-8|0;if(-1>=
-(q|0)){r=n;B=p;n=26;break a}b:do if(0<(p|0))for(w=n,v=p,z=0;;){Q=t[w>>0]|0;C=Q&255;A=w+1|0;c:do if(0>Q<<24>>24)if(V=w+2|0,E=(x[A>>0]|0)<<q,J=v+-2|0,(z|0)<(g|0)){I=z-g|0;G=126-C|0;D=z-(I>>>0>G>>>0?I:G)|0;G=z;do I=h+(G<<2)|0,G=G+1|0,a[I>>2]|=E;while((G|0)!=(D|0));G=V;E=J}else G=V,E=J,D=z;else{if(D=v+-1|0)w=D;else{C=A;A=0;break b}for(;;){if(!((z|0)<(g|0)&0!=(C|0))){G=A;E=w;D=z;break c}D=A+1|0;G=z+1|0;E=h+(z<<2)|0;a[E>>2]|=(x[A>>0]|0)<<q;if(w=w+-1|0)A=D,z=G,C=C+-1|0;else{C=D;A=0;z=G;break b}}}while(0);
-if((g|0)>(D|0)&0<(E|0))w=G,v=E,z=D;else{C=G;A=E;z=D;break}}else C=n,A=p,z=0;while(0);if((g|0)!=(z|0)){K=C;F=A;N=z;n=25;break}else n=C,p=A}else for(p=0==(g|0),n=32;;){n=n+-8|0;if(-1>=(n|0)){r=m;B=l;n=26;break a}if(!p){K=m;F=l;N=0;n=25;break}}while(0);if(25==(n|0))l=a[b+628>>2]|0,m=g-N|0,a[f>>2]=a[b+444>>2],b=f+8|0,a[b>>2]=m,a[b+4>>2]=(0>(m|0))<<31>>31,Y(l,147599,147552,f),a[c>>2]=K,a[k>>2]=F,u=f;else if(26==(n|0))return td[a[e+20>>2]&127](e,d,g),a[c>>2]=r,a[k>>2]=B,u=f,1;return 0},function(b,d,c,e){b|=
-0;d|=0;c|=0;var f,g,h=0,m,k,l,n,p,q=0,r=0,B,H,v,z,A,C,E,V,D,J,I,G,L=0,K=0,F=0;f=u;u=u+16|0;g=a[b+576>>2]|0;(e|0)<<16>>16&&Z(147105,146646,197,147539);g||Z(154187,146646,198,147539);e=(c|0)/(a[g+8>>2]|0)|0;1!=(a[g>>2]|0)?(a[g+16>>2]|0)<(e|0)?Z(147125,146646,205,147539):h=a[g+12>>2]|0:h=d;$c(h,0,e<<1);c=b+604|0;m=b+608|0;k=0<(e|0);l=a[c>>2]|0;n=a[m>>2]|0;for(p=16;;){p=p+-8|0;if(-1>=(p|0)){q=l;r=n;h=23;break}a:do if(k&0<(n|0))for(B=l,H=n,v=0;;){z=t[B>>0]|0;A=z&255;C=B+1|0;b:do if(0>z<<24>>24)if(E=B+
-2|0,V=(x[C>>0]|0)<<p,D=H+-2|0,(v|0)<(e|0)){J=v-e|0;I=126-A|0;G=v-(J>>>0>I>>>0?J:I)|0;I=v;do J=h+(I<<1)|0,I=I+1|0,w[J>>1]=N[J>>1]|0|V;while((I|0)!=(G|0));I=E;V=D}else I=E,V=D,G=v;else{if(G=H+-1|0)B=G;else{A=C;C=0;break a}for(;;){if(!((v|0)<(e|0)&0!=(A|0))){I=C;V=B;G=v;break b}G=C+1|0;I=v+1|0;V=h+(v<<1)|0;w[V>>1]=N[V>>1]|0|(x[C>>0]|0)<<p;if(B=B+-1|0)C=G,v=I,A=A+-1|0;else{A=G;C=0;v=I;break a}}}while(0);if((e|0)>(G|0)&0<(V|0))B=I,H=V,v=G;else{A=I;C=V;v=G;break}}else A=l,C=n,v=0;while(0);if((e|0)!=(v|
-0)){L=A;K=C;F=v;h=22;break}else l=A,n=C}if(22==(h|0))C=a[b+628>>2]|0,n=e-F|0,a[f>>2]=a[b+444>>2],b=f+8|0,a[b>>2]=n,a[b+4>>2]=(0>(n|0))<<31>>31,Y(C,147539,147552,f),a[c>>2]=L,a[m>>2]=K,u=f;else if(23==(h|0))return td[a[g+20>>2]&127](g,d,e),a[c>>2]=q,a[m>>2]=r,u=f,1;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g=0,h,m,k,l,n,p,q,r=0,B,u=0,w=0,z=0,v=0,x=0;f=a[b+576>>2]|0;(e|0)<<16>>16&&Z(147105,146646,516,147308);f||Z(154187,146646,517,147308);e=(c|0)/(a[f+8>>2]|0)|0;2!=(a[f>>2]|0)?(a[f+16>>2]|0)<
-(e|0)?Z(147125,146646,524,147308):(c=a[f+12>>2]|0,td[a[f+20>>2]&127](f,d,e),g=c):g=d;d=b+604|0;f=a[d>>2]|0;c=b+592|0;h=a[c>>2]|0;m=b+608|0;k=h-(a[m>>2]|0)|0;do if(e){l=e;n=k;p=f;for(q=g;;){l=l+-1|0;if(3>(n|0)){a[d>>2]=p;a[m>>2]=(a[c>>2]|0)-n;if(!(Lc(b)|0)){r=-1;l=17;break}n=(a[c>>2]|0)-(a[m>>2]|0)|0;B=a[d>>2]|0}else B=p;t[B>>0]=(a[q>>2]|0)>>>16;t[B+1>>0]=(a[q>>2]|0)>>>8;p=B+3|0;t[B+2>>0]=a[q>>2];n=n+-3|0;if(l)q=q+4|0;else{u=p;w=n;l=15;break}}if(15==(l|0))z=a[c>>2]|0,v=w,x=u;else if(17==(l|0))return r|
-0}else z=h,v=k,x=f;while(0);a[d>>2]=x;a[m>>2]=z-v;return 1},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g=0,h,m,k,l,n,p,q,r,B=0,u,w,z,v,x,A,V=0,E=0;f=a[b+576>>2]|0;(e|0)<<16>>16&&Z(147105,146646,568,147293);f||Z(154187,146646,569,147293);e=(c|0)/(a[f+8>>2]|0)|0;2!=(a[f>>2]|0)?(a[f+16>>2]|0)<(e|0)?Z(147125,146646,577,147293):(c=a[f+12>>2]|0,td[a[f+20>>2]&127](f,d,e),g=c):g=d;d=b+604|0;f=b+592|0;c=b+608|0;h=0<(e|0);m=24;k=(a[f>>2]|0)-(a[c>>2]|0)|0;l=a[d>>2]|0;n=0;a:for(;;){if(h)for(p=255<<m,q=0,r=n;;){if(4>
-(k|0)){a[d>>2]=l;a[c>>2]=(a[f>>2]|0)-k;if(!(Lc(b)|0)){B=-1;b=43;break a}u=(a[f>>2]|0)-(a[c>>2]|0)|0;w=a[d>>2]|0}else u=k,w=l;b:do if((q|0)<(e|0)){for(z=q;;){v=a[g+(z<<2)>>2]|0;for(l=1;;){x=l+z|0;A=(x|0)<(e|0);if(!A){k=x;v=A;n=l;break}if((a[g+(x<<2)>>2]^v)&p){k=x;v=A;n=l;break}A=l+1|0;if(129>(A|0))l=A;else{k=z;n=A;break b}}l=3<(n|0);if(l|v^1){v=z;break}else z=k}k=l?v:k}else k=q,n=r;while(0);b:do if(2==(k-q&-2|0)){z=a[g+(q<<2)>>2]&p;for(l=q+1|0;;){v=l+1|0;if((a[g+(l<<2)>>2]&p|0)!=(z|0)){v=q;z=u;r=w;
-break b}if((v|0)==(k|0))break;else l=v}t[w>>0]=127-q+l;t[w+1>>0]=z>>>m;v=k;z=u+-2|0;r=w+2|0}else v=q,z=u,r=w;while(0);if((k|0)>(v|0))for(l=~k,A=z,x=r;;){w=k-v|0;q=127<(w|0)?127:w;if((A|0)<(q+3|0)){a[d>>2]=x;a[c>>2]=(a[f>>2]|0)-A;if(!(Lc(b)|0)){B=-1;b=43;break a}u=(a[f>>2]|0)-(a[c>>2]|0)|0;A=a[d>>2]|0}else u=A,A=x;t[A>>0]=q;w=A+1|0;if(q){z=v+l|0;r=-128<(z|0)?z:-128;z=A+(0-r)|0;A=v+-1|0;x=q;for(q=w;;)if(x=x+-1|0,t[q>>0]=(a[g+(v<<2)>>2]|0)>>>m,x)v=v+1|0,q=q+1|0;else break;v=A-r|0;w=z;q=r}else q=-1;q=
-u+q|0;if((k|0)>(v|0))A=q,x=w;else{l=v;u=w;break}}else l=v,q=z,u=r;3<(n|0)?(t[u>>0]=n+126,t[u+1>>0]=(a[g+(k<<2)>>2]|0)>>>m,k=q+-2|0,u=u+2|0):(k=q,n=0);q=n+l|0;if((q|0)>=(e|0)){p=k;q=u;break}else l=u,r=n}else p=k,q=l;m=m+-8|0;if(-1>=(m|0)){V=p;E=q;b=42;break}else k=p,l=q}return 42==(b|0)?(a[d>>2]=E,a[c>>2]=(a[f>>2]|0)-V,1):43==(b|0)?B|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g=0,h,m,k,l,n,p,q,r,B=0,u,v,z,x,C,A,V=0,E=0;f=a[b+576>>2]|0;(e|0)<<16>>16&&Z(147105,146646,428,147112);f||Z(154187,146646,
-429,147112);e=(c|0)/(a[f+8>>2]|0)|0;1!=(a[f>>2]|0)?(a[f+16>>2]|0)<(e|0)?Z(147125,146646,436,147112):(c=a[f+12>>2]|0,td[a[f+20>>2]&127](f,d,e),g=c):g=d;d=b+604|0;f=b+592|0;c=b+608|0;h=0<(e|0);m=8;k=(a[f>>2]|0)-(a[c>>2]|0)|0;l=a[d>>2]|0;n=0;a:for(;;){if(h)for(p=255<<m,q=0,r=n;;){if(4>(k|0)){a[d>>2]=l;a[c>>2]=(a[f>>2]|0)-k;if(!(Lc(b)|0)){B=-1;b=43;break a}u=(a[f>>2]|0)-(a[c>>2]|0)|0;v=a[d>>2]|0}else u=k,v=l;b:do if((q|0)<(e|0)){for(z=q;;){x=(N[g+(z<<1)>>1]&p)<<16>>16;for(l=1;;){C=l+z|0;A=(C|0)<(e|0);
-if(!A){k=C;x=A;n=l;break}if((w[g+(C<<1)>>1]&p|0)!=(x|0)){k=C;x=A;n=l;break}A=l+1|0;if(129>(A|0))l=A;else{k=z;n=A;break b}}l=3<(n|0);if(l|x^1){x=z;break}else z=k}k=l?x:k}else k=q,n=r;while(0);b:do if(2==(k-q&-2|0)){z=(N[g+(q<<1)>>1]&p)<<16>>16;for(l=q+1|0;;){x=l+1|0;if((w[g+(l<<1)>>1]&p|0)!=(z|0)){x=q;z=u;r=v;break b}if((x|0)==(k|0))break;else l=x}t[v>>0]=127-q+l;t[v+1>>0]=z>>m;x=k;z=u+-2|0;r=v+2|0}else x=q,z=u,r=v;while(0);if((k|0)>(x|0))for(l=~k,A=z,C=r;;){v=k-x|0;q=127<(v|0)?127:v;if((A|0)<(q+3|
-0)){a[d>>2]=C;a[c>>2]=(a[f>>2]|0)-A;if(!(Lc(b)|0)){B=-1;b=43;break a}u=(a[f>>2]|0)-(a[c>>2]|0)|0;A=a[d>>2]|0}else u=A,A=C;t[A>>0]=q;v=A+1|0;if(q){z=x+l|0;r=-128<(z|0)?z:-128;z=A+(0-r)|0;A=x+-1|0;C=q;for(q=v;;)if(C=C+-1|0,t[q>>0]=w[g+(x<<1)>>1]>>m,C)x=x+1|0,q=q+1|0;else break;x=A-r|0;v=z;q=r}else q=-1;q=u+q|0;if((k|0)>(x|0))A=q,C=v;else{l=x;u=v;break}}else l=x,q=z,u=r;3<(n|0)?(t[u>>0]=n+126,t[u+1>>0]=w[g+(k<<1)>>1]>>m,k=q+-2|0,u=u+2|0):(k=q,n=0);q=n+l|0;if((q|0)>=(e|0)){p=k;q=u;break}else l=u,r=n}else p=
-k,q=l;m=m+-8|0;if(-1>=(m|0)){V=p;E=q;b=42;break}else k=p,l=q}return 42==(b|0)?(a[d>>2]=E,a[c>>2]=(a[f>>2]|0)-V,1):43==(b|0)?B|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,r=0,B=0,v=0,A=0,z=0,Q=0,C=0,E=0,V=0,D=0,J=0,I=0,G=0,L=0,K=0,F=0,R=0,O=0,M=0,T=0,X=0,P=0,S=0,W=0,da=0,ba=0,aa=0,ca=0,fa=0,ga=0,ja=0,ma=0,pa=0,ha=0,ra=0,ya=0,Aa=0,Ka=0,Qa=0,Va=0,oa=0,sa=0,Wa=0,ua=0,Ia=0,Da=0,na=0,Na=0,eb=0,Ca=0,Ga=0,Ea=0,La=0,ab=0,db=0,fb=0,lb=0,xb=0,rb=0,ub=0,jb=0,pb=0,Ab=0,Ta=
-0,Ya=0,Sa=0,mb=0,Db=0,Hb=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,Kb=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,Gb=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Lb=0,Ua=0,Pb=0,Jb=0,Sb=0,yb=0,cb=0,Vb=0,Ub=0,Fb=0,Yb=0,ac=0,$b=0,ec=0,wb=0,fc=0,jc=0,zb=0,Ob=0,Tb=0,kc=0,lc=0,nc=0,yc=0,xc=0,vc=0;e=u;u=u+80|0;f=e+64|0;g=e+56|0;h=e+48|0;m=e+40|0;k=e+32|0;l=e+24|0;n=e+16|0;p=e+8|0;q=e;(r=a[b+576>>2]|0)||Z(154187,147682,375,147871);B=r+124|0;a[B>>2]|0||Z(147881,147682,
-376,147871);v=r+88|0;if(A=a[v>>2]|0)if(C=a[r+108>>2]|0,E=(N[C+4>>1]|0)-A|0,(E|0)<=(c|0)){V=d+E|0;D=C;J=E;I=V;do I=I+-1|0,G=D,D=a[D>>2]|0,t[I>>0]=t[G+6>>0]|0,J=J+-1|0;while(0!=(J|0)&0!=(D|0));a[v>>2]=0;z=c-E|0;Q=V}else{a[v>>2]=A+c;D=C;J=E;do D=a[D>>2]|0,J=J+-1|0,L=0!=(D|0);while((J|0)>(c|0)&L);if(!L)return K=1,u=e,K|0;J=D;E=c;C=d+c|0;do C=C+-1|0,t[C>>0]=t[J+6>>0]|0,J=a[J>>2]|0,E=E+-1|0;while(0!=(E|0)&0!=(J|0));K=1;u=e;return K|0}else z=c,Q=d;c=b+604|0;d=a[c>>2]|0;L=r+64|0;A=N[L>>1]|0;J=r+72|0;E=a[J>>
-2]|0;C=r+76|0;D=a[C>>2]|0;V=r+84|0;I=a[V>>2]|0;G=r+112|0;F=a[G>>2]|0;R=r+116|0;O=a[R>>2]|0;M=r+120|0;T=a[M>>2]|0;a:do if(0<(z|0)){X=r+96|0;P=F;S=d;W=O;da=T;ba=A;aa=I;ca=D;fa=E;ga=z;ja=Q;b:for(;;){ma=X;pa=a[ma>>2]|0;ha=a[ma+4>>2]|0;ma=(0>(ba|0))<<31>>31;if(ha>>>0<ma>>>0|(ha|0)==(ma|0)&pa>>>0<ba>>>0){ra=P;ya=S;Aa=W;Ka=da;Qa=ba;Va=aa;oa=ca;sa=fa;Wa=ga;ua=18;break}Ia=S+1|0;Da=x[S>>0]|0|fa<<8;na=ca+8|0;(na|0)<(ba|0)?(Na=S+2|0,eb=ca+16|0,Ca=x[Ia>>0]|0|Da<<8):(Na=Ia,eb=na,Ca=Da);Da=eb-ba|0;na=Ca>>>Da&aa;
-Ia=na&65535;Ga=Ic(pa|0,ha|0,ba|0,ma|0)|0;ma=X;a[ma>>2]=Ga;a[ma+4>>2]=U;ma=na&65535;c:do switch(Ia<<16>>16){case 257:Ea=Na;La=W;ab=da;db=ba;fb=aa;lb=Da;xb=Ca;rb=ga;ub=P;break a;case 256:Ga=a[B>>2]|0;ha=Na;pa=Da;jb=Ca;d:for(;;){pb=Ga+2064|0;$c(pb,0,38888);Ab=a[B>>2]|0;Ta=X;Ya=a[Ta>>2]|0;Sa=a[Ta+4>>2]|0;if(0>Sa>>>0|0==(Sa|0)&9>Ya>>>0){mb=pb;Db=Ab;Hb=P;Za=ha;ia=pa;qa=jb;Ja=ga;ua=24;break b}Ta=ha+1|0;ea=x[ha>>0]|0|jb<<8;wa=pa+8|0;9>(wa|0)?(Ma=ha+2|0,xa=pa+16|0,$a=x[Ta>>0]|0|ea<<8):(Ma=Ta,xa=wa,$a=ea);
-ea=xa+-9|0;wa=$a>>>ea;Ta=wa&511;la=Ta&65535;Ba=Qb(Ya|0,Sa|0,-9,-1)|0;Sa=X;a[Sa>>2]=Ba;a[Sa+4>>2]=U;switch(la<<16>>16){case 257:va=pb;za=Ab;ta=ea;nb=P;Kb=Ma;gb=$a;hb=ga;ua=55;break b;case 256:Ga=Ab;ha=Ma;pa=ea;jb=$a;break;default:ob=pb;Bb=Ab;qb=ea;kb=wa;ib=Ta;Cb=la;Gb=Ma;sb=$a;break d}}if(256<(Cb&65535)){ua=29;break b}t[ja>>0]=kb;Xa=Gb;Fa=ob;Pa=Bb+4080|0;Eb=9;vb=511;tb=qb;bb=sb;Ib=ga+-1|0;Mb=(a[B>>2]|0)+(ib<<3)|0;Lb=ja+1|0;break;default:jb=a[B>>2]|0;pa=jb+(ma<<3)|0;ha=jb+40952|0;if(!(W>>>0>=jb>>>0&
-W>>>0<ha>>>0)){ua=33;break b}a[W>>2]=P;if(!(P>>>0>=jb>>>0&P>>>0<ha>>>0)){ua=35;break b}ha=W+7|0;t[ha>>0]=t[P+7>>0]|0;w[W+4>>1]=(N[P+4>>1]|0)+1;t[W+6>>0]=t[(pa>>>0<W>>>0?jb+(ma<<3)+7|0:ha)>>0]|0;ha=W+8|0;ha>>>0>da>>>0?(Ga=ba+1|0,la=12<(Ga|0)?12:Ga,Ga=1<<la,Ua=jb+(Ga+-2<<3)|0,Pb=la,Jb=Ga+-1|0):(Ua=da,Pb=ba,Jb=aa);if(255>=(Ia&65535)){t[ja>>0]=na;Xa=Na;Fa=ha;Pa=Ua;Eb=Pb;vb=Jb;tb=Da;bb=Ca;Ib=ga+-1|0;Mb=pa;Lb=ja+1|0;break c}Ga=w[jb+(ma<<3)+4>>1]|0;jb=Ga&65535;if(!(Ga<<16>>16)){ua=40;break b}if((ga|0)<(jb|
-0)){Sb=Da;yb=pa;cb=ha;Vb=Na;Ub=Ua;Fb=Pb;Yb=Jb;ac=Ca;$b=ga;ec=ja;ua=42;break b}Ga=ja+jb|0;la=pa;Ta=Ga;do Ta=Ta+-1|0,wa=la,la=a[la>>2]|0,t[Ta>>0]=t[wa+6>>0]|0,wb=0!=(la|0);while(Ta>>>0>ja>>>0&wb);if(wb){fc=Da;jc=pa;zb=ha;Ob=Na;Tb=Ua;kc=Pb;lc=Jb;nc=Ca;yc=ga;ua=52;break b}Xa=Na;Fa=ha;Pa=Ua;Eb=Pb;vb=Jb;tb=Da;bb=Ca;Ib=ga-jb|0;Mb=pa;Lb=Ga}while(0);if(0<(Ib|0))P=Mb,S=Xa,W=Fa,da=Pa,ba=Eb,aa=vb,ca=tb,fa=bb,ga=Ib,ja=Lb;else{Ea=Xa;La=Fa;ab=Pa;db=Eb;fb=vb;lb=tb;xb=bb;rb=Ib;ub=Mb;break a}}if(18==(ua|0))ja=a[b+
-628>>2]|0,a[q>>2]=a[b+452>>2],Wb(ja,147871,147905,q),Ea=ya,La=Aa,ab=Ka,db=Qa,fb=Va,lb=oa,xb=sa,rb=Wa,ub=ra;else if(24==(ua|0))ja=a[b+628>>2]|0,a[p>>2]=a[b+452>>2],Wb(ja,147871,147905,p),Ea=Za,La=mb,ab=Db+4080|0,db=9,fb=511,lb=ia,xb=qa,rb=Ja,ub=Hb;else{if(29==(ua|0))return ja=a[b+628>>2]|0,ga=a[b>>2]|0,a[n>>2]=a[b+444>>2],Y(ja,ga,147954,n),K=0,u=e,K|0;if(33==(ua|0))return ga=a[b+628>>2]|0,a[l>>2]=a[b+444>>2],Y(ga,147871,148E3,l),K=0,u=e,K|0;if(35==(ua|0))return ga=a[b+628>>2]|0,a[k>>2]=a[b+444>>2],
-Y(ga,147871,148E3,k),K=0,u=e,K|0;if(40==(ua|0))return ga=a[b+628>>2]|0,a[m>>2]=a[b+444>>2],Y(ga,147871,148035,m),K=0,u=e,K|0;if(42==(ua|0)){for(ga=a[r+108>>2]=yb;;){ja=a[ga>>2]|0;if(!ja){Ea=Vb;La=cb;ab=Ub;db=Fb;fb=Yb;lb=Sb;xb=ac;rb=$b;ub=yb;break a}if((N[ja+4>>1]|0)>($b|0))ga=ja;else{xc=ja;break}}a[v>>2]=$b;ga=xc;ja=$b;fa=ec+$b|0;do fa=fa+-1|0,t[fa>>0]=t[ga+6>>0]|0,ga=a[ga>>2]|0,ja=ja+-1|0,vc=0!=(ga|0);while(0!=(ja|0)&vc);vc&&(ga=a[b+628>>2]|0,a[h>>2]=a[b+444>>2],Y(ga,147871,148106,h));Ea=Vb;La=cb;
-ab=Ub;db=Fb;fb=Yb;lb=Sb;xb=ac;rb=ja;ub=yb}else 52==(ua|0)?(ga=a[b+628>>2]|0,a[g>>2]=a[b+444>>2],Y(ga,147871,148106,g),Ea=Ob,La=zb,ab=Tb,db=kc,fb=lc,lb=fc,xb=nc,rb=yc,ub=jc):55==(ua|0)&&(Ea=Kb,La=va,ab=za+4080|0,db=9,fb=511,lb=ta,xb=gb,rb=hb,ub=nb)}}else Ea=d,La=O,ab=T,db=A,fb=I,lb=D,xb=E,rb=z,ub=F;while(0);a[c>>2]=Ea;w[L>>1]=db;a[J>>2]=xb;a[C>>2]=lb;a[V>>2]=fb;a[G>>2]=ub;a[R>>2]=La;a[M>>2]=ab;if(0>=(rb|0))return K=1,u=e,K|0;ab=a[b+628>>2]|0;a[f>>2]=a[b+444>>2];b=f+8|0;a[b>>2]=rb;a[b+4>>2]=(0>(rb|
-0))<<31>>31;Y(ab,147871,148158,f);K=0;u=e;return K|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,r,B,u,v,z,A,C,E,V,D,J,I,G,L,K,F,R,O,M,T,X,P,S,W,Y,ba,U,da,aa,ga,ca,ma,fa,ha,ja,pa,ra,ya,Aa,Ka,oa,sa,Qa,ua,Ia,Da,na,Na,Va,Ca=0,Ga=0,Ea=0,La=0,Wa=0,ab=0,db=0,eb=0,fb=0,lb=0;e=a[b+576>>2]|0;if(!e)return 0;f=e+152|0;a[f>>2]|0||Z(147763,147682,888,147787);g=e+140|0;h=a[g>>2]|0;m=e+144|0;k=a[m>>2]|0;l=e+132|0;n=a[l>>2]|0;p=e+72|0;q=a[p>>2]|0;r=e+76|0;B=a[r>>2]|0;u=e+68|0;v=N[u>>1]|0;z=e+66|0;A=N[z>>
-1]|0;C=e+64|0;E=N[C>>1]|0;V=b+604|0;D=a[V>>2]|0;J=a[e+148>>2]|0;I=e+128|0;G=a[I>>2]|0;L=G&65535;0<(c|0)&65535==(G&65535|0)?(G=q<<E|256,K=E+B|0,F=K+-8|0,R=D+1|0,t[D>>0]=G>>>F,7<(F|0)?(O=K+-16|0,t[R>>0]=G>>>O,M=O,T=D+2|0):(M=F,T=R),X=d+1|0,P=c+-1|0,S=x[d>>0]|0,W=h+1|0,Y=M,ba=G,U=T,da=E+k|0):(X=d,P=c,S=L,W=h,Y=B,ba=q,U=D,da=k);a:do if(0<(P|0)){k=b+588|0;D=b+608|0;q=e+136|0;B=X;h=P;L=n;c=S;d=v;T=W;G=A;M=E;R=Y;F=ba;O=U;K=da;b:for(;;){aa=t[B>>0]|0;B=B+1|0;ga=aa&255;ca=h;h=h+-1|0;ma=T+1|0;fa=c&65535;ha=
-(ga<<12)+fa|0;ja=ga<<5;ga=ja^fa;c=a[f>>2]|0;pa=a[c+(ga<<3)>>2]|0;c:do if((pa|0)!=(ha|0)){d:do if(-1<(pa|0)){ra=(ja|0)==(fa|0)?1:9001-ga|0;for(ya=ga;;){Aa=ya-ra|0;Ka=0>(Aa|0)?Aa+9001|0:Aa;Aa=a[c+(Ka<<3)>>2]|0;if((Aa|0)==(ha|0)){T=Ka;break}if(-1<(Aa|0))ya=Ka;else{oa=Ka;break d}}oa=L;Ka=w[c+(T<<3)+4>>1]|0;sa=d;Qa=ma;ua=G;Ia=M;Da=R;na=F;Na=O;Va=K;break c}else oa=ga;while(0);O>>>0>J>>>0?(a[D>>2]=O-(a[k>>2]|0),Lc(b)|0,Va=a[k>>2]|0):Va=O;ya=F<<M|fa;ra=M+R|0;Ka=ra+-8|0;Aa=Va+1|0;t[Va>>0]=ya>>>Ka;7<(Ka|0)?
-(sa=ra+-16|0,t[Aa>>0]=ya>>>sa,Na=Aa,Da=sa,Va=Va+2|0):(Na=Va,Da=Ka,Va=Aa);Aa=M+K|0;Ka=aa&255;sa=d+1|0;w[c+(oa<<3)+4>>1]=d;a[c+(oa<<3)>>2]=ha;if(4094==(sa|0)){ra=a[f>>2]|0;na=ra+72E3|0;for(oa=8993;!(oa=oa+-8|0,a[na+-56>>2]=-1,a[na+-48>>2]=-1,a[na+-40>>2]=-1,a[na+-32>>2]=-1,a[na+-24>>2]=-1,a[na+-16>>2]=-1,a[na+-8>>2]=-1,a[na>>2]=-1,-1>=(oa|0));)na=na+-64|0;a[ra>>2]=-1;a[q>>2]=0;na=ya<<M|256;oa=Da+M|0;ra=oa+-8|0;Aa=Na+2|0;t[Va>>0]=na>>>ra;7>=(ra|0)?(oa=L,sa=258,Qa=0,ua=511,Ia=9,Da=ra,Na=Aa):(ra=oa+-16|
-0,t[Aa>>0]=na>>>ra,oa=L,sa=258,Qa=0,ua=511,Ia=9,Da=ra,Na=Na+3|0);Va=M}else if((d|0)>=(G|0)){na=M+1|0;if(13<=(na|0))break b;oa=L;Qa=ma;ua=(1<<na)+-1|0;Ia=na;na=ya;Na=Va;Va=Aa}else if((ma|0)>=(L|0))if(na=T+10001|0,oa=8388606<(T|0)?(ra=Aa>>8)?(ma|0)/(ra|0)|0:2147483647:(ma<<8|0)/(Aa|0)|0,(oa|0)>(a[q>>2]|0))a[q>>2]=oa,oa=na,Qa=ma,ua=G,Ia=M,na=ya,Na=Va,Va=Aa;else{ra=a[f>>2]|0;Aa=ra+72E3|0;for(oa=8993;!(oa=oa+-8|0,a[Aa+-56>>2]=-1,a[Aa+-48>>2]=-1,a[Aa+-40>>2]=-1,a[Aa+-32>>2]=-1,a[Aa+-24>>2]=-1,a[Aa+-16>>
-2]=-1,a[Aa+-8>>2]=-1,a[Aa>>2]=-1,-1>=(oa|0));)Aa=Aa+-64|0;a[ra>>2]=-1;a[q>>2]=0;Aa=ya<<M|256;oa=Da+M|0;ra=oa+-8|0;ya=Na+2|0;t[Va>>0]=Aa>>>ra;7<(ra|0)?(Va=oa+-16|0,t[ya>>0]=Aa>>>Va,oa=na,sa=258,Qa=0,ua=511,Ia=9,Da=Va,na=Aa,Na=Na+3|0):(oa=na,sa=258,Qa=0,ua=511,Ia=9,Da=ra,na=Aa,Na=ya);Va=M}else oa=L,Qa=ma,ua=G,Ia=M,na=ya,Na=Va,Va=Aa}else oa=L,Ka=w[c+(ga<<3)+4>>1]|0,sa=d,Qa=ma,ua=G,Ia=M,Da=R,na=F,Na=O,Va=K;while(0);if(1>=(ca|0)){Ca=oa;Ga=Ka;Ea=sa;La=Qa;Wa=ua;ab=Ia;db=Da;eb=na;fb=Na;lb=Va;break a}else L=
-oa,c=Ka,d=sa,T=Qa,G=ua,M=Ia,R=Da,F=na,O=Na,K=Va}Z(147797,147682,986,147787)}else Ca=n,Ga=S,Ea=v,La=W,Wa=A,ab=E,db=Y,eb=ba,fb=U,lb=da;while(0);a[g>>2]=La;a[m>>2]=lb;a[l>>2]=Ca;a[I>>2]=Ga&65535;a[p>>2]=eb;a[r>>2]=db;w[u>>1]=Ea;w[z>>1]=Wa;w[C>>1]=ab;a[V>>2]=fb;return 1},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,r=0,B=0,v=0,A=0,z=0,Q=0,C=0,E=0,V=0,D=0,J=0,I=0,G=0,L=0,K=0,F=0,R=0,O=0,M=0,T=0,X=0,P=0,S=0,W=0,da=0,ba=0,aa=0,ca=0,fa=0,ga=0,ja=0,ma=0,pa=0,ha=0,ra=0,ya=0,
-Aa=0,Ka=0,Qa=0,Va=0,oa=0,sa=0,Wa=0,ua=0,Ia=0,Da=0,na=0,Na=0,ab=0,Ca=0,Ga=0,Ea=0,La=0,db=0,eb=0,fb=0,lb=0,xb=0,rb=0,ub=0,jb=0,pb=0,Ab=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,Hb=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,Kb=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,Gb=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Lb=0,Ua=0,Pb=0,Jb=0,Sb=0,yb=0,cb=0,Vb=0,Ub=0,Fb=0,Yb=0;e=u;u=u+64|0;f=e+48|0;g=e+40|0;h=e+32|0;m=e+24|0;k=e+16|0;l=e+8|0;n=e;(p=a[b+576>>2]|0)||Z(154187,147682,601,
-148255);q=p+88|0;r=a[q>>2]|0;do if(r)if(A=a[p+108>>2]|0,z=(N[A+4>>1]|0)-r|0,(z|0)<=(c|0)){Q=d+z|0;C=A;E=z;for(V=Q;;)if(V=V+-1|0,t[V>>0]=t[C+6>>0]|0,E=E+-1|0)C=a[C>>2]|0;else break;a[q>>2]=0;B=c-z|0;v=Q}else{a[q>>2]=r+c;C=A;for(E=z;;)if(V=a[C>>2]|0,E=E+-1|0,(E|0)<=(c|0)){D=V;break}else C=V;C=D;E=c;for(z=d+c|0;;)if(z=z+-1|0,t[z>>0]=t[C+6>>0]|0,E=E+-1|0)C=a[C>>2]|0;else{J=1;break}u=e;return J|0}else B=c,v=d;while(0);c=b+604|0;d=a[c>>2]|0;D=p+64|0;r=N[D>>1]|0;C=p+72|0;E=a[C>>2]|0;z=p+76|0;A=a[z>>2]|0;
-Q=p+84|0;V=a[Q>>2]|0;I=p+112|0;G=a[I>>2]|0;L=p+116|0;K=a[L>>2]|0;F=p+120|0;R=a[F>>2]|0;a:do if(0<(B|0)){O=p+96|0;M=p+124|0;T=G;X=d;P=K;S=R;W=r;da=V;ba=A;aa=E;ca=B;fa=v;b:for(;;){ga=O;ja=a[ga>>2]|0;ma=a[ga+4>>2]|0;ga=(0>(W|0))<<31>>31;if(ma>>>0<ga>>>0|(ma|0)==(ga|0)&ja>>>0<W>>>0){pa=T;ha=X;ra=P;ya=S;Aa=W;Ka=da;Qa=ba;Va=aa;oa=ca;sa=16;break}Wa=X+1|0;ua=(x[X>>0]|0)<<ba|aa;Ia=ba+8|0;(Ia|0)<(W|0)?(Da=X+2|0,na=ba+16|0,Na=(x[Wa>>0]|0)<<Ia|ua):(Da=Wa,na=Ia,Na=ua);ua=Na&da;Ia=ua&65535;Wa=Na>>W;ab=na-W|0;Ca=
-Ic(ja|0,ma|0,W|0,ga|0)|0;ga=O;a[ga>>2]=Ca;a[ga+4>>2]=U;c:do switch(Ia|0){case 257:Ga=Da;Ea=P;La=S;db=W;eb=da;fb=ab;lb=Wa;xb=ca;rb=T;break a;case 256:ga=a[M>>2]|0;Ca=Da;ma=ab;ja=Wa;d:for(;;){ub=ga+2064|0;$c(ub,0,38888);jb=a[M>>2]|0;pb=O;Ab=a[pb>>2]|0;Ta=a[pb+4>>2]|0;if(0>Ta>>>0|0==(Ta|0)&9>Ab>>>0){Ya=ub;Sa=jb;mb=T;Db=Ca;Hb=ma;Za=ja;ia=ca;sa=22;break b}pb=Ca+1|0;qa=(x[Ca>>0]|0)<<ma|ja;Ja=ma+8|0;9>(Ja|0)?(ea=Ca+2|0,wa=ma+16|0,Ma=(x[pb>>0]|0)<<Ja|qa):(ea=pb,wa=Ja,Ma=qa);qa=Ma&511;Ja=Ma>>9;pb=wa+-9|0;
-xa=Qb(Ab|0,Ta|0,-9,-1)|0;Ta=O;a[Ta>>2]=xa;a[Ta+4>>2]=U;switch(qa|0){case 257:$a=ub;la=jb;Ba=Ja;va=pb;za=T;ta=ea;nb=ca;sa=47;break b;case 256:ga=jb;Ca=ea;ma=pb;ja=Ja;break;default:Kb=ub;gb=jb;hb=qa;ob=Ja;Bb=pb;qb=ea;kb=Ma;break d}}if(256<hb>>>0){sa=27;break b}t[fa>>0]=kb;ib=qb;Cb=Kb;Gb=gb+4088|0;sb=9;Xa=511;Fa=Bb;Pa=ob;Eb=ca+-1|0;vb=(a[M>>2]|0)+(hb<<3)|0;tb=fa+1|0;break;default:ja=a[M>>2]|0;ma=ja+(Ia<<3)|0;Ca=ja+40952|0;if(!(P>>>0>=ja>>>0&P>>>0<Ca>>>0)){sa=31;break b}a[P>>2]=T;if(!(T>>>0>=ja>>>0&T>>>
-0<Ca>>>0)){sa=33;break b}Ca=P+7|0;t[Ca>>0]=t[T+7>>0]|0;w[P+4>>1]=(N[T+4>>1]|0)+1;t[P+6>>0]=t[(ma>>>0<P>>>0?ja+(Ia<<3)+7|0:Ca)>>0]|0;Ca=P+8|0;Ca>>>0>S>>>0?(ga=W+1|0,pb=12<(ga|0)?12:ga,ga=(1<<pb)+-1|0,bb=ja+(ga<<3)|0,Ib=pb,Mb=ga):(bb=S,Ib=W,Mb=da);if(255>=Ia>>>0){t[fa>>0]=ua;ib=Da;Cb=Ca;Gb=bb;sb=Ib;Xa=Mb;Fa=ab;Pa=Wa;Eb=ca+-1|0;vb=ma;tb=fa+1|0;break c}ga=w[ja+(Ia<<3)+4>>1]|0;ja=ga&65535;if(!(ga<<16>>16)){sa=38;break b}if((ca|0)<(ja|0)){Lb=Wa;Ua=ab;Pb=ma;Jb=Ca;Sb=Da;yb=bb;cb=Ib;Vb=Mb;Ub=ca;Fb=fa;sa=40;
-break b}ga=fa+ja|0;pb=ma;Ja=ga;do Ja=Ja+-1|0,t[Ja>>0]=t[pb+6>>0]|0,pb=a[pb>>2]|0;while(0!=(pb|0));ib=Da;Cb=Ca;Gb=bb;sb=Ib;Xa=Mb;Fa=ab;Pa=Wa;Eb=ca-ja|0;vb=ma;tb=ga}while(0);if(0<(Eb|0))T=vb,X=ib,P=Cb,S=Gb,W=sb,da=Xa,ba=Fa,aa=Pa,ca=Eb,fa=tb;else{Ga=ib;Ea=Cb;La=Gb;db=sb;eb=Xa;fb=Fa;lb=Pa;xb=Eb;rb=vb;break a}}if(16==(sa|0))fa=a[b+628>>2]|0,a[n>>2]=a[b+452>>2],Wb(fa,148255,147905,n),Ga=ha,Ea=ra,La=ya,db=Aa,eb=Ka,fb=Qa,lb=Va,xb=oa,rb=pa;else if(22==(sa|0))fa=a[b+628>>2]|0,a[l>>2]=a[b+452>>2],Wb(fa,148255,
-147905,l),Ga=Db,Ea=Ya,La=Sa+4088|0,db=9,eb=511,fb=Hb,lb=Za,xb=ia,rb=mb;else{if(27==(sa|0))return fa=a[b+628>>2]|0,ca=a[b>>2]|0,a[k>>2]=a[b+444>>2],Y(fa,ca,147954,k),J=0,u=e,J|0;if(31==(sa|0))return ca=a[b+628>>2]|0,a[m>>2]=a[b+444>>2],Y(ca,148255,148E3,m),J=0,u=e,J|0;if(33==(sa|0))return ca=a[b+628>>2]|0,a[h>>2]=a[b+444>>2],Y(ca,148255,148E3,h),J=0,u=e,J|0;if(38==(sa|0))return ca=a[b+628>>2]|0,a[g>>2]=a[b+444>>2],Y(ca,148255,148035,g),J=0,u=e,J|0;if(40==(sa|0)){for(ca=a[p+108>>2]=Pb;;)if(fa=a[ca>>
-2]|0,(N[fa+4>>1]|0)>(Ub|0))ca=fa;else{Yb=fa;break}a[q>>2]=Ub;ca=Yb;fa=Ub;for(aa=Fb+Ub|0;;)if(aa=aa+-1|0,t[aa>>0]=t[ca+6>>0]|0,fa=fa+-1|0)ca=a[ca>>2]|0;else{Ga=Sb;Ea=Jb;La=yb;db=cb;eb=Vb;fb=Ua;lb=Lb;xb=0;rb=Pb;break}}else 47==(sa|0)&&(Ga=ta,Ea=$a,La=la+4088|0,db=9,eb=511,fb=va,lb=Ba,xb=nb,rb=za)}}else Ga=d,Ea=K,La=R,db=r,eb=V,fb=A,lb=E,xb=B,rb=G;while(0);a[c>>2]=Ga;w[D>>1]=db;a[C>>2]=lb;a[z>>2]=fb;a[Q>>2]=eb;a[I>>2]=rb;a[L>>2]=Ea;a[F>>2]=La;if(0>=(xb|0))return J=1,u=e,J|0;La=a[b+628>>2]|0;a[f>>2]=
-a[b+444>>2];b=f+8|0;a[b>>2]=xb;a[b+4>>2]=(0>(xb|0))<<31>>31;Y(La,148255,148158,f);J=0;u=e;return J|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,r,B,w,v,z,A,C,E,V,D,J,I,G,L,K,F;e=u;u=u+16|0;f=e+8|0;(g=0<(c|0))&&Va(d|0,-1,c|0)|0;h=b+604|0;m=b+608|0;k=a[b+580>>2]|0;if((c|0)%(k|0)|0)return Y(a[b+628>>2]|0,148314,153793,e),u=e,0;l=a[m>>2]|0;n=a[h>>2]|0;a:do{if(0<(l|0)&g){p=b+56|0;g=b+12|0;q=b+68|0;r=k+1|0;B=n;w=l;b:for(;;){v=B+1|0;z=x[B>>0]|0;A=w+-1|0;c:do switch(z|0){case 0:if((w|0)<=(k|
-0))break b;Ab(d,v,k);C=B+r|0;l=A-k|0;break;case 64:if(5>(w|0))break b;l=(x[v>>0]|0)<<8|x[B+2>>0]|0;C=(x[B+3>>0]|0)<<8|x[B+4>>0]|0;n=C+4|0;if((w|0)<=(n|0)|(C+l|0)>(k|0))break b;Ab(d+l|0,B+5|0,C);C=B+(C+5)|0;l=A-n|0;break;default:for(n=a[(0==(a[g>>2]&1024|0)?p:q)>>2]|0,C=v,l=A,B=0,w=d;;){v=z>>>6;z&=63;A=B>>>0<n>>>0;d:do if(0!=(z|0)&A)for(E=v<<6&255,V=v<<4,D=v<<2,J=z,I=B,G=w;;){L=I;e:for(;;){K=J;J=J+-1|0;I=L+1|0;switch(L&3|0){case 3:F=J;break e;case 0:t[G>>0]=E;break;case 1:t[G>>0]=x[G>>0]|0|V;break;
-case 2:t[G>>0]=x[G>>0]|0|D}L=I>>>0<n>>>0;if(1<(K|0)&L)L=I;else{E=L;V=I;break d}}L=G+1|0;t[G>>0]=x[G>>0]|0|v;J=I>>>0<n>>>0;if(1<(K|0)&J)J=F,G=L;else{E=J;V=I;G=L;break}}else E=A,V=B,G=w;while(0);if(!E)break c;if(!l)break b;A=x[C>>0]|0;C=C+1|0;l=l+-1|0;z=A;B=V;w=G}}while(0);c=c-k|0;if(0<(l|0)&0<(c|0))B=C,w=l,d=d+k|0;else{p=C;q=l;break a}}d=a[b+628>>2]|0;a[f>>2]=a[b+444>>2];Y(d,148314,148325,f);u=e;return 0}p=n;q=l}while(0);a[h>>2]=p;a[m>>2]=q;u=e;return 1},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,
-m,k,l,n,p,q,r,B,w,v,z,A,C,D,V,F,J,I,G,L,K;e=u;u=u+16|0;f=e+8|0;g=e;h=e+12|0;m=a[b+576>>2]|0;if(t[m+497>>0]|0){k=m+1212|0;a:do if((c>>>0)%((a[k>>2]|0)>>>0)|0)Y(a[b+628>>2]|0,151196,151162,f);else{0>=(c|0)&&Z(151191,148429,869,151196);a[h>>2]=d;l=m+632|0;n=c;do{if(!(Ph(m,l,h)|0))break a;p=a[k>>2]|0;a[h>>2]=(a[h>>2]|0)+p;n=n-p|0}while(0<(n|0));b=1;u=e;return b|0}while(0);u=e;return 0}f=m+1212|0;if((c>>>0)%((a[f>>2]|0)>>>0)|0)return Y(a[b+628>>2]|0,151147,151162,g),u=e,0;0>=(c|0)&&Z(151191,148429,821,
-151147);g=m+632|0;b=m+1200|0;h=m+1208|0;k=m+229|0;n=m+1184|0;l=m+1152|0;p=m+1188|0;q=m+1160|0;r=m+1192|0;B=m+1204|0;w=m+1164|0;v=m+228|0;z=a[h>>2]|0;A=d;for(d=c;;){if(z)C=z;else{if(!(ok(m,g,a[b>>2]|0,x[k>>0]<<3)|0)){b=0;d=30;break}C=a[h>>2]|0}c=E(a[q>>2]|0,C)|0;if(a[B>>2]|0){z=t[k>>0]|0;D=E(z&255,C)|0;V=z;z=(a[p>>2]|0)+c|0;F=(a[r>>2]|0)+c|0;c=(a[n>>2]|0)+(E(D,a[l>>2]|0)|0)|0;D=A;for(C=0;;){J=t[v>>0]|0;if(V<<24>>24)for(I=J,G=V,L=J,J=D,K=c,D=0;;){if(L<<24>>24){G=K;for(K=0;;)if(I=G+1|0,V=J+1|0,t[J>>
-0]=t[G>>0]|0,K=K+1<<24>>24,G=t[v>>0]|0,(K&255)>=(G&255)){K=I;J=V;V=G;break}else J=V,G=I;I=V;G=t[k>>0]|0}else V=0;D=D+1<<24>>24;if((D&255)>=(G&255)){D=J;break}else L=V,K=K+((a[l>>2]|0)-(V&255))|0}else I=J;t[D>>0]=t[z>>0]|0;t[D+1>>0]=t[F>>0]|0;K=C+1|0;if(K>>>0>=(a[B>>2]|0)>>>0)break;V=t[k>>0]|0;z=z+1|0;F=F+1|0;c=c+(I&255)|0;D=D+2|0;C=K}c=a[h>>2]|0}else c=C;C=c+1|0;z=(C|0)==(a[w>>2]|0)?0:C;a[h>>2]=z;C=a[f>>2]|0;d=d-C|0;if(0>=(d|0)){b=1;d=30;break}else A=A+C|0}return 30==(d|0)?(u=e,b|0):0},function(b,
-d,c,e){e=u;u=u+16|0;Y(a[(b|0)+628>>2]|0,151018,151030,e);u=e;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,r,B,w=0,v=0,z,x,C=0,A=0,E=0,D=0,J=0,I=0,G=0,L=0,K=0,F,N=0,O=0,M=0;F=0;e=u;u=u+32|0;f=e+24|0;g=e+16|0;h=e+8|0;m=e;k=b+604|0;l=a[k>>2]|0;n=b+608|0;p=a[n>>2]|0;q=b+628|0;r=0<(c|0);a:do{if(r){B=p;b:for(;;){p=l;for(l=B;;){if(0>=(l|0)){w=p;v=l;p=5;break b}B=p+1|0;z=t[p>>0]|0;x=l+-1|0;if(0<=z<<24>>24){C=B;A=z;E=x;D=p;J=l;p=12;break}if(-128==z<<24>>24)p=B,l=x;else{I=B;G=z;L=p;K=l;
-p=8;break}}if(8==(p|0))l=1-(G<<24>>24)|0,(l|0)>(c|0)?(p=a[q>>2]|0,a[m>>2]=l-c,Wb(p,152115,152130,m),F=c):F=l,l=L+2|0,p=K+-2|0,0<(F|0)?(Va(d|0,t[I>>0]|0,F|0)|0,N=d+F|0):N=d,O=l,M=p;else if(12==(p|0)){p=A<<24>>24;(c|0)<(p+1|0)?(l=a[q>>2]|0,a[h>>2]=1-c+p,Wb(l,152115,152130,h),O=c+-1|0):O=p;p=O+1|0;if((J|0)<=(p|0)){p=17;break}Ab(d,C,p);N=d+p|0;O=D+(O+2)|0;M=E-p|0;F=p}c=c-F|0;if(p=0<(c|0))d=N,r=p,l=O,B=M;else{B=O;z=M;break a}}if(5==(p|0))a[k>>2]=w,a[n>>2]=v;else if(17==(p|0)&&(Wb(a[q>>2]|0,152115,152175,
-g),a[k>>2]=C,a[n>>2]=E,!r))return b=1,u=e,b|0;B=a[q>>2]|0;a[f>>2]=a[b+444>>2];Y(B,152115,152223,f);b=0;u=e;return b|0}B=l;z=p}while(0);a[k>>2]=B;a[n>>2]=z;u=e;return 1},Qh,function(b,d,c,e){b|=0;c|=0;e|=0;var f,g;f=a[a[b+576>>2]>>2]|0;if(0<(c|0))d|=0,g=c;else return 1;for(;;){c=(g|0)<(f|0)?g:f;if(0>(Qh(b,d,c,e)|0)){b=-1;c=4;break}g=g-c|0;if(0>=(g|0)){b=1;c=4;break}else d=d+c|0}return 4==(c|0)?b|0:0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f=0,g=0,h=0,m=0,k=0,l=0,n=0,p=0,q=0,r=0,B=0,v=0,x=0,z=0,
-A=0,C=0,D=0,V=0,F=0,J=0,I=0,G=0,L=0,K=0,R=0,S=0,O=0,M=0,T=0,X=0,P=0,U=0,da=0,aa=0,ba=0,ca=0,fa=0,ja=0,ga=0,pa=0,ma=0,ra=0,ha=0,ya=0,Aa=0,Ka=0,Qa=0,Va=0,Wa=0,oa=0,sa=0,ab=0,ua=0,Ia=0,Da=0,na=0,Na=0,db=0,Ca=0,Ga=0,Ea=0,La=0,eb=0,fb=0,lb=0,pb=0,rb=0,ub=0,Ab=0,jb=0,Gb=0,Hb=0,Ta=0,Ya=0,Sa=0,mb=0,Db=0,Kb=0,Za=0,ia=0,qa=0,Ja=0,ea=0,wa=0,Ma=0,xa=0,$a=0,la=0,Ba=0,va=0,za=0,ta=0,nb=0,Lb=0,gb=0,hb=0,ob=0,Bb=0,qb=0,kb=0,ib=0,Cb=0,Pb=0,sb=0,Xa=0,Fa=0,Pa=0,Eb=0,vb=0,tb=0,bb=0,Ib=0,Mb=0,Qb=0,Ua=0;e=u;u=u+48|0;f=
-e+40|0;g=e+32|0;h=e+24|0;m=e+16|0;k=e+8|0;l=e;n=a[b+576>>2]|0;p=n+132|0;switch(a[p>>2]|0){case 5:q=c>>>2;break;case 2:case 3:case 4:q=c>>>1;break;case 1:case 0:q=c;break;default:return c=a[b+628>>2]|0,a[l>>2]=N[b+84>>1],Y(c,152640,152446,l),r=0,u=e,r|0}l=n+124|0;c=E(N[l>>1]|0,a[b+56>>2]|0)|0;n||Z(154187,152287,772,152640);B=n+120|0;v=n+64|0;a[n+76>>2]=a[B>>2];x=n+80|0;a[x>>2]=q<<1;z=b+628|0;A=b+444|0;C=n+88|0;a:do switch(Ji(v,1)|0){case 1:D=12;break a;case -3:V=a[z>>2]|0;F=a[C>>2]|0;a[k>>2]=a[A>>
-2];a[k+4>>2]=F;Y(V,152640,154366,k);if(ng(v)|0){r=0;D=103;break a}break;case 0:break;default:D=10;break a}while(0!=(a[x>>2]|0));if(10==(D|0))return v=a[z>>2]|0,a[m>>2]=a[C>>2],Y(v,152640,154272,m),r=0,u=e,r|0;if(12==(D|0)){if(m=a[x>>2]|0)return x=a[z>>2]|0,a[h>>2]=a[A>>2],a[h+4>>2]=m,Y(x,152640,154401,h),r=0,u=e,r|0}else if(103==(D|0))return u=e,r|0;h=a[B>>2]|0;a[b+12>>2]&128&&Vd(h,q);(B=(q|0)%(c|0)|0)?(x=a[z>>2]|0,a[g>>2]=c,a[g+4>>2]=q,Wb(x,152640,152655,g),J=q-B|0):J=q;if(0>=(J|0))return r=1,u=
-e,r|0;B=n+148|0;q=c<<2;g=3<(c|0);x=4<(c|0);m=n+152|0;A=c<<1;v=n+156|0;n=d;d=0;C=h;a:for(;;){switch(a[p>>2]|0){case 5:h=w[l>>1]|0;k=h&65535;V=a[B>>2]|0;b:do if((c|0)>=(k|0))switch(k|0){case 3:F=(N[C>>1]|0)&2047;I=(N[C+2>>1]|0)&2047;G=a[V+(I<<2)>>2]|0;L=(N[C+4>>1]|0)&2047;K=a[V+(L<<2)>>2]|0;a[n>>2]=a[V+(F<<2)>>2];a[n+4>>2]=G;a[n+8>>2]=K;if(g)R=c,S=C,O=n,M=L,T=I,X=F;else break b;do R=R+-3|0,F=S,S=S+6|0,I=O,O=O+12|0,X=(N[S>>1]|0)+X|0,T=(N[F+8>>1]|0)+T|0,L=a[V+((T&2047)<<2)>>2]|0,M=(N[F+10>>1]|0)+M|0,
-F=a[V+((M&2047)<<2)>>2]|0,a[O>>2]=a[V+((X&2047)<<2)>>2],a[I+16>>2]=L,a[I+20>>2]=F;while(3<(R|0));break;case 4:F=(N[C>>1]|0)&2047;I=(N[C+2>>1]|0)&2047;L=a[V+(I<<2)>>2]|0;K=(N[C+4>>1]|0)&2047;G=a[V+(K<<2)>>2]|0;P=(N[C+6>>1]|0)&2047;U=a[V+(P<<2)>>2]|0;a[n>>2]=a[V+(F<<2)>>2];a[n+4>>2]=L;a[n+8>>2]=G;a[n+12>>2]=U;if(x)da=c,aa=C,ba=n,ca=P,fa=K,ja=I,ga=F;else break b;do da=da+-4|0,F=aa,aa=aa+8|0,I=ba,ba=ba+16|0,ga=(N[aa>>1]|0)+ga|0,ja=(N[F+10>>1]|0)+ja|0,K=a[V+((ja&2047)<<2)>>2]|0,fa=(N[F+12>>1]|0)+fa|0,
-P=a[V+((fa&2047)<<2)>>2]|0,ca=(N[F+14>>1]|0)+ca|0,F=a[V+((ca&2047)<<2)>>2]|0,a[ba>>2]=a[V+((ga&2047)<<2)>>2],a[I+20>>2]=K,a[I+24>>2]=P,a[I+28>>2]=F;while(4<(da|0));break;default:F=~k;I=k+2|0;P=C;K=n;for(U=k;;)if(a[K>>2]=a[V+(((N[P>>1]|0)&2047)<<2)>>2],1<(U|0))P=P+2|0,K=K+4|0,U=U+-1|0;else break;U=I+(0==h<<16>>16?F:-2)|0;K=c-k|0;if(0<(K|0))pa=K,ma=n,ra=C;else break b;do{ma=ma+(U<<2)|0;K=ra=ra+(U<<1)|0;P=ma;for(G=k;;)if(L=K+(k<<1)|0,w[L>>1]=(N[L>>1]|0)+(N[K>>1]|0),a[P>>2]=a[V+(((N[K>>1]|0)&2047)<<2)>>
-2],1<(G|0))K=K+2|0,P=P+4|0,G=G+-1|0;else break;pa=pa-k|0}while(0<(pa|0))}while(0);ha=n+q|0;break;case 4:k=w[l>>1]|0;V=k&65535;h=a[m>>2]|0;b:do if((c|0)>=(V|0))switch(V|0){case 3:U=(N[C>>1]|0)&2047;w[n>>1]=w[h+(U<<1)>>1]|0;F=(N[C+2>>1]|0)&2047;w[n+2>>1]=w[h+(F<<1)>>1]|0;I=(N[C+4>>1]|0)&2047;w[n+4>>1]=w[h+(I<<1)>>1]|0;if(g)ya=c,Aa=C,Ka=n,Qa=I,Va=F,Wa=U;else break b;do ya=ya+-3|0,U=Aa,Aa=Aa+6|0,F=Ka,Ka=Ka+6|0,Wa=(N[Aa>>1]|0)+Wa|0,w[Ka>>1]=w[h+((Wa&2047)<<1)>>1]|0,Va=(N[U+8>>1]|0)+Va|0,w[F+8>>1]=w[h+
-((Va&2047)<<1)>>1]|0,Qa=(N[U+10>>1]|0)+Qa|0,w[F+10>>1]=w[h+((Qa&2047)<<1)>>1]|0;while(3<(ya|0));break;case 4:F=(N[C>>1]|0)&2047;w[n>>1]=w[h+(F<<1)>>1]|0;U=(N[C+2>>1]|0)&2047;w[n+2>>1]=w[h+(U<<1)>>1]|0;I=(N[C+4>>1]|0)&2047;w[n+4>>1]=w[h+(I<<1)>>1]|0;G=(N[C+6>>1]|0)&2047;w[n+6>>1]=w[h+(G<<1)>>1]|0;if(x)oa=c,sa=C,ab=n,ua=G,Ia=I,Da=U,na=F;else break b;do oa=oa+-4|0,F=sa,sa=sa+8|0,U=ab,ab=ab+8|0,na=(N[sa>>1]|0)+na|0,w[ab>>1]=w[h+((na&2047)<<1)>>1]|0,Da=(N[F+10>>1]|0)+Da|0,w[U+10>>1]=w[h+((Da&2047)<<1)>>
-1]|0,Ia=(N[F+12>>1]|0)+Ia|0,w[U+12>>1]=w[h+((Ia&2047)<<1)>>1]|0,ua=(N[F+14>>1]|0)+ua|0,w[U+14>>1]=w[h+((ua&2047)<<1)>>1]|0;while(4<(oa|0));break;default:U=~V;F=V+2|0;I=C;G=n;for(P=V;;)if(w[G>>1]=w[h+(((N[I>>1]|0)&2047)<<1)>>1]|0,1<(P|0))I=I+2|0,G=G+2|0,P=P+-1|0;else break;P=F+(0==k<<16>>16?U:-2)|0;G=c-V|0;if(0<(G|0))Na=G,db=n,Ca=C;else break b;do{db=db+(P<<1)|0;G=Ca=Ca+(P<<1)|0;I=db;for(K=V;;)if(L=G+(V<<1)|0,w[L>>1]=(N[L>>1]|0)+(N[G>>1]|0),w[I>>1]=w[h+(((N[G>>1]|0)&2047)<<1)>>1]|0,1<(K|0))G=G+2|0,
-I=I+2|0,K=K+-1|0;else break;Na=Na-V|0}while(0<(Na|0))}while(0);ha=n+A|0;break;case 3:V=w[l>>1]|0;h=V&65535;k=a[B>>2]|0;b:do if((c|0)>=(h|0))switch(h|0){case 3:P=(N[C>>1]|0)&2047;Ga=2048*+W[k+(P<<2)>>2];U=(N[C+2>>1]|0)&2047;Ea=2048*+W[k+(U<<2)>>2];F=(N[C+4>>1]|0)&2047;La=2048*+W[k+(F<<2)>>2];w[n>>1]=3071>Ga?~~Ga&65535:3071;w[n+2>>1]=3071>Ea?~~Ea&65535:3071;w[n+4>>1]=3071>La?~~La&65535:3071;if(g)eb=c,fb=C,lb=n,pb=F,rb=U,ub=P;else break b;do eb=eb+-3|0,P=fb,fb=fb+6|0,U=lb,lb=lb+6|0,ub=(N[fb>>1]|0)+ub|
-0,La=2048*+W[k+((ub&2047)<<2)>>2],rb=(N[P+8>>1]|0)+rb|0,Ea=2048*+W[k+((rb&2047)<<2)>>2],pb=(N[P+10>>1]|0)+pb|0,Ga=2048*+W[k+((pb&2047)<<2)>>2],w[lb>>1]=3071>La?~~La&65535:3071,w[U+8>>1]=3071>Ea?~~Ea&65535:3071,w[U+10>>1]=3071>Ga?~~Ga&65535:3071;while(3<(eb|0));break;case 4:U=(N[C>>1]|0)&2047;Ga=2048*+W[k+(U<<2)>>2];P=(N[C+2>>1]|0)&2047;Ea=2048*+W[k+(P<<2)>>2];F=(N[C+4>>1]|0)&2047;La=2048*+W[k+(F<<2)>>2];K=(N[C+6>>1]|0)&2047;Ab=2048*+W[k+(K<<2)>>2];w[n>>1]=3071>Ga?~~Ga&65535:3071;w[n+2>>1]=3071>Ea?
-~~Ea&65535:3071;w[n+4>>1]=3071>La?~~La&65535:3071;w[n+6>>1]=3071>Ab?~~Ab&65535:3071;if(x)jb=c,Gb=C,Hb=n,Ta=K,Ya=F,Sa=P,mb=U;else break b;do jb=jb+-4|0,U=Gb,Gb=Gb+8|0,P=Hb,Hb=Hb+8|0,mb=(N[Gb>>1]|0)+mb|0,Ab=2048*+W[k+((mb&2047)<<2)>>2],Sa=(N[U+10>>1]|0)+Sa|0,La=2048*+W[k+((Sa&2047)<<2)>>2],Ya=(N[U+12>>1]|0)+Ya|0,Ea=2048*+W[k+((Ya&2047)<<2)>>2],Ta=(N[U+14>>1]|0)+Ta|0,Ga=2048*+W[k+((Ta&2047)<<2)>>2],w[Hb>>1]=3071>Ab?~~Ab&65535:3071,w[P+10>>1]=3071>La?~~La&65535:3071,w[P+12>>1]=3071>Ea?~~Ea&65535:3071,
-w[P+14>>1]=3071>Ga?~~Ga&65535:3071;while(4<(jb|0));break;default:P=~h;U=h+2|0;F=C;K=n;for(I=h;;)if(Ga=2048*+W[k+(((N[F>>1]|0)&2047)<<2)>>2],w[K>>1]=3071>Ga?~~Ga&65535:3071,1<(I|0))F=F+2|0,K=K+2|0,I=I+-1|0;else break;I=U+(0==V<<16>>16?P:-2)|0;K=c-h|0;if(0<(K|0))Db=K,Kb=n,Za=C;else break b;do{Kb=Kb+(I<<1)|0;K=Za=Za+(I<<1)|0;F=Kb;for(G=h;;)if(L=K+(h<<1)|0,ia=(N[L>>1]|0)+(N[K>>1]|0)|0,w[L>>1]=ia,Ga=2048*+W[k+((ia&2047)<<2)>>2],w[F>>1]=3071>Ga?~~Ga&65535:3071,1<(G|0))K=K+2|0,F=F+2|0,G=G+-1|0;else break;
-Db=Db-h|0}while(0<(Db|0))}while(0);ha=n+A|0;break;case 2:h=w[l>>1]|0;k=h&65535;b:do if((c|0)>=(k|0))switch(k|0){case 3:V=w[C>>1]|0;w[n>>1]=V;I=w[C+2>>1]|0;w[n+2>>1]=I;P=w[C+4>>1]|0;w[n+4>>1]=P;if(!g)break b;U=n;G=C;F=c;K=P&65535;P=I&65535;I=V&65535;do F=F+-3|0,V=G,G=G+6|0,ia=U,U=U+6|0,I=(N[G>>1]|0)+I|0,w[U>>1]=I&2047,P=(N[V+8>>1]|0)+P|0,w[ia+8>>1]=P&2047,K=(N[V+10>>1]|0)+K|0,w[ia+10>>1]=K&2047;while(3<(F|0));break;case 4:F=w[C>>1]|0;w[n>>1]=F;K=w[C+2>>1]|0;w[n+2>>1]=K;P=w[C+4>>1]|0;w[n+4>>1]=P;I=
-w[C+6>>1]|0;w[n+6>>1]=I;if(!x)break b;U=n;G=C;ia=c;V=I&65535;I=P&65535;P=K&65535;K=F&65535;do ia=ia+-4|0,F=G,G=G+8|0,L=U,U=U+8|0,K=(N[G>>1]|0)+K|0,w[U>>1]=K&2047,P=(N[F+10>>1]|0)+P|0,w[L+10>>1]=P&2047,I=(N[F+12>>1]|0)+I|0,w[L+12>>1]=I&2047,V=(N[F+14>>1]|0)+V|0,w[L+14>>1]=V&2047;while(4<(ia|0));break;default:ia=~k;V=k+2|0;I=C;P=n;for(K=k;;)if(w[P>>1]=(N[I>>1]|0)&2047,1<(K|0))I=I+2|0,P=P+2|0,K=K+-1|0;else break;K=V+(0==h<<16>>16?ia:-2)|0;P=c-k|0;if(0<(P|0))qa=P,Ja=n,ea=C;else break b;do{Ja=Ja+(K<<1)|
-0;P=ea=ea+(K<<1)|0;I=Ja;for(U=k;;)if(G=P+(k<<1)|0,w[G>>1]=(N[G>>1]|0)+(N[P>>1]|0),w[I>>1]=(N[P>>1]|0)&2047,1<(U|0))P=P+2|0,I=I+2|0,U=U+-1|0;else break;qa=qa-k|0}while(0<(qa|0))}while(0);ha=n+A|0;break;case 0:k=w[l>>1]|0;h=k&65535;K=a[v>>2]|0;b:do if((c|0)>=(h|0))switch(h|0){case 3:ia=(N[C>>1]|0)&2047;t[n>>0]=t[K+ia>>0]|0;V=(N[C+2>>1]|0)&2047;t[n+1>>0]=t[K+V>>0]|0;U=(N[C+4>>1]|0)&2047;t[n+2>>0]=t[K+U>>0]|0;if(g)wa=c,Ma=C,xa=n,$a=U,la=V,Ba=ia;else break b;do wa=wa+-3|0,ia=Ma,Ma=Ma+6|0,V=xa,xa=xa+3|
-0,Ba=(N[Ma>>1]|0)+Ba|0,t[xa>>0]=t[K+(Ba&2047)>>0]|0,la=(N[ia+8>>1]|0)+la|0,t[V+4>>0]=t[K+(la&2047)>>0]|0,$a=(N[ia+10>>1]|0)+$a|0,t[V+5>>0]=t[K+($a&2047)>>0]|0;while(3<(wa|0));break;case 4:V=(N[C>>1]|0)&2047;t[n>>0]=t[K+V>>0]|0;ia=(N[C+2>>1]|0)&2047;t[n+1>>0]=t[K+ia>>0]|0;U=(N[C+4>>1]|0)&2047;t[n+2>>0]=t[K+U>>0]|0;I=(N[C+6>>1]|0)&2047;t[n+3>>0]=t[K+I>>0]|0;if(x)va=c,za=C,ta=n,nb=I,Lb=U,gb=ia,hb=V;else break b;do va=va+-4|0,V=za,za=za+8|0,ia=ta,ta=ta+4|0,hb=(N[za>>1]|0)+hb|0,t[ta>>0]=t[K+(hb&2047)>>
-0]|0,gb=(N[V+10>>1]|0)+gb|0,t[ia+5>>0]=t[K+(gb&2047)>>0]|0,Lb=(N[V+12>>1]|0)+Lb|0,t[ia+6>>0]=t[K+(Lb&2047)>>0]|0,nb=(N[V+14>>1]|0)+nb|0,t[ia+7>>0]=t[K+(nb&2047)>>0]|0;while(4<(va|0));break;default:ia=~h;V=h+2|0;U=C;I=n;for(P=h;;)if(t[I>>0]=t[K+((N[U>>1]|0)&2047)>>0]|0,1<(P|0))U=U+2|0,I=I+1|0,P=P+-1|0;else break;P=V+(0==k<<16>>16?ia:-2)|0;I=c-h|0;if(0<(I|0))ob=I,Bb=n,qb=C;else break b;do{Bb=Bb+P|0;I=qb=qb+(P<<1)|0;U=Bb;for(G=h;;)if(L=I+(h<<1)|0,w[L>>1]=(N[L>>1]|0)+(N[I>>1]|0),t[U>>0]=t[K+((N[I>>1]|
-0)&2047)>>0]|0,1<(G|0))I=I+2|0,U=U+1|0,G=G+-1|0;else break;ob=ob-h|0}while(0<(ob|0))}while(0);ha=n+c|0;break;case 1:h=w[l>>1]|0;K=h&65535;k=a[v>>2]|0;b:do if((c|0)>=(K|0))switch(K|0){case 3:t[n>>0]=0;P=(N[C+4>>1]|0)&2047;ia=(N[C+2>>1]|0)&2047;V=t[k+ia>>0]|0;G=(N[C>>1]|0)&2047;U=t[k+G>>0]|0;t[n+1>>0]=t[k+P>>0]|0;t[n+2>>0]=V;t[n+3>>0]=U;if(g)kb=c,ib=C,Cb=n,Pb=P,sb=ia,Xa=G;else break b;do kb=kb+-3|0,G=ib,ib=ib+6|0,ia=Cb,Cb=Cb+4|0,t[Cb>>0]=0,Pb=(N[G+10>>1]|0)+Pb|0,sb=(N[G+8>>1]|0)+sb|0,G=t[k+(sb&2047)>>
-0]|0,Xa=(N[ib>>1]|0)+Xa|0,P=t[k+(Xa&2047)>>0]|0,t[ia+5>>0]=t[k+(Pb&2047)>>0]|0,t[ia+6>>0]=G,t[ia+7>>0]=P;while(3<(kb|0));break;case 4:P=(N[C+6>>1]|0)&2047;ia=(N[C+4>>1]|0)&2047;G=t[k+ia>>0]|0;U=(N[C+2>>1]|0)&2047;V=t[k+U>>0]|0;I=(N[C>>1]|0)&2047;L=t[k+I>>0]|0;t[n>>0]=t[k+P>>0]|0;t[n+1>>0]=G;t[n+2>>0]=V;t[n+3>>0]=L;if(x)Fa=c,Pa=C,Eb=n,vb=P,tb=ia,bb=U,Ib=I;else break b;do Fa=Fa+-4|0,I=Pa,Pa=Pa+8|0,U=Eb,Eb=Eb+4|0,vb=(N[I+14>>1]|0)+vb|0,tb=(N[I+12>>1]|0)+tb|0,ia=t[k+(tb&2047)>>0]|0,bb=(N[I+10>>1]|0)+
-bb|0,I=t[k+(bb&2047)>>0]|0,Ib=(N[Pa>>1]|0)+Ib|0,P=t[k+(Ib&2047)>>0]|0,t[Eb>>0]=t[k+(vb&2047)>>0]|0,t[U+5>>0]=ia,t[U+6>>0]=I,t[U+7>>0]=P;while(4<(Fa|0));break;default:P=~K;U=K+2|0;I=C;ia=n;for(L=K;;)if(t[ia>>0]=t[k+((N[I>>1]|0)&2047)>>0]|0,1<(L|0))I=I+2|0,ia=ia+1|0,L=L+-1|0;else break;L=U+(0==h<<16>>16?P:-2)|0;ia=c-K|0;if(0<(ia|0))Mb=ia,Qb=n,Ua=C;else break b;do{Qb=Qb+L|0;ia=Ua=Ua+(L<<1)|0;I=Qb;for(V=K;;)if(G=ia+(K<<1)|0,w[G>>1]=(N[G>>1]|0)+(N[ia>>1]|0),t[I>>0]=t[k+((N[ia>>1]|0)&2047)>>0]|0,1<(V|0))ia=
-ia+2|0,I=I+1|0,V=V+-1|0;else break;Mb=Mb-K|0}while(0<(Mb|0))}while(0);ha=n+c|0;break;default:break a}d=d+c|0;if((d|0)>=(J|0)){r=1;D=103;break}else n=ha,C=C+(c<<1)|0}if(103==(D|0))return u=e,r|0;D=a[z>>2]|0;a[f>>2]=N[b+84>>1];Y(D,152640,152722,f);r=0;u=e;return r|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p=0,q,t,r,v,A,z,Q,C,D,V,F,J,I,G,L,K,R,S,O,M,T,X,P,U,da,Z,ba,aa,ca,fa,ga=0;e=u;u=u+32|0;f=e+24|0;g=e+16|0;h=e+8|0;m=e;k=a[b+576>>2]|0;l=a[k+132>>2]|0;switch(l|0){case 5:n=c>>>2;break;case 2:case 3:case 4:n=
-c>>>1;break;case 1:case 0:n=c;break;default:return c=a[b+628>>2]|0,a[m>>2]=N[b+84>>1],Y(c,152431,152446,m),u=e,0}m=k+124|0;c=E(N[m>>1]|0,a[b+56>>2]|0)|0;q=k+120|0;a:do{if(0<(n|0)){t=a[q>>2]|0;q=k+160|0;r=c<<2;v=c+-1|0;A=3<(c|0);z=4<(c|0);Q=k+164|0;C=c<<1;D=k+168|0;V=t;F=d;d=0;J=t;b:for(;;){switch(l|0){case 5:t=w[m>>1]|0;I=t&65535;G=a[q>>2]|0;L=+W[27466];c:do if((c|0)>=(I|0))switch(I|0){case 3:K=+W[F>>2];R=0>K?0:2>K?+(N[G+(~~(L*K)<<1)>>1]|0):24.200000762939453<K?2047:+W[27464]*+Nd(+(K*+W[27465]))+
-.5;S=~~R&65535;w[J>>1]=S;O=S&65535;K=+W[F+4>>2];R=0>K?0:2>K?+(N[G+(~~(L*K)<<1)>>1]|0):24.200000762939453<K?2047:+W[27464]*+Nd(+(K*+W[27465]))+.5;S=~~R&65535;w[J+2>>1]=S;M=S&65535;K=+W[F+8>>2];R=0>K?0:2>K?+(N[G+(~~(L*K)<<1)>>1]|0):24.200000762939453<K?2047:+W[27464]*+Nd(+(K*+W[27465]))+.5;S=~~R&65535;w[J+4>>1]=S;if(!A)break c;K=+W[27464];T=+W[27465];R=c;X=F;P=J;U=S&65535;S=M;da=O;do R=R+-3|0,Z=P,P=P+6|0,ba=X,X=X+12|0,aa=+W[X>>2],O=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:K*
-+Nd(+(T*aa))+.5,ca=da,da=~~O,w[P>>1]=da-ca&2047,aa=+W[ba+16>>2],O=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:K*+Nd(+(T*aa))+.5,ca=S,S=~~O,w[Z+8>>1]=S-ca&2047,aa=+W[ba+20>>2],ca=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:K*+Nd(+(T*aa))+.5,ba=U,U=~~ca,w[Z+10>>1]=U-ba&2047;while(3<(R|0));break;case 4:T=+W[F>>2];R=0>T?0:2>T?+(N[G+(~~(L*T)<<1)>>1]|0):24.200000762939453<T?2047:+W[27464]*+Nd(+(T*+W[27465]))+.5;R=~~R&65535;w[J>>1]=R;U=R&65535;T=+W[F+4>>2];R=0>
-T?0:2>T?+(N[G+(~~(L*T)<<1)>>1]|0):24.200000762939453<T?2047:+W[27464]*+Nd(+(T*+W[27465]))+.5;R=~~R&65535;w[J+2>>1]=R;S=R&65535;T=+W[F+8>>2];R=0>T?0:2>T?+(N[G+(~~(L*T)<<1)>>1]|0):24.200000762939453<T?2047:+W[27464]*+Nd(+(T*+W[27465]))+.5;R=~~R&65535;w[J+4>>1]=R;da=R&65535;T=+W[F+12>>2];R=0>T?0:2>T?+(N[G+(~~(L*T)<<1)>>1]|0):24.200000762939453<T?2047:+W[27464]*+Nd(+(T*+W[27465]))+.5;R=~~R&65535;w[J+6>>1]=R;if(!z)break c;T=+W[27464];K=+W[27465];P=c;X=F;O=J;M=R&65535;R=da;ba=S;ca=U;do P=P+-4|0,da=O,O=
-O+8|0,fa=X,X=X+16|0,aa=+W[X>>2],U=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:T*+Nd(+(K*aa))+.5,Z=ca,ca=~~U,w[O>>1]=ca-Z&2047,aa=+W[fa+20>>2],U=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:T*+Nd(+(K*aa))+.5,Z=ba,ba=~~U,w[da+10>>1]=ba-Z&2047,aa=+W[fa+24>>2],U=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:T*+Nd(+(K*aa))+.5,Z=R,R=~~U,w[da+12>>1]=R-Z&2047,aa=+W[fa+28>>2],U=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:
-T*+Nd(+(K*aa))+.5,fa=M,M=~~U,w[da+14>>1]=M-fa&2047;while(4<(P|0));break;default:P=F+(v<<2)|0;M=J+(v<<1)|0;R=c-I|0;K=+W[27464];if(0<(R|0))for(T=K,aa=+W[27465],ba=-2-I+(0==t<<16>>16?I+1|0:2)|0,ca=P,O=R,R=M;;){X=ca;U=R;for(S=I;!(da=S,S=S+-1|0,K=+W[X>>2],K=0>K?0:2>K?+(N[G+(~~(L*K)<<1)>>1]|0):24.200000762939453<K?2047:T*+Nd(+(aa*K))+.5,fa=~~K&65535,w[U>>1]=fa,Z=U+(I<<1)|0,w[Z>>1]=(N[Z>>1]|0)-(fa&65535)&2047,1>=(da|0));)X=X+-4|0,U=U+-2|0;U=ca+(ba<<2)|0;X=R+(ba<<1)|0;O=O-I|0;if(0>=(O|0)){R=U;ca=X;X=aa;break}else ca=
-U,R=X}else R=P,ca=M,T=K,X=+W[27465];for(O=I;!(ba=O,O=O+-1|0,aa=+W[R>>2],K=0>aa?0:2>aa?+(N[G+(~~(L*aa)<<1)>>1]|0):24.200000762939453<aa?2047:T*+Nd(+(X*aa))+.5,w[ca>>1]=~~K,1>=(ba|0));)R=R+-4|0,ca=ca+-2|0}while(0);t=F+r|0;break;case 4:G=w[m>>1]|0;I=G&65535;t=a[Q>>2]|0;c:do if((c|0)>=(I|0))switch(I|0){case 3:ca=w[t+((N[F>>1]|0)>>>2<<1)>>1]|0;w[J>>1]=ca;R=w[t+((N[F+2>>1]|0)>>>2<<1)>>1]|0;w[J+2>>1]=R;O=w[t+((N[F+4>>1]|0)>>>2<<1)>>1]|0;w[J+4>>1]=O;if(!A)break c;M=c;P=F;X=J;U=O&65535;O=R&65535;R=ca&65535;
-do M=M+-3|0,ca=X,X=X+6|0,S=P,P=P+6|0,da=R,R=N[t+((N[P>>1]|0)>>>2<<1)>>1]|0,w[X>>1]=R-da&2047,da=O,O=N[t+((N[S+8>>1]|0)>>>2<<1)>>1]|0,w[ca+8>>1]=O-da&2047,da=U,U=N[t+((N[S+10>>1]|0)>>>2<<1)>>1]|0,w[ca+10>>1]=U-da&2047;while(3<(M|0));break;case 4:M=w[t+((N[F>>1]|0)>>>2<<1)>>1]|0;w[J>>1]=M;U=w[t+((N[F+2>>1]|0)>>>2<<1)>>1]|0;w[J+2>>1]=U;O=w[t+((N[F+4>>1]|0)>>>2<<1)>>1]|0;w[J+4>>1]=O;R=w[t+((N[F+6>>1]|0)>>>2<<1)>>1]|0;w[J+6>>1]=R;if(!z)break c;X=c;P=F;da=J;ca=R&65535;R=O&65535;O=U&65535;U=M&65535;do X=
-X+-4|0,M=da,da=da+8|0,S=P,P=P+8|0,fa=U,U=N[t+((N[P>>1]|0)>>>2<<1)>>1]|0,w[da>>1]=U-fa&2047,fa=O,O=N[t+((N[S+10>>1]|0)>>>2<<1)>>1]|0,w[M+10>>1]=O-fa&2047,fa=R,R=N[t+((N[S+12>>1]|0)>>>2<<1)>>1]|0,w[M+12>>1]=R-fa&2047,fa=ca,ca=N[t+((N[S+14>>1]|0)>>>2<<1)>>1]|0,w[M+14>>1]=ca-fa&2047;while(4<(X|0));break;default:X=F+(v<<1)|0;ca=J+(v<<1)|0;R=c-I|0;if(0<(R|0))for(O=-2-I+(0==G<<16>>16?I+1|0:2)|0,U=X,da=R,R=ca;;){P=U;fa=R;for(M=I;;)if(S=w[t+((N[P>>1]|0)>>>2<<1)>>1]|0,w[fa>>1]=S,Z=fa+(I<<1)|0,w[Z>>1]=(N[Z>>
-1]|0)-(S&65535)&2047,1<(M|0))P=P+-2|0,fa=fa+-2|0,M=M+-1|0;else break;M=U+(O<<1)|0;fa=R+(O<<1)|0;da=da-I|0;if(0>=(da|0)){L=M;R=fa;ca=I;break}else U=M,R=fa}else L=X,R=ca,ca=I;for(;;)if(w[R>>1]=w[t+((N[L>>1]|0)>>>2<<1)>>1]|0,1<(ca|0))L=L+-2|0,R=R+-2|0,ca=ca+-1|0;else break}while(0);t=F+C|0;break;case 0:t=w[m>>1]|0;I=t&65535;G=a[D>>2]|0;c:do if((c|0)>=(I|0))switch(I|0){case 3:ca=w[G+((x[F>>0]|0)<<1)>>1]|0;w[J>>1]=ca;X=w[G+((x[F+1>>0]|0)<<1)>>1]|0;w[J+2>>1]=X;R=w[G+((x[F+2>>0]|0)<<1)>>1]|0;w[J+4>>1]=R;
-if(!A)break c;U=c;da=F;O=J;fa=R&65535;R=X&65535;X=ca&65535;do U=U+-3|0,ca=da,da=da+3|0,M=X,X=N[G+((x[da>>0]|0)<<1)>>1]|0,P=O,O=O+6|0,w[O>>1]=X-M&2047,M=R,R=N[G+((x[ca+4>>0]|0)<<1)>>1]|0,w[P+8>>1]=R-M&2047,M=fa,fa=N[G+((x[ca+5>>0]|0)<<1)>>1]|0,w[P+10>>1]=fa-M&2047;while(3<(U|0));break;case 4:U=w[G+((x[F>>0]|0)<<1)>>1]|0;w[J>>1]=U;fa=w[G+((x[F+1>>0]|0)<<1)>>1]|0;w[J+2>>1]=fa;R=w[G+((x[F+2>>0]|0)<<1)>>1]|0;w[J+4>>1]=R;X=w[G+((x[F+3>>0]|0)<<1)>>1]|0;w[J+6>>1]=X;if(!z)break c;O=c;da=F;M=J;P=X&65535;X=
-R&65535;R=fa&65535;fa=U&65535;do O=O+-4|0,U=da,da=da+4|0,ca=fa,fa=N[G+((x[da>>0]|0)<<1)>>1]|0,ba=M,M=M+8|0,w[M>>1]=fa-ca&2047,ca=R,R=N[G+((x[U+5>>0]|0)<<1)>>1]|0,w[ba+10>>1]=R-ca&2047,ca=X,X=N[G+((x[U+6>>0]|0)<<1)>>1]|0,w[ba+12>>1]=X-ca&2047,ca=P,P=N[G+((x[U+7>>0]|0)<<1)>>1]|0,w[ba+14>>1]=P-ca&2047;while(4<(O|0));break;default:O=v+I|0;P=J+(O<<1)|0;X=F+O|0;O=c-I|0;if(0<(O|0))for(R=-2-I+(0==t<<16>>16?I+1|0:2)|0,fa=X,M=O,O=P;;){da=fa;ca=O;for(ba=I;;)if(U=w[G+((x[da>>0]|0)<<1)>>1]|0,w[ca>>1]=U,S=ca+(I<<
-1)|0,w[S>>1]=(N[S>>1]|0)-(U&65535)&2047,1<(ba|0))da=da+-1|0,ca=ca+-2|0,ba=ba+-1|0;else break;ba=fa+R|0;ca=O+(R<<1)|0;M=M-I|0;if(0>=(M|0)){L=ba;R=ca;ca=I;break}else fa=ba,O=ca}else L=X,R=P,ca=I;for(;;)if(w[R>>1]=w[G+((x[L>>0]|0)<<1)>>1]|0,1<(ca|0))L=L+-1|0,R=R+-2|0,ca=ca+-1|0;else break}while(0);t=F+c|0;break;default:break b}d=d+c|0;if((d|0)>=(n|0)){r=V;break a}else F=t,J=J+(c<<1)|0}J=a[b+628>>2]|0;a[h>>2]=N[b+84>>1];Y(J,152431,152446,h);p=0;u=e;return p|0}r=a[q>>2]|0}while(0);q=k+64|0;a[q>>2]=r;r=
-k+68|0;a[r>>2]=n<<1;if((n&2147483647|0)!=(n|0))return Y(a[b+628>>2]|0,152431,152485,g),u=e,0;g=k+80|0;n=b+592|0;h=b+608|0;c=b+588|0;for(t=k+76|0;!(Di(q,0)|0);)if(a[g>>2]|0||(a[h>>2]=a[n>>2],Lc(b)|0,a[t>>2]=a[c>>2],a[g>>2]=a[n>>2]),!(a[r>>2]|0)){p=1;ga=146;break}if(146==(ga|0))return u=e,p|0;ga=a[b+628>>2]|0;a[f>>2]=a[k+88>>2];Y(ga,152431,154240,f);u=e;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;(f=a[b+576>>2]|0)||Z(154187,152869,421,153533);(g=a[f+28>>2]|0)||Z(153552,152869,422,153533);
-f=f+40|0;a[f>>2]|0||Z(153509,152869,423,153533);if(!(rb[g&63](b,d,c,e)|0))return 0;td[a[f>>2]&127](b,d,c);return 1},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;(f=a[b+576>>2]|0)||Z(154187,152869,444,153448);(g=a[f+36>>2]|0)||Z(153468,152869,445,153448);if(!(rb[g&63](b,d,c,e)|0))return 0;e=a[f+8>>2]|0;0>=(e|0)&&Z(153109,152869,449,153448);(c|0)%(e|0)|0&&Z(153491,152869,450,153448);g=f+40|0;(f=a[g>>2]|0)||Z(153509,152869,451,153448);if(0>=(c|0))return 1;td[f&127](b,d,e);f=c-e|0;if(!(0<(f|0)))return 1;
-do d=d+e|0,td[a[g>>2]&127](b,d,e),f=f-e|0;while(0<(f|0));return 1},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g;(f=a[b+576>>2]|0)||Z(154187,152869,614,153138);(g=a[f+24>>2]|0)||Z(153015,152869,615,153138);f=f+12|0;if(a[f>>2]|0)return td[g&127](b,d,c),rb[a[f>>2]&63](b,d,c,e)|0;Z(153157,152869,616,153138);return 0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l;f=u;u=u+16|0;g=f;(h=a[b+576>>2]|0)||Z(154187,152869,633,152995);m=h+24|0;a[m>>2]|0||Z(153015,152869,634,152995);k=h+20|0;a[k>>2]|0||
-Z(153039,152869,635,152995);l=eb(c)|0;if(!l)return b=a[b+628>>2]|0,a[g>>2]=c,Y(b,152995,153062,g),u=f,0;Ec(l|0,d|0,c|0)|0;d=a[h+8>>2]|0;0>=(d|0)&&Z(153109,152869,653,152995);(c|0)%(d|0)|0&&Z(153121,152869,654,152995);if(0<(c|0))for(h=l,g=c;!(td[a[m>>2]&127](b,h,d),g=g-d|0,0>=(g|0));)h=h+d|0;d=rb[a[k>>2]&63](b,l,c,e)|0;ja(l);u=f;return d|0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h=0,m,k,l,n,p,q,r,B,w,v,z,A,C,E,D,F,J,I=0,G=0,L=0,K=0;e=u;u=u+32|0;f=e+8|0;g=b+580|0;if((c|0)%(a[g>>2]|0)|0)return Y(a[b+
-628>>2]|0,153776,153793,e),u=e,0;if(0>=(c|0))return u=e,1;m=b+56|0;k=b+604|0;l=b+608|0;n=c;c=a[l>>2]|0;p=a[k>>2]|0;for(q=d;;){d=a[m>>2]|0;r=0<(d|0);a:do if(r&0<(c|0))for(B=q,w=p,p=c,r=v=0;;){z=w+1|0;w=x[w>>0]|0;c=p+-1|0;b:do switch(w&192|0){case 0:r&1?(D=x[B>>0]|0|v,t[B>>0]=D,A=B+1|0,C=D&255,E=w+-1|0,D=r+1|0):(A=B,C=v<<4|v,E=w,D=r);D=E+D|0;0<(E|0)&(D|0)<(d|0)?(F=(E+2+(2>(E|0)?~E:-3)|0)>>>1,J=F+1|0,Va(A|0,C&255|0,J|0)|0,J=A+J|0,F=E+-2-(F<<1)|0):(J=A,F=E);-1==(F|0)&&(F=J+-1|0,t[F>>0]=(x[F>>0]|0)&240,
-J=F);E=J;F=C&15;break;case 64:D=w>>>4&3;2!=(D|0)?(F=(a[109904+(D<<2)>>2]|0)+v&15,J=r+1|0,r&1?(t[B>>0]=x[B>>0]|0|F,E=B+1|0):(t[B>>0]=F<<4,E=B),C=J):(E=B,F=v,C=r);D=w>>>2&3;2!=(D|0)?(J=(a[109904+(D<<2)>>2]|0)+F&15,(C|0)<(d|0)&&(F=C+1|0,C&1?(t[E>>0]=x[E>>0]|0|J,E=E+1|0):t[E>>0]=J<<4,C=F)):J=F;D=w&3;if(2!=(D|0))if(J=(a[109904+(D<<2)>>2]|0)+J&15,(C|0)<(d|0)){D=C+1|0;C&1?(t[E>>0]=x[E>>0]|0|J,E=E+1|0):t[E>>0]=J<<4;F=J;break b}else F=J,D=C;else F=J,D=C;break;case 128:J=w>>>3&7;4!=(J|0)?(D=(a[109920+(J<<2)>>
-2]|0)+v&15,F=r+1|0,r&1?(t[B>>0]=x[B>>0]|0|D,C=B+1|0):(t[B>>0]=D<<4,C=B),A=D,D=F):(C=B,A=v,D=r);J=w&7;if(4!=(J|0))if(F=(a[109920+(J<<2)>>2]|0)+A&15,(D|0)<(d|0)){J=D+1|0;D&1?(t[C>>0]=x[C>>0]|0|F,E=C+1|0):(t[C>>0]=F<<4,E=C);D=J;break b}else E=C;else E=C,F=A;break;case 192:F=w&15;J=r+1|0;r&1?(t[B>>0]=x[B>>0]|0|F,E=B+1|0):(t[B>>0]=w<<4,E=B);D=J;break b;default:E=B,F=v,D=r}while(0);w=(D|0)<(d|0);if(1<(p|0)&w)B=E,w=z,p=c,v=F,r=D;else{B=w;v=c;w=D;break a}}else B=r,z=p,v=c,w=0;while(0);a[k>>2]=z;a[l>>2]=v;
-if((w|0)!=(d|0)){I=d;G=B;L=w;break}r=a[g>>2]|0;n=n-r|0;if(0>=(n|0)){h=1;K=45;break}else c=v,p=z,q=q+r|0}if(45==(K|0))return u=e,h|0;K=a[b+628>>2]|0;q=a[b+444>>2]|0;a[f>>2]=G?153829:153840;a[f+4>>2]=q;q=f+8|0;a[q>>2]=L;a[q+4>>2]=(0>(L|0))<<31>>31;L=f+16|0;a[L>>2]=I;a[L+4>>2]=(0>(I|0))<<31>>31;Y(K,153849,153863,f);u=e;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,t=0,r,w=0;e=u;u=u+32|0;f=e+16|0;g=e+8|0;h=e;(m=a[b+576>>2]|0)||Z(154187,154074,155,154324);1!=(a[m+124>>2]|0)&&Z(154334,
-154074,156,154324);k=b+604|0;l=m+64|0;a[l>>2]=a[k>>2];n=b+608|0;p=m+68|0;a[p>>2]=a[n>>2];a[m+76>>2]=d;d=m+80|0;a[d>>2]=c;c=b+628|0;q=b+444|0;b=m+88|0;a:do switch(Ji(l,1)|0){case 1:t=10;break a;case -3:m=a[c>>2]|0;r=a[b>>2]|0;a[h>>2]=a[q>>2];a[h+4>>2]=0==(r|0)?155687:r;Y(m,154324,154366,h);if(ng(l)|0){w=0;t=13;break a}break;case 0:break;default:t=8;break a}while(0!=(a[d>>2]|0));if(8==(t|0))return h=a[c>>2]|0,m=a[b>>2]|0,a[g>>2]=0==(m|0)?155687:m,Y(h,154324,154272,g),u=e,0;if(10==(t|0)){if(g=a[d>>2]|
-0)return d=a[c>>2]|0,a[f>>2]=a[q>>2],a[f+4>>2]=g,Y(d,154324,154401,f),u=e,0}else if(13==(t|0))return u=e,w|0;a[k>>2]=a[l>>2];a[n>>2]=a[p>>2];u=e;return 1},function(b,d,c,e){b|=0;d|=0;c|=0;var f,g,h,m,k,l,n,p=0,q=0;e=u;u=u+16|0;f=e;(g=a[b+576>>2]|0)||Z(154187,154074,261,154198);2!=(a[g+124>>2]|0)&&Z(154208,154074,262,154198);h=g+64|0;a[h>>2]=d;d=g+68|0;a[d>>2]=c;c=g+80|0;m=b+592|0;k=b+608|0;l=b+588|0;for(n=g+76|0;!(Di(h,0)|0);)if(a[c>>2]|0||(a[k>>2]=a[m>>2],Lc(b)|0,a[n>>2]=a[l>>2],a[c>>2]=a[m>>2]),
-!(a[d>>2]|0)){p=1;q=11;break}if(11==(q|0))return u=e,p|0;q=a[b+628>>2]|0;b=a[g+88>>2]|0;a[f>>2]=0==(b|0)?155687:b;Y(q,154198,154240,f);u=e;return 0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p;f=a[b+4>>2]|0;g=999999984/(c>>>0)|0;g||(h=a[b>>2]|0,a[h+20>>2]=72,R[a[h>>2]&127](b));h=(g|0)<(e|0)?g:e;a[f+80>>2]=h;f=ih(b,d,e<<2)|0;if(!e)return f|0;g=~e;m=0;for(k=h;;){h=e-m|0;l=k;k=k>>>0<h>>>0?k:h;h=nk(b,d,E(k,c)|0)|0;if(k){n=m+g|0;p=~l;l=n>>>0>p>>>0?n:p;p=m;for(n=k;;)if(a[f+(p<<2)>>2]=h,n=
-n+-1|0)p=p+1|0,h=h+c|0;else break;m=m+-1-l|0}if(m>>>0>=e>>>0)break}return f|0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q;f=a[b+4>>2]|0;g=c<<7;h=999999984/(g>>>0)|0;h||(m=a[b>>2]|0,a[m+20>>2]=72,R[a[m>>2]&127](b));m=(h|0)<(e|0)?h:e;a[f+80>>2]=m;f=ih(b,d,e<<2)|0;if(!e)return f|0;h=~e;k=0;for(l=m;;){m=e-k|0;n=l;l=l>>>0<m>>>0?l:m;m=nk(b,d,E(g,l)|0)|0;if(l){p=k+h|0;q=~n;n=p>>>0>q>>>0?p:q;q=k;for(p=l;;)if(a[f+(q<<2)>>2]=m,p=p+-1|0)q=q+1|0,m=m+(c<<7)|0;else break;k=k+-1-n|0}if(k>>>0>=e>>>
-0)break}return f|0},Hf,Hf,Hf,Hf,Hf,Hf,Hf,Hf,Hf],dd=[Pb,function(b,d){b|=0;a[b+504>>2]=7;a[b+532>>2]=12;a[b+540>>2]=12;a[b+548>>2]=12;a[b+536>>2]=13;a[b+544>>2]=13;a[b+552>>2]=13;a[b+560>>2]=23;return 1},function(b,d){b|=0;var c;c=u;u=u+16|0;5!=(d|0)&&Z(147656,147682,1110,147692);d=eb(160)|0;if(a[b+576>>2]=d)return a[d+124>>2]=0,a[d+104>>2]=0,a[d+152>>2]=0,a[d+80>>2]=a[b+8>>2],a[b+504>>2]=25,a[b+508>>2]=26,a[b+512>>2]=31,a[b+532>>2]=35,a[b+540>>2]=35,a[b+548>>2]=35,a[b+516>>2]=27,a[b+524>>2]=32,a[b+
-528>>2]=28,a[b+536>>2]=36,a[b+544>>2]=36,a[b+552>>2]=36,a[b+564>>2]=21,Ci(b)|0,u=c,1;Y(a[b+628>>2]|0,147692,147704,c);u=c;return 0},function(b,d){b|=0;a[b+532>>2]=41;a[b+540>>2]=41;a[b+548>>2]=41;a[b+524>>2]=37;a[b+528>>2]=34;a[b+536>>2]=42;a[b+544>>2]=43;a[b+552>>2]=43;return 1},function(b,d){b|=0;a[b+508>>2]=41;a[b+532>>2]=50;a[b+540>>2]=50;return 1},function(b,d){b|=0;a[b+512>>2]=33;a[b+532>>2]=38;a[b+540>>2]=38;a[b+548>>2]=38;return 1},function(b,d){b|=0;var c,e,f,g;c=u;u=u+32|0;7!=(d|0)&&Z(144620,
-144647,2307,144658);if(!(qe(b,107608,4)|0))return Y(a[b+628>>2]|0,144658,144671,c),u=c,0;d=eb(936)|0;e=b+576|0;a[e>>2]=d;if(!d)return Y(a[b+628>>2]|0,144658,144711,c+8|0),u=c,0;$c(d,0,936);d=a[e>>2]|0;a[d+828>>2]=b;e=b+668|0;f=b+672|0;a[d+892>>2]=a[f>>2];a[f>>2]=13;a[d+896>>2]=a[e>>2];a[e>>2]=14;e=b+676|0;a[d+900>>2]=a[e>>2];a[e>>2]=10;e=d+912|0;a[e>>2]=0;f=d+916|0;a[f>>2]=0;a[d+920>>2]=75;a[d+924>>2]=0;a[d+928>>2]=3;a[d+932>>2]=0;a[b+504>>2]=12;a[b+508>>2]=13;a[b+512>>2]=26;a[b+532>>2]=20;a[b+540>>
-2]=20;a[b+548>>2]=20;a[b+516>>2]=14;a[b+524>>2]=27;a[b+528>>2]=15;a[b+536>>2]=21;a[b+544>>2]=21;a[b+552>>2]=21;a[b+564>>2]=4;g=b+568|0;a[d+904>>2]=a[g>>2];a[g>>2]=28;g=b+572|0;a[d+908>>2]=a[g>>2];a[g>>2]=11;g=b+12|0;a[g>>2]|=256;a[d+488>>2]=0;d=b+16|0;if(!(0==(a[d>>2]|0)&0==(a[d+4>>2]|0)))return u=c,1;a[f>>2]=2E3;f=eb(2E3)|0;if(a[e>>2]=f)return $c(f,0,2E3),u=c,1;Y(a[b+628>>2]|0,144658,144741,c+16|0);u=c;return 0},function(b,d){b|=0;var c,e,f;c=u;u=u+32|0;e=c+16|0;6!=(d|0)&&Z(148403,148429,424,148441);
-if(!(qe(b,109532,7)|0))return Y(a[b+628>>2]|0,148441,148455,c),u=c,0;if(d=eb(5368)|0)return $c(d,0,5368),a[d>>2]=b,t[d+224>>0]=1,t[d+228>>0]=2,t[d+229>>0]=2,a[e>>2]=2,a[e+4>>2]=2,lb(b,530,e)|0,a[b+504>>2]=29,a[b+508>>2]=30,a[b+512>>2]=34,a[b+652>>2]=29,a[b+532>>2]=39,a[b+540>>2]=39,a[b+548>>2]=39,a[b+516>>2]=31,a[b+524>>2]=35,a[b+528>>2]=32,a[b+536>>2]=40,a[b+544>>2]=40,a[b+552>>2]=40,a[b+564>>2]=22,a[b+576>>2]=d,e=b+668|0,f=b+672|0,a[d+160>>2]=a[f>>2],a[f>>2]=21,a[d+164>>2]=a[e>>2],a[e>>2]=22,e=
-b+676|0,a[d+168>>2]=a[e>>2],a[e>>2]=30,e=b+12|0,a[e>>2]|=131072,u=c,1;Y(a[b+628>>2]|0,148441,148499,c+8|0);u=c;return 0},function(b,d){b|=0;var c;d=u;u=u+16|0;c=d;if(!($i(b)|0))return u=d,0;a[b+532>>2]=16;a[b+540>>2]=16;a[b+548>>2]=16;a[c>>2]=7;c=lb(b,65536,c)|0;u=d;return c|0},function(b,d){b|=0;var c;d=u;u=u+16|0;c=d;if(!($i(b)|0))return u=d,0;a[b+532>>2]=16;a[b+540>>2]=16;a[b+548>>2]=16;a[c>>2]=11;c=lb(b,65536,c)|0;u=d;return c|0},function(b,d){b|=0;var c;d=u;u=u+16|0;c=d+8|0;if(!($i(b)|0))return u=
-d,1;if(qe(b,7992,1)|0)return a[c>>2]=1,c=lb(b,65536,c)|0,u=d,c|0;Y(a[b+628>>2]|0,142852,142870,d);u=d;return 0},function(b,d){b|=0;var c;d=u;u=u+16|0;c=d+8|0;if(!($i(b)|0))return u=d,0;if(qe(b,8028,1)|0)return a[b+532>>2]=14,a[b+540>>2]=14,a[b+548>>2]=14,a[b+536>>2]=15,a[b+544>>2]=15,a[b+552>>2]=15,a[b+528>>2]=8,a[c>>2]=1,c=lb(b,65536,c)|0,u=d,c|0;Y(a[b+628>>2]|0,142917,142935,d);u=d;return 0},function(b,d){b|=0;a[b+504>>2]=6;a[b+500>>2]=0;a[b+508>>2]=6;a[b+520>>2]=0;a[b+516>>2]=6;return 1},function(b,
-d){b|=0;d|=0;var c,e,f;c=u;u=u+16|0;e=c+8|0;f=c;a:do{if(32946>(d|0))switch(d|0){case 8:break a}else switch(d|0){case 32946:break a}Z(154001,154074,402,154084)}while(0);if(!(qe(b,109952,1)|0))return Y(a[b+628>>2]|0,154084,154096,f),u=c,0;f=eb(136)|0;if(a[b+576>>2]=f)return e=f+96|0,d=b+672|0,a[e>>2]=0,a[e+4>>2]=0,a[e+8>>2]=0,a[e+12>>2]=0,a[f+128>>2]=a[d>>2],a[d>>2]=27,d=b+668|0,a[f+132>>2]=a[d>>2],a[d>>2]=28,a[f+120>>2]=-1,a[f+124>>2]=0,a[b+504>>2]=42,a[b+508>>2]=43,a[b+512>>2]=40,a[b+532>>2]=51,a[b+
-540>>2]=51,a[b+548>>2]=51,a[b+516>>2]=44,a[b+524>>2]=41,a[b+528>>2]=45,a[b+536>>2]=52,a[b+544>>2]=52,a[b+552>>2]=52,a[b+564>>2]=29,Ci(b)|0,u=c,1;Y(a[b+628>>2]|0,154084,154139,e);u=c;return 0},function(b,d){b|=0;var c,e,f,g,h,m,k,l,n,p,q,r,B;c=u;u=u+16|0;32909!=(d|0)&&Z(152256,152287,1366,152302);if(!(qe(b,109784,2)|0))return Y(a[b+628>>2]|0,152302,152319,c),u=c,0;d=eb(172)|0;a[b+576>>2]=d;if(!d)return Y(a[b+628>>2]|0,152302,152363,c+8|0),u=c,0;$c(d,0,172);a[d+108>>2]=0;a[d+132>>2]=-1;a[b+504>>2]=
-35;a[b+508>>2]=36;a[b+512>>2]=38;a[b+532>>2]=44;a[b+540>>2]=44;a[b+548>>2]=44;a[b+516>>2]=37;a[b+524>>2]=39;a[b+528>>2]=38;a[b+536>>2]=45;a[b+544>>2]=45;a[b+552>>2]=45;a[b+556>>2]=27;a[b+564>>2]=28;e=b+672|0;a[d+140>>2]=a[e>>2];a[e>>2]=23;e=b+668|0;a[d+144>>2]=a[e>>2];a[e>>2]=24;a[d+136>>2]=-1;a[d+128>>2]=0;Ci(b)|0;W[27464]=250;W[27465]=148.4131622314453;b=eb(54600)|0;e=eb(32768)|0;f=eb(512)|0;g=eb(8196)|0;h=eb(4098)|0;m=eb(2049)|0;k=0==(b|0);l=0==(e|0);n=0==(f|0);p=0==(g|0);q=0==(h|0);r=0==(m|0);
-if(!(k|l|n|p|q|r)){k=0;do W[g+(k<<2)>>2]=7.326255555493672E-5*+(k|0),k=k+1|0;while(250!=(k|0));n=250;do k=.006737946999085467*+xh(+(.004*+(n|0))),W[g+(n<<2)>>2]=k,n=n+1|0;while(2048!=(n|0));a[g+8192>>2]=a[g+8188>>2];n=0;do k=+W[g+(n<<2)>>2],l=65535*k+.5,w[h+(n<<1)>>1]=65535<l?-1:~~l&65535,l=255*k+.5,t[m+n>>0]=255<l?-1:~~l&255,n=n+1|0;while(2049!=(n|0));p=q=0;do l=7.326255555493672E-5*+(q|0),n=p+1|0,p=l*l>+W[g+(p<<2)>>2]*+W[g+(n<<2)>>2]?n:p,w[b+(q<<1)>>1]=p,q=q+1|0;while(27300!=(q|0));for(B=r=0;;){l=
-+(r|0)/16383;k=l*l;l=+W[g+(B<<2)>>2];for(q=B;;)if(p=q+1|0,n=l,l=+W[g+(p<<2)>>2],k>n*l)q=p;else{p=q;break}w[e+(r<<1)>>1]=p;q=r+1|0;if(16384==(q|0)){n=q=0;break}else r=q,B=p}for(;;){l=+(q|0)/255;k=l*l;l=+W[g+(n<<2)>>2];for(p=n;;)if(B=p+1|0,n=l,l=+W[g+(B<<2)>>2],k>n*l)p=B;else{k=p;break}w[f+(q<<1)>>1]=k;p=q+1|0;if(256==(p|0))break;else q=p,n=k}W[27466]=13650;a[d+148>>2]=g;a[d+152>>2]=h;a[d+156>>2]=m;a[d+160>>2]=b;a[d+164>>2]=e;a[d+168>>2]=f;u=c;return 1}k||ja(b);l||ja(e);n||ja(f);p||ja(g);q||ja(h);r||
-ja(m);m=d+148|0;a[m>>2]=0;a[m+4>>2]=0;a[m+8>>2]=0;a[m+12>>2]=0;a[m+16>>2]=0;a[m+20>>2]=0;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f;c=u;u=u+16|0;e=c+8|0;34676!=(d&-2|0)&&Z(146583,146646,1634,146656);if(!(qe(b,109056,2)|0))return Y(a[b+628>>2]|0,146656,146671,c),u=c,0;f=eb(32)|0;if(a[b+576>>2]=f)return $c(f,0,32),a[f>>2]=-1,a[f+4>>2]=34677==(d|0)&1,a[f+20>>2]=15,a[b+504>>2]=22,a[b+508>>2]=23,a[b+540>>2]=25,a[b+548>>2]=26,a[b+516>>2]=24,a[b+544>>2]=27,a[b+552>>2]=28,a[b+556>>2]=19,a[b+564>>2]=
-20,d=b+672|0,a[f+24>>2]=a[d>>2],a[d>>2]=19,d=b+668|0,a[f+28>>2]=a[d>>2],a[d>>2]=20,u=c,1;f=a[b+628>>2]|0;a[e>>2]=a[b>>2];Y(f,146656,146713,e);u=c;return 0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n=0,p,q,t,r,u;c=(a[b+12>>2]|0)+-5|0;e=65535>c>>>0?c:65535;c=b+116|0;f=b+108|0;g=b+92|0;h=b+44|0;for(m=b+56|0;;){k=a[c>>2]|0;if(2>k>>>0){Dh(b);l=a[c>>2]|0;if(!(l|d)){n=0;e=35;break}if(l)p=l;else{e=20;break}}else p=k;k=(a[f>>2]|0)+p|0;a[f>>2]=k;a[c>>2]=0;l=a[g>>2]|0;p=l+e|0;if(0!=(k|0)&k>>>0<p>>>0)p=k;
-else{a[c>>2]=k-p;a[f>>2]=p;p=-1<(l|0)?(a[m>>2]|0)+l|0:0;zd(b,p,e,0);a[g>>2]=a[f>>2];l=a[b>>2]|0;p=a[l+28>>2]|0;jd(p);k=p+20|0;q=a[k>>2]|0;t=l+16|0;r=a[t>>2]|0;u=q>>>0>r>>>0?r:q;0!=(u|0)&&(q=l+12|0,r=p+16|0,Ec(a[q>>2]|0,a[r>>2]|0,u|0)|0,a[q>>2]=(a[q>>2]|0)+u,a[r>>2]=(a[r>>2]|0)+u,q=l+20|0,a[q>>2]=(a[q>>2]|0)+u,a[t>>2]=(a[t>>2]|0)-u,t=a[k>>2]|0,a[k>>2]=t-u,(t|0)==(u|0))&&(a[r>>2]=a[p+8>>2]);if(!(a[(a[b>>2]|0)+16>>2]|0)){n=0;e=35;break}p=a[f>>2]|0;l=a[g>>2]|0}p=p-l|0;if(!(p>>>0<((a[h>>2]|0)+-262|0)>>>
-0||(k=-1<(l|0)?(a[m>>2]|0)+l|0:0,zd(b,k,p,0),a[g>>2]=a[f>>2],p=a[b>>2]|0,r=a[p+28>>2]|0,jd(r),u=r+20|0,t=a[u>>2]|0,k=p+16|0,q=a[k>>2]|0,l=t>>>0>q>>>0?q:t,0!=(l|0)&&(t=p+12|0,q=r+16|0,Ec(a[t>>2]|0,a[q>>2]|0,l|0)|0,a[t>>2]=(a[t>>2]|0)+l,a[q>>2]=(a[q>>2]|0)+l,t=p+20|0,a[t>>2]=(a[t>>2]|0)+l,a[k>>2]=(a[k>>2]|0)-l,k=a[u>>2]|0,a[u>>2]=k-l,(k|0)==(l|0))&&(a[q>>2]=a[r+8>>2]),a[(a[b>>2]|0)+16>>2]|0))){n=0;e=35;break}}if(20==(e|0)){a[b+5812>>2]=0;if(4==(d|0))return d=a[g>>2]|0,n=-1<(d|0)?(a[m>>2]|0)+d|0:0,zd(b,
-n,(a[f>>2]|0)-d|0,1),a[g>>2]=a[f>>2],d=a[b>>2]|0,n=a[d+28>>2]|0,jd(n),k=n+20|0,l=a[k>>2]|0,h=d+16|0,p=a[h>>2]|0,e=l>>>0>p>>>0?p:l,0!=(e|0)&&(l=d+12|0,p=n+16|0,Ec(a[l>>2]|0,a[p>>2]|0,e|0)|0,a[l>>2]=(a[l>>2]|0)+e,a[p>>2]=(a[p>>2]|0)+e,l=d+20|0,a[l>>2]=(a[l>>2]|0)+e,a[h>>2]=(a[h>>2]|0)-e,h=a[k>>2]|0,a[k>>2]=h-e,(h|0)==(e|0))&&(a[p>>2]=a[n+8>>2]),n=0==(a[(a[b>>2]|0)+16>>2]|0)?2:3,n|0;n=a[f>>2]|0;p=a[g>>2]|0;return(n|0)>(p|0)&&(h=-1<(p|0)?(a[m>>2]|0)+p|0:0,zd(b,h,n-p|0,0),a[g>>2]=a[f>>2],f=a[b>>2]|0,g=
-a[f+28>>2]|0,jd(g),p=g+20|0,n=a[p>>2]|0,h=f+16|0,m=a[h>>2]|0,e=n>>>0>m>>>0?m:n,0!=(e|0)&&(n=f+12|0,m=g+16|0,Ec(a[n>>2]|0,a[m>>2]|0,e|0)|0,a[n>>2]=(a[n>>2]|0)+e,a[m>>2]=(a[m>>2]|0)+e,n=f+20|0,a[n>>2]=(a[n>>2]|0)+e,a[h>>2]=(a[h>>2]|0)-e,h=a[p>>2]|0,a[p>>2]=h-e,(h|0)==(e|0))&&(a[m>>2]=a[g+8>>2]),!(a[(a[b>>2]|0)+16>>2]|0))?0:1}return 35==(e|0)?n|0:0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,B,u,v,z,A,C,E,D,F=0,J,I,G,L,K=0,N,R,O,M,T,X,P;c=b+116|0;e=0==(d|0);f=b+72|0;g=b+88|0;h=b+108|0;m=b+56|
-0;k=b+84|0;l=b+68|0;n=b+52|0;p=b+64|0;q=b+44|0;r=b+96|0;B=b+112|0;u=b+5792|0;v=b+5796|0;z=b+5784|0;A=b+5788|0;C=b+128|0;for(E=b+92|0;;){if(262>(a[c>>2]|0)>>>0){Dh(b);D=a[c>>2]|0;if(e&262>D>>>0){F=0;J=39;break}if(!D){J=24;break}J=2>=D>>>0?9:6}else J=6;6==(J|0)&&(J=0,D=a[h>>2]|0,I=((x[(a[m>>2]|0)+(D+2)>>0]|0)^a[f>>2]<<a[g>>2])&a[k>>2],a[f>>2]=I,G=(a[l>>2]|0)+(I<<1)|0,I=w[G>>1]|0,w[(a[p>>2]|0)+((a[n>>2]&D)<<1)>>1]=I,L=I&65535,w[G>>1]=D,0!=I<<16>>16&&(D-L|0)>>>0<=((a[q>>2]|0)+-262|0)>>>0?(D=pg(b,L)|0,
-K=a[r>>2]=D):J=9);9==(J|0)&&(K=a[r>>2]|0);do if(2<K>>>0){D=K+253|0;L=(a[h>>2]|0)-(a[B>>2]|0)|0;I=a[u>>2]|0;w[(a[v>>2]|0)+(I<<1)>>1]=L;a[u>>2]=I+1;t[(a[z>>2]|0)+I>>0]=D;I=b+148+((x[155385+(D&255)>>0]|256)+1<<2)|0;w[I>>1]=(w[I>>1]|0)+1<<16>>16;I=L+65535&65535;L=b+2440+((x[154873+(256>I>>>0?I:(I>>>7)+256|0)>>0]|0)<<2)|0;w[L>>1]=(w[L>>1]|0)+1<<16>>16;L=(a[u>>2]|0)==((a[A>>2]|0)+-1|0)&1;I=a[r>>2]|0;D=(a[c>>2]|0)-I|0;a[c>>2]=D;if(2<D>>>0&&I>>>0<=(a[C>>2]|0)>>>0){D=I+-1|0;a[r>>2]=D;I=a[g>>2]|0;N=a[m>>2]|
-0;G=a[k>>2]|0;R=a[l>>2]|0;O=a[n>>2]|0;M=a[p>>2]|0;J=D;D=a[h>>2]|0;for(T=a[f>>2]|0;;)if(X=D+1|0,a[h>>2]=X,T=((x[N+(D+3)>>0]|0)^T<<I)&G,a[f>>2]=T,P=R+(T<<1)|0,w[M+((O&X)<<1)>>1]=w[P>>1]|0,w[P>>1]=X,J=J+-1|0,a[r>>2]=J)D=X;else{J=D;break}D=J+2|0;a[h>>2]=D}else D=(a[h>>2]|0)+I|0,a[h>>2]=D,a[r>>2]=0,G=a[m>>2]|0,N=x[G+D>>0]|0,a[f>>2]=N,a[f>>2]=((x[G+(D+1)>>0]|0)^N<<a[g>>2])&a[k>>2];J=L}else D=t[(a[m>>2]|0)+(a[h>>2]|0)>>0]|0,J=a[u>>2]|0,w[(a[v>>2]|0)+(J<<1)>>1]=0,a[u>>2]=J+1,t[(a[z>>2]|0)+J>>0]=D,J=b+148+
-((D&255)<<2)|0,w[J>>1]=(w[J>>1]|0)+1<<16>>16,J=(a[u>>2]|0)==((a[A>>2]|0)+-1|0)&1,a[c>>2]=(a[c>>2]|0)+-1,D=(a[h>>2]|0)+1|0,a[h>>2]=D;while(0);if(J&&(J=a[E>>2]|0,L=-1<(J|0)?(a[m>>2]|0)+J|0:0,zd(b,L,D-J|0,0),a[E>>2]=a[h>>2],J=a[b>>2]|0,D=a[J+28>>2]|0,jd(D),O=D+20|0,M=a[O>>2]|0,T=J+16|0,R=a[T>>2]|0,G=M>>>0>R>>>0?R:M,0!=(G|0)&&(M=J+12|0,R=D+16|0,Ec(a[M>>2]|0,a[R>>2]|0,G|0)|0,a[M>>2]=(a[M>>2]|0)+G,a[R>>2]=(a[R>>2]|0)+G,M=J+20|0,a[M>>2]=(a[M>>2]|0)+G,a[T>>2]=(a[T>>2]|0)-G,T=a[O>>2]|0,a[O>>2]=T-G,(T|0)==
-(G|0))&&(a[R>>2]=a[D+8>>2]),!(a[(a[b>>2]|0)+16>>2]|0))){F=0;J=39;break}}return 24==(J|0)?(D=a[h>>2]|0,a[b+5812>>2]=2>D>>>0?D:2,4==(d|0)?(d=a[E>>2]|0,e=-1<(d|0)?(a[m>>2]|0)+d|0:0,zd(b,e,D-d|0,1),a[E>>2]=a[h>>2],d=a[b>>2]|0,e=a[d+28>>2]|0,jd(e),L=e+20|0,J=a[L>>2]|0,c=d+16|0,A=a[c>>2]|0,z=J>>>0>A>>>0?A:J,0!=(z|0)&&(J=d+12|0,A=e+16|0,Ec(a[J>>2]|0,a[A>>2]|0,z|0)|0,a[J>>2]=(a[J>>2]|0)+z,a[A>>2]=(a[A>>2]|0)+z,J=d+20|0,a[J>>2]=(a[J>>2]|0)+z,a[c>>2]=(a[c>>2]|0)-z,c=a[L>>2]|0,a[L>>2]=c-z,(c|0)==(z|0))&&(a[A>>
-2]=a[e+8>>2]),F=0==(a[(a[b>>2]|0)+16>>2]|0)?2:3,F|0):a[u>>2]|0&&(u=a[E>>2]|0,c=-1<(u|0)?(a[m>>2]|0)+u|0:0,zd(b,c,D-u|0,0),a[E>>2]=a[h>>2],h=a[b>>2]|0,E=a[h+28>>2]|0,jd(E),u=E+20|0,D=a[u>>2]|0,c=h+16|0,m=a[c>>2]|0,e=D>>>0>m>>>0?m:D,0!=(e|0)&&(D=h+12|0,m=E+16|0,Ec(a[D>>2]|0,a[m>>2]|0,e|0)|0,a[D>>2]=(a[D>>2]|0)+e,a[m>>2]=(a[m>>2]|0)+e,D=h+20|0,a[D>>2]=(a[D>>2]|0)+e,a[c>>2]=(a[c>>2]|0)-e,c=a[u>>2]|0,a[u>>2]=c-e,(c|0)==(e|0))&&(a[m>>2]=a[E+8>>2]),!(a[(a[b>>2]|0)+16>>2]|0))?0:1):39==(J|0)?F|0:0},function(b,
-d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,B,u,v,z,A,C,D,E,F,J,I,G,L,K=0,N=0,R,O,M,T=0,X=0,P,S,U;c=b+116|0;e=0==(d|0);f=b+72|0;g=b+88|0;h=b+108|0;m=b+56|0;k=b+84|0;l=b+68|0;n=b+52|0;p=b+64|0;q=b+96|0;r=b+120|0;B=b+112|0;u=b+100|0;v=b+5792|0;z=b+5796|0;A=b+5784|0;C=b+5788|0;D=b+104|0;E=b+92|0;F=b+128|0;J=b+44|0;I=b+136|0;a:for(;;){for(G=a[c>>2]|0;;){if(262>G>>>0){Dh(b);L=a[c>>2]|0;if(e&262>L>>>0){K=0;G=55;break a}if(!L){G=38;break a}2>=L>>>0?(a[r>>2]=a[q>>2],a[u>>2]=a[B>>2],N=a[q>>2]=2,G=16):G=8}else G=
-8;do if(8==(G|0))if(G=0,L=a[h>>2]|0,R=((x[(a[m>>2]|0)+(L+2)>>0]|0)^a[f>>2]<<a[g>>2])&a[k>>2],a[f>>2]=R,O=(a[l>>2]|0)+(R<<1)|0,R=w[O>>1]|0,w[(a[p>>2]|0)+((a[n>>2]&L)<<1)>>1]=R,M=R&65535,w[O>>1]=L,L=a[q>>2]|0,a[r>>2]=L,a[u>>2]=a[B>>2],a[q>>2]=2,R<<16>>16)if(L>>>0<(a[F>>2]|0)>>>0){if(((a[h>>2]|0)-M|0)>>>0<=((a[J>>2]|0)+-262|0)>>>0)if(R=pg(b,M)|0,a[q>>2]=R,6>R>>>0){if(1!=(a[I>>2]|0)){if(3!=(R|0)){N=R;G=16;break}if(4096>=((a[h>>2]|0)-(a[B>>2]|0)|0)>>>0){N=3;G=16;break}}N=a[q>>2]=2}else N=R;else N=2;G=
-16}else T=L,X=2;else N=2,G=16;while(0);16==(G|0)&&(T=a[r>>2]|0,X=N);if(!(3>T>>>0|X>>>0>T>>>0)){R=T;break}if(a[D>>2]|0){if(L=t[(a[m>>2]|0)+((a[h>>2]|0)+-1)>>0]|0,R=a[v>>2]|0,w[(a[z>>2]|0)+(R<<1)>>1]=0,a[v>>2]=R+1,t[(a[A>>2]|0)+R>>0]=L,R=b+148+((L&255)<<2)|0,w[R>>1]=(w[R>>1]|0)+1<<16>>16,(a[v>>2]|0)==((a[C>>2]|0)+-1|0)&&(R=a[E>>2]|0,L=-1<(R|0)?(a[m>>2]|0)+R|0:0,zd(b,L,(a[h>>2]|0)-R|0,0),a[E>>2]=a[h>>2],R=a[b>>2]|0,L=a[R+28>>2]|0,jd(L),M=L+20|0,O=a[M>>2]|0,P=R+16|0,S=a[P>>2]|0,U=O>>>0>S>>>0?S:O,0!=(U|
-0)&&(O=R+12|0,S=L+16|0,Ec(a[O>>2]|0,a[S>>2]|0,U|0)|0,a[O>>2]=(a[O>>2]|0)+U,a[S>>2]=(a[S>>2]|0)+U,O=R+20|0,a[O>>2]=(a[O>>2]|0)+U,a[P>>2]=(a[P>>2]|0)-U,P=a[M>>2]|0,a[M>>2]=P-U,(P|0)==(U|0))&&(a[S>>2]=a[L+8>>2])),a[h>>2]=(a[h>>2]|0)+1,G=(a[c>>2]|0)+-1|0,a[c>>2]=G,!(a[(a[b>>2]|0)+16>>2]|0)){K=0;G=55;break a}}else a[D>>2]=1,a[h>>2]=(a[h>>2]|0)+1,L=(a[c>>2]|0)+-1|0,G=a[c>>2]=L}G=a[h>>2]|0;L=G+-3+(a[c>>2]|0)|0;S=R+253|0;U=G+65535-(a[u>>2]|0)|0;G=a[v>>2]|0;w[(a[z>>2]|0)+(G<<1)>>1]=U;a[v>>2]=G+1;t[(a[A>>2]|
-0)+G>>0]=S;G=b+148+((x[155385+(S&255)>>0]|256)+1<<2)|0;w[G>>1]=(w[G>>1]|0)+1<<16>>16;G=U+65535&65535;U=b+2440+((x[154873+(256>G>>>0?G:(G>>>7)+256|0)>>0]|0)<<2)|0;w[U>>1]=(w[U>>1]|0)+1<<16>>16;U=a[v>>2]|0;G=(a[C>>2]|0)+-1|0;S=a[r>>2]|0;a[c>>2]=1-S+(a[c>>2]|0);P=S+-2|0;a[r>>2]=P;S=a[h>>2]|0;for(M=P;;)if(P=S+1|0,a[h>>2]=P,P>>>0<=L>>>0&&(O=((x[(a[m>>2]|0)+(S+3)>>0]|0)^a[f>>2]<<a[g>>2])&a[k>>2],a[f>>2]=O,R=(a[l>>2]|0)+(O<<1)|0,w[(a[p>>2]|0)+((a[n>>2]&P)<<1)>>1]=w[R>>1]|0,w[R>>1]=P),M=M+-1|0,a[r>>2]=M)S=
-P;else{L=S;break}a[D>>2]=0;a[q>>2]=2;S=L+2|0;a[h>>2]=S;if((U|0)==(G|0)&&(M=a[E>>2]|0,R=-1<(M|0)?(a[m>>2]|0)+M|0:0,zd(b,R,S-M|0,0),a[E>>2]=a[h>>2],M=a[b>>2]|0,S=a[M+28>>2]|0,jd(S),L=S+20|0,P=a[L>>2]|0,R=M+16|0,O=a[R>>2]|0,G=P>>>0>O>>>0?O:P,0!=(G|0)&&(P=M+12|0,O=S+16|0,Ec(a[P>>2]|0,a[O>>2]|0,G|0)|0,a[P>>2]=(a[P>>2]|0)+G,a[O>>2]=(a[O>>2]|0)+G,P=M+20|0,a[P>>2]=(a[P>>2]|0)+G,a[R>>2]=(a[R>>2]|0)-G,R=a[L>>2]|0,a[L>>2]=R-G,(R|0)==(G|0))&&(a[O>>2]=a[S+8>>2]),!(a[(a[b>>2]|0)+16>>2]|0))){K=0;G=55;break}}return 38==
-(G|0)?(a[D>>2]|0&&(R=t[(a[m>>2]|0)+((a[h>>2]|0)+-1)>>0]|0,L=a[v>>2]|0,w[(a[z>>2]|0)+(L<<1)>>1]=0,a[v>>2]=L+1,t[(a[A>>2]|0)+L>>0]=R,L=b+148+((R&255)<<2)|0,w[L>>1]=(w[L>>1]|0)+1<<16>>16,a[D>>2]=0),D=a[h>>2]|0,a[b+5812>>2]=2>D>>>0?D:2,4==(d|0)?(d=a[E>>2]|0,c=-1<(d|0)?(a[m>>2]|0)+d|0:0,zd(b,c,D-d|0,1),a[E>>2]=a[h>>2],d=a[b>>2]|0,c=a[d+28>>2]|0,jd(c),L=c+20|0,R=a[L>>2]|0,A=d+16|0,z=a[A>>2]|0,q=R>>>0>z>>>0?z:R,0!=(q|0)&&(R=d+12|0,z=c+16|0,Ec(a[R>>2]|0,a[z>>2]|0,q|0)|0,a[R>>2]=(a[R>>2]|0)+q,a[z>>2]=(a[z>>
-2]|0)+q,R=d+20|0,a[R>>2]=(a[R>>2]|0)+q,a[A>>2]=(a[A>>2]|0)-q,A=a[L>>2]|0,a[L>>2]=A-q,(A|0)==(q|0))&&(a[z>>2]=a[c+8>>2]),K=0==(a[(a[b>>2]|0)+16>>2]|0)?2:3,K|0):a[v>>2]|0&&(v=a[E>>2]|0,q=-1<(v|0)?(a[m>>2]|0)+v|0:0,zd(b,q,D-v|0,0),a[E>>2]=a[h>>2],h=a[b>>2]|0,E=a[h+28>>2]|0,jd(E),v=E+20|0,D=a[v>>2]|0,q=h+16|0,m=a[q>>2]|0,c=D>>>0>m>>>0?m:D,0!=(c|0)&&(D=h+12|0,m=E+16|0,Ec(a[D>>2]|0,a[m>>2]|0,c|0)|0,a[D>>2]=(a[D>>2]|0)+c,a[m>>2]=(a[m>>2]|0)+c,D=h+20|0,a[D>>2]=(a[D>>2]|0)+c,a[q>>2]=(a[q>>2]|0)-c,q=a[v>>2]|
-0,a[v>>2]=q-c,(q|0)==(c|0))&&(a[m>>2]=a[E+8>>2]),!(a[(a[b>>2]|0)+16>>2]|0))?0:1):55==(G|0)?K|0:0},function(b,d){var c,e;c=a[(b|0)>>2]|0;b=a[(d|0)>>2]|0;d=a[c>>2]|0;e=a[b>>2]|0;return(d|0)!=(e|0)?d-e|0:(e=a[c+8>>2]|0)?(a[b+8>>2]|0)-e|0:0},function(a,d){return 1},function(b,d){b|=0;d=u;u=u+16|0;Y(a[b+628>>2]|0,a[b>>2]|0,140263,d);u=d;return 0},function(a,d){d|=0;var c;if(1<=(d|0))return d|0;d=Td(a|0)|0;a=U;c=0==(d|0)&0==(a|0);c=pf(8192,0,(c?1:d)|0,(c?0:a)|0)|0;return(0==(c|0)&0==(U|0)?1:c)|0},function(b,
-d){b|=0;var c;c=E(a[b+580>>2]|0,d|0)|0;d=b+604|0;a[d>>2]=(a[d>>2]|0)+c;d=b+608|0;a[d>>2]=(a[d>>2]|0)-c;return 1},function(b,d){b|=0;var c;(d=a[b+576>>2]|0)||Z(154187,142823,152,144051);a[d+52>>2]=0;a[d+48>>2]=0;a[d+56>>2]=0;c=(0!=(2!=(w[b+94>>1]|0)&1|0)?138932:139188)|0;a[d+44>>2]=c;c=a[d+68>>2]|0;if(!c)return a[(d+92|0)>>2]=0,1;a[c>>2]=a[d+12>>2];a[c+4>>2]=0;a[(d+92|0)>>2]=0;return 1},function(b,d){b|=0;var c;(d=a[b+576>>2]|0)||Z(154187,142823,723,144024);a[d+52>>2]=8;a[d+48>>2]=0;a[d+76>>2]=0;(c=
-a[d+80>>2]|0)&&$c(c,0,a[d+8>>2]|0);if(!(a[d+28>>2]&1))return a[(d+88|0)>>2]=0,a[(d+84|0)>>2]=0,a[(d+92|0)>>2]=0,1;c=+W[b+120>>2];c=150<(3==(w[b+124>>1]|0)?2.5399999618530273*c:c)?4:2;a[(d+88|0)>>2]=c;a[(d+84|0)>>2]=c+-1|0;a[(d+92|0)>>2]=0;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,t,r,v,x,z,A=0,C=0;c=u;u=u+80|0;e=c+72|0;f=c+64|0;g=c+48|0;h=c+40|0;m=c+32|0;k=c+16|0;l=b+576|0;(n=a[l>>2]|0)||Z(154187,144647,1017,145272);p=n+16|0;0==(a[p>>2]|0)&&(da[a[b+508>>2]&63](b)|0,0==(a[p>>2]|0))&&
-Z(145286,144647,1024,145272);r=n|0;x=t=0;p=4;q=Hc(40)|0;a[q>>2]=0;q=Xc(r+624|0,1,q|0,p|0)|0;p=U;Wa=z=Wa=0;0!=(z|0)&0!=(pa|0)?((v=db(a[z>>2]|0,q|0,p|0)|0)||Vb(z|0,pa|0),U=pa):v=-1;for(v=1==(v|0)?U:0;;){if(v){t=0;x=6;break}Wa=0;ri(18,r|0);v=Wa;Wa=0;0!=(v|0)&0!=(pa|0)?((z=db(a[v>>2]|0,q|0,p|0)|0)||Vb(v|0,pa|0),U=pa):z=-1;if(1==(z|0))v=U;else break}6!=(x|0)&&(t=1);Gc(q|0);if(!(t|0)||1!=(fg(n,1)|0))return u=c,0;a[b+604>>2]=a[n+800>>2];a[b+608>>2]=a[n+804>>2];p=(a[b+60>>2]|0)-(a[b+444>>2]|0)|0;a[b+12>>
-2]&1024?(q=a[b+68>>2]|0,p=a[b+72>>2]|0,r=tg(b)|0):(q=a[b+56>>2]|0,t=a[b+100>>2]|0,r=Pe(b)|0,p=p>>>0>t>>>0?t:p);a[n+840>>2]=r;r=b+126|0;0==d<<16>>16|2!=(w[r>>1]|0)?(t=p,x=q):(d=N[n+834>>1]|0,v=q>>>0<(0-d|0)>>>0?((q+-1+d|0)>>>0)/(d>>>0)|0:0,d=N[n+836>>1]|0,t=p>>>0<(0-d|0)>>>0?((p+-1+d|0)>>>0)/(d>>>0)|0:0,x=v);q=n+28|0;p=a[q>>2]|0;v=a[n+32>>2]|0;p>>>0<x>>>0|v>>>0<t>>>0?(d=a[b+628>>2]|0,a[c>>2]=x,a[c+4>>2]=t,a[c+8>>2]=p,a[c+12>>2]=v,Wb(d,145272,145317,c),v=a[q>>2]|0):v=p;p=a[n+32>>2]|0;if(v>>>0>x>>>0|
-p>>>0>t>>>0)return q=a[b+628>>2]|0,a[k>>2]=x,a[k+4>>2]=t,a[k+8>>2]=v,a[k+12>>2]=p,Y(q,145272,145374,k),u=c,0;k=n+36|0;q=a[k>>2]|0;z=(p=1==(w[r>>1]|0))?N[b+98>>1]|0:1;if((q|0)!=(z|0))return Y(a[b+628>>2]|0,145272,145450,m),u=c,0;if((a[n+212>>2]|0)!=(N[b+84>>1]|0))return Y(a[b+628>>2]|0,145272,145480,h),u=c,0;h=n+216|0;m=a[h>>2]|0;z=a[m+8>>2]|0;a:do if(p){r=N[n+834>>1]|0;v=a[m+12>>2]|0;t=w[n+836>>1]|0;if(!((z|0)==(r|0)&(v|0)==(t&65535|0)))return x=a[b+628>>2]|0,a[g>>2]=z,a[g+4>>2]=v,a[g+8>>2]=r,a[g+
-12>>2]=t&65535,Y(x,145272,145509,g),h=0,u=c,h|0;do if(1<(q|0)){for(x=1;1==(a[m+(88*x|0)+8>>2]|0)&&1==(a[m+(88*x|0)+12>>2]|0);)if(x=x+1|0,(x|0)>=(q|0)){A=37;break}if(37==(A|0))if(p)break;else{A=41;break a}Y(a[b+628>>2]|0,145272,145574,f);h=0;u=c;return h|0}while(0);6==(w[n+832>>1]|0)&&1==(a[n+924>>2]|0)?(a[n+40>>2]=3,a[n+44>>2]=2,A=45):(a[n+40>>2]=0,a[n+44>>2]=0,1==(w[n+834>>1]|0)&&1==(w[n+836>>1]|0)?A=45:(a[n+68>>2]=1,a[n+76>>2]=0,a[b+532>>2]=22,a[b+540>>2]=23,a[b+548>>2]=23,C=0))}else if(1==(z|0)&&
-1==(a[m+12>>2]|0))A=41;else return Y(a[b+628>>2]|0,145272,145574,e),h=0,u=c,h|0;while(0);41==(A|0)&&(a[n+40>>2]=0,a[n+44>>2]=0,A=45);45==(A|0)&&(a[n+68>>2]=0,a[b+532>>2]=20,a[b+540>>2]=20,a[b+548>>2]=20,C=1);e=n|0;A=m=0;f=4;g=Hc(40)|0;a[g>>2]=0;g=Xc(e+624|0,1,g|0,f|0)|0;f=U;Wa=p=Wa=0;0!=(p|0)&0!=(pa|0)?((r=db(a[p>>2]|0,g|0,f|0)|0)||Vb(p|0,pa|0),U=pa):r=-1;for(r=1==(r|0)?U:0;;){if(r){m=0;A=6;break}Wa=0;si(21,e|0)|0;r=Wa;Wa=0;0!=(r|0)&0!=(pa|0)?((p=db(a[r>>2]|0,g|0,f|0)|0)||Vb(r|0,pa|0),U=pa):p=-1;
-if(1==(p|0))r=U;else break}6!=(A|0)&&(m=1);Gc(g|0);b=0==(m|0);if(C|b)return u=c,b&1^1|0;b=a[k>>2]|0;k=a[l>>2]|0;a:do{if(0<(b|0)){l=0;C=a[h>>2]|0;for(A=0;;){e=a[C+8>>2]|0;m=a[C+12>>2]|0;z=eg(k,a[C+28>>2]<<3,m<<3)|0;if(!z){h=0;break}f=(E(m,e)|0)+A|0;a[k+844+(l<<2)>>2]=z;l=l+1|0;if((l|0)>=(b|0)){l=f;break a}else C=C+88|0,A=f}u=c;return h|0}l=0}while(0);a[k+888>>2]=l;a[n+884>>2]=8;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l;c=u;u=u+16|0;e=b+576|0;(f=a[e>>2]|0)||Z(154187,144647,1745,144862);
-g=f+16|0;h=a[g>>2]|0;1==(h|0)?(da[a[b+516>>2]&63](b)|0,m=a[g>>2]|0):m=h;m&&Z(144876,144647,1752,144862);a[b+12>>2]&1024?(m=a[b+68>>2]|0,h=a[b+72>>2]|0,k=tg(b)|0,g=h):(m=a[b+56>>2]|0,h=(a[b+60>>2]|0)-(a[b+444>>2]|0)|0,g=a[b+100>>2]|0,k=Pe(b)|0,g=h>>>0>g>>>0?g:h);l=m;a[f+840>>2]=k;k=w[b+126>>1]|0;m=0==d<<16>>16;m|2!=k<<16>>16?h=g:(h=N[f+834>>1]|0,l=l>>>0<(0-h|0)>>>0?((l+-1+h|0)>>>0)/(h>>>0)|0:0,h=N[f+836>>1]|0,h=g>>>0<(0-h|0)>>>0?((g+-1+h|0)>>>0)/(h>>>0)|0:0);if(65535<(h|l)>>>0)return Y(a[b+628>>2]|
-0,144862,144908,c),u=c,0;a[f+28>>2]=l;a[f+32>>2]=h;do if(1==k<<16>>16){a[f+36>>2]=N[b+98>>1];if(6!=(w[f+832>>1]|0)){if(uf(f,a[f+40>>2]|0)|0){g=0;break}else f=0;u=c;return f|0}l=1==(a[f+924>>2]|0)?0:1==(w[f+834>>1]|0)&&1==(w[f+836>>1]|0)?0:1;if(uf(f,3)|0)h=a[f+84>>2]|0,a[h+8>>2]=N[f+834>>1],a[h+12>>2]=N[f+836>>1],g=l;else return f=0,u=c,f|0}else{if(!(uf(f,0)|0))return f=0,u=c,f|0;h=a[f+84>>2]|0;a[h>>2]=d&65535;m|6!=(w[f+832>>1]|0)||(a[h+16>>2]=1,a[h+20>>2]=1,a[h+24>>2]=1);g=0}while(0);a[f+244>>2]=
-0;a[f+256>>2]=0;if(!(mg(f,a[f+920>>2]|0)|0))return u=c,0;m=a[f+928>>2]|0;d=f+88|0;l=a[d>>2]|0;k=0==(l|0);m&1?(k||(a[l+128>>2]=1),(l=a[d+4>>2]|0)&&(a[l+128>>2]=1)):(k||(a[l+128>>2]=0),(h=a[d+4>>2]|0)&&(a[h+128>>2]=0));m&2?(m=f+120|0,(l=a[m>>2]|0)&&(a[l+276>>2]=1),l=f+136|0,(d=a[l>>2]|0)&&(a[d+276>>2]=1),(d=a[m+4>>2]|0)&&(a[d+276>>2]=1),(d=a[l+4>>2]|0)&&(a[d+276>>2]=1),a[f+216>>2]=0):a[f+216>>2]=1;d=0!=(g|0);a[f+208>>2]=d&1;a[b+536>>2]=d?24:21;a[b+544>>2]=d?24:21;a[b+552>>2]=d?24:21;m=f|0;var n,p;l=
-g=0;k=4;h=Hc(40)|0;a[h>>2]=0;h=Xc(m+624|0,1,h|0,k|0)|0;k=U;Wa=n=Wa=0;0!=(n|0)&0!=(pa|0)?((p=db(a[n>>2]|0,h|0,k|0)|0)||Vb(n|0,pa|0),U=pa):p=-1;for(p=1==(p|0)?U:0;;){if(p){g=0;l=6;break}Wa=0;dk(3,m|0,0);p=Wa;Wa=0;0!=(p|0)&0!=(pa|0)?((n=db(a[p>>2]|0,h|0,k|0)|0)||Vb(p|0,pa|0),U=pa):n=-1;if(1==(n|0))p=U;else break}6!=(l|0)&&(g=1);Gc(h|0);if(!(g|0))return u=c,0;if(d){d=a[f+76>>2]|0;b=a[e>>2]|0;a:do{if(0<(d|0)){e=0;g=a[f+84>>2]|0;for(l=0;;){m=a[g+8>>2]|0;k=a[g+12>>2]|0;h=eg(b,a[g+28>>2]<<3,k<<3)|0;if(!h){f=
-0;break}l=(E(k,m)|0)+l|0;a[b+844+(e<<2)>>2]=h;e=e+1|0;if((e|0)>=(d|0)){e=l;break a}else g=g+88|0}u=c;return f|0}e=0}while(0);a[b+888>>2]=e}a[f+884>>2]=0;u=c;return 1},function(b,d){b|=0;var c;c=dd[a[(a[b+576>>2]|0)+904>>2]&127](b,d|0)|0;if(c>>>0>=(a[b+60>>2]|0)>>>0)return c|0;d=N[b+194>>1]|0;b=d<<3;return E(c>>>0<(0-b|0)>>>0?(((c+-1+b|0)>>>0)/(b>>>0)|0)<<3:0,d)|0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,t,r=0;c=b+440|0;e=a[c>>2]|0;f=a[b>>2]|0;a[f+20>>2]=124;a[f+24>>2]=e;a[f+28>>2]=d;ub[a[f+
-4>>2]&31](b,-1);f=d+1&7|208;g=d+2&7|208;h=d+7&7|208;m=d+6&7|208;d=e;a:for(;;){e=208==(d&-8|0);k=(d|0)==(f|0);l=(d|0)==(g|0);n=(d|0)==(h|0);p=(d|0)==(m|0);b:do if(192>(d|0))q=a[b>>2]|0,a[q+20>>2]=99,t=q+24|0,a[t>>2]=e?d:k?f:d,a[q+28>>2]=2,ub[a[q+4>>2]&31](b,4);else{if(!e){e=10;break a}for(q=k|l?3:n|p?2:1;;)switch(t=a[b>>2]|0,a[t+20>>2]=99,a[t+24>>2]=d,a[t+28>>2]=q,ub[a[t+4>>2]&31](b,4),q|0){case 1:e=13;break a;case 3:r=1;e=17;break a;case 2:break b}}while(0);if(!(rg(b)|0)){r=0;e=17;break}d=a[c>>2]|
-0}return 10==(e|0)?(m=a[b>>2]|0,a[m+20>>2]=99,a[(m+24|0)>>2]=k?f:d,a[m+28>>2]=3,ub[a[m+4>>2]&31](b,4),1):13==(e|0)?(a[c>>2]=0,1):17==(e|0)?r|0:0},function(b,d){b|=0;d|=0;var c,e;c=a[b+20>>2]|0;200!=(c&-2|0)&&(e=a[b>>2]|0,a[e+20>>2]=21,a[e+24>>2]=c,R[a[e>>2]&127](b));e=Nh(b)|0;switch(e|0){case 1:return 1;case 2:return d&&(d=a[b>>2]|0,a[d+20>>2]=53,R[a[d>>2]&127](b)),yi(b),2;default:return e|0}},function(b,d){b|=0;var c,e,f,g,h;d=u;u=u+16|0;c=d;(e=a[b+576>>2]|0)||Z(154187,147682,267,148208);f=e+124|
-0;if(g=a[f>>2]|0)h=g;else if(da[a[b+508>>2]&63](b)|0,h=a[f>>2]|0,!h)return u=d,0;g=a[b+588>>2]|0;0==(t[g>>0]|0)&&0!=(t[g+1>>0]&1)?(g=e+104|0,a[g>>2]|0?c=h:(Wb(a[b+628>>2]|0,148208,148221,c),a[b+532>>2]=37,a[b+540>>2]=37,a[b+548>>2]=37,da[a[b+508>>2]&63](b)|0,a[g>>2]=37,c=a[f>>2]|0),w[e+66>>1]=511,g=c):(w[e+66>>1]=510,a[e+104>>2]=35,g=h);w[e+64>>1]=9;a[e+76>>2]=0;a[e+72>>2]=0;a[e+88>>2]=0;h=e+84|0;a[h>>2]=511;c=a[b+608>>2]|0;b=Oc(c|0,(0>(c|0))<<31>>31|0,3)|0;c=e+96|0;a[c>>2]=b;a[c+4>>2]=U;c=g+2064|
-0;a[e+116>>2]=c;$c(c,0,38888);c=a[f>>2]|0;a[e+112>>2]=c+-8;a[e+120>>2]=c+((a[h>>2]|0)+-1<<3);u=d;return 1},function(b,d){b|=0;var c,e;(d=a[b+576>>2]|0)||Z(154187,147682,807,147815);c=d+152|0;(e=a[c>>2]|0)?c=e:(da[a[b+516>>2]&63](b)|0,c=a[c>>2]|0);w[d+64>>1]=9;w[d+66>>1]=511;w[d+68>>1]=258;a[d+76>>2]=0;a[d+72>>2]=0;a[d+132>>2]=1E4;a[d+136>>2]=0;a[d+140>>2]=0;a[d+144>>2]=0;a[d+148>>2]=(a[b+588>>2]|0)+((a[b+592>>2]|0)+-5);b=c+72E3|0;for(e=8993;!(e=e+-8|0,a[b+-56>>2]=-1,a[b+-48>>2]=-1,a[b+-40>>2]=-1,
-a[b+-32>>2]=-1,a[b+-24>>2]=-1,a[b+-16>>2]=-1,a[b+-8>>2]=-1,a[b>>2]=-1,-1>=(e|0));)b=b+-64|0;a[c>>2]=-1;a[d+128>>2]=65535;return 1},function(b,d){b|=0;var c,e,f;d=u;u=u+16|0;c=d;e=w[b+84>>1]|0;if(2==e<<16>>16)return u=d,1;f=a[b+628>>2]|0;a[c>>2]=e&65535;Y(f,148358,148372,c);u=d;return 0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,B,v,A,z,Q=0,C,D,F,R=0,J=0,I,G,L,K,S=0,W,O,M=0,T=0,X=0,P=0,da=0,aa=0;c=u;u=u+48|0;e=c+32|0;f=c+24|0;g=c+16|0;h=c+8|0;m=c;k=b+576|0;l=a[k>>2]|0;t[l+226>>0]|0||Ig(b);
-do if(!(t[l+488>>0]|0)){n=a[k>>2]|0;p=n+488|0;t[p>>0]|0&&Z(151233,148429,1040,151256);q=a[b+56>>2]|0;a[n+184>>2]=q;r=a[b+60>>2]|0;a[n+188>>2]=r;a[b+12>>2]&1024?(q=a[b+72>>2]|0,z=r+-1+q|0,B=z-((z>>>0)%(q>>>0)|0)|0,v=a[b+68>>2]|0,A=q):(B=r,v=q,A=a[b+100>>2]|0);a[n+192>>2]=v;a[n+196>>2]=A;a[n+200>>2]=B;a:do switch(w[b+98>>1]|0){case 1:t[n+204>>0]=1;t[n+205>>0]=0;t[n+206>>0]=1;t[n+228>>0]=1;t[n+229>>0]=1;break;case 3:t[n+204>>0]=3;t[n+205>>0]=0;q=n+206|0;t[q>>0]=1==(w[b+126>>1]|0)?3:1;break a;default:return q=
-a[b+628>>2]|0,a[m>>2]=x[n+204>>0],Y(q,151256,151276,m),Q=0,u=c,Q|0}while(0);if(A>>>0<r>>>0){q=x[n+229>>0]<<3;if((A>>>0)%(q>>>0)|0)return Y(a[b+628>>2]|0,151256,151337,h),Q=0,u=c,Q|0;z=x[n+228>>0]<<3;C=(E((A>>>0)/(q>>>0)|0,((v+-1+z|0)>>>0)/(z>>>0)|0)|0)&65535;w[n+360>>1]=C}if(Xg(b)|0)t[n+392>>0]=1,a[n+396>>2]=a[n+1220>>2],a[n+400>>2]=a[n+1224>>2],r=n+1232|0,C=N[n+1256>>1]|0,z=Ic(a[r>>2]|0,a[r+4>>2]|0,C|0,0)|0,r=n+408|0,a[r>>2]=z,a[r+4>>2]=U,r=n+1248|0,z=Qb(C|0,0,a[r>>2]|0,a[r+4>>2]|0)|0,r=n+416|0,
-a[r>>2]=z,a[r+4>>2]=U,t[p>>0]=1;else return Q=0,u=c,Q|0}while(0);h=d&65535;a:do if(!(t[l+392+(h<<5)>>0]|0)){v=a[k>>2]|0;d<<16>>16||Z(151399,148429,1102,151403);3<=(d&65535)&&Z(151425,148429,1103,151403);t[v+392>>0]|0||Z(151429,148429,1104,151403);t[v+392+(h<<5)>>0]|0&&Z(151451,148429,1105,151403);for(A=h+255&255;;)if(m=A&255,t[v+392+(m<<5)>>0]|0){D=m;F=A;break}else A=A+-1<<24>>24;A=v+205|0;t[A>>0]=F;p=v+1220|0;a[p>>2]=a[v+392+(D<<5)+4>>2];n=v+1224|0;a[n>>2]=a[v+392+(D<<5)+8>>2];m=v+392+(D<<5)+16|
-0;B=a[m+4>>2]|0;z=r=v+1232|0;a[z>>2]=a[m>>2];a[z+4>>2]=B;t[v+1240>>0]=0;B=v+392+(D<<5)+24|0;z=a[B+4>>2]|0;C=m=v+1248|0;a[C>>2]=a[B>>2];a[C+4>>2]=z;z=v+1256|0;w[z>>1]=0;C=v+1260|0;a[C>>2]=0;if(D>>>0<h>>>0){B=0;b:for(;;){if(B<<16>>16)J=B;else{if(!(Fc(v)|0)){Q=0;R=105;break}q=w[z>>1]|0;if(q<<16>>16)J=q;else{R=36;break}}q=a[C>>2]|0;I=t[q>>0]|0;G=q+1|0;a[C>>2]=G;q=J+-1<<16>>16;w[z>>1]=q;if(-1==I<<24>>24){L=q;K=G;c:for(;;){if(L<<16>>16)S=K,W=L;else{if(!(Fc(v)|0)){Q=0;R=105;break b}q=w[z>>1]|0;if(!(q<<16>>
-16)){R=42;break b}S=a[C>>2]|0;W=q}q=t[S>>0]|0;G=S+1|0;a[C>>2]=G;I=W+-1<<16>>16;w[z>>1]=I;switch(q<<24>>24){case -1:L=I;K=G;break;case -38:break c;default:B=I;continue b}}t[A>>0]=(t[A>>0]|0)+1<<24>>24;if(!(Oh(b)|0)){Q=0;R=105;break}I=x[A>>0]|0;t[v+392+(I<<5)>>0]=1;a[v+392+(I<<5)+4>>2]=a[p>>2];a[v+392+(I<<5)+8>>2]=a[n>>2];G=r;B=w[z>>1]|0;q=B&65535;O=Ic(a[G>>2]|0,a[G+4>>2]|0,q|0,0)|0;G=v+392+(I<<5)+16|0;a[G>>2]=O;a[G+4>>2]=U;G=m;O=Qb(q|0,0,a[G>>2]|0,a[G+4>>2]|0)|0;G=v+392+(I<<5)+24|0;a[G>>2]=O;a[G+4>>
-2]=U;if(I>>>0>=h>>>0)break a}else B=q}if(36==(R|0))Z(149747,148429,2016,149786);else if(42==(R|0))Z(149747,148429,2016,149786);else if(105==(R|0))return u=c,Q|0}}while(0);K=a[(0==(a[b+12>>2]&1024|0)?b+452|0:b+492|0)>>2]|0;L=l+489|0;W=l+490|0;t[L>>0]|0?(w[W>>1]|0)==d<<16>>16&&(S=l+492|0,J=a[S>>2]|0,J>>>0<=K>>>0)?(M=S,T=J):(t[l+496>>0]|0&&(J=a[k>>2]|0,S=J+496|0,t[S>>0]|0?(fi(J+632|0),t[S>>0]=0):Z(150963,148429,1245,150993)),t[L>>0]=0,R=54):R=54;do if(54==(R|0)){t[l+205>>0]=d;w[W>>1]=d;L=E(a[b+164>>
-2]|0,h)|0;S=l+492|0;a[S>>2]=L;L=l+1240|0;t[L>>0]|0?(D=J=l+1232|0,F=l+1256|0,v=Ic(a[D>>2]|0,a[D+4>>2]|0,N[F>>1]|0,0)|0,D=l+392+(h<<5)+16|0,m=a[D>>2]|0,B=a[D+4>>2]|0,(v|0)==(m|0)&(U|0)==(B|0)||(X=J,P=F,da=m,aa=B,R=57)):(B=l+392+(h<<5)+16|0,X=l+1232|0,P=l+1256|0,da=a[B>>2]|0,aa=a[B+4>>2]|0,R=57);57==(R|0)&&(a[l+1220>>2]=a[l+392+(h<<5)+4>>2],a[l+1224>>2]=a[l+392+(h<<5)+8>>2],B=X,a[B>>2]=da,a[B+4>>2]=aa,t[L>>0]=0,L=l+392+(h<<5)+24|0,B=a[L+4>>2]|0,m=l+1248|0,a[m>>2]=a[L>>2],a[m+4>>2]=B,w[P>>1]=0,a[l+1260>>
-2]=0);B=a[k>>2]|0;m=B+496|0;if(t[m>>0]|0)return Q=0,u=c,Q|0;a[B+3312>>2]=0;t[B+362>>0]=0;L=B+500|0;Fg(L)|0;a[B+508>>2]=23;a[L>>2]=24;F=B+632|0;a[F>>2]=L;a[B+644>>2]=b;D=B;p=F;D|=0;p|=0;A=v=0;q=4;r=Hc(40)|0;a[r>>2]=0;r=Xc(D+4|0,1,r|0,q|0)|0;q=U;Wa=D=Wa=0;0!=(D|0)&0!=(pa|0)?((z=db(a[D>>2]|0,r|0,q|0)|0)||Vb(D|0,pa|0),U=pa):z=-1;for(z=1==(z|0)?U:0;;){if(z){v=0;A=6;break}Wa=0;Qi(14,p|0,90,488);z=Wa;Wa=0;0!=(z|0)&0!=(pa|0)?((D=db(a[z>>2]|0,r|0,q|0)|0)||Vb(z|0,pa|0),U=pa):D=-1;if(1==(D|0))z=U;else break}6!=
-(A|0)&&(v=1);Gc(r|0);p=v|0;if(!(p|0))return Q=0,u=c,Q|0;t[m>>0]=1;a[B+1124>>2]=0;a[B+1128>>2]=25;a[B+1132>>2]=33;a[B+1136>>2]=5;a[B+1140>>2]=36;a[B+1144>>2]=26;a[B+656>>2]=B+1120;z=B;m=F;z|=0;m|=0;v=r=0;p=4;q=Hc(40)|0;a[q>>2]=0;q=Xc(z+4|0,1,q|0,p|0)|0;p=U;Wa=z=Wa=0;0!=(z|0)&0!=(pa|0)?((A=db(a[z>>2]|0,q|0,p|0)|0)||Vb(z|0,pa|0),U=pa):A=-1;for(A=1==(A|0)?U:0;;){if(A){r=0;v=6;break}Wa=0;Jk(30,m|0,1)|0;A=Wa;Wa=0;0!=(A|0)&0!=(pa|0)?((z=db(a[A>>2]|0,q|0,p|0)|0)||Vb(A|0,pa|0),U=pa):z=-1;if(1==(z|0))A=U;else break}6!=
-(v|0)&&(r=1);Gc(q|0);m=r|0;if(!(m|0))return Q=0,u=c,Q|0;m=t[B+206>>0]|0;if(0==(t[B+230>>0]|0)&1<(m&255)){if(a[B+700>>2]=1,a[B+708>>2]=0,t[B+497>>0]=0,L=B+1148|0,!(t[L>>0]|0)){J=B+1180|0;a[J>>2]|0&&Z(151473,148429,1185,151509);v=B+1200|0;a[v>>2]|0&&Z(151530,148429,1186,151509);D=B+192|0;z=B+228|0;r=x[z>>0]|0;n=r<<3;p=(a[D>>2]|0)+-1+n|0;A=p-((p>>>0)%(n>>>0)|0)|0;n=B+1152|0;a[n>>2]=A;p=B+229|0;C=x[p>>0]<<3;I=B+1156|0;a[I>>2]=C;G=(A>>>0)/(r>>>0)|0;r=B+1160|0;a[r>>2]=G;O=B+1164|0;a[O>>2]=8;q=E(C,A)|0;
-A=B+1168|0;a[A>>2]=q;C=B+1172|0;a[C>>2]=G<<3;m=q+(G<<4)|0;a[B+1176>>2]=m;G=eb(m)|0;a[J>>2]=G;if(!G)return Y(a[b+628>>2]|0,151509,150005,g),Q=0,u=c,Q|0;J=B+1184|0;a[J>>2]=G;m=a[A>>2]|0;A=B+1188|0;a[A>>2]=G+m;q=B+1192|0;a[q>>2]=G+((a[C>>2]|0)+m);m=(a[I>>2]|0)+3+(a[O>>2]<<1)|0;a[B+1196>>2]=m;C=eb(m<<2)|0;a[v>>2]=C;if(!C)return Y(a[b+628>>2]|0,151509,150005,f),Q=0,u=c,Q|0;m=C+12|0;a[C>>2]=m;G=a[I>>2]|0;I=G+3|0;a[C+4>>2]=(a[v>>2]|0)+(I<<2);M=a[O>>2]|0;a[C+8>>2]=(a[v>>2]|0)+(M+I<<2);if(G){I=a[n>>2]|0;n=
-1<G>>>0?(G<<2)+12|0:16;v=m;for(m=0;O=(a[J>>2]|0)+(E(m,I)|0)|0,a[v>>2]=O,m=m+1|0,(m|0)!=(G|0);)v=v+4|0;n=C+n|0}else n=m;if(M){v=a[r>>2]|0;G=1<M>>>0;m=n;for(I=0;J=(a[A>>2]|0)+(E(I,v)|0)|0,a[m>>2]=J,I=I+1|0,(I|0)!=(M|0);)m=m+4|0;m=n+((G?M:1)<<2)|0;for(I=0;A=(a[q>>2]|0)+(E(I,v)|0)|0,a[m>>2]=A,I=I+1|0,(I|0)!=(M|0);)m=m+4|0}m=x[z>>0]|0;M=(((a[D>>2]|0)+-1+m|0)>>>0)/(m>>>0)|0;a[B+1204>>2]=M;a[B+1208>>2]=0;I=x[p>>0]|0;v=E((E(I,m)|0)+2|0,M)|0;a[B+1212>>2]=v;a[B+1216>>2]=(((a[B+196>>2]|0)+-1+I|0)>>>0)/(I>>>
-0)|0;t[L>>0]=1}}else a[B+672>>2]=0,a[B+676>>2]=0,t[B+497>>0]=1,I=E(a[B+192>>2]|0,m&255)|0,a[B+1212>>2]=I,a[B+1216>>2]=a[B+196>>2];v=B;v|=0;F|=0;r=q=0;m=4;p=Hc(40)|0;a[p>>2]=0;p=Xc(v+4|0,1,p|0,m|0)|0;m=U;Wa=v=Wa=0;0!=(v|0)&0!=(pa|0)?((A=db(a[v>>2]|0,p|0,m|0)|0)||Vb(v|0,pa|0),U=pa):A=-1;for(v=1==(A|0)?U:0;;){if(v){q=0;r=6;break}Wa=0;si(21,F|0)|0;A=Wa;Wa=0;0!=(A|0)&0!=(pa|0)?((v=db(a[A>>2]|0,p|0,m|0)|0)||Vb(A|0,pa|0),U=pa):v=-1;if(1==(v|0))v=U;else break}6!=(r|0)&&(q=1);Gc(p|0);F=q|0;if(F|0)t[B+489>>
-0]=1,M=S,T=a[S>>2]|0;else return Q=0,u=c,Q|0}while(0);if(T>>>0>=K>>>0)return u=c,1;T=l+497|0;a:for(;;){l=a[k>>2]|0;b:do if(t[T>>0]|0){da=l+5364|0;if(0==(a[da>>2]|0)&&(P=eb(a[l+1212>>2]|0)|0,a[da>>2]=P,0==(P|0))){R=101;break a}P=l+632|0;aa=l+1216|0;if(a[aa>>2]|0){g=0;do if(g=g+1|0,!(Ph(l,P,da)|0)){Q=0;R=105;break a}while(g>>>0<(a[aa>>2]|0)>>>0)}}else{n=a[l+1216>>2]|0;f=l+1208|0;g=a[f>>2]|0;P=l+1164|0;h=a[P>>2]|0;do if(g)if(aa=h-g|0,n>>>0>aa>>>0)a[f>>2]=0,B=n-aa|0;else{aa=g+n|0;a[f>>2]=(aa|0)==(h|0)?
-0:aa;break b}else B=n;while(0);if(B>>>0<h>>>0)g=B;else for(n=l+632|0,g=l+1200|0,aa=l+229|0,da=B;;){if(!(ok(l,n,a[g>>2]|0,x[aa>>0]<<3)|0)){Q=0;R=105;break a}X=a[P>>2]|0;d=da-X|0;if(d>>>0<X>>>0){g=d;break}else da=d}if(g){if(!(ok(l,l+632|0,a[l+1200>>2]|0,x[l+229>>0]<<3)|0)){Q=0;R=105;break a}a[f>>2]=g}}while(0);l=(a[M>>2]|0)+1|0;a[M>>2]=l;if(l>>>0>=K>>>0){Q=1;R=105;break}}if(101==(R|0))Y(a[b+628>>2]|0,151568,150005,e),u=c;else if(105==(R|0))return u=c,Q|0;return 0},function(b,d){d=u;u=u+16|0;Y(a[(b|
-0)+628>>2]|0,151115,151030,d);u=d;return 0},function(b,d){var c;d=u;u=u+16|0;c=a[(b|0)+12>>2]|0;Y(a[c+628>>2]|0,151596,151604,d);Bi(c);return 0},function(b,d){b|=0;var c;d=eb(4)|0;c=b+576|0;a[c>>2]=d;if(!d)return 0;d=a[b+12>>2]&1024?tg(b)|0:Pe(b)|0;a[a[c>>2]>>2]=d;return 1},function(b,d){b|=0;var c;if(d=a[b+576>>2]|0)return c=d+64|0,a[c>>2]=a[b+588>>2],a[d+68>>2]=a[b+608>>2],0==(If(c)|0)|0;Z(154187,152287,723,152750);return 0},function(b,d){b|=0;if(d=a[b+576>>2]|0)return a[d+76>>2]=a[b+588>>2],a[d+
-80>>2]=a[b+592>>2],0==(qk(d+64|0)|0)|0;Z(154187,152287,919,152544);return 0},function(b,d){b|=0;var c;(d=a[b+576>>2]|0)||Z(154187,154074,129,154451);a[d+124>>2]&1||da[a[b+508>>2]&63](b)|0;c=d+64|0;a[c>>2]=a[b+588>>2];a[d+68>>2]=a[b+608>>2];return 0==(If(c)|0)|0},function(b,d){b|=0;(d=a[b+576>>2]|0)||Z(154187,154074,234,154287);2!=(a[d+124>>2]|0)&&da[a[b+516>>2]&63](b)|0;a[d+76>>2]=a[b+588>>2];a[d+80>>2]=a[b+592>>2];return 0==(qk(d+64|0)|0)|0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,t,r,
-u;c=a[b+424>>2]|0;e=b+236|0;a[e>>2]|0&&(f=c+68|0,(g=a[f>>2]|0)?k=g:(h=c+72|0,jh(b,a[h>>2]|0),m=a[e>>2]|0,a[f>>2]=m,a[h>>2]=(a[h>>2]|0)+1&7,k=m),a[f>>2]=k+-1);k=b+320|0;if(0>=(a[k>>2]|0))return 1;f=b+376|0;g=0;do{m=a[b+324+(g<<2)>>2]|0;h=a[(a[b+296+(m<<2)>>2]|0)+20>>2]|0;e=w[a[d+(g<<2)>>2]>>1]>>a[f>>2];l=c+76+(h<<2)|0;n=a[l>>2]|0;p=c+52+(m<<2)|0;q=a[p>>2]|0;t=n+q|0;r=c+36+(m<<2)|0;m=a[r>>2]|0;u=e-m|0;if((e|0)!=(m|0)){a[r>>2]=e;ec(b,t,1);0<(u|0)?(ec(b,n+(q+1)|0,0),m=q+2|0,q=4,r=u):(ec(b,n+(q+1)|0,1),
-m=q+3|0,q=8,r=0-u|0);u=n+m|0;a[p>>2]=q;if(n=r+-1|0)if(ec(b,u,1),q=(a[l>>2]|0)+20|0,l=n>>1)for(e=l,l=1,r=q;;)if(ec(b,r,1),q=l<<1,m=r+1|0,e>>=1)l=q,r=m;else{l=q;u=m;break}else l=1,u=q;else l=0;ec(b,u,0);(l|0)>=(1<<x[b+152+h>>0]>>1|0)?(l|0)>(1<<x[b+168+h>>0]>>1|0)&&(a[p>>2]=(a[p>>2]|0)+8):a[p>>2]=0;r=u+14|0;if(l>>=1){e=l;do ec(b,r,0!=(e&n|0)&1),e>>=1;while(0!=(e|0))}}else ec(b,t,0),a[p>>2]=0;g=g+1|0}while((g|0)<(a[k>>2]|0));return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,t,r,u,v,z=0,A=0,
-C=0,D=0,E=0,F=0,J=0,I=0,G=q=0,L=0,K=0;c=a[b+424>>2]|0;e=b+236|0;a[e>>2]|0&&(f=c+68|0,(g=a[f>>2]|0)?k=g:(h=c+72|0,jh(b,a[h>>2]|0),m=a[e>>2]|0,a[f>>2]=m,a[h>>2]=(a[h>>2]|0)+1&7,k=m),a[f>>2]=k+-1);k=a[b+384>>2]|0;f=a[d>>2]|0;d=a[(a[b+296>>2]|0)+24>>2]|0;g=b+368|0;m=a[g>>2]|0;h=b+376|0;for(e=m;;){l=w[f+(a[k+(e<<2)>>2]<<1)>>1]|0;n=l<<16>>16;if(-1<l<<16>>16){if(n>>a[h>>2]){p=e;break}}else if(0-n>>a[h>>2]){p=e;break}e=e+-1|0;if(!e){p=0;break}}e=a[b+364>>2]|0;n=e+-1|0;if((e|0)>(p|0))e=m,q=n;else{m=c+140+
-(d<<2)|0;e=c+204|0;l=b+184+d|0;for(t=n;;){n=(a[m>>2]|0)+(3*t|0)|0;ec(b,n,0);for(r=n;;){n=t+1|0;u=w[f+(a[k+(n<<2)>>2]<<1)>>1]|0;v=u<<16>>16;if(-1<u<<16>>16){if(u=v>>a[h>>2]){z=n;A=u;C=t;D=r;n=16;break}}else if(u=0-v>>a[h>>2]){E=n;F=u;J=t;I=r;n=18;break}ec(b,r+1|0,0);t=n;r=r+3|0}16==(n|0)?(ec(b,D+1|0,1),ec(b,e,0),q=z,G=C,L=D,K=A):18==(n|0)&&(ec(b,I+1|0,1),ec(b,e,1),q=E,G=J,L=I,K=F);r=L+2|0;if(t=K+-1|0)if(ec(b,r,1),2<=t>>>0)if(ec(b,r,1),n=(a[m>>2]|0)+((G|0)<(x[l>>0]|0)?189:217)|0,u=t>>2)for(v=u,u=2,
-r=n;;)if(ec(b,r,1),n=u<<1,r=r+1|0,v>>=1)u=n;else{u=n;n=r;break}else u=2;else u=1,n=r;else u=0,n=r;ec(b,n,0);r=n+14|0;if(u>>=1){v=u;do ec(b,r,0!=(v&t|0)&1),v>>=1;while(0!=(v|0))}if((q|0)<(p|0))t=q;else break}e=a[g>>2]|0}if((q|0)>=(e|0))return 1;ec(b,(a[c+140+(d<<2)>>2]|0)+(3*q|0)|0,1);return 1},function(b,d){b|=0;d|=0;var c,e,f,g;c=a[b+424>>2]|0;e=b+236|0;a[e>>2]|0&&(f=c+68|0,(g=a[f>>2]|0)?e=g:(g=c+72|0,jh(b,a[g>>2]|0),e=a[e>>2]|0,a[f>>2]=e,a[g>>2]=(a[g>>2]|0)+1&7),a[f>>2]=e+-1);e=c+204|0;c=a[b+376>>
-2]|0;f=b+320|0;if(0<(a[f>>2]|0))g=0;else return 1;do ec(b,e,(w[a[d+(g<<2)>>2]>>1]|0)>>>c&1),g=g+1|0;while((g|0)<(a[f>>2]|0));return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p=0,q=0,t=0,r=0,u,v=0,z=0,x=0,C=0,A=0,D=0,E=0;c=a[b+424>>2]|0;e=b+236|0;a[e>>2]|0&&(f=c+68|0,(g=a[f>>2]|0)?k=g:(h=c+72|0,jh(b,a[h>>2]|0),m=a[e>>2]|0,a[f>>2]=m,a[h>>2]=(a[h>>2]|0)+1&7,k=m),a[f>>2]=k+-1);k=a[b+384>>2]|0;f=a[d>>2]|0;d=a[(a[b+296>>2]|0)+24>>2]|0;g=b+368|0;m=a[g>>2]|0;h=b+376|0;for(e=m;;){l=w[f+(a[k+(e<<2)>>
-2]<<1)>>1]|0;n=l<<16>>16;if(-1<l<<16>>16){if(n>>a[h>>2]){p=e;q=10;break}}else if(0-n>>a[h>>2]){p=e;q=10;break}e=e+-1|0;if(!e){r=t=0;break}}a:do if(10==(q|0))if(e=b+372|0,0<(p|0))for(n=p;;){l=w[f+(a[k+(n<<2)>>2]<<1)>>1]|0;u=l<<16>>16;if(-1<l<<16>>16){if(u>>a[e>>2]){t=p;r=n;break a}}else if(0-u>>a[e>>2]){t=p;r=n;break a}u=n+-1|0;if(1<(n|0))n=u;else{t=p;r=u;break}}else r=t=p;while(0);p=a[b+364>>2]|0;n=p+-1|0;if((p|0)>(t|0))f=m;else{m=c+140+(d<<2)|0;p=c+204|0;for(e=n;;){n=(a[m>>2]|0)+(3*e|0)|0;(e|0)<
-(r|0)||ec(b,n,0);l=e;for(e=n;;){n=l+1|0;u=w[f+(a[k+(n<<2)>>2]<<1)>>1]|0;l=u<<16>>16;if(-1<u<<16>>16){if(u=l>>a[h>>2]){v=n;z=u;x=e;q=21;break}}else if(u=0-l>>a[h>>2]){C=n;A=u;D=e;q=25;break}ec(b,e+1|0,0);l=n;e=e+3|0}21==(q|0)?(1<z>>>0?ec(b,x+2|0,z&1):(ec(b,x+1|0,1),ec(b,p,0)),E=v):25==(q|0)&&(1<A>>>0?ec(b,D+2|0,A&1):(ec(b,D+1|0,1),ec(b,p,1)),E=C);if((E|0)<(t|0))e=E;else break}f=a[g>>2]|0;n=E}if((n|0)>=(f|0))return 1;ec(b,(a[c+140+(d<<2)>>2]|0)+(3*n|0)|0,1);return 1},function(b,d){b|=0;d|=0;var c,e,
-f,g,h,m,k,l,n,p,q,t,r,u,v,z,A,C,D=0,E=0,F=0,J=0;c=a[b+424>>2]|0;e=b+236|0;a[e>>2]|0&&(f=c+68|0,(g=a[f>>2]|0)?k=g:(h=c+72|0,jh(b,a[h>>2]|0),m=a[e>>2]|0,a[f>>2]=m,a[h>>2]=(a[h>>2]|0)+1&7,k=m),a[f>>2]=k+-1);k=a[b+384>>2]|0;f=b+320|0;if(0>=(a[f>>2]|0))return 1;g=b+388|0;m=c+204|0;h=0;do{e=a[d+(h<<2)>>2]|0;l=a[b+324+(h<<2)>>2]|0;n=a[b+296+(l<<2)>>2]|0;p=a[n+20>>2]|0;q=c+76+(p<<2)|0;t=a[q>>2]|0;r=c+52+(l<<2)|0;u=a[r>>2]|0;v=t+u|0;z=w[e>>1]|0;A=c+36+(l<<2)|0;l=a[A>>2]|0;C=z-l|0;if((z|0)!=(l|0)){a[A>>2]=
-z;ec(b,v,1);0<(C|0)?(ec(b,t+(u+1)|0,0),A=u+2|0,v=4,u=C):(ec(b,t+(u+1)|0,1),A=u+3|0,v=8,u=0-C|0);C=t+A|0;a[r>>2]=v;if(t=u+-1|0)if(ec(b,C,1),u=(a[q>>2]|0)+20|0,q=t>>1)for(z=q,q=1,A=u;;)if(ec(b,A,1),u=q<<1,l=A+1|0,z>>=1)q=u,A=l;else{v=u;A=l;break}else v=1,A=u;else v=0,A=C;ec(b,A,0);(v|0)>=(1<<x[b+152+p>>0]>>1|0)?(v|0)>(1<<x[b+168+p>>0]>>1|0)&&(a[r>>2]=(a[r>>2]|0)+8):a[r>>2]=0;A=A+14|0;if(q=v>>1){z=q;do ec(b,A,0!=(z&t|0)&1),z>>=1;while(0!=(z|0))}}else ec(b,v,0),a[r>>2]=0;if(z=a[g>>2]|0){t=a[n+24>>2]|
-0;for(A=z;;){if(w[e+(a[k+(A<<2)>>2]<<1)>>1]|0){D=A;E=25;break}A=A+-1|0;if(!A){F=z;J=0;break}}if(25==(E|0))if(E=0,0<(D|0)){A=c+140+(t<<2)|0;n=b+184+t|0;for(r=0;;){v=a[A>>2]|0;p=3*r|0;C=v+p|0;ec(b,C,0);q=r+1|0;l=w[e+(a[k+(q<<2)>>2]<<1)>>1]|0;u=l<<16>>16;J=v+(p+1)|0;if(l<<16>>16)F=q,p=l,v=u;else{p=J;v=q;for(r=C;;)if(ec(b,p,0),C=r+3|0,q=v+1|0,u=w[e+(a[k+(q<<2)>>2]<<1)>>1]|0,J=r+4|0,u<<16>>16){r=v;F=q;v=u;break}else p=J,v=q,r=C;p=v;v=v<<16>>16}q=J;J=r;r=C;ec(b,q,1);0<p<<16>>16?(ec(b,m,0),p=v):(ec(b,m,
-1),p=0-v|0);v=r+2|0;if(r=p+-1|0)if(ec(b,v,1),2<=r>>>0)if(ec(b,v,1),p=(a[A>>2]|0)+((J|0)<(x[n>>0]|0)?189:217)|0,J=r>>2)for(u=J,J=2,q=p;;)if(ec(b,q,1),p=J<<1,C=q+1|0,u>>=1)J=p,q=C;else{J=p;p=C;break}else J=2;else J=1,p=v;else J=0,p=v;ec(b,p,0);q=p+14|0;if(J>>=1){u=J;do ec(b,q,0!=(u&r|0)&1),u>>=1;while(0!=(u|0))}if((F|0)<(D|0))r=F;else{e=F;break}}F=a[g>>2]|0;J=e}else F=z,J=0;(J|0)<(F|0)&&ec(b,(a[c+140+(t<<2)>>2]|0)+(3*J|0)|0,1)}h=h+1|0}while((h|0)<(a[f>>2]|0));return 1},function(b,d){b|=0;d|=0;var c,
-e,f,g,h,m,k,l,n,p,q,t,r,u,v,z,x,C,A,D,F,J,I,G,L,K,R,N,O,M,T,S,P=0,U,W=0,da=0,ba=0;c=b+404|0;e=a[c>>2]|0;f=(a[b+312>>2]|0)+-1|0;g=b+288|0;h=(a[g>>2]|0)+-1|0;m=e+16|0;k=a[m>>2]|0;l=e+20|0;n=a[l>>2]|0;do if((k|0)<(n|0)){p=e+12|0;q=b+292|0;t=b+420|0;r=e+8|0;u=b+424|0;v=e+24|0;z=a[p>>2]|0;x=n;C=k;a:for(;;){if(!(z>>>0>f>>>0)){do{x=a[q>>2]|0;if(0<(x|0))if(z>>>0<f>>>0)for(A=x,x=D=0;;){F=a[b+296+(x<<2)>>2]|0;J=F+4|0;I=a[(a[t>>2]|0)+4+(a[J>>2]<<2)>>2]|0;G=F+56|0;L=a[G>>2]|0;K=E(a[F+68>>2]|0,z)|0;R=F+40|0;N=
-F+60|0;if(0<(a[N>>2]|0)){A=F+76|0;O=L;M=D;T=0;for(S=E(a[R>>2]|0,C)|0;;){if((a[r>>2]|0)>>>0>=h>>>0&&(T+C|0)>=(a[A>>2]|0)){if(Va(a[e+24+(M<<2)>>2]|0,0,O<<7|0)|0,P=a[G>>2]|0,0<(P|0)){D=a[e+24+(M+-1<<2)>>2]|0;U=0;do w[a[e+24+(U+M<<2)>>2]>>1]=w[D>>1]|0,U=U+1|0;while((U|0)<(P|0))}}else W=13;if(13==(W|0)&&(W=0,ee[I&15](b,F,a[d+(a[J>>2]<<2)>>2]|0,a[e+24+(M<<2)>>2]|0,S,K,L),P=a[G>>2]|0,(P|0)>(L|0))&&(Va(a[e+24+(M+L<<2)>>2]|0,0,P-L<<7|0)|0,P=a[G>>2]|0,(L|0)<(P|0))){U=L;do D=U+M|0,w[a[e+24+(D<<2)>>2]>>1]=w[a[e+
-24+(D+-1<<2)>>2]>>1]|0,U=U+1|0;while((U|0)<(P|0))}O=a[G>>2]|0;P=O+M|0;T=T+1|0;if((T|0)>=(a[N>>2]|0)){J=P;break}else M=P,S=(a[R>>2]|0)+S|0}F=a[q>>2]|0}else F=A,J=D;x=x+1|0;if((x|0)>=(F|0))break;else A=F,D=J}else for(D=x,x=A=0;;){S=a[b+296+(x<<2)>>2]|0;R=S+4|0;M=a[(a[t>>2]|0)+4+(a[R>>2]<<2)>>2]|0;N=S+56|0;T=a[S+72>>2]|0;O=E(a[S+68>>2]|0,z)|0;G=S+40|0;L=S+60|0;if(0<(a[L>>2]|0)){K=S+76|0;J=A;F=0;for(I=E(a[G>>2]|0,C)|0;;){if((a[r>>2]|0)>>>0>=h>>>0&&(F+C|0)>=(a[K>>2]|0)){Va(a[e+24+(J<<2)>>2]|0,0,a[N>>2]<<
-7|0)|0;A=a[N>>2]|0;if(0<(A|0)){P=a[e+24+(J+-1<<2)>>2]|0;U=0;do w[a[e+24+(U+J<<2)>>2]>>1]=w[P>>1]|0,U=U+1|0;while((U|0)<(A|0))}D=A}else if(ee[M&15](b,S,a[d+(a[R>>2]<<2)>>2]|0,a[e+24+(J<<2)>>2]|0,I,O,T),U=a[N>>2]|0,(U|0)>(T|0)){Va(a[e+24+(J+T<<2)>>2]|0,0,U-T<<7|0)|0;P=a[N>>2]|0;if((T|0)<(P|0)){D=T;do A=D+J|0,w[a[e+24+(A<<2)>>2]>>1]=w[a[e+24+(A+-1<<2)>>2]>>1]|0,D=D+1|0;while((D|0)<(P|0))}D=P}else D=U;D=D+J|0;F=F+1|0;if((F|0)>=(a[L>>2]|0)){J=D;break}else J=D,I=(a[G>>2]|0)+I|0}F=a[q>>2]|0}else F=D,J=A;
-x=x+1|0;if((x|0)>=(F|0))break;else D=F,A=J}if(!(dd[a[(a[u>>2]|0)+4>>2]&127](b,v)|0)){da=z;ba=C;break a}z=z+1|0}while(z>>>0<=f>>>0);x=a[l>>2]|0}a[p>>2]=0;C=C+1|0;if((C|0)>=(x|0)){W=38;break}else z=0}if(38==(W|0))p=q,q=a[c>>2]|0;else return a[m>>2]=ba,a[p>>2]=da,0}else p=b+292|0,r=e+8|0,q=e;while(0);a[r>>2]=(a[r>>2]|0)+1;1>=(a[p>>2]|0)?(r=a[b+296>>2]|0,a[q+20>>2]=(a[q+8>>2]|0)>>>0<((a[g>>2]|0)+-1|0)>>>0?a[r+12>>2]:a[r+76>>2]):a[q+20>>2]=1;a[q+12>>2]=0;a[q+16>>2]=0;return 1},function(b,d){b|=0;d|=0;
-var c,e,f,g,h,m,k,l,n,p,q,t,r,u,v,z,x,C,A,D=0,F=0,J,I,G;c=a[b+404>>2]|0;e=(a[b+288>>2]|0)+-1|0;f=b+76|0;if(0>=(a[f>>2]|0))return c=tk(b,d)|0,c|0;g=b+4|0;h=c+8|0;m=b+420|0;k=0;for(l=a[b+84>>2]|0;;){n=l+12|0;p=a[n>>2]|0;q=E(p,a[h>>2]|0)|0;t=jg[a[(a[g>>2]|0)+32>>2]&3](b,a[c+64+(k<<2)>>2]|0,q,p,1)|0;p=a[h>>2]|0;p>>>0<e>>>0?r=a[n>>2]|0:(q=a[n>>2]|0,u=((a[l+32>>2]|0)>>>0)%(q>>>0)|0,r=0==(u|0)?q:u);u=a[l+28>>2]|0;q=a[l+8>>2]|0;v=(u>>>0)%(q>>>0)|0;z=0<(v|0)?q-v|0:v;v=a[(a[m>>2]|0)+4+(k<<2)>>2]|0;if(0<(r|
-0)){p=d+(k<<2)|0;x=l+40|0;C=0<(z|0);A=z<<7;D=u+-1|0;F=0;do{J=a[t+(F<<2)>>2]|0;I=E(a[x>>2]|0,F)|0;ee[v&15](b,l,a[p>>2]|0,J,I,0,u);if(C){Va(J+(u<<7)|0,0,A|0)|0;I=w[J+(D<<7)>>1]|0;G=0;do w[J+(G+u<<7)>>1]=I,G=G+1|0;while((G|0)!=(z|0))}F=F+1|0}while((F|0)!=(r|0));v=a[h>>2]|0}else v=p;if((v|0)==(e|0)&&(F=z+u|0,D=(F>>>0)/(q>>>0)|0,(r|0)<(a[n>>2]|0))){A=F<<7;F=0==(D|0);C=q+-1|0;p=0<(q|0);v=r;do{x=a[t+(v<<2)>>2]|0;G=a[t+(v+-1<<2)>>2]|0;Va(x|0,0,A|0)|0;if(!F)for(I=0,J=G,G=x;;){x=w[J+(C<<7)>>1]|0;if(p){r=0;
-do w[G+(r<<7)>>1]=x,r=r+1|0;while((r|0)!=(q|0))}I=I+1|0;if(I>>>0>=D>>>0)break;else J=J+(q<<7)|0,G=G+(q<<7)|0}v=v+1|0}while((v|0)<(a[n>>2]|0))}k=k+1|0;if((k|0)>=(a[f>>2]|0))break;else l=l+88|0}c=tk(b,d)|0;return c|0},tk,function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,u,v,x,z,A,C,D=0,E,F,J,I;c=a[b+424>>2]|0;e=b+24|0;f=a[e>>2]|0;g=c+112|0;a[g>>2]=a[f>>2];h=c+116|0;a[h>>2]=a[f+4>>2];f=b+236|0;0!=(a[f>>2]|0)&&0==(a[c+36>>2]|0)&&gi(c,a[c+40>>2]|0);m=b+320|0;if(0<(a[m>>2]|0)){k=b+376|0;l=c+108|0;n=c+
-120|0;p=c+16|0;q=c+12|0;r=0;do{u=a[b+324+(r<<2)>>2]|0;v=a[(a[b+296+(u<<2)>>2]|0)+20>>2]|0;x=w[a[d+(r<<2)>>2]>>1]>>a[k>>2];z=c+20+(u<<2)|0;u=x-(a[z>>2]|0)|0;a[z>>2]=x;x=(u>>31)+u|0;if(z=0>(u|0)?0-u|0:u){u=0;for(A=z;;)if(z=u+1|0,A>>=1)u=z;else{C=z;break}10<(u|0)&&(u=a[b>>2]|0,a[u+20>>2]=6,R[a[u>>2]&127](b))}else C=0;do if(a[l>>2]|0)u=(a[c+76+(v<<2)>>2]|0)+(C<<2)|0,a[u>>2]=(a[u>>2]|0)+1;else if(u=a[c+44+(v<<2)>>2]|0,A=a[u+(C<<2)>>2]|0,z=t[u+1024+C>>0]|0,u=z<<24>>24,0!=z<<24>>24||(z=a[n>>2]|0,D=a[z>>
-2]|0,a[D+20>>2]=41,R[a[D>>2]&127](z),0==(a[l>>2]|0))){z=(a[p>>2]|0)+u|0;D=((1<<u)+-1&A)<<24-z|a[q>>2];if(7<(z|0)){A=z;for(u=D;;)if(E=u>>>16,F=E&255,J=a[g>>2]|0,a[g>>2]=J+1,t[J>>0]=E,E=(a[h>>2]|0)+-1|0,a[h>>2]=E,E||(E=a[n>>2]|0,J=a[E+24>>2]|0,da[a[J+12>>2]&63](E)|0||(E=a[n>>2]|0,I=a[E>>2]|0,a[I+20>>2]=25,R[a[I>>2]&127](E)),a[g>>2]=a[J>>2],a[h>>2]=a[J+4>>2]),255==(F|0)&&(F=a[g>>2]|0,a[g>>2]=F+1,t[F>>0]=0,F=(a[h>>2]|0)+-1|0,a[h>>2]=F,0==(F|0))&&(F=a[n>>2]|0,J=a[F+24>>2]|0,da[a[J+12>>2]&63](F)|0||(F=
-a[n>>2]|0,E=a[F>>2]|0,a[E+20>>2]=25,R[a[E>>2]&127](F)),a[g>>2]=a[J>>2],a[h>>2]=a[J+4>>2]),J=u<<8,A=A+-8|0,7>=(A|0)){u=J;break}else u=J;z&=7}else u=D;a[q>>2]=u;a[p>>2]=z}while(0);if(0!=(C|0)&&0==(a[l>>2]|0)){v=(a[p>>2]|0)+C|0;u=((1<<C)+-1&x)<<24-v|a[q>>2];if(7<(v|0)){A=v;for(J=u;;)if(F=J>>>16,E=F&255,I=a[g>>2]|0,a[g>>2]=I+1,t[I>>0]=F,F=(a[h>>2]|0)+-1|0,a[h>>2]=F,F||(F=a[n>>2]|0,I=a[F+24>>2]|0,da[a[I+12>>2]&63](F)|0||(F=a[n>>2]|0,x=a[F>>2]|0,a[x+20>>2]=25,R[a[x>>2]&127](F)),a[g>>2]=a[I>>2],a[h>>2]=
-a[I+4>>2]),255==(E|0)&&(E=a[g>>2]|0,a[g>>2]=E+1,t[E>>0]=0,E=(a[h>>2]|0)+-1|0,a[h>>2]=E,0==(E|0))&&(E=a[n>>2]|0,I=a[E+24>>2]|0,da[a[I+12>>2]&63](E)|0||(E=a[n>>2]|0,F=a[E>>2]|0,a[F+20>>2]=25,R[a[F>>2]&127](E)),a[g>>2]=a[I>>2],a[h>>2]=a[I+4>>2]),I=J<<8,A=A+-8|0,7>=(A|0)){x=I;break}else J=I;v&=7}else x=u;a[q>>2]=x;a[p>>2]=v}r=r+1|0}while((r|0)<(a[m>>2]|0))}m=a[e>>2]|0;a[m>>2]=a[g>>2];a[m+4>>2]=a[h>>2];h=a[f>>2]|0;if(!h)return 1;f=c+36|0;(m=a[f>>2]|0)?c=m:(a[f>>2]=h,g=c+40|0,a[g>>2]=(a[g>>2]|0)+1&7,c=
-h);a[f>>2]=c+-1;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,u,v,A,z,D,C,E,F,N,J,I,G,L,K,S,U,O=0,M,T=0,X,P,W,Y=0;c=a[b+424>>2]|0;e=b+24|0;f=a[e>>2]|0;g=c+112|0;a[g>>2]=a[f>>2];h=c+116|0;a[h>>2]=a[f+4>>2];f=b+236|0;0!=(a[f>>2]|0)&&0==(a[c+36>>2]|0)&&gi(c,a[c+40>>2]|0);m=a[b+368>>2]|0;k=a[b+376>>2]|0;l=a[b+384>>2]|0;n=a[d>>2]|0;d=a[b+364>>2]|0;if((d|0)<=(m|0)){p=c+128|0;q=c+124|0;r=c+108|0;u=c+120|0;v=c+16|0;A=c+12|0;z=c+136|0;D=c+132|0;C=d;for(d=0;;){E=w[n+(a[l+(C<<2)>>2]<<1)>>1]|
-0;F=E<<16>>16;do if(E<<16>>16)if(0>E<<16>>16?(J=N=0-F>>k,I=~N):I=J=N=F>>k,J){if(N=a[p>>2]|0){G=0;for(L=N;;)if(L>>=1)G=G+1|0;else{K=G;break}14<(K|0)&&(G=a[u>>2]|0,L=a[G>>2]|0,a[L+20>>2]=41,R[a[L>>2]&127](G));G=a[q>>2]|0;L=K<<4;do if(a[r>>2]|0)N=(a[c+92+(G<<2)>>2]|0)+(L<<2)|0,a[N>>2]=(a[N>>2]|0)+1;else if(N=a[c+60+(G<<2)>>2]|0,S=a[N+(L<<2)>>2]|0,U=t[N+1024+L>>0]|0,N=U<<24>>24,0!=U<<24>>24||(U=a[u>>2]|0,O=a[U>>2]|0,a[O+20>>2]=41,R[a[O>>2]&127](U),0==(a[r>>2]|0))){U=(a[v>>2]|0)+N|0;O=((1<<N)+-1&S)<<24-
-U|a[A>>2];if(7<(U|0)){S=U;for(N=O;;)if(M=N>>>16,T=M&255,X=a[g>>2]|0,a[g>>2]=X+1,t[X>>0]=M,M=(a[h>>2]|0)+-1|0,a[h>>2]=M,M||(M=a[u>>2]|0,X=a[M+24>>2]|0,da[a[X+12>>2]&63](M)|0||(M=a[u>>2]|0,P=a[M>>2]|0,a[P+20>>2]=25,R[a[P>>2]&127](M)),a[g>>2]=a[X>>2],a[h>>2]=a[X+4>>2]),255==(T|0)&&(X=a[g>>2]|0,a[g>>2]=X+1,t[X>>0]=0,X=(a[h>>2]|0)+-1|0,a[h>>2]=X,X||(X=a[u>>2]|0,M=a[X+24>>2]|0,da[a[M+12>>2]&63](X)|0||(X=a[u>>2]|0,P=a[X>>2]|0,a[P+20>>2]=25,R[a[P>>2]&127](X)),a[g>>2]=a[M>>2],a[h>>2]=a[M+4>>2])),T=N<<8,S=
-S+-8|0,7>=(S|0)){S=T;break}else N=T;M=U&7}else M=U,S=O;a[A>>2]=S;a[v>>2]=M}while(0);if(0!=(K|0)&&0==(a[r>>2]|0)){L=(a[v>>2]|0)+K|0;G=(a[p>>2]&(1<<K)+-1)<<24-L|a[A>>2];if(7<(L|0)){N=L;for(S=G;;)if(T=S>>>16,M=T&255,X=a[g>>2]|0,a[g>>2]=X+1,t[X>>0]=T,T=(a[h>>2]|0)+-1|0,a[h>>2]=T,T||(T=a[u>>2]|0,X=a[T+24>>2]|0,da[a[X+12>>2]&63](T)|0||(T=a[u>>2]|0,P=a[T>>2]|0,a[P+20>>2]=25,R[a[P>>2]&127](T)),a[g>>2]=a[X>>2],a[h>>2]=a[X+4>>2]),255==(M|0)&&(X=a[g>>2]|0,a[g>>2]=X+1,t[X>>0]=0,X=(a[h>>2]|0)+-1|0,a[h>>2]=X,X||
-(X=a[u>>2]|0,T=a[X+24>>2]|0,da[a[T+12>>2]&63](X)|0||(X=a[u>>2]|0,P=a[X>>2]|0,a[P+20>>2]=25,R[a[P>>2]&127](X)),a[g>>2]=a[T>>2],a[h>>2]=a[T+4>>2])),M=S<<8,N=N+-8|0,7>=(N|0)){G=M;break}else S=M;S=L&7}else S=L;a[A>>2]=G;a[v>>2]=S}a[p>>2]=0;S=a[D>>2]|0;a:do if(0!=(S|0)&0==(a[r>>2]|0))for(N=S,M=a[z>>2]|0,O=0;;){if(!O){U=a[v>>2]|0;T=U+1|0;X=((x[M>>0]|0)&1)<<23-U|a[A>>2];if(7<(T|0)){U=T;for(P=X;;)if(K=P>>>16,W=K&255,G=a[g>>2]|0,a[g>>2]=G+1,t[G>>0]=K,K=(a[h>>2]|0)+-1|0,a[h>>2]=K,K||(K=a[u>>2]|0,G=a[K+24>>
-2]|0,da[a[G+12>>2]&63](K)|0||(K=a[u>>2]|0,S=a[K>>2]|0,a[S+20>>2]=25,R[a[S>>2]&127](K)),a[g>>2]=a[G>>2],a[h>>2]=a[G+4>>2]),255==(W|0)&&(G=a[g>>2]|0,a[g>>2]=G+1,t[G>>0]=0,G=(a[h>>2]|0)+-1|0,a[h>>2]=G,G||(G=a[u>>2]|0,K=a[G+24>>2]|0,da[a[K+12>>2]&63](G)|0||(G=a[u>>2]|0,S=a[G>>2]|0,a[S+20>>2]=25,R[a[S>>2]&127](G)),a[g>>2]=a[K>>2],a[h>>2]=a[K+4>>2])),W=P<<8,U=U+-8|0,7>=(U|0)){S=W;break}else P=W;G=T&7}else G=T,S=X;a[A>>2]=S;a[v>>2]=G}P=N+-1|0;if(!P)break a;N=P;M=M+1|0;O=a[r>>2]|0}while(0);a[D>>2]=0}if(15<
-(d|0)){S=d;do{G=a[q>>2]|0;do if(a[r>>2]|0)L=(a[c+92+(G<<2)>>2]|0)+960|0,a[L>>2]=(a[L>>2]|0)+1;else if(L=a[c+60+(G<<2)>>2]|0,O=a[L+960>>2]|0,M=t[L+1264>>0]|0,L=M<<24>>24,0!=M<<24>>24||(M=a[u>>2]|0,N=a[M>>2]|0,a[N+20>>2]=41,R[a[N>>2]&127](M),0==(a[r>>2]|0))){M=(a[v>>2]|0)+L|0;N=((1<<L)+-1&O)<<24-M|a[A>>2];if(7<(M|0)){O=M;for(L=N;;)if(P=L>>>16,U=P&255,W=a[g>>2]|0,a[g>>2]=W+1,t[W>>0]=P,P=(a[h>>2]|0)+-1|0,a[h>>2]=P,P||(P=a[u>>2]|0,W=a[P+24>>2]|0,da[a[W+12>>2]&63](P)|0||(P=a[u>>2]|0,K=a[P>>2]|0,a[K+20>>
-2]=25,R[a[K>>2]&127](P)),a[g>>2]=a[W>>2],a[h>>2]=a[W+4>>2]),255==(U|0)&&(W=a[g>>2]|0,a[g>>2]=W+1,t[W>>0]=0,W=(a[h>>2]|0)+-1|0,a[h>>2]=W,W||(W=a[u>>2]|0,P=a[W+24>>2]|0,da[a[P+12>>2]&63](W)|0||(W=a[u>>2]|0,K=a[W>>2]|0,a[K+20>>2]=25,R[a[K>>2]&127](W)),a[g>>2]=a[P>>2],a[h>>2]=a[P+4>>2])),U=L<<8,O=O+-8|0,7>=(O|0)){L=U;break}else L=U;M&=7}else L=N;a[A>>2]=L;a[v>>2]=M}while(0);S=S+-16|0}while(15<(S|0));N=d&15}else N=d;S=1;for(G=J;;)if(G>>=1)S=S+1|0;else{J=S;break}10<(J|0)&&(S=a[b>>2]|0,a[S+20>>2]=6,R[a[S>>
-2]&127](b));S=a[q>>2]|0;G=J+(N<<4)|0;do if(a[r>>2]|0)L=(a[c+92+(S<<2)>>2]|0)+(G<<2)|0,a[L>>2]=(a[L>>2]|0)+1;else if(L=a[c+60+(S<<2)>>2]|0,O=a[L+(G<<2)>>2]|0,X=t[L+1024+G>>0]|0,L=X<<24>>24,0!=X<<24>>24||(X=a[u>>2]|0,T=a[X>>2]|0,a[T+20>>2]=41,R[a[T>>2]&127](X),0==(a[r>>2]|0))){X=(a[v>>2]|0)+L|0;T=((1<<L)+-1&O)<<24-X|a[A>>2];if(7<(X|0)){O=X;for(L=T;;)if(U=L>>>16,P=U&255,W=a[g>>2]|0,a[g>>2]=W+1,t[W>>0]=U,U=(a[h>>2]|0)+-1|0,a[h>>2]=U,U||(U=a[u>>2]|0,W=a[U+24>>2]|0,da[a[W+12>>2]&63](U)|0||(U=a[u>>2]|0,
-K=a[U>>2]|0,a[K+20>>2]=25,R[a[K>>2]&127](U)),a[g>>2]=a[W>>2],a[h>>2]=a[W+4>>2]),255==(P|0)&&(W=a[g>>2]|0,a[g>>2]=W+1,t[W>>0]=0,W=(a[h>>2]|0)+-1|0,a[h>>2]=W,W||(W=a[u>>2]|0,U=a[W+24>>2]|0,da[a[U+12>>2]&63](W)|0||(W=a[u>>2]|0,K=a[W>>2]|0,a[K+20>>2]=25,R[a[K>>2]&127](W)),a[g>>2]=a[U>>2],a[h>>2]=a[U+4>>2])),P=L<<8,O=O+-8|0,7>=(O|0)){N=P;break}else L=P;M=X&7}else M=X,N=T;a[A>>2]=N;a[v>>2]=M}while(0);J||(G=a[u>>2]|0,S=a[G>>2]|0,a[S+20>>2]=41,R[a[S>>2]&127](G));if(!(a[r>>2]|0)){G=(a[v>>2]|0)+J|0;S=((1<<
-J)+-1&I)<<24-G|a[A>>2];if(7<(G|0)){L=G;for(O=S;;)if(P=O>>>16,N=P&255,M=a[g>>2]|0,a[g>>2]=M+1,t[M>>0]=P,P=(a[h>>2]|0)+-1|0,a[h>>2]=P,P||(P=a[u>>2]|0,M=a[P+24>>2]|0,da[a[M+12>>2]&63](P)|0||(P=a[u>>2]|0,U=a[P>>2]|0,a[U+20>>2]=25,R[a[U>>2]&127](P)),a[g>>2]=a[M>>2],a[h>>2]=a[M+4>>2]),255==(N|0)&&(M=a[g>>2]|0,a[g>>2]=M+1,t[M>>0]=0,M=(a[h>>2]|0)+-1|0,a[h>>2]=M,M||(M=a[u>>2]|0,P=a[M+24>>2]|0,da[a[P+12>>2]&63](M)|0||(M=a[u>>2]|0,U=a[M>>2]|0,a[U+20>>2]=25,R[a[U>>2]&127](M)),a[g>>2]=a[P>>2],a[h>>2]=a[P+4>>2])),
-N=O<<8,L=L+-8|0,7>=(L|0)){S=N;break}else O=N;N=G&7}else N=G;G=S;a[A>>2]=G;a[v>>2]=N}I=0}else I=d+1|0;else I=d+1|0;while(0);if((C|0)<(m|0))C=C+1|0,d=I;else{k=I;break}}if(0<(k|0)&&(k=c+128|0,I=(a[k>>2]|0)+1|0,a[k>>2]=I,32767==(I|0))){I=a[c+124>>2]|0;d=c+108|0;if(a[d>>2]|0)m=(a[c+92+(I<<2)>>2]|0)+896|0,a[m>>2]=(a[m>>2]|0)+1,Y=147;else if(C=a[c+60+(I<<2)>>2]|0,m=a[C+896>>2]|0,N=t[C+1248>>0]|0,C=N<<24>>24,N<<24>>24||(N=a[c+120>>2]|0,v=a[N>>2]|0,a[v+20>>2]=41,R[a[v>>2]&127](N)),!(a[d>>2]|0)){N=c+16|0;v=
-(a[N>>2]|0)+C|0;G=c+12|0;A=((1<<C)+-1&m)<<24-v|a[G>>2];if(7<(v|0)){m=c+120|0;C=v;for(S=A;!(u=S>>>16,I=u&255,J=a[g>>2]|0,a[g>>2]=J+1,t[J>>0]=u,u=(a[h>>2]|0)+-1|0,a[h>>2]=u,u||(u=a[m>>2]|0,J=a[u+24>>2]|0,da[a[J+12>>2]&63](u)|0||(u=a[m>>2]|0,r=a[u>>2]|0,a[r+20>>2]=25,R[a[r>>2]&127](u)),a[g>>2]=a[J>>2],a[h>>2]=a[J+4>>2]),255==(I|0)&&(I=a[g>>2]|0,a[g>>2]=I+1,t[I>>0]=0,I=(a[h>>2]|0)+-1|0,a[h>>2]=I,0==(I|0))&&(I=a[m>>2]|0,J=a[I+24>>2]|0,da[a[J+12>>2]&63](I)|0||(I=a[m>>2]|0,u=a[I>>2]|0,a[u+20>>2]=25,R[a[u>>
-2]&127](I)),a[g>>2]=a[J>>2],a[h>>2]=a[J+4>>2]),J=S<<8,C=C+-8|0,7>=(C|0));)S=J;m=v&7;r=J}else m=v,r=A;a[G>>2]=r;a[N>>2]=m;Y=147}if(147==(Y|0)&&0==(a[d>>2]|0)){Y=c+16|0;m=a[Y>>2]|0;I=m+14|0;N=c+12|0;r=(a[k>>2]&16383)<<10-m|a[N>>2];if(7<(I|0)){m=c+120|0;G=I;for(A=r;!(v=A>>>16,l=v&255,S=a[g>>2]|0,a[g>>2]=S+1,t[S>>0]=v,v=(a[h>>2]|0)+-1|0,a[h>>2]=v,v||(v=a[m>>2]|0,S=a[v+24>>2]|0,da[a[S+12>>2]&63](v)|0||(v=a[m>>2]|0,C=a[v>>2]|0,a[C+20>>2]=25,R[a[C>>2]&127](v)),a[g>>2]=a[S>>2],a[h>>2]=a[S+4>>2]),255==(l|
-0)&&(l=a[g>>2]|0,a[g>>2]=l+1,t[l>>0]=0,l=(a[h>>2]|0)+-1|0,a[h>>2]=l,0==(l|0))&&(l=a[m>>2]|0,S=a[l+24>>2]|0,da[a[S+12>>2]&63](l)|0||(l=a[m>>2]|0,v=a[l>>2]|0,a[v+20>>2]=25,R[a[v>>2]&127](l)),a[g>>2]=a[S>>2],a[h>>2]=a[S+4>>2]),S=A<<8,G=G+-8|0,7>=(G|0));)A=S;v=I&7;u=S}else v=I,u=r;a[N>>2]=u;a[Y>>2]=v}a[k>>2]=0;k=c+132|0;v=a[k>>2]|0;a:do if(0!=(v|0)&0==(a[d>>2]|0))for(Y=c+16|0,u=c+12|0,N=c+120|0,r=v,I=a[c+136>>2]|0,v=0;;){if(!v){A=a[Y>>2]|0;G=A+1|0;m=((x[I>>0]|0)&1)<<23-A|a[u>>2];if(7<(G|0)){A=G;for(S=
-m;;)if(l=S>>>16,v=l&255,C=a[g>>2]|0,a[g>>2]=C+1,t[C>>0]=l,l=(a[h>>2]|0)+-1|0,a[h>>2]=l,l||(l=a[N>>2]|0,C=a[l+24>>2]|0,da[a[C+12>>2]&63](l)|0||(l=a[N>>2]|0,m=a[l>>2]|0,a[m+20>>2]=25,R[a[m>>2]&127](l)),a[g>>2]=a[C>>2],a[h>>2]=a[C+4>>2]),255==(v|0)&&(v=a[g>>2]|0,a[g>>2]=v+1,t[v>>0]=0,v=(a[h>>2]|0)+-1|0,a[h>>2]=v,0==(v|0))&&(v=a[N>>2]|0,C=a[v+24>>2]|0,da[a[C+12>>2]&63](v)|0||(v=a[N>>2]|0,l=a[v>>2]|0,a[l+20>>2]=25,R[a[l>>2]&127](v)),a[g>>2]=a[C>>2],a[h>>2]=a[C+4>>2]),C=S<<8,A=A+-8|0,7>=(A|0)){A=C;break}else S=
-C;v=G&7}else v=G,A=m;a[u>>2]=A;a[Y>>2]=v}S=r+-1|0;if(!S)break a;r=S;I=I+1|0;v=a[d>>2]|0}while(0);a[k>>2]=0}}k=a[e>>2]|0;a[k>>2]=a[g>>2];a[k+4>>2]=a[h>>2];h=a[f>>2]|0;if(!h)return 1;f=c+36|0;(k=a[f>>2]|0)?c=k:(a[f>>2]=h,g=c+40|0,a[g>>2]=(a[g>>2]|0)+1&7,c=h);a[f>>2]=c+-1;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,u,v,x,z,A,C;c=a[b+424>>2]|0;e=b+24|0;f=a[e>>2]|0;g=c+112|0;a[g>>2]=a[f>>2];h=c+116|0;a[h>>2]=a[f+4>>2];f=b+236|0;0!=(a[f>>2]|0)&&0==(a[c+36>>2]|0)&&gi(c,a[c+40>>2]|0);m=
-a[b+376>>2]|0;k=b+320|0;b=a[k>>2]|0;if(0<(b|0))for(l=c+108|0,n=c+16|0,p=c+12|0,q=c+120|0,r=b,b=0;;){if(a[l>>2]|0)v=r;else{u=a[n>>2]|0;v=u+1|0;x=((w[a[d+(b<<2)>>2]>>1]|0)>>>m&1)<<23-u|a[p>>2];if(7<(v|0)){for(u=v;;)if(r=x>>>16,z=r&255,A=a[g>>2]|0,a[g>>2]=A+1,t[A>>0]=r,r=(a[h>>2]|0)+-1|0,a[h>>2]=r,r||(r=a[q>>2]|0,A=a[r+24>>2]|0,da[a[A+12>>2]&63](r)|0||(r=a[q>>2]|0,C=a[r>>2]|0,a[C+20>>2]=25,R[a[C>>2]&127](r)),a[g>>2]=a[A>>2],a[h>>2]=a[A+4>>2]),255==(z|0)&&(z=a[g>>2]|0,a[g>>2]=z+1,t[z>>0]=0,z=(a[h>>2]|
-0)+-1|0,a[h>>2]=z,0==(z|0))&&(z=a[q>>2]|0,A=a[z+24>>2]|0,da[a[A+12>>2]&63](z)|0||(z=a[q>>2]|0,r=a[z>>2]|0,a[r+20>>2]=25,R[a[r>>2]&127](z)),a[g>>2]=a[A>>2],a[h>>2]=a[A+4>>2]),A=x<<8,u=u+-8|0,7>=(u|0)){x=A;break}else x=A;u=a[k>>2]|0;v&=7}else u=r;a[p>>2]=x;a[n>>2]=v;v=u}b=b+1|0;if((b|0)>=(v|0))break;else r=v}v=a[e>>2]|0;a[v>>2]=a[g>>2];a[v+4>>2]=a[h>>2];h=a[f>>2]|0;if(!h)return 1;f=c+36|0;(v=a[f>>2]|0)?c=v:(a[f>>2]=h,g=c+40|0,a[g>>2]=(a[g>>2]|0)+1&7,c=h);a[f>>2]=c+-1;return 1},function(b,d){b|=0;d|=
-0;var c,e,f,g,h,m,k,l,n,p,q,r,v,A,D,z,E,C,F,V=0,S,J=0,I,G=0,L,K,U,W,O,M,T,X=0,P=0,Y,Z,aa=0,ba,ca,fa=0,ja;ja=0;c=u;u=u+256|0;e=a[b+424>>2]|0;f=b+24|0;g=a[f>>2]|0;h=e+112|0;a[h>>2]=a[g>>2];m=e+116|0;a[m>>2]=a[g+4>>2];g=b+236|0;0!=(a[g>>2]|0)&&0==(a[e+36>>2]|0)&&gi(e,a[e+40>>2]|0);k=a[b+368>>2]|0;l=a[b+376>>2]|0;n=a[b+384>>2]|0;p=a[d>>2]|0;d=a[b+364>>2]|0;if(b=(d|0)>(k|0))D=e+136|0,l=e+132|0,z=n=0;else{q=0;for(r=d;;)if(v=w[p+(a[n+(r<<2)>>2]<<1)>>1]|0,A=v<<16>>16,D=(0>v<<16>>16?0-A|0:A)>>l,a[c+(r<<2)>>
-2]=D,A=1==(D|0)?r:q,(r|0)<(k|0))q=A,r=r+1|0;else{z=A;break}r=e+136|0;q=e+132|0;if(b)D=r,l=q,z=n=0;else for(b=e+128|0,l=e+124|0,A=e+108|0,D=e+120|0,v=e+16|0,E=e+12|0,C=0,F=(a[r>>2]|0)+(a[q>>2]|0)|0,V=d,d=0;;){S=a[c+(V<<2)>>2]|0;do if(S){if((V|0)>(z|0)|16>(d|0))L=C,K=F,U=d;else for(I=C,J=F,G=d;;){if(U=a[b>>2]|0){W=0;for(O=U;;)if(O>>=1)W=W+1|0;else{K=W;break}14<(K|0)&&(W=a[D>>2]|0,O=a[W>>2]|0,a[O+20>>2]=41,R[a[O>>2]&127](W));W=a[l>>2]|0;O=K<<4;do if(a[A>>2]|0)U=(a[e+92+(W<<2)>>2]|0)+(O<<2)|0,a[U>>2]=
-(a[U>>2]|0)+1;else if(U=a[e+60+(W<<2)>>2]|0,M=a[U+(O<<2)>>2]|0,T=t[U+1024+O>>0]|0,U=T<<24>>24,0!=T<<24>>24||(T=a[D>>2]|0,X=a[T>>2]|0,a[X+20>>2]=41,R[a[X>>2]&127](T),0==(a[A>>2]|0))){T=(a[v>>2]|0)+U|0;X=((1<<U)+-1&M)<<24-T|a[E>>2];if(7<(T|0)){M=T;for(U=X;;)if(P=U>>>16,Y=P&255,Z=a[h>>2]|0,a[h>>2]=Z+1,t[Z>>0]=P,P=(a[m>>2]|0)+-1|0,a[m>>2]=P,P||(P=a[D>>2]|0,Z=a[P+24>>2]|0,da[a[Z+12>>2]&63](P)|0||(P=a[D>>2]|0,aa=a[P>>2]|0,a[aa+20>>2]=25,R[a[aa>>2]&127](P)),a[h>>2]=a[Z>>2],a[m>>2]=a[Z+4>>2]),255==(Y|0)&&
-(Z=a[h>>2]|0,a[h>>2]=Z+1,t[Z>>0]=0,Z=(a[m>>2]|0)+-1|0,a[m>>2]=Z,Z||(Z=a[D>>2]|0,P=a[Z+24>>2]|0,da[a[P+12>>2]&63](Z)|0||(Z=a[D>>2]|0,aa=a[Z>>2]|0,a[aa+20>>2]=25,R[a[aa>>2]&127](Z)),a[h>>2]=a[P>>2],a[m>>2]=a[P+4>>2])),Y=U<<8,M=M+-8|0,7>=(M|0)){L=Y;break}else U=Y;U=T&7}else U=T,L=X;a[E>>2]=L;a[v>>2]=U}while(0);if(0!=(K|0)&&0==(a[A>>2]|0)){O=(a[v>>2]|0)+K|0;W=(a[b>>2]&(1<<K)+-1)<<24-O|a[E>>2];if(7<(O|0)){U=O;for(M=W;;)if(Y=M>>>16,P=Y&255,Z=a[h>>2]|0,a[h>>2]=Z+1,t[Z>>0]=Y,Y=(a[m>>2]|0)+-1|0,a[m>>2]=Y,
-Y||(Y=a[D>>2]|0,Z=a[Y+24>>2]|0,da[a[Z+12>>2]&63](Y)|0||(Y=a[D>>2]|0,aa=a[Y>>2]|0,a[aa+20>>2]=25,R[a[aa>>2]&127](Y)),a[h>>2]=a[Z>>2],a[m>>2]=a[Z+4>>2]),255==(P|0)&&(Z=a[h>>2]|0,a[h>>2]=Z+1,t[Z>>0]=0,Z=(a[m>>2]|0)+-1|0,a[m>>2]=Z,Z||(Z=a[D>>2]|0,Y=a[Z+24>>2]|0,da[a[Y+12>>2]&63](Z)|0||(Z=a[D>>2]|0,aa=a[Z>>2]|0,a[aa+20>>2]=25,R[a[aa>>2]&127](Z)),a[h>>2]=a[Y>>2],a[m>>2]=a[Y+4>>2])),P=M<<8,U=U+-8|0,7>=(U|0)){L=P;break}else M=P;K=O&7}else K=O,L=W;a[E>>2]=L;a[v>>2]=K}a[b>>2]=0;M=a[q>>2]|0;a:do if(0!=(M|0)&
-0==(a[A>>2]|0))for(U=M,P=a[r>>2]|0,X=0;;){if(!X){T=a[v>>2]|0;Y=T+1|0;Z=((x[P>>0]|0)&1)<<23-T|a[E>>2];if(7<(Y|0)){T=Y;for(aa=Z;;)if(M=aa>>>16,ba=M&255,ca=a[h>>2]|0,a[h>>2]=ca+1,t[ca>>0]=M,M=(a[m>>2]|0)+-1|0,a[m>>2]=M,M||(M=a[D>>2]|0,ca=a[M+24>>2]|0,da[a[ca+12>>2]&63](M)|0||(M=a[D>>2]|0,K=a[M>>2]|0,a[K+20>>2]=25,R[a[K>>2]&127](M)),a[h>>2]=a[ca>>2],a[m>>2]=a[ca+4>>2]),255==(ba|0)&&(ca=a[h>>2]|0,a[h>>2]=ca+1,t[ca>>0]=0,ca=(a[m>>2]|0)+-1|0,a[m>>2]=ca,ca||(ca=a[D>>2]|0,M=a[ca+24>>2]|0,da[a[M+12>>2]&63](ca)|
-0||(ca=a[D>>2]|0,K=a[ca>>2]|0,a[K+20>>2]=25,R[a[K>>2]&127](ca)),a[h>>2]=a[M>>2],a[m>>2]=a[M+4>>2])),ba=aa<<8,T=T+-8|0,7>=(T|0)){K=ba;break}else aa=ba;aa=Y&7}else aa=Y,K=Z;a[E>>2]=K;a[v>>2]=aa}aa=U+-1|0;if(!aa)break a;U=aa;P=P+1|0;X=a[A>>2]|0}while(0);a[q>>2]=0}M=a[l>>2]|0;a:do if(a[A>>2]|0)Z=(a[e+92+(M<<2)>>2]|0)+960|0,a[Z>>2]=(a[Z>>2]|0)+1,fa=83;else if(W=a[e+60+(M<<2)>>2]|0,O=a[W+960>>2]|0,X=t[W+1264>>0]|0,W=X<<24>>24,0==X<<24>>24&&(X=a[D>>2]|0,P=a[X>>2]|0,a[P+20>>2]=41,R[a[P>>2]&127](X),0!=(a[A>>
-2]|0)))fa=83;else{X=(a[v>>2]|0)+W|0;P=((1<<W)+-1&O)<<24-X|a[E>>2];if(7<(X|0)){O=X;for(W=P;;)if(U=W>>>16,aa=U&255,T=a[h>>2]|0,a[h>>2]=T+1,t[T>>0]=U,U=(a[m>>2]|0)+-1|0,a[m>>2]=U,U||(U=a[D>>2]|0,T=a[U+24>>2]|0,da[a[T+12>>2]&63](U)|0||(U=a[D>>2]|0,ba=a[U>>2]|0,a[ba+20>>2]=25,R[a[ba>>2]&127](U)),a[h>>2]=a[T>>2],a[m>>2]=a[T+4>>2]),255==(aa|0)&&(T=a[h>>2]|0,a[h>>2]=T+1,t[T>>0]=0,T=(a[m>>2]|0)+-1|0,a[m>>2]=T,T||(T=a[D>>2]|0,U=a[T+24>>2]|0,da[a[U+12>>2]&63](T)|0||(T=a[D>>2]|0,ba=a[T>>2]|0,a[ba+20>>2]=25,R[a[ba>>
-2]&127](T)),a[h>>2]=a[U>>2],a[m>>2]=a[U+4>>2])),aa=W<<8,O=O+-8|0,7>=(O|0)){L=aa;break}else W=aa;ja=a[A>>2]|0;K=X&7}else ja=0,K=X,L=P;a[E>>2]=L;a[v>>2]=K;W=G+-16|0;if(0!=(I|0)&0==(ja|0))for(O=I,aa=J,Z=0;;){if(!Z){Y=a[v>>2]|0;U=Y+1|0;T=((x[aa>>0]|0)&1)<<23-Y|a[E>>2];if(7<(U|0)){Y=U;for(ba=T;;)if(M=ba>>>16,ca=M&255,K=a[h>>2]|0,a[h>>2]=K+1,t[K>>0]=M,M=(a[m>>2]|0)+-1|0,a[m>>2]=M,M||(M=a[D>>2]|0,K=a[M+24>>2]|0,da[a[K+12>>2]&63](M)|0||(M=a[D>>2]|0,ja=a[M>>2]|0,a[ja+20>>2]=25,R[a[ja>>2]&127](M)),a[h>>2]=
-a[K>>2],a[m>>2]=a[K+4>>2]),255==(ca|0)&&(K=a[h>>2]|0,a[h>>2]=K+1,t[K>>0]=0,K=(a[m>>2]|0)+-1|0,a[m>>2]=K,K||(K=a[D>>2]|0,M=a[K+24>>2]|0,da[a[M+12>>2]&63](K)|0||(K=a[D>>2]|0,ja=a[K>>2]|0,a[ja+20>>2]=25,R[a[ja>>2]&127](K)),a[h>>2]=a[M>>2],a[m>>2]=a[M+4>>2])),ca=ba<<8,Y=Y+-8|0,7>=(Y|0)){J=ca;break}else ba=ca;ja=U&7}else ja=U,J=T;a[E>>2]=J;a[v>>2]=ja}ba=O+-1|0;if(!ba){ja=W;break a}O=ba;aa=aa+1|0;Z=a[A>>2]|0}else ja=W}while(0);83==(fa|0)&&(fa=0,ja=G+-16|0);M=a[r>>2]|0;if(16>(ja|0)){L=0;K=M;U=ja;break}else I=
-0,J=M,G=ja}if(1<(S|0))t[K+L>>0]=S&1,J=L+1|0,I=K,G=U;else{if(G=a[b>>2]|0){J=0;for(I=G;;)if(I>>=1)J=J+1|0;else{W=J;break}14<(W|0)&&(J=a[D>>2]|0,I=a[J>>2]|0,a[I+20>>2]=41,R[a[I>>2]&127](J));J=a[l>>2]|0;I=W<<4;do if(a[A>>2]|0)G=(a[e+92+(J<<2)>>2]|0)+(I<<2)|0,a[G>>2]=(a[G>>2]|0)+1;else if(G=a[e+60+(J<<2)>>2]|0,M=a[G+(I<<2)>>2]|0,Z=t[G+1024+I>>0]|0,G=Z<<24>>24,0!=Z<<24>>24||(Z=a[D>>2]|0,aa=a[Z>>2]|0,a[aa+20>>2]=41,R[a[aa>>2]&127](Z),0==(a[A>>2]|0))){Z=(a[v>>2]|0)+G|0;aa=((1<<G)+-1&M)<<24-Z|a[E>>2];if(7<
-(Z|0)){M=Z;for(G=aa;;)if(O=G>>>16,P=O&255,X=a[h>>2]|0,a[h>>2]=X+1,t[X>>0]=O,O=(a[m>>2]|0)+-1|0,a[m>>2]=O,O||(O=a[D>>2]|0,X=a[O+24>>2]|0,da[a[X+12>>2]&63](O)|0||(O=a[D>>2]|0,ba=a[O>>2]|0,a[ba+20>>2]=25,R[a[ba>>2]&127](O)),a[h>>2]=a[X>>2],a[m>>2]=a[X+4>>2]),255==(P|0)&&(X=a[h>>2]|0,a[h>>2]=X+1,t[X>>0]=0,X=(a[m>>2]|0)+-1|0,a[m>>2]=X,X||(X=a[D>>2]|0,O=a[X+24>>2]|0,da[a[O+12>>2]&63](X)|0||(X=a[D>>2]|0,ba=a[X>>2]|0,a[ba+20>>2]=25,R[a[ba>>2]&127](X)),a[h>>2]=a[O>>2],a[m>>2]=a[O+4>>2])),P=G<<8,M=M+-8|0,7>=
-(M|0)){O=P;break}else G=P;M=Z&7}else M=Z,O=aa;a[E>>2]=O;a[v>>2]=M}while(0);if(0!=(W|0)&&0==(a[A>>2]|0)){I=(a[v>>2]|0)+W|0;J=(a[b>>2]&(1<<W)+-1)<<24-I|a[E>>2];if(7<(I|0)){G=I;for(M=J;;)if(P=M>>>16,W=P&255,O=a[h>>2]|0,a[h>>2]=O+1,t[O>>0]=P,P=(a[m>>2]|0)+-1|0,a[m>>2]=P,P||(P=a[D>>2]|0,O=a[P+24>>2]|0,da[a[O+12>>2]&63](P)|0||(P=a[D>>2]|0,X=a[P>>2]|0,a[X+20>>2]=25,R[a[X>>2]&127](P)),a[h>>2]=a[O>>2],a[m>>2]=a[O+4>>2]),255==(W|0)&&(O=a[h>>2]|0,a[h>>2]=O+1,t[O>>0]=0,O=(a[m>>2]|0)+-1|0,a[m>>2]=O,O||(O=a[D>>
-2]|0,P=a[O+24>>2]|0,da[a[P+12>>2]&63](O)|0||(O=a[D>>2]|0,X=a[O>>2]|0,a[X+20>>2]=25,R[a[X>>2]&127](O)),a[h>>2]=a[P>>2],a[m>>2]=a[P+4>>2])),W=M<<8,G=G+-8|0,7>=(G|0)){J=W;break}else M=W;I&=7}a[E>>2]=J;a[v>>2]=I}a[b>>2]=0;M=a[q>>2]|0;a:do if(0!=(M|0)&0==(a[A>>2]|0))for(G=M,W=a[r>>2]|0,aa=0;;){if(!aa){Z=a[v>>2]|0;P=Z+1|0;O=((x[W>>0]|0)&1)<<23-Z|a[E>>2];if(7<(P|0)){Z=P;for(X=O;;)if(ba=X>>>16,Y=ba&255,ca=a[h>>2]|0,a[h>>2]=ca+1,t[ca>>0]=ba,ba=(a[m>>2]|0)+-1|0,a[m>>2]=ba,ba||(ba=a[D>>2]|0,ca=a[ba+24>>2]|0,
-da[a[ca+12>>2]&63](ba)|0||(ba=a[D>>2]|0,M=a[ba>>2]|0,a[M+20>>2]=25,R[a[M>>2]&127](ba)),a[h>>2]=a[ca>>2],a[m>>2]=a[ca+4>>2]),255==(Y|0)&&(ca=a[h>>2]|0,a[h>>2]=ca+1,t[ca>>0]=0,ca=(a[m>>2]|0)+-1|0,a[m>>2]=ca,ca||(ca=a[D>>2]|0,ba=a[ca+24>>2]|0,da[a[ba+12>>2]&63](ca)|0||(ca=a[D>>2]|0,M=a[ca>>2]|0,a[M+20>>2]=25,R[a[M>>2]&127](ca)),a[h>>2]=a[ba>>2],a[m>>2]=a[ba+4>>2])),Y=X<<8,Z=Z+-8|0,7>=(Z|0)){J=Y;break}else X=Y;X=P&7}else X=P,J=O;a[E>>2]=J;a[v>>2]=X}X=G+-1|0;if(!X)break a;G=X;W=W+1|0;aa=a[A>>2]|0}while(0);
-a[q>>2]=0}M=a[l>>2]|0;J=U<<4|1;a:do if(a[A>>2]|0)W=(a[e+92+(M<<2)>>2]|0)+(J<<2)|0,a[W>>2]=(a[W>>2]|0)+1;else if(I=a[e+60+(M<<2)>>2]|0,aa=a[I+(J<<2)>>2]|0,W=t[I+1024+J>>0]|0,I=W<<24>>24,0!=W<<24>>24||(W=a[D>>2]|0,G=a[W>>2]|0,a[G+20>>2]=41,R[a[G>>2]&127](W),0==(a[A>>2]|0))){W=(a[v>>2]|0)+I|0;G=((1<<I)+-1&aa)<<24-W|a[E>>2];if(7<(W|0)){aa=W;for(I=G;;)if(X=I>>>16,Z=X&255,Y=a[h>>2]|0,a[h>>2]=Y+1,t[Y>>0]=X,X=(a[m>>2]|0)+-1|0,a[m>>2]=X,X||(X=a[D>>2]|0,Y=a[X+24>>2]|0,da[a[Y+12>>2]&63](X)|0||(X=a[D>>2]|0,T=
-a[X>>2]|0,a[T+20>>2]=25,R[a[T>>2]&127](X)),a[h>>2]=a[Y>>2],a[m>>2]=a[Y+4>>2]),255==(Z|0)&&(Z=a[h>>2]|0,a[h>>2]=Z+1,t[Z>>0]=0,Z=(a[m>>2]|0)+-1|0,a[m>>2]=Z,0==(Z|0))&&(Z=a[D>>2]|0,Y=a[Z+24>>2]|0,da[a[Y+12>>2]&63](Z)|0||(Z=a[D>>2]|0,X=a[Z>>2]|0,a[X+20>>2]=25,R[a[X>>2]&127](Z)),a[h>>2]=a[Y>>2],a[m>>2]=a[Y+4>>2]),Y=I<<8,aa=aa+-8|0,7>=(aa|0)){O=Y;break}else I=Y;I=a[A>>2]|0;a[E>>2]=O;a[v>>2]=W&7;if(I)break}else a[E>>2]=G,a[v>>2]=W;I=a[v>>2]|0;aa=I+1|0;Y=((N[p+(a[n+(V<<2)>>2]<<1)>>1]|0)>>>15&65535^1)<<23-
-I|a[E>>2];if(7<(aa|0)){I=aa;for(Z=Y;;)if(X=Z>>>16,T=X&255,U=a[h>>2]|0,a[h>>2]=U+1,t[U>>0]=X,X=(a[m>>2]|0)+-1|0,a[m>>2]=X,X||(X=a[D>>2]|0,U=a[X+24>>2]|0,da[a[U+12>>2]&63](X)|0||(X=a[D>>2]|0,ba=a[X>>2]|0,a[ba+20>>2]=25,R[a[ba>>2]&127](X)),a[h>>2]=a[U>>2],a[m>>2]=a[U+4>>2]),255==(T|0)&&(U=a[h>>2]|0,a[h>>2]=U+1,t[U>>0]=0,U=(a[m>>2]|0)+-1|0,a[m>>2]=U,U||(U=a[D>>2]|0,X=a[U+24>>2]|0,da[a[X+12>>2]&63](U)|0||(U=a[D>>2]|0,ba=a[U>>2]|0,a[ba+20>>2]=25,R[a[ba>>2]&127](U)),a[h>>2]=a[X>>2],a[m>>2]=a[X+4>>2])),T=
-Z<<8,I=I+-8|0,7>=(I|0)){O=T;break}else Z=T;I=a[A>>2]|0;W=aa&7}else I=0,W=aa,O=Y;a[E>>2]=O;a[v>>2]=W;if(0!=(L|0)&0==(I|0))for(Z=L,I=K,W=0;;){if(!W){G=a[v>>2]|0;T=G+1|0;O=((x[I>>0]|0)&1)<<23-G|a[E>>2];if(7<(T|0)){G=T;for(P=O;;)if(X=P>>>16,U=X&255,ba=a[h>>2]|0,a[h>>2]=ba+1,t[ba>>0]=X,X=(a[m>>2]|0)+-1|0,a[m>>2]=X,X||(X=a[D>>2]|0,ba=a[X+24>>2]|0,da[a[ba+12>>2]&63](X)|0||(X=a[D>>2]|0,ca=a[X>>2]|0,a[ca+20>>2]=25,R[a[ca>>2]&127](X)),a[h>>2]=a[ba>>2],a[m>>2]=a[ba+4>>2]),255==(U|0)&&(ba=a[h>>2]|0,a[h>>2]=ba+
-1,t[ba>>0]=0,ba=(a[m>>2]|0)+-1|0,a[m>>2]=ba,ba||(ba=a[D>>2]|0,X=a[ba+24>>2]|0,da[a[X+12>>2]&63](ba)|0||(ba=a[D>>2]|0,ca=a[ba>>2]|0,a[ca+20>>2]=25,R[a[ca>>2]&127](ba)),a[h>>2]=a[X>>2],a[m>>2]=a[X+4>>2])),U=P<<8,G=G+-8|0,7>=(G|0)){G=U;break}else P=U;P=T&7}else P=T,G=O;a[E>>2]=G;a[v>>2]=P}P=Z+-1|0;if(!P)break a;Z=P;I=I+1|0;W=a[A>>2]|0}}while(0);J=0;I=a[r>>2]|0;G=0}}else J=C,I=F,G=d+1|0;while(0);if((V|0)<(k|0))C=J,F=I,V=V+1|0,d=G;else{D=r;l=q;n=J;z=G;break}}}if(0<(z|0)|0!=(n|0)&&(z=e+128|0,G=(a[z>>2]|
-0)+1|0,a[z>>2]=G,J=(a[l>>2]|0)+n|0,a[l>>2]=J,!(0==(G|0)|938>J>>>0&32767!=(G|0)))){J=0;for(n=G;;)if(n>>=1)J=J+1|0;else{p=J;break}14<(p|0)&&(J=a[e+120>>2]|0,n=a[J>>2]|0,a[n+20>>2]=41,R[a[n>>2]&127](J));J=a[e+124>>2]|0;n=p<<4;G=e+108|0;do if(a[G>>2]|0)C=(a[e+92+(J<<2)>>2]|0)+(n<<2)|0,a[C>>2]=(a[C>>2]|0)+1;else if(q=a[e+60+(J<<2)>>2]|0,r=a[q+(n<<2)>>2]|0,d=t[q+1024+n>>0]|0,q=d<<24>>24,0!=d<<24>>24||(d=a[e+120>>2]|0,V=a[d>>2]|0,a[V+20>>2]=41,R[a[V>>2]&127](d),0==(a[G>>2]|0))){d=e+16|0;V=(a[d>>2]|0)+q|
-0;I=e+12|0;F=((1<<q)+-1&r)<<24-V|a[I>>2];if(7<(V|0)){r=e+120|0;q=V;for(C=F;;)if(k=C>>>16,A=k&255,P=a[h>>2]|0,a[h>>2]=P+1,t[P>>0]=k,k=(a[m>>2]|0)+-1|0,a[m>>2]=k,k||(k=a[r>>2]|0,P=a[k+24>>2]|0,da[a[P+12>>2]&63](k)|0||(k=a[r>>2]|0,v=a[k>>2]|0,a[v+20>>2]=25,R[a[v>>2]&127](k)),a[h>>2]=a[P>>2],a[m>>2]=a[P+4>>2]),255==(A|0)&&(A=a[h>>2]|0,a[h>>2]=A+1,t[A>>0]=0,A=(a[m>>2]|0)+-1|0,a[m>>2]=A,0==(A|0))&&(A=a[r>>2]|0,P=a[A+24>>2]|0,da[a[P+12>>2]&63](A)|0||(A=a[r>>2]|0,k=a[A>>2]|0,a[k+20>>2]=25,R[a[k>>2]&127](A)),
-a[h>>2]=a[P>>2],a[m>>2]=a[P+4>>2]),P=C<<8,q=q+-8|0,7>=(q|0)){v=P;break}else C=P;k=V&7;F=v}else k=V;a[I>>2]=F;a[d>>2]=k}while(0);if(0!=(p|0)&&0==(a[G>>2]|0)){n=e+16|0;J=(a[n>>2]|0)+p|0;k=e+12|0;F=(a[z>>2]&(1<<p)+-1)<<24-J|a[k>>2];if(7<(J|0)){p=e+120|0;v=J;for(C=F;!(q=C>>>16,r=q&255,P=a[h>>2]|0,a[h>>2]=P+1,t[P>>0]=q,q=(a[m>>2]|0)+-1|0,a[m>>2]=q,q||(q=a[p>>2]|0,P=a[q+24>>2]|0,da[a[P+12>>2]&63](q)|0||(q=a[p>>2]|0,A=a[q>>2]|0,a[A+20>>2]=25,R[a[A>>2]&127](q)),a[h>>2]=a[P>>2],a[m>>2]=a[P+4>>2]),255==(r|
-0)&&(r=a[h>>2]|0,a[h>>2]=r+1,t[r>>0]=0,r=(a[m>>2]|0)+-1|0,a[m>>2]=r,0==(r|0))&&(r=a[p>>2]|0,P=a[r+24>>2]|0,da[a[P+12>>2]&63](r)|0||(r=a[p>>2]|0,q=a[r>>2]|0,a[q+20>>2]=25,R[a[q>>2]&127](r)),a[h>>2]=a[P>>2],a[m>>2]=a[P+4>>2]),P=C<<8,v=v+-8|0,7>=(v|0));)C=P;V=J&7;E=P}else V=J,E=F;a[k>>2]=E;a[n>>2]=V}a[z>>2]=0;z=a[l>>2]|0;a:do if(0!=(z|0)&0==(a[G>>2]|0))for(V=e+16|0,n=e+12|0,E=e+120|0,k=z,F=a[D>>2]|0,J=0;;){if(!J){D=a[V>>2]|0;C=D+1|0;v=((x[F>>0]|0)&1)<<23-D|a[n>>2];if(7<(C|0)){D=C;for(p=v;!(P=p>>>16,
-r=P&255,q=a[h>>2]|0,a[h>>2]=q+1,t[q>>0]=P,P=(a[m>>2]|0)+-1|0,a[m>>2]=P,P||(P=a[E>>2]|0,q=a[P+24>>2]|0,da[a[q+12>>2]&63](P)|0||(P=a[E>>2]|0,A=a[P>>2]|0,a[A+20>>2]=25,R[a[A>>2]&127](P)),a[h>>2]=a[q>>2],a[m>>2]=a[q+4>>2]),255==(r|0)&&(r=a[h>>2]|0,a[h>>2]=r+1,t[r>>0]=0,r=(a[m>>2]|0)+-1|0,a[m>>2]=r,0==(r|0))&&(r=a[E>>2]|0,q=a[r+24>>2]|0,da[a[q+12>>2]&63](r)|0||(r=a[E>>2]|0,P=a[r>>2]|0,a[P+20>>2]=25,R[a[P>>2]&127](r)),a[h>>2]=a[q>>2],a[m>>2]=a[q+4>>2]),q=p<<8,D=D+-8|0,7>=(D|0));)p=q;C&=7}else q=v;a[n>>
-2]=q;a[V>>2]=C}p=k+-1|0;if(!p)break a;k=p;F=F+1|0;J=a[G>>2]|0}while(0);a[l>>2]=0}l=a[f>>2]|0;a[l>>2]=a[h>>2];a[l+4>>2]=a[m>>2];m=a[g>>2]|0;if(!m)return u=c,1;g=e+36|0;(l=a[g>>2]|0)?e=l:(a[g>>2]=m,h=e+40|0,a[h>>2]=(a[h>>2]|0)+1&7,e=m);a[g>>2]=e+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,u,v,z,x,A;c=a[b+424>>2]|0;e=b+236|0;if(f=a[e>>2]|0){g=c+36|0;if(h=a[g>>2]|0)n=h;else{m=b+292|0;if(0<(a[m>>2]|0)){k=0;do a[c+20+(k<<2)>>2]=0,k=k+1|0;while((k|0)<(a[m>>2]|0));l=a[e>>2]|0}else l=
-f;n=a[g>>2]=l}a[g>>2]=n+-1}n=b+320|0;if(0>=(a[n>>2]|0))return 1;g=b+388|0;h=b+384|0;l=0;do{f=a[b+324+(l<<2)>>2]|0;e=a[b+296+(f<<2)>>2]|0;m=d+(l<<2)|0;k=a[m>>2]|0;p=c+20+(f<<2)|0;f=a[c+76+(a[e+20>>2]<<2)>>2]|0;q=a[c+92+(a[e+24>>2]<<2)>>2]|0;e=a[g>>2]|0;r=a[h>>2]|0;t=(w[k>>1]|0)-(a[p>>2]|0)|0;if(u=0>(t|0)?0-t|0:t){t=0;for(v=u;;)if(u=t+1|0,v>>=1)t=u;else{v=u;break}10<(t|0)&&(t=a[b>>2]|0,a[t+20>>2]=6,R[a[t>>2]&127](b));t=v}else t=0;t=f+(t<<2)|0;a[t>>2]=(a[t>>2]|0)+1;if(1<=(e|0)){t=q+960|0;v=1;for(u=0;;){f=
-w[k+(a[r+(v<<2)>>2]<<1)>>1]|0;z=f<<16>>16;if(f<<16>>16){15<(u|0)?(x=u+-16|0,u=x>>>4,a[t>>2]=u+1+(a[t>>2]|0),A=x-(u<<4)|0):A=u;u=1;for(x=0>f<<16>>16?0-z|0:z;;)if(x>>=1)u=u+1|0;else{f=u;break}10<(f|0)&&(u=a[b>>2]|0,a[u+20>>2]=6,R[a[u>>2]&127](b));u=q+(f+(A<<4)<<2)|0;a[u>>2]=(a[u>>2]|0)+1;f=0}else f=u+1|0;if((v|0)==(e|0)){e=f;break}else v=v+1|0,u=f}0<(e|0)&&(a[q>>2]=(a[q>>2]|0)+1)}a[p>>2]=w[a[m>>2]>>1];l=l+1|0}while((l|0)<(a[n>>2]|0));return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,v,x,
-A,z,D,C,E,F=0,N=0,J,I,G,L,K,S,U,O,M,T,X,P;c=u;u=u+48|0;e=a[b+424>>2]|0;f=b+24|0;g=a[f>>2]|0;h=a[g>>2]|0;a[c>>2]=h;m=c+4|0;a[m>>2]=a[g+4>>2];g=c+8|0;k=e+12|0;a[g>>2]=a[k>>2];a[g+4>>2]=a[k+4>>2];a[g+8>>2]=a[k+8>>2];a[g+12>>2]=a[k+12>>2];a[g+16>>2]=a[k+16>>2];a[g+20>>2]=a[k+20>>2];l=c+32|0;a[l>>2]=b;n=b+236|0;p=h;if(0!=(a[n>>2]|0)&&0==(a[e+36>>2]|0)){h=a[e+40>>2]|0;q=c+12|0;r=a[q>>2]|0;v=c+8|0;do if(0<(r|0)){x=p;A=r+7|0;for(z=a[v>>2]|127<<17-r;;){D=z>>>16;C=D&255;a[c>>2]=x+1;t[x>>0]=D;D=(a[m>>2]|0)+
--1|0;a[m>>2]=D;if(!D){D=a[l>>2]|0;E=a[D+24>>2]|0;if(!(da[a[E+12>>2]&63](D)|0)){F=0;x=116;break}a[c>>2]=a[E>>2];a[m>>2]=a[E+4>>2]}if(255==(C|0)&&(C=a[c>>2]|0,a[c>>2]=C+1,t[C>>0]=0,C=(a[m>>2]|0)+-1|0,a[m>>2]=C,0==(C|0))){C=a[l>>2]|0;E=a[C+24>>2]|0;if(!(da[a[E+12>>2]&63](C)|0)){F=0;x=116;break}a[c>>2]=a[E>>2];a[m>>2]=a[E+4>>2]}E=A+-8|0;if(7>=(E|0)){x=14;break}x=a[c>>2]|0;A=E;z<<=8}if(14==(x|0))N=a[c>>2]|0;else if(116==(x|0))return u=c,F|0}else N=p;while(0);a[v>>2]=0;a[q>>2]=0;a[c>>2]=N+1;t[N>>0]=-1;
-N=(a[m>>2]|0)+-1|0;if(a[m>>2]=N)J=a[c>>2]|0;else if(q=a[l>>2]|0,v=a[q+24>>2]|0,da[a[v+12>>2]&63](q)|0)q=a[v>>2]|0,a[c>>2]=q,a[m>>2]=a[v+4>>2],J=q;else return u=c,0;a[c>>2]=J+1;t[J>>0]=h+208;h=(a[m>>2]|0)+-1|0;a[m>>2]=h;J=a[l>>2]|0;if(!h)if(N=a[J+24>>2]|0,da[a[N+12>>2]&63](J)|0)a[c>>2]=a[N>>2],a[m>>2]=a[N+4>>2];else return u=c,0;if(0<(a[J+292>>2]|0)){h=0;do a[c+16+(h<<2)>>2]=0,h=h+1|0,N=a[l>>2]|0;while((h|0)<(a[N+292>>2]|0));I=N}else I=J}else I=b;J=b+320|0;a:do if(0<(a[J>>2]|0)){h=c+12|0;N=c+8|0;q=
-I;v=0;b:for(;;){p=a[b+324+(v<<2)>>2]|0;r=a[b+296+(p<<2)>>2]|0;z=d+(v<<2)|0;A=a[z>>2]|0;x=c+16+(p<<2)|0;p=a[e+44+(a[r+20>>2]<<2)>>2]|0;E=a[e+60+(a[r+24>>2]<<2)>>2]|0;r=a[q+388>>2]|0;C=a[q+384>>2]|0;D=(w[A>>1]|0)-(a[x>>2]|0)|0;G=(D>>31)+D|0;if(F=0>(D|0)?0-D|0:D){D=0;for(L=F;;)if(F=D+1|0,L>>=1)D=F;else{K=D;break}10<(K|0)&&(D=a[q>>2]|0,a[D+20>>2]=6,R[a[D>>2]&127](q));S=F}else S=0;D=a[p+(S<<2)>>2]|0;L=t[p+1024+S>>0]|0;F=L<<24>>24;L<<24>>24||(L=a[q>>2]|0,a[L+20>>2]=41,R[a[L>>2]&127](q));L=(a[h>>2]|0)+F|
-0;F=((1<<F)+-1&D)<<24-L|a[N>>2];if(7<(L|0))for(D=L;;){K=F>>>16;q=K&255;U=a[c>>2]|0;a[c>>2]=U+1;t[U>>0]=K;K=(a[m>>2]|0)+-1|0;a[m>>2]=K;if(!K){K=a[l>>2]|0;U=a[K+24>>2]|0;if(!(da[a[U+12>>2]&63](K)|0)){F=0;x=116;break b}a[c>>2]=a[U>>2];a[m>>2]=a[U+4>>2]}if(255==(q|0)&&(q=a[c>>2]|0,a[c>>2]=q+1,t[q>>0]=0,q=(a[m>>2]|0)+-1|0,a[m>>2]=q,0==(q|0))){q=a[l>>2]|0;U=a[q+24>>2]|0;if(!(da[a[U+12>>2]&63](q)|0)){F=0;x=116;break b}a[c>>2]=a[U>>2];a[m>>2]=a[U+4>>2]}U=F<<8;q=D+-8|0;if(7<(q|0))D=q,F=U;else{p=U;break}}else p=
-F,q=L;a[N>>2]=p;a[h>>2]=q;if(S){F=q+S|0;D=((1<<S)+-1&G)<<24-F|p;if(7<(F|0))for(p=F,q=D;;){U=q>>>16;K=U&255;D=a[c>>2]|0;a[c>>2]=D+1;t[D>>0]=U;U=(a[m>>2]|0)+-1|0;a[m>>2]=U;if(!U){U=a[l>>2]|0;D=a[U+24>>2]|0;if(!(da[a[D+12>>2]&63](U)|0)){F=0;x=116;break b}a[c>>2]=a[D>>2];a[m>>2]=a[D+4>>2]}if(255==(K|0)&&(K=a[c>>2]|0,a[c>>2]=K+1,t[K>>0]=0,K=(a[m>>2]|0)+-1|0,a[m>>2]=K,0==(K|0))){K=a[l>>2]|0;D=a[K+24>>2]|0;if(!(da[a[D+12>>2]&63](K)|0)){F=0;x=116;break b}a[c>>2]=a[D>>2];a[m>>2]=a[D+4>>2]}D=q<<8;K=p+-8|0;
-if(7<(K|0))p=K,q=D;else{p=K;q=D;break}}else p=F,q=D;a[N>>2]=q;a[h>>2]=p;F=q;K=p}else F=p,K=q;if(1<=(r|0)){q=E+960|0;p=E+1264|0;G=F;L=K;F=1;for(D=0;;){K=w[A+(a[C+(F<<2)>>2]<<1)>>1]|0;U=K<<16>>16;if(K<<16>>16){if(15<(D|0))for(;;){O=a[q>>2]|0;M=t[p>>0]|0;S=M<<24>>24;M<<24>>24||(M=a[l>>2]|0,T=a[M>>2]|0,a[T+20>>2]=41,R[a[T>>2]&127](M));M=L+S|0;T=((1<<S)+-1&O)<<24-M|G;if(7<(M|0))for(O=M,S=T;;){X=S>>>16;T=X&255;P=a[c>>2]|0;a[c>>2]=P+1;t[P>>0]=X;X=(a[m>>2]|0)+-1|0;a[m>>2]=X;if(!X){X=a[l>>2]|0;P=a[X+24>>2]|
-0;if(!(da[a[P+12>>2]&63](X)|0)){F=0;x=116;break b}a[c>>2]=a[P>>2];a[m>>2]=a[P+4>>2]}do if(255==(T|0)&&(P=a[c>>2]|0,a[c>>2]=P+1,t[P>>0]=0,P=(a[m>>2]|0)+-1|0,a[m>>2]=P,!P)){P=a[l>>2]|0;X=a[P+24>>2]|0;if(!(da[a[X+12>>2]&63](P)|0)){F=0;x=116;break b}a[c>>2]=a[X>>2];a[m>>2]=a[X+4>>2]}while(0);T=S<<8;X=O+-8|0;if(7<(X|0))O=X,S=T;else{G=X;M=T;break}}else G=M,M=T;a[N>>2]=M;a[h>>2]=G;S=D+-16|0;if(15<(S|0))L=G,G=M,D=S;else{X=G;T=M;break}}else X=L,T=G,S=D;D=K<<16>>16>>15;G=1;for(L=0>K<<16>>16?0-U|0:U;;)if(L>>=
-1)G=G+1|0;else{M=G;break}G=(D<<16>>16)+U|0;10<(M|0)&&(L=a[l>>2]|0,K=a[L>>2]|0,a[K+20>>2]=6,R[a[K>>2]&127](L));L=M+(S<<4)|0;K=a[E+(L<<2)>>2]|0;S=t[E+1024+L>>0]|0;L=S<<24>>24;S<<24>>24||(S=a[l>>2]|0,O=a[S>>2]|0,a[O+20>>2]=41,R[a[O>>2]&127](S));S=X+L|0;O=((1<<L)+-1&K)<<24-S|T;if(7<(S|0))for(K=S,L=O;;){T=L>>>16;X=T&255;P=a[c>>2]|0;a[c>>2]=P+1;t[P>>0]=T;T=(a[m>>2]|0)+-1|0;a[m>>2]=T;if(!T){T=a[l>>2]|0;P=a[T+24>>2]|0;if(!(da[a[P+12>>2]&63](T)|0)){F=0;x=116;break b}a[c>>2]=a[P>>2];a[m>>2]=a[P+4>>2]}do if(255==
-(X|0)&&(P=a[c>>2]|0,a[c>>2]=P+1,t[P>>0]=0,P=(a[m>>2]|0)+-1|0,a[m>>2]=P,!P)){P=a[l>>2]|0;T=a[P+24>>2]|0;if(!(da[a[T+12>>2]&63](P)|0)){F=0;x=116;break b}a[c>>2]=a[T>>2];a[m>>2]=a[T+4>>2]}while(0);X=L<<8;T=K+-8|0;if(7<(T|0))K=T,L=X;else{U=T;D=X;break}}else U=S,D=O;a[N>>2]=D;a[h>>2]=U;M||(L=a[l>>2]|0,K=a[L>>2]|0,a[K+20>>2]=41,R[a[K>>2]&127](L));L=U+M|0;K=((1<<M)+-1&G)<<24-L|D;if(7<(L|0))for(U=L,D=K;;){X=D>>>16;T=X&255;M=a[c>>2]|0;a[c>>2]=M+1;t[M>>0]=X;X=(a[m>>2]|0)+-1|0;a[m>>2]=X;if(!X){X=a[l>>2]|0;M=
-a[X+24>>2]|0;if(!(da[a[M+12>>2]&63](X)|0)){F=0;x=116;break b}a[c>>2]=a[M>>2];a[m>>2]=a[M+4>>2]}do if(255==(T|0)&&(M=a[c>>2]|0,a[c>>2]=M+1,t[M>>0]=0,M=(a[m>>2]|0)+-1|0,a[m>>2]=M,!M)){M=a[l>>2]|0;X=a[M+24>>2]|0;if(!(da[a[X+12>>2]&63](M)|0)){F=0;x=116;break b}a[c>>2]=a[X>>2];a[m>>2]=a[X+4>>2]}while(0);T=D<<8;X=U+-8|0;if(7<(X|0))U=X,D=T;else{U=X;K=T;break}}else U=L;a[N>>2]=K;a[h>>2]=U;G=K;K=0}else U=L,K=D+1|0;if((F|0)<(r|0))L=U,F=F+1|0,D=K;else{r=U;A=G;C=K;break}}if(0<(C|0)){D=a[E>>2]|0;F=t[E+1024>>0]|
-0;L=F<<24>>24;F<<24>>24||(F=a[l>>2]|0,G=a[F>>2]|0,a[G+20>>2]=41,R[a[G>>2]&127](F));F=r+L|0;G=((1<<L)+-1&D)<<24-F|A;if(7<(F|0))for(D=F,L=G;;){r=L>>>16;p=r&255;q=a[c>>2]|0;a[c>>2]=q+1;t[q>>0]=r;r=(a[m>>2]|0)+-1|0;a[m>>2]=r;if(!r){r=a[l>>2]|0;q=a[r+24>>2]|0;if(!(da[a[q+12>>2]&63](r)|0)){F=0;x=116;break b}a[c>>2]=a[q>>2];a[m>>2]=a[q+4>>2]}if(255==(p|0)&&(p=a[c>>2]|0,a[c>>2]=p+1,t[p>>0]=0,p=(a[m>>2]|0)+-1|0,a[m>>2]=p,0==(p|0))){p=a[l>>2]|0;q=a[p+24>>2]|0;if(!(da[a[q+12>>2]&63](p)|0)){F=0;x=116;break b}a[c>>
-2]=a[q>>2];a[m>>2]=a[q+4>>2]}q=L<<8;p=D+-8|0;if(7<(p|0))D=p,L=q;else{E=p;r=q;break}}else E=F,r=G;a[N>>2]=r;a[h>>2]=E}}a[x>>2]=w[a[z>>2]>>1];L=v+1|0;if((L|0)>=(a[J>>2]|0))break a;q=a[l>>2]|0;v=L}if(116==(x|0))return u=c,F|0}while(0);x=a[f>>2]|0;a[x>>2]=a[c>>2];a[x+4>>2]=a[m>>2];a[k>>2]=a[g>>2];a[k+4>>2]=a[g+4>>2];a[k+8>>2]=a[g+8>>2];a[k+12>>2]=a[g+12>>2];a[k+16>>2]=a[g+16>>2];a[k+20>>2]=a[g+20>>2];g=a[n>>2]|0;if(!g)return u=c,1;n=e+36|0;(k=a[n>>2]|0)?e=k:(a[n>>2]=g,m=e+40|0,a[m>>2]=(a[m>>2]|0)+1&7,
-e=g);a[n>>2]=e+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,u=0;c=a[b+468>>2]|0;a[b+280>>2]|0&&(e=c+56|0,(f=a[e>>2]|0)?g=f:(hi(b),g=a[e>>2]|0),a[e>>2]=g+-1);g=c+20|0;if(-1==(a[g>>2]|0))return 1;e=b+368|0;if(0>=(a[e>>2]|0))return 1;f=b+424|0;h=0;a:for(;;){m=a[d+(h<<2)>>2]|0;k=a[b+372+(h<<2)>>2]|0;l=a[(a[b+344+(k<<2)>>2]|0)+20>>2]|0;n=c+60+(l<<2)|0;p=a[n>>2]|0;q=c+40+(k<<2)|0;r=a[q>>2]|0;if(Cc(b,p+r|0)|0){t=Cc(b,p+(r+1)|0)|0;p=p+(r+2+t)|0;if(r=Cc(b,p)|0)if(p=(a[n>>2]|0)+20|
-0,Cc(b,p)|0)for(n=r,r=p;;){p=n<<1;if(32768==(p|0))break a;r=r+1|0;if(Cc(b,r)|0)n=p;else{n=p;p=r;break}}else n=r;else n=0;(n|0)>=(1<<(x[b+232+l>>0]|0)>>1|0)?(r=t<<2,a[q>>2]=(n|0)>(1<<(x[b+248+l>>0]|0)>>1|0)?r+12:r+4):a[q>>2]=0;q=p+14|0;if(l=n>>1)for(p=l,l=n;;)if(r=0==(Cc(b,q)|0),n=(r?0:p)|l,p>>=1)l=n;else{q=n;break}else q=n;l=c+24+(k<<2)|0;p=(a[l>>2]|0)+(0==(t|0)?q+1|0:~q)|0;k=a[l>>2]=p}else a[q>>2]=0,k=a[c+24+(k<<2)>>2]|0;w[m>>1]=k<<a[f>>2];h=h+1|0;if((h|0)>=(a[e>>2]|0)){u=24;break}}if(24==(u|0))return 1;
-u=a[b>>2]|0;a[u+20>>2]=117;ub[a[u+4>>2]&31](b,-1);a[g>>2]=-1;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,u,v;c=a[b+468>>2]|0;a[b+280>>2]|0&&(e=c+56|0,(f=a[e>>2]|0)?g=f:(hi(b),g=a[e>>2]|0),a[e>>2]=g+-1);g=c+20|0;if(-1==(a[g>>2]|0))return 1;e=a[b+432>>2]|0;f=a[d>>2]|0;d=a[(a[b+344>>2]|0)+24>>2]|0;h=c+124+(d<<2)|0;m=b+416|0;k=c+188|0;c=b+424|0;l=b+264+d|0;d=(a[b+412>>2]|0)+-1|0;a:for(;;){n=(a[h>>2]|0)+(3*d|0)|0;if(Cc(b,n)|0){c=20;break}else p=d,q=n;for(;;){n=p;p=p+1|0;if(Cc(b,q+1|
-0)|0){r=n;break}if((p|0)>=(a[m>>2]|0)){c=10;break a}else q=q+3|0}n=Cc(b,k)|0;q=q+2|0;if(t=Cc(b,q)|0){if(Cc(b,q)|0)if(q=t<<1,u=(a[h>>2]|0)+((r|0)<(x[l>>0]|0)?189:217)|0,Cc(b,u)|0)for(v=q,q=u;;){u=v<<1;if(32768==(u|0)){c=15;break a}t=q+1|0;if(Cc(b,t)|0)v=u,q=t;else{r=u;q=t;break}}else r=q,q=u;else r=t;q=q+14|0;if(v=r>>1)for(t=v,v=r;;)if(u=0==(Cc(b,q)|0),r=(u?0:t)|v,t>>=1)v=r;else{q=r;break}else q=r}else q=0;w[f+(a[e+(p<<2)>>2]<<1)>>1]=(0==(n|0)?q+1|0:~q)<<a[c>>2];if((p|0)<(a[m>>2]|0))d=p;else{c=20;
-break}}return 10==(c|0)||15==(c|0)?(p=a[b>>2]|0,a[p+20>>2]=117,ub[a[p+4>>2]&31](b,-1),a[g>>2]=-1,1):20==(c|0)?1:0},function(b,d){b|=0;d|=0;var c,e,f,g,h;c=a[b+468>>2]|0;a[b+280>>2]|0&&(e=c+56|0,(f=a[e>>2]|0)?g=f:(hi(b),g=a[e>>2]|0),a[e>>2]=g+-1);g=c+188|0;c=1<<a[b+424>>2];e=b+368|0;if(0<(a[e>>2]|0))h=0;else return 1;do Cc(b,g)|0&&(f=a[d+(h<<2)>>2]|0,w[f>>1]=N[f>>1]|0|c),h=h+1|0;while((h|0)<(a[e>>2]|0));return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,u=0,v=0,z=0,x=0,A=0,D;D=0;c=a[b+
-468>>2]|0;a[b+280>>2]|0&&(e=c+56|0,(f=a[e>>2]|0)?g=f:(hi(b),g=a[e>>2]|0),a[e>>2]=g+-1);g=c+20|0;if(-1==(a[g>>2]|0))return 1;e=a[b+432>>2]|0;f=a[d>>2]|0;d=a[(a[b+344>>2]|0)+24>>2]|0;h=a[b+424>>2]|0;m=1<<h;k=-1<<h;h=b+416|0;for(l=a[h>>2]|0;;){if(w[f+(a[e+(l<<2)>>2]<<1)>>1]|0){n=l;break}l=l+-1|0;if(!l){n=0;break}}l=c+124+(d<<2)|0;d=c+188|0;c=m&65535;p=k&65535;q=(a[b+412>>2]|0)+-1|0;a:for(;;){r=(a[l>>2]|0)+(3*q|0)|0;if((q|0)>=(n|0)&&0!=(Cc(b,r)|0)){r=24;break}else t=r;for(;;){q=q+1|0;r=f+(a[e+(q<<2)>>
-2]<<1)|0;if(w[r>>1]|0){u=q;v=r;z=t;r=13;break}if(Cc(b,t+1|0)|0){x=q;A=r;r=18;break}if((q|0)>=(a[h>>2]|0)){r=22;break a}else t=t+3|0}13==(r|0)?(Cc(b,z+2|0)|0&&(r=w[v>>1]|0,D=r<<16>>16,w[v>>1]=0>r<<16>>16?D+k:D+m),D=u):18==(r|0)&&(Cc(b,d)|0?w[A>>1]=p:w[A>>1]=c,D=x);if((D|0)<(a[h>>2]|0))q=D;else{r=24;break}}return 22==(r|0)?(D=a[b>>2]|0,a[D+20>>2]=117,ub[a[D+4>>2]&31](b,-1),a[g>>2]=-1,1):24==(r|0)?1:0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,u,v,z,A,C;c=a[b+468>>2]|0;a[b+280>>2]|0&&(e=
-c+56|0,(f=a[e>>2]|0)?g=f:(hi(b),g=a[e>>2]|0),a[e>>2]=g+-1);g=c+20|0;if(-1==(a[g>>2]|0))return 1;e=a[b+432>>2]|0;f=b+368|0;if(0>=(a[f>>2]|0))return 1;h=b+436|0;m=c+188|0;k=0;a:for(;;){l=a[d+(k<<2)>>2]|0;n=a[b+372+(k<<2)>>2]|0;p=a[b+344+(n<<2)>>2]|0;q=a[p+20>>2]|0;r=c+60+(q<<2)|0;t=a[r>>2]|0;u=c+40+(n<<2)|0;v=a[u>>2]|0;if(Cc(b,t+v|0)|0){z=Cc(b,t+(v+1)|0)|0;t=t+(v+2+z)|0;if(v=Cc(b,t)|0)if(t=(a[r>>2]|0)+20|0,Cc(b,t)|0)for(r=v,v=t;;){t=r<<1;if(32768==(t|0)){c=13;break a}A=v+1|0;if(Cc(b,A)|0)r=t,v=A;else{r=
-t;t=A;break}}else r=v;else r=0;(r|0)>=(1<<(x[b+232+q>>0]|0)>>1|0)?(v=z<<2,a[u>>2]=(r|0)>(1<<(x[b+248+q>>0]|0)>>1|0)?v+12:v+4):a[u>>2]=0;u=t+14|0;if(q=r>>1)for(t=q,q=r;;)if(v=0==(Cc(b,u)|0),r=(v?0:t)|q,t>>=1)q=r;else{u=r;break}else u=r;q=c+24+(n<<2)|0;t=(a[q>>2]|0)+(0==(z|0)?u+1|0:~u)|0;q=a[q>>2]=t}else a[u>>2]=0,q=a[c+24+(n<<2)>>2]|0;w[l>>1]=q;b:do if(a[h>>2]|0)for(t=a[p+24>>2]|0,q=c+124+(t<<2)|0,u=b+264+t|0,t=0;;){r=(a[q>>2]|0)+(3*t|0)|0;if(Cc(b,r)|0)break b;else n=t,t=r;for(;;){r=n;n=n+1|0;if(Cc(b,
-t+1|0)|0){z=r;break}if((n|0)>=(a[h>>2]|0)){c=28;break a}else t=t+3|0}r=Cc(b,m)|0;v=t+2|0;if(A=Cc(b,v)|0){if(Cc(b,v)|0)if(t=A<<1,A=(a[q>>2]|0)+((z|0)<(x[u>>0]|0)?189:217)|0,Cc(b,A)|0)for(C=t,t=A;;){A=C<<1;if(32768==(A|0)){c=33;break a}v=t+1|0;if(Cc(b,v)|0)C=A,t=v;else{z=A;t=v;break}}else z=t,t=A;else z=A,t=v;t=t+14|0;if(C=z>>1)for(v=C,C=z;;)if(A=0==(Cc(b,t)|0),z=(A?0:v)|C,v>>=1)C=z;else{t=z;break}else t=z}else t=0;w[l+(a[e+(n<<2)>>2]<<1)>>1]=0==(r|0)?t+1|0:t^65535;if((n|0)<(a[h>>2]|0))t=n;else break}while(0);
-k=k+1|0;if((k|0)>=(a[f>>2]|0)){c=39;break}}return 13==(c|0)||28==(c|0)||33==(c|0)?(f=a[b>>2]|0,a[f+20>>2]=117,ub[a[f+4>>2]&31](b,-1),a[g>>2]=-1,1):39==(c|0)?1:0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q=0,r=0,t,u,v,w,x,A,D,F,N;c=a[b+452>>2]|0;e=b+332|0;f=(a[e>>2]|0)+-1|0;g=b+144|0;h=b+152|0;m=b+460|0;k=b+148|0;for(l=b+156|0;;){n=a[g>>2]|0;p=a[h>>2]|0;if((n|0)>=(p|0)){if((n|0)!=(p|0))break;if((a[k>>2]|0)>>>0>(a[l>>2]|0)>>>0)break}if(!(da[a[a[m>>2]>>2]&63](b)|0)){q=0;r=21;break}}if(21==(r|
-0))return q|0;r=b+36|0;m=a[r>>2]|0;if(0<(m|0))for(k=b+4|0,h=b+472|0,g=m,m=0,p=a[b+216>>2]|0;;){if(a[p+52>>2]|0){n=p+12|0;g=a[n>>2]|0;q=E(g,a[l>>2]|0)|0;t=jg[a[(a[k>>2]|0)+32>>2]&3](b,a[c+72+(m<<2)>>2]|0,q,g,0)|0;(a[l>>2]|0)>>>0<f>>>0?u=a[n>>2]|0:(g=a[n>>2]|0,n=((a[p+32>>2]|0)>>>0)%(g>>>0)|0,u=0==(n|0)?g:n);n=a[(a[h>>2]|0)+4+(m<<2)>>2]|0;if(0<(u|0))for(g=p+28|0,q=p+40|0,v=p+36|0,w=a[g>>2]|0,x=0,A=a[d+(m<<2)>>2]|0;;){if(w)for(w=0,D=a[t+(x<<2)>>2]|0,F=0;;)if(sf[n&63](b,p,D,A,F),w=w+1|0,N=a[g>>2]|0,w>>>
-0>=N>>>0){w=N;break}else D=D+128|0,F=(a[v>>2]|0)+F|0;else w=0;x=x+1|0;if((x|0)==(u|0))break;else A=A+(a[q>>2]<<2)|0}n=a[r>>2]|0}else n=g;m=m+1|0;if((m|0)>=(n|0))break;else g=n,p=p+88|0}p=(a[l>>2]|0)+1|0;a[l>>2]=p;q=p>>>0<(a[e>>2]|0)>>>0?3:4;return q|0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,u,v,w,x,A,D,F=0,N=0,J,I,G,L,K,S,U,O,M,T,X,P,W,Y,Z,ba,da,aa,ca=0,ga=0,fa=0,ma=0,ja=0;c=b+452|0;e=a[c>>2]|0;f=(a[b+360>>2]|0)+-1|0;g=b+332|0;h=a[g>>2]|0;m=h+-1|0;k=e+24|0;l=a[k>>2]|0;n=e+28|0;do if((l|
-0)<(a[n>>2]|0)){p=e+20|0;q=b+436|0;r=b+468|0;t=e+32|0;u=b+340|0;v=b+472|0;w=b+148|0;x=b+368|0;A=a[p>>2]|0;D=l;a:for(;;){if(A>>>0<=f>>>0){do{a[q>>2]|0&&Va(a[t>>2]|0,0,a[x>>2]<<7|0)|0;if(!(dd[a[(a[r>>2]|0)+4>>2]&127](b,t)|0)){F=A;N=D;break a}if(0<(a[u>>2]|0))for(J=A>>>0<f>>>0,G=I=0;;){L=a[b+344+(G<<2)>>2]|0;b:do if(a[L+52>>2]|0)if(K=a[L+4>>2]|0,S=a[(a[v>>2]|0)+4+(K<<2)>>2]|0,U=L+56|0,O=a[(J?U:L+72|0)>>2]|0,M=L+40|0,T=a[M>>2]|0,X=E(a[L+68>>2]|0,A)|0,P=L+60|0,W=a[P>>2]|0,0<(W|0)){Y=L+76|0;Z=L+36|0;if(0>=
-(O|0))for(ba=a[U>>2]|0,da=I,aa=0;;)if(K=ba+da|0,aa=aa+1|0,(aa|0)>=(W|0)){S=K;break b}else da=K;da=W;aa=T;ba=I;K=(a[d+(K<<2)>>2]|0)+((E(T,D)|0)<<2)|0;for(W=0;;){(a[w>>2]|0)>>>0>=m>>>0&&(W+D|0)>=(a[Y>>2]|0)?(ca=aa,ga=da):(fa=X,ma=0,ja=20);if(20==(ja|0)){for(;ja=0,sf[S&63](b,L,a[e+32+(ma+ba<<2)>>2]|0,K,fa),ma=ma+1|0,(ma|0)!=(O|0);)fa=(a[Z>>2]|0)+fa|0;ca=a[M>>2]|0;ga=a[P>>2]|0}ba=(a[U>>2]|0)+ba|0;W=W+1|0;if((W|0)>=(ga|0)){S=ba;break}else da=ga,aa=ca,K=K+(ca<<2)|0}}else S=I;else S=(a[L+64>>2]|0)+I|0;while(0);
-G=G+1|0;if((G|0)>=(a[u>>2]|0))break;else I=S}A=A+1|0}while(A>>>0<=f>>>0)}a[p>>2]=0;D=D+1|0;if((D|0)>=(a[n>>2]|0)){ja=26;break}else A=0}if(26==(ja|0))p=w,q=a[g>>2]|0;else return a[k>>2]=N,a[p>>2]=F,0}else p=b+148|0,q=h;while(0);h=b+156|0;a[h>>2]=(a[h>>2]|0)+1;h=(a[p>>2]|0)+1|0;a[p>>2]=h;if(h>>>0>=q>>>0)return R[a[(a[b+460>>2]|0)+12>>2]&127](b),4;p=a[c>>2]|0;1>=(a[b+340>>2]|0)?(c=a[b+344>>2]|0,a[p+28>>2]=h>>>0<(q+-1|0)>>>0?a[c+12>>2]:a[c+76>>2]):a[p+28>>2]=1;a[p+20>>2]=0;a[p+24>>2]=0;return 3},function(b,
-d){b|=0;d|=0;var c,e,f,g,h,m,k,l,n,p,q,r,t,v=0,x=0,z,A,C,D,F,R,J,I,G,L,K,S,U,O,M,T,X,P,W,Y,Z,ba,aa,ca,fa,ga,ja,ma,pa,ha,ra,ya,Aa,Ka,Qa,Va,oa,sa,Wa,ua,Ia,Da,na,Na,ab,Ca,Ga,Ea,La;c=u;u=u+128|0;e=a[b+452>>2]|0;f=b+332|0;g=(a[f>>2]|0)+-1|0;h=b+144|0;m=b+152|0;k=b+460|0;l=b+412|0;n=b+148|0;for(p=b+156|0;;){q=a[h>>2]|0;r=a[m>>2]|0;if((q|0)>(r|0))break;t=a[k>>2]|0;if(a[t+20>>2]|0)break;if((q|0)==(r|0)&&(a[n>>2]|0)>>>0>((a[p>>2]|0)+(0==(a[l>>2]|0)&1)|0)>>>0)break;if(!(da[a[t>>2]&63](b)|0)){v=0;x=70;break}}if(70==
-(x|0))return u=c,v|0;x=b+36|0;l=a[x>>2]|0;if(0<(l|0))for(n=b+4|0,k=e+112|0,m=b+472|0,h=c+4|0,t=c+18|0,r=c+32|0,q=c+16|0,v=c+2|0,z=l,l=0,A=a[b+216>>2]|0;;){if(a[A+52>>2]|0){z=a[p>>2]|0;C=A+12|0;D=a[C>>2]|0;z>>>0<g>>>0?(F=D<<1,R=D,J=0):(F=((a[A+32>>2]|0)>>>0)%(D>>>0)|0,R=F=I=0==(F|0)?D:F,J=1);z?(I=E(D,z+-1|0)|0,z=jg[a[(a[n>>2]|0)+32>>2]&3](b,a[e+72+(l<<2)>>2]|0,I,D+F|0,0)|0,G=z+(a[C>>2]<<2)|0,L=0):(G=jg[a[(a[n>>2]|0)+32>>2]&3](b,a[e+72+(l<<2)>>2]|0,0,F,0)|0,L=1);C=a[k>>2]|0;z=6*l|0;D=a[A+80>>2]|0;I=
-N[D>>1]|0;F=N[D+2>>1]|0;K=N[D+16>>1]|0;S=N[D+32>>1]|0;U=N[D+18>>1]|0;O=N[D+4>>1]|0;D=a[(a[m>>2]|0)+4+(l<<2)>>2]|0;if(0<(R|0))for(L=0!=(L|0),J=0!=(J|0),M=R+-1|0,T=A+28|0,X=C+((z|1)<<2)|0,P=C+(z+2<<2)|0,W=C+(z+3<<2)|0,Y=C+(z+4<<2)|0,Z=C+(z+5<<2)|0,z=A+36|0,C=9*I|0,ba=O<<7,aa=O<<8,O=5*I|0,ca=U<<7,fa=U<<8,U=S<<7,ga=S<<8,S=36*I|0,I=K<<7,ja=K<<8,K=F<<7,ma=F<<8,F=A+40|0,pa=0,ha=a[d+(l<<2)>>2]|0;;){ra=a[G+(pa<<2)>>2]|0;ya=L&0==(pa|0)?ra:a[G+(pa+-1<<2)>>2]|0;Aa=J&(pa|0)==(M|0)?ra:a[G+(pa+1<<2)>>2]|0;Ka=w[ya>>
-1]|0;Qa=w[ra>>1]|0;Va=w[Aa>>1]|0;oa=(a[T>>2]|0)+-1|0;Wa=sa=Ka;ua=Ka=Qa;Ia=Qa=Va;Va=0;Da=ra;ra=Aa;for(Aa=0;!(Ec(c|0,Da|0,128)|0,Va>>>0<oa>>>0?(na=w[ya+128>>1]|0,Na=w[Da+128>>1]|0,ab=w[ra+128>>1]|0):(na=Wa,Na=ua,ab=Ia),Ca=a[X>>2]|0,0!=(Ca|0)&0==(w[v>>1]|0)&&(Ga=E(S,Ka-Na|0)|0,-1<(Ga|0)?(Ea=(Ga+K|0)/(ma|0)|0,0<(Ca|0)?(La=1<<Ca,Ca=(Ea|0)<(La|0)?Ea:La+-1|0):Ca=Ea):(Ea=(K-Ga|0)/(ma|0)|0,0<(Ca|0)?(Ga=1<<Ca,Ca=(Ea|0)<(Ga|0)?Ea:Ga+-1|0):Ca=Ea,Ca=0-Ca|0),w[v>>1]=Ca),Ea=a[P>>2]|0,0!=(Ea|0)&0==(w[q>>1]|0)&&(Ga=
-E(S,Wa-Ia|0)|0,-1<(Ga|0)?(Ca=(Ga+I|0)/(ja|0)|0,0<(Ea|0)&&(La=1<<Ea,Ca=(Ca|0)<(La|0)?Ca:La+-1|0)):(Ca=(I-Ga|0)/(ja|0)|0,0<(Ea|0)&&(Ga=1<<Ea,Ca=(Ca|0)<(Ga|0)?Ca:Ga+-1|0),Ca=0-Ca|0),w[q>>1]=Ca),Ca=a[W>>2]|0,0!=(Ca|0)&0==(w[r>>1]|0)&&(Ga=E(C,Wa-(ua<<1)+Ia|0)|0,-1<(Ga|0)?(Ea=(Ga+U|0)/(ga|0)|0,0>=(Ca|0)?Ca=Ea:(La=1<<Ca,Ca=(Ea|0)<(La|0)?Ea:La+-1|0)):(La=(U-Ga|0)/(ga|0)|0,0<(Ca|0)?(Ea=1<<Ca,Ca=(La|0)<(Ea|0)?La:Ea+-1|0):Ca=La,Ca=0-Ca|0),w[r>>1]=Ca),Ca=a[Y>>2]|0,0!=(Ca|0)&0==(w[t>>1]|0)&&(Ga=E(O,sa-Qa-na+ab|
-0)|0,-1<(Ga|0)?(La=(Ga+ca|0)/(fa|0)|0,0>=(Ca|0)?Qa=La:(Ea=1<<Ca,Qa=(La|0)<(Ea|0)?La:Ea+-1|0)):(Ea=(ca-Ga|0)/(fa|0)|0,0<(Ca|0)?(La=1<<Ca,Qa=(Ea|0)<(La|0)?Ea:La+-1|0):Qa=Ea,Qa=0-Qa|0),w[t>>1]=Qa),Ca=a[Z>>2]|0,0!=(Ca|0)&0==(w[h>>1]|0)&&(Ga=E(C,Ka-(ua<<1)+Na|0)|0,-1<(Ga|0)?(Ea=(Ga+ba|0)/(aa|0)|0,0>=(Ca|0)?Ka=Ea:(La=1<<Ca,Ka=(Ea|0)<(La|0)?Ea:La+-1|0)):(La=(ba-Ga|0)/(aa|0)|0,0<(Ca|0)?(Ea=1<<Ca,Ka=(La|0)<(Ea|0)?La:Ea+-1|0):Ka=La,Ka=0-Ka|0),w[h>>1]=Ka),sf[D&63](b,A,c,ha,Aa),Va=Va+1|0,Va>>>0>oa>>>0);)Ca=Ia,
-Ga=ua,La=Wa,Wa=na,ua=Na,Ia=ab,Da=Da+128|0,ra=ra+128|0,Aa=(a[z>>2]|0)+Aa|0,ya=ya+128|0,Qa=Ca,Ka=Ga,sa=La;pa=pa+1|0;if((pa|0)==(R|0))break;else ha=ha+(a[F>>2]<<2)|0}z=a[x>>2]|0}l=l+1|0;if((l|0)>=(z|0))break;else A=A+88|0}A=(a[p>>2]|0)+1|0;a[p>>2]=A;v=A>>>0<(a[f>>2]|0)>>>0?3:4;u=c;return v|0},function(b,d){b|=0;d|=0;var c,e,f,g,h,m,k=0,l,n,p,q=0,r,t,v,A,z,D,C,E,F,N,J,I,G,L,K,R=0,S=0,O=0,M=0,T=0,U=0,P=0,W=0,Y=0,Z=0,ba=0,aa=0,ca=0,fa=0,ga=0;c=u;u=u+48|0;e=c+20|0;f=c;g=a[b+468>>2]|0;h=a[b+424>>2]|0;m=b+
-280|0;if(0!=(a[m>>2]|0)&&(k=g+44|0,0==(a[k>>2]|0))){l=g+16|0;n=a[b+464>>2]|0;p=n+24|0;a[p>>2]=(a[p>>2]|0)+((a[l>>2]|0)/8|0);a[l>>2]=0;if(!(da[a[n+8>>2]&63](b)|0))return u=c,0;n=b+340|0;if(0<(a[n>>2]|0)){l=0;do a[g+24+(l<<2)>>2]=0,l=l+1|0;while((l|0)<(a[n>>2]|0))}a[g+20>>2]=0;a[k>>2]=a[m>>2];a[b+440>>2]|0||(a[g+40>>2]=0)}if(!(a[g+40>>2]|0)){a[e+16>>2]=b;m=b+24|0;k=a[m>>2]|0;n=a[k>>2]|0;a[e>>2]=n;l=a[k+4>>2]|0;p=e+4|0;a[p>>2]=l;r=g+12|0;t=a[r>>2]|0;v=g+16|0;A=a[v>>2]|0;z=g+20|0;a[f>>2]=a[z>>2];a[f+
-4>>2]=a[z+4>>2];a[f+8>>2]=a[z+8>>2];a[f+12>>2]=a[z+12>>2];a[f+16>>2]=a[z+16>>2];D=b+368|0;do if(0<(a[D>>2]|0)){C=e+8|0;E=e+12|0;F=A;N=0;for(J=t;;){I=a[d+(N<<2)>>2]|0;G=a[b+372+(N<<2)>>2]|0;L=a[g+48+(a[(a[b+344+(G<<2)>>2]|0)+20>>2]<<2)>>2]|0;if(8>(F|0)){if(!(Uc(e,J,F,0)|0)){q=0;K=27;break}J=a[C>>2]|0;F=a[E>>2]|0;8>(F|0)?(R=F,S=J,O=1,K=16):(M=F,T=J,K=14)}else M=F,T=J,K=14;14==(K|0)&&(K=0,J=T>>M+-8&255,(F=a[L+144+(J<<2)>>2]|0)?(U=M-F|0,P=T,W=x[L+1168+J>>0]|0):(R=M,S=T,O=9,K=16));if(16==(K|0)){J=Tf(e,
-S,R,L,O)|0;if(0>(J|0)){q=0;K=27;break}U=a[E>>2]|0;P=a[C>>2]|0;W=J}if(W){if((U|0)<(W|0)){if(!(Uc(e,P,U,W)|0)){q=0;K=27;break}L=a[E>>2]|0;K=a[C>>2]|0}else L=U,K=P;J=L-W|0;L=a[122072+(W<<2)>>2]|0;F=K>>J&L;F=F-((F|0)>(a[122072+(W+-1<<2)>>2]|0)?0:L)|0}else J=U,K=P,F=0;L=f+4+(G<<2)|0;G=(a[L>>2]|0)+F|0;a[L>>2]=G;w[I>>1]=G<<h;N=N+1|0;if((N|0)>=(a[D>>2]|0)){Y=J;Z=K;K=24;break}else F=J,J=K}if(24==(K|0))ba=a[m>>2]|0,aa=a[e>>2]|0,ca=a[p>>2]|0,fa=Y,ga=Z;else if(27==(K|0))return u=c,q|0}else ba=k,aa=n,ca=l,fa=
-A,ga=t;while(0);a[ba>>2]=aa;a[ba+4>>2]=ca;a[r>>2]=ga;a[v>>2]=fa;a[z>>2]=a[f>>2];a[z+4>>2]=a[f+4>>2];a[z+8>>2]=a[f+8>>2];a[z+12>>2]=a[f+12>>2];a[z+16>>2]=a[f+16>>2]}f=g+44|0;a[f>>2]=(a[f>>2]|0)+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g=0,h,m,k,l=0,n,p,q,r,t,v,A,z,D,C,E,F,N=0,J=0,I=0,G=0,L=0,K=0,R=0,S=0,O=0,M=0,T=0,U=0,P=0,W=0,Y,Z;c=u;u=u+32|0;e=a[b+468>>2]|0;f=b+280|0;if(0!=(a[f>>2]|0)&&(g=e+44|0,0==(a[g>>2]|0))){h=e+16|0;m=a[b+464>>2]|0;k=m+24|0;a[k>>2]=(a[k>>2]|0)+((a[h>>2]|0)/8|0);a[h>>
-2]=0;if(!(da[a[m+8>>2]&63](b)|0))return u=c,0;m=b+340|0;if(0<(a[m>>2]|0)){h=0;do a[e+24+(h<<2)>>2]=0,h=h+1|0;while((h|0)<(a[m>>2]|0))}a[e+20>>2]=0;a[g>>2]=a[f>>2];a[b+440>>2]|0||(a[e+40>>2]=0)}if(!(a[e+40>>2]|0)){f=a[b+416>>2]|0;g=a[b+424>>2]|0;m=a[b+432>>2]|0;h=e+20|0;if(k=a[h>>2]|0)f=k+-1|0;else{a[c+16>>2]=b;k=b+24|0;n=a[k>>2]|0;a[c>>2]=a[n>>2];p=c+4|0;a[p>>2]=a[n+4>>2];n=e+12|0;q=a[n>>2]|0;r=e+16|0;t=a[r>>2]|0;v=a[d>>2]|0;d=a[e+64>>2]|0;A=a[b+412>>2]|0;a:do if((A|0)<=(f|0)){b=c+8|0;z=c+12|0;D=
-t;C=q;E=A;b:for(;;){if(8>(D|0)){if(!(Uc(c,C,D,0)|0)){l=0;F=35;break}C=a[b>>2]|0;D=a[z>>2]|0;8>(D|0)?(N=D,J=C,I=1,F=18):(G=D,L=C,F=16)}else G=D,L=C,F=16;16==(F|0)&&(F=0,C=L>>G+-8&255,(D=a[d+144+(C<<2)>>2]|0)?(K=G-D|0,R=L,S=x[d+1168+C>>0]|0):(N=G,J=L,I=9,F=18));if(18==(F|0)){C=Tf(c,J,N,d,I)|0;if(0>(C|0)){l=0;F=35;break}K=a[z>>2]|0;R=a[b>>2]|0;S=C}C=S>>4;if(D=S&15){E=C+E|0;if((K|0)<(D|0)){if(!(Uc(c,R,K,D)|0)){l=0;F=35;break}C=a[z>>2]|0;F=a[b>>2]|0}else C=K,F=R;C=C-D|0;Y=a[122072+(D<<2)>>2]|0;Z=F>>C&
-Y;w[v+(a[m+(E<<2)>>2]<<1)>>1]=Z-((Z|0)>(a[122072+(D+-1<<2)>>2]|0)?0:Y)<<g;D=C;C=F}else{switch(C|0){case 0:O=0;M=K;T=R;break a;case 15:break;default:U=C;P=K;W=R;F=26;break b}D=K;C=R;E=E+15|0}if((E|0)<(f|0))E=E+1|0;else{O=0;M=D;T=C;break a}}if(26==(F|0)){E=1<<U;if((P|0)<(U|0))if(Uc(c,W,P,U)|0)O=a[z>>2]|0,T=a[b>>2]|0;else return l=0,u=c,l|0;else O=P,T=W;b=O-U|0;O=E+-1+(T>>b&a[122072+(U<<2)>>2])|0;M=b}else if(35==(F|0))return u=c,l|0}else O=0,M=t,T=q;while(0);q=a[k>>2]|0;a[q>>2]=a[c>>2];a[q+4>>2]=a[p>>
-2];a[n>>2]=T;a[r>>2]=M;f=O}a[h>>2]=f}f=e+44|0;a[f>>2]=(a[f>>2]|0)+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g=0,h,m,k,l=0,n,p,q,r,t,v,x,z,A,C,D,E=0,F=0,J=0,I=0,G=0,L=0,K=0;c=u;u=u+32|0;e=a[b+468>>2]|0;f=b+280|0;if(0!=(a[f>>2]|0)&&(g=e+44|0,0==(a[g>>2]|0))){h=e+16|0;m=a[b+464>>2]|0;k=m+24|0;a[k>>2]=(a[k>>2]|0)+((a[h>>2]|0)/8|0);a[h>>2]=0;if(!(da[a[m+8>>2]&63](b)|0))return u=c,0;m=b+340|0;if(0<(a[m>>2]|0)){h=0;do a[e+24+(h<<2)>>2]=0,h=h+1|0;while((h|0)<(a[m>>2]|0))}a[e+20>>2]=0;a[g>>2]=a[f>>
-2];a[b+440>>2]|0||(a[e+40>>2]=0)}a[c+16>>2]=b;f=b+24|0;g=a[f>>2]|0;m=a[g>>2]|0;a[c>>2]=m;h=a[g+4>>2]|0;k=c+4|0;a[k>>2]=h;n=e+12|0;p=a[n>>2]|0;q=e+16|0;r=a[q>>2]|0;t=1<<a[b+424>>2];v=b+368|0;do if(0<(a[v>>2]|0)){b=c+8|0;x=c+12|0;z=r;A=0;for(C=p;;){if(1>(z|0)){if(!(Uc(c,C,z,1)|0)){l=0;x=18;break}z=a[x>>2]|0;C=a[b>>2]|0}z=z+-1|0;1<<z&C&&(D=a[d+(A<<2)>>2]|0,w[D>>1]=N[D>>1]|0|t);A=A+1|0;if((A|0)>=(a[v>>2]|0)){E=z;F=C;x=16;break}}if(16==(x|0))J=a[f>>2]|0,I=a[c>>2]|0,G=a[k>>2]|0,L=E,K=F;else if(18==(x|0))return u=
-c,l|0}else J=g,I=m,G=h,L=r,K=p;while(0);a[J>>2]=I;a[J+4>>2]=G;a[n>>2]=K;a[q>>2]=L;L=e+44|0;a[L>>2]=(a[L>>2]|0)+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h=0,m,k,l,n,p,q,r,t,v,A,z,D,C,E,F,N,J,I=0,G=0,L=0,K,R=0,S=0,O=0,M=0,T=0,U=0,P=0,W=0,Y=0,Z=0,ba=0,aa=0,ca=0,fa,ga,ja,ma,pa,ha=0,ra=0,ya=0,Aa=0,Ka=0,Qa=0,Va=0,oa=0,sa=0,Wa=0;c=u;u=u+288|0;e=c+24|0;f=a[b+468>>2]|0;g=b+280|0;if(0!=(a[g>>2]|0)&&(h=f+44|0,0==(a[h>>2]|0))){m=f+16|0;k=a[b+464>>2]|0;l=k+24|0;a[l>>2]=(a[l>>2]|0)+((a[m>>2]|0)/8|0);
-a[m>>2]=0;if(!(da[a[k+8>>2]&63](b)|0))return u=c,0;k=b+340|0;if(0<(a[k>>2]|0)){m=0;do a[f+24+(m<<2)>>2]=0,m=m+1|0;while((m|0)<(a[k>>2]|0))}a[f+20>>2]=0;a[h>>2]=a[g>>2];a[b+440>>2]|0||(a[f+40>>2]=0)}do if(!(a[f+40>>2]|0)){g=a[b+416>>2]|0;h=a[b+424>>2]|0;k=1<<h;m=-1<<h;h=a[b+432>>2]|0;a[c+16>>2]=b;l=b+24|0;n=a[l>>2]|0;a[c>>2]=a[n>>2];p=c+4|0;a[p>>2]=a[n+4>>2];n=f+12|0;q=a[n>>2]|0;r=f+16|0;t=a[r>>2]|0;v=f+20|0;A=a[v>>2]|0;z=a[d>>2]|0;D=a[f+64>>2]|0;C=a[b+412>>2]|0;E=c+8|0;F=c+12|0;a:do if(A)Qa=A,Va=
-t,oa=q,sa=C,Wa=0,M=46;else{N=t;J=q;I=C;G=0;b:for(;;){if(8>(N|0)){if(!(Uc(c,J,N,0)|0)){L=G;break a}K=a[E>>2]|0;N=a[F>>2]|0;8>(N|0)?(R=N,S=K,O=1,M=17):(T=N,U=K,M=15)}else T=N,U=J,M=15;15==(M|0)&&(M=0,K=U>>T+-8&255,(N=a[D+144+(K<<2)>>2]|0)?(P=T-N|0,W=U,Y=x[D+1168+K>>0]|0):(R=T,S=U,O=9,M=17));if(17==(M|0)){M=0;K=Tf(c,S,R,D,O)|0;if(0>(K|0)){L=G;break a}P=a[F>>2]|0;W=a[E>>2]|0;Y=K}K=Y>>4;switch(Y&15|0){case 0:if(15==(K|0))Z=P,ba=W,aa=15,ca=0;else{J=K;N=P;fa=W;K=I;ga=G;break b}break;case 1:M=21;break;default:N=
-a[b>>2]|0,a[N+20>>2]=121,ub[a[N+4>>2]&31](b,-1),M=21}if(21==(M|0)){M=0;if(1>(P|0)){if(!(Uc(c,W,P,1)|0)){L=G;break a}Z=a[F>>2]|0;ca=a[E>>2]|0}else Z=P,ca=W;Z=N=Z+-1|0;ba=ca;aa=K;ca=0==(1<<N&ca|0)?m:k}N=Z;K=ba;J=I;ga=aa;c:for(;;){fa=z+(a[h+(J<<2)>>2]<<1)|0;do if(w[fa>>1]|0){if(1>(N|0)){if(!(Uc(c,K,N,1)|0)){L=G;break a}ja=a[F>>2]|0;ma=a[E>>2]|0}else ja=N,ma=K;ja=ja+-1|0;0!=(1<<ja&ma|0)&&(ha=w[fa>>1]|0,ra=ha<<16>>16,0==(ra&k|0))&&(w[fa>>1]=-1<ha<<16>>16?ra+k:ra+m);pa=ga}else if(1>(ga|0)){fa=J;break c}else ja=
-N,ma=K,pa=ga+-1|0;while(0);fa=J+1|0;if((J|0)<(g|0))N=ja,K=ma,J=fa,ga=pa;else{N=ja;K=ma;break}}ca?(ga=a[h+(fa<<2)>>2]|0,w[z+(ga<<1)>>1]=ca,a[e+(G<<2)>>2]=ga,ga=G+1|0):ga=G;if((fa|0)<(g|0))J=K,I=fa+1|0,G=ga;else{ya=0;Aa=N;Ka=K;M=58;break a}}G=1<<J;if(J){if((N|0)<(J|0)){if(!(Uc(c,fa,N,J)|0)){L=ga;break}I=a[F>>2]|0;M=a[E>>2]|0}else I=N,M=fa;I=I-J|0;(J=(M>>I&a[122072+(J<<2)>>2])+G|0)?(Qa=J,Va=I,oa=M,sa=K,Wa=ga,M=46):(ya=0,Aa=I,Ka=M,M=58)}else Qa=G,Va=N,oa=fa,sa=K,Wa=ga,M=46}while(0);a:do if(46==(M|0)){C=
-Va;q=oa;for(t=sa;;){A=z+(a[h+(t<<2)>>2]<<1)|0;do if(w[A>>1]|0){if(1>(C|0)){if(!(Uc(c,q,C,1)|0)){L=Wa;break a}D=a[F>>2]|0;K=a[E>>2]|0}else D=C,K=q;D=D+-1|0;0!=(1<<D&K|0)&&(G=w[A>>1]|0,I=G<<16>>16,0==(I&k|0))&&(w[A>>1]=-1<G<<16>>16?I+k:I+m)}else D=C,K=q;while(0);if((t|0)<(g|0))C=D,q=K,t=t+1|0;else{Aa=D;q=K;break}}ya=Qa+-1|0;Ka=q;M=58}while(0);if(58==(M|0))g=a[l>>2]|0,a[g>>2]=a[c>>2],a[g+4>>2]=a[p>>2],a[n>>2]=Ka,a[r>>2]=Aa,a[v>>2]=ya;else{if(L)f=L;else return e=0,u=c,e|0;do f=f+-1|0,w[z+(a[e+(f<<2)>>
-2]<<1)>>1]=0;while(0!=(f|0));e=0;u=c;return e|0}}while(0);f=f+44|0;a[f>>2]=(a[f>>2]|0)+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m=0,k,l,n,p=0,q,r,t,v,A,z,D,C,E,F,N,J,I,G,L=0,K=0,R=0,S=0,O=0,M=0,T=0,U=0,P,W,Y=W=P=0,Z,ba,aa,ca,fa=0,ga=0,ja=0,ma=0,pa=0,ha=0,ra=0,ya=0,Aa=0,Ka=0,Qa,Va,oa=0,sa=0,Wa=0,ua=0,Ia=0,Da=0,na=0,Na=0,ab=0,Ca=0,Ga=0,Ea=0,La=0,db=0,eb=0;c=u;u=u+48|0;e=c+20|0;f=c;g=a[b+468>>2]|0;h=b+280|0;if(0!=(a[h>>2]|0)&&(m=g+44|0,0==(a[m>>2]|0))){k=g+16|0;l=a[b+464>>2]|0;n=l+24|0;
-a[n>>2]=(a[n>>2]|0)+((a[k>>2]|0)/8|0);a[k>>2]=0;if(!(da[a[l+8>>2]&63](b)|0))return u=c,0;l=b+340|0;if(0<(a[l>>2]|0)){k=0;do a[g+24+(k<<2)>>2]=0,k=k+1|0;while((k|0)<(a[l>>2]|0))}a[g+20>>2]=0;a[m>>2]=a[h>>2];a[b+440>>2]|0||(a[g+40>>2]=0)}if(!(a[g+40>>2]|0)){a[e+16>>2]=b;h=b+24|0;m=a[h>>2]|0;l=a[m>>2]|0;a[e>>2]=l;k=a[m+4>>2]|0;n=e+4|0;a[n>>2]=k;q=g+12|0;r=a[q>>2]|0;t=g+16|0;v=a[t>>2]|0;A=g+20|0;a[f>>2]=a[A>>2];a[f+4>>2]=a[A+4>>2];a[f+8>>2]=a[A+8>>2];a[f+12>>2]=a[A+12>>2];a[f+16>>2]=a[A+16>>2];z=b+368|
-0;do if(0<(a[z>>2]|0)){D=e+8|0;C=e+12|0;E=v;F=0;N=r;a:for(;;){J=a[d+(F<<2)>>2]|0;I=a[g+100+(F<<2)>>2]|0;if(8>(E|0)){if(!(Uc(e,N,E,0)|0)){p=0;G=64;break}E=a[D>>2]|0;N=a[C>>2]|0;8>(N|0)?(L=N,K=E,R=1,G=16):(S=N,O=E,G=14)}else S=E,O=N,G=14;14==(G|0)&&(G=0,E=O>>S+-8&255,(N=a[I+144+(E<<2)>>2]|0)?(M=S-N|0,T=O,U=x[I+1168+E>>0]|0):(L=S,K=O,R=9,G=16));if(16==(G|0)){E=Tf(e,K,L,I,R)|0;if(0>(E|0)){p=0;G=64;break}M=a[C>>2]|0;T=a[D>>2]|0;U=E}E=a[g+140+(F<<2)>>2]|0;I=a[g+180+(F<<2)>>2]|0;N=0!=(U|0);b:do if(I){if(N){if((M|
-0)<(U|0)){if(!(Uc(e,T,M,U)|0)){p=0;G=64;break a}G=a[C>>2]|0;Z=a[D>>2]|0}else G=M,Z=T;ba=G-U|0;G=a[122072+(U<<2)>>2]|0;aa=Z>>ba&G;aa=aa-((aa|0)>(a[122072+(U+-1<<2)>>2]|0)?0:G)|0}else ba=M,Z=T,aa=0;G=f+4+(a[b+372+(F<<2)>>2]<<2)|0;aa=(a[G>>2]|0)+aa|0;a[G>>2]=aa;w[J>>1]=aa;if(1<(I|0)){aa=ba;G=Z;for(ba=1;;){if(8>(aa|0)){if(!(Uc(e,G,aa,0)|0)){p=0;G=64;break a}ca=a[D>>2]|0;Z=a[C>>2]|0;8>(Z|0)?(fa=Z,ga=ca,ja=1,G=30):(ma=Z,pa=ca,G=28)}else ma=aa,pa=G,G=28;28==(G|0)&&(G=0,ca=pa>>ma+-8&255,(Z=a[E+144+(ca<<2)>>
-2]|0)?(ha=ma-Z|0,ra=pa,ya=x[E+1168+ca>>0]|0):(fa=ma,ga=pa,ja=9,G=30));if(30==(G|0)){G=0;ca=Tf(e,ga,fa,E,ja)|0;if(0>(ca|0)){p=0;G=64;break a}ha=a[C>>2]|0;ra=a[D>>2]|0;ya=ca}ca=ya>>4;if(Z=ya&15){ba=ca+ba|0;if((ha|0)<(Z|0)){if(!(Uc(e,ra,ha,Z)|0)){p=0;G=64;break a}ca=a[C>>2]|0;aa=a[D>>2]|0}else ca=ha,aa=ra;ca=ca-Z|0;Qa=a[122072+(Z<<2)>>2]|0;Va=aa>>ca&Qa;w[J+(a[119984+(ba<<2)>>2]<<1)>>1]=Va-((Va|0)>(a[122072+(Z+-1<<2)>>2]|0)?0:Qa);Z=aa}else{if(15!=(ca|0)){Aa=ha;Ka=ra;break b}ca=ha;Z=ra;ba=ba+15|0}ba=ba+
-1|0;if((ba|0)<(I|0))aa=ca,G=Z;else{aa=ca;break}}64>(ba|0)?(P=aa,W=Z,Y=ba,G=46):(Aa=aa,Ka=Z)}else P=ba,W=Z,Y=1,G=46}else{if(N){if((M|0)<(U|0)){if(!(Uc(e,T,M,U)|0)){p=0;G=64;break a}P=a[C>>2]|0;W=a[D>>2]|0}else P=M,W=T;P=P-U|0}else P=M,W=T;Y=1;G=46}while(0);b:do if(46==(G|0))for(;;){if(8>(P|0)){if(!(Uc(e,W,P,0)|0)){p=0;G=64;break a}I=a[D>>2]|0;J=a[C>>2]|0;8>(J|0)?(oa=J,sa=I,Wa=1,G=51):(ua=J,Ia=I,G=49)}else ua=P,Ia=W,G=49;49==(G|0)&&(G=0,I=Ia>>ua+-8&255,(J=a[E+144+(I<<2)>>2]|0)?(Da=ua-J|0,na=Ia,Na=x[E+
-1168+I>>0]|0):(oa=ua,sa=Ia,Wa=9,G=51));if(51==(G|0)){G=0;I=Tf(e,sa,oa,E,Wa)|0;if(0>(I|0)){p=0;G=64;break a}Da=a[C>>2]|0;na=a[D>>2]|0;Na=I}I=Na>>4;if(J=Na&15){if((Da|0)<(J|0)){if(!(Uc(e,na,Da,J)|0)){p=0;G=64;break a}ba=a[C>>2]|0;N=a[D>>2]|0}else ba=Da,N=na;J=ba-J|0}else if(15==(I|0))I=15,J=Da,N=na;else{Aa=Da;Ka=na;break b}Y=Y+1+I|0;if(64<=(Y|0)){Aa=J;Ka=N;break}else P=J,W=N}while(0);F=F+1|0;if((F|0)>=(a[z>>2]|0)){ab=Aa;Ca=Ka;G=61;break}else E=Aa,N=Ka}if(61==(G|0))Ga=a[h>>2]|0,Ea=a[e>>2]|0,La=a[n>>
-2]|0,db=ab,eb=Ca;else if(64==(G|0))return u=c,p|0}else Ga=m,Ea=l,La=k,db=v,eb=r;while(0);a[Ga>>2]=Ea;a[Ga+4>>2]=La;a[q>>2]=eb;a[t>>2]=db;a[A>>2]=a[f>>2];a[A+4>>2]=a[f+4>>2];a[A+8>>2]=a[f+8>>2];a[A+12>>2]=a[f+12>>2];a[A+16>>2]=a[f+16>>2]}f=g+44|0;a[f>>2]=(a[f>>2]|0)+-1;u=c;return 1},function(b,d){b|=0;d|=0;var c,e,f,g,h,m=0,k,l,n,p=0,q,r,t,v,A,z,D,C,E,F,N,J,I,G,L,K,R=0,S=0,O=0,M=0,T=0,U=0,P=0,W=0,Y,Z,ba=Z=Y=0,aa,ca,fa,ga=0,ja=0,ma=0,pa=0,ha=0,ra=0,ya=0,Aa=0,Ka=0,Qa=0,Va,oa,sa=0,Wa=0,ua=0,Ia=0,Da=0,
-na=0,Na=0,ab=0,Ca=0,Ga=0,Ea=0,La=0,db=0,eb=0,fb=0;c=u;u=u+48|0;e=c+20|0;f=c;g=a[b+468>>2]|0;h=b+280|0;if(0!=(a[h>>2]|0)&&(m=g+44|0,0==(a[m>>2]|0))){k=g+16|0;l=a[b+464>>2]|0;n=l+24|0;a[n>>2]=(a[n>>2]|0)+((a[k>>2]|0)/8|0);a[k>>2]=0;if(!(da[a[l+8>>2]&63](b)|0))return u=c,0;l=b+340|0;if(0<(a[l>>2]|0)){k=0;do a[g+24+(k<<2)>>2]=0,k=k+1|0;while((k|0)<(a[l>>2]|0))}a[g+20>>2]=0;a[m>>2]=a[h>>2];a[b+440>>2]|0||(a[g+40>>2]=0)}if(!(a[g+40>>2]|0)){h=a[b+432>>2]|0;m=a[b+436>>2]|0;a[e+16>>2]=b;l=b+24|0;k=a[l>>2]|
-0;n=a[k>>2]|0;a[e>>2]=n;q=a[k+4>>2]|0;r=e+4|0;a[r>>2]=q;t=g+12|0;v=a[t>>2]|0;A=g+16|0;z=a[A>>2]|0;D=g+20|0;a[f>>2]=a[D>>2];a[f+4>>2]=a[D+4>>2];a[f+8>>2]=a[D+8>>2];a[f+12>>2]=a[D+12>>2];a[f+16>>2]=a[D+16>>2];C=b+368|0;do if(0<(a[C>>2]|0)){E=e+8|0;F=e+12|0;N=z;J=0;I=v;a:for(;;){G=a[d+(J<<2)>>2]|0;L=a[g+100+(J<<2)>>2]|0;if(8>(N|0)){if(!(Uc(e,I,N,0)|0)){p=0;K=64;break}N=a[E>>2]|0;I=a[F>>2]|0;8>(I|0)?(R=I,S=N,O=1,K=16):(M=I,T=N,K=14)}else M=N,T=I,K=14;14==(K|0)&&(K=0,N=T>>M+-8&255,(I=a[L+144+(N<<2)>>2]|
-0)?(U=M-I|0,P=T,W=x[L+1168+N>>0]|0):(R=M,S=T,O=9,K=16));if(16==(K|0)){N=Tf(e,S,R,L,O)|0;if(0>(N|0)){p=0;K=64;break}U=a[F>>2]|0;P=a[E>>2]|0;W=N}N=a[g+140+(J<<2)>>2]|0;L=a[g+180+(J<<2)>>2]|0;I=0!=(W|0);b:do if(L){if(I){if((U|0)<(W|0)){if(!(Uc(e,P,U,W)|0)){p=0;K=64;break a}aa=a[F>>2]|0;ca=a[E>>2]|0}else aa=U,ca=P;fa=aa-W|0;aa=a[122072+(W<<2)>>2]|0;K=ca>>fa&aa;K=K-((K|0)>(a[122072+(W+-1<<2)>>2]|0)?0:aa)|0}else fa=U,ca=P,K=0;aa=f+4+(a[b+372+(J<<2)>>2]<<2)|0;K=(a[aa>>2]|0)+K|0;a[aa>>2]=K;w[G>>1]=K;if(1<
-(L|0))for(K=fa,aa=ca,fa=1;;){if(8>(K|0)){if(!(Uc(e,aa,K,0)|0)){p=0;K=64;break a}ca=a[E>>2]|0;aa=a[F>>2]|0;8>(aa|0)?(ga=aa,ja=ca,ma=1,K=30):(pa=aa,ha=ca,K=28)}else pa=K,ha=aa,K=28;28==(K|0)&&(K=0,ca=ha>>pa+-8&255,(aa=a[N+144+(ca<<2)>>2]|0)?(ra=pa-aa|0,ya=ha,Aa=x[N+1168+ca>>0]|0):(ga=pa,ja=ha,ma=9,K=30));if(30==(K|0)){K=0;ca=Tf(e,ja,ga,N,ma)|0;if(0>(ca|0)){p=0;K=64;break a}ra=a[F>>2]|0;ya=a[E>>2]|0;Aa=ca}ca=Aa>>4;if(aa=Aa&15){fa=ca+fa|0;if((ra|0)<(aa|0)){if(!(Uc(e,ya,ra,aa)|0)){p=0;K=64;break a}ca=
-a[F>>2]|0;K=a[E>>2]|0}else ca=ra,K=ya;ca=ca-aa|0;Va=a[122072+(aa<<2)>>2]|0;oa=K>>ca&Va;w[G+(a[h+(fa<<2)>>2]<<1)>>1]=oa-((oa|0)>(a[122072+(aa+-1<<2)>>2]|0)?0:Va);aa=ca;ca=K}else{if(15!=(ca|0)){Ka=ra;Qa=ya;break b}aa=ra;ca=ya;fa=fa+15|0}fa=fa+1|0;if((fa|0)<(L|0))K=aa,aa=ca;else{Y=aa;Z=ca;ba=fa;K=45;break}}else Y=fa,Z=ca,ba=1,K=45}else{if(I){if((U|0)<(W|0)){if(!(Uc(e,P,U,W)|0)){p=0;K=64;break a}Y=a[F>>2]|0;Z=a[E>>2]|0}else Y=U,Z=P;Y=Y-W|0}else Y=U,Z=P;ba=1;K=45}while(0);b:do if(45==(K|0))if(K=0,(ba|
-0)>(m|0))Ka=Y,Qa=Z;else for(L=Y,G=Z,I=ba;;){if(8>(L|0)){if(!(Uc(e,G,L,0)|0)){p=0;K=64;break a}fa=a[E>>2]|0;aa=a[F>>2]|0;8>(aa|0)?(sa=aa,Wa=fa,ua=1,K=51):(Ia=aa,Da=fa,K=49)}else Ia=L,Da=G,K=49;49==(K|0)&&(K=0,fa=Da>>Ia+-8&255,(aa=a[N+144+(fa<<2)>>2]|0)?(na=Ia-aa|0,Na=Da,ab=x[N+1168+fa>>0]|0):(sa=Ia,Wa=Da,ua=9,K=51));if(51==(K|0)){K=0;fa=Tf(e,Wa,sa,N,ua)|0;if(0>(fa|0)){p=0;K=64;break a}na=a[F>>2]|0;Na=a[E>>2]|0;ab=fa}fa=ab>>4;if(aa=ab&15){if((na|0)<(aa|0)){if(!(Uc(e,Na,na,aa)|0)){p=0;K=64;break a}ca=
-a[F>>2]|0;G=a[E>>2]|0}else ca=na,G=Na;L=fa;aa=ca-aa|0}else if(15==(fa|0))L=15,aa=na,G=Na;else{Ka=na;Qa=Na;break b}I=I+1+L|0;if((I|0)>(m|0)){Ka=aa;Qa=G;break}else L=aa}while(0);J=J+1|0;if((J|0)>=(a[C>>2]|0)){Ca=Ka;Ga=Qa;K=61;break}else N=Ka,I=Qa}if(61==(K|0))Ea=a[l>>2]|0,La=a[e>>2]|0,db=a[r>>2]|0,eb=Ca,fb=Ga;else if(64==(K|0))return u=c,p|0}else Ea=k,La=n,db=q,eb=z,fb=v;while(0);a[Ea>>2]=La;a[Ea+4>>2]=db;a[t>>2]=fb;a[A>>2]=eb;a[D>>2]=a[f>>2];a[D+4>>2]=a[f+4>>2];a[D+8>>2]=a[f+8>>2];a[D+12>>2]=a[f+12>>
-2];a[D+16>>2]=a[f+16>>2]}f=g+44|0;a[f>>2]=(a[f>>2]|0)+-1;u=c;return 1},Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb,Pb],jg=[hl,function(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k=0,l,n,p,q,r=0,t=0,u=0,v=0,w=0,x=0,A=0,D,F,N,J=0,I=0,G=0;g=e+c|0;h=d+4|0;g>>>0<=(a[h>>2]|0)>>>0&&(a[d+12>>2]|0)>>>0>=e>>>0&&0!=(a[d>>2]|0)||(e=a[b>>2]|0,a[e+20>>2]=23,R[a[e>>2]&127](b));e=d+24|
-0;m=a[e>>2]|0;m>>>0<=c>>>0&&g>>>0<=((a[d+16>>2]|0)+m|0)>>>0||(k=7);a:do if(7==(k|0)){a[d+40>>2]|0||(m=a[b>>2]|0,a[m+20>>2]=71,R[a[m>>2]&127](b));m=d+36|0;if(a[m>>2]|0){l=a[d+8>>2]|0;n=a[e>>2]|0;p=d+20|0;q=d+16|0;r=a[q>>2]|0;b:do if(0<(r|0)&&(t=d+28|0,u=d+48|0,v=d+52|0,w=a[p>>2]|0,x=(w|0)<(r|0)?w:r,w=(a[t>>2]|0)-n|0,A=(x|0)<(w|0)?x:w,w=(a[h>>2]|0)-n|0,x=(A|0)<(w|0)?A:w,1<=(x|0)))for(w=x,x=E(n,l)|0,A=0;;){D=E(w,l)|0;sf[a[v>>2]&63](b,u,a[(a[d>>2]|0)+(A<<2)>>2]|0,x,D);F=a[p>>2]|0;N=a[q>>2]|0;A=F+A|0;
-if((N|0)<=(A|0))break b;w=N-A|0;N=(F|0)<(w|0)?F:w;w=A+(a[e>>2]|0)|0;F=(a[t>>2]|0)-w|0;N=(N|0)<(F|0)?N:F;F=(a[h>>2]|0)-w|0;w=(N|0)<(F|0)?N:F;if(1>(w|0))break;else x=D+x|0}while(0);a[m>>2]=0}q=d+16|0;p=a[q>>2]|0;(a[e>>2]|0)>>>0<c>>>0?m=c:(l=g-p|0,m=0>(l|0)?0:l);a[e>>2]=m;l=a[d+8>>2]|0;n=d+20|0;if(0<(p|0)&&(r=d+28|0,x=d+48|0,w=a[n>>2]|0,t=(w|0)<(p|0)?w:p,p=(a[r>>2]|0)-m|0,w=(t|0)<(p|0)?t:p,p=(a[h>>2]|0)-m|0,t=(w|0)<(p|0)?w:p,1<=(t|0)))for(p=t,t=E(l,m)|0,w=0;;){A=E(p,l)|0;sf[a[x>>2]&63](b,x,a[(a[d>>2]|
-0)+(w<<2)>>2]|0,t,A);u=a[n>>2]|0;v=a[q>>2]|0;w=u+w|0;if((v|0)<=(w|0))break a;D=v-w|0;v=(u|0)<(D|0)?u:D;D=w+(a[e>>2]|0)|0;u=(a[r>>2]|0)-D|0;F=(v|0)<(u|0)?v:u;u=(a[h>>2]|0)-D|0;p=(F|0)<(u|0)?F:u;if(1>(p|0))break;else t=A+t|0}}while(0);h=d+28|0;m=a[h>>2]|0;if(m>>>0<g>>>0)if(t=0==(f|0),m>>>0<c>>>0?t?(J=0,I=c):(p=a[b>>2]|0,a[p+20>>2]=23,R[a[p>>2]&127](b),G=c,k=28):t?(J=0,I=m):(G=m,k=28),28==(k|0)&&(a[h>>2]=g,J=1,I=G),a[d+32>>2]|0){if(t=a[d+8>>2]|0,p=a[e>>2]|0,r=I-p|0,w=g-p|0,r>>>0<w>>>0){p=r;do Va(a[(a[d>>
-2]|0)+(p<<2)>>2]|0,0,t|0)|0,p=p+1|0;while((p|0)!=(w|0))}}else J||(t=a[b>>2]|0,a[t+20>>2]=23,R[a[t>>2]&127](b));if(!f)return b=a[d>>2]|0,e=a[e>>2]|0,b+((c-e|0)<<2)|0;a[d+36>>2]=1;b=a[d>>2]|0;e=a[e>>2]|0;return b+((c-e|0)<<2)|0},function(b,d,c,e,f){b|=0;d|=0;c|=0;e|=0;f|=0;var g,h,m,k=0,l,n,p,q,r=0,t=0,u=0,v=0,w=0,x=0,A=0,D,F,N,J=0,I=0,G=0;g=e+c|0;h=d+4|0;g>>>0<=(a[h>>2]|0)>>>0&&(a[d+12>>2]|0)>>>0>=e>>>0&&0!=(a[d>>2]|0)||(e=a[b>>2]|0,a[e+20>>2]=23,R[a[e>>2]&127](b));e=d+24|0;m=a[e>>2]|0;m>>>0<=c>>>
-0&&g>>>0<=((a[d+16>>2]|0)+m|0)>>>0||(k=7);a:do if(7==(k|0)){a[d+40>>2]|0||(m=a[b>>2]|0,a[m+20>>2]=71,R[a[m>>2]&127](b));m=d+36|0;if(a[m>>2]|0){l=a[d+8>>2]<<7;n=a[e>>2]|0;p=d+20|0;q=d+16|0;r=a[q>>2]|0;b:do if(0<(r|0)&&(t=d+28|0,u=d+48|0,v=d+52|0,w=a[p>>2]|0,x=(w|0)<(r|0)?w:r,w=(a[t>>2]|0)-n|0,A=(x|0)<(w|0)?x:w,w=(a[h>>2]|0)-n|0,x=(A|0)<(w|0)?A:w,1<=(x|0)))for(w=x,x=E(n,l)|0,A=0;;){D=E(w,l)|0;sf[a[v>>2]&63](b,u,a[(a[d>>2]|0)+(A<<2)>>2]|0,x,D);F=a[p>>2]|0;N=a[q>>2]|0;A=F+A|0;if((N|0)<=(A|0))break b;
-w=N-A|0;N=(F|0)<(w|0)?F:w;w=A+(a[e>>2]|0)|0;F=(a[t>>2]|0)-w|0;N=(N|0)<(F|0)?N:F;F=(a[h>>2]|0)-w|0;w=(N|0)<(F|0)?N:F;if(1>(w|0))break;else x=D+x|0}while(0);a[m>>2]=0}q=d+16|0;p=a[q>>2]|0;(a[e>>2]|0)>>>0<c>>>0?m=c:(l=g-p|0,m=0>(l|0)?0:l);a[e>>2]=m;l=a[d+8>>2]<<7;n=d+20|0;if(0<(p|0)&&(r=d+28|0,x=d+48|0,w=a[n>>2]|0,t=(w|0)<(p|0)?w:p,p=(a[r>>2]|0)-m|0,w=(t|0)<(p|0)?t:p,p=(a[h>>2]|0)-m|0,t=(w|0)<(p|0)?w:p,1<=(t|0)))for(p=t,t=E(l,m)|0,w=0;;){A=E(p,l)|0;sf[a[x>>2]&63](b,x,a[(a[d>>2]|0)+(w<<2)>>2]|0,t,A);
-u=a[n>>2]|0;v=a[q>>2]|0;w=u+w|0;if((v|0)<=(w|0))break a;D=v-w|0;v=(u|0)<(D|0)?u:D;D=w+(a[e>>2]|0)|0;u=(a[r>>2]|0)-D|0;F=(v|0)<(u|0)?v:u;u=(a[h>>2]|0)-D|0;p=(F|0)<(u|0)?F:u;if(1>(p|0))break;else t=A+t|0}}while(0);h=d+28|0;m=a[h>>2]|0;if(m>>>0<g>>>0)if(t=0==(f|0),m>>>0<c>>>0?t?(J=0,I=c):(p=a[b>>2]|0,a[p+20>>2]=23,R[a[p>>2]&127](b),G=c,k=28):t?(J=0,I=m):(G=m,k=28),28==(k|0)&&(a[h>>2]=g,J=1,I=G),a[d+32>>2]|0){if(t=a[d+8>>2]<<7,p=a[e>>2]|0,r=I-p|0,w=g-p|0,r>>>0<w>>>0){p=r;do Va(a[(a[d>>2]|0)+(p<<2)>>2]|
-0,0,t|0)|0,p=p+1|0;while((p|0)!=(w|0))}}else J||(t=a[b>>2]|0,a[t+20>>2]=23,R[a[t>>2]&127](b));if(!f)return b=a[d>>2]|0,e=a[e>>2]|0,b+((c-e|0)<<2)|0;a[d+36>>2]=1;b=a[d>>2]|0;e=a[e>>2]|0;return b+((c-e|0)<<2)|0},hl],Ud=[mi,function(a,d,c,e){},function(b,d,c,e){b=d|0;c|=0;d=u;u=u+16|0;a[d>>2]=b;a[d+4>>2]=c;c=le(Qj(91,d|0)|0)|0;u=d;c|0},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p=0,q=0,r=0;c-d&4?(a[c>>2]=0,f=c+4|0):f=c;if(f>>>0>d>>>0)for(c=d,d=0;;){g=a[c>>2]|0;g>>>0>e>>>0|(g+d|0)>>>0>e>>>
-0?(h=e-d|0,m=a[c>>2]=h):m=g;if(m){g=d>>>3;h=b+g|0;k=d&7;l=8-k|0;if(m>>>0>l>>>0){k?(t[h>>0]=(x[h>>0]|0)&255<<l,g=b+(g+1)|0,m=m-l|0):g=h;if(l=m>>>3){if(63<m>>>0){if(g&3)for(;;)if(n=g+1|0,t[g>>0]=0,k=l+-1|0,0!=(k|0)&0!=(n&3|0))g=n,l=k;else{h=n;break}else h=g,k=l;l=k>>>2;g=l<<2;Va(h|0,0,g|0)|0;g=h+g|0;l=k-(l<<2)|0}switch(l|0){case 15:t[g+14>>0]=0;p=17;break;case 14:p=17;break;case 13:p=18;break;case 12:p=19;break;case 11:p=20;break;case 10:p=21;break;case 9:p=22;break;case 8:p=23;break;case 7:p=24;break;
-case 6:p=25;break;case 5:p=26;break;case 4:p=27;break;case 3:p=28;break;case 2:p=29;break;case 1:p=30;break;default:q=g}17==(p|0)&&(t[g+13>>0]=0,p=18);18==(p|0)&&(t[g+12>>0]=0,p=19);19==(p|0)&&(t[g+11>>0]=0,p=20);20==(p|0)&&(t[g+10>>0]=0,p=21);21==(p|0)&&(t[g+9>>0]=0,p=22);22==(p|0)&&(t[g+8>>0]=0,p=23);23==(p|0)&&(t[g+7>>0]=0,p=24);24==(p|0)&&(t[g+6>>0]=0,p=25);25==(p|0)&&(t[g+5>>0]=0,p=26);26==(p|0)&&(t[g+4>>0]=0,p=27);27==(p|0)&&(t[g+3>>0]=0,p=28);28==(p|0)&&(t[g+2>>0]=0,p=29);29==(p|0)&&(t[g+1>>
-0]=0,p=30);30==(p|0)&&(p=0,t[g>>0]=0,q=g+l|0);l=q;g=m&7}else l=g,g=m;g&&(t[l>>0]=(x[l>>0]|0)&255>>>g)}else t[h>>0]=((x[142803+m>>0]|0)>>>k^255)&(x[h>>0]|0);d=(a[c>>2]|0)+d|0}l=c+4|0;g=a[l>>2]|0;g>>>0>e>>>0|(g+d|0)>>>0>e>>>0?(k=e-d|0,m=a[l>>2]=k):m=g;if(m){g=d>>>3;k=b+g|0;n=d&7;h=8-n|0;if(m>>>0>h>>>0){n?(t[k>>0]=x[k>>0]|0|255>>>n,g=b+(g+1)|0,m=m-h|0):g=k;if(h=m>>>3){if(63<m>>>0){if(g&3)for(;;)if(k=g+1|0,t[g>>0]=-1,h=h+-1|0,0!=(h|0)&0!=(k&3|0))g=k;else{n=h;break}else k=g,n=h;h=n>>>2;g=h<<2;Va(k|0,-1,
-g|0)|0;g=k+g|0;h=n-(h<<2)|0}switch(h|0){case 15:t[g+14>>0]=-1;p=49;break;case 14:p=49;break;case 13:p=50;break;case 12:p=51;break;case 11:p=52;break;case 10:p=53;break;case 9:p=54;break;case 8:p=55;break;case 7:p=56;break;case 6:p=57;break;case 5:p=58;break;case 4:p=59;break;case 3:p=60;break;case 2:p=61;break;case 1:p=62;break;default:r=g}49==(p|0)&&(t[g+13>>0]=-1,p=50);50==(p|0)&&(t[g+12>>0]=-1,p=51);51==(p|0)&&(t[g+11>>0]=-1,p=52);52==(p|0)&&(t[g+10>>0]=-1,p=53);53==(p|0)&&(t[g+9>>0]=-1,p=54);
-54==(p|0)&&(t[g+8>>0]=-1,p=55);55==(p|0)&&(t[g+7>>0]=-1,p=56);56==(p|0)&&(t[g+6>>0]=-1,p=57);57==(p|0)&&(t[g+5>>0]=-1,p=58);58==(p|0)&&(t[g+4>>0]=-1,p=59);59==(p|0)&&(t[g+3>>0]=-1,p=60);60==(p|0)&&(t[g+2>>0]=-1,p=61);61==(p|0)&&(t[g+1>>0]=-1,p=62);62==(p|0)&&(p=0,t[g>>0]=-1,r=g+h|0);g=r;m&=7}m&&(t[g>>0]=x[g>>0]|0|65280>>>m)}else t[k>>0]=x[k>>0]|0|(x[142803+m>>0]|0)>>>n;l=(a[l>>2]|0)+d|0}else l=d;c=c+8|0;if(c>>>0>=f>>>0){b=l;break}else d=l}else b=0;(b|0)!=(e|0)&&Z(142812,142823,453,142834)},function(b,
-d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,t=0;f=a[b+396>>2]|0;g=f+8|0;h=b+288|0;if(!((a[g>>2]|0)>>>0>=(a[h>>2]|0)>>>0)){m=f+12|0;k=b+284|0;l=b+400|0;n=f+24|0;p=b+404|0;q=f+16|0;for(f=a[m>>2]|0;;){r=a[k>>2]|0;f>>>0<r>>>0&&(ee[a[(a[l>>2]|0)+4>>2]&15](b,d,c,e,n,m,r),f=a[m>>2]|0,r=a[k>>2]|0);if((f|0)!=(r|0)){b=12;break}r=0==(dd[a[(a[p>>2]|0)+4>>2]&127](b,n)|0);t=0!=(a[q>>2]|0);if(r){b=7;break}t&&(a[c>>2]=(a[c>>2]|0)+1,a[q>>2]=0);a[m>>2]=0;r=(a[g>>2]|0)+1|0;a[g>>2]=r;if(r>>>0<(a[h>>2]|0)>>>0)f=
-0;else{b=12;break}}7!=(b|0)||t||(a[c>>2]=(a[c>>2]|0)+-1,a[q>>2]=1)}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A;f=E(a[d+36>>2]|0,a[d+28>>2]|0)|0;d=b+276|0;g=a[d>>2]|0;h=a[b+28>>2]|0;if(-2<(g|0)&0<(f-h|0)){m=h+-1|0;k=m-f|0;l=f+2-h+(-2<(k|0)?k:-2)|0;k=g+1|0;for(n=0;p=a[c+(n+-1<<2)>>2]|0,Va(p+h|0,t[p+m>>0]|0,l|0)|0,(n|0)!=(k|0);)n=n+1|0;q=a[d>>2]|0}else q=g;g=a[b+228>>2]|0;b=65536-(g<<9)|0;n=g<<6;if(!(0>=(q|0)))if(q=f+-2|0){g=f+-1|0;f=0;do{v=a[e+(f<<2)>>2]|0;k=a[c+(f<<2)>>
-2]|0;l=a[c+(f+-1<<2)>>2]|0;f=f+1|0;m=a[c+(f<<2)>>2]|0;u=l+1|0;p=m+1|0;r=(x[m>>0]|0)+(x[l>>0]|0)|0;l=x[k>>0]|0;m=r+l|0;h=k+1|0;w=(x[p>>0]|0)+(x[u>>0]|0)+(x[h>>0]|0)|0;z=((E(l,b)|0)+32768+(E(m+r+w|0,n)|0)|0)>>>16&255;t[v>>0]=z;z=v+g|0;r=v;v=u;u=p;p=q;l=w;w=h;for(h=m;;)if(r=r+1|0,m=x[w>>0]|0,w=w+1|0,v=v+1|0,u=u+1|0,A=(x[u>>0]|0)+(x[v>>0]|0)+(x[w>>0]|0)|0,h=((E(m,b)|0)+32768+(E(h+l-m+A|0,n)|0)|0)>>>16&255,t[r>>0]=h,p=p+-1|0)h=l,l=A;else{p=A;break}h=x[k+g>>0]|0;l=((E(h,b)|0)+32768+(E(l-h+(p<<1)|0,n)|0)|
-0)>>>16&255;t[z>>0]=l}while((f|0)<(a[d>>2]|0))}else{g=0;do k=a[e+(g<<2)>>2]|0,l=a[c+(g<<2)>>2]|0,m=a[c+(g+-1<<2)>>2]|0,g=g+1|0,h=a[c+(g<<2)>>2]|0,p=(x[h>>0]|0)+(x[m>>0]|0)|0,r=x[l>>0]|0,u=p+r|0,v=l+1|0,l=(x[h+1>>0]|0)+(x[m+1>>0]|0)+(x[v>>0]|0)|0,m=((E(r,b)|0)+32768+(E(u+p+l|0,n)|0)|0)>>>16&255,t[k>>0]=m,m=x[v>>0]|0,v=((E(m,b)|0)+32768+(E(u-m+(l<<1)|0,n)|0)|0)>>>16&255,t[k+1>>0]=v;while((g|0)<(a[d>>2]|0))}},function(b,d,c,e){b|=0;d|=0;e|=0;var f,g,h;f=b+276|0;g=b+28|0;Dg(c|0,0,e,0,a[f>>2]|0,a[g>>2]|
-0);c=a[f>>2]|0;f=a[g>>2]|0;g=E(a[d+36>>2]|0,a[d+28>>2]|0)|0;if(0<(c|0)&0<(g-f|0)){d=f+-1|0;b=d-g|0;h=2-f+g+(-2<(b|0)?b:-2)|0;b=0;do g=a[e+(b<<2)>>2]|0,Va(g+f|0,t[g+d>>0]|0,h|0)|0,b=b+1|0;while((b|0)!=(c|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l;f=E(a[d+36>>2]|0,a[d+28>>2]|0)|0;d=b+276|0;g=a[d>>2]|0;h=a[b+28>>2]|0;b=f<<1;if(0<(g|0)&0<(b-h|0)){m=h+-1|0;k=m-b|0;l=b+2-h+(-2<(k|0)?k:-2)|0;k=0;do b=a[c+(k<<2)>>2]|0,Va(b+h|0,t[b+m>>0]|0,l|0)|0,k=k+1|0;while((k|0)!=(g|0));b=a[d>>2]|0}else b=
-g;if(!(0>=(b|0)))if(f){h=0;do{b=0;g=a[c+(h<<2)>>2]|0;k=0;for(l=a[e+(h<<2)>>2]|0;t[l>>0]=((x[g>>0]|0)+b+(x[g+1>>0]|0)|0)>>>1,k=k+1|0,(k|0)!=(f|0);)b^=1,g=g+2|0,l=l+1|0;h=h+1|0}while((h|0)<(a[d>>2]|0))}else{g=0;do g=g+1|0;while((g|0)<(b|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A,C,D,F,N,J,I,G,L,K,R,S,O,M,T;f=E(a[d+36>>2]|0,a[d+28>>2]|0)|0;d=b+276|0;g=a[d>>2]|0;h=a[b+28>>2]|0;m=f<<1;if(-2<(g|0)&0<(m-h|0)){k=h+-1|0;l=k-m|0;n=m+2-h+(-2<(l|0)?l:-2)|0;l=g+1|0;for(m=0;p=
-a[c+(m+-1<<2)>>2]|0,Va(p+h|0,t[p+k>>0]|0,n|0)|0,(m|0)!=(l|0);)m=m+1|0;q=a[d>>2]|0}else q=g;g=a[b+228>>2]|0;b=(E(g,-80)|0)+16384|0;m=g<<4;if(!(0>=(q|0)))for(q=f+-2|0,g=f+-1|0,l=f<<1,f=l+-3|0,n=l+-3|0,k=l+-3|0,h=l=0;;){p=a[e+(h<<2)>>2]|0;r=a[c+(l<<2)>>2]|0;u=a[c+((l|1)<<2)>>2]|0;v=a[c+(l+-1<<2)>>2]|0;l=l+2|0;w=a[c+(l<<2)>>2]|0;z=x[r>>0]|0;A=x[u>>0]|0;C=x[v>>0]|0;D=x[w>>0]|0;F=r+2|0;N=u+2|0;J=v+2|0;I=w+2|0;G=((E((x[r+1>>0]|0)+z+A+(x[u+1>>0]|0)|0,b)|0)+32768+(E(D+C+(x[J>>0]|0)+(x[I>>0]|0)+(A+z+C+(x[v+
-1>>0]|0)+D+(x[w+1>>0]|0)+(x[F>>0]|0)+(x[N>>0]|0)<<1)|0,m)|0)|0)>>>16&255;t[p>>0]=G;G=p+g|0;D=p;p=r;r=u;C=v;z=w;A=J;J=I;I=q;L=F;for(F=N;;){N=D+1|0;K=x[p+3>>0]|0;R=x[r+3>>0]|0;S=K+(x[L>>0]|0)+(x[F>>0]|0)+R|0;O=x[C+3>>0]|0;M=x[z+3>>0]|0;p=O+(x[A>>0]|0)+(x[J>>0]|0)+M+(x[p+1>>0]|0)|0;if(!I){A=K;break}M=L+2|0;O=F+2|0;R=A+2|0;K=J+2|0;r=((E(S,b)|0)+32768+(E((x[R>>0]|0)+(x[C+1>>0]|0)+((x[M>>0]|0)+p+(x[r+1>>0]|0)+(x[O>>0]|0)<<1)+(x[z+1>>0]|0)+(x[K>>0]|0)|0,m)|0)|0)>>>16&255;t[N>>0]=r;r=J;p=A;S=F;T=L;D=N;A=
-R;J=K;I=I+-1|0;L=M;F=O;z=r;C=p;r=S;p=T}p=((E(S,b)|0)+32768+(E(M+O+(x[v+n>>0]|0)+(x[w+k>>0]|0)+(R+A+p+(x[u+f>>0]|0)<<1)|0,m)|0)|0)>>>16&255;t[G>>0]=p;if((l|0)>=(a[d>>2]|0))break;else h=h+1|0}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n;f=E(a[d+36>>2]|0,a[d+28>>2]|0)|0;d=b+276|0;g=a[d>>2]|0;h=a[b+28>>2]|0;b=f<<1;if(0<(g|0)&0<(b-h|0)){m=h+-1|0;k=m-b|0;l=b+2-h+(-2<(k|0)?k:-2)|0;k=0;do b=a[c+(k<<2)>>2]|0,Va(b+h|0,t[b+m>>0]|0,l|0)|0,k=k+1|0;while((k|0)!=(g|0));b=a[d>>2]|0}else b=g;if(!(0>=
-(b|0)))if(f)for(n=h=0;;){b=1;g=a[c+(h<<2)>>2]|0;k=a[c+((h|1)<<2)>>2]|0;l=0;for(m=a[e+(n<<2)>>2]|0;t[m>>0]=((x[g>>0]|0)+b+(x[g+1>>0]|0)+(x[k>>0]|0)+(x[k+1>>0]|0)|0)>>>2,l=l+1|0,(l|0)!=(f|0);)b^=3,g=g+2|0,k=k+2|0,m=m+1|0;h=h+2|0;if((h|0)>=(a[d>>2]|0))break;else n=n+1|0}else{g=0;do g=g+2|0;while((g|0)<(b|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A,C;f=a[b+416>>2]|0;g=E(a[d+36>>2]|0,a[d+28>>2]|0)|0;h=a[d+4>>2]|0;d=t[f+92+h>>0]|0;m=d&255;k=t[f+102+h>>0]|0;h=k&255;f=E(h,
-m)|0;l=f>>>1;n=b+276|0;p=a[n>>2]|0;q=a[b+28>>2]|0;b=E(m,g)|0;if(0<(p|0)&0<(b-q|0)){r=q+-1|0;u=r-b|0;v=b+2-q+(-2<(u|0)?u:-2)|0;u=0;do b=a[c+(u<<2)>>2]|0,Va(b+q|0,t[b+r>>0]|0,v|0)|0,u=u+1|0;while((u|0)!=(p|0));w=a[n>>2]|0}else w=p;if(!(0>=(w|0)))for(p=0==(g|0),u=0==k<<24>>24,k=0==d<<24>>24,d=w,v=w=0;;){if(p)b=d;else{q=r=0;for(b=a[e+(v<<2)>>2]|0;;){if(u)d=0;else for(d=z=0;;){if(k)A=z;else for(A=0,C=(a[c+(d+w<<2)>>2]|0)+q|0;;)if(z=(x[C>>0]|0)+z|0,A=A+1|0,(A|0)==(m|0)){A=z;break}else C=C+1|0;d=d+1|0;if((d|
-0)==(h|0)){d=A;break}else z=A}t[b>>0]=(d+l|0)/(f|0)|0;r=r+1|0;if((r|0)==(g|0))break;else q=q+m|0,b=b+1|0}b=a[n>>2]|0}w=w+h|0;if((w|0)>=(b|0))break;else d=b,v=v+1|0}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A,C,D,E,F,J,I,G;f=a[b+476>>2]|0;g=a[b+336>>2]|0;h=a[f+16>>2]|0;m=a[f+20>>2]|0;k=a[f+24>>2]|0;l=a[f+28>>2]|0;f=c<<1;n=a[d>>2]|0;p=a[n+(f<<2)>>2]|0;q=a[n+((f|1)<<2)>>2]|0;f=a[(a[d+4>>2]|0)+(c<<2)>>2]|0;n=a[(a[d+8>>2]|0)+(c<<2)>>2]|0;c=a[e>>2]|0;d=a[e+4>>2]|0;e=b+112|
-0;b=a[e>>2]|0;if(r=b>>>1){b=6*r|0;u=r<<1;v=c+b|0;w=n+r|0;z=r;A=p;C=q;D=f;E=n;n=c;for(c=d;;)if(F=x[D>>0]|0,J=x[E>>0]|0,I=a[h+(J<<2)>>2]|0,G=(a[k+(J<<2)>>2]|0)+(a[l+(F<<2)>>2]|0)>>16,J=a[m+(F<<2)>>2]|0,F=x[A>>0]|0,t[n>>0]=t[g+(F+I)>>0]|0,t[n+1>>0]=t[g+(F+G)>>0]|0,t[n+2>>0]=t[g+(F+J)>>0]|0,F=x[A+1>>0]|0,t[n+3>>0]=t[g+(F+I)>>0]|0,t[n+4>>0]=t[g+(F+G)>>0]|0,t[n+5>>0]=t[g+(F+J)>>0]|0,F=x[C>>0]|0,t[c>>0]=t[g+(F+I)>>0]|0,t[c+1>>0]=t[g+(F+G)>>0]|0,t[c+2>>0]=t[g+(F+J)>>0]|0,F=x[C+1>>0]|0,t[c+3>>0]=t[g+(F+I)>>
-0]|0,t[c+4>>0]=t[g+(F+G)>>0]|0,t[c+5>>0]=t[g+(F+J)>>0]|0,z=z+-1|0)A=A+2|0,C=C+2|0,D=D+1|0,E=E+1|0,n=n+6|0,c=c+6|0;else break;e=a[e>>2]|0;p=p+u|0;q=q+u|0;f=f+r|0;n=w;c=v;b=d+b|0}else e=b,b=d;e&1&&(e=x[f>>0]|0,f=x[n>>0]|0,n=a[h+(f<<2)>>2]|0,h=(a[k+(f<<2)>>2]|0)+(a[l+(e<<2)>>2]|0)>>16,l=a[m+(e<<2)>>2]|0,e=x[p>>0]|0,t[c>>0]=t[g+(e+n)>>0]|0,t[c+1>>0]=t[g+(e+h)>>0]|0,t[c+2>>0]=t[g+(e+l)>>0]|0,e=x[q>>0]|0,t[b>>0]=t[g+(e+n)>>0]|0,t[b+1>>0]=t[g+(e+h)>>0]|0,t[b+2>>0]=t[g+(e+l)>>0]|0)},function(b,d,c,e){b|=
-0;d|=0;c|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A,C;f=a[b+476>>2]|0;g=a[b+336>>2]|0;h=a[f+16>>2]|0;m=a[f+20>>2]|0;k=a[f+24>>2]|0;l=a[f+28>>2]|0;f=a[(a[d>>2]|0)+(c<<2)>>2]|0;n=a[(a[d+4>>2]|0)+(c<<2)>>2]|0;p=a[(a[d+8>>2]|0)+(c<<2)>>2]|0;c=a[(e|0)>>2]|0;e=b+112|0;b=a[e>>2]|0;if(d=b>>>1){b=p+d|0;q=d;r=f;u=n;v=p;for(p=c;;)if(w=x[u>>0]|0,z=x[v>>0]|0,A=a[h+(z<<2)>>2]|0,C=(a[k+(z<<2)>>2]|0)+(a[l+(w<<2)>>2]|0)>>16,z=a[m+(w<<2)>>2]|0,w=x[r>>0]|0,t[p>>0]=t[g+(w+A)>>0]|0,t[p+1>>0]=t[g+(w+C)>>0]|0,t[p+2>>0]=t[g+(w+
-z)>>0]|0,w=x[r+1>>0]|0,t[p+3>>0]=t[g+(w+A)>>0]|0,t[p+4>>0]=t[g+(w+C)>>0]|0,t[p+5>>0]=t[g+(w+z)>>0]|0,q=q+-1|0)r=r+2|0,u=u+1|0,v=v+1|0,p=p+6|0;else break;e=a[e>>2]|0;f=f+(d<<1)|0;n=n+d|0;p=b;d=c+(6*d|0)|0}else e=b,d=c;e&1&&(e=x[n>>0]|0,n=x[p>>0]|0,p=(a[k+(n<<2)>>2]|0)+(a[l+(e<<2)>>2]|0)>>16,l=a[m+(e<<2)>>2]|0,e=x[f>>0]|0,t[d>>0]=t[g+(e+(a[h+(n<<2)>>2]|0))>>0]|0,t[d+1>>0]=t[g+(e+p)>>0]|0,t[d+2>>0]=t[g+(e+l)>>0]|0)},function(b,d,c,e){a[(e|0)>>2]=0},function(b,d,c,e){a[(e|0)>>2]=c|0},function(b,d,c,e){b|=
-0;c|=0;var f,g,h,m,k;d=a[(e|0)>>2]|0;e=b+320|0;f=a[e>>2]|0;if(!(0>=(f|0)))for(g=b+112|0,b=f,f=0;;){h=a[d+(f<<2)>>2]|0;m=a[g>>2]|0;k=h+m|0;if(0<(m|0)){m=a[c+(f<<2)>>2]|0;for(b=h;!(h=t[m>>0]|0,t[b>>0]=h,t[b+1>>0]=h,b=b+2|0,b>>>0>=k>>>0);)m=m+1|0;h=a[e>>2]|0}else h=b;f=f+1|0;if((f|0)>=(h|0))break;else b=h}},function(b,d,c,e){b|=0;c|=0;var f,g,h,m,k,l;d=a[(e|0)>>2]|0;e=b+320|0;if(!(0>=(a[e>>2]|0)))for(f=b+112|0,g=b=0;;){h=a[d+(g<<2)>>2]|0;m=a[f>>2]|0;k=h+m|0;if(0<(m|0)){m=a[c+(b<<2)>>2]|0;for(l=h;!(h=
-t[m>>0]|0,t[l>>0]=h,t[l+1>>0]=h,l=l+2|0,l>>>0>=k>>>0);)m=m+1|0;h=a[f>>2]|0}else h=m;Dg(d,g,d,g|1,1,h);g=g+2|0;if((g|0)>=(a[e>>2]|0))break;else b=b+1|0}},function(b,d,c,e){b|=0;c|=0;var f,g,h,m,k,l,n,p,q;f=a[b+476>>2]|0;g=a[(e|0)>>2]|0;e=a[(d|0)+4>>2]|0;d=t[f+140+e>>0]|0;h=d&255;m=t[f+150+e>>0]|0;e=m&255;f=b+320|0;if(!(0>=(a[f>>2]|0)))if(k=b+112|0,b=0!=d<<24>>24,l=e+-1|0,n=(0==d<<24>>24?~h:-2)+h+2|0,1<(m&255)){for(h=m=0;;){d=a[g+(h<<2)>>2]|0;p=a[k>>2]|0;q=d+p|0;if(0<(p|0)){if(!b){b=5;break}for(p=a[c+
-(m<<2)>>2]|0;!(Va(d|0,t[p>>0]|0,n|0)|0,d=d+n|0,d>>>0>=q>>>0);)p=p+1|0}Dg(g,h,g,h+1|0,l,a[k>>2]|0);h=h+e|0;if((h|0)>=(a[f>>2]|0)){b=15;break}else m=m+1|0}if(5==(b|0))for(;;);}else{for(h=m=0;;){l=a[g+(h<<2)>>2]|0;p=a[k>>2]|0;q=l+p|0;if(0<(p|0)){if(!b){b=13;break}p=a[c+(m<<2)>>2]|0;for(d=l;!(Va(d|0,t[p>>0]|0,n|0)|0,d=d+n|0,d>>>0>=q>>>0);)p=p+1|0}h=h+e|0;if((h|0)>=(a[f>>2]|0)){b=15;break}else m=m+1|0}if(13==(b|0))for(;;);}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n;f=a[(a[b+484>>2]|0)+24>>
-2]|0;g=a[f>>2]|0;h=a[f+4>>2]|0;m=a[f+8>>2]|0;f=a[b+112>>2]|0;if(!(1>(e|0)|0==(f|0))){k=0;do{b=f;l=a[d+(k<<2)>>2]|0;for(n=a[c+(k<<2)>>2]|0;;)if(t[n>>0]=(x[h+(x[l+1>>0]|0)>>0]|0)+(x[g+(x[l>>0]|0)>>0]|0)+(x[m+(x[l+2>>0]|0)>>0]|0),b=b+-1|0)l=l+3|0,n=n+1|0;else break;k=k+1|0}while((k|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u;f=a[(a[b+484>>2]|0)+24>>2]|0;g=a[b+112>>2]|0;h=a[b+120>>2]|0;if(!(0>=(e|0))){b=0==(g|0);m=0<(h|0);k=0;do{if(!b)for(l=g,n=a[d+(k<<2)>>2]|0,p=a[c+
-(k<<2)>>2]|0;;){if(m){r=q=0;for(u=n;;)if(r=(x[(a[f+(q<<2)>>2]|0)+(x[u>>0]|0)>>0]|0)+r|0,q=q+1|0,(q|0)==(h|0)){q=r;break}else u=u+1|0;n=n+h|0}else q=0;t[p>>0]=q;if(l=l+-1|0)p=p+1|0;else break}k=k+1|0}while((k|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A,C,D;f=a[b+484>>2]|0;g=a[f+24>>2]|0;h=a[g>>2]|0;m=a[g+4>>2]|0;k=a[g+8>>2]|0;g=a[b+112>>2]|0;if(!(0>=(e|0))){b=f+48|0;l=f+52|0;n=f+56|0;p=f+60|0;f=0==(g|0);q=a[b>>2]|0;r=0;do{u=a[l>>2]|0;v=a[n>>2]|0;w=a[p>>2]|0;
-if(!f)for(z=g,A=0,C=a[d+(r<<2)>>2]|0,D=a[c+(r<<2)>>2]|0;;)if(t[D>>0]=(x[m+((x[C+1>>0]|0)+(a[v+(q<<6)+(A<<2)>>2]|0))>>0]|0)+(x[h+((x[C>>0]|0)+(a[u+(q<<6)+(A<<2)>>2]|0))>>0]|0)+(x[k+((x[C+2>>0]|0)+(a[w+(q<<6)+(A<<2)>>2]|0))>>0]|0),z=z+-1|0)A=A+1&15,C=C+3|0,D=D+1|0;else break;q=q+1&15;a[b>>2]=q;r=r+1|0}while((r|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,w,z,A,C,D;f=a[b+484>>2]|0;g=a[b+120>>2]|0;h=a[b+112>>2]|0;if(!(0>=(e|0))){b=f+48|0;m=0<(g|0);k=f+24|0;l=0==(h|0);
-n=0;do{p=c+(n<<2)|0;Va(a[p>>2]|0,0,h|0)|0;q=a[b>>2]|0;if(m){r=d+(n<<2)|0;u=0;do{v=a[(a[k>>2]|0)+(u<<2)>>2]|0;w=a[f+52+(u<<2)>>2]|0;if(!l)for(z=h,A=0,C=(a[r>>2]|0)+u|0,D=a[p>>2]|0;;)if(t[D>>0]=(x[D>>0]|0)+(x[v+((x[C>>0]|0)+(a[w+(q<<6)+(A<<2)>>2]|0))>>0]|0),z=z+-1|0)A=A+1&15,C=C+g|0,D=D+1|0;else break;u=u+1|0}while((u|0)!=(g|0))}a[b>>2]=q+1&15;n=n+1|0}while((n|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,A,z,D,C,F,N,R,J,I,G,L,K,S,U,O,M,T,W,P;f=a[b+484>>2]|0;g=a[b+120>>
-2]|0;h=a[b+112>>2]|0;m=a[b+336>>2]|0;if(!(0>=(e|0))){b=0<(g|0);k=f+84|0;l=f+24|0;n=f+16|0;p=0==(h|0);q=h+-1|0;r=E(q,g)|0;u=0-g|0;v=h+1|0;A=0;do{z=c+(A<<2)|0;Va(a[z>>2]|0,0,h|0)|0;if(b){D=d+(A<<2)|0;C=0;do{F=a[z>>2]|0;N=a[f+68+(C<<2)>>2]|0;a[k>>2]|0?(R=C+r|0,J=-1,I=u,G=N+(v<<1)|0,L=F+q|0):(R=C,J=1,I=g,G=N,L=F);F=a[(a[l>>2]|0)+(C<<2)>>2]|0;N=a[(a[n>>2]|0)+(C<<2)>>2]|0;if(p)F=0;else{K=E(h,J)|0;U=S=0;O=h;M=0;T=G;for(R=(a[D>>2]|0)+R|0;;)if(W=T,T=T+(J<<1)|0,M=x[m+((M+8+(w[T>>1]|0)>>4)+(x[R>>0]|0))>>0]|
-0,P=x[F+M>>0]|0,t[L>>0]=(x[L>>0]|0)+P,M=M-(x[N+P>>0]|0)|0,w[W>>1]=(3*M|0)+U,W=(5*M|0)+S|0,O=O+-1|0)S=M,U=W,M=7*M|0,R=R+I|0,L=L+J|0;else{F=W;break}G=G+(K<<1)|0}w[G>>1]=F;C=C+1|0}while((C|0)!=(g|0))}a[k>>2]=0==(a[k>>2]|0)&1;A=A+1|0}while((A|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;e|=0;var f,g,h,m,k,l;c=a[(a[b+484>>2]|0)+24>>2]|0;f=a[b+112>>2]|0;if(!(1>(e|0)|0==(f|0))){g=0;do{b=f;for(h=a[d+(g<<2)>>2]|0;;)if(m=(a[c+((x[h>>0]|0)>>>3<<2)>>2]|0)+((x[h+1>>0]|0)>>>2<<6)+((x[h+2>>0]|0)>>>3<<1)|0,k=w[m>>1]|
-0,l=k+1<<16>>16,w[m>>1]=0==l<<16>>16?k:l,b=b+-1|0)h=h+3|0;else break;g=g+1|0}while((g|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v,A,z,D,C,F,N,R,J,I,G,L,K,S,U,O,M,T,W,P,Y,Z,aa,ba,ca,da,fa,ga;f=a[b+484>>2]|0;g=a[f+24>>2]|0;h=a[b+112>>2]|0;m=a[b+336>>2]|0;k=a[f+40>>2]|0;l=a[b+136>>2]|0;n=a[l>>2]|0;p=a[l+4>>2]|0;q=a[l+8>>2]|0;if(!(0>=(e|0))){l=f+36|0;r=f+32|0;f=0==(h|0);u=h+-1|0;v=3*u|0;A=(3*h|0)+3|0;z=0;do{D=a[d+(z<<2)>>2]|0;C=a[c+(z<<2)>>2]|0;a[l>>2]|0?(F=-1,N=-3,
-R=(a[r>>2]|0)+(A<<1)|0,J=D+v|0,I=C+u|0,G=0):(F=1,N=3,R=a[r>>2]|0,J=D,I=C,G=1);a[l>>2]=G;if(f)D=N=F=0;else{C=N+1|0;D=N+2|0;G=E(h,N)|0;M=O=U=S=K=L=0;T=h;Y=P=W=0;Z=R;for(aa=I;;)if(I=Z,Z=Z+(N<<1)|0,ba=x[m+((x[J>>0]|0)+(a[k+(W+8+(w[Z>>1]|0)>>4<<2)>>2]|0))>>0]|0,ca=x[m+((x[J+1>>0]|0)+(a[k+(P+8+(w[I+(C<<1)>>1]|0)>>4<<2)>>2]|0))>>0]|0,W=x[m+((x[J+2>>0]|0)+(a[k+(Y+8+(w[I+(D<<1)>>1]|0)>>4<<2)>>2]|0))>>0]|0,P=W>>>3,Y=ca>>>2,da=ba>>>3,fa=(a[g+(da<<2)>>2]|0)+(Y<<6)+(P<<1)|0,ga=w[fa>>1]|0,ga<<16>>16?P=ga:(Hg(b,
-da,Y,P),P=w[fa>>1]|0),ga=(P&65535)+-1|0,t[aa>>0]=ga,fa=ba-(x[n+ga>>0]|0)|0,ba=ca-(x[p+ga>>0]|0)|0,ca=W-(x[q+ga>>0]|0)|0,w[I>>1]=(3*fa|0)+U,ga=(5*fa|0)+L|0,w[I+2>>1]=(3*ba|0)+O,W=(5*ba|0)+K|0,w[I+4>>1]=(3*ca|0)+M,I=(5*ca|0)+S|0,T=T+-1|0)L=fa,K=ba,S=ca,U=ga,O=W,M=I,W=7*fa|0,P=7*ba|0,Y=7*ca|0,J=J+N|0,aa=aa+F|0;else{F=ga;N=W;D=I;break}R=R+(G<<1)|0}w[R>>1]=F;w[R+2>>1]=N;w[R+4>>1]=D;z=z+1|0}while((z|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k,l,n,p,q,r,u,v;f=a[(a[b+484>>2]|0)+24>>2]|
-0;g=a[b+112>>2]|0;if(!(0>=(e|0))){h=0==(g|0);m=0;do{if(!h)for(k=g,l=a[d+(m<<2)>>2]|0,n=a[c+(m<<2)>>2]|0;;)if(p=(x[l>>0]|0)>>>3,q=(x[l+1>>0]|0)>>>2,r=(x[l+2>>0]|0)>>>3,u=(a[f+(p<<2)>>2]|0)+(q<<6)+(r<<1)|0,v=w[u>>1]|0,v<<16>>16?p=v:(Hg(b,p,q,r),p=w[u>>1]|0),t[n>>0]=(p&65535)+255,k=k+-1|0)l=l+3|0,n=n+1|0;else break;m=m+1|0}while((m|0)!=(e|0))}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m,k=0,l=0,n=0,p=0,q=0,r=0,t=0,u,v,w,x,A,D,F;f=b+448|0;g=a[f>>2]|0;h=g+48|0;if(!(a[h>>2]|0))if(dd[a[(a[b+452>>
-2]|0)+12>>2]&127](b,a[g+56+(a[g+64>>2]<<2)>>2]|0)|0)a[h>>2]=1,m=g+76|0,a[m>>2]=(a[m>>2]|0)+1;else return;m=g+68|0;switch(a[m>>2]|0){case 2:k=g+52|0;l=g+72|0;ee[a[(a[b+456>>2]|0)+4>>2]&15](b,a[g+56+(a[g+64>>2]<<2)>>2]|0,k,a[l>>2]|0,d,c,e);if((a[k>>2]|0)>>>0<(a[l>>2]|0)>>>0)return;a[m>>2]=0;if((a[c>>2]|0)>>>0<e>>>0)n=k,p=l,q=9;else return;break;case 0:n=g+52|0;p=g+72|0;q=9;break;case 1:r=g+52|0;t=g+72|0;break;default:return}if(9==(q|0)){a[n>>2]=0;q=a[b+328>>2]|0;a[p>>2]=q+-1;if((a[g+76>>2]|0)==(a[b+
-332>>2]|0)&&(l=a[f>>2]|0,k=a[b+36>>2]|0,0<(k|0)))for(u=l+72|0,v=l+64|0,w=0,x=a[b+216>>2]|0;;){A=E(a[x+40>>2]|0,a[x+12>>2]|0)|0;D=(A|0)/(q|0)|0;r=((a[x+48>>2]|0)>>>0)%(A>>>0)|0;t=0==(r|0)?A:r;w||(a[u>>2]=((t+-1|0)/(D|0)|0)+1);r=a[(a[l+56+(a[v>>2]<<2)>>2]|0)+(w<<2)>>2]|0;A=D<<1;if(0<(D|0)){D=r+(t+-1<<2)|0;F=0;do a[r+(F+t<<2)>>2]=a[D>>2],F=F+1|0;while((F|0)<(A|0))}w=w+1|0;if((w|0)==(k|0))break;else x=x+88|0}a[m>>2]=1;r=n;t=p}p=g+64|0;ee[a[(a[b+456>>2]|0)+4>>2]&15](b,a[g+56+(a[p>>2]<<2)>>2]|0,r,a[t>>
-2]|0,d,c,e);if(!((a[r>>2]|0)>>>0<(a[t>>2]|0)>>>0)){if(1==(a[g+76>>2]|0))if(g=a[f>>2]|0,f=a[b+328>>2]|0,e=a[b+36>>2]|0,0<(e|0))for(c=g+56|0,d=g+60|0,g=f+1|0,n=f+2|0,x=0,k=a[b+216>>2]|0;;){w=(E(a[k+40>>2]|0,a[k+12>>2]|0)|0)/(f|0)|0;v=a[(a[c>>2]|0)+(x<<2)>>2]|0;l=a[(a[d>>2]|0)+(x<<2)>>2]|0;if(0<(w|0)){u=E(w,g)|0;q=E(w,n)|0;A=0;do F=A+u|0,D=A-w|0,a[v+(D<<2)>>2]=a[v+(F<<2)>>2],a[l+(D<<2)>>2]=a[l+(F<<2)>>2],F=A+q|0,a[v+(F<<2)>>2]=a[v+(A<<2)>>2],a[l+(F<<2)>>2]=a[l+(A<<2)>>2],A=A+1|0;while((A|0)!=(w|0))}x=
-x+1|0;if((x|0)==(e|0)){b=f;break}else k=k+88|0}else b=f;else b=a[b+328>>2]|0;a[p>>2]^=1;a[h>>2]=0;a[r>>2]=b+1;a[t>>2]=b+2;a[m>>2]=2}},function(b,d,c,e){b|=0;d|=0;c|=0;e|=0;var f,g,h,m;f=a[b+448>>2]|0;g=f+48|0;if(a[g>>2]|0)m=f+8|0;else if(h=f+8|0,dd[a[(a[b+452>>2]|0)+12>>2]&127](b,h)|0)a[g>>2]=1,m=h;else return;h=a[b+328>>2]|0;f=f+52|0;ee[a[(a[b+456>>2]|0)+4>>2]&15](b,m,f,h,d,c,e);(a[f>>2]|0)>>>0<h>>>0||(a[g>>2]=0,a[f>>2]=0)},function(b,d,c,e){b|=0;ee[a[(a[b+456>>2]|0)+4>>2]&15](b,0,0,0,d|0,c|0,e|
-0)},mi,mi,mi];return{_GetField:function(b,d){var c,e;c=u;u=u+16|0;e=c+4|0;a[e>>2]=0;a[c>>2]=e;Pd(b|0,d|0,c)|0;u=c;return a[e>>2]|0},_TIFFClose:function(b){b|=0;var d,c;d=a[b+644>>2]|0;c=a[b+628>>2]|0;Ik(b);da[d&63](c)|0},_TIFFReadDirectory:ck,_TIFFGetField:Pd,_bitshift64Lshr:Oe,_bitshift64Shl:Oc,_TIFFReadRGBAImageOriented:vc,_TIFFCurrentDirectory:function(a){return w[(a|0)+448>>1]|0},_fflush:Rk,_TIFFSetDirectory:function(b,d){b|=0;d|=0;var c,e,f,g,h,m;c=u;u=u+16|0;a[b+12>>2]&524288?(g=b+432|0,e=a[g>>
-2]|0,f=a[g+4>>2]|0):(e=a[b+428>>2]|0,f=0);g=c;a[g>>2]=e;a[g+4>>2]=f;a:do{if(0!=d<<16>>16&(0!=(e|0)|0!=(f|0))){for(g=d;;){if(!(Gj(b,c,0)|0)){g=0;break}e=g+-1<<16>>16;f=c;g=a[f>>2]|0;f=a[f+4>>2]|0;if(0!=e<<16>>16&(0!=(g|0)|0!=(f|0)))g=e;else{h=f;m=e;break a}}u=c;return g|0}g=e;h=f;m=d}while(0);f=b+24|0;a[f>>2]=g;a[f+4>>2]=h;w[b+448>>1]=(d&65535)+65535-(m&65535);w[b+38>>1]=0;g=ck(b)|0;u=c;return g|0},_realloc:qi,_memset:Va,_memcpy:Ec,_llvm_bswap_i32:lk,_i64Subtract:Ic,_TIFFOpen:function(b,d){b|=0;d|=
-0;var c,e,f,g,h;c=u;u=u+32|0;e=c+16|0;f=c+8|0;g=c;a:{var m;m=d|0;var k;h=u;u=u+16|0;k=t[m>>0]|0;switch(k<<24>>24|0){case 114:m=43==(t[m+1>>0]|0)?2:0;u=h;h=m|0;break a;case 97:case 119:u=h;h=(119==k<<24>>24?578:66)|0;break a;default:a[h>>2]=m,Y(0,139905,137216,h),u=h,h=-1}}h|=0;if(-1==(h|0))return u=c,0;a[g>>2]=438;var l;m=u;u=u+32|0;k=m+16|0;a[k>>2]=g|0;g=(a[k>>2]|0)+3&-4;l=a[g>>2]|0;a[k>>2]=g+4;a[m>>2]=b|0;a[m+4>>2]=h|32768;a[m+8>>2]=l;l=le(tl(5,m|0)|0)|0;u=m;h=l|0;if(0<=(h|0)){if(g=rd(b,d,h,8,9,
-5,2,3,10,2)|0)return a[g+4>>2]=h,u=c,g|0;Xk(h)|0;u=c;return 0}g=md()|0;h=a[g>>2]|0;if(0<(h|0)&&0!=(uk(h)|0))return h=uk(a[g>>2]|0)|0,a[f>>2]=b,a[f+4>>2]=h,Y(0,139905,139914,f),u=c,0;a[e>>2]=b;Y(0,139905,139921,e);u=c;return 0},_i64Add:Qb,_TIFFReadRGBAImage:function(a,d,c,e,f){return vc(a|0,d|0,c|0,e|0,4,f|0)|0},__TIFFmalloc:eb,___errno_location:md,_testSetjmp:db,_saveSetjmp:Xc,_free:Gc,_malloc:Hc,__TIFFfree:ja,runPostSets:function(){},_emscripten_replace_memory:function(b){if(Fk(b)&16777215||16777215>=
-Fk(b)||2147483648<Fk(b))return!1;t=new il(b);w=new jl(b);a=new kl(b);x=new ll(b);N=new ml(b);new nl(b);W=new ol(b);Hb=new pl(b);A=b;return!0},stackAlloc:function(a){var d;d=u;u=u+(a|0)|0;u=u+15&-16;return d|0},stackSave:function(){return u|0},stackRestore:function(a){u=a|0},establishStackSpace:function(a,d){u=a|0},setThrew:function(a,d){Wa||(Wa=a|0,pa=d|0)},setTempRet0:function(a){U=a|0},getTempRet0:function(){return U|0},dynCall_iiii:function(a,d,c,e){return Aa[(a|0)&63](d|0,c|0,e|0)|0},dynCall_viiiiiii:function(a,
-d,c,e,f,g,h,m){ee[(a|0)&15](d|0,c|0,e|0,f|0,g|0,h|0,m|0)},dynCall_viiiii:function(a,d,c,e,f,g){sf[(a|0)&63](d|0,c|0,e|0,f|0,g|0)},dynCall_vi:function(a,d){R[(a|0)&127](d|0)},dynCall_vii:function(a,d,c){ub[(a|0)&31](d|0,c|0)},dynCall_iiiiiii:function(a,d,c,e,f,g,h){return Hi[(a|0)&3](d|0,c|0,e|0,f|0,g|0,h|0)|0},dynCall_viiiiiiiiiiii:function(a,d,c,e,f,g,h,m,k,l,n,p,q){Gk[(a|0)&15](d|0,c|0,e|0,f|0,g|0,h|0,m|0,k|0,l|0,n|0,p|0,q|0)},dynCall_ii:function(a,d){return da[(a|0)&63](d|0)|0},dynCall_viii:function(a,
-d,c,e){td[(a|0)&127](d|0,c|0,e|0)},dynCall_viiiiiiiii:function(a,d,c,e,f,g,h,m,k,l){Ii[(a|0)&31](d|0,c|0,e|0,f|0,g|0,h|0,m|0,k|0,l|0)},dynCall_iiiii:function(a,d,c,e,f){return rb[(a|0)&63](d|0,c|0,e|0,f|0)|0},dynCall_iii:function(a,d,c){return dd[(a|0)&127](d|0,c|0)|0},dynCall_iiiiii:function(a,d,c,e,f,g){return jg[(a|0)&3](d|0,c|0,e|0,f|0,g|0)|0},dynCall_viiii:function(a,d,c,e,f){Ud[(a|0)&31](d|0,c|0,e|0,f|0)}}}(F.asmGlobalArg,F.asmLibraryArg,rd);F._GetField=ab._GetField;F._TIFFClose=ab._TIFFClose;
-F._TIFFReadDirectory=ab._TIFFReadDirectory;F._TIFFGetField=ab._TIFFGetField;var Rj=F._bitshift64Lshr=ab._bitshift64Lshr,Mj=F._bitshift64Shl=ab._bitshift64Shl;F._TIFFReadRGBAImageOriented=ab._TIFFReadRGBAImageOriented;F._TIFFCurrentDirectory=ab._TIFFCurrentDirectory;F._fflush=ab._fflush;F._TIFFSetDirectory=ab._TIFFSetDirectory;F._TIFFOpen=ab._TIFFOpen;var Mi=F._memset=ab._memset,Vj=F._memcpy=ab._memcpy,Xj=F._llvm_bswap_i32=ab._llvm_bswap_i32,Lj=F._i64Subtract=ab._i64Subtract,Ph=F._realloc=ab._realloc,
-Nj=F._i64Add=ab._i64Add;F._TIFFReadRGBAImage=ab._TIFFReadRGBAImage;F.__TIFFmalloc=ab.__TIFFmalloc;F.___errno_location=ab.___errno_location;var Sj=F._testSetjmp=ab._testSetjmp,Qj=F._saveSetjmp=ab._saveSetjmp,vf=F._free=ab._free;F.runPostSets=ab.runPostSets;var uf=F._malloc=ab._malloc;F.__TIFFfree=ab.__TIFFfree;var Dj=F._emscripten_replace_memory=ab._emscripten_replace_memory;F.dynCall_iiii=ab.dynCall_iiii;F.dynCall_viiiiiii=ab.dynCall_viiiiiii;F.dynCall_viiiii=ab.dynCall_viiiii;F.dynCall_vi=ab.dynCall_vi;
-F.dynCall_vii=ab.dynCall_vii;F.dynCall_iiiiiii=ab.dynCall_iiiiiii;F.dynCall_viiiiiiiiiiii=ab.dynCall_viiiiiiiiiiii;F.dynCall_ii=ab.dynCall_ii;F.dynCall_viii=ab.dynCall_viii;F.dynCall_viiiiiiiii=ab.dynCall_viiiiiiiii;F.dynCall_iiiii=ab.dynCall_iiiii;F.dynCall_iii=ab.dynCall_iii;F.dynCall_iiiiii=ab.dynCall_iiiiii;F.dynCall_viiii=ab.dynCall_viiii;ra.stackAlloc=ab.stackAlloc;ra.stackSave=ab.stackSave;ra.stackRestore=ab.stackRestore;ra.establishStackSpace=ab.establishStackSpace;ra.setTempRet0=ab.setTempRet0;
-ra.getTempRet0=ab.getTempRet0;of.prototype=Error();of.prototype.constructor=of;var Ej,Th=null,Vf=function v(){F.calledRun||$g();F.calledRun||(Vf=v)};F.callMain=F.callMain=function(r){function A(){for(var r=0;3>r;r++)S.push(0)}fb(0==Uf,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");fb(0==Jf.length,"cannot call main when preRun functions remain to be called");r=r||[];pg||(pg=!0,mg(qg));var D=r.length+1,S=[vc(yf(F.thisProgram),"i8",0)];A();for(var aa=0;aa<D-1;aa+=1)S.push(vc(yf(r[aa]),
-"i8",0)),A();S.push(0);S=vc(S,"i32",0);try{var ca=F._main(D,S,0);Jg(ca,!0)}catch(ra){if(!(ra instanceof of))if("SimulateInfiniteLoop"==ra)F.noExitRuntime=!0;else throw ra&&"object"===typeof ra&&ra.stack&&F.printErr("exception thrown: "+[ra,ra.stack]),ra;}finally{}};F.run=F.run=$g;F.exit=F.exit=Jg;var bh=[];F.abort=F.abort=Vc;if(F.preInit)for("function"==typeof F.preInit&&(F.preInit=[F.preInit]);0<F.preInit.length;)F.preInit.pop()();var Sh=!0;F.noInitialRun&&(Sh=!1);$g();return F},TiffTag={SUBFILETYPE:254,
-OSUBFILETYPE:255,IMAGEWIDTH:256,IMAGELENGTH:257,BITSPERSAMPLE:258,COMPRESSION:259,PHOTOMETRIC:262,THRESHHOLDING:263,CELLWIDTH:264,CELLLENGTH:265,FILLORDER:266,DOCUMENTNAME:269,IMAGEDESCRIPTION:270,MAKE:271,MODEL:272,STRIPOFFSETS:273,ORIENTATION:274,SAMPLESPERPIXEL:277,ROWSPERSTRIP:278,STRIPBYTECOUNTS:279,MINSAMPLEVALUE:280,MAXSAMPLEVALUE:281,XRESOLUTION:282,YRESOLUTION:283,PLANARCONFIG:284,PAGENAME:285,XPOSITION:286,YPOSITION:287,FREEOFFSETS:288,FREEBYTECOUNTS:289,GRAYRESPONSEUNIT:290,GRAYRESPONSECURVE:291,
-RESOLUTIONUNIT:296,PAGENUMBER:297,COLORRESPONSEUNIT:300,TRANSFERFUNCTION:301,SOFTWARE:305,DATETIME:306,ARTIST:315,HOSTCOMPUTER:316,PREDICTOR:317,WHITEPOINT:318,PRIMARYCHROMATICITIES:319,COLORMAP:320,HALFTONEHINTS:321,TILEWIDTH:322,TILELENGTH:323,TILEOFFSETS:324,TILEBYTECOUNTS:325,BADFAXLINES:326,CLEANFAXDATA:327,CONSECUTIVEBADFAXLINES:328,SUBIFD:330,INKSET:332,INKNAMES:333,NUMBEROFINKS:334,DOTRANGE:336,TARGETPRINTER:337,EXTRASAMPLES:338,SAMPLEFORMAT:339,SMINSAMPLEVALUE:340,SMAXSAMPLEVALUE:341,CLIPPATH:343,
-XCLIPPATHUNITS:344,YCLIPPATHUNITS:345,INDEXED:346,JPEGTABLES:347,OPIPROXY:351,GLOBALPARAMETERSIFD:400,PROFILETYPE:401,FAXPROFILE:402,CODINGMETHODS:403,VERSIONYEAR:404,MODENUMBER:405,DECODE:433,IMAGEBASECOLOR:434,JPEGPROC:512,JPEGIFOFFSET:513,JPEGIFBYTECOUNT:514,JPEGRESTARTINTERVAL:515,JPEGLOSSLESSPREDICTORS:517,JPEGPOINTTRANSFORM:518,JPEGQTABLES:519,JPEGDCTABLES:520,JPEGACTABLES:521,YCBCRCOEFFICIENTS:529,YCBCRSUBSAMPLING:530,YCBCRPOSITIONING:531,REFERENCEBLACKWHITE:532,STRIPROWCOUNTS:559,XMLPACKET:700,
-OPIIMAGEID:32781,REFPTS:32953,REGIONTACKPOINT:32954,REGIONWARPCORNERS:32955,REGIONAFFINE:32956,MATTEING:32995,DATATYPE:32996,IMAGEDEPTH:32997,TILEDEPTH:32998,PIXAR_IMAGEFULLWIDTH:33300,PIXAR_IMAGEFULLLENGTH:33301,PIXAR_TEXTUREFORMAT:33302,PIXAR_WRAPMODES:33303,PIXAR_FOVCOT:33304,PIXAR_MATRIX_WORLDTOSCREEN:33305,PIXAR_MATRIX_WORLDTOCAMERA:33306,WRITERSERIALNUMBER:33405,CFAREPEATPATTERNDIM:33421,CFAPATTERN:33422,COPYRIGHT:33432,RICHTIFFIPTC:33723,FRAMECOUNT:34232,PHOTOSHOP:34377,EXIFIFD:34665,ICCPROFILE:34675,
-IMAGELAYER:34732,JBIGOPTIONS:34750,GPSIFD:34853,FAXRECVPARAMS:34908,FAXSUBADDRESS:34909,FAXRECVTIME:34910,FAXDCS:34911,STONITS:37439,FEDEX_EDR:34929,INTEROPERABILITYIFD:40965,DNGVERSION:50706,DNGBACKWARDVERSION:50707,UNIQUECAMERAMODEL:50708,LOCALIZEDCAMERAMODEL:50709,CFAPLANECOLOR:50710,CFALAYOUT:50711,LINEARIZATIONTABLE:50712,BLACKLEVELREPEATDIM:50713,BLACKLEVEL:50714,BLACKLEVELDELTAH:50715,BLACKLEVELDELTAV:50716,WHITELEVEL:50717,DEFAULTSCALE:50718,DEFAULTCROPORIGIN:50719,DEFAULTCROPSIZE:50720,ANALOGBALANCE:50727,
-ASSHOTNEUTRAL:50728,ASSHOTWHITEXY:50729,BASELINEEXPOSURE:50730,BASELINENOISE:50731,BASELINESHARPNESS:50732,BAYERGREENSPLIT:50733,LINEARRESPONSELIMIT:50734,CAMERASERIALNUMBER:50735,LENSINFO:50736,CHROMABLURRADIUS:50737,ANTIALIASSTRENGTH:50738,SHADOWSCALE:50739,DNGPRIVATEDATA:50740,MAKERNOTESAFETY:50741,BESTQUALITYSCALE:50780,RAWDATAUNIQUEID:50781,ORIGINALRAWFILENAME:50827,ORIGINALRAWFILEDATA:50828,ACTIVEAREA:50829,MASKEDAREAS:50830,ASSHOTICCPROFILE:50831,ASSHOTPREPROFILEMATRIX:50832,CURRENTICCPROFILE:50833,
-CURRENTPREPROFILEMATRIX:50834,DCSHUESHIFTVALUES:65535,FAXMODE:65536,JPEGQUALITY:65537,JPEGCOLORMODE:65538,JPEGTABLESMODE:65539,FAXFILLFUNC:65540,PIXARLOGDATAFMT:65549,DCSIMAGERTYPE:65550,DCSINTERPMODE:65551,DCSBALANCEARRAY:65552,DCSCORRECTMATRIX:65553,DCSGAMMA:65554,DCSTOESHOULDERPTS:65555,DCSCALIBRATIONFD:65556,ZIPQUALITY:65557,PIXARLOGQUALITY:65558,DCSCLIPRECTANGLE:65559,SGILOGDATAFMT:65560,SGILOGENCODE:65561,LZMAPRESET:65562,PERSAMPLE:65563},Tiff=function(){function Lb(nc){null===Lb.Module&&Lb.initialize({});
-this._filename=Lb.createFileSystemObjectFromBuffer(nc.buffer);this._tiffPtr=Lb.Module.ccall("TIFFOpen","number",["string","string"],[this._filename,"r"]);if(0===this._tiffPtr)throw new Lb.Exception("The function TIFFOpen returns NULL");}Lb.initialize=function(nc){null===Lb.Module&&(Lb.Module=loadModule(nc))};Lb.prototype.width=function(){return this.getField(Lb.Tag.IMAGEWIDTH)};Lb.prototype.height=function(){return this.getField(Lb.Tag.IMAGELENGTH)};Lb.prototype.currentDirectory=function(){return Lb.Module.ccall("TIFFCurrentDirectory",
-"number",["number"],[this._tiffPtr])};Lb.prototype.countDirectory=function(){for(var nc=0,fb=this.currentDirectory();nc+=1,0!==Lb.Module.ccall("TIFFReadDirectory","number",["number"],[this._tiffPtr]););this.setDirectory(fb);return nc};Lb.prototype.setDirectory=function(nc){return Lb.Module.ccall("TIFFSetDirectory","number",["number","number"],[this._tiffPtr,nc])};Lb.prototype.getField=function(nc){return Lb.Module.ccall("GetField","number",["number","number"],[this._tiffPtr,nc])};Lb.prototype.readRGBAImage=
-function(){var nc=this.width(),fb=this.height(),me=Lb.Module.ccall("_TIFFmalloc","number",["number"],[nc*fb*4]);if(0===Lb.Module.ccall("TIFFReadRGBAImageOriented","number","number number number number number number".split(" "),[this._tiffPtr,nc,fb,me,1,0]))throw new Lb.Exception("The function TIFFReadRGBAImageOriented returns NULL");nc=Lb.Module.HEAPU8.buffer.slice(me,me+nc*fb*4);Lb.Module.ccall("free","number",["number"],[me]);return nc};Lb.prototype.toCanvas=function(){var nc=this.width(),fb=this.height(),
-me=Lb.Module.ccall("_TIFFmalloc","number",["number"],[nc*fb*4]);if(0===Lb.Module.ccall("TIFFReadRGBAImageOriented","number","number number number number number number".split(" "),[this._tiffPtr,nc,fb,me,1,0]))throw new Lb.Exception("The function TIFFReadRGBAImageOriented returns NULL");var If=Lb.Module.HEAPU8.subarray(me,me+nc*fb*4),dg=document.createElement("canvas"),vc=dg.getContext("2d");dg.width=nc;dg.height=fb;nc=vc.createImageData(nc,fb);nc.data.set(If);vc.putImageData(nc,0,0);Lb.Module.ccall("free",
-"number",["number"],[me]);return dg};Lb.prototype.toDataURL=function(){return this.toCanvas().toDataURL()};Lb.prototype.close=function(){Lb.Module.ccall("TIFFClose","number",["number"],[this._tiffPtr])};Lb.createUniqueFileName=function(){Lb.uniqueIdForFileName+=1;return String(Lb.uniqueIdForFileName)+".tiff"};Lb.createFileSystemObjectFromBuffer=function(nc){var fb=Lb.createUniqueFileName();Lb.Module.FS.createDataFile("/",fb,new Uint8Array(nc),!0,!1);return fb};Lb.uniqueIdForFileName=0;Lb.Module=null;
-return Lb}();(function(Lb){var nc=function(){return function(fb){this.message=fb;this.name="Tiff.Exception"}}();Lb.Exception=nc;Lb.Tag=TiffTag})(Tiff||(Tiff={}));Tiff.prototype.width=Tiff.prototype.width;Tiff.prototype.height=Tiff.prototype.height;Tiff.prototype.currentDirectory=Tiff.prototype.currentDirectory;Tiff.prototype.countDirectory=Tiff.prototype.countDirectory;Tiff.prototype.setDirectory=Tiff.prototype.setDirectory;Tiff.prototype.getField=Tiff.prototype.getField;
-Tiff.prototype.readRGBAImage=Tiff.prototype.readRGBAImage;Tiff.prototype.close=Tiff.prototype.close;Tiff.Exception=Tiff.Exception;Tiff.initialize=Tiff.initialize;"object"===typeof process&&"function"===typeof require?module.exports=Tiff:"function"===typeof define&&define.amd?define("tiff",[],function(){return Tiff}):"object"===typeof window?window.Tiff=Tiff:"function"===typeof importScripts&&(self.Tiff=Tiff);})();
diff --git a/server/target/classes/static/js/viewer.min.js b/server/target/classes/static/js/viewer.min.js
deleted file mode 100644
index 875f22f..0000000
--- a/server/target/classes/static/js/viewer.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/*!
- * Viewer.js v1.0.0-rc.1
- * https://github.com/fengyuanchen/viewerjs
- *
- * Copyright (c) 2015-2018 Chen Fengyuan
- * Released under the MIT license
- *
- * Date: 2018-03-13T14:06:27.179Z
- */
-!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):t.Viewer=i()}(this,function(){"use strict";var n={inline:!1,button:!0,navbar:!0,title:!0,toolbar:!0,tooltip:!0,movable:!0,zoomable:!0,rotatable:!0,scalable:!0,transition:!0,fullscreen:!0,interval:5e3,keyboard:!0,backdrop:!0,loading:!0,loop:!0,minWidth:200,minHeight:100,zoomRatio:.1,minZoomRatio:.01,maxZoomRatio:100,zIndex:2015,zIndexInline:0,url:"src",container:"body",filter:null,ready:null,show:null,shown:null,hide:null,hidden:null,view:null,viewed:null},t="undefined"!=typeof window?window:{},p="viewer",l="move",d="switch",c="zoom",m=p+"-active",w=p+"-fade",b=p+"-fixed",o=p+"-fullscreen-exit",y=p+"-hide",i=p+"-hide-md-down",e=p+"-hide-sm-down",s=p+"-hide-xs-down",u=p+"-in",x=p+"-invisible",f=p+"-loading",a=p+"-open",g=p+"-show",v=p+"-transition",D="ready",r="show",h="shown",z="hide",k="hidden",E="view",S="viewed",I="click",T="dragstart",L="keydown",C="load",M=t.PointerEvent?"pointerdown":"touchstart mousedown",N=t.PointerEvent?"pointermove":"touchmove mousemove",Y=t.PointerEvent?"pointerup pointercancel":"touchend touchcancel mouseup",X="resize",R="transitionend",q="wheel mousewheel DOMMouseScroll",F=["zoom-in","zoom-out","one-to-one","reset","prev","play","next","rotate-left","rotate-right","flip-horizontal","flip-vertical"],O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},W=function(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")},P=function(){function n(t,i){for(var e=0;e<i.length;e++){var n=i[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}}();function A(t){return"string"==typeof t}var H=Number.isNaN||t.isNaN;function j(t){return"number"==typeof t&&!H(t)}function B(t){return void 0===t}function V(t){return"object"===(void 0===t?"undefined":O(t))&&null!==t}var K=Object.prototype.hasOwnProperty;function U(t){if(!V(t))return!1;try{var i=t.constructor,e=i.prototype;return i&&e&&K.call(e,"isPrototypeOf")}catch(t){return!1}}function Z(t){return"function"==typeof t}function $(i,e){if(i&&Z(e))if(Array.isArray(i)||j(i.length)){var t=i.length,n=void 0;for(n=0;n<t&&!1!==e.call(i,i[n],n,i);n+=1);}else V(i)&&Object.keys(i).forEach(function(t){e.call(i,i[t],t,i)});return i}var _=Object.assign||function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return V(e)&&0<i.length&&i.forEach(function(i){V(i)&&Object.keys(i).forEach(function(t){e[t]=i[t]})}),e},G=/^(?:width|height|left|top|marginLeft|marginTop)$/;function J(t,i){var e=t.style;$(i,function(t,i){G.test(i)&&j(t)&&(t+="px"),e[i]=t})}function Q(t,i){return t.classList?t.classList.contains(i):-1<t.className.indexOf(i)}function tt(t,i){if(i)if(j(t.length))$(t,function(t){tt(t,i)});else if(t.classList)t.classList.add(i);else{var e=t.className.trim();e?e.indexOf(i)<0&&(t.className=e+" "+i):t.className=i}}function it(t,i){i&&(j(t.length)?$(t,function(t){it(t,i)}):t.classList?t.classList.remove(i):0<=t.className.indexOf(i)&&(t.className=t.className.replace(i,"")))}function et(t,i,e){i&&(j(t.length)?$(t,function(t){et(t,i,e)}):e?tt(t,i):it(t,i))}var nt=/([a-z\d])([A-Z])/g;function st(t){return t.replace(nt,"$1-$2").toLowerCase()}function ot(t,i){return V(t[i])?t[i]:t.dataset?t.dataset[i]:t.getAttribute("data-"+st(i))}function at(t,i,e){V(e)?t[i]=e:t.dataset?t.dataset[i]=e:t.setAttribute("data-"+st(i),e)}var rt,ht,lt,dt,ct=/\s\s*/,ut=(ht=rt=!1,lt=function(){},dt=Object.defineProperty({},"once",{get:function(){return rt=!0,ht},set:function(t){ht=t}}),t.addEventListener("test",lt,dt),t.removeEventListener("test",lt,dt),rt);function mt(e,t,n){var s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},o=n;t.trim().split(ct).forEach(function(t){if(!ut){var i=e.listeners;i&&i[t]&&i[t][n]&&(o=i[t][n],delete i[t][n],0===Object.keys(i[t]).length&&delete i[t],0===Object.keys(i).length&&delete e.listeners)}e.removeEventListener(t,o,s)})}function ft(o,t,a){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},h=a;t.trim().split(ct).forEach(function(n){if(r.once&&!ut){var t=o.listeners,s=void 0===t?{}:t;h=function(){for(var t=arguments.length,i=Array(t),e=0;e<t;e++)i[e]=arguments[e];delete s[n][a],o.removeEventListener(n,h,r),a.apply(o,i)},s[n]||(s[n]={}),s[n][a]&&o.removeEventListener(n,s[n][a],r),s[n][a]=h,o.listeners=s}o.addEventListener(n,h,r)})}function gt(t,i,e){var n=void 0;return Z(Event)&&Z(CustomEvent)?n=new CustomEvent(i,{detail:e,bubbles:!0,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(i,!0,!0,e),t.dispatchEvent(n)}function vt(t){var i=t.rotate,e=t.scaleX,n=t.scaleY,s=t.translateX,o=t.translateY,a=[];j(s)&&0!==s&&a.push("translateX("+s+"px)"),j(o)&&0!==o&&a.push("translateY("+o+"px)"),j(i)&&0!==i&&a.push("rotate("+i+"deg)"),j(e)&&1!==e&&a.push("scaleX("+e+")"),j(n)&&1!==n&&a.push("scaleY("+n+")");var r=a.length?a.join(" "):"none";return{WebkitTransform:r,msTransform:r,transform:r}}var pt=t.navigator&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(t.navigator.userAgent);function wt(t,i){var e=document.createElement("img");if(t.naturalWidth&&!pt)return i(t.naturalWidth,t.naturalHeight),e;var n=document.body||document.documentElement;return e.onload=function(){i(e.width,e.height),pt||n.removeChild(e)},e.src=t.src,pt||(e.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",n.appendChild(e)),e}function bt(t){switch(t){case 2:return s;case 3:return e;case 4:return i;default:return""}}function yt(t,i){var e=t.pageX,n=t.pageY,s={endX:e,endY:n};return i?s:_({startX:e,startY:n},s)}var xt={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var t=this.options,i=this.parent,e=void 0;t.inline&&(e={width:Math.max(i.offsetWidth,t.minWidth),height:Math.max(i.offsetHeight,t.minHeight)},this.parentData=e),!this.fulled&&e||(e=this.containerData),this.viewerData=_({},e)},renderViewer:function(){this.options.inline&&!this.fulled&&J(this.viewer,this.viewerData)},initList:function(){var a=this,t=this.element,r=this.options,i=this.list,h=[];$(this.images,function(t,i){var e,n=t.src,s=t.alt||(A(e=n)?e.replace(/^.*\//,"").replace(/[?&#].*$/,""):""),o=r.url;A(o)?o=t.getAttribute(o):Z(o)&&(o=o.call(a,t)),(n||o)&&h.push('<li><img src="'+(n||o)+'" role="button" data-action="view" data-index="'+i+'" data-original-url="'+(o||n)+'" alt="'+s+'"></li>')}),i.innerHTML=h.join(""),this.items=i.getElementsByTagName("li"),$(this.items,function(i){var t=i.firstElementChild;at(t,"filled",!0),r.loading&&tt(i,f),ft(t,C,function(t){r.loading&&it(i,f),a.loadImage(t)},{once:!0})}),r.transition&&ft(t,S,function(){tt(i,v)},{once:!0})},renderList:function(t){var i=t||this.index,e=this.items[i].offsetWidth||30,n=e+1;J(this.list,_({width:n*this.length},vt({translateX:(this.viewerData.width-e)/2-n*i})))},resetList:function(){var t=this.list;t.innerHTML="",it(t,v),J(t,vt({translateX:0}))},initImage:function(r){var h=this,l=this.options,t=this.image,i=this.viewerData,e=this.footer.offsetHeight,d=i.width,c=Math.max(i.height-e,e),u=this.imageData||{},n=void 0;this.imageInitializing={abort:function(){n.onload=null}},n=wt(t,function(t,i){var e=t/i,n=d,s=c;h.imageInitializing=!1,d<c*e?s=d/e:n=c*e;var o={naturalWidth:t,naturalHeight:i,aspectRatio:e,ratio:(n=Math.min(.9*n,t))/t,width:n,height:s=Math.min(.9*s,i),left:(d-n)/2,top:(c-s)/2},a=_({},o);l.rotatable&&(o.rotate=u.rotate||0,a.rotate=0),l.scalable&&(o.scaleX=u.scaleX||1,o.scaleY=u.scaleY||1,a.scaleX=1,a.scaleY=1),h.imageData=o,h.initialImageData=a,r&&r()})},renderImage:function(t){var i=this,e=this.image,n=this.imageData;if(J(e,_({width:n.width,height:n.height,marginLeft:n.left,marginTop:n.top},vt(n))),t)if(this.viewing&&this.options.transition){var s=function(){i.imageRendering=!1,t()};this.imageRendering={abort:function(){mt(e,R,s)}},ft(e,R,s,{once:!0})}else t()},resetImage:function(){if(this.viewing||this.viewed){var t=this.image;this.viewing&&this.viewing.abort(),t.parentNode.removeChild(t),this.image=null}}},Dt={bind:function(){var t=this.element,i=this.viewer;ft(i,I,this.onClick=this.click.bind(this)),ft(i,q,this.onWheel=this.wheel.bind(this)),ft(i,T,this.onDragStart=this.dragstart.bind(this)),ft(this.canvas,M,this.onPointerDown=this.pointerdown.bind(this)),ft(t.ownerDocument,N,this.onPointerMove=this.pointermove.bind(this)),ft(t.ownerDocument,Y,this.onPointerUp=this.pointerup.bind(this)),ft(t.ownerDocument,L,this.onKeyDown=this.keydown.bind(this)),ft(window,X,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.viewer;mt(i,I,this.onClick),mt(i,q,this.onWheel),mt(i,T,this.onDragStart),mt(this.canvas,M,this.onPointerDown),mt(t.ownerDocument,N,this.onPointerMove),mt(t.ownerDocument,Y,this.onPointerUp),mt(t.ownerDocument,L,this.onKeyDown),mt(window,X,this.onResize)}},zt={click:function(t){var i=t.target,e=this.options,n=this.imageData;switch(ot(i,"action")){case"mix":this.played?this.stop():e.inline?this.fulled?this.exit():this.full():this.hide();break;case"hide":this.hide();break;case"view":this.view(ot(i,"index"));break;case"zoom-in":this.zoom(.1,!0);break;case"zoom-out":this.zoom(-.1,!0);break;case"one-to-one":this.toggle();break;case"reset":this.reset();break;case"prev":this.prev(e.loop);break;case"play":this.play(e.fullscreen);break;case"next":this.next(e.loop);break;case"rotate-left":this.rotate(-90);break;case"rotate-right":this.rotate(90);break;case"flip-horizontal":this.scaleX(-n.scaleX||-1);break;case"flip-vertical":this.scaleY(-n.scaleY||-1);break;default:this.played&&this.stop()}},load:function(){var t=this;this.timeout&&(clearTimeout(this.timeout),this.timeout=!1);var i=this.element,e=this.options,n=this.image,s=this.index,o=this.viewerData;it(n,x),e.loading&&it(this.canvas,f),n.style.cssText="height:0;margin-left:"+o.width/2+"px;margin-top:"+o.height/2+"px;max-width:none!important;position:absolute;width:0;",this.initImage(function(){et(n,"viewer-move",e.movable),et(n,v,e.transition),t.renderImage(function(){t.viewed=!0,t.viewing=!1,Z(e.viewed)&&ft(i,S,e.viewed,{once:!0}),gt(i,S,{originalImage:t.images[s],index:s,image:n})})})},loadImage:function(t){var o=t.target,i=o.parentNode,a=i.offsetWidth||30,r=i.offsetHeight||50,h=!!ot(o,"filled");wt(o,function(t,i){var e=t/i,n=a,s=r;a<r*e?h?n=r*e:s=a/e:h?s=a/e:n=r*e,J(o,_({width:n,height:s},vt({translateX:(a-n)/2,translateY:(r-s)/2})))})},keydown:function(t){var i=this.options;if(this.fulled&&i.keyboard)switch(t.keyCode||t.which||t.charCode){case 27:this.played?this.stop():i.inline?this.fulled&&this.exit():this.hide();break;case 32:this.played&&this.stop();break;case 37:this.prev(i.loop);break;case 38:t.preventDefault(),this.zoom(i.zoomRatio,!0);break;case 39:this.next(i.loop);break;case 40:t.preventDefault(),this.zoom(-i.zoomRatio,!0);break;case 48:case 49:t.ctrlKey&&(t.preventDefault(),this.toggle())}},dragstart:function(t){"img"===t.target.tagName.toLowerCase()&&t.preventDefault()},pointerdown:function(t){var i=this.options,e=this.pointers;if(this.viewed&&!this.showing&&!this.viewing&&!this.hiding){t.changedTouches?$(t.changedTouches,function(t){e[t.identifier]=yt(t)}):e[t.pointerId||0]=yt(t);var n=!!i.movable&&l;1<Object.keys(e).length?n=c:"touch"!==t.pointerType&&"touchstart"!==t.type||!this.isSwitchable()||(n=d),this.action=n}},pointermove:function(t){var i=this.options,e=this.pointers,n=this.action,s=this.image;this.viewed&&n&&(t.preventDefault(),t.changedTouches?$(t.changedTouches,function(t){_(e[t.identifier],yt(t,!0))}):_(e[t.pointerId||0],yt(t,!0)),n===l&&i.transition&&Q(s,v)&&it(s,v),this.change(t))},pointerup:function(t){var i=this.action,e=this.pointers;t.changedTouches?$(t.changedTouches,function(t){delete e[t.identifier]}):delete e[t.pointerId||0],i&&(i===l&&this.options.transition&&tt(this.image,v),this.action=!1)},resize:function(){var i=this;if(this.isShown&&!this.hiding&&(this.initContainer(),this.initViewer(),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){i.renderImage()}),this.played)){if(this.options.fullscreen&&this.fulled&&!document.fullscreenElement&&!document.mozFullScreenElement&&!document.webkitFullscreenElement&&!document.msFullscreenElement)return void this.stop();$(this.player.getElementsByTagName("img"),function(t){ft(t,C,i.loadImage.bind(i),{once:!0}),gt(t,C)})}},wheel:function(t){var i=this;if(this.viewed&&(t.preventDefault(),!this.wheeling)){this.wheeling=!0,setTimeout(function(){i.wheeling=!1},50);var e=Number(this.options.zoomRatio)||.1,n=1;t.deltaY?n=0<t.deltaY?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=0<t.detail?1:-1),this.zoom(-n*e,!0,t)}}},kt={show:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],i=this.element,e=this.options;if(e.inline||this.showing||this.isShown||this.showing)return this;if(!this.ready)return this.build(),this.ready&&this.show(t),this;if(Z(e.show)&&ft(i,r,e.show,{once:!0}),!1===gt(i,r)||!this.ready)return this;this.hiding&&this.transitioning.abort(),this.showing=!0,this.open();var n=this.viewer;if(it(n,y),e.transition&&!t){var s=this.shown.bind(this);this.transitioning={abort:function(){mt(n,R,s),it(n,u)}},tt(n,v),n.offsetWidth,ft(n,R,s,{once:!0}),tt(n,u)}else tt(n,u),this.shown();return this},hide:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],i=this.element,e=this.options;if(e.inline||this.hiding||!this.isShown&&!this.showing)return this;if(Z(e.hide)&&ft(i,z,e.hide,{once:!0}),!1===gt(i,z))return this;this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort();var n=this.viewer;if(e.transition&&!t){var s=this.hidden.bind(this),o=function(){ft(n,R,s,{once:!0}),it(n,u)};this.transitioning={abort:function(){this.viewed?mt(this.image,R,o):mt(n,R,s)}},this.viewed?(ft(this.image,R,o,{once:!0}),this.zoomTo(0,!1,!1,!0)):o()}else it(n,u),this.hidden();return this},view:function(){var i=this,t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;if(t=Number(t)||0,!this.isShown)return this.index=t,this.show();if(this.hiding||this.played||t<0||t>=this.length||this.viewed&&t===this.index)return this;this.viewing&&this.viewing.abort();var e=this.element,n=this.options,s=this.title,o=this.canvas,a=this.items[t],r=a.querySelector("img"),h=ot(r,"originalUrl"),l=r.getAttribute("alt"),d=document.createElement("img");if(d.src=h,d.alt=l,Z(n.view)&&ft(e,E,n.view,{once:!0}),!1===gt(e,E,{originalImage:this.images[t],index:t,image:d})||!this.isShown||this.hiding||this.played)return this;this.image=d,it(this.items[this.index],m),tt(a,m),this.viewed=!1,this.index=t,this.imageData={},tt(d,x),n.loading&&tt(o,f),o.innerHTML="",o.appendChild(d),this.renderList(),s.innerHTML="";var c=function(){var t=i.imageData;s.textContent=l+" ("+t.naturalWidth+" × "+t.naturalHeight+")"},u=void 0;return ft(e,S,c,{once:!0}),this.viewing={abort:function(){mt(e,S,c),d.complete?this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort():(mt(d,C,u),this.timeout&&clearTimeout(this.timeout))}},d.complete?this.load():(ft(d,C,u=this.load.bind(this),{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){it(d,x),i.timeout=!1},1e3)),this},prev:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],i=this.index-1;return i<0&&(i=t?this.length-1:0),this.view(i),this},next:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],i=this.length-1,e=this.index+1;return i<e&&(e=t?0:i),this.view(e),this},move:function(t,i){var e=this.imageData;return this.moveTo(B(t)?t:e.left+Number(t),B(i)?i:e.top+Number(i)),this},moveTo:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,e=this.imageData;if(t=Number(t),i=Number(i),this.viewed&&!this.played&&this.options.movable){var n=!1;j(t)&&(e.left=t,n=!0),j(i)&&(e.top=i,n=!0),n&&this.renderImage()}return this},zoom:function(t){var i=1<arguments.length&&void 0!==arguments[1]&&arguments[1],e=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=this.imageData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(n.width*t/n.naturalWidth,i,e),this},zoomTo:function(t){var n,s,o,i,e,a=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,h=3<arguments.length&&void 0!==arguments[3]&&arguments[3],l=this.options,d=this.pointers,c=this.imageData;if(j(t=Math.max(0,t))&&this.viewed&&!this.played&&(h||l.zoomable)){if(!h){var u=Math.max(.01,l.minZoomRatio),m=Math.min(100,l.maxZoomRatio);t=Math.min(Math.max(t,u),m)}r&&.95<t&&t<1.05&&(t=1);var f=c.naturalWidth*t,g=c.naturalHeight*t;if(r){var v=(i=this.viewer,{left:(e=i.getBoundingClientRect()).left+(window.pageXOffset-document.documentElement.clientLeft),top:e.top+(window.pageYOffset-document.documentElement.clientTop)}),p=d&&Object.keys(d).length?(o=s=n=0,$(d,function(t){var i=t.startX,e=t.startY;n+=i,s+=e,o+=1}),{pageX:n/=o,pageY:s/=o}):{pageX:r.pageX,pageY:r.pageY};c.left-=(f-c.width)*((p.pageX-v.left-c.left)/c.width),c.top-=(g-c.height)*((p.pageY-v.top-c.top)/c.height)}else c.left-=(f-c.width)/2,c.top-=(g-c.height)/2;c.width=f,c.height=g,c.ratio=t,this.renderImage(),a&&this.tooltip()}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t)),this},rotateTo:function(t){var i=this.imageData;return j(t=Number(t))&&this.viewed&&!this.played&&this.options.rotatable&&(i.rotate=t,this.renderImage()),this},scaleX:function(t){return this.scale(t,this.imageData.scaleY),this},scaleY:function(t){return this.scale(this.imageData.scaleX,t),this},scale:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,e=this.imageData;if(t=Number(t),i=Number(i),this.viewed&&!this.played&&this.options.scalable){var n=!1;j(t)&&(e.scaleX=t,n=!0),j(i)&&(e.scaleY=i,n=!0),n&&this.renderImage()}return this},play:function(){var i=this,t=0<arguments.length&&void 0!==arguments[0]&&arguments[0];if(!this.isShown||this.played)return this;var s=this.options,o=this.player,a=this.loadImage.bind(this),r=[],h=0,l=0;if(this.played=!0,this.onLoadWhenPlay=a,t&&this.requestFullscreen(),tt(o,g),$(this.items,function(t,i){var e=t.querySelector("img"),n=document.createElement("img");n.src=ot(e,"originalUrl"),n.alt=e.getAttribute("alt"),h+=1,tt(n,w),et(n,v,s.transition),Q(t,m)&&(tt(n,u),l=i),r.push(n),ft(n,C,a,{once:!0}),o.appendChild(n)}),j(s.interval)&&0<s.interval){var e=function t(){i.playing=setTimeout(function(){it(r[l],u),tt(r[l=(l+=1)<h?l:0],u),t()},s.interval)};1<h&&e()}return this},stop:function(){var i=this;if(!this.played)return this;var t=this.player;return this.played=!1,clearTimeout(this.playing),$(t.getElementsByTagName("img"),function(t){mt(t,C,i.onLoadWhenPlay)}),it(t,g),t.innerHTML="",this.exitFullscreen(),this},full:function(){var t=this,i=this.options,e=this.viewer,n=this.image,s=this.list;return!this.isShown||this.played||this.fulled||!i.inline||(this.fulled=!0,this.open(),tt(this.button,o),i.transition&&(it(s,v),this.viewed&&it(n,v)),tt(e,b),e.setAttribute("style",""),J(e,{zIndex:i.zIndex}),this.initContainer(),this.viewerData=_({},this.containerData),this.renderList(),this.viewed&&this.initImage(function(){t.renderImage(function(){i.transition&&setTimeout(function(){tt(n,v),tt(s,v)},0)})})),this},exit:function(){var t=this,i=this.options,e=this.viewer,n=this.image,s=this.list;return this.isShown&&!this.played&&this.fulled&&i.inline&&(this.fulled=!1,this.close(),it(this.button,o),i.transition&&(it(s,v),this.viewed&&it(n,v)),it(e,b),J(e,{zIndex:i.zIndexInline}),this.viewerData=_({},this.parentData),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){t.renderImage(function(){i.transition&&setTimeout(function(){tt(n,v),tt(s,v)},0)})})),this},tooltip:function(){var t=this,i=this.options,e=this.tooltipBox,n=this.imageData;return this.viewed&&!this.played&&i.tooltip&&(e.textContent=Math.round(100*n.ratio)+"%",this.tooltipping?clearTimeout(this.tooltipping):i.transition?(this.fading&&gt(e,R),tt(e,g),tt(e,w),tt(e,v),e.offsetWidth,tt(e,u)):tt(e,g),this.tooltipping=setTimeout(function(){i.transition?(ft(e,R,function(){it(e,g),it(e,w),it(e,v),t.fading=!1},{once:!0}),it(e,u),t.fading=!0):it(e,g),t.tooltipping=!1},1e3)),this},toggle:function(){return 1===this.imageData.ratio?this.zoomTo(this.initialImageData.ratio,!0):this.zoomTo(1,!0),this},reset:function(){return this.viewed&&!this.played&&(this.imageData=_({},this.initialImageData),this.renderImage()),this},update:function(){var t=this.element,i=this.options,e=this.isImg,s=[];if(e&&!t.parentNode)return this.destroy();var o=[];if($(e?[t]:t.querySelectorAll("img"),function(t){i.filter?i.filter(t)&&o.push(t):o.push(t)}),this.images=o,this.length=o.length,this.ready&&($(this.items,function(t,i){var e=t.querySelector("img"),n=o[i];n?n.src!==e.src&&s.push(i):s.push(i)}),J(this.list,{width:"auto"}),this.initList(),this.isShown))if(this.length){if(this.viewed){var n=s.indexOf(this.index);0<=n?(this.viewed=!1,this.view(Math.max(this.index-(n+1),0))):tt(this.items[this.index],m)}}else this.image=null,this.viewed=!1,this.index=0,this.imageData=null,this.canvas.innerHTML="",this.title.innerHTML="";return this},destroy:function(){var t=this.element,i=this.options;return ot(t,p)&&(this.destroyed=!0,this.ready?(this.played&&this.stop(),i.inline?(this.fulled&&this.exit(),this.unbind()):this.isShown?(this.viewing&&(this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort()),this.hiding&&this.transitioning.abort(),this.hidden()):this.showing&&(this.transitioning.abort(),this.hidden()),this.ready=!1,this.viewer.parentNode.removeChild(this.viewer)):i.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),i.inline||mt(t,I,this.onStart),function(i,e){if(V(i[e]))try{delete i[e]}catch(t){i[e]=void 0}else if(i.dataset)try{delete i.dataset[e]}catch(t){i.dataset[e]=void 0}else i.removeAttribute("data-"+st(e))}(t,p)),this}},Et={open:function(){var t=this.body;tt(t,a),t.style.paddingRight=this.scrollbarWidth+(parseFloat(this.initialBodyPaddingRight)||0)+"px"},close:function(){var t=this.body;it(t,a),t.style.paddingRight=this.initialBodyPaddingRight},shown:function(){var t=this.element,i=this.options;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,Z(i.shown)&&ft(t,h,i.shown,{once:!0}),!1!==gt(t,h)&&this.ready&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var t=this.element,i=this.options;this.fulled=!1,this.viewed=!1,this.isShown=!1,this.close(),this.unbind(),tt(this.viewer,y),this.resetList(),this.resetImage(),this.hiding=!1,this.destroyed||(Z(i.hidden)&&ft(t,k,i.hidden,{once:!0}),gt(t,k))},requestFullscreen:function(){var t=this.element.ownerDocument;if(this.fulled&&!t.fullscreenElement&&!t.mozFullScreenElement&&!t.webkitFullscreenElement&&!t.msFullscreenElement){var i=t.documentElement;i.requestFullscreen?i.requestFullscreen():i.msRequestFullscreen?i.msRequestFullscreen():i.mozRequestFullScreen?i.mozRequestFullScreen():i.webkitRequestFullscreen&&i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}},exitFullscreen:function(){if(this.fulled){var t=this.element.ownerDocument;t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitExitFullscreen&&t.webkitExitFullscreen()}},change:function(t){var i,e,h,n=this.options,s=this.pointers,o=s[Object.keys(s)[0]],a=o.endX-o.startX,r=o.endY-o.startY;switch(this.action){case l:this.move(a,r);break;case c:this.zoom((e=_({},i=s),h=[],$(i,function(r,t){delete e[t],$(e,function(t){var i=Math.abs(r.startX-t.startX),e=Math.abs(r.startY-t.startY),n=Math.abs(r.endX-t.endX),s=Math.abs(r.endY-t.endY),o=Math.sqrt(i*i+e*e),a=(Math.sqrt(n*n+s*s)-o)/o;h.push(a)})}),h.sort(function(t,i){return Math.abs(t)<Math.abs(i)}),h[0]),!1,t);break;case d:this.action="switched",this.pointers={},Math.abs(a)>Math.abs(r)&&(1<a?this.prev(n.loop):a<-1&&this.next(n.loop))}$(s,function(t){t.startX=t.endX,t.startY=t.endY})},isSwitchable:function(){var t=this.imageData,i=this.viewerData;return 1<this.length&&0<=t.left&&0<=t.top&&t.width<=i.width&&t.height<=i.height}},St=t.Viewer,It=function(){function e(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};if(W(this,e),!t||1!==t.nodeType)throw new Error("The first argument is required and must be an element.");this.element=t,this.options=_({},n,U(i)&&i),this.action=!1,this.fading=!1,this.fulled=!1,this.hiding=!1,this.index=0,this.isImg=!1,this.length=0,this.played=!1,this.playing=!1,this.pointers={},this.ready=!1,this.showing=!1,this.timeout=!1,this.tooltipping=!1,this.viewed=!1,this.viewing=!1,this.isShown=!1,this.wheeling=!1,this.init()}return P(e,[{key:"init",value:function(){var e=this,t=this.element,i=this.options;if(!ot(t,p)){at(t,p,this);var n="img"===t.tagName.toLowerCase(),s=[];if($(n?[t]:t.querySelectorAll("img"),function(t){Z(i.filter)?i.filter.call(e,t)&&s.push(t):s.push(t)}),s.length){this.isImg=n,this.length=s.length,this.images=s;var o=t.ownerDocument,a=o.body||o.documentElement;if(this.body=a,this.scrollbarWidth=window.innerWidth-o.documentElement.clientWidth,this.initialBodyPaddingRight=window.getComputedStyle(a).paddingRight,B(document.createElement(p).style.transition)&&(i.transition=!1),i.inline){var r=0,h=function(){if((r+=1)===e.length){var t=void 0;e.initializing=!1,e.delaying={abort:function(){clearTimeout(t)}},t=setTimeout(function(){e.delaying=!1,e.build()},0)}};this.initializing={abort:function(){$(s,function(t){t.complete||mt(t,C,h)})}},$(s,function(t){t.complete?h():ft(t,C,h,{once:!0})})}else ft(t,I,this.onStart=function(t){var i=t.target;"img"===i.tagName.toLowerCase()&&e.view(e.images.indexOf(i))})}}}},{key:"build",value:function(){if(!this.ready){var t=this.element,h=this.options,i=t.parentNode,e=document.createElement("div");e.innerHTML='<div class="viewer-container" touch-action="none"><div class="viewer-canvas"></div><div class="viewer-footer"><div class="viewer-title"></div><div class="viewer-toolbar"></div><div class="viewer-navbar"><ul class="viewer-list"></ul></div></div><div class="viewer-tooltip"></div><div role="button" class="viewer-button" data-action="mix"></div><div class="viewer-player"></div></div>';var n=e.querySelector("."+p+"-container"),s=n.querySelector("."+p+"-title"),o=n.querySelector("."+p+"-toolbar"),a=n.querySelector("."+p+"-navbar"),r=n.querySelector("."+p+"-button"),l=n.querySelector("."+p+"-canvas");if(this.parent=i,this.viewer=n,this.title=s,this.toolbar=o,this.navbar=a,this.button=r,this.canvas=l,this.footer=n.querySelector("."+p+"-footer"),this.tooltipBox=n.querySelector("."+p+"-tooltip"),this.player=n.querySelector("."+p+"-player"),this.list=n.querySelector("."+p+"-list"),tt(s,h.title?bt(h.title):y),tt(a,h.navbar?bt(h.navbar):y),et(r,y,!h.button),h.backdrop&&(tt(n,p+"-backdrop"),h.inline||!0!==h.backdrop||at(l,"action","hide")),h.toolbar){var d=document.createElement("ul"),c=U(h.toolbar),u=F.slice(0,3),m=F.slice(7,9),f=F.slice(9);c||tt(o,bt(h.toolbar)),$(c?h.toolbar:F,function(t,i){var e=c&&U(t),n=c?st(i):t,s=e&&!B(t.show)?t.show:t;if(s&&(h.zoomable||-1===u.indexOf(n))&&(h.rotatable||-1===m.indexOf(n))&&(h.scalable||-1===f.indexOf(n))){var o=e&&!B(t.size)?t.size:t,a=e&&!B(t.click)?t.click:t,r=document.createElement("li");r.setAttribute("role","button"),tt(r,p+"-"+n),Z(a)||at(r,"action",n),j(s)&&tt(r,bt(s)),-1!==["small","large"].indexOf(o)?tt(r,p+"-"+o):"play"===n&&tt(r,p+"-large"),Z(a)&&ft(r,I,a),d.appendChild(r)}}),o.appendChild(d)}else tt(o,y);if(!h.rotatable){var g=o.querySelectorAll('li[class*="rotate"]');tt(g,x),$(g,function(t){o.appendChild(t)})}if(h.inline)tt(r,"viewer-fullscreen"),J(n,{zIndex:h.zIndexInline}),"static"===window.getComputedStyle(i).position&&J(i,{position:"relative"}),i.insertBefore(n,t.nextSibling);else{tt(r,"viewer-close"),tt(n,b),tt(n,w),tt(n,y),J(n,{zIndex:h.zIndex});var v=h.container;A(v)&&(v=t.ownerDocument.querySelector(v)),v||(v=this.body),v.appendChild(n)}h.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,Z(h.ready)&&ft(t,D,h.ready,{once:!0}),!1!==gt(t,D)?this.ready&&h.inline&&this.view():this.ready=!1}}}],[{key:"noConflict",value:function(){return window.Viewer=St,e}},{key:"setDefaults",value:function(t){_(n,U(t)&&t)}}]),e}();return _(It.prototype,xt,Dt,zt,kt,Et),It});
\ No newline at end of file
diff --git a/server/target/classes/static/js/watermark.js b/server/target/classes/static/js/watermark.js
deleted file mode 100644
index 9295fa1..0000000
--- a/server/target/classes/static/js/watermark.js
+++ /dev/null
@@ -1 +0,0 @@
-eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([3-9a-hk-wzA-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(a(1a,O){7(D X===\'a\'&&X.amd){X([],O())}c 7(D Y===\'Z\'&&Y.1b){Y.1b=O()}c{1a[\'u\']=O()}}(this,a(){4 u={};4 3={E:\'1c\',1d:\'mask_div_id\',1e:"测试水印",f:20,g:20,h:0,k:0,m:50,n:50,1g:\'微软雅黑\',1h:\'black\',1i:\'18px\',1j:0.15,o:1k,p:1k,v:15,1l:0,1m:0,1n:1o,P:Q,};4 w=a(d){7(s.z===1&&D s[0]==="Z"){4 9=s[0]||{};R(8 in 9){7(9[8]&&3[8]&&9[8]===3[8])1q;c 7(9[8]||9[8]===0)3[8]=9[8]}}4 q=l.F(3.E);q&&q.10&&q.10.1r(q);4 A=l.F(3.1n);4 e=A?A:l.body;4 G=S.1s(e.scrollWidth,e.clientWidth);4 H=S.1s(e.scrollHeight,e.clientHeight);4 11=s[0]||{};4 t=e;4 B=0;4 C=0;7(11.1l||11.1m){7(t){B=t.1t||0;C=t.1u||0;3.f=3.f+C;3.g=3.g+B}}c{7(t){B=t.1t||0;C=t.1u||0}}4 b=l.F(3.E);4 r=1o;7(!b){b=l.1v(\'1w\');b.id=3.E;b.setAttribute(\'6\',\'pointer-events: 1y !1z; 1A: 1B !1z\');7(D b.1C===\'a\'){r=b.1C({mode:\'open\'})}c{r=b}4 T=e.children;4 12=S.floor(S.random()*(T.z-1));7(T[12]){e.insertBefore(b,T[12])}c{e.13(b)}}c 7(b.r){r=b.r}3.k=U((G-3.f)/(3.o+3.m));4 14=U((G-3.f-3.o*3.k)/(3.k));3.m=14?3.m:14;4 I;3.h=U((H-3.g)/(3.p+3.n));4 16=U((H-3.g-3.p*3.h)/(3.h));3.n=16?3.n:16;4 J;7(A){I=3.f+3.o*3.k+3.m*(3.k-1);J=3.g+3.p*3.h+3.n*(3.h-1)}c{I=C+3.f+3.o*3.k+3.m*(3.k-1);J=B+3.g+3.p*3.h+3.n*(3.h-1)}4 x;4 y;R(4 i=0;i<3.h;i++){7(A){y=B+3.g+(H-J)/2+(3.n+3.p)*i}c{y=3.g+(H-J)/2+(3.n+3.p)*i}R(4 j=0;j<3.k;j++){7(A){x=C+3.f+(G-I)/2+(3.o+3.m)*j}c{x=3.f+(G-I)/2+(3.o+3.m)*j}4 5=l.1v(\'1w\');4 1D=l.createTextNode(3.1e);5.13(1D);5.id=3.1d+i+j;5.6.webkitTransform="K(-"+3.v+"L)";5.6.MozTransform="K(-"+3.v+"L)";5.6.msTransform="K(-"+3.v+"L)";5.6.OTransform="K(-"+3.v+"L)";5.6.transform="K(-"+3.v+"L)";5.6.visibility="";5.6.position="absolute";5.6.left=x+\'V\';5.6.top=y+\'V\';5.6.overflow="hidden";5.6.zIndex="9999999";5.6.opacity=3.1j;5.6.fontSize=3.1i;5.6.fontFamily=3.1g;5.6.color=3.1h;5.6.textAlign="center";5.6.width=3.o+\'V\';5.6.height=3.p+\'V\';5.6.1A="1B";5.6[\'-ms-user-select\']="1y";r.13(5)}}1E 1F=d.P===undefined?3.P:d.P;7(1F){17.1G(e,18);17.1G(l.F(\'1c\').r,18)}};4 1H=a(){7(s.z===1&&D s[0]==="Z"){4 9=s[0]||{};R(8 in 9){7(9[8]&&3[8]&&9[8]===3[8])1q;c 7(9[8]||9[8]===0)3[8]=9[8]}}4 q=l.F(3.E);4 1I=q.10;1I.1r(q)};4 M;u.init=a(d){M=d;w(d);N.1J(\'onload\',a(){w(d)});N.1J(\'resize\',a(){w(d)})};u.load=a(d){M=d;w(d)};u.remove=a(){1H()};4 1K=a(W){7((M&&W.z===1)||W.z===1&&W[0].removedNodes.z>=1){w(M)}};1E 19=N.19||N.WebKitMutationObserver||N.MozMutationObserver;4 17=new 19(1K);4 18={\'childList\':Q,\'attributes\':Q,\'subtree\':Q,};return u}));',[],109,'|||defaultSettings|var|mask_div|style|if|key|src|function|otdiv|else|settings|watermark_hook_element|watermark_x|watermark_y|watermark_rows|||watermark_cols|document|watermark_x_space|watermark_y_space|watermark_width|watermark_height|watermark_element|shadowRoot|arguments|parentEle|watermark|watermark_angle|loadMark|||length|watermark_parent_element|page_offsetTop|page_offsetLeft|typeof|watermark_id|getElementById|page_width|page_height|allWatermarkWidth|allWatermarkHeight|rotate|deg|globalSetting|window|factory|monitor|true|for|Math|nodeList|parseInt|px|records|define|module|object|parentNode|setting|index|appendChild|temp_watermark_x_space||temp_watermark_y_space|watermarkDom|option|MutationObserver|root|exports|wm_div_id|watermark_prefix|watermark_txt||watermark_font|watermark_color|watermark_fontsize|watermark_alpha|100|watermark_parent_width|watermark_parent_height|watermark_parent_node|null||continue|removeChild|max|offsetTop|offsetLeft|createElement|div||none|important|display|block|attachShadow|oText|const|minotor|observe|removeMark|_parentElement|addEventListener|callback'.split('|'),0,{}))
diff --git a/server/target/classes/static/js/xmlTreeViewer.js b/server/target/classes/static/js/xmlTreeViewer.js
deleted file mode 100644
index 46eeb7f..0000000
--- a/server/target/classes/static/js/xmlTreeViewer.js
+++ /dev/null
@@ -1,373 +0,0 @@
-window.xmlTreeViewer = (function() {
-
-    var documentNode = null;
-    var nodeParentPairs = [];
-    var tree;
-    var container;
-
-    function prepareXMLViewer(node) {
-        documentNode = node;
-        var body = createHTMLElement('div');
-        var sourceXML = createHTMLElement('div');
-        sourceXML.id = 'xml-viewer-source-xml';
-        body.appendChild(sourceXML);
-
-        var child;
-        while (child = documentNode.firstChild) {
-            documentNode.removeChild(child);
-            if (child.nodeType != Node.DOCUMENT_TYPE_NODE)
-                sourceXML.appendChild(child);
-        }
-
-        tree = createHTMLElement('div');
-        body.appendChild(tree);
-        tree.classList.add('pretty-print');
-        //window.onload = sourceXMLLoaded;
-        container = body;
-        sourceXMLLoaded();
-        return body;
-    }
-
-    function sourceXMLLoaded() {
-        //var sourceXML = container.getElementById('webkit-xml-viewer-source-xml');
-        var sourceXML = container.firstChild;
-        if (!sourceXML)
-            return; // Stop if some XML tree extension is already processing this document
-
-        for (var child = sourceXML.firstChild; child; child = child.nextSibling)
-            nodeParentPairs.push({parentElement: tree, node: child});
-
-        for (var i = 0; i < nodeParentPairs.length; i++)
-            processNode(nodeParentPairs[i].parentElement, nodeParentPairs[i].node);
-
-        initButtons();
-
-        return false;
-    }
-
-    // Tree processing.
-
-    function processNode(parentElement, node) {
-        var map = processNode.processorsMap;
-        if (!map) {
-            map = {};
-            processNode.processorsMap = map;
-            map[Node.PROCESSING_INSTRUCTION_NODE] = processProcessingInstruction;
-            map[Node.ELEMENT_NODE] = processElement;
-            map[Node.COMMENT_NODE] = processComment;
-            map[Node.TEXT_NODE] = processText;
-            map[Node.CDATA_SECTION_NODE] = processCDATA;
-        }
-        if (processNode.processorsMap[node.nodeType])
-            processNode.processorsMap[node.nodeType].call(this, parentElement, node);
-    }
-
-    function processElement(parentElement, node) {
-        if (!node.firstChild)
-            processEmptyElement(parentElement, node);
-        else {
-            var child = node.firstChild;
-            if (child.nodeType == Node.TEXT_NODE && isShort(child.nodeValue) && !child.nextSibling)
-                processShortTextOnlyElement(parentElement, node);
-            else
-                processComplexElement(parentElement, node);
-        }
-    }
-
-    function processEmptyElement(parentElement, node) {
-        var line = createLine();
-        line.appendChild(createTag(node, false, true));
-        parentElement.appendChild(line);
-    }
-
-    function processShortTextOnlyElement(parentElement, node) {
-        var line = createLine();
-        line.appendChild(createTag(node, false, false));
-        for (var child = node.firstChild; child; child = child.nextSibling)
-            line.appendChild(createText(child.nodeValue));
-        line.appendChild(createTag(node, true, false));
-        parentElement.appendChild(line);
-    }
-
-    function processComplexElement(parentElement, node) {
-        var collapsible = createCollapsible();
-
-        collapsible.expanded.start.appendChild(createTag(node, false, false));
-        for (var child = node.firstChild; child; child = child.nextSibling)
-            nodeParentPairs.push({parentElement: collapsible.expanded.content, node: child});
-        collapsible.expanded.end.appendChild(createTag(node, true, false));
-
-        collapsible.collapsed.content.appendChild(createTag(node, false, false));
-        collapsible.collapsed.content.appendChild(createText('...'));
-        collapsible.collapsed.content.appendChild(createTag(node, true, false));
-        parentElement.appendChild(collapsible);
-    }
-
-    function processComment(parentElement, node) {
-        if (isShort(node.nodeValue)) {
-            var line = createLine();
-            line.appendChild(createComment('<!-- ' + node.nodeValue + ' -->'));
-            parentElement.appendChild(line);
-        } else {
-            var collapsible = createCollapsible();
-
-            collapsible.expanded.start.appendChild(createComment('<!--'));
-            collapsible.expanded.content.appendChild(createComment(node.nodeValue));
-            collapsible.expanded.end.appendChild(createComment('-->'));
-
-            collapsible.collapsed.content.appendChild(createComment('<!--'));
-            collapsible.collapsed.content.appendChild(createComment('...'));
-            collapsible.collapsed.content.appendChild(createComment('-->'));
-            parentElement.appendChild(collapsible);
-        }
-    }
-
-    function processCDATA(parentElement, node) {
-        if (isShort(node.nodeValue)) {
-            var line = createLine();
-            line.appendChild(createText('<![CDATA[ ' + node.nodeValue + ' ]]>'));
-            parentElement.appendChild(line);
-        } else {
-            var collapsible = createCollapsible();
-
-            collapsible.expanded.start.appendChild(createText('<![CDATA['));
-            collapsible.expanded.content.appendChild(createText(node.nodeValue));
-            collapsible.expanded.end.appendChild(createText(']]>'));
-
-            collapsible.collapsed.content.appendChild(createText('<![CDATA['));
-            collapsible.collapsed.content.appendChild(createText('...'));
-            collapsible.collapsed.content.appendChild(createText(']]>'));
-            parentElement.appendChild(collapsible);
-        }
-    }
-
-    function processProcessingInstruction(parentElement, node) {
-        if (isShort(node.nodeValue)) {
-            var line = createLine();
-            line.appendChild(createComment('<?' + node.nodeName + ' ' + node.nodeValue + '?>'));
-            parentElement.appendChild(line);
-        } else {
-            var collapsible = createCollapsible();
-
-            collapsible.expanded.start.appendChild(createComment('<?' + node.nodeName));
-            collapsible.expanded.content.appendChild(createComment(node.nodeValue));
-            collapsible.expanded.end.appendChild(createComment('?>'));
-
-            collapsible.collapsed.content.appendChild(createComment('<?' + node.nodeName));
-            collapsible.collapsed.content.appendChild(createComment('...'));
-            collapsible.collapsed.content.appendChild(createComment('?>'));
-            parentElement.appendChild(collapsible);
-        }
-    }
-
-    function processText(parentElement, node) {
-        parentElement.appendChild(createText(node.nodeValue));
-    }
-
-    // Processing utils.
-
-    function trim(value) {
-        return value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
-    }
-
-    function isShort(value) {
-        return trim(value).length <= 50;
-    }
-
-    // Tree rendering.
-
-    function createHTMLElement(elementName) {
-        //return document.createElementNS('http://www.w3.org/1999/xhtml', elementName);
-        return document.createElement(elementName);
-    }
-
-    function createCollapsible() {
-        var collapsible = createHTMLElement('div');
-        collapsible.classList.add('collapsible');
-        collapsible.expanded = createHTMLElement('div');
-        collapsible.expanded.classList.add('expanded');
-        collapsible.appendChild(collapsible.expanded);
-
-        collapsible.expanded.start = createLine();
-        collapsible.expanded.start.appendChild(createCollapseButton());
-        collapsible.expanded.appendChild(collapsible.expanded.start);
-
-        collapsible.expanded.content = createHTMLElement('div');
-        collapsible.expanded.content.classList.add('collapsible-content');
-        collapsible.expanded.appendChild(collapsible.expanded.content);
-
-        collapsible.expanded.end = createLine();
-        collapsible.expanded.appendChild(collapsible.expanded.end);
-
-        collapsible.collapsed = createHTMLElement('div');
-        collapsible.collapsed.classList.add('collapsed');
-        collapsible.collapsed.classList.add('hidden');
-        collapsible.appendChild(collapsible.collapsed);
-        collapsible.collapsed.content = createLine();
-        collapsible.collapsed.content.appendChild(createExpandButton());
-        collapsible.collapsed.appendChild(collapsible.collapsed.content);
-
-        return collapsible;
-    }
-
-    function createButton() {
-        var button = createHTMLElement('span');
-        button.classList.add('button');
-        return button;
-    }
-
-    function createCollapseButton(str) {
-        var button = createButton();
-        button.classList.add('collapse-button');
-        return button;
-    }
-
-    function createExpandButton(str) {
-        var button = createButton();
-        button.classList.add('expand-button');
-        return button;
-    }
-
-    function createComment(commentString) {
-        var comment = createHTMLElement('span');
-        comment.classList.add('comment');
-        comment.classList.add('html-comment');
-        comment.textContent = commentString;
-        return comment;
-    }
-
-    function createText(value) {
-        var text = createHTMLElement('span');
-        text.textContent = trim(value);
-        text.classList.add('html-text');
-        return text;
-    }
-
-    function createLine() {
-        var line = createHTMLElement('div');
-        line.classList.add('line');
-        return line;
-    }
-
-    function createTag(node, isClosing, isEmpty) {
-        var tag = createHTMLElement('span');
-        tag.classList.add('html-tag');
-
-        var stringBeforeAttrs = '<';
-        if (isClosing)
-            stringBeforeAttrs += '/';
-        //stringBeforeAttrs += node.nodeName;
-        var textBeforeAttrs = document.createTextNode(stringBeforeAttrs);
-        tag.appendChild(textBeforeAttrs);
-        var tagNode = createHTMLElement('span');
-        tagNode.classList.add('html-tag-name');
-        tagNode.textContent = node.nodeName;
-        tag.appendChild(tagNode);
-
-        if (!isClosing) {
-            for (var i = 0; i < node.attributes.length; i++)
-                tag.appendChild(createAttribute(node.attributes[i]));
-        }
-
-        var stringAfterAttrs = '';
-        if (isEmpty)
-            stringAfterAttrs += '/';
-        stringAfterAttrs += '>';
-        var textAfterAttrs = document.createTextNode(stringAfterAttrs);
-        tag.appendChild(textAfterAttrs);
-
-        return tag;
-    }
-
-    function createAttribute(attributeNode) {
-        var attribute = createHTMLElement('span');
-        attribute.classList.add('html-attribute');
-
-        var attributeName = createHTMLElement('span');
-        attributeName.classList.add('html-attribute-name');
-        attributeName.textContent = attributeNode.name;
-
-        var textBefore = document.createTextNode(' ');
-        var textBetween = document.createTextNode('="');
-
-        var attributeValue = createHTMLElement('span');
-        attributeValue.classList.add('html-attribute-value');
-        attributeValue.textContent = attributeNode.value;
-
-        var textAfter = document.createTextNode('"');
-
-        attribute.appendChild(textBefore);
-        attribute.appendChild(attributeName);
-        attribute.appendChild(textBetween);
-        attribute.appendChild(attributeValue);
-        attribute.appendChild(textAfter);
-        return attribute;
-    }
-
-    function expandFunction(sectionId) {
-        return function () {
-            container.querySelector('#' + sectionId + ' > .expanded').className = 'expanded';
-            container.querySelector('#' + sectionId + ' > .collapsed').className = 'collapsed hidden';
-        };
-    }
-
-    function collapseFunction(sectionId) {
-        return function () {
-            container.querySelector('#' + sectionId + ' > .expanded').className = 'expanded hidden';
-            container.querySelector('#' + sectionId + ' > .collapsed').className = 'collapsed';
-        };
-    }
-
-    function initButtons() {
-        var sections = container.querySelectorAll('.collapsible');
-        for (var i = 0; i < sections.length; i++) {
-            var sectionId = 'collapsible' + i;
-            sections[i].id = sectionId;
-
-            var expandedPart = sections[i].querySelector('#' + sectionId + ' > .expanded');
-            var collapseButton = expandedPart.querySelector('.collapse-button');
-            collapseButton.onclick = collapseFunction(sectionId);
-            collapseButton.onmousedown = handleButtonMouseDown;
-
-            var collapsedPart = sections[i].querySelector('#' + sectionId + ' > .collapsed');
-            var expandButton = collapsedPart.querySelector('.expand-button');
-            expandButton.onclick = expandFunction(sectionId);
-            expandButton.onmousedown = handleButtonMouseDown;
-        }
-
-    }
-
-    function handleButtonMouseDown(e) {
-        // To prevent selection on double click
-        e.preventDefault();
-    }
-
-    var parseXML = function( data ) {
-        var xml, tmp;
-        if ( !data || typeof data !== "string" ) {
-            return null;
-        }
-        try {
-            if ( window.DOMParser ) { // Standard
-                tmp = new window.DOMParser();
-                xml = tmp.parseFromString( data, "text/xml" );
-            } else { // IE
-                xml = new window.ActiveXObject( "Microsoft.XMLDOM" );
-                xml.async = "false";
-                xml.loadXML( data );
-            }
-        } catch ( e ) {
-            xml = undefined;
-        }
-        var errMsg;
-        if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
-            errMsg = xml.getElementsByTagName( "parsererror" )[0].textContent;
-        }
-        return {xml: xml, errMsg: errMsg};
-    };
-
-    return {
-        getXMLViewerNode: prepareXMLViewer,
-        parseXML: parseXML
-    }
-})();
\ No newline at end of file
diff --git a/server/target/classes/static/ofd/app.css b/server/target/classes/static/ofd/app.css
deleted file mode 100644
index 0f967a7..0000000
--- a/server/target/classes/static/ofd/app.css
+++ /dev/null
@@ -1 +0,0 @@
-.upload-icon[data-v-b0082a62]{padding-left:10px;padding-right:10px;background-color:#3b5fe8;border-color:#5867dd;color:#fff;margin:1px}.scale-icon[data-v-b0082a62],.upload-icon[data-v-b0082a62]{display:flex;cursor:pointer;justify-content:center;align-items:center;height:28px;border-radius:1px;font-weight:500;font-size:12px}.scale-icon[data-v-b0082a62]{width:33px;background-color:#f5f5f5;color:#333;text-align:center;padding:2px}.scale-icon[data-v-b0082a62] :active,.scale-icon[data-v-b0082a62] :hover{color:#3b5fe8}.text-icon[data-v-b0082a62]{display:flex;cursor:pointer;justify-content:center;align-items:center;height:28px;width:90%;background-color:#3b5fe8;border-radius:1px;border-color:#5867dd;font-weight:500;font-size:10px;color:#fff;margin-top:20px}.hidden[data-v-b0082a62]{display:none!important}.SealContainer[data-v-b0082a62]{z-index:99999;position:fixed;left:0;top:0;width:100vw;height:100vh}.SealContainer .mask[data-v-b0082a62]{background:#000;opacity:.3}.content-title[data-v-b0082a62]{font-size:16px;text-align:center;border-bottom:1px solid #3b5fe8;color:#3b5fe8;margin-top:10px}.SealContainer-content[data-v-b0082a62]{width:100%;height:100%}.SealContainer-content[data-v-b0082a62],.SealContainer-layout[data-v-b0082a62]{position:relative;overflow-y:auto;background:#fff;display:flex;flex-direction:column;padding:10px;align-items:center}.SealContainer-layout[data-v-b0082a62]{width:60%;height:80vh;z-index:100}.subcontent[data-v-b0082a62]{width:80%;display:flex;flex-direction:column;text-align:left;margin-bottom:10px;font-family:simsun}.subcontent .title[data-v-b0082a62]{font-weight:600}.subcontent .value[data-v-b0082a62]{font-weight:400;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.left-section[data-v-b0082a62]{position:fixed;width:88px;height:100%;background:#f5f5f5;border:1px solid #e8e8e8;align-items:center;display:flex;flex-direction:column}.main-section[data-v-b0082a62]{padding-top:20px;margin-left:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:grey;overflow:hidden}@media (max-width:767px){.SealContainer-layout[data-v-b0082a62]{position:relative;width:90%;height:90vh;overflow-y:auto;background:#fff;z-index:100;display:flex;flex-direction:column;padding:10px;align-items:center}.subcontent[data-v-b0082a62]{width:95%;display:flex;flex-direction:column;text-align:left;margin-bottom:10px;font-family:simsun}.left-section[data-v-b0082a62]{position:fixed;width:0;height:100%;background:#f5f5f5;border:1px solid #e8e8e8;align-items:center;display:none;flex-direction:column}.main-section[data-v-b0082a62]{padding-top:20px;margin-left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:grey;overflow:hidden}}#app{font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}body{margin:0}@font-face{font-family:sSun;src:url(fonts/xbst.5215475c.ttf)}@font-face{font-family:simsun;src:url(fonts/simsun.b4a89f58.ttf)}@font-face{font-family:simkai;src:url(fonts/simkai.6078b506.ttf)}@font-face{font-family:simfang;src:url(fonts/SIMFANG.65ab65f8.TTF)}@font-face{font-family:simhei;src:url(fonts/simhei.ab5640f6.ttf)}.gray{-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}
\ No newline at end of file
diff --git a/server/target/classes/static/ofd/app.js b/server/target/classes/static/ofd/app.js
deleted file mode 100644
index 86dc2cb..0000000
--- a/server/target/classes/static/ofd/app.js
+++ /dev/null
@@ -1,5617 +0,0 @@
-(function(e) {
-    function t(t) {
-        for (var s, i, u = t[0], o = t[1], l = t[2], b = 0, d = []; b < u.length; b++) i = u[b],
-        Object.prototype.hasOwnProperty.call(a, i) && a[i] && d.push(a[i][0]),
-        a[i] = 0;
-        for (s in o) Object.prototype.hasOwnProperty.call(o, s) && (e[s] = o[s]);
-        c && c(t);
-        while (d.length) d.shift()();
-        return r.push.apply(r, l || []),
-        n()
-    }
-    function n() {
-        for (var e, t = 0; t < r.length; t++) {
-            for (var n = r[t], s = !0, u = 1; u < n.length; u++) {
-                var o = n[u];
-                0 !== a[o] && (s = !1)
-            }
-            s && (r.splice(t--, 1), e = i(i.s = n[0]))
-        }
-        return e
-    }
-    var s = {},
-    a = {
-        app: 0
-    },
-    r = [];
-    function i(t) {
-        if (s[t]) return s[t].exports;
-        var n = s[t] = {
-            i: t,
-            l: !1,
-            exports: {}
-        };
-        return e[t].call(n.exports, n, n.exports, i),
-        n.l = !0,
-        n.exports
-    }
-    i.m = e,
-    i.c = s,
-    i.d = function(e, t, n) {
-        i.o(e, t) || Object.defineProperty(e, t, {
-            enumerable: !0,
-            get: n
-        })
-    },
-    i.r = function(e) {
-        "undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
-            value: "Module"
-        }),
-        Object.defineProperty(e, "__esModule", {
-            value: !0
-        })
-    },
-    i.t = function(e, t) {
-        if (1 & t && (e = i(e)), 8 & t) return e;
-        if (4 & t && "object" === typeof e && e && e.__esModule) return e;
-        var n = Object.create(null);
-        if (i.r(n), Object.defineProperty(n, "default", {
-            enumerable: !0,
-            value: e
-        }), 2 & t && "string" != typeof e) for (var s in e) i.d(n, s,
-        function(t) {
-            return e[t]
-        }.bind(null, s));
-        return n
-    },
-    i.n = function(e) {
-        var t = e && e.__esModule ?
-        function() {
-            return e["default"]
-        }: function() {
-            return e
-        };
-        return i.d(t, "a", t),
-        t
-    },
-    i.o = function(e, t) {
-        return Object.prototype.hasOwnProperty.call(e, t)
-    },
-    i.p = "/ofd/";
-    var u = window["webpackJsonp"] = window["webpackJsonp"] || [],
-    o = u.push.bind(u);
-    u.push = t,
-    u = u.slice();
-    for (var l = 0; l < u.length; l++) t(u[l]);
-    var c = o;
-    r.push([0, "chunk-vendors"]),
-    n()
-})({
-    0 : function(e, t, n) {
-        e.exports = n("56d7")
-    },
-    "034f": function(e, t, n) {
-        "use strict";
-        n("85ec")
-    },
-    3662 : function(e, t, n) {
-        "use strict";
-        n.d(t, "a", (function() {
-            return r
-        }));
-        n("96cf");
-        var s = n("1da1");
-        Array.prototype.pipeline = function() {
-            var e = Object(s["a"])(regeneratorRuntime.mark((function e(t) {
-                var n, s, a;
-                return regeneratorRuntime.wrap((function(e) {
-                    while (1) switch (e.prev = e.next) {
-                    case 0:
-                        if (null !== this && "undefined" !== typeof this) {
-                            e.next = 2;
-                            break
-                        }
-                        throw new TypeError("Array.prototype.pipeline called on null or undefined");
-                    case 2:
-                        if ("function" === typeof t) {
-                            e.next = 4;
-                            break
-                        }
-                        throw new TypeError(t + " is not a function");
-                    case 4:
-                        a = this.length >>> 0,
-                        n = 0;
-                    case 6:
-                        if (! (a > n)) {
-                            e.next = 13;
-                            break
-                        }
-                        return e.next = 9,
-                        t(s, this[n], n, this);
-                    case 9:
-                        s = e.sent;
-                    case 10:
-                        ++n,
-                        e.next = 6;
-                        break;
-                    case 13:
-                        return e.abrupt("return", s);
-                    case 14:
-                    case "end":
-                        return e.stop()
-                    }
-                }), e, this)
-            })));
-            return function(t) {
-                return e.apply(this, arguments)
-            }
-        } ();
-        var a = function() {
-            for (var e = this,
-            t = arguments.length,
-            n = new Array(t), s = 0; s < t; s++) n[s] = arguments[s];
-            return n.pipeline((function(t, n) {
-                return n.call(e, t)
-            }))
-        },
-        r = a
-    },
-    "56d7": function(e, t, n) {
-        "use strict";
-        n.r(t);
-        n("e260"),
-        n("e6cf"),
-        n("cca6"),
-        n("a79d");
-        var s = n("2b0e"),
-        a = function() {
-            var e = this,
-            t = e.$createElement,
-            n = e._self._c || t;
-            return n("div", {
-                attrs: {
-                    id: "app"
-                }
-            },
-            [n("HelloWorld")], 1)
-        },
-        r = [],
-        i = function() {
-            var e = this,
-            t = e.$createElement,
-            n = e._self._c || t;
-            return n("el-container", {
-                staticStyle: {
-                    width: "100vw",
-                    height: "100vh"
-                }
-            },
-            [n("el-header", {
-                staticStyle: {
-                    background: "#F5F5F5",
-                    display: "flex",
-                    height: "40px",
-                    border: "1px solid #e8e8e8",
-                    "align-items": "center"
-                }
-            },
-            [n("div", {
-                staticClass: "upload-icon",
-                on: {
-                    click: e.uploadFile
-                }
-            },
-            [n("div", {
-                staticClass: "upload-icon"
-            },
-            [e._v("打开OFD")]), n("font-awesome-icon", {
-                attrs: {
-                    icon: "cloud-upload-alt"
-                }
-            }), n("input", {
-                ref: "file",
-                staticClass: "hidden",
-                attrs: {
-                    type: "file",
-                    accept: ".ofd"
-                },
-                on: {
-                    change: e.fileChanged
-                }
-            })], 1), n("div", {
-                staticClass: "upload-icon",
-                style:"display:none",
-                on: {
-                    click: e.uploadPdfFile
-                }
-            },
-            [n("div", {
-                staticClass: "upload-icon",
-                style:"display:none"
-            },
-            [e._v("PDF2OFD")]), n("font-awesome-icon", {
-                attrs: {
-                    icon: "cloud-upload-alt",
-                    style:"display:none"
-                }
-            }), n("input", {
-                ref: "pdfFile",
-                staticClass: "hidden",
-                attrs: {
-                    type: "file",
-                    accept: ".pdf"
-                },
-                on: {
-                    change: e.pdfFileChanged
-                }
-            })], 1), true ? n("div", {
-                staticStyle: {
-                    display: "flex",
-                    "align-items": "center"
-                }
-            },
-            [e.ofdBase64 ? n("div", {
-                staticClass: "upload-icon",
-                style:"display:none",
-                staticStyle: {
-                    "margin-left": "10px"
-                },
-                on: {
-                    click: e.downPdf
-                }
-            },
-            [e._v(" 下载PDF "), n("font-awesome-icon", {
-                attrs: {
-                    icon: "download"
-                }
-            })], 1) : e._e(), n("div", {
-                staticClass: "scale-icon",
-                staticStyle: {
-                    "margin-left": "10px"
-                },
-                on: {
-                    click: e.plus
-                }
-            },
-            [n("font-awesome-icon", {
-                attrs: {
-                    icon: "search-plus"
-                }
-            })], 1), n("div", {
-                staticClass: "scale-icon",
-                on: {
-                    click: e.minus
-                }
-            },
-            [n("font-awesome-icon", {
-                attrs: {
-                    icon: "search-minus"
-                }
-            })], 1), n("div", {
-                staticClass: "scale-icon"
-            },
-            [n("font-awesome-icon", {
-                attrs: {
-                    icon: "step-backward"
-                },
-                on: {
-                    click: e.firstPage
-                }
-            })], 1), n("div", {
-                staticClass: "scale-icon",
-                staticStyle: {
-                    "font-size": "18px"
-                },
-                on: {
-                    click: e.prePage
-                }
-            },
-            [n("font-awesome-icon", {
-                attrs: {
-                    icon: "caret-left"
-                }
-            })], 1), n("div", {
-                staticClass: "scale-icon"
-            },
-            [e._v(" " + e._s(e.pageIndex) + "/" + e._s(e.pageCount) + " ")]), n("div", {
-                staticClass: "scale-icon",
-                staticStyle: {
-                    "font-size": "18px"
-                },
-                on: {
-                    click: e.nextPage
-                }
-            },
-            [n("font-awesome-icon", {
-                attrs: {
-                    icon: "caret-right"
-                }
-            })], 1), n("div", {
-                staticClass: "scale-icon",
-                on: {
-                    click: e.lastPage
-                }
-            },
-            [n("font-awesome-icon", {
-                attrs: {
-                    icon: "step-forward"
-                }
-            })], 1)]) : e._e()]), n("el-main", {
-                directives: [{
-                    name: "loading",
-                    rawName: "v-loading",
-                    value: e.loading,
-                    expression: "loading"
-                }],
-                staticStyle: {
-                    height: "auto",
-                    background: "#808080",
-                    padding: "0"
-                }
-            },
-            [n("div", {
-                staticClass: "left-section",
-                attrs: {
-                    id: "leftMenu",
-                    style:"display:none"
-                }
-            },
-            [n("div", {
-                staticClass: "text-icon",
-                on: {
-                    click: function(t) {
-                    }
-                }
-                
-            },
-            [n("p", [e._v("电子发票")])]), n("div", {
-                staticClass: "text-icon",
-                on: {
-                    click: function(t) {
-                    }
-                }
-            }
-            ,
-            [n("p", [e._v("电子公文")])]), n("div", {
-                staticClass: "text-icon",
-                on: {
-                    click: function(t) {
-                    }
-                }
-            },
-            [n("p", [e._v("骑缝章")])]), n("div", {
-                staticClass: "text-icon",
-                on: {
-                    click: function(t) {
-                    }
-                }
-            },
-            [n("p", [e._v("多页文档")])])]), n("div", {
-                ref: "contentDiv",
-                staticClass: "main-section",
-                attrs: {
-                    id: "content"
-                },
-                on: {
-                    mousewheel: e.scrool
-                }
-            })]), n("div", {
-                ref: "sealInfoDiv",
-                staticClass: "SealContainer",
-                attrs: {
-                    id: "sealInfoDiv",
-                    hidden: "hidden"
-                }
-            },
-            [n("div", {
-                staticClass: "SealContainer mask",
-                on: {
-                    click: e.closeSealInfoDialog
-                }
-            }), n("div", {
-                staticClass: "SealContainer-layout"
-            },
-            [n("div", {
-                staticClass: "SealContainer-content"
-            },
-            [n("p", {
-                staticClass: "content-title"
-            },
-            [e._v("签章信息")]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("签章人")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSigner"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("签章提供者")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spProvider"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("原文摘要值")]), n("span", {
-                staticClass: "value",
-                staticStyle: {
-                    cursor: "pointer"
-                },
-                attrs: {
-                    id: "spHashedValue"
-                },
-                on: {
-                    click: function(t) {
-                        return e.showMore("原文摘要值", "spHashedValue")
-                    }
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("签名值")]), n("span", {
-                staticClass: "value",
-                staticStyle: {
-                    cursor: "pointer"
-                },
-                attrs: {
-                    id: "spSignedValue"
-                },
-                on: {
-                    click: function(t) {
-                        return e.showMore("签名值", "spSignedValue")
-                    }
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("签名算法")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSignMethod"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("版本号")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spVersion"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("验签结果")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "VerifyRet"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("p", {
-                staticClass: "content-title"
-            },
-            [e._v("印章信息")]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("印章标识")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSealID"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("印章名称")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSealName"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("印章类型")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSealType"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("有效时间")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSealAuthTime"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("制章日期")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSealMakeTime"
-                }
-            },
-            [e._v("[无效的签章结构]")])]), n("div", {
-                staticClass: "subcontent"
-            },
-            [n("span", {
-                staticClass: "title"
-            },
-            [e._v("印章版本")]), n("span", {
-                staticClass: "value",
-                attrs: {
-                    id: "spSealVersion"
-                }
-            },
-            [e._v("[无效的签章结构]")])])]), n("input", {
-                staticStyle: {
-                    position: "absolute",
-                    right: "1%",
-                    top: "1%"
-                },
-                attrs: {
-                    type: "button",
-                    name: "",
-                    id: "",
-                    value: "X"
-                },
-                on: {
-                    click: function(t) {
-                        return e.closeSealInfoDialog()
-                    }
-                }
-            })])]), n("el-dialog", {
-                attrs: {
-                    title: e.title,
-                    visible: e.dialogFormVisible
-                },
-                on: {
-                    "update:visible": function(t) {
-                        e.dialogFormVisible = t
-                    }
-                }
-            },
-            [n("span", {
-                staticStyle: {
-                    "text-align": "left"
-                }
-            },
-            [e._v(" " + e._s(e.value) + " ")]), n("div", {
-                staticClass: "dialog-footer",
-                attrs: {
-                    slot: "footer"
-                },
-                slot: "footer"
-            },
-            [n("el-button", {
-                attrs: {
-                    type: "primary"
-                },
-                on: {
-                    click: function(t) {
-                        e.dialogFormVisible = !1
-                    }
-                }
-            },
-            [e._v("确 定")])], 1)])], 1)
-        },
-                
-        u = [],
-        o = n("8374"),
-        l = o["a"],
-        c = (n("e12b"), n("2877")),
-        b = Object(c["a"])(l, i, u, !1, null, "b0082a62", null),
-        d = b.exports,
-        f = {
-            name: "App",
-            components: {
-                HelloWorld: d
-            }
-        },
-        h = f,
-        p = (n("034f"), Object(c["a"])(h, a, r, !1, null, null, null)),
-        v = p.exports,
-        g = (n("5717"), n("5c96")),
-        m = n.n(g),
-        y = (n("0fae"), n("ecee")),
-        x = n("c074"),
-        w = n("ad3d"),
-        O = n("bc3a"),
-        S = n.n(O);
-        s["default"].prototype.$axios = S.a,
-        y["c"].add(x["a"]),
-        s["default"].config.productionTip = !1,
-        s["default"].component("font-awesome-icon", w["a"]),
-        s["default"].use(m.a),
-        new s["default"]({
-            render: function(e) {
-                return e(v)
-            }
-        }).$mount("#app")
-    },
-    5717 : function(e, t, n) {},
-   
-    "67d3": function(e, t, n) {
-        "use strict"; (function(e) {
-            n.d(t, "c", (function() {
-                return f
-            })),
-            n.d(t, "a", (function() {
-                return h
-            })),
-            n.d(t, "b", (function() {
-                return p
-            }));
-            n("99af"),
-            n("4160"),
-            n("c975"),
-            n("baa5"),
-            n("4ec9"),
-            n("b64b"),
-            n("d3b7"),
-            n("ac1f"),
-            n("25f0"),
-            n("3ca3"),
-            n("5319"),
-            n("1276"),
-            n("159b"),
-            n("ddb0");
-            var s = n("b85c"),
-            a = n("3835"),
-            r = (n("96cf"), n("1da1")),
-            i = n("3662"),
-            u = n("c4e3"),
-            o = n.n(u),
-            l = n("6b33"),
-            c = n("73fd"),
-            b = n("a9c6"),
-            d = n("74db"),
-            f = function(e) {
-                return new Promise((function(t, n) {
-                    o.a.loadAsync(e).then((function(e) {
-                        t(e)
-                    }), (function(e) {
-                        n(e)
-                    }))
-                }))
-            },
-            h = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, s, a;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return e.next = 2,
-                            T(t, "OFD.xml");
-                        case 2:
-                            return n = e.sent,
-                            s = n["json"]["ofd:OFD"]["ofd:DocBody"],
-                            a = [],
-                            a = a.concat(s),
-                            e.abrupt("return", [t, a]);
-                        case 7:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            p = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, r, i, u, o, l, c, b;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            n = Object(a["a"])(t, 2),
-                            r = n[0],
-                            i = n[1],
-                            u = [],
-                            o = Object(s["a"])(i),
-                            e.prev = 3,
-                            o.s();
-                        case 5:
-                            if ((l = o.n()).done) {
-                                e.next = 29;
-                                break
-                            }
-                            if (c = l.value, !c) {
-                                e.next = 27;
-                                break
-                            }
-                            return e.next = 10,
-                            v(r, c);
-                        case 10:
-                            return b = e.sent,
-                            e.next = 13,
-                            g(b);
-                        case 13:
-                            return b = e.sent,
-                            e.next = 16,
-                            y(b);
-                        case 16:
-                            return b = e.sent,
-                            e.next = 19,
-                            x(b);
-                        case 19:
-                            return b = e.sent,
-                            e.next = 22,
-                            w(b);
-                        case 22:
-                            return b = e.sent,
-                            e.next = 25,
-                            O(b);
-                        case 25:
-                            b = e.sent,
-                            u.push(b);
-                        case 27:
-                            e.next = 5;
-                            break;
-                        case 29:
-                            e.next = 34;
-                            break;
-                        case 31:
-                            e.prev = 31,
-                            e.t0 = e["catch"](3),
-                            o.e(e.t0);
-                        case 34:
-                            return e.prev = 34,
-                            o.f(),
-                            e.finish(34);
-                        case 37:
-                            return e.abrupt("return", u);
-                        case 38:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[3, 31, 34, 37]])
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            v = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n) {
-                    var a, r, i, u, o, c, b, d, f, h, p, v, g, m, y, x, w, O;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return a = n["ofd:DocRoot"],
-                            a = Object(l["m"])(a),
-                            r = a.split("/")[0],
-                            i = n["ofd:Signatures"],
-                            e.next = 6,
-                            C(t, i, r);
-                        case 6:
-                            u = e.sent,
-                            o = {},
-                            c = Object(s["a"])(u),
-                            e.prev = 9,
-                            c.s();
-                        case 11:
-                            if ((b = c.n()).done) {
-                                e.next = 25;
-                                break
-                            }
-                            if (d = b.value, !(d.sealObj && Object.keys(d.sealObj).length > 0)) {
-                                e.next = 23;
-                                break
-                            }
-                            if ("ofd" !== d.sealObj.type) {
-                                e.next = 22;
-                                break
-                            }
-                            return e.next = 17,
-                            D(d);
-                        case 17:
-                            f = e.sent,
-                            h = Object(s["a"])(f);
-                            try {
-                                for (h.s(); ! (p = h.n()).done;) v = p.value,
-                                d.stampAnnot.boundary = Object(l["l"])(d.stampAnnot["@_Boundary"]),
-                                d.stampAnnot.pageRef = d.stampAnnot["@_PageRef"],
-                                o[d.stampAnnot["@_PageRef"]] || (o[d.stampAnnot["@_PageRef"]] = []),
-                                o[d.stampAnnot["@_PageRef"]].push({
-                                    type: "ofd",
-                                    obj: v,
-                                    stamp: d
-                                })
-                            } catch(S) {
-                                h.e(S)
-                            } finally {
-                                h.f()
-                            }
-                            e.next = 23;
-                            break;
-                        case 22:
-                            if ("png" === d.sealObj.type) {
-                                g = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, d.sealObj.ofdArray)),
-                                m = [],
-                                m = m.concat(d.stampAnnot),
-                                y = Object(s["a"])(m);
-                                try {
-                                    for (y.s(); ! (x = y.n()).done;) w = x.value,
-                                    w && (O = {
-                                        img: g,
-                                        pageId: w["@_PageRef"],
-                                        boundary: Object(l["l"])(w["@_Boundary"]),
-                                        clip: Object(l["l"])(w["@_Clip"])
-                                    },
-                                    o[w["@_PageRef"]] || (o[w["@_PageRef"]] = []), o[w["@_PageRef"]].push({
-                                        type: "png",
-                                        obj: O,
-                                        stamp: d
-                                    }))
-                                } catch(S) {
-                                    y.e(S)
-                                } finally {
-                                    y.f()
-                                }
-                            }
-                        case 23:
-                            e.next = 11;
-                            break;
-                        case 25:
-                            e.next = 30;
-                            break;
-                        case 27:
-                            e.prev = 27,
-                            e.t0 = e["catch"](9),
-                            c.e(e.t0);
-                        case 30:
-                            return e.prev = 30,
-                            c.f(),
-                            e.finish(30);
-                        case 33:
-                            return e.abrupt("return", [t, r, a, o]);
-                        case 34:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[9, 27, 30, 33]])
-                })));
-                return function(t, n) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            g = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, s, r, i, u, o, l, c, b, d, f;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return n = Object(a["a"])(t, 4),
-                            s = n[0],
-                            r = n[1],
-                            i = n[2],
-                            u = n[3],
-                            e.next = 3,
-                            T(s, i);
-                        case 3:
-                            if (o = e.sent, l = o["json"]["ofd:Document"], c = l["ofd:Annotations"], b = [], !c) {
-                                e.next = 15;
-                                break
-                            }
-                            if ( - 1 !== c.indexOf("/") && (d = c.substring(0, c.indexOf("/"))), -1 === c.indexOf(r) && (c = "".concat(r, "/").concat(c)), !s.files[c]) {
-                                e.next = 15;
-                                break
-                            }
-                            return e.next = 13,
-                            T(s, c);
-                        case 13:
-                            c = e.sent,
-                            b = b.concat(c["json"]["ofd:Annotations"]["ofd:Page"]);
-                        case 15:
-                            return e.next = 17,
-                            m(d, b, r, s);
-                        case 17:
-                            return f = e.sent,
-                            e.abrupt("return", [s, r, l, u, f]);
-                        case 19:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            m = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n, a, r) {
-                    var i, u, o, l, c, b, d, f, h, p, v, g, m, y, x;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            i = {},
-                            u = Object(s["a"])(n),
-                            e.prev = 2,
-                            u.s();
-                        case 4:
-                            if ((o = u.n()).done) {
-                                e.next = 43;
-                                break
-                            }
-                            if (l = o.value, l) {
-                                e.next = 8;
-                                break
-                            }
-                            return e.abrupt("continue", 41);
-                        case 8:
-                            if (c = l["@_PageID"], b = l["ofd:FileLoc"], t && -1 === b.indexOf(t) && (b = "".concat(t, "/").concat(b)), -1 === b.indexOf(a) && (b = "".concat(a, "/").concat(b)), !r.files[b]) {
-                                e.next = 41;
-                                break
-                            }
-                            return e.next = 15,
-                            T(r, b);
-                        case 15:
-                            d = e.sent,
-                            f = [],
-                            f = f.concat(d["json"]["ofd:PageAnnot"]["ofd:Annot"]),
-                            i[c] || (i[c] = []),
-                            h = Object(s["a"])(f),
-                            e.prev = 20,
-                            h.s();
-                        case 22:
-                            if ((p = h.n()).done) {
-                                e.next = 33;
-                                break
-                            }
-                            if (v = p.value, v) {
-                                e.next = 26;
-                                break
-                            }
-                            return e.abrupt("continue", 31);
-                        case 26:
-                            g = v["@_Type"],
-                            m = !v["@_Visible"] || v["@_Visible"],
-                            y = v["ofd:Appearance"],
-                            x = {
-                                type: g,
-                                appearance: y,
-                                visible: m
-                            },
-                            i[c].push(x);
-                        case 31:
-                            e.next = 22;
-                            break;
-                        case 33:
-                            e.next = 38;
-                            break;
-                        case 35:
-                            e.prev = 35,
-                            e.t0 = e["catch"](20),
-                            h.e(e.t0);
-                        case 38:
-                            return e.prev = 38,
-                            h.f(),
-                            e.finish(38);
-                        case 41:
-                            e.next = 4;
-                            break;
-                        case 43:
-                            e.next = 48;
-                            break;
-                        case 45:
-                            e.prev = 45,
-                            e.t1 = e["catch"](2),
-                            u.e(e.t1);
-                        case 48:
-                            return e.prev = 48,
-                            u.f(),
-                            e.finish(48);
-                        case 51:
-                            return e.abrupt("return", i);
-                        case 52:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[2, 45, 48, 51], [20, 35, 38, 41]])
-                })));
-                return function(t, n, s, a) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            y = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, s, r, i, u, o, l, c, b, d, f, h;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            if (n = Object(a["a"])(t, 5), s = n[0], r = n[1], i = n[2], u = n[3], o = n[4], l = i["ofd:CommonData"]["ofd:DocumentRes"], c = {},
-                            b = {},
-                            d = {},
-                            !l) {
-                                e.next = 21;
-                                break
-                            }
-                            if ( - 1 == l.indexOf(r) && (l = "".concat(r, "/").concat(l)), !s.files[l]) {
-                                e.next = 21;
-                                break
-                            }
-                            return e.next = 10,
-                            T(s, l);
-                        case 10:
-                            return f = e.sent,
-                            h = f["json"]["ofd:Res"],
-                            e.next = 14,
-                            S(h);
-                        case 14:
-                            return c = e.sent,
-                            e.next = 17,
-                            k(h);
-                        case 17:
-                            return b = e.sent,
-                            e.next = 20,
-                            j(s, h, r);
-                        case 20:
-                            d = e.sent;
-                        case 21:
-                            return e.abrupt("return", [s, r, i, u, o, c, b, d]);
-                        case 22:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            x = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, s, r, i, u, o, l, c, b, d, f, h, p, v, g;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            if (n = Object(a["a"])(t, 8), s = n[0], r = n[1], i = n[2], u = n[3], o = n[4], l = n[5], c = n[6], b = n[7], d = i["ofd:CommonData"]["ofd:PublicRes"], !d) {
-                                e.next = 21;
-                                break
-                            }
-                            if ( - 1 == d.indexOf(r) && (d = "".concat(r, "/").concat(d)), !s.files[d]) {
-                                e.next = 21;
-                                break
-                            }
-                            return e.next = 7,
-                            T(s, d);
-                        case 7:
-                            return f = e.sent,
-                            h = f["json"]["ofd:Res"],
-                            e.next = 11,
-                            S(h);
-                        case 11:
-                            return p = e.sent,
-                            l = Object.assign(l, p),
-                            e.next = 15,
-                            k(h);
-                        case 15:
-                            return v = e.sent,
-                            c = Object.assign(c, v),
-                            e.next = 19,
-                            j(s, h, r);
-                        case 19:
-                            g = e.sent,
-                            b = Object.assign(b, g);
-                        case 21:
-                            return e.abrupt("return", [s, r, i, u, o, l, c, b]);
-                        case 22:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            w = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, r, i, u, o, l, c, b, d, f, h, p, v, g, m, y;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            n = Object(a["a"])(t, 8),
-                            r = n[0],
-                            i = n[1],
-                            u = n[2],
-                            o = n[3],
-                            l = n[4],
-                            c = n[5],
-                            b = n[6],
-                            d = n[7],
-                            f = u["ofd:CommonData"]["ofd:TemplatePage"],
-                            h = [],
-                            h = h.concat(f),
-                            p = {},
-                            v = Object(s["a"])(h),
-                            e.prev = 6,
-                            v.s();
-                        case 8:
-                            if ((g = v.n()).done) {
-                                e.next = 17;
-                                break
-                            }
-                            if (m = g.value, !m) {
-                                e.next = 15;
-                                break
-                            }
-                            return e.next = 13,
-                            I(r, m, i);
-                        case 13:
-                            y = e.sent,
-                            p[Object.keys(y)[0]] = y[Object.keys(y)[0]];
-                        case 15:
-                            e.next = 8;
-                            break;
-                        case 17:
-                            e.next = 22;
-                            break;
-                        case 19:
-                            e.prev = 19,
-                            e.t0 = e["catch"](6),
-                            v.e(e.t0);
-                        case 22:
-                            return e.prev = 22,
-                            v.f(),
-                            e.finish(22);
-                        case 25:
-                            return e.abrupt("return", [r, i, u, o, l, p, c, b, d]);
-                        case 26:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[6, 19, 22, 25]])
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            O = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, r, i, u, o, l, c, b, d, f, h, p, v, g, m, y, x, w, O, S;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            n = Object(a["a"])(t, 9),
-                            r = n[0],
-                            i = n[1],
-                            u = n[2],
-                            o = n[3],
-                            l = n[4],
-                            c = n[5],
-                            b = n[6],
-                            d = n[7],
-                            f = n[8],
-                            h = u["ofd:Pages"]["ofd:Page"],
-                            p = [],
-                            p = p.concat(h),
-                            v = [],
-                            g = Object(s["a"])(p),
-                            e.prev = 6,
-                            g.s();
-                        case 8:
-                            if ((m = g.n()).done) {
-                                e.next = 22;
-                                break
-                            }
-                            if (y = m.value, !y) {
-                                e.next = 20;
-                                break
-                            }
-                            return e.next = 13,
-                            I(r, y, i);
-                        case 13:
-                            x = e.sent,
-                            w = Object.keys(x)[0],
-                            O = o[w],
-                            O && (x[w].stamp = O),
-                            S = l[w],
-                            S && (x[w].annotation = S),
-                            v.push(x);
-                        case 20:
-                            e.next = 8;
-                            break;
-                        case 22:
-                            e.next = 27;
-                            break;
-                        case 24:
-                            e.prev = 24,
-                            e.t0 = e["catch"](6),
-                            g.e(e.t0);
-                        case 27:
-                            return e.prev = 27,
-                            g.f(),
-                            e.finish(27);
-                        case 30:
-                            return e.abrupt("return", {
-                                doc: i,
-                                document: u,
-                                pages: v,
-                                tpls: c,
-                                stampAnnot: o,
-                                fontResObj: b,
-                                drawParamResObj: d,
-                                multiMediaResObj: f
-                            });
-                        case 31:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[6, 24, 27, 30]])
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            S = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, a, r, i, u, o;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            if (n = t["ofd:Fonts"], a = {},
-                            n) {
-                                r = [],
-                                r = r.concat(n["ofd:Font"]),
-                                i = Object(s["a"])(r);
-                                try {
-                                    for (i.s(); ! (u = i.n()).done;) o = u.value,
-                                    o && (o["@_FamilyName"] ? a[o["@_ID"]] = o["@_FamilyName"] : a[o["@_ID"]] = o["@_FontName"])
-                                } catch(l) {
-                                    i.e(l)
-                                } finally {
-                                    i.f()
-                                }
-                            }
-                            return e.abrupt("return", a);
-                        case 4:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            k = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                    var n, a, r, i, u, o;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            if (n = t["ofd:DrawParams"], a = {},
-                            n) {
-                                r = [],
-                                r = r.concat(n["ofd:DrawParam"]),
-                                i = Object(s["a"])(r);
-                                try {
-                                    for (i.s(); ! (u = i.n()).done;) o = u.value,
-                                    o && (a[o["@_ID"]] = {
-                                        LineWidth: o["@_LineWidth"],
-                                        FillColor: o["ofd:FillColor"] ? o["ofd:FillColor"]["@_Value"] : "",
-                                        StrokeColor: o["ofd:StrokeColor"] ? o["ofd:StrokeColor"]["@_Value"] : "",
-                                        relative: o["@_Relative"]
-                                    })
-                                } catch(l) {
-                                    i.e(l)
-                                } finally {
-                                    i.f()
-                                }
-                            }
-                            return e.abrupt("return", a);
-                        case 4:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            j = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n, a) {
-                    var r, i, u, o, c, b, d, f, h, p, v;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            if (r = n["ofd:MultiMedias"], i = {},
-                            !r) {
-                                e.next = 41;
-                                break
-                            }
-                            u = [],
-                            u = u.concat(r["ofd:MultiMedia"]),
-                            o = Object(s["a"])(u),
-                            e.prev = 6,
-                            o.s();
-                        case 8:
-                            if ((c = o.n()).done) {
-                                e.next = 33;
-                                break
-                            }
-                            if (b = c.value, !b) {
-                                e.next = 31;
-                                break
-                            }
-                            if (d = b["ofd:MediaFile"], n["@_BaseLoc"] && -1 === d.indexOf(n["@_BaseLoc"]) && (d = "".concat(n["@_BaseLoc"], "/").concat(d)), -1 === d.indexOf(a) && (d = "".concat(a, "/").concat(d)), "image" !== b["@_Type"].toLowerCase()) {
-                                e.next = 30;
-                                break
-                            }
-                            if (f = b["@_Format"], h = Object(l["g"])(d), (!f || "gbig2" !== f.toLowerCase() && "jb2" !== f.toLowerCase()) && (!h || "jb2" !== h.toLowerCase() && "gbig2" !== h.toLowerCase())) {
-                                e.next = 24;
-                                break
-                            }
-                            return e.next = 20,
-                            A(t, d);
-                        case 20:
-                            p = e.sent,
-                            i[b["@_ID"]] = p,
-                            e.next = 28;
-                            break;
-                        case 24:
-                            return e.next = 26,
-                            R(t, d);
-                        case 26:
-                            v = e.sent,
-                            i[b["@_ID"]] = {
-                                img: v,
-                                format: "png"
-                            };
-                        case 28:
-                            e.next = 31;
-                            break;
-                        case 30:
-                            i[b["@_ID"]] = d;
-                        case 31:
-                            e.next = 8;
-                            break;
-                        case 33:
-                            e.next = 38;
-                            break;
-                        case 35:
-                            e.prev = 35,
-                            e.t0 = e["catch"](6),
-                            o.e(e.t0);
-                        case 38:
-                            return e.prev = 38,
-                            o.f(),
-                            e.finish(38);
-                        case 41:
-                            return e.abrupt("return", i);
-                        case 42:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[6, 35, 38, 41]])
-                })));
-                return function(t, n, s) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            I = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n, s) {
-                    var a, r, i;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return a = n["@_BaseLoc"],
-                            -1 == a.indexOf(s) && (a = "".concat(s, "/").concat(a)),
-                            e.next = 4,
-                            T(t, a);
-                        case 4:
-                            return r = e.sent,
-                            i = {},
-                            i[n["@_ID"]] = {
-                                json: r["json"]["ofd:Page"],
-                                xml: r["xml"]
-                            },
-                            e.abrupt("return", i);
-                        case 8:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t, n, s) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            C = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n, a) {
-                    var r, i, u, o, c, b, d, f, h;
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            if (r = [], !n) {
-                                e.next = 37;
-                                break
-                            }
-                            if (n = Object(l["m"])(n), -1 === n.indexOf(a) && (n = "".concat(a, "/").concat(n)), !t.files[n]) {
-                                e.next = 37;
-                                break
-                            }
-                            return e.next = 7,
-                            T(t, n);
-                        case 7:
-                            i = e.sent,
-                            u = i["json"]["ofd:Signatures"]["ofd:Signature"],
-                            o = [],
-                            o = o.concat(u),
-                            c = Object(s["a"])(o),
-                            e.prev = 12,
-                            c.s();
-                        case 14:
-                            if ((b = c.n()).done) {
-                                e.next = 29;
-                                break
-                            }
-                            if (d = b.value, !d) {
-                                e.next = 27;
-                                break
-                            }
-                            return f = d["@_BaseLoc"],
-                            h = d["@_ID"],
-                            f = Object(l["m"])(f),
-                            -1 === f.indexOf("Signs") && (f = "Signs/".concat(f)),
-                            -1 === f.indexOf(a) && (f = "".concat(a, "/").concat(f)),
-                            e.t0 = r,
-                            e.next = 25,
-                            _(t, f, h);
-                        case 25:
-                            e.t1 = e.sent,
-                            e.t0.push.call(e.t0, e.t1);
-                        case 27:
-                            e.next = 14;
-                            break;
-                        case 29:
-                            e.next = 34;
-                            break;
-                        case 31:
-                            e.prev = 31,
-                            e.t2 = e["catch"](12),
-                            c.e(e.t2);
-                        case 34:
-                            return e.prev = 34,
-                            c.f(),
-                            e.finish(34);
-                        case 37:
-                            return e.abrupt("return", r);
-                        case 38:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e, null, [[12, 31, 34, 37]])
-                })));
-                return function(t, n, s) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            B = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n) {
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return e.abrupt("return", t.files[n].async("uint8array"));
-                        case 1:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t, n) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            _ = function() {
-                var t = Object(r["a"])(regeneratorRuntime.mark((function t(n, s, a) {
-                    var i, u, o, l, c;
-                    return regeneratorRuntime.wrap((function(t) {
-                        while (1) switch (t.prev = t.next) {
-                        case 0:
-                            return t.next = 2,
-                            T(n, s);
-                        case 2:
-                            return i = t.sent,
-                            u = i["json"]["ofd:Signature"]["ofd:SignedValue"],
-                            u = u.toString().replace("/", ""),
-                            n.files[u] || (u = "".concat(s.substring(0, s.lastIndexOf("/")), "/").concat(u)),
-                            t.next = 8,
-                            Object(b["b"])(n, u);
-                        case 8:
-                            return o = t.sent,
-                            l = i["json"]["ofd:Signature"]["ofd:SignedInfo"]["ofd:References"]["@_CheckMethod"],
-                            e.toBeChecked = new Map,
-                            c = new Array,
-                            i["json"]["ofd:Signature"]["ofd:SignedInfo"]["ofd:References"]["ofd:Reference"].forEach(function() {
-                                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t) {
-                                    var s, a, r;
-                                    return regeneratorRuntime.wrap((function(e) {
-                                        while (1) switch (e.prev = e.next) {
-                                        case 0:
-                                            if (0 != Object.keys(t).length && 0 != Object.keys(t["@_FileRef"]).length) {
-                                                e.next = 2;
-                                                break
-                                            }
-                                            return e.abrupt("return", !0);
-                                        case 2:
-                                            return s = t["ofd:CheckValue"],
-                                            a = t["@_FileRef"].replace("/", ""),
-                                            e.next = 6,
-                                            B(n, a);
-                                        case 6:
-                                            r = e.sent,
-                                            c.push({
-                                                fileData: r,
-                                                hashed: s,
-                                                checkMethod: l
-                                            });
-                                        case 8:
-                                        case "end":
-                                            return e.stop()
-                                        }
-                                    }), e)
-                                })));
-                                return function(t) {
-                                    return e.apply(this, arguments)
-                                }
-                            } ()),
-                            e.toBeChecked.set(a, c),
-                            t.abrupt("return", {
-                                stampAnnot: i["json"]["ofd:Signature"]["ofd:SignedInfo"]["ofd:StampAnnot"],
-                                sealObj: o,
-                                signedInfo: {
-                                    signatureID: a,
-                                    VerifyRet: o.verifyRet,
-                                    Provider: i["json"]["ofd:Signature"]["ofd:SignedInfo"]["ofd:Provider"],
-                                    SignatureMethod: i["json"]["ofd:Signature"]["ofd:SignedInfo"]["ofd:SignatureMethod"],
-                                    SignatureDateTime: i["json"]["ofd:Signature"]["ofd:SignedInfo"]["ofd:SignatureDateTime"]
-                                }
-                            });
-                        case 15:
-                        case "end":
-                            return t.stop()
-                        }
-                    }), t)
-                })));
-                return function(e, n, s) {
-                    return t.apply(this, arguments)
-                }
-            } (),
-            D = function(e) {
-                var t = this;
-                return new Promise((function(n, s) {
-                    i["a"].call(t, Object(r["a"])(regeneratorRuntime.mark((function t() {
-                        return regeneratorRuntime.wrap((function(t) {
-                            while (1) switch (t.prev = t.next) {
-                            case 0:
-                                return t.next = 2,
-                                f(e.sealObj.ofdArray);
-                            case 2:
-                                return t.abrupt("return", t.sent);
-                            case 3:
-                            case "end":
-                                return t.stop()
-                            }
-                        }), t)
-                    }))), h, p).then((function(e) {
-                        n(e)
-                    })).
-                    catch((function(e) {
-                        s(e)
-                    }))
-                }))
-            },
-            T = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n) {
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return e.abrupt("return", new Promise((function(e, s) {
-                                t.files[n].async("string").then((function(t) {
-                                    var n = {
-                                        attributeNamePrefix: "@_",
-                                        ignoreAttributes: !1,
-                                        parseNodeValue: !1,
-                                        trimValues: !1
-                                    },
-                                    s = d.parse(t, n),
-                                    a = {
-                                        xml: t,
-                                        json: s
-                                    };
-                                    e(a)
-                                }), (function(e) {
-                                    s(e)
-                                }))
-                            })));
-                        case 1:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t, n) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            A = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n) {
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return e.abrupt("return", new Promise((function(e, s) {
-                                t.files[n].async("uint8array").then((function(t) {
-                                    var n = new c["a"],
-                                    s = n.parse(t);
-                                    e({
-                                        img: s,
-                                        width: n.width,
-                                        height: n.height,
-                                        format: "gbig2"
-                                    })
-                                }), (function(e) {
-                                    s(e)
-                                }))
-                            })));
-                        case 1:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t, n) {
-                    return e.apply(this, arguments)
-                }
-            } (),
-            R = function() {
-                var e = Object(r["a"])(regeneratorRuntime.mark((function e(t, n) {
-                    return regeneratorRuntime.wrap((function(e) {
-                        while (1) switch (e.prev = e.next) {
-                        case 0:
-                            return e.abrupt("return", new Promise((function(e, s) {
-                                t.files[n].async("base64").then((function(t) {
-                                    var n = "data:image/png;base64," + t;
-                                    e(n)
-                                }), (function(e) {
-                                    s(e)
-                                }))
-                            })));
-                        case 1:
-                        case "end":
-                            return e.stop()
-                        }
-                    }), e)
-                })));
-                return function(t, n) {
-                    return e.apply(this, arguments)
-                }
-            } ()
-        }).call(this, n("c8ba"))
-    },
-    "6b33": function(e, t, n) {
-        "use strict";
-        n.d(t, "d", (function() {
-            return a
-        })),
-        n.d(t, "b", (function() {
-            return r
-        })),
-        n.d(t, "n", (function() {
-            return l
-        })),
-        n.d(t, "o", (function() {
-            return c
-        })),
-        n.d(t, "i", (function() {
-            return b
-        })),
-        n.d(t, "f", (function() {
-            return d
-        })),
-        n.d(t, "c", (function() {
-            return h
-        })),
-        n.d(t, "m", (function() {
-            return p
-        })),
-        n.d(t, "g", (function() {
-            return v
-        })),
-        n.d(t, "h", (function() {
-            return w
-        })),
-        n.d(t, "l", (function() {
-            return O
-        })),
-        n.d(t, "k", (function() {
-            return S
-        })),
-        n.d(t, "j", (function() {
-            return k
-        })),
-        n.d(t, "e", (function() {
-            return j
-        })),
-        n.d(t, "a", (function() {
-            return I
-        }));
-        n("99af"),
-        n("c975"),
-        n("a15b"),
-        n("baa5"),
-        n("b64b"),
-        n("d3b7"),
-        n("ac1f"),
-        n("25f0"),
-        n("5319"),
-        n("1276"),
-        n("498a");
-        var s = n("b85c"),
-        a = function(e) {
-            var t = e.split(" "),
-            n = [],
-            s = 0;
-            while (s < t.length) {
-                if ("M" === t[s] || "S" === t[s]) {
-                    var a = {
-                        type: "M",
-                        x: parseFloat(t[s + 1]),
-                        y: parseFloat(t[s + 2])
-                    };
-                    s += 3,
-                    n.push(a)
-                }
-                if ("L" === t[s]) {
-                    var r = {
-                        type: "L",
-                        x: parseFloat(t[s + 1]),
-                        y: parseFloat(t[s + 2])
-                    };
-                    s += 3,
-                    n.push(r)
-                } else if ("C" === t[s]) {
-                    var i = {
-                        type: "C",
-                        x: 0,
-                        y: 0
-                    };
-                    n.push(i),
-                    s++
-                } else if ("B" === t[s]) {
-                    var u = {
-                        type: "B",
-                        x1: parseFloat(t[s + 1]),
-                        y1: parseFloat(t[s + 2]),
-                        x2: parseFloat(t[s + 3]),
-                        y2: parseFloat(t[s + 4]),
-                        x3: parseFloat(t[s + 5]),
-                        y3: parseFloat(t[s + 6])
-                    };
-                    s += 7,
-                    n.push(u)
-                } else s++
-            }
-            return n
-        },
-        r = function(e) {
-            for (var t = [], n = 0; n < e.length; n++) {
-                var s = e[n];
-                if ("M" === s.type || "L" === s.type || "C" === s.type) {
-                    var a = 0,
-                    r = 0;
-                    a = s.x,
-                    r = s.y,
-                    s.x = d(a),
-                    s.y = d(r),
-                    t.push(s)
-                } else if ("B" === s.type) {
-                    var i = s.x1,
-                    u = s.y1,
-                    o = s.x2,
-                    l = s.y2,
-                    c = s.x3,
-                    b = s.y3,
-                    f = {
-                        type: "B",
-                        x1: d(i),
-                        y1: d(u),
-                        x2: d(o),
-                        y2: d(l),
-                        x3: d(c),
-                        y3: d(b)
-                    };
-                    t.push(f)
-                }
-            }
-            return t
-        },
-        i = function(e, t) {
-            return e * t / 25.4
-        },
-        u = 10,
-        o = u,
-        l = function(e) {
-            u = e > 5 ? 5 : e
-        },
-        c = function(e) {
-            o = e > 1 ? e: 1,
-            o = o > u ? u: o
-        },
-        b = function() {
-            return o
-        },
-        d = function(e) {
-            return i(e, 25.4 * o)
-        },
-        f = function(e) {
-            if ( - 1 === e.indexOf("g")) {
-                var t, n = [],
-                a = Object(s["a"])(e.split(" "));
-                try {
-                    for (a.s(); ! (t = a.n()).done;) {
-                        var r = t.value;
-                        n.push(parseFloat(r))
-                    }
-                } catch(p) {
-                    a.e(p)
-                } finally {
-                    a.f()
-                }
-                return n
-            }
-            var i, u = e.split(" "),
-            o = !1,
-            l = !1,
-            c = 0,
-            b = [],
-            d = Object(s["a"])(u);
-            try {
-                for (d.s(); ! (i = d.n()).done;) {
-                    var f = i.value;
-                    if ("g" === f) o = !0;
-                    else {
-                        if (!f || 0 == f.trim().length) continue;
-                        if (o) c = parseInt(f),
-                        l = !0,
-                        o = !1;
-                        else if (l) {
-                            for (var h = 0; h < c; h++) b.push(parseFloat(f));
-                            l = !1
-                        } else b.push(parseFloat(f))
-                    }
-                }
-            } catch(p) {
-                d.e(p)
-            } finally {
-                d.f()
-            }
-            return b
-        },
-        h = function(e) {
-            var t = 0,
-            n = 0,
-            a = [];
-            if (!e) return a;
-            var r, i = Object(s["a"])(e);
-            try {
-                for (i.s(); ! (r = i.n()).done;) {
-                    var u = r.value;
-                    if (u) {
-                        t = parseFloat(u["@_X"]),
-                        n = parseFloat(u["@_Y"]),
-                        isNaN(t) && (t = 0),
-                        isNaN(n) && (n = 0);
-                        var o = [],
-                        l = [];
-                        u["@_DeltaX"] && u["@_DeltaX"].length > 0 && (o = f(u["@_DeltaX"])),
-                        u["@_DeltaY"] && u["@_DeltaY"].length > 0 && (l = f(u["@_DeltaY"]));
-                        var c = u["#text"];
-                        if (c) {
-                            c += "",
-                            c = y(c),
-                            c = c.replace(/&#x20;/g, " ");
-                            for (var b = 0; b < c.length; b++) {
-                                b > 0 && o.length > 0 && (t += o[b - 1]),
-                                b > 0 && l.length > 0 && (n += l[b - 1]);
-                                var h = c.substring(b, b + 1),
-                                p = {
-                                    x: d(t),
-                                    y: d(n),
-                                    text: h
-                                };
-                                a.push(p)
-                            }
-                        }
-                    }
-                }
-            } catch(v) {
-                i.e(v)
-            } finally {
-                i.f()
-            }
-            return a
-        },
-        p = function(e) {
-            return e && 0 === e.indexOf("/") && (e = e.replace("/", "")),
-            e
-        },
-        v = function(e) {
-            return e || "string" === typeof e ? e.substring(e.lastIndexOf(".") + 1) : ""
-        },
-        g = /&\w+;|&#(\d+);/g,
-        m = {
-            "&lt;": "<",
-            "&gt;": ">",
-            "&amp;": "&",
-            "&nbsp;": " ",
-            "&quot;": '"',
-            "&copy;": "",
-            "&apos;": "'"
-        },
-        y = function(e) {
-            return e = void 0 != e ? e: this.toString(),
-            "string" != typeof e ? e: e.replace(g, (function(e, t) {
-                var n = m[e];
-                return void 0 == n && (n = isNaN(t) ? e: String.fromCharCode(160 == t ? 32 : t)),
-                n
-            }))
-        },
-        x = {
-            "楷体": "楷体, KaiTi, Kai, simkai",
-            kaiti: "楷体, KaiTi, Kai, simkai",
-            Kai: "楷体, KaiTi, Kai",
-            simsun: "SimSun, simsun, Songti SC",
-            "宋体": "SimSun, simsun, Songti SC",
-            "黑体": "SimHei, STHeiti, simhei",
-            "仿宋": "FangSong, STFangsong, simfang",
-            "小标宋体": "sSun",
-            "方正小标宋_gbk": "sSun",
-            "仿宋_gb2312": "FangSong, STFangsong, simfang",
-            "楷体_gb2312": "楷体, KaiTi, Kai, simkai",
-            couriernew: "Courier New",
-            "courier new": "Courier New"
-        },
-        w = function(e) {
-            x[e.toLowerCase()] && (e = x[e.toLowerCase()]);
-            for (var t = 0,
-            n = Object.keys(x); t < n.length; t++) {
-                var s = n[t];
-                if ( - 1 != e.toLowerCase().indexOf(s.toLowerCase())) return x[s]
-            }
-            return e
-        },
-        O = function(e) {
-            if (e) {
-                var t = e.split(" ");
-                return {
-                    x: parseFloat(t[0]),
-                    y: parseFloat(t[1]),
-                    w: parseFloat(t[2]),
-                    h: parseFloat(t[3])
-                }
-            }
-            return null
-        },
-        S = function(e) {
-            var t = e.split(" ");
-            return t
-        },
-        k = function(e) {
-            if (e) {
-                if ( - 1 !== e.indexOf("#")) return e = e.replace(/#/g, ""),
-                e = e.replace(/ /g, ""),
-                e = "#" + e.toString(),
-                e;
-                var t = e.split(" ");
-                return "rgb(".concat(t[0], ", ").concat(t[1], ", ").concat(t[2], ")")
-            }
-            return "rgb(0, 0, 0)"
-        },
-        j = function(e) {
-            return {
-                x: d(e.x),
-                y: d(e.y),
-                w: d(e.w),
-                h: d(e.h)
-            }
-        },
-        I = function(e) {
-            for (var t = [], n = 0, s = 0; s < 2 * e.length; s += 2) t[s >>> 3] |= parseInt(e[n], 10) << 24 - s % 8 * 4,
-            n++;
-            for (var a = [], r = 0; r < e.length; r++) {
-                var i = t[r >>> 2] >>> 24 - r % 4 * 8 & 255;
-                a.push((i >>> 4).toString(16)),
-                a.push((15 & i).toString(16))
-            }
-            return a.join("")
-        }
-    },
-    "73fd": function(e, t, n) {
-        "use strict";
-        n.d(t, "a", (function() {
-            return w
-        }));
-        n("99af"),
-        n("d3b7"),
-        n("fd87"),
-        n("143c"),
-        n("5cc6"),
-        n("8a59"),
-        n("84c3"),
-        n("fb2c"),
-        n("9a8c"),
-        n("a975"),
-        n("735e"),
-        n("c1ac"),
-        n("d139"),
-        n("3a7b"),
-        n("d5d6"),
-        n("82f8"),
-        n("e91f"),
-        n("60bd"),
-        n("5f96"),
-        n("3280"),
-        n("3fcc"),
-        n("ca91"),
-        n("25a1"),
-        n("cd26"),
-        n("3c5d"),
-        n("2954"),
-        n("649e"),
-        n("219c"),
-        n("170b"),
-        n("b39a"),
-        n("72f7");
-        var s = n("d4ec"),
-        a = n("262e"),
-        r = n("2caf"),
-        i = (n("a623"), n("a15b"), n("fb6a"), n("b0c0"), n("a9e3"), n("8ba4"), n("ac1f"), n("25f0"), n("3ca3"), n("4d90"), n("5319"), n("ddb0"), n("2b3d"), n("bee2")),
-        u = (n("53ca"), n("7f3b"), {
-            ERRORS: 0,
-            WARNINGS: 1,
-            INFOS: 5
-        }),
-        o = u.WARNINGS;
-        function l(e) {
-            o >= u.INFOS && console.log("Info: ".concat(e))
-        }
-        function c(e) {
-            throw new Error(e)
-        }
-        function b(e, t, n) {
-            return Object.defineProperty(e, t, {
-                value: n,
-                enumerable: !0,
-                configurable: !0,
-                writable: !1
-            }),
-            n
-        }
-        var d = function() {
-            function e(t) {
-                this.constructor === e && c("Cannot initialize BaseException."),
-                this.message = t,
-                this.name = this.constructor.name
-            }
-            return e.prototype = new Error,
-            e.constructor = e,
-            e
-        } (); (function() {
-            var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
-        })(),
-        n("90d7");
-        function f(e) {
-            return e <= 0 ? 0 : Math.ceil(Math.log2(e))
-        }
-        function h(e, t) {
-            return e[t] << 24 >> 24
-        }
-        function p(e, t) {
-            return e[t] << 8 | e[t + 1]
-        }
-        function v(e, t) {
-            return (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0
-        }
-        var g = [{
-            qe: 22017,
-            nmps: 1,
-            nlps: 1,
-            switchFlag: 1
-        },
-        {
-            qe: 13313,
-            nmps: 2,
-            nlps: 6,
-            switchFlag: 0
-        },
-        {
-            qe: 6145,
-            nmps: 3,
-            nlps: 9,
-            switchFlag: 0
-        },
-        {
-            qe: 2753,
-            nmps: 4,
-            nlps: 12,
-            switchFlag: 0
-        },
-        {
-            qe: 1313,
-            nmps: 5,
-            nlps: 29,
-            switchFlag: 0
-        },
-        {
-            qe: 545,
-            nmps: 38,
-            nlps: 33,
-            switchFlag: 0
-        },
-        {
-            qe: 22017,
-            nmps: 7,
-            nlps: 6,
-            switchFlag: 1
-        },
-        {
-            qe: 21505,
-            nmps: 8,
-            nlps: 14,
-            switchFlag: 0
-        },
-        {
-            qe: 18433,
-            nmps: 9,
-            nlps: 14,
-            switchFlag: 0
-        },
-        {
-            qe: 14337,
-            nmps: 10,
-            nlps: 14,
-            switchFlag: 0
-        },
-        {
-            qe: 12289,
-            nmps: 11,
-            nlps: 17,
-            switchFlag: 0
-        },
-        {
-            qe: 9217,
-            nmps: 12,
-            nlps: 18,
-            switchFlag: 0
-        },
-        {
-            qe: 7169,
-            nmps: 13,
-            nlps: 20,
-            switchFlag: 0
-        },
-        {
-            qe: 5633,
-            nmps: 29,
-            nlps: 21,
-            switchFlag: 0
-        },
-        {
-            qe: 22017,
-            nmps: 15,
-            nlps: 14,
-            switchFlag: 1
-        },
-        {
-            qe: 21505,
-            nmps: 16,
-            nlps: 14,
-            switchFlag: 0
-        },
-        {
-            qe: 20737,
-            nmps: 17,
-            nlps: 15,
-            switchFlag: 0
-        },
-        {
-            qe: 18433,
-            nmps: 18,
-            nlps: 16,
-            switchFlag: 0
-        },
-        {
-            qe: 14337,
-            nmps: 19,
-            nlps: 17,
-            switchFlag: 0
-        },
-        {
-            qe: 13313,
-            nmps: 20,
-            nlps: 18,
-            switchFlag: 0
-        },
-        {
-            qe: 12289,
-            nmps: 21,
-            nlps: 19,
-            switchFlag: 0
-        },
-        {
-            qe: 10241,
-            nmps: 22,
-            nlps: 19,
-            switchFlag: 0
-        },
-        {
-            qe: 9217,
-            nmps: 23,
-            nlps: 20,
-            switchFlag: 0
-        },
-        {
-            qe: 8705,
-            nmps: 24,
-            nlps: 21,
-            switchFlag: 0
-        },
-        {
-            qe: 7169,
-            nmps: 25,
-            nlps: 22,
-            switchFlag: 0
-        },
-        {
-            qe: 6145,
-            nmps: 26,
-            nlps: 23,
-            switchFlag: 0
-        },
-        {
-            qe: 5633,
-            nmps: 27,
-            nlps: 24,
-            switchFlag: 0
-        },
-        {
-            qe: 5121,
-            nmps: 28,
-            nlps: 25,
-            switchFlag: 0
-        },
-        {
-            qe: 4609,
-            nmps: 29,
-            nlps: 26,
-            switchFlag: 0
-        },
-        {
-            qe: 4353,
-            nmps: 30,
-            nlps: 27,
-            switchFlag: 0
-        },
-        {
-            qe: 2753,
-            nmps: 31,
-            nlps: 28,
-            switchFlag: 0
-        },
-        {
-            qe: 2497,
-            nmps: 32,
-            nlps: 29,
-            switchFlag: 0
-        },
-        {
-            qe: 2209,
-            nmps: 33,
-            nlps: 30,
-            switchFlag: 0
-        },
-        {
-            qe: 1313,
-            nmps: 34,
-            nlps: 31,
-            switchFlag: 0
-        },
-        {
-            qe: 1089,
-            nmps: 35,
-            nlps: 32,
-            switchFlag: 0
-        },
-        {
-            qe: 673,
-            nmps: 36,
-            nlps: 33,
-            switchFlag: 0
-        },
-        {
-            qe: 545,
-            nmps: 37,
-            nlps: 34,
-            switchFlag: 0
-        },
-        {
-            qe: 321,
-            nmps: 38,
-            nlps: 35,
-            switchFlag: 0
-        },
-        {
-            qe: 273,
-            nmps: 39,
-            nlps: 36,
-            switchFlag: 0
-        },
-        {
-            qe: 133,
-            nmps: 40,
-            nlps: 37,
-            switchFlag: 0
-        },
-        {
-            qe: 73,
-            nmps: 41,
-            nlps: 38,
-            switchFlag: 0
-        },
-        {
-            qe: 37,
-            nmps: 42,
-            nlps: 39,
-            switchFlag: 0
-        },
-        {
-            qe: 21,
-            nmps: 43,
-            nlps: 40,
-            switchFlag: 0
-        },
-        {
-            qe: 9,
-            nmps: 44,
-            nlps: 41,
-            switchFlag: 0
-        },
-        {
-            qe: 5,
-            nmps: 45,
-            nlps: 42,
-            switchFlag: 0
-        },
-        {
-            qe: 1,
-            nmps: 45,
-            nlps: 43,
-            switchFlag: 0
-        },
-        {
-            qe: 22017,
-            nmps: 46,
-            nlps: 46,
-            switchFlag: 0
-        }],
-        m = function() {
-            function e(t, n, a) {
-                Object(s["a"])(this, e),
-                this.data = t,
-                this.bp = n,
-                this.dataEnd = a,
-                this.chigh = t[n],
-                this.clow = 0,
-                this.byteIn(),
-                this.chigh = this.chigh << 7 & 65535 | this.clow >> 9 & 127,
-                this.clow = this.clow << 7 & 65535,
-                this.ct -= 7,
-                this.a = 32768
-            }
-            return Object(i["a"])(e, [{
-                key: "byteIn",
-                value: function() {
-                    var e = this.data,
-                    t = this.bp;
-                    255 === e[t] ? e[t + 1] > 143 ? (this.clow += 65280, this.ct = 8) : (t++, this.clow += e[t] << 9, this.ct = 7, this.bp = t) : (t++, this.clow += t < this.dataEnd ? e[t] << 8 : 65280, this.ct = 8, this.bp = t),
-                    this.clow > 65535 && (this.chigh += this.clow >> 16, this.clow &= 65535)
-                }
-            },
-            {
-                key: "readBit",
-                value: function(e, t) {
-                    var n, s = e[t] >> 1,
-                    a = 1 & e[t],
-                    r = g[s],
-                    i = r.qe,
-                    u = this.a - i;
-                    if (this.chigh < i) u < i ? (u = i, n = a, s = r.nmps) : (u = i, n = 1 ^ a, 1 === r.switchFlag && (a = n), s = r.nlps);
-                    else {
-                        if (this.chigh -= i, 0 !== (32768 & u)) return this.a = u,
-                        a;
-                        u < i ? (n = 1 ^ a, 1 === r.switchFlag && (a = n), s = r.nlps) : (n = a, s = r.nmps)
-                    }
-                    do {
-                        0 === this.ct && this.byteIn(), u <<= 1, this.chigh = this.chigh << 1 & 65535 | this.clow >> 15 & 1, this.clow = this.clow << 1 & 65535, this.ct--
-                    } while ( 0 === ( 32768 & u ));
-                    return this.a = u,
-                    e[t] = s << 1 | a,
-                    n
-                }
-            }]),
-            e
-        } (),
-        y = function() {
-            var e = -2,
-            t = -1,
-            n = 0,
-            s = 1,
-            a = 2,
-            r = 3,
-            i = 4,
-            u = 5,
-            o = 6,
-            c = 7,
-            b = 8,
-            d = [[ - 1, -1], [ - 1, -1], [7, b], [7, c], [6, o], [6, o], [6, u], [6, u], [4, n], [4, n], [4, n], [4, n], [4, n], [4, n], [4, n], [4, n], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, s], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, i], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [3, r], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a], [1, a]],
-            f = [[ - 1, -1], [12, e], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]],
-            h = [[ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [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], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]],
-            p = [[ - 1, -1], [ - 1, -1], [12, e], [12, e], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]],
-            v = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]],
-            g = [[ - 1, -1], [ - 1, -1], [ - 1, -1], [ - 1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [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, 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]];
-            function m(e) {
-                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
-                if (!e || "function" !== typeof e.next) throw new Error('CCITTFaxDecoder - invalid "source" parameter.');
-                this.source = e,
-                this.eof = !1,
-                this.encoding = t.K || 0,
-                this.eoline = t.EndOfLine || !1,
-                this.byteAlign = t.EncodedByteAlign || !1,
-                this.columns = t.Columns || 1728,
-                this.rows = t.Rows || 0;
-                var n, s = t.EndOfBlock;
-                null !== s && void 0 !== s || (s = !0),
-                this.eoblock = s,
-                this.black = t.BlackIs1 || !1,
-                this.codingLine = new Uint32Array(this.columns + 1),
-                this.refLine = new Uint32Array(this.columns + 2),
-                this.codingLine[0] = this.columns,
-                this.codingPos = 0,
-                this.row = 0,
-                this.nextLine2D = this.encoding < 0,
-                this.inputBits = 0,
-                this.inputBuf = 0,
-                this.outputBits = 0,
-                this.rowsDone = !1;
-                while (0 === (n = this._lookBits(12))) this._eatBits(1);
-                1 === n && this._eatBits(12),
-                this.encoding > 0 && (this.nextLine2D = !this._lookBits(1), this._eatBits(1))
-            }
-            return m.prototype = {
-                readNextChar: function() {
-                    if (this.eof) return - 1;
-                    var e, d, f, h, p, v = this.refLine,
-                    g = this.codingLine,
-                    m = this.columns;
-                    if (0 === this.outputBits) {
-                        if (this.rowsDone && (this.eof = !0), this.eof) return - 1;
-                        var y, x, w;
-                        if (this.err = !1, this.nextLine2D) {
-                            for (h = 0; g[h] < m; ++h) v[h] = g[h];
-                            v[h++] = m,
-                            v[h] = m,
-                            g[0] = 0,
-                            this.codingPos = 0,
-                            e = 0,
-                            d = 0;
-                            while (g[this.codingPos] < m) switch (y = this._getTwoDimCode(), y) {
-                            case n:
-                                this._addPixels(v[e + 1], d),
-                                v[e + 1] < m && (e += 2);
-                                break;
-                            case s:
-                                if (y = x = 0, d) {
-                                    do {
-                                        y += w = this._getBlackCode()
-                                    } while ( w >= 64 );
-                                    do {
-                                        x += w = this._getWhiteCode()
-                                    } while ( w >= 64 )
-                                } else {
-                                    do {
-                                        y += w = this._getWhiteCode()
-                                    } while ( w >= 64 );
-                                    do {
-                                        x += w = this._getBlackCode()
-                                    } while ( w >= 64 )
-                                }
-                                this._addPixels(g[this.codingPos] + y, d),
-                                g[this.codingPos] < m && this._addPixels(g[this.codingPos] + x, 1 ^ d);
-                                while (v[e] <= g[this.codingPos] && v[e] < m) e += 2;
-                                break;
-                            case c:
-                                if (this._addPixels(v[e] + 3, d), d ^= 1, g[this.codingPos] < m) {++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case u:
-                                if (this._addPixels(v[e] + 2, d), d ^= 1, g[this.codingPos] < m) {++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case r:
-                                if (this._addPixels(v[e] + 1, d), d ^= 1, g[this.codingPos] < m) {++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case a:
-                                if (this._addPixels(v[e], d), d ^= 1, g[this.codingPos] < m) {++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case b:
-                                if (this._addPixelsNeg(v[e] - 3, d), d ^= 1, g[this.codingPos] < m) {
-                                    e > 0 ? --e: ++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case o:
-                                if (this._addPixelsNeg(v[e] - 2, d), d ^= 1, g[this.codingPos] < m) {
-                                    e > 0 ? --e: ++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case i:
-                                if (this._addPixelsNeg(v[e] - 1, d), d ^= 1, g[this.codingPos] < m) {
-                                    e > 0 ? --e: ++e;
-                                    while (v[e] <= g[this.codingPos] && v[e] < m) e += 2
-                                }
-                                break;
-                            case t:
-                                this._addPixels(m, 0),
-                                this.eof = !0;
-                                break;
-                            default:
-                                l("bad 2d code"),
-                                this._addPixels(m, 0),
-                                this.err = !0
-                            }
-                        } else {
-                            g[0] = 0,
-                            this.codingPos = 0,
-                            d = 0;
-                            while (g[this.codingPos] < m) {
-                                if (y = 0, d) do {
-                                    y += w = this._getBlackCode()
-                                } while ( w >= 64 );
-                                else do {
-                                    y += w = this._getWhiteCode()
-                                } while ( w >= 64 );
-                                this._addPixels(g[this.codingPos] + y, d),
-                                d ^= 1
-                            }
-                        }
-                        var O = !1;
-                        if (this.byteAlign && (this.inputBits &= -8), this.eoblock || this.row !== this.rows - 1) {
-                            if (y = this._lookBits(12), this.eoline) while (y !== t && 1 !== y) this._eatBits(1),
-                            y = this._lookBits(12);
-                            else while (0 === y) this._eatBits(1),
-                            y = this._lookBits(12);
-                            1 === y ? (this._eatBits(12), O = !0) : y === t && (this.eof = !0)
-                        } else this.rowsDone = !0;
-                        if (!this.eof && this.encoding > 0 && !this.rowsDone && (this.nextLine2D = !this._lookBits(1), this._eatBits(1)), this.eoblock && O && this.byteAlign) {
-                            if (y = this._lookBits(12), 1 === y) {
-                                if (this._eatBits(12), this.encoding > 0 && (this._lookBits(1), this._eatBits(1)), this.encoding >= 0) for (h = 0; h < 4; ++h) y = this._lookBits(12),
-                                1 !== y && l("bad rtc code: " + y),
-                                this._eatBits(12),
-                                this.encoding > 0 && (this._lookBits(1), this._eatBits(1));
-                                this.eof = !0
-                            }
-                        } else if (this.err && this.eoline) {
-                            while (1) {
-                                if (y = this._lookBits(13), y === t) return this.eof = !0,
-                                -1;
-                                if (y >> 1 === 1) break;
-                                this._eatBits(1)
-                            }
-                            this._eatBits(12),
-                            this.encoding > 0 && (this._eatBits(1), this.nextLine2D = !(1 & y))
-                        }
-                        g[0] > 0 ? this.outputBits = g[this.codingPos = 0] : this.outputBits = g[this.codingPos = 1],
-                        this.row++
-                    }
-                    if (this.outputBits >= 8) p = 1 & this.codingPos ? 0 : 255,
-                    this.outputBits -= 8,
-                    0 === this.outputBits && g[this.codingPos] < m && (this.codingPos++, this.outputBits = g[this.codingPos] - g[this.codingPos - 1]);
-                    else {
-                        f = 8,
-                        p = 0;
-                        do {
-                            this.outputBits > f ? (p <<= f, 1 & this.codingPos || (p |= 255 >> 8 - f), this.outputBits -= f, f = 0) : (p <<= this.outputBits, 1 & this.codingPos || (p |= 255 >> 8 - this.outputBits), f -= this.outputBits, this.outputBits = 0, g[this.codingPos] < m ? (this.codingPos++, this.outputBits = g[this.codingPos] - g[this.codingPos - 1]) : f > 0 && (p <<= f, f = 0))
-                        } while ( f )
-                    }
-                    return this.black && (p ^= 255),
-                    p
-                },
-                _addPixels: function(e, t) {
-                    var n = this.codingLine,
-                    s = this.codingPos;
-                    e > n[s] && (e > this.columns && (l("row is wrong length"), this.err = !0, e = this.columns), 1 & s ^ t && ++s, n[s] = e),
-                    this.codingPos = s
-                },
-                _addPixelsNeg: function(e, t) {
-                    var n = this.codingLine,
-                    s = this.codingPos;
-                    if (e > n[s]) e > this.columns && (l("row is wrong length"), this.err = !0, e = this.columns),
-                    1 & s ^ t && ++s,
-                    n[s] = e;
-                    else if (e < n[s]) {
-                        e < 0 && (l("invalid code"), this.err = !0, e = 0);
-                        while (s > 0 && e < n[s - 1])--s;
-                        n[s] = e
-                    }
-                    this.codingPos = s
-                },
-                _findTableCode: function(e, n, s, a) {
-                    for (var r = a || 0,
-                    i = e; i <= n; ++i) {
-                        var u = this._lookBits(i);
-                        if (u === t) return [!0, 1, !1];
-                        if (i < n && (u <<= n - i), !r || u >= r) {
-                            var o = s[u - r];
-                            if (o[0] === i) return this._eatBits(i),
-                            [!0, o[1], !0]
-                        }
-                    }
-                    return [!1, 0, !1]
-                },
-                _getTwoDimCode: function() {
-                    var e, n = 0;
-                    if (this.eoblock) {
-                        if (n = this._lookBits(7), e = d[n], e && e[0] > 0) return this._eatBits(e[0]),
-                        e[1]
-                    } else {
-                        var s = this._findTableCode(1, 7, d);
-                        if (s[0] && s[2]) return s[1]
-                    }
-                    return l("Bad two dim code"),
-                    t
-                },
-                _getWhiteCode: function() {
-                    var e, n = 0;
-                    if (this.eoblock) {
-                        if (n = this._lookBits(12), n === t) return 1;
-                        if (e = n >> 5 === 0 ? f[n] : h[n >> 3], e[0] > 0) return this._eatBits(e[0]),
-                        e[1]
-                    } else {
-                        var s = this._findTableCode(1, 9, h);
-                        if (s[0]) return s[1];
-                        if (s = this._findTableCode(11, 12, f), s[0]) return s[1]
-                    }
-                    return l("bad white code"),
-                    this._eatBits(1),
-                    1
-                },
-                _getBlackCode: function() {
-                    var e, n;
-                    if (this.eoblock) {
-                        if (e = this._lookBits(13), e === t) return 1;
-                        if (n = e >> 7 === 0 ? p[e] : e >> 9 === 0 && e >> 7 !== 0 ? v[(e >> 1) - 64] : g[e >> 7], n[0] > 0) return this._eatBits(n[0]),
-                        n[1]
-                    } else {
-                        var s = this._findTableCode(2, 6, g);
-                        if (s[0]) return s[1];
-                        if (s = this._findTableCode(7, 12, v, 64), s[0]) return s[1];
-                        if (s = this._findTableCode(10, 13, p), s[0]) return s[1]
-                    }
-                    return l("bad black code"),
-                    this._eatBits(1),
-                    1
-                },
-                _lookBits: function(e) {
-                    var n;
-                    while (this.inputBits < e) {
-                        if ( - 1 === (n = this.source.next())) return 0 === this.inputBits ? t: this.inputBuf << e - this.inputBits & 65535 >> 16 - e;
-                        this.inputBuf = this.inputBuf << 8 | n,
-                        this.inputBits += 8
-                    }
-                    return this.inputBuf >> this.inputBits - e & 65535 >> 16 - e
-                },
-                _eatBits: function(e) { (this.inputBits -= e) < 0 && (this.inputBits = 0)
-                }
-            },
-            m
-        } (),
-        x = function(e) {
-            Object(a["a"])(n, e);
-            var t = Object(r["a"])(n);
-            function n(e) {
-                return Object(s["a"])(this, n),
-                t.call(this, "JBIG2 error: ".concat(e))
-            }
-            return n
-        } (d),
-        w = function() {
-            function e() {}
-            function t(e, t, n) {
-                this.data = e,
-                this.start = t,
-                this.end = n
-            }
-            function n(e, t, n) {
-                var s = e.getContexts(t),
-                a = 1;
-                function r(e) {
-                    for (var t = 0,
-                    r = 0; r < e; r++) {
-                        var i = n.readBit(s, a);
-                        a = a < 256 ? a << 1 | i: 511 & (a << 1 | i) | 256,
-                        t = t << 1 | i
-                    }
-                    return t >>> 0
-                }
-                var i = r(1),
-                u = r(1) ? r(1) ? r(1) ? r(1) ? r(1) ? r(32) + 4436 : r(12) + 340 : r(8) + 84 : r(6) + 20 : r(4) + 4 : r(2);
-                return 0 === i ? u: u > 0 ? -u: null
-            }
-            function s(e, t, n) {
-                for (var s = e.getContexts("IAID"), a = 1, r = 0; r < n; r++) {
-                    var i = t.readBit(s, a);
-                    a = a << 1 | i
-                }
-                return n < 31 ? a & (1 << n) - 1 : 2147483647 & a
-            }
-            e.prototype = {
-                getContexts: function(e) {
-                    return e in this ? this[e] : this[e] = new Int8Array(65536)
-                }
-            },
-            t.prototype = {
-                get decoder() {
-                    var e = new m(this.data, this.start, this.end);
-                    return b(this, "decoder", e)
-                },
-                get contextCache() {
-                    var t = new e;
-                    return b(this, "contextCache", t)
-                }
-            };
-            var a = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, "ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, "PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", "ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, "IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", "IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", "ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", "EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, "Extension"],
-            r = [[{
-                x: -1,
-                y: -2
-            },
-            {
-                x: 0,
-                y: -2
-            },
-            {
-                x: 1,
-                y: -2
-            },
-            {
-                x: -2,
-                y: -1
-            },
-            {
-                x: -1,
-                y: -1
-            },
-            {
-                x: 0,
-                y: -1
-            },
-            {
-                x: 1,
-                y: -1
-            },
-            {
-                x: 2,
-                y: -1
-            },
-            {
-                x: -4,
-                y: 0
-            },
-            {
-                x: -3,
-                y: 0
-            },
-            {
-                x: -2,
-                y: 0
-            },
-            {
-                x: -1,
-                y: 0
-            }], [{
-                x: -1,
-                y: -2
-            },
-            {
-                x: 0,
-                y: -2
-            },
-            {
-                x: 1,
-                y: -2
-            },
-            {
-                x: 2,
-                y: -2
-            },
-            {
-                x: -2,
-                y: -1
-            },
-            {
-                x: -1,
-                y: -1
-            },
-            {
-                x: 0,
-                y: -1
-            },
-            {
-                x: 1,
-                y: -1
-            },
-            {
-                x: 2,
-                y: -1
-            },
-            {
-                x: -3,
-                y: 0
-            },
-            {
-                x: -2,
-                y: 0
-            },
-            {
-                x: -1,
-                y: 0
-            }], [{
-                x: -1,
-                y: -2
-            },
-            {
-                x: 0,
-                y: -2
-            },
-            {
-                x: 1,
-                y: -2
-            },
-            {
-                x: -2,
-                y: -1
-            },
-            {
-                x: -1,
-                y: -1
-            },
-            {
-                x: 0,
-                y: -1
-            },
-            {
-                x: 1,
-                y: -1
-            },
-            {
-                x: -2,
-                y: 0
-            },
-            {
-                x: -1,
-                y: 0
-            }], [{
-                x: -3,
-                y: -1
-            },
-            {
-                x: -2,
-                y: -1
-            },
-            {
-                x: -1,
-                y: -1
-            },
-            {
-                x: 0,
-                y: -1
-            },
-            {
-                x: 1,
-                y: -1
-            },
-            {
-                x: -4,
-                y: 0
-            },
-            {
-                x: -3,
-                y: 0
-            },
-            {
-                x: -2,
-                y: 0
-            },
-            {
-                x: -1,
-                y: 0
-            }]],
-            i = [{
-                coding: [{
-                    x: 0,
-                    y: -1
-                },
-                {
-                    x: 1,
-                    y: -1
-                },
-                {
-                    x: -1,
-                    y: 0
-                }],
-                reference: [{
-                    x: 0,
-                    y: -1
-                },
-                {
-                    x: 1,
-                    y: -1
-                },
-                {
-                    x: -1,
-                    y: 0
-                },
-                {
-                    x: 0,
-                    y: 0
-                },
-                {
-                    x: 1,
-                    y: 0
-                },
-                {
-                    x: -1,
-                    y: 1
-                },
-                {
-                    x: 0,
-                    y: 1
-                },
-                {
-                    x: 1,
-                    y: 1
-                }]
-            },
-            {
-                coding: [{
-                    x: -1,
-                    y: -1
-                },
-                {
-                    x: 0,
-                    y: -1
-                },
-                {
-                    x: 1,
-                    y: -1
-                },
-                {
-                    x: -1,
-                    y: 0
-                }],
-                reference: [{
-                    x: 0,
-                    y: -1
-                },
-                {
-                    x: -1,
-                    y: 0
-                },
-                {
-                    x: 0,
-                    y: 0
-                },
-                {
-                    x: 1,
-                    y: 0
-                },
-                {
-                    x: 0,
-                    y: 1
-                },
-                {
-                    x: 1,
-                    y: 1
-                }]
-            }],
-            u = [39717, 1941, 229, 405],
-            o = [32, 8];
-            function l(e, t, n) {
-                var s, a, r, i, u, o, l, c = n.decoder,
-                b = n.contextCache.getContexts("GB"),
-                d = [],
-                f = 31735;
-                for (a = 0; a < t; a++) for (u = d[a] = new Uint8Array(e), o = a < 1 ? u: d[a - 1], l = a < 2 ? u: d[a - 2], s = l[0] << 13 | l[1] << 12 | l[2] << 11 | o[0] << 7 | o[1] << 6 | o[2] << 5 | o[3] << 4, r = 0; r < e; r++) u[r] = i = c.readBit(b, s),
-                s = (s & f) << 1 | (r + 3 < e ? l[r + 3] << 11 : 0) | (r + 4 < e ? o[r + 4] << 4 : 0) | i;
-                return d
-            }
-            function c(e, t, n, s, a, i, o, c) {
-                if (e) {
-                    var b = new M(c.data, c.start, c.end);
-                    return U(b, t, n, !1)
-                }
-                if (0 === s && !i && !a && 4 === o.length && 3 === o[0].x && -1 === o[0].y && -3 === o[1].x && -1 === o[1].y && 2 === o[2].x && -2 === o[2].y && -2 === o[3].x && -2 === o[3].y) return l(t, n, c);
-                var d = !!i,
-                f = r[s].concat(o);
-                f.sort((function(e, t) {
-                    return e.y - t.y || e.x - t.x
-                }));
-                var h, p, v = f.length,
-                g = new Int8Array(v),
-                m = new Int8Array(v),
-                y = [],
-                x = 0,
-                w = 0,
-                O = 0,
-                S = 0;
-                for (p = 0; p < v; p++) g[p] = f[p].x,
-                m[p] = f[p].y,
-                w = Math.min(w, f[p].x),
-                O = Math.max(O, f[p].x),
-                S = Math.min(S, f[p].y),
-                p < v - 1 && f[p].y === f[p + 1].y && f[p].x === f[p + 1].x - 1 ? x |= 1 << v - 1 - p: y.push(p);
-                var k = y.length,
-                j = new Int8Array(k),
-                I = new Int8Array(k),
-                C = new Uint16Array(k);
-                for (h = 0; h < k; h++) p = y[h],
-                j[h] = f[p].x,
-                I[h] = f[p].y,
-                C[h] = 1 << v - 1 - p;
-                for (var B, _, D, T, A, R = -w,
-                F = -S,
-                P = t - O,
-                E = u[s], L = new Uint8Array(t), N = [], V = c.decoder, H = c.contextCache.getContexts("GB"), q = 0, W = 0, $ = 0; $ < n; $++) {
-                    if (a) {
-                        var z = V.readBit(H, E);
-                        if (q ^= z, q) {
-                            N.push(L);
-                            continue
-                        }
-                    }
-                    for (L = new Uint8Array(L), N.push(L), B = 0; B < t; B++) if (d && i[$][B]) L[B] = 0;
-                    else {
-                        if (B >= R && B < P && $ >= F) for (W = W << 1 & x, p = 0; p < k; p++) _ = $ + I[p],
-                        D = B + j[p],
-                        T = N[_][D],
-                        T && (T = C[p], W |= T);
-                        else for (W = 0, A = v - 1, p = 0; p < v; p++, A--) D = B + g[p],
-                        D >= 0 && D < t && (_ = $ + m[p], _ >= 0 && (T = N[_][D], T && (W |= T << A)));
-                        var J = V.readBit(H, W);
-                        L[B] = J
-                    }
-                }
-                return N
-            }
-            function d(e, t, n, s, a, r, u, l, c) {
-                var b = i[n].coding;
-                0 === n && (b = b.concat([l[0]]));
-                var d, f = b.length,
-                h = new Int32Array(f),
-                p = new Int32Array(f);
-                for (d = 0; d < f; d++) h[d] = b[d].x,
-                p[d] = b[d].y;
-                var v = i[n].reference;
-                0 === n && (v = v.concat([l[1]]));
-                var g = v.length,
-                m = new Int32Array(g),
-                y = new Int32Array(g);
-                for (d = 0; d < g; d++) m[d] = v[d].x,
-                y[d] = v[d].y;
-                for (var w = s[0].length, O = s.length, S = o[n], k = [], j = c.decoder, I = c.contextCache.getContexts("GR"), C = 0, B = 0; B < t; B++) {
-                    if (u) {
-                        var _ = j.readBit(I, S);
-                        if (C ^= _, C) throw new x("prediction is not supported")
-                    }
-                    var D = new Uint8Array(e);
-                    k.push(D);
-                    for (var T = 0; T < e; T++) {
-                        var A, R, F = 0;
-                        for (d = 0; d < f; d++) A = B + p[d],
-                        R = T + h[d],
-                        A < 0 || R < 0 || R >= e ? F <<= 1 : F = F << 1 | k[A][R];
-                        for (d = 0; d < g; d++) A = B + y[d] - r,
-                        R = T + m[d] - a,
-                        A < 0 || A >= O || R < 0 || R >= w ? F <<= 1 : F = F << 1 | s[A][R];
-                        var P = j.readBit(I, F);
-                        D[T] = P
-                    }
-                }
-                return k
-            }
-            function g(e, t, a, r, i, u, o, l, b, h, p, v) {
-                if (e && t) throw new x("symbol refinement with Huffman is not supported");
-                var g, m, y = [],
-                O = 0,
-                S = f(a.length + r),
-                k = p.decoder,
-                j = p.contextCache;
-                e && (g = N(1), m = [], S = Math.max(S, 1));
-                while (y.length < r) {
-                    var I = e ? u.tableDeltaHeight.decode(v) : n(j, "IADH", k);
-                    O += I;
-                    var C = 0,
-                    B = 0,
-                    _ = e ? m.length: 0;
-                    while (1) {
-                        var D, T = e ? u.tableDeltaWidth.decode(v) : n(j, "IADW", k);
-                        if (null === T) break;
-                        if (C += T, B += C, t) {
-                            var A = n(j, "IAAI", k);
-                            if (A > 1) D = w(e, t, C, O, 0, A, 1, a.concat(y), S, 0, 0, 1, 0, u, b, h, p, 0, v);
-                            else {
-                                var R = s(j, k, S),
-                                F = n(j, "IARDX", k),
-                                P = n(j, "IARDY", k),
-                                E = R < a.length ? a[R] : y[R - a.length];
-                                D = d(C, O, b, E, F, P, !1, h, p)
-                            }
-                            y.push(D)
-                        } else e ? m.push(C) : (D = c(!1, C, O, o, !1, null, l, p), y.push(D))
-                    }
-                    if (e && !t) {
-                        var L = u.tableBitmapSize.decode(v);
-                        v.byteAlign();
-                        var M = void 0;
-                        if (0 === L) M = W(v, B, O);
-                        else {
-                            var V = v.end,
-                            H = v.position + L;
-                            v.end = H,
-                            M = U(v, B, O, !1),
-                            v.end = V,
-                            v.position = H
-                        }
-                        var q = m.length;
-                        if (_ === q - 1) y.push(M);
-                        else {
-                            var $ = void 0,
-                            z = void 0,
-                            J = 0,
-                            G = void 0,
-                            K = void 0,
-                            X = void 0;
-                            for ($ = _; $ < q; $++) {
-                                for (K = m[$], G = J + K, X = [], z = 0; z < O; z++) X.push(M[z].subarray(J, G));
-                                y.push(X),
-                                J = G
-                            }
-                        }
-                    }
-                }
-                var Y = [],
-                Z = [],
-                Q = !1,
-                ee = a.length + r;
-                while (Z.length < ee) {
-                    var te = e ? g.decode(v) : n(j, "IAEX", k);
-                    while (te--) Z.push(Q);
-                    Q = !Q
-                }
-                for (var ne = 0,
-                se = a.length; ne < se; ne++) Z[ne] && Y.push(a[ne]);
-                for (var ae = 0; ae < r; ne++, ae++) Z[ne] && Y.push(y[ae]);
-                return Y
-            }
-            function w(e, t, a, r, i, u, o, l, c, b, f, h, p, v, g, m, y, w, O) {
-                if (e && t) throw new x("refinement with Huffman is not supported");
-                var S, k, j = [];
-                for (S = 0; S < r; S++) {
-                    if (k = new Uint8Array(a), i) for (var I = 0; I < a; I++) k[I] = i;
-                    j.push(k)
-                }
-                var C = y.decoder,
-                B = y.contextCache,
-                _ = e ? -v.tableDeltaT.decode(O) : -n(B, "IADT", C),
-                D = 0;
-                S = 0;
-                while (S < u) {
-                    var T = e ? v.tableDeltaT.decode(O) : n(B, "IADT", C);
-                    _ += T;
-                    var A = e ? v.tableFirstS.decode(O) : n(B, "IAFS", C);
-                    D += A;
-                    var R = D;
-                    do {
-                        var F = 0;
-                        o > 1 && (F = e ? O.readBits(w) : n(B, "IAIT", C));
-                        var P = o * _ + F,
-                        E = e ? v.symbolIDTable.decode(O) : s(B, C, c), L = t && (e ? O.readBit() : n(B, "IARI", C)), N = l[E], M = N[0].length, V = N.length;
-                        if (L) {
-                            var H = n(B, "IARDW", C),
-                            q = n(B, "IARDH", C),
-                            W = n(B, "IARDX", C),
-                            U = n(B, "IARDY", C);
-                            M += H,
-                            V += q,
-                            N = d(M, V, g, N, (H >> 1) + W, (q >> 1) + U, !1, m, y)
-                        }
-                        var $, z, J, G = P - (1 & h ? 0 : V - 1), K = R - (2 & h ? M - 1 : 0);
-                        if (b) {
-                            for ($ = 0; $ < V; $++) if (k = j[K + $], k) {
-                                J = N[$];
-                                var X = Math.min(a - G, M);
-                                switch (p) {
-                                case 0:
-                                    for (z = 0; z < X; z++) k[G + z] |= J[z];
-                                    break;
-                                case 2:
-                                    for (z = 0; z < X; z++) k[G + z] ^= J[z];
-                                    break;
-                                default:
-                                    throw new x("operator ".concat(p, " is not supported"))
-                                }
-                            }
-                            R += V - 1
-                        } else {
-                            for (z = 0; z < V; z++) if (k = j[G + z], k) switch (J = N[z], p) {
-                            case 0:
-                                for ($ = 0; $ < M; $++) k[K + $] |= J[$];
-                                break;
-                            case 2:
-                                for ($ = 0; $ < M; $++) k[K + $] ^= J[$];
-                                break;
-                            default:
-                                throw new x("operator ".concat(p, " is not supported"))
-                            }
-                            R += M - 1
-                        }
-                        S++;
-                        var Y = e ? v.tableDeltaS.decode(O) : n(B, "IADS", C);
-                        if (null === Y) break;
-                        R += Y + f
-                    } while ( 1 )
-                }
-                return j
-            }
-            function O(e, t, n, s, a, r) {
-                var i = [];
-                e || (i.push({
-                    x: -t,
-                    y: 0
-                }), 0 === a && (i.push({
-                    x: -3,
-                    y: -1
-                }), i.push({
-                    x: 2,
-                    y: -2
-                }), i.push({
-                    x: -2,
-                    y: -2
-                })));
-                for (var u = (s + 1) * t, o = c(e, u, n, a, !1, null, i, r), l = [], b = 0; b <= s; b++) {
-                    for (var d = [], f = t * b, h = f + t, p = 0; p < n; p++) d.push(o[p].subarray(f, h));
-                    l.push(d)
-                }
-                return l
-            }
-            function S(e, t, n, s, a, r, i, u, o, l, b, d, h, p, v) {
-                var g = null;
-                if (i) throw new x("skip is not supported");
-                if (0 !== u) throw new x("operator " + u + " is not supported in halftone region");
-                var m, y, w, O = [];
-                for (m = 0; m < a; m++) {
-                    if (w = new Uint8Array(s), r) for (y = 0; y < s; y++) w[y] = r;
-                    O.push(w)
-                }
-                var S = t.length,
-                k = t[0],
-                j = k[0].length,
-                I = k.length,
-                C = f(S),
-                B = [];
-                e || (B.push({
-                    x: n <= 1 ? 3 : 2,
-                    y: -1
-                }), 0 === n && (B.push({
-                    x: -3,
-                    y: -1
-                }), B.push({
-                    x: 2,
-                    y: -2
-                }), B.push({
-                    x: -2,
-                    y: -2
-                })));
-                var _, D, T, A, R, F, P, E, L, N, V, H = [];
-                for (e && (_ = new M(v.data, v.start, v.end)), m = C - 1; m >= 0; m--) D = e ? U(_, o, l, !0) : c(!1, o, l, n, !1, g, B, v),
-                H[m] = D;
-                for (T = 0; T < l; T++) for (A = 0; A < o; A++) {
-                    for (R = 0, F = 0, y = C - 1; y >= 0; y--) R = H[y][T][A] ^ R,
-                    F |= R << y;
-                    if (P = t[F], E = b + T * p + A * h >> 8, L = d + T * h - A * p >> 8, E >= 0 && E + j <= s && L >= 0 && L + I <= a) for (m = 0; m < I; m++) for (V = O[L + m], N = P[m], y = 0; y < j; y++) V[E + y] |= N[y];
-                    else {
-                        var q = void 0,
-                        W = void 0;
-                        for (m = 0; m < I; m++) if (W = L + m, !(W < 0 || W >= a)) for (V = O[W], N = P[m], y = 0; y < j; y++) q = E + y,
-                        q >= 0 && q < s && (V[q] |= N[y])
-                    }
-                }
-                return O
-            }
-            function k(e, t) {
-                var n = {};
-                n.number = v(e, t);
-                var s = e[t + 4],
-                r = 63 & s;
-                if (!a[r]) throw new x("invalid segment type: " + r);
-                n.type = r,
-                n.typeName = a[r],
-                n.deferredNonRetain = !!(128 & s);
-                var i = !!(64 & s),
-                u = e[t + 5],
-                o = u >> 5 & 7,
-                l = [31 & u],
-                c = t + 6;
-                if (7 === u) {
-                    o = 536870911 & v(e, c - 1),
-                    c += 3;
-                    var b = o + 7 >> 3;
-                    l[0] = e[c++];
-                    while (--b > 0) l.push(e[c++])
-                } else if (5 === u || 6 === u) throw new x("invalid referred-to flags");
-                n.retainBits = l;
-                var d = 4;
-                n.number <= 256 ? d = 1 : n.number <= 65536 && (d = 2);
-                var f, h, g = [];
-                for (f = 0; f < o; f++) {
-                    var m = void 0;
-                    m = 1 === d ? e[c] : 2 === d ? p(e, c) : v(e, c),
-                    g.push(m),
-                    c += d
-                }
-                if (n.referredTo = g, i ? (n.pageAssociation = v(e, c), c += 4) : n.pageAssociation = e[c++], n.length = v(e, c), c += 4, 4294967295 === n.length) {
-                    if (38 !== r) throw new x("invalid unknown segment length");
-                    var y = I(e, c),
-                    w = e[c + C],
-                    O = !!(1 & w),
-                    S = 6,
-                    k = new Uint8Array(S);
-                    for (O || (k[0] = 255, k[1] = 172), k[2] = y.height >>> 24 & 255, k[3] = y.height >> 16 & 255, k[4] = y.height >> 8 & 255, k[5] = 255 & y.height, f = c, h = e.length; f < h; f++) {
-                        var j = 0;
-                        while (j < S && k[j] === e[f + j]) j++;
-                        if (j === S) {
-                            n.length = f + S;
-                            break
-                        }
-                    }
-                    if (4294967295 === n.length) throw new x("segment end was not found")
-                }
-                return n.headerEnd = c,
-                n
-            }
-            function j(e, t, n, s) {
-                var a = [],
-                r = n;
-                while (r < s) {
-                    var i = k(t, r);
-                    r = i.headerEnd;
-                    var u = {
-                        header: i,
-                        data: t
-                    };
-                    if (e.randomAccess || (u.start = r, r += i.length, u.end = r), a.push(u), 51 === i.type) break
-                }
-                if (e.randomAccess) for (var o = 0,
-                l = a.length; o < l; o++) a[o].start = r,
-                r += a[o].header.length,
-                a[o].end = r;
-                return a
-            }
-            function I(e, t) {
-                return {
-                    width: v(e, t),
-                    height: v(e, t + 4),
-                    x: v(e, t + 8),
-                    y: v(e, t + 12),
-                    combinationOperator: 7 & e[t + 16]
-                }
-            }
-            var C = 17;
-            function B(e, t) {
-                var n, s, a, r, i = e.header,
-                u = e.data,
-                o = e.start,
-                l = e.end;
-                switch (i.type) {
-                case 0:
-                    var c = {},
-                    b = p(u, o);
-                    if (c.huffman = !!(1 & b), c.refinement = !!(2 & b), c.huffmanDHSelector = b >> 2 & 3, c.huffmanDWSelector = b >> 4 & 3, c.bitmapSizeSelector = b >> 6 & 1, c.aggregationInstancesSelector = b >> 7 & 1, c.bitmapCodingContextUsed = !!(256 & b), c.bitmapCodingContextRetained = !!(512 & b), c.template = b >> 10 & 3, c.refinementTemplate = b >> 12 & 1, o += 2, !c.huffman) {
-                        for (r = 0 === c.template ? 4 : 1, s = [], a = 0; a < r; a++) s.push({
-                            x: h(u, o),
-                            y: h(u, o + 1)
-                        }),
-                        o += 2;
-                        c.at = s
-                    }
-                    if (c.refinement && !c.refinementTemplate) {
-                        for (s = [], a = 0; a < 2; a++) s.push({
-                            x: h(u, o),
-                            y: h(u, o + 1)
-                        }),
-                        o += 2;
-                        c.refinementAt = s
-                    }
-                    c.numberOfExportedSymbols = v(u, o),
-                    o += 4,
-                    c.numberOfNewSymbols = v(u, o),
-                    o += 4,
-                    n = [c, i.number, i.referredTo, u, o, l];
-                    break;
-                case 6:
-                case 7:
-                    var d = {};
-                    d.info = I(u, o),
-                    o += C;
-                    var f = p(u, o);
-                    if (o += 2, d.huffman = !!(1 & f), d.refinement = !!(2 & f), d.logStripSize = f >> 2 & 3, d.stripSize = 1 << d.logStripSize, d.referenceCorner = f >> 4 & 3, d.transposed = !!(64 & f), d.combinationOperator = f >> 7 & 3, d.defaultPixelValue = f >> 9 & 1, d.dsOffset = f << 17 >> 27, d.refinementTemplate = f >> 15 & 1, d.huffman) {
-                        var g = p(u, o);
-                        o += 2,
-                        d.huffmanFS = 3 & g,
-                        d.huffmanDS = g >> 2 & 3,
-                        d.huffmanDT = g >> 4 & 3,
-                        d.huffmanRefinementDW = g >> 6 & 3,
-                        d.huffmanRefinementDH = g >> 8 & 3,
-                        d.huffmanRefinementDX = g >> 10 & 3,
-                        d.huffmanRefinementDY = g >> 12 & 3,
-                        d.huffmanRefinementSizeSelector = !!(16384 & g)
-                    }
-                    if (d.refinement && !d.refinementTemplate) {
-                        for (s = [], a = 0; a < 2; a++) s.push({
-                            x: h(u, o),
-                            y: h(u, o + 1)
-                        }),
-                        o += 2;
-                        d.refinementAt = s
-                    }
-                    d.numberOfSymbolInstances = v(u, o),
-                    o += 4,
-                    n = [d, i.referredTo, u, o, l];
-                    break;
-                case 16:
-                    var m = {},
-                    y = u[o++];
-                    m.mmr = !!(1 & y),
-                    m.template = y >> 1 & 3,
-                    m.patternWidth = u[o++],
-                    m.patternHeight = u[o++],
-                    m.maxPatternIndex = v(u, o),
-                    o += 4,
-                    n = [m, i.number, u, o, l];
-                    break;
-                case 22:
-                case 23:
-                    var w = {};
-                    w.info = I(u, o),
-                    o += C;
-                    var O = u[o++];
-                    w.mmr = !!(1 & O),
-                    w.template = O >> 1 & 3,
-                    w.enableSkip = !!(8 & O),
-                    w.combinationOperator = O >> 4 & 7,
-                    w.defaultPixelValue = O >> 7 & 1,
-                    w.gridWidth = v(u, o),
-                    o += 4,
-                    w.gridHeight = v(u, o),
-                    o += 4,
-                    w.gridOffsetX = 4294967295 & v(u, o),
-                    o += 4,
-                    w.gridOffsetY = 4294967295 & v(u, o),
-                    o += 4,
-                    w.gridVectorX = p(u, o),
-                    o += 2,
-                    w.gridVectorY = p(u, o),
-                    o += 2,
-                    n = [w, i.referredTo, u, o, l];
-                    break;
-                case 38:
-                case 39:
-                    var S = {};
-                    S.info = I(u, o),
-                    o += C;
-                    var k = u[o++];
-                    if (S.mmr = !!(1 & k), S.template = k >> 1 & 3, S.prediction = !!(8 & k), !S.mmr) {
-                        for (r = 0 === S.template ? 4 : 1, s = [], a = 0; a < r; a++) s.push({
-                            x: h(u, o),
-                            y: h(u, o + 1)
-                        }),
-                        o += 2;
-                        S.at = s
-                    }
-                    n = [S, u, o, l];
-                    break;
-                case 48:
-                    var j = {
-                        width: v(u, o),
-                        height: v(u, o + 4),
-                        resolutionX: v(u, o + 8),
-                        resolutionY: v(u, o + 12)
-                    };
-                    4294967295 === j.height && delete j.height;
-                    var B = u[o + 16];
-                    p(u, o + 17),
-                    j.lossless = !!(1 & B),
-                    j.refinement = !!(2 & B),
-                    j.defaultPixelValue = B >> 2 & 1,
-                    j.combinationOperator = B >> 3 & 3,
-                    j.requiresBuffer = !!(32 & B),
-                    j.combinationOperatorOverride = !!(64 & B),
-                    n = [j];
-                    break;
-                case 49:
-                    break;
-                case 50:
-                    break;
-                case 51:
-                    break;
-                case 53:
-                    n = [i.number, u, o, l];
-                    break;
-                case 62:
-                    break;
-                default:
-                    throw new x("segment type ".concat(i.typeName, "(").concat(i.type, ")") + " is not implemented")
-                }
-                var _ = "on" + i.typeName;
-                _ in t && t[_].apply(t, n)
-            }
-            function _(e, t) {
-                for (var n = 0,
-                s = e.length; n < s; n++) B(e[n], t)
-            }
-            function D(e) {
-                for (var t = new A,
-                n = 0,
-                s = e.length; n < s; n++) {
-                    var a = e[n],
-                    r = j({},
-                    a.data, a.start, a.end);
-                    _(r, t)
-                }
-                return t.buffer
-            }
-            function T(e) {
-                var t = e.length,
-                n = 0;
-                if (151 !== e[n] || 74 !== e[n + 1] || 66 !== e[n + 2] || 50 !== e[n + 3] || 13 !== e[n + 4] || 10 !== e[n + 5] || 26 !== e[n + 6] || 10 !== e[n + 7]) throw new x("parseJbig2 - invalid header.");
-                var s = Object.create(null);
-                n += 8;
-                var a = e[n++];
-                s.randomAccess = !(1 & a),
-                2 & a || (s.numberOfPages = v(e, n), n += 4);
-                var r = j(s, e, n, t),
-                i = new A;
-                _(r, i);
-                for (var u = i.currentPageInfo,
-                o = u.width,
-                l = u.height,
-                c = i.buffer,
-                b = new Uint8ClampedArray(o * l), d = 0, f = 0, h = 0; h < l; h++) for (var p = 0,
-                g = void 0,
-                m = 0; m < o; m++) p || (p = 128, g = c[f++]),
-                b[d++] = g & p ? 0 : 255,
-                p >>= 1;
-                return {
-                    imgData: b,
-                    width: o,
-                    height: l
-                }
-            }
-            function A() {}
-            function R(e) {
-                2 === e.length ? (this.isOOB = !0, this.rangeLow = 0, this.prefixLength = e[0], this.rangeLength = 0, this.prefixCode = e[1], this.isLowerRange = !1) : (this.isOOB = !1, this.rangeLow = e[0], this.prefixLength = e[1], this.rangeLength = e[2], this.prefixCode = e[3], this.isLowerRange = "lower" === e[4])
-            }
-            function F(e) {
-                this.children = [],
-                e ? (this.isLeaf = !0, this.rangeLength = e.rangeLength, this.rangeLow = e.rangeLow, this.isLowerRange = e.isLowerRange, this.isOOB = e.isOOB) : this.isLeaf = !1
-            }
-            function P(e, t) {
-                t || this.assignPrefixCodes(e),
-                this.rootNode = new F(null);
-                for (var n = 0,
-                s = e.length; n < s; n++) {
-                    var a = e[n];
-                    a.prefixLength > 0 && this.rootNode.buildTree(a, a.prefixLength - 1)
-                }
-            }
-            function E(e, t, n) {
-                var s, a, r = e[t],
-                i = 4294967295 & v(e, t + 1),
-                u = 4294967295 & v(e, t + 5),
-                o = new M(e, t + 9, n),
-                l = 1 + (r >> 1 & 7),
-                c = 1 + (r >> 4 & 7),
-                b = [],
-                d = i;
-                do {
-                    s = o.readBits(l), a = o.readBits(c), b.push(new R([d, s, a, 0])), d += 1 << a
-                } while ( d < u );
-                return s = o.readBits(l),
-                b.push(new R([i - 1, s, 32, 0, "lower"])),
-                s = o.readBits(l),
-                b.push(new R([u, s, 32, 0])),
-                1 & r && (s = o.readBits(l), b.push(new R([s, 0]))),
-                new P(b, !1)
-            }
-            A.prototype = {
-                onPageInformation: function(e) {
-                    this.currentPageInfo = e;
-                    var t = e.width + 7 >> 3,
-                    n = new Uint8ClampedArray(t * e.height);
-                    if (e.defaultPixelValue) for (var s = 0,
-                    a = n.length; s < a; s++) n[s] = 255;
-                    this.buffer = n
-                },
-                drawBitmap: function(e, t) {
-                    var n, s, a, r, i = this.currentPageInfo,
-                    u = e.width,
-                    o = e.height,
-                    l = i.width + 7 >> 3,
-                    c = i.combinationOperatorOverride ? e.combinationOperator: i.combinationOperator,
-                    b = this.buffer,
-                    d = 128 >> (7 & e.x),
-                    f = e.y * l + (e.x >> 3);
-                    switch (c) {
-                    case 0:
-                        for (n = 0; n < o; n++) {
-                            for (a = d, r = f, s = 0; s < u; s++) t[n][s] && (b[r] |= a),
-                            a >>= 1,
-                            a || (a = 128, r++);
-                            f += l
-                        }
-                        break;
-                    case 2:
-                        for (n = 0; n < o; n++) {
-                            for (a = d, r = f, s = 0; s < u; s++) t[n][s] && (b[r] ^= a),
-                            a >>= 1,
-                            a || (a = 128, r++);
-                            f += l
-                        }
-                        break;
-                    default:
-                        throw new x("operator ".concat(c, " is not supported"))
-                    }
-                },
-                onImmediateGenericRegion: function(e, n, s, a) {
-                    var r = e.info,
-                    i = new t(n, s, a),
-                    u = c(e.mmr, r.width, r.height, e.template, e.prediction, null, e.at, i);
-                    this.drawBitmap(r, u)
-                },
-                onImmediateLosslessGenericRegion: function() {
-                    this.onImmediateGenericRegion.apply(this, arguments)
-                },
-                onSymbolDictionary: function(e, n, s, a, r, i) {
-                    var u, o;
-                    e.huffman && (u = q(e, s, this.customTables), o = new M(a, r, i));
-                    var l = this.symbols;
-                    l || (this.symbols = l = {});
-                    for (var c = [], b = 0, d = s.length; b < d; b++) {
-                        var f = l[s[b]];
-                        f && (c = c.concat(f))
-                    }
-                    var h = new t(a, r, i);
-                    l[n] = g(e.huffman, e.refinement, c, e.numberOfNewSymbols, e.numberOfExportedSymbols, u, e.template, e.at, e.refinementTemplate, e.refinementAt, h, o)
-                },
-                onImmediateTextRegion: function(e, n, s, a, r) {
-                    for (var i, u, o = e.info,
-                    l = this.symbols,
-                    c = [], b = 0, d = n.length; b < d; b++) {
-                        var h = l[n[b]];
-                        h && (c = c.concat(h))
-                    }
-                    var p = f(c.length);
-                    e.huffman && (u = new M(s, a, r), i = H(e, n, this.customTables, c.length, u));
-                    var v = new t(s, a, r),
-                    g = w(e.huffman, e.refinement, o.width, o.height, e.defaultPixelValue, e.numberOfSymbolInstances, e.stripSize, c, p, e.transposed, e.dsOffset, e.referenceCorner, e.combinationOperator, i, e.refinementTemplate, e.refinementAt, v, e.logStripSize, u);
-                    this.drawBitmap(o, g)
-                },
-                onImmediateLosslessTextRegion: function() {
-                    this.onImmediateTextRegion.apply(this, arguments)
-                },
-                onPatternDictionary: function(e, n, s, a, r) {
-                    var i = this.patterns;
-                    i || (this.patterns = i = {});
-                    var u = new t(s, a, r);
-                    i[n] = O(e.mmr, e.patternWidth, e.patternHeight, e.maxPatternIndex, e.template, u)
-                },
-                onImmediateHalftoneRegion: function(e, n, s, a, r) {
-                    var i = this.patterns[n[0]],
-                    u = e.info,
-                    o = new t(s, a, r),
-                    l = S(e.mmr, i, e.template, u.width, u.height, e.defaultPixelValue, e.enableSkip, e.combinationOperator, e.gridWidth, e.gridHeight, e.gridOffsetX, e.gridOffsetY, e.gridVectorX, e.gridVectorY, o);
-                    this.drawBitmap(u, l)
-                },
-                onImmediateLosslessHalftoneRegion: function() {
-                    this.onImmediateHalftoneRegion.apply(this, arguments)
-                },
-                onTables: function(e, t, n, s) {
-                    var a = this.customTables;
-                    a || (this.customTables = a = {}),
-                    a[e] = E(t, n, s)
-                }
-            },
-            F.prototype = {
-                buildTree: function(e, t) {
-                    var n = e.prefixCode >> t & 1;
-                    if (t <= 0) this.children[n] = new F(e);
-                    else {
-                        var s = this.children[n];
-                        s || (this.children[n] = s = new F(null)),
-                        s.buildTree(e, t - 1)
-                    }
-                },
-                decodeNode: function(e) {
-                    if (this.isLeaf) {
-                        if (this.isOOB) return null;
-                        var t = e.readBits(this.rangeLength);
-                        return this.rangeLow + (this.isLowerRange ? -t: t)
-                    }
-                    var n = this.children[e.readBit()];
-                    if (!n) throw new x("invalid Huffman data");
-                    return n.decodeNode(e)
-                }
-            },
-            P.prototype = {
-                decode: function(e) {
-                    return this.rootNode.decodeNode(e)
-                },
-                assignPrefixCodes: function(e) {
-                    for (var t = e.length,
-                    n = 0,
-                    s = 0; s < t; s++) n = Math.max(n, e[s].prefixLength);
-                    for (var a = new Uint32Array(n + 1), r = 0; r < t; r++) a[e[r].prefixLength]++;
-                    var i, u, o, l = 1,
-                    c = 0;
-                    a[0] = 0;
-                    while (l <= n) {
-                        c = c + a[l - 1] << 1,
-                        i = c,
-                        u = 0;
-                        while (u < t) o = e[u],
-                        o.prefixLength === l && (o.prefixCode = i, i++),
-                        u++;
-                        l++
-                    }
-                }
-            };
-            var L = {};
-            function N(e) {
-                var t, n = L[e];
-                if (n) return n;
-                switch (e) {
-                case 1:
-                    t = [[0, 1, 4, 0], [16, 2, 8, 2], [272, 3, 16, 6], [65808, 3, 32, 7]];
-                    break;
-                case 2:
-                    t = [[0, 1, 0, 0], [1, 2, 0, 2], [2, 3, 0, 6], [3, 4, 3, 14], [11, 5, 6, 30], [75, 6, 32, 62], [6, 63]];
-                    break;
-                case 3:
-                    t = [[ - 256, 8, 8, 254], [0, 1, 0, 0], [1, 2, 0, 2], [2, 3, 0, 6], [3, 4, 3, 14], [11, 5, 6, 30], [ - 257, 8, 32, 255, "lower"], [75, 7, 32, 126], [6, 62]];
-                    break;
-                case 4:
-                    t = [[1, 1, 0, 0], [2, 2, 0, 2], [3, 3, 0, 6], [4, 4, 3, 14], [12, 5, 6, 30], [76, 5, 32, 31]];
-                    break;
-                case 5:
-                    t = [[ - 255, 7, 8, 126], [1, 1, 0, 0], [2, 2, 0, 2], [3, 3, 0, 6], [4, 4, 3, 14], [12, 5, 6, 30], [ - 256, 7, 32, 127, "lower"], [76, 6, 32, 62]];
-                    break;
-                case 6:
-                    t = [[ - 2048, 5, 10, 28], [ - 1024, 4, 9, 8], [ - 512, 4, 8, 9], [ - 256, 4, 7, 10], [ - 128, 5, 6, 29], [ - 64, 5, 5, 30], [ - 32, 4, 5, 11], [0, 2, 7, 0], [128, 3, 7, 2], [256, 3, 8, 3], [512, 4, 9, 12], [1024, 4, 10, 13], [ - 2049, 6, 32, 62, "lower"], [2048, 6, 32, 63]];
-                    break;
-                case 7:
-                    t = [[ - 1024, 4, 9, 8], [ - 512, 3, 8, 0], [ - 256, 4, 7, 9], [ - 128, 5, 6, 26], [ - 64, 5, 5, 27], [ - 32, 4, 5, 10], [0, 4, 5, 11], [32, 5, 5, 28], [64, 5, 6, 29], [128, 4, 7, 12], [256, 3, 8, 1], [512, 3, 9, 2], [1024, 3, 10, 3], [ - 1025, 5, 32, 30, "lower"], [2048, 5, 32, 31]];
-                    break;
-                case 8:
-                    t = [[ - 15, 8, 3, 252], [ - 7, 9, 1, 508], [ - 5, 8, 1, 253], [ - 3, 9, 0, 509], [ - 2, 7, 0, 124], [ - 1, 4, 0, 10], [0, 2, 1, 0], [2, 5, 0, 26], [3, 6, 0, 58], [4, 3, 4, 4], [20, 6, 1, 59], [22, 4, 4, 11], [38, 4, 5, 12], [70, 5, 6, 27], [134, 5, 7, 28], [262, 6, 7, 60], [390, 7, 8, 125], [646, 6, 10, 61], [ - 16, 9, 32, 510, "lower"], [1670, 9, 32, 511], [2, 1]];
-                    break;
-                case 9:
-                    t = [[ - 31, 8, 4, 252], [ - 15, 9, 2, 508], [ - 11, 8, 2, 253], [ - 7, 9, 1, 509], [ - 5, 7, 1, 124], [ - 3, 4, 1, 10], [ - 1, 3, 1, 2], [1, 3, 1, 3], [3, 5, 1, 26], [5, 6, 1, 58], [7, 3, 5, 4], [39, 6, 2, 59], [43, 4, 5, 11], [75, 4, 6, 12], [139, 5, 7, 27], [267, 5, 8, 28], [523, 6, 8, 60], [779, 7, 9, 125], [1291, 6, 11, 61], [ - 32, 9, 32, 510, "lower"], [3339, 9, 32, 511], [2, 0]];
-                    break;
-                case 10:
-                    t = [[ - 21, 7, 4, 122], [ - 5, 8, 0, 252], [ - 4, 7, 0, 123], [ - 3, 5, 0, 24], [ - 2, 2, 2, 0], [2, 5, 0, 25], [3, 6, 0, 54], [4, 7, 0, 124], [5, 8, 0, 253], [6, 2, 6, 1], [70, 5, 5, 26], [102, 6, 5, 55], [134, 6, 6, 56], [198, 6, 7, 57], [326, 6, 8, 58], [582, 6, 9, 59], [1094, 6, 10, 60], [2118, 7, 11, 125], [ - 22, 8, 32, 254, "lower"], [4166, 8, 32, 255], [2, 2]];
-                    break;
-                case 11:
-                    t = [[1, 1, 0, 0], [2, 2, 1, 2], [4, 4, 0, 12], [5, 4, 1, 13], [7, 5, 1, 28], [9, 5, 2, 29], [13, 6, 2, 60], [17, 7, 2, 122], [21, 7, 3, 123], [29, 7, 4, 124], [45, 7, 5, 125], [77, 7, 6, 126], [141, 7, 32, 127]];
-                    break;
-                case 12:
-                    t = [[1, 1, 0, 0], [2, 2, 0, 2], [3, 3, 1, 6], [5, 5, 0, 28], [6, 5, 1, 29], [8, 6, 1, 60], [10, 7, 0, 122], [11, 7, 1, 123], [13, 7, 2, 124], [17, 7, 3, 125], [25, 7, 4, 126], [41, 8, 5, 254], [73, 8, 32, 255]];
-                    break;
-                case 13:
-                    t = [[1, 1, 0, 0], [2, 3, 0, 4], [3, 4, 0, 12], [4, 5, 0, 28], [5, 4, 1, 13], [7, 3, 3, 5], [15, 6, 1, 58], [17, 6, 2, 59], [21, 6, 3, 60], [29, 6, 4, 61], [45, 6, 5, 62], [77, 7, 6, 126], [141, 7, 32, 127]];
-                    break;
-                case 14:
-                    t = [[ - 2, 3, 0, 4], [ - 1, 3, 0, 5], [0, 1, 0, 0], [1, 3, 0, 6], [2, 3, 0, 7]];
-                    break;
-                case 15:
-                    t = [[ - 24, 7, 4, 124], [ - 8, 6, 2, 60], [ - 4, 5, 1, 28], [ - 2, 4, 0, 12], [ - 1, 3, 0, 4], [0, 1, 0, 0], [1, 3, 0, 5], [2, 4, 0, 13], [3, 5, 1, 29], [5, 6, 2, 61], [9, 7, 4, 125], [ - 25, 7, 32, 126, "lower"], [25, 7, 32, 127]];
-                    break;
-                default:
-                    throw new x("standard table B.".concat(e, " does not exist"))
-                }
-                for (var s = 0,
-                a = t.length; s < a; s++) t[s] = new R(t[s]);
-                return n = new P(t, !0),
-                L[e] = n,
-                n
-            }
-            function M(e, t, n) {
-                this.data = e,
-                this.start = t,
-                this.end = n,
-                this.position = t,
-                this.shift = -1,
-                this.currentByte = 0
-            }
-            function V(e, t, n) {
-                for (var s = 0,
-                a = 0,
-                r = t.length; a < r; a++) {
-                    var i = n[t[a]];
-                    if (i) {
-                        if (e === s) return i;
-                        s++
-                    }
-                }
-                throw new x("can't find custom Huffman table")
-            }
-            function H(e, t, n, s, a) {
-                for (var r = [], i = 0; i <= 34; i++) {
-                    var u = a.readBits(4);
-                    r.push(new R([i, u, 0, 0]))
-                }
-                var o = new P(r, !1);
-                r.length = 0;
-                for (var l = 0; l < s;) {
-                    var c = o.decode(a);
-                    if (c >= 32) {
-                        var b = void 0,
-                        d = void 0,
-                        f = void 0;
-                        switch (c) {
-                        case 32:
-                            if (0 === l) throw new x("no previous value in symbol ID table");
-                            d = a.readBits(2) + 3,
-                            b = r[l - 1].prefixLength;
-                            break;
-                        case 33:
-                            d = a.readBits(3) + 3,
-                            b = 0;
-                            break;
-                        case 34:
-                            d = a.readBits(7) + 11,
-                            b = 0;
-                            break;
-                        default:
-                            throw new x("invalid code length in symbol ID table")
-                        }
-                        for (f = 0; f < d; f++) r.push(new R([l, b, 0, 0])),
-                        l++
-                    } else r.push(new R([l, c, 0, 0])),
-                    l++
-                }
-                a.byteAlign();
-                var h, p, v, g = new P(r, !1),
-                m = 0;
-                switch (e.huffmanFS) {
-                case 0:
-                case 1:
-                    h = N(e.huffmanFS + 6);
-                    break;
-                case 3:
-                    h = V(m, t, n),
-                    m++;
-                    break;
-                default:
-                    throw new x("invalid Huffman FS selector")
-                }
-                switch (e.huffmanDS) {
-                case 0:
-                case 1:
-                case 2:
-                    p = N(e.huffmanDS + 8);
-                    break;
-                case 3:
-                    p = V(m, t, n),
-                    m++;
-                    break;
-                default:
-                    throw new x("invalid Huffman DS selector")
-                }
-                switch (e.huffmanDT) {
-                case 0:
-                case 1:
-                case 2:
-                    v = N(e.huffmanDT + 11);
-                    break;
-                case 3:
-                    v = V(m, t, n),
-                    m++;
-                    break;
-                default:
-                    throw new x("invalid Huffman DT selector")
-                }
-                if (e.refinement) throw new x("refinement with Huffman is not supported");
-                return {
-                    symbolIDTable:
-                    g,
-                    tableFirstS: h,
-                    tableDeltaS: p,
-                    tableDeltaT: v
-                }
-            }
-            function q(e, t, n) {
-                var s, a, r, i, u = 0;
-                switch (e.huffmanDHSelector) {
-                case 0:
-                case 1:
-                    s = N(e.huffmanDHSelector + 4);
-                    break;
-                case 3:
-                    s = V(u, t, n),
-                    u++;
-                    break;
-                default:
-                    throw new x("invalid Huffman DH selector")
-                }
-                switch (e.huffmanDWSelector) {
-                case 0:
-                case 1:
-                    a = N(e.huffmanDWSelector + 2);
-                    break;
-                case 3:
-                    a = V(u, t, n),
-                    u++;
-                    break;
-                default:
-                    throw new x("invalid Huffman DW selector")
-                }
-                return e.bitmapSizeSelector ? (r = V(u, t, n), u++) : r = N(1),
-                i = e.aggregationInstancesSelector ? V(u, t, n) : N(1),
-                {
-                    tableDeltaHeight: s,
-                    tableDeltaWidth: a,
-                    tableBitmapSize: r,
-                    tableAggregateInstances: i
-                }
-            }
-            function W(e, t, n) {
-                for (var s = [], a = 0; a < n; a++) {
-                    var r = new Uint8Array(t);
-                    s.push(r);
-                    for (var i = 0; i < t; i++) r[i] = e.readBit();
-                    e.byteAlign()
-                }
-                return s
-            }
-            function U(e, t, n, s) {
-                for (var a, r = {
-                    K: -1,
-                    Columns: t,
-                    Rows: n,
-                    BlackIs1: !0,
-                    EndOfBlock: s
-                },
-                i = new y(e, r), u = [], o = !1, l = 0; l < n; l++) {
-                    var c = new Uint8Array(t);
-                    u.push(c);
-                    for (var b = -1,
-                    d = 0; d < t; d++) b < 0 && (a = i.readNextChar(), -1 === a && (a = 0, o = !0), b = 7),
-                    c[d] = a >> b & 1,
-                    b--
-                }
-                if (s && !o) for (var f = 5,
-                h = 0; h < f; h++) if ( - 1 === i.readNextChar()) break;
-                return u
-            }
-            function $() {}
-            return M.prototype = {
-                readBit: function() {
-                    if (this.shift < 0) {
-                        if (this.position >= this.end) throw new x("end of data while reading bit");
-                        this.currentByte = this.data[this.position++],
-                        this.shift = 7
-                    }
-                    var e = this.currentByte >> this.shift & 1;
-                    return this.shift--,
-                    e
-                },
-                readBits: function(e) {
-                    var t, n = 0;
-                    for (t = e - 1; t >= 0; t--) n |= this.readBit() << t;
-                    return n
-                },
-                byteAlign: function() {
-                    this.shift = -1
-                },
-                next: function() {
-                    return this.position >= this.end ? -1 : this.data[this.position++]
-                }
-            },
-            $.prototype = {
-                parseChunks: function(e) {
-                    return D(e)
-                },
-                parse: function(e) {
-                    var t = T(e),
-                    n = t.imgData,
-                    s = t.width,
-                    a = t.height;
-                    return this.width = s,
-                    this.height = a,
-                    n
-                }
-            },
-            $
-        } ()
-    },
-    "7f3b": function(e, t, n) {
-        "use strict"; (function(e) {
-            n("a4d3"),
-            n("e01a"),
-            n("a630"),
-            n("caad"),
-            n("fb6a"),
-            n("6c57"),
-            n("4ec9"),
-            n("90d7"),
-            n("a9e3"),
-            n("8ba4"),
-            n("9129"),
-            n("4fad"),
-            n("c1f9"),
-            n("d3b7"),
-            n("07ac"),
-            n("25f0"),
-            n("6062"),
-            n("f5b2"),
-            n("8a79"),
-            n("f6d6"),
-            n("2532"),
-            n("3ca3"),
-            n("843c"),
-            n("4d90"),
-            n("2ca0"),
-            n("5cc6"),
-            n("9a8c"),
-            n("a975"),
-            n("735e"),
-            n("c1ac"),
-            n("d139"),
-            n("3a7b"),
-            n("d5d6"),
-            n("82f8"),
-            n("e91f"),
-            n("60bd"),
-            n("5f96"),
-            n("3280"),
-            n("3fcc"),
-            n("ca91"),
-            n("25a1"),
-            n("cd26"),
-            n("3c5d"),
-            n("2954"),
-            n("649e"),
-            n("219c"),
-            n("170b"),
-            n("b39a"),
-            n("72f7"),
-            n("10d1"),
-            n("1fe2"),
-            n("ddb0"),
-            n("2b3d");
-            var t = n("d00a");
-            "undefined" !== typeof PDFJSDev && PDFJSDev.test("SKIP_BABEL") || "undefined" !== typeof globalThis && globalThis._pdfjsCompatibilityChecked || ("undefined" !== typeof globalThis && globalThis.Math === Math || (globalThis = n("eb73")), globalThis._pdfjsCompatibilityChecked = !0,
-            function() { ! globalThis.btoa && t["a"] && (globalThis.btoa = function(t) {
-                    return e.from(t, "binary").toString("base64")
-                })
-            } (),
-            function() { ! globalThis.atob && t["a"] && (globalThis.atob = function(t) {
-                    return e.from(t, "base64").toString("binary")
-                })
-            } (),
-            function() {
-                String.prototype.startsWith || n("d2a2")
-            } (),
-            function() {
-                String.prototype.endsWith || n("8f4c")
-            } (),
-            function() {
-                String.prototype.includes || n("4661")
-            } (),
-            function() {
-                Array.prototype.includes || n("bf2c")
-            } (),
-            function() {
-                Array.from || n("6b84")
-            } (),
-            function() {
-                Object.assign || n("2418")
-            } (),
-            function() {
-                Object.fromEntries || n("8ac5")
-            } (),
-            function() {
-                Math.log2 || (Math.log2 = n("dc57"))
-            } (),
-            function() {
-                Number.isNaN || (Number.isNaN = n("9020"))
-            } (),
-            function() {
-                Number.isInteger || (Number.isInteger = n("f2e6"))
-            } (),
-            function() {
-                Uint8Array.prototype.slice || n("8f2a")
-            } (),
-            function() {
-                "undefined" !== typeof PDFJSDev && PDFJSDev.test("IMAGE_DECODERS") || globalThis.Promise.allSettled || (globalThis.Promise = n("3980"))
-            } (),
-            function() {
-                "undefined" !== typeof PDFJSDev && PDFJSDev.test("PRODUCTION") && PDFJSDev.test("GENERIC") && (PDFJSDev.test("IMAGE_DECODERS") || (globalThis.URL = n("14d8")))
-            } (),
-            function() {
-                if ("undefined" === typeof PDFJSDev || !PDFJSDev.test("IMAGE_DECODERS")) {
-                    var e = !1;
-                    if ("undefined" !== typeof ReadableStream) try {
-                        new ReadableStream({
-                            start: function(e) {
-                                e.close()
-                            }
-                        }),
-                        e = !0
-                    } catch(t) {}
-                    e || (globalThis.ReadableStream = n("87c2").ReadableStream)
-                }
-            } (),
-            function() {
-                globalThis.Map && globalThis.Map.prototype.entries || (globalThis.Map = n("5eff"))
-            } (),
-            function() {
-                globalThis.Set && globalThis.Set.prototype.entries || (globalThis.Set = n("9a35"))
-            } (),
-            function() {
-                globalThis.WeakMap || (globalThis.WeakMap = n("ad63"))
-            } (),
-            function() {
-                globalThis.WeakSet || (globalThis.WeakSet = n("ee42"))
-            } (),
-            function() {
-                String.prototype.codePointAt || n("d627")
-            } (),
-            function() {
-                String.fromCodePoint || (String.fromCodePoint = n("1cd7"))
-            } (),
-            function() {
-                globalThis.Symbol || n("1f4a")
-            } (),
-            function() {
-                String.prototype.padStart || n("1920")
-            } (),
-            function() {
-                String.prototype.padEnd || n("476b")
-            } (),
-            function() {
-                Object.values || (Object.values = n("4e28"))
-            } (),
-            function() {
-                Object.entries || (Object.entries = n("a960"))
-            } ())
-        }).call(this, n("b639").Buffer)
-    },
-    "81a2": function(e, t, n) {
-        "use strict";
-        n.d(t, "c", (function() {
-            return w
-        })),
-        n.d(t, "d", (function() {
-            return S
-        })),
-        n.d(t, "e", (function() {
-            return k
-        })),
-        n.d(t, "a", (function() {
-            return j
-        })),
-        n.d(t, "f", (function() {
-            return I
-        })),
-        n.d(t, "b", (function() {
-            return C
-        }));
-        n("99af"),
-        n("c19f"),
-        n("b64b"),
-        n("d3b7");
-        var s = n("b85c"),
-        a = (n("96cf"), n("1da1")),
-        r = (n("b680"), n("ac1f"), n("5319"), n("1276"), n("8a59"), n("9a8c"), n("a975"), n("735e"), n("c1ac"), n("d139"), n("3a7b"), n("d5d6"), n("82f8"), n("e91f"), n("60bd"), n("5f96"), n("3280"), n("3fcc"), n("ca91"), n("25a1"), n("cd26"), n("3c5d"), n("2954"), n("649e"), n("219c"), n("170b"), n("b39a"), n("72f7"), n("6b33")),
-        i = function(e, t, n) {
-            var s, a = n[Object.keys(n)[0]]["json"]["ofd:Area"];
-            if (a) {
-                var i = a["ofd:PhysicalBox"];
-                if (i) s = i;
-                else {
-                    var u = a["ofd:ApplicationBox"];
-                    if (u) s = u;
-                    else {
-                        var o = a["ofd:ContentBox"];
-                        o && (s = o)
-                    }
-                }
-            } else {
-                var l = t["ofd:CommonData"]["ofd:PageArea"],
-                c = l["ofd:PhysicalBox"];
-                if (c) s = c;
-                else {
-                    var b = l["ofd:ApplicationBox"];
-                    if (b) s = b;
-                    else {
-                        var d = l["ofd:ContentBox"];
-                        d && (s = d)
-                    }
-                }
-            }
-            var f = s.split(" "),
-            h = ((e - 10) / parseFloat(f[2])).toFixed(1);
-            return Object(r["n"])(h),
-            Object(r["o"])(h),
-            s = Object(r["l"])(s),
-            s = Object(r["e"])(s),
-            s
-        },
-        u = function(e, t) {
-            var n, s = t[Object.keys(t)[0]]["json"]["ofd:Area"];
-            if (s) {
-                var a = s["ofd:PhysicalBox"];
-                if (a) n = a;
-                else {
-                    var i = s["ofd:ApplicationBox"];
-                    if (i) n = i;
-                    else {
-                        var u = s["ofd:ContentBox"];
-                        u && (n = u)
-                    }
-                }
-            } else {
-                var o = e["ofd:CommonData"]["ofd:PageArea"],
-                l = o["ofd:PhysicalBox"];
-                if (l) n = l;
-                else {
-                    var c = o["ofd:ApplicationBox"];
-                    if (c) n = c;
-                    else {
-                        var b = o["ofd:ContentBox"];
-                        b && (n = b)
-                    }
-                }
-            }
-            return n = Object(r["l"])(n),
-            n = Object(r["e"])(n),
-            n
-        },
-        o = function(e, t, n, a, i, u) {
-            var o = Object.keys(t)[0],
-            d = t[o]["json"]["ofd:Template"];
-            if (d) {
-                var f = [],
-                p = n[d["@_TemplateID"]]["json"]["ofd:Content"]["ofd:Layer"];
-                f = f.concat(p);
-                var v, g = Object(s["a"])(f);
-                try {
-                    for (g.s(); ! (v = g.n()).done;) {
-                        var m = v.value;
-                        m && b(e, a, i, u, m, !1)
-                    }
-                } catch(R) {
-                    g.e(R)
-                } finally {
-                    g.f()
-                }
-            }
-            var y = t[o]["json"]["ofd:Content"]["ofd:Layer"],
-            x = [];
-            x = x.concat(y);
-            var w, O = Object(s["a"])(x);
-            try {
-                for (O.s(); ! (w = O.n()).done;) {
-                    var S = w.value;
-                    S && b(e, a, i, u, S, !1)
-                }
-            } catch(R) {
-                O.e(R)
-            } finally {
-                O.f()
-            }
-            if (t[o].stamp) {
-                var k, j = Object(s["a"])(t[o].stamp);
-                try {
-                    for (j.s(); ! (k = j.n()).done;) {
-                        var I = k.value;
-                        if ("ofd" === I.type) c(e, I.obj.pages, I.obj.tpls, !0, I.stamp.stampAnnot, I.obj.fontResObj, I.obj.drawParamResObj, I.obj.multiMediaResObj, I.stamp.sealObj.SES_Signature, I.stamp.signedInfo);
-                        else if ("png" === I.type) {
-                            var C = Object(r["e"])(I.obj.boundary),
-                            B = Array.isArray(I.stamp.stampAnnot) ? I.stamp.stampAnnot[0]["pfIndex"] : I.stamp.stampAnnot["pfIndex"],
-                            _ = h(e.style.width, e.style.height, I.obj.img, C, I.obj.clip, !0, I.stamp.sealObj.SES_Signature, I.stamp.signedInfo, B);
-                            e.appendChild(_)
-                        }
-                    }
-                } catch(R) {
-                    j.e(R)
-                } finally {
-                    j.f()
-                }
-            }
-            if (t[o].annotation) {
-                var D, T = Object(s["a"])(t[o].annotation);
-                try {
-                    for (T.s(); ! (D = T.n()).done;) {
-                        var A = D.value;
-                        l(e, A, a, i, u)
-                    }
-                } catch(R) {
-                    T.e(R)
-                } finally {
-                    T.f()
-                }
-            }
-        },
-        l = function(e, t, n, s, a) {
-            var i = document.createElement("div");
-            i.setAttribute("style", "position:relative;");
-            var u = t["appearance"]["@_Boundary"];
-            if (u) {
-                var o = Object(r["e"])(Object(r["l"])(u));
-                i.setAttribute("style", "z-index:-1;position:absolute; left: ".concat(o.x, "px; top: ").concat(o.y, "px; width: ").concat(o.w, "px; height: ").concat(o.h, "px"))
-            }
-            var l = t["appearance"];
-            b(i, n, s, a, l, !1),
-            e.appendChild(i)
-        },
-        c = function(e, t, n, a, i, u, o, l, c, d) {
-            var f, h = Object(s["a"])(t);
-            try {
-                for (h.s(); ! (f = h.n()).done;) {
-                    var p = f.value,
-                    v = Object.keys(p)[0],
-                    g = {
-                        x: 0,
-                        y: 0,
-                        w: 0,
-                        h: 0
-                    };
-                    a && i && (g = i.boundary);
-                    var m = Object(r["e"])(g),
-                    y = document.createElement("div");
-                    y.setAttribute("name", "seal_img_div"),
-                    y.setAttribute("style", "cursor: pointer; position:relative; left: ".concat(m.x, "px; top: ").concat(m.y, "px; width: ").concat(m.w, "px; height: ").concat(m.h, "px")),
-                    y.setAttribute("data-ses-signature", "".concat(JSON.stringify(c))),
-                    y.setAttribute("data-signed-info", "".concat(JSON.stringify(d)));
-                    var x = p[v]["json"]["ofd:Template"];
-                    if (x) {
-                        var w = n[x["@_TemplateID"]]["json"]["ofd:Content"]["ofd:Layer"],
-                        O = [];
-                        O = O.concat(w);
-                        var S, k = Object(s["a"])(O);
-                        try {
-                            for (k.s(); ! (S = k.n()).done;) {
-                                var j = S.value;
-                                j && b(y, u, o, l, j, a)
-                            }
-                        } catch(T) {
-                            k.e(T)
-                        } finally {
-                            k.f()
-                        }
-                    }
-                    var I = p[v]["json"]["ofd:Content"]["ofd:Layer"],
-                    C = [];
-                    C = C.concat(I);
-                    var B, _ = Object(s["a"])(C);
-                    try {
-                        for (_.s(); ! (B = _.n()).done;) {
-                            var D = B.value;
-                            D && b(y, u, o, l, D, a)
-                        }
-                    } catch(T) {
-                        _.e(T)
-                    } finally {
-                        _.f()
-                    }
-                    e.appendChild(y)
-                }
-            } catch(T) {
-                h.e(T)
-            } finally {
-                h.f()
-            }
-        },
-        b = function(e, t, n, a, i, u) {
-            var o = null,
-            l = null,
-            c = Object(r["f"])(.353),
-            b = i["@_DrawParam"];
-            b && Object.keys(n).length > 0 && n[b] && (n[b]["relative"] && (b = n[b]["relative"], n[b]["FillColor"] && (o = Object(r["j"])(n[b]["FillColor"])), n[b]["StrokeColor"] && (l = Object(r["j"])(n[b]["StrokeColor"])), n[b]["LineWidth"] && (c = Object(r["f"])(n[b]["LineWidth"]))), n[b]["FillColor"] && (o = Object(r["j"])(n[b]["FillColor"])), n[b]["StrokeColor"] && (l = Object(r["j"])(n[b]["StrokeColor"])), n[b]["LineWidth"] && (c = Object(r["f"])(n[b]["LineWidth"])));
-            var f = i["ofd:ImageObject"],
-            h = [];
-            h = h.concat(f);
-            var g, m = Object(s["a"])(h);
-            try {
-                for (m.s(); ! (g = m.n()).done;) {
-                    var y = g.value;
-                    if (y) {
-                        var x = d(e.style.width, e.style.height, a, y);
-                        e.appendChild(x)
-                    }
-                }
-            } catch(R) {
-                m.e(R)
-            } finally {
-                m.f()
-            }
-            var w = i["ofd:PathObject"],
-            O = [];
-            O = O.concat(w);
-            var S, k = Object(s["a"])(O);
-            try {
-                for (k.s(); ! (S = k.n()).done;) {
-                    var j = S.value;
-                    if (j) {
-                        var I = v(n, j, o, l, c, u);
-                        e.appendChild(I)
-                    }
-                }
-            } catch(R) {
-                k.e(R)
-            } finally {
-                k.f()
-            }
-            var C = i["ofd:TextObject"],
-            B = [];
-            B = B.concat(C);
-            var _, D = Object(s["a"])(B);
-            try {
-                for (D.s(); ! (_ = D.n()).done;) {
-                    var T = _.value;
-                    if (T) {
-                        var A = p(t, T, o, l);
-                        e.appendChild(A)
-                    }
-                }
-            } catch(R) {
-                D.e(R)
-            } finally {
-                D.f()
-            }
-        },
-        d = function(e, t, n, s) {
-            var a = Object(r["l"])(s["@_Boundary"]);
-            a = Object(r["e"])(a);
-            var i = s["@_ResourceID"];
-            if ("gbig2" === n[i].format) {
-                var u = n[i].img,
-                o = n[i].width,
-                l = n[i].height;
-                return f(u, o, l, a, s["pfIndex"])
-            }
-            return h(e, t, n[i].img, a, !1, !1, null, null, s["pfIndex"])
-        },
-        f = function(e, t, n, s, a) {
-            for (var r = new Uint8ClampedArray(4 * t * n), i = 0; i < e.length; i++) r[4 * i] = e[i],
-            r[4 * i + 1] = e[i],
-            r[4 * i + 2] = e[i],
-            r[4 * i + 3] = 255;
-            var u = new ImageData(r, t, n),
-            o = document.createElement("canvas");
-            o.width = t,
-            o.height = n;
-            var l = o.getContext("2d");
-            return l.putImageData(u, 0, 0),
-            o.setAttribute("style", "left: ".concat(s.x, "px; top: ").concat(s.y, "px; width: ").concat(s.w, "px; height: ").concat(s.h, "px;z-index: ").concat(a)),
-            o.style.position = "absolute",
-            o
-        },
-        h = function(e, t, n, s, a, i, u, o, l) {
-            var c = document.createElement("div");
-            i && (c.setAttribute("name", "seal_img_div"), c.setAttribute("data-ses-signature", "".concat(JSON.stringify(u))), c.setAttribute("data-signed-info", "".concat(JSON.stringify(o))));
-            var b = document.createElement("img");
-            b.src = n,
-            b.setAttribute("width", "100%"),
-            b.setAttribute("height", "100%"),
-            c.appendChild(b);
-            var d = parseFloat(e.replace("px", "")),
-            f = parseFloat(t.replace("px", "")),
-            h = s.w > d ? d: s.w,
-            p = s.h > f ? f: s.h,
-            v = "";
-            return a && (a = Object(r["e"])(a), v = "clip: rect(".concat(a.y, "px, ").concat(a.w + a.x, "px, ").concat(a.h + a.y, "px, ").concat(a.x, "px)")),
-            c.setAttribute("style", "cursor: pointer; overflow: hidden; position: absolute; left: ".concat(v ? s.x: s.x < 0 ? 0 : s.x, "px; top: ").concat(v ? s.y: s.y < 0 ? 0 : s.y, "px; width: ").concat(h, "px; height: ").concat(p, "px; ").concat(v, ";z-index: ").concat(l)),
-            c
-        },
-        p = function(e, t, n, a) {
-            var i = 1,
-            u = Object(r["l"])(t["@_Boundary"]);
-            u = Object(r["e"])(u);
-            var o = t["@_CTM"],
-            l = t["@_HScale"],
-            c = t["@_Font"],
-            b = t["@_Weight"],
-            d = Object(r["f"])(parseFloat(t["@_Size"])),
-            f = [];
-            f = f.concat(t["ofd:TextCode"]);
-            var h = Object(r["c"])(f),
-            p = document.createElementNS("http://www.w3.org/2000/svg", "svg");
-            p.setAttribute("version", "1.1");
-            var v = t["ofd:FillColor"];
-            if (v) {
-                n = Object(r["j"])(v["@_Value"]);
-                var g = v["@_Alpha"];
-                g && (i = g > 1 ? g / 255 : g)
-            }
-            var m, y = Object(s["a"])(h);
-            try {
-                for (y.s(); ! (m = y.n()).done;) {
-                    var x = m.value;
-                    if (x && !isNaN(x.x)) {
-                        var w = document.createElementNS("http://www.w3.org/2000/svg", "text");
-                        if (w.setAttribute("x", x.x), w.setAttribute("y", x.y), w.innerHTML = x.text, o) {
-                            var O = Object(r["k"])(o);
-                            w.setAttribute("transform", "matrix(".concat(O[0], " ").concat(O[1], " ").concat(O[2], " ").concat(O[3], " ").concat(Object(r["f"])(O[4]), " ").concat(Object(r["f"])(O[5]), ")"))
-                        }
-                        l && w.setAttribute("transform", "matrix(".concat(l, ", 0, 0, 1, ").concat((1 - l) * x.x, ", 0)")),
-                        w.setAttribute("fill", a),
-                        w.setAttribute("fill", n),
-                        w.setAttribute("fill-opacity", i),
-                        w.setAttribute("style", "font-weight: ".concat(b, ";font-size:").concat(d, "px;font-family: ").concat(Object(r["h"])(e[c]), ";")),
-                        p.appendChild(w)
-                    }
-                }
-            } catch(C) {
-                y.e(C)
-            } finally {
-                y.f()
-            }
-            var S = u.w,
-            k = u.h,
-            j = u.x,
-            I = u.y;
-            return p.setAttribute("style", "overflow:visible;position:absolute;width:".concat(S, "px;height:").concat(k, "px;left:").concat(j, "px;top:").concat(I, "px;z-index:").concat(t["pfIndex"])),
-            p
-        },
-        v = function(e, t, n, a, i, u) {
-            var o = Object(r["l"])(t["@_Boundary"]);
-            o = Object(r["e"])(o);
-            var l = t["@_LineWidth"],
-            c = t["ofd:AbbreviatedData"],
-            b = Object(r["b"])(Object(r["d"])(c)),
-            d = t["@_CTM"],
-            f = document.createElementNS("http://www.w3.org/2000/svg", "svg");
-            f.setAttribute("version", "1.1");
-            var h = document.createElementNS("http://www.w3.org/2000/svg", "path");
-            l && (i = Object(r["f"])(l));
-            var p = t["@_DrawParam"];
-            if (p && (l = e[p].LineWidth, l && (i = Object(r["f"])(l))), d) {
-                var v = Object(r["k"])(d);
-                h.setAttribute("transform", "matrix(".concat(v[0], " ").concat(v[1], " ").concat(v[2], " ").concat(v[3], " ").concat(Object(r["f"])(v[4]), " ").concat(Object(r["f"])(v[5]), ")"))
-            }
-            var g = "",
-            m = t["ofd:StrokeColor"];
-            m && (a = Object(r["j"])(m["@_Value"]));
-            var y = "fill: none;",
-            x = t["ofd:FillColor"];
-            x && (n = Object(r["j"])(x["@_Value"])),
-            i > 0 && !a && (a = n, a || (a = "rgb(0, 0, 0)")),
-            g = "stroke:".concat(a, ";stroke-width:").concat(i, "px;"),
-            "false" == t["@_Stroke"] && (g = ""),
-            "false" != t["@_Fill"] && (y = "fill:".concat(u ? "none": n || "none", ";")),
-            h.setAttribute("style", "".concat(g, ";").concat(y));
-            var w, O = "",
-            S = Object(s["a"])(b);
-            try {
-                for (S.s(); ! (w = S.n()).done;) {
-                    var k = w.value;
-                    "M" === k.type ? O += "M".concat(k.x, " ").concat(k.y, " ") : "L" === k.type ? O += "L".concat(k.x, " ").concat(k.y, " ") : "B" === k.type ? O += "C".concat(k.x1, " ").concat(k.y1, " ").concat(k.x2, " ").concat(k.y2, " ").concat(k.x3, " ").concat(k.y3, " ") : "C" === k.type && (O += "Z")
-                }
-            } catch(_) {
-                S.e(_)
-            } finally {
-                S.f()
-            }
-            h.setAttribute("d", O),
-            f.appendChild(h);
-            var j = u ? o.w: Math.ceil(o.w),
-            I = u ? o.h: Math.ceil(o.h),
-            C = o.x,
-            B = o.y;
-            return f.setAttribute("style", "overflow:visible;position:absolute;width:".concat(j, "px;height:").concat(I, "px;left:").concat(C, "px;top:").concat(B, "px;z-index:").concat(t["pfIndex"])),
-            f
-        },
-        g = n("3662"),
-        m = n("67d3"),
-        y = n("a9c6"),
-        x = n("0083"),
-        w = function(e) {
-            e.ofd instanceof File || e.ofd instanceof ArrayBuffer ? O(e) : x["getBinaryContent"](e.ofd, (function(t, n) {
-                t ? e.fail && e.fail(t) : (e.ofd = n, O(e))
-            }))
-        },
-        O = function(e) {
-            g["a"].call(this, Object(a["a"])(regeneratorRuntime.mark((function t() {
-                return regeneratorRuntime.wrap((function(t) {
-                    while (1) switch (t.prev = t.next) {
-                    case 0:
-                        return t.next = 2,
-                        Object(m["c"])(e.ofd);
-                    case 2:
-                        return t.abrupt("return", t.sent);
-                    case 3:
-                    case "end":
-                        return t.stop()
-                    }
-                }), t)
-            }))), m["a"], m["b"]).then((function(t) {
-                e.success && e.success(t)
-            })).
-            catch((function(t) {
-                console.log(t),
-                e.fail && e.fail(t)
-            }))
-        },
-        S = function(e, t) {
-            var n = [];
-            if (!t) return n;
-            var a, r = Object(s["a"])(t.pages);
-            try {
-                for (r.s(); ! (a = r.n()).done;) {
-                    var u = a.value,
-                    l = i(e, t.document, u),
-                    c = Object.keys(u)[0],
-                    b = document.createElement("div");
-                    b.id = c,
-                    b.setAttribute("style", "margin-bottom: 20px;position: relative;width:".concat(l.w, "px;height:").concat(l.h, "px;background: white;")),
-                    o(b, u, t.tpls, t.fontResObj, t.drawParamResObj, t.multiMediaResObj),
-                    n.push(b)
-                }
-            } catch(d) {
-                r.e(d)
-            } finally {
-                r.f()
-            }
-            return n
-        },
-        k = function(e) {
-            var t = [];
-            if (!e) return t;
-            var n, a = Object(s["a"])(e.pages);
-            try {
-                for (a.s(); ! (n = a.n()).done;) {
-                    var r = n.value,
-                    i = u(e.document, r),
-                    l = Object.keys(r)[0],
-                    c = document.createElement("div");
-                    c.id = l,
-                    c.setAttribute("style", "margin-bottom: 20px;position: relative;width:".concat(i.w, "px;height:").concat(i.h, "px;background: white;")),
-                    o(c, r, e.tpls, e.fontResObj, e.drawParamResObj, e.multiMediaResObj),
-                    t.push(c)
-                }
-            } catch(b) {
-                a.e(b)
-            } finally {
-                a.f()
-            }
-            return t
-        },
-        j = function(e) {
-            return Object(y["a"])(e)
-        },
-        I = function(e) {
-            Object(r["o"])(e)
-        },
-        C = function() {
-            return Object(r["i"])()
-        }
-    },
-    8374 : function(e, t, n) {
-        "use strict"; (function(e) {
-            n("c975"),
-            n("c19f"),
-            n("b0c0"),
-            n("b64b"),
-            n("d3b7"),
-            n("ac1f"),
-            n("3ca3"),
-            n("5319"),
-            n("1276"),
-            n("5cc6"),
-            n("9a8c"),
-            n("a975"),
-            n("735e"),
-            n("c1ac"),
-            n("d139"),
-            n("3a7b"),
-            n("d5d6"),
-            n("82f8"),
-            n("e91f"),
-            n("60bd"),
-            n("5f96"),
-            n("3280"),
-            n("3fcc"),
-            n("ca91"),
-            n("25a1"),
-            n("cd26"),
-            n("3c5d"),
-            n("2954"),
-            n("649e"),
-            n("219c"),
-            n("170b"),
-            n("b39a"),
-            n("72f7"),
-            n("ddb0"),
-            n("2b3d");
-            var s = n("b85c"),
-            a = n("81a2"),
-            r = n("0083");
-            t["a"] = {
-                name: "HelloWorld",
-                data: function() {
-                    return {
-                        pdfFile: null,
-                        ofdBase64: null,
-                        loading: !1,
-                        pageIndex: 1,
-                        pageCount: 0,
-                        scale: 0,
-                        title: null,
-                        value: null,
-                        dialogFormVisible: !1,
-                        ofdObj: null,
-                        screenWidth: document.body.clientWidth
-                    }
-                },
-                created: function() {
-                    this.pdfFile = null,
-                    this.file = null
-                },
-                mounted: function() {
-                    this.screenWidth = document.body.clientWidth - document.getElementById("leftMenu").getBoundingClientRect().width;
-                    var e = this;
-                    this.$refs.contentDiv.addEventListener("scroll", this.scrool),
-                    window.onresize = function() {
-                        return function() {
-                            e.screenWidth = document.body.clientWidth - 88;
-                            var t = Object(a["d"])(e.screenWidth, e.ofdObj);
-                            e.displayOfdDiv(t)
-                        } ()
-                    }
-                    var file = this.getQueryVariable("file");
-                    this.demo(file);
-                },
-                methods: {
-                	getQueryVariable :function (variable){
-				       var query = window.location.search.substring(1);
-				       var vars = query.split("&");
-				       for (var i=0;i<vars.length;i++) {
-				               var pair = vars[i].split("=");
-				               if(pair[0] == variable){return pair[1];}
-				       }
-				       return(false);
-					},
-                    scrool: function() {
-                        for (var e, t, n = (null === (e = this.$refs.contentDiv.firstElementChild) || void 0 === e || null === (t = e.getBoundingClientRect()) || void 0 === t ? void 0 : t.top) - 60, s = 0, a = 0, r = 0; r < this.$refs.contentDiv.childElementCount; r++) {
-                            var i, u;
-                            if (s += Math.abs(null === (i = this.$refs.contentDiv.children.item(r)) || void 0 === i ? void 0 : i.style.height.replace("px", "")) + Math.abs(null === (u = this.$refs.contentDiv.children.item(r)) || void 0 === u ? void 0 : u.style.marginBottom.replace("px", "")), Math.abs(n) < s) {
-                                a = r;
-                                break
-                            }
-                        }
-                        this.pageIndex = a + 1
-                    },
-                    closeSealInfoDialog: function() {
-                        this.$refs.sealInfoDiv.setAttribute("style", "display: none"),
-                        document.getElementById("spSigner").innerText = "[无效的签章结构]",
-                        document.getElementById("spProvider").innerText = "[无效的签章结构]",
-                        document.getElementById("spHashedValue").innerText = "[无效的签章结构]",
-                        document.getElementById("spSignedValue").innerText = "[无效的签章结构]",
-                        document.getElementById("spSignMethod").innerText = "[无效的签章结构]",
-                        document.getElementById("spSealID").innerText = "[无效的签章结构]",
-                        document.getElementById("spSealName").innerText = "[无效的签章结构]",
-                        document.getElementById("spSealType").innerText = "[无效的签章结构]",
-                        document.getElementById("spSealAuthTime").innerText = "[无效的签章结构]",
-                        document.getElementById("spSealMakeTime").innerText = "[无效的签章结构]",
-                        document.getElementById("spSealVersion").innerText = "[无效的签章结构]",
-                        document.getElementById("spVersion").innerText = "[无效的签章结构]",
-                        document.getElementById("VerifyRet").innerText = "[无效的签章结构]"
-                    },
-                    showMore: function(e, t) {
-                        this.dialogFormVisible = !0,
-                        this.value = document.getElementById(t).innerText,
-                        this.title = e
-                    },
-                    downOfd: function(e) {
-                        var t = this,
-                        n = this;
-                        this.loading = !0,
-                        this.$axios({
-                            method: "post",
-                            url: "https://51shouzu.xyz/api/ofd/convertOfd",
-                            data: {
-                                pdfBase64: e
-                            }
-                        }).then((function(e) {
-                            n.loading = !1;
-                            for (var t = atob(e.data.data.replace(/\s/g, "")), s = t.length, a = new ArrayBuffer(s), r = new Uint8Array(a), i = 0; i < s; i++) r[i] = t.charCodeAt(i);
-                            var u = new Blob([r], null),
-                            o = URL.createObjectURL(u),
-                            l = document.createElement("a");
-                            l.style.display = "none",
-                            l.href = o,
-                            l.setAttribute("download", "ofd.ofd"),
-                            document.body.appendChild(l),
-                            l.click()
-                        })).
-                        catch((function(e) {
-                            console.log(e, "error"),
-                            n.$alert("PDF打开失败", e, {
-                                confirmButtonText: "确定",
-                                callback: function(e) {
-                                    t.$message({
-                                        type: "info",
-                                        message: "action: ".concat(e)
-                                    })
-                                }
-                            })
-                        }))
-                    },
-                    downPdf: function() {
-                        var e = this,
-                        t = this;
-                        this.loading = !0,
-                        this.$axios({
-                            method: "post",
-                            url: "https://51shouzu.xyz/api/ofd/convertPdf",
-                            data: {
-                                ofdBase64: this.ofdBase64
-                            }
-                        }).then((function(e) {
-                            t.loading = !1;
-                            for (var n = atob(e.data.data.replace(/\s/g, "")), s = n.length, a = new ArrayBuffer(s), r = new Uint8Array(a), i = 0; i < s; i++) r[i] = n.charCodeAt(i);
-                            var u = new Blob([r], {
-                                type: "application/pdf"
-                            }),
-                            o = URL.createObjectURL(u),
-                            l = document.createElement("a");
-                            l.style.display = "none",
-                            l.href = o,
-                            l.setAttribute("download", "ofd.pdf"),
-                            document.body.appendChild(l),
-                            l.click()
-                        })).
-                        catch((function(n) {
-                            console.log(n, "error"),
-                            t.$alert("OFD打开失败", n, {
-                                confirmButtonText: "确定",
-                                callback: function(t) {
-                                    e.$message({
-                                        type: "info",
-                                        message: "action: ".concat(t)
-                                    })
-                                }
-                            })
-                        }))
-                    },
-                    plus: function() {
-                        Object(a["f"])(++this.scale);
-                        var e = Object(a["e"])(this.ofdObj);
-                        this.displayOfdDiv(e)
-                    },
-                    minus: function() {
-                        Object(a["f"])(--this.scale);
-                        var e = Object(a["e"])(this.ofdObj);
-                        this.displayOfdDiv(e)
-                    },
-                    prePage: function() {
-                        var e = document.getElementById("content"),
-                        t = e.children.item(this.pageIndex - 2);
-                        null === t || void 0 === t || t.scrollIntoView(!0),
-                        t && (this.pageIndex = this.pageIndex - 1)
-                    },
-                    firstPage: function() {
-                        var e = document.getElementById("content"),
-                        t = e.firstElementChild;
-                        null === t || void 0 === t || t.scrollIntoView(!0),
-                        t && (this.pageIndex = 1)
-                    },
-                    nextPage: function() {
-                        var e = document.getElementById("content"),
-                        t = e.children.item(this.pageIndex);
-                        null === t || void 0 === t || t.scrollIntoView(!0),
-                        t && ++this.pageIndex
-                    },
-                    lastPage: function() {
-                        var e = document.getElementById("content"),
-                        t = e.lastElementChild;
-                        null === t || void 0 === t || t.scrollIntoView(!0),
-                        t && (this.pageIndex = e.childElementCount)
-                    },
-                    demo: function(file) {
-                        var t = file;
-                        //t = "999.ofd";//可以
-						//t = "D:/invoice_files/6044347eaacfadd4d7236fc4214b08da_999.ofd";//可以
-                        //t = "http://localhost:9088/6044347eaacfadd4d7236fc4214b08da_999.ofd";//也可以
-                        var n = this;
-                        r["getBinaryContent"](t, (function(t) {
-                            var s = btoa(String.fromCharCode.apply(null, new Uint8Array(t)));
-                            n.ofdBase64 = s
-                        })),
-                        this.getOfdDocumentObj(t, this.screenWidth)
-                        
-                    },
-                    uploadFile: function() {
-                        this.file = null,
-                        this.$refs.file.click()
-                    },
-                    fileChanged: function() {
-                        var e = this;
-                        this.file = this.$refs.file.files[0];
-                        var t = this.file.name.replace(/.+\./, "");
-                        if ( - 1 !== ["ofd"].indexOf(t)) if (this.file.size > 104857600) this.$alert("error", "文件大小需 < 100M", {
-                            confirmButtonText: "确定",
-                            callback: function(t) {
-                                e.$message({
-                                    type: "info",
-                                    message: "action: ".concat(t)
-                                })
-                            }
-                        });
-                        else {
-                            var n = this,
-                            s = new FileReader;
-                            s.readAsDataURL(this.file),
-                            s.onload = function(e) {
-                                n.ofdBase64 = e.target.result.split(",")[1]
-                            },
-                            this.getOfdDocumentObj(this.file, this.screenWidth),
-                            this.$refs.file.value = null
-                        } else this.$alert("error", "仅支持ofd类型", {
-                            confirmButtonText: "确定",
-                            callback: function(t) {
-                                e.$message({
-                                    type: "info",
-                                    message: "action: ".concat(t)
-                                })
-                            }
-                        })
-                    },
-                    uploadPdfFile: function() {
-                        this.pdfFile = null,
-                        this.$refs.pdfFile.click()
-                    },
-                    pdfFileChanged: function() {
-                        var e = this;
-                        this.pdfFile = this.$refs.pdfFile.files[0];
-                        var t = this.pdfFile.name.replace(/.+\./, "");
-                        if ( - 1 !== ["pdf"].indexOf(t)) if (this.pdfFile.size > 104857600) this.$alert("error", "文件大小需 < 100M", {
-                            confirmButtonText: "确定",
-                            callback: function(t) {
-                                e.$message({
-                                    type: "info",
-                                    message: "action: ".concat(t)
-                                })
-                            }
-                        });
-                        else {
-                            var n = this,
-                            s = new FileReader;
-                            s.readAsDataURL(this.pdfFile),
-                            s.onload = function(e) {
-                                var t = e.target.result.split(",")[1];
-                                n.downOfd(t)
-                            },
-                            this.$refs.pdfFile.value = null
-                        } else this.$alert("error", "仅支持pdf类型", {
-                            confirmButtonText: "确定",
-                            callback: function(t) {
-                                e.$message({
-                                    type: "info",
-                                    message: "action: ".concat(t)
-                                })
-                            }
-                        })
-                    },
-                    getOfdDocumentObj: function(e, t) {
-                        var n = this,
-                        s = (new Date).getTime();
-                        this.loading = !0,
-                        Object(a["c"])({
-                            ofd: e,
-                            success: function(e) {
-                                console.log(e);
-                                var r = (new Date).getTime();
-                                console.log("解析ofd", r - s),
-                                n.ofdObj = e[0],
-                                n.pageCount = e[0].pages.length;
-                                var i = Object(a["d"])(t, e[0]),
-                                u = (new Date).getTime();
-                                console.log("xml转svg", u - r),
-                                n.displayOfdDiv(i);
-                                var o = (new Date).getTime();
-                                console.log("svg渲染到页面", o - u),
-                                n.loading = !1
-                            },
-                            fail: function(e) {
-                                var t = this;
-                                n.loading = !1,
-                                n.$alert("OFD打开失败", e, {
-                                    confirmButtonText: "确定",
-                                    callback: function(e) {
-                                        t.$message({
-                                            type: "info",
-                                            message: "action: ".concat(e)
-                                        })
-                                    }
-                                })
-                            }
-                        })
-                    },
-                    displayOfdDiv: function(e) {
-                        this.scale = Object(a["b"])();
-                        var t = document.getElementById("content");
-                        t.innerHTML = "";
-                        var n, r = Object(s["a"])(e);
-                        try {
-                            for (r.s(); ! (n = r.n()).done;) {
-                                var i = n.value;
-                                t.appendChild(i)
-                            }
-                        } catch(c) {
-                            r.e(c)
-                        } finally {
-                            r.f()
-                        }
-                        var u, o = Object(s["a"])(document.getElementsByName("seal_img_div"));
-                        try {
-                            for (o.s(); ! (u = o.n()).done;) {
-                                var l = u.value;
-                                this.addEventOnSealDiv(l, JSON.parse(l.dataset.sesSignature), JSON.parse(l.dataset.signedInfo))
-                            }
-                        } catch(c) {
-                            o.e(c)
-                        } finally {
-                            o.f()
-                        }
-                    },
-                    addEventOnSealDiv: function(t, n, s) {
-                        try {
-                            e.HashRet = null,
-                            e.VerifyRet = s.VerifyRet,
-                            t.addEventListener("click", (function() {
-                                document.getElementById("sealInfoDiv").hidden = !1,
-                                document.getElementById("sealInfoDiv").setAttribute("style", "display:flex;align-items: center;justify-content: center;"),
-                                n.realVersion < 4 ? (document.getElementById("spSigner").innerText = n.toSign.cert["commonName"], document.getElementById("spProvider").innerText = s.Provider["@_ProviderName"], document.getElementById("spHashedValue").innerText = n.toSign.dataHash.replace(/\n/g, ""), document.getElementById("spSignedValue").innerText = n.signature.replace(/\n/g, ""), document.getElementById("spSignMethod").innerText = n.toSign.signatureAlgorithm.replace(/\n/g, ""), document.getElementById("spSealID").innerText = n.toSign.eseal.esealInfo.esID, document.getElementById("spSealName").innerText = n.toSign.eseal.esealInfo.property.name, document.getElementById("spSealType").innerText = n.toSign.eseal.esealInfo.property.type, document.getElementById("spSealAuthTime").innerText = "从 " + n.toSign.eseal.esealInfo.property.validStart + " 到 " + n.toSign.eseal.esealInfo.property.validEnd, document.getElementById("spSealMakeTime").innerText = n.toSign.eseal.esealInfo.property.createDate, document.getElementById("spSealVersion").innerText = n.toSign.eseal.esealInfo.header.version) : (document.getElementById("spSigner").innerText = n.cert["commonName"], document.getElementById("spProvider").innerText = s.Provider["@_ProviderName"], document.getElementById("spHashedValue").innerText = n.toSign.dataHash.replace(/\n/g, ""), document.getElementById("spSignedValue").innerText = n.signature.replace(/\n/g, ""), document.getElementById("spSignMethod").innerText = n.signatureAlgID.replace(/\n/g, ""), document.getElementById("spSealID").innerText = n.toSign.eseal.esealInfo.esID, document.getElementById("spSealName").innerText = n.toSign.eseal.esealInfo.property.name, document.getElementById("spSealType").innerText = n.toSign.eseal.esealInfo.property.type, document.getElementById("spSealAuthTime").innerText = "从 " + n.toSign.eseal.esealInfo.property.validStart + " 到 " + n.toSign.eseal.esealInfo.property.validEnd, document.getElementById("spSealMakeTime").innerText = n.toSign.eseal.esealInfo.property.createDate, document.getElementById("spSealVersion").innerText = n.toSign.eseal.esealInfo.header.version),
-                                document.getElementById("spVersion").innerText = n.toSign.version,
-                                document.getElementById("VerifyRet").innerText = "文件摘要值后台验证中，请稍等... " + (e.VerifyRet ? "签名值验证成功": "签名值验证失败"),
-                                (null == e.HashRet || void 0 == e.HashRet || Object.keys(e.HashRet).length <= 0) && setTimeout((function() {
-                                    var t = e.VerifyRet ? "签名值验证成功": "签名值验证失败";
-                                    e.HashRet = Object(a["a"])(e.toBeChecked.get(s.signatureID));
-                                    var n = e.HashRet ? "文件摘要值验证成功": "文件摘要值验证失败";
-                                    document.getElementById("VerifyRet").innerText = n + " " + t
-                                }), 1e3)
-                            }))
-                        } catch(r) {
-                            console.log(r)
-                        }
-                        e.VerifyRet || t.setAttribute("class", "gray")
-                    }
-                }
-            }
-        }).call(this, n("c8ba"))
-    },
-    "85ec": function(e, t, n) {},
-    a9c6: function(e, t, n) {
-        "use strict";
-        n.d(t, "b", (function() {
-            return V
-        })),
-        n.d(t, "a", (function() {
-            return H
-        }));
-        n("4160"),
-        n("c975"),
-        n("4ec9"),
-        n("d3b7"),
-        n("ac1f"),
-        n("3ca3"),
-        n("5319"),
-        n("1276"),
-        n("4c53"),
-        n("159b"),
-        n("ddb0");
-        var s = n("b85c"),
-        a = (n("96cf"), n("1da1")),
-        r = n("6f9c"),
-        i = n.n(r),
-        u = n("64c1"),
-        o = n.n(u),
-        l = n("a476"),
-        c = n.n(l),
-        b = n("8060");
-        n("99af"),
-        n("a15b"),
-        n("13d5"),
-        n("25f0"),
-        n("f5b2");
-        function d(e, t) {
-            return e.length >= t ? e: new Array(t - e.length + 1).join("0") + e
-        }
-        function f(e) {
-            for (var t = 8,
-            n = "",
-            s = 0; s < e.length / t; s++) n += d(parseInt(e.substr(s * t, t), 2).toString(16), 2);
-            return n
-        }
-        function h(e) {
-            for (var t = 2,
-            n = "",
-            s = 0; s < e.length / t; s++) n += d(parseInt(e.substr(s * t, t), 16).toString(2), 8);
-            return n
-        }
-        function p(e, t) {
-            return e.substring(t % e.length) + e.substr(0, t % e.length)
-        }
-        function v(e, t, n) {
-            for (var s, a = e || "",
-            r = t || "",
-            i = [], u = a.length - 1; u >= 0; u--) s = n(a[u], r[u], s),
-            i[u] = s[0];
-            return i.join("")
-        }
-        function g(e, t) {
-            return v(e, t, (function(e, t) {
-                return [e === t ? "0": "1"]
-            }))
-        }
-        function m(e, t) {
-            return v(e, t, (function(e, t) {
-                return ["1" === e && "1" === t ? "1": "0"]
-            }))
-        }
-        function y(e, t) {
-            return v(e, t, (function(e, t) {
-                return ["1" === e || "1" === t ? "1": "0"]
-            }))
-        }
-        function x(e, t) {
-            var n = v(e, t, (function(e, t, n) {
-                var s = n ? n[1] : "0";
-                return e !== t ? ["0" === s ? "1": "0", s] : [s, e]
-            }));
-            return n
-        }
-        function w(e) {
-            return v(e, void 0, (function(e) {
-                return ["1" === e ? "0": "1"]
-            }))
-        }
-        function O(e) {
-            return function() {
-                for (var t = arguments.length,
-                n = new Array(t), s = 0; s < t; s++) n[s] = arguments[s];
-                return n.reduce((function(t, n) {
-                    return e(t, n)
-                }))
-            }
-        }
-        function S(e) {
-            return O(g)(e, p(e, 9), p(e, 17))
-        }
-        function k(e) {
-            return O(g)(e, p(e, 15), p(e, 23))
-        }
-        function j(e, t, n, s) {
-            return s >= 0 && s <= 15 ? O(g)(e, t, n) : O(y)(m(e, t), m(e, n), m(t, n))
-        }
-        function I(e, t, n, s) {
-            return s >= 0 && s <= 15 ? O(g)(e, t, n) : y(m(e, t), m(w(e), n))
-        }
-        function C(e) {
-            return h(e >= 0 && e <= 15 ? "79cc4519": "7a879d8a")
-        }
-        function B(e, t) {
-            for (var n = 32,
-            s = [], a = [], r = 0; r < 16; r++) s.push(t.substr(r * n, n));
-            for (var i = 16; i < 68; i++) s.push(O(g)(k(O(g)(s[i - 16], s[i - 9], p(s[i - 3], 15))), p(s[i - 13], 7), s[i - 6]));
-            for (var u = 0; u < 64; u++) a.push(g(s[u], s[u + 4]));
-            for (var o = [], l = 0; l < 8; l++) o.push(e.substr(l * n, n));
-            for (var c, b, d, f, h = o[0], v = o[1], m = o[2], y = o[3], w = o[4], B = o[5], _ = o[6], D = o[7], T = 0; T < 64; T++) c = p(O(x)(p(h, 12), w, p(C(T), T)), 7),
-            b = g(c, p(h, 12)),
-            d = O(x)(j(h, v, m, T), y, b, a[T]),
-            f = O(x)(I(w, B, _, T), D, c, s[T]),
-            y = m,
-            m = p(v, 9),
-            v = h,
-            h = d,
-            D = _,
-            _ = p(B, 19),
-            B = w,
-            w = S(f);
-            return g([h, v, m, y, w, B, _, D].join(""), e)
-        }
-        function _(e) {
-            var t = h(e),
-            n = t.length,
-            s = n % 512;
-            s = s >= 448 ? 512 - s % 448 - 1 : 448 - s - 1;
-            for (var a = "".concat(t, "1").concat(d("", s)).concat(d(n.toString(2), 64)).toString(), r = (n + s + 65) / 512, i = h("7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e"), u = 0; u <= r - 1; u++) {
-                var o = a.substr(512 * u, 512);
-                i = B(i, o)
-            }
-            return f(i)
-        }
-        var D = n("8237"),
-        T = n.n(D),
-        A = n("6199"),
-        R = n.n(A),
-        F = n("81fa"),
-        P = n.n(F),
-        E = n("6b33"),
-        L = function(e, t, n) {
-            var s = Object(E["a"])(o.a.decode(t));
-            return n = n.toLowerCase(),
-            n.indexOf("1.2.156.10197.1.401") >= 0 || n.indexOf("sm3") >= 0 ? s == _(Object(E["a"])(e)) : n.indexOf("md5") >= 0 ? s == T()(e) : n.indexOf("sha1") >= 0 ? s == R()(e) : ""
-        },
-        N = function(e) {
-            try {
-                var t = e.realVersion < 4 ? e.toSign.signatureAlgorithm: e.signatureAlgID;
-                t = t.toLowerCase();
-                var n = e.toSignDer;
-                if (t.indexOf("1.2.156.10197.1.501") >= 0 || t.indexOf("sm2") >= 0) {
-                    var s = e.signature.replace(/ /g, "").replace(/\n/g, "");
-                    0 == s.indexOf("00") && (s = s.substr(2, s.length - 2));
-                    var a = e.realVersion < 4 ? e.toSign.cert: e.cert,
-                    r = a.subjectPublicKeyInfo.subjectPublicKey.replace(/ /g, "").replace(/\n/g, "");
-                    return 0 == r.indexOf("00") && (r = r.substr(2, r.length - 2)),
-                    b["sm2"].doVerifySignature(n, s, r, {
-                        der: !0,
-                        hash: !0,
-                        userId: "1234567812345678"
-                    })
-                }
-                var i = new P.a.KJUR.crypto.Signature({
-                    alg: "SHA1withRSA"
-                }),
-                u = e.realVersion < 4 ? e.toSign.cert: e.cert,
-                o = e.signature.replace(/ /g, "").replace(/\n/g, "");
-                return 0 == o.indexOf("00") && (o = o.substr(2, o.length - 2)),
-                i.init(u),
-                i.updateHex(n),
-                i.verify(o)
-            } catch(l) {
-                return console.log(l),
-                !1
-            }
-        },
-        M = /^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/,
-        V = function() {
-            var e = Object(a["a"])(regeneratorRuntime.mark((function e(t, n) {
-                return regeneratorRuntime.wrap((function(e) {
-                    while (1) switch (e.prev = e.next) {
-                    case 0:
-                        return e.abrupt("return", new Promise((function(e, s) {
-                            t.files[n].async("base64").then((function(t) {
-                                var n = q(t);
-                                e(n)
-                            }), (function(e) {
-                                s(e)
-                            }))
-                        })));
-                    case 1:
-                    case "end":
-                        return e.stop()
-                    }
-                }), e)
-            })));
-            return function(t, n) {
-                return e.apply(this, arguments)
-            }
-        } (),
-        H = function(e) {
-            var t, n = !0,
-            a = Object(s["a"])(e);
-            try {
-                for (a.s(); ! (t = a.n()).done;) {
-                    var r = t.value,
-                    i = L(r.fileData, r.hashed, r.checkMethod);
-                    n = n && i
-                }
-            } catch(u) {
-                a.e(u)
-            } finally {
-                a.f()
-            }
-            return n
-        },
-        q = function(e) {
-            try {
-                var t = M.test(e) ? i.a.decode(e) : o.a.unarmor(e);
-                return W(t)
-            } catch(n) {
-                return console.log(n),
-                {}
-            }
-        },
-        W = function(e, t) {
-            t = t || 0;
-            try {
-                var n = $(e, t),
-                s = n.toSign.eseal.esealInfo.picture.type,
-                a = n.toSign.eseal.esealInfo.picture.data.byte;
-                return {
-                    ofdArray: a,
-                    type: s.toLowerCase(),
-                    SES_Signature: n,
-                    verifyRet: N(n)
-                }
-            } catch(r) {
-                return console.log(r),
-                {}
-            }
-        },
-        U = function(e) {
-            e = e.replace("Unrecognized time: ", "");
-            e.indexOf("Z");
-            return e = e.replace("Z", ""),
-            e = e.substr(0, 1) < "5" ? "20" + e: "19" + e,
-            e
-        },
-        $ = function(e, t) {
-            t = t || 0;
-            var n, s = c.a.decode(e, t);
-            try {
-                var a, r, i, u, o, l, b, d, f, h, p, v, g, m, y, x, w, O, S, k, j, I, C, B, _, D, T, A, R, F, P, E, L, N, M, V, H, q, W, $, G, K, X, Y, Z, Q, ee, te, ne, se, ae, re, ie, ue, oe, le, ce, be, de, fe, he, pe, ve, ge, me, ye, xe, we, Oe, Se, ke, je, Ie, Ce, Be, _e, De, Te, Ae, Re, Fe, Pe, Ee, Le, Ne, Me, Ve, He, qe, We, Ue, $e, ze, Je, Ge, Ke, Xe, Ye, Ze, Qe, et = U(null === (a = s.sub[0]) || void 0 === a || null === (r = a.sub[1]) || void 0 === r || null === (i = r.sub[0]) || void 0 === i || null === (u = i.sub[2]) || void 0 === u || null === (o = u.sub[3]) || void 0 === o ? void 0 : o.stream.parseTime(s.sub[0].sub[1].sub[0].sub[2].sub[3].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[3].header, s.sub[0].sub[1].sub[0].sub[2].sub[3].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[3].header + s.sub[0].sub[1].sub[0].sub[2].sub[3].length)),
-                tt = U(null === (l = s.sub[0]) || void 0 === l || null === (b = l.sub[1]) || void 0 === b || null === (d = b.sub[0]) || void 0 === d || null === (f = d.sub[2]) || void 0 === f || null === (h = f.sub[4]) || void 0 === h ? void 0 : h.stream.parseTime(s.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[4].header, s.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[4].header + s.sub[0].sub[1].sub[0].sub[2].sub[4].length)),
-                nt = U(null === (p = s.sub[0]) || void 0 === p || null === (v = p.sub[1]) || void 0 === v || null === (g = v.sub[0]) || void 0 === g || null === (m = g.sub[2]) || void 0 === m || null === (y = m.sub[5]) || void 0 === y ? void 0 : y.stream.parseTime(s.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[5].header, s.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[5].header + s.sub[0].sub[1].sub[0].sub[2].sub[5].length)),
-                st = U(null === (x = s.sub[0]) || void 0 === x || null === (w = x.sub[2]) || void 0 === w ? void 0 : w.stream.parseTime(s.sub[0].sub[2].stream.pos + s.sub[0].sub[2].header, s.sub[0].sub[2].stream.pos + s.sub[0].sub[2].header + s.sub[0].sub[2].length, !1)),
-                at = null === (O = s.sub[0]) || void 0 === O || null === (S = O.sub[1]) || void 0 === S || null === (k = S.sub[0]) || void 0 === k || null === (j = k.sub[2]) || void 0 === j ? void 0 : j.sub[2],
-                rt = new Array;
-                at && at.sub.forEach((function(e) {
-                    rt.push(e.stream.parseOctetString(e.stream.pos + e.header, e.stream.pos + e.header + e.length))
-                }));
-                var it = null === (I = s.sub[0]) || void 0 === I || null === (C = I.sub[1]) || void 0 === C || null === (B = C.sub[0]) || void 0 === B ? void 0 : B.sub[4],
-                ut = new Array;
-                it && it.sub.forEach((function(e) {
-                    var t, n, s;
-                    ut.push({
-                        extnID: null === (t = e.sub[0]) || void 0 === t ? void 0 : t.stream.parseOID(e.sub[0].stream.pos + e.sub[0].header, e.sub[0].stream.pos + e.sub[0].header + e.sub[0].length),
-                        critical: null === (n = e.sub[1]) || void 0 === n ? void 0 : n.stream.parseInteger(e.sub[1].stream.pos + e.sub[1].header, e.sub[1].stream.pos + e.sub[1].header + e.sub[1].length),
-                        extnValue: null === (s = e.sub[2]) || void 0 === s ? void 0 : s.stream.parseOctetString(e.sub[2].stream.pos + e.sub[2].header, e.sub[2].stream.pos + e.sub[2].header + e.sub[2].length)
-                    })
-                })),
-                n = {
-                    realVersion: 1,
-                    toSignDer: null === (_ = s.sub[0]) || void 0 === _ ? void 0 : _.stream.enc.subarray(s.sub[0].stream.pos, s.sub[0].stream.pos + s.sub[0].header + s.sub[0].length),
-                    toSign: {
-                        version: null === (D = s.sub[0]) || void 0 === D || null === (T = D.sub[0]) || void 0 === T ? void 0 : T.stream.parseInteger(s.sub[0].sub[0].stream.pos + s.sub[0].sub[0].header, s.sub[0].sub[0].stream.pos + s.sub[0].sub[0].header + s.sub[0].sub[0].length),
-                        eseal: {
-                            esealInfo: {
-                                header: {
-                                    ID: null === (A = s.sub[0]) || void 0 === A || null === (R = A.sub[1]) || void 0 === R || null === (F = R.sub[0]) || void 0 === F || null === (P = F.sub[0]) || void 0 === P || null === (E = P.sub[0]) || void 0 === E ? void 0 : E.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[0].header, s.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[0].header + s.sub[0].sub[1].sub[0].sub[0].sub[0].length),
-                                    version: null === (L = s.sub[0]) || void 0 === L || null === (N = L.sub[1]) || void 0 === N || null === (M = N.sub[0]) || void 0 === M || null === (V = M.sub[0]) || void 0 === V || null === (H = V.sub[1]) || void 0 === H ? void 0 : H.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[1].header, s.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[1].header + s.sub[0].sub[1].sub[0].sub[0].sub[1].length),
-                                    Vid: null === (q = s.sub[0]) || void 0 === q || null === (W = q.sub[1]) || void 0 === W || null === ($ = W.sub[0]) || void 0 === $ || null === (G = $.sub[0]) || void 0 === G || null === (K = G.sub[2]) || void 0 === K ? void 0 : K.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[2].header, s.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[2].header + s.sub[0].sub[1].sub[0].sub[0].sub[2].length)
-                                },
-                                esID: null === (X = s.sub[0]) || void 0 === X || null === (Y = X.sub[1]) || void 0 === Y || null === (Z = Y.sub[0]) || void 0 === Z || null === (Q = Z.sub[1]) || void 0 === Q ? void 0 : Q.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[1].header, s.sub[0].sub[1].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[1].header + s.sub[0].sub[1].sub[0].sub[1].length),
-                                property: {
-                                    type: null === (ee = s.sub[0]) || void 0 === ee || null === (te = ee.sub[1]) || void 0 === te || null === (ne = te.sub[0]) || void 0 === ne || null === (se = ne.sub[2]) || void 0 === se || null === (ae = se.sub[0]) || void 0 === ae ? void 0 : ae.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[0].header, s.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[0].header + s.sub[0].sub[1].sub[0].sub[2].sub[0].length),
-                                    name: null === (re = s.sub[0]) || void 0 === re || null === (ie = re.sub[1]) || void 0 === ie || null === (ue = ie.sub[0]) || void 0 === ue || null === (oe = ue.sub[2]) || void 0 === oe || null === (le = oe.sub[1]) || void 0 === le ? void 0 : le.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[1].header, s.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[1].header + s.sub[0].sub[1].sub[0].sub[2].sub[1].length),
-                                    certList: rt,
-                                    createDate: et,
-                                    validStart: tt,
-                                    validEnd: nt
-                                },
-                                picture: {
-                                    type: null === (ce = s.sub[0]) || void 0 === ce || null === (be = ce.sub[1]) || void 0 === be || null === (de = be.sub[0]) || void 0 === de || null === (fe = de.sub[3]) || void 0 === fe || null === (he = fe.sub[0]) || void 0 === he ? void 0 : he.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[0].header, s.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[0].header + s.sub[0].sub[1].sub[0].sub[3].sub[0].length),
-                                    data: {
-                                        hex: null === (pe = s.sub[0]) || void 0 === pe || null === (ve = pe.sub[1]) || void 0 === ve || null === (ge = ve.sub[0]) || void 0 === ge || null === (me = ge.sub[3]) || void 0 === me || null === (ye = me.sub[1]) || void 0 === ye ? void 0 : ye.stream.parseOctetString(s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header, s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header + s.sub[0].sub[1].sub[0].sub[3].sub[1].length),
-                                        byte: null === (xe = s.sub[0]) || void 0 === xe || null === (we = xe.sub[1]) || void 0 === we || null === (Oe = we.sub[0]) || void 0 === Oe || null === (Se = Oe.sub[3]) || void 0 === Se || null === (ke = Se.sub[1]) || void 0 === ke ? void 0 : ke.stream.enc.subarray(s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header, s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header + s.sub[0].sub[1].sub[0].sub[3].sub[1].length)
-                                    },
-                                    width: null === (je = s.sub[0]) || void 0 === je || null === (Ie = je.sub[1]) || void 0 === Ie || null === (Ce = Ie.sub[0]) || void 0 === Ce || null === (Be = Ce.sub[3]) || void 0 === Be || null === (_e = Be.sub[2]) || void 0 === _e ? void 0 : _e.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[2].header, s.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[2].header + s.sub[0].sub[1].sub[0].sub[3].sub[2].length),
-                                    height: null === (De = s.sub[0]) || void 0 === De || null === (Te = De.sub[1]) || void 0 === Te || null === (Ae = Te.sub[0]) || void 0 === Ae || null === (Re = Ae.sub[3]) || void 0 === Re || null === (Fe = Re.sub[3]) || void 0 === Fe ? void 0 : Fe.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[3].header, s.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[3].header + s.sub[0].sub[1].sub[0].sub[3].sub[3].length)
-                                },
-                                extDatas: ut
-                            },
-                            signInfo: {
-                                cert: z(null === (Pe = s.sub[0]) || void 0 === Pe || null === (Ee = Pe.sub[1]) || void 0 === Ee || null === (Le = Ee.sub[1]) || void 0 === Le ? void 0 : Le.sub[0]),
-                                signatureAlgorithm: null === (Ne = s.sub[0]) || void 0 === Ne || null === (Me = Ne.sub[1]) || void 0 === Me || null === (Ve = Me.sub[1]) || void 0 === Ve || null === (He = Ve.sub[1]) || void 0 === He ? void 0 : He.stream.parseOID(s.sub[0].sub[1].sub[1].sub[1].stream.pos + s.sub[0].sub[1].sub[1].sub[1].header, s.sub[0].sub[1].sub[1].sub[1].stream.pos + s.sub[0].sub[1].sub[1].sub[1].header + s.sub[0].sub[1].sub[1].sub[1].length),
-                                signData: null === (qe = s.sub[0]) || void 0 === qe || null === (We = qe.sub[1]) || void 0 === We || null === (Ue = We.sub[1]) || void 0 === Ue || null === ($e = Ue.sub[2]) || void 0 === $e ? void 0 : $e.stream.hexDump(s.sub[0].sub[1].sub[1].sub[2].stream.pos + s.sub[0].sub[1].sub[1].sub[2].header, s.sub[0].sub[1].sub[1].sub[2].stream.pos + s.sub[0].sub[1].sub[1].sub[2].header + s.sub[0].sub[1].sub[1].sub[2].length, !1)
-                            }
-                        },
-                        timeInfo: st,
-                        dataHash: null === (ze = s.sub[0]) || void 0 === ze || null === (Je = ze.sub[3]) || void 0 === Je ? void 0 : Je.stream.hexDump(s.sub[0].sub[3].stream.pos + s.sub[0].sub[3].header, s.sub[0].sub[3].stream.pos + s.sub[0].sub[3].header + s.sub[0].sub[3].length, !1),
-                        propertyInfo: null === (Ge = s.sub[0]) || void 0 === Ge || null === (Ke = Ge.sub[4]) || void 0 === Ke ? void 0 : Ke.stream.parseStringUTF(s.sub[0].sub[4].stream.pos + s.sub[0].sub[4].header, s.sub[0].sub[4].stream.pos + s.sub[0].sub[4].header + s.sub[0].sub[4].length),
-                        cert: z(null === (Xe = s.sub[0]) || void 0 === Xe ? void 0 : Xe.sub[5]),
-                        signatureAlgorithm: null === (Ye = s.sub[0]) || void 0 === Ye || null === (Ze = Ye.sub[6]) || void 0 === Ze ? void 0 : Ze.stream.parseOID(s.sub[0].sub[6].stream.pos + s.sub[0].sub[6].header, s.sub[0].sub[6].stream.pos + s.sub[0].sub[6].header + s.sub[0].sub[6].length)
-                    },
-                    signature: null === (Qe = s.sub[1]) || void 0 === Qe ? void 0 : Qe.stream.hexDump(s.sub[1].stream.pos + s.sub[1].header, s.sub[1].stream.pos + s.sub[1].header + s.sub[1].length, !1)
-                }
-            } catch(rs) {
-                try {
-                    var ot, lt, ct, bt, dt, ft, ht, pt, vt, gt, mt, yt, xt, wt, Ot, St, kt, jt, It, Ct, Bt, _t, Dt, Tt, At, Rt, Ft, Pt, Et, Lt, Nt, Mt, Vt, Ht, qt, Wt, Ut, $t, zt, Jt, Gt, Kt, Xt, Yt, Zt, Qt, en, tn, nn, sn, an, rn, un, on, ln, cn, bn, dn, fn, hn, pn, vn, gn, mn, yn, xn, wn, On, Sn, kn, jn, In, Cn, Bn, _n, Dn, Tn, An, Rn, Fn, Pn, En, Ln, Nn, Mn, Vn, Hn, qn, Wn, Un, $n, zn, Jn, Gn, Kn, Xn, Yn, Zn, Qn, es = null === (ot = s.sub[0]) || void 0 === ot || null === (lt = ot.sub[1]) || void 0 === lt || null === (ct = lt.sub[0]) || void 0 === ct || null === (bt = ct.sub[2]) || void 0 === bt || null === (dt = bt.sub[2]) || void 0 === dt ? void 0 : dt.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[2].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[2].header, s.sub[0].sub[1].sub[0].sub[2].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[2].header + s.sub[0].sub[1].sub[0].sub[2].sub[2].length),
-                    ts = null === (ft = s.sub[0]) || void 0 === ft || null === (ht = ft.sub[1]) || void 0 === ht || null === (pt = ht.sub[0]) || void 0 === pt || null === (vt = pt.sub[2]) || void 0 === vt ? void 0 : vt.sub[3],
-                    ns = new Array;
-                    ts && ts.sub.forEach((function(e) {
-                        ns.push(e.stream.parseOctetString(e.stream.pos + e.header, e.stream.pos + e.header + e.length))
-                    }));
-                    var ss = null === (gt = s.sub[0]) || void 0 === gt || null === (mt = gt.sub[1]) || void 0 === mt || null === (yt = mt.sub[0]) || void 0 === yt ? void 0 : yt.sub[4],
-                    as = new Array;
-                    ss && ss.sub.forEach((function(e) {
-                        var t, n, s;
-                        as.push({
-                            extnID: null === (t = e.sub[0]) || void 0 === t ? void 0 : t.stream.parseOID(e.sub[0].stream.pos + e.sub[0].header, e.sub[0].stream.pos + e.sub[0].header + e.sub[0].length),
-                            critical: null === (n = e.sub[1]) || void 0 === n ? void 0 : n.stream.parseInteger(e.sub[1].stream.pos + e.sub[1].header, e.sub[1].stream.pos + e.sub[1].header + e.sub[1].length),
-                            extnValue: null === (s = e.sub[2]) || void 0 === s ? void 0 : s.stream.parseOctetString(e.sub[2].stream.pos + e.sub[2].header, e.sub[2].stream.pos + e.sub[2].header + e.sub[2].length)
-                        })
-                    })),
-                    n = {
-                        realVersion: 4,
-                        toSignDer: null === (xt = s.sub[0]) || void 0 === xt ? void 0 : xt.stream.enc.subarray(s.sub[0].stream.pos, s.sub[0].stream.pos + s.sub[0].header + s.sub[0].length),
-                        toSign: {
-                            version: null === (wt = s.sub[0]) || void 0 === wt || null === (Ot = wt.sub[0]) || void 0 === Ot ? void 0 : Ot.stream.parseInteger(s.sub[0].sub[0].stream.pos + s.sub[0].sub[0].header, s.sub[0].sub[0].stream.pos + s.sub[0].sub[0].header + s.sub[0].sub[0].length),
-                            eseal: {
-                                esealInfo: {
-                                    header: {
-                                        ID: null === (St = s.sub[0]) || void 0 === St || null === (kt = St.sub[1]) || void 0 === kt || null === (jt = kt.sub[0]) || void 0 === jt || null === (It = jt.sub[0]) || void 0 === It || null === (Ct = It.sub[0]) || void 0 === Ct ? void 0 : Ct.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[0].header, s.sub[0].sub[1].sub[0].sub[0].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[0].header + s.sub[0].sub[1].sub[0].sub[0].sub[0].length),
-                                        version: null === (Bt = s.sub[0]) || void 0 === Bt || null === (_t = Bt.sub[1]) || void 0 === _t || null === (Dt = _t.sub[0]) || void 0 === Dt || null === (Tt = Dt.sub[0]) || void 0 === Tt || null === (At = Tt.sub[1]) || void 0 === At ? void 0 : At.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[1].header, s.sub[0].sub[1].sub[0].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[1].header + s.sub[0].sub[1].sub[0].sub[0].sub[1].length),
-                                        Vid: null === (Rt = s.sub[0]) || void 0 === Rt || null === (Ft = Rt.sub[1]) || void 0 === Ft || null === (Pt = Ft.sub[0]) || void 0 === Pt || null === (Et = Pt.sub[0]) || void 0 === Et || null === (Lt = Et.sub[2]) || void 0 === Lt ? void 0 : Lt.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[2].header, s.sub[0].sub[1].sub[0].sub[0].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[0].sub[2].header + s.sub[0].sub[1].sub[0].sub[0].sub[2].length)
-                                    },
-                                    esID: null === (Nt = s.sub[0]) || void 0 === Nt || null === (Mt = Nt.sub[1]) || void 0 === Mt || null === (Vt = Mt.sub[0]) || void 0 === Vt || null === (Ht = Vt.sub[1]) || void 0 === Ht ? void 0 : Ht.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[1].header, s.sub[0].sub[1].sub[0].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[1].header + s.sub[0].sub[1].sub[0].sub[1].length),
-                                    property: {
-                                        type: null === (qt = s.sub[0]) || void 0 === qt || null === (Wt = qt.sub[1]) || void 0 === Wt || null === (Ut = Wt.sub[0]) || void 0 === Ut || null === ($t = Ut.sub[2]) || void 0 === $t || null === (zt = $t.sub[0]) || void 0 === zt ? void 0 : zt.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[0].header, s.sub[0].sub[1].sub[0].sub[2].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[0].header + s.sub[0].sub[1].sub[0].sub[2].sub[0].length),
-                                        name: null === (Jt = s.sub[0]) || void 0 === Jt || null === (Gt = Jt.sub[1]) || void 0 === Gt || null === (Kt = Gt.sub[0]) || void 0 === Kt || null === (Xt = Kt.sub[2]) || void 0 === Xt || null === (Yt = Xt.sub[1]) || void 0 === Yt ? void 0 : Yt.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[1].header, s.sub[0].sub[1].sub[0].sub[2].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[1].header + s.sub[0].sub[1].sub[0].sub[2].sub[1].length),
-                                        certListType: es,
-                                        certList: ns,
-                                        createDate: null === (Zt = s.sub[0]) || void 0 === Zt || null === (Qt = Zt.sub[1]) || void 0 === Qt || null === (en = Qt.sub[0]) || void 0 === en || null === (tn = en.sub[2]) || void 0 === tn || null === (nn = tn.sub[4]) || void 0 === nn ? void 0 : nn.stream.parseTime(s.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[4].header, s.sub[0].sub[1].sub[0].sub[2].sub[4].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[4].header + s.sub[0].sub[1].sub[0].sub[2].sub[4].length),
-                                        validStart: null === (sn = s.sub[0]) || void 0 === sn || null === (an = sn.sub[1]) || void 0 === an || null === (rn = an.sub[0]) || void 0 === rn || null === (un = rn.sub[2]) || void 0 === un || null === (on = un.sub[5]) || void 0 === on ? void 0 : on.stream.parseTime(s.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[5].header, s.sub[0].sub[1].sub[0].sub[2].sub[5].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[5].header + s.sub[0].sub[1].sub[0].sub[2].sub[5].length),
-                                        validEnd: null === (ln = s.sub[0]) || void 0 === ln || null === (cn = ln.sub[1]) || void 0 === cn || null === (bn = cn.sub[0]) || void 0 === bn || null === (dn = bn.sub[2]) || void 0 === dn || null === (fn = dn.sub[6]) || void 0 === fn ? void 0 : fn.stream.parseTime(s.sub[0].sub[1].sub[0].sub[2].sub[6].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[6].header, s.sub[0].sub[1].sub[0].sub[2].sub[6].stream.pos + s.sub[0].sub[1].sub[0].sub[2].sub[6].header + s.sub[0].sub[1].sub[0].sub[2].sub[6].length)
-                                    },
-                                    picture: {
-                                        type: null === (hn = s.sub[0]) || void 0 === hn || null === (pn = hn.sub[1]) || void 0 === pn || null === (vn = pn.sub[0]) || void 0 === vn || null === (gn = vn.sub[3]) || void 0 === gn || null === (mn = gn.sub[0]) || void 0 === mn ? void 0 : mn.stream.parseStringUTF(s.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[0].header, s.sub[0].sub[1].sub[0].sub[3].sub[0].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[0].header + s.sub[0].sub[1].sub[0].sub[3].sub[0].length),
-                                        data: {
-                                            hex: null === (yn = s.sub[0]) || void 0 === yn || null === (xn = yn.sub[1]) || void 0 === xn || null === (wn = xn.sub[0]) || void 0 === wn || null === (On = wn.sub[3]) || void 0 === On || null === (Sn = On.sub[1]) || void 0 === Sn ? void 0 : Sn.stream.parseOctetString(s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header, s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header + s.sub[0].sub[1].sub[0].sub[3].sub[1].length),
-                                            byte: null === (kn = s.sub[0]) || void 0 === kn || null === (jn = kn.sub[1]) || void 0 === jn || null === (In = jn.sub[0]) || void 0 === In || null === (Cn = In.sub[3]) || void 0 === Cn || null === (Bn = Cn.sub[1]) || void 0 === Bn ? void 0 : Bn.stream.enc.subarray(s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header, s.sub[0].sub[1].sub[0].sub[3].sub[1].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[1].header + s.sub[0].sub[1].sub[0].sub[3].sub[1].length)
-                                        },
-                                        width: null === (_n = s.sub[0]) || void 0 === _n || null === (Dn = _n.sub[1]) || void 0 === Dn || null === (Tn = Dn.sub[0]) || void 0 === Tn || null === (An = Tn.sub[3]) || void 0 === An || null === (Rn = An.sub[2]) || void 0 === Rn ? void 0 : Rn.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[2].header, s.sub[0].sub[1].sub[0].sub[3].sub[2].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[2].header + s.sub[0].sub[1].sub[0].sub[3].sub[2].length),
-                                        height: null === (Fn = s.sub[0]) || void 0 === Fn || null === (Pn = Fn.sub[1]) || void 0 === Pn || null === (En = Pn.sub[0]) || void 0 === En || null === (Ln = En.sub[3]) || void 0 === Ln || null === (Nn = Ln.sub[3]) || void 0 === Nn ? void 0 : Nn.stream.parseInteger(s.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[3].header, s.sub[0].sub[1].sub[0].sub[3].sub[3].stream.pos + s.sub[0].sub[1].sub[0].sub[3].sub[3].header + s.sub[0].sub[1].sub[0].sub[3].sub[3].length)
-                                    },
-                                    extDatas: as
-                                },
-                                cert: z(null === (Mn = s.sub[0]) || void 0 === Mn || null === (Vn = Mn.sub[1]) || void 0 === Vn ? void 0 : Vn.sub[1]),
-                                signAlgID: null === (Hn = s.sub[0]) || void 0 === Hn || null === (qn = Hn.sub[1]) || void 0 === qn || null === (Wn = qn.sub[2]) || void 0 === Wn ? void 0 : Wn.stream.parseOID(s.sub[0].sub[1].sub[2].stream.pos + s.sub[0].sub[1].sub[2].header, s.sub[0].sub[1].sub[2].stream.pos + s.sub[0].sub[1].sub[2].header + s.sub[0].sub[1].sub[2].length),
-                                signedValue: null === (Un = s.sub[0]) || void 0 === Un || null === ($n = Un.sub[1]) || void 0 === $n || null === (zn = $n.sub[3]) || void 0 === zn ? void 0 : zn.stream.hexDump(s.sub[0].sub[1].sub[3].stream.pos + s.sub[0].sub[1].sub[3].header, s.sub[0].sub[1].sub[3].stream.pos + s.sub[0].sub[1].sub[3].header + s.sub[0].sub[1].sub[3].length, !1)
-                            },
-                            timeInfo: null === (Jn = s.sub[0]) || void 0 === Jn || null === (Gn = Jn.sub[2]) || void 0 === Gn ? void 0 : Gn.stream.parseTime(s.sub[0].sub[2].stream.pos + s.sub[0].sub[2].header, s.sub[0].sub[2].stream.pos + s.sub[0].sub[2].header + s.sub[0].sub[2].length, !1),
-                            dataHash: null === (Kn = s.sub[0]) || void 0 === Kn || null === (Xn = Kn.sub[3]) || void 0 === Xn ? void 0 : Xn.stream.hexDump(s.sub[0].sub[3].stream.pos + s.sub[0].sub[3].header, s.sub[0].sub[3].stream.pos + s.sub[0].sub[3].header + s.sub[0].sub[3].length, !1),
-                            propertyInfo: J(s.sub[0].sub[4])
-                        },
-                        cert: z(s.sub[1]),
-                        signatureAlgID: null === (Yn = s.sub[2]) || void 0 === Yn ? void 0 : Yn.stream.parseOID(s.sub[2].stream.pos + s.sub[2].header, s.sub[2].stream.pos + s.sub[2].header + s.sub[2].length),
-                        signature: null === (Zn = s.sub[3]) || void 0 === Zn ? void 0 : Zn.stream.hexDump(s.sub[3].stream.pos + s.sub[3].header, s.sub[3].stream.pos + s.sub[3].header + s.sub[3].length, !1),
-                        timpStamp: null === (Qn = s.sub[4]) || void 0 === Qn ? void 0 : Qn.stream.parseTime(s.sub[4].stream.pos + s.sub[4].header, s.sub[4].stream.pos + s.sub[4].header + s.sub[4].length)
-                    }
-                } catch(rs) {
-                    console.log(rs),
-                    n = {}
-                }
-            }
-            return n
-        },
-        z = function(e, t) {
-            t = t || 0;
-            try {
-                var n, s, a = e.sub[0].sub[0].sub[5],
-                r = new Map;
-                a.sub.forEach((function(e) {
-                    var t, n = e.sub[0].sub[0].content().split("\n")[0],
-                    s = null === (t = e.sub[0].sub[1]) || void 0 === t ? void 0 : t.stream.parseStringUTF(e.sub[0].sub[1].stream.pos + e.sub[0].sub[1].header, e.sub[0].sub[1].stream.pos + e.sub[0].sub[1].header + e.sub[0].sub[1].length);
-                    r.set(n, s)
-                }));
-                var i = e.sub[0].sub[0].sub[6];
-                return {
-                    subject: r,
-                    commonName: r.get("2.5.4.3"),
-                    subjectPublicKeyInfo: {
-                        algorithm: null === (n = i.sub[0]) || void 0 === n ? void 0 : n.stream.parseOID(i.sub[0].stream.pos + i.sub[0].header, i.sub[0].stream.pos + i.sub[0].header + i.sub[0].length),
-                        subjectPublicKey: null === (s = i.sub[1]) || void 0 === s ? void 0 : s.stream.hexDump(i.sub[1].stream.pos + i.sub[1].header, i.sub[1].stream.pos + i.sub[1].header + i.sub[1].length)
-                    }
-                }
-            } catch(u) {
-                return console.log(u),
-                {}
-            }
-        },
-        J = function(e) {
-            for (var t = "",
-            n = 0; n < e.length; n++) t += String.fromCharCode(e[n]);
-            return t
-        }
-    },
-    d00a: function(e, t, n) {
-        "use strict"; (function(e) {
-            n.d(t, "a", (function() {
-                return a
-            }));
-            var s = n("53ca"),
-            a = "object" === ("undefined" === typeof e ? "undefined": Object(s["a"])(e)) && e + "" === "[object process]" && !e.versions.nw && !(e.versions.electron && e.type && "browser" !== e.type)
-        }).call(this, n("4362"))
-    },
-    e12b: function(e, t, n) {
-        "use strict";
-        n("ed1a")
-    },
-    ed1a: function(e, t, n) {}
-});
\ No newline at end of file
diff --git a/server/target/classes/static/ofd/chunk-vendors.c0cd1494.js b/server/target/classes/static/ofd/chunk-vendors.c0cd1494.js
deleted file mode 100644
index e4033be..0000000
--- a/server/target/classes/static/ofd/chunk-vendors.c0cd1494.js
+++ /dev/null
@@ -1,31 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"0083":function(e,t,i){"use strict";var n={};function r(){try{return new window.XMLHttpRequest}catch(e){}}function a(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}n._getBinaryFromXHR=function(e){return e.response||e.responseText};var s="undefined"!==typeof window&&window.ActiveXObject?function(){return r()||a()}:r;n.getBinaryContent=function(e,t){var i,r,a,o;t||(t={}),"function"===typeof t?(o=t,t={}):"function"===typeof t.callback&&(o=t.callback),o||"undefined"===typeof Promise?(r=function(e){o(null,e)},a=function(e){o(e,null)}):i=new Promise((function(e,t){r=e,a=t}));try{var c=s();c.open("GET",e,!0),"responseType"in c&&(c.responseType="arraybuffer"),c.overrideMimeType&&c.overrideMimeType("text/plain; charset=x-user-defined"),c.onreadystatechange=function(t){if(4===c.readyState)if(200===c.status||0===c.status)try{r(n._getBinaryFromXHR(c))}catch(i){a(new Error(i))}else a(new Error("Ajax error for "+e+" : "+this.status+" "+this.statusText))},t.progress&&(c.onprogress=function(i){t.progress({path:e,originalEvent:i,percent:i.loaded/i.total*100,loaded:i.loaded,total:i.total})}),c.send()}catch(l){a(new Error(l),null)}return i},e.exports=n},"00ee":function(e,t,i){var n=i("b622"),r=n("toStringTag"),a={};a[r]="z",e.exports="[object z]"===String(a)},"0366":function(e,t,i){var n=i("1c0b");e.exports=function(e,t,i){if(n(e),void 0===t)return e;switch(i){case 0:return function(){return e.call(t)};case 1:return function(i){return e.call(t,i)};case 2:return function(i,n){return e.call(t,i,n)};case 3:return function(i,n,r){return e.call(t,i,n,r)}}return function(){return e.apply(t,arguments)}}},"03d6":function(e,t,i){var n=i("9c0e"),r=i("6ca1"),a=i("39ad")(!1),s=i("5a94")("IE_PROTO");e.exports=function(e,t){var i,o=r(e),c=0,l=[];for(i in o)i!=s&&n(o,i)&&l.push(i);while(t.length>c)n(o,i=t[c++])&&(~a(l,i)||l.push(i));return l}},"051b":function(e,t,i){var n=i("1a14"),r=i("10db");e.exports=i("0bad")?function(e,t,i){return n.f(e,t,r(1,i))}:function(e,t,i){return e[t]=i,e}},"0538":function(e,t,i){"use strict";var n=i("1c0b"),r=i("861d"),a=[].slice,s={},o=function(e,t,i){if(!(t in s)){for(var n=[],r=0;r<t;r++)n[r]="a["+r+"]";s[t]=Function("C,a","return new C("+n.join(",")+")")}return s[t](e,i)};e.exports=Function.bind||function(e){var t=n(this),i=a.call(arguments,1),s=function(){var n=i.concat(a.call(arguments));return this instanceof s?o(t,n.length,n):t.apply(e,n)};return r(t.prototype)&&(s.prototype=t.prototype),s}},"057f":function(e,t,i){var n=i("fc6a"),r=i("241c").f,a={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(e){try{return r(e)}catch(t){return s.slice()}};e.exports.f=function(e){return s&&"[object Window]"==a.call(e)?o(e):r(n(e))}},"05f5":function(e,t,i){var n=i("7a41"),r=i("ef08").document,a=n(r)&&n(r.createElement);e.exports=function(e){return a?r.createElement(e):{}}},"06c5":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));i("a630"),i("fb6a"),i("b0c0"),i("d3b7"),i("25f0"),i("3ca3");function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function r(e,t){if(e){if("string"===typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(e,t):void 0}}},"06cf":function(e,t,i){var n=i("83ab"),r=i("d1e7"),a=i("5c6c"),s=i("fc6a"),o=i("c04e"),c=i("5135"),l=i("0cfb"),u=Object.getOwnPropertyDescriptor;t.f=n?u:function(e,t){if(e=s(e),t=o(t,!0),l)try{return u(e,t)}catch(i){}if(c(e,t))return a(!r.f.call(e,t),e[t])}},"072d":function(e,t,i){"use strict";var n=i("0bad"),r=i("9876"),a=i("fed5"),s=i("1917"),o=i("0983"),c=i("9fbb"),l=Object.assign;e.exports=!l||i("4b8b")((function(){var e={},t={},i=Symbol(),n="abcdefghijklmnopqrst";return e[i]=7,n.split("").forEach((function(e){t[e]=e})),7!=l({},e)[i]||Object.keys(l({},t)).join("")!=n}))?function(e,t){var i=o(e),l=arguments.length,u=1,h=a.f,d=s.f;while(l>u){var f,p=c(arguments[u++]),m=h?r(p).concat(h(p)):r(p),v=m.length,g=0;while(v>g)f=m[g++],n&&!d.call(p,f)||(i[f]=p[f])}return i}:l},"07ac":function(e,t,i){var n=i("23e7"),r=i("6f53").values;n({target:"Object",stat:!0},{values:function(e){return r(e)}})},"0983":function(e,t,i){var n=i("c901");e.exports=function(e){return Object(n(e))}},"0a06":function(e,t,i){"use strict";var n=i("c532"),r=i("30b5"),a=i("f6b4"),s=i("5270"),o=i("4a7b");function c(e){this.defaults=e,this.interceptors={request:new a,response:new a}}c.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=o(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[s,void 0],i=Promise.resolve(e);this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));while(t.length)i=i.then(t.shift(),t.shift());return i},c.prototype.getUri=function(e){return e=o(this.defaults,e),r(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){c.prototype[e]=function(t,i){return this.request(o(i||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){c.prototype[e]=function(t,i,n){return this.request(o(n||{},{method:e,url:t,data:i}))}})),e.exports=c},"0ae2":function(e,t,i){var n=i("9876"),r=i("fed5"),a=i("1917");e.exports=function(e){var t=n(e),i=r.f;if(i){var s,o=i(e),c=a.f,l=0;while(o.length>l)c.call(e,s=o[l++])&&t.push(s)}return t}},"0b25":function(e,t,i){var n=i("a691"),r=i("50c4");e.exports=function(e){if(void 0===e)return 0;var t=n(e),i=r(t);if(t!==i)throw RangeError("Wrong length or index");return i}},"0b99":function(e,t,i){"use strict";var n=i("19fa")(!0);i("393a")(String,"String",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,i=this._i;return i>=t.length?{value:void 0,done:!0}:(e=n(t,i),this._i+=e.length,{value:e,done:!1})}))},"0bad":function(e,t,i){e.exports=!i("4b8b")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"0c47":function(e,t,i){var n=i("da84"),r=i("d44e");r(n.JSON,"JSON",!0)},"0ccb":function(e,t,i){var n=i("50c4"),r=i("1148"),a=i("1d80"),s=Math.ceil,o=function(e){return function(t,i,o){var c,l,u=String(a(t)),h=u.length,d=void 0===o?" ":String(o),f=n(i);return f<=h||""==d?u:(c=f-h,l=r.call(d,s(c/d.length)),l.length>c&&(l=l.slice(0,c)),e?u+l:l+u)}};e.exports={start:o(!1),end:o(!0)}},"0cfb":function(e,t,i){var n=i("83ab"),r=i("d039"),a=i("cc12");e.exports=!n&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},"0d3b":function(e,t,i){var n=i("d039"),r=i("b622"),a=i("c430"),s=r("iterator");e.exports=!n((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,i="";return e.pathname="c%20d",t.forEach((function(e,n){t["delete"]("b"),i+=n+e})),a&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[s]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==i||"x"!==new URL("http://x",void 0).host}))},"0df6":function(e,t,i){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},"0e15":function(e,t,i){var n=i("597f");e.exports=function(e,t,i){return void 0===i?n(e,t,!1):n(e,i,!1!==t)}},"0fae":function(e,t,i){},1098:function(e,t,i){"use strict";t.__esModule=!0;var n=i("17ed"),r=c(n),a=i("f893"),s=c(a),o="function"===typeof s.default&&"symbol"===typeof r.default?function(e){return typeof e}:function(e){return e&&"function"===typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":typeof e};function c(e){return e&&e.__esModule?e:{default:e}}t.default="function"===typeof s.default&&"symbol"===o(r.default)?function(e){return"undefined"===typeof e?"undefined":o(e)}:function(e){return e&&"function"===typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?"symbol":"undefined"===typeof e?"undefined":o(e)}},"10d1":function(e,t,i){"use strict";var n,r=i("da84"),a=i("e2cc"),s=i("f183"),o=i("6d61"),c=i("acac"),l=i("861d"),u=i("69f3").enforce,h=i("7f9a"),d=!r.ActiveXObject&&"ActiveXObject"in r,f=Object.isExtensible,p=function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},m=e.exports=o("WeakMap",p,c);if(h&&d){n=c.getConstructor(p,"WeakMap",!0),s.REQUIRED=!0;var v=m.prototype,g=v["delete"],y=v.has,b=v.get,C=v.set;a(v,{delete:function(e){if(l(e)&&!f(e)){var t=u(this);return t.frozen||(t.frozen=new n),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(l(e)&&!f(e)){var t=u(this);return t.frozen||(t.frozen=new n),y.call(this,e)||t.frozen.has(e)}return y.call(this,e)},get:function(e){if(l(e)&&!f(e)){var t=u(this);return t.frozen||(t.frozen=new n),y.call(this,e)?b.call(this,e):t.frozen.get(e)}return b.call(this,e)},set:function(e,t){if(l(e)&&!f(e)){var i=u(this);i.frozen||(i.frozen=new n),y.call(this,e)?C.call(this,e,t):i.frozen.set(e,t)}else C.call(this,e,t);return this}})}},"10d11":function(e,t){const i=0,n=32,r=16,a=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],s=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];function o(e){const t=[];for(let i=0,n=e.length;i<n;i+=2)t.push(parseInt(e.substr(i,2),16));return t}function c(e){return e.map(e=>(e=e.toString(16),1===e.length?"0"+e:e)).join("")}function l(e){const t=[];for(let i=0,n=e.length;i<n;i++){const n=e.charCodeAt(i);n<=127?t.push(n):n<=2047?(t.push(192|n>>>6),t.push(128|63&n)):(t.push(224|n>>>12),t.push(128|n>>>6&63),t.push(128|63&n))}return t}function u(e){const t=[];for(let i=0,n=e.length;i<n;i++)e[i]>=224&&e[i]<=239?(t.push(String.fromCharCode(((15&e[i])<<12)+((63&e[i+1])<<6)+(63&e[i+2]))),i+=2):e[i]>=192&&e[i]<=223?(t.push(String.fromCharCode(((31&e[i])<<6)+(63&e[i+1]))),i++):t.push(String.fromCharCode(e[i]));return t.join("")}function h(e,t){return e<<t|e>>>32-t}function d(e){return(255&a[e>>>24&255])<<24|(255&a[e>>>16&255])<<16|(255&a[e>>>8&255])<<8|255&a[255&e]}function f(e){return e^h(e,2)^h(e,10)^h(e,18)^h(e,24)}function p(e){return e^h(e,13)^h(e,23)}function m(e,t,i){const n=new Array(4),r=new Array(4);for(let a=0;a<4;a++)r[0]=255&e[0+4*a],r[1]=255&e[1+4*a],r[2]=255&e[2+4*a],r[3]=255&e[3+4*a],n[a]=r[0]<<24|r[1]<<16|r[2]<<8|r[3];for(let a,s=0;s<32;s+=4)a=n[1]^n[2]^n[3]^i[s+0],n[0]^=f(d(a)),a=n[2]^n[3]^n[0]^i[s+1],n[1]^=f(d(a)),a=n[3]^n[0]^n[1]^i[s+2],n[2]^=f(d(a)),a=n[0]^n[1]^n[2]^i[s+3],n[3]^=f(d(a));for(let a=0;a<16;a+=4)t[a]=n[3-a/4]>>>24&255,t[a+1]=n[3-a/4]>>>16&255,t[a+2]=n[3-a/4]>>>8&255,t[a+3]=255&n[3-a/4]}function v(e,t,n){const r=new Array(4),a=new Array(4);for(let i=0;i<4;i++)a[0]=255&e[0+4*i],a[1]=255&e[1+4*i],a[2]=255&e[2+4*i],a[3]=255&e[3+4*i],r[i]=a[0]<<24|a[1]<<16|a[2]<<8|a[3];r[0]^=2746333894,r[1]^=1453994832,r[2]^=1736282519,r[3]^=2993693404;for(let i,o=0;o<32;o+=4)i=r[1]^r[2]^r[3]^s[o+0],t[o+0]=r[0]^=p(d(i)),i=r[2]^r[3]^r[0]^s[o+1],t[o+1]=r[1]^=p(d(i)),i=r[3]^r[0]^r[1]^s[o+2],t[o+2]=r[2]^=p(d(i)),i=r[0]^r[1]^r[2]^s[o+3],t[o+3]=r[3]^=p(d(i));if(n===i)for(let i,s=0;s<16;s++)i=t[s],t[s]=t[31-s],t[31-s]=i}function g(e,t,a,{padding:s="pkcs#5",mode:h,output:d="string"}={}){if("string"===typeof t&&(t=o(t)),16!==t.length)throw new Error("key is invalid");if(e="string"===typeof e?a!==i?l(e):o(e):[...e],"pkcs#5"===s&&a!==i){const t=r-e.length%r;for(let i=0;i<t;i++)e.push(t)}const f=new Array(n);v(t,f,a);const p=[];let g=e.length,y=0;while(g>=r){const t=e.slice(y,y+16),i=new Array(16);m(t,i,f);for(let e=0;e<r;e++)p[y+e]=i[e];g-=r,y+=r}if("pkcs#5"===s&&a===i){const e=p[p.length-1];p.splice(p.length-e,e)}return"array"!==d?a!==i?c(p):u(p):p}e.exports={encrypt(e,t,i){return g(e,t,1,i)},decrypt(e,t,i){return g(e,t,0,i)}}},"10db":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},1148:function(e,t,i){"use strict";var n=i("a691"),r=i("1d80");e.exports="".repeat||function(e){var t=String(r(this)),i="",a=n(e);if(a<0||a==1/0)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(i+=t);return i}},1276:function(e,t,i){"use strict";var n=i("d784"),r=i("44e7"),a=i("825a"),s=i("1d80"),o=i("4840"),c=i("8aa5"),l=i("50c4"),u=i("14c3"),h=i("9263"),d=i("d039"),f=[].push,p=Math.min,m=4294967295,v=!d((function(){return!RegExp(m,"y")}));n("split",2,(function(e,t,i){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,i){var n=String(s(this)),a=void 0===i?m:i>>>0;if(0===a)return[];if(void 0===e)return[n];if(!r(e))return t.call(n,e,a);var o,c,l,u=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),p=0,v=new RegExp(e.source,d+"g");while(o=h.call(v,n)){if(c=v.lastIndex,c>p&&(u.push(n.slice(p,o.index)),o.length>1&&o.index<n.length&&f.apply(u,o.slice(1)),l=o[0].length,p=c,u.length>=a))break;v.lastIndex===o.index&&v.lastIndex++}return p===n.length?!l&&v.test("")||u.push(""):u.push(n.slice(p)),u.length>a?u.slice(0,a):u}:"0".split(void 0,0).length?function(e,i){return void 0===e&&0===i?[]:t.call(this,e,i)}:t,[function(t,i){var r=s(this),a=void 0==t?void 0:t[e];return void 0!==a?a.call(t,r,i):n.call(String(r),t,i)},function(e,r){var s=i(n,e,this,r,n!==t);if(s.done)return s.value;var h=a(e),d=String(this),f=o(h,RegExp),g=h.unicode,y=(h.ignoreCase?"i":"")+(h.multiline?"m":"")+(h.unicode?"u":"")+(v?"y":"g"),b=new f(v?h:"^(?:"+h.source+")",y),C=void 0===r?m:r>>>0;if(0===C)return[];if(0===d.length)return null===u(b,d)?[d]:[];var S=0,x=0,w=[];while(x<d.length){b.lastIndex=v?x:0;var _,A=u(b,v?d:d.slice(x));if(null===A||(_=p(l(b.lastIndex+(v?0:x)),d.length))===S)x=c(d,x,g);else{if(w.push(d.slice(S,x)),w.length===C)return w;for(var E=1;E<=A.length-1;E++)if(w.push(A[E]),w.length===C)return w;x=S=_}}return w.push(d.slice(S)),w}]}),!v)},"12f2":function(e,t,i){"use strict";t.__esModule=!0,t.default=function(e){return{methods:{focus:function(){this.$refs[e].focus()}}}}},"13d5":function(e,t,i){"use strict";var n=i("23e7"),r=i("d58f").left,a=i("a640"),s=i("ae40"),o=a("reduce"),c=s("reduce",{1:0});n({target:"Array",proto:!0,forced:!o||!c},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"143c":function(e,t,i){var n=i("74e8");n("Int32",(function(e){return function(t,i,n){return e(this,t,i,n)}}))},"145e":function(e,t,i){"use strict";var n=i("7b0b"),r=i("23cb"),a=i("50c4"),s=Math.min;e.exports=[].copyWithin||function(e,t){var i=n(this),o=a(i.length),c=r(e,o),l=r(t,o),u=arguments.length>2?arguments[2]:void 0,h=s((void 0===u?o:r(u,o))-l,o-c),d=1;l<c&&c<l+h&&(d=-1,l+=h-1,c+=h-1);while(h-- >0)l in i?i[c]=i[l]:delete i[c],c+=d,l+=d;return i}},"14c3":function(e,t,i){var n=i("c6b6"),r=i("9263");e.exports=function(e,t){var i=e.exec;if("function"===typeof i){var a=i.call(e,t);if("object"!==typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==n(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},"14d8":function(e,t,i){i("2b3d"),i("bf19"),i("9861");var n=i("428f");e.exports=n.URL},"14e9":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=127)}({127:function(e,t,i){"use strict";i.r(t);var n=i(16),r=i(39),a=i.n(r),s=i(3),o=i(2),c={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}};function l(e){var t=e.move,i=e.size,n=e.bar,r={},a="translate"+n.axis+"("+t+"%)";return r[n.size]=i,r.transform=a,r.msTransform=a,r.webkitTransform=a,r}var u={name:"Bar",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return c[this.vertical?"vertical":"horizontal"]},wrap:function(){return this.$parent.wrap}},render:function(e){var t=this.size,i=this.move,n=this.bar;return e("div",{class:["el-scrollbar__bar","is-"+n.key],on:{mousedown:this.clickTrackHandler}},[e("div",{ref:"thumb",class:"el-scrollbar__thumb",on:{mousedown:this.clickThumbHandler},style:l({size:t,move:i,bar:n})})])},methods:{clickThumbHandler:function(e){e.ctrlKey||2===e.button||(this.startDrag(e),this[this.bar.axis]=e.currentTarget[this.bar.offset]-(e[this.bar.client]-e.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(e){var t=Math.abs(e.target.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]),i=this.$refs.thumb[this.bar.offset]/2,n=100*(t-i)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=n*this.wrap[this.bar.scrollSize]/100},startDrag:function(e){e.stopImmediatePropagation(),this.cursorDown=!0,Object(o["on"])(document,"mousemove",this.mouseMoveDocumentHandler),Object(o["on"])(document,"mouseup",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(e){if(!1!==this.cursorDown){var t=this[this.bar.axis];if(t){var i=-1*(this.$el.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]),n=this.$refs.thumb[this.bar.offset]-t,r=100*(i-n)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=r*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(e){this.cursorDown=!1,this[this.bar.axis]=0,Object(o["off"])(document,"mousemove",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){Object(o["off"])(document,"mouseup",this.mouseUpDocumentHandler)}},h={name:"ElScrollbar",components:{Bar:u},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:"div"}},data:function(){return{sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(e){var t=a()(),i=this.wrapStyle;if(t){var n="-"+t+"px",r="margin-bottom: "+n+"; margin-right: "+n+";";Array.isArray(this.wrapStyle)?(i=Object(s["toObject"])(this.wrapStyle),i.marginRight=i.marginBottom=n):"string"===typeof this.wrapStyle?i+=r:i=r}var o=e(this.tag,{class:["el-scrollbar__view",this.viewClass],style:this.viewStyle,ref:"resize"},this.$slots.default),c=e("div",{ref:"wrap",style:i,on:{scroll:this.handleScroll},class:[this.wrapClass,"el-scrollbar__wrap",t?"":"el-scrollbar__wrap--hidden-default"]},[[o]]),l=void 0;return l=this.native?[e("div",{ref:"wrap",class:[this.wrapClass,"el-scrollbar__wrap"],style:i},[[o]])]:[c,e(u,{attrs:{move:this.moveX,size:this.sizeWidth}}),e(u,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],e("div",{class:"el-scrollbar"},l)},methods:{handleScroll:function(){var e=this.wrap;this.moveY=100*e.scrollTop/e.clientHeight,this.moveX=100*e.scrollLeft/e.clientWidth},update:function(){var e=void 0,t=void 0,i=this.wrap;i&&(e=100*i.clientHeight/i.scrollHeight,t=100*i.clientWidth/i.scrollWidth,this.sizeHeight=e<100?e+"%":"",this.sizeWidth=t<100?t+"%":"")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Object(n["addResizeListener"])(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Object(n["removeResizeListener"])(this.$refs.resize,this.update)},install:function(e){e.component(h.name,h)}};t["default"]=h},16:function(e,t){e.exports=i("4010")},2:function(e,t){e.exports=i("5924")},3:function(e,t){e.exports=i("8122")},39:function(e,t){e.exports=i("e62d")}})},"159b":function(e,t,i){var n=i("da84"),r=i("fdbc"),a=i("17c2"),s=i("9112");for(var o in r){var c=n[o],l=c&&c.prototype;if(l&&l.forEach!==a)try{s(l,"forEach",a)}catch(u){l.forEach=a}}},1609:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"170b":function(e,t,i){"use strict";var n=i("ebb5"),r=i("50c4"),a=i("23cb"),s=i("4840"),o=n.aTypedArray,c=n.exportTypedArrayMethod;c("subarray",(function(e,t){var i=o(this),n=i.length,c=a(e,n);return new(s(i,i.constructor))(i.buffer,i.byteOffset+c*i.BYTES_PER_ELEMENT,r((void 0===t?n:a(t,n))-c))}))},"17c2":function(e,t,i){"use strict";var n=i("b727").forEach,r=i("a640"),a=i("ae40"),s=r("forEach"),o=a("forEach");e.exports=s&&o?[].forEach:function(e){return n(this,e,arguments.length>1?arguments[1]:void 0)}},"17ed":function(e,t,i){e.exports={default:i("511f"),__esModule:!0}},"182d":function(e,t,i){var n=i("f8cd");e.exports=function(e,t){var i=n(e);if(i%t)throw RangeError("Wrong offset");return i}},1836:function(e,t,i){var n=i("6ca1"),r=i("6438").f,a={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(e){try{return r(e)}catch(t){return s.slice()}};e.exports.f=function(e){return s&&"[object Window]"==a.call(e)?o(e):r(n(e))}},1917:function(e,t){t.f={}.propertyIsEnumerable},1920:function(e,t,i){i("4d90");var n=i("b109");e.exports=n("String","padStart")},"197b":function(e,t,i){var n=i("746f");n("species")},"19aa":function(e,t){e.exports=function(e,t,i){if(!(e instanceof t))throw TypeError("Incorrect "+(i?i+" ":"")+"invocation");return e}},"19fa":function(e,t,i){var n=i("fc5e"),r=i("c901");e.exports=function(e){return function(t,i){var a,s,o=String(r(t)),c=n(i),l=o.length;return c<0||c>=l?e?"":void 0:(a=o.charCodeAt(c),a<55296||a>56319||c+1===l||(s=o.charCodeAt(c+1))<56320||s>57343?e?o.charAt(c):a:e?o.slice(c,c+2):s-56320+(a-55296<<10)+65536)}}},"1a14":function(e,t,i){var n=i("77e9"),r=i("faf5"),a=i("3397"),s=Object.defineProperty;t.f=i("0bad")?Object.defineProperty:function(e,t,i){if(n(e),t=a(t,!0),n(i),r)try{return s(e,t,i)}catch(o){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[t]=i.value),e}},"1be4":function(e,t,i){var n=i("d066");e.exports=n("document","documentElement")},"1c0b":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},"1c7e":function(e,t,i){var n=i("b622"),r=n("iterator"),a=!1;try{var s=0,o={next:function(){return{done:!!s++}},return:function(){a=!0}};o[r]=function(){return this},Array.from(o,(function(){throw 2}))}catch(c){}e.exports=function(e,t){if(!t&&!a)return!1;var i=!1;try{var n={};n[r]=function(){return{next:function(){return{done:i=!0}}}},e(n)}catch(c){}return i}},"1cd7":function(e,t,i){i("f6d6");var n=i("428f");e.exports=n.String.fromCodePoint},"1cdc":function(e,t,i){var n=i("342f");e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(n)},"1d2b":function(e,t,i){"use strict";e.exports=function(e,t){return function(){for(var i=new Array(arguments.length),n=0;n<i.length;n++)i[n]=arguments[n];return e.apply(t,i)}}},"1d80":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"1da1":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));i("d3b7");function n(e,t,i,n,r,a,s){try{var o=e[a](s),c=o.value}catch(l){return void i(l)}o.done?t(c):Promise.resolve(c).then(n,r)}function r(e){return function(){var t=this,i=arguments;return new Promise((function(r,a){var s=e.apply(t,i);function o(e){n(s,r,a,o,c,"next",e)}function c(e){n(s,r,a,o,c,"throw",e)}o(void 0)}))}}},"1dde":function(e,t,i){var n=i("d039"),r=i("b622"),a=i("2d00"),s=r("species");e.exports=function(e){return a>=51||!n((function(){var t=[],i=t.constructor={};return i[s]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"1f4a":function(e,t,i){i("99af"),i("d3b7"),i("a4d3"),i("b636"),i("e01a"),i("dc8d"),i("efe9"),i("d28b"),i("2a1b"),i("8edd"),i("80e0"),i("6b9e"),i("197b"),i("2351"),i("8172"),i("944a"),i("81b8"),i("23dc"),i("0c47");var n=i("428f");e.exports=n.Symbol},"1fb5":function(e,t,i){"use strict";t.byteLength=u,t.toByteArray=d,t.fromByteArray=m;for(var n=[],r=[],a="undefined"!==typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,c=s.length;o<c;++o)n[o]=s[o],r[s.charCodeAt(o)]=o;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=e.indexOf("=");-1===i&&(i=t);var n=i===t?0:4-i%4;return[i,n]}function u(e){var t=l(e),i=t[0],n=t[1];return 3*(i+n)/4-n}function h(e,t,i){return 3*(t+i)/4-i}function d(e){var t,i,n=l(e),s=n[0],o=n[1],c=new a(h(e,s,o)),u=0,d=o>0?s-4:s;for(i=0;i<d;i+=4)t=r[e.charCodeAt(i)]<<18|r[e.charCodeAt(i+1)]<<12|r[e.charCodeAt(i+2)]<<6|r[e.charCodeAt(i+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===o&&(t=r[e.charCodeAt(i)]<<2|r[e.charCodeAt(i+1)]>>4,c[u++]=255&t),1===o&&(t=r[e.charCodeAt(i)]<<10|r[e.charCodeAt(i+1)]<<4|r[e.charCodeAt(i+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c}function f(e){return n[e>>18&63]+n[e>>12&63]+n[e>>6&63]+n[63&e]}function p(e,t,i){for(var n,r=[],a=t;a<i;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),r.push(f(n));return r.join("")}function m(e){for(var t,i=e.length,r=i%3,a=[],s=16383,o=0,c=i-r;o<c;o+=s)a.push(p(e,o,o+s>c?c:o+s));return 1===r?(t=e[i-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},"1fe2":function(e,t,i){"use strict";var n=i("6d61"),r=i("acac");n("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r)},"219c":function(e,t,i){"use strict";var n=i("ebb5"),r=n.aTypedArray,a=n.exportTypedArrayMethod,s=[].sort;a("sort",(function(e){return s.call(r(this),e)}))},2266:function(e,t,i){var n=i("825a"),r=i("e95a"),a=i("50c4"),s=i("0366"),o=i("35a1"),c=i("9bdd"),l=function(e,t){this.stopped=e,this.result=t},u=e.exports=function(e,t,i,u,h){var d,f,p,m,v,g,y,b=s(t,i,u?2:1);if(h)d=e;else{if(f=o(e),"function"!=typeof f)throw TypeError("Target is not iterable");if(r(f)){for(p=0,m=a(e.length);m>p;p++)if(v=u?b(n(y=e[p])[0],y[1]):b(e[p]),v&&v instanceof l)return v;return new l(!1)}d=f.call(e)}g=d.next;while(!(y=g.call(d)).done)if(v=c(d,b,y.value,u),"object"==typeof v&&v&&v instanceof l)return v;return new l(!1)};u.stop=function(e){return new l(!0,e)}},2351:function(e,t,i){var n=i("746f");n("split")},"23cb":function(e,t,i){var n=i("a691"),r=Math.max,a=Math.min;e.exports=function(e,t){var i=n(e);return i<0?r(i+t,0):a(i,t)}},"23dc":function(e,t,i){var n=i("d44e");n(Math,"Math",!0)},"23e7":function(e,t,i){var n=i("da84"),r=i("06cf").f,a=i("9112"),s=i("6eeb"),o=i("ce4e"),c=i("e893"),l=i("94ca");e.exports=function(e,t){var i,u,h,d,f,p,m=e.target,v=e.global,g=e.stat;if(u=v?n:g?n[m]||o(m,{}):(n[m]||{}).prototype,u)for(h in t){if(f=t[h],e.noTargetGet?(p=r(u,h),d=p&&p.value):d=u[h],i=l(v?h:m+(g?".":"#")+h,e.forced),!i&&void 0!==d){if(typeof f===typeof d)continue;c(f,d)}(e.sham||d&&d.sham)&&a(f,"sham",!0),s(u,h,f,e)}}},2418:function(e,t,i){i("cca6");var n=i("428f");e.exports=n.Object.assign},"241c":function(e,t,i){var n=i("ca84"),r=i("7839"),a=r.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,a)}},2444:function(e,t,i){"use strict";(function(t){var n=i("c532"),r=i("c8af"),a={"Content-Type":"application/x-www-form-urlencoded"};function s(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof t&&"[object process]"===Object.prototype.toString.call(t))&&(e=i("b50d")),e}var c={adapter:o(),transformRequest:[function(e,t){return r(t,"Accept"),r(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(s(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(s(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(e){c.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){c.headers[e]=n.merge(a)})),e.exports=c}).call(this,i("4362"))},2532:function(e,t,i){"use strict";var n=i("23e7"),r=i("5a34"),a=i("1d80"),s=i("ab13");n({target:"String",proto:!0,forced:!s("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:void 0)}})},"25a1":function(e,t,i){"use strict";var n=i("ebb5"),r=i("d58f").right,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}))},"25f0":function(e,t,i){"use strict";var n=i("6eeb"),r=i("825a"),a=i("d039"),s=i("ad6d"),o="toString",c=RegExp.prototype,l=c[o],u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),h=l.name!=o;(u||h)&&n(RegExp.prototype,o,(function(){var e=r(this),t=String(e.source),i=e.flags,n=String(void 0===i&&e instanceof RegExp&&!("flags"in c)?s.call(e):i);return"/"+t+"/"+n}),{unsafe:!0})},2626:function(e,t,i){"use strict";var n=i("d066"),r=i("9bf2"),a=i("b622"),s=i("83ab"),o=a("species");e.exports=function(e){var t=n(e),i=r.f;s&&t&&!t[o]&&i(t,o,{configurable:!0,get:function(){return this}})}},"262e":function(e,t,i){"use strict";function n(e,t){return n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(e,t)}function r(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&n(e,t)}i.d(t,"a",(function(){return r}))},"26dd":function(e,t,i){"use strict";var n=i("6f4f"),r=i("10db"),a=i("92f0"),s={};i("051b")(s,i("cc15")("iterator"),(function(){return this})),e.exports=function(e,t,i){e.prototype=n(s,{next:r(1,i)}),a(e,t+" Iterator")}},2877:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},2954:function(e,t,i){"use strict";var n=i("ebb5"),r=i("4840"),a=i("d039"),s=n.aTypedArray,o=n.aTypedArrayConstructor,c=n.exportTypedArrayMethod,l=[].slice,u=a((function(){new Int8Array(1).slice()}));c("slice",(function(e,t){var i=l.call(s(this),e,t),n=r(this,this.constructor),a=0,c=i.length,u=new(o(n))(c);while(c>a)u[a]=i[a++];return u}),u)},"299c":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=131)}({131:function(e,t,i){"use strict";i.r(t);var n=i(5),r=i.n(n),a=i(17),s=i.n(a),o=i(2),c=i(3),l=i(7),u=i.n(l),h={name:"ElTooltip",mixins:[r.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+Object(c["generateId"])(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var e=this;this.$isServer||(this.popperVM=new u.a({data:{node:""},render:function(e){return this.node}}).$mount(),this.debounceClose=s()(200,(function(){return e.handleClosePopper()})))},render:function(e){var t=this;this.popperVM&&(this.popperVM.node=e("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[e("div",{on:{mouseleave:function(){t.setExpectedState(!1),t.debounceClose()},mouseenter:function(){t.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var i=this.getFirstElement();if(!i)return null;var n=i.data=i.data||{};return n.staticClass=this.addTooltipClass(n.staticClass),i},mounted:function(){var e=this;this.referenceElm=this.$el,1===this.$el.nodeType&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),Object(o["on"])(this.referenceElm,"mouseenter",this.show),Object(o["on"])(this.referenceElm,"mouseleave",this.hide),Object(o["on"])(this.referenceElm,"focus",(function(){if(e.$slots.default&&e.$slots.default.length){var t=e.$slots.default[0].componentInstance;t&&t.focus?t.focus():e.handleFocus()}else e.handleFocus()})),Object(o["on"])(this.referenceElm,"blur",this.handleBlur),Object(o["on"])(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick((function(){e.value&&e.updatePopper()}))},watch:{focusing:function(e){e?Object(o["addClass"])(this.referenceElm,"focusing"):Object(o["removeClass"])(this.referenceElm,"focusing")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(e){return e?"el-tooltip "+e.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var e=this;this.expectedState&&!this.manual&&(clearTimeout(this.timeout),this.timeout=setTimeout((function(){e.showPopper=!0}),this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout((function(){e.showPopper=!1}),this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(e){!1===e&&clearTimeout(this.timeoutPending),this.expectedState=e},getFirstElement:function(){var e=this.$slots.default;if(!Array.isArray(e))return null;for(var t=null,i=0;i<e.length;i++)e[i]&&e[i].tag&&(t=e[i]);return t}},beforeDestroy:function(){this.popperVM&&this.popperVM.$destroy()},destroyed:function(){var e=this.referenceElm;1===e.nodeType&&(Object(o["off"])(e,"mouseenter",this.show),Object(o["off"])(e,"mouseleave",this.hide),Object(o["off"])(e,"focus",this.handleFocus),Object(o["off"])(e,"blur",this.handleBlur),Object(o["off"])(e,"click",this.removeFocusing))},install:function(e){e.component(h.name,h)}};t["default"]=h},17:function(e,t){e.exports=i("0e15")},2:function(e,t){e.exports=i("5924")},3:function(e,t){e.exports=i("8122")},5:function(e,t){e.exports=i("e974")},7:function(e,t){e.exports=i("2b0e")}})},"2a1b":function(e,t,i){var n=i("746f");n("match")},"2a5e":function(e,t,i){"use strict";t.__esModule=!0,t.default=s;var n=i("2b0e"),r=a(n);function a(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!r.default.prototype.$isServer)if(t){var i=[],n=t.offsetParent;while(n&&e!==n&&e.contains(n))i.push(n),n=n.offsetParent;var a=t.offsetTop+i.reduce((function(e,t){return e+t.offsetTop}),0),s=a+t.offsetHeight,o=e.scrollTop,c=o+e.clientHeight;a<o?e.scrollTop=a:s>c&&(e.scrollTop=s-e.clientHeight)}else e.scrollTop=0}},"2b0e":function(e,t,i){"use strict";i.r(t),function(e){
-
-var i=Object.freeze({});function n(e){return void 0===e||null===e}function r(e){return void 0!==e&&null!==e}function a(e){return!0===e}function s(e){return!1===e}function o(e){return"string"===typeof e||"number"===typeof e||"symbol"===typeof e||"boolean"===typeof e}function c(e){return null!==e&&"object"===typeof e}var l=Object.prototype.toString;function u(e){return"[object Object]"===l.call(e)}function h(e){return"[object RegExp]"===l.call(e)}function d(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function f(e){return r(e)&&"function"===typeof e.then&&"function"===typeof e.catch}function p(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===l?JSON.stringify(e,null,2):String(e)}function m(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var i=Object.create(null),n=e.split(","),r=0;r<n.length;r++)i[n[r]]=!0;return t?function(e){return i[e.toLowerCase()]}:function(e){return i[e]}}v("slot,component",!0);var g=v("key,ref,slot,slot-scope,is");function y(e,t){if(e.length){var i=e.indexOf(t);if(i>-1)return e.splice(i,1)}}var b=Object.prototype.hasOwnProperty;function C(e,t){return b.call(e,t)}function S(e){var t=Object.create(null);return function(i){var n=t[i];return n||(t[i]=e(i))}}var x=/-(\w)/g,w=S((function(e){return e.replace(x,(function(e,t){return t?t.toUpperCase():""}))})),_=S((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),A=/\B([A-Z])/g,E=S((function(e){return e.replace(A,"-$1").toLowerCase()}));function k(e,t){function i(i){var n=arguments.length;return n?n>1?e.apply(t,arguments):e.call(t,i):e.call(t)}return i._length=e.length,i}function M(e,t){return e.bind(t)}var z=Function.prototype.bind?M:k;function T(e,t){t=t||0;var i=e.length-t,n=new Array(i);while(i--)n[i]=e[i+t];return n}function I(e,t){for(var i in t)e[i]=t[i];return e}function N(e){for(var t={},i=0;i<e.length;i++)e[i]&&I(t,e[i]);return t}function D(e,t,i){}var P=function(e,t,i){return!1},O=function(e){return e};function H(e,t){if(e===t)return!0;var i=c(e),n=c(t);if(!i||!n)return!i&&!n&&String(e)===String(t);try{var r=Array.isArray(e),a=Array.isArray(t);if(r&&a)return e.length===t.length&&e.every((function(e,i){return H(e,t[i])}));if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(r||a)return!1;var s=Object.keys(e),o=Object.keys(t);return s.length===o.length&&s.every((function(i){return H(e[i],t[i])}))}catch(l){return!1}}function F(e,t){for(var i=0;i<e.length;i++)if(H(e[i],t))return i;return-1}function L(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var V="data-server-rendered",R=["component","directive","filter"],B=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],j={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:P,isReservedAttr:P,isUnknownElement:P,getTagNamespace:D,parsePlatformTagName:O,mustUseProp:P,async:!0,_lifecycleHooks:B},$=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function K(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function q(e,t,i,n){Object.defineProperty(e,t,{value:i,enumerable:!!n,writable:!0,configurable:!0})}var U=new RegExp("[^"+$.source+".$_\\d]");function W(e){if(!U.test(e)){var t=e.split(".");return function(e){for(var i=0;i<t.length;i++){if(!e)return;e=e[t[i]]}return e}}}var X,G="__proto__"in{},Y="undefined"!==typeof window,Z="undefined"!==typeof WXEnvironment&&!!WXEnvironment.platform,J=Z&&WXEnvironment.platform.toLowerCase(),Q=Y&&window.navigator.userAgent.toLowerCase(),ee=Q&&/msie|trident/.test(Q),te=Q&&Q.indexOf("msie 9.0")>0,ie=Q&&Q.indexOf("edge/")>0,ne=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===J),re=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),ae={}.watch,se=!1;if(Y)try{var oe={};Object.defineProperty(oe,"passive",{get:function(){se=!0}}),window.addEventListener("test-passive",null,oe)}catch(xs){}var ce=function(){return void 0===X&&(X=!Y&&!Z&&"undefined"!==typeof e&&(e["process"]&&"server"===e["process"].env.VUE_ENV)),X},le=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ue(e){return"function"===typeof e&&/native code/.test(e.toString())}var he,de="undefined"!==typeof Symbol&&ue(Symbol)&&"undefined"!==typeof Reflect&&ue(Reflect.ownKeys);he="undefined"!==typeof Set&&ue(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var fe=D,pe=0,me=function(){this.id=pe++,this.subs=[]};me.prototype.addSub=function(e){this.subs.push(e)},me.prototype.removeSub=function(e){y(this.subs,e)},me.prototype.depend=function(){me.target&&me.target.addDep(this)},me.prototype.notify=function(){var e=this.subs.slice();for(var t=0,i=e.length;t<i;t++)e[t].update()},me.target=null;var ve=[];function ge(e){ve.push(e),me.target=e}function ye(){ve.pop(),me.target=ve[ve.length-1]}var be=function(e,t,i,n,r,a,s,o){this.tag=e,this.data=t,this.children=i,this.text=n,this.elm=r,this.ns=void 0,this.context=a,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=o,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},Ce={child:{configurable:!0}};Ce.child.get=function(){return this.componentInstance},Object.defineProperties(be.prototype,Ce);var Se=function(e){void 0===e&&(e="");var t=new be;return t.text=e,t.isComment=!0,t};function xe(e){return new be(void 0,void 0,void 0,String(e))}function we(e){var t=new be(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var _e=Array.prototype,Ae=Object.create(_e),Ee=["push","pop","shift","unshift","splice","sort","reverse"];Ee.forEach((function(e){var t=_e[e];q(Ae,e,(function(){var i=[],n=arguments.length;while(n--)i[n]=arguments[n];var r,a=t.apply(this,i),s=this.__ob__;switch(e){case"push":case"unshift":r=i;break;case"splice":r=i.slice(2);break}return r&&s.observeArray(r),s.dep.notify(),a}))}));var ke=Object.getOwnPropertyNames(Ae),Me=!0;function ze(e){Me=e}var Te=function(e){this.value=e,this.dep=new me,this.vmCount=0,q(e,"__ob__",this),Array.isArray(e)?(G?Ie(e,Ae):Ne(e,Ae,ke),this.observeArray(e)):this.walk(e)};function Ie(e,t){e.__proto__=t}function Ne(e,t,i){for(var n=0,r=i.length;n<r;n++){var a=i[n];q(e,a,t[a])}}function De(e,t){var i;if(c(e)&&!(e instanceof be))return C(e,"__ob__")&&e.__ob__ instanceof Te?i=e.__ob__:Me&&!ce()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&(i=new Te(e)),t&&i&&i.vmCount++,i}function Pe(e,t,i,n,r){var a=new me,s=Object.getOwnPropertyDescriptor(e,t);if(!s||!1!==s.configurable){var o=s&&s.get,c=s&&s.set;o&&!c||2!==arguments.length||(i=e[t]);var l=!r&&De(i);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=o?o.call(e):i;return me.target&&(a.depend(),l&&(l.dep.depend(),Array.isArray(t)&&Fe(t))),t},set:function(t){var n=o?o.call(e):i;t===n||t!==t&&n!==n||o&&!c||(c?c.call(e,t):i=t,l=!r&&De(t),a.notify())}})}}function Oe(e,t,i){if(Array.isArray(e)&&d(t))return e.length=Math.max(e.length,t),e.splice(t,1,i),i;if(t in e&&!(t in Object.prototype))return e[t]=i,i;var n=e.__ob__;return e._isVue||n&&n.vmCount?i:n?(Pe(n.value,t,i),n.dep.notify(),i):(e[t]=i,i)}function He(e,t){if(Array.isArray(e)&&d(t))e.splice(t,1);else{var i=e.__ob__;e._isVue||i&&i.vmCount||C(e,t)&&(delete e[t],i&&i.dep.notify())}}function Fe(e){for(var t=void 0,i=0,n=e.length;i<n;i++)t=e[i],t&&t.__ob__&&t.__ob__.dep.depend(),Array.isArray(t)&&Fe(t)}Te.prototype.walk=function(e){for(var t=Object.keys(e),i=0;i<t.length;i++)Pe(e,t[i])},Te.prototype.observeArray=function(e){for(var t=0,i=e.length;t<i;t++)De(e[t])};var Le=j.optionMergeStrategies;function Ve(e,t){if(!t)return e;for(var i,n,r,a=de?Reflect.ownKeys(t):Object.keys(t),s=0;s<a.length;s++)i=a[s],"__ob__"!==i&&(n=e[i],r=t[i],C(e,i)?n!==r&&u(n)&&u(r)&&Ve(n,r):Oe(e,i,r));return e}function Re(e,t,i){return i?function(){var n="function"===typeof t?t.call(i,i):t,r="function"===typeof e?e.call(i,i):e;return n?Ve(n,r):r}:t?e?function(){return Ve("function"===typeof t?t.call(this,this):t,"function"===typeof e?e.call(this,this):e)}:t:e}function Be(e,t){var i=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return i?je(i):i}function je(e){for(var t=[],i=0;i<e.length;i++)-1===t.indexOf(e[i])&&t.push(e[i]);return t}function $e(e,t,i,n){var r=Object.create(e||null);return t?I(r,t):r}Le.data=function(e,t,i){return i?Re(e,t,i):t&&"function"!==typeof t?e:Re(e,t)},B.forEach((function(e){Le[e]=Be})),R.forEach((function(e){Le[e+"s"]=$e})),Le.watch=function(e,t,i,n){if(e===ae&&(e=void 0),t===ae&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var r={};for(var a in I(r,e),t){var s=r[a],o=t[a];s&&!Array.isArray(s)&&(s=[s]),r[a]=s?s.concat(o):Array.isArray(o)?o:[o]}return r},Le.props=Le.methods=Le.inject=Le.computed=function(e,t,i,n){if(!e)return t;var r=Object.create(null);return I(r,e),t&&I(r,t),r},Le.provide=Re;var Ke=function(e,t){return void 0===t?e:t};function qe(e,t){var i=e.props;if(i){var n,r,a,s={};if(Array.isArray(i)){n=i.length;while(n--)r=i[n],"string"===typeof r&&(a=w(r),s[a]={type:null})}else if(u(i))for(var o in i)r=i[o],a=w(o),s[a]=u(r)?r:{type:r};else 0;e.props=s}}function Ue(e,t){var i=e.inject;if(i){var n=e.inject={};if(Array.isArray(i))for(var r=0;r<i.length;r++)n[i[r]]={from:i[r]};else if(u(i))for(var a in i){var s=i[a];n[a]=u(s)?I({from:a},s):{from:s}}else 0}}function We(e){var t=e.directives;if(t)for(var i in t){var n=t[i];"function"===typeof n&&(t[i]={bind:n,update:n})}}function Xe(e,t,i){if("function"===typeof t&&(t=t.options),qe(t,i),Ue(t,i),We(t),!t._base&&(t.extends&&(e=Xe(e,t.extends,i)),t.mixins))for(var n=0,r=t.mixins.length;n<r;n++)e=Xe(e,t.mixins[n],i);var a,s={};for(a in e)o(a);for(a in t)C(e,a)||o(a);function o(n){var r=Le[n]||Ke;s[n]=r(e[n],t[n],i,n)}return s}function Ge(e,t,i,n){if("string"===typeof i){var r=e[t];if(C(r,i))return r[i];var a=w(i);if(C(r,a))return r[a];var s=_(a);if(C(r,s))return r[s];var o=r[i]||r[a]||r[s];return o}}function Ye(e,t,i,n){var r=t[e],a=!C(i,e),s=i[e],o=et(Boolean,r.type);if(o>-1)if(a&&!C(r,"default"))s=!1;else if(""===s||s===E(e)){var c=et(String,r.type);(c<0||o<c)&&(s=!0)}if(void 0===s){s=Ze(n,r,e);var l=Me;ze(!0),De(s),ze(l)}return s}function Ze(e,t,i){if(C(t,"default")){var n=t.default;return e&&e.$options.propsData&&void 0===e.$options.propsData[i]&&void 0!==e._props[i]?e._props[i]:"function"===typeof n&&"Function"!==Je(t.type)?n.call(e):n}}function Je(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function Qe(e,t){return Je(e)===Je(t)}function et(e,t){if(!Array.isArray(t))return Qe(t,e)?0:-1;for(var i=0,n=t.length;i<n;i++)if(Qe(t[i],e))return i;return-1}function tt(e,t,i){ge();try{if(t){var n=t;while(n=n.$parent){var r=n.$options.errorCaptured;if(r)for(var a=0;a<r.length;a++)try{var s=!1===r[a].call(n,e,t,i);if(s)return}catch(xs){nt(xs,n,"errorCaptured hook")}}}nt(e,t,i)}finally{ye()}}function it(e,t,i,n,r){var a;try{a=i?e.apply(t,i):e.call(t),a&&!a._isVue&&f(a)&&!a._handled&&(a.catch((function(e){return tt(e,n,r+" (Promise/async)")})),a._handled=!0)}catch(xs){tt(xs,n,r)}return a}function nt(e,t,i){if(j.errorHandler)try{return j.errorHandler.call(null,e,t,i)}catch(xs){xs!==e&&rt(xs,null,"config.errorHandler")}rt(e,t,i)}function rt(e,t,i){if(!Y&&!Z||"undefined"===typeof console)throw e;console.error(e)}var at,st=!1,ot=[],ct=!1;function lt(){ct=!1;var e=ot.slice(0);ot.length=0;for(var t=0;t<e.length;t++)e[t]()}if("undefined"!==typeof Promise&&ue(Promise)){var ut=Promise.resolve();at=function(){ut.then(lt),ne&&setTimeout(D)},st=!0}else if(ee||"undefined"===typeof MutationObserver||!ue(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())at="undefined"!==typeof setImmediate&&ue(setImmediate)?function(){setImmediate(lt)}:function(){setTimeout(lt,0)};else{var ht=1,dt=new MutationObserver(lt),ft=document.createTextNode(String(ht));dt.observe(ft,{characterData:!0}),at=function(){ht=(ht+1)%2,ft.data=String(ht)},st=!0}function pt(e,t){var i;if(ot.push((function(){if(e)try{e.call(t)}catch(xs){tt(xs,t,"nextTick")}else i&&i(t)})),ct||(ct=!0,at()),!e&&"undefined"!==typeof Promise)return new Promise((function(e){i=e}))}var mt=new he;function vt(e){gt(e,mt),mt.clear()}function gt(e,t){var i,n,r=Array.isArray(e);if(!(!r&&!c(e)||Object.isFrozen(e)||e instanceof be)){if(e.__ob__){var a=e.__ob__.dep.id;if(t.has(a))return;t.add(a)}if(r){i=e.length;while(i--)gt(e[i],t)}else{n=Object.keys(e),i=n.length;while(i--)gt(e[n[i]],t)}}}var yt=S((function(e){var t="&"===e.charAt(0);e=t?e.slice(1):e;var i="~"===e.charAt(0);e=i?e.slice(1):e;var n="!"===e.charAt(0);return e=n?e.slice(1):e,{name:e,once:i,capture:n,passive:t}}));function bt(e,t){function i(){var e=arguments,n=i.fns;if(!Array.isArray(n))return it(n,null,arguments,t,"v-on handler");for(var r=n.slice(),a=0;a<r.length;a++)it(r[a],null,e,t,"v-on handler")}return i.fns=e,i}function Ct(e,t,i,r,s,o){var c,l,u,h;for(c in e)l=e[c],u=t[c],h=yt(c),n(l)||(n(u)?(n(l.fns)&&(l=e[c]=bt(l,o)),a(h.once)&&(l=e[c]=s(h.name,l,h.capture)),i(h.name,l,h.capture,h.passive,h.params)):l!==u&&(u.fns=l,e[c]=u));for(c in t)n(e[c])&&(h=yt(c),r(h.name,t[c],h.capture))}function St(e,t,i){var s;e instanceof be&&(e=e.data.hook||(e.data.hook={}));var o=e[t];function c(){i.apply(this,arguments),y(s.fns,c)}n(o)?s=bt([c]):r(o.fns)&&a(o.merged)?(s=o,s.fns.push(c)):s=bt([o,c]),s.merged=!0,e[t]=s}function xt(e,t,i){var a=t.options.props;if(!n(a)){var s={},o=e.attrs,c=e.props;if(r(o)||r(c))for(var l in a){var u=E(l);wt(s,c,l,u,!0)||wt(s,o,l,u,!1)}return s}}function wt(e,t,i,n,a){if(r(t)){if(C(t,i))return e[i]=t[i],a||delete t[i],!0;if(C(t,n))return e[i]=t[n],a||delete t[n],!0}return!1}function _t(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}function At(e){return o(e)?[xe(e)]:Array.isArray(e)?kt(e):void 0}function Et(e){return r(e)&&r(e.text)&&s(e.isComment)}function kt(e,t){var i,s,c,l,u=[];for(i=0;i<e.length;i++)s=e[i],n(s)||"boolean"===typeof s||(c=u.length-1,l=u[c],Array.isArray(s)?s.length>0&&(s=kt(s,(t||"")+"_"+i),Et(s[0])&&Et(l)&&(u[c]=xe(l.text+s[0].text),s.shift()),u.push.apply(u,s)):o(s)?Et(l)?u[c]=xe(l.text+s):""!==s&&u.push(xe(s)):Et(s)&&Et(l)?u[c]=xe(l.text+s.text):(a(e._isVList)&&r(s.tag)&&n(s.key)&&r(t)&&(s.key="__vlist"+t+"_"+i+"__"),u.push(s)));return u}function Mt(e){var t=e.$options.provide;t&&(e._provided="function"===typeof t?t.call(e):t)}function zt(e){var t=Tt(e.$options.inject,e);t&&(ze(!1),Object.keys(t).forEach((function(i){Pe(e,i,t[i])})),ze(!0))}function Tt(e,t){if(e){for(var i=Object.create(null),n=de?Reflect.ownKeys(e):Object.keys(e),r=0;r<n.length;r++){var a=n[r];if("__ob__"!==a){var s=e[a].from,o=t;while(o){if(o._provided&&C(o._provided,s)){i[a]=o._provided[s];break}o=o.$parent}if(!o)if("default"in e[a]){var c=e[a].default;i[a]="function"===typeof c?c.call(t):c}else 0}}return i}}function It(e,t){if(!e||!e.length)return{};for(var i={},n=0,r=e.length;n<r;n++){var a=e[n],s=a.data;if(s&&s.attrs&&s.attrs.slot&&delete s.attrs.slot,a.context!==t&&a.fnContext!==t||!s||null==s.slot)(i.default||(i.default=[])).push(a);else{var o=s.slot,c=i[o]||(i[o]=[]);"template"===a.tag?c.push.apply(c,a.children||[]):c.push(a)}}for(var l in i)i[l].every(Nt)&&delete i[l];return i}function Nt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function Dt(e,t,n){var r,a=Object.keys(t).length>0,s=e?!!e.$stable:!a,o=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&n&&n!==i&&o===n.$key&&!a&&!n.$hasNormal)return n;for(var c in r={},e)e[c]&&"$"!==c[0]&&(r[c]=Pt(t,c,e[c]))}else r={};for(var l in t)l in r||(r[l]=Ot(t,l));return e&&Object.isExtensible(e)&&(e._normalized=r),q(r,"$stable",s),q(r,"$key",o),q(r,"$hasNormal",a),r}function Pt(e,t,i){var n=function(){var e=arguments.length?i.apply(null,arguments):i({});return e=e&&"object"===typeof e&&!Array.isArray(e)?[e]:At(e),e&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return i.proxy&&Object.defineProperty(e,t,{get:n,enumerable:!0,configurable:!0}),n}function Ot(e,t){return function(){return e[t]}}function Ht(e,t){var i,n,a,s,o;if(Array.isArray(e)||"string"===typeof e)for(i=new Array(e.length),n=0,a=e.length;n<a;n++)i[n]=t(e[n],n);else if("number"===typeof e)for(i=new Array(e),n=0;n<e;n++)i[n]=t(n+1,n);else if(c(e))if(de&&e[Symbol.iterator]){i=[];var l=e[Symbol.iterator](),u=l.next();while(!u.done)i.push(t(u.value,i.length)),u=l.next()}else for(s=Object.keys(e),i=new Array(s.length),n=0,a=s.length;n<a;n++)o=s[n],i[n]=t(e[o],o,n);return r(i)||(i=[]),i._isVList=!0,i}function Ft(e,t,i,n){var r,a=this.$scopedSlots[e];a?(i=i||{},n&&(i=I(I({},n),i)),r=a(i)||t):r=this.$slots[e]||t;var s=i&&i.slot;return s?this.$createElement("template",{slot:s},r):r}function Lt(e){return Ge(this.$options,"filters",e,!0)||O}function Vt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function Rt(e,t,i,n,r){var a=j.keyCodes[t]||i;return r&&n&&!j.keyCodes[t]?Vt(r,n):a?Vt(a,e):n?E(n)!==t:void 0}function Bt(e,t,i,n,r){if(i)if(c(i)){var a;Array.isArray(i)&&(i=N(i));var s=function(s){if("class"===s||"style"===s||g(s))a=e;else{var o=e.attrs&&e.attrs.type;a=n||j.mustUseProp(t,o,s)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var c=w(s),l=E(s);if(!(c in a)&&!(l in a)&&(a[s]=i[s],r)){var u=e.on||(e.on={});u["update:"+s]=function(e){i[s]=e}}};for(var o in i)s(o)}else;return e}function jt(e,t){var i=this._staticTrees||(this._staticTrees=[]),n=i[e];return n&&!t||(n=i[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),Kt(n,"__static__"+e,!1)),n}function $t(e,t,i){return Kt(e,"__once__"+t+(i?"_"+i:""),!0),e}function Kt(e,t,i){if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]&&"string"!==typeof e[n]&&qt(e[n],t+"_"+n,i);else qt(e,t,i)}function qt(e,t,i){e.isStatic=!0,e.key=t,e.isOnce=i}function Ut(e,t){if(t)if(u(t)){var i=e.on=e.on?I({},e.on):{};for(var n in t){var r=i[n],a=t[n];i[n]=r?[].concat(r,a):a}}else;return e}function Wt(e,t,i,n){t=t||{$stable:!i};for(var r=0;r<e.length;r++){var a=e[r];Array.isArray(a)?Wt(a,t,i):a&&(a.proxy&&(a.fn.proxy=!0),t[a.key]=a.fn)}return n&&(t.$key=n),t}function Xt(e,t){for(var i=0;i<t.length;i+=2){var n=t[i];"string"===typeof n&&n&&(e[t[i]]=t[i+1])}return e}function Gt(e,t){return"string"===typeof e?t+e:e}function Yt(e){e._o=$t,e._n=m,e._s=p,e._l=Ht,e._t=Ft,e._q=H,e._i=F,e._m=jt,e._f=Lt,e._k=Rt,e._b=Bt,e._v=xe,e._e=Se,e._u=Wt,e._g=Ut,e._d=Xt,e._p=Gt}function Zt(e,t,n,r,s){var o,c=this,l=s.options;C(r,"_uid")?(o=Object.create(r),o._original=r):(o=r,r=r._original);var u=a(l._compiled),h=!u;this.data=e,this.props=t,this.children=n,this.parent=r,this.listeners=e.on||i,this.injections=Tt(l.inject,r),this.slots=function(){return c.$slots||Dt(e.scopedSlots,c.$slots=It(n,r)),c.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Dt(e.scopedSlots,this.slots())}}),u&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=Dt(e.scopedSlots,this.$slots)),l._scopeId?this._c=function(e,t,i,n){var a=ui(o,e,t,i,n,h);return a&&!Array.isArray(a)&&(a.fnScopeId=l._scopeId,a.fnContext=r),a}:this._c=function(e,t,i,n){return ui(o,e,t,i,n,h)}}function Jt(e,t,n,a,s){var o=e.options,c={},l=o.props;if(r(l))for(var u in l)c[u]=Ye(u,l,t||i);else r(n.attrs)&&ei(c,n.attrs),r(n.props)&&ei(c,n.props);var h=new Zt(n,c,s,a,e),d=o.render.call(null,h._c,h);if(d instanceof be)return Qt(d,n,h.parent,o,h);if(Array.isArray(d)){for(var f=At(d)||[],p=new Array(f.length),m=0;m<f.length;m++)p[m]=Qt(f[m],n,h.parent,o,h);return p}}function Qt(e,t,i,n,r){var a=we(e);return a.fnContext=i,a.fnOptions=n,t.slot&&((a.data||(a.data={})).slot=t.slot),a}function ei(e,t){for(var i in t)e[w(i)]=t[i]}Yt(Zt.prototype);var ti={init:function(e,t){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var i=e;ti.prepatch(i,i)}else{var n=e.componentInstance=ri(e,zi);n.$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var i=t.componentOptions,n=t.componentInstance=e.componentInstance;Pi(n,i.propsData,i.listeners,t,i.children)},insert:function(e){var t=e.context,i=e.componentInstance;i._isMounted||(i._isMounted=!0,Li(i,"mounted")),e.data.keepAlive&&(t._isMounted?Zi(i):Hi(i,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?Fi(t,!0):t.$destroy())}},ii=Object.keys(ti);function ni(e,t,i,s,o){if(!n(e)){var l=i.$options._base;if(c(e)&&(e=l.extend(e)),"function"===typeof e){var u;if(n(e.cid)&&(u=e,e=Ci(u,l),void 0===e))return bi(u,t,i,s,o);t=t||{},Sn(e),r(t.model)&&oi(e.options,t);var h=xt(t,e,o);if(a(e.options.functional))return Jt(e,h,t,i,s);var d=t.on;if(t.on=t.nativeOn,a(e.options.abstract)){var f=t.slot;t={},f&&(t.slot=f)}ai(t);var p=e.options.name||o,m=new be("vue-component-"+e.cid+(p?"-"+p:""),t,void 0,void 0,void 0,i,{Ctor:e,propsData:h,listeners:d,tag:o,children:s},u);return m}}}function ri(e,t){var i={_isComponent:!0,_parentVnode:e,parent:t},n=e.data.inlineTemplate;return r(n)&&(i.render=n.render,i.staticRenderFns=n.staticRenderFns),new e.componentOptions.Ctor(i)}function ai(e){for(var t=e.hook||(e.hook={}),i=0;i<ii.length;i++){var n=ii[i],r=t[n],a=ti[n];r===a||r&&r._merged||(t[n]=r?si(a,r):a)}}function si(e,t){var i=function(i,n){e(i,n),t(i,n)};return i._merged=!0,i}function oi(e,t){var i=e.model&&e.model.prop||"value",n=e.model&&e.model.event||"input";(t.attrs||(t.attrs={}))[i]=t.model.value;var a=t.on||(t.on={}),s=a[n],o=t.model.callback;r(s)?(Array.isArray(s)?-1===s.indexOf(o):s!==o)&&(a[n]=[o].concat(s)):a[n]=o}var ci=1,li=2;function ui(e,t,i,n,r,s){return(Array.isArray(i)||o(i))&&(r=n,n=i,i=void 0),a(s)&&(r=li),hi(e,t,i,n,r)}function hi(e,t,i,n,a){if(r(i)&&r(i.__ob__))return Se();if(r(i)&&r(i.is)&&(t=i.is),!t)return Se();var s,o,c;(Array.isArray(n)&&"function"===typeof n[0]&&(i=i||{},i.scopedSlots={default:n[0]},n.length=0),a===li?n=At(n):a===ci&&(n=_t(n)),"string"===typeof t)?(o=e.$vnode&&e.$vnode.ns||j.getTagNamespace(t),s=j.isReservedTag(t)?new be(j.parsePlatformTagName(t),i,n,void 0,void 0,e):i&&i.pre||!r(c=Ge(e.$options,"components",t))?new be(t,i,n,void 0,void 0,e):ni(c,i,e,n,t)):s=ni(t,i,e,n);return Array.isArray(s)?s:r(s)?(r(o)&&di(s,o),r(i)&&fi(i),s):Se()}function di(e,t,i){if(e.ns=t,"foreignObject"===e.tag&&(t=void 0,i=!0),r(e.children))for(var s=0,o=e.children.length;s<o;s++){var c=e.children[s];r(c.tag)&&(n(c.ns)||a(i)&&"svg"!==c.tag)&&di(c,t,i)}}function fi(e){c(e.style)&&vt(e.style),c(e.class)&&vt(e.class)}function pi(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=It(t._renderChildren,r),e.$scopedSlots=i,e._c=function(t,i,n,r){return ui(e,t,i,n,r,!1)},e.$createElement=function(t,i,n,r){return ui(e,t,i,n,r,!0)};var a=n&&n.data;Pe(e,"$attrs",a&&a.attrs||i,null,!0),Pe(e,"$listeners",t._parentListeners||i,null,!0)}var mi,vi=null;function gi(e){Yt(e.prototype),e.prototype.$nextTick=function(e){return pt(e,this)},e.prototype._render=function(){var e,t=this,i=t.$options,n=i.render,r=i._parentVnode;r&&(t.$scopedSlots=Dt(r.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=r;try{vi=t,e=n.call(t._renderProxy,t.$createElement)}catch(xs){tt(xs,t,"render"),e=t._vnode}finally{vi=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof be||(e=Se()),e.parent=r,e}}function yi(e,t){return(e.__esModule||de&&"Module"===e[Symbol.toStringTag])&&(e=e.default),c(e)?t.extend(e):e}function bi(e,t,i,n,r){var a=Se();return a.asyncFactory=e,a.asyncMeta={data:t,context:i,children:n,tag:r},a}function Ci(e,t){if(a(e.error)&&r(e.errorComp))return e.errorComp;if(r(e.resolved))return e.resolved;var i=vi;if(i&&r(e.owners)&&-1===e.owners.indexOf(i)&&e.owners.push(i),a(e.loading)&&r(e.loadingComp))return e.loadingComp;if(i&&!r(e.owners)){var s=e.owners=[i],o=!0,l=null,u=null;i.$on("hook:destroyed",(function(){return y(s,i)}));var h=function(e){for(var t=0,i=s.length;t<i;t++)s[t].$forceUpdate();e&&(s.length=0,null!==l&&(clearTimeout(l),l=null),null!==u&&(clearTimeout(u),u=null))},d=L((function(i){e.resolved=yi(i,t),o?s.length=0:h(!0)})),p=L((function(t){r(e.errorComp)&&(e.error=!0,h(!0))})),m=e(d,p);return c(m)&&(f(m)?n(e.resolved)&&m.then(d,p):f(m.component)&&(m.component.then(d,p),r(m.error)&&(e.errorComp=yi(m.error,t)),r(m.loading)&&(e.loadingComp=yi(m.loading,t),0===m.delay?e.loading=!0:l=setTimeout((function(){l=null,n(e.resolved)&&n(e.error)&&(e.loading=!0,h(!1))}),m.delay||200)),r(m.timeout)&&(u=setTimeout((function(){u=null,n(e.resolved)&&p(null)}),m.timeout)))),o=!1,e.loading?e.loadingComp:e.resolved}}function Si(e){return e.isComment&&e.asyncFactory}function xi(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var i=e[t];if(r(i)&&(r(i.componentOptions)||Si(i)))return i}}function wi(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&ki(e,t)}function _i(e,t){mi.$on(e,t)}function Ai(e,t){mi.$off(e,t)}function Ei(e,t){var i=mi;return function n(){var r=t.apply(null,arguments);null!==r&&i.$off(e,n)}}function ki(e,t,i){mi=e,Ct(t,i||{},_i,Ai,Ei,e),mi=void 0}function Mi(e){var t=/^hook:/;e.prototype.$on=function(e,i){var n=this;if(Array.isArray(e))for(var r=0,a=e.length;r<a;r++)n.$on(e[r],i);else(n._events[e]||(n._events[e]=[])).push(i),t.test(e)&&(n._hasHookEvent=!0);return n},e.prototype.$once=function(e,t){var i=this;function n(){i.$off(e,n),t.apply(i,arguments)}return n.fn=t,i.$on(e,n),i},e.prototype.$off=function(e,t){var i=this;if(!arguments.length)return i._events=Object.create(null),i;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)i.$off(e[n],t);return i}var a,s=i._events[e];if(!s)return i;if(!t)return i._events[e]=null,i;var o=s.length;while(o--)if(a=s[o],a===t||a.fn===t){s.splice(o,1);break}return i},e.prototype.$emit=function(e){var t=this,i=t._events[e];if(i){i=i.length>1?T(i):i;for(var n=T(arguments,1),r='event handler for "'+e+'"',a=0,s=i.length;a<s;a++)it(i[a],t,n,t,r)}return t}}var zi=null;function Ti(e){var t=zi;return zi=e,function(){zi=t}}function Ii(e){var t=e.$options,i=t.parent;if(i&&!t.abstract){while(i.$options.abstract&&i.$parent)i=i.$parent;i.$children.push(e)}e.$parent=i,e.$root=i?i.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}function Ni(e){e.prototype._update=function(e,t){var i=this,n=i.$el,r=i._vnode,a=Ti(i);i._vnode=e,i.$el=r?i.__patch__(r,e):i.__patch__(i.$el,e,t,!1),a(),n&&(n.__vue__=null),i.$el&&(i.$el.__vue__=i),i.$vnode&&i.$parent&&i.$vnode===i.$parent._vnode&&(i.$parent.$el=i.$el)},e.prototype.$forceUpdate=function(){var e=this;e._watcher&&e._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){Li(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||y(t.$children,e),e._watcher&&e._watcher.teardown();var i=e._watchers.length;while(i--)e._watchers[i].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),Li(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}function Di(e,t,i){var n;return e.$el=t,e.$options.render||(e.$options.render=Se),Li(e,"beforeMount"),n=function(){e._update(e._render(),i)},new tn(e,n,D,{before:function(){e._isMounted&&!e._isDestroyed&&Li(e,"beforeUpdate")}},!0),i=!1,null==e.$vnode&&(e._isMounted=!0,Li(e,"mounted")),e}function Pi(e,t,n,r,a){var s=r.data.scopedSlots,o=e.$scopedSlots,c=!!(s&&!s.$stable||o!==i&&!o.$stable||s&&e.$scopedSlots.$key!==s.$key),l=!!(a||e.$options._renderChildren||c);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=a,e.$attrs=r.data.attrs||i,e.$listeners=n||i,t&&e.$options.props){ze(!1);for(var u=e._props,h=e.$options._propKeys||[],d=0;d<h.length;d++){var f=h[d],p=e.$options.props;u[f]=Ye(f,p,t,e)}ze(!0),e.$options.propsData=t}n=n||i;var m=e.$options._parentListeners;e.$options._parentListeners=n,ki(e,n,m),l&&(e.$slots=It(a,r.context),e.$forceUpdate())}function Oi(e){while(e&&(e=e.$parent))if(e._inactive)return!0;return!1}function Hi(e,t){if(t){if(e._directInactive=!1,Oi(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var i=0;i<e.$children.length;i++)Hi(e.$children[i]);Li(e,"activated")}}function Fi(e,t){if((!t||(e._directInactive=!0,!Oi(e)))&&!e._inactive){e._inactive=!0;for(var i=0;i<e.$children.length;i++)Fi(e.$children[i]);Li(e,"deactivated")}}function Li(e,t){ge();var i=e.$options[t],n=t+" hook";if(i)for(var r=0,a=i.length;r<a;r++)it(i[r],e,null,e,n);e._hasHookEvent&&e.$emit("hook:"+t),ye()}var Vi=[],Ri=[],Bi={},ji=!1,$i=!1,Ki=0;function qi(){Ki=Vi.length=Ri.length=0,Bi={},ji=$i=!1}var Ui=0,Wi=Date.now;if(Y&&!ee){var Xi=window.performance;Xi&&"function"===typeof Xi.now&&Wi()>document.createEvent("Event").timeStamp&&(Wi=function(){return Xi.now()})}function Gi(){var e,t;for(Ui=Wi(),$i=!0,Vi.sort((function(e,t){return e.id-t.id})),Ki=0;Ki<Vi.length;Ki++)e=Vi[Ki],e.before&&e.before(),t=e.id,Bi[t]=null,e.run();var i=Ri.slice(),n=Vi.slice();qi(),Ji(i),Yi(n),le&&j.devtools&&le.emit("flush")}function Yi(e){var t=e.length;while(t--){var i=e[t],n=i.vm;n._watcher===i&&n._isMounted&&!n._isDestroyed&&Li(n,"updated")}}function Zi(e){e._inactive=!1,Ri.push(e)}function Ji(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,Hi(e[t],!0)}function Qi(e){var t=e.id;if(null==Bi[t]){if(Bi[t]=!0,$i){var i=Vi.length-1;while(i>Ki&&Vi[i].id>e.id)i--;Vi.splice(i+1,0,e)}else Vi.push(e);ji||(ji=!0,pt(Gi))}}var en=0,tn=function(e,t,i,n,r){this.vm=e,r&&(e._watcher=this),e._watchers.push(this),n?(this.deep=!!n.deep,this.user=!!n.user,this.lazy=!!n.lazy,this.sync=!!n.sync,this.before=n.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=i,this.id=++en,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new he,this.newDepIds=new he,this.expression="","function"===typeof t?this.getter=t:(this.getter=W(t),this.getter||(this.getter=D)),this.value=this.lazy?void 0:this.get()};tn.prototype.get=function(){var e;ge(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(xs){if(!this.user)throw xs;tt(xs,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&vt(e),ye(),this.cleanupDeps()}return e},tn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},tn.prototype.cleanupDeps=function(){var e=this.deps.length;while(e--){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var i=this.depIds;this.depIds=this.newDepIds,this.newDepIds=i,this.newDepIds.clear(),i=this.deps,this.deps=this.newDeps,this.newDeps=i,this.newDeps.length=0},tn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Qi(this)},tn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(xs){tt(xs,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},tn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},tn.prototype.depend=function(){var e=this.deps.length;while(e--)this.deps[e].depend()},tn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);var e=this.deps.length;while(e--)this.deps[e].removeSub(this);this.active=!1}};var nn={enumerable:!0,configurable:!0,get:D,set:D};function rn(e,t,i){nn.get=function(){return this[t][i]},nn.set=function(e){this[t][i]=e},Object.defineProperty(e,i,nn)}function an(e){e._watchers=[];var t=e.$options;t.props&&sn(e,t.props),t.methods&&pn(e,t.methods),t.data?on(e):De(e._data={},!0),t.computed&&un(e,t.computed),t.watch&&t.watch!==ae&&mn(e,t.watch)}function sn(e,t){var i=e.$options.propsData||{},n=e._props={},r=e.$options._propKeys=[],a=!e.$parent;a||ze(!1);var s=function(a){r.push(a);var s=Ye(a,t,i,e);Pe(n,a,s),a in e||rn(e,"_props",a)};for(var o in t)s(o);ze(!0)}function on(e){var t=e.$options.data;t=e._data="function"===typeof t?cn(t,e):t||{},u(t)||(t={});var i=Object.keys(t),n=e.$options.props,r=(e.$options.methods,i.length);while(r--){var a=i[r];0,n&&C(n,a)||K(a)||rn(e,"_data",a)}De(t,!0)}function cn(e,t){ge();try{return e.call(t,t)}catch(xs){return tt(xs,t,"data()"),{}}finally{ye()}}var ln={lazy:!0};function un(e,t){var i=e._computedWatchers=Object.create(null),n=ce();for(var r in t){var a=t[r],s="function"===typeof a?a:a.get;0,n||(i[r]=new tn(e,s||D,D,ln)),r in e||hn(e,r,a)}}function hn(e,t,i){var n=!ce();"function"===typeof i?(nn.get=n?dn(t):fn(i),nn.set=D):(nn.get=i.get?n&&!1!==i.cache?dn(t):fn(i.get):D,nn.set=i.set||D),Object.defineProperty(e,t,nn)}function dn(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),me.target&&t.depend(),t.value}}function fn(e){return function(){return e.call(this,this)}}function pn(e,t){e.$options.props;for(var i in t)e[i]="function"!==typeof t[i]?D:z(t[i],e)}function mn(e,t){for(var i in t){var n=t[i];if(Array.isArray(n))for(var r=0;r<n.length;r++)vn(e,i,n[r]);else vn(e,i,n)}}function vn(e,t,i,n){return u(i)&&(n=i,i=i.handler),"string"===typeof i&&(i=e[i]),e.$watch(t,i,n)}function gn(e){var t={get:function(){return this._data}},i={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",i),e.prototype.$set=Oe,e.prototype.$delete=He,e.prototype.$watch=function(e,t,i){var n=this;if(u(t))return vn(n,e,t,i);i=i||{},i.user=!0;var r=new tn(n,e,t,i);if(i.immediate)try{t.call(n,r.value)}catch(a){tt(a,n,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}var yn=0;function bn(e){e.prototype._init=function(e){var t=this;t._uid=yn++,t._isVue=!0,e&&e._isComponent?Cn(t,e):t.$options=Xe(Sn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,Ii(t),wi(t),pi(t),Li(t,"beforeCreate"),zt(t),an(t),Mt(t),Li(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}function Cn(e,t){var i=e.$options=Object.create(e.constructor.options),n=t._parentVnode;i.parent=t.parent,i._parentVnode=n;var r=n.componentOptions;i.propsData=r.propsData,i._parentListeners=r.listeners,i._renderChildren=r.children,i._componentTag=r.tag,t.render&&(i.render=t.render,i.staticRenderFns=t.staticRenderFns)}function Sn(e){var t=e.options;if(e.super){var i=Sn(e.super),n=e.superOptions;if(i!==n){e.superOptions=i;var r=xn(e);r&&I(e.extendOptions,r),t=e.options=Xe(i,e.extendOptions),t.name&&(t.components[t.name]=e)}}return t}function xn(e){var t,i=e.options,n=e.sealedOptions;for(var r in i)i[r]!==n[r]&&(t||(t={}),t[r]=i[r]);return t}function wn(e){this._init(e)}function _n(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var i=T(arguments,1);return i.unshift(this),"function"===typeof e.install?e.install.apply(e,i):"function"===typeof e&&e.apply(null,i),t.push(e),this}}function An(e){e.mixin=function(e){return this.options=Xe(this.options,e),this}}function En(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var i=this,n=i.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var a=e.name||i.options.name;var s=function(e){this._init(e)};return s.prototype=Object.create(i.prototype),s.prototype.constructor=s,s.cid=t++,s.options=Xe(i.options,e),s["super"]=i,s.options.props&&kn(s),s.options.computed&&Mn(s),s.extend=i.extend,s.mixin=i.mixin,s.use=i.use,R.forEach((function(e){s[e]=i[e]})),a&&(s.options.components[a]=s),s.superOptions=i.options,s.extendOptions=e,s.sealedOptions=I({},s.options),r[n]=s,s}}function kn(e){var t=e.options.props;for(var i in t)rn(e.prototype,"_props",i)}function Mn(e){var t=e.options.computed;for(var i in t)hn(e.prototype,i,t[i])}function zn(e){R.forEach((function(t){e[t]=function(e,i){return i?("component"===t&&u(i)&&(i.name=i.name||e,i=this.options._base.extend(i)),"directive"===t&&"function"===typeof i&&(i={bind:i,update:i}),this.options[t+"s"][e]=i,i):this.options[t+"s"][e]}}))}function Tn(e){return e&&(e.Ctor.options.name||e.tag)}function In(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===typeof e?e.split(",").indexOf(t)>-1:!!h(e)&&e.test(t)}function Nn(e,t){var i=e.cache,n=e.keys,r=e._vnode;for(var a in i){var s=i[a];if(s){var o=Tn(s.componentOptions);o&&!t(o)&&Dn(i,a,n,r)}}}function Dn(e,t,i,n){var r=e[t];!r||n&&r.tag===n.tag||r.componentInstance.$destroy(),e[t]=null,y(i,t)}bn(wn),gn(wn),Mi(wn),Ni(wn),gi(wn);var Pn=[String,RegExp,Array],On={name:"keep-alive",abstract:!0,props:{include:Pn,exclude:Pn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Dn(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){Nn(e,(function(e){return In(t,e)}))})),this.$watch("exclude",(function(t){Nn(e,(function(e){return!In(t,e)}))}))},render:function(){var e=this.$slots.default,t=xi(e),i=t&&t.componentOptions;if(i){var n=Tn(i),r=this,a=r.include,s=r.exclude;if(a&&(!n||!In(a,n))||s&&n&&In(s,n))return t;var o=this,c=o.cache,l=o.keys,u=null==t.key?i.Ctor.cid+(i.tag?"::"+i.tag:""):t.key;c[u]?(t.componentInstance=c[u].componentInstance,y(l,u),l.push(u)):(c[u]=t,l.push(u),this.max&&l.length>parseInt(this.max)&&Dn(c,l[0],l,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},Hn={KeepAlive:On};function Fn(e){var t={get:function(){return j}};Object.defineProperty(e,"config",t),e.util={warn:fe,extend:I,mergeOptions:Xe,defineReactive:Pe},e.set=Oe,e.delete=He,e.nextTick=pt,e.observable=function(e){return De(e),e},e.options=Object.create(null),R.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,I(e.options.components,Hn),_n(e),An(e),En(e),zn(e)}Fn(wn),Object.defineProperty(wn.prototype,"$isServer",{get:ce}),Object.defineProperty(wn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wn,"FunctionalRenderContext",{value:Zt}),wn.version="2.6.12";var Ln=v("style,class"),Vn=v("input,textarea,option,select,progress"),Rn=function(e,t,i){return"value"===i&&Vn(e)&&"button"!==t||"selected"===i&&"option"===e||"checked"===i&&"input"===e||"muted"===i&&"video"===e},Bn=v("contenteditable,draggable,spellcheck"),jn=v("events,caret,typing,plaintext-only"),$n=function(e,t){return Xn(t)||"false"===t?"false":"contenteditable"===e&&jn(t)?t:"true"},Kn=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),qn="http://www.w3.org/1999/xlink",Un=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Wn=function(e){return Un(e)?e.slice(6,e.length):""},Xn=function(e){return null==e||!1===e};function Gn(e){var t=e.data,i=e,n=e;while(r(n.componentInstance))n=n.componentInstance._vnode,n&&n.data&&(t=Yn(n.data,t));while(r(i=i.parent))i&&i.data&&(t=Yn(t,i.data));return Zn(t.staticClass,t.class)}function Yn(e,t){return{staticClass:Jn(e.staticClass,t.staticClass),class:r(e.class)?[e.class,t.class]:t.class}}function Zn(e,t){return r(e)||r(t)?Jn(e,Qn(t)):""}function Jn(e,t){return e?t?e+" "+t:e:t||""}function Qn(e){return Array.isArray(e)?er(e):c(e)?tr(e):"string"===typeof e?e:""}function er(e){for(var t,i="",n=0,a=e.length;n<a;n++)r(t=Qn(e[n]))&&""!==t&&(i&&(i+=" "),i+=t);return i}function tr(e){var t="";for(var i in e)e[i]&&(t&&(t+=" "),t+=i);return t}var ir={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},nr=v("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),rr=v("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),ar=function(e){return nr(e)||rr(e)};function sr(e){return rr(e)?"svg":"math"===e?"math":void 0}var or=Object.create(null);function cr(e){if(!Y)return!0;if(ar(e))return!1;if(e=e.toLowerCase(),null!=or[e])return or[e];var t=document.createElement(e);return e.indexOf("-")>-1?or[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:or[e]=/HTMLUnknownElement/.test(t.toString())}var lr=v("text,number,password,search,email,tel,url");function ur(e){if("string"===typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}function hr(e,t){var i=document.createElement(e);return"select"!==e||t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&i.setAttribute("multiple","multiple"),i}function dr(e,t){return document.createElementNS(ir[e],t)}function fr(e){return document.createTextNode(e)}function pr(e){return document.createComment(e)}function mr(e,t,i){e.insertBefore(t,i)}function vr(e,t){e.removeChild(t)}function gr(e,t){e.appendChild(t)}function yr(e){return e.parentNode}function br(e){return e.nextSibling}function Cr(e){return e.tagName}function Sr(e,t){e.textContent=t}function xr(e,t){e.setAttribute(t,"")}var wr=Object.freeze({createElement:hr,createElementNS:dr,createTextNode:fr,createComment:pr,insertBefore:mr,removeChild:vr,appendChild:gr,parentNode:yr,nextSibling:br,tagName:Cr,setTextContent:Sr,setStyleScope:xr}),_r={create:function(e,t){Ar(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Ar(e,!0),Ar(t))},destroy:function(e){Ar(e,!0)}};function Ar(e,t){var i=e.data.ref;if(r(i)){var n=e.context,a=e.componentInstance||e.elm,s=n.$refs;t?Array.isArray(s[i])?y(s[i],a):s[i]===a&&(s[i]=void 0):e.data.refInFor?Array.isArray(s[i])?s[i].indexOf(a)<0&&s[i].push(a):s[i]=[a]:s[i]=a}}var Er=new be("",{},[]),kr=["create","activate","update","remove","destroy"];function Mr(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&r(e.data)===r(t.data)&&zr(e,t)||a(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&n(t.asyncFactory.error))}function zr(e,t){if("input"!==e.tag)return!0;var i,n=r(i=e.data)&&r(i=i.attrs)&&i.type,a=r(i=t.data)&&r(i=i.attrs)&&i.type;return n===a||lr(n)&&lr(a)}function Tr(e,t,i){var n,a,s={};for(n=t;n<=i;++n)a=e[n].key,r(a)&&(s[a]=n);return s}function Ir(e){var t,i,s={},c=e.modules,l=e.nodeOps;for(t=0;t<kr.length;++t)for(s[kr[t]]=[],i=0;i<c.length;++i)r(c[i][kr[t]])&&s[kr[t]].push(c[i][kr[t]]);function u(e){return new be(l.tagName(e).toLowerCase(),{},[],void 0,e)}function h(e,t){function i(){0===--i.listeners&&d(e)}return i.listeners=t,i}function d(e){var t=l.parentNode(e);r(t)&&l.removeChild(t,e)}function f(e,t,i,n,s,o,c){if(r(e.elm)&&r(o)&&(e=o[c]=we(e)),e.isRootInsert=!s,!p(e,t,i,n)){var u=e.data,h=e.children,d=e.tag;r(d)?(e.elm=e.ns?l.createElementNS(e.ns,d):l.createElement(d,e),x(e),b(e,h,t),r(u)&&S(e,t),y(i,e.elm,n)):a(e.isComment)?(e.elm=l.createComment(e.text),y(i,e.elm,n)):(e.elm=l.createTextNode(e.text),y(i,e.elm,n))}}function p(e,t,i,n){var s=e.data;if(r(s)){var o=r(e.componentInstance)&&s.keepAlive;if(r(s=s.hook)&&r(s=s.init)&&s(e,!1),r(e.componentInstance))return m(e,t),y(i,e.elm,n),a(o)&&g(e,t,i,n),!0}}function m(e,t){r(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,C(e)?(S(e,t),x(e)):(Ar(e),t.push(e))}function g(e,t,i,n){var a,o=e;while(o.componentInstance)if(o=o.componentInstance._vnode,r(a=o.data)&&r(a=a.transition)){for(a=0;a<s.activate.length;++a)s.activate[a](Er,o);t.push(o);break}y(i,e.elm,n)}function y(e,t,i){r(e)&&(r(i)?l.parentNode(i)===e&&l.insertBefore(e,t,i):l.appendChild(e,t))}function b(e,t,i){if(Array.isArray(t)){0;for(var n=0;n<t.length;++n)f(t[n],i,e.elm,null,!0,t,n)}else o(e.text)&&l.appendChild(e.elm,l.createTextNode(String(e.text)))}function C(e){while(e.componentInstance)e=e.componentInstance._vnode;return r(e.tag)}function S(e,i){for(var n=0;n<s.create.length;++n)s.create[n](Er,e);t=e.data.hook,r(t)&&(r(t.create)&&t.create(Er,e),r(t.insert)&&i.push(e))}function x(e){var t;if(r(t=e.fnScopeId))l.setStyleScope(e.elm,t);else{var i=e;while(i)r(t=i.context)&&r(t=t.$options._scopeId)&&l.setStyleScope(e.elm,t),i=i.parent}r(t=zi)&&t!==e.context&&t!==e.fnContext&&r(t=t.$options._scopeId)&&l.setStyleScope(e.elm,t)}function w(e,t,i,n,r,a){for(;n<=r;++n)f(i[n],a,e,t,!1,i,n)}function _(e){var t,i,n=e.data;if(r(n))for(r(t=n.hook)&&r(t=t.destroy)&&t(e),t=0;t<s.destroy.length;++t)s.destroy[t](e);if(r(t=e.children))for(i=0;i<e.children.length;++i)_(e.children[i])}function A(e,t,i){for(;t<=i;++t){var n=e[t];r(n)&&(r(n.tag)?(E(n),_(n)):d(n.elm))}}function E(e,t){if(r(t)||r(e.data)){var i,n=s.remove.length+1;for(r(t)?t.listeners+=n:t=h(e.elm,n),r(i=e.componentInstance)&&r(i=i._vnode)&&r(i.data)&&E(i,t),i=0;i<s.remove.length;++i)s.remove[i](e,t);r(i=e.data.hook)&&r(i=i.remove)?i(e,t):t()}else d(e.elm)}function k(e,t,i,a,s){var o,c,u,h,d=0,p=0,m=t.length-1,v=t[0],g=t[m],y=i.length-1,b=i[0],C=i[y],S=!s;while(d<=m&&p<=y)n(v)?v=t[++d]:n(g)?g=t[--m]:Mr(v,b)?(z(v,b,a,i,p),v=t[++d],b=i[++p]):Mr(g,C)?(z(g,C,a,i,y),g=t[--m],C=i[--y]):Mr(v,C)?(z(v,C,a,i,y),S&&l.insertBefore(e,v.elm,l.nextSibling(g.elm)),v=t[++d],C=i[--y]):Mr(g,b)?(z(g,b,a,i,p),S&&l.insertBefore(e,g.elm,v.elm),g=t[--m],b=i[++p]):(n(o)&&(o=Tr(t,d,m)),c=r(b.key)?o[b.key]:M(b,t,d,m),n(c)?f(b,a,e,v.elm,!1,i,p):(u=t[c],Mr(u,b)?(z(u,b,a,i,p),t[c]=void 0,S&&l.insertBefore(e,u.elm,v.elm)):f(b,a,e,v.elm,!1,i,p)),b=i[++p]);d>m?(h=n(i[y+1])?null:i[y+1].elm,w(e,h,i,p,y,a)):p>y&&A(t,d,m)}function M(e,t,i,n){for(var a=i;a<n;a++){var s=t[a];if(r(s)&&Mr(e,s))return a}}function z(e,t,i,o,c,u){if(e!==t){r(t.elm)&&r(o)&&(t=o[c]=we(t));var h=t.elm=e.elm;if(a(e.isAsyncPlaceholder))r(t.asyncFactory.resolved)?N(e.elm,t,i):t.isAsyncPlaceholder=!0;else if(a(t.isStatic)&&a(e.isStatic)&&t.key===e.key&&(a(t.isCloned)||a(t.isOnce)))t.componentInstance=e.componentInstance;else{var d,f=t.data;r(f)&&r(d=f.hook)&&r(d=d.prepatch)&&d(e,t);var p=e.children,m=t.children;if(r(f)&&C(t)){for(d=0;d<s.update.length;++d)s.update[d](e,t);r(d=f.hook)&&r(d=d.update)&&d(e,t)}n(t.text)?r(p)&&r(m)?p!==m&&k(h,p,m,i,u):r(m)?(r(e.text)&&l.setTextContent(h,""),w(h,null,m,0,m.length-1,i)):r(p)?A(p,0,p.length-1):r(e.text)&&l.setTextContent(h,""):e.text!==t.text&&l.setTextContent(h,t.text),r(f)&&r(d=f.hook)&&r(d=d.postpatch)&&d(e,t)}}}function T(e,t,i){if(a(i)&&r(e.parent))e.parent.data.pendingInsert=t;else for(var n=0;n<t.length;++n)t[n].data.hook.insert(t[n])}var I=v("attrs,class,staticClass,staticStyle,key");function N(e,t,i,n){var s,o=t.tag,c=t.data,l=t.children;if(n=n||c&&c.pre,t.elm=e,a(t.isComment)&&r(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(r(c)&&(r(s=c.hook)&&r(s=s.init)&&s(t,!0),r(s=t.componentInstance)))return m(t,i),!0;if(r(o)){if(r(l))if(e.hasChildNodes())if(r(s=c)&&r(s=s.domProps)&&r(s=s.innerHTML)){if(s!==e.innerHTML)return!1}else{for(var u=!0,h=e.firstChild,d=0;d<l.length;d++){if(!h||!N(h,l[d],i,n)){u=!1;break}h=h.nextSibling}if(!u||h)return!1}else b(t,l,i);if(r(c)){var f=!1;for(var p in c)if(!I(p)){f=!0,S(t,i);break}!f&&c["class"]&&vt(c["class"])}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,i,o){if(!n(t)){var c=!1,h=[];if(n(e))c=!0,f(t,h);else{var d=r(e.nodeType);if(!d&&Mr(e,t))z(e,t,h,null,null,o);else{if(d){if(1===e.nodeType&&e.hasAttribute(V)&&(e.removeAttribute(V),i=!0),a(i)&&N(e,t,h))return T(t,h,!0),e;e=u(e)}var p=e.elm,m=l.parentNode(p);if(f(t,h,p._leaveCb?null:m,l.nextSibling(p)),r(t.parent)){var v=t.parent,g=C(t);while(v){for(var y=0;y<s.destroy.length;++y)s.destroy[y](v);if(v.elm=t.elm,g){for(var b=0;b<s.create.length;++b)s.create[b](Er,v);var S=v.data.hook.insert;if(S.merged)for(var x=1;x<S.fns.length;x++)S.fns[x]()}else Ar(v);v=v.parent}}r(m)?A([e],0,0):r(e.tag)&&_(e)}}return T(t,h,c),t.elm}r(e)&&_(e)}}var Nr={create:Dr,update:Dr,destroy:function(e){Dr(e,Er)}};function Dr(e,t){(e.data.directives||t.data.directives)&&Pr(e,t)}function Pr(e,t){var i,n,r,a=e===Er,s=t===Er,o=Hr(e.data.directives,e.context),c=Hr(t.data.directives,t.context),l=[],u=[];for(i in c)n=o[i],r=c[i],n?(r.oldValue=n.value,r.oldArg=n.arg,Lr(r,"update",t,e),r.def&&r.def.componentUpdated&&u.push(r)):(Lr(r,"bind",t,e),r.def&&r.def.inserted&&l.push(r));if(l.length){var h=function(){for(var i=0;i<l.length;i++)Lr(l[i],"inserted",t,e)};a?St(t,"insert",h):h()}if(u.length&&St(t,"postpatch",(function(){for(var i=0;i<u.length;i++)Lr(u[i],"componentUpdated",t,e)})),!a)for(i in o)c[i]||Lr(o[i],"unbind",e,e,s)}var Or=Object.create(null);function Hr(e,t){var i,n,r=Object.create(null);if(!e)return r;for(i=0;i<e.length;i++)n=e[i],n.modifiers||(n.modifiers=Or),r[Fr(n)]=n,n.def=Ge(t.$options,"directives",n.name,!0);return r}function Fr(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function Lr(e,t,i,n,r){var a=e.def&&e.def[t];if(a)try{a(i.elm,e,i,n,r)}catch(xs){tt(xs,i.context,"directive "+e.name+" "+t+" hook")}}var Vr=[_r,Nr];function Rr(e,t){var i=t.componentOptions;if((!r(i)||!1!==i.Ctor.options.inheritAttrs)&&(!n(e.data.attrs)||!n(t.data.attrs))){var a,s,o,c=t.elm,l=e.data.attrs||{},u=t.data.attrs||{};for(a in r(u.__ob__)&&(u=t.data.attrs=I({},u)),u)s=u[a],o=l[a],o!==s&&Br(c,a,s);for(a in(ee||ie)&&u.value!==l.value&&Br(c,"value",u.value),l)n(u[a])&&(Un(a)?c.removeAttributeNS(qn,Wn(a)):Bn(a)||c.removeAttribute(a))}}function Br(e,t,i){e.tagName.indexOf("-")>-1?jr(e,t,i):Kn(t)?Xn(i)?e.removeAttribute(t):(i="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,i)):Bn(t)?e.setAttribute(t,$n(t,i)):Un(t)?Xn(i)?e.removeAttributeNS(qn,Wn(t)):e.setAttributeNS(qn,t,i):jr(e,t,i)}function jr(e,t,i){if(Xn(i))e.removeAttribute(t);else{if(ee&&!te&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==i&&!e.__ieph){var n=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",n)};e.addEventListener("input",n),e.__ieph=!0}e.setAttribute(t,i)}}var $r={create:Rr,update:Rr};function Kr(e,t){var i=t.elm,a=t.data,s=e.data;if(!(n(a.staticClass)&&n(a.class)&&(n(s)||n(s.staticClass)&&n(s.class)))){var o=Gn(t),c=i._transitionClasses;r(c)&&(o=Jn(o,Qn(c))),o!==i._prevClass&&(i.setAttribute("class",o),i._prevClass=o)}}var qr,Ur={create:Kr,update:Kr},Wr="__r",Xr="__c";function Gr(e){if(r(e[Wr])){var t=ee?"change":"input";e[t]=[].concat(e[Wr],e[t]||[]),delete e[Wr]}r(e[Xr])&&(e.change=[].concat(e[Xr],e.change||[]),delete e[Xr])}function Yr(e,t,i){var n=qr;return function r(){var a=t.apply(null,arguments);null!==a&&Qr(e,r,i,n)}}var Zr=st&&!(re&&Number(re[1])<=53);function Jr(e,t,i,n){if(Zr){var r=Ui,a=t;t=a._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=r||e.timeStamp<=0||e.target.ownerDocument!==document)return a.apply(this,arguments)}}qr.addEventListener(e,t,se?{capture:i,passive:n}:i)}function Qr(e,t,i,n){(n||qr).removeEventListener(e,t._wrapper||t,i)}function ea(e,t){if(!n(e.data.on)||!n(t.data.on)){var i=t.data.on||{},r=e.data.on||{};qr=t.elm,Gr(i),Ct(i,r,Jr,Qr,Yr,t.context),qr=void 0}}var ta,ia={create:ea,update:ea};function na(e,t){if(!n(e.data.domProps)||!n(t.data.domProps)){var i,a,s=t.elm,o=e.data.domProps||{},c=t.data.domProps||{};for(i in r(c.__ob__)&&(c=t.data.domProps=I({},c)),o)i in c||(s[i]="");for(i in c){if(a=c[i],"textContent"===i||"innerHTML"===i){if(t.children&&(t.children.length=0),a===o[i])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if("value"===i&&"PROGRESS"!==s.tagName){s._value=a;var l=n(a)?"":String(a);ra(s,l)&&(s.value=l)}else if("innerHTML"===i&&rr(s.tagName)&&n(s.innerHTML)){ta=ta||document.createElement("div"),ta.innerHTML="<svg>"+a+"</svg>";var u=ta.firstChild;while(s.firstChild)s.removeChild(s.firstChild);while(u.firstChild)s.appendChild(u.firstChild)}else if(a!==o[i])try{s[i]=a}catch(xs){}}}}function ra(e,t){return!e.composing&&("OPTION"===e.tagName||aa(e,t)||sa(e,t))}function aa(e,t){var i=!0;try{i=document.activeElement!==e}catch(xs){}return i&&e.value!==t}function sa(e,t){var i=e.value,n=e._vModifiers;if(r(n)){if(n.number)return m(i)!==m(t);if(n.trim)return i.trim()!==t.trim()}return i!==t}var oa={create:na,update:na},ca=S((function(e){var t={},i=/;(?![^(]*\))/g,n=/:(.+)/;return e.split(i).forEach((function(e){if(e){var i=e.split(n);i.length>1&&(t[i[0].trim()]=i[1].trim())}})),t}));function la(e){var t=ua(e.style);return e.staticStyle?I(e.staticStyle,t):t}function ua(e){return Array.isArray(e)?N(e):"string"===typeof e?ca(e):e}function ha(e,t){var i,n={};if(t){var r=e;while(r.componentInstance)r=r.componentInstance._vnode,r&&r.data&&(i=la(r.data))&&I(n,i)}(i=la(e.data))&&I(n,i);var a=e;while(a=a.parent)a.data&&(i=la(a.data))&&I(n,i);return n}var da,fa=/^--/,pa=/\s*!important$/,ma=function(e,t,i){if(fa.test(t))e.style.setProperty(t,i);else if(pa.test(i))e.style.setProperty(E(t),i.replace(pa,""),"important");else{var n=ga(t);if(Array.isArray(i))for(var r=0,a=i.length;r<a;r++)e.style[n]=i[r];else e.style[n]=i}},va=["Webkit","Moz","ms"],ga=S((function(e){if(da=da||document.createElement("div").style,e=w(e),"filter"!==e&&e in da)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),i=0;i<va.length;i++){var n=va[i]+t;if(n in da)return n}}));function ya(e,t){var i=t.data,a=e.data;if(!(n(i.staticStyle)&&n(i.style)&&n(a.staticStyle)&&n(a.style))){var s,o,c=t.elm,l=a.staticStyle,u=a.normalizedStyle||a.style||{},h=l||u,d=ua(t.data.style)||{};t.data.normalizedStyle=r(d.__ob__)?I({},d):d;var f=ha(t,!0);for(o in h)n(f[o])&&ma(c,o,"");for(o in f)s=f[o],s!==h[o]&&ma(c,o,null==s?"":s)}}var ba={create:ya,update:ya},Ca=/\s+/;function Sa(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Ca).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var i=" "+(e.getAttribute("class")||"")+" ";i.indexOf(" "+t+" ")<0&&e.setAttribute("class",(i+t).trim())}}function xa(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Ca).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{var i=" "+(e.getAttribute("class")||"")+" ",n=" "+t+" ";while(i.indexOf(n)>=0)i=i.replace(n," ");i=i.trim(),i?e.setAttribute("class",i):e.removeAttribute("class")}}function wa(e){if(e){if("object"===typeof e){var t={};return!1!==e.css&&I(t,_a(e.name||"v")),I(t,e),t}return"string"===typeof e?_a(e):void 0}}var _a=S((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),Aa=Y&&!te,Ea="transition",ka="animation",Ma="transition",za="transitionend",Ta="animation",Ia="animationend";Aa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ma="WebkitTransition",za="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ta="WebkitAnimation",Ia="webkitAnimationEnd"));var Na=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Da(e){Na((function(){Na(e)}))}function Pa(e,t){var i=e._transitionClasses||(e._transitionClasses=[]);i.indexOf(t)<0&&(i.push(t),Sa(e,t))}function Oa(e,t){e._transitionClasses&&y(e._transitionClasses,t),xa(e,t)}function Ha(e,t,i){var n=La(e,t),r=n.type,a=n.timeout,s=n.propCount;if(!r)return i();var o=r===Ea?za:Ia,c=0,l=function(){e.removeEventListener(o,u),i()},u=function(t){t.target===e&&++c>=s&&l()};setTimeout((function(){c<s&&l()}),a+1),e.addEventListener(o,u)}var Fa=/\b(transform|all)(,|$)/;function La(e,t){var i,n=window.getComputedStyle(e),r=(n[Ma+"Delay"]||"").split(", "),a=(n[Ma+"Duration"]||"").split(", "),s=Va(r,a),o=(n[Ta+"Delay"]||"").split(", "),c=(n[Ta+"Duration"]||"").split(", "),l=Va(o,c),u=0,h=0;t===Ea?s>0&&(i=Ea,u=s,h=a.length):t===ka?l>0&&(i=ka,u=l,h=c.length):(u=Math.max(s,l),i=u>0?s>l?Ea:ka:null,h=i?i===Ea?a.length:c.length:0);var d=i===Ea&&Fa.test(n[Ma+"Property"]);return{type:i,timeout:u,propCount:h,hasTransform:d}}function Va(e,t){while(e.length<t.length)e=e.concat(e);return Math.max.apply(null,t.map((function(t,i){return Ra(t)+Ra(e[i])})))}function Ra(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Ba(e,t){var i=e.elm;r(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._leaveCb());var a=wa(e.data.transition);if(!n(a)&&!r(i._enterCb)&&1===i.nodeType){var s=a.css,o=a.type,l=a.enterClass,u=a.enterToClass,h=a.enterActiveClass,d=a.appearClass,f=a.appearToClass,p=a.appearActiveClass,v=a.beforeEnter,g=a.enter,y=a.afterEnter,b=a.enterCancelled,C=a.beforeAppear,S=a.appear,x=a.afterAppear,w=a.appearCancelled,_=a.duration,A=zi,E=zi.$vnode;while(E&&E.parent)A=E.context,E=E.parent;var k=!A._isMounted||!e.isRootInsert;if(!k||S||""===S){var M=k&&d?d:l,z=k&&p?p:h,T=k&&f?f:u,I=k&&C||v,N=k&&"function"===typeof S?S:g,D=k&&x||y,P=k&&w||b,O=m(c(_)?_.enter:_);0;var H=!1!==s&&!te,F=Ka(N),V=i._enterCb=L((function(){H&&(Oa(i,T),Oa(i,z)),V.cancelled?(H&&Oa(i,M),P&&P(i)):D&&D(i),i._enterCb=null}));e.data.show||St(e,"insert",(function(){var t=i.parentNode,n=t&&t._pending&&t._pending[e.key];n&&n.tag===e.tag&&n.elm._leaveCb&&n.elm._leaveCb(),N&&N(i,V)})),I&&I(i),H&&(Pa(i,M),Pa(i,z),Da((function(){Oa(i,M),V.cancelled||(Pa(i,T),F||($a(O)?setTimeout(V,O):Ha(i,o,V)))}))),e.data.show&&(t&&t(),N&&N(i,V)),H||F||V()}}}function ja(e,t){var i=e.elm;r(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=wa(e.data.transition);if(n(a)||1!==i.nodeType)return t();if(!r(i._leaveCb)){var s=a.css,o=a.type,l=a.leaveClass,u=a.leaveToClass,h=a.leaveActiveClass,d=a.beforeLeave,f=a.leave,p=a.afterLeave,v=a.leaveCancelled,g=a.delayLeave,y=a.duration,b=!1!==s&&!te,C=Ka(f),S=m(c(y)?y.leave:y);0;var x=i._leaveCb=L((function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[e.key]=null),b&&(Oa(i,u),Oa(i,h)),x.cancelled?(b&&Oa(i,l),v&&v(i)):(t(),p&&p(i)),i._leaveCb=null}));g?g(w):w()}function w(){x.cancelled||(!e.data.show&&i.parentNode&&((i.parentNode._pending||(i.parentNode._pending={}))[e.key]=e),d&&d(i),b&&(Pa(i,l),Pa(i,h),Da((function(){Oa(i,l),x.cancelled||(Pa(i,u),C||($a(S)?setTimeout(x,S):Ha(i,o,x)))}))),f&&f(i,x),b||C||x())}}function $a(e){return"number"===typeof e&&!isNaN(e)}function Ka(e){if(n(e))return!1;var t=e.fns;return r(t)?Ka(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function qa(e,t){!0!==t.data.show&&Ba(t)}var Ua=Y?{create:qa,activate:qa,remove:function(e,t){!0!==e.data.show?ja(e,t):t()}}:{},Wa=[$r,Ur,ia,oa,ba,Ua],Xa=Wa.concat(Vr),Ga=Ir({nodeOps:wr,modules:Xa});te&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&ns(e,"input")}));var Ya={inserted:function(e,t,i,n){"select"===i.tag?(n.elm&&!n.elm._vOptions?St(i,"postpatch",(function(){Ya.componentUpdated(e,t,i)})):Za(e,t,i.context),e._vOptions=[].map.call(e.options,es)):("textarea"===i.tag||lr(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",ts),e.addEventListener("compositionend",is),e.addEventListener("change",is),te&&(e.vmodel=!0)))},componentUpdated:function(e,t,i){if("select"===i.tag){Za(e,t,i.context);var n=e._vOptions,r=e._vOptions=[].map.call(e.options,es);if(r.some((function(e,t){return!H(e,n[t])}))){var a=e.multiple?t.value.some((function(e){return Qa(e,r)})):t.value!==t.oldValue&&Qa(t.value,r);a&&ns(e,"change")}}}};function Za(e,t,i){Ja(e,t,i),(ee||ie)&&setTimeout((function(){Ja(e,t,i)}),0)}function Ja(e,t,i){var n=t.value,r=e.multiple;if(!r||Array.isArray(n)){for(var a,s,o=0,c=e.options.length;o<c;o++)if(s=e.options[o],r)a=F(n,es(s))>-1,s.selected!==a&&(s.selected=a);else if(H(es(s),n))return void(e.selectedIndex!==o&&(e.selectedIndex=o));r||(e.selectedIndex=-1)}}function Qa(e,t){return t.every((function(t){return!H(t,e)}))}function es(e){return"_value"in e?e._value:e.value}function ts(e){e.target.composing=!0}function is(e){e.target.composing&&(e.target.composing=!1,ns(e.target,"input"))}function ns(e,t){var i=document.createEvent("HTMLEvents");i.initEvent(t,!0,!0),e.dispatchEvent(i)}function rs(e){return!e.componentInstance||e.data&&e.data.transition?e:rs(e.componentInstance._vnode)}var as={bind:function(e,t,i){var n=t.value;i=rs(i);var r=i.data&&i.data.transition,a=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;n&&r?(i.data.show=!0,Ba(i,(function(){e.style.display=a}))):e.style.display=n?a:"none"},update:function(e,t,i){var n=t.value,r=t.oldValue;if(!n!==!r){i=rs(i);var a=i.data&&i.data.transition;a?(i.data.show=!0,n?Ba(i,(function(){e.style.display=e.__vOriginalDisplay})):ja(i,(function(){e.style.display="none"}))):e.style.display=n?e.__vOriginalDisplay:"none"}},unbind:function(e,t,i,n,r){r||(e.style.display=e.__vOriginalDisplay)}},ss={model:Ya,show:as},os={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function cs(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?cs(xi(t.children)):e}function ls(e){var t={},i=e.$options;for(var n in i.propsData)t[n]=e[n];var r=i._parentListeners;for(var a in r)t[w(a)]=r[a];return t}function us(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function hs(e){while(e=e.parent)if(e.data.transition)return!0}function ds(e,t){return t.key===e.key&&t.tag===e.tag}var fs=function(e){return e.tag||Si(e)},ps=function(e){return"show"===e.name},ms={name:"transition",props:os,abstract:!0,render:function(e){var t=this,i=this.$slots.default;if(i&&(i=i.filter(fs),i.length)){0;var n=this.mode;0;var r=i[0];if(hs(this.$vnode))return r;var a=cs(r);if(!a)return r;if(this._leaving)return us(e,r);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:o(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=ls(this),l=this._vnode,u=cs(l);if(a.data.directives&&a.data.directives.some(ps)&&(a.data.show=!0),u&&u.data&&!ds(a,u)&&!Si(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var h=u.data.transition=I({},c);if("out-in"===n)return this._leaving=!0,St(h,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),us(e,r);if("in-out"===n){if(Si(a))return l;var d,f=function(){d()};St(c,"afterEnter",f),St(c,"enterCancelled",f),St(h,"delayLeave",(function(e){d=e}))}}return r}}},vs=I({tag:String,moveClass:String},os);delete vs.mode;var gs={props:vs,beforeMount:function(){var e=this,t=this._update;this._update=function(i,n){var r=Ti(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,r(),t.call(e,i,n)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",i=Object.create(null),n=this.prevChildren=this.children,r=this.$slots.default||[],a=this.children=[],s=ls(this),o=0;o<r.length;o++){var c=r[o];if(c.tag)if(null!=c.key&&0!==String(c.key).indexOf("__vlist"))a.push(c),i[c.key]=c,(c.data||(c.data={})).transition=s;else;}if(n){for(var l=[],u=[],h=0;h<n.length;h++){var d=n[h];d.data.transition=s,d.data.pos=d.elm.getBoundingClientRect(),i[d.key]?l.push(d):u.push(d)}this.kept=e(t,null,l),this.removed=u}return e(t,null,a)},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(ys),e.forEach(bs),e.forEach(Cs),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var i=e.elm,n=i.style;Pa(i,t),n.transform=n.WebkitTransform=n.transitionDuration="",i.addEventListener(za,i._moveCb=function e(n){n&&n.target!==i||n&&!/transform$/.test(n.propertyName)||(i.removeEventListener(za,e),i._moveCb=null,Oa(i,t))})}})))},methods:{hasMove:function(e,t){if(!Aa)return!1;if(this._hasMove)return this._hasMove;var i=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach((function(e){xa(i,e)})),Sa(i,t),i.style.display="none",this.$el.appendChild(i);var n=La(i);return this.$el.removeChild(i),this._hasMove=n.hasTransform}}};function ys(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function bs(e){e.data.newPos=e.elm.getBoundingClientRect()}function Cs(e){var t=e.data.pos,i=e.data.newPos,n=t.left-i.left,r=t.top-i.top;if(n||r){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate("+n+"px,"+r+"px)",a.transitionDuration="0s"}}var Ss={Transition:ms,TransitionGroup:gs};wn.config.mustUseProp=Rn,wn.config.isReservedTag=ar,wn.config.isReservedAttr=Ln,wn.config.getTagNamespace=sr,wn.config.isUnknownElement=cr,I(wn.options.directives,ss),I(wn.options.components,Ss),wn.prototype.__patch__=Y?Ga:D,wn.prototype.$mount=function(e,t){return e=e&&Y?ur(e):void 0,Di(this,e,t)},Y&&setTimeout((function(){j.devtools&&le&&le.emit("init",wn)}),0),t["default"]=wn}.call(this,i("c8ba"))},"2b3d":function(e,t,i){"use strict";i("3ca3");var n,r=i("23e7"),a=i("83ab"),s=i("0d3b"),o=i("da84"),c=i("37e8"),l=i("6eeb"),u=i("19aa"),h=i("5135"),d=i("60da"),f=i("4df4"),p=i("6547").codeAt,m=i("5fb2"),v=i("d44e"),g=i("9861"),y=i("69f3"),b=o.URL,C=g.URLSearchParams,S=g.getState,x=y.set,w=y.getterFor("URL"),_=Math.floor,A=Math.pow,E="Invalid authority",k="Invalid scheme",M="Invalid host",z="Invalid port",T=/[A-Za-z]/,I=/[\d+-.A-Za-z]/,N=/\d/,D=/^(0x|0X)/,P=/^[0-7]+$/,O=/^\d+$/,H=/^[\dA-Fa-f]+$/,F=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,L=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,V=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,R=/[\u0009\u000A\u000D]/g,B=function(e,t){var i,n,r;if("["==t.charAt(0)){if("]"!=t.charAt(t.length-1))return M;if(i=$(t.slice(1,-1)),!i)return M;e.host=i}else if(J(e)){if(t=m(t),F.test(t))return M;if(i=j(t),null===i)return M;e.host=i}else{if(L.test(t))return M;for(i="",n=f(t),r=0;r<n.length;r++)i+=Y(n[r],U);e.host=i}},j=function(e){var t,i,n,r,a,s,o,c=e.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),t=c.length,t>4)return e;for(i=[],n=0;n<t;n++){if(r=c[n],""==r)return e;if(a=10,r.length>1&&"0"==r.charAt(0)&&(a=D.test(r)?16:8,r=r.slice(8==a?1:2)),""===r)s=0;else{if(!(10==a?O:8==a?P:H).test(r))return e;s=parseInt(r,a)}i.push(s)}for(n=0;n<t;n++)if(s=i[n],n==t-1){if(s>=A(256,5-t))return null}else if(s>255)return null;for(o=i.pop(),n=0;n<i.length;n++)o+=i[n]*A(256,3-n);return o},$=function(e){var t,i,n,r,a,s,o,c=[0,0,0,0,0,0,0,0],l=0,u=null,h=0,d=function(){return e.charAt(h)};if(":"==d()){if(":"!=e.charAt(1))return;h+=2,l++,u=l}while(d()){if(8==l)return;if(":"!=d()){t=i=0;while(i<4&&H.test(d()))t=16*t+parseInt(d(),16),h++,i++;if("."==d()){if(0==i)return;if(h-=i,l>6)return;n=0;while(d()){if(r=null,n>0){if(!("."==d()&&n<4))return;h++}if(!N.test(d()))return;while(N.test(d())){if(a=parseInt(d(),10),null===r)r=a;else{if(0==r)return;r=10*r+a}if(r>255)return;h++}c[l]=256*c[l]+r,n++,2!=n&&4!=n||l++}if(4!=n)return;break}if(":"==d()){if(h++,!d())return}else if(d())return;c[l++]=t}else{if(null!==u)return;h++,l++,u=l}}if(null!==u){s=l-u,l=7;while(0!=l&&s>0)o=c[l],c[l--]=c[u+s-1],c[u+--s]=o}else if(8!=l)return;return c},K=function(e){for(var t=null,i=1,n=null,r=0,a=0;a<8;a++)0!==e[a]?(r>i&&(t=n,i=r),n=null,r=0):(null===n&&(n=a),++r);return r>i&&(t=n,i=r),t},q=function(e){var t,i,n,r;if("number"==typeof e){for(t=[],i=0;i<4;i++)t.unshift(e%256),e=_(e/256);return t.join(".")}if("object"==typeof e){for(t="",n=K(e),i=0;i<8;i++)r&&0===e[i]||(r&&(r=!1),n===i?(t+=i?":":"::",r=!0):(t+=e[i].toString(16),i<7&&(t+=":")));return"["+t+"]"}return e},U={},W=d({},U,{" ":1,'"':1,"<":1,">":1,"`":1}),X=d({},W,{"#":1,"?":1,"{":1,"}":1}),G=d({},X,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Y=function(e,t){var i=p(e,0);return i>32&&i<127&&!h(t,e)?e:encodeURIComponent(e)},Z={ftp:21,file:null,http:80,https:443,ws:80,wss:443},J=function(e){return h(Z,e.scheme)},Q=function(e){return""!=e.username||""!=e.password},ee=function(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme},te=function(e,t){var i;return 2==e.length&&T.test(e.charAt(0))&&(":"==(i=e.charAt(1))||!t&&"|"==i)},ie=function(e){var t;return e.length>1&&te(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)},ne=function(e){var t=e.path,i=t.length;!i||"file"==e.scheme&&1==i&&te(t[0],!0)||t.pop()},re=function(e){return"."===e||"%2e"===e.toLowerCase()},ae=function(e){return e=e.toLowerCase(),".."===e||"%2e."===e||".%2e"===e||"%2e%2e"===e},se={},oe={},ce={},le={},ue={},he={},de={},fe={},pe={},me={},ve={},ge={},ye={},be={},Ce={},Se={},xe={},we={},_e={},Ae={},Ee={},ke=function(e,t,i,r){var a,s,o,c,l=i||se,u=0,d="",p=!1,m=!1,v=!1;i||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace(V,"")),t=t.replace(R,""),a=f(t);while(u<=a.length){switch(s=a[u],l){case se:if(!s||!T.test(s)){if(i)return k;l=ce;continue}d+=s.toLowerCase(),l=oe;break;case oe:if(s&&(I.test(s)||"+"==s||"-"==s||"."==s))d+=s.toLowerCase();else{if(":"!=s){if(i)return k;d="",l=ce,u=0;continue}if(i&&(J(e)!=h(Z,d)||"file"==d&&(Q(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=d,i)return void(J(e)&&Z[e.scheme]==e.port&&(e.port=null));d="","file"==e.scheme?l=be:J(e)&&r&&r.scheme==e.scheme?l=le:J(e)?l=fe:"/"==a[u+1]?(l=ue,u++):(e.cannotBeABaseURL=!0,e.path.push(""),l=_e)}break;case ce:if(!r||r.cannotBeABaseURL&&"#"!=s)return k;if(r.cannotBeABaseURL&&"#"==s){e.scheme=r.scheme,e.path=r.path.slice(),e.query=r.query,e.fragment="",e.cannotBeABaseURL=!0,l=Ee;break}l="file"==r.scheme?be:he;continue;case le:if("/"!=s||"/"!=a[u+1]){l=he;continue}l=pe,u++;break;case ue:if("/"==s){l=me;break}l=we;continue;case he:if(e.scheme=r.scheme,s==n)e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.query=r.query;else if("/"==s||"\\"==s&&J(e))l=de;else if("?"==s)e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.query="",l=Ae;else{if("#"!=s){e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.path.pop(),l=we;continue}e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,e.path=r.path.slice(),e.query=r.query,e.fragment="",l=Ee}break;case de:if(!J(e)||"/"!=s&&"\\"!=s){if("/"!=s){e.username=r.username,e.password=r.password,e.host=r.host,e.port=r.port,l=we;continue}l=me}else l=pe;break;case fe:if(l=pe,"/"!=s||"/"!=d.charAt(u+1))continue;u++;break;case pe:if("/"!=s&&"\\"!=s){l=me;continue}break;case me:if("@"==s){p&&(d="%40"+d),p=!0,o=f(d);for(var g=0;g<o.length;g++){var y=o[g];if(":"!=y||v){var b=Y(y,G);v?e.password+=b:e.username+=b}else v=!0}d=""}else if(s==n||"/"==s||"?"==s||"#"==s||"\\"==s&&J(e)){if(p&&""==d)return E;u-=f(d).length+1,d="",l=ve}else d+=s;break;case ve:case ge:if(i&&"file"==e.scheme){l=Se;continue}if(":"!=s||m){if(s==n||"/"==s||"?"==s||"#"==s||"\\"==s&&J(e)){if(J(e)&&""==d)return M;if(i&&""==d&&(Q(e)||null!==e.port))return;if(c=B(e,d),c)return c;if(d="",l=xe,i)return;continue}"["==s?m=!0:"]"==s&&(m=!1),d+=s}else{if(""==d)return M;if(c=B(e,d),c)return c;if(d="",l=ye,i==ge)return}break;case ye:if(!N.test(s)){if(s==n||"/"==s||"?"==s||"#"==s||"\\"==s&&J(e)||i){if(""!=d){var C=parseInt(d,10);if(C>65535)return z;e.port=J(e)&&C===Z[e.scheme]?null:C,d=""}if(i)return;l=xe;continue}return z}d+=s;break;case be:if(e.scheme="file","/"==s||"\\"==s)l=Ce;else{if(!r||"file"!=r.scheme){l=we;continue}if(s==n)e.host=r.host,e.path=r.path.slice(),e.query=r.query;else if("?"==s)e.host=r.host,e.path=r.path.slice(),e.query="",l=Ae;else{if("#"!=s){ie(a.slice(u).join(""))||(e.host=r.host,e.path=r.path.slice(),ne(e)),l=we;continue}e.host=r.host,e.path=r.path.slice(),e.query=r.query,e.fragment="",l=Ee}}break;case Ce:if("/"==s||"\\"==s){l=Se;break}r&&"file"==r.scheme&&!ie(a.slice(u).join(""))&&(te(r.path[0],!0)?e.path.push(r.path[0]):e.host=r.host),l=we;continue;case Se:if(s==n||"/"==s||"\\"==s||"?"==s||"#"==s){if(!i&&te(d))l=we;else if(""==d){if(e.host="",i)return;l=xe}else{if(c=B(e,d),c)return c;if("localhost"==e.host&&(e.host=""),i)return;d="",l=xe}continue}d+=s;break;case xe:if(J(e)){if(l=we,"/"!=s&&"\\"!=s)continue}else if(i||"?"!=s)if(i||"#"!=s){if(s!=n&&(l=we,"/"!=s))continue}else e.fragment="",l=Ee;else e.query="",l=Ae;break;case we:if(s==n||"/"==s||"\\"==s&&J(e)||!i&&("?"==s||"#"==s)){if(ae(d)?(ne(e),"/"==s||"\\"==s&&J(e)||e.path.push("")):re(d)?"/"==s||"\\"==s&&J(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&te(d)&&(e.host&&(e.host=""),d=d.charAt(0)+":"),e.path.push(d)),d="","file"==e.scheme&&(s==n||"?"==s||"#"==s))while(e.path.length>1&&""===e.path[0])e.path.shift();"?"==s?(e.query="",l=Ae):"#"==s&&(e.fragment="",l=Ee)}else d+=Y(s,X);break;case _e:"?"==s?(e.query="",l=Ae):"#"==s?(e.fragment="",l=Ee):s!=n&&(e.path[0]+=Y(s,U));break;case Ae:i||"#"!=s?s!=n&&("'"==s&&J(e)?e.query+="%27":e.query+="#"==s?"%23":Y(s,U)):(e.fragment="",l=Ee);break;case Ee:s!=n&&(e.fragment+=Y(s,W));break}u++}},Me=function(e){var t,i,n=u(this,Me,"URL"),r=arguments.length>1?arguments[1]:void 0,s=String(e),o=x(n,{type:"URL"});if(void 0!==r)if(r instanceof Me)t=w(r);else if(i=ke(t={},String(r)),i)throw TypeError(i);if(i=ke(o,s,null,t),i)throw TypeError(i);var c=o.searchParams=new C,l=S(c);l.updateSearchParams(o.query),l.updateURL=function(){o.query=String(c)||null},a||(n.href=Te.call(n),n.origin=Ie.call(n),n.protocol=Ne.call(n),n.username=De.call(n),n.password=Pe.call(n),n.host=Oe.call(n),n.hostname=He.call(n),n.port=Fe.call(n),n.pathname=Le.call(n),n.search=Ve.call(n),n.searchParams=Re.call(n),n.hash=Be.call(n))},ze=Me.prototype,Te=function(){var e=w(this),t=e.scheme,i=e.username,n=e.password,r=e.host,a=e.port,s=e.path,o=e.query,c=e.fragment,l=t+":";return null!==r?(l+="//",Q(e)&&(l+=i+(n?":"+n:"")+"@"),l+=q(r),null!==a&&(l+=":"+a)):"file"==t&&(l+="//"),l+=e.cannotBeABaseURL?s[0]:s.length?"/"+s.join("/"):"",null!==o&&(l+="?"+o),null!==c&&(l+="#"+c),l},Ie=function(){var e=w(this),t=e.scheme,i=e.port;if("blob"==t)try{return new URL(t.path[0]).origin}catch(n){return"null"}return"file"!=t&&J(e)?t+"://"+q(e.host)+(null!==i?":"+i:""):"null"},Ne=function(){return w(this).scheme+":"},De=function(){return w(this).username},Pe=function(){return w(this).password},Oe=function(){var e=w(this),t=e.host,i=e.port;return null===t?"":null===i?q(t):q(t)+":"+i},He=function(){var e=w(this).host;return null===e?"":q(e)},Fe=function(){var e=w(this).port;return null===e?"":String(e)},Le=function(){var e=w(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},Ve=function(){var e=w(this).query;return e?"?"+e:""},Re=function(){return w(this).searchParams},Be=function(){var e=w(this).fragment;return e?"#"+e:""},je=function(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}};if(a&&c(ze,{href:je(Te,(function(e){var t=w(this),i=String(e),n=ke(t,i);if(n)throw TypeError(n);S(t.searchParams).updateSearchParams(t.query)})),origin:je(Ie),protocol:je(Ne,(function(e){var t=w(this);ke(t,String(e)+":",se)})),username:je(De,(function(e){var t=w(this),i=f(String(e));if(!ee(t)){t.username="";for(var n=0;n<i.length;n++)t.username+=Y(i[n],G)}})),password:je(Pe,(function(e){var t=w(this),i=f(String(e));if(!ee(t)){t.password="";for(var n=0;n<i.length;n++)t.password+=Y(i[n],G)}})),host:je(Oe,(function(e){var t=w(this);t.cannotBeABaseURL||ke(t,String(e),ve)})),hostname:je(He,(function(e){var t=w(this);t.cannotBeABaseURL||ke(t,String(e),ge)})),port:je(Fe,(function(e){var t=w(this);ee(t)||(e=String(e),""==e?t.port=null:ke(t,e,ye))})),pathname:je(Le,(function(e){var t=w(this);t.cannotBeABaseURL||(t.path=[],ke(t,e+"",xe))})),search:je(Ve,(function(e){var t=w(this);e=String(e),""==e?t.query=null:("?"==e.charAt(0)&&(e=e.slice(1)),t.query="",ke(t,e,Ae)),S(t.searchParams).updateSearchParams(t.query)})),searchParams:je(Re),hash:je(Be,(function(e){var t=w(this);e=String(e),""!=e?("#"==e.charAt(0)&&(e=e.slice(1)),t.fragment="",ke(t,e,Ee)):t.fragment=null}))}),l(ze,"toJSON",(function(){return Te.call(this)}),{enumerable:!0}),l(ze,"toString",(function(){return Te.call(this)}),{enumerable:!0}),b){var $e=b.createObjectURL,Ke=b.revokeObjectURL;$e&&l(Me,"createObjectURL",(function(e){return $e.apply(b,arguments)})),Ke&&l(Me,"revokeObjectURL",(function(e){return Ke.apply(b,arguments)}))}v(Me,"URL"),r({global:!0,forced:!s,sham:!a},{URL:Me})},"2bb5":function(e,t,i){"use strict";t.__esModule=!0;i("8122");t.default={mounted:function(){},methods:{getMigratingConfig:function(){return{props:{},events:{}}}}}},"2ca0":function(e,t,i){"use strict";var n=i("23e7"),r=i("06cf").f,a=i("50c4"),s=i("5a34"),o=i("1d80"),c=i("ab13"),l=i("c430"),u="".startsWith,h=Math.min,d=c("startsWith"),f=!l&&!d&&!!function(){var e=r(String.prototype,"startsWith");return e&&!e.writable}();n({target:"String",proto:!0,forced:!f&&!d},{startsWith:function(e){var t=String(o(this));s(e);var i=a(h(arguments.length>1?arguments[1]:void 0,t.length)),n=String(e);return u?u.call(t,n,i):t.slice(i,i+n.length)===n}})},"2caf":function(e,t,i){"use strict";i.d(t,"a",(function(){return c}));i("4ae1"),i("3410");function n(e){return n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(e)}i("d3b7"),i("25f0");function r(){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(e){return!1}}var a=i("53ca");function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t){return!t||"object"!==Object(a["a"])(t)&&"function"!==typeof t?s(e):t}function c(e){var t=r();return function(){var i,r=n(e);if(t){var a=n(this).constructor;i=Reflect.construct(r,arguments,a)}else i=r.apply(this,arguments);return o(this,i)}}},"2cf4":function(e,t,i){var n,r,a,s=i("da84"),o=i("d039"),c=i("c6b6"),l=i("0366"),u=i("1be4"),h=i("cc12"),d=i("1cdc"),f=s.location,p=s.setImmediate,m=s.clearImmediate,v=s.process,g=s.MessageChannel,y=s.Dispatch,b=0,C={},S="onreadystatechange",x=function(e){if(C.hasOwnProperty(e)){var t=C[e];delete C[e],t()}},w=function(e){return function(){x(e)}},_=function(e){x(e.data)},A=function(e){s.postMessage(e+"",f.protocol+"//"+f.host)};p&&m||(p=function(e){var t=[],i=1;while(arguments.length>i)t.push(arguments[i++]);return C[++b]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},n(b),b},m=function(e){delete C[e]},"process"==c(v)?n=function(e){v.nextTick(w(e))}:y&&y.now?n=function(e){y.now(w(e))}:g&&!d?(r=new g,a=r.port2,r.port1.onmessage=_,n=l(a.postMessage,a,1)):!s.addEventListener||"function"!=typeof postMessage||s.importScripts||o(A)||"file:"===f.protocol?n=S in h("script")?function(e){u.appendChild(h("script"))[S]=function(){u.removeChild(this),x(e)}}:function(e){setTimeout(w(e),0)}:(n=A,s.addEventListener("message",_,!1))),e.exports={set:p,clear:m}},"2d00":function(e,t,i){var n,r,a=i("da84"),s=i("342f"),o=a.process,c=o&&o.versions,l=c&&c.v8;l?(n=l.split("."),r=n[0]+n[1]):s&&(n=s.match(/Edge\/(\d+)/),(!n||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/),n&&(r=n[1]))),e.exports=r&&+r},"2d83":function(e,t,i){"use strict";var n=i("387f");e.exports=function(e,t,i,r,a){var s=new Error(e);return n(s,t,i,r,a)}},"2e67":function(e,t,i){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},"2f9a":function(e,t){e.exports=function(){}},"301c":function(e,t,i){i("e198")("asyncIterator")},"30b5":function(e,t,i){"use strict";var n=i("c532");function r(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,i){if(!t)return e;var a;if(i)a=i(t);else if(n.isURLSearchParams(t))a=t.toString();else{var s=[];n.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))})))})),a=s.join("&")}if(a){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}},3280:function(e,t,i){"use strict";var n=i("ebb5"),r=i("e58c"),a=n.aTypedArray,s=n.exportTypedArrayMethod;s("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},3397:function(e,t,i){var n=i("7a41");e.exports=function(e,t){if(!n(e))return e;var i,r;if(t&&"function"==typeof(i=e.toString)&&!n(r=i.call(e)))return r;if("function"==typeof(i=e.valueOf)&&!n(r=i.call(e)))return r;if(!t&&"function"==typeof(i=e.toString)&&!n(r=i.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},3410:function(e,t,i){var n=i("23e7"),r=i("d039"),a=i("7b0b"),s=i("e163"),o=i("e177"),c=r((function(){s(1)}));n({target:"Object",stat:!0,forced:c,sham:!o},{getPrototypeOf:function(e){return s(a(e))}})},"342f":function(e,t,i){var n=i("d066");e.exports=n("navigator","userAgent")||""},"35a1":function(e,t,i){var n=i("f5df"),r=i("3f8c"),a=i("b622"),s=a("iterator");e.exports=function(e){if(void 0!=e)return e[s]||e["@@iterator"]||r[n(e)]}},"37e8":function(e,t,i){var n=i("83ab"),r=i("9bf2"),a=i("825a"),s=i("df75");e.exports=n?Object.defineProperties:function(e,t){a(e);var i,n=s(t),o=n.length,c=0;while(o>c)r.f(e,i=n[c++],t[i]);return e}},3835:function(e,t,i){"use strict";function n(e){if(Array.isArray(e))return e}i.d(t,"a",(function(){return o}));i("a4d3"),i("e01a"),i("d28b"),i("d3b7"),i("3ca3"),i("ddb0");function r(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var i=[],n=!0,r=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(n=(s=o.next()).done);n=!0)if(i.push(s.value),t&&i.length===t)break}catch(c){r=!0,a=c}finally{try{n||null==o["return"]||o["return"]()}finally{if(r)throw a}}return i}}var a=i("06c5");function s(){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 o(e,t){return n(e)||r(e,t)||Object(a["a"])(e,t)||s()}},"387f":function(e,t,i){"use strict";e.exports=function(e,t,i,n,r){return e.config=t,i&&(e.code=i),e.request=n,e.response=r,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},3934:function(e,t,i){"use strict";var n=i("c532");e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");function r(e){var n=e;return t&&(i.setAttribute("href",n),n=i.href),i.setAttribute("href",n),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}return e=r(window.location.href),function(t){var i=n.isString(t)?r(t):t;return i.protocol===e.protocol&&i.host===e.host}}():function(){return function(){return!0}}()},"393a":function(e,t,i){"use strict";var n=i("e444"),r=i("512c"),a=i("ba01"),s=i("051b"),o=i("8a0d"),c=i("26dd"),l=i("92f0"),u=i("ce7a"),h=i("cc15")("iterator"),d=!([].keys&&"next"in[].keys()),f="@@iterator",p="keys",m="values",v=function(){return this};e.exports=function(e,t,i,g,y,b,C){c(i,t,g);var S,x,w,_=function(e){if(!d&&e in M)return M[e];switch(e){case p:return function(){return new i(this,e)};case m:return function(){return new i(this,e)}}return function(){return new i(this,e)}},A=t+" Iterator",E=y==m,k=!1,M=e.prototype,z=M[h]||M[f]||y&&M[y],T=z||_(y),I=y?E?_("entries"):T:void 0,N="Array"==t&&M.entries||z;if(N&&(w=u(N.call(new e)),w!==Object.prototype&&w.next&&(l(w,A,!0),n||"function"==typeof w[h]||s(w,h,v))),E&&z&&z.name!==m&&(k=!0,T=function(){return z.call(this)}),n&&!C||!d&&!k&&M[h]||s(M,h,T),o[t]=T,o[A]=v,y)if(S={values:E?T:_(m),keys:b?T:_(p),entries:I},C)for(x in S)x in M||a(M,x,S[x]);else r(r.P+r.F*(d||k),t,S);return S}},3980:function(e,t,i){i("d3b7"),i("3ca3"),i("ddb0"),i("e6cf"),i("820e"),i("a79d");var n=i("428f");e.exports=n.Promise},"39ad":function(e,t,i){var n=i("6ca1"),r=i("d16a"),a=i("9d11");e.exports=function(e){return function(t,i,s){var o,c=n(t),l=r(c.length),u=a(s,l);if(e&&i!=i){while(l>u)if(o=c[u++],o!=o)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===i)return e||u||0;return!e&&-1}}},"3a7b":function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").findIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},"3bbe":function(e,t,i){var n=i("861d");e.exports=function(e){if(!n(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"3c35":function(e,t){(function(t){e.exports=t}).call(this,{})},"3c4e":function(e,t,i){"use strict";var n=function(e){return r(e)&&!a(e)};function r(e){return!!e&&"object"===typeof e}function a(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||c(e)}var s="function"===typeof Symbol&&Symbol.for,o=s?Symbol.for("react.element"):60103;function c(e){return e.$$typeof===o}function l(e){return Array.isArray(e)?[]:{}}function u(e,t){var i=t&&!0===t.clone;return i&&n(e)?f(l(e),e,t):e}function h(e,t,i){var r=e.slice();return t.forEach((function(t,a){"undefined"===typeof r[a]?r[a]=u(t,i):n(t)?r[a]=f(e[a],t,i):-1===e.indexOf(t)&&r.push(u(t,i))})),r}function d(e,t,i){var r={};return n(e)&&Object.keys(e).forEach((function(t){r[t]=u(e[t],i)})),Object.keys(t).forEach((function(a){n(t[a])&&e[a]?r[a]=f(e[a],t[a],i):r[a]=u(t[a],i)})),r}function f(e,t,i){var n=Array.isArray(t),r=Array.isArray(e),a=i||{arrayMerge:h},s=n===r;if(s){if(n){var o=a.arrayMerge||h;return o(e,t,i)}return d(e,t,i)}return u(t,i)}f.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce((function(e,i){return f(e,i,t)}))};var p=f;e.exports=p},"3c5d":function(e,t,i){"use strict";var n=i("ebb5"),r=i("50c4"),a=i("182d"),s=i("7b0b"),o=i("d039"),c=n.aTypedArray,l=n.exportTypedArrayMethod,u=o((function(){new Int8Array(1).set({})}));l("set",(function(e){c(this);var t=a(arguments.length>1?arguments[1]:void 0,1),i=this.length,n=s(e),o=r(n.length),l=0;if(o+t>i)throw RangeError("Wrong length");while(l<o)this[t+l]=n[l++]}),u)},"3ca3":function(e,t,i){"use strict";var n=i("6547").charAt,r=i("69f3"),a=i("7dd0"),s="String Iterator",o=r.set,c=r.getterFor(s);a(String,"String",(function(e){o(this,{type:s,string:String(e),index:0})}),(function(){var e,t=c(this),i=t.string,r=t.index;return r>=i.length?{value:void 0,done:!0}:(e=n(i,r),t.index+=e.length,{value:e,done:!1})}))},"3f6b":function(e,t,i){e.exports={default:i("b9c7"),__esModule:!0}},"3f8c":function(e,t){e.exports={}},"3fcc":function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").map,a=i("4840"),s=n.aTypedArray,o=n.aTypedArrayConstructor,c=n.exportTypedArrayMethod;c("map",(function(e){return r(s(this),e,arguments.length>1?arguments[1]:void 0,(function(e,t){return new(o(a(e,e.constructor)))(t)}))}))},4010:function(e,t,i){"use strict";t.__esModule=!0,t.removeResizeListener=t.addResizeListener=void 0;var n=i("6dd8"),r=a(n);function a(e){return e&&e.__esModule?e:{default:e}}var s="undefined"===typeof window,o=function(e){var t=e,i=Array.isArray(t),n=0;for(t=i?t:t[Symbol.iterator]();;){var r;if(i){if(n>=t.length)break;r=t[n++]}else{if(n=t.next(),n.done)break;r=n.value}var a=r,s=a.target.__resizeListeners__||[];s.length&&s.forEach((function(e){e()}))}};t.addResizeListener=function(e,t){s||(e.__resizeListeners__||(e.__resizeListeners__=[],e.__ro__=new r.default(o),e.__ro__.observe(e)),e.__resizeListeners__.push(t))},t.removeResizeListener=function(e,t){e&&e.__resizeListeners__&&(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),e.__resizeListeners__.length||e.__ro__.disconnect())}},"408a":function(e,t,i){var n=i("c6b6");e.exports=function(e){if("number"!=typeof e&&"Number"!=n(e))throw TypeError("Incorrect invocation");return+e}},4160:function(e,t,i){"use strict";var n=i("23e7"),r=i("17c2");n({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},"417f":function(e,t,i){"use strict";t.__esModule=!0;var n=i("2b0e"),r=s(n),a=i("5924");function s(e){return e&&e.__esModule?e:{default:e}}var o=[],c="@@clickoutsideContext",l=void 0,u=0;function h(e,t,i){return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!(i&&i.context&&n.target&&r.target)||e.contains(n.target)||e.contains(r.target)||e===n.target||i.context.popperElm&&(i.context.popperElm.contains(n.target)||i.context.popperElm.contains(r.target))||(t.expression&&e[c].methodName&&i.context[e[c].methodName]?i.context[e[c].methodName]():e[c].bindingFn&&e[c].bindingFn())}}!r.default.prototype.$isServer&&(0,a.on)(document,"mousedown",(function(e){return l=e})),!r.default.prototype.$isServer&&(0,a.on)(document,"mouseup",(function(e){o.forEach((function(t){return t[c].documentHandler(e,l)}))})),t.default={bind:function(e,t,i){o.push(e);var n=u++;e[c]={id:n,documentHandler:h(e,t,i),methodName:t.expression,bindingFn:t.value}},update:function(e,t,i){e[c].documentHandler=h(e,t,i),e[c].methodName=t.expression,e[c].bindingFn=t.value},unbind:function(e){for(var t=o.length,i=0;i<t;i++)if(o[i][c].id===e[c].id){o.splice(i,1);break}delete e[c]}}},"41b2":function(e,t,i){"use strict";t.__esModule=!0;var n=i("3f6b"),r=a(n);function a(e){return e&&e.__esModule?e:{default:e}}t.default=r.default||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}},"41d0":function(e,t,i){const{BigInteger:n}=i("e0c8"),r=i("dffd"),a=function(e,t,i,n,r){for(let a=0;a<r;a++)i[n+a]=e[t+a]},s={minValue:-2147483648,maxValue:2147483647,parse(e){if(e<this.minValue){const t=Number(-e),i=t.toString(2),n=i.substr(i.length-31,31);let r="";for(let e=0;e<n.length;e++){const t=n.substr(e,1);r+="0"===t?"1":"0"}const a=parseInt(r,2);return a+1}if(e>this.maxValue){const t=Number(e),i=t.toString(2),n=i.substr(i.length-31,31);let r="";for(let e=0;e<n.length;e++){const t=n.substr(e,1);r+="0"===t?"1":"0"}const a=parseInt(r,2);return-(a+1)}return e},parseByte(e){if(e<0){const t=Number(-e),i=t.toString(2),n=i.substr(i.length-8,8);let r="";for(let e=0;e<n.length;e++){const t=n.substr(e,1);r+="0"===t?"1":"0"}const a=parseInt(r,2);return(a+1)%256}if(e>255){const t=Number(e),i=t.toString(2);return parseInt(i.substr(i.length-8,8),2)}return e}};class o{constructor(...e){this.xBuf=[],this.xBufOff=0,this.byteCount=0,this.DIGEST_LENGTH=32,this.v0=[1937774191,1226093241,388252375,3666478592,2842636476,372324522,3817729613,2969243214],this.v0=[1937774191,1226093241,388252375,-628488704,-1452330820,372324522,-477237683,-1325724082],this.v=new Array(8),this.v_=new Array(8),this.X0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.X=new Array(68),this.xOff=0,this.T_00_15=2043430169,this.T_16_63=2055708042,e.length>0?this.initDigest(e[0]):this.init()}init(){this.xBuf=new Array(4),this.reset()}initDigest(e){this.xBuf=[].concat(e.xBuf),this.xBufOff=e.xBufOff,this.byteCount=e.byteCount,a(e.X,0,this.X,0,e.X.length),this.xOff=e.xOff,a(e.v,0,this.v,0,e.v.length)}getDigestSize(){return this.DIGEST_LENGTH}reset(){this.byteCount=0,this.xBufOff=0;const e=Object.keys(this.xBuf);for(let t=0,i=e.length;t<i;t++)this.xBuf[e[t]]=null;a(this.v0,0,this.v,0,this.v0.length),this.xOff=0,a(this.X0,0,this.X,0,this.X0.length)}processBlock(){let e;const t=this.X,i=new Array(64);for(e=16;e<68;e++)t[e]=this.p1(t[e-16]^t[e-9]^this.rotate(t[e-3],15))^this.rotate(t[e-13],7)^t[e-6];for(e=0;e<64;e++)i[e]=t[e]^t[e+4];const n=this.v,r=this.v_;let o,c,l,u,h;for(a(n,0,r,0,this.v0.length),e=0;e<16;e++)h=this.rotate(r[0],12),o=s.parse(s.parse(h+r[4])+this.rotate(this.T_00_15,e)),o=this.rotate(o,7),c=o^h,l=s.parse(s.parse(this.ff_00_15(r[0],r[1],r[2])+r[3])+c)+i[e],u=s.parse(s.parse(this.gg_00_15(r[4],r[5],r[6])+r[7])+o)+t[e],r[3]=r[2],r[2]=this.rotate(r[1],9),r[1]=r[0],r[0]=l,r[7]=r[6],r[6]=this.rotate(r[5],19),r[5]=r[4],r[4]=this.p0(u);for(e=16;e<64;e++)h=this.rotate(r[0],12),o=s.parse(s.parse(h+r[4])+this.rotate(this.T_16_63,e)),o=this.rotate(o,7),c=o^h,l=s.parse(s.parse(this.ff_16_63(r[0],r[1],r[2])+r[3])+c)+i[e],u=s.parse(s.parse(this.gg_16_63(r[4],r[5],r[6])+r[7])+o)+t[e],r[3]=r[2],r[2]=this.rotate(r[1],9),r[1]=r[0],r[0]=l,r[7]=r[6],r[6]=this.rotate(r[5],19),r[5]=r[4],r[4]=this.p0(u);for(e=0;e<8;e++)n[e]^=s.parse(r[e]);this.xOff=0,a(this.X0,0,this.X,0,this.X0.length)}processWord(e,t){let i=e[t]<<24;i|=(255&e[++t])<<16,i|=(255&e[++t])<<8,i|=255&e[++t],this.X[this.xOff]=i,16===++this.xOff&&this.processBlock()}processLength(e){this.xOff>14&&this.processBlock(),this.X[14]=this.urShiftLong(e,32),this.X[15]=4294967295&e}intToBigEndian(e,t,i){t[i]=255&s.parseByte(this.urShift(e,24)),t[++i]=255&s.parseByte(this.urShift(e,16)),t[++i]=255&s.parseByte(this.urShift(e,8)),t[++i]=255&s.parseByte(e)}doFinal(e,t){this.finish();for(let i=0;i<8;i++)this.intToBigEndian(this.v[i],e,t+4*i);return this.reset(),this.DIGEST_LENGTH}update(e){this.xBuf[this.xBufOff++]=e,this.xBufOff===this.xBuf.length&&(this.processWord(this.xBuf,0),this.xBufOff=0),this.byteCount++}blockUpdate(e,t,i){while(0!==this.xBufOff&&i>0)this.update(e[t]),t++,i--;while(i>this.xBuf.length)this.processWord(e,t),t+=this.xBuf.length,i-=this.xBuf.length,this.byteCount+=this.xBuf.length;while(i>0)this.update(e[t]),t++,i--}finish(){const e=this.byteCount<<3;this.update(128);while(0!==this.xBufOff)this.update(0);this.processLength(e),this.processBlock()}rotate(e,t){return e<<t|this.urShift(e,32-t)}p0(e){return e^this.rotate(e,9)^this.rotate(e,17)}p1(e){return e^this.rotate(e,15)^this.rotate(e,23)}ff_00_15(e,t,i){return e^t^i}ff_16_63(e,t,i){return e&t|e&i|t&i}gg_00_15(e,t,i){return e^t^i}gg_16_63(e,t,i){return e&t|~e&i}urShift(e,t){return(e>s.maxValue||e<s.minValue)&&(e=s.parse(e)),e>>>t}urShiftLong(e,t){let i;const r=new n;if(r.fromInt(e),r.signum()>=0)i=r.shiftRight(t).intValue();else{const r=new n;r.fromInt(2);const a=~t;let s="";if(a<0){const r=64+a;for(let e=0;e<r;e++)s+="0";const o=new n;o.fromInt(e>>t);const c=new n("10"+s,2);s=c.toRadix(10);const l=c.add(o);i=l.toRadix(10)}else s=r.shiftLeft(~t).intValue(),i=(e>>t)+s}return i}getZ(e,t,i){let n=0;if(i){if("string"!==typeof i)throw new Error("sm2: Type of userId Must be String! Receive Type: "+typeof i);if(i.length>=8192)throw new Error("sm2: The Length of userId Must Less Than 8192! Length: "+i.length);i=r.parseUtf8StringToHex(i),n=4*i.length}if(this.update(n>>8&255),this.update(255&n),i){const e=r.hexToArray(i);this.blockUpdate(e,0,e.length)}const a=r.hexToArray(r.leftPad(e.curve.a.toBigInteger().toRadix(16),64)),s=r.hexToArray(r.leftPad(e.curve.b.toBigInteger().toRadix(16),64)),o=r.hexToArray(r.leftPad(e.getX().toBigInteger().toRadix(16),64)),c=r.hexToArray(r.leftPad(e.getY().toBigInteger().toRadix(16),64)),l=r.hexToArray(t.substr(0,64)),u=r.hexToArray(t.substr(64,64));this.blockUpdate(a,0,a.length),this.blockUpdate(s,0,s.length),this.blockUpdate(o,0,o.length),this.blockUpdate(c,0,c.length),this.blockUpdate(l,0,l.length),this.blockUpdate(u,0,u.length);const h=new Array(this.getDigestSize());return this.doFinal(h,0),h}}e.exports=o},"41f8":function(e,t,i){"use strict";t.__esModule=!0;var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.isVNode=a;var r=i("8122");function a(e){return null!==e&&"object"===("undefined"===typeof e?"undefined":n(e))&&(0,r.hasOwn)(e,"componentOptions")}},"428f":function(e,t,i){var n=i("da84");e.exports=n},4362:function(e,t,i){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,n="/";t.cwd=function(){return n},t.chdir=function(t){e||(e=i("df7c")),n=e.resolve(t,n)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},"44ad":function(e,t,i){var n=i("d039"),r=i("c6b6"),a="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==r(e)?a.call(e,""):Object(e)}:Object},"44d2":function(e,t,i){var n=i("b622"),r=i("7c73"),a=i("9bf2"),s=n("unscopables"),o=Array.prototype;void 0==o[s]&&a.f(o,s,{configurable:!0,value:r(null)}),e.exports=function(e){o[s][e]=!0}},"44de":function(e,t,i){var n=i("da84");e.exports=function(e,t){var i=n.console;i&&i.error&&(1===arguments.length?i.error(e):i.error(e,t))}},"44e7":function(e,t,i){var n=i("861d"),r=i("c6b6"),a=i("b622"),s=a("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[s])?!!t:"RegExp"==r(e))}},4661:function(e,t,i){i("2532");var n=i("b109");e.exports=n("String","includes")},"467f":function(e,t,i){"use strict";var n=i("2d83");e.exports=function(e,t,i){var r=i.config.validateStatus;i.status&&r&&!r(i.status)?t(n("Request failed with status code "+i.status,i.config,null,i.request,i)):e(i)}},4701:function(e,t,i){const{BigInteger:n}=i("e0c8"),r=new n("3");class a{constructor(e,t){this.x=t,this.q=e}equals(e){return e===this||this.q.equals(e.q)&&this.x.equals(e.x)}toBigInteger(){return this.x}negate(){return new a(this.q,this.x.negate().mod(this.q))}add(e){return new a(this.q,this.x.add(e.toBigInteger()).mod(this.q))}subtract(e){return new a(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))}multiply(e){return new a(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))}divide(e){return new a(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))}square(){return new a(this.q,this.x.square().mod(this.q))}}class s{constructor(e,t,i,r){this.curve=e,this.x=t,this.y=i,this.z=null==r?n.ONE:r,this.zinv=null}getX(){return null===this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}getY(){return null===this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}equals(e){if(e===this)return!0;if(this.isInfinity())return e.isInfinity();if(e.isInfinity())return this.isInfinity();const t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q);if(!t.equals(n.ZERO))return!1;const i=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);return i.equals(n.ZERO)}isInfinity(){return null===this.x&&null===this.y||this.z.equals(n.ZERO)&&!this.y.toBigInteger().equals(n.ZERO)}negate(){return new s(this.curve,this.x,this.y.negate(),this.z)}add(e){if(this.isInfinity())return e;if(e.isInfinity())return this;const t=this.x.toBigInteger(),i=this.y.toBigInteger(),r=this.z,a=e.x.toBigInteger(),o=e.y.toBigInteger(),c=e.z,l=this.curve.q,u=t.multiply(c).mod(l),h=a.multiply(r).mod(l),d=u.subtract(h),f=i.multiply(c).mod(l),p=o.multiply(r).mod(l),m=f.subtract(p);if(n.ZERO.equals(d))return n.ZERO.equals(m)?this.twice():this.curve.infinity;const v=u.add(h),g=r.multiply(c).mod(l),y=d.square().mod(l),b=d.multiply(y).mod(l),C=g.multiply(m.square()).subtract(v.multiply(y)).mod(l),S=d.multiply(C).mod(l),x=m.multiply(y.multiply(u).subtract(C)).subtract(f.multiply(b)).mod(l),w=b.multiply(g).mod(l);return new s(this.curve,this.curve.fromBigInteger(S),this.curve.fromBigInteger(x),w)}twice(){if(this.isInfinity())return this;if(!this.y.toBigInteger().signum())return this.curve.infinity;const e=this.x.toBigInteger(),t=this.y.toBigInteger(),i=this.z,n=this.curve.q,a=this.curve.a.toBigInteger(),o=e.square().multiply(r).add(a.multiply(i.square())).mod(n),c=t.shiftLeft(1).multiply(i).mod(n),l=t.square().mod(n),u=l.multiply(e).multiply(i).mod(n),h=c.square().mod(n),d=o.square().subtract(u.shiftLeft(3)).mod(n),f=c.multiply(d).mod(n),p=o.multiply(u.shiftLeft(2).subtract(d)).subtract(h.shiftLeft(1).multiply(l)).mod(n),m=c.multiply(h).mod(n);return new s(this.curve,this.curve.fromBigInteger(f),this.curve.fromBigInteger(p),m)}multiply(e){if(this.isInfinity())return this;if(!e.signum())return this.curve.infinity;const t=e.multiply(r),i=this.negate();let n=this;for(let r=t.bitLength()-2;r>0;r--){n=n.twice();const a=t.testBit(r),s=e.testBit(r);a!==s&&(n=n.add(a?this:i))}return n}}class o{constructor(e,t,i){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(i),this.infinity=new s(this,null,null)}equals(e){return e===this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}fromBigInteger(e){return new a(this.q,e)}decodePointHex(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:const t=(e.length-2)/2,i=e.substr(2,t),r=e.substr(t+2,t);return new s(this,this.fromBigInteger(new n(i,16)),this.fromBigInteger(new n(r,16)));default:return null}}}e.exports={ECPointFp:s,ECCurveFp:o}},4726:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=59)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},14:function(e,t){e.exports=i("14e9")},18:function(e,t){e.exports=i("dcdc")},21:function(e,t){e.exports=i("d397")},26:function(e,t){e.exports=i("92fa")},3:function(e,t){e.exports=i("8122")},31:function(e,t){e.exports=i("2a5e")},32:function(e,t){e.exports=i("e452")},51:function(e,t){e.exports=i("f494")},59:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:["el-cascader-panel",e.border&&"is-bordered"],on:{keydown:e.handleKeyDown}},e._l(e.menus,(function(e,t){return i("cascader-menu",{key:t,ref:"menu",refInFor:!0,attrs:{index:t,nodes:e}})})),1)},r=[];n._withStripped=!0;var a,s,o=i(26),c=i.n(o),l=i(14),u=i.n(l),h=i(18),d=i.n(h),f=i(51),p=i.n(f),m=i(3),v=function(e){return e.stopPropagation()},g={inject:["panel"],components:{ElCheckbox:d.a,ElRadio:p.a},props:{node:{required:!0},nodeId:String},computed:{config:function(){return this.panel.config},isLeaf:function(){return this.node.isLeaf},isDisabled:function(){return this.node.isDisabled},checkedValue:function(){return this.panel.checkedValue},isChecked:function(){return this.node.isSameNode(this.checkedValue)},inActivePath:function(){return this.isInPath(this.panel.activePath)},inCheckedPath:function(){var e=this;return!!this.config.checkStrictly&&this.panel.checkedNodePaths.some((function(t){return e.isInPath(t)}))},value:function(){return this.node.getValueByOption()}},methods:{handleExpand:function(){var e=this,t=this.panel,i=this.node,n=this.isDisabled,r=this.config,a=r.multiple,s=r.checkStrictly;!s&&n||i.loading||(r.lazy&&!i.loaded?t.lazyLoad(i,(function(){var t=e.isLeaf;if(t||e.handleExpand(),a){var n=!!t&&i.checked;e.handleMultiCheckChange(n)}})):t.handleExpand(i))},handleCheckChange:function(){var e=this.panel,t=this.value,i=this.node;e.handleCheckChange(t),e.handleExpand(i)},handleMultiCheckChange:function(e){this.node.doCheck(e),this.panel.calculateMultiCheckedValue()},isInPath:function(e){var t=this.node,i=e[t.level-1]||{};return i.uid===t.uid},renderPrefix:function(e){var t=this.isLeaf,i=this.isChecked,n=this.config,r=n.checkStrictly,a=n.multiple;return a?this.renderCheckbox(e):r?this.renderRadio(e):t&&i?this.renderCheckIcon(e):null},renderPostfix:function(e){var t=this.node,i=this.isLeaf;return t.loading?this.renderLoadingIcon(e):i?null:this.renderExpandIcon(e)},renderCheckbox:function(e){var t=this.node,i=this.config,n=this.isDisabled,r={on:{change:this.handleMultiCheckChange},nativeOn:{}};return i.checkStrictly&&(r.nativeOn.click=v),e("el-checkbox",c()([{attrs:{value:t.checked,indeterminate:t.indeterminate,disabled:n}},r]))},renderRadio:function(e){var t=this.checkedValue,i=this.value,n=this.isDisabled;return Object(m["isEqual"])(i,t)&&(i=t),e("el-radio",{attrs:{value:t,label:i,disabled:n},on:{change:this.handleCheckChange},nativeOn:{click:v}},[e("span")])},renderCheckIcon:function(e){return e("i",{class:"el-icon-check el-cascader-node__prefix"})},renderLoadingIcon:function(e){return e("i",{class:"el-icon-loading el-cascader-node__postfix"})},renderExpandIcon:function(e){return e("i",{class:"el-icon-arrow-right el-cascader-node__postfix"})},renderContent:function(e){var t=this.panel,i=this.node,n=t.renderLabelFn,r=n?n({node:i,data:i.data}):null;return e("span",{class:"el-cascader-node__label"},[r||i.label])}},render:function(e){var t=this,i=this.inActivePath,n=this.inCheckedPath,r=this.isChecked,a=this.isLeaf,s=this.isDisabled,o=this.config,l=this.nodeId,u=o.expandTrigger,h=o.checkStrictly,d=o.multiple,f=!h&&s,p={on:{}};return"click"===u?p.on.click=this.handleExpand:(p.on.mouseenter=function(e){t.handleExpand(),t.$emit("expand",e)},p.on.focus=function(e){t.handleExpand(),t.$emit("expand",e)}),!a||s||h||d||(p.on.click=this.handleCheckChange),e("li",c()([{attrs:{role:"menuitem",id:l,"aria-expanded":i,tabindex:f?null:-1},class:{"el-cascader-node":!0,"is-selectable":h,"in-active-path":i,"in-checked-path":n,"is-active":r,"is-disabled":f}},p]),[this.renderPrefix(e),this.renderContent(e),this.renderPostfix(e)])}},y=g,b=i(0),C=Object(b["a"])(y,a,s,!1,null,null,null);C.options.__file="packages/cascader-panel/src/cascader-node.vue";var S,x,w=C.exports,_=i(6),A=i.n(_),E={name:"ElCascaderMenu",mixins:[A.a],inject:["panel"],components:{ElScrollbar:u.a,CascaderNode:w},props:{nodes:{type:Array,required:!0},index:Number},data:function(){return{activeNode:null,hoverTimer:null,id:Object(m["generateId"])()}},computed:{isEmpty:function(){return!this.nodes.length},menuId:function(){return"cascader-menu-"+this.id+"-"+this.index}},methods:{handleExpand:function(e){this.activeNode=e.target},handleMouseMove:function(e){var t=this.activeNode,i=this.hoverTimer,n=this.$refs.hoverZone;if(t&&n)if(t.contains(e.target)){clearTimeout(i);var r=this.$el.getBoundingClientRect(),a=r.left,s=e.clientX-a,o=this.$el,c=o.offsetWidth,l=o.offsetHeight,u=t.offsetTop,h=u+t.offsetHeight;n.innerHTML='\n          <path style="pointer-events: auto;" fill="transparent" d="M'+s+" "+u+" L"+c+" 0 V"+u+' Z" />\n          <path style="pointer-events: auto;" fill="transparent" d="M'+s+" "+h+" L"+c+" "+l+" V"+h+' Z" />\n        '}else i||(this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold))},clearHoverZone:function(){var e=this.$refs.hoverZone;e&&(e.innerHTML="")},renderEmptyText:function(e){return e("div",{class:"el-cascader-menu__empty-text"},[this.t("el.cascader.noData")])},renderNodeList:function(e){var t=this.menuId,i=this.panel.isHoverMenu,n={on:{}};i&&(n.on.expand=this.handleExpand);var r=this.nodes.map((function(i,r){var a=i.hasChildren;return e("cascader-node",c()([{key:i.uid,attrs:{node:i,"node-id":t+"-"+r,"aria-haspopup":a,"aria-owns":a?t:null}},n]))}));return[].concat(r,[i?e("svg",{ref:"hoverZone",class:"el-cascader-menu__hover-zone"}):null])}},render:function(e){var t=this.isEmpty,i=this.menuId,n={nativeOn:{}};return this.panel.isHoverMenu&&(n.nativeOn.mousemove=this.handleMouseMove),e("el-scrollbar",c()([{attrs:{tag:"ul",role:"menu",id:i,"wrap-class":"el-cascader-menu__wrap","view-class":{"el-cascader-menu__list":!0,"is-empty":t}},class:"el-cascader-menu"},n]),[t?this.renderEmptyText(e):this.renderNodeList(e)])}},k=E,M=Object(b["a"])(k,S,x,!1,null,null,null);M.options.__file="packages/cascader-panel/src/cascader-menu.vue";var z=M.exports,T=i(21),I=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function N(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var D=0,P=function(){function e(t,i,n){N(this,e),this.data=t,this.config=i,this.parent=n||null,this.level=this.parent?this.parent.level+1:1,this.uid=D++,this.initState(),this.initChildren()}return e.prototype.initState=function(){var e=this.config,t=e.value,i=e.label;this.value=this.data[t],this.label=this.data[i],this.pathNodes=this.calculatePathNodes(),this.path=this.pathNodes.map((function(e){return e.value})),this.pathLabels=this.pathNodes.map((function(e){return e.label})),this.loading=!1,this.loaded=!1},e.prototype.initChildren=function(){var t=this,i=this.config,n=i.children,r=this.data[n];this.hasChildren=Array.isArray(r),this.children=(r||[]).map((function(n){return new e(n,i,t)}))},e.prototype.calculatePathNodes=function(){var e=[this],t=this.parent;while(t)e.unshift(t),t=t.parent;return e},e.prototype.getPath=function(){return this.path},e.prototype.getValue=function(){return this.value},e.prototype.getValueByOption=function(){return this.config.emitPath?this.getPath():this.getValue()},e.prototype.getText=function(e,t){return e?this.pathLabels.join(t):this.label},e.prototype.isSameNode=function(e){var t=this.getValueByOption();return this.config.multiple&&Array.isArray(e)?e.some((function(e){return Object(m["isEqual"])(e,t)})):Object(m["isEqual"])(e,t)},e.prototype.broadcast=function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];var r="onParent"+Object(m["capitalize"])(e);this.children.forEach((function(t){t&&(t.broadcast.apply(t,[e].concat(i)),t[r]&&t[r].apply(t,i))}))},e.prototype.emit=function(e){var t=this.parent,i="onChild"+Object(m["capitalize"])(e);if(t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];t[i]&&t[i].apply(t,r),t.emit.apply(t,[e].concat(r))}},e.prototype.onParentCheck=function(e){this.isDisabled||this.setCheckState(e)},e.prototype.onChildCheck=function(){var e=this.children,t=e.filter((function(e){return!e.isDisabled})),i=!!t.length&&t.every((function(e){return e.checked}));this.setCheckState(i)},e.prototype.setCheckState=function(e){var t=this.children.length,i=this.children.reduce((function(e,t){var i=t.checked?1:t.indeterminate?.5:0;return e+i}),0);this.checked=e,this.indeterminate=i!==t&&i>0},e.prototype.syncCheckState=function(e){var t=this.getValueByOption(),i=this.isSameNode(e,t);this.doCheck(i)},e.prototype.doCheck=function(e){this.checked!==e&&(this.config.checkStrictly?this.checked=e:(this.broadcast("check",e),this.setCheckState(e),this.emit("check")))},I(e,[{key:"isDisabled",get:function(){var e=this.data,t=this.parent,i=this.config,n=i.disabled,r=i.checkStrictly;return e[n]||!r&&t&&t.isDisabled}},{key:"isLeaf",get:function(){var e=this.data,t=this.loaded,i=this.hasChildren,n=this.children,r=this.config,a=r.lazy,s=r.leaf;if(a){var o=Object(T["isDef"])(e[s])?e[s]:!!t&&!n.length;return this.hasChildren=!o,o}return!i}}]),e}(),O=P;function H(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var F=function e(t,i){return t.reduce((function(t,n){return n.isLeaf?t.push(n):(!i&&t.push(n),t=t.concat(e(n.children,i))),t}),[])},L=function(){function e(t,i){H(this,e),this.config=i,this.initNodes(t)}return e.prototype.initNodes=function(e){var t=this;e=Object(m["coerceTruthyValueToArray"])(e),this.nodes=e.map((function(e){return new O(e,t.config)})),this.flattedNodes=this.getFlattedNodes(!1,!1),this.leafNodes=this.getFlattedNodes(!0,!1)},e.prototype.appendNode=function(e,t){var i=new O(e,this.config,t),n=t?t.children:this.nodes;n.push(i)},e.prototype.appendNodes=function(e,t){var i=this;e=Object(m["coerceTruthyValueToArray"])(e),e.forEach((function(e){return i.appendNode(e,t)}))},e.prototype.getNodes=function(){return this.nodes},e.prototype.getFlattedNodes=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=e?this.leafNodes:this.flattedNodes;return t?i:F(this.nodes,e)},e.prototype.getNodeByValue=function(e){if(e){var t=this.getFlattedNodes(!1,!this.config.lazy).filter((function(t){return Object(m["valueEquals"])(t.path,e)||t.value===e}));return t&&t.length?t[0]:null}return null},e}(),V=L,R=i(9),B=i.n(R),j=i(32),$=i.n(j),K=i(31),q=i.n(K),U=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},W=$.a.keys,X={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:m["noop"],value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},G=function(e){return!e.getAttribute("aria-owns")},Y=function(e,t){var i=e.parentNode;if(i){var n=i.querySelectorAll('.el-cascader-node[tabindex="-1"]'),r=Array.prototype.indexOf.call(n,e);return n[r+t]||null}return null},Z=function(e,t){if(e){var i=e.id.split("-");return Number(i[i.length-2])}},J=function(e){e&&(e.focus(),!G(e)&&e.click())},Q=function(e){if(e){var t=e.querySelector("input");t?t.click():G(e)&&e.click()}},ee={name:"ElCascaderPanel",components:{CascaderMenu:z},props:{value:{},options:Array,props:Object,border:{type:Boolean,default:!0},renderLabel:Function},provide:function(){return{panel:this}},data:function(){return{checkedValue:null,checkedNodePaths:[],store:[],menus:[],activePath:[],loadCount:0}},computed:{config:function(){return B()(U({},X),this.props||{})},multiple:function(){return this.config.multiple},checkStrictly:function(){return this.config.checkStrictly},leafOnly:function(){return!this.checkStrictly},isHoverMenu:function(){return"hover"===this.config.expandTrigger},renderLabelFn:function(){return this.renderLabel||this.$scopedSlots.default}},watch:{options:{handler:function(){this.initStore()},immediate:!0,deep:!0},value:function(){this.syncCheckedValue(),this.checkStrictly&&this.calculateCheckedNodePaths()},checkedValue:function(e){Object(m["isEqual"])(e,this.value)||(this.checkStrictly&&this.calculateCheckedNodePaths(),this.$emit("input",e),this.$emit("change",e))}},mounted:function(){Object(m["isEmpty"])(this.value)||this.syncCheckedValue()},methods:{initStore:function(){var e=this.config,t=this.options;e.lazy&&Object(m["isEmpty"])(t)?this.lazyLoad():(this.store=new V(t,e),this.menus=[this.store.getNodes()],this.syncMenuState())},syncCheckedValue:function(){var e=this.value,t=this.checkedValue;Object(m["isEqual"])(e,t)||(this.checkedValue=e,this.syncMenuState())},syncMenuState:function(){var e=this.multiple,t=this.checkStrictly;this.syncActivePath(),e&&this.syncMultiCheckState(),t&&this.calculateCheckedNodePaths(),this.$nextTick(this.scrollIntoView)},syncMultiCheckState:function(){var e=this,t=this.getFlattedNodes(this.leafOnly);t.forEach((function(t){t.syncCheckState(e.checkedValue)}))},syncActivePath:function(){var e=this,t=this.store,i=this.multiple,n=this.activePath,r=this.checkedValue;if(Object(m["isEmpty"])(n))if(Object(m["isEmpty"])(r))this.activePath=[],this.menus=[t.getNodes()];else{var a=i?r[0]:r,s=this.getNodeByValue(a)||{},o=(s.pathNodes||[]).slice(0,-1);this.expandNodes(o)}else{var c=n.map((function(t){return e.getNodeByValue(t.getValue())}));this.expandNodes(c)}},expandNodes:function(e){var t=this;e.forEach((function(e){return t.handleExpand(e,!0)}))},calculateCheckedNodePaths:function(){var e=this,t=this.checkedValue,i=this.multiple,n=i?Object(m["coerceTruthyValueToArray"])(t):[t];this.checkedNodePaths=n.map((function(t){var i=e.getNodeByValue(t);return i?i.pathNodes:[]}))},handleKeyDown:function(e){var t=e.target,i=e.keyCode;switch(i){case W.up:var n=Y(t,-1);J(n);break;case W.down:var r=Y(t,1);J(r);break;case W.left:var a=this.$refs.menu[Z(t)-1];if(a){var s=a.$el.querySelector('.el-cascader-node[aria-expanded="true"]');J(s)}break;case W.right:var o=this.$refs.menu[Z(t)+1];if(o){var c=o.$el.querySelector('.el-cascader-node[tabindex="-1"]');J(c)}break;case W.enter:Q(t);break;case W.esc:case W.tab:this.$emit("close");break;default:return}},handleExpand:function(e,t){var i=this.activePath,n=e.level,r=i.slice(0,n-1),a=this.menus.slice(0,n);if(e.isLeaf||(r.push(e),a.push(e.children)),this.activePath=r,this.menus=a,!t){var s=r.map((function(e){return e.getValue()})),o=i.map((function(e){return e.getValue()}));Object(m["valueEquals"])(s,o)||(this.$emit("active-item-change",s),this.$emit("expand-change",s))}},handleCheckChange:function(e){this.checkedValue=e},lazyLoad:function(e,t){var i=this,n=this.config;e||(e=e||{root:!0,level:0},this.store=new V([],n),this.menus=[this.store.getNodes()]),e.loading=!0;var r=function(n){var r=e.root?null:e;if(n&&n.length&&i.store.appendNodes(n,r),e.loading=!1,e.loaded=!0,Array.isArray(i.checkedValue)){var a=i.checkedValue[i.loadCount++],s=i.config.value,o=i.config.leaf;if(Array.isArray(n)&&n.filter((function(e){return e[s]===a})).length>0){var c=i.store.getNodeByValue(a);c.data[o]||i.lazyLoad(c,(function(){i.handleExpand(c)})),i.loadCount===i.checkedValue.length&&i.$parent.computePresentText()}}t&&t(n)};n.lazyLoad(e,r)},calculateMultiCheckedValue:function(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map((function(e){return e.getValueByOption()}))},scrollIntoView:function(){if(!this.$isServer){var e=this.$refs.menu||[];e.forEach((function(e){var t=e.$el;if(t){var i=t.querySelector(".el-scrollbar__wrap"),n=t.querySelector(".el-cascader-node.is-active")||t.querySelector(".el-cascader-node.in-active-path");q()(i,n)}}))}},getNodeByValue:function(e){return this.store.getNodeByValue(e)},getFlattedNodes:function(e){var t=!this.config.lazy;return this.store.getFlattedNodes(e,t)},getCheckedNodes:function(e){var t=this.checkedValue,i=this.multiple;if(i){var n=this.getFlattedNodes(e);return n.filter((function(e){return e.checked}))}return Object(m["isEmpty"])(t)?[]:[this.getNodeByValue(t)]},clearCheckedNodes:function(){var e=this.config,t=this.leafOnly,i=e.multiple,n=e.emitPath;i?(this.getCheckedNodes(t).filter((function(e){return!e.isDisabled})).forEach((function(e){return e.doCheck(!1)})),this.calculateMultiCheckedValue()):this.checkedValue=n?[]:null}}},te=ee,ie=Object(b["a"])(te,n,r,!1,null,null,null);ie.options.__file="packages/cascader-panel/src/cascader-panel.vue";var ne=ie.exports;ne.install=function(e){e.component(ne.name,ne)};t["default"]=ne},6:function(e,t){e.exports=i("6b7c")},9:function(e,t){e.exports=i("7f4d")}})},"476b":function(e,t,i){i("843c");var n=i("b109");e.exports=n("String","padEnd")},4840:function(e,t,i){var n=i("825a"),r=i("1c0b"),a=i("b622"),s=a("species");e.exports=function(e,t){var i,a=n(e).constructor;return void 0===a||void 0==(i=n(a)[s])?t:r(i)}},4897:function(e,t,i){"use strict";t.__esModule=!0,t.i18n=t.use=t.t=void 0;var n=i("f0d9"),r=h(n),a=i("2b0e"),s=h(a),o=i("3c4e"),c=h(o),l=i("9d7e"),u=h(l);function h(e){return e&&e.__esModule?e:{default:e}}var d=(0,u.default)(s.default),f=r.default,p=!1,m=function(){var e=Object.getPrototypeOf(this||s.default).$t;if("function"===typeof e&&s.default.locale)return p||(p=!0,s.default.locale(s.default.config.lang,(0,c.default)(f,s.default.locale(s.default.config.lang)||{},{clone:!0}))),e.apply(this,arguments)},v=t.t=function(e,t){var i=m.apply(this,arguments);if(null!==i&&void 0!==i)return i;for(var n=e.split("."),r=f,a=0,s=n.length;a<s;a++){var o=n[a];if(i=r[o],a===s-1)return d(i,t);if(!i)return"";r=i}return""},g=t.use=function(e){f=e||f},y=t.i18n=function(e){m=e||m};t.default={use:g,t:v,i18n:y}},4930:function(e,t,i){var n=i("d039");e.exports=!!Object.getOwnPropertySymbols&&!n((function(){return!String(Symbol())}))},"498a":function(e,t,i){"use strict";var n=i("23e7"),r=i("58a8").trim,a=i("c8d2");n({target:"String",proto:!0,forced:a("trim")},{trim:function(){return r(this)}})},"4a7b":function(e,t,i){"use strict";var n=i("c532");e.exports=function(e,t){t=t||{};var i={},r=["url","method","data"],a=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function c(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function l(r){n.isUndefined(t[r])?n.isUndefined(e[r])||(i[r]=c(void 0,e[r])):i[r]=c(e[r],t[r])}n.forEach(r,(function(e){n.isUndefined(t[e])||(i[e]=c(void 0,t[e]))})),n.forEach(a,l),n.forEach(s,(function(r){n.isUndefined(t[r])?n.isUndefined(e[r])||(i[r]=c(void 0,e[r])):i[r]=c(void 0,t[r])})),n.forEach(o,(function(n){n in t?i[n]=c(e[n],t[n]):n in e&&(i[n]=c(void 0,e[n]))}));var u=r.concat(a).concat(s).concat(o),h=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===u.indexOf(e)}));return n.forEach(h,l),i}},"4ae1":function(e,t,i){var n=i("23e7"),r=i("d066"),a=i("1c0b"),s=i("825a"),o=i("861d"),c=i("7c73"),l=i("0538"),u=i("d039"),h=r("Reflect","construct"),d=u((function(){function e(){}return!(h((function(){}),[],e)instanceof e)})),f=!u((function(){h((function(){}))})),p=d||f;n({target:"Reflect",stat:!0,forced:p,sham:p},{construct:function(e,t){a(e),s(t);var i=arguments.length<3?e:a(arguments[2]);if(f&&!d)return h(e,t,i);if(e==i){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var n=[null];return n.push.apply(n,t),new(l.apply(e,n))}var r=i.prototype,u=c(o(r)?r:Object.prototype),p=Function.apply.call(e,u,t);return o(p)?p:u}})},"4b26":function(e,t,i){"use strict";t.__esModule=!0;var n=i("2b0e"),r=s(n),a=i("5924");function s(e){return e&&e.__esModule?e:{default:e}}var o=!1,c=!1,l=void 0,u=function(){if(!r.default.prototype.$isServer){var e=d.modalDom;return e?o=!0:(o=!1,e=document.createElement("div"),d.modalDom=e,e.addEventListener("touchmove",(function(e){e.preventDefault(),e.stopPropagation()})),e.addEventListener("click",(function(){d.doOnModalClick&&d.doOnModalClick()}))),e}},h={},d={modalFade:!0,getInstance:function(e){return h[e]},register:function(e,t){e&&t&&(h[e]=t)},deregister:function(e){e&&(h[e]=null,delete h[e])},nextZIndex:function(){return d.zIndex++},modalStack:[],doOnModalClick:function(){var e=d.modalStack[d.modalStack.length-1];if(e){var t=d.getInstance(e.id);t&&t.closeOnClickModal&&t.close()}},openModal:function(e,t,i,n,s){if(!r.default.prototype.$isServer&&e&&void 0!==t){this.modalFade=s;for(var c=this.modalStack,l=0,h=c.length;l<h;l++){var d=c[l];if(d.id===e)return}var f=u();if((0,a.addClass)(f,"v-modal"),this.modalFade&&!o&&(0,a.addClass)(f,"v-modal-enter"),n){var p=n.trim().split(/\s+/);p.forEach((function(e){return(0,a.addClass)(f,e)}))}setTimeout((function(){(0,a.removeClass)(f,"v-modal-enter")}),200),i&&i.parentNode&&11!==i.parentNode.nodeType?i.parentNode.appendChild(f):document.body.appendChild(f),t&&(f.style.zIndex=t),f.tabIndex=0,f.style.display="",this.modalStack.push({id:e,zIndex:t,modalClass:n})}},closeModal:function(e){var t=this.modalStack,i=u();if(t.length>0){var n=t[t.length-1];if(n.id===e){if(n.modalClass){var r=n.modalClass.trim().split(/\s+/);r.forEach((function(e){return(0,a.removeClass)(i,e)}))}t.pop(),t.length>0&&(i.style.zIndex=t[t.length-1].zIndex)}else for(var s=t.length-1;s>=0;s--)if(t[s].id===e){t.splice(s,1);break}}0===t.length&&(this.modalFade&&(0,a.addClass)(i,"v-modal-leave"),setTimeout((function(){0===t.length&&(i.parentNode&&i.parentNode.removeChild(i),i.style.display="none",d.modalDom=void 0),(0,a.removeClass)(i,"v-modal-leave")}),200))}};Object.defineProperty(d,"zIndex",{configurable:!0,get:function(){return c||(l=l||(r.default.prototype.$ELEMENT||{}).zIndex||2e3,c=!0),l},set:function(e){l=e}});var f=function(){if(!r.default.prototype.$isServer&&d.modalStack.length>0){var e=d.modalStack[d.modalStack.length-1];if(!e)return;var t=d.getInstance(e.id);return t}};r.default.prototype.$isServer||window.addEventListener("keydown",(function(e){if(27===e.keyCode){var t=f();t&&t.closeOnPressEscape&&(t.handleClose?t.handleClose():t.handleAction?t.handleAction("cancel"):t.close())}})),t.default=d},"4b8b":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"4c53":function(e,t,i){"use strict";var n=i("23e7"),r=i("857a"),a=i("af03");n({target:"String",proto:!0,forced:a("sub")},{sub:function(){return r(this,"sub","","")}})},"4d20":function(e,t,i){var n=i("1917"),r=i("10db"),a=i("6ca1"),s=i("3397"),o=i("9c0e"),c=i("faf5"),l=Object.getOwnPropertyDescriptor;t.f=i("0bad")?l:function(e,t){if(e=a(e),t=s(t,!0),c)try{return l(e,t)}catch(i){}if(o(e,t))return r(!n.f.call(e,t),e[t])}},"4d64":function(e,t,i){var n=i("fc6a"),r=i("50c4"),a=i("23cb"),s=function(e){return function(t,i,s){var o,c=n(t),l=r(c.length),u=a(s,l);if(e&&i!=i){while(l>u)if(o=c[u++],o!=o)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===i)return e||u||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},"4d88":function(e,t){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},"4d90":function(e,t,i){"use strict";var n=i("23e7"),r=i("0ccb").start,a=i("9a0c");n({target:"String",proto:!0,forced:a},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(e,t,i){"use strict";var n=i("0366"),r=i("7b0b"),a=i("9bdd"),s=i("e95a"),o=i("50c4"),c=i("8418"),l=i("35a1");e.exports=function(e){var t,i,u,h,d,f,p=r(e),m="function"==typeof this?this:Array,v=arguments.length,g=v>1?arguments[1]:void 0,y=void 0!==g,b=l(p),C=0;if(y&&(g=n(g,v>2?arguments[2]:void 0,2)),void 0==b||m==Array&&s(b))for(t=o(p.length),i=new m(t);t>C;C++)f=y?g(p[C],C):p[C],c(i,C,f);else for(h=b.call(p),d=h.next,i=new m;!(u=d.call(h)).done;C++)f=y?a(h,g,[u.value,C],!0):u.value,c(i,C,f);return i.length=C,i}},"4e28":function(e,t,i){i("07ac");var n=i("428f");e.exports=n.Object.values},"4e4b":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=61)}([function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},,,function(e,t){e.exports=i("8122")},function(e,t){e.exports=i("d010")},function(e,t){e.exports=i("e974")},function(e,t){e.exports=i("6b7c")},,,,function(e,t){e.exports=i("f3ad")},,function(e,t){e.exports=i("417f")},,function(e,t){e.exports=i("14e9")},,function(e,t){e.exports=i("4010")},function(e,t){e.exports=i("0e15")},,function(e,t){e.exports=i("4897")},,function(e,t){e.exports=i("d397")},function(e,t){e.exports=i("12f2")},,,,,,,,,function(e,t){e.exports=i("2a5e")},,,function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-select-dropdown__item",class:{selected:e.itemSelected,"is-disabled":e.disabled||e.groupDisabled||e.limitReached,hover:e.hover},on:{mouseenter:e.hoverItem,click:function(t){return t.stopPropagation(),e.selectOptionClick(t)}}},[e._t("default",[i("span",[e._v(e._s(e.currentLabel))])])],2)},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o=i(3),c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l={mixins:[s.a],name:"ElOption",componentName:"ElOption",inject:["select"],props:{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},data:function(){return{index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}},computed:{isObject:function(){return"[object object]"===Object.prototype.toString.call(this.value).toLowerCase()},currentLabel:function(){return this.label||(this.isObject?"":this.value)},currentValue:function(){return this.value||this.label||""},itemSelected:function(){return this.select.multiple?this.contains(this.select.value,this.value):this.isEqual(this.value,this.select.value)},limitReached:function(){return!!this.select.multiple&&(!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0)}},watch:{currentLabel:function(){this.created||this.select.remote||this.dispatch("ElSelect","setSelected")},value:function(e,t){var i=this.select,n=i.remote,r=i.valueKey;if(!this.created&&!n){if(r&&"object"===("undefined"===typeof e?"undefined":c(e))&&"object"===("undefined"===typeof t?"undefined":c(t))&&e[r]===t[r])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(e,t){if(this.isObject){var i=this.select.valueKey;return Object(o["getValueByPath"])(e,i)===Object(o["getValueByPath"])(t,i)}return e===t},contains:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if(this.isObject){var i=this.select.valueKey;return e&&e.some((function(e){return Object(o["getValueByPath"])(e,i)===Object(o["getValueByPath"])(t,i)}))}return e&&e.indexOf(t)>-1},handleGroupDisabled:function(e){this.groupDisabled=e},hoverItem:function(){this.disabled||this.groupDisabled||(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){!0!==this.disabled&&!0!==this.groupDisabled&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(e){this.visible=new RegExp(Object(o["escapeRegexpString"])(e),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var e=this.select,t=e.selected,i=e.multiple,n=i?t:[t],r=this.select.cachedOptions.indexOf(this),a=n.indexOf(this);r>-1&&a<0&&this.select.cachedOptions.splice(r,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},u=l,h=i(0),d=Object(h["a"])(u,n,r,!1,null,null,null);d.options.__file="packages/select/src/option.vue";t["a"]=d.exports},,,,function(e,t){e.exports=i("8bbc")},,,,,,,,,,,,,,,,,,,,,,,function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],staticClass:"el-select",class:[e.selectSize?"el-select--"+e.selectSize:""],on:{click:function(t){return t.stopPropagation(),e.toggleMenu(t)}}},[e.multiple?i("div",{ref:"tags",staticClass:"el-select__tags",style:{"max-width":e.inputWidth-32+"px",width:"100%"}},[e.collapseTags&&e.selected.length?i("span",[i("el-tag",{attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:e.selected[0].hitState,type:"info","disable-transitions":""},on:{close:function(t){e.deleteTag(t,e.selected[0])}}},[i("span",{staticClass:"el-select__tags-text"},[e._v(e._s(e.selected[0].currentLabel))])]),e.selected.length>1?i("el-tag",{attrs:{closable:!1,size:e.collapseTagSize,type:"info","disable-transitions":""}},[i("span",{staticClass:"el-select__tags-text"},[e._v("+ "+e._s(e.selected.length-1))])]):e._e()],1):e._e(),e.collapseTags?e._e():i("transition-group",{on:{"after-leave":e.resetInputHeight}},e._l(e.selected,(function(t){return i("el-tag",{key:e.getValueKey(t),attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:t.hitState,type:"info","disable-transitions":""},on:{close:function(i){e.deleteTag(i,t)}}},[i("span",{staticClass:"el-select__tags-text"},[e._v(e._s(t.currentLabel))])])})),1),e.filterable?i("input",{directives:[{name:"model",rawName:"v-model",value:e.query,expression:"query"}],ref:"input",staticClass:"el-select__input",class:[e.selectSize?"is-"+e.selectSize:""],style:{"flex-grow":"1",width:e.inputLength/(e.inputWidth-32)+"%","max-width":e.inputWidth-42+"px"},attrs:{type:"text",disabled:e.selectDisabled,autocomplete:e.autoComplete||e.autocomplete},domProps:{value:e.query},on:{focus:e.handleFocus,blur:function(t){e.softFocus=!1},keyup:e.managePlaceholder,keydown:[e.resetInputState,function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.preventDefault(),e.navigateOptions("next")},function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.preventDefault(),e.navigateOptions("prev")},function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.selectOption(t))},function(t){if(!("button"in t)&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){return!("button"in t)&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:e.deletePrevTag(t)},function(t){if(!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab"))return null;e.visible=!1}],compositionstart:e.handleComposition,compositionupdate:e.handleComposition,compositionend:e.handleComposition,input:[function(t){t.target.composing||(e.query=t.target.value)},e.debouncedQueryChange]}}):e._e()],1):e._e(),i("el-input",{ref:"reference",class:{"is-focus":e.visible},attrs:{type:"text",placeholder:e.currentPlaceholder,name:e.name,id:e.id,autocomplete:e.autoComplete||e.autocomplete,size:e.selectSize,disabled:e.selectDisabled,readonly:e.readonly,"validate-event":!1,tabindex:e.multiple&&e.filterable?"-1":null},on:{focus:e.handleFocus,blur:e.handleBlur},nativeOn:{keyup:function(t){return e.debouncedOnInputChange(t)},keydown:[function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.stopPropagation(),t.preventDefault(),e.navigateOptions("next")},function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.stopPropagation(),t.preventDefault(),e.navigateOptions("prev")},function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.selectOption(t))},function(t){if(!("button"in t)&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){if(!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab"))return null;e.visible=!1}],paste:function(t){return e.debouncedOnInputChange(t)},mouseenter:function(t){e.inputHovering=!0},mouseleave:function(t){e.inputHovering=!1}},model:{value:e.selectedLabel,callback:function(t){e.selectedLabel=t},expression:"selectedLabel"}},[e.$slots.prefix?i("template",{slot:"prefix"},[e._t("prefix")],2):e._e(),i("template",{slot:"suffix"},[i("i",{directives:[{name:"show",rawName:"v-show",value:!e.showClose,expression:"!showClose"}],class:["el-select__caret","el-input__icon","el-icon-"+e.iconClass]}),e.showClose?i("i",{staticClass:"el-select__caret el-input__icon el-icon-circle-close",on:{click:e.handleClearClick}}):e._e()])],2),i("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":e.handleMenuEnter,"after-leave":e.doDestroy}},[i("el-select-menu",{directives:[{name:"show",rawName:"v-show",value:e.visible&&!1!==e.emptyText,expression:"visible && emptyText !== false"}],ref:"popper",attrs:{"append-to-body":e.popperAppendToBody}},[i("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.options.length>0&&!e.loading,expression:"options.length > 0 && !loading"}],ref:"scrollbar",class:{"is-empty":!e.allowCreate&&e.query&&0===e.filteredOptionsCount},attrs:{tag:"ul","wrap-class":"el-select-dropdown__wrap","view-class":"el-select-dropdown__list"}},[e.showNewOption?i("el-option",{attrs:{value:e.query,created:""}}):e._e(),e._t("default")],2),e.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&0===e.options.length)?[e.$slots.empty?e._t("empty"):i("p",{staticClass:"el-select-dropdown__empty"},[e._v("\n          "+e._s(e.emptyText)+"\n        ")])]:e._e()],2)],1)],1)},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o=i(22),c=i.n(o),l=i(6),u=i.n(l),h=i(10),d=i.n(h),f=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-select-dropdown el-popper",class:[{"is-multiple":e.$parent.multiple},e.popperClass],style:{minWidth:e.minWidth}},[e._t("default")],2)},p=[];f._withStripped=!0;var m=i(5),v=i.n(m),g={name:"ElSelectDropdown",componentName:"ElSelectDropdown",mixins:[v.a],props:{placement:{default:"bottom-start"},boundariesPadding:{default:0},popperOptions:{default:function(){return{gpuAcceleration:!1}}},visibleArrow:{default:!0},appendToBody:{type:Boolean,default:!0}},data:function(){return{minWidth:""}},computed:{popperClass:function(){return this.$parent.popperClass}},watch:{"$parent.inputWidth":function(){this.minWidth=this.$parent.$el.getBoundingClientRect().width+"px"}},mounted:function(){var e=this;this.referenceElm=this.$parent.$refs.reference.$el,this.$parent.popperElm=this.popperElm=this.$el,this.$on("updatePopper",(function(){e.$parent.visible&&e.updatePopper()})),this.$on("destroyPopper",this.destroyPopper)}},y=g,b=i(0),C=Object(b["a"])(y,f,p,!1,null,null,null);C.options.__file="packages/select/src/select-dropdown.vue";var S=C.exports,x=i(34),w=i(38),_=i.n(w),A=i(14),E=i.n(A),k=i(17),M=i.n(k),z=i(12),T=i.n(z),I=i(16),N=i(19),D=i(31),P=i.n(D),O=i(3),H={data:function(){return{hoverOption:-1}},computed:{optionsAllDisabled:function(){return this.options.filter((function(e){return e.visible})).every((function(e){return e.disabled}))}},watch:{hoverIndex:function(e){var t=this;"number"===typeof e&&e>-1&&(this.hoverOption=this.options[e]||{}),this.options.forEach((function(e){e.hover=t.hoverOption===e}))}},methods:{navigateOptions:function(e){var t=this;if(this.visible){if(0!==this.options.length&&0!==this.filteredOptionsCount&&!this.optionsAllDisabled){"next"===e?(this.hoverIndex++,this.hoverIndex===this.options.length&&(this.hoverIndex=0)):"prev"===e&&(this.hoverIndex--,this.hoverIndex<0&&(this.hoverIndex=this.options.length-1));var i=this.options[this.hoverIndex];!0!==i.disabled&&!0!==i.groupDisabled&&i.visible||this.navigateOptions(e),this.$nextTick((function(){return t.scrollToOption(t.hoverOption)}))}}else this.visible=!0}}},F=i(21),L={mixins:[s.a,u.a,c()("reference"),H],name:"ElSelect",componentName:"ElSelect",inject:{elForm:{default:""},elFormItem:{default:""}},provide:function(){return{select:this}},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},readonly:function(){return!this.filterable||this.multiple||!Object(O["isIE"])()&&!Object(O["isEdge"])()&&!this.visible},showClose:function(){var e=this.multiple?Array.isArray(this.value)&&this.value.length>0:void 0!==this.value&&null!==this.value&&""!==this.value,t=this.clearable&&!this.selectDisabled&&this.inputHovering&&e;return t},iconClass:function(){return this.remote&&this.filterable?"":this.visible?"arrow-up is-reverse":"arrow-up"},debounce:function(){return this.remote?300:0},emptyText:function(){return this.loading?this.loadingText||this.t("el.select.loading"):(!this.remote||""!==this.query||0!==this.options.length)&&(this.filterable&&this.query&&this.options.length>0&&0===this.filteredOptionsCount?this.noMatchText||this.t("el.select.noMatch"):0===this.options.length?this.noDataText||this.t("el.select.noData"):null)},showNewOption:function(){var e=this,t=this.options.filter((function(e){return!e.created})).some((function(t){return t.currentLabel===e.query}));return this.filterable&&this.allowCreate&&""!==this.query&&!t},selectSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},selectDisabled:function(){return this.disabled||(this.elForm||{}).disabled},collapseTagSize:function(){return["small","mini"].indexOf(this.selectSize)>-1?"mini":"small"}},components:{ElInput:d.a,ElSelectMenu:S,ElOption:x["a"],ElTag:_.a,ElScrollbar:E.a},directives:{Clickoutside:T.a},props:{name:String,id:String,value:{required:!0},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(e){return!0}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,default:function(){return Object(N["t"])("el.select.placeholder")}},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:"value"},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0}},data:function(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:!1,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:"",optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,currentPlaceholder:"",menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1}},watch:{selectDisabled:function(){var e=this;this.$nextTick((function(){e.resetInputHeight()}))},placeholder:function(e){this.cachedPlaceHolder=this.currentPlaceholder=e},value:function(e,t){this.multiple&&(this.resetInputHeight(),e&&e.length>0||this.$refs.input&&""!==this.query?this.currentPlaceholder="":this.currentPlaceholder=this.cachedPlaceHolder,this.filterable&&!this.reserveKeyword&&(this.query="",this.handleQueryChange(this.query))),this.setSelected(),this.filterable&&!this.multiple&&(this.inputLength=20),Object(O["valueEquals"])(e,t)||this.dispatch("ElFormItem","el.form.change",e)},visible:function(e){var t=this;e?(this.broadcast("ElSelectDropdown","updatePopper"),this.filterable&&(this.query=this.remote?"":this.selectedLabel,this.handleQueryChange(this.query),this.multiple?this.$refs.input.focus():(this.remote||(this.broadcast("ElOption","queryChange",""),this.broadcast("ElOptionGroup","queryChange")),this.selectedLabel&&(this.currentPlaceholder=this.selectedLabel,this.selectedLabel="")))):(this.broadcast("ElSelectDropdown","destroyPopper"),this.$refs.input&&this.$refs.input.blur(),this.query="",this.previousQuery=null,this.selectedLabel="",this.inputLength=20,this.menuVisibleOnFocus=!1,this.resetHoverIndex(),this.$nextTick((function(){t.$refs.input&&""===t.$refs.input.value&&0===t.selected.length&&(t.currentPlaceholder=t.cachedPlaceHolder)})),this.multiple||(this.selected&&(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel?this.selectedLabel=this.createdLabel:this.selectedLabel=this.selected.currentLabel,this.filterable&&(this.query=this.selectedLabel)),this.filterable&&(this.currentPlaceholder=this.cachedPlaceHolder))),this.$emit("visible-change",e)},options:function(){var e=this;if(!this.$isServer){this.$nextTick((function(){e.broadcast("ElSelectDropdown","updatePopper")})),this.multiple&&this.resetInputHeight();var t=this.$el.querySelectorAll("input");-1===[].indexOf.call(t,document.activeElement)&&this.setSelected(),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}}},methods:{handleComposition:function(e){var t=this,i=e.target.value;if("compositionend"===e.type)this.isOnComposition=!1,this.$nextTick((function(e){return t.handleQueryChange(i)}));else{var n=i[i.length-1]||"";this.isOnComposition=!Object(F["isKorean"])(n)}},handleQueryChange:function(e){var t=this;this.previousQuery===e||this.isOnComposition||(null!==this.previousQuery||"function"!==typeof this.filterMethod&&"function"!==typeof this.remoteMethod?(this.previousQuery=e,this.$nextTick((function(){t.visible&&t.broadcast("ElSelectDropdown","updatePopper")})),this.hoverIndex=-1,this.multiple&&this.filterable&&this.$nextTick((function(){var e=15*t.$refs.input.value.length+20;t.inputLength=t.collapseTags?Math.min(50,e):e,t.managePlaceholder(),t.resetInputHeight()})),this.remote&&"function"===typeof this.remoteMethod?(this.hoverIndex=-1,this.remoteMethod(e)):"function"===typeof this.filterMethod?(this.filterMethod(e),this.broadcast("ElOptionGroup","queryChange")):(this.filteredOptionsCount=this.optionsCount,this.broadcast("ElOption","queryChange",e),this.broadcast("ElOptionGroup","queryChange")),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()):this.previousQuery=e)},scrollToOption:function(e){var t=Array.isArray(e)&&e[0]?e[0].$el:e.$el;if(this.$refs.popper&&t){var i=this.$refs.popper.$el.querySelector(".el-select-dropdown__wrap");P()(i,t)}this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll()},handleMenuEnter:function(){var e=this;this.$nextTick((function(){return e.scrollToOption(e.selected)}))},emitChange:function(e){Object(O["valueEquals"])(this.value,e)||this.$emit("change",e)},getOption:function(e){for(var t=void 0,i="[object object]"===Object.prototype.toString.call(e).toLowerCase(),n="[object null]"===Object.prototype.toString.call(e).toLowerCase(),r="[object undefined]"===Object.prototype.toString.call(e).toLowerCase(),a=this.cachedOptions.length-1;a>=0;a--){var s=this.cachedOptions[a],o=i?Object(O["getValueByPath"])(s.value,this.valueKey)===Object(O["getValueByPath"])(e,this.valueKey):s.value===e;if(o){t=s;break}}if(t)return t;var c=i||n||r?"":e,l={value:e,currentLabel:c};return this.multiple&&(l.hitState=!1),l},setSelected:function(){var e=this;if(!this.multiple){var t=this.getOption(this.value);return t.created?(this.createdLabel=t.currentLabel,this.createdSelected=!0):this.createdSelected=!1,this.selectedLabel=t.currentLabel,this.selected=t,void(this.filterable&&(this.query=this.selectedLabel))}var i=[];Array.isArray(this.value)&&this.value.forEach((function(t){i.push(e.getOption(t))})),this.selected=i,this.$nextTick((function(){e.resetInputHeight()}))},handleFocus:function(e){this.softFocus?this.softFocus=!1:((this.automaticDropdown||this.filterable)&&(this.visible=!0,this.filterable&&(this.menuVisibleOnFocus=!0)),this.$emit("focus",e))},blur:function(){this.visible=!1,this.$refs.reference.blur()},handleBlur:function(e){var t=this;setTimeout((function(){t.isSilentBlur?t.isSilentBlur=!1:t.$emit("blur",e)}),50),this.softFocus=!1},handleClearClick:function(e){this.deleteSelected(e)},doDestroy:function(){this.$refs.popper&&this.$refs.popper.doDestroy()},handleClose:function(){this.visible=!1},toggleLastOptionHitState:function(e){if(Array.isArray(this.selected)){var t=this.selected[this.selected.length-1];if(t)return!0===e||!1===e?(t.hitState=e,e):(t.hitState=!t.hitState,t.hitState)}},deletePrevTag:function(e){if(e.target.value.length<=0&&!this.toggleLastOptionHitState()){var t=this.value.slice();t.pop(),this.$emit("input",t),this.emitChange(t)}},managePlaceholder:function(){""!==this.currentPlaceholder&&(this.currentPlaceholder=this.$refs.input.value?"":this.cachedPlaceHolder)},resetInputState:function(e){8!==e.keyCode&&this.toggleLastOptionHitState(!1),this.inputLength=15*this.$refs.input.value.length+20,this.resetInputHeight()},resetInputHeight:function(){var e=this;this.collapseTags&&!this.filterable||this.$nextTick((function(){if(e.$refs.reference){var t=e.$refs.reference.$el.childNodes,i=[].filter.call(t,(function(e){return"INPUT"===e.tagName}))[0],n=e.$refs.tags,r=e.initialInputHeight||40;i.style.height=0===e.selected.length?r+"px":Math.max(n?n.clientHeight+(n.clientHeight>r?6:0):0,r)+"px",e.visible&&!1!==e.emptyText&&e.broadcast("ElSelectDropdown","updatePopper")}}))},resetHoverIndex:function(){var e=this;setTimeout((function(){e.multiple?e.selected.length>0?e.hoverIndex=Math.min.apply(null,e.selected.map((function(t){return e.options.indexOf(t)}))):e.hoverIndex=-1:e.hoverIndex=e.options.indexOf(e.selected)}),300)},handleOptionSelect:function(e,t){var i=this;if(this.multiple){var n=(this.value||[]).slice(),r=this.getValueIndex(n,e.value);r>-1?n.splice(r,1):(this.multipleLimit<=0||n.length<this.multipleLimit)&&n.push(e.value),this.$emit("input",n),this.emitChange(n),e.created&&(this.query="",this.handleQueryChange(""),this.inputLength=20),this.filterable&&this.$refs.input.focus()}else this.$emit("input",e.value),this.emitChange(e.value),this.visible=!1;this.isSilentBlur=t,this.setSoftFocus(),this.visible||this.$nextTick((function(){i.scrollToOption(e)}))},setSoftFocus:function(){this.softFocus=!0;var e=this.$refs.input||this.$refs.reference;e&&e.focus()},getValueIndex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1],i="[object object]"===Object.prototype.toString.call(t).toLowerCase();if(i){var n=this.valueKey,r=-1;return e.some((function(e,i){return Object(O["getValueByPath"])(e,n)===Object(O["getValueByPath"])(t,n)&&(r=i,!0)})),r}return e.indexOf(t)},toggleMenu:function(){this.selectDisabled||(this.menuVisibleOnFocus?this.menuVisibleOnFocus=!1:this.visible=!this.visible,this.visible&&(this.$refs.input||this.$refs.reference).focus())},selectOption:function(){this.visible?this.options[this.hoverIndex]&&this.handleOptionSelect(this.options[this.hoverIndex]):this.toggleMenu()},deleteSelected:function(e){e.stopPropagation();var t=this.multiple?[]:"";this.$emit("input",t),this.emitChange(t),this.visible=!1,this.$emit("clear")},deleteTag:function(e,t){var i=this.selected.indexOf(t);if(i>-1&&!this.selectDisabled){var n=this.value.slice();n.splice(i,1),this.$emit("input",n),this.emitChange(n),this.$emit("remove-tag",t.value)}e.stopPropagation()},onInputChange:function(){this.filterable&&this.query!==this.selectedLabel&&(this.query=this.selectedLabel,this.handleQueryChange(this.query))},onOptionDestroy:function(e){e>-1&&(this.optionsCount--,this.filteredOptionsCount--,this.options.splice(e,1))},resetInputWidth:function(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width},handleResize:function(){this.resetInputWidth(),this.multiple&&this.resetInputHeight()},checkDefaultFirstOption:function(){this.hoverIndex=-1;for(var e=!1,t=this.options.length-1;t>=0;t--)if(this.options[t].created){e=!0,this.hoverIndex=t;break}if(!e)for(var i=0;i!==this.options.length;++i){var n=this.options[i];if(this.query){if(!n.disabled&&!n.groupDisabled&&n.visible){this.hoverIndex=i;break}}else if(n.itemSelected){this.hoverIndex=i;break}}},getValueKey:function(e){return"[object object]"!==Object.prototype.toString.call(e.value).toLowerCase()?e.value:Object(O["getValueByPath"])(e.value,this.valueKey)}},created:function(){var e=this;this.cachedPlaceHolder=this.currentPlaceholder=this.placeholder,this.multiple&&!Array.isArray(this.value)&&this.$emit("input",[]),!this.multiple&&Array.isArray(this.value)&&this.$emit("input",""),this.debouncedOnInputChange=M()(this.debounce,(function(){e.onInputChange()})),this.debouncedQueryChange=M()(this.debounce,(function(t){e.handleQueryChange(t.target.value)})),this.$on("handleOptionClick",this.handleOptionSelect),this.$on("setSelected",this.setSelected)},mounted:function(){var e=this;this.multiple&&Array.isArray(this.value)&&this.value.length>0&&(this.currentPlaceholder=""),Object(I["addResizeListener"])(this.$el,this.handleResize);var t=this.$refs.reference;if(t&&t.$el){var i={medium:36,small:32,mini:28},n=t.$el.querySelector("input");this.initialInputHeight=n.getBoundingClientRect().height||i[this.selectSize]}this.remote&&this.multiple&&this.resetInputHeight(),this.$nextTick((function(){t&&t.$el&&(e.inputWidth=t.$el.getBoundingClientRect().width)})),this.setSelected()},beforeDestroy:function(){this.$el&&this.handleResize&&Object(I["removeResizeListener"])(this.$el,this.handleResize)}},V=L,R=Object(b["a"])(V,n,r,!1,null,null,null);R.options.__file="packages/select/src/select.vue";var B=R.exports;B.install=function(e){e.component(B.name,B)};t["default"]=B}])},"4e71":function(e,t,i){i("e198")("observable")},"4ebc":function(e,t,i){var n=i("4d88");e.exports=Array.isArray||function(e){return"Array"==n(e)}},"4ec9":function(e,t,i){"use strict";var n=i("6d61"),r=i("6566");e.exports=n("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r)},"4fad":function(e,t,i){var n=i("23e7"),r=i("6f53").entries;n({target:"Object",stat:!0},{entries:function(e){return r(e)}})},"50c4":function(e,t,i){var n=i("a691"),r=Math.min;e.exports=function(e){return e>0?r(n(e),9007199254740991):0}},"511f":function(e,t,i){i("0b99"),i("658f"),e.exports=i("fcd4").f("iterator")},5128:function(e,t,i){"use strict";t.__esModule=!0,t.PopupManager=void 0;var n=i("2b0e"),r=d(n),a=i("7f4d"),s=d(a),o=i("4b26"),c=d(o),l=i("e62d"),u=d(l),h=i("5924");function d(e){return e&&e.__esModule?e:{default:e}}var f=1,p=void 0;t.default={props:{visible:{type:Boolean,default:!1},openDelay:{},closeDelay:{},zIndex:{},modal:{type:Boolean,default:!1},modalFade:{type:Boolean,default:!0},modalClass:{},modalAppendToBody:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!1}},beforeMount:function(){this._popupId="popup-"+f++,c.default.register(this._popupId,this)},beforeDestroy:function(){c.default.deregister(this._popupId),c.default.closeModal(this._popupId),this.restoreBodyStyle()},data:function(){return{opened:!1,bodyPaddingRight:null,computedBodyPaddingRight:0,withoutHiddenClass:!0,rendered:!1}},watch:{visible:function(e){var t=this;if(e){if(this._opening)return;this.rendered?this.open():(this.rendered=!0,r.default.nextTick((function(){t.open()})))}else this.close()}},methods:{open:function(e){var t=this;this.rendered||(this.rendered=!0);var i=(0,s.default)({},this.$props||this,e);this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),clearTimeout(this._openTimer);var n=Number(i.openDelay);n>0?this._openTimer=setTimeout((function(){t._openTimer=null,t.doOpen(i)}),n):this.doOpen(i)},doOpen:function(e){if(!this.$isServer&&(!this.willOpen||this.willOpen())&&!this.opened){this._opening=!0;var t=this.$el,i=e.modal,n=e.zIndex;if(n&&(c.default.zIndex=n),i&&(this._closing&&(c.default.closeModal(this._popupId),this._closing=!1),c.default.openModal(this._popupId,c.default.nextZIndex(),this.modalAppendToBody?void 0:t,e.modalClass,e.modalFade),e.lockScroll)){this.withoutHiddenClass=!(0,h.hasClass)(document.body,"el-popup-parent--hidden"),this.withoutHiddenClass&&(this.bodyPaddingRight=document.body.style.paddingRight,this.computedBodyPaddingRight=parseInt((0,h.getStyle)(document.body,"paddingRight"),10)),p=(0,u.default)();var r=document.documentElement.clientHeight<document.body.scrollHeight,a=(0,h.getStyle)(document.body,"overflowY");p>0&&(r||"scroll"===a)&&this.withoutHiddenClass&&(document.body.style.paddingRight=this.computedBodyPaddingRight+p+"px"),(0,h.addClass)(document.body,"el-popup-parent--hidden")}"static"===getComputedStyle(t).position&&(t.style.position="absolute"),t.style.zIndex=c.default.nextZIndex(),this.opened=!0,this.onOpen&&this.onOpen(),this.doAfterOpen()}},doAfterOpen:function(){this._opening=!1},close:function(){var e=this;if(!this.willClose||this.willClose()){null!==this._openTimer&&(clearTimeout(this._openTimer),this._openTimer=null),clearTimeout(this._closeTimer);var t=Number(this.closeDelay);t>0?this._closeTimer=setTimeout((function(){e._closeTimer=null,e.doClose()}),t):this.doClose()}},doClose:function(){this._closing=!0,this.onClose&&this.onClose(),this.lockScroll&&setTimeout(this.restoreBodyStyle,200),this.opened=!1,this.doAfterClose()},doAfterClose:function(){c.default.closeModal(this._popupId),this._closing=!1},restoreBodyStyle:function(){this.modal&&this.withoutHiddenClass&&(document.body.style.paddingRight=this.bodyPaddingRight,(0,h.removeClass)(document.body,"el-popup-parent--hidden")),this.withoutHiddenClass=!0}}},t.PopupManager=c.default},"512c":function(e,t,i){var n=i("ef08"),r=i("5524"),a=i("9c0c"),s=i("051b"),o=i("9c0e"),c="prototype",l=function(e,t,i){var u,h,d,f=e&l.F,p=e&l.G,m=e&l.S,v=e&l.P,g=e&l.B,y=e&l.W,b=p?r:r[t]||(r[t]={}),C=b[c],S=p?n:m?n[t]:(n[t]||{})[c];for(u in p&&(i=t),i)h=!f&&S&&void 0!==S[u],h&&o(b,u)||(d=h?S[u]:i[u],b[u]=p&&"function"!=typeof S[u]?i[u]:g&&h?a(d,n):y&&S[u]==d?function(e){var t=function(t,i,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,i)}return new e(t,i,n)}return e.apply(this,arguments)};return t[c]=e[c],t}(d):v&&"function"==typeof d?a(Function.call,d):d,v&&((b.virtual||(b.virtual={}))[u]=d,e&l.R&&C&&!C[u]&&s(C,u,d)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},5135:function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},"526b":function(e,t,i){const{BigInteger:n}=i("e0c8"),{encodeDer:r,decodeDer:a}=i("f9dd"),s=i("41d0"),o=i("a336"),c=i("dffd"),{G:l,curve:u,n:h}=c.generateEcparam(),d=0;function f(e,t,i=1){const n=new o;e=c.hexToArray(c.parseUtf8StringToHex(e)),t.length>128&&(t=t.substr(t.length-128));const r=t.substr(0,64),a=t.substr(64);t=n.createPoint(r,a);const s=n.initEncipher(t);n.encryptBlock(e);const l=c.arrayToHex(e);let u=new Array(32);return n.doFinal(u),u=c.arrayToHex(u),i===d?s+l+u:s+u+l}function p(e,t,i=1){const r=new o;t=new n(t,16);const a=e.substr(0,64),s=e.substr(0+a.length,64),l=a.length+s.length;let u=e.substr(l,64),h=e.substr(l+64);i===d&&(u=e.substr(e.length-64),h=e.substr(l,e.length-l-64));const f=c.hexToArray(h),p=r.createPoint(a,s);r.initDecipher(t,p),r.decryptBlock(f);const m=new Array(32);r.doFinal(m);const v=c.arrayToHex(m)===u;if(v){const e=c.arrayToUtf8(f);return e}return""}function m(e,t,{pointPool:i,der:a,hash:s,publicKey:o,userId:l}={}){let u="string"===typeof e?c.parseUtf8StringToHex(e):c.parseArrayBufferToHex(e);s&&(o=o||y(t),u=g(u,o,l));const d=new n(t,16),f=new n(u,16);let p=null,m=null,v=null;do{do{let e;e=i&&i.length?i.pop():b(),p=e.k,m=f.add(e.x1).mod(h)}while(m.equals(n.ZERO)||m.add(p).equals(h));v=d.add(n.ONE).modInverse(h).multiply(p.subtract(m.multiply(d))).mod(h)}while(v.equals(n.ZERO));return a?r(m,v):c.leftPad(m.toString(16),64)+c.leftPad(v.toString(16),64)}function v(e,t,i,{der:r,hash:s,userId:o}={}){let d,f,p="string"===typeof e?c.parseUtf8StringToHex(e):c.parseArrayBufferToHex(e);if(s&&(p=g(p,i,o)),r){const e=a(t);d=e.r,f=e.s}else d=new n(t.substring(0,64),16),f=new n(t.substring(64),16);const m=u.decodePointHex(i),v=new n(p,16),y=d.add(f).mod(h);if(y.equals(n.ZERO))return!1;const b=l.multiply(f).add(m.multiply(y)),C=v.add(b.getX().toBigInteger()).mod(h);return d.equals(C)}function g(e,t,i="1234567812345678"){const n=new s,r=(new s).getZ(l,t.substr(2,128),i),a=c.hexToArray(c.arrayToHex(r).toString()),o=e,u=c.hexToArray(o),h=new Array(n.getDigestSize());return n.blockUpdate(a,0,a.length),n.blockUpdate(u,0,u.length),n.doFinal(h,0),c.arrayToHex(h).toString()}function y(e){const t=l.multiply(new n(e,16)),i=c.leftPad(t.getX().toBigInteger().toString(16),64),r=c.leftPad(t.getY().toBigInteger().toString(16),64);return"04"+i+r}function b(){const e=c.generateKeyPairHex(),t=u.decodePointHex(e.publicKey);return e.k=new n(e.privateKey,16),e.x1=t.getX().toBigInteger(),e}e.exports={generateKeyPairHex:c.generateKeyPairHex,doEncrypt:f,doDecrypt:p,doSignature:m,doVerifySignature:v,getPoint:b}},5270:function(e,t,i){"use strict";var n=i("c532"),r=i("c401"),a=i("2e67"),s=i("2444");function o(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){o(e),e.headers=e.headers||{},e.data=r(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]}));var t=e.adapter||s.adapter;return t(e).then((function(t){return o(e),t.data=r(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(o(e),t&&t.response&&(t.response.data=r(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},5319:function(e,t,i){"use strict";var n=i("d784"),r=i("825a"),a=i("7b0b"),s=i("50c4"),o=i("a691"),c=i("1d80"),l=i("8aa5"),u=i("14c3"),h=Math.max,d=Math.min,f=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g,v=function(e){return void 0===e?e:String(e)};n("replace",2,(function(e,t,i,n){var g=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=n.REPLACE_KEEPS_$0,b=g?"$":"$0";return[function(i,n){var r=c(this),a=void 0==i?void 0:i[e];return void 0!==a?a.call(i,r,n):t.call(String(r),i,n)},function(e,n){if(!g&&y||"string"===typeof n&&-1===n.indexOf(b)){var a=i(t,e,this,n);if(a.done)return a.value}var c=r(e),f=String(this),p="function"===typeof n;p||(n=String(n));var m=c.global;if(m){var S=c.unicode;c.lastIndex=0}var x=[];while(1){var w=u(c,f);if(null===w)break;if(x.push(w),!m)break;var _=String(w[0]);""===_&&(c.lastIndex=l(f,s(c.lastIndex),S))}for(var A="",E=0,k=0;k<x.length;k++){w=x[k];for(var M=String(w[0]),z=h(d(o(w.index),f.length),0),T=[],I=1;I<w.length;I++)T.push(v(w[I]));var N=w.groups;if(p){var D=[M].concat(T,z,f);void 0!==N&&D.push(N);var P=String(n.apply(void 0,D))}else P=C(M,f,z,T,N,n);z>=E&&(A+=f.slice(E,z)+P,E=z+M.length)}return A+f.slice(E)}];function C(e,i,n,r,s,o){var c=n+e.length,l=r.length,u=m;return void 0!==s&&(s=a(s),u=p),t.call(o,u,(function(t,a){var o;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return i.slice(0,n);case"'":return i.slice(c);case"<":o=s[a.slice(1,-1)];break;default:var u=+a;if(0===u)return t;if(u>l){var h=f(u/10);return 0===h?t:h<=l?void 0===r[h-1]?a.charAt(1):r[h-1]+a.charAt(1):t}o=r[u-1]}return void 0===o?"":o}))}}))},"53ca":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));i("a4d3"),i("e01a"),i("d28b"),i("d3b7"),i("3ca3"),i("ddb0");function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}},5486:function(e,t,i){"use strict";(function(e){const n=i("90da"),r=function(t,i){const a={};if(!(t.child&&!n.isEmptyObject(t.child)||t.attrsMap&&!n.isEmptyObject(t.attrsMap)))return n.isExist(t.val)?t.val:"";n.isExist(t.val)&&("string"!==typeof t.val||""!==t.val&&t.val!==i.cdataPositionChar)&&("strict"===i.arrayMode?a[i.textNodeName]=[t.val]:a[i.textNodeName]=t.val),n.merge(a,t.attrsMap,i.arrayMode);const s=Object.keys(t.child);for(let n=0;n<s.length;n++){var o=s[n];if(t.child[o]&&t.child[o].length>1)for(var c in a[o]=[],t.child[o])e.xmlParseFlag=e.xmlParseFlag+1,a[o].push(r(t.child[o][c],i));else if(!0===i.arrayMode){e.xmlParseFlag=e.xmlParseFlag+1;const n=r(t.child[o][0],i);a[o]="object"===typeof n?[n]:n}else"strict"===i.arrayMode?(e.xmlParseFlag=e.xmlParseFlag+1,a[o]=[r(t.child[o][0],i)]):(e.xmlParseFlag=e.xmlParseFlag+1,a[o]=r(t.child[o][0],i))}let l=a;return"object"===typeof l&&(l["pfIndex"]=e.xmlParseFlag),a};t.convertToJson=r}).call(this,i("c8ba"))},5488:function(e,t,i){"use strict";t.__esModule=!0;var n=i("5924");function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(){r(this,e)}return e.prototype.beforeEnter=function(e){(0,n.addClass)(e,"collapse-transition"),e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.height="0",e.style.paddingTop=0,e.style.paddingBottom=0},e.prototype.enter=function(e){e.dataset.oldOverflow=e.style.overflow,0!==e.scrollHeight?(e.style.height=e.scrollHeight+"px",e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom):(e.style.height="",e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom),e.style.overflow="hidden"},e.prototype.afterEnter=function(e){(0,n.removeClass)(e,"collapse-transition"),e.style.height="",e.style.overflow=e.dataset.oldOverflow},e.prototype.beforeLeave=function(e){e.dataset||(e.dataset={}),e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.height=e.scrollHeight+"px",e.style.overflow="hidden"},e.prototype.leave=function(e){0!==e.scrollHeight&&((0,n.addClass)(e,"collapse-transition"),e.style.height=0,e.style.paddingTop=0,e.style.paddingBottom=0)},e.prototype.afterLeave=function(e){(0,n.removeClass)(e,"collapse-transition"),e.style.height="",e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom},e}();t.default={name:"ElCollapseTransition",functional:!0,render:function(e,t){var i=t.children,n={on:new a};return e("transition",n,i)}}},5524:function(e,t){var i=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=i)},5692:function(e,t,i){var n=i("c430"),r=i("c6cd");(e.exports=function(e,t){return r[e]||(r[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.5",mode:n?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,t,i){var n=i("d066"),r=i("241c"),a=i("7418"),s=i("825a");e.exports=n("Reflect","ownKeys")||function(e){var t=r.f(s(e)),i=a.f;return i?t.concat(i(e)):t}},5899:function(e,t){e.exports="\t\n\v\f\r                　\u2028\u2029\ufeff"},"58a8":function(e,t,i){var n=i("1d80"),r=i("5899"),a="["+r+"]",s=RegExp("^"+a+a+"*"),o=RegExp(a+a+"*$"),c=function(e){return function(t){var i=String(n(t));return 1&e&&(i=i.replace(s,"")),2&e&&(i=i.replace(o,"")),i}};e.exports={start:c(1),end:c(2),trim:c(3)}},5924:function(e,t,i){"use strict";t.__esModule=!0,t.isInContainer=t.getScrollContainer=t.isScroll=t.getStyle=t.once=t.off=t.on=void 0;var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.hasClass=m,t.addClass=v,t.removeClass=g,t.setStyle=b;var r=i("2b0e"),a=s(r);function s(e){return e&&e.__esModule?e:{default:e}}var o=a.default.prototype.$isServer,c=/([\:\-\_]+(.))/g,l=/^moz([A-Z])/,u=o?0:Number(document.documentMode),h=function(e){return(e||"").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g,"")},d=function(e){return e.replace(c,(function(e,t,i,n){return n?i.toUpperCase():i})).replace(l,"Moz$1")},f=t.on=function(){return!o&&document.addEventListener?function(e,t,i){e&&t&&i&&e.addEventListener(t,i,!1)}:function(e,t,i){e&&t&&i&&e.attachEvent("on"+t,i)}}(),p=t.off=function(){return!o&&document.removeEventListener?function(e,t,i){e&&t&&e.removeEventListener(t,i,!1)}:function(e,t,i){e&&t&&e.detachEvent("on"+t,i)}}();t.once=function(e,t,i){var n=function n(){i&&i.apply(this,arguments),p(e,t,n)};f(e,t,n)};function m(e,t){if(!e||!t)return!1;if(-1!==t.indexOf(" "))throw new Error("className should not contain space.");return e.classList?e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1}function v(e,t){if(e){for(var i=e.className,n=(t||"").split(" "),r=0,a=n.length;r<a;r++){var s=n[r];s&&(e.classList?e.classList.add(s):m(e,s)||(i+=" "+s))}e.classList||(e.className=i)}}function g(e,t){if(e&&t){for(var i=t.split(" "),n=" "+e.className+" ",r=0,a=i.length;r<a;r++){var s=i[r];s&&(e.classList?e.classList.remove(s):m(e,s)&&(n=n.replace(" "+s+" "," ")))}e.classList||(e.className=h(n))}}var y=t.getStyle=u<9?function(e,t){if(!o){if(!e||!t)return null;t=d(t),"float"===t&&(t="styleFloat");try{switch(t){case"opacity":try{return e.filters.item("alpha").opacity/100}catch(i){return 1}default:return e.style[t]||e.currentStyle?e.currentStyle[t]:null}}catch(i){return e.style[t]}}}:function(e,t){if(!o){if(!e||!t)return null;t=d(t),"float"===t&&(t="cssFloat");try{var i=document.defaultView.getComputedStyle(e,"");return e.style[t]||i?i[t]:null}catch(n){return e.style[t]}}};function b(e,t,i){if(e&&t)if("object"===("undefined"===typeof t?"undefined":n(t)))for(var r in t)t.hasOwnProperty(r)&&b(e,r,t[r]);else t=d(t),"opacity"===t&&u<9?e.style.filter=isNaN(i)?"":"alpha(opacity="+100*i+")":e.style[t]=i}var C=t.isScroll=function(e,t){if(!o){var i=null!==t||void 0!==t,n=y(e,i?t?"overflow-y":"overflow-x":"overflow");return n.match(/(scroll|auto)/)}};t.getScrollContainer=function(e,t){if(!o){var i=e;while(i){if([window,document,document.documentElement].includes(i))return window;if(C(i,t))return i;i=i.parentNode}return i}},t.isInContainer=function(e,t){if(o||!e||!t)return!1;var i=e.getBoundingClientRect(),n=void 0;return n=[window,document,document.documentElement,null,void 0].includes(t)?{top:0,right:window.innerWidth,bottom:window.innerHeight,left:0}:t.getBoundingClientRect(),i.top<n.bottom&&i.bottom>n.top&&i.right>n.left&&i.left<n.right}},"597f":function(e,t){e.exports=function(e,t,i,n){var r,a=0;function s(){var s=this,o=Number(new Date)-a,c=arguments;function l(){a=Number(new Date),i.apply(s,c)}function u(){r=void 0}n&&!r&&l(),r&&clearTimeout(r),void 0===n&&o>e?l():!0!==t&&(r=setTimeout(n?u:l,void 0===n?e-o:e))}return"boolean"!==typeof t&&(n=i,i=t,t=void 0),s}},"5a34":function(e,t,i){var n=i("44e7");e.exports=function(e){if(n(e))throw TypeError("The method doesn't accept regular expressions");return e}},"5a79":function(e,t,i){"use strict";const n=i("90da"),r=i("90da").buildOptions,a=i("8a24"),s=function(e,t){return t=r(t,a.defaultOptions,a.props),t.indentBy=t.indentBy||"",o(e,t,0)},o=function(e,t,i){let r="{";const a=Object.keys(e.child);for(let n=0;n<a.length;n++){var s=a[n];if(e.child[s]&&e.child[s].length>1){for(var l in r+='"'+s+'" : [ ',e.child[s])r+=o(e.child[s][l],t)+" , ";r=r.substr(0,r.length-1)+" ] "}else r+='"'+s+'" : '+o(e.child[s][0],t)+" ,"}return n.merge(r,e.attrsMap),n.isEmptyObject(r)?n.isExist(e.val)?e.val:"":(n.isExist(e.val)&&("string"!==typeof e.val||""!==e.val&&e.val!==t.cdataPositionChar)&&(r+='"'+t.textNodeName+'" : '+c(e.val)),","===r[r.length-1]&&(r=r.substr(0,r.length-2)),r+"}")};function c(e){return!0!==e&&!1!==e&&isNaN(e)?'"'+e+'"':e}t.convertToJsonString=s},"5a94":function(e,t,i){var n=i("b367")("keys"),r=i("8b1a");e.exports=function(e){return n[e]||(n[e]=r(e))}},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"5c96":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=45)}([function(e,t){e.exports=i("d940")},function(e,t){e.exports=i("5924")},function(e,t){e.exports=i("8122")},function(e,t){e.exports=i("d010")},function(e,t){e.exports=i("6b7c")},function(e,t){e.exports=i("e974")},function(e,t){e.exports=i("2b0e")},function(e,t){e.exports=i("7f4d")},function(e,t){e.exports=i("f3ad")},function(e,t){e.exports=i("2bb5")},function(e,t){e.exports=i("417f")},function(e,t){e.exports=i("4897")},function(e,t){e.exports=i("eedf")},function(e,t){e.exports=i("4010")},function(e,t){e.exports=i("5128")},function(e,t){e.exports=i("0e15")},function(e,t){e.exports=i("dcdc")},function(e,t){e.exports=i("14e9")},function(e,t){e.exports=i("a742")},function(e,t){e.exports=i("d397")},function(e,t){e.exports=i("d7d1")},function(e,t){e.exports=i("5488")},function(e,t){e.exports=i("12f2")},function(e,t){e.exports=i("41f8")},function(e,t){e.exports=i("92fa")},function(e,t){e.exports=i("597f")},function(e,t){e.exports=i("299c")},function(e,t){e.exports=i("2a5e")},function(e,t){e.exports=i("e452")},function(e,t){e.exports=i("845f")},function(e,t){e.exports=i("8bbc")},function(e,t){e.exports=i("e62d")},function(e,t){e.exports=i("7fc1")},function(e,t){e.exports=i("c56a")},function(e,t){e.exports=i("c284")},function(e,t){e.exports=i("9619")},function(e,t){e.exports=i("4e4b")},function(e,t){e.exports=i("e772")},function(e,t){e.exports=i("c098")},function(e,t){e.exports=i("722f")},function(e,t){e.exports=i("a15e")},function(e,t){e.exports=i("e450")},function(e,t){e.exports=i("4726")},function(e,t){e.exports=i("f494")},function(e,t){e.exports=i("6ac9")},function(e,t,i){e.exports=i(46)},function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ul",{staticClass:"el-pager",on:{click:e.onPagerClick}},[e.pageCount>0?i("li",{staticClass:"number",class:{active:1===e.currentPage,disabled:e.disabled}},[e._v("1")]):e._e(),e.showPrevMore?i("li",{staticClass:"el-icon more btn-quickprev",class:[e.quickprevIconClass,{disabled:e.disabled}],on:{mouseenter:function(t){e.onMouseenter("left")},mouseleave:function(t){e.quickprevIconClass="el-icon-more"}}}):e._e(),e._l(e.pagers,(function(t){return i("li",{key:t,staticClass:"number",class:{active:e.currentPage===t,disabled:e.disabled}},[e._v(e._s(t))])})),e.showNextMore?i("li",{staticClass:"el-icon more btn-quicknext",class:[e.quicknextIconClass,{disabled:e.disabled}],on:{mouseenter:function(t){e.onMouseenter("right")},mouseleave:function(t){e.quicknextIconClass="el-icon-more"}}}):e._e(),e.pageCount>1?i("li",{staticClass:"number",class:{active:e.currentPage===e.pageCount,disabled:e.disabled}},[e._v(e._s(e.pageCount))]):e._e()],2)},r=[];n._withStripped=!0;var a={name:"ElPager",props:{currentPage:Number,pageCount:Number,pagerCount:Number,disabled:Boolean},watch:{showPrevMore:function(e){e||(this.quickprevIconClass="el-icon-more")},showNextMore:function(e){e||(this.quicknextIconClass="el-icon-more")}},methods:{onPagerClick:function(e){var t=e.target;if("UL"!==t.tagName&&!this.disabled){var i=Number(e.target.textContent),n=this.pageCount,r=this.currentPage,a=this.pagerCount-2;-1!==t.className.indexOf("more")&&(-1!==t.className.indexOf("quickprev")?i=r-a:-1!==t.className.indexOf("quicknext")&&(i=r+a)),isNaN(i)||(i<1&&(i=1),i>n&&(i=n)),i!==r&&this.$emit("change",i)}},onMouseenter:function(e){this.disabled||("left"===e?this.quickprevIconClass="el-icon-d-arrow-left":this.quicknextIconClass="el-icon-d-arrow-right")}},computed:{pagers:function(){var e=this.pagerCount,t=(e-1)/2,i=Number(this.currentPage),n=Number(this.pageCount),r=!1,a=!1;n>e&&(i>e-t&&(r=!0),i<n-t&&(a=!0));var s=[];if(r&&!a)for(var o=n-(e-2),c=o;c<n;c++)s.push(c);else if(!r&&a)for(var l=2;l<e;l++)s.push(l);else if(r&&a)for(var u=Math.floor(e/2)-1,h=i-u;h<=i+u;h++)s.push(h);else for(var d=2;d<n;d++)s.push(d);return this.showPrevMore=r,this.showNextMore=a,s}},data:function(){return{current:null,showPrevMore:!1,showNextMore:!1,quicknextIconClass:"el-icon-more",quickprevIconClass:"el-icon-more"}}},s=a;function o(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}var c=o(s,n,r,!1,null,null,null);c.options.__file="packages/pagination/src/pager.vue";var l=c.exports,u=i(36),h=i.n(u),d=i(37),f=i.n(d),p=i(8),m=i.n(p),v=i(4),g=i.n(v),y=i(2),b={name:"ElPagination",props:{pageSize:{type:Number,default:10},small:Boolean,total:Number,pageCount:Number,pagerCount:{type:Number,validator:function(e){return(0|e)===e&&e>4&&e<22&&e%2===1},default:7},currentPage:{type:Number,default:1},layout:{default:"prev, pager, next, jumper, ->, total"},pageSizes:{type:Array,default:function(){return[10,20,30,40,50,100]}},popperClass:String,prevText:String,nextText:String,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean},data:function(){return{internalCurrentPage:1,internalPageSize:0,lastEmittedPage:-1,userChangePageSize:!1}},render:function(e){var t=this.layout;if(!t)return null;if(this.hideOnSinglePage&&(!this.internalPageCount||1===this.internalPageCount))return null;var i=e("div",{class:["el-pagination",{"is-background":this.background,"el-pagination--small":this.small}]}),n={prev:e("prev"),jumper:e("jumper"),pager:e("pager",{attrs:{currentPage:this.internalCurrentPage,pageCount:this.internalPageCount,pagerCount:this.pagerCount,disabled:this.disabled},on:{change:this.handleCurrentChange}}),next:e("next"),sizes:e("sizes",{attrs:{pageSizes:this.pageSizes}}),slot:e("slot",[this.$slots.default?this.$slots.default:""]),total:e("total")},r=t.split(",").map((function(e){return e.trim()})),a=e("div",{class:"el-pagination__rightwrapper"}),s=!1;return i.children=i.children||[],a.children=a.children||[],r.forEach((function(e){"->"!==e?s?a.children.push(n[e]):i.children.push(n[e]):s=!0})),s&&i.children.unshift(a),i},components:{Prev:{render:function(e){return e("button",{attrs:{type:"button",disabled:this.$parent.disabled||this.$parent.internalCurrentPage<=1},class:"btn-prev",on:{click:this.$parent.prev}},[this.$parent.prevText?e("span",[this.$parent.prevText]):e("i",{class:"el-icon el-icon-arrow-left"})])}},Next:{render:function(e){return e("button",{attrs:{type:"button",disabled:this.$parent.disabled||this.$parent.internalCurrentPage===this.$parent.internalPageCount||0===this.$parent.internalPageCount},class:"btn-next",on:{click:this.$parent.next}},[this.$parent.nextText?e("span",[this.$parent.nextText]):e("i",{class:"el-icon el-icon-arrow-right"})])}},Sizes:{mixins:[g.a],props:{pageSizes:Array},watch:{pageSizes:{immediate:!0,handler:function(e,t){Object(y["valueEquals"])(e,t)||Array.isArray(e)&&(this.$parent.internalPageSize=e.indexOf(this.$parent.pageSize)>-1?this.$parent.pageSize:this.pageSizes[0])}}},render:function(e){var t=this;return e("span",{class:"el-pagination__sizes"},[e("el-select",{attrs:{value:this.$parent.internalPageSize,popperClass:this.$parent.popperClass||"",size:"mini",disabled:this.$parent.disabled},on:{input:this.handleChange}},[this.pageSizes.map((function(i){return e("el-option",{attrs:{value:i,label:i+t.t("el.pagination.pagesize")}})}))])])},components:{ElSelect:h.a,ElOption:f.a},methods:{handleChange:function(e){e!==this.$parent.internalPageSize&&(this.$parent.internalPageSize=e=parseInt(e,10),this.$parent.userChangePageSize=!0,this.$parent.$emit("update:pageSize",e),this.$parent.$emit("size-change",e))}}},Jumper:{mixins:[g.a],components:{ElInput:m.a},data:function(){return{userInput:null}},watch:{"$parent.internalCurrentPage":function(){this.userInput=null}},methods:{handleKeyup:function(e){var t=e.keyCode,i=e.target;13===t&&this.handleChange(i.value)},handleInput:function(e){this.userInput=e},handleChange:function(e){this.$parent.internalCurrentPage=this.$parent.getValidCurrentPage(e),this.$parent.emitChange(),this.userInput=null}},render:function(e){return e("span",{class:"el-pagination__jump"},[this.t("el.pagination.goto"),e("el-input",{class:"el-pagination__editor is-in-pagination",attrs:{min:1,max:this.$parent.internalPageCount,value:null!==this.userInput?this.userInput:this.$parent.internalCurrentPage,type:"number",disabled:this.$parent.disabled},nativeOn:{keyup:this.handleKeyup},on:{input:this.handleInput,change:this.handleChange}}),this.t("el.pagination.pageClassifier")])}},Total:{mixins:[g.a],render:function(e){return"number"===typeof this.$parent.total?e("span",{class:"el-pagination__total"},[this.t("el.pagination.total",{total:this.$parent.total})]):""}},Pager:l},methods:{handleCurrentChange:function(e){this.internalCurrentPage=this.getValidCurrentPage(e),this.userChangePageSize=!0,this.emitChange()},prev:function(){if(!this.disabled){var e=this.internalCurrentPage-1;this.internalCurrentPage=this.getValidCurrentPage(e),this.$emit("prev-click",this.internalCurrentPage),this.emitChange()}},next:function(){if(!this.disabled){var e=this.internalCurrentPage+1;this.internalCurrentPage=this.getValidCurrentPage(e),this.$emit("next-click",this.internalCurrentPage),this.emitChange()}},getValidCurrentPage:function(e){e=parseInt(e,10);var t="number"===typeof this.internalPageCount,i=void 0;return t?e<1?i=1:e>this.internalPageCount&&(i=this.internalPageCount):(isNaN(e)||e<1)&&(i=1),(void 0===i&&isNaN(e)||0===i)&&(i=1),void 0===i?e:i},emitChange:function(){var e=this;this.$nextTick((function(){(e.internalCurrentPage!==e.lastEmittedPage||e.userChangePageSize)&&(e.$emit("current-change",e.internalCurrentPage),e.lastEmittedPage=e.internalCurrentPage,e.userChangePageSize=!1)}))}},computed:{internalPageCount:function(){return"number"===typeof this.total?Math.max(1,Math.ceil(this.total/this.internalPageSize)):"number"===typeof this.pageCount?Math.max(1,this.pageCount):null}},watch:{currentPage:{immediate:!0,handler:function(e){this.internalCurrentPage=this.getValidCurrentPage(e)}},pageSize:{immediate:!0,handler:function(e){this.internalPageSize=isNaN(e)?10:e}},internalCurrentPage:{immediate:!0,handler:function(e){this.$emit("update:currentPage",e),this.lastEmittedPage=-1}},internalPageCount:function(e){var t=this.internalCurrentPage;e>0&&0===t?this.internalCurrentPage=1:t>e&&(this.internalCurrentPage=0===e?1:e,this.userChangePageSize&&this.emitChange()),this.userChangePageSize=!1}},install:function(e){e.component(b.name,b)}},C=b,S=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"dialog-fade"},on:{"after-enter":e.afterEnter,"after-leave":e.afterLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-dialog__wrapper",on:{click:function(t){return t.target!==t.currentTarget?null:e.handleWrapperClick(t)}}},[i("div",{key:e.key,ref:"dialog",class:["el-dialog",{"is-fullscreen":e.fullscreen,"el-dialog--center":e.center},e.customClass],style:e.style,attrs:{role:"dialog","aria-modal":"true","aria-label":e.title||"dialog"}},[i("div",{staticClass:"el-dialog__header"},[e._t("title",[i("span",{staticClass:"el-dialog__title"},[e._v(e._s(e.title))])]),e.showClose?i("button",{staticClass:"el-dialog__headerbtn",attrs:{type:"button","aria-label":"Close"},on:{click:e.handleClose}},[i("i",{staticClass:"el-dialog__close el-icon el-icon-close"})]):e._e()],2),e.rendered?i("div",{staticClass:"el-dialog__body"},[e._t("default")],2):e._e(),e.$slots.footer?i("div",{staticClass:"el-dialog__footer"},[e._t("footer")],2):e._e()])])])},x=[];S._withStripped=!0;var w=i(14),_=i.n(w),A=i(9),E=i.n(A),k=i(3),M=i.n(k),z={name:"ElDialog",mixins:[_.a,M.a,E.a],props:{title:{type:String,default:""},modal:{type:Boolean,default:!0},modalAppendToBody:{type:Boolean,default:!0},appendToBody:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},width:String,fullscreen:Boolean,customClass:{type:String,default:""},top:{type:String,default:"15vh"},beforeClose:Function,center:{type:Boolean,default:!1},destroyOnClose:Boolean},data:function(){return{closed:!1,key:0}},watch:{visible:function(e){var t=this;e?(this.closed=!1,this.$emit("open"),this.$el.addEventListener("scroll",this.updatePopper),this.$nextTick((function(){t.$refs.dialog.scrollTop=0})),this.appendToBody&&document.body.appendChild(this.$el)):(this.$el.removeEventListener("scroll",this.updatePopper),this.closed||this.$emit("close"),this.destroyOnClose&&this.$nextTick((function(){t.key++})))}},computed:{style:function(){var e={};return this.fullscreen||(e.marginTop=this.top,this.width&&(e.width=this.width)),e}},methods:{getMigratingConfig:function(){return{props:{size:"size is removed."}}},handleWrapperClick:function(){this.closeOnClickModal&&this.handleClose()},handleClose:function(){"function"===typeof this.beforeClose?this.beforeClose(this.hide):this.hide()},hide:function(e){!1!==e&&(this.$emit("update:visible",!1),this.$emit("close"),this.closed=!0)},updatePopper:function(){this.broadcast("ElSelectDropdown","updatePopper"),this.broadcast("ElDropdownMenu","updatePopper")},afterEnter:function(){this.$emit("opened")},afterLeave:function(){this.$emit("closed")}},mounted:function(){this.visible&&(this.rendered=!0,this.open(),this.appendToBody&&document.body.appendChild(this.$el))},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},T=z,I=o(T,S,x,!1,null,null,null);I.options.__file="packages/dialog/src/component.vue";var N=I.exports;N.install=function(e){e.component(N.name,N)};var D=N,P=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.close,expression:"close"}],staticClass:"el-autocomplete",attrs:{"aria-haspopup":"listbox",role:"combobox","aria-expanded":e.suggestionVisible,"aria-owns":e.id}},[i("el-input",e._b({ref:"input",on:{input:e.handleInput,change:e.handleChange,focus:e.handleFocus,blur:e.handleBlur,clear:e.handleClear},nativeOn:{keydown:[function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.preventDefault(),e.highlight(e.highlightedIndex-1)},function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.preventDefault(),e.highlight(e.highlightedIndex+1)},function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleKeyEnter(t)},function(t){return!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:e.close(t)}]}},"el-input",[e.$props,e.$attrs],!1),[e.$slots.prepend?i("template",{slot:"prepend"},[e._t("prepend")],2):e._e(),e.$slots.append?i("template",{slot:"append"},[e._t("append")],2):e._e(),e.$slots.prefix?i("template",{slot:"prefix"},[e._t("prefix")],2):e._e(),e.$slots.suffix?i("template",{slot:"suffix"},[e._t("suffix")],2):e._e()],2),i("el-autocomplete-suggestions",{ref:"suggestions",class:[e.popperClass?e.popperClass:""],attrs:{"visible-arrow":"","popper-options":e.popperOptions,"append-to-body":e.popperAppendToBody,placement:e.placement,id:e.id}},e._l(e.suggestions,(function(t,n){return i("li",{key:n,class:{highlighted:e.highlightedIndex===n},attrs:{id:e.id+"-item-"+n,role:"option","aria-selected":e.highlightedIndex===n},on:{click:function(i){e.select(t)}}},[e._t("default",[e._v("\n        "+e._s(t[e.valueKey])+"\n      ")],{item:t})],2)})),0)],1)},O=[];P._withStripped=!0;var H=i(15),F=i.n(H),L=i(10),V=i.n(L),R=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.doDestroy}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-autocomplete-suggestion el-popper",class:{"is-loading":!e.parent.hideLoading&&e.parent.loading},style:{width:e.dropdownWidth},attrs:{role:"region"}},[i("el-scrollbar",{attrs:{tag:"ul","wrap-class":"el-autocomplete-suggestion__wrap","view-class":"el-autocomplete-suggestion__list"}},[!e.parent.hideLoading&&e.parent.loading?i("li",[i("i",{staticClass:"el-icon-loading"})]):e._t("default")],2)],1)])},B=[];R._withStripped=!0;var j=i(5),$=i.n(j),K=i(17),q=i.n(K),U={components:{ElScrollbar:q.a},mixins:[$.a,M.a],componentName:"ElAutocompleteSuggestions",data:function(){return{parent:this.$parent,dropdownWidth:""}},props:{options:{default:function(){return{gpuAcceleration:!1}}},id:String},methods:{select:function(e){this.dispatch("ElAutocomplete","item-click",e)}},updated:function(){var e=this;this.$nextTick((function(t){e.popperJS&&e.updatePopper()}))},mounted:function(){this.$parent.popperElm=this.popperElm=this.$el,this.referenceElm=this.$parent.$refs.input.$refs.input||this.$parent.$refs.input.$refs.textarea,this.referenceList=this.$el.querySelector(".el-autocomplete-suggestion__list"),this.referenceList.setAttribute("role","listbox"),this.referenceList.setAttribute("id",this.id)},created:function(){var e=this;this.$on("visible",(function(t,i){e.dropdownWidth=i+"px",e.showPopper=t}))}},W=U,X=o(W,R,B,!1,null,null,null);X.options.__file="packages/autocomplete/src/autocomplete-suggestions.vue";var G=X.exports,Y=i(22),Z=i.n(Y),J={name:"ElAutocomplete",mixins:[M.a,Z()("input"),E.a],inheritAttrs:!1,componentName:"ElAutocomplete",components:{ElInput:m.a,ElAutocompleteSuggestions:G},directives:{Clickoutside:V.a},props:{valueKey:{type:String,default:"value"},popperClass:String,popperOptions:Object,placeholder:String,clearable:{type:Boolean,default:!1},disabled:Boolean,name:String,size:String,value:String,maxlength:Number,minlength:Number,autofocus:Boolean,fetchSuggestions:Function,triggerOnFocus:{type:Boolean,default:!0},customItem:String,selectWhenUnmatched:{type:Boolean,default:!1},prefixIcon:String,suffixIcon:String,label:String,debounce:{type:Number,default:300},placement:{type:String,default:"bottom-start"},hideLoading:Boolean,popperAppendToBody:{type:Boolean,default:!0},highlightFirstItem:{type:Boolean,default:!1}},data:function(){return{activated:!1,suggestions:[],loading:!1,highlightedIndex:-1,suggestionDisabled:!1}},computed:{suggestionVisible:function(){var e=this.suggestions,t=Array.isArray(e)&&e.length>0;return(t||this.loading)&&this.activated},id:function(){return"el-autocomplete-"+Object(y["generateId"])()}},watch:{suggestionVisible:function(e){var t=this.getInput();t&&this.broadcast("ElAutocompleteSuggestions","visible",[e,t.offsetWidth])}},methods:{getMigratingConfig:function(){return{props:{"custom-item":"custom-item is removed, use scoped slot instead.",props:"props is removed, use value-key instead."}}},getData:function(e){var t=this;this.suggestionDisabled||(this.loading=!0,this.fetchSuggestions(e,(function(e){t.loading=!1,t.suggestionDisabled||(Array.isArray(e)?(t.suggestions=e,t.highlightedIndex=t.highlightFirstItem?0:-1):console.error("[Element Error][Autocomplete]autocomplete suggestions must be an array"))})))},handleInput:function(e){if(this.$emit("input",e),this.suggestionDisabled=!1,!this.triggerOnFocus&&!e)return this.suggestionDisabled=!0,void(this.suggestions=[]);this.debouncedGetData(e)},handleChange:function(e){this.$emit("change",e)},handleFocus:function(e){this.activated=!0,this.$emit("focus",e),this.triggerOnFocus&&this.debouncedGetData(this.value)},handleBlur:function(e){this.$emit("blur",e)},handleClear:function(){this.activated=!1,this.$emit("clear")},close:function(e){this.activated=!1},handleKeyEnter:function(e){var t=this;this.suggestionVisible&&this.highlightedIndex>=0&&this.highlightedIndex<this.suggestions.length?(e.preventDefault(),this.select(this.suggestions[this.highlightedIndex])):this.selectWhenUnmatched&&(this.$emit("select",{value:this.value}),this.$nextTick((function(e){t.suggestions=[],t.highlightedIndex=-1})))},select:function(e){var t=this;this.$emit("input",e[this.valueKey]),this.$emit("select",e),this.$nextTick((function(e){t.suggestions=[],t.highlightedIndex=-1}))},highlight:function(e){if(this.suggestionVisible&&!this.loading)if(e<0)this.highlightedIndex=-1;else{e>=this.suggestions.length&&(e=this.suggestions.length-1);var t=this.$refs.suggestions.$el.querySelector(".el-autocomplete-suggestion__wrap"),i=t.querySelectorAll(".el-autocomplete-suggestion__list li"),n=i[e],r=t.scrollTop,a=n.offsetTop;a+n.scrollHeight>r+t.clientHeight&&(t.scrollTop+=n.scrollHeight),a<r&&(t.scrollTop-=n.scrollHeight),this.highlightedIndex=e;var s=this.getInput();s.setAttribute("aria-activedescendant",this.id+"-item-"+this.highlightedIndex)}},getInput:function(){return this.$refs.input.getInput()}},mounted:function(){var e=this;this.debouncedGetData=F()(this.debounce,this.getData),this.$on("item-click",(function(t){e.select(t)}));var t=this.getInput();t.setAttribute("role","textbox"),t.setAttribute("aria-autocomplete","list"),t.setAttribute("aria-controls","id"),t.setAttribute("aria-activedescendant",this.id+"-item-"+this.highlightedIndex)},beforeDestroy:function(){this.$refs.suggestions.$destroy()}},Q=J,ee=o(Q,P,O,!1,null,null,null);ee.options.__file="packages/autocomplete/src/autocomplete.vue";var te=ee.exports;te.install=function(e){e.component(te.name,te)};var ie,ne,re=te,ae=i(12),se=i.n(ae),oe=i(29),ce=i.n(oe),le={name:"ElDropdown",componentName:"ElDropdown",mixins:[M.a,E.a],directives:{Clickoutside:V.a},components:{ElButton:se.a,ElButtonGroup:ce.a},provide:function(){return{dropdown:this}},props:{trigger:{type:String,default:"hover"},type:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},placement:{type:String,default:"bottom-end"},visibleArrow:{default:!0},showTimeout:{type:Number,default:250},hideTimeout:{type:Number,default:150},tabindex:{type:Number,default:0}},data:function(){return{timeout:null,visible:!1,triggerElm:null,menuItems:null,menuItemsArray:null,dropdownElm:null,focusing:!1,listId:"dropdown-menu-"+Object(y["generateId"])()}},computed:{dropdownSize:function(){return this.size||(this.$ELEMENT||{}).size}},mounted:function(){this.$on("menu-item-click",this.handleMenuItemClick)},watch:{visible:function(e){this.broadcast("ElDropdownMenu","visible",e),this.$emit("visible-change",e)},focusing:function(e){var t=this.$el.querySelector(".el-dropdown-selfdefine");t&&(e?t.className+=" focusing":t.className=t.className.replace("focusing",""))}},methods:{getMigratingConfig:function(){return{props:{"menu-align":"menu-align is renamed to placement."}}},show:function(){var e=this;this.triggerElm.disabled||(clearTimeout(this.timeout),this.timeout=setTimeout((function(){e.visible=!0}),"click"===this.trigger?0:this.showTimeout))},hide:function(){var e=this;this.triggerElm.disabled||(this.removeTabindex(),this.tabindex>=0&&this.resetTabindex(this.triggerElm),clearTimeout(this.timeout),this.timeout=setTimeout((function(){e.visible=!1}),"click"===this.trigger?0:this.hideTimeout))},handleClick:function(){this.triggerElm.disabled||(this.visible?this.hide():this.show())},handleTriggerKeyDown:function(e){var t=e.keyCode;[38,40].indexOf(t)>-1?(this.removeTabindex(),this.resetTabindex(this.menuItems[0]),this.menuItems[0].focus(),e.preventDefault(),e.stopPropagation()):13===t?this.handleClick():[9,27].indexOf(t)>-1&&this.hide()},handleItemKeyDown:function(e){var t=e.keyCode,i=e.target,n=this.menuItemsArray.indexOf(i),r=this.menuItemsArray.length-1,a=void 0;[38,40].indexOf(t)>-1?(a=38===t?0!==n?n-1:0:n<r?n+1:r,this.removeTabindex(),this.resetTabindex(this.menuItems[a]),this.menuItems[a].focus(),e.preventDefault(),e.stopPropagation()):13===t?(this.triggerElmFocus(),i.click(),this.hideOnClick&&(this.visible=!1)):[9,27].indexOf(t)>-1&&(this.hide(),this.triggerElmFocus())},resetTabindex:function(e){this.removeTabindex(),e.setAttribute("tabindex","0")},removeTabindex:function(){this.triggerElm.setAttribute("tabindex","-1"),this.menuItemsArray.forEach((function(e){e.setAttribute("tabindex","-1")}))},initAria:function(){this.dropdownElm.setAttribute("id",this.listId),this.triggerElm.setAttribute("aria-haspopup","list"),this.triggerElm.setAttribute("aria-controls",this.listId),this.splitButton||(this.triggerElm.setAttribute("role","button"),this.triggerElm.setAttribute("tabindex",this.tabindex),this.triggerElm.setAttribute("class",(this.triggerElm.getAttribute("class")||"")+" el-dropdown-selfdefine"))},initEvent:function(){var e=this,t=this.trigger,i=this.show,n=this.hide,r=this.handleClick,a=this.splitButton,s=this.handleTriggerKeyDown,o=this.handleItemKeyDown;this.triggerElm=a?this.$refs.trigger.$el:this.$slots.default[0].elm;var c=this.dropdownElm;this.triggerElm.addEventListener("keydown",s),c.addEventListener("keydown",o,!0),a||(this.triggerElm.addEventListener("focus",(function(){e.focusing=!0})),this.triggerElm.addEventListener("blur",(function(){e.focusing=!1})),this.triggerElm.addEventListener("click",(function(){e.focusing=!1}))),"hover"===t?(this.triggerElm.addEventListener("mouseenter",i),this.triggerElm.addEventListener("mouseleave",n),c.addEventListener("mouseenter",i),c.addEventListener("mouseleave",n)):"click"===t&&this.triggerElm.addEventListener("click",r)},handleMenuItemClick:function(e,t){this.hideOnClick&&(this.visible=!1),this.$emit("command",e,t)},triggerElmFocus:function(){this.triggerElm.focus&&this.triggerElm.focus()},initDomOperation:function(){this.dropdownElm=this.popperElm,this.menuItems=this.dropdownElm.querySelectorAll("[tabindex='-1']"),this.menuItemsArray=[].slice.call(this.menuItems),this.initEvent(),this.initAria()}},render:function(e){var t=this,i=this.hide,n=this.splitButton,r=this.type,a=this.dropdownSize,s=function(e){t.$emit("click",e),i()},o=n?e("el-button-group",[e("el-button",{attrs:{type:r,size:a},nativeOn:{click:s}},[this.$slots.default]),e("el-button",{ref:"trigger",attrs:{type:r,size:a},class:"el-dropdown__caret-button"},[e("i",{class:"el-dropdown__icon el-icon-arrow-down"})])]):this.$slots.default;return e("div",{class:"el-dropdown",directives:[{name:"clickoutside",value:i}]},[o,this.$slots.dropdown])}},ue=le,he=o(ue,ie,ne,!1,null,null,null);he.options.__file="packages/dropdown/src/dropdown.vue";var de=he.exports;de.install=function(e){e.component(de.name,de)};var fe=de,pe=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.doDestroy}},[i("ul",{directives:[{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-dropdown-menu el-popper",class:[e.size&&"el-dropdown-menu--"+e.size]},[e._t("default")],2)])},me=[];pe._withStripped=!0;var ve={name:"ElDropdownMenu",componentName:"ElDropdownMenu",mixins:[$.a],props:{visibleArrow:{type:Boolean,default:!0},arrowOffset:{type:Number,default:0}},data:function(){return{size:this.dropdown.dropdownSize}},inject:["dropdown"],created:function(){var e=this;this.$on("updatePopper",(function(){e.showPopper&&e.updatePopper()})),this.$on("visible",(function(t){e.showPopper=t}))},mounted:function(){this.dropdown.popperElm=this.popperElm=this.$el,this.referenceElm=this.dropdown.$el,this.dropdown.initDomOperation()},watch:{"dropdown.placement":{immediate:!0,handler:function(e){this.currentPlacement=e}}}},ge=ve,ye=o(ge,pe,me,!1,null,null,null);ye.options.__file="packages/dropdown/src/dropdown-menu.vue";var be=ye.exports;be.install=function(e){e.component(be.name,be)};var Ce=be,Se=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{staticClass:"el-dropdown-menu__item",class:{"is-disabled":e.disabled,"el-dropdown-menu__item--divided":e.divided},attrs:{"aria-disabled":e.disabled,tabindex:e.disabled?null:-1},on:{click:e.handleClick}},[e.icon?i("i",{class:e.icon}):e._e(),e._t("default")],2)},xe=[];Se._withStripped=!0;var we={name:"ElDropdownItem",mixins:[M.a],props:{command:{},disabled:Boolean,divided:Boolean,icon:String},methods:{handleClick:function(e){this.dispatch("ElDropdown","menu-item-click",[this.command,this])}}},_e=we,Ae=o(_e,Se,xe,!1,null,null,null);Ae.options.__file="packages/dropdown/src/dropdown-item.vue";var Ee=Ae.exports;Ee.install=function(e){e.component(Ee.name,Ee)};var ke=Ee,Me=Me||{};Me.Utils=Me.Utils||{},Me.Utils.focusFirstDescendant=function(e){for(var t=0;t<e.childNodes.length;t++){var i=e.childNodes[t];if(Me.Utils.attemptFocus(i)||Me.Utils.focusFirstDescendant(i))return!0}return!1},Me.Utils.focusLastDescendant=function(e){for(var t=e.childNodes.length-1;t>=0;t--){var i=e.childNodes[t];if(Me.Utils.attemptFocus(i)||Me.Utils.focusLastDescendant(i))return!0}return!1},Me.Utils.attemptFocus=function(e){if(!Me.Utils.isFocusable(e))return!1;Me.Utils.IgnoreUtilFocusChanges=!0;try{e.focus()}catch(t){}return Me.Utils.IgnoreUtilFocusChanges=!1,document.activeElement===e},Me.Utils.isFocusable=function(e){if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return"hidden"!==e.type&&"file"!==e.type;case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Me.Utils.triggerEvent=function(e,t){var i=void 0;i=/^mouse|click/.test(t)?"MouseEvents":/^key/.test(t)?"KeyboardEvent":"HTMLEvents";for(var n=document.createEvent(i),r=arguments.length,a=Array(r>2?r-2:0),s=2;s<r;s++)a[s-2]=arguments[s];return n.initEvent.apply(n,[t].concat(a)),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent("on"+t,n),e},Me.Utils.keys={tab:9,enter:13,space:32,left:37,up:38,right:39,down:40,esc:27};var ze=Me.Utils,Te=function(e,t){this.domNode=t,this.parent=e,this.subMenuItems=[],this.subIndex=0,this.init()};Te.prototype.init=function(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()},Te.prototype.gotoSubIndex=function(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e},Te.prototype.addListeners=function(){var e=this,t=ze.keys,i=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,(function(n){n.addEventListener("keydown",(function(n){var r=!1;switch(n.keyCode){case t.down:e.gotoSubIndex(e.subIndex+1),r=!0;break;case t.up:e.gotoSubIndex(e.subIndex-1),r=!0;break;case t.tab:ze.triggerEvent(i,"mouseleave");break;case t.enter:case t.space:r=!0,n.currentTarget.click();break}return r&&(n.preventDefault(),n.stopPropagation()),!1}))}))};var Ie=Te,Ne=function(e){this.domNode=e,this.submenu=null,this.init()};Ne.prototype.init=function(){this.domNode.setAttribute("tabindex","0");var e=this.domNode.querySelector(".el-menu");e&&(this.submenu=new Ie(this,e)),this.addListeners()},Ne.prototype.addListeners=function(){var e=this,t=ze.keys;this.domNode.addEventListener("keydown",(function(i){var n=!1;switch(i.keyCode){case t.down:ze.triggerEvent(i.currentTarget,"mouseenter"),e.submenu&&e.submenu.gotoSubIndex(0),n=!0;break;case t.up:ze.triggerEvent(i.currentTarget,"mouseenter"),e.submenu&&e.submenu.gotoSubIndex(e.submenu.subMenuItems.length-1),n=!0;break;case t.tab:ze.triggerEvent(i.currentTarget,"mouseleave");break;case t.enter:case t.space:n=!0,i.currentTarget.click();break}n&&i.preventDefault()}))};var De=Ne,Pe=function(e){this.domNode=e,this.init()};Pe.prototype.init=function(){var e=this.domNode.childNodes;[].filter.call(e,(function(e){return 1===e.nodeType})).forEach((function(e){new De(e)}))};var Oe,He,Fe=Pe,Le=i(1),Ve={name:"ElMenu",render:function(e){var t=e("ul",{attrs:{role:"menubar"},key:+this.collapse,style:{backgroundColor:this.backgroundColor||""},class:{"el-menu--horizontal":"horizontal"===this.mode,"el-menu--collapse":this.collapse,"el-menu":!0}},[this.$slots.default]);return this.collapseTransition?e("el-menu-collapse-transition",[t]):t},componentName:"ElMenu",mixins:[M.a,E.a],provide:function(){return{rootMenu:this}},components:{"el-menu-collapse-transition":{functional:!0,render:function(e,t){var i={props:{mode:"out-in"},on:{beforeEnter:function(e){e.style.opacity=.2},enter:function(e){Object(Le["addClass"])(e,"el-opacity-transition"),e.style.opacity=1},afterEnter:function(e){Object(Le["removeClass"])(e,"el-opacity-transition"),e.style.opacity=""},beforeLeave:function(e){e.dataset||(e.dataset={}),Object(Le["hasClass"])(e,"el-menu--collapse")?(Object(Le["removeClass"])(e,"el-menu--collapse"),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth,Object(Le["addClass"])(e,"el-menu--collapse")):(Object(Le["addClass"])(e,"el-menu--collapse"),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth,Object(Le["removeClass"])(e,"el-menu--collapse")),e.style.width=e.scrollWidth+"px",e.style.overflow="hidden"},leave:function(e){Object(Le["addClass"])(e,"horizontal-collapse-transition"),e.style.width=e.dataset.scrollWidth+"px"}}};return e("transition",i,t.children)}}},props:{mode:{type:String,default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:Array,uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0}},data:function(){return{activeIndex:this.defaultActive,openedMenus:this.defaultOpeneds&&!this.collapse?this.defaultOpeneds.slice(0):[],items:{},submenus:{}}},computed:{hoverBackground:function(){return this.backgroundColor?this.mixColor(this.backgroundColor,.2):""},isMenuPopup:function(){return"horizontal"===this.mode||"vertical"===this.mode&&this.collapse}},watch:{defaultActive:function(e){this.items[e]||(this.activeIndex=null),this.updateActiveIndex(e)},defaultOpeneds:function(e){this.collapse||(this.openedMenus=e)},collapse:function(e){e&&(this.openedMenus=[]),this.broadcast("ElSubmenu","toggle-collapse",e)}},methods:{updateActiveIndex:function(e){var t=this.items[e]||this.items[this.activeIndex]||this.items[this.defaultActive];t?(this.activeIndex=t.index,this.initOpenedMenu()):this.activeIndex=null},getMigratingConfig:function(){return{props:{theme:"theme is removed."}}},getColorChannels:function(e){if(e=e.replace("#",""),/^[0-9a-fA-F]{3}$/.test(e)){e=e.split("");for(var t=2;t>=0;t--)e.splice(t,0,e[t]);e=e.join("")}return/^[0-9a-fA-F]{6}$/.test(e)?{red:parseInt(e.slice(0,2),16),green:parseInt(e.slice(2,4),16),blue:parseInt(e.slice(4,6),16)}:{red:255,green:255,blue:255}},mixColor:function(e,t){var i=this.getColorChannels(e),n=i.red,r=i.green,a=i.blue;return t>0?(n*=1-t,r*=1-t,a*=1-t):(n+=(255-n)*t,r+=(255-r)*t,a+=(255-a)*t),"rgb("+Math.round(n)+", "+Math.round(r)+", "+Math.round(a)+")"},addItem:function(e){this.$set(this.items,e.index,e)},removeItem:function(e){delete this.items[e.index]},addSubmenu:function(e){this.$set(this.submenus,e.index,e)},removeSubmenu:function(e){delete this.submenus[e.index]},openMenu:function(e,t){var i=this.openedMenus;-1===i.indexOf(e)&&(this.uniqueOpened&&(this.openedMenus=i.filter((function(e){return-1!==t.indexOf(e)}))),this.openedMenus.push(e))},closeMenu:function(e){var t=this.openedMenus.indexOf(e);-1!==t&&this.openedMenus.splice(t,1)},handleSubmenuClick:function(e){var t=e.index,i=e.indexPath,n=-1!==this.openedMenus.indexOf(t);n?(this.closeMenu(t),this.$emit("close",t,i)):(this.openMenu(t,i),this.$emit("open",t,i))},handleItemClick:function(e){var t=this,i=e.index,n=e.indexPath,r=this.activeIndex,a=null!==e.index;a&&(this.activeIndex=e.index),this.$emit("select",i,n,e),("horizontal"===this.mode||this.collapse)&&(this.openedMenus=[]),this.router&&a&&this.routeToItem(e,(function(e){if(t.activeIndex=r,e){if("NavigationDuplicated"===e.name)return;console.error(e)}}))},initOpenedMenu:function(){var e=this,t=this.activeIndex,i=this.items[t];if(i&&"horizontal"!==this.mode&&!this.collapse){var n=i.indexPath;n.forEach((function(t){var i=e.submenus[t];i&&e.openMenu(t,i.indexPath)}))}},routeToItem:function(e,t){var i=e.route||e.index;try{this.$router.push(i,(function(){}),t)}catch(n){console.error(n)}},open:function(e){var t=this,i=this.submenus[e.toString()].indexPath;i.forEach((function(e){return t.openMenu(e,i)}))},close:function(e){this.closeMenu(e)}},mounted:function(){this.initOpenedMenu(),this.$on("item-click",this.handleItemClick),this.$on("submenu-click",this.handleSubmenuClick),"horizontal"===this.mode&&new Fe(this.$el),this.$watch("items",this.updateActiveIndex)}},Re=Ve,Be=o(Re,Oe,He,!1,null,null,null);Be.options.__file="packages/menu/src/menu.vue";var je=Be.exports;je.install=function(e){e.component(je.name,je)};var $e,Ke,qe=je,Ue=i(21),We=i.n(Ue),Xe={inject:["rootMenu"],computed:{indexPath:function(){var e=[this.index],t=this.$parent;while("ElMenu"!==t.$options.componentName)t.index&&e.unshift(t.index),t=t.$parent;return e},parentMenu:function(){var e=this.$parent;while(e&&-1===["ElMenu","ElSubmenu"].indexOf(e.$options.componentName))e=e.$parent;return e},paddingStyle:function(){if("vertical"!==this.rootMenu.mode)return{};var e=20,t=this.$parent;if(this.rootMenu.collapse)e=20;else while(t&&"ElMenu"!==t.$options.componentName)"ElSubmenu"===t.$options.componentName&&(e+=20),t=t.$parent;return{paddingLeft:e+"px"}}}},Ge={props:{transformOrigin:{type:[Boolean,String],default:!1},offset:$.a.props.offset,boundariesPadding:$.a.props.boundariesPadding,popperOptions:$.a.props.popperOptions},data:$.a.data,methods:$.a.methods,beforeDestroy:$.a.beforeDestroy,deactivated:$.a.deactivated},Ye={name:"ElSubmenu",componentName:"ElSubmenu",mixins:[Xe,M.a,Ge],components:{ElCollapseTransition:We.a},props:{index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0}},data:function(){return{popperJS:null,timeout:null,items:{},submenus:{},mouseInChild:!1}},watch:{opened:function(e){var t=this;this.isMenuPopup&&this.$nextTick((function(e){t.updatePopper()}))}},computed:{appendToBody:function(){return void 0===this.popperAppendToBody?this.isFirstLevel:this.popperAppendToBody},menuTransitionName:function(){return this.rootMenu.collapse?"el-zoom-in-left":"el-zoom-in-top"},opened:function(){return this.rootMenu.openedMenus.indexOf(this.index)>-1},active:function(){var e=!1,t=this.submenus,i=this.items;return Object.keys(i).forEach((function(t){i[t].active&&(e=!0)})),Object.keys(t).forEach((function(i){t[i].active&&(e=!0)})),e},hoverBackground:function(){return this.rootMenu.hoverBackground},backgroundColor:function(){return this.rootMenu.backgroundColor||""},activeTextColor:function(){return this.rootMenu.activeTextColor||""},textColor:function(){return this.rootMenu.textColor||""},mode:function(){return this.rootMenu.mode},isMenuPopup:function(){return this.rootMenu.isMenuPopup},titleStyle:function(){return"horizontal"!==this.mode?{color:this.textColor}:{borderBottomColor:this.active?this.rootMenu.activeTextColor?this.activeTextColor:"":"transparent",color:this.active?this.activeTextColor:this.textColor}},isFirstLevel:function(){var e=!0,t=this.$parent;while(t&&t!==this.rootMenu){if(["ElSubmenu","ElMenuItemGroup"].indexOf(t.$options.componentName)>-1){e=!1;break}t=t.$parent}return e}},methods:{handleCollapseToggle:function(e){e?this.initPopper():this.doDestroy()},addItem:function(e){this.$set(this.items,e.index,e)},removeItem:function(e){delete this.items[e.index]},addSubmenu:function(e){this.$set(this.submenus,e.index,e)},removeSubmenu:function(e){delete this.submenus[e.index]},handleClick:function(){var e=this.rootMenu,t=this.disabled;"hover"===e.menuTrigger&&"horizontal"===e.mode||e.collapse&&"vertical"===e.mode||t||this.dispatch("ElMenu","submenu-click",this)},handleMouseenter:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.showTimeout;if("ActiveXObject"in window||"focus"!==e.type||e.relatedTarget){var n=this.rootMenu,r=this.disabled;"click"===n.menuTrigger&&"horizontal"===n.mode||!n.collapse&&"vertical"===n.mode||r||(this.dispatch("ElSubmenu","mouse-enter-child"),clearTimeout(this.timeout),this.timeout=setTimeout((function(){t.rootMenu.openMenu(t.index,t.indexPath)}),i),this.appendToBody&&this.$parent.$el.dispatchEvent(new MouseEvent("mouseenter")))}},handleMouseleave:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.rootMenu;"click"===i.menuTrigger&&"horizontal"===i.mode||!i.collapse&&"vertical"===i.mode||(this.dispatch("ElSubmenu","mouse-leave-child"),clearTimeout(this.timeout),this.timeout=setTimeout((function(){!e.mouseInChild&&e.rootMenu.closeMenu(e.index)}),this.hideTimeout),this.appendToBody&&t&&"ElSubmenu"===this.$parent.$options.name&&this.$parent.handleMouseleave(!0))},handleTitleMouseenter:function(){if("horizontal"!==this.mode||this.rootMenu.backgroundColor){var e=this.$refs["submenu-title"];e&&(e.style.backgroundColor=this.rootMenu.hoverBackground)}},handleTitleMouseleave:function(){if("horizontal"!==this.mode||this.rootMenu.backgroundColor){var e=this.$refs["submenu-title"];e&&(e.style.backgroundColor=this.rootMenu.backgroundColor||"")}},updatePlacement:function(){this.currentPlacement="horizontal"===this.mode&&this.isFirstLevel?"bottom-start":"right-start"},initPopper:function(){this.referenceElm=this.$el,this.popperElm=this.$refs.menu,this.updatePlacement()}},created:function(){var e=this;this.$on("toggle-collapse",this.handleCollapseToggle),this.$on("mouse-enter-child",(function(){e.mouseInChild=!0,clearTimeout(e.timeout)})),this.$on("mouse-leave-child",(function(){e.mouseInChild=!1,clearTimeout(e.timeout)}))},mounted:function(){this.parentMenu.addSubmenu(this),this.rootMenu.addSubmenu(this),this.initPopper()},beforeDestroy:function(){this.parentMenu.removeSubmenu(this),this.rootMenu.removeSubmenu(this)},render:function(e){var t=this,i=this.active,n=this.opened,r=this.paddingStyle,a=this.titleStyle,s=this.backgroundColor,o=this.rootMenu,c=this.currentPlacement,l=this.menuTransitionName,u=this.mode,h=this.disabled,d=this.popperClass,f=this.$slots,p=this.isFirstLevel,m=e("transition",{attrs:{name:l}},[e("div",{ref:"menu",directives:[{name:"show",value:n}],class:["el-menu--"+u,d],on:{mouseenter:function(e){return t.handleMouseenter(e,100)},mouseleave:function(){return t.handleMouseleave(!0)},focus:function(e){return t.handleMouseenter(e,100)}}},[e("ul",{attrs:{role:"menu"},class:["el-menu el-menu--popup","el-menu--popup-"+c],style:{backgroundColor:o.backgroundColor||""}},[f.default])])]),v=e("el-collapse-transition",[e("ul",{attrs:{role:"menu"},class:"el-menu el-menu--inline",directives:[{name:"show",value:n}],style:{backgroundColor:o.backgroundColor||""}},[f.default])]),g="horizontal"===o.mode&&p||"vertical"===o.mode&&!o.collapse?"el-icon-arrow-down":"el-icon-arrow-right";return e("li",{class:{"el-submenu":!0,"is-active":i,"is-opened":n,"is-disabled":h},attrs:{role:"menuitem","aria-haspopup":"true","aria-expanded":n},on:{mouseenter:this.handleMouseenter,mouseleave:function(){return t.handleMouseleave(!1)},focus:this.handleMouseenter}},[e("div",{class:"el-submenu__title",ref:"submenu-title",on:{click:this.handleClick,mouseenter:this.handleTitleMouseenter,mouseleave:this.handleTitleMouseleave},style:[r,a,{backgroundColor:s}]},[f.title,e("i",{class:["el-submenu__icon-arrow",g]})]),this.isMenuPopup?m:v])}},Ze=Ye,Je=o(Ze,$e,Ke,!1,null,null,null);Je.options.__file="packages/menu/src/submenu.vue";var Qe=Je.exports;Qe.install=function(e){e.component(Qe.name,Qe)};var et=Qe,tt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{staticClass:"el-menu-item",class:{"is-active":e.active,"is-disabled":e.disabled},style:[e.paddingStyle,e.itemStyle,{backgroundColor:e.backgroundColor}],attrs:{role:"menuitem",tabindex:"-1"},on:{click:e.handleClick,mouseenter:e.onMouseEnter,focus:e.onMouseEnter,blur:e.onMouseLeave,mouseleave:e.onMouseLeave}},["ElMenu"===e.parentMenu.$options.componentName&&e.rootMenu.collapse&&e.$slots.title?i("el-tooltip",{attrs:{effect:"dark",placement:"right"}},[i("div",{attrs:{slot:"content"},slot:"content"},[e._t("title")],2),i("div",{staticStyle:{position:"absolute",left:"0",top:"0",height:"100%",width:"100%",display:"inline-block","box-sizing":"border-box",padding:"0 20px"}},[e._t("default")],2)]):[e._t("default"),e._t("title")]],2)},it=[];tt._withStripped=!0;var nt=i(26),rt=i.n(nt),at={name:"ElMenuItem",componentName:"ElMenuItem",mixins:[Xe,M.a],components:{ElTooltip:rt.a},props:{index:{default:null,validator:function(e){return"string"===typeof e||null===e}},route:[String,Object],disabled:Boolean},computed:{active:function(){return this.index===this.rootMenu.activeIndex},hoverBackground:function(){return this.rootMenu.hoverBackground},backgroundColor:function(){return this.rootMenu.backgroundColor||""},activeTextColor:function(){return this.rootMenu.activeTextColor||""},textColor:function(){return this.rootMenu.textColor||""},mode:function(){return this.rootMenu.mode},itemStyle:function(){var e={color:this.active?this.activeTextColor:this.textColor};return"horizontal"!==this.mode||this.isNested||(e.borderBottomColor=this.active?this.rootMenu.activeTextColor?this.activeTextColor:"":"transparent"),e},isNested:function(){return this.parentMenu!==this.rootMenu}},methods:{onMouseEnter:function(){("horizontal"!==this.mode||this.rootMenu.backgroundColor)&&(this.$el.style.backgroundColor=this.hoverBackground)},onMouseLeave:function(){("horizontal"!==this.mode||this.rootMenu.backgroundColor)&&(this.$el.style.backgroundColor=this.backgroundColor)},handleClick:function(){this.disabled||(this.dispatch("ElMenu","item-click",this),this.$emit("click",this))}},mounted:function(){this.parentMenu.addItem(this),this.rootMenu.addItem(this)},beforeDestroy:function(){this.parentMenu.removeItem(this),this.rootMenu.removeItem(this)}},st=at,ot=o(st,tt,it,!1,null,null,null);ot.options.__file="packages/menu/src/menu-item.vue";var ct=ot.exports;ct.install=function(e){e.component(ct.name,ct)};var lt=ct,ut=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{staticClass:"el-menu-item-group"},[i("div",{staticClass:"el-menu-item-group__title",style:{paddingLeft:e.levelPadding+"px"}},[e.$slots.title?e._t("title"):[e._v(e._s(e.title))]],2),i("ul",[e._t("default")],2)])},ht=[];ut._withStripped=!0;var dt={name:"ElMenuItemGroup",componentName:"ElMenuItemGroup",inject:["rootMenu"],props:{title:{type:String}},data:function(){return{paddingLeft:20}},computed:{levelPadding:function(){var e=20,t=this.$parent;if(this.rootMenu.collapse)return 20;while(t&&"ElMenu"!==t.$options.componentName)"ElSubmenu"===t.$options.componentName&&(e+=20),t=t.$parent;return e}}},ft=dt,pt=o(ft,ut,ht,!1,null,null,null);pt.options.__file="packages/menu/src/menu-item-group.vue";var mt=pt.exports;mt.install=function(e){e.component(mt.name,mt)};var vt=mt,gt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:["textarea"===e.type?"el-textarea":"el-input",e.inputSize?"el-input--"+e.inputSize:"",{"is-disabled":e.inputDisabled,"is-exceed":e.inputExceed,"el-input-group":e.$slots.prepend||e.$slots.append,"el-input-group--append":e.$slots.append,"el-input-group--prepend":e.$slots.prepend,"el-input--prefix":e.$slots.prefix||e.prefixIcon,"el-input--suffix":e.$slots.suffix||e.suffixIcon||e.clearable||e.showPassword}],on:{mouseenter:function(t){e.hovering=!0},mouseleave:function(t){e.hovering=!1}}},["textarea"!==e.type?[e.$slots.prepend?i("div",{staticClass:"el-input-group__prepend"},[e._t("prepend")],2):e._e(),"textarea"!==e.type?i("input",e._b({ref:"input",staticClass:"el-input__inner",attrs:{tabindex:e.tabindex,type:e.showPassword?e.passwordVisible?"text":"password":e.type,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,"aria-label":e.label},on:{compositionstart:e.handleCompositionStart,compositionupdate:e.handleCompositionUpdate,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},"input",e.$attrs,!1)):e._e(),e.$slots.prefix||e.prefixIcon?i("span",{staticClass:"el-input__prefix"},[e._t("prefix"),e.prefixIcon?i("i",{staticClass:"el-input__icon",class:e.prefixIcon}):e._e()],2):e._e(),e.getSuffixVisible()?i("span",{staticClass:"el-input__suffix"},[i("span",{staticClass:"el-input__suffix-inner"},[e.showClear&&e.showPwdVisible&&e.isWordLimitVisible?e._e():[e._t("suffix"),e.suffixIcon?i("i",{staticClass:"el-input__icon",class:e.suffixIcon}):e._e()],e.showClear?i("i",{staticClass:"el-input__icon el-icon-circle-close el-input__clear",on:{mousedown:function(e){e.preventDefault()},click:e.clear}}):e._e(),e.showPwdVisible?i("i",{staticClass:"el-input__icon el-icon-view el-input__clear",on:{click:e.handlePasswordVisible}}):e._e(),e.isWordLimitVisible?i("span",{staticClass:"el-input__count"},[i("span",{staticClass:"el-input__count-inner"},[e._v("\n            "+e._s(e.textLength)+"/"+e._s(e.upperLimit)+"\n          ")])]):e._e()],2),e.validateState?i("i",{staticClass:"el-input__icon",class:["el-input__validateIcon",e.validateIcon]}):e._e()]):e._e(),e.$slots.append?i("div",{staticClass:"el-input-group__append"},[e._t("append")],2):e._e()]:i("textarea",e._b({ref:"textarea",staticClass:"el-textarea__inner",style:e.textareaStyle,attrs:{tabindex:e.tabindex,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,"aria-label":e.label},on:{compositionstart:e.handleCompositionStart,compositionupdate:e.handleCompositionUpdate,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},"textarea",e.$attrs,!1)),e.isWordLimitVisible&&"textarea"===e.type?i("span",{staticClass:"el-input__count"},[e._v(e._s(e.textLength)+"/"+e._s(e.upperLimit))]):e._e()],2)},yt=[];gt._withStripped=!0;var bt=void 0,Ct="\n  height:0 !important;\n  visibility:hidden !important;\n  overflow:hidden !important;\n  position:absolute !important;\n  z-index:-1000 !important;\n  top:0 !important;\n  right:0 !important\n",St=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function xt(e){var t=window.getComputedStyle(e),i=t.getPropertyValue("box-sizing"),n=parseFloat(t.getPropertyValue("padding-bottom"))+parseFloat(t.getPropertyValue("padding-top")),r=parseFloat(t.getPropertyValue("border-bottom-width"))+parseFloat(t.getPropertyValue("border-top-width")),a=St.map((function(e){return e+":"+t.getPropertyValue(e)})).join(";");return{contextStyle:a,paddingSize:n,borderSize:r,boxSizing:i}}function wt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;bt||(bt=document.createElement("textarea"),document.body.appendChild(bt));var n=xt(e),r=n.paddingSize,a=n.borderSize,s=n.boxSizing,o=n.contextStyle;bt.setAttribute("style",o+";"+Ct),bt.value=e.value||e.placeholder||"";var c=bt.scrollHeight,l={};"border-box"===s?c+=a:"content-box"===s&&(c-=r),bt.value="";var u=bt.scrollHeight-r;if(null!==t){var h=u*t;"border-box"===s&&(h=h+r+a),c=Math.max(h,c),l.minHeight=h+"px"}if(null!==i){var d=u*i;"border-box"===s&&(d=d+r+a),c=Math.min(d,c)}return l.height=c+"px",bt.parentNode&&bt.parentNode.removeChild(bt),bt=null,l}var _t=i(7),At=i.n(_t),Et=i(19),kt={name:"ElInput",componentName:"ElInput",mixins:[M.a,E.a],inheritAttrs:!1,inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{textareaCalcStyle:{},hovering:!1,focused:!1,isComposing:!1,passwordVisible:!1}},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:"text"},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(e){return!0}},validateEvent:{type:Boolean,default:!0},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},tabindex:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},validateState:function(){return this.elFormItem?this.elFormItem.validateState:""},needStatusIcon:function(){return!!this.elForm&&this.elForm.statusIcon},validateIcon:function(){return{validating:"el-icon-loading",success:"el-icon-circle-check",error:"el-icon-circle-close"}[this.validateState]},textareaStyle:function(){return At()({},this.textareaCalcStyle,{resize:this.resize})},inputSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputDisabled:function(){return this.disabled||(this.elForm||{}).disabled},nativeInputValue:function(){return null===this.value||void 0===this.value?"":String(this.value)},showClear:function(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering)},showPwdVisible:function(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused)},isWordLimitVisible:function(){return this.showWordLimit&&this.$attrs.maxlength&&("text"===this.type||"textarea"===this.type)&&!this.inputDisabled&&!this.readonly&&!this.showPassword},upperLimit:function(){return this.$attrs.maxlength},textLength:function(){return"number"===typeof this.value?String(this.value).length:(this.value||"").length},inputExceed:function(){return this.isWordLimitVisible&&this.textLength>this.upperLimit}},watch:{value:function(e){this.$nextTick(this.resizeTextarea),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[e])},nativeInputValue:function(){this.setNativeInputValue()},type:function(){var e=this;this.$nextTick((function(){e.setNativeInputValue(),e.resizeTextarea(),e.updateIconOffset()}))}},methods:{focus:function(){this.getInput().focus()},blur:function(){this.getInput().blur()},getMigratingConfig:function(){return{props:{icon:"icon is removed, use suffix-icon / prefix-icon instead.","on-icon-click":"on-icon-click is removed."},events:{click:"click is removed."}}},handleBlur:function(e){this.focused=!1,this.$emit("blur",e),this.validateEvent&&this.dispatch("ElFormItem","el.form.blur",[this.value])},select:function(){this.getInput().select()},resizeTextarea:function(){if(!this.$isServer){var e=this.autosize,t=this.type;if("textarea"===t)if(e){var i=e.minRows,n=e.maxRows;this.textareaCalcStyle=wt(this.$refs.textarea,i,n)}else this.textareaCalcStyle={minHeight:wt(this.$refs.textarea).minHeight}}},setNativeInputValue:function(){var e=this.getInput();e&&e.value!==this.nativeInputValue&&(e.value=this.nativeInputValue)},handleFocus:function(e){this.focused=!0,this.$emit("focus",e)},handleCompositionStart:function(){this.isComposing=!0},handleCompositionUpdate:function(e){var t=e.target.value,i=t[t.length-1]||"";this.isComposing=!Object(Et["isKorean"])(i)},handleCompositionEnd:function(e){this.isComposing&&(this.isComposing=!1,this.handleInput(e))},handleInput:function(e){this.isComposing||e.target.value!==this.nativeInputValue&&(this.$emit("input",e.target.value),this.$nextTick(this.setNativeInputValue))},handleChange:function(e){this.$emit("change",e.target.value)},calcIconOffset:function(e){var t=[].slice.call(this.$el.querySelectorAll(".el-input__"+e)||[]);if(t.length){for(var i=null,n=0;n<t.length;n++)if(t[n].parentNode===this.$el){i=t[n];break}if(i){var r={suffix:"append",prefix:"prepend"},a=r[e];this.$slots[a]?i.style.transform="translateX("+("suffix"===e?"-":"")+this.$el.querySelector(".el-input-group__"+a).offsetWidth+"px)":i.removeAttribute("style")}}},updateIconOffset:function(){this.calcIconOffset("prefix"),this.calcIconOffset("suffix")},clear:function(){this.$emit("input",""),this.$emit("change",""),this.$emit("clear")},handlePasswordVisible:function(){this.passwordVisible=!this.passwordVisible,this.focus()},getInput:function(){return this.$refs.input||this.$refs.textarea},getSuffixVisible:function(){return this.$slots.suffix||this.suffixIcon||this.showClear||this.showPassword||this.isWordLimitVisible||this.validateState&&this.needStatusIcon}},created:function(){this.$on("inputSelect",this.select)},mounted:function(){this.setNativeInputValue(),this.resizeTextarea(),this.updateIconOffset()},updated:function(){this.$nextTick(this.updateIconOffset)}},Mt=kt,zt=o(Mt,gt,yt,!1,null,null,null);zt.options.__file="packages/input/src/input.vue";var Tt=zt.exports;Tt.install=function(e){e.component(Tt.name,Tt)};var It=Tt,Nt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:["el-input-number",e.inputNumberSize?"el-input-number--"+e.inputNumberSize:"",{"is-disabled":e.inputNumberDisabled},{"is-without-controls":!e.controls},{"is-controls-right":e.controlsAtRight}],on:{dragstart:function(e){e.preventDefault()}}},[e.controls?i("span",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-input-number__decrease",class:{"is-disabled":e.minDisabled},attrs:{role:"button"},on:{keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.decrease(t)}}},[i("i",{class:"el-icon-"+(e.controlsAtRight?"arrow-down":"minus")})]):e._e(),e.controls?i("span",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-input-number__increase",class:{"is-disabled":e.maxDisabled},attrs:{role:"button"},on:{keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.increase(t)}}},[i("i",{class:"el-icon-"+(e.controlsAtRight?"arrow-up":"plus")})]):e._e(),i("el-input",{ref:"input",attrs:{value:e.displayValue,placeholder:e.placeholder,disabled:e.inputNumberDisabled,size:e.inputNumberSize,max:e.max,min:e.min,name:e.name,label:e.label},on:{blur:e.handleBlur,focus:e.handleFocus,input:e.handleInput,change:e.handleInputChange},nativeOn:{keydown:[function(t){return!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.increase(t))},function(t){return!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.decrease(t))}]}})],1)},Dt=[];Nt._withStripped=!0;var Pt={bind:function(e,t,i){var n=null,r=void 0,a=function(){return i.context[t.expression].apply()},s=function(){Date.now()-r<100&&a(),clearInterval(n),n=null};Object(Le["on"])(e,"mousedown",(function(e){0===e.button&&(r=Date.now(),Object(Le["once"])(document,"mouseup",s),clearInterval(n),n=setInterval(a,100))}))}},Ot={name:"ElInputNumber",mixins:[Z()("input")],inject:{elForm:{default:""},elFormItem:{default:""}},directives:{repeatClick:Pt},components:{ElInput:m.a},props:{step:{type:Number,default:1},stepStrictly:{type:Boolean,default:!1},max:{type:Number,default:1/0},min:{type:Number,default:-1/0},value:{},disabled:Boolean,size:String,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:""},name:String,label:String,placeholder:String,precision:{type:Number,validator:function(e){return e>=0&&e===parseInt(e,10)}}},data:function(){return{currentValue:0,userInput:null}},watch:{value:{immediate:!0,handler:function(e){var t=void 0===e?e:Number(e);if(void 0!==t){if(isNaN(t))return;if(this.stepStrictly){var i=this.getPrecision(this.step),n=Math.pow(10,i);t=Math.round(t/this.step)*n*this.step/n}void 0!==this.precision&&(t=this.toPrecision(t,this.precision))}t>=this.max&&(t=this.max),t<=this.min&&(t=this.min),this.currentValue=t,this.userInput=null,this.$emit("input",t)}}},computed:{minDisabled:function(){return this._decrease(this.value,this.step)<this.min},maxDisabled:function(){return this._increase(this.value,this.step)>this.max},numPrecision:function(){var e=this.value,t=this.step,i=this.getPrecision,n=this.precision,r=i(t);return void 0!==n?(r>n&&console.warn("[Element Warn][InputNumber]precision should not be less than the decimal places of step"),n):Math.max(i(e),r)},controlsAtRight:function(){return this.controls&&"right"===this.controlsPosition},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},inputNumberSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputNumberDisabled:function(){return this.disabled||!!(this.elForm||{}).disabled},displayValue:function(){if(null!==this.userInput)return this.userInput;var e=this.currentValue;if("number"===typeof e){if(this.stepStrictly){var t=this.getPrecision(this.step),i=Math.pow(10,t);e=Math.round(e/this.step)*i*this.step/i}void 0!==this.precision&&(e=e.toFixed(this.precision))}return e}},methods:{toPrecision:function(e,t){return void 0===t&&(t=this.numPrecision),parseFloat(Math.round(e*Math.pow(10,t))/Math.pow(10,t))},getPrecision:function(e){if(void 0===e)return 0;var t=e.toString(),i=t.indexOf("."),n=0;return-1!==i&&(n=t.length-i-1),n},_increase:function(e,t){if("number"!==typeof e&&void 0!==e)return this.currentValue;var i=Math.pow(10,this.numPrecision);return this.toPrecision((i*e+i*t)/i)},_decrease:function(e,t){if("number"!==typeof e&&void 0!==e)return this.currentValue;var i=Math.pow(10,this.numPrecision);return this.toPrecision((i*e-i*t)/i)},increase:function(){if(!this.inputNumberDisabled&&!this.maxDisabled){var e=this.value||0,t=this._increase(e,this.step);this.setCurrentValue(t)}},decrease:function(){if(!this.inputNumberDisabled&&!this.minDisabled){var e=this.value||0,t=this._decrease(e,this.step);this.setCurrentValue(t)}},handleBlur:function(e){this.$emit("blur",e)},handleFocus:function(e){this.$emit("focus",e)},setCurrentValue:function(e){var t=this.currentValue;"number"===typeof e&&void 0!==this.precision&&(e=this.toPrecision(e,this.precision)),e>=this.max&&(e=this.max),e<=this.min&&(e=this.min),t!==e&&(this.userInput=null,this.$emit("input",e),this.$emit("change",e,t),this.currentValue=e)},handleInput:function(e){this.userInput=e},handleInputChange:function(e){var t=""===e?void 0:Number(e);isNaN(t)&&""!==e||this.setCurrentValue(t),this.userInput=null},select:function(){this.$refs.input.select()}},mounted:function(){var e=this.$refs.input.$refs.input;e.setAttribute("role","spinbutton"),e.setAttribute("aria-valuemax",this.max),e.setAttribute("aria-valuemin",this.min),e.setAttribute("aria-valuenow",this.currentValue),e.setAttribute("aria-disabled",this.inputNumberDisabled)},updated:function(){if(this.$refs&&this.$refs.input){var e=this.$refs.input.$refs.input;e.setAttribute("aria-valuenow",this.currentValue)}}},Ht=Ot,Ft=o(Ht,Nt,Dt,!1,null,null,null);Ft.options.__file="packages/input-number/src/input-number.vue";var Lt=Ft.exports;Lt.install=function(e){e.component(Lt.name,Lt)};var Vt=Lt,Rt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{staticClass:"el-radio",class:[e.border&&e.radioSize?"el-radio--"+e.radioSize:"",{"is-disabled":e.isDisabled},{"is-focus":e.focus},{"is-bordered":e.border},{"is-checked":e.model===e.label}],attrs:{role:"radio","aria-checked":e.model===e.label,"aria-disabled":e.isDisabled,tabindex:e.tabIndex},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"]))return null;t.stopPropagation(),t.preventDefault(),e.model=e.isDisabled?e.model:e.label}}},[i("span",{staticClass:"el-radio__input",class:{"is-disabled":e.isDisabled,"is-checked":e.model===e.label}},[i("span",{staticClass:"el-radio__inner"}),i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],ref:"radio",staticClass:"el-radio__original",attrs:{type:"radio","aria-hidden":"true",name:e.name,disabled:e.isDisabled,tabindex:"-1"},domProps:{value:e.label,checked:e._q(e.model,e.label)},on:{focus:function(t){e.focus=!0},blur:function(t){e.focus=!1},change:[function(t){e.model=e.label},e.handleChange]}})]),i("span",{staticClass:"el-radio__label",on:{keydown:function(e){e.stopPropagation()}}},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2)])},Bt=[];Rt._withStripped=!0;var jt={name:"ElRadio",mixins:[M.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElRadio",props:{value:{},label:{},disabled:Boolean,name:String,border:Boolean,size:String},data:function(){return{focus:!1}},computed:{isGroup:function(){var e=this.$parent;while(e){if("ElRadioGroup"===e.$options.componentName)return this._radioGroup=e,!0;e=e.$parent}return!1},model:{get:function(){return this.isGroup?this._radioGroup.value:this.value},set:function(e){this.isGroup?this.dispatch("ElRadioGroup","input",[e]):this.$emit("input",e),this.$refs.radio&&(this.$refs.radio.checked=this.model===this.label)}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},radioSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._radioGroup.radioGroupSize||e},isDisabled:function(){return this.isGroup?this._radioGroup.disabled||this.disabled||(this.elForm||{}).disabled:this.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this.isGroup&&this.model!==this.label?-1:0}},methods:{handleChange:function(){var e=this;this.$nextTick((function(){e.$emit("change",e.model),e.isGroup&&e.dispatch("ElRadioGroup","handleChange",e.model)}))}}},$t=jt,Kt=o($t,Rt,Bt,!1,null,null,null);Kt.options.__file="packages/radio/src/radio.vue";var qt=Kt.exports;qt.install=function(e){e.component(qt.name,qt)};var Ut=qt,Wt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(e._elTag,{tag:"component",staticClass:"el-radio-group",attrs:{role:"radiogroup"},on:{keydown:e.handleKeydown}},[e._t("default")],2)},Xt=[];Wt._withStripped=!0;var Gt=Object.freeze({LEFT:37,UP:38,RIGHT:39,DOWN:40}),Yt={name:"ElRadioGroup",componentName:"ElRadioGroup",inject:{elFormItem:{default:""}},mixins:[M.a],props:{value:{},size:String,fill:String,textColor:String,disabled:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},_elTag:function(){return(this.$vnode.data||{}).tag||"div"},radioGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},created:function(){var e=this;this.$on("handleChange",(function(t){e.$emit("change",t)}))},mounted:function(){var e=this.$el.querySelectorAll("[type=radio]"),t=this.$el.querySelectorAll("[role=radio]")[0];![].some.call(e,(function(e){return e.checked}))&&t&&(t.tabIndex=0)},methods:{handleKeydown:function(e){var t=e.target,i="INPUT"===t.nodeName?"[type=radio]":"[role=radio]",n=this.$el.querySelectorAll(i),r=n.length,a=[].indexOf.call(n,t),s=this.$el.querySelectorAll("[role=radio]");switch(e.keyCode){case Gt.LEFT:case Gt.UP:e.stopPropagation(),e.preventDefault(),0===a?(s[r-1].click(),s[r-1].focus()):(s[a-1].click(),s[a-1].focus());break;case Gt.RIGHT:case Gt.DOWN:a===r-1?(e.stopPropagation(),e.preventDefault(),s[0].click(),s[0].focus()):(s[a+1].click(),s[a+1].focus());break;default:break}}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",[this.value])}}},Zt=Yt,Jt=o(Zt,Wt,Xt,!1,null,null,null);Jt.options.__file="packages/radio/src/radio-group.vue";var Qt=Jt.exports;Qt.install=function(e){e.component(Qt.name,Qt)};var ei=Qt,ti=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{staticClass:"el-radio-button",class:[e.size?"el-radio-button--"+e.size:"",{"is-active":e.value===e.label},{"is-disabled":e.isDisabled},{"is-focus":e.focus}],attrs:{role:"radio","aria-checked":e.value===e.label,"aria-disabled":e.isDisabled,tabindex:e.tabIndex},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"]))return null;t.stopPropagation(),t.preventDefault(),e.value=e.isDisabled?e.value:e.label}}},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"el-radio-button__orig-radio",attrs:{type:"radio",name:e.name,disabled:e.isDisabled,tabindex:"-1"},domProps:{value:e.label,checked:e._q(e.value,e.label)},on:{change:[function(t){e.value=e.label},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}),i("span",{staticClass:"el-radio-button__inner",style:e.value===e.label?e.activeStyle:null,on:{keydown:function(e){e.stopPropagation()}}},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2)])},ii=[];ti._withStripped=!0;var ni={name:"ElRadioButton",mixins:[M.a],inject:{elForm:{default:""},elFormItem:{default:""}},props:{label:{},disabled:Boolean,name:String},data:function(){return{focus:!1}},computed:{value:{get:function(){return this._radioGroup.value},set:function(e){this._radioGroup.$emit("input",e)}},_radioGroup:function(){var e=this.$parent;while(e){if("ElRadioGroup"===e.$options.componentName)return e;e=e.$parent}return!1},activeStyle:function(){return{backgroundColor:this._radioGroup.fill||"",borderColor:this._radioGroup.fill||"",boxShadow:this._radioGroup.fill?"-1px 0 0 0 "+this._radioGroup.fill:"",color:this._radioGroup.textColor||""}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},size:function(){return this._radioGroup.radioGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size},isDisabled:function(){return this.disabled||this._radioGroup.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this._radioGroup&&this.value!==this.label?-1:0}},methods:{handleChange:function(){var e=this;this.$nextTick((function(){e.dispatch("ElRadioGroup","handleChange",e.value)}))}}},ri=ni,ai=o(ri,ti,ii,!1,null,null,null);ai.options.__file="packages/radio/src/radio-button.vue";var si=ai.exports;si.install=function(e){e.component(si.name,si)};var oi=si,ci=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{staticClass:"el-checkbox",class:[e.border&&e.checkboxSize?"el-checkbox--"+e.checkboxSize:"",{"is-disabled":e.isDisabled},{"is-bordered":e.border},{"is-checked":e.isChecked}],attrs:{id:e.id}},[i("span",{staticClass:"el-checkbox__input",class:{"is-disabled":e.isDisabled,"is-checked":e.isChecked,"is-indeterminate":e.indeterminate,"is-focus":e.focus},attrs:{tabindex:!!e.indeterminate&&0,role:!!e.indeterminate&&"checkbox","aria-checked":!!e.indeterminate&&"mixed"}},[i("span",{staticClass:"el-checkbox__inner"}),e.trueLabel||e.falseLabel?i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":e.indeterminate?"true":"false",name:e.name,disabled:e.isDisabled,"true-value":e.trueLabel,"false-value":e.falseLabel},domProps:{checked:Array.isArray(e.model)?e._i(e.model,null)>-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var i=e.model,n=t.target,r=n.checked?e.trueLabel:e.falseLabel;if(Array.isArray(i)){var a=null,s=e._i(i,a);n.checked?s<0&&(e.model=i.concat([a])):s>-1&&(e.model=i.slice(0,s).concat(i.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":e.indeterminate?"true":"false",disabled:e.isDisabled,name:e.name},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var i=e.model,n=t.target,r=!!n.checked;if(Array.isArray(i)){var a=e.label,s=e._i(i,a);n.checked?s<0&&(e.model=i.concat([a])):s>-1&&(e.model=i.slice(0,s).concat(i.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}})]),e.$slots.default||e.label?i("span",{staticClass:"el-checkbox__label"},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2):e._e()])},li=[];ci._withStripped=!0;var ui={name:"ElCheckbox",mixins:[M.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElCheckbox",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this.isGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.length<this._checkboxGroup.min&&(this.isLimitExceeded=!0),void 0!==this._checkboxGroup.max&&e.length>this._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch("ElCheckboxGroup","input",[e])):(this.$emit("input",e),this.selfModel=e)}},isChecked:function(){return"[object Boolean]"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},isGroup:function(){var e=this.$parent;while(e){if("ElCheckboxGroup"===e.$options.componentName)return this._checkboxGroup=e,!0;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,i=e.min;return!(!t&&!i)&&this.model.length>=t&&!this.isChecked||this.model.length<=i&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||e}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var i=void 0;i=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit("change",i,e),this.$nextTick((function(){t.isGroup&&t.dispatch("ElCheckboxGroup","change",[t._checkboxGroup.value])}))}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute("aria-controls",this.controls)},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",e)}}},hi=ui,di=o(hi,ci,li,!1,null,null,null);di.options.__file="packages/checkbox/src/checkbox.vue";var fi=di.exports;fi.install=function(e){e.component(fi.name,fi)};var pi=fi,mi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{staticClass:"el-checkbox-button",class:[e.size?"el-checkbox-button--"+e.size:"",{"is-disabled":e.isDisabled},{"is-checked":e.isChecked},{"is-focus":e.focus}],attrs:{role:"checkbox","aria-checked":e.isChecked,"aria-disabled":e.isDisabled}},[e.trueLabel||e.falseLabel?i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox-button__original",attrs:{type:"checkbox",name:e.name,disabled:e.isDisabled,"true-value":e.trueLabel,"false-value":e.falseLabel},domProps:{checked:Array.isArray(e.model)?e._i(e.model,null)>-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var i=e.model,n=t.target,r=n.checked?e.trueLabel:e.falseLabel;if(Array.isArray(i)){var a=null,s=e._i(i,a);n.checked?s<0&&(e.model=i.concat([a])):s>-1&&(e.model=i.slice(0,s).concat(i.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox-button__original",attrs:{type:"checkbox",name:e.name,disabled:e.isDisabled},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var i=e.model,n=t.target,r=!!n.checked;if(Array.isArray(i)){var a=e.label,s=e._i(i,a);n.checked?s<0&&(e.model=i.concat([a])):s>-1&&(e.model=i.slice(0,s).concat(i.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}),e.$slots.default||e.label?i("span",{staticClass:"el-checkbox-button__inner",style:e.isChecked?e.activeStyle:null},[e._t("default",[e._v(e._s(e.label))])],2):e._e()])},vi=[];mi._withStripped=!0;var gi={name:"ElCheckboxButton",mixins:[M.a],inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},props:{value:{},label:{},disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number]},computed:{model:{get:function(){return this._checkboxGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this._checkboxGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.length<this._checkboxGroup.min&&(this.isLimitExceeded=!0),void 0!==this._checkboxGroup.max&&e.length>this._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch("ElCheckboxGroup","input",[e])):void 0!==this.value?this.$emit("input",e):this.selfModel=e}},isChecked:function(){return"[object Boolean]"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},_checkboxGroup:function(){var e=this.$parent;while(e){if("ElCheckboxGroup"===e.$options.componentName)return e;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},activeStyle:function(){return{backgroundColor:this._checkboxGroup.fill||"",borderColor:this._checkboxGroup.fill||"",color:this._checkboxGroup.textColor||"","box-shadow":"-1px 0 0 0 "+this._checkboxGroup.fill}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},size:function(){return this._checkboxGroup.checkboxGroupSize||this._elFormItemSize||(this.$ELEMENT||{}).size},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,i=e.min;return!(!t&&!i)&&this.model.length>=t&&!this.isChecked||this.model.length<=i&&this.isChecked},isDisabled:function(){return this._checkboxGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled}},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var i=void 0;i=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit("change",i,e),this.$nextTick((function(){t._checkboxGroup&&t.dispatch("ElCheckboxGroup","change",[t._checkboxGroup.value])}))}}},created:function(){this.checked&&this.addToStore()}},yi=gi,bi=o(yi,mi,vi,!1,null,null,null);bi.options.__file="packages/checkbox/src/checkbox-button.vue";var Ci=bi.exports;Ci.install=function(e){e.component(Ci.name,Ci)};var Si=Ci,xi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-checkbox-group",attrs:{role:"group","aria-label":"checkbox-group"}},[e._t("default")],2)},wi=[];xi._withStripped=!0;var _i={name:"ElCheckboxGroup",componentName:"ElCheckboxGroup",mixins:[M.a],inject:{elFormItem:{default:""}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",[e])}}},Ai=_i,Ei=o(Ai,xi,wi,!1,null,null,null);Ei.options.__file="packages/checkbox/src/checkbox-group.vue";var ki=Ei.exports;ki.install=function(e){e.component(ki.name,ki)};var Mi=ki,zi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-switch",class:{"is-disabled":e.switchDisabled,"is-checked":e.checked},attrs:{role:"switch","aria-checked":e.checked,"aria-disabled":e.switchDisabled},on:{click:function(t){return t.preventDefault(),e.switchValue(t)}}},[i("input",{ref:"input",staticClass:"el-switch__input",attrs:{type:"checkbox",id:e.id,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:e.switchDisabled},on:{change:e.handleChange,keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.switchValue(t)}}}),e.inactiveIconClass||e.inactiveText?i("span",{class:["el-switch__label","el-switch__label--left",e.checked?"":"is-active"]},[e.inactiveIconClass?i("i",{class:[e.inactiveIconClass]}):e._e(),!e.inactiveIconClass&&e.inactiveText?i("span",{attrs:{"aria-hidden":e.checked}},[e._v(e._s(e.inactiveText))]):e._e()]):e._e(),i("span",{ref:"core",staticClass:"el-switch__core",style:{width:e.coreWidth+"px"}}),e.activeIconClass||e.activeText?i("span",{class:["el-switch__label","el-switch__label--right",e.checked?"is-active":""]},[e.activeIconClass?i("i",{class:[e.activeIconClass]}):e._e(),!e.activeIconClass&&e.activeText?i("span",{attrs:{"aria-hidden":!e.checked}},[e._v(e._s(e.activeText))]):e._e()]):e._e()])},Ti=[];zi._withStripped=!0;var Ii={name:"ElSwitch",mixins:[Z()("input"),E.a,M.a],inject:{elForm:{default:""}},props:{value:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},width:{type:Number,default:40},activeIconClass:{type:String,default:""},inactiveIconClass:{type:String,default:""},activeText:String,inactiveText:String,activeColor:{type:String,default:""},inactiveColor:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},id:String},data:function(){return{coreWidth:this.width}},created:function(){~[this.activeValue,this.inactiveValue].indexOf(this.value)||this.$emit("input",this.inactiveValue)},computed:{checked:function(){return this.value===this.activeValue},switchDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{checked:function(){this.$refs.input.checked=this.checked,(this.activeColor||this.inactiveColor)&&this.setBackgroundColor(),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[this.value])}},methods:{handleChange:function(e){var t=this,i=this.checked?this.inactiveValue:this.activeValue;this.$emit("input",i),this.$emit("change",i),this.$nextTick((function(){t.$refs.input.checked=t.checked}))},setBackgroundColor:function(){var e=this.checked?this.activeColor:this.inactiveColor;this.$refs.core.style.borderColor=e,this.$refs.core.style.backgroundColor=e},switchValue:function(){!this.switchDisabled&&this.handleChange()},getMigratingConfig:function(){return{props:{"on-color":"on-color is renamed to active-color.","off-color":"off-color is renamed to inactive-color.","on-text":"on-text is renamed to active-text.","off-text":"off-text is renamed to inactive-text.","on-value":"on-value is renamed to active-value.","off-value":"off-value is renamed to inactive-value.","on-icon-class":"on-icon-class is renamed to active-icon-class.","off-icon-class":"off-icon-class is renamed to inactive-icon-class."}}}},mounted:function(){this.coreWidth=this.width||40,(this.activeColor||this.inactiveColor)&&this.setBackgroundColor(),this.$refs.input.checked=this.checked}},Ni=Ii,Di=o(Ni,zi,Ti,!1,null,null,null);Di.options.__file="packages/switch/src/component.vue";var Pi=Di.exports;Pi.install=function(e){e.component(Pi.name,Pi)};var Oi=Pi,Hi=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],staticClass:"el-select",class:[e.selectSize?"el-select--"+e.selectSize:""],on:{click:function(t){return t.stopPropagation(),e.toggleMenu(t)}}},[e.multiple?i("div",{ref:"tags",staticClass:"el-select__tags",style:{"max-width":e.inputWidth-32+"px",width:"100%"}},[e.collapseTags&&e.selected.length?i("span",[i("el-tag",{attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:e.selected[0].hitState,type:"info","disable-transitions":""},on:{close:function(t){e.deleteTag(t,e.selected[0])}}},[i("span",{staticClass:"el-select__tags-text"},[e._v(e._s(e.selected[0].currentLabel))])]),e.selected.length>1?i("el-tag",{attrs:{closable:!1,size:e.collapseTagSize,type:"info","disable-transitions":""}},[i("span",{staticClass:"el-select__tags-text"},[e._v("+ "+e._s(e.selected.length-1))])]):e._e()],1):e._e(),e.collapseTags?e._e():i("transition-group",{on:{"after-leave":e.resetInputHeight}},e._l(e.selected,(function(t){return i("el-tag",{key:e.getValueKey(t),attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:t.hitState,type:"info","disable-transitions":""},on:{close:function(i){e.deleteTag(i,t)}}},[i("span",{staticClass:"el-select__tags-text"},[e._v(e._s(t.currentLabel))])])})),1),e.filterable?i("input",{directives:[{name:"model",rawName:"v-model",value:e.query,expression:"query"}],ref:"input",staticClass:"el-select__input",class:[e.selectSize?"is-"+e.selectSize:""],style:{"flex-grow":"1",width:e.inputLength/(e.inputWidth-32)+"%","max-width":e.inputWidth-42+"px"},attrs:{type:"text",disabled:e.selectDisabled,autocomplete:e.autoComplete||e.autocomplete},domProps:{value:e.query},on:{focus:e.handleFocus,blur:function(t){e.softFocus=!1},keyup:e.managePlaceholder,keydown:[e.resetInputState,function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.preventDefault(),e.navigateOptions("next")},function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.preventDefault(),e.navigateOptions("prev")},function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.selectOption(t))},function(t){if(!("button"in t)&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){return!("button"in t)&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:e.deletePrevTag(t)},function(t){if(!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab"))return null;e.visible=!1}],compositionstart:e.handleComposition,compositionupdate:e.handleComposition,compositionend:e.handleComposition,input:[function(t){t.target.composing||(e.query=t.target.value)},e.debouncedQueryChange]}}):e._e()],1):e._e(),i("el-input",{ref:"reference",class:{"is-focus":e.visible},attrs:{type:"text",placeholder:e.currentPlaceholder,name:e.name,id:e.id,autocomplete:e.autoComplete||e.autocomplete,size:e.selectSize,disabled:e.selectDisabled,readonly:e.readonly,"validate-event":!1,tabindex:e.multiple&&e.filterable?"-1":null},on:{focus:e.handleFocus,blur:e.handleBlur},nativeOn:{keyup:function(t){return e.debouncedOnInputChange(t)},keydown:[function(t){if(!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"]))return null;t.stopPropagation(),t.preventDefault(),e.navigateOptions("next")},function(t){if(!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"]))return null;t.stopPropagation(),t.preventDefault(),e.navigateOptions("prev")},function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.selectOption(t))},function(t){if(!("button"in t)&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){if(!("button"in t)&&e._k(t.keyCode,"tab",9,t.key,"Tab"))return null;e.visible=!1}],paste:function(t){return e.debouncedOnInputChange(t)},mouseenter:function(t){e.inputHovering=!0},mouseleave:function(t){e.inputHovering=!1}},model:{value:e.selectedLabel,callback:function(t){e.selectedLabel=t},expression:"selectedLabel"}},[e.$slots.prefix?i("template",{slot:"prefix"},[e._t("prefix")],2):e._e(),i("template",{slot:"suffix"},[i("i",{directives:[{name:"show",rawName:"v-show",value:!e.showClose,expression:"!showClose"}],class:["el-select__caret","el-input__icon","el-icon-"+e.iconClass]}),e.showClose?i("i",{staticClass:"el-select__caret el-input__icon el-icon-circle-close",on:{click:e.handleClearClick}}):e._e()])],2),i("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":e.handleMenuEnter,"after-leave":e.doDestroy}},[i("el-select-menu",{directives:[{name:"show",rawName:"v-show",value:e.visible&&!1!==e.emptyText,expression:"visible && emptyText !== false"}],ref:"popper",attrs:{"append-to-body":e.popperAppendToBody}},[i("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.options.length>0&&!e.loading,expression:"options.length > 0 && !loading"}],ref:"scrollbar",class:{"is-empty":!e.allowCreate&&e.query&&0===e.filteredOptionsCount},attrs:{tag:"ul","wrap-class":"el-select-dropdown__wrap","view-class":"el-select-dropdown__list"}},[e.showNewOption?i("el-option",{attrs:{value:e.query,created:""}}):e._e(),e._t("default")],2),e.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&0===e.options.length)?[e.$slots.empty?e._t("empty"):i("p",{staticClass:"el-select-dropdown__empty"},[e._v("\n          "+e._s(e.emptyText)+"\n        ")])]:e._e()],2)],1)],1)},Fi=[];Hi._withStripped=!0;var Li=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-select-dropdown el-popper",class:[{"is-multiple":e.$parent.multiple},e.popperClass],style:{minWidth:e.minWidth}},[e._t("default")],2)},Vi=[];Li._withStripped=!0;var Ri={name:"ElSelectDropdown",componentName:"ElSelectDropdown",mixins:[$.a],props:{placement:{default:"bottom-start"},boundariesPadding:{default:0},popperOptions:{default:function(){return{gpuAcceleration:!1}}},visibleArrow:{default:!0},appendToBody:{type:Boolean,default:!0}},data:function(){return{minWidth:""}},computed:{popperClass:function(){return this.$parent.popperClass}},watch:{"$parent.inputWidth":function(){this.minWidth=this.$parent.$el.getBoundingClientRect().width+"px"}},mounted:function(){var e=this;this.referenceElm=this.$parent.$refs.reference.$el,this.$parent.popperElm=this.popperElm=this.$el,this.$on("updatePopper",(function(){e.$parent.visible&&e.updatePopper()})),this.$on("destroyPopper",this.destroyPopper)}},Bi=Ri,ji=o(Bi,Li,Vi,!1,null,null,null);ji.options.__file="packages/select/src/select-dropdown.vue";var $i=ji.exports,Ki=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-select-dropdown__item",class:{selected:e.itemSelected,"is-disabled":e.disabled||e.groupDisabled||e.limitReached,hover:e.hover},on:{mouseenter:e.hoverItem,click:function(t){return t.stopPropagation(),e.selectOptionClick(t)}}},[e._t("default",[i("span",[e._v(e._s(e.currentLabel))])])],2)},qi=[];Ki._withStripped=!0;var Ui="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wi={mixins:[M.a],name:"ElOption",componentName:"ElOption",inject:["select"],props:{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},data:function(){return{index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}},computed:{isObject:function(){return"[object object]"===Object.prototype.toString.call(this.value).toLowerCase()},currentLabel:function(){return this.label||(this.isObject?"":this.value)},currentValue:function(){return this.value||this.label||""},itemSelected:function(){return this.select.multiple?this.contains(this.select.value,this.value):this.isEqual(this.value,this.select.value)},limitReached:function(){return!!this.select.multiple&&(!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0)}},watch:{currentLabel:function(){this.created||this.select.remote||this.dispatch("ElSelect","setSelected")},value:function(e,t){var i=this.select,n=i.remote,r=i.valueKey;if(!this.created&&!n){if(r&&"object"===("undefined"===typeof e?"undefined":Ui(e))&&"object"===("undefined"===typeof t?"undefined":Ui(t))&&e[r]===t[r])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(e,t){if(this.isObject){var i=this.select.valueKey;return Object(y["getValueByPath"])(e,i)===Object(y["getValueByPath"])(t,i)}return e===t},contains:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if(this.isObject){var i=this.select.valueKey;return e&&e.some((function(e){return Object(y["getValueByPath"])(e,i)===Object(y["getValueByPath"])(t,i)}))}return e&&e.indexOf(t)>-1},handleGroupDisabled:function(e){this.groupDisabled=e},hoverItem:function(){this.disabled||this.groupDisabled||(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){!0!==this.disabled&&!0!==this.groupDisabled&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(e){this.visible=new RegExp(Object(y["escapeRegexpString"])(e),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var e=this.select,t=e.selected,i=e.multiple,n=i?t:[t],r=this.select.cachedOptions.indexOf(this),a=n.indexOf(this);r>-1&&a<0&&this.select.cachedOptions.splice(r,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},Xi=Wi,Gi=o(Xi,Ki,qi,!1,null,null,null);Gi.options.__file="packages/select/src/option.vue";var Yi=Gi.exports,Zi=i(30),Ji=i.n(Zi),Qi=i(13),en=i(11),tn=i.n(en),nn=i(27),rn=i.n(nn),an={data:function(){return{hoverOption:-1}},computed:{optionsAllDisabled:function(){return this.options.filter((function(e){return e.visible})).every((function(e){return e.disabled}))}},watch:{hoverIndex:function(e){var t=this;"number"===typeof e&&e>-1&&(this.hoverOption=this.options[e]||{}),this.options.forEach((function(e){e.hover=t.hoverOption===e}))}},methods:{navigateOptions:function(e){var t=this;if(this.visible){if(0!==this.options.length&&0!==this.filteredOptionsCount&&!this.optionsAllDisabled){"next"===e?(this.hoverIndex++,this.hoverIndex===this.options.length&&(this.hoverIndex=0)):"prev"===e&&(this.hoverIndex--,this.hoverIndex<0&&(this.hoverIndex=this.options.length-1));var i=this.options[this.hoverIndex];!0!==i.disabled&&!0!==i.groupDisabled&&i.visible||this.navigateOptions(e),this.$nextTick((function(){return t.scrollToOption(t.hoverOption)}))}}else this.visible=!0}}},sn={mixins:[M.a,g.a,Z()("reference"),an],name:"ElSelect",componentName:"ElSelect",inject:{elForm:{default:""},elFormItem:{default:""}},provide:function(){return{select:this}},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},readonly:function(){return!this.filterable||this.multiple||!Object(y["isIE"])()&&!Object(y["isEdge"])()&&!this.visible},showClose:function(){var e=this.multiple?Array.isArray(this.value)&&this.value.length>0:void 0!==this.value&&null!==this.value&&""!==this.value,t=this.clearable&&!this.selectDisabled&&this.inputHovering&&e;return t},iconClass:function(){return this.remote&&this.filterable?"":this.visible?"arrow-up is-reverse":"arrow-up"},debounce:function(){return this.remote?300:0},emptyText:function(){return this.loading?this.loadingText||this.t("el.select.loading"):(!this.remote||""!==this.query||0!==this.options.length)&&(this.filterable&&this.query&&this.options.length>0&&0===this.filteredOptionsCount?this.noMatchText||this.t("el.select.noMatch"):0===this.options.length?this.noDataText||this.t("el.select.noData"):null)},showNewOption:function(){var e=this,t=this.options.filter((function(e){return!e.created})).some((function(t){return t.currentLabel===e.query}));return this.filterable&&this.allowCreate&&""!==this.query&&!t},selectSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},selectDisabled:function(){return this.disabled||(this.elForm||{}).disabled},collapseTagSize:function(){return["small","mini"].indexOf(this.selectSize)>-1?"mini":"small"}},components:{ElInput:m.a,ElSelectMenu:$i,ElOption:Yi,ElTag:Ji.a,ElScrollbar:q.a},directives:{Clickoutside:V.a},props:{name:String,id:String,value:{required:!0},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(e){return!0}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,default:function(){return Object(en["t"])("el.select.placeholder")}},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:"value"},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0}},data:function(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:!1,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:"",optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,currentPlaceholder:"",menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1}},watch:{selectDisabled:function(){var e=this;this.$nextTick((function(){e.resetInputHeight()}))},placeholder:function(e){this.cachedPlaceHolder=this.currentPlaceholder=e},value:function(e,t){this.multiple&&(this.resetInputHeight(),e&&e.length>0||this.$refs.input&&""!==this.query?this.currentPlaceholder="":this.currentPlaceholder=this.cachedPlaceHolder,this.filterable&&!this.reserveKeyword&&(this.query="",this.handleQueryChange(this.query))),this.setSelected(),this.filterable&&!this.multiple&&(this.inputLength=20),Object(y["valueEquals"])(e,t)||this.dispatch("ElFormItem","el.form.change",e)},visible:function(e){var t=this;e?(this.broadcast("ElSelectDropdown","updatePopper"),this.filterable&&(this.query=this.remote?"":this.selectedLabel,this.handleQueryChange(this.query),this.multiple?this.$refs.input.focus():(this.remote||(this.broadcast("ElOption","queryChange",""),this.broadcast("ElOptionGroup","queryChange")),this.selectedLabel&&(this.currentPlaceholder=this.selectedLabel,this.selectedLabel="")))):(this.broadcast("ElSelectDropdown","destroyPopper"),this.$refs.input&&this.$refs.input.blur(),this.query="",this.previousQuery=null,this.selectedLabel="",this.inputLength=20,this.menuVisibleOnFocus=!1,this.resetHoverIndex(),this.$nextTick((function(){t.$refs.input&&""===t.$refs.input.value&&0===t.selected.length&&(t.currentPlaceholder=t.cachedPlaceHolder)})),this.multiple||(this.selected&&(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel?this.selectedLabel=this.createdLabel:this.selectedLabel=this.selected.currentLabel,this.filterable&&(this.query=this.selectedLabel)),this.filterable&&(this.currentPlaceholder=this.cachedPlaceHolder))),this.$emit("visible-change",e)},options:function(){var e=this;if(!this.$isServer){this.$nextTick((function(){e.broadcast("ElSelectDropdown","updatePopper")})),this.multiple&&this.resetInputHeight();var t=this.$el.querySelectorAll("input");-1===[].indexOf.call(t,document.activeElement)&&this.setSelected(),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}}},methods:{handleComposition:function(e){var t=this,i=e.target.value;if("compositionend"===e.type)this.isOnComposition=!1,this.$nextTick((function(e){return t.handleQueryChange(i)}));else{var n=i[i.length-1]||"";this.isOnComposition=!Object(Et["isKorean"])(n)}},handleQueryChange:function(e){var t=this;this.previousQuery===e||this.isOnComposition||(null!==this.previousQuery||"function"!==typeof this.filterMethod&&"function"!==typeof this.remoteMethod?(this.previousQuery=e,this.$nextTick((function(){t.visible&&t.broadcast("ElSelectDropdown","updatePopper")})),this.hoverIndex=-1,this.multiple&&this.filterable&&this.$nextTick((function(){var e=15*t.$refs.input.value.length+20;t.inputLength=t.collapseTags?Math.min(50,e):e,t.managePlaceholder(),t.resetInputHeight()})),this.remote&&"function"===typeof this.remoteMethod?(this.hoverIndex=-1,this.remoteMethod(e)):"function"===typeof this.filterMethod?(this.filterMethod(e),this.broadcast("ElOptionGroup","queryChange")):(this.filteredOptionsCount=this.optionsCount,this.broadcast("ElOption","queryChange",e),this.broadcast("ElOptionGroup","queryChange")),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()):this.previousQuery=e)},scrollToOption:function(e){var t=Array.isArray(e)&&e[0]?e[0].$el:e.$el;if(this.$refs.popper&&t){var i=this.$refs.popper.$el.querySelector(".el-select-dropdown__wrap");rn()(i,t)}this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll()},handleMenuEnter:function(){var e=this;this.$nextTick((function(){return e.scrollToOption(e.selected)}))},emitChange:function(e){Object(y["valueEquals"])(this.value,e)||this.$emit("change",e)},getOption:function(e){for(var t=void 0,i="[object object]"===Object.prototype.toString.call(e).toLowerCase(),n="[object null]"===Object.prototype.toString.call(e).toLowerCase(),r="[object undefined]"===Object.prototype.toString.call(e).toLowerCase(),a=this.cachedOptions.length-1;a>=0;a--){var s=this.cachedOptions[a],o=i?Object(y["getValueByPath"])(s.value,this.valueKey)===Object(y["getValueByPath"])(e,this.valueKey):s.value===e;if(o){t=s;break}}if(t)return t;var c=i||n||r?"":e,l={value:e,currentLabel:c};return this.multiple&&(l.hitState=!1),l},setSelected:function(){var e=this;if(!this.multiple){var t=this.getOption(this.value);return t.created?(this.createdLabel=t.currentLabel,this.createdSelected=!0):this.createdSelected=!1,this.selectedLabel=t.currentLabel,this.selected=t,void(this.filterable&&(this.query=this.selectedLabel))}var i=[];Array.isArray(this.value)&&this.value.forEach((function(t){i.push(e.getOption(t))})),this.selected=i,this.$nextTick((function(){e.resetInputHeight()}))},handleFocus:function(e){this.softFocus?this.softFocus=!1:((this.automaticDropdown||this.filterable)&&(this.visible=!0,this.filterable&&(this.menuVisibleOnFocus=!0)),this.$emit("focus",e))},blur:function(){this.visible=!1,this.$refs.reference.blur()},handleBlur:function(e){var t=this;setTimeout((function(){t.isSilentBlur?t.isSilentBlur=!1:t.$emit("blur",e)}),50),this.softFocus=!1},handleClearClick:function(e){this.deleteSelected(e)},doDestroy:function(){this.$refs.popper&&this.$refs.popper.doDestroy()},handleClose:function(){this.visible=!1},toggleLastOptionHitState:function(e){if(Array.isArray(this.selected)){var t=this.selected[this.selected.length-1];if(t)return!0===e||!1===e?(t.hitState=e,e):(t.hitState=!t.hitState,t.hitState)}},deletePrevTag:function(e){if(e.target.value.length<=0&&!this.toggleLastOptionHitState()){var t=this.value.slice();t.pop(),this.$emit("input",t),this.emitChange(t)}},managePlaceholder:function(){""!==this.currentPlaceholder&&(this.currentPlaceholder=this.$refs.input.value?"":this.cachedPlaceHolder)},resetInputState:function(e){8!==e.keyCode&&this.toggleLastOptionHitState(!1),this.inputLength=15*this.$refs.input.value.length+20,this.resetInputHeight()},resetInputHeight:function(){var e=this;this.collapseTags&&!this.filterable||this.$nextTick((function(){if(e.$refs.reference){var t=e.$refs.reference.$el.childNodes,i=[].filter.call(t,(function(e){return"INPUT"===e.tagName}))[0],n=e.$refs.tags,r=e.initialInputHeight||40;i.style.height=0===e.selected.length?r+"px":Math.max(n?n.clientHeight+(n.clientHeight>r?6:0):0,r)+"px",e.visible&&!1!==e.emptyText&&e.broadcast("ElSelectDropdown","updatePopper")}}))},resetHoverIndex:function(){var e=this;setTimeout((function(){e.multiple?e.selected.length>0?e.hoverIndex=Math.min.apply(null,e.selected.map((function(t){return e.options.indexOf(t)}))):e.hoverIndex=-1:e.hoverIndex=e.options.indexOf(e.selected)}),300)},handleOptionSelect:function(e,t){var i=this;if(this.multiple){var n=(this.value||[]).slice(),r=this.getValueIndex(n,e.value);r>-1?n.splice(r,1):(this.multipleLimit<=0||n.length<this.multipleLimit)&&n.push(e.value),this.$emit("input",n),this.emitChange(n),e.created&&(this.query="",this.handleQueryChange(""),this.inputLength=20),this.filterable&&this.$refs.input.focus()}else this.$emit("input",e.value),this.emitChange(e.value),this.visible=!1;this.isSilentBlur=t,this.setSoftFocus(),this.visible||this.$nextTick((function(){i.scrollToOption(e)}))},setSoftFocus:function(){this.softFocus=!0;var e=this.$refs.input||this.$refs.reference;e&&e.focus()},getValueIndex:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1],i="[object object]"===Object.prototype.toString.call(t).toLowerCase();if(i){var n=this.valueKey,r=-1;return e.some((function(e,i){return Object(y["getValueByPath"])(e,n)===Object(y["getValueByPath"])(t,n)&&(r=i,!0)})),r}return e.indexOf(t)},toggleMenu:function(){this.selectDisabled||(this.menuVisibleOnFocus?this.menuVisibleOnFocus=!1:this.visible=!this.visible,this.visible&&(this.$refs.input||this.$refs.reference).focus())},selectOption:function(){this.visible?this.options[this.hoverIndex]&&this.handleOptionSelect(this.options[this.hoverIndex]):this.toggleMenu()},deleteSelected:function(e){e.stopPropagation();var t=this.multiple?[]:"";this.$emit("input",t),this.emitChange(t),this.visible=!1,this.$emit("clear")},deleteTag:function(e,t){var i=this.selected.indexOf(t);if(i>-1&&!this.selectDisabled){var n=this.value.slice();n.splice(i,1),this.$emit("input",n),this.emitChange(n),this.$emit("remove-tag",t.value)}e.stopPropagation()},onInputChange:function(){this.filterable&&this.query!==this.selectedLabel&&(this.query=this.selectedLabel,this.handleQueryChange(this.query))},onOptionDestroy:function(e){e>-1&&(this.optionsCount--,this.filteredOptionsCount--,this.options.splice(e,1))},resetInputWidth:function(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width},handleResize:function(){this.resetInputWidth(),this.multiple&&this.resetInputHeight()},checkDefaultFirstOption:function(){this.hoverIndex=-1;for(var e=!1,t=this.options.length-1;t>=0;t--)if(this.options[t].created){e=!0,this.hoverIndex=t;break}if(!e)for(var i=0;i!==this.options.length;++i){var n=this.options[i];if(this.query){if(!n.disabled&&!n.groupDisabled&&n.visible){this.hoverIndex=i;break}}else if(n.itemSelected){this.hoverIndex=i;break}}},getValueKey:function(e){return"[object object]"!==Object.prototype.toString.call(e.value).toLowerCase()?e.value:Object(y["getValueByPath"])(e.value,this.valueKey)}},created:function(){var e=this;this.cachedPlaceHolder=this.currentPlaceholder=this.placeholder,this.multiple&&!Array.isArray(this.value)&&this.$emit("input",[]),!this.multiple&&Array.isArray(this.value)&&this.$emit("input",""),this.debouncedOnInputChange=F()(this.debounce,(function(){e.onInputChange()})),this.debouncedQueryChange=F()(this.debounce,(function(t){e.handleQueryChange(t.target.value)})),this.$on("handleOptionClick",this.handleOptionSelect),this.$on("setSelected",this.setSelected)},mounted:function(){var e=this;this.multiple&&Array.isArray(this.value)&&this.value.length>0&&(this.currentPlaceholder=""),Object(Qi["addResizeListener"])(this.$el,this.handleResize);var t=this.$refs.reference;if(t&&t.$el){var i={medium:36,small:32,mini:28},n=t.$el.querySelector("input");this.initialInputHeight=n.getBoundingClientRect().height||i[this.selectSize]}this.remote&&this.multiple&&this.resetInputHeight(),this.$nextTick((function(){t&&t.$el&&(e.inputWidth=t.$el.getBoundingClientRect().width)})),this.setSelected()},beforeDestroy:function(){this.$el&&this.handleResize&&Object(Qi["removeResizeListener"])(this.$el,this.handleResize)}},on=sn,cn=o(on,Hi,Fi,!1,null,null,null);cn.options.__file="packages/select/src/select.vue";var ln=cn.exports;ln.install=function(e){e.component(ln.name,ln)};var un=ln;Yi.install=function(e){e.component(Yi.name,Yi)};var hn=Yi,dn=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ul",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-select-group__wrap"},[i("li",{staticClass:"el-select-group__title"},[e._v(e._s(e.label))]),i("li",[i("ul",{staticClass:"el-select-group"},[e._t("default")],2)])])},fn=[];dn._withStripped=!0;var pn={mixins:[M.a],name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:{type:Boolean,default:!1}},data:function(){return{visible:!0}},watch:{disabled:function(e){this.broadcast("ElOption","handleGroupDisabled",e)}},methods:{queryChange:function(){this.visible=this.$children&&Array.isArray(this.$children)&&this.$children.some((function(e){return!0===e.visible}))}},created:function(){this.$on("queryChange",this.queryChange)},mounted:function(){this.disabled&&this.broadcast("ElOption","handleGroupDisabled",this.disabled)}},mn=pn,vn=o(mn,dn,fn,!1,null,null,null);vn.options.__file="packages/select/src/option-group.vue";var gn=vn.exports;gn.install=function(e){e.component(gn.name,gn)};var yn=gn,bn=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"el-button",class:[e.type?"el-button--"+e.type:"",e.buttonSize?"el-button--"+e.buttonSize:"",{"is-disabled":e.buttonDisabled,"is-loading":e.loading,"is-plain":e.plain,"is-round":e.round,"is-circle":e.circle}],attrs:{disabled:e.buttonDisabled||e.loading,autofocus:e.autofocus,type:e.nativeType},on:{click:e.handleClick}},[e.loading?i("i",{staticClass:"el-icon-loading"}):e._e(),e.icon&&!e.loading?i("i",{class:e.icon}):e._e(),e.$slots.default?i("span",[e._t("default")],2):e._e()])},Cn=[];bn._withStripped=!0;var Sn={name:"ElButton",inject:{elForm:{default:""},elFormItem:{default:""}},props:{type:{type:String,default:"default"},size:String,icon:{type:String,default:""},nativeType:{type:String,default:"button"},loading:Boolean,disabled:Boolean,plain:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},buttonSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},buttonDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},methods:{handleClick:function(e){this.$emit("click",e)}}},xn=Sn,wn=o(xn,bn,Cn,!1,null,null,null);wn.options.__file="packages/button/src/button.vue";var _n=wn.exports;_n.install=function(e){e.component(_n.name,_n)};var An=_n,En=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-button-group"},[e._t("default")],2)},kn=[];En._withStripped=!0;var Mn={name:"ElButtonGroup"},zn=Mn,Tn=o(zn,En,kn,!1,null,null,null);Tn.options.__file="packages/button/src/button-group.vue";var In=Tn.exports;In.install=function(e){e.component(In.name,In)};var Nn=In,Dn=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-table",class:[{"el-table--fit":e.fit,"el-table--striped":e.stripe,"el-table--border":e.border||e.isGroup,"el-table--hidden":e.isHidden,"el-table--group":e.isGroup,"el-table--fluid-height":e.maxHeight,"el-table--scrollable-x":e.layout.scrollX,"el-table--scrollable-y":e.layout.scrollY,"el-table--enable-row-hover":!e.store.states.isComplex,"el-table--enable-row-transition":0!==(e.store.states.data||[]).length&&(e.store.states.data||[]).length<100},e.tableSize?"el-table--"+e.tableSize:""],on:{mouseleave:function(t){e.handleMouseLeave(t)}}},[i("div",{ref:"hiddenColumns",staticClass:"hidden-columns"},[e._t("default")],2),e.showHeader?i("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:e.handleHeaderFooterMousewheel,expression:"handleHeaderFooterMousewheel"}],ref:"headerWrapper",staticClass:"el-table__header-wrapper"},[i("table-header",{ref:"tableHeader",style:{width:e.layout.bodyWidth?e.layout.bodyWidth+"px":""},attrs:{store:e.store,border:e.border,"default-sort":e.defaultSort}})],1):e._e(),i("div",{ref:"bodyWrapper",staticClass:"el-table__body-wrapper",class:[e.layout.scrollX?"is-scrolling-"+e.scrollPosition:"is-scrolling-none"],style:[e.bodyHeight]},[i("table-body",{style:{width:e.bodyWidth},attrs:{context:e.context,store:e.store,stripe:e.stripe,"row-class-name":e.rowClassName,"row-style":e.rowStyle,highlight:e.highlightCurrentRow}}),e.data&&0!==e.data.length?e._e():i("div",{ref:"emptyBlock",staticClass:"el-table__empty-block",style:e.emptyBlockStyle},[i("span",{staticClass:"el-table__empty-text"},[e._t("empty",[e._v(e._s(e.emptyText||e.t("el.table.emptyText")))])],2)]),e.$slots.append?i("div",{ref:"appendWrapper",staticClass:"el-table__append-wrapper"},[e._t("append")],2):e._e()],1),e.showSummary?i("div",{directives:[{name:"show",rawName:"v-show",value:e.data&&e.data.length>0,expression:"data && data.length > 0"},{name:"mousewheel",rawName:"v-mousewheel",value:e.handleHeaderFooterMousewheel,expression:"handleHeaderFooterMousewheel"}],ref:"footerWrapper",staticClass:"el-table__footer-wrapper"},[i("table-footer",{style:{width:e.layout.bodyWidth?e.layout.bodyWidth+"px":""},attrs:{store:e.store,border:e.border,"sum-text":e.sumText||e.t("el.table.sumText"),"summary-method":e.summaryMethod,"default-sort":e.defaultSort}})],1):e._e(),e.fixedColumns.length>0?i("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:e.handleFixedMousewheel,expression:"handleFixedMousewheel"}],ref:"fixedWrapper",staticClass:"el-table__fixed",style:[{width:e.layout.fixedWidth?e.layout.fixedWidth+"px":""},e.fixedHeight]},[e.showHeader?i("div",{ref:"fixedHeaderWrapper",staticClass:"el-table__fixed-header-wrapper"},[i("table-header",{ref:"fixedTableHeader",style:{width:e.bodyWidth},attrs:{fixed:"left",border:e.border,store:e.store}})],1):e._e(),i("div",{ref:"fixedBodyWrapper",staticClass:"el-table__fixed-body-wrapper",style:[{top:e.layout.headerHeight+"px"},e.fixedBodyHeight]},[i("table-body",{style:{width:e.bodyWidth},attrs:{fixed:"left",store:e.store,stripe:e.stripe,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"row-style":e.rowStyle}}),e.$slots.append?i("div",{staticClass:"el-table__append-gutter",style:{height:e.layout.appendHeight+"px"}}):e._e()],1),e.showSummary?i("div",{directives:[{name:"show",rawName:"v-show",value:e.data&&e.data.length>0,expression:"data && data.length > 0"}],ref:"fixedFooterWrapper",staticClass:"el-table__fixed-footer-wrapper"},[i("table-footer",{style:{width:e.bodyWidth},attrs:{fixed:"left",border:e.border,"sum-text":e.sumText||e.t("el.table.sumText"),"summary-method":e.summaryMethod,store:e.store}})],1):e._e()]):e._e(),e.rightFixedColumns.length>0?i("div",{directives:[{name:"mousewheel",rawName:"v-mousewheel",value:e.handleFixedMousewheel,expression:"handleFixedMousewheel"}],ref:"rightFixedWrapper",staticClass:"el-table__fixed-right",style:[{width:e.layout.rightFixedWidth?e.layout.rightFixedWidth+"px":"",right:e.layout.scrollY?(e.border?e.layout.gutterWidth:e.layout.gutterWidth||0)+"px":""},e.fixedHeight]},[e.showHeader?i("div",{ref:"rightFixedHeaderWrapper",staticClass:"el-table__fixed-header-wrapper"},[i("table-header",{ref:"rightFixedTableHeader",style:{width:e.bodyWidth},attrs:{fixed:"right",border:e.border,store:e.store}})],1):e._e(),i("div",{ref:"rightFixedBodyWrapper",staticClass:"el-table__fixed-body-wrapper",style:[{top:e.layout.headerHeight+"px"},e.fixedBodyHeight]},[i("table-body",{style:{width:e.bodyWidth},attrs:{fixed:"right",store:e.store,stripe:e.stripe,"row-class-name":e.rowClassName,"row-style":e.rowStyle,highlight:e.highlightCurrentRow}}),e.$slots.append?i("div",{staticClass:"el-table__append-gutter",style:{height:e.layout.appendHeight+"px"}}):e._e()],1),e.showSummary?i("div",{directives:[{name:"show",rawName:"v-show",value:e.data&&e.data.length>0,expression:"data && data.length > 0"}],ref:"rightFixedFooterWrapper",staticClass:"el-table__fixed-footer-wrapper"},[i("table-footer",{style:{width:e.bodyWidth},attrs:{fixed:"right",border:e.border,"sum-text":e.sumText||e.t("el.table.sumText"),"summary-method":e.summaryMethod,store:e.store}})],1):e._e()]):e._e(),e.rightFixedColumns.length>0?i("div",{ref:"rightFixedPatch",staticClass:"el-table__fixed-right-patch",style:{width:e.layout.scrollY?e.layout.gutterWidth+"px":"0",height:e.layout.headerHeight+"px"}}):e._e(),i("div",{directives:[{name:"show",rawName:"v-show",value:e.resizeProxyVisible,expression:"resizeProxyVisible"}],ref:"resizeProxy",staticClass:"el-table__column-resize-proxy"})])},Pn=[];Dn._withStripped=!0;var On=i(16),Hn=i.n(On),Fn=i(35),Ln=i(38),Vn=i.n(Ln),Rn="undefined"!==typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>-1,Bn=function(e,t){e&&e.addEventListener&&e.addEventListener(Rn?"DOMMouseScroll":"mousewheel",(function(e){var i=Vn()(e);t&&t.apply(this,[e,i])}))},jn={bind:function(e,t){Bn(e,t.value)}},$n=i(6),Kn=i.n($n),qn="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Un=function(e){var t=e.target;while(t&&"HTML"!==t.tagName.toUpperCase()){if("TD"===t.tagName.toUpperCase())return t;t=t.parentNode}return null},Wn=function(e){return null!==e&&"object"===("undefined"===typeof e?"undefined":qn(e))},Xn=function(e,t,i,n,r){if(!t&&!n&&(!r||Array.isArray(r)&&!r.length))return e;i="string"===typeof i?"descending"===i?-1:1:i&&i<0?-1:1;var a=n?null:function(i,n){return r?(Array.isArray(r)||(r=[r]),r.map((function(t){return"string"===typeof t?Object(y["getValueByPath"])(i,t):t(i,n,e)}))):("$key"!==t&&Wn(i)&&"$value"in i&&(i=i.$value),[Wn(i)?Object(y["getValueByPath"])(i,t):i])},s=function(e,t){if(n)return n(e.value,t.value);for(var i=0,r=e.key.length;i<r;i++){if(e.key[i]<t.key[i])return-1;if(e.key[i]>t.key[i])return 1}return 0};return e.map((function(e,t){return{value:e,index:t,key:a?a(e,t):null}})).sort((function(e,t){var n=s(e,t);return n||(n=e.index-t.index),n*i})).map((function(e){return e.value}))},Gn=function(e,t){var i=null;return e.columns.forEach((function(e){e.id===t&&(i=e)})),i},Yn=function(e,t){for(var i=null,n=0;n<e.columns.length;n++){var r=e.columns[n];if(r.columnKey===t){i=r;break}}return i},Zn=function(e,t){var i=(t.className||"").match(/el-table_[^\s]+/gm);return i?Gn(e,i[0]):null},Jn=function(e,t){if(!e)throw new Error("row is required when get row identity");if("string"===typeof t){if(t.indexOf(".")<0)return e[t];for(var i=t.split("."),n=e,r=0;r<i.length;r++)n=n[i[r]];return n}if("function"===typeof t)return t.call(null,e)},Qn=function(e,t){var i={};return(e||[]).forEach((function(e,n){i[Jn(e,t)]={row:e,index:n}})),i};function er(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function tr(e,t){var i={},n=void 0;for(n in e)i[n]=e[n];for(n in t)if(er(t,n)){var r=t[n];"undefined"!==typeof r&&(i[n]=r)}return i}function ir(e){return void 0!==e&&(e=parseInt(e,10),isNaN(e)&&(e=null)),e}function nr(e){return"undefined"!==typeof e&&(e=ir(e),isNaN(e)&&(e=80)),e}function rr(e){return"number"===typeof e?e:"string"===typeof e?/^\d+(?:px)?$/.test(e)?parseInt(e,10):e:null}function ar(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function sr(e,t,i){var n=!1,r=e.indexOf(t),a=-1!==r,s=function(){e.push(t),n=!0},o=function(){e.splice(r,1),n=!0};return"boolean"===typeof i?i&&!a?s():!i&&a&&o():a?o():s(),n}function or(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"children",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"hasChildren",r=function(e){return!(Array.isArray(e)&&e.length)};function a(e,s,o){t(e,s,o),s.forEach((function(e){if(e[n])t(e,null,o+1);else{var s=e[i];r(s)||a(e,s,o+1)}}))}e.forEach((function(e){if(e[n])t(e,null,0);else{var s=e[i];r(s)||a(e,s,0)}}))}var cr={data:function(){return{states:{defaultExpandAll:!1,expandRows:[]}}},methods:{updateExpandRows:function(){var e=this.states,t=e.data,i=void 0===t?[]:t,n=e.rowKey,r=e.defaultExpandAll,a=e.expandRows;if(r)this.states.expandRows=i.slice();else if(n){var s=Qn(a,n);this.states.expandRows=i.reduce((function(e,t){var i=Jn(t,n),r=s[i];return r&&e.push(t),e}),[])}else this.states.expandRows=[]},toggleRowExpansion:function(e,t){var i=sr(this.states.expandRows,e,t);i&&(this.table.$emit("expand-change",e,this.states.expandRows.slice()),this.scheduleLayout())},setExpandRowKeys:function(e){this.assertRowKey();var t=this.states,i=t.data,n=t.rowKey,r=Qn(i,n);this.states.expandRows=e.reduce((function(e,t){var i=r[t];return i&&e.push(i.row),e}),[])},isRowExpanded:function(e){var t=this.states,i=t.expandRows,n=void 0===i?[]:i,r=t.rowKey;if(r){var a=Qn(n,r);return!!a[Jn(e,r)]}return-1!==n.indexOf(e)}}},lr={data:function(){return{states:{_currentRowKey:null,currentRow:null}}},methods:{setCurrentRowKey:function(e){this.assertRowKey(),this.states._currentRowKey=e,this.setCurrentRowByKey(e)},restoreCurrentRowKey:function(){this.states._currentRowKey=null},setCurrentRowByKey:function(e){var t=this.states,i=t.data,n=void 0===i?[]:i,r=t.rowKey,a=null;r&&(a=Object(y["arrayFind"])(n,(function(t){return Jn(t,r)===e}))),t.currentRow=a},updateCurrentRow:function(e){var t=this.states,i=this.table,n=t.currentRow;if(e&&e!==n)return t.currentRow=e,void i.$emit("current-change",e,n);!e&&n&&(t.currentRow=null,i.$emit("current-change",null,n))},updateCurrentRowData:function(){var e=this.states,t=this.table,i=e.rowKey,n=e._currentRowKey,r=e.data||[],a=e.currentRow;if(-1===r.indexOf(a)&&a){if(i){var s=Jn(a,i);this.setCurrentRowByKey(s)}else e.currentRow=null;null===e.currentRow&&t.$emit("current-change",null,a)}else n&&(this.setCurrentRowByKey(n),this.restoreCurrentRowKey())}}},ur=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},hr={data:function(){return{states:{expandRowKeys:[],treeData:{},indent:16,lazy:!1,lazyTreeNodeMap:{},lazyColumnIdentifier:"hasChildren",childrenColumnName:"children"}}},computed:{normalizedData:function(){if(!this.states.rowKey)return{};var e=this.states.data||[];return this.normalize(e)},normalizedLazyNode:function(){var e=this.states,t=e.rowKey,i=e.lazyTreeNodeMap,n=e.lazyColumnIdentifier,r=Object.keys(i),a={};return r.length?(r.forEach((function(e){if(i[e].length){var r={children:[]};i[e].forEach((function(e){var i=Jn(e,t);r.children.push(i),e[n]&&!a[i]&&(a[i]={children:[]})})),a[e]=r}})),a):a}},watch:{normalizedData:"updateTreeData",normalizedLazyNode:"updateTreeData"},methods:{normalize:function(e){var t=this.states,i=t.childrenColumnName,n=t.lazyColumnIdentifier,r=t.rowKey,a=t.lazy,s={};return or(e,(function(e,t,i){var n=Jn(e,r);Array.isArray(t)?s[n]={children:t.map((function(e){return Jn(e,r)})),level:i}:a&&(s[n]={children:[],lazy:!0,level:i})}),i,n),s},updateTreeData:function(){var e=this.normalizedData,t=this.normalizedLazyNode,i=Object.keys(e),n={};if(i.length){var r=this.states,a=r.treeData,s=r.defaultExpandAll,o=r.expandRowKeys,c=r.lazy,l=[],u=function(e,t){var i=s||o&&-1!==o.indexOf(t);return!!(e&&e.expanded||i)};i.forEach((function(t){var i=a[t],r=ur({},e[t]);if(r.expanded=u(i,t),r.lazy){var s=i||{},o=s.loaded,c=void 0!==o&&o,h=s.loading,d=void 0!==h&&h;r.loaded=!!c,r.loading=!!d,l.push(t)}n[t]=r}));var h=Object.keys(t);c&&h.length&&l.length&&h.forEach((function(e){var i=a[e],r=t[e].children;if(-1!==l.indexOf(e)){if(0!==n[e].children.length)throw new Error("[ElTable]children must be an empty array.");n[e].children=r}else{var s=i||{},o=s.loaded,c=void 0!==o&&o,h=s.loading,d=void 0!==h&&h;n[e]={lazy:!0,loaded:!!c,loading:!!d,expanded:u(i,e),children:r,level:""}}}))}this.states.treeData=n,this.updateTableScrollY()},updateTreeExpandKeys:function(e){this.states.expandRowKeys=e,this.updateTreeData()},toggleTreeExpansion:function(e,t){this.assertRowKey();var i=this.states,n=i.rowKey,r=i.treeData,a=Jn(e,n),s=a&&r[a];if(a&&s&&"expanded"in s){var o=s.expanded;t="undefined"===typeof t?!s.expanded:t,r[a].expanded=t,o!==t&&this.table.$emit("expand-change",e,t),this.updateTableScrollY()}},loadOrToggle:function(e){this.assertRowKey();var t=this.states,i=t.lazy,n=t.treeData,r=t.rowKey,a=Jn(e,r),s=n[a];i&&s&&"loaded"in s&&!s.loaded?this.loadData(e,a,s):this.toggleTreeExpansion(e)},loadData:function(e,t,i){var n=this,r=this.table.load,a=this.states,s=a.lazyTreeNodeMap,o=a.treeData;r&&!o[t].loaded&&(o[t].loading=!0,r(e,i,(function(i){if(!Array.isArray(i))throw new Error("[ElTable] data must be an array");o[t].loading=!1,o[t].loaded=!0,o[t].expanded=!0,i.length&&n.$set(s,t,i),n.table.$emit("expand-change",e,!0)})))}}},dr=function(e,t){var i=t.sortingColumn;return i&&"string"!==typeof i.sortable?Xn(e,t.sortProp,t.sortOrder,i.sortMethod,i.sortBy):e},fr=function e(t){var i=[];return t.forEach((function(t){t.children?i.push.apply(i,e(t.children)):i.push(t)})),i},pr=Kn.a.extend({data:function(){return{states:{rowKey:null,data:[],isComplex:!1,_columns:[],originColumns:[],columns:[],fixedColumns:[],rightFixedColumns:[],leafColumns:[],fixedLeafColumns:[],rightFixedLeafColumns:[],leafColumnsLength:0,fixedLeafColumnsLength:0,rightFixedLeafColumnsLength:0,isAllSelected:!1,selection:[],reserveSelection:!1,selectOnIndeterminate:!1,selectable:null,filters:{},filteredData:null,sortingColumn:null,sortProp:null,sortOrder:null,hoverRow:null}}},mixins:[cr,lr,hr],methods:{assertRowKey:function(){var e=this.states.rowKey;if(!e)throw new Error("[ElTable] prop row-key is required")},updateColumns:function(){var e=this.states,t=e._columns||[];e.fixedColumns=t.filter((function(e){return!0===e.fixed||"left"===e.fixed})),e.rightFixedColumns=t.filter((function(e){return"right"===e.fixed})),e.fixedColumns.length>0&&t[0]&&"selection"===t[0].type&&!t[0].fixed&&(t[0].fixed=!0,e.fixedColumns.unshift(t[0]));var i=t.filter((function(e){return!e.fixed}));e.originColumns=[].concat(e.fixedColumns).concat(i).concat(e.rightFixedColumns);var n=fr(i),r=fr(e.fixedColumns),a=fr(e.rightFixedColumns);e.leafColumnsLength=n.length,e.fixedLeafColumnsLength=r.length,e.rightFixedLeafColumnsLength=a.length,e.columns=[].concat(r).concat(n).concat(a),e.isComplex=e.fixedColumns.length>0||e.rightFixedColumns.length>0},scheduleLayout:function(e){e&&this.updateColumns(),this.table.debouncedUpdateLayout()},isSelected:function(e){var t=this.states.selection,i=void 0===t?[]:t;return i.indexOf(e)>-1},clearSelection:function(){var e=this.states;e.isAllSelected=!1;var t=e.selection;t.length&&(e.selection=[],this.table.$emit("selection-change",[]))},cleanSelection:function(){var e=this.states,t=e.data,i=e.rowKey,n=e.selection,r=void 0;if(i){r=[];var a=Qn(n,i),s=Qn(t,i);for(var o in a)a.hasOwnProperty(o)&&!s[o]&&r.push(a[o].row)}else r=n.filter((function(e){return-1===t.indexOf(e)}));if(r.length){var c=n.filter((function(e){return-1===r.indexOf(e)}));e.selection=c,this.table.$emit("selection-change",c.slice())}},toggleRowSelection:function(e,t){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=sr(this.states.selection,e,t);if(n){var r=(this.states.selection||[]).slice();i&&this.table.$emit("select",r,e),this.table.$emit("selection-change",r)}},_toggleAllSelection:function(){var e=this.states,t=e.data,i=void 0===t?[]:t,n=e.selection,r=e.selectOnIndeterminate?!e.isAllSelected:!(e.isAllSelected||n.length);e.isAllSelected=r;var a=!1;i.forEach((function(t,i){e.selectable?e.selectable.call(null,t,i)&&sr(n,t,r)&&(a=!0):sr(n,t,r)&&(a=!0)})),a&&this.table.$emit("selection-change",n?n.slice():[]),this.table.$emit("select-all",n)},updateSelectionByRowKey:function(){var e=this.states,t=e.selection,i=e.rowKey,n=e.data,r=Qn(t,i);n.forEach((function(e){var n=Jn(e,i),a=r[n];a&&(t[a.index]=e)}))},updateAllSelected:function(){var e=this.states,t=e.selection,i=e.rowKey,n=e.selectable,r=e.data||[];if(0!==r.length){var a=void 0;i&&(a=Qn(t,i));for(var s=function(e){return a?!!a[Jn(e,i)]:-1!==t.indexOf(e)},o=!0,c=0,l=0,u=r.length;l<u;l++){var h=r[l],d=n&&n.call(null,h,l);if(s(h))c++;else if(!n||d){o=!1;break}}0===c&&(o=!1),e.isAllSelected=o}else e.isAllSelected=!1},updateFilters:function(e,t){Array.isArray(e)||(e=[e]);var i=this.states,n={};return e.forEach((function(e){i.filters[e.id]=t,n[e.columnKey||e.id]=t})),n},updateSort:function(e,t,i){this.states.sortingColumn&&this.states.sortingColumn!==e&&(this.states.sortingColumn.order=null),this.states.sortingColumn=e,this.states.sortProp=t,this.states.sortOrder=i},execFilter:function(){var e=this,t=this.states,i=t._data,n=t.filters,r=i;Object.keys(n).forEach((function(i){var n=t.filters[i];if(n&&0!==n.length){var a=Gn(e.states,i);a&&a.filterMethod&&(r=r.filter((function(e){return n.some((function(t){return a.filterMethod.call(null,t,e,a)}))})))}})),t.filteredData=r},execSort:function(){var e=this.states;e.data=dr(e.filteredData,e)},execQuery:function(e){e&&e.filter||this.execFilter(),this.execSort()},clearFilter:function(e){var t=this.states,i=this.table.$refs,n=i.tableHeader,r=i.fixedTableHeader,a=i.rightFixedTableHeader,s={};n&&(s=At()(s,n.filterPanels)),r&&(s=At()(s,r.filterPanels)),a&&(s=At()(s,a.filterPanels));var o=Object.keys(s);if(o.length)if("string"===typeof e&&(e=[e]),Array.isArray(e)){var c=e.map((function(e){return Yn(t,e)}));o.forEach((function(e){var t=c.find((function(t){return t.id===e}));t&&(s[e].filteredValue=[])})),this.commit("filterChange",{column:c,values:[],silent:!0,multi:!0})}else o.forEach((function(e){s[e].filteredValue=[]})),t.filters={},this.commit("filterChange",{column:{},values:[],silent:!0})},clearSort:function(){var e=this.states;e.sortingColumn&&(this.updateSort(null,null,null),this.commit("changeSortCondition",{silent:!0}))},setExpandRowKeysAdapter:function(e){this.setExpandRowKeys(e),this.updateTreeExpandKeys(e)},toggleRowExpansionAdapter:function(e,t){var i=this.states.columns.some((function(e){var t=e.type;return"expand"===t}));i?this.toggleRowExpansion(e,t):this.toggleTreeExpansion(e,t)}}});pr.prototype.mutations={setData:function(e,t){var i=e._data!==t;e._data=t,this.execQuery(),this.updateCurrentRowData(),this.updateExpandRows(),e.reserveSelection?(this.assertRowKey(),this.updateSelectionByRowKey()):i?this.clearSelection():this.cleanSelection(),this.updateAllSelected(),this.updateTableScrollY()},insertColumn:function(e,t,i,n){var r=e._columns;n&&(r=n.children,r||(r=n.children=[])),"undefined"!==typeof i?r.splice(i,0,t):r.push(t),"selection"===t.type&&(e.selectable=t.selectable,e.reserveSelection=t.reserveSelection),this.table.$ready&&(this.updateColumns(),this.scheduleLayout())},removeColumn:function(e,t,i){var n=e._columns;i&&(n=i.children,n||(n=i.children=[])),n&&n.splice(n.indexOf(t),1),this.table.$ready&&(this.updateColumns(),this.scheduleLayout())},sort:function(e,t){var i=t.prop,n=t.order,r=t.init;if(i){var a=Object(y["arrayFind"])(e.columns,(function(e){return e.property===i}));a&&(a.order=n,this.updateSort(a,i,n),this.commit("changeSortCondition",{init:r}))}},changeSortCondition:function(e,t){var i=e.sortingColumn,n=e.sortProp,r=e.sortOrder;null===r&&(e.sortingColumn=null,e.sortProp=null);var a={filter:!0};this.execQuery(a),t&&(t.silent||t.init)||this.table.$emit("sort-change",{column:i,prop:n,order:r}),this.updateTableScrollY()},filterChange:function(e,t){var i=t.column,n=t.values,r=t.silent,a=this.updateFilters(i,n);this.execQuery(),r||this.table.$emit("filter-change",a),this.updateTableScrollY()},toggleAllSelection:function(){this.toggleAllSelection()},rowSelectedChanged:function(e,t){this.toggleRowSelection(t),this.updateAllSelected()},setHoverRow:function(e,t){e.hoverRow=t},setCurrentRow:function(e,t){this.updateCurrentRow(t)}},pr.prototype.commit=function(e){var t=this.mutations;if(!t[e])throw new Error("Action not found: "+e);for(var i=arguments.length,n=Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];t[e].apply(this,[this.states].concat(n))},pr.prototype.updateTableScrollY=function(){Kn.a.nextTick(this.table.updateScrollY)};var mr=pr;function vr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new Error("Table is required.");var i=new mr;return i.table=e,i.toggleAllSelection=F()(10,i._toggleAllSelection),Object.keys(t).forEach((function(e){i.states[e]=t[e]})),i}function gr(e){var t={};return Object.keys(e).forEach((function(i){var n=e[i],r=void 0;"string"===typeof n?r=function(){return this.store.states[n]}:"function"===typeof n?r=function(){return n.call(this,this.store.states)}:console.error("invalid value type"),r&&(t[i]=r)})),t}var yr=i(31),br=i.n(yr);function Cr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Sr=function(){function e(t){for(var i in Cr(this,e),this.observers=[],this.table=null,this.store=null,this.columns=null,this.fit=!0,this.showHeader=!0,this.height=null,this.scrollX=!1,this.scrollY=!1,this.bodyWidth=null,this.fixedWidth=null,this.rightFixedWidth=null,this.tableHeight=null,this.headerHeight=44,this.appendHeight=0,this.footerHeight=44,this.viewportHeight=null,this.bodyHeight=null,this.fixedBodyHeight=null,this.gutterWidth=br()(),t)t.hasOwnProperty(i)&&(this[i]=t[i]);if(!this.table)throw new Error("table is required for Table Layout");if(!this.store)throw new Error("store is required for Table Layout")}return e.prototype.updateScrollY=function(){var e=this.height;if(null===e)return!1;var t=this.table.bodyWrapper;if(this.table.$el&&t){var i=t.querySelector(".el-table__body"),n=this.scrollY,r=i.offsetHeight>this.bodyHeight;return this.scrollY=r,n!==r}return!1},e.prototype.setHeight=function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"height";if(!Kn.a.prototype.$isServer){var n=this.table.$el;if(e=rr(e),this.height=e,!n&&(e||0===e))return Kn.a.nextTick((function(){return t.setHeight(e,i)}));"number"===typeof e?(n.style[i]=e+"px",this.updateElsHeight()):"string"===typeof e&&(n.style[i]=e,this.updateElsHeight())}},e.prototype.setMaxHeight=function(e){this.setHeight(e,"max-height")},e.prototype.getFlattenColumns=function(){var e=[],t=this.table.columns;return t.forEach((function(t){t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)})),e},e.prototype.updateElsHeight=function(){var e=this;if(!this.table.$ready)return Kn.a.nextTick((function(){return e.updateElsHeight()}));var t=this.table.$refs,i=t.headerWrapper,n=t.appendWrapper,r=t.footerWrapper;if(this.appendHeight=n?n.offsetHeight:0,!this.showHeader||i){var a=i?i.querySelector(".el-table__header tr"):null,s=this.headerDisplayNone(a),o=this.headerHeight=this.showHeader?i.offsetHeight:0;if(this.showHeader&&!s&&i.offsetWidth>0&&(this.table.columns||[]).length>0&&o<2)return Kn.a.nextTick((function(){return e.updateElsHeight()}));var c=this.tableHeight=this.table.$el.clientHeight,l=this.footerHeight=r?r.offsetHeight:0;null!==this.height&&(this.bodyHeight=c-o-l+(r?1:0)),this.fixedBodyHeight=this.scrollX?this.bodyHeight-this.gutterWidth:this.bodyHeight;var u=!(this.store.states.data&&this.store.states.data.length);this.viewportHeight=this.scrollX?c-(u?0:this.gutterWidth):c,this.updateScrollY(),this.notifyObservers("scrollable")}},e.prototype.headerDisplayNone=function(e){if(!e)return!0;var t=e;while("DIV"!==t.tagName){if("none"===getComputedStyle(t).display)return!0;t=t.parentElement}return!1},e.prototype.updateColumnsWidth=function(){if(!Kn.a.prototype.$isServer){var e=this.fit,t=this.table.$el.clientWidth,i=0,n=this.getFlattenColumns(),r=n.filter((function(e){return"number"!==typeof e.width}));if(n.forEach((function(e){"number"===typeof e.width&&e.realWidth&&(e.realWidth=null)})),r.length>0&&e){n.forEach((function(e){i+=e.width||e.minWidth||80}));var a=this.scrollY?this.gutterWidth:0;if(i<=t-a){this.scrollX=!1;var s=t-a-i;if(1===r.length)r[0].realWidth=(r[0].minWidth||80)+s;else{var o=r.reduce((function(e,t){return e+(t.minWidth||80)}),0),c=s/o,l=0;r.forEach((function(e,t){if(0!==t){var i=Math.floor((e.minWidth||80)*c);l+=i,e.realWidth=(e.minWidth||80)+i}})),r[0].realWidth=(r[0].minWidth||80)+s-l}}else this.scrollX=!0,r.forEach((function(e){e.realWidth=e.minWidth}));this.bodyWidth=Math.max(i,t),this.table.resizeState.width=this.bodyWidth}else n.forEach((function(e){e.width||e.minWidth?e.realWidth=e.width||e.minWidth:e.realWidth=80,i+=e.realWidth})),this.scrollX=i>t,this.bodyWidth=i;var u=this.store.states.fixedColumns;if(u.length>0){var h=0;u.forEach((function(e){h+=e.realWidth||e.width})),this.fixedWidth=h}var d=this.store.states.rightFixedColumns;if(d.length>0){var f=0;d.forEach((function(e){f+=e.realWidth||e.width})),this.rightFixedWidth=f}this.notifyObservers("columns")}},e.prototype.addObserver=function(e){this.observers.push(e)},e.prototype.removeObserver=function(e){var t=this.observers.indexOf(e);-1!==t&&this.observers.splice(t,1)},e.prototype.notifyObservers=function(e){var t=this,i=this.observers;i.forEach((function(i){switch(e){case"columns":i.onColumnsChange(t);break;case"scrollable":i.onScrollableChange(t);break;default:throw new Error("Table Layout don't have event "+e+".")}}))},e}(),xr=Sr,wr={created:function(){this.tableLayout.addObserver(this)},destroyed:function(){this.tableLayout.removeObserver(this)},computed:{tableLayout:function(){var e=this.layout;if(!e&&this.table&&(e=this.table.layout),!e)throw new Error("Can not find table layout.");return e}},mounted:function(){this.onColumnsChange(this.tableLayout),this.onScrollableChange(this.tableLayout)},updated:function(){this.__updated__||(this.onColumnsChange(this.tableLayout),this.onScrollableChange(this.tableLayout),this.__updated__=!0)},methods:{onColumnsChange:function(e){var t=this.$el.querySelectorAll("colgroup > col");if(t.length){var i=e.getFlattenColumns(),n={};i.forEach((function(e){n[e.id]=e}));for(var r=0,a=t.length;r<a;r++){var s=t[r],o=s.getAttribute("name"),c=n[o];c&&s.setAttribute("width",c.realWidth||c.width)}}},onScrollableChange:function(e){for(var t=this.$el.querySelectorAll("colgroup > col[name=gutter]"),i=0,n=t.length;i<n;i++){var r=t[i];r.setAttribute("width",e.scrollY?e.gutterWidth:"0")}for(var a=this.$el.querySelectorAll("th.gutter"),s=0,o=a.length;s<o;s++){var c=a[s];c.style.width=e.scrollY?e.gutterWidth+"px":"0",c.style.display=e.scrollY?"":"none"}}}},_r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ar=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Er={name:"ElTableBody",mixins:[wr],components:{ElCheckbox:Hn.a,ElTooltip:rt.a},props:{store:{required:!0},stripe:Boolean,context:{},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:String,highlight:Boolean},render:function(e){var t=this,i=this.data||[];return e("table",{class:"el-table__body",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[e("colgroup",[this.columns.map((function(t){return e("col",{attrs:{name:t.id},key:t.id})}))]),e("tbody",[i.reduce((function(e,i){return e.concat(t.wrappedRowRender(i,e.length))}),[]),e("el-tooltip",{attrs:{effect:this.table.tooltipEffect,placement:"top",content:this.tooltipContent},ref:"tooltip"})])])},computed:Ar({table:function(){return this.$parent}},gr({data:"data",columns:"columns",treeIndent:"indent",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length},hasExpandColumn:function(e){return e.columns.some((function(e){var t=e.type;return"expand"===t}))}}),{firstDefaultColumnIndex:function(){return Object(y["arrayFindIndex"])(this.columns,(function(e){var t=e.type;return"default"===t}))}}),watch:{"store.states.hoverRow":function(e,t){var i=this;if(this.store.states.isComplex&&!this.$isServer){var n=window.requestAnimationFrame;n||(n=function(e){return setTimeout(e,16)}),n((function(){var n=i.$el.querySelectorAll(".el-table__row"),r=n[t],a=n[e];r&&Object(Le["removeClass"])(r,"hover-row"),a&&Object(Le["addClass"])(a,"hover-row")}))}}},data:function(){return{tooltipContent:""}},created:function(){this.activateTooltip=F()(50,(function(e){return e.handleShowPopper()}))},methods:{getKeyOfRow:function(e,t){var i=this.table.rowKey;return i?Jn(e,i):t},isColumnHidden:function(e){return!0===this.fixed||"left"===this.fixed?e>=this.leftFixedLeafCount:"right"===this.fixed?e<this.columnsCount-this.rightFixedLeafCount:e<this.leftFixedLeafCount||e>=this.columnsCount-this.rightFixedLeafCount},getSpan:function(e,t,i,n){var r=1,a=1,s=this.table.spanMethod;if("function"===typeof s){var o=s({row:e,column:t,rowIndex:i,columnIndex:n});Array.isArray(o)?(r=o[0],a=o[1]):"object"===("undefined"===typeof o?"undefined":_r(o))&&(r=o.rowspan,a=o.colspan)}return{rowspan:r,colspan:a}},getRowStyle:function(e,t){var i=this.table.rowStyle;return"function"===typeof i?i.call(null,{row:e,rowIndex:t}):i||null},getRowClass:function(e,t){var i=["el-table__row"];this.table.highlightCurrentRow&&e===this.store.states.currentRow&&i.push("current-row"),this.stripe&&t%2===1&&i.push("el-table__row--striped");var n=this.table.rowClassName;return"string"===typeof n?i.push(n):"function"===typeof n&&i.push(n.call(null,{row:e,rowIndex:t})),this.store.states.expandRows.indexOf(e)>-1&&i.push("expanded"),i},getCellStyle:function(e,t,i,n){var r=this.table.cellStyle;return"function"===typeof r?r.call(null,{rowIndex:e,columnIndex:t,row:i,column:n}):r},getCellClass:function(e,t,i,n){var r=[n.id,n.align,n.className];this.isColumnHidden(t)&&r.push("is-hidden");var a=this.table.cellClassName;return"string"===typeof a?r.push(a):"function"===typeof a&&r.push(a.call(null,{rowIndex:e,columnIndex:t,row:i,column:n})),r.join(" ")},getColspanRealWidth:function(e,t,i){if(t<1)return e[i].realWidth;var n=e.map((function(e){var t=e.realWidth;return t})).slice(i,i+t);return n.reduce((function(e,t){return e+t}),-1)},handleCellMouseEnter:function(e,t){var i=this.table,n=Un(e);if(n){var r=Zn(i,n),a=i.hoverState={cell:n,column:r,row:t};i.$emit("cell-mouse-enter",a.row,a.column,a.cell,e)}var s=e.target.querySelector(".cell");if(Object(Le["hasClass"])(s,"el-tooltip")&&s.childNodes.length){var o=document.createRange();o.setStart(s,0),o.setEnd(s,s.childNodes.length);var c=o.getBoundingClientRect().width,l=(parseInt(Object(Le["getStyle"])(s,"paddingLeft"),10)||0)+(parseInt(Object(Le["getStyle"])(s,"paddingRight"),10)||0);if((c+l>s.offsetWidth||s.scrollWidth>s.offsetWidth)&&this.$refs.tooltip){var u=this.$refs.tooltip;this.tooltipContent=n.innerText||n.textContent,u.referenceElm=n,u.$refs.popper&&(u.$refs.popper.style.display="none"),u.doDestroy(),u.setExpectedState(!0),this.activateTooltip(u)}}},handleCellMouseLeave:function(e){var t=this.$refs.tooltip;t&&(t.setExpectedState(!1),t.handleClosePopper());var i=Un(e);if(i){var n=this.table.hoverState||{};this.table.$emit("cell-mouse-leave",n.row,n.column,n.cell,e)}},handleMouseEnter:F()(30,(function(e){this.store.commit("setHoverRow",e)})),handleMouseLeave:F()(30,(function(){this.store.commit("setHoverRow",null)})),handleContextMenu:function(e,t){this.handleEvent(e,t,"contextmenu")},handleDoubleClick:function(e,t){this.handleEvent(e,t,"dblclick")},handleClick:function(e,t){this.store.commit("setCurrentRow",t),this.handleEvent(e,t,"click")},handleEvent:function(e,t,i){var n=this.table,r=Un(e),a=void 0;r&&(a=Zn(n,r),a&&n.$emit("cell-"+i,t,a,r,e)),n.$emit("row-"+i,t,a,e)},rowRender:function(e,t,i){var n=this,r=this.$createElement,a=this.treeIndent,s=this.columns,o=this.firstDefaultColumnIndex,c=s.map((function(e,t){return n.isColumnHidden(t)})),l=this.getRowClass(e,t),u=!0;i&&(l.push("el-table__row--level-"+i.level),u=i.display);var h=u?null:{display:"none"};return r("tr",{style:[h,this.getRowStyle(e,t)],class:l,key:this.getKeyOfRow(e,t),on:{dblclick:function(t){return n.handleDoubleClick(t,e)},click:function(t){return n.handleClick(t,e)},contextmenu:function(t){return n.handleContextMenu(t,e)},mouseenter:function(e){return n.handleMouseEnter(t)},mouseleave:this.handleMouseLeave}},[s.map((function(l,u){var h=n.getSpan(e,l,t,u),d=h.rowspan,f=h.colspan;if(!d||!f)return null;var p=Ar({},l);p.realWidth=n.getColspanRealWidth(s,f,u);var m={store:n.store,_self:n.context||n.table.$vnode.context,column:p,row:e,$index:t};return u===o&&i&&(m.treeNode={indent:i.level*a,level:i.level},"boolean"===typeof i.expanded&&(m.treeNode.expanded=i.expanded,"loading"in i&&(m.treeNode.loading=i.loading),"noLazyChildren"in i&&(m.treeNode.noLazyChildren=i.noLazyChildren))),r("td",{style:n.getCellStyle(t,u,e,l),class:n.getCellClass(t,u,e,l),attrs:{rowspan:d,colspan:f},on:{mouseenter:function(t){return n.handleCellMouseEnter(t,e)},mouseleave:n.handleCellMouseLeave}},[l.renderCell.call(n._renderProxy,n.$createElement,m,c[u])])}))])},wrappedRowRender:function(e,t){var i=this,n=this.$createElement,r=this.store,a=r.isRowExpanded,s=r.assertRowKey,o=r.states,c=o.treeData,l=o.lazyTreeNodeMap,u=o.childrenColumnName,h=o.rowKey;if(this.hasExpandColumn&&a(e)){var d=this.table.renderExpanded,f=this.rowRender(e,t);return d?[[f,n("tr",{key:"expanded-row__"+f.key},[n("td",{attrs:{colspan:this.columnsCount},class:"el-table__expanded-cell"},[d(this.$createElement,{row:e,$index:t,store:this.store})])])]]:(console.error("[Element Error]renderExpanded is required."),f)}if(Object.keys(c).length){s();var p=Jn(e,h),m=c[p],v=null;m&&(v={expanded:m.expanded,level:m.level,display:!0},"boolean"===typeof m.lazy&&("boolean"===typeof m.loaded&&m.loaded&&(v.noLazyChildren=!(m.children&&m.children.length)),v.loading=m.loading));var g=[this.rowRender(e,t,v)];if(m){var y=0,b=function e(n,r){n&&n.length&&r&&n.forEach((function(n){var a={display:r.display&&r.expanded,level:r.level+1},s=Jn(n,h);if(void 0===s||null===s)throw new Error("for nested data item, row-key is required.");if(m=Ar({},c[s]),m&&(a.expanded=m.expanded,m.level=m.level||a.level,m.display=!(!m.expanded||!a.display),"boolean"===typeof m.lazy&&("boolean"===typeof m.loaded&&m.loaded&&(a.noLazyChildren=!(m.children&&m.children.length)),a.loading=m.loading)),y++,g.push(i.rowRender(n,t+y,a)),m){var o=l[s]||n[u];e(o,m)}}))};m.display=!0;var C=l[p]||e[u];b(C,m)}return g}return this.rowRender(e,t)}}},kr=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"}},[e.multiple?i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleOutsideClick,expression:"handleOutsideClick"},{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-table-filter"},[i("div",{staticClass:"el-table-filter__content"},[i("el-scrollbar",{attrs:{"wrap-class":"el-table-filter__wrap"}},[i("el-checkbox-group",{staticClass:"el-table-filter__checkbox-group",model:{value:e.filteredValue,callback:function(t){e.filteredValue=t},expression:"filteredValue"}},e._l(e.filters,(function(t){return i("el-checkbox",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.text))])})),1)],1)],1),i("div",{staticClass:"el-table-filter__bottom"},[i("button",{class:{"is-disabled":0===e.filteredValue.length},attrs:{disabled:0===e.filteredValue.length},on:{click:e.handleConfirm}},[e._v(e._s(e.t("el.table.confirmFilter")))]),i("button",{on:{click:e.handleReset}},[e._v(e._s(e.t("el.table.resetFilter")))])])]):i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleOutsideClick,expression:"handleOutsideClick"},{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-table-filter"},[i("ul",{staticClass:"el-table-filter__list"},[i("li",{staticClass:"el-table-filter__list-item",class:{"is-active":void 0===e.filterValue||null===e.filterValue},on:{click:function(t){e.handleSelect(null)}}},[e._v(e._s(e.t("el.table.clearFilter")))]),e._l(e.filters,(function(t){return i("li",{key:t.value,staticClass:"el-table-filter__list-item",class:{"is-active":e.isActive(t)},attrs:{label:t.value},on:{click:function(i){e.handleSelect(t.value)}}},[e._v(e._s(t.text))])}))],2)])])},Mr=[];kr._withStripped=!0;var zr=[];!Kn.a.prototype.$isServer&&document.addEventListener("click",(function(e){zr.forEach((function(t){var i=e.target;t&&t.$el&&(i===t.$el||t.$el.contains(i)||t.handleOutsideClick&&t.handleOutsideClick(e))}))}));var Tr={open:function(e){e&&zr.push(e)},close:function(e){var t=zr.indexOf(e);-1!==t&&zr.splice(e,1)}},Ir=i(32),Nr=i.n(Ir),Dr={name:"ElTableFilterPanel",mixins:[$.a,g.a],directives:{Clickoutside:V.a},components:{ElCheckbox:Hn.a,ElCheckboxGroup:Nr.a,ElScrollbar:q.a},props:{placement:{type:String,default:"bottom-end"}},methods:{isActive:function(e){return e.value===this.filterValue},handleOutsideClick:function(){var e=this;setTimeout((function(){e.showPopper=!1}),16)},handleConfirm:function(){this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleReset:function(){this.filteredValue=[],this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleSelect:function(e){this.filterValue=e,"undefined"!==typeof e&&null!==e?this.confirmFilter(this.filteredValue):this.confirmFilter([]),this.handleOutsideClick()},confirmFilter:function(e){this.table.store.commit("filterChange",{column:this.column,values:e}),this.table.store.updateAllSelected()}},data:function(){return{table:null,cell:null,column:null}},computed:{filters:function(){return this.column&&this.column.filters},filterValue:{get:function(){return(this.column.filteredValue||[])[0]},set:function(e){this.filteredValue&&("undefined"!==typeof e&&null!==e?this.filteredValue.splice(0,1,e):this.filteredValue.splice(0,1))}},filteredValue:{get:function(){return this.column&&this.column.filteredValue||[]},set:function(e){this.column&&(this.column.filteredValue=e)}},multiple:function(){return!this.column||this.column.filterMultiple}},mounted:function(){var e=this;this.popperElm=this.$el,this.referenceElm=this.cell,this.table.bodyWrapper.addEventListener("scroll",(function(){e.updatePopper()})),this.$watch("showPopper",(function(t){e.column&&(e.column.filterOpened=t),t?Tr.open(e):Tr.close(e)}))},watch:{showPopper:function(e){!0===e&&parseInt(this.popperJS._popper.style.zIndex,10)<w["PopupManager"].zIndex&&(this.popperJS._popper.style.zIndex=w["PopupManager"].nextZIndex())}}},Pr=Dr,Or=o(Pr,kr,Mr,!1,null,null,null);Or.options.__file="packages/table/src/filter-panel.vue";var Hr=Or.exports,Fr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Lr=function e(t){var i=[];return t.forEach((function(t){t.children?(i.push(t),i.push.apply(i,e(t.children))):i.push(t)})),i},Vr=function(e){var t=1,i=function e(i,n){if(n&&(i.level=n.level+1,t<i.level&&(t=i.level)),i.children){var r=0;i.children.forEach((function(t){e(t,i),r+=t.colSpan})),i.colSpan=r}else i.colSpan=1};e.forEach((function(e){e.level=1,i(e)}));for(var n=[],r=0;r<t;r++)n.push([]);var a=Lr(e);return a.forEach((function(e){e.children?e.rowSpan=1:e.rowSpan=t-e.level+1,n[e.level-1].push(e)})),n},Rr={name:"ElTableHeader",mixins:[wr],render:function(e){var t=this,i=this.store.states.originColumns,n=Vr(i,this.columns),r=n.length>1;return r&&(this.$parent.isGroup=!0),e("table",{class:"el-table__header",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[e("colgroup",[this.columns.map((function(t){return e("col",{attrs:{name:t.id},key:t.id})})),this.hasGutter?e("col",{attrs:{name:"gutter"}}):""]),e("thead",{class:[{"is-group":r,"has-gutter":this.hasGutter}]},[this._l(n,(function(i,n){return e("tr",{style:t.getHeaderRowStyle(n),class:t.getHeaderRowClass(n)},[i.map((function(r,a){return e("th",{attrs:{colspan:r.colSpan,rowspan:r.rowSpan},on:{mousemove:function(e){return t.handleMouseMove(e,r)},mouseout:t.handleMouseOut,mousedown:function(e){return t.handleMouseDown(e,r)},click:function(e){return t.handleHeaderClick(e,r)},contextmenu:function(e){return t.handleHeaderContextMenu(e,r)}},style:t.getHeaderCellStyle(n,a,i,r),class:t.getHeaderCellClass(n,a,i,r),key:r.id},[e("div",{class:["cell",r.filteredValue&&r.filteredValue.length>0?"highlight":"",r.labelClassName]},[r.renderHeader?r.renderHeader.call(t._renderProxy,e,{column:r,$index:a,store:t.store,_self:t.$parent.$vnode.context}):r.label,r.sortable?e("span",{class:"caret-wrapper",on:{click:function(e){return t.handleSortClick(e,r)}}},[e("i",{class:"sort-caret ascending",on:{click:function(e){return t.handleSortClick(e,r,"ascending")}}}),e("i",{class:"sort-caret descending",on:{click:function(e){return t.handleSortClick(e,r,"descending")}}})]):"",r.filterable?e("span",{class:"el-table__column-filter-trigger",on:{click:function(e){return t.handleFilterClick(e,r)}}},[e("i",{class:["el-icon-arrow-down",r.filterOpened?"el-icon-arrow-up":""]})]):""])])})),t.hasGutter?e("th",{class:"gutter"}):""])}))])])},props:{fixed:String,store:{required:!0},border:Boolean,defaultSort:{type:Object,default:function(){return{prop:"",order:""}}}},components:{ElCheckbox:Hn.a},computed:Fr({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},gr({columns:"columns",isAllSelected:"isAllSelected",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length}})),created:function(){this.filterPanels={}},mounted:function(){var e=this;this.$nextTick((function(){var t=e.defaultSort,i=t.prop,n=t.order,r=!0;e.store.commit("sort",{prop:i,order:n,init:r})}))},beforeDestroy:function(){var e=this.filterPanels;for(var t in e)e.hasOwnProperty(t)&&e[t]&&e[t].$destroy(!0)},methods:{isCellHidden:function(e,t){for(var i=0,n=0;n<e;n++)i+=t[n].colSpan;var r=i+t[e].colSpan-1;return!0===this.fixed||"left"===this.fixed?r>=this.leftFixedLeafCount:"right"===this.fixed?i<this.columnsCount-this.rightFixedLeafCount:r<this.leftFixedLeafCount||i>=this.columnsCount-this.rightFixedLeafCount},getHeaderRowStyle:function(e){var t=this.table.headerRowStyle;return"function"===typeof t?t.call(null,{rowIndex:e}):t},getHeaderRowClass:function(e){var t=[],i=this.table.headerRowClassName;return"string"===typeof i?t.push(i):"function"===typeof i&&t.push(i.call(null,{rowIndex:e})),t.join(" ")},getHeaderCellStyle:function(e,t,i,n){var r=this.table.headerCellStyle;return"function"===typeof r?r.call(null,{rowIndex:e,columnIndex:t,row:i,column:n}):r},getHeaderCellClass:function(e,t,i,n){var r=[n.id,n.order,n.headerAlign,n.className,n.labelClassName];0===e&&this.isCellHidden(t,i)&&r.push("is-hidden"),n.children||r.push("is-leaf"),n.sortable&&r.push("is-sortable");var a=this.table.headerCellClassName;return"string"===typeof a?r.push(a):"function"===typeof a&&r.push(a.call(null,{rowIndex:e,columnIndex:t,row:i,column:n})),r.join(" ")},toggleAllSelection:function(e){e.stopPropagation(),this.store.commit("toggleAllSelection")},handleFilterClick:function(e,t){e.stopPropagation();var i=e.target,n="TH"===i.tagName?i:i.parentNode;if(!Object(Le["hasClass"])(n,"noclick")){n=n.querySelector(".el-table__column-filter-trigger")||n;var r=this.$parent,a=this.filterPanels[t.id];a&&t.filterOpened?a.showPopper=!1:(a||(a=new Kn.a(Hr),this.filterPanels[t.id]=a,t.filterPlacement&&(a.placement=t.filterPlacement),a.table=r,a.cell=n,a.column=t,!this.$isServer&&a.$mount(document.createElement("div"))),setTimeout((function(){a.showPopper=!0}),16))}},handleHeaderClick:function(e,t){!t.filters&&t.sortable?this.handleSortClick(e,t):t.filterable&&!t.sortable&&this.handleFilterClick(e,t),this.$parent.$emit("header-click",t,e)},handleHeaderContextMenu:function(e,t){this.$parent.$emit("header-contextmenu",t,e)},handleMouseDown:function(e,t){var i=this;if(!this.$isServer&&!(t.children&&t.children.length>0)&&this.draggingColumn&&this.border){this.dragging=!0,this.$parent.resizeProxyVisible=!0;var n=this.$parent,r=n.$el,a=r.getBoundingClientRect().left,s=this.$el.querySelector("th."+t.id),o=s.getBoundingClientRect(),c=o.left-a+30;Object(Le["addClass"])(s,"noclick"),this.dragState={startMouseLeft:e.clientX,startLeft:o.right-a,startColumnLeft:o.left-a,tableLeft:a};var l=n.$refs.resizeProxy;l.style.left=this.dragState.startLeft+"px",document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};var u=function(e){var t=e.clientX-i.dragState.startMouseLeft,n=i.dragState.startLeft+t;l.style.left=Math.max(c,n)+"px"},h=function r(){if(i.dragging){var a=i.dragState,o=a.startColumnLeft,c=a.startLeft,h=parseInt(l.style.left,10),d=h-o;t.width=t.realWidth=d,n.$emit("header-dragend",t.width,c-o,t,e),i.store.scheduleLayout(),document.body.style.cursor="",i.dragging=!1,i.draggingColumn=null,i.dragState={},n.resizeProxyVisible=!1}document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",r),document.onselectstart=null,document.ondragstart=null,setTimeout((function(){Object(Le["removeClass"])(s,"noclick")}),0)};document.addEventListener("mousemove",u),document.addEventListener("mouseup",h)}},handleMouseMove:function(e,t){if(!(t.children&&t.children.length>0)){var i=e.target;while(i&&"TH"!==i.tagName)i=i.parentNode;if(t&&t.resizable&&!this.dragging&&this.border){var n=i.getBoundingClientRect(),r=document.body.style;n.width>12&&n.right-e.pageX<8?(r.cursor="col-resize",Object(Le["hasClass"])(i,"is-sortable")&&(i.style.cursor="col-resize"),this.draggingColumn=t):this.dragging||(r.cursor="",Object(Le["hasClass"])(i,"is-sortable")&&(i.style.cursor="pointer"),this.draggingColumn=null)}}},handleMouseOut:function(){this.$isServer||(document.body.style.cursor="")},toggleOrder:function(e){var t=e.order,i=e.sortOrders;if(""===t)return i[0];var n=i.indexOf(t||null);return i[n>i.length-2?0:n+1]},handleSortClick:function(e,t,i){e.stopPropagation();var n=t.order===i?null:i||this.toggleOrder(t),r=e.target;while(r&&"TH"!==r.tagName)r=r.parentNode;if(r&&"TH"===r.tagName&&Object(Le["hasClass"])(r,"noclick"))Object(Le["removeClass"])(r,"noclick");else if(t.sortable){var a=this.store.states,s=a.sortProp,o=void 0,c=a.sortingColumn;(c!==t||c===t&&null===c.order)&&(c&&(c.order=null),a.sortingColumn=t,s=t.property),o=t.order=n||null,a.sortProp=s,a.sortOrder=o,this.store.commit("changeSortCondition")}}},data:function(){return{draggingColumn:null,dragging:!1,dragState:{}}}},Br=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},jr={name:"ElTableFooter",mixins:[wr],render:function(e){var t=this,i=[];return this.summaryMethod?i=this.summaryMethod({columns:this.columns,data:this.store.states.data}):this.columns.forEach((function(e,n){if(0!==n){var r=t.store.states.data.map((function(t){return Number(t[e.property])})),a=[],s=!0;r.forEach((function(e){if(!isNaN(e)){s=!1;var t=(""+e).split(".")[1];a.push(t?t.length:0)}}));var o=Math.max.apply(null,a);i[n]=s?"":r.reduce((function(e,t){var i=Number(t);return isNaN(i)?e:parseFloat((e+t).toFixed(Math.min(o,20)))}),0)}else i[n]=t.sumText})),e("table",{class:"el-table__footer",attrs:{cellspacing:"0",cellpadding:"0",border:"0"}},[e("colgroup",[this.columns.map((function(t){return e("col",{attrs:{name:t.id},key:t.id})})),this.hasGutter?e("col",{attrs:{name:"gutter"}}):""]),e("tbody",{class:[{"has-gutter":this.hasGutter}]},[e("tr",[this.columns.map((function(n,r){return e("td",{key:r,attrs:{colspan:n.colSpan,rowspan:n.rowSpan},class:t.getRowClasses(n,r)},[e("div",{class:["cell",n.labelClassName]},[i[r]])])})),this.hasGutter?e("th",{class:"gutter"}):""])])])},props:{fixed:String,store:{required:!0},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:function(){return{prop:"",order:""}}}},computed:Br({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},gr({columns:"columns",isAllSelected:"isAllSelected",leftFixedLeafCount:"fixedLeafColumnsLength",rightFixedLeafCount:"rightFixedLeafColumnsLength",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length}})),methods:{isCellHidden:function(e,t,i){if(!0===this.fixed||"left"===this.fixed)return e>=this.leftFixedLeafCount;if("right"===this.fixed){for(var n=0,r=0;r<e;r++)n+=t[r].colSpan;return n<this.columnsCount-this.rightFixedLeafCount}return!(this.fixed||!i.fixed)||(e<this.leftFixedCount||e>=this.columnsCount-this.rightFixedCount)},getRowClasses:function(e,t){var i=[e.id,e.align,e.labelClassName];return e.className&&i.push(e.className),this.isCellHidden(t,this.columns,e)&&i.push("is-hidden"),e.children||i.push("is-leaf"),i}}},$r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Kr=1,qr={name:"ElTable",mixins:[g.a,E.a],directives:{Mousewheel:jn},props:{data:{type:Array,default:function(){return[]}},size:String,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],context:{},showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:function(){return{hasChildren:"hasChildren",children:"children"}}},lazy:Boolean,load:Function},components:{TableHeader:Rr,TableFooter:jr,TableBody:Er,ElCheckbox:Hn.a},methods:{getMigratingConfig:function(){return{events:{expand:"expand is renamed to expand-change"}}},setCurrentRow:function(e){this.store.commit("setCurrentRow",e)},toggleRowSelection:function(e,t){this.store.toggleRowSelection(e,t,!1),this.store.updateAllSelected()},toggleRowExpansion:function(e,t){this.store.toggleRowExpansionAdapter(e,t)},clearSelection:function(){this.store.clearSelection()},clearFilter:function(e){this.store.clearFilter(e)},clearSort:function(){this.store.clearSort()},handleMouseLeave:function(){this.store.commit("setHoverRow",null),this.hoverState&&(this.hoverState=null)},updateScrollY:function(){var e=this.layout.updateScrollY();e&&(this.layout.notifyObservers("scrollable"),this.layout.updateColumnsWidth())},handleFixedMousewheel:function(e,t){var i=this.bodyWrapper;if(Math.abs(t.spinY)>0){var n=i.scrollTop;t.pixelY<0&&0!==n&&e.preventDefault(),t.pixelY>0&&i.scrollHeight-i.clientHeight>n&&e.preventDefault(),i.scrollTop+=Math.ceil(t.pixelY/5)}else i.scrollLeft+=Math.ceil(t.pixelX/5)},handleHeaderFooterMousewheel:function(e,t){var i=t.pixelX,n=t.pixelY;Math.abs(i)>=Math.abs(n)&&(this.bodyWrapper.scrollLeft+=t.pixelX/5)},syncPostion:Object(Fn["throttle"])(20,(function(){var e=this.bodyWrapper,t=e.scrollLeft,i=e.scrollTop,n=e.offsetWidth,r=e.scrollWidth,a=this.$refs,s=a.headerWrapper,o=a.footerWrapper,c=a.fixedBodyWrapper,l=a.rightFixedBodyWrapper;s&&(s.scrollLeft=t),o&&(o.scrollLeft=t),c&&(c.scrollTop=i),l&&(l.scrollTop=i);var u=r-n-1;this.scrollPosition=t>=u?"right":0===t?"left":"middle"})),bindEvents:function(){this.bodyWrapper.addEventListener("scroll",this.syncPostion,{passive:!0}),this.fit&&Object(Qi["addResizeListener"])(this.$el,this.resizeListener)},unbindEvents:function(){this.bodyWrapper.removeEventListener("scroll",this.syncPostion,{passive:!0}),this.fit&&Object(Qi["removeResizeListener"])(this.$el,this.resizeListener)},resizeListener:function(){if(this.$ready){var e=!1,t=this.$el,i=this.resizeState,n=i.width,r=i.height,a=t.offsetWidth;n!==a&&(e=!0);var s=t.offsetHeight;(this.height||this.shouldUpdateHeight)&&r!==s&&(e=!0),e&&(this.resizeState.width=a,this.resizeState.height=s,this.doLayout())}},doLayout:function(){this.shouldUpdateHeight&&this.layout.updateElsHeight(),this.layout.updateColumnsWidth()},sort:function(e,t){this.store.commit("sort",{prop:e,order:t})},toggleAllSelection:function(){this.store.commit("toggleAllSelection")}},computed:$r({tableSize:function(){return this.size||(this.$ELEMENT||{}).size},bodyWrapper:function(){return this.$refs.bodyWrapper},shouldUpdateHeight:function(){return this.height||this.maxHeight||this.fixedColumns.length>0||this.rightFixedColumns.length>0},bodyWidth:function(){var e=this.layout,t=e.bodyWidth,i=e.scrollY,n=e.gutterWidth;return t?t-(i?n:0)+"px":""},bodyHeight:function(){var e=this.layout,t=e.headerHeight,i=void 0===t?0:t,n=e.bodyHeight,r=e.footerHeight,a=void 0===r?0:r;if(this.height)return{height:n?n+"px":""};if(this.maxHeight){var s=rr(this.maxHeight);if("number"===typeof s)return{"max-height":s-a-(this.showHeader?i:0)+"px"}}return{}},fixedBodyHeight:function(){if(this.height)return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+"px":""};if(this.maxHeight){var e=rr(this.maxHeight);if("number"===typeof e)return e=this.layout.scrollX?e-this.layout.gutterWidth:e,this.showHeader&&(e-=this.layout.headerHeight),e-=this.layout.footerHeight,{"max-height":e+"px"}}return{}},fixedHeight:function(){return this.maxHeight?this.showSummary?{bottom:0}:{bottom:this.layout.scrollX&&this.data.length?this.layout.gutterWidth+"px":""}:this.showSummary?{height:this.layout.tableHeight?this.layout.tableHeight+"px":""}:{height:this.layout.viewportHeight?this.layout.viewportHeight+"px":""}},emptyBlockStyle:function(){if(this.data&&this.data.length)return null;var e="100%";return this.layout.appendHeight&&(e="calc(100% - "+this.layout.appendHeight+"px)"),{width:this.bodyWidth,height:e}}},gr({selection:"selection",columns:"columns",tableData:"data",fixedColumns:"fixedColumns",rightFixedColumns:"rightFixedColumns"})),watch:{height:{immediate:!0,handler:function(e){this.layout.setHeight(e)}},maxHeight:{immediate:!0,handler:function(e){this.layout.setMaxHeight(e)}},currentRowKey:{immediate:!0,handler:function(e){this.rowKey&&this.store.setCurrentRowKey(e)}},data:{immediate:!0,handler:function(e){this.store.commit("setData",e)}},expandRowKeys:{immediate:!0,handler:function(e){e&&this.store.setExpandRowKeysAdapter(e)}}},created:function(){var e=this;this.tableId="el-table_"+Kr++,this.debouncedUpdateLayout=Object(Fn["debounce"])(50,(function(){return e.doLayout()}))},mounted:function(){var e=this;this.bindEvents(),this.store.updateColumns(),this.doLayout(),this.resizeState={width:this.$el.offsetWidth,height:this.$el.offsetHeight},this.store.states.columns.forEach((function(t){t.filteredValue&&t.filteredValue.length&&e.store.commit("filterChange",{column:t,values:t.filteredValue,silent:!0})})),this.$ready=!0},destroyed:function(){this.unbindEvents()},data:function(){var e=this.treeProps,t=e.hasChildren,i=void 0===t?"hasChildren":t,n=e.children,r=void 0===n?"children":n;this.store=vr(this,{rowKey:this.rowKey,defaultExpandAll:this.defaultExpandAll,selectOnIndeterminate:this.selectOnIndeterminate,indent:this.indent,lazy:this.lazy,lazyColumnIdentifier:i,childrenColumnName:r});var a=new xr({store:this.store,table:this,fit:this.fit,showHeader:this.showHeader});return{layout:a,isHidden:!1,renderExpanded:null,resizeProxyVisible:!1,resizeState:{width:null,height:null},isGroup:!1,scrollPosition:"left"}}},Ur=qr,Wr=o(Ur,Dn,Pn,!1,null,null,null);Wr.options.__file="packages/table/src/table.vue";var Xr=Wr.exports;Xr.install=function(e){e.component(Xr.name,Xr)};var Gr=Xr,Yr={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:"",className:"el-table-column--selection"},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Zr={selection:{renderHeader:function(e,t){var i=t.store;return e("el-checkbox",{attrs:{disabled:i.states.data&&0===i.states.data.length,indeterminate:i.states.selection.length>0&&!this.isAllSelected,value:this.isAllSelected},nativeOn:{click:this.toggleAllSelection}})},renderCell:function(e,t){var i=t.row,n=t.column,r=t.store,a=t.$index;return e("el-checkbox",{nativeOn:{click:function(e){return e.stopPropagation()}},attrs:{value:r.isSelected(i),disabled:!!n.selectable&&!n.selectable.call(null,i,a)},on:{input:function(){r.commit("rowSelectedChanged",i)}}})},sortable:!1,resizable:!1},index:{renderHeader:function(e,t){var i=t.column;return i.label||"#"},renderCell:function(e,t){var i=t.$index,n=t.column,r=i+1,a=n.index;return"number"===typeof a?r=i+a:"function"===typeof a&&(r=a(i)),e("div",[r])},sortable:!1},expand:{renderHeader:function(e,t){var i=t.column;return i.label||""},renderCell:function(e,t){var i=t.row,n=t.store,r=["el-table__expand-icon"];n.states.expandRows.indexOf(i)>-1&&r.push("el-table__expand-icon--expanded");var a=function(e){e.stopPropagation(),n.toggleRowExpansion(i)};return e("div",{class:r,on:{click:a}},[e("i",{class:"el-icon el-icon-arrow-right"})])},sortable:!1,resizable:!1,className:"el-table__expand-column"}};function Jr(e,t){var i=t.row,n=t.column,r=t.$index,a=n.property,s=a&&Object(y["getPropByPath"])(i,a).v;return n&&n.formatter?n.formatter(i,n,s,r):s}function Qr(e,t){var i=t.row,n=t.treeNode,r=t.store;if(!n)return null;var a=[],s=function(e){e.stopPropagation(),r.loadOrToggle(i)};if(n.indent&&a.push(e("span",{class:"el-table__indent",style:{"padding-left":n.indent+"px"}})),"boolean"!==typeof n.expanded||n.noLazyChildren)a.push(e("span",{class:"el-table__placeholder"}));else{var o=["el-table__expand-icon",n.expanded?"el-table__expand-icon--expanded":""],c=["el-icon-arrow-right"];n.loading&&(c=["el-icon-loading"]),a.push(e("div",{class:o,on:{click:s}},[e("i",{class:c})]))}return a}var ea=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},ta=1,ia={name:"ElTableColumn",props:{type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{},minWidth:{},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showTooltipWhenOverflow:Boolean,showOverflowTooltip:Boolean,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},index:[Number,Function],sortOrders:{type:Array,default:function(){return["ascending","descending",null]},validator:function(e){return e.every((function(e){return["ascending","descending",null].indexOf(e)>-1}))}}},data:function(){return{isSubColumn:!1,columns:[]}},computed:{owner:function(){var e=this.$parent;while(e&&!e.tableId)e=e.$parent;return e},columnOrTableParent:function(){var e=this.$parent;while(e&&!e.tableId&&!e.columnId)e=e.$parent;return e},realWidth:function(){return ir(this.width)},realMinWidth:function(){return nr(this.minWidth)},realAlign:function(){return this.align?"is-"+this.align:null},realHeaderAlign:function(){return this.headerAlign?"is-"+this.headerAlign:this.realAlign}},methods:{getPropsData:function(){for(var e=this,t=arguments.length,i=Array(t),n=0;n<t;n++)i[n]=arguments[n];return i.reduce((function(t,i){return Array.isArray(i)&&i.forEach((function(i){t[i]=e[i]})),t}),{})},getColumnElIndex:function(e,t){return[].indexOf.call(e,t)},setColumnWidth:function(e){return this.realWidth&&(e.width=this.realWidth),this.realMinWidth&&(e.minWidth=this.realMinWidth),e.minWidth||(e.minWidth=80),e.realWidth=void 0===e.width?e.minWidth:e.width,e},setColumnForcedProps:function(e){var t=e.type,i=Zr[t]||{};return Object.keys(i).forEach((function(t){var n=i[t];void 0!==n&&(e[t]="className"===t?e[t]+" "+n:n)})),e},setColumnRenders:function(e){var t=this;this.$createElement;this.renderHeader?console.warn("[Element Warn][TableColumn]Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):"selection"!==e.type&&(e.renderHeader=function(i,n){var r=t.$scopedSlots.header;return r?r(n):e.label});var i=e.renderCell;return"expand"===e.type?(e.renderCell=function(e,t){return e("div",{class:"cell"},[i(e,t)])},this.owner.renderExpanded=function(e,i){return t.$scopedSlots.default?t.$scopedSlots.default(i):t.$slots.default}):(i=i||Jr,e.renderCell=function(n,r){var a=null;a=t.$scopedSlots.default?t.$scopedSlots.default(r):i(n,r);var s=Qr(n,r),o={class:"cell",style:{}};return e.showOverflowTooltip&&(o.class+=" el-tooltip",o.style={width:(r.column.realWidth||r.column.width)-1+"px"}),n("div",o,[s,a])}),e},registerNormalWatchers:function(){var e=this,t=["label","property","filters","filterMultiple","sortable","index","formatter","className","labelClassName","showOverflowTooltip"],i={prop:"property",realAlign:"align",realHeaderAlign:"headerAlign",realWidth:"width"},n=t.reduce((function(e,t){return e[t]=t,e}),i);Object.keys(n).forEach((function(t){var n=i[t];e.$watch(t,(function(t){e.columnConfig[n]=t}))}))},registerComplexWatchers:function(){var e=this,t=["fixed"],i={realWidth:"width",realMinWidth:"minWidth"},n=t.reduce((function(e,t){return e[t]=t,e}),i);Object.keys(n).forEach((function(t){var n=i[t];e.$watch(t,(function(t){e.columnConfig[n]=t;var i="fixed"===n;e.owner.store.scheduleLayout(i)}))}))}},components:{ElCheckbox:Hn.a},beforeCreate:function(){this.row={},this.column={},this.$index=0,this.columnId=""},created:function(){var e=this.columnOrTableParent;this.isSubColumn=this.owner!==e,this.columnId=(e.tableId||e.columnId)+"_column_"+ta++;var t=this.type||"default",i=""===this.sortable||this.sortable,n=ea({},Yr[t],{id:this.columnId,type:t,property:this.prop||this.property,align:this.realAlign,headerAlign:this.realHeaderAlign,showOverflowTooltip:this.showOverflowTooltip||this.showTooltipWhenOverflow,filterable:this.filters||this.filterMethod,filteredValue:[],filterPlacement:"",isColumnGroup:!1,filterOpened:!1,sortable:i,index:this.index}),r=["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],a=["sortMethod","sortBy","sortOrders"],s=["selectable","reserveSelection"],o=["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement"],c=this.getPropsData(r,a,s,o);c=tr(n,c);var l=ar(this.setColumnRenders,this.setColumnWidth,this.setColumnForcedProps);c=l(c),this.columnConfig=c,this.registerNormalWatchers(),this.registerComplexWatchers()},mounted:function(){var e=this.owner,t=this.columnOrTableParent,i=this.isSubColumn?t.$el.children:t.$refs.hiddenColumns.children,n=this.getColumnElIndex(i,this.$el);e.store.commit("insertColumn",this.columnConfig,n,this.isSubColumn?t.columnConfig:null)},destroyed:function(){if(this.$parent){var e=this.$parent;this.owner.store.commit("removeColumn",this.columnConfig,this.isSubColumn?e.columnConfig:null)}},render:function(e){return e("div",this.$slots.default)},install:function(e){e.component(ia.name,ia)}},na=ia,ra=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.ranged?i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],ref:"reference",staticClass:"el-date-editor el-range-editor el-input__inner",class:["el-date-editor--"+e.type,e.pickerSize?"el-range-editor--"+e.pickerSize:"",e.pickerDisabled?"is-disabled":"",e.pickerVisible?"is-active":""],on:{click:e.handleRangeClick,mouseenter:e.handleMouseEnter,mouseleave:function(t){e.showClose=!1},keydown:e.handleKeydown}},[i("i",{class:["el-input__icon","el-range__icon",e.triggerClass]}),i("input",e._b({staticClass:"el-range-input",attrs:{autocomplete:"off",placeholder:e.startPlaceholder,disabled:e.pickerDisabled,readonly:!e.editable||e.readonly,name:e.name&&e.name[0]},domProps:{value:e.displayValue&&e.displayValue[0]},on:{input:e.handleStartInput,change:e.handleStartChange,focus:e.handleFocus}},"input",e.firstInputId,!1)),e._t("range-separator",[i("span",{staticClass:"el-range-separator"},[e._v(e._s(e.rangeSeparator))])]),i("input",e._b({staticClass:"el-range-input",attrs:{autocomplete:"off",placeholder:e.endPlaceholder,disabled:e.pickerDisabled,readonly:!e.editable||e.readonly,name:e.name&&e.name[1]},domProps:{value:e.displayValue&&e.displayValue[1]},on:{input:e.handleEndInput,change:e.handleEndChange,focus:e.handleFocus}},"input",e.secondInputId,!1)),e.haveTrigger?i("i",{staticClass:"el-input__icon el-range__close-icon",class:[e.showClose?""+e.clearIcon:""],on:{click:e.handleClickIcon}}):e._e()],2):i("el-input",e._b({directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleClose,expression:"handleClose"}],ref:"reference",staticClass:"el-date-editor",class:"el-date-editor--"+e.type,attrs:{readonly:!e.editable||e.readonly||"dates"===e.type||"week"===e.type,disabled:e.pickerDisabled,size:e.pickerSize,name:e.name,placeholder:e.placeholder,value:e.displayValue,validateEvent:!1},on:{focus:e.handleFocus,input:function(t){return e.userInput=t},change:e.handleChange},nativeOn:{keydown:function(t){return e.handleKeydown(t)},mouseenter:function(t){return e.handleMouseEnter(t)},mouseleave:function(t){e.showClose=!1}}},"el-input",e.firstInputId,!1),[i("i",{staticClass:"el-input__icon",class:e.triggerClass,attrs:{slot:"prefix"},on:{click:e.handleFocus},slot:"prefix"}),e.haveTrigger?i("i",{staticClass:"el-input__icon",class:[e.showClose?""+e.clearIcon:""],attrs:{slot:"suffix"},on:{click:e.handleClickIcon},slot:"suffix"}):e._e()])},aa=[];ra._withStripped=!0;var sa=i(0),oa={props:{appendToBody:$.a.props.appendToBody,offset:$.a.props.offset,boundariesPadding:$.a.props.boundariesPadding,arrowOffset:$.a.props.arrowOffset},methods:$.a.methods,data:function(){return At()({visibleArrow:!0},$.a.data)},beforeDestroy:$.a.beforeDestroy},ca={date:"yyyy-MM-dd",month:"yyyy-MM",datetime:"yyyy-MM-dd HH:mm:ss",time:"HH:mm:ss",week:"yyyywWW",timerange:"HH:mm:ss",daterange:"yyyy-MM-dd",monthrange:"yyyy-MM",datetimerange:"yyyy-MM-dd HH:mm:ss",year:"yyyy"},la=["date","datetime","time","time-select","week","month","year","daterange","monthrange","timerange","datetimerange","dates"],ua=function(e,t){return"timestamp"===t?e.getTime():Object(sa["formatDate"])(e,t)},ha=function(e,t){return"timestamp"===t?new Date(Number(e)):Object(sa["parseDate"])(e,t)},da=function(e,t){if(Array.isArray(e)&&2===e.length){var i=e[0],n=e[1];if(i&&n)return[ua(i,t),ua(n,t)]}return""},fa=function(e,t,i){if(Array.isArray(e)||(e=e.split(i)),2===e.length){var n=e[0],r=e[1];return[ha(n,t),ha(r,t)]}return[]},pa={default:{formatter:function(e){return e?""+e:""},parser:function(e){return void 0===e||""===e?null:e}},week:{formatter:function(e,t){var i=Object(sa["getWeekNumber"])(e),n=e.getMonth(),r=new Date(e);1===i&&11===n&&(r.setHours(0,0,0,0),r.setDate(r.getDate()+3-(r.getDay()+6)%7));var a=Object(sa["formatDate"])(r,t);return a=/WW/.test(a)?a.replace(/WW/,i<10?"0"+i:i):a.replace(/W/,i),a},parser:function(e,t){return pa.date.parser(e,t)}},date:{formatter:ua,parser:ha},datetime:{formatter:ua,parser:ha},daterange:{formatter:da,parser:fa},monthrange:{formatter:da,parser:fa},datetimerange:{formatter:da,parser:fa},timerange:{formatter:da,parser:fa},time:{formatter:ua,parser:ha},month:{formatter:ua,parser:ha},year:{formatter:ua,parser:ha},number:{formatter:function(e){return e?""+e:""},parser:function(e){var t=Number(e);return isNaN(e)?null:t}},dates:{formatter:function(e,t){return e.map((function(e){return ua(e,t)}))},parser:function(e,t){return("string"===typeof e?e.split(", "):e).map((function(e){return e instanceof Date?e:ha(e,t)}))}}},ma={left:"bottom-start",center:"bottom",right:"bottom-end"},va=function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"-";if(!e)return null;var r=(pa[i]||pa["default"]).parser,a=t||ca[i];return r(e,a,n)},ga=function(e,t,i){if(!e)return null;var n=(pa[i]||pa["default"]).formatter,r=t||ca[i];return n(e,r)},ya=function(e,t){var i=function(e,t){var i=e instanceof Date,n=t instanceof Date;return i&&n?e.getTime()===t.getTime():!i&&!n&&e===t},n=e instanceof Array,r=t instanceof Array;return n&&r?e.length===t.length&&e.every((function(e,n){return i(e,t[n])})):!n&&!r&&i(e,t)},ba=function(e){return"string"===typeof e||e instanceof String},Ca=function(e){return null===e||void 0===e||ba(e)||Array.isArray(e)&&2===e.length&&e.every(ba)},Sa={mixins:[M.a,oa],inject:{elForm:{default:""},elFormItem:{default:""}},props:{size:String,format:String,valueFormat:String,readonly:Boolean,placeholder:String,startPlaceholder:String,endPlaceholder:String,prefixIcon:String,clearIcon:{type:String,default:"el-icon-circle-close"},name:{default:"",validator:Ca},disabled:Boolean,clearable:{type:Boolean,default:!0},id:{default:"",validator:Ca},popperClass:String,editable:{type:Boolean,default:!0},align:{type:String,default:"left"},value:{},defaultValue:{},defaultTime:{},rangeSeparator:{default:"-"},pickerOptions:{},unlinkPanels:Boolean,validateEvent:{type:Boolean,default:!0}},components:{ElInput:m.a},directives:{Clickoutside:V.a},data:function(){return{pickerVisible:!1,showClose:!1,userInput:null,valueOnOpen:null,unwatchPickerOptions:null}},watch:{pickerVisible:function(e){this.readonly||this.pickerDisabled||(e?(this.showPicker(),this.valueOnOpen=Array.isArray(this.value)?[].concat(this.value):this.value):(this.hidePicker(),this.emitChange(this.value),this.userInput=null,this.validateEvent&&this.dispatch("ElFormItem","el.form.blur"),this.$emit("blur",this),this.blur()))},parsedValue:{immediate:!0,handler:function(e){this.picker&&(this.picker.value=e)}},defaultValue:function(e){this.picker&&(this.picker.defaultValue=e)},value:function(e,t){ya(e,t)||this.pickerVisible||!this.validateEvent||this.dispatch("ElFormItem","el.form.change",e)}},computed:{ranged:function(){return this.type.indexOf("range")>-1},reference:function(){var e=this.$refs.reference;return e.$el||e},refInput:function(){return this.reference?[].slice.call(this.reference.querySelectorAll("input")):[]},valueIsEmpty:function(){var e=this.value;if(Array.isArray(e)){for(var t=0,i=e.length;t<i;t++)if(e[t])return!1}else if(e)return!1;return!0},triggerClass:function(){return this.prefixIcon||(-1!==this.type.indexOf("time")?"el-icon-time":"el-icon-date")},selectionMode:function(){return"week"===this.type?"week":"month"===this.type?"month":"year"===this.type?"year":"dates"===this.type?"dates":"day"},haveTrigger:function(){return"undefined"!==typeof this.showTrigger?this.showTrigger:-1!==la.indexOf(this.type)},displayValue:function(){var e=ga(this.parsedValue,this.format,this.type,this.rangeSeparator);return Array.isArray(this.userInput)?[this.userInput[0]||e&&e[0]||"",this.userInput[1]||e&&e[1]||""]:null!==this.userInput?this.userInput:e?"dates"===this.type?e.join(", "):e:""},parsedValue:function(){if(!this.value)return this.value;if("time-select"===this.type)return this.value;var e=Object(sa["isDateObject"])(this.value)||Array.isArray(this.value)&&this.value.every(sa["isDateObject"]);return e?this.value:this.valueFormat?va(this.value,this.valueFormat,this.type,this.rangeSeparator)||this.value:Array.isArray(this.value)?this.value.map((function(e){return new Date(e)})):new Date(this.value)},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},pickerSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},pickerDisabled:function(){return this.disabled||(this.elForm||{}).disabled},firstInputId:function(){var e={},t=void 0;return t=this.ranged?this.id&&this.id[0]:this.id,t&&(e.id=t),e},secondInputId:function(){var e={},t=void 0;return this.ranged&&(t=this.id&&this.id[1]),t&&(e.id=t),e}},created:function(){this.popperOptions={boundariesPadding:0,gpuAcceleration:!1},this.placement=ma[this.align]||ma.left,this.$on("fieldReset",this.handleFieldReset)},methods:{focus:function(){this.ranged?this.handleFocus():this.$refs.reference.focus()},blur:function(){this.refInput.forEach((function(e){return e.blur()}))},parseValue:function(e){var t=Object(sa["isDateObject"])(e)||Array.isArray(e)&&e.every(sa["isDateObject"]);return this.valueFormat&&!t&&va(e,this.valueFormat,this.type,this.rangeSeparator)||e},formatToValue:function(e){var t=Object(sa["isDateObject"])(e)||Array.isArray(e)&&e.every(sa["isDateObject"]);return this.valueFormat&&t?ga(e,this.valueFormat,this.type,this.rangeSeparator):e},parseString:function(e){var t=Array.isArray(e)?this.type:this.type.replace("range","");return va(e,this.format,t)},formatToString:function(e){var t=Array.isArray(e)?this.type:this.type.replace("range","");return ga(e,this.format,t)},handleMouseEnter:function(){this.readonly||this.pickerDisabled||!this.valueIsEmpty&&this.clearable&&(this.showClose=!0)},handleChange:function(){if(this.userInput){var e=this.parseString(this.displayValue);e&&(this.picker.value=e,this.isValidValue(e)&&(this.emitInput(e),this.userInput=null))}""===this.userInput&&(this.emitInput(null),this.emitChange(null),this.userInput=null)},handleStartInput:function(e){this.userInput?this.userInput=[e.target.value,this.userInput[1]]:this.userInput=[e.target.value,null]},handleEndInput:function(e){this.userInput?this.userInput=[this.userInput[0],e.target.value]:this.userInput=[null,e.target.value]},handleStartChange:function(e){var t=this.parseString(this.userInput&&this.userInput[0]);if(t){this.userInput=[this.formatToString(t),this.displayValue[1]];var i=[t,this.picker.value&&this.picker.value[1]];this.picker.value=i,this.isValidValue(i)&&(this.emitInput(i),this.userInput=null)}},handleEndChange:function(e){var t=this.parseString(this.userInput&&this.userInput[1]);if(t){this.userInput=[this.displayValue[0],this.formatToString(t)];var i=[this.picker.value&&this.picker.value[0],t];this.picker.value=i,this.isValidValue(i)&&(this.emitInput(i),this.userInput=null)}},handleClickIcon:function(e){this.readonly||this.pickerDisabled||(this.showClose?(this.valueOnOpen=this.value,e.stopPropagation(),this.emitInput(null),this.emitChange(null),this.showClose=!1,this.picker&&"function"===typeof this.picker.handleClear&&this.picker.handleClear()):this.pickerVisible=!this.pickerVisible)},handleClose:function(){if(this.pickerVisible&&(this.pickerVisible=!1,"dates"===this.type)){var e=va(this.valueOnOpen,this.valueFormat,this.type,this.rangeSeparator)||this.valueOnOpen;this.emitInput(e)}},handleFieldReset:function(e){this.userInput=""===e?null:e},handleFocus:function(){var e=this.type;-1===la.indexOf(e)||this.pickerVisible||(this.pickerVisible=!0),this.$emit("focus",this)},handleKeydown:function(e){var t=this,i=e.keyCode;return 27===i?(this.pickerVisible=!1,void e.stopPropagation()):9!==i?13===i?((""===this.userInput||this.isValidValue(this.parseString(this.displayValue)))&&(this.handleChange(),this.pickerVisible=this.picker.visible=!1,this.blur()),void e.stopPropagation()):void(this.userInput?e.stopPropagation():this.picker&&this.picker.handleKeydown&&this.picker.handleKeydown(e)):void(this.ranged?setTimeout((function(){-1===t.refInput.indexOf(document.activeElement)&&(t.pickerVisible=!1,t.blur(),e.stopPropagation())}),0):(this.handleChange(),this.pickerVisible=this.picker.visible=!1,this.blur(),e.stopPropagation()))},handleRangeClick:function(){var e=this.type;-1===la.indexOf(e)||this.pickerVisible||(this.pickerVisible=!0),this.$emit("focus",this)},hidePicker:function(){this.picker&&(this.picker.resetView&&this.picker.resetView(),this.pickerVisible=this.picker.visible=!1,this.destroyPopper())},showPicker:function(){var e=this;this.$isServer||(this.picker||this.mountPicker(),this.pickerVisible=this.picker.visible=!0,this.updatePopper(),this.picker.value=this.parsedValue,this.picker.resetView&&this.picker.resetView(),this.$nextTick((function(){e.picker.adjustSpinners&&e.picker.adjustSpinners()})))},mountPicker:function(){var e=this;this.picker=new Kn.a(this.panel).$mount(),this.picker.defaultValue=this.defaultValue,this.picker.defaultTime=this.defaultTime,this.picker.popperClass=this.popperClass,this.popperElm=this.picker.$el,this.picker.width=this.reference.getBoundingClientRect().width,this.picker.showTime="datetime"===this.type||"datetimerange"===this.type,this.picker.selectionMode=this.selectionMode,this.picker.unlinkPanels=this.unlinkPanels,this.picker.arrowControl=this.arrowControl||this.timeArrowControl||!1,this.$watch("format",(function(t){e.picker.format=t}));var t=function(){var t=e.pickerOptions;if(t&&t.selectableRange){var i=t.selectableRange,n=pa.datetimerange.parser,r=ca.timerange;i=Array.isArray(i)?i:[i],e.picker.selectableRange=i.map((function(t){return n(t,r,e.rangeSeparator)}))}for(var a in t)t.hasOwnProperty(a)&&"selectableRange"!==a&&(e.picker[a]=t[a]);e.format&&(e.picker.format=e.format)};t(),this.unwatchPickerOptions=this.$watch("pickerOptions",(function(){return t()}),{deep:!0}),this.$el.appendChild(this.picker.$el),this.picker.resetView&&this.picker.resetView(),this.picker.$on("dodestroy",this.doDestroy),this.picker.$on("pick",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.userInput=null,e.pickerVisible=e.picker.visible=i,e.emitInput(t),e.picker.resetView&&e.picker.resetView()})),this.picker.$on("select-range",(function(t,i,n){0!==e.refInput.length&&(n&&"min"!==n?"max"===n&&(e.refInput[1].setSelectionRange(t,i),e.refInput[1].focus()):(e.refInput[0].setSelectionRange(t,i),e.refInput[0].focus()))}))},unmountPicker:function(){this.picker&&(this.picker.$destroy(),this.picker.$off(),"function"===typeof this.unwatchPickerOptions&&this.unwatchPickerOptions(),this.picker.$el.parentNode.removeChild(this.picker.$el))},emitChange:function(e){ya(e,this.valueOnOpen)||(this.$emit("change",e),this.valueOnOpen=e,this.validateEvent&&this.dispatch("ElFormItem","el.form.change",e))},emitInput:function(e){var t=this.formatToValue(e);ya(this.value,t)||this.$emit("input",t)},isValidValue:function(e){return this.picker||this.mountPicker(),!this.picker.isValidValue||e&&this.picker.isValidValue(e)}}},xa=Sa,wa=o(xa,ra,aa,!1,null,null,null);wa.options.__file="packages/date-picker/src/picker.vue";var _a=wa.exports,Aa=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-enter":e.handleEnter,"after-leave":e.handleLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-picker el-popper",class:[{"has-sidebar":e.$slots.sidebar||e.shortcuts,"has-time":e.showTime},e.popperClass]},[i("div",{staticClass:"el-picker-panel__body-wrapper"},[e._t("sidebar"),e.shortcuts?i("div",{staticClass:"el-picker-panel__sidebar"},e._l(e.shortcuts,(function(t,n){return i("button",{key:n,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(i){e.handleShortcutClick(t)}}},[e._v(e._s(t.text))])})),0):e._e(),i("div",{staticClass:"el-picker-panel__body"},[e.showTime?i("div",{staticClass:"el-date-picker__time-header"},[i("span",{staticClass:"el-date-picker__editor-wrap"},[i("el-input",{attrs:{placeholder:e.t("el.datepicker.selectDate"),value:e.visibleDate,size:"small"},on:{input:function(t){return e.userInputDate=t},change:e.handleVisibleDateChange}})],1),i("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleTimePickClose,expression:"handleTimePickClose"}],staticClass:"el-date-picker__editor-wrap"},[i("el-input",{ref:"input",attrs:{placeholder:e.t("el.datepicker.selectTime"),value:e.visibleTime,size:"small"},on:{focus:function(t){e.timePickerVisible=!0},input:function(t){return e.userInputTime=t},change:e.handleVisibleTimeChange}}),i("time-picker",{ref:"timepicker",attrs:{"time-arrow-control":e.arrowControl,visible:e.timePickerVisible},on:{pick:e.handleTimePick,mounted:e.proxyTimePickerDataProperties}})],1)]):e._e(),i("div",{directives:[{name:"show",rawName:"v-show",value:"time"!==e.currentView,expression:"currentView !== 'time'"}],staticClass:"el-date-picker__header",class:{"el-date-picker__header--bordered":"year"===e.currentView||"month"===e.currentView}},[i("button",{staticClass:"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left",attrs:{type:"button","aria-label":e.t("el.datepicker.prevYear")},on:{click:e.prevYear}}),i("button",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],staticClass:"el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-arrow-left",attrs:{type:"button","aria-label":e.t("el.datepicker.prevMonth")},on:{click:e.prevMonth}}),i("span",{staticClass:"el-date-picker__header-label",attrs:{role:"button"},on:{click:e.showYearPicker}},[e._v(e._s(e.yearLabel))]),i("span",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],staticClass:"el-date-picker__header-label",class:{active:"month"===e.currentView},attrs:{role:"button"},on:{click:e.showMonthPicker}},[e._v(e._s(e.t("el.datepicker.month"+(e.month+1))))]),i("button",{staticClass:"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right",attrs:{type:"button","aria-label":e.t("el.datepicker.nextYear")},on:{click:e.nextYear}}),i("button",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],staticClass:"el-picker-panel__icon-btn el-date-picker__next-btn el-icon-arrow-right",attrs:{type:"button","aria-label":e.t("el.datepicker.nextMonth")},on:{click:e.nextMonth}})]),i("div",{staticClass:"el-picker-panel__content"},[i("date-table",{directives:[{name:"show",rawName:"v-show",value:"date"===e.currentView,expression:"currentView === 'date'"}],attrs:{"selection-mode":e.selectionMode,"first-day-of-week":e.firstDayOfWeek,value:e.value,"default-value":e.defaultValue?new Date(e.defaultValue):null,date:e.date,"cell-class-name":e.cellClassName,"disabled-date":e.disabledDate},on:{pick:e.handleDatePick}}),i("year-table",{directives:[{name:"show",rawName:"v-show",value:"year"===e.currentView,expression:"currentView === 'year'"}],attrs:{value:e.value,"default-value":e.defaultValue?new Date(e.defaultValue):null,date:e.date,"disabled-date":e.disabledDate},on:{pick:e.handleYearPick}}),i("month-table",{directives:[{name:"show",rawName:"v-show",value:"month"===e.currentView,expression:"currentView === 'month'"}],attrs:{value:e.value,"default-value":e.defaultValue?new Date(e.defaultValue):null,date:e.date,"disabled-date":e.disabledDate},on:{pick:e.handleMonthPick}})],1)])],2),i("div",{directives:[{name:"show",rawName:"v-show",value:e.footerVisible&&"date"===e.currentView,expression:"footerVisible && currentView === 'date'"}],staticClass:"el-picker-panel__footer"},[i("el-button",{directives:[{name:"show",rawName:"v-show",value:"dates"!==e.selectionMode,expression:"selectionMode !== 'dates'"}],staticClass:"el-picker-panel__link-btn",attrs:{size:"mini",type:"text"},on:{click:e.changeToNow}},[e._v("\n        "+e._s(e.t("el.datepicker.now"))+"\n      ")]),i("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{plain:"",size:"mini"},on:{click:e.confirm}},[e._v("\n        "+e._s(e.t("el.datepicker.confirm"))+"\n      ")])],1)])])},Ea=[];Aa._withStripped=!0;var ka=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-time-panel el-popper",class:e.popperClass},[i("div",{staticClass:"el-time-panel__content",class:{"has-seconds":e.showSeconds}},[i("time-spinner",{ref:"spinner",attrs:{"arrow-control":e.useArrow,"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,date:e.date},on:{change:e.handleChange,"select-range":e.setSelectionRange}})],1),i("div",{staticClass:"el-time-panel__footer"},[i("button",{staticClass:"el-time-panel__btn cancel",attrs:{type:"button"},on:{click:e.handleCancel}},[e._v(e._s(e.t("el.datepicker.cancel")))]),i("button",{staticClass:"el-time-panel__btn",class:{confirm:!e.disabled},attrs:{type:"button"},on:{click:function(t){e.handleConfirm()}}},[e._v(e._s(e.t("el.datepicker.confirm")))])])])])},Ma=[];ka._withStripped=!0;var za=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-time-spinner",class:{"has-seconds":e.showSeconds}},[e.arrowControl?e._e():[i("el-scrollbar",{ref:"hours",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){e.emitSelectRange("hours")},mousemove:function(t){e.adjustCurrentSpinner("hours")}}},e._l(e.hoursList,(function(t,n){return i("li",{key:n,staticClass:"el-time-spinner__item",class:{active:n===e.hours,disabled:t},on:{click:function(i){e.handleClick("hours",{value:n,disabled:t})}}},[e._v(e._s(("0"+(e.amPmMode?n%12||12:n)).slice(-2))+e._s(e.amPm(n)))])})),0),i("el-scrollbar",{ref:"minutes",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){e.emitSelectRange("minutes")},mousemove:function(t){e.adjustCurrentSpinner("minutes")}}},e._l(e.minutesList,(function(t,n){return i("li",{key:n,staticClass:"el-time-spinner__item",class:{active:n===e.minutes,disabled:!t},on:{click:function(t){e.handleClick("minutes",{value:n,disabled:!1})}}},[e._v(e._s(("0"+n).slice(-2)))])})),0),i("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.showSeconds,expression:"showSeconds"}],ref:"seconds",staticClass:"el-time-spinner__wrapper",attrs:{"wrap-style":"max-height: inherit;","view-class":"el-time-spinner__list",noresize:"",tag:"ul"},nativeOn:{mouseenter:function(t){e.emitSelectRange("seconds")},mousemove:function(t){e.adjustCurrentSpinner("seconds")}}},e._l(60,(function(t,n){return i("li",{key:n,staticClass:"el-time-spinner__item",class:{active:n===e.seconds},on:{click:function(t){e.handleClick("seconds",{value:n,disabled:!1})}}},[e._v(e._s(("0"+n).slice(-2)))])})),0)],e.arrowControl?[i("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){e.emitSelectRange("hours")}}},[i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),i("ul",{ref:"hours",staticClass:"el-time-spinner__list"},e._l(e.arrowHourList,(function(t,n){return i("li",{key:n,staticClass:"el-time-spinner__item",class:{active:t===e.hours,disabled:e.hoursList[t]}},[e._v(e._s(void 0===t?"":("0"+(e.amPmMode?t%12||12:t)).slice(-2)+e.amPm(t)))])})),0)]),i("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){e.emitSelectRange("minutes")}}},[i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),i("ul",{ref:"minutes",staticClass:"el-time-spinner__list"},e._l(e.arrowMinuteList,(function(t,n){return i("li",{key:n,staticClass:"el-time-spinner__item",class:{active:t===e.minutes}},[e._v("\n          "+e._s(void 0===t?"":("0"+t).slice(-2))+"\n        ")])})),0)]),e.showSeconds?i("div",{staticClass:"el-time-spinner__wrapper is-arrow",on:{mouseenter:function(t){e.emitSelectRange("seconds")}}},[i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-time-spinner__arrow el-icon-arrow-up"}),i("i",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-time-spinner__arrow el-icon-arrow-down"}),i("ul",{ref:"seconds",staticClass:"el-time-spinner__list"},e._l(e.arrowSecondList,(function(t,n){return i("li",{key:n,staticClass:"el-time-spinner__item",class:{active:t===e.seconds}},[e._v("\n          "+e._s(void 0===t?"":("0"+t).slice(-2))+"\n        ")])})),0)]):e._e()]:e._e()],2)},Ta=[];za._withStripped=!0;var Ia={components:{ElScrollbar:q.a},directives:{repeatClick:Pt},props:{date:{},defaultValue:{},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:String,default:""}},computed:{hours:function(){return this.date.getHours()},minutes:function(){return this.date.getMinutes()},seconds:function(){return this.date.getSeconds()},hoursList:function(){return Object(sa["getRangeHours"])(this.selectableRange)},minutesList:function(){return Object(sa["getRangeMinutes"])(this.selectableRange,this.hours)},arrowHourList:function(){var e=this.hours;return[e>0?e-1:void 0,e,e<23?e+1:void 0]},arrowMinuteList:function(){var e=this.minutes;return[e>0?e-1:void 0,e,e<59?e+1:void 0]},arrowSecondList:function(){var e=this.seconds;return[e>0?e-1:void 0,e,e<59?e+1:void 0]}},data:function(){return{selectableRange:[],currentScrollbar:null}},mounted:function(){var e=this;this.$nextTick((function(){!e.arrowControl&&e.bindScrollEvent()}))},methods:{increase:function(){this.scrollDown(1)},decrease:function(){this.scrollDown(-1)},modifyDateField:function(e,t){switch(e){case"hours":this.$emit("change",Object(sa["modifyTime"])(this.date,t,this.minutes,this.seconds));break;case"minutes":this.$emit("change",Object(sa["modifyTime"])(this.date,this.hours,t,this.seconds));break;case"seconds":this.$emit("change",Object(sa["modifyTime"])(this.date,this.hours,this.minutes,t));break}},handleClick:function(e,t){var i=t.value,n=t.disabled;n||(this.modifyDateField(e,i),this.emitSelectRange(e),this.adjustSpinner(e,i))},emitSelectRange:function(e){"hours"===e?this.$emit("select-range",0,2):"minutes"===e?this.$emit("select-range",3,5):"seconds"===e&&this.$emit("select-range",6,8),this.currentScrollbar=e},bindScrollEvent:function(){var e=this,t=function(t){e.$refs[t].wrap.onscroll=function(i){e.handleScroll(t,i)}};t("hours"),t("minutes"),t("seconds")},handleScroll:function(e){var t=Math.min(Math.round((this.$refs[e].wrap.scrollTop-(.5*this.scrollBarHeight(e)-10)/this.typeItemHeight(e)+3)/this.typeItemHeight(e)),"hours"===e?23:59);this.modifyDateField(e,t)},adjustSpinners:function(){this.adjustSpinner("hours",this.hours),this.adjustSpinner("minutes",this.minutes),this.adjustSpinner("seconds",this.seconds)},adjustCurrentSpinner:function(e){this.adjustSpinner(e,this[e])},adjustSpinner:function(e,t){if(!this.arrowControl){var i=this.$refs[e].wrap;i&&(i.scrollTop=Math.max(0,t*this.typeItemHeight(e)))}},scrollDown:function(e){var t=this;this.currentScrollbar||this.emitSelectRange("hours");var i=this.currentScrollbar,n=this.hoursList,r=this[i];if("hours"===this.currentScrollbar){var a=Math.abs(e);e=e>0?1:-1;var s=n.length;while(s--&&a)r=(r+e+n.length)%n.length,n[r]||a--;if(n[r])return}else r=(r+e+60)%60;this.modifyDateField(i,r),this.adjustSpinner(i,r),this.$nextTick((function(){return t.emitSelectRange(t.currentScrollbar)}))},amPm:function(e){var t="a"===this.amPmMode.toLowerCase();if(!t)return"";var i="A"===this.amPmMode,n=e<12?" am":" pm";return i&&(n=n.toUpperCase()),n},typeItemHeight:function(e){return this.$refs[e].$el.querySelector("li").offsetHeight},scrollBarHeight:function(e){return this.$refs[e].$el.offsetHeight}}},Na=Ia,Da=o(Na,za,Ta,!1,null,null,null);Da.options.__file="packages/date-picker/src/basic/time-spinner.vue";var Pa=Da.exports,Oa={mixins:[g.a],components:{TimeSpinner:Pa},props:{visible:Boolean,timeArrowControl:Boolean},watch:{visible:function(e){var t=this;e?(this.oldValue=this.value,this.$nextTick((function(){return t.$refs.spinner.emitSelectRange("hours")}))):this.needInitAdjust=!0},value:function(e){var t=this,i=void 0;e instanceof Date?i=Object(sa["limitTimeRange"])(e,this.selectableRange,this.format):e||(i=this.defaultValue?new Date(this.defaultValue):new Date),this.date=i,this.visible&&this.needInitAdjust&&(this.$nextTick((function(e){return t.adjustSpinners()})),this.needInitAdjust=!1)},selectableRange:function(e){this.$refs.spinner.selectableRange=e},defaultValue:function(e){Object(sa["isDate"])(this.value)||(this.date=e?new Date(e):new Date)}},data:function(){return{popperClass:"",format:"HH:mm:ss",value:"",defaultValue:null,date:new Date,oldValue:new Date,selectableRange:[],selectionRange:[0,2],disabled:!1,arrowControl:!1,needInitAdjust:!0}},computed:{showSeconds:function(){return-1!==(this.format||"").indexOf("ss")},useArrow:function(){return this.arrowControl||this.timeArrowControl||!1},amPmMode:function(){return-1!==(this.format||"").indexOf("A")?"A":-1!==(this.format||"").indexOf("a")?"a":""}},methods:{handleCancel:function(){this.$emit("pick",this.oldValue,!1)},handleChange:function(e){this.visible&&(this.date=Object(sa["clearMilliseconds"])(e),this.isValidValue(this.date)&&this.$emit("pick",this.date,!0))},setSelectionRange:function(e,t){this.$emit("select-range",e,t),this.selectionRange=[e,t]},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];if(!t){var i=Object(sa["clearMilliseconds"])(Object(sa["limitTimeRange"])(this.date,this.selectableRange,this.format));this.$emit("pick",i,e,t)}},handleKeydown:function(e){var t=e.keyCode,i={38:-1,40:1,37:-1,39:1};if(37===t||39===t){var n=i[t];return this.changeSelectionRange(n),void e.preventDefault()}if(38===t||40===t){var r=i[t];return this.$refs.spinner.scrollDown(r),void e.preventDefault()}},isValidValue:function(e){return Object(sa["timeWithinRange"])(e,this.selectableRange,this.format)},adjustSpinners:function(){return this.$refs.spinner.adjustSpinners()},changeSelectionRange:function(e){var t=[0,3].concat(this.showSeconds?[6]:[]),i=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),n=t.indexOf(this.selectionRange[0]),r=(n+e+t.length)%t.length;this.$refs.spinner.emitSelectRange(i[r])}},mounted:function(){var e=this;this.$nextTick((function(){return e.handleConfirm(!0,!0)})),this.$emit("mounted")}},Ha=Oa,Fa=o(Ha,ka,Ma,!1,null,null,null);Fa.options.__file="packages/date-picker/src/panel/time.vue";var La=Fa.exports,Va=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("table",{staticClass:"el-year-table",on:{click:e.handleYearTableClick}},[i("tbody",[i("tr",[i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+0)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+1)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+1))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+2)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+2))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+3)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+3))])])]),i("tr",[i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+4)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+4))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+5)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+5))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+6)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+6))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+7)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+7))])])]),i("tr",[i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+8)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+8))])]),i("td",{staticClass:"available",class:e.getCellStyle(e.startYear+9)},[i("a",{staticClass:"cell"},[e._v(e._s(e.startYear+9))])]),i("td"),i("td")])])])},Ra=[];Va._withStripped=!0;var Ba=function(e){var t=Object(sa["getDayCountOfYear"])(e),i=new Date(e,0,1);return Object(sa["range"])(t).map((function(e){return Object(sa["nextDate"])(i,e)}))},ja={props:{disabledDate:{},value:{},defaultValue:{validator:function(e){return null===e||e instanceof Date&&Object(sa["isDate"])(e)}},date:{}},computed:{startYear:function(){return 10*Math.floor(this.date.getFullYear()/10)}},methods:{getCellStyle:function(e){var t={},i=new Date;return t.disabled="function"===typeof this.disabledDate&&Ba(e).every(this.disabledDate),t.current=Object(y["arrayFindIndex"])(Object(y["coerceTruthyValueToArray"])(this.value),(function(t){return t.getFullYear()===e}))>=0,t.today=i.getFullYear()===e,t.default=this.defaultValue&&this.defaultValue.getFullYear()===e,t},handleYearTableClick:function(e){var t=e.target;if("A"===t.tagName){if(Object(Le["hasClass"])(t.parentNode,"disabled"))return;var i=t.textContent||t.innerText;this.$emit("pick",Number(i))}}}},$a=ja,Ka=o($a,Va,Ra,!1,null,null,null);Ka.options.__file="packages/date-picker/src/basic/year-table.vue";var qa=Ka.exports,Ua=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("table",{staticClass:"el-month-table",on:{click:e.handleMonthTableClick,mousemove:e.handleMouseMove}},[i("tbody",e._l(e.rows,(function(t,n){return i("tr",{key:n},e._l(t,(function(t,n){return i("td",{key:n,class:e.getCellStyle(t)},[i("div",[i("a",{staticClass:"cell"},[e._v(e._s(e.t("el.datepicker.months."+e.months[t.text])))])])])})),0)})),0)])},Wa=[];Ua._withStripped=!0;var Xa=function(e,t){var i=Object(sa["getDayCountOfMonth"])(e,t),n=new Date(e,t,1);return Object(sa["range"])(i).map((function(e){return Object(sa["nextDate"])(n,e)}))},Ga=function(e){return new Date(e.getFullYear(),e.getMonth())},Ya=function(e){return"number"===typeof e||"string"===typeof e?Ga(new Date(e)).getTime():e instanceof Date?Ga(e).getTime():NaN},Za={props:{disabledDate:{},value:{},selectionMode:{default:"month"},minDate:{},maxDate:{},defaultValue:{validator:function(e){return null===e||Object(sa["isDate"])(e)||Array.isArray(e)&&e.every(sa["isDate"])}},date:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},mixins:[g.a],watch:{"rangeState.endDate":function(e){this.markRange(this.minDate,e)},minDate:function(e,t){Ya(e)!==Ya(t)&&this.markRange(this.minDate,this.maxDate)},maxDate:function(e,t){Ya(e)!==Ya(t)&&this.markRange(this.minDate,this.maxDate)}},data:function(){return{months:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],tableRows:[[],[],[]],lastRow:null,lastColumn:null}},methods:{cellMatchesDate:function(e,t){var i=new Date(t);return this.date.getFullYear()===i.getFullYear()&&Number(e.text)===i.getMonth()},getCellStyle:function(e){var t=this,i={},n=this.date.getFullYear(),r=new Date,a=e.text,s=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[];return i.disabled="function"===typeof this.disabledDate&&Xa(n,a).every(this.disabledDate),i.current=Object(y["arrayFindIndex"])(Object(y["coerceTruthyValueToArray"])(this.value),(function(e){return e.getFullYear()===n&&e.getMonth()===a}))>=0,i.today=r.getFullYear()===n&&r.getMonth()===a,i.default=s.some((function(i){return t.cellMatchesDate(e,i)})),e.inRange&&(i["in-range"]=!0,e.start&&(i["start-date"]=!0),e.end&&(i["end-date"]=!0)),i},getMonthOfCell:function(e){var t=this.date.getFullYear();return new Date(t,e,1)},markRange:function(e,t){e=Ya(e),t=Ya(t)||e;var i=[Math.min(e,t),Math.max(e,t)];e=i[0],t=i[1];for(var n=this.rows,r=0,a=n.length;r<a;r++)for(var s=n[r],o=0,c=s.length;o<c;o++){var l=s[o],u=4*r+o,h=new Date(this.date.getFullYear(),u).getTime();l.inRange=e&&h>=e&&h<=t,l.start=e&&h===e,l.end=t&&h===t}},handleMouseMove:function(e){if(this.rangeState.selecting){var t=e.target;if("A"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName){var i=t.parentNode.rowIndex,n=t.cellIndex;this.rows[i][n].disabled||i===this.lastRow&&n===this.lastColumn||(this.lastRow=i,this.lastColumn=n,this.$emit("changerange",{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:!0,endDate:this.getMonthOfCell(4*i+n)}}))}}},handleMonthTableClick:function(e){var t=e.target;if("A"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName&&!Object(Le["hasClass"])(t,"disabled")){var i=t.cellIndex,n=t.parentNode.rowIndex,r=4*n+i,a=this.getMonthOfCell(r);"range"===this.selectionMode?this.rangeState.selecting?(a>=this.minDate?this.$emit("pick",{minDate:this.minDate,maxDate:a}):this.$emit("pick",{minDate:a,maxDate:this.minDate}),this.rangeState.selecting=!1):(this.$emit("pick",{minDate:a,maxDate:null}),this.rangeState.selecting=!0):this.$emit("pick",r)}}},computed:{rows:function(){for(var e=this,t=this.tableRows,i=this.disabledDate,n=[],r=Ya(new Date),a=0;a<3;a++)for(var s=t[a],o=function(t){var o=s[t];o||(o={row:a,column:t,type:"normal",inRange:!1,start:!1,end:!1}),o.type="normal";var c=4*a+t,l=new Date(e.date.getFullYear(),c).getTime();o.inRange=l>=Ya(e.minDate)&&l<=Ya(e.maxDate),o.start=e.minDate&&l===Ya(e.minDate),o.end=e.maxDate&&l===Ya(e.maxDate);var u=l===r;u&&(o.type="today"),o.text=c;var h=new Date(l);o.disabled="function"===typeof i&&i(h),o.selected=Object(y["arrayFind"])(n,(function(e){return e.getTime()===h.getTime()})),e.$set(s,t,o)},c=0;c<4;c++)o(c);return t}}},Ja=Za,Qa=o(Ja,Ua,Wa,!1,null,null,null);Qa.options.__file="packages/date-picker/src/basic/month-table.vue";var es=Qa.exports,ts=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("table",{staticClass:"el-date-table",class:{"is-week-mode":"week"===e.selectionMode},attrs:{cellspacing:"0",cellpadding:"0"},on:{click:e.handleClick,mousemove:e.handleMouseMove}},[i("tbody",[i("tr",[e.showWeekNumber?i("th",[e._v(e._s(e.t("el.datepicker.week")))]):e._e(),e._l(e.WEEKS,(function(t,n){return i("th",{key:n},[e._v(e._s(e.t("el.datepicker.weeks."+t)))])}))],2),e._l(e.rows,(function(t,n){return i("tr",{key:n,staticClass:"el-date-table__row",class:{current:e.isWeekActive(t[1])}},e._l(t,(function(t,n){return i("td",{key:n,class:e.getCellClasses(t)},[i("div",[i("span",[e._v("\n          "+e._s(t.text)+"\n        ")])])])})),0)}))],2)])},is=[];ts._withStripped=!0;var ns=["sun","mon","tue","wed","thu","fri","sat"],rs=function(e){return"number"===typeof e||"string"===typeof e?Object(sa["clearTime"])(new Date(e)).getTime():e instanceof Date?Object(sa["clearTime"])(e).getTime():NaN},as=function(e,t){var i="function"===typeof t?Object(y["arrayFindIndex"])(e,t):e.indexOf(t);return i>=0?[].concat(e.slice(0,i),e.slice(i+1)):e},ss={mixins:[g.a],props:{firstDayOfWeek:{default:7,type:Number,validator:function(e){return e>=1&&e<=7}},value:{},defaultValue:{validator:function(e){return null===e||Object(sa["isDate"])(e)||Array.isArray(e)&&e.every(sa["isDate"])}},date:{},selectionMode:{default:"day"},showWeekNumber:{type:Boolean,default:!1},disabledDate:{},cellClassName:{},minDate:{},maxDate:{},rangeState:{default:function(){return{endDate:null,selecting:!1}}}},computed:{offsetDay:function(){var e=this.firstDayOfWeek;return e>3?7-e:-e},WEEKS:function(){var e=this.firstDayOfWeek;return ns.concat(ns).slice(e,e+7)},year:function(){return this.date.getFullYear()},month:function(){return this.date.getMonth()},startDate:function(){return Object(sa["getStartDateOfMonth"])(this.year,this.month)},rows:function(){var e=this,t=new Date(this.year,this.month,1),i=Object(sa["getFirstDayOfMonth"])(t),n=Object(sa["getDayCountOfMonth"])(t.getFullYear(),t.getMonth()),r=Object(sa["getDayCountOfMonth"])(t.getFullYear(),0===t.getMonth()?11:t.getMonth()-1);i=0===i?7:i;for(var a=this.offsetDay,s=this.tableRows,o=1,c=this.startDate,l=this.disabledDate,u=this.cellClassName,h="dates"===this.selectionMode?Object(y["coerceTruthyValueToArray"])(this.value):[],d=rs(new Date),f=0;f<6;f++){var p=s[f];this.showWeekNumber&&(p[0]||(p[0]={type:"week",text:Object(sa["getWeekNumber"])(Object(sa["nextDate"])(c,7*f+1))}));for(var m=function(t){var s=p[e.showWeekNumber?t+1:t];s||(s={row:f,column:t,type:"normal",inRange:!1,start:!1,end:!1}),s.type="normal";var m=7*f+t,v=Object(sa["nextDate"])(c,m-a).getTime();s.inRange=v>=rs(e.minDate)&&v<=rs(e.maxDate),s.start=e.minDate&&v===rs(e.minDate),s.end=e.maxDate&&v===rs(e.maxDate);var g=v===d;if(g&&(s.type="today"),f>=0&&f<=1){var b=i+a<0?7+i+a:i+a;t+7*f>=b?s.text=o++:(s.text=r-(b-t%7)+1+7*f,s.type="prev-month")}else o<=n?s.text=o++:(s.text=o++-n,s.type="next-month");var C=new Date(v);s.disabled="function"===typeof l&&l(C),s.selected=Object(y["arrayFind"])(h,(function(e){return e.getTime()===C.getTime()})),s.customClass="function"===typeof u&&u(C),e.$set(p,e.showWeekNumber?t+1:t,s)},v=0;v<7;v++)m(v);if("week"===this.selectionMode){var g=this.showWeekNumber?1:0,b=this.showWeekNumber?7:6,C=this.isWeekActive(p[g+1]);p[g].inRange=C,p[g].start=C,p[b].inRange=C,p[b].end=C}}return s}},watch:{"rangeState.endDate":function(e){this.markRange(this.minDate,e)},minDate:function(e,t){rs(e)!==rs(t)&&this.markRange(this.minDate,this.maxDate)},maxDate:function(e,t){rs(e)!==rs(t)&&this.markRange(this.minDate,this.maxDate)}},data:function(){return{tableRows:[[],[],[],[],[],[]],lastRow:null,lastColumn:null}},methods:{cellMatchesDate:function(e,t){var i=new Date(t);return this.year===i.getFullYear()&&this.month===i.getMonth()&&Number(e.text)===i.getDate()},getCellClasses:function(e){var t=this,i=this.selectionMode,n=this.defaultValue?Array.isArray(this.defaultValue)?this.defaultValue:[this.defaultValue]:[],r=[];return"normal"!==e.type&&"today"!==e.type||e.disabled?r.push(e.type):(r.push("available"),"today"===e.type&&r.push("today")),"normal"===e.type&&n.some((function(i){return t.cellMatchesDate(e,i)}))&&r.push("default"),"day"!==i||"normal"!==e.type&&"today"!==e.type||!this.cellMatchesDate(e,this.value)||r.push("current"),!e.inRange||"normal"!==e.type&&"today"!==e.type&&"week"!==this.selectionMode||(r.push("in-range"),e.start&&r.push("start-date"),e.end&&r.push("end-date")),e.disabled&&r.push("disabled"),e.selected&&r.push("selected"),e.customClass&&r.push(e.customClass),r.join(" ")},getDateOfCell:function(e,t){var i=7*e+(t-(this.showWeekNumber?1:0))-this.offsetDay;return Object(sa["nextDate"])(this.startDate,i)},isWeekActive:function(e){if("week"!==this.selectionMode)return!1;var t=new Date(this.year,this.month,1),i=t.getFullYear(),n=t.getMonth();if("prev-month"===e.type&&(t.setMonth(0===n?11:n-1),t.setFullYear(0===n?i-1:i)),"next-month"===e.type&&(t.setMonth(11===n?0:n+1),t.setFullYear(11===n?i+1:i)),t.setDate(parseInt(e.text,10)),Object(sa["isDate"])(this.value)){var r=(this.value.getDay()-this.firstDayOfWeek+7)%7-1,a=Object(sa["prevDate"])(this.value,r);return a.getTime()===t.getTime()}return!1},markRange:function(e,t){e=rs(e),t=rs(t)||e;var i=[Math.min(e,t),Math.max(e,t)];e=i[0],t=i[1];for(var n=this.startDate,r=this.rows,a=0,s=r.length;a<s;a++)for(var o=r[a],c=0,l=o.length;c<l;c++)if(!this.showWeekNumber||0!==c){var u=o[c],h=7*a+c+(this.showWeekNumber?-1:0),d=Object(sa["nextDate"])(n,h-this.offsetDay).getTime();u.inRange=e&&d>=e&&d<=t,u.start=e&&d===e,u.end=t&&d===t}},handleMouseMove:function(e){if(this.rangeState.selecting){var t=e.target;if("SPAN"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName){var i=t.parentNode.rowIndex-1,n=t.cellIndex;this.rows[i][n].disabled||i===this.lastRow&&n===this.lastColumn||(this.lastRow=i,this.lastColumn=n,this.$emit("changerange",{minDate:this.minDate,maxDate:this.maxDate,rangeState:{selecting:!0,endDate:this.getDateOfCell(i,n)}}))}}},handleClick:function(e){var t=e.target;if("SPAN"===t.tagName&&(t=t.parentNode.parentNode),"DIV"===t.tagName&&(t=t.parentNode),"TD"===t.tagName){var i=t.parentNode.rowIndex-1,n="week"===this.selectionMode?1:t.cellIndex,r=this.rows[i][n];if(!r.disabled&&"week"!==r.type){var a=this.getDateOfCell(i,n);if("range"===this.selectionMode)this.rangeState.selecting?(a>=this.minDate?this.$emit("pick",{minDate:this.minDate,maxDate:a}):this.$emit("pick",{minDate:a,maxDate:this.minDate}),this.rangeState.selecting=!1):(this.$emit("pick",{minDate:a,maxDate:null}),this.rangeState.selecting=!0);else if("day"===this.selectionMode)this.$emit("pick",a);else if("week"===this.selectionMode){var s=Object(sa["getWeekNumber"])(a),o=a.getFullYear()+"w"+s;this.$emit("pick",{year:a.getFullYear(),week:s,value:o,date:a})}else if("dates"===this.selectionMode){var c=this.value||[],l=r.selected?as(c,(function(e){return e.getTime()===a.getTime()})):[].concat(c,[a]);this.$emit("pick",l)}}}}}},os=ss,cs=o(os,ts,is,!1,null,null,null);cs.options.__file="packages/date-picker/src/basic/date-table.vue";var ls=cs.exports,us={mixins:[g.a],directives:{Clickoutside:V.a},watch:{showTime:function(e){var t=this;e&&this.$nextTick((function(e){var i=t.$refs.input.$el;i&&(t.pickerWidth=i.getBoundingClientRect().width+10)}))},value:function(e){"dates"===this.selectionMode&&this.value||(Object(sa["isDate"])(e)?this.date=new Date(e):this.date=this.getDefaultValue())},defaultValue:function(e){Object(sa["isDate"])(this.value)||(this.date=e?new Date(e):new Date)},timePickerVisible:function(e){var t=this;e&&this.$nextTick((function(){return t.$refs.timepicker.adjustSpinners()}))},selectionMode:function(e){"month"===e?"year"===this.currentView&&"month"===this.currentView||(this.currentView="month"):"dates"===e&&(this.currentView="date")}},methods:{proxyTimePickerDataProperties:function(){var e=this,t=function(t){e.$refs.timepicker.format=t},i=function(t){e.$refs.timepicker.value=t},n=function(t){e.$refs.timepicker.date=t},r=function(t){e.$refs.timepicker.selectableRange=t};this.$watch("value",i),this.$watch("date",n),this.$watch("selectableRange",r),t(this.timeFormat),i(this.value),n(this.date),r(this.selectableRange)},handleClear:function(){this.date=this.getDefaultValue(),this.$emit("pick",null)},emit:function(e){for(var t=this,i=arguments.length,n=Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];if(e)if(Array.isArray(e)){var a=e.map((function(e){return t.showTime?Object(sa["clearMilliseconds"])(e):Object(sa["clearTime"])(e)}));this.$emit.apply(this,["pick",a].concat(n))}else this.$emit.apply(this,["pick",this.showTime?Object(sa["clearMilliseconds"])(e):Object(sa["clearTime"])(e)].concat(n));else this.$emit.apply(this,["pick",e].concat(n));this.userInputDate=null,this.userInputTime=null},showMonthPicker:function(){this.currentView="month"},showYearPicker:function(){this.currentView="year"},prevMonth:function(){this.date=Object(sa["prevMonth"])(this.date)},nextMonth:function(){this.date=Object(sa["nextMonth"])(this.date)},prevYear:function(){"year"===this.currentView?this.date=Object(sa["prevYear"])(this.date,10):this.date=Object(sa["prevYear"])(this.date)},nextYear:function(){"year"===this.currentView?this.date=Object(sa["nextYear"])(this.date,10):this.date=Object(sa["nextYear"])(this.date)},handleShortcutClick:function(e){e.onClick&&e.onClick(this)},handleTimePick:function(e,t,i){if(Object(sa["isDate"])(e)){var n=this.value?Object(sa["modifyTime"])(this.value,e.getHours(),e.getMinutes(),e.getSeconds()):Object(sa["modifyWithTimeString"])(this.getDefaultValue(),this.defaultTime);this.date=n,this.emit(this.date,!0)}else this.emit(e,!0);i||(this.timePickerVisible=t)},handleTimePickClose:function(){this.timePickerVisible=!1},handleMonthPick:function(e){"month"===this.selectionMode?(this.date=Object(sa["modifyDate"])(this.date,this.year,e,1),this.emit(this.date)):(this.date=Object(sa["changeYearMonthAndClampDate"])(this.date,this.year,e),this.currentView="date")},handleDatePick:function(e){if("day"===this.selectionMode){var t=this.value?Object(sa["modifyDate"])(this.value,e.getFullYear(),e.getMonth(),e.getDate()):Object(sa["modifyWithTimeString"])(e,this.defaultTime);this.checkDateWithinRange(t)||(t=Object(sa["modifyDate"])(this.selectableRange[0][0],e.getFullYear(),e.getMonth(),e.getDate())),this.date=t,this.emit(this.date,this.showTime)}else"week"===this.selectionMode?this.emit(e.date):"dates"===this.selectionMode&&this.emit(e,!0)},handleYearPick:function(e){"year"===this.selectionMode?(this.date=Object(sa["modifyDate"])(this.date,e,0,1),this.emit(this.date)):(this.date=Object(sa["changeYearMonthAndClampDate"])(this.date,e,this.month),this.currentView="month")},changeToNow:function(){this.disabledDate&&this.disabledDate(new Date)||!this.checkDateWithinRange(new Date)||(this.date=new Date,this.emit(this.date))},confirm:function(){if("dates"===this.selectionMode)this.emit(this.value);else{var e=this.value?this.value:Object(sa["modifyWithTimeString"])(this.getDefaultValue(),this.defaultTime);this.date=new Date(e),this.emit(e)}},resetView:function(){"month"===this.selectionMode?this.currentView="month":"year"===this.selectionMode?this.currentView="year":this.currentView="date"},handleEnter:function(){document.body.addEventListener("keydown",this.handleKeydown)},handleLeave:function(){this.$emit("dodestroy"),document.body.removeEventListener("keydown",this.handleKeydown)},handleKeydown:function(e){var t=e.keyCode,i=[38,40,37,39];this.visible&&!this.timePickerVisible&&(-1!==i.indexOf(t)&&(this.handleKeyControl(t),e.stopPropagation(),e.preventDefault()),13===t&&null===this.userInputDate&&null===this.userInputTime&&this.emit(this.date,!1))},handleKeyControl:function(e){var t={year:{38:-4,40:4,37:-1,39:1,offset:function(e,t){return e.setFullYear(e.getFullYear()+t)}},month:{38:-4,40:4,37:-1,39:1,offset:function(e,t){return e.setMonth(e.getMonth()+t)}},week:{38:-1,40:1,37:-1,39:1,offset:function(e,t){return e.setDate(e.getDate()+7*t)}},day:{38:-7,40:7,37:-1,39:1,offset:function(e,t){return e.setDate(e.getDate()+t)}}},i=this.selectionMode,n=31536e6,r=this.date.getTime(),a=new Date(this.date.getTime());while(Math.abs(r-a.getTime())<=n){var s=t[i];if(s.offset(a,s[e]),"function"!==typeof this.disabledDate||!this.disabledDate(a)){this.date=a,this.$emit("pick",a,!0);break}}},handleVisibleTimeChange:function(e){var t=Object(sa["parseDate"])(e,this.timeFormat);t&&this.checkDateWithinRange(t)&&(this.date=Object(sa["modifyDate"])(t,this.year,this.month,this.monthDate),this.userInputTime=null,this.$refs.timepicker.value=this.date,this.timePickerVisible=!1,this.emit(this.date,!0))},handleVisibleDateChange:function(e){var t=Object(sa["parseDate"])(e,this.dateFormat);if(t){if("function"===typeof this.disabledDate&&this.disabledDate(t))return;this.date=Object(sa["modifyTime"])(t,this.date.getHours(),this.date.getMinutes(),this.date.getSeconds()),this.userInputDate=null,this.resetView(),this.emit(this.date,!0)}},isValidValue:function(e){return e&&!isNaN(e)&&("function"!==typeof this.disabledDate||!this.disabledDate(e))&&this.checkDateWithinRange(e)},getDefaultValue:function(){return this.defaultValue?new Date(this.defaultValue):new Date},checkDateWithinRange:function(e){return!(this.selectableRange.length>0)||Object(sa["timeWithinRange"])(e,this.selectableRange,this.format||"HH:mm:ss")}},components:{TimePicker:La,YearTable:qa,MonthTable:es,DateTable:ls,ElInput:m.a,ElButton:se.a},data:function(){return{popperClass:"",date:new Date,value:"",defaultValue:null,defaultTime:null,showTime:!1,selectionMode:"day",shortcuts:"",visible:!1,currentView:"date",disabledDate:"",cellClassName:"",selectableRange:[],firstDayOfWeek:7,showWeekNumber:!1,timePickerVisible:!1,format:"",arrowControl:!1,userInputDate:null,userInputTime:null}},computed:{year:function(){return this.date.getFullYear()},month:function(){return this.date.getMonth()},week:function(){return Object(sa["getWeekNumber"])(this.date)},monthDate:function(){return this.date.getDate()},footerVisible:function(){return this.showTime||"dates"===this.selectionMode},visibleTime:function(){return null!==this.userInputTime?this.userInputTime:Object(sa["formatDate"])(this.value||this.defaultValue,this.timeFormat)},visibleDate:function(){return null!==this.userInputDate?this.userInputDate:Object(sa["formatDate"])(this.value||this.defaultValue,this.dateFormat)},yearLabel:function(){var e=this.t("el.datepicker.year");if("year"===this.currentView){var t=10*Math.floor(this.year/10);return e?t+" "+e+" - "+(t+9)+" "+e:t+" - "+(t+9)}return this.year+" "+e},timeFormat:function(){return this.format?Object(sa["extractTimeFormat"])(this.format):"HH:mm:ss"},dateFormat:function(){return this.format?Object(sa["extractDateFormat"])(this.format):"yyyy-MM-dd"}}},hs=us,ds=o(hs,Aa,Ea,!1,null,null,null);ds.options.__file="packages/date-picker/src/panel/date.vue";var fs=ds.exports,ps=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-range-picker el-popper",class:[{"has-sidebar":e.$slots.sidebar||e.shortcuts,"has-time":e.showTime},e.popperClass]},[i("div",{staticClass:"el-picker-panel__body-wrapper"},[e._t("sidebar"),e.shortcuts?i("div",{staticClass:"el-picker-panel__sidebar"},e._l(e.shortcuts,(function(t,n){return i("button",{key:n,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(i){e.handleShortcutClick(t)}}},[e._v(e._s(t.text))])})),0):e._e(),i("div",{staticClass:"el-picker-panel__body"},[e.showTime?i("div",{staticClass:"el-date-range-picker__time-header"},[i("span",{staticClass:"el-date-range-picker__editors-wrap"},[i("span",{staticClass:"el-date-range-picker__time-picker-wrap"},[i("el-input",{ref:"minInput",staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.startDate"),value:e.minVisibleDate},on:{input:function(t){return e.handleDateInput(t,"min")},change:function(t){return e.handleDateChange(t,"min")}}})],1),i("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleMinTimeClose,expression:"handleMinTimeClose"}],staticClass:"el-date-range-picker__time-picker-wrap"},[i("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.startTime"),value:e.minVisibleTime},on:{focus:function(t){e.minTimePickerVisible=!0},input:function(t){return e.handleTimeInput(t,"min")},change:function(t){return e.handleTimeChange(t,"min")}}}),i("time-picker",{ref:"minTimePicker",attrs:{"time-arrow-control":e.arrowControl,visible:e.minTimePickerVisible},on:{pick:e.handleMinTimePick,mounted:function(t){e.$refs.minTimePicker.format=e.timeFormat}}})],1)]),i("span",{staticClass:"el-icon-arrow-right"}),i("span",{staticClass:"el-date-range-picker__editors-wrap is-right"},[i("span",{staticClass:"el-date-range-picker__time-picker-wrap"},[i("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.endDate"),value:e.maxVisibleDate,readonly:!e.minDate},on:{input:function(t){return e.handleDateInput(t,"max")},change:function(t){return e.handleDateChange(t,"max")}}})],1),i("span",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.handleMaxTimeClose,expression:"handleMaxTimeClose"}],staticClass:"el-date-range-picker__time-picker-wrap"},[i("el-input",{staticClass:"el-date-range-picker__editor",attrs:{size:"small",disabled:e.rangeState.selecting,placeholder:e.t("el.datepicker.endTime"),value:e.maxVisibleTime,readonly:!e.minDate},on:{focus:function(t){e.minDate&&(e.maxTimePickerVisible=!0)},input:function(t){return e.handleTimeInput(t,"max")},change:function(t){return e.handleTimeChange(t,"max")}}}),i("time-picker",{ref:"maxTimePicker",attrs:{"time-arrow-control":e.arrowControl,visible:e.maxTimePickerVisible},on:{pick:e.handleMaxTimePick,mounted:function(t){e.$refs.maxTimePicker.format=e.timeFormat}}})],1)])]):e._e(),i("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-left"},[i("div",{staticClass:"el-date-range-picker__header"},[i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",attrs:{type:"button"},on:{click:e.leftPrevYear}}),i("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-left",attrs:{type:"button"},on:{click:e.leftPrevMonth}}),e.unlinkPanels?i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.leftNextYear}}):e._e(),e.unlinkPanels?i("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-right",class:{"is-disabled":!e.enableMonthArrow},attrs:{type:"button",disabled:!e.enableMonthArrow},on:{click:e.leftNextMonth}}):e._e(),i("div",[e._v(e._s(e.leftLabel))])]),i("date-table",{attrs:{"selection-mode":"range",date:e.leftDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate,"cell-class-name":e.cellClassName,"first-day-of-week":e.firstDayOfWeek},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1),i("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-right"},[i("div",{staticClass:"el-date-range-picker__header"},[e.unlinkPanels?i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.rightPrevYear}}):e._e(),e.unlinkPanels?i("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-left",class:{"is-disabled":!e.enableMonthArrow},attrs:{type:"button",disabled:!e.enableMonthArrow},on:{click:e.rightPrevMonth}}):e._e(),i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",attrs:{type:"button"},on:{click:e.rightNextYear}}),i("button",{staticClass:"el-picker-panel__icon-btn el-icon-arrow-right",attrs:{type:"button"},on:{click:e.rightNextMonth}}),i("div",[e._v(e._s(e.rightLabel))])]),i("date-table",{attrs:{"selection-mode":"range",date:e.rightDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate,"cell-class-name":e.cellClassName,"first-day-of-week":e.firstDayOfWeek},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1)])],2),e.showTime?i("div",{staticClass:"el-picker-panel__footer"},[i("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{size:"mini",type:"text"},on:{click:e.handleClear}},[e._v("\n        "+e._s(e.t("el.datepicker.clear"))+"\n      ")]),i("el-button",{staticClass:"el-picker-panel__link-btn",attrs:{plain:"",size:"mini",disabled:e.btnDisabled},on:{click:function(t){e.handleConfirm(!1)}}},[e._v("\n        "+e._s(e.t("el.datepicker.confirm"))+"\n      ")])],1):e._e()])])},ms=[];ps._withStripped=!0;var vs=function(e){return Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),Object(sa["nextDate"])(new Date(e),1)]:[new Date,Object(sa["nextDate"])(new Date,1)]},gs={mixins:[g.a],directives:{Clickoutside:V.a},computed:{btnDisabled:function(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]))},leftLabel:function(){return this.leftDate.getFullYear()+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+(this.leftDate.getMonth()+1))},rightLabel:function(){return this.rightDate.getFullYear()+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+(this.rightDate.getMonth()+1))},leftYear:function(){return this.leftDate.getFullYear()},leftMonth:function(){return this.leftDate.getMonth()},leftMonthDate:function(){return this.leftDate.getDate()},rightYear:function(){return this.rightDate.getFullYear()},rightMonth:function(){return this.rightDate.getMonth()},rightMonthDate:function(){return this.rightDate.getDate()},minVisibleDate:function(){return null!==this.dateUserInput.min?this.dateUserInput.min:this.minDate?Object(sa["formatDate"])(this.minDate,this.dateFormat):""},maxVisibleDate:function(){return null!==this.dateUserInput.max?this.dateUserInput.max:this.maxDate||this.minDate?Object(sa["formatDate"])(this.maxDate||this.minDate,this.dateFormat):""},minVisibleTime:function(){return null!==this.timeUserInput.min?this.timeUserInput.min:this.minDate?Object(sa["formatDate"])(this.minDate,this.timeFormat):""},maxVisibleTime:function(){return null!==this.timeUserInput.max?this.timeUserInput.max:this.maxDate||this.minDate?Object(sa["formatDate"])(this.maxDate||this.minDate,this.timeFormat):""},timeFormat:function(){return this.format?Object(sa["extractTimeFormat"])(this.format):"HH:mm:ss"},dateFormat:function(){return this.format?Object(sa["extractDateFormat"])(this.format):"yyyy-MM-dd"},enableMonthArrow:function(){var e=(this.leftMonth+1)%12,t=this.leftMonth+1>=12?1:0;return this.unlinkPanels&&new Date(this.leftYear+t,e)<new Date(this.rightYear,this.rightMonth)},enableYearArrow:function(){return this.unlinkPanels&&12*this.rightYear+this.rightMonth-(12*this.leftYear+this.leftMonth+1)>=12}},data:function(){return{popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:Object(sa["nextMonth"])(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},showTime:!1,shortcuts:"",visible:"",disabledDate:"",cellClassName:"",firstDayOfWeek:7,minTimePickerVisible:!1,maxTimePickerVisible:!1,format:"",arrowControl:!1,unlinkPanels:!1,dateUserInput:{min:null,max:null},timeUserInput:{min:null,max:null}}},watch:{minDate:function(e){var t=this;this.dateUserInput.min=null,this.timeUserInput.min=null,this.$nextTick((function(){if(t.$refs.maxTimePicker&&t.maxDate&&t.maxDate<t.minDate){var e="HH:mm:ss";t.$refs.maxTimePicker.selectableRange=[[Object(sa["parseDate"])(Object(sa["formatDate"])(t.minDate,e),e),Object(sa["parseDate"])("23:59:59",e)]]}})),e&&this.$refs.minTimePicker&&(this.$refs.minTimePicker.date=e,this.$refs.minTimePicker.value=e)},maxDate:function(e){this.dateUserInput.max=null,this.timeUserInput.max=null,e&&this.$refs.maxTimePicker&&(this.$refs.maxTimePicker.date=e,this.$refs.maxTimePicker.value=e)},minTimePickerVisible:function(e){var t=this;e&&this.$nextTick((function(){t.$refs.minTimePicker.date=t.minDate,t.$refs.minTimePicker.value=t.minDate,t.$refs.minTimePicker.adjustSpinners()}))},maxTimePickerVisible:function(e){var t=this;e&&this.$nextTick((function(){t.$refs.maxTimePicker.date=t.maxDate,t.$refs.maxTimePicker.value=t.maxDate,t.$refs.maxTimePicker.adjustSpinners()}))},value:function(e){if(e){if(Array.isArray(e))if(this.minDate=Object(sa["isDate"])(e[0])?new Date(e[0]):null,this.maxDate=Object(sa["isDate"])(e[1])?new Date(e[1]):null,this.minDate)if(this.leftDate=this.minDate,this.unlinkPanels&&this.maxDate){var t=this.minDate.getFullYear(),i=this.minDate.getMonth(),n=this.maxDate.getFullYear(),r=this.maxDate.getMonth();this.rightDate=t===n&&i===r?Object(sa["nextMonth"])(this.maxDate):this.maxDate}else this.rightDate=Object(sa["nextMonth"])(this.leftDate);else this.leftDate=vs(this.defaultValue)[0],this.rightDate=Object(sa["nextMonth"])(this.leftDate)}else this.minDate=null,this.maxDate=null},defaultValue:function(e){if(!Array.isArray(this.value)){var t=vs(e),i=t[0],n=t[1];this.leftDate=i,this.rightDate=e&&e[1]&&this.unlinkPanels?n:Object(sa["nextMonth"])(this.leftDate)}}},methods:{handleClear:function(){this.minDate=null,this.maxDate=null,this.leftDate=vs(this.defaultValue)[0],this.rightDate=Object(sa["nextMonth"])(this.leftDate),this.$emit("pick",null)},handleChangeRange:function(e){this.minDate=e.minDate,this.maxDate=e.maxDate,this.rangeState=e.rangeState},handleDateInput:function(e,t){if(this.dateUserInput[t]=e,e.length===this.dateFormat.length){var i=Object(sa["parseDate"])(e,this.dateFormat);if(i){if("function"===typeof this.disabledDate&&this.disabledDate(new Date(i)))return;"min"===t?(this.minDate=Object(sa["modifyDate"])(this.minDate||new Date,i.getFullYear(),i.getMonth(),i.getDate()),this.leftDate=new Date(i),this.unlinkPanels||(this.rightDate=Object(sa["nextMonth"])(this.leftDate))):(this.maxDate=Object(sa["modifyDate"])(this.maxDate||new Date,i.getFullYear(),i.getMonth(),i.getDate()),this.rightDate=new Date(i),this.unlinkPanels||(this.leftDate=Object(sa["prevMonth"])(i)))}}},handleDateChange:function(e,t){var i=Object(sa["parseDate"])(e,this.dateFormat);i&&("min"===t?(this.minDate=Object(sa["modifyDate"])(this.minDate,i.getFullYear(),i.getMonth(),i.getDate()),this.minDate>this.maxDate&&(this.maxDate=this.minDate)):(this.maxDate=Object(sa["modifyDate"])(this.maxDate,i.getFullYear(),i.getMonth(),i.getDate()),this.maxDate<this.minDate&&(this.minDate=this.maxDate)))},handleTimeInput:function(e,t){var i=this;if(this.timeUserInput[t]=e,e.length===this.timeFormat.length){var n=Object(sa["parseDate"])(e,this.timeFormat);n&&("min"===t?(this.minDate=Object(sa["modifyTime"])(this.minDate,n.getHours(),n.getMinutes(),n.getSeconds()),this.$nextTick((function(e){return i.$refs.minTimePicker.adjustSpinners()}))):(this.maxDate=Object(sa["modifyTime"])(this.maxDate,n.getHours(),n.getMinutes(),n.getSeconds()),this.$nextTick((function(e){return i.$refs.maxTimePicker.adjustSpinners()}))))}},handleTimeChange:function(e,t){var i=Object(sa["parseDate"])(e,this.timeFormat);i&&("min"===t?(this.minDate=Object(sa["modifyTime"])(this.minDate,i.getHours(),i.getMinutes(),i.getSeconds()),this.minDate>this.maxDate&&(this.maxDate=this.minDate),this.$refs.minTimePicker.value=this.minDate,this.minTimePickerVisible=!1):(this.maxDate=Object(sa["modifyTime"])(this.maxDate,i.getHours(),i.getMinutes(),i.getSeconds()),this.maxDate<this.minDate&&(this.minDate=this.maxDate),this.$refs.maxTimePicker.value=this.minDate,this.maxTimePickerVisible=!1))},handleRangePick:function(e){var t=this,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.defaultTime||[],r=Object(sa["modifyWithTimeString"])(e.minDate,n[0]),a=Object(sa["modifyWithTimeString"])(e.maxDate,n[1]);this.maxDate===a&&this.minDate===r||(this.onPick&&this.onPick(e),this.maxDate=a,this.minDate=r,setTimeout((function(){t.maxDate=a,t.minDate=r}),10),i&&!this.showTime&&this.handleConfirm())},handleShortcutClick:function(e){e.onClick&&e.onClick(this)},handleMinTimePick:function(e,t,i){this.minDate=this.minDate||new Date,e&&(this.minDate=Object(sa["modifyTime"])(this.minDate,e.getHours(),e.getMinutes(),e.getSeconds())),i||(this.minTimePickerVisible=t),(!this.maxDate||this.maxDate&&this.maxDate.getTime()<this.minDate.getTime())&&(this.maxDate=new Date(this.minDate))},handleMinTimeClose:function(){this.minTimePickerVisible=!1},handleMaxTimePick:function(e,t,i){this.maxDate&&e&&(this.maxDate=Object(sa["modifyTime"])(this.maxDate,e.getHours(),e.getMinutes(),e.getSeconds())),i||(this.maxTimePickerVisible=t),this.maxDate&&this.minDate&&this.minDate.getTime()>this.maxDate.getTime()&&(this.minDate=new Date(this.maxDate))},handleMaxTimeClose:function(){this.maxTimePickerVisible=!1},leftPrevYear:function(){this.leftDate=Object(sa["prevYear"])(this.leftDate),this.unlinkPanels||(this.rightDate=Object(sa["nextMonth"])(this.leftDate))},leftPrevMonth:function(){this.leftDate=Object(sa["prevMonth"])(this.leftDate),this.unlinkPanels||(this.rightDate=Object(sa["nextMonth"])(this.leftDate))},rightNextYear:function(){this.unlinkPanels?this.rightDate=Object(sa["nextYear"])(this.rightDate):(this.leftDate=Object(sa["nextYear"])(this.leftDate),this.rightDate=Object(sa["nextMonth"])(this.leftDate))},rightNextMonth:function(){this.unlinkPanels?this.rightDate=Object(sa["nextMonth"])(this.rightDate):(this.leftDate=Object(sa["nextMonth"])(this.leftDate),this.rightDate=Object(sa["nextMonth"])(this.leftDate))},leftNextYear:function(){this.leftDate=Object(sa["nextYear"])(this.leftDate)},leftNextMonth:function(){this.leftDate=Object(sa["nextMonth"])(this.leftDate)},rightPrevYear:function(){this.rightDate=Object(sa["prevYear"])(this.rightDate)},rightPrevMonth:function(){this.rightDate=Object(sa["prevMonth"])(this.rightDate)},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isValidValue([this.minDate,this.maxDate])&&this.$emit("pick",[this.minDate,this.maxDate],e)},isValidValue:function(e){return Array.isArray(e)&&e&&e[0]&&e[1]&&Object(sa["isDate"])(e[0])&&Object(sa["isDate"])(e[1])&&e[0].getTime()<=e[1].getTime()&&("function"!==typeof this.disabledDate||!this.disabledDate(e[0])&&!this.disabledDate(e[1]))},resetView:function(){this.minDate&&null==this.maxDate&&(this.rangeState.selecting=!1),this.minDate=this.value&&Object(sa["isDate"])(this.value[0])?new Date(this.value[0]):null,this.maxDate=this.value&&Object(sa["isDate"])(this.value[0])?new Date(this.value[1]):null}},components:{TimePicker:La,DateTable:ls,ElInput:m.a,ElButton:se.a}},ys=gs,bs=o(ys,ps,ms,!1,null,null,null);bs.options.__file="packages/date-picker/src/panel/date-range.vue";var Cs=bs.exports,Ss=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-picker-panel el-date-range-picker el-popper",class:[{"has-sidebar":e.$slots.sidebar||e.shortcuts},e.popperClass]},[i("div",{staticClass:"el-picker-panel__body-wrapper"},[e._t("sidebar"),e.shortcuts?i("div",{staticClass:"el-picker-panel__sidebar"},e._l(e.shortcuts,(function(t,n){return i("button",{key:n,staticClass:"el-picker-panel__shortcut",attrs:{type:"button"},on:{click:function(i){e.handleShortcutClick(t)}}},[e._v(e._s(t.text))])})),0):e._e(),i("div",{staticClass:"el-picker-panel__body"},[i("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-left"},[i("div",{staticClass:"el-date-range-picker__header"},[i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",attrs:{type:"button"},on:{click:e.leftPrevYear}}),e.unlinkPanels?i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.leftNextYear}}):e._e(),i("div",[e._v(e._s(e.leftLabel))])]),i("month-table",{attrs:{"selection-mode":"range",date:e.leftDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1),i("div",{staticClass:"el-picker-panel__content el-date-range-picker__content is-right"},[i("div",{staticClass:"el-date-range-picker__header"},[e.unlinkPanels?i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-left",class:{"is-disabled":!e.enableYearArrow},attrs:{type:"button",disabled:!e.enableYearArrow},on:{click:e.rightPrevYear}}):e._e(),i("button",{staticClass:"el-picker-panel__icon-btn el-icon-d-arrow-right",attrs:{type:"button"},on:{click:e.rightNextYear}}),i("div",[e._v(e._s(e.rightLabel))])]),i("month-table",{attrs:{"selection-mode":"range",date:e.rightDate,"default-value":e.defaultValue,"min-date":e.minDate,"max-date":e.maxDate,"range-state":e.rangeState,"disabled-date":e.disabledDate},on:{changerange:e.handleChangeRange,pick:e.handleRangePick}})],1)])],2)])])},xs=[];Ss._withStripped=!0;var ws=function(e){return Array.isArray(e)?[new Date(e[0]),new Date(e[1])]:e?[new Date(e),Object(sa["nextMonth"])(new Date(e))]:[new Date,Object(sa["nextMonth"])(new Date)]},_s={mixins:[g.a],directives:{Clickoutside:V.a},computed:{btnDisabled:function(){return!(this.minDate&&this.maxDate&&!this.selecting&&this.isValidValue([this.minDate,this.maxDate]))},leftLabel:function(){return this.leftDate.getFullYear()+" "+this.t("el.datepicker.year")},rightLabel:function(){return this.rightDate.getFullYear()+" "+this.t("el.datepicker.year")},leftYear:function(){return this.leftDate.getFullYear()},rightYear:function(){return this.rightDate.getFullYear()===this.leftDate.getFullYear()?this.leftDate.getFullYear()+1:this.rightDate.getFullYear()},enableYearArrow:function(){return this.unlinkPanels&&this.rightYear>this.leftYear+1}},data:function(){return{popperClass:"",value:[],defaultValue:null,defaultTime:null,minDate:"",maxDate:"",leftDate:new Date,rightDate:Object(sa["nextYear"])(new Date),rangeState:{endDate:null,selecting:!1,row:null,column:null},shortcuts:"",visible:"",disabledDate:"",format:"",arrowControl:!1,unlinkPanels:!1}},watch:{value:function(e){if(e){if(Array.isArray(e))if(this.minDate=Object(sa["isDate"])(e[0])?new Date(e[0]):null,this.maxDate=Object(sa["isDate"])(e[1])?new Date(e[1]):null,this.minDate)if(this.leftDate=this.minDate,this.unlinkPanels&&this.maxDate){var t=this.minDate.getFullYear(),i=this.maxDate.getFullYear();this.rightDate=t===i?Object(sa["nextYear"])(this.maxDate):this.maxDate}else this.rightDate=Object(sa["nextYear"])(this.leftDate);else this.leftDate=ws(this.defaultValue)[0],this.rightDate=Object(sa["nextYear"])(this.leftDate)}else this.minDate=null,this.maxDate=null},defaultValue:function(e){if(!Array.isArray(this.value)){var t=ws(e),i=t[0],n=t[1];this.leftDate=i,this.rightDate=e&&e[1]&&i.getFullYear()!==n.getFullYear()&&this.unlinkPanels?n:Object(sa["nextYear"])(this.leftDate)}}},methods:{handleClear:function(){this.minDate=null,this.maxDate=null,this.leftDate=ws(this.defaultValue)[0],this.rightDate=Object(sa["nextYear"])(this.leftDate),this.$emit("pick",null)},handleChangeRange:function(e){this.minDate=e.minDate,this.maxDate=e.maxDate,this.rangeState=e.rangeState},handleRangePick:function(e){var t=this,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.defaultTime||[],r=Object(sa["modifyWithTimeString"])(e.minDate,n[0]),a=Object(sa["modifyWithTimeString"])(e.maxDate,n[1]);this.maxDate===a&&this.minDate===r||(this.onPick&&this.onPick(e),this.maxDate=a,this.minDate=r,setTimeout((function(){t.maxDate=a,t.minDate=r}),10),i&&this.handleConfirm())},handleShortcutClick:function(e){e.onClick&&e.onClick(this)},leftPrevYear:function(){this.leftDate=Object(sa["prevYear"])(this.leftDate),this.unlinkPanels||(this.rightDate=Object(sa["prevYear"])(this.rightDate))},rightNextYear:function(){this.unlinkPanels||(this.leftDate=Object(sa["nextYear"])(this.leftDate)),this.rightDate=Object(sa["nextYear"])(this.rightDate)},leftNextYear:function(){this.leftDate=Object(sa["nextYear"])(this.leftDate)},rightPrevYear:function(){this.rightDate=Object(sa["prevYear"])(this.rightDate)},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isValidValue([this.minDate,this.maxDate])&&this.$emit("pick",[this.minDate,this.maxDate],e)},isValidValue:function(e){return Array.isArray(e)&&e&&e[0]&&e[1]&&Object(sa["isDate"])(e[0])&&Object(sa["isDate"])(e[1])&&e[0].getTime()<=e[1].getTime()&&("function"!==typeof this.disabledDate||!this.disabledDate(e[0])&&!this.disabledDate(e[1]))},resetView:function(){this.minDate=this.value&&Object(sa["isDate"])(this.value[0])?new Date(this.value[0]):null,this.maxDate=this.value&&Object(sa["isDate"])(this.value[0])?new Date(this.value[1]):null}},components:{MonthTable:es,ElInput:m.a,ElButton:se.a}},As=_s,Es=o(As,Ss,xs,!1,null,null,null);Es.options.__file="packages/date-picker/src/panel/month-range.vue";var ks=Es.exports,Ms=function(e){return"daterange"===e||"datetimerange"===e?Cs:"monthrange"===e?ks:fs},zs={mixins:[_a],name:"ElDatePicker",props:{type:{type:String,default:"date"},timeArrowControl:Boolean},watch:{type:function(e){this.picker?(this.unmountPicker(),this.panel=Ms(e),this.mountPicker()):this.panel=Ms(e)}},created:function(){this.panel=Ms(this.type)},install:function(e){e.component(zs.name,zs)}},Ts=zs,Is=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"before-enter":e.handleMenuEnter,"after-leave":function(t){e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],ref:"popper",staticClass:"el-picker-panel time-select el-popper",class:e.popperClass,style:{width:e.width+"px"}},[i("el-scrollbar",{attrs:{noresize:"","wrap-class":"el-picker-panel__content"}},e._l(e.items,(function(t){return i("div",{key:t.value,staticClass:"time-select-item",class:{selected:e.value===t.value,disabled:t.disabled,default:t.value===e.defaultValue},attrs:{disabled:t.disabled},on:{click:function(i){e.handleClick(t)}}},[e._v(e._s(t.value))])})),0)],1)])},Ns=[];Is._withStripped=!0;var Ds=function(e){var t=(e||"").split(":");if(t.length>=2){var i=parseInt(t[0],10),n=parseInt(t[1],10);return{hours:i,minutes:n}}return null},Ps=function(e,t){var i=Ds(e),n=Ds(t),r=i.minutes+60*i.hours,a=n.minutes+60*n.hours;return r===a?0:r>a?1:-1},Os=function(e){return(e.hours<10?"0"+e.hours:e.hours)+":"+(e.minutes<10?"0"+e.minutes:e.minutes)},Hs=function(e,t){var i=Ds(e),n=Ds(t),r={hours:i.hours,minutes:i.minutes};return r.minutes+=n.minutes,r.hours+=n.hours,r.hours+=Math.floor(r.minutes/60),r.minutes=r.minutes%60,Os(r)},Fs={components:{ElScrollbar:q.a},watch:{value:function(e){var t=this;e&&this.$nextTick((function(){return t.scrollToOption()}))}},methods:{handleClick:function(e){e.disabled||this.$emit("pick",e.value)},handleClear:function(){this.$emit("pick",null)},scrollToOption:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:".selected",t=this.$refs.popper.querySelector(".el-picker-panel__content");rn()(t,t.querySelector(e))},handleMenuEnter:function(){var e=this,t=-1!==this.items.map((function(e){return e.value})).indexOf(this.value),i=-1!==this.items.map((function(e){return e.value})).indexOf(this.defaultValue),n=(t?".selected":i&&".default")||".time-select-item:not(.disabled)";this.$nextTick((function(){return e.scrollToOption(n)}))},scrollDown:function(e){var t=this.items,i=t.length,n=t.length,r=t.map((function(e){return e.value})).indexOf(this.value);while(n--)if(r=(r+e+i)%i,!t[r].disabled)return void this.$emit("pick",t[r].value,!0)},isValidValue:function(e){return-1!==this.items.filter((function(e){return!e.disabled})).map((function(e){return e.value})).indexOf(e)},handleKeydown:function(e){var t=e.keyCode;if(38===t||40===t){var i={40:1,38:-1},n=i[t.toString()];return this.scrollDown(n),void e.stopPropagation()}}},data:function(){return{popperClass:"",start:"09:00",end:"18:00",step:"00:30",value:"",defaultValue:"",visible:!1,minTime:"",maxTime:"",width:0}},computed:{items:function(){var e=this.start,t=this.end,i=this.step,n=[];if(e&&t&&i){var r=e;while(Ps(r,t)<=0)n.push({value:r,disabled:Ps(r,this.minTime||"-1:-1")<=0||Ps(r,this.maxTime||"100:100")>=0}),r=Hs(r,i)}return n}}},Ls=Fs,Vs=o(Ls,Is,Ns,!1,null,null,null);Vs.options.__file="packages/date-picker/src/panel/time-select.vue";var Rs=Vs.exports,Bs={mixins:[_a],name:"ElTimeSelect",componentName:"ElTimeSelect",props:{type:{type:String,default:"time-select"}},beforeCreate:function(){this.panel=Rs},install:function(e){e.component(Bs.name,Bs)}},js=Bs,$s=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":function(t){e.$emit("dodestroy")}}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-time-range-picker el-picker-panel el-popper",class:e.popperClass},[i("div",{staticClass:"el-time-range-picker__content"},[i("div",{staticClass:"el-time-range-picker__cell"},[i("div",{staticClass:"el-time-range-picker__header"},[e._v(e._s(e.t("el.datepicker.startTime")))]),i("div",{staticClass:"el-time-range-picker__body el-time-panel__content",class:{"has-seconds":e.showSeconds,"is-arrow":e.arrowControl}},[i("time-spinner",{ref:"minSpinner",attrs:{"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,"arrow-control":e.arrowControl,date:e.minDate},on:{change:e.handleMinChange,"select-range":e.setMinSelectionRange}})],1)]),i("div",{staticClass:"el-time-range-picker__cell"},[i("div",{staticClass:"el-time-range-picker__header"},[e._v(e._s(e.t("el.datepicker.endTime")))]),i("div",{staticClass:"el-time-range-picker__body el-time-panel__content",class:{"has-seconds":e.showSeconds,"is-arrow":e.arrowControl}},[i("time-spinner",{ref:"maxSpinner",attrs:{"show-seconds":e.showSeconds,"am-pm-mode":e.amPmMode,"arrow-control":e.arrowControl,date:e.maxDate},on:{change:e.handleMaxChange,"select-range":e.setMaxSelectionRange}})],1)])]),i("div",{staticClass:"el-time-panel__footer"},[i("button",{staticClass:"el-time-panel__btn cancel",attrs:{type:"button"},on:{click:function(t){e.handleCancel()}}},[e._v(e._s(e.t("el.datepicker.cancel")))]),i("button",{staticClass:"el-time-panel__btn confirm",attrs:{type:"button",disabled:e.btnDisabled},on:{click:function(t){e.handleConfirm()}}},[e._v(e._s(e.t("el.datepicker.confirm")))])])])])},Ks=[];$s._withStripped=!0;var qs=Object(sa["parseDate"])("00:00:00","HH:mm:ss"),Us=Object(sa["parseDate"])("23:59:59","HH:mm:ss"),Ws=function(e){return Object(sa["modifyDate"])(qs,e.getFullYear(),e.getMonth(),e.getDate())},Xs=function(e){return Object(sa["modifyDate"])(Us,e.getFullYear(),e.getMonth(),e.getDate())},Gs=function(e,t){return new Date(Math.min(e.getTime()+t,Xs(e).getTime()))},Ys={mixins:[g.a],components:{TimeSpinner:Pa},computed:{showSeconds:function(){return-1!==(this.format||"").indexOf("ss")},offset:function(){return this.showSeconds?11:8},spinner:function(){return this.selectionRange[0]<this.offset?this.$refs.minSpinner:this.$refs.maxSpinner},btnDisabled:function(){return this.minDate.getTime()>this.maxDate.getTime()},amPmMode:function(){return-1!==(this.format||"").indexOf("A")?"A":-1!==(this.format||"").indexOf("a")?"a":""}},data:function(){return{popperClass:"",minDate:new Date,maxDate:new Date,value:[],oldValue:[new Date,new Date],defaultValue:null,format:"HH:mm:ss",visible:!1,selectionRange:[0,2],arrowControl:!1}},watch:{value:function(e){Array.isArray(e)?(this.minDate=new Date(e[0]),this.maxDate=new Date(e[1])):Array.isArray(this.defaultValue)?(this.minDate=new Date(this.defaultValue[0]),this.maxDate=new Date(this.defaultValue[1])):this.defaultValue?(this.minDate=new Date(this.defaultValue),this.maxDate=Gs(new Date(this.defaultValue),36e5)):(this.minDate=new Date,this.maxDate=Gs(new Date,36e5))},visible:function(e){var t=this;e&&(this.oldValue=this.value,this.$nextTick((function(){return t.$refs.minSpinner.emitSelectRange("hours")})))}},methods:{handleClear:function(){this.$emit("pick",null)},handleCancel:function(){this.$emit("pick",this.oldValue)},handleMinChange:function(e){this.minDate=Object(sa["clearMilliseconds"])(e),this.handleChange()},handleMaxChange:function(e){this.maxDate=Object(sa["clearMilliseconds"])(e),this.handleChange()},handleChange:function(){this.isValidValue([this.minDate,this.maxDate])&&(this.$refs.minSpinner.selectableRange=[[Ws(this.minDate),this.maxDate]],this.$refs.maxSpinner.selectableRange=[[this.minDate,Xs(this.maxDate)]],this.$emit("pick",[this.minDate,this.maxDate],!0))},setMinSelectionRange:function(e,t){this.$emit("select-range",e,t,"min"),this.selectionRange=[e,t]},setMaxSelectionRange:function(e,t){this.$emit("select-range",e,t,"max"),this.selectionRange=[e+this.offset,t+this.offset]},handleConfirm:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.$refs.minSpinner.selectableRange,i=this.$refs.maxSpinner.selectableRange;this.minDate=Object(sa["limitTimeRange"])(this.minDate,t,this.format),this.maxDate=Object(sa["limitTimeRange"])(this.maxDate,i,this.format),this.$emit("pick",[this.minDate,this.maxDate],e)},adjustSpinners:function(){this.$refs.minSpinner.adjustSpinners(),this.$refs.maxSpinner.adjustSpinners()},changeSelectionRange:function(e){var t=this.showSeconds?[0,3,6,11,14,17]:[0,3,8,11],i=["hours","minutes"].concat(this.showSeconds?["seconds"]:[]),n=t.indexOf(this.selectionRange[0]),r=(n+e+t.length)%t.length,a=t.length/2;r<a?this.$refs.minSpinner.emitSelectRange(i[r]):this.$refs.maxSpinner.emitSelectRange(i[r-a])},isValidValue:function(e){return Array.isArray(e)&&Object(sa["timeWithinRange"])(this.minDate,this.$refs.minSpinner.selectableRange)&&Object(sa["timeWithinRange"])(this.maxDate,this.$refs.maxSpinner.selectableRange)},handleKeydown:function(e){var t=e.keyCode,i={38:-1,40:1,37:-1,39:1};if(37===t||39===t){var n=i[t];return this.changeSelectionRange(n),void e.preventDefault()}if(38===t||40===t){var r=i[t];return this.spinner.scrollDown(r),void e.preventDefault()}}}},Zs=Ys,Js=o(Zs,$s,Ks,!1,null,null,null);Js.options.__file="packages/date-picker/src/panel/time-range.vue";var Qs=Js.exports,eo={mixins:[_a],name:"ElTimePicker",props:{isRange:Boolean,arrowControl:Boolean},data:function(){return{type:""}},watch:{isRange:function(e){this.picker?(this.unmountPicker(),this.type=e?"timerange":"time",this.panel=e?Qs:La,this.mountPicker()):(this.type=e?"timerange":"time",this.panel=e?Qs:La)}},created:function(){this.type=this.isRange?"timerange":"time",this.panel=this.isRange?Qs:La},install:function(e){e.component(eo.name,eo)}},to=eo,io=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("transition",{attrs:{name:e.transition},on:{"after-enter":e.handleAfterEnter,"after-leave":e.handleAfterLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.disabled&&e.showPopper,expression:"!disabled && showPopper"}],ref:"popper",staticClass:"el-popover el-popper",class:[e.popperClass,e.content&&"el-popover--plain"],style:{width:e.width+"px"},attrs:{role:"tooltip",id:e.tooltipId,"aria-hidden":e.disabled||!e.showPopper?"true":"false"}},[e.title?i("div",{staticClass:"el-popover__title",domProps:{textContent:e._s(e.title)}}):e._e(),e._t("default",[e._v(e._s(e.content))])],2)]),e._t("reference")],2)},no=[];io._withStripped=!0;var ro={name:"ElPopover",mixins:[$.a],props:{trigger:{type:String,default:"click",validator:function(e){return["click","focus","hover","manual"].indexOf(e)>-1}},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},title:String,disabled:Boolean,content:String,reference:{},popperClass:String,width:{},visibleArrow:{default:!0},arrowOffset:{type:Number,default:0},transition:{type:String,default:"fade-in-linear"},tabindex:{type:Number,default:0}},computed:{tooltipId:function(){return"el-popover-"+Object(y["generateId"])()}},watch:{showPopper:function(e){this.disabled||(e?this.$emit("show"):this.$emit("hide"))}},mounted:function(){var e=this,t=this.referenceElm=this.reference||this.$refs.reference,i=this.popper||this.$refs.popper;!t&&this.$slots.reference&&this.$slots.reference[0]&&(t=this.referenceElm=this.$slots.reference[0].elm),t&&(Object(Le["addClass"])(t,"el-popover__reference"),t.setAttribute("aria-describedby",this.tooltipId),t.setAttribute("tabindex",this.tabindex),i.setAttribute("tabindex",0),"click"!==this.trigger&&(Object(Le["on"])(t,"focusin",(function(){e.handleFocus();var i=t.__vue__;i&&"function"===typeof i.focus&&i.focus()})),Object(Le["on"])(i,"focusin",this.handleFocus),Object(Le["on"])(t,"focusout",this.handleBlur),Object(Le["on"])(i,"focusout",this.handleBlur)),Object(Le["on"])(t,"keydown",this.handleKeydown),Object(Le["on"])(t,"click",this.handleClick)),"click"===this.trigger?(Object(Le["on"])(t,"click",this.doToggle),Object(Le["on"])(document,"click",this.handleDocumentClick)):"hover"===this.trigger?(Object(Le["on"])(t,"mouseenter",this.handleMouseEnter),Object(Le["on"])(i,"mouseenter",this.handleMouseEnter),Object(Le["on"])(t,"mouseleave",this.handleMouseLeave),Object(Le["on"])(i,"mouseleave",this.handleMouseLeave)):"focus"===this.trigger&&(this.tabindex<0&&console.warn("[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key"),t.querySelector("input, textarea")?(Object(Le["on"])(t,"focusin",this.doShow),Object(Le["on"])(t,"focusout",this.doClose)):(Object(Le["on"])(t,"mousedown",this.doShow),Object(Le["on"])(t,"mouseup",this.doClose)))},beforeDestroy:function(){this.cleanup()},deactivated:function(){this.cleanup()},methods:{doToggle:function(){this.showPopper=!this.showPopper},doShow:function(){this.showPopper=!0},doClose:function(){this.showPopper=!1},handleFocus:function(){Object(Le["addClass"])(this.referenceElm,"focusing"),"click"!==this.trigger&&"focus"!==this.trigger||(this.showPopper=!0)},handleClick:function(){Object(Le["removeClass"])(this.referenceElm,"focusing")},handleBlur:function(){Object(Le["removeClass"])(this.referenceElm,"focusing"),"click"!==this.trigger&&"focus"!==this.trigger||(this.showPopper=!1)},handleMouseEnter:function(){var e=this;clearTimeout(this._timer),this.openDelay?this._timer=setTimeout((function(){e.showPopper=!0}),this.openDelay):this.showPopper=!0},handleKeydown:function(e){27===e.keyCode&&"manual"!==this.trigger&&this.doClose()},handleMouseLeave:function(){var e=this;clearTimeout(this._timer),this.closeDelay?this._timer=setTimeout((function(){e.showPopper=!1}),this.closeDelay):this.showPopper=!1},handleDocumentClick:function(e){var t=this.reference||this.$refs.reference,i=this.popper||this.$refs.popper;!t&&this.$slots.reference&&this.$slots.reference[0]&&(t=this.referenceElm=this.$slots.reference[0].elm),this.$el&&t&&!this.$el.contains(e.target)&&!t.contains(e.target)&&i&&!i.contains(e.target)&&(this.showPopper=!1)},handleAfterEnter:function(){this.$emit("after-enter")},handleAfterLeave:function(){this.$emit("after-leave"),this.doDestroy()},cleanup:function(){(this.openDelay||this.closeDelay)&&clearTimeout(this._timer)}},destroyed:function(){var e=this.reference;Object(Le["off"])(e,"click",this.doToggle),Object(Le["off"])(e,"mouseup",this.doClose),Object(Le["off"])(e,"mousedown",this.doShow),Object(Le["off"])(e,"focusin",this.doShow),Object(Le["off"])(e,"focusout",this.doClose),Object(Le["off"])(e,"mousedown",this.doShow),Object(Le["off"])(e,"mouseup",this.doClose),Object(Le["off"])(e,"mouseleave",this.handleMouseLeave),Object(Le["off"])(e,"mouseenter",this.handleMouseEnter),Object(Le["off"])(document,"click",this.handleDocumentClick)}},ao=ro,so=o(ao,io,no,!1,null,null,null);so.options.__file="packages/popover/src/main.vue";var oo=so.exports,co=function(e,t,i){var n=t.expression?t.value:t.arg,r=i.context.$refs[n];r&&(Array.isArray(r)?r[0].$refs.reference=e:r.$refs.reference=e)},lo={bind:function(e,t,i){co(e,t,i)},inserted:function(e,t,i){co(e,t,i)}};Kn.a.directive("popover",lo),oo.install=function(e){e.directive("popover",lo),e.component(oo.name,oo)},oo.directive=lo;var uo=oo,ho={name:"ElTooltip",mixins:[$.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+Object(y["generateId"])(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var e=this;this.$isServer||(this.popperVM=new Kn.a({data:{node:""},render:function(e){return this.node}}).$mount(),this.debounceClose=F()(200,(function(){return e.handleClosePopper()})))},render:function(e){var t=this;this.popperVM&&(this.popperVM.node=e("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[e("div",{on:{mouseleave:function(){t.setExpectedState(!1),t.debounceClose()},mouseenter:function(){t.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var i=this.getFirstElement();if(!i)return null;var n=i.data=i.data||{};return n.staticClass=this.addTooltipClass(n.staticClass),i},mounted:function(){var e=this;this.referenceElm=this.$el,1===this.$el.nodeType&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),Object(Le["on"])(this.referenceElm,"mouseenter",this.show),Object(Le["on"])(this.referenceElm,"mouseleave",this.hide),Object(Le["on"])(this.referenceElm,"focus",(function(){if(e.$slots.default&&e.$slots.default.length){var t=e.$slots.default[0].componentInstance;t&&t.focus?t.focus():e.handleFocus()}else e.handleFocus()})),Object(Le["on"])(this.referenceElm,"blur",this.handleBlur),Object(Le["on"])(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick((function(){e.value&&e.updatePopper()}))},watch:{focusing:function(e){e?Object(Le["addClass"])(this.referenceElm,"focusing"):Object(Le["removeClass"])(this.referenceElm,"focusing")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(e){return e?"el-tooltip "+e.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var e=this;this.expectedState&&!this.manual&&(clearTimeout(this.timeout),this.timeout=setTimeout((function(){e.showPopper=!0}),this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout((function(){e.showPopper=!1}),this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(e){!1===e&&clearTimeout(this.timeoutPending),this.expectedState=e},getFirstElement:function(){var e=this.$slots.default;if(!Array.isArray(e))return null;for(var t=null,i=0;i<e.length;i++)e[i]&&e[i].tag&&(t=e[i]);return t}},beforeDestroy:function(){this.popperVM&&this.popperVM.$destroy()},destroyed:function(){var e=this.referenceElm;1===e.nodeType&&(Object(Le["off"])(e,"mouseenter",this.show),Object(Le["off"])(e,"mouseleave",this.hide),Object(Le["off"])(e,"focus",this.handleFocus),Object(Le["off"])(e,"blur",this.handleBlur),Object(Le["off"])(e,"click",this.removeFocusing))},install:function(e){e.component(ho.name,ho)}},fo=ho,po=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"msgbox-fade"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-message-box__wrapper",attrs:{tabindex:"-1",role:"dialog","aria-modal":"true","aria-label":e.title||"dialog"},on:{click:function(t){return t.target!==t.currentTarget?null:e.handleWrapperClick(t)}}},[i("div",{staticClass:"el-message-box",class:[e.customClass,e.center&&"el-message-box--center"]},[null!==e.title?i("div",{staticClass:"el-message-box__header"},[i("div",{staticClass:"el-message-box__title"},[e.icon&&e.center?i("div",{class:["el-message-box__status",e.icon]}):e._e(),i("span",[e._v(e._s(e.title))])]),e.showClose?i("button",{staticClass:"el-message-box__headerbtn",attrs:{type:"button","aria-label":"Close"},on:{click:function(t){e.handleAction(e.distinguishCancelAndClose?"close":"cancel")},keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.handleAction(e.distinguishCancelAndClose?"close":"cancel")}}},[i("i",{staticClass:"el-message-box__close el-icon-close"})]):e._e()]):e._e(),i("div",{staticClass:"el-message-box__content"},[i("div",{staticClass:"el-message-box__container"},[e.icon&&!e.center&&""!==e.message?i("div",{class:["el-message-box__status",e.icon]}):e._e(),""!==e.message?i("div",{staticClass:"el-message-box__message"},[e._t("default",[e.dangerouslyUseHTMLString?i("p",{domProps:{innerHTML:e._s(e.message)}}):i("p",[e._v(e._s(e.message))])])],2):e._e()]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.showInput,expression:"showInput"}],staticClass:"el-message-box__input"},[i("el-input",{ref:"input",attrs:{type:e.inputType,placeholder:e.inputPlaceholder},nativeOn:{keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleInputEnter(t)}},model:{value:e.inputValue,callback:function(t){e.inputValue=t},expression:"inputValue"}}),i("div",{staticClass:"el-message-box__errormsg",style:{visibility:e.editorErrorMessage?"visible":"hidden"}},[e._v(e._s(e.editorErrorMessage))])],1)]),i("div",{staticClass:"el-message-box__btns"},[e.showCancelButton?i("el-button",{class:[e.cancelButtonClasses],attrs:{loading:e.cancelButtonLoading,round:e.roundButton,size:"small"},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.handleAction("cancel")}},nativeOn:{click:function(t){e.handleAction("cancel")}}},[e._v("\n          "+e._s(e.cancelButtonText||e.t("el.messagebox.cancel"))+"\n        ")]):e._e(),i("el-button",{directives:[{name:"show",rawName:"v-show",value:e.showConfirmButton,expression:"showConfirmButton"}],ref:"confirm",class:[e.confirmButtonClasses],attrs:{loading:e.confirmButtonLoading,round:e.roundButton,size:"small"},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter"))return null;e.handleAction("confirm")}},nativeOn:{click:function(t){e.handleAction("confirm")}}},[e._v("\n          "+e._s(e.confirmButtonText||e.t("el.messagebox.confirm"))+"\n        ")])],1)])])])},mo=[];po._withStripped=!0;var vo=i(39),go=i.n(vo),yo=void 0,bo={success:"success",info:"info",warning:"warning",error:"error"},Co={mixins:[_.a,g.a],props:{modal:{default:!0},lockScroll:{default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{default:!0},closeOnPressEscape:{default:!0},closeOnHashChange:{default:!0},center:{default:!1,type:Boolean},roundButton:{default:!1,type:Boolean}},components:{ElInput:m.a,ElButton:se.a},computed:{icon:function(){var e=this.type,t=this.iconClass;return t||(e&&bo[e]?"el-icon-"+bo[e]:"")},confirmButtonClasses:function(){return"el-button--primary "+this.confirmButtonClass},cancelButtonClasses:function(){return""+this.cancelButtonClass}},methods:{getSafeClose:function(){var e=this,t=this.uid;return function(){e.$nextTick((function(){t===e.uid&&e.doClose()}))}},doClose:function(){var e=this;this.visible&&(this.visible=!1,this._closing=!0,this.onClose&&this.onClose(),yo.closeDialog(),this.lockScroll&&setTimeout(this.restoreBodyStyle,200),this.opened=!1,this.doAfterClose(),setTimeout((function(){e.action&&e.callback(e.action,e)})))},handleWrapperClick:function(){this.closeOnClickModal&&this.handleAction(this.distinguishCancelAndClose?"close":"cancel")},handleInputEnter:function(){if("textarea"!==this.inputType)return this.handleAction("confirm")},handleAction:function(e){("prompt"!==this.$type||"confirm"!==e||this.validate())&&(this.action=e,"function"===typeof this.beforeClose?(this.close=this.getSafeClose(),this.beforeClose(e,this,this.close)):this.doClose())},validate:function(){if("prompt"===this.$type){var e=this.inputPattern;if(e&&!e.test(this.inputValue||""))return this.editorErrorMessage=this.inputErrorMessage||Object(en["t"])("el.messagebox.error"),Object(Le["addClass"])(this.getInputElement(),"invalid"),!1;var t=this.inputValidator;if("function"===typeof t){var i=t(this.inputValue);if(!1===i)return this.editorErrorMessage=this.inputErrorMessage||Object(en["t"])("el.messagebox.error"),Object(Le["addClass"])(this.getInputElement(),"invalid"),!1;if("string"===typeof i)return this.editorErrorMessage=i,Object(Le["addClass"])(this.getInputElement(),"invalid"),!1}}return this.editorErrorMessage="",Object(Le["removeClass"])(this.getInputElement(),"invalid"),!0},getFirstFocus:function(){var e=this.$el.querySelector(".el-message-box__btns .el-button"),t=this.$el.querySelector(".el-message-box__btns .el-message-box__title");return e||t},getInputElement:function(){var e=this.$refs.input.$refs;return e.input||e.textarea},handleClose:function(){this.handleAction("close")}},watch:{inputValue:{immediate:!0,handler:function(e){var t=this;this.$nextTick((function(i){"prompt"===t.$type&&null!==e&&t.validate()}))}},visible:function(e){var t=this;e&&(this.uid++,"alert"!==this.$type&&"confirm"!==this.$type||this.$nextTick((function(){t.$refs.confirm.$el.focus()})),this.focusAfterClosed=document.activeElement,yo=new go.a(this.$el,this.focusAfterClosed,this.getFirstFocus())),"prompt"===this.$type&&(e?setTimeout((function(){t.$refs.input&&t.$refs.input.$el&&t.getInputElement().focus()}),500):(this.editorErrorMessage="",Object(Le["removeClass"])(this.getInputElement(),"invalid")))}},mounted:function(){var e=this;this.$nextTick((function(){e.closeOnHashChange&&window.addEventListener("hashchange",e.close)}))},beforeDestroy:function(){this.closeOnHashChange&&window.removeEventListener("hashchange",this.close),setTimeout((function(){yo.closeDialog()}))},data:function(){return{uid:1,title:void 0,message:"",type:"",iconClass:"",customClass:"",showInput:!1,inputValue:null,inputPlaceholder:"",inputType:"text",inputPattern:null,inputValidator:null,inputErrorMessage:"",showConfirmButton:!0,showCancelButton:!1,action:"",confirmButtonText:"",cancelButtonText:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonClass:"",confirmButtonDisabled:!1,cancelButtonClass:"",editorErrorMessage:null,callback:null,dangerouslyUseHTMLString:!1,focusAfterClosed:null,isOnComposition:!1,distinguishCancelAndClose:!1}}},So=Co,xo=o(So,po,mo,!1,null,null,null);xo.options.__file="packages/message-box/src/main.vue";var wo=xo.exports,_o=i(23),Ao="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Eo={title:null,message:"",type:"",iconClass:"",showInput:!1,showClose:!0,modalFade:!0,lockScroll:!0,closeOnClickModal:!0,closeOnPressEscape:!0,closeOnHashChange:!0,inputValue:null,inputPlaceholder:"",inputType:"text",inputPattern:null,inputValidator:null,inputErrorMessage:"",showConfirmButton:!0,showCancelButton:!1,confirmButtonPosition:"right",confirmButtonHighlight:!1,cancelButtonHighlight:!1,confirmButtonText:"",cancelButtonText:"",confirmButtonClass:"",cancelButtonClass:"",customClass:"",beforeClose:null,dangerouslyUseHTMLString:!1,center:!1,roundButton:!1,distinguishCancelAndClose:!1},ko=Kn.a.extend(wo),Mo=void 0,zo=void 0,To=[],Io=function(e){if(Mo){var t=Mo.callback;"function"===typeof t&&(zo.showInput?t(zo.inputValue,e):t(e)),Mo.resolve&&("confirm"===e?zo.showInput?Mo.resolve({value:zo.inputValue,action:e}):Mo.resolve(e):!Mo.reject||"cancel"!==e&&"close"!==e||Mo.reject(e))}},No=function(){zo=new ko({el:document.createElement("div")}),zo.callback=Io},Do=function e(){if(zo||No(),zo.action="",(!zo.visible||zo.closeTimer)&&To.length>0){Mo=To.shift();var t=Mo.options;for(var i in t)t.hasOwnProperty(i)&&(zo[i]=t[i]);void 0===t.callback&&(zo.callback=Io);var n=zo.callback;zo.callback=function(t,i){n(t,i),e()},Object(_o["isVNode"])(zo.message)?(zo.$slots.default=[zo.message],zo.message=null):delete zo.$slots.default,["modal","showClose","closeOnClickModal","closeOnPressEscape","closeOnHashChange"].forEach((function(e){void 0===zo[e]&&(zo[e]=!0)})),document.body.appendChild(zo.$el),Kn.a.nextTick((function(){zo.visible=!0}))}},Po=function e(t,i){if(!Kn.a.prototype.$isServer){if("string"===typeof t||Object(_o["isVNode"])(t)?(t={message:t},"string"===typeof arguments[1]&&(t.title=arguments[1])):t.callback&&!i&&(i=t.callback),"undefined"!==typeof Promise)return new Promise((function(n,r){To.push({options:At()({},Eo,e.defaults,t),callback:i,resolve:n,reject:r}),Do()}));To.push({options:At()({},Eo,e.defaults,t),callback:i}),Do()}};Po.setDefaults=function(e){Po.defaults=e},Po.alert=function(e,t,i){return"object"===("undefined"===typeof t?"undefined":Ao(t))?(i=t,t=""):void 0===t&&(t=""),Po(At()({title:t,message:e,$type:"alert",closeOnPressEscape:!1,closeOnClickModal:!1},i))},Po.confirm=function(e,t,i){return"object"===("undefined"===typeof t?"undefined":Ao(t))?(i=t,t=""):void 0===t&&(t=""),Po(At()({title:t,message:e,$type:"confirm",showCancelButton:!0},i))},Po.prompt=function(e,t,i){return"object"===("undefined"===typeof t?"undefined":Ao(t))?(i=t,t=""):void 0===t&&(t=""),Po(At()({title:t,message:e,showCancelButton:!0,showInput:!0,$type:"prompt"},i))},Po.close=function(){zo.doClose(),zo.visible=!1,To=[],Mo=null};var Oo=Po,Ho=Oo,Fo=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-breadcrumb",attrs:{"aria-label":"Breadcrumb",role:"navigation"}},[e._t("default")],2)},Lo=[];Fo._withStripped=!0;var Vo={name:"ElBreadcrumb",props:{separator:{type:String,default:"/"},separatorClass:{type:String,default:""}},provide:function(){return{elBreadcrumb:this}},mounted:function(){var e=this.$el.querySelectorAll(".el-breadcrumb__item");e.length&&e[e.length-1].setAttribute("aria-current","page")}},Ro=Vo,Bo=o(Ro,Fo,Lo,!1,null,null,null);Bo.options.__file="packages/breadcrumb/src/breadcrumb.vue";var jo=Bo.exports;jo.install=function(e){e.component(jo.name,jo)};var $o=jo,Ko=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"el-breadcrumb__item"},[i("span",{ref:"link",class:["el-breadcrumb__inner",e.to?"is-link":""],attrs:{role:"link"}},[e._t("default")],2),e.separatorClass?i("i",{staticClass:"el-breadcrumb__separator",class:e.separatorClass}):i("span",{staticClass:"el-breadcrumb__separator",attrs:{role:"presentation"}},[e._v(e._s(e.separator))])])},qo=[];Ko._withStripped=!0;var Uo={name:"ElBreadcrumbItem",props:{to:{},replace:Boolean},data:function(){return{separator:"",separatorClass:""}},inject:["elBreadcrumb"],mounted:function(){var e=this;this.separator=this.elBreadcrumb.separator,this.separatorClass=this.elBreadcrumb.separatorClass;var t=this.$refs.link;t.setAttribute("role","link"),t.addEventListener("click",(function(t){var i=e.to,n=e.$router;i&&n&&(e.replace?n.replace(i):n.push(i))}))}},Wo=Uo,Xo=o(Wo,Ko,qo,!1,null,null,null);Xo.options.__file="packages/breadcrumb/src/breadcrumb-item.vue";var Go=Xo.exports;Go.install=function(e){e.component(Go.name,Go)};var Yo=Go,Zo=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("form",{staticClass:"el-form",class:[e.labelPosition?"el-form--label-"+e.labelPosition:"",{"el-form--inline":e.inline}]},[e._t("default")],2)},Jo=[];Zo._withStripped=!0;var Qo={name:"ElForm",componentName:"ElForm",provide:function(){return{elForm:this}},props:{model:Object,rules:Object,labelPosition:String,labelWidth:String,labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},size:String,disabled:Boolean,validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1}},watch:{rules:function(){this.fields.forEach((function(e){e.removeValidateEvents(),e.addValidateEvents()})),this.validateOnRuleChange&&this.validate((function(){}))}},computed:{autoLabelWidth:function(){if(!this.potentialLabelWidthArr.length)return 0;var e=Math.max.apply(Math,this.potentialLabelWidthArr);return e?e+"px":""}},data:function(){return{fields:[],potentialLabelWidthArr:[]}},created:function(){var e=this;this.$on("el.form.addField",(function(t){t&&e.fields.push(t)})),this.$on("el.form.removeField",(function(t){t.prop&&e.fields.splice(e.fields.indexOf(t),1)}))},methods:{resetFields:function(){this.model?this.fields.forEach((function(e){e.resetField()})):console.warn("[Element Warn][Form]model is required for resetFields to work.")},clearValidate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.length?"string"===typeof e?this.fields.filter((function(t){return e===t.prop})):this.fields.filter((function(t){return e.indexOf(t.prop)>-1})):this.fields;t.forEach((function(e){e.clearValidate()}))},validate:function(e){var t=this;if(this.model){var i=void 0;"function"!==typeof e&&window.Promise&&(i=new window.Promise((function(t,i){e=function(e){e?t(e):i(e)}})));var n=!0,r=0;0===this.fields.length&&e&&e(!0);var a={};return this.fields.forEach((function(i){i.validate("",(function(i,s){i&&(n=!1),a=At()({},a,s),"function"===typeof e&&++r===t.fields.length&&e(n,a)}))})),i||void 0}console.warn("[Element Warn][Form]model is required for validate to work!")},validateField:function(e,t){e=[].concat(e);var i=this.fields.filter((function(t){return-1!==e.indexOf(t.prop)}));i.length?i.forEach((function(e){e.validate("",t)})):console.warn("[Element Warn]please pass correct props!")},getLabelWidthIndex:function(e){var t=this.potentialLabelWidthArr.indexOf(e);if(-1===t)throw new Error("[ElementForm]unpected width ",e);return t},registerLabelWidth:function(e,t){if(e&&t){var i=this.getLabelWidthIndex(t);this.potentialLabelWidthArr.splice(i,1,e)}else e&&this.potentialLabelWidthArr.push(e)},deregisterLabelWidth:function(e){var t=this.getLabelWidthIndex(e);this.potentialLabelWidthArr.splice(t,1)}}},ec=Qo,tc=o(ec,Zo,Jo,!1,null,null,null);tc.options.__file="packages/form/src/form.vue";var ic=tc.exports;ic.install=function(e){e.component(ic.name,ic)};var nc=ic,rc=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-form-item",class:[{"el-form-item--feedback":e.elForm&&e.elForm.statusIcon,"is-error":"error"===e.validateState,"is-validating":"validating"===e.validateState,"is-success":"success"===e.validateState,"is-required":e.isRequired||e.required,"is-no-asterisk":e.elForm&&e.elForm.hideRequiredAsterisk},e.sizeClass?"el-form-item--"+e.sizeClass:""]},[i("label-wrap",{attrs:{"is-auto-width":e.labelStyle&&"auto"===e.labelStyle.width,"update-all":"auto"===e.form.labelWidth}},[e.label||e.$slots.label?i("label",{staticClass:"el-form-item__label",style:e.labelStyle,attrs:{for:e.labelFor}},[e._t("label",[e._v(e._s(e.label+e.form.labelSuffix))])],2):e._e()]),i("div",{staticClass:"el-form-item__content",style:e.contentStyle},[e._t("default"),i("transition",{attrs:{name:"el-zoom-in-top"}},["error"===e.validateState&&e.showMessage&&e.form.showMessage?e._t("error",[i("div",{staticClass:"el-form-item__error",class:{"el-form-item__error--inline":"boolean"===typeof e.inlineMessage?e.inlineMessage:e.elForm&&e.elForm.inlineMessage||!1}},[e._v("\n          "+e._s(e.validateMessage)+"\n        ")])],{error:e.validateMessage}):e._e()],2)],2)],1)},ac=[];rc._withStripped=!0;var sc,oc,cc=i(40),lc=i.n(cc),uc={props:{isAutoWidth:Boolean,updateAll:Boolean},inject:["elForm","elFormItem"],render:function(){var e=arguments[0],t=this.$slots.default;if(!t)return null;if(this.isAutoWidth){var i=this.elForm.autoLabelWidth,n={};if(i&&"auto"!==i){var r=parseInt(i,10)-this.computedWidth;r&&(n.marginLeft=r+"px")}return e("div",{class:"el-form-item__label-wrap",style:n},[t])}return t[0]},methods:{getLabelWidth:function(){if(this.$el&&this.$el.firstElementChild){var e=window.getComputedStyle(this.$el.firstElementChild).width;return Math.ceil(parseFloat(e))}return 0},updateLabelWidth:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"update";this.$slots.default&&this.isAutoWidth&&this.$el.firstElementChild&&("update"===e?this.computedWidth=this.getLabelWidth():"remove"===e&&this.elForm.deregisterLabelWidth(this.computedWidth))}},watch:{computedWidth:function(e,t){this.updateAll&&(this.elForm.registerLabelWidth(e,t),this.elFormItem.updateComputedLabelWidth(e))}},data:function(){return{computedWidth:0}},mounted:function(){this.updateLabelWidth("update")},updated:function(){this.updateLabelWidth("update")},beforeDestroy:function(){this.updateLabelWidth("remove")}},hc=uc,dc=o(hc,sc,oc,!1,null,null,null);dc.options.__file="packages/form/src/label-wrap.vue";var fc=dc.exports,pc={name:"ElFormItem",componentName:"ElFormItem",mixins:[M.a],provide:function(){return{elFormItem:this}},inject:["elForm"],props:{label:String,labelWidth:String,prop:String,required:{type:Boolean,default:void 0},rules:[Object,Array],error:String,validateStatus:String,for:String,inlineMessage:{type:[String,Boolean],default:""},showMessage:{type:Boolean,default:!0},size:String},components:{LabelWrap:fc},watch:{error:{immediate:!0,handler:function(e){this.validateMessage=e,this.validateState=e?"error":""}},validateStatus:function(e){this.validateState=e}},computed:{labelFor:function(){return this.for||this.prop},labelStyle:function(){var e={};if("top"===this.form.labelPosition)return e;var t=this.labelWidth||this.form.labelWidth;return t&&(e.width=t),e},contentStyle:function(){var e={},t=this.label;if("top"===this.form.labelPosition||this.form.inline)return e;if(!t&&!this.labelWidth&&this.isNested)return e;var i=this.labelWidth||this.form.labelWidth;return"auto"===i?"auto"===this.labelWidth?e.marginLeft=this.computedLabelWidth:"auto"===this.form.labelWidth&&(e.marginLeft=this.elForm.autoLabelWidth):e.marginLeft=i,e},form:function(){var e=this.$parent,t=e.$options.componentName;while("ElForm"!==t)"ElFormItem"===t&&(this.isNested=!0),e=e.$parent,t=e.$options.componentName;return e},fieldValue:function(){var e=this.form.model;if(e&&this.prop){var t=this.prop;return-1!==t.indexOf(":")&&(t=t.replace(/:/,".")),Object(y["getPropByPath"])(e,t,!0).v}},isRequired:function(){var e=this.getRules(),t=!1;return e&&e.length&&e.every((function(e){return!e.required||(t=!0,!1)})),t},_formSize:function(){return this.elForm.size},elFormItemSize:function(){return this.size||this._formSize},sizeClass:function(){return this.elFormItemSize||(this.$ELEMENT||{}).size}},data:function(){return{validateState:"",validateMessage:"",validateDisabled:!1,validator:{},isNested:!1,computedLabelWidth:""}},methods:{validate:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y["noop"];this.validateDisabled=!1;var n=this.getFilteredRule(e);if((!n||0===n.length)&&void 0===this.required)return i(),!0;this.validateState="validating";var r={};n&&n.length>0&&n.forEach((function(e){delete e.trigger})),r[this.prop]=n;var a=new lc.a(r),s={};s[this.prop]=this.fieldValue,a.validate(s,{firstFields:!0},(function(e,n){t.validateState=e?"error":"success",t.validateMessage=e?e[0].message:"",i(t.validateMessage,n),t.elForm&&t.elForm.$emit("validate",t.prop,!e,t.validateMessage||null)}))},clearValidate:function(){this.validateState="",this.validateMessage="",this.validateDisabled=!1},resetField:function(){var e=this;this.validateState="",this.validateMessage="";var t=this.form.model,i=this.fieldValue,n=this.prop;-1!==n.indexOf(":")&&(n=n.replace(/:/,"."));var r=Object(y["getPropByPath"])(t,n,!0);this.validateDisabled=!0,Array.isArray(i)?r.o[r.k]=[].concat(this.initialValue):r.o[r.k]=this.initialValue,this.$nextTick((function(){e.validateDisabled=!1})),this.broadcast("ElTimeSelect","fieldReset",this.initialValue)},getRules:function(){var e=this.form.rules,t=this.rules,i=void 0!==this.required?{required:!!this.required}:[],n=Object(y["getPropByPath"])(e,this.prop||"");return e=e?n.o[this.prop||""]||n.v:[],[].concat(t||e||[]).concat(i)},getFilteredRule:function(e){var t=this.getRules();return t.filter((function(t){return!t.trigger||""===e||(Array.isArray(t.trigger)?t.trigger.indexOf(e)>-1:t.trigger===e)})).map((function(e){return At()({},e)}))},onFieldBlur:function(){this.validate("blur")},onFieldChange:function(){this.validateDisabled?this.validateDisabled=!1:this.validate("change")},updateComputedLabelWidth:function(e){this.computedLabelWidth=e?e+"px":""},addValidateEvents:function(){var e=this.getRules();(e.length||void 0!==this.required)&&(this.$on("el.form.blur",this.onFieldBlur),this.$on("el.form.change",this.onFieldChange))},removeValidateEvents:function(){this.$off()}},mounted:function(){if(this.prop){this.dispatch("ElForm","el.form.addField",[this]);var e=this.fieldValue;Array.isArray(e)&&(e=[].concat(e)),Object.defineProperty(this,"initialValue",{value:e}),this.addValidateEvents()}},beforeDestroy:function(){this.dispatch("ElForm","el.form.removeField",[this])}},mc=pc,vc=o(mc,rc,ac,!1,null,null,null);vc.options.__file="packages/form/src/form-item.vue";var gc=vc.exports;gc.install=function(e){e.component(gc.name,gc)};var yc=gc,bc=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-tabs__active-bar",class:"is-"+e.rootTabs.tabPosition,style:e.barStyle})},Cc=[];bc._withStripped=!0;var Sc={name:"TabBar",props:{tabs:Array},inject:["rootTabs"],computed:{barStyle:{get:function(){var e=this,t={},i=0,n=0,r=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"width":"height",a="width"===r?"x":"y",s=function(e){return e.toLowerCase().replace(/( |^)[a-z]/g,(function(e){return e.toUpperCase()}))};this.tabs.every((function(t,a){var o=Object(y["arrayFind"])(e.$parent.$refs.tabs||[],(function(e){return e.id.replace("tab-","")===t.paneName}));if(!o)return!1;if(t.active){n=o["client"+s(r)];var c=window.getComputedStyle(o);return"width"===r&&e.tabs.length>1&&(n-=parseFloat(c.paddingLeft)+parseFloat(c.paddingRight)),"width"===r&&(i+=parseFloat(c.paddingLeft)),!1}return i+=o["client"+s(r)],!0}));var o="translate"+s(a)+"("+i+"px)";return t[r]=n+"px",t.transform=o,t.msTransform=o,t.webkitTransform=o,t}}}},xc=Sc,wc=o(xc,bc,Cc,!1,null,null,null);wc.options.__file="packages/tabs/src/tab-bar.vue";var _c=wc.exports;function Ac(){}var Ec,kc,Mc=function(e){return e.toLowerCase().replace(/( |^)[a-z]/g,(function(e){return e.toUpperCase()}))},zc={name:"TabNav",components:{TabBar:_c},inject:["rootTabs"],props:{panes:Array,currentName:String,editable:Boolean,onTabClick:{type:Function,default:Ac},onTabRemove:{type:Function,default:Ac},type:String,stretch:Boolean},data:function(){return{scrollable:!1,navOffset:0,isFocus:!1,focusable:!0}},computed:{navStyle:function(){var e=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"X":"Y";return{transform:"translate"+e+"(-"+this.navOffset+"px)"}},sizeName:function(){return-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"width":"height"}},methods:{scrollPrev:function(){var e=this.$refs.navScroll["offset"+Mc(this.sizeName)],t=this.navOffset;if(t){var i=t>e?t-e:0;this.navOffset=i}},scrollNext:function(){var e=this.$refs.nav["offset"+Mc(this.sizeName)],t=this.$refs.navScroll["offset"+Mc(this.sizeName)],i=this.navOffset;if(!(e-i<=t)){var n=e-i>2*t?i+t:e-t;this.navOffset=n}},scrollToActiveTab:function(){if(this.scrollable){var e=this.$refs.nav,t=this.$el.querySelector(".is-active");if(t){var i=this.$refs.navScroll,n=-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition),r=t.getBoundingClientRect(),a=i.getBoundingClientRect(),s=n?e.offsetWidth-a.width:e.offsetHeight-a.height,o=this.navOffset,c=o;n?(r.left<a.left&&(c=o-(a.left-r.left)),r.right>a.right&&(c=o+r.right-a.right)):(r.top<a.top&&(c=o-(a.top-r.top)),r.bottom>a.bottom&&(c=o+(r.bottom-a.bottom))),c=Math.max(c,0),this.navOffset=Math.min(c,s)}}},update:function(){if(this.$refs.nav){var e=this.sizeName,t=this.$refs.nav["offset"+Mc(e)],i=this.$refs.navScroll["offset"+Mc(e)],n=this.navOffset;if(i<t){var r=this.navOffset;this.scrollable=this.scrollable||{},this.scrollable.prev=r,this.scrollable.next=r+i<t,t-r<i&&(this.navOffset=t-i)}else this.scrollable=!1,n>0&&(this.navOffset=0)}},changeTab:function(e){var t=e.keyCode,i=void 0,n=void 0,r=void 0;-1!==[37,38,39,40].indexOf(t)&&(r=e.currentTarget.querySelectorAll("[role=tab]"),n=Array.prototype.indexOf.call(r,e.target),i=37===t||38===t?0===n?r.length-1:n-1:n<r.length-1?n+1:0,r[i].focus(),r[i].click(),this.setFocus())},setFocus:function(){this.focusable&&(this.isFocus=!0)},removeFocus:function(){this.isFocus=!1},visibilityChangeHandler:function(){var e=this,t=document.visibilityState;"hidden"===t?this.focusable=!1:"visible"===t&&setTimeout((function(){e.focusable=!0}),50)},windowBlurHandler:function(){this.focusable=!1},windowFocusHandler:function(){var e=this;setTimeout((function(){e.focusable=!0}),50)}},updated:function(){this.update()},render:function(e){var t=this,i=this.type,n=this.panes,r=this.editable,a=this.stretch,s=this.onTabClick,o=this.onTabRemove,c=this.navStyle,l=this.scrollable,u=this.scrollNext,h=this.scrollPrev,d=this.changeTab,f=this.setFocus,p=this.removeFocus,m=l?[e("span",{class:["el-tabs__nav-prev",l.prev?"":"is-disabled"],on:{click:h}},[e("i",{class:"el-icon-arrow-left"})]),e("span",{class:["el-tabs__nav-next",l.next?"":"is-disabled"],on:{click:u}},[e("i",{class:"el-icon-arrow-right"})])]:null,v=this._l(n,(function(i,n){var a,c=i.name||i.index||n,l=i.isClosable||r;i.index=""+n;var u=l?e("span",{class:"el-icon-close",on:{click:function(e){o(i,e)}}}):null,h=i.$slots.label||i.label,d=i.active?0:-1;return e("div",{class:(a={"el-tabs__item":!0},a["is-"+t.rootTabs.tabPosition]=!0,a["is-active"]=i.active,a["is-disabled"]=i.disabled,a["is-closable"]=l,a["is-focus"]=t.isFocus,a),attrs:{id:"tab-"+c,"aria-controls":"pane-"+c,role:"tab","aria-selected":i.active,tabindex:d},key:"tab-"+c,ref:"tabs",refInFor:!0,on:{focus:function(){f()},blur:function(){p()},click:function(e){p(),s(i,c,e)},keydown:function(e){!l||46!==e.keyCode&&8!==e.keyCode||o(i,e)}}},[h,u])}));return e("div",{class:["el-tabs__nav-wrap",l?"is-scrollable":"","is-"+this.rootTabs.tabPosition]},[m,e("div",{class:["el-tabs__nav-scroll"],ref:"navScroll"},[e("div",{class:["el-tabs__nav","is-"+this.rootTabs.tabPosition,a&&-1!==["top","bottom"].indexOf(this.rootTabs.tabPosition)?"is-stretch":""],ref:"nav",style:c,attrs:{role:"tablist"},on:{keydown:d}},[i?null:e("tab-bar",{attrs:{tabs:n}}),v])])])},mounted:function(){var e=this;Object(Qi["addResizeListener"])(this.$el,this.update),document.addEventListener("visibilitychange",this.visibilityChangeHandler),window.addEventListener("blur",this.windowBlurHandler),window.addEventListener("focus",this.windowFocusHandler),setTimeout((function(){e.scrollToActiveTab()}),0)},beforeDestroy:function(){this.$el&&this.update&&Object(Qi["removeResizeListener"])(this.$el,this.update),document.removeEventListener("visibilitychange",this.visibilityChangeHandler),window.removeEventListener("blur",this.windowBlurHandler),window.removeEventListener("focus",this.windowFocusHandler)}},Tc=zc,Ic=o(Tc,Ec,kc,!1,null,null,null);Ic.options.__file="packages/tabs/src/tab-nav.vue";var Nc,Dc,Pc=Ic.exports,Oc={name:"ElTabs",components:{TabNav:Pc},props:{type:String,activeName:String,closable:Boolean,addable:Boolean,value:{},editable:Boolean,tabPosition:{type:String,default:"top"},beforeLeave:Function,stretch:Boolean},provide:function(){return{rootTabs:this}},data:function(){return{currentName:this.value||this.activeName,panes:[]}},watch:{activeName:function(e){this.setCurrentName(e)},value:function(e){this.setCurrentName(e)},currentName:function(e){var t=this;this.$refs.nav&&this.$nextTick((function(){t.$refs.nav.$nextTick((function(e){t.$refs.nav.scrollToActiveTab()}))}))}},methods:{calcPaneInstances:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.$slots.default){var i=this.$slots.default.filter((function(e){return e.tag&&e.componentOptions&&"ElTabPane"===e.componentOptions.Ctor.options.name})),n=i.map((function(e){var t=e.componentInstance;return t})),r=!(n.length===this.panes.length&&n.every((function(t,i){return t===e.panes[i]})));(t||r)&&(this.panes=n)}else 0!==this.panes.length&&(this.panes=[])},handleTabClick:function(e,t,i){e.disabled||(this.setCurrentName(t),this.$emit("tab-click",e,i))},handleTabRemove:function(e,t){e.disabled||(t.stopPropagation(),this.$emit("edit",e.name,"remove"),this.$emit("tab-remove",e.name))},handleTabAdd:function(){this.$emit("edit",null,"add"),this.$emit("tab-add")},setCurrentName:function(e){var t=this,i=function(){t.currentName=e,t.$emit("input",e)};if(this.currentName!==e&&this.beforeLeave){var n=this.beforeLeave(e,this.currentName);n&&n.then?n.then((function(){i(),t.$refs.nav&&t.$refs.nav.removeFocus()}),(function(){})):!1!==n&&i()}else i()}},render:function(e){var t,i=this.type,n=this.handleTabClick,r=this.handleTabRemove,a=this.handleTabAdd,s=this.currentName,o=this.panes,c=this.editable,l=this.addable,u=this.tabPosition,h=this.stretch,d=c||l?e("span",{class:"el-tabs__new-tab",on:{click:a,keydown:function(e){13===e.keyCode&&a()}},attrs:{tabindex:"0"}},[e("i",{class:"el-icon-plus"})]):null,f={props:{currentName:s,onTabClick:n,onTabRemove:r,editable:c,type:i,panes:o,stretch:h},ref:"nav"},p=e("div",{class:["el-tabs__header","is-"+u]},[d,e("tab-nav",f)]),m=e("div",{class:"el-tabs__content"},[this.$slots.default]);return e("div",{class:(t={"el-tabs":!0,"el-tabs--card":"card"===i},t["el-tabs--"+u]=!0,t["el-tabs--border-card"]="border-card"===i,t)},["bottom"!==u?[p,m]:[m,p]])},created:function(){this.currentName||this.setCurrentName("0"),this.$on("tab-nav-update",this.calcPaneInstances.bind(null,!0))},mounted:function(){this.calcPaneInstances()},updated:function(){this.calcPaneInstances()}},Hc=Oc,Fc=o(Hc,Nc,Dc,!1,null,null,null);Fc.options.__file="packages/tabs/src/tabs.vue";var Lc=Fc.exports;Lc.install=function(e){e.component(Lc.name,Lc)};var Vc=Lc,Rc=function(){var e=this,t=e.$createElement,i=e._self._c||t;return!e.lazy||e.loaded||e.active?i("div",{directives:[{name:"show",rawName:"v-show",value:e.active,expression:"active"}],staticClass:"el-tab-pane",attrs:{role:"tabpanel","aria-hidden":!e.active,id:"pane-"+e.paneName,"aria-labelledby":"tab-"+e.paneName}},[e._t("default")],2):e._e()},Bc=[];Rc._withStripped=!0;var jc={name:"ElTabPane",componentName:"ElTabPane",props:{label:String,labelContent:Function,name:String,closable:Boolean,disabled:Boolean,lazy:Boolean},data:function(){return{index:null,loaded:!1}},computed:{isClosable:function(){return this.closable||this.$parent.closable},active:function(){var e=this.$parent.currentName===(this.name||this.index);return e&&(this.loaded=!0),e},paneName:function(){return this.name||this.index}},updated:function(){this.$parent.$emit("tab-nav-update")}},$c=jc,Kc=o($c,Rc,Bc,!1,null,null,null);Kc.options.__file="packages/tabs/src/tab-pane.vue";var qc=Kc.exports;qc.install=function(e){e.component(qc.name,qc)};var Uc,Wc,Xc=qc,Gc={name:"ElTag",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:"light",validator:function(e){return-1!==["dark","light","plain"].indexOf(e)}}},methods:{handleClose:function(e){e.stopPropagation(),this.$emit("close",e)},handleClick:function(e){this.$emit("click",e)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(e){var t=this.type,i=this.tagSize,n=this.hit,r=this.effect,a=["el-tag",t?"el-tag--"+t:"",i?"el-tag--"+i:"",r?"el-tag--"+r:"",n&&"is-hit"],s=e("span",{class:a,style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&e("i",{class:"el-tag__close el-icon-close",on:{click:this.handleClose}})]);return this.disableTransitions?s:e("transition",{attrs:{name:"el-zoom-in-center"}},[s])}},Yc=Gc,Zc=o(Yc,Uc,Wc,!1,null,null,null);Zc.options.__file="packages/tag/src/tag.vue";var Jc=Zc.exports;Jc.install=function(e){e.component(Jc.name,Jc)};var Qc=Jc,el=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-tree",class:{"el-tree--highlight-current":e.highlightCurrent,"is-dragging":!!e.dragState.draggingNode,"is-drop-not-allow":!e.dragState.allowDrop,"is-drop-inner":"inner"===e.dragState.dropType},attrs:{role:"tree"}},[e._l(e.root.childNodes,(function(t){return i("el-tree-node",{key:e.getNodeKey(t),attrs:{node:t,props:e.props,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent},on:{"node-expand":e.handleNodeExpand}})})),e.isEmpty?i("div",{staticClass:"el-tree__empty-block"},[i("span",{staticClass:"el-tree__empty-text"},[e._v(e._s(e.emptyText))])]):e._e(),i("div",{directives:[{name:"show",rawName:"v-show",value:e.dragState.showDropIndicator,expression:"dragState.showDropIndicator"}],ref:"dropIndicator",staticClass:"el-tree__drop-indicator"})],2)},tl=[];el._withStripped=!0;var il="$treeNodeId",nl=function(e,t){t&&!t[il]&&Object.defineProperty(t,il,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},rl=function(e,t){return e?t[e]:t[il]},al=function(e,t){var i=e;while(i&&"BODY"!==i.tagName){if(i.__vue__&&i.__vue__.$options.name===t)return i.__vue__;i=i.parentNode}return null},sl=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function ol(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var cl=function(e){for(var t=!0,i=!0,n=!0,r=0,a=e.length;r<a;r++){var s=e[r];(!0!==s.checked||s.indeterminate)&&(t=!1,s.disabled||(n=!1)),(!1!==s.checked||s.indeterminate)&&(i=!1)}return{all:t,none:i,allWithoutDisable:n,half:!t&&!i}},ll=function e(t){if(0!==t.childNodes.length){var i=cl(t.childNodes),n=i.all,r=i.none,a=i.half;n?(t.checked=!0,t.indeterminate=!1):a?(t.checked=!1,t.indeterminate=!0):r&&(t.checked=!1,t.indeterminate=!1);var s=t.parent;s&&0!==s.level&&(t.store.checkStrictly||e(s))}},ul=function(e,t){var i=e.store.props,n=e.data||{},r=i[t];if("function"===typeof r)return r(n,e);if("string"===typeof r)return n[r];if("undefined"===typeof r){var a=n[t];return void 0===a?"":a}},hl=0,dl=function(){function e(t){for(var i in ol(this,e),this.id=hl++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,t)t.hasOwnProperty(i)&&(this[i]=t[i]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1);var n=this.store;if(!n)throw new Error("[Node]store is required!");n.registerNode(this);var r=n.props;if(r&&"undefined"!==typeof r.isLeaf){var a=ul(this,"isLeaf");"boolean"===typeof a&&(this.isLeafByUser=a)}if(!0!==n.lazy&&this.data?(this.setData(this.data),n.defaultExpandAll&&(this.expanded=!0)):this.level>0&&n.lazy&&n.defaultExpandAll&&this.expand(),Array.isArray(this.data)||nl(this,this.data),this.data){var s=n.defaultExpandedKeys,o=n.key;o&&s&&-1!==s.indexOf(this.key)&&this.expand(null,n.autoExpandParent),o&&void 0!==n.currentNodeKey&&this.key===n.currentNodeKey&&(n.currentNode=this,n.currentNode.isCurrent=!0),n.lazy&&n._initDefaultCheckedNode(this),this.updateLeafState()}}return e.prototype.setData=function(e){Array.isArray(e)||nl(this,e),this.data=e,this.childNodes=[];var t=void 0;t=0===this.level&&this.data instanceof Array?this.data:ul(this,"children")||[];for(var i=0,n=t.length;i<n;i++)this.insertChild({data:t[i]})},e.prototype.contains=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=function i(n){for(var r=n.childNodes||[],a=!1,s=0,o=r.length;s<o;s++){var c=r[s];if(c===e||t&&i(c)){a=!0;break}}return a};return i(this)},e.prototype.remove=function(){var e=this.parent;e&&e.removeChild(this)},e.prototype.insertChild=function(t,i,n){if(!t)throw new Error("insertChild error: child is required.");if(!(t instanceof e)){if(!n){var r=this.getChildren(!0);-1===r.indexOf(t.data)&&("undefined"===typeof i||i<0?r.push(t.data):r.splice(i,0,t.data))}At()(t,{parent:this,store:this.store}),t=new e(t)}t.level=this.level+1,"undefined"===typeof i||i<0?this.childNodes.push(t):this.childNodes.splice(i,0,t),this.updateLeafState()},e.prototype.insertBefore=function(e,t){var i=void 0;t&&(i=this.childNodes.indexOf(t)),this.insertChild(e,i)},e.prototype.insertAfter=function(e,t){var i=void 0;t&&(i=this.childNodes.indexOf(t),-1!==i&&(i+=1)),this.insertChild(e,i)},e.prototype.removeChild=function(e){var t=this.getChildren()||[],i=t.indexOf(e.data);i>-1&&t.splice(i,1);var n=this.childNodes.indexOf(e);n>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(n,1)),this.updateLeafState()},e.prototype.removeChildByData=function(e){for(var t=null,i=0;i<this.childNodes.length;i++)if(this.childNodes[i].data===e){t=this.childNodes[i];break}t&&this.removeChild(t)},e.prototype.expand=function(e,t){var i=this,n=function(){if(t){var n=i.parent;while(n.level>0)n.expanded=!0,n=n.parent}i.expanded=!0,e&&e()};this.shouldLoadData()?this.loadData((function(e){e instanceof Array&&(i.checked?i.setChecked(!0,!0):i.store.checkStrictly||ll(i),n())})):n()},e.prototype.doCreateChildren=function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.forEach((function(e){t.insertChild(At()({data:e},i),void 0,!0)}))},e.prototype.collapse=function(){this.expanded=!1},e.prototype.shouldLoadData=function(){return!0===this.store.lazy&&this.store.load&&!this.loaded},e.prototype.updateLeafState=function(){if(!0!==this.store.lazy||!0===this.loaded||"undefined"===typeof this.isLeafByUser){var e=this.childNodes;!this.store.lazy||!0===this.store.lazy&&!0===this.loaded?this.isLeaf=!e||0===e.length:this.isLeaf=!1}else this.isLeaf=this.isLeafByUser},e.prototype.setChecked=function(e,t,i,n){var r=this;if(this.indeterminate="half"===e,this.checked=!0===e,!this.store.checkStrictly){if(!this.shouldLoadData()||this.store.checkDescendants){var a=cl(this.childNodes),s=a.all,o=a.allWithoutDisable;this.isLeaf||s||!o||(this.checked=!1,e=!1);var c=function(){if(t){for(var i=r.childNodes,a=0,s=i.length;a<s;a++){var o=i[a];n=n||!1!==e;var c=o.disabled?o.checked:n;o.setChecked(c,t,!0,n)}var l=cl(i),u=l.half,h=l.all;h||(r.checked=h,r.indeterminate=u)}};if(this.shouldLoadData())return void this.loadData((function(){c(),ll(r)}),{checked:!1!==e});c()}var l=this.parent;l&&0!==l.level&&(i||ll(l))}},e.prototype.getChildren=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(0===this.level)return this.data;var t=this.data;if(!t)return null;var i=this.store.props,n="children";return i&&(n=i.children||"children"),void 0===t[n]&&(t[n]=null),e&&!t[n]&&(t[n]=[]),t[n]},e.prototype.updateChildren=function(){var e=this,t=this.getChildren()||[],i=this.childNodes.map((function(e){return e.data})),n={},r=[];t.forEach((function(e,t){var a=e[il],s=!!a&&Object(y["arrayFindIndex"])(i,(function(e){return e[il]===a}))>=0;s?n[a]={index:t,data:e}:r.push({index:t,data:e})})),this.store.lazy||i.forEach((function(t){n[t[il]]||e.removeChildByData(t)})),r.forEach((function(t){var i=t.index,n=t.data;e.insertChild({data:n},i)})),this.updateLeafState()},e.prototype.loadData=function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!0!==this.store.lazy||!this.store.load||this.loaded||this.loading&&!Object.keys(i).length)e&&e.call(this);else{this.loading=!0;var n=function(n){t.loaded=!0,t.loading=!1,t.childNodes=[],t.doCreateChildren(n,i),t.updateLeafState(),e&&e.call(t,n)};this.store.load(this,n)}},sl(e,[{key:"label",get:function(){return ul(this,"label")}},{key:"key",get:function(){var e=this.store.key;return this.data?this.data[e]:null}},{key:"disabled",get:function(){return ul(this,"disabled")}},{key:"nextSibling",get:function(){var e=this.parent;if(e){var t=e.childNodes.indexOf(this);if(t>-1)return e.childNodes[t+1]}return null}},{key:"previousSibling",get:function(){var e=this.parent;if(e){var t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}}]),e}(),fl=dl,pl="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function ml(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var vl=function(){function e(t){var i=this;for(var n in ml(this,e),this.currentNode=null,this.currentNodeKey=null,t)t.hasOwnProperty(n)&&(this[n]=t[n]);if(this.nodesMap={},this.root=new fl({data:this.data,store:this}),this.lazy&&this.load){var r=this.load;r(this.root,(function(e){i.root.doCreateChildren(e),i._initDefaultCheckedNodes()}))}else this._initDefaultCheckedNodes()}return e.prototype.filter=function(e){var t=this.filterNodeMethod,i=this.lazy,n=function n(r){var a=r.root?r.root.childNodes:r.childNodes;if(a.forEach((function(i){i.visible=t.call(i,e,i.data,i),n(i)})),!r.visible&&a.length){var s=!0;s=!a.some((function(e){return e.visible})),r.root?r.root.visible=!1===s:r.visible=!1===s}e&&(!r.visible||r.isLeaf||i||r.expand())};n(this)},e.prototype.setData=function(e){var t=e!==this.root.data;t?(this.root.setData(e),this._initDefaultCheckedNodes()):this.root.updateChildren()},e.prototype.getNode=function(e){if(e instanceof fl)return e;var t="object"!==("undefined"===typeof e?"undefined":pl(e))?e:rl(this.key,e);return this.nodesMap[t]||null},e.prototype.insertBefore=function(e,t){var i=this.getNode(t);i.parent.insertBefore({data:e},i)},e.prototype.insertAfter=function(e,t){var i=this.getNode(t);i.parent.insertAfter({data:e},i)},e.prototype.remove=function(e){var t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))},e.prototype.append=function(e,t){var i=t?this.getNode(t):this.root;i&&i.insertChild({data:e})},e.prototype._initDefaultCheckedNodes=function(){var e=this,t=this.defaultCheckedKeys||[],i=this.nodesMap;t.forEach((function(t){var n=i[t];n&&n.setChecked(!0,!e.checkStrictly)}))},e.prototype._initDefaultCheckedNode=function(e){var t=this.defaultCheckedKeys||[];-1!==t.indexOf(e.key)&&e.setChecked(!0,!this.checkStrictly)},e.prototype.setDefaultCheckedKey=function(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())},e.prototype.registerNode=function(e){var t=this.key;if(t&&e&&e.data){var i=e.key;void 0!==i&&(this.nodesMap[e.key]=e)}},e.prototype.deregisterNode=function(e){var t=this,i=this.key;i&&e&&e.data&&(e.childNodes.forEach((function(e){t.deregisterNode(e)})),delete this.nodesMap[e.key])},e.prototype.getCheckedNodes=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=[],n=function n(r){var a=r.root?r.root.childNodes:r.childNodes;a.forEach((function(r){(r.checked||t&&r.indeterminate)&&(!e||e&&r.isLeaf)&&i.push(r.data),n(r)}))};return n(this),i},e.prototype.getCheckedKeys=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.getCheckedNodes(t).map((function(t){return(t||{})[e.key]}))},e.prototype.getHalfCheckedNodes=function(){var e=[],t=function t(i){var n=i.root?i.root.childNodes:i.childNodes;n.forEach((function(i){i.indeterminate&&e.push(i.data),t(i)}))};return t(this),e},e.prototype.getHalfCheckedKeys=function(){var e=this;return this.getHalfCheckedNodes().map((function(t){return(t||{})[e.key]}))},e.prototype._getAllNodes=function(){var e=[],t=this.nodesMap;for(var i in t)t.hasOwnProperty(i)&&e.push(t[i]);return e},e.prototype.updateChildren=function(e,t){var i=this.nodesMap[e];if(i){for(var n=i.childNodes,r=n.length-1;r>=0;r--){var a=n[r];this.remove(a.data)}for(var s=0,o=t.length;s<o;s++){var c=t[s];this.append(c,i.data)}}},e.prototype._setCheckedKeys=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments[2],n=this._getAllNodes().sort((function(e,t){return t.level-e.level})),r=Object.create(null),a=Object.keys(i);n.forEach((function(e){return e.setChecked(!1,!1)}));for(var s=0,o=n.length;s<o;s++){var c=n[s],l=c.data[e].toString(),u=a.indexOf(l)>-1;if(u){var h=c.parent;while(h&&h.level>0)r[h.data[e]]=!0,h=h.parent;c.isLeaf||this.checkStrictly?c.setChecked(!0,!1):(c.setChecked(!0,!0),t&&function(){c.setChecked(!1,!1);var e=function e(t){var i=t.childNodes;i.forEach((function(t){t.isLeaf||t.setChecked(!1,!1),e(t)}))};e(c)}())}else c.checked&&!r[l]&&c.setChecked(!1,!1)}},e.prototype.setCheckedNodes=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.key,n={};e.forEach((function(e){n[(e||{})[i]]=!0})),this._setCheckedKeys(i,t,n)},e.prototype.setCheckedKeys=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.defaultCheckedKeys=e;var i=this.key,n={};e.forEach((function(e){n[e]=!0})),this._setCheckedKeys(i,t,n)},e.prototype.setDefaultExpandedKeys=function(e){var t=this;e=e||[],this.defaultExpandedKeys=e,e.forEach((function(e){var i=t.getNode(e);i&&i.expand(null,t.autoExpandParent)}))},e.prototype.setChecked=function(e,t,i){var n=this.getNode(e);n&&n.setChecked(!!t,i)},e.prototype.getCurrentNode=function(){return this.currentNode},e.prototype.setCurrentNode=function(e){var t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0},e.prototype.setUserCurrentNode=function(e){var t=e[this.key],i=this.nodesMap[t];this.setCurrentNode(i)},e.prototype.setCurrentNodeKey=function(e){if(null===e||void 0===e)return this.currentNode&&(this.currentNode.isCurrent=!1),void(this.currentNode=null);var t=this.getNode(e);t&&this.setCurrentNode(t)},e}(),gl=vl,yl=function(){var e=this,t=this,i=t.$createElement,n=t._self._c||i;return n("div",{directives:[{name:"show",rawName:"v-show",value:t.node.visible,expression:"node.visible"}],ref:"node",staticClass:"el-tree-node",class:{"is-expanded":t.expanded,"is-current":t.node.isCurrent,"is-hidden":!t.node.visible,"is-focusable":!t.node.disabled,"is-checked":!t.node.disabled&&t.node.checked},attrs:{role:"treeitem",tabindex:"-1","aria-expanded":t.expanded,"aria-disabled":t.node.disabled,"aria-checked":t.node.checked,draggable:t.tree.draggable},on:{click:function(e){return e.stopPropagation(),t.handleClick(e)},contextmenu:function(t){return e.handleContextMenu(t)},dragstart:function(e){return e.stopPropagation(),t.handleDragStart(e)},dragover:function(e){return e.stopPropagation(),t.handleDragOver(e)},dragend:function(e){return e.stopPropagation(),t.handleDragEnd(e)},drop:function(e){return e.stopPropagation(),t.handleDrop(e)}}},[n("div",{staticClass:"el-tree-node__content",style:{"padding-left":(t.node.level-1)*t.tree.indent+"px"}},[n("span",{class:[{"is-leaf":t.node.isLeaf,expanded:!t.node.isLeaf&&t.expanded},"el-tree-node__expand-icon",t.tree.iconClass?t.tree.iconClass:"el-icon-caret-right"],on:{click:function(e){return e.stopPropagation(),t.handleExpandIconClick(e)}}}),t.showCheckbox?n("el-checkbox",{attrs:{indeterminate:t.node.indeterminate,disabled:!!t.node.disabled},on:{change:t.handleCheckChange},nativeOn:{click:function(e){e.stopPropagation()}},model:{value:t.node.checked,callback:function(e){t.$set(t.node,"checked",e)},expression:"node.checked"}}):t._e(),t.node.loading?n("span",{staticClass:"el-tree-node__loading-icon el-icon-loading"}):t._e(),n("node-content",{attrs:{node:t.node}})],1),n("el-collapse-transition",[!t.renderAfterExpand||t.childNodeRendered?n("div",{directives:[{name:"show",rawName:"v-show",value:t.expanded,expression:"expanded"}],staticClass:"el-tree-node__children",attrs:{role:"group","aria-expanded":t.expanded}},t._l(t.node.childNodes,(function(e){return n("el-tree-node",{key:t.getNodeKey(e),attrs:{"render-content":t.renderContent,"render-after-expand":t.renderAfterExpand,"show-checkbox":t.showCheckbox,node:e},on:{"node-expand":t.handleChildNodeExpand}})})),1):t._e()])],1)},bl=[];yl._withStripped=!0;var Cl={name:"ElTreeNode",componentName:"ElTreeNode",mixins:[M.a],props:{node:{default:function(){return{}}},props:{},renderContent:Function,renderAfterExpand:{type:Boolean,default:!0},showCheckbox:{type:Boolean,default:!1}},components:{ElCollapseTransition:We.a,ElCheckbox:Hn.a,NodeContent:{props:{node:{required:!0}},render:function(e){var t=this.$parent,i=t.tree,n=this.node,r=n.data,a=n.store;return t.renderContent?t.renderContent.call(t._renderProxy,e,{_self:i.$vnode.context,node:n,data:r,store:a}):i.$scopedSlots.default?i.$scopedSlots.default({node:n,data:r}):e("span",{class:"el-tree-node__label"},[n.label])}}},data:function(){return{tree:null,expanded:!1,childNodeRendered:!1,oldChecked:null,oldIndeterminate:null}},watch:{"node.indeterminate":function(e){this.handleSelectChange(this.node.checked,e)},"node.checked":function(e){this.handleSelectChange(e,this.node.indeterminate)},"node.expanded":function(e){var t=this;this.$nextTick((function(){return t.expanded=e})),e&&(this.childNodeRendered=!0)}},methods:{getNodeKey:function(e){return rl(this.tree.nodeKey,e.data)},handleSelectChange:function(e,t){this.oldChecked!==e&&this.oldIndeterminate!==t&&this.tree.$emit("check-change",this.node.data,e,t),this.oldChecked=e,this.indeterminate=t},handleClick:function(){var e=this.tree.store;e.setCurrentNode(this.node),this.tree.$emit("current-change",e.currentNode?e.currentNode.data:null,e.currentNode),this.tree.currentNode=this,this.tree.expandOnClickNode&&this.handleExpandIconClick(),this.tree.checkOnClickNode&&!this.node.disabled&&this.handleCheckChange(null,{target:{checked:!this.node.checked}}),this.tree.$emit("node-click",this.node.data,this.node,this)},handleContextMenu:function(e){this.tree._events["node-contextmenu"]&&this.tree._events["node-contextmenu"].length>0&&(e.stopPropagation(),e.preventDefault()),this.tree.$emit("node-contextmenu",e,this.node.data,this.node,this)},handleExpandIconClick:function(){this.node.isLeaf||(this.expanded?(this.tree.$emit("node-collapse",this.node.data,this.node,this),this.node.collapse()):(this.node.expand(),this.$emit("node-expand",this.node.data,this.node,this)))},handleCheckChange:function(e,t){var i=this;this.node.setChecked(t.target.checked,!this.tree.checkStrictly),this.$nextTick((function(){var e=i.tree.store;i.tree.$emit("check",i.node.data,{checkedNodes:e.getCheckedNodes(),checkedKeys:e.getCheckedKeys(),halfCheckedNodes:e.getHalfCheckedNodes(),halfCheckedKeys:e.getHalfCheckedKeys()})}))},handleChildNodeExpand:function(e,t,i){this.broadcast("ElTreeNode","tree-node-expand",t),this.tree.$emit("node-expand",e,t,i)},handleDragStart:function(e){this.tree.draggable&&this.tree.$emit("tree-node-drag-start",e,this)},handleDragOver:function(e){this.tree.draggable&&(this.tree.$emit("tree-node-drag-over",e,this),e.preventDefault())},handleDrop:function(e){e.preventDefault()},handleDragEnd:function(e){this.tree.draggable&&this.tree.$emit("tree-node-drag-end",e,this)}},created:function(){var e=this,t=this.$parent;t.isTree?this.tree=t:this.tree=t.tree;var i=this.tree;i||console.warn("Can not find node's tree.");var n=i.props||{},r=n["children"]||"children";this.$watch("node.data."+r,(function(){e.node.updateChildren()})),this.node.expanded&&(this.expanded=!0,this.childNodeRendered=!0),this.tree.accordion&&this.$on("tree-node-expand",(function(t){e.node!==t&&e.node.collapse()}))}},Sl=Cl,xl=o(Sl,yl,bl,!1,null,null,null);xl.options.__file="packages/tree/src/tree-node.vue";var wl=xl.exports,_l={name:"ElTree",mixins:[M.a],components:{ElTreeNode:wl},data:function(){return{store:null,root:null,currentNode:null,treeItems:null,checkboxItems:[],dragState:{showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0}}},props:{data:{type:Array},emptyText:{type:String,default:function(){return Object(en["t"])("el.tree.emptyText")}},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{default:function(){return{children:"children",label:"label",disabled:"disabled"}}},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},iconClass:String},computed:{children:{set:function(e){this.data=e},get:function(){return this.data}},treeItemArray:function(){return Array.prototype.slice.call(this.treeItems)},isEmpty:function(){var e=this.root.childNodes;return!e||0===e.length||e.every((function(e){var t=e.visible;return!t}))}},watch:{defaultCheckedKeys:function(e){this.store.setDefaultCheckedKey(e)},defaultExpandedKeys:function(e){this.store.defaultExpandedKeys=e,this.store.setDefaultExpandedKeys(e)},data:function(e){this.store.setData(e)},checkboxItems:function(e){Array.prototype.forEach.call(e,(function(e){e.setAttribute("tabindex",-1)}))},checkStrictly:function(e){this.store.checkStrictly=e}},methods:{filter:function(e){if(!this.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");this.store.filter(e)},getNodeKey:function(e){return rl(this.nodeKey,e.data)},getNodePath:function(e){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");var t=this.store.getNode(e);if(!t)return[];var i=[t.data],n=t.parent;while(n&&n!==this.root)i.push(n.data),n=n.parent;return i.reverse()},getCheckedNodes:function(e,t){return this.store.getCheckedNodes(e,t)},getCheckedKeys:function(e){return this.store.getCheckedKeys(e)},getCurrentNode:function(){var e=this.store.getCurrentNode();return e?e.data:null},getCurrentKey:function(){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");var e=this.getCurrentNode();return e?e[this.nodeKey]:null},setCheckedNodes:function(e,t){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");this.store.setCheckedNodes(e,t)},setCheckedKeys:function(e,t){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");this.store.setCheckedKeys(e,t)},setChecked:function(e,t,i){this.store.setChecked(e,t,i)},getHalfCheckedNodes:function(){return this.store.getHalfCheckedNodes()},getHalfCheckedKeys:function(){return this.store.getHalfCheckedKeys()},setCurrentNode:function(e){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");this.store.setUserCurrentNode(e)},setCurrentKey:function(e){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");this.store.setCurrentNodeKey(e)},getNode:function(e){return this.store.getNode(e)},remove:function(e){this.store.remove(e)},append:function(e,t){this.store.append(e,t)},insertBefore:function(e,t){this.store.insertBefore(e,t)},insertAfter:function(e,t){this.store.insertAfter(e,t)},handleNodeExpand:function(e,t,i){this.broadcast("ElTreeNode","tree-node-expand",t),this.$emit("node-expand",e,t,i)},updateKeyChildren:function(e,t){if(!this.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");this.store.updateChildren(e,t)},initTabIndex:function(){this.treeItems=this.$el.querySelectorAll(".is-focusable[role=treeitem]"),this.checkboxItems=this.$el.querySelectorAll("input[type=checkbox]");var e=this.$el.querySelectorAll(".is-checked[role=treeitem]");e.length?e[0].setAttribute("tabindex",0):this.treeItems[0]&&this.treeItems[0].setAttribute("tabindex",0)},handleKeydown:function(e){var t=e.target;if(-1!==t.className.indexOf("el-tree-node")){var i=e.keyCode;this.treeItems=this.$el.querySelectorAll(".is-focusable[role=treeitem]");var n=this.treeItemArray.indexOf(t),r=void 0;[38,40].indexOf(i)>-1&&(e.preventDefault(),r=38===i?0!==n?n-1:0:n<this.treeItemArray.length-1?n+1:0,this.treeItemArray[r].focus()),[37,39].indexOf(i)>-1&&(e.preventDefault(),t.click());var a=t.querySelector('[type="checkbox"]');[13,32].indexOf(i)>-1&&a&&(e.preventDefault(),a.click())}}},created:function(){var e=this;this.isTree=!0,this.store=new gl({key:this.nodeKey,data:this.data,lazy:this.lazy,props:this.props,load:this.load,currentNodeKey:this.currentNodeKey,checkStrictly:this.checkStrictly,checkDescendants:this.checkDescendants,defaultCheckedKeys:this.defaultCheckedKeys,defaultExpandedKeys:this.defaultExpandedKeys,autoExpandParent:this.autoExpandParent,defaultExpandAll:this.defaultExpandAll,filterNodeMethod:this.filterNodeMethod}),this.root=this.store.root;var t=this.dragState;this.$on("tree-node-drag-start",(function(i,n){if("function"===typeof e.allowDrag&&!e.allowDrag(n.node))return i.preventDefault(),!1;i.dataTransfer.effectAllowed="move";try{i.dataTransfer.setData("text/plain","")}catch(r){}t.draggingNode=n,e.$emit("node-drag-start",n.node,i)})),this.$on("tree-node-drag-over",(function(i,n){var r=al(i.target,"ElTreeNode"),a=t.dropNode;a&&a!==r&&Object(Le["removeClass"])(a.$el,"is-drop-inner");var s=t.draggingNode;if(s&&r){var o=!0,c=!0,l=!0,u=!0;"function"===typeof e.allowDrop&&(o=e.allowDrop(s.node,r.node,"prev"),u=c=e.allowDrop(s.node,r.node,"inner"),l=e.allowDrop(s.node,r.node,"next")),i.dataTransfer.dropEffect=c?"move":"none",(o||c||l)&&a!==r&&(a&&e.$emit("node-drag-leave",s.node,a.node,i),e.$emit("node-drag-enter",s.node,r.node,i)),(o||c||l)&&(t.dropNode=r),r.node.nextSibling===s.node&&(l=!1),r.node.previousSibling===s.node&&(o=!1),r.node.contains(s.node,!1)&&(c=!1),(s.node===r.node||s.node.contains(r.node))&&(o=!1,c=!1,l=!1);var h=r.$el.getBoundingClientRect(),d=e.$el.getBoundingClientRect(),f=void 0,p=o?c?.25:l?.45:1:-1,m=l?c?.75:o?.55:0:1,v=-9999,g=i.clientY-h.top;f=g<h.height*p?"before":g>h.height*m?"after":c?"inner":"none";var y=r.$el.querySelector(".el-tree-node__expand-icon").getBoundingClientRect(),b=e.$refs.dropIndicator;"before"===f?v=y.top-d.top:"after"===f&&(v=y.bottom-d.top),b.style.top=v+"px",b.style.left=y.right-d.left+"px","inner"===f?Object(Le["addClass"])(r.$el,"is-drop-inner"):Object(Le["removeClass"])(r.$el,"is-drop-inner"),t.showDropIndicator="before"===f||"after"===f,t.allowDrop=t.showDropIndicator||u,t.dropType=f,e.$emit("node-drag-over",s.node,r.node,i)}})),this.$on("tree-node-drag-end",(function(i){var n=t.draggingNode,r=t.dropType,a=t.dropNode;if(i.preventDefault(),i.dataTransfer.dropEffect="move",n&&a){var s={data:n.node.data};"none"!==r&&n.node.remove(),"before"===r?a.node.parent.insertBefore(s,a.node):"after"===r?a.node.parent.insertAfter(s,a.node):"inner"===r&&a.node.insertChild(s),"none"!==r&&e.store.registerNode(s),Object(Le["removeClass"])(a.$el,"is-drop-inner"),e.$emit("node-drag-end",n.node,a.node,r,i),"none"!==r&&e.$emit("node-drop",n.node,a.node,r,i)}n&&!a&&e.$emit("node-drag-end",n.node,null,r,i),t.showDropIndicator=!1,t.draggingNode=null,t.dropNode=null,t.allowDrop=!0}))},mounted:function(){this.initTabIndex(),this.$el.addEventListener("keydown",this.handleKeydown)},updated:function(){this.treeItems=this.$el.querySelectorAll("[role=treeitem]"),this.checkboxItems=this.$el.querySelectorAll("input[type=checkbox]")}},Al=_l,El=o(Al,el,tl,!1,null,null,null);El.options.__file="packages/tree/src/tree.vue";var kl=El.exports;kl.install=function(e){e.component(kl.name,kl)};var Ml=kl,zl=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-alert-fade"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-alert",class:[e.typeClass,e.center?"is-center":"","is-"+e.effect],attrs:{role:"alert"}},[e.showIcon?i("i",{staticClass:"el-alert__icon",class:[e.iconClass,e.isBigIcon]}):e._e(),i("div",{staticClass:"el-alert__content"},[e.title||e.$slots.title?i("span",{staticClass:"el-alert__title",class:[e.isBoldTitle]},[e._t("title",[e._v(e._s(e.title))])],2):e._e(),e.$slots.default&&!e.description?i("p",{staticClass:"el-alert__description"},[e._t("default")],2):e._e(),e.description&&!e.$slots.default?i("p",{staticClass:"el-alert__description"},[e._v(e._s(e.description))]):e._e(),i("i",{directives:[{name:"show",rawName:"v-show",value:e.closable,expression:"closable"}],staticClass:"el-alert__closebtn",class:{"is-customed":""!==e.closeText,"el-icon-close":""===e.closeText},on:{click:function(t){e.close()}}},[e._v(e._s(e.closeText))])])])])},Tl=[];zl._withStripped=!0;var Il={success:"el-icon-success",warning:"el-icon-warning",error:"el-icon-error"},Nl={name:"ElAlert",props:{title:{type:String,default:""},description:{type:String,default:""},type:{type:String,default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,default:"light",validator:function(e){return-1!==["light","dark"].indexOf(e)}}},data:function(){return{visible:!0}},methods:{close:function(){this.visible=!1,this.$emit("close")}},computed:{typeClass:function(){return"el-alert--"+this.type},iconClass:function(){return Il[this.type]||"el-icon-info"},isBigIcon:function(){return this.description||this.$slots.default?"is-big":""},isBoldTitle:function(){return this.description||this.$slots.default?"is-bold":""}}},Dl=Nl,Pl=o(Dl,zl,Tl,!1,null,null,null);Pl.options.__file="packages/alert/src/main.vue";var Ol=Pl.exports;Ol.install=function(e){e.component(Ol.name,Ol)};var Hl=Ol,Fl=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-notification-fade"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],class:["el-notification",e.customClass,e.horizontalClass],style:e.positionStyle,attrs:{role:"alert"},on:{mouseenter:function(t){e.clearTimer()},mouseleave:function(t){e.startTimer()},click:e.click}},[e.type||e.iconClass?i("i",{staticClass:"el-notification__icon",class:[e.typeClass,e.iconClass]}):e._e(),i("div",{staticClass:"el-notification__group",class:{"is-with-icon":e.typeClass||e.iconClass}},[i("h2",{staticClass:"el-notification__title",domProps:{textContent:e._s(e.title)}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.message,expression:"message"}],staticClass:"el-notification__content"},[e._t("default",[e.dangerouslyUseHTMLString?i("p",{domProps:{innerHTML:e._s(e.message)}}):i("p",[e._v(e._s(e.message))])])],2),e.showClose?i("div",{staticClass:"el-notification__closeBtn el-icon-close",on:{click:function(t){return t.stopPropagation(),e.close(t)}}}):e._e()])])])},Ll=[];Fl._withStripped=!0;var Vl={success:"success",info:"info",warning:"warning",error:"error"},Rl={data:function(){return{visible:!1,title:"",message:"",duration:4500,type:"",showClose:!0,customClass:"",iconClass:"",onClose:null,onClick:null,closed:!1,verticalOffset:0,timer:null,dangerouslyUseHTMLString:!1,position:"top-right"}},computed:{typeClass:function(){return this.type&&Vl[this.type]?"el-icon-"+Vl[this.type]:""},horizontalClass:function(){return this.position.indexOf("right")>-1?"right":"left"},verticalProperty:function(){return/^top-/.test(this.position)?"top":"bottom"},positionStyle:function(){var e;return e={},e[this.verticalProperty]=this.verticalOffset+"px",e}},watch:{closed:function(e){e&&(this.visible=!1,this.$el.addEventListener("transitionend",this.destroyElement))}},methods:{destroyElement:function(){this.$el.removeEventListener("transitionend",this.destroyElement),this.$destroy(!0),this.$el.parentNode.removeChild(this.$el)},click:function(){"function"===typeof this.onClick&&this.onClick()},close:function(){this.closed=!0,"function"===typeof this.onClose&&this.onClose()},clearTimer:function(){clearTimeout(this.timer)},startTimer:function(){var e=this;this.duration>0&&(this.timer=setTimeout((function(){e.closed||e.close()}),this.duration))},keydown:function(e){46===e.keyCode||8===e.keyCode?this.clearTimer():27===e.keyCode?this.closed||this.close():this.startTimer()}},mounted:function(){var e=this;this.duration>0&&(this.timer=setTimeout((function(){e.closed||e.close()}),this.duration)),document.addEventListener("keydown",this.keydown)},beforeDestroy:function(){document.removeEventListener("keydown",this.keydown)}},Bl=Rl,jl=o(Bl,Fl,Ll,!1,null,null,null);jl.options.__file="packages/notification/src/main.vue";var $l=jl.exports,Kl=Kn.a.extend($l),ql=void 0,Ul=[],Wl=1,Xl=function e(t){if(!Kn.a.prototype.$isServer){t=At()({},t);var i=t.onClose,n="notification_"+Wl++,r=t.position||"top-right";t.onClose=function(){e.close(n,i)},ql=new Kl({data:t}),Object(_o["isVNode"])(t.message)&&(ql.$slots.default=[t.message],t.message="REPLACED_BY_VNODE"),ql.id=n,ql.$mount(),document.body.appendChild(ql.$el),ql.visible=!0,ql.dom=ql.$el,ql.dom.style.zIndex=w["PopupManager"].nextZIndex();var a=t.offset||0;return Ul.filter((function(e){return e.position===r})).forEach((function(e){a+=e.$el.offsetHeight+16})),a+=16,ql.verticalOffset=a,Ul.push(ql),ql}};["success","warning","info","error"].forEach((function(e){Xl[e]=function(t){return("string"===typeof t||Object(_o["isVNode"])(t))&&(t={message:t}),t.type=e,Xl(t)}})),Xl.close=function(e,t){var i=-1,n=Ul.length,r=Ul.filter((function(t,n){return t.id===e&&(i=n,!0)}))[0];if(r&&("function"===typeof t&&t(r),Ul.splice(i,1),!(n<=1)))for(var a=r.position,s=r.dom.offsetHeight,o=i;o<n-1;o++)Ul[o].position===a&&(Ul[o].dom.style[r.verticalProperty]=parseInt(Ul[o].dom.style[r.verticalProperty],10)-s-16+"px")},Xl.closeAll=function(){for(var e=Ul.length-1;e>=0;e--)Ul[e].close()};var Gl=Xl,Yl=Gl,Zl=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-slider",class:{"is-vertical":e.vertical,"el-slider--with-input":e.showInput},attrs:{role:"slider","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-orientation":e.vertical?"vertical":"horizontal","aria-disabled":e.sliderDisabled}},[e.showInput&&!e.range?i("el-input-number",{ref:"input",staticClass:"el-slider__input",attrs:{step:e.step,disabled:e.sliderDisabled,controls:e.showInputControls,min:e.min,max:e.max,debounce:e.debounce,size:e.inputSize},on:{change:e.emitChange},model:{value:e.firstValue,callback:function(t){e.firstValue=t},expression:"firstValue"}}):e._e(),i("div",{ref:"slider",staticClass:"el-slider__runway",class:{"show-input":e.showInput,disabled:e.sliderDisabled},style:e.runwayStyle,on:{click:e.onSliderClick}},[i("div",{staticClass:"el-slider__bar",style:e.barStyle}),i("slider-button",{ref:"button1",attrs:{vertical:e.vertical,"tooltip-class":e.tooltipClass},model:{value:e.firstValue,callback:function(t){e.firstValue=t},expression:"firstValue"}}),e.range?i("slider-button",{ref:"button2",attrs:{vertical:e.vertical,"tooltip-class":e.tooltipClass},model:{value:e.secondValue,callback:function(t){e.secondValue=t},expression:"secondValue"}}):e._e(),e._l(e.stops,(function(t,n){return e.showStops?i("div",{key:n,staticClass:"el-slider__stop",style:e.getStopStyle(t)}):e._e()})),e.markList.length>0?[i("div",e._l(e.markList,(function(t,n){return i("div",{key:n,staticClass:"el-slider__stop el-slider__marks-stop",style:e.getStopStyle(t.position)})})),0),i("div",{staticClass:"el-slider__marks"},e._l(e.markList,(function(t,n){return i("slider-marker",{key:n,style:e.getStopStyle(t.position),attrs:{mark:t.mark}})})),1)]:e._e()],2)],1)},Jl=[];Zl._withStripped=!0;var Ql=i(41),eu=i.n(Ql),tu=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{ref:"button",staticClass:"el-slider__button-wrapper",class:{hover:e.hovering,dragging:e.dragging},style:e.wrapperStyle,attrs:{tabindex:"0"},on:{mouseenter:e.handleMouseEnter,mouseleave:e.handleMouseLeave,mousedown:e.onButtonDown,touchstart:e.onButtonDown,focus:e.handleMouseEnter,blur:e.handleMouseLeave,keydown:[function(t){return!("button"in t)&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:e.onLeftKeyDown(t)},function(t){return!("button"in t)&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:e.onRightKeyDown(t)},function(t){return!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.onLeftKeyDown(t))},function(t){return!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.onRightKeyDown(t))}]}},[i("el-tooltip",{ref:"tooltip",attrs:{placement:"top","popper-class":e.tooltipClass,disabled:!e.showTooltip}},[i("span",{attrs:{slot:"content"},slot:"content"},[e._v(e._s(e.formatValue))]),i("div",{staticClass:"el-slider__button",class:{hover:e.hovering,dragging:e.dragging}})])],1)},iu=[];tu._withStripped=!0;var nu={name:"ElSliderButton",components:{ElTooltip:rt.a},props:{value:{type:Number,default:0},vertical:{type:Boolean,default:!1},tooltipClass:String},data:function(){return{hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:null,oldValue:this.value}},computed:{disabled:function(){return this.$parent.sliderDisabled},max:function(){return this.$parent.max},min:function(){return this.$parent.min},step:function(){return this.$parent.step},showTooltip:function(){return this.$parent.showTooltip},precision:function(){return this.$parent.precision},currentPosition:function(){return(this.value-this.min)/(this.max-this.min)*100+"%"},enableFormat:function(){return this.$parent.formatTooltip instanceof Function},formatValue:function(){return this.enableFormat&&this.$parent.formatTooltip(this.value)||this.value},wrapperStyle:function(){return this.vertical?{bottom:this.currentPosition}:{left:this.currentPosition}}},watch:{dragging:function(e){this.$parent.dragging=e}},methods:{displayTooltip:function(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=!0)},hideTooltip:function(){this.$refs.tooltip&&(this.$refs.tooltip.showPopper=!1)},handleMouseEnter:function(){this.hovering=!0,this.displayTooltip()},handleMouseLeave:function(){this.hovering=!1,this.hideTooltip()},onButtonDown:function(e){this.disabled||(e.preventDefault(),this.onDragStart(e),window.addEventListener("mousemove",this.onDragging),window.addEventListener("touchmove",this.onDragging),window.addEventListener("mouseup",this.onDragEnd),window.addEventListener("touchend",this.onDragEnd),window.addEventListener("contextmenu",this.onDragEnd))},onLeftKeyDown:function(){this.disabled||(this.newPosition=parseFloat(this.currentPosition)-this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitChange())},onRightKeyDown:function(){this.disabled||(this.newPosition=parseFloat(this.currentPosition)+this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitChange())},onDragStart:function(e){this.dragging=!0,this.isClick=!0,"touchstart"===e.type&&(e.clientY=e.touches[0].clientY,e.clientX=e.touches[0].clientX),this.vertical?this.startY=e.clientY:this.startX=e.clientX,this.startPosition=parseFloat(this.currentPosition),this.newPosition=this.startPosition},onDragging:function(e){if(this.dragging){this.isClick=!1,this.displayTooltip(),this.$parent.resetSize();var t=0;"touchmove"===e.type&&(e.clientY=e.touches[0].clientY,e.clientX=e.touches[0].clientX),this.vertical?(this.currentY=e.clientY,t=(this.startY-this.currentY)/this.$parent.sliderSize*100):(this.currentX=e.clientX,t=(this.currentX-this.startX)/this.$parent.sliderSize*100),this.newPosition=this.startPosition+t,this.setPosition(this.newPosition)}},onDragEnd:function(){var e=this;this.dragging&&(setTimeout((function(){e.dragging=!1,e.hideTooltip(),e.isClick||(e.setPosition(e.newPosition),e.$parent.emitChange())}),0),window.removeEventListener("mousemove",this.onDragging),window.removeEventListener("touchmove",this.onDragging),window.removeEventListener("mouseup",this.onDragEnd),window.removeEventListener("touchend",this.onDragEnd),window.removeEventListener("contextmenu",this.onDragEnd))},setPosition:function(e){var t=this;if(null!==e&&!isNaN(e)){e<0?e=0:e>100&&(e=100);var i=100/((this.max-this.min)/this.step),n=Math.round(e/i),r=n*i*(this.max-this.min)*.01+this.min;r=parseFloat(r.toFixed(this.precision)),this.$emit("input",r),this.$nextTick((function(){t.displayTooltip(),t.$refs.tooltip&&t.$refs.tooltip.updatePopper()})),this.dragging||this.value===this.oldValue||(this.oldValue=this.value)}}}},ru=nu,au=o(ru,tu,iu,!1,null,null,null);au.options.__file="packages/slider/src/button.vue";var su=au.exports,ou={name:"ElMarker",props:{mark:{type:[String,Object]}},render:function(){var e=arguments[0],t="string"===typeof this.mark?this.mark:this.mark.label;return e("div",{class:"el-slider__marks-text",style:this.mark.style||{}},[t])}},cu={name:"ElSlider",mixins:[M.a],inject:{elForm:{default:""}},props:{min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},value:{type:[Number,Array],default:0},showInput:{type:Boolean,default:!1},showInputControls:{type:Boolean,default:!0},inputSize:{type:String,default:"small"},showStops:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!0},formatTooltip:Function,disabled:{type:Boolean,default:!1},range:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},height:{type:String},debounce:{type:Number,default:300},label:{type:String},tooltipClass:String,marks:Object},components:{ElInputNumber:eu.a,SliderButton:su,SliderMarker:ou},data:function(){return{firstValue:null,secondValue:null,oldValue:null,dragging:!1,sliderSize:1}},watch:{value:function(e,t){this.dragging||Array.isArray(e)&&Array.isArray(t)&&e.every((function(e,i){return e===t[i]}))||this.setValues()},dragging:function(e){e||this.setValues()},firstValue:function(e){this.range?this.$emit("input",[this.minValue,this.maxValue]):this.$emit("input",e)},secondValue:function(){this.range&&this.$emit("input",[this.minValue,this.maxValue])},min:function(){this.setValues()},max:function(){this.setValues()}},methods:{valueChanged:function(){var e=this;return this.range?![this.minValue,this.maxValue].every((function(t,i){return t===e.oldValue[i]})):this.value!==this.oldValue},setValues:function(){if(this.min>this.max)console.error("[Element Error][Slider]min should not be greater than max.");else{var e=this.value;this.range&&Array.isArray(e)?e[1]<this.min?this.$emit("input",[this.min,this.min]):e[0]>this.max?this.$emit("input",[this.max,this.max]):e[0]<this.min?this.$emit("input",[this.min,e[1]]):e[1]>this.max?this.$emit("input",[e[0],this.max]):(this.firstValue=e[0],this.secondValue=e[1],this.valueChanged()&&(this.dispatch("ElFormItem","el.form.change",[this.minValue,this.maxValue]),this.oldValue=e.slice())):this.range||"number"!==typeof e||isNaN(e)||(e<this.min?this.$emit("input",this.min):e>this.max?this.$emit("input",this.max):(this.firstValue=e,this.valueChanged()&&(this.dispatch("ElFormItem","el.form.change",e),this.oldValue=e)))}},setPosition:function(e){var t=this.min+e*(this.max-this.min)/100;if(this.range){var i=void 0;i=Math.abs(this.minValue-t)<Math.abs(this.maxValue-t)?this.firstValue<this.secondValue?"button1":"button2":this.firstValue>this.secondValue?"button1":"button2",this.$refs[i].setPosition(e)}else this.$refs.button1.setPosition(e)},onSliderClick:function(e){if(!this.sliderDisabled&&!this.dragging){if(this.resetSize(),this.vertical){var t=this.$refs.slider.getBoundingClientRect().bottom;this.setPosition((t-e.clientY)/this.sliderSize*100)}else{var i=this.$refs.slider.getBoundingClientRect().left;this.setPosition((e.clientX-i)/this.sliderSize*100)}this.emitChange()}},resetSize:function(){this.$refs.slider&&(this.sliderSize=this.$refs.slider["client"+(this.vertical?"Height":"Width")])},emitChange:function(){var e=this;this.$nextTick((function(){e.$emit("change",e.range?[e.minValue,e.maxValue]:e.value)}))},getStopStyle:function(e){return this.vertical?{bottom:e+"%"}:{left:e+"%"}}},computed:{stops:function(){var e=this;if(!this.showStops||this.min>this.max)return[];if(0===this.step)return[];for(var t=(this.max-this.min)/this.step,i=100*this.step/(this.max-this.min),n=[],r=1;r<t;r++)n.push(r*i);return this.range?n.filter((function(t){return t<100*(e.minValue-e.min)/(e.max-e.min)||t>100*(e.maxValue-e.min)/(e.max-e.min)})):n.filter((function(t){return t>100*(e.firstValue-e.min)/(e.max-e.min)}))},markList:function(){var e=this;if(!this.marks)return[];var t=Object.keys(this.marks);return t.map(parseFloat).sort((function(e,t){return e-t})).filter((function(t){return t<=e.max&&t>=e.min})).map((function(t){return{point:t,position:100*(t-e.min)/(e.max-e.min),mark:e.marks[t]}}))},minValue:function(){return Math.min(this.firstValue,this.secondValue)},maxValue:function(){return Math.max(this.firstValue,this.secondValue)},barSize:function(){return this.range?100*(this.maxValue-this.minValue)/(this.max-this.min)+"%":100*(this.firstValue-this.min)/(this.max-this.min)+"%"},barStart:function(){return this.range?100*(this.minValue-this.min)/(this.max-this.min)+"%":"0%"},precision:function(){var e=[this.min,this.max,this.step].map((function(e){var t=(""+e).split(".")[1];return t?t.length:0}));return Math.max.apply(null,e)},runwayStyle:function(){return this.vertical?{height:this.height}:{}},barStyle:function(){return this.vertical?{height:this.barSize,bottom:this.barStart}:{width:this.barSize,left:this.barStart}},sliderDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},mounted:function(){var e=void 0;this.range?(Array.isArray(this.value)?(this.firstValue=Math.max(this.min,this.value[0]),this.secondValue=Math.min(this.max,this.value[1])):(this.firstValue=this.min,this.secondValue=this.max),this.oldValue=[this.firstValue,this.secondValue],e=this.firstValue+"-"+this.secondValue):("number"!==typeof this.value||isNaN(this.value)?this.firstValue=this.min:this.firstValue=Math.min(this.max,Math.max(this.min,this.value)),this.oldValue=this.firstValue,e=this.firstValue),this.$el.setAttribute("aria-valuetext",e),this.$el.setAttribute("aria-label",this.label?this.label:"slider between "+this.min+" and "+this.max),this.resetSize(),window.addEventListener("resize",this.resetSize)},beforeDestroy:function(){window.removeEventListener("resize",this.resetSize)}},lu=cu,uu=o(lu,Zl,Jl,!1,null,null,null);uu.options.__file="packages/slider/src/main.vue";var hu=uu.exports;hu.install=function(e){e.component(hu.name,hu)};var du=hu,fu=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-loading-fade"},on:{"after-leave":e.handleAfterLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-loading-mask",class:[e.customClass,{"is-fullscreen":e.fullscreen}],style:{backgroundColor:e.background||""}},[i("div",{staticClass:"el-loading-spinner"},[e.spinner?i("i",{class:e.spinner}):i("svg",{staticClass:"circular",attrs:{viewBox:"25 25 50 50"}},[i("circle",{staticClass:"path",attrs:{cx:"50",cy:"50",r:"20",fill:"none"}})]),e.text?i("p",{staticClass:"el-loading-text"},[e._v(e._s(e.text))]):e._e()])])])},pu=[];fu._withStripped=!0;var mu={data:function(){return{text:null,spinner:null,background:null,fullscreen:!0,visible:!1,customClass:""}},methods:{handleAfterLeave:function(){this.$emit("after-leave")},setText:function(e){this.text=e}}},vu=mu,gu=o(vu,fu,pu,!1,null,null,null);gu.options.__file="packages/loading/src/loading.vue";var yu=gu.exports,bu=i(33),Cu=i.n(bu),Su=Kn.a.extend(yu),xu={install:function(e){if(!e.prototype.$isServer){var t=function(t,n){n.value?e.nextTick((function(){n.modifiers.fullscreen?(t.originalPosition=Object(Le["getStyle"])(document.body,"position"),t.originalOverflow=Object(Le["getStyle"])(document.body,"overflow"),t.maskStyle.zIndex=w["PopupManager"].nextZIndex(),Object(Le["addClass"])(t.mask,"is-fullscreen"),i(document.body,t,n)):(Object(Le["removeClass"])(t.mask,"is-fullscreen"),n.modifiers.body?(t.originalPosition=Object(Le["getStyle"])(document.body,"position"),["top","left"].forEach((function(e){var i="top"===e?"scrollTop":"scrollLeft";t.maskStyle[e]=t.getBoundingClientRect()[e]+document.body[i]+document.documentElement[i]-parseInt(Object(Le["getStyle"])(document.body,"margin-"+e),10)+"px"})),["height","width"].forEach((function(e){t.maskStyle[e]=t.getBoundingClientRect()[e]+"px"})),i(document.body,t,n)):(t.originalPosition=Object(Le["getStyle"])(t,"position"),i(t,t,n)))})):(Cu()(t.instance,(function(e){if(t.instance.hiding){t.domVisible=!1;var i=n.modifiers.fullscreen||n.modifiers.body?document.body:t;Object(Le["removeClass"])(i,"el-loading-parent--relative"),Object(Le["removeClass"])(i,"el-loading-parent--hidden"),t.instance.hiding=!1}}),300,!0),t.instance.visible=!1,t.instance.hiding=!0)},i=function(t,i,n){i.domVisible||"none"===Object(Le["getStyle"])(i,"display")||"hidden"===Object(Le["getStyle"])(i,"visibility")?i.domVisible&&!0===i.instance.hiding&&(i.instance.visible=!0,i.instance.hiding=!1):(Object.keys(i.maskStyle).forEach((function(e){i.mask.style[e]=i.maskStyle[e]})),"absolute"!==i.originalPosition&&"fixed"!==i.originalPosition&&Object(Le["addClass"])(t,"el-loading-parent--relative"),n.modifiers.fullscreen&&n.modifiers.lock&&Object(Le["addClass"])(t,"el-loading-parent--hidden"),i.domVisible=!0,t.appendChild(i.mask),e.nextTick((function(){i.instance.hiding?i.instance.$emit("after-leave"):i.instance.visible=!0})),i.domInserted=!0)};e.directive("loading",{bind:function(e,i,n){var r=e.getAttribute("element-loading-text"),a=e.getAttribute("element-loading-spinner"),s=e.getAttribute("element-loading-background"),o=e.getAttribute("element-loading-custom-class"),c=n.context,l=new Su({el:document.createElement("div"),data:{text:c&&c[r]||r,spinner:c&&c[a]||a,background:c&&c[s]||s,customClass:c&&c[o]||o,fullscreen:!!i.modifiers.fullscreen}});e.instance=l,e.mask=l.$el,e.maskStyle={},i.value&&t(e,i)},update:function(e,i){e.instance.setText(e.getAttribute("element-loading-text")),i.oldValue!==i.value&&t(e,i)},unbind:function(e,i){e.domInserted&&(e.mask&&e.mask.parentNode&&e.mask.parentNode.removeChild(e.mask),t(e,{value:!1,modifiers:i.modifiers})),e.instance&&e.instance.$destroy()}})}}},wu=xu,_u=Kn.a.extend(yu),Au={text:null,fullscreen:!0,body:!1,lock:!1,customClass:""},Eu=void 0;_u.prototype.originalPosition="",_u.prototype.originalOverflow="",_u.prototype.close=function(){var e=this;this.fullscreen&&(Eu=void 0),Cu()(this,(function(t){var i=e.fullscreen||e.body?document.body:e.target;Object(Le["removeClass"])(i,"el-loading-parent--relative"),Object(Le["removeClass"])(i,"el-loading-parent--hidden"),e.$el&&e.$el.parentNode&&e.$el.parentNode.removeChild(e.$el),e.$destroy()}),300),this.visible=!1};var ku=function(e,t,i){var n={};e.fullscreen?(i.originalPosition=Object(Le["getStyle"])(document.body,"position"),i.originalOverflow=Object(Le["getStyle"])(document.body,"overflow"),n.zIndex=w["PopupManager"].nextZIndex()):e.body?(i.originalPosition=Object(Le["getStyle"])(document.body,"position"),["top","left"].forEach((function(t){var i="top"===t?"scrollTop":"scrollLeft";n[t]=e.target.getBoundingClientRect()[t]+document.body[i]+document.documentElement[i]+"px"})),["height","width"].forEach((function(t){n[t]=e.target.getBoundingClientRect()[t]+"px"}))):i.originalPosition=Object(Le["getStyle"])(t,"position"),Object.keys(n).forEach((function(e){i.$el.style[e]=n[e]}))},Mu=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Kn.a.prototype.$isServer){if(e=At()({},Au,e),"string"===typeof e.target&&(e.target=document.querySelector(e.target)),e.target=e.target||document.body,e.target!==document.body?e.fullscreen=!1:e.body=!0,e.fullscreen&&Eu)return Eu;var t=e.body?document.body:e.target,i=new _u({el:document.createElement("div"),data:e});return ku(e,t,i),"absolute"!==i.originalPosition&&"fixed"!==i.originalPosition&&Object(Le["addClass"])(t,"el-loading-parent--relative"),e.fullscreen&&e.lock&&Object(Le["addClass"])(t,"el-loading-parent--hidden"),t.appendChild(i.$el),Kn.a.nextTick((function(){i.visible=!0})),e.fullscreen&&(Eu=i),i}},zu=Mu,Tu={install:function(e){e.use(wu),e.prototype.$loading=zu},directive:wu,service:zu},Iu=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("i",{class:"el-icon-"+e.name})},Nu=[];Iu._withStripped=!0;var Du={name:"ElIcon",props:{name:String}},Pu=Du,Ou=o(Pu,Iu,Nu,!1,null,null,null);Ou.options.__file="packages/icon/src/icon.vue";var Hu=Ou.exports;Hu.install=function(e){e.component(Hu.name,Hu)};var Fu=Hu,Lu={name:"ElRow",componentName:"ElRow",props:{tag:{type:String,default:"div"},gutter:Number,type:String,justify:{type:String,default:"start"},align:{type:String,default:"top"}},computed:{style:function(){var e={};return this.gutter&&(e.marginLeft="-"+this.gutter/2+"px",e.marginRight=e.marginLeft),e}},render:function(e){return e(this.tag,{class:["el-row","start"!==this.justify?"is-justify-"+this.justify:"","top"!==this.align?"is-align-"+this.align:"",{"el-row--flex":"flex"===this.type}],style:this.style},this.$slots.default)},install:function(e){e.component(Lu.name,Lu)}},Vu=Lu,Ru="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bu={name:"ElCol",props:{span:{type:Number,default:24},tag:{type:String,default:"div"},offset:Number,pull:Number,push:Number,xs:[Number,Object],sm:[Number,Object],md:[Number,Object],lg:[Number,Object],xl:[Number,Object]},computed:{gutter:function(){var e=this.$parent;while(e&&"ElRow"!==e.$options.componentName)e=e.$parent;return e?e.gutter:0}},render:function(e){var t=this,i=[],n={};return this.gutter&&(n.paddingLeft=this.gutter/2+"px",n.paddingRight=n.paddingLeft),["span","offset","pull","push"].forEach((function(e){(t[e]||0===t[e])&&i.push("span"!==e?"el-col-"+e+"-"+t[e]:"el-col-"+t[e])})),["xs","sm","md","lg","xl"].forEach((function(e){if("number"===typeof t[e])i.push("el-col-"+e+"-"+t[e]);else if("object"===Ru(t[e])){var n=t[e];Object.keys(n).forEach((function(t){i.push("span"!==t?"el-col-"+e+"-"+t+"-"+n[t]:"el-col-"+e+"-"+n[t])}))}})),e(this.tag,{class:["el-col",i],style:n},this.$slots.default)},install:function(e){e.component(Bu.name,Bu)}},ju=Bu,$u=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition-group",{class:["el-upload-list","el-upload-list--"+e.listType,{"is-disabled":e.disabled}],attrs:{tag:"ul",name:"el-list"}},e._l(e.files,(function(t){return i("li",{key:t.uid,class:["el-upload-list__item","is-"+t.status,e.focusing?"focusing":""],attrs:{tabindex:"0"},on:{keydown:function(i){if(!("button"in i)&&e._k(i.keyCode,"delete",[8,46],i.key,["Backspace","Delete","Del"]))return null;!e.disabled&&e.$emit("remove",t)},focus:function(t){e.focusing=!0},blur:function(t){e.focusing=!1},click:function(t){e.focusing=!1}}},[e._t("default",["uploading"!==t.status&&["picture-card","picture"].indexOf(e.listType)>-1?i("img",{staticClass:"el-upload-list__item-thumbnail",attrs:{src:t.url,alt:""}}):e._e(),i("a",{staticClass:"el-upload-list__item-name",on:{click:function(i){e.handleClick(t)}}},[i("i",{staticClass:"el-icon-document"}),e._v(e._s(t.name)+"\n      ")]),i("label",{staticClass:"el-upload-list__item-status-label"},[i("i",{class:{"el-icon-upload-success":!0,"el-icon-circle-check":"text"===e.listType,"el-icon-check":["picture-card","picture"].indexOf(e.listType)>-1}})]),e.disabled?e._e():i("i",{staticClass:"el-icon-close",on:{click:function(i){e.$emit("remove",t)}}}),e.disabled?e._e():i("i",{staticClass:"el-icon-close-tip"},[e._v(e._s(e.t("el.upload.deleteTip")))]),"uploading"===t.status?i("el-progress",{attrs:{type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:e.parsePercentage(t.percentage)}}):e._e(),"picture-card"===e.listType?i("span",{staticClass:"el-upload-list__item-actions"},[e.handlePreview&&"picture-card"===e.listType?i("span",{staticClass:"el-upload-list__item-preview",on:{click:function(i){e.handlePreview(t)}}},[i("i",{staticClass:"el-icon-zoom-in"})]):e._e(),e.disabled?e._e():i("span",{staticClass:"el-upload-list__item-delete",on:{click:function(i){e.$emit("remove",t)}}},[i("i",{staticClass:"el-icon-delete"})])]):e._e()],{file:t})],2)})),0)},Ku=[];$u._withStripped=!0;var qu=i(34),Uu=i.n(qu),Wu={name:"ElUploadList",mixins:[g.a],data:function(){return{focusing:!1}},components:{ElProgress:Uu.a},props:{files:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},handlePreview:Function,listType:String},methods:{parsePercentage:function(e){return parseInt(e,10)},handleClick:function(e){this.handlePreview&&this.handlePreview(e)}}},Xu=Wu,Gu=o(Xu,$u,Ku,!1,null,null,null);Gu.options.__file="packages/upload/src/upload-list.vue";var Yu=Gu.exports,Zu=i(24),Ju=i.n(Zu);function Qu(e,t,i){var n=void 0;n=i.response?""+(i.response.error||i.response):i.responseText?""+i.responseText:"fail to post "+e+" "+i.status;var r=new Error(n);return r.status=i.status,r.method="post",r.url=e,r}function eh(e){var t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(i){return t}}function th(e){if("undefined"!==typeof XMLHttpRequest){var t=new XMLHttpRequest,i=e.action;t.upload&&(t.upload.onprogress=function(t){t.total>0&&(t.percent=t.loaded/t.total*100),e.onProgress(t)});var n=new FormData;e.data&&Object.keys(e.data).forEach((function(t){n.append(t,e.data[t])})),n.append(e.filename,e.file,e.file.name),t.onerror=function(t){e.onError(t)},t.onload=function(){if(t.status<200||t.status>=300)return e.onError(Qu(i,e,t));e.onSuccess(eh(t))},t.open("post",i,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);var r=e.headers||{};for(var a in r)r.hasOwnProperty(a)&&null!==r[a]&&t.setRequestHeader(a,r[a]);return t.send(n),t}}var ih=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-upload-dragger",class:{"is-dragover":e.dragover},on:{drop:function(t){return t.preventDefault(),e.onDrop(t)},dragover:function(t){return t.preventDefault(),e.onDragover(t)},dragleave:function(t){t.preventDefault(),e.dragover=!1}}},[e._t("default")],2)},nh=[];ih._withStripped=!0;var rh={name:"ElUploadDrag",props:{disabled:Boolean},inject:{uploader:{default:""}},data:function(){return{dragover:!1}},methods:{onDragover:function(){this.disabled||(this.dragover=!0)},onDrop:function(e){if(!this.disabled&&this.uploader){var t=this.uploader.accept;this.dragover=!1,t?this.$emit("file",[].slice.call(e.dataTransfer.files).filter((function(e){var i=e.type,n=e.name,r=n.indexOf(".")>-1?"."+n.split(".").pop():"",a=i.replace(/\/.*$/,"");return t.split(",").map((function(e){return e.trim()})).filter((function(e){return e})).some((function(e){return/\..+$/.test(e)?r===e:/\/\*$/.test(e)?a===e.replace(/\/\*$/,""):!!/^[^\/]+\/[^\/]+$/.test(e)&&i===e}))}))):this.$emit("file",e.dataTransfer.files)}}}},ah=rh,sh=o(ah,ih,nh,!1,null,null,null);sh.options.__file="packages/upload/src/upload-dragger.vue";var oh,ch,lh=sh.exports,uh={inject:["uploader"],components:{UploadDragger:lh},props:{type:String,action:{type:String,required:!0},name:{type:String,default:"file"},data:Object,headers:Object,withCredentials:Boolean,multiple:Boolean,accept:String,onStart:Function,onProgress:Function,onSuccess:Function,onError:Function,beforeUpload:Function,drag:Boolean,onPreview:{type:Function,default:function(){}},onRemove:{type:Function,default:function(){}},fileList:Array,autoUpload:Boolean,listType:String,httpRequest:{type:Function,default:th},disabled:Boolean,limit:Number,onExceed:Function},data:function(){return{mouseover:!1,reqs:{}}},methods:{isImage:function(e){return-1!==e.indexOf("image")},handleChange:function(e){var t=e.target.files;t&&this.uploadFiles(t)},uploadFiles:function(e){var t=this;if(this.limit&&this.fileList.length+e.length>this.limit)this.onExceed&&this.onExceed(e,this.fileList);else{var i=Array.prototype.slice.call(e);this.multiple||(i=i.slice(0,1)),0!==i.length&&i.forEach((function(e){t.onStart(e),t.autoUpload&&t.upload(e)}))}},upload:function(e){var t=this;if(this.$refs.input.value=null,!this.beforeUpload)return this.post(e);var i=this.beforeUpload(e);i&&i.then?i.then((function(i){var n=Object.prototype.toString.call(i);if("[object File]"===n||"[object Blob]"===n){for(var r in"[object Blob]"===n&&(i=new File([i],e.name,{type:e.type})),e)e.hasOwnProperty(r)&&(i[r]=e[r]);t.post(i)}else t.post(e)}),(function(){t.onRemove(null,e)})):!1!==i?this.post(e):this.onRemove(null,e)},abort:function(e){var t=this.reqs;if(e){var i=e;e.uid&&(i=e.uid),t[i]&&t[i].abort()}else Object.keys(t).forEach((function(e){t[e]&&t[e].abort(),delete t[e]}))},post:function(e){var t=this,i=e.uid,n={headers:this.headers,withCredentials:this.withCredentials,file:e,data:this.data,filename:this.name,action:this.action,onProgress:function(i){t.onProgress(i,e)},onSuccess:function(n){t.onSuccess(n,e),delete t.reqs[i]},onError:function(n){t.onError(n,e),delete t.reqs[i]}},r=this.httpRequest(n);this.reqs[i]=r,r&&r.then&&r.then(n.onSuccess,n.onError)},handleClick:function(){this.disabled||(this.$refs.input.value=null,this.$refs.input.click())},handleKeydown:function(e){e.target===e.currentTarget&&(13!==e.keyCode&&32!==e.keyCode||this.handleClick())}},render:function(e){var t=this.handleClick,i=this.drag,n=this.name,r=this.handleChange,a=this.multiple,s=this.accept,o=this.listType,c=this.uploadFiles,l=this.disabled,u=this.handleKeydown,h={class:{"el-upload":!0},on:{click:t,keydown:u}};return h.class["el-upload--"+o]=!0,e("div",Ju()([h,{attrs:{tabindex:"0"}}]),[i?e("upload-dragger",{attrs:{disabled:l},on:{file:c}},[this.$slots.default]):this.$slots.default,e("input",{class:"el-upload__input",attrs:{type:"file",name:n,multiple:a,accept:s},ref:"input",on:{change:r}})])}},hh=uh,dh=o(hh,oh,ch,!1,null,null,null);dh.options.__file="packages/upload/src/upload.vue";var fh=dh.exports;function ph(){}var mh,vh,gh={name:"ElUpload",mixins:[E.a],components:{ElProgress:Uu.a,UploadList:Yu,Upload:fh},provide:function(){return{uploader:this}},inject:{elForm:{default:""}},props:{action:{type:String,required:!0},headers:{type:Object,default:function(){return{}}},data:Object,multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,dragger:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:String,type:{type:String,default:"select"},beforeUpload:Function,beforeRemove:Function,onRemove:{type:Function,default:ph},onChange:{type:Function,default:ph},onPreview:{type:Function},onSuccess:{type:Function,default:ph},onProgress:{type:Function,default:ph},onError:{type:Function,default:ph},fileList:{type:Array,default:function(){return[]}},autoUpload:{type:Boolean,default:!0},listType:{type:String,default:"text"},httpRequest:Function,disabled:Boolean,limit:Number,onExceed:{type:Function,default:ph}},data:function(){return{uploadFiles:[],dragOver:!1,draging:!1,tempIndex:1}},computed:{uploadDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{listType:function(e){"picture-card"!==e&&"picture"!==e||(this.uploadFiles=this.uploadFiles.map((function(e){if(!e.url&&e.raw)try{e.url=URL.createObjectURL(e.raw)}catch(t){console.error("[Element Error][Upload]",t)}return e})))},fileList:{immediate:!0,handler:function(e){var t=this;this.uploadFiles=e.map((function(e){return e.uid=e.uid||Date.now()+t.tempIndex++,e.status=e.status||"success",e}))}}},methods:{handleStart:function(e){e.uid=Date.now()+this.tempIndex++;var t={status:"ready",name:e.name,size:e.size,percentage:0,uid:e.uid,raw:e};if("picture-card"===this.listType||"picture"===this.listType)try{t.url=URL.createObjectURL(e)}catch(i){return void console.error("[Element Error][Upload]",i)}this.uploadFiles.push(t),this.onChange(t,this.uploadFiles)},handleProgress:function(e,t){var i=this.getFile(t);this.onProgress(e,i,this.uploadFiles),i.status="uploading",i.percentage=e.percent||0},handleSuccess:function(e,t){var i=this.getFile(t);i&&(i.status="success",i.response=e,this.onSuccess(e,i,this.uploadFiles),this.onChange(i,this.uploadFiles))},handleError:function(e,t){var i=this.getFile(t),n=this.uploadFiles;i.status="fail",n.splice(n.indexOf(i),1),this.onError(e,i,this.uploadFiles),this.onChange(i,this.uploadFiles)},handleRemove:function(e,t){var i=this;t&&(e=this.getFile(t));var n=function(){i.abort(e);var t=i.uploadFiles;t.splice(t.indexOf(e),1),i.onRemove(e,t)};if(this.beforeRemove){if("function"===typeof this.beforeRemove){var r=this.beforeRemove(e,this.uploadFiles);r&&r.then?r.then((function(){n()}),ph):!1!==r&&n()}}else n()},getFile:function(e){var t=this.uploadFiles,i=void 0;return t.every((function(t){return i=e.uid===t.uid?t:null,!i})),i},abort:function(e){this.$refs["upload-inner"].abort(e)},clearFiles:function(){this.uploadFiles=[]},submit:function(){var e=this;this.uploadFiles.filter((function(e){return"ready"===e.status})).forEach((function(t){e.$refs["upload-inner"].upload(t.raw)}))},getMigratingConfig:function(){return{props:{"default-file-list":"default-file-list is renamed to file-list.","show-upload-list":"show-upload-list is renamed to show-file-list.","thumbnail-mode":"thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan"}}}},beforeDestroy:function(){this.uploadFiles.forEach((function(e){e.url&&0===e.url.indexOf("blob:")&&URL.revokeObjectURL(e.url)}))},render:function(e){var t=this,i=void 0;this.showFileList&&(i=e(Yu,{attrs:{disabled:this.uploadDisabled,listType:this.listType,files:this.uploadFiles,handlePreview:this.onPreview},on:{remove:this.handleRemove}},[function(e){if(t.$scopedSlots.file)return t.$scopedSlots.file({file:e.file})}]));var n={props:{type:this.type,drag:this.drag,action:this.action,multiple:this.multiple,"before-upload":this.beforeUpload,"with-credentials":this.withCredentials,headers:this.headers,name:this.name,data:this.data,accept:this.accept,fileList:this.uploadFiles,autoUpload:this.autoUpload,listType:this.listType,disabled:this.uploadDisabled,limit:this.limit,"on-exceed":this.onExceed,"on-start":this.handleStart,"on-progress":this.handleProgress,"on-success":this.handleSuccess,"on-error":this.handleError,"on-preview":this.onPreview,"on-remove":this.handleRemove,"http-request":this.httpRequest},ref:"upload-inner"},r=this.$slots.trigger||this.$slots.default,a=e("upload",n,[r]);return e("div",["picture-card"===this.listType?i:"",this.$slots.trigger?[a,this.$slots.default]:a,this.$slots.tip,"picture-card"!==this.listType?i:""])}},yh=gh,bh=o(yh,mh,vh,!1,null,null,null);bh.options.__file="packages/upload/src/index.vue";var Ch=bh.exports;Ch.install=function(e){e.component(Ch.name,Ch)};var Sh=Ch,xh=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-progress",class:["el-progress--"+e.type,e.status?"is-"+e.status:"",{"el-progress--without-text":!e.showText,"el-progress--text-inside":e.textInside}],attrs:{role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"}},["line"===e.type?i("div",{staticClass:"el-progress-bar"},[i("div",{staticClass:"el-progress-bar__outer",style:{height:e.strokeWidth+"px"}},[i("div",{staticClass:"el-progress-bar__inner",style:e.barStyle},[e.showText&&e.textInside?i("div",{staticClass:"el-progress-bar__innerText"},[e._v(e._s(e.content))]):e._e()])])]):i("div",{staticClass:"el-progress-circle",style:{height:e.width+"px",width:e.width+"px"}},[i("svg",{attrs:{viewBox:"0 0 100 100"}},[i("path",{staticClass:"el-progress-circle__track",style:e.trailPathStyle,attrs:{d:e.trackPath,stroke:"#e5e9f2","stroke-width":e.relativeStrokeWidth,fill:"none"}}),i("path",{staticClass:"el-progress-circle__path",style:e.circlePathStyle,attrs:{d:e.trackPath,stroke:e.stroke,fill:"none","stroke-linecap":e.strokeLinecap,"stroke-width":e.percentage?e.relativeStrokeWidth:0}})])]),e.showText&&!e.textInside?i("div",{staticClass:"el-progress__text",style:{fontSize:e.progressTextSize+"px"}},[e.status?i("i",{class:e.iconClass}):[e._v(e._s(e.content))]],2):e._e()])},wh=[];xh._withStripped=!0;var _h={name:"ElProgress",props:{type:{type:String,default:"line",validator:function(e){return["line","circle","dashboard"].indexOf(e)>-1}},percentage:{type:Number,default:0,required:!0,validator:function(e){return e>=0&&e<=100}},status:{type:String,validator:function(e){return["success","exception","warning"].indexOf(e)>-1}},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},format:Function},computed:{barStyle:function(){var e={};return e.width=this.percentage+"%",e.backgroundColor=this.getCurrentColor(this.percentage),e},relativeStrokeWidth:function(){return(this.strokeWidth/this.width*100).toFixed(1)},radius:function(){return"circle"===this.type||"dashboard"===this.type?parseInt(50-parseFloat(this.relativeStrokeWidth)/2,10):0},trackPath:function(){var e=this.radius,t="dashboard"===this.type;return"\n        M 50 50\n        m 0 "+(t?"":"-")+e+"\n        a "+e+" "+e+" 0 1 1 0 "+(t?"-":"")+2*e+"\n        a "+e+" "+e+" 0 1 1 0 "+(t?"":"-")+2*e+"\n        "},perimeter:function(){return 2*Math.PI*this.radius},rate:function(){return"dashboard"===this.type?.75:1},strokeDashoffset:function(){var e=-1*this.perimeter*(1-this.rate)/2;return e+"px"},trailPathStyle:function(){return{strokeDasharray:this.perimeter*this.rate+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset}},circlePathStyle:function(){return{strokeDasharray:this.perimeter*this.rate*(this.percentage/100)+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease"}},stroke:function(){var e=void 0;if(this.color)e=this.getCurrentColor(this.percentage);else switch(this.status){case"success":e="#13ce66";break;case"exception":e="#ff4949";break;case"warning":e="#e6a23c";break;default:e="#20a0ff"}return e},iconClass:function(){return"warning"===this.status?"el-icon-warning":"line"===this.type?"success"===this.status?"el-icon-circle-check":"el-icon-circle-close":"success"===this.status?"el-icon-check":"el-icon-close"},progressTextSize:function(){return"line"===this.type?12+.4*this.strokeWidth:.111111*this.width+2},content:function(){return"function"===typeof this.format?this.format(this.percentage)||"":this.percentage+"%"}},methods:{getCurrentColor:function(e){return"function"===typeof this.color?this.color(e):"string"===typeof this.color?this.color:this.getLevelColor(e)},getLevelColor:function(e){for(var t=this.getColorArray().sort((function(e,t){return e.percentage-t.percentage})),i=0;i<t.length;i++)if(t[i].percentage>e)return t[i].color;return t[t.length-1].color},getColorArray:function(){var e=this.color,t=100/e.length;return e.map((function(e,i){return"string"===typeof e?{color:e,progress:(i+1)*t}:e}))}}},Ah=_h,Eh=o(Ah,xh,wh,!1,null,null,null);Eh.options.__file="packages/progress/src/progress.vue";var kh=Eh.exports;kh.install=function(e){e.component(kh.name,kh)};var Mh=kh,zh=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"el-spinner"},[i("svg",{staticClass:"el-spinner-inner",style:{width:e.radius/2+"px",height:e.radius/2+"px"},attrs:{viewBox:"0 0 50 50"}},[i("circle",{staticClass:"path",attrs:{cx:"25",cy:"25",r:"20",fill:"none",stroke:e.strokeColor,"stroke-width":e.strokeWidth}})])])},Th=[];zh._withStripped=!0;var Ih={name:"ElSpinner",props:{type:String,radius:{type:Number,default:100},strokeWidth:{type:Number,default:5},strokeColor:{type:String,default:"#efefef"}}},Nh=Ih,Dh=o(Nh,zh,Th,!1,null,null,null);Dh.options.__file="packages/spinner/src/spinner.vue";var Ph=Dh.exports;Ph.install=function(e){e.component(Ph.name,Ph)};var Oh=Ph,Hh=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-message-fade"},on:{"after-leave":e.handleAfterLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],class:["el-message",e.type&&!e.iconClass?"el-message--"+e.type:"",e.center?"is-center":"",e.showClose?"is-closable":"",e.customClass],style:e.positionStyle,attrs:{role:"alert"},on:{mouseenter:e.clearTimer,mouseleave:e.startTimer}},[e.iconClass?i("i",{class:e.iconClass}):i("i",{class:e.typeClass}),e._t("default",[e.dangerouslyUseHTMLString?i("p",{staticClass:"el-message__content",domProps:{innerHTML:e._s(e.message)}}):i("p",{staticClass:"el-message__content"},[e._v(e._s(e.message))])]),e.showClose?i("i",{staticClass:"el-message__closeBtn el-icon-close",on:{click:e.close}}):e._e()],2)])},Fh=[];Hh._withStripped=!0;var Lh={success:"success",info:"info",warning:"warning",error:"error"},Vh={data:function(){return{visible:!1,message:"",duration:3e3,type:"info",iconClass:"",customClass:"",onClose:null,showClose:!1,closed:!1,verticalOffset:20,timer:null,dangerouslyUseHTMLString:!1,center:!1}},computed:{typeClass:function(){return this.type&&!this.iconClass?"el-message__icon el-icon-"+Lh[this.type]:""},positionStyle:function(){return{top:this.verticalOffset+"px"}}},watch:{closed:function(e){e&&(this.visible=!1)}},methods:{handleAfterLeave:function(){this.$destroy(!0),this.$el.parentNode.removeChild(this.$el)},close:function(){this.closed=!0,"function"===typeof this.onClose&&this.onClose(this)},clearTimer:function(){clearTimeout(this.timer)},startTimer:function(){var e=this;this.duration>0&&(this.timer=setTimeout((function(){e.closed||e.close()}),this.duration))},keydown:function(e){27===e.keyCode&&(this.closed||this.close())}},mounted:function(){this.startTimer(),document.addEventListener("keydown",this.keydown)},beforeDestroy:function(){document.removeEventListener("keydown",this.keydown)}},Rh=Vh,Bh=o(Rh,Hh,Fh,!1,null,null,null);Bh.options.__file="packages/message/src/main.vue";var jh=Bh.exports,$h=Kn.a.extend(jh),Kh=void 0,qh=[],Uh=1,Wh=function e(t){if(!Kn.a.prototype.$isServer){t=t||{},"string"===typeof t&&(t={message:t});var i=t.onClose,n="message_"+Uh++;t.onClose=function(){e.close(n,i)},Kh=new $h({data:t}),Kh.id=n,Object(_o["isVNode"])(Kh.message)&&(Kh.$slots.default=[Kh.message],Kh.message=null),Kh.$mount(),document.body.appendChild(Kh.$el);var r=t.offset||20;return qh.forEach((function(e){r+=e.$el.offsetHeight+16})),Kh.verticalOffset=r,Kh.visible=!0,Kh.$el.style.zIndex=w["PopupManager"].nextZIndex(),qh.push(Kh),Kh}};["success","warning","info","error"].forEach((function(e){Wh[e]=function(t){return"string"===typeof t&&(t={message:t}),t.type=e,Wh(t)}})),Wh.close=function(e,t){for(var i=qh.length,n=-1,r=void 0,a=0;a<i;a++)if(e===qh[a].id){r=qh[a].$el.offsetHeight,n=a,"function"===typeof t&&t(qh[a]),qh.splice(a,1);break}if(!(i<=1||-1===n||n>qh.length-1))for(var s=n;s<i-1;s++){var o=qh[s].$el;o.style["top"]=parseInt(o.style["top"],10)-r-16+"px"}},Wh.closeAll=function(){for(var e=qh.length-1;e>=0;e--)qh[e].close()};var Xh=Wh,Gh=Xh,Yh=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-badge"},[e._t("default"),i("transition",{attrs:{name:"el-zoom-in-center"}},[i("sup",{directives:[{name:"show",rawName:"v-show",value:!e.hidden&&(e.content||0===e.content||e.isDot),expression:"!hidden && (content || content === 0 || isDot)"}],staticClass:"el-badge__content",class:["el-badge__content--"+e.type,{"is-fixed":e.$slots.default,"is-dot":e.isDot}],domProps:{textContent:e._s(e.content)}})])],2)},Zh=[];Yh._withStripped=!0;var Jh={name:"ElBadge",props:{value:[String,Number],max:Number,isDot:Boolean,hidden:Boolean,type:{type:String,validator:function(e){return["primary","success","warning","info","danger"].indexOf(e)>-1}}},computed:{content:function(){if(!this.isDot){var e=this.value,t=this.max;return"number"===typeof e&&"number"===typeof t&&t<e?t+"+":e}}}},Qh=Jh,ed=o(Qh,Yh,Zh,!1,null,null,null);ed.options.__file="packages/badge/src/main.vue";var td=ed.exports;td.install=function(e){e.component(td.name,td)};var id=td,nd=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-card",class:e.shadow?"is-"+e.shadow+"-shadow":"is-always-shadow"},[e.$slots.header||e.header?i("div",{staticClass:"el-card__header"},[e._t("header",[e._v(e._s(e.header))])],2):e._e(),i("div",{staticClass:"el-card__body",style:e.bodyStyle},[e._t("default")],2)])},rd=[];nd._withStripped=!0;var ad={name:"ElCard",props:{header:{},bodyStyle:{},shadow:{type:String}}},sd=ad,od=o(sd,nd,rd,!1,null,null,null);od.options.__file="packages/card/src/main.vue";var cd=od.exports;cd.install=function(e){e.component(cd.name,cd)};var ld=cd,ud=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-rate",attrs:{role:"slider","aria-valuenow":e.currentValue,"aria-valuetext":e.text,"aria-valuemin":"0","aria-valuemax":e.max,tabindex:"0"},on:{keydown:e.handleKey}},[e._l(e.max,(function(t,n){return i("span",{key:n,staticClass:"el-rate__item",style:{cursor:e.rateDisabled?"auto":"pointer"},on:{mousemove:function(i){e.setCurrentValue(t,i)},mouseleave:e.resetCurrentValue,click:function(i){e.selectValue(t)}}},[i("i",{staticClass:"el-rate__icon",class:[e.classes[t-1],{hover:e.hoverIndex===t}],style:e.getIconStyle(t)},[e.showDecimalIcon(t)?i("i",{staticClass:"el-rate__decimal",class:e.decimalIconClass,style:e.decimalStyle}):e._e()])])})),e.showText||e.showScore?i("span",{staticClass:"el-rate__text",style:{color:e.textColor}},[e._v(e._s(e.text))]):e._e()],2)},hd=[];ud._withStripped=!0;var dd=i(18),fd={name:"ElRate",mixins:[E.a],inject:{elForm:{default:""}},data:function(){return{pointerAtLeftHalf:!0,currentValue:this.value,hoverIndex:-1}},props:{value:{type:Number,default:0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:[Array,Object],default:function(){return["#F7BA2A","#F7BA2A","#F7BA2A"]}},voidColor:{type:String,default:"#C6D1DE"},disabledVoidColor:{type:String,default:"#EFF2F7"},iconClasses:{type:[Array,Object],default:function(){return["el-icon-star-on","el-icon-star-on","el-icon-star-on"]}},voidIconClass:{type:String,default:"el-icon-star-off"},disabledVoidIconClass:{type:String,default:"el-icon-star-on"},disabled:{type:Boolean,default:!1},allowHalf:{type:Boolean,default:!1},showText:{type:Boolean,default:!1},showScore:{type:Boolean,default:!1},textColor:{type:String,default:"#1f2d3d"},texts:{type:Array,default:function(){return["极差","失望","一般","满意","惊喜"]}},scoreTemplate:{type:String,default:"{value}"}},computed:{text:function(){var e="";return this.showScore?e=this.scoreTemplate.replace(/\{\s*value\s*\}/,this.rateDisabled?this.value:this.currentValue):this.showText&&(e=this.texts[Math.ceil(this.currentValue)-1]),e},decimalStyle:function(){var e="";return this.rateDisabled?e=this.valueDecimal+"%":this.allowHalf&&(e="50%"),{color:this.activeColor,width:e}},valueDecimal:function(){return 100*this.value-100*Math.floor(this.value)},classMap:function(){var e;return Array.isArray(this.iconClasses)?(e={},e[this.lowThreshold]=this.iconClasses[0],e[this.highThreshold]={value:this.iconClasses[1],excluded:!0},e[this.max]=this.iconClasses[2],e):this.iconClasses},decimalIconClass:function(){return this.getValueFromMap(this.value,this.classMap)},voidClass:function(){return this.rateDisabled?this.disabledVoidIconClass:this.voidIconClass},activeClass:function(){return this.getValueFromMap(this.currentValue,this.classMap)},colorMap:function(){var e;return Array.isArray(this.colors)?(e={},e[this.lowThreshold]=this.colors[0],e[this.highThreshold]={value:this.colors[1],excluded:!0},e[this.max]=this.colors[2],e):this.colors},activeColor:function(){return this.getValueFromMap(this.currentValue,this.colorMap)},classes:function(){var e=[],t=0,i=this.currentValue;for(this.allowHalf&&this.currentValue!==Math.floor(this.currentValue)&&i--;t<i;t++)e.push(this.activeClass);for(;t<this.max;t++)e.push(this.voidClass);return e},rateDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{value:function(e){this.currentValue=e,this.pointerAtLeftHalf=this.value!==Math.floor(this.value)}},methods:{getMigratingConfig:function(){return{props:{"text-template":"text-template is renamed to score-template."}}},getValueFromMap:function(e,t){var i=Object.keys(t).filter((function(i){var n=t[i],r=!!Object(dd["isObject"])(n)&&n.excluded;return r?e<i:e<=i})).sort((function(e,t){return e-t})),n=t[i[0]];return Object(dd["isObject"])(n)?n.value:n||""},showDecimalIcon:function(e){var t=this.rateDisabled&&this.valueDecimal>0&&e-1<this.value&&e>this.value,i=this.allowHalf&&this.pointerAtLeftHalf&&e-.5<=this.currentValue&&e>this.currentValue;return t||i},getIconStyle:function(e){var t=this.rateDisabled?this.disabledVoidColor:this.voidColor;return{color:e<=this.currentValue?this.activeColor:t}},selectValue:function(e){this.rateDisabled||(this.allowHalf&&this.pointerAtLeftHalf?(this.$emit("input",this.currentValue),this.$emit("change",this.currentValue)):(this.$emit("input",e),this.$emit("change",e)))},handleKey:function(e){if(!this.rateDisabled){var t=this.currentValue,i=e.keyCode;38===i||39===i?(this.allowHalf?t+=.5:t+=1,e.stopPropagation(),e.preventDefault()):37!==i&&40!==i||(this.allowHalf?t-=.5:t-=1,e.stopPropagation(),e.preventDefault()),t=t<0?0:t,t=t>this.max?this.max:t,this.$emit("input",t),this.$emit("change",t)}},setCurrentValue:function(e,t){if(!this.rateDisabled){if(this.allowHalf){var i=t.target;Object(Le["hasClass"])(i,"el-rate__item")&&(i=i.querySelector(".el-rate__icon")),Object(Le["hasClass"])(i,"el-rate__decimal")&&(i=i.parentNode),this.pointerAtLeftHalf=2*t.offsetX<=i.clientWidth,this.currentValue=this.pointerAtLeftHalf?e-.5:e}else this.currentValue=e;this.hoverIndex=e}},resetCurrentValue:function(){this.rateDisabled||(this.allowHalf&&(this.pointerAtLeftHalf=this.value!==Math.floor(this.value)),this.currentValue=this.value,this.hoverIndex=-1)}},created:function(){this.value||this.$emit("input",0)}},pd=fd,md=o(pd,ud,hd,!1,null,null,null);md.options.__file="packages/rate/src/main.vue";var vd=md.exports;vd.install=function(e){e.component(vd.name,vd)};var gd=vd,yd=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-steps",class:[!e.simple&&"el-steps--"+e.direction,e.simple&&"el-steps--simple"]},[e._t("default")],2)},bd=[];yd._withStripped=!0;var Cd={name:"ElSteps",mixins:[E.a],props:{space:[Number,String],active:Number,direction:{type:String,default:"horizontal"},alignCenter:Boolean,simple:Boolean,finishStatus:{type:String,default:"finish"},processStatus:{type:String,default:"process"}},data:function(){return{steps:[],stepOffset:0}},methods:{getMigratingConfig:function(){return{props:{center:"center is removed."}}}},watch:{active:function(e,t){this.$emit("change",e,t)},steps:function(e){e.forEach((function(e,t){e.index=t}))}}},Sd=Cd,xd=o(Sd,yd,bd,!1,null,null,null);xd.options.__file="packages/steps/src/steps.vue";var wd=xd.exports;wd.install=function(e){e.component(wd.name,wd)};var _d=wd,Ad=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-step",class:[!e.isSimple&&"is-"+e.$parent.direction,e.isSimple&&"is-simple",e.isLast&&!e.space&&!e.isCenter&&"is-flex",e.isCenter&&!e.isVertical&&!e.isSimple&&"is-center"],style:e.style},[i("div",{staticClass:"el-step__head",class:"is-"+e.currentStatus},[i("div",{staticClass:"el-step__line",style:e.isLast?"":{marginRight:e.$parent.stepOffset+"px"}},[i("i",{staticClass:"el-step__line-inner",style:e.lineStyle})]),i("div",{staticClass:"el-step__icon",class:"is-"+(e.icon?"icon":"text")},["success"!==e.currentStatus&&"error"!==e.currentStatus?e._t("icon",[e.icon?i("i",{staticClass:"el-step__icon-inner",class:[e.icon]}):e._e(),e.icon||e.isSimple?e._e():i("div",{staticClass:"el-step__icon-inner"},[e._v(e._s(e.index+1))])]):i("i",{staticClass:"el-step__icon-inner is-status",class:["el-icon-"+("success"===e.currentStatus?"check":"close")]})],2)]),i("div",{staticClass:"el-step__main"},[i("div",{ref:"title",staticClass:"el-step__title",class:["is-"+e.currentStatus]},[e._t("title",[e._v(e._s(e.title))])],2),e.isSimple?i("div",{staticClass:"el-step__arrow"}):i("div",{staticClass:"el-step__description",class:["is-"+e.currentStatus]},[e._t("description",[e._v(e._s(e.description))])],2)])])},Ed=[];Ad._withStripped=!0;var kd={name:"ElStep",props:{title:String,icon:String,description:String,status:String},data:function(){return{index:-1,lineStyle:{},internalStatus:""}},beforeCreate:function(){this.$parent.steps.push(this)},beforeDestroy:function(){var e=this.$parent.steps,t=e.indexOf(this);t>=0&&e.splice(t,1)},computed:{currentStatus:function(){return this.status||this.internalStatus},prevStatus:function(){var e=this.$parent.steps[this.index-1];return e?e.currentStatus:"wait"},isCenter:function(){return this.$parent.alignCenter},isVertical:function(){return"vertical"===this.$parent.direction},isSimple:function(){return this.$parent.simple},isLast:function(){var e=this.$parent;return e.steps[e.steps.length-1]===this},stepsCount:function(){return this.$parent.steps.length},space:function(){var e=this.isSimple,t=this.$parent.space;return e?"":t},style:function(){var e={},t=this.$parent,i=t.steps.length,n="number"===typeof this.space?this.space+"px":this.space?this.space:100/(i-(this.isCenter?0:1))+"%";return e.flexBasis=n,this.isVertical||(this.isLast?e.maxWidth=100/this.stepsCount+"%":e.marginRight=-this.$parent.stepOffset+"px"),e}},methods:{updateStatus:function(e){var t=this.$parent.$children[this.index-1];e>this.index?this.internalStatus=this.$parent.finishStatus:e===this.index&&"error"!==this.prevStatus?this.internalStatus=this.$parent.processStatus:this.internalStatus="wait",t&&t.calcProgress(this.internalStatus)},calcProgress:function(e){var t=100,i={};i.transitionDelay=150*this.index+"ms",e===this.$parent.processStatus?(this.currentStatus,t=0):"wait"===e&&(t=0,i.transitionDelay=-150*this.index+"ms"),i.borderWidth=t&&!this.isSimple?"1px":0,"vertical"===this.$parent.direction?i.height=t+"%":i.width=t+"%",this.lineStyle=i}},mounted:function(){var e=this,t=this.$watch("index",(function(i){e.$watch("$parent.active",e.updateStatus,{immediate:!0}),e.$watch("$parent.processStatus",(function(){var t=e.$parent.active;e.updateStatus(t)}),{immediate:!0}),t()}))}},Md=kd,zd=o(Md,Ad,Ed,!1,null,null,null);zd.options.__file="packages/steps/src/step.vue";var Td=zd.exports;Td.install=function(e){e.component(Td.name,Td)};var Id=Td,Nd=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:e.carouselClasses,on:{mouseenter:function(t){return t.stopPropagation(),e.handleMouseEnter(t)},mouseleave:function(t){return t.stopPropagation(),e.handleMouseLeave(t)}}},[i("div",{staticClass:"el-carousel__container",style:{height:e.height}},[e.arrowDisplay?i("transition",{attrs:{name:"carousel-arrow-left"}},[i("button",{directives:[{name:"show",rawName:"v-show",value:("always"===e.arrow||e.hover)&&(e.loop||e.activeIndex>0),expression:"(arrow === 'always' || hover) && (loop || activeIndex > 0)"}],staticClass:"el-carousel__arrow el-carousel__arrow--left",attrs:{type:"button"},on:{mouseenter:function(t){e.handleButtonEnter("left")},mouseleave:e.handleButtonLeave,click:function(t){t.stopPropagation(),e.throttledArrowClick(e.activeIndex-1)}}},[i("i",{staticClass:"el-icon-arrow-left"})])]):e._e(),e.arrowDisplay?i("transition",{attrs:{name:"carousel-arrow-right"}},[i("button",{directives:[{name:"show",rawName:"v-show",value:("always"===e.arrow||e.hover)&&(e.loop||e.activeIndex<e.items.length-1),expression:"(arrow === 'always' || hover) && (loop || activeIndex < items.length - 1)"}],staticClass:"el-carousel__arrow el-carousel__arrow--right",attrs:{type:"button"},on:{mouseenter:function(t){e.handleButtonEnter("right")},mouseleave:e.handleButtonLeave,click:function(t){t.stopPropagation(),e.throttledArrowClick(e.activeIndex+1)}}},[i("i",{staticClass:"el-icon-arrow-right"})])]):e._e(),e._t("default")],2),"none"!==e.indicatorPosition?i("ul",{class:e.indicatorsClasses},e._l(e.items,(function(t,n){return i("li",{key:n,class:["el-carousel__indicator","el-carousel__indicator--"+e.direction,{"is-active":n===e.activeIndex}],on:{mouseenter:function(t){e.throttledIndicatorHover(n)},click:function(t){t.stopPropagation(),e.handleIndicatorClick(n)}}},[i("button",{staticClass:"el-carousel__button"},[e.hasLabel?i("span",[e._v(e._s(t.label))]):e._e()])])})),0):e._e()])},Dd=[];Nd._withStripped=!0;var Pd=i(25),Od=i.n(Pd),Hd={name:"ElCarousel",props:{initialIndex:{type:Number,default:0},height:String,trigger:{type:String,default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:String,indicator:{type:Boolean,default:!0},arrow:{type:String,default:"hover"},type:String,loop:{type:Boolean,default:!0},direction:{type:String,default:"horizontal",validator:function(e){return-1!==["horizontal","vertical"].indexOf(e)}}},data:function(){return{items:[],activeIndex:-1,containerWidth:0,timer:null,hover:!1}},computed:{arrowDisplay:function(){return"never"!==this.arrow&&"vertical"!==this.direction},hasLabel:function(){return this.items.some((function(e){return e.label.toString().length>0}))},carouselClasses:function(){var e=["el-carousel","el-carousel--"+this.direction];return"card"===this.type&&e.push("el-carousel--card"),e},indicatorsClasses:function(){var e=["el-carousel__indicators","el-carousel__indicators--"+this.direction];return this.hasLabel&&e.push("el-carousel__indicators--labels"),"outside"!==this.indicatorPosition&&"card"!==this.type||e.push("el-carousel__indicators--outside"),e}},watch:{items:function(e){e.length>0&&this.setActiveItem(this.initialIndex)},activeIndex:function(e,t){this.resetItemPosition(t),t>-1&&this.$emit("change",e,t)},autoplay:function(e){e?this.startTimer():this.pauseTimer()},loop:function(){this.setActiveItem(this.activeIndex)}},methods:{handleMouseEnter:function(){this.hover=!0,this.pauseTimer()},handleMouseLeave:function(){this.hover=!1,this.startTimer()},itemInStage:function(e,t){var i=this.items.length;return t===i-1&&e.inStage&&this.items[0].active||e.inStage&&this.items[t+1]&&this.items[t+1].active?"left":!!(0===t&&e.inStage&&this.items[i-1].active||e.inStage&&this.items[t-1]&&this.items[t-1].active)&&"right"},handleButtonEnter:function(e){var t=this;"vertical"!==this.direction&&this.items.forEach((function(i,n){e===t.itemInStage(i,n)&&(i.hover=!0)}))},handleButtonLeave:function(){"vertical"!==this.direction&&this.items.forEach((function(e){e.hover=!1}))},updateItems:function(){this.items=this.$children.filter((function(e){return"ElCarouselItem"===e.$options.name}))},resetItemPosition:function(e){var t=this;this.items.forEach((function(i,n){i.translateItem(n,t.activeIndex,e)}))},playSlides:function(){this.activeIndex<this.items.length-1?this.activeIndex++:this.loop&&(this.activeIndex=0)},pauseTimer:function(){this.timer&&(clearInterval(this.timer),this.timer=null)},startTimer:function(){this.interval<=0||!this.autoplay||this.timer||(this.timer=setInterval(this.playSlides,this.interval))},setActiveItem:function(e){if("string"===typeof e){var t=this.items.filter((function(t){return t.name===e}));t.length>0&&(e=this.items.indexOf(t[0]))}if(e=Number(e),isNaN(e)||e!==Math.floor(e))console.warn("[Element Warn][Carousel]index must be an integer.");else{var i=this.items.length,n=this.activeIndex;this.activeIndex=e<0?this.loop?i-1:0:e>=i?this.loop?0:i-1:e,n===this.activeIndex&&this.resetItemPosition(n)}},prev:function(){this.setActiveItem(this.activeIndex-1)},next:function(){this.setActiveItem(this.activeIndex+1)},handleIndicatorClick:function(e){this.activeIndex=e},handleIndicatorHover:function(e){"hover"===this.trigger&&e!==this.activeIndex&&(this.activeIndex=e)}},created:function(){var e=this;this.throttledArrowClick=Od()(300,!0,(function(t){e.setActiveItem(t)})),this.throttledIndicatorHover=Od()(300,(function(t){e.handleIndicatorHover(t)}))},mounted:function(){var e=this;this.updateItems(),this.$nextTick((function(){Object(Qi["addResizeListener"])(e.$el,e.resetItemPosition),e.initialIndex<e.items.length&&e.initialIndex>=0&&(e.activeIndex=e.initialIndex),e.startTimer()}))},beforeDestroy:function(){this.$el&&Object(Qi["removeResizeListener"])(this.$el,this.resetItemPosition),this.pauseTimer()}},Fd=Hd,Ld=o(Fd,Nd,Dd,!1,null,null,null);Ld.options.__file="packages/carousel/src/main.vue";var Vd=Ld.exports;Vd.install=function(e){e.component(Vd.name,Vd)};var Rd=Vd,Bd={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}};function jd(e){var t=e.move,i=e.size,n=e.bar,r={},a="translate"+n.axis+"("+t+"%)";return r[n.size]=i,r.transform=a,r.msTransform=a,r.webkitTransform=a,r}var $d={name:"Bar",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return Bd[this.vertical?"vertical":"horizontal"]},wrap:function(){return this.$parent.wrap}},render:function(e){var t=this.size,i=this.move,n=this.bar;return e("div",{class:["el-scrollbar__bar","is-"+n.key],on:{mousedown:this.clickTrackHandler}},[e("div",{ref:"thumb",class:"el-scrollbar__thumb",on:{mousedown:this.clickThumbHandler},style:jd({size:t,move:i,bar:n})})])},methods:{clickThumbHandler:function(e){e.ctrlKey||2===e.button||(this.startDrag(e),this[this.bar.axis]=e.currentTarget[this.bar.offset]-(e[this.bar.client]-e.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(e){var t=Math.abs(e.target.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]),i=this.$refs.thumb[this.bar.offset]/2,n=100*(t-i)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=n*this.wrap[this.bar.scrollSize]/100},startDrag:function(e){e.stopImmediatePropagation(),this.cursorDown=!0,Object(Le["on"])(document,"mousemove",this.mouseMoveDocumentHandler),Object(Le["on"])(document,"mouseup",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(e){if(!1!==this.cursorDown){var t=this[this.bar.axis];if(t){var i=-1*(this.$el.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]),n=this.$refs.thumb[this.bar.offset]-t,r=100*(i-n)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=r*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(e){this.cursorDown=!1,this[this.bar.axis]=0,Object(Le["off"])(document,"mousemove",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){Object(Le["off"])(document,"mouseup",this.mouseUpDocumentHandler)}},Kd={name:"ElScrollbar",components:{Bar:$d},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:"div"}},data:function(){return{sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(e){var t=br()(),i=this.wrapStyle;if(t){var n="-"+t+"px",r="margin-bottom: "+n+"; margin-right: "+n+";";Array.isArray(this.wrapStyle)?(i=Object(y["toObject"])(this.wrapStyle),i.marginRight=i.marginBottom=n):"string"===typeof this.wrapStyle?i+=r:i=r}var a=e(this.tag,{class:["el-scrollbar__view",this.viewClass],style:this.viewStyle,ref:"resize"},this.$slots.default),s=e("div",{ref:"wrap",style:i,on:{scroll:this.handleScroll},class:[this.wrapClass,"el-scrollbar__wrap",t?"":"el-scrollbar__wrap--hidden-default"]},[[a]]),o=void 0;return o=this.native?[e("div",{ref:"wrap",class:[this.wrapClass,"el-scrollbar__wrap"],style:i},[[a]])]:[s,e($d,{attrs:{move:this.moveX,size:this.sizeWidth}}),e($d,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],e("div",{class:"el-scrollbar"},o)},methods:{handleScroll:function(){var e=this.wrap;this.moveY=100*e.scrollTop/e.clientHeight,this.moveX=100*e.scrollLeft/e.clientWidth},update:function(){var e=void 0,t=void 0,i=this.wrap;i&&(e=100*i.clientHeight/i.scrollHeight,t=100*i.clientWidth/i.scrollWidth,this.sizeHeight=e<100?e+"%":"",this.sizeWidth=t<100?t+"%":"")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Object(Qi["addResizeListener"])(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Object(Qi["removeResizeListener"])(this.$refs.resize,this.update)},install:function(e){e.component(Kd.name,Kd)}},qd=Kd,Ud=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.ready,expression:"ready"}],staticClass:"el-carousel__item",class:{"is-active":e.active,"el-carousel__item--card":"card"===e.$parent.type,"is-in-stage":e.inStage,"is-hover":e.hover,"is-animating":e.animating},style:e.itemStyle,on:{click:e.handleItemClick}},["card"===e.$parent.type?i("div",{directives:[{name:"show",rawName:"v-show",value:!e.active,expression:"!active"}],staticClass:"el-carousel__mask"}):e._e(),e._t("default")],2)},Wd=[];Ud._withStripped=!0;var Xd=.83,Gd={name:"ElCarouselItem",props:{name:String,label:{type:[String,Number],default:""}},data:function(){return{hover:!1,translate:0,scale:1,active:!1,ready:!1,inStage:!1,animating:!1}},methods:{processIndex:function(e,t,i){return 0===t&&e===i-1?-1:t===i-1&&0===e?i:e<t-1&&t-e>=i/2?i+1:e>t+1&&e-t>=i/2?-2:e},calcCardTranslate:function(e,t){var i=this.$parent.$el.offsetWidth;return this.inStage?i*((2-Xd)*(e-t)+1)/4:e<t?-(1+Xd)*i/4:(3+Xd)*i/4},calcTranslate:function(e,t,i){var n=this.$parent.$el[i?"offsetHeight":"offsetWidth"];return n*(e-t)},translateItem:function(e,t,i){var n=this.$parent.type,r=this.parentDirection,a=this.$parent.items.length;if("card"!==n&&void 0!==i&&(this.animating=e===t||e===i),e!==t&&a>2&&this.$parent.loop&&(e=this.processIndex(e,t,a)),"card"===n)"vertical"===r&&console.warn("[Element Warn][Carousel]vertical direction is not supported in card mode"),this.inStage=Math.round(Math.abs(e-t))<=1,this.active=e===t,this.translate=this.calcCardTranslate(e,t),this.scale=this.active?1:Xd;else{this.active=e===t;var s="vertical"===r;this.translate=this.calcTranslate(e,t,s)}this.ready=!0},handleItemClick:function(){var e=this.$parent;if(e&&"card"===e.type){var t=e.items.indexOf(this);e.setActiveItem(t)}}},computed:{parentDirection:function(){return this.$parent.direction},itemStyle:function(){var e="vertical"===this.parentDirection?"translateY":"translateX",t=e+"("+this.translate+"px) scale("+this.scale+")",i={transform:t};return Object(y["autoprefixer"])(i)}},created:function(){this.$parent&&this.$parent.updateItems()},destroyed:function(){this.$parent&&this.$parent.updateItems()}},Yd=Gd,Zd=o(Yd,Ud,Wd,!1,null,null,null);Zd.options.__file="packages/carousel/src/item.vue";var Jd=Zd.exports;Jd.install=function(e){e.component(Jd.name,Jd)};var Qd=Jd,ef=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-collapse",attrs:{role:"tablist","aria-multiselectable":"true"}},[e._t("default")],2)},tf=[];ef._withStripped=!0;var nf={name:"ElCollapse",componentName:"ElCollapse",props:{accordion:Boolean,value:{type:[Array,String,Number],default:function(){return[]}}},data:function(){return{activeNames:[].concat(this.value)}},provide:function(){return{collapse:this}},watch:{value:function(e){this.activeNames=[].concat(e)}},methods:{setActiveNames:function(e){e=[].concat(e);var t=this.accordion?e[0]:e;this.activeNames=e,this.$emit("input",t),this.$emit("change",t)},handleItemClick:function(e){if(this.accordion)this.setActiveNames(!this.activeNames[0]&&0!==this.activeNames[0]||this.activeNames[0]!==e.name?e.name:"");else{var t=this.activeNames.slice(0),i=t.indexOf(e.name);i>-1?t.splice(i,1):t.push(e.name),this.setActiveNames(t)}}},created:function(){this.$on("item-click",this.handleItemClick)}},rf=nf,af=o(rf,ef,tf,!1,null,null,null);af.options.__file="packages/collapse/src/collapse.vue";var sf=af.exports;sf.install=function(e){e.component(sf.name,sf)};var of=sf,cf=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-collapse-item",class:{"is-active":e.isActive,"is-disabled":e.disabled}},[i("div",{attrs:{role:"tab","aria-expanded":e.isActive,"aria-controls":"el-collapse-content-"+e.id,"aria-describedby":"el-collapse-content-"+e.id}},[i("div",{staticClass:"el-collapse-item__header",class:{focusing:e.focusing,"is-active":e.isActive},attrs:{role:"button",id:"el-collapse-head-"+e.id,tabindex:e.disabled?void 0:0},on:{click:e.handleHeaderClick,keyup:function(t){return!("button"in t)&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.stopPropagation(),e.handleEnterClick(t))},focus:e.handleFocus,blur:function(t){e.focusing=!1}}},[e._t("title",[e._v(e._s(e.title))]),i("i",{staticClass:"el-collapse-item__arrow el-icon-arrow-right",class:{"is-active":e.isActive}})],2)]),i("el-collapse-transition",[i("div",{directives:[{name:"show",rawName:"v-show",value:e.isActive,expression:"isActive"}],staticClass:"el-collapse-item__wrap",attrs:{role:"tabpanel","aria-hidden":!e.isActive,"aria-labelledby":"el-collapse-head-"+e.id,id:"el-collapse-content-"+e.id}},[i("div",{staticClass:"el-collapse-item__content"},[e._t("default")],2)])])],1)},lf=[];cf._withStripped=!0;var uf={name:"ElCollapseItem",componentName:"ElCollapseItem",mixins:[M.a],components:{ElCollapseTransition:We.a},data:function(){return{contentWrapStyle:{height:"auto",display:"block"},contentHeight:0,focusing:!1,isClick:!1,id:Object(y["generateId"])()}},inject:["collapse"],props:{title:String,name:{type:[String,Number],default:function(){return this._uid}},disabled:Boolean},computed:{isActive:function(){return this.collapse.activeNames.indexOf(this.name)>-1}},methods:{handleFocus:function(){var e=this;setTimeout((function(){e.isClick?e.isClick=!1:e.focusing=!0}),50)},handleHeaderClick:function(){this.disabled||(this.dispatch("ElCollapse","item-click",this),this.focusing=!1,this.isClick=!0)},handleEnterClick:function(){this.dispatch("ElCollapse","item-click",this)}}},hf=uf,df=o(hf,cf,lf,!1,null,null,null);df.options.__file="packages/collapse/src/collapse-item.vue";var ff=df.exports;ff.install=function(e){e.component(ff.name,ff)};var pf=ff,mf=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:function(){return e.toggleDropDownVisible(!1)},expression:"() => toggleDropDownVisible(false)"}],ref:"reference",class:["el-cascader",e.realSize&&"el-cascader--"+e.realSize,{"is-disabled":e.isDisabled}],on:{mouseenter:function(t){e.inputHover=!0},mouseleave:function(t){e.inputHover=!1},click:function(){return e.toggleDropDownVisible(!e.readonly||void 0)},keydown:e.handleKeyDown}},[i("el-input",{ref:"input",class:{"is-focus":e.dropDownVisible},attrs:{size:e.realSize,placeholder:e.placeholder,readonly:e.readonly,disabled:e.isDisabled,"validate-event":!1},on:{focus:e.handleFocus,blur:e.handleBlur,input:e.handleInput},model:{value:e.multiple?e.presentText:e.inputValue,callback:function(t){e.multiple?e.presentText:e.inputValue=t},expression:"multiple ? presentText : inputValue"}},[i("template",{slot:"suffix"},[e.clearBtnVisible?i("i",{key:"clear",staticClass:"el-input__icon el-icon-circle-close",on:{click:function(t){return t.stopPropagation(),e.handleClear(t)}}}):i("i",{key:"arrow-down",class:["el-input__icon","el-icon-arrow-down",e.dropDownVisible&&"is-reverse"],on:{click:function(t){t.stopPropagation(),e.toggleDropDownVisible()}}})])],2),e.multiple?i("div",{staticClass:"el-cascader__tags"},[e._l(e.presentTags,(function(t,n){return i("el-tag",{key:t.key,attrs:{type:"info",size:e.tagSize,hit:t.hitState,closable:t.closable,"disable-transitions":""},on:{close:function(t){e.deleteTag(n)}}},[i("span",[e._v(e._s(t.text))])])})),e.filterable&&!e.isDisabled?i("input",{directives:[{name:"model",rawName:"v-model.trim",value:e.inputValue,expression:"inputValue",modifiers:{trim:!0}}],staticClass:"el-cascader__search-input",attrs:{type:"text",placeholder:e.presentTags.length?"":e.placeholder},domProps:{value:e.inputValue},on:{input:[function(t){t.target.composing||(e.inputValue=t.target.value.trim())},function(t){return e.handleInput(e.inputValue,t)}],click:function(t){t.stopPropagation(),e.toggleDropDownVisible(!0)},keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:e.handleDelete(t)},blur:function(t){e.$forceUpdate()}}}):e._e()],2):e._e(),i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.handleDropdownLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.dropDownVisible,expression:"dropDownVisible"}],ref:"popper",class:["el-popper","el-cascader__dropdown",e.popperClass]},[i("el-cascader-panel",{directives:[{name:"show",rawName:"v-show",value:!e.filtering,expression:"!filtering"}],ref:"panel",attrs:{options:e.options,props:e.config,border:!1,"render-label":e.$scopedSlots.default},on:{"expand-change":e.handleExpandChange,close:function(t){e.toggleDropDownVisible(!1)}},model:{value:e.checkedValue,callback:function(t){e.checkedValue=t},expression:"checkedValue"}}),e.filterable?i("el-scrollbar",{directives:[{name:"show",rawName:"v-show",value:e.filtering,expression:"filtering"}],ref:"suggestionPanel",staticClass:"el-cascader__suggestion-panel",attrs:{tag:"ul","view-class":"el-cascader__suggestion-list"},nativeOn:{keydown:function(t){return e.handleSuggestionKeyDown(t)}}},[e.suggestions.length?e._l(e.suggestions,(function(t,n){return i("li",{key:t.uid,class:["el-cascader__suggestion-item",t.checked&&"is-checked"],attrs:{tabindex:-1},on:{click:function(t){e.handleSuggestionClick(n)}}},[i("span",[e._v(e._s(t.text))]),t.checked?i("i",{staticClass:"el-icon-check"}):e._e()])})):e._t("empty",[i("li",{staticClass:"el-cascader__empty-text"},[e._v(e._s(e.t("el.cascader.noMatch")))])])],2):e._e()],1)])],1)},vf=[];mf._withStripped=!0;var gf=i(42),yf=i.n(gf),bf=i(28),Cf=i.n(bf),Sf=Cf.a.keys,xf={expandTrigger:{newProp:"expandTrigger",type:String},changeOnSelect:{newProp:"checkStrictly",type:Boolean},hoverThreshold:{newProp:"hoverThreshold",type:Number}},wf={props:{placement:{type:String,default:"bottom-start"},appendToBody:$.a.props.appendToBody,visibleArrow:{type:Boolean,default:!0},arrowOffset:$.a.props.arrowOffset,offset:$.a.props.offset,boundariesPadding:$.a.props.boundariesPadding,popperOptions:$.a.props.popperOptions},methods:$.a.methods,data:$.a.data,beforeDestroy:$.a.beforeDestroy},_f={medium:36,small:32,mini:28},Af={name:"ElCascader",directives:{Clickoutside:V.a},mixins:[wf,M.a,g.a,E.a],inject:{elForm:{default:""},elFormItem:{default:""}},components:{ElInput:m.a,ElTag:Ji.a,ElScrollbar:q.a,ElCascaderPanel:yf.a},props:{value:{},options:Array,props:Object,size:String,placeholder:{type:String,default:function(){return Object(en["t"])("el.cascader.placeholder")}},disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:Function,separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,debounce:{type:Number,default:300},beforeFilter:{type:Function,default:function(){return function(){}}},popperClass:String},data:function(){return{dropDownVisible:!1,checkedValue:this.value||null,inputHover:!1,inputValue:null,presentText:null,presentTags:[],checkedNodes:[],filtering:!1,suggestions:[],inputInitialHeight:0,pressDeleteCount:0}},computed:{realSize:function(){var e=(this.elFormItem||{}).elFormItemSize;return this.size||e||(this.$ELEMENT||{}).size},tagSize:function(){return["small","mini"].indexOf(this.realSize)>-1?"mini":"small"},isDisabled:function(){return this.disabled||(this.elForm||{}).disabled},config:function(){var e=this.props||{},t=this.$attrs;return Object.keys(xf).forEach((function(i){var n=xf[i],r=n.newProp,a=n.type,s=t[i]||t[Object(y["kebabCase"])(i)];Object(Et["isDef"])(i)&&!Object(Et["isDef"])(e[r])&&(a===Boolean&&""===s&&(s=!0),e[r]=s)})),e},multiple:function(){return this.config.multiple},leafOnly:function(){return!this.config.checkStrictly},readonly:function(){return!this.filterable||this.multiple},clearBtnVisible:function(){return!(!this.clearable||this.isDisabled||this.filtering||!this.inputHover)&&(this.multiple?!!this.checkedNodes.filter((function(e){return!e.isDisabled})).length:!!this.presentText)},panel:function(){return this.$refs.panel}},watch:{disabled:function(){this.computePresentContent()},value:function(e){Object(y["isEqual"])(e,this.checkedValue)||(this.checkedValue=e,this.computePresentContent())},checkedValue:function(e){var t=this.value,i=this.dropDownVisible,n=this.config,r=n.checkStrictly,a=n.multiple;Object(y["isEqual"])(e,t)&&!Object(dd["isUndefined"])(t)||(this.computePresentContent(),a||r||!i||this.toggleDropDownVisible(!1),this.$emit("input",e),this.$emit("change",e),this.dispatch("ElFormItem","el.form.change",[e]))},options:{handler:function(){this.$nextTick(this.computePresentContent)},deep:!0},presentText:function(e){this.inputValue=e},presentTags:function(e,t){this.multiple&&(e.length||t.length)&&this.$nextTick(this.updateStyle)},filtering:function(e){this.$nextTick(this.updatePopper)}},mounted:function(){var e=this,t=this.$refs.input;t&&t.$el&&(this.inputInitialHeight=t.$el.offsetHeight||_f[this.realSize]||40),Object(y["isEmpty"])(this.value)||this.computePresentContent(),this.filterHandler=F()(this.debounce,(function(){var t=e.inputValue;if(t){var i=e.beforeFilter(t);i&&i.then?i.then(e.getSuggestions):!1!==i?e.getSuggestions():e.filtering=!1}else e.filtering=!1})),Object(Qi["addResizeListener"])(this.$el,this.updateStyle)},beforeDestroy:function(){Object(Qi["removeResizeListener"])(this.$el,this.updateStyle)},methods:{getMigratingConfig:function(){return{props:{"expand-trigger":"expand-trigger is removed, use `props.expandTrigger` instead.","change-on-select":"change-on-select is removed, use `props.checkStrictly` instead.","hover-threshold":"hover-threshold is removed, use `props.hoverThreshold` instead"},events:{"active-item-change":"active-item-change is renamed to expand-change"}}},toggleDropDownVisible:function(e){var t=this;if(!this.isDisabled){var i=this.dropDownVisible,n=this.$refs.input;e=Object(Et["isDef"])(e)?e:!i,e!==i&&(this.dropDownVisible=e,e&&this.$nextTick((function(){t.updatePopper(),t.panel.scrollIntoView()})),n.$refs.input.setAttribute("aria-expanded",e),this.$emit("visible-change",e))}},handleDropdownLeave:function(){this.filtering=!1,this.inputValue=this.presentText},handleKeyDown:function(e){switch(e.keyCode){case Sf.enter:this.toggleDropDownVisible();break;case Sf.down:this.toggleDropDownVisible(!0),this.focusFirstNode(),e.preventDefault();break;case Sf.esc:case Sf.tab:this.toggleDropDownVisible(!1);break}},handleFocus:function(e){this.$emit("focus",e)},handleBlur:function(e){this.$emit("blur",e)},handleInput:function(e,t){!this.dropDownVisible&&this.toggleDropDownVisible(!0),t&&t.isComposing||(e?this.filterHandler():this.filtering=!1)},handleClear:function(){this.presentText="",this.panel.clearCheckedNodes()},handleExpandChange:function(e){this.$nextTick(this.updatePopper.bind(this)),this.$emit("expand-change",e),this.$emit("active-item-change",e)},focusFirstNode:function(){var e=this;this.$nextTick((function(){var t=e.filtering,i=e.$refs,n=i.popper,r=i.suggestionPanel,a=null;if(t&&r)a=r.$el.querySelector(".el-cascader__suggestion-item");else{var s=n.querySelector(".el-cascader-menu");a=s.querySelector('.el-cascader-node[tabindex="-1"]')}a&&(a.focus(),!t&&a.click())}))},computePresentContent:function(){var e=this;this.$nextTick((function(){e.config.multiple?(e.computePresentTags(),e.presentText=e.presentTags.length?" ":null):e.computePresentText()}))},computePresentText:function(){var e=this.checkedValue,t=this.config;if(!Object(y["isEmpty"])(e)){var i=this.panel.getNodeByValue(e);if(i&&(t.checkStrictly||i.isLeaf))return void(this.presentText=i.getText(this.showAllLevels,this.separator))}this.presentText=null},computePresentTags:function(){var e=this.isDisabled,t=this.leafOnly,i=this.showAllLevels,n=this.separator,r=this.collapseTags,a=this.getCheckedNodes(t),s=[],o=function(t){return{node:t,key:t.uid,text:t.getText(i,n),hitState:!1,closable:!e&&!t.isDisabled}};if(a.length){var c=a[0],l=a.slice(1),u=l.length;s.push(o(c)),u&&(r?s.push({key:-1,text:"+ "+u,closable:!1}):l.forEach((function(e){return s.push(o(e))})))}this.checkedNodes=a,this.presentTags=s},getSuggestions:function(){var e=this,t=this.filterMethod;Object(dd["isFunction"])(t)||(t=function(e,t){return e.text.includes(t)});var i=this.panel.getFlattedNodes(this.leafOnly).filter((function(i){return!i.isDisabled&&(i.text=i.getText(e.showAllLevels,e.separator)||"",t(i,e.inputValue))}));this.multiple?this.presentTags.forEach((function(e){e.hitState=!1})):i.forEach((function(t){t.checked=Object(y["isEqual"])(e.checkedValue,t.getValueByOption())})),this.filtering=!0,this.suggestions=i,this.$nextTick(this.updatePopper)},handleSuggestionKeyDown:function(e){var t=e.keyCode,i=e.target;switch(t){case Sf.enter:i.click();break;case Sf.up:var n=i.previousElementSibling;n&&n.focus();break;case Sf.down:var r=i.nextElementSibling;r&&r.focus();break;case Sf.esc:case Sf.tab:this.toggleDropDownVisible(!1);break}},handleDelete:function(){var e=this.inputValue,t=this.pressDeleteCount,i=this.presentTags,n=i.length-1,r=i[n];this.pressDeleteCount=e?0:t+1,r&&this.pressDeleteCount&&(r.hitState?this.deleteTag(n):r.hitState=!0)},handleSuggestionClick:function(e){var t=this.multiple,i=this.suggestions[e];if(t){var n=i.checked;i.doCheck(!n),this.panel.calculateMultiCheckedValue()}else this.checkedValue=i.getValueByOption(),this.toggleDropDownVisible(!1)},deleteTag:function(e){var t=this.checkedValue,i=t[e];this.checkedValue=t.filter((function(t,i){return i!==e})),this.$emit("remove-tag",i)},updateStyle:function(){var e=this.$el,t=this.inputInitialHeight;if(!this.$isServer&&e){var i=this.$refs.suggestionPanel,n=e.querySelector(".el-input__inner");if(n){var r=e.querySelector(".el-cascader__tags"),a=null;if(i&&(a=i.$el)){var s=a.querySelector(".el-cascader__suggestion-list");s.style.minWidth=n.offsetWidth+"px"}if(r){var o=r.offsetHeight,c=Math.max(o+6,t)+"px";n.style.height=c,this.updatePopper()}}}},getCheckedNodes:function(e){return this.panel.getCheckedNodes(e)}}},Ef=Af,kf=o(Ef,mf,vf,!1,null,null,null);kf.options.__file="packages/cascader/src/cascader.vue";var Mf=kf.exports;Mf.install=function(e){e.component(Mf.name,Mf)};var zf=Mf,Tf=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"clickoutside",rawName:"v-clickoutside",value:e.hide,expression:"hide"}],class:["el-color-picker",e.colorDisabled?"is-disabled":"",e.colorSize?"el-color-picker--"+e.colorSize:""]},[e.colorDisabled?i("div",{staticClass:"el-color-picker__mask"}):e._e(),i("div",{staticClass:"el-color-picker__trigger",on:{click:e.handleTrigger}},[i("span",{staticClass:"el-color-picker__color",class:{"is-alpha":e.showAlpha}},[i("span",{staticClass:"el-color-picker__color-inner",style:{backgroundColor:e.displayedColor}}),e.value||e.showPanelColor?e._e():i("span",{staticClass:"el-color-picker__empty el-icon-close"})]),i("span",{directives:[{name:"show",rawName:"v-show",value:e.value||e.showPanelColor,expression:"value || showPanelColor"}],staticClass:"el-color-picker__icon el-icon-arrow-down"})]),i("picker-dropdown",{ref:"dropdown",class:["el-color-picker__panel",e.popperClass||""],attrs:{color:e.color,"show-alpha":e.showAlpha,predefine:e.predefine},on:{pick:e.confirmValue,clear:e.clearValue},model:{value:e.showPicker,callback:function(t){e.showPicker=t},expression:"showPicker"}})],1)},If=[];Tf._withStripped=!0;var Nf="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function Df(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Pf=function(e,t,i){return[e,t*i/((e=(2-t)*i)<1?e:2-e)||0,e/2]},Of=function(e){return"string"===typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)},Hf=function(e){return"string"===typeof e&&-1!==e.indexOf("%")},Ff=function(e,t){Of(e)&&(e="100%");var i=Hf(e);return e=Math.min(t,Math.max(0,parseFloat(e))),i&&(e=parseInt(e*t,10)/100),Math.abs(e-t)<1e-6?1:e%t/parseFloat(t)},Lf={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},Vf=function(e){var t=e.r,i=e.g,n=e.b,r=function(e){e=Math.min(Math.round(e),255);var t=Math.floor(e/16),i=e%16;return""+(Lf[t]||t)+(Lf[i]||i)};return isNaN(t)||isNaN(i)||isNaN(n)?"":"#"+r(t)+r(i)+r(n)},Rf={A:10,B:11,C:12,D:13,E:14,F:15},Bf=function(e){return 2===e.length?16*(Rf[e[0].toUpperCase()]||+e[0])+(Rf[e[1].toUpperCase()]||+e[1]):Rf[e[1].toUpperCase()]||+e[1]},jf=function(e,t,i){t/=100,i/=100;var n=t,r=Math.max(i,.01),a=void 0,s=void 0;return i*=2,t*=i<=1?i:2-i,n*=r<=1?r:2-r,s=(i+t)/2,a=0===i?2*n/(r+n):2*t/(i+t),{h:e,s:100*a,v:100*s}},$f=function(e,t,i){e=Ff(e,255),t=Ff(t,255),i=Ff(i,255);var n=Math.max(e,t,i),r=Math.min(e,t,i),a=void 0,s=void 0,o=n,c=n-r;if(s=0===n?0:c/n,n===r)a=0;else{switch(n){case e:a=(t-i)/c+(t<i?6:0);break;case t:a=(i-e)/c+2;break;case i:a=(e-t)/c+4;break}a/=6}return{h:360*a,s:100*s,v:100*o}},Kf=function(e,t,i){e=6*Ff(e,360),t=Ff(t,100),i=Ff(i,100);var n=Math.floor(e),r=e-n,a=i*(1-t),s=i*(1-r*t),o=i*(1-(1-r)*t),c=n%6,l=[i,s,a,a,o,i][c],u=[o,i,i,s,a,a][c],h=[a,a,o,i,i,s][c];return{r:Math.round(255*l),g:Math.round(255*u),b:Math.round(255*h)}},qf=function(){function e(t){for(var i in Df(this,e),this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this.enableAlpha=!1,this.format="hex",this.value="",t=t||{},t)t.hasOwnProperty(i)&&(this[i]=t[i]);this.doOnChange()}return e.prototype.set=function(e,t){if(1!==arguments.length||"object"!==("undefined"===typeof e?"undefined":Nf(e)))this["_"+e]=t,this.doOnChange();else for(var i in e)e.hasOwnProperty(i)&&this.set(i,e[i])},e.prototype.get=function(e){return this["_"+e]},e.prototype.toRgb=function(){return Kf(this._hue,this._saturation,this._value)},e.prototype.fromString=function(e){var t=this;if(!e)return this._hue=0,this._saturation=100,this._value=100,void this.doOnChange();var i=function(e,i,n){t._hue=Math.max(0,Math.min(360,e)),t._saturation=Math.max(0,Math.min(100,i)),t._value=Math.max(0,Math.min(100,n)),t.doOnChange()};if(-1!==e.indexOf("hsl")){var n=e.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter((function(e){return""!==e})).map((function(e,t){return t>2?parseFloat(e):parseInt(e,10)}));if(4===n.length?this._alpha=Math.floor(100*parseFloat(n[3])):3===n.length&&(this._alpha=100),n.length>=3){var r=jf(n[0],n[1],n[2]),a=r.h,s=r.s,o=r.v;i(a,s,o)}}else if(-1!==e.indexOf("hsv")){var c=e.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter((function(e){return""!==e})).map((function(e,t){return t>2?parseFloat(e):parseInt(e,10)}));4===c.length?this._alpha=Math.floor(100*parseFloat(c[3])):3===c.length&&(this._alpha=100),c.length>=3&&i(c[0],c[1],c[2])}else if(-1!==e.indexOf("rgb")){var l=e.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter((function(e){return""!==e})).map((function(e,t){return t>2?parseFloat(e):parseInt(e,10)}));if(4===l.length?this._alpha=Math.floor(100*parseFloat(l[3])):3===l.length&&(this._alpha=100),l.length>=3){var u=$f(l[0],l[1],l[2]),h=u.h,d=u.s,f=u.v;i(h,d,f)}}else if(-1!==e.indexOf("#")){var p=e.replace("#","").trim();if(!/^(?:[0-9a-fA-F]{3}){1,2}$/.test(p))return;var m=void 0,v=void 0,g=void 0;3===p.length?(m=Bf(p[0]+p[0]),v=Bf(p[1]+p[1]),g=Bf(p[2]+p[2])):6!==p.length&&8!==p.length||(m=Bf(p.substring(0,2)),v=Bf(p.substring(2,4)),g=Bf(p.substring(4,6))),8===p.length?this._alpha=Math.floor(Bf(p.substring(6))/255*100):3!==p.length&&6!==p.length||(this._alpha=100);var y=$f(m,v,g),b=y.h,C=y.s,S=y.v;i(b,C,S)}},e.prototype.compare=function(e){return Math.abs(e._hue-this._hue)<2&&Math.abs(e._saturation-this._saturation)<1&&Math.abs(e._value-this._value)<1&&Math.abs(e._alpha-this._alpha)<1},e.prototype.doOnChange=function(){var e=this._hue,t=this._saturation,i=this._value,n=this._alpha,r=this.format;if(this.enableAlpha)switch(r){case"hsl":var a=Pf(e,t/100,i/100);this.value="hsla("+e+", "+Math.round(100*a[1])+"%, "+Math.round(100*a[2])+"%, "+n/100+")";break;case"hsv":this.value="hsva("+e+", "+Math.round(t)+"%, "+Math.round(i)+"%, "+n/100+")";break;default:var s=Kf(e,t,i),o=s.r,c=s.g,l=s.b;this.value="rgba("+o+", "+c+", "+l+", "+n/100+")"}else switch(r){case"hsl":var u=Pf(e,t/100,i/100);this.value="hsl("+e+", "+Math.round(100*u[1])+"%, "+Math.round(100*u[2])+"%)";break;case"hsv":this.value="hsv("+e+", "+Math.round(t)+"%, "+Math.round(i)+"%)";break;case"rgb":var h=Kf(e,t,i),d=h.r,f=h.g,p=h.b;this.value="rgb("+d+", "+f+", "+p+")";break;default:this.value=Vf(Kf(e,t,i))}},e}(),Uf=qf,Wf=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-zoom-in-top"},on:{"after-leave":e.doDestroy}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.showPopper,expression:"showPopper"}],staticClass:"el-color-dropdown"},[i("div",{staticClass:"el-color-dropdown__main-wrapper"},[i("hue-slider",{ref:"hue",staticStyle:{float:"right"},attrs:{color:e.color,vertical:""}}),i("sv-panel",{ref:"sl",attrs:{color:e.color}})],1),e.showAlpha?i("alpha-slider",{ref:"alpha",attrs:{color:e.color}}):e._e(),e.predefine?i("predefine",{attrs:{color:e.color,colors:e.predefine}}):e._e(),i("div",{staticClass:"el-color-dropdown__btns"},[i("span",{staticClass:"el-color-dropdown__value"},[i("el-input",{attrs:{"validate-event":!1,size:"mini"},on:{blur:e.handleConfirm},nativeOn:{keyup:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleConfirm(t)}},model:{value:e.customInput,callback:function(t){e.customInput=t},expression:"customInput"}})],1),i("el-button",{staticClass:"el-color-dropdown__link-btn",attrs:{size:"mini",type:"text"},on:{click:function(t){e.$emit("clear")}}},[e._v("\n        "+e._s(e.t("el.colorpicker.clear"))+"\n      ")]),i("el-button",{staticClass:"el-color-dropdown__btn",attrs:{plain:"",size:"mini"},on:{click:e.confirmValue}},[e._v("\n        "+e._s(e.t("el.colorpicker.confirm"))+"\n      ")])],1)],1)])},Xf=[];Wf._withStripped=!0;var Gf=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-color-svpanel",style:{backgroundColor:e.background}},[i("div",{staticClass:"el-color-svpanel__white"}),i("div",{staticClass:"el-color-svpanel__black"}),i("div",{staticClass:"el-color-svpanel__cursor",style:{top:e.cursorTop+"px",left:e.cursorLeft+"px"}},[i("div")])])},Yf=[];Gf._withStripped=!0;var Zf=!1,Jf=function(e,t){if(!Kn.a.prototype.$isServer){var i=function(e){t.drag&&t.drag(e)},n=function e(n){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e),document.onselectstart=null,document.ondragstart=null,Zf=!1,t.end&&t.end(n)};e.addEventListener("mousedown",(function(e){Zf||(document.onselectstart=function(){return!1},document.ondragstart=function(){return!1},document.addEventListener("mousemove",i),document.addEventListener("mouseup",n),Zf=!0,t.start&&t.start(e))}))}},Qf={name:"el-sl-panel",props:{color:{required:!0}},computed:{colorValue:function(){var e=this.color.get("hue"),t=this.color.get("value");return{hue:e,value:t}}},watch:{colorValue:function(){this.update()}},methods:{update:function(){var e=this.color.get("saturation"),t=this.color.get("value"),i=this.$el,n=i.clientWidth,r=i.clientHeight;this.cursorLeft=e*n/100,this.cursorTop=(100-t)*r/100,this.background="hsl("+this.color.get("hue")+", 100%, 50%)"},handleDrag:function(e){var t=this.$el,i=t.getBoundingClientRect(),n=e.clientX-i.left,r=e.clientY-i.top;n=Math.max(0,n),n=Math.min(n,i.width),r=Math.max(0,r),r=Math.min(r,i.height),this.cursorLeft=n,this.cursorTop=r,this.color.set({saturation:n/i.width*100,value:100-r/i.height*100})}},mounted:function(){var e=this;Jf(this.$el,{drag:function(t){e.handleDrag(t)},end:function(t){e.handleDrag(t)}}),this.update()},data:function(){return{cursorTop:0,cursorLeft:0,background:"hsl(0, 100%, 50%)"}}},ep=Qf,tp=o(ep,Gf,Yf,!1,null,null,null);tp.options.__file="packages/color-picker/src/components/sv-panel.vue";var ip=tp.exports,np=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-color-hue-slider",class:{"is-vertical":e.vertical}},[i("div",{ref:"bar",staticClass:"el-color-hue-slider__bar",on:{click:e.handleClick}}),i("div",{ref:"thumb",staticClass:"el-color-hue-slider__thumb",style:{left:e.thumbLeft+"px",top:e.thumbTop+"px"}})])},rp=[];np._withStripped=!0;var ap={name:"el-color-hue-slider",props:{color:{required:!0},vertical:Boolean},data:function(){return{thumbLeft:0,thumbTop:0}},computed:{hueValue:function(){var e=this.color.get("hue");return e}},watch:{hueValue:function(){this.update()}},methods:{handleClick:function(e){var t=this.$refs.thumb,i=e.target;i!==t&&this.handleDrag(e)},handleDrag:function(e){var t=this.$el.getBoundingClientRect(),i=this.$refs.thumb,n=void 0;if(this.vertical){var r=e.clientY-t.top;r=Math.min(r,t.height-i.offsetHeight/2),r=Math.max(i.offsetHeight/2,r),n=Math.round((r-i.offsetHeight/2)/(t.height-i.offsetHeight)*360)}else{var a=e.clientX-t.left;a=Math.min(a,t.width-i.offsetWidth/2),a=Math.max(i.offsetWidth/2,a),n=Math.round((a-i.offsetWidth/2)/(t.width-i.offsetWidth)*360)}this.color.set("hue",n)},getThumbLeft:function(){if(this.vertical)return 0;var e=this.$el,t=this.color.get("hue");if(!e)return 0;var i=this.$refs.thumb;return Math.round(t*(e.offsetWidth-i.offsetWidth/2)/360)},getThumbTop:function(){if(!this.vertical)return 0;var e=this.$el,t=this.color.get("hue");if(!e)return 0;var i=this.$refs.thumb;return Math.round(t*(e.offsetHeight-i.offsetHeight/2)/360)},update:function(){this.thumbLeft=this.getThumbLeft(),this.thumbTop=this.getThumbTop()}},mounted:function(){var e=this,t=this.$refs,i=t.bar,n=t.thumb,r={drag:function(t){e.handleDrag(t)},end:function(t){e.handleDrag(t)}};Jf(i,r),Jf(n,r),this.update()}},sp=ap,op=o(sp,np,rp,!1,null,null,null);op.options.__file="packages/color-picker/src/components/hue-slider.vue";var cp=op.exports,lp=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-color-alpha-slider",class:{"is-vertical":e.vertical}},[i("div",{ref:"bar",staticClass:"el-color-alpha-slider__bar",style:{background:e.background},on:{click:e.handleClick}}),i("div",{ref:"thumb",staticClass:"el-color-alpha-slider__thumb",style:{left:e.thumbLeft+"px",top:e.thumbTop+"px"}})])},up=[];lp._withStripped=!0;var hp={name:"el-color-alpha-slider",props:{color:{required:!0},vertical:Boolean},watch:{"color._alpha":function(){this.update()},"color.value":function(){this.update()}},methods:{handleClick:function(e){var t=this.$refs.thumb,i=e.target;i!==t&&this.handleDrag(e)},handleDrag:function(e){var t=this.$el.getBoundingClientRect(),i=this.$refs.thumb;if(this.vertical){var n=e.clientY-t.top;n=Math.max(i.offsetHeight/2,n),n=Math.min(n,t.height-i.offsetHeight/2),this.color.set("alpha",Math.round((n-i.offsetHeight/2)/(t.height-i.offsetHeight)*100))}else{var r=e.clientX-t.left;r=Math.max(i.offsetWidth/2,r),r=Math.min(r,t.width-i.offsetWidth/2),this.color.set("alpha",Math.round((r-i.offsetWidth/2)/(t.width-i.offsetWidth)*100))}},getThumbLeft:function(){if(this.vertical)return 0;var e=this.$el,t=this.color._alpha;if(!e)return 0;var i=this.$refs.thumb;return Math.round(t*(e.offsetWidth-i.offsetWidth/2)/100)},getThumbTop:function(){if(!this.vertical)return 0;var e=this.$el,t=this.color._alpha;if(!e)return 0;var i=this.$refs.thumb;return Math.round(t*(e.offsetHeight-i.offsetHeight/2)/100)},getBackground:function(){if(this.color&&this.color.value){var e=this.color.toRgb(),t=e.r,i=e.g,n=e.b;return"linear-gradient(to right, rgba("+t+", "+i+", "+n+", 0) 0%, rgba("+t+", "+i+", "+n+", 1) 100%)"}return null},update:function(){this.thumbLeft=this.getThumbLeft(),this.thumbTop=this.getThumbTop(),this.background=this.getBackground()}},data:function(){return{thumbLeft:0,thumbTop:0,background:null}},mounted:function(){var e=this,t=this.$refs,i=t.bar,n=t.thumb,r={drag:function(t){e.handleDrag(t)},end:function(t){e.handleDrag(t)}};Jf(i,r),Jf(n,r),this.update()}},dp=hp,fp=o(dp,lp,up,!1,null,null,null);fp.options.__file="packages/color-picker/src/components/alpha-slider.vue";var pp=fp.exports,mp=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-color-predefine"},[i("div",{staticClass:"el-color-predefine__colors"},e._l(e.rgbaColors,(function(t,n){return i("div",{key:e.colors[n],staticClass:"el-color-predefine__color-selector",class:{selected:t.selected,"is-alpha":t._alpha<100},on:{click:function(t){e.handleSelect(n)}}},[i("div",{style:{"background-color":t.value}})])})),0)])},vp=[];mp._withStripped=!0;var gp={props:{colors:{type:Array,required:!0},color:{required:!0}},data:function(){return{rgbaColors:this.parseColors(this.colors,this.color)}},methods:{handleSelect:function(e){this.color.fromString(this.colors[e])},parseColors:function(e,t){return e.map((function(e){var i=new Uf;return i.enableAlpha=!0,i.format="rgba",i.fromString(e),i.selected=i.value===t.value,i}))}},watch:{"$parent.currentColor":function(e){var t=new Uf;t.fromString(e),this.rgbaColors.forEach((function(e){e.selected=t.compare(e)}))},colors:function(e){this.rgbaColors=this.parseColors(e,this.color)},color:function(e){this.rgbaColors=this.parseColors(this.colors,e)}}},yp=gp,bp=o(yp,mp,vp,!1,null,null,null);bp.options.__file="packages/color-picker/src/components/predefine.vue";var Cp=bp.exports,Sp={name:"el-color-picker-dropdown",mixins:[$.a,g.a],components:{SvPanel:ip,HueSlider:cp,AlphaSlider:pp,ElInput:m.a,ElButton:se.a,Predefine:Cp},props:{color:{required:!0},showAlpha:Boolean,predefine:Array},data:function(){return{customInput:""}},computed:{currentColor:function(){var e=this.$parent;return e.value||e.showPanelColor?e.color.value:""}},methods:{confirmValue:function(){this.$emit("pick")},handleConfirm:function(){this.color.fromString(this.customInput)}},mounted:function(){this.$parent.popperElm=this.popperElm=this.$el,this.referenceElm=this.$parent.$el},watch:{showPopper:function(e){var t=this;!0===e&&this.$nextTick((function(){var e=t.$refs,i=e.sl,n=e.hue,r=e.alpha;i&&i.update(),n&&n.update(),r&&r.update()}))},currentColor:{immediate:!0,handler:function(e){this.customInput=e}}}},xp=Sp,wp=o(xp,Wf,Xf,!1,null,null,null);wp.options.__file="packages/color-picker/src/components/picker-dropdown.vue";var _p=wp.exports,Ap={name:"ElColorPicker",mixins:[M.a],props:{value:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:String,popperClass:String,predefine:Array},inject:{elForm:{default:""},elFormItem:{default:""}},directives:{Clickoutside:V.a},computed:{displayedColor:function(){return this.value||this.showPanelColor?this.displayedRgb(this.color,this.showAlpha):"transparent"},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},colorSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},colorDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},watch:{value:function(e){e?e&&e!==this.color.value&&this.color.fromString(e):this.showPanelColor=!1},color:{deep:!0,handler:function(){this.showPanelColor=!0}},displayedColor:function(e){if(this.showPicker){var t=new Uf({enableAlpha:this.showAlpha,format:this.colorFormat});t.fromString(this.value);var i=this.displayedRgb(t,this.showAlpha);e!==i&&this.$emit("active-change",e)}}},methods:{handleTrigger:function(){this.colorDisabled||(this.showPicker=!this.showPicker)},confirmValue:function(){var e=this.color.value;this.$emit("input",e),this.$emit("change",e),this.dispatch("ElFormItem","el.form.change",e),this.showPicker=!1},clearValue:function(){this.$emit("input",null),this.$emit("change",null),null!==this.value&&this.dispatch("ElFormItem","el.form.change",null),this.showPanelColor=!1,this.showPicker=!1,this.resetColor()},hide:function(){this.showPicker=!1,this.resetColor()},resetColor:function(){var e=this;this.$nextTick((function(t){e.value?e.color.fromString(e.value):e.showPanelColor=!1}))},displayedRgb:function(e,t){if(!(e instanceof Uf))throw Error("color should be instance of Color Class");var i=e.toRgb(),n=i.r,r=i.g,a=i.b;return t?"rgba("+n+", "+r+", "+a+", "+e.get("alpha")/100+")":"rgb("+n+", "+r+", "+a+")"}},mounted:function(){var e=this.value;e&&this.color.fromString(e),this.popperElm=this.$refs.dropdown.$el},data:function(){var e=new Uf({enableAlpha:this.showAlpha,format:this.colorFormat});return{color:e,showPicker:!1,showPanelColor:!1}},components:{PickerDropdown:_p}},Ep=Ap,kp=o(Ep,Tf,If,!1,null,null,null);kp.options.__file="packages/color-picker/src/main.vue";var Mp=kp.exports;Mp.install=function(e){e.component(Mp.name,Mp)};var zp=Mp,Tp=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-transfer"},[i("transfer-panel",e._b({ref:"leftPanel",attrs:{data:e.sourceData,title:e.titles[0]||e.t("el.transfer.titles.0"),"default-checked":e.leftDefaultChecked,placeholder:e.filterPlaceholder||e.t("el.transfer.filterPlaceholder")},on:{"checked-change":e.onSourceCheckedChange}},"transfer-panel",e.$props,!1),[e._t("left-footer")],2),i("div",{staticClass:"el-transfer__buttons"},[i("el-button",{class:["el-transfer__button",e.hasButtonTexts?"is-with-texts":""],attrs:{type:"primary",disabled:0===e.rightChecked.length},nativeOn:{click:function(t){return e.addToLeft(t)}}},[i("i",{staticClass:"el-icon-arrow-left"}),void 0!==e.buttonTexts[0]?i("span",[e._v(e._s(e.buttonTexts[0]))]):e._e()]),i("el-button",{class:["el-transfer__button",e.hasButtonTexts?"is-with-texts":""],attrs:{type:"primary",disabled:0===e.leftChecked.length},nativeOn:{click:function(t){return e.addToRight(t)}}},[void 0!==e.buttonTexts[1]?i("span",[e._v(e._s(e.buttonTexts[1]))]):e._e(),i("i",{staticClass:"el-icon-arrow-right"})])],1),i("transfer-panel",e._b({ref:"rightPanel",attrs:{data:e.targetData,title:e.titles[1]||e.t("el.transfer.titles.1"),"default-checked":e.rightDefaultChecked,placeholder:e.filterPlaceholder||e.t("el.transfer.filterPlaceholder")},on:{"checked-change":e.onTargetCheckedChange}},"transfer-panel",e.$props,!1),[e._t("right-footer")],2)],1)},Ip=[];Tp._withStripped=!0;var Np=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-transfer-panel"},[i("p",{staticClass:"el-transfer-panel__header"},[i("el-checkbox",{attrs:{indeterminate:e.isIndeterminate},on:{change:e.handleAllCheckedChange},model:{value:e.allChecked,callback:function(t){e.allChecked=t},expression:"allChecked"}},[e._v("\n      "+e._s(e.title)+"\n      "),i("span",[e._v(e._s(e.checkedSummary))])])],1),i("div",{class:["el-transfer-panel__body",e.hasFooter?"is-with-footer":""]},[e.filterable?i("el-input",{staticClass:"el-transfer-panel__filter",attrs:{size:"small",placeholder:e.placeholder},nativeOn:{mouseenter:function(t){e.inputHover=!0},mouseleave:function(t){e.inputHover=!1}},model:{value:e.query,callback:function(t){e.query=t},expression:"query"}},[i("i",{class:["el-input__icon","el-icon-"+e.inputIcon],attrs:{slot:"prefix"},on:{click:e.clearQuery},slot:"prefix"})]):e._e(),i("el-checkbox-group",{directives:[{name:"show",rawName:"v-show",value:!e.hasNoMatch&&e.data.length>0,expression:"!hasNoMatch && data.length > 0"}],staticClass:"el-transfer-panel__list",class:{"is-filterable":e.filterable},model:{value:e.checked,callback:function(t){e.checked=t},expression:"checked"}},e._l(e.filteredData,(function(t){return i("el-checkbox",{key:t[e.keyProp],staticClass:"el-transfer-panel__item",attrs:{label:t[e.keyProp],disabled:t[e.disabledProp]}},[i("option-content",{attrs:{option:t}})],1)})),1),i("p",{directives:[{name:"show",rawName:"v-show",value:e.hasNoMatch,expression:"hasNoMatch"}],staticClass:"el-transfer-panel__empty"},[e._v(e._s(e.t("el.transfer.noMatch")))]),i("p",{directives:[{name:"show",rawName:"v-show",value:0===e.data.length&&!e.hasNoMatch,expression:"data.length === 0 && !hasNoMatch"}],staticClass:"el-transfer-panel__empty"},[e._v(e._s(e.t("el.transfer.noData")))])],1),e.hasFooter?i("p",{staticClass:"el-transfer-panel__footer"},[e._t("default")],2):e._e()])},Dp=[];Np._withStripped=!0;var Pp={mixins:[g.a],name:"ElTransferPanel",componentName:"ElTransferPanel",components:{ElCheckboxGroup:Nr.a,ElCheckbox:Hn.a,ElInput:m.a,OptionContent:{props:{option:Object},render:function(e){var t=function e(t){return"ElTransferPanel"===t.$options.componentName?t:t.$parent?e(t.$parent):t},i=t(this),n=i.$parent||i;return i.renderContent?i.renderContent(e,this.option):n.$scopedSlots.default?n.$scopedSlots.default({option:this.option}):e("span",[this.option[i.labelProp]||this.option[i.keyProp]])}}},props:{data:{type:Array,default:function(){return[]}},renderContent:Function,placeholder:String,title:String,filterable:Boolean,format:Object,filterMethod:Function,defaultChecked:Array,props:Object},data:function(){return{checked:[],allChecked:!1,query:"",inputHover:!1,checkChangeByUser:!0}},watch:{checked:function(e,t){if(this.updateAllChecked(),this.checkChangeByUser){var i=e.concat(t).filter((function(i){return-1===e.indexOf(i)||-1===t.indexOf(i)}));this.$emit("checked-change",e,i)}else this.$emit("checked-change",e),this.checkChangeByUser=!0},data:function(){var e=this,t=[],i=this.filteredData.map((function(t){return t[e.keyProp]}));this.checked.forEach((function(e){i.indexOf(e)>-1&&t.push(e)})),this.checkChangeByUser=!1,this.checked=t},checkableData:function(){this.updateAllChecked()},defaultChecked:{immediate:!0,handler:function(e,t){var i=this;if(!t||e.length!==t.length||!e.every((function(e){return t.indexOf(e)>-1}))){var n=[],r=this.checkableData.map((function(e){return e[i.keyProp]}));e.forEach((function(e){r.indexOf(e)>-1&&n.push(e)})),this.checkChangeByUser=!1,this.checked=n}}}},computed:{filteredData:function(){var e=this;return this.data.filter((function(t){if("function"===typeof e.filterMethod)return e.filterMethod(e.query,t);var i=t[e.labelProp]||t[e.keyProp].toString();return i.toLowerCase().indexOf(e.query.toLowerCase())>-1}))},checkableData:function(){var e=this;return this.filteredData.filter((function(t){return!t[e.disabledProp]}))},checkedSummary:function(){var e=this.checked.length,t=this.data.length,i=this.format,n=i.noChecked,r=i.hasChecked;return n&&r?e>0?r.replace(/\${checked}/g,e).replace(/\${total}/g,t):n.replace(/\${total}/g,t):e+"/"+t},isIndeterminate:function(){var e=this.checked.length;return e>0&&e<this.checkableData.length},hasNoMatch:function(){return this.query.length>0&&0===this.filteredData.length},inputIcon:function(){return this.query.length>0&&this.inputHover?"circle-close":"search"},labelProp:function(){return this.props.label||"label"},keyProp:function(){return this.props.key||"key"},disabledProp:function(){return this.props.disabled||"disabled"},hasFooter:function(){return!!this.$slots.default}},methods:{updateAllChecked:function(){var e=this,t=this.checkableData.map((function(t){return t[e.keyProp]}));this.allChecked=t.length>0&&t.every((function(t){return e.checked.indexOf(t)>-1}))},handleAllCheckedChange:function(e){var t=this;this.checked=e?this.checkableData.map((function(e){return e[t.keyProp]})):[]},clearQuery:function(){"circle-close"===this.inputIcon&&(this.query="")}}},Op=Pp,Hp=o(Op,Np,Dp,!1,null,null,null);Hp.options.__file="packages/transfer/src/transfer-panel.vue";var Fp=Hp.exports,Lp={name:"ElTransfer",mixins:[M.a,g.a,E.a],components:{TransferPanel:Fp,ElButton:se.a},props:{data:{type:Array,default:function(){return[]}},titles:{type:Array,default:function(){return[]}},buttonTexts:{type:Array,default:function(){return[]}},filterPlaceholder:{type:String,default:""},filterMethod:Function,leftDefaultChecked:{type:Array,default:function(){return[]}},rightDefaultChecked:{type:Array,default:function(){return[]}},renderContent:Function,value:{type:Array,default:function(){return[]}},format:{type:Object,default:function(){return{}}},filterable:Boolean,props:{type:Object,default:function(){return{label:"label",key:"key",disabled:"disabled"}}},targetOrder:{type:String,default:"original"}},data:function(){return{leftChecked:[],rightChecked:[]}},computed:{dataObj:function(){var e=this.props.key;return this.data.reduce((function(t,i){return(t[i[e]]=i)&&t}),{})},sourceData:function(){var e=this;return this.data.filter((function(t){return-1===e.value.indexOf(t[e.props.key])}))},targetData:function(){var e=this;return"original"===this.targetOrder?this.data.filter((function(t){return e.value.indexOf(t[e.props.key])>-1})):this.value.reduce((function(t,i){var n=e.dataObj[i];return n&&t.push(n),t}),[])},hasButtonTexts:function(){return 2===this.buttonTexts.length}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",e)}},methods:{getMigratingConfig:function(){return{props:{"footer-format":"footer-format is renamed to format."}}},onSourceCheckedChange:function(e,t){this.leftChecked=e,void 0!==t&&this.$emit("left-check-change",e,t)},onTargetCheckedChange:function(e,t){this.rightChecked=e,void 0!==t&&this.$emit("right-check-change",e,t)},addToLeft:function(){var e=this.value.slice();this.rightChecked.forEach((function(t){var i=e.indexOf(t);i>-1&&e.splice(i,1)})),this.$emit("input",e),this.$emit("change",e,"left",this.rightChecked)},addToRight:function(){var e=this,t=this.value.slice(),i=[],n=this.props.key;this.data.forEach((function(t){var r=t[n];e.leftChecked.indexOf(r)>-1&&-1===e.value.indexOf(r)&&i.push(r)})),t="unshift"===this.targetOrder?i.concat(t):t.concat(i),this.$emit("input",t),this.$emit("change",t,"right",this.leftChecked)},clearQuery:function(e){"left"===e?this.$refs.leftPanel.query="":"right"===e&&(this.$refs.rightPanel.query="")}}},Vp=Lp,Rp=o(Vp,Tp,Ip,!1,null,null,null);Rp.options.__file="packages/transfer/src/main.vue";var Bp=Rp.exports;Bp.install=function(e){e.component(Bp.name,Bp)};var jp=Bp,$p=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("section",{staticClass:"el-container",class:{"is-vertical":e.isVertical}},[e._t("default")],2)},Kp=[];$p._withStripped=!0;var qp={name:"ElContainer",componentName:"ElContainer",props:{direction:String},computed:{isVertical:function(){return"vertical"===this.direction||"horizontal"!==this.direction&&(!(!this.$slots||!this.$slots.default)&&this.$slots.default.some((function(e){var t=e.componentOptions&&e.componentOptions.tag;return"el-header"===t||"el-footer"===t})))}}},Up=qp,Wp=o(Up,$p,Kp,!1,null,null,null);Wp.options.__file="packages/container/src/main.vue";var Xp=Wp.exports;Xp.install=function(e){e.component(Xp.name,Xp)};var Gp=Xp,Yp=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("header",{staticClass:"el-header",style:{height:e.height}},[e._t("default")],2)},Zp=[];Yp._withStripped=!0;var Jp={name:"ElHeader",componentName:"ElHeader",props:{height:{type:String,default:"60px"}}},Qp=Jp,em=o(Qp,Yp,Zp,!1,null,null,null);em.options.__file="packages/header/src/main.vue";var tm=em.exports;tm.install=function(e){e.component(tm.name,tm)};var im=tm,nm=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("aside",{staticClass:"el-aside",style:{width:e.width}},[e._t("default")],2)},rm=[];nm._withStripped=!0;var am={name:"ElAside",componentName:"ElAside",props:{width:{type:String,default:"300px"}}},sm=am,om=o(sm,nm,rm,!1,null,null,null);om.options.__file="packages/aside/src/main.vue";var cm=om.exports;cm.install=function(e){e.component(cm.name,cm)};var lm=cm,um=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("main",{staticClass:"el-main"},[e._t("default")],2)},hm=[];um._withStripped=!0;var dm={name:"ElMain",componentName:"ElMain"},fm=dm,pm=o(fm,um,hm,!1,null,null,null);pm.options.__file="packages/main/src/main.vue";var mm=pm.exports;mm.install=function(e){e.component(mm.name,mm)};var vm=mm,gm=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("footer",{staticClass:"el-footer",style:{height:e.height}},[e._t("default")],2)},ym=[];gm._withStripped=!0;var bm={name:"ElFooter",componentName:"ElFooter",props:{height:{type:String,default:"60px"}}},Cm=bm,Sm=o(Cm,gm,ym,!1,null,null,null);Sm.options.__file="packages/footer/src/main.vue";var xm=Sm.exports;xm.install=function(e){e.component(xm.name,xm)};var wm,_m,Am=xm,Em={name:"ElTimeline",props:{reverse:{type:Boolean,default:!1}},provide:function(){return{timeline:this}},render:function(){var e=arguments[0],t=this.reverse,i={"el-timeline":!0,"is-reverse":t},n=this.$slots.default||[];return t&&(n=n.reverse()),e("ul",{class:i},[n])}},km=Em,Mm=o(km,wm,_m,!1,null,null,null);Mm.options.__file="packages/timeline/src/main.vue";var zm=Mm.exports;zm.install=function(e){e.component(zm.name,zm)};var Tm=zm,Im=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{staticClass:"el-timeline-item"},[i("div",{staticClass:"el-timeline-item__tail"}),e.$slots.dot?e._e():i("div",{staticClass:"el-timeline-item__node",class:["el-timeline-item__node--"+(e.size||""),"el-timeline-item__node--"+(e.type||"")],style:{backgroundColor:e.color}},[e.icon?i("i",{staticClass:"el-timeline-item__icon",class:e.icon}):e._e()]),e.$slots.dot?i("div",{staticClass:"el-timeline-item__dot"},[e._t("dot")],2):e._e(),i("div",{staticClass:"el-timeline-item__wrapper"},[e.hideTimestamp||"top"!==e.placement?e._e():i("div",{staticClass:"el-timeline-item__timestamp is-top"},[e._v("\n      "+e._s(e.timestamp)+"\n    ")]),i("div",{staticClass:"el-timeline-item__content"},[e._t("default")],2),e.hideTimestamp||"bottom"!==e.placement?e._e():i("div",{staticClass:"el-timeline-item__timestamp is-bottom"},[e._v("\n      "+e._s(e.timestamp)+"\n    ")])])])},Nm=[];Im._withStripped=!0;var Dm={name:"ElTimelineItem",inject:["timeline"],props:{timestamp:String,hideTimestamp:{type:Boolean,default:!1},placement:{type:String,default:"bottom"},type:String,color:String,size:{type:String,default:"normal"},icon:String}},Pm=Dm,Om=o(Pm,Im,Nm,!1,null,null,null);Om.options.__file="packages/timeline/src/item.vue";var Hm=Om.exports;Hm.install=function(e){e.component(Hm.name,Hm)};var Fm=Hm,Lm=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",e._b({class:["el-link",e.type?"el-link--"+e.type:"",e.disabled&&"is-disabled",e.underline&&!e.disabled&&"is-underline"],attrs:{href:e.disabled?null:e.href},on:{click:e.handleClick}},"a",e.$attrs,!1),[e.icon?i("i",{class:e.icon}):e._e(),e.$slots.default?i("span",{staticClass:"el-link--inner"},[e._t("default")],2):e._e(),e.$slots.icon?[e.$slots.icon?e._t("icon"):e._e()]:e._e()],2)},Vm=[];Lm._withStripped=!0;var Rm={name:"ElLink",props:{type:{type:String,default:"default"},underline:{type:Boolean,default:!0},disabled:Boolean,href:String,icon:String},methods:{handleClick:function(e){this.disabled||this.href||this.$emit("click",e)}}},Bm=Rm,jm=o(Bm,Lm,Vm,!1,null,null,null);jm.options.__file="packages/link/src/main.vue";var $m=jm.exports;$m.install=function(e){e.component($m.name,$m)};var Km=$m,qm=function(e,t){var i=t._c;return i("div",t._g(t._b({class:[t.data.staticClass,"el-divider","el-divider--"+t.props.direction]},"div",t.data.attrs,!1),t.listeners),[t.slots().default&&"vertical"!==t.props.direction?i("div",{class:["el-divider__text","is-"+t.props.contentPosition]},[t._t("default")],2):t._e()])},Um=[];qm._withStripped=!0;var Wm={name:"ElDivider",props:{direction:{type:String,default:"horizontal",validator:function(e){return-1!==["horizontal","vertical"].indexOf(e)}},contentPosition:{type:String,default:"center",validator:function(e){return-1!==["left","center","right"].indexOf(e)}}}},Xm=Wm,Gm=o(Xm,qm,Um,!0,null,null,null);Gm.options.__file="packages/divider/src/main.vue";var Ym=Gm.exports;Ym.install=function(e){e.component(Ym.name,Ym)};var Zm=Ym,Jm=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-image"},[e.loading?e._t("placeholder",[i("div",{staticClass:"el-image__placeholder"})]):e.error?e._t("error",[i("div",{staticClass:"el-image__error"},[e._v(e._s(e.t("el.image.error")))])]):i("img",e._g(e._b({staticClass:"el-image__inner",class:{"el-image__inner--center":e.alignCenter,"el-image__preview":e.preview},style:e.imageStyle,attrs:{src:e.src},on:{click:e.clickHandler}},"img",e.$attrs,!1),e.$listeners)),e.preview?[e.showViewer?i("image-viewer",{attrs:{"z-index":e.zIndex,"initial-index":e.imageIndex,"on-close":e.closeViewer,"url-list":e.previewSrcList}}):e._e()]:e._e()],2)},Qm=[];Jm._withStripped=!0;var ev=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"viewer-fade"}},[i("div",{ref:"el-image-viewer__wrapper",staticClass:"el-image-viewer__wrapper",style:{"z-index":e.zIndex},attrs:{tabindex:"-1"}},[i("div",{staticClass:"el-image-viewer__mask"}),i("span",{staticClass:"el-image-viewer__btn el-image-viewer__close",on:{click:e.hide}},[i("i",{staticClass:"el-icon-circle-close"})]),e.isSingle?e._e():[i("span",{staticClass:"el-image-viewer__btn el-image-viewer__prev",class:{"is-disabled":!e.infinite&&e.isFirst},on:{click:e.prev}},[i("i",{staticClass:"el-icon-arrow-left"})]),i("span",{staticClass:"el-image-viewer__btn el-image-viewer__next",class:{"is-disabled":!e.infinite&&e.isLast},on:{click:e.next}},[i("i",{staticClass:"el-icon-arrow-right"})])],i("div",{staticClass:"el-image-viewer__btn el-image-viewer__actions"},[i("div",{staticClass:"el-image-viewer__actions__inner"},[i("i",{staticClass:"el-icon-zoom-out",on:{click:function(t){e.handleActions("zoomOut")}}}),i("i",{staticClass:"el-icon-zoom-in",on:{click:function(t){e.handleActions("zoomIn")}}}),i("i",{staticClass:"el-image-viewer__actions__divider"}),i("i",{class:e.mode.icon,on:{click:e.toggleMode}}),i("i",{staticClass:"el-image-viewer__actions__divider"}),i("i",{staticClass:"el-icon-refresh-left",on:{click:function(t){e.handleActions("anticlocelise")}}}),i("i",{staticClass:"el-icon-refresh-right",on:{click:function(t){e.handleActions("clocelise")}}})])]),i("div",{staticClass:"el-image-viewer__canvas"},e._l(e.urlList,(function(t,n){return n===e.index?i("img",{key:t,ref:"img",refInFor:!0,staticClass:"el-image-viewer__img",style:e.imgStyle,attrs:{src:e.currentImg},on:{load:e.handleImgLoad,error:e.handleImgError,mousedown:e.handleMouseDown}}):e._e()})),0)],2)])},tv=[];ev._withStripped=!0;var iv=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},nv={CONTAIN:{name:"contain",icon:"el-icon-full-screen"},ORIGINAL:{name:"original",icon:"el-icon-c-scale-to-original"}},rv=Object(y["isFirefox"])()?"DOMMouseScroll":"mousewheel",av={name:"elImageViewer",props:{urlList:{type:Array,default:function(){return[]}},zIndex:{type:Number,default:2e3},onSwitch:{type:Function,default:function(){}},onClose:{type:Function,default:function(){}},initialIndex:{type:Number,default:0}},data:function(){return{index:this.initialIndex,isShow:!1,infinite:!0,loading:!1,mode:nv.CONTAIN,transform:{scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}},computed:{isSingle:function(){return this.urlList.length<=1},isFirst:function(){return 0===this.index},isLast:function(){return this.index===this.urlList.length-1},currentImg:function(){return this.urlList[this.index]},imgStyle:function(){var e=this.transform,t=e.scale,i=e.deg,n=e.offsetX,r=e.offsetY,a=e.enableTransition,s={transform:"scale("+t+") rotate("+i+"deg)",transition:a?"transform .3s":"","margin-left":n+"px","margin-top":r+"px"};return this.mode===nv.CONTAIN&&(s.maxWidth=s.maxHeight="100%"),s}},watch:{index:{handler:function(e){this.reset(),this.onSwitch(e)}},currentImg:function(e){var t=this;this.$nextTick((function(e){var i=t.$refs.img[0];i.complete||(t.loading=!0)}))}},methods:{hide:function(){this.deviceSupportUninstall(),this.onClose()},deviceSupportInstall:function(){var e=this;this._keyDownHandler=Object(y["rafThrottle"])((function(t){var i=t.keyCode;switch(i){case 27:e.hide();break;case 32:e.toggleMode();break;case 37:e.prev();break;case 38:e.handleActions("zoomIn");break;case 39:e.next();break;case 40:e.handleActions("zoomOut");break}})),this._mouseWheelHandler=Object(y["rafThrottle"])((function(t){var i=t.wheelDelta?t.wheelDelta:-t.detail;i>0?e.handleActions("zoomIn",{zoomRate:.015,enableTransition:!1}):e.handleActions("zoomOut",{zoomRate:.015,enableTransition:!1})})),Object(Le["on"])(document,"keydown",this._keyDownHandler),Object(Le["on"])(document,rv,this._mouseWheelHandler)},deviceSupportUninstall:function(){Object(Le["off"])(document,"keydown",this._keyDownHandler),Object(Le["off"])(document,rv,this._mouseWheelHandler),this._keyDownHandler=null,this._mouseWheelHandler=null},handleImgLoad:function(e){this.loading=!1},handleImgError:function(e){this.loading=!1,e.target.alt="加载失败"},handleMouseDown:function(e){var t=this;if(!this.loading&&0===e.button){var i=this.transform,n=i.offsetX,r=i.offsetY,a=e.pageX,s=e.pageY;this._dragHandler=Object(y["rafThrottle"])((function(e){t.transform.offsetX=n+e.pageX-a,t.transform.offsetY=r+e.pageY-s})),Object(Le["on"])(document,"mousemove",this._dragHandler),Object(Le["on"])(document,"mouseup",(function(e){Object(Le["off"])(document,"mousemove",t._dragHandler)})),e.preventDefault()}},reset:function(){this.transform={scale:1,deg:0,offsetX:0,offsetY:0,enableTransition:!1}},toggleMode:function(){if(!this.loading){var e=Object.keys(nv),t=Object.values(nv),i=t.indexOf(this.mode),n=(i+1)%e.length;this.mode=nv[e[n]],this.reset()}},prev:function(){if(!this.isFirst||this.infinite){var e=this.urlList.length;this.index=(this.index-1+e)%e}},next:function(){if(!this.isLast||this.infinite){var e=this.urlList.length;this.index=(this.index+1)%e}},handleActions:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.loading){var i=iv({zoomRate:.2,rotateDeg:90,enableTransition:!0},t),n=i.zoomRate,r=i.rotateDeg,a=i.enableTransition,s=this.transform;switch(e){case"zoomOut":s.scale>.2&&(s.scale=parseFloat((s.scale-n).toFixed(3)));break;case"zoomIn":s.scale=parseFloat((s.scale+n).toFixed(3));break;case"clocelise":s.deg+=r;break;case"anticlocelise":s.deg-=r;break}s.enableTransition=a}}},mounted:function(){this.deviceSupportInstall(),this.$refs["el-image-viewer__wrapper"].focus()}},sv=av,ov=o(sv,ev,tv,!1,null,null,null);ov.options.__file="packages/image/src/image-viewer.vue";var cv=ov.exports,lv=function(){return void 0!==document.documentElement.style.objectFit},uv={NONE:"none",CONTAIN:"contain",COVER:"cover",FILL:"fill",SCALE_DOWN:"scale-down"},hv="",dv={name:"ElImage",mixins:[g.a],inheritAttrs:!1,components:{ImageViewer:cv},props:{src:String,fit:String,lazy:Boolean,scrollContainer:{},previewSrcList:{type:Array,default:function(){return[]}},zIndex:{type:Number,default:2e3}},data:function(){return{loading:!0,error:!1,show:!this.lazy,imageWidth:0,imageHeight:0,showViewer:!1}},computed:{imageStyle:function(){var e=this.fit;return!this.$isServer&&e?lv()?{"object-fit":e}:this.getImageStyle(e):{}},alignCenter:function(){return!this.$isServer&&!lv()&&this.fit!==uv.FILL},preview:function(){var e=this.previewSrcList;return Array.isArray(e)&&e.length>0},imageIndex:function(){var e=0,t=this.previewSrcList.indexOf(this.src);return t>=0&&(e=t),e}},watch:{src:function(e){this.show&&this.loadImage()},show:function(e){e&&this.loadImage()}},mounted:function(){this.lazy?this.addLazyLoadListener():this.loadImage()},beforeDestroy:function(){this.lazy&&this.removeLazyLoadListener()},methods:{loadImage:function(){var e=this;if(!this.$isServer){this.loading=!0,this.error=!1;var t=new Image;t.onload=function(i){return e.handleLoad(i,t)},t.onerror=this.handleError.bind(this),Object.keys(this.$attrs).forEach((function(i){var n=e.$attrs[i];t.setAttribute(i,n)})),t.src=this.src}},handleLoad:function(e,t){this.imageWidth=t.width,this.imageHeight=t.height,this.loading=!1,this.error=!1},handleError:function(e){this.loading=!1,this.error=!0,this.$emit("error",e)},handleLazyLoad:function(){Object(Le["isInContainer"])(this.$el,this._scrollContainer)&&(this.show=!0,this.removeLazyLoadListener())},addLazyLoadListener:function(){if(!this.$isServer){var e=this.scrollContainer,t=null;t=Object(dd["isHtmlElement"])(e)?e:Object(dd["isString"])(e)?document.querySelector(e):Object(Le["getScrollContainer"])(this.$el),t&&(this._scrollContainer=t,this._lazyLoadHandler=Od()(200,this.handleLazyLoad),Object(Le["on"])(t,"scroll",this._lazyLoadHandler),this.handleLazyLoad())}},removeLazyLoadListener:function(){var e=this._scrollContainer,t=this._lazyLoadHandler;!this.$isServer&&e&&t&&(Object(Le["off"])(e,"scroll",t),this._scrollContainer=null,this._lazyLoadHandler=null)},getImageStyle:function(e){var t=this.imageWidth,i=this.imageHeight,n=this.$el,r=n.clientWidth,a=n.clientHeight;if(!t||!i||!r||!a)return{};var s=t/i<1;if(e===uv.SCALE_DOWN){var o=t<r&&i<a;e=o?uv.NONE:uv.CONTAIN}switch(e){case uv.NONE:return{width:"auto",height:"auto"};case uv.CONTAIN:return s?{width:"auto"}:{height:"auto"};case uv.COVER:return s?{height:"auto"}:{width:"auto"};default:return{}}},clickHandler:function(){this.preview&&(hv=document.body.style.overflow,document.body.style.overflow="hidden",this.showViewer=!0)},closeViewer:function(){document.body.style.overflow=hv,this.showViewer=!1}}},fv=dv,pv=o(fv,Jm,Qm,!1,null,null,null);pv.options.__file="packages/image/src/main.vue";var mv=pv.exports;mv.install=function(e){e.component(mv.name,mv)};var vv=mv,gv=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-calendar"},[i("div",{staticClass:"el-calendar__header"},[i("div",{staticClass:"el-calendar__title"},[e._v("\n      "+e._s(e.i18nDate)+"\n    ")]),0===e.validatedRange.length?i("div",{staticClass:"el-calendar__button-group"},[i("el-button-group",[i("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){e.selectDate("prev-month")}}},[e._v("\n          "+e._s(e.t("el.datepicker.prevMonth"))+"\n        ")]),i("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){e.selectDate("today")}}},[e._v("\n          "+e._s(e.t("el.datepicker.today"))+"\n        ")]),i("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){e.selectDate("next-month")}}},[e._v("\n          "+e._s(e.t("el.datepicker.nextMonth"))+"\n        ")])],1)],1):e._e()]),0===e.validatedRange.length?i("div",{key:"no-range",staticClass:"el-calendar__body"},[i("date-table",{attrs:{date:e.date,"selected-day":e.realSelectedDay,"first-day-of-week":e.realFirstDayOfWeek},on:{pick:e.pickDay}})],1):i("div",{key:"has-range",staticClass:"el-calendar__body"},e._l(e.validatedRange,(function(t,n){return i("date-table",{key:n,attrs:{date:t[0],"selected-day":e.realSelectedDay,range:t,"hide-header":0!==n,"first-day-of-week":e.realFirstDayOfWeek},on:{pick:e.pickDay}})})),1)])},yv=[];gv._withStripped=!0;var bv,Cv,Sv=i(20),xv=i.n(Sv),wv={props:{selectedDay:String,range:{type:Array,validator:function(e){if(!e||!e.length)return!0;var t=e[0],i=e[1];return Object(sa["validateRangeInOneMonth"])(t,i)}},date:Date,hideHeader:Boolean,firstDayOfWeek:Number},inject:["elCalendar"],data:function(){return{WEEK_DAYS:Object(sa["getI18nSettings"])().dayNames}},methods:{toNestedArr:function(e){return Object(sa["range"])(e.length/7).map((function(t,i){var n=7*i;return e.slice(n,n+7)}))},getFormateDate:function(e,t){if(!e||-1===["prev","current","next"].indexOf(t))throw new Error("invalid day or type");var i=this.curMonthDatePrefix;return"prev"===t?i=this.prevMonthDatePrefix:"next"===t&&(i=this.nextMonthDatePrefix),e=("00"+e).slice(-2),i+"-"+e},getCellClass:function(e){var t=e.text,i=e.type,n=[i];if("current"===i){var r=this.getFormateDate(t,i);r===this.selectedDay&&n.push("is-selected"),r===this.formatedToday&&n.push("is-today")}return n},pickDay:function(e){var t=e.text,i=e.type,n=this.getFormateDate(t,i);this.$emit("pick",n)},cellRenderProxy:function(e){var t=e.text,i=e.type,n=this.$createElement,r=this.elCalendar.$scopedSlots.dateCell;if(!r)return n("span",[t]);var a=this.getFormateDate(t,i),s=new Date(a),o={isSelected:this.selectedDay===a,type:i+"-month",day:a};return r({date:s,data:o})}},computed:{prevMonthDatePrefix:function(){var e=new Date(this.date.getTime());return e.setDate(0),xv.a.format(e,"yyyy-MM")},curMonthDatePrefix:function(){return xv.a.format(this.date,"yyyy-MM")},nextMonthDatePrefix:function(){var e=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return xv.a.format(e,"yyyy-MM")},formatedToday:function(){return this.elCalendar.formatedToday},isInRange:function(){return this.range&&this.range.length},rows:function(){var e=[];if(this.isInRange){var t=this.range,i=t[0],n=t[1],r=Object(sa["range"])(n.getDate()-i.getDate()+1).map((function(e,t){return{text:i.getDate()+t,type:"current"}})),a=r.length%7;a=0===a?0:7-a;var s=Object(sa["range"])(a).map((function(e,t){return{text:t+1,type:"next"}}));e=r.concat(s)}else{var o=this.date,c=Object(sa["getFirstDayOfMonth"])(o);c=0===c?7:c;var l="number"===typeof this.firstDayOfWeek?this.firstDayOfWeek:1,u=Object(sa["getPrevMonthLastDays"])(o,c-l).map((function(e){return{text:e,type:"prev"}})),h=Object(sa["getMonthDays"])(o).map((function(e){return{text:e,type:"current"}}));e=[].concat(u,h);var d=Object(sa["range"])(42-e.length).map((function(e,t){return{text:t+1,type:"next"}}));e=e.concat(d)}return this.toNestedArr(e)},weekDays:function(){var e=this.firstDayOfWeek,t=this.WEEK_DAYS;return"number"!==typeof e||0===e?t.slice():t.slice(e).concat(t.slice(0,e))}},render:function(){var e=this,t=arguments[0],i=this.hideHeader?null:t("thead",[this.weekDays.map((function(e){return t("th",{key:e},[e])}))]);return t("table",{class:{"el-calendar-table":!0,"is-range":this.isInRange},attrs:{cellspacing:"0",cellpadding:"0"}},[i,t("tbody",[this.rows.map((function(i,n){return t("tr",{class:{"el-calendar-table__row":!0,"el-calendar-table__row--hide-border":0===n&&e.hideHeader},key:n},[i.map((function(i,n){return t("td",{key:n,class:e.getCellClass(i),on:{click:e.pickDay.bind(e,i)}},[t("div",{class:"el-calendar-day"},[e.cellRenderProxy(i)])])}))])}))])])}},_v=wv,Av=o(_v,bv,Cv,!1,null,null,null);Av.options.__file="packages/calendar/src/date-table.vue";var Ev=Av.exports,kv=["prev-month","today","next-month"],Mv=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],zv=864e5,Tv={name:"ElCalendar",mixins:[g.a],components:{DateTable:Ev,ElButton:se.a,ElButtonGroup:ce.a},props:{value:[Date,String,Number],range:{type:Array,validator:function(e){return!Array.isArray(e)||2===e.length&&e.every((function(e){return"string"===typeof e||"number"===typeof e||e instanceof Date}))}},firstDayOfWeek:{type:Number,default:1}},provide:function(){return{elCalendar:this}},methods:{pickDay:function(e){this.realSelectedDay=e},selectDate:function(e){if(-1===kv.indexOf(e))throw new Error("invalid type "+e);var t="";t="prev-month"===e?this.prevMonthDatePrefix+"-01":"next-month"===e?this.nextMonthDatePrefix+"-01":this.formatedToday,t!==this.formatedDate&&this.pickDay(t)},toDate:function(e){if(!e)throw new Error("invalid val");return e instanceof Date?e:new Date(e)},rangeValidator:function(e,t){var i=this.realFirstDayOfWeek,n=t?i:0===i?6:i-1,r=(t?"start":"end")+" of range should be "+Mv[n]+".";return e.getDay()===n||(console.warn("[ElementCalendar]",r,"Invalid range will be ignored."),!1)}},computed:{prevMonthDatePrefix:function(){var e=new Date(this.date.getTime());return e.setDate(0),xv.a.format(e,"yyyy-MM")},curMonthDatePrefix:function(){return xv.a.format(this.date,"yyyy-MM")},nextMonthDatePrefix:function(){var e=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return xv.a.format(e,"yyyy-MM")},formatedDate:function(){return xv.a.format(this.date,"yyyy-MM-dd")},i18nDate:function(){var e=this.date.getFullYear(),t=this.date.getMonth()+1;return e+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+t)},formatedToday:function(){return xv.a.format(this.now,"yyyy-MM-dd")},realSelectedDay:{get:function(){return this.value?this.formatedDate:this.selectedDay},set:function(e){this.selectedDay=e;var t=new Date(e);this.$emit("input",t)}},date:function(){if(this.value)return this.toDate(this.value);if(this.realSelectedDay){var e=this.selectedDay.split("-");return new Date(e[0],e[1]-1,e[2])}return this.validatedRange.length?this.validatedRange[0][0]:this.now},validatedRange:function(){var e=this,t=this.range;if(!t)return[];if(t=t.reduce((function(t,i,n){var r=e.toDate(i);return e.rangeValidator(r,0===n)&&(t=t.concat(r)),t}),[]),2===t.length){var i=t,n=i[0],r=i[1];if(n>r)return console.warn("[ElementCalendar]end time should be greater than start time"),[];if(Object(sa["validateRangeInOneMonth"])(n,r))return[[n,r]];var a=[],s=new Date(n.getFullYear(),n.getMonth()+1,1),o=this.toDate(s.getTime()-zv);if(!Object(sa["validateRangeInOneMonth"])(s,r))return console.warn("[ElementCalendar]start time and end time interval must not exceed two months"),[];a.push([n,o]);var c=this.realFirstDayOfWeek,l=s.getDay(),u=0;return l!==c&&(0===c?u=7-l:(u=c-l,u=u>0?u:7+u)),s=this.toDate(s.getTime()+u*zv),s.getDate()<r.getDate()&&a.push([s,r]),a}return[]},realFirstDayOfWeek:function(){return this.firstDayOfWeek<1||this.firstDayOfWeek>6?0:Math.floor(this.firstDayOfWeek)}},data:function(){return{selectedDay:"",now:new Date}}},Iv=Tv,Nv=o(Iv,gv,yv,!1,null,null,null);Nv.options.__file="packages/calendar/src/main.vue";var Dv=Nv.exports;Dv.install=function(e){e.component(Dv.name,Dv)};var Pv=Dv,Ov=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-fade-in"}},[e.visible?i("div",{staticClass:"el-backtop",style:{right:e.styleRight,bottom:e.styleBottom},on:{click:function(t){return t.stopPropagation(),e.handleClick(t)}}},[e._t("default",[i("el-icon",{attrs:{name:"caret-top"}})])],2):e._e()])},Hv=[];Ov._withStripped=!0;var Fv=function(e){return Math.pow(e,3)},Lv=function(e){return e<.5?Fv(2*e)/2:1-Fv(2*(1-e))/2},Vv={name:"ElBacktop",props:{visibilityHeight:{type:Number,default:200},target:[String],right:{type:Number,default:40},bottom:{type:Number,default:40}},data:function(){return{el:null,container:null,visible:!1}},computed:{styleBottom:function(){return this.bottom+"px"},styleRight:function(){return this.right+"px"}},mounted:function(){this.init(),this.throttledScrollHandler=Od()(300,this.onScroll),this.container.addEventListener("scroll",this.throttledScrollHandler)},methods:{init:function(){if(this.container=document,this.el=document.documentElement,this.target){if(this.el=document.querySelector(this.target),!this.el)throw new Error("target is not existed: "+this.target);this.container=this.el}},onScroll:function(){var e=this.el.scrollTop;this.visible=e>=this.visibilityHeight},handleClick:function(e){this.scrollToTop(),this.$emit("click",e)},scrollToTop:function(){var e=this.el,t=Date.now(),i=e.scrollTop,n=window.requestAnimationFrame||function(e){return setTimeout(e,16)},r=function r(){var a=(Date.now()-t)/500;a<1?(e.scrollTop=i*(1-Lv(a)),n(r)):e.scrollTop=0};n(r)}},beforeDestroy:function(){this.container.removeEventListener("scroll",this.throttledScrollHandler)}},Rv=Vv,Bv=o(Rv,Ov,Hv,!1,null,null,null);Bv.options.__file="packages/backtop/src/main.vue";var jv=Bv.exports;jv.install=function(e){e.component(jv.name,jv)};var $v=jv,Kv=function(e,t){if(e===window&&(e=document.documentElement),1!==e.nodeType)return[];var i=window.getComputedStyle(e,null);return t?i[t]:i},qv=function(e){return Object.keys(e||{}).map((function(t){return[t,e[t]]}))},Uv=function(e,t){return e===window||e===document?document.documentElement[t]:e[t]},Wv=function(e){return Uv(e,"offsetHeight")},Xv=function(e){return Uv(e,"clientHeight")},Gv="ElInfiniteScroll",Yv={delay:{type:Number,default:200},distance:{type:Number,default:0},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},Zv=function(e,t){return Object(dd["isHtmlElement"])(e)?qv(Yv).reduce((function(i,n){var r=n[0],a=n[1],s=a.type,o=a.default,c=e.getAttribute("infinite-scroll-"+r);switch(c=Object(dd["isUndefined"])(t[c])?c:t[c],s){case Number:c=Number(c),c=Number.isNaN(c)?o:c;break;case Boolean:c=Object(dd["isDefined"])(c)?"false"!==c&&Boolean(c):o;break;default:c=s(c)}return i[r]=c,i}),{}):{}},Jv=function(e){return e.getBoundingClientRect().top},Qv=function(e){var t=this[Gv],i=t.el,n=t.vm,r=t.container,a=t.observer,s=Zv(i,n),o=s.distance,c=s.disabled;if(!c){var l=r.getBoundingClientRect();if(l.width||l.height){var u=!1;if(r===i){var h=r.scrollTop+Xv(r);u=r.scrollHeight-h<=o}else{var d=Wv(i)+Jv(i)-Jv(r),f=Wv(r),p=Number.parseFloat(Kv(r,"borderBottomWidth"));u=d-f+p<=o}u&&Object(dd["isFunction"])(e)?e.call(n):a&&(a.disconnect(),this[Gv].observer=null)}}},eg={name:"InfiniteScroll",inserted:function(e,t,i){var n=t.value,r=i.context,a=Object(Le["getScrollContainer"])(e,!0),s=Zv(e,r),o=s.delay,c=s.immediate,l=F()(o,Qv.bind(e,n));if(e[Gv]={el:e,vm:r,container:a,onScroll:l},a&&(a.addEventListener("scroll",l),c)){var u=e[Gv].observer=new MutationObserver(l);u.observe(a,{childList:!0,subtree:!0}),l()}},unbind:function(e){var t=e[Gv],i=t.container,n=t.onScroll;i&&i.removeEventListener("scroll",n)},install:function(e){e.directive(eg.name,eg)}},tg=eg,ig=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-page-header"},[i("div",{staticClass:"el-page-header__left",on:{click:function(t){e.$emit("back")}}},[i("i",{staticClass:"el-icon-back"}),i("div",{staticClass:"el-page-header__title"},[e._t("title",[e._v(e._s(e.title))])],2)]),i("div",{staticClass:"el-page-header__content"},[e._t("content",[e._v(e._s(e.content))])],2)])},ng=[];ig._withStripped=!0;var rg={name:"ElPageHeader",props:{title:{type:String,default:function(){return Object(en["t"])("el.pageHeader.title")}},content:String}},ag=rg,sg=o(ag,ig,ng,!1,null,null,null);sg.options.__file="packages/page-header/src/main.vue";var og=sg.exports;og.install=function(e){e.component(og.name,og)};var cg=og,lg=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:["el-cascader-panel",e.border&&"is-bordered"],on:{keydown:e.handleKeyDown}},e._l(e.menus,(function(e,t){return i("cascader-menu",{key:t,ref:"menu",refInFor:!0,attrs:{index:t,nodes:e}})})),1)},ug=[];lg._withStripped=!0;var hg,dg,fg=i(43),pg=i.n(fg),mg=function(e){return e.stopPropagation()},vg={inject:["panel"],components:{ElCheckbox:Hn.a,ElRadio:pg.a},props:{node:{required:!0},nodeId:String},computed:{config:function(){return this.panel.config},isLeaf:function(){return this.node.isLeaf},isDisabled:function(){return this.node.isDisabled},checkedValue:function(){return this.panel.checkedValue},isChecked:function(){return this.node.isSameNode(this.checkedValue)},inActivePath:function(){return this.isInPath(this.panel.activePath)},inCheckedPath:function(){var e=this;return!!this.config.checkStrictly&&this.panel.checkedNodePaths.some((function(t){return e.isInPath(t)}))},value:function(){return this.node.getValueByOption()}},methods:{handleExpand:function(){var e=this,t=this.panel,i=this.node,n=this.isDisabled,r=this.config,a=r.multiple,s=r.checkStrictly;!s&&n||i.loading||(r.lazy&&!i.loaded?t.lazyLoad(i,(function(){var t=e.isLeaf;if(t||e.handleExpand(),a){var n=!!t&&i.checked;e.handleMultiCheckChange(n)}})):t.handleExpand(i))},handleCheckChange:function(){var e=this.panel,t=this.value,i=this.node;e.handleCheckChange(t),e.handleExpand(i)},handleMultiCheckChange:function(e){this.node.doCheck(e),this.panel.calculateMultiCheckedValue()},isInPath:function(e){var t=this.node,i=e[t.level-1]||{};return i.uid===t.uid},renderPrefix:function(e){var t=this.isLeaf,i=this.isChecked,n=this.config,r=n.checkStrictly,a=n.multiple;return a?this.renderCheckbox(e):r?this.renderRadio(e):t&&i?this.renderCheckIcon(e):null},renderPostfix:function(e){var t=this.node,i=this.isLeaf;return t.loading?this.renderLoadingIcon(e):i?null:this.renderExpandIcon(e)},renderCheckbox:function(e){var t=this.node,i=this.config,n=this.isDisabled,r={on:{change:this.handleMultiCheckChange},nativeOn:{}};return i.checkStrictly&&(r.nativeOn.click=mg),e("el-checkbox",Ju()([{attrs:{value:t.checked,indeterminate:t.indeterminate,disabled:n}},r]))},renderRadio:function(e){var t=this.checkedValue,i=this.value,n=this.isDisabled;return Object(y["isEqual"])(i,t)&&(i=t),e("el-radio",{attrs:{value:t,label:i,disabled:n},on:{change:this.handleCheckChange},nativeOn:{click:mg}},[e("span")])},renderCheckIcon:function(e){return e("i",{class:"el-icon-check el-cascader-node__prefix"})},renderLoadingIcon:function(e){return e("i",{class:"el-icon-loading el-cascader-node__postfix"})},renderExpandIcon:function(e){return e("i",{class:"el-icon-arrow-right el-cascader-node__postfix"})},renderContent:function(e){var t=this.panel,i=this.node,n=t.renderLabelFn,r=n?n({node:i,data:i.data}):null;return e("span",{class:"el-cascader-node__label"},[r||i.label])}},render:function(e){var t=this,i=this.inActivePath,n=this.inCheckedPath,r=this.isChecked,a=this.isLeaf,s=this.isDisabled,o=this.config,c=this.nodeId,l=o.expandTrigger,u=o.checkStrictly,h=o.multiple,d=!u&&s,f={on:{}};return"click"===l?f.on.click=this.handleExpand:(f.on.mouseenter=function(e){t.handleExpand(),t.$emit("expand",e)},f.on.focus=function(e){t.handleExpand(),t.$emit("expand",e)}),!a||s||u||h||(f.on.click=this.handleCheckChange),e("li",Ju()([{attrs:{role:"menuitem",id:c,"aria-expanded":i,tabindex:d?null:-1},class:{"el-cascader-node":!0,"is-selectable":u,"in-active-path":i,"in-checked-path":n,"is-active":r,"is-disabled":d}},f]),[this.renderPrefix(e),this.renderContent(e),this.renderPostfix(e)])}},gg=vg,yg=o(gg,hg,dg,!1,null,null,null);yg.options.__file="packages/cascader-panel/src/cascader-node.vue";var bg,Cg,Sg=yg.exports,xg={name:"ElCascaderMenu",mixins:[g.a],inject:["panel"],components:{ElScrollbar:q.a,CascaderNode:Sg},props:{nodes:{type:Array,required:!0},index:Number},data:function(){return{activeNode:null,hoverTimer:null,id:Object(y["generateId"])()}},computed:{isEmpty:function(){return!this.nodes.length},menuId:function(){return"cascader-menu-"+this.id+"-"+this.index}},methods:{handleExpand:function(e){this.activeNode=e.target},handleMouseMove:function(e){var t=this.activeNode,i=this.hoverTimer,n=this.$refs.hoverZone;if(t&&n)if(t.contains(e.target)){clearTimeout(i);var r=this.$el.getBoundingClientRect(),a=r.left,s=e.clientX-a,o=this.$el,c=o.offsetWidth,l=o.offsetHeight,u=t.offsetTop,h=u+t.offsetHeight;n.innerHTML='\n          <path style="pointer-events: auto;" fill="transparent" d="M'+s+" "+u+" L"+c+" 0 V"+u+' Z" />\n          <path style="pointer-events: auto;" fill="transparent" d="M'+s+" "+h+" L"+c+" "+l+" V"+h+' Z" />\n        '}else i||(this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold))},clearHoverZone:function(){var e=this.$refs.hoverZone;e&&(e.innerHTML="")},renderEmptyText:function(e){return e("div",{class:"el-cascader-menu__empty-text"},[this.t("el.cascader.noData")])},renderNodeList:function(e){var t=this.menuId,i=this.panel.isHoverMenu,n={on:{}};i&&(n.on.expand=this.handleExpand);var r=this.nodes.map((function(i,r){var a=i.hasChildren;return e("cascader-node",Ju()([{key:i.uid,attrs:{node:i,"node-id":t+"-"+r,"aria-haspopup":a,"aria-owns":a?t:null}},n]))}));return[].concat(r,[i?e("svg",{ref:"hoverZone",class:"el-cascader-menu__hover-zone"}):null])}},render:function(e){var t=this.isEmpty,i=this.menuId,n={nativeOn:{}};return this.panel.isHoverMenu&&(n.nativeOn.mousemove=this.handleMouseMove),e("el-scrollbar",Ju()([{attrs:{tag:"ul",role:"menu",id:i,"wrap-class":"el-cascader-menu__wrap","view-class":{"el-cascader-menu__list":!0,"is-empty":t}},class:"el-cascader-menu"},n]),[t?this.renderEmptyText(e):this.renderNodeList(e)])}},wg=xg,_g=o(wg,bg,Cg,!1,null,null,null);_g.options.__file="packages/cascader-panel/src/cascader-menu.vue";var Ag=_g.exports,Eg=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function kg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Mg=0,zg=function(){function e(t,i,n){kg(this,e),this.data=t,this.config=i,this.parent=n||null,this.level=this.parent?this.parent.level+1:1,this.uid=Mg++,this.initState(),this.initChildren()}return e.prototype.initState=function(){var e=this.config,t=e.value,i=e.label;this.value=this.data[t],this.label=this.data[i],this.pathNodes=this.calculatePathNodes(),this.path=this.pathNodes.map((function(e){return e.value})),this.pathLabels=this.pathNodes.map((function(e){return e.label})),this.loading=!1,this.loaded=!1},e.prototype.initChildren=function(){var t=this,i=this.config,n=i.children,r=this.data[n];this.hasChildren=Array.isArray(r),this.children=(r||[]).map((function(n){return new e(n,i,t)}))},e.prototype.calculatePathNodes=function(){var e=[this],t=this.parent;while(t)e.unshift(t),t=t.parent;return e},e.prototype.getPath=function(){return this.path},e.prototype.getValue=function(){return this.value},e.prototype.getValueByOption=function(){return this.config.emitPath?this.getPath():this.getValue()},e.prototype.getText=function(e,t){return e?this.pathLabels.join(t):this.label},e.prototype.isSameNode=function(e){var t=this.getValueByOption();return this.config.multiple&&Array.isArray(e)?e.some((function(e){return Object(y["isEqual"])(e,t)})):Object(y["isEqual"])(e,t)},e.prototype.broadcast=function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];var r="onParent"+Object(y["capitalize"])(e);this.children.forEach((function(t){t&&(t.broadcast.apply(t,[e].concat(i)),t[r]&&t[r].apply(t,i))}))},e.prototype.emit=function(e){var t=this.parent,i="onChild"+Object(y["capitalize"])(e);if(t){for(var n=arguments.length,r=Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];t[i]&&t[i].apply(t,r),t.emit.apply(t,[e].concat(r))}},e.prototype.onParentCheck=function(e){this.isDisabled||this.setCheckState(e)},e.prototype.onChildCheck=function(){var e=this.children,t=e.filter((function(e){return!e.isDisabled})),i=!!t.length&&t.every((function(e){return e.checked}));this.setCheckState(i)},e.prototype.setCheckState=function(e){var t=this.children.length,i=this.children.reduce((function(e,t){var i=t.checked?1:t.indeterminate?.5:0;return e+i}),0);this.checked=e,this.indeterminate=i!==t&&i>0},e.prototype.syncCheckState=function(e){var t=this.getValueByOption(),i=this.isSameNode(e,t);this.doCheck(i)},e.prototype.doCheck=function(e){this.checked!==e&&(this.config.checkStrictly?this.checked=e:(this.broadcast("check",e),this.setCheckState(e),this.emit("check")))},Eg(e,[{key:"isDisabled",get:function(){var e=this.data,t=this.parent,i=this.config,n=i.disabled,r=i.checkStrictly;return e[n]||!r&&t&&t.isDisabled}},{key:"isLeaf",get:function(){var e=this.data,t=this.loaded,i=this.hasChildren,n=this.children,r=this.config,a=r.lazy,s=r.leaf;if(a){var o=Object(Et["isDef"])(e[s])?e[s]:!!t&&!n.length;return this.hasChildren=!o,o}return!i}}]),e}(),Tg=zg;function Ig(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var Ng=function e(t,i){return t.reduce((function(t,n){return n.isLeaf?t.push(n):(!i&&t.push(n),t=t.concat(e(n.children,i))),t}),[])},Dg=function(){function e(t,i){Ig(this,e),this.config=i,this.initNodes(t)}return e.prototype.initNodes=function(e){var t=this;e=Object(y["coerceTruthyValueToArray"])(e),this.nodes=e.map((function(e){return new Tg(e,t.config)})),this.flattedNodes=this.getFlattedNodes(!1,!1),this.leafNodes=this.getFlattedNodes(!0,!1)},e.prototype.appendNode=function(e,t){var i=new Tg(e,this.config,t),n=t?t.children:this.nodes;n.push(i)},e.prototype.appendNodes=function(e,t){var i=this;e=Object(y["coerceTruthyValueToArray"])(e),e.forEach((function(e){return i.appendNode(e,t)}))},e.prototype.getNodes=function(){return this.nodes},e.prototype.getFlattedNodes=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=e?this.leafNodes:this.flattedNodes;return t?i:Ng(this.nodes,e)},e.prototype.getNodeByValue=function(e){if(e){var t=this.getFlattedNodes(!1,!this.config.lazy).filter((function(t){return Object(y["valueEquals"])(t.path,e)||t.value===e}));return t&&t.length?t[0]:null}return null},e}(),Pg=Dg,Og=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Hg=Cf.a.keys,Fg={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:y["noop"],value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},Lg=function(e){return!e.getAttribute("aria-owns")},Vg=function(e,t){var i=e.parentNode;if(i){var n=i.querySelectorAll('.el-cascader-node[tabindex="-1"]'),r=Array.prototype.indexOf.call(n,e);return n[r+t]||null}return null},Rg=function(e,t){if(e){var i=e.id.split("-");return Number(i[i.length-2])}},Bg=function(e){e&&(e.focus(),!Lg(e)&&e.click())},jg=function(e){if(e){var t=e.querySelector("input");t?t.click():Lg(e)&&e.click()}},$g={name:"ElCascaderPanel",components:{CascaderMenu:Ag},props:{value:{},options:Array,props:Object,border:{type:Boolean,default:!0},renderLabel:Function},provide:function(){return{panel:this}},data:function(){return{checkedValue:null,checkedNodePaths:[],store:[],menus:[],activePath:[],loadCount:0}},computed:{config:function(){return At()(Og({},Fg),this.props||{})},multiple:function(){return this.config.multiple},checkStrictly:function(){return this.config.checkStrictly},leafOnly:function(){return!this.checkStrictly},isHoverMenu:function(){return"hover"===this.config.expandTrigger},renderLabelFn:function(){return this.renderLabel||this.$scopedSlots.default}},watch:{options:{handler:function(){this.initStore()},immediate:!0,deep:!0},value:function(){this.syncCheckedValue(),this.checkStrictly&&this.calculateCheckedNodePaths()},checkedValue:function(e){Object(y["isEqual"])(e,this.value)||(this.checkStrictly&&this.calculateCheckedNodePaths(),this.$emit("input",e),this.$emit("change",e))}},mounted:function(){Object(y["isEmpty"])(this.value)||this.syncCheckedValue()},methods:{initStore:function(){var e=this.config,t=this.options;e.lazy&&Object(y["isEmpty"])(t)?this.lazyLoad():(this.store=new Pg(t,e),this.menus=[this.store.getNodes()],this.syncMenuState())},syncCheckedValue:function(){var e=this.value,t=this.checkedValue;Object(y["isEqual"])(e,t)||(this.checkedValue=e,this.syncMenuState())},syncMenuState:function(){var e=this.multiple,t=this.checkStrictly;this.syncActivePath(),e&&this.syncMultiCheckState(),t&&this.calculateCheckedNodePaths(),this.$nextTick(this.scrollIntoView)},syncMultiCheckState:function(){var e=this,t=this.getFlattedNodes(this.leafOnly);t.forEach((function(t){t.syncCheckState(e.checkedValue)}))},syncActivePath:function(){var e=this,t=this.store,i=this.multiple,n=this.activePath,r=this.checkedValue;if(Object(y["isEmpty"])(n))if(Object(y["isEmpty"])(r))this.activePath=[],this.menus=[t.getNodes()];else{var a=i?r[0]:r,s=this.getNodeByValue(a)||{},o=(s.pathNodes||[]).slice(0,-1);this.expandNodes(o)}else{var c=n.map((function(t){return e.getNodeByValue(t.getValue())}));this.expandNodes(c)}},expandNodes:function(e){var t=this;e.forEach((function(e){return t.handleExpand(e,!0)}))},calculateCheckedNodePaths:function(){var e=this,t=this.checkedValue,i=this.multiple,n=i?Object(y["coerceTruthyValueToArray"])(t):[t];this.checkedNodePaths=n.map((function(t){var i=e.getNodeByValue(t);return i?i.pathNodes:[]}))},handleKeyDown:function(e){var t=e.target,i=e.keyCode;switch(i){case Hg.up:var n=Vg(t,-1);Bg(n);break;case Hg.down:var r=Vg(t,1);Bg(r);break;case Hg.left:var a=this.$refs.menu[Rg(t)-1];if(a){var s=a.$el.querySelector('.el-cascader-node[aria-expanded="true"]');Bg(s)}break;case Hg.right:var o=this.$refs.menu[Rg(t)+1];if(o){var c=o.$el.querySelector('.el-cascader-node[tabindex="-1"]');Bg(c)}break;case Hg.enter:jg(t);break;case Hg.esc:case Hg.tab:this.$emit("close");break;default:return}},handleExpand:function(e,t){var i=this.activePath,n=e.level,r=i.slice(0,n-1),a=this.menus.slice(0,n);if(e.isLeaf||(r.push(e),a.push(e.children)),this.activePath=r,this.menus=a,!t){var s=r.map((function(e){return e.getValue()})),o=i.map((function(e){return e.getValue()}));Object(y["valueEquals"])(s,o)||(this.$emit("active-item-change",s),this.$emit("expand-change",s))}},handleCheckChange:function(e){this.checkedValue=e},lazyLoad:function(e,t){var i=this,n=this.config;e||(e=e||{root:!0,level:0},this.store=new Pg([],n),this.menus=[this.store.getNodes()]),e.loading=!0;var r=function(n){var r=e.root?null:e;if(n&&n.length&&i.store.appendNodes(n,r),e.loading=!1,e.loaded=!0,Array.isArray(i.checkedValue)){var a=i.checkedValue[i.loadCount++],s=i.config.value,o=i.config.leaf;if(Array.isArray(n)&&n.filter((function(e){return e[s]===a})).length>0){var c=i.store.getNodeByValue(a);c.data[o]||i.lazyLoad(c,(function(){i.handleExpand(c)})),i.loadCount===i.checkedValue.length&&i.$parent.computePresentText()}}t&&t(n)};n.lazyLoad(e,r)},calculateMultiCheckedValue:function(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map((function(e){return e.getValueByOption()}))},scrollIntoView:function(){if(!this.$isServer){var e=this.$refs.menu||[];e.forEach((function(e){var t=e.$el;if(t){var i=t.querySelector(".el-scrollbar__wrap"),n=t.querySelector(".el-cascader-node.is-active")||t.querySelector(".el-cascader-node.in-active-path");rn()(i,n)}}))}},getNodeByValue:function(e){return this.store.getNodeByValue(e)},getFlattedNodes:function(e){var t=!this.config.lazy;return this.store.getFlattedNodes(e,t)},getCheckedNodes:function(e){var t=this.checkedValue,i=this.multiple;if(i){var n=this.getFlattedNodes(e);return n.filter((function(e){return e.checked}))}return Object(y["isEmpty"])(t)?[]:[this.getNodeByValue(t)]},clearCheckedNodes:function(){var e=this.config,t=this.leafOnly,i=e.multiple,n=e.emitPath;i?(this.getCheckedNodes(t).filter((function(e){return!e.isDisabled})).forEach((function(e){return e.doCheck(!1)})),this.calculateMultiCheckedValue()):this.checkedValue=n?[]:null}}},Kg=$g,qg=o(Kg,lg,ug,!1,null,null,null);qg.options.__file="packages/cascader-panel/src/cascader-panel.vue";var Ug=qg.exports;Ug.install=function(e){e.component(Ug.name,Ug)};var Wg,Xg,Gg=Ug,Yg={name:"ElAvatar",props:{size:{type:[Number,String],validator:function(e){return"string"===typeof e?["large","medium","small"].includes(e):"number"===typeof e}},shape:{type:String,default:"circle",validator:function(e){return["circle","square"].includes(e)}},icon:String,src:String,alt:String,srcSet:String,error:Function,fit:{type:String,default:"cover"}},data:function(){return{isImageExist:!0}},computed:{avatarClass:function(){var e=this.size,t=this.icon,i=this.shape,n=["el-avatar"];return e&&"string"===typeof e&&n.push("el-avatar--"+e),t&&n.push("el-avatar--icon"),i&&n.push("el-avatar--"+i),n.join(" ")}},methods:{handleError:function(){var e=this.error,t=e?e():void 0;!1!==t&&(this.isImageExist=!1)},renderAvatar:function(){var e=this.$createElement,t=this.icon,i=this.src,n=this.alt,r=this.isImageExist,a=this.srcSet,s=this.fit;return r&&i?e("img",{attrs:{src:i,alt:n,srcSet:a},on:{error:this.handleError},style:{"object-fit":s}}):t?e("i",{class:t}):this.$slots.default}},render:function(){var e=arguments[0],t=this.avatarClass,i=this.size,n="number"===typeof i?{height:i+"px",width:i+"px",lineHeight:i+"px"}:{};return e("span",{class:t,style:n},[this.renderAvatar()])}},Zg=Yg,Jg=o(Zg,Wg,Xg,!1,null,null,null);Jg.options.__file="packages/avatar/src/main.vue";var Qg=Jg.exports;Qg.install=function(e){e.component(Qg.name,Qg)};var ey=Qg,ty=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"el-drawer-fade"},on:{"after-enter":e.afterEnter,"after-leave":e.afterLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-drawer__wrapper",attrs:{tabindex:"-1"}},[i("div",{staticClass:"el-drawer__container",class:e.visible&&"el-drawer__open",attrs:{role:"document",tabindex:"-1"},on:{click:function(t){return t.target!==t.currentTarget?null:e.handleWrapperClick(t)}}},[i("div",{ref:"drawer",staticClass:"el-drawer",class:[e.direction,e.customClass],style:e.isHorizontal?"width: "+e.size:"height: "+e.size,attrs:{"aria-modal":"true","aria-labelledby":"el-drawer__title","aria-label":e.title,role:"dialog",tabindex:"-1"}},[e.withHeader?i("header",{staticClass:"el-drawer__header",attrs:{id:"el-drawer__title"}},[e._t("title",[i("span",{attrs:{role:"heading",tabindex:"0",title:e.title}},[e._v(e._s(e.title))])]),e.showClose?i("button",{staticClass:"el-drawer__close-btn",attrs:{"aria-label":"close "+(e.title||"drawer"),type:"button"},on:{click:e.closeDrawer}},[i("i",{staticClass:"el-dialog__close el-icon el-icon-close"})]):e._e()],2):e._e(),e.rendered?i("section",{staticClass:"el-drawer__body"},[e._t("default")],2):e._e()])])])])},iy=[];ty._withStripped=!0;var ny={name:"ElDrawer",mixins:[_.a,M.a],props:{appendToBody:{type:Boolean,default:!1},beforeClose:{type:Function},customClass:{type:String,default:""},closeOnPressEscape:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!1},modal:{type:Boolean,default:!0},direction:{type:String,default:"rtl",validator:function(e){return-1!==["ltr","rtl","ttb","btt"].indexOf(e)}},modalAppendToBody:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},size:{type:String,default:"30%"},title:{type:String,default:""},visible:{type:Boolean},wrapperClosable:{type:Boolean,default:!0},withHeader:{type:Boolean,default:!0}},computed:{isHorizontal:function(){return"rtl"===this.direction||"ltr"===this.direction}},data:function(){return{closed:!1,prevActiveElement:null}},watch:{visible:function(e){var t=this;e?(this.closed=!1,this.$emit("open"),this.appendToBody&&document.body.appendChild(this.$el),this.prevActiveElement=document.activeElement,this.$nextTick((function(){Cf.a.focusFirstDescendant(t.$refs.drawer)}))):(this.closed||this.$emit("close"),this.$nextTick((function(){t.prevActiveElement&&t.prevActiveElement.focus()})))}},methods:{afterEnter:function(){this.$emit("opened")},afterLeave:function(){this.$emit("closed")},hide:function(e){!1!==e&&(this.$emit("update:visible",!1),this.$emit("close"),!0===this.destroyOnClose&&(this.rendered=!1),this.closed=!0)},handleWrapperClick:function(){this.wrapperClosable&&this.closeDrawer()},closeDrawer:function(){"function"===typeof this.beforeClose?this.beforeClose(this.hide):this.hide()},handleClose:function(){this.closeDrawer()}},mounted:function(){this.visible&&(this.rendered=!0,this.open())},destroyed:function(){this.appendToBody&&this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}},ry=ny,ay=o(ry,ty,iy,!1,null,null,null);ay.options.__file="packages/drawer/src/main.vue";var sy=ay.exports;sy.install=function(e){e.component(sy.name,sy)};var oy=sy,cy=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("el-popover",e._b({attrs:{trigger:"click"},model:{value:e.visible,callback:function(t){e.visible=t},expression:"visible"}},"el-popover",e.$attrs,!1),[i("div",{staticClass:"el-popconfirm"},[i("p",{staticClass:"el-popconfirm__main"},[e.hideIcon?e._e():i("i",{staticClass:"el-popconfirm__icon",class:e.icon,style:{color:e.iconColor}}),e._v("\n      "+e._s(e.title)+"\n    ")]),i("div",{staticClass:"el-popconfirm__action"},[i("el-button",{attrs:{size:"mini",type:e.cancelButtonType},on:{click:e.cancel}},[e._v("\n        "+e._s(e.cancelButtonText)+"\n      ")]),i("el-button",{attrs:{size:"mini",type:e.confirmButtonType},on:{click:e.confirm}},[e._v("\n        "+e._s(e.confirmButtonText)+"\n      ")])],1)]),e._t("reference",null,{slot:"reference"})],2)},ly=[];cy._withStripped=!0;var uy=i(44),hy=i.n(uy),dy={name:"ElPopconfirm",props:{title:{type:String},confirmButtonText:{type:String,default:Object(en["t"])("el.popconfirm.confirmButtonText")},cancelButtonText:{type:String,default:Object(en["t"])("el.popconfirm.cancelButtonText")},confirmButtonType:{type:String,default:"primary"},cancelButtonType:{type:String,default:"text"},icon:{type:String,default:"el-icon-question"},iconColor:{type:String,default:"#f90"},hideIcon:{type:Boolean,default:!1}},components:{ElPopover:hy.a,ElButton:se.a},data:function(){return{visible:!1}},methods:{confirm:function(){this.visible=!1,this.$emit("onConfirm")},cancel:function(){this.visible=!1,this.$emit("onCancel")}}},fy=dy,py=o(fy,cy,ly,!1,null,null,null);py.options.__file="packages/popconfirm/src/main.vue";var my=py.exports;my.install=function(e){e.component(my.name,my)};var vy=my,gy=[C,D,re,fe,Ce,ke,qe,et,lt,vt,It,Vt,Ut,ei,oi,pi,Si,Mi,Oi,un,hn,yn,An,Nn,Gr,na,Ts,js,to,uo,fo,$o,Yo,nc,yc,Vc,Xc,Qc,Ml,Hl,du,Fu,Vu,ju,Sh,Mh,Oh,id,ld,gd,_d,Id,Rd,qd,Qd,of,pf,zf,zp,jp,Gp,im,lm,vm,Am,Tm,Fm,Km,Zm,vv,Pv,$v,cg,Gg,ey,oy,vy,We.a],yy=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};tn.a.use(t.locale),tn.a.i18n(t.i18n),gy.forEach((function(t){e.component(t.name,t)})),e.use(tg),e.use(Tu.directive),e.prototype.$ELEMENT={size:t.size||"",zIndex:t.zIndex||2e3},e.prototype.$loading=Tu.service,e.prototype.$msgbox=Ho,e.prototype.$alert=Ho.alert,e.prototype.$confirm=Ho.confirm,e.prototype.$prompt=Ho.prompt,e.prototype.$notify=Yl,e.prototype.$message=Gh};"undefined"!==typeof window&&window.Vue&&yy(window.Vue);t["default"]={version:"2.13.2",locale:tn.a.use,i18n:tn.a.i18n,install:yy,CollapseTransition:We.a,Loading:Tu,Pagination:C,Dialog:D,Autocomplete:re,Dropdown:fe,DropdownMenu:Ce,DropdownItem:ke,Menu:qe,Submenu:et,MenuItem:lt,MenuItemGroup:vt,Input:It,InputNumber:Vt,Radio:Ut,RadioGroup:ei,RadioButton:oi,Checkbox:pi,CheckboxButton:Si,CheckboxGroup:Mi,Switch:Oi,Select:un,Option:hn,OptionGroup:yn,Button:An,ButtonGroup:Nn,Table:Gr,TableColumn:na,DatePicker:Ts,TimeSelect:js,TimePicker:to,Popover:uo,Tooltip:fo,MessageBox:Ho,Breadcrumb:$o,BreadcrumbItem:Yo,Form:nc,FormItem:yc,Tabs:Vc,TabPane:Xc,Tag:Qc,Tree:Ml,Alert:Hl,Notification:Yl,Slider:du,Icon:Fu,Row:Vu,Col:ju,Upload:Sh,Progress:Mh,Spinner:Oh,Message:Gh,Badge:id,Card:ld,Rate:gd,Steps:_d,Step:Id,Carousel:Rd,Scrollbar:qd,CarouselItem:Qd,Collapse:of,CollapseItem:pf,Cascader:zf,ColorPicker:zp,Transfer:jp,Container:Gp,Header:im,Aside:lm,Main:vm,Footer:Am,Timeline:Tm,TimelineItem:Fm,Link:Km,Divider:Zm,Image:vv,Calendar:Pv,Backtop:$v,InfiniteScroll:tg,PageHeader:cg,CascaderPanel:Gg,Avatar:ey,Drawer:oy,Popconfirm:vy}}])["default"]},"5cc6":function(e,t,i){var n=i("74e8");n("Uint8",(function(e){return function(t,i,n){return e(this,t,i,n)}}))},"5e89":function(e,t,i){var n=i("861d"),r=Math.floor;e.exports=function(e){return!n(e)&&isFinite(e)&&r(e)===e}},"5eff":function(e,t,i){i("4ec9"),i("d3b7"),i("3ca3"),i("ddb0");var n=i("428f");e.exports=n.Map},"5f96":function(e,t,i){"use strict";var n=i("ebb5"),r=n.aTypedArray,a=n.exportTypedArrayMethod,s=[].join;a("join",(function(e){return s.apply(r(this),arguments)}))},"5fb2":function(e,t,i){"use strict";var n=2147483647,r=36,a=1,s=26,o=38,c=700,l=72,u=128,h="-",d=/[^\0-\u007E]/,f=/[.\u3002\uFF0E\uFF61]/g,p="Overflow: input needs wider integers to process",m=r-a,v=Math.floor,g=String.fromCharCode,y=function(e){var t=[],i=0,n=e.length;while(i<n){var r=e.charCodeAt(i++);if(r>=55296&&r<=56319&&i<n){var a=e.charCodeAt(i++);56320==(64512&a)?t.push(((1023&r)<<10)+(1023&a)+65536):(t.push(r),i--)}else t.push(r)}return t},b=function(e){return e+22+75*(e<26)},C=function(e,t,i){var n=0;for(e=i?v(e/c):e>>1,e+=v(e/t);e>m*s>>1;n+=r)e=v(e/m);return v(n+(m+1)*e/(e+o))},S=function(e){var t=[];e=y(e);var i,o,c=e.length,d=u,f=0,m=l;for(i=0;i<e.length;i++)o=e[i],o<128&&t.push(g(o));var S=t.length,x=S;S&&t.push(h);while(x<c){var w=n;for(i=0;i<e.length;i++)o=e[i],o>=d&&o<w&&(w=o);var _=x+1;if(w-d>v((n-f)/_))throw RangeError(p);for(f+=(w-d)*_,d=w,i=0;i<e.length;i++){if(o=e[i],o<d&&++f>n)throw RangeError(p);if(o==d){for(var A=f,E=r;;E+=r){var k=E<=m?a:E>=m+s?s:E-m;if(A<k)break;var M=A-k,z=r-k;t.push(g(b(k+M%z))),A=v(M/z)}t.push(g(b(A))),m=C(f,_,x==S),f=0,++x}}++f,++d}return t.join("")};e.exports=function(e){var t,i,n=[],r=e.toLowerCase().replace(f,".").split(".");for(t=0;t<r.length;t++)i=r[t],n.push(d.test(i)?"xn--"+S(i):i);return n.join(".")}},6062:function(e,t,i){"use strict";var n=i("6d61"),r=i("6566");e.exports=n("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),r)},"60bd":function(e,t,i){"use strict";var n=i("da84"),r=i("ebb5"),a=i("e260"),s=i("b622"),o=s("iterator"),c=n.Uint8Array,l=a.values,u=a.keys,h=a.entries,d=r.aTypedArray,f=r.exportTypedArrayMethod,p=c&&c.prototype[o],m=!!p&&("values"==p.name||void 0==p.name),v=function(){return l.call(d(this))};f("entries",(function(){return h.call(d(this))})),f("keys",(function(){return u.call(d(this))})),f("values",v,!m),f(o,v,!m)},"60da":function(e,t,i){"use strict";var n=i("83ab"),r=i("d039"),a=i("df75"),s=i("7418"),o=i("d1e7"),c=i("7b0b"),l=i("44ad"),u=Object.assign,h=Object.defineProperty;e.exports=!u||r((function(){if(n&&1!==u({b:1},u(h({},"a",{enumerable:!0,get:function(){h(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},i=Symbol(),r="abcdefghijklmnopqrst";return e[i]=7,r.split("").forEach((function(e){t[e]=e})),7!=u({},e)[i]||a(u({},t)).join("")!=r}))?function(e,t){var i=c(e),r=arguments.length,u=1,h=s.f,d=o.f;while(r>u){var f,p=l(arguments[u++]),m=h?a(p).concat(h(p)):a(p),v=m.length,g=0;while(v>g)f=m[g++],n&&!d.call(p,f)||(i[f]=p[f])}return i}:u},6167:function(e,t,i){"use strict";var n,r;"function"===typeof Symbol&&Symbol.iterator;(function(a,s){n=s,r="function"===typeof n?n.call(t,i,t,e):n,void 0===r||(e.exports=r)})(0,(function(){var e=window,t={placement:"bottom",gpuAcceleration:!0,offset:0,boundariesElement:"viewport",boundariesPadding:5,preventOverflowOrder:["left","right","top","bottom"],flipBehavior:"flip",arrowElement:"[x-arrow]",arrowOffset:0,modifiers:["shift","offset","preventOverflow","keepTogether","arrow","flip","applyStyle"],modifiersIgnored:[],forceAbsolute:!1};function i(e,i,n){this._reference=e.jquery?e[0]:e,this.state={};var r="undefined"===typeof i||null===i,a=i&&"[object Object]"===Object.prototype.toString.call(i);return this._popper=r||a?this.parse(a?i:{}):i.jquery?i[0]:i,this._options=Object.assign({},t,n),this._options.modifiers=this._options.modifiers.map(function(e){if(-1===this._options.modifiersIgnored.indexOf(e))return"applyStyle"===e&&this._popper.setAttribute("x-placement",this._options.placement),this.modifiers[e]||e}.bind(this)),this.state.position=this._getPosition(this._popper,this._reference),h(this._popper,{position:this.state.position,top:0}),this.update(),this._setupEventListeners(),this}function n(t){var i=t.style.display,n=t.style.visibility;t.style.display="block",t.style.visibility="hidden";t.offsetWidth;var r=e.getComputedStyle(t),a=parseFloat(r.marginTop)+parseFloat(r.marginBottom),s=parseFloat(r.marginLeft)+parseFloat(r.marginRight),o={width:t.offsetWidth+s,height:t.offsetHeight+a};return t.style.display=i,t.style.visibility=n,o}function r(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function a(e){var t=Object.assign({},e);return t.right=t.left+t.width,t.bottom=t.top+t.height,t}function s(e,t){var i,n=0;for(i in e){if(e[i]===t)return n;n++}return null}function o(t,i){var n=e.getComputedStyle(t,null);return n[i]}function c(t){var i=t.offsetParent;return i!==e.document.body&&i?i:e.document.documentElement}function l(t){var i=t.parentNode;return i?i===e.document?e.document.body.scrollTop||e.document.body.scrollLeft?e.document.body:e.document.documentElement:-1!==["scroll","auto"].indexOf(o(i,"overflow"))||-1!==["scroll","auto"].indexOf(o(i,"overflow-x"))||-1!==["scroll","auto"].indexOf(o(i,"overflow-y"))?i:l(t.parentNode):t}function u(t){return t!==e.document.body&&("fixed"===o(t,"position")||(t.parentNode?u(t.parentNode):t))}function h(e,t){function i(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}Object.keys(t).forEach((function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&i(t[n])&&(r="px"),e.style[n]=t[n]+r}))}function d(e){var t={};return e&&"[object Function]"===t.toString.call(e)}function f(e){var t={width:e.offsetWidth,height:e.offsetHeight,left:e.offsetLeft,top:e.offsetTop};return t.right=t.left+t.width,t.bottom=t.top+t.height,t}function p(e){var t=e.getBoundingClientRect(),i=-1!=navigator.userAgent.indexOf("MSIE"),n=i&&"HTML"===e.tagName?-e.scrollTop:t.top;return{left:t.left,top:n,right:t.right,bottom:t.bottom,width:t.right-t.left,height:t.bottom-n}}function m(e,t,i){var n=p(e),r=p(t);if(i){var a=l(t);r.top+=a.scrollTop,r.bottom+=a.scrollTop,r.left+=a.scrollLeft,r.right+=a.scrollLeft}var s={top:n.top-r.top,left:n.left-r.left,bottom:n.top-r.top+n.height,right:n.left-r.left+n.width,width:n.width,height:n.height};return s}function v(t){for(var i=["","ms","webkit","moz","o"],n=0;n<i.length;n++){var r=i[n]?i[n]+t.charAt(0).toUpperCase()+t.slice(1):t;if("undefined"!==typeof e.document.body.style[r])return r}return null}return i.prototype.destroy=function(){return this._popper.removeAttribute("x-placement"),this._popper.style.left="",this._popper.style.position="",this._popper.style.top="",this._popper.style[v("transform")]="",this._removeEventListeners(),this._options.removeOnDestroy&&this._popper.remove(),this},i.prototype.update=function(){var e={instance:this,styles:{}};e.placement=this._options.placement,e._originalPlacement=this._options.placement,e.offsets=this._getOffsets(this._popper,this._reference,e.placement),e.boundaries=this._getBoundaries(e,this._options.boundariesPadding,this._options.boundariesElement),e=this.runModifiers(e,this._options.modifiers),"function"===typeof this.state.updateCallback&&this.state.updateCallback(e)},i.prototype.onCreate=function(e){return e(this),this},i.prototype.onUpdate=function(e){return this.state.updateCallback=e,this},i.prototype.parse=function(t){var i={tagName:"div",classNames:["popper"],attributes:[],parent:e.document.body,content:"",contentType:"text",arrowTagName:"div",arrowClassNames:["popper__arrow"],arrowAttributes:["x-arrow"]};t=Object.assign({},i,t);var n=e.document,r=n.createElement(t.tagName);if(o(r,t.classNames),c(r,t.attributes),"node"===t.contentType?r.appendChild(t.content.jquery?t.content[0]:t.content):"html"===t.contentType?r.innerHTML=t.content:r.textContent=t.content,t.arrowTagName){var a=n.createElement(t.arrowTagName);o(a,t.arrowClassNames),c(a,t.arrowAttributes),r.appendChild(a)}var s=t.parent.jquery?t.parent[0]:t.parent;if("string"===typeof s){if(s=n.querySelectorAll(t.parent),s.length>1&&console.warn("WARNING: the given `parent` query("+t.parent+") matched more than one element, the first one will be used"),0===s.length)throw"ERROR: the given `parent` doesn't exists!";s=s[0]}return s.length>1&&s instanceof Element===!1&&(console.warn("WARNING: you have passed as parent a list of elements, the first one will be used"),s=s[0]),s.appendChild(r),r;function o(e,t){t.forEach((function(t){e.classList.add(t)}))}function c(e,t){t.forEach((function(t){e.setAttribute(t.split(":")[0],t.split(":")[1]||"")}))}},i.prototype._getPosition=function(e,t){var i=c(t);if(this._options.forceAbsolute)return"absolute";var n=u(t,i);return n?"fixed":"absolute"},i.prototype._getOffsets=function(e,t,i){i=i.split("-")[0];var r={};r.position=this.state.position;var a="fixed"===r.position,s=m(t,c(e),a),o=n(e);return-1!==["right","left"].indexOf(i)?(r.top=s.top+s.height/2-o.height/2,r.left="left"===i?s.left-o.width:s.right):(r.left=s.left+s.width/2-o.width/2,r.top="top"===i?s.top-o.height:s.bottom),r.width=o.width,r.height=o.height,{popper:r,reference:s}},i.prototype._setupEventListeners=function(){if(this.state.updateBound=this.update.bind(this),e.addEventListener("resize",this.state.updateBound),"window"!==this._options.boundariesElement){var t=l(this._reference);t!==e.document.body&&t!==e.document.documentElement||(t=e),t.addEventListener("scroll",this.state.updateBound),this.state.scrollTarget=t}},i.prototype._removeEventListeners=function(){e.removeEventListener("resize",this.state.updateBound),"window"!==this._options.boundariesElement&&this.state.scrollTarget&&(this.state.scrollTarget.removeEventListener("scroll",this.state.updateBound),this.state.scrollTarget=null),this.state.updateBound=null},i.prototype._getBoundaries=function(t,i,n){var r,a,s={};if("window"===n){var o=e.document.body,u=e.document.documentElement;a=Math.max(o.scrollHeight,o.offsetHeight,u.clientHeight,u.scrollHeight,u.offsetHeight),r=Math.max(o.scrollWidth,o.offsetWidth,u.clientWidth,u.scrollWidth,u.offsetWidth),s={top:0,right:r,bottom:a,left:0}}else if("viewport"===n){var h=c(this._popper),d=l(this._popper),p=f(h),m=function(e){return e==document.body?Math.max(document.documentElement.scrollTop,document.body.scrollTop):e.scrollTop},v=function(e){return e==document.body?Math.max(document.documentElement.scrollLeft,document.body.scrollLeft):e.scrollLeft},g="fixed"===t.offsets.popper.position?0:m(d),y="fixed"===t.offsets.popper.position?0:v(d);s={top:0-(p.top-g),right:e.document.documentElement.clientWidth-(p.left-y),bottom:e.document.documentElement.clientHeight-(p.top-g),left:0-(p.left-y)}}else s=c(this._popper)===n?{top:0,left:0,right:n.clientWidth,bottom:n.clientHeight}:f(n);return s.left+=i,s.right-=i,s.top=s.top+i,s.bottom=s.bottom-i,s},i.prototype.runModifiers=function(e,t,i){var n=t.slice();return void 0!==i&&(n=this._options.modifiers.slice(0,s(this._options.modifiers,i))),n.forEach(function(t){d(t)&&(e=t.call(this,e))}.bind(this)),e},i.prototype.isModifierRequired=function(e,t){var i=s(this._options.modifiers,e);return!!this._options.modifiers.slice(0,i).filter((function(e){return e===t})).length},i.prototype.modifiers={},i.prototype.modifiers.applyStyle=function(e){var t,i={position:e.offsets.popper.position},n=Math.round(e.offsets.popper.left),r=Math.round(e.offsets.popper.top);return this._options.gpuAcceleration&&(t=v("transform"))?(i[t]="translate3d("+n+"px, "+r+"px, 0)",i.top=0,i.left=0):(i.left=n,i.top=r),Object.assign(i,e.styles),h(this._popper,i),this._popper.setAttribute("x-placement",e.placement),this.isModifierRequired(this.modifiers.applyStyle,this.modifiers.arrow)&&e.offsets.arrow&&h(e.arrowElement,e.offsets.arrow),e},i.prototype.modifiers.shift=function(e){var t=e.placement,i=t.split("-")[0],n=t.split("-")[1];if(n){var r=e.offsets.reference,s=a(e.offsets.popper),o={y:{start:{top:r.top},end:{top:r.top+r.height-s.height}},x:{start:{left:r.left},end:{left:r.left+r.width-s.width}}},c=-1!==["bottom","top"].indexOf(i)?"x":"y";e.offsets.popper=Object.assign(s,o[c][n])}return e},i.prototype.modifiers.preventOverflow=function(e){var t=this._options.preventOverflowOrder,i=a(e.offsets.popper),n={left:function(){var t=i.left;return i.left<e.boundaries.left&&(t=Math.max(i.left,e.boundaries.left)),{left:t}},right:function(){var t=i.left;return i.right>e.boundaries.right&&(t=Math.min(i.left,e.boundaries.right-i.width)),{left:t}},top:function(){var t=i.top;return i.top<e.boundaries.top&&(t=Math.max(i.top,e.boundaries.top)),{top:t}},bottom:function(){var t=i.top;return i.bottom>e.boundaries.bottom&&(t=Math.min(i.top,e.boundaries.bottom-i.height)),{top:t}}};return t.forEach((function(t){e.offsets.popper=Object.assign(i,n[t]())})),e},i.prototype.modifiers.keepTogether=function(e){var t=a(e.offsets.popper),i=e.offsets.reference,n=Math.floor;return t.right<n(i.left)&&(e.offsets.popper.left=n(i.left)-t.width),t.left>n(i.right)&&(e.offsets.popper.left=n(i.right)),t.bottom<n(i.top)&&(e.offsets.popper.top=n(i.top)-t.height),t.top>n(i.bottom)&&(e.offsets.popper.top=n(i.bottom)),e},i.prototype.modifiers.flip=function(e){if(!this.isModifierRequired(this.modifiers.flip,this.modifiers.preventOverflow))return console.warn("WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!"),e;if(e.flipped&&e.placement===e._originalPlacement)return e;var t=e.placement.split("-")[0],i=r(t),n=e.placement.split("-")[1]||"",s=[];return s="flip"===this._options.flipBehavior?[t,i]:this._options.flipBehavior,s.forEach(function(o,c){if(t===o&&s.length!==c+1){t=e.placement.split("-")[0],i=r(t);var l=a(e.offsets.popper),u=-1!==["right","bottom"].indexOf(t);(u&&Math.floor(e.offsets.reference[t])>Math.floor(l[i])||!u&&Math.floor(e.offsets.reference[t])<Math.floor(l[i]))&&(e.flipped=!0,e.placement=s[c+1],n&&(e.placement+="-"+n),e.offsets.popper=this._getOffsets(this._popper,this._reference,e.placement).popper,e=this.runModifiers(e,this._options.modifiers,this._flip))}}.bind(this)),e},i.prototype.modifiers.offset=function(e){var t=this._options.offset,i=e.offsets.popper;return-1!==e.placement.indexOf("left")?i.top-=t:-1!==e.placement.indexOf("right")?i.top+=t:-1!==e.placement.indexOf("top")?i.left-=t:-1!==e.placement.indexOf("bottom")&&(i.left+=t),e},i.prototype.modifiers.arrow=function(e){var t=this._options.arrowElement,i=this._options.arrowOffset;if("string"===typeof t&&(t=this._popper.querySelector(t)),!t)return e;if(!this._popper.contains(t))return console.warn("WARNING: `arrowElement` must be child of its popper element!"),e;if(!this.isModifierRequired(this.modifiers.arrow,this.modifiers.keepTogether))return console.warn("WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!"),e;var r={},s=e.placement.split("-")[0],o=a(e.offsets.popper),c=e.offsets.reference,l=-1!==["left","right"].indexOf(s),u=l?"height":"width",h=l?"top":"left",d=l?"left":"top",f=l?"bottom":"right",p=n(t)[u];c[f]-p<o[h]&&(e.offsets.popper[h]-=o[h]-(c[f]-p)),c[h]+p>o[f]&&(e.offsets.popper[h]+=c[h]+p-o[f]);var m=c[h]+(i||c[u]/2-p/2),v=m-o[h];return v=Math.max(Math.min(o[u]-p-8,v),8),r[h]=v,r[d]="",e.offsets.arrow=r,e.arrowElement=t,e},Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert first argument to object");for(var t=Object(e),i=1;i<arguments.length;i++){var n=arguments[i];if(void 0!==n&&null!==n){n=Object(n);for(var r=Object.keys(n),a=0,s=r.length;a<s;a++){var o=r[a],c=Object.getOwnPropertyDescriptor(n,o);void 0!==c&&c.enumerable&&(t[o]=n[o])}}}return t}}),i}))},6199:function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__;
-
-(function(){"use strict";var root="object"===typeof window?window:{},NODE_JS=!root.JS_SHA1_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node;NODE_JS&&(root=global);var COMMON_JS=!root.JS_SHA1_NO_COMMON_JS&&"object"===typeof module&&module.exports,AMD=__webpack_require__("3c35"),HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[],createOutputMethod=function(e){return function(t){return new Sha1(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Sha1},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var i=OUTPUT_TYPES[t];e[i]=createOutputMethod(i)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"===typeof e)return crypto.createHash("sha1").update(e,"utf8").digest("hex");if(e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(void 0===e.length)return method(e);return crypto.createHash("sha1").update(new Buffer(e)).digest("hex")};return nodeMethod};function Sha1(e){e?(blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.h0=1732584193,this.h1=4023233417,this.h2=2562383102,this.h3=271733878,this.h4=3285377520,this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Sha1.prototype.update=function(e){if(!this.finalized){var t="string"!==typeof e;t&&e.constructor===root.ArrayBuffer&&(e=new Uint8Array(e));var i,n,r=0,a=e.length||0,s=this.blocks;while(r<a){if(this.hashed&&(this.hashed=!1,s[0]=this.block,s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),t)for(n=this.start;r<a&&n<64;++r)s[n>>2]|=e[r]<<SHIFT[3&n++];else for(n=this.start;r<a&&n<64;++r)i=e.charCodeAt(r),i<128?s[n>>2]|=i<<SHIFT[3&n++]:i<2048?(s[n>>2]|=(192|i>>6)<<SHIFT[3&n++],s[n>>2]|=(128|63&i)<<SHIFT[3&n++]):i<55296||i>=57344?(s[n>>2]|=(224|i>>12)<<SHIFT[3&n++],s[n>>2]|=(128|i>>6&63)<<SHIFT[3&n++],s[n>>2]|=(128|63&i)<<SHIFT[3&n++]):(i=65536+((1023&i)<<10|1023&e.charCodeAt(++r)),s[n>>2]|=(240|i>>18)<<SHIFT[3&n++],s[n>>2]|=(128|i>>12&63)<<SHIFT[3&n++],s[n>>2]|=(128|i>>6&63)<<SHIFT[3&n++],s[n>>2]|=(128|63&i)<<SHIFT[3&n++]);this.lastByteIndex=n,this.bytes+=n-this.start,n>=64?(this.block=s[16],this.start=n-64,this.hash(),this.hashed=!0):this.start=n}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha1.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha1.prototype.hash=function(){var e,t,i,n=this.h0,r=this.h1,a=this.h2,s=this.h3,o=this.h4,c=this.blocks;for(t=16;t<80;++t)i=c[t-3]^c[t-8]^c[t-14]^c[t-16],c[t]=i<<1|i>>>31;for(t=0;t<20;t+=5)e=r&a|~r&s,i=n<<5|n>>>27,o=i+e+o+1518500249+c[t]<<0,r=r<<30|r>>>2,e=n&r|~n&a,i=o<<5|o>>>27,s=i+e+s+1518500249+c[t+1]<<0,n=n<<30|n>>>2,e=o&n|~o&r,i=s<<5|s>>>27,a=i+e+a+1518500249+c[t+2]<<0,o=o<<30|o>>>2,e=s&o|~s&n,i=a<<5|a>>>27,r=i+e+r+1518500249+c[t+3]<<0,s=s<<30|s>>>2,e=a&s|~a&o,i=r<<5|r>>>27,n=i+e+n+1518500249+c[t+4]<<0,a=a<<30|a>>>2;for(;t<40;t+=5)e=r^a^s,i=n<<5|n>>>27,o=i+e+o+1859775393+c[t]<<0,r=r<<30|r>>>2,e=n^r^a,i=o<<5|o>>>27,s=i+e+s+1859775393+c[t+1]<<0,n=n<<30|n>>>2,e=o^n^r,i=s<<5|s>>>27,a=i+e+a+1859775393+c[t+2]<<0,o=o<<30|o>>>2,e=s^o^n,i=a<<5|a>>>27,r=i+e+r+1859775393+c[t+3]<<0,s=s<<30|s>>>2,e=a^s^o,i=r<<5|r>>>27,n=i+e+n+1859775393+c[t+4]<<0,a=a<<30|a>>>2;for(;t<60;t+=5)e=r&a|r&s|a&s,i=n<<5|n>>>27,o=i+e+o-1894007588+c[t]<<0,r=r<<30|r>>>2,e=n&r|n&a|r&a,i=o<<5|o>>>27,s=i+e+s-1894007588+c[t+1]<<0,n=n<<30|n>>>2,e=o&n|o&r|n&r,i=s<<5|s>>>27,a=i+e+a-1894007588+c[t+2]<<0,o=o<<30|o>>>2,e=s&o|s&n|o&n,i=a<<5|a>>>27,r=i+e+r-1894007588+c[t+3]<<0,s=s<<30|s>>>2,e=a&s|a&o|s&o,i=r<<5|r>>>27,n=i+e+n-1894007588+c[t+4]<<0,a=a<<30|a>>>2;for(;t<80;t+=5)e=r^a^s,i=n<<5|n>>>27,o=i+e+o-899497514+c[t]<<0,r=r<<30|r>>>2,e=n^r^a,i=o<<5|o>>>27,s=i+e+s-899497514+c[t+1]<<0,n=n<<30|n>>>2,e=o^n^r,i=s<<5|s>>>27,a=i+e+a-899497514+c[t+2]<<0,o=o<<30|o>>>2,e=s^o^n,i=a<<5|a>>>27,r=i+e+r-899497514+c[t+3]<<0,s=s<<30|s>>>2,e=a^s^o,i=r<<5|r>>>27,n=i+e+n-899497514+c[t+4]<<0,a=a<<30|a>>>2;this.h0=this.h0+n<<0,this.h1=this.h1+r<<0,this.h2=this.h2+a<<0,this.h3=this.h3+s<<0,this.h4=this.h4+o<<0},Sha1.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,n=this.h3,r=this.h4;return HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[15&i]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]},Sha1.prototype.toString=Sha1.prototype.hex,Sha1.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,n=this.h3,r=this.h4;return[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24&255,i>>16&255,i>>8&255,255&i,n>>24&255,n>>16&255,n>>8&255,255&n,r>>24&255,r>>16&255,r>>8&255,255&r]},Sha1.prototype.array=Sha1.prototype.digest,Sha1.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(20),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),e};var exports=createMethod();COMMON_JS?module.exports=exports:(root.sha1=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__("4362"),__webpack_require__("c8ba"))},"621a":function(e,t,i){"use strict";var n=i("da84"),r=i("83ab"),a=i("a981"),s=i("9112"),o=i("e2cc"),c=i("d039"),l=i("19aa"),u=i("a691"),h=i("50c4"),d=i("0b25"),f=i("77a7"),p=i("e163"),m=i("d2bb"),v=i("241c").f,g=i("9bf2").f,y=i("81d5"),b=i("d44e"),C=i("69f3"),S=C.get,x=C.set,w="ArrayBuffer",_="DataView",A="prototype",E="Wrong length",k="Wrong index",M=n[w],z=M,T=n[_],I=T&&T[A],N=Object.prototype,D=n.RangeError,P=f.pack,O=f.unpack,H=function(e){return[255&e]},F=function(e){return[255&e,e>>8&255]},L=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},V=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},R=function(e){return P(e,23,4)},B=function(e){return P(e,52,8)},j=function(e,t){g(e[A],t,{get:function(){return S(this)[t]}})},$=function(e,t,i,n){var r=d(i),a=S(e);if(r+t>a.byteLength)throw D(k);var s=S(a.buffer).bytes,o=r+a.byteOffset,c=s.slice(o,o+t);return n?c:c.reverse()},K=function(e,t,i,n,r,a){var s=d(i),o=S(e);if(s+t>o.byteLength)throw D(k);for(var c=S(o.buffer).bytes,l=s+o.byteOffset,u=n(+r),h=0;h<t;h++)c[l+h]=u[a?h:t-h-1]};if(a){if(!c((function(){M(1)}))||!c((function(){new M(-1)}))||c((function(){return new M,new M(1.5),new M(NaN),M.name!=w}))){z=function(e){return l(this,z),new M(d(e))};for(var q,U=z[A]=M[A],W=v(M),X=0;W.length>X;)(q=W[X++])in z||s(z,q,M[q]);U.constructor=z}m&&p(I)!==N&&m(I,N);var G=new T(new z(2)),Y=I.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||o(I,{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},{unsafe:!0})}else z=function(e){l(this,z,w);var t=d(e);x(this,{bytes:y.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},T=function(e,t,i){l(this,T,_),l(e,z,_);var n=S(e).byteLength,a=u(t);if(a<0||a>n)throw D("Wrong offset");if(i=void 0===i?n-a:h(i),a+i>n)throw D(E);x(this,{buffer:e,byteLength:i,byteOffset:a}),r||(this.buffer=e,this.byteLength=i,this.byteOffset=a)},r&&(j(z,"byteLength"),j(T,"buffer"),j(T,"byteLength"),j(T,"byteOffset")),o(T[A],{getInt8:function(e){return $(this,1,e)[0]<<24>>24},getUint8:function(e){return $(this,1,e)[0]},getInt16:function(e){var t=$(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=$(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return V($(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return V($(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return O($(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return O($(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){K(this,1,e,H,t)},setUint8:function(e,t){K(this,1,e,H,t)},setInt16:function(e,t){K(this,2,e,F,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){K(this,2,e,F,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){K(this,4,e,L,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){K(this,4,e,L,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){K(this,4,e,R,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){K(this,8,e,B,t,arguments.length>2?arguments[2]:void 0)}});b(z,w),b(T,_),e.exports={ArrayBuffer:z,DataView:T}},6438:function(e,t,i){var n=i("03d6"),r=i("9742").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,r)}},"649e":function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").some,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},"64c1":function(e,t,i){var n;n=function(){"use strict";var e,t={},i="function"==typeof Uint8Array;return t.decode=function(t){var n,r="string"==typeof t;if(void 0===e){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s="= \f\n\r\t \u2028\u2029";for(e=[],n=0;n<64;++n)e[a.charCodeAt(n)]=n;for(n=0;n<s.length;++n)e[s.charCodeAt(n)]=-1;e["-".charCodeAt(0)]=e["+".charCodeAt(0)],e["_".charCodeAt(0)]=e["/".charCodeAt(0)]}var o=i?new Uint8Array(3*t.length>>2):[],c=0,l=0,u=0;for(n=0;n<t.length;++n){var h=r?t.charCodeAt(n):t[n];if(61==h)break;if(h=e[h],-1!=h){if(void 0===h)throw"Illegal character at offset "+n;c|=h,++l>=4?(o[u++]=c>>16,o[u++]=c>>8&255,o[u++]=255&c,c=0,l=0):c<<=6}}switch(l){case 1:throw"Base64 encoding incomplete: at least 2 bits missing";case 2:o[u++]=c>>10;break;case 3:o[u++]=c>>16,o[u++]=c>>8&255;break}return i&&o.length>u&&(o=o.subarray(0,u)),o},t.pretty=function(e){return e.length%4>0&&(e=(e+"===").slice(0,e.length+e.length%4)),e=e.replace(/-/g,"+").replace(/_/g,"/"),e.replace(/(.{80})/g,"$1\n")},t.re=/-----BEGIN [^-]+-----([A-Za-z0-9+/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+/=\s]+)====/,t.unarmor=function(e){var i=t.re.exec(e);if(i)if(i[1])e=i[1];else{if(!i[2])throw"RegExp out of sync";e=i[2]}return t.decode(e)},t}.call(t,i,t,e),void 0===n||(e.exports=n)},6547:function(e,t,i){var n=i("a691"),r=i("1d80"),a=function(e){return function(t,i){var a,s,o=String(r(t)),c=n(i),l=o.length;return c<0||c>=l?e?"":void 0:(a=o.charCodeAt(c),a<55296||a>56319||c+1===l||(s=o.charCodeAt(c+1))<56320||s>57343?e?o.charAt(c):a:e?o.slice(c,c+2):s-56320+(a-55296<<10)+65536)}};e.exports={codeAt:a(!1),charAt:a(!0)}},6566:function(e,t,i){"use strict";var n=i("9bf2").f,r=i("7c73"),a=i("e2cc"),s=i("0366"),o=i("19aa"),c=i("2266"),l=i("7dd0"),u=i("2626"),h=i("83ab"),d=i("f183").fastKey,f=i("69f3"),p=f.set,m=f.getterFor;e.exports={getConstructor:function(e,t,i,l){var u=e((function(e,n){o(e,u,t),p(e,{type:t,index:r(null),first:void 0,last:void 0,size:0}),h||(e.size=0),void 0!=n&&c(n,e[l],e,i)})),f=m(t),v=function(e,t,i){var n,r,a=f(e),s=g(e,t);return s?s.value=i:(a.last=s={index:r=d(t,!0),key:t,value:i,previous:n=a.last,next:void 0,removed:!1},a.first||(a.first=s),n&&(n.next=s),h?a.size++:e.size++,"F"!==r&&(a.index[r]=s)),e},g=function(e,t){var i,n=f(e),r=d(t);if("F"!==r)return n.index[r];for(i=n.first;i;i=i.next)if(i.key==t)return i};return a(u.prototype,{clear:function(){var e=this,t=f(e),i=t.index,n=t.first;while(n)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete i[n.index],n=n.next;t.first=t.last=void 0,h?t.size=0:e.size=0},delete:function(e){var t=this,i=f(t),n=g(t,e);if(n){var r=n.next,a=n.previous;delete i.index[n.index],n.removed=!0,a&&(a.next=r),r&&(r.previous=a),i.first==n&&(i.first=r),i.last==n&&(i.last=a),h?i.size--:t.size--}return!!n},forEach:function(e){var t,i=f(this),n=s(e,arguments.length>1?arguments[1]:void 0,3);while(t=t?t.next:i.first){n(t.value,t.key,this);while(t&&t.removed)t=t.previous}},has:function(e){return!!g(this,e)}}),a(u.prototype,i?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),h&&n(u.prototype,"size",{get:function(){return f(this).size}}),u},setStrong:function(e,t,i){var n=t+" Iterator",r=m(t),a=m(n);l(e,t,(function(e,t){p(this,{type:n,target:e,state:r(e),kind:t,last:void 0})}),(function(){var e=a(this),t=e.kind,i=e.last;while(i&&i.removed)i=i.previous;return e.target&&(e.last=i=i?i.next:e.state.first)?"keys"==t?{value:i.key,done:!1}:"values"==t?{value:i.value,done:!1}:{value:[i.key,i.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),i?"entries":"values",!i,!0),u(t)}}},"658f":function(e,t,i){i("6858");for(var n=i("ef08"),r=i("051b"),a=i("8a0d"),s=i("cc15")("toStringTag"),o="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(","),c=0;c<o.length;c++){var l=o[c],u=n[l],h=u&&u.prototype;h&&!h[s]&&r(h,s,l),a[l]=a.Array}},"65f0":function(e,t,i){var n=i("861d"),r=i("e8b5"),a=i("b622"),s=a("species");e.exports=function(e,t){var i;return r(e)&&(i=e.constructor,"function"!=typeof i||i!==Array&&!r(i.prototype)?n(i)&&(i=i[s],null===i&&(i=void 0)):i=void 0),new(void 0===i?Array:i)(0===t?0:t)}},6858:function(e,t,i){"use strict";var n=i("2f9a"),r=i("ea34"),a=i("8a0d"),s=i("6ca1");e.exports=i("393a")(Array,"Array",(function(e,t){this._t=s(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,i=this._i++;return!e||i>=e.length?(this._t=void 0,r(1)):r(0,"keys"==t?i:"values"==t?e[i]:[i,e[i]])}),"values"),a.Arguments=a.Array,n("keys"),n("values"),n("entries")},"693d":function(e,t,i){"use strict";var n=i("ef08"),r=i("9c0e"),a=i("0bad"),s=i("512c"),o=i("ba01"),c=i("e34a").KEY,l=i("4b8b"),u=i("b367"),h=i("92f0"),d=i("8b1a"),f=i("cc15"),p=i("fcd4"),m=i("e198"),v=i("0ae2"),g=i("4ebc"),y=i("77e9"),b=i("7a41"),C=i("0983"),S=i("6ca1"),x=i("3397"),w=i("10db"),_=i("6f4f"),A=i("1836"),E=i("4d20"),k=i("fed5"),M=i("1a14"),z=i("9876"),T=E.f,I=M.f,N=A.f,D=n.Symbol,P=n.JSON,O=P&&P.stringify,H="prototype",F=f("_hidden"),L=f("toPrimitive"),V={}.propertyIsEnumerable,R=u("symbol-registry"),B=u("symbols"),j=u("op-symbols"),$=Object[H],K="function"==typeof D&&!!k.f,q=n.QObject,U=!q||!q[H]||!q[H].findChild,W=a&&l((function(){return 7!=_(I({},"a",{get:function(){return I(this,"a",{value:7}).a}})).a}))?function(e,t,i){var n=T($,t);n&&delete $[t],I(e,t,i),n&&e!==$&&I($,t,n)}:I,X=function(e){var t=B[e]=_(D[H]);return t._k=e,t},G=K&&"symbol"==typeof D.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof D},Y=function(e,t,i){return e===$&&Y(j,t,i),y(e),t=x(t,!0),y(i),r(B,t)?(i.enumerable?(r(e,F)&&e[F][t]&&(e[F][t]=!1),i=_(i,{enumerable:w(0,!1)})):(r(e,F)||I(e,F,w(1,{})),e[F][t]=!0),W(e,t,i)):I(e,t,i)},Z=function(e,t){y(e);var i,n=v(t=S(t)),r=0,a=n.length;while(a>r)Y(e,i=n[r++],t[i]);return e},J=function(e,t){return void 0===t?_(e):Z(_(e),t)},Q=function(e){var t=V.call(this,e=x(e,!0));return!(this===$&&r(B,e)&&!r(j,e))&&(!(t||!r(this,e)||!r(B,e)||r(this,F)&&this[F][e])||t)},ee=function(e,t){if(e=S(e),t=x(t,!0),e!==$||!r(B,t)||r(j,t)){var i=T(e,t);return!i||!r(B,t)||r(e,F)&&e[F][t]||(i.enumerable=!0),i}},te=function(e){var t,i=N(S(e)),n=[],a=0;while(i.length>a)r(B,t=i[a++])||t==F||t==c||n.push(t);return n},ie=function(e){var t,i=e===$,n=N(i?j:S(e)),a=[],s=0;while(n.length>s)!r(B,t=n[s++])||i&&!r($,t)||a.push(B[t]);return a};K||(D=function(){if(this instanceof D)throw TypeError("Symbol is not a constructor!");var e=d(arguments.length>0?arguments[0]:void 0),t=function(i){this===$&&t.call(j,i),r(this,F)&&r(this[F],e)&&(this[F][e]=!1),W(this,e,w(1,i))};return a&&U&&W($,e,{configurable:!0,set:t}),X(e)},o(D[H],"toString",(function(){return this._k})),E.f=ee,M.f=Y,i("6438").f=A.f=te,i("1917").f=Q,k.f=ie,a&&!i("e444")&&o($,"propertyIsEnumerable",Q,!0),p.f=function(e){return X(f(e))}),s(s.G+s.W+s.F*!K,{Symbol:D});for(var ne="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),re=0;ne.length>re;)f(ne[re++]);for(var ae=z(f.store),se=0;ae.length>se;)m(ae[se++]);s(s.S+s.F*!K,"Symbol",{for:function(e){return r(R,e+="")?R[e]:R[e]=D(e)},keyFor:function(e){if(!G(e))throw TypeError(e+" is not a symbol!");for(var t in R)if(R[t]===e)return t},useSetter:function(){U=!0},useSimple:function(){U=!1}}),s(s.S+s.F*!K,"Object",{create:J,defineProperty:Y,defineProperties:Z,getOwnPropertyDescriptor:ee,getOwnPropertyNames:te,getOwnPropertySymbols:ie});var oe=l((function(){k.f(1)}));s(s.S+s.F*oe,"Object",{getOwnPropertySymbols:function(e){return k.f(C(e))}}),P&&s(s.S+s.F*(!K||l((function(){var e=D();return"[null]"!=O([e])||"{}"!=O({a:e})||"{}"!=O(Object(e))}))),"JSON",{stringify:function(e){var t,i,n=[e],r=1;while(arguments.length>r)n.push(arguments[r++]);if(i=t=n[1],(b(t)||void 0!==e)&&!G(e))return g(t)||(t=function(e,t){if("function"==typeof i&&(t=i.call(this,e,t)),!G(t))return t}),n[1]=t,O.apply(P,n)}}),D[H][L]||i("051b")(D[H],L,D[H].valueOf),h(D,"Symbol"),h(Math,"Math",!0),h(n.JSON,"JSON",!0)},"699f":function(e,t,i){var n;n=function(){"use strict";return{"0.2.262.1.10":{d:"Telesec",c:"Deutsche Telekom"},"0.2.262.1.10.0":{d:"extension",c:"Telesec"},"0.2.262.1.10.1":{d:"mechanism",c:"Telesec"},"0.2.262.1.10.1.0":{d:"authentication",c:"Telesec mechanism"},"0.2.262.1.10.1.0.1":{d:"passwordAuthentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.2":{d:"protectedPasswordAuthentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.3":{d:"oneWayX509Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.4":{d:"twoWayX509Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.5":{d:"threeWayX509Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.6":{d:"oneWayISO9798Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.7":{d:"twoWayISO9798Authentication",c:"Telesec authentication"},"0.2.262.1.10.1.0.8":{d:"telekomAuthentication",c:"Telesec authentication"},"0.2.262.1.10.1.1":{d:"signature",c:"Telesec mechanism"},"0.2.262.1.10.1.1.1":{d:"md4WithRSAAndISO9697",c:"Telesec mechanism"},"0.2.262.1.10.1.1.2":{d:"md4WithRSAAndTelesecSignatureStandard",c:"Telesec mechanism"},"0.2.262.1.10.1.1.3":{d:"md5WithRSAAndISO9697",c:"Telesec mechanism"},"0.2.262.1.10.1.1.4":{d:"md5WithRSAAndTelesecSignatureStandard",c:"Telesec mechanism"},"0.2.262.1.10.1.1.5":{d:"ripemd160WithRSAAndTelekomSignatureStandard",c:"Telesec mechanism"},"0.2.262.1.10.1.1.9":{d:"hbciRsaSignature",c:"Telesec signature"},"0.2.262.1.10.1.2":{d:"encryption",c:"Telesec mechanism"},"0.2.262.1.10.1.2.0":{d:"none",c:"Telesec encryption"},"0.2.262.1.10.1.2.1":{d:"rsaTelesec",c:"Telesec encryption"},"0.2.262.1.10.1.2.2":{d:"des",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.1":{d:"desECB",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.2":{d:"desCBC",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.3":{d:"desOFB",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.4":{d:"desCFB8",c:"Telesec encryption"},"0.2.262.1.10.1.2.2.5":{d:"desCFB64",c:"Telesec encryption"},"0.2.262.1.10.1.2.3":{d:"des3",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.1":{d:"des3ECB",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.2":{d:"des3CBC",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.3":{d:"des3OFB",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.4":{d:"des3CFB8",c:"Telesec encryption"},"0.2.262.1.10.1.2.3.5":{d:"des3CFB64",c:"Telesec encryption"},"0.2.262.1.10.1.2.4":{d:"magenta",c:"Telesec encryption"},"0.2.262.1.10.1.2.5":{d:"idea",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.1":{d:"ideaECB",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.2":{d:"ideaCBC",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.3":{d:"ideaOFB",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.4":{d:"ideaCFB8",c:"Telesec encryption"},"0.2.262.1.10.1.2.5.5":{d:"ideaCFB64",c:"Telesec encryption"},"0.2.262.1.10.1.3":{d:"oneWayFunction",c:"Telesec mechanism"},"0.2.262.1.10.1.3.1":{d:"md4",c:"Telesec one-way function"},"0.2.262.1.10.1.3.2":{d:"md5",c:"Telesec one-way function"},"0.2.262.1.10.1.3.3":{d:"sqModNX509",c:"Telesec one-way function"},"0.2.262.1.10.1.3.4":{d:"sqModNISO",c:"Telesec one-way function"},"0.2.262.1.10.1.3.5":{d:"ripemd128",c:"Telesec one-way function"},"0.2.262.1.10.1.3.6":{d:"hashUsingBlockCipher",c:"Telesec one-way function"},"0.2.262.1.10.1.3.7":{d:"mac",c:"Telesec one-way function"},"0.2.262.1.10.1.3.8":{d:"ripemd160",c:"Telesec one-way function"},"0.2.262.1.10.1.4":{d:"fecFunction",c:"Telesec mechanism"},"0.2.262.1.10.1.4.1":{d:"reedSolomon",c:"Telesec mechanism"},"0.2.262.1.10.2":{d:"module",c:"Telesec"},"0.2.262.1.10.2.0":{d:"algorithms",c:"Telesec module"},"0.2.262.1.10.2.1":{d:"attributeTypes",c:"Telesec module"},"0.2.262.1.10.2.2":{d:"certificateTypes",c:"Telesec module"},"0.2.262.1.10.2.3":{d:"messageTypes",c:"Telesec module"},"0.2.262.1.10.2.4":{d:"plProtocol",c:"Telesec module"},"0.2.262.1.10.2.5":{d:"smeAndComponentsOfSme",c:"Telesec module"},"0.2.262.1.10.2.6":{d:"fec",c:"Telesec module"},"0.2.262.1.10.2.7":{d:"usefulDefinitions",c:"Telesec module"},"0.2.262.1.10.2.8":{d:"stefiles",c:"Telesec module"},"0.2.262.1.10.2.9":{d:"sadmib",c:"Telesec module"},"0.2.262.1.10.2.10":{d:"electronicOrder",c:"Telesec module"},"0.2.262.1.10.2.11":{d:"telesecTtpAsymmetricApplication",c:"Telesec module"},"0.2.262.1.10.2.12":{d:"telesecTtpBasisApplication",c:"Telesec module"},"0.2.262.1.10.2.13":{d:"telesecTtpMessages",c:"Telesec module"},"0.2.262.1.10.2.14":{d:"telesecTtpTimeStampApplication",c:"Telesec module"},"0.2.262.1.10.3":{d:"objectClass",c:"Telesec"},"0.2.262.1.10.3.0":{d:"telesecOtherName",c:"Telesec object class"},"0.2.262.1.10.3.1":{d:"directory",c:"Telesec object class"},"0.2.262.1.10.3.2":{d:"directoryType",c:"Telesec object class"},"0.2.262.1.10.3.3":{d:"directoryGroup",c:"Telesec object class"},"0.2.262.1.10.3.4":{d:"directoryUser",c:"Telesec object class"},"0.2.262.1.10.3.5":{d:"symmetricKeyEntry",c:"Telesec object class"},"0.2.262.1.10.4":{d:"package",c:"Telesec"},"0.2.262.1.10.5":{d:"parameter",c:"Telesec"},"0.2.262.1.10.6":{d:"nameBinding",c:"Telesec"},"0.2.262.1.10.7":{d:"attribute",c:"Telesec"},"0.2.262.1.10.7.0":{d:"applicationGroupIdentifier",c:"Telesec attribute"},"0.2.262.1.10.7.1":{d:"certificateType",c:"Telesec attribute"},"0.2.262.1.10.7.2":{d:"telesecCertificate",c:"Telesec attribute"},"0.2.262.1.10.7.3":{d:"certificateNumber",c:"Telesec attribute"},"0.2.262.1.10.7.4":{d:"certificateRevocationList",c:"Telesec attribute"},"0.2.262.1.10.7.5":{d:"creationDate",c:"Telesec attribute"},"0.2.262.1.10.7.6":{d:"issuer",c:"Telesec attribute"},"0.2.262.1.10.7.7":{d:"namingAuthority",c:"Telesec attribute"},"0.2.262.1.10.7.8":{d:"publicKeyDirectory",c:"Telesec attribute"},"0.2.262.1.10.7.9":{d:"securityDomain",c:"Telesec attribute"},"0.2.262.1.10.7.10":{d:"subject",c:"Telesec attribute"},"0.2.262.1.10.7.11":{d:"timeOfRevocation",c:"Telesec attribute"},"0.2.262.1.10.7.12":{d:"userGroupReference",c:"Telesec attribute"},"0.2.262.1.10.7.13":{d:"validity",c:"Telesec attribute"},"0.2.262.1.10.7.14":{d:"zert93",c:"Telesec attribute"},"0.2.262.1.10.7.15":{d:"securityMessEnv",c:"Telesec attribute"},"0.2.262.1.10.7.16":{d:"anonymizedPublicKeyDirectory",c:"Telesec attribute"},"0.2.262.1.10.7.17":{d:"telesecGivenName",c:"Telesec attribute"},"0.2.262.1.10.7.18":{d:"nameAdditions",c:"Telesec attribute"},"0.2.262.1.10.7.19":{d:"telesecPostalCode",c:"Telesec attribute"},"0.2.262.1.10.7.20":{d:"nameDistinguisher",c:"Telesec attribute"},"0.2.262.1.10.7.21":{d:"telesecCertificateList",c:"Telesec attribute"},"0.2.262.1.10.7.22":{d:"teletrustCertificateList",c:"Telesec attribute"},"0.2.262.1.10.7.23":{d:"x509CertificateList",c:"Telesec attribute"},"0.2.262.1.10.7.24":{d:"timeOfIssue",c:"Telesec attribute"},"0.2.262.1.10.7.25":{d:"physicalCardNumber",c:"Telesec attribute"},"0.2.262.1.10.7.26":{d:"fileType",c:"Telesec attribute"},"0.2.262.1.10.7.27":{d:"ctlFileIsArchive",c:"Telesec attribute"},"0.2.262.1.10.7.28":{d:"emailAddress",c:"Telesec attribute"},"0.2.262.1.10.7.29":{d:"certificateTemplateList",c:"Telesec attribute"},"0.2.262.1.10.7.30":{d:"directoryName",c:"Telesec attribute"},"0.2.262.1.10.7.31":{d:"directoryTypeName",c:"Telesec attribute"},"0.2.262.1.10.7.32":{d:"directoryGroupName",c:"Telesec attribute"},"0.2.262.1.10.7.33":{d:"directoryUserName",c:"Telesec attribute"},"0.2.262.1.10.7.34":{d:"revocationFlag",c:"Telesec attribute"},"0.2.262.1.10.7.35":{d:"symmetricKeyEntryName",c:"Telesec attribute"},"0.2.262.1.10.7.36":{d:"glNumber",c:"Telesec attribute"},"0.2.262.1.10.7.37":{d:"goNumber",c:"Telesec attribute"},"0.2.262.1.10.7.38":{d:"gKeyData",c:"Telesec attribute"},"0.2.262.1.10.7.39":{d:"zKeyData",c:"Telesec attribute"},"0.2.262.1.10.7.40":{d:"ktKeyData",c:"Telesec attribute"},"0.2.262.1.10.7.41":{d:"ktKeyNumber",c:"Telesec attribute"},"0.2.262.1.10.7.51":{d:"timeOfRevocationGen",c:"Telesec attribute"},"0.2.262.1.10.7.52":{d:"liabilityText",c:"Telesec attribute"},"0.2.262.1.10.8":{d:"attributeGroup",c:"Telesec"},"0.2.262.1.10.9":{d:"action",c:"Telesec"},"0.2.262.1.10.10":{d:"notification",c:"Telesec"},"0.2.262.1.10.11":{d:"snmp-mibs",c:"Telesec"},"0.2.262.1.10.11.1":{d:"securityApplication",c:"Telesec SNMP MIBs"},"0.2.262.1.10.12":{d:"certAndCrlExtensionDefinitions",c:"Telesec"},"0.2.262.1.10.12.0":{d:"liabilityLimitationFlag",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.1":{d:"telesecCertIdExt",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.2":{d:"Telesec policyIdentifier",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.3":{d:"telesecPolicyQualifierID",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.4":{d:"telesecCRLFilteredExt",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.5":{d:"telesecCRLFilterExt",c:"Telesec cert/CRL extension"},"0.2.262.1.10.12.6":{d:"telesecNamingAuthorityExt",c:"Telesec cert/CRL extension"},"0.4.0.127.0.7":{d:"bsi",c:"BSI TR-03110/TR-03111"},"0.4.0.127.0.7.1":{d:"bsiEcc",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1":{d:"bsifieldType",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.1":{d:"bsiPrimeField",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2":{d:"bsiCharacteristicTwoField",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.2":{d:"bsiECTLVKeyFormat",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.2.1":{d:"bsiECTLVPublicKey",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3":{d:"bsiCharacteristicTwoBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3.1":{d:"bsiGnBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3.2":{d:"bsiTpBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.2.3.3":{d:"bsiPpBasis",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1":{d:"bsiEcdsaSignatures",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.1":{d:"bsiEcdsaWithSHA1",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.2":{d:"bsiEcdsaWithSHA224",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.3":{d:"bsiEcdsaWithSHA256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.4":{d:"bsiEcdsaWithSHA384",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.5":{d:"bsiEcdsaWithSHA512",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.4.1.6":{d:"bsiEcdsaWithRIPEMD160",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1":{d:"bsiEckaEgX963KDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.1":{d:"bsiEckaEgX963KDFWithSHA1",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.2":{d:"bsiEckaEgX963KDFWithSHA224",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.3":{d:"bsiEckaEgX963KDFWithSHA256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.4":{d:"bsiEckaEgX963KDFWithSHA384",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.5":{d:"bsiEckaEgX963KDFWithSHA512",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.1.6":{d:"bsiEckaEgX963KDFWithRIPEMD160",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2":{d:"bsiEckaEgSessionKDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.1":{d:"bsiEckaEgSessionKDFWith3DES",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.2":{d:"bsiEckaEgSessionKDFWithAES128",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.3":{d:"bsiEckaEgSessionKDFWithAES192",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.1.2.4":{d:"bsiEckaEgSessionKDFWithAES256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2":{d:"bsiEckaDH",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1":{d:"bsiEckaDHX963KDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.1":{d:"bsiEckaDHX963KDFWithSHA1",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.2":{d:"bsiEckaDHX963KDFWithSHA224",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.3":{d:"bsiEckaDHX963KDFWithSHA256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.4":{d:"bsiEckaDHX963KDFWithSHA384",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.5":{d:"bsiEckaDHX963KDFWithSHA512",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.1.6":{d:"bsiEckaDHX963KDFWithRIPEMD160",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2":{d:"bsiEckaDHSessionKDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.1":{d:"bsiEckaDHSessionKDFWith3DES",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.2":{d:"bsiEckaDHSessionKDFWithAES128",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.3":{d:"bsiEckaDHSessionKDFWithAES192",c:"BSI TR-03111"},"0.4.0.127.0.7.1.1.5.2.2.4":{d:"bsiEckaDHSessionKDFWithAES256",c:"BSI TR-03111"},"0.4.0.127.0.7.1.2":{d:"bsiEcKeyType",c:"BSI TR-03111"},"0.4.0.127.0.7.1.2.1":{d:"bsiEcPublicKey",c:"BSI TR-03111"},"0.4.0.127.0.7.1.5.1":{d:"bsiKaeg",c:"BSI TR-03111"},"0.4.0.127.0.7.1.5.1.1":{d:"bsiKaegWithX963KDF",c:"BSI TR-03111"},"0.4.0.127.0.7.1.5.1.2":{d:"bsiKaegWith3DESKDF",c:"BSI TR-03111"},"0.4.0.127.0.7.2.2.1":{d:"bsiPK",c:"BSI TR-03110. Formerly known as bsiCA, now moved to ...2.2.3.x"},"0.4.0.127.0.7.2.2.1.1":{d:"bsiPK_DH",c:"BSI TR-03110. Formerly known as bsiCA_DH, now moved to ...2.2.3.x"},"0.4.0.127.0.7.2.2.1.2":{d:"bsiPK_ECDH",c:"BSI TR-03110. Formerly known as bsiCA_ECDH, now moved to ...2.2.3.x"},"0.4.0.127.0.7.2.2.2":{d:"bsiTA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1":{d:"bsiTA_RSA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.1":{d:"bsiTA_RSAv1_5_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.2":{d:"bsiTA_RSAv1_5_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.3":{d:"bsiTA_RSAPSS_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.4":{d:"bsiTA_RSAPSS_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.5":{d:"bsiTA_RSAv1_5_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.1.6":{d:"bsiTA_RSAPSS_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2":{d:"bsiTA_ECDSA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.1":{d:"bsiTA_ECDSA_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.2":{d:"bsiTA_ECDSA_SHA224",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.3":{d:"bsiTA_ECDSA_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.4":{d:"bsiTA_ECDSA_SHA384",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.2.2.5":{d:"bsiTA_ECDSA_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3":{d:"bsiCA",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1":{d:"bsiCA_DH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.1":{d:"bsiCA_DH_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.2":{d:"bsiCA_DH_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.3":{d:"bsiCA_DH_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.1.4":{d:"bsiCA_DH_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2":{d:"bsiCA_ECDH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.1":{d:"bsiCA_ECDH_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.2":{d:"bsiCA_ECDH_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.3":{d:"bsiCA_ECDH_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.3.2.4":{d:"bsiCA_ECDH_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4":{d:"bsiPACE",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1":{d:"bsiPACE_DH_GM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.1":{d:"bsiPACE_DH_GM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.2":{d:"bsiPACE_DH_GM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.3":{d:"bsiPACE_DH_GM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.1.4":{d:"bsiPACE_DH_GM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2":{d:"bsiPACE_ECDH_GM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.1":{d:"bsiPACE_ECDH_GM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.2":{d:"bsiPACE_ECDH_GM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.3":{d:"bsiPACE_ECDH_GM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.2.4":{d:"bsiPACE_ECDH_GM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3":{d:"bsiPACE_DH_IM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.1":{d:"bsiPACE_DH_IM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.2":{d:"bsiPACE_DH_IM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.3":{d:"bsiPACE_DH_IM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.3.4":{d:"bsiPACE_DH_IM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4":{d:"bsiPACE_ECDH_IM",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.1":{d:"bsiPACE_ECDH_IM_3DES_CBC_CBC",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.2":{d:"bsiPACE_ECDH_IM_AES_CBC_CMAC_128",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.3":{d:"bsiPACE_ECDH_IM_AES_CBC_CMAC_192",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.4.4.4":{d:"bsiPACE_ECDH_IM_AES_CBC_CMAC_256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5":{d:"bsiRI",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1":{d:"bsiRI_DH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.1":{d:"bsiRI_DH_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.2":{d:"bsiRI_DH_SHA224",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.3":{d:"bsiRI_DH_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.4":{d:"bsiRI_DH_SHA384",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.1.5":{d:"bsiRI_DH_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2":{d:"bsiRI_ECDH",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.1":{d:"bsiRI_ECDH_SHA1",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.2":{d:"bsiRI_ECDH_SHA224",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.3":{d:"bsiRI_ECDH_SHA256",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.4":{d:"bsiRI_ECDH_SHA384",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.5.2.5":{d:"bsiRI_ECDH_SHA512",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.6":{d:"bsiCardInfo",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.7":{d:"bsiEidSecurity",c:"BSI TR-03110"},"0.4.0.127.0.7.2.2.8":{d:"bsiPT",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2":{d:"bsiEACRoles",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2.1":{d:"bsiEACRolesIS",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2.2":{d:"bsiEACRolesAT",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.2.3":{d:"bsiEACRolesST",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3":{d:"bsiTAv2ce",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1":{d:"bsiTAv2ceDescription",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1.1":{d:"bsiTAv2ceDescriptionPlainText",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1.2":{d:"bsiTAv2ceDescriptionIA5String",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.1.3":{d:"bsiTAv2ceDescriptionOctetString",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.3.2":{d:"bsiTAv2ceTerminalSector",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4":{d:"bsiAuxData",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4.1":{d:"bsiAuxDataBirthday",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4.2":{d:"bsiAuxDataExpireDate",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.4.3":{d:"bsiAuxDataCommunityID",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5":{d:"bsiDefectList",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1":{d:"bsiDefectAuthDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.1":{d:"bsiDefectCertRevoked",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.2":{d:"bsiDefectCertReplaced",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.3":{d:"bsiDefectChipAuthKeyRevoked",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.1.4":{d:"bsiDefectActiveAuthKeyRevoked",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.2":{d:"bsiDefectEPassportDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.2.1":{d:"bsiDefectEPassportDGMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.2.2":{d:"bsiDefectSODInvalid",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.3":{d:"bsiDefectEIDDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.3.1":{d:"bsiDefectEIDDGMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.3.2":{d:"bsiDefectEIDIntegrity",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4":{d:"bsiDefectDocumentDefect",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4.1":{d:"bsiDefectCardSecurityMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4.2":{d:"bsiDefectChipSecurityMalformed",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.5.4.3":{d:"bsiDefectPowerDownReq",c:"BSI TR-03110"},"0.4.0.127.0.7.3.1.6":{d:"bsiListContentDescription",c:"BSI TR-03110"},"0.4.0.127.0.7.3.2.1":{d:"bsiSecurityObject",c:"BSI TR-03110"},"0.4.0.127.0.7.3.2.2":{d:"bsiBlackList",c:"BSI TR-03110"},"0.4.0.127.0.7.3.4.2.2":{d:"bsiSignedUpdateDeviceAdmin",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.1.1":{d:"bsiCertReqMsgs",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.1.2":{d:"bsiCertReqMsgswithOuterSignature",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.1.3":{d:"bsiAuthorizedCertReqMsgs",c:"BSI TR-03109"},"0.4.0.127.0.7.4.1.2.2":{d:"bsiSignedRevReqs",c:"BSI TR-03109"},"0.4.0.1862":{d:"etsiQcsProfile",c:"ETSI TS 101 862 qualified certificates"},"0.4.0.1862.1":{d:"etsiQcs",c:"ETSI TS 101 862 qualified certificates"},"0.4.0.1862.1.1":{d:"etsiQcsCompliance",c:"ETSI TS 101 862 qualified certificates"},"0.4.0.1862.1.2":{d:"etsiQcsLimitValue",c:"ETSI TS 101 862 qualified certificates"},"0.4.0.1862.1.3":{d:"etsiQcsRetentionPeriod",c:"ETSI TS 101 862 qualified certificates"},"0.4.0.1862.1.4":{d:"etsiQcsQcSSCD",c:"ETSI TS 101 862 qualified certificates"},"0.9.2342.19200300.100.1.1":{d:"userID",c:"Some oddball X.500 attribute collection"},"0.9.2342.19200300.100.1.3":{d:"rfc822Mailbox",c:"Some oddball X.500 attribute collection"},"0.9.2342.19200300.100.1.25":{d:"domainComponent",c:"Men are from Mars, this OID is from Pluto"},"1.0.10118.3.0.49":{d:"ripemd160",c:"ISO 10118-3 hash function"},"1.0.10118.3.0.50":{d:"ripemd128",c:"ISO 10118-3 hash function"},"1.0.10118.3.0.55":{d:"whirlpool",c:"ISO 10118-3 hash function"},"1.0.18033.2":{d:"iso18033-2",c:"ISO 18033-2"},"1.0.18033.2.2":{d:"kem",c:"ISO 18033-2 algorithms"},"1.0.18033.2.2.4":{d:"kemRSA",c:"ISO 18033-2 KEM algorithms"},"1.2.36.1.3.1.1.1":{d:"qgpki",c:"Queensland Government PKI"},"1.2.36.1.3.1.1.1.1":{d:"qgpkiPolicies",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.1.1":{d:"qgpkiMedIntermedCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.1":{d:"qgpkiMedIntermedIndividual",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.2":{d:"qgpkiMedIntermedDeviceControl",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.3":{d:"qgpkiMedIntermedDevice",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.4":{d:"qgpkiMedIntermedAuthorisedParty",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.1.5":{d:"qgpkiMedIntermedDeviceSystem",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2":{d:"qgpkiMedIssuingCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.1":{d:"qgpkiMedIssuingIndividual",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.2":{d:"qgpkiMedIssuingDeviceControl",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.3":{d:"qgpkiMedIssuingDevice",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.4":{d:"qgpkiMedIssuingAuthorisedParty",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.5":{d:"qgpkiMedIssuingClientAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.6":{d:"qgpkiMedIssuingServerAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.7":{d:"qgpkiMedIssuingDataProt",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.2.8":{d:"qgpkiMedIssuingTokenAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.3":{d:"qgpkiBasicIntermedCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.3.1":{d:"qgpkiBasicIntermedDeviceSystem",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4":{d:"qgpkiBasicIssuingCA",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4.1":{d:"qgpkiBasicIssuingClientAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4.2":{d:"qgpkiBasicIssuingServerAuth",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.1.4.3":{d:"qgpkiBasicIssuingDataSigning",c:"QGPKI policy"},"1.2.36.1.3.1.1.1.2":{d:"qgpkiAssuranceLevel",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.1":{d:"qgpkiAssuranceRudimentary",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.2":{d:"qgpkiAssuranceBasic",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.3":{d:"qgpkiAssuranceMedium",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.2.4":{d:"qgpkiAssuranceHigh",c:"QGPKI assurance level"},"1.2.36.1.3.1.1.1.3":{d:"qgpkiCertFunction",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.1":{d:"qgpkiFunctionIndividual",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.2":{d:"qgpkiFunctionDevice",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.3":{d:"qgpkiFunctionAuthorisedParty",c:"QGPKI policies"},"1.2.36.1.3.1.1.1.3.4":{d:"qgpkiFunctionDeviceControl",c:"QGPKI policies"},"1.2.36.1.3.1.2":{d:"qpspki",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1":{d:"qpspkiPolicies",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1.2":{d:"qpspkiPolicyBasic",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1.3":{d:"qpspkiPolicyMedium",c:"Queensland Police PKI"},"1.2.36.1.3.1.2.1.4":{d:"qpspkiPolicyHigh",c:"Queensland Police PKI"},"1.2.36.1.3.1.3.2":{d:"qtmrpki",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.1":{d:"qtmrpkiPolicies",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.2":{d:"qtmrpkiPurpose",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.2.1":{d:"qtmrpkiIndividual",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.2":{d:"qtmrpkiDeviceControl",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.3":{d:"qtmrpkiDevice",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.4":{d:"qtmrpkiAuthorisedParty",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.2.5":{d:"qtmrpkiDeviceSystem",c:"Queensland Transport PKI purpose"},"1.2.36.1.3.1.3.2.3":{d:"qtmrpkiDevice",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.3.1":{d:"qtmrpkiDriverLicense",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.2":{d:"qtmrpkiIndustryAuthority",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.3":{d:"qtmrpkiMarineLicense",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.4":{d:"qtmrpkiAdultProofOfAge",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.3.5":{d:"qtmrpkiSam",c:"Queensland Transport PKI device"},"1.2.36.1.3.1.3.2.4":{d:"qtmrpkiAuthorisedParty",c:"Queensland Transport PKI"},"1.2.36.1.3.1.3.2.4.1":{d:"qtmrpkiTransportInspector",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.2":{d:"qtmrpkiPoliceOfficer",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.3":{d:"qtmrpkiSystem",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.4":{d:"qtmrpkiLiquorLicensingInspector",c:"Queensland Transport PKI authorised party"},"1.2.36.1.3.1.3.2.4.5":{d:"qtmrpkiMarineEnforcementOfficer",c:"Queensland Transport PKI authorised party"},"1.2.36.1.333.1":{d:"australianBusinessNumber",c:"Australian Government corporate taxpayer ID"},"1.2.36.68980861.1.1.2":{d:"signetPersonal",c:"Signet CA"},"1.2.36.68980861.1.1.3":{d:"signetBusiness",c:"Signet CA"},"1.2.36.68980861.1.1.4":{d:"signetLegal",c:"Signet CA"},"1.2.36.68980861.1.1.10":{d:"signetPilot",c:"Signet CA"},"1.2.36.68980861.1.1.11":{d:"signetIntraNet",c:"Signet CA"},"1.2.36.68980861.1.1.20":{d:"signetPolicy",c:"Signet CA"},"1.2.36.75878867.1.100.1.1":{d:"certificatesAustraliaPolicy",c:"Certificates Australia CA"},"1.2.156.10197.1":{d:"gmtCryptographicAlgorithm",c:"China GM Standards Committee"},"1.2.156.10197.1.100":{d:"gmtBlockCipher",c:"China GM Standards Committee"},"1.2.156.10197.1.102":{d:"sm1Cipher",c:"China GM Standards Committee"},"1.2.156.10197.1.103":{d:"ssf33Cipher",c:"China GM Standards Committee"},"1.2.156.10197.1.104":{d:"sm4Cipher",c:"China GM Standards Committee"},"1.2.156.10197.1.200":{d:"gmtStreamCipher",c:"China GM Standards Committee"},"1.2.156.10197.1.201":{d:"zucCipher",c:"China GM Standards Committee"},"1.2.156.10197.1.300":{d:"gmtPublicKeyCryptography",c:"China GM Standards Committee"},"1.2.156.10197.1.301":{d:"sm2ECC",c:"China GM Standards Committee"},"1.2.156.10197.1.301.1":{d:"sm2-1DigitalSignature",c:"China GM Standards Committee"},"1.2.156.10197.1.301.2":{d:"sm2-2KeyExchange",c:"China GM Standards Committee"},"1.2.156.10197.1.301.3":{d:"sm2-3PublicKeyEncryption",c:"China GM Standards Committee"},"1.2.156.10197.1.302":{d:"gmtSM9IBE",c:"China GM Standards Committee"},"1.2.156.10197.1.302.1":{d:"sm9-1DigitalSignature",c:"China GM Standards Committee"},"1.2.156.10197.1.302.2":{d:"sm9-2KeyExchange",c:"China GM Standards Committee"},"1.2.156.10197.1.302.3":{d:"sm9-3PublicKeyEncryption",c:"China GM Standards Committee"},"1.2.156.10197.1.400":{d:"gmtHashAlgorithm",c:"China GM Standards Committee"},"1.2.156.10197.1.401":{d:"sm3Hash",c:"China GM Standards Committee"},"1.2.156.10197.1.401.1":{d:"sm3HashWithoutKey",c:"China GM Standards Committee"},"1.2.156.10197.1.401.2":{d:"sm3HashWithKey",c:"China GM Standards Committee"},"1.2.156.10197.1.500":{d:"gmtDigestSigning",c:"China GM Standards Committee"},"1.2.156.10197.1.501":{d:"sm2withSM3",c:"China GM Standards Committee"},"1.2.156.10197.1.504":{d:"rsaWithSM3",c:"China GM Standards Committee"},"1.2.156.10197.4.3":{d:"gmtCertificateAuthority",c:"China GM Standards Committee"},"1.2.156.10197.6":{d:"gmtStandardClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1":{d:"gmtFoundationClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1":{d:"gmtAlgorithmClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.1":{d:"zucStandard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.2":{d:"sm4Standard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.3":{d:"sm2Standard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.1.4":{d:"sm3Standard",c:"China GM Standards Committee"},"1.2.156.10197.6.1.2":{d:"gmtIDClass",c:"China GM Standards Committee"},"1.2.156.10197.6.1.2.1":{d:"gmtCryptoID",c:"China GM Standards Committee"},"1.2.156.10197.6.1.3":{d:"gmtOperationModes",c:"China GM Standards Committee"},"1.2.156.10197.6.1.4":{d:"gmtSecurityMechanism",c:"China GM Standards Committee"},"1.2.156.10197.6.1.4.1":{d:"gmtSM2Specification",c:"China GM Standards Committee"},"1.2.156.10197.6.1.4.2":{d:"gmtSM2CryptographicMessageSyntax",c:"China GM Standards Committee"},"1.2.156.10197.6.2":{d:"gmtDeviceClass",c:"China GM Standards Committee"},"1.2.156.10197.6.3":{d:"gmtServiceClass",c:"China GM Standards Committee"},"1.2.156.10197.6.4":{d:"gmtInfrastructure",c:"China GM Standards Committee"},"1.2.156.10197.6.5":{d:"gmtTestingClass",c:"China GM Standards Committee"},"1.2.156.10197.6.5.1":{d:"gmtRandomTestingClass",c:"China GM Standards Committee"},"1.2.156.10197.6.6":{d:"gmtManagementClass",c:"China GM Standards Committee"},"1.2.392.200011.61.1.1.1":{d:"mitsubishiSecurityAlgorithm",c:"Mitsubishi security algorithm"},"1.2.392.200011.61.1.1.1.1":{d:"misty1-cbc",c:"Mitsubishi security algorithm"},"1.2.410.200004.1":{d:"kisaAlgorithm",c:"KISA algorithm"},"1.2.410.200004.1.1":{d:"kcdsa",c:"Korean DSA"},"1.2.410.200004.1.2":{d:"has160",c:"Korean hash algorithm"},"1.2.410.200004.1.3":{d:"seedECB",c:"Korean SEED algorithm, ECB mode"},"1.2.410.200004.1.4":{d:"seedCBC",c:"Korean SEED algorithm, CBC mode"},"1.2.410.200004.1.5":{d:"seedOFB",c:"Korean SEED algorithm, OFB mode"},"1.2.410.200004.1.6":{d:"seedCFB",c:"Korean SEED algorithm, CFB mode"},"1.2.410.200004.1.7":{d:"seedMAC",c:"Korean SEED algorithm, MAC mode"},"1.2.410.200004.1.8":{d:"kcdsaWithHAS160",c:"Korean signature algorithm"},"1.2.410.200004.1.9":{d:"kcdsaWithSHA1",c:"Korean signature algorithm"},"1.2.410.200004.1.10":{d:"pbeWithHAS160AndSEED-ECB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.11":{d:"pbeWithHAS160AndSEED-CBC",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.12":{d:"pbeWithHAS160AndSEED-CFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.13":{d:"pbeWithHAS160AndSEED-OFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.14":{d:"pbeWithSHA1AndSEED-ECB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.15":{d:"pbeWithSHA1AndSEED-CBC",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.16":{d:"pbeWithSHA1AndSEED-CFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.17":{d:"pbeWithSHA1AndSEED-OFB",c:"Korean SEED algorithm, PBE key derivation"},"1.2.410.200004.1.20":{d:"rsaWithHAS160",c:"Korean signature algorithm"},"1.2.410.200004.1.21":{d:"kcdsa1",c:"Korean DSA"},"1.2.410.200004.2":{d:"npkiCP",c:"KISA NPKI certificate policies"},"1.2.410.200004.2.1":{d:"npkiSignaturePolicy",c:"KISA NPKI certificate policies"},"1.2.410.200004.3":{d:"npkiKP",c:"KISA NPKI key usage"},"1.2.410.200004.4":{d:"npkiAT",c:"KISA NPKI attribute"},"1.2.410.200004.5":{d:"npkiLCA",c:"KISA NPKI licensed CA"},"1.2.410.200004.5.1":{d:"npkiSignKorea",c:"KISA NPKI licensed CA"},"1.2.410.200004.5.2":{d:"npkiSignGate",c:"KISA NPKI licensed CA"},"1.2.410.200004.5.3":{d:"npkiNcaSign",c:"KISA NPKI licensed CA"},"1.2.410.200004.6":{d:"npkiON",c:"KISA NPKI otherName"},"1.2.410.200004.7":{d:"npkiAPP",c:"KISA NPKI application"},"1.2.410.200004.7.1":{d:"npkiSMIME",c:"KISA NPKI application"},"1.2.410.200004.7.1.1":{d:"npkiSMIMEAlgo",c:"KISA NPKI application"},"1.2.410.200004.7.1.1.1":{d:"npkiCmsSEEDWrap",c:"KISA NPKI application"},"1.2.410.200004.10":{d:"npki",c:"KISA NPKI"},"1.2.410.200004.10.1":{d:"npkiAttribute",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1":{d:"npkiIdentifyData",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.1":{d:"npkiVID",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.2":{d:"npkiEncryptedVID",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.3":{d:"npkiRandomNum",c:"KISA NPKI attribute"},"1.2.410.200004.10.1.1.4":{d:"npkiVID",c:"KISA NPKI attribute"},"1.2.410.200046.1.1":{d:"aria1AlgorithmModes",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.1":{d:"aria128-ecb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.2":{d:"aria128-cbc",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.3":{d:"aria128-cfb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.4":{d:"aria128-ofb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.5":{d:"aria128-ctr",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.6":{d:"aria192-ecb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.7":{d:"aria192-cbc",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.8":{d:"aria192-cfb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.9":{d:"aria192-ofb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.10":{d:"aria192-ctr",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.11":{d:"aria256-ecb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.12":{d:"aria256-cbc",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.13":{d:"aria256-cfb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.14":{d:"aria256-ofb",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.15":{d:"aria256-ctr",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.21":{d:"aria128-cmac",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.22":{d:"aria192-cmac",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.23":{d:"aria256-cmac",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.31":{d:"aria128-ocb2",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.32":{d:"aria192-ocb2",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.33":{d:"aria256-ocb2",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.34":{d:"aria128-gcm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.35":{d:"aria192-gcm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.36":{d:"aria256-gcm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.37":{d:"aria128-ccm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.38":{d:"aria192-ccm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.39":{d:"aria256-ccm",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.40":{d:"aria128-keywrap",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.41":{d:"aria192-keywrap",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.42":{d:"aria256-keywrap",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.43":{d:"aria128-keywrapWithPad",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.44":{d:"aria192-keywrapWithPad",c:"ARIA algorithm modes"},"1.2.410.200046.1.1.45":{d:"aria256-keywrapWithPad",c:"ARIA algorithm modes"},"1.2.643.2.2.3":{d:"gostSignature",c:"GOST R 34.10-2001 + GOST R 34.11-94 signature"},"1.2.643.2.2.4":{d:"gost94Signature",c:"GOST R 34.10-94 + GOST R 34.11-94 signature. Obsoleted by GOST R 34.10-2001",w:!0},"1.2.643.2.2.19":{d:"gostPublicKey",c:"GOST R 34.10-2001 (ECC) public key"},"1.2.643.2.2.20":{d:"gost94PublicKey",c:"GOST R 34.10-94 public key. Obsoleted by GOST R 34.10-2001",w:!0},"1.2.643.2.2.21":{d:"gostCipher",c:"GOST 28147-89 (symmetric key block cipher)"},"1.2.643.2.2.31.0":{d:"testCipherParams",c:"Test params for GOST 28147-89"},"1.2.643.2.2.31.1":{d:"cryptoProCipherA",c:"CryptoPro params A (default, variant 'Verba-O') for GOST 28147-89"},"1.2.643.2.2.31.2":{d:"cryptoProCipherB",c:"CryptoPro params B (variant 1) for GOST 28147-89"},"1.2.643.2.2.31.3":{d:"cryptoProCipherC",c:"CryptoPro params C (variant 2) for GOST 28147-89"},"1.2.643.2.2.31.4":{d:"cryptoProCipherD",c:"CryptoPro params D (variant 3) for GOST 28147-89"},"1.2.643.2.2.31.5":{d:"oscar11Cipher",c:"Oscar-1.1 params for GOST 28147-89"},"1.2.643.2.2.31.6":{d:"oscar10Cipher",c:"Oscar-1.0 params for GOST 28147-89"},"1.2.643.2.2.31.7":{d:"ric1Cipher",c:"RIC-1 params for GOST 28147-89"},"1.2.643.2.2.31.12":{d:"tc26CipherA",c:"TC26 params 2 for GOST 28147-89"},"1.2.643.2.2.31.13":{d:"tc26CipherB",c:"TC26 params 1 for GOST 28147-89"},"1.2.643.2.2.31.14":{d:"tc26CipherC",c:"TC26 params 3 for GOST 28147-89"},"1.2.643.2.2.31.15":{d:"tc26CipherD",c:"TC26 params 4 for GOST 28147-89"},"1.2.643.2.2.31.16":{d:"tc26CipherE",c:"TC26 params 5 for GOST 28147-89"},"1.2.643.2.2.31.17":{d:"tc26CipherF",c:"TC26 params 6 for GOST 28147-89"},"1.2.643.7.1.2.5.1.1":{d:"tc26CipherZ",c:"TC26 params Z for GOST 28147-89"},"1.2.643.2.2.9":{d:"gostDigest",c:"GOST R 34.11-94 digest"},"1.2.643.2.2.30.0":{d:"testDigestParams",c:"Test params for GOST R 34.11-94"},"1.2.643.2.2.30.1":{d:"cryptoProDigestA",c:"CryptoPro digest params A (default, variant 'Verba-O') for GOST R 34.11-94"},"1.2.643.2.2.30.2":{d:"cryptoProDigestB",c:"CryptoPro digest params B (variant 1) for GOST R 34.11-94"},"1.2.643.2.2.30.3":{d:"cryptoProDigestC",c:"CryptoPro digest params C (variant 2) for GOST R 34.11-94"},"1.2.643.2.2.30.4":{d:"cryptoProDigestD",c:"CryptoPro digest params D (variant 3) for GOST R 34.11-94"},"1.2.643.2.2.32.2":{d:"cryptoPro94SignA",c:"CryptoPro sign params A (default, variant 'Verba-O') for GOST R 34.10-94"},"1.2.643.2.2.32.3":{d:"cryptoPro94SignB",c:"CryptoPro sign params B (variant 1) for GOST R 34.10-94"},"1.2.643.2.2.32.4":{d:"cryptoPro94SignC",c:"CryptoPro sign params C (variant 2) for GOST R 34.10-94"},"1.2.643.2.2.32.5":{d:"cryptoPro94SignD",c:"CryptoPro sign params D (variant 3) for GOST R 34.10-94"},"1.2.643.2.2.33.1":{d:"cryptoPro94SignXA",c:"CryptoPro sign params XA (variant 1) for GOST R 34.10-94"},"1.2.643.2.2.33.2":{d:"cryptoPro94SignXB",c:"CryptoPro sign params XB (variant 2) for GOST R 34.10-94"},"1.2.643.2.2.33.3":{d:"cryptoPro94SignXC",c:"CryptoPro sign params XC (variant 3) for GOST R 34.10-94"},"1.2.643.2.2.35.0":{d:"testSignParams",c:"Test elliptic curve for GOST R 34.10-2001"},"1.2.643.2.2.35.1":{d:"cryptoProSignA",c:"CryptoPro ell.curve A for GOST R 34.10-2001"},"1.2.643.2.2.35.2":{d:"cryptoProSignB",c:"CryptoPro ell.curve B for GOST R 34.10-2001"},"1.2.643.2.2.35.3":{d:"cryptoProSignC",c:"CryptoPro ell.curve C for GOST R 34.10-2001"},"1.2.643.2.2.36.0":{d:"cryptoProSignXA",c:"CryptoPro ell.curve XA for GOST R 34.10-2001"},"1.2.643.2.2.36.1":{d:"cryptoProSignXB",c:"CryptoPro ell.curve XB for GOST R 34.10-2001"},"1.2.643.7.1.2.1.1.1":{d:"cryptoPro2012Sign256A",c:"CryptoPro ell.curve A for GOST R 34.10-2012 256 bit"},"1.2.643.7.1.2.1.2.1":{d:"cryptoPro2012Sign512A",c:"CryptoPro ell.curve A (default) for GOST R 34.10-2012 512 bit"},"1.2.643.7.1.2.1.2.2":{d:"cryptoPro2012Sign512B",c:"CryptoPro ell.curve B for GOST R 34.10-2012 512 bit"},"1.2.643.7.1.2.1.2.3":{d:"cryptoPro2012Sign512C",c:"CryptoPro ell.curve C for GOST R 34.10-2012 512 bit"},"1.2.643.2.2.14.0":{d:"nullMeshing",c:"Do not mesh state of GOST 28147-89 cipher"},"1.2.643.2.2.14.1":{d:"cryptoProMeshing",c:"CryptoPro meshing of state of GOST 28147-89 cipher"},"1.2.643.2.2.10":{d:"hmacGost",c:"HMAC with GOST R 34.11-94"},"1.2.643.2.2.13.0":{d:"gostWrap",c:"Wrap key using GOST 28147-89 key"},"1.2.643.2.2.13.1":{d:"cryptoProWrap",c:"Wrap key using diversified GOST 28147-89 key"},"1.2.643.2.2.96":{d:"cryptoProECDHWrap",c:"Wrap key using ECC DH on GOST R 34.10-2001 keys (VKO)"},"1.2.643.7.1.1.1.1":{d:"gost2012PublicKey256",c:"GOST R 34.10-2012 256 bit public key"},"1.2.643.7.1.1.1.2":{d:"gost2012PublicKey512",c:"GOST R 34.10-2012 512 bit public key"},"1.2.643.7.1.1.2.2":{d:"gost2012Digest256",c:"GOST R 34.11-2012 256 bit digest"},"1.2.643.7.1.1.2.3":{d:"gost2012Digest512",c:"GOST R 34.11-2012 512 bit digest"},"1.2.643.7.1.1.3.2":{d:"gost2012Signature256",c:"GOST R 34.10-2012 256 bit signature"},"1.2.643.7.1.1.3.3":{d:"gost2012Signature512",c:"GOST R 34.10-2012 512 bit signature"},"1.2.643.7.1.1.6.1":{d:"cryptoProECDH256",c:"CryptoPro ECC DH algorithm for GOST R 34.10-2012 256 bit key"},"1.2.643.7.1.1.6.2":{d:"cryptoProECDH512",c:"CryptoPro ECC DH algorithm for GOST R 34.10-2012 512 bit key"},"1.2.752.34.1":{d:"seis-cp",c:"SEIS Project"},"1.2.752.34.1.1":{d:"SEIS high-assurance policyIdentifier",c:"SEIS Project certificate policies"},"1.2.752.34.1.2":{d:"SEIS GAK policyIdentifier",c:"SEIS Project certificate policies"},"1.2.752.34.2":{d:"SEIS pe",c:"SEIS Project"},"1.2.752.34.3":{d:"SEIS at",c:"SEIS Project"},"1.2.752.34.3.1":{d:"SEIS at-personalIdentifier",c:"SEIS Project attribute"},"1.2.840.10040.1":{d:"module",c:"ANSI X9.57"},"1.2.840.10040.1.1":{d:"x9f1-cert-mgmt",c:"ANSI X9.57 module"},"1.2.840.10040.2":{d:"holdinstruction",c:"ANSI X9.57"},"1.2.840.10040.2.1":{d:"holdinstruction-none",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.2.2":{d:"callissuer",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.2.3":{d:"reject",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.2.4":{d:"pickupToken",c:"ANSI X9.57 hold instruction"},"1.2.840.10040.3":{d:"attribute",c:"ANSI X9.57"},"1.2.840.10040.3.1":{d:"countersignature",c:"ANSI X9.57 attribute"},"1.2.840.10040.3.2":{d:"attribute-cert",c:"ANSI X9.57 attribute"},"1.2.840.10040.4":{d:"algorithm",c:"ANSI X9.57"},"1.2.840.10040.4.1":{d:"dsa",c:"ANSI X9.57 algorithm"},"1.2.840.10040.4.2":{d:"dsa-match",c:"ANSI X9.57 algorithm"},"1.2.840.10040.4.3":{d:"dsaWithSha1",c:"ANSI X9.57 algorithm"},"1.2.840.10045.1":{d:"fieldType",c:"ANSI X9.62. This OID is also assigned as ecdsa-with-SHA1"},"1.2.840.10045.1.1":{d:"prime-field",c:"ANSI X9.62 field type"},"1.2.840.10045.1.2":{d:"characteristic-two-field",c:"ANSI X9.62 field type"},"1.2.840.10045.1.2.3":{d:"characteristic-two-basis",c:"ANSI X9.62 field type"},"1.2.840.10045.1.2.3.1":{d:"onBasis",c:"ANSI X9.62 field basis"},"1.2.840.10045.1.2.3.2":{d:"tpBasis",c:"ANSI X9.62 field basis"},"1.2.840.10045.1.2.3.3":{d:"ppBasis",c:"ANSI X9.62 field basis"},"1.2.840.10045.2":{d:"publicKeyType",c:"ANSI X9.62"},"1.2.840.10045.2.1":{d:"ecPublicKey",c:"ANSI X9.62 public key type"},"1.2.840.10045.3.0.1":{d:"c2pnb163v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.2":{d:"c2pnb163v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.3":{d:"c2pnb163v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.5":{d:"c2tnb191v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.6":{d:"c2tnb191v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.7":{d:"c2tnb191v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.10":{d:"c2pnb208w1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.11":{d:"c2tnb239v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.12":{d:"c2tnb239v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.13":{d:"c2tnb239v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.16":{d:"c2pnb272w1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.18":{d:"c2tnb359v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.19":{d:"c2pnb368w1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.0.20":{d:"c2tnb431r1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.1":{d:"prime192v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.2":{d:"prime192v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.3":{d:"prime192v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.4":{d:"prime239v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.5":{d:"prime239v2",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.6":{d:"prime239v3",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.3.1.7":{d:"prime256v1",c:"ANSI X9.62 named elliptic curve"},"1.2.840.10045.4.1":{d:"ecdsaWithSHA1",c:"ANSI X9.62 ECDSA algorithm with SHA1"},"1.2.840.10045.4.2":{d:"ecdsaWithRecommended",c:"ANSI X9.62 ECDSA algorithm with Recommended"},"1.2.840.10045.4.3":{d:"ecdsaWithSpecified",c:"ANSI X9.62 ECDSA algorithm with Specified"},"1.2.840.10045.4.3.1":{d:"ecdsaWithSHA224",c:"ANSI X9.62 ECDSA algorithm with SHA224"},"1.2.840.10045.4.3.2":{d:"ecdsaWithSHA256",c:"ANSI X9.62 ECDSA algorithm with SHA256"},"1.2.840.10045.4.3.3":{d:"ecdsaWithSHA384",c:"ANSI X9.62 ECDSA algorithm with SHA384"},"1.2.840.10045.4.3.4":{d:"ecdsaWithSHA512",c:"ANSI X9.62 ECDSA algorithm with SHA512"},"1.2.840.10046.1":{d:"fieldType",c:"ANSI X9.42"},"1.2.840.10046.1.1":{d:"gf-prime",c:"ANSI X9.42 field type"},"1.2.840.10046.2":{d:"numberType",c:"ANSI X9.42"},"1.2.840.10046.2.1":{d:"dhPublicKey",c:"ANSI X9.42 number type"},"1.2.840.10046.3":{d:"scheme",c:"ANSI X9.42"},"1.2.840.10046.3.1":{d:"dhStatic",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.2":{d:"dhEphem",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.3":{d:"dhHybrid1",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.4":{d:"dhHybrid2",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.5":{d:"mqv2",c:"ANSI X9.42 scheme"},"1.2.840.10046.3.6":{d:"mqv1",c:"ANSI X9.42 scheme"},"1.2.840.10065.2.2":{d:"?",c:"ASTM 31.20"},"1.2.840.10065.2.3":{d:"healthcareLicense",c:"ASTM 31.20"},"1.2.840.10065.2.3.1.1":{d:"license?",c:"ASTM 31.20 healthcare license type"},"1.2.840.10070":{d:"iec62351",c:"IEC 62351"},"1.2.840.10070.8":{d:"iec62351_8",c:"IEC 62351-8"},"1.2.840.10070.8.1":{d:"iecUserRoles",c:"IEC 62351-8"},"1.2.840.113533.7":{d:"nsn",c:""},"1.2.840.113533.7.65":{d:"nsn-ce",c:""},"1.2.840.113533.7.65.0":{d:"entrustVersInfo",c:"Nortel Secure Networks ce"},"1.2.840.113533.7.66":{d:"nsn-alg",c:""},"1.2.840.113533.7.66.3":{d:"cast3CBC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.10":{d:"cast5CBC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.11":{d:"cast5MAC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.12":{d:"pbeWithMD5AndCAST5-CBC",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.66.13":{d:"passwordBasedMac",c:"Nortel Secure Networks alg"},"1.2.840.113533.7.67":{d:"nsn-oc",c:""},"1.2.840.113533.7.67.0":{d:"entrustUser",c:"Nortel Secure Networks oc"},"1.2.840.113533.7.68":{d:"nsn-at",c:""},"1.2.840.113533.7.68.0":{d:"entrustCAInfo",c:"Nortel Secure Networks at"},"1.2.840.113533.7.68.10":{d:"attributeCertificate",c:"Nortel Secure Networks at"},"1.2.840.113549.1.1":{d:"pkcs-1",c:""},"1.2.840.113549.1.1.1":{d:"rsaEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.2":{d:"md2WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.3":{d:"md4WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.4":{d:"md5WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.5":{d:"sha1WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.7":{d:"rsaOAEP",c:"PKCS #1"},"1.2.840.113549.1.1.8":{d:"pkcs1-MGF",c:"PKCS #1"},"1.2.840.113549.1.1.9":{d:"rsaOAEP-pSpecified",c:"PKCS #1"},"1.2.840.113549.1.1.10":{d:"rsaPSS",c:"PKCS #1"},"1.2.840.113549.1.1.11":{d:"sha256WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.12":{d:"sha384WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.13":{d:"sha512WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.14":{d:"sha224WithRSAEncryption",c:"PKCS #1"},"1.2.840.113549.1.1.6":{d:"rsaOAEPEncryptionSET",c:"PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption"},"1.2.840.113549.1.2":{d:"bsafeRsaEncr",c:"Obsolete BSAFE OID",w:!0},"1.2.840.113549.1.3":{d:"pkcs-3",c:""},"1.2.840.113549.1.3.1":{d:"dhKeyAgreement",c:"PKCS #3"},"1.2.840.113549.1.5":{d:"pkcs-5",c:""},"1.2.840.113549.1.5.1":{d:"pbeWithMD2AndDES-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.3":{d:"pbeWithMD5AndDES-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.4":{d:"pbeWithMD2AndRC2-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.6":{d:"pbeWithMD5AndRC2-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.9":{d:"pbeWithMD5AndXOR",c:"PKCS #5, used in BSAFE only",w:!0},"1.2.840.113549.1.5.10":{d:"pbeWithSHAAndDES-CBC",c:"PKCS #5"},"1.2.840.113549.1.5.12":{d:"pkcs5PBKDF2",c:"PKCS #5 v2.0"},"1.2.840.113549.1.5.13":{d:"pkcs5PBES2",c:"PKCS #5 v2.0"},"1.2.840.113549.1.5.14":{d:"pkcs5PBMAC1",c:"PKCS #5 v2.0"},"1.2.840.113549.1.7":{d:"pkcs-7",c:""},"1.2.840.113549.1.7.1":{d:"data",c:"PKCS #7"},"1.2.840.113549.1.7.2":{d:"signedData",c:"PKCS #7"},"1.2.840.113549.1.7.3":{d:"envelopedData",c:"PKCS #7"},"1.2.840.113549.1.7.4":{d:"signedAndEnvelopedData",c:"PKCS #7"},"1.2.840.113549.1.7.5":{d:"digestedData",c:"PKCS #7"},"1.2.840.113549.1.7.6":{d:"encryptedData",c:"PKCS #7"},"1.2.840.113549.1.7.7":{d:"dataWithAttributes",c:"PKCS #7 experimental",w:!0},"1.2.840.113549.1.7.8":{d:"encryptedPrivateKeyInfo",c:"PKCS #7 experimental",w:!0},"1.2.840.113549.1.9":{d:"pkcs-9",c:""},"1.2.840.113549.1.9.1":{d:"emailAddress",c:"PKCS #9. Deprecated, use an altName extension instead"},"1.2.840.113549.1.9.2":{d:"unstructuredName",c:"PKCS #9"},"1.2.840.113549.1.9.3":{d:"contentType",c:"PKCS #9"},"1.2.840.113549.1.9.4":{d:"messageDigest",c:"PKCS #9"},"1.2.840.113549.1.9.5":{d:"signingTime",c:"PKCS #9"},"1.2.840.113549.1.9.6":{d:"countersignature",c:"PKCS #9"},"1.2.840.113549.1.9.7":{d:"challengePassword",c:"PKCS #9"},"1.2.840.113549.1.9.8":{d:"unstructuredAddress",c:"PKCS #9"},"1.2.840.113549.1.9.9":{d:"extendedCertificateAttributes",c:"PKCS #9"},"1.2.840.113549.1.9.10":{d:"issuerAndSerialNumber",c:"PKCS #9 experimental",w:!0},"1.2.840.113549.1.9.11":{d:"passwordCheck",c:"PKCS #9 experimental",w:!0},"1.2.840.113549.1.9.12":{d:"publicKey",c:"PKCS #9 experimental",w:!0},"1.2.840.113549.1.9.13":{d:"signingDescription",c:"PKCS #9"},"1.2.840.113549.1.9.14":{d:"extensionRequest",c:"PKCS #9 via CRMF"},"1.2.840.113549.1.9.15":{d:"sMIMECapabilities",c:"PKCS #9. This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name"},"1.2.840.113549.1.9.15.1":{d:"preferSignedData",c:"sMIMECapabilities"},"1.2.840.113549.1.9.15.2":{d:"canNotDecryptAny",c:"sMIMECapabilities"},"1.2.840.113549.1.9.15.3":{d:"receiptRequest",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 1) instead",w:!0},"1.2.840.113549.1.9.15.4":{d:"receipt",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 1 1) instead",w:!0},"1.2.840.113549.1.9.15.5":{d:"contentHints",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 4) instead",w:!0},"1.2.840.113549.1.9.15.6":{d:"mlExpansionHistory",c:"sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 3) instead",w:!0},"1.2.840.113549.1.9.16":{d:"id-sMIME",c:"PKCS #9"},"1.2.840.113549.1.9.16.0":{d:"id-mod",c:"id-sMIME"},"1.2.840.113549.1.9.16.0.1":{d:"id-mod-cms",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.2":{d:"id-mod-ess",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.3":{d:"id-mod-oid",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.4":{d:"id-mod-msg-v3",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.5":{d:"id-mod-ets-eSignature-88",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.6":{d:"id-mod-ets-eSignature-97",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.7":{d:"id-mod-ets-eSigPolicy-88",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.0.8":{d:"id-mod-ets-eSigPolicy-88",c:"S/MIME Modules"},"1.2.840.113549.1.9.16.1":{d:"contentType",c:"S/MIME"},"1.2.840.113549.1.9.16.1.1":{d:"receipt",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.2":{d:"authData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.3":{d:"publishCert",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.4":{d:"tSTInfo",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.5":{d:"tDTInfo",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.6":{d:"contentInfo",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.7":{d:"dVCSRequestData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.8":{d:"dVCSResponseData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.9":{d:"compressedData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.10":{d:"scvpCertValRequest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.11":{d:"scvpCertValResponse",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.12":{d:"scvpValPolRequest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.13":{d:"scvpValPolResponse",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.14":{d:"attrCertEncAttrs",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.15":{d:"tSReq",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.16":{d:"firmwarePackage",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.17":{d:"firmwareLoadReceipt",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.18":{d:"firmwareLoadError",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.19":{d:"contentCollection",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.20":{d:"contentWithAttrs",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.21":{d:"encKeyWithID",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.22":{d:"encPEPSI",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.23":{d:"authEnvelopedData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.24":{d:"routeOriginAttest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.25":{d:"symmetricKeyPackage",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.26":{d:"rpkiManifest",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.27":{d:"asciiTextWithCRLF",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.28":{d:"xml",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.29":{d:"pdf",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.30":{d:"postscript",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.31":{d:"timestampedData",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.32":{d:"asAdjacencyAttest",c:"S/MIME Content Types",w:!0},"1.2.840.113549.1.9.16.1.33":{d:"rpkiTrustAnchor",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.1.34":{d:"trustAnchorList",c:"S/MIME Content Types"},"1.2.840.113549.1.9.16.2":{d:"authenticatedAttributes",c:"S/MIME"},"1.2.840.113549.1.9.16.2.1":{d:"receiptRequest",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.2":{d:"securityLabel",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.3":{d:"mlExpandHistory",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.4":{d:"contentHint",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.5":{d:"msgSigDigest",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.6":{d:"encapContentType",c:"S/MIME Authenticated Attributes.  Obsolete",w:!0},"1.2.840.113549.1.9.16.2.7":{d:"contentIdentifier",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.8":{d:"macValue",c:"S/MIME Authenticated Attributes.  Obsolete",w:!0},"1.2.840.113549.1.9.16.2.9":{d:"equivalentLabels",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.10":{d:"contentReference",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.11":{d:"encrypKeyPref",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.12":{d:"signingCertificate",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.13":{d:"smimeEncryptCerts",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.14":{d:"timeStampToken",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.15":{d:"sigPolicyId",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.16":{d:"commitmentType",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.17":{d:"signerLocation",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.18":{d:"signerAttr",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.19":{d:"otherSigCert",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.20":{d:"contentTimestamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.21":{d:"certificateRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.22":{d:"revocationRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.23":{d:"certValues",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.24":{d:"revocationValues",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.25":{d:"escTimeStamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.26":{d:"certCRLTimestamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.27":{d:"archiveTimeStamp",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.28":{d:"signatureType",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.29":{d:"dvcsDvc",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.30":{d:"cekReference",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.31":{d:"maxCEKDecrypts",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.32":{d:"kekDerivationAlg",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.33":{d:"intendedRecipients",c:"S/MIME Authenticated Attributes.  Obsolete",w:!0},"1.2.840.113549.1.9.16.2.34":{d:"cmcUnsignedData",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.35":{d:"fwPackageID",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.36":{d:"fwTargetHardwareIDs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.37":{d:"fwDecryptKeyID",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.38":{d:"fwImplCryptAlgs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.39":{d:"fwWrappedFirmwareKey",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.40":{d:"fwCommunityIdentifiers",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.41":{d:"fwPkgMessageDigest",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.42":{d:"fwPackageInfo",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.43":{d:"fwImplCompressAlgs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.44":{d:"etsAttrCertificateRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.45":{d:"etsAttrRevocationRefs",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.46":{d:"binarySigningTime",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.47":{d:"signingCertificateV2",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.48":{d:"etsArchiveTimeStampV2",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.49":{d:"erInternal",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.50":{d:"erExternal",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.2.51":{d:"multipleSignatures",c:"S/MIME Authenticated Attributes"},"1.2.840.113549.1.9.16.3.1":{d:"esDHwith3DES",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.2":{d:"esDHwithRC2",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.3":{d:"3desWrap",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.4":{d:"rc2Wrap",c:"S/MIME Algorithms. Obsolete",w:!0},"1.2.840.113549.1.9.16.3.5":{d:"esDH",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.6":{d:"cms3DESwrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.7":{d:"cmsRC2wrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.8":{d:"zlib",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.9":{d:"pwriKEK",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.10":{d:"ssDH",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.11":{d:"hmacWith3DESwrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.12":{d:"hmacWithAESwrap",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.13":{d:"md5XorExperiment",c:"S/MIME Algorithms.  Experimental",w:!0},"1.2.840.113549.1.9.16.3.14":{d:"rsaKEM",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.15":{d:"authEnc128",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.16":{d:"authEnc256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.17":{d:"hssLmsHashSig",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.18":{d:"chaCha20Poly1305",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.19":{d:"ecdhHKDF-SHA256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.20":{d:"ecdhHKDF-SHA384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.21":{d:"ecdhHKDF-SHA512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.22":{d:"aesSIV-CMAC-256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.23":{d:"aesSIV-CMAC-384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.24":{d:"aesSIV-CMAC-512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.25":{d:"aesSIV-CMAC-wrap256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.26":{d:"aesSIV-CMAC-wrap384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.27":{d:"aesSIV-CMAC-wrap512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.28":{d:"hkdfWithSha256",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.29":{d:"hkdfWithSha384",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.3.30":{d:"hkdfWithSha512",c:"S/MIME Algorithms"},"1.2.840.113549.1.9.16.4.1":{d:"certDist-ldap",c:"S/MIME Certificate Distribution"},"1.2.840.113549.1.9.16.5.1":{d:"sigPolicyQualifier-spuri x",c:"S/MIME Signature Policy Qualifiers"},"1.2.840.113549.1.9.16.5.2":{d:"sigPolicyQualifier-spUserNotice",c:"S/MIME Signature Policy Qualifiers"},"1.2.840.113549.1.9.16.6.1":{d:"proofOfOrigin",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.2":{d:"proofOfReceipt",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.3":{d:"proofOfDelivery",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.4":{d:"proofOfSender",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.5":{d:"proofOfApproval",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.6.6":{d:"proofOfCreation",c:"S/MIME Commitment Type Identifiers"},"1.2.840.113549.1.9.16.8.1":{d:"glUseKEK",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.2":{d:"glDelete",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.3":{d:"glAddMember",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.4":{d:"glDeleteMember",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.5":{d:"glRekey",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.6":{d:"glAddOwner",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.7":{d:"glRemoveOwner",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.8":{d:"glkCompromise",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.9":{d:"glkRefresh",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.10":{d:"glFailInfo",c:"S/MIME Symmetric Key Distribution Attributes.  Obsolete",w:!0},"1.2.840.113549.1.9.16.8.11":{d:"glaQueryRequest",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.12":{d:"glaQueryResponse",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.13":{d:"glProvideCert",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.14":{d:"glUpdateCert",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.8.15":{d:"glKey",c:"S/MIME Symmetric Key Distribution Attributes"},"1.2.840.113549.1.9.16.9":{d:"signatureTypeIdentifier",c:"S/MIME"},"1.2.840.113549.1.9.16.9.1":{d:"originatorSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.9.2":{d:"domainSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.9.3":{d:"additionalAttributesSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.9.4":{d:"reviewSig",c:"S/MIME Signature Type Identifier"},"1.2.840.113549.1.9.16.11":{d:"capabilities",c:"S/MIME"},"1.2.840.113549.1.9.16.11.1":{d:"preferBinaryInside",c:"S/MIME Capability"},"1.2.840.113549.1.9.16.12":{d:"pskcAttributes",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.1":{d:"pskcManufacturer",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.2":{d:"pskcSerialNo",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.3":{d:"pskcModel",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.4":{d:"pskcIssueno",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.5":{d:"pskcDevicebinding",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.6":{d:"pskcDevicestartdate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.7":{d:"pskcDeviceexpirydate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.8":{d:"pskcModuleid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.9":{d:"pskcKeyid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.10":{d:"pskcAlgorithm",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.11":{d:"pskcIssuer",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.12":{d:"pskcKeyprofileid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.13":{d:"pskcKeyreference",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.14":{d:"pskcFriendlyname",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.15":{d:"pskcAlgorithmparams",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.16":{d:"pskcCounter",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.17":{d:"pskcTime",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.18":{d:"pskcTimeinterval",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.19":{d:"pskcTimedrift",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.20":{d:"pskcValuemac",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.21":{d:"pskcKeystartdate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.22":{d:"pskcKeyexpirydate",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.23":{d:"pskcNooftransactions",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.24":{d:"pskcKeyusages",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.25":{d:"pskcPinpolicy",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.26":{d:"pskcDeviceuserid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.16.12.27":{d:"pskcKeyuserid",c:"S/MIME Portable Symmetric Key Container Attributes"},"1.2.840.113549.1.9.20":{d:"friendlyName (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.21":{d:"localKeyID (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.22":{d:"certTypes (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.22.1":{d:"x509Certificate (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.22.2":{d:"sdsiCertificate (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.23":{d:"crlTypes (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.23.1":{d:"x509Crl (for PKCS #12)",c:"PKCS #9 via PKCS #12"},"1.2.840.113549.1.9.24":{d:"pkcs9objectClass",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.25":{d:"pkcs9attributes",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.25.1":{d:"pkcs15Token",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.2":{d:"encryptedPrivateKeyInfo",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.3":{d:"randomNonce",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.4":{d:"sequenceNumber",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.25.5":{d:"pkcs7PDU",c:"PKCS #9/RFC 2985 attribute"},"1.2.840.113549.1.9.26":{d:"pkcs9syntax",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.27":{d:"pkcs9matchingRules",c:"PKCS #9/RFC 2985"},"1.2.840.113549.1.9.52":{d:"cmsAlgorithmProtection",c:"RFC 6211"},"1.2.840.113549.1.12":{d:"pkcs-12",c:""},"1.2.840.113549.1.12.1":{d:"pkcs-12-PbeIds",c:"This OID was formerly assigned as PKCS #12 modeID"},"1.2.840.113549.1.12.1.1":{d:"pbeWithSHAAnd128BitRC4",c:"PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OfflineTransportMode"},"1.2.840.113549.1.12.1.2":{d:"pbeWithSHAAnd40BitRC4",c:"PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OnlineTransportMode"},"1.2.840.113549.1.12.1.3":{d:"pbeWithSHAAnd3-KeyTripleDES-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.1.4":{d:"pbeWithSHAAnd2-KeyTripleDES-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.1.5":{d:"pbeWithSHAAnd128BitRC2-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.1.6":{d:"pbeWithSHAAnd40BitRC2-CBC",c:"PKCS #12 PbeIds"},"1.2.840.113549.1.12.2":{d:"pkcs-12-ESPVKID",c:"Deprecated",w:!0},"1.2.840.113549.1.12.2.1":{d:"pkcs-12-PKCS8KeyShrouding",c:"PKCS #12 ESPVKID. Deprecated, use (1 2 840 113549 1 12 3 5) instead",w:!0},"1.2.840.113549.1.12.3":{d:"pkcs-12-BagIds",c:""},"1.2.840.113549.1.12.3.1":{d:"pkcs-12-keyBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.2":{d:"pkcs-12-certAndCRLBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.3":{d:"pkcs-12-secretBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.4":{d:"pkcs-12-safeContentsId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.3.5":{d:"pkcs-12-pkcs-8ShroudedKeyBagId",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.4":{d:"pkcs-12-CertBagID",c:"Deprecated",w:!0},"1.2.840.113549.1.12.4.1":{d:"pkcs-12-X509CertCRLBagID",c:"PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-X509CertCRLBag"},"1.2.840.113549.1.12.4.2":{d:"pkcs-12-SDSICertBagID",c:"PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-SDSICertBag"},"1.2.840.113549.1.12.5":{d:"pkcs-12-OID",c:"",w:!0},"1.2.840.113549.1.12.5.1":{d:"pkcs-12-PBEID",c:"PKCS #12 OID. Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead",w:!0},"1.2.840.113549.1.12.5.1.1":{d:"pkcs-12-PBEWithSha1And128BitRC4",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 1) instead",w:!0},"1.2.840.113549.1.12.5.1.2":{d:"pkcs-12-PBEWithSha1And40BitRC4",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 2) instead",w:!0},"1.2.840.113549.1.12.5.1.3":{d:"pkcs-12-PBEWithSha1AndTripleDESCBC",c:"PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 3) or (1 2 840 113549 1 12 1 4) instead",w:!0},"1.2.840.113549.1.12.5.1.4":{d:"pkcs-12-PBEWithSha1And128BitRC2CBC",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 5) instead",w:!0},"1.2.840.113549.1.12.5.1.5":{d:"pkcs-12-PBEWithSha1And40BitRC2CBC",c:"PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 6) instead",w:!0},"1.2.840.113549.1.12.5.1.6":{d:"pkcs-12-PBEWithSha1AndRC4",c:"PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 1) or (1 2 840 113549 1 12 1 2) instead",w:!0},"1.2.840.113549.1.12.5.1.7":{d:"pkcs-12-PBEWithSha1AndRC2CBC",c:"PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 5) or (1 2 840 113549 1 12 1 6) instead",w:!0},"1.2.840.113549.1.12.5.2":{d:"pkcs-12-EnvelopingID",c:"PKCS #12 OID. Deprecated, use the conventional PKCS #1 OIDs instead"},"1.2.840.113549.1.12.5.2.1":{d:"pkcs-12-RSAEncryptionWith128BitRC4",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.2.2":{d:"pkcs-12-RSAEncryptionWith40BitRC4",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.2.3":{d:"pkcs-12-RSAEncryptionWithTripleDES",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.3":{d:"pkcs-12-SignatureID",c:"PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.5.3.1":{d:"pkcs-12-RSASignatureWithSHA1Digest",c:"PKCS #12 OID SignatureID. Deprecated, use the conventional PKCS #1 OIDs instead",w:!0},"1.2.840.113549.1.12.10":{d:"pkcs-12Version1",c:""},"1.2.840.113549.1.12.10.1":{d:"pkcs-12BadIds",c:""},"1.2.840.113549.1.12.10.1.1":{d:"pkcs-12-keyBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.2":{d:"pkcs-12-pkcs-8ShroudedKeyBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.3":{d:"pkcs-12-certBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.4":{d:"pkcs-12-crlBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.5":{d:"pkcs-12-secretBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.12.10.1.6":{d:"pkcs-12-safeContentsBag",c:"PKCS #12 BagIds"},"1.2.840.113549.1.15.1":{d:"pkcs15modules",c:"PKCS #15"},"1.2.840.113549.1.15.2":{d:"pkcs15attributes",c:"PKCS #15"},"1.2.840.113549.1.15.3":{d:"pkcs15contentType",c:"PKCS #15"},"1.2.840.113549.1.15.3.1":{d:"pkcs15content",c:"PKCS #15 content type"},"1.2.840.113549.2":{d:"digestAlgorithm",c:""},"1.2.840.113549.2.2":{d:"md2",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.4":{d:"md4",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.5":{d:"md5",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.7":{d:"hmacWithSHA1",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.8":{d:"hmacWithSHA224",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.9":{d:"hmacWithSHA256",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.10":{d:"hmacWithSHA384",c:"RSADSI digestAlgorithm"},"1.2.840.113549.2.11":{d:"hmacWithSHA512",c:"RSADSI digestAlgorithm"},"1.2.840.113549.3":{d:"encryptionAlgorithm",c:""},"1.2.840.113549.3.2":{d:"rc2CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.3":{d:"rc2ECB",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.4":{d:"rc4",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.5":{d:"rc4WithMAC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.6":{d:"desx-CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.7":{d:"des-EDE3-CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.8":{d:"rc5CBC",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.9":{d:"rc5-CBCPad",c:"RSADSI encryptionAlgorithm"},"1.2.840.113549.3.10":{d:"desCDMF",c:"RSADSI encryptionAlgorithm. Formerly called CDMFCBCPad"},"1.2.840.114021.1.6.1":{d:"Identrus unknown policyIdentifier",c:"Identrus"},"1.2.840.114021.4.1":{d:"identrusOCSP",c:"Identrus"},"1.2.840.113556.1.2.241":{d:"deliveryMechanism",c:"Microsoft Exchange Server - attribute"},"1.2.840.113556.1.2.281":{d:"ntSecurityDescriptor",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.3.0":{d:"site-Addressing",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.13":{d:"classSchema",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.14":{d:"attributeSchema",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.17":{d:"mailbox-Agent",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.22":{d:"mailbox",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.23":{d:"container",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.3.46":{d:"mailRecipient",c:"Microsoft Exchange Server - object class"},"1.2.840.113556.1.4.145":{d:"revision",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1327":{d:"pKIDefaultKeySpec",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1328":{d:"pKIKeyUsage",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1329":{d:"pKIMaxIssuingDepth",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1330":{d:"pKICriticalExtensions",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1331":{d:"pKIExpirationPeriod",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1332":{d:"pKIOverlapPeriod",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1333":{d:"pKIExtendedKeyUsage",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1334":{d:"pKIDefaultCSPs",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1335":{d:"pKIEnrollmentAccess",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1429":{d:"msPKI-RA-Signature",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1430":{d:"msPKI-Enrollment-Flag",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1431":{d:"msPKI-Private-Key-Flag",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1432":{d:"msPKI-Certificate-Name-Flag",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1433":{d:"msPKI-Minimal-Key-Size",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1434":{d:"msPKI-Template-Schema-Version",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1435":{d:"msPKI-Template-Minor-Revision",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1436":{d:"msPKI-Cert-Template-OID",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1437":{d:"msPKI-Supersede-Templates",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1438":{d:"msPKI-RA-Policies",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1439":{d:"msPKI-Certificate-Policy",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1674":{d:"msPKI-Certificate-Application-Policy",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.1.4.1675":{d:"msPKI-RA-Application-Policies",c:"Microsoft Cert Template - attribute"},"1.2.840.113556.4.3":{d:"microsoftExcel",c:"Microsoft"},"1.2.840.113556.4.4":{d:"titledWithOID",c:"Microsoft"},"1.2.840.113556.4.5":{d:"microsoftPowerPoint",c:"Microsoft"},"1.2.840.113583.1":{d:"adobeAcrobat",c:"Adobe Acrobat"},"1.2.840.113583.1.1":{d:"acrobatSecurity",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.1":{d:"pdfPassword",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.2":{d:"pdfDefaultSigningCredential",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.3":{d:"pdfDefaultEncryptionCredential",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.4":{d:"pdfPasswordTimeout",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.5":{d:"pdfAuthenticDocumentsTrust",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.6":{d:"pdfDynamicContentTrust",c:"Adobe Acrobat security",w:!0},"1.2.840.113583.1.1.7":{d:"pdfUbiquityTrust",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.8":{d:"pdfRevocationInfoArchival",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.9":{d:"pdfX509Extension",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.9.1":{d:"pdfTimeStamp",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.9.2":{d:"pdfArchiveRevInfo",c:"Adobe Acrobat security"},"1.2.840.113583.1.1.10":{d:"pdfPPLKLiteCredential",c:"Adobe Acrobat security"},"1.2.840.113583.1.2":{d:"acrobatCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.1":{d:"pdfAuthenticDocumentsCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.2":{d:"pdfTestCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.3":{d:"pdfUbiquityCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.2.4":{d:"pdfAdhocCPS",c:"Adobe Acrobat CPS"},"1.2.840.113583.1.7":{d:"acrobatUbiquity",c:"Adobe Acrobat ubiquity"},"1.2.840.113583.1.7.1":{d:"pdfUbiquitySubRights",c:"Adobe Acrobat ubiquity"},"1.2.840.113583.1.9":{d:"acrobatExtension",c:"Adobe Acrobat X.509 extension"},"1.2.840.113628.114.1.7":{d:"adobePKCS7",c:"Adobe"},"1.2.840.113635.100":{d:"appleDataSecurity",c:"Apple"},"1.2.840.113635.100.1":{d:"appleTrustPolicy",c:"Apple"},"1.2.840.113635.100.1.1":{d:"appleISignTP",c:"Apple trust policy"},"1.2.840.113635.100.1.2":{d:"appleX509Basic",c:"Apple trust policy"},"1.2.840.113635.100.1.3":{d:"appleSSLPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.4":{d:"appleLocalCertGenPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.5":{d:"appleCSRGenPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.6":{d:"appleCRLPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.7":{d:"appleOCSPPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.8":{d:"appleSMIMEPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.9":{d:"appleEAPPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.10":{d:"appleSWUpdateSigningPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.11":{d:"appleIPSecPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.12":{d:"appleIChatPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.13":{d:"appleResourceSignPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.14":{d:"applePKINITClientPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.15":{d:"applePKINITServerPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.16":{d:"appleCodeSigningPolicy",c:"Apple trust policy"},"1.2.840.113635.100.1.17":{d:"applePackageSigningPolicy",c:"Apple trust policy"},"1.2.840.113635.100.2":{d:"appleSecurityAlgorithm",c:"Apple"},"1.2.840.113635.100.2.1":{d:"appleFEE",c:"Apple security algorithm"},"1.2.840.113635.100.2.2":{d:"appleASC",c:"Apple security algorithm"},"1.2.840.113635.100.2.3":{d:"appleFEE_MD5",c:"Apple security algorithm"},"1.2.840.113635.100.2.4":{d:"appleFEE_SHA1",c:"Apple security algorithm"},"1.2.840.113635.100.2.5":{d:"appleFEED",c:"Apple security algorithm"},"1.2.840.113635.100.2.6":{d:"appleFEEDEXP",c:"Apple security algorithm"},"1.2.840.113635.100.2.7":{d:"appleECDSA",c:"Apple security algorithm"},"1.2.840.113635.100.3":{d:"appleDotMacCertificate",c:"Apple"},"1.2.840.113635.100.3.1":{d:"appleDotMacCertificateRequest",c:"Apple dotMac certificate"},"1.2.840.113635.100.3.2":{d:"appleDotMacCertificateExtension",c:"Apple dotMac certificate"},"1.2.840.113635.100.3.3":{d:"appleDotMacCertificateRequestValues",c:"Apple dotMac certificate"},"1.2.840.113635.100.4":{d:"appleExtendedKeyUsage",c:"Apple"},"1.2.840.113635.100.4.1":{d:"appleCodeSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.1":{d:"appleCodeSigningDevelopment",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.2":{d:"appleSoftwareUpdateSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.3":{d:"appleCodeSigningThirdParty",c:"Apple extended key usage"},"1.2.840.113635.100.4.1.4":{d:"appleResourceSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.2":{d:"appleIChatSigning",c:"Apple extended key usage"},"1.2.840.113635.100.4.3":{d:"appleIChatEncryption",c:"Apple extended key usage"},"1.2.840.113635.100.4.4":{d:"appleSystemIdentity",c:"Apple extended key usage"},"1.2.840.113635.100.4.5":{d:"appleCryptoEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.1":{d:"appleCryptoProductionEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.2":{d:"appleCryptoMaintenanceEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.3":{d:"appleCryptoTestEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.5.4":{d:"appleCryptoDevelopmentEnv",c:"Apple extended key usage"},"1.2.840.113635.100.4.6":{d:"appleCryptoQoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.1":{d:"appleCryptoTier0QoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.2":{d:"appleCryptoTier1QoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.3":{d:"appleCryptoTier2QoS",c:"Apple extended key usage"},"1.2.840.113635.100.4.6.4":{d:"appleCryptoTier3QoS",c:"Apple extended key usage"},"1.2.840.113635.100.5":{d:"appleCertificatePolicies",c:"Apple"},"1.2.840.113635.100.5.1":{d:"appleCertificatePolicyID",c:"Apple"},"1.2.840.113635.100.5.2":{d:"appleDotMacCertificatePolicyID",c:"Apple"},"1.2.840.113635.100.5.3":{d:"appleADCCertificatePolicyID",c:"Apple"},"1.2.840.113635.100.6":{d:"appleCertificateExtensions",c:"Apple"},"1.2.840.113635.100.6.1":{d:"appleCertificateExtensionCodeSigning",c:"Apple certificate extension"},"1.2.840.113635.100.6.1.1":{d:"appleCertificateExtensionAppleSigning",c:"Apple certificate extension"},"1.2.840.113635.100.6.1.2":{d:"appleCertificateExtensionADCDeveloperSigning",c:"Apple certificate extension"},"1.2.840.113635.100.6.1.3":{d:"appleCertificateExtensionADCAppleSigning",c:"Apple certificate extension"},"1.3.6.1.4.1.311.2.1.4":{d:"spcIndirectDataContext",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.10":{d:"spcAgencyInfo",c:"Microsoft code signing. Also known as policyLink"},"1.3.6.1.4.1.311.2.1.11":{d:"spcStatementType",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.12":{d:"spcSpOpusInfo",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.14":{d:"certReqExtensions",c:"Microsoft"},"1.3.6.1.4.1.311.2.1.15":{d:"spcPEImageData",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.18":{d:"spcRawFileData",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.19":{d:"spcStructuredStorageData",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.20":{d:"spcJavaClassData (type 1)",c:'Microsoft code signing. Formerly "link extension" aka "glue extension"'},"1.3.6.1.4.1.311.2.1.21":{d:"individualCodeSigning",c:"Microsoft"},"1.3.6.1.4.1.311.2.1.22":{d:"commercialCodeSigning",c:"Microsoft"},"1.3.6.1.4.1.311.2.1.25":{d:"spcLink (type 2)",c:'Microsoft code signing. Also known as "glue extension"'},"1.3.6.1.4.1.311.2.1.26":{d:"spcMinimalCriteriaInfo",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.27":{d:"spcFinancialCriteriaInfo",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.28":{d:"spcLink (type 3)",c:'Microsoft code signing.  Also known as "glue extension"'},"1.3.6.1.4.1.311.2.1.29":{d:"spcHashInfoObjID",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.1.30":{d:"spcSipInfoObjID",c:"Microsoft code signing"},"1.3.6.1.4.1.311.2.2":{d:"ctl",c:"Microsoft CTL"},"1.3.6.1.4.1.311.2.2.1":{d:"ctlTrustedCodesigningCAList",c:"Microsoft CTL"},"1.3.6.1.4.1.311.2.2.2":{d:"ctlTrustedClientAuthCAList",c:"Microsoft CTL"},"1.3.6.1.4.1.311.2.2.3":{d:"ctlTrustedServerAuthCAList",c:"Microsoft CTL"},"1.3.6.1.4.1.311.3.2.1":{d:"timestampRequest",c:"Microsoft code signing"},"1.3.6.1.4.1.311.10.1":{d:"certTrustList",c:"Microsoft contentType"},"1.3.6.1.4.1.311.10.1.1":{d:"sortedCtl",c:"Microsoft contentType"},"1.3.6.1.4.1.311.10.2":{d:"nextUpdateLocation",c:"Microsoft"},"1.3.6.1.4.1.311.10.3.1":{d:"certTrustListSigning",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.2":{d:"timeStampSigning",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.3":{d:"serverGatedCrypto",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.3.1":{d:"serialized",c:"Microsoft"},"1.3.6.1.4.1.311.10.3.4":{d:"encryptedFileSystem",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.5":{d:"whqlCrypto",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.6":{d:"nt5Crypto",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.7":{d:"oemWHQLCrypto",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.8":{d:"embeddedNTCrypto",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.9":{d:"rootListSigner",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.10":{d:"qualifiedSubordination",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.11":{d:"keyRecovery",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.12":{d:"documentSigning",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.13":{d:"lifetimeSigning",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.14":{d:"mobileDeviceSoftware",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.15":{d:"smartDisplay",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.16":{d:"cspSignature",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.3.4.1":{d:"efsRecovery",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.4.1":{d:"yesnoTrustAttr",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.5.1":{d:"drm",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.5.2":{d:"drmIndividualization",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.6.1":{d:"licenses",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.6.2":{d:"licenseServer",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.10.7.1":{d:"keyidRdn",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.8.1":{d:"removeCertificate",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.9.1":{d:"crossCertDistPoints",c:"Microsoft attribute"},"1.3.6.1.4.1.311.10.10.1":{d:"cmcAddAttributes",c:"Microsoft"},"1.3.6.1.4.1.311.10.11":{d:"certPropIdPrefix",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.4":{d:"certMd5HashPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.20":{d:"certKeyIdentifierPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.28":{d:"certIssuerSerialNumberMd5HashPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.11.29":{d:"certSubjectNameMd5HashPropId",c:"Microsoft"},"1.3.6.1.4.1.311.10.12.1":{d:"anyApplicationPolicy",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12":{d:"catalog",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.1.1":{d:"catalogList",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.1.2":{d:"catalogListMember",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.2.1":{d:"catalogNameValueObjID",c:"Microsoft attribute"},"1.3.6.1.4.1.311.12.2.2":{d:"catalogMemberInfoObjID",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.1":{d:"renewalCertificate",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.2.1":{d:"enrolmentNameValuePair",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.2.2":{d:"enrolmentCSP",c:"Microsoft attribute"},"1.3.6.1.4.1.311.13.2.3":{d:"osVersion",c:"Microsoft attribute"},"1.3.6.1.4.1.311.16.4":{d:"microsoftRecipientInfo",c:"Microsoft attribute"},"1.3.6.1.4.1.311.17.1":{d:"pkcs12KeyProviderNameAttr",c:"Microsoft attribute"},"1.3.6.1.4.1.311.17.2":{d:"localMachineKeyset",c:"Microsoft attribute"},"1.3.6.1.4.1.311.17.3":{d:"pkcs12ExtendedAttributes",c:"Microsoft attribute"},"1.3.6.1.4.1.311.20.1":{d:"autoEnrollCtlUsage",c:"Microsoft"},"1.3.6.1.4.1.311.20.2":{d:"enrollCerttypeExtension",c:"Microsoft CAPICOM certificate template, V1"},"1.3.6.1.4.1.311.20.2.1":{d:"enrollmentAgent",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.20.2.2":{d:"smartcardLogon",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.20.2.3":{d:"universalPrincipalName",c:"Microsoft UPN"},"1.3.6.1.4.1.311.20.3":{d:"certManifold",c:"Microsoft"},"1.3.6.1.4.1.311.21.1":{d:"cAKeyCertIndexPair",c:"Microsoft attribute.  Also known as certsrvCaVersion"},"1.3.6.1.4.1.311.21.2":{d:"certSrvPreviousCertHash",c:"Microsoft"},"1.3.6.1.4.1.311.21.3":{d:"crlVirtualBase",c:"Microsoft"},"1.3.6.1.4.1.311.21.4":{d:"crlNextPublish",c:"Microsoft"},"1.3.6.1.4.1.311.21.5":{d:"caExchange",c:"Microsoft extended key usage",w:!0},"1.3.6.1.4.1.311.21.6":{d:"keyRecovery",c:"Microsoft extended key usage",w:!0},"1.3.6.1.4.1.311.21.7":{d:"certificateTemplate",c:"Microsoft CAPICOM certificate template, V2"},"1.3.6.1.4.1.311.21.9":{d:"rdnDummySigner",c:"Microsoft"},"1.3.6.1.4.1.311.21.10":{d:"applicationCertPolicies",c:"Microsoft"},"1.3.6.1.4.1.311.21.11":{d:"applicationPolicyMappings",c:"Microsoft"},"1.3.6.1.4.1.311.21.12":{d:"applicationPolicyConstraints",c:"Microsoft"},"1.3.6.1.4.1.311.21.13":{d:"archivedKey",c:"Microsoft attribute"},"1.3.6.1.4.1.311.21.14":{d:"crlSelfCDP",c:"Microsoft"},"1.3.6.1.4.1.311.21.15":{d:"requireCertChainPolicy",c:"Microsoft"},"1.3.6.1.4.1.311.21.16":{d:"archivedKeyCertHash",c:"Microsoft"},"1.3.6.1.4.1.311.21.17":{d:"issuedCertHash",c:"Microsoft"},"1.3.6.1.4.1.311.21.19":{d:"dsEmailReplication",c:"Microsoft"},"1.3.6.1.4.1.311.21.20":{d:"requestClientInfo",c:"Microsoft attribute"},"1.3.6.1.4.1.311.21.21":{d:"encryptedKeyHash",c:"Microsoft attribute"},"1.3.6.1.4.1.311.21.22":{d:"certsrvCrossCaVersion",c:"Microsoft"},"1.3.6.1.4.1.311.25.1":{d:"ntdsReplication",c:"Microsoft"},"1.3.6.1.4.1.311.31.1":{d:"productUpdate",c:"Microsoft attribute"},"1.3.6.1.4.1.311.47.1.1":{d:"systemHealth",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.47.1.3":{d:"systemHealthLoophole",c:"Microsoft extended key usage"},"1.3.6.1.4.1.311.60.1.1":{d:"rootProgramFlags",c:"Microsoft policy attribute"},"1.3.6.1.4.1.311.61.1.1":{d:"kernelModeCodeSigning",c:"Microsoft enhanced key usage"},"1.3.6.1.4.1.311.60.2.1.1":{d:"jurisdictionOfIncorporationL",c:"Microsoft (???)"},"1.3.6.1.4.1.311.60.2.1.2":{d:"jurisdictionOfIncorporationSP",c:"Microsoft (???)"},"1.3.6.1.4.1.311.60.2.1.3":{d:"jurisdictionOfIncorporationC",c:"Microsoft (???)"},"1.3.6.1.4.1.311.88":{d:"capiCom",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.1":{d:"capiComVersion",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.2":{d:"capiComAttribute",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.2.1":{d:"capiComDocumentName",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.2.2":{d:"capiComDocumentDescription",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.3":{d:"capiComEncryptedData",c:"Microsoft attribute"},"1.3.6.1.4.1.311.88.3.1":{d:"capiComEncryptedContent",c:"Microsoft attribute"},"1.3.6.1.4.1.188.7.1.1":{d:"ascom",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.1":{d:"ideaECB",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.2":{d:"ideaCBC",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.3":{d:"ideaCFB",c:"Ascom Systech"},"1.3.6.1.4.1.188.7.1.1.4":{d:"ideaOFB",c:"Ascom Systech"},"1.3.6.1.4.1.2428.10.1.1":{d:"UNINETT policyIdentifier",c:"UNINETT PCA"},"1.3.6.1.4.1.2712.10":{d:"ICE-TEL policyIdentifier",c:"ICE-TEL CA"},"1.3.6.1.4.1.2786.1.1.1":{d:"ICE-TEL Italian policyIdentifier",c:"ICE-TEL CA policy"},"1.3.6.1.4.1.3029.1.1.1":{d:"blowfishECB",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.1.2":{d:"blowfishCBC",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.1.3":{d:"blowfishCFB",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.1.4":{d:"blowfishOFB",c:"cryptlib encryption algorithm"},"1.3.6.1.4.1.3029.1.2.1":{d:"elgamal",c:"cryptlib public-key algorithm"},"1.3.6.1.4.1.3029.1.2.1.1":{d:"elgamalWithSHA-1",c:"cryptlib public-key algorithm"},"1.3.6.1.4.1.3029.1.2.1.2":{d:"elgamalWithRIPEMD-160",c:"cryptlib public-key algorithm"},"1.3.6.1.4.1.3029.3.1.1":{d:"cryptlibPresenceCheck",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.3.1.2":{d:"pkiBoot",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.3.1.4":{d:"crlExtReason",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.3.1.5":{d:"keyFeatures",c:"cryptlib attribute type"},"1.3.6.1.4.1.3029.4.1":{d:"cryptlibContent",c:"cryptlib"},"1.3.6.1.4.1.3029.4.1.1":{d:"cryptlibConfigData",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.2":{d:"cryptlibUserIndex",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.3":{d:"cryptlibUserInfo",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.4":{d:"rtcsRequest",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.5":{d:"rtcsResponse",c:"cryptlib content type"},"1.3.6.1.4.1.3029.4.1.6":{d:"rtcsResponseExt",c:"cryptlib content type"},"1.3.6.1.4.1.3029.42.11172.1":{d:"mpeg-1",c:"cryptlib special MPEG-of-cat OID"},"1.3.6.1.4.1.3029.54.11940.54":{d:'TSA policy "Anything that arrives, we sign"',c:"cryptlib TSA policy"},"1.3.6.1.4.1.3029.88.89.90.90.89":{d:"xYZZY policyIdentifier",c:"cryptlib certificate policy"},"1.3.6.1.4.1.3401.8.1.1":{d:"pgpExtension",c:"PGP key information"},"1.3.6.1.4.1.3576.7":{d:"eciaAscX12Edi",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.1":{d:"plainEDImessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.2":{d:"signedEDImessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.5":{d:"integrityEDImessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.65":{d:"iaReceiptMessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.7.97":{d:"iaStatusMessage",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.8":{d:"eciaEdifact",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.3576.9":{d:"eciaNonEdi",c:"TMN EDI for Interactive Agents"},"1.3.6.1.4.1.4146":{d:"Globalsign",c:"Globalsign"},"1.3.6.1.4.1.4146.1":{d:"globalsignPolicy",c:"Globalsign"},"1.3.6.1.4.1.4146.1.10":{d:"globalsignDVPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.20":{d:"globalsignOVPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.30":{d:"globalsignTSAPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.40":{d:"globalsignClientCertPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.50":{d:"globalsignCodeSignPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.60":{d:"globalsignRootSignPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.70":{d:"globalsignTrustedRootPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.80":{d:"globalsignEDIClientPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.81":{d:"globalsignEDIServerPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.90":{d:"globalsignTPMRootPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.4146.1.95":{d:"globalsignOCSPPolicy",c:"Globalsign policy"},"1.3.6.1.4.1.5309.1":{d:"edelWebPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2":{d:"edelWebCustomerPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2.1":{d:"edelWebClepsydrePolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2.2":{d:"edelWebExperimentalTSAPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5309.1.2.3":{d:"edelWebOpenEvidenceTSAPolicy",c:"EdelWeb policy"},"1.3.6.1.4.1.5472":{d:"timeproof",c:"enterprise"},"1.3.6.1.4.1.5472.1":{d:"tss",c:"timeproof"},"1.3.6.1.4.1.5472.1.1":{d:"tss80",c:"timeproof TSS"},"1.3.6.1.4.1.5472.1.2":{d:"tss380",c:"timeproof TSS"},"1.3.6.1.4.1.5472.1.3":{d:"tss400",c:"timeproof TSS"},"1.3.6.1.4.1.5770.0.3":{d:"secondaryPractices",c:"MEDePass"},"1.3.6.1.4.1.5770.0.4":{d:"physicianIdentifiers",c:"MEDePass"},"1.3.6.1.4.1.6449.1.2.1.3.1":{d:"comodoPolicy",c:"Comodo CA"},"1.3.6.1.4.1.6449.1.2.2.15":{d:"wotrustPolicy",c:"WoTrust (Comodo) CA"},"1.3.6.1.4.1.6449.1.3.5.2":{d:"comodoCertifiedDeliveryService",c:"Comodo CA"},"1.3.6.1.4.1.6449.2.1.1":{d:"comodoTimestampingPolicy",c:"Comodo CA"},"1.3.6.1.4.1.8301.3.5.1":{d:"validityModelChain",c:"TU Darmstadt ValidityModel"},"1.3.6.1.4.1.8301.3.5.2":{d:"validityModelShell",c:"ValidityModel"},"1.3.6.1.4.1.8231.1":{d:"rolUnicoNacional",c:"Chilean Government national unique roll number"},"1.3.6.1.4.1.11591":{d:"gnu",c:"GNU Project (see http://www.gnupg.org/oids.html)"},"1.3.6.1.4.1.11591.1":{d:"gnuRadius",c:"GNU Radius"},"1.3.6.1.4.1.11591.3":{d:"gnuRadar",c:"GNU Radar"},"1.3.6.1.4.1.11591.4.11":{d:"scrypt",c:"GNU Generic Security Service"},"1.3.6.1.4.1.11591.12":{d:"gnuDigestAlgorithm",c:"GNU digest algorithm"},"1.3.6.1.4.1.11591.12.2":{d:"tiger",c:"GNU digest algorithm"},"1.3.6.1.4.1.11591.13":{d:"gnuEncryptionAlgorithm",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2":{d:"serpent",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.1":{d:"serpent128_ECB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.2":{d:"serpent128_CBC",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.3":{d:"serpent128_OFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.4":{d:"serpent128_CFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.21":{d:"serpent192_ECB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.22":{d:"serpent192_CBC",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.23":{d:"serpent192_OFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.24":{d:"serpent192_CFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.41":{d:"serpent256_ECB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.42":{d:"serpent256_CBC",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.43":{d:"serpent256_OFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.13.2.44":{d:"serpent256_CFB",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.1":{d:"curve25519",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.2":{d:"curve448",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.3":{d:"curve25519ph",c:"GNU encryption algorithm"},"1.3.6.1.4.1.11591.15.4":{d:"curve448ph",c:"GNU encryption algorithm"},"1.3.6.1.4.1.16334.509.1.1":{d:"Northrop Grumman extKeyUsage?",c:"Northrop Grumman extended key usage"},"1.3.6.1.4.1.16334.509.2.1":{d:"ngcClass1",c:"Northrop Grumman policy"},"1.3.6.1.4.1.16334.509.2.2":{d:"ngcClass2",c:"Northrop Grumman policy"},"1.3.6.1.4.1.16334.509.2.3":{d:"ngcClass3",c:"Northrop Grumman policy"},"1.3.6.1.4.1.23629.1.4.2.1.1":{d:"safenetUsageLimit",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.1.2":{d:"safenetEndDate",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.1.3":{d:"safenetStartDate",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.1.4":{d:"safenetAdminCert",c:"SafeNet"},"1.3.6.1.4.1.23629.1.4.2.2.1":{d:"safenetKeyDigest",c:"SafeNet"},"1.3.6.1.5.2.3.1":{d:"authData",c:"Kerberos"},"1.3.6.1.5.2.3.2":{d:"dHKeyData",c:"Kerberos"},"1.3.6.1.5.2.3.3":{d:"rkeyData",c:"Kerberos"},"1.3.6.1.5.2.3.4":{d:"keyPurposeClientAuth",c:"Kerberos"},"1.3.6.1.5.2.3.5":{d:"keyPurposeKdc",c:"Kerberos"},"1.3.6.1.5.2.3.6":{d:"kdf",c:"Kerberos"},"1.3.6.1.5.5.7":{d:"pkix",c:""},"1.3.6.1.5.5.7.0.12":{d:"attributeCert",c:"PKIX"},"1.3.6.1.5.5.7.1":{d:"privateExtension",c:"PKIX"},"1.3.6.1.5.5.7.1.1":{d:"authorityInfoAccess",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.2":{d:"biometricInfo",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.3":{d:"qcStatements",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.4":{d:"acAuditIdentity",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.5":{d:"acTargeting",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.6":{d:"acAaControls",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.7":{d:"ipAddrBlocks",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.8":{d:"autonomousSysIds",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.9":{d:"routerIdentifier",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.10":{d:"acProxying",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.11":{d:"subjectInfoAccess",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.12":{d:"logoType",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.13":{d:"wlanSSID",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.14":{d:"proxyCertInfo",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.15":{d:"acPolicies",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.16":{d:"certificateWarranty",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.18":{d:"cmsContentConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.19":{d:"otherCerts",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.20":{d:"wrappedApexContinKey",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.21":{d:"clearanceConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.22":{d:"skiSemantics",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.23":{d:"noSecrecyAfforded",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.24":{d:"tlsFeature",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.25":{d:"manufacturerUsageDescription",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.26":{d:"tnAuthList",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.27":{d:"jwtClaimConstraints",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.28":{d:"ipAddrBlocksV2",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.29":{d:"autonomousSysIdsV2",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.30":{d:"manufacturerUsageDescriptionSigner",c:"PKIX private extension"},"1.3.6.1.5.5.7.1.31":{d:"acmeIdentifier",c:"PKIX private extension"},"1.3.6.1.5.5.7.2":{d:"policyQualifierIds",c:"PKIX"},"1.3.6.1.5.5.7.2.1":{d:"cps",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.2.2":{d:"unotice",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.2.3":{d:"textNotice",c:"PKIX policy qualifier"},"1.3.6.1.5.5.7.3":{d:"keyPurpose",c:"PKIX"},"1.3.6.1.5.5.7.3.1":{d:"serverAuth",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.2":{d:"clientAuth",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.3":{d:"codeSigning",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.4":{d:"emailProtection",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.5":{d:"ipsecEndSystem",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.6":{d:"ipsecTunnel",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.7":{d:"ipsecUser",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.8":{d:"timeStamping",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.9":{d:"ocspSigning",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.10":{d:"dvcs",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.11":{d:"sbgpCertAAServerAuth",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.12":{d:"scvpResponder",c:"PKIX key purpose",w:!0},"1.3.6.1.5.5.7.3.13":{d:"eapOverPPP",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.14":{d:"eapOverLAN",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.15":{d:"scvpServer",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.16":{d:"scvpClient",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.17":{d:"ipsecIKE",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.18":{d:"capwapAC",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.19":{d:"capwapWTP",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.20":{d:"sipDomain",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.21":{d:"secureShellClient",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.22":{d:"secureShellServer",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.23":{d:"sendRouter",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.24":{d:"sendProxiedRouter",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.25":{d:"sendOwner",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.26":{d:"sendProxiedOwner",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.27":{d:"cmcCA",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.28":{d:"cmcRA",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.29":{d:"cmcArchive",c:"PKIX key purpose"},"1.3.6.1.5.5.7.3.30":{d:"bgpsecRouter",c:"PKIX key purpose"},"1.3.6.1.5.5.7.4":{d:"cmpInformationTypes",c:"PKIX"},"1.3.6.1.5.5.7.4.1":{d:"caProtEncCert",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.2":{d:"signKeyPairTypes",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.3":{d:"encKeyPairTypes",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.4":{d:"preferredSymmAlg",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.5":{d:"caKeyUpdateInfo",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.6":{d:"currentCRL",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.7":{d:"unsupportedOIDs",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.10":{d:"keyPairParamReq",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.11":{d:"keyPairParamRep",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.12":{d:"revPassphrase",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.13":{d:"implicitConfirm",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.14":{d:"confirmWaitTime",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.15":{d:"origPKIMessage",c:"PKIX CMP information"},"1.3.6.1.5.5.7.4.16":{d:"suppLangTags",c:"PKIX CMP information"},"1.3.6.1.5.5.7.5":{d:"crmfRegistration",c:"PKIX"},"1.3.6.1.5.5.7.5.1":{d:"regCtrl",c:"PKIX CRMF registration"},"1.3.6.1.5.5.7.5.1.1":{d:"regToken",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.2":{d:"authenticator",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.3":{d:"pkiPublicationInfo",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.4":{d:"pkiArchiveOptions",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.5":{d:"oldCertID",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.6":{d:"protocolEncrKey",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.7":{d:"altCertTemplate",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.1.8":{d:"wtlsTemplate",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.2":{d:"utf8Pairs",c:"PKIX CRMF registration"},"1.3.6.1.5.5.7.5.2.1":{d:"utf8Pairs",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.5.2.2":{d:"certReq",c:"PKIX CRMF registration control"},"1.3.6.1.5.5.7.6":{d:"algorithms",c:"PKIX"},"1.3.6.1.5.5.7.6.1":{d:"des40",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.2":{d:"noSignature",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.3":{d:"dhSigHmacSha1",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.4":{d:"dhPop",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.5":{d:"dhPopSha224",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.6":{d:"dhPopSha256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.7":{d:"dhPopSha384",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.8":{d:"dhPopSha512",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.15":{d:"dhPopStaticSha224HmacSha224",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.16":{d:"dhPopStaticSha256HmacSha256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.17":{d:"dhPopStaticSha384HmacSha384",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.18":{d:"dhPopStaticSha512HmacSha512",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.25":{d:"ecdhPopStaticSha224HmacSha224",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.26":{d:"ecdhPopStaticSha256HmacSha256",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.27":{d:"ecdhPopStaticSha384HmacSha384",c:"PKIX algorithm"},"1.3.6.1.5.5.7.6.28":{d:"ecdhPopStaticSha512HmacSha512",c:"PKIX algorithm"},"1.3.6.1.5.5.7.7":{d:"cmcControls",c:"PKIX"},"1.3.6.1.5.5.7.8":{d:"otherNames",c:"PKIX"},"1.3.6.1.5.5.7.8.1":{d:"personalData",c:"PKIX other name"},"1.3.6.1.5.5.7.8.2":{d:"userGroup",c:"PKIX other name"},"1.3.6.1.5.5.7.8.5":{d:"xmppAddr",c:"PKIX other name"},"1.3.6.1.5.5.7.9":{d:"personalData",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.9.1":{d:"dateOfBirth",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.2":{d:"placeOfBirth",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.3":{d:"gender",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.4":{d:"countryOfCitizenship",c:"PKIX personal data"},"1.3.6.1.5.5.7.9.5":{d:"countryOfResidence",c:"PKIX personal data"},"1.3.6.1.5.5.7.10":{d:"attributeCertificate",c:"PKIX"},"1.3.6.1.5.5.7.10.1":{d:"authenticationInfo",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.2":{d:"accessIdentity",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.3":{d:"chargingIdentity",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.4":{d:"group",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.5":{d:"role",c:"PKIX attribute certificate extension"},"1.3.6.1.5.5.7.10.6":{d:"wlanSSID",c:"PKIX attribute-certificate extension"},"1.3.6.1.5.5.7.11":{d:"personalData",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.11.1":{d:"pkixQCSyntax-v1",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.14.2":{d:"resourceCertificatePolicy",c:"PKIX policies"},"1.3.6.1.5.5.7.20":{d:"logo",c:"PKIX qualified certificates"},"1.3.6.1.5.5.7.20.1":{d:"logoLoyalty",c:"PKIX"},"1.3.6.1.5.5.7.20.2":{d:"logoBackground",c:"PKIX"},"1.3.6.1.5.5.7.48.1":{d:"ocsp",c:"PKIX"},"1.3.6.1.5.5.7.48.1.1":{d:"ocspBasic",c:"OCSP"},"1.3.6.1.5.5.7.48.1.2":{d:"ocspNonce",c:"OCSP"},"1.3.6.1.5.5.7.48.1.3":{d:"ocspCRL",c:"OCSP"},"1.3.6.1.5.5.7.48.1.4":{d:"ocspResponse",c:"OCSP"},"1.3.6.1.5.5.7.48.1.5":{d:"ocspNoCheck",c:"OCSP"},"1.3.6.1.5.5.7.48.1.6":{d:"ocspArchiveCutoff",c:"OCSP"},"1.3.6.1.5.5.7.48.1.7":{d:"ocspServiceLocator",c:"OCSP"},"1.3.6.1.5.5.7.48.2":{d:"caIssuers",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.3":{d:"timeStamping",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.4":{d:"dvcs",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.5":{d:"caRepository",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.7":{d:"signedObjectRepository",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.10":{d:"rpkiManifest",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.7.48.11":{d:"signedObject",c:"PKIX subject/authority info access descriptor"},"1.3.6.1.5.5.8.1.1":{d:"hmacMD5",c:"ISAKMP HMAC algorithm"},"1.3.6.1.5.5.8.1.2":{d:"hmacSHA",c:"ISAKMP HMAC algorithm"},"1.3.6.1.5.5.8.1.3":{d:"hmacTiger",c:"ISAKMP HMAC algorithm"},"1.3.6.1.5.5.8.2.2":{d:"iKEIntermediate",c:"IKE ???"},"1.3.12.2.1011.7.1":{d:"decEncryptionAlgorithm",c:"DASS algorithm"},"1.3.12.2.1011.7.1.2":{d:"decDEA",c:"DASS encryption algorithm"},"1.3.12.2.1011.7.2":{d:"decHashAlgorithm",c:"DASS algorithm"},"1.3.12.2.1011.7.2.1":{d:"decMD2",c:"DASS hash algorithm"},"1.3.12.2.1011.7.2.2":{d:"decMD4",c:"DASS hash algorithm"},"1.3.12.2.1011.7.3":{d:"decSignatureAlgorithm",c:"DASS algorithm"},"1.3.12.2.1011.7.3.1":{d:"decMD2withRSA",c:"DASS signature algorithm"},"1.3.12.2.1011.7.3.2":{d:"decMD4withRSA",c:"DASS signature algorithm"},"1.3.12.2.1011.7.3.3":{d:"decDEAMAC",c:"DASS signature algorithm"},"1.3.14.2.26.5":{d:"sha",c:"Unsure about this OID"},"1.3.14.3.2.1.1":{d:"rsa",c:"X.509. Unsure about this OID"},"1.3.14.3.2.2":{d:"md4WitRSA",c:"Oddball OIW OID"},"1.3.14.3.2.3":{d:"md5WithRSA",c:"Oddball OIW OID"},"1.3.14.3.2.4":{d:"md4WithRSAEncryption",c:"Oddball OIW OID"},"1.3.14.3.2.2.1":{d:"sqmod-N",c:"X.509. Deprecated",w:!0},"1.3.14.3.2.3.1":{d:"sqmod-NwithRSA",c:"X.509. Deprecated",w:!0},"1.3.14.3.2.6":{d:"desECB",c:""},"1.3.14.3.2.7":{d:"desCBC",c:""},"1.3.14.3.2.8":{d:"desOFB",c:""},"1.3.14.3.2.9":{d:"desCFB",c:""},"1.3.14.3.2.10":{d:"desMAC",c:""},"1.3.14.3.2.11":{d:"rsaSignature",c:"ISO 9796-2, also X9.31 Part 1"},"1.3.14.3.2.12":{d:"dsa",c:"OIW?, supposedly from an incomplete version of SDN.701 (doesn't match final SDN.701)",w:!0},"1.3.14.3.2.13":{d:"dsaWithSHA",c:"Oddball OIW OID.  Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27)",w:!0},"1.3.14.3.2.14":{d:"mdc2WithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.15":{d:"shaWithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.16":{d:"dhWithCommonModulus",c:"Oddball OIW OID. Deprecated, use a plain DH OID instead",w:!0},"1.3.14.3.2.17":{d:"desEDE",c:"Oddball OIW OID. Mode is ECB"},"1.3.14.3.2.18":{d:"sha",c:"Oddball OIW OID"},"1.3.14.3.2.19":{d:"mdc-2",c:"Oddball OIW OID, DES-based hash, planned for X9.31 Part 2"},"1.3.14.3.2.20":{d:"dsaCommon",c:"Oddball OIW OID.  Deprecated, use a plain DSA OID instead",w:!0},"1.3.14.3.2.21":{d:"dsaCommonWithSHA",c:"Oddball OIW OID.  Deprecated, use a plain dsaWithSHA OID instead",w:!0},"1.3.14.3.2.22":{d:"rsaKeyTransport",c:"Oddball OIW OID"},"1.3.14.3.2.23":{d:"keyed-hash-seal",c:"Oddball OIW OID"},"1.3.14.3.2.24":{d:"md2WithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.25":{d:"md5WithRSASignature",c:"Oddball OIW OID using 9796-2 padding rules"},"1.3.14.3.2.26":{d:"sha1",c:"OIW"},"1.3.14.3.2.27":{d:"dsaWithSHA1",c:"OIW. This OID may also be assigned as ripemd-160"},"1.3.14.3.2.28":{d:"dsaWithCommonSHA1",c:"OIW"},"1.3.14.3.2.29":{d:"sha-1WithRSAEncryption",c:"Oddball OIW OID"},"1.3.14.3.3.1":{d:"simple-strong-auth-mechanism",c:"Oddball OIW OID"},"1.3.14.7.2.1.1":{d:"ElGamal",c:"Unsure about this OID"},"1.3.14.7.2.3.1":{d:"md2WithRSA",c:"Unsure about this OID"},"1.3.14.7.2.3.2":{d:"md2WithElGamal",c:"Unsure about this OID"},"1.3.36.1":{d:"document",c:"Teletrust document"},"1.3.36.1.1":{d:"finalVersion",c:"Teletrust document"},"1.3.36.1.2":{d:"draft",c:"Teletrust document"},"1.3.36.2":{d:"sio",c:"Teletrust sio"},"1.3.36.2.1":{d:"sedu",c:"Teletrust sio"},"1.3.36.3":{d:"algorithm",c:"Teletrust algorithm"},"1.3.36.3.1":{d:"encryptionAlgorithm",c:"Teletrust algorithm"},"1.3.36.3.1.1":{d:"des",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.1":{d:"desECB_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.1.1":{d:"desECB_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.2.1":{d:"desCBC_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.1.2.1.1":{d:"desCBC_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.3":{d:"des_3",c:"Teletrust encryption algorithm"},"1.3.36.3.1.3.1.1":{d:"des_3ECB_pad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.3.1.1.1":{d:"des_3ECB_ISOpad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.3.2.1":{d:"des_3CBC_pad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.3.2.1.1":{d:"des_3CBC_ISOpad",c:"Teletrust encryption algorithm. EDE triple DES"},"1.3.36.3.1.2":{d:"idea",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.1":{d:"ideaECB",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.1.1":{d:"ideaECB_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.1.1.1":{d:"ideaECB_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.2":{d:"ideaCBC",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.2.1":{d:"ideaCBC_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.2.1.1":{d:"ideaCBC_ISOpad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.3":{d:"ideaOFB",c:"Teletrust encryption algorithm"},"1.3.36.3.1.2.4":{d:"ideaCFB",c:"Teletrust encryption algorithm"},"1.3.36.3.1.4":{d:"rsaEncryption",c:"Teletrust encryption algorithm"},"1.3.36.3.1.4.512.17":{d:"rsaEncryptionWithlmod512expe17",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5":{d:"bsi-1",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5.1":{d:"bsi_1ECB_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5.2":{d:"bsi_1CBC_pad",c:"Teletrust encryption algorithm"},"1.3.36.3.1.5.2.1":{d:"bsi_1CBC_PEMpad",c:"Teletrust encryption algorithm"},"1.3.36.3.2":{d:"hashAlgorithm",c:"Teletrust algorithm"},"1.3.36.3.2.1":{d:"ripemd160",c:"Teletrust hash algorithm"},"1.3.36.3.2.2":{d:"ripemd128",c:"Teletrust hash algorithm"},"1.3.36.3.2.3":{d:"ripemd256",c:"Teletrust hash algorithm"},"1.3.36.3.2.4":{d:"mdc2singleLength",c:"Teletrust hash algorithm"},"1.3.36.3.2.5":{d:"mdc2doubleLength",c:"Teletrust hash algorithm"},"1.3.36.3.3":{d:"signatureAlgorithm",c:"Teletrust algorithm"},"1.3.36.3.3.1":{d:"rsaSignature",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.1":{d:"rsaSignatureWithsha1",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.1.1024.11":{d:"rsaSignatureWithsha1_l1024_l11",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.2":{d:"rsaSignatureWithripemd160",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.2.1024.11":{d:"rsaSignatureWithripemd160_l1024_l11",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.3":{d:"rsaSignatureWithrimpemd128",c:"Teletrust signature algorithm"},"1.3.36.3.3.1.4":{d:"rsaSignatureWithrimpemd256",c:"Teletrust signature algorithm"},"1.3.36.3.3.2":{d:"ecsieSign",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.1":{d:"ecsieSignWithsha1",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.2":{d:"ecsieSignWithripemd160",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.3":{d:"ecsieSignWithmd2",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.4":{d:"ecsieSignWithmd5",c:"Teletrust signature algorithm"},"1.3.36.3.3.2.8.1.1.1":{d:"brainpoolP160r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.2":{d:"brainpoolP160t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.3":{d:"brainpoolP192r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.4":{d:"brainpoolP192t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.5":{d:"brainpoolP224r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.6":{d:"brainpoolP224t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.7":{d:"brainpoolP256r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.8":{d:"brainpoolP256t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.9":{d:"brainpoolP320r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.10":{d:"brainpoolP320t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.11":{d:"brainpoolP384r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.12":{d:"brainpoolP384t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.13":{d:"brainpoolP512r1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.3.2.8.1.1.14":{d:"brainpoolP512t1",c:"ECC Brainpool Standard Curves and Curve Generation"},"1.3.36.3.4":{d:"signatureScheme",c:"Teletrust algorithm"},"1.3.36.3.4.1":{d:"sigS_ISO9796-1",c:"Teletrust signature scheme"},"1.3.36.3.4.2":{d:"sigS_ISO9796-2",c:"Teletrust signature scheme"},"1.3.36.3.4.2.1":{d:"sigS_ISO9796-2Withred",c:"Teletrust signature scheme. Unsure what this is supposed to be"},"1.3.36.3.4.2.2":{d:"sigS_ISO9796-2Withrsa",c:"Teletrust signature scheme. Unsure what this is supposed to be"},"1.3.36.3.4.2.3":{d:"sigS_ISO9796-2Withrnd",c:"Teletrust signature scheme. 9796-2 with random number in padding field"},"1.3.36.4":{d:"attribute",c:"Teletrust attribute"},"1.3.36.5":{d:"policy",c:"Teletrust policy"},"1.3.36.6":{d:"api",c:"Teletrust API"},"1.3.36.6.1":{d:"manufacturer-specific_api",c:"Teletrust API"},"1.3.36.6.1.1":{d:"utimaco-api",c:"Teletrust API"},"1.3.36.6.2":{d:"functionality-specific_api",c:"Teletrust API"},"1.3.36.7":{d:"keymgmnt",c:"Teletrust key management"},"1.3.36.7.1":{d:"keyagree",c:"Teletrust key management"},"1.3.36.7.1.1":{d:"bsiPKE",c:"Teletrust key management"},"1.3.36.7.2":{d:"keytrans",c:"Teletrust key management"},"1.3.36.7.2.1":{d:"encISO9796-2Withrsa",c:"Teletrust key management. 9796-2 with key stored in hash field"},"1.3.36.8.1.1":{d:"Teletrust SigGConform policyIdentifier",c:"Teletrust policy"},"1.3.36.8.2.1":{d:"directoryService",c:"Teletrust extended key usage"},"1.3.36.8.3.1":{d:"dateOfCertGen",c:"Teletrust attribute"},"1.3.36.8.3.2":{d:"procuration",c:"Teletrust attribute"},"1.3.36.8.3.3":{d:"admission",c:"Teletrust attribute"},"1.3.36.8.3.4":{d:"monetaryLimit",c:"Teletrust attribute"},"1.3.36.8.3.5":{d:"declarationOfMajority",c:"Teletrust attribute"},"1.3.36.8.3.6":{d:"integratedCircuitCardSerialNumber",c:"Teletrust attribute"},"1.3.36.8.3.7":{d:"pKReference",c:"Teletrust attribute"},"1.3.36.8.3.8":{d:"restriction",c:"Teletrust attribute"},"1.3.36.8.3.9":{d:"retrieveIfAllowed",c:"Teletrust attribute"},"1.3.36.8.3.10":{d:"requestedCertificate",c:"Teletrust attribute"},"1.3.36.8.3.11":{d:"namingAuthorities",c:"Teletrust attribute"},"1.3.36.8.3.11.1":{d:"rechtWirtschaftSteuern",c:"Teletrust naming authorities"},"1.3.36.8.3.11.1.1":{d:"rechtsanwaeltin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.2":{d:"rechtsanwalt",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.3":{d:"rechtsBeistand",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.4":{d:"steuerBeraterin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.5":{d:"steuerBerater",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.6":{d:"steuerBevollmaechtigte",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.7":{d:"steuerBevollmaechtigter",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.8":{d:"notarin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.9":{d:"notar",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.10":{d:"notarVertreterin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.11":{d:"notarVertreter",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.12":{d:"notariatsVerwalterin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.13":{d:"notariatsVerwalter",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.14":{d:"wirtschaftsPrueferin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.15":{d:"wirtschaftsPruefer",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.16":{d:"vereidigteBuchprueferin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.17":{d:"vereidigterBuchpruefer",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.18":{d:"patentAnwaeltin",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.11.1.19":{d:"patentAnwalt",c:"Teletrust ProfessionInfo"},"1.3.36.8.3.12":{d:"certInDirSince",c:"Teletrust OCSP attribute (obsolete)",w:!0},"1.3.36.8.3.13":{d:"certHash",c:"Teletrust OCSP attribute"},"1.3.36.8.3.14":{d:"nameAtBirth",c:"Teletrust attribute"},"1.3.36.8.3.15":{d:"additionalInformation",c:"Teletrust attribute"},"1.3.36.8.4.1":{d:"personalData",c:"Teletrust OtherName attribute"},"1.3.36.8.4.8":{d:"restriction",c:"Teletrust attribute certificate attribute"},"1.3.36.8.5.1.1.1":{d:"rsaIndicateSHA1",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.1.2":{d:"rsaIndicateRIPEMD160",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.1.3":{d:"rsaWithSHA1",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.1.4":{d:"rsaWithRIPEMD160",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.2.1":{d:"dsaExtended",c:"Teletrust signature algorithm"},"1.3.36.8.5.1.2.2":{d:"dsaWithRIPEMD160",c:"Teletrust signature algorithm"},"1.3.36.8.6.1":{d:"cert",c:"Teletrust signature attributes"},"1.3.36.8.6.2":{d:"certRef",c:"Teletrust signature attributes"},"1.3.36.8.6.3":{d:"attrCert",c:"Teletrust signature attributes"},"1.3.36.8.6.4":{d:"attrRef",c:"Teletrust signature attributes"},"1.3.36.8.6.5":{d:"fileName",c:"Teletrust signature attributes"},"1.3.36.8.6.6":{d:"storageTime",c:"Teletrust signature attributes"},"1.3.36.8.6.7":{d:"fileSize",c:"Teletrust signature attributes"},"1.3.36.8.6.8":{d:"location",c:"Teletrust signature attributes"},"1.3.36.8.6.9":{d:"sigNumber",c:"Teletrust signature attributes"},"1.3.36.8.6.10":{d:"autoGen",c:"Teletrust signature attributes"},"1.3.36.8.7.1.1":{d:"ptAdobeILL",c:"Teletrust presentation types"},"1.3.36.8.7.1.2":{d:"ptAmiPro",c:"Teletrust presentation types"},"1.3.36.8.7.1.3":{d:"ptAutoCAD",c:"Teletrust presentation types"},"1.3.36.8.7.1.4":{d:"ptBinary",c:"Teletrust presentation types"},"1.3.36.8.7.1.5":{d:"ptBMP",c:"Teletrust presentation types"},"1.3.36.8.7.1.6":{d:"ptCGM",c:"Teletrust presentation types"},"1.3.36.8.7.1.7":{d:"ptCorelCRT",c:"Teletrust presentation types"},"1.3.36.8.7.1.8":{d:"ptCorelDRW",c:"Teletrust presentation types"},"1.3.36.8.7.1.9":{d:"ptCorelEXC",c:"Teletrust presentation types"},"1.3.36.8.7.1.10":{d:"ptCorelPHT",c:"Teletrust presentation types"},"1.3.36.8.7.1.11":{d:"ptDraw",c:"Teletrust presentation types"},"1.3.36.8.7.1.12":{d:"ptDVI",c:"Teletrust presentation types"},"1.3.36.8.7.1.13":{d:"ptEPS",c:"Teletrust presentation types"},"1.3.36.8.7.1.14":{d:"ptExcel",c:"Teletrust presentation types"},"1.3.36.8.7.1.15":{d:"ptGEM",c:"Teletrust presentation types"},"1.3.36.8.7.1.16":{d:"ptGIF",c:"Teletrust presentation types"},"1.3.36.8.7.1.17":{d:"ptHPGL",c:"Teletrust presentation types"},"1.3.36.8.7.1.18":{d:"ptJPEG",c:"Teletrust presentation types"},"1.3.36.8.7.1.19":{d:"ptKodak",c:"Teletrust presentation types"},"1.3.36.8.7.1.20":{d:"ptLaTeX",c:"Teletrust presentation types"},"1.3.36.8.7.1.21":{d:"ptLotus",c:"Teletrust presentation types"},"1.3.36.8.7.1.22":{d:"ptLotusPIC",c:"Teletrust presentation types"},"1.3.36.8.7.1.23":{d:"ptMacPICT",c:"Teletrust presentation types"},"1.3.36.8.7.1.24":{d:"ptMacWord",c:"Teletrust presentation types"},"1.3.36.8.7.1.25":{d:"ptMSWfD",c:"Teletrust presentation types"},"1.3.36.8.7.1.26":{d:"ptMSWord",c:"Teletrust presentation types"},"1.3.36.8.7.1.27":{d:"ptMSWord2",c:"Teletrust presentation types"},"1.3.36.8.7.1.28":{d:"ptMSWord6",c:"Teletrust presentation types"},"1.3.36.8.7.1.29":{d:"ptMSWord8",c:"Teletrust presentation types"},"1.3.36.8.7.1.30":{d:"ptPDF",c:"Teletrust presentation types"},"1.3.36.8.7.1.31":{d:"ptPIF",c:"Teletrust presentation types"},"1.3.36.8.7.1.32":{d:"ptPostscript",c:"Teletrust presentation types"},"1.3.36.8.7.1.33":{d:"ptRTF",c:"Teletrust presentation types"},"1.3.36.8.7.1.34":{d:"ptSCITEX",c:"Teletrust presentation types"},"1.3.36.8.7.1.35":{d:"ptTAR",c:"Teletrust presentation types"},"1.3.36.8.7.1.36":{d:"ptTarga",c:"Teletrust presentation types"},"1.3.36.8.7.1.37":{d:"ptTeX",c:"Teletrust presentation types"},"1.3.36.8.7.1.38":{d:"ptText",c:"Teletrust presentation types"},"1.3.36.8.7.1.39":{d:"ptTIFF",c:"Teletrust presentation types"},"1.3.36.8.7.1.40":{d:"ptTIFF-FC",c:"Teletrust presentation types"},"1.3.36.8.7.1.41":{d:"ptUID",c:"Teletrust presentation types"},"1.3.36.8.7.1.42":{d:"ptUUEncode",c:"Teletrust presentation types"},"1.3.36.8.7.1.43":{d:"ptWMF",c:"Teletrust presentation types"},"1.3.36.8.7.1.44":{d:"ptWordPerfect",c:"Teletrust presentation types"},"1.3.36.8.7.1.45":{d:"ptWPGrph",c:"Teletrust presentation types"},"1.3.101.1.4":{d:"thawte-ce",c:"Thawte"},"1.3.101.1.4.1":{d:"strongExtranet",c:"Thawte certificate extension"},"1.3.101.110":{d:"curveX25519",c:"ECDH 25519 key agreement algorithm"},"1.3.101.111":{d:"curveX448",c:"ECDH 448 key agreement algorithm"},"1.3.101.112":{d:"curveEd25519",c:"EdDSA 25519 signature algorithm"},"1.3.101.113":{d:"curveEd448",c:"EdDSA 448 signature algorithm"},"1.3.101.114":{d:"curveEd25519ph",c:"EdDSA 25519 pre-hash signature algorithm"},"1.3.101.115":{d:"curveEd448ph",c:"EdDSA 448 pre-hash signature algorithm"},"1.3.132.0.1":{d:"sect163k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.2":{d:"sect163r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.3":{d:"sect239k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.4":{d:"sect113r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.5":{d:"sect113r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.6":{d:"secp112r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.7":{d:"secp112r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.8":{d:"secp160r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.9":{d:"secp160k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.10":{d:"secp256k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.15":{d:"sect163r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.16":{d:"sect283k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.17":{d:"sect283r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.22":{d:"sect131r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.23":{d:"sect131r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.24":{d:"sect193r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.25":{d:"sect193r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.26":{d:"sect233k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.27":{d:"sect233r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.28":{d:"secp128r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.29":{d:"secp128r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.30":{d:"secp160r2",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.31":{d:"secp192k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.32":{d:"secp224k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.33":{d:"secp224r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.34":{d:"secp384r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.35":{d:"secp521r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.36":{d:"sect409k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.37":{d:"sect409r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.38":{d:"sect571k1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.0.39":{d:"sect571r1",c:"SECG (Certicom) named elliptic curve"},"1.3.132.1.11.1":{d:"ecdhX963KDF-SHA256",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.11.2":{d:"ecdhX963KDF-SHA384",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.132.1.11.3":{d:"ecdhX963KDF-SHA512",c:"SECG (Certicom) elliptic curve key agreement"},"1.3.133.16.840.9.44":{d:"x944",c:"X9.44"},"1.3.133.16.840.9.44.1":{d:"x944Components",c:"X9.44"},"1.3.133.16.840.9.44.1.1":{d:"x944Kdf2",c:"X9.44"},"1.3.133.16.840.9.44.1.2":{d:"x944Kdf3",c:"X9.44"},"1.3.133.16.840.9.84":{d:"x984",c:"X9.84"},"1.3.133.16.840.9.84.0":{d:"x984Module",c:"X9.84"},"1.3.133.16.840.9.84.0.1":{d:"x984Biometrics",c:"X9.84 Module"},"1.3.133.16.840.9.84.0.2":{d:"x984CMS",c:"X9.84 Module"},"1.3.133.16.840.9.84.0.3":{d:"x984Identifiers",c:"X9.84 Module"},"1.3.133.16.840.9.84.1":{d:"x984Biometric",c:"X9.84"},"1.3.133.16.840.9.84.1.0":{d:"biometricUnknownType",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.1":{d:"biometricBodyOdor",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.2":{d:"biometricDNA",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.3":{d:"biometricEarShape",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.4":{d:"biometricFacialFeatures",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.5":{d:"biometricFingerImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.6":{d:"biometricFingerGeometry",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.7":{d:"biometricHandGeometry",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.8":{d:"biometricIrisFeatures",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.9":{d:"biometricKeystrokeDynamics",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.10":{d:"biometricPalm",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.11":{d:"biometricRetina",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.12":{d:"biometricSignature",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.13":{d:"biometricSpeechPattern",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.14":{d:"biometricThermalImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.15":{d:"biometricVeinPattern",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.16":{d:"biometricThermalFaceImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.17":{d:"biometricThermalHandImage",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.18":{d:"biometricLipMovement",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.1.19":{d:"biometricGait",c:"X9.84 Biometric"},"1.3.133.16.840.9.84.3":{d:"x984MatchingMethod",c:"X9.84"},"1.3.133.16.840.9.84.4":{d:"x984FormatOwner",c:"X9.84"},"1.3.133.16.840.9.84.4.0":{d:"x984CbeffOwner",c:"X9.84 Format Owner"},"1.3.133.16.840.9.84.4.1":{d:"x984IbiaOwner",c:"X9.84 Format Owner"},"1.3.133.16.840.9.84.4.1.1":{d:"ibiaOwnerSAFLINK",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.2":{d:"ibiaOwnerBioscrypt",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.3":{d:"ibiaOwnerVisionics",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.4":{d:"ibiaOwnerInfineonTechnologiesAG",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.5":{d:"ibiaOwnerIridianTechnologies",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.6":{d:"ibiaOwnerVeridicom",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.7":{d:"ibiaOwnerCyberSIGN",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.8":{d:"ibiaOwnereCryp",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.9":{d:"ibiaOwnerFingerprintCardsAB",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.10":{d:"ibiaOwnerSecuGen",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.11":{d:"ibiaOwnerPreciseBiometric",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.12":{d:"ibiaOwnerIdentix",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.13":{d:"ibiaOwnerDERMALOG",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.14":{d:"ibiaOwnerLOGICO",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.15":{d:"ibiaOwnerNIST",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.16":{d:"ibiaOwnerA3Vision",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.17":{d:"ibiaOwnerNEC",c:"X9.84 IBIA Format Owner"},"1.3.133.16.840.9.84.4.1.18":{d:"ibiaOwnerSTMicroelectronics",c:"X9.84 IBIA Format Owner"},"2.5.4.0":{d:"objectClass",c:"X.520 DN component"},"2.5.4.1":{d:"aliasedEntryName",c:"X.520 DN component"},"2.5.4.2":{d:"knowledgeInformation",c:"X.520 DN component"},"2.5.4.3":{d:"commonName",c:"X.520 DN component"},"2.5.4.4":{d:"surname",c:"X.520 DN component"},"2.5.4.5":{d:"serialNumber",c:"X.520 DN component"},"2.5.4.6":{d:"countryName",c:"X.520 DN component"},"2.5.4.7":{d:"localityName",c:"X.520 DN component"},"2.5.4.7.1":{d:"collectiveLocalityName",c:"X.520 DN component"},"2.5.4.8":{d:"stateOrProvinceName",c:"X.520 DN component"},"2.5.4.8.1":{d:"collectiveStateOrProvinceName",c:"X.520 DN component"},"2.5.4.9":{d:"streetAddress",c:"X.520 DN component"},"2.5.4.9.1":{d:"collectiveStreetAddress",c:"X.520 DN component"},"2.5.4.10":{d:"organizationName",c:"X.520 DN component"},"2.5.4.10.1":{d:"collectiveOrganizationName",c:"X.520 DN component"},"2.5.4.11":{d:"organizationalUnitName",c:"X.520 DN component"},"2.5.4.11.1":{d:"collectiveOrganizationalUnitName",c:"X.520 DN component"},"2.5.4.12":{d:"title",c:"X.520 DN component"},"2.5.4.13":{d:"description",c:"X.520 DN component"},"2.5.4.14":{d:"searchGuide",c:"X.520 DN component"},"2.5.4.15":{d:"businessCategory",c:"X.520 DN component"},"2.5.4.16":{d:"postalAddress",c:"X.520 DN component"},"2.5.4.16.1":{d:"collectivePostalAddress",c:"X.520 DN component"},"2.5.4.17":{d:"postalCode",c:"X.520 DN component"},"2.5.4.17.1":{d:"collectivePostalCode",c:"X.520 DN component"},"2.5.4.18":{d:"postOfficeBox",c:"X.520 DN component"},"2.5.4.18.1":{d:"collectivePostOfficeBox",c:"X.520 DN component"},"2.5.4.19":{d:"physicalDeliveryOfficeName",c:"X.520 DN component"},"2.5.4.19.1":{d:"collectivePhysicalDeliveryOfficeName",c:"X.520 DN component"},"2.5.4.20":{d:"telephoneNumber",c:"X.520 DN component"},"2.5.4.20.1":{d:"collectiveTelephoneNumber",c:"X.520 DN component"},"2.5.4.21":{d:"telexNumber",c:"X.520 DN component"},"2.5.4.21.1":{d:"collectiveTelexNumber",c:"X.520 DN component"},"2.5.4.22":{d:"teletexTerminalIdentifier",c:"X.520 DN component"},"2.5.4.22.1":{d:"collectiveTeletexTerminalIdentifier",c:"X.520 DN component"},"2.5.4.23":{d:"facsimileTelephoneNumber",c:"X.520 DN component"},"2.5.4.23.1":{d:"collectiveFacsimileTelephoneNumber",c:"X.520 DN component"},"2.5.4.24":{d:"x121Address",c:"X.520 DN component"},"2.5.4.25":{d:"internationalISDNNumber",c:"X.520 DN component"},"2.5.4.25.1":{d:"collectiveInternationalISDNNumber",c:"X.520 DN component"},"2.5.4.26":{d:"registeredAddress",c:"X.520 DN component"},"2.5.4.27":{d:"destinationIndicator",c:"X.520 DN component"},"2.5.4.28":{d:"preferredDeliveryMehtod",c:"X.520 DN component"},"2.5.4.29":{d:"presentationAddress",c:"X.520 DN component"},"2.5.4.30":{d:"supportedApplicationContext",c:"X.520 DN component"},"2.5.4.31":{d:"member",c:"X.520 DN component"},"2.5.4.32":{d:"owner",c:"X.520 DN component"},"2.5.4.33":{d:"roleOccupant",c:"X.520 DN component"},"2.5.4.34":{d:"seeAlso",c:"X.520 DN component"},"2.5.4.35":{d:"userPassword",c:"X.520 DN component"},"2.5.4.36":{d:"userCertificate",c:"X.520 DN component"},"2.5.4.37":{d:"caCertificate",c:"X.520 DN component"},"2.5.4.38":{d:"authorityRevocationList",c:"X.520 DN component"},"2.5.4.39":{d:"certificateRevocationList",c:"X.520 DN component"},"2.5.4.40":{d:"crossCertificatePair",c:"X.520 DN component"},"2.5.4.41":{d:"name",c:"X.520 DN component"},"2.5.4.42":{d:"givenName",c:"X.520 DN component"},"2.5.4.43":{d:"initials",c:"X.520 DN component"},"2.5.4.44":{d:"generationQualifier",c:"X.520 DN component"},"2.5.4.45":{d:"uniqueIdentifier",c:"X.520 DN component"},"2.5.4.46":{d:"dnQualifier",c:"X.520 DN component"},"2.5.4.47":{d:"enhancedSearchGuide",c:"X.520 DN component"},"2.5.4.48":{d:"protocolInformation",c:"X.520 DN component"},"2.5.4.49":{d:"distinguishedName",c:"X.520 DN component"},"2.5.4.50":{d:"uniqueMember",c:"X.520 DN component"},"2.5.4.51":{d:"houseIdentifier",c:"X.520 DN component"},"2.5.4.52":{d:"supportedAlgorithms",c:"X.520 DN component"},"2.5.4.53":{d:"deltaRevocationList",c:"X.520 DN component"},"2.5.4.54":{d:"dmdName",c:"X.520 DN component"},"2.5.4.55":{d:"clearance",c:"X.520 DN component"},"2.5.4.56":{d:"defaultDirQop",c:"X.520 DN component"},"2.5.4.57":{d:"attributeIntegrityInfo",c:"X.520 DN component"},"2.5.4.58":{d:"attributeCertificate",c:"X.520 DN component"},"2.5.4.59":{d:"attributeCertificateRevocationList",c:"X.520 DN component"},"2.5.4.60":{d:"confKeyInfo",c:"X.520 DN component"},"2.5.4.61":{d:"aACertificate",c:"X.520 DN component"},"2.5.4.62":{d:"attributeDescriptorCertificate",c:"X.520 DN component"},"2.5.4.63":{d:"attributeAuthorityRevocationList",c:"X.520 DN component"},"2.5.4.64":{d:"familyInformation",c:"X.520 DN component"},"2.5.4.65":{d:"pseudonym",c:"X.520 DN component"},"2.5.4.66":{d:"communicationsService",c:"X.520 DN component"},"2.5.4.67":{d:"communicationsNetwork",c:"X.520 DN component"},"2.5.4.68":{d:"certificationPracticeStmt",c:"X.520 DN component"},"2.5.4.69":{d:"certificatePolicy",c:"X.520 DN component"},"2.5.4.70":{d:"pkiPath",c:"X.520 DN component"},"2.5.4.71":{d:"privPolicy",c:"X.520 DN component"},"2.5.4.72":{d:"role",c:"X.520 DN component"},"2.5.4.73":{d:"delegationPath",c:"X.520 DN component"},"2.5.4.74":{d:"protPrivPolicy",c:"X.520 DN component"},"2.5.4.75":{d:"xMLPrivilegeInfo",c:"X.520 DN component"},"2.5.4.76":{d:"xmlPrivPolicy",c:"X.520 DN component"},"2.5.4.82":{d:"permission",c:"X.520 DN component"},"2.5.6.0":{d:"top",c:"X.520 objectClass"},"2.5.6.1":{d:"alias",c:"X.520 objectClass"},"2.5.6.2":{d:"country",c:"X.520 objectClass"},"2.5.6.3":{d:"locality",c:"X.520 objectClass"},"2.5.6.4":{d:"organization",c:"X.520 objectClass"},"2.5.6.5":{d:"organizationalUnit",c:"X.520 objectClass"},"2.5.6.6":{d:"person",c:"X.520 objectClass"},"2.5.6.7":{d:"organizationalPerson",c:"X.520 objectClass"},"2.5.6.8":{d:"organizationalRole",c:"X.520 objectClass"},"2.5.6.9":{d:"groupOfNames",c:"X.520 objectClass"},"2.5.6.10":{d:"residentialPerson",c:"X.520 objectClass"},"2.5.6.11":{d:"applicationProcess",c:"X.520 objectClass"},"2.5.6.12":{d:"applicationEntity",c:"X.520 objectClass"},"2.5.6.13":{d:"dSA",c:"X.520 objectClass"},"2.5.6.14":{d:"device",c:"X.520 objectClass"},"2.5.6.15":{d:"strongAuthenticationUser",c:"X.520 objectClass"},"2.5.6.16":{d:"certificateAuthority",c:"X.520 objectClass"},"2.5.6.17":{d:"groupOfUniqueNames",c:"X.520 objectClass"},"2.5.6.21":{d:"pkiUser",c:"X.520 objectClass"},"2.5.6.22":{d:"pkiCA",c:"X.520 objectClass"},"2.5.8.1.1":{d:"rsa",c:"X.500 algorithms.  Ambiguous, since no padding rules specified",w:!0},"2.5.29.1":{d:"authorityKeyIdentifier",c:"X.509 extension.  Deprecated, use 2 5 29 35 instead",w:!0},"2.5.29.2":{d:"keyAttributes",c:"X.509 extension.  Obsolete, use keyUsage/extKeyUsage instead",w:!0},"2.5.29.3":{d:"certificatePolicies",c:"X.509 extension.  Deprecated, use 2 5 29 32 instead",w:!0},"2.5.29.4":{d:"keyUsageRestriction",c:"X.509 extension.  Obsolete, use keyUsage/extKeyUsage instead",w:!0},"2.5.29.5":{d:"policyMapping",c:"X.509 extension.  Deprecated, use 2 5 29 33 instead",w:!0},"2.5.29.6":{d:"subtreesConstraint",c:"X.509 extension.  Obsolete, use nameConstraints instead",w:!0},"2.5.29.7":{d:"subjectAltName",c:"X.509 extension.  Deprecated, use 2 5 29 17 instead",w:!0},"2.5.29.8":{d:"issuerAltName",c:"X.509 extension.  Deprecated, use 2 5 29 18 instead",w:!0},"2.5.29.9":{d:"subjectDirectoryAttributes",c:"X.509 extension"},"2.5.29.10":{d:"basicConstraints",c:"X.509 extension.  Deprecated, use 2 5 29 19 instead",w:!0},"2.5.29.11":{d:"nameConstraints",c:"X.509 extension.  Deprecated, use 2 5 29 30 instead",w:!0},"2.5.29.12":{d:"policyConstraints",c:"X.509 extension.  Deprecated, use 2 5 29 36 instead",w:!0},"2.5.29.13":{d:"basicConstraints",c:"X.509 extension.  Deprecated, use 2 5 29 19 instead",w:!0},"2.5.29.14":{d:"subjectKeyIdentifier",c:"X.509 extension"},"2.5.29.15":{d:"keyUsage",c:"X.509 extension"},"2.5.29.16":{d:"privateKeyUsagePeriod",c:"X.509 extension"},"2.5.29.17":{d:"subjectAltName",c:"X.509 extension"},"2.5.29.18":{d:"issuerAltName",c:"X.509 extension"},"2.5.29.19":{d:"basicConstraints",c:"X.509 extension"},"2.5.29.20":{d:"cRLNumber",c:"X.509 extension"},"2.5.29.21":{d:"cRLReason",c:"X.509 extension"},"2.5.29.22":{d:"expirationDate",c:"X.509 extension.  Deprecated, alternative OID uncertain",w:!0},"2.5.29.23":{d:"instructionCode",c:"X.509 extension"},"2.5.29.24":{d:"invalidityDate",c:"X.509 extension"},"2.5.29.25":{d:"cRLDistributionPoints",c:"X.509 extension.  Deprecated, use 2 5 29 31 instead",w:!0},"2.5.29.26":{d:"issuingDistributionPoint",c:"X.509 extension.  Deprecated, use 2 5 29 28 instead",w:!0},"2.5.29.27":{d:"deltaCRLIndicator",c:"X.509 extension"},"2.5.29.28":{d:"issuingDistributionPoint",c:"X.509 extension"},"2.5.29.29":{d:"certificateIssuer",c:"X.509 extension"},"2.5.29.30":{d:"nameConstraints",c:"X.509 extension"},"2.5.29.31":{d:"cRLDistributionPoints",c:"X.509 extension"},"2.5.29.32":{d:"certificatePolicies",c:"X.509 extension"},"2.5.29.32.0":{d:"anyPolicy",c:"X.509 certificate policy"},"2.5.29.33":{d:"policyMappings",c:"X.509 extension"},"2.5.29.34":{d:"policyConstraints",c:"X.509 extension.  Deprecated, use 2 5 29 36 instead",w:!0},"2.5.29.35":{d:"authorityKeyIdentifier",c:"X.509 extension"},"2.5.29.36":{d:"policyConstraints",c:"X.509 extension"},"2.5.29.37":{d:"extKeyUsage",c:"X.509 extension"},"2.5.29.37.0":{d:"anyExtendedKeyUsage",c:"X.509 extended key usage"},"2.5.29.38":{d:"authorityAttributeIdentifier",c:"X.509 extension"},"2.5.29.39":{d:"roleSpecCertIdentifier",c:"X.509 extension"},"2.5.29.40":{d:"cRLStreamIdentifier",c:"X.509 extension"},"2.5.29.41":{d:"basicAttConstraints",c:"X.509 extension"},"2.5.29.42":{d:"delegatedNameConstraints",c:"X.509 extension"},"2.5.29.43":{d:"timeSpecification",c:"X.509 extension"},"2.5.29.44":{d:"cRLScope",c:"X.509 extension"},"2.5.29.45":{d:"statusReferrals",c:"X.509 extension"},"2.5.29.46":{d:"freshestCRL",c:"X.509 extension"},"2.5.29.47":{d:"orderedList",c:"X.509 extension"},"2.5.29.48":{d:"attributeDescriptor",c:"X.509 extension"},"2.5.29.49":{d:"userNotice",c:"X.509 extension"},"2.5.29.50":{d:"sOAIdentifier",c:"X.509 extension"},"2.5.29.51":{d:"baseUpdateTime",c:"X.509 extension"},"2.5.29.52":{d:"acceptableCertPolicies",c:"X.509 extension"},"2.5.29.53":{d:"deltaInfo",c:"X.509 extension"},"2.5.29.54":{d:"inhibitAnyPolicy",c:"X.509 extension"},"2.5.29.55":{d:"targetInformation",c:"X.509 extension"},"2.5.29.56":{d:"noRevAvail",c:"X.509 extension"},"2.5.29.57":{d:"acceptablePrivilegePolicies",c:"X.509 extension"},"2.5.29.58":{d:"toBeRevoked",c:"X.509 extension"},"2.5.29.59":{d:"revokedGroups",c:"X.509 extension"},"2.5.29.60":{d:"expiredCertsOnCRL",c:"X.509 extension"},"2.5.29.61":{d:"indirectIssuer",c:"X.509 extension"},"2.5.29.62":{d:"noAssertion",c:"X.509 extension"},"2.5.29.63":{d:"aAissuingDistributionPoint",c:"X.509 extension"},"2.5.29.64":{d:"issuedOnBehalfOf",c:"X.509 extension"},"2.5.29.65":{d:"singleUse",c:"X.509 extension"},"2.5.29.66":{d:"groupAC",c:"X.509 extension"},"2.5.29.67":{d:"allowedAttAss",c:"X.509 extension"},"2.5.29.68":{d:"attributeMappings",c:"X.509 extension"},"2.5.29.69":{d:"holderNameConstraints",c:"X.509 extension"},"2.16.724.1.2.2.4.1":{d:"personalDataInfo",c:"Spanish Government PKI?"},"2.16.840.1.101.2.1.1.1":{d:"sdnsSignatureAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.2":{d:"fortezzaSignatureAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1."},"2.16.840.1.101.2.1.1.3":{d:"sdnsConfidentialityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.4":{d:"fortezzaConfidentialityAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicConfidentialityAlgorithm"},"2.16.840.1.101.2.1.1.5":{d:"sdnsIntegrityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.6":{d:"fortezzaIntegrityAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicIntegrityAlgorithm"},"2.16.840.1.101.2.1.1.7":{d:"sdnsTokenProtectionAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.8":{d:"fortezzaTokenProtectionAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly know as mosaicTokenProtectionAlgorithm"},"2.16.840.1.101.2.1.1.9":{d:"sdnsKeyManagementAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.10":{d:"fortezzaKeyManagementAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicKeyManagementAlgorithm"},"2.16.840.1.101.2.1.1.11":{d:"sdnsKMandSigAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.12":{d:"fortezzaKMandSigAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicKMandSigAlgorithm"},"2.16.840.1.101.2.1.1.13":{d:"suiteASignatureAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.14":{d:"suiteAConfidentialityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.15":{d:"suiteAIntegrityAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.16":{d:"suiteATokenProtectionAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.17":{d:"suiteAKeyManagementAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.18":{d:"suiteAKMandSigAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.19":{d:"fortezzaUpdatedSigAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicUpdatedSigAlgorithm"},"2.16.840.1.101.2.1.1.20":{d:"fortezzaKMandUpdSigAlgorithms",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicKMandUpdSigAlgorithms"},"2.16.840.1.101.2.1.1.21":{d:"fortezzaUpdatedIntegAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicUpdatedIntegAlgorithm"},"2.16.840.1.101.2.1.1.22":{d:"keyExchangeAlgorithm",c:"SDN.700 INFOSEC algorithms.  Formerly known as mosaicKeyEncryptionAlgorithm"},"2.16.840.1.101.2.1.1.23":{d:"fortezzaWrap80Algorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.1.24":{d:"kEAKeyEncryptionAlgorithm",c:"SDN.700 INFOSEC algorithms"},"2.16.840.1.101.2.1.2.1":{d:"rfc822MessageFormat",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.2":{d:"emptyContent",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.3":{d:"cspContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.42":{d:"mspRev3ContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.48":{d:"mspContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.49":{d:"mspRekeyAgentProtocol",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.50":{d:"mspMMP",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.66":{d:"mspRev3-1ContentType",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.72":{d:"forwardedMSPMessageBodyPart",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.73":{d:"mspForwardedMessageParameters",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.74":{d:"forwardedCSPMsgBodyPart",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.75":{d:"cspForwardedMessageParameters",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.76":{d:"mspMMP2",c:"SDN.700 INFOSEC format"},"2.16.840.1.101.2.1.2.78.2":{d:"encryptedKeyPackage",c:"SDN.700 INFOSEC format and RFC 6032"},"2.16.840.1.101.2.1.2.78.3":{d:"keyPackageReceipt",c:"SDN.700 INFOSEC format and RFC 7191"},"2.16.840.1.101.2.1.2.78.6":{d:"keyPackageError",c:"SDN.700 INFOSEC format and RFC 7191"},"2.16.840.1.101.2.1.3.1":{d:"sdnsSecurityPolicy",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.2":{d:"sdnsPRBAC",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.3":{d:"mosaicPRBAC",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.10":{d:"siSecurityPolicy",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.10.0":{d:"siNASP",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.1":{d:"siELCO",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.2":{d:"siTK",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.3":{d:"siDSAP",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.4":{d:"siSSSS",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.5":{d:"siDNASP",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.6":{d:"siBYEMAN",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.7":{d:"siREL-US",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.8":{d:"siREL-AUS",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.9":{d:"siREL-CAN",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.10":{d:"siREL_UK",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.11":{d:"siREL-NZ",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.10.12":{d:"siGeneric",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11":{d:"genser",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.11.0":{d:"genserNations",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11.1":{d:"genserComsec",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11.2":{d:"genserAcquisition",c:"SDN.700 INFOSEC policy (obsolete)",w:!0},"2.16.840.1.101.2.1.3.11.3":{d:"genserSecurityCategories",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.11.3.0":{d:"genserTagSetName",c:"SDN.700 INFOSEC GENSER policy"},"2.16.840.1.101.2.1.3.12":{d:"defaultSecurityPolicy",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.13":{d:"capcoMarkings",c:"SDN.700 INFOSEC policy"},"2.16.840.1.101.2.1.3.13.0":{d:"capcoSecurityCategories",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.1":{d:"capcoTagSetName1",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.2":{d:"capcoTagSetName2",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.3":{d:"capcoTagSetName3",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.3.13.0.4":{d:"capcoTagSetName4",c:"SDN.700 INFOSEC policy CAPCO markings"},"2.16.840.1.101.2.1.5.1":{d:"sdnsKeyManagementCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.2":{d:"sdnsUserSignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.3":{d:"sdnsKMandSigCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.4":{d:"fortezzaKeyManagementCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.5":{d:"fortezzaKMandSigCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.6":{d:"fortezzaUserSignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.7":{d:"fortezzaCASignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.8":{d:"sdnsCASignatureCertificate",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.10":{d:"auxiliaryVector",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.11":{d:"mlReceiptPolicy",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.12":{d:"mlMembership",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.13":{d:"mlAdministrators",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.14":{d:"alid",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.20":{d:"janUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.21":{d:"febUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.22":{d:"marUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.23":{d:"aprUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.24":{d:"mayUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.25":{d:"junUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.26":{d:"julUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.27":{d:"augUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.28":{d:"sepUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.29":{d:"octUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.30":{d:"novUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.31":{d:"decUKMs",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.40":{d:"metaSDNSckl",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.41":{d:"sdnsCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.42":{d:"metaSDNSsignatureCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.43":{d:"sdnsSignatureCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.44":{d:"sdnsCertificateRevocationList",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.45":{d:"fortezzaCertificateRevocationList",c:"SDN.700 INFOSEC attributes (superseded)",w:!0},"2.16.840.1.101.2.1.5.46":{d:"fortezzaCKL",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.47":{d:"alExemptedAddressProcessor",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.48":{d:"guard",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.49":{d:"algorithmsSupported",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.50":{d:"suiteAKeyManagementCertificate",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.51":{d:"suiteAKMandSigCertificate",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.52":{d:"suiteAUserSignatureCertificate",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.53":{d:"prbacInfo",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.54":{d:"prbacCAConstraints",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.55":{d:"sigOrKMPrivileges",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.56":{d:"commPrivileges",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.57":{d:"labeledAttribute",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.58":{d:"policyInformationFile",c:"SDN.700 INFOSEC attributes (obsolete)",w:!0},"2.16.840.1.101.2.1.5.59":{d:"secPolicyInformationFile",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.60":{d:"cAClearanceConstraint",c:"SDN.700 INFOSEC attributes"},"2.16.840.1.101.2.1.5.65":{d:"keyPkgIdAndReceiptReq",c:"SDN.700 INFOSEC attributes and RFC 7191"},"2.16.840.1.101.2.1.5.66":{d:"contentDecryptKeyID",c:"SDN.700 INFOSEC attributes and RFC 6032"},"2.16.840.1.101.2.1.5.70":{d:"kpCrlPointers",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.5.71":{d:"kpKeyProvinceV2",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.5.72":{d:"kpManifest",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.7.1":{d:"cspExtns",c:"SDN.700 INFOSEC extensions"},"2.16.840.1.101.2.1.7.1.0":{d:"cspCsExtn",c:"SDN.700 INFOSEC extensions"},"2.16.840.1.101.2.1.8.1":{d:"mISSISecurityCategories",c:"SDN.700 INFOSEC security category"},"2.16.840.1.101.2.1.8.2":{d:"standardSecurityLabelPrivileges",c:"SDN.700 INFOSEC security category"},"2.16.840.1.101.2.1.8.3.1":{d:"enumeratedPermissiveAttrs",c:"SDN.700 INFOSEC security category from RFC 7906"},"2.16.840.1.101.2.1.8.3.3":{d:"informativeAttrs",c:"SDN.700 INFOSEC security category from RFC 7906"},"2.16.840.1.101.2.1.8.3.4":{d:"enumeratedRestrictiveAttrs",c:"SDN.700 INFOSEC security category from RFC 7906"},"2.16.840.1.101.2.1.10.1":{d:"sigPrivileges",c:"SDN.700 INFOSEC privileges"},"2.16.840.1.101.2.1.10.2":{d:"kmPrivileges",c:"SDN.700 INFOSEC privileges"},"2.16.840.1.101.2.1.10.3":{d:"namedTagSetPrivilege",c:"SDN.700 INFOSEC privileges"},"2.16.840.1.101.2.1.11.1":{d:"ukDemo",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.2":{d:"usDODClass2",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.3":{d:"usMediumPilot",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.4":{d:"usDODClass4",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.5":{d:"usDODClass3",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.11.6":{d:"usDODClass5",c:"SDN.700 INFOSEC certificate policy"},"2.16.840.1.101.2.1.12.0":{d:"testSecurityPolicy",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1":{d:"tsp1",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0":{d:"tsp1SecurityCategories",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0.0":{d:"tsp1TagSetZero",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0.1":{d:"tsp1TagSetOne",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.1.0.2":{d:"tsp1TagSetTwo",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2":{d:"tsp2",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0":{d:"tsp2SecurityCategories",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0.0":{d:"tsp2TagSetZero",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0.1":{d:"tsp2TagSetOne",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.2.0.2":{d:"tsp2TagSetTwo",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3":{d:"kafka",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0":{d:"kafkaSecurityCategories",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0.1":{d:"kafkaTagSetName1",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0.2":{d:"kafkaTagSetName2",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.0.3.0.3":{d:"kafkaTagSetName3",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.12.1.1":{d:"tcp1",c:"SDN.700 INFOSEC test objects"},"2.16.840.1.101.2.1.13.1":{d:"kmaKeyAlgorithm",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.3":{d:"kmaTSECNomenclature",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.5":{d:"kmaKeyDistPeriod",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.6":{d:"kmaKeyValidityPeriod",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.7":{d:"kmaKeyDuration",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.11":{d:"kmaSplitID",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.12":{d:"kmaKeyPkgType",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.13":{d:"kmaKeyPurpose",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.14":{d:"kmaKeyUse",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.15":{d:"kmaTransportKey",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.16":{d:"kmaKeyPkgReceiversV2",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.19":{d:"kmaOtherCertFormats",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.20":{d:"kmaUsefulCerts",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.21":{d:"kmaKeyWrapAlgorithm",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.13.22":{d:"kmaSigUsageV3",c:"SDN.700 INFOSEC attributes and RFC 7906"},"2.16.840.1.101.2.1.16.0":{d:"dn",c:"SDN.700 INFOSEC attributes and RFC 7191"},"2.16.840.1.101.2.1.22":{d:"errorCodes",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.2.1.22.1":{d:"missingKeyType",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.2.1.22.2":{d:"privacyMarkTooLong",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.2.1.22.3":{d:"unrecognizedSecurityPolicy",c:"RFC 7906 key attribute error codes"},"2.16.840.1.101.3.1":{d:"slabel",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.2":{d:"pki",c:"NIST",w:!0},"2.16.840.1.101.3.2.1":{d:"NIST policyIdentifier",c:"NIST policies",w:!0},"2.16.840.1.101.3.2.1.3.1":{d:"fbcaRudimentaryPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.3.2":{d:"fbcaBasicPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.3.3":{d:"fbcaMediumPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.3.4":{d:"fbcaHighPolicy",c:"Federal Bridge CA Policy"},"2.16.840.1.101.3.2.1.48.1":{d:"nistTestPolicy1",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.2":{d:"nistTestPolicy2",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.3":{d:"nistTestPolicy3",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.4":{d:"nistTestPolicy4",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.5":{d:"nistTestPolicy5",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.1.48.6":{d:"nistTestPolicy6",c:"NIST PKITS policies"},"2.16.840.1.101.3.2.2":{d:"gak",c:"CSOR GAK extended key usage",w:!0},"2.16.840.1.101.3.2.2.1":{d:"kRAKey",c:"CSOR GAK extended key usage",w:!0},"2.16.840.1.101.3.2.3":{d:"extensions",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.3.1":{d:"kRTechnique",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.3.2":{d:"kRecoveryCapable",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.3.3":{d:"kR",c:"CSOR GAK extensions",w:!0},"2.16.840.1.101.3.2.4":{d:"keyRecoverySchemes",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.2.5":{d:"krapola",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.3":{d:"arpa",c:"CSOR GAK",w:!0},"2.16.840.1.101.3.4":{d:"nistAlgorithm",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1":{d:"aes",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.1":{d:"aes128-ECB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.2":{d:"aes128-CBC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.3":{d:"aes128-OFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.4":{d:"aes128-CFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.5":{d:"aes128-wrap",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.6":{d:"aes128-GCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.7":{d:"aes128-CCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.8":{d:"aes128-wrap-pad",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.21":{d:"aes192-ECB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.22":{d:"aes192-CBC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.23":{d:"aes192-OFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.24":{d:"aes192-CFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.25":{d:"aes192-wrap",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.26":{d:"aes192-GCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.27":{d:"aes192-CCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.28":{d:"aes192-wrap-pad",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.41":{d:"aes256-ECB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.42":{d:"aes256-CBC",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.43":{d:"aes256-OFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.44":{d:"aes256-CFB",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.45":{d:"aes256-wrap",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.46":{d:"aes256-GCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.47":{d:"aes256-CCM",c:"NIST Algorithm"},"2.16.840.1.101.3.4.1.48":{d:"aes256-wrap-pad",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2":{d:"hashAlgos",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.1":{d:"sha-256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.2":{d:"sha-384",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.3":{d:"sha-512",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.4":{d:"sha-224",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.11":{d:"shake128",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.12":{d:"shake256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.17":{d:"shake128len",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.18":{d:"shake256len",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.19":{d:"kmacShake128",c:"NIST Algorithm"},"2.16.840.1.101.3.4.2.20":{d:"kmacShake256",c:"NIST Algorithm"},"2.16.840.1.101.3.4.3.1":{d:"dsaWithSha224",c:"NIST Algorithm"},"2.16.840.1.101.3.4.3.2":{d:"dsaWithSha256",c:"NIST Algorithm"},"2.16.840.1.113719.1.2.8":{d:"novellAlgorithm",c:"Novell"},"2.16.840.1.113719.1.2.8.22":{d:"desCbcIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.23":{d:"desCbcPadIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.24":{d:"desEDE2CbcIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.25":{d:"desEDE2CbcPadIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.26":{d:"desEDE3CbcIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.27":{d:"desEDE3CbcPadIV8",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.28":{d:"rc5CbcPad",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.29":{d:"md2WithRSAEncryptionBSafe1",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.30":{d:"md5WithRSAEncryptionBSafe1",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.31":{d:"sha1WithRSAEncryptionBSafe1",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.32":{d:"lmDigest",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.40":{d:"md2",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.50":{d:"md5",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.51":{d:"ikeHmacWithSHA1-RSA",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.52":{d:"ikeHmacWithMD5-RSA",c:"Novell signature algorithm"},"2.16.840.1.113719.1.2.8.69":{d:"rc2CbcPad",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.82":{d:"sha-1",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.92":{d:"rc2BSafe1Cbc",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.95":{d:"md4",c:"Novell digest algorithm"},"2.16.840.1.113719.1.2.8.130":{d:"md4Packet",c:"Novell keyed hash"},"2.16.840.1.113719.1.2.8.131":{d:"rsaEncryptionBsafe1",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.132":{d:"nwPassword",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.2.8.133":{d:"novellObfuscate-1",c:"Novell encryption algorithm"},"2.16.840.1.113719.1.9":{d:"pki",c:"Novell"},"2.16.840.1.113719.1.9.4":{d:"pkiAttributeType",c:"Novell PKI"},"2.16.840.1.113719.1.9.4.1":{d:"securityAttributes",c:"Novell PKI attribute type"},"2.16.840.1.113719.1.9.4.2":{d:"relianceLimit",c:"Novell PKI attribute type"},"2.16.840.1.113730.1":{d:"cert-extension",c:"Netscape"},"2.16.840.1.113730.1.1":{d:"netscape-cert-type",c:"Netscape certificate extension"},"2.16.840.1.113730.1.2":{d:"netscape-base-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.3":{d:"netscape-revocation-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.4":{d:"netscape-ca-revocation-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.7":{d:"netscape-cert-renewal-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.8":{d:"netscape-ca-policy-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.9":{d:"HomePage-url",c:"Netscape certificate extension"},"2.16.840.1.113730.1.10":{d:"EntityLogo",c:"Netscape certificate extension"},"2.16.840.1.113730.1.11":{d:"UserPicture",c:"Netscape certificate extension"},"2.16.840.1.113730.1.12":{d:"netscape-ssl-server-name",c:"Netscape certificate extension"},"2.16.840.1.113730.1.13":{d:"netscape-comment",c:"Netscape certificate extension"},"2.16.840.1.113730.2":{d:"data-type",c:"Netscape"},"2.16.840.1.113730.2.1":{d:"dataGIF",c:"Netscape data type"},"2.16.840.1.113730.2.2":{d:"dataJPEG",c:"Netscape data type"},"2.16.840.1.113730.2.3":{d:"dataURL",c:"Netscape data type"},"2.16.840.1.113730.2.4":{d:"dataHTML",c:"Netscape data type"},"2.16.840.1.113730.2.5":{d:"certSequence",c:"Netscape data type"},"2.16.840.1.113730.2.6":{d:"certURL",c:"Netscape certificate extension"},"2.16.840.1.113730.3":{d:"directory",c:"Netscape"},"2.16.840.1.113730.3.1":{d:"ldapDefinitions",c:"Netscape directory"},"2.16.840.1.113730.3.1.1":{d:"carLicense",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.2":{d:"departmentNumber",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.3":{d:"employeeNumber",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.4":{d:"employeeType",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.1.216":{d:"userPKCS12",c:"Netscape LDAP definitions"},"2.16.840.1.113730.3.2.2":{d:"inetOrgPerson",c:"Netscape LDAP definitions"},"2.16.840.1.113730.4.1":{d:"serverGatedCrypto",c:"Netscape"},"2.16.840.1.113733.1.6.3":{d:"verisignCZAG",c:"Verisign extension"},"2.16.840.1.113733.1.6.6":{d:"verisignInBox",c:"Verisign extension"},"2.16.840.1.113733.1.6.11":{d:"verisignOnsiteJurisdictionHash",c:"Verisign extension"},"2.16.840.1.113733.1.6.13":{d:"Unknown Verisign VPN extension",c:"Verisign extension"},"2.16.840.1.113733.1.6.15":{d:"verisignServerID",c:"Verisign extension"},"2.16.840.1.113733.1.7.1.1":{d:"verisignCertPolicies95Qualifier1",c:"Verisign policy"},"2.16.840.1.113733.1.7.1.1.1":{d:"verisignCPSv1notice",c:"Verisign policy (obsolete)"},"2.16.840.1.113733.1.7.1.1.2":{d:"verisignCPSv1nsi",c:"Verisign policy (obsolete)"},"2.16.840.1.113733.1.8.1":{d:"verisignISSStrongCrypto",c:"Verisign"},"2.16.840.1.113733.1":{d:"pki",c:"Verisign extension"},"2.16.840.1.113733.1.9":{d:"pkcs7Attribute",c:"Verisign PKI extension"},"2.16.840.1.113733.1.9.2":{d:"messageType",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.3":{d:"pkiStatus",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.4":{d:"failInfo",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.5":{d:"senderNonce",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.6":{d:"recipientNonce",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.7":{d:"transID",c:"Verisign PKCS #7 attribute"},"2.16.840.1.113733.1.9.8":{d:"extensionReq",c:"Verisign PKCS #7 attribute.  Use PKCS #9 extensionRequest instead",w:!0},"2.16.840.1.113741.2":{d:"intelCDSA",c:"Intel CDSA"},"2.16.840.1.114412.1":{d:"digiCertNonEVCerts",c:"Digicert CA policy"},"2.16.840.1.114412.1.1":{d:"digiCertOVCert",c:"Digicert CA policy"},"2.16.840.1.114412.1.2":{d:"digiCertDVCert",c:"Digicert CA policy"},"2.16.840.1.114412.1.11":{d:"digiCertFederatedDeviceCert",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.1":{d:"digiCertGlobalCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.2":{d:"digiCertHighAssuranceEVCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.3":{d:"digiCertGlobalRootCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.1.3.0.4":{d:"digiCertAssuredIDRootCAPolicy",c:"Digicert CA policy"},"2.16.840.1.114412.2.2":{d:"digiCertEVCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3":{d:"digiCertObjectSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.1":{d:"digiCertCodeSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.2":{d:"digiCertEVCodeSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.11":{d:"digiCertKernelCodeSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.3.21":{d:"digiCertDocumentSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4":{d:"digiCertClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.1.1":{d:"digiCertLevel1PersonalClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.1.2":{d:"digiCertLevel1EnterpriseClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.2":{d:"digiCertLevel2ClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.3.1":{d:"digiCertLevel3USClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.3.2":{d:"digiCertLevel3CBPClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.4.1":{d:"digiCertLevel4USClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.4.2":{d:"digiCertLevel4CBPClientCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.5.1":{d:"digiCertPIVHardwareCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.5.2":{d:"digiCertPIVCardAuthCert",c:"Digicert CA policy"},"2.16.840.1.114412.2.4.5.3":{d:"digiCertPIVContentSigningCert",c:"Digicert CA policy"},"2.16.840.1.114412.4.31":{d:"digiCertGridClassicCert",c:"Digicert CA policy"},"2.16.840.1.114412.4.31.5":{d:"digiCertGridIntegratedCert",c:"Digicert CA policy"},"2.16.840.1.114412.31.4.31.1":{d:"digiCertGridHostCert",c:"Digicert CA policy"},"2.23.42.0":{d:"contentType",c:"SET"},"2.23.42.0.0":{d:"panData",c:"SET contentType"},"2.23.42.0.1":{d:"panToken",c:"SET contentType"},"2.23.42.0.2":{d:"panOnly",c:"SET contentType"},"2.23.42.1":{d:"msgExt",c:"SET"},"2.23.42.2":{d:"field",c:"SET"},"2.23.42.2.0":{d:"fullName",c:"SET field"},"2.23.42.2.1":{d:"givenName",c:"SET field"},"2.23.42.2.2":{d:"familyName",c:"SET field"},"2.23.42.2.3":{d:"birthFamilyName",c:"SET field"},"2.23.42.2.4":{d:"placeName",c:"SET field"},"2.23.42.2.5":{d:"identificationNumber",c:"SET field"},"2.23.42.2.6":{d:"month",c:"SET field"},"2.23.42.2.7":{d:"date",c:"SET field"},"2.23.42.2.8":{d:"address",c:"SET field"},"2.23.42.2.9":{d:"telephone",c:"SET field"},"2.23.42.2.10":{d:"amount",c:"SET field"},"2.23.42.2.11":{d:"accountNumber",c:"SET field"},"2.23.42.2.12":{d:"passPhrase",c:"SET field"},"2.23.42.3":{d:"attribute",c:"SET"},"2.23.42.3.0":{d:"cert",c:"SET attribute"},"2.23.42.3.0.0":{d:"rootKeyThumb",c:"SET cert attribute"},"2.23.42.3.0.1":{d:"additionalPolicy",c:"SET cert attribute"},"2.23.42.4":{d:"algorithm",c:"SET"},"2.23.42.5":{d:"policy",c:"SET"},"2.23.42.5.0":{d:"root",c:"SET policy"},"2.23.42.6":{d:"module",c:"SET"},"2.23.42.7":{d:"certExt",c:"SET"},"2.23.42.7.0":{d:"hashedRootKey",c:"SET cert extension"},"2.23.42.7.1":{d:"certificateType",c:"SET cert extension"},"2.23.42.7.2":{d:"merchantData",c:"SET cert extension"},"2.23.42.7.3":{d:"cardCertRequired",c:"SET cert extension"},"2.23.42.7.4":{d:"tunneling",c:"SET cert extension"},"2.23.42.7.5":{d:"setExtensions",c:"SET cert extension"},"2.23.42.7.6":{d:"setQualifier",c:"SET cert extension"},"2.23.42.8":{d:"brand",c:"SET"},"2.23.42.8.1":{d:"IATA-ATA",c:"SET brand"},"2.23.42.8.4":{d:"VISA",c:"SET brand"},"2.23.42.8.5":{d:"MasterCard",c:"SET brand"},"2.23.42.8.30":{d:"Diners",c:"SET brand"},"2.23.42.8.34":{d:"AmericanExpress",c:"SET brand"},"2.23.42.8.6011":{d:"Novus",c:"SET brand"},"2.23.42.9":{d:"vendor",c:"SET"},"2.23.42.9.0":{d:"GlobeSet",c:"SET vendor"},"2.23.42.9.1":{d:"IBM",c:"SET vendor"},"2.23.42.9.2":{d:"CyberCash",c:"SET vendor"},"2.23.42.9.3":{d:"Terisa",c:"SET vendor"},"2.23.42.9.4":{d:"RSADSI",c:"SET vendor"},"2.23.42.9.5":{d:"VeriFone",c:"SET vendor"},"2.23.42.9.6":{d:"TrinTech",c:"SET vendor"},"2.23.42.9.7":{d:"BankGate",c:"SET vendor"},"2.23.42.9.8":{d:"GTE",c:"SET vendor"},"2.23.42.9.9":{d:"CompuSource",c:"SET vendor"},"2.23.42.9.10":{d:"Griffin",c:"SET vendor"},"2.23.42.9.11":{d:"Certicom",c:"SET vendor"},"2.23.42.9.12":{d:"OSS",c:"SET vendor"},"2.23.42.9.13":{d:"TenthMountain",c:"SET vendor"},"2.23.42.9.14":{d:"Antares",c:"SET vendor"},"2.23.42.9.15":{d:"ECC",c:"SET vendor"},"2.23.42.9.16":{d:"Maithean",c:"SET vendor"},"2.23.42.9.17":{d:"Netscape",c:"SET vendor"},"2.23.42.9.18":{d:"Verisign",c:"SET vendor"},"2.23.42.9.19":{d:"BlueMoney",c:"SET vendor"},"2.23.42.9.20":{d:"Lacerte",c:"SET vendor"},"2.23.42.9.21":{d:"Fujitsu",c:"SET vendor"},"2.23.42.9.22":{d:"eLab",c:"SET vendor"},"2.23.42.9.23":{d:"Entrust",c:"SET vendor"},"2.23.42.9.24":{d:"VIAnet",c:"SET vendor"},"2.23.42.9.25":{d:"III",c:"SET vendor"},"2.23.42.9.26":{d:"OpenMarket",c:"SET vendor"},"2.23.42.9.27":{d:"Lexem",c:"SET vendor"},"2.23.42.9.28":{d:"Intertrader",c:"SET vendor"},"2.23.42.9.29":{d:"Persimmon",c:"SET vendor"},"2.23.42.9.30":{d:"NABLE",c:"SET vendor"},"2.23.42.9.31":{d:"espace-net",c:"SET vendor"},"2.23.42.9.32":{d:"Hitachi",c:"SET vendor"},"2.23.42.9.33":{d:"Microsoft",c:"SET vendor"},"2.23.42.9.34":{d:"NEC",c:"SET vendor"},"2.23.42.9.35":{d:"Mitsubishi",c:"SET vendor"},"2.23.42.9.36":{d:"NCR",c:"SET vendor"},"2.23.42.9.37":{d:"e-COMM",c:"SET vendor"},"2.23.42.9.38":{d:"Gemplus",c:"SET vendor"},"2.23.42.10":{d:"national",c:"SET"},"2.23.42.10.392":{d:"Japan",c:"SET national"},"2.23.43.1.4":{d:"wTLS-ECC",c:"WAP WTLS"},"2.23.43.1.4.1":{d:"wTLS-ECC-curve1",c:"WAP WTLS"},"2.23.43.1.4.6":{d:"wTLS-ECC-curve6",c:"WAP WTLS"},"2.23.43.1.4.8":{d:"wTLS-ECC-curve8",c:"WAP WTLS"},"2.23.43.1.4.9":{d:"wTLS-ECC-curve9",c:"WAP WTLS"},"2.23.133":{d:"tCPA",c:"TCPA"},"2.23.133.1":{d:"tcpaSpecVersion",c:"TCPA"},"2.23.133.2":{d:"tcpaAttribute",c:"TCPA"},"2.23.133.2.1":{d:"tcpaTpmManufacturer",c:"TCPA Attribute"},"2.23.133.2.2":{d:"tcpaTpmModel",c:"TCPA Attribute"},"2.23.133.2.3":{d:"tcpaTpmVersion",c:"TCPA Attribute"},"2.23.133.2.4":{d:"tcpaPlatformManufacturer",c:"TCPA Attribute"},"2.23.133.2.5":{d:"tcpaPlatformModel",c:"TCPA Attribute"},"2.23.133.2.6":{d:"tcpaPlatformVersion",c:"TCPA Attribute"},"2.23.133.2.7":{d:"tcpaComponentManufacturer",c:"TCPA Attribute"},"2.23.133.2.8":{d:"tcpaComponentModel",c:"TCPA Attribute"},"2.23.133.2.9":{d:"tcpaComponentVersion",c:"TCPA Attribute"},"2.23.133.2.10":{d:"tcpaSecurityQualities",c:"TCPA Attribute"},"2.23.133.2.11":{d:"tcpaTpmProtectionProfile",c:"TCPA Attribute"},"2.23.133.2.12":{d:"tcpaTpmSecurityTarget",c:"TCPA Attribute"},"2.23.133.2.13":{d:"tcpaFoundationProtectionProfile",c:"TCPA Attribute"},"2.23.133.2.14":{d:"tcpaFoundationSecurityTarget",c:"TCPA Attribute"},"2.23.133.2.15":{d:"tcpaTpmIdLabel",c:"TCPA Attribute"},"2.23.133.3":{d:"tcpaProtocol",c:"TCPA"},"2.23.133.3.1":{d:"tcpaPrttTpmIdProtocol",c:"TCPA Protocol"},"2.23.134.1.4.2.1":{d:"postSignumRootQCA",c:"PostSignum CA"},"2.23.134.1.2.2.3":{d:"postSignumPublicCA",c:"PostSignum CA"},"2.23.134.1.2.1.8.210":{d:"postSignumCommercialServerPolicy",c:"PostSignum CA"},"2.23.136.1.1.1":{d:"mRTDSignatureData",c:"ICAO MRTD"},"2.54.1775.2":{d:"hashedRootKey",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.3":{d:"certificateType",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.4":{d:"merchantData",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.5":{d:"cardCertRequired",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.6":{d:"tunneling",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.7":{d:"setQualifier",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"2.54.1775.99":{d:"setData",c:"SET.  Deprecated, use (2 23 42 7 0) instead",w:!0},"1.2.40.0.17.1.22":{d:"A-Trust EV policy",c:"A-Trust CA Root"},"1.3.6.1.4.1.34697.2.1":{d:"AffirmTrust EV policy",c:"AffirmTrust Commercial"},"1.3.6.1.4.1.34697.2.2":{d:"AffirmTrust EV policy",c:"AffirmTrust Networking"},"1.3.6.1.4.1.34697.2.3":{d:"AffirmTrust EV policy",c:"AffirmTrust Premium"},"1.3.6.1.4.1.34697.2.4":{d:"AffirmTrust EV policy",c:"AffirmTrust Premium ECC"},"2.16.578.1.26.1.3.3":{d:"BuyPass EV policy",c:"BuyPass Class 3 EV"},"1.3.6.1.4.1.17326.10.14.2.1.2":{d:"Camerfirma EV policy",c:"Camerfirma CA Root"},"1.3.6.1.4.1.17326.10.8.12.1.2":{d:"Camerfirma EV policy",c:"Camerfirma CA Root"},"1.3.6.1.4.1.22234.2.5.2.3.1":{d:"CertPlus EV policy",c:"CertPlus Class 2 Primary CA (formerly Keynectis)"},"1.3.6.1.4.1.6449.1.2.1.5.1":{d:"Comodo EV policy",c:"COMODO Certification Authority"},"1.3.6.1.4.1.6334.1.100.1":{d:"Cybertrust EV policy",c:"Cybertrust Global Root (now Verizon Business)"},"1.3.6.1.4.1.4788.2.202.1":{d:"D-TRUST EV policy",c:"D-TRUST Root Class 3 CA 2 EV 2009"},"2.16.840.1.114412.2.1":{d:"DigiCert EV policy",c:"DigiCert High Assurance EV Root CA"},"2.16.528.1.1001.1.1.1.12.6.1.1.1":{d:"DigiNotar EV policy",c:"DigiNotar Root CA"},"2.16.840.1.114028.10.1.2":{d:"Entrust EV policy",c:"Entrust Root Certification Authority"},"1.3.6.1.4.1.14370.1.6":{d:"GeoTrust EV policy",c:"GeoTrust Primary Certification Authority (formerly Equifax)"},"1.3.6.1.4.1.4146.1.1":{d:"GlobalSign EV policy",c:"GlobalSign"},"2.16.840.1.114413.1.7.23.3":{d:"GoDaddy EV policy",c:"GoDaddy Class 2 Certification Authority (formerly ValiCert)"},"1.3.6.1.4.1.14777.6.1.1":{d:"Izenpe EV policy",c:"Certificado de Servidor Seguro SSL EV"},"1.3.6.1.4.1.14777.6.1.2":{d:"Izenpe EV policy",c:"Certificado de Sede Electronica EV"},"1.3.6.1.4.1.782.1.2.1.8.1":{d:"Network Solutions EV policy",c:"Network Solutions Certificate Authority"},"1.3.6.1.4.1.8024.0.2.100.1.2":{d:"QuoVadis EV policy",c:"QuoVadis Root CA 2"},"1.2.392.200091.100.721.1":{d:"Security Communication (SECOM) EV policy",c:"Security Communication RootCA1"},"2.16.840.1.114414.1.7.23.3":{d:"Starfield EV policy",c:"Starfield Class 2 Certification Authority"},"1.3.6.1.4.1.23223.1.1.1":{d:"StartCom EV policy",c:"StartCom Certification Authority"},"2.16.756.1.89.1.2.1.1":{d:"SwissSign EV policy",c:"SwissSign Gold CA - G2"},"1.3.6.1.4.1.7879.13.24.1":{d:"T-TeleSec EV policy",c:"T-TeleSec GlobalRoot Class 3"},"2.16.840.1.113733.1.7.48.1":{d:"Thawte EV policy",c:"Thawte Premium Server CA"},"2.16.840.1.114404.1.1.2.4.1":{d:"TrustWave EV policy",c:"TrustWave CA, formerly SecureTrust, before that XRamp"},"1.3.6.1.4.1.40869.1.1.22.3":{d:"TWCA EV policy",c:"TWCA Root Certification Authority"},"2.16.840.1.113733.1.7.23.6":{d:"VeriSign EV policy",c:"VeriSign Class 3 Public Primary Certification Authority"},"2.16.840.1.114171.500.9":{d:"Wells Fargo EV policy",c:"Wells Fargo WellsSecure Public Root Certificate Authority"},END:""}}.call(t,i,t,e),void 0===n||(e.exports=n)},"69f3":function(e,t,i){var n,r,a,s=i("7f9a"),o=i("da84"),c=i("861d"),l=i("9112"),u=i("5135"),h=i("f772"),d=i("d012"),f=o.WeakMap,p=function(e){return a(e)?r(e):n(e,{})},m=function(e){return function(t){var i;if(!c(t)||(i=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return i}};if(s){var v=new f,g=v.get,y=v.has,b=v.set;n=function(e,t){return b.call(v,e,t),t},r=function(e){return g.call(v,e)||{}},a=function(e){return y.call(v,e)}}else{var C=h("state");d[C]=!0,n=function(e,t){return l(e,C,t),t},r=function(e){return u(e,C)?e[C]:{}},a=function(e){return u(e,C)}}e.exports={set:n,get:r,has:a,enforce:p,getterFor:m}},"6ac9":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=74)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},2:function(e,t){e.exports=i("5924")},3:function(e,t){e.exports=i("8122")},5:function(e,t){e.exports=i("e974")},7:function(e,t){e.exports=i("2b0e")},74:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("transition",{attrs:{name:e.transition},on:{"after-enter":e.handleAfterEnter,"after-leave":e.handleAfterLeave}},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.disabled&&e.showPopper,expression:"!disabled && showPopper"}],ref:"popper",staticClass:"el-popover el-popper",class:[e.popperClass,e.content&&"el-popover--plain"],style:{width:e.width+"px"},attrs:{role:"tooltip",id:e.tooltipId,"aria-hidden":e.disabled||!e.showPopper?"true":"false"}},[e.title?i("div",{staticClass:"el-popover__title",domProps:{textContent:e._s(e.title)}}):e._e(),e._t("default",[e._v(e._s(e.content))])],2)]),e._t("reference")],2)},r=[];n._withStripped=!0;var a=i(5),s=i.n(a),o=i(2),c=i(3),l={name:"ElPopover",mixins:[s.a],props:{trigger:{type:String,default:"click",validator:function(e){return["click","focus","hover","manual"].indexOf(e)>-1}},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:200},title:String,disabled:Boolean,content:String,reference:{},popperClass:String,width:{},visibleArrow:{default:!0},arrowOffset:{type:Number,default:0},transition:{type:String,default:"fade-in-linear"},tabindex:{type:Number,default:0}},computed:{tooltipId:function(){return"el-popover-"+Object(c["generateId"])()}},watch:{showPopper:function(e){this.disabled||(e?this.$emit("show"):this.$emit("hide"))}},mounted:function(){var e=this,t=this.referenceElm=this.reference||this.$refs.reference,i=this.popper||this.$refs.popper;!t&&this.$slots.reference&&this.$slots.reference[0]&&(t=this.referenceElm=this.$slots.reference[0].elm),t&&(Object(o["addClass"])(t,"el-popover__reference"),t.setAttribute("aria-describedby",this.tooltipId),t.setAttribute("tabindex",this.tabindex),i.setAttribute("tabindex",0),"click"!==this.trigger&&(Object(o["on"])(t,"focusin",(function(){e.handleFocus();var i=t.__vue__;i&&"function"===typeof i.focus&&i.focus()})),Object(o["on"])(i,"focusin",this.handleFocus),Object(o["on"])(t,"focusout",this.handleBlur),Object(o["on"])(i,"focusout",this.handleBlur)),Object(o["on"])(t,"keydown",this.handleKeydown),Object(o["on"])(t,"click",this.handleClick)),"click"===this.trigger?(Object(o["on"])(t,"click",this.doToggle),Object(o["on"])(document,"click",this.handleDocumentClick)):"hover"===this.trigger?(Object(o["on"])(t,"mouseenter",this.handleMouseEnter),Object(o["on"])(i,"mouseenter",this.handleMouseEnter),Object(o["on"])(t,"mouseleave",this.handleMouseLeave),Object(o["on"])(i,"mouseleave",this.handleMouseLeave)):"focus"===this.trigger&&(this.tabindex<0&&console.warn("[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key"),t.querySelector("input, textarea")?(Object(o["on"])(t,"focusin",this.doShow),Object(o["on"])(t,"focusout",this.doClose)):(Object(o["on"])(t,"mousedown",this.doShow),Object(o["on"])(t,"mouseup",this.doClose)))},beforeDestroy:function(){this.cleanup()},deactivated:function(){this.cleanup()},methods:{doToggle:function(){this.showPopper=!this.showPopper},doShow:function(){this.showPopper=!0},doClose:function(){this.showPopper=!1},handleFocus:function(){Object(o["addClass"])(this.referenceElm,"focusing"),"click"!==this.trigger&&"focus"!==this.trigger||(this.showPopper=!0)},handleClick:function(){Object(o["removeClass"])(this.referenceElm,"focusing")},handleBlur:function(){Object(o["removeClass"])(this.referenceElm,"focusing"),"click"!==this.trigger&&"focus"!==this.trigger||(this.showPopper=!1)},handleMouseEnter:function(){var e=this;clearTimeout(this._timer),this.openDelay?this._timer=setTimeout((function(){e.showPopper=!0}),this.openDelay):this.showPopper=!0},handleKeydown:function(e){27===e.keyCode&&"manual"!==this.trigger&&this.doClose()},handleMouseLeave:function(){var e=this;clearTimeout(this._timer),this.closeDelay?this._timer=setTimeout((function(){e.showPopper=!1}),this.closeDelay):this.showPopper=!1},handleDocumentClick:function(e){var t=this.reference||this.$refs.reference,i=this.popper||this.$refs.popper;!t&&this.$slots.reference&&this.$slots.reference[0]&&(t=this.referenceElm=this.$slots.reference[0].elm),this.$el&&t&&!this.$el.contains(e.target)&&!t.contains(e.target)&&i&&!i.contains(e.target)&&(this.showPopper=!1)},handleAfterEnter:function(){this.$emit("after-enter")},handleAfterLeave:function(){this.$emit("after-leave"),this.doDestroy()},cleanup:function(){(this.openDelay||this.closeDelay)&&clearTimeout(this._timer)}},destroyed:function(){var e=this.reference;Object(o["off"])(e,"click",this.doToggle),Object(o["off"])(e,"mouseup",this.doClose),Object(o["off"])(e,"mousedown",this.doShow),Object(o["off"])(e,"focusin",this.doShow),Object(o["off"])(e,"focusout",this.doClose),Object(o["off"])(e,"mousedown",this.doShow),Object(o["off"])(e,"mouseup",this.doClose),Object(o["off"])(e,"mouseleave",this.handleMouseLeave),Object(o["off"])(e,"mouseenter",this.handleMouseEnter),Object(o["off"])(document,"click",this.handleDocumentClick)}},u=l,h=i(0),d=Object(h["a"])(u,n,r,!1,null,null,null);d.options.__file="packages/popover/src/main.vue";var f=d.exports,p=function(e,t,i){var n=t.expression?t.value:t.arg,r=i.context.$refs[n];r&&(Array.isArray(r)?r[0].$refs.reference=e:r.$refs.reference=e)},m={bind:function(e,t,i){p(e,t,i)},inserted:function(e,t,i){p(e,t,i)}},v=i(7),g=i.n(v);g.a.directive("popover",m),f.install=function(e){e.directive("popover",m),e.component(f.name,f)},f.directive=m;t["default"]=f}})},"6b7c":function(e,t,i){"use strict";t.__esModule=!0;var n=i("4897");t.default={methods:{t:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return n.t.apply(this,t)}}}},"6b84":function(e,t,i){i("3ca3"),i("a630");var n=i("428f");e.exports=n.Array.from},"6b9e":function(e,t,i){var n=i("746f");n("search")},"6c57":function(e,t,i){var n=i("23e7"),r=i("da84");n({global:!0},{globalThis:r})},"6ca1":function(e,t,i){var n=i("9fbb"),r=i("c901");e.exports=function(e){return n(r(e))}},"6d61":function(e,t,i){"use strict";var n=i("23e7"),r=i("da84"),a=i("94ca"),s=i("6eeb"),o=i("f183"),c=i("2266"),l=i("19aa"),u=i("861d"),h=i("d039"),d=i("1c7e"),f=i("d44e"),p=i("7156");e.exports=function(e,t,i){var m=-1!==e.indexOf("Map"),v=-1!==e.indexOf("Weak"),g=m?"set":"add",y=r[e],b=y&&y.prototype,C=y,S={},x=function(e){var t=b[e];s(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(v&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return v&&!u(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!u(e))&&t.call(this,0===e?0:e)}:function(e,i){return t.call(this,0===e?0:e,i),this})};if(a(e,"function"!=typeof y||!(v||b.forEach&&!h((function(){(new y).entries().next()})))))C=i.getConstructor(t,e,m,g),o.REQUIRED=!0;else if(a(e,!0)){var w=new C,_=w[g](v?{}:-0,1)!=w,A=h((function(){w.has(1)})),E=d((function(e){new y(e)})),k=!v&&h((function(){var e=new y,t=5;while(t--)e[g](t,t);return!e.has(-0)}));E||(C=t((function(t,i){l(t,C,e);var n=p(new y,t,C);return void 0!=i&&c(i,n[g],n,m),n})),C.prototype=b,b.constructor=C),(A||k)&&(x("delete"),x("has"),m&&x("get")),(k||_)&&x(g),v&&b.clear&&delete b.clear}return S[e]=C,n({global:!0,forced:C!=y},S),f(C,e),v||i.setStrong(C,e,m),C}},"6dd8":function(e,t,i){"use strict";i.r(t),function(e){var i=function(){if("undefined"!==typeof Map)return Map;function e(e,t){var i=-1;return e.some((function(e,n){return e[0]===t&&(i=n,!0)})),i}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var i=e(this.__entries__,t),n=this.__entries__[i];return n&&n[1]},t.prototype.set=function(t,i){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=i:this.__entries__.push([t,i])},t.prototype.delete=function(t){var i=this.__entries__,n=e(i,t);~n&&i.splice(n,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var i=0,n=this.__entries__;i<n.length;i++){var r=n[i];e.call(t,r[1],r[0])}},t}()}(),n="undefined"!==typeof window&&"undefined"!==typeof document&&window.document===document,r=function(){return"undefined"!==typeof e&&e.Math===Math?e:"undefined"!==typeof self&&self.Math===Math?self:"undefined"!==typeof window&&window.Math===Math?window:Function("return this")()}(),a=function(){return"function"===typeof requestAnimationFrame?requestAnimationFrame.bind(r):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)}}(),s=2;function o(e,t){var i=!1,n=!1,r=0;function o(){i&&(i=!1,e()),n&&l()}function c(){a(o)}function l(){var e=Date.now();if(i){if(e-r<s)return;n=!0}else i=!0,n=!1,setTimeout(c,t);r=e}return l}var c=20,l=["top","right","bottom","left","width","height","size","weight"],u="undefined"!==typeof MutationObserver,h=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=o(this.refresh.bind(this),c)}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,i=t.indexOf(e);~i&&t.splice(i,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){var e=this.updateObservers_();e&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),u?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,i=void 0===t?"":t,n=l.some((function(e){return!!~i.indexOf(e)}));n&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),d=function(e,t){for(var i=0,n=Object.keys(t);i<n.length;i++){var r=n[i];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},f=function(e){var t=e&&e.ownerDocument&&e.ownerDocument.defaultView;return t||r},p=_(0,0,0,0);function m(e){return parseFloat(e)||0}function v(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t.reduce((function(t,i){var n=e["border-"+i+"-width"];return t+m(n)}),0)}function g(e){for(var t=["top","right","bottom","left"],i={},n=0,r=t;n<r.length;n++){var a=r[n],s=e["padding-"+a];i[a]=m(s)}return i}function y(e){var t=e.getBBox();return _(0,0,t.width,t.height)}function b(e){var t=e.clientWidth,i=e.clientHeight;if(!t&&!i)return p;var n=f(e).getComputedStyle(e),r=g(n),a=r.left+r.right,s=r.top+r.bottom,o=m(n.width),c=m(n.height);if("border-box"===n.boxSizing&&(Math.round(o+a)!==t&&(o-=v(n,"left","right")+a),Math.round(c+s)!==i&&(c-=v(n,"top","bottom")+s)),!S(e)){var l=Math.round(o+a)-t,u=Math.round(c+s)-i;1!==Math.abs(l)&&(o-=l),1!==Math.abs(u)&&(c-=u)}return _(r.left,r.top,o,c)}var C=function(){return"undefined"!==typeof SVGGraphicsElement?function(e){return e instanceof f(e).SVGGraphicsElement}:function(e){return e instanceof f(e).SVGElement&&"function"===typeof e.getBBox}}();function S(e){return e===f(e).document.documentElement}function x(e){return n?C(e)?y(e):b(e):p}function w(e){var t=e.x,i=e.y,n=e.width,r=e.height,a="undefined"!==typeof DOMRectReadOnly?DOMRectReadOnly:Object,s=Object.create(a.prototype);return d(s,{x:t,y:i,width:n,height:r,top:i,right:t+n,bottom:r+i,left:t}),s}function _(e,t,i,n){return{x:e,y:t,width:i,height:n}}var A=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=_(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=x(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),E=function(){function e(e,t){var i=w(t);d(this,{target:e,contentRect:i})}return e}(),k=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new i,"function"!==typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof f(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new A(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!==typeof Element&&Element instanceof Object){if(!(e instanceof f(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new E(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),M="undefined"!==typeof WeakMap?new WeakMap:new i,z=function(){function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=h.getInstance(),n=new k(t,i,this);M.set(this,n)}return e}();["observe","unobserve","disconnect"].forEach((function(e){z.prototype[e]=function(){var t;return(t=M.get(this))[e].apply(t,arguments)}}));var T=function(){return"undefined"!==typeof r.ResizeObserver?r.ResizeObserver:z}();t["default"]=T}.call(this,i("c8ba"))},"6eeb":function(e,t,i){var n=i("da84"),r=i("9112"),a=i("5135"),s=i("ce4e"),o=i("8925"),c=i("69f3"),l=c.get,u=c.enforce,h=String(String).split("String");(e.exports=function(e,t,i,o){var c=!!o&&!!o.unsafe,l=!!o&&!!o.enumerable,d=!!o&&!!o.noTargetGet;"function"==typeof i&&("string"!=typeof t||a(i,"name")||r(i,"name",t),u(i).source=h.join("string"==typeof t?t:"")),e!==n?(c?!d&&e[t]&&(l=!0):delete e[t],l?e[t]=i:r(e,t,i)):l?e[t]=i:s(t,i)})(Function.prototype,"toString",(function(){return"function"==typeof this&&l(this).source||o(this)}))},"6f4f":function(e,t,i){var n=i("77e9"),r=i("85e7"),a=i("9742"),s=i("5a94")("IE_PROTO"),o=function(){},c="prototype",l=function(){var e,t=i("05f5")("iframe"),n=a.length,r="<",s=">";t.style.display="none",i("9141").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(r+"script"+s+"document.F=Object"+r+"/script"+s),e.close(),l=e.F;while(n--)delete l[c][a[n]];return l()};e.exports=Object.create||function(e,t){var i;return null!==e?(o[c]=n(e),i=new o,o[c]=null,i[s]=e):i=l(),void 0===t?i:r(i,t)}},"6f53":function(e,t,i){var n=i("83ab"),r=i("df75"),a=i("fc6a"),s=i("d1e7").f,o=function(e){return function(t){var i,o=a(t),c=r(o),l=c.length,u=0,h=[];while(l>u)i=c[u++],n&&!s.call(o,i)||h.push(e?[i,o[i]]:o[i]);return h}};e.exports={entries:o(!0),values:o(!1)}},"6f9c":function(e,t,i){var n;n=function(){"use strict";var e,t={},i="function"==typeof Uint8Array;return t.decode=function(t){var n,r="string"==typeof t;if(void 0===e){var a="0123456789ABCDEF",s=" \f\n\r\t \u2028\u2029";for(e=[],n=0;n<16;++n)e[a.charCodeAt(n)]=n;for(a=a.toLowerCase(),n=10;n<16;++n)e[a.charCodeAt(n)]=n;for(n=0;n<s.length;++n)e[s.charCodeAt(n)]=-1}var o=i?new Uint8Array(t.length>>1):[],c=0,l=0,u=0;for(n=0;n<t.length;++n){var h=r?t.charCodeAt(n):t[n];if(h=e[h],-1!=h){if(void 0===h)throw"Illegal character at offset "+n;c|=h,++l>=2?(o[u++]=c,c=0,l=0):c<<=4}}if(l)throw"Hex encoding incomplete: 4 bits missing";return i&&o.length>u&&(o=o.subarray(0,u)),o},t}.call(t,i,t,e),void 0===n||(e.exports=n)},7156:function(e,t,i){var n=i("861d"),r=i("d2bb");e.exports=function(e,t,i){var a,s;return r&&"function"==typeof(a=t.constructor)&&a!==i&&n(s=a.prototype)&&s!==i.prototype&&r(e,s),e}},"722f":function(e,t,i){"use strict";t.__esModule=!0;var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=i("e452"),a=s(r);function s(e){return e&&e.__esModule?e:{default:e}}var o,c=c||{};c.Dialog=function(e,t,i){var r=this;if(this.dialogNode=e,null===this.dialogNode||"dialog"!==this.dialogNode.getAttribute("role"))throw new Error("Dialog() requires a DOM element with ARIA role of dialog.");"string"===typeof t?this.focusAfterClosed=document.getElementById(t):"object"===("undefined"===typeof t?"undefined":n(t))?this.focusAfterClosed=t:this.focusAfterClosed=null,"string"===typeof i?this.focusFirst=document.getElementById(i):"object"===("undefined"===typeof i?"undefined":n(i))?this.focusFirst=i:this.focusFirst=null,this.focusFirst?this.focusFirst.focus():a.default.focusFirstDescendant(this.dialogNode),this.lastFocus=document.activeElement,o=function(e){r.trapFocus(e)},this.addListeners()},c.Dialog.prototype.addListeners=function(){document.addEventListener("focus",o,!0)},c.Dialog.prototype.removeListeners=function(){document.removeEventListener("focus",o,!0)},c.Dialog.prototype.closeDialog=function(){var e=this;this.removeListeners(),this.focusAfterClosed&&setTimeout((function(){e.focusAfterClosed.focus()}))},c.Dialog.prototype.trapFocus=function(e){a.default.IgnoreUtilFocusChanges||(this.dialogNode.contains(e.target)?this.lastFocus=e.target:(a.default.focusFirstDescendant(this.dialogNode),this.lastFocus===document.activeElement&&a.default.focusLastDescendant(this.dialogNode),this.lastFocus=document.activeElement))},t.default=c.Dialog},"72f7":function(e,t,i){"use strict";var n=i("ebb5").exportTypedArrayMethod,r=i("d039"),a=i("da84"),s=a.Uint8Array,o=s&&s.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=o.toString!=c;n("toString",c,u)},"72fa":function(e,t,i){function n(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e}function r(e){const t=8;let i="";for(let r=0;r<e.length/t;r++)i+=n(parseInt(e.substr(r*t,t),2).toString(16),2);return i}function a(e){const t=2;let i="";for(let r=0;r<e.length/t;r++)i+=n(parseInt(e.substr(r*t,t),16).toString(2),8);return i}function s(e){let t="";for(let i=0,r=e.length;i<r;i++){const r=e[i];t+=n(r.codePointAt(0).toString(2),8)}return t}function o(e,t){return e.substring(t%e.length)+e.substr(0,t%e.length)}function c(e,t,i){const n=e||"",r=t||"",a=[];let s;for(let o=n.length-1;o>=0;o--)s=i(n[o],r[o],s),a[o]=s[0];return a.join("")}function l(e,t){return c(e,t,(e,t)=>[e===t?"0":"1"])}function u(e,t){return c(e,t,(e,t)=>["1"===e&&"1"===t?"1":"0"])}function h(e,t){return c(e,t,(e,t)=>["1"===e||"1"===t?"1":"0"])}function d(e,t){const i=c(e,t,(e,t,i)=>{const n=i?i[1]:"0";return e!==t?["0"===n?"1":"0",n]:[n,e]});return i}function f(e){return c(e,void 0,e=>["1"===e?"0":"1"])}function p(e){return(...t)=>t.reduce((t,i)=>e(t,i))}function m(e){return p(l)(e,o(e,9),o(e,17))}function v(e){return p(l)(e,o(e,15),o(e,23))}function g(e,t,i,n){return n>=0&&n<=15?p(l)(e,t,i):p(h)(u(e,t),u(e,i),u(t,i))}function y(e,t,i,n){return n>=0&&n<=15?p(l)(e,t,i):h(u(e,t),u(f(e),i))}function b(e){return a(e>=0&&e<=15?"79cc4519":"7a879d8a")}function C(e,t){const i=32,n=[],r=[];for(let o=0;o<16;o++)n.push(t.substr(o*i,i));for(let d=16;d<68;d++)n.push(p(l)(v(p(l)(n[d-16],n[d-9],o(n[d-3],15))),o(n[d-13],7),n[d-6]));for(let o=0;o<64;o++)r.push(l(n[o],n[o+4]));const a=[];for(let o=0;o<8;o++)a.push(e.substr(o*i,i));let s,c,u,h,f=a[0],C=a[1],S=a[2],x=a[3],w=a[4],_=a[5],A=a[6],E=a[7];for(let v=0;v<64;v++)s=o(p(d)(o(f,12),w,o(b(v),v)),7),c=l(s,o(f,12)),u=p(d)(g(f,C,S,v),x,c,r[v]),h=p(d)(y(w,_,A,v),E,s,n[v]),x=S,S=o(C,9),C=f,f=u,E=A,A=o(_,19),_=w,w=m(h);return l([f,C,S,x,w,_,A,E].join(""),e)}e.exports=function(e){const t=s(e),i=t.length;let o=i%512;o=o>=448?512-o%448-1:448-o-1;const c=`${t}1${n("",o)}${n(i.toString(2),64)}`.toString(),l=(i+o+65)/512;let u=a("7380166f4914b2b9172442d7da8a0600a96f30bc163138aae38dee4db0fb0e4e");for(let n=0;n<=l-1;n++){const e=c.substr(512*n,512);u=C(u,e)}return r(u)}},"735e":function(e,t,i){"use strict";var n=i("ebb5"),r=i("81d5"),a=n.aTypedArray,s=n.exportTypedArrayMethod;s("fill",(function(e){return r.apply(a(this),arguments)}))},7418:function(e,t){t.f=Object.getOwnPropertySymbols},"746f":function(e,t,i){var n=i("428f"),r=i("5135"),a=i("e538"),s=i("9bf2").f;e.exports=function(e){var t=n.Symbol||(n.Symbol={});r(t,e)||s(t,e,{value:a.f(e)})}},"74db":function(e,t,i){"use strict";const n=i("5486"),r=i("8a24"),a=i("8a24"),s=i("90da").buildOptions,o=i("adc3");t.parse=function(e,t,i){if(i){!0===i&&(i={});const t=o.validate(e,i);if(!0!==t)throw Error(t.err.msg)}t=s(t,a.defaultOptions,a.props);const c=r.getTraversalObj(e,t);return n.convertToJson(c,t)},t.convertTonimn=i("8006").convert2nimn,t.getTraversalObj=r.getTraversalObj,t.convertToJson=n.convertToJson,t.convertToJsonString=i("5a79").convertToJsonString,t.validate=o.validate,t.j2xParser=i("cd38"),t.parseToNimn=function(e,i,n){return t.convertTonimn(t.getTraversalObj(e,n),i,n)}},"74e8":function(e,t,i){"use strict";var n=i("23e7"),r=i("da84"),a=i("83ab"),s=i("8aa7"),o=i("ebb5"),c=i("621a"),l=i("19aa"),u=i("5c6c"),h=i("9112"),d=i("50c4"),f=i("0b25"),p=i("182d"),m=i("c04e"),v=i("5135"),g=i("f5df"),y=i("861d"),b=i("7c73"),C=i("d2bb"),S=i("241c").f,x=i("a078"),w=i("b727").forEach,_=i("2626"),A=i("9bf2"),E=i("06cf"),k=i("69f3"),M=i("7156"),z=k.get,T=k.set,I=A.f,N=E.f,D=Math.round,P=r.RangeError,O=c.ArrayBuffer,H=c.DataView,F=o.NATIVE_ARRAY_BUFFER_VIEWS,L=o.TYPED_ARRAY_TAG,V=o.TypedArray,R=o.TypedArrayPrototype,B=o.aTypedArrayConstructor,j=o.isTypedArray,$="BYTES_PER_ELEMENT",K="Wrong length",q=function(e,t){var i=0,n=t.length,r=new(B(e))(n);while(n>i)r[i]=t[i++];return r},U=function(e,t){I(e,t,{get:function(){return z(this)[t]}})},W=function(e){var t;return e instanceof O||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},X=function(e,t){return j(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},G=function(e,t){return X(e,t=m(t,!0))?u(2,e[t]):N(e,t)},Y=function(e,t,i){return!(X(e,t=m(t,!0))&&y(i)&&v(i,"value"))||v(i,"get")||v(i,"set")||i.configurable||v(i,"writable")&&!i.writable||v(i,"enumerable")&&!i.enumerable?I(e,t,i):(e[t]=i.value,e)};a?(F||(E.f=G,A.f=Y,U(R,"buffer"),U(R,"byteOffset"),U(R,"byteLength"),U(R,"length")),n({target:"Object",stat:!0,forced:!F},{getOwnPropertyDescriptor:G,defineProperty:Y}),e.exports=function(e,t,i){var a=e.match(/\d+$/)[0]/8,o=e+(i?"Clamped":"")+"Array",c="get"+e,u="set"+e,m=r[o],v=m,g=v&&v.prototype,A={},E=function(e,t){var i=z(e);return i.view[c](t*a+i.byteOffset,!0)},k=function(e,t,n){var r=z(e);i&&(n=(n=D(n))<0?0:n>255?255:255&n),r.view[u](t*a+r.byteOffset,n,!0)},N=function(e,t){I(e,t,{get:function(){return E(this,t)},set:function(e){return k(this,t,e)},enumerable:!0})};F?s&&(v=t((function(e,t,i,n){return l(e,v,o),M(function(){return y(t)?W(t)?void 0!==n?new m(t,p(i,a),n):void 0!==i?new m(t,p(i,a)):new m(t):j(t)?q(v,t):x.call(v,t):new m(f(t))}(),e,v)})),C&&C(v,V),w(S(m),(function(e){e in v||h(v,e,m[e])})),v.prototype=g):(v=t((function(e,t,i,n){l(e,v,o);var r,s,c,u=0,h=0;if(y(t)){if(!W(t))return j(t)?q(v,t):x.call(v,t);r=t,h=p(i,a);var m=t.byteLength;if(void 0===n){if(m%a)throw P(K);if(s=m-h,s<0)throw P(K)}else if(s=d(n)*a,s+h>m)throw P(K);c=s/a}else c=f(t),s=c*a,r=new O(s);T(e,{buffer:r,byteOffset:h,byteLength:s,length:c,view:new H(r)});while(u<c)N(e,u++)})),C&&C(v,V),g=v.prototype=b(R)),g.constructor!==v&&h(g,"constructor",v),L&&h(g,L,o),A[o]=v,n({global:!0,forced:v!=m,sham:!F},A),$ in v||h(v,$,a),$ in g||h(g,$,a),_(o)}):e.exports=function(){}},"77a7":function(e,t){var i=1/0,n=Math.abs,r=Math.pow,a=Math.floor,s=Math.log,o=Math.LN2,c=function(e,t,c){var l,u,h,d=new Array(c),f=8*c-t-1,p=(1<<f)-1,m=p>>1,v=23===t?r(2,-24)-r(2,-77):0,g=e<0||0===e&&1/e<0?1:0,y=0;for(e=n(e),e!=e||e===i?(u=e!=e?1:0,l=p):(l=a(s(e)/o),e*(h=r(2,-l))<1&&(l--,h*=2),e+=l+m>=1?v/h:v*r(2,1-m),e*h>=2&&(l++,h/=2),l+m>=p?(u=0,l=p):l+m>=1?(u=(e*h-1)*r(2,t),l+=m):(u=e*r(2,m-1)*r(2,t),l=0));t>=8;d[y++]=255&u,u/=256,t-=8);for(l=l<<t|u,f+=t;f>0;d[y++]=255&l,l/=256,f-=8);return d[--y]|=128*g,d},l=function(e,t){var n,a=e.length,s=8*a-t-1,o=(1<<s)-1,c=o>>1,l=s-7,u=a-1,h=e[u--],d=127&h;for(h>>=7;l>0;d=256*d+e[u],u--,l-=8);for(n=d&(1<<-l)-1,d>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===d)d=1-c;else{if(d===o)return n?NaN:h?-i:i;n+=r(2,t),d-=c}return(h?-1:1)*n*r(2,d-t)};e.exports={pack:c,unpack:l}},"77e9":function(e,t,i){var n=i("7a41");e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},7839:function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7a41":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},"7a77":function(e,t,i){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},"7aac":function(e,t,i){"use strict";var n=i("c532");e.exports=n.isStandardBrowserEnv()?function(){return{write:function(e,t,i,r,a,s){var o=[];o.push(e+"="+encodeURIComponent(t)),n.isNumber(i)&&o.push("expires="+new Date(i).toGMTString()),n.isString(r)&&o.push("path="+r),n.isString(a)&&o.push("domain="+a),!0===s&&o.push("secure"),document.cookie=o.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"7b0b":function(e,t,i){var n=i("1d80");e.exports=function(e){return Object(n(e))}},"7b3e":function(e,t,i){"use strict";var n,r=i("a3de");
-
-function a(e,t){if(!r.canUseDOM||t&&!("addEventListener"in document))return!1;var i="on"+e,a=i in document;if(!a){var s=document.createElement("div");s.setAttribute(i,"return;"),a="function"===typeof s[i]}return!a&&n&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}r.canUseDOM&&(n=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=a},"7c73":function(e,t,i){var n,r=i("825a"),a=i("37e8"),s=i("7839"),o=i("d012"),c=i("1be4"),l=i("cc12"),u=i("f772"),h=">",d="<",f="prototype",p="script",m=u("IE_PROTO"),v=function(){},g=function(e){return d+p+h+e+d+"/"+p+h},y=function(e){e.write(g("")),e.close();var t=e.parentWindow.Object;return e=null,t},b=function(){var e,t=l("iframe"),i="java"+p+":";return t.style.display="none",c.appendChild(t),t.src=String(i),e=t.contentWindow.document,e.open(),e.write(g("document.F=Object")),e.close(),e.F},C=function(){try{n=document.domain&&new ActiveXObject("htmlfile")}catch(t){}C=n?y(n):b();var e=s.length;while(e--)delete C[f][s[e]];return C()};o[m]=!0,e.exports=Object.create||function(e,t){var i;return null!==e?(v[f]=r(e),i=new v,v[f]=null,i[m]=e):i=C(),void 0===t?i:a(i,t)}},"7dd0":function(e,t,i){"use strict";var n=i("23e7"),r=i("9ed3"),a=i("e163"),s=i("d2bb"),o=i("d44e"),c=i("9112"),l=i("6eeb"),u=i("b622"),h=i("c430"),d=i("3f8c"),f=i("ae93"),p=f.IteratorPrototype,m=f.BUGGY_SAFARI_ITERATORS,v=u("iterator"),g="keys",y="values",b="entries",C=function(){return this};e.exports=function(e,t,i,u,f,S,x){r(i,t,u);var w,_,A,E=function(e){if(e===f&&I)return I;if(!m&&e in z)return z[e];switch(e){case g:return function(){return new i(this,e)};case y:return function(){return new i(this,e)};case b:return function(){return new i(this,e)}}return function(){return new i(this)}},k=t+" Iterator",M=!1,z=e.prototype,T=z[v]||z["@@iterator"]||f&&z[f],I=!m&&T||E(f),N="Array"==t&&z.entries||T;if(N&&(w=a(N.call(new e)),p!==Object.prototype&&w.next&&(h||a(w)===p||(s?s(w,p):"function"!=typeof w[v]&&c(w,v,C)),o(w,k,!0,!0),h&&(d[k]=C))),f==y&&T&&T.name!==y&&(M=!0,I=function(){return T.call(this)}),h&&!x||z[v]===I||c(z,v,I),d[t]=I,f)if(_={values:E(y),keys:S?I:E(g),entries:E(b)},x)for(A in _)(m||M||!(A in z))&&l(z,A,_[A]);else n({target:t,proto:!0,forced:m||M},_);return _}},"7f4d":function(e,t,i){"use strict";t.__esModule=!0,t.default=function(e){for(var t=1,i=arguments.length;t<i;t++){var n=arguments[t]||{};for(var r in n)if(n.hasOwnProperty(r)){var a=n[r];void 0!==a&&(e[r]=a)}}return e}},"7f9a":function(e,t,i){var n=i("da84"),r=i("8925"),a=n.WeakMap;e.exports="function"===typeof a&&/native code/.test(r(a))},"7fc1":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=86)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},4:function(e,t){e.exports=i("d010")},86:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-checkbox-group",attrs:{role:"group","aria-label":"checkbox-group"}},[e._t("default")],2)},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o={name:"ElCheckboxGroup",componentName:"ElCheckboxGroup",mixins:[s.a],inject:{elFormItem:{default:""}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",[e])}}},c=o,l=i(0),u=Object(l["a"])(c,n,r,!1,null,null,null);u.options.__file="packages/checkbox/src/checkbox-group.vue";var h=u.exports;h.install=function(e){e.component(h.name,h)};t["default"]=h}})},8006:function(e,t,i){"use strict";const n=function(e){return String.fromCharCode(e)},r={nilChar:n(176),missingChar:n(201),nilPremitive:n(175),missingPremitive:n(200),emptyChar:n(178),emptyValue:n(177),boundryChar:n(179),objStart:n(198),arrStart:n(204),arrayEnd:n(185)},a=[r.nilChar,r.nilPremitive,r.missingChar,r.missingPremitive,r.boundryChar,r.emptyChar,r.emptyValue,r.arrayEnd,r.objStart,r.arrStart],s=function(e,t,i){if("string"===typeof t)return e&&e[0]&&void 0!==e[0].val?o(e[0].val,t):o(e,t);{const n=u(e);if(!0===n){let n="";if(Array.isArray(t)){n+=r.arrStart;const a=t[0],l=e.length;if("string"===typeof a)for(let t=0;t<l;t++){const i=o(e[t].val,a);n=c(n,i)}else for(let t=0;t<l;t++){const r=s(e[t],a,i);n=c(n,r)}n+=r.arrayEnd}else{n+=r.objStart;const a=Object.keys(t);Array.isArray(e)&&(e=e[0]);for(let r in a){const o=a[r];let l;l=!i.ignoreAttributes&&e.attrsMap&&e.attrsMap[o]?s(e.attrsMap[o],t[o],i):o===i.textNodeName?s(e.val,t[o],i):s(e.child[o],t[o],i),n=c(n,l)}}return n}return n}},o=function(e){switch(e){case void 0:return r.missingPremitive;case null:return r.nilPremitive;case"":return r.emptyValue;default:return e}},c=function(e,t){return l(t[0])||l(e[e.length-1])||(e+=r.boundryChar),e+t},l=function(e){return-1!==a.indexOf(e)};function u(e){return void 0===e?r.missingChar:null===e?r.nilChar:!(e.child&&0===Object.keys(e.child).length&&(!e.attrsMap||0===Object.keys(e.attrsMap).length))||r.emptyChar}const h=i("8a24"),d=i("90da").buildOptions,f=function(e,t,i){return i=d(i,h.defaultOptions,h.props),s(e,t,i)};t.convert2nimn=f},8060:function(e,t,i){e.exports={sm2:i("526b"),sm3:i("72fa"),sm4:i("10d11")}},"80e0":function(e,t,i){var n=i("746f");n("replace")},8119:function(e,t,i){i("693d"),i("dfe5"),i("301c"),i("4e71"),e.exports=i("5524").Symbol},8122:function(e,t,i){"use strict";t.__esModule=!0,t.isEmpty=t.isEqual=t.arrayEquals=t.looseEqual=t.capitalize=t.kebabCase=t.autoprefixer=t.isFirefox=t.isEdge=t.isIE=t.coerceTruthyValueToArray=t.arrayFind=t.arrayFindIndex=t.escapeRegexpString=t.valueEquals=t.generateId=t.getValueByPath=void 0;var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.noop=l,t.hasOwn=u,t.toObject=d,t.getPropByPath=f,t.rafThrottle=y,t.objToArray=b;var r=i("2b0e"),a=o(r),s=i("a742");function o(e){return e&&e.__esModule?e:{default:e}}var c=Object.prototype.hasOwnProperty;function l(){}function u(e,t){return c.call(e,t)}function h(e,t){for(var i in t)e[i]=t[i];return e}function d(e){for(var t={},i=0;i<e.length;i++)e[i]&&h(t,e[i]);return t}t.getValueByPath=function(e,t){t=t||"";for(var i=t.split("."),n=e,r=null,a=0,s=i.length;a<s;a++){var o=i[a];if(!n)break;if(a===s-1){r=n[o];break}n=n[o]}return r};function f(e,t,i){var n=e;t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^\./,"");for(var r=t.split("."),a=0,s=r.length;a<s-1;++a){if(!n&&!i)break;var o=r[a];if(!(o in n)){if(i)throw new Error("please transfer a valid prop path to form item!");break}n=n[o]}return{o:n,k:r[a],v:n?n[r[a]]:null}}t.generateId=function(){return Math.floor(1e4*Math.random())},t.valueEquals=function(e,t){if(e===t)return!0;if(!(e instanceof Array))return!1;if(!(t instanceof Array))return!1;if(e.length!==t.length)return!1;for(var i=0;i!==e.length;++i)if(e[i]!==t[i])return!1;return!0},t.escapeRegexpString=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return String(e).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")};var p=t.arrayFindIndex=function(e,t){for(var i=0;i!==e.length;++i)if(t(e[i]))return i;return-1},m=(t.arrayFind=function(e,t){var i=p(e,t);return-1!==i?e[i]:void 0},t.coerceTruthyValueToArray=function(e){return Array.isArray(e)?e:e?[e]:[]},t.isIE=function(){return!a.default.prototype.$isServer&&!isNaN(Number(document.documentMode))},t.isEdge=function(){return!a.default.prototype.$isServer&&navigator.userAgent.indexOf("Edge")>-1},t.isFirefox=function(){return!a.default.prototype.$isServer&&!!window.navigator.userAgent.match(/firefox/i)},t.autoprefixer=function(e){if("object"!==("undefined"===typeof e?"undefined":n(e)))return e;var t=["transform","transition","animation"],i=["ms-","webkit-"];return t.forEach((function(t){var n=e[t];t&&n&&i.forEach((function(i){e[i+t]=n}))})),e},t.kebabCase=function(e){var t=/([^-])([A-Z])/g;return e.replace(t,"$1-$2").replace(t,"$1-$2").toLowerCase()},t.capitalize=function(e){return(0,s.isString)(e)?e.charAt(0).toUpperCase()+e.slice(1):e},t.looseEqual=function(e,t){var i=(0,s.isObject)(e),n=(0,s.isObject)(t);return i&&n?JSON.stringify(e)===JSON.stringify(t):!i&&!n&&String(e)===String(t)}),v=t.arrayEquals=function(e,t){if(e=e||[],t=t||[],e.length!==t.length)return!1;for(var i=0;i<e.length;i++)if(!m(e[i],t[i]))return!1;return!0},g=(t.isEqual=function(e,t){return Array.isArray(e)&&Array.isArray(t)?v(e,t):m(e,t)},t.isEmpty=function(e){if(null==e)return!0;if("boolean"===typeof e)return!1;if("number"===typeof e)return!e;if(e instanceof Error)return""===e.message;switch(Object.prototype.toString.call(e)){case"[object String]":case"[object Array]":return!e.length;case"[object File]":case"[object Map]":case"[object Set]":return!e.size;case"[object Object]":return!Object.keys(e).length}return!1});function y(e){var t=!1;return function(){for(var i=this,n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];t||(t=!0,window.requestAnimationFrame((function(n){e.apply(i,r),t=!1})))}}function b(e){return Array.isArray(e)?e:g(e)?[]:[e]}},8172:function(e,t,i){var n=i("746f");n("toPrimitive")},"81b8":function(e,t,i){var n=i("746f");n("unscopables")},"81d5":function(e,t,i){"use strict";var n=i("7b0b"),r=i("23cb"),a=i("50c4");e.exports=function(e){var t=n(this),i=a(t.length),s=arguments.length,o=r(s>1?arguments[1]:void 0,i),c=s>2?arguments[2]:void 0,l=void 0===c?i:r(c,i);while(l>o)t[o++]=e;return t}},"81fa":function(e,t,i){(function(e){var i={userAgent:!1},n={};
-
-if(void 0===r)var r={};r.lang={extend:function(e,t,n){if(!t||!e)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var r=function(){};if(r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e,e.superclass=t.prototype,t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t),n){var a;for(a in n)e.prototype[a]=n[a];var s=function(){},o=["toString","valueOf"];try{/MSIE/.test(i.userAgent)&&(s=function(e,t){for(a=0;a<o.length;a+=1){var i=o[a],n=t[i];"function"===typeof n&&n!=Object.prototype[i]&&(e[i]=n)}})}catch(c){}s(e.prototype,n)}}};
-
-var a=a||function(e,t){var i={},n=i.lib={},r=n.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var i=new e;return t&&i.mixIn(t),i.hasOwnProperty("init")||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=n.WordArray=r.extend({init:function(e,i){e=this.words=e||[],this.sigBytes=i!=t?i:4*e.length},toString:function(e){return(e||o).stringify(this)},concat:function(e){var t=this.words,i=e.words,n=this.sigBytes,r=e.sigBytes;if(this.clamp(),n%4)for(var a=0;a<r;a++){var s=i[a>>>2]>>>24-a%4*8&255;t[n+a>>>2]|=s<<24-(n+a)%4*8}else for(a=0;a<r;a+=4)t[n+a>>>2]=i[a>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var i=[],n=0;n<t;n+=4)i.push(4294967296*e.random()|0);return new a.init(i,t)}}),s=i.enc={},o=s.Hex={stringify:function(e){for(var t=e.words,i=e.sigBytes,n=[],r=0;r<i;r++){var a=t[r>>>2]>>>24-r%4*8&255;n.push((a>>>4).toString(16)),n.push((15&a).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,i=[],n=0;n<t;n+=2)i[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new a.init(i,t/2)}},c=s.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,n=[],r=0;r<i;r++){var a=t[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var t=e.length,i=[],n=0;n<t;n++)i[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new a.init(i,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},u=n.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i=this._data,n=i.words,r=i.sigBytes,s=this.blockSize,o=4*s,c=r/o;c=t?e.ceil(c):e.max((0|c)-this._minBufferSize,0);var l=c*s,u=e.min(4*l,r);if(l){for(var h=0;h<l;h+=s)this._doProcessBlock(n,h);var d=n.splice(0,l);i.sigBytes-=u}return new a.init(d,u)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),h=(n.Hasher=u.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){u.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){e&&this._append(e);var t=this._doFinalize();return t},blockSize:16,_createHelper:function(e){return function(t,i){return new e.init(i).finalize(t)}},_createHmacHelper:function(e){return function(t,i){return new h.HMAC.init(e,i).finalize(t)}}}),i.algo={});return i}(Math);(function(e){var t=a,i=t.lib,n=i.Base,r=i.WordArray;t=t.x64={};t.Word=n.extend({init:function(e,t){this.high=e,this.low=t}}),t.WordArray=n.extend({init:function(t,i){t=this.words=t||[],this.sigBytes=i!=e?i:8*t.length},toX32:function(){for(var e=this.words,t=e.length,i=[],n=0;n<t;n++){var a=e[n];i.push(a.high),i.push(a.low)}return r.create(i,this.sigBytes)},clone:function(){for(var e=n.clone.call(this),t=e.words=this.words.slice(0),i=t.length,r=0;r<i;r++)t[r]=t[r].clone();return e}})})(),a.lib.Cipher||function(e){var t=a,i=t.lib,n=i.Base,r=i.WordArray,s=i.BufferedBlockAlgorithm,o=t.enc.Base64,c=t.algo.EvpKDF,l=i.Cipher=s.extend({cfg:n.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,i){this.cfg=this.cfg.extend(i),this._xformMode=e,this._key=t,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(t,i,n){return("string"==typeof i?m:p).encrypt(e,t,i,n)},decrypt:function(t,i,n){return("string"==typeof i?m:p).decrypt(e,t,i,n)}}}});i.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var u=t.mode={},h=function(t,i,n){var r=this._iv;r?this._iv=e:r=this._prevBlock;for(var a=0;a<n;a++)t[i+a]^=r[a]},d=(i.BlockCipherMode=n.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}})).extend();d.Encryptor=d.extend({processBlock:function(e,t){var i=this._cipher,n=i.blockSize;h.call(this,e,t,n),i.encryptBlock(e,t),this._prevBlock=e.slice(t,t+n)}}),d.Decryptor=d.extend({processBlock:function(e,t){var i=this._cipher,n=i.blockSize,r=e.slice(t,t+n);i.decryptBlock(e,t),h.call(this,e,t,n),this._prevBlock=r}}),u=u.CBC=d,d=(t.pad={}).Pkcs7={pad:function(e,t){for(var i=4*t,n=(i=i-e.sigBytes%i,i<<24|i<<16|i<<8|i),a=[],s=0;s<i;s+=4)a.push(n);i=r.create(a,i),e.concat(i)},unpad:function(e){e.sigBytes-=255&e.words[e.sigBytes-1>>>2]}},i.BlockCipher=l.extend({cfg:l.cfg.extend({mode:u,padding:d}),reset:function(){l.reset.call(this);var e=this.cfg,t=e.iv;e=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var i=e.createEncryptor;else i=e.createDecryptor,this._minBufferSize=1;this._mode=i.call(e,this,t&&t.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var f=i.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(u=(t.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return e=e.salt,(e?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(o)},parse:function(e){e=o.parse(e);var t=e.words;if(1398893684==t[0]&&1701076831==t[1]){var i=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return f.create({ciphertext:e,salt:i})}},i.SerializableCipher=n.extend({cfg:n.extend({format:u}),encrypt:function(e,t,i,n){n=this.cfg.extend(n);var r=e.createEncryptor(i,n);return t=r.finalize(t),r=r.cfg,f.create({ciphertext:t,key:i,iv:r.iv,algorithm:e,mode:r.mode,padding:r.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,i,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),e.createDecryptor(i,n).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),m=(t=(t.kdf={}).OpenSSL={execute:function(e,t,i,n){return n||(n=r.random(8)),e=c.create({keySize:t+i}).compute(e,n),i=r.create(e.words.slice(t),4*i),e.sigBytes=4*t,f.create({key:e,iv:i,salt:n})}},i.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:t}),encrypt:function(e,t,i,n){return n=this.cfg.extend(n),i=n.kdf.execute(i,e.keySize,e.ivSize),n.iv=i.iv,e=p.encrypt.call(this,e,t,i.key,n),e.mixIn(i),e},decrypt:function(e,t,i,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),i=n.kdf.execute(i,e.keySize,e.ivSize,t.salt),n.iv=i.iv,p.decrypt.call(this,e,t,i.key,n)}}))}(),function(){for(var e=a,t=e.lib.BlockCipher,i=e.algo,n=[],r=[],s=[],o=[],c=[],l=[],u=[],h=[],d=[],f=[],p=[],m=0;256>m;m++)p[m]=128>m?m<<1:m<<1^283;var v=0,g=0;for(m=0;256>m;m++){var y=g^g<<1^g<<2^g<<3^g<<4;y=y>>>8^255&y^99;n[v]=y,r[y]=v;var b=p[v],C=p[b],S=p[C],x=257*p[y]^16843008*y;s[v]=x<<24|x>>>8,o[v]=x<<16|x>>>16,c[v]=x<<8|x>>>24,l[v]=x,x=16843009*S^65537*C^257*b^16843008*v,u[y]=x<<24|x>>>8,h[y]=x<<16|x>>>16,d[y]=x<<8|x>>>24,f[y]=x,v?(v=b^p[p[p[S^b]]],g^=p[p[g]]):v=g=1}var w=[0,1,2,4,8,16,32,64,128,27,54];i=i.AES=t.extend({_doReset:function(){for(var e=this._key,t=e.words,i=e.sigBytes/4,r=(e=4*((this._nRounds=i+6)+1),this._keySchedule=[]),a=0;a<e;a++)if(a<i)r[a]=t[a];else{var s=r[a-1];a%i?6<i&&4==a%i&&(s=n[s>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s]):(s=s<<8|s>>>24,s=n[s>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s],s^=w[a/i|0]<<24),r[a]=r[a-i]^s}for(t=this._invKeySchedule=[],i=0;i<e;i++)a=e-i,s=i%4?r[a]:r[a-4],t[i]=4>i||4>=a?s:u[n[s>>>24]]^h[n[s>>>16&255]]^d[n[s>>>8&255]]^f[n[255&s]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,s,o,c,l,n)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,u,h,d,f,r),i=e[t+1],e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,n,r,a,s,o){for(var c=this._nRounds,l=e[t]^i[0],u=e[t+1]^i[1],h=e[t+2]^i[2],d=e[t+3]^i[3],f=4,p=1;p<c;p++){var m=n[l>>>24]^r[u>>>16&255]^a[h>>>8&255]^s[255&d]^i[f++],v=n[u>>>24]^r[h>>>16&255]^a[d>>>8&255]^s[255&l]^i[f++],g=n[h>>>24]^r[d>>>16&255]^a[l>>>8&255]^s[255&u]^i[f++];d=n[d>>>24]^r[l>>>16&255]^a[u>>>8&255]^s[255&h]^i[f++],l=m,u=v,h=g}m=(o[l>>>24]<<24|o[u>>>16&255]<<16|o[h>>>8&255]<<8|o[255&d])^i[f++],v=(o[u>>>24]<<24|o[h>>>16&255]<<16|o[d>>>8&255]<<8|o[255&l])^i[f++],g=(o[h>>>24]<<24|o[d>>>16&255]<<16|o[l>>>8&255]<<8|o[255&u])^i[f++],d=(o[d>>>24]<<24|o[l>>>16&255]<<16|o[u>>>8&255]<<8|o[255&h])^i[f++],e[t]=m,e[t+1]=v,e[t+2]=g,e[t+3]=d},keySize:8});e.AES=t._createHelper(i)}(),function(){function e(e,t){var i=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=i,this._lBlock^=i<<e}function t(e,t){var i=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=i,this._rBlock^=i<<e}var i=a,n=i.lib,r=n.WordArray,s=(n=n.BlockCipher,i.algo),o=[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],c=[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],l=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],u=[{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}],h=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=s.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;56>i;i++){var n=o[i]-1;t[i]=e[n>>>5]>>>31-n%32&1}for(e=this._subKeys=[],n=0;16>n;n++){var r=e[n]=[],a=l[n];for(i=0;24>i;i++)r[i/6|0]|=t[(c[i]-1+a)%28]<<31-i%6,r[4+(i/6|0)]|=t[28+(c[i+24]-1+a)%28]<<31-i%6;for(r[0]=r[0]<<1|r[0]>>>31,i=1;7>i;i++)r[i]>>>=4*(i-1)+3;r[7]=r[7]<<5|r[7]>>>27}for(t=this._invSubKeys=[],i=0;16>i;i++)t[i]=e[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(i,n,r){this._lBlock=i[n],this._rBlock=i[n+1],e.call(this,4,252645135),e.call(this,16,65535),t.call(this,2,858993459),t.call(this,8,16711935),e.call(this,1,1431655765);for(var a=0;16>a;a++){for(var s=r[a],o=this._lBlock,c=this._rBlock,l=0,d=0;8>d;d++)l|=u[d][((c^s[d])&h[d])>>>0];this._lBlock=c,this._rBlock=o^l}r=this._lBlock,this._lBlock=this._rBlock,this._rBlock=r,e.call(this,1,1431655765),t.call(this,8,16711935),t.call(this,2,858993459),e.call(this,16,65535),e.call(this,4,252645135),i[n]=this._lBlock,i[n+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});i.DES=n._createHelper(d),s=s.TripleDES=n.extend({_doReset:function(){var e=this._key.words;this._des1=d.createEncryptor(r.create(e.slice(0,2))),this._des2=d.createEncryptor(r.create(e.slice(2,4))),this._des3=d.createEncryptor(r.create(e.slice(4,6)))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2}),i.TripleDES=n._createHelper(s)}(),function(){var e=a,t=e.lib.WordArray;e.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,n=this._map;e.clamp(),e=[];for(var r=0;r<i;r+=3)for(var a=(t[r>>>2]>>>24-r%4*8&255)<<16|(t[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|t[r+2>>>2]>>>24-(r+2)%4*8&255,s=0;4>s&&r+.75*s<i;s++)e.push(n.charAt(a>>>6*(3-s)&63));if(t=n.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var i=e.length,n=this._map,r=n.charAt(64);r&&(r=e.indexOf(r),-1!=r&&(i=r));r=[];for(var a=0,s=0;s<i;s++)if(s%4){var o=n.indexOf(e.charAt(s-1))<<s%4*2,c=n.indexOf(e.charAt(s))>>>6-s%4*2;r[a>>>2]|=(o|c)<<24-a%4*8,a++}return t.create(r,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(e){function t(e,t,i,n,r,a,s){return e=e+(t&i|~t&n)+r+s,(e<<a|e>>>32-a)+t}function i(e,t,i,n,r,a,s){return e=e+(t&n|i&~n)+r+s,(e<<a|e>>>32-a)+t}function n(e,t,i,n,r,a,s){return e=e+(t^i^n)+r+s,(e<<a|e>>>32-a)+t}function r(e,t,i,n,r,a,s){return e=e+(i^(t|~n))+r+s,(e<<a|e>>>32-a)+t}for(var s=a,o=s.lib,c=o.WordArray,l=o.Hasher,u=(o=s.algo,[]),h=0;64>h;h++)u[h]=4294967296*e.abs(e.sin(h+1))|0;o=o.MD5=l.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var s=0;16>s;s++){var o=a+s,c=e[o];e[o]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}s=this._hash.words,o=e[a+0],c=e[a+1];var l=e[a+2],h=e[a+3],d=e[a+4],f=e[a+5],p=e[a+6],m=e[a+7],v=e[a+8],g=e[a+9],y=e[a+10],b=e[a+11],C=e[a+12],S=e[a+13],x=e[a+14],w=e[a+15],_=s[0],A=s[1],E=s[2],k=s[3];_=t(_,A,E,k,o,7,u[0]),k=t(k,_,A,E,c,12,u[1]),E=t(E,k,_,A,l,17,u[2]),A=t(A,E,k,_,h,22,u[3]),_=t(_,A,E,k,d,7,u[4]),k=t(k,_,A,E,f,12,u[5]),E=t(E,k,_,A,p,17,u[6]),A=t(A,E,k,_,m,22,u[7]),_=t(_,A,E,k,v,7,u[8]),k=t(k,_,A,E,g,12,u[9]),E=t(E,k,_,A,y,17,u[10]),A=t(A,E,k,_,b,22,u[11]),_=t(_,A,E,k,C,7,u[12]),k=t(k,_,A,E,S,12,u[13]),E=t(E,k,_,A,x,17,u[14]),A=t(A,E,k,_,w,22,u[15]),_=i(_,A,E,k,c,5,u[16]),k=i(k,_,A,E,p,9,u[17]),E=i(E,k,_,A,b,14,u[18]),A=i(A,E,k,_,o,20,u[19]),_=i(_,A,E,k,f,5,u[20]),k=i(k,_,A,E,y,9,u[21]),E=i(E,k,_,A,w,14,u[22]),A=i(A,E,k,_,d,20,u[23]),_=i(_,A,E,k,g,5,u[24]),k=i(k,_,A,E,x,9,u[25]),E=i(E,k,_,A,h,14,u[26]),A=i(A,E,k,_,v,20,u[27]),_=i(_,A,E,k,S,5,u[28]),k=i(k,_,A,E,l,9,u[29]),E=i(E,k,_,A,m,14,u[30]),A=i(A,E,k,_,C,20,u[31]),_=n(_,A,E,k,f,4,u[32]),k=n(k,_,A,E,v,11,u[33]),E=n(E,k,_,A,b,16,u[34]),A=n(A,E,k,_,x,23,u[35]),_=n(_,A,E,k,c,4,u[36]),k=n(k,_,A,E,d,11,u[37]),E=n(E,k,_,A,m,16,u[38]),A=n(A,E,k,_,y,23,u[39]),_=n(_,A,E,k,S,4,u[40]),k=n(k,_,A,E,o,11,u[41]),E=n(E,k,_,A,h,16,u[42]),A=n(A,E,k,_,p,23,u[43]),_=n(_,A,E,k,g,4,u[44]),k=n(k,_,A,E,C,11,u[45]),E=n(E,k,_,A,w,16,u[46]),A=n(A,E,k,_,l,23,u[47]),_=r(_,A,E,k,o,6,u[48]),k=r(k,_,A,E,m,10,u[49]),E=r(E,k,_,A,x,15,u[50]),A=r(A,E,k,_,f,21,u[51]),_=r(_,A,E,k,C,6,u[52]),k=r(k,_,A,E,h,10,u[53]),E=r(E,k,_,A,y,15,u[54]),A=r(A,E,k,_,c,21,u[55]),_=r(_,A,E,k,v,6,u[56]),k=r(k,_,A,E,w,10,u[57]),E=r(E,k,_,A,p,15,u[58]),A=r(A,E,k,_,S,21,u[59]),_=r(_,A,E,k,d,6,u[60]),k=r(k,_,A,E,b,10,u[61]),E=r(E,k,_,A,l,15,u[62]),A=r(A,E,k,_,g,21,u[63]);s[0]=s[0]+_|0,s[1]=s[1]+A|0,s[2]=s[2]+E|0,s[3]=s[3]+k|0},_doFinalize:function(){var t=this._data,i=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;i[r>>>5]|=128<<24-r%32;var a=e.floor(n/4294967296);for(i[15+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),i[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(i.length+1),this._process(),t=this._hash,i=t.words,n=0;4>n;n++)r=i[n],i[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return t},clone:function(){var e=l.clone.call(this);return e._hash=this._hash.clone(),e}}),s.MD5=l._createHelper(o),s.HmacMD5=l._createHmacHelper(o)}(Math),function(){var e=a,t=e.lib,i=t.WordArray,n=t.Hasher,r=[];t=e.algo.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,n=i[0],a=i[1],s=i[2],o=i[3],c=i[4],l=0;80>l;l++){if(16>l)r[l]=0|e[t+l];else{var u=r[l-3]^r[l-8]^r[l-14]^r[l-16];r[l]=u<<1|u>>>31}u=(n<<5|n>>>27)+c+r[l],u=20>l?u+(1518500249+(a&s|~a&o)):40>l?u+(1859775393+(a^s^o)):60>l?u+((a&s|a&o|s&o)-1894007588):u+((a^s^o)-899497514),c=o,o=s,s=a<<30|a>>>2,a=n,n=u}i[0]=i[0]+n|0,i[1]=i[1]+a|0,i[2]=i[2]+s|0,i[3]=i[3]+o|0,i[4]=i[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(i/4294967296),t[15+(n+64>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(t),e.HmacSHA1=n._createHmacHelper(t)}(),function(e){for(var t=a,i=t.lib,n=i.WordArray,r=i.Hasher,s=(i=t.algo,[]),o=[],c=function(e){return 4294967296*(e-(0|e))|0},l=2,u=0;64>u;){var h;e:{h=l;for(var d=e.sqrt(h),f=2;f<=d;f++)if(!(h%f)){h=!1;break e}h=!0}h&&(8>u&&(s[u]=c(e.pow(l,.5))),o[u]=c(e.pow(l,1/3)),u++),l++}var p=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(s.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,n=i[0],r=i[1],a=i[2],s=i[3],c=i[4],l=i[5],u=i[6],h=i[7],d=0;64>d;d++){if(16>d)p[d]=0|e[t+d];else{var f=p[d-15],m=p[d-2];p[d]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+p[d-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+p[d-16]}f=h+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&l^~c&u)+o[d]+p[d],m=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&r^n&a^r&a),h=u,u=l,l=c,c=s+f|0,s=a,a=r,r=n,n=f+m|0}i[0]=i[0]+n|0,i[1]=i[1]+r|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+c|0,i[5]=i[5]+l|0,i[6]=i[6]+u|0,i[7]=i[7]+h|0},_doFinalize:function(){var t=this._data,i=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;return i[r>>>5]|=128<<24-r%32,i[14+(r+64>>>9<<4)]=e.floor(n/4294967296),i[15+(r+64>>>9<<4)]=n,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),function(){var e=a,t=e.lib.WordArray,i=e.algo,n=i.SHA256;i=i.SHA224=n.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=4,e}});e.SHA224=n._createHelper(i),e.HmacSHA224=n._createHmacHelper(i)}(),function(){function e(){return r.create.apply(r,arguments)}for(var t=a,i=t.lib.Hasher,n=t.x64,r=n.Word,s=n.WordArray,o=(n=t.algo,[e(1116352408,3609767458),e(1899447441,602891725),e(3049323471,3964484399),e(3921009573,2173295548),e(961987163,4081628472),e(1508970993,3053834265),e(2453635748,2937671579),e(2870763221,3664609560),e(3624381080,2734883394),e(310598401,1164996542),e(607225278,1323610764),e(1426881987,3590304994),e(1925078388,4068182383),e(2162078206,991336113),e(2614888103,633803317),e(3248222580,3479774868),e(3835390401,2666613458),e(4022224774,944711139),e(264347078,2341262773),e(604807628,2007800933),e(770255983,1495990901),e(1249150122,1856431235),e(1555081692,3175218132),e(1996064986,2198950837),e(2554220882,3999719339),e(2821834349,766784016),e(2952996808,2566594879),e(3210313671,3203337956),e(3336571891,1034457026),e(3584528711,2466948901),e(113926993,3758326383),e(338241895,168717936),e(666307205,1188179964),e(773529912,1546045734),e(1294757372,1522805485),e(1396182291,2643833823),e(1695183700,2343527390),e(1986661051,1014477480),e(2177026350,1206759142),e(2456956037,344077627),e(2730485921,1290863460),e(2820302411,3158454273),e(3259730800,3505952657),e(3345764771,106217008),e(3516065817,3606008344),e(3600352804,1432725776),e(4094571909,1467031594),e(275423344,851169720),e(430227734,3100823752),e(506948616,1363258195),e(659060556,3750685593),e(883997877,3785050280),e(958139571,3318307427),e(1322822218,3812723403),e(1537002063,2003034995),e(1747873779,3602036899),e(1955562222,1575990012),e(2024104815,1125592928),e(2227730452,2716904306),e(2361852424,442776044),e(2428436474,593698344),e(2756734187,3733110249),e(3204031479,2999351573),e(3329325298,3815920427),e(3391569614,3928383900),e(3515267271,566280711),e(3940187606,3454069534),e(4118630271,4000239992),e(116418474,1914138554),e(174292421,2731055270),e(289380356,3203993006),e(460393269,320620315),e(685471733,587496836),e(852142971,1086792851),e(1017036298,365543100),e(1126000580,2618297676),e(1288033470,3409855158),e(1501505948,4234509866),e(1607167915,987167468),e(1816402316,1246189591)]),c=[],l=0;80>l;l++)c[l]=e();n=n.SHA512=i.extend({_doReset:function(){this._hash=new s.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=this._hash.words,n=i[0],r=i[1],a=i[2],s=i[3],l=i[4],u=i[5],h=i[6],d=(i=i[7],n.high),f=n.low,p=r.high,m=r.low,v=a.high,g=a.low,y=s.high,b=s.low,C=l.high,S=l.low,x=u.high,w=u.low,_=h.high,A=h.low,E=i.high,k=i.low,M=d,z=f,T=p,I=m,N=v,D=g,P=y,O=b,H=C,F=S,L=x,V=w,R=_,B=A,j=E,$=k,K=0;80>K;K++){var q=c[K];if(16>K)var U=q.high=0|e[t+2*K],W=q.low=0|e[t+2*K+1];else{U=c[K-15],W=U.high;var X=U.low,G=(U=(W>>>1|X<<31)^(W>>>8|X<<24)^W>>>7,X=(X>>>1|W<<31)^(X>>>8|W<<24)^(X>>>7|W<<25),c[K-2]),Y=(W=G.high,G.low),Z=(G=(W>>>19|Y<<13)^(W<<3|Y>>>29)^W>>>6,Y=(Y>>>19|W<<13)^(Y<<3|W>>>29)^(Y>>>6|W<<26),W=c[K-7],W.high),J=c[K-16],Q=J.high;J=J.low,W=X+W.low,U=U+Z+(W>>>0<X>>>0?1:0),W=W+Y,U=U+G+(W>>>0<Y>>>0?1:0),W=W+J,U=U+Q+(W>>>0<J>>>0?1:0);q.high=U,q.low=W}Z=H&L^~H&R,J=F&V^~F&B,q=M&T^M&N^T&N;var ee=z&I^z&D^I&D,te=(X=(M>>>28|z<<4)^(M<<30|z>>>2)^(M<<25|z>>>7),G=(z>>>28|M<<4)^(z<<30|M>>>2)^(z<<25|M>>>7),Y=o[K],Y.high),ie=Y.low;Y=$+((F>>>14|H<<18)^(F>>>18|H<<14)^(F<<23|H>>>9)),Q=j+((H>>>14|F<<18)^(H>>>18|F<<14)^(H<<23|F>>>9))+(Y>>>0<$>>>0?1:0),Y=Y+J,Q=Q+Z+(Y>>>0<J>>>0?1:0),Y=Y+ie,Q=Q+te+(Y>>>0<ie>>>0?1:0),Y=Y+W,Q=Q+U+(Y>>>0<W>>>0?1:0),W=G+ee,q=X+q+(W>>>0<G>>>0?1:0),j=R,$=B,R=L,B=V,L=H,V=F,F=O+Y|0,H=P+Q+(F>>>0<O>>>0?1:0)|0,P=N,O=D,N=T,D=I,T=M,I=z,z=Y+W|0,M=Q+q+(z>>>0<Y>>>0?1:0)|0}f=n.low=f+z,n.high=d+M+(f>>>0<z>>>0?1:0),m=r.low=m+I,r.high=p+T+(m>>>0<I>>>0?1:0),g=a.low=g+D,a.high=v+N+(g>>>0<D>>>0?1:0),b=s.low=b+O,s.high=y+P+(b>>>0<O>>>0?1:0),S=l.low=S+F,l.high=C+H+(S>>>0<F>>>0?1:0),w=u.low=w+V,u.high=x+L+(w>>>0<V>>>0?1:0),A=h.low=A+B,h.high=_+R+(A>>>0<B>>>0?1:0),k=i.low=k+$,i.high=E+j+(k>>>0<$>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),t[31+(n+128>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=i._createHelper(n),t.HmacSHA512=i._createHmacHelper(n)}(),function(){var e=a,t=e.x64,i=t.Word,n=t.WordArray,r=(t=e.algo,t.SHA512);t=t.SHA384=r.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var e=r._doFinalize.call(this);return e.sigBytes-=16,e}});e.SHA384=r._createHelper(t),e.HmacSHA384=r._createHmacHelper(t)}(),function(){var e=a,t=e.lib,i=t.WordArray,n=t.Hasher,r=(t=e.algo,i.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])),s=i.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]),o=i.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]),c=i.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]),l=i.create([0,1518500249,1859775393,2400959708,2840853838]),u=i.create([1352829926,1548603684,1836072691,2053994217,0]);t=t.RIPEMD160=n.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;16>i;i++){var n=t+i,a=e[n];e[n]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}n=this._hash.words,a=l.words;var h,d,f,p,m,v,g,y,b,C,S=u.words,x=r.words,w=s.words,_=o.words,A=c.words;v=h=n[0],g=d=n[1],y=f=n[2],b=p=n[3],C=m=n[4];var E;for(i=0;80>i;i+=1)E=h+e[t+x[i]]|0,E=16>i?E+((d^f^p)+a[0]):32>i?E+((d&f|~d&p)+a[1]):48>i?E+(((d|~f)^p)+a[2]):64>i?E+((d&p|f&~p)+a[3]):E+((d^(f|~p))+a[4]),E|=0,E=E<<_[i]|E>>>32-_[i],E=E+m|0,h=m,m=p,p=f<<10|f>>>22,f=d,d=E,E=v+e[t+w[i]]|0,E=16>i?E+((g^(y|~b))+S[0]):32>i?E+((g&b|y&~b)+S[1]):48>i?E+(((g|~y)^b)+S[2]):64>i?E+((g&y|~g&b)+S[3]):E+((g^y^b)+S[4]),E|=0,E=E<<A[i]|E>>>32-A[i],E=E+C|0,v=C,C=b,b=y<<10|y>>>22,y=g,g=E;E=n[1]+f+b|0,n[1]=n[2]+p+C|0,n[2]=n[3]+m+v|0,n[3]=n[4]+h+g|0,n[4]=n[0]+d+y|0,n[0]=E},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,n=8*e.sigBytes;for(t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process(),e=this._hash,t=e.words,i=0;5>i;i++)n=t[i],t[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.RIPEMD160=n._createHelper(t),e.HmacRIPEMD160=n._createHmacHelper(t)}(Math),function(){var e=a,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,i){e=this._hasher=new e.init,"string"==typeof i&&(i=t.parse(i));var n=e.blockSize,r=4*n;i.sigBytes>r&&(i=e.finalize(i)),i.clamp();for(var a=this._oKey=i.clone(),s=this._iKey=i.clone(),o=a.words,c=s.words,l=0;l<n;l++)o[l]^=1549556828,c[l]^=909522486;a.sigBytes=s.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher;return e=t.finalize(e),t.reset(),t.finalize(this._oKey.clone().concat(e))}})}(),function(){var e=a,t=e.lib,i=t.Base,n=t.WordArray,r=(t=e.algo,t.HMAC),s=t.PBKDF2=i.extend({cfg:i.extend({keySize:4,hasher:t.SHA1,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){var i=this.cfg,a=r.create(i.hasher,e),s=n.create(),o=n.create([1]),c=s.words,l=o.words,u=i.keySize;for(i=i.iterations;c.length<u;){var h=a.update(t).finalize(o);a.reset();for(var d=h.words,f=d.length,p=h,m=1;m<i;m++){p=a.finalize(p),a.reset();for(var v=p.words,g=0;g<f;g++)d[g]^=v[g]}s.concat(h),l[0]++}return s.sigBytes=4*u,s}});e.PBKDF2=function(e,t,i){return s.create(i).compute(e,t)}}();
-
-var s,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c="=";function l(e){var t,i,n="";for(t=0;t+3<=e.length;t+=3)i=parseInt(e.substring(t,t+3),16),n+=o.charAt(i>>6)+o.charAt(63&i);if(t+1==e.length?(i=parseInt(e.substring(t,t+1),16),n+=o.charAt(i<<2)):t+2==e.length&&(i=parseInt(e.substring(t,t+2),16),n+=o.charAt(i>>2)+o.charAt((3&i)<<4)),c)while((3&n.length)>0)n+=c;return n}function u(e){var t,i,n,r="",a=0;for(t=0;t<e.length;++t){if(e.charAt(t)==c)break;n=o.indexOf(e.charAt(t)),n<0||(0==a?(r+=_(n>>2),i=3&n,a=1):1==a?(r+=_(i<<2|n>>4),i=15&n,a=2):2==a?(r+=_(i),r+=_(n>>2),i=3&n,a=3):(r+=_(i<<2|n>>4),r+=_(15&n),a=0))}return 1==a&&(r+=_(i<<2)),r}function h(e){var t,i=u(e),n=new Array;for(t=0;2*t<i.length;++t)n[t]=parseInt(i.substring(2*t,2*t+2),16);return n}var d=0xdeadbeefcafe,f=15715070==(16777215&d);function p(e,t,i){null!=e&&("number"==typeof e?this.fromNumber(e,t,i):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function m(){return new p(null)}function v(e,t,i,n,r,a){while(--a>=0){var s=t*this[e++]+i[n]+r;r=Math.floor(s/67108864),i[n++]=67108863&s}return r}function g(e,t,i,n,r,a){var s=32767&t,o=t>>15;while(--a>=0){var c=32767&this[e],l=this[e++]>>15,u=o*c+l*s;c=s*c+((32767&u)<<15)+i[n]+(1073741823&r),r=(c>>>30)+(u>>>15)+o*l+(r>>>30),i[n++]=1073741823&c}return r}function y(e,t,i,n,r,a){var s=16383&t,o=t>>14;while(--a>=0){var c=16383&this[e],l=this[e++]>>14,u=o*c+l*s;c=s*c+((16383&u)<<14)+i[n]+r,r=(c>>28)+(u>>14)+o*l,i[n++]=268435455&c}return r}f&&"Microsoft Internet Explorer"==i.appName?(p.prototype.am=g,s=30):f&&"Netscape"!=i.appName?(p.prototype.am=v,s=26):(p.prototype.am=y,s=28),p.prototype.DB=s,p.prototype.DM=(1<<s)-1,p.prototype.DV=1<<s;var b=52;p.prototype.FV=Math.pow(2,b),p.prototype.F1=b-s,p.prototype.F2=2*s-b;var C,S,x="0123456789abcdefghijklmnopqrstuvwxyz",w=new Array;for(C="0".charCodeAt(0),S=0;S<=9;++S)w[C++]=S;for(C="a".charCodeAt(0),S=10;S<36;++S)w[C++]=S;for(C="A".charCodeAt(0),S=10;S<36;++S)w[C++]=S;function _(e){return x.charAt(e)}function A(e,t){var i=w[e.charCodeAt(t)];return null==i?-1:i}function E(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function k(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function M(e){var t=m();return t.fromInt(e),t}function z(e,t){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;var n=e.length,r=!1,a=0;while(--n>=0){var s=8==i?255&e[n]:A(e,n);s<0?"-"==e.charAt(n)&&(r=!0):(r=!1,0==a?this[this.t++]=s:a+i>this.DB?(this[this.t-1]|=(s&(1<<this.DB-a)-1)<<a,this[this.t++]=s>>this.DB-a):this[this.t-1]|=s<<a,a+=i,a>=this.DB&&(a-=this.DB))}8==i&&0!=(128&e[0])&&(this.s=-1,a>0&&(this[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),r&&p.ZERO.subTo(this,this)}function T(){var e=this.s&this.DM;while(this.t>0&&this[this.t-1]==e)--this.t}function I(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var i,n=(1<<t)-1,r=!1,a="",s=this.t,o=this.DB-s*this.DB%t;if(s-- >0){o<this.DB&&(i=this[s]>>o)>0&&(r=!0,a=_(i));while(s>=0)o<t?(i=(this[s]&(1<<o)-1)<<t-o,i|=this[--s]>>(o+=this.DB-t)):(i=this[s]>>(o-=t)&n,o<=0&&(o+=this.DB,--s)),i>0&&(r=!0),r&&(a+=_(i))}return r?a:"0"}function N(){var e=m();return p.ZERO.subTo(this,e),e}function D(){return this.s<0?this.negate():this}function P(e){var t=this.s-e.s;if(0!=t)return t;var i=this.t;if(t=i-e.t,0!=t)return this.s<0?-t:t;while(--i>=0)if(0!=(t=this[i]-e[i]))return t;return 0}function O(e){var t,i=1;return 0!=(t=e>>>16)&&(e=t,i+=16),0!=(t=e>>8)&&(e=t,i+=8),0!=(t=e>>4)&&(e=t,i+=4),0!=(t=e>>2)&&(e=t,i+=2),0!=(t=e>>1)&&(e=t,i+=1),i}function H(){return this.t<=0?0:this.DB*(this.t-1)+O(this[this.t-1]^this.s&this.DM)}function F(e,t){var i;for(i=this.t-1;i>=0;--i)t[i+e]=this[i];for(i=e-1;i>=0;--i)t[i]=0;t.t=this.t+e,t.s=this.s}function L(e,t){for(var i=e;i<this.t;++i)t[i-e]=this[i];t.t=Math.max(this.t-e,0),t.s=this.s}function V(e,t){var i,n=e%this.DB,r=this.DB-n,a=(1<<r)-1,s=Math.floor(e/this.DB),o=this.s<<n&this.DM;for(i=this.t-1;i>=0;--i)t[i+s+1]=this[i]>>r|o,o=(this[i]&a)<<n;for(i=s-1;i>=0;--i)t[i]=0;t[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function R(e,t){t.s=this.s;var i=Math.floor(e/this.DB);if(i>=this.t)t.t=0;else{var n=e%this.DB,r=this.DB-n,a=(1<<n)-1;t[0]=this[i]>>n;for(var s=i+1;s<this.t;++s)t[s-i-1]|=(this[s]&a)<<r,t[s-i]=this[s]>>n;n>0&&(t[this.t-i-1]|=(this.s&a)<<r),t.t=this.t-i,t.clamp()}}function B(e,t){var i=0,n=0,r=Math.min(e.t,this.t);while(i<r)n+=this[i]-e[i],t[i++]=n&this.DM,n>>=this.DB;if(e.t<this.t){n-=e.s;while(i<this.t)n+=this[i],t[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{n+=this.s;while(i<e.t)n-=e[i],t[i++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[i++]=this.DV+n:n>0&&(t[i++]=n),t.t=i,t.clamp()}function j(e,t){var i=this.abs(),n=e.abs(),r=i.t;t.t=r+n.t;while(--r>=0)t[r]=0;for(r=0;r<n.t;++r)t[r+i.t]=i.am(0,n[r],t,r,0,i.t);t.s=0,t.clamp(),this.s!=e.s&&p.ZERO.subTo(t,t)}function $(e){var t=this.abs(),i=e.t=2*t.t;while(--i>=0)e[i]=0;for(i=0;i<t.t-1;++i){var n=t.am(i,t[i],e,2*i,0,1);(e[i+t.t]+=t.am(i+1,2*t[i],e,2*i+1,n,t.t-i-1))>=t.DV&&(e[i+t.t]-=t.DV,e[i+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(i,t[i],e,2*i,0,1)),e.s=0,e.clamp()}function K(e,t,i){var n=e.abs();if(!(n.t<=0)){var r=this.abs();if(r.t<n.t)return null!=t&&t.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=m());var a=m(),s=this.s,o=e.s,c=this.DB-O(n[n.t-1]);c>0?(n.lShiftTo(c,a),r.lShiftTo(c,i)):(n.copyTo(a),r.copyTo(i));var l=a.t,u=a[l-1];if(0!=u){var h=u*(1<<this.F1)+(l>1?a[l-2]>>this.F2:0),d=this.FV/h,f=(1<<this.F1)/h,v=1<<this.F2,g=i.t,y=g-l,b=null==t?m():t;a.dlShiftTo(y,b),i.compareTo(b)>=0&&(i[i.t++]=1,i.subTo(b,i)),p.ONE.dlShiftTo(l,b),b.subTo(a,a);while(a.t<l)a[a.t++]=0;while(--y>=0){var C=i[--g]==u?this.DM:Math.floor(i[g]*d+(i[g-1]+v)*f);if((i[g]+=a.am(0,C,i,y,0,l))<C){a.dlShiftTo(y,b),i.subTo(b,i);while(i[g]<--C)i.subTo(b,i)}}null!=t&&(i.drShiftTo(l,t),s!=o&&p.ZERO.subTo(t,t)),i.t=l,i.clamp(),c>0&&i.rShiftTo(c,i),s<0&&p.ZERO.subTo(i,i)}}}function q(e){var t=m();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(p.ZERO)>0&&e.subTo(t,t),t}function U(e){this.m=e}function W(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function X(e){return e}function G(e){e.divRemTo(this.m,null,e)}function Y(e,t,i){e.multiplyTo(t,i),this.reduce(i)}function Z(e,t){e.squareTo(t),this.reduce(t)}function J(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return t=t*(2-(15&e)*t)&15,t=t*(2-(255&e)*t)&255,t=t*(2-((65535&e)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Q(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function ee(e){var t=m();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(p.ZERO)>0&&this.m.subTo(t,t),t}function te(e){var t=m();return e.copyTo(t),this.reduce(t),t}function ie(e){while(e.t<=this.mt2)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var i=32767&e[t],n=i*this.mpl+((i*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;i=t+this.m.t,e[i]+=this.m.am(0,n,e,t,0,this.m.t);while(e[i]>=e.DV)e[i]-=e.DV,e[++i]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function ne(e,t){e.squareTo(t),this.reduce(t)}function re(e,t,i){e.multiplyTo(t,i),this.reduce(i)}function ae(){return 0==(this.t>0?1&this[0]:this.s)}function se(e,t){if(e>4294967295||e<1)return p.ONE;var i=m(),n=m(),r=t.convert(this),a=O(e)-1;r.copyTo(i);while(--a>=0)if(t.sqrTo(i,n),(e&1<<a)>0)t.mulTo(n,r,i);else{var s=i;i=n,n=s}return t.revert(i)}function oe(e,t){var i;return i=e<256||t.isEven()?new U(t):new Q(t),this.exp(e,i)}
-
-function ce(){var e=m();return this.copyTo(e),e}function le(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function ue(){return 0==this.t?this.s:this[0]<<24>>24}function he(){return 0==this.t?this.s:this[0]<<16>>16}function de(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function fe(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function pe(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),i=Math.pow(e,t),n=M(i),r=m(),a=m(),s="";this.divRemTo(n,r,a);while(r.signum()>0)s=(i+a.intValue()).toString(e).substr(1)+s,r.divRemTo(n,r,a);return a.intValue().toString(e)+s}function me(e,t){this.fromInt(0),null==t&&(t=10);for(var i=this.chunkSize(t),n=Math.pow(t,i),r=!1,a=0,s=0,o=0;o<e.length;++o){var c=A(e,o);c<0?"-"==e.charAt(o)&&0==this.signum()&&(r=!0):(s=t*s+c,++a>=i&&(this.dMultiply(n),this.dAddOffset(s,0),a=0,s=0))}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(s,0)),r&&p.ZERO.subTo(this,this)}function ve(e,t,i){if("number"==typeof t)if(e<2)this.fromInt(1);else{this.fromNumber(e,i),this.testBit(e-1)||this.bitwiseTo(p.ONE.shiftLeft(e-1),_e,this),this.isEven()&&this.dAddOffset(1,0);while(!this.isProbablePrime(t))this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(p.ONE.shiftLeft(e-1),this)}else{var n=new Array,r=7&e;n.length=1+(e>>3),t.nextBytes(n),r>0?n[0]&=(1<<r)-1:n[0]=0,this.fromString(n,256)}}function ge(){var e=this.t,t=new Array;t[0]=this.s;var i,n=this.DB-e*this.DB%8,r=0;if(e-- >0){n<this.DB&&(i=this[e]>>n)!=(this.s&this.DM)>>n&&(t[r++]=i|this.s<<this.DB-n);while(e>=0)n<8?(i=(this[e]&(1<<n)-1)<<8-n,i|=this[--e]>>(n+=this.DB-8)):(i=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&i)&&(i|=-256),0==r&&(128&this.s)!=(128&i)&&++r,(r>0||i!=this.s)&&(t[r++]=i)}return t}function ye(e){return 0==this.compareTo(e)}function be(e){return this.compareTo(e)<0?this:e}function Ce(e){return this.compareTo(e)>0?this:e}function Se(e,t,i){var n,r,a=Math.min(e.t,this.t);for(n=0;n<a;++n)i[n]=t(this[n],e[n]);if(e.t<this.t){for(r=e.s&this.DM,n=a;n<this.t;++n)i[n]=t(this[n],r);i.t=this.t}else{for(r=this.s&this.DM,n=a;n<e.t;++n)i[n]=t(r,e[n]);i.t=e.t}i.s=t(this.s,e.s),i.clamp()}function xe(e,t){return e&t}function we(e){var t=m();return this.bitwiseTo(e,xe,t),t}function _e(e,t){return e|t}function Ae(e){var t=m();return this.bitwiseTo(e,_e,t),t}function Ee(e,t){return e^t}function ke(e){var t=m();return this.bitwiseTo(e,Ee,t),t}function Me(e,t){return e&~t}function ze(e){var t=m();return this.bitwiseTo(e,Me,t),t}function Te(){for(var e=m(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e}function Ie(e){var t=m();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Ne(e){var t=m();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function De(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function Pe(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+De(this[e]);return this.s<0?this.t*this.DB:-1}function Oe(e){var t=0;while(0!=e)e&=e-1,++t;return t}function He(){for(var e=0,t=this.s&this.DM,i=0;i<this.t;++i)e+=Oe(this[i]^t);return e}function Fe(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this[t]&1<<e%this.DB)}function Le(e,t){var i=p.ONE.shiftLeft(e);return this.bitwiseTo(i,t,i),i}function Ve(e){return this.changeBit(e,_e)}function Re(e){return this.changeBit(e,Me)}function Be(e){return this.changeBit(e,Ee)}function je(e,t){var i=0,n=0,r=Math.min(e.t,this.t);while(i<r)n+=this[i]+e[i],t[i++]=n&this.DM,n>>=this.DB;if(e.t<this.t){n+=e.s;while(i<this.t)n+=this[i],t[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{n+=this.s;while(i<e.t)n+=e[i],t[i++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[i++]=n:n<-1&&(t[i++]=this.DV+n),t.t=i,t.clamp()}function $e(e){var t=m();return this.addTo(e,t),t}function Ke(e){var t=m();return this.subTo(e,t),t}function qe(e){var t=m();return this.multiplyTo(e,t),t}function Ue(){var e=m();return this.squareTo(e),e}function We(e){var t=m();return this.divRemTo(e,t,null),t}function Xe(e){var t=m();return this.divRemTo(e,null,t),t}function Ge(e){var t=m(),i=m();return this.divRemTo(e,t,i),new Array(t,i)}function Ye(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Ze(e,t){if(0!=e){while(this.t<=t)this[this.t++]=0;this[t]+=e;while(this[t]>=this.DV)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function Je(){}function Qe(e){return e}function et(e,t,i){e.multiplyTo(t,i)}function tt(e,t){e.squareTo(t)}function it(e){return this.exp(e,new Je)}function nt(e,t,i){var n,r=Math.min(this.t+e.t,t);i.s=0,i.t=r;while(r>0)i[--r]=0;for(n=i.t-this.t;r<n;++r)i[r+this.t]=this.am(0,e[r],i,r,0,this.t);for(n=Math.min(e.t,t);r<n;++r)this.am(0,e[r],i,r,0,t-r);i.clamp()}function rt(e,t,i){--t;var n=i.t=this.t+e.t-t;i.s=0;while(--n>=0)i[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)i[this.t+n-t]=this.am(t-n,e[n],i,0,0,this.t+n-t);i.clamp(),i.drShiftTo(1,i)}function at(e){this.r2=m(),this.q3=m(),p.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function st(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=m();return e.copyTo(t),this.reduce(t),t}function ot(e){return e}function ct(e){e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(e.compareTo(this.r2)<0)e.dAddOffset(1,this.m.t+1);e.subTo(this.r2,e);while(e.compareTo(this.m)>=0)e.subTo(this.m,e)}function lt(e,t){e.squareTo(t),this.reduce(t)}function ut(e,t,i){e.multiplyTo(t,i),this.reduce(i)}function ht(e,t){var i,n,r=e.bitLength(),a=M(1);if(r<=0)return a;i=r<18?1:r<48?3:r<144?4:r<768?5:6,n=r<8?new U(t):t.isEven()?new at(t):new Q(t);var s=new Array,o=3,c=i-1,l=(1<<i)-1;if(s[1]=n.convert(this),i>1){var u=m();n.sqrTo(s[1],u);while(o<=l)s[o]=m(),n.mulTo(u,s[o-2],s[o]),o+=2}var h,d,f=e.t-1,p=!0,v=m();r=O(e[f])-1;while(f>=0){r>=c?h=e[f]>>r-c&l:(h=(e[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=e[f-1]>>this.DB+r-c)),o=i;while(0==(1&h))h>>=1,--o;if((r-=o)<0&&(r+=this.DB,--f),p)s[h].copyTo(a),p=!1;else{while(o>1)n.sqrTo(a,v),n.sqrTo(v,a),o-=2;o>0?n.sqrTo(a,v):(d=a,a=v,v=d),n.mulTo(v,s[h],a)}while(f>=0&&0==(e[f]&1<<r))n.sqrTo(a,v),d=a,a=v,v=d,--r<0&&(r=this.DB-1,--f)}return n.revert(a)}function dt(e){var t=this.s<0?this.negate():this.clone(),i=e.s<0?e.negate():e.clone();if(t.compareTo(i)<0){var n=t;t=i,i=n}var r=t.getLowestSetBit(),a=i.getLowestSetBit();if(a<0)return t;r<a&&(a=r),a>0&&(t.rShiftTo(a,t),i.rShiftTo(a,i));while(t.signum()>0)(r=t.getLowestSetBit())>0&&t.rShiftTo(r,t),(r=i.getLowestSetBit())>0&&i.rShiftTo(r,i),t.compareTo(i)>=0?(t.subTo(i,t),t.rShiftTo(1,t)):(i.subTo(t,i),i.rShiftTo(1,i));return a>0&&i.lShiftTo(a,i),i}function ft(e){if(e<=0)return 0;var t=this.DV%e,i=this.s<0?e-1:0;if(this.t>0)if(0==t)i=this[0]%e;else for(var n=this.t-1;n>=0;--n)i=(t*i+this[n])%e;return i}function pt(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return p.ZERO;var i=e.clone(),n=this.clone(),r=M(1),a=M(0),s=M(0),o=M(1);while(0!=i.signum()){while(i.isEven())i.rShiftTo(1,i),t?(r.isEven()&&a.isEven()||(r.addTo(this,r),a.subTo(e,a)),r.rShiftTo(1,r)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);while(n.isEven())n.rShiftTo(1,n),t?(s.isEven()&&o.isEven()||(s.addTo(this,s),o.subTo(e,o)),s.rShiftTo(1,s)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);i.compareTo(n)>=0?(i.subTo(n,i),t&&r.subTo(s,r),a.subTo(o,a)):(n.subTo(i,n),t&&s.subTo(r,s),o.subTo(a,o))}return 0!=n.compareTo(p.ONE)?p.ZERO:o.compareTo(e)>=0?o.subtract(e):o.signum()<0?(o.addTo(e,o),o.signum()<0?o.add(e):o):o}U.prototype.convert=W,U.prototype.revert=X,U.prototype.reduce=G,U.prototype.mulTo=Y,U.prototype.sqrTo=Z,Q.prototype.convert=ee,Q.prototype.revert=te,Q.prototype.reduce=ie,Q.prototype.mulTo=re,Q.prototype.sqrTo=ne,p.prototype.copyTo=E,p.prototype.fromInt=k,p.prototype.fromString=z,p.prototype.clamp=T,p.prototype.dlShiftTo=F,p.prototype.drShiftTo=L,p.prototype.lShiftTo=V,p.prototype.rShiftTo=R,p.prototype.subTo=B,p.prototype.multiplyTo=j,p.prototype.squareTo=$,p.prototype.divRemTo=K,p.prototype.invDigit=J,p.prototype.isEven=ae,p.prototype.exp=se,p.prototype.toString=I,p.prototype.negate=N,p.prototype.abs=D,p.prototype.compareTo=P,p.prototype.bitLength=H,p.prototype.mod=q,p.prototype.modPowInt=oe,p.ZERO=M(0),p.ONE=M(1),Je.prototype.convert=Qe,Je.prototype.revert=Qe,Je.prototype.mulTo=et,Je.prototype.sqrTo=tt,at.prototype.convert=st,at.prototype.revert=ot,at.prototype.reduce=ct,at.prototype.mulTo=ut,at.prototype.sqrTo=lt;var mt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],vt=(1<<26)/mt[mt.length-1];function gt(e){var t,i=this.abs();if(1==i.t&&i[0]<=mt[mt.length-1]){for(t=0;t<mt.length;++t)if(i[0]==mt[t])return!0;return!1}if(i.isEven())return!1;t=1;while(t<mt.length){var n=mt[t],r=t+1;while(r<mt.length&&n<vt)n*=mt[r++];n=i.modInt(n);while(t<r)if(n%mt[t++]==0)return!1}return i.millerRabin(e)}function yt(e){var t=this.subtract(p.ONE),i=t.getLowestSetBit();if(i<=0)return!1;var n=t.shiftRight(i);e=e+1>>1,e>mt.length&&(e=mt.length);for(var r=m(),a=0;a<e;++a){r.fromInt(mt[Math.floor(Math.random()*mt.length)]);var s=r.modPow(n,this);if(0!=s.compareTo(p.ONE)&&0!=s.compareTo(t)){var o=1;while(o++<i&&0!=s.compareTo(t))if(s=s.modPowInt(2,this),0==s.compareTo(p.ONE))return!1;if(0!=s.compareTo(t))return!1}}return!0}
-
-function bt(){this.i=0,this.j=0,this.S=new Array}function Ct(e){var t,i,n;for(t=0;t<256;++t)this.S[t]=t;for(i=0,t=0;t<256;++t)i=i+this.S[t]+e[t%e.length]&255,n=this.S[t],this.S[t]=this.S[i],this.S[i]=n;this.i=0,this.j=0}function St(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]}function xt(){return new bt}p.prototype.chunkSize=de,p.prototype.toRadix=pe,p.prototype.fromRadix=me,p.prototype.fromNumber=ve,p.prototype.bitwiseTo=Se,p.prototype.changeBit=Le,p.prototype.addTo=je,p.prototype.dMultiply=Ye,p.prototype.dAddOffset=Ze,p.prototype.multiplyLowerTo=nt,p.prototype.multiplyUpperTo=rt,p.prototype.modInt=ft,p.prototype.millerRabin=yt,p.prototype.clone=ce,p.prototype.intValue=le,p.prototype.byteValue=ue,p.prototype.shortValue=he,p.prototype.signum=fe,p.prototype.toByteArray=ge,p.prototype.equals=ye,p.prototype.min=be,p.prototype.max=Ce,p.prototype.and=we,p.prototype.or=Ae,p.prototype.xor=ke,p.prototype.andNot=ze,p.prototype.not=Te,p.prototype.shiftLeft=Ie,p.prototype.shiftRight=Ne,p.prototype.getLowestSetBit=Pe,p.prototype.bitCount=He,p.prototype.testBit=Fe,p.prototype.setBit=Ve,p.prototype.clearBit=Re,p.prototype.flipBit=Be,p.prototype.add=$e,p.prototype.subtract=Ke,p.prototype.multiply=qe,p.prototype.divide=We,p.prototype.remainder=Xe,p.prototype.divideAndRemainder=Ge,p.prototype.modPow=ht,p.prototype.modInverse=pt,p.prototype.pow=it,p.prototype.gcd=dt,p.prototype.isProbablePrime=gt,p.prototype.square=Ue,bt.prototype.init=Ct,bt.prototype.next=St;var wt,_t,At,Et=256;
-function kt(e){_t[At++]^=255&e,_t[At++]^=e>>8&255,_t[At++]^=e>>16&255,_t[At++]^=e>>24&255,At>=Et&&(At-=Et)}function Mt(){kt((new Date).getTime())}if(null==_t){var zt;if(_t=new Array,At=0,void 0!==n&&(void 0!==n.crypto||void 0!==n.msCrypto)){var Tt=n.crypto||n.msCrypto;if(Tt.getRandomValues){var It=new Uint8Array(32);for(Tt.getRandomValues(It),zt=0;zt<32;++zt)_t[At++]=It[zt]}else if("Netscape"==i.appName&&i.appVersion<"5"){var Nt=n.crypto.random(32);for(zt=0;zt<Nt.length;++zt)_t[At++]=255&Nt.charCodeAt(zt)}}while(At<Et)zt=Math.floor(65536*Math.random()),_t[At++]=zt>>>8,_t[At++]=255&zt;At=0,Mt()}function Dt(){if(null==wt){for(Mt(),wt=xt(),wt.init(_t),At=0;At<_t.length;++At)_t[At]=0;At=0}return wt.next()}function Pt(e){var t;for(t=0;t<e.length;++t)e[t]=Dt()}function Ot(){}
-
-function Ht(e,t){return new p(e,t)}function Ft(e,t){if(t<e.length+11)throw"Message too long for RSA";var i=new Array,n=e.length-1;while(n>=0&&t>0){var r=e.charCodeAt(n--);r<128?i[--t]=r:r>127&&r<2048?(i[--t]=63&r|128,i[--t]=r>>6|192):(i[--t]=63&r|128,i[--t]=r>>6&63|128,i[--t]=r>>12|224)}i[--t]=0;var a=new Ot,s=new Array;while(t>2){s[0]=0;while(0==s[0])a.nextBytes(s);i[--t]=s[0]}return i[--t]=2,i[--t]=0,new p(i)}function Lt(e,t,i){var n="",r=0;while(n.length<t)n+=i(String.fromCharCode.apply(String,e.concat([(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r]))),r+=1;return n}function Vt(e,t,i,n){var r=Mi.crypto.MessageDigest,a=Mi.crypto.Util,s=null;if(i||(i="sha1"),"string"===typeof i&&(s=r.getCanonicalAlgName(i),n=r.getHashLength(s),i=function(e){return Wi(a.hashHex(Xi(e),s))}),e.length+2*n+2>t)throw"Message too long for RSA";var o,c="";for(o=0;o<t-e.length-2*n-2;o+=1)c+="\0";var l=i("")+c+""+e,u=new Array(n);(new Ot).nextBytes(u);var h=Lt(u,l.length,i),d=[];for(o=0;o<l.length;o+=1)d[o]=l.charCodeAt(o)^h.charCodeAt(o);var f=Lt(d,u.length,i),m=[0];for(o=0;o<u.length;o+=1)m[o+1]=u[o]^f.charCodeAt(o);return new p(m.concat(d))}function Rt(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function Bt(e,t){if(this.isPublic=!0,this.isPrivate=!1,"string"!==typeof e)this.n=e,this.e=t;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA public key";this.n=Ht(e,16),this.e=parseInt(t,16)}}function jt(e){return e.modPowInt(this.e,this.n)}function $t(e){var t=Ft(e,this.n.bitLength()+7>>3);if(null==t)return null;var i=this.doPublic(t);if(null==i)return null;var n=i.toString(16);return 0==(1&n.length)?n:"0"+n}function Kt(e,t,i){var n=Vt(e,this.n.bitLength()+7>>3,t,i);if(null==n)return null;var r=this.doPublic(n);if(null==r)return null;var a=r.toString(16);return 0==(1&a.length)?a:"0"+a}
-
-function qt(e,t){var i=e.toByteArray(),n=0;while(n<i.length&&0==i[n])++n;if(i.length-n!=t-1||2!=i[n])return null;++n;while(0!=i[n])if(++n>=i.length)return null;var r="";while(++n<i.length){var a=255&i[n];a<128?r+=String.fromCharCode(a):a>191&&a<224?(r+=String.fromCharCode((31&a)<<6|63&i[n+1]),++n):(r+=String.fromCharCode((15&a)<<12|(63&i[n+1])<<6|63&i[n+2]),n+=2)}return r}function Ut(e,t,i){var n="",r=0;while(n.length<t)n+=i(e+String.fromCharCode.apply(String,[(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r])),r+=1;return n}function Wt(e,t,i,n){var r=Mi.crypto.MessageDigest,a=Mi.crypto.Util,s=null;for(i||(i="sha1"),"string"===typeof i&&(s=r.getCanonicalAlgName(i),n=r.getHashLength(s),i=function(e){return Wi(a.hashHex(Xi(e),s))}),e=e.toByteArray(),o=0;o<e.length;o+=1)e[o]&=255;while(e.length<t)e.unshift(0);if(e=String.fromCharCode.apply(String,e),e.length<2*n+2)throw"Cipher too short";var o,c=e.substr(1,n),l=e.substr(n+1),u=Ut(l,n,i),h=[];for(o=0;o<c.length;o+=1)h[o]=c.charCodeAt(o)^u.charCodeAt(o);var d=Ut(String.fromCharCode.apply(String,h),e.length-n,i),f=[];for(o=0;o<l.length;o+=1)f[o]=l.charCodeAt(o)^d.charCodeAt(o);if(f=String.fromCharCode.apply(String,f),f.substr(0,n)!==i(""))throw"Hash mismatch";f=f.substr(n);var p=f.indexOf(""),m=-1!=p?f.substr(0,p).lastIndexOf("\0"):-1;if(m+1!=p)throw"Malformed data";return f.substr(p+1)}function Xt(e,t,i){if(this.isPrivate=!0,"string"!==typeof e)this.n=e,this.e=t,this.d=i;else{if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA private key";this.n=Ht(e,16),this.e=parseInt(t,16),this.d=Ht(i,16)}}function Gt(e,t,i,n,r,a,s,o){if(this.isPrivate=!0,this.isPublic=!1,null==e)throw"RSASetPrivateEx N == null";if(null==t)throw"RSASetPrivateEx E == null";if(0==e.length)throw"RSASetPrivateEx N.length == 0";if(0==t.length)throw"RSASetPrivateEx E.length == 0";if(!(null!=e&&null!=t&&e.length>0&&t.length>0))throw"Invalid RSA private key in RSASetPrivateEx";this.n=Ht(e,16),this.e=parseInt(t,16),this.d=Ht(i,16),this.p=Ht(n,16),this.q=Ht(r,16),this.dmp1=Ht(a,16),this.dmq1=Ht(s,16),this.coeff=Ht(o,16)}function Yt(e,t){var i=new Ot,n=e>>1;this.e=parseInt(t,16);for(var r=new p(t,16);;){for(;;)if(this.p=new p(e-n,1,i),0==this.p.subtract(p.ONE).gcd(r).compareTo(p.ONE)&&this.p.isProbablePrime(10))break;for(;;)if(this.q=new p(n,1,i),0==this.q.subtract(p.ONE).gcd(r).compareTo(p.ONE)&&this.q.isProbablePrime(10))break;if(this.p.compareTo(this.q)<=0){var a=this.p;this.p=this.q,this.q=a}var s=this.p.subtract(p.ONE),o=this.q.subtract(p.ONE),c=s.multiply(o);if(0==c.gcd(r).compareTo(p.ONE)&&(this.n=this.p.multiply(this.q),this.n.bitLength()==e)){this.d=r.modInverse(c),this.dmp1=this.d.mod(s),this.dmq1=this.d.mod(o),this.coeff=this.q.modInverse(this.p);break}}this.isPrivate=!0}function Zt(e){if(null==this.p||null==this.q)return e.modPow(this.d,this.n);var t=e.mod(this.p).modPow(this.dmp1,this.p),i=e.mod(this.q).modPow(this.dmq1,this.q);while(t.compareTo(i)<0)t=t.add(this.p);return t.subtract(i).multiply(this.coeff).mod(this.p).multiply(this.q).add(i)}function Jt(e){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var t=Ht(e,16),i=this.doPrivate(t);return null==i?null:qt(i,this.n.bitLength()+7>>3)}function Qt(e,t,i){if(e.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var n=Ht(e,16),r=this.doPrivate(n);return null==r?null:Wt(r,this.n.bitLength()+7>>3,t,i)}
-
-function ei(e,t){this.x=t,this.q=e}function ti(e){return e==this||this.q.equals(e.q)&&this.x.equals(e.x)}function ii(){return this.x}function ni(){return new ei(this.q,this.x.negate().mod(this.q))}function ri(e){return new ei(this.q,this.x.add(e.toBigInteger()).mod(this.q))}function ai(e){return new ei(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))}function si(e){return new ei(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))}function oi(){return new ei(this.q,this.x.square().mod(this.q))}function ci(e){return new ei(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))}function li(e,t,i,n){this.curve=e,this.x=t,this.y=i,this.z=null==n?p.ONE:n,this.zinv=null}function ui(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function hi(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}function di(e){return e==this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():(t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),!!t.equals(p.ZERO)&&(i=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q),i.equals(p.ZERO))));var t,i}function fi(){return null==this.x&&null==this.y||this.z.equals(p.ZERO)&&!this.y.toBigInteger().equals(p.ZERO)}function pi(){return new li(this.curve,this.x,this.y.negate(),this.z)}function mi(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),i=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);if(p.ZERO.equals(i))return p.ZERO.equals(t)?this.twice():this.curve.getInfinity();var n=new p("3"),r=this.x.toBigInteger(),a=this.y.toBigInteger(),s=(e.x.toBigInteger(),e.y.toBigInteger(),i.square()),o=s.multiply(i),c=r.multiply(s),l=t.square().multiply(this.z),u=l.subtract(c.shiftLeft(1)).multiply(e.z).subtract(o).multiply(i).mod(this.curve.q),h=c.multiply(n).multiply(t).subtract(a.multiply(o)).subtract(l.multiply(t)).multiply(e.z).add(t.multiply(o)).mod(this.curve.q),d=o.multiply(this.z).multiply(e.z).mod(this.curve.q);return new li(this.curve,this.curve.fromBigInteger(u),this.curve.fromBigInteger(h),d)}function vi(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=new p("3"),t=this.x.toBigInteger(),i=this.y.toBigInteger(),n=i.multiply(this.z),r=n.multiply(i).mod(this.curve.q),a=this.curve.a.toBigInteger(),s=t.square().multiply(e);p.ZERO.equals(a)||(s=s.add(this.z.square().multiply(a))),s=s.mod(this.curve.q);var o=s.square().subtract(t.shiftLeft(3).multiply(r)).shiftLeft(1).multiply(n).mod(this.curve.q),c=s.multiply(e).multiply(t).subtract(r.shiftLeft(1)).shiftLeft(2).multiply(r).subtract(s.square().multiply(s)).mod(this.curve.q),l=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new li(this.curve,this.curve.fromBigInteger(o),this.curve.fromBigInteger(c),l)}function gi(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,i=e,n=i.multiply(new p("3")),r=this.negate(),a=this,s=this.curve.q.subtract(e),o=s.multiply(new p("3")),c=new li(this.curve,this.x,this.y),l=c.negate();for(t=n.bitLength()-2;t>0;--t){a=a.twice();var u=n.testBit(t),h=i.testBit(t);u!=h&&(a=a.add(u?this:r))}for(t=o.bitLength()-2;t>0;--t){c=c.twice();var d=o.testBit(t),f=s.testBit(t);d!=f&&(c=c.add(d?c:l))}return a}function yi(e,t,i){var n;n=e.bitLength()>i.bitLength()?e.bitLength()-1:i.bitLength()-1;var r=this.curve.getInfinity(),a=this.add(t);while(n>=0)r=r.twice(),e.testBit(n)?r=i.testBit(n)?r.add(a):r.add(this):i.testBit(n)&&(r=r.add(t)),--n;return r}function bi(e,t,i){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(i),this.infinity=new li(this,null,null)}function Ci(){return this.q}function Si(){return this.a}function xi(){return this.b}function wi(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)}function _i(){return this.infinity}function Ai(e){return new ei(this.q,e)}function Ei(e){switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var t=(e.length-2)/2,i=e.substr(2,t),n=e.substr(t+2,t);return new li(this,this.fromBigInteger(new p(i,16)),this.fromBigInteger(new p(n,16)));default:return null}}Ot.prototype.nextBytes=Pt,Rt.prototype.doPublic=jt,Rt.prototype.setPublic=Bt,Rt.prototype.encrypt=$t,Rt.prototype.encryptOAEP=Kt,Rt.prototype.type="RSA",Rt.prototype.doPrivate=Zt,Rt.prototype.setPrivate=Xt,Rt.prototype.setPrivateEx=Gt,Rt.prototype.generate=Yt,Rt.prototype.decrypt=Jt,Rt.prototype.decryptOAEP=Qt,ei.prototype.equals=ti,ei.prototype.toBigInteger=ii,ei.prototype.negate=ni,ei.prototype.add=ri,ei.prototype.subtract=ai,ei.prototype.multiply=si,ei.prototype.square=oi,ei.prototype.divide=ci,li.prototype.getX=ui,li.prototype.getY=hi,li.prototype.equals=di,li.prototype.isInfinity=fi,li.prototype.negate=pi,li.prototype.add=mi,li.prototype.twice=vi,li.prototype.multiply=gi,li.prototype.multiplyTwo=yi,bi.prototype.getQ=Ci,bi.prototype.getA=Si,bi.prototype.getB=xi,bi.prototype.equals=wi,bi.prototype.getInfinity=_i,bi.prototype.fromBigInteger=Ai,bi.prototype.decodePointHex=Ei,
-
-ei.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},li.prototype.getEncoded=function(e){var t=function(e,t){var i=e.toByteArrayUnsigned();if(t<i.length)i=i.slice(i.length-t);else while(t>i.length)i.unshift(0);return i},i=this.getX().toBigInteger(),n=this.getY().toBigInteger(),r=t(i,32);return e?n.isEven()?r.unshift(2):r.unshift(3):(r.unshift(4),r=r.concat(t(n,32))),r},li.decodeFrom=function(e,t){t[0];var i=t.length-1,n=t.slice(1,1+i/2),r=t.slice(1+i/2,1+i);n.unshift(0),r.unshift(0);var a=new p(n),s=new p(r);return new li(e,e.fromBigInteger(a),e.fromBigInteger(s))},li.decodeFromHex=function(e,t){t.substr(0,2);var i=t.length-2,n=t.substr(2,i/2),r=t.substr(2+i/2,i/2),a=new p(n,16),s=new p(r,16);return new li(e,e.fromBigInteger(a),e.fromBigInteger(s))},li.prototype.add2D=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.x.equals(e.x))return this.y.equals(e.y)?this.twice():this.curve.getInfinity();var t=e.x.subtract(this.x),i=e.y.subtract(this.y),n=i.divide(t),r=n.square().subtract(this.x).subtract(e.x),a=n.multiply(this.x.subtract(r)).subtract(this.y);return new li(this.curve,r,a)},li.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=this.curve.fromBigInteger(p.valueOf(2)),t=this.curve.fromBigInteger(p.valueOf(3)),i=this.x.square().multiply(t).add(this.curve.a).divide(this.y.multiply(e)),n=i.square().subtract(this.x.multiply(e)),r=i.multiply(this.x.subtract(n)).subtract(this.y);return new li(this.curve,n,r)},li.prototype.multiply2D=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,i=e,n=i.multiply(new p("3")),r=this.negate(),a=this;for(t=n.bitLength()-2;t>0;--t){a=a.twice();var s=n.testBit(t),o=i.testBit(t);s!=o&&(a=a.add2D(s?this:r))}return a},li.prototype.isOnCurve=function(){var e=this.getX().toBigInteger(),t=this.getY().toBigInteger(),i=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),r=this.curve.getQ(),a=t.multiply(t).mod(r),s=e.multiply(e).multiply(e).add(i.multiply(e)).add(n).mod(r);return a.equals(s)},li.prototype.toString=function(){return"("+this.getX().toBigInteger().toString()+","+this.getY().toBigInteger().toString()+")"},li.prototype.validate=function(){var e=this.curve.getQ();if(this.isInfinity())throw new Error("Point is at infinity.");var t=this.getX().toBigInteger(),i=this.getY().toBigInteger();if(t.compareTo(p.ONE)<0||t.compareTo(e.subtract(p.ONE))>0)throw new Error("x coordinate out of bounds");if(i.compareTo(p.ONE)<0||i.compareTo(e.subtract(p.ONE))>0)throw new Error("y coordinate out of bounds");if(!this.isOnCurve())throw new Error("Point is not on the curve.");if(this.multiply(e).isInfinity())throw new Error("Point is not a scalar multiple of G.");return!0};
-
-var ki=function(){var e="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",t='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))',i='(?:"'+t+'*")',n=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+e+"|"+i+")","g"),r=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),a={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function s(e,t,i){return t?a[t]:String.fromCharCode(parseInt(i,16))}var o=new String(""),c="\\",l=Object.hasOwnProperty;return function(e,t){var i,a,u=e.match(n),h=u[0],d=!1;"{"===h?i={}:"["===h?i=[]:(i=[],d=!0);for(var f=[i],p=1-d,m=u.length;p<m;++p){var v;switch(h=u[p],h.charCodeAt(0)){default:v=f[0],v[a||v.length]=+h,a=void 0;break;case 34:if(h=h.substring(1,h.length-1),-1!==h.indexOf(c)&&(h=h.replace(r,s)),v=f[0],!a){if(!(v instanceof Array)){a=h||o;break}a=v.length}v[a]=h,a=void 0;break;case 91:v=f[0],f.unshift(v[a||v.length]=[]),a=void 0;break;case 93:f.shift();break;case 102:v=f[0],v[a||v.length]=!1,a=void 0;break;case 110:v=f[0],v[a||v.length]=null,a=void 0;break;case 116:v=f[0],v[a||v.length]=!0,a=void 0;break;case 123:v=f[0],f.unshift(v[a||v.length]={}),a=void 0;break;case 125:f.shift();break}}if(d){if(1!==f.length)throw new Error;i=i[0]}else if(f.length)throw new Error;if(t){var g=function(e,i){var n=e[i];if(n&&"object"===typeof n){var r=null;for(var a in n)if(l.call(n,a)&&n!==e){var s=g(n,a);void 0!==s?n[a]=s:(r||(r=[]),r.push(a))}if(r)for(var o=r.length;--o>=0;)delete n[r[o]]}return t.call(e,i,n)};i=g({"":i},"")}return i}}();"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.asn1&&Mi.asn1||(Mi.asn1={}),Mi.asn1.ASN1Util=new function(){this.integerToByteHex=function(e){var t=e.toString(16);return t.length%2==1&&(t="0"+t),t},this.bigIntToMinTwosComplementsHex=function(e){var t=e.toString(16);if("-"!=t.substr(0,1))t.length%2==1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{var i=t.substr(1),n=i.length;n%2==1?n+=1:t.match(/^[0-7]/)||(n+=2);for(var r="",a=0;a<n;a++)r+="f";var s=new p(r,16),o=s.xor(e).add(p.ONE);t=o.toString(16).replace(/^-/,"")}return t},this.getPEMStringFromHex=function(e,t){return Ji(e,t)},this.newObject=function(e){var t=Mi,i=t.asn1,n=i.DERBoolean,r=i.DERInteger,a=i.DERBitString,s=i.DEROctetString,o=i.DERNull,c=i.DERObjectIdentifier,l=i.DEREnumerated,u=i.DERUTF8String,h=i.DERNumericString,d=i.DERPrintableString,f=i.DERTeletexString,p=i.DERIA5String,m=i.DERUTCTime,v=i.DERGeneralizedTime,g=i.DERVisibleString,y=i.DERBMPString,b=i.DERSequence,C=i.DERSet,S=i.DERTaggedObject,x=i.ASN1Util.newObject;if(e instanceof i.ASN1Object)return e;var w=Object.keys(e);if(1!=w.length)throw new Error("key of param shall be only one.");var _=w[0];if(-1==":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+_+":"))throw new Error("undefined key: "+_);if("bool"==_)return new n(e[_]);if("int"==_)return new r(e[_]);if("bitstr"==_)return new a(e[_]);if("octstr"==_)return new s(e[_]);if("null"==_)return new o(e[_]);if("oid"==_)return new c(e[_]);if("enum"==_)return new l(e[_]);if("utf8str"==_)return new u(e[_]);if("numstr"==_)return new h(e[_]);if("prnstr"==_)return new d(e[_]);if("telstr"==_)return new f(e[_]);if("ia5str"==_)return new p(e[_]);if("utctime"==_)return new m(e[_]);if("gentime"==_)return new v(e[_]);if("visstr"==_)return new g(e[_]);if("bmpstr"==_)return new y(e[_]);if("seq"==_){for(var A=e[_],E=[],k=0;k<A.length;k++){var M=x(A[k]);E.push(M)}return new b({array:E})}if("set"==_){for(A=e[_],E=[],k=0;k<A.length;k++){M=x(A[k]);E.push(M)}return new C({array:E})}if("tag"==_){var z=e[_];if("[object Array]"===Object.prototype.toString.call(z)&&3==z.length){var T=x(z[2]);return new S({tag:z[0],explicit:z[1],obj:T})}var I={};if(void 0!==z.explicit&&(I.explicit=z.explicit),void 0!==z.tag&&(I.tag=z.tag),void 0===z.obj)throw"obj shall be specified for 'tag'.";return I.obj=x(z.obj),new S(I)}},this.jsonToASN1HEX=function(e){var t=this.newObject(e);return t.getEncodedHex()}},Mi.asn1.ASN1Util.oidHexToInt=function(e){for(var t="",i=parseInt(e.substr(0,2),16),n=Math.floor(i/40),r=i%40,a=(t=n+"."+r,""),s=2;s<e.length;s+=2){var o=parseInt(e.substr(s,2),16),c=("00000000"+o.toString(2)).slice(-8);if(a+=c.substr(1,7),"0"==c.substr(0,1)){var l=new p(a,2);t=t+"."+l.toString(10),a=""}}return t},Mi.asn1.ASN1Util.oidIntToHex=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},i=function(e){var i="",n=new p(e,10),r=n.toString(2),a=7-r.length%7;7==a&&(a=0);for(var s="",o=0;o<a;o++)s+="0";r=s+r;for(o=0;o<r.length-1;o+=7){var c=r.substr(o,7);o!=r.length-7&&(c="1"+c),i+=t(parseInt(c,2))}return i};if(!e.match(/^[0-9.]+$/))throw"malformed oid string: "+e;var n="",r=e.split("."),a=40*parseInt(r[0])+parseInt(r[1]);n+=t(a),r.splice(0,2);for(var s=0;s<r.length;s++)n+=i(r[s]);return n},Mi.asn1.ASN1Object=function(e){var t="";this.getLengthHexFromValue=function(){if("undefined"==typeof this.hV||null==this.hV)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+t.length+",v="+this.hV);var e=this.hV.length/2,i=e.toString(16);if(i.length%2==1&&(i="0"+i),e<128)return i;var n=i.length/2;if(n>15)throw"ASN.1 length too long to represent by 8x: n = "+e.toString(16);var r=128+n;return r.toString(16)+i},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},void 0!=e&&void 0!=e.tlv&&(this.hTLV=e.tlv,this.isModified=!1)},Mi.asn1.DERAbstractString=function(e){Mi.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=qi(this.s).toLowerCase()},this.setStringHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof e&&("string"==typeof e?this.setString(e):"undefined"!=typeof e.str?this.setString(e.str):"undefined"!=typeof e.hex&&this.setStringHex(e.hex))},r.lang.extend(Mi.asn1.DERAbstractString,Mi.asn1.ASN1Object),Mi.asn1.DERAbstractTime=function(e){Mi.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(e){var t=e.getTime()+6e4*e.getTimezoneOffset(),i=new Date(t);return i},this.formatDate=function(e,t,i){var n=this.zeroPadding,r=this.localDateToUTC(e),a=String(r.getFullYear());"utc"==t&&(a=a.substr(2,2));var s=n(String(r.getMonth()+1),2),o=n(String(r.getDate()),2),c=n(String(r.getHours()),2),l=n(String(r.getMinutes()),2),u=n(String(r.getSeconds()),2),h=a+s+o+c+l+u;if(!0===i){var d=r.getMilliseconds();if(0!=d){var f=n(String(d),3);f=f.replace(/[0]+$/,""),h=h+"."+f}}return h+"Z"},this.zeroPadding=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},this.getString=function(){return this.s},this.setString=function(e){this.hTLV=null,this.isModified=!0,this.s=e,this.hV=Oi(e)},this.setByDateValue=function(e,t,i,n,r,a){var s=new Date(Date.UTC(e,t-1,i,n,r,a,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},r.lang.extend(Mi.asn1.DERAbstractTime,Mi.asn1.ASN1Object),Mi.asn1.DERAbstractStructured=function(e){Mi.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array=e},this.appendASN1Object=function(e){this.hTLV=null,this.isModified=!0,this.asn1Array.push(e)},this.asn1Array=new Array,"undefined"!=typeof e&&"undefined"!=typeof e.array&&(this.asn1Array=e.array)},r.lang.extend(Mi.asn1.DERAbstractStructured,Mi.asn1.ASN1Object),Mi.asn1.DERBoolean=function(){Mi.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},r.lang.extend(Mi.asn1.DERBoolean,Mi.asn1.ASN1Object),Mi.asn1.DERInteger=function(e){Mi.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=Mi.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new p(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof e&&("undefined"!=typeof e.bigint?this.setByBigInteger(e.bigint):"undefined"!=typeof e["int"]?this.setByInteger(e["int"]):"number"==typeof e?this.setByInteger(e):"undefined"!=typeof e.hex&&this.setValueHex(e.hex))},r.lang.extend(Mi.asn1.DERInteger,Mi.asn1.ASN1Object),Mi.asn1.DERBitString=function(e){if(void 0!==e&&"undefined"!==typeof e.obj){var t=Mi.asn1.ASN1Util.newObject(e.obj);e.hex="00"+t.getEncodedHex()}Mi.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(e){this.hTLV=null,this.isModified=!0,this.hV=e},this.setUnusedBitsAndHexValue=function(e,t){if(e<0||7<e)throw"unused bits shall be from 0 to 7: u = "+e;var i="0"+e;this.hTLV=null,this.isModified=!0,this.hV=i+t},this.setByBinaryString=function(e){e=e.replace(/0+$/,"");var t=8-e.length%8;8==t&&(t=0);for(var i=0;i<=t;i++)e+="0";var n="";for(i=0;i<e.length-1;i+=8){var r=e.substr(i,8),a=parseInt(r,2).toString(16);1==a.length&&(a="0"+a),n+=a}this.hTLV=null,this.isModified=!0,this.hV="0"+t+n},this.setByBooleanArray=function(e){for(var t="",i=0;i<e.length;i++)1==e[i]?t+="1":t+="0";this.setByBinaryString(t)},this.newFalseArray=function(e){for(var t=new Array(e),i=0;i<e;i++)t[i]=!1;return t},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof e&&("string"==typeof e&&e.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(e):"undefined"!=typeof e.hex?this.setHexValueIncludingUnusedBits(e.hex):"undefined"!=typeof e.bin?this.setByBinaryString(e.bin):"undefined"!=typeof e.array&&this.setByBooleanArray(e.array))},r.lang.extend(Mi.asn1.DERBitString,Mi.asn1.ASN1Object),Mi.asn1.DEROctetString=function(e){if(void 0!==e&&"undefined"!==typeof e.obj){var t=Mi.asn1.ASN1Util.newObject(e.obj);e.hex=t.getEncodedHex()}Mi.asn1.DEROctetString.superclass.constructor.call(this,e),this.hT="04"},r.lang.extend(Mi.asn1.DEROctetString,Mi.asn1.DERAbstractString),Mi.asn1.DERNull=function(){Mi.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},r.lang.extend(Mi.asn1.DERNull,Mi.asn1.ASN1Object),Mi.asn1.DERObjectIdentifier=function(e){var t=function(e){var t=e.toString(16);return 1==t.length&&(t="0"+t),t},i=function(e){var i="",n=new p(e,10),r=n.toString(2),a=7-r.length%7;7==a&&(a=0);for(var s="",o=0;o<a;o++)s+="0";r=s+r;for(o=0;o<r.length-1;o+=7){var c=r.substr(o,7);o!=r.length-7&&(c="1"+c),i+=t(parseInt(c,2))}return i};Mi.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(e){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueOidString=function(e){if(!e.match(/^[0-9.]+$/))throw new Error("malformed oid string: "+e);var n="",r=e.split("."),a=40*parseInt(r[0])+parseInt(r[1]);n+=t(a),r.splice(0,2);for(var s=0;s<r.length;s++)n+=i(r[s]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=n},this.setValueName=function(e){var t=Mi.asn1.x509.OID.name2oid(e);if(""===t)throw new Error("DERObjectIdentifier oidName undefined: "+e);this.setValueOidString(t)},this.getFreshValueHex=function(){return this.hV},void 0!==e&&("string"===typeof e?e.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(e):this.setValueName(e):void 0!==e.oid?this.setValueOidString(e.oid):void 0!==e.hex?this.setValueHex(e.hex):void 0!==e.name&&this.setValueName(e.name))},r.lang.extend(Mi.asn1.DERObjectIdentifier,Mi.asn1.ASN1Object),Mi.asn1.DEREnumerated=function(e){Mi.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(e){this.hTLV=null,this.isModified=!0,this.hV=Mi.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)},this.setByInteger=function(e){var t=new p(String(e),10);this.setByBigInteger(t)},this.setValueHex=function(e){this.hV=e},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof e&&("undefined"!=typeof e["int"]?this.setByInteger(e["int"]):"number"==typeof e?this.setByInteger(e):"undefined"!=typeof e.hex&&this.setValueHex(e.hex))},r.lang.extend(Mi.asn1.DEREnumerated,Mi.asn1.ASN1Object),Mi.asn1.DERUTF8String=function(e){Mi.asn1.DERUTF8String.superclass.constructor.call(this,e),this.hT="0c"},r.lang.extend(Mi.asn1.DERUTF8String,Mi.asn1.DERAbstractString),Mi.asn1.DERNumericString=function(e){Mi.asn1.DERNumericString.superclass.constructor.call(this,e),this.hT="12"},r.lang.extend(Mi.asn1.DERNumericString,Mi.asn1.DERAbstractString),Mi.asn1.DERPrintableString=function(e){Mi.asn1.DERPrintableString.superclass.constructor.call(this,e),this.hT="13"},r.lang.extend(Mi.asn1.DERPrintableString,Mi.asn1.DERAbstractString),Mi.asn1.DERTeletexString=function(e){Mi.asn1.DERTeletexString.superclass.constructor.call(this,e),this.hT="14"},r.lang.extend(Mi.asn1.DERTeletexString,Mi.asn1.DERAbstractString),Mi.asn1.DERIA5String=function(e){Mi.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="16"},r.lang.extend(Mi.asn1.DERIA5String,Mi.asn1.DERAbstractString),Mi.asn1.DERVisibleString=function(e){Mi.asn1.DERIA5String.superclass.constructor.call(this,e),this.hT="1a"},r.lang.extend(Mi.asn1.DERVisibleString,Mi.asn1.DERAbstractString),Mi.asn1.DERBMPString=function(e){Mi.asn1.DERBMPString.superclass.constructor.call(this,e),this.hT="1e"},r.lang.extend(Mi.asn1.DERBMPString,Mi.asn1.DERAbstractString),Mi.asn1.DERUTCTime=function(e){Mi.asn1.DERUTCTime.superclass.constructor.call(this,e),this.hT="17",this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"utc"),this.hV=Oi(this.s)},this.getFreshValueHex=function(){return"undefined"==typeof this.date&&"undefined"==typeof this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=Oi(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{12}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date))},r.lang.extend(Mi.asn1.DERUTCTime,Mi.asn1.DERAbstractTime),Mi.asn1.DERGeneralizedTime=function(e){Mi.asn1.DERGeneralizedTime.superclass.constructor.call(this,e),this.hT="18",this.withMillis=!1,this.setByDate=function(e){this.hTLV=null,this.isModified=!0,this.date=e,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=Oi(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=Oi(this.s)),this.hV},void 0!==e&&(void 0!==e.str?this.setString(e.str):"string"==typeof e&&e.match(/^[0-9]{14}Z$/)?this.setString(e):void 0!==e.hex?this.setStringHex(e.hex):void 0!==e.date&&this.setByDate(e.date),!0===e.millis&&(this.withMillis=!0))},r.lang.extend(Mi.asn1.DERGeneralizedTime,Mi.asn1.DERAbstractTime),Mi.asn1.DERSequence=function(e){Mi.asn1.DERSequence.superclass.constructor.call(this,e),this.hT="30",this.getFreshValueHex=function(){for(var e="",t=0;t<this.asn1Array.length;t++){var i=this.asn1Array[t];e+=i.getEncodedHex()}return this.hV=e,this.hV}},r.lang.extend(Mi.asn1.DERSequence,Mi.asn1.DERAbstractStructured),Mi.asn1.DERSet=function(e){Mi.asn1.DERSet.superclass.constructor.call(this,e),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var e=new Array,t=0;t<this.asn1Array.length;t++){var i=this.asn1Array[t];e.push(i.getEncodedHex())}return 1==this.sortFlag&&e.sort(),this.hV=e.join(""),this.hV},"undefined"!=typeof e&&"undefined"!=typeof e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},r.lang.extend(Mi.asn1.DERSet,Mi.asn1.DERAbstractStructured),Mi.asn1.DERTaggedObject=function(e){Mi.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(e,t,i){this.hT=t,this.isExplicit=e,this.asn1Object=i,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=i.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,t),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof e&&("undefined"!=typeof e.tag&&(this.hT=e.tag),"undefined"!=typeof e.explicit&&(this.isExplicit=e.explicit),"undefined"!=typeof e.obj&&(this.asn1Object=e.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},r.lang.extend(Mi.asn1.DERTaggedObject,Mi.asn1.ASN1Object);var Mi,zi,Ti,Ii=new function(){};function Ni(e){for(var t=new Array,i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}function Di(e){for(var t="",i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t}function Pi(e){for(var t="",i=0;i<e.length;i++){var n=e[i].toString(16);1==n.length&&(n="0"+n),t+=n}return t}function Oi(e){return Pi(Ni(e))}function Hi(e){return l(Oi(e))}function Fi(e){return Vi(l(Oi(e)))}function Li(e){return Di(h(Ri(e)))}function Vi(e){return e=e.replace(/\=/g,""),e=e.replace(/\+/g,"-"),e=e.replace(/\//g,"_"),e}function Ri(e){return e.length%4==2?e+="==":e.length%4==3&&(e+="="),e=e.replace(/-/g,"+"),e=e.replace(/_/g,"/"),e}function Bi(e){return e.length%2==1&&(e="0"+e),Vi(l(e))}function ji(e){return u(Ri(e))}function $i(e){return l(on(fn(e)))}function Ki(e){return decodeURIComponent(cn(u(e)))}function qi(e){return on(fn(e))}function Ui(e){return decodeURIComponent(cn(e))}function Wi(e){for(var t="",i=0;i<e.length-1;i+=2)t+=String.fromCharCode(parseInt(e.substr(i,2),16));return t}function Xi(e){for(var t="",i=0;i<e.length;i++)t+=("0"+e.charCodeAt(i).toString(16)).slice(-2);return t}function Gi(e){return l(e)}function Yi(e){var t=Gi(e),i=t.replace(/(.{64})/g,"$1\r\n");return i=i.replace(/\r\n$/,""),i}function Zi(e){var t=e.replace(/[^0-9A-Za-z\/+=]*/g,""),i=u(t);return i}function Ji(e,t){var i=Yi(e);return"-----BEGIN "+t+"-----\r\n"+i+"\r\n-----END "+t+"-----\r\n"}function Qi(e,t){if(-1==e.indexOf("-----BEGIN "))throw"can't find PEM header: "+t;return void 0!==t?(e=e.replace(new RegExp("^[^]*-----BEGIN "+t+"-----"),""),e=e.replace(new RegExp("-----END "+t+"-----[^]*$"),"")):(e=e.replace(/^[^]*-----BEGIN [^-]+-----/,""),e=e.replace(/-----END [^-]+-----[^]*$/,"")),Zi(e)}function en(e){if(e.length%2!=0)throw"input is not even length";if(null==e.match(/^[0-9A-Fa-f]+$/))throw"input is not hexadecimal";for(var t=new ArrayBuffer(e.length/2),i=new DataView(t),n=0;n<e.length/2;n++)i.setUint8(n,parseInt(e.substr(2*n,2),16));return t}function tn(e){for(var t="",i=new DataView(e),n=0;n<e.byteLength;n++)t+=("00"+i.getUint8(n).toString(16)).slice(-2);return t}function nn(e){var t,i,n,r,a,s,o,c,l,u,h;if(h=e.match(/^(\d{2}|\d{4})(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(|\.\d+)Z$/),h)return c=h[1],t=parseInt(c),2===c.length&&(50<=t&&t<100?t=1900+t:0<=t&&t<50&&(t=2e3+t)),i=parseInt(h[2])-1,n=parseInt(h[3]),r=parseInt(h[4]),a=parseInt(h[5]),s=parseInt(h[6]),o=0,l=h[7],""!==l&&(u=(l.substr(1)+"00").substr(0,3),o=parseInt(u)),Date.UTC(t,i,n,r,a,s,o);throw"unsupported zulu format: "+e}function rn(e){var t=nn(e);return~~(t/1e3)}function an(e){return new Date(nn(e))}function sn(e,t,i){var n,r=e.getUTCFullYear();if(t){if(r<1950||2049<r)throw"not proper year for UTCTime: "+r;n=(""+r).slice(-2)}else n=("000"+r).slice(-4);if(n+=("0"+(e.getUTCMonth()+1)).slice(-2),n+=("0"+e.getUTCDate()).slice(-2),n+=("0"+e.getUTCHours()).slice(-2),n+=("0"+e.getUTCMinutes()).slice(-2),n+=("0"+e.getUTCSeconds()).slice(-2),i){var a=e.getUTCMilliseconds();0!==a&&(a=("00"+a).slice(-3),a=a.replace(/0+$/g,""),n+="."+a)}return n+="Z",n}function on(e){return e.replace(/%/g,"")}function cn(e){return e.replace(/(..)/g,"%$1")}function ln(e){var t="malformed IPv6 address";if(!e.match(/^[0-9A-Fa-f:]+$/))throw t;e=e.toLowerCase();var i=e.split(":").length-1;if(i<2)throw t;var n=":".repeat(7-i+2);e=e.replace("::",n);var r=e.split(":");if(8!=r.length)throw t;for(var a=0;a<8;a++)r[a]=("0000"+r[a]).slice(-4);return r.join("")}function un(e){if(!e.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";e=e.toLowerCase();for(var t=e.match(/.{1,4}/g),i=0;i<8;i++)t[i]=t[i].replace(/^0+/,""),""==t[i]&&(t[i]="0");e=":"+t.join(":")+":";var n=e.match(/:(0:){2,}/g);if(null===n)return e.slice(1,-1);var r="";for(i=0;i<n.length;i++)n[i].length>r.length&&(r=n[i]);return e=e.replace(r,"::"),e.slice(1,-1)}function hn(e){var t,i="malformed hex value";if(!e.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw i;if(8!=e.length)return 32==e.length?un(e):e;try{return t=parseInt(e.substr(0,2),16)+"."+parseInt(e.substr(2,2),16)+"."+parseInt(e.substr(4,2),16)+"."+parseInt(e.substr(6,2),16),t}catch(n){throw i}}function dn(e){var t="malformed IP address";if(e=e.toLowerCase(e),!e.match(/^[0-9.]+$/)){if(e.match(/^[0-9a-f:]+$/)&&-1!==e.indexOf(":"))return ln(e);throw t}var i=e.split(".");if(4!==i.length)throw t;var n="";try{for(var r=0;r<4;r++){var a=parseInt(i[r]);n+=("0"+a.toString(16)).slice(-2)}return n}catch(s){throw t}}function fn(e){for(var t=encodeURIComponent(e),i="",n=0;n<t.length;n++)"%"==t[n]?(i+=t.substr(n,3),n+=2):i=i+"%"+Oi(t[n]);return i}function pn(e){return e=e.replace(/\r\n/gm,"\n"),e}function mn(e){return e=e.replace(/\r\n/gm,"\n"),e=e.replace(/\n/gm,"\r\n"),e}function vn(e){return e.length%2==1?"0"+e:e.substr(0,1)>"7"?"00"+e:e}function gn(e){e=e.replace(/^\s*\[\s*/,""),e=e.replace(/\s*\]\s*$/,""),e=e.replace(/\s*/g,"");try{var t=e.split(/,/).map((function(e,t,i){var n=parseInt(e);if(n<0||255<n)throw"integer not in range 0-255";var r=("00"+n.toString(16)).slice(-2);return r})).join("");return t}catch(i){throw"malformed integer array string: "+i}}Ii.getLblen=function(e,t){if("8"!=e.substr(t+2,1))return 1;var i=parseInt(e.substr(t+3,1));return 0==i?-1:0<i&&i<10?i+1:-2},Ii.getL=function(e,t){var i=Ii.getLblen(e,t);return i<1?"":e.substr(t+2,2*i)},Ii.getVblen=function(e,t){var i,n;return i=Ii.getL(e,t),""==i?-1:(n="8"===i.substr(0,1)?new p(i.substr(2),16):new p(i,16),n.intValue())},Ii.getVidx=function(e,t){var i=Ii.getLblen(e,t);return i<0?i:t+2*(i+1)},Ii.getV=function(e,t){var i=Ii.getVidx(e,t),n=Ii.getVblen(e,t);return e.substr(i,2*n)},Ii.getTLV=function(e,t){return e.substr(t,2)+Ii.getL(e,t)+Ii.getV(e,t)},Ii.getTLVblen=function(e,t){return 2+2*Ii.getLblen(e,t)+2*Ii.getVblen(e,t)},Ii.getNextSiblingIdx=function(e,t){var i=Ii.getVidx(e,t),n=Ii.getVblen(e,t);return i+2*n},Ii.getChildIdx=function(e,t){var i,n,r,a=Ii,s=[];i=a.getVidx(e,t),n=2*a.getVblen(e,t),"03"==e.substr(t,2)&&(i+=2,n-=2),r=0;var o=i;while(r<=n){var c=a.getTLVblen(e,o);if(r+=c,r<=n&&s.push(o),o+=c,r>=n)break}return s},Ii.getNthChildIdx=function(e,t,i){var n=Ii.getChildIdx(e,t);return n[i]},Ii.getIdxbyList=function(e,t,i,n){var r,a,s=Ii;return 0==i.length?void 0!==n&&e.substr(t,2)!==n?-1:t:(r=i.shift(),a=s.getChildIdx(e,t),r>=a.length?-1:s.getIdxbyList(e,a[r],i,n))},Ii.getIdxbyListEx=function(e,t,i,n){var r,a,s=Ii;if(0==i.length)return void 0!==n&&e.substr(t,2)!==n?-1:t;r=i.shift(),a=s.getChildIdx(e,t);for(var o=0,c=0;c<a.length;c++){var l=e.substr(a[c],2);if("number"==typeof r&&!s.isContextTag(l)&&o==r||"string"==typeof r&&s.isContextTag(l,r))return s.getIdxbyListEx(e,a[c],i,n);s.isContextTag(l)||o++}return-1},Ii.getTLVbyList=function(e,t,i,n){var r=Ii,a=r.getIdxbyList(e,t,i,n);return-1==a||a>=e.length?null:r.getTLV(e,a)},Ii.getTLVbyListEx=function(e,t,i,n){var r=Ii,a=r.getIdxbyListEx(e,t,i,n);return-1==a?null:r.getTLV(e,a)},Ii.getVbyList=function(e,t,i,n,r){var a,s,o=Ii;return a=o.getIdxbyList(e,t,i,n),-1==a||a>=e.length?null:(s=o.getV(e,a),!0===r&&(s=s.substr(2)),s)},Ii.getVbyListEx=function(e,t,i,n,r){var a,s,o=Ii;return a=o.getIdxbyListEx(e,t,i,n),-1==a?null:(s=o.getV(e,a),"03"==e.substr(a,2)&&!1!==r&&(s=s.substr(2)),s)},Ii.hextooidstr=function(e){var t=function(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e},i=[],n=e.substr(0,2),r=parseInt(n,16);i[0]=new String(Math.floor(r/40)),i[1]=new String(r%40);for(var a=e.substr(2),s=[],o=0;o<a.length/2;o++)s.push(parseInt(a.substr(2*o,2),16));var c=[],l="";for(o=0;o<s.length;o++)128&s[o]?l+=t((127&s[o]).toString(2),7):(l+=t((127&s[o]).toString(2),7),c.push(new String(parseInt(l,2))),l="");var u=i.join(".");return c.length>0&&(u=u+"."+c.join(".")),u},Ii.dump=function(e,t,i,n){var r=Ii,a=r.getV,s=r.dump,o=r.getChildIdx,c=e;e instanceof Mi.asn1.ASN1Object&&(c=e.getEncodedHex());var l=function(e,t){if(e.length<=2*t)return e;var i=e.substr(0,t)+"..(total "+e.length/2+"bytes).."+e.substr(e.length-t,t);return i};void 0===t&&(t={ommit_long_octet:32}),void 0===i&&(i=0),void 0===n&&(n="");var u=t.ommit_long_octet,h=c.substr(i,2);if("01"==h){var d=a(c,i);return"00"==d?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n"}if("02"==h){d=a(c,i);return n+"INTEGER "+l(d,u)+"\n"}if("03"==h){d=a(c,i);if(r.isASN1HEX(d.substr(2))){var f=n+"BITSTRING, encapsulates\n";return f+=s(d.substr(2),t,0,n+"  "),f}return n+"BITSTRING "+l(d,u)+"\n"}if("04"==h){d=a(c,i);if(r.isASN1HEX(d)){f=n+"OCTETSTRING, encapsulates\n";return f+=s(d,t,0,n+"  "),f}return n+"OCTETSTRING "+l(d,u)+"\n"}if("05"==h)return n+"NULL\n";if("06"==h){var p=a(c,i),m=Mi.asn1.ASN1Util.oidHexToInt(p),v=Mi.asn1.x509.OID.oid2name(m),g=m.replace(/\./g," ");return""!=v?n+"ObjectIdentifier "+v+" ("+g+")\n":n+"ObjectIdentifier ("+g+")\n"}if("0a"==h)return n+"ENUMERATED "+parseInt(a(c,i))+"\n";if("0c"==h)return n+"UTF8String '"+Ui(a(c,i))+"'\n";if("13"==h)return n+"PrintableString '"+Ui(a(c,i))+"'\n";if("14"==h)return n+"TeletexString '"+Ui(a(c,i))+"'\n";if("16"==h)return n+"IA5String '"+Ui(a(c,i))+"'\n";if("17"==h)return n+"UTCTime "+Ui(a(c,i))+"\n";if("18"==h)return n+"GeneralizedTime "+Ui(a(c,i))+"\n";if("1a"==h)return n+"VisualString '"+Ui(a(c,i))+"'\n";if("1e"==h)return n+"BMPString '"+Ui(a(c,i))+"'\n";if("30"==h){if("3000"==c.substr(i,4))return n+"SEQUENCE {}\n";f=n+"SEQUENCE\n";var y=o(c,i),b=t;if((2==y.length||3==y.length)&&"06"==c.substr(y[0],2)&&"04"==c.substr(y[y.length-1],2)){v=r.oidname(a(c,y[0]));var C=JSON.parse(JSON.stringify(t));C.x509ExtName=v,b=C}for(var S=0;S<y.length;S++)f+=s(c,b,y[S],n+"  ");return f}if("31"==h){for(f=n+"SET\n",y=o(c,i),S=0;S<y.length;S++)f+=s(c,t,y[S],n+"  ");return f}h=parseInt(h,16);if(0!=(128&h)){var x=31&h;if(0!=(32&h)){for(f=n+"["+x+"]\n",y=o(c,i),S=0;S<y.length;S++)f+=s(c,t,y[S],n+"  ");return f}d=a(c,i);if(Ii.isASN1HEX(d)){f=n+"["+x+"]\n";return f+=s(d,t,0,n+"  "),f}("68747470"==d.substr(0,8)||"subjectAltName"===t.x509ExtName&&2==x)&&(d=Ui(d));f=n+"["+x+"] "+d+"\n";return f}return n+"UNKNOWN("+h+") "+a(c,i)+"\n"},Ii.isContextTag=function(e,t){var i,n;e=e.toLowerCase();try{i=parseInt(e,16)}catch(a){return-1}if(void 0===t)return 128==(192&i);try{var r=t.match(/^\[[0-9]+\]$/);return null!=r&&(n=parseInt(t.substr(1,t.length-1),10),!(n>31)&&(128==(192&i)&&(31&i)==n))}catch(a){return!1}},Ii.isASN1HEX=function(e){var t=Ii;if(e.length%2==1)return!1;var i=t.getVblen(e,0),n=e.substr(0,2),r=t.getL(e,0),a=e.length-n.length-r.length;return a==2*i},Ii.checkStrictDER=function(e,t,i,n,r){var a=Ii;if(void 0===i){if("string"!=typeof e)throw new Error("not hex string");if(e=e.toLowerCase(),!Mi.lang.String.isHex(e))throw new Error("not hex string");i=e.length,n=e.length/2,r=n<128?1:Math.ceil(n.toString(16))+1}var s=a.getL(e,t);if(s.length>2*r)throw new Error("L of TLV too long: idx="+t);var o=a.getVblen(e,t);if(o>n)throw new Error("value of L too long than hex: idx="+t);var c=a.getTLV(e,t),l=c.length-2-a.getL(e,t).length;if(l!==2*o)throw new Error("V string length and L's value not the same:"+l+"/"+2*o);if(0===t&&e.length!=c.length)throw new Error("total length and TLV length unmatch:"+e.length+"!="+c.length);var u=e.substr(t,2);if("02"===u){var h=a.getVidx(e,t);if("00"==e.substr(h,2)&&e.charCodeAt(h+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(u,16)){for(var d=a.getVblen(e,t),f=0,p=a.getChildIdx(e,t),m=0;m<p.length;m++){var v=a.getTLV(e,p[m]);f+=v.length,a.checkStrictDER(e,p[m],i,n,r)}if(2*d!=f)throw new Error("sum of children's TLV length and L unmatch: "+2*d+"!="+f)}},Ii.oidname=function(e){var t=Mi.asn1;Mi.lang.String.isHex(e)&&(e=t.ASN1Util.oidHexToInt(e));var i=t.x509.OID.oid2name(e);return""===i&&(i=e),i},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.asn1&&Mi.asn1||(Mi.asn1={}),"undefined"!=typeof Mi.asn1.x509&&Mi.asn1.x509||(Mi.asn1.x509={}),Mi.asn1.x509.Certificate=function(e){Mi.asn1.x509.Certificate.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERBitString,r=i.DERSequence,a=i.x509,s=a.TBSCertificate,o=a.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(e){this.params=e},this.sign=function(){var e=this.params,t=e.tbsobj.getEncodedHex(),i=new Mi.crypto.Signature({alg:e.sigalg});i.init(e.cakey),i.updateHex(t),e.sighex=i.sign()},this.getPEM=function(){return Ji(this.getEncodedHex(),"CERTIFICATE")},this.getEncodedHex=function(){var e=this.params;if(void 0!=e.tbsobj&&null!=e.tbsobj||(e.tbsobj=new s(e)),void 0==e.sighex&&void 0!=e.cakey&&this.sign(),void 0==e.sighex)throw new Error("sighex or cakey parameter not defined");var t=[];t.push(e.tbsobj),t.push(new o({name:e.sigalg})),t.push(new n({hex:"00"+e.sighex}));var i=new r({array:t});return i.getEncodedHex()},void 0!=e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.Certificate,Mi.asn1.ASN1Object),Mi.asn1.x509.TBSCertificate=function(e){Mi.asn1.x509.TBSCertificate.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.x509,r=i.DERTaggedObject,a=i.DERInteger,s=i.DERSequence,o=n.AlgorithmIdentifier,c=n.Time,l=n.X500Name,u=n.Extensions,h=n.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(e){this.params=e},this.getEncodedHex=function(){var e=[],t=this.params;if(void 0!=t.version||1!=t.version){var i=2;void 0!=t.version&&(i=t.version-1);var n=new r({obj:new a({int:i})});e.push(n)}e.push(new a(t.serial)),e.push(new o({name:t.sigalg})),e.push(new l(t.issuer)),e.push(new s({array:[new c({str:t.notbefore}),new c({str:t.notafter})]})),e.push(new l(t.subject)),e.push(new h(bn.getKey(t.sbjpubkey))),void 0!==t.ext&&t.ext.length>0&&e.push(new r({tag:"a3",obj:new u(t.ext)}));var d=new Mi.asn1.DERSequence({array:e});return d.getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.TBSCertificate,Mi.asn1.ASN1Object),Mi.asn1.x509.Extensions=function(e){Mi.asn1.x509.Extensions.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERSequence,r=i.x509;this.aParam=[],this.setByParam=function(e){this.aParam=e},this.getEncodedHex=function(){for(var e=[],t=0;t<this.aParam.length;t++){var i=this.aParam[t],a=i.extname,s=null;if(void 0!=i.extn)s=new r.PrivateExtension(i);else if("subjectKeyIdentifier"==a)s=new r.SubjectKeyIdentifier(i);else if("keyUsage"==a)s=new r.KeyUsage(i);else if("subjectAltName"==a)s=new r.SubjectAltName(i);else if("issuerAltName"==a)s=new r.IssuerAltName(i);else if("basicConstraints"==a)s=new r.BasicConstraints(i);else if("cRLDistributionPoints"==a)s=new r.CRLDistributionPoints(i);else if("certificatePolicies"==a)s=new r.CertificatePolicies(i);else if("authorityKeyIdentifier"==a)s=new r.AuthorityKeyIdentifier(i);else if("extKeyUsage"==a)s=new r.ExtKeyUsage(i);else if("authorityInfoAccess"==a)s=new r.AuthorityInfoAccess(i);else if("cRLNumber"==a)s=new r.CRLNumber(i);else if("cRLReason"==a)s=new r.CRLReason(i);else if("ocspNonce"==a)s=new r.OCSPNonce(i);else{if("ocspNoCheck"!=a)throw new Error("extension not supported:"+JSON.stringify(i));s=new r.OCSPNoCheck(i)}null!=s&&e.push(s)}var o=new n({array:e});return o.getEncodedHex()},void 0!=e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.Extensions,Mi.asn1.ASN1Object),Mi.asn1.x509.Extension=function(e){Mi.asn1.x509.Extension.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERObjectIdentifier,r=i.DEROctetString,a=(i.DERBitString,i.DERBoolean),s=i.DERSequence;this.getEncodedHex=function(){var e=new n({oid:this.oid}),t=new r({hex:this.getExtnValueHex()}),i=new Array;i.push(e),this.critical&&i.push(new a),i.push(t);var o=new s({array:i});return o.getEncodedHex()},this.critical=!1,void 0!==e&&void 0!==e.critical&&(this.critical=e.critical)},r.lang.extend(Mi.asn1.x509.Extension,Mi.asn1.ASN1Object),Mi.asn1.x509.KeyUsage=function(e){Mi.asn1.x509.KeyUsage.superclass.constructor.call(this,e);var t=_n.KEYUSAGE_NAME;if(this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15",void 0!==e&&(void 0!==e.bin&&(this.asn1ExtnValue=new Mi.asn1.DERBitString(e)),void 0!==e.names&&void 0!==e.names.length)){for(var i=e.names,n="000000000",r=0;r<i.length;r++)for(var a=0;a<t.length;a++)i[r]===t[a]&&(n=n.substring(0,a)+"1"+n.substring(a+1,n.length));this.asn1ExtnValue=new Mi.asn1.DERBitString({bin:n})}},r.lang.extend(Mi.asn1.x509.KeyUsage,Mi.asn1.x509.Extension),Mi.asn1.x509.BasicConstraints=function(e){Mi.asn1.x509.BasicConstraints.superclass.constructor.call(this,e);var t=Mi.asn1,i=t.DERBoolean,n=t.DERInteger,r=t.DERSequence;this.getExtnValueHex=function(){var e=new Array;this.cA&&e.push(new i),this.pathLen>-1&&e.push(new n({int:this.pathLen}));var t=new r({array:e});return this.asn1ExtnValue=t,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,void 0!==e&&(void 0!==e.cA&&(this.cA=e.cA),void 0!==e.pathLen&&(this.pathLen=e.pathLen))},r.lang.extend(Mi.asn1.x509.BasicConstraints,Mi.asn1.x509.Extension),Mi.asn1.x509.CRLDistributionPoints=function(e){Mi.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,e);var t=Mi,i=t.asn1,n=i.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(e){for(var t=[],r=0;r<e.length;r++)if(e[r]instanceof Mi.asn1.ASN1Object)t.push(e[r]);else{var a=new n.DistributionPoint(e[r]);t.push(a)}this.asn1ExtnValue=new i.DERSequence({array:t})},this.setByOneURI=function(e){var t=new n.DistributionPoint({fulluri:e});this.setByDPArray([t])},this.oid="2.5.29.31",void 0!==e&&(void 0!==e.array?this.setByDPArray(e.array):void 0!==e.uri&&this.setByOneURI(e.uri))},r.lang.extend(Mi.asn1.x509.CRLDistributionPoints,Mi.asn1.x509.Extension),Mi.asn1.x509.DistributionPoint=function(e){Mi.asn1.x509.DistributionPoint.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.x509.DistributionPointName;this.getEncodedHex=function(){var e=new i.DERSequence;if(null!=this.asn1DP){var t=new i.DERTaggedObject({explicit:!0,tag:"a0",obj:this.asn1DP});e.appendASN1Object(t)}return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&(void 0!==e.dpobj?this.asn1DP=e.dpobj:void 0!==e.dpname?this.asn1DP=new n(e.dpname):void 0!==e.fulluri&&(this.asn1DP=new n({full:[{uri:e.fulluri}]})))},r.lang.extend(Mi.asn1.x509.DistributionPoint,Mi.asn1.ASN1Object),Mi.asn1.x509.DistributionPointName=function(e){Mi.asn1.x509.DistributionPointName.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERTaggedObject;if(this.getEncodedHex=function(){if("full"!=this.type)throw new Error("currently type shall be 'full': "+this.type);return this.asn1Obj=new n({explicit:!1,tag:this.tag,obj:this.asn1V}),this.hTLV=this.asn1Obj.getEncodedHex(),this.hTLV},void 0!==e)if(i.x509.GeneralNames.prototype.isPrototypeOf(e))this.type="full",this.tag="a0",this.asn1V=e;else{if(void 0===e.full)throw new Error("This class supports GeneralNames only as argument");this.type="full",this.tag="a0",this.asn1V=new i.x509.GeneralNames(e.full)}},r.lang.extend(Mi.asn1.x509.DistributionPointName,Mi.asn1.ASN1Object),Mi.asn1.x509.CertificatePolicies=function(e){Mi.asn1.x509.CertificatePolicies.superclass.constructor.call(this,e);var t=Mi,i=t.asn1,n=i.x509,r=i.DERSequence,a=n.PolicyInformation;this.params=null,this.getExtnValueHex=function(){for(var e=[],t=0;t<this.params.array.length;t++)e.push(new a(this.params.array[t]));var i=new r({array:e});return this.asn1ExtnValue=i,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.32",void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.CertificatePolicies,Mi.asn1.x509.Extension),Mi.asn1.x509.PolicyInformation=function(e){Mi.asn1.x509.PolicyInformation.superclass.constructor.call(this,e);var t=Mi.asn1,i=t.DERSequence,n=t.DERObjectIdentifier,r=t.x509.PolicyQualifierInfo;this.params=null,this.getEncodedHex=function(){if(void 0===this.params.policyoid&&void 0===this.params.array)throw new Error("parameter oid and array missing");var e=[new n(this.params.policyoid)];if(void 0!==this.params.array){for(var t=[],a=0;a<this.params.array.length;a++)t.push(new r(this.params.array[a]));t.length>0&&e.push(new i({array:t}))}var s=new i({array:e});return s.getEncodedHex()},void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.PolicyInformation,Mi.asn1.ASN1Object),Mi.asn1.x509.PolicyQualifierInfo=function(e){Mi.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,e);var t=Mi.asn1,i=t.DERSequence,n=t.DERIA5String,r=t.DERObjectIdentifier,a=t.x509.UserNotice;this.params=null,this.getEncodedHex=function(){if(void 0!==this.params.cps){var e=new i({array:[new r({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]});return e.getEncodedHex()}if(void 0!=this.params.unotice){e=new i({array:[new r({oid:"1.3.6.1.5.5.7.2.2"}),new a(this.params.unotice)]});return e.getEncodedHex()}},void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.PolicyQualifierInfo,Mi.asn1.ASN1Object),Mi.asn1.x509.UserNotice=function(e){Mi.asn1.x509.UserNotice.superclass.constructor.call(this,e);var t=Mi.asn1.DERSequence,i=(Mi.asn1.DERInteger,Mi.asn1.x509.DisplayText),n=Mi.asn1.x509.NoticeReference;this.params=null,this.getEncodedHex=function(){var e=[];void 0!==this.params.noticeref&&e.push(new n(this.params.noticeref)),void 0!==this.params.exptext&&e.push(new i(this.params.exptext));var r=new t({array:e});return r.getEncodedHex()},void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.UserNotice,Mi.asn1.ASN1Object),Mi.asn1.x509.NoticeReference=function(e){Mi.asn1.x509.NoticeReference.superclass.constructor.call(this,e);var t=Mi.asn1.DERSequence,i=Mi.asn1.DERInteger,n=Mi.asn1.x509.DisplayText;this.params=null,this.getEncodedHex=function(){var e=[];if(void 0!==this.params.org&&e.push(new n(this.params.org)),void 0!==this.params.noticenum){for(var r=[],a=this.params.noticenum,s=0;s<a.length;s++)r.push(new i(a[s]));e.push(new t({array:r}))}if(0==e.length)throw new Error("parameter is empty");var o=new t({array:e});return o.getEncodedHex()},void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.NoticeReference,Mi.asn1.ASN1Object),Mi.asn1.x509.DisplayText=function(e){Mi.asn1.x509.DisplayText.superclass.constructor.call(this,e),this.hT="0c",void 0!==e&&("ia5"===e.type?this.hT="16":"vis"===e.type?this.hT="1a":"bmp"===e.type&&(this.hT="1e"))},r.lang.extend(Mi.asn1.x509.DisplayText,Mi.asn1.DERAbstractString),Mi.asn1.x509.ExtKeyUsage=function(e){Mi.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,e);var t=Mi,i=t.asn1;this.setPurposeArray=function(e){this.asn1ExtnValue=new i.DERSequence;for(var t=0;t<e.length;t++){var n=new i.DERObjectIdentifier(e[t]);this.asn1ExtnValue.appendASN1Object(n)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37",void 0!==e&&void 0!==e.array&&this.setPurposeArray(e.array)},r.lang.extend(Mi.asn1.x509.ExtKeyUsage,Mi.asn1.x509.Extension),Mi.asn1.x509.AuthorityKeyIdentifier=function(e){Mi.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,e);var t=Mi,i=t.asn1,n=i.DERTaggedObject,r=i.x509.GeneralNames;t.crypto.Util.isKey;this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var e=new Array;this.asn1KID&&e.push(new n({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&e.push(new n({explicit:!1,tag:"a1",obj:new r([{dn:this.asn1CertIssuer}])})),this.asn1CertSN&&e.push(new n({explicit:!1,tag:"82",obj:this.asn1CertSN}));var t=new i.DERSequence({array:e});return this.asn1ExtnValue=t,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(e){if(void 0!==e.str||void 0!==e.hex)this.asn1KID=new Mi.asn1.DEROctetString(e);else if("object"===typeof e&&Mi.crypto.Util.isKey(e)||"string"===typeof e&&-1!=e.indexOf("BEGIN ")){var t=e;"string"===typeof e&&(t=bn.getKey(e));var i=bn.getKeyID(t);this.asn1KID=new Mi.asn1.DEROctetString({hex:i})}},this.setCertIssuerByParam=function(e){void 0!==e.str||void 0!==e.ldapstr||void 0!==e.hex||void 0!==e.certsubject||void 0!==e.certissuer?this.asn1CertIssuer=new Mi.asn1.x509.X500Name(e):"string"===typeof e&&-1!=e.indexOf("BEGIN ")&&-1!=e.indexOf("CERTIFICATE")&&(this.asn1CertIssuer=new Mi.asn1.x509.X500Name({certissuer:e}))},this.setCertSNByParam=function(e){if(void 0!==e.str||void 0!==e.bigint||void 0!==e.hex)this.asn1CertSN=new Mi.asn1.DERInteger(e);else if("string"===typeof e&&-1!=e.indexOf("BEGIN ")&&e.indexOf("CERTIFICATE")){var t=new _n;t.readCertPEM(e);var i=t.getSerialNumberHex();this.asn1CertSN=new Mi.asn1.DERInteger({hex:i})}},this.oid="2.5.29.35",void 0!==e&&(void 0!==e.kid&&this.setKIDByParam(e.kid),void 0!==e.issuer&&this.setCertIssuerByParam(e.issuer),void 0!==e.sn&&this.setCertSNByParam(e.sn),void 0!==e.issuersn&&"string"===typeof e.issuersn&&-1!=e.issuersn.indexOf("BEGIN ")&&e.issuersn.indexOf("CERTIFICATE")&&(this.setCertSNByParam(e.issuersn),this.setCertIssuerByParam(e.issuersn)))},r.lang.extend(Mi.asn1.x509.AuthorityKeyIdentifier,Mi.asn1.x509.Extension),Mi.asn1.x509.SubjectKeyIdentifier=function(e){Mi.asn1.x509.SubjectKeyIdentifier.superclass.constructor.call(this,e);var t=Mi,i=t.asn1,n=i.DEROctetString;this.asn1KID=null,this.getExtnValueHex=function(){return this.asn1ExtnValue=this.asn1KID,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(e){if(void 0!==e.str||void 0!==e.hex)this.asn1KID=new n(e);else if("object"===typeof e&&Mi.crypto.Util.isKey(e)||"string"===typeof e&&-1!=e.indexOf("BEGIN")){var t=e;"string"===typeof e&&(t=bn.getKey(e));var i=bn.getKeyID(t);this.asn1KID=new Mi.asn1.DEROctetString({hex:i})}},this.oid="2.5.29.14",void 0!==e&&void 0!==e.kid&&this.setKIDByParam(e.kid)},r.lang.extend(Mi.asn1.x509.SubjectKeyIdentifier,Mi.asn1.x509.Extension),Mi.asn1.x509.AuthorityInfoAccess=function(e){Mi.asn1.x509.AuthorityInfoAccess.superclass.constructor.call(this,e),this.setAccessDescriptionArray=function(e){for(var t=new Array,i=Mi,n=i.asn1,r=n.DERSequence,a=n.DERObjectIdentifier,s=n.x509.GeneralName,o=0;o<e.length;o++){var c,l=e[o];if(void 0!==l.ocsp)c=new r({array:[new a({oid:"1.3.6.1.5.5.7.48.1"}),new s({uri:l.ocsp})]});else{if(void 0===l.caissuer)throw new Error("unknown AccessMethod parameter: "+JSON.stringify(l));c=new r({array:[new a({oid:"1.3.6.1.5.5.7.48.2"}),new s({uri:l.caissuer})]})}t.push(c)}this.asn1ExtnValue=new r({array:t})},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.1.1",void 0!==e&&void 0!==e.array&&this.setAccessDescriptionArray(e.array)},r.lang.extend(Mi.asn1.x509.AuthorityInfoAccess,Mi.asn1.x509.Extension),Mi.asn1.x509.SubjectAltName=function(e){Mi.asn1.x509.SubjectAltName.superclass.constructor.call(this,e),this.setNameArray=function(e){this.asn1ExtnValue=new Mi.asn1.x509.GeneralNames(e)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.17",void 0!==e&&void 0!==e.array&&this.setNameArray(e.array)},r.lang.extend(Mi.asn1.x509.SubjectAltName,Mi.asn1.x509.Extension),Mi.asn1.x509.IssuerAltName=function(e){Mi.asn1.x509.IssuerAltName.superclass.constructor.call(this,e),this.setNameArray=function(e){this.asn1ExtnValue=new Mi.asn1.x509.GeneralNames(e)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.18",void 0!==e&&void 0!==e.array&&this.setNameArray(e.array)},r.lang.extend(Mi.asn1.x509.IssuerAltName,Mi.asn1.x509.Extension),Mi.asn1.x509.PrivateExtension=function(e){Mi.asn1.x509.PrivateExtension.superclass.constructor.call(this,e);var t=Mi,i=t.lang.String.isHex,n=t.asn1,r=n.x509.OID.name2oid,a=n.ASN1Util.newObject;this.params=null,this.setByParam=function(e){this.oid=r(e.extname),this.params=e},this.getExtnValueHex=function(){if(void 0==this.params.extname||void 0==this.params.extn)throw new Error("extname or extnhex not specified");var e=this.params.extn;if("string"==typeof e&&i(e))return e;if("object"==typeof e)try{return a(e).getEncodedHex()}catch(t){}throw new Error("unsupported extn value")},void 0!=e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.PrivateExtension,Mi.asn1.x509.Extension),Mi.asn1.x509.CRL=function(e){Mi.asn1.x509.CRL.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DERBitString,a=i.x509,s=a.AlgorithmIdentifier,o=a.TBSCertList;this.params=void 0,this.setByParam=function(e){this.params=e},this.sign=function(){var e=new o(this.params).getEncodedHex(),t=new Mi.crypto.Signature({alg:this.params.sigalg});t.init(this.params.cakey),t.updateHex(e);var i=t.sign();this.params.sighex=i},this.getPEM=function(){return Ji(this.getEncodedHex(),"X509 CRL")},this.getEncodedHex=function(){var e=this.params;if(void 0==e.tbsobj&&(e.tbsobj=new o(e)),void 0==e.sighex&&void 0!=e.cakey&&this.sign(),void 0==e.sighex)throw new Error("sighex or cakey parameter not defined");var t=[];t.push(e.tbsobj),t.push(new s({name:e.sigalg})),t.push(new r({hex:"00"+e.sighex}));var i=new n({array:t});return i.getEncodedHex()},void 0!=e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.CRL,Mi.asn1.ASN1Object),Mi.asn1.x509.TBSCertList=function(e){Mi.asn1.x509.TBSCertList.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERInteger,r=i.DERSequence,a=i.DERTaggedObject,s=(i.DERObjectIdentifier,i.x509),o=s.AlgorithmIdentifier,c=s.Time,l=s.Extensions,u=s.X500Name;this.params=null,this.setByParam=function(e){this.params=e},this.getRevCertSequence=function(){for(var e=[],t=this.params.revcert,i=0;i<t.length;i++){var a=[new n(t[i].sn),new c(t[i].date)];void 0!=t[i].ext&&a.push(new l(t[i].ext)),e.push(new r({array:a}))}return new r({array:e})},this.getEncodedHex=function(){var e=[],t=this.params;if(void 0!=t.version){var i=t.version-1,s=new n({int:i});e.push(s)}if(e.push(new o({name:t.sigalg})),e.push(new u(t.issuer)),e.push(new c(t.thisupdate)),void 0!=t.nextupdate&&e.push(new c(t.nextupdate)),void 0!=t.revcert&&e.push(this.getRevCertSequence()),void 0!=t.ext){var h=new l(t.ext);e.push(new a({tag:"a0",explicit:!0,obj:h}))}var d=new r({array:e});return d.getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.TBSCertList,Mi.asn1.ASN1Object),Mi.asn1.x509.CRLEntry=function(e){Mi.asn1.x509.CRLEntry.superclass.constructor.call(this);var t=Mi,i=t.asn1;this.setCertSerial=function(e){this.sn=new i.DERInteger(e)},this.setRevocationDate=function(e){this.time=new i.x509.Time(e)},this.getEncodedHex=function(){var e=new i.DERSequence({array:[this.sn,this.time]});return this.TLV=e.getEncodedHex(),this.TLV},void 0!==e&&(void 0!==e.time&&this.setRevocationDate(e.time),void 0!==e.sn&&this.setCertSerial(e.sn))},r.lang.extend(Mi.asn1.x509.CRLEntry,Mi.asn1.ASN1Object),Mi.asn1.x509.CRLNumber=function(e){Mi.asn1.x509.CRLNumber.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new Mi.asn1.DERInteger(this.params.num),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.20",void 0!=e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.CRLNumber,Mi.asn1.x509.Extension),Mi.asn1.x509.CRLReason=function(e){Mi.asn1.x509.CRLReason.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new Mi.asn1.DEREnumerated(this.params.code),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.21",void 0!=e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.CRLReason,Mi.asn1.x509.Extension),Mi.asn1.x509.OCSPNonce=function(e){Mi.asn1.x509.OCSPNonce.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new Mi.asn1.DEROctetString(this.params),this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.2",void 0!=e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.OCSPNonce,Mi.asn1.x509.Extension),Mi.asn1.x509.OCSPNoCheck=function(e){Mi.asn1.x509.OCSPNoCheck.superclass.constructor.call(this,e),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new Mi.asn1.DERNull,this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.5",void 0!=e&&(this.params=e)},r.lang.extend(Mi.asn1.x509.OCSPNoCheck,Mi.asn1.x509.Extension),Mi.asn1.x509.X500Name=function(e){Mi.asn1.x509.X500Name.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=Mi,i=t.asn1,n=i.x509,r=n.RDN;this.setByString=function(e,t){void 0!==t&&(this.sRule=t);var i=e.split("/");i.shift();for(var n=[],a=0;a<i.length;a++)if(i[a].match(/^[^=]+=.+$/))n.push(i[a]);else{var s=n.length-1;n[s]=n[s]+"/"+i[a]}for(a=0;a<n.length;a++)this.asn1Array.push(new r({str:n[a],rule:this.sRule}))},this.setByLdapString=function(e,t){void 0!==t&&(this.sRule=t);var i=n.X500Name.ldapToCompat(e);this.setByString(i,t)},this.setByObject=function(e,t){for(var i in void 0!==t&&(this.sRule=t),e)if(e.hasOwnProperty(i)){var n=new r({str:i+"="+e[i],rule:this.sRule});this.asn1Array?this.asn1Array.push(n):this.asn1Array=[n]}},this.setByParam=function(e){if(void 0!==e.rule&&(this.sRule=e.rule),void 0!==e.array)this.paramArray=e.array;else if(void 0!==e.str)this.setByString(e.str);else if(void 0!==e.ldapstr)this.setByLdapString(e.ldapstr);else if(void 0!==e.hex)this.hTLV=e.hex;else if(void 0!==e.certissuer){var t=new _n;t.readCertPEM(e.certissuer),this.hTLV=t.getIssuerHex()}else if(void 0!==e.certsubject){t=new _n;t.readCertPEM(e.certsubject),this.hTLV=t.getSubjectHex()}else"object"===typeof e&&void 0===e.certsubject&&void 0===e.certissuer&&this.setByObject(e)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(0==this.asn1Array.length&&this.paramArray.length>0)for(var e=0;e<this.paramArray.length;e++){var t={array:this.paramArray[e]};"utf8"!=this.sRule&&(t.rule=this.sRule);var n=new r(t);this.asn1Array.push(n)}var a=new i.DERSequence({array:this.asn1Array});return this.hTLV=a.getEncodedHex(),this.hTLV},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.X500Name,Mi.asn1.ASN1Object),Mi.asn1.x509.X500Name.compatToLDAP=function(e){if("/"!==e.substr(0,1))throw"malformed input";e=e.substr(1);var t=e.split("/");return t.reverse(),t=t.map((function(e){return e.replace(/,/,"\\,")})),t.join(",")},Mi.asn1.x509.X500Name.onelineToLDAP=function(e){return Mi.asn1.x509.X500Name.compatToLDAP(e)},Mi.asn1.x509.X500Name.ldapToCompat=function(e){for(var t=e.split(","),i=!1,n=[],r=0;t.length>0;r++){var a=t.shift();if(!0===i){var s=n.pop(),o=(s+","+a).replace(/\\,/g,",");n.push(o),i=!1}else n.push(a);"\\"===a.substr(-1,1)&&(i=!0)}return n=n.map((function(e){return e.replace("/","\\/")})),n.reverse(),"/"+n.join("/")},Mi.asn1.x509.X500Name.ldapToOneline=function(e){return Mi.asn1.x509.X500Name.ldapToCompat(e)},Mi.asn1.x509.RDN=function(e){Mi.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var t=Mi.asn1.x509.AttributeTypeAndValue;this.setByParam=function(e){void 0!==e.rule&&(this.sRule=e.rule),void 0!==e.str&&this.addByMultiValuedString(e.str),void 0!==e.array&&(this.paramArray=e.array)},this.addByString=function(e){this.asn1Array.push(new Mi.asn1.x509.AttributeTypeAndValue({str:e,rule:this.sRule}))},this.addByMultiValuedString=function(e){for(var t=Mi.asn1.x509.RDN.parseString(e),i=0;i<t.length;i++)this.addByString(t[i])},this.getEncodedHex=function(){if(0==this.asn1Array.length&&this.paramArray.length>0)for(var e=0;e<this.paramArray.length;e++){var i=this.paramArray[e];void 0!==i.rule&&"utf8"!=this.sRule&&(i.rule=this.sRule);var n=new t(i);this.asn1Array.push(n)}var r=new Mi.asn1.DERSet({array:this.asn1Array});return this.TLV=r.getEncodedHex(),this.TLV},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.RDN,Mi.asn1.ASN1Object),Mi.asn1.x509.RDN.parseString=function(e){for(var t=e.split(/\+/),i=!1,n=[],r=0;t.length>0;r++){var a=t.shift();if(!0===i){var s=n.pop(),o=(s+"+"+a).replace(/\\\+/g,"+");n.push(o),i=!1}else n.push(a);"\\"===a.substr(-1,1)&&(i=!0)}var c=!1,l=[];for(r=0;n.length>0;r++){a=n.shift();if(!0===c){var u=l.pop();if(a.match(/"$/)){o=(u+"+"+a).replace(/^([^=]+)="(.*)"$/,"$1=$2");l.push(o),c=!1}else l.push(u+"+"+a)}else l.push(a);a.match(/^[^=]+="/)&&(c=!0)}return l},Mi.asn1.x509.AttributeTypeAndValue=function(e){Mi.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DERUTF8String,a=i.DERPrintableString,s=i.DERTeletexString,o=i.DERIA5String,c=i.DERVisibleString,l=i.DERBMPString,u=t.lang.String.isMail,h=t.lang.String.isPrintable;this.setByParam=function(e){if(void 0!==e.rule&&(this.sRule=e.rule),void 0!==e.ds&&(this.dsType=e.ds),void 0===e.value&&void 0!==e.str){var t=e.str,i=t.match(/^([^=]+)=(.+)$/);if(!i)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.sType=i[1],this.sValue=i[2]}else this.sType=e.type,this.sValue=e.value},this.setByString=function(e,t){void 0!==t&&(this.sRule=t);var i=e.match(/^([^=]+)=(.+)$/);if(!i)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.setByAttrTypeAndValueStr(i[1],i[2])},this._getDsType=function(){var e=this.sType,t=this.sValue,i=this.sRule;return"prn"===i?"CN"==e&&u(t)?"ia5":h(t)?"prn":"utf8":"utf8"===i?"CN"==e&&u(t)?"ia5":"C"==e?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(e,t,i){void 0!==i&&(this.sRule=i),this.sType=e,this.sValue=t},this.getValueObj=function(e,t){if("utf8"==e)return new r({str:t});if("prn"==e)return new a({str:t});if("tel"==e)return new s({str:t});if("ia5"==e)return new o({str:t});if("vis"==e)return new c({str:t});if("bmp"==e)return new l({str:t});throw new Error("unsupported directory string type: type="+e+" value="+t)},this.getEncodedHex=function(){null==this.dsType&&(this.dsType=this._getDsType());var e=Mi.asn1.x509.OID.atype2obj(this.sType),t=this.getValueObj(this.dsType,this.sValue),i=new n({array:[e,t]});return this.TLV=i.getEncodedHex(),this.TLV},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.AttributeTypeAndValue,Mi.asn1.ASN1Object),Mi.asn1.x509.SubjectPublicKeyInfo=function(e){Mi.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERInteger,r=i.DERBitString,a=i.DERObjectIdentifier,s=i.DERSequence,o=i.ASN1Util.newObject,c=i.x509,l=c.AlgorithmIdentifier,u=t.crypto;u.ECDSA,u.DSA;this.getASN1Object=function(){if(null==this.asn1AlgId||null==this.asn1SubjPKey)throw"algId and/or subjPubKey not set";var e=new s({array:[this.asn1AlgId,this.asn1SubjPKey]});return e},this.getEncodedHex=function(){var e=this.getASN1Object();return this.hTLV=e.getEncodedHex(),this.hTLV},this.setPubKey=function(e){try{if(e instanceof Rt){var t=o({seq:[{int:{bigint:e.n}},{int:{int:e.e}}]}),i=t.getEncodedHex();this.asn1AlgId=new l({name:"rsaEncryption"}),this.asn1SubjPKey=new r({hex:"00"+i})}}catch(u){}try{if(e instanceof Mi.crypto.ECDSA){var s=new a({name:e.curveName});this.asn1AlgId=new l({name:"ecPublicKey",asn1params:s}),this.asn1SubjPKey=new r({hex:"00"+e.pubKeyHex})}}catch(u){}try{if(e instanceof Mi.crypto.DSA){s=new o({seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]});this.asn1AlgId=new l({name:"dsa",asn1params:s});var c=new n({bigint:e.y});this.asn1SubjPKey=new r({hex:"00"+c.getEncodedHex()})}}catch(u){}},void 0!==e&&this.setPubKey(e)},r.lang.extend(Mi.asn1.x509.SubjectPublicKeyInfo,Mi.asn1.ASN1Object),Mi.asn1.x509.Time=function(e){Mi.asn1.x509.Time.superclass.constructor.call(this);var t=Mi,i=t.asn1,n=i.DERUTCTime,r=i.DERGeneralizedTime;this.setTimeParams=function(e){this.timeParams=e},this.getEncodedHex=function(){var e=null;return e=null!=this.timeParams?"utc"==this.type?new n(this.timeParams):new r(this.timeParams):"utc"==this.type?new n:new r,this.TLV=e.getEncodedHex(),this.TLV},this.type="utc",void 0!==e&&(void 0!==e.type?this.type=e.type:void 0!==e.str&&(e.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),e.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=e)},r.lang.extend(Mi.asn1.x509.Time,Mi.asn1.ASN1Object),Mi.asn1.x509.AlgorithmIdentifier=function(e){Mi.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var t=Mi,i=t.asn1,n=i.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.getEncodedHex=function(){if(null===this.nameAlg&&null===this.asn1Alg)throw new Error("algorithm not specified");if(null!==this.nameAlg){var e=null;for(var t in n)t===this.nameAlg&&(e=n[t]);if(null!==e)return this.hTLV=e,this.hTLV}null!==this.nameAlg&&null===this.asn1Alg&&(this.asn1Alg=i.x509.OID.name2obj(this.nameAlg));var r=[this.asn1Alg];null!==this.asn1Params&&r.push(this.asn1Params);var a=new i.DERSequence({array:r});return this.hTLV=a.getEncodedHex(),this.hTLV},void 0!==e&&(void 0!==e.name&&(this.nameAlg=e.name),void 0!==e.asn1params&&(this.asn1Params=e.asn1params),void 0!==e.paramempty&&(this.paramEmpty=e.paramempty)),null===this.asn1Params&&!1===this.paramEmpty&&null!==this.nameAlg){void 0!==this.nameAlg.name&&(this.nameAlg=this.nameAlg.name);var r=this.nameAlg.toLowerCase();"withdsa"!==r.substr(-7,7)&&"withecdsa"!==r.substr(-9,9)&&(this.asn1Params=new i.DERNull)}},r.lang.extend(Mi.asn1.x509.AlgorithmIdentifier,Mi.asn1.ASN1Object),Mi.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},Mi.asn1.x509.GeneralName=function(e){Mi.asn1.x509.GeneralName.superclass.constructor.call(this);var t={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87"},i=Mi,n=i.asn1,r=(n.DERSequence,n.DEROctetString),a=n.DERIA5String,s=n.DERTaggedObject,o=n.ASN1Object,c=n.x509.X500Name,l=Qi;this.explicit=!1,this.setByParam=function(e){var i=null;if(void 0!==e){if(void 0!==e.rfc822&&(this.type="rfc822",i=new a({str:e[this.type]})),void 0!==e.dns&&(this.type="dns",i=new a({str:e[this.type]})),void 0!==e.uri&&(this.type="uri",i=new a({str:e[this.type]})),void 0!==e.dn&&(this.type="dn",this.explicit=!0,i="string"===typeof e.dn?new c({str:e.dn}):e.dn instanceof Mi.asn1.x509.X500Name?e.dn:new c(e.dn)),void 0!==e.ldapdn&&(this.type="dn",this.explicit=!0,i=new c({ldapstr:e.ldapdn})),void 0!==e.certissuer){this.type="dn",this.explicit=!0;var n=e.certissuer,u=null;if(n.match(/^[0-9A-Fa-f]+$/),-1!=n.indexOf("-----BEGIN ")&&(u=l(n)),null==u)throw"certissuer param not cert";var h=new _n;h.hex=u;var d=h.getIssuerHex();i=new o,i.hTLV=d}if(void 0!==e.certsubj){this.type="dn",this.explicit=!0;n=e.certsubj,u=null;if(n.match(/^[0-9A-Fa-f]+$/),-1!=n.indexOf("-----BEGIN ")&&(u=l(n)),null==u)throw"certsubj param not cert";h=new _n;h.hex=u;d=h.getSubjectHex();i=new o,i.hTLV=d}if(void 0!==e.ip){this.type="ip",this.explicit=!1;var f,p=e.ip,m="malformed IP address";if(p.match(/^[0-9.]+[.][0-9.]+$/)){if(f=gn("["+p.split(".").join(",")+"]"),8!==f.length)throw m}else if(p.match(/^[0-9A-Fa-f:]+:[0-9A-Fa-f:]+$/))f=ln(p);else{if(!p.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw m;f=p}i=new r({hex:f})}if(null==this.type)throw"unsupported type in params="+e;this.asn1Obj=new s({explicit:this.explicit,tag:t[this.type],obj:i})}},this.getEncodedHex=function(){return this.asn1Obj.getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.x509.GeneralName,Mi.asn1.ASN1Object),Mi.asn1.x509.GeneralNames=function(e){Mi.asn1.x509.GeneralNames.superclass.constructor.call(this);var t=Mi,i=t.asn1;this.setByParamArray=function(e){for(var t=0;t<e.length;t++){var n=new i.x509.GeneralName(e[t]);this.asn1Array.push(n)}},this.getEncodedHex=function(){var e=new i.DERSequence({array:this.asn1Array});return e.getEncodedHex()},this.asn1Array=new Array,"undefined"!=typeof e&&this.setByParamArray(e)},r.lang.extend(Mi.asn1.x509.GeneralNames,Mi.asn1.ASN1Object),Mi.asn1.x509.OID=new function(e){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",ecPublicKey:"1.2.840.10045.2.1",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8"},this.objCache={},this.name2obj=function(e){if("undefined"!=typeof this.objCache[e])return this.objCache[e];if("undefined"==typeof this.name2oidList[e])throw"Name of ObjectIdentifier not defined: "+e;var t=this.name2oidList[e],i=new Mi.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=i,i},this.atype2obj=function(e){if("undefined"!=typeof this.objCache[e])return this.objCache[e];if("undefined"==typeof this.atype2oidList[e])throw"AttributeType name undefined: "+e;var t=this.atype2oidList[e],i=new Mi.asn1.DERObjectIdentifier({oid:t});return this.objCache[e]=i,i}},Mi.asn1.x509.OID.oid2name=function(e){var t=Mi.asn1.x509.OID.name2oidList;for(var i in t)if(t[i]==e)return i;return""},Mi.asn1.x509.OID.oid2atype=function(e){var t=Mi.asn1.x509.OID.atype2oidList;for(var i in t)if(t[i]==e)return i;return e},Mi.asn1.x509.OID.name2oid=function(e){if(e.match(/^[0-9.]+$/))return e;var t=Mi.asn1.x509.OID.name2oidList;return void 0===t[e]?"":t[e]},Mi.asn1.x509.X509Util={},Mi.asn1.x509.X509Util.newCertPEM=function(e){var t=Mi.asn1.x509,i=(t.TBSCertificate,t.Certificate),n=new i(e);return n.getPEM()},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.asn1&&Mi.asn1||(Mi.asn1={}),"undefined"!=typeof Mi.asn1.cms&&Mi.asn1.cms||(Mi.asn1.cms={}),Mi.asn1.cms.Attribute=function(e){var t=Mi,i=t.asn1;i.cms.Attribute.superclass.constructor.call(this),this.getEncodedHex=function(){var e,t,n;e=new i.DERObjectIdentifier({oid:this.attrTypeOid}),t=new i.DERSet({array:this.valueList});try{t.getEncodedHex()}catch(r){throw"fail valueSet.getEncodedHex in Attribute(1)/"+r}n=new i.DERSequence({array:[e,t]});try{this.hTLV=n.getEncodedHex()}catch(r){throw"failed seq.getEncodedHex in Attribute(2)/"+r}return this.hTLV}},r.lang.extend(Mi.asn1.cms.Attribute,Mi.asn1.ASN1Object),Mi.asn1.cms.ContentType=function(e){var t=Mi,i=t.asn1;i.cms.ContentType.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.3";var n=null;if("undefined"!=typeof e){n=new i.DERObjectIdentifier(e);this.valueList=[n]}},r.lang.extend(Mi.asn1.cms.ContentType,Mi.asn1.cms.Attribute),Mi.asn1.cms.MessageDigest=function(e){var t=Mi,i=t.asn1,n=i.DEROctetString,r=i.cms;if(r.MessageDigest.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.4",void 0!==e)if(e.eciObj instanceof r.EncapsulatedContentInfo&&"string"===typeof e.hashAlg){var a=e.eciObj.eContentValueHex,s=e.hashAlg,o=t.crypto.Util.hashHex(a,s),c=new n({hex:o});c.getEncodedHex(),this.valueList=[c]}else{c=new n(e);c.getEncodedHex(),this.valueList=[c]}},r.lang.extend(Mi.asn1.cms.MessageDigest,Mi.asn1.cms.Attribute),Mi.asn1.cms.SigningTime=function(e){var t=Mi,i=t.asn1;if(i.cms.SigningTime.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.5",void 0!==e){var n=new i.x509.Time(e);try{n.getEncodedHex()}catch(r){throw"SigningTime.getEncodedHex() failed/"+r}this.valueList=[n]}},r.lang.extend(Mi.asn1.cms.SigningTime,Mi.asn1.cms.Attribute),Mi.asn1.cms.SigningCertificate=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.cms;t.crypto;r.SigningCertificate.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.12",this.setCerts=function(e){for(var a=[],s=0;s<e.length;s++){var o=Qi(e[s]),c=t.crypto.Util.hashHex(o,"sha1"),l=new i.DEROctetString({hex:c});l.getEncodedHex();var u=new r.IssuerSerial({cert:e[s]});u.getEncodedHex();var h=new n({array:[l,u]});h.getEncodedHex(),a.push(h)}var d=new n({array:[new n({array:a})]});d.getEncodedHex(),this.valueList=[d]},void 0!==e&&"object"==typeof e.array&&this.setCerts(e.array)},r.lang.extend(Mi.asn1.cms.SigningCertificate,Mi.asn1.cms.Attribute),Mi.asn1.cms.SigningCertificateV2=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.x509,a=i.cms,s=t.crypto;if(a.SigningCertificateV2.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.47",this.setCerts=function(e,t){for(var o=[],c=0;c<e.length;c++){var l=Qi(e[c]),u=[];"sha256"!==t&&u.push(new r.AlgorithmIdentifier({name:t}));var h=s.Util.hashHex(l,t),d=new i.DEROctetString({hex:h});d.getEncodedHex(),u.push(d);var f=new a.IssuerSerial({cert:e[c]});f.getEncodedHex(),u.push(f);var p=new n({array:u});p.getEncodedHex(),o.push(p)}var m=new n({array:[new n({array:o})]});m.getEncodedHex(),this.valueList=[m]},void 0!==e&&"object"==typeof e.array){var o="sha256";"string"==typeof e.hashAlg&&(o=e.hashAlg),this.setCerts(e.array,o)}},r.lang.extend(Mi.asn1.cms.SigningCertificateV2,Mi.asn1.cms.Attribute),Mi.asn1.cms.IssuerSerial=function(e){var t=Mi,i=t.asn1,n=i.DERInteger,r=i.cms,a=i.x509,s=a.X500Name,o=a.GeneralNames,c=_n;r.IssuerSerial.superclass.constructor.call(this);this.setByCertPEM=function(e){var t=Qi(e),i=new c;i.hex=t;var r=i.getIssuerHex();this.dIssuer=new s,this.dIssuer.hTLV=r;var a=i.getSerialNumberHex();this.dSerial=new n({hex:a})},this.getEncodedHex=function(){var e=new o([{dn:this.dIssuer}]),t=new i.DERSequence({array:[e,this.dSerial]});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&this.setByCertPEM(e),e.issuer&&e.serial&&(e.issuer instanceof s?this.dIssuer=e.issuer:this.dIssuer=new s(e.issuer),e.serial instanceof n?this.dSerial=e.serial:this.dSerial=new n(e.serial)),"string"==typeof e.cert&&this.setByCertPEM(e.cert))},r.lang.extend(Mi.asn1.cms.IssuerSerial,Mi.asn1.ASN1Object),Mi.asn1.cms.IssuerAndSerialNumber=function(e){var t=Mi,i=t.asn1,n=i.DERInteger,r=i.cms,a=i.x509,s=a.X500Name,o=_n;r.IssuerAndSerialNumber.superclass.constructor.call(this);this.setByCertPEM=function(e){var t=Qi(e),i=new o;i.hex=t;var r=i.getIssuerHex();this.dIssuer=new s,this.dIssuer.hTLV=r;var a=i.getSerialNumberHex();this.dSerial=new n({hex:a})},this.getEncodedHex=function(){var e=new i.DERSequence({array:[this.dIssuer,this.dSerial]});return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&this.setByCertPEM(e),e.issuer&&e.serial&&(e.issuer instanceof s?this.dIssuer=e.issuer:this.dIssuer=new s(e.issuer),e.serial instanceof n?this.dSerial=e.serial:this.dSerial=new n(e.serial)),"string"==typeof e.cert&&this.setByCertPEM(e.cert))},r.lang.extend(Mi.asn1.cms.IssuerAndSerialNumber,Mi.asn1.ASN1Object),Mi.asn1.cms.AttributeList=function(e){var t=Mi,i=t.asn1,n=i.cms;n.AttributeList.superclass.constructor.call(this),this.list=new Array,this.sortFlag=!0,this.add=function(e){e instanceof n.Attribute&&this.list.push(e)},this.length=function(){return this.list.length},this.clear=function(){this.list=new Array,this.hTLV=null,this.hV=null},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;var e=new i.DERSet({array:this.list,sortflag:this.sortFlag});return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&"undefined"!=typeof e.sortflag&&0==e.sortflag&&(this.sortFlag=!1)},r.lang.extend(Mi.asn1.cms.AttributeList,Mi.asn1.ASN1Object),Mi.asn1.cms.SignerInfo=function(e){var t=Mi,i=t.asn1,n=i.DERTaggedObject,r=i.cms,a=r.AttributeList,s=r.ContentType,o=r.EncapsulatedContentInfo,c=r.MessageDigest,l=r.SignedData,u=i.x509,h=u.AlgorithmIdentifier,d=t.crypto,f=bn;r.SignerInfo.superclass.constructor.call(this),this.dCMSVersion=new i.DERInteger({int:1}),this.dSignerIdentifier=null,this.dDigestAlgorithm=null,this.dSignedAttrs=new a,this.dSigAlg=null,this.dSig=null,this.dUnsignedAttrs=new a,this.setSignerIdentifier=function(e){if("string"==typeof e&&-1!=e.indexOf("CERTIFICATE")&&-1!=e.indexOf("BEGIN")&&-1!=e.indexOf("END")){this.dSignerIdentifier=new r.IssuerAndSerialNumber({cert:e})}},this.setForContentAndHash=function(e){var t="data";void 0!==e.contentType&&(t=e.contentType),void 0!==e&&(e.eciObj instanceof o&&(this.dSignedAttrs.add(new s(t)),this.dSignedAttrs.add(new c({eciObj:e.eciObj,hashAlg:e.hashAlg}))),void 0!==e.sdObj&&e.sdObj instanceof l&&-1==e.sdObj.digestAlgNameList.join(":").indexOf(e.hashAlg)&&e.sdObj.digestAlgNameList.push(e.hashAlg),"string"==typeof e.hashAlg&&(this.dDigestAlgorithm=new h({name:e.hashAlg})))},this.sign=function(e,t){this.dSigAlg=new h({name:t});var n=this.dSignedAttrs.getEncodedHex(),r=f.getKey(e),a=new d.Signature({alg:t});a.init(r),a.updateHex(n);var s=a.sign();this.dSig=new i.DEROctetString({hex:s})},this.addUnsigned=function(e){this.hTLV=null,this.dUnsignedAttrs.hTLV=null,this.dUnsignedAttrs.add(e)},this.getEncodedHex=function(){if(this.dSignedAttrs instanceof a&&0==this.dSignedAttrs.length())throw"SignedAttrs length = 0 (empty)";var e=new n({obj:this.dSignedAttrs,tag:"a0",explicit:!1}),t=null;this.dUnsignedAttrs.length()>0&&(t=new n({obj:this.dUnsignedAttrs,tag:"a1",explicit:!1}));var r=[this.dCMSVersion,this.dSignerIdentifier,this.dDigestAlgorithm,e,this.dSigAlg,this.dSig];null!=t&&r.push(t);var s=new i.DERSequence({array:r});return this.hTLV=s.getEncodedHex(),this.hTLV}},r.lang.extend(Mi.asn1.cms.SignerInfo,Mi.asn1.ASN1Object),Mi.asn1.cms.EncapsulatedContentInfo=function(e){var t=Mi,i=t.asn1,n=i.DERTaggedObject,r=i.DERSequence,a=i.DERObjectIdentifier,s=i.DEROctetString,o=i.cms;o.EncapsulatedContentInfo.superclass.constructor.call(this),this.dEContentType=new a({name:"data"}),this.dEContent=null,this.isDetached=!1,this.eContentValueHex=null,this.setContentType=function(e){e.match(/^[0-2][.][0-9.]+$/)?this.dEContentType=new a({oid:e}):this.dEContentType=new a({name:e})},this.setContentValue=function(e){void 0!==e&&("string"==typeof e.hex?this.eContentValueHex=e.hex:"string"==typeof e.str&&(this.eContentValueHex=qi(e.str)))},this.setContentValueHex=function(e){this.eContentValueHex=e},this.setContentValueStr=function(e){this.eContentValueHex=qi(e)},this.getEncodedHex=function(){if("string"!=typeof this.eContentValueHex)throw"eContentValue not yet set";var e=new s({hex:this.eContentValueHex});this.dEContent=new n({obj:e,tag:"a0",explicit:!0});var t=[this.dEContentType];this.isDetached||t.push(this.dEContent);var i=new r({array:t});return this.hTLV=i.getEncodedHex(),this.hTLV}},r.lang.extend(Mi.asn1.cms.EncapsulatedContentInfo,Mi.asn1.ASN1Object),Mi.asn1.cms.ContentInfo=function(e){var t=Mi,i=t.asn1,n=i.DERTaggedObject,r=i.DERSequence,a=i.x509;Mi.asn1.cms.ContentInfo.superclass.constructor.call(this),this.dContentType=null,this.dContent=null,this.setContentType=function(e){"string"==typeof e&&(this.dContentType=a.OID.name2obj(e))},this.getEncodedHex=function(){var e=new n({obj:this.dContent,tag:"a0",explicit:!0}),t=new r({array:[this.dContentType,e]});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&(e.type&&this.setContentType(e.type),e.obj&&e.obj instanceof i.ASN1Object&&(this.dContent=e.obj))},r.lang.extend(Mi.asn1.cms.ContentInfo,Mi.asn1.ASN1Object),Mi.asn1.cms.SignedData=function(e){var t=Mi,i=t.asn1,n=i.ASN1Object,r=i.DERInteger,a=i.DERSet,s=i.DERSequence,o=i.DERTaggedObject,c=i.cms,l=c.EncapsulatedContentInfo,u=c.SignerInfo,h=c.ContentInfo,d=i.x509,f=d.AlgorithmIdentifier;Mi.asn1.cms.SignedData.superclass.constructor.call(this),this.dCMSVersion=new r({int:1}),this.dDigestAlgs=null,this.digestAlgNameList=[],this.dEncapContentInfo=new l,this.dCerts=null,this.certificateList=[],this.crlList=[],this.signerInfoList=[new u],this.addCertificatesByPEM=function(e){var t=Qi(e),i=new n;i.hTLV=t,this.certificateList.push(i)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(null==this.dDigestAlgs){for(var e=[],t=0;t<this.digestAlgNameList.length;t++){var i=this.digestAlgNameList[t],n=new f({name:i});e.push(n)}this.dDigestAlgs=new a({array:e})}var r=[this.dCMSVersion,this.dDigestAlgs,this.dEncapContentInfo];if(null==this.dCerts&&this.certificateList.length>0){var c=new a({array:this.certificateList});this.dCerts=new o({obj:c,tag:"a0",explicit:!1})}null!=this.dCerts&&r.push(this.dCerts);var l=new a({array:this.signerInfoList});r.push(l);var u=new s({array:r});return this.hTLV=u.getEncodedHex(),this.hTLV},this.getContentInfo=function(){this.getEncodedHex();var e=new h({type:"signed-data",obj:this});return e},this.getContentInfoEncodedHex=function(){var e=this.getContentInfo(),t=e.getEncodedHex();return t},this.getPEM=function(){return Ji(this.getContentInfoEncodedHex(),"CMS")}},r.lang.extend(Mi.asn1.cms.SignedData,Mi.asn1.ASN1Object),Mi.asn1.cms.CMSUtil=new function(){},Mi.asn1.cms.CMSUtil.newSignedData=function(e){var t=Mi,i=t.asn1,n=i.cms,r=n.SignerInfo,a=n.SignedData,s=n.SigningTime,o=n.SigningCertificate,c=n.SigningCertificateV2,l=i.cades,u=l.SignaturePolicyIdentifier,h=new a;if(h.dEncapContentInfo.setContentValue(e.content),"boolean"==typeof e.detached&&(h.dEncapContentInfo.isDetached=e.detached),"object"==typeof e.certs)for(var d=0;d<e.certs.length;d++)h.addCertificatesByPEM(e.certs[d]);h.signerInfoList=[];for(d=0;d<e.signerInfos.length;d++){var f=e.signerInfos[d],p=new r;for(attrName in p.setSignerIdentifier(f.signerCert),p.setForContentAndHash({sdObj:h,eciObj:h.dEncapContentInfo,hashAlg:f.hashAlg}),f.sAttr){var m=f.sAttr[attrName];if("SigningTime"==attrName){var v=new s(m);p.dSignedAttrs.add(v)}if("SigningCertificate"==attrName){v=new o(m);p.dSignedAttrs.add(v)}if("SigningCertificateV2"==attrName){v=new c(m);p.dSignedAttrs.add(v)}if("SignaturePolicyIdentifier"==attrName){v=new u(m);p.dSignedAttrs.add(v)}}p.sign(f.signerPrvKey,f.sigAlg),h.signerInfoList.push(p)}return h},Mi.asn1.cms.CMSUtil.verifySignedData=function(e){var t=Mi,i=t.asn1,n=i.cms,r=(n.SignerInfo,n.SignedData,n.SigningTime,n.SigningCertificate,n.SigningCertificateV2,i.cades),a=(r.SignaturePolicyIdentifier,t.lang.String.isHex),s=Ii,o=s.getVbyList,c=s.getTLVbyList,l=s.getIdxbyList,u=s.getChildIdx,h=s.getTLV,d=s.oidname,f=t.crypto.Util.hashHex;void 0===e.cms&&a(e.cms);var p=e.cms,m=function(e,t){for(var i,n=3;n<6;n++)if(i=l(e,0,[1,0,n]),void 0!==i){var r=e.substr(i,2);"a0"===r&&(t.certsIdx=i),"a1"===r&&(t.revinfosIdx=i),"31"===r&&(t.signerinfosIdx=i)}},v=function(e,t){var i=t.signerinfosIdx;if(void 0!==i){var n=u(e,i);t.signerInfoIdxList=n;for(var r=0;r<n.length;r++){var a=n[r],s={idx:a};g(e,s),t.signerInfos.push(s)}}},g=function(e,t){var i=t.idx;t.signerid_issuer1=c(e,i,[1,0],"30"),t.signerid_serial1=o(e,i,[1,1],"02"),t.hashalg=d(o(e,i,[2,0],"06"));var n=l(e,i,[3],"a0");t.idxSignedAttrs=n,y(e,t,n);var r=u(e,i),a=r.length;if(a<6)throw"malformed SignerInfo";t.sigalg=d(o(e,i,[a-2,0],"06")),t.sigval=o(e,i,[a-1],"04")},y=function(e,t,i){var n=u(e,i);t.signedAttrIdxList=n;for(var r=0;r<n.length;r++){var a,s=n[r],c=o(e,s,[0],"06");"2a864886f70d010905"===c?(a=Ui(o(e,s,[1,0])),t.saSigningTime=a):"2a864886f70d010904"===c&&(a=o(e,s,[1,0],"04"),t.saMessageDigest=a)}},b=function(e,t){if("2a864886f70d010702"!==o(e,0,[0],"06"))return t;t.cmsType="signedData",t.econtent=o(e,0,[1,0,2,1,0]),m(e,t),t.signerInfos=[],v(e,t)},C=function(e,t){for(var i=t.parse.signerInfos,n=i.length,r=!0,a=0;a<n;a++){var s=i[a];x(e,t,s,a),s.isValid||(r=!1)}t.isValid=r},S=function(e,t,i,n){var r,a=t.parse.certsIdx;if(void 0===t.certs){r=[],t.certkeys=[];for(var s=u(e,a),o=0;o<s.length;o++){var c=h(e,s[o]),l=new _n;l.readCertHex(c),r[o]=l,t.certkeys[o]=l.getPublicKey()}t.certs=r}else r=t.certs;t.cccc=r.length,t.cccci=s.length;for(o=0;o<r.length;o++){var d=l.getIssuerHex(),f=l.getSerialNumberHex();i.signerid_issuer1===d&&i.signerid_serial1===f&&(i.certkey_idx=o)}},x=function(e,t,i,n){i.verifyDetail={};var r=i.verifyDetail,a=t.parse.econtent,s=i.hashalg,o=i.saMessageDigest;r.validMessageDigest=!1,f(a,s)===o&&(r.validMessageDigest=!0),S(e,t,i,n),r.validSignatureValue=!1;var c=i.sigalg,l="31"+h(e,i.idxSignedAttrs).substr(2);i.signedattrshex=l;var u=t.certs[i.certkey_idx].getPublicKey(),d=new Mi.crypto.Signature({alg:c});d.init(u),d.updateHex(l);var p=d.verify(i.sigval);r.validSignatureValue_isValid=p,!0===p&&(r.validSignatureValue=!0),i.isValid=!1,r.validMessageDigest&&r.validSignatureValue&&(i.isValid=!0)},w={isValid:!1,parse:{}};return b(p,w.parse),C(p,w),w},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.asn1&&Mi.asn1||(Mi.asn1={}),"undefined"!=typeof Mi.asn1.tsp&&Mi.asn1.tsp||(Mi.asn1.tsp={}),Mi.asn1.tsp.Accuracy=function(e){var t=Mi,i=t.asn1,n=i.DERInteger,r=i.DERSequence,a=i.DERTaggedObject;i.tsp.Accuracy.superclass.constructor.call(this),this.seconds=null,this.millis=null,this.micros=null,this.getEncodedHex=function(){var e=null,t=null,i=null,s=[];if(null!=this.seconds&&(e=new n({int:this.seconds}),s.push(e)),null!=this.millis){var o=new n({int:this.millis});t=new a({obj:o,tag:"80",explicit:!1}),s.push(t)}if(null!=this.micros){var c=new n({int:this.micros});i=new a({obj:c,tag:"81",explicit:!1}),s.push(i)}var l=new r({array:s});return this.hTLV=l.getEncodedHex(),this.hTLV},void 0!==e&&("number"==typeof e.seconds&&(this.seconds=e.seconds),"number"==typeof e.millis&&(this.millis=e.millis),"number"==typeof e.micros&&(this.micros=e.micros))},r.lang.extend(Mi.asn1.tsp.Accuracy,Mi.asn1.ASN1Object),Mi.asn1.tsp.MessageImprint=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DEROctetString,a=i.x509,s=a.AlgorithmIdentifier;i.tsp.MessageImprint.superclass.constructor.call(this),this.dHashAlg=null,this.dHashValue=null,this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;var e=new n({array:[this.dHashAlg,this.dHashValue]});return e.getEncodedHex()},void 0!==e&&("string"==typeof e.hashAlg&&(this.dHashAlg=new s({name:e.hashAlg})),"string"==typeof e.hashValue&&(this.dHashValue=new r({hex:e.hashValue})))},r.lang.extend(Mi.asn1.tsp.MessageImprint,Mi.asn1.ASN1Object),Mi.asn1.tsp.TimeStampReq=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DERInteger,a=i.DERBoolean,s=i.DERObjectIdentifier,o=i.tsp,c=o.MessageImprint;o.TimeStampReq.superclass.constructor.call(this),this.dVersion=new r({int:1}),this.dMessageImprint=null,this.dPolicy=null,this.dNonce=null,this.certReq=!0,this.setMessageImprint=function(e){e instanceof c?this.dMessageImprint=e:"object"==typeof e&&(this.dMessageImprint=new c(e))},this.getEncodedHex=function(){if(null==this.dMessageImprint)throw"messageImprint shall be specified";var e=[this.dVersion,this.dMessageImprint];null!=this.dPolicy&&e.push(this.dPolicy),null!=this.dNonce&&e.push(this.dNonce),this.certReq&&e.push(new a);var t=new n({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("object"==typeof e.mi&&this.setMessageImprint(e.mi),"object"==typeof e.policy&&(this.dPolicy=new s(e.policy)),"object"==typeof e.nonce&&(this.dNonce=new r(e.nonce)),"boolean"==typeof e.certreq&&(this.certReq=e.certreq))},r.lang.extend(Mi.asn1.tsp.TimeStampReq,Mi.asn1.ASN1Object),Mi.asn1.tsp.TSTInfo=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DERInteger,a=i.DERBoolean,s=i.DERGeneralizedTime,o=i.DERObjectIdentifier,c=i.DERTaggedObject,l=i.tsp,u=l.MessageImprint,h=l.Accuracy,d=(i.x509.X500Name,i.x509.GeneralName);if(l.TSTInfo.superclass.constructor.call(this),this.dVersion=new r({int:1}),this.dPolicy=null,this.dMessageImprint=null,this.dSerialNumber=null,this.dGenTime=null,this.dAccuracy=null,this.dOrdering=null,this.dNonce=null,this.dTsa=null,this.getEncodedHex=function(){var e=[this.dVersion];if(null==this.dPolicy)throw"policy shall be specified.";if(e.push(this.dPolicy),null==this.dMessageImprint)throw"messageImprint shall be specified.";if(e.push(this.dMessageImprint),null==this.dSerialNumber)throw"serialNumber shall be specified.";if(e.push(this.dSerialNumber),null==this.dGenTime)throw"genTime shall be specified.";e.push(this.dGenTime),null!=this.dAccuracy&&e.push(this.dAccuracy),null!=this.dOrdering&&e.push(this.dOrdering),null!=this.dNonce&&e.push(this.dNonce),null!=this.dTsa&&e.push(this.dTsa);var t=new n({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e){if("string"==typeof e.policy){if(!e.policy.match(/^[0-9.]+$/))throw"policy shall be oid like 0.1.4.134";this.dPolicy=new o({oid:e.policy})}void 0!==e.messageImprint&&(this.dMessageImprint=new u(e.messageImprint)),void 0!==e.serialNumber&&(this.dSerialNumber=new r(e.serialNumber)),void 0!==e.genTime&&(this.dGenTime=new s(e.genTime)),void 0!==e.accuracy&&(this.dAccuracy=new h(e.accuracy)),void 0!==e.ordering&&1==e.ordering&&(this.dOrdering=new a),void 0!==e.nonce&&(this.dNonce=new r(e.nonce)),void 0!==e.tsa&&(this.dTsa=new c({tag:"a0",explicit:!0,obj:new d({dn:e.tsa})}))}},r.lang.extend(Mi.asn1.tsp.TSTInfo,Mi.asn1.ASN1Object),Mi.asn1.tsp.TimeStampResp=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.ASN1Object,a=i.tsp,s=a.PKIStatusInfo;a.TimeStampResp.superclass.constructor.call(this),this.dStatus=null,this.dTST=null,this.getEncodedHex=function(){if(null==this.dStatus)throw"status shall be specified";var e=[this.dStatus];null!=this.dTST&&e.push(this.dTST);var t=new n({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("object"==typeof e.status&&(this.dStatus=new s(e.status)),void 0!==e.tst&&e.tst instanceof r&&(this.dTST=e.tst.getContentInfo()))},r.lang.extend(Mi.asn1.tsp.TimeStampResp,Mi.asn1.ASN1Object),Mi.asn1.tsp.PKIStatusInfo=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.tsp,a=r.PKIStatus,s=r.PKIFreeText,o=r.PKIFailureInfo;r.PKIStatusInfo.superclass.constructor.call(this),this.dStatus=null,this.dStatusString=null,this.dFailureInfo=null,this.getEncodedHex=function(){if(null==this.dStatus)throw"status shall be specified";var e=[this.dStatus];null!=this.dStatusString&&e.push(this.dStatusString),null!=this.dFailureInfo&&e.push(this.dFailureInfo);var t=new n({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("object"==typeof e.status&&(this.dStatus=new a(e.status)),"object"==typeof e.statstr&&(this.dStatusString=new s({array:e.statstr})),"object"==typeof e.failinfo&&(this.dFailureInfo=new o(e.failinfo)))},r.lang.extend(Mi.asn1.tsp.PKIStatusInfo,Mi.asn1.ASN1Object),Mi.asn1.tsp.PKIStatus=function(e){var t=Mi,i=t.asn1,n=i.DERInteger,r=i.tsp,a=r.PKIStatus;r.PKIStatus.superclass.constructor.call(this);if(this.getEncodedHex=function(){return this.hTLV=this.dStatus.getEncodedHex(),this.hTLV},void 0!==e)if(void 0!==e.name){var s=a.valueList;if(void 0===s[e.name])throw"name undefined: "+e.name;this.dStatus=new n({int:s[e.name]})}else this.dStatus=new n(e)},r.lang.extend(Mi.asn1.tsp.PKIStatus,Mi.asn1.ASN1Object),Mi.asn1.tsp.PKIStatus.valueList={granted:0,grantedWithMods:1,rejection:2,waiting:3,revocationWarning:4,revocationNotification:5},Mi.asn1.tsp.PKIFreeText=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DERUTF8String,a=i.tsp;a.PKIFreeText.superclass.constructor.call(this),this.textList=[],this.getEncodedHex=function(){for(var e=[],t=0;t<this.textList.length;t++)e.push(new r({str:this.textList[t]}));var i=new n({array:e});return this.hTLV=i.getEncodedHex(),this.hTLV},void 0!==e&&"object"==typeof e.array&&(this.textList=e.array)},r.lang.extend(Mi.asn1.tsp.PKIFreeText,Mi.asn1.ASN1Object),Mi.asn1.tsp.PKIFailureInfo=function(e){var t=Mi,i=t.asn1,n=i.DERBitString,r=i.tsp,a=r.PKIFailureInfo;if(a.superclass.constructor.call(this),this.value=null,this.getEncodedHex=function(){if(null==this.value)throw"value shall be specified";var e=new Number(this.value).toString(2),t=new n;return t.setByBinaryString(e),this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e)if("string"==typeof e.name){var s=a.valueList;if(void 0===s[e.name])throw"name undefined: "+e.name;this.value=s[e.name]}else"number"==typeof e["int"]&&(this.value=e["int"])},r.lang.extend(Mi.asn1.tsp.PKIFailureInfo,Mi.asn1.ASN1Object),Mi.asn1.tsp.PKIFailureInfo.valueList={badAlg:0,badRequest:2,badDataFormat:5,timeNotAvailable:14,unacceptedPolicy:15,unacceptedExtension:16,addInfoNotAvailable:17,systemFailure:25},Mi.asn1.tsp.AbstractTSAAdapter=function(e){this.getTSTHex=function(e,t){throw"not implemented yet"}},Mi.asn1.tsp.SimpleTSAAdapter=function(e){var t=Mi,i=t.asn1,n=i.tsp,r=t.crypto.Util.hashHex;n.SimpleTSAAdapter.superclass.constructor.call(this),this.params=null,this.serial=0,this.getTSTHex=function(e,t){var i=r(e,t);this.params.tstInfo.messageImprint={hashAlg:t,hashValue:i},this.params.tstInfo.serialNumber={int:this.serial++};var a=Math.floor(1e9*Math.random());this.params.tstInfo.nonce={int:a};var s=n.TSPUtil.newTimeStampToken(this.params);return s.getContentInfoEncodedHex()},void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.tsp.SimpleTSAAdapter,Mi.asn1.tsp.AbstractTSAAdapter),Mi.asn1.tsp.FixedTSAAdapter=function(e){var t=Mi,i=t.asn1,n=i.tsp,r=t.crypto.Util.hashHex;n.FixedTSAAdapter.superclass.constructor.call(this),this.params=null,this.getTSTHex=function(e,t){var i=r(e,t);this.params.tstInfo.messageImprint={hashAlg:t,hashValue:i};var a=n.TSPUtil.newTimeStampToken(this.params);return a.getContentInfoEncodedHex()},void 0!==e&&(this.params=e)},r.lang.extend(Mi.asn1.tsp.FixedTSAAdapter,Mi.asn1.tsp.AbstractTSAAdapter),Mi.asn1.tsp.TSPUtil=new function(){},Mi.asn1.tsp.TSPUtil.newTimeStampToken=function(e){var t=Mi,i=t.asn1,n=t.asn1.DERInteger,r=i.cms,a=(i.tsp,i.tsp.TSTInfo),s=new r.SignedData,o=new a(e.tstInfo),c=o.getEncodedHex();if(s.dCMSVersion=new n({int:3}),s.dEncapContentInfo.setContentValue({hex:c}),s.dEncapContentInfo.setContentType("tstinfo"),"object"==typeof e.certs)for(var l=0;l<e.certs.length;l++)s.addCertificatesByPEM(e.certs[l]);var u=s.signerInfoList[0];u.setSignerIdentifier(e.signerCert),u.setForContentAndHash({sdObj:s,eciObj:s.dEncapContentInfo,contentType:"tstinfo",hashAlg:e.hashAlg});var h=new r.SigningCertificate({array:[e.signerCert]});return u.dSignedAttrs.add(h),u.sign(e.signerPrvKey,e.sigAlg),s},Mi.asn1.tsp.TSPUtil.parseTimeStampReq=function(e){var t=Ii,i=t.getChildIdx,n=t.getV,r=t.getTLV,a={certreq:!1},s=i(e,0);if(s.length<2)throw"TimeStampReq must have at least 2 items";var o=r(e,s[1]);a.mi=Mi.asn1.tsp.TSPUtil.parseMessageImprint(o);for(var c=2;c<s.length;c++){var l=s[c],u=e.substr(l,2);if("06"==u){var h=n(e,l);a.policy=t.hextooidstr(h)}"02"==u&&(a.nonce=n(e,l)),"01"==u&&(a.certreq=!0)}return a},Mi.asn1.tsp.TSPUtil.parseMessageImprint=function(e){var t=Ii,i=t.getChildIdx,n=t.getV,r=t.getIdxbyList,a={};if("30"!=e.substr(0,2))throw"head of messageImprint hex shall be '30'";i(e,0);var s=r(e,0,[0,0]),o=n(e,s),c=t.hextooidstr(o),l=Mi.asn1.x509.OID.oid2name(c);if(""==l)throw"hashAlg name undefined: "+c;var u=l,h=r(e,0,[1]);return a.hashAlg=u,a.hashValue=n(e,h),a},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.asn1&&Mi.asn1||(Mi.asn1={}),"undefined"!=typeof Mi.asn1.cades&&Mi.asn1.cades||(Mi.asn1.cades={}),Mi.asn1.cades.SignaturePolicyIdentifier=function(e){var t=Mi,i=t.asn1,n=i.DERObjectIdentifier,r=i.DERSequence,a=i.cades,s=a.OtherHashAlgAndValue;if(a.SignaturePolicyIdentifier.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.15",void 0!==e&&"string"==typeof e.oid&&"object"==typeof e.hash){var o=new n({oid:e.oid}),c=new s(e.hash),l=new r({array:[o,c]});this.valueList=[l]}},r.lang.extend(Mi.asn1.cades.SignaturePolicyIdentifier,Mi.asn1.cms.Attribute),Mi.asn1.cades.OtherHashAlgAndValue=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.DEROctetString,a=i.x509,s=a.AlgorithmIdentifier,o=i.cades,c=o.OtherHashAlgAndValue;c.superclass.constructor.call(this),this.dAlg=null,this.dHash=null,this.getEncodedHex=function(){var e=new n({array:[this.dAlg,this.dHash]});return this.hTLV=e.getEncodedHex(),this.hTLV},void 0!==e&&"string"==typeof e.alg&&"string"==typeof e.hash&&(this.dAlg=new s({name:e.alg}),this.dHash=new r({hex:e.hash}))},r.lang.extend(Mi.asn1.cades.OtherHashAlgAndValue,Mi.asn1.ASN1Object),Mi.asn1.cades.SignatureTimeStamp=function(e){var t=Mi,i=t.asn1,n=i.ASN1Object,r=(i.x509,i.cades);if(r.SignatureTimeStamp.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.14",this.tstHex=null,void 0!==e){if(void 0!==e.res)if("string"==typeof e.res&&e.res.match(/^[0-9A-Fa-f]+$/));else if(!(e.res instanceof n))throw"res param shall be ASN1Object or hex string";if(void 0!==e.tst)if("string"==typeof e.tst&&e.tst.match(/^[0-9A-Fa-f]+$/)){var a=new n;this.tstHex=e.tst,a.hTLV=this.tstHex,a.getEncodedHex(),this.valueList=[a]}else if(!(e.tst instanceof n))throw"tst param shall be ASN1Object or hex string"}},r.lang.extend(Mi.asn1.cades.SignatureTimeStamp,Mi.asn1.cms.Attribute),Mi.asn1.cades.CompleteCertificateRefs=function(e){var t=Mi,i=t.asn1,n=i.cades;n.CompleteCertificateRefs.superclass.constructor.call(this),this.attrTypeOid="1.2.840.113549.1.9.16.2.21",this.setByArray=function(e){this.valueList=[];for(var t=0;t<e.length;t++){var i=new n.OtherCertID(e[t]);this.valueList.push(i)}},void 0!==e&&"object"==typeof e&&"number"==typeof e.length&&this.setByArray(e)},r.lang.extend(Mi.asn1.cades.CompleteCertificateRefs,Mi.asn1.cms.Attribute),Mi.asn1.cades.OtherCertID=function(e){var t=Mi,i=t.asn1,n=i.cms,r=i.cades;r.OtherCertID.superclass.constructor.call(this),this.hasIssuerSerial=!0,this.dOtherCertHash=null,this.dIssuerSerial=null,this.setByCertPEM=function(e){this.dOtherCertHash=new r.OtherHash(e),this.hasIssuerSerial&&(this.dIssuerSerial=new n.IssuerAndSerialNumber(e))},this.getEncodedHex=function(){if(null!=this.hTLV)return this.hTLV;if(null==this.dOtherCertHash)throw"otherCertHash not set";var e=[this.dOtherCertHash];null!=this.dIssuerSerial&&e.push(this.dIssuerSerial);var t=new i.DERSequence({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&("string"==typeof e&&-1!=e.indexOf("-----BEGIN ")&&this.setByCertPEM(e),"object"==typeof e&&(!1===e.hasis&&(this.hasIssuerSerial=!1),"string"==typeof e.cert&&this.setByCertPEM(e.cert)))},r.lang.extend(Mi.asn1.cades.OtherCertID,Mi.asn1.ASN1Object),Mi.asn1.cades.OtherHash=function(e){var t=Mi,i=t.asn1,n=(i.cms,i.cades),r=n.OtherHashAlgAndValue,a=t.crypto.Util.hashHex;if(n.OtherHash.superclass.constructor.call(this),this.alg="sha256",this.dOtherHash=null,this.setByCertPEM=function(e){if(-1==e.indexOf("-----BEGIN "))throw"certPEM not to seem PEM format";var t=Qi(e),i=a(t,this.alg);this.dOtherHash=new r({alg:this.alg,hash:i})},this.getEncodedHex=function(){if(null==this.dOtherHash)throw"OtherHash not set";return this.dOtherHash.getEncodedHex()},void 0!==e)if("string"==typeof e)if(-1!=e.indexOf("-----BEGIN "))this.setByCertPEM(e);else{if(!e.match(/^[0-9A-Fa-f]+$/))throw"unsupported string value for params";this.dOtherHash=new i.DEROctetString({hex:e})}else"object"==typeof e&&("string"==typeof e.cert?("string"==typeof e.alg&&(this.alg=e.alg),this.setByCertPEM(e.cert)):this.dOtherHash=new r(e))},r.lang.extend(Mi.asn1.cades.OtherHash,Mi.asn1.ASN1Object),Mi.asn1.cades.CAdESUtil=new function(){},Mi.asn1.cades.CAdESUtil.addSigTS=function(e,t,i){},Mi.asn1.cades.CAdESUtil.parseSignedDataForAddingUnsigned=function(e){var t=Ii,i=t.getChildIdx,n=t.getTLV,r=t.getTLVbyList,a=(t.getTLVbyListEx,t.getIdxbyList),s=(t.getIdxbyListEx,Mi),o=s.asn1,c=o.ASN1Object,l=o.cms,u=l.SignedData,h=o.cades,d=h.CAdESUtil,f={};if("06092a864886f70d010702"!=r(e,0,[0]))throw"hex is not CMS SignedData";var p=a(e,0,[1,0]),m=i(e,p);if(m.length<4)throw"num of SignedData elem shall be 4 at least";var v=m.shift();f.version=n(e,v);var g=m.shift();f.algs=n(e,g);var y=m.shift();f.encapcontent=n(e,y),f.certs=null,f.revs=null,f.si=[];var b=m.shift();"a0"==e.substr(b,2)&&(f.certs=n(e,b),b=m.shift()),"a1"==e.substr(b,2)&&(f.revs=n(e,b),b=m.shift());var C=b;if("31"!=e.substr(C,2))throw"Can't find signerInfos";for(var S=i(e,C),x=0;x<S.length;x++){var w=S[x],_=d.parseSignerInfoForAddingUnsigned(e,w,x);f.si[x]=_}var A=null;f.obj=new u,A=new c,A.hTLV=f.version,f.obj.dCMSVersion=A,A=new c,A.hTLV=f.algs,f.obj.dDigestAlgs=A,A=new c,A.hTLV=f.encapcontent,f.obj.dEncapContentInfo=A,A=new c,A.hTLV=f.certs,f.obj.dCerts=A,f.obj.signerInfoList=[];for(x=0;x<f.si.length;x++)f.obj.signerInfoList.push(f.si[x].obj);return f},Mi.asn1.cades.CAdESUtil.parseSignerInfoForAddingUnsigned=function(e,t,i){var n=Ii,r=n.getChildIdx,a=n.getTLV,s=n.getV,o=Mi,c=o.asn1,l=c.ASN1Object,u=c.cms,h=u.AttributeList,d=u.SignerInfo,f={},p=r(e,t);if(6!=p.length)throw"not supported items for SignerInfo (!=6)";var m=p.shift();f.version=a(e,m);var v=p.shift();f.si=a(e,v);var g=p.shift();f.digalg=a(e,g);var y=p.shift();f.sattrs=a(e,y);var b=p.shift();f.sigalg=a(e,b);var C=p.shift();f.sig=a(e,C),f.sigval=s(e,C);var S=null;return f.obj=new d,S=new l,S.hTLV=f.version,f.obj.dCMSVersion=S,S=new l,S.hTLV=f.si,f.obj.dSignerIdentifier=S,S=new l,S.hTLV=f.digalg,f.obj.dDigestAlgorithm=S,S=new l,S.hTLV=f.sattrs,f.obj.dSignedAttrs=S,S=new l,S.hTLV=f.sigalg,f.obj.dSigAlg=S,S=new l,S.hTLV=f.sig,f.obj.dSig=S,f.obj.dUnsignedAttrs=new h,f},"undefined"!=typeof Mi.asn1.csr&&Mi.asn1.csr||(Mi.asn1.csr={}),Mi.asn1.csr.CertificationRequest=function(e){var t=Mi,i=t.asn1,n=i.DERBitString,r=i.DERSequence,a=i.csr,s=(i.x509,a.CertificationRequestInfo);a.CertificationRequest.superclass.constructor.call(this),this.setByParam=function(e){this.params=e},this.sign=function(){var e=new s(this.params).getEncodedHex(),t=new Mi.crypto.Signature({alg:this.params.sigalg});t.init(this.params.sbjprvkey),t.updateHex(e);var i=t.sign();this.params.sighex=i},this.getPEM=function(){return Ji(this.getEncodedHex(),"CERTIFICATE REQUEST")},this.getEncodedHex=function(){var e=this.params,t=new Mi.asn1.csr.CertificationRequestInfo(this.params),i=new Mi.asn1.x509.AlgorithmIdentifier({name:e.sigalg});if(void 0==e.sighex&&void 0!=e.sbjprvkey&&this.sign(),void 0==e.sighex)throw new Error("sighex or sbjprvkey parameter not defined");var a=new n({hex:"00"+e.sighex}),s=new r({array:[t,i,a]});return s.getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.csr.CertificationRequest,Mi.asn1.ASN1Object),Mi.asn1.csr.CertificationRequestInfo=function(e){var t=Mi,i=t.asn1,n=(i.DERBitString,i.DERSequence),r=i.DERInteger,a=i.DERUTF8String,s=i.DERTaggedObject,o=i.ASN1Util.newObject,c=i.csr,l=i.x509,u=l.X500Name,h=l.Extensions,d=l.SubjectPublicKeyInfo;c.CertificationRequestInfo.superclass.constructor.call(this),this.params=null,this.setByParam=function(e){void 0!=e&&(this.params=e)},this.getEncodedHex=function(){var e=this.params,t=[];if(t.push(new r({int:0})),t.push(new u(e.subject)),t.push(new d(bn.getKey(e.sbjpubkey))),void 0!=e.extreq){var i=new h(e.extreq),c=o({tag:{tag:"a0",explict:!0,obj:{seq:[{oid:"1.2.840.113549.1.9.14"},{set:[i]}]}}});t.push(c)}else t.push(new s({tag:"a0",explicit:!1,obj:new a({str:""})}));var l=new n({array:t});return l.getEncodedHex()},void 0!=e&&this.setByParam(e)},r.lang.extend(Mi.asn1.csr.CertificationRequestInfo,Mi.asn1.ASN1Object),Mi.asn1.csr.CSRUtil=new function(){},Mi.asn1.csr.CSRUtil.newCSRPEM=function(e){var t=Mi.asn1.csr,i=new t.CertificationRequest(e),n=i.getPEM();return n},Mi.asn1.csr.CSRUtil.getParam=function(e){var t=Ii,i=t.getV;_getIdxbyList=t.getIdxbyList,_getTLVbyList=t.getTLVbyList,_getTLVbyListEx=t.getTLVbyListEx,_getVbyListEx=t.getVbyListEx;var n=function(e){var t=_getIdxbyList(e,0,[0,3,0,0],"06");return"2a864886f70d01090e"!=i(e,t)?null:_getTLVbyList(e,0,[0,3,0,1,0],"30")},r={};if(-1==e.indexOf("-----BEGIN CERTIFICATE REQUEST"))throw new Error("argument is not PEM file");var a=Qi(e,"CERTIFICATE REQUEST");try{var s=_getTLVbyListEx(a,0,[0,1]),o=new _n;r.subject={},r.subject.array=o.getX500Name(s),r.subject.str=_n.hex2dn(s)}catch(f){}var c=_getTLVbyListEx(a,0,[0,2]),l=bn.getKey(c,null,"pkcs8pub");r.sbjpubkey=bn.getPEM(l,"PKCS8PUB");var u=n(a);o=new _n;null!=u&&(r.extreq=o.getExtParamArray(u));try{var h=_getTLVbyListEx(a,0,[1],"30");o=new _n;r.sigalg=o.getAlgorithmIdentifierName(h)}catch(f){}try{var d=_getVbyListEx(a,0,[2]);r.sighex=d}catch(f){}return r},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.asn1&&Mi.asn1||(Mi.asn1={}),"undefined"!=typeof Mi.asn1.ocsp&&Mi.asn1.ocsp||(Mi.asn1.ocsp={}),Mi.asn1.ocsp.DEFAULT_HASH="sha1",Mi.asn1.ocsp.OCSPResponse=function(e){Mi.asn1.ocsp.OCSPResponse.superclass.constructor.call(this);Mi.asn1.DEREnumerated;var t=Mi.asn1.ASN1Util.newObject,i=Mi.asn1.ocsp.ResponseBytes,n=["successful","malformedRequest","internalError","tryLater","_not_used_","sigRequired","unauthorized"];this.params=null,this._getStatusCode=function(){var e=this.params.resstatus;return"number"==typeof e?e:"string"!=typeof e?-1:n.indexOf(e)},this.setByParam=function(e){this.params=e},this.getEncodedHex=function(){var e=this.params,n=this._getStatusCode();if(-1==n)throw new Error("responseStatus not supported: "+e.resstatus);if(0!=n)return t({seq:[{enum:{int:n}}]}).getEncodedHex();var r=new i(e);return t({seq:[{enum:{int:0}},{tag:{tag:"a0",explicit:!0,obj:r}}]}).getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.OCSPResponse,Mi.asn1.ASN1Object),Mi.asn1.ocsp.ResponseBytes=function(e){Mi.asn1.ocsp.ResponseBytes.superclass.constructor.call(this);var t=Mi.asn1,i=t.DERSequence,n=t.DERObjectIdentifier,r=t.DEROctetString,a=t.ocsp.BasicOCSPResponse;this.params=null,this.setByParam=function(e){this.params=e},this.getEncodedHex=function(){var e=this.params;if("ocspBasic"!=e.restype)throw new Error("not supported responseType: "+e.restype);var t=new a(e),s=[];s.push(new n({name:"ocspBasic"})),s.push(new r({hex:t.getEncodedHex()}));var o=new i({array:s});return o.getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.ResponseBytes,Mi.asn1.ASN1Object),Mi.asn1.ocsp.BasicOCSPResponse=function(e){Mi.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call(this);var t=Error,i=Mi.asn1,n=i.ASN1Object,r=i.DERSequence,a=(i.DERGeneralizedTime,i.DERTaggedObject),s=i.DERBitString,o=(i.x509.Extensions,i.x509.AlgorithmIdentifier),c=i.ocsp;c.ResponderID;_SingleResponseList=c.SingleResponseList,_ResponseData=c.ResponseData,this.params=null,this.setByParam=function(e){this.params=e},this.sign=function(){var e=this.params,t=e.tbsresp.getEncodedHex(),i=new Mi.crypto.Signature({alg:e.sigalg});i.init(e.reskey),i.updateHex(t),e.sighex=i.sign()},this.getEncodedHex=function(){var e=this.params;void 0==e.tbsresp&&(e.tbsresp=new _ResponseData(e)),void 0==e.sighex&&void 0!=e.reskey&&this.sign();var i=[];if(i.push(e.tbsresp),i.push(new o({name:e.sigalg})),i.push(new s({hex:"00"+e.sighex})),void 0!=e.certs&&void 0!=e.certs.length){for(var c=[],l=0;l<e.certs.length;l++){var u=e.certs[l],h=null;if(Ii.isASN1HEX(u))h=u;else{if(!u.match(/-----BEGIN/))throw new t("certs["+l+"] not hex or PEM");h=Qi(u)}c.push(new n({tlv:h}))}var d=new r({array:c});i.push(new a({tag:"a0",explicit:!0,obj:d}))}var f=new r({array:i});return f.getEncodedHex()},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.BasicOCSPResponse,Mi.asn1.ASN1Object),Mi.asn1.ocsp.ResponseData=function(e){Mi.asn1.ocsp.ResponseData.superclass.constructor.call(this);var t=Error,i=Mi.asn1,n=i.DERSequence,r=i.DERGeneralizedTime,a=i.DERTaggedObject,s=i.x509.Extensions,o=i.ocsp,c=o.ResponderID;_SingleResponseList=o.SingleResponseList,this.params=null,this.getEncodedHex=function(){var e=this.params;void 0!=e.respid&&new t("respid not specified"),void 0!=e.prodat&&new t("prodat not specified"),void 0!=e.array&&new t("array not specified");var i=[];if(i.push(new c(e.respid)),i.push(new r(e.prodat)),i.push(new _SingleResponseList(e.array)),void 0!=e.ext){var o=new s(e.ext);i.push(new a({tag:"a1",explicit:!0,obj:o}))}var l=new n({array:i});return l.getEncodedHex()},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.ResponseData,Mi.asn1.ASN1Object),Mi.asn1.ocsp.ResponderID=function(e){Mi.asn1.ocsp.ResponderID.superclass.constructor.call(this);var t=Mi.asn1,i=t.ASN1Util.newObject,n=t.x509.X500Name;this.params=null,this.getEncodedHex=function(){var e=this.params;if(void 0!=e.key){var t=i({tag:{tag:"a2",explicit:!0,obj:{octstr:{hex:e.key}}}});return t.getEncodedHex()}if(void 0!=e.name){t=i({tag:{tag:"a1",explicit:!0,obj:new n(e.name)}});return t.getEncodedHex()}throw new Error("key or name not specified")},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.ResponderID,Mi.asn1.ASN1Object),Mi.asn1.ocsp.SingleResponseList=function(e){Mi.asn1.ocsp.SingleResponseList.superclass.constructor.call(this);var t=Mi.asn1,i=t.DERSequence,n=t.ocsp.SingleResponse;this.params=null,this.getEncodedHex=function(){var e=this.params;if("object"!=typeof e||void 0==e.length)throw new Error("params not specified properly");for(var t=[],r=0;r<e.length;r++)t.push(new n(e[r]));var a=new i({array:t});return a.getEncodedHex()},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.SingleResponseList,Mi.asn1.ASN1Object),Mi.asn1.ocsp.SingleResponse=function(e){var t=Error,i=Mi,n=i.asn1,r=n.DERSequence,a=n.DERGeneralizedTime,s=n.DERTaggedObject,o=n.ocsp,c=o.CertID,l=o.CertStatus,u=n.x509,h=u.Extensions;o.SingleResponse.superclass.constructor.call(this),this.params=null,this.getEncodedHex=function(){var e=this.params,i=[];if(void 0==e.certid)throw new t("certid unspecified");if(void 0==e.status)throw new t("status unspecified");if(void 0==e.thisupdate)throw new t("thisupdate unspecified");if(i.push(new c(e.certid)),i.push(new l(e.status)),i.push(new a(e.thisupdate)),void 0!=e.nextupdate){var n=new a(e.nextupdate);i.push(new s({tag:"a0",explicit:!0,obj:n}))}if(void 0!=e.ext){var o=new h(e.ext);i.push(new s({tag:"a1",explicit:!0,obj:o}))}var u=new r({array:i});return u.getEncodedHex()},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.SingleResponse,Mi.asn1.ASN1Object),Mi.asn1.ocsp.CertID=function(e){var t=Mi,i=t.asn1,n=i.DEROctetString,r=i.DERInteger,a=i.DERSequence,s=i.x509,o=s.AlgorithmIdentifier,c=i.ocsp,l=c.DEFAULT_HASH,u=t.crypto,h=u.Util.hashHex,d=_n,f=Ii;if(c.CertID.superclass.constructor.call(this),this.dHashAlg=null,this.dIssuerNameHash=null,this.dIssuerKeyHash=null,this.dSerialNumber=null,this.setByValue=function(e,t,i,a){void 0===a&&(a=l),this.dHashAlg=new o({name:a}),this.dIssuerNameHash=new n({hex:e}),this.dIssuerKeyHash=new n({hex:t}),this.dSerialNumber=new r({hex:i})},this.setByCert=function(e,t,i){void 0===i&&(i=l);var n=new d;n.readCertPEM(t);var r=new d;r.readCertPEM(e);var a=r.getPublicKeyHex(),s=f.getTLVbyList(a,0,[1,0],"30"),o=n.getSerialNumberHex(),c=h(r.getSubjectHex(),i),u=h(s,i);this.setByValue(c,u,o,i),this.hoge=n.getSerialNumberHex()},this.getEncodedHex=function(){if(null===this.dHashAlg&&null===this.dIssuerNameHash&&null===this.dIssuerKeyHash&&null===this.dSerialNumber)throw"not yet set values";var e=[this.dHashAlg,this.dIssuerNameHash,this.dIssuerKeyHash,this.dSerialNumber],t=new a({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e){var p=e;if(void 0!==p.issuerCert&&void 0!==p.subjectCert){var m=l;void 0===p.alg&&(m=void 0),this.setByCert(p.issuerCert,p.subjectCert,m)}else{if(void 0===p.issname||void 0===p.isskey||void 0===p.sbjsn)throw new Error("invalid constructor arguments");m=l;void 0===p.alg&&(m=void 0),this.setByValue(p.issname,p.isskey,p.sbjsn,m)}}},r.lang.extend(Mi.asn1.ocsp.CertID,Mi.asn1.ASN1Object),Mi.asn1.ocsp.CertStatus=function(e){Mi.asn1.ocsp.CertStatus.superclass.constructor.call(this),this.params=null,this.getEncodedHex=function(){var e=this.params;if("good"==e.status)return"8000";if("unknown"==e.status)return"8200";if("revoked"==e.status){var t=[{gentime:{str:e.time}}];void 0!=e.reason&&t.push({tag:{tag:"a0",explicit:!0,obj:{enum:{int:e.reason}}}});var i={tag:"a1",explicit:!1,obj:{seq:t}};return Mi.asn1.ASN1Util.newObject({tag:i}).getEncodedHex()}throw new Error("bad status")},this.setByParam=function(e){this.params=e},void 0!==e&&this.setByParam(e)},r.lang.extend(Mi.asn1.ocsp.CertStatus,Mi.asn1.ASN1Object),Mi.asn1.ocsp.Request=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.ocsp;if(r.Request.superclass.constructor.call(this),this.dReqCert=null,this.dExt=null,this.getEncodedHex=function(){var e=[];if(null===this.dReqCert)throw"reqCert not set";e.push(this.dReqCert);var t=new n({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},"undefined"!==typeof e){var a=new r.CertID(e);this.dReqCert=a}},r.lang.extend(Mi.asn1.ocsp.Request,Mi.asn1.ASN1Object),Mi.asn1.ocsp.TBSRequest=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.ocsp;r.TBSRequest.superclass.constructor.call(this),this.version=0,this.dRequestorName=null,this.dRequestList=[],this.dRequestExt=null,this.setRequestListByParam=function(e){for(var t=[],i=0;i<e.length;i++){var n=new r.Request(e[0]);t.push(n)}this.dRequestList=t},this.getEncodedHex=function(){var e=[];if(0!==this.version)throw"not supported version: "+this.version;if(null!==this.dRequestorName)throw"requestorName not supported";var t=new n({array:this.dRequestList});if(e.push(t),null!==this.dRequestExt)throw"requestExtensions not supported";var i=new n({array:e});return this.hTLV=i.getEncodedHex(),this.hTLV},void 0!==e&&void 0!==e.reqList&&this.setRequestListByParam(e.reqList)},r.lang.extend(Mi.asn1.ocsp.TBSRequest,Mi.asn1.ASN1Object),Mi.asn1.ocsp.OCSPRequest=function(e){var t=Mi,i=t.asn1,n=i.DERSequence,r=i.ocsp;if(r.OCSPRequest.superclass.constructor.call(this),this.dTbsRequest=null,this.dOptionalSignature=null,this.getEncodedHex=function(){var e=[];if(null===this.dTbsRequest)throw"tbsRequest not set";if(e.push(this.dTbsRequest),null!==this.dOptionalSignature)throw"optionalSignature not supported";var t=new n({array:e});return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==e&&void 0!==e.reqList){var a=new r.TBSRequest(e);this.dTbsRequest=a}},r.lang.extend(Mi.asn1.ocsp.OCSPRequest,Mi.asn1.ASN1Object),Mi.asn1.ocsp.OCSPUtil={},Mi.asn1.ocsp.OCSPUtil.getRequestHex=function(e,t,i){var n=Mi,r=n.asn1,a=r.ocsp;void 0===i&&(i=a.DEFAULT_HASH);var s={alg:i,issuerCert:e,subjectCert:t},o=new a.OCSPRequest({reqList:[s]});return o.getEncodedHex()},Mi.asn1.ocsp.OCSPUtil.getOCSPResponseInfo=function(e){var t=Ii,i=t.getVbyList,n=t.getVbyListEx,r=t.getIdxbyList,a=(t.getIdxbyListEx,t.getV),s={};try{var o=n(e,0,[0],"0a");s.responseStatus=parseInt(o,16)}catch(h){}if(0!==s.responseStatus)return s;try{var c=r(e,0,[1,0,1,0,0,2,0,1]);"80"===e.substr(c,2)?s.certStatus="good":"a1"===e.substr(c,2)?(s.certStatus="revoked",s.revocationTime=Ui(i(e,c,[0]))):"82"===e.substr(c,2)&&(s.certStatus="unknown")}catch(h){}try{var l=r(e,0,[1,0,1,0,0,2,0,2]);s.thisUpdate=Ui(a(e,l))}catch(h){}try{var u=r(e,0,[1,0,1,0,0,2,0,3]);"a0"===e.substr(u,2)&&(s.nextUpdate=Ui(i(e,u,[0])))}catch(h){}return s},Mi.asn1.ocsp.OCSPParser=function(){var e=Error,t=_n,i=new t,n=Ii,r=n.getV,a=n.getTLV,s=n.getIdxbyList,o=n.getTLVbyListEx,c=n.getChildIdx;this.getOCSPRequest=function(t){var i=c(t,0);if(1!=i.length&&2!=i.length)throw new e("wrong number elements: "+i.length);var n=this.getTBSRequest(a(t,i[0]));return n},this.getTBSRequest=function(e){var t={},n=o(e,0,[0],"30");t.array=this.getRequestList(n);var r=o(e,0,["[2]",0],"30");return null!=r&&(t.ext=i.getExtParamArray(r)),t},this.getRequestList=function(e){for(var t=[],i=c(e,0),n=0;n<i.length;n++){e=a(e,i[n]);t.push(this.getRequest(e))}return t},this.getRequest=function(t){var n=c(t,0);if(1!=n.length&&2!=n.length)throw new e("wrong number elements: "+n.length);var r=this.getCertID(a(t,n[0]));if(2==n.length){var o=s(t,0,[1,0]);r.ext=i.getExtParamArray(a(t,o))}return r},this.getCertID=function(i){var n=c(i,0);if(4!=n.length)throw new e("wrong number elements: "+n.length);var s=new t,o={};return o.alg=s.getAlgorithmIdentifierName(a(i,n[0])),o.issname=r(i,n[1]),o.isskey=r(i,n[2]),o.sbjsn=r(i,n[3]),o}},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.lang&&Mi.lang||(Mi.lang={}),Mi.lang.String=function(){},"function"===typeof e?(zi=function(t){return Vi(new e(t,"utf8").toString("base64"))},Ti=function(t){return new e(Ri(t),"base64").toString("utf8")}):(zi=function(e){return Bi(on(fn(e)))},Ti=function(e){return decodeURIComponent(cn(ji(e)))}),Mi.lang.String.isInteger=function(e){return!!e.match(/^[0-9]+$/)||!!e.match(/^-[0-9]+$/)},Mi.lang.String.isHex=function(e){return!(e.length%2!=0||!e.match(/^[0-9a-f]+$/)&&!e.match(/^[0-9A-F]+$/))},Mi.lang.String.isBase64=function(e){return e=e.replace(/\s+/g,""),!(!e.match(/^[0-9A-Za-z+\/]+={0,3}$/)||e.length%4!=0)},Mi.lang.String.isBase64URL=function(e){return!e.match(/[+/=]/)&&(e=Ri(e),Mi.lang.String.isBase64(e))},Mi.lang.String.isIntegerArray=function(e){return e=e.replace(/\s+/g,""),!!e.match(/^\[[0-9,]+\]$/)},Mi.lang.String.isPrintable=function(e){return null!==e.match(/^[0-9A-Za-z '()+,-./:=?]*$/)},Mi.lang.String.isIA5=function(e){return null!==e.match(/^[\x20-\x21\x23-\x7f]*$/)},Mi.lang.String.isMail=function(e){return null!==e.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var yn=function(e,t){var i=e.length;e.length>t.length&&(i=t.length);for(var n=0;n<i;n++)if(e.charCodeAt(n)!=t.charCodeAt(n))return n;return e.length!=t.length?i:-1};"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.crypto&&Mi.crypto||(Mi.crypto={}),Mi.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:a.algo.MD5,sha1:a.algo.SHA1,sha224:a.algo.SHA224,sha256:a.algo.SHA256,sha384:a.algo.SHA384,sha512:a.algo.SHA512,ripemd160:a.algo.RIPEMD160},this.getDigestInfoHex=function(e,t){if("undefined"==typeof this.DIGESTINFOHEAD[t])throw"alg not supported in Util.DIGESTINFOHEAD: "+t;return this.DIGESTINFOHEAD[t]+e},this.getPaddedDigestInfoHex=function(e,t,i){var n=this.getDigestInfoHex(e,t),r=i/4;if(n.length+22>r)throw"key is too short for SigAlg: keylen="+i+","+t;for(var a="0001",s="00"+n,o="",c=r-a.length-s.length,l=0;l<c;l+=2)o+="ff";var u=a+o+s;return u},this.hashString=function(e,t){var i=new Mi.crypto.MessageDigest({alg:t});return i.digestString(e)},this.hashHex=function(e,t){var i=new Mi.crypto.MessageDigest({alg:t});return i.digestHex(e)},this.sha1=function(e){return this.hashString(e,"sha1")},this.sha256=function(e){return this.hashString(e,"sha256")},this.sha256Hex=function(e){return this.hashHex(e,"sha256")},this.sha512=function(e){return this.hashString(e,"sha512")},this.sha512Hex=function(e){return this.hashHex(e,"sha512")},this.isKey=function(e){return e instanceof Rt||e instanceof Mi.crypto.DSA||e instanceof Mi.crypto.ECDSA}},Mi.crypto.Util.md5=function(e){var t=new Mi.crypto.MessageDigest({alg:"md5",prov:"cryptojs"});return t.digestString(e)},Mi.crypto.Util.ripemd160=function(e){var t=new Mi.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"});return t.digestString(e)},Mi.crypto.Util.SECURERANDOMGEN=new Ot,Mi.crypto.Util.getRandomHexOfNbytes=function(e){var t=new Array(e);return Mi.crypto.Util.SECURERANDOMGEN.nextBytes(t),Pi(t)},Mi.crypto.Util.getRandomBigIntegerOfNbytes=function(e){return new p(Mi.crypto.Util.getRandomHexOfNbytes(e),16)},Mi.crypto.Util.getRandomHexOfNbits=function(e){var t=e%8,i=(e-t)/8,n=new Array(i+1);return Mi.crypto.Util.SECURERANDOMGEN.nextBytes(n),n[0]=(255<<t&255^255)&n[0],Pi(n)},Mi.crypto.Util.getRandomBigIntegerOfNbits=function(e){return new p(Mi.crypto.Util.getRandomHexOfNbits(e),16)},Mi.crypto.Util.getRandomBigIntegerZeroToMax=function(e){var t=e.bitLength();while(1){var i=Mi.crypto.Util.getRandomBigIntegerOfNbits(t);if(-1!=e.compareTo(i))return i}},Mi.crypto.Util.getRandomBigIntegerMinToMax=function(e,t){var i=e.compareTo(t);if(1==i)throw"biMin is greater than biMax";if(0==i)return e;var n=t.subtract(e),r=Mi.crypto.Util.getRandomBigIntegerZeroToMax(n);return r.add(e)},Mi.crypto.MessageDigest=function(e){this.setAlgAndProvider=function(e,t){if(e=Mi.crypto.MessageDigest.getCanonicalAlgName(e),null!==e&&void 0===t&&(t=Mi.crypto.Util.DEFAULTPROVIDER[e]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(e)&&"cryptojs"==t){try{this.md=Mi.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[e].create()}catch(i){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+i}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=a.enc.Hex.parse(e);this.md.update(t)},this.digest=function(){var e=this.md.finalize();return e.toString(a.enc.Hex)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}if(-1!=":sha256:".indexOf(e)&&"sjcl"==t){try{this.md=new sjcl.hash.sha256}catch(i){throw"setAlgAndProvider hash alg set fail alg="+e+"/"+i}this.updateString=function(e){this.md.update(e)},this.updateHex=function(e){var t=sjcl.codec.hex.toBits(e);this.md.update(t)},this.digest=function(){var e=this.md.finalize();return sjcl.codec.hex.fromBits(e)},this.digestString=function(e){return this.updateString(e),this.digest()},this.digestHex=function(e){return this.updateHex(e),this.digest()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(e){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==e&&void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=Mi.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},Mi.crypto.MessageDigest.getCanonicalAlgName=function(e){return"string"===typeof e&&(e=e.toLowerCase(),e=e.replace(/-/,"")),e},Mi.crypto.MessageDigest.getHashLength=function(e){var t=Mi.crypto.MessageDigest,i=t.getCanonicalAlgName(e);if(void 0===t.HASHLENGTH[i])throw"not supported algorithm: "+e;return t.HASHLENGTH[i]},Mi.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},Mi.crypto.Mac=function(e){this.setAlgAndProvider=function(e,t){if(e=e.toLowerCase(),null==e&&(e="hmacsha1"),e=e.toLowerCase(),"hmac"!=e.substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+e;void 0===t&&(t=Mi.crypto.Util.DEFAULTPROVIDER[e]),this.algProv=e+"/"+t;var i=e.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(i)&&"cryptojs"==t){try{var n=Mi.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[i];this.mac=a.algo.HMAC.create(n,this.pass)}catch(r){throw"setAlgAndProvider hash alg set fail hashAlg="+i+"/"+r}this.updateString=function(e){this.mac.update(e)},this.updateHex=function(e){var t=a.enc.Hex.parse(e);this.mac.update(t)},this.doFinal=function(){var e=this.mac.finalize();return e.toString(a.enc.Hex)},this.doFinalString=function(e){return this.updateString(e),this.doFinal()},this.doFinalHex=function(e){return this.updateHex(e),this.doFinal()}}},this.updateString=function(e){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(e){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(e){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},this.setPassword=function(e){if("string"==typeof e){var t=e;return e.length%2!=1&&e.match(/^[0-9A-Fa-f]+$/)||(t=Xi(e)),void(this.pass=a.enc.Hex.parse(t))}if("object"!=typeof e)throw"KJUR.crypto.Mac unsupported password type: "+e;t=null;if(void 0!==e.hex){if(e.hex.length%2!=0||!e.hex.match(/^[0-9A-Fa-f]+$/))throw"Mac: wrong hex password: "+e.hex;t=e.hex}if(void 0!==e.utf8&&(t=qi(e.utf8)),void 0!==e.rstr&&(t=Xi(e.rstr)),void 0!==e.b64&&(t=u(e.b64)),void 0!==e.b64u&&(t=ji(e.b64u)),null==t)throw"KJUR.crypto.Mac unsupported password type: "+e;this.pass=a.enc.Hex.parse(t)},void 0!==e&&(void 0!==e.pass&&this.setPassword(e.pass),void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov&&(this.provName=Mi.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},Mi.crypto.Signature=function(e){var t=null;if(this._setAlgNames=function(){var e=this.algName.match(/^(.+)with(.+)$/);e&&(this.mdAlgName=e[1].toLowerCase(),this.pubkeyAlgName=e[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(e,t){for(var i="",n=t/4-e.length,r=0;r<n;r++)i+="0";return i+e},this.setAlgAndProvider=function(e,t){if(this._setAlgNames(),"cryptojs/jsrsa"!=t)throw new Error("provider not supported: "+t);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new Mi.crypto.MessageDigest({alg:this.mdAlgName})}catch(i){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+i)}this.init=function(e,t){var i=null;try{i=void 0===t?bn.getKey(e):bn.getKey(e,t)}catch(n){throw"init failed:"+n}if(!0===i.isPrivate)this.prvKey=i,this.state="SIGN";else{if(!0!==i.isPublic)throw"init failed.:"+i;this.pubKey=i,this.state="VERIFY"}},this.updateString=function(e){this.md.updateString(e)},this.updateHex=function(e){this.md.updateHex(e)},this.sign=function(){if(this.sHashHex=this.md.digest(),void 0===this.prvKey&&void 0!==this.ecprvhex&&void 0!==this.eccurvename&&void 0!==Mi.crypto.ECDSA&&(this.prvKey=new Mi.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})),this.prvKey instanceof Rt&&"rsaandmgf1"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if(this.prvKey instanceof Rt&&"rsa"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else if(this.prvKey instanceof Mi.crypto.ECDSA)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex);else{if(!(this.prvKey instanceof Mi.crypto.DSA))throw"Signature: unsupported private key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(e){return this.updateString(e),this.sign()},this.signHex=function(e){return this.updateHex(e),this.sign()},this.verify=function(e){if(this.sHashHex=this.md.digest(),void 0===this.pubKey&&void 0!==this.ecpubhex&&void 0!==this.eccurvename&&void 0!==Mi.crypto.ECDSA&&(this.pubKey=new Mi.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})),this.pubKey instanceof Rt&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,e,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof Rt&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);if(void 0!==Mi.crypto.ECDSA&&this.pubKey instanceof Mi.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);if(void 0!==Mi.crypto.DSA&&this.pubKey instanceof Mi.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,e);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(e,t){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(e){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(e){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(e){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(e){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(e){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=e,void 0!==e&&(void 0!==e.alg&&(this.algName=e.alg,void 0===e.prov?this.provName=Mi.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=e.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==e.psssaltlen&&(this.pssSaltLen=e.psssaltlen),void 0!==e.prvkeypem)){if(void 0!==e.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{t=bn.getKey(e.prvkeypem);this.init(t)}catch(i){throw"fatal error to load pem private key: "+i}}},Mi.crypto.Cipher=function(e){},Mi.crypto.Cipher.encrypt=function(e,t,i){if(t instanceof Rt&&t.isPublic){var n=Mi.crypto.Cipher.getAlgByKeyAndName(t,i);if("RSA"===n)return t.encrypt(e);if("RSAOAEP"===n)return t.encryptOAEP(e,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return t.encryptOAEP(e,"sha"+r[1]);throw"Cipher.encrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.encrypt: unsupported key or algorithm"},Mi.crypto.Cipher.decrypt=function(e,t,i){if(t instanceof Rt&&t.isPrivate){var n=Mi.crypto.Cipher.getAlgByKeyAndName(t,i);if("RSA"===n)return t.decrypt(e);if("RSAOAEP"===n)return t.decryptOAEP(e,"sha1");var r=n.match(/^RSAOAEP(\d+)$/);if(null!==r)return t.decryptOAEP(e,"sha"+r[1]);throw"Cipher.decrypt: unsupported algorithm for RSAKey: "+i}throw"Cipher.decrypt: unsupported key or algorithm"},Mi.crypto.Cipher.getAlgByKeyAndName=function(e,t){if(e instanceof Rt){if(-1!=":RSA:RSAOAEP:RSAOAEP224:RSAOAEP256:RSAOAEP384:RSAOAEP512:".indexOf(t))return t;if(null===t||void 0===t)return"RSA";throw"getAlgByKeyAndName: not supported algorithm name for RSAKey: "+t}throw"getAlgByKeyAndName: not supported algorithm name: "+t},Mi.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.crypto&&Mi.crypto||(Mi.crypto={}),Mi.crypto.ECDSA=function(e){var t="secp256r1",i=Error,n=p,r=li,a=Mi.crypto.ECDSA,s=Mi.crypto.ECParameterDB,o=a.getName,c=Ii,l=c.getVbyListEx,u=c.isASN1HEX,h=new Ot;this.type="EC",this.isPrivate=!1,this.isPublic=!1,this.getBigRandom=function(e){return new n(e.bitLength(),h).mod(e.subtract(n.ONE)).add(n.ONE)},this.setNamedCurve=function(e){this.ecparams=s.getByName(e),this.prvKeyHex=null,this.pubKeyHex=null,this.curveName=e},this.setPrivateKeyHex=function(e){this.isPrivate=!0,this.prvKeyHex=e},this.setPublicKeyHex=function(e){this.isPublic=!0,this.pubKeyHex=e},this.getPublicKeyXYHex=function(){var e=this.pubKeyHex;if("04"!==e.substr(0,2))throw"this method supports uncompressed format(04) only";var t=this.ecparams.keylen/4;if(e.length!==2+2*t)throw"malformed public key hex length";var i={};return i.x=e.substr(2,t),i.y=e.substr(2+t),i},this.getShortNISTPCurveName=function(){var e=this.curveName;return"secp256r1"===e||"NIST P-256"===e||"P-256"===e||"prime256v1"===e?"P-256":"secp384r1"===e||"NIST P-384"===e||"P-384"===e?"P-384":null},this.generateKeyPairHex=function(){var e=this.ecparams.n,t=this.getBigRandom(e),i=this.ecparams.G.multiply(t),n=i.getX().toBigInteger(),r=i.getY().toBigInteger(),a=this.ecparams.keylen/4,s=("0000000000"+t.toString(16)).slice(-a),o=("0000000000"+n.toString(16)).slice(-a),c=("0000000000"+r.toString(16)).slice(-a),l="04"+o+c;return this.setPrivateKeyHex(s),this.setPublicKeyHex(l),{ecprvhex:s,ecpubhex:l}},this.signWithMessageHash=function(e){return this.signHex(e,this.prvKeyHex)},this.signHex=function(e,t){var i=new n(t,16),r=this.ecparams.n,s=new n(e.substring(0,this.ecparams.keylen/4),16);do{var o=this.getBigRandom(r),c=this.ecparams.G,l=c.multiply(o),u=l.getX().toBigInteger().mod(r)}while(u.compareTo(n.ZERO)<=0);var h=o.modInverse(r).multiply(s.add(i.multiply(u))).mod(r);return a.biRSSigToASN1Sig(u,h)},this.sign=function(e,t){var i=t,r=this.ecparams.n,a=n.fromByteArrayUnsigned(e);do{var s=this.getBigRandom(r),o=this.ecparams.G,c=o.multiply(s),l=c.getX().toBigInteger().mod(r)}while(l.compareTo(p.ZERO)<=0);var u=s.modInverse(r).multiply(a.add(i.multiply(l))).mod(r);return this.serializeSig(l,u)},this.verifyWithMessageHash=function(e,t){return this.verifyHex(e,t,this.pubKeyHex)},this.verifyHex=function(e,t,i){try{var s,o,c=a.parseSigHex(t);s=c.r,o=c.s;var l=r.decodeFromHex(this.ecparams.curve,i),u=new n(e.substring(0,this.ecparams.keylen/4),16);return this.verifyRaw(u,s,o,l)}catch(h){return!1}},this.verify=function(e,t,i){var a,s,o;if(Bitcoin.Util.isArray(t)){var c=this.parseSig(t);a=c.r,s=c.s}else{if("object"!==typeof t||!t.r||!t.s)throw"Invalid value for signature";a=t.r,s=t.s}if(i instanceof li)o=i;else{if(!Bitcoin.Util.isArray(i))throw"Invalid format for pubkey value, must be byte array or ECPointFp";o=r.decodeFrom(this.ecparams.curve,i)}var l=n.fromByteArrayUnsigned(e);return this.verifyRaw(l,a,s,o)},this.verifyRaw=function(e,t,i,r){var a=this.ecparams.n,s=this.ecparams.G;if(t.compareTo(n.ONE)<0||t.compareTo(a)>=0)return!1;if(i.compareTo(n.ONE)<0||i.compareTo(a)>=0)return!1;var o=i.modInverse(a),c=e.multiply(o).mod(a),l=t.multiply(o).mod(a),u=s.multiply(c).add(r.multiply(l)),h=u.getX().toBigInteger().mod(a);return h.equals(t)},this.serializeSig=function(e,t){var i=e.toByteArraySigned(),n=t.toByteArraySigned(),r=[];return r.push(2),r.push(i.length),r=r.concat(i),r.push(2),r.push(n.length),r=r.concat(n),r.unshift(r.length),r.unshift(48),r},this.parseSig=function(e){var t;if(48!=e[0])throw new Error("Signature not a valid DERSequence");if(t=2,2!=e[t])throw new Error("First element in signature must be a DERInteger");var i=e.slice(t+2,t+2+e[t+1]);if(t+=2+e[t+1],2!=e[t])throw new Error("Second element in signature must be a DERInteger");var r=e.slice(t+2,t+2+e[t+1]);t+=2+e[t+1];var a=n.fromByteArrayUnsigned(i),s=n.fromByteArrayUnsigned(r);return{r:a,s:s}},this.parseSigCompact=function(e){if(65!==e.length)throw"Signature has the wrong length";var t=e[0]-27;if(t<0||t>7)throw"Invalid signature type";var i=this.ecparams.n,r=n.fromByteArrayUnsigned(e.slice(1,33)).mod(i),a=n.fromByteArrayUnsigned(e.slice(33,65)).mod(i);return{r:r,s:a,i:t}},this.readPKCS5PrvKeyHex=function(e){if(!1===u(e))throw new Error("not ASN.1 hex string");var t,i,n;try{t=l(e,0,["[0]",0],"06"),i=l(e,0,[1],"04");try{n=l(e,0,["[1]",0],"03")}catch(r){}}catch(r){throw new Error("malformed PKCS#1/5 plain ECC private key")}if(this.curveName=o(t),void 0===this.curveName)throw"unsupported curve name";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(i),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(e){if(!1===u(e))throw new i("not ASN.1 hex string");var t,n,r;try{l(e,0,[1,0],"06"),t=l(e,0,[1,1],"06"),n=l(e,0,[2,0,1],"04");try{r=l(e,0,[2,0,"[1]",0],"03")}catch(a){}}catch(a){throw new i("malformed PKCS#8 plain ECC private key")}if(this.curveName=o(t),void 0===this.curveName)throw new i("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(r),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(e){if(!1===u(e))throw new i("not ASN.1 hex string");var t,n;try{l(e,0,[0,0],"06"),t=l(e,0,[0,1],"06"),n=l(e,0,[1],"03")}catch(r){throw new i("malformed PKCS#8 ECC public key")}if(this.curveName=o(t),null===this.curveName)throw new i("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(e,t){if(!1===u(e))throw new i("not ASN.1 hex string");var n,r;try{n=l(e,0,[0,5,0,1],"06"),r=l(e,0,[0,5,1],"03")}catch(a){throw new i("malformed X.509 certificate ECC public key")}if(this.curveName=o(n),null===this.curveName)throw new i("unsupported curve name");this.setNamedCurve(this.curveName),this.setPublicKeyHex(r)},void 0!==e&&void 0!==e.curve&&(this.curveName=e.curve),void 0===this.curveName&&(this.curveName=t),this.setNamedCurve(this.curveName),void 0!==e&&(void 0!==e.prv&&this.setPrivateKeyHex(e.prv),void 0!==e.pub&&this.setPublicKeyHex(e.pub))},Mi.crypto.ECDSA.parseSigHex=function(e){var t=Mi.crypto.ECDSA.parseSigHexInHexRS(e),i=new p(t.r,16),n=new p(t.s,16);return{r:i,s:n}},Mi.crypto.ECDSA.parseSigHexInHexRS=function(e){var t=Ii,i=t.getChildIdx,n=t.getV;if(t.checkStrictDER(e,0),"30"!=e.substr(0,2))throw new Error("signature is not a ASN.1 sequence");var r=i(e,0);if(2!=r.length)throw new Error("signature shall have two elements");var a=r[0],s=r[1];if("02"!=e.substr(a,2))throw new Error("1st item not ASN.1 integer");if("02"!=e.substr(s,2))throw new Error("2nd item not ASN.1 integer");var o=n(e,a),c=n(e,s);return{r:o,s:c}},Mi.crypto.ECDSA.asn1SigToConcatSig=function(e){var t=Mi.crypto.ECDSA.parseSigHexInHexRS(e),i=t.r,n=t.s;if("00"==i.substr(0,2)&&i.length%32==2&&(i=i.substr(2)),"00"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),i.length%32==30&&(i="00"+i),n.length%32==30&&(n="00"+n),i.length%32!=0)throw"unknown ECDSA sig r length error";if(n.length%32!=0)throw"unknown ECDSA sig s length error";return i+n},Mi.crypto.ECDSA.concatSigToASN1Sig=function(e){if(e.length/2*8%128!=0)throw"unknown ECDSA concatinated r-s sig  length error";var t=e.substr(0,e.length/2),i=e.substr(e.length/2);return Mi.crypto.ECDSA.hexRSSigToASN1Sig(t,i)},Mi.crypto.ECDSA.hexRSSigToASN1Sig=function(e,t){var i=new p(e,16),n=new p(t,16);return Mi.crypto.ECDSA.biRSSigToASN1Sig(i,n)},Mi.crypto.ECDSA.biRSSigToASN1Sig=function(e,t){var i=Mi.asn1,n=new i.DERInteger({bigint:e}),r=new i.DERInteger({bigint:t}),a=new i.DERSequence({array:[n,r]});return a.getEncodedHex()},Mi.crypto.ECDSA.getName=function(e){return"2b8104001f"===e?"secp192k1":"2a8648ce3d030107"===e?"secp256r1":"2b8104000a"===e?"secp256k1":"2b81040021"===e?"secp224r1":"2b81040022"===e?"secp384r1":-1!=="|secp256r1|NIST P-256|P-256|prime256v1|".indexOf(e)?"secp256r1":-1!=="|secp256k1|".indexOf(e)?"secp256k1":-1!=="|secp224r1|NIST P-224|P-224|".indexOf(e)?"secp224r1":-1!=="|secp384r1|NIST P-384|P-384|".indexOf(e)?"secp384r1":null},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.crypto&&Mi.crypto||(Mi.crypto={}),Mi.crypto.ECParameterDB=new function(){var e={},t={};function i(e){return new p(e,16)}this.getByName=function(i){var n=i;if("undefined"!=typeof t[n]&&(n=t[i]),"undefined"!=typeof e[n])return e[n];throw"unregistered EC curve name: "+n},this.regist=function(n,r,a,s,o,c,l,u,h,d,f,p){e[n]={};var m=i(a),v=i(s),g=i(o),y=i(c),b=i(l),C=new bi(m,v,g),S=C.decodePointHex("04"+u+h);e[n]["name"]=n,e[n]["keylen"]=r,e[n]["curve"]=C,e[n]["G"]=S,e[n]["n"]=y,e[n]["h"]=b,e[n]["oid"]=f,e[n]["info"]=p;for(var x=0;x<d.length;x++)t[d[x]]=n}},Mi.crypto.ECParameterDB.regist("secp128r1",128,"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF","FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC","E87579C11079F43DD824993C2CEE5ED3","FFFFFFFE0000000075A30D1B9038A115","1","161FF7528B899B2D0C28607CA52C5B86","CF5AC8395BAFEB13C02DA292DDED7A83",[],"","secp128r1 : SECG curve over a 128 bit prime field"),Mi.crypto.ECParameterDB.regist("secp160k1",160,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73","0","7","0100000000000000000001B8FA16DFAB9ACA16B6B3","1","3B4C382CE37AA192A4019E763036F4F5DD4D7EBB","938CF935318FDCED6BC28286531733C3F03C4FEE",[],"","secp160k1 : SECG curve over a 160 bit prime field"),Mi.crypto.ECParameterDB.regist("secp160r1",160,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC","1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45","0100000000000000000001F4C8F927AED3CA752257","1","4A96B5688EF573284664698968C38BB913CBFC82","23A628553168947D59DCC912042351377AC5FB32",[],"","secp160r1 : SECG curve over a 160 bit prime field"),Mi.crypto.ECParameterDB.regist("secp192k1",192,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37","0","3","FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D","1","DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D","9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D",[]),Mi.crypto.ECParameterDB.regist("secp192r1",192,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC","64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1","FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831","1","188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012","07192B95FFC8DA78631011ED6B24CDD573F977A11E794811",[]),Mi.crypto.ECParameterDB.regist("secp224r1",224,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE","B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4","FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D","1","B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21","BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34",[]),Mi.crypto.ECParameterDB.regist("secp256k1",256,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F","0","7","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141","1","79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798","483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8",[]),Mi.crypto.ECParameterDB.regist("secp256r1",256,"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF","FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC","5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B","FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551","1","6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296","4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5",["NIST P-256","P-256","prime256v1"]),Mi.crypto.ECParameterDB.regist("secp384r1",384,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC","B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF","FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973","1","AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7","3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",["NIST P-384","P-384"]),Mi.crypto.ECParameterDB.regist("secp521r1",521,"1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF","1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC","051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00","1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409","1","C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66","011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",["NIST P-521","P-521"]),"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.crypto&&Mi.crypto||(Mi.crypto={}),Mi.crypto.DSA=function(){var e=Ii,t=(e.getVbyList,e.getVbyListEx),i=e.isASN1HEX,n=p;this.p=null,this.q=null,this.g=null,this.y=null,this.x=null,this.type="DSA",this.isPrivate=!1,this.isPublic=!1,this.setPrivate=function(e,t,i,n,r){this.isPrivate=!0,this.p=e,this.q=t,this.g=i,this.y=n,this.x=r},this.setPrivateHex=function(e,t,i,n,r){var a,s,o,c,l;a=new p(e,16),s=new p(t,16),o=new p(i,16),c="string"===typeof n&&n.length>1?new p(n,16):null,l=new p(r,16),this.setPrivate(a,s,o,c,l)},this.setPublic=function(e,t,i,n){this.isPublic=!0,this.p=e,this.q=t,this.g=i,this.y=n,this.x=null},this.setPublicHex=function(e,t,i,n){var r,a,s,o;r=new p(e,16),a=new p(t,16),s=new p(i,16),o=new p(n,16),this.setPublic(r,a,s,o)},this.signWithMessageHash=function(e){var t=this.p,i=this.q,n=this.g,r=(this.y,this.x),a=Mi.crypto.Util.getRandomBigIntegerMinToMax(p.ONE.add(p.ONE),i.subtract(p.ONE)),s=e.substr(0,i.bitLength()/4),o=new p(s,16),c=n.modPow(a,t).mod(i),l=a.modInverse(i).multiply(o.add(r.multiply(c))).mod(i),u=Mi.asn1.ASN1Util.jsonToASN1HEX({seq:[{int:{bigint:c}},{int:{bigint:l}}]});return u},this.verifyWithMessageHash=function(e,t){var i=this.p,n=this.q,r=this.g,a=this.y,s=this.parseASN1Signature(t),o=s[0],c=s[1],l=e.substr(0,n.bitLength()/4),u=new p(l,16);if(p.ZERO.compareTo(o)>0||o.compareTo(n)>0)throw"invalid DSA signature";if(p.ZERO.compareTo(c)>=0||c.compareTo(n)>0)throw"invalid DSA signature";var h=c.modInverse(n),d=u.multiply(h).mod(n),f=o.multiply(h).mod(n),m=r.modPow(d,i).multiply(a.modPow(f,i)).mod(i).mod(n);return 0==m.compareTo(o)},this.parseASN1Signature=function(e){try{var i=new n(t(e,0,[0],"02"),16),r=new n(t(e,0,[1],"02"),16);return[i,r]}catch(a){throw new Error("malformed ASN.1 DSA signature")}},this.readPKCS5PrvKeyHex=function(e){var n,r,a,s,o;if(!1===i(e))throw new Error("not ASN.1 hex string");try{n=t(e,0,[1],"02"),r=t(e,0,[2],"02"),a=t(e,0,[3],"02"),s=t(e,0,[4],"02"),o=t(e,0,[5],"02")}catch(c){throw new Error("malformed PKCS#1/5 plain DSA private key")}this.setPrivateHex(n,r,a,s,o)},this.readPKCS8PrvKeyHex=function(e){var n,r,a,s;if(!1===i(e))throw new Error("not ASN.1 hex string");try{n=t(e,0,[1,1,0],"02"),r=t(e,0,[1,1,1],"02"),a=t(e,0,[1,1,2],"02"),s=t(e,0,[2,0],"02")}catch(o){throw new Error("malformed PKCS#8 plain DSA private key")}this.setPrivateHex(n,r,a,null,s)},this.readPKCS8PubKeyHex=function(e){var n,r,a,s;if(!1===i(e))throw new Error("not ASN.1 hex string");try{n=t(e,0,[0,1,0],"02"),r=t(e,0,[0,1,1],"02"),a=t(e,0,[0,1,2],"02"),s=t(e,0,[1,0],"02")}catch(o){throw new Error("malformed PKCS#8 DSA public key")}this.setPublicHex(n,r,a,s)},this.readCertPubKeyHex=function(e,n){var r,a,s,o;if(!1===i(e))throw new Error("not ASN.1 hex string");try{r=t(e,0,[0,5,0,1,0],"02"),a=t(e,0,[0,5,0,1,1],"02"),s=t(e,0,[0,5,0,1,2],"02"),o=t(e,0,[0,5,1,0],"02")}catch(c){throw new Error("malformed X.509 certificate DSA public key")}this.setPublicHex(r,a,s,o)}};var bn=function(){var e=function(e,t,i){return n(a.AES,e,t,i)},t=function(e,t,i){return n(a.TripleDES,e,t,i)},i=function(e,t,i){return n(a.DES,e,t,i)},n=function(e,t,i,n){var r=a.enc.Hex.parse(t),s=a.enc.Hex.parse(i),o=a.enc.Hex.parse(n),c={};c.key=s,c.iv=o,c.ciphertext=r;var l=e.decrypt(c,s,{iv:o});return a.enc.Hex.stringify(l)},r=function(e,t,i){return c(a.AES,e,t,i)},s=function(e,t,i){return c(a.TripleDES,e,t,i)},o=function(e,t,i){return c(a.DES,e,t,i)},c=function(e,t,i,n){var r=a.enc.Hex.parse(t),s=a.enc.Hex.parse(i),o=a.enc.Hex.parse(n),c=e.encrypt(r,s,{iv:o}),l=a.enc.Hex.parse(c.toString()),u=a.enc.Base64.stringify(l);return u},l={"AES-256-CBC":{proc:e,eproc:r,keylen:32,ivlen:16},"AES-192-CBC":{proc:e,eproc:r,keylen:24,ivlen:16},"AES-128-CBC":{proc:e,eproc:r,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:t,eproc:s,keylen:24,ivlen:8},"DES-CBC":{proc:i,eproc:o,keylen:8,ivlen:8}},u=function(e){var t=a.lib.WordArray.random(e),i=a.enc.Hex.stringify(t);return i},h=function(e){var t={},i=e.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));i&&(t.cipher=i[1],t.ivsalt=i[2]);var n=e.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(t.type=n[1]);var r=-1,a=0;-1!=e.indexOf("\r\n\r\n")&&(r=e.indexOf("\r\n\r\n"),a=2),-1!=e.indexOf("\n\n")&&(r=e.indexOf("\n\n"),a=1);var s=e.indexOf("-----END");if(-1!=r&&-1!=s){var o=e.substring(r+2*a,s-a);o=o.replace(/\s+/g,""),t.data=o}return t},d=function(e,t,i){for(var n=i.substring(0,16),r=a.enc.Hex.parse(n),s=a.enc.Utf8.parse(t),o=l[e]["keylen"]+l[e]["ivlen"],c="",u=null;;){var h=a.algo.MD5.create();if(null!=u&&h.update(u),h.update(s),h.update(r),u=h.finalize(),c+=a.enc.Hex.stringify(u),c.length>=2*o)break}var d={};return d.keyhex=c.substr(0,2*l[e]["keylen"]),d.ivhex=c.substr(2*l[e]["keylen"],2*l[e]["ivlen"]),d},f=function(e,t,i,n){var r=a.enc.Base64.parse(e),s=a.enc.Hex.stringify(r),o=l[t]["proc"],c=o(s,i,n);return c},p=function(e,t,i,n){var r=l[t]["eproc"],a=r(e,i,n);return a};return{version:"1.0.0",parsePKCS5PEM:function(e){return h(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(e,t,i){return d(e,t,i)},decryptKeyB64:function(e,t,i,n){return f(e,t,i,n)},getDecryptedKeyHex:function(e,t){var i=h(e),n=(i.type,i.cipher),r=i.ivsalt,a=i.data,s=d(n,t,r),o=s.keyhex,c=f(a,n,o,r);return c},getEncryptedPKCS5PEMFromPrvKeyHex:function(e,t,i,n,r){var a="";if("undefined"!=typeof n&&null!=n||(n="AES-256-CBC"),"undefined"==typeof l[n])throw"KEYUTIL unsupported algorithm: "+n;if("undefined"==typeof r||null==r){var s=l[n]["ivlen"],o=u(s);r=o.toUpperCase()}var c=d(n,i,r),h=c.keyhex,f=p(t,n,h,r),m=f.replace(/(.{64})/g,"$1\r\n");a="-----BEGIN "+e+" PRIVATE KEY-----\r\n";return a+="Proc-Type: 4,ENCRYPTED\r\n",a+="DEK-Info: "+n+","+r+"\r\n",a+="\r\n",a+=m,a+="\r\n-----END "+e+" PRIVATE KEY-----\r\n",a},parseHexOfEncryptedPKCS8:function(e){var t=Ii,i=t.getChildIdx,n=t.getV,r={},a=i(e,0);if(2!=a.length)throw"malformed format: SEQUENCE(0).items != 2: "+a.length;r.ciphertext=n(e,a[1]);var s=i(e,a[0]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+s.length;if("2a864886f70d01050d"!=n(e,s[0]))throw"this only supports pkcs5PBES2";var o=i(e,s[1]);if(2!=s.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+o.length;var c=i(e,o[1]);if(2!=c.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+c.length;if("2a864886f70d0307"!=n(e,c[0]))throw"this only supports TripleDES";r.encryptionSchemeAlg="TripleDES",r.encryptionSchemeIV=n(e,c[1]);var l=i(e,o[0]);if(2!=l.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+l.length;if("2a864886f70d01050c"!=n(e,l[0]))throw"this only supports pkcs5PBKDF2";var u=i(e,l[1]);if(u.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+u.length;r.pbkdf2Salt=n(e,u[0]);var h=n(e,u[1]);try{r.pbkdf2Iter=parseInt(h,16)}catch(d){throw"malformed format pbkdf2Iter: "+h}return r},getPBKDF2KeyHexFromParam:function(e,t){var i=a.enc.Hex.parse(e.pbkdf2Salt),n=e.pbkdf2Iter,r=a.PBKDF2(t,i,{keySize:6,iterations:n}),s=a.enc.Hex.stringify(r);return s},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(e,t){var i=Qi(e,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(i),r=bn.getPBKDF2KeyHexFromParam(n,t),s={};s.ciphertext=a.enc.Hex.parse(n.ciphertext);var o=a.enc.Hex.parse(r),c=a.enc.Hex.parse(n.encryptionSchemeIV),l=a.TripleDES.decrypt(s,o,{iv:c}),u=a.enc.Hex.stringify(l);return u},getKeyFromEncryptedPKCS8PEM:function(e,t){var i=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,t),n=this.getKeyFromPlainPrivatePKCS8Hex(i);return n},parsePlainPrivatePKCS8Hex:function(e){var t=Ii,i=t.getChildIdx,n=t.getV,r={algparam:null};if("30"!=e.substr(0,2))throw"malformed plain PKCS8 private key(code:001)";var a=i(e,0);if(3!=a.length)throw"malformed plain PKCS8 private key(code:002)";if("30"!=e.substr(a[1],2))throw"malformed PKCS8 private key(code:003)";var s=i(e,a[1]);if(2!=s.length)throw"malformed PKCS8 private key(code:004)";if("06"!=e.substr(s[0],2))throw"malformed PKCS8 private key(code:005)";if(r.algoid=n(e,s[0]),"06"==e.substr(s[1],2)&&(r.algparam=n(e,s[1])),"04"!=e.substr(a[2],2))throw"malformed PKCS8 private key(code:006)";return r.keyidx=t.getVidx(e,a[2]),r},getKeyFromPlainPrivatePKCS8PEM:function(e){var t=Qi(e,"PRIVATE KEY"),i=this.getKeyFromPlainPrivatePKCS8Hex(t);return i},getKeyFromPlainPrivatePKCS8Hex:function(e){var t,i=this.parsePlainPrivatePKCS8Hex(e);if("2a864886f70d010101"==i.algoid)t=new Rt;else if("2a8648ce380401"==i.algoid)t=new Mi.crypto.DSA;else{if("2a8648ce3d0201"!=i.algoid)throw"unsupported private key algorithm";t=new Mi.crypto.ECDSA}return t.readPKCS8PrvKeyHex(e),t},_getKeyFromPublicPKCS8Hex:function(e){var t,i=Ii.getVbyList(e,0,[0,0],"06");if("2a864886f70d010101"===i)t=new Rt;else if("2a8648ce380401"===i)t=new Mi.crypto.DSA;else{if("2a8648ce3d0201"!==i)throw"unsupported PKCS#8 public key hex";t=new Mi.crypto.ECDSA}return t.readPKCS8PubKeyHex(e),t},parsePublicRawRSAKeyHex:function(e){var t=Ii,i=t.getChildIdx,n=t.getV,r={};if("30"!=e.substr(0,2))throw"malformed RSA key(code:001)";var a=i(e,0);if(2!=a.length)throw"malformed RSA key(code:002)";if("02"!=e.substr(a[0],2))throw"malformed RSA key(code:003)";if(r.n=n(e,a[0]),"02"!=e.substr(a[1],2))throw"malformed RSA key(code:004)";return r.e=n(e,a[1]),r},parsePublicPKCS8Hex:function(e){var t=Ii,i=t.getChildIdx,n=t.getV,r={algparam:null},a=i(e,0);if(2!=a.length)throw"outer DERSequence shall have 2 elements: "+a.length;var s=a[0];if("30"!=e.substr(s,2))throw"malformed PKCS8 public key(code:001)";var o=i(e,s);if(2!=o.length)throw"malformed PKCS8 public key(code:002)";if("06"!=e.substr(o[0],2))throw"malformed PKCS8 public key(code:003)";if(r.algoid=n(e,o[0]),"06"==e.substr(o[1],2)?r.algparam=n(e,o[1]):"30"==e.substr(o[1],2)&&(r.algparam={},r.algparam.p=t.getVbyList(e,o[1],[0],"02"),r.algparam.q=t.getVbyList(e,o[1],[1],"02"),r.algparam.g=t.getVbyList(e,o[1],[2],"02")),"03"!=e.substr(a[1],2))throw"malformed PKCS8 public key(code:004)";return r.key=n(e,a[1]).substr(2),r}}}();bn.getKey=function(e,t,i){var n=Ii,r=n.getChildIdx,a=(n.getV,n.getVbyList),s=Mi.crypto,o=s.ECDSA,c=s.DSA,l=Rt,u=Qi,h=bn;if("undefined"!=typeof l&&e instanceof l)return e;if("undefined"!=typeof o&&e instanceof o)return e;if("undefined"!=typeof c&&e instanceof c)return e;if(void 0!==e.curve&&void 0!==e.xy&&void 0===e.d)return new o({pub:e.xy,curve:e.curve});if(void 0!==e.curve&&void 0!==e.d)return new o({prv:e.d,curve:e.curve});if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d){var d=new l;return d.setPublic(e.n,e.e),d}if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.co&&void 0===e.qi){d=new l;return d.setPrivateEx(e.n,e.e,e.d,e.p,e.q,e.dp,e.dq,e.co),d}if(void 0===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0===e.p){d=new l;return d.setPrivate(e.n,e.e,e.d),d}if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0===e.x){d=new c;return d.setPublic(e.p,e.q,e.g,e.y),d}if(void 0!==e.p&&void 0!==e.q&&void 0!==e.g&&void 0!==e.y&&void 0!==e.x){d=new c;return d.setPrivate(e.p,e.q,e.g,e.y,e.x),d}if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0===e.d){d=new l;return d.setPublic(ji(e.n),ji(e.e)),d}if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d&&void 0!==e.p&&void 0!==e.q&&void 0!==e.dp&&void 0!==e.dq&&void 0!==e.qi){d=new l;return d.setPrivateEx(ji(e.n),ji(e.e),ji(e.d),ji(e.p),ji(e.q),ji(e.dp),ji(e.dq),ji(e.qi)),d}if("RSA"===e.kty&&void 0!==e.n&&void 0!==e.e&&void 0!==e.d){d=new l;return d.setPrivate(ji(e.n),ji(e.e),ji(e.d)),d}if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0===e.d){var f=new o({curve:e.crv}),m=f.ecparams.keylen/4,v=("0000000000"+ji(e.x)).slice(-m),g=("0000000000"+ji(e.y)).slice(-m),y="04"+v+g;return f.setPublicKeyHex(y),f}if("EC"===e.kty&&void 0!==e.crv&&void 0!==e.x&&void 0!==e.y&&void 0!==e.d){f=new o({curve:e.crv}),m=f.ecparams.keylen/4,v=("0000000000"+ji(e.x)).slice(-m),g=("0000000000"+ji(e.y)).slice(-m),y="04"+v+g;var b=("0000000000"+ji(e.d)).slice(-m);return f.setPublicKeyHex(y),f.setPrivateKeyHex(b),f}if("pkcs5prv"===i){var C,S=e;n=Ii;if(C=r(S,0),9===C.length)d=new l,d.readPKCS5PrvKeyHex(S);else if(6===C.length)d=new c,d.readPKCS5PrvKeyHex(S);else{if(!(C.length>2&&"04"===S.substr(C[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";d=new o,d.readPKCS5PrvKeyHex(S)}return d}if("pkcs8prv"===i){d=h.getKeyFromPlainPrivatePKCS8Hex(e);return d}if("pkcs8pub"===i)return h._getKeyFromPublicPKCS8Hex(e);if("x509pub"===i)return _n.getPublicKeyFromCertHex(e);if(-1!=e.indexOf("-END CERTIFICATE-",0)||-1!=e.indexOf("-END X509 CERTIFICATE-",0)||-1!=e.indexOf("-END TRUSTED CERTIFICATE-",0))return _n.getPublicKeyFromCertPEM(e);if(-1!=e.indexOf("-END PUBLIC KEY-")){var x=Qi(e,"PUBLIC KEY");return h._getKeyFromPublicPKCS8Hex(x)}if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var w=u(e,"RSA PRIVATE KEY");return h.getKey(w,null,"pkcs5prv")}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){var _=u(e,"DSA PRIVATE KEY"),A=a(_,0,[1],"02"),E=a(_,0,[2],"02"),k=a(_,0,[3],"02"),M=a(_,0,[4],"02"),z=a(_,0,[5],"02");d=new c;return d.setPrivate(new p(A,16),new p(E,16),new p(k,16),new p(M,16),new p(z,16)),d}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1==e.indexOf("4,ENCRYPTED")){w=u(e,"EC PRIVATE KEY");return h.getKey(w,null,"pkcs5prv")}if(-1!=e.indexOf("-END PRIVATE KEY-"))return h.getKeyFromPlainPrivatePKCS8PEM(e);if(-1!=e.indexOf("-END RSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){var T=h.getDecryptedKeyHex(e,t),I=new Rt;return I.readPKCS5PrvKeyHex(T),I}if(-1!=e.indexOf("-END EC PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){_=h.getDecryptedKeyHex(e,t),d=a(_,0,[1],"04");var N=a(_,0,[2,0],"06"),D=a(_,0,[3,0],"03").substr(2),P="";if(void 0===Mi.crypto.OID.oidhex2name[N])throw"undefined OID(hex) in KJUR.crypto.OID: "+N;P=Mi.crypto.OID.oidhex2name[N];f=new o({curve:P});return f.setPublicKeyHex(D),f.setPrivateKeyHex(d),f.isPublic=!1,f}if(-1!=e.indexOf("-END DSA PRIVATE KEY-")&&-1!=e.indexOf("4,ENCRYPTED")){_=h.getDecryptedKeyHex(e,t),A=a(_,0,[1],"02"),E=a(_,0,[2],"02"),k=a(_,0,[3],"02"),M=a(_,0,[4],"02"),z=a(_,0,[5],"02"),d=new c;return d.setPrivate(new p(A,16),new p(E,16),new p(k,16),new p(M,16),new p(z,16)),d}if(-1!=e.indexOf("-END ENCRYPTED PRIVATE KEY-"))return h.getKeyFromEncryptedPKCS8PEM(e,t);throw new Error("not supported argument")},bn.generateKeypair=function(e,t){if("RSA"==e){var i=t,n=new Rt;n.generate(i,"10001"),n.isPrivate=!0,n.isPublic=!0;var r=new Rt,a=n.n.toString(16),s=n.e.toString(16);r.setPublic(a,s),r.isPrivate=!1,r.isPublic=!0;var o={};return o.prvKeyObj=n,o.pubKeyObj=r,o}if("EC"==e){var c=t,l=new Mi.crypto.ECDSA({curve:c}),u=l.generateKeyPairHex();n=new Mi.crypto.ECDSA({curve:c});n.setPublicKeyHex(u.ecpubhex),n.setPrivateKeyHex(u.ecprvhex),n.isPrivate=!0,n.isPublic=!1;r=new Mi.crypto.ECDSA({curve:c});r.setPublicKeyHex(u.ecpubhex),r.isPrivate=!1,r.isPublic=!0;o={};return o.prvKeyObj=n,o.pubKeyObj=r,o}throw"unknown algorithm: "+e},bn.getPEM=function(e,t,i,n,r,s){var o=Mi,c=o.asn1,l=c.DERObjectIdentifier,u=c.DERInteger,h=c.ASN1Util.newObject,d=c.x509,f=d.SubjectPublicKeyInfo,p=o.crypto,m=p.DSA,v=p.ECDSA,g=Rt;function y(e){var t=h({seq:[{int:0},{int:{bigint:e.n}},{int:e.e},{int:{bigint:e.d}},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.dmp1}},{int:{bigint:e.dmq1}},{int:{bigint:e.coeff}}]});return t}function b(e){var t=h({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a0",!0,{oid:{name:e.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]});return t}function C(e){var t=h({seq:[{int:0},{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}},{int:{bigint:e.y}},{int:{bigint:e.x}}]});return t}if((void 0!==g&&e instanceof g||void 0!==m&&e instanceof m||void 0!==v&&e instanceof v)&&1==e.isPublic&&(void 0===t||"PKCS8PUB"==t)){var S=new f(e),x=S.getEncodedHex();return Ji(x,"PUBLIC KEY")}if("PKCS1PRV"==t&&void 0!==g&&e instanceof g&&(void 0===i||null==i)&&1==e.isPrivate){S=y(e),x=S.getEncodedHex();return Ji(x,"RSA PRIVATE KEY")}if("PKCS1PRV"==t&&void 0!==v&&e instanceof v&&(void 0===i||null==i)&&1==e.isPrivate){var w=new l({name:e.curveName}),_=w.getEncodedHex(),A=b(e),E=A.getEncodedHex(),k="";return k+=Ji(_,"EC PARAMETERS"),k+=Ji(E,"EC PRIVATE KEY"),k}if("PKCS1PRV"==t&&void 0!==m&&e instanceof m&&(void 0===i||null==i)&&1==e.isPrivate){S=C(e),x=S.getEncodedHex();return Ji(x,"DSA PRIVATE KEY")}if("PKCS5PRV"==t&&void 0!==g&&e instanceof g&&void 0!==i&&null!=i&&1==e.isPrivate){S=y(e),x=S.getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",x,i,n,s)}if("PKCS5PRV"==t&&void 0!==v&&e instanceof v&&void 0!==i&&null!=i&&1==e.isPrivate){S=b(e),x=S.getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",x,i,n,s)}if("PKCS5PRV"==t&&void 0!==m&&e instanceof m&&void 0!==i&&null!=i&&1==e.isPrivate){S=C(e),x=S.getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",x,i,n,s)}var M=function(e,t){var i=z(e,t),n=new h({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:i.pbkdf2Salt}},{int:i.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:i.encryptionSchemeIV}}]}]}]},{octstr:{hex:i.ciphertext}}]});return n.getEncodedHex()},z=function(e,t){var i=100,n=a.lib.WordArray.random(8),r="DES-EDE3-CBC",s=a.lib.WordArray.random(8),o=a.PBKDF2(t,n,{keySize:6,iterations:i}),c=a.enc.Hex.parse(e),l=a.TripleDES.encrypt(c,o,{iv:s})+"",u={};return u.ciphertext=l,u.pbkdf2Salt=a.enc.Hex.stringify(n),u.pbkdf2Iter=i,u.encryptionSchemeAlg=r,u.encryptionSchemeIV=a.enc.Hex.stringify(s),u};if("PKCS8PRV"==t&&void 0!=g&&e instanceof g&&1==e.isPrivate){var T=y(e),I=T.getEncodedHex();S=h({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:I}}]}),x=S.getEncodedHex();if(void 0===i||null==i)return Ji(x,"PRIVATE KEY");E=M(x,i);return Ji(E,"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==v&&e instanceof v&&1==e.isPrivate){T=new h({seq:[{int:1},{octstr:{hex:e.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+e.pubKeyHex}}]}]}),I=T.getEncodedHex(),S=h({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:e.curveName}}]},{octstr:{hex:I}}]}),x=S.getEncodedHex();if(void 0===i||null==i)return Ji(x,"PRIVATE KEY");E=M(x,i);return Ji(E,"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==t&&void 0!==m&&e instanceof m&&1==e.isPrivate){T=new u({bigint:e.x}),I=T.getEncodedHex(),S=h({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:e.p}},{int:{bigint:e.q}},{int:{bigint:e.g}}]}]},{octstr:{hex:I}}]}),x=S.getEncodedHex();if(void 0===i||null==i)return Ji(x,"PRIVATE KEY");E=M(x,i);return Ji(E,"ENCRYPTED PRIVATE KEY")}throw new Error("unsupported object nor format")},bn.getKeyFromCSRPEM=function(e){var t=Qi(e,"CERTIFICATE REQUEST"),i=bn.getKeyFromCSRHex(t);return i},bn.getKeyFromCSRHex=function(e){var t=bn.parseCSRHex(e),i=bn.getKey(t.p8pubkeyhex,null,"pkcs8pub");return i},bn.parseCSRHex=function(e){var t=Ii,i=t.getChildIdx,n=t.getTLV,r={},a=e;if("30"!=a.substr(0,2))throw"malformed CSR(code:001)";var s=i(a,0);if(s.length<1)throw"malformed CSR(code:002)";if("30"!=a.substr(s[0],2))throw"malformed CSR(code:003)";var o=i(a,s[0]);if(o.length<3)throw"malformed CSR(code:004)";return r.p8pubkeyhex=n(a,o[2]),r},bn.getKeyID=function(e){var t=bn,i=Ii;"string"===typeof e&&-1!=e.indexOf("BEGIN ")&&(e=t.getKey(e));var n=Qi(t.getPEM(e)),r=i.getIdxbyList(n,0,[1]),a=i.getV(n,r).substring(2);return Mi.crypto.Util.hashHex(a,"sha1")},bn.getJWKFromKey=function(e){var t={};if(e instanceof Rt&&e.isPrivate)return t.kty="RSA",t.n=Bi(e.n.toString(16)),t.e=Bi(e.e.toString(16)),t.d=Bi(e.d.toString(16)),t.p=Bi(e.p.toString(16)),t.q=Bi(e.q.toString(16)),t.dp=Bi(e.dmp1.toString(16)),t.dq=Bi(e.dmq1.toString(16)),t.qi=Bi(e.coeff.toString(16)),t;if(e instanceof Rt&&e.isPublic)return t.kty="RSA",t.n=Bi(e.n.toString(16)),t.e=Bi(e.e.toString(16)),t;if(e instanceof Mi.crypto.ECDSA&&e.isPrivate){var i=e.getShortNISTPCurveName();if("P-256"!==i&&"P-384"!==i)throw"unsupported curve name for JWT: "+i;var n=e.getPublicKeyXYHex();return t.kty="EC",t.crv=i,t.x=Bi(n.x),t.y=Bi(n.y),t.d=Bi(e.prvKeyHex),t}if(e instanceof Mi.crypto.ECDSA&&e.isPublic){i=e.getShortNISTPCurveName();if("P-256"!==i&&"P-384"!==i)throw"unsupported curve name for JWT: "+i;n=e.getPublicKeyXYHex();return t.kty="EC",t.crv=i,t.x=Bi(n.x),t.y=Bi(n.y),t}throw"not supported key object"},Rt.getPosArrayOfChildrenFromHex=function(e){return Ii.getChildIdx(e,0)},Rt.getHexValueArrayOfChildrenFromHex=function(e){var t=Ii,i=t.getV,n=Rt.getPosArrayOfChildrenFromHex(e),r=i(e,n[0]),a=i(e,n[1]),s=i(e,n[2]),o=i(e,n[3]),c=i(e,n[4]),l=i(e,n[5]),u=i(e,n[6]),h=i(e,n[7]),d=i(e,n[8]);n=new Array;return n.push(r,a,s,o,c,l,u,h,d),n},Rt.prototype.readPrivateKeyFromPEMString=function(e){var t=Qi(e),i=Rt.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},Rt.prototype.readPKCS5PrvKeyHex=function(e){var t=Rt.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},Rt.prototype.readPKCS8PrvKeyHex=function(e){var t,i,n,r,a,s,o,c,l=Ii,u=l.getVbyListEx;if(!1===l.isASN1HEX(e))throw new Error("not ASN.1 hex string");try{t=u(e,0,[2,0,1],"02"),i=u(e,0,[2,0,2],"02"),n=u(e,0,[2,0,3],"02"),r=u(e,0,[2,0,4],"02"),a=u(e,0,[2,0,5],"02"),s=u(e,0,[2,0,6],"02"),o=u(e,0,[2,0,7],"02"),c=u(e,0,[2,0,8],"02")}catch(h){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(t,i,n,r,a,s,o,c)},Rt.prototype.readPKCS5PubKeyHex=function(e){var t=Ii,i=t.getV;if(!1===t.isASN1HEX(e))throw new Error("keyHex is not ASN.1 hex string");var n=t.getChildIdx(e,0);if(2!==n.length||"02"!==e.substr(n[0],2)||"02"!==e.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var r=i(e,n[0]),a=i(e,n[1]);this.setPublic(r,a)},Rt.prototype.readPKCS8PubKeyHex=function(e){var t=Ii;if(!1===t.isASN1HEX(e))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==t.getTLVbyListEx(e,0,[0,0]))throw new Error("not PKCS8 RSA public key");var i=t.getTLVbyListEx(e,0,[1,0]);this.readPKCS5PubKeyHex(i)},Rt.prototype.readCertPubKeyHex=function(e,t){var i,n;i=new _n,i.readCertHex(e),n=i.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var Cn=new RegExp("[^0-9a-f]","gi");function Sn(e,t){for(var i="",n=t/4-e.length,r=0;r<n;r++)i+="0";return i+e}function xn(e,t,i){var n="",r=0;while(n.length<t)n+=Wi(i(Xi(e+String.fromCharCode.apply(String,[(4278190080&r)>>24,(16711680&r)>>16,(65280&r)>>8,255&r])))),r+=1;return n}function wn(e){for(var t in Mi.crypto.Util.DIGESTINFOHEAD){var i=Mi.crypto.Util.DIGESTINFOHEAD[t],n=i.length;if(e.substring(0,n)==i){var r=[t,e.substring(n)];return r}}return[]}function _n(){var e,t=Ii,i=t.getChildIdx,n=t.getV,r=t.getTLV,a=t.getVbyList,s=t.getVbyListEx,o=t.getTLVbyList,c=t.getTLVbyListEx,l=t.getIdxbyList,u=t.getIdxbyListEx,h=t.getVidx,d=t.oidname,f=t.hextooidstr,p=_n,m=Qi;try{e=Mi.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(v){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:"a003020102"!==o(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return s(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var e=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(e)},this.getAlgorithmIdentifierName=function(t){for(var i in e)if(t===e[i])return i;return d(s(t,0,[0],"06"))},this.getIssuer=function(){var e={};return e.array=this.getX500Name(this.getIssuerHex()),e.str=this.getIssuerString(),e},this.getIssuerHex=function(){return o(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){var e={};return e.array=this.getX500Name(this.getSubjectHex()),e.str=this.getSubjectString(),e},this.getSubjectHex=function(){return o(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var e=a(this.hex,0,[0,4+this.foffset,0]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e),e},this.getNotAfter=function(){var e=a(this.hex,0,[0,4+this.foffset,1]);return e=e.replace(/(..)/g,"%$1"),e=decodeURIComponent(e),e},this.getPublicKeyHex=function(){return t.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return l(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var e=this.getPublicKeyIdx();return l(this.hex,e,[1,0],"30")},this.getPublicKey=function(){return bn.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var e=o(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(e)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(e){var t=this.getSignatureAlgorithmField(),i=this.getSignatureValueHex(),n=o(this.hex,0,[0],"30"),r=new Mi.crypto.Signature({alg:t});return r.init(e),r.updateHex(n),r.verify(i)},this.parseExt=function(e){var r,s,o;if(void 0===e){if(o=this.hex,3!==this.version)return-1;r=l(o,0,[0,7,0],"30"),s=i(o,r)}else{o=Qi(e);var c=l(o,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=n(o,c))return void(this.aExtInfo=new Array);r=l(o,0,[0,3,0,1,0],"30"),s=i(o,r),this.hex=o}this.aExtInfo=new Array;for(var u=0;u<s.length;u++){var d={critical:!1},f=i(o,s[u]),p=0;3===f.length&&(d.critical=!0,p=1),d.oid=t.hextooidstr(a(o,s[u],[0],"06"));var m=l(o,s[u],[1+p]);d.vidx=h(o,m),this.aExtInfo.push(d)}},this.getExtInfo=function(e){var t=this.aExtInfo,i=e;if(e.match(/^[0-9.]+$/)||(i=Mi.asn1.x509.OID.name2oid(e)),""!==i)for(var n=0;n<t.length;n++)if(t[n].oid===i)return t[n]},this.getExtBasicConstraints=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("basicConstraints");if(void 0===i)return;e=r(this.hex,i.vidx),t=i.critical}var a={extname:"basicConstraints"};if(t&&(a.critical=!0),"3000"===e)return a;if("30030101ff"===e)return a.cA=!0,a;if("30060101ff02"===e.substr(0,12)){var s=n(e,10),o=parseInt(s,16);return a.cA=!0,a.pathLen=o,a}throw new Error("hExtV parse error: "+e)},this.getExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("keyUsage");if(void 0===i)return;e=r(this.hex,i.vidx),t=i.critical}var n={extname:"keyUsage"};return t&&(n.critical=!0),n.names=this.getExtKeyUsageString(e).split(","),n},this.getExtKeyUsageBin=function(e){if(void 0===e){var t=this.getExtInfo("keyUsage");if(void 0===t)return"";e=r(this.hex,t.vidx)}if(8!=e.length&&10!=e.length)throw new Error("malformed key usage value: "+e);var i="000000000000000"+parseInt(e.substr(6),16).toString(2);return 8==e.length&&(i=i.slice(-8)),10==e.length&&(i=i.slice(-16)),i=i.replace(/0+$/,""),""==i&&(i="0"),i},this.getExtKeyUsageString=function(e){for(var t=this.getExtKeyUsageBin(e),i=new Array,n=0;n<t.length;n++)"1"==t.substr(n,1)&&i.push(_n.KEYUSAGE_NAME[n]);return i.join(",")},this.getExtSubjectKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("subjectKeyIdentifier");if(void 0===i)return;e=r(this.hex,i.vidx),t=i.critical}var a={extname:"subjectKeyIdentifier"};t&&(a.critical=!0);var s=n(e,0);return a.kid={hex:s},a},this.getExtAuthorityKeyIdentifier=function(e,t){if(void 0===e&&void 0===t){var a=this.getExtInfo("authorityKeyIdentifier");if(void 0===a)return;e=r(this.hex,a.vidx),t=a.critical}var s={extname:"authorityKeyIdentifier"};t&&(s.critical=!0);for(var o=i(e,0),c=0;c<o.length;c++){var l=e.substr(o[c],2);if("80"===l&&(s.kid={hex:n(e,o[c])}),"a1"===l){var u=r(e,o[c]),h=this.getGeneralNames(u);s.issuer=h[0]["dn"]}"82"===l&&(s.sn={hex:n(e,o[c])})}return s},this.getExtExtKeyUsage=function(e,t){if(void 0===e&&void 0===t){var a=this.getExtInfo("extKeyUsage");if(void 0===a)return;e=r(this.hex,a.vidx),t=a.critical}var s={extname:"extKeyUsage",array:[]};t&&(s.critical=!0);for(var o=i(e,0),c=0;c<o.length;c++)s.array.push(d(n(e,o[c])));return s},this.getExtExtKeyUsageName=function(){var e=this.getExtInfo("extKeyUsage");if(void 0===e)return e;var t=new Array,a=r(this.hex,e.vidx);if(""===a)return t;for(var s=i(a,0),o=0;o<s.length;o++)t.push(d(n(a,s[o])));return t},this.getExtSubjectAltName=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("subjectAltName");if(void 0===i)return;e=r(this.hex,i.vidx),t=i.critical}var n={extname:"subjectAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getExtIssuerAltName=function(e,t){if(void 0===e&&void 0===t){var i=this.getExtInfo("issuerAltName");if(void 0===i)return;e=r(this.hex,i.vidx),t=i.critical}var n={extname:"issuerAltName",array:[]};return t&&(n.critical=!0),n.array=this.getGeneralNames(e),n},this.getGeneralNames=function(e){for(var t=i(e,0),n=[],a=0;a<t.length;a++){var s=this.getGeneralName(r(e,t[a]));void 0!==s&&n.push(s)}return n},this.getGeneralName=function(e){var t=e.substr(0,2),i=n(e,0),r=Wi(i);return"81"==t?{rfc822:r}:"82"==t?{dns:r}:"a4"==t?{dn:{hex:i}}:"86"==t?{uri:r}:"87"==t?{ip:hn(i)}:void 0},this.getExtSubjectAltName2=function(){var e,t,a,s=this.getExtInfo("subjectAltName");if(void 0===s)return s;for(var o=new Array,c=r(this.hex,s.vidx),l=i(c,0),u=0;u<l.length;u++)a=c.substr(l[u],2),e=n(c,l[u]),"81"===a&&(t=Ui(e),o.push(["MAIL",t])),"82"===a&&(t=Ui(e),o.push(["DNS",t])),"84"===a&&(t=_n.hex2dn(e,0),o.push(["DN",t])),"86"===a&&(t=Ui(e),o.push(["URI",t])),"87"===a&&(t=hn(e),o.push(["IP",t]));return o},this.getExtCRLDistributionPoints=function(e,t){if(void 0===e&&void 0===t){var n=this.getExtInfo("cRLDistributionPoints");if(void 0===n)return;e=r(this.hex,n.vidx),t=n.critical}var a={extname:"cRLDistributionPoints",array:[]};t&&(a.critical=!0);for(var s=i(e,0),o=0;o<s.length;o++){var c=r(e,s[o]);a.array.push(this.getDistributionPoint(c))}return a},this.getDistributionPoint=function(e){for(var t={},n=i(e,0),a=0;a<n.length;a++){var s=e.substr(n[a],2),o=r(e,n[a]);"a0"==s&&(t.dpname=this.getDistributionPointName(o))}return t},this.getDistributionPointName=function(e){for(var t={},n=i(e,0),a=0;a<n.length;a++){var s=e.substr(n[a],2),o=r(e,n[a]);"a0"==s&&(t.full=this.getGeneralNames(o))}return t},this.getExtCRLDistributionPointsURI=function(){var e=this.getExtInfo("cRLDistributionPoints");if(void 0===e)return e;for(var t=new Array,n=i(this.hex,e.vidx),r=0;r<n.length;r++)try{var s=a(this.hex,n[r],[0,0,0],"86"),o=Ui(s);t.push(o)}catch(zt){}return t},this.getExtAIAInfo=function(){var e=this.getExtInfo("authorityInfoAccess");if(void 0===e)return e;for(var t={ocsp:[],caissuer:[]},n=i(this.hex,e.vidx),r=0;r<n.length;r++){var s=a(this.hex,n[r],[0],"06"),o=a(this.hex,n[r],[1],"86");"2b06010505073001"===s&&t.ocsp.push(Ui(o)),"2b06010505073002"===s&&t.caissuer.push(Ui(o))}return t},this.getExtAuthorityInfoAccess=function(e,t){if(void 0===e&&void 0===t){var n=this.getExtInfo("authorityInfoAccess");if(void 0===n)return;e=r(this.hex,n.vidx),t=n.critical}var o={extname:"authorityInfoAccess",array:[]};t&&(o.critical=!0);for(var c=i(e,0),l=0;l<c.length;l++){var u=s(e,c[l],[0],"06"),h=a(e,c[l],[1],"86"),d=Ui(h);if("2b06010505073001"==u)o.array.push({ocsp:d});else{if("2b06010505073002"!=u)throw new Error("unknown method: "+u);o.array.push({caissuer:d})}}return o},this.getExtCertificatePolicies=function(e,t){if(void 0===e&&void 0===t){var n=this.getExtInfo("certificatePolicies");if(void 0===n)return;e=r(this.hex,n.vidx),t=n.critical}var a={extname:"certificatePolicies",array:[]};t&&(a.critical=!0);for(var s=i(e,0),o=0;o<s.length;o++){var c=r(e,s[o]),l=this.getPolicyInformation(c);a.array.push(l)}return a},this.getPolicyInformation=function(e){var t={},n=a(e,0,[0],"06");t.policyoid=d(n);var s=u(e,0,[1],"30");if(-1!=s){t.array=[];for(var o=i(e,s),c=0;c<o.length;c++){var l=r(e,o[c]),h=this.getPolicyQualifierInfo(l);t.array.push(h)}}return t},this.getPolicyQualifierInfo=function(e){var t={},i=a(e,0,[0],"06");if("2b06010505070201"===i){var n=s(e,0,[1],"16");t.cps=Wi(n)}else if("2b06010505070202"===i){var r=o(e,0,[1],"30");t.unotice=this.getUserNotice(r)}return t},this.getUserNotice=function(e){for(var t={},n=i(e,0),a=0;a<n.length;a++){var s=r(e,n[a]);"30"!=s.substr(0,2)&&(t.exptext=this.getDisplayText(s))}return t},this.getDisplayText=function(e){var t={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"},i={};return i.type=t[e.substr(0,2)],i.str=Wi(n(e,0)),i},this.getExtCRLNumber=function(e,t){var i={extname:"cRLNumber"};if(t&&(i.critical=!0),"02"==e.substr(0,2))return i.num={hex:n(e,0)},i;throw new Error("hExtV parse error: "+e)},this.getExtCRLReason=function(e,t){var i={extname:"cRLReason"};if(t&&(i.critical=!0),"0a"==e.substr(0,2))return i.code=parseInt(n(e,0),16),i;throw new Error("hExtV parse error: "+e)},this.getExtOcspNonce=function(e,t){var i={extname:"ocspNonce"};t&&(i.critical=!0);var r=n(e,0);return i.hex=r,i},this.getExtOcspNoCheck=function(e,t){var i={extname:"ocspNoCheck"};return t&&(i.critical=!0),i},this.getX500NameRule=function(e){for(var t=null,i=[],n=0;n<e.length;n++)for(var r=e[n],a=0;a<r.length;a++)i.push(r[a]);for(n=0;n<i.length;n++){var s=i[n],o=s.ds,c=s.value,l=s.type;if(":"+o,"prn"!=o&&"utf8"!=o&&"ia5"!=o)return"mixed";if("ia5"==o){if("CN"!=l)return"mixed";if(Mi.lang.String.isMail(c))continue;return"mixed"}if("C"==l){if("prn"==o)continue;return"mixed"}if(":"+o,null==t)t=o;else if(t!==o)return"mixed"}return null==t?"prn":t},this.getX500Name=function(e){for(var t=[],n=i(e,0),a=0;a<n.length;a++)t.push(this.getRDN(r(e,n[a])));return t},this.getRDN=function(e){for(var t=[],n=i(e,0),a=0;a<n.length;a++)t.push(this.getAttrTypeAndValue(r(e,n[a])));return t},this.getAttrTypeAndValue=function(e){var t={type:null,value:null,ds:null},n=i(e,0),r=a(e,n[0],[],"06"),s=a(e,n[1],[]),o=Mi.asn1.ASN1Util.oidHexToInt(r);return t.type=Mi.asn1.x509.OID.oid2atype(o),t.value=Wi(s),t.ds=this.HEX2STAG[e.substr(n[1],2)],t},this.readCertPEM=function(e){this.readCertHex(m(e))},this.readCertHex=function(e){this.hex=e,this.getVersion();try{l(this.hex,0,[0,7],"a3"),this.parseExt()}catch(t){}},this.getParam=function(){var e={};return e.version=this.getVersion(),e.serial={hex:this.getSerialNumberHex()},e.sigalg=this.getSignatureAlgorithmField(),e.issuer=this.getIssuer(),e.notbefore=this.getNotBefore(),e.notafter=this.getNotAfter(),e.subject=this.getSubject(),e.sbjpubkey=Ji(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(e.ext=this.getExtParamArray()),e.sighex=this.getSignatureValueHex(),e},this.getExtParamArray=function(e){if(void 0==e){var t=u(this.hex,0,[0,"[3]"]);-1!=t&&(e=c(this.hex,0,[0,"[3]",0],"30"))}for(var n=[],a=i(e,0),s=0;s<a.length;s++){var o=r(e,a[s]),l=this.getExtParam(o);null!=l&&n.push(l)}return n},this.getExtParam=function(e){var t=i(e,0),n=t.length;if(2!=n&&3!=n)throw new Error("wrong number elements in Extension: "+n+" "+e);var r=f(a(e,0,[0],"06")),s=!1;3==n&&"0101ff"==o(e,0,[1])&&(s=!0);var c=o(e,0,[n-1,0]),l=void 0;if("2.5.29.14"==r?l=this.getExtSubjectKeyIdentifier(c,s):"2.5.29.15"==r?l=this.getExtKeyUsage(c,s):"2.5.29.17"==r?l=this.getExtSubjectAltName(c,s):"2.5.29.18"==r?l=this.getExtIssuerAltName(c,s):"2.5.29.19"==r?l=this.getExtBasicConstraints(c,s):"2.5.29.31"==r?l=this.getExtCRLDistributionPoints(c,s):"2.5.29.32"==r?l=this.getExtCertificatePolicies(c,s):"2.5.29.35"==r?l=this.getExtAuthorityKeyIdentifier(c,s):"2.5.29.37"==r?l=this.getExtExtKeyUsage(c,s):"1.3.6.1.5.5.7.1.1"==r?l=this.getExtAuthorityInfoAccess(c,s):"2.5.29.20"==r?l=this.getExtCRLNumber(c,s):"2.5.29.21"==r?l=this.getExtCRLReason(c,s):"1.3.6.1.5.5.7.48.1.2"==r?l=this.getExtOcspNonce(c,s):"1.3.6.1.5.5.7.48.1.5"==r&&(l=this.getExtOcspNoCheck(c,s)),void 0!=l)return l;var u={extname:r,extn:c};return s&&(u.critical=!0),u},this.getInfo=function(){var e,t,i,n=function(e){var t=JSON.stringify(e.array).replace(/[\[\]\{\}\"]/g,"");return t},r=function(e){for(var t="",i=e.array,n=0;n<i.length;n++){var r=i[n];if(t+="    policy oid: "+r.policyoid+"\n",void 0!==r.array)for(var a=0;a<r.array.length;a++){var s=r.array[a];void 0!==s.cps&&(t+="    cps: "+s.cps+"\n")}}return t},a=function(e){for(var t="",i=e.array,n=0;n<i.length;n++){var r=i[n];try{void 0!==r.dpname.full[0].uri&&(t+="    "+r.dpname.full[0].uri+"\n")}catch(a){}try{void 0!==r.dname.full[0].dn.hex&&(t+="    "+_n.hex2dn(r.dpname.full[0].dn.hex)+"\n")}catch(a){}}return t},s=function(e){for(var t="",i=e.array,n=0;n<i.length;n++){var r=i[n];void 0!==r.caissuer&&(t+="    caissuer: "+r.caissuer+"\n"),void 0!==r.ocsp&&(t+="    ocsp: "+r.ocsp+"\n")}return t};if(e="Basic Fields\n",e+="  serial number: "+this.getSerialNumberHex()+"\n",e+="  signature algorithm: "+this.getSignatureAlgorithmField()+"\n",e+="  issuer: "+this.getIssuerString()+"\n",e+="  notBefore: "+this.getNotBefore()+"\n",e+="  notAfter: "+this.getNotAfter()+"\n",e+="  subject: "+this.getSubjectString()+"\n",e+="  subject public key info: \n",t=this.getPublicKey(),e+="    key algorithm: "+t.type+"\n","RSA"===t.type&&(e+="    n="+vn(t.n.toString(16)).substr(0,16)+"...\n",e+="    e="+vn(t.e.toString(16))+"\n"),i=this.aExtInfo,void 0!==i&&null!==i){e+="X509v3 Extensions:\n";for(var o=0;o<i.length;o++){var c=i[o],l=Mi.asn1.x509.OID.oid2name(c.oid);""===l&&(l=c.oid);var u="";if(!0===c.critical&&(u="CRITICAL"),e+="  "+l+" "+u+":\n","basicConstraints"===l){var h=this.getExtBasicConstraints();void 0===h.cA?e+="    {}\n":(e+="    cA=true",void 0!==h.pathLen&&(e+=", pathLen="+h.pathLen),e+="\n")}else if("keyUsage"===l)e+="    "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===l)e+="    "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===l){var d=this.getExtAuthorityKeyIdentifier();void 0!==d.kid&&(e+="    kid="+d.kid.hex+"\n")}else if("extKeyUsage"===l){var f=this.getExtExtKeyUsage().array;e+="    "+f.join(", ")+"\n"}else if("subjectAltName"===l){var p=n(this.getExtSubjectAltName());e+="    "+p+"\n"}else if("cRLDistributionPoints"===l){var m=this.getExtCRLDistributionPoints();e+=a(m)}else if("authorityInfoAccess"===l){var v=this.getExtAuthorityInfoAccess();e+=s(v)}else"certificatePolicies"===l&&(e+=r(this.getExtCertificatePolicies()))}}return e+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",e+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n",e}}Rt.prototype.sign=function(e,t){var i=function(e){return Mi.crypto.Util.hashString(e,t)},n=i(e);return this.signWithMessageHash(n,t)},Rt.prototype.signWithMessageHash=function(e,t){var i=Mi.crypto.Util.getPaddedDigestInfoHex(e,t,this.n.bitLength()),n=Ht(i,16),r=this.doPrivate(n),a=r.toString(16);return Sn(a,this.n.bitLength())},Rt.prototype.signPSS=function(e,t,i){var n=function(e){return Mi.crypto.Util.hashHex(e,t)},r=n(Xi(e));return void 0===i&&(i=-1),this.signWithMessageHashPSS(r,t,i)},Rt.prototype.signWithMessageHashPSS=function(e,t,i){var n,r=Wi(e),a=r.length,s=this.n.bitLength()-1,o=Math.ceil(s/8),c=function(e){return Mi.crypto.Util.hashHex(e,t)};if(-1===i||void 0===i)i=a;else if(-2===i)i=o-a-2;else if(i<-2)throw new Error("invalid salt length");if(o<a+i+2)throw new Error("data too long");var l="";i>0&&(l=new Array(i),(new Ot).nextBytes(l),l=String.fromCharCode.apply(String,l));var u=Wi(c(Xi("\0\0\0\0\0\0\0\0"+r+l))),h=[];for(n=0;n<o-i-a-2;n+=1)h[n]=0;var d=String.fromCharCode.apply(String,h)+""+l,f=xn(u,d.length,c),m=[];for(n=0;n<d.length;n+=1)m[n]=d.charCodeAt(n)^f.charCodeAt(n);var v=65280>>8*o-s&255;for(m[0]&=~v,n=0;n<a;n++)m.push(u.charCodeAt(n));return m.push(188),Sn(this.doPrivate(new p(m)).toString(16),this.n.bitLength())},Rt.prototype.verify=function(e,t){t=t.replace(Cn,""),t=t.replace(/[ \n]+/g,"");var i=Ht(t,16);if(i.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(i),r=n.toString(16).replace(/^1f+00/,""),a=wn(r);if(0==a.length)return!1;var s=a[0],o=a[1],c=function(e){return Mi.crypto.Util.hashString(e,s)},l=c(e);return o==l},Rt.prototype.verifyWithMessageHash=function(e,t){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var i=Ht(t,16);if(i.bitLength()>this.n.bitLength())return 0;var n=this.doPublic(i),r=n.toString(16).replace(/^1f+00/,""),a=wn(r);if(0==a.length)return!1;a[0];var s=a[1];return s==e},Rt.prototype.verifyPSS=function(e,t,i,n){var r=function(e){return Mi.crypto.Util.hashHex(e,i)},a=r(Xi(e));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(a,t,i,n)},Rt.prototype.verifyWithMessageHashPSS=function(e,t,i,n){if(t.length!=Math.ceil(this.n.bitLength()/4))return!1;var r,a=new p(t,16),s=function(e){return Mi.crypto.Util.hashHex(e,i)},o=Wi(e),c=o.length,l=this.n.bitLength()-1,u=Math.ceil(l/8);if(-1===n||void 0===n)n=c;else if(-2===n)n=u-c-2;else if(n<-2)throw new Error("invalid salt length");if(u<c+n+2)throw new Error("data too long");var h=this.doPublic(a).toByteArray();for(r=0;r<h.length;r+=1)h[r]&=255;while(h.length<u)h.unshift(0);if(188!==h[u-1])throw new Error("encoded message does not end in 0xbc");h=String.fromCharCode.apply(String,h);var d=h.substr(0,u-c-1),f=h.substr(d.length,c),m=65280>>8*u-l&255;if(0!==(d.charCodeAt(0)&m))throw new Error("bits beyond keysize not zero");var v=xn(f,d.length,s),g=[];for(r=0;r<d.length;r+=1)g[r]=d.charCodeAt(r)^v.charCodeAt(r);g[0]&=~m;var y=u-c-n-2;for(r=0;r<y;r+=1)if(0!==g[r])throw new Error("leftmost octets not zero");if(1!==g[y])throw new Error("0x01 marker not found");return f===Wi(s(Xi("\0\0\0\0\0\0\0\0"+o+String.fromCharCode.apply(String,g.slice(-n)))))},Rt.SALT_LEN_HLEN=-1,Rt.SALT_LEN_MAX=-2,Rt.SALT_LEN_RECOVER=-2,_n.hex2dn=function(e,t){if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed DN");for(var i=new Array,n=Ii.getChildIdx(e,t),r=0;r<n.length;r++)i.push(_n.hex2rdn(e,n[r]));return i=i.map((function(e){return e.replace("/","\\/")})),"/"+i.join("/")},_n.hex2rdn=function(e,t){if(void 0===t&&(t=0),"31"!==e.substr(t,2))throw new Error("malformed RDN");for(var i=new Array,n=Ii.getChildIdx(e,t),r=0;r<n.length;r++)i.push(_n.hex2attrTypeValue(e,n[r]));return i=i.map((function(e){return e.replace("+","\\+")})),i.join("+")},_n.hex2attrTypeValue=function(e,t){var i=Ii,n=i.getV;if(void 0===t&&(t=0),"30"!==e.substr(t,2))throw new Error("malformed attribute type and value");var r=i.getChildIdx(e,t);2!==r.length||e.substr(r[0],2);var a=n(e,r[0]),s=Mi.asn1.ASN1Util.oidHexToInt(a),o=Mi.asn1.x509.OID.oid2atype(s),c=n(e,r[1]),l=Wi(c);return o+"="+l},_n.getPublicKeyFromCertHex=function(e){var t=new _n;return t.readCertHex(e),t.getPublicKey()},_n.getPublicKeyFromCertPEM=function(e){var t=new _n;return t.readCertPEM(e),t.getPublicKey()},_n.getPublicKeyInfoPropOfCertPEM=function(e){var t,i,n=Ii,r=n.getVbyList,a={};return a.algparam=null,t=new _n,t.readCertPEM(e),i=t.getPublicKeyHex(),a.keyhex=r(i,0,[1],"03").substr(2),a.algoid=r(i,0,[0,0],"06"),"2a8648ce3d0201"===a.algoid&&(a.algparam=r(i,0,[0,1],"06")),a},_n.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];var An=function(e){var t=Mi,i=t.lang.String.isHex,n=Ii,r=n.getV,a=n.getTLV,s=n.getVbyList,o=n.getTLVbyList,c=n.getTLVbyListEx,l=n.getIdxbyList,u=n.getIdxbyListEx,h=n.getChildIdx,d=new _n;this.hex=null,this.posSigAlg=null,this.posRevCert=null,this._setPos=function(){var e=l(this.hex,0,[0,0]),t=this.hex.substr(e,2);if("02"==t)this.posSigAlg=1;else{if("30"!=t)throw new Error("malformed 1st item of TBSCertList: "+t);this.posSigAlg=0}var i,n,r=l(this.hex,0,[0,this.posSigAlg+3]),a=this.hex.substr(r,2);if("17"==a||"18"==a)i=l(this.hex,0,[0,this.posSigAlg+4]),this.posRevCert=null,-1!=i&&(n=this.hex.substr(i,2),"30"==n&&(this.posRevCert=this.posSigAlg+4));else if("30"==a)this.posRevCert=this.posSigAlg+3;else{if("a0"!=a)throw new Error("malformed nextUpdate or revCert tag: "+a);this.posRevCert=null}},this.getVersion=function(){return 0==this.posSigAlg?null:parseInt(s(this.hex,0,[0,0],"02"),16)+1},this.getSignatureAlgorithmField=function(){var e=o(this.hex,0,[0,this.posSigAlg],"30");return d.getAlgorithmIdentifierName(e)},this.getIssuer=function(){var e=o(this.hex,0,[0,this.posSigAlg+1],"30"),t={};return t.array=d.getX500Name(e),t},this.getThisUpdate=function(){var e=s(this.hex,0,[0,this.posSigAlg+2]);return result=Wi(e)},this.getNextUpdate=function(){var e=l(this.hex,0,[0,this.posSigAlg+3]),t=this.hex.substr(e,2);return"17"!=t&&"18"!=t?null:Wi(r(this.hex,e))},this.getRevCertArray=function(){if(null==this.posRevCert)return null;for(var e=[],t=l(this.hex,0,[0,this.posRevCert]),i=h(this.hex,t),n=0;n<i.length;n++){var r=a(this.hex,i[n]);e.push(this.getRevCert(r))}return e},this.getRevCert=function(e){var t={},i=h(e,0);return t.sn={hex:s(e,0,[0],"02")},t.date=Wi(s(e,0,[1])),3==i.length&&(t.ext=d.getExtParamArray(o(e,0,[2]))),t},this.getSignatureValueHex=function(){return s(this.hex,0,[2],"03",!0)},this.verifySignature=function(e){var t=this.getSignatureAlgorithmField(),i=this.getSignatureValueHex(),n=o(this.hex,0,[0],"30"),r=new Mi.crypto.Signature({alg:t});return r.init(e),r.updateHex(n),r.verify(i)},this.getParam=function(){var e={},t=this.getVersion();null!=t&&(e.version=t),e.sigalg=this.getSignatureAlgorithmField(),e.issuer=this.getIssuer(),e.thisupdate=this.getThisUpdate();var i=this.getNextUpdate();null!=i&&(e.nextupdate=i);var n=this.getRevCertArray();null!=n&&(e.revcert=n);var r=u(this.hex,0,[0,"[0]"]);if(-1!=r){var a=c(this.hex,0,[0,"[0]",0]);e.ext=d.getExtParamArray(a)}return e.sighex=this.getSignatureValueHex(),e},"string"==typeof e&&(i(e)?this.hex=e:e.match(/-----BEGIN X509 CRL/)&&(this.hex=Qi(e)),this._setPos())};"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.jws&&Mi.jws||(Mi.jws={}),Mi.jws.JWS=function(){var e=Mi,t=e.jws.JWS,i=t.isSafeJSONString;this.parseJWS=function(e,t){if(void 0===this.parsedJWS||!t&&void 0===this.parsedJWS.sigvalH){var n=e.match(/^([^.]+)\.([^.]+)\.([^.]+)$/);if(null==n)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";var r=n[1],a=n[2],s=n[3],o=r+"."+a;if(this.parsedJWS={},this.parsedJWS.headB64U=r,this.parsedJWS.payloadB64U=a,this.parsedJWS.sigvalB64U=s,this.parsedJWS.si=o,!t){var c=ji(s),l=Ht(c,16);this.parsedJWS.sigvalH=c,this.parsedJWS.sigvalBI=l}var u=Ti(r),h=Ti(a);if(this.parsedJWS.headS=u,this.parsedJWS.payloadS=h,!i(u,this.parsedJWS,"headP"))throw"malformed JSON string for JWS Head: "+u}}},Mi.jws.JWS.sign=function(e,t,i,n,r){var a,s,o,c=Mi,l=c.jws,u=l.JWS,h=u.readSafeJSONString,d=u.isSafeJSONString,f=c.crypto,p=(f.ECDSA,f.Mac),m=f.Signature,v=JSON;if("string"!=typeof t&&"object"!=typeof t)throw"spHeader must be JSON string or object: "+t;if("object"==typeof t&&(s=t,a=v.stringify(s)),"string"==typeof t){if(a=t,!d(a))throw"JWS Head is not safe JSON string: "+a;s=h(a)}if(o=i,"object"==typeof i&&(o=v.stringify(i)),""!=e&&null!=e||void 0===s.alg||(e=s.alg),""!=e&&null!=e&&void 0===s.alg&&(s.alg=e,a=v.stringify(s)),e!==s.alg)throw"alg and sHeader.alg doesn't match: "+e+"!="+s.alg;var g=null;if(void 0===u.jwsalg2sigalg[e])throw"unsupported alg name: "+e;g=u.jwsalg2sigalg[e];var y=zi(a),b=zi(o),C=y+"."+b,S="";if("Hmac"==g.substr(0,4)){if(void 0===n)throw"mac key shall be specified for HS* alg";var x=new p({alg:g,prov:"cryptojs",pass:n});x.updateString(C),S=x.doFinal()}else if(-1!=g.indexOf("withECDSA")){var w=new m({alg:g});w.init(n,r),w.updateString(C);var _=w.sign();S=Mi.crypto.ECDSA.asn1SigToConcatSig(_)}else if("none"!=g){w=new m({alg:g});w.init(n,r),w.updateString(C),S=w.sign()}var A=Bi(S);return C+"."+A},Mi.jws.JWS.verify=function(e,t,i){var n,r=Mi,a=r.jws,s=a.JWS,o=s.readSafeJSONString,c=r.crypto,l=c.ECDSA,u=c.Mac,h=c.Signature;void 0!==typeof Rt&&(n=Rt);var d=e.split(".");if(3!==d.length)return!1;var f=d[0],p=d[1],m=f+"."+p,v=ji(d[2]),g=o(Ti(d[0])),y=null,b=null;if(void 0===g.alg)throw"algorithm not specified in header";if(y=g.alg,b=y.substr(0,2),null!=i&&"[object Array]"===Object.prototype.toString.call(i)&&i.length>0){var C=":"+i.join(":")+":";if(-1==C.indexOf(":"+y+":"))throw"algorithm '"+y+"' not accepted in the list"}if("none"!=y&&null===t)throw"key shall be specified to verify.";if("string"==typeof t&&-1!=t.indexOf("-----BEGIN ")&&(t=bn.getKey(t)),("RS"==b||"PS"==b)&&!(t instanceof n))throw"key shall be a RSAKey obj for RS* and PS* algs";if("ES"==b&&!(t instanceof l))throw"key shall be a ECDSA obj for ES* algs";var S=null;if(void 0===s.jwsalg2sigalg[g.alg])throw"unsupported alg name: "+y;if(S=s.jwsalg2sigalg[y],"none"==S)throw"not supported";if("Hmac"==S.substr(0,4)){var x=null;if(void 0===t)throw"hexadecimal key shall be specified for HMAC";var w=new u({alg:S,pass:t});return w.updateString(m),x=w.doFinal(),v==x}if(-1!=S.indexOf("withECDSA")){var _=null;try{_=l.concatSigToASN1Sig(v)}catch(E){return!1}var A=new h({alg:S});return A.init(t),A.updateString(m),A.verify(_)}A=new h({alg:S});return A.init(t),A.updateString(m),A.verify(v)},Mi.jws.JWS.parse=function(e){var t,i,n,r=e.split("."),a={};if(2!=r.length&&3!=r.length)throw"malformed sJWS: wrong number of '.' splitted elements";return t=r[0],i=r[1],3==r.length&&(n=r[2]),a.headerObj=Mi.jws.JWS.readSafeJSONString(Ti(t)),a.payloadObj=Mi.jws.JWS.readSafeJSONString(Ti(i)),a.headerPP=JSON.stringify(a.headerObj,null,"  "),null==a.payloadObj?a.payloadPP=Ti(i):a.payloadPP=JSON.stringify(a.payloadObj,null,"  "),void 0!==n&&(a.sigHex=ji(n)),a},Mi.jws.JWS.verifyJWT=function(e,t,i){var n=Mi,r=n.jws,a=r.JWS,s=a.readSafeJSONString,o=a.inArray,c=a.includedArray,l=e.split("."),u=l[0],h=l[1],d=(ji(l[2]),s(Ti(u))),f=s(Ti(h));if(void 0===d.alg)return!1;if(void 0===i.alg)throw"acceptField.alg shall be specified";if(!o(d.alg,i.alg))return!1;if(void 0!==f.iss&&"object"===typeof i.iss&&!o(f.iss,i.iss))return!1;if(void 0!==f.sub&&"object"===typeof i.sub&&!o(f.sub,i.sub))return!1;if(void 0!==f.aud&&"object"===typeof i.aud)if("string"==typeof f.aud){if(!o(f.aud,i.aud))return!1}else if("object"==typeof f.aud&&!c(f.aud,i.aud))return!1;var p=r.IntDate.getNow();return void 0!==i.verifyAt&&"number"===typeof i.verifyAt&&(p=i.verifyAt),void 0!==i.gracePeriod&&"number"===typeof i.gracePeriod||(i.gracePeriod=0),!(void 0!==f.exp&&"number"==typeof f.exp&&f.exp+i.gracePeriod<p)&&(!(void 0!==f.nbf&&"number"==typeof f.nbf&&p<f.nbf-i.gracePeriod)&&(!(void 0!==f.iat&&"number"==typeof f.iat&&p<f.iat-i.gracePeriod)&&((void 0===f.jti||void 0===i.jti||f.jti===i.jti)&&!!a.verify(e,t,i.alg))))},Mi.jws.JWS.includedArray=function(e,t){var i=Mi.jws.JWS.inArray;if(null===e)return!1;if("object"!==typeof e)return!1;if("number"!==typeof e.length)return!1;for(var n=0;n<e.length;n++)if(!i(e[n],t))return!1;return!0},Mi.jws.JWS.inArray=function(e,t){if(null===t)return!1;if("object"!==typeof t)return!1;if("number"!==typeof t.length)return!1;for(var i=0;i<t.length;i++)if(t[i]==e)return!0;return!1},Mi.jws.JWS.jwsalg2sigalg={HS256:"HmacSHA256",HS384:"HmacSHA384",HS512:"HmacSHA512",RS256:"SHA256withRSA",RS384:"SHA384withRSA",RS512:"SHA512withRSA",ES256:"SHA256withECDSA",ES384:"SHA384withECDSA",PS256:"SHA256withRSAandMGF1",PS384:"SHA384withRSAandMGF1",PS512:"SHA512withRSAandMGF1",none:"none"},Mi.jws.JWS.isSafeJSONString=function(e,t,i){var n=null;try{return n=ki(e),"object"!=typeof n?0:n.constructor===Array?0:(t&&(t[i]=n),1)}catch(r){return 0}},Mi.jws.JWS.readSafeJSONString=function(e){var t=null;try{return t=ki(e),"object"!=typeof t||t.constructor===Array?null:t}catch(i){return null}},Mi.jws.JWS.getEncodedSignatureValueFromJWS=function(e){var t=e.match(/^[^.]+\.[^.]+\.([^.]+)$/);if(null==t)throw"JWS signature is not a form of 'Head.Payload.SigValue'.";return t[1]},Mi.jws.JWS.getJWKthumbprint=function(e){if("RSA"!==e.kty&&"EC"!==e.kty&&"oct"!==e.kty)throw"unsupported algorithm for JWK Thumprint";var t="{";if("RSA"===e.kty){if("string"!=typeof e.n||"string"!=typeof e.e)throw"wrong n and e value for RSA key";t+='"e":"'+e.e+'",',t+='"kty":"'+e.kty+'",',t+='"n":"'+e.n+'"}'}else if("EC"===e.kty){if("string"!=typeof e.crv||"string"!=typeof e.x||"string"!=typeof e.y)throw"wrong crv, x and y value for EC key";t+='"crv":"'+e.crv+'",',t+='"kty":"'+e.kty+'",',t+='"x":"'+e.x+'",',t+='"y":"'+e.y+'"}'}else if("oct"===e.kty){if("string"!=typeof e.k)throw"wrong k value for oct(symmetric) key";t+='"kty":"'+e.kty+'",',t+='"k":"'+e.k+'"}'}var i=Xi(t),n=Mi.crypto.Util.hashHex(i,"sha256"),r=Bi(n);return r},Mi.jws.IntDate={},Mi.jws.IntDate.get=function(e){var t=Mi.jws.IntDate,i=t.getNow,n=t.getZulu;if("now"==e)return i();if("now + 1hour"==e)return i()+3600;if("now + 1day"==e)return i()+86400;if("now + 1month"==e)return i()+2592e3;if("now + 1year"==e)return i()+31536e3;if(e.match(/Z$/))return n(e);if(e.match(/^[0-9]+$/))return parseInt(e);throw"unsupported format: "+e},Mi.jws.IntDate.getZulu=function(e){return rn(e)},Mi.jws.IntDate.getNow=function(){var e=~~(new Date/1e3);return e},Mi.jws.IntDate.intDate2UTCString=function(e){var t=new Date(1e3*e);return t.toUTCString()},Mi.jws.IntDate.intDate2Zulu=function(e){var t=new Date(1e3*e),i=("0000"+t.getUTCFullYear()).slice(-4),n=("00"+(t.getUTCMonth()+1)).slice(-2),r=("00"+t.getUTCDate()).slice(-2),a=("00"+t.getUTCHours()).slice(-2),s=("00"+t.getUTCMinutes()).slice(-2),o=("00"+t.getUTCSeconds()).slice(-2);return i+n+r+a+s+o+"Z"},"undefined"!=typeof Mi&&Mi||(Mi={}),"undefined"!=typeof Mi.jws&&Mi.jws||(Mi.jws={}),Mi.jws.JWSJS=function(){var e=Mi,t=e.jws,i=t.JWS,n=i.readSafeJSONString;this.aHeader=[],this.sPayload="",this.aSignature=[],this.init=function(){this.aHeader=[],this.sPayload=void 0,this.aSignature=[]},this.initWithJWS=function(e){this.init();var t=e.split(".");if(3!=t.length)throw"malformed input JWS";this.aHeader.push(t[0]),this.sPayload=t[1],this.aSignature.push(t[2])},this.addSignature=function(e,t,i,n){if(void 0===this.sPayload||null===this.sPayload)throw"there's no JSON-JS signature to add.";var r=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length)throw"aHeader.length != aSignature.length";try{var a=Mi.jws.JWS.sign(e,t,this.sPayload,i,n),s=a.split(".");s[0],s[2];this.aHeader.push(s[0]),this.aSignature.push(s[2])}catch(o){throw this.aHeader.length>r&&this.aHeader.pop(),this.aSignature.length>r&&this.aSignature.pop(),"addSignature failed: "+o}},this.verifyAll=function(e){if(this.aHeader.length!==e.length||this.aSignature.length!==e.length)return!1;for(var t=0;t<e.length;t++){var i=e[t];if(2!==i.length)return!1;var n=this.verifyNth(t,i[0],i[1]);if(!1===n)return!1}return!0},this.verifyNth=function(e,t,n){if(this.aHeader.length<=e||this.aSignature.length<=e)return!1;var r=this.aHeader[e],a=this.aSignature[e],s=r+"."+this.sPayload+"."+a,o=!1;try{o=i.verify(s,t,n)}catch(c){return!1}return o},this.readJWSJS=function(e){if("string"===typeof e){var t=n(e);if(null==t)throw"argument is not safe JSON object string";this.aHeader=t.headers,this.sPayload=t.payload,this.aSignature=t.signatures}else try{if(!(e.headers.length>0))throw"malformed header";if(this.aHeader=e.headers,"string"!==typeof e.payload)throw"malformed signatures";if(this.sPayload=e.payload,!(e.signatures.length>0))throw"malformed signatures";this.aSignature=e.signatures}catch(i){throw"malformed JWS-JS JSON object: "+i}},this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}},this.isEmpty=function(){return 0==this.aHeader.length?1:0}},t.SecureRandom=Ot,t.rng_seed_time=Mt,t.BigInteger=p,t.RSAKey=Rt,t.ECDSA=Mi.crypto.ECDSA,t.DSA=Mi.crypto.DSA,t.Signature=Mi.crypto.Signature,t.MessageDigest=Mi.crypto.MessageDigest,t.Mac=Mi.crypto.Mac,t.Cipher=Mi.crypto.Cipher,t.KEYUTIL=bn,t.ASN1HEX=Ii,t.X509=_n,t.X509CRL=An,t.CryptoJS=a,t.b64tohex=u,t.b64toBA=h,t.ECFieldElementFp=ei,t.ECPointFp=li,t.ECCurveFp=bi,t.stoBA=Ni,t.BAtos=Di,t.BAtohex=Pi,t.stohex=Oi,t.stob64=Hi,t.stob64u=Fi,t.b64utos=Li,t.b64tob64u=Vi,t.b64utob64=Ri,t.hex2b64=l,t.hextob64u=Bi,t.b64utohex=ji,t.utf8tob64u=zi,t.b64utoutf8=Ti,t.utf8tob64=$i,t.b64toutf8=Ki,t.utf8tohex=qi,t.hextoutf8=Ui,t.hextorstr=Wi,t.rstrtohex=Xi,t.hextob64=Gi,t.hextob64nl=Yi,t.b64nltohex=Zi,t.hextopem=Ji,t.pemtohex=Qi,t.hextoArrayBuffer=en,t.ArrayBuffertohex=tn,t.zulutomsec=nn,t.zulutosec=rn,t.zulutodate=an,t.datetozulu=sn,t.uricmptohex=on,t.hextouricmp=cn,t.ipv6tohex=ln,t.hextoipv6=un,t.hextoip=hn,t.iptohex=dn,t.encodeURIComponentAll=fn,t.newline_toUnix=pn,t.newline_toDos=mn,t.hextoposhex=vn,t.intarystrtohex=gn,t.strdiffidx=yn,t.KJUR=Mi,t.crypto=Mi.crypto,t.asn1=Mi.asn1,t.jws=Mi.jws,t.lang=Mi.lang}).call(this,i("b639").Buffer)},"820e":function(e,t,i){"use strict";var n=i("23e7"),r=i("1c0b"),a=i("f069"),s=i("e667"),o=i("2266");n({target:"Promise",stat:!0},{allSettled:function(e){var t=this,i=a.f(t),n=i.resolve,c=i.reject,l=s((function(){var i=r(t.resolve),a=[],s=0,c=1;o(e,(function(e){var r=s++,o=!1;a.push(void 0),c++,i.call(t,e).then((function(e){o||(o=!0,a[r]={status:"fulfilled",value:e},--c||n(a))}),(function(e){o||(o=!0,a[r]={status:"rejected",reason:e},--c||n(a))}))})),--c||n(a)}));return l.error&&c(l.value),i.promise}})},8237:function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__;
-(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"===typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"===typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"===typeof module&&module.exports,AMD=__webpack_require__("3c35"),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!==typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t){return new Md5(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var i=OUTPUT_TYPES[t];e[i]=createOutputMethod(i)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"===typeof e)return crypto.createHash("md5").update(e,"utf8").digest("hex");if(null===e||void 0===e)throw ERROR;return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash("md5").update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod};function Md5(e){if(e)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(e){if(!this.finalized){var t,i=typeof e;if("string"!==i){if("object"!==i)throw ERROR;if(null===e)throw ERROR;if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw ERROR;t=!0}var n,r,a=0,s=e.length,o=this.blocks,c=this.buffer8;while(a<s){if(this.hashed&&(this.hashed=!1,o[0]=o[16],o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),t)if(ARRAY_BUFFER)for(r=this.start;a<s&&r<64;++a)c[r++]=e[a];else for(r=this.start;a<s&&r<64;++a)o[r>>2]|=e[a]<<SHIFT[3&r++];else if(ARRAY_BUFFER)for(r=this.start;a<s&&r<64;++a)n=e.charCodeAt(a),n<128?c[r++]=n:n<2048?(c[r++]=192|n>>6,c[r++]=128|63&n):n<55296||n>=57344?(c[r++]=224|n>>12,c[r++]=128|n>>6&63,c[r++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++a)),c[r++]=240|n>>18,c[r++]=128|n>>12&63,c[r++]=128|n>>6&63,c[r++]=128|63&n);else for(r=this.start;a<s&&r<64;++a)n=e.charCodeAt(a),n<128?o[r>>2]|=n<<SHIFT[3&r++]:n<2048?(o[r>>2]|=(192|n>>6)<<SHIFT[3&r++],o[r>>2]|=(128|63&n)<<SHIFT[3&r++]):n<55296||n>=57344?(o[r>>2]|=(224|n>>12)<<SHIFT[3&r++],o[r>>2]|=(128|n>>6&63)<<SHIFT[3&r++],o[r>>2]|=(128|63&n)<<SHIFT[3&r++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++a)),o[r>>2]|=(240|n>>18)<<SHIFT[3&r++],o[r>>2]|=(128|n>>12&63)<<SHIFT[3&r++],o[r>>2]|=(128|n>>6&63)<<SHIFT[3&r++],o[r>>2]|=(128|63&n)<<SHIFT[3&r++]);this.lastByteIndex=r,this.bytes+=r-this.start,r>=64?(this.start=r-64,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,i,n,r,a,s=this.blocks;this.first?(e=s[0]-680876937,e=(e<<7|e>>>25)-271733879<<0,n=(-1732584194^2004318071&e)+s[1]-117830708,n=(n<<12|n>>>20)+e<<0,i=(-271733879^n&(-271733879^e))+s[2]-1126478375,i=(i<<17|i>>>15)+n<<0,t=(e^i&(n^e))+s[3]-1316259209,t=(t<<22|t>>>10)+i<<0):(e=this.h0,t=this.h1,i=this.h2,n=this.h3,e+=(n^t&(i^n))+s[0]-680876936,e=(e<<7|e>>>25)+t<<0,n+=(i^e&(t^i))+s[1]-389564586,n=(n<<12|n>>>20)+e<<0,i+=(t^n&(e^t))+s[2]+606105819,i=(i<<17|i>>>15)+n<<0,t+=(e^i&(n^e))+s[3]-1044525330,t=(t<<22|t>>>10)+i<<0),e+=(n^t&(i^n))+s[4]-176418897,e=(e<<7|e>>>25)+t<<0,n+=(i^e&(t^i))+s[5]+1200080426,n=(n<<12|n>>>20)+e<<0,i+=(t^n&(e^t))+s[6]-1473231341,i=(i<<17|i>>>15)+n<<0,t+=(e^i&(n^e))+s[7]-45705983,t=(t<<22|t>>>10)+i<<0,e+=(n^t&(i^n))+s[8]+1770035416,e=(e<<7|e>>>25)+t<<0,n+=(i^e&(t^i))+s[9]-1958414417,n=(n<<12|n>>>20)+e<<0,i+=(t^n&(e^t))+s[10]-42063,i=(i<<17|i>>>15)+n<<0,t+=(e^i&(n^e))+s[11]-1990404162,t=(t<<22|t>>>10)+i<<0,e+=(n^t&(i^n))+s[12]+1804603682,e=(e<<7|e>>>25)+t<<0,n+=(i^e&(t^i))+s[13]-40341101,n=(n<<12|n>>>20)+e<<0,i+=(t^n&(e^t))+s[14]-1502002290,i=(i<<17|i>>>15)+n<<0,t+=(e^i&(n^e))+s[15]+1236535329,t=(t<<22|t>>>10)+i<<0,e+=(i^n&(t^i))+s[1]-165796510,e=(e<<5|e>>>27)+t<<0,n+=(t^i&(e^t))+s[6]-1069501632,n=(n<<9|n>>>23)+e<<0,i+=(e^t&(n^e))+s[11]+643717713,i=(i<<14|i>>>18)+n<<0,t+=(n^e&(i^n))+s[0]-373897302,t=(t<<20|t>>>12)+i<<0,e+=(i^n&(t^i))+s[5]-701558691,e=(e<<5|e>>>27)+t<<0,n+=(t^i&(e^t))+s[10]+38016083,n=(n<<9|n>>>23)+e<<0,i+=(e^t&(n^e))+s[15]-660478335,i=(i<<14|i>>>18)+n<<0,t+=(n^e&(i^n))+s[4]-405537848,t=(t<<20|t>>>12)+i<<0,e+=(i^n&(t^i))+s[9]+568446438,e=(e<<5|e>>>27)+t<<0,n+=(t^i&(e^t))+s[14]-1019803690,n=(n<<9|n>>>23)+e<<0,i+=(e^t&(n^e))+s[3]-187363961,i=(i<<14|i>>>18)+n<<0,t+=(n^e&(i^n))+s[8]+1163531501,t=(t<<20|t>>>12)+i<<0,e+=(i^n&(t^i))+s[13]-1444681467,e=(e<<5|e>>>27)+t<<0,n+=(t^i&(e^t))+s[2]-51403784,n=(n<<9|n>>>23)+e<<0,i+=(e^t&(n^e))+s[7]+1735328473,i=(i<<14|i>>>18)+n<<0,t+=(n^e&(i^n))+s[12]-1926607734,t=(t<<20|t>>>12)+i<<0,r=t^i,e+=(r^n)+s[5]-378558,e=(e<<4|e>>>28)+t<<0,n+=(r^e)+s[8]-2022574463,n=(n<<11|n>>>21)+e<<0,a=n^e,i+=(a^t)+s[11]+1839030562,i=(i<<16|i>>>16)+n<<0,t+=(a^i)+s[14]-35309556,t=(t<<23|t>>>9)+i<<0,r=t^i,e+=(r^n)+s[1]-1530992060,e=(e<<4|e>>>28)+t<<0,n+=(r^e)+s[4]+1272893353,n=(n<<11|n>>>21)+e<<0,a=n^e,i+=(a^t)+s[7]-155497632,i=(i<<16|i>>>16)+n<<0,t+=(a^i)+s[10]-1094730640,t=(t<<23|t>>>9)+i<<0,r=t^i,e+=(r^n)+s[13]+681279174,e=(e<<4|e>>>28)+t<<0,n+=(r^e)+s[0]-358537222,n=(n<<11|n>>>21)+e<<0,a=n^e,i+=(a^t)+s[3]-722521979,i=(i<<16|i>>>16)+n<<0,t+=(a^i)+s[6]+76029189,t=(t<<23|t>>>9)+i<<0,r=t^i,e+=(r^n)+s[9]-640364487,e=(e<<4|e>>>28)+t<<0,n+=(r^e)+s[12]-421815835,n=(n<<11|n>>>21)+e<<0,a=n^e,i+=(a^t)+s[15]+530742520,i=(i<<16|i>>>16)+n<<0,t+=(a^i)+s[2]-995338651,t=(t<<23|t>>>9)+i<<0,e+=(i^(t|~n))+s[0]-198630844,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~i))+s[7]+1126891415,n=(n<<10|n>>>22)+e<<0,i+=(e^(n|~t))+s[14]-1416354905,i=(i<<15|i>>>17)+n<<0,t+=(n^(i|~e))+s[5]-57434055,t=(t<<21|t>>>11)+i<<0,e+=(i^(t|~n))+s[12]+1700485571,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~i))+s[3]-1894986606,n=(n<<10|n>>>22)+e<<0,i+=(e^(n|~t))+s[10]-1051523,i=(i<<15|i>>>17)+n<<0,t+=(n^(i|~e))+s[1]-2054922799,t=(t<<21|t>>>11)+i<<0,e+=(i^(t|~n))+s[8]+1873313359,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~i))+s[15]-30611744,n=(n<<10|n>>>22)+e<<0,i+=(e^(n|~t))+s[6]-1560198380,i=(i<<15|i>>>17)+n<<0,t+=(n^(i|~e))+s[13]+1309151649,t=(t<<21|t>>>11)+i<<0,e+=(i^(t|~n))+s[4]-145523070,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~i))+s[11]-1120210379,n=(n<<10|n>>>22)+e<<0,i+=(e^(n|~t))+s[2]+718787259,i=(i<<15|i>>>17)+n<<0,t+=(n^(i|~e))+s[9]-343485551,t=(t<<21|t>>>11)+i<<0,this.first?(this.h0=e+1732584193<<0,this.h1=t-271733879<<0,this.h2=i-1732584194<<0,this.h3=n+271733878<<0,this.first=!1):(this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+i<<0,this.h3=this.h3+n<<0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,n=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[15&i]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,n=this.h3;return[255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&i,i>>8&255,i>>16&255,i>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,i,n="",r=this.array(),a=0;a<15;)e=r[a++],t=r[a++],i=r[a++],n+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|i>>>6)]+BASE64_ENCODE_CHAR[63&i];return e=r[a],n+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"==",n};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__("4362"),__webpack_require__("c8ba"))},"825a":function(e,t,i){var n=i("861d");e.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},"82f8":function(e,t,i){"use strict";var n=i("ebb5"),r=i("4d64").includes,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},"83ab":function(e,t,i){var n=i("d039");e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"83b9":function(e,t,i){"use strict";var n=i("d925"),r=i("e683");e.exports=function(e,t){return e&&!n(t)?r(e,t):t}},8418:function(e,t,i){"use strict";var n=i("c04e"),r=i("9bf2"),a=i("5c6c");e.exports=function(e,t,i){var s=n(t);s in e?r.f(e,s,a(0,i)):e[s]=i}},"843c":function(e,t,i){"use strict";var n=i("23e7"),r=i("0ccb").end,a=i("9a0c");n({target:"String",proto:!0,forced:a},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}})},"845f":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=99)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},99:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-button-group"},[e._t("default")],2)},r=[];n._withStripped=!0;var a={name:"ElButtonGroup"},s=a,o=i(0),c=Object(o["a"])(s,n,r,!1,null,null,null);c.options.__file="packages/button/src/button-group.vue";var l=c.exports;l.install=function(e){e.component(l.name,l)};t["default"]=l}})},"84c3":function(e,t,i){var n=i("74e8");n("Uint16",(function(e){return function(t,i,n){return e(this,t,i,n)}}))},"857a":function(e,t,i){var n=i("1d80"),r=/"/g;e.exports=function(e,t,i,a){var s=String(n(e)),o="<"+t;return""!==i&&(o+=" "+i+'="'+String(a).replace(r,"&quot;")+'"'),o+">"+s+"</"+t+">"}},"85e7":function(e,t,i){var n=i("1a14"),r=i("77e9"),a=i("9876");e.exports=i("0bad")?Object.defineProperties:function(e,t){r(e);var i,s=a(t),o=s.length,c=0;while(o>c)n.f(e,i=s[c++],t[i]);return e}},"861d":function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},"87c2":function(e,t,i){(function(e,i){i(t)})(0,(function(e){"use strict";var t="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol:function(e){return"Symbol("+e+")"};function i(){}var n=Number.isNaN||function(e){return e!==e},r=i;function a(e){return"object"===typeof e&&null!==e||"function"===typeof e}function s(e){return e.slice()}function o(e,t,i,n,r){new Uint8Array(e).set(new Uint8Array(i,n,r),t)}function c(e){return!1!==l(e)&&e!==1/0}function l(e){return"number"===typeof e&&(!n(e)&&!(e<0))}function u(e,t,i){if("function"!==typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,i)}function h(e,t,i,n){var r=e[t];if(void 0!==r){if("function"!==typeof r)throw new TypeError(r+" is not a method");switch(i){case 0:return function(){return f(r,e,n)};case 1:return function(t){var i=[t].concat(n);return f(r,e,i)}}}return function(){return w(void 0)}}function d(e,t,i){var n=e[t];if(void 0!==n)return u(n,e,i)}function f(e,t,i){try{return w(u(e,t,i))}catch(n){return _(n)}}function p(e){return e}function m(e){return!1}function v(e){if(e=Number(e),n(e)||e<0)throw new RangeError("highWaterMark property of a queuing strategy must be non-negative and non-NaN");return e}function g(e){if(void 0===e)return function(){return 1};if("function"!==typeof e)throw new TypeError("size property of a queuing strategy must be a function");return function(t){return e(t)}}var y=Promise,b=Promise.prototype.then,C=Promise.resolve.bind(y),S=Promise.reject.bind(y);function x(e){return new y(e)}function w(e){return C(e)}function _(e){return S(e)}function A(e,t,i){return b.call(e,t,i)}function E(e,t,i){A(A(e,t,i),void 0,r)}function k(e,t){E(e,t)}function M(e,t){E(e,void 0,t)}function z(e,t,i){return A(e,t,i)}function T(e){A(e,void 0,r)}var I=16384,N=function(){function e(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}return Object.defineProperty(e.prototype,"length",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.push=function(e){var t=this._back,i=t;t._elements.length===I-1&&(i={_elements:[],_next:void 0}),t._elements.push(e),i!==t&&(this._back=i,t._next=i),++this._size},e.prototype.shift=function(){var e=this._front,t=e,i=this._cursor,n=i+1,r=e._elements,a=r[i];return n===I&&(t=e._next,n=0),--this._size,this._cursor=n,e!==t&&(this._front=t),r[i]=void 0,a},e.prototype.forEach=function(e){var t=this._cursor,i=this._front,n=i._elements;while(t!==n.length||void 0!==i._next){if(t===n.length&&(i=i._next,n=i._elements,t=0,0===n.length))break;e(n[t]),++t}},e.prototype.peek=function(){var e=this._front,t=this._cursor;return e._elements[t]},e}();function D(e,t,i){var n=null;!0===i&&(n=Object.prototype);var r=Object.create(n);return r.value=e,r.done=t,r}function P(e,t){e._forAuthorCode=!0,e._ownerReadableStream=t,t._reader=e,"readable"===t._state?L(e):"closed"===t._state?R(e):V(e,t._storedError)}function O(e,t){var i=e._ownerReadableStream;return Hi(i,t)}function H(e){"readable"===e._ownerReadableStream._state?B(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):j(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function F(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function L(e){e._closedPromise=x((function(t,i){e._closedPromise_resolve=t,e._closedPromise_reject=i}))}function V(e,t){L(e),B(e,t)}function R(e){L(e),$(e)}function B(e,t){T(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function j(e,t){V(e,t)}function $(e){e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}var K=t("[[CancelSteps]]"),q=t("[[PullSteps]]");function U(e,t){void 0===t&&(t=!1);var i=new Q(e);return i._forAuthorCode=t,i}function W(e){var t=x((function(t,i){var n={_resolve:t,_reject:i};e._reader._readRequests.push(n)}));return t}function X(e,t,i){var n=e._reader,r=n._readRequests.shift();r._resolve(D(t,i,n._forAuthorCode))}function G(e){return e._reader._readRequests.length}function Y(e){var t=e._reader;return void 0!==t&&!!ee(t)}var Z,J,Q=function(){function e(e){if(!1===Pi(e))throw new TypeError("ReadableStreamDefaultReader can only be constructed with a ReadableStream instance");if(!0===Oi(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");P(this,e),this._readRequests=new N}return Object.defineProperty(e.prototype,"closed",{get:function(){return ee(this)?this._closedPromise:_(ie("closed"))},enumerable:!0,configurable:!0}),e.prototype.cancel=function(e){return ee(this)?void 0===this._ownerReadableStream?_(F("cancel")):O(this,e):_(ie("cancel"))},e.prototype.read=function(){return ee(this)?void 0===this._ownerReadableStream?_(F("read from")):te(this):_(ie("read"))},e.prototype.releaseLock=function(){if(!ee(this))throw ie("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");H(this)}},e}();function ee(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function te(e){var t=e._ownerReadableStream;return t._disturbed=!0,"closed"===t._state?w(D(void 0,!0,e._forAuthorCode)):"errored"===t._state?_(t._storedError):t._readableStreamController[q]()}function ie(e){return new TypeError("ReadableStreamDefaultReader.prototype."+e+" can only be used on a ReadableStreamDefaultReader")}"symbol"===typeof t.asyncIterator&&(Z={},Z[t.asyncIterator]=function(){return this},J=Z,Object.defineProperty(J,t.asyncIterator,{enumerable:!1}));var ne={next:function(){if(!1===ae(this))return _(se("next"));var e=this._asyncIteratorReader;return void 0===e._ownerReadableStream?_(F("iterate")):z(te(e),(function(t){var i=t.done;i&&H(e);var n=t.value;return D(n,i,!0)}))},return:function(e){if(!1===ae(this))return _(se("next"));var t=this._asyncIteratorReader;if(void 0===t._ownerReadableStream)return _(F("finish iterating"));if(t._readRequests.length>0)return _(new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled"));if(!1===this._preventCancel){var i=O(t,e);return H(t),z(i,(function(){return D(e,!0,!0)}))}return H(t),w(D(e,!0,!0))}};function re(e,t){void 0===t&&(t=!1);var i=U(e),n=Object.create(ne);return n._asyncIteratorReader=i,n._preventCancel=Boolean(t),n}function ae(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorReader")}function se(e){return new TypeError("ReadableStreamAsyncIterator."+e+" can only be used on a ReadableSteamAsyncIterator")}function oe(e){var t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function ce(e,t,i){if(i=Number(i),!c(i))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:i}),e._queueTotalSize+=i}function le(e){var t=e._queue.peek();return t.value}function ue(e){e._queue=new N,e._queueTotalSize=0}void 0!==J&&Object.setPrototypeOf(ne,J),Object.defineProperty(ne,"next",{enumerable:!1}),Object.defineProperty(ne,"return",{enumerable:!1});var he=t("[[AbortSteps]]"),de=t("[[ErrorSteps]]"),fe=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t={}),ve(this);var i=t.size,n=t.highWaterMark,r=e.type;if(void 0!==r)throw new RangeError("Invalid type is specified");var a=g(i);void 0===n&&(n=1),n=v(n),Xe(this,e,n,a)}return Object.defineProperty(e.prototype,"locked",{get:function(){if(!1===ge(this))throw st("locked");return ye(this)},enumerable:!0,configurable:!0}),e.prototype.abort=function(e){return!1===ge(this)?_(st("abort")):!0===ye(this)?_(new TypeError("Cannot abort a stream that already has a writer")):be(this,e)},e.prototype.close=function(){return!1===ge(this)?_(st("close")):!0===ye(this)?_(new TypeError("Cannot close a stream that already has a writer")):!0===ze(this)?_(new TypeError("Cannot close an already-closing stream")):Ce(this)},e.prototype.getWriter=function(){if(!1===ge(this))throw st("getWriter");return pe(this)},e}();function pe(e){return new Oe(e)}function me(e,t,i,n,r,a){void 0===r&&(r=1),void 0===a&&(a=function(){return 1});var s=Object.create(fe.prototype);ve(s);var o=Object.create(qe.prototype);return We(s,o,e,t,i,n,r,a),s}function ve(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new N,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function ge(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function ye(e){return void 0!==e._writer}function be(e,t){var i=e._state;if("closed"===i||"errored"===i)return w(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;var n=!1;"erroring"===i&&(n=!0,t=void 0);var r=x((function(i,r){e._pendingAbortRequest={_promise:void 0,_resolve:i,_reject:r,_reason:t,_wasAlreadyErroring:n}}));return e._pendingAbortRequest._promise=r,!1===n&&we(e,t),r}function Ce(e){var t=e._state;if("closed"===t||"errored"===t)return _(new TypeError("The stream (in "+t+" state) is not in the writable state and cannot be closed"));var i=x((function(t,i){var n={_resolve:t,_reject:i};e._closeRequest=n})),n=e._writer;return void 0!==n&&!0===e._backpressure&&"writable"===t&&St(n),Ye(e._writableStreamController),i}function Se(e){var t=x((function(t,i){var n={_resolve:t,_reject:i};e._writeRequests.push(n)}));return t}function xe(e,t){var i=e._state;"writable"!==i?_e(e):we(e,t)}function we(e,t){var i=e._writableStreamController;e._state="erroring",e._storedError=t;var n=e._writer;void 0!==n&&Be(n,t),!1===Te(e)&&!0===i._started&&_e(e)}function _e(e){e._state="errored",e._writableStreamController[de]();var t=e._storedError;if(e._writeRequests.forEach((function(e){e._reject(t)})),e._writeRequests=new N,void 0!==e._pendingAbortRequest){var i=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,!0===i._wasAlreadyErroring)return i._reject(t),void De(e);var n=e._writableStreamController[he](i._reason);E(n,(function(){i._resolve(),De(e)}),(function(t){i._reject(t),De(e)}))}else De(e)}function Ae(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}function Ee(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,xe(e,t)}function ke(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0;var t=e._state;"erroring"===t&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";var i=e._writer;void 0!==i&&pt(i)}function Me(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),xe(e,t)}function ze(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function Te(e){return void 0!==e._inFlightWriteRequest||void 0!==e._inFlightCloseRequest}function Ie(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0}function Ne(e){e._inFlightWriteRequest=e._writeRequests.shift()}function De(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);var t=e._writer;void 0!==t&&dt(t,e._storedError)}function Pe(e,t){var i=e._writer;void 0!==i&&t!==e._backpressure&&(!0===t?bt(i):St(i)),e._backpressure=t}var Oe=function(){function e(e){if(!1===ge(e))throw new TypeError("WritableStreamDefaultWriter can only be constructed with a WritableStream instance");if(!0===ye(e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;var t=e._state;if("writable"===t)!1===ze(e)&&!0===e._backpressure?mt(this):gt(this),lt(this);else if("erroring"===t)vt(this,e._storedError),lt(this);else if("closed"===t)gt(this),ht(this);else{var i=e._storedError;vt(this,i),ut(this,i)}}return Object.defineProperty(e.prototype,"closed",{get:function(){return!1===He(this)?_(ot("closed")):this._closedPromise},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"desiredSize",{get:function(){if(!1===He(this))throw ot("desiredSize");if(void 0===this._ownerWritableStream)throw ct("desiredSize");return je(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ready",{get:function(){return!1===He(this)?_(ot("ready")):this._readyPromise},enumerable:!0,configurable:!0}),e.prototype.abort=function(e){return!1===He(this)?_(ot("abort")):void 0===this._ownerWritableStream?_(ct("abort")):Fe(this,e)},e.prototype.close=function(){if(!1===He(this))return _(ot("close"));var e=this._ownerWritableStream;return void 0===e?_(ct("close")):!0===ze(e)?_(new TypeError("Cannot close an already-closing stream")):Le(this)},e.prototype.releaseLock=function(){if(!1===He(this))throw ot("releaseLock");var e=this._ownerWritableStream;void 0!==e&&$e(this)},e.prototype.write=function(e){return!1===He(this)?_(ot("write")):void 0===this._ownerWritableStream?_(ct("write to")):Ke(this,e)},e}();function He(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function Fe(e,t){var i=e._ownerWritableStream;return be(i,t)}function Le(e){var t=e._ownerWritableStream;return Ce(t)}function Ve(e){var t=e._ownerWritableStream,i=t._state;return!0===ze(t)||"closed"===i?w(void 0):"errored"===i?_(t._storedError):Le(e)}function Re(e,t){"pending"===e._closedPromiseState?dt(e,t):ft(e,t)}function Be(e,t){"pending"===e._readyPromiseState?yt(e,t):Ct(e,t)}function je(e){var t=e._ownerWritableStream,i=t._state;return"errored"===i||"erroring"===i?null:"closed"===i?0:Je(t._writableStreamController)}function $e(e){var t=e._ownerWritableStream,i=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Be(e,i),Re(e,i),t._writer=void 0,e._ownerWritableStream=void 0}function Ke(e,t){var i=e._ownerWritableStream,n=i._writableStreamController,r=Ze(n,t);if(i!==e._ownerWritableStream)return _(ct("write to"));var a=i._state;if("errored"===a)return _(i._storedError);if(!0===ze(i)||"closed"===a)return _(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===a)return _(i._storedError);var s=Se(i);return Qe(n,t,r),s}var qe=function(){function e(){throw new TypeError("WritableStreamDefaultController cannot be constructed explicitly")}return e.prototype.error=function(e){if(!1===Ue(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");var t=this._controlledWritableStream._state;"writable"===t&&at(this,e)},e.prototype[he]=function(e){var t=this._abortAlgorithm(e);return Ge(this),t},e.prototype[de]=function(){ue(this)},e}();function Ue(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")}function We(e,t,i,n,r,a,s,o){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,ue(t),t._started=!1,t._strategySizeAlgorithm=o,t._strategyHWM=s,t._writeAlgorithm=n,t._closeAlgorithm=r,t._abortAlgorithm=a;var c=rt(t);Pe(e,c);var l=i(),u=w(l);E(u,(function(){t._started=!0,et(t)}),(function(i){t._started=!0,xe(e,i)}))}function Xe(e,t,i,n){var r=Object.create(qe.prototype);function a(){return d(t,"start",[r])}var s=h(t,"write",1,[r]),o=h(t,"close",0,[]),c=h(t,"abort",1,[]);We(e,r,a,s,o,c,i,n)}function Ge(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Ye(e){ce(e,"close",0),et(e)}function Ze(e,t){try{return e._strategySizeAlgorithm(t)}catch(i){return tt(e,i),1}}function Je(e){return e._strategyHWM-e._queueTotalSize}function Qe(e,t,i){var n={chunk:t};try{ce(e,n,i)}catch(s){return void tt(e,s)}var r=e._controlledWritableStream;if(!1===ze(r)&&"writable"===r._state){var a=rt(e);Pe(r,a)}et(e)}function et(e){var t=e._controlledWritableStream;if(!1!==e._started&&void 0===t._inFlightWriteRequest){var i=t._state;if("erroring"!==i){if(0!==e._queue.length){var n=le(e);"close"===n?it(e):nt(e,n.chunk)}}else _e(t)}}function tt(e,t){"writable"===e._controlledWritableStream._state&&at(e,t)}function it(e){var t=e._controlledWritableStream;Ie(t),oe(e);var i=e._closeAlgorithm();Ge(e),E(i,(function(){ke(t)}),(function(e){Me(t,e)}))}function nt(e,t){var i=e._controlledWritableStream;Ne(i);var n=e._writeAlgorithm(t);E(n,(function(){Ae(i);var t=i._state;if(oe(e),!1===ze(i)&&"writable"===t){var n=rt(e);Pe(i,n)}et(e)}),(function(t){"writable"===i._state&&Ge(e),Ee(i,t)}))}function rt(e){var t=Je(e);return t<=0}function at(e,t){var i=e._controlledWritableStream;Ge(e),we(i,t)}function st(e){return new TypeError("WritableStream.prototype."+e+" can only be used on a WritableStream")}function ot(e){return new TypeError("WritableStreamDefaultWriter.prototype."+e+" can only be used on a WritableStreamDefaultWriter")}function ct(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function lt(e){e._closedPromise=x((function(t,i){e._closedPromise_resolve=t,e._closedPromise_reject=i,e._closedPromiseState="pending"}))}function ut(e,t){lt(e),dt(e,t)}function ht(e){lt(e),pt(e)}function dt(e,t){T(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected"}function ft(e,t){ut(e,t)}function pt(e){e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved"}function mt(e){e._readyPromise=x((function(t,i){e._readyPromise_resolve=t,e._readyPromise_reject=i})),e._readyPromiseState="pending"}function vt(e,t){mt(e),yt(e,t)}function gt(e){mt(e),St(e)}function yt(e,t){T(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected"}function bt(e){mt(e)}function Ct(e,t){vt(e,t)}function St(e){e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled"}function xt(e){if("object"!==typeof e||null===e)return!1;try{return"boolean"===typeof e.aborted}catch(Z){return!1}}var wt="undefined"!==typeof DOMException?DOMException:void 0;function _t(e){if("function"!==typeof e&&"object"!==typeof e)return!1;try{return new e,!0}catch(Z){return!1}}function At(){var e=function(e,t){this.message=e||"",this.name=t||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}var Et=_t(wt)?wt:At();function kt(e,t,n,r,a,s){var o=U(e),c=pe(t);e._disturbed=!0;var l=!1,u=w(void 0);return x((function(h,d){var f;if(void 0!==s){if(f=function(){var i=new Et("Aborted","AbortError"),n=[];!1===r&&n.push((function(){return"writable"===t._state?be(t,i):w(void 0)})),!1===a&&n.push((function(){return"readable"===e._state?Hi(e,i):w(void 0)})),C((function(){return Promise.all(n.map((function(e){return e()})))}),!0,i)},!0===s.aborted)return void f();s.addEventListener("abort",f)}function p(){return x((function(e,t){function i(n){n?e():A(m(),i,t)}i(!1)}))}function m(){return!0===l?w(!0):A(c._readyPromise,(function(){return A(te(o),(function(e){return!0===e.done||(u=A(Ke(c,e.value),void 0,i),!1)}))}))}if(y(e,o._closedPromise,(function(e){!1===r?C((function(){return be(t,e)}),!0,e):S(!0,e)})),y(t,c._closedPromise,(function(t){!1===a?C((function(){return Hi(e,t)}),!0,t):S(!0,t)})),b(e,o._closedPromise,(function(){!1===n?C((function(){return Ve(c)})):S()})),!0===ze(t)||"closed"===t._state){var v=new TypeError("the destination writable stream closed before all data could be piped to it");!1===a?C((function(){return Hi(e,v)}),!0,v):S(!0,v)}function g(){var e=u;return A(u,(function(){return e!==u?g():void 0}))}function y(e,t,i){"errored"===e._state?i(e._storedError):M(t,i)}function b(e,t,i){"closed"===e._state?i():k(t,i)}function C(e,i,n){function r(){E(e(),(function(){return _(i,n)}),(function(e){return _(!0,e)}))}!0!==l&&(l=!0,"writable"===t._state&&!1===ze(t)?k(g(),r):r())}function S(e,i){!0!==l&&(l=!0,"writable"===t._state&&!1===ze(t)?k(g(),(function(){return _(e,i)})):_(e,i))}function _(e,t){$e(c),H(o),void 0!==s&&s.removeEventListener("abort",f),e?d(t):h(void 0)}T(p())}))}var Mt=function(){function e(){throw new TypeError}return Object.defineProperty(e.prototype,"desiredSize",{get:function(){if(!1===zt(this))throw Bt("desiredSize");return Ht(this)},enumerable:!0,configurable:!0}),e.prototype.close=function(){if(!1===zt(this))throw Bt("close");if(!1===Lt(this))throw new TypeError("The stream is not in a state that permits close");Dt(this)},e.prototype.enqueue=function(e){if(!1===zt(this))throw Bt("enqueue");if(!1===Lt(this))throw new TypeError("The stream is not in a state that permits enqueue");return Pt(this,e)},e.prototype.error=function(e){if(!1===zt(this))throw Bt("error");Ot(this,e)},e.prototype[K]=function(e){ue(this);var t=this._cancelAlgorithm(e);return Nt(this),t},e.prototype[q]=function(){var e=this._controlledReadableStream;if(this._queue.length>0){var t=oe(this);return!0===this._closeRequested&&0===this._queue.length?(Nt(this),Fi(e)):Tt(this),w(D(t,!1,e._reader._forAuthorCode))}var i=W(e);return Tt(this),i},e}();function zt(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Tt(e){var t=It(e);if(!1!==t)if(!0!==e._pulling){e._pulling=!0;var i=e._pullAlgorithm();E(i,(function(){e._pulling=!1,!0===e._pullAgain&&(e._pullAgain=!1,Tt(e))}),(function(t){Ot(e,t)}))}else e._pullAgain=!0}function It(e){var t=e._controlledReadableStream;if(!1===Lt(e))return!1;if(!1===e._started)return!1;if(!0===Oi(t)&&G(t)>0)return!0;var i=Ht(e);return i>0}function Nt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Dt(e){var t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(Nt(e),Fi(t))}function Pt(e,t){var i=e._controlledReadableStream;if(!0===Oi(i)&&G(i)>0)X(i,t,!1);else{var n=void 0;try{n=e._strategySizeAlgorithm(t)}catch(r){throw Ot(e,r),r}try{ce(e,t,n)}catch(a){throw Ot(e,a),a}}Tt(e)}function Ot(e,t){var i=e._controlledReadableStream;"readable"===i._state&&(ue(e),Nt(e),Li(i,t))}function Ht(e){var t=e._controlledReadableStream,i=t._state;return"errored"===i?null:"closed"===i?0:e._strategyHWM-e._queueTotalSize}function Ft(e){return!0!==It(e)}function Lt(e){var t=e._controlledReadableStream._state;return!1===e._closeRequested&&"readable"===t}function Vt(e,t,i,n,r,a,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,ue(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=r,e._readableStreamController=t;var o=i();E(w(o),(function(){t._started=!0,Tt(t)}),(function(e){Ot(t,e)}))}function Rt(e,t,i,n){var r=Object.create(Mt.prototype);function a(){return d(t,"start",[r])}var s=h(t,"pull",0,[r]),o=h(t,"cancel",1,[]);Vt(e,r,a,s,o,i,n)}function Bt(e){return new TypeError("ReadableStreamDefaultController.prototype."+e+" can only be used on a ReadableStreamDefaultController")}function jt(e,t){var i,n,r,a,o,c=U(e),l=!1,u=!1,h=!1,d=x((function(e){o=e}));function f(){if(!0===l)return w(void 0);l=!0;var e=z(te(c),(function(e){l=!1;var t=e.done;if(!0===t)return!1===u&&Dt(r._readableStreamController),void(!1===h&&Dt(a._readableStreamController));var i=e.value,n=i,s=i;!1===u&&Pt(r._readableStreamController,n),!1===h&&Pt(a._readableStreamController,s)}));return T(e),w(void 0)}function p(t){if(u=!0,i=t,!0===h){var r=s([i,n]),a=Hi(e,r);o(a)}return d}function m(t){if(h=!0,n=t,!0===u){var r=s([i,n]),a=Hi(e,r);o(a)}return d}function v(){}return r=Ni(v,f,p),a=Ni(v,f,m),M(c._closedPromise,(function(e){Ot(r._readableStreamController,e),Ot(a._readableStreamController,e)})),[r,a]}var $t=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},Kt=function(){function e(){throw new TypeError("ReadableStreamBYOBRequest cannot be used directly")}return Object.defineProperty(e.prototype,"view",{get:function(){if(!1===Wt(this))throw Ci("view");return this._view},enumerable:!0,configurable:!0}),e.prototype.respond=function(e){if(!1===Wt(this))throw Ci("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");m(this._view.buffer),mi(this._associatedReadableByteStreamController,e)},e.prototype.respondWithNewView=function(e){if(!1===Wt(this))throw Ci("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");m(e.buffer),vi(this._associatedReadableByteStreamController,e)},e}(),qt=function(){function e(){throw new TypeError("ReadableByteStreamController constructor cannot be used directly")}return Object.defineProperty(e.prototype,"byobRequest",{get:function(){if(!1===Ut(this))throw Si("byobRequest");if(void 0===this._byobRequest&&this._pendingPullIntos.length>0){var e=this._pendingPullIntos.peek(),t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),i=Object.create(Kt.prototype);bi(i,this,t),this._byobRequest=i}return this._byobRequest},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"desiredSize",{get:function(){if(!1===Ut(this))throw Si("desiredSize");return pi(this)},enumerable:!0,configurable:!0}),e.prototype.close=function(){if(!1===Ut(this))throw Si("close");if(!0===this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");var e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError("The stream (in "+e+" state) is not in the readable state and cannot be closed");hi(this)},e.prototype.enqueue=function(e){if(!1===Ut(this))throw Si("enqueue");if(!0===this._closeRequested)throw new TypeError("stream is closed or draining");var t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError("The stream (in "+t+" state) is not in the readable state and cannot be enqueued to");if(!ArrayBuffer.isView(e))throw new TypeError("You can only enqueue array buffer views when using a ReadableByteStreamController");m(e.buffer),di(this,e)},e.prototype.error=function(e){if(!1===Ut(this))throw Si("error");fi(this,e)},e.prototype[K]=function(e){if(this._pendingPullIntos.length>0){var t=this._pendingPullIntos.peek();t.bytesFilled=0}ue(this);var i=this._cancelAlgorithm(e);return ui(this),i},e.prototype[q]=function(){var e=this._controlledReadableByteStream;if(this._queueTotalSize>0){var t=this._queue.shift();this._queueTotalSize-=t.byteLength,ti(this);var i=void 0;try{i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}catch(o){return _(o)}return w(D(i,!1,e._reader._forAuthorCode))}var n=this._autoAllocateChunkSize;if(void 0!==n){var r=void 0;try{r=new ArrayBuffer(n)}catch(c){return _(c)}var a={buffer:r,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}var s=W(e);return Xt(this),s},e}();function Ut(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function Wt(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function Xt(e){var t=li(e);if(!1!==t)if(!0!==e._pulling){e._pulling=!0;var i=e._pullAlgorithm();E(i,(function(){e._pulling=!1,!0===e._pullAgain&&(e._pullAgain=!1,Xt(e))}),(function(t){fi(e,t)}))}else e._pullAgain=!0}function Gt(e){ii(e),e._pendingPullIntos=new N}function Yt(e,t){var i=!1;"closed"===e._state&&(i=!0);var n=Zt(t);"default"===t.readerType?X(e,n,i):_i(e,n,i)}function Zt(e){var t=e.bytesFilled,i=e.elementSize;return new e.ctor(e.buffer,e.byteOffset,t/i)}function Jt(e,t,i,n){e._queue.push({buffer:t,byteOffset:i,byteLength:n}),e._queueTotalSize+=n}function Qt(e,t){var i=t.elementSize,n=t.bytesFilled-t.bytesFilled%i,r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+r,s=a-a%i,c=r,l=!1;s>n&&(c=s-t.bytesFilled,l=!0);var u=e._queue;while(c>0){var h=u.peek(),d=Math.min(c,h.byteLength),f=t.byteOffset+t.bytesFilled;o(t.buffer,f,h.buffer,h.byteOffset,d),h.byteLength===d?u.shift():(h.byteOffset+=d,h.byteLength-=d),e._queueTotalSize-=d,ei(e,d,t),c-=d}return l}function ei(e,t,i){ii(e),i.bytesFilled+=t}function ti(e){0===e._queueTotalSize&&!0===e._closeRequested?(ui(e),Fi(e._controlledReadableByteStream)):Xt(e)}function ii(e){void 0!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=void 0,e._byobRequest=void 0)}function ni(e){while(e._pendingPullIntos.length>0){if(0===e._queueTotalSize)return;var t=e._pendingPullIntos.peek();!0===Qt(e,t)&&(ci(e),Yt(e._controlledReadableByteStream,t))}}function ri(e,t){var i=e._controlledReadableByteStream,n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);var r=t.constructor,a=p(t.buffer),s={buffer:a,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,ctor:r,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(s),wi(i);if("closed"===i._state){var o=new r(s.buffer,s.byteOffset,0);return w(D(o,!0,i._reader._forAuthorCode))}if(e._queueTotalSize>0){if(!0===Qt(e,s)){var c=Zt(s);return ti(e),w(D(c,!1,i._reader._forAuthorCode))}if(!0===e._closeRequested){var l=new TypeError("Insufficient bytes to fill elements in the given buffer");return fi(e,l),_(l)}}e._pendingPullIntos.push(s);var u=wi(i);return Xt(e),u}function ai(e,t){t.buffer=p(t.buffer);var i=e._controlledReadableByteStream;if(!0===Ei(i))while(Ai(i)>0){var n=ci(e);Yt(i,n)}}function si(e,t,i){if(i.bytesFilled+t>i.byteLength)throw new RangeError("bytesWritten out of range");if(ei(e,t,i),!(i.bytesFilled<i.elementSize)){ci(e);var n=i.bytesFilled%i.elementSize;if(n>0){var r=i.byteOffset+i.bytesFilled,a=i.buffer.slice(r-n,r);Jt(e,a,0,a.byteLength)}i.buffer=p(i.buffer),i.bytesFilled-=n,Yt(e._controlledReadableByteStream,i),ni(e)}}function oi(e,t){var i=e._pendingPullIntos.peek(),n=e._controlledReadableByteStream;if("closed"===n._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");ai(e,i)}else si(e,t,i);Xt(e)}function ci(e){var t=e._pendingPullIntos.shift();return ii(e),t}function li(e){var t=e._controlledReadableByteStream;if("readable"!==t._state)return!1;if(!0===e._closeRequested)return!1;if(!1===e._started)return!1;if(!0===Y(t)&&G(t)>0)return!0;if(!0===Ei(t)&&Ai(t)>0)return!0;var i=pi(e);return i>0}function ui(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function hi(e){var t=e._controlledReadableByteStream;if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0){var i=e._pendingPullIntos.peek();if(i.bytesFilled>0){var n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw fi(e,n),n}}ui(e),Fi(t)}}function di(e,t){var i=e._controlledReadableByteStream,n=t.buffer,r=t.byteOffset,a=t.byteLength,s=p(n);if(!0===Y(i))if(0===G(i))Jt(e,s,r,a);else{var o=new Uint8Array(s,r,a);X(i,o,!1)}else!0===Ei(i)?(Jt(e,s,r,a),ni(e)):Jt(e,s,r,a);Xt(e)}function fi(e,t){var i=e._controlledReadableByteStream;"readable"===i._state&&(Gt(e),ue(e),ui(e),Li(i,t))}function pi(e){var t=e._controlledReadableByteStream,i=t._state;return"errored"===i?null:"closed"===i?0:e._strategyHWM-e._queueTotalSize}function mi(e,t){if(t=Number(t),!1===c(t))throw new RangeError("bytesWritten must be a finite");oi(e,t)}function vi(e,t){var i=e._pendingPullIntos.peek();if(i.byteOffset+i.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(i.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");i.buffer=t.buffer,oi(e,t.byteLength)}function gi(e,t,i,n,r,a,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=void 0,t._queue=t._queueTotalSize=void 0,ue(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=v(a),t._pullAlgorithm=n,t._cancelAlgorithm=r,t._autoAllocateChunkSize=s,t._pendingPullIntos=new N,e._readableStreamController=t;var o=i();E(w(o),(function(){t._started=!0,Xt(t)}),(function(e){fi(t,e)}))}function yi(e,t,i){var n=Object.create(qt.prototype);function r(){return d(t,"start",[n])}var a=h(t,"pull",0,[n]),s=h(t,"cancel",1,[]),o=t.autoAllocateChunkSize;if(void 0!==o&&(o=Number(o),!1===$t(o)||o<=0))throw new RangeError("autoAllocateChunkSize must be a positive integer");gi(e,n,r,a,s,i,o)}function bi(e,t,i){e._associatedReadableByteStreamController=t,e._view=i}function Ci(e){return new TypeError("ReadableStreamBYOBRequest.prototype."+e+" can only be used on a ReadableStreamBYOBRequest")}function Si(e){return new TypeError("ReadableByteStreamController.prototype."+e+" can only be used on a ReadableByteStreamController")}function xi(e,t){void 0===t&&(t=!1);var i=new ki(e);return i._forAuthorCode=t,i}function wi(e){var t=x((function(t,i){var n={_resolve:t,_reject:i};e._reader._readIntoRequests.push(n)}));return t}function _i(e,t,i){var n=e._reader,r=n._readIntoRequests.shift();r._resolve(D(t,i,n._forAuthorCode))}function Ai(e){return e._reader._readIntoRequests.length}function Ei(e){var t=e._reader;return void 0!==t&&!!Mi(t)}var ki=function(){function e(e){if(!Pi(e))throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");if(!1===Ut(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");if(Oi(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");P(this,e),this._readIntoRequests=new N}return Object.defineProperty(e.prototype,"closed",{get:function(){return Mi(this)?this._closedPromise:_(Ti("closed"))},enumerable:!0,configurable:!0}),e.prototype.cancel=function(e){return Mi(this)?void 0===this._ownerReadableStream?_(F("cancel")):O(this,e):_(Ti("cancel"))},e.prototype.read=function(e){return Mi(this)?void 0===this._ownerReadableStream?_(F("read from")):ArrayBuffer.isView(e)?(m(e.buffer),0===e.byteLength?_(new TypeError("view must have non-zero byteLength")):zi(this,e)):_(new TypeError("view must be an array buffer view")):_(Ti("read"))},e.prototype.releaseLock=function(){if(!Mi(this))throw Ti("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");H(this)}},e}();function Mi(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function zi(e,t){var i=e._ownerReadableStream;return i._disturbed=!0,"errored"===i._state?_(i._storedError):ri(i._readableStreamController,t)}function Ti(e){return new TypeError("ReadableStreamBYOBReader.prototype."+e+" can only be used on a ReadableStreamBYOBReader")}var Ii=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Di(this);var i=t.size,n=t.highWaterMark,r=e.type,a=String(r);if("bytes"===a){if(void 0!==i)throw new RangeError("The strategy for a byte stream cannot have a size function");void 0===n&&(n=0),n=v(n),yi(this,e,n)}else{if(void 0!==r)throw new RangeError("Invalid type is specified");var s=g(i);void 0===n&&(n=1),n=v(n),Rt(this,e,n,s)}}return Object.defineProperty(e.prototype,"locked",{get:function(){if(!1===Pi(this))throw Vi("locked");return Oi(this)},enumerable:!0,configurable:!0}),e.prototype.cancel=function(e){return!1===Pi(this)?_(Vi("cancel")):!0===Oi(this)?_(new TypeError("Cannot cancel a stream that already has a reader")):Hi(this,e)},e.prototype.getReader=function(e){var t=(void 0===e?{}:e).mode;if(!1===Pi(this))throw Vi("getReader");if(void 0===t)return U(this,!0);if(t=String(t),"byob"===t)return xi(this,!0);throw new RangeError("Invalid mode is specified")},e.prototype.pipeThrough=function(e,t){var i=e.writable,n=e.readable,r=void 0===t?{}:t,a=r.preventClose,s=r.preventAbort,o=r.preventCancel,c=r.signal;if(!1===Pi(this))throw Vi("pipeThrough");if(!1===ge(i))throw new TypeError("writable argument to pipeThrough must be a WritableStream");if(!1===Pi(n))throw new TypeError("readable argument to pipeThrough must be a ReadableStream");if(a=Boolean(a),s=Boolean(s),o=Boolean(o),void 0!==c&&!xt(c))throw new TypeError("ReadableStream.prototype.pipeThrough's signal option must be an AbortSignal");if(!0===Oi(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(!0===ye(i))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");var l=kt(this,i,a,s,o,c);return T(l),n},e.prototype.pipeTo=function(e,t){var i=void 0===t?{}:t,n=i.preventClose,r=i.preventAbort,a=i.preventCancel,s=i.signal;return!1===Pi(this)?_(Vi("pipeTo")):!1===ge(e)?_(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")):(n=Boolean(n),r=Boolean(r),a=Boolean(a),void 0===s||xt(s)?!0===Oi(this)?_(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):!0===ye(e)?_(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):kt(this,e,n,r,a,s):_(new TypeError("ReadableStream.prototype.pipeTo's signal option must be an AbortSignal")))},e.prototype.tee=function(){if(!1===Pi(this))throw Vi("tee");var e=jt(this);return s(e)},e.prototype.getIterator=function(e){var t=(void 0===e?{}:e).preventCancel,i=void 0!==t&&t;if(!1===Pi(this))throw Vi("getIterator");return re(this,i)},e}();function Ni(e,t,i,n,r){void 0===n&&(n=1),void 0===r&&(r=function(){return 1});var a=Object.create(Ii.prototype);Di(a);var s=Object.create(Mt.prototype);return Vt(a,s,e,t,i,n,r),a}function Di(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function Pi(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function Oi(e){return void 0!==e._reader}function Hi(e,t){if(e._disturbed=!0,"closed"===e._state)return w(void 0);if("errored"===e._state)return _(e._storedError);Fi(e);var n=e._readableStreamController[K](t);return z(n,i)}function Fi(e){e._state="closed";var t=e._reader;void 0!==t&&(ee(t)&&(t._readRequests.forEach((function(e){e._resolve(D(void 0,!0,t._forAuthorCode))})),t._readRequests=new N),$(t))}function Li(e,t){e._state="errored",e._storedError=t;var i=e._reader;void 0!==i&&(ee(i)?(i._readRequests.forEach((function(e){e._reject(t)})),i._readRequests=new N):(i._readIntoRequests.forEach((function(e){e._reject(t)})),i._readIntoRequests=new N),B(i,t))}function Vi(e){return new TypeError("ReadableStream.prototype."+e+" can only be used on a ReadableStream")}"symbol"===typeof t.asyncIterator&&Object.defineProperty(Ii.prototype,t.asyncIterator,{value:Ii.prototype.getIterator,enumerable:!1,writable:!0,configurable:!0});var Ri=function(){function e(e){var t=e.highWaterMark;this.highWaterMark=t}return e.prototype.size=function(e){return e.byteLength},e}(),Bi=function(){function e(e){var t=e.highWaterMark;this.highWaterMark=t}return e.prototype.size=function(){return 1},e}(),ji=function(){function e(e,t,i){void 0===e&&(e={}),void 0===t&&(t={}),void 0===i&&(i={});var n=t.size,r=t.highWaterMark,a=i.size,s=i.highWaterMark,o=e.writableType;if(void 0!==o)throw new RangeError("Invalid writable type specified");var c=g(n);void 0===r&&(r=1),r=v(r);var l=e.readableType;if(void 0!==l)throw new RangeError("Invalid readable type specified");var u,h=g(a);void 0===s&&(s=0),s=v(s);var f=x((function(e){u=e}));$i(this,f,r,c,s,h),Zi(this,e);var p=d(e,"start",[this._transformStreamController]);u(p)}return Object.defineProperty(e.prototype,"readable",{get:function(){if(!1===Ki(this))throw ln("readable");return this._readable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"writable",{get:function(){if(!1===Ki(this))throw ln("writable");return this._writable},enumerable:!0,configurable:!0}),e}();function $i(e,t,i,n,r,a){function s(){return t}function o(t){return rn(e,t)}function c(t){return an(e,t)}function l(){return sn(e)}function u(){return on(e)}function h(t){return Ui(e,t),w(void 0)}e._writable=me(s,o,l,c,i,n),e._readable=Ni(s,u,h,r,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Wi(e,!0),e._transformStreamController=void 0}function Ki(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function qi(e,t){Ot(e._readable._readableStreamController,t),Ui(e,t)}function Ui(e,t){Ji(e._transformStreamController),tt(e._writable._writableStreamController,t),!0===e._backpressure&&Wi(e,!1)}function Wi(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=x((function(t){e._backpressureChangePromise_resolve=t})),e._backpressure=t}var Xi=function(){function e(){throw new TypeError("TransformStreamDefaultController instances cannot be created directly")}return Object.defineProperty(e.prototype,"desiredSize",{get:function(){if(!1===Gi(this))throw cn("desiredSize");var e=this._controlledTransformStream._readable._readableStreamController;return Ht(e)},enumerable:!0,configurable:!0}),e.prototype.enqueue=function(e){if(!1===Gi(this))throw cn("enqueue");Qi(this,e)},e.prototype.error=function(e){if(!1===Gi(this))throw cn("error");en(this,e)},e.prototype.terminate=function(){if(!1===Gi(this))throw cn("terminate");nn(this)},e}();function Gi(e){return!!a(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function Yi(e,t,i,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=i,t._flushAlgorithm=n}function Zi(e,t){var i=Object.create(Xi.prototype),n=function(e){try{return Qi(i,e),w(void 0)}catch(t){return _(t)}},r=t.transform;if(void 0!==r){if("function"!==typeof r)throw new TypeError("transform is not a method");n=function(e){return f(r,t,[e,i])}}var a=h(t,"flush",0,[i]);Yi(e,i,n,a)}function Ji(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Qi(e,t){var i=e._controlledTransformStream,n=i._readable._readableStreamController;if(!1===Lt(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{Pt(n,t)}catch(a){throw Ui(i,a),i._readable._storedError}var r=Ft(n);r!==i._backpressure&&Wi(i,!0)}function en(e,t){qi(e._controlledTransformStream,t)}function tn(e,t){var i=e._transformAlgorithm(t);return z(i,void 0,(function(t){throw qi(e._controlledTransformStream,t),t}))}function nn(e){var t=e._controlledTransformStream,i=t._readable._readableStreamController;!0===Lt(i)&&Dt(i);var n=new TypeError("TransformStream terminated");Ui(t,n)}function rn(e,t){var i=e._transformStreamController;if(!0===e._backpressure){var n=e._backpressureChangePromise;return z(n,(function(){var n=e._writable,r=n._state;if("erroring"===r)throw n._storedError;return tn(i,t)}))}return tn(i,t)}function an(e,t){return qi(e,t),w(void 0)}function sn(e){var t=e._readable,i=e._transformStreamController,n=i._flushAlgorithm();return Ji(i),z(n,(function(){if("errored"===t._state)throw t._storedError;var e=t._readableStreamController;!0===Lt(e)&&Dt(e)}),(function(i){throw qi(e,i),t._storedError}))}function on(e){return Wi(e,!1),e._backpressureChangePromise}function cn(e){return new TypeError("TransformStreamDefaultController.prototype."+e+" can only be used on a TransformStreamDefaultController")}function ln(e){return new TypeError("TransformStream.prototype."+e+" can only be used on a TransformStream")}e.ByteLengthQueuingStrategy=Ri,e.CountQueuingStrategy=Bi,e.ReadableStream=Ii,e.TransformStream=ji,e.WritableStream=fe,Object.defineProperty(e,"__esModule",{value:!0})}))},8925:function(e,t,i){var n=i("c6cd"),r=Function.toString;"function"!=typeof n.inspectSource&&(n.inspectSource=function(e){return r.call(e)}),e.exports=n.inspectSource},"8a0d":function(e,t){e.exports={}},"8a24":function(e,t,i){"use strict";const n=i("90da"),r=i("90da").buildOptions,a=i("f480");"<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,n.nameRegexp);!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const s={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,ignoreNameSpace:!1,allowBooleanAttributes:!1,parseNodeValue:!0,parseAttributeValue:!1,arrayMode:!1,trimValues:!0,cdataTagName:!1,cdataPositionChar:"\\c",tagValueProcessor:function(e,t){return e},attrValueProcessor:function(e,t){return e},stopNodes:[]};t.defaultOptions=s;const o=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","ignoreNameSpace","allowBooleanAttributes","parseNodeValue","parseAttributeValue","arrayMode","trimValues","cdataTagName","cdataPositionChar","tagValueProcessor","attrValueProcessor","parseTrueNumberOnly","stopNodes"];function c(e,t,i){return t&&(i.trimValues&&(t=t.trim()),t=i.tagValueProcessor(t,e),t=u(t,i.parseNodeValue,i.parseTrueNumberOnly)),t}function l(e,t){if(t.ignoreNameSpace){const t=e.split(":"),i="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=i+t[1])}return e}function u(e,t,i){if(t&&"string"===typeof e){let t;return""===e.trim()||isNaN(e)?t="true"===e||"false"!==e&&e:(-1!==e.indexOf("0x")?t=Number.parseInt(e,16):-1!==e.indexOf(".")?(t=Number.parseFloat(e),e=e.replace(/\.?0+$/,"")):t=Number.parseInt(e,10),i&&(t=String(t)===e?t:e)),t}return n.isExist(e)?e:""}t.props=o;const h=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])(.*?)\\3)?","g");function d(e,t){if(!t.ignoreAttributes&&"string"===typeof e){e=e.replace(/\r?\n/g," ");const i=n.getAllMatches(e,h),r=i.length,a={};for(let e=0;e<r;e++){const n=l(i[e][1],t);n.length&&(void 0!==i[e][4]?(t.trimValues&&(i[e][4]=i[e][4].trim()),i[e][4]=t.attrValueProcessor(i[e][4],n),a[t.attributeNamePrefix+n]=u(i[e][4],t.parseAttributeValue,t.parseTrueNumberOnly)):t.allowBooleanAttributes&&(a[t.attributeNamePrefix+n]=!0))}if(!Object.keys(a).length)return;if(t.attrNodeName){const e={};return e[t.attrNodeName]=a,e}return a}}const f=function(e,t){e=e.replace(/\r\n?/g,"\n"),t=r(t,s,o);const i=new a("!xml");let l=i,u="";for(let r=0;r<e.length;r++){const i=e[r];if("<"===i)if("/"===e[r+1]){const i=m(e,">",r,"Closing Tag is not closed.");let a=e.substring(r+2,i).trim();if(t.ignoreNameSpace){const e=a.indexOf(":");-1!==e&&(a=a.substr(e+1))}l&&(l.val?l.val=n.getValue(l.val)+""+c(a,u,t):l.val=c(a,u,t)),t.stopNodes.length&&t.stopNodes.includes(l.tagname)&&(l.child=[],void 0==l.attrsMap&&(l.attrsMap={}),l.val=e.substr(l.startIndex+1,r-l.startIndex-1)),l=l.parent,u="",r=i}else if("?"===e[r+1])r=m(e,"?>",r,"Pi Tag is not closed.");else if("!--"===e.substr(r+1,3))r=m(e,"--\x3e",r,"Comment is not closed.");else if("!D"===e.substr(r+1,2)){const t=m(e,">",r,"DOCTYPE is not closed."),i=e.substring(r,t);r=i.indexOf("[")>=0?e.indexOf("]>",r)+1:t}else if("!["===e.substr(r+1,2)){const i=m(e,"]]>",r,"CDATA is not closed.")-2,s=e.substring(r+9,i);if(u&&(l.val=n.getValue(l.val)+""+c(l.tagname,u,t),u=""),t.cdataTagName){const e=new a(t.cdataTagName,l,s);l.addChild(e),l.val=n.getValue(l.val)+t.cdataPositionChar,s&&(e.val=s)}else l.val=(l.val||"")+(s||"");r=i+2}else{const i=p(e,r+1);let s=i.data;const o=i.index,h=s.indexOf(" ");let f=s;if(-1!==h&&(f=s.substr(0,h).replace(/\s\s*$/,""),s=s.substr(h+1)),t.ignoreNameSpace){const e=f.indexOf(":");-1!==e&&(f=f.substr(e+1))}if(l&&u&&"!xml"!==l.tagname&&(l.val=n.getValue(l.val)+""+c(l.tagname,u,t)),s.length>0&&s.lastIndexOf("/")===s.length-1){"/"===f[f.length-1]?(f=f.substr(0,f.length-1),s=f):s=s.substr(0,s.length-1);const e=new a(f,l,"");f!==s&&(e.attrsMap=d(s,t)),l.addChild(e)}else{const e=new a(f,l);t.stopNodes.length&&t.stopNodes.includes(e.tagname)&&(e.startIndex=o),f!==s&&(e.attrsMap=d(s,t)),l.addChild(e),l=e}u="",r=o}else u+=e[r]}return i};function p(e,t){let i,n="";for(let r=t;r<e.length;r++){let t=e[r];if(i)t===i&&(i="");else if('"'===t||"'"===t)i=t;else{if(">"===t)return{data:n,index:r};"\t"===t&&(t=" ")}n+=t}}function m(e,t,i,n){const r=e.indexOf(t,i);if(-1===r)throw new Error(n);return r+t.length-1}t.getTraversalObj=f},"8a59":function(e,t,i){var n=i("74e8");n("Uint8",(function(e){return function(t,i,n){return e(this,t,i,n)}}),!0)},"8a79":function(e,t,i){"use strict";var n=i("23e7"),r=i("06cf").f,a=i("50c4"),s=i("5a34"),o=i("1d80"),c=i("ab13"),l=i("c430"),u="".endsWith,h=Math.min,d=c("endsWith"),f=!l&&!d&&!!function(){var e=r(String.prototype,"endsWith");return e&&!e.writable}();n({target:"String",proto:!0,forced:!f&&!d},{endsWith:function(e){var t=String(o(this));s(e);var i=arguments.length>1?arguments[1]:void 0,n=a(t.length),r=void 0===i?n:h(a(i),n),c=String(e);return u?u.call(t,c,r):t.slice(r-c.length,r)===c}})},"8aa5":function(e,t,i){"use strict";var n=i("6547").charAt;e.exports=function(e,t,i){return t+(i?n(e,t).length:1)}},"8aa7":function(e,t,i){var n=i("da84"),r=i("d039"),a=i("1c7e"),s=i("ebb5").NATIVE_ARRAY_BUFFER_VIEWS,o=n.ArrayBuffer,c=n.Int8Array;e.exports=!s||!r((function(){c(1)}))||!r((function(){new c(-1)}))||!a((function(e){new c,new c(null),new c(1.5),new c(e)}),!0)||r((function(){return 1!==new c(new o(2),1,void 0).length}))},"8ac5":function(e,t,i){i("e260"),i("c1f9");var n=i("428f");e.exports=n.Object.fromEntries},"8b1a":function(e,t){var i=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+n).toString(36))}},"8ba4":function(e,t,i){var n=i("23e7"),r=i("5e89");n({target:"Number",stat:!0},{isInteger:r})},"8bbc":function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=124)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},124:function(e,t,i){"use strict";i.r(t);var n,r,a={name:"ElTag",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:"light",validator:function(e){return-1!==["dark","light","plain"].indexOf(e)}}},methods:{handleClose:function(e){e.stopPropagation(),this.$emit("close",e)},handleClick:function(e){this.$emit("click",e)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(e){var t=this.type,i=this.tagSize,n=this.hit,r=this.effect,a=["el-tag",t?"el-tag--"+t:"",i?"el-tag--"+i:"",r?"el-tag--"+r:"",n&&"is-hit"],s=e("span",{class:a,style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&e("i",{class:"el-tag__close el-icon-close",on:{click:this.handleClose}})]);return this.disableTransitions?s:e("transition",{attrs:{name:"el-zoom-in-center"}},[s])}},s=a,o=i(0),c=Object(o["a"])(s,n,r,!1,null,null,null);c.options.__file="packages/tag/src/tag.vue";var l=c.exports;l.install=function(e){e.component(l.name,l)};t["default"]=l}})},"8df4":function(e,t,i){"use strict";var n=i("7a77");function r(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var i=this;e((function(e){i.reason||(i.reason=new n(e),t(i.reason))}))}r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r((function(t){e=t}));return{token:t,cancel:e}},e.exports=r},"8eb7":function(e,t){var i,n,r,a,s,o,c,l,u,h,d,f,p,m,v,g=!1;function y(){if(!g){g=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),y=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(f=/\b(iPhone|iP[ao]d)/.exec(e),p=/\b(iP[ao]d)/.exec(e),h=/Android/i.exec(e),m=/FBAN\/\w+;/i.exec(e),v=/Mobile/i.exec(e),d=!!/Win64/.exec(e),t){i=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,i&&document&&document.documentMode&&(i=document.documentMode);var b=/(?:Trident\/(\d+.\d+))/.exec(e);o=b?parseFloat(b[1])+4:i,n=t[2]?parseFloat(t[2]):NaN,r=t[3]?parseFloat(t[3]):NaN,a=t[4]?parseFloat(t[4]):NaN,a?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),s=t&&t[1]?parseFloat(t[1]):NaN):s=NaN}else i=n=r=s=a=NaN;if(y){if(y[1]){var C=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);c=!C||parseFloat(C[1].replace("_","."))}else c=!1;l=!!y[2],u=!!y[3]}else c=l=u=!1}}var b={ie:function(){return y()||i},ieCompatibilityMode:function(){return y()||o>i},ie64:function(){return b.ie()&&d},firefox:function(){return y()||n},opera:function(){return y()||r},webkit:function(){return y()||a},safari:function(){return b.webkit()},chrome:function(){return y()||s},windows:function(){return y()||l},osx:function(){return y()||c},linux:function(){return y()||u},iphone:function(){return y()||f},mobile:function(){return y()||f||p||h||v},nativeApp:function(){return y()||m},android:function(){return y()||h},ipad:function(){return y()||p}};e.exports=b},"8edd":function(e,t,i){var n=i("746f");n("matchAll")},"8f2a":function(e,t,i){i("2954")},"8f4c":function(e,t,i){i("8a79");var n=i("b109");e.exports=n("String","endsWith")},9020:function(e,t,i){i("9129");var n=i("428f");e.exports=n.Number.isNaN},"90d7":function(e,t,i){var n=i("23e7"),r=Math.log,a=Math.LN2;n({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},"90da":function(e,t,i){"use strict";const n=":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",r=n+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",a="["+n+"]["+r+"]*",s=new RegExp("^"+a+"$"),o=function(e,t){const i=[];let n=t.exec(e);while(n){const r=[],a=n.length;for(let e=0;e<a;e++)r.push(n[e]);i.push(r),n=t.exec(e)}return i},c=function(e){const t=s.exec(e);return!(null===t||"undefined"===typeof t)};t.isExist=function(e){return"undefined"!==typeof e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,i){if(t){const n=Object.keys(t),r=n.length;for(let a=0;a<r;a++)e[n[a]]="strict"===i?[t[n[a]]]:t[n[a]]}},t.getValue=function(e){return t.isExist(e)?e:""},t.buildOptions=function(e,t,i){var n={};if(!e)return t;for(let r=0;r<i.length;r++)void 0!==e[i[r]]?n[i[r]]=e[i[r]]:n[i[r]]=t[i[r]];return n},t.isName=c,t.getAllMatches=o,t.nameRegexp=a},"90e3":function(e,t){var i=0,n=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++i+n).toString(36)}},9112:function(e,t,i){var n=i("83ab"),r=i("9bf2"),a=i("5c6c");e.exports=n?function(e,t,i){return r.f(e,t,a(1,i))}:function(e,t,i){return e[t]=i,e}},9129:function(e,t,i){var n=i("23e7");n({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},9141:function(e,t,i){var n=i("ef08").document;e.exports=n&&n.documentElement},9152:function(e,t){t.read=function(e,t,i,n,r){var a,s,o=8*r-n-1,c=(1<<o)-1,l=c>>1,u=-7,h=i?r-1:0,d=i?-1:1,f=e[t+h];for(h+=d,a=f&(1<<-u)-1,f>>=-u,u+=o;u>0;a=256*a+e[t+h],h+=d,u-=8);for(s=a&(1<<-u)-1,a>>=-u,u+=n;u>0;s=256*s+e[t+h],h+=d,u-=8);if(0===a)a=1-l;else{if(a===c)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=l}return(f?-1:1)*s*Math.pow(2,a-n)},t.write=function(e,t,i,n,r,a){var s,o,c,l=8*a-r-1,u=(1<<l)-1,h=u>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),t+=s+h>=1?d/c:d*Math.pow(2,1-h),t*c>=2&&(s++,c/=2),s+h>=u?(o=0,s=u):s+h>=1?(o=(t*c-1)*Math.pow(2,r),s+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,r),s=0));r>=8;e[i+f]=255&o,f+=p,o/=256,r-=8);for(s=s<<r|o,l+=r;l>0;e[i+f]=255&s,f+=p,s/=256,l-=8);e[i+f-p]|=128*m}},9263:function(e,t,i){"use strict";var n=i("ad6d"),r=i("9f7f"),a=RegExp.prototype.exec,s=String.prototype.replace,o=a,c=function(){var e=/a/,t=/b*/g;return a.call(e,"a"),a.call(t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),l=r.UNSUPPORTED_Y||r.BROKEN_CARET,u=void 0!==/()??/.exec("")[1],h=c||u||l;h&&(o=function(e){var t,i,r,o,h=this,d=l&&h.sticky,f=n.call(h),p=h.source,m=0,v=e;return d&&(f=f.replace("y",""),-1===f.indexOf("g")&&(f+="g"),v=String(e).slice(h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==e[h.lastIndex-1])&&(p="(?: "+p+")",v=" "+v,m++),i=new RegExp("^(?:"+p+")",f)),u&&(i=new RegExp("^"+p+"$(?!\\s)",f)),c&&(t=h.lastIndex),r=a.call(d?i:h,v),d?r?(r.input=r.input.slice(m),r[0]=r[0].slice(m),r.index=h.lastIndex,h.lastIndex+=r[0].length):h.lastIndex=0:c&&r&&(h.lastIndex=h.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],i,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),e.exports=o},"92f0":function(e,t,i){var n=i("1a14").f,r=i("9c0e"),a=i("cc15")("toStringTag");e.exports=function(e,t,i){e&&!r(e=i?e:e.prototype,a)&&n(e,a,{configurable:!0,value:t})}},"92fa":function(e,t){var i=/^(attrs|props|on|nativeOn|class|style|hook)$/;function n(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce((function(e,t){var r,a,s,o,c;for(s in t)if(r=e[s],a=t[s],r&&i.test(s))if("class"===s&&("string"===typeof r&&(c=r,e[s]=r={},r[c]=!0),"string"===typeof a&&(c=a,t[s]=a={},a[c]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(o in a)r[o]=n(r[o],a[o]);else if(Array.isArray(r))e[s]=r.concat(a);else if(Array.isArray(a))e[s]=[r].concat(a);else for(o in a)r[o]=a[o];else e[s]=t[s];return e}),{})}},"944a":function(e,t,i){var n=i("746f");n("toStringTag")},"94ca":function(e,t,i){var n=i("d039"),r=/#|\.prototype\./,a=function(e,t){var i=o[s(e)];return i==l||i!=c&&("function"==typeof t?n(t):!!t)},s=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},o=a.data={},c=a.NATIVE="N",l=a.POLYFILL="P";e.exports=a},9619:function(e,t,i){var n=i("597f"),r=i("0e15");e.exports={throttle:n,debounce:r}},"96cf":function(e,t){!function(t){"use strict";var i,n=Object.prototype,r=n.hasOwnProperty,a="function"===typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag",l="object"===typeof e,u=t.regeneratorRuntime;if(u)l&&(e.exports=u);else{u=t.regeneratorRuntime=l?e.exports:{},u.wrap=C;var h="suspendedStart",d="suspendedYield",f="executing",p="completed",m={},v={};v[s]=function(){return this};var g=Object.getPrototypeOf,y=g&&g(g(N([])));y&&y!==n&&r.call(y,s)&&(v=y);var b=_.prototype=x.prototype=Object.create(v);w.prototype=b.constructor=_,_.constructor=w,_[c]=w.displayName="GeneratorFunction",u.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===w||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,c in e||(e[c]="GeneratorFunction")),e.prototype=Object.create(b),e},u.awrap=function(e){return{__await:e}},A(E.prototype),E.prototype[o]=function(){return this},u.AsyncIterator=E,u.async=function(e,t,i,n){var r=new E(C(e,t,i,n));return u.isGeneratorFunction(t)?r:r.next().then((function(e){return e.done?e.value:r.next()}))},A(b),b[c]="Generator",b[s]=function(){return this},b.toString=function(){return"[object Generator]"},u.keys=function(e){var t=[];for(var i in e)t.push(i);return t.reverse(),function i(){while(t.length){var n=t.pop();if(n in e)return i.value=n,i.done=!1,i}return i.done=!0,i}},u.values=N,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=i,this.done=!1,this.delegate=null,this.method="next",this.arg=i,this.tryEntries.forEach(T),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=i)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=i),!!r}for(var a=this.tryEntries.length-1;a>=0;--a){var s=this.tryEntries[a],o=s.completion;if("root"===s.tryLoc)return n("end");if(s.tryLoc<=this.prev){var c=r.call(s,"catchLoc"),l=r.call(s,"finallyLoc");if(c&&l){if(this.prev<s.catchLoc)return n(s.catchLoc,!0);if(this.prev<s.finallyLoc)return n(s.finallyLoc)}else if(c){if(this.prev<s.catchLoc)return n(s.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return n(s.finallyLoc)}}}},abrupt:function(e,t){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var s=a?a.completion:{};return s.type=e,s.arg=t,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),T(i),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var n=i.completion;if("throw"===n.type){var r=n.arg;T(i)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:N(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=i),m}}}function C(e,t,i,n){var r=t&&t.prototype instanceof x?t:x,a=Object.create(r.prototype),s=new I(n||[]);return a._invoke=k(e,i,s),a}function S(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(n){return{type:"throw",arg:n}}}function x(){}function w(){}function _(){}function A(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function E(e){function t(i,n,a,s){var o=S(e[i],e,n);if("throw"!==o.type){var c=o.arg,l=c.value;return l&&"object"===typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,a,s)}),(function(e){t("throw",e,a,s)})):Promise.resolve(l).then((function(e){c.value=e,a(c)}),s)}s(o.arg)}var i;function n(e,n){function r(){return new Promise((function(i,r){t(e,n,i,r)}))}return i=i?i.then(r,r):r()}this._invoke=n}function k(e,t,i){var n=h;return function(r,a){if(n===f)throw new Error("Generator is already running");if(n===p){if("throw"===r)throw a;return D()}i.method=r,i.arg=a;while(1){var s=i.delegate;if(s){var o=M(s,i);if(o){if(o===m)continue;return o}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(n===h)throw n=p,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n=f;var c=S(e,t,i);if("normal"===c.type){if(n=i.done?p:d,c.arg===m)continue;return{value:c.arg,done:i.done}}"throw"===c.type&&(n=p,i.method="throw",i.arg=c.arg)}}}function M(e,t){var n=e.iterator[t.method];if(n===i){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=i,M(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var r=S(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,m;var a=r.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=i),t.delegate=null,m):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function z(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(z,this),this.reset(!0)}function N(e){if(e){var t=e[s];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){while(++n<e.length)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=i,t.done=!0,t};return a.next=a}}return{next:D}}function D(){return{value:i,done:!0}}}(function(){return this}()||Function("return this")())},9742:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},9861:function(e,t,i){"use strict";i("e260");var n=i("23e7"),r=i("d066"),a=i("0d3b"),s=i("6eeb"),o=i("e2cc"),c=i("d44e"),l=i("9ed3"),u=i("69f3"),h=i("19aa"),d=i("5135"),f=i("0366"),p=i("f5df"),m=i("825a"),v=i("861d"),g=i("7c73"),y=i("5c6c"),b=i("9a1f"),C=i("35a1"),S=i("b622"),x=r("fetch"),w=r("Headers"),_=S("iterator"),A="URLSearchParams",E=A+"Iterator",k=u.set,M=u.getterFor(A),z=u.getterFor(E),T=/\+/g,I=Array(4),N=function(e){return I[e-1]||(I[e-1]=RegExp("((?:%[\\da-f]{2}){"+e+"})","gi"))},D=function(e){try{return decodeURIComponent(e)}catch(t){return e}},P=function(e){var t=e.replace(T," "),i=4;try{return decodeURIComponent(t)}catch(n){while(i)t=t.replace(N(i--),D);return t}},O=/[!'()~]|%20/g,H={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},F=function(e){return H[e]},L=function(e){return encodeURIComponent(e).replace(O,F)},V=function(e,t){if(t){var i,n,r=t.split("&"),a=0;while(a<r.length)i=r[a++],i.length&&(n=i.split("="),e.push({key:P(n.shift()),value:P(n.join("="))}))}},R=function(e){this.entries.length=0,V(this.entries,e)},B=function(e,t){if(e<t)throw TypeError("Not enough arguments")},j=l((function(e,t){k(this,{type:E,iterator:b(M(e).entries),kind:t})}),"Iterator",(function(){var e=z(this),t=e.kind,i=e.iterator.next(),n=i.value;return i.done||(i.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),i})),$=function(){h(this,$,A);var e,t,i,n,r,a,s,o,c,l=arguments.length>0?arguments[0]:void 0,u=this,f=[];if(k(u,{type:A,entries:f,updateURL:function(){},updateSearchParams:R}),void 0!==l)if(v(l))if(e=C(l),"function"===typeof e){t=e.call(l),i=t.next;while(!(n=i.call(t)).done){if(r=b(m(n.value)),a=r.next,(s=a.call(r)).done||(o=a.call(r)).done||!a.call(r).done)throw TypeError("Expected sequence with length 2");f.push({key:s.value+"",value:o.value+""})}}else for(c in l)d(l,c)&&f.push({key:c,value:l[c]+""});else V(f,"string"===typeof l?"?"===l.charAt(0)?l.slice(1):l:l+"")},K=$.prototype;o(K,{append:function(e,t){B(arguments.length,2);var i=M(this);i.entries.push({key:e+"",value:t+""}),i.updateURL()},delete:function(e){B(arguments.length,1);var t=M(this),i=t.entries,n=e+"",r=0;while(r<i.length)i[r].key===n?i.splice(r,1):r++;t.updateURL()},get:function(e){B(arguments.length,1);for(var t=M(this).entries,i=e+"",n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){B(arguments.length,1);for(var t=M(this).entries,i=e+"",n=[],r=0;r<t.length;r++)t[r].key===i&&n.push(t[r].value);return n},has:function(e){B(arguments.length,1);var t=M(this).entries,i=e+"",n=0;while(n<t.length)if(t[n++].key===i)return!0;return!1},set:function(e,t){B(arguments.length,1);for(var i,n=M(this),r=n.entries,a=!1,s=e+"",o=t+"",c=0;c<r.length;c++)i=r[c],i.key===s&&(a?r.splice(c--,1):(a=!0,i.value=o));a||r.push({key:s,value:o}),n.updateURL()},sort:function(){var e,t,i,n=M(this),r=n.entries,a=r.slice();for(r.length=0,i=0;i<a.length;i++){for(e=a[i],t=0;t<i;t++)if(r[t].key>e.key){r.splice(t,0,e);break}t===i&&r.push(e)}n.updateURL()},forEach:function(e){var t,i=M(this).entries,n=f(e,arguments.length>1?arguments[1]:void 0,3),r=0;while(r<i.length)t=i[r++],n(t.value,t.key,this)},keys:function(){return new j(this,"keys")},values:function(){return new j(this,"values")},entries:function(){return new j(this,"entries")}},{enumerable:!0}),s(K,_,K.entries),s(K,"toString",(function(){var e,t=M(this).entries,i=[],n=0;while(n<t.length)e=t[n++],i.push(L(e.key)+"="+L(e.value));return i.join("&")}),{enumerable:!0}),c($,A),n({global:!0,forced:!a},{URLSearchParams:$}),a||"function"!=typeof x||"function"!=typeof w||n({global:!0,enumerable:!0,forced:!0},{fetch:function(e){var t,i,n,r=[e];return arguments.length>1&&(t=arguments[1],v(t)&&(i=t.body,p(i)===A&&(n=t.headers?new w(t.headers):new w,n.has("content-type")||n.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),t=g(t,{body:y(0,String(i)),headers:y(0,n)}))),r.push(t)),x.apply(this,r)}}),e.exports={URLSearchParams:$,getState:M}},9876:function(e,t,i){var n=i("03d6"),r=i("9742");e.exports=Object.keys||function(e){return n(e,r)}},"99af":function(e,t,i){"use strict";var n=i("23e7"),r=i("d039"),a=i("e8b5"),s=i("861d"),o=i("7b0b"),c=i("50c4"),l=i("8418"),u=i("65f0"),h=i("1dde"),d=i("b622"),f=i("2d00"),p=d("isConcatSpreadable"),m=9007199254740991,v="Maximum allowed index exceeded",g=f>=51||!r((function(){var e=[];return e[p]=!1,e.concat()[0]!==e})),y=h("concat"),b=function(e){if(!s(e))return!1;var t=e[p];return void 0!==t?!!t:a(e)},C=!g||!y;n({target:"Array",proto:!0,forced:C},{concat:function(e){var t,i,n,r,a,s=o(this),h=u(s,0),d=0;for(t=-1,n=arguments.length;t<n;t++)if(a=-1===t?s:arguments[t],b(a)){if(r=c(a.length),d+r>m)throw TypeError(v);for(i=0;i<r;i++,d++)i in a&&l(h,d,a[i])}else{if(d>=m)throw TypeError(v);l(h,d++,a)}return h.length=d,h}})},"9a0c":function(e,t,i){var n=i("342f");e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(n)},"9a1f":function(e,t,i){var n=i("825a"),r=i("35a1");e.exports=function(e){var t=r(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return n(t.call(e))}},"9a35":function(e,t,i){i("6062"),i("d3b7"),i("3ca3"),i("ddb0");var n=i("428f");e.exports=n.Set},"9a8c":function(e,t,i){"use strict";var n=i("ebb5"),r=i("145e"),a=n.aTypedArray,s=n.exportTypedArrayMethod;s("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:void 0)}))},"9bdd":function(e,t,i){var n=i("825a");e.exports=function(e,t,i,r){try{return r?t(n(i)[0],i[1]):t(i)}catch(s){var a=e["return"];throw void 0!==a&&n(a.call(e)),s}}},"9bf2":function(e,t,i){var n=i("83ab"),r=i("0cfb"),a=i("825a"),s=i("c04e"),o=Object.defineProperty;t.f=n?o:function(e,t,i){if(a(e),t=s(t,!0),a(i),r)try{return o(e,t,i)}catch(n){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(e[t]=i.value),e}},"9c0c":function(e,t,i){var n=i("1609");e.exports=function(e,t,i){if(n(e),void 0===t)return e;switch(i){case 1:return function(i){return e.call(t,i)};case 2:return function(i,n){return e.call(t,i,n)};case 3:return function(i,n,r){return e.call(t,i,n,r)}}return function(){return e.apply(t,arguments)}}},"9c0e":function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},"9d11":function(e,t,i){var n=i("fc5e"),r=Math.max,a=Math.min;e.exports=function(e,t){return e=n(e),e<0?r(e+t,0):a(e,t)}},"9d7e":function(e,t,i){"use strict";t.__esModule=!0;var n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=function(e){function t(e){for(var t=arguments.length,i=Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return 1===i.length&&"object"===n(i[0])&&(i=i[0]),i&&i.hasOwnProperty||(i={}),e.replace(a,(function(t,n,a,s){var o=void 0;return"{"===e[s-1]&&"}"===e[s+t.length]?a:(o=(0,r.hasOwn)(i,a)?i[a]:null,null===o||void 0===o?"":o)}))}return t};var r=i("8122"),a=/(%|)\{([0-9a-zA-Z_]+)\}/g},"9ed3":function(e,t,i){"use strict";var n=i("ae93").IteratorPrototype,r=i("7c73"),a=i("5c6c"),s=i("d44e"),o=i("3f8c"),c=function(){return this};e.exports=function(e,t,i){var l=t+" Iterator";return e.prototype=r(n,{next:a(1,i)}),s(e,l,!1,!0),o[l]=c,e}},"9f7f":function(e,t,i){"use strict";var n=i("d039");function r(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=n((function(){var e=r("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=n((function(){var e=r("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},"9fbb":function(e,t,i){var n=i("4d88");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},a078:function(e,t,i){var n=i("7b0b"),r=i("50c4"),a=i("35a1"),s=i("e95a"),o=i("0366"),c=i("ebb5").aTypedArrayConstructor;e.exports=function(e){var t,i,l,u,h,d,f=n(e),p=arguments.length,m=p>1?arguments[1]:void 0,v=void 0!==m,g=a(f);if(void 0!=g&&!s(g)){h=g.call(f),d=h.next,f=[];while(!(u=d.call(h)).done)f.push(u.value)}for(v&&p>2&&(m=o(m,arguments[2],2)),i=r(f.length),l=new(c(this))(i),t=0;i>t;t++)l[t]=v?m(f[t],t):f[t];return l}},a15b:function(e,t,i){"use strict";var n=i("23e7"),r=i("44ad"),a=i("fc6a"),s=i("a640"),o=[].join,c=r!=Object,l=s("join",",");n({target:"Array",proto:!0,forced:c||!l},{join:function(e){return o.call(a(this),void 0===e?",":e)}})},a15e:function(e,t,i){"use strict";i.r(t);var n=i("41b2"),r=i.n(n),a=i("1098"),s=i.n(a),o=/%[sdj%]/g,c=function(){};function l(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=1,r=t[0],a=t.length;if("function"===typeof r)return r.apply(null,t.slice(1));if("string"===typeof r){for(var s=String(r).replace(o,(function(e){if("%%"===e)return"%";if(n>=a)return e;switch(e){case"%s":return String(t[n++]);case"%d":return Number(t[n++]);case"%j":try{return JSON.stringify(t[n++])}catch(i){return"[Circular]"}break;default:return e}})),c=t[n];n<a;c=t[++n])s+=" "+c;return s}return r}function u(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"pattern"===e}function h(e,t){return void 0===e||null===e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!u(t)||"string"!==typeof e||e))}function d(e,t,i){var n=[],r=0,a=e.length;function s(e){n.push.apply(n,e),r++,r===a&&i(n)}e.forEach((function(e){t(e,s)}))}function f(e,t,i){var n=0,r=e.length;function a(s){if(s&&s.length)i(s);else{var o=n;n+=1,o<r?t(e[o],a):i([])}}a([])}function p(e){var t=[];return Object.keys(e).forEach((function(i){t.push.apply(t,e[i])})),t}function m(e,t,i,n){if(t.first){var r=p(e);return f(r,i,n)}var a=t.firstFields||[];!0===a&&(a=Object.keys(e));var s=Object.keys(e),o=s.length,c=0,l=[],u=function(e){l.push.apply(l,e),c++,c===o&&n(l)};s.forEach((function(t){var n=e[t];-1!==a.indexOf(t)?f(n,i,u):d(n,i,u)}))}function v(e){return function(t){return t&&t.message?(t.field=t.field||e.fullField,t):{message:t,field:t.field||e.fullField}}}function g(e,t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=t[i];"object"===("undefined"===typeof n?"undefined":s()(n))&&"object"===s()(e[i])?e[i]=r()({},e[i],n):e[i]=n}return e}function y(e,t,i,n,r,a){!e.required||i.hasOwnProperty(e.field)&&!h(t,a||e.type)||n.push(l(r.messages.required,e.fullField))}var b=y;function C(e,t,i,n,r){(/^\s+$/.test(t)||""===t)&&n.push(l(r.messages.whitespace,e.fullField))}var S=C,x={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i"),hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},w={integer:function(e){return w.number(e)&&parseInt(e,10)===e},float:function(e){return w.number(e)&&!w.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(t){return!1}},date:function(e){return"function"===typeof e.getTime&&"function"===typeof e.getMonth&&"function"===typeof e.getYear},number:function(e){return!isNaN(e)&&"number"===typeof e},object:function(e){return"object"===("undefined"===typeof e?"undefined":s()(e))&&!w.array(e)},method:function(e){return"function"===typeof e},email:function(e){return"string"===typeof e&&!!e.match(x.email)&&e.length<255},url:function(e){return"string"===typeof e&&!!e.match(x.url)},hex:function(e){return"string"===typeof e&&!!e.match(x.hex)}};function _(e,t,i,n,r){if(e.required&&void 0===t)b(e,t,i,n,r);else{var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],o=e.type;a.indexOf(o)>-1?w[o](t)||n.push(l(r.messages.types[o],e.fullField,e.type)):o&&("undefined"===typeof t?"undefined":s()(t))!==e.type&&n.push(l(r.messages.types[o],e.fullField,e.type))}}var A=_;function E(e,t,i,n,r){var a="number"===typeof e.len,s="number"===typeof e.min,o="number"===typeof e.max,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=t,h=null,d="number"===typeof t,f="string"===typeof t,p=Array.isArray(t);if(d?h="number":f?h="string":p&&(h="array"),!h)return!1;p&&(u=t.length),f&&(u=t.replace(c,"_").length),a?u!==e.len&&n.push(l(r.messages[h].len,e.fullField,e.len)):s&&!o&&u<e.min?n.push(l(r.messages[h].min,e.fullField,e.min)):o&&!s&&u>e.max?n.push(l(r.messages[h].max,e.fullField,e.max)):s&&o&&(u<e.min||u>e.max)&&n.push(l(r.messages[h].range,e.fullField,e.min,e.max))}var k=E,M="enum";function z(e,t,i,n,r){e[M]=Array.isArray(e[M])?e[M]:[],-1===e[M].indexOf(t)&&n.push(l(r.messages[M],e.fullField,e[M].join(", ")))}var T=z;function I(e,t,i,n,r){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||n.push(l(r.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"===typeof e.pattern){var a=new RegExp(e.pattern);a.test(t)||n.push(l(r.messages.pattern.mismatch,e.fullField,t,e.pattern))}}var N=I,D={required:b,whitespace:S,type:A,range:k,enum:T,pattern:N};function P(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t,"string")&&!e.required)return i();D.required(e,t,n,a,r,"string"),h(t,"string")||(D.type(e,t,n,a,r),D.range(e,t,n,a,r),D.pattern(e,t,n,a,r),!0===e.whitespace&&D.whitespace(e,t,n,a,r))}i(a)}var O=P;function H(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),void 0!==t&&D.type(e,t,n,a,r)}i(a)}var F=H;function L(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),void 0!==t&&(D.type(e,t,n,a,r),D.range(e,t,n,a,r))}i(a)}var V=L;function R(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),void 0!==t&&D.type(e,t,n,a,r)}i(a)}var B=R;function j(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),h(t)||D.type(e,t,n,a,r)}i(a)}var $=j;function K(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),void 0!==t&&(D.type(e,t,n,a,r),D.range(e,t,n,a,r))}i(a)}var q=K;function U(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),void 0!==t&&(D.type(e,t,n,a,r),D.range(e,t,n,a,r))}i(a)}var W=U;function X(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t,"array")&&!e.required)return i();D.required(e,t,n,a,r,"array"),h(t,"array")||(D.type(e,t,n,a,r),D.range(e,t,n,a,r))}i(a)}var G=X;function Y(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),void 0!==t&&D.type(e,t,n,a,r)}i(a)}var Z=Y,J="enum";function Q(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();D.required(e,t,n,a,r),t&&D[J](e,t,n,a,r)}i(a)}var ee=Q;function te(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t,"string")&&!e.required)return i();D.required(e,t,n,a,r),h(t,"string")||D.pattern(e,t,n,a,r)}i(a)}var ie=te;function ne(e,t,i,n,r){var a=[],s=e.required||!e.required&&n.hasOwnProperty(e.field);if(s){if(h(t)&&!e.required)return i();if(D.required(e,t,n,a,r),!h(t)){var o=void 0;o="number"===typeof t?new Date(t):t,D.type(e,o,n,a,r),o&&D.range(e,o.getTime(),n,a,r)}}i(a)}var re=ne;function ae(e,t,i,n,r){var a=[],o=Array.isArray(t)?"array":"undefined"===typeof t?"undefined":s()(t);D.required(e,t,n,a,r,o),i(a)}var se=ae;function oe(e,t,i,n,r){var a=e.type,s=[],o=e.required||!e.required&&n.hasOwnProperty(e.field);if(o){if(h(t,a)&&!e.required)return i();D.required(e,t,n,s,r,a),h(t,a)||D.type(e,t,n,s,r)}i(s)}var ce=oe,le={string:O,method:F,number:V,boolean:B,regexp:$,integer:q,float:W,array:G,object:Z,enum:ee,pattern:ie,date:re,url:ce,hex:ce,email:ce,required:se};function ue(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var he=ue();function de(e){this.rules=null,this._messages=he,this.define(e)}de.prototype={messages:function(e){return e&&(this._messages=g(ue(),e)),this._messages},define:function(e){if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!==("undefined"===typeof e?"undefined":s()(e))||Array.isArray(e))throw new Error("Rules must be an object");this.rules={};var t=void 0,i=void 0;for(t in e)e.hasOwnProperty(t)&&(i=e[t],this.rules[t]=Array.isArray(i)?i:[i])},validate:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2],a=e,o=i,u=n;if("function"===typeof o&&(u=o,o={}),this.rules&&0!==Object.keys(this.rules).length){if(o.messages){var h=this.messages();h===he&&(h=ue()),g(h,o.messages),o.messages=h}else o.messages=this.messages();var d=void 0,f=void 0,p={},y=o.keys||Object.keys(this.rules);y.forEach((function(i){d=t.rules[i],f=a[i],d.forEach((function(n){var s=n;"function"===typeof s.transform&&(a===e&&(a=r()({},a)),f=a[i]=s.transform(f)),s="function"===typeof s?{validator:s}:r()({},s),s.validator=t.getValidationMethod(s),s.field=i,s.fullField=s.fullField||i,s.type=t.getType(s),s.validator&&(p[i]=p[i]||[],p[i].push({rule:s,value:f,source:a,field:i}))}))}));var b={};m(p,o,(function(e,t){var i=e.rule,n=("object"===i.type||"array"===i.type)&&("object"===s()(i.fields)||"object"===s()(i.defaultField));function a(e,t){return r()({},t,{fullField:i.fullField+"."+e})}function u(){var s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=s;if(Array.isArray(u)||(u=[u]),u.length&&c("async-validator:",u),u.length&&i.message&&(u=[].concat(i.message)),u=u.map(v(i)),o.first&&u.length)return b[i.field]=1,t(u);if(n){if(i.required&&!e.value)return u=i.message?[].concat(i.message).map(v(i)):o.error?[o.error(i,l(o.messages.required,i.field))]:[],t(u);var h={};if(i.defaultField)for(var d in e.value)e.value.hasOwnProperty(d)&&(h[d]=i.defaultField);for(var f in h=r()({},h,e.rule.fields),h)if(h.hasOwnProperty(f)){var p=Array.isArray(h[f])?h[f]:[h[f]];h[f]=p.map(a.bind(null,f))}var m=new de(h);m.messages(o.messages),e.rule.options&&(e.rule.options.messages=o.messages,e.rule.options.error=o.error),m.validate(e.value,e.rule.options||o,(function(e){t(e&&e.length?u.concat(e):e)}))}else t(u)}n=n&&(i.required||!i.required&&e.value),i.field=e.field;var h=i.validator(i,e.value,u,e.source,o);h&&h.then&&h.then((function(){return u()}),(function(e){return u(e)}))}),(function(e){C(e)}))}else u&&u();function C(e){var t=void 0,i=void 0,n=[],r={};function a(e){Array.isArray(e)?n=n.concat.apply(n,e):n.push(e)}for(t=0;t<e.length;t++)a(e[t]);if(n.length)for(t=0;t<n.length;t++)i=n[t].field,r[i]=r[i]||[],r[i].push(n[t]);else n=null,r=null;u(n,r)}},getType:function(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!==typeof e.validator&&e.type&&!le.hasOwnProperty(e.type))throw new Error(l("Unknown rule type %s",e.type));return e.type||"string"},getValidationMethod:function(e){if("function"===typeof e.validator)return e.validator;var t=Object.keys(e),i=t.indexOf("message");return-1!==i&&t.splice(i,1),1===t.length&&"required"===t[0]?le.required:le[this.getType(e)]||!1}},de.register=function(e,t){if("function"!==typeof t)throw new Error("Cannot register a validator by type, validator is not a function");le[e]=t},de.messages=he;t["default"]=de},a336:function(e,t,i){const{BigInteger:n}=i("e0c8"),r=i("41d0"),a=i("dffd");class s{constructor(){this.ct=1,this.p2=null,this.sm3keybase=null,this.sm3c3=null,this.key=new Array(32),this.keyOff=0}reset(){this.sm3keybase=new r,this.sm3c3=new r;const e=a.hexToArray(a.leftPad(this.p2.getX().toBigInteger().toRadix(16),64)),t=a.hexToArray(a.leftPad(this.p2.getY().toBigInteger().toRadix(16),64));this.sm3keybase.blockUpdate(e,0,e.length),this.sm3c3.blockUpdate(e,0,e.length),this.sm3keybase.blockUpdate(t,0,t.length),this.ct=1,this.nextKey()}nextKey(){const e=new r(this.sm3keybase);e.update(this.ct>>24&255),e.update(this.ct>>16&255),e.update(this.ct>>8&255),e.update(255&this.ct),e.doFinal(this.key,0),this.keyOff=0,this.ct++}initEncipher(e){const t=a.generateKeyPairHex(),i=new n(t.privateKey,16);let r=t.publicKey;return this.p2=e.multiply(i),this.reset(),r.length>128&&(r=r.substr(r.length-128)),r}encryptBlock(e){this.sm3c3.blockUpdate(e,0,e.length);for(let t=0;t<e.length;t++)this.keyOff===this.key.length&&this.nextKey(),e[t]^=255&this.key[this.keyOff++]}initDecipher(e,t){this.p2=t.multiply(e),this.reset()}decryptBlock(e){for(let t=0;t<e.length;t++)this.keyOff===this.key.length&&this.nextKey(),e[t]^=255&this.key[this.keyOff++];this.sm3c3.blockUpdate(e,0,e.length)}doFinal(e){const t=a.hexToArray(a.leftPad(this.p2.getY().toBigInteger().toRadix(16),64));this.sm3c3.blockUpdate(t,0,t.length),this.sm3c3.doFinal(e,0),this.reset()}createPoint(e,t){const i="04"+e+t,n=a.getGlobalCurve().decodePointHex(i);return n}}e.exports=s},a3de:function(e,t,i){"use strict";var n=!("undefined"===typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!==typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},a476:function(e,t,i){var n;n=function(e){"use strict";var t=i("cb1f"),n=i("699f"),r="…",a=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,s=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function o(e,t){return e.length>t&&(e=e.substring(0,t)+r),e}function c(e,t){e instanceof c?(this.enc=e.enc,this.pos=e.pos):(this.enc=e,this.pos=t)}c.prototype.get=function(e){if(void 0===e&&(e=this.pos++),e>=this.enc.length)throw"Requesting byte offset "+e+" on a stream of length "+this.enc.length;return"string"==typeof this.enc?this.enc.charCodeAt(e):this.enc[e]},c.prototype.hexDigits="0123456789ABCDEF",c.prototype.hexByte=function(e){return this.hexDigits.charAt(e>>4&15)+this.hexDigits.charAt(15&e)},c.prototype.hexDump=function(e,t,i){for(var n="",r=e;r<t;++r)if(n+=this.hexByte(this.get(r)),!0!==i)switch(15&r){case 7:n+="  ";break;case 15:n+="\n";break;default:n+=" "}return n};var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function u(e,t,i,n,r,a){if(!(n instanceof d))throw"Invalid tag value.";this.stream=e,this.header=t,this.length=i,this.tag=n,this.tagLen=r,this.sub=a}function h(e,t,i){var n=!1;if(e.sub&&e.sub.forEach((function(t){t.tag.tagClass==e.tag.tagClass&&t.tag.tagNumber==e.tag.tagNumber||(n=!0)})),!e.sub||n)return e.stream[t](e.posContent(),e.posContent()+Math.abs(e.length),i);var r={size:0,str:""};return e.sub.forEach((function(e){var n=h(e,t,i-r.str.length);r.size+=n.size,r.str+=n.str})),r}function d(e){var i=e.get();if(this.tagClass=i>>6,this.tagConstructed=0!==(32&i),this.tagNumber=31&i,31==this.tagNumber){var n=new t;do{i=e.get(),n.mulAdd(128,127&i)}while(128&i);this.tagNumber=n.simplify()}}return c.prototype.b64Dump=function(e,t){var i,n,r=(t-e)%3,a="";for(i=e;i+2<t;i+=3)n=this.get(i)<<16|this.get(i+1)<<8|this.get(i+2),a+=l.charAt(n>>18&63),a+=l.charAt(n>>12&63),a+=l.charAt(n>>6&63),a+=l.charAt(63&n);return r>0&&(n=this.get(i)<<16,r>1&&(n|=this.get(i+1)<<8),a+=l.charAt(n>>18&63),a+=l.charAt(n>>12&63),2==r&&(a+=l.charAt(n>>6&63))),a},c.prototype.isASCII=function(e,t){for(var i=e;i<t;++i){var n=this.get(i);if(n<32||n>176)return!1}return!0},c.prototype.parseStringISO=function(e,t){for(var i="",n=e;n<t;++n)i+=String.fromCharCode(this.get(n));return i},c.prototype.parseStringUTF=function(e,t){function i(e){if(e<128||e>=192)throw new Error("Invalid UTF-8 continuation byte: "+e);return 63&e}function n(e){if(e<65536)throw new Error("UTF-8 overlong encoding, codepoint encoded in 4 bytes: "+e);return e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e))}for(var r="",a=e;a<t;){var s=this.get(a++);if(s<128)r+=String.fromCharCode(s);else{if(s<192)throw new Error("Invalid UTF-8 starting byte: "+s);if(s<224)r+=String.fromCharCode((31&s)<<6|i(this.get(a++)));else if(s<240)r+=String.fromCharCode((15&s)<<12|i(this.get(a++))<<6|i(this.get(a++)));else{if(!(s<248))throw new Error("Invalid UTF-8 starting byte (since 2003 it is restricted to 4 bytes): "+s);r+=n((7&s)<<18|i(this.get(a++))<<12|i(this.get(a++))<<6|i(this.get(a++)))}}}return r},c.prototype.parseStringBMP=function(e,t){for(var i,n,r="",a=e;a<t;)i=this.get(a++),n=this.get(a++),r+=String.fromCharCode(i<<8|n);return r},c.prototype.parseTime=function(e,t,i){var n=this.parseStringISO(e,t),r=(i?a:s).exec(n);return r?(i&&(r[1]=+r[1],r[1]+=r[1]<70?2e3:1900),n=r[1]+"-"+r[2]+"-"+r[3]+" "+r[4],r[5]&&(n+=":"+r[5],r[6]&&(n+=":"+r[6],r[7]&&(n+="."+r[7]))),r[8]&&(n+=" UTC","Z"!=r[8]&&(n+=r[8],r[9]&&(n+=":"+r[9]))),n):"Unrecognized time: "+n},c.prototype.parseInteger=function(e,i){var n,r=this.get(e),a=r>127,s=a?255:0,o="";while(r==s&&++e<i)r=this.get(e);if(n=i-e,0===n)return a?"-1":"0";if(n>4){o=r,n<<=3;while(0==(128&(o^s)))o<<=1,--n;o="("+n+" bit)\n"}a&&(r-=256);for(var c=new t(r),l=e+1;l<i;++l)c.mulAdd(256,this.get(l));return o+c.toString()},c.prototype.parseBitString=function(e,t,i){var n=this.get(e);if(n>7)throw"Invalid BitString with unusedBits="+n;for(var r=(t-e-1<<3)-n,a="",s=e+1;s<t;++s){for(var c=this.get(s),l=s==t-1?n:0,u=7;u>=l;--u)a+=c>>u&1?"1":"0";a.length>i&&(a=o(a,i))}return{size:r,str:a}},c.prototype.parseOctetString=function(e,t,i){var n,a=t-e;try{var s;for(n=this.parseStringUTF(e,t),o=0;o<n.length;++o)if(s=n.charCodeAt(o),s<32&&9!=s&&10!=s&&13!=s)throw new Error("Unprintable character at index "+o+" (code "+n.charCodeAt(o)+")");return{size:a,str:n}}catch(c){}i/=2,a>i&&(t=e+i),n="";for(var o=e;o<t;++o)n+=this.hexByte(this.get(o));return a>i&&(n+=r),{size:a,str:n}},c.prototype.parseOID=function(e,i,r){for(var a="",s=new t,c=0,l=e;l<i;++l){var u=this.get(l);if(s.mulAdd(128,127&u),c+=7,!(128&u)){if(""===a)if(s=s.simplify(),s instanceof t)s.sub(80),a="2."+s.toString();else{var h=s<80?s<40?0:1:2;a=h+"."+(s-40*h)}else a+="."+s.toString();if(a.length>r)return o(a,r);s=new t,c=0}}if(c>0&&(a+=".incomplete"),"object"===typeof n){var d=n[a];d&&(d.d&&(a+="\n"+d.d),d.c&&(a+="\n"+d.c),d.w&&(a+="\n(warning!)"))}return a},u.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString"}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString()}},u.prototype.content=function(e){if(void 0===this.tag)return null;void 0===e&&(e=1/0);var t=this.posContent(),i=Math.abs(this.length);if(!this.tag.isUniversal()){if(null!==this.sub)return"("+this.sub.length+" elem)";var n=this.stream.parseOctetString(t,t+i,e);return"("+n.size+" byte)\n"+n.str}switch(this.tag.tagNumber){case 1:return 0===this.stream.get(t)?"false":"true";case 2:return this.stream.parseInteger(t,t+i);case 3:var r=h(this,"parseBitString",e);return"("+r.size+" bit)\n"+r.str;case 4:return r=h(this,"parseOctetString",e),"("+r.size+" byte)\n"+r.str;case 6:return this.stream.parseOID(t,t+i,e);case 10:return this.stream.parseInteger(t,t+i);case 16:case 17:return null!==this.sub?"("+this.sub.length+" elem)":"(no elem)";case 12:return o(this.stream.parseStringUTF(t,t+i),e);case 18:case 19:case 20:case 21:case 22:case 26:case 27:return o(this.stream.parseStringISO(t,t+i),e);case 30:return o(this.stream.parseStringBMP(t,t+i),e);case 23:case 24:return this.stream.parseTime(t,t+i,23==this.tag.tagNumber)}return null},u.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},u.prototype.toPrettyString=function(e){void 0===e&&(e="");var t=e+this.typeName()+" @"+this.stream.pos;this.length>=0&&(t+="+"),t+=this.length,this.tag.tagConstructed?t+=" (constructed)":!this.tag.isUniversal()||3!=this.tag.tagNumber&&4!=this.tag.tagNumber||null===this.sub||(t+=" (encapsulates)");var i=this.content();if(i&&(t+=": "+i.replace(/\n/g,"|")),t+="\n",null!==this.sub){e+="  ";for(var n=0,r=this.sub.length;n<r;++n)t+=this.sub[n].toPrettyString(e)}return t},u.prototype.posStart=function(){return this.stream.pos},u.prototype.posContent=function(){return this.stream.pos+this.header},u.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},u.prototype.posLen=function(){return this.stream.pos+this.tagLen},u.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},u.prototype.toB64String=function(){return this.stream.b64Dump(this.posStart(),this.posEnd())},u.decodeLength=function(e){var t=e.get(),i=127&t;if(i==t)return i;if(0===i)return null;if(i>6)throw"Length over 48 bits not supported at position "+(e.pos-1);t=0;for(var n=0;n<i;++n)t=256*t+e.get();return t},d.prototype.isUniversal=function(){return 0===this.tagClass},d.prototype.isEOC=function(){return 0===this.tagClass&&0===this.tagNumber},u.decode=function(e,t){e instanceof c||(e=new c(e,t||0));var i=new c(e),n=new d(e),r=e.pos-i.pos,a=u.decodeLength(e),s=e.pos,o=s-i.pos,l=null,h=function(){if(l=[],null!==a){var t=s+a;if(t>e.enc.length)throw"Container at offset "+s+" has a length of "+a+", which is past the end of the stream";while(e.pos<t)l[l.length]=u.decode(e);if(e.pos!=t)throw"Content size is not correct for container at offset "+s}else try{for(;;){var i=u.decode(e);if(i.tag.isEOC())break;l[l.length]=i}a=s-e.pos}catch(n){throw"Exception while decoding undefined length content at offset "+s+": "+n}};if(n.tagConstructed)h();else if(n.isUniversal()&&(3==n.tagNumber||4==n.tagNumber))try{if(3==n.tagNumber&&0!=e.get())throw"BIT STRINGs with unused bits cannot encapsulate.";h();for(var f=0;f<l.length;++f)if(l[f].tag.isEOC())throw"EOC is not supposed to be actual content."}catch(p){l=null}if(null===l){if(null===a)throw"We can't skip over an invalid tag with undefined length at offset "+s;e.pos=s+Math.abs(a)}return new u(i,o,a,n,r,l)},u}.call(t,i,t,e),void 0===n||(e.exports=n)},a4d3:function(e,t,i){"use strict";var n=i("23e7"),r=i("da84"),a=i("d066"),s=i("c430"),o=i("83ab"),c=i("4930"),l=i("fdbf"),u=i("d039"),h=i("5135"),d=i("e8b5"),f=i("861d"),p=i("825a"),m=i("7b0b"),v=i("fc6a"),g=i("c04e"),y=i("5c6c"),b=i("7c73"),C=i("df75"),S=i("241c"),x=i("057f"),w=i("7418"),_=i("06cf"),A=i("9bf2"),E=i("d1e7"),k=i("9112"),M=i("6eeb"),z=i("5692"),T=i("f772"),I=i("d012"),N=i("90e3"),D=i("b622"),P=i("e538"),O=i("746f"),H=i("d44e"),F=i("69f3"),L=i("b727").forEach,V=T("hidden"),R="Symbol",B="prototype",j=D("toPrimitive"),$=F.set,K=F.getterFor(R),q=Object[B],U=r.Symbol,W=a("JSON","stringify"),X=_.f,G=A.f,Y=x.f,Z=E.f,J=z("symbols"),Q=z("op-symbols"),ee=z("string-to-symbol-registry"),te=z("symbol-to-string-registry"),ie=z("wks"),ne=r.QObject,re=!ne||!ne[B]||!ne[B].findChild,ae=o&&u((function(){return 7!=b(G({},"a",{get:function(){return G(this,"a",{value:7}).a}})).a}))?function(e,t,i){var n=X(q,t);n&&delete q[t],G(e,t,i),n&&e!==q&&G(q,t,n)}:G,se=function(e,t){var i=J[e]=b(U[B]);return $(i,{type:R,tag:e,description:t}),o||(i.description=t),i},oe=l?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ce=function(e,t,i){e===q&&ce(Q,t,i),p(e);var n=g(t,!0);return p(i),h(J,n)?(i.enumerable?(h(e,V)&&e[V][n]&&(e[V][n]=!1),i=b(i,{enumerable:y(0,!1)})):(h(e,V)||G(e,V,y(1,{})),e[V][n]=!0),ae(e,n,i)):G(e,n,i)},le=function(e,t){p(e);var i=v(t),n=C(i).concat(pe(i));return L(n,(function(t){o&&!he.call(i,t)||ce(e,t,i[t])})),e},ue=function(e,t){return void 0===t?b(e):le(b(e),t)},he=function(e){var t=g(e,!0),i=Z.call(this,t);return!(this===q&&h(J,t)&&!h(Q,t))&&(!(i||!h(this,t)||!h(J,t)||h(this,V)&&this[V][t])||i)},de=function(e,t){var i=v(e),n=g(t,!0);if(i!==q||!h(J,n)||h(Q,n)){var r=X(i,n);return!r||!h(J,n)||h(i,V)&&i[V][n]||(r.enumerable=!0),r}},fe=function(e){var t=Y(v(e)),i=[];return L(t,(function(e){h(J,e)||h(I,e)||i.push(e)})),i},pe=function(e){var t=e===q,i=Y(t?Q:v(e)),n=[];return L(i,(function(e){!h(J,e)||t&&!h(q,e)||n.push(J[e])})),n};if(c||(U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=N(e),i=function(e){this===q&&i.call(Q,e),h(this,V)&&h(this[V],t)&&(this[V][t]=!1),ae(this,t,y(1,e))};return o&&re&&ae(q,t,{configurable:!0,set:i}),se(t,e)},M(U[B],"toString",(function(){return K(this).tag})),M(U,"withoutSetter",(function(e){return se(N(e),e)})),E.f=he,A.f=ce,_.f=de,S.f=x.f=fe,w.f=pe,P.f=function(e){return se(D(e),e)},o&&(G(U[B],"description",{configurable:!0,get:function(){return K(this).description}}),s||M(q,"propertyIsEnumerable",he,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:U}),L(C(ie),(function(e){O(e)})),n({target:R,stat:!0,forced:!c},{for:function(e){var t=String(e);if(h(ee,t))return ee[t];var i=U(t);return ee[t]=i,te[i]=t,i},keyFor:function(e){if(!oe(e))throw TypeError(e+" is not a symbol");if(h(te,e))return te[e]},useSetter:function(){re=!0},useSimple:function(){re=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!o},{create:ue,defineProperty:ce,defineProperties:le,getOwnPropertyDescriptor:de}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:fe,getOwnPropertySymbols:pe}),n({target:"Object",stat:!0,forced:u((function(){w.f(1)}))},{getOwnPropertySymbols:function(e){return w.f(m(e))}}),W){var me=!c||u((function(){var e=U();return"[null]"!=W([e])||"{}"!=W({a:e})||"{}"!=W(Object(e))}));n({target:"JSON",stat:!0,forced:me},{stringify:function(e,t,i){var n,r=[e],a=1;while(arguments.length>a)r.push(arguments[a++]);if(n=t,(f(t)||void 0!==e)&&!oe(e))return d(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!oe(t))return t}),r[1]=t,W.apply(null,r)}})}U[B][j]||k(U[B],j,U[B].valueOf),H(U,R),I[V]=!0},a623:function(e,t,i){"use strict";var n=i("23e7"),r=i("b727").every,a=i("a640"),s=i("ae40"),o=a("every"),c=s("every");n({target:"Array",proto:!0,forced:!o||!c},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}})},a630:function(e,t,i){var n=i("23e7"),r=i("4df4"),a=i("1c7e"),s=!a((function(e){Array.from(e)}));n({target:"Array",stat:!0,forced:s},{from:r})},a640:function(e,t,i){"use strict";var n=i("d039");e.exports=function(e,t){var i=[][e];return!!i&&n((function(){i.call(null,t||function(){throw 1},1)}))}},a691:function(e,t){var i=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:i)(e)}},a742:function(e,t,i){"use strict";function n(e){return"[object String]"===Object.prototype.toString.call(e)}function r(e){return"[object Object]"===Object.prototype.toString.call(e)}function a(e){return e&&e.nodeType===Node.ELEMENT_NODE}t.__esModule=!0,t.isString=n,t.isObject=r,t.isHtmlElement=a;t.isFunction=function(e){var t={};return e&&"[object Function]"===t.toString.call(e)},t.isUndefined=function(e){return void 0===e},t.isDefined=function(e){return void 0!==e&&null!==e}},a79d:function(e,t,i){"use strict";var n=i("23e7"),r=i("c430"),a=i("fea9"),s=i("d039"),o=i("d066"),c=i("4840"),l=i("cdf9"),u=i("6eeb"),h=!!a&&s((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}));n({target:"Promise",proto:!0,real:!0,forced:h},{finally:function(e){var t=c(this,o("Promise")),i="function"==typeof e;return this.then(i?function(i){return l(t,e()).then((function(){return i}))}:e,i?function(i){return l(t,e()).then((function(){throw i}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||u(a.prototype,"finally",o("Promise").prototype["finally"])},a960:function(e,t,i){i("4fad");var n=i("428f");e.exports=n.Object.entries},a975:function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").every,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},a981:function(e,t){e.exports="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView},a9e3:function(e,t,i){"use strict";var n=i("83ab"),r=i("da84"),a=i("94ca"),s=i("6eeb"),o=i("5135"),c=i("c6b6"),l=i("7156"),u=i("c04e"),h=i("d039"),d=i("7c73"),f=i("241c").f,p=i("06cf").f,m=i("9bf2").f,v=i("58a8").trim,g="Number",y=r[g],b=y.prototype,C=c(d(b))==g,S=function(e){var t,i,n,r,a,s,o,c,l=u(e,!1);if("string"==typeof l&&l.length>2)if(l=v(l),t=l.charCodeAt(0),43===t||45===t){if(i=l.charCodeAt(2),88===i||120===i)return NaN}else if(48===t){switch(l.charCodeAt(1)){case 66:case 98:n=2,r=49;break;case 79:case 111:n=8,r=55;break;default:return+l}for(a=l.slice(2),s=a.length,o=0;o<s;o++)if(c=a.charCodeAt(o),c<48||c>r)return NaN;return parseInt(a,n)}return+l};if(a(g,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var x,w=function(e){var t=arguments.length<1?0:e,i=this;return i instanceof w&&(C?h((function(){b.valueOf.call(i)})):c(i)!=g)?l(new y(S(t)),i,w):S(t)},_=n?f(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),A=0;_.length>A;A++)o(y,x=_[A])&&!o(w,x)&&m(w,x,p(y,x));w.prototype=b,b.constructor=w,s(r,g,w)}},ab13:function(e,t,i){var n=i("b622"),r=n("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(i){try{return t[r]=!1,"/./"[e](t)}catch(n){}}return!1}},ac1f:function(e,t,i){"use strict";var n=i("23e7"),r=i("9263");n({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},acac:function(e,t,i){"use strict";var n=i("e2cc"),r=i("f183").getWeakData,a=i("825a"),s=i("861d"),o=i("19aa"),c=i("2266"),l=i("b727"),u=i("5135"),h=i("69f3"),d=h.set,f=h.getterFor,p=l.find,m=l.findIndex,v=0,g=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},b=function(e,t){return p(e.entries,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var i=b(this,e);i?i[1]=t:this.entries.push([e,t])},delete:function(e){var t=m(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,i,l){var h=e((function(e,n){o(e,h,t),d(e,{type:t,id:v++,frozen:void 0}),void 0!=n&&c(n,e[l],e,i)})),p=f(t),m=function(e,t,i){var n=p(e),s=r(a(t),!0);return!0===s?g(n).set(t,i):s[n.id]=i,e};return n(h.prototype,{delete:function(e){var t=p(this);if(!s(e))return!1;var i=r(e);return!0===i?g(t)["delete"](e):i&&u(i,t.id)&&delete i[t.id]},has:function(e){var t=p(this);if(!s(e))return!1;var i=r(e);return!0===i?g(t).has(e):i&&u(i,t.id)}}),n(h.prototype,i?{get:function(e){var t=p(this);if(s(e)){var i=r(e);return!0===i?g(t).get(e):i?i[t.id]:void 0}},set:function(e,t){return m(this,e,t)}}:{add:function(e){return m(this,e,!0)}}),h}}},ad3d:function(e,t,i){"use strict";(function(e){i.d(t,"a",(function(){return x}));var n=i("ecee"),r="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{};function a(e,t){return t={exports:{}},e(t,t.exports),t.exports}var s=a((function(e){(function(t){var i=function(e,t,n){if(!l(t)||h(t)||d(t)||f(t)||c(t))return t;var r,a=0,s=0;if(u(t))for(r=[],s=t.length;a<s;a++)r.push(i(e,t[a],n));else for(var o in r={},t)Object.prototype.hasOwnProperty.call(t,o)&&(r[e(o,n)]=i(e,t[o],n));return r},n=function(e,t){t=t||{};var i=t.separator||"_",n=t.split||/(?=[A-Z])/;return e.split(n).join(i)},r=function(e){return p(e)?e:(e=e.replace(/[\-_\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""})),e.substr(0,1).toLowerCase()+e.substr(1))},a=function(e){var t=r(e);return t.substr(0,1).toUpperCase()+t.substr(1)},s=function(e,t){return n(e,t).toLowerCase()},o=Object.prototype.toString,c=function(e){return"function"===typeof e},l=function(e){return e===Object(e)},u=function(e){return"[object Array]"==o.call(e)},h=function(e){return"[object Date]"==o.call(e)},d=function(e){return"[object RegExp]"==o.call(e)},f=function(e){return"[object Boolean]"==o.call(e)},p=function(e){return e-=0,e===e},m=function(e,t){var i=t&&"process"in t?t.process:t;return"function"!==typeof i?e:function(t,n){return i(t,e,n)}},v={camelize:r,decamelize:s,pascalize:a,depascalize:s,camelizeKeys:function(e,t){return i(m(r,t),e)},decamelizeKeys:function(e,t){return i(m(s,t),e,t)},pascalizeKeys:function(e,t){return i(m(a,t),e)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};e.exports?e.exports=v:t.humps=v})(r)})),o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},u=function(e,t){var i={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(i[n]=e[n]);return i},h=function(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)};function d(e){return e.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var i=t.indexOf(":"),n=s.camelize(t.slice(0,i)),r=t.slice(i+1).trim();return e[n]=r,e}),{})}function f(e){return e.split(/\s+/).reduce((function(e,t){return e[t]=!0,e}),{})}function p(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])}function m(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=(t.children||[]).map(m.bind(null,e)),a=Object.keys(t.attributes||{}).reduce((function(e,i){var n=t.attributes[i];switch(i){case"class":e["class"]=f(n);break;case"style":e["style"]=d(n);break;default:e.attrs[i]=n}return e}),{class:{},style:{},attrs:{}}),s=n.class,o=void 0===s?{}:s,c=n.style,h=void 0===c?{}:c,v=n.attrs,g=void 0===v?{}:v,y=u(n,["class","style","attrs"]);return"string"===typeof t?t:e(t.tag,l({class:p(a.class,o),style:l({},a.style,h),attrs:l({},a.attrs,g)},y,{props:i}),r)}var v=!1;try{v=!0}catch(w){}function g(){var e;!v&&console&&"function"===typeof console.error&&(e=console).error.apply(e,arguments)}function y(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?c({},e,t):{}}function b(e){var t,i=(t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},c(t,"fa-"+e.size,null!==e.size),c(t,"fa-rotate-"+e.rotation,null!==e.rotation),c(t,"fa-pull-"+e.pull,null!==e.pull),c(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(i).map((function(e){return i[e]?e:null})).filter((function(e){return e}))}function C(e,t){var i=0===(e||"").length?[]:[e];return i.concat(t).join(" ")}function S(e){return null===e?null:"object"===("undefined"===typeof e?"undefined":o(e))&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"===typeof e?{prefix:"fas",iconName:e}:void 0}var x={name:"FontAwesomeIcon",functional:!0,props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:String,default:null,validator:function(e){return["horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1}},render:function(e,t){var i=t.props,r=i.icon,a=i.mask,s=i.symbol,o=i.title,c=S(r),u=y("classes",b(i)),h=y("transform","string"===typeof i.transform?n["d"].transform(i.transform):i.transform),d=y("mask",S(a)),f=Object(n["b"])(c,l({},u,h,d,{symbol:s,title:o}));if(!f)return g("Could not find one or more icon(s)",c,d);var p=f.abstract,v=m.bind(null,e);return v(p[0],{},t.data)}};Boolean,Boolean}).call(this,i("c8ba"))},ad63:function(e,t,i){i("d3b7"),i("10d1"),i("ddb0");var n=i("428f");e.exports=n.WeakMap},ad6d:function(e,t,i){"use strict";var n=i("825a");e.exports=function(){var e=n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},adc3:function(e,t,i){"use strict";const n=i("90da"),r={allowBooleanAttributes:!1},a=["allowBooleanAttributes"];function s(e,t){for(var i=t;t<e.length;t++)if("?"!=e[t]&&" "!=e[t]);else{var n=e.substr(i,t-i);if(t>5&&"xml"===n)return m("InvalidXml","XML declaration allowed only at the start of the document.",y(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}}return t}function o(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let i=1;for(t+=8;t<e.length;t++)if("<"===e[t])i++;else if(">"===e[t]&&(i--,0===i))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=n.buildOptions(t,r,a);const i=[];let c=!1,l=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let n=0;n<e.length;n++){if("<"!==e[n]){if(" "===e[n]||"\t"===e[n]||"\n"===e[n]||"\r"===e[n])continue;return m("InvalidChar","char '"+e[n]+"' is not expected.",y(e,n))}if(n++,"?"===e[n]){if(n=s(e,++n),n.err)return n}else{if("!"===e[n]){n=o(e,n);continue}{let r=!1;"/"===e[n]&&(r=!0,n++);let a="";for(;n<e.length&&">"!==e[n]&&" "!==e[n]&&"\t"!==e[n]&&"\n"!==e[n]&&"\r"!==e[n];n++)a+=e[n];if(a=a.trim(),"/"===a[a.length-1]&&(a=a.substring(0,a.length-1),n--),!g(a)){let t;return t=0===a.trim().length?"There is an unnecessary space between tag name and backward slash '</ ..'.":"Tag '"+a+"' is an invalid name.",m("InvalidTag",t,y(e,n))}const s=u(e,n);if(!1===s)return m("InvalidAttr","Attributes for '"+a+"' have open quote.",y(e,n));let h=s.value;if(n=s.index,"/"===h[h.length-1]){h=h.substring(0,h.length-1);const i=d(h,t);if(!0!==i)return m(i.err.code,i.err.msg,y(e,n-h.length+i.err.line));c=!0}else if(r){if(!s.tagClosed)return m("InvalidTag","Closing tag '"+a+"' doesn't have proper closing.",y(e,n));if(h.trim().length>0)return m("InvalidTag","Closing tag '"+a+"' can't have attributes or invalid starting.",y(e,n));{const t=i.pop();if(a!==t)return m("InvalidTag","Closing tag '"+t+"' is expected inplace of '"+a+"'.",y(e,n));0==i.length&&(l=!0)}}else{const r=d(h,t);if(!0!==r)return m(r.err.code,r.err.msg,y(e,n-h.length+r.err.line));if(!0===l)return m("InvalidXml","Multiple possible root nodes found.",y(e,n));i.push(a),c=!0}for(n++;n<e.length;n++){if("<"===e[n]){if("!"===e[n+1]){n++,n=o(e,n);continue}break}if("&"===e[n]){const t=p(e,n);if(-1==t)return m("InvalidChar","char '&' is not expected.",y(e,n));n=t}}"<"===e[n]&&n--}}}return c?!(i.length>0)||m("InvalidXml","Invalid '"+JSON.stringify(i,null,4).replace(/\r?\n/g,"")+"' found.",1):m("InvalidXml","Start tag expected.",1)};var c='"',l="'";function u(e,t){let i="",n="",r=!1;for(;t<e.length;t++){if(e[t]===c||e[t]===l)if(""===n)n=e[t];else{if(n!==e[t])continue;n=""}else if(">"===e[t]&&""===n){r=!0;break}i+=e[t]}return""===n&&{value:i,index:t,tagClosed:r}}const h=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function d(e,t){const i=n.getAllMatches(e,h),r={};for(let n=0;n<i.length;n++){if(0===i[n][1].length)return m("InvalidAttr","Attribute '"+i[n][2]+"' has no space in starting.",b(e,i[n][0]));if(void 0===i[n][3]&&!t.allowBooleanAttributes)return m("InvalidAttr","boolean attribute '"+i[n][2]+"' is not allowed.",b(e,i[n][0]));const a=i[n][2];if(!v(a))return m("InvalidAttr","Attribute '"+a+"' is an invalid name.",b(e,i[n][0]));if(r.hasOwnProperty(a))return m("InvalidAttr","Attribute '"+a+"' is repeated.",b(e,i[n][0]));r[a]=1}return!0}function f(e,t){let i=/\d/;for("x"===e[t]&&(t++,i=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(i))break}return-1}function p(e,t){if(t++,";"===e[t])return-1;if("#"===e[t])return t++,f(e,t);let i=0;for(;t<e.length;t++,i++)if(!(e[t].match(/\w/)&&i<20)){if(";"===e[t])break;return-1}return t}function m(e,t,i){return{err:{code:e,msg:t,line:i}}}function v(e){return n.isName(e)}function g(e){return n.isName(e)}function y(e,t){var i=e.substring(0,t).split(/\r?\n/);return i.length}function b(e,t){return e.indexOf(t)+t.length}},ae40:function(e,t,i){var n=i("83ab"),r=i("d039"),a=i("5135"),s=Object.defineProperty,o={},c=function(e){throw e};e.exports=function(e,t){if(a(o,e))return o[e];t||(t={});var i=[][e],l=!!a(t,"ACCESSORS")&&t.ACCESSORS,u=a(t,0)?t[0]:c,h=a(t,1)?t[1]:void 0;return o[e]=!!i&&!r((function(){if(l&&!n)return!0;var e={length:-1};l?s(e,1,{enumerable:!0,get:c}):e[1]=1,i.call(e,u,h)}))}},ae93:function(e,t,i){"use strict";var n,r,a,s=i("e163"),o=i("9112"),c=i("5135"),l=i("b622"),u=i("c430"),h=l("iterator"),d=!1,f=function(){return this};[].keys&&(a=[].keys(),"next"in a?(r=s(s(a)),r!==Object.prototype&&(n=r)):d=!0),void 0==n&&(n={}),u||c(n,h)||o(n,h,f),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:d}},af03:function(e,t,i){var n=i("d039");e.exports=function(e){return n((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},b041:function(e,t,i){"use strict";var n=i("00ee"),r=i("f5df");e.exports=n?{}.toString:function(){return"[object "+r(this)+"]"}},b0c0:function(e,t,i){var n=i("83ab"),r=i("9bf2").f,a=Function.prototype,s=a.toString,o=/^\s*function ([^ (]*)/,c="name";n&&!(c in a)&&r(a,c,{configurable:!0,get:function(){try{return s.call(this).match(o)[1]}catch(e){return""}}})},b109:function(e,t,i){var n=i("da84"),r=i("0366"),a=Function.call;e.exports=function(e,t,i){return r(a,n[e].prototype[t],i)}},b367:function(e,t,i){var n=i("5524"),r=i("ef08"),a="__core-js_shared__",s=r[a]||(r[a]={});(e.exports=function(e,t){return s[e]||(s[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:i("e444")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},b39a:function(e,t,i){"use strict";var n=i("da84"),r=i("ebb5"),a=i("d039"),s=n.Int8Array,o=r.aTypedArray,c=r.exportTypedArrayMethod,l=[].toLocaleString,u=[].slice,h=!!s&&a((function(){l.call(new s(1))})),d=a((function(){return[1,2].toLocaleString()!=new s([1,2]).toLocaleString()}))||!a((function(){s.prototype.toLocaleString.call([1,2])}));c("toLocaleString",(function(){return l.apply(h?u.call(o(this)):o(this),arguments)}),d)},b50d:function(e,t,i){"use strict";var n=i("c532"),r=i("467f"),a=i("7aac"),s=i("30b5"),o=i("83b9"),c=i("c345"),l=i("3934"),u=i("2d83");e.exports=function(e){return new Promise((function(t,i){var h=e.data,d=e.headers;n.isFormData(h)&&delete d["Content-Type"],(n.isBlob(h)||n.isFile(h))&&h.type&&delete d["Content-Type"];var f=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",m=unescape(encodeURIComponent(e.auth.password))||"";d.Authorization="Basic "+btoa(p+":"+m)}var v=o(e.baseURL,e.url);if(f.open(e.method.toUpperCase(),s(v,e.params,e.paramsSerializer),!0),f.timeout=e.timeout,f.onreadystatechange=function(){if(f&&4===f.readyState&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in f?c(f.getAllResponseHeaders()):null,a=e.responseType&&"text"!==e.responseType?f.response:f.responseText,s={data:a,status:f.status,statusText:f.statusText,headers:n,config:e,request:f};r(t,i,s),f=null}},f.onabort=function(){f&&(i(u("Request aborted",e,"ECONNABORTED",f)),f=null)},f.onerror=function(){i(u("Network Error",e,null,f)),f=null},f.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),i(u(t,e,"ECONNABORTED",f)),f=null},n.isStandardBrowserEnv()){var g=(e.withCredentials||l(v))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;g&&(d[e.xsrfHeaderName]=g)}if("setRequestHeader"in f&&n.forEach(d,(function(e,t){"undefined"===typeof h&&"content-type"===t.toLowerCase()?delete d[t]:f.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(f.withCredentials=!!e.withCredentials),e.responseType)try{f.responseType=e.responseType}catch(y){if("json"!==e.responseType)throw y}"function"===typeof e.onDownloadProgress&&f.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&f.upload&&f.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){f&&(f.abort(),i(e),f=null)})),h||(h=null),f.send(h)}))}},b575:function(e,t,i){var n,r,a,s,o,c,l,u,h=i("da84"),d=i("06cf").f,f=i("c6b6"),p=i("2cf4").set,m=i("1cdc"),v=h.MutationObserver||h.WebKitMutationObserver,g=h.process,y=h.Promise,b="process"==f(g),C=d(h,"queueMicrotask"),S=C&&C.value;S||(n=function(){var e,t;b&&(e=g.domain)&&e.exit();while(r){t=r.fn,r=r.next;try{t()}catch(i){throw r?s():a=void 0,i}}a=void 0,e&&e.enter()},b?s=function(){g.nextTick(n)}:v&&!m?(o=!0,c=document.createTextNode(""),new v(n).observe(c,{characterData:!0}),s=function(){c.data=o=!o}):y&&y.resolve?(l=y.resolve(void 0),u=l.then,s=function(){u.call(l,n)}):s=function(){p.call(h,n)}),e.exports=S||function(e){var t={fn:e,next:void 0};a&&(a.next=t),r||(r=t,s()),a=t}},b622:function(e,t,i){var n=i("da84"),r=i("5692"),a=i("5135"),s=i("90e3"),o=i("4930"),c=i("fdbf"),l=r("wks"),u=n.Symbol,h=c?u:u&&u.withoutSetter||s;e.exports=function(e){return a(l,e)||(o&&a(u,e)?l[e]=u[e]:l[e]=h("Symbol."+e)),l[e]}},b636:function(e,t,i){var n=i("746f");n("asyncIterator")},b639:function(e,t,i){"use strict";(function(e){
-
-var n=i("1fb5"),r=i("9152"),a=i("e3db");function s(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function c(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=l.prototype):(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,i){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,i);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return u(this,e,t,i)}function u(e,t,i,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?v(e,t,i,n):"string"===typeof t?p(e,t,i):g(e,t)}function h(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function d(e,t,i,n){return h(t),t<=0?c(e,t):void 0!==i?"string"===typeof n?c(e,t).fill(i,n):c(e,t).fill(i):c(e,t)}function f(e,t){if(h(t),e=c(e,t<0?0:0|y(t)),!l.TYPED_ARRAY_SUPPORT)for(var i=0;i<t;++i)e[i]=0;return e}function p(e,t,i){if("string"===typeof i&&""!==i||(i="utf8"),!l.isEncoding(i))throw new TypeError('"encoding" must be a valid string encoding');var n=0|C(t,i);e=c(e,n);var r=e.write(t,i);return r!==n&&(e=e.slice(0,r)),e}function m(e,t){var i=t.length<0?0:0|y(t.length);e=c(e,i);for(var n=0;n<i;n+=1)e[n]=255&t[n];return e}function v(e,t,i,n){if(t.byteLength,i<0||t.byteLength<i)throw new RangeError("'offset' is out of bounds");if(t.byteLength<i+(n||0))throw new RangeError("'length' is out of bounds");return t=void 0===i&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,i):new Uint8Array(t,i,n),l.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=l.prototype):e=m(e,t),e}function g(e,t){if(l.isBuffer(t)){var i=0|y(t.length);return e=c(e,i),0===e.length?e:(t.copy(e,0,0,i),e)}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||te(t.length)?c(e,0):m(e,t);if("Buffer"===t.type&&a(t.data))return m(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function y(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function b(e){return+e!=e&&(e=0),l.alloc(+e)}function C(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var i=e.length;if(0===i)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":case void 0:return Y(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return Q(e).length;default:if(n)return Y(e).length;t=(""+t).toLowerCase(),n=!0}}function S(e,t,i){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if(i>>>=0,t>>>=0,i<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return F(this,t,i);case"utf8":case"utf-8":return N(this,t,i);case"ascii":return O(this,t,i);case"latin1":case"binary":return H(this,t,i);case"base64":return I(this,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,i);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function x(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}function w(e,t,i,n,r){if(0===e.length)return-1;if("string"===typeof i?(n=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),i=+i,isNaN(i)&&(i=r?0:e.length-1),i<0&&(i=e.length+i),i>=e.length){if(r)return-1;i=e.length-1}else if(i<0){if(!r)return-1;i=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:_(e,t,i,n,r);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,i):Uint8Array.prototype.lastIndexOf.call(e,t,i):_(e,[t],i,n,r);throw new TypeError("val must be string, number or Buffer")}function _(e,t,i,n,r){var a,s=1,o=e.length,c=t.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,o/=2,c/=2,i/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var u=-1;for(a=i;a<o;a++)if(l(e,a)===l(t,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===c)return u*s}else-1!==u&&(a-=a-u),u=-1}else for(i+c>o&&(i=o-c),a=i;a>=0;a--){for(var h=!0,d=0;d<c;d++)if(l(e,a+d)!==l(t,d)){h=!1;break}if(h)return a}return-1}function A(e,t,i,n){i=Number(i)||0;var r=e.length-i;n?(n=Number(n),n>r&&(n=r)):n=r;var a=t.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var s=0;s<n;++s){var o=parseInt(t.substr(2*s,2),16);if(isNaN(o))return s;e[i+s]=o}return s}function E(e,t,i,n){return ee(Y(t,e.length-i),e,i,n)}function k(e,t,i,n){return ee(Z(t),e,i,n)}function M(e,t,i,n){return k(e,t,i,n)}function z(e,t,i,n){return ee(Q(t),e,i,n)}function T(e,t,i,n){return ee(J(t,e.length-i),e,i,n)}function I(e,t,i){return 0===t&&i===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,i))}function N(e,t,i){i=Math.min(e.length,i);var n=[],r=t;while(r<i){var a,s,o,c,l=e[r],u=null,h=l>239?4:l>223?3:l>191?2:1;if(r+h<=i)switch(h){case 1:l<128&&(u=l);break;case 2:a=e[r+1],128===(192&a)&&(c=(31&l)<<6|63&a,c>127&&(u=c));break;case 3:a=e[r+1],s=e[r+2],128===(192&a)&&128===(192&s)&&(c=(15&l)<<12|(63&a)<<6|63&s,c>2047&&(c<55296||c>57343)&&(u=c));break;case 4:a=e[r+1],s=e[r+2],o=e[r+3],128===(192&a)&&128===(192&s)&&128===(192&o)&&(c=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o,c>65535&&c<1114112&&(u=c))}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),r+=h}return P(n)}t.Buffer=l,t.SlowBuffer=b,t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:s(),t.kMaxLength=o(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,i){return u(null,e,t,i)},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(e,t,i){return d(null,e,t,i)},l.allocUnsafe=function(e){return f(null,e)},l.allocUnsafeSlow=function(e){return f(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var i=e.length,n=t.length,r=0,a=Math.min(i,n);r<a;++r)if(e[r]!==t[r]){i=e[r],n=t[r];break}return i<n?-1:n<i?1:0},l.isEncoding=function(e){switch(String(e).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(e,t){if(!a(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var i;if(void 0===t)for(t=0,i=0;i<e.length;++i)t+=e[i].length;var n=l.allocUnsafe(t),r=0;for(i=0;i<e.length;++i){var s=e[i];if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,r),r+=s.length}return n},l.byteLength=C,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)x(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)x(this,t,t+3),x(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)x(this,t,t+7),x(this,t+1,t+6),x(this,t+2,t+5),x(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?N(this,0,e):S.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",i=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,i).match(/.{2}/g).join(" "),this.length>i&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,i,n,r){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===i&&(i=e?e.length:0),void 0===n&&(n=0),void 0===r&&(r=this.length),t<0||i>e.length||n<0||r>this.length)throw new RangeError("out of range index");if(n>=r&&t>=i)return 0;if(n>=r)return-1;if(t>=i)return 1;if(t>>>=0,i>>>=0,n>>>=0,r>>>=0,this===e)return 0;for(var a=r-n,s=i-t,o=Math.min(a,s),c=this.slice(n,r),u=e.slice(t,i),h=0;h<o;++h)if(c[h]!==u[h]){a=c[h],s=u[h];break}return a<s?-1:s<a?1:0},l.prototype.includes=function(e,t,i){return-1!==this.indexOf(e,t,i)},l.prototype.indexOf=function(e,t,i){return w(this,e,t,i,!0)},l.prototype.lastIndexOf=function(e,t,i){return w(this,e,t,i,!1)},l.prototype.write=function(e,t,i,n){if(void 0===t)n="utf8",i=this.length,t=0;else if(void 0===i&&"string"===typeof t)n=t,i=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(i)?(i|=0,void 0===n&&(n="utf8")):(n=i,i=void 0)}var r=this.length-t;if((void 0===i||i>r)&&(i=r),e.length>0&&(i<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return A(this,e,t,i);case"utf8":case"utf-8":return E(this,e,t,i);case"ascii":return k(this,e,t,i);case"latin1":case"binary":return M(this,e,t,i);case"base64":return z(this,e,t,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function P(e){var t=e.length;if(t<=D)return String.fromCharCode.apply(String,e);var i="",n=0;while(n<t)i+=String.fromCharCode.apply(String,e.slice(n,n+=D));return i}function O(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;r<i;++r)n+=String.fromCharCode(127&e[r]);return n}function H(e,t,i){var n="";i=Math.min(e.length,i);for(var r=t;r<i;++r)n+=String.fromCharCode(e[r]);return n}function F(e,t,i){var n=e.length;(!t||t<0)&&(t=0),(!i||i<0||i>n)&&(i=n);for(var r="",a=t;a<i;++a)r+=G(e[a]);return r}function L(e,t,i){for(var n=e.slice(t,i),r="",a=0;a<n.length;a+=2)r+=String.fromCharCode(n[a]+256*n[a+1]);return r}function V(e,t,i){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>i)throw new RangeError("Trying to access beyond buffer length")}function R(e,t,i,n,r,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<a)throw new RangeError('"value" argument is out of bounds');if(i+n>e.length)throw new RangeError("Index out of range")}function B(e,t,i,n){t<0&&(t=65535+t+1);for(var r=0,a=Math.min(e.length-i,2);r<a;++r)e[i+r]=(t&255<<8*(n?r:1-r))>>>8*(n?r:1-r)}function j(e,t,i,n){t<0&&(t=4294967295+t+1);for(var r=0,a=Math.min(e.length-i,4);r<a;++r)e[i+r]=t>>>8*(n?r:3-r)&255}function $(e,t,i,n,r,a){if(i+n>e.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function K(e,t,i,n,a){return a||$(e,t,i,4,34028234663852886e22,-34028234663852886e22),r.write(e,t,i,n,23,4),i+4}function q(e,t,i,n,a){return a||$(e,t,i,8,17976931348623157e292,-17976931348623157e292),r.write(e,t,i,n,52,8),i+8}l.prototype.slice=function(e,t){var i,n=this.length;if(e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)i=this.subarray(e,t),i.__proto__=l.prototype;else{var r=t-e;i=new l(r,void 0);for(var a=0;a<r;++a)i[a]=this[a+e]}return i},l.prototype.readUIntLE=function(e,t,i){e|=0,t|=0,i||V(e,t,this.length);var n=this[e],r=1,a=0;while(++a<t&&(r*=256))n+=this[e+a]*r;return n},l.prototype.readUIntBE=function(e,t,i){e|=0,t|=0,i||V(e,t,this.length);var n=this[e+--t],r=1;while(t>0&&(r*=256))n+=this[e+--t]*r;return n},l.prototype.readUInt8=function(e,t){return t||V(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||V(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||V(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||V(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||V(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,i){e|=0,t|=0,i||V(e,t,this.length);var n=this[e],r=1,a=0;while(++a<t&&(r*=256))n+=this[e+a]*r;return r*=128,n>=r&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,i){e|=0,t|=0,i||V(e,t,this.length);var n=t,r=1,a=this[e+--n];while(n>0&&(r*=256))a+=this[e+--n]*r;return r*=128,a>=r&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||V(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||V(e,2,this.length);var i=this[e]|this[e+1]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt16BE=function(e,t){t||V(e,2,this.length);var i=this[e+1]|this[e]<<8;return 32768&i?4294901760|i:i},l.prototype.readInt32LE=function(e,t){return t||V(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||V(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||V(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||V(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||V(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||V(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,i,n){if(e=+e,t|=0,i|=0,!n){var r=Math.pow(2,8*i)-1;R(this,e,t,i,r,0)}var a=1,s=0;this[t]=255&e;while(++s<i&&(a*=256))this[t+s]=e/a&255;return t+i},l.prototype.writeUIntBE=function(e,t,i,n){if(e=+e,t|=0,i|=0,!n){var r=Math.pow(2,8*i)-1;R(this,e,t,i,r,0)}var a=i-1,s=1;this[t+a]=255&e;while(--a>=0&&(s*=256))this[t+a]=e/s&255;return t+i},l.prototype.writeUInt8=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):B(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):B(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):j(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):j(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,i,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*i-1);R(this,e,t,i,r-1,-r)}var a=0,s=1,o=0;this[t]=255&e;while(++a<i&&(s*=256))e<0&&0===o&&0!==this[t+a-1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+i},l.prototype.writeIntBE=function(e,t,i,n){if(e=+e,t|=0,!n){var r=Math.pow(2,8*i-1);R(this,e,t,i,r-1,-r)}var a=i-1,s=1,o=0;this[t+a]=255&e;while(--a>=0&&(s*=256))e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+i},l.prototype.writeInt8=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):B(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):B(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):j(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,i){return e=+e,t|=0,i||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):j(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,i){return K(this,e,t,!0,i)},l.prototype.writeFloatBE=function(e,t,i){return K(this,e,t,!1,i)},l.prototype.writeDoubleLE=function(e,t,i){return q(this,e,t,!0,i)},l.prototype.writeDoubleBE=function(e,t,i){return q(this,e,t,!1,i)},l.prototype.copy=function(e,t,i,n){if(i||(i=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<i&&(n=i),n===i)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(i<0||i>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-i&&(n=e.length-t+i);var r,a=n-i;if(this===e&&i<t&&t<n)for(r=a-1;r>=0;--r)e[r+t]=this[r+i];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(r=0;r<a;++r)e[r+t]=this[r+i];else Uint8Array.prototype.set.call(e,this.subarray(i,i+a),t);return a},l.prototype.fill=function(e,t,i,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,i=this.length):"string"===typeof i&&(n=i,i=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<i)throw new RangeError("Out of range index");if(i<=t)return this;var a;if(t>>>=0,i=void 0===i?this.length:i>>>0,e||(e=0),"number"===typeof e)for(a=t;a<i;++a)this[a]=e;else{var s=l.isBuffer(e)?e:Y(new l(e,n).toString()),o=s.length;for(a=0;a<i-t;++a)this[a+t]=s[a%o]}return this};var U=/[^+\/0-9A-Za-z-_]/g;function W(e){if(e=X(e).replace(U,""),e.length<2)return"";while(e.length%4!==0)e+="=";return e}function X(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function G(e){return e<16?"0"+e.toString(16):e.toString(16)}function Y(e,t){var i;t=t||1/0;for(var n=e.length,r=null,a=[],s=0;s<n;++s){if(i=e.charCodeAt(s),i>55295&&i<57344){if(!r){if(i>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}r=i;continue}if(i<56320){(t-=3)>-1&&a.push(239,191,189),r=i;continue}i=65536+(r-55296<<10|i-56320)}else r&&(t-=3)>-1&&a.push(239,191,189);if(r=null,i<128){if((t-=1)<0)break;a.push(i)}else if(i<2048){if((t-=2)<0)break;a.push(i>>6|192,63&i|128)}else if(i<65536){if((t-=3)<0)break;a.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return a}function Z(e){for(var t=[],i=0;i<e.length;++i)t.push(255&e.charCodeAt(i));return t}function J(e,t){for(var i,n,r,a=[],s=0;s<e.length;++s){if((t-=2)<0)break;i=e.charCodeAt(s),n=i>>8,r=i%256,a.push(r),a.push(n)}return a}function Q(e){return n.toByteArray(W(e))}function ee(e,t,i,n){for(var r=0;r<n;++r){if(r+i>=t.length||r>=e.length)break;t[r+i]=e[r]}return r}function te(e){return e!==e}}).call(this,i("c8ba"))},b64b:function(e,t,i){var n=i("23e7"),r=i("7b0b"),a=i("df75"),s=i("d039"),o=s((function(){a(1)}));n({target:"Object",stat:!0,forced:o},{keys:function(e){return a(r(e))}})},b680:function(e,t,i){"use strict";var n=i("23e7"),r=i("a691"),a=i("408a"),s=i("1148"),o=i("d039"),c=1..toFixed,l=Math.floor,u=function(e,t,i){return 0===t?i:t%2===1?u(e,t-1,i*e):u(e*e,t/2,i)},h=function(e){var t=0,i=e;while(i>=4096)t+=12,i/=4096;while(i>=2)t+=1,i/=2;return t},d=c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!o((function(){c.call({})}));n({target:"Number",proto:!0,forced:d},{toFixed:function(e){var t,i,n,o,c=a(this),d=r(e),f=[0,0,0,0,0,0],p="",m="0",v=function(e,t){var i=-1,n=t;while(++i<6)n+=e*f[i],f[i]=n%1e7,n=l(n/1e7)},g=function(e){var t=6,i=0;while(--t>=0)i+=f[t],f[t]=l(i/e),i=i%e*1e7},y=function(){var e=6,t="";while(--e>=0)if(""!==t||0===e||0!==f[e]){var i=String(f[e]);t=""===t?i:t+s.call("0",7-i.length)+i}return t};if(d<0||d>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(p="-",c=-c),c>1e-21)if(t=h(c*u(2,69,1))-69,i=t<0?c*u(2,-t,1):c/u(2,t,1),i*=4503599627370496,t=52-t,t>0){v(0,i),n=d;while(n>=7)v(1e7,0),n-=7;v(u(10,n,1),0),n=t-1;while(n>=23)g(1<<23),n-=23;g(1<<n),v(1,1),g(2),m=y()}else v(0,i),v(1<<-t,0),m=y()+s.call("0",d);return d>0?(o=m.length,m=p+(o<=d?"0."+s.call("0",d-o)+m:m.slice(0,o-d)+"."+m.slice(o-d))):m=p+m,m}})},b727:function(e,t,i){var n=i("0366"),r=i("44ad"),a=i("7b0b"),s=i("50c4"),o=i("65f0"),c=[].push,l=function(e){var t=1==e,i=2==e,l=3==e,u=4==e,h=6==e,d=5==e||h;return function(f,p,m,v){for(var g,y,b=a(f),C=r(b),S=n(p,m,3),x=s(C.length),w=0,_=v||o,A=t?_(f,x):i?_(f,0):void 0;x>w;w++)if((d||w in C)&&(g=C[w],y=S(g,w,b),e))if(t)A[w]=y;else if(y)switch(e){case 3:return!0;case 5:return g;case 6:return w;case 2:c.call(A,g)}else if(u)return!1;return h?-1:l||u?u:A}};e.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6)}},b85c:function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));i("a4d3"),i("e01a"),i("d28b"),i("d3b7"),i("3ca3"),i("ddb0");var n=i("06c5");function r(e,t){var i;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(i=Object(n["a"])(e))||t&&e&&"number"===typeof e.length){i&&(e=i);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 s,o=!0,c=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return o=e.done,e},e:function(e){c=!0,s=e},f:function(){try{o||null==i["return"]||i["return"]()}finally{if(c)throw s}}}}},b9c7:function(e,t,i){i("e507"),e.exports=i("5524").Object.assign},ba01:function(e,t,i){e.exports=i("051b")},baa5:function(e,t,i){var n=i("23e7"),r=i("e58c");n({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},bb2f:function(e,t,i){var n=i("d039");e.exports=!n((function(){return Object.isExtensible(Object.preventExtensions({}))}))},bc3a:function(e,t,i){e.exports=i("cee4")},bee2:function(e,t,i){"use strict";function n(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(e,t,i){return t&&n(e.prototype,t),i&&n(e,i),e}i.d(t,"a",(function(){return r}))},bf19:function(e,t,i){"use strict";var n=i("23e7");n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})},bf2c:function(e,t,i){i("caad");var n=i("b109");e.exports=n("Array","includes")},c04e:function(e,t,i){var n=i("861d");e.exports=function(e,t){if(!n(e))return e;var i,r;if(t&&"function"==typeof(i=e.toString)&&!n(r=i.call(e)))return r;if("function"==typeof(i=e.valueOf)&&!n(r=i.call(e)))return r;if(!t&&"function"==typeof(i=e.toString)&&!n(r=i.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},c074:function(e,t,i){"use strict";i.d(t,"a",(function(){return Pg}));var n={prefix:"fas",iconName:"ad",icon:[512,512,[],"f641","M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z"]},r={prefix:"fas",iconName:"address-book",icon:[448,512,[],"f2b9","M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},a={prefix:"fas",iconName:"address-card",icon:[576,512,[],"f2bb","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"]},s={prefix:"fas",iconName:"adjust",icon:[512,512,[],"f042","M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"]},o={prefix:"fas",iconName:"air-freshener",icon:[384,512,[],"f5d0","M378.94 321.41L284.7 224h49.22c15.3 0 23.66-16.6 13.86-27.53L234.45 69.96c3.43-6.61 5.55-14 5.55-21.96 0-26.51-21.49-48-48-48s-48 21.49-48 48c0 7.96 2.12 15.35 5.55 21.96L36.22 196.47C26.42 207.4 34.78 224 50.08 224H99.3L5.06 321.41C-6.69 333.56 3.34 352 21.7 352H160v32H48c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h288c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16H224v-32h138.3c18.36 0 28.39-18.44 16.64-30.59zM192 31.98c8.85 0 16.02 7.17 16.02 16.02 0 8.84-7.17 16.02-16.02 16.02S175.98 56.84 175.98 48c0-8.85 7.17-16.02 16.02-16.02zM304 432v32H80v-32h224z"]},c={prefix:"fas",iconName:"align-center",icon:[448,512,[],"f037","M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z"]},l={prefix:"fas",iconName:"align-justify",icon:[448,512,[],"f039","M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},u={prefix:"fas",iconName:"align-left",icon:[448,512,[],"f036","M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},h={prefix:"fas",iconName:"align-right",icon:[448,512,[],"f038","M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z"]},d={prefix:"fas",iconName:"allergies",icon:[448,512,[],"f461","M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},f={prefix:"fas",iconName:"ambulance",icon:[640,512,[],"f0f9","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},p={prefix:"fas",iconName:"american-sign-language-interpreting",icon:[640,512,[],"f2a3","M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z"]},m={prefix:"fas",iconName:"anchor",icon:[576,512,[],"f13d","M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z"]},v={prefix:"fas",iconName:"angle-double-down",icon:[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"]},g={prefix:"fas",iconName:"angle-double-left",icon:[448,512,[],"f100","M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"]},y={prefix:"fas",iconName:"angle-double-right",icon:[448,512,[],"f101","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"]},b={prefix:"fas",iconName:"angle-double-up",icon:[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"]},C={prefix:"fas",iconName:"angle-down",icon:[320,512,[],"f107","M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"]},S={prefix:"fas",iconName:"angle-left",icon:[256,512,[],"f104","M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"]},x={prefix:"fas",iconName:"angle-right",icon:[256,512,[],"f105","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"]},w={prefix:"fas",iconName:"angle-up",icon:[320,512,[],"f106","M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"]},_={prefix:"fas",iconName:"angry",icon:[496,512,[],"f556","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z"]},A={prefix:"fas",iconName:"ankh",icon:[320,512,[],"f644","M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z"]},E={prefix:"fas",iconName:"apple-alt",icon:[448,512,[],"f5d1","M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z"]},k={prefix:"fas",iconName:"archive",icon:[512,512,[],"f187","M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"]},M={prefix:"fas",iconName:"archway",icon:[576,512,[],"f557","M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"]},z={prefix:"fas",iconName:"arrow-alt-circle-down",icon:[512,512,[],"f358","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z"]},T={prefix:"fas",iconName:"arrow-alt-circle-left",icon:[512,512,[],"f359","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z"]},I={prefix:"fas",iconName:"arrow-alt-circle-right",icon:[512,512,[],"f35a","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z"]},N={prefix:"fas",iconName:"arrow-alt-circle-up",icon:[512,512,[],"f35b","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z"]},D={prefix:"fas",iconName:"arrow-circle-down",icon:[512,512,[],"f0ab","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z"]},P={prefix:"fas",iconName:"arrow-circle-left",icon:[512,512,[],"f0a8","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z"]},O={prefix:"fas",iconName:"arrow-circle-right",icon:[512,512,[],"f0a9","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z"]},H={prefix:"fas",iconName:"arrow-circle-up",icon:[512,512,[],"f0aa","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z"]},F={prefix:"fas",iconName:"arrow-down",icon:[448,512,[],"f063","M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"]},L={prefix:"fas",iconName:"arrow-left",icon:[448,512,[],"f060","M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"]},V={prefix:"fas",iconName:"arrow-right",icon:[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"]},R={prefix:"fas",iconName:"arrow-up",icon:[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"]},B={prefix:"fas",iconName:"arrows-alt",icon:[512,512,[],"f0b2","M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"]},j={prefix:"fas",iconName:"arrows-alt-h",icon:[512,512,[],"f337","M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z"]},$={prefix:"fas",iconName:"arrows-alt-v",icon:[256,512,[],"f338","M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z"]},K={prefix:"fas",iconName:"assistive-listening-systems",icon:[512,512,[],"f2a2","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z"]},q={prefix:"fas",iconName:"asterisk",icon:[512,512,[],"f069","M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"]},U={prefix:"fas",iconName:"at",icon:[512,512,[],"f1fa","M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z"]},W={prefix:"fas",iconName:"atlas",icon:[448,512,[],"f558","M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z"]},X={prefix:"fas",iconName:"atom",icon:[448,512,[],"f5d2","M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z"]},G={prefix:"fas",iconName:"audio-description",icon:[512,512,[],"f29e","M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z"]},Y={prefix:"fas",iconName:"award",icon:[384,512,[],"f559","M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z"]},Z={prefix:"fas",iconName:"baby",icon:[384,512,[],"f77c","M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z"]},J={prefix:"fas",iconName:"baby-carriage",icon:[512,512,[],"f77d","M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z"]},Q={prefix:"fas",iconName:"backspace",icon:[640,512,[],"f55a","M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z"]},ee={prefix:"fas",iconName:"backward",icon:[512,512,[],"f04a","M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"]},te={prefix:"fas",iconName:"bacon",icon:[576,512,[],"f7e5","M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z"]},ie={prefix:"fas",iconName:"bacteria",icon:[640,512,[],"e059","M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z"]},ne={prefix:"fas",iconName:"bacterium",icon:[512,512,[],"e05a","M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z"]},re={prefix:"fas",iconName:"bahai",icon:[512,512,[],"f666","M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z"]},ae={prefix:"fas",iconName:"balance-scale",icon:[640,512,[],"f24e","M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},se={prefix:"fas",iconName:"balance-scale-left",icon:[640,512,[],"f515","M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z"]},oe={prefix:"fas",iconName:"balance-scale-right",icon:[640,512,[],"f516","M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z"]},ce={prefix:"fas",iconName:"ban",icon:[512,512,[],"f05e","M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z"]},le={prefix:"fas",iconName:"band-aid",icon:[640,512,[],"f462","M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z"]},ue={prefix:"fas",iconName:"barcode",icon:[512,512,[],"f02a","M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z"]},he={prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},de={prefix:"fas",iconName:"baseball-ball",icon:[496,512,[],"f433","M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z"]},fe={prefix:"fas",iconName:"basketball-ball",icon:[496,512,[],"f434","M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z"]},pe={prefix:"fas",iconName:"bath",icon:[512,512,[],"f2cd","M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z"]},me={prefix:"fas",iconName:"battery-empty",icon:[640,512,[],"f244","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z"]},ve={prefix:"fas",iconName:"battery-full",icon:[640,512,[],"f240","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z"]},ge={prefix:"fas",iconName:"battery-half",icon:[640,512,[],"f242","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z"]},ye={prefix:"fas",iconName:"battery-quarter",icon:[640,512,[],"f243","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z"]},be={prefix:"fas",iconName:"battery-three-quarters",icon:[640,512,[],"f241","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z"]},Ce={prefix:"fas",iconName:"bed",icon:[640,512,[],"f236","M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z"]},Se={prefix:"fas",iconName:"beer",icon:[448,512,[],"f0fc","M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z"]},xe={prefix:"fas",iconName:"bell",icon:[448,512,[],"f0f3","M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z"]},we={prefix:"fas",iconName:"bell-slash",icon:[640,512,[],"f1f6","M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"]},_e={prefix:"fas",iconName:"bezier-curve",icon:[640,512,[],"f55b","M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},Ae={prefix:"fas",iconName:"bible",icon:[448,512,[],"f647","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},Ee={prefix:"fas",iconName:"bicycle",icon:[640,512,[],"f206","M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z"]},ke={prefix:"fas",iconName:"biking",icon:[640,512,[],"f84a","M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z"]},Me={prefix:"fas",iconName:"binoculars",icon:[512,512,[],"f1e5","M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z"]},ze={prefix:"fas",iconName:"biohazard",icon:[576,512,[],"f780","M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},Te={prefix:"fas",iconName:"birthday-cake",icon:[448,512,[],"f1fd","M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z"]},Ie={prefix:"fas",iconName:"blender",icon:[512,512,[],"f517","M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z"]},Ne={prefix:"fas",iconName:"blender-phone",icon:[576,512,[],"f6b6","M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},De={prefix:"fas",iconName:"blind",icon:[384,512,[],"f29d","M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z"]},Pe={prefix:"fas",iconName:"blog",icon:[512,512,[],"f781","M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z"]},Oe={prefix:"fas",iconName:"bold",icon:[384,512,[],"f032","M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z"]},He={prefix:"fas",iconName:"bolt",icon:[320,512,[],"f0e7","M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z"]},Fe={prefix:"fas",iconName:"bomb",icon:[512,512,[],"f1e2","M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z"]},Le={prefix:"fas",iconName:"bone",icon:[640,512,[],"f5d7","M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z"]},Ve={prefix:"fas",iconName:"bong",icon:[448,512,[],"f55c","M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z"]},Re={prefix:"fas",iconName:"book",icon:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"]},Be={prefix:"fas",iconName:"book-dead",icon:[448,512,[],"f6b7","M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z"]},je={prefix:"fas",iconName:"book-medical",icon:[448,512,[],"f7e6","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z"]},$e={prefix:"fas",iconName:"book-open",icon:[576,512,[],"f518","M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z"]},Ke={prefix:"fas",iconName:"book-reader",icon:[512,512,[],"f5da","M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z"]},qe={prefix:"fas",iconName:"bookmark",icon:[384,512,[],"f02e","M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"]},Ue={prefix:"fas",iconName:"border-all",icon:[448,512,[],"f84c","M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z"]},We={prefix:"fas",iconName:"border-none",icon:[448,512,[],"f850","M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Xe={prefix:"fas",iconName:"border-style",icon:[448,512,[],"f853","M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Ge={prefix:"fas",iconName:"bowling-ball",icon:[496,512,[],"f436","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Ye={prefix:"fas",iconName:"box",icon:[512,512,[],"f466","M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z"]},Ze={prefix:"fas",iconName:"box-open",icon:[640,512,[],"f49e","M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z"]},Je={prefix:"fas",iconName:"box-tissue",icon:[512,512,[],"e05b","M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z"]},Qe={prefix:"fas",iconName:"boxes",icon:[576,512,[],"f468","M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z"]},et={prefix:"fas",iconName:"braille",icon:[640,512,[],"f2a1","M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"]},tt={prefix:"fas",iconName:"brain",icon:[576,512,[],"f5dc","M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z"]},it={prefix:"fas",iconName:"bread-slice",icon:[576,512,[],"f7ec","M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z"]},nt={prefix:"fas",iconName:"briefcase",icon:[512,512,[],"f0b1","M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z"]},rt={prefix:"fas",iconName:"briefcase-medical",icon:[512,512,[],"f469","M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z"]},at={prefix:"fas",iconName:"broadcast-tower",icon:[640,512,[],"f519","M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z"]},st={prefix:"fas",iconName:"broom",icon:[640,512,[],"f51a","M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z"]},ot={prefix:"fas",iconName:"brush",icon:[384,512,[],"f55d","M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z"]},ct={prefix:"fas",iconName:"bug",icon:[512,512,[],"f188","M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"]},lt={prefix:"fas",iconName:"building",icon:[448,512,[],"f1ad","M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z"]},ut={prefix:"fas",iconName:"bullhorn",icon:[576,512,[],"f0a1","M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z"]},ht={prefix:"fas",iconName:"bullseye",icon:[496,512,[],"f140","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z"]},dt={prefix:"fas",iconName:"burn",icon:[384,512,[],"f46a","M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z"]},ft={prefix:"fas",iconName:"bus",icon:[512,512,[],"f207","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},pt={prefix:"fas",iconName:"bus-alt",icon:[512,512,[],"f55e","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},mt={prefix:"fas",iconName:"business-time",icon:[640,512,[],"f64a","M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z"]},vt={prefix:"fas",iconName:"calculator",icon:[448,512,[],"f1ec","M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z"]},gt={prefix:"fas",iconName:"calendar",icon:[448,512,[],"f133","M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z"]},yt={prefix:"fas",iconName:"calendar-alt",icon:[448,512,[],"f073","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"]},bt={prefix:"fas",iconName:"calendar-check",icon:[448,512,[],"f274","M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z"]},Ct={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"]},St={prefix:"fas",iconName:"calendar-minus",icon:[448,512,[],"f272","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z"]},xt={prefix:"fas",iconName:"calendar-plus",icon:[448,512,[],"f271","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z"]},wt={prefix:"fas",iconName:"calendar-times",icon:[448,512,[],"f273","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z"]},_t={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z"]},At={prefix:"fas",iconName:"camera",icon:[512,512,[],"f030","M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z"]},Et={prefix:"fas",iconName:"camera-retro",icon:[512,512,[],"f083","M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z"]},kt={prefix:"fas",iconName:"campground",icon:[640,512,[],"f6bb","M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z"]},Mt={prefix:"fas",iconName:"candy-cane",icon:[512,512,[],"f786","M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z"]},zt={prefix:"fas",iconName:"cannabis",icon:[512,512,[],"f55f","M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z"]},Tt={prefix:"fas",iconName:"capsules",icon:[576,512,[],"f46b","M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z"]},It={prefix:"fas",iconName:"car",icon:[512,512,[],"f1b9","M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"]},Nt={prefix:"fas",iconName:"car-alt",icon:[480,512,[],"f5de","M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"]},Dt={prefix:"fas",iconName:"car-battery",icon:[512,512,[],"f5df","M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z"]},Pt={prefix:"fas",iconName:"car-crash",icon:[640,512,[],"f5e1","M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z"]},Ot={prefix:"fas",iconName:"car-side",icon:[640,512,[],"f5e4","M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"]},Ht={prefix:"fas",iconName:"caravan",icon:[640,512,[],"f8ff","M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z"]},Ft={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"]},Lt={prefix:"fas",iconName:"caret-left",icon:[192,512,[],"f0d9","M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"]},Vt={prefix:"fas",iconName:"caret-right",icon:[192,512,[],"f0da","M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"]},Rt={prefix:"fas",iconName:"caret-square-down",icon:[448,512,[],"f150","M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z"]},Bt={prefix:"fas",iconName:"caret-square-left",icon:[448,512,[],"f191","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z"]},jt={prefix:"fas",iconName:"caret-square-right",icon:[448,512,[],"f152","M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z"]},$t={prefix:"fas",iconName:"caret-square-up",icon:[448,512,[],"f151","M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z"]},Kt={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"]},qt={prefix:"fas",iconName:"carrot",icon:[512,512,[],"f787","M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z"]},Ut={prefix:"fas",iconName:"cart-arrow-down",icon:[576,512,[],"f218","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z"]},Wt={prefix:"fas",iconName:"cart-plus",icon:[576,512,[],"f217","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z"]},Xt={prefix:"fas",iconName:"cash-register",icon:[512,512,[],"f788","M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z"]},Gt={prefix:"fas",iconName:"cat",icon:[512,512,[],"f6be","M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Yt={prefix:"fas",iconName:"certificate",icon:[512,512,[],"f0a3","M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z"]},Zt={prefix:"fas",iconName:"chair",icon:[448,512,[],"f6c0","M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z"]},Jt={prefix:"fas",iconName:"chalkboard",icon:[640,512,[],"f51b","M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},Qt={prefix:"fas",iconName:"chalkboard-teacher",icon:[640,512,[],"f51c","M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z"]},ei={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z"]},ti={prefix:"fas",iconName:"chart-area",icon:[512,512,[],"f1fe","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z"]},ii={prefix:"fas",iconName:"chart-bar",icon:[512,512,[],"f080","M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},ni={prefix:"fas",iconName:"chart-line",icon:[512,512,[],"f201","M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z"]},ri={prefix:"fas",iconName:"chart-pie",icon:[544,512,[],"f200","M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"]},ai={prefix:"fas",iconName:"check",icon:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"]},si={prefix:"fas",iconName:"check-circle",icon:[512,512,[],"f058","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"]},oi={prefix:"fas",iconName:"check-double",icon:[512,512,[],"f560","M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z"]},ci={prefix:"fas",iconName:"check-square",icon:[448,512,[],"f14a","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"]},li={prefix:"fas",iconName:"cheese",icon:[512,512,[],"f7ef","M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z"]},ui={prefix:"fas",iconName:"chess",icon:[512,512,[],"f439","M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z"]},hi={prefix:"fas",iconName:"chess-bishop",icon:[320,512,[],"f43a","M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},di={prefix:"fas",iconName:"chess-board",icon:[512,512,[],"f43c","M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z"]},fi={prefix:"fas",iconName:"chess-king",icon:[448,512,[],"f43f","M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z"]},pi={prefix:"fas",iconName:"chess-knight",icon:[384,512,[],"f441","M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},mi={prefix:"fas",iconName:"chess-pawn",icon:[320,512,[],"f443","M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},vi={prefix:"fas",iconName:"chess-queen",icon:[512,512,[],"f445","M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z"]},gi={prefix:"fas",iconName:"chess-rook",icon:[384,512,[],"f447","M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},yi={prefix:"fas",iconName:"chevron-circle-down",icon:[512,512,[],"f13a","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z"]},bi={prefix:"fas",iconName:"chevron-circle-left",icon:[512,512,[],"f137","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z"]},Ci={prefix:"fas",iconName:"chevron-circle-right",icon:[512,512,[],"f138","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"]},Si={prefix:"fas",iconName:"chevron-circle-up",icon:[512,512,[],"f139","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z"]},xi={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"]},wi={prefix:"fas",iconName:"chevron-left",icon:[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"]},_i={prefix:"fas",iconName:"chevron-right",icon:[320,512,[],"f054","M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"]},Ai={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"]},Ei={prefix:"fas",iconName:"child",icon:[384,512,[],"f1ae","M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z"]},ki={prefix:"fas",iconName:"church",icon:[640,512,[],"f51d","M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z"]},Mi={prefix:"fas",iconName:"circle",icon:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"]},zi={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z"]},Ti={prefix:"fas",iconName:"city",icon:[640,512,[],"f64f","M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z"]},Ii={prefix:"fas",iconName:"clinic-medical",icon:[576,512,[],"f7f2","M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z"]},Ni={prefix:"fas",iconName:"clipboard",icon:[384,512,[],"f328","M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z"]},Di={prefix:"fas",iconName:"clipboard-check",icon:[384,512,[],"f46c","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z"]},Pi={prefix:"fas",iconName:"clipboard-list",icon:[384,512,[],"f46d","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"]},Oi={prefix:"fas",iconName:"clock",icon:[512,512,[],"f017","M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"]},Hi={prefix:"fas",iconName:"clone",icon:[512,512,[],"f24d","M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z"]},Fi={prefix:"fas",iconName:"closed-captioning",icon:[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z"]},Li={prefix:"fas",iconName:"cloud",icon:[640,512,[],"f0c2","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z"]},Vi={prefix:"fas",iconName:"cloud-download-alt",icon:[640,512,[],"f381","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z"]},Ri={prefix:"fas",iconName:"cloud-meatball",icon:[512,512,[],"f73b","M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z"]},Bi={prefix:"fas",iconName:"cloud-moon",icon:[576,512,[],"f6c3","M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z"]},ji={prefix:"fas",iconName:"cloud-moon-rain",icon:[576,512,[],"f73c","M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z"]},$i={prefix:"fas",iconName:"cloud-rain",icon:[512,512,[],"f73d","M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z"]},Ki={prefix:"fas",iconName:"cloud-showers-heavy",icon:[512,512,[],"f740","M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z"]},qi={prefix:"fas",iconName:"cloud-sun",icon:[640,512,[],"f6c4","M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z"]},Ui={prefix:"fas",iconName:"cloud-sun-rain",icon:[576,512,[],"f743","M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z"]},Wi={prefix:"fas",iconName:"cloud-upload-alt",icon:[640,512,[],"f382","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z"]},Xi={prefix:"fas",iconName:"cocktail",icon:[576,512,[],"f561","M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z"]},Gi={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"]},Yi={prefix:"fas",iconName:"code-branch",icon:[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"]},Zi={prefix:"fas",iconName:"coffee",icon:[640,512,[],"f0f4","M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z"]},Ji={prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Qi={prefix:"fas",iconName:"cogs",icon:[640,512,[],"f085","M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"]},en={prefix:"fas",iconName:"coins",icon:[512,512,[],"f51e","M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z"]},tn={prefix:"fas",iconName:"columns",icon:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"]},nn={prefix:"fas",iconName:"comment",icon:[512,512,[],"f075","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z"]},rn={prefix:"fas",iconName:"comment-alt",icon:[512,512,[],"f27a","M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"]},an={prefix:"fas",iconName:"comment-dollar",icon:[512,512,[],"f651","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z"]},sn={prefix:"fas",iconName:"comment-dots",icon:[512,512,[],"f4ad","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},on={prefix:"fas",iconName:"comment-medical",icon:[512,512,[],"f7f5","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z"]},cn={prefix:"fas",iconName:"comment-slash",icon:[640,512,[],"f4b3","M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"]},ln={prefix:"fas",iconName:"comments",icon:[576,512,[],"f086","M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z"]},un={prefix:"fas",iconName:"comments-dollar",icon:[576,512,[],"f653","M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z"]},hn={prefix:"fas",iconName:"compact-disc",icon:[496,512,[],"f51f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},dn={prefix:"fas",iconName:"compass",icon:[496,512,[],"f14e","M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z"]},fn={prefix:"fas",iconName:"compress",icon:[448,512,[],"f066","M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"]},pn={prefix:"fas",iconName:"compress-alt",icon:[448,512,[],"f422","M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z"]},mn={prefix:"fas",iconName:"compress-arrows-alt",icon:[512,512,[],"f78c","M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"]},vn={prefix:"fas",iconName:"concierge-bell",icon:[512,512,[],"f562","M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},gn={prefix:"fas",iconName:"cookie",icon:[512,512,[],"f563","M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},yn={prefix:"fas",iconName:"cookie-bite",icon:[512,512,[],"f564","M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},bn={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},Cn={prefix:"fas",iconName:"copyright",icon:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z"]},Sn={prefix:"fas",iconName:"couch",icon:[640,512,[],"f4b8","M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z"]},xn={prefix:"fas",iconName:"credit-card",icon:[576,512,[],"f09d","M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z"]},wn={prefix:"fas",iconName:"crop",icon:[512,512,[],"f125","M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},_n={prefix:"fas",iconName:"crop-alt",icon:[512,512,[],"f565","M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z"]},An={prefix:"fas",iconName:"cross",icon:[384,512,[],"f654","M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},En={prefix:"fas",iconName:"crosshairs",icon:[512,512,[],"f05b","M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"]},kn={prefix:"fas",iconName:"crow",icon:[640,512,[],"f520","M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Mn={prefix:"fas",iconName:"crown",icon:[640,512,[],"f521","M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z"]},zn={prefix:"fas",iconName:"crutch",icon:[512,512,[],"f7f7","M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z"]},Tn={prefix:"fas",iconName:"cube",icon:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"]},In={prefix:"fas",iconName:"cubes",icon:[512,512,[],"f1b3","M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"]},Nn={prefix:"fas",iconName:"cut",icon:[448,512,[],"f0c4","M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"]},Dn={prefix:"fas",iconName:"database",icon:[448,512,[],"f1c0","M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"]},Pn={prefix:"fas",iconName:"deaf",icon:[512,512,[],"f2a4","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z"]},On={prefix:"fas",iconName:"democrat",icon:[640,512,[],"f747","M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z"]},Hn={prefix:"fas",iconName:"desktop",icon:[576,512,[],"f108","M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"]},Fn={prefix:"fas",iconName:"dharmachakra",icon:[512,512,[],"f655","M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z"]},Ln={prefix:"fas",iconName:"diagnoses",icon:[640,512,[],"f470","M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},Vn={prefix:"fas",iconName:"dice",icon:[640,512,[],"f522","M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Rn={prefix:"fas",iconName:"dice-d20",icon:[480,512,[],"f6cf","M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z"]},Bn={prefix:"fas",iconName:"dice-d6",icon:[448,512,[],"f6d1","M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z"]},jn={prefix:"fas",iconName:"dice-five",icon:[448,512,[],"f523","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},$n={prefix:"fas",iconName:"dice-four",icon:[448,512,[],"f524","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Kn={prefix:"fas",iconName:"dice-one",icon:[448,512,[],"f525","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},qn={prefix:"fas",iconName:"dice-six",icon:[448,512,[],"f526","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Un={prefix:"fas",iconName:"dice-three",icon:[448,512,[],"f527","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Wn={prefix:"fas",iconName:"dice-two",icon:[448,512,[],"f528","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Xn={prefix:"fas",iconName:"digital-tachograph",icon:[640,512,[],"f566","M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z"]},Gn={prefix:"fas",iconName:"directions",icon:[512,512,[],"f5eb","M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z"]},Yn={prefix:"fas",iconName:"disease",icon:[512,512,[],"f7fa","M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z"]},Zn={prefix:"fas",iconName:"divide",icon:[448,512,[],"f529","M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Jn={prefix:"fas",iconName:"dizzy",icon:[496,512,[],"f567","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z"]},Qn={prefix:"fas",iconName:"dna",icon:[448,512,[],"f471","M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z"]},er={prefix:"fas",iconName:"dog",icon:[576,512,[],"f6d3","M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z"]},tr={prefix:"fas",iconName:"dollar-sign",icon:[288,512,[],"f155","M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z"]},ir={prefix:"fas",iconName:"dolly",icon:[576,512,[],"f472","M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},nr={prefix:"fas",iconName:"dolly-flatbed",icon:[640,512,[],"f474","M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},rr={prefix:"fas",iconName:"donate",icon:[512,512,[],"f4b9","M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z"]},ar={prefix:"fas",iconName:"door-closed",icon:[640,512,[],"f52a","M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z"]},sr={prefix:"fas",iconName:"door-open",icon:[640,512,[],"f52b","M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"]},or={prefix:"fas",iconName:"dot-circle",icon:[512,512,[],"f192","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z"]},cr={prefix:"fas",iconName:"dove",icon:[512,512,[],"f4ba","M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},lr={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},ur={prefix:"fas",iconName:"drafting-compass",icon:[512,512,[],"f568","M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z"]},hr={prefix:"fas",iconName:"dragon",icon:[640,512,[],"f6d5","M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z"]},dr={prefix:"fas",iconName:"draw-polygon",icon:[448,512,[],"f5ee","M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z"]},fr={prefix:"fas",iconName:"drum",icon:[512,512,[],"f569","M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z"]},pr={prefix:"fas",iconName:"drum-steelpan",icon:[576,512,[],"f56a","M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z"]},mr={prefix:"fas",iconName:"drumstick-bite",icon:[512,512,[],"f6d7","M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z"]},vr={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z"]},gr={prefix:"fas",iconName:"dumpster",icon:[576,512,[],"f793","M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},yr={prefix:"fas",iconName:"dumpster-fire",icon:[640,512,[],"f794","M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z"]},br={prefix:"fas",iconName:"dungeon",icon:[512,512,[],"f6d9","M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z"]},Cr={prefix:"fas",iconName:"edit",icon:[576,512,[],"f044","M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z"]},Sr={prefix:"fas",iconName:"egg",icon:[384,512,[],"f7fb","M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z"]},xr={prefix:"fas",iconName:"eject",icon:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"]},wr={prefix:"fas",iconName:"ellipsis-h",icon:[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"]},_r={prefix:"fas",iconName:"ellipsis-v",icon:[192,512,[],"f142","M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"]},Ar={prefix:"fas",iconName:"envelope",icon:[512,512,[],"f0e0","M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"]},Er={prefix:"fas",iconName:"envelope-open",icon:[512,512,[],"f2b6","M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z"]},kr={prefix:"fas",iconName:"envelope-open-text",icon:[512,512,[],"f658","M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z"]},Mr={prefix:"fas",iconName:"envelope-square",icon:[448,512,[],"f199","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z"]},zr={prefix:"fas",iconName:"equals",icon:[448,512,[],"f52c","M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Tr={prefix:"fas",iconName:"eraser",icon:[512,512,[],"f12d","M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"]},Ir={prefix:"fas",iconName:"ethernet",icon:[512,512,[],"f796","M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z"]},Nr={prefix:"fas",iconName:"euro-sign",icon:[320,512,[],"f153","M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z"]},Dr={prefix:"fas",iconName:"exchange-alt",icon:[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"]},Pr={prefix:"fas",iconName:"exclamation",icon:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"]},Or={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},Hr={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},Fr={prefix:"fas",iconName:"expand",icon:[448,512,[],"f065","M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"]},Lr={prefix:"fas",iconName:"expand-alt",icon:[448,512,[],"f424","M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z"]},Vr={prefix:"fas",iconName:"expand-arrows-alt",icon:[448,512,[],"f31e","M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"]},Rr={prefix:"fas",iconName:"external-link-alt",icon:[512,512,[],"f35d","M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"]},Br={prefix:"fas",iconName:"external-link-square-alt",icon:[448,512,[],"f360","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z"]},jr={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"]},$r={prefix:"fas",iconName:"eye-dropper",icon:[512,512,[],"f1fb","M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"]},Kr={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"]},qr={prefix:"fas",iconName:"fan",icon:[512,512,[],"f863","M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"]},Ur={prefix:"fas",iconName:"fast-backward",icon:[512,512,[],"f049","M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z"]},Wr={prefix:"fas",iconName:"fast-forward",icon:[512,512,[],"f050","M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z"]},Xr={prefix:"fas",iconName:"faucet",icon:[512,512,[],"e005","M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z"]},Gr={prefix:"fas",iconName:"fax",icon:[512,512,[],"f1ac","M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z"]},Yr={prefix:"fas",iconName:"feather",icon:[512,512,[],"f52d","M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z"]},Zr={prefix:"fas",iconName:"feather-alt",icon:[512,512,[],"f56b","M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z"]},Jr={prefix:"fas",iconName:"female",icon:[256,512,[],"f182","M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z"]},Qr={prefix:"fas",iconName:"fighter-jet",icon:[640,512,[],"f0fb","M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z"]},ea={prefix:"fas",iconName:"file",icon:[384,512,[],"f15b","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},ta={prefix:"fas",iconName:"file-alt",icon:[384,512,[],"f15c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},ia={prefix:"fas",iconName:"file-archive",icon:[384,512,[],"f1c6","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z"]},na={prefix:"fas",iconName:"file-audio",icon:[384,512,[],"f1c7","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},ra={prefix:"fas",iconName:"file-code",icon:[384,512,[],"f1c9","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"]},aa={prefix:"fas",iconName:"file-contract",icon:[384,512,[],"f56c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},sa={prefix:"fas",iconName:"file-csv",icon:[384,512,[],"f6dd","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},oa={prefix:"fas",iconName:"file-download",icon:[384,512,[],"f56d","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},ca={prefix:"fas",iconName:"file-excel",icon:[384,512,[],"f1c3","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},la={prefix:"fas",iconName:"file-export",icon:[576,512,[],"f56e","M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"]},ua={prefix:"fas",iconName:"file-image",icon:[384,512,[],"f1c5","M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z"]},ha={prefix:"fas",iconName:"file-import",icon:[512,512,[],"f56f","M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"]},da={prefix:"fas",iconName:"file-invoice",icon:[384,512,[],"f570","M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z"]},fa={prefix:"fas",iconName:"file-invoice-dollar",icon:[384,512,[],"f571","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z"]},pa={prefix:"fas",iconName:"file-medical",icon:[384,512,[],"f477","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z"]},ma={prefix:"fas",iconName:"file-medical-alt",icon:[448,512,[],"f478","M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},va={prefix:"fas",iconName:"file-pdf",icon:[384,512,[],"f1c1","M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"]},ga={prefix:"fas",iconName:"file-powerpoint",icon:[384,512,[],"f1c4","M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"]},ya={prefix:"fas",iconName:"file-prescription",icon:[384,512,[],"f572","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},ba={prefix:"fas",iconName:"file-signature",icon:[576,512,[],"f573","M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z"]},Ca={prefix:"fas",iconName:"file-upload",icon:[384,512,[],"f574","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},Sa={prefix:"fas",iconName:"file-video",icon:[384,512,[],"f1c8","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z"]},xa={prefix:"fas",iconName:"file-word",icon:[384,512,[],"f1c2","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},wa={prefix:"fas",iconName:"fill",icon:[512,512,[],"f575","M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z"]},_a={prefix:"fas",iconName:"fill-drip",icon:[576,512,[],"f576","M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"]},Aa={prefix:"fas",iconName:"film",icon:[512,512,[],"f008","M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"]},Ea={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"]},ka={prefix:"fas",iconName:"fingerprint",icon:[512,512,[],"f577","M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z"]},Ma={prefix:"fas",iconName:"fire",icon:[384,512,[],"f06d","M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z"]},za={prefix:"fas",iconName:"fire-alt",icon:[448,512,[],"f7e4","M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z"]},Ta={prefix:"fas",iconName:"fire-extinguisher",icon:[448,512,[],"f134","M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z"]},Ia={prefix:"fas",iconName:"first-aid",icon:[576,512,[],"f479","M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},Na={prefix:"fas",iconName:"fish",icon:[576,512,[],"f578","M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"]},Da={prefix:"fas",iconName:"fist-raised",icon:[384,512,[],"f6de","M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z"]},Pa={prefix:"fas",iconName:"flag",icon:[512,512,[],"f024","M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"]},Oa={prefix:"fas",iconName:"flag-checkered",icon:[512,512,[],"f11e","M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"]},Ha={prefix:"fas",iconName:"flag-usa",icon:[512,512,[],"f74d","M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z"]},Fa={prefix:"fas",iconName:"flask",icon:[448,512,[],"f0c3","M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"]},La={prefix:"fas",iconName:"flushed",icon:[496,512,[],"f579","M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z"]},Va={prefix:"fas",iconName:"folder",icon:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"]},Ra={prefix:"fas",iconName:"folder-minus",icon:[512,512,[],"f65d","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z"]},Ba={prefix:"fas",iconName:"folder-open",icon:[576,512,[],"f07c","M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"]},ja={prefix:"fas",iconName:"folder-plus",icon:[512,512,[],"f65e","M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z"]},$a={prefix:"fas",iconName:"font",icon:[448,512,[],"f031","M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"]},Ka={prefix:"fas",iconName:"font-awesome-logo-full",icon:[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"]},qa={prefix:"fas",iconName:"football-ball",icon:[496,512,[],"f44e","M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z"]},Ua={prefix:"fas",iconName:"forward",icon:[512,512,[],"f04e","M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"]},Wa={prefix:"fas",iconName:"frog",icon:[576,512,[],"f52e","M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"]},Xa={prefix:"fas",iconName:"frown",icon:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z"]},Ga={prefix:"fas",iconName:"frown-open",icon:[496,512,[],"f57a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Ya={prefix:"fas",iconName:"funnel-dollar",icon:[640,512,[],"f662","M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z"]},Za={prefix:"fas",iconName:"futbol",icon:[512,512,[],"f1e3","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z"]},Ja={prefix:"fas",iconName:"gamepad",icon:[640,512,[],"f11b","M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z"]},Qa={prefix:"fas",iconName:"gas-pump",icon:[512,512,[],"f52f","M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z"]},es={prefix:"fas",iconName:"gavel",icon:[512,512,[],"f0e3","M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z"]},ts={prefix:"fas",iconName:"gem",icon:[576,512,[],"f3a5","M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z"]},is={prefix:"fas",iconName:"genderless",icon:[288,512,[],"f22d","M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z"]},ns={prefix:"fas",iconName:"ghost",icon:[384,512,[],"f6e2","M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},rs={prefix:"fas",iconName:"gift",icon:[512,512,[],"f06b","M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z"]},as={prefix:"fas",iconName:"gifts",icon:[640,512,[],"f79c","M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z"]},ss={prefix:"fas",iconName:"glass-cheers",icon:[640,512,[],"f79f","M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z"]},os={prefix:"fas",iconName:"glass-martini",icon:[512,512,[],"f000","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z"]},cs={prefix:"fas",iconName:"glass-martini-alt",icon:[512,512,[],"f57b","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z"]},ls={prefix:"fas",iconName:"glass-whiskey",icon:[512,512,[],"f7a0","M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z"]},us={prefix:"fas",iconName:"glasses",icon:[576,512,[],"f530","M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z"]},hs={prefix:"fas",iconName:"globe",icon:[496,512,[],"f0ac","M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"]},ds={prefix:"fas",iconName:"globe-africa",icon:[496,512,[],"f57c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z"]},fs={prefix:"fas",iconName:"globe-americas",icon:[496,512,[],"f57d","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z"]},ps={prefix:"fas",iconName:"globe-asia",icon:[496,512,[],"f57e","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z"]},ms={prefix:"fas",iconName:"globe-europe",icon:[496,512,[],"f7a2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z"]},vs={prefix:"fas",iconName:"golf-ball",icon:[416,512,[],"f450","M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z"]},gs={prefix:"fas",iconName:"gopuram",icon:[512,512,[],"f664","M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z"]},ys={prefix:"fas",iconName:"graduation-cap",icon:[640,512,[],"f19d","M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z"]},bs={prefix:"fas",iconName:"greater-than",icon:[384,512,[],"f531","M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z"]},Cs={prefix:"fas",iconName:"greater-than-equal",icon:[448,512,[],"f532","M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},Ss={prefix:"fas",iconName:"grimace",icon:[496,512,[],"f57f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z"]},xs={prefix:"fas",iconName:"grin",icon:[496,512,[],"f580","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},ws={prefix:"fas",iconName:"grin-alt",icon:[496,512,[],"f581","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},_s={prefix:"fas",iconName:"grin-beam",icon:[496,512,[],"f582","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},As={prefix:"fas",iconName:"grin-beam-sweat",icon:[504,512,[],"f583","M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Es={prefix:"fas",iconName:"grin-hearts",icon:[496,512,[],"f584","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z"]},ks={prefix:"fas",iconName:"grin-squint",icon:[496,512,[],"f585","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Ms={prefix:"fas",iconName:"grin-squint-tears",icon:[512,512,[],"f586","M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z"]},zs={prefix:"fas",iconName:"grin-stars",icon:[496,512,[],"f587","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"]},Ts={prefix:"fas",iconName:"grin-tears",icon:[640,512,[],"f588","M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Is={prefix:"fas",iconName:"grin-tongue",icon:[496,512,[],"f589","M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"]},Ns={prefix:"fas",iconName:"grin-tongue-squint",icon:[496,512,[],"f58a","M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z"]},Ds={prefix:"fas",iconName:"grin-tongue-wink",icon:[496,512,[],"f58b","M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"]},Ps={prefix:"fas",iconName:"grin-wink",icon:[496,512,[],"f58c","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z"]},Os={prefix:"fas",iconName:"grip-horizontal",icon:[448,512,[],"f58d","M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},Hs={prefix:"fas",iconName:"grip-lines",icon:[512,512,[],"f7a4","M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},Fs={prefix:"fas",iconName:"grip-lines-vertical",icon:[256,512,[],"f7a5","M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z"]},Ls={prefix:"fas",iconName:"grip-vertical",icon:[320,512,[],"f58e","M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},Vs={prefix:"fas",iconName:"guitar",icon:[512,512,[],"f7a6","M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z"]},Rs={prefix:"fas",iconName:"h-square",icon:[448,512,[],"f0fd","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z"]},Bs={prefix:"fas",iconName:"hamburger",icon:[512,512,[],"f805","M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z"]},js={prefix:"fas",iconName:"hammer",icon:[576,512,[],"f6e3","M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z"]},$s={prefix:"fas",iconName:"hamsa",icon:[512,512,[],"f665","M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},Ks={prefix:"fas",iconName:"hand-holding",icon:[576,512,[],"f4bd","M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},qs={prefix:"fas",iconName:"hand-holding-heart",icon:[576,512,[],"f4be","M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Us={prefix:"fas",iconName:"hand-holding-medical",icon:[576,512,[],"e05c","M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z"]},Ws={prefix:"fas",iconName:"hand-holding-usd",icon:[576,512,[],"f4c0","M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z"]},Xs={prefix:"fas",iconName:"hand-holding-water",icon:[576,512,[],"f4c1","M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Gs={prefix:"fas",iconName:"hand-lizard",icon:[576,512,[],"f258","M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z"]},Ys={prefix:"fas",iconName:"hand-middle-finger",icon:[512,512,[],"f806","M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z"]},Zs={prefix:"fas",iconName:"hand-paper",icon:[448,512,[],"f256","M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z"]},Js={prefix:"fas",iconName:"hand-peace",icon:[448,512,[],"f25b","M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z"]},Qs={prefix:"fas",iconName:"hand-point-down",icon:[384,512,[],"f0a7","M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"]},eo={prefix:"fas",iconName:"hand-point-left",icon:[512,512,[],"f0a5","M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z"]},to={prefix:"fas",iconName:"hand-point-right",icon:[512,512,[],"f0a4","M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"]},io={prefix:"fas",iconName:"hand-point-up",icon:[384,512,[],"f0a6","M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"]},no={prefix:"fas",iconName:"hand-pointer",icon:[448,512,[],"f25a","M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z"]},ro={prefix:"fas",iconName:"hand-rock",icon:[512,512,[],"f255","M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z"]},ao={prefix:"fas",iconName:"hand-scissors",icon:[512,512,[],"f257","M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z"]},so={prefix:"fas",iconName:"hand-sparkles",icon:[640,512,[],"e05d","M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z"]},oo={prefix:"fas",iconName:"hand-spock",icon:[512,512,[],"f259","M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z"]},co={prefix:"fas",iconName:"hands",icon:[640,512,[],"f4c2","M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z"]},lo={prefix:"fas",iconName:"hands-helping",icon:[640,512,[],"f4c4","M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z"]},uo={prefix:"fas",iconName:"hands-wash",icon:[576,512,[],"e05e","M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z"]},ho={prefix:"fas",iconName:"handshake",icon:[640,512,[],"f2b5","M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z"]},fo={prefix:"fas",iconName:"handshake-alt-slash",icon:[640,512,[],"e05f","M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z"]},po={prefix:"fas",iconName:"handshake-slash",icon:[640,512,[],"e060","M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z"]},mo={prefix:"fas",iconName:"hanukiah",icon:[640,512,[],"f6e6","M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z"]},vo={prefix:"fas",iconName:"hard-hat",icon:[512,512,[],"f807","M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},go={prefix:"fas",iconName:"hashtag",icon:[448,512,[],"f292","M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z"]},yo={prefix:"fas",iconName:"hat-cowboy",icon:[640,512,[],"f8c0","M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z"]},bo={prefix:"fas",iconName:"hat-cowboy-side",icon:[640,512,[],"f8c1","M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z"]},Co={prefix:"fas",iconName:"hat-wizard",icon:[512,512,[],"f6e8","M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z"]},So={prefix:"fas",iconName:"hdd",icon:[576,512,[],"f0a0","M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"]},xo={prefix:"fas",iconName:"head-side-cough",icon:[640,512,[],"e061","M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z"]},wo={prefix:"fas",iconName:"head-side-cough-slash",icon:[640,512,[],"e062","M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z"]},_o={prefix:"fas",iconName:"head-side-mask",icon:[512,512,[],"e063","M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z"]},Ao={prefix:"fas",iconName:"head-side-virus",icon:[512,512,[],"e064","M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z"]},Eo={prefix:"fas",iconName:"heading",icon:[512,512,[],"f1dc","M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z"]},ko={prefix:"fas",iconName:"headphones",icon:[512,512,[],"f025","M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z"]},Mo={prefix:"fas",iconName:"headphones-alt",icon:[512,512,[],"f58f","M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z"]},zo={prefix:"fas",iconName:"headset",icon:[512,512,[],"f590","M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z"]},To={prefix:"fas",iconName:"heart",icon:[512,512,[],"f004","M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"]},Io={prefix:"fas",iconName:"heart-broken",icon:[512,512,[],"f7a9","M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z"]},No={prefix:"fas",iconName:"heartbeat",icon:[512,512,[],"f21e","M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z"]},Do={prefix:"fas",iconName:"helicopter",icon:[640,512,[],"f533","M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z"]},Po={prefix:"fas",iconName:"highlighter",icon:[544,512,[],"f591","M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"]},Oo={prefix:"fas",iconName:"hiking",icon:[384,512,[],"f6ec","M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z"]},Ho={prefix:"fas",iconName:"hippo",icon:[640,512,[],"f6ed","M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Fo={prefix:"fas",iconName:"history",icon:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"]},Lo={prefix:"fas",iconName:"hockey-puck",icon:[512,512,[],"f453","M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z"]},Vo={prefix:"fas",iconName:"holly-berry",icon:[448,512,[],"f7aa","M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z"]},Ro={prefix:"fas",iconName:"home",icon:[576,512,[],"f015","M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"]},Bo={prefix:"fas",iconName:"horse",icon:[576,512,[],"f6f0","M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},jo={prefix:"fas",iconName:"horse-head",icon:[512,512,[],"f7ab","M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z"]},$o={prefix:"fas",iconName:"hospital",icon:[448,512,[],"f0f8","M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z"]},Ko={prefix:"fas",iconName:"hospital-alt",icon:[576,512,[],"f47d","M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"]},qo={prefix:"fas",iconName:"hospital-symbol",icon:[512,512,[],"f47e","M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z"]},Uo={prefix:"fas",iconName:"hospital-user",icon:[640,512,[],"f80d","M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z"]},Wo={prefix:"fas",iconName:"hot-tub",icon:[512,512,[],"f593","M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z"]},Xo={prefix:"fas",iconName:"hotdog",icon:[512,512,[],"f80f","M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z"]},Go={prefix:"fas",iconName:"hotel",icon:[576,512,[],"f594","M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"]},Yo={prefix:"fas",iconName:"hourglass",icon:[384,512,[],"f254","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z"]},Zo={prefix:"fas",iconName:"hourglass-end",icon:[384,512,[],"f253","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z"]},Jo={prefix:"fas",iconName:"hourglass-half",icon:[384,512,[],"f252","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"]},Qo={prefix:"fas",iconName:"hourglass-start",icon:[384,512,[],"f251","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z"]},ec={prefix:"fas",iconName:"house-damage",icon:[576,512,[],"f6f1","M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z"]},tc={prefix:"fas",iconName:"house-user",icon:[576,512,[],"e065","M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z"]},ic={prefix:"fas",iconName:"hryvnia",icon:[384,512,[],"f6f2","M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z"]},nc={prefix:"fas",iconName:"i-cursor",icon:[256,512,[],"f246","M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z"]},rc={prefix:"fas",iconName:"ice-cream",icon:[448,512,[],"f810","M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z"]},ac={prefix:"fas",iconName:"icicles",icon:[512,512,[],"f7ad","M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z"]},sc={prefix:"fas",iconName:"icons",icon:[512,512,[],"f86d","M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z"]},oc={prefix:"fas",iconName:"id-badge",icon:[384,512,[],"f2c1","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},cc={prefix:"fas",iconName:"id-card",icon:[576,512,[],"f2c2","M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z"]},lc={prefix:"fas",iconName:"id-card-alt",icon:[576,512,[],"f47f","M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z"]},uc={prefix:"fas",iconName:"igloo",icon:[576,512,[],"f7ae","M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z"]},hc={prefix:"fas",iconName:"image",icon:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"]},dc={prefix:"fas",iconName:"images",icon:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"]},fc={prefix:"fas",iconName:"inbox",icon:[576,512,[],"f01c","M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z"]},pc={prefix:"fas",iconName:"indent",icon:[448,512,[],"f03c","M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},mc={prefix:"fas",iconName:"industry",icon:[512,512,[],"f275","M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z"]},vc={prefix:"fas",iconName:"infinity",icon:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"]},gc={prefix:"fas",iconName:"info",icon:[192,512,[],"f129","M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"]},yc={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},bc={prefix:"fas",iconName:"italic",icon:[320,512,[],"f033","M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z"]},Cc={prefix:"fas",iconName:"jedi",icon:[576,512,[],"f669","M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z"]},Sc={prefix:"fas",iconName:"joint",icon:[640,512,[],"f595","M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z"]},xc={prefix:"fas",iconName:"journal-whills",icon:[448,512,[],"f66a","M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z"]},wc={prefix:"fas",iconName:"kaaba",icon:[576,512,[],"f66b","M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z"]},_c={prefix:"fas",iconName:"key",icon:[512,512,[],"f084","M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"]},Ac={prefix:"fas",iconName:"keyboard",icon:[576,512,[],"f11c","M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},Ec={prefix:"fas",iconName:"khanda",icon:[512,512,[],"f66d","M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z"]},kc={prefix:"fas",iconName:"kiss",icon:[496,512,[],"f596","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Mc={prefix:"fas",iconName:"kiss-beam",icon:[496,512,[],"f597","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z"]},zc={prefix:"fas",iconName:"kiss-wink-heart",icon:[504,512,[],"f598","M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z"]},Tc={prefix:"fas",iconName:"kiwi-bird",icon:[576,512,[],"f535","M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z"]},Ic={prefix:"fas",iconName:"landmark",icon:[512,512,[],"f66f","M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},Nc={prefix:"fas",iconName:"language",icon:[640,512,[],"f1ab","M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"]},Dc={prefix:"fas",iconName:"laptop",icon:[640,512,[],"f109","M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"]},Pc={prefix:"fas",iconName:"laptop-code",icon:[640,512,[],"f5fc","M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"]},Oc={prefix:"fas",iconName:"laptop-house",icon:[640,512,[],"e066","M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z"]},Hc={prefix:"fas",iconName:"laptop-medical",icon:[640,512,[],"f812","M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z"]},Fc={prefix:"fas",iconName:"laugh",icon:[496,512,[],"f599","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z"]},Lc={prefix:"fas",iconName:"laugh-beam",icon:[496,512,[],"f59a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},Vc={prefix:"fas",iconName:"laugh-squint",icon:[496,512,[],"f59b","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},Rc={prefix:"fas",iconName:"laugh-wink",icon:[496,512,[],"f59c","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},Bc={prefix:"fas",iconName:"layer-group",icon:[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"]},jc={prefix:"fas",iconName:"leaf",icon:[576,512,[],"f06c","M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z"]},$c={prefix:"fas",iconName:"lemon",icon:[512,512,[],"f094","M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z"]},Kc={prefix:"fas",iconName:"less-than",icon:[384,512,[],"f536","M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z"]},qc={prefix:"fas",iconName:"less-than-equal",icon:[448,512,[],"f537","M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},Uc={prefix:"fas",iconName:"level-down-alt",icon:[320,512,[],"f3be","M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z"]},Wc={prefix:"fas",iconName:"level-up-alt",icon:[320,512,[],"f3bf","M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z"]},Xc={prefix:"fas",iconName:"life-ring",icon:[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"]},Gc={prefix:"fas",iconName:"lightbulb",icon:[352,512,[],"f0eb","M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"]},Yc={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},Zc={prefix:"fas",iconName:"lira-sign",icon:[384,512,[],"f195","M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z"]},Jc={prefix:"fas",iconName:"list",icon:[512,512,[],"f03a","M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},Qc={prefix:"fas",iconName:"list-alt",icon:[512,512,[],"f022","M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z"]},el={prefix:"fas",iconName:"list-ol",icon:[512,512,[],"f0cb","M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z"]},tl={prefix:"fas",iconName:"list-ul",icon:[512,512,[],"f0ca","M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},il={prefix:"fas",iconName:"location-arrow",icon:[512,512,[],"f124","M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z"]},nl={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},rl={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z"]},al={prefix:"fas",iconName:"long-arrow-alt-down",icon:[256,512,[],"f309","M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z"]},sl={prefix:"fas",iconName:"long-arrow-alt-left",icon:[448,512,[],"f30a","M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z"]},ol={prefix:"fas",iconName:"long-arrow-alt-right",icon:[448,512,[],"f30b","M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"]},cl={prefix:"fas",iconName:"long-arrow-alt-up",icon:[256,512,[],"f30c","M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z"]},ll={prefix:"fas",iconName:"low-vision",icon:[576,512,[],"f2a8","M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z"]},ul={prefix:"fas",iconName:"luggage-cart",icon:[640,512,[],"f59d","M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z"]},hl={prefix:"fas",iconName:"lungs",icon:[640,512,[],"f604","M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z"]},dl={prefix:"fas",iconName:"lungs-virus",icon:[640,512,[],"e067","M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z"]},fl={prefix:"fas",iconName:"magic",icon:[512,512,[],"f0d0","M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z"]},pl={prefix:"fas",iconName:"magnet",icon:[512,512,[],"f076","M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z"]},ml={prefix:"fas",iconName:"mail-bulk",icon:[576,512,[],"f674","M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z"]},vl={prefix:"fas",iconName:"male",icon:[192,512,[],"f183","M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z"]},gl={prefix:"fas",iconName:"map",icon:[576,512,[],"f279","M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z"]},yl={prefix:"fas",iconName:"map-marked",icon:[576,512,[],"f59f","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"]},bl={prefix:"fas",iconName:"map-marked-alt",icon:[576,512,[],"f5a0","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"]},Cl={prefix:"fas",iconName:"map-marker",icon:[384,512,[],"f041","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"]},Sl={prefix:"fas",iconName:"map-marker-alt",icon:[384,512,[],"f3c5","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"]},xl={prefix:"fas",iconName:"map-pin",icon:[288,512,[],"f276","M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z"]},wl={prefix:"fas",iconName:"map-signs",icon:[512,512,[],"f277","M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z"]},_l={prefix:"fas",iconName:"marker",icon:[512,512,[],"f5a1","M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z"]},Al={prefix:"fas",iconName:"mars",icon:[384,512,[],"f222","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},El={prefix:"fas",iconName:"mars-double",icon:[512,512,[],"f227","M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z"]},kl={prefix:"fas",iconName:"mars-stroke",icon:[384,512,[],"f229","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Ml={prefix:"fas",iconName:"mars-stroke-h",icon:[480,512,[],"f22b","M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"]},zl={prefix:"fas",iconName:"mars-stroke-v",icon:[288,512,[],"f22a","M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"]},Tl={prefix:"fas",iconName:"mask",icon:[640,512,[],"f6fa","M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"]},Il={prefix:"fas",iconName:"medal",icon:[512,512,[],"f5a2","M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z"]},Nl={prefix:"fas",iconName:"medkit",icon:[512,512,[],"f0fa","M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z"]},Dl={prefix:"fas",iconName:"meh",icon:[496,512,[],"f11a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Pl={prefix:"fas",iconName:"meh-blank",icon:[496,512,[],"f5a4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Ol={prefix:"fas",iconName:"meh-rolling-eyes",icon:[496,512,[],"f5a5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z"]},Hl={prefix:"fas",iconName:"memory",icon:[640,512,[],"f538","M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z"]},Fl={prefix:"fas",iconName:"menorah",icon:[640,512,[],"f676","M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z"]},Ll={prefix:"fas",iconName:"mercury",icon:[288,512,[],"f223","M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"]},Vl={prefix:"fas",iconName:"meteor",icon:[512,512,[],"f753","M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z"]},Rl={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z"]},Bl={prefix:"fas",iconName:"microphone",icon:[352,512,[],"f130","M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z"]},jl={prefix:"fas",iconName:"microphone-alt",icon:[352,512,[],"f3c9","M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z"]},$l={prefix:"fas",iconName:"microphone-alt-slash",icon:[640,512,[],"f539","M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"]},Kl={prefix:"fas",iconName:"microphone-slash",icon:[640,512,[],"f131","M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"]},ql={prefix:"fas",iconName:"microscope",icon:[512,512,[],"f610","M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z"]},Ul={prefix:"fas",iconName:"minus",icon:[448,512,[],"f068","M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Wl={prefix:"fas",iconName:"minus-circle",icon:[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"]},Xl={prefix:"fas",iconName:"minus-square",icon:[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"]},Gl={prefix:"fas",iconName:"mitten",icon:[448,512,[],"f7b5","M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z"]},Yl={prefix:"fas",iconName:"mobile",icon:[320,512,[],"f10b","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Zl={prefix:"fas",iconName:"mobile-alt",icon:[320,512,[],"f3cd","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z"]},Jl={prefix:"fas",iconName:"money-bill",icon:[640,512,[],"f0d6","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},Ql={prefix:"fas",iconName:"money-bill-alt",icon:[640,512,[],"f3d1","M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},eu={prefix:"fas",iconName:"money-bill-wave",icon:[640,512,[],"f53a","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z"]},tu={prefix:"fas",iconName:"money-bill-wave-alt",icon:[640,512,[],"f53b","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z"]},iu={prefix:"fas",iconName:"money-check",icon:[640,512,[],"f53c","M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z"]},nu={prefix:"fas",iconName:"money-check-alt",icon:[640,512,[],"f53d","M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z"]},ru={prefix:"fas",iconName:"monument",icon:[384,512,[],"f5a6","M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"]},au={prefix:"fas",iconName:"moon",icon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"]},su={prefix:"fas",iconName:"mortar-pestle",icon:[512,512,[],"f5a7","M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},ou={prefix:"fas",iconName:"mosque",icon:[640,512,[],"f678","M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z"]},cu={prefix:"fas",iconName:"motorcycle",icon:[640,512,[],"f21c","M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z"]},lu={prefix:"fas",iconName:"mountain",icon:[640,512,[],"f6fc","M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z"]},uu={prefix:"fas",iconName:"mouse",icon:[384,512,[],"f8cc","M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z"]},hu={prefix:"fas",iconName:"mouse-pointer",icon:[320,512,[],"f245","M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z"]},du={prefix:"fas",iconName:"mug-hot",icon:[512,512,[],"f7b6","M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z"]},fu={prefix:"fas",iconName:"music",icon:[512,512,[],"f001","M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z"]},pu={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z"]},mu={prefix:"fas",iconName:"neuter",icon:[288,512,[],"f22c","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},vu={prefix:"fas",iconName:"newspaper",icon:[576,512,[],"f1ea","M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z"]},gu={prefix:"fas",iconName:"not-equal",icon:[448,512,[],"f53e","M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z"]},yu={prefix:"fas",iconName:"notes-medical",icon:[384,512,[],"f481","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z"]},bu={prefix:"fas",iconName:"object-group",icon:[512,512,[],"f247","M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z"]},Cu={prefix:"fas",iconName:"object-ungroup",icon:[576,512,[],"f248","M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z"]},Su={prefix:"fas",iconName:"oil-can",icon:[640,512,[],"f613","M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z"]},xu={prefix:"fas",iconName:"om",icon:[512,512,[],"f679","M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z"]},wu={prefix:"fas",iconName:"otter",icon:[640,512,[],"f700","M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z"]},_u={prefix:"fas",iconName:"outdent",icon:[448,512,[],"f03b","M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Au={prefix:"fas",iconName:"pager",icon:[512,512,[],"f815","M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z"]},Eu={prefix:"fas",iconName:"paint-brush",icon:[512,512,[],"f1fc","M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"]},ku={prefix:"fas",iconName:"paint-roller",icon:[512,512,[],"f5aa","M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z"]},Mu={prefix:"fas",iconName:"palette",icon:[512,512,[],"f53f","M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},zu={prefix:"fas",iconName:"pallet",icon:[640,512,[],"f482","M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z"]},Tu={prefix:"fas",iconName:"paper-plane",icon:[512,512,[],"f1d8","M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z"]},Iu={prefix:"fas",iconName:"paperclip",icon:[448,512,[],"f0c6","M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z"]},Nu={prefix:"fas",iconName:"parachute-box",icon:[512,512,[],"f4cd","M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z"]},Du={prefix:"fas",iconName:"paragraph",icon:[448,512,[],"f1dd","M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z"]},Pu={prefix:"fas",iconName:"parking",icon:[448,512,[],"f540","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z"]},Ou={prefix:"fas",iconName:"passport",icon:[448,512,[],"f5ab","M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z"]},Hu={prefix:"fas",iconName:"pastafarianism",icon:[640,512,[],"f67b","M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z"]},Fu={prefix:"fas",iconName:"paste",icon:[448,512,[],"f0ea","M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z"]},Lu={prefix:"fas",iconName:"pause",icon:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"]},Vu={prefix:"fas",iconName:"pause-circle",icon:[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z"]},Ru={prefix:"fas",iconName:"paw",icon:[512,512,[],"f1b0","M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z"]},Bu={prefix:"fas",iconName:"peace",icon:[496,512,[],"f67c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z"]},ju={prefix:"fas",iconName:"pen",icon:[512,512,[],"f304","M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z"]},$u={prefix:"fas",iconName:"pen-alt",icon:[512,512,[],"f305","M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z"]},Ku={prefix:"fas",iconName:"pen-fancy",icon:[512,512,[],"f5ac","M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z"]},qu={prefix:"fas",iconName:"pen-nib",icon:[512,512,[],"f5ad","M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z"]},Uu={prefix:"fas",iconName:"pen-square",icon:[448,512,[],"f14b","M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z"]},Wu={prefix:"fas",iconName:"pencil-alt",icon:[512,512,[],"f303","M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"]},Xu={prefix:"fas",iconName:"pencil-ruler",icon:[512,512,[],"f5ae","M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z"]},Gu={prefix:"fas",iconName:"people-arrows",icon:[576,512,[],"e068","M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z"]},Yu={prefix:"fas",iconName:"people-carry",icon:[640,512,[],"f4ce","M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z"]},Zu={prefix:"fas",iconName:"pepper-hot",icon:[512,512,[],"f816","M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z"]},Ju={prefix:"fas",iconName:"percent",icon:[448,512,[],"f295","M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z"]},Qu={prefix:"fas",iconName:"percentage",icon:[384,512,[],"f541","M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z"]},eh={prefix:"fas",iconName:"person-booth",icon:[576,512,[],"f756","M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z"]},th={prefix:"fas",iconName:"phone",icon:[512,512,[],"f095","M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"]},ih={prefix:"fas",iconName:"phone-alt",icon:[512,512,[],"f879","M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z"]},nh={prefix:"fas",iconName:"phone-slash",icon:[640,512,[],"f3dd","M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"]},rh={prefix:"fas",iconName:"phone-square",icon:[448,512,[],"f098","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z"]},ah={prefix:"fas",iconName:"phone-square-alt",icon:[448,512,[],"f87b","M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z"]},sh={prefix:"fas",iconName:"phone-volume",icon:[384,512,[],"f2a0","M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z"]},oh={prefix:"fas",iconName:"photo-video",icon:[640,512,[],"f87c","M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z"]},ch={prefix:"fas",iconName:"piggy-bank",icon:[576,512,[],"f4d3","M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z"]},lh={prefix:"fas",iconName:"pills",icon:[576,512,[],"f484","M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z"]},uh={prefix:"fas",iconName:"pizza-slice",icon:[512,512,[],"f818","M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"]},hh={prefix:"fas",iconName:"place-of-worship",icon:[640,512,[],"f67f","M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z"]},dh={prefix:"fas",iconName:"plane",icon:[576,512,[],"f072","M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z"]},fh={prefix:"fas",iconName:"plane-arrival",icon:[640,512,[],"f5af","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z"]},ph={prefix:"fas",iconName:"plane-departure",icon:[640,512,[],"f5b0","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z"]},mh={prefix:"fas",iconName:"plane-slash",icon:[640,512,[],"e069","M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z"]},vh={prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},gh={prefix:"fas",iconName:"play-circle",icon:[512,512,[],"f144","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"]},yh={prefix:"fas",iconName:"plug",icon:[384,512,[],"f1e6","M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z"]},bh={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Ch={prefix:"fas",iconName:"plus-circle",icon:[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},Sh={prefix:"fas",iconName:"plus-square",icon:[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},xh={prefix:"fas",iconName:"podcast",icon:[448,512,[],"f2ce","M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z"]},wh={prefix:"fas",iconName:"poll",icon:[448,512,[],"f681","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z"]},_h={prefix:"fas",iconName:"poll-h",icon:[448,512,[],"f682","M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z"]},Ah={prefix:"fas",iconName:"poo",icon:[512,512,[],"f2fe","M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Eh={prefix:"fas",iconName:"poo-storm",icon:[448,512,[],"f75a","M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z"]},kh={prefix:"fas",iconName:"poop",icon:[512,512,[],"f619","M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z"]},Mh={prefix:"fas",iconName:"portrait",icon:[384,512,[],"f3e0","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},zh={prefix:"fas",iconName:"pound-sign",icon:[320,512,[],"f154","M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z"]},Th={prefix:"fas",iconName:"power-off",icon:[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"]},Ih={prefix:"fas",iconName:"pray",icon:[384,512,[],"f683","M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z"]},Nh={prefix:"fas",iconName:"praying-hands",icon:[640,512,[],"f684","M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z"]},Dh={prefix:"fas",iconName:"prescription",icon:[384,512,[],"f5b1","M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z"]},Ph={prefix:"fas",iconName:"prescription-bottle",icon:[384,512,[],"f485","M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z"]},Oh={prefix:"fas",iconName:"prescription-bottle-alt",icon:[384,512,[],"f486","M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z"]},Hh={prefix:"fas",iconName:"print",icon:[512,512,[],"f02f","M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Fh={prefix:"fas",iconName:"procedures",icon:[640,512,[],"f487","M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z"]},Lh={prefix:"fas",iconName:"project-diagram",icon:[640,512,[],"f542","M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z"]},Vh={prefix:"fas",iconName:"pump-medical",icon:[384,512,[],"e06a","M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z"]},Rh={prefix:"fas",iconName:"pump-soap",icon:[384,512,[],"e06b","M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z"]},Bh={prefix:"fas",iconName:"puzzle-piece",icon:[576,512,[],"f12e","M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"]},jh={prefix:"fas",iconName:"qrcode",icon:[448,512,[],"f029","M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z"]},$h={prefix:"fas",iconName:"question",icon:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"]},Kh={prefix:"fas",iconName:"question-circle",icon:[512,512,[],"f059","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"]},qh={prefix:"fas",iconName:"quidditch",icon:[640,512,[],"f458","M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z"]},Uh={prefix:"fas",iconName:"quote-left",icon:[512,512,[],"f10d","M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},Wh={prefix:"fas",iconName:"quote-right",icon:[512,512,[],"f10e","M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"]},Xh={prefix:"fas",iconName:"quran",icon:[448,512,[],"f687","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},Gh={prefix:"fas",iconName:"radiation",icon:[496,512,[],"f7b9","M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z"]},Yh={prefix:"fas",iconName:"radiation-alt",icon:[496,512,[],"f7ba","M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"]},Zh={prefix:"fas",iconName:"rainbow",icon:[576,512,[],"f75b","M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z"]},Jh={prefix:"fas",iconName:"random",icon:[512,512,[],"f074","M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"]},Qh={prefix:"fas",iconName:"receipt",icon:[384,512,[],"f543","M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z"]},ed={prefix:"fas",iconName:"record-vinyl",icon:[512,512,[],"f8d9","M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z"]},td={prefix:"fas",iconName:"recycle",icon:[512,512,[],"f1b8","M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"]},id={prefix:"fas",iconName:"redo",icon:[512,512,[],"f01e","M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z"]},nd={prefix:"fas",iconName:"redo-alt",icon:[512,512,[],"f2f9","M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"]},rd={prefix:"fas",iconName:"registered",icon:[512,512,[],"f25d","M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z"]},ad={prefix:"fas",iconName:"remove-format",icon:[640,512,[],"f87d","M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z"]},sd={prefix:"fas",iconName:"reply",icon:[512,512,[],"f3e5","M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"]},od={prefix:"fas",iconName:"reply-all",icon:[576,512,[],"f122","M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z"]},cd={prefix:"fas",iconName:"republican",icon:[640,512,[],"f75e","M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z"]},ld={prefix:"fas",iconName:"restroom",icon:[640,512,[],"f7bd","M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z"]},ud={prefix:"fas",iconName:"retweet",icon:[640,512,[],"f079","M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z"]},hd={prefix:"fas",iconName:"ribbon",icon:[448,512,[],"f4d6","M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z"]},dd={prefix:"fas",iconName:"ring",icon:[512,512,[],"f70b","M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z"]},fd={prefix:"fas",iconName:"road",icon:[576,512,[],"f018","M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z"]},pd={prefix:"fas",iconName:"robot",icon:[640,512,[],"f544","M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z"]},md={prefix:"fas",iconName:"rocket",icon:[512,512,[],"f135","M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z"]},vd={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},gd={prefix:"fas",iconName:"rss",icon:[448,512,[],"f09e","M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"]},yd={prefix:"fas",iconName:"rss-square",icon:[448,512,[],"f143","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"]},bd={prefix:"fas",iconName:"ruble-sign",icon:[384,512,[],"f158","M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z"]},Cd={prefix:"fas",iconName:"ruler",icon:[640,512,[],"f545","M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z"]},Sd={prefix:"fas",iconName:"ruler-combined",icon:[512,512,[],"f546","M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},xd={prefix:"fas",iconName:"ruler-horizontal",icon:[576,512,[],"f547","M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z"]},wd={prefix:"fas",iconName:"ruler-vertical",icon:[256,512,[],"f548","M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z"]},_d={prefix:"fas",iconName:"running",icon:[416,512,[],"f70c","M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"]},Ad={prefix:"fas",iconName:"rupee-sign",icon:[320,512,[],"f156","M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z"]},Ed={prefix:"fas",iconName:"sad-cry",icon:[496,512,[],"f5b3","M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z"]},kd={prefix:"fas",iconName:"sad-tear",icon:[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z"]},Md={prefix:"fas",iconName:"satellite",icon:[512,512,[],"f7bf","M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z"]},zd={prefix:"fas",iconName:"satellite-dish",icon:[512,512,[],"f7c0","M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z"]},Td={prefix:"fas",iconName:"save",icon:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"]},Id={prefix:"fas",iconName:"school",icon:[640,512,[],"f549","M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z"]},Nd={prefix:"fas",iconName:"screwdriver",icon:[512,512,[],"f54a","M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"]},Dd={prefix:"fas",iconName:"scroll",icon:[640,512,[],"f70e","M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z"]},Pd={prefix:"fas",iconName:"sd-card",icon:[384,512,[],"f7c2","M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z"]},Od={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},Hd={prefix:"fas",iconName:"search-dollar",icon:[512,512,[],"f688","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z"]},Fd={prefix:"fas",iconName:"search-location",icon:[512,512,[],"f689","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Ld={prefix:"fas",iconName:"search-minus",icon:[512,512,[],"f010","M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"]},Vd={prefix:"fas",iconName:"search-plus",icon:[512,512,[],"f00e","M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"]},Rd={prefix:"fas",iconName:"seedling",icon:[512,512,[],"f4d8","M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"]},Bd={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"]},jd={prefix:"fas",iconName:"shapes",icon:[512,512,[],"f61f","M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z"]},$d={prefix:"fas",iconName:"share",icon:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"]},Kd={prefix:"fas",iconName:"share-alt",icon:[448,512,[],"f1e0","M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"]},qd={prefix:"fas",iconName:"share-alt-square",icon:[448,512,[],"f1e1","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z"]},Ud={prefix:"fas",iconName:"share-square",icon:[576,512,[],"f14d","M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z"]},Wd={prefix:"fas",iconName:"shekel-sign",icon:[448,512,[],"f20b","M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z"]},Xd={prefix:"fas",iconName:"shield-alt",icon:[512,512,[],"f3ed","M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z"]},Gd={prefix:"fas",iconName:"shield-virus",icon:[512,512,[],"e06c","M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z"]},Yd={prefix:"fas",iconName:"ship",icon:[640,512,[],"f21a","M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z"]},Zd={prefix:"fas",iconName:"shipping-fast",icon:[640,512,[],"f48b","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},Jd={prefix:"fas",iconName:"shoe-prints",icon:[640,512,[],"f54b","M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z"]},Qd={prefix:"fas",iconName:"shopping-bag",icon:[448,512,[],"f290","M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z"]},ef={prefix:"fas",iconName:"shopping-basket",icon:[576,512,[],"f291","M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z"]},tf={prefix:"fas",iconName:"shopping-cart",icon:[576,512,[],"f07a","M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"]},nf={prefix:"fas",iconName:"shower",icon:[512,512,[],"f2cc","M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z"]},rf={prefix:"fas",iconName:"shuttle-van",icon:[640,512,[],"f5b6","M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z"]},af={prefix:"fas",iconName:"sign",icon:[512,512,[],"f4d9","M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z"]},sf={prefix:"fas",iconName:"sign-in-alt",icon:[512,512,[],"f2f6","M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"]},of={prefix:"fas",iconName:"sign-language",icon:[448,512,[],"f2a7","M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z"]},cf={prefix:"fas",iconName:"sign-out-alt",icon:[512,512,[],"f2f5","M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z"]},lf={prefix:"fas",iconName:"signal",icon:[640,512,[],"f012","M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"]},uf={prefix:"fas",iconName:"signature",icon:[640,512,[],"f5b7","M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z"]},hf={prefix:"fas",iconName:"sim-card",icon:[384,512,[],"f7c4","M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z"]},df={prefix:"fas",iconName:"sink",icon:[512,512,[],"e06d","M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z"]},ff={prefix:"fas",iconName:"sitemap",icon:[640,512,[],"f0e8","M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},pf={prefix:"fas",iconName:"skating",icon:[448,512,[],"f7c5","M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z"]},mf={prefix:"fas",iconName:"skiing",icon:[512,512,[],"f7c9","M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z"]},vf={prefix:"fas",iconName:"skiing-nordic",icon:[576,512,[],"f7ca","M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z"]},gf={prefix:"fas",iconName:"skull",icon:[512,512,[],"f54c","M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"]},yf={prefix:"fas",iconName:"skull-crossbones",icon:[448,512,[],"f714","M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z"]},bf={prefix:"fas",iconName:"slash",icon:[640,512,[],"f715","M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z"]},Cf={prefix:"fas",iconName:"sleigh",icon:[640,512,[],"f7cc","M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z"]},Sf={prefix:"fas",iconName:"sliders-h",icon:[512,512,[],"f1de","M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"]},xf={prefix:"fas",iconName:"smile",icon:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"]},wf={prefix:"fas",iconName:"smile-beam",icon:[496,512,[],"f5b8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z"]},_f={prefix:"fas",iconName:"smile-wink",icon:[496,512,[],"f4da","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z"]},Af={prefix:"fas",iconName:"smog",icon:[640,512,[],"f75f","M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z"]},Ef={prefix:"fas",iconName:"smoking",icon:[640,512,[],"f48d","M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z"]},kf={prefix:"fas",iconName:"smoking-ban",icon:[512,512,[],"f54d","M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z"]},Mf={prefix:"fas",iconName:"sms",icon:[512,512,[],"f7cd","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z"]},zf={prefix:"fas",iconName:"snowboarding",icon:[512,512,[],"f7ce","M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z"]},Tf={prefix:"fas",iconName:"snowflake",icon:[448,512,[],"f2dc","M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z"]},If={prefix:"fas",iconName:"snowman",icon:[512,512,[],"f7d0","M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},Nf={prefix:"fas",iconName:"snowplow",icon:[640,512,[],"f7d2","M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z"]},Df={prefix:"fas",iconName:"soap",icon:[512,512,[],"e06e","M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z"]},Pf={prefix:"fas",iconName:"socks",icon:[512,512,[],"f696","M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z"]},Of={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z"]},Hf={prefix:"fas",iconName:"sort",icon:[320,512,[],"f0dc","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z"]},Ff={prefix:"fas",iconName:"sort-alpha-down",icon:[448,512,[],"f15d","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"]},Lf={prefix:"fas",iconName:"sort-alpha-down-alt",icon:[448,512,[],"f881","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z"]},Vf={prefix:"fas",iconName:"sort-alpha-up",icon:[448,512,[],"f15e","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"]},Rf={prefix:"fas",iconName:"sort-alpha-up-alt",icon:[448,512,[],"f882","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z"]},Bf={prefix:"fas",iconName:"sort-amount-down",icon:[512,512,[],"f160","M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},jf={prefix:"fas",iconName:"sort-amount-down-alt",icon:[512,512,[],"f884","M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z"]},$f={prefix:"fas",iconName:"sort-amount-up",icon:[512,512,[],"f161","M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Kf={prefix:"fas",iconName:"sort-amount-up-alt",icon:[512,512,[],"f885","M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z"]},qf={prefix:"fas",iconName:"sort-down",icon:[320,512,[],"f0dd","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"]},Uf={prefix:"fas",iconName:"sort-numeric-down",icon:[448,512,[],"f162","M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z"]},Wf={prefix:"fas",iconName:"sort-numeric-down-alt",icon:[448,512,[],"f886","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z"]},Xf={prefix:"fas",iconName:"sort-numeric-up",icon:[448,512,[],"f163","M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z"]},Gf={prefix:"fas",iconName:"sort-numeric-up-alt",icon:[448,512,[],"f887","M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z"]},Yf={prefix:"fas",iconName:"sort-up",icon:[320,512,[],"f0de","M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z"]},Zf={prefix:"fas",iconName:"spa",icon:[576,512,[],"f5bb","M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z"]},Jf={prefix:"fas",iconName:"space-shuttle",icon:[640,512,[],"f197","M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z"]},Qf={prefix:"fas",iconName:"spell-check",icon:[576,512,[],"f891","M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z"]},ep={prefix:"fas",iconName:"spider",icon:[576,512,[],"f717","M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z"]},tp={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"]},ip={prefix:"fas",iconName:"splotch",icon:[512,512,[],"f5bc","M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z"]},np={prefix:"fas",iconName:"spray-can",icon:[512,512,[],"f5bd","M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},rp={prefix:"fas",iconName:"square",icon:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},ap={prefix:"fas",iconName:"square-full",icon:[512,512,[],"f45c","M512 512H0V0h512v512z"]},sp={prefix:"fas",iconName:"square-root-alt",icon:[576,512,[],"f698","M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"]},op={prefix:"fas",iconName:"stamp",icon:[512,512,[],"f5bf","M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z"]},cp={prefix:"fas",iconName:"star",icon:[576,512,[],"f005","M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"]},lp={prefix:"fas",iconName:"star-and-crescent",icon:[512,512,[],"f699","M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z"]},up={prefix:"fas",iconName:"star-half",icon:[576,512,[],"f089","M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z"]},hp={prefix:"fas",iconName:"star-half-alt",icon:[536,512,[],"f5c0","M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z"]},dp={prefix:"fas",iconName:"star-of-david",icon:[464,512,[],"f69a","M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z"]},fp={prefix:"fas",iconName:"star-of-life",icon:[480,512,[],"f621","M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z"]},pp={prefix:"fas",iconName:"step-backward",icon:[448,512,[],"f048","M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z"]},mp={prefix:"fas",iconName:"step-forward",icon:[448,512,[],"f051","M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"]},vp={prefix:"fas",iconName:"stethoscope",icon:[512,512,[],"f0f1","M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},gp={prefix:"fas",iconName:"sticky-note",icon:[448,512,[],"f249","M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z"]},yp={prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},bp={prefix:"fas",iconName:"stop-circle",icon:[512,512,[],"f28d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"]},Cp={prefix:"fas",iconName:"stopwatch",icon:[448,512,[],"f2f2","M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"]},Sp={prefix:"fas",iconName:"stopwatch-20",icon:[448,512,[],"e06f","M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z"]},xp={prefix:"fas",iconName:"store",icon:[616,512,[],"f54e","M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z"]},wp={prefix:"fas",iconName:"store-alt",icon:[640,512,[],"f54f","M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z"]},_p={prefix:"fas",iconName:"store-alt-slash",icon:[640,512,[],"e070","M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z"]},Ap={prefix:"fas",iconName:"store-slash",icon:[640,512,[],"e071","M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z"]},Ep={prefix:"fas",iconName:"stream",icon:[512,512,[],"f550","M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z"]},kp={prefix:"fas",iconName:"street-view",icon:[512,512,[],"f21d","M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"]},Mp={prefix:"fas",iconName:"strikethrough",icon:[512,512,[],"f0cc","M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z"]},zp={prefix:"fas",iconName:"stroopwafel",icon:[512,512,[],"f551","M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z"]},Tp={prefix:"fas",iconName:"subscript",icon:[512,512,[],"f12c","M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z"]},Ip={prefix:"fas",iconName:"subway",icon:[448,512,[],"f239","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"]},Np={prefix:"fas",iconName:"suitcase",icon:[512,512,[],"f0f2","M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z"]},Dp={prefix:"fas",iconName:"suitcase-rolling",icon:[384,512,[],"f5c1","M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z"]},Pp={prefix:"fas",iconName:"sun",icon:[512,512,[],"f185","M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"]},Op={prefix:"fas",iconName:"superscript",icon:[512,512,[],"f12b","M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z"]},Hp={prefix:"fas",iconName:"surprise",icon:[496,512,[],"f5c2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Fp={prefix:"fas",iconName:"swatchbook",icon:[512,512,[],"f5c3","M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z"]},Lp={prefix:"fas",iconName:"swimmer",icon:[640,512,[],"f5c4","M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z"]},Vp={prefix:"fas",iconName:"swimming-pool",icon:[640,512,[],"f5c5","M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z"]},Rp={prefix:"fas",iconName:"synagogue",icon:[640,512,[],"f69b","M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z"]},Bp={prefix:"fas",iconName:"sync",icon:[512,512,[],"f021","M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z"]},jp={prefix:"fas",iconName:"sync-alt",icon:[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"]},$p={prefix:"fas",iconName:"syringe",icon:[512,512,[],"f48e","M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z"]},Kp={prefix:"fas",iconName:"table",icon:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"]},qp={prefix:"fas",iconName:"table-tennis",icon:[512,512,[],"f45d","M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"]},Up={prefix:"fas",iconName:"tablet",icon:[448,512,[],"f10a","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Wp={prefix:"fas",iconName:"tablet-alt",icon:[448,512,[],"f3fa","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z"]},Xp={prefix:"fas",iconName:"tablets",icon:[640,512,[],"f490","M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z"]},Gp={prefix:"fas",iconName:"tachometer-alt",icon:[576,512,[],"f3fd","M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Yp={prefix:"fas",iconName:"tag",icon:[512,512,[],"f02b","M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"]},Zp={prefix:"fas",iconName:"tags",icon:[640,512,[],"f02c","M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"]},Jp={prefix:"fas",iconName:"tape",icon:[640,512,[],"f4db","M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"]},Qp={prefix:"fas",iconName:"tasks",icon:[512,512,[],"f0ae","M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},em={prefix:"fas",iconName:"taxi",icon:[512,512,[],"f1ba","M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},tm={prefix:"fas",iconName:"teeth",icon:[640,512,[],"f62e","M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z"]},im={prefix:"fas",iconName:"teeth-open",icon:[640,512,[],"f62f","M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z"]},nm={prefix:"fas",iconName:"temperature-high",icon:[512,512,[],"f769","M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z"]},rm={prefix:"fas",iconName:"temperature-low",icon:[512,512,[],"f76b","M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z"]},am={prefix:"fas",iconName:"tenge",icon:[384,512,[],"f7d7","M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z"]},sm={prefix:"fas",iconName:"terminal",icon:[640,512,[],"f120","M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"]},om={prefix:"fas",iconName:"text-height",icon:[576,512,[],"f034","M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z"]},cm={prefix:"fas",iconName:"text-width",icon:[448,512,[],"f035","M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z"]},lm={prefix:"fas",iconName:"th",icon:[512,512,[],"f00a","M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"]},um={prefix:"fas",iconName:"th-large",icon:[512,512,[],"f009","M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z"]},hm={prefix:"fas",iconName:"th-list",icon:[512,512,[],"f00b","M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"]},dm={prefix:"fas",iconName:"theater-masks",icon:[640,512,[],"f630","M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z"]},fm={prefix:"fas",iconName:"thermometer",icon:[512,512,[],"f491","M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z"]},pm={prefix:"fas",iconName:"thermometer-empty",icon:[256,512,[],"f2cb","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},mm={prefix:"fas",iconName:"thermometer-full",icon:[256,512,[],"f2c7","M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z"]},vm={prefix:"fas",iconName:"thermometer-half",icon:[256,512,[],"f2c9","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},gm={prefix:"fas",iconName:"thermometer-quarter",icon:[256,512,[],"f2ca","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},ym={prefix:"fas",iconName:"thermometer-three-quarters",icon:[256,512,[],"f2c8","M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},bm={prefix:"fas",iconName:"thumbs-down",icon:[512,512,[],"f165","M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"]},Cm={prefix:"fas",iconName:"thumbs-up",icon:[512,512,[],"f164","M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"]},Sm={prefix:"fas",iconName:"thumbtack",icon:[384,512,[],"f08d","M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"]},xm={prefix:"fas",iconName:"ticket-alt",icon:[576,512,[],"f3ff","M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z"]},wm={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},_m={prefix:"fas",iconName:"times-circle",icon:[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"]},Am={prefix:"fas",iconName:"tint",icon:[352,512,[],"f043","M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z"]},Em={prefix:"fas",iconName:"tint-slash",icon:[640,512,[],"f5c7","M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z"]},km={prefix:"fas",iconName:"tired",icon:[496,512,[],"f5c8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z"]},Mm={prefix:"fas",iconName:"toggle-off",icon:[576,512,[],"f204","M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z"]},zm={prefix:"fas",iconName:"toggle-on",icon:[576,512,[],"f205","M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"]},Tm={prefix:"fas",iconName:"toilet",icon:[384,512,[],"f7d8","M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z"]},Im={prefix:"fas",iconName:"toilet-paper",icon:[576,512,[],"f71e","M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z"]},Nm={prefix:"fas",iconName:"toilet-paper-slash",icon:[640,512,[],"e072","M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z"]},Dm={prefix:"fas",iconName:"toolbox",icon:[512,512,[],"f552","M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z"]},Pm={prefix:"fas",iconName:"tools",icon:[512,512,[],"f7d9","M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"]},Om={prefix:"fas",iconName:"tooth",icon:[448,512,[],"f5c9","M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z"]},Hm={prefix:"fas",iconName:"torah",icon:[640,512,[],"f6a0","M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z"]},Fm={prefix:"fas",iconName:"torii-gate",icon:[512,512,[],"f6a1","M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z"]},Lm={prefix:"fas",iconName:"tractor",icon:[640,512,[],"f722","M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z"]},Vm={prefix:"fas",iconName:"trademark",icon:[640,512,[],"f25c","M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z"]},Rm={prefix:"fas",iconName:"traffic-light",icon:[384,512,[],"f637","M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"]},Bm={prefix:"fas",iconName:"trailer",icon:[640,512,[],"e041","M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z"]},jm={prefix:"fas",iconName:"train",icon:[448,512,[],"f238","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z"]},$m={prefix:"fas",iconName:"tram",icon:[512,512,[],"f7da","M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"]},Km={prefix:"fas",iconName:"transgender",icon:[384,512,[],"f224","M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},qm={prefix:"fas",iconName:"transgender-alt",icon:[480,512,[],"f225","M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Um={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"]},Wm={prefix:"fas",iconName:"trash-alt",icon:[448,512,[],"f2ed","M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Xm={prefix:"fas",iconName:"trash-restore",icon:[448,512,[],"f829","M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Gm={prefix:"fas",iconName:"trash-restore-alt",icon:[448,512,[],"f82a","M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"]},Ym={prefix:"fas",iconName:"tree",icon:[384,512,[],"f1bb","M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z"]},Zm={prefix:"fas",iconName:"trophy",icon:[576,512,[],"f091","M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z"]},Jm={prefix:"fas",iconName:"truck",icon:[640,512,[],"f0d1","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},Qm={prefix:"fas",iconName:"truck-loading",icon:[640,512,[],"f4de","M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},ev={prefix:"fas",iconName:"truck-monster",icon:[640,512,[],"f63b","M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"]},tv={prefix:"fas",iconName:"truck-moving",icon:[640,512,[],"f4df","M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"]},iv={prefix:"fas",iconName:"truck-pickup",icon:[640,512,[],"f63c","M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"]},nv={prefix:"fas",iconName:"tshirt",icon:[640,512,[],"f553","M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z"]},rv={prefix:"fas",iconName:"tty",icon:[512,512,[],"f1e4","M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},av={prefix:"fas",iconName:"tv",icon:[640,512,[],"f26c","M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z"]},sv={prefix:"fas",iconName:"umbrella",icon:[576,512,[],"f0e9","M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z"]},ov={prefix:"fas",iconName:"umbrella-beach",icon:[640,512,[],"f5ca","M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z"]},cv={prefix:"fas",iconName:"underline",icon:[448,512,[],"f0cd","M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},lv={prefix:"fas",iconName:"undo",icon:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"]},uv={prefix:"fas",iconName:"undo-alt",icon:[512,512,[],"f2ea","M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z"]},hv={prefix:"fas",iconName:"universal-access",icon:[512,512,[],"f29a","M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z"]},dv={prefix:"fas",iconName:"university",icon:[512,512,[],"f19c","M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z"]},fv={prefix:"fas",iconName:"unlink",icon:[512,512,[],"f127","M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z"]},pv={prefix:"fas",iconName:"unlock",icon:[448,512,[],"f09c","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},mv={prefix:"fas",iconName:"unlock-alt",icon:[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"]},vv={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},gv={prefix:"fas",iconName:"user",icon:[448,512,[],"f007","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},yv={prefix:"fas",iconName:"user-alt",icon:[512,512,[],"f406","M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z"]},bv={prefix:"fas",iconName:"user-alt-slash",icon:[640,512,[],"f4fa","M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z"]},Cv={prefix:"fas",iconName:"user-astronaut",icon:[448,512,[],"f4fb","M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z"]},Sv={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z"]},xv={prefix:"fas",iconName:"user-circle",icon:[496,512,[],"f2bd","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z"]},wv={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z"]},_v={prefix:"fas",iconName:"user-cog",icon:[640,512,[],"f4fe","M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z"]},Av={prefix:"fas",iconName:"user-edit",icon:[640,512,[],"f4ff","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z"]},Ev={prefix:"fas",iconName:"user-friends",icon:[640,512,[],"f500","M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z"]},kv={prefix:"fas",iconName:"user-graduate",icon:[448,512,[],"f501","M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z"]},Mv={prefix:"fas",iconName:"user-injured",icon:[448,512,[],"f728","M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z"]},zv={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z"]},Tv={prefix:"fas",iconName:"user-md",icon:[448,512,[],"f0f0","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z"]},Iv={prefix:"fas",iconName:"user-minus",icon:[640,512,[],"f503","M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},Nv={prefix:"fas",iconName:"user-ninja",icon:[448,512,[],"f504","M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z"]},Dv={prefix:"fas",iconName:"user-nurse",icon:[448,512,[],"f82f","M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z"]},Pv={prefix:"fas",iconName:"user-plus",icon:[640,512,[],"f234","M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},Ov={prefix:"fas",iconName:"user-secret",icon:[448,512,[],"f21b","M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z"]},Hv={prefix:"fas",iconName:"user-shield",icon:[640,512,[],"f505","M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"]},Fv={prefix:"fas",iconName:"user-slash",icon:[640,512,[],"f506","M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z"]},Lv={prefix:"fas",iconName:"user-tag",icon:[640,512,[],"f507","M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z"]},Vv={prefix:"fas",iconName:"user-tie",icon:[448,512,[],"f508","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z"]},Rv={prefix:"fas",iconName:"user-times",icon:[640,512,[],"f235","M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},Bv={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},jv={prefix:"fas",iconName:"users-cog",icon:[640,512,[],"f509","M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},$v={prefix:"fas",iconName:"users-slash",icon:[640,512,[],"e073","M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z"]},Kv={prefix:"fas",iconName:"utensil-spoon",icon:[512,512,[],"f2e5","M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z"]},qv={prefix:"fas",iconName:"utensils",icon:[416,512,[],"f2e7","M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z"]},Uv={prefix:"fas",iconName:"vector-square",icon:[512,512,[],"f5cb","M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z"]},Wv={prefix:"fas",iconName:"venus",icon:[288,512,[],"f221","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"]},Xv={prefix:"fas",iconName:"venus-double",icon:[512,512,[],"f226","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z"]},Gv={prefix:"fas",iconName:"venus-mars",icon:[576,512,[],"f228","M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},Yv={prefix:"fas",iconName:"vial",icon:[480,512,[],"f492","M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z"]},Zv={prefix:"fas",iconName:"vials",icon:[640,512,[],"f493","M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z"]},Jv={prefix:"fas",iconName:"video",icon:[576,512,[],"f03d","M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z"]},Qv={prefix:"fas",iconName:"video-slash",icon:[640,512,[],"f4e2","M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z"]},eg={prefix:"fas",iconName:"vihara",icon:[640,512,[],"f6a7","M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z"]},tg={prefix:"fas",iconName:"virus",icon:[512,512,[],"e074","M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z"]},ig={prefix:"fas",iconName:"virus-slash",icon:[640,512,[],"e075","M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z"]},ng={prefix:"fas",iconName:"viruses",icon:[640,512,[],"e076","M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z"]},rg={prefix:"fas",iconName:"voicemail",icon:[640,512,[],"f897","M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z"]},ag={prefix:"fas",iconName:"volleyball-ball",icon:[512,512,[],"f45f","M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z"]},sg={prefix:"fas",iconName:"volume-down",icon:[384,512,[],"f027","M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"]},og={prefix:"fas",iconName:"volume-mute",icon:[512,512,[],"f6a9","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"]},cg={prefix:"fas",iconName:"volume-off",icon:[256,512,[],"f026","M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z"]},lg={prefix:"fas",iconName:"volume-up",icon:[576,512,[],"f028","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"]},ug={prefix:"fas",iconName:"vote-yea",icon:[640,512,[],"f772","M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z"]},hg={prefix:"fas",iconName:"vr-cardboard",icon:[640,512,[],"f729","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z"]},dg={prefix:"fas",iconName:"walking",icon:[320,512,[],"f554","M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z"]},fg={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},pg={prefix:"fas",iconName:"warehouse",icon:[640,512,[],"f494","M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z"]},mg={prefix:"fas",iconName:"water",icon:[576,512,[],"f773","M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z"]},vg={prefix:"fas",iconName:"wave-square",icon:[640,512,[],"f83e","M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z"]},gg={prefix:"fas",iconName:"weight",icon:[512,512,[],"f496","M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z"]},yg={prefix:"fas",iconName:"weight-hanging",icon:[512,512,[],"f5cd","M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"]},bg={prefix:"fas",iconName:"wheelchair",icon:[512,512,[],"f193","M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z"]},Cg={prefix:"fas",iconName:"wifi",icon:[640,512,[],"f1eb","M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z"]},Sg={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z"]},xg={prefix:"fas",iconName:"window-close",icon:[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z"]},wg={prefix:"fas",iconName:"window-maximize",icon:[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z"]},_g={prefix:"fas",iconName:"window-minimize",icon:[512,512,[],"f2d1","M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z"]},Ag={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]},Eg={prefix:"fas",iconName:"wine-bottle",icon:[512,512,[],"f72f","M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z"]},kg={prefix:"fas",iconName:"wine-glass",icon:[288,512,[],"f4e3","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z"]},Mg={prefix:"fas",iconName:"wine-glass-alt",icon:[288,512,[],"f5ce","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z"]},zg={prefix:"fas",iconName:"won-sign",icon:[576,512,[],"f159","M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z"]},Tg={prefix:"fas",iconName:"wrench",icon:[512,512,[],"f0ad","M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Ig={prefix:"fas",iconName:"x-ray",icon:[640,512,[],"f497","M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z"]},Ng={prefix:"fas",iconName:"yen-sign",icon:[384,512,[],"f157","M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z"]},Dg={prefix:"fas",iconName:"yin-yang",icon:[496,512,[],"f6ad","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},Pg={faAd:n,faAddressBook:r,faAddressCard:a,faAdjust:s,faAirFreshener:o,faAlignCenter:c,faAlignJustify:l,faAlignLeft:u,faAlignRight:h,faAllergies:d,faAmbulance:f,faAmericanSignLanguageInterpreting:p,faAnchor:m,faAngleDoubleDown:v,faAngleDoubleLeft:g,faAngleDoubleRight:y,faAngleDoubleUp:b,faAngleDown:C,faAngleLeft:S,faAngleRight:x,faAngleUp:w,faAngry:_,faAnkh:A,faAppleAlt:E,faArchive:k,faArchway:M,faArrowAltCircleDown:z,faArrowAltCircleLeft:T,faArrowAltCircleRight:I,faArrowAltCircleUp:N,faArrowCircleDown:D,faArrowCircleLeft:P,faArrowCircleRight:O,faArrowCircleUp:H,faArrowDown:F,faArrowLeft:L,faArrowRight:V,faArrowUp:R,faArrowsAlt:B,faArrowsAltH:j,faArrowsAltV:$,faAssistiveListeningSystems:K,faAsterisk:q,faAt:U,faAtlas:W,faAtom:X,faAudioDescription:G,faAward:Y,faBaby:Z,faBabyCarriage:J,faBackspace:Q,faBackward:ee,faBacon:te,faBacteria:ie,faBacterium:ne,faBahai:re,faBalanceScale:ae,faBalanceScaleLeft:se,faBalanceScaleRight:oe,faBan:ce,faBandAid:le,faBarcode:ue,faBars:he,faBaseballBall:de,faBasketballBall:fe,faBath:pe,faBatteryEmpty:me,faBatteryFull:ve,faBatteryHalf:ge,faBatteryQuarter:ye,faBatteryThreeQuarters:be,faBed:Ce,faBeer:Se,faBell:xe,faBellSlash:we,faBezierCurve:_e,faBible:Ae,faBicycle:Ee,faBiking:ke,faBinoculars:Me,faBiohazard:ze,faBirthdayCake:Te,faBlender:Ie,faBlenderPhone:Ne,faBlind:De,faBlog:Pe,faBold:Oe,faBolt:He,faBomb:Fe,faBone:Le,faBong:Ve,faBook:Re,faBookDead:Be,faBookMedical:je,faBookOpen:$e,faBookReader:Ke,faBookmark:qe,faBorderAll:Ue,faBorderNone:We,faBorderStyle:Xe,faBowlingBall:Ge,faBox:Ye,faBoxOpen:Ze,faBoxTissue:Je,faBoxes:Qe,faBraille:et,faBrain:tt,faBreadSlice:it,faBriefcase:nt,faBriefcaseMedical:rt,faBroadcastTower:at,faBroom:st,faBrush:ot,faBug:ct,faBuilding:lt,faBullhorn:ut,faBullseye:ht,faBurn:dt,faBus:ft,faBusAlt:pt,faBusinessTime:mt,faCalculator:vt,faCalendar:gt,faCalendarAlt:yt,faCalendarCheck:bt,faCalendarDay:Ct,faCalendarMinus:St,faCalendarPlus:xt,faCalendarTimes:wt,faCalendarWeek:_t,faCamera:At,faCameraRetro:Et,faCampground:kt,faCandyCane:Mt,faCannabis:zt,faCapsules:Tt,faCar:It,faCarAlt:Nt,faCarBattery:Dt,faCarCrash:Pt,faCarSide:Ot,faCaravan:Ht,faCaretDown:Ft,faCaretLeft:Lt,faCaretRight:Vt,faCaretSquareDown:Rt,faCaretSquareLeft:Bt,faCaretSquareRight:jt,faCaretSquareUp:$t,faCaretUp:Kt,faCarrot:qt,faCartArrowDown:Ut,faCartPlus:Wt,faCashRegister:Xt,faCat:Gt,faCertificate:Yt,faChair:Zt,faChalkboard:Jt,faChalkboardTeacher:Qt,faChargingStation:ei,faChartArea:ti,faChartBar:ii,faChartLine:ni,faChartPie:ri,faCheck:ai,faCheckCircle:si,faCheckDouble:oi,faCheckSquare:ci,faCheese:li,faChess:ui,faChessBishop:hi,faChessBoard:di,faChessKing:fi,faChessKnight:pi,faChessPawn:mi,faChessQueen:vi,faChessRook:gi,faChevronCircleDown:yi,faChevronCircleLeft:bi,faChevronCircleRight:Ci,faChevronCircleUp:Si,faChevronDown:xi,faChevronLeft:wi,faChevronRight:_i,faChevronUp:Ai,faChild:Ei,faChurch:ki,faCircle:Mi,faCircleNotch:zi,faCity:Ti,faClinicMedical:Ii,faClipboard:Ni,faClipboardCheck:Di,faClipboardList:Pi,faClock:Oi,faClone:Hi,faClosedCaptioning:Fi,faCloud:Li,faCloudDownloadAlt:Vi,faCloudMeatball:Ri,faCloudMoon:Bi,faCloudMoonRain:ji,faCloudRain:$i,faCloudShowersHeavy:Ki,faCloudSun:qi,faCloudSunRain:Ui,faCloudUploadAlt:Wi,faCocktail:Xi,faCode:Gi,faCodeBranch:Yi,faCoffee:Zi,faCog:Ji,faCogs:Qi,faCoins:en,faColumns:tn,faComment:nn,faCommentAlt:rn,faCommentDollar:an,faCommentDots:sn,faCommentMedical:on,faCommentSlash:cn,faComments:ln,faCommentsDollar:un,faCompactDisc:hn,faCompass:dn,faCompress:fn,faCompressAlt:pn,faCompressArrowsAlt:mn,faConciergeBell:vn,faCookie:gn,faCookieBite:yn,faCopy:bn,faCopyright:Cn,faCouch:Sn,faCreditCard:xn,faCrop:wn,faCropAlt:_n,faCross:An,faCrosshairs:En,faCrow:kn,faCrown:Mn,faCrutch:zn,faCube:Tn,faCubes:In,faCut:Nn,faDatabase:Dn,faDeaf:Pn,faDemocrat:On,faDesktop:Hn,faDharmachakra:Fn,faDiagnoses:Ln,faDice:Vn,faDiceD20:Rn,faDiceD6:Bn,faDiceFive:jn,faDiceFour:$n,faDiceOne:Kn,faDiceSix:qn,faDiceThree:Un,faDiceTwo:Wn,faDigitalTachograph:Xn,faDirections:Gn,faDisease:Yn,faDivide:Zn,faDizzy:Jn,faDna:Qn,faDog:er,faDollarSign:tr,faDolly:ir,faDollyFlatbed:nr,faDonate:rr,faDoorClosed:ar,faDoorOpen:sr,faDotCircle:or,faDove:cr,faDownload:lr,faDraftingCompass:ur,faDragon:hr,faDrawPolygon:dr,faDrum:fr,faDrumSteelpan:pr,faDrumstickBite:mr,faDumbbell:vr,faDumpster:gr,faDumpsterFire:yr,faDungeon:br,faEdit:Cr,faEgg:Sr,faEject:xr,faEllipsisH:wr,faEllipsisV:_r,faEnvelope:Ar,faEnvelopeOpen:Er,faEnvelopeOpenText:kr,faEnvelopeSquare:Mr,faEquals:zr,faEraser:Tr,faEthernet:Ir,faEuroSign:Nr,faExchangeAlt:Dr,faExclamation:Pr,faExclamationCircle:Or,faExclamationTriangle:Hr,faExpand:Fr,faExpandAlt:Lr,faExpandArrowsAlt:Vr,faExternalLinkAlt:Rr,faExternalLinkSquareAlt:Br,faEye:jr,faEyeDropper:$r,faEyeSlash:Kr,faFan:qr,faFastBackward:Ur,faFastForward:Wr,faFaucet:Xr,faFax:Gr,faFeather:Yr,faFeatherAlt:Zr,faFemale:Jr,faFighterJet:Qr,faFile:ea,faFileAlt:ta,faFileArchive:ia,faFileAudio:na,faFileCode:ra,faFileContract:aa,faFileCsv:sa,faFileDownload:oa,faFileExcel:ca,faFileExport:la,faFileImage:ua,faFileImport:ha,faFileInvoice:da,faFileInvoiceDollar:fa,faFileMedical:pa,faFileMedicalAlt:ma,faFilePdf:va,faFilePowerpoint:ga,faFilePrescription:ya,faFileSignature:ba,faFileUpload:Ca,faFileVideo:Sa,faFileWord:xa,faFill:wa,faFillDrip:_a,faFilm:Aa,faFilter:Ea,faFingerprint:ka,faFire:Ma,faFireAlt:za,faFireExtinguisher:Ta,faFirstAid:Ia,faFish:Na,faFistRaised:Da,faFlag:Pa,faFlagCheckered:Oa,faFlagUsa:Ha,faFlask:Fa,faFlushed:La,faFolder:Va,faFolderMinus:Ra,faFolderOpen:Ba,faFolderPlus:ja,faFont:$a,faFontAwesomeLogoFull:Ka,faFootballBall:qa,faForward:Ua,faFrog:Wa,faFrown:Xa,faFrownOpen:Ga,faFunnelDollar:Ya,faFutbol:Za,faGamepad:Ja,faGasPump:Qa,faGavel:es,faGem:ts,faGenderless:is,faGhost:ns,faGift:rs,faGifts:as,faGlassCheers:ss,faGlassMartini:os,faGlassMartiniAlt:cs,faGlassWhiskey:ls,faGlasses:us,faGlobe:hs,faGlobeAfrica:ds,faGlobeAmericas:fs,faGlobeAsia:ps,faGlobeEurope:ms,faGolfBall:vs,faGopuram:gs,faGraduationCap:ys,faGreaterThan:bs,faGreaterThanEqual:Cs,faGrimace:Ss,faGrin:xs,faGrinAlt:ws,faGrinBeam:_s,faGrinBeamSweat:As,faGrinHearts:Es,faGrinSquint:ks,faGrinSquintTears:Ms,faGrinStars:zs,faGrinTears:Ts,faGrinTongue:Is,faGrinTongueSquint:Ns,faGrinTongueWink:Ds,faGrinWink:Ps,faGripHorizontal:Os,faGripLines:Hs,faGripLinesVertical:Fs,faGripVertical:Ls,faGuitar:Vs,faHSquare:Rs,faHamburger:Bs,faHammer:js,faHamsa:$s,faHandHolding:Ks,faHandHoldingHeart:qs,faHandHoldingMedical:Us,faHandHoldingUsd:Ws,faHandHoldingWater:Xs,faHandLizard:Gs,faHandMiddleFinger:Ys,faHandPaper:Zs,faHandPeace:Js,faHandPointDown:Qs,faHandPointLeft:eo,faHandPointRight:to,faHandPointUp:io,faHandPointer:no,faHandRock:ro,faHandScissors:ao,faHandSparkles:so,faHandSpock:oo,faHands:co,faHandsHelping:lo,faHandsWash:uo,faHandshake:ho,faHandshakeAltSlash:fo,faHandshakeSlash:po,faHanukiah:mo,faHardHat:vo,faHashtag:go,faHatCowboy:yo,faHatCowboySide:bo,faHatWizard:Co,faHdd:So,faHeadSideCough:xo,faHeadSideCoughSlash:wo,faHeadSideMask:_o,faHeadSideVirus:Ao,faHeading:Eo,faHeadphones:ko,faHeadphonesAlt:Mo,faHeadset:zo,faHeart:To,faHeartBroken:Io,faHeartbeat:No,faHelicopter:Do,faHighlighter:Po,faHiking:Oo,faHippo:Ho,faHistory:Fo,faHockeyPuck:Lo,faHollyBerry:Vo,faHome:Ro,faHorse:Bo,faHorseHead:jo,faHospital:$o,faHospitalAlt:Ko,faHospitalSymbol:qo,faHospitalUser:Uo,faHotTub:Wo,faHotdog:Xo,faHotel:Go,faHourglass:Yo,faHourglassEnd:Zo,faHourglassHalf:Jo,faHourglassStart:Qo,faHouseDamage:ec,faHouseUser:tc,faHryvnia:ic,faICursor:nc,faIceCream:rc,faIcicles:ac,faIcons:sc,faIdBadge:oc,faIdCard:cc,faIdCardAlt:lc,faIgloo:uc,faImage:hc,faImages:dc,faInbox:fc,faIndent:pc,faIndustry:mc,faInfinity:vc,faInfo:gc,faInfoCircle:yc,faItalic:bc,faJedi:Cc,faJoint:Sc,faJournalWhills:xc,faKaaba:wc,faKey:_c,faKeyboard:Ac,faKhanda:Ec,faKiss:kc,faKissBeam:Mc,faKissWinkHeart:zc,faKiwiBird:Tc,faLandmark:Ic,faLanguage:Nc,faLaptop:Dc,faLaptopCode:Pc,faLaptopHouse:Oc,faLaptopMedical:Hc,faLaugh:Fc,faLaughBeam:Lc,faLaughSquint:Vc,faLaughWink:Rc,faLayerGroup:Bc,faLeaf:jc,faLemon:$c,faLessThan:Kc,faLessThanEqual:qc,faLevelDownAlt:Uc,faLevelUpAlt:Wc,faLifeRing:Xc,faLightbulb:Gc,faLink:Yc,faLiraSign:Zc,faList:Jc,faListAlt:Qc,faListOl:el,faListUl:tl,faLocationArrow:il,faLock:nl,faLockOpen:rl,faLongArrowAltDown:al,faLongArrowAltLeft:sl,faLongArrowAltRight:ol,faLongArrowAltUp:cl,faLowVision:ll,faLuggageCart:ul,faLungs:hl,faLungsVirus:dl,faMagic:fl,faMagnet:pl,faMailBulk:ml,faMale:vl,faMap:gl,faMapMarked:yl,faMapMarkedAlt:bl,faMapMarker:Cl,faMapMarkerAlt:Sl,faMapPin:xl,faMapSigns:wl,faMarker:_l,faMars:Al,faMarsDouble:El,faMarsStroke:kl,faMarsStrokeH:Ml,faMarsStrokeV:zl,faMask:Tl,faMedal:Il,faMedkit:Nl,faMeh:Dl,faMehBlank:Pl,faMehRollingEyes:Ol,faMemory:Hl,faMenorah:Fl,faMercury:Ll,faMeteor:Vl,faMicrochip:Rl,faMicrophone:Bl,faMicrophoneAlt:jl,faMicrophoneAltSlash:$l,faMicrophoneSlash:Kl,faMicroscope:ql,faMinus:Ul,faMinusCircle:Wl,faMinusSquare:Xl,faMitten:Gl,faMobile:Yl,faMobileAlt:Zl,faMoneyBill:Jl,faMoneyBillAlt:Ql,faMoneyBillWave:eu,faMoneyBillWaveAlt:tu,faMoneyCheck:iu,faMoneyCheckAlt:nu,faMonument:ru,faMoon:au,faMortarPestle:su,faMosque:ou,faMotorcycle:cu,faMountain:lu,faMouse:uu,faMousePointer:hu,faMugHot:du,faMusic:fu,faNetworkWired:pu,faNeuter:mu,faNewspaper:vu,faNotEqual:gu,faNotesMedical:yu,faObjectGroup:bu,faObjectUngroup:Cu,faOilCan:Su,faOm:xu,faOtter:wu,faOutdent:_u,faPager:Au,faPaintBrush:Eu,faPaintRoller:ku,faPalette:Mu,faPallet:zu,faPaperPlane:Tu,faPaperclip:Iu,faParachuteBox:Nu,faParagraph:Du,faParking:Pu,faPassport:Ou,faPastafarianism:Hu,faPaste:Fu,faPause:Lu,faPauseCircle:Vu,faPaw:Ru,faPeace:Bu,faPen:ju,faPenAlt:$u,faPenFancy:Ku,faPenNib:qu,faPenSquare:Uu,faPencilAlt:Wu,faPencilRuler:Xu,faPeopleArrows:Gu,faPeopleCarry:Yu,faPepperHot:Zu,faPercent:Ju,faPercentage:Qu,faPersonBooth:eh,faPhone:th,faPhoneAlt:ih,faPhoneSlash:nh,faPhoneSquare:rh,faPhoneSquareAlt:ah,faPhoneVolume:sh,faPhotoVideo:oh,faPiggyBank:ch,faPills:lh,faPizzaSlice:uh,faPlaceOfWorship:hh,faPlane:dh,faPlaneArrival:fh,faPlaneDeparture:ph,faPlaneSlash:mh,faPlay:vh,faPlayCircle:gh,faPlug:yh,faPlus:bh,faPlusCircle:Ch,faPlusSquare:Sh,faPodcast:xh,faPoll:wh,faPollH:_h,faPoo:Ah,faPooStorm:Eh,faPoop:kh,faPortrait:Mh,faPoundSign:zh,faPowerOff:Th,faPray:Ih,faPrayingHands:Nh,faPrescription:Dh,faPrescriptionBottle:Ph,faPrescriptionBottleAlt:Oh,faPrint:Hh,faProcedures:Fh,faProjectDiagram:Lh,faPumpMedical:Vh,faPumpSoap:Rh,faPuzzlePiece:Bh,faQrcode:jh,faQuestion:$h,faQuestionCircle:Kh,faQuidditch:qh,faQuoteLeft:Uh,faQuoteRight:Wh,faQuran:Xh,faRadiation:Gh,faRadiationAlt:Yh,faRainbow:Zh,faRandom:Jh,faReceipt:Qh,faRecordVinyl:ed,faRecycle:td,faRedo:id,faRedoAlt:nd,faRegistered:rd,faRemoveFormat:ad,faReply:sd,faReplyAll:od,faRepublican:cd,faRestroom:ld,faRetweet:ud,faRibbon:hd,faRing:dd,faRoad:fd,faRobot:pd,faRocket:md,faRoute:vd,faRss:gd,faRssSquare:yd,faRubleSign:bd,faRuler:Cd,faRulerCombined:Sd,faRulerHorizontal:xd,faRulerVertical:wd,faRunning:_d,faRupeeSign:Ad,faSadCry:Ed,faSadTear:kd,faSatellite:Md,faSatelliteDish:zd,faSave:Td,faSchool:Id,faScrewdriver:Nd,faScroll:Dd,faSdCard:Pd,faSearch:Od,faSearchDollar:Hd,faSearchLocation:Fd,faSearchMinus:Ld,faSearchPlus:Vd,faSeedling:Rd,faServer:Bd,faShapes:jd,faShare:$d,faShareAlt:Kd,faShareAltSquare:qd,faShareSquare:Ud,faShekelSign:Wd,faShieldAlt:Xd,faShieldVirus:Gd,faShip:Yd,faShippingFast:Zd,faShoePrints:Jd,faShoppingBag:Qd,faShoppingBasket:ef,faShoppingCart:tf,faShower:nf,faShuttleVan:rf,faSign:af,faSignInAlt:sf,faSignLanguage:of,faSignOutAlt:cf,faSignal:lf,faSignature:uf,faSimCard:hf,faSink:df,faSitemap:ff,faSkating:pf,faSkiing:mf,faSkiingNordic:vf,faSkull:gf,faSkullCrossbones:yf,faSlash:bf,faSleigh:Cf,faSlidersH:Sf,faSmile:xf,faSmileBeam:wf,faSmileWink:_f,faSmog:Af,faSmoking:Ef,faSmokingBan:kf,faSms:Mf,faSnowboarding:zf,faSnowflake:Tf,faSnowman:If,faSnowplow:Nf,faSoap:Df,faSocks:Pf,faSolarPanel:Of,faSort:Hf,faSortAlphaDown:Ff,faSortAlphaDownAlt:Lf,faSortAlphaUp:Vf,faSortAlphaUpAlt:Rf,faSortAmountDown:Bf,faSortAmountDownAlt:jf,faSortAmountUp:$f,faSortAmountUpAlt:Kf,faSortDown:qf,faSortNumericDown:Uf,faSortNumericDownAlt:Wf,faSortNumericUp:Xf,faSortNumericUpAlt:Gf,faSortUp:Yf,faSpa:Zf,faSpaceShuttle:Jf,faSpellCheck:Qf,faSpider:ep,faSpinner:tp,faSplotch:ip,faSprayCan:np,faSquare:rp,faSquareFull:ap,faSquareRootAlt:sp,faStamp:op,faStar:cp,faStarAndCrescent:lp,faStarHalf:up,faStarHalfAlt:hp,faStarOfDavid:dp,faStarOfLife:fp,faStepBackward:pp,faStepForward:mp,faStethoscope:vp,faStickyNote:gp,faStop:yp,faStopCircle:bp,faStopwatch:Cp,faStopwatch20:Sp,faStore:xp,faStoreAlt:wp,faStoreAltSlash:_p,faStoreSlash:Ap,faStream:Ep,faStreetView:kp,faStrikethrough:Mp,faStroopwafel:zp,faSubscript:Tp,faSubway:Ip,faSuitcase:Np,faSuitcaseRolling:Dp,faSun:Pp,faSuperscript:Op,faSurprise:Hp,faSwatchbook:Fp,faSwimmer:Lp,faSwimmingPool:Vp,faSynagogue:Rp,faSync:Bp,faSyncAlt:jp,faSyringe:$p,faTable:Kp,faTableTennis:qp,faTablet:Up,faTabletAlt:Wp,faTablets:Xp,faTachometerAlt:Gp,faTag:Yp,faTags:Zp,faTape:Jp,faTasks:Qp,faTaxi:em,faTeeth:tm,faTeethOpen:im,faTemperatureHigh:nm,faTemperatureLow:rm,faTenge:am,faTerminal:sm,faTextHeight:om,faTextWidth:cm,faTh:lm,faThLarge:um,faThList:hm,faTheaterMasks:dm,faThermometer:fm,faThermometerEmpty:pm,faThermometerFull:mm,faThermometerHalf:vm,faThermometerQuarter:gm,faThermometerThreeQuarters:ym,faThumbsDown:bm,faThumbsUp:Cm,faThumbtack:Sm,faTicketAlt:xm,faTimes:wm,faTimesCircle:_m,faTint:Am,faTintSlash:Em,faTired:km,faToggleOff:Mm,faToggleOn:zm,faToilet:Tm,faToiletPaper:Im,faToiletPaperSlash:Nm,faToolbox:Dm,faTools:Pm,faTooth:Om,faTorah:Hm,faToriiGate:Fm,faTractor:Lm,faTrademark:Vm,faTrafficLight:Rm,faTrailer:Bm,faTrain:jm,faTram:$m,faTransgender:Km,faTransgenderAlt:qm,faTrash:Um,faTrashAlt:Wm,faTrashRestore:Xm,faTrashRestoreAlt:Gm,faTree:Ym,faTrophy:Zm,faTruck:Jm,faTruckLoading:Qm,faTruckMonster:ev,faTruckMoving:tv,faTruckPickup:iv,faTshirt:nv,faTty:rv,faTv:av,faUmbrella:sv,faUmbrellaBeach:ov,faUnderline:cv,faUndo:lv,faUndoAlt:uv,faUniversalAccess:hv,faUniversity:dv,faUnlink:fv,faUnlock:pv,faUnlockAlt:mv,faUpload:vv,faUser:gv,faUserAlt:yv,faUserAltSlash:bv,faUserAstronaut:Cv,faUserCheck:Sv,faUserCircle:xv,faUserClock:wv,faUserCog:_v,faUserEdit:Av,faUserFriends:Ev,faUserGraduate:kv,faUserInjured:Mv,faUserLock:zv,faUserMd:Tv,faUserMinus:Iv,faUserNinja:Nv,faUserNurse:Dv,faUserPlus:Pv,faUserSecret:Ov,faUserShield:Hv,faUserSlash:Fv,faUserTag:Lv,faUserTie:Vv,faUserTimes:Rv,faUsers:Bv,faUsersCog:jv,faUsersSlash:$v,faUtensilSpoon:Kv,faUtensils:qv,faVectorSquare:Uv,faVenus:Wv,faVenusDouble:Xv,faVenusMars:Gv,faVial:Yv,faVials:Zv,faVideo:Jv,faVideoSlash:Qv,faVihara:eg,faVirus:tg,faVirusSlash:ig,faViruses:ng,faVoicemail:rg,faVolleyballBall:ag,faVolumeDown:sg,faVolumeMute:og,faVolumeOff:cg,faVolumeUp:lg,faVoteYea:ug,faVrCardboard:hg,faWalking:dg,faWallet:fg,faWarehouse:pg,faWater:mg,faWaveSquare:vg,faWeight:gg,faWeightHanging:yg,faWheelchair:bg,faWifi:Cg,faWind:Sg,faWindowClose:xg,faWindowMaximize:wg,faWindowMinimize:_g,faWindowRestore:Ag,faWineBottle:Eg,faWineGlass:kg,faWineGlassAlt:Mg,faWonSign:zg,faWrench:Tg,faXRay:Ig,faYenSign:Ng,faYinYang:Dg}},c098:function(e,t,i){e.exports=i("d4af")},c19f:function(e,t,i){"use strict";var n=i("23e7"),r=i("da84"),a=i("621a"),s=i("2626"),o="ArrayBuffer",c=a[o],l=r[o];n({global:!0,forced:l!==c},{ArrayBuffer:c}),s(o)},c1ac:function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").filter,a=i("4840"),s=n.aTypedArray,o=n.aTypedArrayConstructor,c=n.exportTypedArrayMethod;c("filter",(function(e){var t=r(s(this),e,arguments.length>1?arguments[1]:void 0),i=a(this,this.constructor),n=0,c=t.length,l=new(o(i))(c);while(c>n)l[n]=t[n++];return l}))},c1f9:function(e,t,i){var n=i("23e7"),r=i("2266"),a=i("8418");n({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,i){a(t,e,i)}),void 0,!0),t}})},c284:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=119)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},119:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"el-progress",class:["el-progress--"+e.type,e.status?"is-"+e.status:"",{"el-progress--without-text":!e.showText,"el-progress--text-inside":e.textInside}],attrs:{role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"}},["line"===e.type?i("div",{staticClass:"el-progress-bar"},[i("div",{staticClass:"el-progress-bar__outer",style:{height:e.strokeWidth+"px"}},[i("div",{staticClass:"el-progress-bar__inner",style:e.barStyle},[e.showText&&e.textInside?i("div",{staticClass:"el-progress-bar__innerText"},[e._v(e._s(e.content))]):e._e()])])]):i("div",{staticClass:"el-progress-circle",style:{height:e.width+"px",width:e.width+"px"}},[i("svg",{attrs:{viewBox:"0 0 100 100"}},[i("path",{staticClass:"el-progress-circle__track",style:e.trailPathStyle,attrs:{d:e.trackPath,stroke:"#e5e9f2","stroke-width":e.relativeStrokeWidth,fill:"none"}}),i("path",{staticClass:"el-progress-circle__path",style:e.circlePathStyle,attrs:{d:e.trackPath,stroke:e.stroke,fill:"none","stroke-linecap":e.strokeLinecap,"stroke-width":e.percentage?e.relativeStrokeWidth:0}})])]),e.showText&&!e.textInside?i("div",{staticClass:"el-progress__text",style:{fontSize:e.progressTextSize+"px"}},[e.status?i("i",{class:e.iconClass}):[e._v(e._s(e.content))]],2):e._e()])},r=[];n._withStripped=!0;var a={name:"ElProgress",props:{type:{type:String,default:"line",validator:function(e){return["line","circle","dashboard"].indexOf(e)>-1}},percentage:{type:Number,default:0,required:!0,validator:function(e){return e>=0&&e<=100}},status:{type:String,validator:function(e){return["success","exception","warning"].indexOf(e)>-1}},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},format:Function},computed:{barStyle:function(){var e={};return e.width=this.percentage+"%",e.backgroundColor=this.getCurrentColor(this.percentage),e},relativeStrokeWidth:function(){return(this.strokeWidth/this.width*100).toFixed(1)},radius:function(){return"circle"===this.type||"dashboard"===this.type?parseInt(50-parseFloat(this.relativeStrokeWidth)/2,10):0},trackPath:function(){var e=this.radius,t="dashboard"===this.type;return"\n        M 50 50\n        m 0 "+(t?"":"-")+e+"\n        a "+e+" "+e+" 0 1 1 0 "+(t?"-":"")+2*e+"\n        a "+e+" "+e+" 0 1 1 0 "+(t?"":"-")+2*e+"\n        "},perimeter:function(){return 2*Math.PI*this.radius},rate:function(){return"dashboard"===this.type?.75:1},strokeDashoffset:function(){var e=-1*this.perimeter*(1-this.rate)/2;return e+"px"},trailPathStyle:function(){return{strokeDasharray:this.perimeter*this.rate+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset}},circlePathStyle:function(){return{strokeDasharray:this.perimeter*this.rate*(this.percentage/100)+"px, "+this.perimeter+"px",strokeDashoffset:this.strokeDashoffset,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease"}},stroke:function(){var e=void 0;if(this.color)e=this.getCurrentColor(this.percentage);else switch(this.status){case"success":e="#13ce66";break;case"exception":e="#ff4949";break;case"warning":e="#e6a23c";break;default:e="#20a0ff"}return e},iconClass:function(){return"warning"===this.status?"el-icon-warning":"line"===this.type?"success"===this.status?"el-icon-circle-check":"el-icon-circle-close":"success"===this.status?"el-icon-check":"el-icon-close"},progressTextSize:function(){return"line"===this.type?12+.4*this.strokeWidth:.111111*this.width+2},content:function(){return"function"===typeof this.format?this.format(this.percentage)||"":this.percentage+"%"}},methods:{getCurrentColor:function(e){return"function"===typeof this.color?this.color(e):"string"===typeof this.color?this.color:this.getLevelColor(e)},getLevelColor:function(e){for(var t=this.getColorArray().sort((function(e,t){return e.percentage-t.percentage})),i=0;i<t.length;i++)if(t[i].percentage>e)return t[i].color;return t[t.length-1].color},getColorArray:function(){var e=this.color,t=100/e.length;return e.map((function(e,i){return"string"===typeof e?{color:e,progress:(i+1)*t}:e}))}}},s=a,o=i(0),c=Object(o["a"])(s,n,r,!1,null,null,null);c.options.__file="packages/progress/src/progress.vue";var l=c.exports;l.install=function(e){e.component(l.name,l)};t["default"]=l}})},c345:function(e,t,i){"use strict";var n=i("c532"),r=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,i,a,s={};return e?(n.forEach(e.split("\n"),(function(e){if(a=e.indexOf(":"),t=n.trim(e.substr(0,a)).toLowerCase(),i=n.trim(e.substr(a+1)),t){if(s[t]&&r.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([i]):s[t]?s[t]+", "+i:i}})),s):s}},c401:function(e,t,i){"use strict";var n=i("c532");e.exports=function(e,t,i){return n.forEach(i,(function(i){e=i(e,t)})),e}},c430:function(e,t){e.exports=!1},c4e3:function(e,t,i){(function(t,i){var n;!function(t){e.exports=t()}((function(){return function e(t,i,r){function a(o,c){if(!i[o]){if(!t[o]){var l="function"==typeof n&&n;if(!c&&l)return n(o,!0);if(s)return s(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var h=i[o]={exports:{}};t[o][0].call(h.exports,(function(e){var i=t[o][1][e];return a(i||e)}),h,h.exports,e,t,i,r)}return i[o].exports}for(var s="function"==typeof n&&n,o=0;o<r.length;o++)a(r[o]);return a}({1:[function(e,t,i){"use strict";var n=e("./utils"),r=e("./support"),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(e){for(var t,i,r,s,o,c,l,u=[],h=0,d=e.length,f=d,p="string"!==n.getTypeOf(e);h<e.length;)f=d-h,r=p?(t=e[h++],i=h<d?e[h++]:0,h<d?e[h++]:0):(t=e.charCodeAt(h++),i=h<d?e.charCodeAt(h++):0,h<d?e.charCodeAt(h++):0),s=t>>2,o=(3&t)<<4|i>>4,c=1<f?(15&i)<<2|r>>6:64,l=2<f?63&r:64,u.push(a.charAt(s)+a.charAt(o)+a.charAt(c)+a.charAt(l));return u.join("")},i.decode=function(e){var t,i,n,s,o,c,l=0,u=0,h="data:";if(e.substr(0,h.length)===h)throw new Error("Invalid base64 input, it looks like a data url.");var d,f=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===a.charAt(64)&&f--,e.charAt(e.length-2)===a.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=r.uint8array?new Uint8Array(0|f):new Array(0|f);l<e.length;)t=a.indexOf(e.charAt(l++))<<2|(s=a.indexOf(e.charAt(l++)))>>4,i=(15&s)<<4|(o=a.indexOf(e.charAt(l++)))>>2,n=(3&o)<<6|(c=a.indexOf(e.charAt(l++))),d[u++]=t,64!==o&&(d[u++]=i),64!==c&&(d[u++]=n);return d}},{"./support":30,"./utils":32}],2:[function(e,t,i){"use strict";var n=e("./external"),r=e("./stream/DataWorker"),a=e("./stream/DataLengthProbe"),s=e("./stream/Crc32Probe");function o(e,t,i,n,r){this.compressedSize=e,this.uncompressedSize=t,this.crc32=i,this.compression=n,this.compressedContent=r}a=e("./stream/DataLengthProbe"),o.prototype={getContentWorker:function(){var e=new r(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 r(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,i){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(i)).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,i){"use strict";var n=e("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},i.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,i){"use strict";var n=e("./utils"),r=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,i,n){var a=r,s=n+i;e^=-1;for(var o=n;o<s;o++)e=e>>>8^a[255&(e^t[o])];return-1^e}(0|t,e,e.length,0):function(e,t,i,n){var a=r,s=n+i;e^=-1;for(var o=n;o<s;o++)e=e>>>8^a[255&(e^t.charCodeAt(o))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,i){"use strict";i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(e,t,i){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,i){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,r=e("pako"),a=e("./utils"),s=e("./stream/GenericWorker"),o=n?"uint8array":"array";function c(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}i.magic="\b\0",a.inherits(c,s),c.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(a.transformTo(o,e.data),!1)},c.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},c.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},c.prototype._createPako=function(){this._pako=new r[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},i.compressWorker=function(e){return new c("Deflate",e)},i.uncompressWorker=function(){return new c("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,i){"use strict";function n(e,t){var i,n="";for(i=0;i<t;i++)n+=String.fromCharCode(255&e),e>>>=8;return n}function r(e,t,i,r,s,u){var h,d,f=e.file,p=e.compression,m=u!==o.utf8encode,v=a.transformTo("string",u(f.name)),g=a.transformTo("string",o.utf8encode(f.name)),y=f.comment,b=a.transformTo("string",u(y)),C=a.transformTo("string",o.utf8encode(y)),S=g.length!==f.name.length,x=C.length!==y.length,w="",_="",A="",E=f.dir,k=f.date,M={crc32:0,compressedSize:0,uncompressedSize:0};t&&!i||(M.crc32=e.crc32,M.compressedSize=e.compressedSize,M.uncompressedSize=e.uncompressedSize);var z=0;t&&(z|=8),m||!S&&!x||(z|=2048);var T=0,I=0;E&&(T|=16),"UNIX"===s?(I=798,T|=function(e,t){var i=e;return e||(i=t?16893:33204),(65535&i)<<16}(f.unixPermissions,E)):(I=20,T|=function(e){return 63&(e||0)}(f.dosPermissions)),h=k.getUTCHours(),h<<=6,h|=k.getUTCMinutes(),h<<=5,h|=k.getUTCSeconds()/2,d=k.getUTCFullYear()-1980,d<<=4,d|=k.getUTCMonth()+1,d<<=5,d|=k.getUTCDate(),S&&(_=n(1,1)+n(c(v),4)+g,w+="up"+n(_.length,2)+_),x&&(A=n(1,1)+n(c(b),4)+C,w+="uc"+n(A.length,2)+A);var N="";return N+="\n\0",N+=n(z,2),N+=p.magic,N+=n(h,2),N+=n(d,2),N+=n(M.crc32,4),N+=n(M.compressedSize,4),N+=n(M.uncompressedSize,4),N+=n(v.length,2),N+=n(w.length,2),{fileRecord:l.LOCAL_FILE_HEADER+N+v+w,dirRecord:l.CENTRAL_FILE_HEADER+n(I,2)+N+n(b.length,2)+"\0\0\0\0"+n(T,4)+n(r,4)+v+w+b}}var a=e("../utils"),s=e("../stream/GenericWorker"),o=e("../utf8"),c=e("../crc32"),l=e("../signature");function u(e,t,i,n){s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=i,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}a.inherits(u,s),u.prototype.push=function(e){var t=e.meta.percent||0,i=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:i?(t+100*(i-n-1))/i:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var i=r(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:i.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,i=r(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(i.dirRecord),t)this.push({data:function(e){return l.DATA_DESCRIPTOR+n(e.crc32,4)+n(e.compressedSize,4)+n(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:i.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.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 i=this.bytesWritten-e,r=function(e,t,i,r,s){var o=a.transformTo("string",s(r));return l.CENTRAL_DIRECTORY_END+"\0\0\0\0"+n(e,2)+n(e,2)+n(t,4)+n(i,4)+n(o.length,2)+o}(this.dirRecords.length,i,e,this.zipComment,this.encodeFileName);this.push({data:r,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.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},u.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!s.prototype.error.call(this,e))return!1;for(var i=0;i<t.length;i++)try{t[i].error(e)}catch(e){}return!0},u.prototype.lock=function(){s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,i){"use strict";var n=e("../compressions"),r=e("./ZipFileWorker");i.generateWorker=function(e,t,i){var a=new r(t.streamFiles,i,t.platform,t.encodeFileName),s=0;try{e.forEach((function(e,i){s++;var r=function(e,t){var i=e||t,r=n[i];if(!r)throw new Error(i+" is not a valid compression method !");return r}(i.options.compression,t.compression),o=i.options.compressionOptions||t.compressionOptions||{},c=i.dir,l=i.date;i._compressWorker(r,o).withStreamInfo("file",{name:e,dir:c,date:l,comment:i.comment||"",unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions}).pipe(a)})),a.entriesCount=s}catch(e){a.error(e)}return a}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,i){"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={},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.5.0",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,i){"use strict";var n=e("./utils"),r=e("./external"),a=e("./utf8"),s=(n=e("./utils"),e("./zipEntries")),o=e("./stream/Crc32Probe"),c=e("./nodejsUtils");function l(e){return new r.Promise((function(t,i){var n=e.decompressed.getContentWorker().pipe(new o);n.on("error",(function(e){i(e)})).on("end",(function(){n.streamInfo.crc32!==e.decompressed.crc32?i(new Error("Corrupted zip : CRC32 mismatch")):t()})).resume()}))}t.exports=function(e,t){var i=this;return t=n.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:a.utf8decode}),c.isNode&&c.isStream(e)?r.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then((function(e){var i=new s(t);return i.load(e),i})).then((function(e){var i=[r.Promise.resolve(e)],n=e.files;if(t.checkCRC32)for(var a=0;a<n.length;a++)i.push(l(n[a]));return r.Promise.all(i)})).then((function(e){for(var n=e.shift(),r=n.files,a=0;a<r.length;a++){var s=r[a];i.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders})}return n.zipComment.length&&(i.comment=n.zipComment),i}))}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,i){"use strict";var n=e("../utils"),r=e("../stream/GenericWorker");function a(e,t){r.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(a,r),a.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()}))},a.prototype.pause=function(){return!!r.prototype.pause.call(this)&&(this._stream.pause(),!0)},a.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=a},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,i){"use strict";var n=e("readable-stream").Readable;function r(e,t,i){n.call(this,t),this._helper=e;var r=this;e.on("data",(function(e,t){r.push(e)||r._helper.pause(),i&&i(t)})).on("error",(function(e){r.emit("error",e)})).on("end",(function(){r.push(null)}))}e("../utils").inherits(r,n),r.prototype._read=function(){this._helper.resume()},t.exports=r},{"../utils":32,"readable-stream":16}],14:[function(e,i,n){"use strict";i.exports={isNode:"undefined"!=typeof t,newBufferFrom:function(e,i){if(t.from&&t.from!==Uint8Array.from)return t.from(e,i);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new t(e,i)},allocBuffer:function(e){if(t.alloc)return t.alloc(e);var i=new t(e);return i.fill(0),i},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,i){"use strict";function n(e,t,i){var n,r=a.getTypeOf(t),o=a.extend(i||{},c);o.date=o.date||new Date,null!==o.compression&&(o.compression=o.compression.toUpperCase()),"string"==typeof o.unixPermissions&&(o.unixPermissions=parseInt(o.unixPermissions,8)),o.unixPermissions&&16384&o.unixPermissions&&(o.dir=!0),o.dosPermissions&&16&o.dosPermissions&&(o.dir=!0),o.dir&&(e=m(e)),o.createFolders&&(n=p(e))&&v.call(this,n,!0);var h="string"===r&&!1===o.binary&&!1===o.base64;i&&void 0!==i.binary||(o.binary=!h),(t instanceof l&&0===t.uncompressedSize||o.dir||!t||0===t.length)&&(o.base64=!1,o.binary=!0,t="",o.compression="STORE",r="string");var g=null;g=t instanceof l||t instanceof s?t:d.isNode&&d.isStream(t)?new f(e,t):a.prepareContent(e,t,o.binary,o.optimizedBinaryString,o.base64);var y=new u(e,g,o);this.files[e]=y}var r=e("./utf8"),a=e("./utils"),s=e("./stream/GenericWorker"),o=e("./stream/StreamHelper"),c=e("./defaults"),l=e("./compressedObject"),u=e("./zipObject"),h=e("./generate"),d=e("./nodejsUtils"),f=e("./nodejs/NodejsStreamInputAdapter"),p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},m=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},v=function(e,t){return t=void 0!==t?t:c.createFolders,e=m(e),this.files[e]||n.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function g(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,i,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(i=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(i,n))},filter:function(e){var t=[];return this.forEach((function(i,n){e(i,n)&&t.push(n)})),t},file:function(e,t,i){if(1!==arguments.length)return e=this.root+e,n.call(this,e,t,i),this;if(g(e)){var r=e;return this.filter((function(e,t){return!t.dir&&r.test(e)}))}var a=this.files[this.root+e];return a&&!a.dir?a:null},folder:function(e){if(!e)return this;if(g(e))return this.filter((function(t,i){return i.dir&&e.test(t)}));var t=this.root+e,i=v.call(this,t),n=this.clone();return n.root=i.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var i=this.filter((function(t,i){return i.name.slice(0,e.length)===e})),n=0;n<i.length;n++)delete this.files[i[n].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,i={};try{if((i=a.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:r.utf8encode})).type=i.type.toLowerCase(),i.compression=i.compression.toUpperCase(),"binarystring"===i.type&&(i.type="string"),!i.type)throw new Error("No output type specified.");a.checkSupport(i.type),"darwin"!==i.platform&&"freebsd"!==i.platform&&"linux"!==i.platform&&"sunos"!==i.platform||(i.platform="UNIX"),"win32"===i.platform&&(i.platform="DOS");var n=i.comment||this.comment||"";t=h.generateWorker(this,i,n)}catch(e){(t=new s("error")).error(e)}return new o(t,i.type||"string",i.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=y},{"./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,i){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,i){"use strict";var n=e("./DataReader");function r(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(r,n),r.prototype.byteAt=function(e){return this.data[this.zero+e]},r.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),i=e.charCodeAt(1),n=e.charCodeAt(2),r=e.charCodeAt(3),a=this.length-4;0<=a;--a)if(this.data[a]===t&&this.data[a+1]===i&&this.data[a+2]===n&&this.data[a+3]===r)return a-this.zero;return-1},r.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),i=e.charCodeAt(1),n=e.charCodeAt(2),r=e.charCodeAt(3),a=this.readData(4);return t===a[0]&&i===a[1]&&n===a[2]&&r===a[3]},r.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=r},{"../utils":32,"./DataReader":18}],18:[function(e,t,i){"use strict";var n=e("../utils");function r(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}r.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(e){},readInt:function(e){var t,i=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)i=(i<<8)+this.byteAt(t);return this.index+=e,i},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},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=r},{"../utils":32}],19:[function(e,t,i){"use strict";var n=e("./Uint8ArrayReader");function r(e){n.call(this,e)}e("../utils").inherits(r,n),r.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=r},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,i){"use strict";var n=e("./DataReader");function r(e){n.call(this,e)}e("../utils").inherits(r,n),r.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},r.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},r.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},r.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=r},{"../utils":32,"./DataReader":18}],21:[function(e,t,i){"use strict";var n=e("./ArrayReader");function r(e){n.call(this,e)}e("../utils").inherits(r,n),r.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=r},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,i){"use strict";var n=e("../utils"),r=e("../support"),a=e("./ArrayReader"),s=e("./StringReader"),o=e("./NodeBufferReader"),c=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||r.uint8array?"nodebuffer"===t?new o(e):r.uint8array?new c(n.transformTo("uint8array",e)):new a(n.transformTo("array",e)):new s(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,i){"use strict";i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,i){"use strict";var n=e("./GenericWorker"),r=e("../utils");function a(e){n.call(this,"ConvertWorker to "+e),this.destType=e}r.inherits(a,n),a.prototype.processChunk=function(e){this.push({data:r.transformTo(this.destType,e.data),meta:e.meta})},t.exports=a},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,i){"use strict";var n=e("./GenericWorker"),r=e("../crc32");function a(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(a,n),a.prototype.processChunk=function(e){this.streamInfo.crc32=r(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=a},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,i){"use strict";var n=e("../utils"),r=e("./GenericWorker");function a(e){r.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(a,r),a.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}r.prototype.processChunk.call(this,e)},t.exports=a},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,i){"use strict";var n=e("../utils"),r=e("./GenericWorker");function a(e){r.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(a,r),a.prototype.cleanUp=function(){r.prototype.cleanUp.call(this),this.data=null},a.prototype.resume=function(){return!!r.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},a.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},a.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=a},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,i){"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 i=0;i<this._listeners[e].length;i++)this._listeners[e][i].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)this.extraStreamInfo.hasOwnProperty(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,i,n){"use strict";var r=e("../utils"),a=e("./ConvertWorker"),s=e("./GenericWorker"),o=e("../base64"),c=e("../support"),l=e("../external"),u=null;if(c.nodestream)try{u=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function h(e,i){return new l.Promise((function(n,a){var s=[],c=e._internalType,l=e._outputType,u=e._mimeType;e.on("data",(function(e,t){s.push(e),i&&i(t)})).on("error",(function(e){s=[],a(e)})).on("end",(function(){try{var e=function(e,t,i){switch(e){case"blob":return r.newBlob(r.transformTo("arraybuffer",t),i);case"base64":return o.encode(t);default:return r.transformTo(e,t)}}(l,function(e,i){var n,r=0,a=null,s=0;for(n=0;n<i.length;n++)s+=i[n].length;switch(e){case"string":return i.join("");case"array":return Array.prototype.concat.apply([],i);case"uint8array":for(a=new Uint8Array(s),n=0;n<i.length;n++)a.set(i[n],r),r+=i[n].length;return a;case"nodebuffer":return t.concat(i);default:throw new Error("concat : unsupported type '"+e+"'")}}(c,s),u);n(e)}catch(e){a(e)}s=[]})).resume()}))}function d(e,t,i){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=i,r.checkSupport(n),this._worker=e.pipe(new a(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}d.prototype={accumulate:function(e){return h(this,e)},on:function(e,t){var i=this;return"data"===e?this._worker.on(e,(function(e){t.call(i,e.data,e.meta)})):this._worker.on(e,(function(){r.delay(t,arguments,i)})),this},resume:function(){return r.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(r.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},i.exports=d},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,i,n){"use strict";if(n.base64=!0,n.array=!0,n.string=!0,n.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,n.nodebuffer="undefined"!=typeof t,n.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)n.blob=!1;else{var r=new ArrayBuffer(0);try{n.blob=0===new Blob([r],{type:"application/zip"}).size}catch(e){try{var a=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);a.append(r),n.blob=0===a.getBlob("application/zip").size}catch(e){n.blob=!1}}}try{n.nodestream=!!e("readable-stream").Readable}catch(e){n.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,i){"use strict";for(var n=e("./utils"),r=e("./support"),a=e("./nodejsUtils"),s=e("./stream/GenericWorker"),o=new Array(256),c=0;c<256;c++)o[c]=252<=c?6:248<=c?5:240<=c?4:224<=c?3:192<=c?2:1;function l(){s.call(this,"utf-8 decode"),this.leftOver=null}function u(){s.call(this,"utf-8 encode")}o[254]=o[254]=1,i.utf8encode=function(e){return r.nodebuffer?a.newBufferFrom(e,"utf-8"):function(e){var t,i,n,a,s,o=e.length,c=0;for(a=0;a<o;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),c+=i<128?1:i<2048?2:i<65536?3:4;for(t=r.uint8array?new Uint8Array(c):new Array(c),a=s=0;s<c;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),i<128?t[s++]=i:(i<2048?t[s++]=192|i>>>6:(i<65536?t[s++]=224|i>>>12:(t[s++]=240|i>>>18,t[s++]=128|i>>>12&63),t[s++]=128|i>>>6&63),t[s++]=128|63&i);return t}(e)},i.utf8decode=function(e){return r.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,i,r,a,s=e.length,c=new Array(2*s);for(t=i=0;t<s;)if((r=e[t++])<128)c[i++]=r;else if(4<(a=o[r]))c[i++]=65533,t+=a-1;else{for(r&=2===a?31:3===a?15:7;1<a&&t<s;)r=r<<6|63&e[t++],a--;1<a?c[i++]=65533:r<65536?c[i++]=r:(r-=65536,c[i++]=55296|r>>10&1023,c[i++]=56320|1023&r)}return c.length!==i&&(c.subarray?c=c.subarray(0,i):c.length=i),n.applyFromCharCode(c)}(e=n.transformTo(r.uint8array?"uint8array":"array",e))},n.inherits(l,s),l.prototype.processChunk=function(e){var t=n.transformTo(r.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(r.uint8array){var a=t;(t=new Uint8Array(a.length+this.leftOver.length)).set(this.leftOver,0),t.set(a,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var s=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return i<0||0===i?t:i+o[e[i]]>t?i:t}(t),c=t;s!==t.length&&(r.uint8array?(c=t.subarray(0,s),this.leftOver=t.subarray(s,t.length)):(c=t.slice(0,s),this.leftOver=t.slice(s,t.length))),this.push({data:i.utf8decode(c),meta:e.meta})},l.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=l,n.inherits(u,s),u.prototype.processChunk=function(e){this.push({data:i.utf8encode(e.data),meta:e.meta})},i.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,i){"use strict";var n=e("./support"),r=e("./base64"),a=e("./nodejsUtils"),s=e("set-immediate-shim"),o=e("./external");function c(e){return e}function l(e,t){for(var i=0;i<e.length;++i)t[i]=255&e.charCodeAt(i);return t}i.newBlob=function(t,n){i.checkSupport("blob");try{return new Blob([t],{type:n})}catch(e){try{var r=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return r.append(t),r.getBlob(n)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var u={stringifyByChunk:function(e,t,i){var n=[],r=0,a=e.length;if(a<=i)return String.fromCharCode.apply(null,e);for(;r<a;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(r,Math.min(r+i,a)))):n.push(String.fromCharCode.apply(null,e.subarray(r,Math.min(r+i,a)))),r+=i;return n.join("")},stringifyByChar:function(e){for(var t="",i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return t},applyCanBeUsed:{uint8array:function(){try{return n.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return n.nodebuffer&&1===String.fromCharCode.apply(null,a.allocBuffer(1)).length}catch(e){return!1}}()}};function h(e){var t=65536,n=i.getTypeOf(e),r=!0;if("uint8array"===n?r=u.applyCanBeUsed.uint8array:"nodebuffer"===n&&(r=u.applyCanBeUsed.nodebuffer),r)for(;1<t;)try{return u.stringifyByChunk(e,n,t)}catch(e){t=Math.floor(t/2)}return u.stringifyByChar(e)}function d(e,t){for(var i=0;i<e.length;i++)t[i]=e[i];return t}i.applyFromCharCode=h;var f={};f.string={string:c,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return f.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,a.allocBuffer(e.length))}},f.array={string:h,array:c,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return a.newBufferFrom(e)}},f.arraybuffer={string:function(e){return h(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:c,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return a.newBufferFrom(new Uint8Array(e))}},f.uint8array={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:c,nodebuffer:function(e){return a.newBufferFrom(e)}},f.nodebuffer={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return f.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:c},i.transformTo=function(e,t){if(t=t||"",!e)return t;i.checkSupport(e);var n=i.getTypeOf(t);return f[n][e](t)},i.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":n.nodebuffer&&a.isBuffer(e)?"nodebuffer":n.uint8array&&e instanceof Uint8Array?"uint8array":n.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(e){if(!n[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(e){var t,i,n="";for(i=0;i<(e||"").length;i++)n+="\\x"+((t=e.charCodeAt(i))<16?"0":"")+t.toString(16).toUpperCase();return n},i.delay=function(e,t,i){s((function(){e.apply(i||null,t||[])}))},i.inherits=function(e,t){function i(){}i.prototype=t.prototype,e.prototype=new i},i.extend=function(){var e,t,i={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===i[t]&&(i[t]=arguments[e][t]);return i},i.prepareContent=function(e,t,a,s,c){return o.Promise.resolve(t).then((function(e){return n.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new o.Promise((function(t,i){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.onerror=function(e){i(e.target.error)},n.readAsArrayBuffer(e)})):e})).then((function(t){var u=i.getTypeOf(t);return u?("arraybuffer"===u?t=i.transformTo("uint8array",t):"string"===u&&(c?t=r.decode(t):a&&!0!==s&&(t=function(e){return l(e,n.uint8array?new Uint8Array(e.length):new Array(e.length))}(t))),t):o.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))}))}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(e,t,i){"use strict";var n=e("./reader/readerFor"),r=e("./utils"),a=e("./signature"),s=e("./zipEntry"),o=(e("./utf8"),e("./support"));function c(e){this.files=[],this.loadOptions=e}c.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 ("+r.pretty(t)+", expected "+r.pretty(e)+")")}},isSignature:function(e,t){var i=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(i),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",i=r.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(i)},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,i,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),i=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:i}},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(a.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(a.CENTRAL_FILE_HEADER);)(e=new s({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(a.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,a.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):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");this.reader.setIndex(e);var t=e;if(this.checkSignature(a.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===r.MAX_VALUE_16BITS||this.diskWithCentralDirStart===r.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===r.MAX_VALUE_16BITS||this.centralDirRecords===r.MAX_VALUE_16BITS||this.centralDirSize===r.MAX_VALUE_32BITS||this.centralDirOffset===r.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(a.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(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,a.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(a.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(a.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var i=this.centralDirOffset+this.centralDirSize;this.zip64&&(i+=20,i+=12+this.zip64EndOfCentralSize);var n=t-i;if(0<n)this.isSignature(t,a.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=c},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(e,t,i){"use strict";var n=e("./reader/readerFor"),r=e("./utils"),a=e("./compressedObject"),s=e("./crc32"),o=e("./utf8"),c=e("./compressions"),l=e("./support");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,i;if(e.skip(22),this.fileNameLength=e.readInt(2),i=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(i),-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 c)if(c.hasOwnProperty(t)&&c[t].magic===e)return c[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+r.pretty(this.compressionMethod)+" unknown (inner file : "+r.transformTo("string",this.fileName)+")");this.decompressed=new a(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(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===r.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===r.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===r.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===r.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,i,n,r=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<r;)t=e.readInt(2),i=e.readInt(2),n=e.readData(i),this.extraFields[t]={id:t,length:i,value:n};e.setIndex(r)},handleUTF8:function(){var e=l.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 i=r.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(i)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var a=r.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(a)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)||s(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)||s(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,i){"use strict";function n(e,t,i){this.name=e,this.dir=i.dir,this.date=i.date,this.comment=i.comment,this.unixPermissions=i.unixPermissions,this.dosPermissions=i.dosPermissions,this._data=t,this._dataBinary=i.binary,this.options={compression:i.compression,compressionOptions:i.compressionOptions}}var r=e("./stream/StreamHelper"),a=e("./stream/DataWorker"),s=e("./utf8"),o=e("./compressedObject"),c=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,i="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(i=e.toLowerCase())||"text"===i;"binarystring"!==i&&"text"!==i||(i="string"),t=this._decompressWorker();var a=!this._dataBinary;a&&!n&&(t=t.pipe(new s.Utf8EncodeWorker)),!a&&n&&(t=t.pipe(new s.Utf8DecodeWorker))}catch(e){(t=new c("error")).error(e)}return new r(t,i,"")},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 i=this._decompressWorker();return this._dataBinary||(i=i.pipe(new s.Utf8EncodeWorker)),o.createWorkerFrom(i,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof c?this._data:new a(this._data)}};for(var l=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<l.length;h++)n.prototype[l[h]]=u;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,n){(function(e){"use strict";var i,n,r=e.MutationObserver||e.WebKitMutationObserver;if(r){var a=0,s=new r(u),o=e.document.createTextNode("");s.observe(o,{characterData:!0}),i=function(){o.data=a=++a%2}}else if(e.setImmediate||void 0===e.MessageChannel)i="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var c=new e.MessageChannel;c.port1.onmessage=u,i=function(){c.port2.postMessage(0)}}var l=[];function u(){var e,t;n=!0;for(var i=l.length;i;){for(t=l,l=[],e=-1;++e<i;)t[e]();i=l.length}n=!1}t.exports=function(e){1!==l.push(e)||n||i()}}).call(this,"undefined"!=typeof i?i:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,i){"use strict";var n=e("immediate");function r(){}var a={},s=["REJECTED"],o=["FULFILLED"],c=["PENDING"];function l(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=c,this.queue=[],this.outcome=void 0,e!==r&&f(this,e)}function u(e,t,i){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof i&&(this.onRejected=i,this.callRejected=this.otherCallRejected)}function h(e,t,i){n((function(){var n;try{n=t(i)}catch(n){return a.reject(e,n)}n===e?a.reject(e,new TypeError("Cannot resolve promise with itself")):a.resolve(e,n)}))}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function f(e,t){var i=!1;function n(t){i||(i=!0,a.reject(e,t))}function r(t){i||(i=!0,a.resolve(e,t))}var s=p((function(){t(r,n)}));"error"===s.status&&n(s.value)}function p(e,t){var i={};try{i.value=e(t),i.status="success"}catch(e){i.status="error",i.value=e}return i}(t.exports=l).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then((function(i){return t.resolve(e()).then((function(){return i}))}),(function(i){return t.resolve(e()).then((function(){throw i}))}))},l.prototype.catch=function(e){return this.then(null,e)},l.prototype.then=function(e,t){if("function"!=typeof e&&this.state===o||"function"!=typeof t&&this.state===s)return this;var i=new this.constructor(r);return this.state!==c?h(i,this.state===o?e:t,this.outcome):this.queue.push(new u(i,e,t)),i},u.prototype.callFulfilled=function(e){a.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){a.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},a.resolve=function(e,t){var i=p(d,t);if("error"===i.status)return a.reject(e,i.value);var n=i.value;if(n)f(e,n);else{e.state=o,e.outcome=t;for(var r=-1,s=e.queue.length;++r<s;)e.queue[r].callFulfilled(t)}return e},a.reject=function(e,t){e.state=s,e.outcome=t;for(var i=-1,n=e.queue.length;++i<n;)e.queue[i].callRejected(t);return e},l.resolve=function(e){return e instanceof this?e:a.resolve(new this(r),e)},l.reject=function(e){var t=new this(r);return a.reject(t,e)},l.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var i=e.length,n=!1;if(!i)return this.resolve([]);for(var s=new Array(i),o=0,c=-1,l=new this(r);++c<i;)u(e[c],c);return l;function u(e,r){t.resolve(e).then((function(e){s[r]=e,++o!==i||n||(n=!0,a.resolve(l,s))}),(function(e){n||(n=!0,a.reject(l,e))}))}},l.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var i=e.length,n=!1;if(!i)return this.resolve([]);for(var s,o=-1,c=new this(r);++o<i;)s=e[o],t.resolve(s).then((function(e){n||(n=!0,a.resolve(c,e))}),(function(e){n||(n=!0,a.reject(c,e))}));return c}},{immediate:36}],38:[function(e,t,i){"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,i){"use strict";var n=e("./zlib/deflate"),r=e("./utils/common"),a=e("./utils/strings"),s=e("./zlib/messages"),o=e("./zlib/zstream"),c=Object.prototype.toString,l=0,u=-1,h=0,d=8;function f(e){if(!(this instanceof f))return new f(e);this.options=r.assign({level:u,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:h,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 o,this.strm.avail_out=0;var i=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==l)throw new Error(s[i]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var p;if(p="string"==typeof t.dictionary?a.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(i=n.deflateSetDictionary(this.strm,p))!==l)throw new Error(s[i]);this._dict_set=!0}}function p(e,t){var i=new f(t);if(i.push(e,!0),i.err)throw i.msg||s[i.err];return i.result}f.prototype.push=function(e,t){var i,s,o=this.strm,u=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?o.input=a.string2buf(e):"[object ArrayBuffer]"===c.call(e)?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new r.Buf8(u),o.next_out=0,o.avail_out=u),1!==(i=n.deflate(o,s))&&i!==l)return this.onEnd(i),!(this.ended=!0);0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(a.buf2binstring(r.shrinkBuf(o.output,o.next_out))):this.onData(r.shrinkBuf(o.output,o.next_out)))}while((0<o.avail_in||0===o.avail_out)&&1!==i);return 4===s?(i=n.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===l):2!==s||(this.onEnd(l),!(o.avail_out=0))},f.prototype.onData=function(e){this.chunks.push(e)},f.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Deflate=f,i.deflate=p,i.deflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},i.gzip=function(e,t){return(t=t||{}).gzip=!0,p(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,i){"use strict";var n=e("./zlib/inflate"),r=e("./utils/common"),a=e("./utils/strings"),s=e("./zlib/constants"),o=e("./zlib/messages"),c=e("./zlib/zstream"),l=e("./zlib/gzheader"),u=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=r.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 c,this.strm.avail_out=0;var i=n.inflateInit2(this.strm,t.windowBits);if(i!==s.Z_OK)throw new Error(o[i]);this.header=new l,n.inflateGetHeader(this.strm,this.header)}function d(e,t){var i=new h(t);if(i.push(e,!0),i.err)throw i.msg||o[i.err];return i.result}h.prototype.push=function(e,t){var i,o,c,l,h,d,f=this.strm,p=this.options.chunkSize,m=this.options.dictionary,v=!1;if(this.ended)return!1;o=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?f.input=a.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?f.input=new Uint8Array(e):f.input=e,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new r.Buf8(p),f.next_out=0,f.avail_out=p),(i=n.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&m&&(d="string"==typeof m?a.string2buf(m):"[object ArrayBuffer]"===u.call(m)?new Uint8Array(m):m,i=n.inflateSetDictionary(this.strm,d)),i===s.Z_BUF_ERROR&&!0===v&&(i=s.Z_OK,v=!1),i!==s.Z_STREAM_END&&i!==s.Z_OK)return this.onEnd(i),!(this.ended=!0);f.next_out&&(0!==f.avail_out&&i!==s.Z_STREAM_END&&(0!==f.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(c=a.utf8border(f.output,f.next_out),l=f.next_out-c,h=a.buf2string(f.output,c),f.next_out=l,f.avail_out=p-l,l&&r.arraySet(f.output,f.output,c,l,0),this.onData(h)):this.onData(r.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(v=!0)}while((0<f.avail_in||0===f.avail_out)&&i!==s.Z_STREAM_END);return i===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(i=n.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),!(f.avail_out=0))},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},i.Inflate=h,i.inflate=d,i.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},i.ungzip=d},{"./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,i){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;i.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)i.hasOwnProperty(n)&&(e[n]=i[n])}}return e},i.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,i,n,r){if(t.subarray&&e.subarray)e.set(t.subarray(i,i+n),r);else for(var a=0;a<n;a++)e[r+a]=t[i+a]},flattenChunks:function(e){var t,i,n,r,a,s;for(t=n=0,i=e.length;t<i;t++)n+=e[t].length;for(s=new Uint8Array(n),t=r=0,i=e.length;t<i;t++)a=e[t],s.set(a,r),r+=a.length;return s}},a={arraySet:function(e,t,i,n,r){for(var a=0;a<n;a++)e[r+a]=t[i+a]},flattenChunks:function(e){return[].concat.apply([],e)}};i.setTyped=function(e){e?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,r)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,a))},i.setTyped(n)},{}],42:[function(e,t,i){"use strict";var n=e("./common"),r=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(e){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){a=!1}for(var s=new n.Buf8(256),o=0;o<256;o++)s[o]=252<=o?6:248<=o?5:240<=o?4:224<=o?3:192<=o?2:1;function c(e,t){if(t<65537&&(e.subarray&&a||!e.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var i="",s=0;s<t;s++)i+=String.fromCharCode(e[s]);return i}s[254]=s[254]=1,i.string2buf=function(e){var t,i,r,a,s,o=e.length,c=0;for(a=0;a<o;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(r=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(r-56320),a++),c+=i<128?1:i<2048?2:i<65536?3:4;for(t=new n.Buf8(c),a=s=0;s<c;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<o&&56320==(64512&(r=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(r-56320),a++),i<128?t[s++]=i:(i<2048?t[s++]=192|i>>>6:(i<65536?t[s++]=224|i>>>12:(t[s++]=240|i>>>18,t[s++]=128|i>>>12&63),t[s++]=128|i>>>6&63),t[s++]=128|63&i);return t},i.buf2binstring=function(e){return c(e,e.length)},i.binstring2buf=function(e){for(var t=new n.Buf8(e.length),i=0,r=t.length;i<r;i++)t[i]=e.charCodeAt(i);return t},i.buf2string=function(e,t){var i,n,r,a,o=t||e.length,l=new Array(2*o);for(i=n=0;i<o;)if((r=e[i++])<128)l[n++]=r;else if(4<(a=s[r]))l[n++]=65533,i+=a-1;else{for(r&=2===a?31:3===a?15:7;1<a&&i<o;)r=r<<6|63&e[i++],a--;1<a?l[n++]=65533:r<65536?l[n++]=r:(r-=65536,l[n++]=55296|r>>10&1023,l[n++]=56320|1023&r)}return c(l,n)},i.utf8border=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return i<0||0===i?t:i+s[e[i]]>t?i:t}},{"./common":41}],43:[function(e,t,i){"use strict";t.exports=function(e,t,i,n){for(var r=65535&e|0,a=e>>>16&65535|0,s=0;0!==i;){for(i-=s=2e3<i?2e3:i;a=a+(r=r+t[n++]|0)|0,--s;);r%=65521,a%=65521}return r|a<<16|0}},{}],44:[function(e,t,i){"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,i){"use strict";var n=function(){for(var e,t=[],i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t,i,r){var a=n,s=r+i;e^=-1;for(var o=r;o<s;o++)e=e>>>8^a[255&(e^t[o])];return-1^e}},{}],46:[function(e,t,i){"use strict";var n,r=e("../utils/common"),a=e("./trees"),s=e("./adler32"),o=e("./crc32"),c=e("./messages"),l=0,u=4,h=0,d=-2,f=-1,p=4,m=2,v=8,g=9,y=286,b=30,C=19,S=2*y+1,x=15,w=3,_=258,A=_+w+1,E=42,k=113,M=1,z=2,T=3,I=4;function N(e,t){return e.msg=c[t],t}function D(e){return(e<<1)-(4<e?9:0)}function P(e){for(var t=e.length;0<=--t;)e[t]=0}function O(e){var t=e.state,i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(r.arraySet(e.output,t.pending_buf,t.pending_out,i,e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))}function H(e,t){a._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,O(e.strm)}function F(e,t){e.pending_buf[e.pending++]=t}function L(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function V(e,t){var i,n,r=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match,c=e.strstart>e.w_size-A?e.strstart-(e.w_size-A):0,l=e.window,u=e.w_mask,h=e.prev,d=e.strstart+_,f=l[a+s-1],p=l[a+s];e.prev_length>=e.good_match&&(r>>=2),o>e.lookahead&&(o=e.lookahead);do{if(l[(i=t)+s]===p&&l[i+s-1]===f&&l[i]===l[a]&&l[++i]===l[a+1]){a+=2,i++;do{}while(l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&l[++a]===l[++i]&&a<d);if(n=_-(d-a),a=d-_,s<n){if(e.match_start=t,o<=(s=n))break;f=l[a+s-1],p=l[a+s]}}}while((t=h[t&u])>c&&0!=--r);return s<=e.lookahead?s:e.lookahead}function R(e){var t,i,n,a,c,l,u,h,d,f,p=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-A)){for(r.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=i=e.hash_size;n=e.head[--t],e.head[t]=p<=n?n-p:0,--i;);for(t=i=p;n=e.prev[--t],e.prev[t]=p<=n?n-p:0,--i;);a+=p}if(0===e.strm.avail_in)break;if(l=e.strm,u=e.window,h=e.strstart+e.lookahead,d=a,f=void 0,f=l.avail_in,d<f&&(f=d),i=0===f?0:(l.avail_in-=f,r.arraySet(u,l.input,l.next_in,f,h),1===l.state.wrap?l.adler=s(l.adler,u,f,h):2===l.state.wrap&&(l.adler=o(l.adler,u,f,h)),l.next_in+=f,l.total_in+=f,f),e.lookahead+=i,e.lookahead+e.insert>=w)for(c=e.strstart-e.insert,e.ins_h=e.window[c],e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[c+w-1])&e.hash_mask,e.prev[c&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=c,c++,e.insert--,!(e.lookahead+e.insert<w)););}while(e.lookahead<A&&0!==e.strm.avail_in)}function B(e,t){for(var i,n;;){if(e.lookahead<A){if(R(e),e.lookahead<A&&t===l)return M;if(0===e.lookahead)break}if(i=0,e.lookahead>=w&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+w-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-A&&(e.match_length=V(e,i)),e.match_length>=w)if(n=a._tr_tally(e,e.strstart-e.match_start,e.match_length-w),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=w){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+w-1])&e.hash_mask,i=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=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(H(e,!1),0===e.strm.avail_out))return M}return e.insert=e.strstart<w-1?e.strstart:w-1,t===u?(H(e,!0),0===e.strm.avail_out?T:I):e.last_lit&&(H(e,!1),0===e.strm.avail_out)?M:z}function j(e,t){for(var i,n,r;;){if(e.lookahead<A){if(R(e),e.lookahead<A&&t===l)return M;if(0===e.lookahead)break}if(i=0,e.lookahead>=w&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+w-1])&e.hash_mask,i=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=w-1,0!==i&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-A&&(e.match_length=V(e,i),e.match_length<=5&&(1===e.strategy||e.match_length===w&&4096<e.strstart-e.match_start)&&(e.match_length=w-1)),e.prev_length>=w&&e.match_length<=e.prev_length){for(r=e.strstart+e.lookahead-w,n=a._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-w),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+w-1])&e.hash_mask,i=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=w-1,e.strstart++,n&&(H(e,!1),0===e.strm.avail_out))return M}else if(e.match_available){if((n=a._tr_tally(e,0,e.window[e.strstart-1]))&&H(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return M}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=a._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<w-1?e.strstart:w-1,t===u?(H(e,!0),0===e.strm.avail_out?T:I):e.last_lit&&(H(e,!1),0===e.strm.avail_out)?M:z}function $(e,t,i,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=n,this.func=r}function K(){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 r.Buf16(2*S),this.dyn_dtree=new r.Buf16(2*(2*b+1)),this.bl_tree=new r.Buf16(2*(2*C+1)),P(this.dyn_ltree),P(this.dyn_dtree),P(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(x+1),this.heap=new r.Buf16(2*y+1),P(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*y+1),P(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 q(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=m,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?E:k,e.adler=2===t.wrap?0:1,t.last_flush=l,a._tr_init(t),h):N(e,d)}function U(e){var t=q(e);return t===h&&function(e){e.window_size=2*e.w_size,P(e.head),e.max_lazy_match=n[e.level].max_lazy,e.good_match=n[e.level].good_length,e.nice_match=n[e.level].nice_length,e.max_chain_length=n[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=w-1,e.match_available=0,e.ins_h=0}(e.state),t}function W(e,t,i,n,a,s){if(!e)return d;var o=1;if(t===f&&(t=6),n<0?(o=0,n=-n):15<n&&(o=2,n-=16),a<1||g<a||i!==v||n<8||15<n||t<0||9<t||s<0||p<s)return N(e,d);8===n&&(n=9);var c=new K;return(e.state=c).strm=e,c.wrap=o,c.gzhead=null,c.w_bits=n,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=a+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+w-1)/w),c.window=new r.Buf8(2*c.w_size),c.head=new r.Buf16(c.hash_size),c.prev=new r.Buf16(c.w_size),c.lit_bufsize=1<<a+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new r.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=t,c.strategy=s,c.method=i,U(e)}n=[new $(0,0,0,0,(function(e,t){var i=65535;for(i>e.pending_buf_size-5&&(i=e.pending_buf_size-5);;){if(e.lookahead<=1){if(R(e),0===e.lookahead&&t===l)return M;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+i;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,H(e,!1),0===e.strm.avail_out))return M;if(e.strstart-e.block_start>=e.w_size-A&&(H(e,!1),0===e.strm.avail_out))return M}return e.insert=0,t===u?(H(e,!0),0===e.strm.avail_out?T:I):(e.strstart>e.block_start&&(H(e,!1),e.strm.avail_out),M)})),new $(4,4,8,4,B),new $(4,5,16,8,B),new $(4,6,32,32,B),new $(4,4,16,16,j),new $(8,16,32,32,j),new $(8,16,128,128,j),new $(8,32,128,256,j),new $(32,128,258,1024,j),new $(32,258,258,4096,j)],i.deflateInit=function(e,t){return W(e,t,v,15,8,0)},i.deflateInit2=W,i.deflateReset=U,i.deflateResetKeep=q,i.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?d:(e.state.gzhead=t,h):d},i.deflate=function(e,t){var i,r,s,c;if(!e||!e.state||5<t||t<0)return e?N(e,d):d;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||666===r.status&&t!==u)return N(e,0===e.avail_out?-5:d);if(r.strm=e,i=r.last_flush,r.last_flush=t,r.status===E)if(2===r.wrap)e.adler=0,F(r,31),F(r,139),F(r,8),r.gzhead?(F(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),F(r,255&r.gzhead.time),F(r,r.gzhead.time>>8&255),F(r,r.gzhead.time>>16&255),F(r,r.gzhead.time>>24&255),F(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),F(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(F(r,255&r.gzhead.extra.length),F(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=o(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(F(r,0),F(r,0),F(r,0),F(r,0),F(r,0),F(r,9===r.level?2:2<=r.strategy||r.level<2?4:0),F(r,3),r.status=k);else{var f=v+(r.w_bits-8<<4)<<8;f|=(2<=r.strategy||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(f|=32),f+=31-f%31,r.status=k,L(r,f),0!==r.strstart&&(L(r,e.adler>>>16),L(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(s=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>s&&(e.adler=o(e.adler,r.pending_buf,r.pending-s,s)),O(e),s=r.pending,r.pending!==r.pending_buf_size));)F(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>s&&(e.adler=o(e.adler,r.pending_buf,r.pending-s,s)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=o(e.adler,r.pending_buf,r.pending-s,s)),O(e),s=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,F(r,c)}while(0!==c);r.gzhead.hcrc&&r.pending>s&&(e.adler=o(e.adler,r.pending_buf,r.pending-s,s)),0===c&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){s=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>s&&(e.adler=o(e.adler,r.pending_buf,r.pending-s,s)),O(e),s=r.pending,r.pending===r.pending_buf_size)){c=1;break}c=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,F(r,c)}while(0!==c);r.gzhead.hcrc&&r.pending>s&&(e.adler=o(e.adler,r.pending_buf,r.pending-s,s)),0===c&&(r.status=103)}else r.status=103;if(103===r.status&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&O(e),r.pending+2<=r.pending_buf_size&&(F(r,255&e.adler),F(r,e.adler>>8&255),e.adler=0,r.status=k)):r.status=k),0!==r.pending){if(O(e),0===e.avail_out)return r.last_flush=-1,h}else if(0===e.avail_in&&D(t)<=D(i)&&t!==u)return N(e,-5);if(666===r.status&&0!==e.avail_in)return N(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==l&&666!==r.status){var p=2===r.strategy?function(e,t){for(var i;;){if(0===e.lookahead&&(R(e),0===e.lookahead)){if(t===l)return M;break}if(e.match_length=0,i=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(H(e,!1),0===e.strm.avail_out))return M}return e.insert=0,t===u?(H(e,!0),0===e.strm.avail_out?T:I):e.last_lit&&(H(e,!1),0===e.strm.avail_out)?M:z}(r,t):3===r.strategy?function(e,t){for(var i,n,r,s,o=e.window;;){if(e.lookahead<=_){if(R(e),e.lookahead<=_&&t===l)return M;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=w&&0<e.strstart&&(n=o[r=e.strstart-1])===o[++r]&&n===o[++r]&&n===o[++r]){s=e.strstart+_;do{}while(n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&n===o[++r]&&r<s);e.match_length=_-(s-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=w?(i=a._tr_tally(e,1,e.match_length-w),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=a._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(H(e,!1),0===e.strm.avail_out))return M}return e.insert=0,t===u?(H(e,!0),0===e.strm.avail_out?T:I):e.last_lit&&(H(e,!1),0===e.strm.avail_out)?M:z}(r,t):n[r.level].func(r,t);if(p!==T&&p!==I||(r.status=666),p===M||p===T)return 0===e.avail_out&&(r.last_flush=-1),h;if(p===z&&(1===t?a._tr_align(r):5!==t&&(a._tr_stored_block(r,0,0,!1),3===t&&(P(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),O(e),0===e.avail_out))return r.last_flush=-1,h}return t!==u?h:r.wrap<=0?1:(2===r.wrap?(F(r,255&e.adler),F(r,e.adler>>8&255),F(r,e.adler>>16&255),F(r,e.adler>>24&255),F(r,255&e.total_in),F(r,e.total_in>>8&255),F(r,e.total_in>>16&255),F(r,e.total_in>>24&255)):(L(r,e.adler>>>16),L(r,65535&e.adler)),O(e),0<r.wrap&&(r.wrap=-r.wrap),0!==r.pending?h:1)},i.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==E&&69!==t&&73!==t&&91!==t&&103!==t&&t!==k&&666!==t?N(e,d):(e.state=null,t===k?N(e,-3):h):d},i.deflateSetDictionary=function(e,t){var i,n,a,o,c,l,u,f,p=t.length;if(!e||!e.state)return d;if(2===(o=(i=e.state).wrap)||1===o&&i.status!==E||i.lookahead)return d;for(1===o&&(e.adler=s(e.adler,t,p,0)),i.wrap=0,p>=i.w_size&&(0===o&&(P(i.head),i.strstart=0,i.block_start=0,i.insert=0),f=new r.Buf8(i.w_size),r.arraySet(f,t,p-i.w_size,i.w_size,0),t=f,p=i.w_size),c=e.avail_in,l=e.next_in,u=e.input,e.avail_in=p,e.next_in=0,e.input=t,R(i);i.lookahead>=w;){for(n=i.strstart,a=i.lookahead-(w-1);i.ins_h=(i.ins_h<<i.hash_shift^i.window[n+w-1])&i.hash_mask,i.prev[n&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=n,n++,--a;);i.strstart=n,i.lookahead=w-1,R(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=w-1,i.match_available=0,e.next_in=l,e.input=u,e.avail_in=c,i.wrap=o,h},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,i){"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,i){"use strict";t.exports=function(e,t){var i,n,r,a,s,o,c,l,u,h,d,f,p,m,v,g,y,b,C,S,x,w,_,A,E;i=e.state,n=e.next_in,A=e.input,r=n+(e.avail_in-5),a=e.next_out,E=e.output,s=a-(t-e.avail_out),o=a+(e.avail_out-257),c=i.dmax,l=i.wsize,u=i.whave,h=i.wnext,d=i.window,f=i.hold,p=i.bits,m=i.lencode,v=i.distcode,g=(1<<i.lenbits)-1,y=(1<<i.distbits)-1;e:do{p<15&&(f+=A[n++]<<p,p+=8,f+=A[n++]<<p,p+=8),b=m[f&g];t:for(;;){if(f>>>=C=b>>>24,p-=C,0===(C=b>>>16&255))E[a++]=65535&b;else{if(!(16&C)){if(0==(64&C)){b=m[(65535&b)+(f&(1<<C)-1)];continue t}if(32&C){i.mode=12;break e}e.msg="invalid literal/length code",i.mode=30;break e}S=65535&b,(C&=15)&&(p<C&&(f+=A[n++]<<p,p+=8),S+=f&(1<<C)-1,f>>>=C,p-=C),p<15&&(f+=A[n++]<<p,p+=8,f+=A[n++]<<p,p+=8),b=v[f&y];i:for(;;){if(f>>>=C=b>>>24,p-=C,!(16&(C=b>>>16&255))){if(0==(64&C)){b=v[(65535&b)+(f&(1<<C)-1)];continue i}e.msg="invalid distance code",i.mode=30;break e}if(x=65535&b,p<(C&=15)&&(f+=A[n++]<<p,(p+=8)<C&&(f+=A[n++]<<p,p+=8)),c<(x+=f&(1<<C)-1)){e.msg="invalid distance too far back",i.mode=30;break e}if(f>>>=C,p-=C,(C=a-s)<x){if(u<(C=x-C)&&i.sane){e.msg="invalid distance too far back",i.mode=30;break e}if(_=d,(w=0)===h){if(w+=l-C,C<S){for(S-=C;E[a++]=d[w++],--C;);w=a-x,_=E}}else if(h<C){if(w+=l+h-C,(C-=h)<S){for(S-=C;E[a++]=d[w++],--C;);if(w=0,h<S){for(S-=C=h;E[a++]=d[w++],--C;);w=a-x,_=E}}}else if(w+=h-C,C<S){for(S-=C;E[a++]=d[w++],--C;);w=a-x,_=E}for(;2<S;)E[a++]=_[w++],E[a++]=_[w++],E[a++]=_[w++],S-=3;S&&(E[a++]=_[w++],1<S&&(E[a++]=_[w++]))}else{for(w=a-x;E[a++]=E[w++],E[a++]=E[w++],E[a++]=E[w++],2<(S-=3););S&&(E[a++]=E[w++],1<S&&(E[a++]=E[w++]))}break}}break}}while(n<r&&a<o);n-=S=p>>3,f&=(1<<(p-=S<<3))-1,e.next_in=n,e.next_out=a,e.avail_in=n<r?r-n+5:5-(n-r),e.avail_out=a<o?o-a+257:257-(a-o),i.hold=f,i.bits=p}},{}],49:[function(e,t,i){"use strict";var n=e("../utils/common"),r=e("./adler32"),a=e("./crc32"),s=e("./inffast"),o=e("./inftrees"),c=1,l=2,u=0,h=-2,d=1,f=852,p=592;function m(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function v(){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 n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function g(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=d,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(f),t.distcode=t.distdyn=new n.Buf32(p),t.sane=1,t.back=-1,u):h}function y(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,g(e)):h}function b(e,t){var i,n;return e&&e.state?(n=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?h:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=i,n.wbits=t,y(e))):h}function C(e,t){var i,n;return e?(n=new v,(e.state=n).window=null,(i=b(e,t))!==u&&(e.state=null),i):h}var S,x,w=!0;function _(e){if(w){var t;for(S=new n.Buf32(512),x=new n.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(o(c,e.lens,0,288,S,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;o(l,e.lens,0,32,x,0,e.work,{bits:5}),w=!1}e.lencode=S,e.lenbits=9,e.distcode=x,e.distbits=5}function A(e,t,i,r){var a,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),r>=s.wsize?(n.arraySet(s.window,t,i-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(r<(a=s.wsize-s.wnext)&&(a=r),n.arraySet(s.window,t,i-r,a,s.wnext),(r-=a)?(n.arraySet(s.window,t,i-r,r,0),s.wnext=r,s.whave=s.wsize):(s.wnext+=a,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=a))),0}i.inflateReset=y,i.inflateReset2=b,i.inflateResetKeep=g,i.inflateInit=function(e){return C(e,15)},i.inflateInit2=C,i.inflate=function(e,t){var i,f,p,v,g,y,b,C,S,x,w,E,k,M,z,T,I,N,D,P,O,H,F,L,V=0,R=new n.Buf8(4),B=[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 h;12===(i=e.state).mode&&(i.mode=13),g=e.next_out,p=e.output,b=e.avail_out,v=e.next_in,f=e.input,y=e.avail_in,C=i.hold,S=i.bits,x=y,w=b,H=u;e:for(;;)switch(i.mode){case d:if(0===i.wrap){i.mode=13;break}for(;S<16;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(2&i.wrap&&35615===C){R[i.check=0]=255&C,R[1]=C>>>8&255,i.check=a(i.check,R,2,0),S=C=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&C)<<8)+(C>>8))%31){e.msg="incorrect header check",i.mode=30;break}if(8!=(15&C)){e.msg="unknown compression method",i.mode=30;break}if(S-=4,O=8+(15&(C>>>=4)),0===i.wbits)i.wbits=O;else if(O>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<<O,e.adler=i.check=1,i.mode=512&C?10:12,S=C=0;break;case 2:for(;S<16;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(i.flags=C,8!=(255&i.flags)){e.msg="unknown compression method",i.mode=30;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=30;break}i.head&&(i.head.text=C>>8&1),512&i.flags&&(R[0]=255&C,R[1]=C>>>8&255,i.check=a(i.check,R,2,0)),S=C=0,i.mode=3;case 3:for(;S<32;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}i.head&&(i.head.time=C),512&i.flags&&(R[0]=255&C,R[1]=C>>>8&255,R[2]=C>>>16&255,R[3]=C>>>24&255,i.check=a(i.check,R,4,0)),S=C=0,i.mode=4;case 4:for(;S<16;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}i.head&&(i.head.xflags=255&C,i.head.os=C>>8),512&i.flags&&(R[0]=255&C,R[1]=C>>>8&255,i.check=a(i.check,R,2,0)),S=C=0,i.mode=5;case 5:if(1024&i.flags){for(;S<16;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}i.length=C,i.head&&(i.head.extra_len=C),512&i.flags&&(R[0]=255&C,R[1]=C>>>8&255,i.check=a(i.check,R,2,0)),S=C=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(y<(E=i.length)&&(E=y),E&&(i.head&&(O=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),n.arraySet(i.head.extra,f,v,E,O)),512&i.flags&&(i.check=a(i.check,f,E,v)),y-=E,v+=E,i.length-=E),i.length))break e;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===y)break e;for(E=0;O=f[v+E++],i.head&&O&&i.length<65536&&(i.head.name+=String.fromCharCode(O)),O&&E<y;);if(512&i.flags&&(i.check=a(i.check,f,E,v)),y-=E,v+=E,O)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===y)break e;for(E=0;O=f[v+E++],i.head&&O&&i.length<65536&&(i.head.comment+=String.fromCharCode(O)),O&&E<y;);if(512&i.flags&&(i.check=a(i.check,f,E,v)),y-=E,v+=E,O)break e}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;S<16;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(C!==(65535&i.check)){e.msg="header crc mismatch",i.mode=30;break}S=C=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=12;break;case 10:for(;S<32;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}e.adler=i.check=m(C),S=C=0,i.mode=11;case 11:if(0===i.havedict)return e.next_out=g,e.avail_out=b,e.next_in=v,e.avail_in=y,i.hold=C,i.bits=S,2;e.adler=i.check=1,i.mode=12;case 12:if(5===t||6===t)break e;case 13:if(i.last){C>>>=7&S,S-=7&S,i.mode=27;break}for(;S<3;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}switch(i.last=1&C,S-=1,3&(C>>>=1)){case 0:i.mode=14;break;case 1:if(_(i),i.mode=20,6!==t)break;C>>>=2,S-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}C>>>=2,S-=2;break;case 14:for(C>>>=7&S,S-=7&S;S<32;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if((65535&C)!=(C>>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&C,S=C=0,i.mode=15,6===t)break e;case 15:i.mode=16;case 16:if(E=i.length){if(y<E&&(E=y),b<E&&(E=b),0===E)break e;n.arraySet(p,f,v,E,g),y-=E,v+=E,b-=E,g+=E,i.length-=E;break}i.mode=12;break;case 17:for(;S<14;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(i.nlen=257+(31&C),C>>>=5,S-=5,i.ndist=1+(31&C),C>>>=5,S-=5,i.ncode=4+(15&C),C>>>=4,S-=4,286<i.nlen||30<i.ndist){e.msg="too many length or distance symbols",i.mode=30;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;S<3;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}i.lens[B[i.have++]]=7&C,C>>>=3,S-=3}for(;i.have<19;)i.lens[B[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,F={bits:i.lenbits},H=o(0,i.lens,0,19,i.lencode,0,i.work,F),i.lenbits=F.bits,H){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;T=(V=i.lencode[C&(1<<i.lenbits)-1])>>>16&255,I=65535&V,!((z=V>>>24)<=S);){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(I<16)C>>>=z,S-=z,i.lens[i.have++]=I;else{if(16===I){for(L=z+2;S<L;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(C>>>=z,S-=z,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}O=i.lens[i.have-1],E=3+(3&C),C>>>=2,S-=2}else if(17===I){for(L=z+3;S<L;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}S-=z,O=0,E=3+(7&(C>>>=z)),C>>>=3,S-=3}else{for(L=z+7;S<L;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}S-=z,O=0,E=11+(127&(C>>>=z)),C>>>=7,S-=7}if(i.have+E>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;E--;)i.lens[i.have++]=O}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,F={bits:i.lenbits},H=o(c,i.lens,0,i.nlen,i.lencode,0,i.work,F),i.lenbits=F.bits,H){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,F={bits:i.distbits},H=o(l,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,F),i.distbits=F.bits,H){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,6===t)break e;case 20:i.mode=21;case 21:if(6<=y&&258<=b){e.next_out=g,e.avail_out=b,e.next_in=v,e.avail_in=y,i.hold=C,i.bits=S,s(e,w),g=e.next_out,p=e.output,b=e.avail_out,v=e.next_in,f=e.input,y=e.avail_in,C=i.hold,S=i.bits,12===i.mode&&(i.back=-1);break}for(i.back=0;T=(V=i.lencode[C&(1<<i.lenbits)-1])>>>16&255,I=65535&V,!((z=V>>>24)<=S);){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(T&&0==(240&T)){for(N=z,D=T,P=I;T=(V=i.lencode[P+((C&(1<<N+D)-1)>>N)])>>>16&255,I=65535&V,!(N+(z=V>>>24)<=S);){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}C>>>=N,S-=N,i.back+=N}if(C>>>=z,S-=z,i.back+=z,i.length=I,0===T){i.mode=26;break}if(32&T){i.back=-1,i.mode=12;break}if(64&T){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&T,i.mode=22;case 22:if(i.extra){for(L=i.extra;S<L;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}i.length+=C&(1<<i.extra)-1,C>>>=i.extra,S-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;T=(V=i.distcode[C&(1<<i.distbits)-1])>>>16&255,I=65535&V,!((z=V>>>24)<=S);){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(0==(240&T)){for(N=z,D=T,P=I;T=(V=i.distcode[P+((C&(1<<N+D)-1)>>N)])>>>16&255,I=65535&V,!(N+(z=V>>>24)<=S);){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}C>>>=N,S-=N,i.back+=N}if(C>>>=z,S-=z,i.back+=z,64&T){e.msg="invalid distance code",i.mode=30;break}i.offset=I,i.extra=15&T,i.mode=24;case 24:if(i.extra){for(L=i.extra;S<L;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}i.offset+=C&(1<<i.extra)-1,C>>>=i.extra,S-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===b)break e;if(E=w-b,i.offset>E){if((E=i.offset-E)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}k=E>i.wnext?(E-=i.wnext,i.wsize-E):i.wnext-E,E>i.length&&(E=i.length),M=i.window}else M=p,k=g-i.offset,E=i.length;for(b<E&&(E=b),b-=E,i.length-=E;p[g++]=M[k++],--E;);0===i.length&&(i.mode=21);break;case 26:if(0===b)break e;p[g++]=i.length,b--,i.mode=21;break;case 27:if(i.wrap){for(;S<32;){if(0===y)break e;y--,C|=f[v++]<<S,S+=8}if(w-=b,e.total_out+=w,i.total+=w,w&&(e.adler=i.check=i.flags?a(i.check,p,w,g-w):r(i.check,p,w,g-w)),w=b,(i.flags?C:m(C))!==i.check){e.msg="incorrect data check",i.mode=30;break}S=C=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;S<32;){if(0===y)break e;y--,C+=f[v++]<<S,S+=8}if(C!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=30;break}S=C=0}i.mode=29;case 29:H=1;break e;case 30:H=-3;break e;case 31:return-4;case 32:default:return h}return e.next_out=g,e.avail_out=b,e.next_in=v,e.avail_in=y,i.hold=C,i.bits=S,(i.wsize||w!==e.avail_out&&i.mode<30&&(i.mode<27||4!==t))&&A(e,e.output,e.next_out,w-e.avail_out)?(i.mode=31,-4):(x-=e.avail_in,w-=e.avail_out,e.total_in+=x,e.total_out+=w,i.total+=w,i.wrap&&w&&(e.adler=i.check=i.flags?a(i.check,p,w,e.next_out-w):r(i.check,p,w,e.next_out-w)),e.data_type=i.bits+(i.last?64:0)+(12===i.mode?128:0)+(20===i.mode||15===i.mode?256:0),(0==x&&0===w||4===t)&&H===u&&(H=-5),H)},i.inflateEnd=function(e){if(!e||!e.state)return h;var t=e.state;return t.window&&(t.window=null),e.state=null,u},i.inflateGetHeader=function(e,t){var i;return e&&e.state?0==(2&(i=e.state).wrap)?h:((i.head=t).done=!1,u):h},i.inflateSetDictionary=function(e,t){var i,n=t.length;return e&&e.state?0!==(i=e.state).wrap&&11!==i.mode?h:11===i.mode&&r(1,t,n,0)!==i.check?-3:A(e,t,n,n)?(i.mode=31,-4):(i.havedict=1,u):h},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,i){"use strict";var n=e("../utils/common"),r=[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],s=[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],o=[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,i,c,l,u,h,d){var f,p,m,v,g,y,b,C,S,x=d.bits,w=0,_=0,A=0,E=0,k=0,M=0,z=0,T=0,I=0,N=0,D=null,P=0,O=new n.Buf16(16),H=new n.Buf16(16),F=null,L=0;for(w=0;w<=15;w++)O[w]=0;for(_=0;_<c;_++)O[t[i+_]]++;for(k=x,E=15;1<=E&&0===O[E];E--);if(E<k&&(k=E),0===E)return l[u++]=20971520,l[u++]=20971520,d.bits=1,0;for(A=1;A<E&&0===O[A];A++);for(k<A&&(k=A),w=T=1;w<=15;w++)if(T<<=1,(T-=O[w])<0)return-1;if(0<T&&(0===e||1!==E))return-1;for(H[1]=0,w=1;w<15;w++)H[w+1]=H[w]+O[w];for(_=0;_<c;_++)0!==t[i+_]&&(h[H[t[i+_]]++]=_);if(y=0===e?(D=F=h,19):1===e?(D=r,P-=257,F=a,L-=257,256):(D=s,F=o,-1),w=A,g=u,z=_=N=0,m=-1,v=(I=1<<(M=k))-1,1===e&&852<I||2===e&&592<I)return 1;for(;;){for(b=w-z,S=h[_]<y?(C=0,h[_]):h[_]>y?(C=F[L+h[_]],D[P+h[_]]):(C=96,0),f=1<<w-z,A=p=1<<M;l[g+(N>>z)+(p-=f)]=b<<24|C<<16|S|0,0!==p;);for(f=1<<w-1;N&f;)f>>=1;if(0!==f?(N&=f-1,N+=f):N=0,_++,0==--O[w]){if(w===E)break;w=t[i+h[_]]}if(k<w&&(N&v)!==m){for(0===z&&(z=k),g+=A,T=1<<(M=w-z);M+z<E&&!((T-=O[M+z])<=0);)M++,T<<=1;if(I+=1<<M,1===e&&852<I||2===e&&592<I)return 1;l[m=N&v]=k<<24|M<<16|g-u|0}}return 0!==N&&(l[g+N]=w-z<<24|64<<16|0),d.bits=k,0}},{"../utils/common":41}],51:[function(e,t,i){"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,i){"use strict";var n=e("../utils/common"),r=0,a=1;function s(e){for(var t=e.length;0<=--t;)e[t]=0}var o=0,c=29,l=256,u=l+1+c,h=30,d=19,f=2*u+1,p=15,m=16,v=7,g=256,y=16,b=17,C=18,S=[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],w=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],A=new Array(2*(u+2));s(A);var E=new Array(2*h);s(E);var k=new Array(512);s(k);var M=new Array(256);s(M);var z=new Array(c);s(z);var T,I,N,D=new Array(h);function P(e,t,i,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}function O(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function H(e){return e<256?k[e]:k[256+(e>>>7)]}function F(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function L(e,t,i){e.bi_valid>m-i?(e.bi_buf|=t<<e.bi_valid&65535,F(e,e.bi_buf),e.bi_buf=t>>m-e.bi_valid,e.bi_valid+=i-m):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=i)}function V(e,t,i){L(e,i[2*t],i[2*t+1])}function R(e,t){for(var i=0;i|=1&e,e>>>=1,i<<=1,0<--t;);return i>>>1}function B(e,t,i){var n,r,a=new Array(p+1),s=0;for(n=1;n<=p;n++)a[n]=s=s+i[n-1]<<1;for(r=0;r<=t;r++){var o=e[2*r+1];0!==o&&(e[2*r]=R(a[o]++,o))}}function j(e){var t;for(t=0;t<u;t++)e.dyn_ltree[2*t]=0;for(t=0;t<h;t++)e.dyn_dtree[2*t]=0;for(t=0;t<d;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*g]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function $(e){8<e.bi_valid?F(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 K(e,t,i,n){var r=2*t,a=2*i;return e[r]<e[a]||e[r]===e[a]&&n[t]<=n[i]}function q(e,t,i){for(var n=e.heap[i],r=i<<1;r<=e.heap_len&&(r<e.heap_len&&K(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!K(t,n,e.heap[r],e.depth));)e.heap[i]=e.heap[r],i=r,r<<=1;e.heap[i]=n}function U(e,t,i){var n,r,a,s,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],r=e.pending_buf[e.l_buf+o],o++,0===n?V(e,r,t):(V(e,(a=M[r])+l+1,t),0!==(s=S[a])&&L(e,r-=z[a],s),V(e,a=H(--n),i),0!==(s=x[a])&&L(e,n-=D[a],s)),o<e.last_lit;);V(e,g,t)}function W(e,t){var i,n,r,a=t.dyn_tree,s=t.stat_desc.static_tree,o=t.stat_desc.has_stree,c=t.stat_desc.elems,l=-1;for(e.heap_len=0,e.heap_max=f,i=0;i<c;i++)0!==a[2*i]?(e.heap[++e.heap_len]=l=i,e.depth[i]=0):a[2*i+1]=0;for(;e.heap_len<2;)a[2*(r=e.heap[++e.heap_len]=l<2?++l:0)]=1,e.depth[r]=0,e.opt_len--,o&&(e.static_len-=s[2*r+1]);for(t.max_code=l,i=e.heap_len>>1;1<=i;i--)q(e,a,i);for(r=c;i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],q(e,a,1),n=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=n,a[2*r]=a[2*i]+a[2*n],e.depth[r]=(e.depth[i]>=e.depth[n]?e.depth[i]:e.depth[n])+1,a[2*i+1]=a[2*n+1]=r,e.heap[1]=r++,q(e,a,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var i,n,r,a,s,o,c=t.dyn_tree,l=t.max_code,u=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,m=t.stat_desc.extra_base,v=t.stat_desc.max_length,g=0;for(a=0;a<=p;a++)e.bl_count[a]=0;for(c[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;i<f;i++)v<(a=c[2*c[2*(n=e.heap[i])+1]+1]+1)&&(a=v,g++),c[2*n+1]=a,l<n||(e.bl_count[a]++,s=0,m<=n&&(s=d[n-m]),o=c[2*n],e.opt_len+=o*(a+s),h&&(e.static_len+=o*(u[2*n+1]+s)));if(0!==g){do{for(a=v-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[v]--,g-=2}while(0<g);for(a=v;0!==a;a--)for(n=e.bl_count[a];0!==n;)l<(r=e.heap[--i])||(c[2*r+1]!==a&&(e.opt_len+=(a-c[2*r+1])*c[2*r],c[2*r+1]=a),n--)}}(e,t),B(a,l,e.bl_count)}function X(e,t,i){var n,r,a=-1,s=t[1],o=0,c=7,l=4;for(0===s&&(c=138,l=3),t[2*(i+1)+1]=65535,n=0;n<=i;n++)r=s,s=t[2*(n+1)+1],++o<c&&r===s||(o<l?e.bl_tree[2*r]+=o:0!==r?(r!==a&&e.bl_tree[2*r]++,e.bl_tree[2*y]++):o<=10?e.bl_tree[2*b]++:e.bl_tree[2*C]++,a=r,l=(o=0)===s?(c=138,3):r===s?(c=6,3):(c=7,4))}function G(e,t,i){var n,r,a=-1,s=t[1],o=0,c=7,l=4;for(0===s&&(c=138,l=3),n=0;n<=i;n++)if(r=s,s=t[2*(n+1)+1],!(++o<c&&r===s)){if(o<l)for(;V(e,r,e.bl_tree),0!=--o;);else 0!==r?(r!==a&&(V(e,r,e.bl_tree),o--),V(e,y,e.bl_tree),L(e,o-3,2)):o<=10?(V(e,b,e.bl_tree),L(e,o-3,3)):(V(e,C,e.bl_tree),L(e,o-11,7));a=r,l=(o=0)===s?(c=138,3):r===s?(c=6,3):(c=7,4)}}s(D);var Y=!1;function Z(e,t,i,r){L(e,(o<<1)+(r?1:0),3),function(e,t,i,r){$(e),r&&(F(e,i),F(e,~i)),n.arraySet(e.pending_buf,e.window,t,i,e.pending),e.pending+=i}(e,t,i,!0)}i._tr_init=function(e){Y||(function(){var e,t,i,n,r,a=new Array(p+1);for(n=i=0;n<c-1;n++)for(z[n]=i,e=0;e<1<<S[n];e++)M[i++]=n;for(M[i-1]=n,n=r=0;n<16;n++)for(D[n]=r,e=0;e<1<<x[n];e++)k[r++]=n;for(r>>=7;n<h;n++)for(D[n]=r<<7,e=0;e<1<<x[n]-7;e++)k[256+r++]=n;for(t=0;t<=p;t++)a[t]=0;for(e=0;e<=143;)A[2*e+1]=8,e++,a[8]++;for(;e<=255;)A[2*e+1]=9,e++,a[9]++;for(;e<=279;)A[2*e+1]=7,e++,a[7]++;for(;e<=287;)A[2*e+1]=8,e++,a[8]++;for(B(A,u+1,a),e=0;e<h;e++)E[2*e+1]=5,E[2*e]=R(e,5);T=new P(A,S,l+1,u,p),I=new P(E,x,0,h,p),N=new P(new Array(0),w,0,d,v)}(),Y=!0),e.l_desc=new O(e.dyn_ltree,T),e.d_desc=new O(e.dyn_dtree,I),e.bl_desc=new O(e.bl_tree,N),e.bi_buf=0,e.bi_valid=0,j(e)},i._tr_stored_block=Z,i._tr_flush_block=function(e,t,i,n){var s,o,c=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return a;for(t=32;t<l;t++)if(0!==e.dyn_ltree[2*t])return a;return r}(e)),W(e,e.l_desc),W(e,e.d_desc),c=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),W(e,e.bl_desc),t=d-1;3<=t&&0===e.bl_tree[2*_[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),s=e.opt_len+3+7>>>3,(o=e.static_len+3+7>>>3)<=s&&(s=o)):s=o=i+5,i+4<=s&&-1!==t?Z(e,t,i,n):4===e.strategy||o===s?(L(e,2+(n?1:0),3),U(e,A,E)):(L(e,4+(n?1:0),3),function(e,t,i,n){var r;for(L(e,t-257,5),L(e,i-1,5),L(e,n-4,4),r=0;r<n;r++)L(e,e.bl_tree[2*_[r]+1],3);G(e,e.dyn_ltree,t-1),G(e,e.dyn_dtree,i-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,c+1),U(e,e.dyn_ltree,e.dyn_dtree)),j(e),n&&$(e)},i._tr_tally=function(e,t,i){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&i,e.last_lit++,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(M[i]+l+1)]++,e.dyn_dtree[2*H(t)]++),e.last_lit===e.lit_bufsize-1},i._tr_align=function(e){L(e,2,3),V(e,g,A),function(e){16===e.bi_valid?(F(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,i){"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,i){"use strict";t.exports="function"==typeof setImmediate?setImmediate:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e)}},{}]},{},[10])(10)}))}).call(this,i("b639").Buffer,i("c8ba"))},c532:function(e,t,i){"use strict";var n=i("1d2b"),r=Object.prototype.toString;function a(e){return"[object Array]"===r.call(e)}function s(e){return"undefined"===typeof e}function o(e){return null!==e&&!s(e)&&null!==e.constructor&&!s(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function c(e){return"[object ArrayBuffer]"===r.call(e)}function l(e){return"undefined"!==typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function h(e){return"string"===typeof e}function d(e){return"number"===typeof e}function f(e){return null!==e&&"object"===typeof e}function p(e){if("[object Object]"!==r.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function m(e){return"[object Date]"===r.call(e)}function v(e){return"[object File]"===r.call(e)}function g(e){return"[object Blob]"===r.call(e)}function y(e){return"[object Function]"===r.call(e)}function b(e){return f(e)&&y(e.pipe)}function C(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function S(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function w(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.call(null,e[r],r,e)}function _(){var e={};function t(t,i){p(e[i])&&p(t)?e[i]=_(e[i],t):p(t)?e[i]=_({},t):a(t)?e[i]=t.slice():e[i]=t}for(var i=0,n=arguments.length;i<n;i++)w(arguments[i],t);return e}function A(e,t,i){return w(t,(function(t,r){e[r]=i&&"function"===typeof t?n(t,i):t})),e}function E(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}e.exports={isArray:a,isArrayBuffer:c,isBuffer:o,isFormData:l,isArrayBufferView:u,isString:h,isNumber:d,isObject:f,isPlainObject:p,isUndefined:s,isDate:m,isFile:v,isBlob:g,isFunction:y,isStream:b,isURLSearchParams:C,isStandardBrowserEnv:x,forEach:w,merge:_,extend:A,trim:S,stripBOM:E}},c56a:function(e,t,i){"use strict";t.__esModule=!0,t.default=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e||!t)throw new Error("instance & callback is required");var r=!1,a=function(){r||(r=!0,t&&t.apply(null,arguments))};n?e.$once("after-leave",a):e.$on("after-leave",a),setTimeout((function(){a()}),i+100)}},c6b6:function(e,t){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},c6cd:function(e,t,i){var n=i("da84"),r=i("ce4e"),a="__core-js_shared__",s=n[a]||r(a,{});e.exports=s},c8af:function(e,t,i){"use strict";var n=i("c532");e.exports=function(e,t){n.forEach(e,(function(i,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=i,delete e[n])}))}},c8ba:function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(n){"object"===typeof window&&(i=window)}e.exports=i},c8d2:function(e,t,i){var n=i("d039"),r=i("5899"),a="​᠎";e.exports=function(e){return n((function(){return!!r[e]()||a[e]()!=a||r[e].name!==e}))}},c901:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on  "+e);return e}},c975:function(e,t,i){"use strict";var n=i("23e7"),r=i("4d64").indexOf,a=i("a640"),s=i("ae40"),o=[].indexOf,c=!!o&&1/[1].indexOf(1,-0)<0,l=a("indexOf"),u=s("indexOf",{ACCESSORS:!0,1:0});n({target:"Array",proto:!0,forced:c||!l||!u},{indexOf:function(e){return c?o.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:void 0)}})},ca84:function(e,t,i){var n=i("5135"),r=i("fc6a"),a=i("4d64").indexOf,s=i("d012");e.exports=function(e,t){var i,o=r(e),c=0,l=[];for(i in o)!n(s,i)&&n(o,i)&&l.push(i);while(t.length>c)n(o,i=t[c++])&&(~a(l,i)||l.push(i));return l}},ca91:function(e,t,i){"use strict";var n=i("ebb5"),r=i("d58f").left,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}))},caad:function(e,t,i){"use strict";var n=i("23e7"),r=i("4d64").includes,a=i("44d2"),s=i("ae40"),o=s("indexOf",{ACCESSORS:!0,1:0});n({target:"Array",proto:!0,forced:!o},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}}),a("includes")},cb1f:function(e,t,i){var n;n=function(){"use strict";var e=1e13;function t(e){this.buf=[+e||0]}return t.prototype.mulAdd=function(t,i){var n,r,a=this.buf,s=a.length;for(n=0;n<s;++n)r=a[n]*t+i,r<e?i=0:(i=0|r/e,r-=i*e),a[n]=r;i>0&&(a[n]=i)},t.prototype.sub=function(t){var i,n,r=this.buf,a=r.length;for(i=0;i<a;++i)n=r[i]-t,n<0?(n+=e,t=1):t=0,r[i]=n;while(0===r[r.length-1])r.pop()},t.prototype.toString=function(t){if(10!=(t||10))throw"only base 10 is supported";for(var i=this.buf,n=i[i.length-1].toString(),r=i.length-2;r>=0;--r)n+=(e+i[r]).toString().substring(1);return n},t.prototype.valueOf=function(){for(var t=this.buf,i=0,n=t.length-1;n>=0;--n)i=i*e+t[n];return i},t.prototype.simplify=function(){var e=this.buf;return 1==e.length?e[0]:this},t}.call(t,i,t,e),void 0===n||(e.exports=n)},cc12:function(e,t,i){var n=i("da84"),r=i("861d"),a=n.document,s=r(a)&&r(a.createElement);e.exports=function(e){return s?a.createElement(e):{}}},cc15:function(e,t,i){var n=i("b367")("wks"),r=i("8b1a"),a=i("ef08").Symbol,s="function"==typeof a,o=e.exports=function(e){return n[e]||(n[e]=s&&a[e]||(s?a:r)("Symbol."+e))};o.store=n},cca6:function(e,t,i){var n=i("23e7"),r=i("60da");n({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},cd26:function(e,t,i){"use strict";var n=i("ebb5"),r=n.aTypedArray,a=n.exportTypedArrayMethod,s=Math.floor;a("reverse",(function(){var e,t=this,i=r(t).length,n=s(i/2),a=0;while(a<n)e=t[a],t[a++]=t[--i],t[i]=e;return t}))},cd38:function(e,t,i){"use strict";const n=i("90da").buildOptions,r={attributeNamePrefix:"@_",attrNodeName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataTagName:!1,cdataPositionChar:"\\c",format:!1,indentBy:"  ",supressEmptyNode:!1,tagValueProcessor:function(e){return e},attrValueProcessor:function(e){return e}},a=["attributeNamePrefix","attrNodeName","textNodeName","ignoreAttributes","cdataTagName","cdataPositionChar","format","indentBy","supressEmptyNode","tagValueProcessor","attrValueProcessor"];function s(e){this.options=n(e,r,a),this.options.ignoreAttributes||this.options.attrNodeName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=p),this.options.cdataTagName?this.isCDATA=m:this.isCDATA=function(){return!1},this.replaceCDATAstr=o,this.replaceCDATAarr=c,this.options.format?(this.indentate=f,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine=""),this.options.supressEmptyNode?(this.buildTextNode=d,this.buildObjNode=u):(this.buildTextNode=h,this.buildObjNode=l),this.buildTextValNode=h,this.buildObjectNode=l}function o(e,t){return e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e?e+"<![CDATA["+t+"]]"+this.tagEndChar:e.replace(this.options.cdataPositionChar,"<![CDATA["+t+"]]"+this.tagEndChar)}function c(e,t){if(e=this.options.tagValueProcessor(""+e),""===this.options.cdataPositionChar||""===e)return e+"<![CDATA["+t.join("]]><![CDATA[")+"]]"+this.tagEndChar;for(let i in t)e=e.replace(this.options.cdataPositionChar,"<![CDATA["+t[i]+"]]>");return e+this.newLine}function l(e,t,i,n){return i&&!e.includes("<")?this.indentate(n)+"<"+t+i+">"+e+"</"+t+this.tagEndChar:this.indentate(n)+"<"+t+i+this.tagEndChar+e+this.indentate(n)+"</"+t+this.tagEndChar}function u(e,t,i,n){return""!==e?this.buildObjectNode(e,t,i,n):this.indentate(n)+"<"+t+i+"/"+this.tagEndChar}function h(e,t,i,n){return this.indentate(n)+"<"+t+i+">"+this.options.tagValueProcessor(e)+"</"+t+this.tagEndChar}function d(e,t,i,n){return""!==e?this.buildTextValNode(e,t,i,n):this.indentate(n)+"<"+t+i+"/"+this.tagEndChar}function f(e){return this.options.indentBy.repeat(e)}function p(e){return!!e.startsWith(this.options.attributeNamePrefix)&&e.substr(this.attrPrefixLen)}function m(e){return e===this.options.cdataTagName}s.prototype.parse=function(e){return this.j2x(e,0).val},s.prototype.j2x=function(e,t){let i="",n="";const r=Object.keys(e),a=r.length;for(let s=0;s<a;s++){const a=r[s];if("undefined"===typeof e[a]);else if(null===e[a])n+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if(e[a]instanceof Date)n+=this.buildTextNode(e[a],a,"",t);else if("object"!==typeof e[a]){const r=this.isAttribute(a);r?i+=" "+r+'="'+this.options.attrValueProcessor(""+e[a])+'"':this.isCDATA(a)?e[this.options.textNodeName]?n+=this.replaceCDATAstr(e[this.options.textNodeName],e[a]):n+=this.replaceCDATAstr("",e[a]):a===this.options.textNodeName?e[this.options.cdataTagName]||(n+=this.options.tagValueProcessor(""+e[a])):n+=this.buildTextNode(e[a],a,"",t)}else if(Array.isArray(e[a]))if(this.isCDATA(a))n+=this.indentate(t),e[this.options.textNodeName]?n+=this.replaceCDATAarr(e[this.options.textNodeName],e[a]):n+=this.replaceCDATAarr("",e[a]);else{const i=e[a].length;for(let r=0;r<i;r++){const i=e[a][r];if("undefined"===typeof i);else if(null===i)n+=this.indentate(t)+"<"+a+"/"+this.tagEndChar;else if("object"===typeof i){const e=this.j2x(i,t+1);n+=this.buildObjNode(e.val,a,e.attrStr,t)}else n+=this.buildTextNode(i,a,"",t)}}else if(this.options.attrNodeName&&a===this.options.attrNodeName){const t=Object.keys(e[a]),n=t.length;for(let r=0;r<n;r++)i+=" "+t[r]+'="'+this.options.attrValueProcessor(""+e[a][t[r]])+'"'}else{const i=this.j2x(e[a],t+1);n+=this.buildObjNode(i.val,a,i.attrStr,t)}}return{attrStr:i,val:n}},e.exports=s},cdf9:function(e,t,i){var n=i("825a"),r=i("861d"),a=i("f069");e.exports=function(e,t){if(n(e),r(t)&&t.constructor===e)return t;var i=a.f(e),s=i.resolve;return s(t),i.promise}},ce4e:function(e,t,i){var n=i("da84"),r=i("9112");e.exports=function(e,t){try{r(n,e,t)}catch(i){n[e]=t}return t}},ce7a:function(e,t,i){var n=i("9c0e"),r=i("0983"),a=i("5a94")("IE_PROTO"),s=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=r(e),n(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},cee4:function(e,t,i){"use strict";var n=i("c532"),r=i("1d2b"),a=i("0a06"),s=i("4a7b"),o=i("2444");function c(e){var t=new a(e),i=r(a.prototype.request,t);return n.extend(i,a.prototype,t),n.extend(i,t),i}var l=c(o);l.Axios=a,l.create=function(e){return c(s(l.defaults,e))},l.Cancel=i("7a77"),l.CancelToken=i("8df4"),l.isCancel=i("2e67"),l.all=function(e){return Promise.all(e)},l.spread=i("0df6"),e.exports=l,e.exports.default=l},d010:function(e,t,i){"use strict";function n(e,t,i){this.$children.forEach((function(r){var a=r.$options.componentName;a===e?r.$emit.apply(r,[t].concat(i)):n.apply(r,[e,t].concat([i]))}))}t.__esModule=!0,t.default={methods:{dispatch:function(e,t,i){var n=this.$parent||this.$root,r=n.$options.componentName;while(n&&(!r||r!==e))n=n.$parent,n&&(r=n.$options.componentName);n&&n.$emit.apply(n,[t].concat(i))},broadcast:function(e,t,i){n.call(this,e,t,i)}}}},d012:function(e,t){e.exports={}},d039:function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},d066:function(e,t,i){var n=i("428f"),r=i("da84"),a=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?a(n[e])||a(r[e]):n[e]&&n[e][t]||r[e]&&r[e][t]}},d139:function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").find,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},d16a:function(e,t,i){var n=i("fc5e"),r=Math.min;e.exports=function(e){return e>0?r(n(e),9007199254740991):0}},d1e7:function(e,t,i){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,a=r&&!n.call({1:2},1);t.f=a?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},d28b:function(e,t,i){var n=i("746f");n("iterator")},d2a2:function(e,t,i){i("2ca0");var n=i("b109");e.exports=n("String","startsWith")},d2bb:function(e,t,i){var n=i("825a"),r=i("3bbe");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,i={};try{e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,e.call(i,[]),t=i instanceof Array}catch(a){}return function(i,a){return n(i),r(a),t?e.call(i,a):i.__proto__=a,i}}():void 0)},d397:function(e,t,i){"use strict";function n(e){return void 0!==e&&null!==e}function r(e){var t=/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi;return t.test(e)}t.__esModule=!0,t.isDef=n,t.isKorean=r},d3b7:function(e,t,i){var n=i("00ee"),r=i("6eeb"),a=i("b041");n||r(Object.prototype,"toString",a,{unsafe:!0})},d44e:function(e,t,i){var n=i("9bf2").f,r=i("5135"),a=i("b622"),s=a("toStringTag");e.exports=function(e,t,i){e&&!r(e=i?e:e.prototype,s)&&n(e,s,{configurable:!0,value:t})}},d4af:function(e,t,i){"use strict";var n=i("8eb7"),r=i("7b3e"),a=10,s=40,o=800;function c(e){var t=0,i=0,n=0,r=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),n=t*a,r=i*a,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(n=e.deltaX),(n||r)&&e.deltaMode&&(1==e.deltaMode?(n*=s,r*=s):(n*=o,r*=o)),n&&!t&&(t=n<1?-1:1),r&&!i&&(i=r<1?-1:1),{spinX:t,spinY:i,pixelX:n,pixelY:r}}c.getEventType=function(){return n.firefox()?"DOMMouseScroll":r("wheel")?"wheel":"mousewheel"},e.exports=c},d4ec:function(e,t,i){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}i.d(t,"a",(function(){return n}))},d58f:function(e,t,i){var n=i("1c0b"),r=i("7b0b"),a=i("44ad"),s=i("50c4"),o=function(e){return function(t,i,o,c){n(i);var l=r(t),u=a(l),h=s(l.length),d=e?h-1:0,f=e?-1:1;if(o<2)while(1){if(d in u){c=u[d],d+=f;break}if(d+=f,e?d<0:h<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:h>d;d+=f)d in u&&(c=i(c,u[d],d,l));return c}};e.exports={left:o(!1),right:o(!0)}},d5d6:function(e,t,i){"use strict";var n=i("ebb5"),r=i("b727").forEach,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},d627:function(e,t,i){i("f5b2");var n=i("b109");e.exports=n("String","codePointAt")},d784:function(e,t,i){"use strict";i("ac1f");var n=i("6eeb"),r=i("d039"),a=i("b622"),s=i("9263"),o=i("9112"),c=a("species"),l=!r((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),u=function(){return"$0"==="a".replace(/./,"$0")}(),h=a("replace"),d=function(){return!!/./[h]&&""===/./[h]("a","$0")}(),f=!r((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var i="ab".split(e);return 2!==i.length||"a"!==i[0]||"b"!==i[1]}));e.exports=function(e,t,i,h){var p=a(e),m=!r((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),v=m&&!r((function(){var t=!1,i=/a/;return"split"===e&&(i={},i.constructor={},i.constructor[c]=function(){return i},i.flags="",i[p]=/./[p]),i.exec=function(){return t=!0,null},i[p](""),!t}));if(!m||!v||"replace"===e&&(!l||!u||d)||"split"===e&&!f){var g=/./[p],y=i(p,""[e],(function(e,t,i,n,r){return t.exec===s?m&&!r?{done:!0,value:g.call(t,i,n)}:{done:!0,value:e.call(i,t,n)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),b=y[0],C=y[1];n(String.prototype,e,b),n(RegExp.prototype,p,2==t?function(e,t){return C.call(e,this,t)}:function(e){return C.call(e,this)})}h&&o(RegExp.prototype[p],"sham",!0)}},d7d1:function(e,t,i){"use strict";var n;(function(r){var a={},s=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,o="\\d\\d?",c="\\d{3}",l="\\d{4}",u="[^\\s]+",h=/\[([^]*?)\]/gm,d=function(){};function f(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")}function p(e,t){for(var i=[],n=0,r=e.length;n<r;n++)i.push(e[n].substr(0,t));return i}function m(e){return function(t,i,n){var r=n[e].indexOf(i.charAt(0).toUpperCase()+i.substr(1).toLowerCase());~r&&(t.month=r)}}function v(e,t){e=String(e),t=t||2;while(e.length<t)e="0"+e;return e}var g=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],y=["January","February","March","April","May","June","July","August","September","October","November","December"],b=p(y,3),C=p(g,3);a.i18n={dayNamesShort:C,dayNames:g,monthNamesShort:b,monthNames:y,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10)*e%10]}};var S={D:function(e){return e.getDay()},DD:function(e){return v(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return v(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return v(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return v(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return v(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return v(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return v(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return v(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return v(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return v(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return v(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+v(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},x={d:[o,function(e,t){e.day=t}],Do:[o+u,function(e,t){e.day=parseInt(t,10)}],M:[o,function(e,t){e.month=t-1}],yy:[o,function(e,t){var i=new Date,n=+(""+i.getFullYear()).substr(0,2);e.year=""+(t>68?n-1:n)+t}],h:[o,function(e,t){e.hour=t}],m:[o,function(e,t){e.minute=t}],s:[o,function(e,t){e.second=t}],yyyy:[l,function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:[c,function(e,t){e.millisecond=t}],D:[o,d],ddd:[u,d],MMM:[u,m("monthNamesShort")],MMMM:[u,m("monthNames")],a:[u,function(e,t,i){var n=t.toLowerCase();n===i.amPm[0]?e.isPm=!1:n===i.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var i,n=(t+"").match(/([+-]|\d\d)/gi);n&&(i=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?i:-i)}]};x.dd=x.d,x.dddd=x.ddd,x.DD=x.D,x.mm=x.m,x.hh=x.H=x.HH=x.h,x.MM=x.M,x.ss=x.s,x.A=x.a,a.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},a.format=function(e,t,i){var n=i||a.i18n;if("number"===typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=a.masks[t]||t||a.masks["default"];var r=[];return t=t.replace(h,(function(e,t){return r.push(t),"@@@"})),t=t.replace(s,(function(t){return t in S?S[t](e,n):t.slice(1,t.length-1)})),t.replace(/@@@/g,(function(){return r.shift()}))},a.parse=function(e,t,i){var n=i||a.i18n;if("string"!==typeof t)throw new Error("Invalid format in fecha.parse");if(t=a.masks[t]||t,e.length>1e3)return null;var r={},o=[],c=[];t=t.replace(h,(function(e,t){return c.push(t),"@@@"}));var l=f(t).replace(s,(function(e){if(x[e]){var t=x[e];return o.push(t[1]),"("+t[0]+")"}return e}));l=l.replace(/@@@/g,(function(){return c.shift()}));var u=e.match(new RegExp(l,"i"));if(!u)return null;for(var d=1;d<u.length;d++)o[d-1](r,u[d],n);var p,m=new Date;return!0===r.isPm&&null!=r.hour&&12!==+r.hour?r.hour=+r.hour+12:!1===r.isPm&&12===+r.hour&&(r.hour=0),null!=r.timezoneOffset?(r.minute=+(r.minute||0)-+r.timezoneOffset,p=new Date(Date.UTC(r.year||m.getFullYear(),r.month||0,r.day||1,r.hour||0,r.minute||0,r.second||0,r.millisecond||0))):p=new Date(r.year||m.getFullYear(),r.month||0,r.day||1,r.hour||0,r.minute||0,r.second||0,r.millisecond||0),p},e.exports?e.exports=a:(n=function(){return a}.call(t,i,t,e),void 0===n||(e.exports=n))})()},d925:function(e,t,i){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},d940:function(e,t,i){"use strict";t.__esModule=!0,t.validateRangeInOneMonth=t.extractTimeFormat=t.extractDateFormat=t.nextYear=t.prevYear=t.nextMonth=t.prevMonth=t.changeYearMonthAndClampDate=t.timeWithinRange=t.limitTimeRange=t.clearMilliseconds=t.clearTime=t.modifyWithTimeString=t.modifyTime=t.modifyDate=t.range=t.getRangeMinutes=t.getMonthDays=t.getPrevMonthLastDays=t.getRangeHours=t.getWeekNumber=t.getStartDateOfMonth=t.nextDate=t.prevDate=t.getFirstDayOfMonth=t.getDayCountOfYear=t.getDayCountOfMonth=t.parseDate=t.formatDate=t.isDateObject=t.isDate=t.toDate=t.getI18nSettings=void 0;var n=i("d7d1"),r=s(n),a=i("4897");function s(e){return e&&e.__esModule?e:{default:e}}var o=["sun","mon","tue","wed","thu","fri","sat"],c=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],l=function(e,t){for(var i=[],n=e;n<=t;n++)i.push(n);return i},u=t.getI18nSettings=function(){return{dayNamesShort:o.map((function(e){return(0,a.t)("el.datepicker.weeks."+e)})),dayNames:o.map((function(e){return(0,a.t)("el.datepicker.weeks."+e)})),monthNamesShort:c.map((function(e){return(0,a.t)("el.datepicker.months."+e)})),monthNames:c.map((function(e,t){return(0,a.t)("el.datepicker.month"+(t+1))})),amPm:["am","pm"]}},h=t.toDate=function(e){return d(e)?new Date(e):null},d=t.isDate=function(e){return null!==e&&void 0!==e&&(!isNaN(new Date(e).getTime())&&!Array.isArray(e))},f=(t.isDateObject=function(e){return e instanceof Date},t.formatDate=function(e,t){return e=h(e),e?r.default.format(e,t||"yyyy-MM-dd",u()):""},t.parseDate=function(e,t){return r.default.parse(e,t||"yyyy-MM-dd",u())}),p=t.getDayCountOfMonth=function(e,t){return 3===t||5===t||8===t||10===t?30:1===t?e%4===0&&e%100!==0||e%400===0?29:28:31},m=(t.getDayCountOfYear=function(e){var t=e%400===0||e%100!==0&&e%4===0;return t?366:365},t.getFirstDayOfMonth=function(e){var t=new Date(e.getTime());return t.setDate(1),t.getDay()},t.prevDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Date(e.getFullYear(),e.getMonth(),e.getDate()-t)});t.nextDate=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)},t.getStartDateOfMonth=function(e,t){var i=new Date(e,t,1),n=i.getDay();return m(i,0===n?7:n)},t.getWeekNumber=function(e){if(!d(e))return null;var t=new Date(e.getTime());t.setHours(0,0,0,0),t.setDate(t.getDate()+3-(t.getDay()+6)%7);var i=new Date(t.getFullYear(),0,4);return 1+Math.round(((t.getTime()-i.getTime())/864e5-3+(i.getDay()+6)%7)/7)},t.getRangeHours=function(e){var t=[],i=[];if((e||[]).forEach((function(e){var t=e.map((function(e){return e.getHours()}));i=i.concat(l(t[0],t[1]))})),i.length)for(var n=0;n<24;n++)t[n]=-1===i.indexOf(n);else for(var r=0;r<24;r++)t[r]=!1;return t},t.getPrevMonthLastDays=function(e,t){if(t<=0)return[];var i=new Date(e.getTime());i.setDate(0);var n=i.getDate();return g(t).map((function(e,i){return n-(t-i-1)}))},t.getMonthDays=function(e){var t=new Date(e.getFullYear(),e.getMonth()+1,0),i=t.getDate();return g(i).map((function(e,t){return t+1}))};function v(e,t,i,n){for(var r=t;r<i;r++)e[r]=n}t.getRangeMinutes=function(e,t){var i=new Array(60);return e.length>0?e.forEach((function(e){var n=e[0],r=e[1],a=n.getHours(),s=n.getMinutes(),o=r.getHours(),c=r.getMinutes();a===t&&o!==t?v(i,s,60,!0):a===t&&o===t?v(i,s,c+1,!0):a!==t&&o===t?v(i,0,c+1,!0):a<t&&o>t&&v(i,0,60,!0)})):v(i,0,60,!0),i};var g=t.range=function(e){return Array.apply(null,{length:e}).map((function(e,t){return t}))},y=t.modifyDate=function(e,t,i,n){return new Date(t,i,n,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())},b=t.modifyTime=function(e,t,i,n){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t,i,n,e.getMilliseconds())},C=(t.modifyWithTimeString=function(e,t){return null!=e&&t?(t=f(t,"HH:mm:ss"),b(e,t.getHours(),t.getMinutes(),t.getSeconds())):e},t.clearTime=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())},t.clearMilliseconds=function(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),0)},t.limitTimeRange=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"HH:mm:ss";if(0===t.length)return e;var n=function(e){return r.default.parse(r.default.format(e,i),i)},a=n(e),s=t.map((function(e){return e.map(n)}));if(s.some((function(e){return a>=e[0]&&a<=e[1]})))return e;var o=s[0][0],c=s[0][0];s.forEach((function(e){o=new Date(Math.min(e[0],o)),c=new Date(Math.max(e[1],o))}));var l=a<o?o:c;return y(l,e.getFullYear(),e.getMonth(),e.getDate())}),S=(t.timeWithinRange=function(e,t,i){var n=C(e,t,i);return n.getTime()===e.getTime()},t.changeYearMonthAndClampDate=function(e,t,i){var n=Math.min(e.getDate(),p(t,i));return y(e,t,i,n)});t.prevMonth=function(e){var t=e.getFullYear(),i=e.getMonth();return 0===i?S(e,t-1,11):S(e,t,i-1)},t.nextMonth=function(e){var t=e.getFullYear(),i=e.getMonth();return 11===i?S(e,t+1,0):S(e,t,i+1)},t.prevYear=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=e.getFullYear(),n=e.getMonth();return S(e,i-t,n)},t.nextYear=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=e.getFullYear(),n=e.getMonth();return S(e,i+t,n)},t.extractDateFormat=function(e){return e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim()},t.extractTimeFormat=function(e){return e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?y{2,4}/g,"").trim()},t.validateRangeInOneMonth=function(e,t){return e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()}},da84:function(e,t,i){(function(t){var i=function(e){return e&&e.Math==Math&&e};e.exports=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof t&&t)||Function("return this")()}).call(this,i("c8ba"))},dc57:function(e,t,i){i("90d7");var n=i("428f");e.exports=n.Math.log2},dc8d:function(e,t,i){var n=i("746f");n("hasInstance")},dcdc:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=83)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},4:function(e,t){e.exports=i("d010")},83:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{staticClass:"el-checkbox",class:[e.border&&e.checkboxSize?"el-checkbox--"+e.checkboxSize:"",{"is-disabled":e.isDisabled},{"is-bordered":e.border},{"is-checked":e.isChecked}],attrs:{id:e.id}},[i("span",{staticClass:"el-checkbox__input",class:{"is-disabled":e.isDisabled,"is-checked":e.isChecked,"is-indeterminate":e.indeterminate,"is-focus":e.focus},attrs:{tabindex:!!e.indeterminate&&0,role:!!e.indeterminate&&"checkbox","aria-checked":!!e.indeterminate&&"mixed"}},[i("span",{staticClass:"el-checkbox__inner"}),e.trueLabel||e.falseLabel?i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":e.indeterminate?"true":"false",name:e.name,disabled:e.isDisabled,"true-value":e.trueLabel,"false-value":e.falseLabel},domProps:{checked:Array.isArray(e.model)?e._i(e.model,null)>-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var i=e.model,n=t.target,r=n.checked?e.trueLabel:e.falseLabel;if(Array.isArray(i)){var a=null,s=e._i(i,a);n.checked?s<0&&(e.model=i.concat([a])):s>-1&&(e.model=i.slice(0,s).concat(i.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],staticClass:"el-checkbox__original",attrs:{type:"checkbox","aria-hidden":e.indeterminate?"true":"false",disabled:e.isDisabled,name:e.name},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var i=e.model,n=t.target,r=!!n.checked;if(Array.isArray(i)){var a=e.label,s=e._i(i,a);n.checked?s<0&&(e.model=i.concat([a])):s>-1&&(e.model=i.slice(0,s).concat(i.slice(s+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}})]),e.$slots.default||e.label?i("span",{staticClass:"el-checkbox__label"},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2):e._e()])},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o={name:"ElCheckbox",mixins:[s.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElCheckbox",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this.isGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.length<this._checkboxGroup.min&&(this.isLimitExceeded=!0),void 0!==this._checkboxGroup.max&&e.length>this._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch("ElCheckboxGroup","input",[e])):(this.$emit("input",e),this.selfModel=e)}},isChecked:function(){return"[object Boolean]"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},isGroup:function(){var e=this.$parent;while(e){if("ElCheckboxGroup"===e.$options.componentName)return this._checkboxGroup=e,!0;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,i=e.min;return!(!t&&!i)&&this.model.length>=t&&!this.isChecked||this.model.length<=i&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||e}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var i=void 0;i=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit("change",i,e),this.$nextTick((function(){t.isGroup&&t.dispatch("ElCheckboxGroup","change",[t._checkboxGroup.value])}))}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute("aria-controls",this.controls)},watch:{value:function(e){this.dispatch("ElFormItem","el.form.change",e)}}},c=o,l=i(0),u=Object(l["a"])(c,n,r,!1,null,null,null);u.options.__file="packages/checkbox/src/checkbox.vue";var h=u.exports;h.install=function(e){e.component(h.name,h)};t["default"]=h}})},ddb0:function(e,t,i){var n=i("da84"),r=i("fdbc"),a=i("e260"),s=i("9112"),o=i("b622"),c=o("iterator"),l=o("toStringTag"),u=a.values;for(var h in r){var d=n[h],f=d&&d.prototype;if(f){if(f[c]!==u)try{s(f,c,u)}catch(m){f[c]=u}if(f[l]||s(f,l,h),r[h])for(var p in a)if(f[p]!==a[p])try{s(f,p,a[p])}catch(m){f[p]=a[p]}}}},df75:function(e,t,i){var n=i("ca84"),r=i("7839");e.exports=Object.keys||function(e){return n(e,r)}},df7c:function(e,t,i){(function(e){function i(e,t){for(var i=0,n=e.length-1;n>=0;n--){var r=e[n];"."===r?e.splice(n,1):".."===r?(e.splice(n,1),i++):i&&(e.splice(n,1),i--)}if(t)for(;i--;i)e.unshift("..");return e}function n(e){"string"!==typeof e&&(e+="");var t,i=0,n=-1,r=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!r){i=t+1;break}}else-1===n&&(r=!1,n=t+1);return-1===n?"":e.slice(i,n)}function r(e,t){if(e.filter)return e.filter(t);for(var i=[],n=0;n<e.length;n++)t(e[n],n,e)&&i.push(e[n]);return i}t.resolve=function(){for(var t="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var s=a>=0?arguments[a]:e.cwd();if("string"!==typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,n="/"===s.charAt(0))}return t=i(r(t.split("/"),(function(e){return!!e})),!n).join("/"),(n?"/":"")+t||"."},t.normalize=function(e){var n=t.isAbsolute(e),s="/"===a(e,-1);return e=i(r(e.split("/"),(function(e){return!!e})),!n).join("/"),e||n||(e="."),e&&s&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,i){function n(e){for(var t=0;t<e.length;t++)if(""!==e[t])break;for(var i=e.length-1;i>=0;i--)if(""!==e[i])break;return t>i?[]:e.slice(t,i-t+1)}e=t.resolve(e).substr(1),i=t.resolve(i).substr(1);for(var r=n(e.split("/")),a=n(i.split("/")),s=Math.min(r.length,a.length),o=s,c=0;c<s;c++)if(r[c]!==a[c]){o=c;break}var l=[];for(c=o;c<r.length;c++)l.push("..");return l=l.concat(a.slice(o)),l.join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!==typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),i=47===t,n=-1,r=!0,a=e.length-1;a>=1;--a)if(t=e.charCodeAt(a),47===t){if(!r){n=a;break}}else r=!1;return-1===n?i?"/":".":i&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var i=n(e);return t&&i.substr(-1*t.length)===t&&(i=i.substr(0,i.length-t.length)),i},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,i=0,n=-1,r=!0,a=0,s=e.length-1;s>=0;--s){var o=e.charCodeAt(s);if(47!==o)-1===n&&(r=!1,n=s+1),46===o?-1===t?t=s:1!==a&&(a=1):-1!==t&&(a=-1);else if(!r){i=s+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===i+1?"":e.slice(t,n)};var a="b"==="ab".substr(-1)?function(e,t,i){return e.substr(t,i)}:function(e,t,i){return t<0&&(t=e.length+t),e.substr(t,i)}}).call(this,i("4362"))},dfe5:function(e,t){},dffd:function(e,t,i){const{BigInteger:n,SecureRandom:r}=i("e0c8"),{ECCurveFp:a}=i("4701"),s=new r,{curve:o,G:c,n:l}=h();function u(){return o}function h(){const e=new n("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF",16),t=new n("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC",16),i=new n("28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93",16),r=new a(e,t,i),s="32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7",o="BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0",c=r.decodePointHex("04"+s+o),l=new n("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123",16);return{curve:r,G:c,n:l}}function d(){const e=new n(l.bitLength(),s).mod(l.subtract(n.ONE)).add(n.ONE),t=m(e.toString(16),64),i=c.multiply(e),r=m(i.getX().toBigInteger().toString(16),64),a=m(i.getY().toBigInteger().toString(16),64),o="04"+r+a;return{privateKey:t,publicKey:o}}function f(e){e=unescape(encodeURIComponent(e));const t=e.length,i=[];for(let r=0;r<t;r++)i[r>>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;const n=[];for(let r=0;r<t;r++){const e=i[r>>>2]>>>24-r%4*8&255;n.push((e>>>4).toString(16)),n.push((15&e).toString(16))}return n.join("")}function p(e){return Array.prototype.map.call(new Uint8Array(e),e=>("00"+e.toString(16)).slice(-2)).join("")}function m(e,t){return e.length>=t?e:new Array(t-e.length+1).join("0")+e}function v(e){const t=[];let i=0;for(let r=0;r<2*e.length;r+=2)t[r>>>3]|=parseInt(e[i],10)<<24-r%8*4,i++;const n=[];for(let r=0;r<e.length;r++){const e=t[r>>>2]>>>24-r%4*8&255;n.push((e>>>4).toString(16)),n.push((15&e).toString(16))}return n.join("")}function g(e){const t=[];let i=0;for(let r=0;r<2*e.length;r+=2)t[r>>>3]|=parseInt(e[i],10)<<24-r%8*4,i++;try{const i=[];for(let n=0;n<e.length;n++){const e=t[n>>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(e))}return decodeURIComponent(escape(i.join("")))}catch(n){throw new Error("Malformed UTF-8 data")}}function y(e){const t=[];let i=e.length;i%2!==0&&(e=m(e,i+1)),i=e.length;for(let n=0;n<i;n+=2)t.push(parseInt(e.substr(n,2),16));return t}e.exports={getGlobalCurve:u,generateEcparam:h,generateKeyPairHex:d,parseUtf8StringToHex:f,parseArrayBufferToHex:p,leftPad:m,arrayToHex:v,arrayToUtf8:g,hexToArray:y}},e01a:function(e,t,i){"use strict";var n=i("23e7"),r=i("83ab"),a=i("da84"),s=i("5135"),o=i("861d"),c=i("9bf2").f,l=i("e893"),u=a.Symbol;if(r&&"function"==typeof u&&(!("description"in u.prototype)||void 0!==u().description)){var h={},d=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof d?new u(e):void 0===e?u():u(e);return""===e&&(h[t]=!0),t};l(d,u);var f=d.prototype=u.prototype;f.constructor=d;var p=f.toString,m="Symbol(test)"==String(u("test")),v=/^Symbol\((.*)\)[^)]+$/;c(f,"description",{configurable:!0,get:function(){var e=o(this)?this.valueOf():this,t=p.call(e);if(s(h,e))return"";var i=m?t.slice(7,-1):t.replace(v,"$1");return""===i?void 0:i}}),n({global:!0,forced:!0},{Symbol:d})}},e0c8:function(e,t,i){(function(){var t,i=0xdeadbeefcafe,n=15715070==(16777215&i);function r(e,t,i){null!=e&&("number"==typeof e?this.fromNumber(e,t,i):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function a(){return new r(null)}function s(e,t,i,n,r,a){while(--a>=0){var s=t*this[e++]+i[n]+r;r=Math.floor(s/67108864),i[n++]=67108863&s}return r}function o(e,t,i,n,r,a){var s=32767&t,o=t>>15;while(--a>=0){var c=32767&this[e],l=this[e++]>>15,u=o*c+l*s;c=s*c+((32767&u)<<15)+i[n]+(1073741823&r),r=(c>>>30)+(u>>>15)+o*l+(r>>>30),i[n++]=1073741823&c}return r}function c(e,t,i,n,r,a){var s=16383&t,o=t>>14;while(--a>=0){var c=16383&this[e],l=this[e++]>>14,u=o*c+l*s;c=s*c+((16383&u)<<14)+i[n]+r,r=(c>>28)+(u>>14)+o*l,i[n++]=268435455&c}return r}var l="undefined"!==typeof navigator;l&&n&&"Microsoft Internet Explorer"==navigator.appName?(r.prototype.am=o,t=30):l&&n&&"Netscape"!=navigator.appName?(r.prototype.am=s,t=26):(r.prototype.am=c,t=28),r.prototype.DB=t,r.prototype.DM=(1<<t)-1,r.prototype.DV=1<<t;var u=52;r.prototype.FV=Math.pow(2,u),r.prototype.F1=u-t,r.prototype.F2=2*t-u;var h,d,f="0123456789abcdefghijklmnopqrstuvwxyz",p=new Array;for(h="0".charCodeAt(0),d=0;d<=9;++d)p[h++]=d;for(h="a".charCodeAt(0),d=10;d<36;++d)p[h++]=d;for(h="A".charCodeAt(0),d=10;d<36;++d)p[h++]=d;function m(e){return f.charAt(e)}function v(e,t){var i=p[e.charCodeAt(t)];return null==i?-1:i}function g(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function y(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0}function b(e){var t=a();return t.fromInt(e),t}function C(e,t){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;var n=e.length,a=!1,s=0;while(--n>=0){var o=8==i?255&e[n]:v(e,n);o<0?"-"==e.charAt(n)&&(a=!0):(a=!1,0==s?this[this.t++]=o:s+i>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,s+=i,s>=this.DB&&(s-=this.DB))}8==i&&0!=(128&e[0])&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),a&&r.ZERO.subTo(this,this)}function S(){var e=this.s&this.DM;while(this.t>0&&this[this.t-1]==e)--this.t}function x(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var i,n=(1<<t)-1,r=!1,a="",s=this.t,o=this.DB-s*this.DB%t;if(s-- >0){o<this.DB&&(i=this[s]>>o)>0&&(r=!0,a=m(i));while(s>=0)o<t?(i=(this[s]&(1<<o)-1)<<t-o,i|=this[--s]>>(o+=this.DB-t)):(i=this[s]>>(o-=t)&n,o<=0&&(o+=this.DB,--s)),i>0&&(r=!0),r&&(a+=m(i))}return r?a:"0"}function w(){var e=a();return r.ZERO.subTo(this,e),e}function _(){return this.s<0?this.negate():this}function A(e){var t=this.s-e.s;if(0!=t)return t;var i=this.t;if(t=i-e.t,0!=t)return this.s<0?-t:t;while(--i>=0)if(0!=(t=this[i]-e[i]))return t;return 0}function E(e){var t,i=1;return 0!=(t=e>>>16)&&(e=t,i+=16),0!=(t=e>>8)&&(e=t,i+=8),0!=(t=e>>4)&&(e=t,i+=4),0!=(t=e>>2)&&(e=t,i+=2),0!=(t=e>>1)&&(e=t,i+=1),i}function k(){return this.t<=0?0:this.DB*(this.t-1)+E(this[this.t-1]^this.s&this.DM)}function M(e,t){var i;for(i=this.t-1;i>=0;--i)t[i+e]=this[i];for(i=e-1;i>=0;--i)t[i]=0;t.t=this.t+e,t.s=this.s}function z(e,t){for(var i=e;i<this.t;++i)t[i-e]=this[i];t.t=Math.max(this.t-e,0),t.s=this.s}function T(e,t){var i,n=e%this.DB,r=this.DB-n,a=(1<<r)-1,s=Math.floor(e/this.DB),o=this.s<<n&this.DM;for(i=this.t-1;i>=0;--i)t[i+s+1]=this[i]>>r|o,o=(this[i]&a)<<n;for(i=s-1;i>=0;--i)t[i]=0;t[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function I(e,t){t.s=this.s;var i=Math.floor(e/this.DB);if(i>=this.t)t.t=0;else{var n=e%this.DB,r=this.DB-n,a=(1<<n)-1;t[0]=this[i]>>n;for(var s=i+1;s<this.t;++s)t[s-i-1]|=(this[s]&a)<<r,t[s-i]=this[s]>>n;n>0&&(t[this.t-i-1]|=(this.s&a)<<r),t.t=this.t-i,t.clamp()}}function N(e,t){var i=0,n=0,r=Math.min(e.t,this.t);while(i<r)n+=this[i]-e[i],t[i++]=n&this.DM,n>>=this.DB;if(e.t<this.t){n-=e.s;while(i<this.t)n+=this[i],t[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{n+=this.s;while(i<e.t)n-=e[i],t[i++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[i++]=this.DV+n:n>0&&(t[i++]=n),t.t=i,t.clamp()}function D(e,t){var i=this.abs(),n=e.abs(),a=i.t;t.t=a+n.t;while(--a>=0)t[a]=0;for(a=0;a<n.t;++a)t[a+i.t]=i.am(0,n[a],t,a,0,i.t);t.s=0,t.clamp(),this.s!=e.s&&r.ZERO.subTo(t,t)}function P(e){var t=this.abs(),i=e.t=2*t.t;while(--i>=0)e[i]=0;for(i=0;i<t.t-1;++i){var n=t.am(i,t[i],e,2*i,0,1);(e[i+t.t]+=t.am(i+1,2*t[i],e,2*i+1,n,t.t-i-1))>=t.DV&&(e[i+t.t]-=t.DV,e[i+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(i,t[i],e,2*i,0,1)),e.s=0,e.clamp()}function O(e,t,i){var n=e.abs();if(!(n.t<=0)){var s=this.abs();if(s.t<n.t)return null!=t&&t.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=a());var o=a(),c=this.s,l=e.s,u=this.DB-E(n[n.t-1]);u>0?(n.lShiftTo(u,o),s.lShiftTo(u,i)):(n.copyTo(o),s.copyTo(i));var h=o.t,d=o[h-1];if(0!=d){var f=d*(1<<this.F1)+(h>1?o[h-2]>>this.F2:0),p=this.FV/f,m=(1<<this.F1)/f,v=1<<this.F2,g=i.t,y=g-h,b=null==t?a():t;o.dlShiftTo(y,b),i.compareTo(b)>=0&&(i[i.t++]=1,i.subTo(b,i)),r.ONE.dlShiftTo(h,b),b.subTo(o,o);while(o.t<h)o[o.t++]=0;while(--y>=0){var C=i[--g]==d?this.DM:Math.floor(i[g]*p+(i[g-1]+v)*m);if((i[g]+=o.am(0,C,i,y,0,h))<C){o.dlShiftTo(y,b),i.subTo(b,i);while(i[g]<--C)i.subTo(b,i)}}null!=t&&(i.drShiftTo(h,t),c!=l&&r.ZERO.subTo(t,t)),i.t=h,i.clamp(),u>0&&i.rShiftTo(u,i),c<0&&r.ZERO.subTo(i,i)}}}function H(e){var t=a();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(r.ZERO)>0&&e.subTo(t,t),t}function F(e){this.m=e}function L(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function V(e){return e}function R(e){e.divRemTo(this.m,null,e)}function B(e,t,i){e.multiplyTo(t,i),this.reduce(i)}function j(e,t){e.squareTo(t),this.reduce(t)}function $(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return t=t*(2-(15&e)*t)&15,t=t*(2-(255&e)*t)&255,t=t*(2-((65535&e)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function K(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function q(e){var t=a();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(r.ZERO)>0&&this.m.subTo(t,t),t}function U(e){var t=a();return e.copyTo(t),this.reduce(t),t}function W(e){while(e.t<=this.mt2)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var i=32767&e[t],n=i*this.mpl+((i*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;i=t+this.m.t,e[i]+=this.m.am(0,n,e,t,0,this.m.t);while(e[i]>=e.DV)e[i]-=e.DV,e[++i]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function X(e,t){e.squareTo(t),this.reduce(t)}function G(e,t,i){e.multiplyTo(t,i),this.reduce(i)}function Y(){return 0==(this.t>0?1&this[0]:this.s)}function Z(e,t){if(e>4294967295||e<1)return r.ONE;var i=a(),n=a(),s=t.convert(this),o=E(e)-1;s.copyTo(i);while(--o>=0)if(t.sqrTo(i,n),(e&1<<o)>0)t.mulTo(n,s,i);else{var c=i;i=n,n=c}return t.revert(i)}function J(e,t){var i;return i=e<256||t.isEven()?new F(t):new K(t),this.exp(e,i)}function Q(){var e=a();return this.copyTo(e),e}function ee(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function te(){return 0==this.t?this.s:this[0]<<24>>24}function ie(){return 0==this.t?this.s:this[0]<<16>>16}function ne(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function re(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function ae(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),i=Math.pow(e,t),n=b(i),r=a(),s=a(),o="";this.divRemTo(n,r,s);while(r.signum()>0)o=(i+s.intValue()).toString(e).substr(1)+o,r.divRemTo(n,r,s);return s.intValue().toString(e)+o}function se(e,t){this.fromInt(0),null==t&&(t=10);for(var i=this.chunkSize(t),n=Math.pow(t,i),a=!1,s=0,o=0,c=0;c<e.length;++c){var l=v(e,c);l<0?"-"==e.charAt(c)&&0==this.signum()&&(a=!0):(o=t*o+l,++s>=i&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0))}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),a&&r.ZERO.subTo(this,this)}function oe(e,t,i){if("number"==typeof t)if(e<2)this.fromInt(1);else{this.fromNumber(e,i),this.testBit(e-1)||this.bitwiseTo(r.ONE.shiftLeft(e-1),me,this),this.isEven()&&this.dAddOffset(1,0);while(!this.isProbablePrime(t))this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(r.ONE.shiftLeft(e-1),this)}else{var n=new Array,a=7&e;n.length=1+(e>>3),t.nextBytes(n),a>0?n[0]&=(1<<a)-1:n[0]=0,this.fromString(n,256)}}function ce(){var e=this.t,t=new Array;t[0]=this.s;var i,n=this.DB-e*this.DB%8,r=0;if(e-- >0){n<this.DB&&(i=this[e]>>n)!=(this.s&this.DM)>>n&&(t[r++]=i|this.s<<this.DB-n);while(e>=0)n<8?(i=(this[e]&(1<<n)-1)<<8-n,i|=this[--e]>>(n+=this.DB-8)):(i=this[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&i)&&(i|=-256),0==r&&(128&this.s)!=(128&i)&&++r,(r>0||i!=this.s)&&(t[r++]=i)}return t}function le(e){return 0==this.compareTo(e)}function ue(e){return this.compareTo(e)<0?this:e}function he(e){return this.compareTo(e)>0?this:e}function de(e,t,i){var n,r,a=Math.min(e.t,this.t);for(n=0;n<a;++n)i[n]=t(this[n],e[n]);if(e.t<this.t){for(r=e.s&this.DM,n=a;n<this.t;++n)i[n]=t(this[n],r);i.t=this.t}else{for(r=this.s&this.DM,n=a;n<e.t;++n)i[n]=t(r,e[n]);i.t=e.t}i.s=t(this.s,e.s),i.clamp()}function fe(e,t){return e&t}function pe(e){var t=a();return this.bitwiseTo(e,fe,t),t}function me(e,t){return e|t}function ve(e){var t=a();return this.bitwiseTo(e,me,t),t}function ge(e,t){return e^t}function ye(e){var t=a();return this.bitwiseTo(e,ge,t),t}function be(e,t){return e&~t}function Ce(e){var t=a();return this.bitwiseTo(e,be,t),t}function Se(){for(var e=a(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e}function xe(e){var t=a();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function we(e){var t=a();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function _e(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function Ae(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+_e(this[e]);return this.s<0?this.t*this.DB:-1}function Ee(e){var t=0;while(0!=e)e&=e-1,++t;return t}function ke(){for(var e=0,t=this.s&this.DM,i=0;i<this.t;++i)e+=Ee(this[i]^t);return e}function Me(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this[t]&1<<e%this.DB)}function ze(e,t){var i=r.ONE.shiftLeft(e);return this.bitwiseTo(i,t,i),i}function Te(e){return this.changeBit(e,me)}function Ie(e){return this.changeBit(e,be)}function Ne(e){return this.changeBit(e,ge)}function De(e,t){var i=0,n=0,r=Math.min(e.t,this.t);while(i<r)n+=this[i]+e[i],t[i++]=n&this.DM,n>>=this.DB;if(e.t<this.t){n+=e.s;while(i<this.t)n+=this[i],t[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{n+=this.s;while(i<e.t)n+=e[i],t[i++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t[i++]=n:n<-1&&(t[i++]=this.DV+n),t.t=i,t.clamp()}function Pe(e){var t=a();return this.addTo(e,t),t}function Oe(e){var t=a();return this.subTo(e,t),t}function He(e){var t=a();return this.multiplyTo(e,t),t}function Fe(){var e=a();return this.squareTo(e),e}function Le(e){var t=a();return this.divRemTo(e,t,null),t}function Ve(e){var t=a();return this.divRemTo(e,null,t),t}function Re(e){var t=a(),i=a();return this.divRemTo(e,t,i),new Array(t,i)}function Be(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function je(e,t){if(0!=e){while(this.t<=t)this[this.t++]=0;this[t]+=e;while(this[t]>=this.DV)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function $e(){}function Ke(e){return e}function qe(e,t,i){e.multiplyTo(t,i)}function Ue(e,t){e.squareTo(t)}function We(e){return this.exp(e,new $e)}function Xe(e,t,i){var n,r=Math.min(this.t+e.t,t);i.s=0,i.t=r;while(r>0)i[--r]=0;for(n=i.t-this.t;r<n;++r)i[r+this.t]=this.am(0,e[r],i,r,0,this.t);for(n=Math.min(e.t,t);r<n;++r)this.am(0,e[r],i,r,0,t-r);i.clamp()}function Ge(e,t,i){--t;var n=i.t=this.t+e.t-t;i.s=0;while(--n>=0)i[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)i[this.t+n-t]=this.am(t-n,e[n],i,0,0,this.t+n-t);i.clamp(),i.drShiftTo(1,i)}function Ye(e){this.r2=a(),this.q3=a(),r.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Ze(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=a();return e.copyTo(t),this.reduce(t),t}function Je(e){return e}function Qe(e){e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);while(e.compareTo(this.r2)<0)e.dAddOffset(1,this.m.t+1);e.subTo(this.r2,e);while(e.compareTo(this.m)>=0)e.subTo(this.m,e)}function et(e,t){e.squareTo(t),this.reduce(t)}function tt(e,t,i){e.multiplyTo(t,i),this.reduce(i)}function it(e,t){var i,n,r=e.bitLength(),s=b(1);if(r<=0)return s;i=r<18?1:r<48?3:r<144?4:r<768?5:6,n=r<8?new F(t):t.isEven()?new Ye(t):new K(t);var o=new Array,c=3,l=i-1,u=(1<<i)-1;if(o[1]=n.convert(this),i>1){var h=a();n.sqrTo(o[1],h);while(c<=u)o[c]=a(),n.mulTo(h,o[c-2],o[c]),c+=2}var d,f,p=e.t-1,m=!0,v=a();r=E(e[p])-1;while(p>=0){r>=l?d=e[p]>>r-l&u:(d=(e[p]&(1<<r+1)-1)<<l-r,p>0&&(d|=e[p-1]>>this.DB+r-l)),c=i;while(0==(1&d))d>>=1,--c;if((r-=c)<0&&(r+=this.DB,--p),m)o[d].copyTo(s),m=!1;else{while(c>1)n.sqrTo(s,v),n.sqrTo(v,s),c-=2;c>0?n.sqrTo(s,v):(f=s,s=v,v=f),n.mulTo(v,o[d],s)}while(p>=0&&0==(e[p]&1<<r))n.sqrTo(s,v),f=s,s=v,v=f,--r<0&&(r=this.DB-1,--p)}return n.revert(s)}function nt(e){var t=this.s<0?this.negate():this.clone(),i=e.s<0?e.negate():e.clone();if(t.compareTo(i)<0){var n=t;t=i,i=n}var r=t.getLowestSetBit(),a=i.getLowestSetBit();if(a<0)return t;r<a&&(a=r),a>0&&(t.rShiftTo(a,t),i.rShiftTo(a,i));while(t.signum()>0)(r=t.getLowestSetBit())>0&&t.rShiftTo(r,t),(r=i.getLowestSetBit())>0&&i.rShiftTo(r,i),t.compareTo(i)>=0?(t.subTo(i,t),t.rShiftTo(1,t)):(i.subTo(t,i),i.rShiftTo(1,i));return a>0&&i.lShiftTo(a,i),i}function rt(e){if(e<=0)return 0;var t=this.DV%e,i=this.s<0?e-1:0;if(this.t>0)if(0==t)i=this[0]%e;else for(var n=this.t-1;n>=0;--n)i=(t*i+this[n])%e;return i}function at(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return r.ZERO;var i=e.clone(),n=this.clone(),a=b(1),s=b(0),o=b(0),c=b(1);while(0!=i.signum()){while(i.isEven())i.rShiftTo(1,i),t?(a.isEven()&&s.isEven()||(a.addTo(this,a),s.subTo(e,s)),a.rShiftTo(1,a)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);while(n.isEven())n.rShiftTo(1,n),t?(o.isEven()&&c.isEven()||(o.addTo(this,o),c.subTo(e,c)),o.rShiftTo(1,o)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);i.compareTo(n)>=0?(i.subTo(n,i),t&&a.subTo(o,a),s.subTo(c,s)):(n.subTo(i,n),t&&o.subTo(a,o),c.subTo(s,c))}return 0!=n.compareTo(r.ONE)?r.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c}F.prototype.convert=L,F.prototype.revert=V,F.prototype.reduce=R,F.prototype.mulTo=B,F.prototype.sqrTo=j,K.prototype.convert=q,K.prototype.revert=U,K.prototype.reduce=W,K.prototype.mulTo=G,K.prototype.sqrTo=X,r.prototype.copyTo=g,r.prototype.fromInt=y,r.prototype.fromString=C,r.prototype.clamp=S,r.prototype.dlShiftTo=M,r.prototype.drShiftTo=z,r.prototype.lShiftTo=T,r.prototype.rShiftTo=I,r.prototype.subTo=N,r.prototype.multiplyTo=D,r.prototype.squareTo=P,r.prototype.divRemTo=O,r.prototype.invDigit=$,r.prototype.isEven=Y,r.prototype.exp=Z,r.prototype.toString=x,r.prototype.negate=w,r.prototype.abs=_,r.prototype.compareTo=A,r.prototype.bitLength=k,r.prototype.mod=H,r.prototype.modPowInt=J,r.ZERO=b(0),r.ONE=b(1),$e.prototype.convert=Ke,$e.prototype.revert=Ke,$e.prototype.mulTo=qe,$e.prototype.sqrTo=Ue,Ye.prototype.convert=Ze,Ye.prototype.revert=Je,Ye.prototype.reduce=Qe,Ye.prototype.mulTo=tt,Ye.prototype.sqrTo=et;var st,ot,ct,lt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],ut=(1<<26)/lt[lt.length-1];function ht(e){var t,i=this.abs();if(1==i.t&&i[0]<=lt[lt.length-1]){for(t=0;t<lt.length;++t)if(i[0]==lt[t])return!0;return!1}if(i.isEven())return!1;t=1;while(t<lt.length){var n=lt[t],r=t+1;while(r<lt.length&&n<ut)n*=lt[r++];n=i.modInt(n);while(t<r)if(n%lt[t++]==0)return!1}return i.millerRabin(e)}function dt(e){var t=this.subtract(r.ONE),i=t.getLowestSetBit();if(i<=0)return!1;var n=t.shiftRight(i);e=e+1>>1,e>lt.length&&(e=lt.length);for(var s=a(),o=0;o<e;++o){s.fromInt(lt[Math.floor(Math.random()*lt.length)]);var c=s.modPow(n,this);if(0!=c.compareTo(r.ONE)&&0!=c.compareTo(t)){var l=1;while(l++<i&&0!=c.compareTo(t))if(c=c.modPowInt(2,this),0==c.compareTo(r.ONE))return!1;if(0!=c.compareTo(t))return!1}}return!0}function ft(e){ot[ct++]^=255&e,ot[ct++]^=e>>8&255,ot[ct++]^=e>>16&255,ot[ct++]^=e>>24&255,ct>=At&&(ct-=At)}function pt(){ft((new Date).getTime())}if(r.prototype.chunkSize=ne,r.prototype.toRadix=ae,r.prototype.fromRadix=se,r.prototype.fromNumber=oe,r.prototype.bitwiseTo=de,r.prototype.changeBit=ze,r.prototype.addTo=De,r.prototype.dMultiply=Be,r.prototype.dAddOffset=je,r.prototype.multiplyLowerTo=Xe,r.prototype.multiplyUpperTo=Ge,r.prototype.modInt=rt,r.prototype.millerRabin=dt,r.prototype.clone=Q,r.prototype.intValue=ee,r.prototype.byteValue=te,r.prototype.shortValue=ie,r.prototype.signum=re,r.prototype.toByteArray=ce,r.prototype.equals=le,r.prototype.min=ue,r.prototype.max=he,r.prototype.and=pe,r.prototype.or=ve,r.prototype.xor=ye,r.prototype.andNot=Ce,r.prototype.not=Se,r.prototype.shiftLeft=xe,r.prototype.shiftRight=we,r.prototype.getLowestSetBit=Ae,r.prototype.bitCount=ke,r.prototype.testBit=Me,r.prototype.setBit=Te,r.prototype.clearBit=Ie,r.prototype.flipBit=Ne,r.prototype.add=Pe,r.prototype.subtract=Oe,r.prototype.multiply=He,r.prototype.divide=Le,r.prototype.remainder=Ve,r.prototype.divideAndRemainder=Re,r.prototype.modPow=it,r.prototype.modInverse=at,r.prototype.pow=We,r.prototype.gcd=nt,r.prototype.isProbablePrime=ht,r.prototype.square=Fe,r.prototype.Barrett=Ye,null==ot){var mt;if(ot=new Array,ct=0,"undefined"!==typeof window&&window.crypto)if(window.crypto.getRandomValues){var vt=new Uint8Array(32);for(window.crypto.getRandomValues(vt),mt=0;mt<32;++mt)ot[ct++]=vt[mt]}else if("Netscape"==navigator.appName&&navigator.appVersion<"5"){var gt=window.crypto.random(32);for(mt=0;mt<gt.length;++mt)ot[ct++]=255&gt.charCodeAt(mt)}while(ct<At)mt=Math.floor(65536*Math.random()),ot[ct++]=mt>>>8,ot[ct++]=255&mt;ct=0,pt()}function yt(){if(null==st){for(pt(),st=_t(),st.init(ot),ct=0;ct<ot.length;++ct)ot[ct]=0;ct=0}return st.next()}function bt(e){var t;for(t=0;t<e.length;++t)e[t]=yt()}function Ct(){}function St(){this.i=0,this.j=0,this.S=new Array}function xt(e){var t,i,n;for(t=0;t<256;++t)this.S[t]=t;for(i=0,t=0;t<256;++t)i=i+this.S[t]+e[t%e.length]&255,n=this.S[t],this.S[t]=this.S[i],this.S[i]=n;this.i=0,this.j=0}function wt(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]}function _t(){return new St}Ct.prototype.nextBytes=bt,St.prototype.init=xt,St.prototype.next=wt;var At=256;e.exports={default:r,BigInteger:r,SecureRandom:Ct}}).call(this)},e163:function(e,t,i){var n=i("5135"),r=i("7b0b"),a=i("f772"),s=i("e177"),o=a("IE_PROTO"),c=Object.prototype;e.exports=s?Object.getPrototypeOf:function(e){return e=r(e),n(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c:null}},e177:function(e,t,i){var n=i("d039");e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},e198:function(e,t,i){var n=i("ef08"),r=i("5524"),a=i("e444"),s=i("fcd4"),o=i("1a14").f;e.exports=function(e){var t=r.Symbol||(r.Symbol=a?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||o(t,e,{value:s.f(e)})}},e260:function(e,t,i){"use strict";var n=i("fc6a"),r=i("44d2"),a=i("3f8c"),s=i("69f3"),o=i("7dd0"),c="Array Iterator",l=s.set,u=s.getterFor(c);e.exports=o(Array,"Array",(function(e,t){l(this,{type:c,target:n(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,i=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==i?{value:n,done:!1}:"values"==i?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},e2cc:function(e,t,i){var n=i("6eeb");e.exports=function(e,t,i){for(var r in t)n(e,r,t[r],i);return e}},e34a:function(e,t,i){var n=i("8b1a")("meta"),r=i("7a41"),a=i("9c0e"),s=i("1a14").f,o=0,c=Object.isExtensible||function(){return!0},l=!i("4b8b")((function(){return c(Object.preventExtensions({}))})),u=function(e){s(e,n,{value:{i:"O"+ ++o,w:{}}})},h=function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,n)){if(!c(e))return"F";if(!t)return"E";u(e)}return e[n].i},d=function(e,t){if(!a(e,n)){if(!c(e))return!0;if(!t)return!1;u(e)}return e[n].w},f=function(e){return l&&p.NEED&&c(e)&&!a(e,n)&&u(e),e},p=e.exports={KEY:n,NEED:!1,fastKey:h,getWeak:d,onFreeze:f}},e3db:function(e,t){var i={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==i.call(e)}},e444:function(e,t){e.exports=!0},e450:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=114)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},10:function(e,t){e.exports=i("f3ad")},114:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:["el-input-number",e.inputNumberSize?"el-input-number--"+e.inputNumberSize:"",{"is-disabled":e.inputNumberDisabled},{"is-without-controls":!e.controls},{"is-controls-right":e.controlsAtRight}],on:{dragstart:function(e){e.preventDefault()}}},[e.controls?i("span",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.decrease,expression:"decrease"}],staticClass:"el-input-number__decrease",class:{"is-disabled":e.minDisabled},attrs:{role:"button"},on:{keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.decrease(t)}}},[i("i",{class:"el-icon-"+(e.controlsAtRight?"arrow-down":"minus")})]):e._e(),e.controls?i("span",{directives:[{name:"repeat-click",rawName:"v-repeat-click",value:e.increase,expression:"increase"}],staticClass:"el-input-number__increase",class:{"is-disabled":e.maxDisabled},attrs:{role:"button"},on:{keydown:function(t){return!("button"in t)&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.increase(t)}}},[i("i",{class:"el-icon-"+(e.controlsAtRight?"arrow-up":"plus")})]):e._e(),i("el-input",{ref:"input",attrs:{value:e.displayValue,placeholder:e.placeholder,disabled:e.inputNumberDisabled,size:e.inputNumberSize,max:e.max,min:e.min,name:e.name,label:e.label},on:{blur:e.handleBlur,focus:e.handleFocus,input:e.handleInput,change:e.handleInputChange},nativeOn:{keydown:[function(t){return!("button"in t)&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.increase(t))},function(t){return!("button"in t)&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.decrease(t))}]}})],1)},r=[];n._withStripped=!0;var a=i(10),s=i.n(a),o=i(22),c=i.n(o),l=i(30),u={name:"ElInputNumber",mixins:[c()("input")],inject:{elForm:{default:""},elFormItem:{default:""}},directives:{repeatClick:l["a"]},components:{ElInput:s.a},props:{step:{type:Number,default:1},stepStrictly:{type:Boolean,default:!1},max:{type:Number,default:1/0},min:{type:Number,default:-1/0},value:{},disabled:Boolean,size:String,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:""},name:String,label:String,placeholder:String,precision:{type:Number,validator:function(e){return e>=0&&e===parseInt(e,10)}}},data:function(){return{currentValue:0,userInput:null}},watch:{value:{immediate:!0,handler:function(e){var t=void 0===e?e:Number(e);if(void 0!==t){if(isNaN(t))return;if(this.stepStrictly){var i=this.getPrecision(this.step),n=Math.pow(10,i);t=Math.round(t/this.step)*n*this.step/n}void 0!==this.precision&&(t=this.toPrecision(t,this.precision))}t>=this.max&&(t=this.max),t<=this.min&&(t=this.min),this.currentValue=t,this.userInput=null,this.$emit("input",t)}}},computed:{minDisabled:function(){return this._decrease(this.value,this.step)<this.min},maxDisabled:function(){return this._increase(this.value,this.step)>this.max},numPrecision:function(){var e=this.value,t=this.step,i=this.getPrecision,n=this.precision,r=i(t);return void 0!==n?(r>n&&console.warn("[Element Warn][InputNumber]precision should not be less than the decimal places of step"),n):Math.max(i(e),r)},controlsAtRight:function(){return this.controls&&"right"===this.controlsPosition},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},inputNumberSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputNumberDisabled:function(){return this.disabled||!!(this.elForm||{}).disabled},displayValue:function(){if(null!==this.userInput)return this.userInput;var e=this.currentValue;if("number"===typeof e){if(this.stepStrictly){var t=this.getPrecision(this.step),i=Math.pow(10,t);e=Math.round(e/this.step)*i*this.step/i}void 0!==this.precision&&(e=e.toFixed(this.precision))}return e}},methods:{toPrecision:function(e,t){return void 0===t&&(t=this.numPrecision),parseFloat(Math.round(e*Math.pow(10,t))/Math.pow(10,t))},getPrecision:function(e){if(void 0===e)return 0;var t=e.toString(),i=t.indexOf("."),n=0;return-1!==i&&(n=t.length-i-1),n},_increase:function(e,t){if("number"!==typeof e&&void 0!==e)return this.currentValue;var i=Math.pow(10,this.numPrecision);return this.toPrecision((i*e+i*t)/i)},_decrease:function(e,t){if("number"!==typeof e&&void 0!==e)return this.currentValue;var i=Math.pow(10,this.numPrecision);return this.toPrecision((i*e-i*t)/i)},increase:function(){if(!this.inputNumberDisabled&&!this.maxDisabled){var e=this.value||0,t=this._increase(e,this.step);this.setCurrentValue(t)}},decrease:function(){if(!this.inputNumberDisabled&&!this.minDisabled){var e=this.value||0,t=this._decrease(e,this.step);this.setCurrentValue(t)}},handleBlur:function(e){this.$emit("blur",e)},handleFocus:function(e){this.$emit("focus",e)},setCurrentValue:function(e){var t=this.currentValue;"number"===typeof e&&void 0!==this.precision&&(e=this.toPrecision(e,this.precision)),e>=this.max&&(e=this.max),e<=this.min&&(e=this.min),t!==e&&(this.userInput=null,this.$emit("input",e),this.$emit("change",e,t),this.currentValue=e)},handleInput:function(e){this.userInput=e},handleInputChange:function(e){var t=""===e?void 0:Number(e);isNaN(t)&&""!==e||this.setCurrentValue(t),this.userInput=null},select:function(){this.$refs.input.select()}},mounted:function(){var e=this.$refs.input.$refs.input;e.setAttribute("role","spinbutton"),e.setAttribute("aria-valuemax",this.max),e.setAttribute("aria-valuemin",this.min),e.setAttribute("aria-valuenow",this.currentValue),e.setAttribute("aria-disabled",this.inputNumberDisabled)},updated:function(){if(this.$refs&&this.$refs.input){var e=this.$refs.input.$refs.input;e.setAttribute("aria-valuenow",this.currentValue)}}},h=u,d=i(0),f=Object(d["a"])(h,n,r,!1,null,null,null);f.options.__file="packages/input-number/src/input-number.vue";var p=f.exports;p.install=function(e){e.component(p.name,p)};t["default"]=p},2:function(e,t){e.exports=i("5924")},22:function(e,t){e.exports=i("12f2")},30:function(e,t,i){"use strict";var n=i(2);t["a"]={bind:function(e,t,i){var r=null,a=void 0,s=function(){return i.context[t.expression].apply()},o=function(){Date.now()-a<100&&s(),clearInterval(r),r=null};Object(n["on"])(e,"mousedown",(function(e){0===e.button&&(a=Date.now(),Object(n["once"])(document,"mouseup",o),clearInterval(r),r=setInterval(s,100))}))}}}})},e452:function(e,t,i){"use strict";t.__esModule=!0;var n=n||{};n.Utils=n.Utils||{},n.Utils.focusFirstDescendant=function(e){for(var t=0;t<e.childNodes.length;t++){var i=e.childNodes[t];if(n.Utils.attemptFocus(i)||n.Utils.focusFirstDescendant(i))return!0}return!1},n.Utils.focusLastDescendant=function(e){for(var t=e.childNodes.length-1;t>=0;t--){var i=e.childNodes[t];if(n.Utils.attemptFocus(i)||n.Utils.focusLastDescendant(i))return!0}return!1},n.Utils.attemptFocus=function(e){if(!n.Utils.isFocusable(e))return!1;n.Utils.IgnoreUtilFocusChanges=!0;try{e.focus()}catch(t){}return n.Utils.IgnoreUtilFocusChanges=!1,document.activeElement===e},n.Utils.isFocusable=function(e){if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return"hidden"!==e.type&&"file"!==e.type;case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},n.Utils.triggerEvent=function(e,t){var i=void 0;i=/^mouse|click/.test(t)?"MouseEvents":/^key/.test(t)?"KeyboardEvent":"HTMLEvents";for(var n=document.createEvent(i),r=arguments.length,a=Array(r>2?r-2:0),s=2;s<r;s++)a[s-2]=arguments[s];return n.initEvent.apply(n,[t].concat(a)),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent("on"+t,n),e},n.Utils.keys={tab:9,enter:13,space:32,left:37,up:38,right:39,down:40,esc:27},t.default=n.Utils},e507:function(e,t,i){var n=i("512c");n(n.S+n.F,"Object",{assign:i("072d")})},e538:function(e,t,i){var n=i("b622");t.f=n},e58c:function(e,t,i){"use strict";var n=i("fc6a"),r=i("a691"),a=i("50c4"),s=i("a640"),o=i("ae40"),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,h=s("lastIndexOf"),d=o("indexOf",{ACCESSORS:!0,1:0}),f=u||!h||!d;e.exports=f?function(e){if(u)return l.apply(this,arguments)||0;var t=n(this),i=a(t.length),s=i-1;for(arguments.length>1&&(s=c(s,r(arguments[1]))),s<0&&(s=i+s);s>=0;s--)if(s in t&&t[s]===e)return s||0;return-1}:l},e62d:function(e,t,i){"use strict";t.__esModule=!0,t.default=function(){if(r.default.prototype.$isServer)return 0;if(void 0!==s)return s;var e=document.createElement("div");e.className="el-scrollbar__wrap",e.style.visibility="hidden",e.style.width="100px",e.style.position="absolute",e.style.top="-9999px",document.body.appendChild(e);var t=e.offsetWidth;e.style.overflow="scroll";var i=document.createElement("div");i.style.width="100%",e.appendChild(i);var n=i.offsetWidth;return e.parentNode.removeChild(e),s=t-n,s};var n=i("2b0e"),r=a(n);function a(e){return e&&e.__esModule?e:{default:e}}var s=void 0},e667:function(e,t){e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},e683:function(e,t,i){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},e6cf:function(e,t,i){"use strict";var n,r,a,s,o=i("23e7"),c=i("c430"),l=i("da84"),u=i("d066"),h=i("fea9"),d=i("6eeb"),f=i("e2cc"),p=i("d44e"),m=i("2626"),v=i("861d"),g=i("1c0b"),y=i("19aa"),b=i("c6b6"),C=i("8925"),S=i("2266"),x=i("1c7e"),w=i("4840"),_=i("2cf4").set,A=i("b575"),E=i("cdf9"),k=i("44de"),M=i("f069"),z=i("e667"),T=i("69f3"),I=i("94ca"),N=i("b622"),D=i("2d00"),P=N("species"),O="Promise",H=T.get,F=T.set,L=T.getterFor(O),V=h,R=l.TypeError,B=l.document,j=l.process,$=u("fetch"),K=M.f,q=K,U="process"==b(j),W=!!(B&&B.createEvent&&l.dispatchEvent),X="unhandledrejection",G="rejectionhandled",Y=0,Z=1,J=2,Q=1,ee=2,te=I(O,(function(){var e=C(V)!==String(V);if(!e){if(66===D)return!0;if(!U&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!V.prototype["finally"])return!0;if(D>=51&&/native code/.test(V))return!1;var t=V.resolve(1),i=function(e){e((function(){}),(function(){}))},n=t.constructor={};return n[P]=i,!(t.then((function(){}))instanceof i)})),ie=te||!x((function(e){V.all(e)["catch"]((function(){}))})),ne=function(e){var t;return!(!v(e)||"function"!=typeof(t=e.then))&&t},re=function(e,t,i){if(!t.notified){t.notified=!0;var n=t.reactions;A((function(){var r=t.value,a=t.state==Z,s=0;while(n.length>s){var o,c,l,u=n[s++],h=a?u.ok:u.fail,d=u.resolve,f=u.reject,p=u.domain;try{h?(a||(t.rejection===ee&&ce(e,t),t.rejection=Q),!0===h?o=r:(p&&p.enter(),o=h(r),p&&(p.exit(),l=!0)),o===u.promise?f(R("Promise-chain cycle")):(c=ne(o))?c.call(o,d,f):d(o)):f(r)}catch(m){p&&!l&&p.exit(),f(m)}}t.reactions=[],t.notified=!1,i&&!t.rejection&&se(e,t)}))}},ae=function(e,t,i){var n,r;W?(n=B.createEvent("Event"),n.promise=t,n.reason=i,n.initEvent(e,!1,!0),l.dispatchEvent(n)):n={promise:t,reason:i},(r=l["on"+e])?r(n):e===X&&k("Unhandled promise rejection",i)},se=function(e,t){_.call(l,(function(){var i,n=t.value,r=oe(t);if(r&&(i=z((function(){U?j.emit("unhandledRejection",n,e):ae(X,e,n)})),t.rejection=U||oe(t)?ee:Q,i.error))throw i.value}))},oe=function(e){return e.rejection!==Q&&!e.parent},ce=function(e,t){_.call(l,(function(){U?j.emit("rejectionHandled",e):ae(G,e,t.value)}))},le=function(e,t,i,n){return function(r){e(t,i,r,n)}},ue=function(e,t,i,n){t.done||(t.done=!0,n&&(t=n),t.value=i,t.state=J,re(e,t,!0))},he=function(e,t,i,n){if(!t.done){t.done=!0,n&&(t=n);try{if(e===i)throw R("Promise can't be resolved itself");var r=ne(i);r?A((function(){var n={done:!1};try{r.call(i,le(he,e,n,t),le(ue,e,n,t))}catch(a){ue(e,n,a,t)}})):(t.value=i,t.state=Z,re(e,t,!1))}catch(a){ue(e,{done:!1},a,t)}}};te&&(V=function(e){y(this,V,O),g(e),n.call(this);var t=H(this);try{e(le(he,this,t),le(ue,this,t))}catch(i){ue(this,t,i)}},n=function(e){F(this,{type:O,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:Y,value:void 0})},n.prototype=f(V.prototype,{then:function(e,t){var i=L(this),n=K(w(this,V));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=U?j.domain:void 0,i.parent=!0,i.reactions.push(n),i.state!=Y&&re(this,i,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),r=function(){var e=new n,t=H(e);this.promise=e,this.resolve=le(he,e,t),this.reject=le(ue,e,t)},M.f=K=function(e){return e===V||e===a?new r(e):q(e)},c||"function"!=typeof h||(s=h.prototype.then,d(h.prototype,"then",(function(e,t){var i=this;return new V((function(e,t){s.call(i,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof $&&o({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return E(V,$.apply(l,arguments))}}))),o({global:!0,wrap:!0,forced:te},{Promise:V}),p(V,O,!1,!0),m(O),a=u(O),o({target:O,stat:!0,forced:te},{reject:function(e){var t=K(this);return t.reject.call(void 0,e),t.promise}}),o({target:O,stat:!0,forced:c||te},{resolve:function(e){return E(c&&this===a?V:this,e)}}),o({target:O,stat:!0,forced:ie},{all:function(e){var t=this,i=K(t),n=i.resolve,r=i.reject,a=z((function(){var i=g(t.resolve),a=[],s=0,o=1;S(e,(function(e){var c=s++,l=!1;a.push(void 0),o++,i.call(t,e).then((function(e){l||(l=!0,a[c]=e,--o||n(a))}),r)})),--o||n(a)}));return a.error&&r(a.value),i.promise},race:function(e){var t=this,i=K(t),n=i.reject,r=z((function(){var r=g(t.resolve);S(e,(function(e){r.call(t,e).then(i.resolve,n)}))}));return r.error&&n(r.value),i.promise}})},e772:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=53)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},3:function(e,t){e.exports=i("8122")},34:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("li",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"el-select-dropdown__item",class:{selected:e.itemSelected,"is-disabled":e.disabled||e.groupDisabled||e.limitReached,hover:e.hover},on:{mouseenter:e.hoverItem,click:function(t){return t.stopPropagation(),e.selectOptionClick(t)}}},[e._t("default",[i("span",[e._v(e._s(e.currentLabel))])])],2)},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o=i(3),c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l={mixins:[s.a],name:"ElOption",componentName:"ElOption",inject:["select"],props:{value:{required:!0},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},data:function(){return{index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}},computed:{isObject:function(){return"[object object]"===Object.prototype.toString.call(this.value).toLowerCase()},currentLabel:function(){return this.label||(this.isObject?"":this.value)},currentValue:function(){return this.value||this.label||""},itemSelected:function(){return this.select.multiple?this.contains(this.select.value,this.value):this.isEqual(this.value,this.select.value)},limitReached:function(){return!!this.select.multiple&&(!this.itemSelected&&(this.select.value||[]).length>=this.select.multipleLimit&&this.select.multipleLimit>0)}},watch:{currentLabel:function(){this.created||this.select.remote||this.dispatch("ElSelect","setSelected")},value:function(e,t){var i=this.select,n=i.remote,r=i.valueKey;if(!this.created&&!n){if(r&&"object"===("undefined"===typeof e?"undefined":c(e))&&"object"===("undefined"===typeof t?"undefined":c(t))&&e[r]===t[r])return;this.dispatch("ElSelect","setSelected")}}},methods:{isEqual:function(e,t){if(this.isObject){var i=this.select.valueKey;return Object(o["getValueByPath"])(e,i)===Object(o["getValueByPath"])(t,i)}return e===t},contains:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if(this.isObject){var i=this.select.valueKey;return e&&e.some((function(e){return Object(o["getValueByPath"])(e,i)===Object(o["getValueByPath"])(t,i)}))}return e&&e.indexOf(t)>-1},handleGroupDisabled:function(e){this.groupDisabled=e},hoverItem:function(){this.disabled||this.groupDisabled||(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){!0!==this.disabled&&!0!==this.groupDisabled&&this.dispatch("ElSelect","handleOptionClick",[this,!0])},queryChange:function(e){this.visible=new RegExp(Object(o["escapeRegexpString"])(e),"i").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on("queryChange",this.queryChange),this.$on("handleGroupDisabled",this.handleGroupDisabled)},beforeDestroy:function(){var e=this.select,t=e.selected,i=e.multiple,n=i?t:[t],r=this.select.cachedOptions.indexOf(this),a=n.indexOf(this);r>-1&&a<0&&this.select.cachedOptions.splice(r,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},u=l,h=i(0),d=Object(h["a"])(u,n,r,!1,null,null,null);d.options.__file="packages/select/src/option.vue";t["a"]=d.exports},4:function(e,t){e.exports=i("d010")},53:function(e,t,i){"use strict";i.r(t);var n=i(34);n["a"].install=function(e){e.component(n["a"].name,n["a"])},t["default"]=n["a"]}})},e893:function(e,t,i){var n=i("5135"),r=i("56ef"),a=i("06cf"),s=i("9bf2");e.exports=function(e,t){for(var i=r(t),o=s.f,c=a.f,l=0;l<i.length;l++){var u=i[l];n(e,u)||o(e,u,c(t,u))}}},e8b5:function(e,t,i){var n=i("c6b6");e.exports=Array.isArray||function(e){return"Array"==n(e)}},e91f:function(e,t,i){"use strict";var n=i("ebb5"),r=i("4d64").indexOf,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:void 0)}))},e95a:function(e,t,i){var n=i("b622"),r=i("3f8c"),a=n("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||s[a]===e)}},e974:function(e,t,i){"use strict";t.__esModule=!0;var n=i("2b0e"),r=s(n),a=i("5128");function s(e){return e&&e.__esModule?e:{default:e}}var o=r.default.prototype.$isServer?function(){}:i("6167"),c=function(e){return e.stopPropagation()};t.default={props:{transformOrigin:{type:[Boolean,String],default:!0},placement:{type:String,default:"bottom"},boundariesPadding:{type:Number,default:5},reference:{},popper:{},offset:{default:0},value:Boolean,visibleArrow:Boolean,arrowOffset:{type:Number,default:35},appendToBody:{type:Boolean,default:!0},popperOptions:{type:Object,default:function(){return{gpuAcceleration:!1}}}},data:function(){return{showPopper:!1,currentPlacement:""}},watch:{value:{immediate:!0,handler:function(e){this.showPopper=e,this.$emit("input",e)}},showPopper:function(e){this.disabled||(e?this.updatePopper():this.destroyPopper(),this.$emit("input",e))}},methods:{createPopper:function(){var e=this;if(!this.$isServer&&(this.currentPlacement=this.currentPlacement||this.placement,/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement))){var t=this.popperOptions,i=this.popperElm=this.popperElm||this.popper||this.$refs.popper,n=this.referenceElm=this.referenceElm||this.reference||this.$refs.reference;!n&&this.$slots.reference&&this.$slots.reference[0]&&(n=this.referenceElm=this.$slots.reference[0].elm),i&&n&&(this.visibleArrow&&this.appendArrow(i),this.appendToBody&&document.body.appendChild(this.popperElm),this.popperJS&&this.popperJS.destroy&&this.popperJS.destroy(),t.placement=this.currentPlacement,t.offset=this.offset,t.arrowOffset=this.arrowOffset,this.popperJS=new o(n,i,t),this.popperJS.onCreate((function(t){e.$emit("created",e),e.resetTransformOrigin(),e.$nextTick(e.updatePopper)})),"function"===typeof t.onUpdate&&this.popperJS.onUpdate(t.onUpdate),this.popperJS._popper.style.zIndex=a.PopupManager.nextZIndex(),this.popperElm.addEventListener("click",c))}},updatePopper:function(){var e=this.popperJS;e?(e.update(),e._popper&&(e._popper.style.zIndex=a.PopupManager.nextZIndex())):this.createPopper()},doDestroy:function(e){!this.popperJS||this.showPopper&&!e||(this.popperJS.destroy(),this.popperJS=null)},destroyPopper:function(){this.popperJS&&this.resetTransformOrigin()},resetTransformOrigin:function(){if(this.transformOrigin){var e={top:"bottom",bottom:"top",left:"right",right:"left"},t=this.popperJS._popper.getAttribute("x-placement").split("-")[0],i=e[t];this.popperJS._popper.style.transformOrigin="string"===typeof this.transformOrigin?this.transformOrigin:["top","bottom"].indexOf(t)>-1?"center "+i:i+" center"}},appendArrow:function(e){var t=void 0;if(!this.appended){for(var i in this.appended=!0,e.attributes)if(/^_v-/.test(e.attributes[i].name)){t=e.attributes[i].name;break}var n=document.createElement("div");t&&n.setAttribute(t,""),n.setAttribute("x-arrow",""),n.className="popper__arrow",e.appendChild(n)}}},beforeDestroy:function(){this.doDestroy(!0),this.popperElm&&this.popperElm.parentNode===document.body&&(this.popperElm.removeEventListener("click",c),document.body.removeChild(this.popperElm))},deactivated:function(){this.$options.beforeDestroy[0].call(this)}}},ea34:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},eb73:function(e,t,i){i("6c57"),e.exports=i("da84")},ebb5:function(e,t,i){"use strict";var n,r=i("a981"),a=i("83ab"),s=i("da84"),o=i("861d"),c=i("5135"),l=i("f5df"),u=i("9112"),h=i("6eeb"),d=i("9bf2").f,f=i("e163"),p=i("d2bb"),m=i("b622"),v=i("90e3"),g=s.Int8Array,y=g&&g.prototype,b=s.Uint8ClampedArray,C=b&&b.prototype,S=g&&f(g),x=y&&f(y),w=Object.prototype,_=w.isPrototypeOf,A=m("toStringTag"),E=v("TYPED_ARRAY_TAG"),k=r&&!!p&&"Opera"!==l(s.opera),M=!1,z={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},T=function(e){var t=l(e);return"DataView"===t||c(z,t)},I=function(e){return o(e)&&c(z,l(e))},N=function(e){if(I(e))return e;throw TypeError("Target is not a typed array")},D=function(e){if(p){if(_.call(S,e))return e}else for(var t in z)if(c(z,n)){var i=s[t];if(i&&(e===i||_.call(i,e)))return e}throw TypeError("Target is not a typed array constructor")},P=function(e,t,i){if(a){if(i)for(var n in z){var r=s[n];r&&c(r.prototype,e)&&delete r.prototype[e]}x[e]&&!i||h(x,e,i?t:k&&y[e]||t)}},O=function(e,t,i){var n,r;if(a){if(p){if(i)for(n in z)r=s[n],r&&c(r,e)&&delete r[e];if(S[e]&&!i)return;try{return h(S,e,i?t:k&&g[e]||t)}catch(o){}}for(n in z)r=s[n],!r||r[e]&&!i||h(r,e,t)}};for(n in z)s[n]||(k=!1);if((!k||"function"!=typeof S||S===Function.prototype)&&(S=function(){throw TypeError("Incorrect invocation")},k))for(n in z)s[n]&&p(s[n],S);if((!k||!x||x===w)&&(x=S.prototype,k))for(n in z)s[n]&&p(s[n].prototype,x);if(k&&f(C)!==x&&p(C,x),a&&!c(x,A))for(n in M=!0,d(x,A,{get:function(){return o(this)?this[E]:void 0}}),z)s[n]&&u(s[n],E,n);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:k,TYPED_ARRAY_TAG:M&&E,aTypedArray:N,aTypedArrayConstructor:D,exportTypedArrayMethod:P,exportTypedArrayStaticMethod:O,isView:T,isTypedArray:I,TypedArray:S,TypedArrayPrototype:x}},ecee:function(e,t,i){"use strict";(function(e){function n(e){return n="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,i){return t&&a(e.prototype,t),i&&a(e,i),e}function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function c(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},n=Object.keys(i);"function"===typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable})))),n.forEach((function(t){o(e,t,i[t])}))}return e}function l(e,t){return d(e)||p(e,t)||v()}function u(e){return h(e)||f(e)||m()}function h(e){if(Array.isArray(e)){for(var t=0,i=new Array(e.length);t<e.length;t++)i[t]=e[t];return i}}function d(e){if(Array.isArray(e))return e}function f(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function p(e,t){var i=[],n=!0,r=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(n=(s=o.next()).done);n=!0)if(i.push(s.value),t&&i.length===t)break}catch(c){r=!0,a=c}finally{try{n||null==o["return"]||o["return"]()}finally{if(r)throw a}}return i}function m(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function v(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}i.d(t,"b",(function(){return ct})),i.d(t,"a",(function(){return $})),i.d(t,"e",(function(){return lt})),i.d(t,"c",(function(){return at})),i.d(t,"d",(function(){return ot}));var g=function(){},y={},b={},C={mark:g,measure:g};try{"undefined"!==typeof window&&(y=window),"undefined"!==typeof document&&(b=document),"undefined"!==typeof MutationObserver&&MutationObserver,"undefined"!==typeof performance&&(C=performance)}catch(ut){}var S=y.navigator||{},x=S.userAgent,w=void 0===x?"":x,_=y,A=b,E=C,k=(_.document,!!A.documentElement&&!!A.head&&"function"===typeof A.addEventListener&&"function"===typeof A.createElement),M=~w.indexOf("MSIE")||~w.indexOf("Trident/"),z="___FONT_AWESOME___",T=16,I="fa",N="svg-inline--fa",D="data-fa-i2svg",P=(function(){try{}catch(ut){return!1}}(),[1,2,3,4,5,6,7,8,9,10]),O=P.concat([11,12,13,14,15,16,17,18,19,20]),H={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},F=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",H.GROUP,H.SWAP_OPACITY,H.PRIMARY,H.SECONDARY].concat(P.map((function(e){return"".concat(e,"x")}))).concat(O.map((function(e){return"w-".concat(e)}))),_.FontAwesomeConfig||{});function L(e){var t=A.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}function V(e){return""===e||"false"!==e&&("true"===e||e)}if(A&&"function"===typeof A.querySelector){var R=[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]];R.forEach((function(e){var t=l(e,2),i=t[0],n=t[1],r=V(L(i));void 0!==r&&null!==r&&(F[n]=r)}))}var B={familyPrefix:I,replacementClass:N,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},j=c({},B,F);j.autoReplaceSvg||(j.observeMutations=!1);var $=c({},j);_.FontAwesomeConfig=$;var K=_||{};K[z]||(K[z]={}),K[z].styles||(K[z].styles={}),K[z].hooks||(K[z].hooks={}),K[z].shims||(K[z].shims=[]);var q=K[z],U=[],W=function e(){A.removeEventListener("DOMContentLoaded",e),X=1,U.map((function(e){return e()}))},X=!1;k&&(X=(A.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(A.readyState),X||A.addEventListener("DOMContentLoaded",W));var G,Y="pending",Z="settled",J="fulfilled",Q="rejected",ee=function(){},te="undefined"!==typeof e&&"undefined"!==typeof e.process&&"function"===typeof e.process.emit,ie="undefined"===typeof setImmediate?setTimeout:setImmediate,ne=[];function re(){for(var e=0;e<ne.length;e++)ne[e][0](ne[e][1]);ne=[],G=!1}function ae(e,t){ne.push([e,t]),G||(G=!0,ie(re,0))}function se(e,t){function i(e){le(t,e)}function n(e){he(t,e)}try{e(i,n)}catch(ut){n(ut)}}function oe(e){var t=e.owner,i=t._state,n=t._data,r=e[i],a=e.then;if("function"===typeof r){i=J;try{n=r(n)}catch(ut){he(a,ut)}}ce(a,n)||(i===J&&le(a,n),i===Q&&he(a,n))}function ce(e,t){var i;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(t&&("function"===typeof t||"object"===n(t))){var r=t.then;if("function"===typeof r)return r.call(t,(function(n){i||(i=!0,t===n?ue(e,n):le(e,n))}),(function(t){i||(i=!0,he(e,t))})),!0}}catch(ut){return i||he(e,ut),!0}return!1}function le(e,t){e!==t&&ce(e,t)||ue(e,t)}function ue(e,t){e._state===Y&&(e._state=Z,e._data=t,ae(fe,e))}function he(e,t){e._state===Y&&(e._state=Z,e._data=t,ae(pe,e))}function de(e){e._then=e._then.forEach(oe)}function fe(e){e._state=J,de(e)}function pe(t){t._state=Q,de(t),!t._handled&&te&&e.process.emit("unhandledRejection",t._data,t)}function me(t){e.process.emit("rejectionHandled",t)}function ve(e){if("function"!==typeof e)throw new TypeError("Promise resolver "+e+" is not a function");if(this instanceof ve===!1)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._then=[],se(e,this)}ve.prototype={constructor:ve,_state:Y,_then:null,_data:void 0,_handled:!1,then:function(e,t){var i={owner:this,then:new this.constructor(ee),fulfilled:e,rejected:t};return!t&&!e||this._handled||(this._handled=!0,this._state===Q&&te&&ae(me,this)),this._state===J||this._state===Q?ae(oe,i):this._then.push(i),i.then},catch:function(e){return this.then(null,e)}},ve.all=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.all().");return new ve((function(t,i){var n=[],r=0;function a(e){return r++,function(i){n[e]=i,--r||t(n)}}for(var s,o=0;o<e.length;o++)s=e[o],s&&"function"===typeof s.then?s.then(a(o),i):n[o]=s;r||t(n)}))},ve.race=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.race().");return new ve((function(t,i){for(var n,r=0;r<e.length;r++)n=e[r],n&&"function"===typeof n.then?n.then(t,i):t(n)}))},ve.resolve=function(e){return e&&"object"===n(e)&&e.constructor===ve?e:new ve((function(t){t(e)}))},ve.reject=function(e){return new ve((function(t,i){i(e)}))};var ge=T,ye={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function be(e){if(e&&k){var t=A.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var i=A.head.childNodes,n=null,r=i.length-1;r>-1;r--){var a=i[r],s=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(n=a)}return A.head.insertBefore(t,n),e}}var Ce="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function Se(){var e=12,t="";while(e-- >0)t+=Ce[62*Math.random()|0];return t}function xe(e){return"".concat(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function we(e){return Object.keys(e||{}).reduce((function(t,i){return t+"".concat(i,'="').concat(xe(e[i]),'" ')}),"").trim()}function _e(e){return Object.keys(e||{}).reduce((function(t,i){return t+"".concat(i,": ").concat(e[i],";")}),"")}function Ae(e){return e.size!==ye.size||e.x!==ye.x||e.y!==ye.y||e.rotate!==ye.rotate||e.flipX||e.flipY}function Ee(e){var t=e.transform,i=e.containerWidth,n=e.iconWidth,r={transform:"translate(".concat(i/2," 256)")},a="translate(".concat(32*t.x,", ").concat(32*t.y,") "),s="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),o="rotate(".concat(t.rotate," 0 0)"),c={transform:"".concat(a," ").concat(s," ").concat(o)},l={transform:"translate(".concat(n/2*-1," -256)")};return{outer:r,inner:c,path:l}}function ke(e){var t=e.transform,i=e.width,n=void 0===i?T:i,r=e.height,a=void 0===r?T:r,s=e.startCentered,o=void 0!==s&&s,c="";return c+=o&&M?"translate(".concat(t.x/ge-n/2,"em, ").concat(t.y/ge-a/2,"em) "):o?"translate(calc(-50% + ".concat(t.x/ge,"em), calc(-50% + ").concat(t.y/ge,"em)) "):"translate(".concat(t.x/ge,"em, ").concat(t.y/ge,"em) "),c+="scale(".concat(t.size/ge*(t.flipX?-1:1),", ").concat(t.size/ge*(t.flipY?-1:1),") "),c+="rotate(".concat(t.rotate,"deg) "),c}var Me={x:0,y:0,width:"100%",height:"100%"};function ze(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function Te(e){return"g"===e.tag?e.children:[e]}function Ie(e){var t=e.children,i=e.attributes,n=e.main,r=e.mask,a=e.maskId,s=e.transform,o=n.width,l=n.icon,u=r.width,h=r.icon,d=Ee({transform:s,containerWidth:u,iconWidth:o}),f={tag:"rect",attributes:c({},Me,{fill:"white"})},p=l.children?{children:l.children.map(ze)}:{},m={tag:"g",attributes:c({},d.inner),children:[ze(c({tag:l.tag,attributes:c({},l.attributes,d.path)},p))]},v={tag:"g",attributes:c({},d.outer),children:[m]},g="mask-".concat(a||Se()),y="clip-".concat(a||Se()),b={tag:"mask",attributes:c({},Me,{id:g,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[f,v]},C={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:Te(h)},b]};return t.push(C,{tag:"rect",attributes:c({fill:"currentColor","clip-path":"url(#".concat(y,")"),mask:"url(#".concat(g,")")},Me)}),{children:t,attributes:i}}function Ne(e){var t=e.children,i=e.attributes,n=e.main,r=e.transform,a=e.styles,s=_e(a);if(s.length>0&&(i["style"]=s),Ae(r)){var o=Ee({transform:r,containerWidth:n.width,iconWidth:n.width});t.push({tag:"g",attributes:c({},o.outer),children:[{tag:"g",attributes:c({},o.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:c({},n.icon.attributes,o.path)}]}]})}else t.push(n.icon);return{children:t,attributes:i}}function De(e){var t=e.children,i=e.main,n=e.mask,r=e.attributes,a=e.styles,s=e.transform;if(Ae(s)&&i.found&&!n.found){var o=i.width,l=i.height,u={x:o/l/2,y:.5};r["style"]=_e(c({},a,{"transform-origin":"".concat(u.x+s.x/16,"em ").concat(u.y+s.y/16,"em")}))}return[{tag:"svg",attributes:r,children:t}]}function Pe(e){var t=e.prefix,i=e.iconName,n=e.children,r=e.attributes,a=e.symbol,s=!0===a?"".concat(t,"-").concat($.familyPrefix,"-").concat(i):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:c({},r,{id:s}),children:n}]}]}function Oe(e){var t=e.icons,i=t.main,n=t.mask,r=e.prefix,a=e.iconName,s=e.transform,o=e.symbol,l=e.title,u=e.maskId,h=e.titleId,d=e.extra,f=e.watchable,p=void 0!==f&&f,m=n.found?n:i,v=m.width,g=m.height,y="fa-w-".concat(Math.ceil(v/g*16)),b=[$.replacementClass,a?"".concat($.familyPrefix,"-").concat(a):"",y].filter((function(e){return-1===d.classes.indexOf(e)})).concat(d.classes).join(" "),C={children:[],attributes:c({},d.attributes,{"data-prefix":r,"data-icon":a,class:b,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(v," ").concat(g)})};p&&(C.attributes[D]=""),l&&C.children.push({tag:"title",attributes:{id:C.attributes["aria-labelledby"]||"title-".concat(h||Se())},children:[l]});var S=c({},C,{prefix:r,iconName:a,main:i,mask:n,maskId:u,transform:s,symbol:o,styles:d.styles}),x=n.found&&i.found?Ie(S):Ne(S),w=x.children,_=x.attributes;return S.children=w,S.attributes=_,o?Pe(S):De(S)}function He(e){var t=e.content,i=e.width,n=e.height,r=e.transform,a=e.title,s=e.extra,o=e.watchable,l=void 0!==o&&o,u=c({},s.attributes,a?{title:a}:{},{class:s.classes.join(" ")});l&&(u[D]="");var h=c({},s.styles);Ae(r)&&(h["transform"]=ke({transform:r,startCentered:!0,width:i,height:n}),h["-webkit-transform"]=h["transform"]);var d=_e(h);d.length>0&&(u["style"]=d);var f=[];return f.push({tag:"span",attributes:u,children:[t]}),a&&f.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),f}var Fe=function(){},Le=($.measurePerformance&&E&&E.mark&&E.measure,function(e,t){return function(i,n,r,a){return e.call(t,i,n,r,a)}}),Ve=function(e,t,i,n){var r,a,s,o=Object.keys(e),c=o.length,l=void 0!==n?Le(t,n):t;for(void 0===i?(r=1,s=e[o[0]]):(r=0,s=i);r<c;r++)a=o[r],s=l(s,e[a],a,e);return s};function Re(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.skipHooks,r=void 0!==n&&n,a=Object.keys(t).reduce((function(e,i){var n=t[i],r=!!n.icon;return r?e[n.iconName]=n.icon:e[i]=n,e}),{});"function"!==typeof q.hooks.addPack||r?q.styles[e]=c({},q.styles[e]||{},a):q.hooks.addPack(e,a),"fas"===e&&Re("fa",t)}var Be=q.styles,je=q.shims,$e=function(){var e=function(e){return Ve(Be,(function(t,i,n){return t[n]=Ve(i,e,{}),t}),{})};e((function(e,t,i){return t[3]&&(e[t[3]]=i),e})),e((function(e,t,i){var n=t[2];return e[i]=i,n.forEach((function(t){e[t]=i})),e}));var t="far"in Be;Ve(je,(function(e,i){var n=i[0],r=i[1],a=i[2];return"far"!==r||t||(r="fas"),e[n]={prefix:r,iconName:a},e}),{})};$e();q.styles;function Ke(e,t,i){if(e&&e[t]&&e[t][i])return{prefix:t,iconName:i,icon:e[t][i]}}function qe(e){var t=e.tag,i=e.attributes,n=void 0===i?{}:i,r=e.children,a=void 0===r?[]:r;return"string"===typeof e?xe(e):"<".concat(t," ").concat(we(n),">").concat(a.map(qe).join(""),"</").concat(t,">")}var Ue=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var i=t.toLowerCase().split("-"),n=i[0],r=i.slice(1).join("-");if(n&&"h"===r)return e.flipX=!0,e;if(n&&"v"===r)return e.flipY=!0,e;if(r=parseFloat(r),isNaN(r))return e;switch(n){case"grow":e.size=e.size+r;break;case"shrink":e.size=e.size-r;break;case"left":e.x=e.x-r;break;case"right":e.x=e.x+r;break;case"up":e.y=e.y-r;break;case"down":e.y=e.y+r;break;case"rotate":e.rotate=e.rotate+r;break}return e}),t):t};function We(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}We.prototype=Object.create(Error.prototype),We.prototype.constructor=We;var Xe={fill:"currentColor"},Ge={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},Ye=(c({},Xe,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),c({},Ge,{attributeName:"opacity"}));c({},Xe,{cx:"256",cy:"364",r:"28"}),c({},Ge,{attributeName:"r",values:"28;14;28;28;14;28;"}),c({},Ye,{values:"1;0;1;1;0;1;"}),c({},Xe,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),c({},Ye,{values:"1;0;0;0;0;1;"}),c({},Xe,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),c({},Ye,{values:"0;0;1;1;0;0;"}),q.styles;function Ze(e){var t=e[0],i=e[1],n=e.slice(4),r=l(n,1),a=r[0],s=null;return s=Array.isArray(a)?{tag:"g",attributes:{class:"".concat($.familyPrefix,"-").concat(H.GROUP)},children:[{tag:"path",attributes:{class:"".concat($.familyPrefix,"-").concat(H.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat($.familyPrefix,"-").concat(H.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:t,height:i,icon:s}}q.styles;var Je='svg:not(:root).svg-inline--fa {\n  overflow: visible;\n}\n\n.svg-inline--fa {\n  display: inline-block;\n  font-size: inherit;\n  height: 1em;\n  overflow: visible;\n  vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n  vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n  width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n  width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n  width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n  width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n  width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n  width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n  width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n  width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n  width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n  width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n  width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n  width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n  width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n  width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n  width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n  width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n  width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n  width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n  width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n  width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n  margin-right: 0.3em;\n  width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n  margin-left: 0.3em;\n  width: auto;\n}\n.svg-inline--fa.fa-border {\n  height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n  width: 2em;\n}\n.svg-inline--fa.fa-fw {\n  width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.fa-layers {\n  display: inline-block;\n  height: 1em;\n  position: relative;\n  text-align: center;\n  vertical-align: -0.125em;\n  width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n  -webkit-transform-origin: center center;\n          transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n  display: inline-block;\n  position: absolute;\n  text-align: center;\n}\n\n.fa-layers-text {\n  left: 50%;\n  top: 50%;\n  -webkit-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  -webkit-transform-origin: center center;\n          transform-origin: center center;\n}\n\n.fa-layers-counter {\n  background-color: #ff253a;\n  border-radius: 1em;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  color: #fff;\n  height: 1.5em;\n  line-height: 1;\n  max-width: 5em;\n  min-width: 1.5em;\n  overflow: hidden;\n  padding: 0.25em;\n  right: 0;\n  text-overflow: ellipsis;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n  bottom: 0;\n  right: 0;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom right;\n          transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n  bottom: 0;\n  left: 0;\n  right: auto;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom left;\n          transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n  right: 0;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right;\n}\n\n.fa-layers-top-left {\n  left: 0;\n  right: auto;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top left;\n          transform-origin: top left;\n}\n\n.fa-lg {\n  font-size: 1.3333333333em;\n  line-height: 0.75em;\n  vertical-align: -0.0667em;\n}\n\n.fa-xs {\n  font-size: 0.75em;\n}\n\n.fa-sm {\n  font-size: 0.875em;\n}\n\n.fa-1x {\n  font-size: 1em;\n}\n\n.fa-2x {\n  font-size: 2em;\n}\n\n.fa-3x {\n  font-size: 3em;\n}\n\n.fa-4x {\n  font-size: 4em;\n}\n\n.fa-5x {\n  font-size: 5em;\n}\n\n.fa-6x {\n  font-size: 6em;\n}\n\n.fa-7x {\n  font-size: 7em;\n}\n\n.fa-8x {\n  font-size: 8em;\n}\n\n.fa-9x {\n  font-size: 9em;\n}\n\n.fa-10x {\n  font-size: 10em;\n}\n\n.fa-fw {\n  text-align: center;\n  width: 1.25em;\n}\n\n.fa-ul {\n  list-style-type: none;\n  margin-left: 2.5em;\n  padding-left: 0;\n}\n.fa-ul > li {\n  position: relative;\n}\n\n.fa-li {\n  left: -2em;\n  position: absolute;\n  text-align: center;\n  width: 2em;\n  line-height: inherit;\n}\n\n.fa-border {\n  border: solid 0.08em #eee;\n  border-radius: 0.1em;\n  padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n  float: left;\n}\n\n.fa-pull-right {\n  float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n  margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n  margin-left: 0.3em;\n}\n\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n          animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n          animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.fa-rotate-90 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n  -webkit-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n  -webkit-transform: rotate(180deg);\n          transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n  -webkit-transform: rotate(270deg);\n          transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n  -webkit-transform: scale(-1, 1);\n          transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(1, -1);\n          transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(-1, -1);\n          transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n  -webkit-filter: none;\n          filter: none;\n}\n\n.fa-stack {\n  display: inline-block;\n  height: 2em;\n  position: relative;\n  width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n  height: 1em;\n  width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n  height: 2em;\n  width: 2.5em;\n}\n\n.fa-inverse {\n  color: #fff;\n}\n\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  clip: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  position: static;\n  width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n  fill: var(--fa-primary-color, currentColor);\n  opacity: 1;\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n  fill: var(--fa-secondary-color, currentColor);\n  opacity: 0.4;\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n  opacity: 0.4;\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n  opacity: 1;\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n  fill: black;\n}\n\n.fad.fa-inverse {\n  color: #fff;\n}';function Qe(){var e=I,t=N,i=$.familyPrefix,n=$.replacementClass,r=Je;if(i!==e||n!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),s=new RegExp("\\--".concat(e,"\\-"),"g"),o=new RegExp("\\.".concat(t),"g");r=r.replace(a,".".concat(i,"-")).replace(s,"--".concat(i,"-")).replace(o,".".concat(n))}return r}var et=function(){function e(){r(this,e),this.definitions={}}return s(e,[{key:"add",value:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];var r=i.reduce(this._pullDefinitions,{});Object.keys(r).forEach((function(t){e.definitions[t]=c({},e.definitions[t]||{},r[t]),Re(t,r[t]),$e()}))}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var i=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(i).map((function(t){var n=i[t],r=n.prefix,a=n.iconName,s=n.icon;e[r]||(e[r]={}),e[r][a]=s})),e}}]),e}();function tt(){$.autoAddCss&&!st&&(be(Qe()),st=!0)}function it(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return qe(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(k){var t=A.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function nt(e){var t=e.prefix,i=void 0===t?"fa":t,n=e.iconName;if(n)return Ke(at.definitions,i,n)||Ke(q.styles,i,n)}function rt(e){return function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(t||{}).icon?t:nt(t||{}),r=i.mask;return r&&(r=(r||{}).icon?r:nt(r||{})),e(n,c({},i,{mask:r}))}}var at=new et,st=!1,ot={transform:function(e){return Ue(e)}},ct=rt((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.transform,n=void 0===i?ye:i,r=t.symbol,a=void 0!==r&&r,s=t.mask,o=void 0===s?null:s,l=t.maskId,u=void 0===l?null:l,h=t.title,d=void 0===h?null:h,f=t.titleId,p=void 0===f?null:f,m=t.classes,v=void 0===m?[]:m,g=t.attributes,y=void 0===g?{}:g,b=t.styles,C=void 0===b?{}:b;if(e){var S=e.prefix,x=e.iconName,w=e.icon;return it(c({type:"icon"},e),(function(){return tt(),$.autoA11y&&(d?y["aria-labelledby"]="".concat($.replacementClass,"-title-").concat(p||Se()):(y["aria-hidden"]="true",y["focusable"]="false")),Oe({icons:{main:Ze(w),mask:o?Ze(o.icon):{found:!1,width:null,height:null,icon:{}}},prefix:S,iconName:x,transform:c({},ye,n),symbol:a,title:d,maskId:u,titleId:p,extra:{attributes:y,styles:C,classes:v}})}))}})),lt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.transform,n=void 0===i?ye:i,r=t.title,a=void 0===r?null:r,s=t.classes,o=void 0===s?[]:s,l=t.attributes,h=void 0===l?{}:l,d=t.styles,f=void 0===d?{}:d;return it({type:"text",content:e},(function(){return tt(),He({content:e,transform:c({},ye,n),title:a,extra:{attributes:h,styles:f,classes:["".concat($.familyPrefix,"-layers-text")].concat(u(o))}})}))}}).call(this,i("c8ba"))},ee42:function(e,t,i){i("d3b7"),i("1fe2"),i("ddb0");var n=i("428f");e.exports=n.WeakSet},eedf:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=97)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},97:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"el-button",class:[e.type?"el-button--"+e.type:"",e.buttonSize?"el-button--"+e.buttonSize:"",{"is-disabled":e.buttonDisabled,"is-loading":e.loading,"is-plain":e.plain,"is-round":e.round,"is-circle":e.circle}],attrs:{disabled:e.buttonDisabled||e.loading,autofocus:e.autofocus,type:e.nativeType},on:{click:e.handleClick}},[e.loading?i("i",{staticClass:"el-icon-loading"}):e._e(),e.icon&&!e.loading?i("i",{class:e.icon}):e._e(),e.$slots.default?i("span",[e._t("default")],2):e._e()])},r=[];n._withStripped=!0;var a={name:"ElButton",inject:{elForm:{default:""},elFormItem:{default:""}},props:{type:{type:String,default:"default"},size:String,icon:{type:String,default:""},nativeType:{type:String,default:"button"},loading:Boolean,disabled:Boolean,plain:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},buttonSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},buttonDisabled:function(){return this.disabled||(this.elForm||{}).disabled}},methods:{handleClick:function(e){this.$emit("click",e)}}},s=a,o=i(0),c=Object(o["a"])(s,n,r,!1,null,null,null);c.options.__file="packages/button/src/button.vue";var l=c.exports;l.install=function(e){e.component(l.name,l)};t["default"]=l}})},ef08:function(e,t){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},efe9:function(e,t,i){var n=i("746f");n("isConcatSpreadable")},f069:function(e,t,i){"use strict";var n=i("1c0b"),r=function(e){var t,i;this.promise=new e((function(e,n){if(void 0!==t||void 0!==i)throw TypeError("Bad Promise constructor");t=e,i=n})),this.resolve=n(t),this.reject=n(i)};e.exports.f=function(e){return new r(e)}},f0d9:function(e,t,i){"use strict";t.__esModule=!0,t.default={el:{colorpicker:{confirm:"确定",clear:"清空"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!"},upload:{deleteTip:"按 delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"}}}},f183:function(e,t,i){var n=i("d012"),r=i("861d"),a=i("5135"),s=i("9bf2").f,o=i("90e3"),c=i("bb2f"),l=o("meta"),u=0,h=Object.isExtensible||function(){return!0},d=function(e){s(e,l,{value:{objectID:"O"+ ++u,weakData:{}}})},f=function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,l)){if(!h(e))return"F";if(!t)return"E";d(e)}return e[l].objectID},p=function(e,t){if(!a(e,l)){if(!h(e))return!0;if(!t)return!1;d(e)}return e[l].weakData},m=function(e){return c&&v.REQUIRED&&h(e)&&!a(e,l)&&d(e),e},v=e.exports={REQUIRED:!1,fastKey:f,getWeakData:p,onFreeze:m};n[l]=!0},f2e6:function(e,t,i){i("8ba4");var n=i("428f");e.exports=n.Number.isInteger},f3ad:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=76)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},11:function(e,t){e.exports=i("2bb5")},21:function(e,t){e.exports=i("d397")},4:function(e,t){e.exports=i("d010")},76:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{class:["textarea"===e.type?"el-textarea":"el-input",e.inputSize?"el-input--"+e.inputSize:"",{"is-disabled":e.inputDisabled,"is-exceed":e.inputExceed,"el-input-group":e.$slots.prepend||e.$slots.append,"el-input-group--append":e.$slots.append,"el-input-group--prepend":e.$slots.prepend,"el-input--prefix":e.$slots.prefix||e.prefixIcon,"el-input--suffix":e.$slots.suffix||e.suffixIcon||e.clearable||e.showPassword}],on:{mouseenter:function(t){e.hovering=!0},mouseleave:function(t){e.hovering=!1}}},["textarea"!==e.type?[e.$slots.prepend?i("div",{staticClass:"el-input-group__prepend"},[e._t("prepend")],2):e._e(),"textarea"!==e.type?i("input",e._b({ref:"input",staticClass:"el-input__inner",attrs:{tabindex:e.tabindex,type:e.showPassword?e.passwordVisible?"text":"password":e.type,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,"aria-label":e.label},on:{compositionstart:e.handleCompositionStart,compositionupdate:e.handleCompositionUpdate,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},"input",e.$attrs,!1)):e._e(),e.$slots.prefix||e.prefixIcon?i("span",{staticClass:"el-input__prefix"},[e._t("prefix"),e.prefixIcon?i("i",{staticClass:"el-input__icon",class:e.prefixIcon}):e._e()],2):e._e(),e.getSuffixVisible()?i("span",{staticClass:"el-input__suffix"},[i("span",{staticClass:"el-input__suffix-inner"},[e.showClear&&e.showPwdVisible&&e.isWordLimitVisible?e._e():[e._t("suffix"),e.suffixIcon?i("i",{staticClass:"el-input__icon",class:e.suffixIcon}):e._e()],e.showClear?i("i",{staticClass:"el-input__icon el-icon-circle-close el-input__clear",on:{mousedown:function(e){e.preventDefault()},click:e.clear}}):e._e(),e.showPwdVisible?i("i",{staticClass:"el-input__icon el-icon-view el-input__clear",on:{click:e.handlePasswordVisible}}):e._e(),e.isWordLimitVisible?i("span",{staticClass:"el-input__count"},[i("span",{staticClass:"el-input__count-inner"},[e._v("\n            "+e._s(e.textLength)+"/"+e._s(e.upperLimit)+"\n          ")])]):e._e()],2),e.validateState?i("i",{staticClass:"el-input__icon",class:["el-input__validateIcon",e.validateIcon]}):e._e()]):e._e(),e.$slots.append?i("div",{staticClass:"el-input-group__append"},[e._t("append")],2):e._e()]:i("textarea",e._b({ref:"textarea",staticClass:"el-textarea__inner",style:e.textareaStyle,attrs:{tabindex:e.tabindex,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,"aria-label":e.label},on:{compositionstart:e.handleCompositionStart,compositionupdate:e.handleCompositionUpdate,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},"textarea",e.$attrs,!1)),e.isWordLimitVisible&&"textarea"===e.type?i("span",{staticClass:"el-input__count"},[e._v(e._s(e.textLength)+"/"+e._s(e.upperLimit))]):e._e()],2)},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o=i(11),c=i.n(o),l=void 0,u="\n  height:0 !important;\n  visibility:hidden !important;\n  overflow:hidden !important;\n  position:absolute !important;\n  z-index:-1000 !important;\n  top:0 !important;\n  right:0 !important\n",h=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function d(e){var t=window.getComputedStyle(e),i=t.getPropertyValue("box-sizing"),n=parseFloat(t.getPropertyValue("padding-bottom"))+parseFloat(t.getPropertyValue("padding-top")),r=parseFloat(t.getPropertyValue("border-bottom-width"))+parseFloat(t.getPropertyValue("border-top-width")),a=h.map((function(e){return e+":"+t.getPropertyValue(e)})).join(";");return{contextStyle:a,paddingSize:n,borderSize:r,boxSizing:i}}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;l||(l=document.createElement("textarea"),document.body.appendChild(l));var n=d(e),r=n.paddingSize,a=n.borderSize,s=n.boxSizing,o=n.contextStyle;l.setAttribute("style",o+";"+u),l.value=e.value||e.placeholder||"";var c=l.scrollHeight,h={};"border-box"===s?c+=a:"content-box"===s&&(c-=r),l.value="";var f=l.scrollHeight-r;if(null!==t){var p=f*t;"border-box"===s&&(p=p+r+a),c=Math.max(p,c),h.minHeight=p+"px"}if(null!==i){var m=f*i;"border-box"===s&&(m=m+r+a),c=Math.min(m,c)}return h.height=c+"px",l.parentNode&&l.parentNode.removeChild(l),l=null,h}var p=i(9),m=i.n(p),v=i(21),g={name:"ElInput",componentName:"ElInput",mixins:[s.a,c.a],inheritAttrs:!1,inject:{elForm:{default:""},elFormItem:{default:""}},data:function(){return{textareaCalcStyle:{},hovering:!1,focused:!1,isComposing:!1,passwordVisible:!1}},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:"text"},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},autoComplete:{type:String,validator:function(e){return!0}},validateEvent:{type:Boolean,default:!0},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},tabindex:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},validateState:function(){return this.elFormItem?this.elFormItem.validateState:""},needStatusIcon:function(){return!!this.elForm&&this.elForm.statusIcon},validateIcon:function(){return{validating:"el-icon-loading",success:"el-icon-circle-check",error:"el-icon-circle-close"}[this.validateState]},textareaStyle:function(){return m()({},this.textareaCalcStyle,{resize:this.resize})},inputSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputDisabled:function(){return this.disabled||(this.elForm||{}).disabled},nativeInputValue:function(){return null===this.value||void 0===this.value?"":String(this.value)},showClear:function(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering)},showPwdVisible:function(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused)},isWordLimitVisible:function(){return this.showWordLimit&&this.$attrs.maxlength&&("text"===this.type||"textarea"===this.type)&&!this.inputDisabled&&!this.readonly&&!this.showPassword},upperLimit:function(){return this.$attrs.maxlength},textLength:function(){return"number"===typeof this.value?String(this.value).length:(this.value||"").length},inputExceed:function(){return this.isWordLimitVisible&&this.textLength>this.upperLimit}},watch:{value:function(e){this.$nextTick(this.resizeTextarea),this.validateEvent&&this.dispatch("ElFormItem","el.form.change",[e])},nativeInputValue:function(){this.setNativeInputValue()},type:function(){var e=this;this.$nextTick((function(){e.setNativeInputValue(),e.resizeTextarea(),e.updateIconOffset()}))}},methods:{focus:function(){this.getInput().focus()},blur:function(){this.getInput().blur()},getMigratingConfig:function(){return{props:{icon:"icon is removed, use suffix-icon / prefix-icon instead.","on-icon-click":"on-icon-click is removed."},events:{click:"click is removed."}}},handleBlur:function(e){this.focused=!1,this.$emit("blur",e),this.validateEvent&&this.dispatch("ElFormItem","el.form.blur",[this.value])},select:function(){this.getInput().select()},resizeTextarea:function(){if(!this.$isServer){var e=this.autosize,t=this.type;if("textarea"===t)if(e){var i=e.minRows,n=e.maxRows;this.textareaCalcStyle=f(this.$refs.textarea,i,n)}else this.textareaCalcStyle={minHeight:f(this.$refs.textarea).minHeight}}},setNativeInputValue:function(){var e=this.getInput();e&&e.value!==this.nativeInputValue&&(e.value=this.nativeInputValue)},handleFocus:function(e){this.focused=!0,this.$emit("focus",e)},handleCompositionStart:function(){this.isComposing=!0},handleCompositionUpdate:function(e){var t=e.target.value,i=t[t.length-1]||"";this.isComposing=!Object(v["isKorean"])(i)},handleCompositionEnd:function(e){this.isComposing&&(this.isComposing=!1,this.handleInput(e))},handleInput:function(e){this.isComposing||e.target.value!==this.nativeInputValue&&(this.$emit("input",e.target.value),this.$nextTick(this.setNativeInputValue))},handleChange:function(e){this.$emit("change",e.target.value)},calcIconOffset:function(e){var t=[].slice.call(this.$el.querySelectorAll(".el-input__"+e)||[]);if(t.length){for(var i=null,n=0;n<t.length;n++)if(t[n].parentNode===this.$el){i=t[n];break}if(i){var r={suffix:"append",prefix:"prepend"},a=r[e];this.$slots[a]?i.style.transform="translateX("+("suffix"===e?"-":"")+this.$el.querySelector(".el-input-group__"+a).offsetWidth+"px)":i.removeAttribute("style")}}},updateIconOffset:function(){this.calcIconOffset("prefix"),this.calcIconOffset("suffix")},clear:function(){this.$emit("input",""),this.$emit("change",""),this.$emit("clear")},handlePasswordVisible:function(){this.passwordVisible=!this.passwordVisible,this.focus()},getInput:function(){return this.$refs.input||this.$refs.textarea},getSuffixVisible:function(){return this.$slots.suffix||this.suffixIcon||this.showClear||this.showPassword||this.isWordLimitVisible||this.validateState&&this.needStatusIcon}},created:function(){this.$on("inputSelect",this.select)},mounted:function(){this.setNativeInputValue(),this.resizeTextarea(),this.updateIconOffset()},updated:function(){this.$nextTick(this.updateIconOffset)}},y=g,b=i(0),C=Object(b["a"])(y,n,r,!1,null,null,null);C.options.__file="packages/input/src/input.vue";var S=C.exports;S.install=function(e){e.component(S.name,S)};t["default"]=S},9:function(e,t){e.exports=i("7f4d")}})},f480:function(e,t,i){"use strict";e.exports=function(e,t,i){this.tagname=e,this.parent=t,this.child={},this.attrsMap={},this.val=i,this.addChild=function(e){Array.isArray(this.child[e.tagname])?this.child[e.tagname].push(e):this.child[e.tagname]=[e]}}},f494:function(e,t,i){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=116)}({0:function(e,t,i){"use strict";function n(e,t,i,n,r,a,s,o){var c,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=i,l._compiled=!0),n&&(l.functional=!0),a&&(l._scopeId="data-v-"+a),s?(c=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,this.$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:e,options:l}}i.d(t,"a",(function(){return n}))},116:function(e,t,i){"use strict";i.r(t);var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("label",{staticClass:"el-radio",class:[e.border&&e.radioSize?"el-radio--"+e.radioSize:"",{"is-disabled":e.isDisabled},{"is-focus":e.focus},{"is-bordered":e.border},{"is-checked":e.model===e.label}],attrs:{role:"radio","aria-checked":e.model===e.label,"aria-disabled":e.isDisabled,tabindex:e.tabIndex},on:{keydown:function(t){if(!("button"in t)&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"]))return null;t.stopPropagation(),t.preventDefault(),e.model=e.isDisabled?e.model:e.label}}},[i("span",{staticClass:"el-radio__input",class:{"is-disabled":e.isDisabled,"is-checked":e.model===e.label}},[i("span",{staticClass:"el-radio__inner"}),i("input",{directives:[{name:"model",rawName:"v-model",value:e.model,expression:"model"}],ref:"radio",staticClass:"el-radio__original",attrs:{type:"radio","aria-hidden":"true",name:e.name,disabled:e.isDisabled,tabindex:"-1"},domProps:{value:e.label,checked:e._q(e.model,e.label)},on:{focus:function(t){e.focus=!0},blur:function(t){e.focus=!1},change:[function(t){e.model=e.label},e.handleChange]}})]),i("span",{staticClass:"el-radio__label",on:{keydown:function(e){e.stopPropagation()}}},[e._t("default"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2)])},r=[];n._withStripped=!0;var a=i(4),s=i.n(a),o={name:"ElRadio",mixins:[s.a],inject:{elForm:{default:""},elFormItem:{default:""}},componentName:"ElRadio",props:{value:{},label:{},disabled:Boolean,name:String,border:Boolean,size:String},data:function(){return{focus:!1}},computed:{isGroup:function(){var e=this.$parent;while(e){if("ElRadioGroup"===e.$options.componentName)return this._radioGroup=e,!0;e=e.$parent}return!1},model:{get:function(){return this.isGroup?this._radioGroup.value:this.value},set:function(e){this.isGroup?this.dispatch("ElRadioGroup","input",[e]):this.$emit("input",e),this.$refs.radio&&(this.$refs.radio.checked=this.model===this.label)}},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},radioSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._radioGroup.radioGroupSize||e},isDisabled:function(){return this.isGroup?this._radioGroup.disabled||this.disabled||(this.elForm||{}).disabled:this.disabled||(this.elForm||{}).disabled},tabIndex:function(){return this.isDisabled||this.isGroup&&this.model!==this.label?-1:0}},methods:{handleChange:function(){var e=this;this.$nextTick((function(){e.$emit("change",e.model),e.isGroup&&e.dispatch("ElRadioGroup","handleChange",e.model)}))}}},c=o,l=i(0),u=Object(l["a"])(c,n,r,!1,null,null,null);u.options.__file="packages/radio/src/radio.vue";var h=u.exports;h.install=function(e){e.component(h.name,h)};t["default"]=h},4:function(e,t){e.exports=i("d010")}})},f5b2:function(e,t,i){"use strict";var n=i("23e7"),r=i("6547").codeAt;n({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},f5df:function(e,t,i){var n=i("00ee"),r=i("c6b6"),a=i("b622"),s=a("toStringTag"),o="Arguments"==r(function(){return arguments}()),c=function(e,t){try{return e[t]}catch(i){}};e.exports=n?r:function(e){var t,i,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=c(t=Object(e),s))?i:o?r(t):"Object"==(n=r(t))&&"function"==typeof t.callee?"Arguments":n}},f6b4:function(e,t,i){"use strict";var n=i("c532");function r(){this.handlers=[]}r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=r},f6d6:function(e,t,i){var n=i("23e7"),r=i("23cb"),a=String.fromCharCode,s=String.fromCodePoint,o=!!s&&1!=s.length;n({target:"String",stat:!0,forced:o},{fromCodePoint:function(e){var t,i=[],n=arguments.length,s=0;while(n>s){if(t=+arguments[s++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");i.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return i.join("")}})},f772:function(e,t,i){var n=i("5692"),r=i("90e3"),a=n("keys");e.exports=function(e){return a[e]||(a[e]=r(e))}},f893:function(e,t,i){e.exports={default:i("8119"),__esModule:!0}},f8cd:function(e,t,i){var n=i("a691");e.exports=function(e){var t=n(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},f9dd:function(e,t,i){const{BigInteger:n}=i("e0c8");function r(e){let t=e.toString(16);if("-"!==t.substr(0,1))t.length%2===1?t="0"+t:t.match(/^[0-7]/)||(t="00"+t);else{const i=t.substr(1);let r=i.length;r%2===1?r+=1:t.match(/^[0-7]/)||(r+=2);let a="";for(let e=0;e<r;e++)a+="f";const s=new n(a,16),o=s.xor(e).add(n.ONE);t=o.toString(16).replace(/^-/,"")}return t}class a{constructor(){this.isModified=!0,this.hTLV=null,this.hT="00",this.hL="00",this.hV=""}getLengthHexFromValue(){const e=this.hV.length/2;let t=e.toString(16);if(t.length%2===1&&(t="0"+t),e<128)return t;{const e=t.length/2,i=128+e;return i.toString(16)+t}}getEncodedHex(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV}getFreshValueHex(){return""}}class s extends a{constructor(e){super(),this.hT="02",e&&e.bigint&&(this.hTLV=null,this.isModified=!0,this.hV=r(e.bigint))}getFreshValueHex(){return this.hV}}class o extends a{constructor(e){super(),this.hT="30",this.asn1Array=[],e&&e.array&&(this.asn1Array=e.array)}getFreshValueHex(){let e="";for(let t=0;t<this.asn1Array.length;t++){const i=this.asn1Array[t];e+=i.getEncodedHex()}return this.hV=e,this.hV}}function c(e,t){if("8"!==e.substring(t+2,t+3))return 1;const i=parseInt(e.substring(t+3,t+4),10);return 0===i?-1:i>0&&i<10?i+1:-2}function l(e,t){const i=c(e,t);return i<1?"":e.substring(t+2,t+2+2*i)}function u(e,t){const i=l(e,t);if(""===i)return-1;let r;return r=parseInt(i.substring(0,1),10)<8?new n(i,16):new n(i.substring(2),16),r.intValue()}function h(e,t){const i=c(e,t);return i<0?i:t+2*(i+1)}function d(e,t){const i=h(e,t),n=u(e,t);return e.substring(i,i+2*n)}function f(e,t){const i=h(e,t),n=u(e,t);return i+2*n}function p(e,t){const i=[],n=h(e,t);i.push(n);const r=u(e,t);let a=n,s=0;for(;;){const t=f(e,a);if(null==t||t-n>=2*r)break;if(s>=200)break;i.push(t),a=t,s++}return i}e.exports={encodeDer(e,t){const i=new s({bigint:e}),n=new s({bigint:t}),r=new o({array:[i,n]});return r.getEncodedHex()},decodeDer(e){const t=p(e,0),i=t[0],r=t[1],a=d(e,i),s=d(e,r),o=new n(a,16),c=new n(s,16);return{r:o,s:c}}}},faf5:function(e,t,i){e.exports=!i("0bad")&&!i("4b8b")((function(){return 7!=Object.defineProperty(i("05f5")("div"),"a",{get:function(){return 7}}).a}))},fb2c:function(e,t,i){var n=i("74e8");n("Uint32",(function(e){return function(t,i,n){return e(this,t,i,n)}}))},fb6a:function(e,t,i){"use strict";var n=i("23e7"),r=i("861d"),a=i("e8b5"),s=i("23cb"),o=i("50c4"),c=i("fc6a"),l=i("8418"),u=i("b622"),h=i("1dde"),d=i("ae40"),f=h("slice"),p=d("slice",{ACCESSORS:!0,0:0,1:2}),m=u("species"),v=[].slice,g=Math.max;n({target:"Array",proto:!0,forced:!f||!p},{slice:function(e,t){var i,n,u,h=c(this),d=o(h.length),f=s(e,d),p=s(void 0===t?d:t,d);if(a(h)&&(i=h.constructor,"function"!=typeof i||i!==Array&&!a(i.prototype)?r(i)&&(i=i[m],null===i&&(i=void 0)):i=void 0,i===Array||void 0===i))return v.call(h,f,p);for(n=new(void 0===i?Array:i)(g(p-f,0)),u=0;f<p;f++,u++)f in h&&l(n,u,h[f]);return n.length=u,n}})},fc5e:function(e,t){var i=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:i)(e)}},fc6a:function(e,t,i){var n=i("44ad"),r=i("1d80");e.exports=function(e){return n(r(e))}},fcd4:function(e,t,i){t.f=i("cc15")},fd87:function(e,t,i){var n=i("74e8");n("Int8",(function(e){return function(t,i,n){return e(this,t,i,n)}}))},fdbc:function(e,t){e.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}},fdbf:function(e,t,i){var n=i("4930");e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},fea9:function(e,t,i){var n=i("da84");e.exports=n.Promise},fed5:function(e,t){t.f=Object.getOwnPropertySymbols}}]);
diff --git a/server/target/classes/static/ofd/chunk-vendors.css b/server/target/classes/static/ofd/chunk-vendors.css
deleted file mode 100644
index 6092edc..0000000
--- a/server/target/classes/static/ofd/chunk-vendors.css
+++ /dev/null
@@ -1 +0,0 @@
-.el-pagination--small .arrow.disabled,.el-table--hidden,.el-table .hidden-columns,.el-table td.is-hidden>*,.el-table th.is-hidden>*{visibility:hidden}.el-input__suffix,.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing),.el-message__closeBtn:focus,.el-message__content:focus,.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing),.el-rate:active,.el-rate:focus,.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing),.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}@font-face{font-family:element-icons;src:url(fonts/element-icons.535877f5.woff) format("woff"),url(fonts/element-icons.732389de.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409eff}.el-pagination button:disabled{color:#c0c4cc;background-color:#fff;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:50% no-repeat #fff;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#c0c4cc;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409eff}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409eff}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.el-dialog,.el-pager li{background:#fff;-webkit-box-sizing:border-box}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-date-table,.el-pager,.el-table th{-webkit-user-select:none;-moz-user-select:none}.el-pager .more:before{line-height:30px}.el-pager li{padding:0 4px;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-menu--collapse .el-menu .el-submenu,.el-menu--popup{min-width:200px}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#c0c4cc}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409eff}.el-pager li.active{color:#409eff;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409eff}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #e4e7ed;box-sizing:border-box;background-color:#fff}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:hsla(0,0%,100%,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default:before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown-menu{position:absolute;top:0;left:0;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #ebeef5}.el-dropdown-menu__item--divided:before{content:"";height:6px;display:block;margin:0 -20px;background-color:#fff}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:1px solid #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0}.el-menu,.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu:after,.el-menu:before{display:table;content:""}.el-menu:after{clear:both}.el-menu.el-menu--horizontal{border-bottom:1px solid #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409eff;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409eff;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;position:relative;-webkit-box-sizing:border-box;white-space:nowrap;list-style:none}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{transform:none}.el-menu--popup{z-index:100;border:none;padding:5px 0;border-radius:2px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409eff}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;transition:transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409eff}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{transform:rotate(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{white-space:nowrap;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409eff}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;box-shadow:-1px 0 0 0 #409eff}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-popover,.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){box-shadow:0 0 2px 2px #409eff}.el-switch{display:inline-flex;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409eff}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:0;border-radius:10px;box-sizing:border-box;background:#dcdfe6;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#409eff;background-color:#409eff}.el-switch.is-checked .el-switch__core:after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409eff;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#409eff;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#e4e7ed}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#c0c4cc}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409eff}.el-select .el-input .el-select__caret{color:#c0c4cc;font-size:14px;transition:transform .3s;transform:rotate(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{transform:rotate(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;transform:rotate(180deg);border-radius:100%;color:#c0c4cc;transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#e4e7ed}.el-select .el-input.is-focus .el-input__inner{border-color:#409eff}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;transform:translateY(-50%);display:flex;align-items:center;flex-wrap:wrap}.el-select .el-tag__close{margin-top:-2px}.el-select .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;right:-7px;top:0;color:#fff}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#fff}.el-select .el-tag__close.el-icon-close:before{display:block;transform:translateY(.5px)}.el-table{position:relative;overflow:hidden;box-sizing:border-box;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table--mini,.el-table--small,.el-table__expand-icon{font-size:12px}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:flex;justify-content:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;transition:transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit td.gutter,.el-table--fit th.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th{background:#f5f7fa}.el-table th,.el-table tr{background-color:#fff}.el-table td,.el-table th{padding:12px 0;min-width:0;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table td.is-center,.el-table th.is-center{text-align:center}.el-table td.is-right,.el-table th.is-right{text-align:right}.el-table td.gutter,.el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table--medium td,.el-table--medium th{padding:10px 0}.el-table--small td,.el-table--small th{padding:8px 0}.el-table--mini td,.el-table--mini th{padding:6px 0}.el-table--border td:first-child .cell,.el-table--border th:first-child .cell,.el-table .cell{padding-left:10px}.el-table tr input[type=checkbox]{margin:0}.el-table td,.el-table th.is-leaf{border-bottom:1px solid #ebeef5}.el-table th.is-sortable{cursor:pointer}.el-table th{overflow:hidden;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table th>.cell{display:inline-block;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th>.cell.highlight{color:#409eff}.el-table th.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td div{box-sizing:border-box}.el-table td.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #ebeef5}.el-table--border:after,.el-table--group:after,.el-table:before{content:"";position:absolute;background-color:#ebeef5;z-index:1}.el-table--border:after,.el-table--group:after{top:0;right:0;width:1px;height:100%}.el-table:before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border td,.el-table--border th,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #ebeef5}.el-table--border th.gutter:last-of-type{border-bottom:1px solid #ebeef5;border-bottom-width:1px}.el-table--border th,.el-table__fixed-right-patch{border-bottom:1px solid #ebeef5}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right:before,.el-table__fixed:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td{border-top:1px solid #ebeef5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td{border-top:1px solid #ebeef5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td,.el-table__header-wrapper tbody td{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{box-shadow:none}.el-picker-panel,.el-table-filter{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #ebeef5}.el-table .caret-wrapper{display:inline-flex;flex-direction:column;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#c0c4cc;top:5px}.el-table .sort-caret.descending{border-top-color:#c0c4cc;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409eff}.el-table .descending .sort-caret.descending{border-top-color:#409eff}.el-table .hidden-columns{position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td,.el-table__body tr.hover-row.el-table__row--striped.current-row>td,.el-table__body tr.hover-row.el-table__row--striped>td,.el-table__body tr.hover-row>td{background-color:#f5f7fa}.el-table__body tr.current-row>td{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #ebeef5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;transform:scale(.75)}.el-table--enable-row-transition .el-table__body td{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #ebeef5;border-radius:2px;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-date-table td,.el-date-table td div{height:30px;-webkit-box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409eff;color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #ebeef5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div,.el-date-table td.in-range div,.el-date-table td.in-range div:hover{background-color:#f2f6fc}.el-table-filter__bottom button:hover{color:#409eff}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{padding:3px 0;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409eff;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#fff}.el-date-table td.available:hover{color:#409eff}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#409eff}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#fff}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409eff}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#c0c4cc}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#f2f6fc;border-radius:15px}.el-date-table td.selected div:hover{background-color:#f2f6fc}.el-date-table td.selected span{background-color:#409eff;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:1px solid #ebeef5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;box-sizing:border-box}.el-month-table td.today .cell{color:#409eff;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-month-table td.disabled .cell:hover{color:#c0c4cc}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409eff}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#f2f6fc}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:#409eff}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409eff}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409eff;font-weight:700}.el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-year-table td.disabled .cell:hover{color:#c0c4cc}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409eff}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid #ebeef5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409eff}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409eff;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input,.el-date-editor .el-range-separator{height:100%;margin:0;text-align:center;display:inline-block;font-size:14px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:#606266}.el-date-editor .el-range-input:-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{padding:0 5px;line-height:32px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:inline-flex;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409eff}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#e4e7ed}.el-range-editor.is-disabled input{background-color:#f5f7fa;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-moz-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::placeholder{color:#c0c4cc}.el-range-editor.is-disabled .el-range-separator{color:#c0c4cc}.el-picker-panel{color:#606266;border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-popover,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409eff}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409eff}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409eff}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409eff}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#c0c4cc;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #e4e7ed;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;user-select:none;box-sizing:content-box}.el-slider__button,.el-slider__button-wrapper,.el-time-panel{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds:after{left:66.66667%}.el-time-panel__content.has-seconds:before{padding-left:33.33333%}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409eff}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #e4e7ed}.el-popover{position:absolute;background:#fff;min-width:150px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #ebeef5;font-size:18px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#f56c6c}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409eff}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67c23a}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#e6a23c}.el-message-box__status.el-icon-error{color:#f56c6c}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#f56c6c;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:flex;align-items:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{font-weight:700;text-decoration:none;transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:#409eff;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item:after,.el-form-item:before{display:table;content:""}.el-form-item:after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content:after,.el-form-item__content:before{display:table;content:""}.el-form-item__content:after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:"*";color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409eff;z-index:1;transition:transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;transition:all .15s}.el-collapse-item__arrow,.el-tabs__nav{-webkit-transition:-webkit-transform .3s}.el-tabs__new-tab .el-icon-plus{transform:scale(.8)}.el-tabs__new-tab:hover{color:#409eff}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;transition:transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){box-shadow:inset 0 0 2px 2px #409eff;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#c0c4cc;color:#fff}.el-tabs__item.is-active{color:#409eff}.el-tabs__item:hover{color:#409eff;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #e4e7ed}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #e4e7ed;border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close,.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #e4e7ed;transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--border-card{background:#fff;border:1px solid #dcdfe6;box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409eff;background-color:#fff;border-right-color:#dcdfe6;border-left-color:#dcdfe6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409eff}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#c0c4cc}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #dcdfe6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #e4e7ed;border-bottom:none;border-top:1px solid #e4e7ed;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #e4e7ed;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #e4e7ed;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #e4e7ed;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #e4e7ed}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #e4e7ed;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #e4e7ed;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #e4e7ed;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}to{transform-origin:0 0;transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}to{transform-origin:0 0;transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(-100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translateX(-100%)}to{opacity:1;transform-origin:0 0;transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}to{transform-origin:0 0;transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translateX(0);opacity:1}to{transform-origin:0 0;transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#fff;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409eff}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#f5f7fa}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409eff;color:#fff}.el-tree-node__content{display:flex;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#f5f7fa}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;transform:rotate(0);transition:transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:flex;align-items:center;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#c0c4cc}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#fff}.el-alert.is-center{justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67c23a}.el-alert--success.is-light .el-alert__description{color:#67c23a}.el-alert--success.is-dark{background-color:#67c23a;color:#fff}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#fff}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#e6a23c}.el-alert--warning.is-light .el-alert__description{color:#e6a23c}.el-alert--warning.is-dark{background-color:#e6a23c;color:#fff}.el-alert--error.is-light{background-color:#fef0f0;color:#f56c6c}.el-alert--error.is-light .el-alert__description{color:#f56c6c}.el-alert--error.is-dark{background-color:#f56c6c;color:#fff}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;box-sizing:border-box;border:1px solid #ebeef5;position:fixed;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67c23a}.el-notification .el-icon-error{color:#f56c6c}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#e6a23c}.el-notification-fade-enter.right{right:0;transform:translateX(100%)}.el-notification-fade-enter.left{left:0;transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409eff}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409eff}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #dcdfe6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #dcdfe6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#e4e7ed;color:#e4e7ed}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#e4e7ed;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #dcdfe6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #dcdfe6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow:after{content:" ";border-width:5px}.el-progress-bar__inner:after,.el-row:after,.el-row:before,.el-slider:after,.el-slider:before,.el-slider__button-wrapper:after,.el-upload-cover:after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#fff}.el-tooltip__popper.is-light{background:#fff;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:#fff}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:#fff}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:#fff}.el-slider:after,.el-slider:before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper:after{vertical-align:middle;display:inline-block}.el-slider:after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#e4e7ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button{border-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409eff;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper:after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409eff;background-color:#fff;border-radius:50%;transition:.2s;user-select:none}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#fff;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #dcdfe6;line-height:20px;box-sizing:border-box;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#c0c4cc}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409eff}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:hsla(0,0%,100%,.9);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-2,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-push-0,.el-col-push-1,.el-col-push-2,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-row{position:relative}.el-loading-spinner .el-loading-text{color:#409eff;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409eff;stroke-linecap:round}.el-loading-spinner i{color:#409eff}@-webkit-keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-rotate{to{transform:rotate(1turn)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{box-sizing:border-box}.el-row:after,.el-row:before{display:table}.el-row:after{clear:both}.el-row--flex{display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{justify-content:center}.el-row--flex.is-justify-end{justify-content:flex-end}.el-row--flex.is-justify-space-between{justify-content:space-between}.el-row--flex.is-justify-space-around{justify-content:space-around}.el-row--flex.is-align-middle{align-items:center}.el-row--flex.is-align-bottom{align-items:flex-end}[class*=el-col-]{float:left;box-sizing:border-box}.el-upload--picture-card,.el-upload-dragger{-webkit-box-sizing:border-box;cursor:pointer}.el-col-0{width:0}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;box-sizing:border-box;width:148px;height:148px;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409eff;color:#409eff}.el-upload:focus .el-upload-dragger{border-color:#409eff}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;box-sizing:border-box;width:360px;height:180px;text-align:center;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#c0c4cc;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #dcdfe6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409eff;font-style:normal}.el-upload-dragger:hover{border-color:#409eff}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409eff}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67c23a}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409eff}.el-upload-list__item:hover{background-color:#f5f7fa}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409eff;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409eff}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;transform:rotate(45deg);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#fff}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;transform:rotate(45deg);box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;transform:rotate(45deg);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner:after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-progress.is-warning .el-progress__text{color:#e6a23c}.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409eff;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-card,.el-message{border-radius:4px;overflow:hidden}.el-progress-bar__inner:after{height:100%}.el-progress-bar__innerText{color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;transform:translateX(-50%);background-color:#edf2fc;transition:opacity .3s,transform .4s,top .4s;padding:15px 15px 15px 20px;display:flex;align-items:center}.el-message.is-center{justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#f56c6c;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409eff}.el-badge__content--success{background-color:#67c23a}.el-badge__content--warning{background-color:#e6a23c}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#f56c6c}.el-card{border:1px solid #ebeef5;background-color:#fff;color:#303133;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #ebeef5;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#c0c4cc;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;flex-flow:column}.el-step{position:relative;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-shrink:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#c0c4cc;border-color:#c0c4cc}.el-step__head.is-success{color:#67c23a;border-color:#67c23a}.el-step__head.is-error{color:#f56c6c;border-color:#f56c6c}.el-step__head.is-finish{color:#409eff;border-color:#409eff}.el-step__icon{position:relative;z-index:1;display:inline-flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#fff;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;transition:.15s ease-out;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#67c23a}.el-step__title.is-error{color:#f56c6c}.el-step__title.is-finish{color:#409eff}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#c0c4cc}.el-step__description.is-success{color:#67c23a}.el-step__description.is-error{color:#f56c6c}.el-step__description.is-finish{color:#409eff}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:flex;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:flex;align-items:stretch;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{flex-grow:1;display:flex;align-items:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:#c0c4cc}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#c0c4cc;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;top:0;left:0;position:absolute}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#fff;opacity:.24;transition:.2s}.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active,.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active,.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out}.horizontal-collapse-transition{transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;transform:translateY(-30px)}.el-opacity-transition{transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:flex;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409eff}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.el-popper .popper__arrow:after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409eff;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409eff}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67c23a}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close:before{display:block}.el-tag--dark{background-color:#409eff;color:#fff}.el-tag--dark,.el-tag--dark.is-hit{border-color:#409eff}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#fff;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67c23a}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#fff;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409eff}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;transform:scale(.7)}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#c0c4cc}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409eff}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{transition:transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#c0c4cc}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#fff;border:1px solid #e4e7ed;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:inline-flex;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{flex:none;background-color:#c0c4cc;color:#fff}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:flex;justify-content:space-between;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#f5f7fa}.el-cascader__suggestion-item.is-checked{color:#409eff;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#c0c4cc}.el-cascader__search-input{flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;box-sizing:border-box}.el-cascader__search-input:-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-moz-placeholder{color:#c0c4cc}.el-cascader__search-input::placeholder{color:#c0c4cc}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px #409eff}.el-color-predefine__color-selector>div{display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.el-color-svpanel__black{background:linear-gradient(0deg,#000,transparent)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409eff;border-color:#409eff}.el-color-dropdown__link-btn{cursor:pointer;color:#409eff;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409eff,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:hsla(0,0%,100%,.7)}.el-color-picker__trigger{display:inline-block;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999;transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;transform:translate3d(-50%,-50%,0);color:#fff;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;box-sizing:content-box;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #dcdfe6;border-radius:4px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea__inner:hover{border-color:#c0c4cc}.el-textarea__inner:focus{outline:0;border-color:#409eff}.el-textarea .el-input__count{color:#909399;background:#fff;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea.is-exceed .el-textarea__inner{border-color:#f56c6c}.el-textarea.is-exceed .el-input__count{color:#f56c6c}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#c0c4cc;font-size:14px;cursor:pointer;transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#fff;line-height:normal;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#c0c4cc;text-align:center}.el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input__inner::placeholder{color:#c0c4cc}.el-input__inner:hover{border-color:#c0c4cc}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409eff;outline:0}.el-input__suffix{right:5px;transition:all .3s}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;transition:all .3s;line-height:40px}.el-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#409eff;font-size:0}.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #dcdfe6;background-color:#f5f7fa;color:#c0c4cc}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer-panel{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409eff}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #ebeef5;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-divider__text,.el-link{font-weight:500;font-size:14px}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #ebeef5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer{-webkit-box-orient:vertical}.el-aside,.el-header{-webkit-box-sizing:border-box}.el-container.is-vertical{flex-direction:column}.el-header{padding:0 20px}.el-aside,.el-header{box-sizing:border-box;flex-shrink:0}.el-aside{overflow:auto}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;flex:1;flex-basis:auto;overflow:auto;padding:20px}.el-footer,.el-main{box-sizing:border-box}.el-footer{padding:0 20px;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #e4e7ed}.el-timeline-item__icon{color:#fff;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#e4e7ed;border-radius:50%;display:flex;justify-content:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409eff}.el-timeline-item__node--success{background-color:#67c23a}.el-timeline-item__node--warning{background-color:#e6a23c}.el-timeline-item__node--danger{background-color:#f56c6c}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;justify-content:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409eff}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409eff}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409eff}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#409eff}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#f56c6c}.el-link.el-link--danger{color:#f56c6c}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67c23a}.el-link.el-link--success{color:#67c23a}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#e6a23c}.el-link.el-link--warning{color:#e6a23c}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;color:#303133}.el-image__error,.el-image__placeholder{background:#f5f7fa}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;justify-content:center;align-items:center;font-size:14px;color:#c0c4cc;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;box-sizing:border-box;user-select:none}.el-button,.el-checkbox,.el-image-viewer__btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:flex;align-items:center;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{transform:translateY(-50%);left:40px}.el-image-viewer__next{transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes viewer-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#fff;border-color:#409eff;color:#409eff}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#fff;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#ebeef5;color:#c0c4cc}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#fff;background-color:#409eff;border-color:#409eff}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#fff;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409eff;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409eff;border-color:#409eff;color:#fff}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#fff;background-color:#67c23a;border-color:#67c23a}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#fff}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#fff;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67c23a;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67c23a;border-color:#67c23a;color:#fff}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#fff}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#fff}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#fff;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#e6a23c;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#e6a23c;border-color:#e6a23c;color:#fff}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#fff}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#fff}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#fff;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#f56c6c;border-color:#f56c6c;color:#fff}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#fff;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--text,.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{color:#409eff;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;background-color:transparent}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-calendar{background-color:#fff}.el-calendar__header{display:flex;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #ebeef5}.el-backtop,.el-page-header{display:-ms-flexbox}.el-calendar__title{color:#000;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#c0c4cc}.el-backtop,.el-calendar-table td.is-today{color:#409eff}.el-calendar-table td{border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5;vertical-align:top;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#f2f8fe}.el-calendar-table tr:first-child td{border-top:1px solid #ebeef5}.el-calendar-table tr td:first-child{border-left:1px solid #ebeef5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#f2f8fe}.el-backtop{position:fixed;background-color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#f2f6fc}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left:after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;transform:translateY(-50%);background-color:#dcdfe6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox,.el-checkbox-button__inner,.el-radio{font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409eff}.el-checkbox.is-bordered.is-disabled{border-color:#ebeef5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#dcdfe6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:#c0c4cc}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#c0c4cc}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:#c0c4cc;border-color:#c0c4cc}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409eff}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409eff}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:#fff;height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #dcdfe6;border-radius:2px;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409eff}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in .05s;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409eff}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;outline:0;white-space:nowrap}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409eff}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#ebeef5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409eff}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio{color:#606266;cursor:pointer;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409eff}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409eff;background:#409eff}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409eff}.el-radio__input.is-focus .el-radio__inner{border-color:#409eff}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409eff}.el-radio__inner:after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px #409eff}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;transition:opacity .34s ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);transition:background-color .3s}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;transition:opacity .12s ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #e4e7ed;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:1px solid #e4e7ed}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-avatar,.el-drawer{-webkit-box-sizing:border-box;overflow:hidden}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#c0c4cc}.el-cascader-node{position:relative;display:flex;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409eff;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#f5f7fa}.el-cascader-node.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;box-sizing:border-box;text-align:center;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-drawer,.el-drawer__header{display:-ms-flexbox}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{left:0;right:0;width:100%}.el-drawer.ltr,.el-drawer.rtl,.el-drawer__container{top:0;bottom:0;height:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rtl-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@-webkit-keyframes rtl-drawer-out{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes rtl-drawer-out{0%{transform:translate(0)}to{transform:translate(100%)}}@-webkit-keyframes ltr-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes ltr-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@-webkit-keyframes ltr-drawer-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes ltr-drawer-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@-webkit-keyframes ttb-drawer-in{0%{transform:translateY(-100%)}to{transform:translate(0)}}@keyframes ttb-drawer-in{0%{transform:translateY(-100%)}to{transform:translate(0)}}@-webkit-keyframes ttb-drawer-out{0%{transform:translate(0)}to{transform:translateY(-100%)}}@keyframes ttb-drawer-out{0%{transform:translate(0)}to{transform:translateY(-100%)}}@-webkit-keyframes btt-drawer-in{0%{transform:translateY(100%)}to{transform:translate(0)}}@keyframes btt-drawer-in{0%{transform:translateY(100%)}to{transform:translate(0)}}@-webkit-keyframes btt-drawer-out{0%{transform:translate(0)}to{transform:translateY(100%)}}@keyframes btt-drawer-out{0%{transform:translate(0)}to{transform:translateY(100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#fff;display:flex;flex-direction:column;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{align-items:center;color:#72767b;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{margin:0;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{flex:1}.el-drawer__body>*{box-sizing:border-box}.el-drawer__container{position:relative}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-popconfirm__main{display:flex;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}
\ No newline at end of file
diff --git a/server/target/classes/static/ofd/fonts/SIMFANG.65ab65f8.TTF b/server/target/classes/static/ofd/fonts/SIMFANG.65ab65f8.TTF
deleted file mode 100644
index 68334e2..0000000
Binary files a/server/target/classes/static/ofd/fonts/SIMFANG.65ab65f8.TTF and /dev/null differ
diff --git a/server/target/classes/static/ofd/fonts/element-icons.535877f5.woff b/server/target/classes/static/ofd/fonts/element-icons.535877f5.woff
deleted file mode 100644
index 02b9a25..0000000
Binary files a/server/target/classes/static/ofd/fonts/element-icons.535877f5.woff and /dev/null differ
diff --git a/server/target/classes/static/ofd/fonts/element-icons.732389de.ttf b/server/target/classes/static/ofd/fonts/element-icons.732389de.ttf
deleted file mode 100644
index 91b74de..0000000
Binary files a/server/target/classes/static/ofd/fonts/element-icons.732389de.ttf and /dev/null differ
diff --git a/server/target/classes/static/ofd/fonts/simhei.ab5640f6.ttf b/server/target/classes/static/ofd/fonts/simhei.ab5640f6.ttf
deleted file mode 100644
index 5bd4687..0000000
Binary files a/server/target/classes/static/ofd/fonts/simhei.ab5640f6.ttf and /dev/null differ
diff --git a/server/target/classes/static/ofd/fonts/simkai.6078b506.ttf b/server/target/classes/static/ofd/fonts/simkai.6078b506.ttf
deleted file mode 100644
index d7c3b90..0000000
Binary files a/server/target/classes/static/ofd/fonts/simkai.6078b506.ttf and /dev/null differ
diff --git a/server/target/classes/static/ofd/fonts/simsun.b4a89f58.ttf b/server/target/classes/static/ofd/fonts/simsun.b4a89f58.ttf
deleted file mode 100644
index e0115ab..0000000
Binary files a/server/target/classes/static/ofd/fonts/simsun.b4a89f58.ttf and /dev/null differ
diff --git a/server/target/classes/static/ofd/fonts/xbst.5215475c.ttf b/server/target/classes/static/ofd/fonts/xbst.5215475c.ttf
deleted file mode 100644
index 2fe3215..0000000
Binary files a/server/target/classes/static/ofd/fonts/xbst.5215475c.ttf and /dev/null differ
diff --git a/server/target/classes/static/ofd/index.html b/server/target/classes/static/ofd/index.html
deleted file mode 100644
index 01ef5c4..0000000
--- a/server/target/classes/static/ofd/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>ofd.js</title>
-<link href="chunk-vendors.css" rel="stylesheet">
-<link href="app.css" rel="stylesheet">
-  </head>
-  <body>
-<div id="app">
-</div>
-<script type="text/javascript">
-
-</script>
-<script src="chunk-vendors.c0cd1494.js"></script>
-<script src="app.js"></script>
-</body>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/LICENSE b/server/target/classes/static/pdfjs/LICENSE
deleted file mode 100644
index f433b1a..0000000
--- a/server/target/classes/static/pdfjs/LICENSE
+++ /dev/null
@@ -1,177 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
diff --git a/server/target/classes/static/pdfjs/build/pdf.js b/server/target/classes/static/pdfjs/build/pdf.js
deleted file mode 100644
index 85dec3e..0000000
--- a/server/target/classes/static/pdfjs/build/pdf.js
+++ /dev/null
@@ -1,25473 +0,0 @@
-/**
- * @licstart The following is the entire license notice for the
- * Javascript code in this page
- *
- * Copyright 2020 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @licend The above is the entire license notice for the
- * Javascript code in this page
- */
-
-(function webpackUniversalModuleDefinition(root, factory) {
-	if(typeof exports === 'object' && typeof module === 'object')
-		module.exports = factory();
-	else if(typeof define === 'function' && define.amd)
-		define("pdfjs-dist/build/pdf", [], factory);
-	else if(typeof exports === 'object')
-		exports["pdfjs-dist/build/pdf"] = factory();
-	else
-		root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory();
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __w_pdfjs_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__w_pdfjs_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__w_pdfjs_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__w_pdfjs_require__.d = function(exports, name, getter) {
-/******/ 		if(!__w_pdfjs_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__w_pdfjs_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__w_pdfjs_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __w_pdfjs_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__w_pdfjs_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__w_pdfjs_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__w_pdfjs_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__w_pdfjs_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-var pdfjsVersion = '2.4.456';
-var pdfjsBuild = '228a591c';
-
-var pdfjsSharedUtil = __w_pdfjs_require__(1);
-
-var pdfjsDisplayAPI = __w_pdfjs_require__(190);
-
-var pdfjsDisplayTextLayer = __w_pdfjs_require__(205);
-
-var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(206);
-
-var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(194);
-
-var pdfjsDisplaySVG = __w_pdfjs_require__(207);
-
-var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(199);
-
-var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(196);
-
-{
-  var _require = __w_pdfjs_require__(48),
-      isNodeJS = _require.isNodeJS;
-
-  if (isNodeJS) {
-    var PDFNodeStream = __w_pdfjs_require__(208).PDFNodeStream;
-
-    pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
-      return new PDFNodeStream(params);
-    });
-  } else {
-    var PDFNetworkStream = __w_pdfjs_require__(211).PDFNetworkStream;
-
-    var PDFFetchStream;
-
-    if (pdfjsDisplayDisplayUtils.isFetchSupported()) {
-      PDFFetchStream = __w_pdfjs_require__(212).PDFFetchStream;
-    }
-
-    pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
-      if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {
-        return new PDFFetchStream(params);
-      }
-
-      return new PDFNetworkStream(params);
-    });
-  }
-}
-exports.build = pdfjsDisplayAPI.build;
-exports.version = pdfjsDisplayAPI.version;
-exports.getDocument = pdfjsDisplayAPI.getDocument;
-exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;
-exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;
-exports.PDFWorker = pdfjsDisplayAPI.PDFWorker;
-exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;
-exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;
-exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;
-exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;
-exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;
-exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;
-exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;
-exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;
-exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;
-exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;
-exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;
-exports.OPS = pdfjsSharedUtil.OPS;
-exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;
-exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;
-exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;
-exports.createObjectURL = pdfjsSharedUtil.createObjectURL;
-exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;
-exports.shadow = pdfjsSharedUtil.shadow;
-exports.Util = pdfjsSharedUtil.Util;
-exports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;
-exports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;
-exports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;
-exports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;
-exports.loadScript = pdfjsDisplayDisplayUtils.loadScript;
-exports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;
-exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;
-exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.arrayByteLength = arrayByteLength;
-exports.arraysToBytes = arraysToBytes;
-exports.assert = assert;
-exports.bytesToString = bytesToString;
-exports.createPromiseCapability = createPromiseCapability;
-exports.getVerbosityLevel = getVerbosityLevel;
-exports.info = info;
-exports.isArrayBuffer = isArrayBuffer;
-exports.isArrayEqual = isArrayEqual;
-exports.isBool = isBool;
-exports.isEmptyObj = isEmptyObj;
-exports.isNum = isNum;
-exports.isString = isString;
-exports.isSameOrigin = isSameOrigin;
-exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
-exports.removeNullCharacters = removeNullCharacters;
-exports.setVerbosityLevel = setVerbosityLevel;
-exports.shadow = shadow;
-exports.string32 = string32;
-exports.stringToBytes = stringToBytes;
-exports.stringToPDFString = stringToPDFString;
-exports.stringToUTF8String = stringToUTF8String;
-exports.utf8StringToString = utf8StringToString;
-exports.warn = warn;
-exports.unreachable = unreachable;
-exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;
-
-__w_pdfjs_require__(2);
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
-exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
-var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
-exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
-var NativeImageDecoding = {
-  NONE: "none",
-  DECODE: "decode",
-  DISPLAY: "display"
-};
-exports.NativeImageDecoding = NativeImageDecoding;
-var PermissionFlag = {
-  PRINT: 0x04,
-  MODIFY_CONTENTS: 0x08,
-  COPY: 0x10,
-  MODIFY_ANNOTATIONS: 0x20,
-  FILL_INTERACTIVE_FORMS: 0x100,
-  COPY_FOR_ACCESSIBILITY: 0x200,
-  ASSEMBLE: 0x400,
-  PRINT_HIGH_QUALITY: 0x800
-};
-exports.PermissionFlag = PermissionFlag;
-var TextRenderingMode = {
-  FILL: 0,
-  STROKE: 1,
-  FILL_STROKE: 2,
-  INVISIBLE: 3,
-  FILL_ADD_TO_PATH: 4,
-  STROKE_ADD_TO_PATH: 5,
-  FILL_STROKE_ADD_TO_PATH: 6,
-  ADD_TO_PATH: 7,
-  FILL_STROKE_MASK: 3,
-  ADD_TO_PATH_FLAG: 4
-};
-exports.TextRenderingMode = TextRenderingMode;
-var ImageKind = {
-  GRAYSCALE_1BPP: 1,
-  RGB_24BPP: 2,
-  RGBA_32BPP: 3
-};
-exports.ImageKind = ImageKind;
-var AnnotationType = {
-  TEXT: 1,
-  LINK: 2,
-  FREETEXT: 3,
-  LINE: 4,
-  SQUARE: 5,
-  CIRCLE: 6,
-  POLYGON: 7,
-  POLYLINE: 8,
-  HIGHLIGHT: 9,
-  UNDERLINE: 10,
-  SQUIGGLY: 11,
-  STRIKEOUT: 12,
-  STAMP: 13,
-  CARET: 14,
-  INK: 15,
-  POPUP: 16,
-  FILEATTACHMENT: 17,
-  SOUND: 18,
-  MOVIE: 19,
-  WIDGET: 20,
-  SCREEN: 21,
-  PRINTERMARK: 22,
-  TRAPNET: 23,
-  WATERMARK: 24,
-  THREED: 25,
-  REDACT: 26
-};
-exports.AnnotationType = AnnotationType;
-var AnnotationStateModelType = {
-  MARKED: "Marked",
-  REVIEW: "Review"
-};
-exports.AnnotationStateModelType = AnnotationStateModelType;
-var AnnotationMarkedState = {
-  MARKED: "Marked",
-  UNMARKED: "Unmarked"
-};
-exports.AnnotationMarkedState = AnnotationMarkedState;
-var AnnotationReviewState = {
-  ACCEPTED: "Accepted",
-  REJECTED: "Rejected",
-  CANCELLED: "Cancelled",
-  COMPLETED: "Completed",
-  NONE: "None"
-};
-exports.AnnotationReviewState = AnnotationReviewState;
-var AnnotationReplyType = {
-  GROUP: "Group",
-  REPLY: "R"
-};
-exports.AnnotationReplyType = AnnotationReplyType;
-var AnnotationFlag = {
-  INVISIBLE: 0x01,
-  HIDDEN: 0x02,
-  PRINT: 0x04,
-  NOZOOM: 0x08,
-  NOROTATE: 0x10,
-  NOVIEW: 0x20,
-  READONLY: 0x40,
-  LOCKED: 0x80,
-  TOGGLENOVIEW: 0x100,
-  LOCKEDCONTENTS: 0x200
-};
-exports.AnnotationFlag = AnnotationFlag;
-var AnnotationFieldFlag = {
-  READONLY: 0x0000001,
-  REQUIRED: 0x0000002,
-  NOEXPORT: 0x0000004,
-  MULTILINE: 0x0001000,
-  PASSWORD: 0x0002000,
-  NOTOGGLETOOFF: 0x0004000,
-  RADIO: 0x0008000,
-  PUSHBUTTON: 0x0010000,
-  COMBO: 0x0020000,
-  EDIT: 0x0040000,
-  SORT: 0x0080000,
-  FILESELECT: 0x0100000,
-  MULTISELECT: 0x0200000,
-  DONOTSPELLCHECK: 0x0400000,
-  DONOTSCROLL: 0x0800000,
-  COMB: 0x1000000,
-  RICHTEXT: 0x2000000,
-  RADIOSINUNISON: 0x2000000,
-  COMMITONSELCHANGE: 0x4000000
-};
-exports.AnnotationFieldFlag = AnnotationFieldFlag;
-var AnnotationBorderStyleType = {
-  SOLID: 1,
-  DASHED: 2,
-  BEVELED: 3,
-  INSET: 4,
-  UNDERLINE: 5
-};
-exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
-var StreamType = {
-  UNKNOWN: "UNKNOWN",
-  FLATE: "FLATE",
-  LZW: "LZW",
-  DCT: "DCT",
-  JPX: "JPX",
-  JBIG: "JBIG",
-  A85: "A85",
-  AHX: "AHX",
-  CCF: "CCF",
-  RLX: "RLX"
-};
-exports.StreamType = StreamType;
-var FontType = {
-  UNKNOWN: "UNKNOWN",
-  TYPE1: "TYPE1",
-  TYPE1C: "TYPE1C",
-  CIDFONTTYPE0: "CIDFONTTYPE0",
-  CIDFONTTYPE0C: "CIDFONTTYPE0C",
-  TRUETYPE: "TRUETYPE",
-  CIDFONTTYPE2: "CIDFONTTYPE2",
-  TYPE3: "TYPE3",
-  OPENTYPE: "OPENTYPE",
-  TYPE0: "TYPE0",
-  MMTYPE1: "MMTYPE1"
-};
-exports.FontType = FontType;
-var VerbosityLevel = {
-  ERRORS: 0,
-  WARNINGS: 1,
-  INFOS: 5
-};
-exports.VerbosityLevel = VerbosityLevel;
-var CMapCompressionType = {
-  NONE: 0,
-  BINARY: 1,
-  STREAM: 2
-};
-exports.CMapCompressionType = CMapCompressionType;
-var OPS = {
-  dependency: 1,
-  setLineWidth: 2,
-  setLineCap: 3,
-  setLineJoin: 4,
-  setMiterLimit: 5,
-  setDash: 6,
-  setRenderingIntent: 7,
-  setFlatness: 8,
-  setGState: 9,
-  save: 10,
-  restore: 11,
-  transform: 12,
-  moveTo: 13,
-  lineTo: 14,
-  curveTo: 15,
-  curveTo2: 16,
-  curveTo3: 17,
-  closePath: 18,
-  rectangle: 19,
-  stroke: 20,
-  closeStroke: 21,
-  fill: 22,
-  eoFill: 23,
-  fillStroke: 24,
-  eoFillStroke: 25,
-  closeFillStroke: 26,
-  closeEOFillStroke: 27,
-  endPath: 28,
-  clip: 29,
-  eoClip: 30,
-  beginText: 31,
-  endText: 32,
-  setCharSpacing: 33,
-  setWordSpacing: 34,
-  setHScale: 35,
-  setLeading: 36,
-  setFont: 37,
-  setTextRenderingMode: 38,
-  setTextRise: 39,
-  moveText: 40,
-  setLeadingMoveText: 41,
-  setTextMatrix: 42,
-  nextLine: 43,
-  showText: 44,
-  showSpacedText: 45,
-  nextLineShowText: 46,
-  nextLineSetSpacingShowText: 47,
-  setCharWidth: 48,
-  setCharWidthAndBounds: 49,
-  setStrokeColorSpace: 50,
-  setFillColorSpace: 51,
-  setStrokeColor: 52,
-  setStrokeColorN: 53,
-  setFillColor: 54,
-  setFillColorN: 55,
-  setStrokeGray: 56,
-  setFillGray: 57,
-  setStrokeRGBColor: 58,
-  setFillRGBColor: 59,
-  setStrokeCMYKColor: 60,
-  setFillCMYKColor: 61,
-  shadingFill: 62,
-  beginInlineImage: 63,
-  beginImageData: 64,
-  endInlineImage: 65,
-  paintXObject: 66,
-  markPoint: 67,
-  markPointProps: 68,
-  beginMarkedContent: 69,
-  beginMarkedContentProps: 70,
-  endMarkedContent: 71,
-  beginCompat: 72,
-  endCompat: 73,
-  paintFormXObjectBegin: 74,
-  paintFormXObjectEnd: 75,
-  beginGroup: 76,
-  endGroup: 77,
-  beginAnnotations: 78,
-  endAnnotations: 79,
-  beginAnnotation: 80,
-  endAnnotation: 81,
-  paintJpegXObject: 82,
-  paintImageMaskXObject: 83,
-  paintImageMaskXObjectGroup: 84,
-  paintImageXObject: 85,
-  paintInlineImageXObject: 86,
-  paintInlineImageXObjectGroup: 87,
-  paintImageXObjectRepeat: 88,
-  paintImageMaskXObjectRepeat: 89,
-  paintSolidColorImageMask: 90,
-  constructPath: 91
-};
-exports.OPS = OPS;
-var UNSUPPORTED_FEATURES = {
-  unknown: "unknown",
-  forms: "forms",
-  javaScript: "javaScript",
-  smask: "smask",
-  shadingPattern: "shadingPattern",
-  font: "font"
-};
-exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
-var PasswordResponses = {
-  NEED_PASSWORD: 1,
-  INCORRECT_PASSWORD: 2
-};
-exports.PasswordResponses = PasswordResponses;
-var verbosity = VerbosityLevel.WARNINGS;
-
-function setVerbosityLevel(level) {
-  if (Number.isInteger(level)) {
-    verbosity = level;
-  }
-}
-
-function getVerbosityLevel() {
-  return verbosity;
-}
-
-function info(msg) {
-  if (verbosity >= VerbosityLevel.INFOS) {
-    console.log("Info: ".concat(msg));
-  }
-}
-
-function warn(msg) {
-  if (verbosity >= VerbosityLevel.WARNINGS) {
-    console.log("Warning: ".concat(msg));
-  }
-}
-
-function unreachable(msg) {
-  throw new Error(msg);
-}
-
-function assert(cond, msg) {
-  if (!cond) {
-    unreachable(msg);
-  }
-}
-
-function isSameOrigin(baseUrl, otherUrl) {
-  var base;
-
-  try {
-    base = new URL(baseUrl);
-
-    if (!base.origin || base.origin === "null") {
-      return false;
-    }
-  } catch (e) {
-    return false;
-  }
-
-  var other = new URL(otherUrl, base);
-  return base.origin === other.origin;
-}
-
-function _isValidProtocol(url) {
-  if (!url) {
-    return false;
-  }
-
-  switch (url.protocol) {
-    case "http:":
-    case "https:":
-    case "ftp:":
-    case "mailto:":
-    case "tel:":
-      return true;
-
-    default:
-      return false;
-  }
-}
-
-function createValidAbsoluteUrl(url, baseUrl) {
-  if (!url) {
-    return null;
-  }
-
-  try {
-    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
-
-    if (_isValidProtocol(absoluteUrl)) {
-      return absoluteUrl;
-    }
-  } catch (ex) {}
-
-  return null;
-}
-
-function shadow(obj, prop, value) {
-  Object.defineProperty(obj, prop, {
-    value: value,
-    enumerable: true,
-    configurable: true,
-    writable: false
-  });
-  return value;
-}
-
-var BaseException = function BaseExceptionClosure() {
-  function BaseException(message) {
-    if (this.constructor === BaseException) {
-      unreachable("Cannot initialize BaseException.");
-    }
-
-    this.message = message;
-    this.name = this.constructor.name;
-  }
-
-  BaseException.prototype = new Error();
-  BaseException.constructor = BaseException;
-  return BaseException;
-}();
-
-exports.BaseException = BaseException;
-
-var PasswordException = /*#__PURE__*/function (_BaseException) {
-  _inherits(PasswordException, _BaseException);
-
-  function PasswordException(msg, code) {
-    var _this;
-
-    _classCallCheck(this, PasswordException);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));
-    _this.code = code;
-    return _this;
-  }
-
-  return PasswordException;
-}(BaseException);
-
-exports.PasswordException = PasswordException;
-
-var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {
-  _inherits(UnknownErrorException, _BaseException2);
-
-  function UnknownErrorException(msg, details) {
-    var _this2;
-
-    _classCallCheck(this, UnknownErrorException);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));
-    _this2.details = details;
-    return _this2;
-  }
-
-  return UnknownErrorException;
-}(BaseException);
-
-exports.UnknownErrorException = UnknownErrorException;
-
-var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {
-  _inherits(InvalidPDFException, _BaseException3);
-
-  function InvalidPDFException() {
-    _classCallCheck(this, InvalidPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));
-  }
-
-  return InvalidPDFException;
-}(BaseException);
-
-exports.InvalidPDFException = InvalidPDFException;
-
-var MissingPDFException = /*#__PURE__*/function (_BaseException4) {
-  _inherits(MissingPDFException, _BaseException4);
-
-  function MissingPDFException() {
-    _classCallCheck(this, MissingPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));
-  }
-
-  return MissingPDFException;
-}(BaseException);
-
-exports.MissingPDFException = MissingPDFException;
-
-var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {
-  _inherits(UnexpectedResponseException, _BaseException5);
-
-  function UnexpectedResponseException(msg, status) {
-    var _this3;
-
-    _classCallCheck(this, UnexpectedResponseException);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));
-    _this3.status = status;
-    return _this3;
-  }
-
-  return UnexpectedResponseException;
-}(BaseException);
-
-exports.UnexpectedResponseException = UnexpectedResponseException;
-
-var FormatError = /*#__PURE__*/function (_BaseException6) {
-  _inherits(FormatError, _BaseException6);
-
-  function FormatError() {
-    _classCallCheck(this, FormatError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));
-  }
-
-  return FormatError;
-}(BaseException);
-
-exports.FormatError = FormatError;
-
-var AbortException = /*#__PURE__*/function (_BaseException7) {
-  _inherits(AbortException, _BaseException7);
-
-  function AbortException() {
-    _classCallCheck(this, AbortException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));
-  }
-
-  return AbortException;
-}(BaseException);
-
-exports.AbortException = AbortException;
-var NullCharactersRegExp = /\x00/g;
-
-function removeNullCharacters(str) {
-  if (typeof str !== "string") {
-    warn("The argument for removeNullCharacters must be a string.");
-    return str;
-  }
-
-  return str.replace(NullCharactersRegExp, "");
-}
-
-function bytesToString(bytes) {
-  assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
-  var length = bytes.length;
-  var MAX_ARGUMENT_COUNT = 8192;
-
-  if (length < MAX_ARGUMENT_COUNT) {
-    return String.fromCharCode.apply(null, bytes);
-  }
-
-  var strBuf = [];
-
-  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
-    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
-    var chunk = bytes.subarray(i, chunkEnd);
-    strBuf.push(String.fromCharCode.apply(null, chunk));
-  }
-
-  return strBuf.join("");
-}
-
-function stringToBytes(str) {
-  assert(typeof str === "string", "Invalid argument for stringToBytes");
-  var length = str.length;
-  var bytes = new Uint8Array(length);
-
-  for (var i = 0; i < length; ++i) {
-    bytes[i] = str.charCodeAt(i) & 0xff;
-  }
-
-  return bytes;
-}
-
-function arrayByteLength(arr) {
-  if (arr.length !== undefined) {
-    return arr.length;
-  }
-
-  assert(arr.byteLength !== undefined);
-  return arr.byteLength;
-}
-
-function arraysToBytes(arr) {
-  var length = arr.length;
-
-  if (length === 1 && arr[0] instanceof Uint8Array) {
-    return arr[0];
-  }
-
-  var resultLength = 0;
-
-  for (var i = 0; i < length; i++) {
-    resultLength += arrayByteLength(arr[i]);
-  }
-
-  var pos = 0;
-  var data = new Uint8Array(resultLength);
-
-  for (var _i = 0; _i < length; _i++) {
-    var item = arr[_i];
-
-    if (!(item instanceof Uint8Array)) {
-      if (typeof item === "string") {
-        item = stringToBytes(item);
-      } else {
-        item = new Uint8Array(item);
-      }
-    }
-
-    var itemLength = item.byteLength;
-    data.set(item, pos);
-    pos += itemLength;
-  }
-
-  return data;
-}
-
-function string32(value) {
-  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
-}
-
-function isLittleEndian() {
-  var buffer8 = new Uint8Array(4);
-  buffer8[0] = 1;
-  var view32 = new Uint32Array(buffer8.buffer, 0, 1);
-  return view32[0] === 1;
-}
-
-var IsLittleEndianCached = {
-  get value() {
-    return shadow(this, "value", isLittleEndian());
-  }
-
-};
-exports.IsLittleEndianCached = IsLittleEndianCached;
-
-function isEvalSupported() {
-  try {
-    new Function("");
-    return true;
-  } catch (e) {
-    return false;
-  }
-}
-
-var IsEvalSupportedCached = {
-  get value() {
-    return shadow(this, "value", isEvalSupported());
-  }
-
-};
-exports.IsEvalSupportedCached = IsEvalSupportedCached;
-var rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"];
-
-var Util = /*#__PURE__*/function () {
-  function Util() {
-    _classCallCheck(this, Util);
-  }
-
-  _createClass(Util, null, [{
-    key: "makeCssRgb",
-    value: function makeCssRgb(r, g, b) {
-      rgbBuf[1] = r;
-      rgbBuf[3] = g;
-      rgbBuf[5] = b;
-      return rgbBuf.join("");
-    }
-  }, {
-    key: "transform",
-    value: function transform(m1, m2) {
-      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
-    }
-  }, {
-    key: "applyTransform",
-    value: function applyTransform(p, m) {
-      var xt = p[0] * m[0] + p[1] * m[2] + m[4];
-      var yt = p[0] * m[1] + p[1] * m[3] + m[5];
-      return [xt, yt];
-    }
-  }, {
-    key: "applyInverseTransform",
-    value: function applyInverseTransform(p, m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
-      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
-      return [xt, yt];
-    }
-  }, {
-    key: "getAxialAlignedBoundingBox",
-    value: function getAxialAlignedBoundingBox(r, m) {
-      var p1 = Util.applyTransform(r, m);
-      var p2 = Util.applyTransform(r.slice(2, 4), m);
-      var p3 = Util.applyTransform([r[0], r[3]], m);
-      var p4 = Util.applyTransform([r[2], r[1]], m);
-      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
-    }
-  }, {
-    key: "inverseTransform",
-    value: function inverseTransform(m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
-    }
-  }, {
-    key: "apply3dTransform",
-    value: function apply3dTransform(m, v) {
-      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];
-    }
-  }, {
-    key: "singularValueDecompose2dScale",
-    value: function singularValueDecompose2dScale(m) {
-      var transpose = [m[0], m[2], m[1], m[3]];
-      var a = m[0] * transpose[0] + m[1] * transpose[2];
-      var b = m[0] * transpose[1] + m[1] * transpose[3];
-      var c = m[2] * transpose[0] + m[3] * transpose[2];
-      var d = m[2] * transpose[1] + m[3] * transpose[3];
-      var first = (a + d) / 2;
-      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
-      var sx = first + second || 1;
-      var sy = first - second || 1;
-      return [Math.sqrt(sx), Math.sqrt(sy)];
-    }
-  }, {
-    key: "normalizeRect",
-    value: function normalizeRect(rect) {
-      var r = rect.slice(0);
-
-      if (rect[0] > rect[2]) {
-        r[0] = rect[2];
-        r[2] = rect[0];
-      }
-
-      if (rect[1] > rect[3]) {
-        r[1] = rect[3];
-        r[3] = rect[1];
-      }
-
-      return r;
-    }
-  }, {
-    key: "intersect",
-    value: function intersect(rect1, rect2) {
-      function compare(a, b) {
-        return a - b;
-      }
-
-      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
-      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
-      var result = [];
-      rect1 = Util.normalizeRect(rect1);
-      rect2 = Util.normalizeRect(rect2);
-
-      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
-        result[0] = orderedX[1];
-        result[2] = orderedX[2];
-      } else {
-        return null;
-      }
-
-      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
-        result[1] = orderedY[1];
-        result[3] = orderedY[2];
-      } else {
-        return null;
-      }
-
-      return result;
-    }
-  }]);
-
-  return Util;
-}();
-
-exports.Util = Util;
-var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
-
-function stringToPDFString(str) {
-  var length = str.length,
-      strBuf = [];
-
-  if (str[0] === "\xFE" && str[1] === "\xFF") {
-    for (var i = 2; i < length; i += 2) {
-      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
-    }
-  } else if (str[0] === "\xFF" && str[1] === "\xFE") {
-    for (var _i2 = 2; _i2 < length; _i2 += 2) {
-      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));
-    }
-  } else {
-    for (var _i3 = 0; _i3 < length; ++_i3) {
-      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];
-      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));
-    }
-  }
-
-  return strBuf.join("");
-}
-
-function stringToUTF8String(str) {
-  return decodeURIComponent(escape(str));
-}
-
-function utf8StringToString(str) {
-  return unescape(encodeURIComponent(str));
-}
-
-function isEmptyObj(obj) {
-  for (var key in obj) {
-    return false;
-  }
-
-  return true;
-}
-
-function isBool(v) {
-  return typeof v === "boolean";
-}
-
-function isNum(v) {
-  return typeof v === "number";
-}
-
-function isString(v) {
-  return typeof v === "string";
-}
-
-function isArrayBuffer(v) {
-  return _typeof(v) === "object" && v !== null && v.byteLength !== undefined;
-}
-
-function isArrayEqual(arr1, arr2) {
-  if (arr1.length !== arr2.length) {
-    return false;
-  }
-
-  return arr1.every(function (element, index) {
-    return element === arr2[index];
-  });
-}
-
-function createPromiseCapability() {
-  var capability = Object.create(null);
-  var isSettled = false;
-  Object.defineProperty(capability, "settled", {
-    get: function get() {
-      return isSettled;
-    }
-  });
-  capability.promise = new Promise(function (resolve, reject) {
-    capability.resolve = function (data) {
-      isSettled = true;
-      resolve(data);
-    };
-
-    capability.reject = function (reason) {
-      isSettled = true;
-      reject(reason);
-    };
-  });
-  return capability;
-}
-
-var createObjectURL = function createObjectURLClosure() {
-  var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-  return function createObjectURL(data, contentType) {
-    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    if (!forceDataSchema && URL.createObjectURL) {
-      var blob = new Blob([data], {
-        type: contentType
-      });
-      return URL.createObjectURL(blob);
-    }
-
-    var buffer = "data:".concat(contentType, ";base64,");
-
-    for (var i = 0, ii = data.length; i < ii; i += 3) {
-      var b1 = data[i] & 0xff;
-      var b2 = data[i + 1] & 0xff;
-      var b3 = data[i + 2] & 0xff;
-      var d1 = b1 >> 2,
-          d2 = (b1 & 3) << 4 | b2 >> 4;
-      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
-      var d4 = i + 2 < ii ? b3 & 0x3f : 64;
-      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
-    }
-
-    return buffer;
-  };
-}();
-
-exports.createObjectURL = createObjectURL;
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) {
-  if (typeof globalThis === "undefined" || globalThis.Math !== Math) {
-    globalThis = __w_pdfjs_require__(3);
-  }
-
-  globalThis._pdfjsCompatibilityChecked = true;
-
-  var _require = __w_pdfjs_require__(48),
-      isNodeJS = _require.isNodeJS;
-
-  var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === "object";
-  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
-  var isIE = /Trident/.test(userAgent);
-
-  (function checkNodeBtoa() {
-    if (globalThis.btoa || !isNodeJS) {
-      return;
-    }
-
-    globalThis.btoa = function (chars) {
-      return Buffer.from(chars, "binary").toString("base64");
-    };
-  })();
-
-  (function checkNodeAtob() {
-    if (globalThis.atob || !isNodeJS) {
-      return;
-    }
-
-    globalThis.atob = function (input) {
-      return Buffer.from(input, "base64").toString("binary");
-    };
-  })();
-
-  (function checkChildNodeRemove() {
-    if (!hasDOM) {
-      return;
-    }
-
-    if (typeof Element.prototype.remove !== "undefined") {
-      return;
-    }
-
-    Element.prototype.remove = function () {
-      if (this.parentNode) {
-        this.parentNode.removeChild(this);
-      }
-    };
-  })();
-
-  (function checkDOMTokenListAddRemove() {
-    if (!hasDOM || isNodeJS) {
-      return;
-    }
-
-    var div = document.createElement("div");
-    div.classList.add("testOne", "testTwo");
-
-    if (div.classList.contains("testOne") === true && div.classList.contains("testTwo") === true) {
-      return;
-    }
-
-    var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
-    var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;
-
-    DOMTokenList.prototype.add = function () {
-      for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
-        tokens[_key] = arguments[_key];
-      }
-
-      for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
-        var token = _tokens[_i];
-        OriginalDOMTokenListAdd.call(this, token);
-      }
-    };
-
-    DOMTokenList.prototype.remove = function () {
-      for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-        tokens[_key2] = arguments[_key2];
-      }
-
-      for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
-        var token = _tokens2[_i2];
-        OriginalDOMTokenListRemove.call(this, token);
-      }
-    };
-  })();
-
-  (function checkDOMTokenListToggle() {
-    if (!hasDOM || isNodeJS) {
-      return;
-    }
-
-    var div = document.createElement("div");
-
-    if (div.classList.toggle("test", 0) === false) {
-      return;
-    }
-
-    DOMTokenList.prototype.toggle = function (token) {
-      var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
-      return this[force ? "add" : "remove"](token), force;
-    };
-  })();
-
-  (function checkWindowHistoryPushStateReplaceState() {
-    if (!hasDOM || !isIE) {
-      return;
-    }
-
-    var OriginalPushState = window.history.pushState;
-    var OriginalReplaceState = window.history.replaceState;
-
-    window.history.pushState = function (state, title, url) {
-      var args = url === undefined ? [state, title] : [state, title, url];
-      OriginalPushState.apply(this, args);
-    };
-
-    window.history.replaceState = function (state, title, url) {
-      var args = url === undefined ? [state, title] : [state, title, url];
-      OriginalReplaceState.apply(this, args);
-    };
-  })();
-
-  (function checkStringStartsWith() {
-    if (String.prototype.startsWith) {
-      return;
-    }
-
-    __w_pdfjs_require__(49);
-  })();
-
-  (function checkStringEndsWith() {
-    if (String.prototype.endsWith) {
-      return;
-    }
-
-    __w_pdfjs_require__(60);
-  })();
-
-  (function checkStringIncludes() {
-    if (String.prototype.includes) {
-      return;
-    }
-
-    __w_pdfjs_require__(62);
-  })();
-
-  (function checkArrayIncludes() {
-    if (Array.prototype.includes) {
-      return;
-    }
-
-    __w_pdfjs_require__(64);
-  })();
-
-  (function checkArrayFrom() {
-    if (Array.from) {
-      return;
-    }
-
-    __w_pdfjs_require__(72);
-  })();
-
-  (function checkObjectAssign() {
-    if (Object.assign) {
-      return;
-    }
-
-    __w_pdfjs_require__(94);
-  })();
-
-  (function checkMathLog2() {
-    if (Math.log2) {
-      return;
-    }
-
-    Math.log2 = __w_pdfjs_require__(97);
-  })();
-
-  (function checkNumberIsNaN() {
-    if (Number.isNaN) {
-      return;
-    }
-
-    Number.isNaN = __w_pdfjs_require__(99);
-  })();
-
-  (function checkNumberIsInteger() {
-    if (Number.isInteger) {
-      return;
-    }
-
-    Number.isInteger = __w_pdfjs_require__(101);
-  })();
-
-  (function checkPromise() {
-    if (globalThis.Promise && globalThis.Promise.allSettled) {
-      return;
-    }
-
-    globalThis.Promise = __w_pdfjs_require__(104);
-  })();
-
-  (function checkURL() {
-    globalThis.URL = __w_pdfjs_require__(128);
-  })();
-
-  (function checkReadableStream() {
-    var isReadableStreamSupported = false;
-
-    if (typeof ReadableStream !== "undefined") {
-      try {
-        new ReadableStream({
-          start: function start(controller) {
-            controller.close();
-          }
-        });
-        isReadableStreamSupported = true;
-      } catch (e) {}
-    }
-
-    if (isReadableStreamSupported) {
-      return;
-    }
-
-    globalThis.ReadableStream = __w_pdfjs_require__(135).ReadableStream;
-  })();
-
-  (function checkMapEntries() {
-    if (globalThis.Map && globalThis.Map.prototype.entries) {
-      return;
-    }
-
-    globalThis.Map = __w_pdfjs_require__(136);
-  })();
-
-  (function checkSetEntries() {
-    if (globalThis.Set && globalThis.Set.prototype.entries) {
-      return;
-    }
-
-    globalThis.Set = __w_pdfjs_require__(143);
-  })();
-
-  (function checkWeakMap() {
-    if (globalThis.WeakMap) {
-      return;
-    }
-
-    globalThis.WeakMap = __w_pdfjs_require__(145);
-  })();
-
-  (function checkWeakSet() {
-    if (globalThis.WeakSet) {
-      return;
-    }
-
-    globalThis.WeakSet = __w_pdfjs_require__(151);
-  })();
-
-  (function checkStringCodePointAt() {
-    if (String.prototype.codePointAt) {
-      return;
-    }
-
-    __w_pdfjs_require__(153);
-  })();
-
-  (function checkStringFromCodePoint() {
-    if (String.fromCodePoint) {
-      return;
-    }
-
-    String.fromCodePoint = __w_pdfjs_require__(155);
-  })();
-
-  (function checkSymbol() {
-    if (globalThis.Symbol) {
-      return;
-    }
-
-    __w_pdfjs_require__(157);
-  })();
-
-  (function checkStringPadStart() {
-    if (String.prototype.padStart) {
-      return;
-    }
-
-    __w_pdfjs_require__(180);
-  })();
-
-  (function checkStringPadEnd() {
-    if (String.prototype.padEnd) {
-      return;
-    }
-
-    __w_pdfjs_require__(185);
-  })();
-
-  (function checkObjectValues() {
-    if (Object.values) {
-      return;
-    }
-
-    Object.values = __w_pdfjs_require__(187);
-  })();
-}
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(4);
-module.exports = __w_pdfjs_require__(6);
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var global = __w_pdfjs_require__(6);
-$({ global: true }, { globalThis: global });
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var redefine = __w_pdfjs_require__(24);
-var setGlobal = __w_pdfjs_require__(25);
-var copyConstructorProperties = __w_pdfjs_require__(35);
-var isForced = __w_pdfjs_require__(47);
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
-  target = global;
- } else if (STATIC) {
-  target = global[TARGET] || setGlobal(TARGET, {});
- } else {
-  target = (global[TARGET] || {}).prototype;
- }
- if (target)
-  for (key in source) {
-   sourceProperty = source[key];
-   if (options.noTargetGet) {
-    descriptor = getOwnPropertyDescriptor(target, key);
-    targetProperty = descriptor && descriptor.value;
-   } else
-    targetProperty = target[key];
-   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-   if (!FORCED && targetProperty !== undefined) {
-    if (typeof sourceProperty === typeof targetProperty)
-     continue;
-    copyConstructorProperties(sourceProperty, targetProperty);
-   }
-   if (options.sham || targetProperty && targetProperty.sham) {
-    createNonEnumerableProperty(sourceProperty, 'sham', true);
-   }
-   redefine(target, key, sourceProperty, options);
-  }
-};
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports) {
-
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var propertyIsEnumerableModule = __w_pdfjs_require__(10);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-var toIndexedObject = __w_pdfjs_require__(12);
-var toPrimitive = __w_pdfjs_require__(16);
-var has = __w_pdfjs_require__(18);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(19);
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeGetOwnPropertyDescriptor(O, P);
-  } catch (error) {
-  }
- if (has(O, P))
-  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
-};
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-module.exports = !fails(function () {
- return Object.defineProperty({}, 1, {
-  get: function () {
-   return 7;
-  }
- })[1] != 7;
-});
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return !!exec();
- } catch (error) {
-  return true;
- }
-};
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
- return {
-  enumerable: !(bitmap & 1),
-  configurable: !(bitmap & 2),
-  writable: !(bitmap & 4),
-  value: value
- };
-};
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IndexedObject = __w_pdfjs_require__(13);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-var classof = __w_pdfjs_require__(14);
-var split = ''.split;
-module.exports = fails(function () {
- return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-module.exports = function (it) {
- return toString.call(it).slice(8, -1);
-};
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (it == undefined)
-  throw TypeError("Can't call method on " + it);
- return it;
-};
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input))
-  return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- throw TypeError("Can't convert object to primitive value");
-};
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
-};
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var fails = __w_pdfjs_require__(9);
-var createElement = __w_pdfjs_require__(20);
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
-  get: function () {
-   return 7;
-  }
- }).a != 7;
-});
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var isObject = __w_pdfjs_require__(17);
-var document = global.document;
-var EXISTS = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var definePropertyModule = __w_pdfjs_require__(22);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(19);
-var anObject = __w_pdfjs_require__(23);
-var toPrimitive = __w_pdfjs_require__(16);
-var nativeDefineProperty = Object.defineProperty;
-exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeDefineProperty(O, P, Attributes);
-  } catch (error) {
-  }
- if ('get' in Attributes || 'set' in Attributes)
-  throw TypeError('Accessors not supported');
- if ('value' in Attributes)
-  O[P] = Attributes.value;
- return O;
-};
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-module.exports = function (it) {
- if (!isObject(it)) {
-  throw TypeError(String(it) + ' is not an object');
- }
- return it;
-};
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var has = __w_pdfjs_require__(18);
-var setGlobal = __w_pdfjs_require__(25);
-var inspectSource = __w_pdfjs_require__(26);
-var InternalStateModule = __w_pdfjs_require__(28);
-var getInternalState = InternalStateModule.get;
-var enforceInternalState = InternalStateModule.enforce;
-var TEMPLATE = String(String).split('String');
-(module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- if (typeof value == 'function') {
-  if (typeof key == 'string' && !has(value, 'name'))
-   createNonEnumerableProperty(value, 'name', key);
-  enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
- if (O === global) {
-  if (simple)
-   O[key] = value;
-  else
-   setGlobal(key, value);
-  return;
- } else if (!unsafe) {
-  delete O[key];
- } else if (!noTargetGet && O[key]) {
-  simple = true;
- }
- if (simple)
-  O[key] = value;
- else
-  createNonEnumerableProperty(O, key, value);
-})(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-});
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-module.exports = function (key, value) {
- try {
-  createNonEnumerableProperty(global, key, value);
- } catch (error) {
-  global[key] = value;
- }
- return value;
-};
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var store = __w_pdfjs_require__(27);
-var functionToString = Function.toString;
-if (typeof store.inspectSource != 'function') {
- store.inspectSource = function (it) {
-  return functionToString.call(it);
- };
-}
-module.exports = store.inspectSource;
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var setGlobal = __w_pdfjs_require__(25);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || setGlobal(SHARED, {});
-module.exports = store;
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(29);
-var global = __w_pdfjs_require__(6);
-var isObject = __w_pdfjs_require__(17);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var objectHas = __w_pdfjs_require__(18);
-var sharedKey = __w_pdfjs_require__(30);
-var hiddenKeys = __w_pdfjs_require__(34);
-var WeakMap = global.WeakMap;
-var set, get, has;
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-var getterFor = function (TYPE) {
- return function (it) {
-  var state;
-  if (!isObject(it) || (state = get(it)).type !== TYPE) {
-   throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-  }
-  return state;
- };
-};
-if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
- set = function (it, metadata) {
-  wmset.call(store, it, metadata);
-  return metadata;
- };
- get = function (it) {
-  return wmget.call(store, it) || {};
- };
- has = function (it) {
-  return wmhas.call(store, it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
-  createNonEnumerableProperty(it, STATE, metadata);
-  return metadata;
- };
- get = function (it) {
-  return objectHas(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
-  return objectHas(it, STATE);
- };
-}
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var inspectSource = __w_pdfjs_require__(26);
-var WeakMap = global.WeakMap;
-module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(31);
-var uid = __w_pdfjs_require__(33);
-var keys = shared('keys');
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IS_PURE = __w_pdfjs_require__(32);
-var store = __w_pdfjs_require__(27);
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.6.4',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
-});
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports) {
-
-module.exports = false;
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var postfix = Math.random();
-module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(18);
-var ownKeys = __w_pdfjs_require__(36);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(7);
-var definePropertyModule = __w_pdfjs_require__(22);
-module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
-  var key = keys[i];
-  if (!has(target, key))
-   defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
-};
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(37);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(39);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(46);
-var anObject = __w_pdfjs_require__(23);
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(38);
-var global = __w_pdfjs_require__(6);
-var aFunction = function (variable) {
- return typeof variable == 'function' ? variable : undefined;
-};
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
-};
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-module.exports = global;
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(40);
-var enumBugKeys = __w_pdfjs_require__(45);
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(18);
-var toIndexedObject = __w_pdfjs_require__(12);
-var indexOf = __w_pdfjs_require__(41).indexOf;
-var hiddenKeys = __w_pdfjs_require__(34);
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
-  !has(hiddenKeys, key) && has(O, key) && result.push(key);
- while (names.length > i)
-  if (has(O, key = names[i++])) {
-   ~indexOf(result, key) || result.push(key);
-  }
- return result;
-};
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(12);
-var toLength = __w_pdfjs_require__(42);
-var toAbsoluteIndex = __w_pdfjs_require__(44);
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
-  var O = toIndexedObject($this);
-  var length = toLength(O.length);
-  var index = toAbsoluteIndex(fromIndex, length);
-  var value;
-  if (IS_INCLUDES && el != el)
-   while (length > index) {
-    value = O[index++];
-    if (value != value)
-     return true;
-   }
-  else
-   for (; length > index; index++) {
-    if ((IS_INCLUDES || index in O) && O[index] === el)
-     return IS_INCLUDES || index || 0;
-   }
-  return !IS_INCLUDES && -1;
- };
-};
-module.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
-};
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(43);
-var min = Math.min;
-module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
-};
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports) {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(43);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports) {
-
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-var replacement = /#|\.prototype\./;
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
-};
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-module.exports = isForced;
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.isNodeJS = void 0;
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions["nw"] && !process.versions["electron"];
-exports.isNodeJS = isNodeJS;
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(50);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('String', 'startsWith');
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
-var toLength = __w_pdfjs_require__(42);
-var notARegExp = __w_pdfjs_require__(51);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-var correctIsRegExpLogic = __w_pdfjs_require__(56);
-var IS_PURE = __w_pdfjs_require__(32);
-var nativeStartsWith = ''.startsWith;
-var min = Math.min;
-var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
-var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
- return descriptor && !descriptor.writable;
-}();
-$({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
-}, {
- startsWith: function startsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
-  var search = String(searchString);
-  return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
- }
-});
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isRegExp = __w_pdfjs_require__(52);
-module.exports = function (it) {
- if (isRegExp(it)) {
-  throw TypeError("The method doesn't accept regular expressions");
- }
- return it;
-};
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-var classof = __w_pdfjs_require__(14);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
-};
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var shared = __w_pdfjs_require__(31);
-var has = __w_pdfjs_require__(18);
-var uid = __w_pdfjs_require__(33);
-var NATIVE_SYMBOL = __w_pdfjs_require__(54);
-var USE_SYMBOL_AS_UID = __w_pdfjs_require__(55);
-var WellKnownSymbolsStore = shared('wks');
-var Symbol = global.Symbol;
-var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
-module.exports = function (name) {
- if (!has(WellKnownSymbolsStore, name)) {
-  if (NATIVE_SYMBOL && has(Symbol, name))
-   WellKnownSymbolsStore[name] = Symbol[name];
-  else
-   WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
- }
- return WellKnownSymbolsStore[name];
-};
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- return !String(Symbol());
-});
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_SYMBOL = __w_pdfjs_require__(54);
-module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (METHOD_NAME) {
- var regexp = /./;
- try {
-  '/./'[METHOD_NAME](regexp);
- } catch (e) {
-  try {
-   regexp[MATCH] = false;
-   return '/./'[METHOD_NAME](regexp);
-  } catch (f) {
-  }
- }
- return false;
-};
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var bind = __w_pdfjs_require__(58);
-var call = Function.call;
-module.exports = function (CONSTRUCTOR, METHOD, length) {
- return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
-};
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var aFunction = __w_pdfjs_require__(59);
-module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined)
-  return fn;
- switch (length) {
- case 0:
-  return function () {
-   return fn.call(that);
-  };
- case 1:
-  return function (a) {
-   return fn.call(that, a);
-  };
- case 2:
-  return function (a, b) {
-   return fn.call(that, a, b);
-  };
- case 3:
-  return function (a, b, c) {
-   return fn.call(that, a, b, c);
-  };
- }
- return function () {
-  return fn.apply(that, arguments);
- };
-};
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (typeof it != 'function') {
-  throw TypeError(String(it) + ' is not a function');
- }
- return it;
-};
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(61);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('String', 'endsWith');
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
-var toLength = __w_pdfjs_require__(42);
-var notARegExp = __w_pdfjs_require__(51);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-var correctIsRegExpLogic = __w_pdfjs_require__(56);
-var IS_PURE = __w_pdfjs_require__(32);
-var nativeEndsWith = ''.endsWith;
-var min = Math.min;
-var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
-var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');
- return descriptor && !descriptor.writable;
-}();
-$({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
-}, {
- endsWith: function endsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var endPosition = arguments.length > 1 ? arguments[1] : undefined;
-  var len = toLength(that.length);
-  var end = endPosition === undefined ? len : min(toLength(endPosition), len);
-  var search = String(searchString);
-  return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
- }
-});
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(63);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('String', 'includes');
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var notARegExp = __w_pdfjs_require__(51);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-var correctIsRegExpLogic = __w_pdfjs_require__(56);
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('includes')
-}, {
- includes: function includes(searchString) {
-  return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(65);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('Array', 'includes');
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var $includes = __w_pdfjs_require__(41).includes;
-var addToUnscopables = __w_pdfjs_require__(66);
-var arrayMethodUsesToLength = __w_pdfjs_require__(71);
-var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
-});
-$({
- target: 'Array',
- proto: true,
- forced: !USES_TO_LENGTH
-}, {
- includes: function includes(el) {
-  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-addToUnscopables('includes');
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var create = __w_pdfjs_require__(67);
-var definePropertyModule = __w_pdfjs_require__(22);
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
-  configurable: true,
-  value: create(null)
- });
-}
-module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-var defineProperties = __w_pdfjs_require__(68);
-var enumBugKeys = __w_pdfjs_require__(45);
-var hiddenKeys = __w_pdfjs_require__(34);
-var html = __w_pdfjs_require__(70);
-var documentCreateElement = __w_pdfjs_require__(20);
-var sharedKey = __w_pdfjs_require__(30);
-var GT = '>';
-var LT = '<';
-var PROTOTYPE = 'prototype';
-var SCRIPT = 'script';
-var IE_PROTO = sharedKey('IE_PROTO');
-var EmptyConstructor = function () {
-};
-var scriptTag = function (content) {
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-};
-var NullProtoObjectViaActiveX = function (activeXDocument) {
- activeXDocument.write(scriptTag(''));
- activeXDocument.close();
- var temp = activeXDocument.parentWindow.Object;
- activeXDocument = null;
- return temp;
-};
-var NullProtoObjectViaIFrame = function () {
- var iframe = documentCreateElement('iframe');
- var JS = 'java' + SCRIPT + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = String(JS);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(scriptTag('document.F=Object'));
- iframeDocument.close();
- return iframeDocument.F;
-};
-var activeXDocument;
-var NullProtoObject = function () {
- try {
-  activeXDocument = document.domain && new ActiveXObject('htmlfile');
- } catch (error) {
- }
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
- var length = enumBugKeys.length;
- while (length--)
-  delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
- return NullProtoObject();
-};
-hiddenKeys[IE_PROTO] = true;
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
-  EmptyConstructor[PROTOTYPE] = anObject(O);
-  result = new EmptyConstructor();
-  EmptyConstructor[PROTOTYPE] = null;
-  result[IE_PROTO] = O;
- } else
-  result = NullProtoObject();
- return Properties === undefined ? result : defineProperties(result, Properties);
-};
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var definePropertyModule = __w_pdfjs_require__(22);
-var anObject = __w_pdfjs_require__(23);
-var objectKeys = __w_pdfjs_require__(69);
-module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index)
-  definePropertyModule.f(O, key = keys[index++], Properties[key]);
- return O;
-};
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(40);
-var enumBugKeys = __w_pdfjs_require__(45);
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(37);
-module.exports = getBuiltIn('document', 'documentElement');
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var fails = __w_pdfjs_require__(9);
-var has = __w_pdfjs_require__(18);
-var defineProperty = Object.defineProperty;
-var cache = {};
-var thrower = function (it) {
- throw it;
-};
-module.exports = function (METHOD_NAME, options) {
- if (has(cache, METHOD_NAME))
-  return cache[METHOD_NAME];
- if (!options)
-  options = {};
- var method = [][METHOD_NAME];
- var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
- var argument0 = has(options, 0) ? options[0] : thrower;
- var argument1 = has(options, 1) ? options[1] : undefined;
- return cache[METHOD_NAME] = !!method && !fails(function () {
-  if (ACCESSORS && !DESCRIPTORS)
-   return true;
-  var O = { length: -1 };
-  if (ACCESSORS)
-   defineProperty(O, 1, {
-    enumerable: true,
-    get: thrower
-   });
-  else
-   O[1] = 1;
-  method.call(O, argument0, argument1);
- });
-};
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(73);
-__w_pdfjs_require__(85);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Array.from;
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var charAt = __w_pdfjs_require__(74).charAt;
-var InternalStateModule = __w_pdfjs_require__(28);
-var defineIterator = __w_pdfjs_require__(75);
-var STRING_ITERATOR = 'String Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
-defineIterator(String, 'String', function (iterated) {
- setInternalState(this, {
-  type: STRING_ITERATOR,
-  string: String(iterated),
-  index: 0
- });
-}, function next() {
- var state = getInternalState(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length)
-  return {
-   value: undefined,
-   done: true
-  };
- point = charAt(string, index);
- state.index += point.length;
- return {
-  value: point,
-  done: false
- };
-});
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(43);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-var createMethod = function (CONVERT_TO_STRING) {
- return function ($this, pos) {
-  var S = String(requireObjectCoercible($this));
-  var position = toInteger(pos);
-  var size = S.length;
-  var first, second;
-  if (position < 0 || position >= size)
-   return CONVERT_TO_STRING ? '' : undefined;
-  first = S.charCodeAt(position);
-  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
-};
-module.exports = {
- codeAt: createMethod(false),
- charAt: createMethod(true)
-};
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var createIteratorConstructor = __w_pdfjs_require__(76);
-var getPrototypeOf = __w_pdfjs_require__(78);
-var setPrototypeOf = __w_pdfjs_require__(83);
-var setToStringTag = __w_pdfjs_require__(81);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var redefine = __w_pdfjs_require__(24);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var IS_PURE = __w_pdfjs_require__(32);
-var Iterators = __w_pdfjs_require__(82);
-var IteratorsCore = __w_pdfjs_require__(77);
-var IteratorPrototype = IteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-var returnThis = function () {
- return this;
-};
-module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
- var getIterationMethod = function (KIND) {
-  if (KIND === DEFAULT && defaultIterator)
-   return defaultIterator;
-  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
-   return IterablePrototype[KIND];
-  switch (KIND) {
-  case KEYS:
-   return function keys() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case VALUES:
-   return function values() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case ENTRIES:
-   return function entries() {
-    return new IteratorConstructor(this, KIND);
-   };
-  }
-  return function () {
-   return new IteratorConstructor(this);
-  };
- };
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
- if (anyNativeIterator) {
-  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
-  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
-   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
-    if (setPrototypeOf) {
-     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
-    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
-     createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
-    }
-   }
-   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
-   if (IS_PURE)
-    Iterators[TO_STRING_TAG] = returnThis;
-  }
- }
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-  INCORRECT_VALUES_NAME = true;
-  defaultIterator = function values() {
-   return nativeIterator.call(this);
-  };
- }
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
-  createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
- }
- Iterators[NAME] = defaultIterator;
- if (DEFAULT) {
-  methods = {
-   values: getIterationMethod(VALUES),
-   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-   entries: getIterationMethod(ENTRIES)
-  };
-  if (FORCED)
-   for (KEY in methods) {
-    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-     redefine(IterablePrototype, KEY, methods[KEY]);
-    }
-   }
-  else
-   $({
-    target: NAME,
-    proto: true,
-    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
-   }, methods);
- }
- return methods;
-};
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var IteratorPrototype = __w_pdfjs_require__(77).IteratorPrototype;
-var create = __w_pdfjs_require__(67);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-var setToStringTag = __w_pdfjs_require__(81);
-var Iterators = __w_pdfjs_require__(82);
-var returnThis = function () {
- return this;
-};
-module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
-};
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getPrototypeOf = __w_pdfjs_require__(78);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var has = __w_pdfjs_require__(18);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var IS_PURE = __w_pdfjs_require__(32);
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-var returnThis = function () {
- return this;
-};
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-if ([].keys) {
- arrayIterator = [].keys();
- if (!('next' in arrayIterator))
-  BUGGY_SAFARI_ITERATORS = true;
- else {
-  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
-  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
-   IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
-}
-if (IteratorPrototype == undefined)
- IteratorPrototype = {};
-if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
- createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-}
-module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(18);
-var toObject = __w_pdfjs_require__(79);
-var sharedKey = __w_pdfjs_require__(30);
-var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(80);
-var IE_PROTO = sharedKey('IE_PROTO');
-var ObjectPrototype = Object.prototype;
-module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO))
-  return O[IE_PROTO];
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-  return O.constructor.prototype;
- }
- return O instanceof Object ? ObjectPrototype : null;
-};
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var requireObjectCoercible = __w_pdfjs_require__(15);
-module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
-};
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-module.exports = !fails(function () {
- function F() {
- }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineProperty = __w_pdfjs_require__(22).f;
-var has = __w_pdfjs_require__(18);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-  defineProperty(it, TO_STRING_TAG, {
-   configurable: true,
-   value: TAG
-  });
- }
-};
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-var aPossiblePrototype = __w_pdfjs_require__(84);
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
-  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-  setter.call(test, []);
-  CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- }
- return function setPrototypeOf(O, proto) {
-  anObject(O);
-  aPossiblePrototype(proto);
-  if (CORRECT_SETTER)
-   setter.call(O, proto);
-  else
-   O.__proto__ = proto;
-  return O;
- };
-}() : undefined);
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-module.exports = function (it) {
- if (!isObject(it) && it !== null) {
-  throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
- return it;
-};
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var from = __w_pdfjs_require__(86);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(93);
-var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
-});
-$({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
-}, { from: from });
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var bind = __w_pdfjs_require__(58);
-var toObject = __w_pdfjs_require__(79);
-var callWithSafeIterationClosing = __w_pdfjs_require__(87);
-var isArrayIteratorMethod = __w_pdfjs_require__(88);
-var toLength = __w_pdfjs_require__(42);
-var createProperty = __w_pdfjs_require__(89);
-var getIteratorMethod = __w_pdfjs_require__(90);
-module.exports = function from(arrayLike) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var iteratorMethod = getIteratorMethod(O);
- var index = 0;
- var length, result, step, iterator, next, value;
- if (mapping)
-  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
-  iterator = iteratorMethod.call(O);
-  next = iterator.next;
-  result = new C();
-  for (; !(step = next.call(iterator)).done; index++) {
-   value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [
-    step.value,
-    index
-   ], true) : step.value;
-   createProperty(result, index, value);
-  }
- } else {
-  length = toLength(O.length);
-  result = new C(length);
-  for (; length > index; index++) {
-   value = mapping ? mapfn(O[index], index) : O[index];
-   createProperty(result, index, value);
-  }
- }
- result.length = index;
- return result;
-};
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-module.exports = function (iterator, fn, value, ENTRIES) {
- try {
-  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- } catch (error) {
-  var returnMethod = iterator['return'];
-  if (returnMethod !== undefined)
-   anObject(returnMethod.call(iterator));
-  throw error;
- }
-};
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var Iterators = __w_pdfjs_require__(82);
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toPrimitive = __w_pdfjs_require__(16);
-var definePropertyModule = __w_pdfjs_require__(22);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-module.exports = function (object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object)
-  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
-  object[propertyKey] = value;
-};
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(91);
-var Iterators = __w_pdfjs_require__(82);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = function (it) {
- if (it != undefined)
-  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
-};
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92);
-var classofRaw = __w_pdfjs_require__(14);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
-}()) == 'Arguments';
-var tryGet = function (it, key) {
- try {
-  return it[key];
- } catch (error) {
- }
-};
-module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-test[TO_STRING_TAG] = 'z';
-module.exports = String(test) === '[object z]';
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var ITERATOR = wellKnownSymbol('iterator');
-var SAFE_CLOSING = false;
-try {
- var called = 0;
- var iteratorWithReturn = {
-  next: function () {
-   return { done: !!called++ };
-  },
-  'return': function () {
-   SAFE_CLOSING = true;
-  }
- };
- iteratorWithReturn[ITERATOR] = function () {
-  return this;
- };
- Array.from(iteratorWithReturn, function () {
-  throw 2;
- });
-} catch (error) {
-}
-module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING)
-  return false;
- var ITERATION_SUPPORT = false;
- try {
-  var object = {};
-  object[ITERATOR] = function () {
-   return {
-    next: function () {
-     return { done: ITERATION_SUPPORT = true };
-    }
-   };
-  };
-  exec(object);
- } catch (error) {
- }
- return ITERATION_SUPPORT;
-};
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(95);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Object.assign;
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var assign = __w_pdfjs_require__(96);
-$({
- target: 'Object',
- stat: true,
- forced: Object.assign !== assign
-}, { assign: assign });
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var fails = __w_pdfjs_require__(9);
-var objectKeys = __w_pdfjs_require__(69);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(46);
-var propertyIsEnumerableModule = __w_pdfjs_require__(10);
-var toObject = __w_pdfjs_require__(79);
-var IndexedObject = __w_pdfjs_require__(13);
-var nativeAssign = Object.assign;
-var defineProperty = Object.defineProperty;
-module.exports = !nativeAssign || fails(function () {
- if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
-   enumerable: true,
-   get: function () {
-    defineProperty(this, 'b', {
-     value: 3,
-     enumerable: false
-    });
-   }
-  }), { b: 2 })).b !== 1)
-  return true;
- var A = {};
- var B = {};
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
-  B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-}) ? function assign(target, source) {
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
- while (argumentsLength > index) {
-  var S = IndexedObject(arguments[index++]);
-  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
-  var length = keys.length;
-  var j = 0;
-  var key;
-  while (length > j) {
-   key = keys[j++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
-    T[key] = S[key];
-  }
- }
- return T;
-} : nativeAssign;
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(98);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Math.log2;
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var log = Math.log;
-var LN2 = Math.LN2;
-$({
- target: 'Math',
- stat: true
-}, {
- log2: function log2(x) {
-  return log(x) / LN2;
- }
-});
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Number.isNaN;
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-$({
- target: 'Number',
- stat: true
-}, {
- isNaN: function isNaN(number) {
-  return number != number;
- }
-});
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(102);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Number.isInteger;
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var isInteger = __w_pdfjs_require__(103);
-$({
- target: 'Number',
- stat: true
-}, { isInteger: isInteger });
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-var floor = Math.floor;
-module.exports = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(73);
-__w_pdfjs_require__(107);
-__w_pdfjs_require__(110);
-__w_pdfjs_require__(126);
-__w_pdfjs_require__(127);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Promise;
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92);
-var redefine = __w_pdfjs_require__(24);
-var toString = __w_pdfjs_require__(106);
-if (!TO_STRING_TAG_SUPPORT) {
- redefine(Object.prototype, 'toString', toString, { unsafe: true });
-}
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(92);
-var classof = __w_pdfjs_require__(91);
-module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
- return '[object ' + classof(this) + ']';
-};
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var DOMIterables = __w_pdfjs_require__(108);
-var ArrayIteratorMethods = __w_pdfjs_require__(109);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var ITERATOR = wellKnownSymbol('iterator');
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var ArrayValues = ArrayIteratorMethods.values;
-for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
- if (CollectionPrototype) {
-  if (CollectionPrototype[ITERATOR] !== ArrayValues)
-   try {
-    createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
-   } catch (error) {
-    CollectionPrototype[ITERATOR] = ArrayValues;
-   }
-  if (!CollectionPrototype[TO_STRING_TAG]) {
-   createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
-  }
-  if (DOMIterables[COLLECTION_NAME])
-   for (var METHOD_NAME in ArrayIteratorMethods) {
-    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
-     try {
-      createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
-     } catch (error) {
-      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
-     }
-   }
- }
-}
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports) {
-
-module.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
-};
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toIndexedObject = __w_pdfjs_require__(12);
-var addToUnscopables = __w_pdfjs_require__(66);
-var Iterators = __w_pdfjs_require__(82);
-var InternalStateModule = __w_pdfjs_require__(28);
-var defineIterator = __w_pdfjs_require__(75);
-var ARRAY_ITERATOR = 'Array Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
-module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState(this, {
-  type: ARRAY_ITERATOR,
-  target: toIndexedObject(iterated),
-  index: 0,
-  kind: kind
- });
-}, function () {
- var state = getInternalState(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
- if (!target || index >= target.length) {
-  state.target = undefined;
-  return {
-   value: undefined,
-   done: true
-  };
- }
- if (kind == 'keys')
-  return {
-   value: index,
-   done: false
-  };
- if (kind == 'values')
-  return {
-   value: target[index],
-   done: false
-  };
- return {
-  value: [
-   index,
-   target[index]
-  ],
-  done: false
- };
-}, 'values');
-Iterators.Arguments = Iterators.Array;
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var IS_PURE = __w_pdfjs_require__(32);
-var global = __w_pdfjs_require__(6);
-var getBuiltIn = __w_pdfjs_require__(37);
-var NativePromise = __w_pdfjs_require__(111);
-var redefine = __w_pdfjs_require__(24);
-var redefineAll = __w_pdfjs_require__(112);
-var setToStringTag = __w_pdfjs_require__(81);
-var setSpecies = __w_pdfjs_require__(113);
-var isObject = __w_pdfjs_require__(17);
-var aFunction = __w_pdfjs_require__(59);
-var anInstance = __w_pdfjs_require__(114);
-var classof = __w_pdfjs_require__(14);
-var inspectSource = __w_pdfjs_require__(26);
-var iterate = __w_pdfjs_require__(115);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(93);
-var speciesConstructor = __w_pdfjs_require__(116);
-var task = __w_pdfjs_require__(117).set;
-var microtask = __w_pdfjs_require__(120);
-var promiseResolve = __w_pdfjs_require__(121);
-var hostReportErrors = __w_pdfjs_require__(123);
-var newPromiseCapabilityModule = __w_pdfjs_require__(122);
-var perform = __w_pdfjs_require__(124);
-var InternalStateModule = __w_pdfjs_require__(28);
-var isForced = __w_pdfjs_require__(47);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var V8_VERSION = __w_pdfjs_require__(125);
-var SPECIES = wellKnownSymbol('species');
-var PROMISE = 'Promise';
-var getInternalState = InternalStateModule.get;
-var setInternalState = InternalStateModule.set;
-var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
-var PromiseConstructor = NativePromise;
-var TypeError = global.TypeError;
-var document = global.document;
-var process = global.process;
-var $fetch = getBuiltIn('fetch');
-var newPromiseCapability = newPromiseCapabilityModule.f;
-var newGenericPromiseCapability = newPromiseCapability;
-var IS_NODE = classof(process) == 'process';
-var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
-var UNHANDLED_REJECTION = 'unhandledrejection';
-var REJECTION_HANDLED = 'rejectionhandled';
-var PENDING = 0;
-var FULFILLED = 1;
-var REJECTED = 2;
-var HANDLED = 1;
-var UNHANDLED = 2;
-var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
-var FORCED = isForced(PROMISE, function () {
- var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
- if (!GLOBAL_CORE_JS_PROMISE) {
-  if (V8_VERSION === 66)
-   return true;
-  if (!IS_NODE && typeof PromiseRejectionEvent != 'function')
-   return true;
- }
- if (IS_PURE && !PromiseConstructor.prototype['finally'])
-  return true;
- if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))
-  return false;
- var promise = PromiseConstructor.resolve(1);
- var FakePromise = function (exec) {
-  exec(function () {
-  }, function () {
-  });
- };
- var constructor = promise.constructor = {};
- constructor[SPECIES] = FakePromise;
- return !(promise.then(function () {
- }) instanceof FakePromise);
-});
-var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- });
-});
-var isThenable = function (it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, state, isReject) {
- if (state.notified)
-  return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
-  var value = state.value;
-  var ok = state.state == FULFILLED;
-  var index = 0;
-  while (chain.length > index) {
-   var reaction = chain[index++];
-   var handler = ok ? reaction.ok : reaction.fail;
-   var resolve = reaction.resolve;
-   var reject = reaction.reject;
-   var domain = reaction.domain;
-   var result, then, exited;
-   try {
-    if (handler) {
-     if (!ok) {
-      if (state.rejection === UNHANDLED)
-       onHandleUnhandled(promise, state);
-      state.rejection = HANDLED;
-     }
-     if (handler === true)
-      result = value;
-     else {
-      if (domain)
-       domain.enter();
-      result = handler(value);
-      if (domain) {
-       domain.exit();
-       exited = true;
-      }
-     }
-     if (result === reaction.promise) {
-      reject(TypeError('Promise-chain cycle'));
-     } else if (then = isThenable(result)) {
-      then.call(result, resolve, reject);
-     } else
-      resolve(result);
-    } else
-     reject(value);
-   } catch (error) {
-    if (domain && !exited)
-     domain.exit();
-    reject(error);
-   }
-  }
-  state.reactions = [];
-  state.notified = false;
-  if (isReject && !state.rejection)
-   onUnhandled(promise, state);
- });
-};
-var dispatchEvent = function (name, promise, reason) {
- var event, handler;
- if (DISPATCH_EVENT) {
-  event = document.createEvent('Event');
-  event.promise = promise;
-  event.reason = reason;
-  event.initEvent(name, false, true);
-  global.dispatchEvent(event);
- } else
-  event = {
-   promise: promise,
-   reason: reason
-  };
- if (handler = global['on' + name])
-  handler(event);
- else if (name === UNHANDLED_REJECTION)
-  hostReportErrors('Unhandled promise rejection', reason);
-};
-var onUnhandled = function (promise, state) {
- task.call(global, function () {
-  var value = state.value;
-  var IS_UNHANDLED = isUnhandled(state);
-  var result;
-  if (IS_UNHANDLED) {
-   result = perform(function () {
-    if (IS_NODE) {
-     process.emit('unhandledRejection', value, promise);
-    } else
-     dispatchEvent(UNHANDLED_REJECTION, promise, value);
-   });
-   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
-   if (result.error)
-    throw result.value;
-  }
- });
-};
-var isUnhandled = function (state) {
- return state.rejection !== HANDLED && !state.parent;
-};
-var onHandleUnhandled = function (promise, state) {
- task.call(global, function () {
-  if (IS_NODE) {
-   process.emit('rejectionHandled', promise);
-  } else
-   dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
-};
-var bind = function (fn, promise, state, unwrap) {
- return function (value) {
-  fn(promise, state, value, unwrap);
- };
-};
-var internalReject = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify(promise, state, true);
-};
-var internalResolve = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- try {
-  if (promise === value)
-   throw TypeError("Promise can't be resolved itself");
-  var then = isThenable(value);
-  if (then) {
-   microtask(function () {
-    var wrapper = { done: false };
-    try {
-     then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
-    } catch (error) {
-     internalReject(promise, wrapper, error, state);
-    }
-   });
-  } else {
-   state.value = value;
-   state.state = FULFILLED;
-   notify(promise, state, false);
-  }
- } catch (error) {
-  internalReject(promise, { done: false }, error, state);
- }
-};
-if (FORCED) {
- PromiseConstructor = function Promise(executor) {
-  anInstance(this, PromiseConstructor, PROMISE);
-  aFunction(executor);
-  Internal.call(this);
-  var state = getInternalState(this);
-  try {
-   executor(bind(internalResolve, this, state), bind(internalReject, this, state));
-  } catch (error) {
-   internalReject(this, state, error);
-  }
- };
- Internal = function Promise(executor) {
-  setInternalState(this, {
-   type: PROMISE,
-   done: false,
-   notified: false,
-   parent: false,
-   reactions: [],
-   rejection: false,
-   state: PENDING,
-   value: undefined
-  });
- };
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
-  then: function then(onFulfilled, onRejected) {
-   var state = getInternalPromiseState(this);
-   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
-   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
-   reaction.fail = typeof onRejected == 'function' && onRejected;
-   reaction.domain = IS_NODE ? process.domain : undefined;
-   state.parent = true;
-   state.reactions.push(reaction);
-   if (state.state != PENDING)
-    notify(this, state, false);
-   return reaction.promise;
-  },
-  'catch': function (onRejected) {
-   return this.then(undefined, onRejected);
-  }
- });
- OwnPromiseCapability = function () {
-  var promise = new Internal();
-  var state = getInternalState(promise);
-  this.promise = promise;
-  this.resolve = bind(internalResolve, promise, state);
-  this.reject = bind(internalReject, promise, state);
- };
- newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
-  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
- };
- if (!IS_PURE && typeof NativePromise == 'function') {
-  nativeThen = NativePromise.prototype.then;
-  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
-   var that = this;
-   return new PromiseConstructor(function (resolve, reject) {
-    nativeThen.call(that, resolve, reject);
-   }).then(onFulfilled, onRejected);
-  }, { unsafe: true });
-  if (typeof $fetch == 'function')
-   $({
-    global: true,
-    enumerable: true,
-    forced: true
-   }, {
-    fetch: function fetch(input) {
-     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
-    }
-   });
- }
-}
-$({
- global: true,
- wrap: true,
- forced: FORCED
-}, { Promise: PromiseConstructor });
-setToStringTag(PromiseConstructor, PROMISE, false, true);
-setSpecies(PROMISE);
-PromiseWrapper = getBuiltIn(PROMISE);
-$({
- target: PROMISE,
- stat: true,
- forced: FORCED
-}, {
- reject: function reject(r) {
-  var capability = newPromiseCapability(this);
-  capability.reject.call(undefined, r);
-  return capability.promise;
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: IS_PURE || FORCED
-}, {
- resolve: function resolve(x) {
-  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION
-}, {
- all: function all(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    $promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = value;
-     --remaining || resolve(values);
-    }, reject);
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- },
- race: function race(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   iterate(iterable, function (promise) {
-    $promiseResolve.call(C, promise).then(capability.resolve, reject);
-   });
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-module.exports = global.Promise;
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(24);
-module.exports = function (target, src, options) {
- for (var key in src)
-  redefine(target, key, src[key], options);
- return target;
-};
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getBuiltIn = __w_pdfjs_require__(37);
-var definePropertyModule = __w_pdfjs_require__(22);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
-  defineProperty(Constructor, SPECIES, {
-   configurable: true,
-   get: function () {
-    return this;
-   }
-  });
- }
-};
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
-  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
- return it;
-};
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-var isArrayIteratorMethod = __w_pdfjs_require__(88);
-var toLength = __w_pdfjs_require__(42);
-var bind = __w_pdfjs_require__(58);
-var getIteratorMethod = __w_pdfjs_require__(90);
-var callWithSafeIterationClosing = __w_pdfjs_require__(87);
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, next, step;
- if (IS_ITERATOR) {
-  iterator = iterable;
- } else {
-  iterFn = getIteratorMethod(iterable);
-  if (typeof iterFn != 'function')
-   throw TypeError('Target is not iterable');
-  if (isArrayIteratorMethod(iterFn)) {
-   for (index = 0, length = toLength(iterable.length); length > index; index++) {
-    result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
-    if (result && result instanceof Result)
-     return result;
-   }
-   return new Result(false);
-  }
-  iterator = iterFn.call(iterable);
- }
- next = iterator.next;
- while (!(step = next.call(iterator)).done) {
-  result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
-  if (typeof result == 'object' && result && result instanceof Result)
-   return result;
- }
- return new Result(false);
-};
-iterate.stop = function (result) {
- return new Result(true, result);
-};
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-var aFunction = __w_pdfjs_require__(59);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
-};
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var fails = __w_pdfjs_require__(9);
-var classof = __w_pdfjs_require__(14);
-var bind = __w_pdfjs_require__(58);
-var html = __w_pdfjs_require__(70);
-var createElement = __w_pdfjs_require__(20);
-var IS_IOS = __w_pdfjs_require__(118);
-var location = global.location;
-var set = global.setImmediate;
-var clear = global.clearImmediate;
-var process = global.process;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function (id) {
- if (queue.hasOwnProperty(id)) {
-  var fn = queue[id];
-  delete queue[id];
-  fn();
- }
-};
-var runner = function (id) {
- return function () {
-  run(id);
- };
-};
-var listener = function (event) {
- run(event.data);
-};
-var post = function (id) {
- global.postMessage(id + '', location.protocol + '//' + location.host);
-};
-if (!set || !clear) {
- set = function setImmediate(fn) {
-  var args = [];
-  var i = 1;
-  while (arguments.length > i)
-   args.push(arguments[i++]);
-  queue[++counter] = function () {
-   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
-  };
-  defer(counter);
-  return counter;
- };
- clear = function clearImmediate(id) {
-  delete queue[id];
- };
- if (classof(process) == 'process') {
-  defer = function (id) {
-   process.nextTick(runner(id));
-  };
- } else if (Dispatch && Dispatch.now) {
-  defer = function (id) {
-   Dispatch.now(runner(id));
-  };
- } else if (MessageChannel && !IS_IOS) {
-  channel = new MessageChannel();
-  port = channel.port2;
-  channel.port1.onmessage = listener;
-  defer = bind(port.postMessage, port, 1);
- } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {
-  defer = post;
-  global.addEventListener('message', listener, false);
- } else if (ONREADYSTATECHANGE in createElement('script')) {
-  defer = function (id) {
-   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
-    html.removeChild(this);
-    run(id);
-   };
-  };
- } else {
-  defer = function (id) {
-   setTimeout(runner(id), 0);
-  };
- }
-}
-module.exports = {
- set: set,
- clear: clear
-};
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(119);
-module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(37);
-module.exports = getBuiltIn('navigator', 'userAgent') || '';
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(7).f;
-var classof = __w_pdfjs_require__(14);
-var macrotask = __w_pdfjs_require__(117).set;
-var IS_IOS = __w_pdfjs_require__(118);
-var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var IS_NODE = classof(process) == 'process';
-var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
-var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
-var flush, head, last, notify, toggle, node, promise, then;
-if (!queueMicrotask) {
- flush = function () {
-  var parent, fn;
-  if (IS_NODE && (parent = process.domain))
-   parent.exit();
-  while (head) {
-   fn = head.fn;
-   head = head.next;
-   try {
-    fn();
-   } catch (error) {
-    if (head)
-     notify();
-    else
-     last = undefined;
-    throw error;
-   }
-  }
-  last = undefined;
-  if (parent)
-   parent.enter();
- };
- if (IS_NODE) {
-  notify = function () {
-   process.nextTick(flush);
-  };
- } else if (MutationObserver && !IS_IOS) {
-  toggle = true;
-  node = document.createTextNode('');
-  new MutationObserver(flush).observe(node, { characterData: true });
-  notify = function () {
-   node.data = toggle = !toggle;
-  };
- } else if (Promise && Promise.resolve) {
-  promise = Promise.resolve(undefined);
-  then = promise.then;
-  notify = function () {
-   then.call(promise, flush);
-  };
- } else {
-  notify = function () {
-   macrotask.call(global, flush);
-  };
- }
-}
-module.exports = queueMicrotask || function (fn) {
- var task = {
-  fn: fn,
-  next: undefined
- };
- if (last)
-  last.next = task;
- if (!head) {
-  head = task;
-  notify();
- }
- last = task;
-};
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-var isObject = __w_pdfjs_require__(17);
-var newPromiseCapability = __w_pdfjs_require__(122);
-module.exports = function (C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C)
-  return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
-};
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var aFunction = __w_pdfjs_require__(59);
-var PromiseCapability = function (C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
-  if (resolve !== undefined || reject !== undefined)
-   throw TypeError('Bad Promise constructor');
-  resolve = $$resolve;
-  reject = $$reject;
- });
- this.resolve = aFunction(resolve);
- this.reject = aFunction(reject);
-};
-module.exports.f = function (C) {
- return new PromiseCapability(C);
-};
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-module.exports = function (a, b) {
- var console = global.console;
- if (console && console.error) {
-  arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
-};
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return {
-   error: false,
-   value: exec()
-  };
- } catch (error) {
-  return {
-   error: true,
-   value: error
-  };
- }
-};
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var userAgent = __w_pdfjs_require__(119);
-var process = global.process;
-var versions = process && process.versions;
-var v8 = versions && versions.v8;
-var match, version;
-if (v8) {
- match = v8.split('.');
- version = match[0] + match[1];
-} else if (userAgent) {
- match = userAgent.match(/Edge\/(\d+)/);
- if (!match || match[1] >= 74) {
-  match = userAgent.match(/Chrome\/(\d+)/);
-  if (match)
-   version = match[1];
- }
-}
-module.exports = version && +version;
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var aFunction = __w_pdfjs_require__(59);
-var newPromiseCapabilityModule = __w_pdfjs_require__(122);
-var perform = __w_pdfjs_require__(124);
-var iterate = __w_pdfjs_require__(115);
-$({
- target: 'Promise',
- stat: true
-}, {
- allSettled: function allSettled(iterable) {
-  var C = this;
-  var capability = newPromiseCapabilityModule.f(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'fulfilled',
-      value: value
-     };
-     --remaining || resolve(values);
-    }, function (e) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'rejected',
-      reason: e
-     };
-     --remaining || resolve(values);
-    });
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var IS_PURE = __w_pdfjs_require__(32);
-var NativePromise = __w_pdfjs_require__(111);
-var fails = __w_pdfjs_require__(9);
-var getBuiltIn = __w_pdfjs_require__(37);
-var speciesConstructor = __w_pdfjs_require__(116);
-var promiseResolve = __w_pdfjs_require__(121);
-var redefine = __w_pdfjs_require__(24);
-var NON_GENERIC = !!NativePromise && fails(function () {
- NativePromise.prototype['finally'].call({
-  then: function () {
-  }
- }, function () {
- });
-});
-$({
- target: 'Promise',
- proto: true,
- real: true,
- forced: NON_GENERIC
-}, {
- 'finally': function (onFinally) {
-  var C = speciesConstructor(this, getBuiltIn('Promise'));
-  var isFunction = typeof onFinally == 'function';
-  return this.then(isFunction ? function (x) {
-   return promiseResolve(C, onFinally()).then(function () {
-    return x;
-   });
-  } : onFinally, isFunction ? function (e) {
-   return promiseResolve(C, onFinally()).then(function () {
-    throw e;
-   });
-  } : onFinally);
- }
-});
-if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
- redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
-}
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(129);
-__w_pdfjs_require__(134);
-__w_pdfjs_require__(132);
-var path = __w_pdfjs_require__(38);
-module.exports = path.URL;
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(73);
-var $ = __w_pdfjs_require__(5);
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var USE_NATIVE_URL = __w_pdfjs_require__(130);
-var global = __w_pdfjs_require__(6);
-var defineProperties = __w_pdfjs_require__(68);
-var redefine = __w_pdfjs_require__(24);
-var anInstance = __w_pdfjs_require__(114);
-var has = __w_pdfjs_require__(18);
-var assign = __w_pdfjs_require__(96);
-var arrayFrom = __w_pdfjs_require__(86);
-var codeAt = __w_pdfjs_require__(74).codeAt;
-var toASCII = __w_pdfjs_require__(131);
-var setToStringTag = __w_pdfjs_require__(81);
-var URLSearchParamsModule = __w_pdfjs_require__(132);
-var InternalStateModule = __w_pdfjs_require__(28);
-var NativeURL = global.URL;
-var URLSearchParams = URLSearchParamsModule.URLSearchParams;
-var getInternalSearchParamsState = URLSearchParamsModule.getState;
-var setInternalState = InternalStateModule.set;
-var getInternalURLState = InternalStateModule.getterFor('URL');
-var floor = Math.floor;
-var pow = Math.pow;
-var INVALID_AUTHORITY = 'Invalid authority';
-var INVALID_SCHEME = 'Invalid scheme';
-var INVALID_HOST = 'Invalid host';
-var INVALID_PORT = 'Invalid port';
-var ALPHA = /[A-Za-z]/;
-var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
-var DIGIT = /\d/;
-var HEX_START = /^(0x|0X)/;
-var OCT = /^[0-7]+$/;
-var DEC = /^\d+$/;
-var HEX = /^[\dA-Fa-f]+$/;
-var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
-var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
-var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
-var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
-var EOF;
-var parseHost = function (url, input) {
- var result, codePoints, index;
- if (input.charAt(0) == '[') {
-  if (input.charAt(input.length - 1) != ']')
-   return INVALID_HOST;
-  result = parseIPv6(input.slice(1, -1));
-  if (!result)
-   return INVALID_HOST;
-  url.host = result;
- } else if (!isSpecial(url)) {
-  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
-   return INVALID_HOST;
-  result = '';
-  codePoints = arrayFrom(input);
-  for (index = 0; index < codePoints.length; index++) {
-   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
-  }
-  url.host = result;
- } else {
-  input = toASCII(input);
-  if (FORBIDDEN_HOST_CODE_POINT.test(input))
-   return INVALID_HOST;
-  result = parseIPv4(input);
-  if (result === null)
-   return INVALID_HOST;
-  url.host = result;
- }
-};
-var parseIPv4 = function (input) {
- var parts = input.split('.');
- var partsLength, numbers, index, part, radix, number, ipv4;
- if (parts.length && parts[parts.length - 1] == '') {
-  parts.pop();
- }
- partsLength = parts.length;
- if (partsLength > 4)
-  return input;
- numbers = [];
- for (index = 0; index < partsLength; index++) {
-  part = parts[index];
-  if (part == '')
-   return input;
-  radix = 10;
-  if (part.length > 1 && part.charAt(0) == '0') {
-   radix = HEX_START.test(part) ? 16 : 8;
-   part = part.slice(radix == 8 ? 1 : 2);
-  }
-  if (part === '') {
-   number = 0;
-  } else {
-   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
-    return input;
-   number = parseInt(part, radix);
-  }
-  numbers.push(number);
- }
- for (index = 0; index < partsLength; index++) {
-  number = numbers[index];
-  if (index == partsLength - 1) {
-   if (number >= pow(256, 5 - partsLength))
-    return null;
-  } else if (number > 255)
-   return null;
- }
- ipv4 = numbers.pop();
- for (index = 0; index < numbers.length; index++) {
-  ipv4 += numbers[index] * pow(256, 3 - index);
- }
- return ipv4;
-};
-var parseIPv6 = function (input) {
- var address = [
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0
- ];
- var pieceIndex = 0;
- var compress = null;
- var pointer = 0;
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
- var char = function () {
-  return input.charAt(pointer);
- };
- if (char() == ':') {
-  if (input.charAt(1) != ':')
-   return;
-  pointer += 2;
-  pieceIndex++;
-  compress = pieceIndex;
- }
- while (char()) {
-  if (pieceIndex == 8)
-   return;
-  if (char() == ':') {
-   if (compress !== null)
-    return;
-   pointer++;
-   pieceIndex++;
-   compress = pieceIndex;
-   continue;
-  }
-  value = length = 0;
-  while (length < 4 && HEX.test(char())) {
-   value = value * 16 + parseInt(char(), 16);
-   pointer++;
-   length++;
-  }
-  if (char() == '.') {
-   if (length == 0)
-    return;
-   pointer -= length;
-   if (pieceIndex > 6)
-    return;
-   numbersSeen = 0;
-   while (char()) {
-    ipv4Piece = null;
-    if (numbersSeen > 0) {
-     if (char() == '.' && numbersSeen < 4)
-      pointer++;
-     else
-      return;
-    }
-    if (!DIGIT.test(char()))
-     return;
-    while (DIGIT.test(char())) {
-     number = parseInt(char(), 10);
-     if (ipv4Piece === null)
-      ipv4Piece = number;
-     else if (ipv4Piece == 0)
-      return;
-     else
-      ipv4Piece = ipv4Piece * 10 + number;
-     if (ipv4Piece > 255)
-      return;
-     pointer++;
-    }
-    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
-    numbersSeen++;
-    if (numbersSeen == 2 || numbersSeen == 4)
-     pieceIndex++;
-   }
-   if (numbersSeen != 4)
-    return;
-   break;
-  } else if (char() == ':') {
-   pointer++;
-   if (!char())
-    return;
-  } else if (char())
-   return;
-  address[pieceIndex++] = value;
- }
- if (compress !== null) {
-  swaps = pieceIndex - compress;
-  pieceIndex = 7;
-  while (pieceIndex != 0 && swaps > 0) {
-   swap = address[pieceIndex];
-   address[pieceIndex--] = address[compress + swaps - 1];
-   address[compress + --swaps] = swap;
-  }
- } else if (pieceIndex != 8)
-  return;
- return address;
-};
-var findLongestZeroSequence = function (ipv6) {
- var maxIndex = null;
- var maxLength = 1;
- var currStart = null;
- var currLength = 0;
- var index = 0;
- for (; index < 8; index++) {
-  if (ipv6[index] !== 0) {
-   if (currLength > maxLength) {
-    maxIndex = currStart;
-    maxLength = currLength;
-   }
-   currStart = null;
-   currLength = 0;
-  } else {
-   if (currStart === null)
-    currStart = index;
-   ++currLength;
-  }
- }
- if (currLength > maxLength) {
-  maxIndex = currStart;
-  maxLength = currLength;
- }
- return maxIndex;
-};
-var serializeHost = function (host) {
- var result, index, compress, ignore0;
- if (typeof host == 'number') {
-  result = [];
-  for (index = 0; index < 4; index++) {
-   result.unshift(host % 256);
-   host = floor(host / 256);
-  }
-  return result.join('.');
- } else if (typeof host == 'object') {
-  result = '';
-  compress = findLongestZeroSequence(host);
-  for (index = 0; index < 8; index++) {
-   if (ignore0 && host[index] === 0)
-    continue;
-   if (ignore0)
-    ignore0 = false;
-   if (compress === index) {
-    result += index ? ':' : '::';
-    ignore0 = true;
-   } else {
-    result += host[index].toString(16);
-    if (index < 7)
-     result += ':';
-   }
-  }
-  return '[' + result + ']';
- }
- return host;
-};
-var C0ControlPercentEncodeSet = {};
-var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
- ' ': 1,
- '"': 1,
- '<': 1,
- '>': 1,
- '`': 1
-});
-var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
- '#': 1,
- '?': 1,
- '{': 1,
- '}': 1
-});
-var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
- '/': 1,
- ':': 1,
- ';': 1,
- '=': 1,
- '@': 1,
- '[': 1,
- '\\': 1,
- ']': 1,
- '^': 1,
- '|': 1
-});
-var percentEncode = function (char, set) {
- var code = codeAt(char, 0);
- return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
-};
-var specialSchemes = {
- ftp: 21,
- file: null,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
-};
-var isSpecial = function (url) {
- return has(specialSchemes, url.scheme);
-};
-var includesCredentials = function (url) {
- return url.username != '' || url.password != '';
-};
-var cannotHaveUsernamePasswordPort = function (url) {
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
-};
-var isWindowsDriveLetter = function (string, normalized) {
- var second;
- return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
-};
-var startsWithWindowsDriveLetter = function (string) {
- var third;
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
-};
-var shortenURLsPath = function (url) {
- var path = url.path;
- var pathSize = path.length;
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
-  path.pop();
- }
-};
-var isSingleDot = function (segment) {
- return segment === '.' || segment.toLowerCase() === '%2e';
-};
-var isDoubleDot = function (segment) {
- segment = segment.toLowerCase();
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
-};
-var SCHEME_START = {};
-var SCHEME = {};
-var NO_SCHEME = {};
-var SPECIAL_RELATIVE_OR_AUTHORITY = {};
-var PATH_OR_AUTHORITY = {};
-var RELATIVE = {};
-var RELATIVE_SLASH = {};
-var SPECIAL_AUTHORITY_SLASHES = {};
-var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
-var AUTHORITY = {};
-var HOST = {};
-var HOSTNAME = {};
-var PORT = {};
-var FILE = {};
-var FILE_SLASH = {};
-var FILE_HOST = {};
-var PATH_START = {};
-var PATH = {};
-var CANNOT_BE_A_BASE_URL_PATH = {};
-var QUERY = {};
-var FRAGMENT = {};
-var parseURL = function (url, input, stateOverride, base) {
- var state = stateOverride || SCHEME_START;
- var pointer = 0;
- var buffer = '';
- var seenAt = false;
- var seenBracket = false;
- var seenPasswordToken = false;
- var codePoints, char, bufferCodePoints, failure;
- if (!stateOverride) {
-  url.scheme = '';
-  url.username = '';
-  url.password = '';
-  url.host = null;
-  url.port = null;
-  url.path = [];
-  url.query = null;
-  url.fragment = null;
-  url.cannotBeABaseURL = false;
-  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
- }
- input = input.replace(TAB_AND_NEW_LINE, '');
- codePoints = arrayFrom(input);
- while (pointer <= codePoints.length) {
-  char = codePoints[pointer];
-  switch (state) {
-  case SCHEME_START:
-   if (char && ALPHA.test(char)) {
-    buffer += char.toLowerCase();
-    state = SCHEME;
-   } else if (!stateOverride) {
-    state = NO_SCHEME;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case SCHEME:
-   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
-    buffer += char.toLowerCase();
-   } else if (char == ':') {
-    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
-     return;
-    url.scheme = buffer;
-    if (stateOverride) {
-     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
-      url.port = null;
-     return;
-    }
-    buffer = '';
-    if (url.scheme == 'file') {
-     state = FILE;
-    } else if (isSpecial(url) && base && base.scheme == url.scheme) {
-     state = SPECIAL_RELATIVE_OR_AUTHORITY;
-    } else if (isSpecial(url)) {
-     state = SPECIAL_AUTHORITY_SLASHES;
-    } else if (codePoints[pointer + 1] == '/') {
-     state = PATH_OR_AUTHORITY;
-     pointer++;
-    } else {
-     url.cannotBeABaseURL = true;
-     url.path.push('');
-     state = CANNOT_BE_A_BASE_URL_PATH;
-    }
-   } else if (!stateOverride) {
-    buffer = '';
-    state = NO_SCHEME;
-    pointer = 0;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case NO_SCHEME:
-   if (!base || base.cannotBeABaseURL && char != '#')
-    return INVALID_SCHEME;
-   if (base.cannotBeABaseURL && char == '#') {
-    url.scheme = base.scheme;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    url.cannotBeABaseURL = true;
-    state = FRAGMENT;
-    break;
-   }
-   state = base.scheme == 'file' ? FILE : RELATIVE;
-   continue;
-  case SPECIAL_RELATIVE_OR_AUTHORITY:
-   if (char == '/' && codePoints[pointer + 1] == '/') {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-    pointer++;
-   } else {
-    state = RELATIVE;
-    continue;
-   }
-   break;
-  case PATH_OR_AUTHORITY:
-   if (char == '/') {
-    state = AUTHORITY;
-    break;
-   } else {
-    state = PATH;
-    continue;
-   }
-  case RELATIVE:
-   url.scheme = base.scheme;
-   if (char == EOF) {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-   } else if (char == '/' || char == '\\' && isSpecial(url)) {
-    state = RELATIVE_SLASH;
-   } else if (char == '?') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    state = FRAGMENT;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.path.pop();
-    state = PATH;
-    continue;
-   }
-   break;
-  case RELATIVE_SLASH:
-   if (isSpecial(url) && (char == '/' || char == '\\')) {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   } else if (char == '/') {
-    state = AUTHORITY;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    state = PATH;
-    continue;
-   }
-   break;
-  case SPECIAL_AUTHORITY_SLASHES:
-   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   if (char != '/' || buffer.charAt(pointer + 1) != '/')
-    continue;
-   pointer++;
-   break;
-  case SPECIAL_AUTHORITY_IGNORE_SLASHES:
-   if (char != '/' && char != '\\') {
-    state = AUTHORITY;
-    continue;
-   }
-   break;
-  case AUTHORITY:
-   if (char == '@') {
-    if (seenAt)
-     buffer = '%40' + buffer;
-    seenAt = true;
-    bufferCodePoints = arrayFrom(buffer);
-    for (var i = 0; i < bufferCodePoints.length; i++) {
-     var codePoint = bufferCodePoints[i];
-     if (codePoint == ':' && !seenPasswordToken) {
-      seenPasswordToken = true;
-      continue;
-     }
-     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
-     if (seenPasswordToken)
-      url.password += encodedCodePoints;
-     else
-      url.username += encodedCodePoints;
-    }
-    buffer = '';
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (seenAt && buffer == '')
-     return INVALID_AUTHORITY;
-    pointer -= arrayFrom(buffer).length + 1;
-    buffer = '';
-    state = HOST;
-   } else
-    buffer += char;
-   break;
-  case HOST:
-  case HOSTNAME:
-   if (stateOverride && url.scheme == 'file') {
-    state = FILE_HOST;
-    continue;
-   } else if (char == ':' && !seenBracket) {
-    if (buffer == '')
-     return INVALID_HOST;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PORT;
-    if (stateOverride == HOSTNAME)
-     return;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (isSpecial(url) && buffer == '')
-     return INVALID_HOST;
-    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
-     return;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PATH_START;
-    if (stateOverride)
-     return;
-    continue;
-   } else {
-    if (char == '[')
-     seenBracket = true;
-    else if (char == ']')
-     seenBracket = false;
-    buffer += char;
-   }
-   break;
-  case PORT:
-   if (DIGIT.test(char)) {
-    buffer += char;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) {
-    if (buffer != '') {
-     var port = parseInt(buffer, 10);
-     if (port > 0xFFFF)
-      return INVALID_PORT;
-     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
-     buffer = '';
-    }
-    if (stateOverride)
-     return;
-    state = PATH_START;
-    continue;
-   } else
-    return INVALID_PORT;
-   break;
-  case FILE:
-   url.scheme = 'file';
-   if (char == '/' || char == '\\')
-    state = FILE_SLASH;
-   else if (base && base.scheme == 'file') {
-    if (char == EOF) {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-    } else if (char == '?') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-     url.fragment = '';
-     state = FRAGMENT;
-    } else {
-     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-      url.host = base.host;
-      url.path = base.path.slice();
-      shortenURLsPath(url);
-     }
-     state = PATH;
-     continue;
-    }
-   } else {
-    state = PATH;
-    continue;
-   }
-   break;
-  case FILE_SLASH:
-   if (char == '/' || char == '\\') {
-    state = FILE_HOST;
-    break;
-   }
-   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-    if (isWindowsDriveLetter(base.path[0], true))
-     url.path.push(base.path[0]);
-    else
-     url.host = base.host;
-   }
-   state = PATH;
-   continue;
-  case FILE_HOST:
-   if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
-    if (!stateOverride && isWindowsDriveLetter(buffer)) {
-     state = PATH;
-    } else if (buffer == '') {
-     url.host = '';
-     if (stateOverride)
-      return;
-     state = PATH_START;
-    } else {
-     failure = parseHost(url, buffer);
-     if (failure)
-      return failure;
-     if (url.host == 'localhost')
-      url.host = '';
-     if (stateOverride)
-      return;
-     buffer = '';
-     state = PATH_START;
-    }
-    continue;
-   } else
-    buffer += char;
-   break;
-  case PATH_START:
-   if (isSpecial(url)) {
-    state = PATH;
-    if (char != '/' && char != '\\')
-     continue;
-   } else if (!stateOverride && char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    state = PATH;
-    if (char != '/')
-     continue;
-   }
-   break;
-  case PATH:
-   if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {
-    if (isDoubleDot(buffer)) {
-     shortenURLsPath(url);
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else if (isSingleDot(buffer)) {
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else {
-     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
-      if (url.host)
-       url.host = '';
-      buffer = buffer.charAt(0) + ':';
-     }
-     url.path.push(buffer);
-    }
-    buffer = '';
-    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
-     while (url.path.length > 1 && url.path[0] === '') {
-      url.path.shift();
-     }
-    }
-    if (char == '?') {
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.fragment = '';
-     state = FRAGMENT;
-    }
-   } else {
-    buffer += percentEncode(char, pathPercentEncodeSet);
-   }
-   break;
-  case CANNOT_BE_A_BASE_URL_PATH:
-   if (char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case QUERY:
-   if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    if (char == "'" && isSpecial(url))
-     url.query += '%27';
-    else if (char == '#')
-     url.query += '%23';
-    else
-     url.query += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case FRAGMENT:
-   if (char != EOF)
-    url.fragment += percentEncode(char, fragmentPercentEncodeSet);
-   break;
-  }
-  pointer++;
- }
-};
-var URLConstructor = function URL(url) {
- var that = anInstance(this, URLConstructor, 'URL');
- var base = arguments.length > 1 ? arguments[1] : undefined;
- var urlString = String(url);
- var state = setInternalState(that, { type: 'URL' });
- var baseState, failure;
- if (base !== undefined) {
-  if (base instanceof URLConstructor)
-   baseState = getInternalURLState(base);
-  else {
-   failure = parseURL(baseState = {}, String(base));
-   if (failure)
-    throw TypeError(failure);
-  }
- }
- failure = parseURL(state, urlString, null, baseState);
- if (failure)
-  throw TypeError(failure);
- var searchParams = state.searchParams = new URLSearchParams();
- var searchParamsState = getInternalSearchParamsState(searchParams);
- searchParamsState.updateSearchParams(state.query);
- searchParamsState.updateURL = function () {
-  state.query = String(searchParams) || null;
- };
- if (!DESCRIPTORS) {
-  that.href = serializeURL.call(that);
-  that.origin = getOrigin.call(that);
-  that.protocol = getProtocol.call(that);
-  that.username = getUsername.call(that);
-  that.password = getPassword.call(that);
-  that.host = getHost.call(that);
-  that.hostname = getHostname.call(that);
-  that.port = getPort.call(that);
-  that.pathname = getPathname.call(that);
-  that.search = getSearch.call(that);
-  that.searchParams = getSearchParams.call(that);
-  that.hash = getHash.call(that);
- }
-};
-var URLPrototype = URLConstructor.prototype;
-var serializeURL = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var username = url.username;
- var password = url.password;
- var host = url.host;
- var port = url.port;
- var path = url.path;
- var query = url.query;
- var fragment = url.fragment;
- var output = scheme + ':';
- if (host !== null) {
-  output += '//';
-  if (includesCredentials(url)) {
-   output += username + (password ? ':' + password : '') + '@';
-  }
-  output += serializeHost(host);
-  if (port !== null)
-   output += ':' + port;
- } else if (scheme == 'file')
-  output += '//';
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- if (query !== null)
-  output += '?' + query;
- if (fragment !== null)
-  output += '#' + fragment;
- return output;
-};
-var getOrigin = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var port = url.port;
- if (scheme == 'blob')
-  try {
-   return new URL(scheme.path[0]).origin;
-  } catch (error) {
-   return 'null';
-  }
- if (scheme == 'file' || !isSpecial(url))
-  return 'null';
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
-};
-var getProtocol = function () {
- return getInternalURLState(this).scheme + ':';
-};
-var getUsername = function () {
- return getInternalURLState(this).username;
-};
-var getPassword = function () {
- return getInternalURLState(this).password;
-};
-var getHost = function () {
- var url = getInternalURLState(this);
- var host = url.host;
- var port = url.port;
- return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
-};
-var getHostname = function () {
- var host = getInternalURLState(this).host;
- return host === null ? '' : serializeHost(host);
-};
-var getPort = function () {
- var port = getInternalURLState(this).port;
- return port === null ? '' : String(port);
-};
-var getPathname = function () {
- var url = getInternalURLState(this);
- var path = url.path;
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
-};
-var getSearch = function () {
- var query = getInternalURLState(this).query;
- return query ? '?' + query : '';
-};
-var getSearchParams = function () {
- return getInternalURLState(this).searchParams;
-};
-var getHash = function () {
- var fragment = getInternalURLState(this).fragment;
- return fragment ? '#' + fragment : '';
-};
-var accessorDescriptor = function (getter, setter) {
- return {
-  get: getter,
-  set: setter,
-  configurable: true,
-  enumerable: true
- };
-};
-if (DESCRIPTORS) {
- defineProperties(URLPrototype, {
-  href: accessorDescriptor(serializeURL, function (href) {
-   var url = getInternalURLState(this);
-   var urlString = String(href);
-   var failure = parseURL(url, urlString);
-   if (failure)
-    throw TypeError(failure);
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  origin: accessorDescriptor(getOrigin),
-  protocol: accessorDescriptor(getProtocol, function (protocol) {
-   var url = getInternalURLState(this);
-   parseURL(url, String(protocol) + ':', SCHEME_START);
-  }),
-  username: accessorDescriptor(getUsername, function (username) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(username));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.username = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  password: accessorDescriptor(getPassword, function (password) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(password));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.password = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  host: accessorDescriptor(getHost, function (host) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(host), HOST);
-  }),
-  hostname: accessorDescriptor(getHostname, function (hostname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(hostname), HOSTNAME);
-  }),
-  port: accessorDescriptor(getPort, function (port) {
-   var url = getInternalURLState(this);
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   port = String(port);
-   if (port == '')
-    url.port = null;
-   else
-    parseURL(url, port, PORT);
-  }),
-  pathname: accessorDescriptor(getPathname, function (pathname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   url.path = [];
-   parseURL(url, pathname + '', PATH_START);
-  }),
-  search: accessorDescriptor(getSearch, function (search) {
-   var url = getInternalURLState(this);
-   search = String(search);
-   if (search == '') {
-    url.query = null;
-   } else {
-    if ('?' == search.charAt(0))
-     search = search.slice(1);
-    url.query = '';
-    parseURL(url, search, QUERY);
-   }
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  searchParams: accessorDescriptor(getSearchParams),
-  hash: accessorDescriptor(getHash, function (hash) {
-   var url = getInternalURLState(this);
-   hash = String(hash);
-   if (hash == '') {
-    url.fragment = null;
-    return;
-   }
-   if ('#' == hash.charAt(0))
-    hash = hash.slice(1);
-   url.fragment = '';
-   parseURL(url, hash, FRAGMENT);
-  })
- });
-}
-redefine(URLPrototype, 'toJSON', function toJSON() {
- return serializeURL.call(this);
-}, { enumerable: true });
-redefine(URLPrototype, 'toString', function toString() {
- return serializeURL.call(this);
-}, { enumerable: true });
-if (NativeURL) {
- var nativeCreateObjectURL = NativeURL.createObjectURL;
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
- if (nativeCreateObjectURL)
-  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
-   return nativeCreateObjectURL.apply(NativeURL, arguments);
-  });
- if (nativeRevokeObjectURL)
-  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
-   return nativeRevokeObjectURL.apply(NativeURL, arguments);
-  });
-}
-setToStringTag(URLConstructor, 'URL');
-$({
- global: true,
- forced: !USE_NATIVE_URL,
- sham: !DESCRIPTORS
-}, { URL: URLConstructor });
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var IS_PURE = __w_pdfjs_require__(32);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = !fails(function () {
- var url = new URL('b?a=1&b=2&c=3', 'http://a');
- var searchParams = url.searchParams;
- var result = '';
- url.pathname = 'c%20d';
- searchParams.forEach(function (value, key) {
-  searchParams['delete']('b');
-  result += key + value;
- });
- return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';
-});
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var maxInt = 2147483647;
-var base = 36;
-var tMin = 1;
-var tMax = 26;
-var skew = 38;
-var damp = 700;
-var initialBias = 72;
-var initialN = 128;
-var delimiter = '-';
-var regexNonASCII = /[^\0-\u007E]/;
-var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
-var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
-var baseMinusTMin = base - tMin;
-var floor = Math.floor;
-var stringFromCharCode = String.fromCharCode;
-var ucs2decode = function (string) {
- var output = [];
- var counter = 0;
- var length = string.length;
- while (counter < length) {
-  var value = string.charCodeAt(counter++);
-  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
-   var extra = string.charCodeAt(counter++);
-   if ((extra & 0xFC00) == 0xDC00) {
-    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
-   } else {
-    output.push(value);
-    counter--;
-   }
-  } else {
-   output.push(value);
-  }
- }
- return output;
-};
-var digitToBasic = function (digit) {
- return digit + 22 + 75 * (digit < 26);
-};
-var adapt = function (delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor(delta / damp) : delta >> 1;
- delta += floor(delta / numPoints);
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
-  delta = floor(delta / baseMinusTMin);
- }
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
-};
-var encode = function (input) {
- var output = [];
- input = ucs2decode(input);
- var inputLength = input.length;
- var n = initialN;
- var delta = 0;
- var bias = initialBias;
- var i, currentValue;
- for (i = 0; i < input.length; i++) {
-  currentValue = input[i];
-  if (currentValue < 0x80) {
-   output.push(stringFromCharCode(currentValue));
-  }
- }
- var basicLength = output.length;
- var handledCPCount = basicLength;
- if (basicLength) {
-  output.push(delimiter);
- }
- while (handledCPCount < inputLength) {
-  var m = maxInt;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue >= n && currentValue < m) {
-    m = currentValue;
-   }
-  }
-  var handledCPCountPlusOne = handledCPCount + 1;
-  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
-   throw RangeError(OVERFLOW_ERROR);
-  }
-  delta += (m - n) * handledCPCountPlusOne;
-  n = m;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue < n && ++delta > maxInt) {
-    throw RangeError(OVERFLOW_ERROR);
-   }
-   if (currentValue == n) {
-    var q = delta;
-    for (var k = base;; k += base) {
-     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
-     if (q < t)
-      break;
-     var qMinusT = q - t;
-     var baseMinusT = base - t;
-     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
-     q = floor(qMinusT / baseMinusT);
-    }
-    output.push(stringFromCharCode(digitToBasic(q)));
-    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
-    delta = 0;
-    ++handledCPCount;
-   }
-  }
-  ++delta;
-  ++n;
- }
- return output.join('');
-};
-module.exports = function (input) {
- var encoded = [];
- var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
- var i, label;
- for (i = 0; i < labels.length; i++) {
-  label = labels[i];
-  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
- }
- return encoded.join('.');
-};
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(109);
-var $ = __w_pdfjs_require__(5);
-var getBuiltIn = __w_pdfjs_require__(37);
-var USE_NATIVE_URL = __w_pdfjs_require__(130);
-var redefine = __w_pdfjs_require__(24);
-var redefineAll = __w_pdfjs_require__(112);
-var setToStringTag = __w_pdfjs_require__(81);
-var createIteratorConstructor = __w_pdfjs_require__(76);
-var InternalStateModule = __w_pdfjs_require__(28);
-var anInstance = __w_pdfjs_require__(114);
-var hasOwn = __w_pdfjs_require__(18);
-var bind = __w_pdfjs_require__(58);
-var classof = __w_pdfjs_require__(91);
-var anObject = __w_pdfjs_require__(23);
-var isObject = __w_pdfjs_require__(17);
-var create = __w_pdfjs_require__(67);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-var getIterator = __w_pdfjs_require__(133);
-var getIteratorMethod = __w_pdfjs_require__(90);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var $fetch = getBuiltIn('fetch');
-var Headers = getBuiltIn('Headers');
-var ITERATOR = wellKnownSymbol('iterator');
-var URL_SEARCH_PARAMS = 'URLSearchParams';
-var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
-var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
-var plus = /\+/g;
-var sequences = Array(4);
-var percentSequence = function (bytes) {
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
-};
-var percentDecode = function (sequence) {
- try {
-  return decodeURIComponent(sequence);
- } catch (error) {
-  return sequence;
- }
-};
-var deserialize = function (it) {
- var result = it.replace(plus, ' ');
- var bytes = 4;
- try {
-  return decodeURIComponent(result);
- } catch (error) {
-  while (bytes) {
-   result = result.replace(percentSequence(bytes--), percentDecode);
-  }
-  return result;
- }
-};
-var find = /[!'()~]|%20/g;
-var replace = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+'
-};
-var replacer = function (match) {
- return replace[match];
-};
-var serialize = function (it) {
- return encodeURIComponent(it).replace(find, replacer);
-};
-var parseSearchParams = function (result, query) {
- if (query) {
-  var attributes = query.split('&');
-  var index = 0;
-  var attribute, entry;
-  while (index < attributes.length) {
-   attribute = attributes[index++];
-   if (attribute.length) {
-    entry = attribute.split('=');
-    result.push({
-     key: deserialize(entry.shift()),
-     value: deserialize(entry.join('='))
-    });
-   }
-  }
- }
-};
-var updateSearchParams = function (query) {
- this.entries.length = 0;
- parseSearchParams(this.entries, query);
-};
-var validateArgumentsLength = function (passed, required) {
- if (passed < required)
-  throw TypeError('Not enough arguments');
-};
-var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState(this, {
-  type: URL_SEARCH_PARAMS_ITERATOR,
-  iterator: getIterator(getInternalParamsState(params).entries),
-  kind: kind
- });
-}, 'Iterator', function next() {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var step = state.iterator.next();
- var entry = step.value;
- if (!step.done) {
-  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
-   entry.key,
-   entry.value
-  ];
- }
- return step;
-});
-var URLSearchParamsConstructor = function URLSearchParams() {
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- var init = arguments.length > 0 ? arguments[0] : undefined;
- var that = this;
- var entries = [];
- var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
- setInternalState(that, {
-  type: URL_SEARCH_PARAMS,
-  entries: entries,
-  updateURL: function () {
-  },
-  updateSearchParams: updateSearchParams
- });
- if (init !== undefined) {
-  if (isObject(init)) {
-   iteratorMethod = getIteratorMethod(init);
-   if (typeof iteratorMethod === 'function') {
-    iterator = iteratorMethod.call(init);
-    next = iterator.next;
-    while (!(step = next.call(iterator)).done) {
-     entryIterator = getIterator(anObject(step.value));
-     entryNext = entryIterator.next;
-     if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)
-      throw TypeError('Expected sequence with length 2');
-     entries.push({
-      key: first.value + '',
-      value: second.value + ''
-     });
-    }
-   } else
-    for (key in init)
-     if (hasOwn(init, key))
-      entries.push({
-       key: key,
-       value: init[key] + ''
-      });
-  } else {
-   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
-  }
- }
-};
-var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
-redefineAll(URLSearchParamsPrototype, {
- append: function append(name, value) {
-  validateArgumentsLength(arguments.length, 2);
-  var state = getInternalParamsState(this);
-  state.entries.push({
-   key: name + '',
-   value: value + ''
-  });
-  state.updateURL();
- },
- 'delete': function (name) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index].key === key)
-    entries.splice(index, 1);
-   else
-    index++;
-  }
-  state.updateURL();
- },
- get: function get(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    return entries[index].value;
-  }
-  return null;
- },
- getAll: function getAll(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var result = [];
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    result.push(entries[index].value);
-  }
-  return result;
- },
- has: function has(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index++].key === key)
-    return true;
-  }
-  return false;
- },
- set: function set(name, value) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var found = false;
-  var key = name + '';
-  var val = value + '';
-  var index = 0;
-  var entry;
-  for (; index < entries.length; index++) {
-   entry = entries[index];
-   if (entry.key === key) {
-    if (found)
-     entries.splice(index--, 1);
-    else {
-     found = true;
-     entry.value = val;
-    }
-   }
-  }
-  if (!found)
-   entries.push({
-    key: key,
-    value: val
-   });
-  state.updateURL();
- },
- sort: function sort() {
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var slice = entries.slice();
-  var entry, entriesIndex, sliceIndex;
-  entries.length = 0;
-  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
-   entry = slice[sliceIndex];
-   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
-    if (entries[entriesIndex].key > entry.key) {
-     entries.splice(entriesIndex, 0, entry);
-     break;
-    }
-   }
-   if (entriesIndex === sliceIndex)
-    entries.push(entry);
-  }
-  state.updateURL();
- },
- forEach: function forEach(callback) {
-  var entries = getInternalParamsState(this).entries;
-  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
-  var index = 0;
-  var entry;
-  while (index < entries.length) {
-   entry = entries[index++];
-   boundFunction(entry.value, entry.key, this);
-  }
- },
- keys: function keys() {
-  return new URLSearchParamsIterator(this, 'keys');
- },
- values: function values() {
-  return new URLSearchParamsIterator(this, 'values');
- },
- entries: function entries() {
-  return new URLSearchParamsIterator(this, 'entries');
- }
-}, { enumerable: true });
-redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
-redefine(URLSearchParamsPrototype, 'toString', function toString() {
- var entries = getInternalParamsState(this).entries;
- var result = [];
- var index = 0;
- var entry;
- while (index < entries.length) {
-  entry = entries[index++];
-  result.push(serialize(entry.key) + '=' + serialize(entry.value));
- }
- return result.join('&');
-}, { enumerable: true });
-setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
-$({
- global: true,
- forced: !USE_NATIVE_URL
-}, { URLSearchParams: URLSearchParamsConstructor });
-if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
- $({
-  global: true,
-  enumerable: true,
-  forced: true
- }, {
-  fetch: function fetch(input) {
-   var args = [input];
-   var init, body, headers;
-   if (arguments.length > 1) {
-    init = arguments[1];
-    if (isObject(init)) {
-     body = init.body;
-     if (classof(body) === URL_SEARCH_PARAMS) {
-      headers = init.headers ? new Headers(init.headers) : new Headers();
-      if (!headers.has('content-type')) {
-       headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
-      }
-      init = create(init, {
-       body: createPropertyDescriptor(0, String(body)),
-       headers: createPropertyDescriptor(0, headers)
-      });
-     }
-    }
-    args.push(init);
-   }
-   return $fetch.apply(this, args);
-  }
- });
-}
-module.exports = {
- URLSearchParams: URLSearchParamsConstructor,
- getState: getInternalParamsState
-};
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(23);
-var getIteratorMethod = __w_pdfjs_require__(90);
-module.exports = function (it) {
- var iteratorMethod = getIteratorMethod(it);
- if (typeof iteratorMethod != 'function') {
-  throw TypeError(String(it) + ' is not iterable');
- }
- return anObject(iteratorMethod.call(it));
-};
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-$({
- target: 'URL',
- proto: true,
- enumerable: true
-}, {
- toJSON: function toJSON() {
-  return URL.prototype.toString.call(this);
- }
-});
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-(function (global, factory) {
-  true ? factory(exports) : undefined;
-}(this, function (exports) {
- 'use strict';
- var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
-  return "Symbol(" + description + ")";
- };
- function noop() {
- }
- var NumberIsNaN = Number.isNaN || function (x) {
-  return x !== x;
- };
- var rethrowAssertionErrorRejection = noop;
- function typeIsObject(x) {
-  return typeof x === 'object' && x !== null || typeof x === 'function';
- }
- function createArrayFromList(elements) {
-  return elements.slice();
- }
- function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
-  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
- }
- function IsFiniteNonNegativeNumber(v) {
-  if (IsNonNegativeNumber(v) === false) {
-   return false;
-  }
-  if (v === Infinity) {
-   return false;
-  }
-  return true;
- }
- function IsNonNegativeNumber(v) {
-  if (typeof v !== 'number') {
-   return false;
-  }
-  if (NumberIsNaN(v)) {
-   return false;
-  }
-  if (v < 0) {
-   return false;
-  }
-  return true;
- }
- function Call(F, V, args) {
-  if (typeof F !== 'function') {
-   throw new TypeError('Argument is not a function');
-  }
-  return Function.prototype.apply.call(F, V, args);
- }
- function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
-  var method = underlyingObject[methodName];
-  if (method !== undefined) {
-   if (typeof method !== 'function') {
-    throw new TypeError(method + " is not a method");
-   }
-   switch (algoArgCount) {
-   case 0: {
-     return function () {
-      return PromiseCall(method, underlyingObject, extraArgs);
-     };
-    }
-   case 1: {
-     return function (arg) {
-      var fullArgs = [arg].concat(extraArgs);
-      return PromiseCall(method, underlyingObject, fullArgs);
-     };
-    }
-   }
-  }
-  return function () {
-   return promiseResolvedWith(undefined);
-  };
- }
- function InvokeOrNoop(O, P, args) {
-  var method = O[P];
-  if (method === undefined) {
-   return undefined;
-  }
-  return Call(method, O, args);
- }
- function PromiseCall(F, V, args) {
-  try {
-   return promiseResolvedWith(Call(F, V, args));
-  } catch (value) {
-   return promiseRejectedWith(value);
-  }
- }
- function TransferArrayBuffer(O) {
-  return O;
- }
- function IsDetachedBuffer(O) {
-  return false;
- }
- function ValidateAndNormalizeHighWaterMark(highWaterMark) {
-  highWaterMark = Number(highWaterMark);
-  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
-   throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
-  }
-  return highWaterMark;
- }
- function MakeSizeAlgorithmFromSizeFunction(size) {
-  if (size === undefined) {
-   return function () {
-    return 1;
-   };
-  }
-  if (typeof size !== 'function') {
-   throw new TypeError('size property of a queuing strategy must be a function');
-  }
-  return function (chunk) {
-   return size(chunk);
-  };
- }
- var originalPromise = Promise;
- var originalPromiseThen = Promise.prototype.then;
- var originalPromiseResolve = Promise.resolve.bind(originalPromise);
- var originalPromiseReject = Promise.reject.bind(originalPromise);
- function newPromise(executor) {
-  return new originalPromise(executor);
- }
- function promiseResolvedWith(value) {
-  return originalPromiseResolve(value);
- }
- function promiseRejectedWith(reason) {
-  return originalPromiseReject(reason);
- }
- function PerformPromiseThen(promise, onFulfilled, onRejected) {
-  return originalPromiseThen.call(promise, onFulfilled, onRejected);
- }
- function uponPromise(promise, onFulfilled, onRejected) {
-  PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
- }
- function uponFulfillment(promise, onFulfilled) {
-  uponPromise(promise, onFulfilled);
- }
- function uponRejection(promise, onRejected) {
-  uponPromise(promise, undefined, onRejected);
- }
- function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
-  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
- }
- function setPromiseIsHandledToTrue(promise) {
-  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);
- }
- var QUEUE_MAX_ARRAY_SIZE = 16384;
- var SimpleQueue = function () {
-  function SimpleQueue() {
-   this._cursor = 0;
-   this._size = 0;
-   this._front = {
-    _elements: [],
-    _next: undefined
-   };
-   this._back = this._front;
-   this._cursor = 0;
-   this._size = 0;
-  }
-  Object.defineProperty(SimpleQueue.prototype, "length", {
-   get: function () {
-    return this._size;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  SimpleQueue.prototype.push = function (element) {
-   var oldBack = this._back;
-   var newBack = oldBack;
-   if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
-    newBack = {
-     _elements: [],
-     _next: undefined
-    };
-   }
-   oldBack._elements.push(element);
-   if (newBack !== oldBack) {
-    this._back = newBack;
-    oldBack._next = newBack;
-   }
-   ++this._size;
-  };
-  SimpleQueue.prototype.shift = function () {
-   var oldFront = this._front;
-   var newFront = oldFront;
-   var oldCursor = this._cursor;
-   var newCursor = oldCursor + 1;
-   var elements = oldFront._elements;
-   var element = elements[oldCursor];
-   if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
-    newFront = oldFront._next;
-    newCursor = 0;
-   }
-   --this._size;
-   this._cursor = newCursor;
-   if (oldFront !== newFront) {
-    this._front = newFront;
-   }
-   elements[oldCursor] = undefined;
-   return element;
-  };
-  SimpleQueue.prototype.forEach = function (callback) {
-   var i = this._cursor;
-   var node = this._front;
-   var elements = node._elements;
-   while (i !== elements.length || node._next !== undefined) {
-    if (i === elements.length) {
-     node = node._next;
-     elements = node._elements;
-     i = 0;
-     if (elements.length === 0) {
-      break;
-     }
-    }
-    callback(elements[i]);
-    ++i;
-   }
-  };
-  SimpleQueue.prototype.peek = function () {
-   var front = this._front;
-   var cursor = this._cursor;
-   return front._elements[cursor];
-  };
-  return SimpleQueue;
- }();
- function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
-  var prototype = null;
-  if (forAuthorCode === true) {
-   prototype = Object.prototype;
-  }
-  var obj = Object.create(prototype);
-  obj.value = value;
-  obj.done = done;
-  return obj;
- }
- function ReadableStreamReaderGenericInitialize(reader, stream) {
-  reader._forAuthorCode = true;
-  reader._ownerReadableStream = stream;
-  stream._reader = reader;
-  if (stream._state === 'readable') {
-   defaultReaderClosedPromiseInitialize(reader);
-  } else if (stream._state === 'closed') {
-   defaultReaderClosedPromiseInitializeAsResolved(reader);
-  } else {
-   defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
-  }
- }
- function ReadableStreamReaderGenericCancel(reader, reason) {
-  var stream = reader._ownerReadableStream;
-  return ReadableStreamCancel(stream, reason);
- }
- function ReadableStreamReaderGenericRelease(reader) {
-  if (reader._ownerReadableStream._state === 'readable') {
-   defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
-  } else {
-   defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
-  }
-  reader._ownerReadableStream._reader = undefined;
-  reader._ownerReadableStream = undefined;
- }
- function readerLockException(name) {
-  return new TypeError('Cannot ' + name + ' a stream using a released reader');
- }
- function defaultReaderClosedPromiseInitialize(reader) {
-  reader._closedPromise = newPromise(function (resolve, reject) {
-   reader._closedPromise_resolve = resolve;
-   reader._closedPromise_reject = reject;
-  });
- }
- function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
-  defaultReaderClosedPromiseInitialize(reader);
-  defaultReaderClosedPromiseReject(reader, reason);
- }
- function defaultReaderClosedPromiseInitializeAsResolved(reader) {
-  defaultReaderClosedPromiseInitialize(reader);
-  defaultReaderClosedPromiseResolve(reader);
- }
- function defaultReaderClosedPromiseReject(reader, reason) {
-  setPromiseIsHandledToTrue(reader._closedPromise);
-  reader._closedPromise_reject(reason);
-  reader._closedPromise_resolve = undefined;
-  reader._closedPromise_reject = undefined;
- }
- function defaultReaderClosedPromiseResetToRejected(reader, reason) {
-  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
- }
- function defaultReaderClosedPromiseResolve(reader) {
-  reader._closedPromise_resolve(undefined);
-  reader._closedPromise_resolve = undefined;
-  reader._closedPromise_reject = undefined;
- }
- var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
- var PullSteps = SymbolPolyfill('[[PullSteps]]');
- function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
-  if (forAuthorCode === void 0) {
-   forAuthorCode = false;
-  }
-  var reader = new ReadableStreamDefaultReader(stream);
-  reader._forAuthorCode = forAuthorCode;
-  return reader;
- }
- function ReadableStreamAddReadRequest(stream) {
-  var promise = newPromise(function (resolve, reject) {
-   var readRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._reader._readRequests.push(readRequest);
-  });
-  return promise;
- }
- function ReadableStreamFulfillReadRequest(stream, chunk, done) {
-  var reader = stream._reader;
-  var readRequest = reader._readRequests.shift();
-  readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
- }
- function ReadableStreamGetNumReadRequests(stream) {
-  return stream._reader._readRequests.length;
- }
- function ReadableStreamHasDefaultReader(stream) {
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return false;
-  }
-  if (!IsReadableStreamDefaultReader(reader)) {
-   return false;
-  }
-  return true;
- }
- var ReadableStreamDefaultReader = function () {
-  function ReadableStreamDefaultReader(stream) {
-   if (IsReadableStream(stream) === false) {
-    throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
-   }
-   if (IsReadableStreamLocked(stream) === true) {
-    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-   }
-   ReadableStreamReaderGenericInitialize(this, stream);
-   this._readRequests = new SimpleQueue();
-  }
-  Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
-   get: function () {
-    if (!IsReadableStreamDefaultReader(this)) {
-     return promiseRejectedWith(defaultReaderBrandCheckException('closed'));
-    }
-    return this._closedPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamDefaultReader.prototype.cancel = function (reason) {
-   if (!IsReadableStreamDefaultReader(this)) {
-    return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('cancel'));
-   }
-   return ReadableStreamReaderGenericCancel(this, reason);
-  };
-  ReadableStreamDefaultReader.prototype.read = function () {
-   if (!IsReadableStreamDefaultReader(this)) {
-    return promiseRejectedWith(defaultReaderBrandCheckException('read'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('read from'));
-   }
-   return ReadableStreamDefaultReaderRead(this);
-  };
-  ReadableStreamDefaultReader.prototype.releaseLock = function () {
-   if (!IsReadableStreamDefaultReader(this)) {
-    throw defaultReaderBrandCheckException('releaseLock');
-   }
-   if (this._ownerReadableStream === undefined) {
-    return;
-   }
-   if (this._readRequests.length > 0) {
-    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
-   }
-   ReadableStreamReaderGenericRelease(this);
-  };
-  return ReadableStreamDefaultReader;
- }();
- function IsReadableStreamDefaultReader(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamDefaultReaderRead(reader) {
-  var stream = reader._ownerReadableStream;
-  stream._disturbed = true;
-  if (stream._state === 'closed') {
-   return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
-  }
-  if (stream._state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  return stream._readableStreamController[PullSteps]();
- }
- function defaultReaderBrandCheckException(name) {
-  return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
- }
- var _a;
- var AsyncIteratorPrototype;
- if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
-  AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
-   return this;
-  }, _a);
-  Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
- }
- var ReadableStreamAsyncIteratorPrototype = {
-  next: function () {
-   if (IsReadableStreamAsyncIterator(this) === false) {
-    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
-   }
-   var reader = this._asyncIteratorReader;
-   if (reader._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('iterate'));
-   }
-   return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
-    var done = result.done;
-    if (done) {
-     ReadableStreamReaderGenericRelease(reader);
-    }
-    var value = result.value;
-    return ReadableStreamCreateReadResult(value, done, true);
-   });
-  },
-  return: function (value) {
-   if (IsReadableStreamAsyncIterator(this) === false) {
-    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
-   }
-   var reader = this._asyncIteratorReader;
-   if (reader._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('finish iterating'));
-   }
-   if (reader._readRequests.length > 0) {
-    return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));
-   }
-   if (this._preventCancel === false) {
-    var result = ReadableStreamReaderGenericCancel(reader, value);
-    ReadableStreamReaderGenericRelease(reader);
-    return transformPromiseWith(result, function () {
-     return ReadableStreamCreateReadResult(value, true, true);
-    });
-   }
-   ReadableStreamReaderGenericRelease(reader);
-   return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));
-  }
- };
- if (AsyncIteratorPrototype !== undefined) {
-  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
- }
- Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
- Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
- function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
-  if (preventCancel === void 0) {
-   preventCancel = false;
-  }
-  var reader = AcquireReadableStreamDefaultReader(stream);
-  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
-  iterator._asyncIteratorReader = reader;
-  iterator._preventCancel = Boolean(preventCancel);
-  return iterator;
- }
- function IsReadableStreamAsyncIterator(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
-   return false;
-  }
-  return true;
- }
- function streamAsyncIteratorBrandCheckException(name) {
-  return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
- }
- function DequeueValue(container) {
-  var pair = container._queue.shift();
-  container._queueTotalSize -= pair.size;
-  if (container._queueTotalSize < 0) {
-   container._queueTotalSize = 0;
-  }
-  return pair.value;
- }
- function EnqueueValueWithSize(container, value, size) {
-  size = Number(size);
-  if (!IsFiniteNonNegativeNumber(size)) {
-   throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
-  }
-  container._queue.push({
-   value: value,
-   size: size
-  });
-  container._queueTotalSize += size;
- }
- function PeekQueueValue(container) {
-  var pair = container._queue.peek();
-  return pair.value;
- }
- function ResetQueue(container) {
-  container._queue = new SimpleQueue();
-  container._queueTotalSize = 0;
- }
- var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
- var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
- var WritableStream = function () {
-  function WritableStream(underlyingSink, strategy) {
-   if (underlyingSink === void 0) {
-    underlyingSink = {};
-   }
-   if (strategy === void 0) {
-    strategy = {};
-   }
-   InitializeWritableStream(this);
-   var size = strategy.size;
-   var highWaterMark = strategy.highWaterMark;
-   var type = underlyingSink.type;
-   if (type !== undefined) {
-    throw new RangeError('Invalid type is specified');
-   }
-   var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-   if (highWaterMark === undefined) {
-    highWaterMark = 1;
-   }
-   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-   SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
-  }
-  Object.defineProperty(WritableStream.prototype, "locked", {
-   get: function () {
-    if (IsWritableStream(this) === false) {
-     throw streamBrandCheckException('locked');
-    }
-    return IsWritableStreamLocked(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  WritableStream.prototype.abort = function (reason) {
-   if (IsWritableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException('abort'));
-   }
-   if (IsWritableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));
-   }
-   return WritableStreamAbort(this, reason);
-  };
-  WritableStream.prototype.close = function () {
-   if (IsWritableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException('close'));
-   }
-   if (IsWritableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));
-   }
-   if (WritableStreamCloseQueuedOrInFlight(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
-   }
-   return WritableStreamClose(this);
-  };
-  WritableStream.prototype.getWriter = function () {
-   if (IsWritableStream(this) === false) {
-    throw streamBrandCheckException('getWriter');
-   }
-   return AcquireWritableStreamDefaultWriter(this);
-  };
-  return WritableStream;
- }();
- function AcquireWritableStreamDefaultWriter(stream) {
-  return new WritableStreamDefaultWriter(stream);
- }
- function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
-  if (highWaterMark === void 0) {
-   highWaterMark = 1;
-  }
-  if (sizeAlgorithm === void 0) {
-   sizeAlgorithm = function () {
-    return 1;
-   };
-  }
-  var stream = Object.create(WritableStream.prototype);
-  InitializeWritableStream(stream);
-  var controller = Object.create(WritableStreamDefaultController.prototype);
-  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
-  return stream;
- }
- function InitializeWritableStream(stream) {
-  stream._state = 'writable';
-  stream._storedError = undefined;
-  stream._writer = undefined;
-  stream._writableStreamController = undefined;
-  stream._writeRequests = new SimpleQueue();
-  stream._inFlightWriteRequest = undefined;
-  stream._closeRequest = undefined;
-  stream._inFlightCloseRequest = undefined;
-  stream._pendingAbortRequest = undefined;
-  stream._backpressure = false;
- }
- function IsWritableStream(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
-   return false;
-  }
-  return true;
- }
- function IsWritableStreamLocked(stream) {
-  if (stream._writer === undefined) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamAbort(stream, reason) {
-  var state = stream._state;
-  if (state === 'closed' || state === 'errored') {
-   return promiseResolvedWith(undefined);
-  }
-  if (stream._pendingAbortRequest !== undefined) {
-   return stream._pendingAbortRequest._promise;
-  }
-  var wasAlreadyErroring = false;
-  if (state === 'erroring') {
-   wasAlreadyErroring = true;
-   reason = undefined;
-  }
-  var promise = newPromise(function (resolve, reject) {
-   stream._pendingAbortRequest = {
-    _promise: undefined,
-    _resolve: resolve,
-    _reject: reject,
-    _reason: reason,
-    _wasAlreadyErroring: wasAlreadyErroring
-   };
-  });
-  stream._pendingAbortRequest._promise = promise;
-  if (wasAlreadyErroring === false) {
-   WritableStreamStartErroring(stream, reason);
-  }
-  return promise;
- }
- function WritableStreamClose(stream) {
-  var state = stream._state;
-  if (state === 'closed' || state === 'errored') {
-   return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
-  }
-  var promise = newPromise(function (resolve, reject) {
-   var closeRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._closeRequest = closeRequest;
-  });
-  var writer = stream._writer;
-  if (writer !== undefined && stream._backpressure === true && state === 'writable') {
-   defaultWriterReadyPromiseResolve(writer);
-  }
-  WritableStreamDefaultControllerClose(stream._writableStreamController);
-  return promise;
- }
- function WritableStreamAddWriteRequest(stream) {
-  var promise = newPromise(function (resolve, reject) {
-   var writeRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._writeRequests.push(writeRequest);
-  });
-  return promise;
- }
- function WritableStreamDealWithRejection(stream, error) {
-  var state = stream._state;
-  if (state === 'writable') {
-   WritableStreamStartErroring(stream, error);
-   return;
-  }
-  WritableStreamFinishErroring(stream);
- }
- function WritableStreamStartErroring(stream, reason) {
-  var controller = stream._writableStreamController;
-  stream._state = 'erroring';
-  stream._storedError = reason;
-  var writer = stream._writer;
-  if (writer !== undefined) {
-   WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
-  }
-  if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
-   WritableStreamFinishErroring(stream);
-  }
- }
- function WritableStreamFinishErroring(stream) {
-  stream._state = 'errored';
-  stream._writableStreamController[ErrorSteps]();
-  var storedError = stream._storedError;
-  stream._writeRequests.forEach(function (writeRequest) {
-   writeRequest._reject(storedError);
-  });
-  stream._writeRequests = new SimpleQueue();
-  if (stream._pendingAbortRequest === undefined) {
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-   return;
-  }
-  var abortRequest = stream._pendingAbortRequest;
-  stream._pendingAbortRequest = undefined;
-  if (abortRequest._wasAlreadyErroring === true) {
-   abortRequest._reject(storedError);
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-   return;
-  }
-  var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
-  uponPromise(promise, function () {
-   abortRequest._resolve();
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  }, function (reason) {
-   abortRequest._reject(reason);
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  });
- }
- function WritableStreamFinishInFlightWrite(stream) {
-  stream._inFlightWriteRequest._resolve(undefined);
-  stream._inFlightWriteRequest = undefined;
- }
- function WritableStreamFinishInFlightWriteWithError(stream, error) {
-  stream._inFlightWriteRequest._reject(error);
-  stream._inFlightWriteRequest = undefined;
-  WritableStreamDealWithRejection(stream, error);
- }
- function WritableStreamFinishInFlightClose(stream) {
-  stream._inFlightCloseRequest._resolve(undefined);
-  stream._inFlightCloseRequest = undefined;
-  var state = stream._state;
-  if (state === 'erroring') {
-   stream._storedError = undefined;
-   if (stream._pendingAbortRequest !== undefined) {
-    stream._pendingAbortRequest._resolve();
-    stream._pendingAbortRequest = undefined;
-   }
-  }
-  stream._state = 'closed';
-  var writer = stream._writer;
-  if (writer !== undefined) {
-   defaultWriterClosedPromiseResolve(writer);
-  }
- }
- function WritableStreamFinishInFlightCloseWithError(stream, error) {
-  stream._inFlightCloseRequest._reject(error);
-  stream._inFlightCloseRequest = undefined;
-  if (stream._pendingAbortRequest !== undefined) {
-   stream._pendingAbortRequest._reject(error);
-   stream._pendingAbortRequest = undefined;
-  }
-  WritableStreamDealWithRejection(stream, error);
- }
- function WritableStreamCloseQueuedOrInFlight(stream) {
-  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamHasOperationMarkedInFlight(stream) {
-  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamMarkCloseRequestInFlight(stream) {
-  stream._inFlightCloseRequest = stream._closeRequest;
-  stream._closeRequest = undefined;
- }
- function WritableStreamMarkFirstWriteRequestInFlight(stream) {
-  stream._inFlightWriteRequest = stream._writeRequests.shift();
- }
- function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
-  if (stream._closeRequest !== undefined) {
-   stream._closeRequest._reject(stream._storedError);
-   stream._closeRequest = undefined;
-  }
-  var writer = stream._writer;
-  if (writer !== undefined) {
-   defaultWriterClosedPromiseReject(writer, stream._storedError);
-  }
- }
- function WritableStreamUpdateBackpressure(stream, backpressure) {
-  var writer = stream._writer;
-  if (writer !== undefined && backpressure !== stream._backpressure) {
-   if (backpressure === true) {
-    defaultWriterReadyPromiseReset(writer);
-   } else {
-    defaultWriterReadyPromiseResolve(writer);
-   }
-  }
-  stream._backpressure = backpressure;
- }
- var WritableStreamDefaultWriter = function () {
-  function WritableStreamDefaultWriter(stream) {
-   if (IsWritableStream(stream) === false) {
-    throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
-   }
-   if (IsWritableStreamLocked(stream) === true) {
-    throw new TypeError('This stream has already been locked for exclusive writing by another writer');
-   }
-   this._ownerWritableStream = stream;
-   stream._writer = this;
-   var state = stream._state;
-   if (state === 'writable') {
-    if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
-     defaultWriterReadyPromiseInitialize(this);
-    } else {
-     defaultWriterReadyPromiseInitializeAsResolved(this);
-    }
-    defaultWriterClosedPromiseInitialize(this);
-   } else if (state === 'erroring') {
-    defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
-    defaultWriterClosedPromiseInitialize(this);
-   } else if (state === 'closed') {
-    defaultWriterReadyPromiseInitializeAsResolved(this);
-    defaultWriterClosedPromiseInitializeAsResolved(this);
-   } else {
-    var storedError = stream._storedError;
-    defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
-    defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
-   }
-  }
-  Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
-   get: function () {
-    if (IsWritableStreamDefaultWriter(this) === false) {
-     return promiseRejectedWith(defaultWriterBrandCheckException('closed'));
-    }
-    return this._closedPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
-   get: function () {
-    if (IsWritableStreamDefaultWriter(this) === false) {
-     throw defaultWriterBrandCheckException('desiredSize');
-    }
-    if (this._ownerWritableStream === undefined) {
-     throw defaultWriterLockException('desiredSize');
-    }
-    return WritableStreamDefaultWriterGetDesiredSize(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
-   get: function () {
-    if (IsWritableStreamDefaultWriter(this) === false) {
-     return promiseRejectedWith(defaultWriterBrandCheckException('ready'));
-    }
-    return this._readyPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  WritableStreamDefaultWriter.prototype.abort = function (reason) {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return promiseRejectedWith(defaultWriterBrandCheckException('abort'));
-   }
-   if (this._ownerWritableStream === undefined) {
-    return promiseRejectedWith(defaultWriterLockException('abort'));
-   }
-   return WritableStreamDefaultWriterAbort(this, reason);
-  };
-  WritableStreamDefaultWriter.prototype.close = function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return promiseRejectedWith(defaultWriterBrandCheckException('close'));
-   }
-   var stream = this._ownerWritableStream;
-   if (stream === undefined) {
-    return promiseRejectedWith(defaultWriterLockException('close'));
-   }
-   if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
-    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
-   }
-   return WritableStreamDefaultWriterClose(this);
-  };
-  WritableStreamDefaultWriter.prototype.releaseLock = function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    throw defaultWriterBrandCheckException('releaseLock');
-   }
-   var stream = this._ownerWritableStream;
-   if (stream === undefined) {
-    return;
-   }
-   WritableStreamDefaultWriterRelease(this);
-  };
-  WritableStreamDefaultWriter.prototype.write = function (chunk) {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return promiseRejectedWith(defaultWriterBrandCheckException('write'));
-   }
-   if (this._ownerWritableStream === undefined) {
-    return promiseRejectedWith(defaultWriterLockException('write to'));
-   }
-   return WritableStreamDefaultWriterWrite(this, chunk);
-  };
-  return WritableStreamDefaultWriter;
- }();
- function IsWritableStreamDefaultWriter(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamDefaultWriterAbort(writer, reason) {
-  var stream = writer._ownerWritableStream;
-  return WritableStreamAbort(stream, reason);
- }
- function WritableStreamDefaultWriterClose(writer) {
-  var stream = writer._ownerWritableStream;
-  return WritableStreamClose(stream);
- }
- function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
-  var stream = writer._ownerWritableStream;
-  var state = stream._state;
-  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-   return promiseResolvedWith(undefined);
-  }
-  if (state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  return WritableStreamDefaultWriterClose(writer);
- }
- function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
-  if (writer._closedPromiseState === 'pending') {
-   defaultWriterClosedPromiseReject(writer, error);
-  } else {
-   defaultWriterClosedPromiseResetToRejected(writer, error);
-  }
- }
- function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
-  if (writer._readyPromiseState === 'pending') {
-   defaultWriterReadyPromiseReject(writer, error);
-  } else {
-   defaultWriterReadyPromiseResetToRejected(writer, error);
-  }
- }
- function WritableStreamDefaultWriterGetDesiredSize(writer) {
-  var stream = writer._ownerWritableStream;
-  var state = stream._state;
-  if (state === 'errored' || state === 'erroring') {
-   return null;
-  }
-  if (state === 'closed') {
-   return 0;
-  }
-  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
- }
- function WritableStreamDefaultWriterRelease(writer) {
-  var stream = writer._ownerWritableStream;
-  var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness');
-  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
-  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
-  stream._writer = undefined;
-  writer._ownerWritableStream = undefined;
- }
- function WritableStreamDefaultWriterWrite(writer, chunk) {
-  var stream = writer._ownerWritableStream;
-  var controller = stream._writableStreamController;
-  var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
-  if (stream !== writer._ownerWritableStream) {
-   return promiseRejectedWith(defaultWriterLockException('write to'));
-  }
-  var state = stream._state;
-  if (state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-   return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));
-  }
-  if (state === 'erroring') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  var promise = WritableStreamAddWriteRequest(stream);
-  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
-  return promise;
- }
- var WritableStreamDefaultController = function () {
-  function WritableStreamDefaultController() {
-   throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
-  }
-  WritableStreamDefaultController.prototype.error = function (e) {
-   if (IsWritableStreamDefaultController(this) === false) {
-    throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');
-   }
-   var state = this._controlledWritableStream._state;
-   if (state !== 'writable') {
-    return;
-   }
-   WritableStreamDefaultControllerError(this, e);
-  };
-  WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
-   var result = this._abortAlgorithm(reason);
-   WritableStreamDefaultControllerClearAlgorithms(this);
-   return result;
-  };
-  WritableStreamDefaultController.prototype[ErrorSteps] = function () {
-   ResetQueue(this);
-  };
-  return WritableStreamDefaultController;
- }();
- function IsWritableStreamDefaultController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
-   return false;
-  }
-  return true;
- }
- function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
-  controller._controlledWritableStream = stream;
-  stream._writableStreamController = controller;
-  controller._queue = undefined;
-  controller._queueTotalSize = undefined;
-  ResetQueue(controller);
-  controller._started = false;
-  controller._strategySizeAlgorithm = sizeAlgorithm;
-  controller._strategyHWM = highWaterMark;
-  controller._writeAlgorithm = writeAlgorithm;
-  controller._closeAlgorithm = closeAlgorithm;
-  controller._abortAlgorithm = abortAlgorithm;
-  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-  WritableStreamUpdateBackpressure(stream, backpressure);
-  var startResult = startAlgorithm();
-  var startPromise = promiseResolvedWith(startResult);
-  uponPromise(startPromise, function () {
-   controller._started = true;
-   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-  }, function (r) {
-   controller._started = true;
-   WritableStreamDealWithRejection(stream, r);
-  });
- }
- function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
-  var controller = Object.create(WritableStreamDefaultController.prototype);
-  function startAlgorithm() {
-   return InvokeOrNoop(underlyingSink, 'start', [controller]);
-  }
-  var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
-  var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
-  var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
-  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
- }
- function WritableStreamDefaultControllerClearAlgorithms(controller) {
-  controller._writeAlgorithm = undefined;
-  controller._closeAlgorithm = undefined;
-  controller._abortAlgorithm = undefined;
-  controller._strategySizeAlgorithm = undefined;
- }
- function WritableStreamDefaultControllerClose(controller) {
-  EnqueueValueWithSize(controller, 'close', 0);
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }
- function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
-  try {
-   return controller._strategySizeAlgorithm(chunk);
-  } catch (chunkSizeE) {
-   WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
-   return 1;
-  }
- }
- function WritableStreamDefaultControllerGetDesiredSize(controller) {
-  return controller._strategyHWM - controller._queueTotalSize;
- }
- function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
-  var writeRecord = { chunk: chunk };
-  try {
-   EnqueueValueWithSize(controller, writeRecord, chunkSize);
-  } catch (enqueueE) {
-   WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
-   return;
-  }
-  var stream = controller._controlledWritableStream;
-  if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
-   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-   WritableStreamUpdateBackpressure(stream, backpressure);
-  }
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }
- function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
-  var stream = controller._controlledWritableStream;
-  if (controller._started === false) {
-   return;
-  }
-  if (stream._inFlightWriteRequest !== undefined) {
-   return;
-  }
-  var state = stream._state;
-  if (state === 'erroring') {
-   WritableStreamFinishErroring(stream);
-   return;
-  }
-  if (controller._queue.length === 0) {
-   return;
-  }
-  var writeRecord = PeekQueueValue(controller);
-  if (writeRecord === 'close') {
-   WritableStreamDefaultControllerProcessClose(controller);
-  } else {
-   WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
-  }
- }
- function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
-  if (controller._controlledWritableStream._state === 'writable') {
-   WritableStreamDefaultControllerError(controller, error);
-  }
- }
- function WritableStreamDefaultControllerProcessClose(controller) {
-  var stream = controller._controlledWritableStream;
-  WritableStreamMarkCloseRequestInFlight(stream);
-  DequeueValue(controller);
-  var sinkClosePromise = controller._closeAlgorithm();
-  WritableStreamDefaultControllerClearAlgorithms(controller);
-  uponPromise(sinkClosePromise, function () {
-   WritableStreamFinishInFlightClose(stream);
-  }, function (reason) {
-   WritableStreamFinishInFlightCloseWithError(stream, reason);
-  });
- }
- function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
-  var stream = controller._controlledWritableStream;
-  WritableStreamMarkFirstWriteRequestInFlight(stream);
-  var sinkWritePromise = controller._writeAlgorithm(chunk);
-  uponPromise(sinkWritePromise, function () {
-   WritableStreamFinishInFlightWrite(stream);
-   var state = stream._state;
-   DequeueValue(controller);
-   if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
-    var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-    WritableStreamUpdateBackpressure(stream, backpressure);
-   }
-   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-  }, function (reason) {
-   if (stream._state === 'writable') {
-    WritableStreamDefaultControllerClearAlgorithms(controller);
-   }
-   WritableStreamFinishInFlightWriteWithError(stream, reason);
-  });
- }
- function WritableStreamDefaultControllerGetBackpressure(controller) {
-  var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
-  return desiredSize <= 0;
- }
- function WritableStreamDefaultControllerError(controller, error) {
-  var stream = controller._controlledWritableStream;
-  WritableStreamDefaultControllerClearAlgorithms(controller);
-  WritableStreamStartErroring(stream, error);
- }
- function streamBrandCheckException(name) {
-  return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
- }
- function defaultWriterBrandCheckException(name) {
-  return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
- }
- function defaultWriterLockException(name) {
-  return new TypeError('Cannot ' + name + ' a stream using a released writer');
- }
- function defaultWriterClosedPromiseInitialize(writer) {
-  writer._closedPromise = newPromise(function (resolve, reject) {
-   writer._closedPromise_resolve = resolve;
-   writer._closedPromise_reject = reject;
-   writer._closedPromiseState = 'pending';
-  });
- }
- function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
-  defaultWriterClosedPromiseInitialize(writer);
-  defaultWriterClosedPromiseReject(writer, reason);
- }
- function defaultWriterClosedPromiseInitializeAsResolved(writer) {
-  defaultWriterClosedPromiseInitialize(writer);
-  defaultWriterClosedPromiseResolve(writer);
- }
- function defaultWriterClosedPromiseReject(writer, reason) {
-  setPromiseIsHandledToTrue(writer._closedPromise);
-  writer._closedPromise_reject(reason);
-  writer._closedPromise_resolve = undefined;
-  writer._closedPromise_reject = undefined;
-  writer._closedPromiseState = 'rejected';
- }
- function defaultWriterClosedPromiseResetToRejected(writer, reason) {
-  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
- }
- function defaultWriterClosedPromiseResolve(writer) {
-  writer._closedPromise_resolve(undefined);
-  writer._closedPromise_resolve = undefined;
-  writer._closedPromise_reject = undefined;
-  writer._closedPromiseState = 'resolved';
- }
- function defaultWriterReadyPromiseInitialize(writer) {
-  writer._readyPromise = newPromise(function (resolve, reject) {
-   writer._readyPromise_resolve = resolve;
-   writer._readyPromise_reject = reject;
-  });
-  writer._readyPromiseState = 'pending';
- }
- function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
-  defaultWriterReadyPromiseInitialize(writer);
-  defaultWriterReadyPromiseReject(writer, reason);
- }
- function defaultWriterReadyPromiseInitializeAsResolved(writer) {
-  defaultWriterReadyPromiseInitialize(writer);
-  defaultWriterReadyPromiseResolve(writer);
- }
- function defaultWriterReadyPromiseReject(writer, reason) {
-  setPromiseIsHandledToTrue(writer._readyPromise);
-  writer._readyPromise_reject(reason);
-  writer._readyPromise_resolve = undefined;
-  writer._readyPromise_reject = undefined;
-  writer._readyPromiseState = 'rejected';
- }
- function defaultWriterReadyPromiseReset(writer) {
-  defaultWriterReadyPromiseInitialize(writer);
- }
- function defaultWriterReadyPromiseResetToRejected(writer, reason) {
-  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
- }
- function defaultWriterReadyPromiseResolve(writer) {
-  writer._readyPromise_resolve(undefined);
-  writer._readyPromise_resolve = undefined;
-  writer._readyPromise_reject = undefined;
-  writer._readyPromiseState = 'fulfilled';
- }
- function isAbortSignal(value) {
-  if (typeof value !== 'object' || value === null) {
-   return false;
-  }
-  try {
-   return typeof value.aborted === 'boolean';
-  } catch (_a) {
-   return false;
-  }
- }
- var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;
- function isDOMExceptionConstructor(ctor) {
-  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {
-   return false;
-  }
-  try {
-   new ctor();
-   return true;
-  } catch (_a) {
-   return false;
-  }
- }
- function createDOMExceptionPolyfill() {
-  var ctor = function DOMException(message, name) {
-   this.message = message || '';
-   this.name = name || 'Error';
-   if (Error.captureStackTrace) {
-    Error.captureStackTrace(this, this.constructor);
-   }
-  };
-  ctor.prototype = Object.create(Error.prototype);
-  Object.defineProperty(ctor.prototype, 'constructor', {
-   value: ctor,
-   writable: true,
-   configurable: true
-  });
-  return ctor;
- }
- var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
- function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
-  var reader = AcquireReadableStreamDefaultReader(source);
-  var writer = AcquireWritableStreamDefaultWriter(dest);
-  source._disturbed = true;
-  var shuttingDown = false;
-  var currentWrite = promiseResolvedWith(undefined);
-  return newPromise(function (resolve, reject) {
-   var abortAlgorithm;
-   if (signal !== undefined) {
-    abortAlgorithm = function () {
-     var error = new DOMException$1('Aborted', 'AbortError');
-     var actions = [];
-     if (preventAbort === false) {
-      actions.push(function () {
-       if (dest._state === 'writable') {
-        return WritableStreamAbort(dest, error);
-       }
-       return promiseResolvedWith(undefined);
-      });
-     }
-     if (preventCancel === false) {
-      actions.push(function () {
-       if (source._state === 'readable') {
-        return ReadableStreamCancel(source, error);
-       }
-       return promiseResolvedWith(undefined);
-      });
-     }
-     shutdownWithAction(function () {
-      return Promise.all(actions.map(function (action) {
-       return action();
-      }));
-     }, true, error);
-    };
-    if (signal.aborted === true) {
-     abortAlgorithm();
-     return;
-    }
-    signal.addEventListener('abort', abortAlgorithm);
-   }
-   function pipeLoop() {
-    return newPromise(function (resolveLoop, rejectLoop) {
-     function next(done) {
-      if (done) {
-       resolveLoop();
-      } else {
-       PerformPromiseThen(pipeStep(), next, rejectLoop);
-      }
-     }
-     next(false);
-    });
-   }
-   function pipeStep() {
-    if (shuttingDown === true) {
-     return promiseResolvedWith(true);
-    }
-    return PerformPromiseThen(writer._readyPromise, function () {
-     return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) {
-      var value = _a.value, done = _a.done;
-      if (done === true) {
-       return true;
-      }
-      currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop);
-      return false;
-     });
-    });
-   }
-   isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
-    if (preventAbort === false) {
-     shutdownWithAction(function () {
-      return WritableStreamAbort(dest, storedError);
-     }, true, storedError);
-    } else {
-     shutdown(true, storedError);
-    }
-   });
-   isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
-    if (preventCancel === false) {
-     shutdownWithAction(function () {
-      return ReadableStreamCancel(source, storedError);
-     }, true, storedError);
-    } else {
-     shutdown(true, storedError);
-    }
-   });
-   isOrBecomesClosed(source, reader._closedPromise, function () {
-    if (preventClose === false) {
-     shutdownWithAction(function () {
-      return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
-     });
-    } else {
-     shutdown();
-    }
-   });
-   if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
-    var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
-    if (preventCancel === false) {
-     shutdownWithAction(function () {
-      return ReadableStreamCancel(source, destClosed_1);
-     }, true, destClosed_1);
-    } else {
-     shutdown(true, destClosed_1);
-    }
-   }
-   setPromiseIsHandledToTrue(pipeLoop());
-   function waitForWritesToFinish() {
-    var oldCurrentWrite = currentWrite;
-    return PerformPromiseThen(currentWrite, function () {
-     return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
-    });
-   }
-   function isOrBecomesErrored(stream, promise, action) {
-    if (stream._state === 'errored') {
-     action(stream._storedError);
-    } else {
-     uponRejection(promise, action);
-    }
-   }
-   function isOrBecomesClosed(stream, promise, action) {
-    if (stream._state === 'closed') {
-     action();
-    } else {
-     uponFulfillment(promise, action);
-    }
-   }
-   function shutdownWithAction(action, originalIsError, originalError) {
-    if (shuttingDown === true) {
-     return;
-    }
-    shuttingDown = true;
-    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-     uponFulfillment(waitForWritesToFinish(), doTheRest);
-    } else {
-     doTheRest();
-    }
-    function doTheRest() {
-     uponPromise(action(), function () {
-      return finalize(originalIsError, originalError);
-     }, function (newError) {
-      return finalize(true, newError);
-     });
-    }
-   }
-   function shutdown(isError, error) {
-    if (shuttingDown === true) {
-     return;
-    }
-    shuttingDown = true;
-    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-     uponFulfillment(waitForWritesToFinish(), function () {
-      return finalize(isError, error);
-     });
-    } else {
-     finalize(isError, error);
-    }
-   }
-   function finalize(isError, error) {
-    WritableStreamDefaultWriterRelease(writer);
-    ReadableStreamReaderGenericRelease(reader);
-    if (signal !== undefined) {
-     signal.removeEventListener('abort', abortAlgorithm);
-    }
-    if (isError) {
-     reject(error);
-    } else {
-     resolve(undefined);
-    }
-   }
-  });
- }
- var ReadableStreamDefaultController = function () {
-  function ReadableStreamDefaultController() {
-   throw new TypeError();
-  }
-  Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
-   get: function () {
-    if (IsReadableStreamDefaultController(this) === false) {
-     throw defaultControllerBrandCheckException('desiredSize');
-    }
-    return ReadableStreamDefaultControllerGetDesiredSize(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamDefaultController.prototype.close = function () {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('close');
-   }
-   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-    throw new TypeError('The stream is not in a state that permits close');
-   }
-   ReadableStreamDefaultControllerClose(this);
-  };
-  ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('enqueue');
-   }
-   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-    throw new TypeError('The stream is not in a state that permits enqueue');
-   }
-   return ReadableStreamDefaultControllerEnqueue(this, chunk);
-  };
-  ReadableStreamDefaultController.prototype.error = function (e) {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('error');
-   }
-   ReadableStreamDefaultControllerError(this, e);
-  };
-  ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
-   ResetQueue(this);
-   var result = this._cancelAlgorithm(reason);
-   ReadableStreamDefaultControllerClearAlgorithms(this);
-   return result;
-  };
-  ReadableStreamDefaultController.prototype[PullSteps] = function () {
-   var stream = this._controlledReadableStream;
-   if (this._queue.length > 0) {
-    var chunk = DequeueValue(this);
-    if (this._closeRequested === true && this._queue.length === 0) {
-     ReadableStreamDefaultControllerClearAlgorithms(this);
-     ReadableStreamClose(stream);
-    } else {
-     ReadableStreamDefaultControllerCallPullIfNeeded(this);
-    }
-    return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
-   }
-   var pendingPromise = ReadableStreamAddReadRequest(stream);
-   ReadableStreamDefaultControllerCallPullIfNeeded(this);
-   return pendingPromise;
-  };
-  return ReadableStreamDefaultController;
- }();
- function IsReadableStreamDefaultController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
-  var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
-  if (shouldPull === false) {
-   return;
-  }
-  if (controller._pulling === true) {
-   controller._pullAgain = true;
-   return;
-  }
-  controller._pulling = true;
-  var pullPromise = controller._pullAlgorithm();
-  uponPromise(pullPromise, function () {
-   controller._pulling = false;
-   if (controller._pullAgain === true) {
-    controller._pullAgain = false;
-    ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-   }
-  }, function (e) {
-   ReadableStreamDefaultControllerError(controller, e);
-  });
- }
- function ReadableStreamDefaultControllerShouldCallPull(controller) {
-  var stream = controller._controlledReadableStream;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
-   return false;
-  }
-  if (controller._started === false) {
-   return false;
-  }
-  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-   return true;
-  }
-  var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
-  if (desiredSize > 0) {
-   return true;
-  }
-  return false;
- }
- function ReadableStreamDefaultControllerClearAlgorithms(controller) {
-  controller._pullAlgorithm = undefined;
-  controller._cancelAlgorithm = undefined;
-  controller._strategySizeAlgorithm = undefined;
- }
- function ReadableStreamDefaultControllerClose(controller) {
-  var stream = controller._controlledReadableStream;
-  controller._closeRequested = true;
-  if (controller._queue.length === 0) {
-   ReadableStreamDefaultControllerClearAlgorithms(controller);
-   ReadableStreamClose(stream);
-  }
- }
- function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
-  var stream = controller._controlledReadableStream;
-  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-   ReadableStreamFulfillReadRequest(stream, chunk, false);
-  } else {
-   var chunkSize = void 0;
-   try {
-    chunkSize = controller._strategySizeAlgorithm(chunk);
-   } catch (chunkSizeE) {
-    ReadableStreamDefaultControllerError(controller, chunkSizeE);
-    throw chunkSizeE;
-   }
-   try {
-    EnqueueValueWithSize(controller, chunk, chunkSize);
-   } catch (enqueueE) {
-    ReadableStreamDefaultControllerError(controller, enqueueE);
-    throw enqueueE;
-   }
-  }
-  ReadableStreamDefaultControllerCallPullIfNeeded(controller);
- }
- function ReadableStreamDefaultControllerError(controller, e) {
-  var stream = controller._controlledReadableStream;
-  if (stream._state !== 'readable') {
-   return;
-  }
-  ResetQueue(controller);
-  ReadableStreamDefaultControllerClearAlgorithms(controller);
-  ReadableStreamError(stream, e);
- }
- function ReadableStreamDefaultControllerGetDesiredSize(controller) {
-  var stream = controller._controlledReadableStream;
-  var state = stream._state;
-  if (state === 'errored') {
-   return null;
-  }
-  if (state === 'closed') {
-   return 0;
-  }
-  return controller._strategyHWM - controller._queueTotalSize;
- }
- function ReadableStreamDefaultControllerHasBackpressure(controller) {
-  if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
-  var state = controller._controlledReadableStream._state;
-  if (controller._closeRequested === false && state === 'readable') {
-   return true;
-  }
-  return false;
- }
- function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
-  controller._controlledReadableStream = stream;
-  controller._queue = undefined;
-  controller._queueTotalSize = undefined;
-  ResetQueue(controller);
-  controller._started = false;
-  controller._closeRequested = false;
-  controller._pullAgain = false;
-  controller._pulling = false;
-  controller._strategySizeAlgorithm = sizeAlgorithm;
-  controller._strategyHWM = highWaterMark;
-  controller._pullAlgorithm = pullAlgorithm;
-  controller._cancelAlgorithm = cancelAlgorithm;
-  stream._readableStreamController = controller;
-  var startResult = startAlgorithm();
-  uponPromise(promiseResolvedWith(startResult), function () {
-   controller._started = true;
-   ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-  }, function (r) {
-   ReadableStreamDefaultControllerError(controller, r);
-  });
- }
- function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
-  var controller = Object.create(ReadableStreamDefaultController.prototype);
-  function startAlgorithm() {
-   return InvokeOrNoop(underlyingSource, 'start', [controller]);
-  }
-  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
-  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
-  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
- }
- function defaultControllerBrandCheckException(name) {
-  return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
- }
- function ReadableStreamTee(stream, cloneForBranch2) {
-  var reader = AcquireReadableStreamDefaultReader(stream);
-  var reading = false;
-  var canceled1 = false;
-  var canceled2 = false;
-  var reason1;
-  var reason2;
-  var branch1;
-  var branch2;
-  var resolveCancelPromise;
-  var cancelPromise = newPromise(function (resolve) {
-   resolveCancelPromise = resolve;
-  });
-  function pullAlgorithm() {
-   if (reading === true) {
-    return promiseResolvedWith(undefined);
-   }
-   reading = true;
-   var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
-    reading = false;
-    var done = result.done;
-    if (done === true) {
-     if (canceled1 === false) {
-      ReadableStreamDefaultControllerClose(branch1._readableStreamController);
-     }
-     if (canceled2 === false) {
-      ReadableStreamDefaultControllerClose(branch2._readableStreamController);
-     }
-     return;
-    }
-    var value = result.value;
-    var value1 = value;
-    var value2 = value;
-    if (canceled1 === false) {
-     ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
-    }
-    if (canceled2 === false) {
-     ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
-    }
-   });
-   setPromiseIsHandledToTrue(readPromise);
-   return promiseResolvedWith(undefined);
-  }
-  function cancel1Algorithm(reason) {
-   canceled1 = true;
-   reason1 = reason;
-   if (canceled2 === true) {
-    var compositeReason = createArrayFromList([
-     reason1,
-     reason2
-    ]);
-    var cancelResult = ReadableStreamCancel(stream, compositeReason);
-    resolveCancelPromise(cancelResult);
-   }
-   return cancelPromise;
-  }
-  function cancel2Algorithm(reason) {
-   canceled2 = true;
-   reason2 = reason;
-   if (canceled1 === true) {
-    var compositeReason = createArrayFromList([
-     reason1,
-     reason2
-    ]);
-    var cancelResult = ReadableStreamCancel(stream, compositeReason);
-    resolveCancelPromise(cancelResult);
-   }
-   return cancelPromise;
-  }
-  function startAlgorithm() {
-  }
-  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
-  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
-  uponRejection(reader._closedPromise, function (r) {
-   ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
-   ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
-  });
-  return [
-   branch1,
-   branch2
-  ];
- }
- var NumberIsInteger = Number.isInteger || function (value) {
-  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
- };
- var ReadableStreamBYOBRequest = function () {
-  function ReadableStreamBYOBRequest() {
-   throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
-  }
-  Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
-   get: function () {
-    if (IsReadableStreamBYOBRequest(this) === false) {
-     throw byobRequestBrandCheckException('view');
-    }
-    return this._view;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
-   if (IsReadableStreamBYOBRequest(this) === false) {
-    throw byobRequestBrandCheckException('respond');
-   }
-   if (this._associatedReadableByteStreamController === undefined) {
-    throw new TypeError('This BYOB request has been invalidated');
-   }
-   if (IsDetachedBuffer(this._view.buffer) === true);
-   ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
-  };
-  ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
-   if (IsReadableStreamBYOBRequest(this) === false) {
-    throw byobRequestBrandCheckException('respond');
-   }
-   if (this._associatedReadableByteStreamController === undefined) {
-    throw new TypeError('This BYOB request has been invalidated');
-   }
-   if (!ArrayBuffer.isView(view)) {
-    throw new TypeError('You can only respond with array buffer views');
-   }
-   if (IsDetachedBuffer(view.buffer) === true);
-   ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
-  };
-  return ReadableStreamBYOBRequest;
- }();
- var ReadableByteStreamController = function () {
-  function ReadableByteStreamController() {
-   throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
-  }
-  Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
-   get: function () {
-    if (IsReadableByteStreamController(this) === false) {
-     throw byteStreamControllerBrandCheckException('byobRequest');
-    }
-    if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
-     var firstDescriptor = this._pendingPullIntos.peek();
-     var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
-     var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
-     SetUpReadableStreamBYOBRequest(byobRequest, this, view);
-     this._byobRequest = byobRequest;
-    }
-    return this._byobRequest;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
-   get: function () {
-    if (IsReadableByteStreamController(this) === false) {
-     throw byteStreamControllerBrandCheckException('desiredSize');
-    }
-    return ReadableByteStreamControllerGetDesiredSize(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableByteStreamController.prototype.close = function () {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('close');
-   }
-   if (this._closeRequested === true) {
-    throw new TypeError('The stream has already been closed; do not close it again!');
-   }
-   var state = this._controlledReadableByteStream._state;
-   if (state !== 'readable') {
-    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
-   }
-   ReadableByteStreamControllerClose(this);
-  };
-  ReadableByteStreamController.prototype.enqueue = function (chunk) {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('enqueue');
-   }
-   if (this._closeRequested === true) {
-    throw new TypeError('stream is closed or draining');
-   }
-   var state = this._controlledReadableByteStream._state;
-   if (state !== 'readable') {
-    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
-   }
-   if (!ArrayBuffer.isView(chunk)) {
-    throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
-   }
-   if (IsDetachedBuffer(chunk.buffer) === true);
-   ReadableByteStreamControllerEnqueue(this, chunk);
-  };
-  ReadableByteStreamController.prototype.error = function (e) {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('error');
-   }
-   ReadableByteStreamControllerError(this, e);
-  };
-  ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
-   if (this._pendingPullIntos.length > 0) {
-    var firstDescriptor = this._pendingPullIntos.peek();
-    firstDescriptor.bytesFilled = 0;
-   }
-   ResetQueue(this);
-   var result = this._cancelAlgorithm(reason);
-   ReadableByteStreamControllerClearAlgorithms(this);
-   return result;
-  };
-  ReadableByteStreamController.prototype[PullSteps] = function () {
-   var stream = this._controlledReadableByteStream;
-   if (this._queueTotalSize > 0) {
-    var entry = this._queue.shift();
-    this._queueTotalSize -= entry.byteLength;
-    ReadableByteStreamControllerHandleQueueDrain(this);
-    var view = void 0;
-    try {
-     view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
-    } catch (viewE) {
-     return promiseRejectedWith(viewE);
-    }
-    return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
-   }
-   var autoAllocateChunkSize = this._autoAllocateChunkSize;
-   if (autoAllocateChunkSize !== undefined) {
-    var buffer = void 0;
-    try {
-     buffer = new ArrayBuffer(autoAllocateChunkSize);
-    } catch (bufferE) {
-     return promiseRejectedWith(bufferE);
-    }
-    var pullIntoDescriptor = {
-     buffer: buffer,
-     byteOffset: 0,
-     byteLength: autoAllocateChunkSize,
-     bytesFilled: 0,
-     elementSize: 1,
-     ctor: Uint8Array,
-     readerType: 'default'
-    };
-    this._pendingPullIntos.push(pullIntoDescriptor);
-   }
-   var promise = ReadableStreamAddReadRequest(stream);
-   ReadableByteStreamControllerCallPullIfNeeded(this);
-   return promise;
-  };
-  return ReadableByteStreamController;
- }();
- function IsReadableByteStreamController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
-   return false;
-  }
-  return true;
- }
- function IsReadableStreamBYOBRequest(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
-   return false;
-  }
-  return true;
- }
- function ReadableByteStreamControllerCallPullIfNeeded(controller) {
-  var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
-  if (shouldPull === false) {
-   return;
-  }
-  if (controller._pulling === true) {
-   controller._pullAgain = true;
-   return;
-  }
-  controller._pulling = true;
-  var pullPromise = controller._pullAlgorithm();
-  uponPromise(pullPromise, function () {
-   controller._pulling = false;
-   if (controller._pullAgain === true) {
-    controller._pullAgain = false;
-    ReadableByteStreamControllerCallPullIfNeeded(controller);
-   }
-  }, function (e) {
-   ReadableByteStreamControllerError(controller, e);
-  });
- }
- function ReadableByteStreamControllerClearPendingPullIntos(controller) {
-  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
-  controller._pendingPullIntos = new SimpleQueue();
- }
- function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
-  var done = false;
-  if (stream._state === 'closed') {
-   done = true;
-  }
-  var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
-  if (pullIntoDescriptor.readerType === 'default') {
-   ReadableStreamFulfillReadRequest(stream, filledView, done);
-  } else {
-   ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
-  }
- }
- function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
-  var bytesFilled = pullIntoDescriptor.bytesFilled;
-  var elementSize = pullIntoDescriptor.elementSize;
-  return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
- }
- function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
-  controller._queue.push({
-   buffer: buffer,
-   byteOffset: byteOffset,
-   byteLength: byteLength
-  });
-  controller._queueTotalSize += byteLength;
- }
- function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
-  var elementSize = pullIntoDescriptor.elementSize;
-  var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
-  var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
-  var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
-  var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
-  var totalBytesToCopyRemaining = maxBytesToCopy;
-  var ready = false;
-  if (maxAlignedBytes > currentAlignedBytes) {
-   totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
-   ready = true;
-  }
-  var queue = controller._queue;
-  while (totalBytesToCopyRemaining > 0) {
-   var headOfQueue = queue.peek();
-   var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
-   var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-   ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
-   if (headOfQueue.byteLength === bytesToCopy) {
-    queue.shift();
-   } else {
-    headOfQueue.byteOffset += bytesToCopy;
-    headOfQueue.byteLength -= bytesToCopy;
-   }
-   controller._queueTotalSize -= bytesToCopy;
-   ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
-   totalBytesToCopyRemaining -= bytesToCopy;
-  }
-  return ready;
- }
- function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
-  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
-  pullIntoDescriptor.bytesFilled += size;
- }
- function ReadableByteStreamControllerHandleQueueDrain(controller) {
-  if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
-   ReadableByteStreamControllerClearAlgorithms(controller);
-   ReadableStreamClose(controller._controlledReadableByteStream);
-  } else {
-   ReadableByteStreamControllerCallPullIfNeeded(controller);
-  }
- }
- function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
-  if (controller._byobRequest === undefined) {
-   return;
-  }
-  controller._byobRequest._associatedReadableByteStreamController = undefined;
-  controller._byobRequest._view = undefined;
-  controller._byobRequest = undefined;
- }
- function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
-  while (controller._pendingPullIntos.length > 0) {
-   if (controller._queueTotalSize === 0) {
-    return;
-   }
-   var pullIntoDescriptor = controller._pendingPullIntos.peek();
-   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-    ReadableByteStreamControllerShiftPendingPullInto(controller);
-    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
-   }
-  }
- }
- function ReadableByteStreamControllerPullInto(controller, view) {
-  var stream = controller._controlledReadableByteStream;
-  var elementSize = 1;
-  if (view.constructor !== DataView) {
-   elementSize = view.constructor.BYTES_PER_ELEMENT;
-  }
-  var ctor = view.constructor;
-  var buffer = TransferArrayBuffer(view.buffer);
-  var pullIntoDescriptor = {
-   buffer: buffer,
-   byteOffset: view.byteOffset,
-   byteLength: view.byteLength,
-   bytesFilled: 0,
-   elementSize: elementSize,
-   ctor: ctor,
-   readerType: 'byob'
-  };
-  if (controller._pendingPullIntos.length > 0) {
-   controller._pendingPullIntos.push(pullIntoDescriptor);
-   return ReadableStreamAddReadIntoRequest(stream);
-  }
-  if (stream._state === 'closed') {
-   var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
-   return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
-  }
-  if (controller._queueTotalSize > 0) {
-   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
-    ReadableByteStreamControllerHandleQueueDrain(controller);
-    return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
-   }
-   if (controller._closeRequested === true) {
-    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-    ReadableByteStreamControllerError(controller, e);
-    return promiseRejectedWith(e);
-   }
-  }
-  controller._pendingPullIntos.push(pullIntoDescriptor);
-  var promise = ReadableStreamAddReadIntoRequest(stream);
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
-  return promise;
- }
- function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
-  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
-  var stream = controller._controlledReadableByteStream;
-  if (ReadableStreamHasBYOBReader(stream) === true) {
-   while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-    var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
-    ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
-   }
-  }
- }
- function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
-  if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
-   throw new RangeError('bytesWritten out of range');
-  }
-  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
-  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
-   return;
-  }
-  ReadableByteStreamControllerShiftPendingPullInto(controller);
-  var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
-  if (remainderSize > 0) {
-   var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-   var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
-  }
-  pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
-  pullIntoDescriptor.bytesFilled -= remainderSize;
-  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
-  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
- }
- function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
-  var firstDescriptor = controller._pendingPullIntos.peek();
-  var stream = controller._controlledReadableByteStream;
-  if (stream._state === 'closed') {
-   if (bytesWritten !== 0) {
-    throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
-   }
-   ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
-  } else {
-   ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
-  }
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
- function ReadableByteStreamControllerShiftPendingPullInto(controller) {
-  var descriptor = controller._pendingPullIntos.shift();
-  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
-  return descriptor;
- }
- function ReadableByteStreamControllerShouldCallPull(controller) {
-  var stream = controller._controlledReadableByteStream;
-  if (stream._state !== 'readable') {
-   return false;
-  }
-  if (controller._closeRequested === true) {
-   return false;
-  }
-  if (controller._started === false) {
-   return false;
-  }
-  if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-   return true;
-  }
-  if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-   return true;
-  }
-  var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
-  if (desiredSize > 0) {
-   return true;
-  }
-  return false;
- }
- function ReadableByteStreamControllerClearAlgorithms(controller) {
-  controller._pullAlgorithm = undefined;
-  controller._cancelAlgorithm = undefined;
- }
- function ReadableByteStreamControllerClose(controller) {
-  var stream = controller._controlledReadableByteStream;
-  if (controller._queueTotalSize > 0) {
-   controller._closeRequested = true;
-   return;
-  }
-  if (controller._pendingPullIntos.length > 0) {
-   var firstPendingPullInto = controller._pendingPullIntos.peek();
-   if (firstPendingPullInto.bytesFilled > 0) {
-    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-    ReadableByteStreamControllerError(controller, e);
-    throw e;
-   }
-  }
-  ReadableByteStreamControllerClearAlgorithms(controller);
-  ReadableStreamClose(stream);
- }
- function ReadableByteStreamControllerEnqueue(controller, chunk) {
-  var stream = controller._controlledReadableByteStream;
-  var buffer = chunk.buffer;
-  var byteOffset = chunk.byteOffset;
-  var byteLength = chunk.byteLength;
-  var transferredBuffer = TransferArrayBuffer(buffer);
-  if (ReadableStreamHasDefaultReader(stream) === true) {
-   if (ReadableStreamGetNumReadRequests(stream) === 0) {
-    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-   } else {
-    var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
-    ReadableStreamFulfillReadRequest(stream, transferredView, false);
-   }
-  } else if (ReadableStreamHasBYOBReader(stream) === true) {
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-   ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
-  } else {
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-  }
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
- function ReadableByteStreamControllerError(controller, e) {
-  var stream = controller._controlledReadableByteStream;
-  if (stream._state !== 'readable') {
-   return;
-  }
-  ReadableByteStreamControllerClearPendingPullIntos(controller);
-  ResetQueue(controller);
-  ReadableByteStreamControllerClearAlgorithms(controller);
-  ReadableStreamError(stream, e);
- }
- function ReadableByteStreamControllerGetDesiredSize(controller) {
-  var stream = controller._controlledReadableByteStream;
-  var state = stream._state;
-  if (state === 'errored') {
-   return null;
-  }
-  if (state === 'closed') {
-   return 0;
-  }
-  return controller._strategyHWM - controller._queueTotalSize;
- }
- function ReadableByteStreamControllerRespond(controller, bytesWritten) {
-  bytesWritten = Number(bytesWritten);
-  if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
-   throw new RangeError('bytesWritten must be a finite');
-  }
-  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
- }
- function ReadableByteStreamControllerRespondWithNewView(controller, view) {
-  var firstDescriptor = controller._pendingPullIntos.peek();
-  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
-   throw new RangeError('The region specified by view does not match byobRequest');
-  }
-  if (firstDescriptor.byteLength !== view.byteLength) {
-   throw new RangeError('The buffer of view has different capacity than byobRequest');
-  }
-  firstDescriptor.buffer = view.buffer;
-  ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
- }
- function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
-  controller._controlledReadableByteStream = stream;
-  controller._pullAgain = false;
-  controller._pulling = false;
-  controller._byobRequest = undefined;
-  controller._queue = controller._queueTotalSize = undefined;
-  ResetQueue(controller);
-  controller._closeRequested = false;
-  controller._started = false;
-  controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
-  controller._pullAlgorithm = pullAlgorithm;
-  controller._cancelAlgorithm = cancelAlgorithm;
-  controller._autoAllocateChunkSize = autoAllocateChunkSize;
-  controller._pendingPullIntos = new SimpleQueue();
-  stream._readableStreamController = controller;
-  var startResult = startAlgorithm();
-  uponPromise(promiseResolvedWith(startResult), function () {
-   controller._started = true;
-   ReadableByteStreamControllerCallPullIfNeeded(controller);
-  }, function (r) {
-   ReadableByteStreamControllerError(controller, r);
-  });
- }
- function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
-  var controller = Object.create(ReadableByteStreamController.prototype);
-  function startAlgorithm() {
-   return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
-  }
-  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
-  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
-  var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
-  if (autoAllocateChunkSize !== undefined) {
-   autoAllocateChunkSize = Number(autoAllocateChunkSize);
-   if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
-    throw new RangeError('autoAllocateChunkSize must be a positive integer');
-   }
-  }
-  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
- }
- function SetUpReadableStreamBYOBRequest(request, controller, view) {
-  request._associatedReadableByteStreamController = controller;
-  request._view = view;
- }
- function byobRequestBrandCheckException(name) {
-  return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
- }
- function byteStreamControllerBrandCheckException(name) {
-  return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
- }
- function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
-  if (forAuthorCode === void 0) {
-   forAuthorCode = false;
-  }
-  var reader = new ReadableStreamBYOBReader(stream);
-  reader._forAuthorCode = forAuthorCode;
-  return reader;
- }
- function ReadableStreamAddReadIntoRequest(stream) {
-  var promise = newPromise(function (resolve, reject) {
-   var readIntoRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._reader._readIntoRequests.push(readIntoRequest);
-  });
-  return promise;
- }
- function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
-  var reader = stream._reader;
-  var readIntoRequest = reader._readIntoRequests.shift();
-  readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
- }
- function ReadableStreamGetNumReadIntoRequests(stream) {
-  return stream._reader._readIntoRequests.length;
- }
- function ReadableStreamHasBYOBReader(stream) {
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return false;
-  }
-  if (!IsReadableStreamBYOBReader(reader)) {
-   return false;
-  }
-  return true;
- }
- var ReadableStreamBYOBReader = function () {
-  function ReadableStreamBYOBReader(stream) {
-   if (!IsReadableStream(stream)) {
-    throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');
-   }
-   if (IsReadableByteStreamController(stream._readableStreamController) === false) {
-    throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
-   }
-   if (IsReadableStreamLocked(stream)) {
-    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-   }
-   ReadableStreamReaderGenericInitialize(this, stream);
-   this._readIntoRequests = new SimpleQueue();
-  }
-  Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
-   get: function () {
-    if (!IsReadableStreamBYOBReader(this)) {
-     return promiseRejectedWith(byobReaderBrandCheckException('closed'));
-    }
-    return this._closedPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamBYOBReader.prototype.cancel = function (reason) {
-   if (!IsReadableStreamBYOBReader(this)) {
-    return promiseRejectedWith(byobReaderBrandCheckException('cancel'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('cancel'));
-   }
-   return ReadableStreamReaderGenericCancel(this, reason);
-  };
-  ReadableStreamBYOBReader.prototype.read = function (view) {
-   if (!IsReadableStreamBYOBReader(this)) {
-    return promiseRejectedWith(byobReaderBrandCheckException('read'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('read from'));
-   }
-   if (!ArrayBuffer.isView(view)) {
-    return promiseRejectedWith(new TypeError('view must be an array buffer view'));
-   }
-   if (IsDetachedBuffer(view.buffer) === true);
-   if (view.byteLength === 0) {
-    return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));
-   }
-   return ReadableStreamBYOBReaderRead(this, view);
-  };
-  ReadableStreamBYOBReader.prototype.releaseLock = function () {
-   if (!IsReadableStreamBYOBReader(this)) {
-    throw byobReaderBrandCheckException('releaseLock');
-   }
-   if (this._ownerReadableStream === undefined) {
-    return;
-   }
-   if (this._readIntoRequests.length > 0) {
-    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
-   }
-   ReadableStreamReaderGenericRelease(this);
-  };
-  return ReadableStreamBYOBReader;
- }();
- function IsReadableStreamBYOBReader(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamBYOBReaderRead(reader, view) {
-  var stream = reader._ownerReadableStream;
-  stream._disturbed = true;
-  if (stream._state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
- }
- function byobReaderBrandCheckException(name) {
-  return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
- }
- var ReadableStream = function () {
-  function ReadableStream(underlyingSource, strategy) {
-   if (underlyingSource === void 0) {
-    underlyingSource = {};
-   }
-   if (strategy === void 0) {
-    strategy = {};
-   }
-   InitializeReadableStream(this);
-   var size = strategy.size;
-   var highWaterMark = strategy.highWaterMark;
-   var type = underlyingSource.type;
-   var typeString = String(type);
-   if (typeString === 'bytes') {
-    if (size !== undefined) {
-     throw new RangeError('The strategy for a byte stream cannot have a size function');
-    }
-    if (highWaterMark === undefined) {
-     highWaterMark = 0;
-    }
-    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-    SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
-   } else if (type === undefined) {
-    var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-    if (highWaterMark === undefined) {
-     highWaterMark = 1;
-    }
-    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-    SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
-   } else {
-    throw new RangeError('Invalid type is specified');
-   }
-  }
-  Object.defineProperty(ReadableStream.prototype, "locked", {
-   get: function () {
-    if (IsReadableStream(this) === false) {
-     throw streamBrandCheckException$1('locked');
-    }
-    return IsReadableStreamLocked(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStream.prototype.cancel = function (reason) {
-   if (IsReadableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException$1('cancel'));
-   }
-   if (IsReadableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
-   }
-   return ReadableStreamCancel(this, reason);
-  };
-  ReadableStream.prototype.getReader = function (_a) {
-   var mode = (_a === void 0 ? {} : _a).mode;
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('getReader');
-   }
-   if (mode === undefined) {
-    return AcquireReadableStreamDefaultReader(this, true);
-   }
-   mode = String(mode);
-   if (mode === 'byob') {
-    return AcquireReadableStreamBYOBReader(this, true);
-   }
-   throw new RangeError('Invalid mode is specified');
-  };
-  ReadableStream.prototype.pipeThrough = function (_a, _b) {
-   var writable = _a.writable, readable = _a.readable;
-   var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('pipeThrough');
-   }
-   if (IsWritableStream(writable) === false) {
-    throw new TypeError('writable argument to pipeThrough must be a WritableStream');
-   }
-   if (IsReadableStream(readable) === false) {
-    throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
-   }
-   preventClose = Boolean(preventClose);
-   preventAbort = Boolean(preventAbort);
-   preventCancel = Boolean(preventCancel);
-   if (signal !== undefined && !isAbortSignal(signal)) {
-    throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
-   }
-   if (IsReadableStreamLocked(this) === true) {
-    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
-   }
-   if (IsWritableStreamLocked(writable) === true) {
-    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
-   }
-   var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
-   setPromiseIsHandledToTrue(promise);
-   return readable;
-  };
-  ReadableStream.prototype.pipeTo = function (dest, _a) {
-   var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;
-   if (IsReadableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));
-   }
-   if (IsWritableStream(dest) === false) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream'));
-   }
-   preventClose = Boolean(preventClose);
-   preventAbort = Boolean(preventAbort);
-   preventCancel = Boolean(preventCancel);
-   if (signal !== undefined && !isAbortSignal(signal)) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an AbortSignal'));
-   }
-   if (IsReadableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
-   }
-   if (IsWritableStreamLocked(dest) === true) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
-   }
-   return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
-  };
-  ReadableStream.prototype.tee = function () {
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('tee');
-   }
-   var branches = ReadableStreamTee(this);
-   return createArrayFromList(branches);
-  };
-  ReadableStream.prototype.getIterator = function (_a) {
-   var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('getIterator');
-   }
-   return AcquireReadableStreamAsyncIterator(this, preventCancel);
-  };
-  return ReadableStream;
- }();
- if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
-  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
-   value: ReadableStream.prototype.getIterator,
-   enumerable: false,
-   writable: true,
-   configurable: true
-  });
- }
- function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
-  if (highWaterMark === void 0) {
-   highWaterMark = 1;
-  }
-  if (sizeAlgorithm === void 0) {
-   sizeAlgorithm = function () {
-    return 1;
-   };
-  }
-  var stream = Object.create(ReadableStream.prototype);
-  InitializeReadableStream(stream);
-  var controller = Object.create(ReadableStreamDefaultController.prototype);
-  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
-  return stream;
- }
- function InitializeReadableStream(stream) {
-  stream._state = 'readable';
-  stream._reader = undefined;
-  stream._storedError = undefined;
-  stream._disturbed = false;
- }
- function IsReadableStream(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
-   return false;
-  }
-  return true;
- }
- function IsReadableStreamLocked(stream) {
-  if (stream._reader === undefined) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamCancel(stream, reason) {
-  stream._disturbed = true;
-  if (stream._state === 'closed') {
-   return promiseResolvedWith(undefined);
-  }
-  if (stream._state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  ReadableStreamClose(stream);
-  var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
-  return transformPromiseWith(sourceCancelPromise, noop);
- }
- function ReadableStreamClose(stream) {
-  stream._state = 'closed';
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return;
-  }
-  if (IsReadableStreamDefaultReader(reader)) {
-   reader._readRequests.forEach(function (readRequest) {
-    readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
-   });
-   reader._readRequests = new SimpleQueue();
-  }
-  defaultReaderClosedPromiseResolve(reader);
- }
- function ReadableStreamError(stream, e) {
-  stream._state = 'errored';
-  stream._storedError = e;
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return;
-  }
-  if (IsReadableStreamDefaultReader(reader)) {
-   reader._readRequests.forEach(function (readRequest) {
-    readRequest._reject(e);
-   });
-   reader._readRequests = new SimpleQueue();
-  } else {
-   reader._readIntoRequests.forEach(function (readIntoRequest) {
-    readIntoRequest._reject(e);
-   });
-   reader._readIntoRequests = new SimpleQueue();
-  }
-  defaultReaderClosedPromiseReject(reader, e);
- }
- function streamBrandCheckException$1(name) {
-  return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
- }
- var ByteLengthQueuingStrategy = function () {
-  function ByteLengthQueuingStrategy(_a) {
-   var highWaterMark = _a.highWaterMark;
-   this.highWaterMark = highWaterMark;
-  }
-  ByteLengthQueuingStrategy.prototype.size = function (chunk) {
-   return chunk.byteLength;
-  };
-  return ByteLengthQueuingStrategy;
- }();
- var CountQueuingStrategy = function () {
-  function CountQueuingStrategy(_a) {
-   var highWaterMark = _a.highWaterMark;
-   this.highWaterMark = highWaterMark;
-  }
-  CountQueuingStrategy.prototype.size = function () {
-   return 1;
-  };
-  return CountQueuingStrategy;
- }();
- var TransformStream = function () {
-  function TransformStream(transformer, writableStrategy, readableStrategy) {
-   if (transformer === void 0) {
-    transformer = {};
-   }
-   if (writableStrategy === void 0) {
-    writableStrategy = {};
-   }
-   if (readableStrategy === void 0) {
-    readableStrategy = {};
-   }
-   var writableSizeFunction = writableStrategy.size;
-   var writableHighWaterMark = writableStrategy.highWaterMark;
-   var readableSizeFunction = readableStrategy.size;
-   var readableHighWaterMark = readableStrategy.highWaterMark;
-   var writableType = transformer.writableType;
-   if (writableType !== undefined) {
-    throw new RangeError('Invalid writable type specified');
-   }
-   var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
-   if (writableHighWaterMark === undefined) {
-    writableHighWaterMark = 1;
-   }
-   writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
-   var readableType = transformer.readableType;
-   if (readableType !== undefined) {
-    throw new RangeError('Invalid readable type specified');
-   }
-   var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
-   if (readableHighWaterMark === undefined) {
-    readableHighWaterMark = 0;
-   }
-   readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
-   var startPromise_resolve;
-   var startPromise = newPromise(function (resolve) {
-    startPromise_resolve = resolve;
-   });
-   InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
-   SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
-   var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
-   startPromise_resolve(startResult);
-  }
-  Object.defineProperty(TransformStream.prototype, "readable", {
-   get: function () {
-    if (IsTransformStream(this) === false) {
-     throw streamBrandCheckException$2('readable');
-    }
-    return this._readable;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(TransformStream.prototype, "writable", {
-   get: function () {
-    if (IsTransformStream(this) === false) {
-     throw streamBrandCheckException$2('writable');
-    }
-    return this._writable;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  return TransformStream;
- }();
- function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
-  function startAlgorithm() {
-   return startPromise;
-  }
-  function writeAlgorithm(chunk) {
-   return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
-  }
-  function abortAlgorithm(reason) {
-   return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
-  }
-  function closeAlgorithm() {
-   return TransformStreamDefaultSinkCloseAlgorithm(stream);
-  }
-  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
-  function pullAlgorithm() {
-   return TransformStreamDefaultSourcePullAlgorithm(stream);
-  }
-  function cancelAlgorithm(reason) {
-   TransformStreamErrorWritableAndUnblockWrite(stream, reason);
-   return promiseResolvedWith(undefined);
-  }
-  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
-  stream._backpressure = undefined;
-  stream._backpressureChangePromise = undefined;
-  stream._backpressureChangePromise_resolve = undefined;
-  TransformStreamSetBackpressure(stream, true);
-  stream._transformStreamController = undefined;
- }
- function IsTransformStream(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
-   return false;
-  }
-  return true;
- }
- function TransformStreamError(stream, e) {
-  ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
-  TransformStreamErrorWritableAndUnblockWrite(stream, e);
- }
- function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
-  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
-  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
-  if (stream._backpressure === true) {
-   TransformStreamSetBackpressure(stream, false);
-  }
- }
- function TransformStreamSetBackpressure(stream, backpressure) {
-  if (stream._backpressureChangePromise !== undefined) {
-   stream._backpressureChangePromise_resolve();
-  }
-  stream._backpressureChangePromise = newPromise(function (resolve) {
-   stream._backpressureChangePromise_resolve = resolve;
-  });
-  stream._backpressure = backpressure;
- }
- var TransformStreamDefaultController = function () {
-  function TransformStreamDefaultController() {
-   throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
-  }
-  Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
-   get: function () {
-    if (IsTransformStreamDefaultController(this) === false) {
-     throw defaultControllerBrandCheckException$1('desiredSize');
-    }
-    var readableController = this._controlledTransformStream._readable._readableStreamController;
-    return ReadableStreamDefaultControllerGetDesiredSize(readableController);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  TransformStreamDefaultController.prototype.enqueue = function (chunk) {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('enqueue');
-   }
-   TransformStreamDefaultControllerEnqueue(this, chunk);
-  };
-  TransformStreamDefaultController.prototype.error = function (reason) {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('error');
-   }
-   TransformStreamDefaultControllerError(this, reason);
-  };
-  TransformStreamDefaultController.prototype.terminate = function () {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('terminate');
-   }
-   TransformStreamDefaultControllerTerminate(this);
-  };
-  return TransformStreamDefaultController;
- }();
- function IsTransformStreamDefaultController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
-   return false;
-  }
-  return true;
- }
- function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
-  controller._controlledTransformStream = stream;
-  stream._transformStreamController = controller;
-  controller._transformAlgorithm = transformAlgorithm;
-  controller._flushAlgorithm = flushAlgorithm;
- }
- function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
-  var controller = Object.create(TransformStreamDefaultController.prototype);
-  var transformAlgorithm = function (chunk) {
-   try {
-    TransformStreamDefaultControllerEnqueue(controller, chunk);
-    return promiseResolvedWith(undefined);
-   } catch (transformResultE) {
-    return promiseRejectedWith(transformResultE);
-   }
-  };
-  var transformMethod = transformer.transform;
-  if (transformMethod !== undefined) {
-   if (typeof transformMethod !== 'function') {
-    throw new TypeError('transform is not a method');
-   }
-   transformAlgorithm = function (chunk) {
-    return PromiseCall(transformMethod, transformer, [
-     chunk,
-     controller
-    ]);
-   };
-  }
-  var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
-  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
- }
- function TransformStreamDefaultControllerClearAlgorithms(controller) {
-  controller._transformAlgorithm = undefined;
-  controller._flushAlgorithm = undefined;
- }
- function TransformStreamDefaultControllerEnqueue(controller, chunk) {
-  var stream = controller._controlledTransformStream;
-  var readableController = stream._readable._readableStreamController;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
-   throw new TypeError('Readable side is not in a state that permits enqueue');
-  }
-  try {
-   ReadableStreamDefaultControllerEnqueue(readableController, chunk);
-  } catch (e) {
-   TransformStreamErrorWritableAndUnblockWrite(stream, e);
-   throw stream._readable._storedError;
-  }
-  var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
-  if (backpressure !== stream._backpressure) {
-   TransformStreamSetBackpressure(stream, true);
-  }
- }
- function TransformStreamDefaultControllerError(controller, e) {
-  TransformStreamError(controller._controlledTransformStream, e);
- }
- function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
-  var transformPromise = controller._transformAlgorithm(chunk);
-  return transformPromiseWith(transformPromise, undefined, function (r) {
-   TransformStreamError(controller._controlledTransformStream, r);
-   throw r;
-  });
- }
- function TransformStreamDefaultControllerTerminate(controller) {
-  var stream = controller._controlledTransformStream;
-  var readableController = stream._readable._readableStreamController;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-   ReadableStreamDefaultControllerClose(readableController);
-  }
-  var error = new TypeError('TransformStream terminated');
-  TransformStreamErrorWritableAndUnblockWrite(stream, error);
- }
- function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
-  var controller = stream._transformStreamController;
-  if (stream._backpressure === true) {
-   var backpressureChangePromise = stream._backpressureChangePromise;
-   return transformPromiseWith(backpressureChangePromise, function () {
-    var writable = stream._writable;
-    var state = writable._state;
-    if (state === 'erroring') {
-     throw writable._storedError;
-    }
-    return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-   });
-  }
-  return TransformStreamDefaultControllerPerformTransform(controller, chunk);
- }
- function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
-  TransformStreamError(stream, reason);
-  return promiseResolvedWith(undefined);
- }
- function TransformStreamDefaultSinkCloseAlgorithm(stream) {
-  var readable = stream._readable;
-  var controller = stream._transformStreamController;
-  var flushPromise = controller._flushAlgorithm();
-  TransformStreamDefaultControllerClearAlgorithms(controller);
-  return transformPromiseWith(flushPromise, function () {
-   if (readable._state === 'errored') {
-    throw readable._storedError;
-   }
-   var readableController = readable._readableStreamController;
-   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-    ReadableStreamDefaultControllerClose(readableController);
-   }
-  }, function (r) {
-   TransformStreamError(stream, r);
-   throw readable._storedError;
-  });
- }
- function TransformStreamDefaultSourcePullAlgorithm(stream) {
-  TransformStreamSetBackpressure(stream, false);
-  return stream._backpressureChangePromise;
- }
- function defaultControllerBrandCheckException$1(name) {
-  return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
- }
- function streamBrandCheckException$2(name) {
-  return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
- }
- exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
- exports.CountQueuingStrategy = CountQueuingStrategy;
- exports.ReadableStream = ReadableStream;
- exports.TransformStream = TransformStream;
- exports.WritableStream = WritableStream;
- Object.defineProperty(exports, '__esModule', { value: true });
-}));
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(137);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(73);
-__w_pdfjs_require__(107);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Map;
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(138);
-var collectionStrong = __w_pdfjs_require__(142);
-module.exports = collection('Map', function (init) {
- return function Map() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionStrong);
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var global = __w_pdfjs_require__(6);
-var isForced = __w_pdfjs_require__(47);
-var redefine = __w_pdfjs_require__(24);
-var InternalMetadataModule = __w_pdfjs_require__(139);
-var iterate = __w_pdfjs_require__(115);
-var anInstance = __w_pdfjs_require__(114);
-var isObject = __w_pdfjs_require__(17);
-var fails = __w_pdfjs_require__(9);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(93);
-var setToStringTag = __w_pdfjs_require__(81);
-var inheritIfRequired = __w_pdfjs_require__(141);
-module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
- var ADDER = IS_MAP ? 'set' : 'add';
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var exported = {};
- var fixMethod = function (KEY) {
-  var nativeMethod = NativePrototype[KEY];
-  redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
-   nativeMethod.call(this, value === 0 ? 0 : value);
-   return this;
-  } : KEY == 'delete' ? function (key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'get' ? function get(key) {
-   return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'has' ? function has(key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : function set(key, value) {
-   nativeMethod.call(this, key === 0 ? 0 : key, value);
-   return this;
-  });
- };
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
-   new NativeConstructor().entries().next();
-  })))) {
-  Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
-  InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
-  var instance = new Constructor();
-  var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
-  var THROWS_ON_PRIMITIVES = fails(function () {
-   instance.has(1);
-  });
-  var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
-   new NativeConstructor(iterable);
-  });
-  var BUGGY_ZERO = !IS_WEAK && fails(function () {
-   var $instance = new NativeConstructor();
-   var index = 5;
-   while (index--)
-    $instance[ADDER](index, index);
-   return !$instance.has(-0);
-  });
-  if (!ACCEPT_ITERABLES) {
-   Constructor = wrapper(function (dummy, iterable) {
-    anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
-    var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
-    if (iterable != undefined)
-     iterate(iterable, that[ADDER], that, IS_MAP);
-    return that;
-   });
-   Constructor.prototype = NativePrototype;
-   NativePrototype.constructor = Constructor;
-  }
-  if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
-   fixMethod('delete');
-   fixMethod('has');
-   IS_MAP && fixMethod('get');
-  }
-  if (BUGGY_ZERO || HASNT_CHAINING)
-   fixMethod(ADDER);
-  if (IS_WEAK && NativePrototype.clear)
-   delete NativePrototype.clear;
- }
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({
-  global: true,
-  forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK)
-  common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
-};
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var hiddenKeys = __w_pdfjs_require__(34);
-var isObject = __w_pdfjs_require__(17);
-var has = __w_pdfjs_require__(18);
-var defineProperty = __w_pdfjs_require__(22).f;
-var uid = __w_pdfjs_require__(33);
-var FREEZING = __w_pdfjs_require__(140);
-var METADATA = uid('meta');
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
- return true;
-};
-var setMetadata = function (it) {
- defineProperty(it, METADATA, {
-  value: {
-   objectID: 'O' + ++id,
-   weakData: {}
-  }
- });
-};
-var fastKey = function (it, create) {
- if (!isObject(it))
-  return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return 'F';
-  if (!create)
-   return 'E';
-  setMetadata(it);
- }
- return it[METADATA].objectID;
-};
-var getWeakData = function (it, create) {
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return true;
-  if (!create)
-   return false;
-  setMetadata(it);
- }
- return it[METADATA].weakData;
-};
-var onFreeze = function (it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
-  setMetadata(it);
- return it;
-};
-var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
-};
-hiddenKeys[METADATA] = true;
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
-});
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-var setPrototypeOf = __w_pdfjs_require__(83);
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
-  setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var defineProperty = __w_pdfjs_require__(22).f;
-var create = __w_pdfjs_require__(67);
-var redefineAll = __w_pdfjs_require__(112);
-var bind = __w_pdfjs_require__(58);
-var anInstance = __w_pdfjs_require__(114);
-var iterate = __w_pdfjs_require__(115);
-var defineIterator = __w_pdfjs_require__(75);
-var setSpecies = __w_pdfjs_require__(113);
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var fastKey = __w_pdfjs_require__(139).fastKey;
-var InternalStateModule = __w_pdfjs_require__(28);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
-  var C = wrapper(function (that, iterable) {
-   anInstance(that, C, CONSTRUCTOR_NAME);
-   setInternalState(that, {
-    type: CONSTRUCTOR_NAME,
-    index: create(null),
-    first: undefined,
-    last: undefined,
-    size: 0
-   });
-   if (!DESCRIPTORS)
-    that.size = 0;
-   if (iterable != undefined)
-    iterate(iterable, that[ADDER], that, IS_MAP);
-  });
-  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var define = function (that, key, value) {
-   var state = getInternalState(that);
-   var entry = getEntry(that, key);
-   var previous, index;
-   if (entry) {
-    entry.value = value;
-   } else {
-    state.last = entry = {
-     index: index = fastKey(key, true),
-     key: key,
-     value: value,
-     previous: previous = state.last,
-     next: undefined,
-     removed: false
-    };
-    if (!state.first)
-     state.first = entry;
-    if (previous)
-     previous.next = entry;
-    if (DESCRIPTORS)
-     state.size++;
-    else
-     that.size++;
-    if (index !== 'F')
-     state.index[index] = entry;
-   }
-   return that;
-  };
-  var getEntry = function (that, key) {
-   var state = getInternalState(that);
-   var index = fastKey(key);
-   var entry;
-   if (index !== 'F')
-    return state.index[index];
-   for (entry = state.first; entry; entry = entry.next) {
-    if (entry.key == key)
-     return entry;
-   }
-  };
-  redefineAll(C.prototype, {
-   clear: function clear() {
-    var that = this;
-    var state = getInternalState(that);
-    var data = state.index;
-    var entry = state.first;
-    while (entry) {
-     entry.removed = true;
-     if (entry.previous)
-      entry.previous = entry.previous.next = undefined;
-     delete data[entry.index];
-     entry = entry.next;
-    }
-    state.first = state.last = undefined;
-    if (DESCRIPTORS)
-     state.size = 0;
-    else
-     that.size = 0;
-   },
-   'delete': function (key) {
-    var that = this;
-    var state = getInternalState(that);
-    var entry = getEntry(that, key);
-    if (entry) {
-     var next = entry.next;
-     var prev = entry.previous;
-     delete state.index[entry.index];
-     entry.removed = true;
-     if (prev)
-      prev.next = next;
-     if (next)
-      next.previous = prev;
-     if (state.first == entry)
-      state.first = next;
-     if (state.last == entry)
-      state.last = prev;
-     if (DESCRIPTORS)
-      state.size--;
-     else
-      that.size--;
-    }
-    return !!entry;
-   },
-   forEach: function forEach(callbackfn) {
-    var state = getInternalState(this);
-    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-    var entry;
-    while (entry = entry ? entry.next : state.first) {
-     boundFunction(entry.value, entry.key, this);
-     while (entry && entry.removed)
-      entry = entry.previous;
-    }
-   },
-   has: function has(key) {
-    return !!getEntry(this, key);
-   }
-  });
-  redefineAll(C.prototype, IS_MAP ? {
-   get: function get(key) {
-    var entry = getEntry(this, key);
-    return entry && entry.value;
-   },
-   set: function set(key, value) {
-    return define(this, key === 0 ? 0 : key, value);
-   }
-  } : {
-   add: function add(value) {
-    return define(this, value = value === 0 ? 0 : value, value);
-   }
-  });
-  if (DESCRIPTORS)
-   defineProperty(C.prototype, 'size', {
-    get: function () {
-     return getInternalState(this).size;
-    }
-   });
-  return C;
- },
- setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
-  var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
-  var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
-  defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
-   setInternalState(this, {
-    type: ITERATOR_NAME,
-    target: iterated,
-    state: getInternalCollectionState(iterated),
-    kind: kind,
-    last: undefined
-   });
-  }, function () {
-   var state = getInternalIteratorState(this);
-   var kind = state.kind;
-   var entry = state.last;
-   while (entry && entry.removed)
-    entry = entry.previous;
-   if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
-    state.target = undefined;
-    return {
-     value: undefined,
-     done: true
-    };
-   }
-   if (kind == 'keys')
-    return {
-     value: entry.key,
-     done: false
-    };
-   if (kind == 'values')
-    return {
-     value: entry.value,
-     done: false
-    };
-   return {
-    value: [
-     entry.key,
-     entry.value
-    ],
-    done: false
-   };
-  }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-  setSpecies(CONSTRUCTOR_NAME);
- }
-};
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(144);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(73);
-__w_pdfjs_require__(107);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Set;
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(138);
-var collectionStrong = __w_pdfjs_require__(142);
-module.exports = collection('Set', function (init) {
- return function Set() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionStrong);
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(146);
-__w_pdfjs_require__(107);
-var path = __w_pdfjs_require__(38);
-module.exports = path.WeakMap;
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var global = __w_pdfjs_require__(6);
-var redefineAll = __w_pdfjs_require__(112);
-var InternalMetadataModule = __w_pdfjs_require__(139);
-var collection = __w_pdfjs_require__(138);
-var collectionWeak = __w_pdfjs_require__(147);
-var isObject = __w_pdfjs_require__(17);
-var enforceIternalState = __w_pdfjs_require__(28).enforce;
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(29);
-var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
-var isExtensible = Object.isExtensible;
-var InternalWeakMap;
-var wrapper = function (init) {
- return function WeakMap() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-};
-var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
-if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
-  'delete': function (key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeDelete.call(this, key) || state.frozen['delete'](key);
-   }
-   return nativeDelete.call(this, key);
-  },
-  has: function has(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) || state.frozen.has(key);
-   }
-   return nativeHas.call(this, key);
-  },
-  get: function get(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
-   }
-   return nativeGet.call(this, key);
-  },
-  set: function set(key, value) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
-   } else
-    nativeSet.call(this, key, value);
-   return this;
-  }
- });
-}
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var redefineAll = __w_pdfjs_require__(112);
-var getWeakData = __w_pdfjs_require__(139).getWeakData;
-var anObject = __w_pdfjs_require__(23);
-var isObject = __w_pdfjs_require__(17);
-var anInstance = __w_pdfjs_require__(114);
-var iterate = __w_pdfjs_require__(115);
-var ArrayIterationModule = __w_pdfjs_require__(148);
-var $has = __w_pdfjs_require__(18);
-var InternalStateModule = __w_pdfjs_require__(28);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-var find = ArrayIterationModule.find;
-var findIndex = ArrayIterationModule.findIndex;
-var id = 0;
-var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
-};
-var UncaughtFrozenStore = function () {
- this.entries = [];
-};
-var findUncaughtFrozen = function (store, key) {
- return find(store.entries, function (it) {
-  return it[0] === key;
- });
-};
-UncaughtFrozenStore.prototype = {
- get: function (key) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   return entry[1];
- },
- has: function (key) {
-  return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   entry[1] = value;
-  else
-   this.entries.push([
-    key,
-    value
-   ]);
- },
- 'delete': function (key) {
-  var index = findIndex(this.entries, function (it) {
-   return it[0] === key;
-  });
-  if (~index)
-   this.entries.splice(index, 1);
-  return !!~index;
- }
-};
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
-  var C = wrapper(function (that, iterable) {
-   anInstance(that, C, CONSTRUCTOR_NAME);
-   setInternalState(that, {
-    type: CONSTRUCTOR_NAME,
-    id: id++,
-    frozen: undefined
-   });
-   if (iterable != undefined)
-    iterate(iterable, that[ADDER], that, IS_MAP);
-  });
-  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var define = function (that, key, value) {
-   var state = getInternalState(that);
-   var data = getWeakData(anObject(key), true);
-   if (data === true)
-    uncaughtFrozenStore(state).set(key, value);
-   else
-    data[state.id] = value;
-   return that;
-  };
-  redefineAll(C.prototype, {
-   'delete': function (key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state)['delete'](key);
-    return data && $has(data, state.id) && delete data[state.id];
-   },
-   has: function has(key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state).has(key);
-    return data && $has(data, state.id);
-   }
-  });
-  redefineAll(C.prototype, IS_MAP ? {
-   get: function get(key) {
-    var state = getInternalState(this);
-    if (isObject(key)) {
-     var data = getWeakData(key);
-     if (data === true)
-      return uncaughtFrozenStore(state).get(key);
-     return data ? data[state.id] : undefined;
-    }
-   },
-   set: function set(key, value) {
-    return define(this, key, value);
-   }
-  } : {
-   add: function add(value) {
-    return define(this, value, true);
-   }
-  });
-  return C;
- }
-};
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var bind = __w_pdfjs_require__(58);
-var IndexedObject = __w_pdfjs_require__(13);
-var toObject = __w_pdfjs_require__(79);
-var toLength = __w_pdfjs_require__(42);
-var arraySpeciesCreate = __w_pdfjs_require__(149);
-var push = [].push;
-var createMethod = function (TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
-  var O = toObject($this);
-  var self = IndexedObject(O);
-  var boundFunction = bind(callbackfn, that, 3);
-  var length = toLength(self.length);
-  var index = 0;
-  var create = specificCreate || arraySpeciesCreate;
-  var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-  var value, result;
-  for (; length > index; index++)
-   if (NO_HOLES || index in self) {
-    value = self[index];
-    result = boundFunction(value, index, O);
-    if (TYPE) {
-     if (IS_MAP)
-      target[index] = result;
-     else if (result)
-      switch (TYPE) {
-      case 3:
-       return true;
-      case 5:
-       return value;
-      case 6:
-       return index;
-      case 2:
-       push.call(target, value);
-      }
-     else if (IS_EVERY)
-      return false;
-    }
-   }
-  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
-};
-module.exports = {
- forEach: createMethod(0),
- map: createMethod(1),
- filter: createMethod(2),
- some: createMethod(3),
- every: createMethod(4),
- find: createMethod(5),
- findIndex: createMethod(6)
-};
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(17);
-var isArray = __w_pdfjs_require__(150);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (originalArray, length) {
- var C;
- if (isArray(originalArray)) {
-  C = originalArray.constructor;
-  if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
-   C = undefined;
-  else if (isObject(C)) {
-   C = C[SPECIES];
-   if (C === null)
-    C = undefined;
-  }
- }
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(14);
-module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
-};
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(152);
-__w_pdfjs_require__(107);
-var path = __w_pdfjs_require__(38);
-module.exports = path.WeakSet;
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(138);
-var collectionWeak = __w_pdfjs_require__(147);
-collection('WeakSet', function (init) {
- return function WeakSet() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionWeak);
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(154);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('String', 'codePointAt');
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var codeAt = __w_pdfjs_require__(74).codeAt;
-$({
- target: 'String',
- proto: true
-}, {
- codePointAt: function codePointAt(pos) {
-  return codeAt(this, pos);
- }
-});
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(156);
-var path = __w_pdfjs_require__(38);
-module.exports = path.String.fromCodePoint;
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var toAbsoluteIndex = __w_pdfjs_require__(44);
-var fromCharCode = String.fromCharCode;
-var nativeFromCodePoint = String.fromCodePoint;
-var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
-$({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
-}, {
- fromCodePoint: function fromCodePoint(x) {
-  var elements = [];
-  var length = arguments.length;
-  var i = 0;
-  var code;
-  while (length > i) {
-   code = +arguments[i++];
-   if (toAbsoluteIndex(code, 0x10FFFF) !== code)
-    throw RangeError(code + ' is not a valid code point');
-   elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
-  }
-  return elements.join('');
- }
-});
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(158);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(160);
-__w_pdfjs_require__(164);
-__w_pdfjs_require__(165);
-__w_pdfjs_require__(166);
-__w_pdfjs_require__(167);
-__w_pdfjs_require__(168);
-__w_pdfjs_require__(169);
-__w_pdfjs_require__(170);
-__w_pdfjs_require__(171);
-__w_pdfjs_require__(172);
-__w_pdfjs_require__(173);
-__w_pdfjs_require__(174);
-__w_pdfjs_require__(175);
-__w_pdfjs_require__(176);
-__w_pdfjs_require__(177);
-__w_pdfjs_require__(178);
-__w_pdfjs_require__(179);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Symbol;
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var fails = __w_pdfjs_require__(9);
-var isArray = __w_pdfjs_require__(150);
-var isObject = __w_pdfjs_require__(17);
-var toObject = __w_pdfjs_require__(79);
-var toLength = __w_pdfjs_require__(42);
-var createProperty = __w_pdfjs_require__(89);
-var arraySpeciesCreate = __w_pdfjs_require__(149);
-var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(159);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var V8_VERSION = __w_pdfjs_require__(125);
-var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
-});
-var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-var isConcatSpreadable = function (O) {
- if (!isObject(O))
-  return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
-};
-var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-$({
- target: 'Array',
- proto: true,
- forced: FORCED
-}, {
- concat: function concat(arg) {
-  var O = toObject(this);
-  var A = arraySpeciesCreate(O, 0);
-  var n = 0;
-  var i, k, length, len, E;
-  for (i = -1, length = arguments.length; i < length; i++) {
-   E = i === -1 ? O : arguments[i];
-   if (isConcatSpreadable(E)) {
-    len = toLength(E.length);
-    if (n + len > MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    for (k = 0; k < len; k++, n++)
-     if (k in E)
-      createProperty(A, n, E[k]);
-   } else {
-    if (n >= MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    createProperty(A, n++, E);
-   }
-  }
-  A.length = n;
-  return A;
- }
-});
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(9);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var V8_VERSION = __w_pdfjs_require__(125);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (METHOD_NAME) {
- return V8_VERSION >= 51 || !fails(function () {
-  var array = [];
-  var constructor = array.constructor = {};
-  constructor[SPECIES] = function () {
-   return { foo: 1 };
-  };
-  return array[METHOD_NAME](Boolean).foo !== 1;
- });
-};
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var global = __w_pdfjs_require__(6);
-var getBuiltIn = __w_pdfjs_require__(37);
-var IS_PURE = __w_pdfjs_require__(32);
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var NATIVE_SYMBOL = __w_pdfjs_require__(54);
-var USE_SYMBOL_AS_UID = __w_pdfjs_require__(55);
-var fails = __w_pdfjs_require__(9);
-var has = __w_pdfjs_require__(18);
-var isArray = __w_pdfjs_require__(150);
-var isObject = __w_pdfjs_require__(17);
-var anObject = __w_pdfjs_require__(23);
-var toObject = __w_pdfjs_require__(79);
-var toIndexedObject = __w_pdfjs_require__(12);
-var toPrimitive = __w_pdfjs_require__(16);
-var createPropertyDescriptor = __w_pdfjs_require__(11);
-var nativeObjectCreate = __w_pdfjs_require__(67);
-var objectKeys = __w_pdfjs_require__(69);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(39);
-var getOwnPropertyNamesExternal = __w_pdfjs_require__(161);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(46);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(7);
-var definePropertyModule = __w_pdfjs_require__(22);
-var propertyIsEnumerableModule = __w_pdfjs_require__(10);
-var createNonEnumerableProperty = __w_pdfjs_require__(21);
-var redefine = __w_pdfjs_require__(24);
-var shared = __w_pdfjs_require__(31);
-var sharedKey = __w_pdfjs_require__(30);
-var hiddenKeys = __w_pdfjs_require__(34);
-var uid = __w_pdfjs_require__(33);
-var wellKnownSymbol = __w_pdfjs_require__(53);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(162);
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-var setToStringTag = __w_pdfjs_require__(81);
-var InternalStateModule = __w_pdfjs_require__(28);
-var $forEach = __w_pdfjs_require__(148).forEach;
-var HIDDEN = sharedKey('hidden');
-var SYMBOL = 'Symbol';
-var PROTOTYPE = 'prototype';
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(SYMBOL);
-var ObjectPrototype = Object[PROTOTYPE];
-var $Symbol = global.Symbol;
-var $stringify = getBuiltIn('JSON', 'stringify');
-var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
-var nativeDefineProperty = definePropertyModule.f;
-var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
-var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
-var AllSymbols = shared('symbols');
-var ObjectPrototypeSymbols = shared('op-symbols');
-var StringToSymbolRegistry = shared('string-to-symbol-registry');
-var SymbolToStringRegistry = shared('symbol-to-string-registry');
-var WellKnownSymbolsStore = shared('wks');
-var QObject = global.QObject;
-var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-var setSymbolDescriptor = DESCRIPTORS && fails(function () {
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
-  get: function () {
-   return nativeDefineProperty(this, 'a', { value: 7 }).a;
-  }
- })).a != 7;
-}) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor)
-  delete ObjectPrototype[P];
- nativeDefineProperty(O, P, Attributes);
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
-} : nativeDefineProperty;
-var wrap = function (tag, description) {
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
- setInternalState(symbol, {
-  type: SYMBOL,
-  tag: tag,
-  description: description
- });
- if (!DESCRIPTORS)
-  symbol.description = description;
- return symbol;
-};
-var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
- return typeof it == 'symbol';
-} : function (it) {
- return Object(it) instanceof $Symbol;
-};
-var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype)
-  $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
- if (has(AllSymbols, key)) {
-  if (!Attributes.enumerable) {
-   if (!has(O, HIDDEN))
-    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
-   O[HIDDEN][key] = true;
-  } else {
-   if (has(O, HIDDEN) && O[HIDDEN][key])
-    O[HIDDEN][key] = false;
-   Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-  }
-  return setSymbolDescriptor(O, key, Attributes);
- }
- return nativeDefineProperty(O, key, Attributes);
-};
-var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
-  if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
-   $defineProperty(O, key, properties[key]);
- });
- return O;
-};
-var $create = function create(O, Properties) {
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
-  return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
-  return;
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-  descriptor.enumerable = true;
- }
- return descriptor;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (!has(AllSymbols, key) && !has(hiddenKeys, key))
-   result.push(key);
- });
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-   result.push(AllSymbols[key]);
-  }
- });
- return result;
-};
-if (!NATIVE_SYMBOL) {
- $Symbol = function Symbol() {
-  if (this instanceof $Symbol)
-   throw TypeError('Symbol is not a constructor');
-  var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var tag = uid(description);
-  var setter = function (value) {
-   if (this === ObjectPrototype)
-    setter.call(ObjectPrototypeSymbols, value);
-   if (has(this, HIDDEN) && has(this[HIDDEN], tag))
-    this[HIDDEN][tag] = false;
-   setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-  };
-  if (DESCRIPTORS && USE_SETTER)
-   setSymbolDescriptor(ObjectPrototype, tag, {
-    configurable: true,
-    set: setter
-   });
-  return wrap(tag, description);
- };
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
-  return getInternalState(this).tag;
- });
- redefine($Symbol, 'withoutSetter', function (description) {
-  return wrap(uid(description), description);
- });
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
- definePropertyModule.f = $defineProperty;
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
- wrappedWellKnownSymbolModule.f = function (name) {
-  return wrap(wellKnownSymbol(name), name);
- };
- if (DESCRIPTORS) {
-  nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
-   configurable: true,
-   get: function description() {
-    return getInternalState(this).description;
-   }
-  });
-  if (!IS_PURE) {
-   redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-  }
- }
-}
-$({
- global: true,
- wrap: true,
- forced: !NATIVE_SYMBOL,
- sham: !NATIVE_SYMBOL
-}, { Symbol: $Symbol });
-$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
- defineWellKnownSymbol(name);
-});
-$({
- target: SYMBOL,
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- 'for': function (key) {
-  var string = String(key);
-  if (has(StringToSymbolRegistry, string))
-   return StringToSymbolRegistry[string];
-  var symbol = $Symbol(string);
-  StringToSymbolRegistry[string] = symbol;
-  SymbolToStringRegistry[symbol] = string;
-  return symbol;
- },
- keyFor: function keyFor(sym) {
-  if (!isSymbol(sym))
-   throw TypeError(sym + ' is not a symbol');
-  if (has(SymbolToStringRegistry, sym))
-   return SymbolToStringRegistry[sym];
- },
- useSetter: function () {
-  USE_SETTER = true;
- },
- useSimple: function () {
-  USE_SETTER = false;
- }
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL,
- sham: !DESCRIPTORS
-}, {
- create: $create,
- defineProperty: $defineProperty,
- defineProperties: $defineProperties,
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- getOwnPropertyNames: $getOwnPropertyNames,
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-$({
- target: 'Object',
- stat: true,
- forced: fails(function () {
-  getOwnPropertySymbolsModule.f(1);
- })
-}, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-  return getOwnPropertySymbolsModule.f(toObject(it));
- }
-});
-if ($stringify) {
- var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
-  var symbol = $Symbol();
-  return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';
- });
- $({
-  target: 'JSON',
-  stat: true,
-  forced: FORCED_JSON_STRINGIFY
- }, {
-  stringify: function stringify(it, replacer, space) {
-   var args = [it];
-   var index = 1;
-   var $replacer;
-   while (arguments.length > index)
-    args.push(arguments[index++]);
-   $replacer = replacer;
-   if (!isObject(replacer) && it === undefined || isSymbol(it))
-    return;
-   if (!isArray(replacer))
-    replacer = function (key, value) {
-     if (typeof $replacer == 'function')
-      value = $replacer.call(this, key, value);
-     if (!isSymbol(value))
-      return value;
-    };
-   args[1] = replacer;
-   return $stringify.apply(null, args);
-  }
- });
-}
-if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
- createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-}
-setToStringTag($Symbol, SYMBOL);
-hiddenKeys[HIDDEN] = true;
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(12);
-var nativeGetOwnPropertyNames = __w_pdfjs_require__(39).f;
-var toString = {}.toString;
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-var getWindowNames = function (it) {
- try {
-  return nativeGetOwnPropertyNames(it);
- } catch (error) {
-  return windowNames.slice();
- }
-};
-module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
-};
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(53);
-exports.f = wellKnownSymbol;
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(38);
-var has = __w_pdfjs_require__(18);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(162);
-var defineProperty = __w_pdfjs_require__(22).f;
-module.exports = function (NAME) {
- var Symbol = path.Symbol || (path.Symbol = {});
- if (!has(Symbol, NAME))
-  defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
-};
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('asyncIterator');
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var global = __w_pdfjs_require__(6);
-var has = __w_pdfjs_require__(18);
-var isObject = __w_pdfjs_require__(17);
-var defineProperty = __w_pdfjs_require__(22).f;
-var copyConstructorProperties = __w_pdfjs_require__(35);
-var NativeSymbol = global.Symbol;
-if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {};
- var SymbolWrapper = function Symbol() {
-  var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);
-  if (description === '')
-   EmptyStringDescriptionStore[result] = true;
-  return result;
- };
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
- var native = String(NativeSymbol('test')) == 'Symbol(test)';
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty(symbolPrototype, 'description', {
-  configurable: true,
-  get: function description() {
-   var symbol = isObject(this) ? this.valueOf() : this;
-   var string = symbolToString.call(symbol);
-   if (has(EmptyStringDescriptionStore, symbol))
-    return '';
-   var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-   return desc === '' ? undefined : desc;
-  }
- });
- $({
-  global: true,
-  forced: true
- }, { Symbol: SymbolWrapper });
-}
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('hasInstance');
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('isConcatSpreadable');
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('iterator');
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('match');
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('matchAll');
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('replace');
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('search');
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('species');
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('split');
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('toPrimitive');
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('toStringTag');
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(163);
-defineWellKnownSymbol('unscopables');
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var setToStringTag = __w_pdfjs_require__(81);
-setToStringTag(Math, 'Math', true);
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(6);
-var setToStringTag = __w_pdfjs_require__(81);
-setToStringTag(global.JSON, 'JSON', true);
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(181);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('String', 'padStart');
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var $padStart = __w_pdfjs_require__(182).start;
-var WEBKIT_BUG = __w_pdfjs_require__(184);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padStart: function padStart(maxLength) {
-  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toLength = __w_pdfjs_require__(42);
-var repeat = __w_pdfjs_require__(183);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-var ceil = Math.ceil;
-var createMethod = function (IS_END) {
- return function ($this, maxLength, fillString) {
-  var S = String(requireObjectCoercible($this));
-  var stringLength = S.length;
-  var fillStr = fillString === undefined ? ' ' : String(fillString);
-  var intMaxLength = toLength(maxLength);
-  var fillLen, stringFiller;
-  if (intMaxLength <= stringLength || fillStr == '')
-   return S;
-  fillLen = intMaxLength - stringLength;
-  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
-  if (stringFiller.length > fillLen)
-   stringFiller = stringFiller.slice(0, fillLen);
-  return IS_END ? S + stringFiller : stringFiller + S;
- };
-};
-module.exports = {
- start: createMethod(false),
- end: createMethod(true)
-};
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toInteger = __w_pdfjs_require__(43);
-var requireObjectCoercible = __w_pdfjs_require__(15);
-module.exports = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity)
-  throw RangeError('Wrong number of repetitions');
- for (; n > 0; (n >>>= 1) && (str += str))
-  if (n & 1)
-   result += str;
- return result;
-};
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(119);
-module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(186);
-var entryUnbind = __w_pdfjs_require__(57);
-module.exports = entryUnbind('String', 'padEnd');
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(5);
-var $padEnd = __w_pdfjs_require__(182).end;
-var WEBKIT_BUG = __w_pdfjs_require__(184);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padEnd: function padEnd(maxLength) {
-  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(188);
-var path = __w_pdfjs_require__(38);
-module.exports = path.Object.values;
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(5);
-var $values = __w_pdfjs_require__(189).values;
-$({
- target: 'Object',
- stat: true
-}, {
- values: function values(O) {
-  return $values(O);
- }
-});
-
-/***/ }),
-/* 189 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(8);
-var objectKeys = __w_pdfjs_require__(69);
-var toIndexedObject = __w_pdfjs_require__(12);
-var propertyIsEnumerable = __w_pdfjs_require__(10).f;
-var createMethod = function (TO_ENTRIES) {
- return function (it) {
-  var O = toIndexedObject(it);
-  var keys = objectKeys(O);
-  var length = keys.length;
-  var i = 0;
-  var result = [];
-  var key;
-  while (length > i) {
-   key = keys[i++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
-    result.push(TO_ENTRIES ? [
-     key,
-     O[key]
-    ] : O[key]);
-   }
-  }
-  return result;
- };
-};
-module.exports = {
- entries: createMethod(true),
- values: createMethod(false)
-};
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getDocument = getDocument;
-exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
-exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-var _display_utils = __w_pdfjs_require__(194);
-
-var _font_loader = __w_pdfjs_require__(195);
-
-var _api_compatibility = __w_pdfjs_require__(196);
-
-var _canvas = __w_pdfjs_require__(197);
-
-var _worker_options = __w_pdfjs_require__(199);
-
-var _is_node = __w_pdfjs_require__(48);
-
-var _message_handler = __w_pdfjs_require__(200);
-
-var _metadata = __w_pdfjs_require__(201);
-
-var _transport_stream = __w_pdfjs_require__(203);
-
-var _webgl = __w_pdfjs_require__(204);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var DEFAULT_RANGE_CHUNK_SIZE = 65536;
-var RENDERING_CANCELLED_TIMEOUT = 100;
-var createPDFNetworkStream;
-
-function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
-  createPDFNetworkStream = pdfNetworkStreamFactory;
-}
-
-function getDocument(src) {
-  var task = new PDFDocumentLoadingTask();
-  var source;
-
-  if (typeof src === "string") {
-    source = {
-      url: src
-    };
-  } else if ((0, _util.isArrayBuffer)(src)) {
-    source = {
-      data: src
-    };
-  } else if (src instanceof PDFDataRangeTransport) {
-    source = {
-      range: src
-    };
-  } else {
-    if (_typeof(src) !== "object") {
-      throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object");
-    }
-
-    if (!src.url && !src.data && !src.range) {
-      throw new Error("Invalid parameter object: need either .data, .range or .url");
-    }
-
-    source = src;
-  }
-
-  var params = Object.create(null);
-  var rangeTransport = null,
-      worker = null;
-
-  for (var key in source) {
-    if (key === "url" && typeof window !== "undefined") {
-      params[key] = new URL(source[key], window.location).href;
-      continue;
-    } else if (key === "range") {
-      rangeTransport = source[key];
-      continue;
-    } else if (key === "worker") {
-      worker = source[key];
-      continue;
-    } else if (key === "data" && !(source[key] instanceof Uint8Array)) {
-      var pdfBytes = source[key];
-
-      if (typeof pdfBytes === "string") {
-        params[key] = (0, _util.stringToBytes)(pdfBytes);
-      } else if (_typeof(pdfBytes) === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
-        params[key] = new Uint8Array(pdfBytes);
-      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
-        params[key] = new Uint8Array(pdfBytes);
-      } else {
-        throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property.");
-      }
-
-      continue;
-    }
-
-    params[key] = source[key];
-  }
-
-  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
-  params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
-  params.ignoreErrors = params.stopAtErrors !== true;
-  params.pdfBug = params.pdfBug === true;
-  var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
-
-  if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
-    params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;
-  }
-
-  if (!Number.isInteger(params.maxImageSize)) {
-    params.maxImageSize = -1;
-  }
-
-  if (typeof params.isEvalSupported !== "boolean") {
-    params.isEvalSupported = true;
-  }
-
-  if (typeof params.disableFontFace !== "boolean") {
-    params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
-  }
-
-  if (typeof params.disableRange !== "boolean") {
-    params.disableRange = false;
-  }
-
-  if (typeof params.disableStream !== "boolean") {
-    params.disableStream = false;
-  }
-
-  if (typeof params.disableAutoFetch !== "boolean") {
-    params.disableAutoFetch = false;
-  }
-
-  if (typeof params.disableCreateObjectURL !== "boolean") {
-    params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;
-  }
-
-  (0, _util.setVerbosityLevel)(params.verbosity);
-
-  if (!worker) {
-    var workerParams = {
-      verbosity: params.verbosity,
-      port: _worker_options.GlobalWorkerOptions.workerPort
-    };
-    worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
-    task._worker = worker;
-  }
-
-  var docId = task.docId;
-  worker.promise.then(function () {
-    if (task.destroyed) {
-      throw new Error("Loading aborted");
-    }
-
-    return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
-      if (task.destroyed) {
-        throw new Error("Loading aborted");
-      }
-
-      var networkStream;
-
-      if (rangeTransport) {
-        networkStream = new _transport_stream.PDFDataTransportStream({
-          length: params.length,
-          initialData: params.initialData,
-          progressiveDone: params.progressiveDone,
-          disableRange: params.disableRange,
-          disableStream: params.disableStream
-        }, rangeTransport);
-      } else if (!params.data) {
-        networkStream = createPDFNetworkStream({
-          url: params.url,
-          length: params.length,
-          httpHeaders: params.httpHeaders,
-          withCredentials: params.withCredentials,
-          rangeChunkSize: params.rangeChunkSize,
-          disableRange: params.disableRange,
-          disableStream: params.disableStream
-        });
-      }
-
-      var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
-      messageHandler.postMessageTransfers = worker.postMessageTransfers;
-      var transport = new WorkerTransport(messageHandler, task, networkStream, params);
-      task._transport = transport;
-      messageHandler.send("Ready", null);
-    });
-  })["catch"](task._capability.reject);
-  return task;
-}
-
-function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
-  if (worker.destroyed) {
-    return Promise.reject(new Error("Worker was destroyed"));
-  }
-
-  if (pdfDataRangeTransport) {
-    source.length = pdfDataRangeTransport.length;
-    source.initialData = pdfDataRangeTransport.initialData;
-    source.progressiveDone = pdfDataRangeTransport.progressiveDone;
-  }
-
-  return worker.messageHandler.sendWithPromise("GetDocRequest", {
-    docId: docId,
-    apiVersion: '2.4.456',
-    source: {
-      data: source.data,
-      url: source.url,
-      password: source.password,
-      disableAutoFetch: source.disableAutoFetch,
-      rangeChunkSize: source.rangeChunkSize,
-      length: source.length
-    },
-    maxImageSize: source.maxImageSize,
-    disableFontFace: source.disableFontFace,
-    disableCreateObjectURL: source.disableCreateObjectURL,
-    postMessageTransfers: worker.postMessageTransfers,
-    docBaseUrl: source.docBaseUrl,
-    nativeImageDecoderSupport: source.nativeImageDecoderSupport,
-    ignoreErrors: source.ignoreErrors,
-    isEvalSupported: source.isEvalSupported
-  }).then(function (workerId) {
-    if (worker.destroyed) {
-      throw new Error("Worker was destroyed");
-    }
-
-    return workerId;
-  });
-}
-
-var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
-  var nextDocumentId = 0;
-
-  var PDFDocumentLoadingTask = /*#__PURE__*/function () {
-    function PDFDocumentLoadingTask() {
-      _classCallCheck(this, PDFDocumentLoadingTask);
-
-      this._capability = (0, _util.createPromiseCapability)();
-      this._transport = null;
-      this._worker = null;
-      this.docId = "d" + nextDocumentId++;
-      this.destroyed = false;
-      this.onPassword = null;
-      this.onProgress = null;
-      this.onUnsupportedFeature = null;
-    }
-
-    _createClass(PDFDocumentLoadingTask, [{
-      key: "destroy",
-      value: function destroy() {
-        var _this = this;
-
-        this.destroyed = true;
-        var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
-        return transportDestroyed.then(function () {
-          _this._transport = null;
-
-          if (_this._worker) {
-            _this._worker.destroy();
-
-            _this._worker = null;
-          }
-        });
-      }
-    }, {
-      key: "then",
-      value: function then(onFulfilled, onRejected) {
-        throw new Error("Removed API method: " + "PDFDocumentLoadingTask.then, use the `promise` getter instead.");
-      }
-    }, {
-      key: "promise",
-      get: function get() {
-        return this._capability.promise;
-      }
-    }]);
-
-    return PDFDocumentLoadingTask;
-  }();
-
-  return PDFDocumentLoadingTask;
-}();
-
-var PDFDataRangeTransport = /*#__PURE__*/function () {
-  function PDFDataRangeTransport(length, initialData) {
-    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    _classCallCheck(this, PDFDataRangeTransport);
-
-    this.length = length;
-    this.initialData = initialData;
-    this.progressiveDone = progressiveDone;
-    this._rangeListeners = [];
-    this._progressListeners = [];
-    this._progressiveReadListeners = [];
-    this._progressiveDoneListeners = [];
-    this._readyCapability = (0, _util.createPromiseCapability)();
-  }
-
-  _createClass(PDFDataRangeTransport, [{
-    key: "addRangeListener",
-    value: function addRangeListener(listener) {
-      this._rangeListeners.push(listener);
-    }
-  }, {
-    key: "addProgressListener",
-    value: function addProgressListener(listener) {
-      this._progressListeners.push(listener);
-    }
-  }, {
-    key: "addProgressiveReadListener",
-    value: function addProgressiveReadListener(listener) {
-      this._progressiveReadListeners.push(listener);
-    }
-  }, {
-    key: "addProgressiveDoneListener",
-    value: function addProgressiveDoneListener(listener) {
-      this._progressiveDoneListeners.push(listener);
-    }
-  }, {
-    key: "onDataRange",
-    value: function onDataRange(begin, chunk) {
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var listener = _step.value;
-          listener(begin, chunk);
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-    }
-  }, {
-    key: "onDataProgress",
-    value: function onDataProgress(loaded, total) {
-      var _this2 = this;
-
-      this._readyCapability.promise.then(function () {
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
-
-        try {
-          for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var listener = _step2.value;
-            listener(loaded, total);
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "onDataProgressiveRead",
-    value: function onDataProgressiveRead(chunk) {
-      var _this3 = this;
-
-      this._readyCapability.promise.then(function () {
-        var _iteratorNormalCompletion3 = true;
-        var _didIteratorError3 = false;
-        var _iteratorError3 = undefined;
-
-        try {
-          for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-            var listener = _step3.value;
-            listener(chunk);
-          }
-        } catch (err) {
-          _didIteratorError3 = true;
-          _iteratorError3 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-              _iterator3["return"]();
-            }
-          } finally {
-            if (_didIteratorError3) {
-              throw _iteratorError3;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "onDataProgressiveDone",
-    value: function onDataProgressiveDone() {
-      var _this4 = this;
-
-      this._readyCapability.promise.then(function () {
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
-
-        try {
-          for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var listener = _step4.value;
-            listener();
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "transportReady",
-    value: function transportReady() {
-      this._readyCapability.resolve();
-    }
-  }, {
-    key: "requestDataRange",
-    value: function requestDataRange(begin, end) {
-      (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
-    }
-  }, {
-    key: "abort",
-    value: function abort() {}
-  }]);
-
-  return PDFDataRangeTransport;
-}();
-
-exports.PDFDataRangeTransport = PDFDataRangeTransport;
-
-var PDFDocumentProxy = /*#__PURE__*/function () {
-  function PDFDocumentProxy(pdfInfo, transport) {
-    _classCallCheck(this, PDFDocumentProxy);
-
-    this._pdfInfo = pdfInfo;
-    this._transport = transport;
-  }
-
-  _createClass(PDFDocumentProxy, [{
-    key: "getPage",
-    value: function getPage(pageNumber) {
-      return this._transport.getPage(pageNumber);
-    }
-  }, {
-    key: "getPageIndex",
-    value: function getPageIndex(ref) {
-      return this._transport.getPageIndex(ref);
-    }
-  }, {
-    key: "getDestinations",
-    value: function getDestinations() {
-      return this._transport.getDestinations();
-    }
-  }, {
-    key: "getDestination",
-    value: function getDestination(id) {
-      return this._transport.getDestination(id);
-    }
-  }, {
-    key: "getPageLabels",
-    value: function getPageLabels() {
-      return this._transport.getPageLabels();
-    }
-  }, {
-    key: "getPageLayout",
-    value: function getPageLayout() {
-      return this._transport.getPageLayout();
-    }
-  }, {
-    key: "getPageMode",
-    value: function getPageMode() {
-      return this._transport.getPageMode();
-    }
-  }, {
-    key: "getViewerPreferences",
-    value: function getViewerPreferences() {
-      return this._transport.getViewerPreferences();
-    }
-  }, {
-    key: "getOpenAction",
-    value: function getOpenAction() {
-      return this._transport.getOpenAction();
-    }
-  }, {
-    key: "getOpenActionDestination",
-    value: function getOpenActionDestination() {
-      (0, _display_utils.deprecated)("getOpenActionDestination, use getOpenAction instead.");
-      return this.getOpenAction().then(function (openAction) {
-        return openAction && openAction.dest ? openAction.dest : null;
-      });
-    }
-  }, {
-    key: "getAttachments",
-    value: function getAttachments() {
-      return this._transport.getAttachments();
-    }
-  }, {
-    key: "getJavaScript",
-    value: function getJavaScript() {
-      return this._transport.getJavaScript();
-    }
-  }, {
-    key: "getOutline",
-    value: function getOutline() {
-      return this._transport.getOutline();
-    }
-  }, {
-    key: "getPermissions",
-    value: function getPermissions() {
-      return this._transport.getPermissions();
-    }
-  }, {
-    key: "getMetadata",
-    value: function getMetadata() {
-      return this._transport.getMetadata();
-    }
-  }, {
-    key: "getData",
-    value: function getData() {
-      return this._transport.getData();
-    }
-  }, {
-    key: "getDownloadInfo",
-    value: function getDownloadInfo() {
-      return this._transport.downloadInfoCapability.promise;
-    }
-  }, {
-    key: "getStats",
-    value: function getStats() {
-      return this._transport.getStats();
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      return this._transport.startCleanup();
-    }
-  }, {
-    key: "destroy",
-    value: function destroy() {
-      return this.loadingTask.destroy();
-    }
-  }, {
-    key: "numPages",
-    get: function get() {
-      return this._pdfInfo.numPages;
-    }
-  }, {
-    key: "fingerprint",
-    get: function get() {
-      return this._pdfInfo.fingerprint;
-    }
-  }, {
-    key: "loadingParams",
-    get: function get() {
-      return this._transport.loadingParams;
-    }
-  }, {
-    key: "loadingTask",
-    get: function get() {
-      return this._transport.loadingTask;
-    }
-  }]);
-
-  return PDFDocumentProxy;
-}();
-
-exports.PDFDocumentProxy = PDFDocumentProxy;
-
-var PDFPageProxy = /*#__PURE__*/function () {
-  function PDFPageProxy(pageIndex, pageInfo, transport) {
-    var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-
-    _classCallCheck(this, PDFPageProxy);
-
-    this._pageIndex = pageIndex;
-    this._pageInfo = pageInfo;
-    this._transport = transport;
-    this._stats = pdfBug ? new _display_utils.StatTimer() : null;
-    this._pdfBug = pdfBug;
-    this.commonObjs = transport.commonObjs;
-    this.objs = new PDFObjects();
-    this.cleanupAfterRender = false;
-    this.pendingCleanup = false;
-    this.intentStates = Object.create(null);
-    this.destroyed = false;
-  }
-
-  _createClass(PDFPageProxy, [{
-    key: "getViewport",
-    value: function getViewport() {
-      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          scale = _ref.scale,
-          _ref$rotation = _ref.rotation,
-          rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,
-          _ref$offsetX = _ref.offsetX,
-          offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,
-          _ref$offsetY = _ref.offsetY,
-          offsetY = _ref$offsetY === void 0 ? 0 : _ref$offsetY,
-          _ref$dontFlip = _ref.dontFlip,
-          dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;
-
-      if (arguments.length > 1 || typeof arguments[0] === "number") {
-        throw new Error("PDFPageProxy.getViewport is called with obsolete arguments.");
-      }
-
-      return new _display_utils.PageViewport({
-        viewBox: this.view,
-        scale: scale,
-        rotation: rotation,
-        offsetX: offsetX,
-        offsetY: offsetY,
-        dontFlip: dontFlip
-      });
-    }
-  }, {
-    key: "getAnnotations",
-    value: function getAnnotations() {
-      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref2$intent = _ref2.intent,
-          intent = _ref2$intent === void 0 ? null : _ref2$intent;
-
-      if (!this.annotationsPromise || this.annotationsIntent !== intent) {
-        this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);
-        this.annotationsIntent = intent;
-      }
-
-      return this.annotationsPromise;
-    }
-  }, {
-    key: "render",
-    value: function render(_ref3) {
-      var _this5 = this;
-
-      var canvasContext = _ref3.canvasContext,
-          viewport = _ref3.viewport,
-          _ref3$intent = _ref3.intent,
-          intent = _ref3$intent === void 0 ? "display" : _ref3$intent,
-          _ref3$enableWebGL = _ref3.enableWebGL,
-          enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,
-          _ref3$renderInteracti = _ref3.renderInteractiveForms,
-          renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,
-          _ref3$transform = _ref3.transform,
-          transform = _ref3$transform === void 0 ? null : _ref3$transform,
-          _ref3$imageLayer = _ref3.imageLayer,
-          imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,
-          _ref3$canvasFactory = _ref3.canvasFactory,
-          canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,
-          _ref3$background = _ref3.background,
-          background = _ref3$background === void 0 ? null : _ref3$background;
-
-      if (this._stats) {
-        this._stats.time("Overall");
-      }
-
-      var renderingIntent = intent === "print" ? "print" : "display";
-      this.pendingCleanup = false;
-
-      if (!this.intentStates[renderingIntent]) {
-        this.intentStates[renderingIntent] = Object.create(null);
-      }
-
-      var intentState = this.intentStates[renderingIntent];
-
-      if (intentState.streamReaderCancelTimeout) {
-        clearTimeout(intentState.streamReaderCancelTimeout);
-        intentState.streamReaderCancelTimeout = null;
-      }
-
-      var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
-      var webGLContext = new _webgl.WebGLContext({
-        enable: enableWebGL
-      });
-
-      if (!intentState.displayReadyCapability) {
-        intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
-        intentState.operatorList = {
-          fnArray: [],
-          argsArray: [],
-          lastChunk: false
-        };
-
-        if (this._stats) {
-          this._stats.time("Page Request");
-        }
-
-        this._pumpOperatorList({
-          pageIndex: this._pageIndex,
-          intent: renderingIntent,
-          renderInteractiveForms: renderInteractiveForms === true
-        });
-      }
-
-      var complete = function complete(error) {
-        var i = intentState.renderTasks.indexOf(internalRenderTask);
-
-        if (i >= 0) {
-          intentState.renderTasks.splice(i, 1);
-        }
-
-        if (_this5.cleanupAfterRender || renderingIntent === "print") {
-          _this5.pendingCleanup = true;
-        }
-
-        _this5._tryCleanup();
-
-        if (error) {
-          internalRenderTask.capability.reject(error);
-
-          _this5._abortOperatorList({
-            intentState: intentState,
-            reason: error
-          });
-        } else {
-          internalRenderTask.capability.resolve();
-        }
-
-        if (_this5._stats) {
-          _this5._stats.timeEnd("Rendering");
-
-          _this5._stats.timeEnd("Overall");
-        }
-      };
-
-      var internalRenderTask = new InternalRenderTask({
-        callback: complete,
-        params: {
-          canvasContext: canvasContext,
-          viewport: viewport,
-          transform: transform,
-          imageLayer: imageLayer,
-          background: background
-        },
-        objs: this.objs,
-        commonObjs: this.commonObjs,
-        operatorList: intentState.operatorList,
-        pageIndex: this._pageIndex,
-        canvasFactory: canvasFactoryInstance,
-        webGLContext: webGLContext,
-        useRequestAnimationFrame: renderingIntent !== "print",
-        pdfBug: this._pdfBug
-      });
-
-      if (!intentState.renderTasks) {
-        intentState.renderTasks = [];
-      }
-
-      intentState.renderTasks.push(internalRenderTask);
-      var renderTask = internalRenderTask.task;
-      intentState.displayReadyCapability.promise.then(function (transparency) {
-        if (_this5.pendingCleanup) {
-          complete();
-          return;
-        }
-
-        if (_this5._stats) {
-          _this5._stats.time("Rendering");
-        }
-
-        internalRenderTask.initializeGraphics(transparency);
-        internalRenderTask.operatorListChanged();
-      })["catch"](complete);
-      return renderTask;
-    }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList() {
-      function operatorListChanged() {
-        if (intentState.operatorList.lastChunk) {
-          intentState.opListReadCapability.resolve(intentState.operatorList);
-          var i = intentState.renderTasks.indexOf(opListTask);
-
-          if (i >= 0) {
-            intentState.renderTasks.splice(i, 1);
-          }
-        }
-      }
-
-      var renderingIntent = "oplist";
-
-      if (!this.intentStates[renderingIntent]) {
-        this.intentStates[renderingIntent] = Object.create(null);
-      }
-
-      var intentState = this.intentStates[renderingIntent];
-      var opListTask;
-
-      if (!intentState.opListReadCapability) {
-        opListTask = {};
-        opListTask.operatorListChanged = operatorListChanged;
-        intentState.opListReadCapability = (0, _util.createPromiseCapability)();
-        intentState.renderTasks = [];
-        intentState.renderTasks.push(opListTask);
-        intentState.operatorList = {
-          fnArray: [],
-          argsArray: [],
-          lastChunk: false
-        };
-
-        if (this._stats) {
-          this._stats.time("Page Request");
-        }
-
-        this._pumpOperatorList({
-          pageIndex: this._pageIndex,
-          intent: renderingIntent
-        });
-      }
-
-      return intentState.opListReadCapability.promise;
-    }
-  }, {
-    key: "streamTextContent",
-    value: function streamTextContent() {
-      var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref4$normalizeWhites = _ref4.normalizeWhitespace,
-          normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,
-          _ref4$disableCombineT = _ref4.disableCombineTextItems,
-          disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;
-
-      var TEXT_CONTENT_CHUNK_SIZE = 100;
-      return this._transport.messageHandler.sendWithStream("GetTextContent", {
-        pageIndex: this._pageIndex,
-        normalizeWhitespace: normalizeWhitespace === true,
-        combineTextItems: disableCombineTextItems !== true
-      }, {
-        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
-        size: function size(textContent) {
-          return textContent.items.length;
-        }
-      });
-    }
-  }, {
-    key: "getTextContent",
-    value: function getTextContent() {
-      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-      var readableStream = this.streamTextContent(params);
-      return new Promise(function (resolve, reject) {
-        function pump() {
-          reader.read().then(function (_ref5) {
-            var _textContent$items;
-
-            var value = _ref5.value,
-                done = _ref5.done;
-
-            if (done) {
-              resolve(textContent);
-              return;
-            }
-
-            Object.assign(textContent.styles, value.styles);
-
-            (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));
-
-            pump();
-          }, reject);
-        }
-
-        var reader = readableStream.getReader();
-        var textContent = {
-          items: [],
-          styles: Object.create(null)
-        };
-        pump();
-      });
-    }
-  }, {
-    key: "_destroy",
-    value: function _destroy() {
-      var _this6 = this;
-
-      this.destroyed = true;
-      this._transport.pageCache[this._pageIndex] = null;
-      var waitOn = [];
-      Object.keys(this.intentStates).forEach(function (intent) {
-        var intentState = _this6.intentStates[intent];
-
-        _this6._abortOperatorList({
-          intentState: intentState,
-          reason: new Error("Page was destroyed."),
-          force: true
-        });
-
-        if (intent === "oplist") {
-          return;
-        }
-
-        intentState.renderTasks.forEach(function (renderTask) {
-          var renderCompleted = renderTask.capability.promise["catch"](function () {});
-          waitOn.push(renderCompleted);
-          renderTask.cancel();
-        });
-      });
-      this.objs.clear();
-      this.annotationsPromise = null;
-      this.pendingCleanup = false;
-      return Promise.all(waitOn);
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      this.pendingCleanup = true;
-      return this._tryCleanup(resetStats);
-    }
-  }, {
-    key: "_tryCleanup",
-    value: function _tryCleanup() {
-      var _this7 = this;
-
-      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {
-        var intentState = _this7.intentStates[intent];
-        return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
-      })) {
-        return false;
-      }
-
-      Object.keys(this.intentStates).forEach(function (intent) {
-        delete _this7.intentStates[intent];
-      });
-      this.objs.clear();
-      this.annotationsPromise = null;
-
-      if (resetStats && this._stats) {
-        this._stats = new _display_utils.StatTimer();
-      }
-
-      this.pendingCleanup = false;
-      return true;
-    }
-  }, {
-    key: "_startRenderPage",
-    value: function _startRenderPage(transparency, intent) {
-      var intentState = this.intentStates[intent];
-
-      if (!intentState) {
-        return;
-      }
-
-      if (this._stats) {
-        this._stats.timeEnd("Page Request");
-      }
-
-      if (intentState.displayReadyCapability) {
-        intentState.displayReadyCapability.resolve(transparency);
-      }
-    }
-  }, {
-    key: "_renderPageChunk",
-    value: function _renderPageChunk(operatorListChunk, intentState) {
-      for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
-        intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
-        intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
-      }
-
-      intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
-
-      for (var _i = 0; _i < intentState.renderTasks.length; _i++) {
-        intentState.renderTasks[_i].operatorListChanged();
-      }
-
-      if (operatorListChunk.lastChunk) {
-        this._tryCleanup();
-      }
-    }
-  }, {
-    key: "_pumpOperatorList",
-    value: function _pumpOperatorList(args) {
-      var _this8 = this;
-
-      (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
-
-      var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);
-
-      var reader = readableStream.getReader();
-      var intentState = this.intentStates[args.intent];
-      intentState.streamReader = reader;
-
-      var pump = function pump() {
-        reader.read().then(function (_ref6) {
-          var value = _ref6.value,
-              done = _ref6.done;
-
-          if (done) {
-            intentState.streamReader = null;
-            return;
-          }
-
-          if (_this8._transport.destroyed) {
-            return;
-          }
-
-          _this8._renderPageChunk(value, intentState);
-
-          pump();
-        }, function (reason) {
-          intentState.streamReader = null;
-
-          if (_this8._transport.destroyed) {
-            return;
-          }
-
-          if (intentState.operatorList) {
-            intentState.operatorList.lastChunk = true;
-
-            for (var i = 0; i < intentState.renderTasks.length; i++) {
-              intentState.renderTasks[i].operatorListChanged();
-            }
-
-            _this8._tryCleanup();
-          }
-
-          if (intentState.displayReadyCapability) {
-            intentState.displayReadyCapability.reject(reason);
-          } else if (intentState.opListReadCapability) {
-            intentState.opListReadCapability.reject(reason);
-          } else {
-            throw reason;
-          }
-        });
-      };
-
-      pump();
-    }
-  }, {
-    key: "_abortOperatorList",
-    value: function _abortOperatorList(_ref7) {
-      var _this9 = this;
-
-      var intentState = _ref7.intentState,
-          reason = _ref7.reason,
-          _ref7$force = _ref7.force,
-          force = _ref7$force === void 0 ? false : _ref7$force;
-      (0, _util.assert)(reason instanceof Error || _typeof(reason) === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
-
-      if (!intentState.streamReader) {
-        return;
-      }
-
-      if (!force) {
-        if (intentState.renderTasks.length !== 0) {
-          return;
-        }
-
-        if (reason instanceof _display_utils.RenderingCancelledException) {
-          intentState.streamReaderCancelTimeout = setTimeout(function () {
-            _this9._abortOperatorList({
-              intentState: intentState,
-              reason: reason,
-              force: true
-            });
-
-            intentState.streamReaderCancelTimeout = null;
-          }, RENDERING_CANCELLED_TIMEOUT);
-          return;
-        }
-      }
-
-      intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
-      intentState.streamReader = null;
-
-      if (this._transport.destroyed) {
-        return;
-      }
-
-      Object.keys(this.intentStates).some(function (intent) {
-        if (_this9.intentStates[intent] === intentState) {
-          delete _this9.intentStates[intent];
-          return true;
-        }
-
-        return false;
-      });
-      this.cleanup();
-    }
-  }, {
-    key: "pageNumber",
-    get: function get() {
-      return this._pageIndex + 1;
-    }
-  }, {
-    key: "rotate",
-    get: function get() {
-      return this._pageInfo.rotate;
-    }
-  }, {
-    key: "ref",
-    get: function get() {
-      return this._pageInfo.ref;
-    }
-  }, {
-    key: "userUnit",
-    get: function get() {
-      return this._pageInfo.userUnit;
-    }
-  }, {
-    key: "view",
-    get: function get() {
-      return this._pageInfo.view;
-    }
-  }, {
-    key: "stats",
-    get: function get() {
-      return this._stats;
-    }
-  }]);
-
-  return PDFPageProxy;
-}();
-
-exports.PDFPageProxy = PDFPageProxy;
-
-var LoopbackPort = /*#__PURE__*/function () {
-  function LoopbackPort() {
-    var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
-    _classCallCheck(this, LoopbackPort);
-
-    this._listeners = [];
-    this._defer = defer;
-    this._deferred = Promise.resolve(undefined);
-  }
-
-  _createClass(LoopbackPort, [{
-    key: "postMessage",
-    value: function postMessage(obj, transfers) {
-      var _this10 = this;
-
-      function cloneValue(value) {
-        if (_typeof(value) !== "object" || value === null) {
-          return value;
-        }
-
-        if (cloned.has(value)) {
-          return cloned.get(value);
-        }
-
-        var buffer, result;
-
-        if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
-          var transferable = transfers && transfers.includes(buffer);
-
-          if (transferable) {
-            result = new value.constructor(buffer, value.byteOffset, value.byteLength);
-          } else {
-            result = new value.constructor(value);
-          }
-
-          cloned.set(value, result);
-          return result;
-        }
-
-        result = Array.isArray(value) ? [] : {};
-        cloned.set(value, result);
-
-        for (var i in value) {
-          var desc = void 0,
-              p = value;
-
-          while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
-            p = Object.getPrototypeOf(p);
-          }
-
-          if (typeof desc.value === "undefined") {
-            continue;
-          }
-
-          if (typeof desc.value === "function") {
-            if (value.hasOwnProperty && value.hasOwnProperty(i)) {
-              throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
-            }
-
-            continue;
-          }
-
-          result[i] = cloneValue(desc.value);
-        }
-
-        return result;
-      }
-
-      if (!this._defer) {
-        this._listeners.forEach(function (listener) {
-          listener.call(_this10, {
-            data: obj
-          });
-        });
-
-        return;
-      }
-
-      var cloned = new WeakMap();
-      var e = {
-        data: cloneValue(obj)
-      };
-
-      this._deferred.then(function () {
-        _this10._listeners.forEach(function (listener) {
-          listener.call(_this10, e);
-        });
-      });
-    }
-  }, {
-    key: "addEventListener",
-    value: function addEventListener(name, listener) {
-      this._listeners.push(listener);
-    }
-  }, {
-    key: "removeEventListener",
-    value: function removeEventListener(name, listener) {
-      var i = this._listeners.indexOf(listener);
-
-      this._listeners.splice(i, 1);
-    }
-  }, {
-    key: "terminate",
-    value: function terminate() {
-      this._listeners.length = 0;
-    }
-  }]);
-
-  return LoopbackPort;
-}();
-
-exports.LoopbackPort = LoopbackPort;
-
-var PDFWorker = function PDFWorkerClosure() {
-  var pdfWorkerPorts = new WeakMap();
-  var isWorkerDisabled = false;
-  var fallbackWorkerSrc;
-  var nextFakeWorkerId = 0;
-  var fakeWorkerCapability;
-
-  if (_is_node.isNodeJS && typeof require === "function") {
-    isWorkerDisabled = true;
-    fallbackWorkerSrc = "./pdf.worker.js";
-  } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object" && "currentScript" in document) {
-    var pdfjsFilePath = document.currentScript && document.currentScript.src;
-
-    if (pdfjsFilePath) {
-      fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
-    }
-  }
-
-  function _getWorkerSrc() {
-    if (_worker_options.GlobalWorkerOptions.workerSrc) {
-      return _worker_options.GlobalWorkerOptions.workerSrc;
-    }
-
-    if (typeof fallbackWorkerSrc !== "undefined") {
-      if (!_is_node.isNodeJS) {
-        (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
-      }
-
-      return fallbackWorkerSrc;
-    }
-
-    throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
-  }
-
-  function getMainThreadWorkerMessageHandler() {
-    var mainWorkerMessageHandler;
-
-    try {
-      mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;
-    } catch (ex) {}
-
-    return mainWorkerMessageHandler || null;
-  }
-
-  function setupFakeWorkerGlobal() {
-    if (fakeWorkerCapability) {
-      return fakeWorkerCapability.promise;
-    }
-
-    fakeWorkerCapability = (0, _util.createPromiseCapability)();
-
-    var loader = /*#__PURE__*/function () {
-      var _ref8 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var mainWorkerMessageHandler, worker;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
-
-                if (!mainWorkerMessageHandler) {
-                  _context.next = 3;
-                  break;
-                }
-
-                return _context.abrupt("return", mainWorkerMessageHandler);
-
-              case 3:
-                if (!(_is_node.isNodeJS && typeof require === "function")) {
-                  _context.next = 6;
-                  break;
-                }
-
-                worker = eval("require")(_getWorkerSrc());
-                return _context.abrupt("return", worker.WorkerMessageHandler);
-
-              case 6:
-                _context.next = 8;
-                return (0, _display_utils.loadScript)(_getWorkerSrc());
-
-              case 8:
-                return _context.abrupt("return", window.pdfjsWorker.WorkerMessageHandler);
-
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      return function loader() {
-        return _ref8.apply(this, arguments);
-      };
-    }();
-
-    loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
-    return fakeWorkerCapability.promise;
-  }
-
-  function createCDNWrapper(url) {
-    var wrapper = "importScripts('" + url + "');";
-    return URL.createObjectURL(new Blob([wrapper]));
-  }
-
-  var PDFWorker = /*#__PURE__*/function () {
-    function PDFWorker() {
-      var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref9$name = _ref9.name,
-          name = _ref9$name === void 0 ? null : _ref9$name,
-          _ref9$port = _ref9.port,
-          port = _ref9$port === void 0 ? null : _ref9$port,
-          _ref9$verbosity = _ref9.verbosity,
-          verbosity = _ref9$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref9$verbosity;
-
-      _classCallCheck(this, PDFWorker);
-
-      if (port && pdfWorkerPorts.has(port)) {
-        throw new Error("Cannot use more than one PDFWorker per port");
-      }
-
-      this.name = name;
-      this.destroyed = false;
-      this.postMessageTransfers = true;
-      this.verbosity = verbosity;
-      this._readyCapability = (0, _util.createPromiseCapability)();
-      this._port = null;
-      this._webWorker = null;
-      this._messageHandler = null;
-
-      if (port) {
-        pdfWorkerPorts.set(port, this);
-
-        this._initializeFromPort(port);
-
-        return;
-      }
-
-      this._initialize();
-    }
-
-    _createClass(PDFWorker, [{
-      key: "_initializeFromPort",
-      value: function _initializeFromPort(port) {
-        this._port = port;
-        this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
-
-        this._messageHandler.on("ready", function () {});
-
-        this._readyCapability.resolve();
-      }
-    }, {
-      key: "_initialize",
-      value: function _initialize() {
-        var _this11 = this;
-
-        if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
-          var workerSrc = _getWorkerSrc();
-
-          try {
-            if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
-              workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
-            }
-
-            var worker = new Worker(workerSrc);
-            var messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
-
-            var terminateEarly = function terminateEarly() {
-              worker.removeEventListener("error", onWorkerError);
-              messageHandler.destroy();
-              worker.terminate();
-
-              if (_this11.destroyed) {
-                _this11._readyCapability.reject(new Error("Worker was destroyed"));
-              } else {
-                _this11._setupFakeWorker();
-              }
-            };
-
-            var onWorkerError = function onWorkerError() {
-              if (!_this11._webWorker) {
-                terminateEarly();
-              }
-            };
-
-            worker.addEventListener("error", onWorkerError);
-            messageHandler.on("test", function (data) {
-              worker.removeEventListener("error", onWorkerError);
-
-              if (_this11.destroyed) {
-                terminateEarly();
-                return;
-              }
-
-              if (data) {
-                _this11._messageHandler = messageHandler;
-                _this11._port = worker;
-                _this11._webWorker = worker;
-
-                if (!data.supportTransfers) {
-                  _this11.postMessageTransfers = false;
-                }
-
-                _this11._readyCapability.resolve();
-
-                messageHandler.send("configure", {
-                  verbosity: _this11.verbosity
-                });
-              } else {
-                _this11._setupFakeWorker();
-
-                messageHandler.destroy();
-                worker.terminate();
-              }
-            });
-            messageHandler.on("ready", function (data) {
-              worker.removeEventListener("error", onWorkerError);
-
-              if (_this11.destroyed) {
-                terminateEarly();
-                return;
-              }
-
-              try {
-                sendTest();
-              } catch (e) {
-                _this11._setupFakeWorker();
-              }
-            });
-
-            var sendTest = function sendTest() {
-              var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);
-
-              try {
-                messageHandler.send("test", testObj, [testObj.buffer]);
-              } catch (ex) {
-                (0, _util.warn)("Cannot use postMessage transfers.");
-                testObj[0] = 0;
-                messageHandler.send("test", testObj);
-              }
-            };
-
-            sendTest();
-            return;
-          } catch (e) {
-            (0, _util.info)("The worker has been disabled.");
-          }
-        }
-
-        this._setupFakeWorker();
-      }
-    }, {
-      key: "_setupFakeWorker",
-      value: function _setupFakeWorker() {
-        var _this12 = this;
-
-        if (!isWorkerDisabled) {
-          (0, _util.warn)("Setting up fake worker.");
-          isWorkerDisabled = true;
-        }
-
-        setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
-          if (_this12.destroyed) {
-            _this12._readyCapability.reject(new Error("Worker was destroyed"));
-
-            return;
-          }
-
-          var port = new LoopbackPort();
-          _this12._port = port;
-          var id = "fake" + nextFakeWorkerId++;
-          var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
-          WorkerMessageHandler.setup(workerHandler, port);
-          var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
-          _this12._messageHandler = messageHandler;
-
-          _this12._readyCapability.resolve();
-
-          messageHandler.send("configure", {
-            verbosity: _this12.verbosity
-          });
-        })["catch"](function (reason) {
-          _this12._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
-        });
-      }
-    }, {
-      key: "destroy",
-      value: function destroy() {
-        this.destroyed = true;
-
-        if (this._webWorker) {
-          this._webWorker.terminate();
-
-          this._webWorker = null;
-        }
-
-        pdfWorkerPorts["delete"](this._port);
-        this._port = null;
-
-        if (this._messageHandler) {
-          this._messageHandler.destroy();
-
-          this._messageHandler = null;
-        }
-      }
-    }, {
-      key: "promise",
-      get: function get() {
-        return this._readyCapability.promise;
-      }
-    }, {
-      key: "port",
-      get: function get() {
-        return this._port;
-      }
-    }, {
-      key: "messageHandler",
-      get: function get() {
-        return this._messageHandler;
-      }
-    }], [{
-      key: "fromPort",
-      value: function fromPort(params) {
-        if (!params || !params.port) {
-          throw new Error("PDFWorker.fromPort - invalid method signature.");
-        }
-
-        if (pdfWorkerPorts.has(params.port)) {
-          return pdfWorkerPorts.get(params.port);
-        }
-
-        return new PDFWorker(params);
-      }
-    }, {
-      key: "getWorkerSrc",
-      value: function getWorkerSrc() {
-        return _getWorkerSrc();
-      }
-    }]);
-
-    return PDFWorker;
-  }();
-
-  return PDFWorker;
-}();
-
-exports.PDFWorker = PDFWorker;
-
-var WorkerTransport = /*#__PURE__*/function () {
-  function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
-    _classCallCheck(this, WorkerTransport);
-
-    this.messageHandler = messageHandler;
-    this.loadingTask = loadingTask;
-    this.commonObjs = new PDFObjects();
-    this.fontLoader = new _font_loader.FontLoader({
-      docId: loadingTask.docId,
-      onUnsupportedFeature: this._onUnsupportedFeature.bind(this)
-    });
-    this._params = params;
-    this.CMapReaderFactory = new params.CMapReaderFactory({
-      baseUrl: params.cMapUrl,
-      isCompressed: params.cMapPacked
-    });
-    this.destroyed = false;
-    this.destroyCapability = null;
-    this._passwordCapability = null;
-    this._networkStream = networkStream;
-    this._fullReader = null;
-    this._lastProgress = null;
-    this.pageCache = [];
-    this.pagePromises = [];
-    this.downloadInfoCapability = (0, _util.createPromiseCapability)();
-    this.setupMessageHandler();
-  }
-
-  _createClass(WorkerTransport, [{
-    key: "destroy",
-    value: function destroy() {
-      var _this13 = this;
-
-      if (this.destroyCapability) {
-        return this.destroyCapability.promise;
-      }
-
-      this.destroyed = true;
-      this.destroyCapability = (0, _util.createPromiseCapability)();
-
-      if (this._passwordCapability) {
-        this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
-      }
-
-      var waitOn = [];
-      this.pageCache.forEach(function (page) {
-        if (page) {
-          waitOn.push(page._destroy());
-        }
-      });
-      this.pageCache.length = 0;
-      this.pagePromises.length = 0;
-      var terminated = this.messageHandler.sendWithPromise("Terminate", null);
-      waitOn.push(terminated);
-      Promise.all(waitOn).then(function () {
-        _this13.fontLoader.clear();
-
-        if (_this13._networkStream) {
-          _this13._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
-        }
-
-        if (_this13.messageHandler) {
-          _this13.messageHandler.destroy();
-
-          _this13.messageHandler = null;
-        }
-
-        _this13.destroyCapability.resolve();
-      }, this.destroyCapability.reject);
-      return this.destroyCapability.promise;
-    }
-  }, {
-    key: "setupMessageHandler",
-    value: function setupMessageHandler() {
-      var _this14 = this;
-
-      var messageHandler = this.messageHandler,
-          loadingTask = this.loadingTask;
-      messageHandler.on("GetReader", function (data, sink) {
-        (0, _util.assert)(_this14._networkStream);
-        _this14._fullReader = _this14._networkStream.getFullReader();
-
-        _this14._fullReader.onProgress = function (evt) {
-          _this14._lastProgress = {
-            loaded: evt.loaded,
-            total: evt.total
-          };
-        };
-
-        sink.onPull = function () {
-          _this14._fullReader.read().then(function (_ref10) {
-            var value = _ref10.value,
-                done = _ref10.done;
-
-            if (done) {
-              sink.close();
-              return;
-            }
-
-            (0, _util.assert)((0, _util.isArrayBuffer)(value));
-            sink.enqueue(new Uint8Array(value), 1, [value]);
-          })["catch"](function (reason) {
-            sink.error(reason);
-          });
-        };
-
-        sink.onCancel = function (reason) {
-          _this14._fullReader.cancel(reason);
-        };
-      });
-      messageHandler.on("ReaderHeadersReady", function (data) {
-        var headersCapability = (0, _util.createPromiseCapability)();
-        var fullReader = _this14._fullReader;
-        fullReader.headersReady.then(function () {
-          if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
-            if (_this14._lastProgress && loadingTask.onProgress) {
-              loadingTask.onProgress(_this14._lastProgress);
-            }
-
-            fullReader.onProgress = function (evt) {
-              if (loadingTask.onProgress) {
-                loadingTask.onProgress({
-                  loaded: evt.loaded,
-                  total: evt.total
-                });
-              }
-            };
-          }
-
-          headersCapability.resolve({
-            isStreamingSupported: fullReader.isStreamingSupported,
-            isRangeSupported: fullReader.isRangeSupported,
-            contentLength: fullReader.contentLength
-          });
-        }, headersCapability.reject);
-        return headersCapability.promise;
-      });
-      messageHandler.on("GetRangeReader", function (data, sink) {
-        (0, _util.assert)(_this14._networkStream);
-
-        var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);
-
-        if (!rangeReader) {
-          sink.close();
-          return;
-        }
-
-        sink.onPull = function () {
-          rangeReader.read().then(function (_ref11) {
-            var value = _ref11.value,
-                done = _ref11.done;
-
-            if (done) {
-              sink.close();
-              return;
-            }
-
-            (0, _util.assert)((0, _util.isArrayBuffer)(value));
-            sink.enqueue(new Uint8Array(value), 1, [value]);
-          })["catch"](function (reason) {
-            sink.error(reason);
-          });
-        };
-
-        sink.onCancel = function (reason) {
-          rangeReader.cancel(reason);
-        };
-      });
-      messageHandler.on("GetDoc", function (_ref12) {
-        var pdfInfo = _ref12.pdfInfo;
-        _this14._numPages = pdfInfo.numPages;
-
-        loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));
-      });
-      messageHandler.on("DocException", function (ex) {
-        var reason;
-
-        switch (ex.name) {
-          case "PasswordException":
-            reason = new _util.PasswordException(ex.message, ex.code);
-            break;
-
-          case "InvalidPDFException":
-            reason = new _util.InvalidPDFException(ex.message);
-            break;
-
-          case "MissingPDFException":
-            reason = new _util.MissingPDFException(ex.message);
-            break;
-
-          case "UnexpectedResponseException":
-            reason = new _util.UnexpectedResponseException(ex.message, ex.status);
-            break;
-
-          case "UnknownErrorException":
-            reason = new _util.UnknownErrorException(ex.message, ex.details);
-            break;
-        }
-
-        loadingTask._capability.reject(reason);
-      });
-      messageHandler.on("PasswordRequest", function (exception) {
-        _this14._passwordCapability = (0, _util.createPromiseCapability)();
-
-        if (loadingTask.onPassword) {
-          var updatePassword = function updatePassword(password) {
-            _this14._passwordCapability.resolve({
-              password: password
-            });
-          };
-
-          try {
-            loadingTask.onPassword(updatePassword, exception.code);
-          } catch (ex) {
-            _this14._passwordCapability.reject(ex);
-          }
-        } else {
-          _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
-        }
-
-        return _this14._passwordCapability.promise;
-      });
-      messageHandler.on("DataLoaded", function (data) {
-        if (loadingTask.onProgress) {
-          loadingTask.onProgress({
-            loaded: data.length,
-            total: data.length
-          });
-        }
-
-        _this14.downloadInfoCapability.resolve(data);
-      });
-      messageHandler.on("StartRenderPage", function (data) {
-        if (_this14.destroyed) {
-          return;
-        }
-
-        var page = _this14.pageCache[data.pageIndex];
-
-        page._startRenderPage(data.transparency, data.intent);
-      });
-      messageHandler.on("commonobj", function (data) {
-        if (_this14.destroyed) {
-          return;
-        }
-
-        var _data = _slicedToArray(data, 3),
-            id = _data[0],
-            type = _data[1],
-            exportedData = _data[2];
-
-        if (_this14.commonObjs.has(id)) {
-          return;
-        }
-
-        switch (type) {
-          case "Font":
-            var params = _this14._params;
-
-            if ("error" in exportedData) {
-              var exportedError = exportedData.error;
-              (0, _util.warn)("Error during font loading: ".concat(exportedError));
-
-              _this14.commonObjs.resolve(id, exportedError);
-
-              break;
-            }
-
-            var fontRegistry = null;
-
-            if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {
-              fontRegistry = {
-                registerFont: function registerFont(font, url) {
-                  globalThis.FontInspector.fontAdded(font, url);
-                }
-              };
-            }
-
-            var font = new _font_loader.FontFaceObject(exportedData, {
-              isEvalSupported: params.isEvalSupported,
-              disableFontFace: params.disableFontFace,
-              ignoreErrors: params.ignoreErrors,
-              onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),
-              fontRegistry: fontRegistry
-            });
-
-            _this14.fontLoader.bind(font).then(function () {
-              _this14.commonObjs.resolve(id, font);
-            }, function (reason) {
-              messageHandler.sendWithPromise("FontFallback", {
-                id: id
-              })["finally"](function () {
-                _this14.commonObjs.resolve(id, font);
-              });
-            });
-
-            break;
-
-          case "FontPath":
-          case "FontType3Res":
-            _this14.commonObjs.resolve(id, exportedData);
-
-            break;
-
-          default:
-            throw new Error("Got unknown common object type ".concat(type));
-        }
-      });
-      messageHandler.on("obj", function (data) {
-        if (_this14.destroyed) {
-          return undefined;
-        }
-
-        var _data2 = _slicedToArray(data, 4),
-            id = _data2[0],
-            pageIndex = _data2[1],
-            type = _data2[2],
-            imageData = _data2[3];
-
-        var pageProxy = _this14.pageCache[pageIndex];
-
-        if (pageProxy.objs.has(id)) {
-          return undefined;
-        }
-
-        switch (type) {
-          case "JpegStream":
-            return new Promise(function (resolve, reject) {
-              var img = new Image();
-
-              img.onload = function () {
-                resolve(img);
-              };
-
-              img.onerror = function () {
-                reject(new Error("Error during JPEG image loading"));
-                (0, _display_utils.releaseImageResources)(img);
-              };
-
-              img.src = imageData;
-            }).then(function (img) {
-              pageProxy.objs.resolve(id, img);
-            });
-
-          case "Image":
-            pageProxy.objs.resolve(id, imageData);
-            var MAX_IMAGE_SIZE_TO_STORE = 8000000;
-
-            if (imageData && "data" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
-              pageProxy.cleanupAfterRender = true;
-            }
-
-            break;
-
-          default:
-            throw new Error("Got unknown object type ".concat(type));
-        }
-
-        return undefined;
-      });
-      messageHandler.on("DocProgress", function (data) {
-        if (_this14.destroyed) {
-          return;
-        }
-
-        if (loadingTask.onProgress) {
-          loadingTask.onProgress({
-            loaded: data.loaded,
-            total: data.total
-          });
-        }
-      });
-      messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
-      messageHandler.on("JpegDecode", function (data) {
-        if (_this14.destroyed) {
-          return Promise.reject(new Error("Worker was destroyed"));
-        }
-
-        if (typeof document === "undefined") {
-          return Promise.reject(new Error('"document" is not defined.'));
-        }
-
-        var _data3 = _slicedToArray(data, 2),
-            imageUrl = _data3[0],
-            components = _data3[1];
-
-        if (components !== 3 && components !== 1) {
-          return Promise.reject(new Error("Only 3 components or 1 component can be returned"));
-        }
-
-        return new Promise(function (resolve, reject) {
-          var img = new Image();
-
-          img.onload = function () {
-            var width = img.width,
-                height = img.height;
-            var size = width * height;
-            var rgbaLength = size * 4;
-            var buf = new Uint8ClampedArray(size * components);
-            var tmpCanvas = document.createElement("canvas");
-            tmpCanvas.width = width;
-            tmpCanvas.height = height;
-            var tmpCtx = tmpCanvas.getContext("2d");
-            tmpCtx.drawImage(img, 0, 0);
-            var data = tmpCtx.getImageData(0, 0, width, height).data;
-
-            if (components === 3) {
-              for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
-                buf[j] = data[i];
-                buf[j + 1] = data[i + 1];
-                buf[j + 2] = data[i + 2];
-              }
-            } else if (components === 1) {
-              for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {
-                buf[_j] = data[_i2];
-              }
-            }
-
-            resolve({
-              data: buf,
-              width: width,
-              height: height
-            });
-            (0, _display_utils.releaseImageResources)(img);
-            tmpCanvas.width = 0;
-            tmpCanvas.height = 0;
-            tmpCanvas = null;
-            tmpCtx = null;
-          };
-
-          img.onerror = function () {
-            reject(new Error("JpegDecode failed to load image"));
-            (0, _display_utils.releaseImageResources)(img);
-          };
-
-          img.src = imageUrl;
-        });
-      });
-      messageHandler.on("FetchBuiltInCMap", function (data, sink) {
-        if (_this14.destroyed) {
-          sink.error(new Error("Worker was destroyed"));
-          return;
-        }
-
-        var fetched = false;
-
-        sink.onPull = function () {
-          if (fetched) {
-            sink.close();
-            return;
-          }
-
-          fetched = true;
-
-          _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
-            sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
-          })["catch"](function (reason) {
-            sink.error(reason);
-          });
-        };
-      });
-    }
-  }, {
-    key: "_onUnsupportedFeature",
-    value: function _onUnsupportedFeature(_ref13) {
-      var featureId = _ref13.featureId;
-
-      if (this.destroyed) {
-        return;
-      }
-
-      if (this.loadingTask.onUnsupportedFeature) {
-        this.loadingTask.onUnsupportedFeature(featureId);
-      }
-    }
-  }, {
-    key: "getData",
-    value: function getData() {
-      return this.messageHandler.sendWithPromise("GetData", null);
-    }
-  }, {
-    key: "getPage",
-    value: function getPage(pageNumber) {
-      var _this15 = this;
-
-      if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
-        return Promise.reject(new Error("Invalid page request"));
-      }
-
-      var pageIndex = pageNumber - 1;
-
-      if (pageIndex in this.pagePromises) {
-        return this.pagePromises[pageIndex];
-      }
-
-      var promise = this.messageHandler.sendWithPromise("GetPage", {
-        pageIndex: pageIndex
-      }).then(function (pageInfo) {
-        if (_this15.destroyed) {
-          throw new Error("Transport destroyed");
-        }
-
-        var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);
-        _this15.pageCache[pageIndex] = page;
-        return page;
-      });
-      this.pagePromises[pageIndex] = promise;
-      return promise;
-    }
-  }, {
-    key: "getPageIndex",
-    value: function getPageIndex(ref) {
-      return this.messageHandler.sendWithPromise("GetPageIndex", {
-        ref: ref
-      })["catch"](function (reason) {
-        return Promise.reject(new Error(reason));
-      });
-    }
-  }, {
-    key: "getAnnotations",
-    value: function getAnnotations(pageIndex, intent) {
-      return this.messageHandler.sendWithPromise("GetAnnotations", {
-        pageIndex: pageIndex,
-        intent: intent
-      });
-    }
-  }, {
-    key: "getDestinations",
-    value: function getDestinations() {
-      return this.messageHandler.sendWithPromise("GetDestinations", null);
-    }
-  }, {
-    key: "getDestination",
-    value: function getDestination(id) {
-      if (typeof id !== "string") {
-        return Promise.reject(new Error("Invalid destination request."));
-      }
-
-      return this.messageHandler.sendWithPromise("GetDestination", {
-        id: id
-      });
-    }
-  }, {
-    key: "getPageLabels",
-    value: function getPageLabels() {
-      return this.messageHandler.sendWithPromise("GetPageLabels", null);
-    }
-  }, {
-    key: "getPageLayout",
-    value: function getPageLayout() {
-      return this.messageHandler.sendWithPromise("GetPageLayout", null);
-    }
-  }, {
-    key: "getPageMode",
-    value: function getPageMode() {
-      return this.messageHandler.sendWithPromise("GetPageMode", null);
-    }
-  }, {
-    key: "getViewerPreferences",
-    value: function getViewerPreferences() {
-      return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
-    }
-  }, {
-    key: "getOpenAction",
-    value: function getOpenAction() {
-      return this.messageHandler.sendWithPromise("GetOpenAction", null);
-    }
-  }, {
-    key: "getAttachments",
-    value: function getAttachments() {
-      return this.messageHandler.sendWithPromise("GetAttachments", null);
-    }
-  }, {
-    key: "getJavaScript",
-    value: function getJavaScript() {
-      return this.messageHandler.sendWithPromise("GetJavaScript", null);
-    }
-  }, {
-    key: "getOutline",
-    value: function getOutline() {
-      return this.messageHandler.sendWithPromise("GetOutline", null);
-    }
-  }, {
-    key: "getPermissions",
-    value: function getPermissions() {
-      return this.messageHandler.sendWithPromise("GetPermissions", null);
-    }
-  }, {
-    key: "getMetadata",
-    value: function getMetadata() {
-      var _this16 = this;
-
-      return this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) {
-        return {
-          info: results[0],
-          metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
-          contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null
-        };
-      });
-    }
-  }, {
-    key: "getStats",
-    value: function getStats() {
-      return this.messageHandler.sendWithPromise("GetStats", null);
-    }
-  }, {
-    key: "startCleanup",
-    value: function startCleanup() {
-      var _this17 = this;
-
-      return this.messageHandler.sendWithPromise("Cleanup", null).then(function () {
-        for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {
-          var page = _this17.pageCache[i];
-
-          if (page) {
-            var cleanupSuccessful = page.cleanup();
-
-            if (!cleanupSuccessful) {
-              throw new Error("startCleanup: Page ".concat(i + 1, " is currently rendering."));
-            }
-          }
-        }
-
-        _this17.commonObjs.clear();
-
-        _this17.fontLoader.clear();
-      });
-    }
-  }, {
-    key: "loadingParams",
-    get: function get() {
-      var params = this._params;
-      return (0, _util.shadow)(this, "loadingParams", {
-        disableAutoFetch: params.disableAutoFetch,
-        disableCreateObjectURL: params.disableCreateObjectURL,
-        disableFontFace: params.disableFontFace,
-        nativeImageDecoderSupport: params.nativeImageDecoderSupport
-      });
-    }
-  }]);
-
-  return WorkerTransport;
-}();
-
-var PDFObjects = /*#__PURE__*/function () {
-  function PDFObjects() {
-    _classCallCheck(this, PDFObjects);
-
-    this._objs = Object.create(null);
-  }
-
-  _createClass(PDFObjects, [{
-    key: "_ensureObj",
-    value: function _ensureObj(objId) {
-      if (this._objs[objId]) {
-        return this._objs[objId];
-      }
-
-      return this._objs[objId] = {
-        capability: (0, _util.createPromiseCapability)(),
-        data: null,
-        resolved: false
-      };
-    }
-  }, {
-    key: "get",
-    value: function get(objId) {
-      var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-
-      if (callback) {
-        this._ensureObj(objId).capability.promise.then(callback);
-
-        return null;
-      }
-
-      var obj = this._objs[objId];
-
-      if (!obj || !obj.resolved) {
-        throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
-      }
-
-      return obj.data;
-    }
-  }, {
-    key: "has",
-    value: function has(objId) {
-      var obj = this._objs[objId];
-      return obj ? obj.resolved : false;
-    }
-  }, {
-    key: "resolve",
-    value: function resolve(objId, data) {
-      var obj = this._ensureObj(objId);
-
-      obj.resolved = true;
-      obj.data = data;
-      obj.capability.resolve(data);
-    }
-  }, {
-    key: "clear",
-    value: function clear() {
-      for (var objId in this._objs) {
-        var data = this._objs[objId].data;
-
-        if (typeof Image !== "undefined" && data instanceof Image) {
-          (0, _display_utils.releaseImageResources)(data);
-        }
-      }
-
-      this._objs = Object.create(null);
-    }
-  }]);
-
-  return PDFObjects;
-}();
-
-var RenderTask = /*#__PURE__*/function () {
-  function RenderTask(internalRenderTask) {
-    _classCallCheck(this, RenderTask);
-
-    this._internalRenderTask = internalRenderTask;
-    this.onContinue = null;
-  }
-
-  _createClass(RenderTask, [{
-    key: "cancel",
-    value: function cancel() {
-      this._internalRenderTask.cancel();
-    }
-  }, {
-    key: "then",
-    value: function then(onFulfilled, onRejected) {
-      throw new Error("Removed API method: " + "RenderTask.then, use the `promise` getter instead.");
-    }
-  }, {
-    key: "promise",
-    get: function get() {
-      return this._internalRenderTask.capability.promise;
-    }
-  }]);
-
-  return RenderTask;
-}();
-
-var InternalRenderTask = function InternalRenderTaskClosure() {
-  var canvasInRendering = new WeakSet();
-
-  var InternalRenderTask = /*#__PURE__*/function () {
-    function InternalRenderTask(_ref14) {
-      var callback = _ref14.callback,
-          params = _ref14.params,
-          objs = _ref14.objs,
-          commonObjs = _ref14.commonObjs,
-          operatorList = _ref14.operatorList,
-          pageIndex = _ref14.pageIndex,
-          canvasFactory = _ref14.canvasFactory,
-          webGLContext = _ref14.webGLContext,
-          _ref14$useRequestAnim = _ref14.useRequestAnimationFrame,
-          useRequestAnimationFrame = _ref14$useRequestAnim === void 0 ? false : _ref14$useRequestAnim,
-          _ref14$pdfBug = _ref14.pdfBug,
-          pdfBug = _ref14$pdfBug === void 0 ? false : _ref14$pdfBug;
-
-      _classCallCheck(this, InternalRenderTask);
-
-      this.callback = callback;
-      this.params = params;
-      this.objs = objs;
-      this.commonObjs = commonObjs;
-      this.operatorListIdx = null;
-      this.operatorList = operatorList;
-      this._pageIndex = pageIndex;
-      this.canvasFactory = canvasFactory;
-      this.webGLContext = webGLContext;
-      this._pdfBug = pdfBug;
-      this.running = false;
-      this.graphicsReadyCallback = null;
-      this.graphicsReady = false;
-      this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
-      this.cancelled = false;
-      this.capability = (0, _util.createPromiseCapability)();
-      this.task = new RenderTask(this);
-      this._continueBound = this._continue.bind(this);
-      this._scheduleNextBound = this._scheduleNext.bind(this);
-      this._nextBound = this._next.bind(this);
-      this._canvas = params.canvasContext.canvas;
-    }
-
-    _createClass(InternalRenderTask, [{
-      key: "initializeGraphics",
-      value: function initializeGraphics() {
-        var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-        if (this.cancelled) {
-          return;
-        }
-
-        if (this._canvas) {
-          if (canvasInRendering.has(this._canvas)) {
-            throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
-          }
-
-          canvasInRendering.add(this._canvas);
-        }
-
-        if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {
-          this.stepper = globalThis.StepperManager.create(this._pageIndex);
-          this.stepper.init(this.operatorList);
-          this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
-        }
-
-        var _this$params = this.params,
-            canvasContext = _this$params.canvasContext,
-            viewport = _this$params.viewport,
-            transform = _this$params.transform,
-            imageLayer = _this$params.imageLayer,
-            background = _this$params.background;
-        this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);
-        this.gfx.beginDrawing({
-          transform: transform,
-          viewport: viewport,
-          transparency: transparency,
-          background: background
-        });
-        this.operatorListIdx = 0;
-        this.graphicsReady = true;
-
-        if (this.graphicsReadyCallback) {
-          this.graphicsReadyCallback();
-        }
-      }
-    }, {
-      key: "cancel",
-      value: function cancel() {
-        var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-        this.running = false;
-        this.cancelled = true;
-
-        if (this.gfx) {
-          this.gfx.endDrawing();
-        }
-
-        if (this._canvas) {
-          canvasInRendering["delete"](this._canvas);
-        }
-
-        this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas"));
-      }
-    }, {
-      key: "operatorListChanged",
-      value: function operatorListChanged() {
-        if (!this.graphicsReady) {
-          if (!this.graphicsReadyCallback) {
-            this.graphicsReadyCallback = this._continueBound;
-          }
-
-          return;
-        }
-
-        if (this.stepper) {
-          this.stepper.updateOperatorList(this.operatorList);
-        }
-
-        if (this.running) {
-          return;
-        }
-
-        this._continue();
-      }
-    }, {
-      key: "_continue",
-      value: function _continue() {
-        this.running = true;
-
-        if (this.cancelled) {
-          return;
-        }
-
-        if (this.task.onContinue) {
-          this.task.onContinue(this._scheduleNextBound);
-        } else {
-          this._scheduleNext();
-        }
-      }
-    }, {
-      key: "_scheduleNext",
-      value: function _scheduleNext() {
-        var _this18 = this;
-
-        if (this._useRequestAnimationFrame) {
-          window.requestAnimationFrame(function () {
-            _this18._nextBound()["catch"](_this18.cancel.bind(_this18));
-          });
-        } else {
-          Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
-        }
-      }
-    }, {
-      key: "_next",
-      value: function () {
-        var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-          return _regenerator["default"].wrap(function _callee2$(_context2) {
-            while (1) {
-              switch (_context2.prev = _context2.next) {
-                case 0:
-                  if (!this.cancelled) {
-                    _context2.next = 2;
-                    break;
-                  }
-
-                  return _context2.abrupt("return");
-
-                case 2:
-                  this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
-
-                  if (this.operatorListIdx === this.operatorList.argsArray.length) {
-                    this.running = false;
-
-                    if (this.operatorList.lastChunk) {
-                      this.gfx.endDrawing();
-
-                      if (this._canvas) {
-                        canvasInRendering["delete"](this._canvas);
-                      }
-
-                      this.callback();
-                    }
-                  }
-
-                case 4:
-                case "end":
-                  return _context2.stop();
-              }
-            }
-          }, _callee2, this);
-        }));
-
-        function _next() {
-          return _next2.apply(this, arguments);
-        }
-
-        return _next;
-      }()
-    }]);
-
-    return InternalRenderTask;
-  }();
-
-  return InternalRenderTask;
-}();
-
-var version = '2.4.456';
-exports.version = version;
-var build = '228a591c';
-exports.build = build;
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = __w_pdfjs_require__(192);
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var runtime = function (exports) {
-  "use strict";
-
-  var Op = Object.prototype;
-  var hasOwn = Op.hasOwnProperty;
-  var undefined;
-  var $Symbol = typeof Symbol === "function" ? Symbol : {};
-  var iteratorSymbol = $Symbol.iterator || "@@iterator";
-  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
-  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
-  function wrap(innerFn, outerFn, self, tryLocsList) {
-    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
-    var generator = Object.create(protoGenerator.prototype);
-    var context = new Context(tryLocsList || []);
-    generator._invoke = makeInvokeMethod(innerFn, self, context);
-    return generator;
-  }
-
-  exports.wrap = wrap;
-
-  function tryCatch(fn, obj, arg) {
-    try {
-      return {
-        type: "normal",
-        arg: fn.call(obj, arg)
-      };
-    } catch (err) {
-      return {
-        type: "throw",
-        arg: err
-      };
-    }
-  }
-
-  var GenStateSuspendedStart = "suspendedStart";
-  var GenStateSuspendedYield = "suspendedYield";
-  var GenStateExecuting = "executing";
-  var GenStateCompleted = "completed";
-  var ContinueSentinel = {};
-
-  function Generator() {}
-
-  function GeneratorFunction() {}
-
-  function GeneratorFunctionPrototype() {}
-
-  var IteratorPrototype = {};
-
-  IteratorPrototype[iteratorSymbol] = function () {
-    return this;
-  };
-
-  var getProto = Object.getPrototypeOf;
-  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-
-  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
-    IteratorPrototype = NativeIteratorPrototype;
-  }
-
-  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
-  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
-  GeneratorFunctionPrototype.constructor = GeneratorFunction;
-  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
-
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function (method) {
-      prototype[method] = function (arg) {
-        return this._invoke(method, arg);
-      };
-    });
-  }
-
-  exports.isGeneratorFunction = function (genFun) {
-    var ctor = typeof genFun === "function" && genFun.constructor;
-    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
-  };
-
-  exports.mark = function (genFun) {
-    if (Object.setPrototypeOf) {
-      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
-    } else {
-      genFun.__proto__ = GeneratorFunctionPrototype;
-
-      if (!(toStringTagSymbol in genFun)) {
-        genFun[toStringTagSymbol] = "GeneratorFunction";
-      }
-    }
-
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
-
-  exports.awrap = function (arg) {
-    return {
-      __await: arg
-    };
-  };
-
-  function AsyncIterator(generator, PromiseImpl) {
-    function invoke(method, arg, resolve, reject) {
-      var record = tryCatch(generator[method], generator, arg);
-
-      if (record.type === "throw") {
-        reject(record.arg);
-      } else {
-        var result = record.arg;
-        var value = result.value;
-
-        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
-          return PromiseImpl.resolve(value.__await).then(function (value) {
-            invoke("next", value, resolve, reject);
-          }, function (err) {
-            invoke("throw", err, resolve, reject);
-          });
-        }
-
-        return PromiseImpl.resolve(value).then(function (unwrapped) {
-          result.value = unwrapped;
-          resolve(result);
-        }, function (error) {
-          return invoke("throw", error, resolve, reject);
-        });
-      }
-    }
-
-    var previousPromise;
-
-    function enqueue(method, arg) {
-      function callInvokeWithMethodAndArg() {
-        return new PromiseImpl(function (resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
-      }
-
-      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
-    }
-
-    this._invoke = enqueue;
-  }
-
-  defineIteratorMethods(AsyncIterator.prototype);
-
-  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
-    return this;
-  };
-
-  exports.AsyncIterator = AsyncIterator;
-
-  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
-    if (PromiseImpl === void 0) PromiseImpl = Promise;
-    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
-    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
-      return result.done ? result.value : iter.next();
-    });
-  };
-
-  function makeInvokeMethod(innerFn, self, context) {
-    var state = GenStateSuspendedStart;
-    return function invoke(method, arg) {
-      if (state === GenStateExecuting) {
-        throw new Error("Generator is already running");
-      }
-
-      if (state === GenStateCompleted) {
-        if (method === "throw") {
-          throw arg;
-        }
-
-        return doneResult();
-      }
-
-      context.method = method;
-      context.arg = arg;
-
-      while (true) {
-        var delegate = context.delegate;
-
-        if (delegate) {
-          var delegateResult = maybeInvokeDelegate(delegate, context);
-
-          if (delegateResult) {
-            if (delegateResult === ContinueSentinel) continue;
-            return delegateResult;
-          }
-        }
-
-        if (context.method === "next") {
-          context.sent = context._sent = context.arg;
-        } else if (context.method === "throw") {
-          if (state === GenStateSuspendedStart) {
-            state = GenStateCompleted;
-            throw context.arg;
-          }
-
-          context.dispatchException(context.arg);
-        } else if (context.method === "return") {
-          context.abrupt("return", context.arg);
-        }
-
-        state = GenStateExecuting;
-        var record = tryCatch(innerFn, self, context);
-
-        if (record.type === "normal") {
-          state = context.done ? GenStateCompleted : GenStateSuspendedYield;
-
-          if (record.arg === ContinueSentinel) {
-            continue;
-          }
-
-          return {
-            value: record.arg,
-            done: context.done
-          };
-        } else if (record.type === "throw") {
-          state = GenStateCompleted;
-          context.method = "throw";
-          context.arg = record.arg;
-        }
-      }
-    };
-  }
-
-  function maybeInvokeDelegate(delegate, context) {
-    var method = delegate.iterator[context.method];
-
-    if (method === undefined) {
-      context.delegate = null;
-
-      if (context.method === "throw") {
-        if (delegate.iterator["return"]) {
-          context.method = "return";
-          context.arg = undefined;
-          maybeInvokeDelegate(delegate, context);
-
-          if (context.method === "throw") {
-            return ContinueSentinel;
-          }
-        }
-
-        context.method = "throw";
-        context.arg = new TypeError("The iterator does not provide a 'throw' method");
-      }
-
-      return ContinueSentinel;
-    }
-
-    var record = tryCatch(method, delegate.iterator, context.arg);
-
-    if (record.type === "throw") {
-      context.method = "throw";
-      context.arg = record.arg;
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    var info = record.arg;
-
-    if (!info) {
-      context.method = "throw";
-      context.arg = new TypeError("iterator result is not an object");
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    if (info.done) {
-      context[delegate.resultName] = info.value;
-      context.next = delegate.nextLoc;
-
-      if (context.method !== "return") {
-        context.method = "next";
-        context.arg = undefined;
-      }
-    } else {
-      return info;
-    }
-
-    context.delegate = null;
-    return ContinueSentinel;
-  }
-
-  defineIteratorMethods(Gp);
-  Gp[toStringTagSymbol] = "Generator";
-
-  Gp[iteratorSymbol] = function () {
-    return this;
-  };
-
-  Gp.toString = function () {
-    return "[object Generator]";
-  };
-
-  function pushTryEntry(locs) {
-    var entry = {
-      tryLoc: locs[0]
-    };
-
-    if (1 in locs) {
-      entry.catchLoc = locs[1];
-    }
-
-    if (2 in locs) {
-      entry.finallyLoc = locs[2];
-      entry.afterLoc = locs[3];
-    }
-
-    this.tryEntries.push(entry);
-  }
-
-  function resetTryEntry(entry) {
-    var record = entry.completion || {};
-    record.type = "normal";
-    delete record.arg;
-    entry.completion = record;
-  }
-
-  function Context(tryLocsList) {
-    this.tryEntries = [{
-      tryLoc: "root"
-    }];
-    tryLocsList.forEach(pushTryEntry, this);
-    this.reset(true);
-  }
-
-  exports.keys = function (object) {
-    var keys = [];
-
-    for (var key in object) {
-      keys.push(key);
-    }
-
-    keys.reverse();
-    return function next() {
-      while (keys.length) {
-        var key = keys.pop();
-
-        if (key in object) {
-          next.value = key;
-          next.done = false;
-          return next;
-        }
-      }
-
-      next.done = true;
-      return next;
-    };
-  };
-
-  function values(iterable) {
-    if (iterable) {
-      var iteratorMethod = iterable[iteratorSymbol];
-
-      if (iteratorMethod) {
-        return iteratorMethod.call(iterable);
-      }
-
-      if (typeof iterable.next === "function") {
-        return iterable;
-      }
-
-      if (!isNaN(iterable.length)) {
-        var i = -1,
-            next = function next() {
-          while (++i < iterable.length) {
-            if (hasOwn.call(iterable, i)) {
-              next.value = iterable[i];
-              next.done = false;
-              return next;
-            }
-          }
-
-          next.value = undefined;
-          next.done = true;
-          return next;
-        };
-
-        return next.next = next;
-      }
-    }
-
-    return {
-      next: doneResult
-    };
-  }
-
-  exports.values = values;
-
-  function doneResult() {
-    return {
-      value: undefined,
-      done: true
-    };
-  }
-
-  Context.prototype = {
-    constructor: Context,
-    reset: function reset(skipTempReset) {
-      this.prev = 0;
-      this.next = 0;
-      this.sent = this._sent = undefined;
-      this.done = false;
-      this.delegate = null;
-      this.method = "next";
-      this.arg = undefined;
-      this.tryEntries.forEach(resetTryEntry);
-
-      if (!skipTempReset) {
-        for (var name in this) {
-          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
-            this[name] = undefined;
-          }
-        }
-      }
-    },
-    stop: function stop() {
-      this.done = true;
-      var rootEntry = this.tryEntries[0];
-      var rootRecord = rootEntry.completion;
-
-      if (rootRecord.type === "throw") {
-        throw rootRecord.arg;
-      }
-
-      return this.rval;
-    },
-    dispatchException: function dispatchException(exception) {
-      if (this.done) {
-        throw exception;
-      }
-
-      var context = this;
-
-      function handle(loc, caught) {
-        record.type = "throw";
-        record.arg = exception;
-        context.next = loc;
-
-        if (caught) {
-          context.method = "next";
-          context.arg = undefined;
-        }
-
-        return !!caught;
-      }
-
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        var record = entry.completion;
-
-        if (entry.tryLoc === "root") {
-          return handle("end");
-        }
-
-        if (entry.tryLoc <= this.prev) {
-          var hasCatch = hasOwn.call(entry, "catchLoc");
-          var hasFinally = hasOwn.call(entry, "finallyLoc");
-
-          if (hasCatch && hasFinally) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            } else if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-          } else if (hasCatch) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            }
-          } else if (hasFinally) {
-            if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-          } else {
-            throw new Error("try statement without catch or finally");
-          }
-        }
-      }
-    },
-    abrupt: function abrupt(type, arg) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
-          var finallyEntry = entry;
-          break;
-        }
-      }
-
-      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
-        finallyEntry = null;
-      }
-
-      var record = finallyEntry ? finallyEntry.completion : {};
-      record.type = type;
-      record.arg = arg;
-
-      if (finallyEntry) {
-        this.method = "next";
-        this.next = finallyEntry.finallyLoc;
-        return ContinueSentinel;
-      }
-
-      return this.complete(record);
-    },
-    complete: function complete(record, afterLoc) {
-      if (record.type === "throw") {
-        throw record.arg;
-      }
-
-      if (record.type === "break" || record.type === "continue") {
-        this.next = record.arg;
-      } else if (record.type === "return") {
-        this.rval = this.arg = record.arg;
-        this.method = "return";
-        this.next = "end";
-      } else if (record.type === "normal" && afterLoc) {
-        this.next = afterLoc;
-      }
-
-      return ContinueSentinel;
-    },
-    finish: function finish(finallyLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.finallyLoc === finallyLoc) {
-          this.complete(entry.completion, entry.afterLoc);
-          resetTryEntry(entry);
-          return ContinueSentinel;
-        }
-      }
-    },
-    "catch": function _catch(tryLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.tryLoc === tryLoc) {
-          var record = entry.completion;
-
-          if (record.type === "throw") {
-            var thrown = record.arg;
-            resetTryEntry(entry);
-          }
-
-          return thrown;
-        }
-      }
-
-      throw new Error("illegal catch attempt");
-    },
-    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
-      this.delegate = {
-        iterator: values(iterable),
-        resultName: resultName,
-        nextLoc: nextLoc
-      };
-
-      if (this.method === "next") {
-        this.arg = undefined;
-      }
-
-      return ContinueSentinel;
-    }
-  };
-  return exports;
-}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});
-
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(193)(module)))
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = function (module) {
-  if (!module.webpackPolyfill) {
-    module.deprecate = function () {};
-
-    module.paths = [];
-    if (!module.children) module.children = [];
-    Object.defineProperty(module, "loaded", {
-      enumerable: true,
-      get: function get() {
-        return module.l;
-      }
-    });
-    Object.defineProperty(module, "id", {
-      enumerable: true,
-      get: function get() {
-        return module.i;
-      }
-    });
-    module.webpackPolyfill = 1;
-  }
-
-  return module;
-};
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.addLinkAttributes = addLinkAttributes;
-exports.getFilenameFromUrl = getFilenameFromUrl;
-exports.isFetchSupported = isFetchSupported;
-exports.isValidFetchUrl = isValidFetchUrl;
-exports.loadScript = loadScript;
-exports.deprecated = deprecated;
-exports.releaseImageResources = releaseImageResources;
-exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
-exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
-var SVG_NS = "http://www.w3.org/2000/svg";
-
-var DOMCanvasFactory = /*#__PURE__*/function () {
-  function DOMCanvasFactory() {
-    _classCallCheck(this, DOMCanvasFactory);
-  }
-
-  _createClass(DOMCanvasFactory, [{
-    key: "create",
-    value: function create(width, height) {
-      if (width <= 0 || height <= 0) {
-        throw new Error("Invalid canvas size");
-      }
-
-      var canvas = document.createElement("canvas");
-      var context = canvas.getContext("2d");
-      canvas.width = width;
-      canvas.height = height;
-      return {
-        canvas: canvas,
-        context: context
-      };
-    }
-  }, {
-    key: "reset",
-    value: function reset(canvasAndContext, width, height) {
-      if (!canvasAndContext.canvas) {
-        throw new Error("Canvas is not specified");
-      }
-
-      if (width <= 0 || height <= 0) {
-        throw new Error("Invalid canvas size");
-      }
-
-      canvasAndContext.canvas.width = width;
-      canvasAndContext.canvas.height = height;
-    }
-  }, {
-    key: "destroy",
-    value: function destroy(canvasAndContext) {
-      if (!canvasAndContext.canvas) {
-        throw new Error("Canvas is not specified");
-      }
-
-      canvasAndContext.canvas.width = 0;
-      canvasAndContext.canvas.height = 0;
-      canvasAndContext.canvas = null;
-      canvasAndContext.context = null;
-    }
-  }]);
-
-  return DOMCanvasFactory;
-}();
-
-exports.DOMCanvasFactory = DOMCanvasFactory;
-
-var DOMCMapReaderFactory = /*#__PURE__*/function () {
-  function DOMCMapReaderFactory(_ref) {
-    var _ref$baseUrl = _ref.baseUrl,
-        baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
-        _ref$isCompressed = _ref.isCompressed,
-        isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
-
-    _classCallCheck(this, DOMCMapReaderFactory);
-
-    this.baseUrl = baseUrl;
-    this.isCompressed = isCompressed;
-  }
-
-  _createClass(DOMCMapReaderFactory, [{
-    key: "fetch",
-    value: function (_fetch) {
-      function fetch(_x) {
-        return _fetch.apply(this, arguments);
-      }
-
-      fetch.toString = function () {
-        return _fetch.toString();
-      };
-
-      return fetch;
-    }( /*#__PURE__*/function () {
-      var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref3) {
-        var _this = this;
-
-        var name, url, compressionType;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                name = _ref3.name;
-
-                if (this.baseUrl) {
-                  _context2.next = 3;
-                  break;
-                }
-
-                throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');
-
-              case 3:
-                if (name) {
-                  _context2.next = 5;
-                  break;
-                }
-
-                throw new Error("CMap name must be specified.");
-
-              case 5:
-                url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
-                compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
-
-                if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {
-                  _context2.next = 9;
-                  break;
-                }
-
-                return _context2.abrupt("return", fetch(url).then( /*#__PURE__*/function () {
-                  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(response) {
-                    var cMapData;
-                    return _regenerator["default"].wrap(function _callee$(_context) {
-                      while (1) {
-                        switch (_context.prev = _context.next) {
-                          case 0:
-                            if (response.ok) {
-                              _context.next = 2;
-                              break;
-                            }
-
-                            throw new Error(response.statusText);
-
-                          case 2:
-                            if (!_this.isCompressed) {
-                              _context.next = 10;
-                              break;
-                            }
-
-                            _context.t0 = Uint8Array;
-                            _context.next = 6;
-                            return response.arrayBuffer();
-
-                          case 6:
-                            _context.t1 = _context.sent;
-                            cMapData = new _context.t0(_context.t1);
-                            _context.next = 15;
-                            break;
-
-                          case 10:
-                            _context.t2 = _util.stringToBytes;
-                            _context.next = 13;
-                            return response.text();
-
-                          case 13:
-                            _context.t3 = _context.sent;
-                            cMapData = (0, _context.t2)(_context.t3);
-
-                          case 15:
-                            return _context.abrupt("return", {
-                              cMapData: cMapData,
-                              compressionType: compressionType
-                            });
-
-                          case 16:
-                          case "end":
-                            return _context.stop();
-                        }
-                      }
-                    }, _callee);
-                  }));
-
-                  return function (_x3) {
-                    return _ref4.apply(this, arguments);
-                  };
-                }())["catch"](function (reason) {
-                  throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "") + "CMap at: ".concat(url));
-                }));
-
-              case 9:
-                return _context2.abrupt("return", new Promise(function (resolve, reject) {
-                  var request = new XMLHttpRequest();
-                  request.open("GET", url, true);
-
-                  if (_this.isCompressed) {
-                    request.responseType = "arraybuffer";
-                  }
-
-                  request.onreadystatechange = function () {
-                    if (request.readyState !== XMLHttpRequest.DONE) {
-                      return;
-                    }
-
-                    if (request.status === 200 || request.status === 0) {
-                      var cMapData;
-
-                      if (_this.isCompressed && request.response) {
-                        cMapData = new Uint8Array(request.response);
-                      } else if (!_this.isCompressed && request.responseText) {
-                        cMapData = (0, _util.stringToBytes)(request.responseText);
-                      }
-
-                      if (cMapData) {
-                        resolve({
-                          cMapData: cMapData,
-                          compressionType: compressionType
-                        });
-                        return;
-                      }
-                    }
-
-                    reject(new Error(request.statusText));
-                  };
-
-                  request.send(null);
-                })["catch"](function (reason) {
-                  throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "") + "CMap at: ".concat(url));
-                }));
-
-              case 10:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      return function (_x2) {
-        return _ref2.apply(this, arguments);
-      };
-    }())
-  }]);
-
-  return DOMCMapReaderFactory;
-}();
-
-exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
-
-var DOMSVGFactory = /*#__PURE__*/function () {
-  function DOMSVGFactory() {
-    _classCallCheck(this, DOMSVGFactory);
-  }
-
-  _createClass(DOMSVGFactory, [{
-    key: "create",
-    value: function create(width, height) {
-      (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions");
-      var svg = document.createElementNS(SVG_NS, "svg:svg");
-      svg.setAttribute("version", "1.1");
-      svg.setAttribute("width", width + "px");
-      svg.setAttribute("height", height + "px");
-      svg.setAttribute("preserveAspectRatio", "none");
-      svg.setAttribute("viewBox", "0 0 " + width + " " + height);
-      return svg;
-    }
-  }, {
-    key: "createElement",
-    value: function createElement(type) {
-      (0, _util.assert)(typeof type === "string", "Invalid SVG element type");
-      return document.createElementNS(SVG_NS, type);
-    }
-  }]);
-
-  return DOMSVGFactory;
-}();
-
-exports.DOMSVGFactory = DOMSVGFactory;
-
-var PageViewport = /*#__PURE__*/function () {
-  function PageViewport(_ref5) {
-    var viewBox = _ref5.viewBox,
-        scale = _ref5.scale,
-        rotation = _ref5.rotation,
-        _ref5$offsetX = _ref5.offsetX,
-        offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,
-        _ref5$offsetY = _ref5.offsetY,
-        offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,
-        _ref5$dontFlip = _ref5.dontFlip,
-        dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;
-
-    _classCallCheck(this, PageViewport);
-
-    this.viewBox = viewBox;
-    this.scale = scale;
-    this.rotation = rotation;
-    this.offsetX = offsetX;
-    this.offsetY = offsetY;
-    var centerX = (viewBox[2] + viewBox[0]) / 2;
-    var centerY = (viewBox[3] + viewBox[1]) / 2;
-    var rotateA, rotateB, rotateC, rotateD;
-    rotation = rotation % 360;
-    rotation = rotation < 0 ? rotation + 360 : rotation;
-
-    switch (rotation) {
-      case 180:
-        rotateA = -1;
-        rotateB = 0;
-        rotateC = 0;
-        rotateD = 1;
-        break;
-
-      case 90:
-        rotateA = 0;
-        rotateB = 1;
-        rotateC = 1;
-        rotateD = 0;
-        break;
-
-      case 270:
-        rotateA = 0;
-        rotateB = -1;
-        rotateC = -1;
-        rotateD = 0;
-        break;
-
-      default:
-        rotateA = 1;
-        rotateB = 0;
-        rotateC = 0;
-        rotateD = -1;
-        break;
-    }
-
-    if (dontFlip) {
-      rotateC = -rotateC;
-      rotateD = -rotateD;
-    }
-
-    var offsetCanvasX, offsetCanvasY;
-    var width, height;
-
-    if (rotateA === 0) {
-      offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
-      offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
-      width = Math.abs(viewBox[3] - viewBox[1]) * scale;
-      height = Math.abs(viewBox[2] - viewBox[0]) * scale;
-    } else {
-      offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
-      offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
-      width = Math.abs(viewBox[2] - viewBox[0]) * scale;
-      height = Math.abs(viewBox[3] - viewBox[1]) * scale;
-    }
-
-    this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
-    this.width = width;
-    this.height = height;
-  }
-
-  _createClass(PageViewport, [{
-    key: "clone",
-    value: function clone() {
-      var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref6$scale = _ref6.scale,
-          scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,
-          _ref6$rotation = _ref6.rotation,
-          rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,
-          _ref6$offsetX = _ref6.offsetX,
-          offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,
-          _ref6$offsetY = _ref6.offsetY,
-          offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,
-          _ref6$dontFlip = _ref6.dontFlip,
-          dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;
-
-      return new PageViewport({
-        viewBox: this.viewBox.slice(),
-        scale: scale,
-        rotation: rotation,
-        offsetX: offsetX,
-        offsetY: offsetY,
-        dontFlip: dontFlip
-      });
-    }
-  }, {
-    key: "convertToViewportPoint",
-    value: function convertToViewportPoint(x, y) {
-      return _util.Util.applyTransform([x, y], this.transform);
-    }
-  }, {
-    key: "convertToViewportRectangle",
-    value: function convertToViewportRectangle(rect) {
-      var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
-
-      var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
-
-      return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
-    }
-  }, {
-    key: "convertToPdfPoint",
-    value: function convertToPdfPoint(x, y) {
-      return _util.Util.applyInverseTransform([x, y], this.transform);
-    }
-  }]);
-
-  return PageViewport;
-}();
-
-exports.PageViewport = PageViewport;
-
-var RenderingCancelledException = /*#__PURE__*/function (_BaseException) {
-  _inherits(RenderingCancelledException, _BaseException);
-
-  function RenderingCancelledException(msg, type) {
-    var _this2;
-
-    _classCallCheck(this, RenderingCancelledException);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));
-    _this2.type = type;
-    return _this2;
-  }
-
-  return RenderingCancelledException;
-}(_util.BaseException);
-
-exports.RenderingCancelledException = RenderingCancelledException;
-var LinkTarget = {
-  NONE: 0,
-  SELF: 1,
-  BLANK: 2,
-  PARENT: 3,
-  TOP: 4
-};
-exports.LinkTarget = LinkTarget;
-
-function addLinkAttributes(link) {
-  var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-      url = _ref7.url,
-      target = _ref7.target,
-      rel = _ref7.rel,
-      _ref7$enabled = _ref7.enabled,
-      enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;
-
-  (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.');
-  var urlNullRemoved = (0, _util.removeNullCharacters)(url);
-
-  if (enabled) {
-    link.href = link.title = urlNullRemoved;
-  } else {
-    link.href = "";
-    link.title = "Disabled: ".concat(urlNullRemoved);
-
-    link.onclick = function () {
-      return false;
-    };
-  }
-
-  var targetStr = "";
-
-  switch (target) {
-    case LinkTarget.NONE:
-      break;
-
-    case LinkTarget.SELF:
-      targetStr = "_self";
-      break;
-
-    case LinkTarget.BLANK:
-      targetStr = "_blank";
-      break;
-
-    case LinkTarget.PARENT:
-      targetStr = "_parent";
-      break;
-
-    case LinkTarget.TOP:
-      targetStr = "_top";
-      break;
-  }
-
-  link.target = targetStr;
-  link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
-}
-
-function getFilenameFromUrl(url) {
-  var anchor = url.indexOf("#");
-  var query = url.indexOf("?");
-  var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
-  return url.substring(url.lastIndexOf("/", end) + 1, end);
-}
-
-var StatTimer = /*#__PURE__*/function () {
-  function StatTimer() {
-    _classCallCheck(this, StatTimer);
-
-    this.started = Object.create(null);
-    this.times = [];
-  }
-
-  _createClass(StatTimer, [{
-    key: "time",
-    value: function time(name) {
-      if (name in this.started) {
-        (0, _util.warn)("Timer is already running for ".concat(name));
-      }
-
-      this.started[name] = Date.now();
-    }
-  }, {
-    key: "timeEnd",
-    value: function timeEnd(name) {
-      if (!(name in this.started)) {
-        (0, _util.warn)("Timer has not been started for ".concat(name));
-      }
-
-      this.times.push({
-        name: name,
-        start: this.started[name],
-        end: Date.now()
-      });
-      delete this.started[name];
-    }
-  }, {
-    key: "toString",
-    value: function toString() {
-      var outBuf = [];
-      var longest = 0;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var time = _step.value;
-          var name = time.name;
-
-          if (name.length > longest) {
-            longest = name.length;
-          }
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
-
-      try {
-        for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var _time = _step2.value;
-          var duration = _time.end - _time.start;
-          outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n"));
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
-      }
-
-      return outBuf.join("");
-    }
-  }]);
-
-  return StatTimer;
-}();
-
-exports.StatTimer = StatTimer;
-
-function isFetchSupported() {
-  return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && typeof ReadableStream !== "undefined";
-}
-
-function isValidFetchUrl(url, baseUrl) {
-  try {
-    var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),
-        protocol = _ref8.protocol;
-
-    return protocol === "http:" || protocol === "https:";
-  } catch (ex) {
-    return false;
-  }
-}
-
-function loadScript(src) {
-  return new Promise(function (resolve, reject) {
-    var script = document.createElement("script");
-    script.src = src;
-    script.onload = resolve;
-
-    script.onerror = function () {
-      reject(new Error("Cannot load script at: ".concat(script.src)));
-    };
-
-    (document.head || document.documentElement).appendChild(script);
-  });
-}
-
-function deprecated(details) {
-  console.log("Deprecated API usage: " + details);
-}
-
-function releaseImageResources(img) {
-  (0, _util.assert)(img instanceof Image, "Invalid `img` parameter.");
-  var url = img.src;
-
-  if (typeof url === "string" && url.startsWith("blob:") && URL.revokeObjectURL) {
-    URL.revokeObjectURL(url);
-  }
-
-  img.removeAttribute("src");
-}
-
-var pdfDateStringRegex;
-
-var PDFDateString = /*#__PURE__*/function () {
-  function PDFDateString() {
-    _classCallCheck(this, PDFDateString);
-  }
-
-  _createClass(PDFDateString, null, [{
-    key: "toDateObject",
-    value: function toDateObject(input) {
-      if (!input || !(0, _util.isString)(input)) {
-        return null;
-      }
-
-      if (!pdfDateStringRegex) {
-        pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
-      }
-
-      var matches = pdfDateStringRegex.exec(input);
-
-      if (!matches) {
-        return null;
-      }
-
-      var year = parseInt(matches[1], 10);
-      var month = parseInt(matches[2], 10);
-      month = month >= 1 && month <= 12 ? month - 1 : 0;
-      var day = parseInt(matches[3], 10);
-      day = day >= 1 && day <= 31 ? day : 1;
-      var hour = parseInt(matches[4], 10);
-      hour = hour >= 0 && hour <= 23 ? hour : 0;
-      var minute = parseInt(matches[5], 10);
-      minute = minute >= 0 && minute <= 59 ? minute : 0;
-      var second = parseInt(matches[6], 10);
-      second = second >= 0 && second <= 59 ? second : 0;
-      var universalTimeRelation = matches[7] || "Z";
-      var offsetHour = parseInt(matches[8], 10);
-      offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
-      var offsetMinute = parseInt(matches[9], 10) || 0;
-      offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
-
-      if (universalTimeRelation === "-") {
-        hour += offsetHour;
-        minute += offsetMinute;
-      } else if (universalTimeRelation === "+") {
-        hour -= offsetHour;
-        minute -= offsetMinute;
-      }
-
-      return new Date(Date.UTC(year, month, day, hour, minute, second));
-    }
-  }]);
-
-  return PDFDateString;
-}();
-
-exports.PDFDateString = PDFDateString;
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.FontLoader = exports.FontFaceObject = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var BaseFontLoader = /*#__PURE__*/function () {
-  function BaseFontLoader(_ref) {
-    var docId = _ref.docId,
-        onUnsupportedFeature = _ref.onUnsupportedFeature;
-
-    _classCallCheck(this, BaseFontLoader);
-
-    if (this.constructor === BaseFontLoader) {
-      (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
-    }
-
-    this.docId = docId;
-    this._onUnsupportedFeature = onUnsupportedFeature;
-    this.nativeFontFaces = [];
-    this.styleElement = null;
-  }
-
-  _createClass(BaseFontLoader, [{
-    key: "addNativeFontFace",
-    value: function addNativeFontFace(nativeFontFace) {
-      this.nativeFontFaces.push(nativeFontFace);
-      document.fonts.add(nativeFontFace);
-    }
-  }, {
-    key: "insertRule",
-    value: function insertRule(rule) {
-      var styleElement = this.styleElement;
-
-      if (!styleElement) {
-        styleElement = this.styleElement = document.createElement("style");
-        styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);
-        document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
-      }
-
-      var styleSheet = styleElement.sheet;
-      styleSheet.insertRule(rule, styleSheet.cssRules.length);
-    }
-  }, {
-    key: "clear",
-    value: function clear() {
-      this.nativeFontFaces.forEach(function (nativeFontFace) {
-        document.fonts["delete"](nativeFontFace);
-      });
-      this.nativeFontFaces.length = 0;
-
-      if (this.styleElement) {
-        this.styleElement.remove();
-        this.styleElement = null;
-      }
-    }
-  }, {
-    key: "bind",
-    value: function () {
-      var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) {
-        var _this = this;
-
-        var nativeFontFace, rule;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!(font.attached || font.missingFile)) {
-                  _context.next = 2;
-                  break;
-                }
-
-                return _context.abrupt("return");
-
-              case 2:
-                font.attached = true;
-
-                if (!this.isFontLoadingAPISupported) {
-                  _context.next = 19;
-                  break;
-                }
-
-                nativeFontFace = font.createNativeFontFace();
-
-                if (!nativeFontFace) {
-                  _context.next = 18;
-                  break;
-                }
-
-                this.addNativeFontFace(nativeFontFace);
-                _context.prev = 7;
-                _context.next = 10;
-                return nativeFontFace.loaded;
-
-              case 10:
-                _context.next = 18;
-                break;
-
-              case 12:
-                _context.prev = 12;
-                _context.t0 = _context["catch"](7);
-
-                this._onUnsupportedFeature({
-                  featureId: _util.UNSUPPORTED_FEATURES.font
-                });
-
-                (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'."));
-                font.disableFontFace = true;
-                throw _context.t0;
-
-              case 18:
-                return _context.abrupt("return");
-
-              case 19:
-                rule = font.createFontFaceRule();
-
-                if (!rule) {
-                  _context.next = 26;
-                  break;
-                }
-
-                this.insertRule(rule);
-
-                if (!this.isSyncFontLoadingSupported) {
-                  _context.next = 24;
-                  break;
-                }
-
-                return _context.abrupt("return");
-
-              case 24:
-                _context.next = 26;
-                return new Promise(function (resolve) {
-                  var request = _this._queueLoadingCallback(resolve);
-
-                  _this._prepareFontLoadEvent([rule], [font], request);
-                });
-
-              case 26:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this, [[7, 12]]);
-      }));
-
-      function bind(_x) {
-        return _bind.apply(this, arguments);
-      }
-
-      return bind;
-    }()
-  }, {
-    key: "_queueLoadingCallback",
-    value: function _queueLoadingCallback(callback) {
-      (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
-    }
-  }, {
-    key: "_prepareFontLoadEvent",
-    value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
-      (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
-    }
-  }, {
-    key: "isFontLoadingAPISupported",
-    get: function get() {
-      var supported = typeof document !== "undefined" && !!document.fonts;
-      return (0, _util.shadow)(this, "isFontLoadingAPISupported", supported);
-    }
-  }, {
-    key: "isSyncFontLoadingSupported",
-    get: function get() {
-      (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
-    }
-  }, {
-    key: "_loadTestFont",
-    get: function get() {
-      (0, _util.unreachable)("Abstract method `_loadTestFont`.");
-    }
-  }]);
-
-  return BaseFontLoader;
-}();
-
-var FontLoader;
-exports.FontLoader = FontLoader;
-{
-  exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {
-    _inherits(GenericFontLoader, _BaseFontLoader);
-
-    function GenericFontLoader(docId) {
-      var _this2;
-
-      _classCallCheck(this, GenericFontLoader);
-
-      _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));
-      _this2.loadingContext = {
-        requests: [],
-        nextRequestId: 0
-      };
-      _this2.loadTestFontId = 0;
-      return _this2;
-    }
-
-    _createClass(GenericFontLoader, [{
-      key: "_queueLoadingCallback",
-      value: function _queueLoadingCallback(callback) {
-        function completeRequest() {
-          (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
-          request.done = true;
-
-          while (context.requests.length > 0 && context.requests[0].done) {
-            var otherRequest = context.requests.shift();
-            setTimeout(otherRequest.callback, 0);
-          }
-        }
-
-        var context = this.loadingContext;
-        var request = {
-          id: "pdfjs-font-loading-".concat(context.nextRequestId++),
-          done: false,
-          complete: completeRequest,
-          callback: callback
-        };
-        context.requests.push(request);
-        return request;
-      }
-    }, {
-      key: "_prepareFontLoadEvent",
-      value: function _prepareFontLoadEvent(rules, fonts, request) {
-        function int32(data, offset) {
-          return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
-        }
-
-        function spliceString(s, offset, remove, insert) {
-          var chunk1 = s.substring(0, offset);
-          var chunk2 = s.substring(offset + remove);
-          return chunk1 + insert + chunk2;
-        }
-
-        var i, ii;
-        var canvas = document.createElement("canvas");
-        canvas.width = 1;
-        canvas.height = 1;
-        var ctx = canvas.getContext("2d");
-        var called = 0;
-
-        function isFontReady(name, callback) {
-          called++;
-
-          if (called > 30) {
-            (0, _util.warn)("Load test font never loaded.");
-            callback();
-            return;
-          }
-
-          ctx.font = "30px " + name;
-          ctx.fillText(".", 0, 20);
-          var imageData = ctx.getImageData(0, 0, 1, 1);
-
-          if (imageData.data[3] > 0) {
-            callback();
-            return;
-          }
-
-          setTimeout(isFontReady.bind(null, name, callback));
-        }
-
-        var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
-        var data = this._loadTestFont;
-        var COMMENT_OFFSET = 976;
-        data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
-        var CFF_CHECKSUM_OFFSET = 16;
-        var XXXX_VALUE = 0x58585858;
-        var checksum = int32(data, CFF_CHECKSUM_OFFSET);
-
-        for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
-          checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
-        }
-
-        if (i < loadTestFontId.length) {
-          checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
-        }
-
-        data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
-        var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
-        var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
-        this.insertRule(rule);
-        var names = [];
-
-        for (i = 0, ii = fonts.length; i < ii; i++) {
-          names.push(fonts[i].loadedName);
-        }
-
-        names.push(loadTestFontId);
-        var div = document.createElement("div");
-        div.style.visibility = "hidden";
-        div.style.width = div.style.height = "10px";
-        div.style.position = "absolute";
-        div.style.top = div.style.left = "0px";
-
-        for (i = 0, ii = names.length; i < ii; ++i) {
-          var span = document.createElement("span");
-          span.textContent = "Hi";
-          span.style.fontFamily = names[i];
-          div.appendChild(span);
-        }
-
-        document.body.appendChild(div);
-        isFontReady(loadTestFontId, function () {
-          document.body.removeChild(div);
-          request.complete();
-        });
-      }
-    }, {
-      key: "isSyncFontLoadingSupported",
-      get: function get() {
-        var supported = false;
-
-        if (typeof navigator === "undefined") {
-          supported = true;
-        } else {
-          var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
-
-          if (m && m[1] >= 14) {
-            supported = true;
-          }
-        }
-
-        return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
-      }
-    }, {
-      key: "_loadTestFont",
-      get: function get() {
-        var getLoadTestFont = function getLoadTestFont() {
-          return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");
-        };
-
-        return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
-      }
-    }]);
-
-    return GenericFontLoader;
-  }(BaseFontLoader);
-}
-
-var FontFaceObject = /*#__PURE__*/function () {
-  function FontFaceObject(translatedData, _ref2) {
-    var _ref2$isEvalSupported = _ref2.isEvalSupported,
-        isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
-        _ref2$disableFontFace = _ref2.disableFontFace,
-        disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
-        _ref2$ignoreErrors = _ref2.ignoreErrors,
-        ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
-        _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,
-        onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,
-        _ref2$fontRegistry = _ref2.fontRegistry,
-        fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;
-
-    _classCallCheck(this, FontFaceObject);
-
-    this.compiledGlyphs = Object.create(null);
-
-    for (var i in translatedData) {
-      this[i] = translatedData[i];
-    }
-
-    this.isEvalSupported = isEvalSupported !== false;
-    this.disableFontFace = disableFontFace === true;
-    this.ignoreErrors = ignoreErrors === true;
-    this._onUnsupportedFeature = onUnsupportedFeature;
-    this.fontRegistry = fontRegistry;
-  }
-
-  _createClass(FontFaceObject, [{
-    key: "createNativeFontFace",
-    value: function createNativeFontFace() {
-      if (!this.data || this.disableFontFace) {
-        return null;
-      }
-
-      var nativeFontFace = new FontFace(this.loadedName, this.data, {});
-
-      if (this.fontRegistry) {
-        this.fontRegistry.registerFont(this);
-      }
-
-      return nativeFontFace;
-    }
-  }, {
-    key: "createFontFaceRule",
-    value: function createFontFaceRule() {
-      if (!this.data || this.disableFontFace) {
-        return null;
-      }
-
-      var data = (0, _util.bytesToString)(new Uint8Array(this.data));
-      var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
-      var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");
-
-      if (this.fontRegistry) {
-        this.fontRegistry.registerFont(this, url);
-      }
-
-      return rule;
-    }
-  }, {
-    key: "getPathGenerator",
-    value: function getPathGenerator(objs, character) {
-      if (this.compiledGlyphs[character] !== undefined) {
-        return this.compiledGlyphs[character];
-      }
-
-      var cmds, current;
-
-      try {
-        cmds = objs.get(this.loadedName + "_path_" + character);
-      } catch (ex) {
-        if (!this.ignoreErrors) {
-          throw ex;
-        }
-
-        if (this._onUnsupportedFeature) {
-          this._onUnsupportedFeature({
-            featureId: _util.UNSUPPORTED_FEATURES.font
-          });
-        }
-
-        (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
-        return this.compiledGlyphs[character] = function (c, size) {};
-      }
-
-      if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {
-        var args,
-            js = "";
-
-        for (var i = 0, ii = cmds.length; i < ii; i++) {
-          current = cmds[i];
-
-          if (current.args !== undefined) {
-            args = current.args.join(",");
-          } else {
-            args = "";
-          }
-
-          js += "c." + current.cmd + "(" + args + ");\n";
-        }
-
-        return this.compiledGlyphs[character] = new Function("c", "size", js);
-      }
-
-      return this.compiledGlyphs[character] = function (c, size) {
-        for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {
-          current = cmds[_i];
-
-          if (current.cmd === "scale") {
-            current.args = [size, -size];
-          }
-
-          c[current.cmd].apply(c, current.args);
-        }
-      };
-    }
-  }]);
-
-  return FontFaceObject;
-}();
-
-exports.FontFaceObject = FontFaceObject;
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-var compatibilityParams = Object.create(null);
-{
-  var _require = __w_pdfjs_require__(48),
-      isNodeJS = _require.isNodeJS;
-
-  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
-  var isIE = /Trident/.test(userAgent);
-  var isIOSChrome = /CriOS/.test(userAgent);
-
-  (function checkOnBlobSupport() {
-    if (isIE || isIOSChrome) {
-      compatibilityParams.disableCreateObjectURL = true;
-    }
-  })();
-
-  (function checkFontFaceAndImage() {
-    if (isNodeJS) {
-      compatibilityParams.disableFontFace = true;
-      compatibilityParams.nativeImageDecoderSupport = "none";
-    }
-  })();
-}
-exports.apiCompatibilityParams = Object.freeze(compatibilityParams);
-
-/***/ }),
-/* 197 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.CanvasGraphics = void 0;
-
-var _util = __w_pdfjs_require__(1);
-
-var _pattern_helper = __w_pdfjs_require__(198);
-
-var MIN_FONT_SIZE = 16;
-var MAX_FONT_SIZE = 100;
-var MAX_GROUP_SIZE = 4096;
-var MIN_WIDTH_FACTOR = 0.65;
-var COMPILE_TYPE3_GLYPHS = true;
-var MAX_SIZE_TO_COMPILE = 1000;
-var FULL_CHUNK_HEIGHT = 16;
-
-function addContextCurrentTransform(ctx) {
-  if (!ctx.mozCurrentTransform) {
-    ctx._originalSave = ctx.save;
-    ctx._originalRestore = ctx.restore;
-    ctx._originalRotate = ctx.rotate;
-    ctx._originalScale = ctx.scale;
-    ctx._originalTranslate = ctx.translate;
-    ctx._originalTransform = ctx.transform;
-    ctx._originalSetTransform = ctx.setTransform;
-    ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
-    ctx._transformStack = [];
-    Object.defineProperty(ctx, "mozCurrentTransform", {
-      get: function getCurrentTransform() {
-        return this._transformMatrix;
-      }
-    });
-    Object.defineProperty(ctx, "mozCurrentTransformInverse", {
-      get: function getCurrentTransformInverse() {
-        var m = this._transformMatrix;
-        var a = m[0],
-            b = m[1],
-            c = m[2],
-            d = m[3],
-            e = m[4],
-            f = m[5];
-        var ad_bc = a * d - b * c;
-        var bc_ad = b * c - a * d;
-        return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];
-      }
-    });
-
-    ctx.save = function ctxSave() {
-      var old = this._transformMatrix;
-
-      this._transformStack.push(old);
-
-      this._transformMatrix = old.slice(0, 6);
-
-      this._originalSave();
-    };
-
-    ctx.restore = function ctxRestore() {
-      var prev = this._transformStack.pop();
-
-      if (prev) {
-        this._transformMatrix = prev;
-
-        this._originalRestore();
-      }
-    };
-
-    ctx.translate = function ctxTranslate(x, y) {
-      var m = this._transformMatrix;
-      m[4] = m[0] * x + m[2] * y + m[4];
-      m[5] = m[1] * x + m[3] * y + m[5];
-
-      this._originalTranslate(x, y);
-    };
-
-    ctx.scale = function ctxScale(x, y) {
-      var m = this._transformMatrix;
-      m[0] = m[0] * x;
-      m[1] = m[1] * x;
-      m[2] = m[2] * y;
-      m[3] = m[3] * y;
-
-      this._originalScale(x, y);
-    };
-
-    ctx.transform = function ctxTransform(a, b, c, d, e, f) {
-      var m = this._transformMatrix;
-      this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];
-
-      ctx._originalTransform(a, b, c, d, e, f);
-    };
-
-    ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
-      this._transformMatrix = [a, b, c, d, e, f];
-
-      ctx._originalSetTransform(a, b, c, d, e, f);
-    };
-
-    ctx.rotate = function ctxRotate(angle) {
-      var cosValue = Math.cos(angle);
-      var sinValue = Math.sin(angle);
-      var m = this._transformMatrix;
-      this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];
-
-      this._originalRotate(angle);
-    };
-  }
-}
-
-var CachedCanvases = function CachedCanvasesClosure() {
-  function CachedCanvases(canvasFactory) {
-    this.canvasFactory = canvasFactory;
-    this.cache = Object.create(null);
-  }
-
-  CachedCanvases.prototype = {
-    getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {
-      var canvasEntry;
-
-      if (this.cache[id] !== undefined) {
-        canvasEntry = this.cache[id];
-        this.canvasFactory.reset(canvasEntry, width, height);
-        canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);
-      } else {
-        canvasEntry = this.canvasFactory.create(width, height);
-        this.cache[id] = canvasEntry;
-      }
-
-      if (trackTransform) {
-        addContextCurrentTransform(canvasEntry.context);
-      }
-
-      return canvasEntry;
-    },
-    clear: function clear() {
-      for (var id in this.cache) {
-        var canvasEntry = this.cache[id];
-        this.canvasFactory.destroy(canvasEntry);
-        delete this.cache[id];
-      }
-    }
-  };
-  return CachedCanvases;
-}();
-
-function compileType3Glyph(imgData) {
-  var POINT_TO_PROCESS_LIMIT = 1000;
-  var width = imgData.width,
-      height = imgData.height;
-  var i,
-      j,
-      j0,
-      width1 = width + 1;
-  var points = new Uint8Array(width1 * (height + 1));
-  var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
-  var lineSize = width + 7 & ~7,
-      data0 = imgData.data;
-  var data = new Uint8Array(lineSize * height),
-      pos = 0,
-      ii;
-
-  for (i = 0, ii = data0.length; i < ii; i++) {
-    var mask = 128,
-        elem = data0[i];
-
-    while (mask > 0) {
-      data[pos++] = elem & mask ? 0 : 255;
-      mask >>= 1;
-    }
-  }
-
-  var count = 0;
-  pos = 0;
-
-  if (data[pos] !== 0) {
-    points[0] = 1;
-    ++count;
-  }
-
-  for (j = 1; j < width; j++) {
-    if (data[pos] !== data[pos + 1]) {
-      points[j] = data[pos] ? 2 : 1;
-      ++count;
-    }
-
-    pos++;
-  }
-
-  if (data[pos] !== 0) {
-    points[j] = 2;
-    ++count;
-  }
-
-  for (i = 1; i < height; i++) {
-    pos = i * lineSize;
-    j0 = i * width1;
-
-    if (data[pos - lineSize] !== data[pos]) {
-      points[j0] = data[pos] ? 1 : 8;
-      ++count;
-    }
-
-    var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);
-
-    for (j = 1; j < width; j++) {
-      sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);
-
-      if (POINT_TYPES[sum]) {
-        points[j0 + j] = POINT_TYPES[sum];
-        ++count;
-      }
-
-      pos++;
-    }
-
-    if (data[pos - lineSize] !== data[pos]) {
-      points[j0 + j] = data[pos] ? 2 : 4;
-      ++count;
-    }
-
-    if (count > POINT_TO_PROCESS_LIMIT) {
-      return null;
-    }
-  }
-
-  pos = lineSize * (height - 1);
-  j0 = i * width1;
-
-  if (data[pos] !== 0) {
-    points[j0] = 8;
-    ++count;
-  }
-
-  for (j = 1; j < width; j++) {
-    if (data[pos] !== data[pos + 1]) {
-      points[j0 + j] = data[pos] ? 4 : 8;
-      ++count;
-    }
-
-    pos++;
-  }
-
-  if (data[pos] !== 0) {
-    points[j0 + j] = 4;
-    ++count;
-  }
-
-  if (count > POINT_TO_PROCESS_LIMIT) {
-    return null;
-  }
-
-  var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
-  var outlines = [];
-
-  for (i = 0; count && i <= height; i++) {
-    var p = i * width1;
-    var end = p + width;
-
-    while (p < end && !points[p]) {
-      p++;
-    }
-
-    if (p === end) {
-      continue;
-    }
-
-    var coords = [p % width1, i];
-    var type = points[p],
-        p0 = p,
-        pp;
-
-    do {
-      var step = steps[type];
-
-      do {
-        p += step;
-      } while (!points[p]);
-
-      pp = points[p];
-
-      if (pp !== 5 && pp !== 10) {
-        type = pp;
-        points[p] = 0;
-      } else {
-        type = pp & 0x33 * type >> 4;
-        points[p] &= type >> 2 | type << 2;
-      }
-
-      coords.push(p % width1);
-      coords.push(p / width1 | 0);
-
-      if (!points[p]) {
-        --count;
-      }
-    } while (p0 !== p);
-
-    outlines.push(coords);
-    --i;
-  }
-
-  var drawOutline = function drawOutline(c) {
-    c.save();
-    c.scale(1 / width, -1 / height);
-    c.translate(0, -height);
-    c.beginPath();
-
-    for (var i = 0, ii = outlines.length; i < ii; i++) {
-      var o = outlines[i];
-      c.moveTo(o[0], o[1]);
-
-      for (var j = 2, jj = o.length; j < jj; j += 2) {
-        c.lineTo(o[j], o[j + 1]);
-      }
-    }
-
-    c.fill();
-    c.beginPath();
-    c.restore();
-  };
-
-  return drawOutline;
-}
-
-var CanvasExtraState = function CanvasExtraStateClosure() {
-  function CanvasExtraState() {
-    this.alphaIsShape = false;
-    this.fontSize = 0;
-    this.fontSizeScale = 1;
-    this.textMatrix = _util.IDENTITY_MATRIX;
-    this.textMatrixScale = 1;
-    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
-    this.leading = 0;
-    this.x = 0;
-    this.y = 0;
-    this.lineX = 0;
-    this.lineY = 0;
-    this.charSpacing = 0;
-    this.wordSpacing = 0;
-    this.textHScale = 1;
-    this.textRenderingMode = _util.TextRenderingMode.FILL;
-    this.textRise = 0;
-    this.fillColor = "#000000";
-    this.strokeColor = "#000000";
-    this.patternFill = false;
-    this.fillAlpha = 1;
-    this.strokeAlpha = 1;
-    this.lineWidth = 1;
-    this.activeSMask = null;
-    this.resumeSMaskCtx = null;
-  }
-
-  CanvasExtraState.prototype = {
-    clone: function CanvasExtraState_clone() {
-      return Object.create(this);
-    },
-    setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {
-      this.x = x;
-      this.y = y;
-    }
-  };
-  return CanvasExtraState;
-}();
-
-var CanvasGraphics = function CanvasGraphicsClosure() {
-  var EXECUTION_TIME = 15;
-  var EXECUTION_STEPS = 10;
-
-  function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {
-    this.ctx = canvasCtx;
-    this.current = new CanvasExtraState();
-    this.stateStack = [];
-    this.pendingClip = null;
-    this.pendingEOFill = false;
-    this.res = null;
-    this.xobjs = null;
-    this.commonObjs = commonObjs;
-    this.objs = objs;
-    this.canvasFactory = canvasFactory;
-    this.webGLContext = webGLContext;
-    this.imageLayer = imageLayer;
-    this.groupStack = [];
-    this.processingType3 = null;
-    this.baseTransform = null;
-    this.baseTransformStack = [];
-    this.groupLevel = 0;
-    this.smaskStack = [];
-    this.smaskCounter = 0;
-    this.tempSMask = null;
-    this.cachedCanvases = new CachedCanvases(this.canvasFactory);
-
-    if (canvasCtx) {
-      addContextCurrentTransform(canvasCtx);
-    }
-
-    this._cachedGetSinglePixelWidth = null;
-  }
-
-  function putBinaryImageData(ctx, imgData) {
-    if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
-      ctx.putImageData(imgData, 0, 0);
-      return;
-    }
-
-    var height = imgData.height,
-        width = imgData.width;
-    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
-    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
-    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
-    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
-    var srcPos = 0,
-        destPos;
-    var src = imgData.data;
-    var dest = chunkImgData.data;
-    var i, j, thisChunkHeight, elemsInThisChunk;
-
-    if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
-      var srcLength = src.byteLength;
-      var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
-      var dest32DataLength = dest32.length;
-      var fullSrcDiff = width + 7 >> 3;
-      var white = 0xffffffff;
-      var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;
-
-      for (i = 0; i < totalChunks; i++) {
-        thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
-        destPos = 0;
-
-        for (j = 0; j < thisChunkHeight; j++) {
-          var srcDiff = srcLength - srcPos;
-          var k = 0;
-          var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
-          var kEndUnrolled = kEnd & ~7;
-          var mask = 0;
-          var srcByte = 0;
-
-          for (; k < kEndUnrolled; k += 8) {
-            srcByte = src[srcPos++];
-            dest32[destPos++] = srcByte & 128 ? white : black;
-            dest32[destPos++] = srcByte & 64 ? white : black;
-            dest32[destPos++] = srcByte & 32 ? white : black;
-            dest32[destPos++] = srcByte & 16 ? white : black;
-            dest32[destPos++] = srcByte & 8 ? white : black;
-            dest32[destPos++] = srcByte & 4 ? white : black;
-            dest32[destPos++] = srcByte & 2 ? white : black;
-            dest32[destPos++] = srcByte & 1 ? white : black;
-          }
-
-          for (; k < kEnd; k++) {
-            if (mask === 0) {
-              srcByte = src[srcPos++];
-              mask = 128;
-            }
-
-            dest32[destPos++] = srcByte & mask ? white : black;
-            mask >>= 1;
-          }
-        }
-
-        while (destPos < dest32DataLength) {
-          dest32[destPos++] = 0;
-        }
-
-        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
-      }
-    } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
-      j = 0;
-      elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;
-
-      for (i = 0; i < fullChunks; i++) {
-        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
-        srcPos += elemsInThisChunk;
-        ctx.putImageData(chunkImgData, 0, j);
-        j += FULL_CHUNK_HEIGHT;
-      }
-
-      if (i < totalChunks) {
-        elemsInThisChunk = width * partialChunkHeight * 4;
-        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
-        ctx.putImageData(chunkImgData, 0, j);
-      }
-    } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
-      thisChunkHeight = FULL_CHUNK_HEIGHT;
-      elemsInThisChunk = width * thisChunkHeight;
-
-      for (i = 0; i < totalChunks; i++) {
-        if (i >= fullChunks) {
-          thisChunkHeight = partialChunkHeight;
-          elemsInThisChunk = width * thisChunkHeight;
-        }
-
-        destPos = 0;
-
-        for (j = elemsInThisChunk; j--;) {
-          dest[destPos++] = src[srcPos++];
-          dest[destPos++] = src[srcPos++];
-          dest[destPos++] = src[srcPos++];
-          dest[destPos++] = 255;
-        }
-
-        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
-      }
-    } else {
-      throw new Error("bad image kind: ".concat(imgData.kind));
-    }
-  }
-
-  function putBinaryImageMask(ctx, imgData) {
-    var height = imgData.height,
-        width = imgData.width;
-    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
-    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
-    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
-    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
-    var srcPos = 0;
-    var src = imgData.data;
-    var dest = chunkImgData.data;
-
-    for (var i = 0; i < totalChunks; i++) {
-      var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
-      var destPos = 3;
-
-      for (var j = 0; j < thisChunkHeight; j++) {
-        var mask = 0;
-
-        for (var k = 0; k < width; k++) {
-          if (!mask) {
-            var elem = src[srcPos++];
-            mask = 128;
-          }
-
-          dest[destPos] = elem & mask ? 0 : 255;
-          destPos += 4;
-          mask >>= 1;
-        }
-      }
-
-      ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
-    }
-  }
-
-  function copyCtxState(sourceCtx, destCtx) {
-    var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"];
-
-    for (var i = 0, ii = properties.length; i < ii; i++) {
-      var property = properties[i];
-
-      if (sourceCtx[property] !== undefined) {
-        destCtx[property] = sourceCtx[property];
-      }
-    }
-
-    if (sourceCtx.setLineDash !== undefined) {
-      destCtx.setLineDash(sourceCtx.getLineDash());
-      destCtx.lineDashOffset = sourceCtx.lineDashOffset;
-    }
-  }
-
-  function resetCtxToDefault(ctx) {
-    ctx.strokeStyle = "#000000";
-    ctx.fillStyle = "#000000";
-    ctx.fillRule = "nonzero";
-    ctx.globalAlpha = 1;
-    ctx.lineWidth = 1;
-    ctx.lineCap = "butt";
-    ctx.lineJoin = "miter";
-    ctx.miterLimit = 10;
-    ctx.globalCompositeOperation = "source-over";
-    ctx.font = "10px sans-serif";
-
-    if (ctx.setLineDash !== undefined) {
-      ctx.setLineDash([]);
-      ctx.lineDashOffset = 0;
-    }
-  }
-
-  function composeSMaskBackdrop(bytes, r0, g0, b0) {
-    var length = bytes.length;
-
-    for (var i = 3; i < length; i += 4) {
-      var alpha = bytes[i];
-
-      if (alpha === 0) {
-        bytes[i - 3] = r0;
-        bytes[i - 2] = g0;
-        bytes[i - 1] = b0;
-      } else if (alpha < 255) {
-        var alpha_ = 255 - alpha;
-        bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
-        bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
-        bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
-      }
-    }
-  }
-
-  function composeSMaskAlpha(maskData, layerData, transferMap) {
-    var length = maskData.length;
-    var scale = 1 / 255;
-
-    for (var i = 3; i < length; i += 4) {
-      var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
-      layerData[i] = layerData[i] * alpha * scale | 0;
-    }
-  }
-
-  function composeSMaskLuminosity(maskData, layerData, transferMap) {
-    var length = maskData.length;
-
-    for (var i = 3; i < length; i += 4) {
-      var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
-      layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
-    }
-  }
-
-  function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {
-    var hasBackdrop = !!backdrop;
-    var r0 = hasBackdrop ? backdrop[0] : 0;
-    var g0 = hasBackdrop ? backdrop[1] : 0;
-    var b0 = hasBackdrop ? backdrop[2] : 0;
-    var composeFn;
-
-    if (subtype === "Luminosity") {
-      composeFn = composeSMaskLuminosity;
-    } else {
-      composeFn = composeSMaskAlpha;
-    }
-
-    var PIXELS_TO_PROCESS = 1048576;
-    var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
-
-    for (var row = 0; row < height; row += chunkSize) {
-      var chunkHeight = Math.min(chunkSize, height - row);
-      var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
-      var layerData = layerCtx.getImageData(0, row, width, chunkHeight);
-
-      if (hasBackdrop) {
-        composeSMaskBackdrop(maskData.data, r0, g0, b0);
-      }
-
-      composeFn(maskData.data, layerData.data, transferMap);
-      maskCtx.putImageData(layerData, 0, row);
-    }
-  }
-
-  function composeSMask(ctx, smask, layerCtx, webGLContext) {
-    var mask = smask.canvas;
-    var maskCtx = smask.context;
-    ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);
-    var backdrop = smask.backdrop || null;
-
-    if (!smask.transferMap && webGLContext.isEnabled) {
-      var composed = webGLContext.composeSMask({
-        layer: layerCtx.canvas,
-        mask: mask,
-        properties: {
-          subtype: smask.subtype,
-          backdrop: backdrop
-        }
-      });
-      ctx.setTransform(1, 0, 0, 1, 0, 0);
-      ctx.drawImage(composed, smask.offsetX, smask.offsetY);
-      return;
-    }
-
-    genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);
-    ctx.drawImage(mask, 0, 0);
-  }
-
-  var LINE_CAP_STYLES = ["butt", "round", "square"];
-  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
-  var NORMAL_CLIP = {};
-  var EO_CLIP = {};
-  CanvasGraphics.prototype = {
-    beginDrawing: function beginDrawing(_ref) {
-      var transform = _ref.transform,
-          viewport = _ref.viewport,
-          _ref$transparency = _ref.transparency,
-          transparency = _ref$transparency === void 0 ? false : _ref$transparency,
-          _ref$background = _ref.background,
-          background = _ref$background === void 0 ? null : _ref$background;
-      var width = this.ctx.canvas.width;
-      var height = this.ctx.canvas.height;
-      this.ctx.save();
-      this.ctx.fillStyle = background || "rgb(255, 255, 255)";
-      this.ctx.fillRect(0, 0, width, height);
-      this.ctx.restore();
-
-      if (transparency) {
-        var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
-        this.compositeCtx = this.ctx;
-        this.transparentCanvas = transparentCanvas.canvas;
-        this.ctx = transparentCanvas.context;
-        this.ctx.save();
-        this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);
-      }
-
-      this.ctx.save();
-      resetCtxToDefault(this.ctx);
-
-      if (transform) {
-        this.ctx.transform.apply(this.ctx, transform);
-      }
-
-      this.ctx.transform.apply(this.ctx, viewport.transform);
-      this.baseTransform = this.ctx.mozCurrentTransform.slice();
-
-      if (this.imageLayer) {
-        this.imageLayer.beginLayout();
-      }
-    },
-    executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
-      var argsArray = operatorList.argsArray;
-      var fnArray = operatorList.fnArray;
-      var i = executionStartIdx || 0;
-      var argsArrayLen = argsArray.length;
-
-      if (argsArrayLen === i) {
-        return i;
-      }
-
-      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
-      var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
-      var steps = 0;
-      var commonObjs = this.commonObjs;
-      var objs = this.objs;
-      var fnId;
-
-      while (true) {
-        if (stepper !== undefined && i === stepper.nextBreakPoint) {
-          stepper.breakIt(i, continueCallback);
-          return i;
-        }
-
-        fnId = fnArray[i];
-
-        if (fnId !== _util.OPS.dependency) {
-          this[fnId].apply(this, argsArray[i]);
-        } else {
-          var _iteratorNormalCompletion = true;
-          var _didIteratorError = false;
-          var _iteratorError = undefined;
-
-          try {
-            for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-              var depObjId = _step.value;
-              var objsPool = depObjId.startsWith("g_") ? commonObjs : objs;
-
-              if (!objsPool.has(depObjId)) {
-                objsPool.get(depObjId, continueCallback);
-                return i;
-              }
-            }
-          } catch (err) {
-            _didIteratorError = true;
-            _iteratorError = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-                _iterator["return"]();
-              }
-            } finally {
-              if (_didIteratorError) {
-                throw _iteratorError;
-              }
-            }
-          }
-        }
-
-        i++;
-
-        if (i === argsArrayLen) {
-          return i;
-        }
-
-        if (chunkOperations && ++steps > EXECUTION_STEPS) {
-          if (Date.now() > endTime) {
-            continueCallback();
-            return i;
-          }
-
-          steps = 0;
-        }
-      }
-    },
-    endDrawing: function CanvasGraphics_endDrawing() {
-      if (this.current.activeSMask !== null) {
-        this.endSMaskGroup();
-      }
-
-      this.ctx.restore();
-
-      if (this.transparentCanvas) {
-        this.ctx = this.compositeCtx;
-        this.ctx.save();
-        this.ctx.setTransform(1, 0, 0, 1, 0, 0);
-        this.ctx.drawImage(this.transparentCanvas, 0, 0);
-        this.ctx.restore();
-        this.transparentCanvas = null;
-      }
-
-      this.cachedCanvases.clear();
-      this.webGLContext.clear();
-
-      if (this.imageLayer) {
-        this.imageLayer.endLayout();
-      }
-    },
-    setLineWidth: function CanvasGraphics_setLineWidth(width) {
-      this.current.lineWidth = width;
-      this.ctx.lineWidth = width;
-    },
-    setLineCap: function CanvasGraphics_setLineCap(style) {
-      this.ctx.lineCap = LINE_CAP_STYLES[style];
-    },
-    setLineJoin: function CanvasGraphics_setLineJoin(style) {
-      this.ctx.lineJoin = LINE_JOIN_STYLES[style];
-    },
-    setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {
-      this.ctx.miterLimit = limit;
-    },
-    setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
-      var ctx = this.ctx;
-
-      if (ctx.setLineDash !== undefined) {
-        ctx.setLineDash(dashArray);
-        ctx.lineDashOffset = dashPhase;
-      }
-    },
-    setRenderingIntent: function setRenderingIntent(intent) {},
-    setFlatness: function setFlatness(flatness) {},
-    setGState: function CanvasGraphics_setGState(states) {
-      for (var i = 0, ii = states.length; i < ii; i++) {
-        var state = states[i];
-        var key = state[0];
-        var value = state[1];
-
-        switch (key) {
-          case "LW":
-            this.setLineWidth(value);
-            break;
-
-          case "LC":
-            this.setLineCap(value);
-            break;
-
-          case "LJ":
-            this.setLineJoin(value);
-            break;
-
-          case "ML":
-            this.setMiterLimit(value);
-            break;
-
-          case "D":
-            this.setDash(value[0], value[1]);
-            break;
-
-          case "RI":
-            this.setRenderingIntent(value);
-            break;
-
-          case "FL":
-            this.setFlatness(value);
-            break;
-
-          case "Font":
-            this.setFont(value[0], value[1]);
-            break;
-
-          case "CA":
-            this.current.strokeAlpha = state[1];
-            break;
-
-          case "ca":
-            this.current.fillAlpha = state[1];
-            this.ctx.globalAlpha = state[1];
-            break;
-
-          case "BM":
-            this.ctx.globalCompositeOperation = value;
-            break;
-
-          case "SMask":
-            if (this.current.activeSMask) {
-              if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {
-                this.suspendSMaskGroup();
-              } else {
-                this.endSMaskGroup();
-              }
-            }
-
-            this.current.activeSMask = value ? this.tempSMask : null;
-
-            if (this.current.activeSMask) {
-              this.beginSMaskGroup();
-            }
-
-            this.tempSMask = null;
-            break;
-        }
-      }
-    },
-    beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {
-      var activeSMask = this.current.activeSMask;
-      var drawnWidth = activeSMask.canvas.width;
-      var drawnHeight = activeSMask.canvas.height;
-      var cacheId = "smaskGroupAt" + this.groupLevel;
-      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
-      var currentCtx = this.ctx;
-      var currentTransform = currentCtx.mozCurrentTransform;
-      this.ctx.save();
-      var groupCtx = scratchCanvas.context;
-      groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);
-      groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);
-      groupCtx.transform.apply(groupCtx, currentTransform);
-      activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
-      copyCtxState(currentCtx, groupCtx);
-      this.ctx = groupCtx;
-      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
-      this.groupStack.push(currentCtx);
-      this.groupLevel++;
-    },
-    suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {
-      var groupCtx = this.ctx;
-      this.groupLevel--;
-      this.ctx = this.groupStack.pop();
-      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
-      this.ctx.restore();
-      this.ctx.save();
-      copyCtxState(groupCtx, this.ctx);
-      this.current.resumeSMaskCtx = groupCtx;
-
-      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
-
-      this.ctx.transform.apply(this.ctx, deltaTransform);
-      groupCtx.save();
-      groupCtx.setTransform(1, 0, 0, 1, 0, 0);
-      groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);
-      groupCtx.restore();
-    },
-    resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {
-      var groupCtx = this.current.resumeSMaskCtx;
-      var currentCtx = this.ctx;
-      this.ctx = groupCtx;
-      this.groupStack.push(currentCtx);
-      this.groupLevel++;
-    },
-    endSMaskGroup: function CanvasGraphics_endSMaskGroup() {
-      var groupCtx = this.ctx;
-      this.groupLevel--;
-      this.ctx = this.groupStack.pop();
-      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
-      this.ctx.restore();
-      copyCtxState(groupCtx, this.ctx);
-
-      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
-
-      this.ctx.transform.apply(this.ctx, deltaTransform);
-    },
-    save: function CanvasGraphics_save() {
-      this.ctx.save();
-      var old = this.current;
-      this.stateStack.push(old);
-      this.current = old.clone();
-      this.current.resumeSMaskCtx = null;
-    },
-    restore: function CanvasGraphics_restore() {
-      if (this.current.resumeSMaskCtx) {
-        this.resumeSMaskGroup();
-      }
-
-      if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {
-        this.endSMaskGroup();
-      }
-
-      if (this.stateStack.length !== 0) {
-        this.current = this.stateStack.pop();
-        this.ctx.restore();
-        this.pendingClip = null;
-        this._cachedGetSinglePixelWidth = null;
-      }
-    },
-    transform: function CanvasGraphics_transform(a, b, c, d, e, f) {
-      this.ctx.transform(a, b, c, d, e, f);
-      this._cachedGetSinglePixelWidth = null;
-    },
-    constructPath: function CanvasGraphics_constructPath(ops, args) {
-      var ctx = this.ctx;
-      var current = this.current;
-      var x = current.x,
-          y = current.y;
-
-      for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
-        switch (ops[i] | 0) {
-          case _util.OPS.rectangle:
-            x = args[j++];
-            y = args[j++];
-            var width = args[j++];
-            var height = args[j++];
-
-            if (width === 0) {
-              width = this.getSinglePixelWidth();
-            }
-
-            if (height === 0) {
-              height = this.getSinglePixelWidth();
-            }
-
-            var xw = x + width;
-            var yh = y + height;
-            this.ctx.moveTo(x, y);
-            this.ctx.lineTo(xw, y);
-            this.ctx.lineTo(xw, yh);
-            this.ctx.lineTo(x, yh);
-            this.ctx.lineTo(x, y);
-            this.ctx.closePath();
-            break;
-
-          case _util.OPS.moveTo:
-            x = args[j++];
-            y = args[j++];
-            ctx.moveTo(x, y);
-            break;
-
-          case _util.OPS.lineTo:
-            x = args[j++];
-            y = args[j++];
-            ctx.lineTo(x, y);
-            break;
-
-          case _util.OPS.curveTo:
-            x = args[j + 4];
-            y = args[j + 5];
-            ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
-            j += 6;
-            break;
-
-          case _util.OPS.curveTo2:
-            ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
-            x = args[j + 2];
-            y = args[j + 3];
-            j += 4;
-            break;
-
-          case _util.OPS.curveTo3:
-            x = args[j + 2];
-            y = args[j + 3];
-            ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);
-            j += 4;
-            break;
-
-          case _util.OPS.closePath:
-            ctx.closePath();
-            break;
-        }
-      }
-
-      current.setCurrentPoint(x, y);
-    },
-    closePath: function CanvasGraphics_closePath() {
-      this.ctx.closePath();
-    },
-    stroke: function CanvasGraphics_stroke(consumePath) {
-      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
-      var ctx = this.ctx;
-      var strokeColor = this.current.strokeColor;
-      ctx.globalAlpha = this.current.strokeAlpha;
-
-      if (strokeColor && strokeColor.hasOwnProperty("type") && strokeColor.type === "Pattern") {
-        ctx.save();
-        var transform = ctx.mozCurrentTransform;
-
-        var scale = _util.Util.singularValueDecompose2dScale(transform)[0];
-
-        ctx.strokeStyle = strokeColor.getPattern(ctx, this);
-        ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);
-        ctx.stroke();
-        ctx.restore();
-      } else {
-        ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);
-        ctx.stroke();
-      }
-
-      if (consumePath) {
-        this.consumePath();
-      }
-
-      ctx.globalAlpha = this.current.fillAlpha;
-    },
-    closeStroke: function CanvasGraphics_closeStroke() {
-      this.closePath();
-      this.stroke();
-    },
-    fill: function CanvasGraphics_fill(consumePath) {
-      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
-      var ctx = this.ctx;
-      var fillColor = this.current.fillColor;
-      var isPatternFill = this.current.patternFill;
-      var needRestore = false;
-
-      if (isPatternFill) {
-        ctx.save();
-
-        if (this.baseTransform) {
-          ctx.setTransform.apply(ctx, this.baseTransform);
-        }
-
-        ctx.fillStyle = fillColor.getPattern(ctx, this);
-        needRestore = true;
-      }
-
-      if (this.pendingEOFill) {
-        ctx.fill("evenodd");
-        this.pendingEOFill = false;
-      } else {
-        ctx.fill();
-      }
-
-      if (needRestore) {
-        ctx.restore();
-      }
-
-      if (consumePath) {
-        this.consumePath();
-      }
-    },
-    eoFill: function CanvasGraphics_eoFill() {
-      this.pendingEOFill = true;
-      this.fill();
-    },
-    fillStroke: function CanvasGraphics_fillStroke() {
-      this.fill(false);
-      this.stroke(false);
-      this.consumePath();
-    },
-    eoFillStroke: function CanvasGraphics_eoFillStroke() {
-      this.pendingEOFill = true;
-      this.fillStroke();
-    },
-    closeFillStroke: function CanvasGraphics_closeFillStroke() {
-      this.closePath();
-      this.fillStroke();
-    },
-    closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {
-      this.pendingEOFill = true;
-      this.closePath();
-      this.fillStroke();
-    },
-    endPath: function CanvasGraphics_endPath() {
-      this.consumePath();
-    },
-    clip: function CanvasGraphics_clip() {
-      this.pendingClip = NORMAL_CLIP;
-    },
-    eoClip: function CanvasGraphics_eoClip() {
-      this.pendingClip = EO_CLIP;
-    },
-    beginText: function CanvasGraphics_beginText() {
-      this.current.textMatrix = _util.IDENTITY_MATRIX;
-      this.current.textMatrixScale = 1;
-      this.current.x = this.current.lineX = 0;
-      this.current.y = this.current.lineY = 0;
-    },
-    endText: function CanvasGraphics_endText() {
-      var paths = this.pendingTextPaths;
-      var ctx = this.ctx;
-
-      if (paths === undefined) {
-        ctx.beginPath();
-        return;
-      }
-
-      ctx.save();
-      ctx.beginPath();
-
-      for (var i = 0; i < paths.length; i++) {
-        var path = paths[i];
-        ctx.setTransform.apply(ctx, path.transform);
-        ctx.translate(path.x, path.y);
-        path.addToPath(ctx, path.fontSize);
-      }
-
-      ctx.restore();
-      ctx.clip();
-      ctx.beginPath();
-      delete this.pendingTextPaths;
-    },
-    setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {
-      this.current.charSpacing = spacing;
-    },
-    setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {
-      this.current.wordSpacing = spacing;
-    },
-    setHScale: function CanvasGraphics_setHScale(scale) {
-      this.current.textHScale = scale / 100;
-    },
-    setLeading: function CanvasGraphics_setLeading(leading) {
-      this.current.leading = -leading;
-    },
-    setFont: function CanvasGraphics_setFont(fontRefName, size) {
-      var fontObj = this.commonObjs.get(fontRefName);
-      var current = this.current;
-
-      if (!fontObj) {
-        throw new Error("Can't find font for ".concat(fontRefName));
-      }
-
-      current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
-
-      if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
-        (0, _util.warn)("Invalid font matrix for font " + fontRefName);
-      }
-
-      if (size < 0) {
-        size = -size;
-        current.fontDirection = -1;
-      } else {
-        current.fontDirection = 1;
-      }
-
-      this.current.font = fontObj;
-      this.current.fontSize = size;
-
-      if (fontObj.isType3Font) {
-        return;
-      }
-
-      var name = fontObj.loadedName || "sans-serif";
-      var bold = "normal";
-
-      if (fontObj.black) {
-        bold = "900";
-      } else if (fontObj.bold) {
-        bold = "bold";
-      }
-
-      var italic = fontObj.italic ? "italic" : "normal";
-      var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
-      var browserFontSize = size;
-
-      if (size < MIN_FONT_SIZE) {
-        browserFontSize = MIN_FONT_SIZE;
-      } else if (size > MAX_FONT_SIZE) {
-        browserFontSize = MAX_FONT_SIZE;
-      }
-
-      this.current.fontSizeScale = size / browserFontSize;
-      this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface);
-    },
-    setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
-      this.current.textRenderingMode = mode;
-    },
-    setTextRise: function CanvasGraphics_setTextRise(rise) {
-      this.current.textRise = rise;
-    },
-    moveText: function CanvasGraphics_moveText(x, y) {
-      this.current.x = this.current.lineX += x;
-      this.current.y = this.current.lineY += y;
-    },
-    setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {
-      this.setLeading(-y);
-      this.moveText(x, y);
-    },
-    setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {
-      this.current.textMatrix = [a, b, c, d, e, f];
-      this.current.textMatrixScale = Math.sqrt(a * a + b * b);
-      this.current.x = this.current.lineX = 0;
-      this.current.y = this.current.lineY = 0;
-    },
-    nextLine: function CanvasGraphics_nextLine() {
-      this.moveText(0, this.current.leading);
-    },
-    paintChar: function paintChar(character, x, y, patternTransform) {
-      var ctx = this.ctx;
-      var current = this.current;
-      var font = current.font;
-      var textRenderingMode = current.textRenderingMode;
-      var fontSize = current.fontSize / current.fontSizeScale;
-      var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
-      var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
-      var patternFill = current.patternFill && font.data;
-      var addToPath;
-
-      if (font.disableFontFace || isAddToPathSet || patternFill) {
-        addToPath = font.getPathGenerator(this.commonObjs, character);
-      }
-
-      if (font.disableFontFace || patternFill) {
-        ctx.save();
-        ctx.translate(x, y);
-        ctx.beginPath();
-        addToPath(ctx, fontSize);
-
-        if (patternTransform) {
-          ctx.setTransform.apply(ctx, patternTransform);
-        }
-
-        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          ctx.fill();
-        }
-
-        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          ctx.stroke();
-        }
-
-        ctx.restore();
-      } else {
-        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          ctx.fillText(character, x, y);
-        }
-
-        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          ctx.strokeText(character, x, y);
-        }
-      }
-
-      if (isAddToPathSet) {
-        var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
-        paths.push({
-          transform: ctx.mozCurrentTransform,
-          x: x,
-          y: y,
-          fontSize: fontSize,
-          addToPath: addToPath
-        });
-      }
-    },
-
-    get isFontSubpixelAAEnabled() {
-      var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10),
-          ctx = _this$cachedCanvases$.context;
-
-      ctx.scale(1.5, 1);
-      ctx.fillText("I", 0, 10);
-      var data = ctx.getImageData(0, 0, 10, 10).data;
-      var enabled = false;
-
-      for (var i = 3; i < data.length; i += 4) {
-        if (data[i] > 0 && data[i] < 255) {
-          enabled = true;
-          break;
-        }
-      }
-
-      return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
-    },
-
-    showText: function CanvasGraphics_showText(glyphs) {
-      var current = this.current;
-      var font = current.font;
-
-      if (font.isType3Font) {
-        return this.showType3Text(glyphs);
-      }
-
-      var fontSize = current.fontSize;
-
-      if (fontSize === 0) {
-        return undefined;
-      }
-
-      var ctx = this.ctx;
-      var fontSizeScale = current.fontSizeScale;
-      var charSpacing = current.charSpacing;
-      var wordSpacing = current.wordSpacing;
-      var fontDirection = current.fontDirection;
-      var textHScale = current.textHScale * fontDirection;
-      var glyphsLength = glyphs.length;
-      var vertical = font.vertical;
-      var spacingDir = vertical ? 1 : -1;
-      var defaultVMetrics = font.defaultVMetrics;
-      var widthAdvanceScale = fontSize * current.fontMatrix[0];
-      var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
-      ctx.save();
-      var patternTransform;
-
-      if (current.patternFill) {
-        ctx.save();
-        var pattern = current.fillColor.getPattern(ctx, this);
-        patternTransform = ctx.mozCurrentTransform;
-        ctx.restore();
-        ctx.fillStyle = pattern;
-      }
-
-      ctx.transform.apply(ctx, current.textMatrix);
-      ctx.translate(current.x, current.y + current.textRise);
-
-      if (fontDirection > 0) {
-        ctx.scale(textHScale, -1);
-      } else {
-        ctx.scale(textHScale, 1);
-      }
-
-      var lineWidth = current.lineWidth;
-      var scale = current.textMatrixScale;
-
-      if (scale === 0 || lineWidth === 0) {
-        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
-
-        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          this._cachedGetSinglePixelWidth = null;
-          lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;
-        }
-      } else {
-        lineWidth /= scale;
-      }
-
-      if (fontSizeScale !== 1.0) {
-        ctx.scale(fontSizeScale, fontSizeScale);
-        lineWidth /= fontSizeScale;
-      }
-
-      ctx.lineWidth = lineWidth;
-      var x = 0,
-          i;
-
-      for (i = 0; i < glyphsLength; ++i) {
-        var glyph = glyphs[i];
-
-        if ((0, _util.isNum)(glyph)) {
-          x += spacingDir * glyph * fontSize / 1000;
-          continue;
-        }
-
-        var restoreNeeded = false;
-        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
-        var character = glyph.fontChar;
-        var accent = glyph.accent;
-        var scaledX, scaledY, scaledAccentX, scaledAccentY;
-        var width = glyph.width;
-
-        if (vertical) {
-          var vmetric, vx, vy;
-          vmetric = glyph.vmetric || defaultVMetrics;
-          vx = glyph.vmetric ? vmetric[1] : width * 0.5;
-          vx = -vx * widthAdvanceScale;
-          vy = vmetric[2] * widthAdvanceScale;
-          width = vmetric ? -vmetric[0] : width;
-          scaledX = vx / fontSizeScale;
-          scaledY = (x + vy) / fontSizeScale;
-        } else {
-          scaledX = x / fontSizeScale;
-          scaledY = 0;
-        }
-
-        if (font.remeasure && width > 0) {
-          var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;
-
-          if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
-            var characterScaleX = width / measuredWidth;
-            restoreNeeded = true;
-            ctx.save();
-            ctx.scale(characterScaleX, 1);
-            scaledX /= characterScaleX;
-          } else if (width !== measuredWidth) {
-            scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;
-          }
-        }
-
-        if (glyph.isInFont || font.missingFile) {
-          if (simpleFillText && !accent) {
-            ctx.fillText(character, scaledX, scaledY);
-          } else {
-            this.paintChar(character, scaledX, scaledY, patternTransform);
-
-            if (accent) {
-              scaledAccentX = scaledX + accent.offset.x / fontSizeScale;
-              scaledAccentY = scaledY - accent.offset.y / fontSizeScale;
-              this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);
-            }
-          }
-        }
-
-        var charWidth;
-
-        if (vertical) {
-          charWidth = width * widthAdvanceScale - spacing * fontDirection;
-        } else {
-          charWidth = width * widthAdvanceScale + spacing * fontDirection;
-        }
-
-        x += charWidth;
-
-        if (restoreNeeded) {
-          ctx.restore();
-        }
-      }
-
-      if (vertical) {
-        current.y -= x;
-      } else {
-        current.x += x * textHScale;
-      }
-
-      ctx.restore();
-    },
-    showType3Text: function CanvasGraphics_showType3Text(glyphs) {
-      var ctx = this.ctx;
-      var current = this.current;
-      var font = current.font;
-      var fontSize = current.fontSize;
-      var fontDirection = current.fontDirection;
-      var spacingDir = font.vertical ? 1 : -1;
-      var charSpacing = current.charSpacing;
-      var wordSpacing = current.wordSpacing;
-      var textHScale = current.textHScale * fontDirection;
-      var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
-      var glyphsLength = glyphs.length;
-      var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
-      var i, glyph, width, spacingLength;
-
-      if (isTextInvisible || fontSize === 0) {
-        return;
-      }
-
-      this._cachedGetSinglePixelWidth = null;
-      ctx.save();
-      ctx.transform.apply(ctx, current.textMatrix);
-      ctx.translate(current.x, current.y);
-      ctx.scale(textHScale, fontDirection);
-
-      for (i = 0; i < glyphsLength; ++i) {
-        glyph = glyphs[i];
-
-        if ((0, _util.isNum)(glyph)) {
-          spacingLength = spacingDir * glyph * fontSize / 1000;
-          this.ctx.translate(spacingLength, 0);
-          current.x += spacingLength * textHScale;
-          continue;
-        }
-
-        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
-        var operatorList = font.charProcOperatorList[glyph.operatorListId];
-
-        if (!operatorList) {
-          (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
-          continue;
-        }
-
-        this.processingType3 = glyph;
-        this.save();
-        ctx.scale(fontSize, fontSize);
-        ctx.transform.apply(ctx, fontMatrix);
-        this.executeOperatorList(operatorList);
-        this.restore();
-
-        var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);
-
-        width = transformed[0] * fontSize + spacing;
-        ctx.translate(width, 0);
-        current.x += width * textHScale;
-      }
-
-      ctx.restore();
-      this.processingType3 = null;
-    },
-    setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},
-    setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {
-      this.ctx.rect(llx, lly, urx - llx, ury - lly);
-      this.clip();
-      this.endPath();
-    },
-    getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
-      var _this = this;
-
-      var pattern;
-
-      if (IR[0] === "TilingPattern") {
-        var color = IR[1];
-        var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
-        var canvasGraphicsFactory = {
-          createCanvasGraphics: function createCanvasGraphics(ctx) {
-            return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);
-          }
-        };
-        pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
-      } else {
-        pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);
-      }
-
-      return pattern;
-    },
-    setStrokeColorN: function CanvasGraphics_setStrokeColorN() {
-      this.current.strokeColor = this.getColorN_Pattern(arguments);
-    },
-    setFillColorN: function CanvasGraphics_setFillColorN() {
-      this.current.fillColor = this.getColorN_Pattern(arguments);
-      this.current.patternFill = true;
-    },
-    setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
-      var color = _util.Util.makeCssRgb(r, g, b);
-
-      this.ctx.strokeStyle = color;
-      this.current.strokeColor = color;
-    },
-    setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
-      var color = _util.Util.makeCssRgb(r, g, b);
-
-      this.ctx.fillStyle = color;
-      this.current.fillColor = color;
-      this.current.patternFill = false;
-    },
-    shadingFill: function CanvasGraphics_shadingFill(patternIR) {
-      var ctx = this.ctx;
-      this.save();
-      var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);
-      ctx.fillStyle = pattern.getPattern(ctx, this, true);
-      var inv = ctx.mozCurrentTransformInverse;
-
-      if (inv) {
-        var canvas = ctx.canvas;
-        var width = canvas.width;
-        var height = canvas.height;
-
-        var bl = _util.Util.applyTransform([0, 0], inv);
-
-        var br = _util.Util.applyTransform([0, height], inv);
-
-        var ul = _util.Util.applyTransform([width, 0], inv);
-
-        var ur = _util.Util.applyTransform([width, height], inv);
-
-        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
-        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
-        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
-        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
-        this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
-      } else {
-        this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
-      }
-
-      this.restore();
-    },
-    beginInlineImage: function CanvasGraphics_beginInlineImage() {
-      (0, _util.unreachable)("Should not call beginInlineImage");
-    },
-    beginImageData: function CanvasGraphics_beginImageData() {
-      (0, _util.unreachable)("Should not call beginImageData");
-    },
-    paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {
-      this.save();
-      this.baseTransformStack.push(this.baseTransform);
-
-      if (Array.isArray(matrix) && matrix.length === 6) {
-        this.transform.apply(this, matrix);
-      }
-
-      this.baseTransform = this.ctx.mozCurrentTransform;
-
-      if (bbox) {
-        var width = bbox[2] - bbox[0];
-        var height = bbox[3] - bbox[1];
-        this.ctx.rect(bbox[0], bbox[1], width, height);
-        this.clip();
-        this.endPath();
-      }
-    },
-    paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {
-      this.restore();
-      this.baseTransform = this.baseTransformStack.pop();
-    },
-    beginGroup: function CanvasGraphics_beginGroup(group) {
-      this.save();
-      var currentCtx = this.ctx;
-
-      if (!group.isolated) {
-        (0, _util.info)("TODO: Support non-isolated groups.");
-      }
-
-      if (group.knockout) {
-        (0, _util.warn)("Knockout groups not supported.");
-      }
-
-      var currentTransform = currentCtx.mozCurrentTransform;
-
-      if (group.matrix) {
-        currentCtx.transform.apply(currentCtx, group.matrix);
-      }
-
-      if (!group.bbox) {
-        throw new Error("Bounding box is required.");
-      }
-
-      var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);
-
-      var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
-      bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
-      var offsetX = Math.floor(bounds[0]);
-      var offsetY = Math.floor(bounds[1]);
-      var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
-      var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
-      var scaleX = 1,
-          scaleY = 1;
-
-      if (drawnWidth > MAX_GROUP_SIZE) {
-        scaleX = drawnWidth / MAX_GROUP_SIZE;
-        drawnWidth = MAX_GROUP_SIZE;
-      }
-
-      if (drawnHeight > MAX_GROUP_SIZE) {
-        scaleY = drawnHeight / MAX_GROUP_SIZE;
-        drawnHeight = MAX_GROUP_SIZE;
-      }
-
-      var cacheId = "groupAt" + this.groupLevel;
-
-      if (group.smask) {
-        cacheId += "_smask_" + this.smaskCounter++ % 2;
-      }
-
-      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
-      var groupCtx = scratchCanvas.context;
-      groupCtx.scale(1 / scaleX, 1 / scaleY);
-      groupCtx.translate(-offsetX, -offsetY);
-      groupCtx.transform.apply(groupCtx, currentTransform);
-
-      if (group.smask) {
-        this.smaskStack.push({
-          canvas: scratchCanvas.canvas,
-          context: groupCtx,
-          offsetX: offsetX,
-          offsetY: offsetY,
-          scaleX: scaleX,
-          scaleY: scaleY,
-          subtype: group.smask.subtype,
-          backdrop: group.smask.backdrop,
-          transferMap: group.smask.transferMap || null,
-          startTransformInverse: null
-        });
-      } else {
-        currentCtx.setTransform(1, 0, 0, 1, 0, 0);
-        currentCtx.translate(offsetX, offsetY);
-        currentCtx.scale(scaleX, scaleY);
-      }
-
-      copyCtxState(currentCtx, groupCtx);
-      this.ctx = groupCtx;
-      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
-      this.groupStack.push(currentCtx);
-      this.groupLevel++;
-      this.current.activeSMask = null;
-    },
-    endGroup: function CanvasGraphics_endGroup(group) {
-      this.groupLevel--;
-      var groupCtx = this.ctx;
-      this.ctx = this.groupStack.pop();
-
-      if (this.ctx.imageSmoothingEnabled !== undefined) {
-        this.ctx.imageSmoothingEnabled = false;
-      } else {
-        this.ctx.mozImageSmoothingEnabled = false;
-      }
-
-      if (group.smask) {
-        this.tempSMask = this.smaskStack.pop();
-      } else {
-        this.ctx.drawImage(groupCtx.canvas, 0, 0);
-      }
-
-      this.restore();
-    },
-    beginAnnotations: function CanvasGraphics_beginAnnotations() {
-      this.save();
-
-      if (this.baseTransform) {
-        this.ctx.setTransform.apply(this.ctx, this.baseTransform);
-      }
-    },
-    endAnnotations: function CanvasGraphics_endAnnotations() {
-      this.restore();
-    },
-    beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {
-      this.save();
-      resetCtxToDefault(this.ctx);
-      this.current = new CanvasExtraState();
-
-      if (Array.isArray(rect) && rect.length === 4) {
-        var width = rect[2] - rect[0];
-        var height = rect[3] - rect[1];
-        this.ctx.rect(rect[0], rect[1], width, height);
-        this.clip();
-        this.endPath();
-      }
-
-      this.transform.apply(this, transform);
-      this.transform.apply(this, matrix);
-    },
-    endAnnotation: function CanvasGraphics_endAnnotation() {
-      this.restore();
-    },
-    paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {
-      var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
-
-      if (!domImage) {
-        (0, _util.warn)("Dependent image isn't ready yet");
-        return;
-      }
-
-      this.save();
-      var ctx = this.ctx;
-      ctx.scale(1 / w, -1 / h);
-      ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);
-
-      if (this.imageLayer) {
-        var currentTransform = ctx.mozCurrentTransformInverse;
-        var position = this.getCanvasPosition(0, 0);
-        this.imageLayer.appendImage({
-          objId: objId,
-          left: position[0],
-          top: position[1],
-          width: w / currentTransform[0],
-          height: h / currentTransform[3]
-        });
-      }
-
-      this.restore();
-    },
-    paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {
-      var ctx = this.ctx;
-      var width = img.width,
-          height = img.height;
-      var fillColor = this.current.fillColor;
-      var isPatternFill = this.current.patternFill;
-      var glyph = this.processingType3;
-
-      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
-        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
-          glyph.compiled = compileType3Glyph({
-            data: img.data,
-            width: width,
-            height: height
-          });
-        } else {
-          glyph.compiled = null;
-        }
-      }
-
-      if (glyph && glyph.compiled) {
-        glyph.compiled(ctx);
-        return;
-      }
-
-      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
-      var maskCtx = maskCanvas.context;
-      maskCtx.save();
-      putBinaryImageMask(maskCtx, img);
-      maskCtx.globalCompositeOperation = "source-in";
-      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
-      maskCtx.fillRect(0, 0, width, height);
-      maskCtx.restore();
-      this.paintInlineImageXObject(maskCanvas.canvas);
-    },
-    paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {
-      var width = imgData.width;
-      var height = imgData.height;
-      var fillColor = this.current.fillColor;
-      var isPatternFill = this.current.patternFill;
-      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
-      var maskCtx = maskCanvas.context;
-      maskCtx.save();
-      putBinaryImageMask(maskCtx, imgData);
-      maskCtx.globalCompositeOperation = "source-in";
-      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
-      maskCtx.fillRect(0, 0, width, height);
-      maskCtx.restore();
-      var ctx = this.ctx;
-
-      for (var i = 0, ii = positions.length; i < ii; i += 2) {
-        ctx.save();
-        ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);
-        ctx.scale(1, -1);
-        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
-        ctx.restore();
-      }
-    },
-    paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {
-      var ctx = this.ctx;
-      var fillColor = this.current.fillColor;
-      var isPatternFill = this.current.patternFill;
-
-      for (var i = 0, ii = images.length; i < ii; i++) {
-        var image = images[i];
-        var width = image.width,
-            height = image.height;
-        var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
-        var maskCtx = maskCanvas.context;
-        maskCtx.save();
-        putBinaryImageMask(maskCtx, image);
-        maskCtx.globalCompositeOperation = "source-in";
-        maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
-        maskCtx.fillRect(0, 0, width, height);
-        maskCtx.restore();
-        ctx.save();
-        ctx.transform.apply(ctx, image.transform);
-        ctx.scale(1, -1);
-        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
-        ctx.restore();
-      }
-    },
-    paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
-      var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
-
-      if (!imgData) {
-        (0, _util.warn)("Dependent image isn't ready yet");
-        return;
-      }
-
-      this.paintInlineImageXObject(imgData);
-    },
-    paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
-      var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
-
-      if (!imgData) {
-        (0, _util.warn)("Dependent image isn't ready yet");
-        return;
-      }
-
-      var width = imgData.width;
-      var height = imgData.height;
-      var map = [];
-
-      for (var i = 0, ii = positions.length; i < ii; i += 2) {
-        map.push({
-          transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
-          x: 0,
-          y: 0,
-          w: width,
-          h: height
-        });
-      }
-
-      this.paintInlineImageXObjectGroup(imgData, map);
-    },
-    paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {
-      var width = imgData.width;
-      var height = imgData.height;
-      var ctx = this.ctx;
-      this.save();
-      ctx.scale(1 / width, -1 / height);
-      var currentTransform = ctx.mozCurrentTransformInverse;
-      var a = currentTransform[0],
-          b = currentTransform[1];
-      var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);
-      var c = currentTransform[2],
-          d = currentTransform[3];
-      var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
-      var imgToPaint, tmpCanvas;
-
-      if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
-        imgToPaint = imgData;
-      } else {
-        tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
-        var tmpCtx = tmpCanvas.context;
-        putBinaryImageData(tmpCtx, imgData);
-        imgToPaint = tmpCanvas.canvas;
-      }
-
-      var paintWidth = width,
-          paintHeight = height;
-      var tmpCanvasId = "prescale1";
-
-      while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
-        var newWidth = paintWidth,
-            newHeight = paintHeight;
-
-        if (widthScale > 2 && paintWidth > 1) {
-          newWidth = Math.ceil(paintWidth / 2);
-          widthScale /= paintWidth / newWidth;
-        }
-
-        if (heightScale > 2 && paintHeight > 1) {
-          newHeight = Math.ceil(paintHeight / 2);
-          heightScale /= paintHeight / newHeight;
-        }
-
-        tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);
-        tmpCtx = tmpCanvas.context;
-        tmpCtx.clearRect(0, 0, newWidth, newHeight);
-        tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);
-        imgToPaint = tmpCanvas.canvas;
-        paintWidth = newWidth;
-        paintHeight = newHeight;
-        tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
-      }
-
-      ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);
-
-      if (this.imageLayer) {
-        var position = this.getCanvasPosition(0, -height);
-        this.imageLayer.appendImage({
-          imgData: imgData,
-          left: position[0],
-          top: position[1],
-          width: width / currentTransform[0],
-          height: height / currentTransform[3]
-        });
-      }
-
-      this.restore();
-    },
-    paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {
-      var ctx = this.ctx;
-      var w = imgData.width;
-      var h = imgData.height;
-      var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
-      var tmpCtx = tmpCanvas.context;
-      putBinaryImageData(tmpCtx, imgData);
-
-      for (var i = 0, ii = map.length; i < ii; i++) {
-        var entry = map[i];
-        ctx.save();
-        ctx.transform.apply(ctx, entry.transform);
-        ctx.scale(1, -1);
-        ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);
-
-        if (this.imageLayer) {
-          var position = this.getCanvasPosition(entry.x, entry.y);
-          this.imageLayer.appendImage({
-            imgData: imgData,
-            left: position[0],
-            top: position[1],
-            width: w,
-            height: h
-          });
-        }
-
-        ctx.restore();
-      }
-    },
-    paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {
-      this.ctx.fillRect(0, 0, 1, 1);
-    },
-    paintXObject: function CanvasGraphics_paintXObject() {
-      (0, _util.warn)("Unsupported 'paintXObject' command.");
-    },
-    markPoint: function CanvasGraphics_markPoint(tag) {},
-    markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},
-    beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},
-    beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},
-    endMarkedContent: function CanvasGraphics_endMarkedContent() {},
-    beginCompat: function CanvasGraphics_beginCompat() {},
-    endCompat: function CanvasGraphics_endCompat() {},
-    consumePath: function CanvasGraphics_consumePath() {
-      var ctx = this.ctx;
-
-      if (this.pendingClip) {
-        if (this.pendingClip === EO_CLIP) {
-          ctx.clip("evenodd");
-        } else {
-          ctx.clip();
-        }
-
-        this.pendingClip = null;
-      }
-
-      ctx.beginPath();
-    },
-    getSinglePixelWidth: function getSinglePixelWidth(scale) {
-      if (this._cachedGetSinglePixelWidth === null) {
-        var inverse = this.ctx.mozCurrentTransformInverse;
-        this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));
-      }
-
-      return this._cachedGetSinglePixelWidth;
-    },
-    getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {
-      var transform = this.ctx.mozCurrentTransform;
-      return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];
-    }
-  };
-
-  for (var op in _util.OPS) {
-    CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
-  }
-
-  return CanvasGraphics;
-}();
-
-exports.CanvasGraphics = CanvasGraphics;
-
-/***/ }),
-/* 198 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getShadingPatternFromIR = getShadingPatternFromIR;
-exports.TilingPattern = void 0;
-
-var _util = __w_pdfjs_require__(1);
-
-var ShadingIRs = {};
-
-function applyBoundingBox(ctx, bbox) {
-  if (!bbox || typeof Path2D === "undefined") {
-    return;
-  }
-
-  var width = bbox[2] - bbox[0];
-  var height = bbox[3] - bbox[1];
-  var region = new Path2D();
-  region.rect(bbox[0], bbox[1], width, height);
-  ctx.clip(region);
-}
-
-ShadingIRs.RadialAxial = {
-  fromIR: function RadialAxial_fromIR(raw) {
-    var type = raw[1];
-    var bbox = raw[2];
-    var colorStops = raw[3];
-    var p0 = raw[4];
-    var p1 = raw[5];
-    var r0 = raw[6];
-    var r1 = raw[7];
-    return {
-      type: "Pattern",
-      getPattern: function RadialAxial_getPattern(ctx) {
-        applyBoundingBox(ctx, bbox);
-        var grad;
-
-        if (type === "axial") {
-          grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
-        } else if (type === "radial") {
-          grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
-        }
-
-        for (var i = 0, ii = colorStops.length; i < ii; ++i) {
-          var c = colorStops[i];
-          grad.addColorStop(c[0], c[1]);
-        }
-
-        return grad;
-      }
-    };
-  }
-};
-
-var createMeshCanvas = function createMeshCanvasClosure() {
-  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
-    var coords = context.coords,
-        colors = context.colors;
-    var bytes = data.data,
-        rowSize = data.width * 4;
-    var tmp;
-
-    if (coords[p1 + 1] > coords[p2 + 1]) {
-      tmp = p1;
-      p1 = p2;
-      p2 = tmp;
-      tmp = c1;
-      c1 = c2;
-      c2 = tmp;
-    }
-
-    if (coords[p2 + 1] > coords[p3 + 1]) {
-      tmp = p2;
-      p2 = p3;
-      p3 = tmp;
-      tmp = c2;
-      c2 = c3;
-      c3 = tmp;
-    }
-
-    if (coords[p1 + 1] > coords[p2 + 1]) {
-      tmp = p1;
-      p1 = p2;
-      p2 = tmp;
-      tmp = c1;
-      c1 = c2;
-      c2 = tmp;
-    }
-
-    var x1 = (coords[p1] + context.offsetX) * context.scaleX;
-    var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
-    var x2 = (coords[p2] + context.offsetX) * context.scaleX;
-    var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
-    var x3 = (coords[p3] + context.offsetX) * context.scaleX;
-    var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
-
-    if (y1 >= y3) {
-      return;
-    }
-
-    var c1r = colors[c1],
-        c1g = colors[c1 + 1],
-        c1b = colors[c1 + 2];
-    var c2r = colors[c2],
-        c2g = colors[c2 + 1],
-        c2b = colors[c2 + 2];
-    var c3r = colors[c3],
-        c3g = colors[c3 + 1],
-        c3b = colors[c3 + 2];
-    var minY = Math.round(y1),
-        maxY = Math.round(y3);
-    var xa, car, cag, cab;
-    var xb, cbr, cbg, cbb;
-
-    for (var y = minY; y <= maxY; y++) {
-      if (y < y2) {
-        var _k = void 0;
-
-        if (y < y1) {
-          _k = 0;
-        } else if (y1 === y2) {
-          _k = 1;
-        } else {
-          _k = (y1 - y) / (y1 - y2);
-        }
-
-        xa = x1 - (x1 - x2) * _k;
-        car = c1r - (c1r - c2r) * _k;
-        cag = c1g - (c1g - c2g) * _k;
-        cab = c1b - (c1b - c2b) * _k;
-      } else {
-        var _k2 = void 0;
-
-        if (y > y3) {
-          _k2 = 1;
-        } else if (y2 === y3) {
-          _k2 = 0;
-        } else {
-          _k2 = (y2 - y) / (y2 - y3);
-        }
-
-        xa = x2 - (x2 - x3) * _k2;
-        car = c2r - (c2r - c3r) * _k2;
-        cag = c2g - (c2g - c3g) * _k2;
-        cab = c2b - (c2b - c3b) * _k2;
-      }
-
-      var k = void 0;
-
-      if (y < y1) {
-        k = 0;
-      } else if (y > y3) {
-        k = 1;
-      } else {
-        k = (y1 - y) / (y1 - y3);
-      }
-
-      xb = x1 - (x1 - x3) * k;
-      cbr = c1r - (c1r - c3r) * k;
-      cbg = c1g - (c1g - c3g) * k;
-      cbb = c1b - (c1b - c3b) * k;
-      var x1_ = Math.round(Math.min(xa, xb));
-      var x2_ = Math.round(Math.max(xa, xb));
-      var j = rowSize * y + x1_ * 4;
-
-      for (var x = x1_; x <= x2_; x++) {
-        var _k3 = (xa - x) / (xa - xb);
-
-        if (_k3 < 0) {
-          _k3 = 0;
-        } else if (_k3 > 1) {
-          _k3 = 1;
-        }
-
-        bytes[j++] = car - (car - cbr) * _k3 | 0;
-        bytes[j++] = cag - (cag - cbg) * _k3 | 0;
-        bytes[j++] = cab - (cab - cbb) * _k3 | 0;
-        bytes[j++] = 255;
-      }
-    }
-  }
-
-  function drawFigure(data, figure, context) {
-    var ps = figure.coords;
-    var cs = figure.colors;
-    var i, ii;
-
-    switch (figure.type) {
-      case "lattice":
-        var verticesPerRow = figure.verticesPerRow;
-        var rows = Math.floor(ps.length / verticesPerRow) - 1;
-        var cols = verticesPerRow - 1;
-
-        for (i = 0; i < rows; i++) {
-          var q = i * verticesPerRow;
-
-          for (var j = 0; j < cols; j++, q++) {
-            drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
-            drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
-          }
-        }
-
-        break;
-
-      case "triangles":
-        for (i = 0, ii = ps.length; i < ii; i += 3) {
-          drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
-        }
-
-        break;
-
-      default:
-        throw new Error("illegal figure");
-    }
-  }
-
-  function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
-    var EXPECTED_SCALE = 1.1;
-    var MAX_PATTERN_SIZE = 3000;
-    var BORDER_SIZE = 2;
-    var offsetX = Math.floor(bounds[0]);
-    var offsetY = Math.floor(bounds[1]);
-    var boundsWidth = Math.ceil(bounds[2]) - offsetX;
-    var boundsHeight = Math.ceil(bounds[3]) - offsetY;
-    var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
-    var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
-    var scaleX = boundsWidth / width;
-    var scaleY = boundsHeight / height;
-    var context = {
-      coords: coords,
-      colors: colors,
-      offsetX: -offsetX,
-      offsetY: -offsetY,
-      scaleX: 1 / scaleX,
-      scaleY: 1 / scaleY
-    };
-    var paddedWidth = width + BORDER_SIZE * 2;
-    var paddedHeight = height + BORDER_SIZE * 2;
-    var canvas, tmpCanvas, i, ii;
-
-    if (webGLContext.isEnabled) {
-      canvas = webGLContext.drawFigures({
-        width: width,
-        height: height,
-        backgroundColor: backgroundColor,
-        figures: figures,
-        context: context
-      });
-      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
-      tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
-      canvas = tmpCanvas.canvas;
-    } else {
-      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
-      var tmpCtx = tmpCanvas.context;
-      var data = tmpCtx.createImageData(width, height);
-
-      if (backgroundColor) {
-        var bytes = data.data;
-
-        for (i = 0, ii = bytes.length; i < ii; i += 4) {
-          bytes[i] = backgroundColor[0];
-          bytes[i + 1] = backgroundColor[1];
-          bytes[i + 2] = backgroundColor[2];
-          bytes[i + 3] = 255;
-        }
-      }
-
-      for (i = 0; i < figures.length; i++) {
-        drawFigure(data, figures[i], context);
-      }
-
-      tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
-      canvas = tmpCanvas.canvas;
-    }
-
-    return {
-      canvas: canvas,
-      offsetX: offsetX - BORDER_SIZE * scaleX,
-      offsetY: offsetY - BORDER_SIZE * scaleY,
-      scaleX: scaleX,
-      scaleY: scaleY
-    };
-  }
-
-  return createMeshCanvas;
-}();
-
-ShadingIRs.Mesh = {
-  fromIR: function Mesh_fromIR(raw) {
-    var coords = raw[2];
-    var colors = raw[3];
-    var figures = raw[4];
-    var bounds = raw[5];
-    var matrix = raw[6];
-    var bbox = raw[7];
-    var background = raw[8];
-    return {
-      type: "Pattern",
-      getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
-        applyBoundingBox(ctx, bbox);
-        var scale;
-
-        if (shadingFill) {
-          scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
-        } else {
-          scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);
-
-          if (matrix) {
-            var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);
-
-            scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
-          }
-        }
-
-        var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);
-
-        if (!shadingFill) {
-          ctx.setTransform.apply(ctx, owner.baseTransform);
-
-          if (matrix) {
-            ctx.transform.apply(ctx, matrix);
-          }
-        }
-
-        ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
-        ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
-        return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
-      }
-    };
-  }
-};
-ShadingIRs.Dummy = {
-  fromIR: function Dummy_fromIR() {
-    return {
-      type: "Pattern",
-      getPattern: function Dummy_fromIR_getPattern() {
-        return "hotpink";
-      }
-    };
-  }
-};
-
-function getShadingPatternFromIR(raw) {
-  var shadingIR = ShadingIRs[raw[0]];
-
-  if (!shadingIR) {
-    throw new Error("Unknown IR type: ".concat(raw[0]));
-  }
-
-  return shadingIR.fromIR(raw);
-}
-
-var TilingPattern = function TilingPatternClosure() {
-  var PaintType = {
-    COLORED: 1,
-    UNCOLORED: 2
-  };
-  var MAX_PATTERN_SIZE = 3000;
-
-  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
-    this.operatorList = IR[2];
-    this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
-    this.bbox = IR[4];
-    this.xstep = IR[5];
-    this.ystep = IR[6];
-    this.paintType = IR[7];
-    this.tilingType = IR[8];
-    this.color = color;
-    this.canvasGraphicsFactory = canvasGraphicsFactory;
-    this.baseTransform = baseTransform;
-    this.type = "Pattern";
-    this.ctx = ctx;
-  }
-
-  TilingPattern.prototype = {
-    createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {
-      var operatorList = this.operatorList;
-      var bbox = this.bbox;
-      var xstep = this.xstep;
-      var ystep = this.ystep;
-      var paintType = this.paintType;
-      var tilingType = this.tilingType;
-      var color = this.color;
-      var canvasGraphicsFactory = this.canvasGraphicsFactory;
-      (0, _util.info)("TilingType: " + tilingType);
-      var x0 = bbox[0],
-          y0 = bbox[1],
-          x1 = bbox[2],
-          y1 = bbox[3];
-
-      var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
-
-      var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
-
-      var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
-      var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
-      var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
-      var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
-      var tmpCtx = tmpCanvas.context;
-      var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
-      graphics.groupLevel = owner.groupLevel;
-      this.setFillAndStrokeStyleToContext(graphics, paintType, color);
-      graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
-      graphics.transform(1, 0, 0, 1, -x0, -y0);
-      this.clipBbox(graphics, bbox, x0, y0, x1, y1);
-      graphics.executeOperatorList(operatorList);
-      this.ctx.transform(1, 0, 0, 1, x0, y0);
-      this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);
-      return tmpCanvas.canvas;
-    },
-    getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {
-      step = Math.abs(step);
-      var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
-      var size = Math.ceil(step * scale);
-
-      if (size >= maxSize) {
-        size = maxSize;
-      } else {
-        scale = size / step;
-      }
-
-      return {
-        scale: scale,
-        size: size
-      };
-    },
-    clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
-      if (Array.isArray(bbox) && bbox.length === 4) {
-        var bboxWidth = x1 - x0;
-        var bboxHeight = y1 - y0;
-        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
-        graphics.clip();
-        graphics.endPath();
-      }
-    },
-    setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
-      var context = graphics.ctx,
-          current = graphics.current;
-
-      switch (paintType) {
-        case PaintType.COLORED:
-          var ctx = this.ctx;
-          context.fillStyle = ctx.fillStyle;
-          context.strokeStyle = ctx.strokeStyle;
-          current.fillColor = ctx.fillStyle;
-          current.strokeColor = ctx.strokeStyle;
-          break;
-
-        case PaintType.UNCOLORED:
-          var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);
-
-          context.fillStyle = cssColor;
-          context.strokeStyle = cssColor;
-          current.fillColor = cssColor;
-          current.strokeColor = cssColor;
-          break;
-
-        default:
-          throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
-      }
-    },
-    getPattern: function TilingPattern_getPattern(ctx, owner) {
-      ctx = this.ctx;
-      ctx.setTransform.apply(ctx, this.baseTransform);
-      ctx.transform.apply(ctx, this.matrix);
-      var temporaryPatternCanvas = this.createPatternCanvas(owner);
-      return ctx.createPattern(temporaryPatternCanvas, "repeat");
-    }
-  };
-  return TilingPattern;
-}();
-
-exports.TilingPattern = TilingPattern;
-
-/***/ }),
-/* 199 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.GlobalWorkerOptions = void 0;
-var GlobalWorkerOptions = Object.create(null);
-exports.GlobalWorkerOptions = GlobalWorkerOptions;
-GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;
-GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc;
-
-/***/ }),
-/* 200 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.MessageHandler = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var CallbackKind = {
-  UNKNOWN: 0,
-  DATA: 1,
-  ERROR: 2
-};
-var StreamKind = {
-  UNKNOWN: 0,
-  CANCEL: 1,
-  CANCEL_COMPLETE: 2,
-  CLOSE: 3,
-  ENQUEUE: 4,
-  ERROR: 5,
-  PULL: 6,
-  PULL_COMPLETE: 7,
-  START_COMPLETE: 8
-};
-
-function wrapReason(reason) {
-  if (_typeof(reason) !== "object" || reason === null) {
-    return reason;
-  }
-
-  switch (reason.name) {
-    case "AbortException":
-      return new _util.AbortException(reason.message);
-
-    case "MissingPDFException":
-      return new _util.MissingPDFException(reason.message);
-
-    case "UnexpectedResponseException":
-      return new _util.UnexpectedResponseException(reason.message, reason.status);
-
-    case "UnknownErrorException":
-      return new _util.UnknownErrorException(reason.message, reason.details);
-
-    default:
-      return new _util.UnknownErrorException(reason.message, reason.toString());
-  }
-}
-
-var MessageHandler = /*#__PURE__*/function () {
-  function MessageHandler(sourceName, targetName, comObj) {
-    var _this = this;
-
-    _classCallCheck(this, MessageHandler);
-
-    this.sourceName = sourceName;
-    this.targetName = targetName;
-    this.comObj = comObj;
-    this.callbackId = 1;
-    this.streamId = 1;
-    this.postMessageTransfers = true;
-    this.streamSinks = Object.create(null);
-    this.streamControllers = Object.create(null);
-    this.callbackCapabilities = Object.create(null);
-    this.actionHandler = Object.create(null);
-
-    this._onComObjOnMessage = function (event) {
-      var data = event.data;
-
-      if (data.targetName !== _this.sourceName) {
-        return;
-      }
-
-      if (data.stream) {
-        _this._processStreamMessage(data);
-
-        return;
-      }
-
-      if (data.callback) {
-        var callbackId = data.callbackId;
-        var capability = _this.callbackCapabilities[callbackId];
-
-        if (!capability) {
-          throw new Error("Cannot resolve callback ".concat(callbackId));
-        }
-
-        delete _this.callbackCapabilities[callbackId];
-
-        if (data.callback === CallbackKind.DATA) {
-          capability.resolve(data.data);
-        } else if (data.callback === CallbackKind.ERROR) {
-          capability.reject(wrapReason(data.reason));
-        } else {
-          throw new Error("Unexpected callback case");
-        }
-
-        return;
-      }
-
-      var action = _this.actionHandler[data.action];
-
-      if (!action) {
-        throw new Error("Unknown action from worker: ".concat(data.action));
-      }
-
-      if (data.callbackId) {
-        var _sourceName = _this.sourceName;
-        var _targetName = data.sourceName;
-        new Promise(function (resolve) {
-          resolve(action(data.data));
-        }).then(function (result) {
-          comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            callback: CallbackKind.DATA,
-            callbackId: data.callbackId,
-            data: result
-          });
-        }, function (reason) {
-          comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            callback: CallbackKind.ERROR,
-            callbackId: data.callbackId,
-            reason: wrapReason(reason)
-          });
-        });
-        return;
-      }
-
-      if (data.streamId) {
-        _this._createStreamSink(data);
-
-        return;
-      }
-
-      action(data.data);
-    };
-
-    comObj.addEventListener("message", this._onComObjOnMessage);
-  }
-
-  _createClass(MessageHandler, [{
-    key: "on",
-    value: function on(actionName, handler) {
-      var ah = this.actionHandler;
-
-      if (ah[actionName]) {
-        throw new Error("There is already an actionName called \"".concat(actionName, "\""));
-      }
-
-      ah[actionName] = handler;
-    }
-  }, {
-    key: "send",
-    value: function send(actionName, data, transfers) {
-      this._postMessage({
-        sourceName: this.sourceName,
-        targetName: this.targetName,
-        action: actionName,
-        data: data
-      }, transfers);
-    }
-  }, {
-    key: "sendWithPromise",
-    value: function sendWithPromise(actionName, data, transfers) {
-      var callbackId = this.callbackId++;
-      var capability = (0, _util.createPromiseCapability)();
-      this.callbackCapabilities[callbackId] = capability;
-
-      try {
-        this._postMessage({
-          sourceName: this.sourceName,
-          targetName: this.targetName,
-          action: actionName,
-          callbackId: callbackId,
-          data: data
-        }, transfers);
-      } catch (ex) {
-        capability.reject(ex);
-      }
-
-      return capability.promise;
-    }
-  }, {
-    key: "sendWithStream",
-    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {
-      var _this2 = this;
-
-      var streamId = this.streamId++;
-      var sourceName = this.sourceName;
-      var targetName = this.targetName;
-      var comObj = this.comObj;
-      return new ReadableStream({
-        start: function start(controller) {
-          var startCapability = (0, _util.createPromiseCapability)();
-          _this2.streamControllers[streamId] = {
-            controller: controller,
-            startCall: startCapability,
-            pullCall: null,
-            cancelCall: null,
-            isClosed: false
-          };
-
-          _this2._postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            action: actionName,
-            streamId: streamId,
-            data: data,
-            desiredSize: controller.desiredSize
-          }, transfers);
-
-          return startCapability.promise;
-        },
-        pull: function pull(controller) {
-          var pullCapability = (0, _util.createPromiseCapability)();
-          _this2.streamControllers[streamId].pullCall = pullCapability;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.PULL,
-            streamId: streamId,
-            desiredSize: controller.desiredSize
-          });
-          return pullCapability.promise;
-        },
-        cancel: function cancel(reason) {
-          (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
-          var cancelCapability = (0, _util.createPromiseCapability)();
-          _this2.streamControllers[streamId].cancelCall = cancelCapability;
-          _this2.streamControllers[streamId].isClosed = true;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.CANCEL,
-            streamId: streamId,
-            reason: wrapReason(reason)
-          });
-          return cancelCapability.promise;
-        }
-      }, queueingStrategy);
-    }
-  }, {
-    key: "_createStreamSink",
-    value: function _createStreamSink(data) {
-      var self = this;
-      var action = this.actionHandler[data.action];
-      var streamId = data.streamId;
-      var sourceName = this.sourceName;
-      var targetName = data.sourceName;
-      var comObj = this.comObj;
-      var streamSink = {
-        enqueue: function enqueue(chunk) {
-          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
-          var transfers = arguments.length > 2 ? arguments[2] : undefined;
-
-          if (this.isCancelled) {
-            return;
-          }
-
-          var lastDesiredSize = this.desiredSize;
-          this.desiredSize -= size;
-
-          if (lastDesiredSize > 0 && this.desiredSize <= 0) {
-            this.sinkCapability = (0, _util.createPromiseCapability)();
-            this.ready = this.sinkCapability.promise;
-          }
-
-          self._postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.ENQUEUE,
-            streamId: streamId,
-            chunk: chunk
-          }, transfers);
-        },
-        close: function close() {
-          if (this.isCancelled) {
-            return;
-          }
-
-          this.isCancelled = true;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.CLOSE,
-            streamId: streamId
-          });
-          delete self.streamSinks[streamId];
-        },
-        error: function error(reason) {
-          (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
-
-          if (this.isCancelled) {
-            return;
-          }
-
-          this.isCancelled = true;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.ERROR,
-            streamId: streamId,
-            reason: wrapReason(reason)
-          });
-        },
-        sinkCapability: (0, _util.createPromiseCapability)(),
-        onPull: null,
-        onCancel: null,
-        isCancelled: false,
-        desiredSize: data.desiredSize,
-        ready: null
-      };
-      streamSink.sinkCapability.resolve();
-      streamSink.ready = streamSink.sinkCapability.promise;
-      this.streamSinks[streamId] = streamSink;
-      new Promise(function (resolve) {
-        resolve(action(data.data, streamSink));
-      }).then(function () {
-        comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
-          stream: StreamKind.START_COMPLETE,
-          streamId: streamId,
-          success: true
-        });
-      }, function (reason) {
-        comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
-          stream: StreamKind.START_COMPLETE,
-          streamId: streamId,
-          reason: wrapReason(reason)
-        });
-      });
-    }
-  }, {
-    key: "_processStreamMessage",
-    value: function _processStreamMessage(data) {
-      var streamId = data.streamId;
-      var sourceName = this.sourceName;
-      var targetName = data.sourceName;
-      var comObj = this.comObj;
-
-      switch (data.stream) {
-        case StreamKind.START_COMPLETE:
-          if (data.success) {
-            this.streamControllers[streamId].startCall.resolve();
-          } else {
-            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));
-          }
-
-          break;
-
-        case StreamKind.PULL_COMPLETE:
-          if (data.success) {
-            this.streamControllers[streamId].pullCall.resolve();
-          } else {
-            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));
-          }
-
-          break;
-
-        case StreamKind.PULL:
-          if (!this.streamSinks[streamId]) {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.PULL_COMPLETE,
-              streamId: streamId,
-              success: true
-            });
-            break;
-          }
-
-          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {
-            this.streamSinks[streamId].sinkCapability.resolve();
-          }
-
-          this.streamSinks[streamId].desiredSize = data.desiredSize;
-          var onPull = this.streamSinks[data.streamId].onPull;
-          new Promise(function (resolve) {
-            resolve(onPull && onPull());
-          }).then(function () {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.PULL_COMPLETE,
-              streamId: streamId,
-              success: true
-            });
-          }, function (reason) {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.PULL_COMPLETE,
-              streamId: streamId,
-              reason: wrapReason(reason)
-            });
-          });
-          break;
-
-        case StreamKind.ENQUEUE:
-          (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");
-
-          if (this.streamControllers[streamId].isClosed) {
-            break;
-          }
-
-          this.streamControllers[streamId].controller.enqueue(data.chunk);
-          break;
-
-        case StreamKind.CLOSE:
-          (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");
-
-          if (this.streamControllers[streamId].isClosed) {
-            break;
-          }
-
-          this.streamControllers[streamId].isClosed = true;
-          this.streamControllers[streamId].controller.close();
-
-          this._deleteStreamController(streamId);
-
-          break;
-
-        case StreamKind.ERROR:
-          (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
-          this.streamControllers[streamId].controller.error(wrapReason(data.reason));
-
-          this._deleteStreamController(streamId);
-
-          break;
-
-        case StreamKind.CANCEL_COMPLETE:
-          if (data.success) {
-            this.streamControllers[streamId].cancelCall.resolve();
-          } else {
-            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
-          }
-
-          this._deleteStreamController(streamId);
-
-          break;
-
-        case StreamKind.CANCEL:
-          if (!this.streamSinks[streamId]) {
-            break;
-          }
-
-          var onCancel = this.streamSinks[data.streamId].onCancel;
-          new Promise(function (resolve) {
-            resolve(onCancel && onCancel(wrapReason(data.reason)));
-          }).then(function () {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.CANCEL_COMPLETE,
-              streamId: streamId,
-              success: true
-            });
-          }, function (reason) {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.CANCEL_COMPLETE,
-              streamId: streamId,
-              reason: wrapReason(reason)
-            });
-          });
-          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));
-          this.streamSinks[streamId].isCancelled = true;
-          delete this.streamSinks[streamId];
-          break;
-
-        default:
-          throw new Error("Unexpected stream case");
-      }
-    }
-  }, {
-    key: "_deleteStreamController",
-    value: function () {
-      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamId) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {
-                  return capability && capability.promise;
-                }));
-
-              case 2:
-                delete this.streamControllers[streamId];
-
-              case 3:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function _deleteStreamController(_x) {
-        return _deleteStreamController2.apply(this, arguments);
-      }
-
-      return _deleteStreamController;
-    }()
-  }, {
-    key: "_postMessage",
-    value: function _postMessage(message, transfers) {
-      if (transfers && this.postMessageTransfers) {
-        this.comObj.postMessage(message, transfers);
-      } else {
-        this.comObj.postMessage(message);
-      }
-    }
-  }, {
-    key: "destroy",
-    value: function destroy() {
-      this.comObj.removeEventListener("message", this._onComObjOnMessage);
-    }
-  }]);
-
-  return MessageHandler;
-}();
-
-exports.MessageHandler = MessageHandler;
-
-/***/ }),
-/* 201 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Metadata = void 0;
-
-var _util = __w_pdfjs_require__(1);
-
-var _xml_parser = __w_pdfjs_require__(202);
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var Metadata = /*#__PURE__*/function () {
-  function Metadata(data) {
-    _classCallCheck(this, Metadata);
-
-    (0, _util.assert)(typeof data === "string", "Metadata: input is not a string");
-    data = this._repair(data);
-    var parser = new _xml_parser.SimpleXMLParser();
-    var xmlDocument = parser.parseFromString(data);
-    this._metadataMap = new Map();
-
-    if (xmlDocument) {
-      this._parse(xmlDocument);
-    }
-  }
-
-  _createClass(Metadata, [{
-    key: "_repair",
-    value: function _repair(data) {
-      return data.replace(/^[^<]+/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) {
-        var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
-          return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
-        }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
-          switch (name) {
-            case "amp":
-              return "&";
-
-            case "apos":
-              return "'";
-
-            case "gt":
-              return ">";
-
-            case "lt":
-              return "<";
-
-            case "quot":
-              return '"';
-          }
-
-          throw new Error("_repair: ".concat(name, " isn't defined."));
-        });
-        var chars = "";
-
-        for (var i = 0, ii = bytes.length; i < ii; i += 2) {
-          var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);
-
-          if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
-            chars += String.fromCharCode(code);
-          } else {
-            chars += "&#x" + (0x10000 + code).toString(16).substring(1) + ";";
-          }
-        }
-
-        return ">" + chars;
-      });
-    }
-  }, {
-    key: "_parse",
-    value: function _parse(xmlDocument) {
-      var rdf = xmlDocument.documentElement;
-
-      if (rdf.nodeName.toLowerCase() !== "rdf:rdf") {
-        rdf = rdf.firstChild;
-
-        while (rdf && rdf.nodeName.toLowerCase() !== "rdf:rdf") {
-          rdf = rdf.nextSibling;
-        }
-      }
-
-      var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;
-
-      if (!rdf || nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) {
-        return;
-      }
-
-      var children = rdf.childNodes;
-
-      for (var i = 0, ii = children.length; i < ii; i++) {
-        var desc = children[i];
-
-        if (desc.nodeName.toLowerCase() !== "rdf:description") {
-          continue;
-        }
-
-        for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {
-          if (desc.childNodes[j].nodeName.toLowerCase() !== "#text") {
-            var entry = desc.childNodes[j];
-            var name = entry.nodeName.toLowerCase();
-
-            this._metadataMap.set(name, entry.textContent.trim());
-          }
-        }
-      }
-    }
-  }, {
-    key: "get",
-    value: function get(name) {
-      return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;
-    }
-  }, {
-    key: "getAll",
-    value: function getAll() {
-      var obj = Object.create(null);
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = this._metadataMap[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var _step$value = _slicedToArray(_step.value, 2),
-              key = _step$value[0],
-              value = _step$value[1];
-
-          obj[key] = value;
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-
-      return obj;
-    }
-  }, {
-    key: "has",
-    value: function has(name) {
-      return this._metadataMap.has(name);
-    }
-  }]);
-
-  return Metadata;
-}();
-
-exports.Metadata = Metadata;
-
-/***/ }),
-/* 202 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.SimpleXMLParser = void 0;
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var XMLParserErrorCode = {
-  NoError: 0,
-  EndOfDocument: -1,
-  UnterminatedCdat: -2,
-  UnterminatedXmlDeclaration: -3,
-  UnterminatedDoctypeDeclaration: -4,
-  UnterminatedComment: -5,
-  MalformedElement: -6,
-  OutOfMemory: -7,
-  UnterminatedAttributeValue: -8,
-  UnterminatedElement: -9,
-  ElementNeverBegun: -10
-};
-
-function isWhitespace(s, index) {
-  var ch = s[index];
-  return ch === " " || ch === "\n" || ch === "\r" || ch === "\t";
-}
-
-function isWhitespaceString(s) {
-  for (var i = 0, ii = s.length; i < ii; i++) {
-    if (!isWhitespace(s, i)) {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-var XMLParserBase = /*#__PURE__*/function () {
-  function XMLParserBase() {
-    _classCallCheck(this, XMLParserBase);
-  }
-
-  _createClass(XMLParserBase, [{
-    key: "_resolveEntities",
-    value: function _resolveEntities(s) {
-      var _this = this;
-
-      return s.replace(/&([^;]+);/g, function (all, entity) {
-        if (entity.substring(0, 2) === "#x") {
-          return String.fromCharCode(parseInt(entity.substring(2), 16));
-        } else if (entity.substring(0, 1) === "#") {
-          return String.fromCharCode(parseInt(entity.substring(1), 10));
-        }
-
-        switch (entity) {
-          case "lt":
-            return "<";
-
-          case "gt":
-            return ">";
-
-          case "amp":
-            return "&";
-
-          case "quot":
-            return '"';
-        }
-
-        return _this.onResolveEntity(entity);
-      });
-    }
-  }, {
-    key: "_parseContent",
-    value: function _parseContent(s, start) {
-      var attributes = [];
-      var pos = start;
-
-      function skipWs() {
-        while (pos < s.length && isWhitespace(s, pos)) {
-          ++pos;
-        }
-      }
-
-      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
-        ++pos;
-      }
-
-      var name = s.substring(start, pos);
-      skipWs();
-
-      while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") {
-        skipWs();
-        var attrName = "",
-            attrValue = "";
-
-        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") {
-          attrName += s[pos];
-          ++pos;
-        }
-
-        skipWs();
-
-        if (s[pos] !== "=") {
-          return null;
-        }
-
-        ++pos;
-        skipWs();
-        var attrEndChar = s[pos];
-
-        if (attrEndChar !== '"' && attrEndChar !== "'") {
-          return null;
-        }
-
-        var attrEndIndex = s.indexOf(attrEndChar, ++pos);
-
-        if (attrEndIndex < 0) {
-          return null;
-        }
-
-        attrValue = s.substring(pos, attrEndIndex);
-        attributes.push({
-          name: attrName,
-          value: this._resolveEntities(attrValue)
-        });
-        pos = attrEndIndex + 1;
-        skipWs();
-      }
-
-      return {
-        name: name,
-        attributes: attributes,
-        parsed: pos - start
-      };
-    }
-  }, {
-    key: "_parseProcessingInstruction",
-    value: function _parseProcessingInstruction(s, start) {
-      var pos = start;
-
-      function skipWs() {
-        while (pos < s.length && isWhitespace(s, pos)) {
-          ++pos;
-        }
-      }
-
-      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
-        ++pos;
-      }
-
-      var name = s.substring(start, pos);
-      skipWs();
-      var attrStart = pos;
-
-      while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) {
-        ++pos;
-      }
-
-      var value = s.substring(attrStart, pos);
-      return {
-        name: name,
-        value: value,
-        parsed: pos - start
-      };
-    }
-  }, {
-    key: "parseXml",
-    value: function parseXml(s) {
-      var i = 0;
-
-      while (i < s.length) {
-        var ch = s[i];
-        var j = i;
-
-        if (ch === "<") {
-          ++j;
-          var ch2 = s[j];
-          var q = void 0;
-
-          switch (ch2) {
-            case "/":
-              ++j;
-              q = s.indexOf(">", j);
-
-              if (q < 0) {
-                this.onError(XMLParserErrorCode.UnterminatedElement);
-                return;
-              }
-
-              this.onEndElement(s.substring(j, q));
-              j = q + 1;
-              break;
-
-            case "?":
-              ++j;
-
-              var pi = this._parseProcessingInstruction(s, j);
-
-              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") {
-                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
-                return;
-              }
-
-              this.onPi(pi.name, pi.value);
-              j += pi.parsed + 2;
-              break;
-
-            case "!":
-              if (s.substring(j + 1, j + 3) === "--") {
-                q = s.indexOf("-->", j + 3);
-
-                if (q < 0) {
-                  this.onError(XMLParserErrorCode.UnterminatedComment);
-                  return;
-                }
-
-                this.onComment(s.substring(j + 3, q));
-                j = q + 3;
-              } else if (s.substring(j + 1, j + 8) === "[CDATA[") {
-                q = s.indexOf("]]>", j + 8);
-
-                if (q < 0) {
-                  this.onError(XMLParserErrorCode.UnterminatedCdat);
-                  return;
-                }
-
-                this.onCdata(s.substring(j + 8, q));
-                j = q + 3;
-              } else if (s.substring(j + 1, j + 8) === "DOCTYPE") {
-                var q2 = s.indexOf("[", j + 8);
-                var complexDoctype = false;
-                q = s.indexOf(">", j + 8);
-
-                if (q < 0) {
-                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
-                  return;
-                }
-
-                if (q2 > 0 && q > q2) {
-                  q = s.indexOf("]>", j + 8);
-
-                  if (q < 0) {
-                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
-                    return;
-                  }
-
-                  complexDoctype = true;
-                }
-
-                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
-                this.onDoctype(doctypeContent);
-                j = q + (complexDoctype ? 2 : 1);
-              } else {
-                this.onError(XMLParserErrorCode.MalformedElement);
-                return;
-              }
-
-              break;
-
-            default:
-              var content = this._parseContent(s, j);
-
-              if (content === null) {
-                this.onError(XMLParserErrorCode.MalformedElement);
-                return;
-              }
-
-              var isClosed = false;
-
-              if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") {
-                isClosed = true;
-              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") {
-                this.onError(XMLParserErrorCode.UnterminatedElement);
-                return;
-              }
-
-              this.onBeginElement(content.name, content.attributes, isClosed);
-              j += content.parsed + (isClosed ? 2 : 1);
-              break;
-          }
-        } else {
-          while (j < s.length && s[j] !== "<") {
-            j++;
-          }
-
-          var text = s.substring(i, j);
-          this.onText(this._resolveEntities(text));
-        }
-
-        i = j;
-      }
-    }
-  }, {
-    key: "onResolveEntity",
-    value: function onResolveEntity(name) {
-      return "&".concat(name, ";");
-    }
-  }, {
-    key: "onPi",
-    value: function onPi(name, value) {}
-  }, {
-    key: "onComment",
-    value: function onComment(text) {}
-  }, {
-    key: "onCdata",
-    value: function onCdata(text) {}
-  }, {
-    key: "onDoctype",
-    value: function onDoctype(doctypeContent) {}
-  }, {
-    key: "onText",
-    value: function onText(text) {}
-  }, {
-    key: "onBeginElement",
-    value: function onBeginElement(name, attributes, isEmpty) {}
-  }, {
-    key: "onEndElement",
-    value: function onEndElement(name) {}
-  }, {
-    key: "onError",
-    value: function onError(code) {}
-  }]);
-
-  return XMLParserBase;
-}();
-
-var SimpleDOMNode = /*#__PURE__*/function () {
-  function SimpleDOMNode(nodeName, nodeValue) {
-    _classCallCheck(this, SimpleDOMNode);
-
-    this.nodeName = nodeName;
-    this.nodeValue = nodeValue;
-    Object.defineProperty(this, "parentNode", {
-      value: null,
-      writable: true
-    });
-  }
-
-  _createClass(SimpleDOMNode, [{
-    key: "hasChildNodes",
-    value: function hasChildNodes() {
-      return this.childNodes && this.childNodes.length > 0;
-    }
-  }, {
-    key: "firstChild",
-    get: function get() {
-      return this.childNodes && this.childNodes[0];
-    }
-  }, {
-    key: "nextSibling",
-    get: function get() {
-      var childNodes = this.parentNode.childNodes;
-
-      if (!childNodes) {
-        return undefined;
-      }
-
-      var index = childNodes.indexOf(this);
-
-      if (index === -1) {
-        return undefined;
-      }
-
-      return childNodes[index + 1];
-    }
-  }, {
-    key: "textContent",
-    get: function get() {
-      if (!this.childNodes) {
-        return this.nodeValue || "";
-      }
-
-      return this.childNodes.map(function (child) {
-        return child.textContent;
-      }).join("");
-    }
-  }]);
-
-  return SimpleDOMNode;
-}();
-
-var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {
-  _inherits(SimpleXMLParser, _XMLParserBase);
-
-  function SimpleXMLParser() {
-    var _this2;
-
-    _classCallCheck(this, SimpleXMLParser);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));
-    _this2._currentFragment = null;
-    _this2._stack = null;
-    _this2._errorCode = XMLParserErrorCode.NoError;
-    return _this2;
-  }
-
-  _createClass(SimpleXMLParser, [{
-    key: "parseFromString",
-    value: function parseFromString(data) {
-      this._currentFragment = [];
-      this._stack = [];
-      this._errorCode = XMLParserErrorCode.NoError;
-      this.parseXml(data);
-
-      if (this._errorCode !== XMLParserErrorCode.NoError) {
-        return undefined;
-      }
-
-      var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),
-          documentElement = _this$_currentFragmen[0];
-
-      if (!documentElement) {
-        return undefined;
-      }
-
-      return {
-        documentElement: documentElement
-      };
-    }
-  }, {
-    key: "onResolveEntity",
-    value: function onResolveEntity(name) {
-      switch (name) {
-        case "apos":
-          return "'";
-      }
-
-      return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name);
-    }
-  }, {
-    key: "onText",
-    value: function onText(text) {
-      if (isWhitespaceString(text)) {
-        return;
-      }
-
-      var node = new SimpleDOMNode("#text", text);
-
-      this._currentFragment.push(node);
-    }
-  }, {
-    key: "onCdata",
-    value: function onCdata(text) {
-      var node = new SimpleDOMNode("#text", text);
-
-      this._currentFragment.push(node);
-    }
-  }, {
-    key: "onBeginElement",
-    value: function onBeginElement(name, attributes, isEmpty) {
-      var node = new SimpleDOMNode(name);
-      node.childNodes = [];
-
-      this._currentFragment.push(node);
-
-      if (isEmpty) {
-        return;
-      }
-
-      this._stack.push(this._currentFragment);
-
-      this._currentFragment = node.childNodes;
-    }
-  }, {
-    key: "onEndElement",
-    value: function onEndElement(name) {
-      this._currentFragment = this._stack.pop() || [];
-      var lastElement = this._currentFragment[this._currentFragment.length - 1];
-
-      if (!lastElement) {
-        return;
-      }
-
-      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
-        lastElement.childNodes[i].parentNode = lastElement;
-      }
-    }
-  }, {
-    key: "onError",
-    value: function onError(code) {
-      this._errorCode = code;
-    }
-  }]);
-
-  return SimpleXMLParser;
-}(XMLParserBase);
-
-exports.SimpleXMLParser = SimpleXMLParser;
-
-/***/ }),
-/* 203 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFDataTransportStream = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PDFDataTransportStream = /*#__PURE__*/function () {
-  function PDFDataTransportStream(params, pdfDataRangeTransport) {
-    var _this = this;
-
-    _classCallCheck(this, PDFDataTransportStream);
-
-    (0, _util.assert)(pdfDataRangeTransport);
-    this._queuedChunks = [];
-    this._progressiveDone = params.progressiveDone || false;
-    var initialData = params.initialData;
-
-    if (initialData && initialData.length > 0) {
-      var buffer = new Uint8Array(initialData).buffer;
-
-      this._queuedChunks.push(buffer);
-    }
-
-    this._pdfDataRangeTransport = pdfDataRangeTransport;
-    this._isStreamingSupported = !params.disableStream;
-    this._isRangeSupported = !params.disableRange;
-    this._contentLength = params.length;
-    this._fullRequestReader = null;
-    this._rangeReaders = [];
-
-    this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
-      _this._onReceiveData({
-        begin: begin,
-        chunk: chunk
-      });
-    });
-
-    this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
-      _this._onProgress({
-        loaded: loaded,
-        total: total
-      });
-    });
-
-    this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
-      _this._onReceiveData({
-        chunk: chunk
-      });
-    });
-
-    this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
-      _this._onProgressiveDone();
-    });
-
-    this._pdfDataRangeTransport.transportReady();
-  }
-
-  _createClass(PDFDataTransportStream, [{
-    key: "_onReceiveData",
-    value: function _onReceiveData(args) {
-      var buffer = new Uint8Array(args.chunk).buffer;
-
-      if (args.begin === undefined) {
-        if (this._fullRequestReader) {
-          this._fullRequestReader._enqueue(buffer);
-        } else {
-          this._queuedChunks.push(buffer);
-        }
-      } else {
-        var found = this._rangeReaders.some(function (rangeReader) {
-          if (rangeReader._begin !== args.begin) {
-            return false;
-          }
-
-          rangeReader._enqueue(buffer);
-
-          return true;
-        });
-
-        (0, _util.assert)(found);
-      }
-    }
-  }, {
-    key: "_onProgress",
-    value: function _onProgress(evt) {
-      if (evt.total === undefined) {
-        var firstReader = this._rangeReaders[0];
-
-        if (firstReader && firstReader.onProgress) {
-          firstReader.onProgress({
-            loaded: evt.loaded
-          });
-        }
-      } else {
-        var fullReader = this._fullRequestReader;
-
-        if (fullReader && fullReader.onProgress) {
-          fullReader.onProgress({
-            loaded: evt.loaded,
-            total: evt.total
-          });
-        }
-      }
-    }
-  }, {
-    key: "_onProgressiveDone",
-    value: function _onProgressiveDone() {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.progressiveDone();
-      }
-
-      this._progressiveDone = true;
-    }
-  }, {
-    key: "_removeRangeReader",
-    value: function _removeRangeReader(reader) {
-      var i = this._rangeReaders.indexOf(reader);
-
-      if (i >= 0) {
-        this._rangeReaders.splice(i, 1);
-      }
-    }
-  }, {
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      var queuedChunks = this._queuedChunks;
-      this._queuedChunks = null;
-      return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      if (end <= this._progressiveDataLength) {
-        return null;
-      }
-
-      var reader = new PDFDataTransportStreamRangeReader(this, begin, end);
-
-      this._pdfDataRangeTransport.requestDataRange(begin, end);
-
-      this._rangeReaders.push(reader);
-
-      return reader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
-
-      var readers = this._rangeReaders.slice(0);
-
-      readers.forEach(function (rangeReader) {
-        rangeReader.cancel(reason);
-      });
-
-      this._pdfDataRangeTransport.abort();
-    }
-  }, {
-    key: "_progressiveDataLength",
-    get: function get() {
-      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
-    }
-  }]);
-
-  return PDFDataTransportStream;
-}();
-
-exports.PDFDataTransportStream = PDFDataTransportStream;
-
-var PDFDataTransportStreamReader = /*#__PURE__*/function () {
-  function PDFDataTransportStreamReader(stream, queuedChunks) {
-    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    _classCallCheck(this, PDFDataTransportStreamReader);
-
-    this._stream = stream;
-    this._done = progressiveDone || false;
-    this._filename = null;
-    this._queuedChunks = queuedChunks || [];
-    this._loaded = 0;
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
-
-    try {
-      for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-        var chunk = _step.value;
-        this._loaded += chunk.byteLength;
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-          _iterator["return"]();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
-      }
-    }
-
-    this._requests = [];
-    this._headersReady = Promise.resolve();
-    stream._fullRequestReader = this;
-    this.onProgress = null;
-  }
-
-  _createClass(PDFDataTransportStreamReader, [{
-    key: "_enqueue",
-    value: function _enqueue(chunk) {
-      if (this._done) {
-        return;
-      }
-
-      if (this._requests.length > 0) {
-        var requestCapability = this._requests.shift();
-
-        requestCapability.resolve({
-          value: chunk,
-          done: false
-        });
-      } else {
-        this._queuedChunks.push(chunk);
-      }
-
-      this._loaded += chunk.byteLength;
-    }
-  }, {
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!(this._queuedChunks.length > 0)) {
-                  _context.next = 3;
-                  break;
-                }
-
-                chunk = this._queuedChunks.shift();
-                return _context.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
-
-              case 3:
-                if (!this._done) {
-                  _context.next = 5;
-                  break;
-                }
-
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 5:
-                requestCapability = (0, _util.createPromiseCapability)();
-
-                this._requests.push(requestCapability);
-
-                return _context.abrupt("return", requestCapability.promise);
-
-              case 8:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function read() {
-        return _read.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
-
-      this._requests = [];
-    }
-  }, {
-    key: "progressiveDone",
-    value: function progressiveDone() {
-      if (this._done) {
-        return;
-      }
-
-      this._done = true;
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersReady;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._stream._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._stream._isStreamingSupported;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._stream._contentLength;
-    }
-  }]);
-
-  return PDFDataTransportStreamReader;
-}();
-
-var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {
-  function PDFDataTransportStreamRangeReader(stream, begin, end) {
-    _classCallCheck(this, PDFDataTransportStreamRangeReader);
-
-    this._stream = stream;
-    this._begin = begin;
-    this._end = end;
-    this._queuedChunk = null;
-    this._requests = [];
-    this._done = false;
-    this.onProgress = null;
-  }
-
-  _createClass(PDFDataTransportStreamRangeReader, [{
-    key: "_enqueue",
-    value: function _enqueue(chunk) {
-      if (this._done) {
-        return;
-      }
-
-      if (this._requests.length === 0) {
-        this._queuedChunk = chunk;
-      } else {
-        var requestsCapability = this._requests.shift();
-
-        requestsCapability.resolve({
-          value: chunk,
-          done: false
-        });
-
-        this._requests.forEach(function (requestCapability) {
-          requestCapability.resolve({
-            value: undefined,
-            done: true
-          });
-        });
-
-        this._requests = [];
-      }
-
-      this._done = true;
-
-      this._stream._removeRangeReader(this);
-    }
-  }, {
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (!this._queuedChunk) {
-                  _context2.next = 4;
-                  break;
-                }
-
-                chunk = this._queuedChunk;
-                this._queuedChunk = null;
-                return _context2.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
-
-              case 4:
-                if (!this._done) {
-                  _context2.next = 6;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 6:
-                requestCapability = (0, _util.createPromiseCapability)();
-
-                this._requests.push(requestCapability);
-
-                return _context2.abrupt("return", requestCapability.promise);
-
-              case 9:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function read() {
-        return _read2.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
-
-      this._requests = [];
-
-      this._stream._removeRangeReader(this);
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return false;
-    }
-  }]);
-
-  return PDFDataTransportStreamRangeReader;
-}();
-
-/***/ }),
-/* 204 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.WebGLContext = void 0;
-
-var _util = __w_pdfjs_require__(1);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var WebGLContext = /*#__PURE__*/function () {
-  function WebGLContext(_ref) {
-    var _ref$enable = _ref.enable,
-        enable = _ref$enable === void 0 ? false : _ref$enable;
-
-    _classCallCheck(this, WebGLContext);
-
-    this._enabled = enable === true;
-  }
-
-  _createClass(WebGLContext, [{
-    key: "composeSMask",
-    value: function composeSMask(_ref2) {
-      var layer = _ref2.layer,
-          mask = _ref2.mask,
-          properties = _ref2.properties;
-      return WebGLUtils.composeSMask(layer, mask, properties);
-    }
-  }, {
-    key: "drawFigures",
-    value: function drawFigures(_ref3) {
-      var width = _ref3.width,
-          height = _ref3.height,
-          backgroundColor = _ref3.backgroundColor,
-          figures = _ref3.figures,
-          context = _ref3.context;
-      return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
-    }
-  }, {
-    key: "clear",
-    value: function clear() {
-      WebGLUtils.cleanup();
-    }
-  }, {
-    key: "isEnabled",
-    get: function get() {
-      var enabled = this._enabled;
-
-      if (enabled) {
-        enabled = WebGLUtils.tryInitGL();
-      }
-
-      return (0, _util.shadow)(this, "isEnabled", enabled);
-    }
-  }]);
-
-  return WebGLContext;
-}();
-
-exports.WebGLContext = WebGLContext;
-
-var WebGLUtils = function WebGLUtilsClosure() {
-  function loadShader(gl, code, shaderType) {
-    var shader = gl.createShader(shaderType);
-    gl.shaderSource(shader, code);
-    gl.compileShader(shader);
-    var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
-
-    if (!compiled) {
-      var errorMsg = gl.getShaderInfoLog(shader);
-      throw new Error("Error during shader compilation: " + errorMsg);
-    }
-
-    return shader;
-  }
-
-  function createVertexShader(gl, code) {
-    return loadShader(gl, code, gl.VERTEX_SHADER);
-  }
-
-  function createFragmentShader(gl, code) {
-    return loadShader(gl, code, gl.FRAGMENT_SHADER);
-  }
-
-  function createProgram(gl, shaders) {
-    var program = gl.createProgram();
-
-    for (var i = 0, ii = shaders.length; i < ii; ++i) {
-      gl.attachShader(program, shaders[i]);
-    }
-
-    gl.linkProgram(program);
-    var linked = gl.getProgramParameter(program, gl.LINK_STATUS);
-
-    if (!linked) {
-      var errorMsg = gl.getProgramInfoLog(program);
-      throw new Error("Error during program linking: " + errorMsg);
-    }
-
-    return program;
-  }
-
-  function createTexture(gl, image, textureId) {
-    gl.activeTexture(textureId);
-    var texture = gl.createTexture();
-    gl.bindTexture(gl.TEXTURE_2D, texture);
-    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
-    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
-    return texture;
-  }
-
-  var currentGL, currentCanvas;
-
-  function generateGL() {
-    if (currentGL) {
-      return;
-    }
-
-    currentCanvas = document.createElement("canvas");
-    currentGL = currentCanvas.getContext("webgl", {
-      premultipliedalpha: false
-    });
-  }
-
-  var smaskVertexShaderCode = "\
-  attribute vec2 a_position;                                    \
-  attribute vec2 a_texCoord;                                    \
-                                                                \
-  uniform vec2 u_resolution;                                    \
-                                                                \
-  varying vec2 v_texCoord;                                      \
-                                                                \
-  void main() {                                                 \
-    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \
-    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
-                                                                \
-    v_texCoord = a_texCoord;                                    \
-  }                                                             ";
-  var smaskFragmentShaderCode = "\
-  precision mediump float;                                      \
-                                                                \
-  uniform vec4 u_backdrop;                                      \
-  uniform int u_subtype;                                        \
-  uniform sampler2D u_image;                                    \
-  uniform sampler2D u_mask;                                     \
-                                                                \
-  varying vec2 v_texCoord;                                      \
-                                                                \
-  void main() {                                                 \
-    vec4 imageColor = texture2D(u_image, v_texCoord);           \
-    vec4 maskColor = texture2D(u_mask, v_texCoord);             \
-    if (u_backdrop.a > 0.0) {                                   \
-      maskColor.rgb = maskColor.rgb * maskColor.a +             \
-                      u_backdrop.rgb * (1.0 - maskColor.a);     \
-    }                                                           \
-    float lum;                                                  \
-    if (u_subtype == 0) {                                       \
-      lum = maskColor.a;                                        \
-    } else {                                                    \
-      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \
-            maskColor.b * 0.11;                                 \
-    }                                                           \
-    imageColor.a *= lum;                                        \
-    imageColor.rgb *= imageColor.a;                             \
-    gl_FragColor = imageColor;                                  \
-  }                                                             ";
-  var smaskCache = null;
-
-  function initSmaskGL() {
-    var canvas, gl;
-    generateGL();
-    canvas = currentCanvas;
-    currentCanvas = null;
-    gl = currentGL;
-    currentGL = null;
-    var vertexShader = createVertexShader(gl, smaskVertexShaderCode);
-    var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);
-    var program = createProgram(gl, [vertexShader, fragmentShader]);
-    gl.useProgram(program);
-    var cache = {};
-    cache.gl = gl;
-    cache.canvas = canvas;
-    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
-    cache.positionLocation = gl.getAttribLocation(program, "a_position");
-    cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop");
-    cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype");
-    var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
-    var texLayerLocation = gl.getUniformLocation(program, "u_image");
-    var texMaskLocation = gl.getUniformLocation(program, "u_mask");
-    var texCoordBuffer = gl.createBuffer();
-    gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
-    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);
-    gl.enableVertexAttribArray(texCoordLocation);
-    gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);
-    gl.uniform1i(texLayerLocation, 0);
-    gl.uniform1i(texMaskLocation, 1);
-    smaskCache = cache;
-  }
-
-  function composeSMask(layer, mask, properties) {
-    var width = layer.width,
-        height = layer.height;
-
-    if (!smaskCache) {
-      initSmaskGL();
-    }
-
-    var cache = smaskCache,
-        canvas = cache.canvas,
-        gl = cache.gl;
-    canvas.width = width;
-    canvas.height = height;
-    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
-    gl.uniform2f(cache.resolutionLocation, width, height);
-
-    if (properties.backdrop) {
-      gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);
-    } else {
-      gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);
-    }
-
-    gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0);
-    var texture = createTexture(gl, layer, gl.TEXTURE0);
-    var maskTexture = createTexture(gl, mask, gl.TEXTURE1);
-    var buffer = gl.createBuffer();
-    gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
-    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);
-    gl.enableVertexAttribArray(cache.positionLocation);
-    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
-    gl.clearColor(0, 0, 0, 0);
-    gl.enable(gl.BLEND);
-    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
-    gl.clear(gl.COLOR_BUFFER_BIT);
-    gl.drawArrays(gl.TRIANGLES, 0, 6);
-    gl.flush();
-    gl.deleteTexture(texture);
-    gl.deleteTexture(maskTexture);
-    gl.deleteBuffer(buffer);
-    return canvas;
-  }
-
-  var figuresVertexShaderCode = "\
-  attribute vec2 a_position;                                    \
-  attribute vec3 a_color;                                       \
-                                                                \
-  uniform vec2 u_resolution;                                    \
-  uniform vec2 u_scale;                                         \
-  uniform vec2 u_offset;                                        \
-                                                                \
-  varying vec4 v_color;                                         \
-                                                                \
-  void main() {                                                 \
-    vec2 position = (a_position + u_offset) * u_scale;          \
-    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \
-    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
-                                                                \
-    v_color = vec4(a_color / 255.0, 1.0);                       \
-  }                                                             ";
-  var figuresFragmentShaderCode = "\
-  precision mediump float;                                      \
-                                                                \
-  varying vec4 v_color;                                         \
-                                                                \
-  void main() {                                                 \
-    gl_FragColor = v_color;                                     \
-  }                                                             ";
-  var figuresCache = null;
-
-  function initFiguresGL() {
-    var canvas, gl;
-    generateGL();
-    canvas = currentCanvas;
-    currentCanvas = null;
-    gl = currentGL;
-    currentGL = null;
-    var vertexShader = createVertexShader(gl, figuresVertexShaderCode);
-    var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);
-    var program = createProgram(gl, [vertexShader, fragmentShader]);
-    gl.useProgram(program);
-    var cache = {};
-    cache.gl = gl;
-    cache.canvas = canvas;
-    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
-    cache.scaleLocation = gl.getUniformLocation(program, "u_scale");
-    cache.offsetLocation = gl.getUniformLocation(program, "u_offset");
-    cache.positionLocation = gl.getAttribLocation(program, "a_position");
-    cache.colorLocation = gl.getAttribLocation(program, "a_color");
-    figuresCache = cache;
-  }
-
-  function drawFigures(width, height, backgroundColor, figures, context) {
-    if (!figuresCache) {
-      initFiguresGL();
-    }
-
-    var cache = figuresCache,
-        canvas = cache.canvas,
-        gl = cache.gl;
-    canvas.width = width;
-    canvas.height = height;
-    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
-    gl.uniform2f(cache.resolutionLocation, width, height);
-    var count = 0;
-    var i, ii, rows;
-
-    for (i = 0, ii = figures.length; i < ii; i++) {
-      switch (figures[i].type) {
-        case "lattice":
-          rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
-          count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;
-          break;
-
-        case "triangles":
-          count += figures[i].coords.length;
-          break;
-      }
-    }
-
-    var coords = new Float32Array(count * 2);
-    var colors = new Uint8Array(count * 3);
-    var coordsMap = context.coords,
-        colorsMap = context.colors;
-    var pIndex = 0,
-        cIndex = 0;
-
-    for (i = 0, ii = figures.length; i < ii; i++) {
-      var figure = figures[i],
-          ps = figure.coords,
-          cs = figure.colors;
-
-      switch (figure.type) {
-        case "lattice":
-          var cols = figure.verticesPerRow;
-          rows = ps.length / cols | 0;
-
-          for (var row = 1; row < rows; row++) {
-            var offset = row * cols + 1;
-
-            for (var col = 1; col < cols; col++, offset++) {
-              coords[pIndex] = coordsMap[ps[offset - cols - 1]];
-              coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];
-              coords[pIndex + 2] = coordsMap[ps[offset - cols]];
-              coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];
-              coords[pIndex + 4] = coordsMap[ps[offset - 1]];
-              coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];
-              colors[cIndex] = colorsMap[cs[offset - cols - 1]];
-              colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];
-              colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];
-              colors[cIndex + 3] = colorsMap[cs[offset - cols]];
-              colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];
-              colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];
-              colors[cIndex + 6] = colorsMap[cs[offset - 1]];
-              colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];
-              colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];
-              coords[pIndex + 6] = coords[pIndex + 2];
-              coords[pIndex + 7] = coords[pIndex + 3];
-              coords[pIndex + 8] = coords[pIndex + 4];
-              coords[pIndex + 9] = coords[pIndex + 5];
-              coords[pIndex + 10] = coordsMap[ps[offset]];
-              coords[pIndex + 11] = coordsMap[ps[offset] + 1];
-              colors[cIndex + 9] = colors[cIndex + 3];
-              colors[cIndex + 10] = colors[cIndex + 4];
-              colors[cIndex + 11] = colors[cIndex + 5];
-              colors[cIndex + 12] = colors[cIndex + 6];
-              colors[cIndex + 13] = colors[cIndex + 7];
-              colors[cIndex + 14] = colors[cIndex + 8];
-              colors[cIndex + 15] = colorsMap[cs[offset]];
-              colors[cIndex + 16] = colorsMap[cs[offset] + 1];
-              colors[cIndex + 17] = colorsMap[cs[offset] + 2];
-              pIndex += 12;
-              cIndex += 18;
-            }
-          }
-
-          break;
-
-        case "triangles":
-          for (var j = 0, jj = ps.length; j < jj; j++) {
-            coords[pIndex] = coordsMap[ps[j]];
-            coords[pIndex + 1] = coordsMap[ps[j] + 1];
-            colors[cIndex] = colorsMap[cs[j]];
-            colors[cIndex + 1] = colorsMap[cs[j] + 1];
-            colors[cIndex + 2] = colorsMap[cs[j] + 2];
-            pIndex += 2;
-            cIndex += 3;
-          }
-
-          break;
-      }
-    }
-
-    if (backgroundColor) {
-      gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);
-    } else {
-      gl.clearColor(0, 0, 0, 0);
-    }
-
-    gl.clear(gl.COLOR_BUFFER_BIT);
-    var coordsBuffer = gl.createBuffer();
-    gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);
-    gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);
-    gl.enableVertexAttribArray(cache.positionLocation);
-    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
-    var colorsBuffer = gl.createBuffer();
-    gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);
-    gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);
-    gl.enableVertexAttribArray(cache.colorLocation);
-    gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);
-    gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);
-    gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);
-    gl.drawArrays(gl.TRIANGLES, 0, count);
-    gl.flush();
-    gl.deleteBuffer(coordsBuffer);
-    gl.deleteBuffer(colorsBuffer);
-    return canvas;
-  }
-
-  return {
-    tryInitGL: function tryInitGL() {
-      try {
-        generateGL();
-        return !!currentGL;
-      } catch (ex) {}
-
-      return false;
-    },
-    composeSMask: composeSMask,
-    drawFigures: drawFigures,
-    cleanup: function cleanup() {
-      if (smaskCache && smaskCache.canvas) {
-        smaskCache.canvas.width = 0;
-        smaskCache.canvas.height = 0;
-      }
-
-      if (figuresCache && figuresCache.canvas) {
-        figuresCache.canvas.width = 0;
-        figuresCache.canvas.height = 0;
-      }
-
-      smaskCache = null;
-      figuresCache = null;
-    }
-  };
-}();
-
-/***/ }),
-/* 205 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.renderTextLayer = void 0;
-
-var _util = __w_pdfjs_require__(1);
-
-var renderTextLayer = function renderTextLayerClosure() {
-  var MAX_TEXT_DIVS_TO_RENDER = 100000;
-  var NonWhitespaceRegexp = /\S/;
-
-  function isAllWhitespace(str) {
-    return !NonWhitespaceRegexp.test(str);
-  }
-
-  function appendText(task, geom, styles) {
-    var textDiv = document.createElement("span");
-    var textDivProperties = {
-      angle: 0,
-      canvasWidth: 0,
-      isWhitespace: false,
-      originalTransform: null,
-      paddingBottom: 0,
-      paddingLeft: 0,
-      paddingRight: 0,
-      paddingTop: 0,
-      scale: 1
-    };
-
-    task._textDivs.push(textDiv);
-
-    if (isAllWhitespace(geom.str)) {
-      textDivProperties.isWhitespace = true;
-
-      task._textDivProperties.set(textDiv, textDivProperties);
-
-      return;
-    }
-
-    var tx = _util.Util.transform(task._viewport.transform, geom.transform);
-
-    var angle = Math.atan2(tx[1], tx[0]);
-    var style = styles[geom.fontName];
-
-    if (style.vertical) {
-      angle += Math.PI / 2;
-    }
-
-    var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);
-    var fontAscent = fontHeight;
-
-    if (style.ascent) {
-      fontAscent = style.ascent * fontAscent;
-    } else if (style.descent) {
-      fontAscent = (1 + style.descent) * fontAscent;
-    }
-
-    var left, top;
-
-    if (angle === 0) {
-      left = tx[4];
-      top = tx[5] - fontAscent;
-    } else {
-      left = tx[4] + fontAscent * Math.sin(angle);
-      top = tx[5] - fontAscent * Math.cos(angle);
-    }
-
-    textDiv.style.left = "".concat(left, "px");
-    textDiv.style.top = "".concat(top, "px");
-    textDiv.style.fontSize = "".concat(fontHeight, "px");
-    textDiv.style.fontFamily = style.fontFamily;
-    textDiv.textContent = geom.str;
-
-    if (task._fontInspectorEnabled) {
-      textDiv.dataset.fontName = geom.fontName;
-    }
-
-    if (angle !== 0) {
-      textDivProperties.angle = angle * (180 / Math.PI);
-    }
-
-    if (geom.str.length > 1) {
-      if (style.vertical) {
-        textDivProperties.canvasWidth = geom.height * task._viewport.scale;
-      } else {
-        textDivProperties.canvasWidth = geom.width * task._viewport.scale;
-      }
-    }
-
-    task._textDivProperties.set(textDiv, textDivProperties);
-
-    if (task._textContentStream) {
-      task._layoutText(textDiv);
-    }
-
-    if (task._enhanceTextSelection) {
-      var angleCos = 1,
-          angleSin = 0;
-
-      if (angle !== 0) {
-        angleCos = Math.cos(angle);
-        angleSin = Math.sin(angle);
-      }
-
-      var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
-      var divHeight = fontHeight;
-      var m, b;
-
-      if (angle !== 0) {
-        m = [angleCos, angleSin, -angleSin, angleCos, left, top];
-        b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);
-      } else {
-        b = [left, top, left + divWidth, top + divHeight];
-      }
-
-      task._bounds.push({
-        left: b[0],
-        top: b[1],
-        right: b[2],
-        bottom: b[3],
-        div: textDiv,
-        size: [divWidth, divHeight],
-        m: m
-      });
-    }
-  }
-
-  function render(task) {
-    if (task._canceled) {
-      return;
-    }
-
-    var textDivs = task._textDivs;
-    var capability = task._capability;
-    var textDivsLength = textDivs.length;
-
-    if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
-      task._renderingDone = true;
-      capability.resolve();
-      return;
-    }
-
-    if (!task._textContentStream) {
-      for (var i = 0; i < textDivsLength; i++) {
-        task._layoutText(textDivs[i]);
-      }
-    }
-
-    task._renderingDone = true;
-    capability.resolve();
-  }
-
-  function expand(task) {
-    var bounds = task._bounds;
-    var viewport = task._viewport;
-    var expanded = expandBounds(viewport.width, viewport.height, bounds);
-
-    for (var i = 0; i < expanded.length; i++) {
-      var div = bounds[i].div;
-
-      var divProperties = task._textDivProperties.get(div);
-
-      if (divProperties.angle === 0) {
-        divProperties.paddingLeft = bounds[i].left - expanded[i].left;
-        divProperties.paddingTop = bounds[i].top - expanded[i].top;
-        divProperties.paddingRight = expanded[i].right - bounds[i].right;
-        divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;
-
-        task._textDivProperties.set(div, divProperties);
-
-        continue;
-      }
-
-      var e = expanded[i],
-          b = bounds[i];
-      var m = b.m,
-          c = m[0],
-          s = m[1];
-      var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
-      var ts = new Float64Array(64);
-      points.forEach(function (p, i) {
-        var t = _util.Util.applyTransform(p, m);
-
-        ts[i + 0] = c && (e.left - t[0]) / c;
-        ts[i + 4] = s && (e.top - t[1]) / s;
-        ts[i + 8] = c && (e.right - t[0]) / c;
-        ts[i + 12] = s && (e.bottom - t[1]) / s;
-        ts[i + 16] = s && (e.left - t[0]) / -s;
-        ts[i + 20] = c && (e.top - t[1]) / c;
-        ts[i + 24] = s && (e.right - t[0]) / -s;
-        ts[i + 28] = c && (e.bottom - t[1]) / c;
-        ts[i + 32] = c && (e.left - t[0]) / -c;
-        ts[i + 36] = s && (e.top - t[1]) / -s;
-        ts[i + 40] = c && (e.right - t[0]) / -c;
-        ts[i + 44] = s && (e.bottom - t[1]) / -s;
-        ts[i + 48] = s && (e.left - t[0]) / s;
-        ts[i + 52] = c && (e.top - t[1]) / -c;
-        ts[i + 56] = s && (e.right - t[0]) / s;
-        ts[i + 60] = c && (e.bottom - t[1]) / -c;
-      });
-
-      var findPositiveMin = function findPositiveMin(ts, offset, count) {
-        var result = 0;
-
-        for (var i = 0; i < count; i++) {
-          var t = ts[offset++];
-
-          if (t > 0) {
-            result = result ? Math.min(t, result) : t;
-          }
-        }
-
-        return result;
-      };
-
-      var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
-      divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;
-      divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;
-      divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;
-      divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;
-
-      task._textDivProperties.set(div, divProperties);
-    }
-  }
-
-  function expandBounds(width, height, boxes) {
-    var bounds = boxes.map(function (box, i) {
-      return {
-        x1: box.left,
-        y1: box.top,
-        x2: box.right,
-        y2: box.bottom,
-        index: i,
-        x1New: undefined,
-        x2New: undefined
-      };
-    });
-    expandBoundsLTR(width, bounds);
-    var expanded = new Array(boxes.length);
-    bounds.forEach(function (b) {
-      var i = b.index;
-      expanded[i] = {
-        left: b.x1New,
-        top: 0,
-        right: b.x2New,
-        bottom: 0
-      };
-    });
-    boxes.map(function (box, i) {
-      var e = expanded[i],
-          b = bounds[i];
-      b.x1 = box.top;
-      b.y1 = width - e.right;
-      b.x2 = box.bottom;
-      b.y2 = width - e.left;
-      b.index = i;
-      b.x1New = undefined;
-      b.x2New = undefined;
-    });
-    expandBoundsLTR(height, bounds);
-    bounds.forEach(function (b) {
-      var i = b.index;
-      expanded[i].top = b.x1New;
-      expanded[i].bottom = b.x2New;
-    });
-    return expanded;
-  }
-
-  function expandBoundsLTR(width, bounds) {
-    bounds.sort(function (a, b) {
-      return a.x1 - b.x1 || a.index - b.index;
-    });
-    var fakeBoundary = {
-      x1: -Infinity,
-      y1: -Infinity,
-      x2: 0,
-      y2: Infinity,
-      index: -1,
-      x1New: 0,
-      x2New: 0
-    };
-    var horizon = [{
-      start: -Infinity,
-      end: Infinity,
-      boundary: fakeBoundary
-    }];
-    bounds.forEach(function (boundary) {
-      var i = 0;
-
-      while (i < horizon.length && horizon[i].end <= boundary.y1) {
-        i++;
-      }
-
-      var j = horizon.length - 1;
-
-      while (j >= 0 && horizon[j].start >= boundary.y2) {
-        j--;
-      }
-
-      var horizonPart, affectedBoundary;
-      var q,
-          k,
-          maxXNew = -Infinity;
-
-      for (q = i; q <= j; q++) {
-        horizonPart = horizon[q];
-        affectedBoundary = horizonPart.boundary;
-        var xNew;
-
-        if (affectedBoundary.x2 > boundary.x1) {
-          xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;
-        } else if (affectedBoundary.x2New === undefined) {
-          xNew = (affectedBoundary.x2 + boundary.x1) / 2;
-        } else {
-          xNew = affectedBoundary.x2New;
-        }
-
-        if (xNew > maxXNew) {
-          maxXNew = xNew;
-        }
-      }
-
-      boundary.x1New = maxXNew;
-
-      for (q = i; q <= j; q++) {
-        horizonPart = horizon[q];
-        affectedBoundary = horizonPart.boundary;
-
-        if (affectedBoundary.x2New === undefined) {
-          if (affectedBoundary.x2 > boundary.x1) {
-            if (affectedBoundary.index > boundary.index) {
-              affectedBoundary.x2New = affectedBoundary.x2;
-            }
-          } else {
-            affectedBoundary.x2New = maxXNew;
-          }
-        } else if (affectedBoundary.x2New > maxXNew) {
-          affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);
-        }
-      }
-
-      var changedHorizon = [],
-          lastBoundary = null;
-
-      for (q = i; q <= j; q++) {
-        horizonPart = horizon[q];
-        affectedBoundary = horizonPart.boundary;
-        var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;
-
-        if (lastBoundary === useBoundary) {
-          changedHorizon[changedHorizon.length - 1].end = horizonPart.end;
-        } else {
-          changedHorizon.push({
-            start: horizonPart.start,
-            end: horizonPart.end,
-            boundary: useBoundary
-          });
-          lastBoundary = useBoundary;
-        }
-      }
-
-      if (horizon[i].start < boundary.y1) {
-        changedHorizon[0].start = boundary.y1;
-        changedHorizon.unshift({
-          start: horizon[i].start,
-          end: boundary.y1,
-          boundary: horizon[i].boundary
-        });
-      }
-
-      if (boundary.y2 < horizon[j].end) {
-        changedHorizon[changedHorizon.length - 1].end = boundary.y2;
-        changedHorizon.push({
-          start: boundary.y2,
-          end: horizon[j].end,
-          boundary: horizon[j].boundary
-        });
-      }
-
-      for (q = i; q <= j; q++) {
-        horizonPart = horizon[q];
-        affectedBoundary = horizonPart.boundary;
-
-        if (affectedBoundary.x2New !== undefined) {
-          continue;
-        }
-
-        var used = false;
-
-        for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {
-          used = horizon[k].boundary === affectedBoundary;
-        }
-
-        for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {
-          used = horizon[k].boundary === affectedBoundary;
-        }
-
-        for (k = 0; !used && k < changedHorizon.length; k++) {
-          used = changedHorizon[k].boundary === affectedBoundary;
-        }
-
-        if (!used) {
-          affectedBoundary.x2New = maxXNew;
-        }
-      }
-
-      Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));
-    });
-    horizon.forEach(function (horizonPart) {
-      var affectedBoundary = horizonPart.boundary;
-
-      if (affectedBoundary.x2New === undefined) {
-        affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);
-      }
-    });
-  }
-
-  function TextLayerRenderTask(_ref) {
-    var _this = this;
-
-    var textContent = _ref.textContent,
-        textContentStream = _ref.textContentStream,
-        container = _ref.container,
-        viewport = _ref.viewport,
-        textDivs = _ref.textDivs,
-        textContentItemsStr = _ref.textContentItemsStr,
-        enhanceTextSelection = _ref.enhanceTextSelection;
-    this._textContent = textContent;
-    this._textContentStream = textContentStream;
-    this._container = container;
-    this._viewport = viewport;
-    this._textDivs = textDivs || [];
-    this._textContentItemsStr = textContentItemsStr || [];
-    this._enhanceTextSelection = !!enhanceTextSelection;
-    this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);
-    this._reader = null;
-    this._layoutTextLastFontSize = null;
-    this._layoutTextLastFontFamily = null;
-    this._layoutTextCtx = null;
-    this._textDivProperties = new WeakMap();
-    this._renderingDone = false;
-    this._canceled = false;
-    this._capability = (0, _util.createPromiseCapability)();
-    this._renderTimer = null;
-    this._bounds = [];
-
-    this._capability.promise["finally"](function () {
-      if (_this._layoutTextCtx) {
-        _this._layoutTextCtx.canvas.width = 0;
-        _this._layoutTextCtx.canvas.height = 0;
-        _this._layoutTextCtx = null;
-      }
-    })["catch"](function () {});
-  }
-
-  TextLayerRenderTask.prototype = {
-    get promise() {
-      return this._capability.promise;
-    },
-
-    cancel: function TextLayer_cancel() {
-      this._canceled = true;
-
-      if (this._reader) {
-        this._reader.cancel(new _util.AbortException("TextLayer task cancelled."));
-
-        this._reader = null;
-      }
-
-      if (this._renderTimer !== null) {
-        clearTimeout(this._renderTimer);
-        this._renderTimer = null;
-      }
-
-      this._capability.reject(new Error("TextLayer task cancelled."));
-    },
-    _processItems: function _processItems(items, styleCache) {
-      for (var i = 0, len = items.length; i < len; i++) {
-        this._textContentItemsStr.push(items[i].str);
-
-        appendText(this, items[i], styleCache);
-      }
-    },
-    _layoutText: function _layoutText(textDiv) {
-      var textDivProperties = this._textDivProperties.get(textDiv);
-
-      if (textDivProperties.isWhitespace) {
-        return;
-      }
-
-      var transform = "";
-
-      if (textDivProperties.canvasWidth !== 0) {
-        var _textDiv$style = textDiv.style,
-            fontSize = _textDiv$style.fontSize,
-            fontFamily = _textDiv$style.fontFamily;
-
-        if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
-          this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
-          this._layoutTextLastFontSize = fontSize;
-          this._layoutTextLastFontFamily = fontFamily;
-        }
-
-        var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
-            width = _this$_layoutTextCtx$.width;
-
-        if (width > 0) {
-          textDivProperties.scale = textDivProperties.canvasWidth / width;
-          transform = "scaleX(".concat(textDivProperties.scale, ")");
-        }
-      }
-
-      if (textDivProperties.angle !== 0) {
-        transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
-      }
-
-      if (transform.length > 0) {
-        if (this._enhanceTextSelection) {
-          textDivProperties.originalTransform = transform;
-        }
-
-        textDiv.style.transform = transform;
-      }
-
-      this._textDivProperties.set(textDiv, textDivProperties);
-
-      this._container.appendChild(textDiv);
-    },
-    _render: function TextLayer_render(timeout) {
-      var _this2 = this;
-
-      var capability = (0, _util.createPromiseCapability)();
-      var styleCache = Object.create(null);
-      var canvas = document.createElement("canvas");
-      canvas.mozOpaque = true;
-      this._layoutTextCtx = canvas.getContext("2d", {
-        alpha: false
-      });
-
-      if (this._textContent) {
-        var textItems = this._textContent.items;
-        var textStyles = this._textContent.styles;
-
-        this._processItems(textItems, textStyles);
-
-        capability.resolve();
-      } else if (this._textContentStream) {
-        var pump = function pump() {
-          _this2._reader.read().then(function (_ref2) {
-            var value = _ref2.value,
-                done = _ref2.done;
-
-            if (done) {
-              capability.resolve();
-              return;
-            }
-
-            Object.assign(styleCache, value.styles);
-
-            _this2._processItems(value.items, styleCache);
-
-            pump();
-          }, capability.reject);
-        };
-
-        this._reader = this._textContentStream.getReader();
-        pump();
-      } else {
-        throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified.");
-      }
-
-      capability.promise.then(function () {
-        styleCache = null;
-
-        if (!timeout) {
-          render(_this2);
-        } else {
-          _this2._renderTimer = setTimeout(function () {
-            render(_this2);
-            _this2._renderTimer = null;
-          }, timeout);
-        }
-      }, this._capability.reject);
-    },
-    expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {
-      if (!this._enhanceTextSelection || !this._renderingDone) {
-        return;
-      }
-
-      if (this._bounds !== null) {
-        expand(this);
-        this._bounds = null;
-      }
-
-      var transformBuf = [],
-          paddingBuf = [];
-
-      for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
-        var div = this._textDivs[i];
-
-        var divProps = this._textDivProperties.get(div);
-
-        if (divProps.isWhitespace) {
-          continue;
-        }
-
-        if (expandDivs) {
-          transformBuf.length = 0;
-          paddingBuf.length = 0;
-
-          if (divProps.originalTransform) {
-            transformBuf.push(divProps.originalTransform);
-          }
-
-          if (divProps.paddingTop > 0) {
-            paddingBuf.push("".concat(divProps.paddingTop, "px"));
-            transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
-          } else {
-            paddingBuf.push(0);
-          }
-
-          if (divProps.paddingRight > 0) {
-            paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
-          } else {
-            paddingBuf.push(0);
-          }
-
-          if (divProps.paddingBottom > 0) {
-            paddingBuf.push("".concat(divProps.paddingBottom, "px"));
-          } else {
-            paddingBuf.push(0);
-          }
-
-          if (divProps.paddingLeft > 0) {
-            paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
-            transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
-          } else {
-            paddingBuf.push(0);
-          }
-
-          div.style.padding = paddingBuf.join(" ");
-
-          if (transformBuf.length) {
-            div.style.transform = transformBuf.join(" ");
-          }
-        } else {
-          div.style.padding = null;
-          div.style.transform = divProps.originalTransform;
-        }
-      }
-    }
-  };
-
-  function renderTextLayer(renderParameters) {
-    var task = new TextLayerRenderTask({
-      textContent: renderParameters.textContent,
-      textContentStream: renderParameters.textContentStream,
-      container: renderParameters.container,
-      viewport: renderParameters.viewport,
-      textDivs: renderParameters.textDivs,
-      textContentItemsStr: renderParameters.textContentItemsStr,
-      enhanceTextSelection: renderParameters.enhanceTextSelection
-    });
-
-    task._render(renderParameters.timeout);
-
-    return task;
-  }
-
-  return renderTextLayer;
-}();
-
-exports.renderTextLayer = renderTextLayer;
-
-/***/ }),
-/* 206 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.AnnotationLayer = void 0;
-
-var _display_utils = __w_pdfjs_require__(194);
-
-var _util = __w_pdfjs_require__(1);
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var AnnotationElementFactory = /*#__PURE__*/function () {
-  function AnnotationElementFactory() {
-    _classCallCheck(this, AnnotationElementFactory);
-  }
-
-  _createClass(AnnotationElementFactory, null, [{
-    key: "create",
-    value: function create(parameters) {
-      var subtype = parameters.data.annotationType;
-
-      switch (subtype) {
-        case _util.AnnotationType.LINK:
-          return new LinkAnnotationElement(parameters);
-
-        case _util.AnnotationType.TEXT:
-          return new TextAnnotationElement(parameters);
-
-        case _util.AnnotationType.WIDGET:
-          var fieldType = parameters.data.fieldType;
-
-          switch (fieldType) {
-            case "Tx":
-              return new TextWidgetAnnotationElement(parameters);
-
-            case "Btn":
-              if (parameters.data.radioButton) {
-                return new RadioButtonWidgetAnnotationElement(parameters);
-              } else if (parameters.data.checkBox) {
-                return new CheckboxWidgetAnnotationElement(parameters);
-              }
-
-              return new PushButtonWidgetAnnotationElement(parameters);
-
-            case "Ch":
-              return new ChoiceWidgetAnnotationElement(parameters);
-          }
-
-          return new WidgetAnnotationElement(parameters);
-
-        case _util.AnnotationType.POPUP:
-          return new PopupAnnotationElement(parameters);
-
-        case _util.AnnotationType.FREETEXT:
-          return new FreeTextAnnotationElement(parameters);
-
-        case _util.AnnotationType.LINE:
-          return new LineAnnotationElement(parameters);
-
-        case _util.AnnotationType.SQUARE:
-          return new SquareAnnotationElement(parameters);
-
-        case _util.AnnotationType.CIRCLE:
-          return new CircleAnnotationElement(parameters);
-
-        case _util.AnnotationType.POLYLINE:
-          return new PolylineAnnotationElement(parameters);
-
-        case _util.AnnotationType.CARET:
-          return new CaretAnnotationElement(parameters);
-
-        case _util.AnnotationType.INK:
-          return new InkAnnotationElement(parameters);
-
-        case _util.AnnotationType.POLYGON:
-          return new PolygonAnnotationElement(parameters);
-
-        case _util.AnnotationType.HIGHLIGHT:
-          return new HighlightAnnotationElement(parameters);
-
-        case _util.AnnotationType.UNDERLINE:
-          return new UnderlineAnnotationElement(parameters);
-
-        case _util.AnnotationType.SQUIGGLY:
-          return new SquigglyAnnotationElement(parameters);
-
-        case _util.AnnotationType.STRIKEOUT:
-          return new StrikeOutAnnotationElement(parameters);
-
-        case _util.AnnotationType.STAMP:
-          return new StampAnnotationElement(parameters);
-
-        case _util.AnnotationType.FILEATTACHMENT:
-          return new FileAttachmentAnnotationElement(parameters);
-
-        default:
-          return new AnnotationElement(parameters);
-      }
-    }
-  }]);
-
-  return AnnotationElementFactory;
-}();
-
-var AnnotationElement = /*#__PURE__*/function () {
-  function AnnotationElement(parameters) {
-    var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-    var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    _classCallCheck(this, AnnotationElement);
-
-    this.isRenderable = isRenderable;
-    this.data = parameters.data;
-    this.layer = parameters.layer;
-    this.page = parameters.page;
-    this.viewport = parameters.viewport;
-    this.linkService = parameters.linkService;
-    this.downloadManager = parameters.downloadManager;
-    this.imageResourcesPath = parameters.imageResourcesPath;
-    this.renderInteractiveForms = parameters.renderInteractiveForms;
-    this.svgFactory = parameters.svgFactory;
-
-    if (isRenderable) {
-      this.container = this._createContainer(ignoreBorder);
-    }
-  }
-
-  _createClass(AnnotationElement, [{
-    key: "_createContainer",
-    value: function _createContainer() {
-      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var data = this.data,
-          page = this.page,
-          viewport = this.viewport;
-      var container = document.createElement("section");
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      container.setAttribute("data-annotation-id", data.id);
-
-      var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);
-
-      container.style.transform = "matrix(".concat(viewport.transform.join(","), ")");
-      container.style.transformOrigin = "-".concat(rect[0], "px -").concat(rect[1], "px");
-
-      if (!ignoreBorder && data.borderStyle.width > 0) {
-        container.style.borderWidth = "".concat(data.borderStyle.width, "px");
-
-        if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
-          width = width - 2 * data.borderStyle.width;
-          height = height - 2 * data.borderStyle.width;
-        }
-
-        var horizontalRadius = data.borderStyle.horizontalCornerRadius;
-        var verticalRadius = data.borderStyle.verticalCornerRadius;
-
-        if (horizontalRadius > 0 || verticalRadius > 0) {
-          var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
-          container.style.borderRadius = radius;
-        }
-
-        switch (data.borderStyle.style) {
-          case _util.AnnotationBorderStyleType.SOLID:
-            container.style.borderStyle = "solid";
-            break;
-
-          case _util.AnnotationBorderStyleType.DASHED:
-            container.style.borderStyle = "dashed";
-            break;
-
-          case _util.AnnotationBorderStyleType.BEVELED:
-            (0, _util.warn)("Unimplemented border style: beveled");
-            break;
-
-          case _util.AnnotationBorderStyleType.INSET:
-            (0, _util.warn)("Unimplemented border style: inset");
-            break;
-
-          case _util.AnnotationBorderStyleType.UNDERLINE:
-            container.style.borderBottomStyle = "solid";
-            break;
-
-          default:
-            break;
-        }
-
-        if (data.color) {
-          container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
-        } else {
-          container.style.borderWidth = 0;
-        }
-      }
-
-      container.style.left = "".concat(rect[0], "px");
-      container.style.top = "".concat(rect[1], "px");
-      container.style.width = "".concat(width, "px");
-      container.style.height = "".concat(height, "px");
-      return container;
-    }
-  }, {
-    key: "_createPopup",
-    value: function _createPopup(container, trigger, data) {
-      if (!trigger) {
-        trigger = document.createElement("div");
-        trigger.style.height = container.style.height;
-        trigger.style.width = container.style.width;
-        container.appendChild(trigger);
-      }
-
-      var popupElement = new PopupElement({
-        container: container,
-        trigger: trigger,
-        color: data.color,
-        title: data.title,
-        modificationDate: data.modificationDate,
-        contents: data.contents,
-        hideWrapper: true
-      });
-      var popup = popupElement.render();
-      popup.style.left = container.style.width;
-      container.appendChild(popup);
-    }
-  }, {
-    key: "render",
-    value: function render() {
-      (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
-    }
-  }]);
-
-  return AnnotationElement;
-}();
-
-var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {
-  _inherits(LinkAnnotationElement, _AnnotationElement);
-
-  function LinkAnnotationElement(parameters) {
-    _classCallCheck(this, LinkAnnotationElement);
-
-    var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);
-    return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));
-  }
-
-  _createClass(LinkAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "linkAnnotation";
-      var data = this.data,
-          linkService = this.linkService;
-      var link = document.createElement("a");
-
-      if (data.url) {
-        (0, _display_utils.addLinkAttributes)(link, {
-          url: data.url,
-          target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
-          rel: linkService.externalLinkRel,
-          enabled: linkService.externalLinkEnabled
-        });
-      } else if (data.action) {
-        this._bindNamedAction(link, data.action);
-      } else {
-        this._bindLink(link, data.dest);
-      }
-
-      this.container.appendChild(link);
-      return this.container;
-    }
-  }, {
-    key: "_bindLink",
-    value: function _bindLink(link, destination) {
-      var _this = this;
-
-      link.href = this.linkService.getDestinationHash(destination);
-
-      link.onclick = function () {
-        if (destination) {
-          _this.linkService.navigateTo(destination);
-        }
-
-        return false;
-      };
-
-      if (destination) {
-        link.className = "internalLink";
-      }
-    }
-  }, {
-    key: "_bindNamedAction",
-    value: function _bindNamedAction(link, action) {
-      var _this2 = this;
-
-      link.href = this.linkService.getAnchorUrl("");
-
-      link.onclick = function () {
-        _this2.linkService.executeNamedAction(action);
-
-        return false;
-      };
-
-      link.className = "internalLink";
-    }
-  }]);
-
-  return LinkAnnotationElement;
-}(AnnotationElement);
-
-var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {
-  _inherits(TextAnnotationElement, _AnnotationElement2);
-
-  function TextAnnotationElement(parameters) {
-    _classCallCheck(this, TextAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));
-  }
-
-  _createClass(TextAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "textAnnotation";
-      var image = document.createElement("img");
-      image.style.height = this.container.style.height;
-      image.style.width = this.container.style.width;
-      image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
-      image.alt = "[{{type}} Annotation]";
-      image.dataset.l10nId = "text_annotation_type";
-      image.dataset.l10nArgs = JSON.stringify({
-        type: this.data.name
-      });
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, image, this.data);
-      }
-
-      this.container.appendChild(image);
-      return this.container;
-    }
-  }]);
-
-  return TextAnnotationElement;
-}(AnnotationElement);
-
-var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {
-  _inherits(WidgetAnnotationElement, _AnnotationElement3);
-
-  function WidgetAnnotationElement() {
-    _classCallCheck(this, WidgetAnnotationElement);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));
-  }
-
-  _createClass(WidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      return this.container;
-    }
-  }]);
-
-  return WidgetAnnotationElement;
-}(AnnotationElement);
-
-var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {
-  _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);
-
-  function TextWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, TextWidgetAnnotationElement);
-
-    var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
-    return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));
-  }
-
-  _createClass(TextWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      var TEXT_ALIGNMENT = ["left", "center", "right"];
-      this.container.className = "textWidgetAnnotation";
-      var element = null;
-
-      if (this.renderInteractiveForms) {
-        if (this.data.multiLine) {
-          element = document.createElement("textarea");
-          element.textContent = this.data.fieldValue;
-        } else {
-          element = document.createElement("input");
-          element.type = "text";
-          element.setAttribute("value", this.data.fieldValue);
-        }
-
-        element.disabled = this.data.readOnly;
-
-        if (this.data.maxLen !== null) {
-          element.maxLength = this.data.maxLen;
-        }
-
-        if (this.data.comb) {
-          var fieldWidth = this.data.rect[2] - this.data.rect[0];
-          var combWidth = fieldWidth / this.data.maxLen;
-          element.classList.add("comb");
-          element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
-        }
-      } else {
-        element = document.createElement("div");
-        element.textContent = this.data.fieldValue;
-        element.style.verticalAlign = "middle";
-        element.style.display = "table-cell";
-        var font = null;
-
-        if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {
-          font = this.page.commonObjs.get(this.data.fontRefName);
-        }
-
-        this._setTextStyle(element, font);
-      }
-
-      if (this.data.textAlignment !== null) {
-        element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
-      }
-
-      this.container.appendChild(element);
-      return this.container;
-    }
-  }, {
-    key: "_setTextStyle",
-    value: function _setTextStyle(element, font) {
-      var style = element.style;
-      style.fontSize = "".concat(this.data.fontSize, "px");
-      style.direction = this.data.fontDirection < 0 ? "rtl" : "ltr";
-
-      if (!font) {
-        return;
-      }
-
-      var bold = "normal";
-
-      if (font.black) {
-        bold = "900";
-      } else if (font.bold) {
-        bold = "bold";
-      }
-
-      style.fontWeight = bold;
-      style.fontStyle = font.italic ? "italic" : "normal";
-      var fontFamily = font.loadedName ? "\"".concat(font.loadedName, "\", ") : "";
-      var fallbackName = font.fallbackName || "Helvetica, sans-serif";
-      style.fontFamily = fontFamily + fallbackName;
-    }
-  }]);
-
-  return TextWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {
-  _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);
-
-  function CheckboxWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, CheckboxWidgetAnnotationElement);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
-  }
-
-  _createClass(CheckboxWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "buttonWidgetAnnotation checkBox";
-      var element = document.createElement("input");
-      element.disabled = this.data.readOnly;
-      element.type = "checkbox";
-
-      if (this.data.fieldValue && this.data.fieldValue !== "Off") {
-        element.setAttribute("checked", true);
-      }
-
-      this.container.appendChild(element);
-      return this.container;
-    }
-  }]);
-
-  return CheckboxWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {
-  _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);
-
-  function RadioButtonWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, RadioButtonWidgetAnnotationElement);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
-  }
-
-  _createClass(RadioButtonWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "buttonWidgetAnnotation radioButton";
-      var element = document.createElement("input");
-      element.disabled = this.data.readOnly;
-      element.type = "radio";
-      element.name = this.data.fieldName;
-
-      if (this.data.fieldValue === this.data.buttonValue) {
-        element.setAttribute("checked", true);
-      }
-
-      this.container.appendChild(element);
-      return this.container;
-    }
-  }]);
-
-  return RadioButtonWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {
-  _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);
-
-  function PushButtonWidgetAnnotationElement() {
-    _classCallCheck(this, PushButtonWidgetAnnotationElement);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));
-  }
-
-  _createClass(PushButtonWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this);
-
-      container.className = "buttonWidgetAnnotation pushButton";
-      return container;
-    }
-  }]);
-
-  return PushButtonWidgetAnnotationElement;
-}(LinkAnnotationElement);
-
-var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {
-  _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);
-
-  function ChoiceWidgetAnnotationElement(parameters) {
-    _classCallCheck(this, ChoiceWidgetAnnotationElement);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
-  }
-
-  _createClass(ChoiceWidgetAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "choiceWidgetAnnotation";
-      var selectElement = document.createElement("select");
-      selectElement.disabled = this.data.readOnly;
-
-      if (!this.data.combo) {
-        selectElement.size = this.data.options.length;
-
-        if (this.data.multiSelect) {
-          selectElement.multiple = true;
-        }
-      }
-
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var option = _step.value;
-          var optionElement = document.createElement("option");
-          optionElement.textContent = option.displayValue;
-          optionElement.value = option.exportValue;
-
-          if (this.data.fieldValue.includes(option.displayValue)) {
-            optionElement.setAttribute("selected", true);
-          }
-
-          selectElement.appendChild(optionElement);
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-
-      this.container.appendChild(selectElement);
-      return this.container;
-    }
-  }]);
-
-  return ChoiceWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {
-  _inherits(PopupAnnotationElement, _AnnotationElement4);
-
-  function PopupAnnotationElement(parameters) {
-    _classCallCheck(this, PopupAnnotationElement);
-
-    var isRenderable = !!(parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable));
-  }
-
-  _createClass(PopupAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
-      this.container.className = "popupAnnotation";
-
-      if (IGNORE_TYPES.includes(this.data.parentType)) {
-        return this.container;
-      }
-
-      var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
-      var parentElement = this.layer.querySelector(selector);
-
-      if (!parentElement) {
-        return this.container;
-      }
-
-      var popup = new PopupElement({
-        container: this.container,
-        trigger: parentElement,
-        color: this.data.color,
-        title: this.data.title,
-        modificationDate: this.data.modificationDate,
-        contents: this.data.contents
-      });
-      var parentLeft = parseFloat(parentElement.style.left);
-      var parentWidth = parseFloat(parentElement.style.width);
-      this.container.style.transformOrigin = "-".concat(parentLeft + parentWidth, "px -").concat(parentElement.style.top);
-      this.container.style.left = "".concat(parentLeft + parentWidth, "px");
-      this.container.appendChild(popup.render());
-      return this.container;
-    }
-  }]);
-
-  return PopupAnnotationElement;
-}(AnnotationElement);
-
-var PopupElement = /*#__PURE__*/function () {
-  function PopupElement(parameters) {
-    _classCallCheck(this, PopupElement);
-
-    this.container = parameters.container;
-    this.trigger = parameters.trigger;
-    this.color = parameters.color;
-    this.title = parameters.title;
-    this.modificationDate = parameters.modificationDate;
-    this.contents = parameters.contents;
-    this.hideWrapper = parameters.hideWrapper || false;
-    this.pinned = false;
-  }
-
-  _createClass(PopupElement, [{
-    key: "render",
-    value: function render() {
-      var BACKGROUND_ENLIGHT = 0.7;
-      var wrapper = document.createElement("div");
-      wrapper.className = "popupWrapper";
-      this.hideElement = this.hideWrapper ? wrapper : this.container;
-      this.hideElement.setAttribute("hidden", true);
-      var popup = document.createElement("div");
-      popup.className = "popup";
-      var color = this.color;
-
-      if (color) {
-        var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
-        var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
-        var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
-        popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);
-      }
-
-      var title = document.createElement("h1");
-      title.textContent = this.title;
-      popup.appendChild(title);
-
-      var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
-
-      if (dateObject) {
-        var modificationDate = document.createElement("span");
-        modificationDate.textContent = "{{date}}, {{time}}";
-        modificationDate.dataset.l10nId = "annotation_date_string";
-        modificationDate.dataset.l10nArgs = JSON.stringify({
-          date: dateObject.toLocaleDateString(),
-          time: dateObject.toLocaleTimeString()
-        });
-        popup.appendChild(modificationDate);
-      }
-
-      var contents = this._formatContents(this.contents);
-
-      popup.appendChild(contents);
-      this.trigger.addEventListener("click", this._toggle.bind(this));
-      this.trigger.addEventListener("mouseover", this._show.bind(this, false));
-      this.trigger.addEventListener("mouseout", this._hide.bind(this, false));
-      popup.addEventListener("click", this._hide.bind(this, true));
-      wrapper.appendChild(popup);
-      return wrapper;
-    }
-  }, {
-    key: "_formatContents",
-    value: function _formatContents(contents) {
-      var p = document.createElement("p");
-      var lines = contents.split(/(?:\r\n?|\n)/);
-
-      for (var i = 0, ii = lines.length; i < ii; ++i) {
-        var line = lines[i];
-        p.appendChild(document.createTextNode(line));
-
-        if (i < ii - 1) {
-          p.appendChild(document.createElement("br"));
-        }
-      }
-
-      return p;
-    }
-  }, {
-    key: "_toggle",
-    value: function _toggle() {
-      if (this.pinned) {
-        this._hide(true);
-      } else {
-        this._show(true);
-      }
-    }
-  }, {
-    key: "_show",
-    value: function _show() {
-      var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (pin) {
-        this.pinned = true;
-      }
-
-      if (this.hideElement.hasAttribute("hidden")) {
-        this.hideElement.removeAttribute("hidden");
-        this.container.style.zIndex += 1;
-      }
-    }
-  }, {
-    key: "_hide",
-    value: function _hide() {
-      var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
-      if (unpin) {
-        this.pinned = false;
-      }
-
-      if (!this.hideElement.hasAttribute("hidden") && !this.pinned) {
-        this.hideElement.setAttribute("hidden", true);
-        this.container.style.zIndex -= 1;
-      }
-    }
-  }]);
-
-  return PopupElement;
-}();
-
-var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {
-  _inherits(FreeTextAnnotationElement, _AnnotationElement5);
-
-  function FreeTextAnnotationElement(parameters) {
-    _classCallCheck(this, FreeTextAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(FreeTextAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "freeTextAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return FreeTextAnnotationElement;
-}(AnnotationElement);
-
-var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {
-  _inherits(LineAnnotationElement, _AnnotationElement6);
-
-  function LineAnnotationElement(parameters) {
-    _classCallCheck(this, LineAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(LineAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "lineAnnotation";
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var line = this.svgFactory.createElement("svg:line");
-      line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
-      line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
-      line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
-      line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
-      line.setAttribute("stroke-width", data.borderStyle.width || 1);
-      line.setAttribute("stroke", "transparent");
-      svg.appendChild(line);
-      this.container.append(svg);
-
-      this._createPopup(this.container, line, data);
-
-      return this.container;
-    }
-  }]);
-
-  return LineAnnotationElement;
-}(AnnotationElement);
-
-var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {
-  _inherits(SquareAnnotationElement, _AnnotationElement7);
-
-  function SquareAnnotationElement(parameters) {
-    _classCallCheck(this, SquareAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(SquareAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "squareAnnotation";
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var borderWidth = data.borderStyle.width;
-      var square = this.svgFactory.createElement("svg:rect");
-      square.setAttribute("x", borderWidth / 2);
-      square.setAttribute("y", borderWidth / 2);
-      square.setAttribute("width", width - borderWidth);
-      square.setAttribute("height", height - borderWidth);
-      square.setAttribute("stroke-width", borderWidth || 1);
-      square.setAttribute("stroke", "transparent");
-      square.setAttribute("fill", "none");
-      svg.appendChild(square);
-      this.container.append(svg);
-
-      this._createPopup(this.container, square, data);
-
-      return this.container;
-    }
-  }]);
-
-  return SquareAnnotationElement;
-}(AnnotationElement);
-
-var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {
-  _inherits(CircleAnnotationElement, _AnnotationElement8);
-
-  function CircleAnnotationElement(parameters) {
-    _classCallCheck(this, CircleAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(CircleAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "circleAnnotation";
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var borderWidth = data.borderStyle.width;
-      var circle = this.svgFactory.createElement("svg:ellipse");
-      circle.setAttribute("cx", width / 2);
-      circle.setAttribute("cy", height / 2);
-      circle.setAttribute("rx", width / 2 - borderWidth / 2);
-      circle.setAttribute("ry", height / 2 - borderWidth / 2);
-      circle.setAttribute("stroke-width", borderWidth || 1);
-      circle.setAttribute("stroke", "transparent");
-      circle.setAttribute("fill", "none");
-      svg.appendChild(circle);
-      this.container.append(svg);
-
-      this._createPopup(this.container, circle, data);
-
-      return this.container;
-    }
-  }]);
-
-  return CircleAnnotationElement;
-}(AnnotationElement);
-
-var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {
-  _inherits(PolylineAnnotationElement, _AnnotationElement9);
-
-  function PolylineAnnotationElement(parameters) {
-    var _this3;
-
-    _classCallCheck(this, PolylineAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));
-    _this3.containerClassName = "polylineAnnotation";
-    _this3.svgElementName = "svg:polyline";
-    return _this3;
-  }
-
-  _createClass(PolylineAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = this.containerClassName;
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var points = [];
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
-
-      try {
-        for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var coordinate = _step2.value;
-          var x = coordinate.x - data.rect[0];
-          var y = data.rect[3] - coordinate.y;
-          points.push(x + "," + y);
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
-      }
-
-      points = points.join(" ");
-      var polyline = this.svgFactory.createElement(this.svgElementName);
-      polyline.setAttribute("points", points);
-      polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
-      polyline.setAttribute("stroke", "transparent");
-      polyline.setAttribute("fill", "none");
-      svg.appendChild(polyline);
-      this.container.append(svg);
-
-      this._createPopup(this.container, polyline, data);
-
-      return this.container;
-    }
-  }]);
-
-  return PolylineAnnotationElement;
-}(AnnotationElement);
-
-var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {
-  _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);
-
-  function PolygonAnnotationElement(parameters) {
-    var _this4;
-
-    _classCallCheck(this, PolygonAnnotationElement);
-
-    _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));
-    _this4.containerClassName = "polygonAnnotation";
-    _this4.svgElementName = "svg:polygon";
-    return _this4;
-  }
-
-  return PolygonAnnotationElement;
-}(PolylineAnnotationElement);
-
-var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {
-  _inherits(CaretAnnotationElement, _AnnotationElement10);
-
-  function CaretAnnotationElement(parameters) {
-    _classCallCheck(this, CaretAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(CaretAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "caretAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return CaretAnnotationElement;
-}(AnnotationElement);
-
-var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {
-  _inherits(InkAnnotationElement, _AnnotationElement11);
-
-  function InkAnnotationElement(parameters) {
-    var _this5;
-
-    _classCallCheck(this, InkAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));
-    _this5.containerClassName = "inkAnnotation";
-    _this5.svgElementName = "svg:polyline";
-    return _this5;
-  }
-
-  _createClass(InkAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = this.containerClassName;
-      var data = this.data;
-      var width = data.rect[2] - data.rect[0];
-      var height = data.rect[3] - data.rect[1];
-      var svg = this.svgFactory.create(width, height);
-      var _iteratorNormalCompletion3 = true;
-      var _didIteratorError3 = false;
-      var _iteratorError3 = undefined;
-
-      try {
-        for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-          var inkList = _step3.value;
-          var points = [];
-          var _iteratorNormalCompletion4 = true;
-          var _didIteratorError4 = false;
-          var _iteratorError4 = undefined;
-
-          try {
-            for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-              var coordinate = _step4.value;
-              var x = coordinate.x - data.rect[0];
-              var y = data.rect[3] - coordinate.y;
-              points.push("".concat(x, ",").concat(y));
-            }
-          } catch (err) {
-            _didIteratorError4 = true;
-            _iteratorError4 = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-                _iterator4["return"]();
-              }
-            } finally {
-              if (_didIteratorError4) {
-                throw _iteratorError4;
-              }
-            }
-          }
-
-          points = points.join(" ");
-          var polyline = this.svgFactory.createElement(this.svgElementName);
-          polyline.setAttribute("points", points);
-          polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
-          polyline.setAttribute("stroke", "transparent");
-          polyline.setAttribute("fill", "none");
-
-          this._createPopup(this.container, polyline, data);
-
-          svg.appendChild(polyline);
-        }
-      } catch (err) {
-        _didIteratorError3 = true;
-        _iteratorError3 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-            _iterator3["return"]();
-          }
-        } finally {
-          if (_didIteratorError3) {
-            throw _iteratorError3;
-          }
-        }
-      }
-
-      this.container.append(svg);
-      return this.container;
-    }
-  }]);
-
-  return InkAnnotationElement;
-}(AnnotationElement);
-
-var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {
-  _inherits(HighlightAnnotationElement, _AnnotationElement12);
-
-  function HighlightAnnotationElement(parameters) {
-    _classCallCheck(this, HighlightAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(HighlightAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "highlightAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return HighlightAnnotationElement;
-}(AnnotationElement);
-
-var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {
-  _inherits(UnderlineAnnotationElement, _AnnotationElement13);
-
-  function UnderlineAnnotationElement(parameters) {
-    _classCallCheck(this, UnderlineAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(UnderlineAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "underlineAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return UnderlineAnnotationElement;
-}(AnnotationElement);
-
-var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {
-  _inherits(SquigglyAnnotationElement, _AnnotationElement14);
-
-  function SquigglyAnnotationElement(parameters) {
-    _classCallCheck(this, SquigglyAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(SquigglyAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "squigglyAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return SquigglyAnnotationElement;
-}(AnnotationElement);
-
-var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {
-  _inherits(StrikeOutAnnotationElement, _AnnotationElement15);
-
-  function StrikeOutAnnotationElement(parameters) {
-    _classCallCheck(this, StrikeOutAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(StrikeOutAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "strikeoutAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return StrikeOutAnnotationElement;
-}(AnnotationElement);
-
-var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {
-  _inherits(StampAnnotationElement, _AnnotationElement16);
-
-  function StampAnnotationElement(parameters) {
-    _classCallCheck(this, StampAnnotationElement);
-
-    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
-    return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));
-  }
-
-  _createClass(StampAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "stampAnnotation";
-
-      if (!this.data.hasPopup) {
-        this._createPopup(this.container, null, this.data);
-      }
-
-      return this.container;
-    }
-  }]);
-
-  return StampAnnotationElement;
-}(AnnotationElement);
-
-var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {
-  _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);
-
-  function FileAttachmentAnnotationElement(parameters) {
-    var _this6;
-
-    _classCallCheck(this, FileAttachmentAnnotationElement);
-
-    _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));
-    var _this6$data$file = _this6.data.file,
-        filename = _this6$data$file.filename,
-        content = _this6$data$file.content;
-    _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);
-    _this6.content = content;
-
-    if (_this6.linkService.eventBus) {
-      _this6.linkService.eventBus.dispatch("fileattachmentannotation", {
-        source: _assertThisInitialized(_this6),
-        id: (0, _util.stringToPDFString)(filename),
-        filename: filename,
-        content: content
-      });
-    }
-
-    return _this6;
-  }
-
-  _createClass(FileAttachmentAnnotationElement, [{
-    key: "render",
-    value: function render() {
-      this.container.className = "fileAttachmentAnnotation";
-      var trigger = document.createElement("div");
-      trigger.style.height = this.container.style.height;
-      trigger.style.width = this.container.style.width;
-      trigger.addEventListener("dblclick", this._download.bind(this));
-
-      if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
-        this._createPopup(this.container, trigger, this.data);
-      }
-
-      this.container.appendChild(trigger);
-      return this.container;
-    }
-  }, {
-    key: "_download",
-    value: function _download() {
-      if (!this.downloadManager) {
-        (0, _util.warn)("Download cannot be started due to unavailable download manager");
-        return;
-      }
-
-      this.downloadManager.downloadData(this.content, this.filename, "");
-    }
-  }]);
-
-  return FileAttachmentAnnotationElement;
-}(AnnotationElement);
-
-var AnnotationLayer = /*#__PURE__*/function () {
-  function AnnotationLayer() {
-    _classCallCheck(this, AnnotationLayer);
-  }
-
-  _createClass(AnnotationLayer, null, [{
-    key: "render",
-    value: function render(parameters) {
-      var sortedAnnotations = [],
-          popupAnnotations = [];
-      var _iteratorNormalCompletion5 = true;
-      var _didIteratorError5 = false;
-      var _iteratorError5 = undefined;
-
-      try {
-        for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
-          var data = _step5.value;
-
-          if (!data) {
-            continue;
-          }
-
-          if (data.annotationType === _util.AnnotationType.POPUP) {
-            popupAnnotations.push(data);
-            continue;
-          }
-
-          sortedAnnotations.push(data);
-        }
-      } catch (err) {
-        _didIteratorError5 = true;
-        _iteratorError5 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
-            _iterator5["return"]();
-          }
-        } finally {
-          if (_didIteratorError5) {
-            throw _iteratorError5;
-          }
-        }
-      }
-
-      if (popupAnnotations.length) {
-        sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);
-      }
-
-      for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {
-        var _data = _sortedAnnotations[_i];
-        var element = AnnotationElementFactory.create({
-          data: _data,
-          layer: parameters.div,
-          page: parameters.page,
-          viewport: parameters.viewport,
-          linkService: parameters.linkService,
-          downloadManager: parameters.downloadManager,
-          imageResourcesPath: parameters.imageResourcesPath || "",
-          renderInteractiveForms: parameters.renderInteractiveForms || false,
-          svgFactory: new _display_utils.DOMSVGFactory()
-        });
-
-        if (element.isRenderable) {
-          parameters.div.appendChild(element.render());
-        }
-      }
-    }
-  }, {
-    key: "update",
-    value: function update(parameters) {
-      var _iteratorNormalCompletion6 = true;
-      var _didIteratorError6 = false;
-      var _iteratorError6 = undefined;
-
-      try {
-        for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
-          var data = _step6.value;
-          var element = parameters.div.querySelector("[data-annotation-id=\"".concat(data.id, "\"]"));
-
-          if (element) {
-            element.style.transform = "matrix(".concat(parameters.viewport.transform.join(","), ")");
-          }
-        }
-      } catch (err) {
-        _didIteratorError6 = true;
-        _iteratorError6 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
-            _iterator6["return"]();
-          }
-        } finally {
-          if (_didIteratorError6) {
-            throw _iteratorError6;
-          }
-        }
-      }
-
-      parameters.div.removeAttribute("hidden");
-    }
-  }]);
-
-  return AnnotationLayer;
-}();
-
-exports.AnnotationLayer = AnnotationLayer;
-
-/***/ }),
-/* 207 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.SVGGraphics = void 0;
-
-var _util = __w_pdfjs_require__(1);
-
-var _display_utils = __w_pdfjs_require__(194);
-
-var _is_node = __w_pdfjs_require__(48);
-
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var SVGGraphics = function SVGGraphics() {
-  throw new Error("Not implemented: SVGGraphics");
-};
-
-exports.SVGGraphics = SVGGraphics;
-{
-  var opListToTree = function opListToTree(opList) {
-    var opTree = [];
-    var tmp = [];
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
-
-    try {
-      for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-        var opListElement = _step.value;
-
-        if (opListElement.fn === "save") {
-          opTree.push({
-            fnId: 92,
-            fn: "group",
-            items: []
-          });
-          tmp.push(opTree);
-          opTree = opTree[opTree.length - 1].items;
-          continue;
-        }
-
-        if (opListElement.fn === "restore") {
-          opTree = tmp.pop();
-        } else {
-          opTree.push(opListElement);
-        }
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-          _iterator["return"]();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
-      }
-    }
-
-    return opTree;
-  };
-
-  var pf = function pf(value) {
-    if (Number.isInteger(value)) {
-      return value.toString();
-    }
-
-    var s = value.toFixed(10);
-    var i = s.length - 1;
-
-    if (s[i] !== "0") {
-      return s;
-    }
-
-    do {
-      i--;
-    } while (s[i] === "0");
-
-    return s.substring(0, s[i] === "." ? i : i + 1);
-  };
-
-  var pm = function pm(m) {
-    if (m[4] === 0 && m[5] === 0) {
-      if (m[1] === 0 && m[2] === 0) {
-        if (m[0] === 1 && m[3] === 1) {
-          return "";
-        }
-
-        return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
-      }
-
-      if (m[0] === m[3] && m[1] === -m[2]) {
-        var a = Math.acos(m[0]) * 180 / Math.PI;
-        return "rotate(".concat(pf(a), ")");
-      }
-    } else {
-      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
-        return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
-      }
-    }
-
-    return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")");
-  };
-
-  var SVG_DEFAULTS = {
-    fontStyle: "normal",
-    fontWeight: "normal",
-    fillColor: "#000000"
-  };
-  var XML_NS = "http://www.w3.org/XML/1998/namespace";
-  var XLINK_NS = "http://www.w3.org/1999/xlink";
-  var LINE_CAP_STYLES = ["butt", "round", "square"];
-  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
-
-  var convertImgDataToPng = function () {
-    var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
-    var CHUNK_WRAPPER_SIZE = 12;
-    var crcTable = new Int32Array(256);
-
-    for (var i = 0; i < 256; i++) {
-      var c = i;
-
-      for (var h = 0; h < 8; h++) {
-        if (c & 1) {
-          c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
-        } else {
-          c = c >> 1 & 0x7fffffff;
-        }
-      }
-
-      crcTable[i] = c;
-    }
-
-    function crc32(data, start, end) {
-      var crc = -1;
-
-      for (var _i = start; _i < end; _i++) {
-        var a = (crc ^ data[_i]) & 0xff;
-        var b = crcTable[a];
-        crc = crc >>> 8 ^ b;
-      }
-
-      return crc ^ -1;
-    }
-
-    function writePngChunk(type, body, data, offset) {
-      var p = offset;
-      var len = body.length;
-      data[p] = len >> 24 & 0xff;
-      data[p + 1] = len >> 16 & 0xff;
-      data[p + 2] = len >> 8 & 0xff;
-      data[p + 3] = len & 0xff;
-      p += 4;
-      data[p] = type.charCodeAt(0) & 0xff;
-      data[p + 1] = type.charCodeAt(1) & 0xff;
-      data[p + 2] = type.charCodeAt(2) & 0xff;
-      data[p + 3] = type.charCodeAt(3) & 0xff;
-      p += 4;
-      data.set(body, p);
-      p += body.length;
-      var crc = crc32(data, offset + 4, p);
-      data[p] = crc >> 24 & 0xff;
-      data[p + 1] = crc >> 16 & 0xff;
-      data[p + 2] = crc >> 8 & 0xff;
-      data[p + 3] = crc & 0xff;
-    }
-
-    function adler32(data, start, end) {
-      var a = 1;
-      var b = 0;
-
-      for (var _i2 = start; _i2 < end; ++_i2) {
-        a = (a + (data[_i2] & 0xff)) % 65521;
-        b = (b + a) % 65521;
-      }
-
-      return b << 16 | a;
-    }
-
-    function deflateSync(literals) {
-      if (!_is_node.isNodeJS) {
-        return deflateSyncUncompressed(literals);
-      }
-
-      try {
-        var input;
-
-        if (parseInt(process.versions.node) >= 8) {
-          input = literals;
-        } else {
-          input = Buffer.from(literals);
-        }
-
-        var output = require("zlib").deflateSync(input, {
-          level: 9
-        });
-
-        return output instanceof Uint8Array ? output : new Uint8Array(output);
-      } catch (e) {
-        (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
-      }
-
-      return deflateSyncUncompressed(literals);
-    }
-
-    function deflateSyncUncompressed(literals) {
-      var len = literals.length;
-      var maxBlockLength = 0xffff;
-      var deflateBlocks = Math.ceil(len / maxBlockLength);
-      var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
-      var pi = 0;
-      idat[pi++] = 0x78;
-      idat[pi++] = 0x9c;
-      var pos = 0;
-
-      while (len > maxBlockLength) {
-        idat[pi++] = 0x00;
-        idat[pi++] = 0xff;
-        idat[pi++] = 0xff;
-        idat[pi++] = 0x00;
-        idat[pi++] = 0x00;
-        idat.set(literals.subarray(pos, pos + maxBlockLength), pi);
-        pi += maxBlockLength;
-        pos += maxBlockLength;
-        len -= maxBlockLength;
-      }
-
-      idat[pi++] = 0x01;
-      idat[pi++] = len & 0xff;
-      idat[pi++] = len >> 8 & 0xff;
-      idat[pi++] = ~len & 0xffff & 0xff;
-      idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
-      idat.set(literals.subarray(pos), pi);
-      pi += literals.length - pos;
-      var adler = adler32(literals, 0, literals.length);
-      idat[pi++] = adler >> 24 & 0xff;
-      idat[pi++] = adler >> 16 & 0xff;
-      idat[pi++] = adler >> 8 & 0xff;
-      idat[pi++] = adler & 0xff;
-      return idat;
-    }
-
-    function encode(imgData, kind, forceDataSchema, isMask) {
-      var width = imgData.width;
-      var height = imgData.height;
-      var bitDepth, colorType, lineSize;
-      var bytes = imgData.data;
-
-      switch (kind) {
-        case _util.ImageKind.GRAYSCALE_1BPP:
-          colorType = 0;
-          bitDepth = 1;
-          lineSize = width + 7 >> 3;
-          break;
-
-        case _util.ImageKind.RGB_24BPP:
-          colorType = 2;
-          bitDepth = 8;
-          lineSize = width * 3;
-          break;
-
-        case _util.ImageKind.RGBA_32BPP:
-          colorType = 6;
-          bitDepth = 8;
-          lineSize = width * 4;
-          break;
-
-        default:
-          throw new Error("invalid format");
-      }
-
-      var literals = new Uint8Array((1 + lineSize) * height);
-      var offsetLiterals = 0,
-          offsetBytes = 0;
-
-      for (var y = 0; y < height; ++y) {
-        literals[offsetLiterals++] = 0;
-        literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
-        offsetBytes += lineSize;
-        offsetLiterals += lineSize;
-      }
-
-      if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
-        offsetLiterals = 0;
-
-        for (var _y = 0; _y < height; _y++) {
-          offsetLiterals++;
-
-          for (var _i3 = 0; _i3 < lineSize; _i3++) {
-            literals[offsetLiterals++] ^= 0xff;
-          }
-        }
-      }
-
-      var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);
-      var idat = deflateSync(literals);
-      var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
-      var data = new Uint8Array(pngLength);
-      var offset = 0;
-      data.set(PNG_HEADER, offset);
-      offset += PNG_HEADER.length;
-      writePngChunk("IHDR", ihdr, data, offset);
-      offset += CHUNK_WRAPPER_SIZE + ihdr.length;
-      writePngChunk("IDATA", idat, data, offset);
-      offset += CHUNK_WRAPPER_SIZE + idat.length;
-      writePngChunk("IEND", new Uint8Array(0), data, offset);
-      return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
-    }
-
-    return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
-      var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
-      return encode(imgData, kind, forceDataSchema, isMask);
-    };
-  }();
-
-  var SVGExtraState = /*#__PURE__*/function () {
-    function SVGExtraState() {
-      _classCallCheck(this, SVGExtraState);
-
-      this.fontSizeScale = 1;
-      this.fontWeight = SVG_DEFAULTS.fontWeight;
-      this.fontSize = 0;
-      this.textMatrix = _util.IDENTITY_MATRIX;
-      this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
-      this.leading = 0;
-      this.textRenderingMode = _util.TextRenderingMode.FILL;
-      this.textMatrixScale = 1;
-      this.x = 0;
-      this.y = 0;
-      this.lineX = 0;
-      this.lineY = 0;
-      this.charSpacing = 0;
-      this.wordSpacing = 0;
-      this.textHScale = 1;
-      this.textRise = 0;
-      this.fillColor = SVG_DEFAULTS.fillColor;
-      this.strokeColor = "#000000";
-      this.fillAlpha = 1;
-      this.strokeAlpha = 1;
-      this.lineWidth = 1;
-      this.lineJoin = "";
-      this.lineCap = "";
-      this.miterLimit = 0;
-      this.dashArray = [];
-      this.dashPhase = 0;
-      this.dependencies = [];
-      this.activeClipUrl = null;
-      this.clipGroup = null;
-      this.maskId = "";
-    }
-
-    _createClass(SVGExtraState, [{
-      key: "clone",
-      value: function clone() {
-        return Object.create(this);
-      }
-    }, {
-      key: "setCurrentPoint",
-      value: function setCurrentPoint(x, y) {
-        this.x = x;
-        this.y = y;
-      }
-    }]);
-
-    return SVGExtraState;
-  }();
-
-  var clipCount = 0;
-  var maskCount = 0;
-  var shadingCount = 0;
-
-  exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {
-    function SVGGraphics(commonObjs, objs, forceDataSchema) {
-      _classCallCheck(this, SVGGraphics);
-
-      this.svgFactory = new _display_utils.DOMSVGFactory();
-      this.current = new SVGExtraState();
-      this.transformMatrix = _util.IDENTITY_MATRIX;
-      this.transformStack = [];
-      this.extraStack = [];
-      this.commonObjs = commonObjs;
-      this.objs = objs;
-      this.pendingClip = null;
-      this.pendingEOFill = false;
-      this.embedFonts = false;
-      this.embeddedFonts = Object.create(null);
-      this.cssStyle = null;
-      this.forceDataSchema = !!forceDataSchema;
-      this._operatorIdMapping = [];
-
-      for (var op in _util.OPS) {
-        this._operatorIdMapping[_util.OPS[op]] = op;
-      }
-    }
-
-    _createClass(SVGGraphics, [{
-      key: "save",
-      value: function save() {
-        this.transformStack.push(this.transformMatrix);
-        var old = this.current;
-        this.extraStack.push(old);
-        this.current = old.clone();
-      }
-    }, {
-      key: "restore",
-      value: function restore() {
-        this.transformMatrix = this.transformStack.pop();
-        this.current = this.extraStack.pop();
-        this.pendingClip = null;
-        this.tgrp = null;
-      }
-    }, {
-      key: "group",
-      value: function group(items) {
-        this.save();
-        this.executeOpTree(items);
-        this.restore();
-      }
-    }, {
-      key: "loadDependencies",
-      value: function loadDependencies(operatorList) {
-        var _this = this;
-
-        var fnArray = operatorList.fnArray;
-        var argsArray = operatorList.argsArray;
-
-        for (var i = 0, ii = fnArray.length; i < ii; i++) {
-          if (fnArray[i] !== _util.OPS.dependency) {
-            continue;
-          }
-
-          var _iteratorNormalCompletion2 = true;
-          var _didIteratorError2 = false;
-          var _iteratorError2 = undefined;
-
-          try {
-            var _loop = function _loop() {
-              var obj = _step2.value;
-              var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs;
-              var promise = new Promise(function (resolve) {
-                objsPool.get(obj, resolve);
-              });
-
-              _this.current.dependencies.push(promise);
-            };
-
-            for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-              _loop();
-            }
-          } catch (err) {
-            _didIteratorError2 = true;
-            _iteratorError2 = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-                _iterator2["return"]();
-              }
-            } finally {
-              if (_didIteratorError2) {
-                throw _iteratorError2;
-              }
-            }
-          }
-        }
-
-        return Promise.all(this.current.dependencies);
-      }
-    }, {
-      key: "transform",
-      value: function transform(a, b, c, d, e, f) {
-        var transformMatrix = [a, b, c, d, e, f];
-        this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
-        this.tgrp = null;
-      }
-    }, {
-      key: "getSVG",
-      value: function getSVG(operatorList, viewport) {
-        var _this2 = this;
-
-        this.viewport = viewport;
-
-        var svgElement = this._initialize(viewport);
-
-        return this.loadDependencies(operatorList).then(function () {
-          _this2.transformMatrix = _util.IDENTITY_MATRIX;
-
-          _this2.executeOpTree(_this2.convertOpList(operatorList));
-
-          return svgElement;
-        });
-      }
-    }, {
-      key: "convertOpList",
-      value: function convertOpList(operatorList) {
-        var operatorIdMapping = this._operatorIdMapping;
-        var argsArray = operatorList.argsArray;
-        var fnArray = operatorList.fnArray;
-        var opList = [];
-
-        for (var i = 0, ii = fnArray.length; i < ii; i++) {
-          var fnId = fnArray[i];
-          opList.push({
-            fnId: fnId,
-            fn: operatorIdMapping[fnId],
-            args: argsArray[i]
-          });
-        }
-
-        return opListToTree(opList);
-      }
-    }, {
-      key: "executeOpTree",
-      value: function executeOpTree(opTree) {
-        var _iteratorNormalCompletion3 = true;
-        var _didIteratorError3 = false;
-        var _iteratorError3 = undefined;
-
-        try {
-          for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-            var opTreeElement = _step3.value;
-            var fn = opTreeElement.fn;
-            var fnId = opTreeElement.fnId;
-            var args = opTreeElement.args;
-
-            switch (fnId | 0) {
-              case _util.OPS.beginText:
-                this.beginText();
-                break;
-
-              case _util.OPS.dependency:
-                break;
-
-              case _util.OPS.setLeading:
-                this.setLeading(args);
-                break;
-
-              case _util.OPS.setLeadingMoveText:
-                this.setLeadingMoveText(args[0], args[1]);
-                break;
-
-              case _util.OPS.setFont:
-                this.setFont(args);
-                break;
-
-              case _util.OPS.showText:
-                this.showText(args[0]);
-                break;
-
-              case _util.OPS.showSpacedText:
-                this.showText(args[0]);
-                break;
-
-              case _util.OPS.endText:
-                this.endText();
-                break;
-
-              case _util.OPS.moveText:
-                this.moveText(args[0], args[1]);
-                break;
-
-              case _util.OPS.setCharSpacing:
-                this.setCharSpacing(args[0]);
-                break;
-
-              case _util.OPS.setWordSpacing:
-                this.setWordSpacing(args[0]);
-                break;
-
-              case _util.OPS.setHScale:
-                this.setHScale(args[0]);
-                break;
-
-              case _util.OPS.setTextMatrix:
-                this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
-                break;
-
-              case _util.OPS.setTextRise:
-                this.setTextRise(args[0]);
-                break;
-
-              case _util.OPS.setTextRenderingMode:
-                this.setTextRenderingMode(args[0]);
-                break;
-
-              case _util.OPS.setLineWidth:
-                this.setLineWidth(args[0]);
-                break;
-
-              case _util.OPS.setLineJoin:
-                this.setLineJoin(args[0]);
-                break;
-
-              case _util.OPS.setLineCap:
-                this.setLineCap(args[0]);
-                break;
-
-              case _util.OPS.setMiterLimit:
-                this.setMiterLimit(args[0]);
-                break;
-
-              case _util.OPS.setFillRGBColor:
-                this.setFillRGBColor(args[0], args[1], args[2]);
-                break;
-
-              case _util.OPS.setStrokeRGBColor:
-                this.setStrokeRGBColor(args[0], args[1], args[2]);
-                break;
-
-              case _util.OPS.setStrokeColorN:
-                this.setStrokeColorN(args);
-                break;
-
-              case _util.OPS.setFillColorN:
-                this.setFillColorN(args);
-                break;
-
-              case _util.OPS.shadingFill:
-                this.shadingFill(args[0]);
-                break;
-
-              case _util.OPS.setDash:
-                this.setDash(args[0], args[1]);
-                break;
-
-              case _util.OPS.setRenderingIntent:
-                this.setRenderingIntent(args[0]);
-                break;
-
-              case _util.OPS.setFlatness:
-                this.setFlatness(args[0]);
-                break;
-
-              case _util.OPS.setGState:
-                this.setGState(args[0]);
-                break;
-
-              case _util.OPS.fill:
-                this.fill();
-                break;
-
-              case _util.OPS.eoFill:
-                this.eoFill();
-                break;
-
-              case _util.OPS.stroke:
-                this.stroke();
-                break;
-
-              case _util.OPS.fillStroke:
-                this.fillStroke();
-                break;
-
-              case _util.OPS.eoFillStroke:
-                this.eoFillStroke();
-                break;
-
-              case _util.OPS.clip:
-                this.clip("nonzero");
-                break;
-
-              case _util.OPS.eoClip:
-                this.clip("evenodd");
-                break;
-
-              case _util.OPS.paintSolidColorImageMask:
-                this.paintSolidColorImageMask();
-                break;
-
-              case _util.OPS.paintJpegXObject:
-                this.paintJpegXObject(args[0], args[1], args[2]);
-                break;
-
-              case _util.OPS.paintImageXObject:
-                this.paintImageXObject(args[0]);
-                break;
-
-              case _util.OPS.paintInlineImageXObject:
-                this.paintInlineImageXObject(args[0]);
-                break;
-
-              case _util.OPS.paintImageMaskXObject:
-                this.paintImageMaskXObject(args[0]);
-                break;
-
-              case _util.OPS.paintFormXObjectBegin:
-                this.paintFormXObjectBegin(args[0], args[1]);
-                break;
-
-              case _util.OPS.paintFormXObjectEnd:
-                this.paintFormXObjectEnd();
-                break;
-
-              case _util.OPS.closePath:
-                this.closePath();
-                break;
-
-              case _util.OPS.closeStroke:
-                this.closeStroke();
-                break;
-
-              case _util.OPS.closeFillStroke:
-                this.closeFillStroke();
-                break;
-
-              case _util.OPS.closeEOFillStroke:
-                this.closeEOFillStroke();
-                break;
-
-              case _util.OPS.nextLine:
-                this.nextLine();
-                break;
-
-              case _util.OPS.transform:
-                this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
-                break;
-
-              case _util.OPS.constructPath:
-                this.constructPath(args[0], args[1]);
-                break;
-
-              case _util.OPS.endPath:
-                this.endPath();
-                break;
-
-              case 92:
-                this.group(opTreeElement.items);
-                break;
-
-              default:
-                (0, _util.warn)("Unimplemented operator ".concat(fn));
-                break;
-            }
-          }
-        } catch (err) {
-          _didIteratorError3 = true;
-          _iteratorError3 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-              _iterator3["return"]();
-            }
-          } finally {
-            if (_didIteratorError3) {
-              throw _iteratorError3;
-            }
-          }
-        }
-      }
-    }, {
-      key: "setWordSpacing",
-      value: function setWordSpacing(wordSpacing) {
-        this.current.wordSpacing = wordSpacing;
-      }
-    }, {
-      key: "setCharSpacing",
-      value: function setCharSpacing(charSpacing) {
-        this.current.charSpacing = charSpacing;
-      }
-    }, {
-      key: "nextLine",
-      value: function nextLine() {
-        this.moveText(0, this.current.leading);
-      }
-    }, {
-      key: "setTextMatrix",
-      value: function setTextMatrix(a, b, c, d, e, f) {
-        var current = this.current;
-        current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
-        current.textMatrixScale = Math.sqrt(a * a + b * b);
-        current.x = current.lineX = 0;
-        current.y = current.lineY = 0;
-        current.xcoords = [];
-        current.tspan = this.svgFactory.createElement("svg:tspan");
-        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
-        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
-        current.tspan.setAttributeNS(null, "y", pf(-current.y));
-        current.txtElement = this.svgFactory.createElement("svg:text");
-        current.txtElement.appendChild(current.tspan);
-      }
-    }, {
-      key: "beginText",
-      value: function beginText() {
-        var current = this.current;
-        current.x = current.lineX = 0;
-        current.y = current.lineY = 0;
-        current.textMatrix = _util.IDENTITY_MATRIX;
-        current.lineMatrix = _util.IDENTITY_MATRIX;
-        current.textMatrixScale = 1;
-        current.tspan = this.svgFactory.createElement("svg:tspan");
-        current.txtElement = this.svgFactory.createElement("svg:text");
-        current.txtgrp = this.svgFactory.createElement("svg:g");
-        current.xcoords = [];
-      }
-    }, {
-      key: "moveText",
-      value: function moveText(x, y) {
-        var current = this.current;
-        current.x = current.lineX += x;
-        current.y = current.lineY += y;
-        current.xcoords = [];
-        current.tspan = this.svgFactory.createElement("svg:tspan");
-        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
-        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
-        current.tspan.setAttributeNS(null, "y", pf(-current.y));
-      }
-    }, {
-      key: "showText",
-      value: function showText(glyphs) {
-        var current = this.current;
-        var font = current.font;
-        var fontSize = current.fontSize;
-
-        if (fontSize === 0) {
-          return;
-        }
-
-        var charSpacing = current.charSpacing;
-        var wordSpacing = current.wordSpacing;
-        var fontDirection = current.fontDirection;
-        var textHScale = current.textHScale * fontDirection;
-        var vertical = font.vertical;
-        var widthAdvanceScale = fontSize * current.fontMatrix[0];
-        var x = 0;
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
-
-        try {
-          for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var glyph = _step4.value;
-
-            if (glyph === null) {
-              x += fontDirection * wordSpacing;
-              continue;
-            } else if ((0, _util.isNum)(glyph)) {
-              x += -glyph * fontSize * 0.001;
-              continue;
-            }
-
-            var width = glyph.width;
-            var character = glyph.fontChar;
-            var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
-            var charWidth = width * widthAdvanceScale + spacing * fontDirection;
-
-            if (!glyph.isInFont && !font.missingFile) {
-              x += charWidth;
-              continue;
-            }
-
-            current.xcoords.push(current.x + x);
-            current.tspan.textContent += character;
-            x += charWidth;
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
-
-        if (vertical) {
-          current.y -= x * textHScale;
-        } else {
-          current.x += x * textHScale;
-        }
-
-        current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));
-        current.tspan.setAttributeNS(null, "y", pf(-current.y));
-        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
-        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
-
-        if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
-          current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
-        }
-
-        if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
-          current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
-        }
-
-        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
-
-        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          if (current.fillColor !== SVG_DEFAULTS.fillColor) {
-            current.tspan.setAttributeNS(null, "fill", current.fillColor);
-          }
-
-          if (current.fillAlpha < 1) {
-            current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
-          }
-        } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
-          current.tspan.setAttributeNS(null, "fill", "transparent");
-        } else {
-          current.tspan.setAttributeNS(null, "fill", "none");
-        }
-
-        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
-          var lineWidthScale = 1 / (current.textMatrixScale || 1);
-
-          this._setStrokeAttributes(current.tspan, lineWidthScale);
-        }
-
-        var textMatrix = current.textMatrix;
-
-        if (current.textRise !== 0) {
-          textMatrix = textMatrix.slice();
-          textMatrix[5] += current.textRise;
-        }
-
-        current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)"));
-        current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
-        current.txtElement.appendChild(current.tspan);
-        current.txtgrp.appendChild(current.txtElement);
-
-        this._ensureTransformGroup().appendChild(current.txtElement);
-      }
-    }, {
-      key: "setLeadingMoveText",
-      value: function setLeadingMoveText(x, y) {
-        this.setLeading(-y);
-        this.moveText(x, y);
-      }
-    }, {
-      key: "addFontStyle",
-      value: function addFontStyle(fontObj) {
-        if (!this.cssStyle) {
-          this.cssStyle = this.svgFactory.createElement("svg:style");
-          this.cssStyle.setAttributeNS(null, "type", "text/css");
-          this.defs.appendChild(this.cssStyle);
-        }
-
-        var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
-        this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n");
-      }
-    }, {
-      key: "setFont",
-      value: function setFont(details) {
-        var current = this.current;
-        var fontObj = this.commonObjs.get(details[0]);
-        var size = details[1];
-        current.font = fontObj;
-
-        if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {
-          this.addFontStyle(fontObj);
-          this.embeddedFonts[fontObj.loadedName] = fontObj;
-        }
-
-        current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
-        var bold = "normal";
-
-        if (fontObj.black) {
-          bold = "900";
-        } else if (fontObj.bold) {
-          bold = "bold";
-        }
-
-        var italic = fontObj.italic ? "italic" : "normal";
-
-        if (size < 0) {
-          size = -size;
-          current.fontDirection = -1;
-        } else {
-          current.fontDirection = 1;
-        }
-
-        current.fontSize = size;
-        current.fontFamily = fontObj.loadedName;
-        current.fontWeight = bold;
-        current.fontStyle = italic;
-        current.tspan = this.svgFactory.createElement("svg:tspan");
-        current.tspan.setAttributeNS(null, "y", pf(-current.y));
-        current.xcoords = [];
-      }
-    }, {
-      key: "endText",
-      value: function endText() {
-        var current = this.current;
-
-        if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {
-          current.element = current.txtElement;
-          this.clip("nonzero");
-          this.endPath();
-        }
-      }
-    }, {
-      key: "setLineWidth",
-      value: function setLineWidth(width) {
-        if (width > 0) {
-          this.current.lineWidth = width;
-        }
-      }
-    }, {
-      key: "setLineCap",
-      value: function setLineCap(style) {
-        this.current.lineCap = LINE_CAP_STYLES[style];
-      }
-    }, {
-      key: "setLineJoin",
-      value: function setLineJoin(style) {
-        this.current.lineJoin = LINE_JOIN_STYLES[style];
-      }
-    }, {
-      key: "setMiterLimit",
-      value: function setMiterLimit(limit) {
-        this.current.miterLimit = limit;
-      }
-    }, {
-      key: "setStrokeAlpha",
-      value: function setStrokeAlpha(strokeAlpha) {
-        this.current.strokeAlpha = strokeAlpha;
-      }
-    }, {
-      key: "setStrokeRGBColor",
-      value: function setStrokeRGBColor(r, g, b) {
-        this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);
-      }
-    }, {
-      key: "setFillAlpha",
-      value: function setFillAlpha(fillAlpha) {
-        this.current.fillAlpha = fillAlpha;
-      }
-    }, {
-      key: "setFillRGBColor",
-      value: function setFillRGBColor(r, g, b) {
-        this.current.fillColor = _util.Util.makeCssRgb(r, g, b);
-        this.current.tspan = this.svgFactory.createElement("svg:tspan");
-        this.current.xcoords = [];
-      }
-    }, {
-      key: "setStrokeColorN",
-      value: function setStrokeColorN(args) {
-        this.current.strokeColor = this._makeColorN_Pattern(args);
-      }
-    }, {
-      key: "setFillColorN",
-      value: function setFillColorN(args) {
-        this.current.fillColor = this._makeColorN_Pattern(args);
-      }
-    }, {
-      key: "shadingFill",
-      value: function shadingFill(args) {
-        var width = this.viewport.width;
-        var height = this.viewport.height;
-
-        var inv = _util.Util.inverseTransform(this.transformMatrix);
-
-        var bl = _util.Util.applyTransform([0, 0], inv);
-
-        var br = _util.Util.applyTransform([0, height], inv);
-
-        var ul = _util.Util.applyTransform([width, 0], inv);
-
-        var ur = _util.Util.applyTransform([width, height], inv);
-
-        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
-        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
-        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
-        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
-        var rect = this.svgFactory.createElement("svg:rect");
-        rect.setAttributeNS(null, "x", x0);
-        rect.setAttributeNS(null, "y", y0);
-        rect.setAttributeNS(null, "width", x1 - x0);
-        rect.setAttributeNS(null, "height", y1 - y0);
-        rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));
-
-        this._ensureTransformGroup().appendChild(rect);
-      }
-    }, {
-      key: "_makeColorN_Pattern",
-      value: function _makeColorN_Pattern(args) {
-        if (args[0] === "TilingPattern") {
-          return this._makeTilingPattern(args);
-        }
-
-        return this._makeShadingPattern(args);
-      }
-    }, {
-      key: "_makeTilingPattern",
-      value: function _makeTilingPattern(args) {
-        var color = args[1];
-        var operatorList = args[2];
-        var matrix = args[3] || _util.IDENTITY_MATRIX;
-
-        var _args$ = _slicedToArray(args[4], 4),
-            x0 = _args$[0],
-            y0 = _args$[1],
-            x1 = _args$[2],
-            y1 = _args$[3];
-
-        var xstep = args[5];
-        var ystep = args[6];
-        var paintType = args[7];
-        var tilingId = "shading".concat(shadingCount++);
-
-        var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),
-            _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),
-            tx0 = _Util$applyTransform2[0],
-            ty0 = _Util$applyTransform2[1];
-
-        var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),
-            _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
-            tx1 = _Util$applyTransform4[0],
-            ty1 = _Util$applyTransform4[1];
-
-        var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
-            _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
-            xscale = _Util$singularValueDe2[0],
-            yscale = _Util$singularValueDe2[1];
-
-        var txstep = xstep * xscale;
-        var tystep = ystep * yscale;
-        var tiling = this.svgFactory.createElement("svg:pattern");
-        tiling.setAttributeNS(null, "id", tilingId);
-        tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
-        tiling.setAttributeNS(null, "width", txstep);
-        tiling.setAttributeNS(null, "height", tystep);
-        tiling.setAttributeNS(null, "x", "".concat(tx0));
-        tiling.setAttributeNS(null, "y", "".concat(ty0));
-        var svg = this.svg;
-        var transformMatrix = this.transformMatrix;
-        var fillColor = this.current.fillColor;
-        var strokeColor = this.current.strokeColor;
-        var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
-        this.svg = bbox;
-        this.transformMatrix = matrix;
-
-        if (paintType === 2) {
-          var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));
-
-          this.current.fillColor = cssColor;
-          this.current.strokeColor = cssColor;
-        }
-
-        this.executeOpTree(this.convertOpList(operatorList));
-        this.svg = svg;
-        this.transformMatrix = transformMatrix;
-        this.current.fillColor = fillColor;
-        this.current.strokeColor = strokeColor;
-        tiling.appendChild(bbox.childNodes[0]);
-        this.defs.appendChild(tiling);
-        return "url(#".concat(tilingId, ")");
-      }
-    }, {
-      key: "_makeShadingPattern",
-      value: function _makeShadingPattern(args) {
-        switch (args[0]) {
-          case "RadialAxial":
-            var shadingId = "shading".concat(shadingCount++);
-            var colorStops = args[3];
-            var gradient;
-
-            switch (args[1]) {
-              case "axial":
-                var point0 = args[4];
-                var point1 = args[5];
-                gradient = this.svgFactory.createElement("svg:linearGradient");
-                gradient.setAttributeNS(null, "id", shadingId);
-                gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
-                gradient.setAttributeNS(null, "x1", point0[0]);
-                gradient.setAttributeNS(null, "y1", point0[1]);
-                gradient.setAttributeNS(null, "x2", point1[0]);
-                gradient.setAttributeNS(null, "y2", point1[1]);
-                break;
-
-              case "radial":
-                var focalPoint = args[4];
-                var circlePoint = args[5];
-                var focalRadius = args[6];
-                var circleRadius = args[7];
-                gradient = this.svgFactory.createElement("svg:radialGradient");
-                gradient.setAttributeNS(null, "id", shadingId);
-                gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
-                gradient.setAttributeNS(null, "cx", circlePoint[0]);
-                gradient.setAttributeNS(null, "cy", circlePoint[1]);
-                gradient.setAttributeNS(null, "r", circleRadius);
-                gradient.setAttributeNS(null, "fx", focalPoint[0]);
-                gradient.setAttributeNS(null, "fy", focalPoint[1]);
-                gradient.setAttributeNS(null, "fr", focalRadius);
-                break;
-
-              default:
-                throw new Error("Unknown RadialAxial type: ".concat(args[1]));
-            }
-
-            var _iteratorNormalCompletion5 = true;
-            var _didIteratorError5 = false;
-            var _iteratorError5 = undefined;
-
-            try {
-              for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
-                var colorStop = _step5.value;
-                var stop = this.svgFactory.createElement("svg:stop");
-                stop.setAttributeNS(null, "offset", colorStop[0]);
-                stop.setAttributeNS(null, "stop-color", colorStop[1]);
-                gradient.appendChild(stop);
-              }
-            } catch (err) {
-              _didIteratorError5 = true;
-              _iteratorError5 = err;
-            } finally {
-              try {
-                if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
-                  _iterator5["return"]();
-                }
-              } finally {
-                if (_didIteratorError5) {
-                  throw _iteratorError5;
-                }
-              }
-            }
-
-            this.defs.appendChild(gradient);
-            return "url(#".concat(shadingId, ")");
-
-          case "Mesh":
-            (0, _util.warn)("Unimplemented pattern Mesh");
-            return null;
-
-          case "Dummy":
-            return "hotpink";
-
-          default:
-            throw new Error("Unknown IR type: ".concat(args[0]));
-        }
-      }
-    }, {
-      key: "setDash",
-      value: function setDash(dashArray, dashPhase) {
-        this.current.dashArray = dashArray;
-        this.current.dashPhase = dashPhase;
-      }
-    }, {
-      key: "constructPath",
-      value: function constructPath(ops, args) {
-        var current = this.current;
-        var x = current.x,
-            y = current.y;
-        var d = [];
-        var j = 0;
-        var _iteratorNormalCompletion6 = true;
-        var _didIteratorError6 = false;
-        var _iteratorError6 = undefined;
-
-        try {
-          for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
-            var op = _step6.value;
-
-            switch (op | 0) {
-              case _util.OPS.rectangle:
-                x = args[j++];
-                y = args[j++];
-                var width = args[j++];
-                var height = args[j++];
-                var xw = x + width;
-                var yh = y + height;
-                d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
-                break;
-
-              case _util.OPS.moveTo:
-                x = args[j++];
-                y = args[j++];
-                d.push("M", pf(x), pf(y));
-                break;
-
-              case _util.OPS.lineTo:
-                x = args[j++];
-                y = args[j++];
-                d.push("L", pf(x), pf(y));
-                break;
-
-              case _util.OPS.curveTo:
-                x = args[j + 4];
-                y = args[j + 5];
-                d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
-                j += 6;
-                break;
-
-              case _util.OPS.curveTo2:
-                d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
-                x = args[j + 2];
-                y = args[j + 3];
-                j += 4;
-                break;
-
-              case _util.OPS.curveTo3:
-                x = args[j + 2];
-                y = args[j + 3];
-                d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
-                j += 4;
-                break;
-
-              case _util.OPS.closePath:
-                d.push("Z");
-                break;
-            }
-          }
-        } catch (err) {
-          _didIteratorError6 = true;
-          _iteratorError6 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
-              _iterator6["return"]();
-            }
-          } finally {
-            if (_didIteratorError6) {
-              throw _iteratorError6;
-            }
-          }
-        }
-
-        d = d.join(" ");
-
-        if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
-          d = current.path.getAttributeNS(null, "d") + d;
-        } else {
-          current.path = this.svgFactory.createElement("svg:path");
-
-          this._ensureTransformGroup().appendChild(current.path);
-        }
-
-        current.path.setAttributeNS(null, "d", d);
-        current.path.setAttributeNS(null, "fill", "none");
-        current.element = current.path;
-        current.setCurrentPoint(x, y);
-      }
-    }, {
-      key: "endPath",
-      value: function endPath() {
-        var current = this.current;
-        current.path = null;
-
-        if (!this.pendingClip) {
-          return;
-        }
-
-        if (!current.element) {
-          this.pendingClip = null;
-          return;
-        }
-
-        var clipId = "clippath".concat(clipCount++);
-        var clipPath = this.svgFactory.createElement("svg:clipPath");
-        clipPath.setAttributeNS(null, "id", clipId);
-        clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
-        var clipElement = current.element.cloneNode(true);
-
-        if (this.pendingClip === "evenodd") {
-          clipElement.setAttributeNS(null, "clip-rule", "evenodd");
-        } else {
-          clipElement.setAttributeNS(null, "clip-rule", "nonzero");
-        }
-
-        this.pendingClip = null;
-        clipPath.appendChild(clipElement);
-        this.defs.appendChild(clipPath);
-
-        if (current.activeClipUrl) {
-          current.clipGroup = null;
-          this.extraStack.forEach(function (prev) {
-            prev.clipGroup = null;
-          });
-          clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
-        }
-
-        current.activeClipUrl = "url(#".concat(clipId, ")");
-        this.tgrp = null;
-      }
-    }, {
-      key: "clip",
-      value: function clip(type) {
-        this.pendingClip = type;
-      }
-    }, {
-      key: "closePath",
-      value: function closePath() {
-        var current = this.current;
-
-        if (current.path) {
-          var d = "".concat(current.path.getAttributeNS(null, "d"), "Z");
-          current.path.setAttributeNS(null, "d", d);
-        }
-      }
-    }, {
-      key: "setLeading",
-      value: function setLeading(leading) {
-        this.current.leading = -leading;
-      }
-    }, {
-      key: "setTextRise",
-      value: function setTextRise(textRise) {
-        this.current.textRise = textRise;
-      }
-    }, {
-      key: "setTextRenderingMode",
-      value: function setTextRenderingMode(textRenderingMode) {
-        this.current.textRenderingMode = textRenderingMode;
-      }
-    }, {
-      key: "setHScale",
-      value: function setHScale(scale) {
-        this.current.textHScale = scale / 100;
-      }
-    }, {
-      key: "setRenderingIntent",
-      value: function setRenderingIntent(intent) {}
-    }, {
-      key: "setFlatness",
-      value: function setFlatness(flatness) {}
-    }, {
-      key: "setGState",
-      value: function setGState(states) {
-        var _iteratorNormalCompletion7 = true;
-        var _didIteratorError7 = false;
-        var _iteratorError7 = undefined;
-
-        try {
-          for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
-            var _step7$value = _slicedToArray(_step7.value, 2),
-                key = _step7$value[0],
-                value = _step7$value[1];
-
-            switch (key) {
-              case "LW":
-                this.setLineWidth(value);
-                break;
-
-              case "LC":
-                this.setLineCap(value);
-                break;
-
-              case "LJ":
-                this.setLineJoin(value);
-                break;
-
-              case "ML":
-                this.setMiterLimit(value);
-                break;
-
-              case "D":
-                this.setDash(value[0], value[1]);
-                break;
-
-              case "RI":
-                this.setRenderingIntent(value);
-                break;
-
-              case "FL":
-                this.setFlatness(value);
-                break;
-
-              case "Font":
-                this.setFont(value);
-                break;
-
-              case "CA":
-                this.setStrokeAlpha(value);
-                break;
-
-              case "ca":
-                this.setFillAlpha(value);
-                break;
-
-              default:
-                (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
-                break;
-            }
-          }
-        } catch (err) {
-          _didIteratorError7 = true;
-          _iteratorError7 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion7 && _iterator7["return"] != null) {
-              _iterator7["return"]();
-            }
-          } finally {
-            if (_didIteratorError7) {
-              throw _iteratorError7;
-            }
-          }
-        }
-      }
-    }, {
-      key: "fill",
-      value: function fill() {
-        var current = this.current;
-
-        if (current.element) {
-          current.element.setAttributeNS(null, "fill", current.fillColor);
-          current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
-          this.endPath();
-        }
-      }
-    }, {
-      key: "stroke",
-      value: function stroke() {
-        var current = this.current;
-
-        if (current.element) {
-          this._setStrokeAttributes(current.element);
-
-          current.element.setAttributeNS(null, "fill", "none");
-          this.endPath();
-        }
-      }
-    }, {
-      key: "_setStrokeAttributes",
-      value: function _setStrokeAttributes(element) {
-        var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
-        var current = this.current;
-        var dashArray = current.dashArray;
-
-        if (lineWidthScale !== 1 && dashArray.length > 0) {
-          dashArray = dashArray.map(function (value) {
-            return lineWidthScale * value;
-          });
-        }
-
-        element.setAttributeNS(null, "stroke", current.strokeColor);
-        element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
-        element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
-        element.setAttributeNS(null, "stroke-linecap", current.lineCap);
-        element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
-        element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
-        element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
-        element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
-      }
-    }, {
-      key: "eoFill",
-      value: function eoFill() {
-        if (this.current.element) {
-          this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
-        }
-
-        this.fill();
-      }
-    }, {
-      key: "fillStroke",
-      value: function fillStroke() {
-        this.stroke();
-        this.fill();
-      }
-    }, {
-      key: "eoFillStroke",
-      value: function eoFillStroke() {
-        if (this.current.element) {
-          this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
-        }
-
-        this.fillStroke();
-      }
-    }, {
-      key: "closeStroke",
-      value: function closeStroke() {
-        this.closePath();
-        this.stroke();
-      }
-    }, {
-      key: "closeFillStroke",
-      value: function closeFillStroke() {
-        this.closePath();
-        this.fillStroke();
-      }
-    }, {
-      key: "closeEOFillStroke",
-      value: function closeEOFillStroke() {
-        this.closePath();
-        this.eoFillStroke();
-      }
-    }, {
-      key: "paintSolidColorImageMask",
-      value: function paintSolidColorImageMask() {
-        var rect = this.svgFactory.createElement("svg:rect");
-        rect.setAttributeNS(null, "x", "0");
-        rect.setAttributeNS(null, "y", "0");
-        rect.setAttributeNS(null, "width", "1px");
-        rect.setAttributeNS(null, "height", "1px");
-        rect.setAttributeNS(null, "fill", this.current.fillColor);
-
-        this._ensureTransformGroup().appendChild(rect);
-      }
-    }, {
-      key: "paintJpegXObject",
-      value: function paintJpegXObject(objId, w, h) {
-        var imgObj = this.objs.get(objId);
-        var imgEl = this.svgFactory.createElement("svg:image");
-        imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgObj.src);
-        imgEl.setAttributeNS(null, "width", pf(w));
-        imgEl.setAttributeNS(null, "height", pf(h));
-        imgEl.setAttributeNS(null, "x", "0");
-        imgEl.setAttributeNS(null, "y", pf(-h));
-        imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / w), " ").concat(pf(-1 / h), ")"));
-
-        this._ensureTransformGroup().appendChild(imgEl);
-      }
-    }, {
-      key: "paintImageXObject",
-      value: function paintImageXObject(objId) {
-        var imgData = this.objs.get(objId);
-
-        if (!imgData) {
-          (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
-          return;
-        }
-
-        this.paintInlineImageXObject(imgData);
-      }
-    }, {
-      key: "paintInlineImageXObject",
-      value: function paintInlineImageXObject(imgData, mask) {
-        var width = imgData.width;
-        var height = imgData.height;
-        var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
-        var cliprect = this.svgFactory.createElement("svg:rect");
-        cliprect.setAttributeNS(null, "x", "0");
-        cliprect.setAttributeNS(null, "y", "0");
-        cliprect.setAttributeNS(null, "width", pf(width));
-        cliprect.setAttributeNS(null, "height", pf(height));
-        this.current.element = cliprect;
-        this.clip("nonzero");
-        var imgEl = this.svgFactory.createElement("svg:image");
-        imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
-        imgEl.setAttributeNS(null, "x", "0");
-        imgEl.setAttributeNS(null, "y", pf(-height));
-        imgEl.setAttributeNS(null, "width", pf(width) + "px");
-        imgEl.setAttributeNS(null, "height", pf(height) + "px");
-        imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")"));
-
-        if (mask) {
-          mask.appendChild(imgEl);
-        } else {
-          this._ensureTransformGroup().appendChild(imgEl);
-        }
-      }
-    }, {
-      key: "paintImageMaskXObject",
-      value: function paintImageMaskXObject(imgData) {
-        var current = this.current;
-        var width = imgData.width;
-        var height = imgData.height;
-        var fillColor = current.fillColor;
-        current.maskId = "mask".concat(maskCount++);
-        var mask = this.svgFactory.createElement("svg:mask");
-        mask.setAttributeNS(null, "id", current.maskId);
-        var rect = this.svgFactory.createElement("svg:rect");
-        rect.setAttributeNS(null, "x", "0");
-        rect.setAttributeNS(null, "y", "0");
-        rect.setAttributeNS(null, "width", pf(width));
-        rect.setAttributeNS(null, "height", pf(height));
-        rect.setAttributeNS(null, "fill", fillColor);
-        rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")"));
-        this.defs.appendChild(mask);
-
-        this._ensureTransformGroup().appendChild(rect);
-
-        this.paintInlineImageXObject(imgData, mask);
-      }
-    }, {
-      key: "paintFormXObjectBegin",
-      value: function paintFormXObjectBegin(matrix, bbox) {
-        if (Array.isArray(matrix) && matrix.length === 6) {
-          this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
-        }
-
-        if (bbox) {
-          var width = bbox[2] - bbox[0];
-          var height = bbox[3] - bbox[1];
-          var cliprect = this.svgFactory.createElement("svg:rect");
-          cliprect.setAttributeNS(null, "x", bbox[0]);
-          cliprect.setAttributeNS(null, "y", bbox[1]);
-          cliprect.setAttributeNS(null, "width", pf(width));
-          cliprect.setAttributeNS(null, "height", pf(height));
-          this.current.element = cliprect;
-          this.clip("nonzero");
-          this.endPath();
-        }
-      }
-    }, {
-      key: "paintFormXObjectEnd",
-      value: function paintFormXObjectEnd() {}
-    }, {
-      key: "_initialize",
-      value: function _initialize(viewport) {
-        var svg = this.svgFactory.create(viewport.width, viewport.height);
-        var definitions = this.svgFactory.createElement("svg:defs");
-        svg.appendChild(definitions);
-        this.defs = definitions;
-        var rootGroup = this.svgFactory.createElement("svg:g");
-        rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
-        svg.appendChild(rootGroup);
-        this.svg = rootGroup;
-        return svg;
-      }
-    }, {
-      key: "_ensureClipGroup",
-      value: function _ensureClipGroup() {
-        if (!this.current.clipGroup) {
-          var clipGroup = this.svgFactory.createElement("svg:g");
-          clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
-          this.svg.appendChild(clipGroup);
-          this.current.clipGroup = clipGroup;
-        }
-
-        return this.current.clipGroup;
-      }
-    }, {
-      key: "_ensureTransformGroup",
-      value: function _ensureTransformGroup() {
-        if (!this.tgrp) {
-          this.tgrp = this.svgFactory.createElement("svg:g");
-          this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));
-
-          if (this.current.activeClipUrl) {
-            this._ensureClipGroup().appendChild(this.tgrp);
-          } else {
-            this.svg.appendChild(this.tgrp);
-          }
-        }
-
-        return this.tgrp;
-      }
-    }]);
-
-    return SVGGraphics;
-  }();
-}
-
-/***/ }),
-/* 208 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFNodeStream = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-var _network_utils = __w_pdfjs_require__(209);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var fs = require("fs");
-
-var http = require("http");
-
-var https = require("https");
-
-var url = require("url");
-
-var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
-
-function parseUrl(sourceUrl) {
-  var parsedUrl = url.parse(sourceUrl);
-
-  if (parsedUrl.protocol === "file:" || parsedUrl.host) {
-    return parsedUrl;
-  }
-
-  if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
-    return url.parse("file:///".concat(sourceUrl));
-  }
-
-  if (!parsedUrl.host) {
-    parsedUrl.protocol = "file:";
-  }
-
-  return parsedUrl;
-}
-
-var PDFNodeStream = /*#__PURE__*/function () {
-  function PDFNodeStream(source) {
-    _classCallCheck(this, PDFNodeStream);
-
-    this.source = source;
-    this.url = parseUrl(source.url);
-    this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
-    this.isFsUrl = this.url.protocol === "file:";
-    this.httpHeaders = this.isHttp && source.httpHeaders || {};
-    this._fullRequestReader = null;
-    this._rangeRequestReaders = [];
-  }
-
-  _createClass(PDFNodeStream, [{
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(start, end) {
-      if (end <= this._progressiveDataLength) {
-        return null;
-      }
-
-      var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);
-
-      this._rangeRequestReaders.push(rangeReader);
-
-      return rangeReader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
-
-      var readers = this._rangeRequestReaders.slice(0);
-
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
-    }
-  }, {
-    key: "_progressiveDataLength",
-    get: function get() {
-      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
-    }
-  }]);
-
-  return PDFNodeStream;
-}();
-
-exports.PDFNodeStream = PDFNodeStream;
-
-var BaseFullReader = /*#__PURE__*/function () {
-  function BaseFullReader(stream) {
-    _classCallCheck(this, BaseFullReader);
-
-    this._url = stream.url;
-    this._done = false;
-    this._storedError = null;
-    this.onProgress = null;
-    var source = stream.source;
-    this._contentLength = source.length;
-    this._loaded = 0;
-    this._filename = null;
-    this._disableRange = source.disableRange || false;
-    this._rangeChunkSize = source.rangeChunkSize;
-
-    if (!this._rangeChunkSize && !this._disableRange) {
-      this._disableRange = true;
-    }
-
-    this._isStreamingSupported = !source.disableStream;
-    this._isRangeSupported = !source.disableRange;
-    this._readableStream = null;
-    this._readCapability = (0, _util.createPromiseCapability)();
-    this._headersCapability = (0, _util.createPromiseCapability)();
-  }
-
-  _createClass(BaseFullReader, [{
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var chunk, buffer;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._readCapability.promise;
-
-              case 2:
-                if (!this._done) {
-                  _context.next = 4;
-                  break;
-                }
-
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 4:
-                if (!this._storedError) {
-                  _context.next = 6;
-                  break;
-                }
-
-                throw this._storedError;
-
-              case 6:
-                chunk = this._readableStream.read();
-
-                if (!(chunk === null)) {
-                  _context.next = 10;
-                  break;
-                }
-
-                this._readCapability = (0, _util.createPromiseCapability)();
-                return _context.abrupt("return", this.read());
-
-              case 10:
-                this._loaded += chunk.length;
-
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded,
-                    total: this._contentLength
-                  });
-                }
-
-                buffer = new Uint8Array(chunk).buffer;
-                return _context.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
-
-              case 14:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function read() {
-        return _read.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (!this._readableStream) {
-        this._error(reason);
-
-        return;
-      }
-
-      this._readableStream.destroy(reason);
-    }
-  }, {
-    key: "_error",
-    value: function _error(reason) {
-      this._storedError = reason;
-
-      this._readCapability.resolve();
-    }
-  }, {
-    key: "_setReadableStream",
-    value: function _setReadableStream(readableStream) {
-      var _this = this;
-
-      this._readableStream = readableStream;
-      readableStream.on("readable", function () {
-        _this._readCapability.resolve();
-      });
-      readableStream.on("end", function () {
-        readableStream.destroy();
-        _this._done = true;
-
-        _this._readCapability.resolve();
-      });
-      readableStream.on("error", function (reason) {
-        _this._error(reason);
-      });
-
-      if (!this._isStreamingSupported && this._isRangeSupported) {
-        this._error(new _util.AbortException("streaming is disabled"));
-      }
-
-      if (this._storedError) {
-        this._readableStream.destroy(this._storedError);
-      }
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersCapability.promise;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }]);
-
-  return BaseFullReader;
-}();
-
-var BaseRangeReader = /*#__PURE__*/function () {
-  function BaseRangeReader(stream) {
-    _classCallCheck(this, BaseRangeReader);
-
-    this._url = stream.url;
-    this._done = false;
-    this._storedError = null;
-    this.onProgress = null;
-    this._loaded = 0;
-    this._readableStream = null;
-    this._readCapability = (0, _util.createPromiseCapability)();
-    var source = stream.source;
-    this._isStreamingSupported = !source.disableStream;
-  }
-
-  _createClass(BaseRangeReader, [{
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var chunk, buffer;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._readCapability.promise;
-
-              case 2:
-                if (!this._done) {
-                  _context2.next = 4;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 4:
-                if (!this._storedError) {
-                  _context2.next = 6;
-                  break;
-                }
-
-                throw this._storedError;
-
-              case 6:
-                chunk = this._readableStream.read();
-
-                if (!(chunk === null)) {
-                  _context2.next = 10;
-                  break;
-                }
-
-                this._readCapability = (0, _util.createPromiseCapability)();
-                return _context2.abrupt("return", this.read());
-
-              case 10:
-                this._loaded += chunk.length;
-
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded
-                  });
-                }
-
-                buffer = new Uint8Array(chunk).buffer;
-                return _context2.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
-
-              case 14:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function read() {
-        return _read2.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (!this._readableStream) {
-        this._error(reason);
-
-        return;
-      }
-
-      this._readableStream.destroy(reason);
-    }
-  }, {
-    key: "_error",
-    value: function _error(reason) {
-      this._storedError = reason;
-
-      this._readCapability.resolve();
-    }
-  }, {
-    key: "_setReadableStream",
-    value: function _setReadableStream(readableStream) {
-      var _this2 = this;
-
-      this._readableStream = readableStream;
-      readableStream.on("readable", function () {
-        _this2._readCapability.resolve();
-      });
-      readableStream.on("end", function () {
-        readableStream.destroy();
-        _this2._done = true;
-
-        _this2._readCapability.resolve();
-      });
-      readableStream.on("error", function (reason) {
-        _this2._error(reason);
-      });
-
-      if (this._storedError) {
-        this._readableStream.destroy(this._storedError);
-      }
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }]);
-
-  return BaseRangeReader;
-}();
-
-function createRequestOptions(url, headers) {
-  return {
-    protocol: url.protocol,
-    auth: url.auth,
-    host: url.hostname,
-    port: url.port,
-    path: url.path,
-    method: "GET",
-    headers: headers
-  };
-}
-
-var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {
-  _inherits(PDFNodeStreamFullReader, _BaseFullReader);
-
-  function PDFNodeStreamFullReader(stream) {
-    var _this3;
-
-    _classCallCheck(this, PDFNodeStreamFullReader);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));
-
-    var handleResponse = function handleResponse(response) {
-      if (response.statusCode === 404) {
-        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
-        _this3._storedError = error;
-
-        _this3._headersCapability.reject(error);
-
-        return;
-      }
-
-      _this3._headersCapability.resolve();
-
-      _this3._setReadableStream(response);
-
-      var getResponseHeader = function getResponseHeader(name) {
-        return _this3._readableStream.headers[name.toLowerCase()];
-      };
-
-      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
-        getResponseHeader: getResponseHeader,
-        isHttp: stream.isHttp,
-        rangeChunkSize: _this3._rangeChunkSize,
-        disableRange: _this3._disableRange
-      }),
-          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
-          suggestedLength = _validateRangeRequest.suggestedLength;
-
-      _this3._isRangeSupported = allowRangeRequests;
-      _this3._contentLength = suggestedLength || _this3._contentLength;
-      _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
-    };
-
-    _this3._request = null;
-
-    if (_this3._url.protocol === "http:") {
-      _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
-    } else {
-      _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
-    }
-
-    _this3._request.on("error", function (reason) {
-      _this3._storedError = reason;
-
-      _this3._headersCapability.reject(reason);
-    });
-
-    _this3._request.end();
-
-    return _this3;
-  }
-
-  return PDFNodeStreamFullReader;
-}(BaseFullReader);
-
-var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {
-  _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);
-
-  function PDFNodeStreamRangeReader(stream, start, end) {
-    var _this4;
-
-    _classCallCheck(this, PDFNodeStreamRangeReader);
-
-    _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));
-    _this4._httpHeaders = {};
-
-    for (var property in stream.httpHeaders) {
-      var value = stream.httpHeaders[property];
-
-      if (typeof value === "undefined") {
-        continue;
-      }
-
-      _this4._httpHeaders[property] = value;
-    }
-
-    _this4._httpHeaders["Range"] = "bytes=".concat(start, "-").concat(end - 1);
-
-    var handleResponse = function handleResponse(response) {
-      if (response.statusCode === 404) {
-        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
-        _this4._storedError = error;
-        return;
-      }
-
-      _this4._setReadableStream(response);
-    };
-
-    _this4._request = null;
-
-    if (_this4._url.protocol === "http:") {
-      _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
-    } else {
-      _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
-    }
-
-    _this4._request.on("error", function (reason) {
-      _this4._storedError = reason;
-    });
-
-    _this4._request.end();
-
-    return _this4;
-  }
-
-  return PDFNodeStreamRangeReader;
-}(BaseRangeReader);
-
-var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {
-  _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);
-
-  function PDFNodeStreamFsFullReader(stream) {
-    var _this5;
-
-    _classCallCheck(this, PDFNodeStreamFsFullReader);
-
-    _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));
-    var path = decodeURIComponent(_this5._url.path);
-
-    if (fileUriRegex.test(_this5._url.href)) {
-      path = path.replace(/^\//, "");
-    }
-
-    fs.lstat(path, function (error, stat) {
-      if (error) {
-        if (error.code === "ENOENT") {
-          error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
-        }
-
-        _this5._storedError = error;
-
-        _this5._headersCapability.reject(error);
-
-        return;
-      }
-
-      _this5._contentLength = stat.size;
-
-      _this5._setReadableStream(fs.createReadStream(path));
-
-      _this5._headersCapability.resolve();
-    });
-    return _this5;
-  }
-
-  return PDFNodeStreamFsFullReader;
-}(BaseFullReader);
-
-var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {
-  _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);
-
-  function PDFNodeStreamFsRangeReader(stream, start, end) {
-    var _this6;
-
-    _classCallCheck(this, PDFNodeStreamFsRangeReader);
-
-    _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));
-    var path = decodeURIComponent(_this6._url.path);
-
-    if (fileUriRegex.test(_this6._url.href)) {
-      path = path.replace(/^\//, "");
-    }
-
-    _this6._setReadableStream(fs.createReadStream(path, {
-      start: start,
-      end: end - 1
-    }));
-
-    return _this6;
-  }
-
-  return PDFNodeStreamFsRangeReader;
-}(BaseRangeReader);
-
-/***/ }),
-/* 209 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.createResponseStatusError = createResponseStatusError;
-exports.extractFilenameFromHeader = extractFilenameFromHeader;
-exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
-exports.validateResponseStatus = validateResponseStatus;
-
-var _util = __w_pdfjs_require__(1);
-
-var _content_disposition = __w_pdfjs_require__(210);
-
-function validateRangeRequestCapabilities(_ref) {
-  var getResponseHeader = _ref.getResponseHeader,
-      isHttp = _ref.isHttp,
-      rangeChunkSize = _ref.rangeChunkSize,
-      disableRange = _ref.disableRange;
-  (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
-  var returnValues = {
-    allowRangeRequests: false,
-    suggestedLength: undefined
-  };
-  var length = parseInt(getResponseHeader("Content-Length"), 10);
-
-  if (!Number.isInteger(length)) {
-    return returnValues;
-  }
-
-  returnValues.suggestedLength = length;
-
-  if (length <= 2 * rangeChunkSize) {
-    return returnValues;
-  }
-
-  if (disableRange || !isHttp) {
-    return returnValues;
-  }
-
-  if (getResponseHeader("Accept-Ranges") !== "bytes") {
-    return returnValues;
-  }
-
-  var contentEncoding = getResponseHeader("Content-Encoding") || "identity";
-
-  if (contentEncoding !== "identity") {
-    return returnValues;
-  }
-
-  returnValues.allowRangeRequests = true;
-  return returnValues;
-}
-
-function extractFilenameFromHeader(getResponseHeader) {
-  var contentDisposition = getResponseHeader("Content-Disposition");
-
-  if (contentDisposition) {
-    var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
-
-    if (filename.includes("%")) {
-      try {
-        filename = decodeURIComponent(filename);
-      } catch (ex) {}
-    }
-
-    if (/\.pdf$/i.test(filename)) {
-      return filename;
-    }
-  }
-
-  return null;
-}
-
-function createResponseStatusError(status, url) {
-  if (status === 404 || status === 0 && url.startsWith("file:")) {
-    return new _util.MissingPDFException('Missing PDF "' + url + '".');
-  }
-
-  return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving PDF "' + url + '".', status);
-}
-
-function validateResponseStatus(status) {
-  return status === 200 || status === 206;
-}
-
-/***/ }),
-/* 210 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function getFilenameFromContentDispositionHeader(contentDisposition) {
-  var needsEncodingFixup = true;
-  var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
-
-  if (tmp) {
-    tmp = tmp[1];
-    var filename = rfc2616unquote(tmp);
-    filename = unescape(filename);
-    filename = rfc5987decode(filename);
-    filename = rfc2047decode(filename);
-    return fixupEncoding(filename);
-  }
-
-  tmp = rfc2231getparam(contentDisposition);
-
-  if (tmp) {
-    var _filename = rfc2047decode(tmp);
-
-    return fixupEncoding(_filename);
-  }
-
-  tmp = toParamRegExp("filename", "i").exec(contentDisposition);
-
-  if (tmp) {
-    tmp = tmp[1];
-
-    var _filename2 = rfc2616unquote(tmp);
-
-    _filename2 = rfc2047decode(_filename2);
-    return fixupEncoding(_filename2);
-  }
-
-  function toParamRegExp(attributePattern, flags) {
-    return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
-  }
-
-  function textdecode(encoding, value) {
-    if (encoding) {
-      if (!/^[\x00-\xFF]+$/.test(value)) {
-        return value;
-      }
-
-      try {
-        var decoder = new TextDecoder(encoding, {
-          fatal: true
-        });
-        var bytes = Array.from(value, function (ch) {
-          return ch.charCodeAt(0) & 0xff;
-        });
-        value = decoder.decode(new Uint8Array(bytes));
-        needsEncodingFixup = false;
-      } catch (e) {
-        if (/^utf-?8$/i.test(encoding)) {
-          try {
-            value = decodeURIComponent(escape(value));
-            needsEncodingFixup = false;
-          } catch (err) {}
-        }
-      }
-    }
-
-    return value;
-  }
-
-  function fixupEncoding(value) {
-    if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
-      value = textdecode("utf-8", value);
-
-      if (needsEncodingFixup) {
-        value = textdecode("iso-8859-1", value);
-      }
-    }
-
-    return value;
-  }
-
-  function rfc2231getparam(contentDisposition) {
-    var matches = [];
-    var match;
-    var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
-
-    while ((match = iter.exec(contentDisposition)) !== null) {
-      var _match = match,
-          _match2 = _slicedToArray(_match, 4),
-          n = _match2[1],
-          quot = _match2[2],
-          part = _match2[3];
-
-      n = parseInt(n, 10);
-
-      if (n in matches) {
-        if (n === 0) {
-          break;
-        }
-
-        continue;
-      }
-
-      matches[n] = [quot, part];
-    }
-
-    var parts = [];
-
-    for (var _n2 = 0; _n2 < matches.length; ++_n2) {
-      if (!(_n2 in matches)) {
-        break;
-      }
-
-      var _matches$_n = _slicedToArray(matches[_n2], 2),
-          _quot = _matches$_n[0],
-          _part = _matches$_n[1];
-
-      _part = rfc2616unquote(_part);
-
-      if (_quot) {
-        _part = unescape(_part);
-
-        if (_n2 === 0) {
-          _part = rfc5987decode(_part);
-        }
-      }
-
-      parts.push(_part);
-    }
-
-    return parts.join("");
-  }
-
-  function rfc2616unquote(value) {
-    if (value.startsWith('"')) {
-      var parts = value.slice(1).split('\\"');
-
-      for (var i = 0; i < parts.length; ++i) {
-        var quotindex = parts[i].indexOf('"');
-
-        if (quotindex !== -1) {
-          parts[i] = parts[i].slice(0, quotindex);
-          parts.length = i + 1;
-        }
-
-        parts[i] = parts[i].replace(/\\(.)/g, "$1");
-      }
-
-      value = parts.join('"');
-    }
-
-    return value;
-  }
-
-  function rfc5987decode(extvalue) {
-    var encodingend = extvalue.indexOf("'");
-
-    if (encodingend === -1) {
-      return extvalue;
-    }
-
-    var encoding = extvalue.slice(0, encodingend);
-    var langvalue = extvalue.slice(encodingend + 1);
-    var value = langvalue.replace(/^[^']*'/, "");
-    return textdecode(encoding, value);
-  }
-
-  function rfc2047decode(value) {
-    if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
-      return value;
-    }
-
-    return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (_, charset, encoding, text) {
-      if (encoding === "q" || encoding === "Q") {
-        text = text.replace(/_/g, " ");
-        text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {
-          return String.fromCharCode(parseInt(hex, 16));
-        });
-        return textdecode(charset, text);
-      }
-
-      try {
-        text = atob(text);
-      } catch (e) {}
-
-      return textdecode(charset, text);
-    });
-  }
-
-  return "";
-}
-
-/***/ }),
-/* 211 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFNetworkStream = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-var _network_utils = __w_pdfjs_require__(209);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-;
-var OK_RESPONSE = 200;
-var PARTIAL_CONTENT_RESPONSE = 206;
-
-function getArrayBuffer(xhr) {
-  var data = xhr.response;
-
-  if (typeof data !== "string") {
-    return data;
-  }
-
-  var array = (0, _util.stringToBytes)(data);
-  return array.buffer;
-}
-
-var NetworkManager = /*#__PURE__*/function () {
-  function NetworkManager(url, args) {
-    _classCallCheck(this, NetworkManager);
-
-    this.url = url;
-    args = args || {};
-    this.isHttp = /^https?:/i.test(url);
-    this.httpHeaders = this.isHttp && args.httpHeaders || {};
-    this.withCredentials = args.withCredentials || false;
-
-    this.getXhr = args.getXhr || function NetworkManager_getXhr() {
-      return new XMLHttpRequest();
-    };
-
-    this.currXhrId = 0;
-    this.pendingRequests = Object.create(null);
-  }
-
-  _createClass(NetworkManager, [{
-    key: "requestRange",
-    value: function requestRange(begin, end, listeners) {
-      var args = {
-        begin: begin,
-        end: end
-      };
-
-      for (var prop in listeners) {
-        args[prop] = listeners[prop];
-      }
-
-      return this.request(args);
-    }
-  }, {
-    key: "requestFull",
-    value: function requestFull(listeners) {
-      return this.request(listeners);
-    }
-  }, {
-    key: "request",
-    value: function request(args) {
-      var xhr = this.getXhr();
-      var xhrId = this.currXhrId++;
-      var pendingRequest = this.pendingRequests[xhrId] = {
-        xhr: xhr
-      };
-      xhr.open("GET", this.url);
-      xhr.withCredentials = this.withCredentials;
-
-      for (var property in this.httpHeaders) {
-        var value = this.httpHeaders[property];
-
-        if (typeof value === "undefined") {
-          continue;
-        }
-
-        xhr.setRequestHeader(property, value);
-      }
-
-      if (this.isHttp && "begin" in args && "end" in args) {
-        xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1));
-        pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
-      } else {
-        pendingRequest.expectedStatus = OK_RESPONSE;
-      }
-
-      xhr.responseType = "arraybuffer";
-
-      if (args.onError) {
-        xhr.onerror = function (evt) {
-          args.onError(xhr.status);
-        };
-      }
-
-      xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
-      xhr.onprogress = this.onProgress.bind(this, xhrId);
-      pendingRequest.onHeadersReceived = args.onHeadersReceived;
-      pendingRequest.onDone = args.onDone;
-      pendingRequest.onError = args.onError;
-      pendingRequest.onProgress = args.onProgress;
-      xhr.send(null);
-      return xhrId;
-    }
-  }, {
-    key: "onProgress",
-    value: function onProgress(xhrId, evt) {
-      var pendingRequest = this.pendingRequests[xhrId];
-
-      if (!pendingRequest) {
-        return;
-      }
-
-      if (pendingRequest.onProgress) {
-        pendingRequest.onProgress(evt);
-      }
-    }
-  }, {
-    key: "onStateChange",
-    value: function onStateChange(xhrId, evt) {
-      var pendingRequest = this.pendingRequests[xhrId];
-
-      if (!pendingRequest) {
-        return;
-      }
-
-      var xhr = pendingRequest.xhr;
-
-      if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
-        pendingRequest.onHeadersReceived();
-        delete pendingRequest.onHeadersReceived;
-      }
-
-      if (xhr.readyState !== 4) {
-        return;
-      }
-
-      if (!(xhrId in this.pendingRequests)) {
-        return;
-      }
-
-      delete this.pendingRequests[xhrId];
-
-      if (xhr.status === 0 && this.isHttp) {
-        if (pendingRequest.onError) {
-          pendingRequest.onError(xhr.status);
-        }
-
-        return;
-      }
-
-      var xhrStatus = xhr.status || OK_RESPONSE;
-      var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
-
-      if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
-        if (pendingRequest.onError) {
-          pendingRequest.onError(xhr.status);
-        }
-
-        return;
-      }
-
-      var chunk = getArrayBuffer(xhr);
-
-      if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
-        var rangeHeader = xhr.getResponseHeader("Content-Range");
-        var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
-        pendingRequest.onDone({
-          begin: parseInt(matches[1], 10),
-          chunk: chunk
-        });
-      } else if (chunk) {
-        pendingRequest.onDone({
-          begin: 0,
-          chunk: chunk
-        });
-      } else if (pendingRequest.onError) {
-        pendingRequest.onError(xhr.status);
-      }
-    }
-  }, {
-    key: "hasPendingRequests",
-    value: function hasPendingRequests() {
-      for (var xhrId in this.pendingRequests) {
-        return true;
-      }
-
-      return false;
-    }
-  }, {
-    key: "getRequestXhr",
-    value: function getRequestXhr(xhrId) {
-      return this.pendingRequests[xhrId].xhr;
-    }
-  }, {
-    key: "isPendingRequest",
-    value: function isPendingRequest(xhrId) {
-      return xhrId in this.pendingRequests;
-    }
-  }, {
-    key: "abortAllRequests",
-    value: function abortAllRequests() {
-      for (var xhrId in this.pendingRequests) {
-        this.abortRequest(xhrId | 0);
-      }
-    }
-  }, {
-    key: "abortRequest",
-    value: function abortRequest(xhrId) {
-      var xhr = this.pendingRequests[xhrId].xhr;
-      delete this.pendingRequests[xhrId];
-      xhr.abort();
-    }
-  }]);
-
-  return NetworkManager;
-}();
-
-var PDFNetworkStream = /*#__PURE__*/function () {
-  function PDFNetworkStream(source) {
-    _classCallCheck(this, PDFNetworkStream);
-
-    this._source = source;
-    this._manager = new NetworkManager(source.url, {
-      httpHeaders: source.httpHeaders,
-      withCredentials: source.withCredentials
-    });
-    this._rangeChunkSize = source.rangeChunkSize;
-    this._fullRequestReader = null;
-    this._rangeRequestReaders = [];
-  }
-
-  _createClass(PDFNetworkStream, [{
-    key: "_onRangeRequestReaderClosed",
-    value: function _onRangeRequestReaderClosed(reader) {
-      var i = this._rangeRequestReaders.indexOf(reader);
-
-      if (i >= 0) {
-        this._rangeRequestReaders.splice(i, 1);
-      }
-    }
-  }, {
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
-      reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
-
-      this._rangeRequestReaders.push(reader);
-
-      return reader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
-
-      var readers = this._rangeRequestReaders.slice(0);
-
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
-    }
-  }]);
-
-  return PDFNetworkStream;
-}();
-
-exports.PDFNetworkStream = PDFNetworkStream;
-
-var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {
-  function PDFNetworkStreamFullRequestReader(manager, source) {
-    _classCallCheck(this, PDFNetworkStreamFullRequestReader);
-
-    this._manager = manager;
-    var args = {
-      onHeadersReceived: this._onHeadersReceived.bind(this),
-      onDone: this._onDone.bind(this),
-      onError: this._onError.bind(this),
-      onProgress: this._onProgress.bind(this)
-    };
-    this._url = source.url;
-    this._fullRequestId = manager.requestFull(args);
-    this._headersReceivedCapability = (0, _util.createPromiseCapability)();
-    this._disableRange = source.disableRange || false;
-    this._contentLength = source.length;
-    this._rangeChunkSize = source.rangeChunkSize;
-
-    if (!this._rangeChunkSize && !this._disableRange) {
-      this._disableRange = true;
-    }
-
-    this._isStreamingSupported = false;
-    this._isRangeSupported = false;
-    this._cachedChunks = [];
-    this._requests = [];
-    this._done = false;
-    this._storedError = undefined;
-    this._filename = null;
-    this.onProgress = null;
-  }
-
-  _createClass(PDFNetworkStreamFullRequestReader, [{
-    key: "_onHeadersReceived",
-    value: function _onHeadersReceived() {
-      var fullRequestXhrId = this._fullRequestId;
-
-      var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
-
-      var getResponseHeader = function getResponseHeader(name) {
-        return fullRequestXhr.getResponseHeader(name);
-      };
-
-      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
-        getResponseHeader: getResponseHeader,
-        isHttp: this._manager.isHttp,
-        rangeChunkSize: this._rangeChunkSize,
-        disableRange: this._disableRange
-      }),
-          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
-          suggestedLength = _validateRangeRequest.suggestedLength;
-
-      if (allowRangeRequests) {
-        this._isRangeSupported = true;
-      }
-
-      this._contentLength = suggestedLength || this._contentLength;
-      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
-
-      if (this._isRangeSupported) {
-        this._manager.abortRequest(fullRequestXhrId);
-      }
-
-      this._headersReceivedCapability.resolve();
-    }
-  }, {
-    key: "_onDone",
-    value: function _onDone(args) {
-      if (args) {
-        if (this._requests.length > 0) {
-          var requestCapability = this._requests.shift();
-
-          requestCapability.resolve({
-            value: args.chunk,
-            done: false
-          });
-        } else {
-          this._cachedChunks.push(args.chunk);
-        }
-      }
-
-      this._done = true;
-
-      if (this._cachedChunks.length > 0) {
-        return;
-      }
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
-
-      this._requests = [];
-    }
-  }, {
-    key: "_onError",
-    value: function _onError(status) {
-      var url = this._url;
-      var exception = (0, _network_utils.createResponseStatusError)(status, url);
-      this._storedError = exception;
-
-      this._headersReceivedCapability.reject(exception);
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.reject(exception);
-      });
-
-      this._requests = [];
-      this._cachedChunks = [];
-    }
-  }, {
-    key: "_onProgress",
-    value: function _onProgress(data) {
-      if (this.onProgress) {
-        this.onProgress({
-          loaded: data.loaded,
-          total: data.lengthComputable ? data.total : this._contentLength
-        });
-      }
-    }
-  }, {
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!this._storedError) {
-                  _context.next = 2;
-                  break;
-                }
-
-                throw this._storedError;
-
-              case 2:
-                if (!(this._cachedChunks.length > 0)) {
-                  _context.next = 5;
-                  break;
-                }
-
-                chunk = this._cachedChunks.shift();
-                return _context.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
-
-              case 5:
-                if (!this._done) {
-                  _context.next = 7;
-                  break;
-                }
-
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 7:
-                requestCapability = (0, _util.createPromiseCapability)();
-
-                this._requests.push(requestCapability);
-
-                return _context.abrupt("return", requestCapability.promise);
-
-              case 10:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function read() {
-        return _read.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
-
-      this._headersReceivedCapability.reject(reason);
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
-
-      this._requests = [];
-
-      if (this._manager.isPendingRequest(this._fullRequestId)) {
-        this._manager.abortRequest(this._fullRequestId);
-      }
-
-      this._fullRequestReader = null;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersReceivedCapability.promise;
-    }
-  }]);
-
-  return PDFNetworkStreamFullRequestReader;
-}();
-
-var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {
-  function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
-    _classCallCheck(this, PDFNetworkStreamRangeRequestReader);
-
-    this._manager = manager;
-    var args = {
-      onDone: this._onDone.bind(this),
-      onProgress: this._onProgress.bind(this)
-    };
-    this._requestId = manager.requestRange(begin, end, args);
-    this._requests = [];
-    this._queuedChunk = null;
-    this._done = false;
-    this.onProgress = null;
-    this.onClosed = null;
-  }
-
-  _createClass(PDFNetworkStreamRangeRequestReader, [{
-    key: "_close",
-    value: function _close() {
-      if (this.onClosed) {
-        this.onClosed(this);
-      }
-    }
-  }, {
-    key: "_onDone",
-    value: function _onDone(data) {
-      var chunk = data.chunk;
-
-      if (this._requests.length > 0) {
-        var requestCapability = this._requests.shift();
-
-        requestCapability.resolve({
-          value: chunk,
-          done: false
-        });
-      } else {
-        this._queuedChunk = chunk;
-      }
-
-      this._done = true;
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
-
-      this._requests = [];
-
-      this._close();
-    }
-  }, {
-    key: "_onProgress",
-    value: function _onProgress(evt) {
-      if (!this.isStreamingSupported && this.onProgress) {
-        this.onProgress({
-          loaded: evt.loaded
-        });
-      }
-    }
-  }, {
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var chunk, requestCapability;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (!(this._queuedChunk !== null)) {
-                  _context2.next = 4;
-                  break;
-                }
-
-                chunk = this._queuedChunk;
-                this._queuedChunk = null;
-                return _context2.abrupt("return", {
-                  value: chunk,
-                  done: false
-                });
-
-              case 4:
-                if (!this._done) {
-                  _context2.next = 6;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 6:
-                requestCapability = (0, _util.createPromiseCapability)();
-
-                this._requests.push(requestCapability);
-
-                return _context2.abrupt("return", requestCapability.promise);
-
-              case 9:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function read() {
-        return _read2.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._done = true;
-
-      this._requests.forEach(function (requestCapability) {
-        requestCapability.resolve({
-          value: undefined,
-          done: true
-        });
-      });
-
-      this._requests = [];
-
-      if (this._manager.isPendingRequest(this._requestId)) {
-        this._manager.abortRequest(this._requestId);
-      }
-
-      this._close();
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return false;
-    }
-  }]);
-
-  return PDFNetworkStreamRangeRequestReader;
-}();
-
-/***/ }),
-/* 212 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFFetchStream = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(191));
-
-var _util = __w_pdfjs_require__(1);
-
-var _network_utils = __w_pdfjs_require__(209);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function createFetchOptions(headers, withCredentials, abortController) {
-  return {
-    method: "GET",
-    headers: headers,
-    signal: abortController && abortController.signal,
-    mode: "cors",
-    credentials: withCredentials ? "include" : "same-origin",
-    redirect: "follow"
-  };
-}
-
-function createHeaders(httpHeaders) {
-  var headers = new Headers();
-
-  for (var property in httpHeaders) {
-    var value = httpHeaders[property];
-
-    if (typeof value === "undefined") {
-      continue;
-    }
-
-    headers.append(property, value);
-  }
-
-  return headers;
-}
-
-var PDFFetchStream = /*#__PURE__*/function () {
-  function PDFFetchStream(source) {
-    _classCallCheck(this, PDFFetchStream);
-
-    this.source = source;
-    this.isHttp = /^https?:/i.test(source.url);
-    this.httpHeaders = this.isHttp && source.httpHeaders || {};
-    this._fullRequestReader = null;
-    this._rangeRequestReaders = [];
-  }
-
-  _createClass(PDFFetchStream, [{
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = new PDFFetchStreamReader(this);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      if (end <= this._progressiveDataLength) {
-        return null;
-      }
-
-      var reader = new PDFFetchStreamRangeReader(this, begin, end);
-
-      this._rangeRequestReaders.push(reader);
-
-      return reader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
-
-      var readers = this._rangeRequestReaders.slice(0);
-
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
-    }
-  }, {
-    key: "_progressiveDataLength",
-    get: function get() {
-      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
-    }
-  }]);
-
-  return PDFFetchStream;
-}();
-
-exports.PDFFetchStream = PDFFetchStream;
-
-var PDFFetchStreamReader = /*#__PURE__*/function () {
-  function PDFFetchStreamReader(stream) {
-    var _this = this;
-
-    _classCallCheck(this, PDFFetchStreamReader);
-
-    this._stream = stream;
-    this._reader = null;
-    this._loaded = 0;
-    this._filename = null;
-    var source = stream.source;
-    this._withCredentials = source.withCredentials || false;
-    this._contentLength = source.length;
-    this._headersCapability = (0, _util.createPromiseCapability)();
-    this._disableRange = source.disableRange || false;
-    this._rangeChunkSize = source.rangeChunkSize;
-
-    if (!this._rangeChunkSize && !this._disableRange) {
-      this._disableRange = true;
-    }
-
-    if (typeof AbortController !== "undefined") {
-      this._abortController = new AbortController();
-    }
-
-    this._isStreamingSupported = !source.disableStream;
-    this._isRangeSupported = !source.disableRange;
-    this._headers = createHeaders(this._stream.httpHeaders);
-    var url = source.url;
-    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
-      if (!(0, _network_utils.validateResponseStatus)(response.status)) {
-        throw (0, _network_utils.createResponseStatusError)(response.status, url);
-      }
-
-      _this._reader = response.body.getReader();
-
-      _this._headersCapability.resolve();
-
-      var getResponseHeader = function getResponseHeader(name) {
-        return response.headers.get(name);
-      };
-
-      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
-        getResponseHeader: getResponseHeader,
-        isHttp: _this._stream.isHttp,
-        rangeChunkSize: _this._rangeChunkSize,
-        disableRange: _this._disableRange
-      }),
-          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
-          suggestedLength = _validateRangeRequest.suggestedLength;
-
-      _this._isRangeSupported = allowRangeRequests;
-      _this._contentLength = suggestedLength || _this._contentLength;
-      _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
-
-      if (!_this._isStreamingSupported && _this._isRangeSupported) {
-        _this.cancel(new _util.AbortException("Streaming is disabled."));
-      }
-    })["catch"](this._headersCapability.reject);
-    this.onProgress = null;
-  }
-
-  _createClass(PDFFetchStreamReader, [{
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var _ref, value, done, buffer;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._headersCapability.promise;
-
-              case 2:
-                _context.next = 4;
-                return this._reader.read();
-
-              case 4:
-                _ref = _context.sent;
-                value = _ref.value;
-                done = _ref.done;
-
-                if (!done) {
-                  _context.next = 9;
-                  break;
-                }
-
-                return _context.abrupt("return", {
-                  value: value,
-                  done: done
-                });
-
-              case 9:
-                this._loaded += value.byteLength;
-
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded,
-                    total: this._contentLength
-                  });
-                }
-
-                buffer = new Uint8Array(value).buffer;
-                return _context.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
-
-              case 13:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function read() {
-        return _read.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (this._reader) {
-        this._reader.cancel(reason);
-      }
-
-      if (this._abortController) {
-        this._abortController.abort();
-      }
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersCapability.promise;
-    }
-  }, {
-    key: "filename",
-    get: function get() {
-      return this._filename;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }]);
-
-  return PDFFetchStreamReader;
-}();
-
-var PDFFetchStreamRangeReader = /*#__PURE__*/function () {
-  function PDFFetchStreamRangeReader(stream, begin, end) {
-    var _this2 = this;
-
-    _classCallCheck(this, PDFFetchStreamRangeReader);
-
-    this._stream = stream;
-    this._reader = null;
-    this._loaded = 0;
-    var source = stream.source;
-    this._withCredentials = source.withCredentials || false;
-    this._readCapability = (0, _util.createPromiseCapability)();
-    this._isStreamingSupported = !source.disableStream;
-
-    if (typeof AbortController !== "undefined") {
-      this._abortController = new AbortController();
-    }
-
-    this._headers = createHeaders(this._stream.httpHeaders);
-
-    this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1));
-
-    var url = source.url;
-    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
-      if (!(0, _network_utils.validateResponseStatus)(response.status)) {
-        throw (0, _network_utils.createResponseStatusError)(response.status, url);
-      }
-
-      _this2._readCapability.resolve();
-
-      _this2._reader = response.body.getReader();
-    });
-    this.onProgress = null;
-  }
-
-  _createClass(PDFFetchStreamRangeReader, [{
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var _ref2, value, done, buffer;
-
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._readCapability.promise;
-
-              case 2:
-                _context2.next = 4;
-                return this._reader.read();
-
-              case 4:
-                _ref2 = _context2.sent;
-                value = _ref2.value;
-                done = _ref2.done;
-
-                if (!done) {
-                  _context2.next = 9;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: value,
-                  done: done
-                });
-
-              case 9:
-                this._loaded += value.byteLength;
-
-                if (this.onProgress) {
-                  this.onProgress({
-                    loaded: this._loaded
-                  });
-                }
-
-                buffer = new Uint8Array(value).buffer;
-                return _context2.abrupt("return", {
-                  value: buffer,
-                  done: false
-                });
-
-              case 13:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function read() {
-        return _read2.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      if (this._reader) {
-        this._reader.cancel(reason);
-      }
-
-      if (this._abortController) {
-        this._abortController.abort();
-      }
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }]);
-
-  return PDFFetchStreamRangeReader;
-}();
-
-/***/ })
-/******/ ]);
-});
-//# sourceMappingURL=pdf.js.map
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/build/pdf.js.map b/server/target/classes/static/pdfjs/build/pdf.js.map
deleted file mode 100644
index f2c7adb..0000000
--- a/server/target/classes/static/pdfjs/build/pdf.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/not-a-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-function.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-uses-to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/math/log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-iterables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.to-json.js","webpack://pdfjs-dist/build/pdf/node_modules/web-streams-polyfill/dist/ponyfill.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/map/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/set/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-map/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-weak.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-species-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-set/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/symbol/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.concat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.description.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.has-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.replace.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.search.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.split.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-repeat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-array.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf/node_modules/webpack/buildin/module.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/api_compatibility.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/xml_parser.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/webgl.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js"],"names":["pdfjsVersion","pdfjsBuild","pdfjsSharedUtil","require","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","PDFNodeStream","params","PDFNetworkStream","PDFFetchStream","exports","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","NativeImageDecoding","NONE","DECODE","DISPLAY","PermissionFlag","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","VerbosityLevel","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","UNSUPPORTED_FEATURES","unknown","forms","javaScript","smask","shadingPattern","font","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","Number","console","unreachable","base","other","url","absoluteUrl","baseUrl","_isValidProtocol","Object","value","enumerable","configurable","writable","BaseException","constructor","NullCharactersRegExp","warn","str","assert","bytes","length","MAX_ARGUMENT_COUNT","String","strBuf","i","chunkEnd","Math","chunk","arr","resultLength","arrayByteLength","pos","data","item","stringToBytes","itemLength","buffer8","view32","IsLittleEndianCached","shadow","isLittleEndian","IsEvalSupportedCached","isEvalSupported","rgbBuf","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","second","sx","sy","rect","orderedX","rect1","rect2","orderedY","result","PDFStringTranslateTable","code","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","element","capability","isSettled","get","resolve","reject","createObjectURL","digits","forceDataSchema","URL","blob","type","buffer","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","hasDOM","userAgent","navigator","isIE","Buffer","Element","div","document","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","token","force","arguments","OriginalPushState","window","OriginalReplaceState","args","Array","isReadableStreamSupported","start","controller","module","$","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","TARGET","target","GLOBAL","STATIC","stat","FORCED","key","targetProperty","sourceProperty","descriptor","prototype","noTargetGet","forced","undefined","sham","check","it","self","Function","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","error","call","fails","defineProperty","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","toString","slice","TypeError","isObject","input","PREFERRED_STRING","fn","val","valueOf","hasOwnProperty","createElement","EXISTS","definePropertyModule","object","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","set","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","STATE","test","shared","uid","keys","IS_PURE","push","version","mode","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","argument","ceil","floor","isNaN","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isNodeJS","process","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","name","iterator","METHOD_NAME","regexp","e","bind","CONSTRUCTOR","METHOD","apply","nativeEndsWith","endsWith","endPosition","len","end","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","create","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","from","charAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","next","point","done","CONVERT_TO_STRING","S","position","size","charCodeAt","codeAt","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","values","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","iteratorMethod","step","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","assign","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","log2","log","LN2","x","number","isInteger","isFinite","Promise","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","NativePromise","redefineAll","setSpecies","anInstance","iterate","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","promise","FakePromise","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","reaction","handler","fail","exited","rejection","onHandleUnhandled","enter","exit","onUnhandled","reason","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","wrap","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Constructor","Result","stopped","AS_ENTRIES","IS_ITERATOR","boundFunction","iterFn","stop","defaultConstructor","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","post","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","flush","head","last","toggle","node","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","versions","v8","match","allSettled","status","NON_GENERIC","real","onFinally","isFunction","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","EOF","parseHost","codePoints","parseIPv6","isSpecial","percentEncode","C0ControlPercentEncodeSet","parseIPv4","parts","partsLength","numbers","part","radix","ipv4","pop","parseInt","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","swaps","swap","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","seenAt","seenBracket","seenPasswordToken","bufferCodePoints","failure","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","urlString","baseState","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","getter","toJSON","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","sort","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","inputLength","n","bias","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","encoded","labels","label","hasOwn","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attributes","attribute","entry","validateArgumentsLength","passed","required","URLSearchParamsIterator","Iterator","URLSearchParamsConstructor","init","entryIterator","entryNext","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","factory","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","Uint8Array","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","arg","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","_a","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","ctor","createDOMExceptionPolyfill","message","Error","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reading","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byteLength","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ReadableStream","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","readableSizeAlgorithm","startPromise_resolve","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","Map","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","add","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTarget","NewTargetPrototype","internalStateGetterFor","define","getEntry","previous","removed","prev","callbackfn","ITERATOR_NAME","getInternalCollectionState","Set","collectionWeak","enforceIternalState","IS_IE11","InternalWeakMap","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","some","every","isArray","originalArray","WeakSet","codePointAt","fromCodePoint","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","padStart","repeat","IS_END","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","$padEnd","padEnd","$values","TO_ENTRIES","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","isArrayBuffer","range","rangeTransport","worker","pdfBytes","NativeImageDecoderValues","apiCompatibilityParams","setVerbosityLevel","workerParams","GlobalWorkerOptions","PDFWorker","docId","networkStream","initialData","progressiveDone","disableRange","disableStream","httpHeaders","withCredentials","rangeChunkSize","messageHandler","transport","pdfDataRangeTransport","apiVersion","disableAutoFetch","maxImageSize","disableFontFace","disableCreateObjectURL","postMessageTransfers","docBaseUrl","nativeImageDecoderSupport","ignoreErrors","PDFDocumentLoadingTask","nextDocumentId","transportDestroyed","addRangeListener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","onDataProgress","onDataProgressiveRead","requestDataRange","getPage","getPageIndex","getDestination","deprecated","openAction","pdfBug","getViewport","rotation","offsetX","offsetY","dontFlip","viewBox","scale","getAnnotations","intent","enableWebGL","renderInteractiveForms","imageLayer","canvasFactory","background","render","renderingIntent","intentState","clearTimeout","canvasFactoryInstance","webGLContext","enable","fnArray","argsArray","lastChunk","pageIndex","complete","internalRenderTask","canvasContext","viewport","objs","commonObjs","operatorList","useRequestAnimationFrame","renderTask","transparency","opListTask","streamTextContent","normalizeWhitespace","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","combineTextItems","textContent","getTextContent","readableStream","pump","items","styles","waitOn","renderCompleted","resetStats","cleanup","_tryCleanup","_startRenderPage","_renderPageChunk","operatorListChunk","_pumpOperatorList","_abortOperatorList","cloned","transferable","transfers","cloneValue","pdfWorkerPorts","isWorkerDisabled","nextFakeWorkerId","fallbackWorkerSrc","pdfjsFilePath","mainWorkerMessageHandler","fakeWorkerCapability","loader","getMainThreadWorkerMessageHandler","eval","getWorkerSrc","loadScript","_initializeFromPort","workerSrc","isSameOrigin","createCDNWrapper","terminateEarly","onWorkerError","sendTest","testObj","info","setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","loadingTask","onUnsupportedFeature","isCompressed","page","terminated","evt","loaded","total","sink","headersCapability","fullReader","isStreamingSupported","isRangeSupported","contentLength","rangeReader","pdfInfo","ex","exception","updatePassword","exportedError","exportedData","fontRegistry","registerFont","pageProxy","img","releaseImageResources","MAX_IMAGE_SIZE_TO_STORE","imageData","components","width","rgbaLength","buf","tmpCanvas","tmpCtx","height","fetched","builtInCMap","_onUnsupportedFeature","pageNumber","pageInfo","ref","results","contentDispositionFilename","cleanupSuccessful","_ensureObj","resolved","InternalRenderTask","canvasInRendering","initializeGraphics","build","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","protoGenerator","outerFn","generator","context","tryLocsList","makeInvokeMethod","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","genFun","__await","record","tryCatch","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","PromiseImpl","iter","doneResult","delegate","delegateResult","maybeInvokeDelegate","tryLoc","locs","Context","reset","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","finish","resetTryEntry","thrown","delegateYield","resultName","nextLoc","regeneratorRuntime","DEFAULT_LINK_REL","SVG_NS","canvas","canvasAndContext","destroy","compressionType","isFetchSupported","isValidFetchUrl","response","cMapData","XMLHttpRequest","svg","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","clone","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","LinkTarget","SELF","BLANK","PARENT","TOP","enabled","urlNullRemoved","removeNullCharacters","link","targetStr","anchor","time","Date","timeEnd","outBuf","longest","duration","Response","script","isString","pdfDateStringRegex","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","addNativeFontFace","insertRule","styleElement","styleSheet","nativeFontFace","featureId","rule","_queueLoadingCallback","_prepareFontLoadEvent","supported","FontLoader","requests","nextRequestId","otherRequest","offset","chunk1","s","chunk2","ctx","isFontReady","loadTestFontId","COMMENT_OFFSET","spliceString","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","int32","string32","btoa","fonts","span","getLoadTestFont","atob","translatedData","bytesToString","getPathGenerator","cmds","js","current","compatibilityParams","isIOSChrome","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","ad_bc","bc_ad","old","cosValue","sinValue","CachedCanvases","getCanvas","canvasEntry","addContextCurrentTransform","POINT_TO_PROCESS_LIMIT","imgData","width1","points","POINT_TYPES","lineSize","data0","mask","elem","j0","sum","steps","outlines","coords","p0","pp","drawOutline","o","jj","CanvasExtraState","setCurrentPoint","CanvasGraphics","EXECUTION_TIME","EXECUTION_STEPS","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","thisChunkHeight","destPos","srcDiff","kEnd","kEndUnrolled","srcByte","elemsInThisChunk","property","sourceCtx","destCtx","alpha","alpha_","r0","g0","b0","maskData","transferMap","layerData","y","hasBackdrop","backdrop","subtype","composeFn","PIXELS_TO_PROCESS","row","chunkHeight","maskCtx","layerCtx","composeSMaskBackdrop","composed","layer","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","beginDrawing","transparentCanvas","resetCtxToDefault","executeOperatorList","executionStartIdx","argsArrayLen","chunkOperations","endTime","stepper","fnId","objsPool","depObjId","continueCallback","endDrawing","states","beginSMaskGroup","activeSMask","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","copyCtxState","suspendSMaskGroup","composeSMask","deltaTransform","resumeSMaskGroup","endSMaskGroup","ops","xw","yh","consumePath","strokeColor","fillColor","isPatternFill","needRestore","paths","fontObj","bold","italic","typeface","browserFontSize","paintChar","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","glyphs","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","patternTransform","lineWidth","glyph","isNum","restoreNeeded","spacing","character","accent","vmetric","vx","vy","scaledX","scaledY","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","showType3Text","fontMatrix","isTextInvisible","spacingLength","transformed","urx","ury","getColorN_Pattern","IR","color","baseTransform","canvasGraphicsFactory","createCanvasGraphics","getShadingPatternFromIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","bounds","canvasBounds","scaleX","scaleY","startTransformInverse","domImage","objId","left","top","w","h","maskCanvas","putBinaryImageMask","positions","images","image","widthScale","heightScale","imgToPaint","putBinaryImageData","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getSinglePixelWidth","inverse","getCanvasPosition","ShadingIRs","region","fromIR","raw","colorStops","r1","getPattern","applyBoundingBox","grad","createMeshCanvas","colors","rowSize","tmp","c1","c2","c3","x2","y2","x3","y3","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","ps","figure","cs","verticesPerRow","rows","cols","drawTriangle","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","combinesScale","paddedWidth","paddedHeight","backgroundColor","figures","cachedCanvases","drawFigure","owner","matrixScale","temporaryPatternCanvas","shadingIR","TilingPattern","PaintType","COLORED","UNCOLORED","createPatternCanvas","xstep","ystep","paintType","tilingType","curMatrixScale","combinedScale","dimx","dimy","graphics","getSizeAndScale","maxSize","clipBbox","bboxWidth","bboxHeight","setFillAndStrokeStyleToContext","cssColor","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","callbackId","wrapReason","sourceName","targetName","comObj","on","ah","send","sendWithPromise","sendWithStream","streamId","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","_createStreamSink","streamSink","lastDesiredSize","sinkCapability","onPull","onCancel","isCancelled","success","_processStreamMessage","_postMessage","parser","xmlDocument","_repair","chars","_parse","rdf","nodeName","children","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","ch","isWhitespace","_resolveEntities","entity","_parseContent","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","parsed","_parseProcessingInstruction","attrStart","parseXml","ch2","pi","q2","complexDoctype","doctypeContent","text","onResolveEntity","onPi","onComment","onCdata","onDoctype","onText","onBeginElement","onEndElement","onError","childNodes","child","parseFromString","documentElement","isWhitespaceString","lastElement","begin","_onReceiveData","_onProgress","firstReader","_removeRangeReader","queuedChunks","getRangeReader","cancelAllRequests","readers","_enqueue","requestCapability","requestsCapability","WebGLUtils","drawFigures","shader","gl","compiled","errorMsg","loadShader","program","shaders","linked","texture","currentCanvas","currentGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","generateGL","vertexShader","createVertexShader","fragmentShader","createFragmentShader","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","initSmaskGL","createTexture","maskTexture","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","tryInitGL","renderTextLayer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","textDiv","textDivProperties","angle","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","isAllWhitespace","geom","tx","fontHeight","fontAscent","angleCos","angleSin","divWidth","divHeight","right","bottom","textDivs","textDivsLength","expanded","expandBounds","divProperties","ts","findPositiveMin","boxScale","box","x1New","x2New","expandBoundsLTR","boxes","fakeBoundary","horizon","boundary","maxXNew","horizonPart","affectedBoundary","xNew","changedHorizon","lastBoundary","useBoundary","used","textContentItemsStr","TextLayerRenderTask","_processItems","appendText","_layoutText","fontFamily","_render","styleCache","textItems","textStyles","expandTextDivs","expand","transformBuf","paddingBuf","divProps","renderParameters","textContentStream","enhanceTextSelection","parameters","fieldType","isRenderable","ignoreBorder","_createContainer","horizontalRadius","verticalRadius","radius","_createPopup","trigger","popupElement","title","modificationDate","contents","hideWrapper","popup","addLinkAttributes","linkService","rel","_bindLink","_bindNamedAction","TEXT_ALIGNMENT","fieldWidth","combWidth","_setTextStyle","fallbackName","selectElement","optionElement","option","IGNORE_TYPES","selector","parentElement","parentLeft","parseFloat","parentWidth","BACKGROUND_ENLIGHT","g","dateObject","PDFDateString","date","_formatContents","lines","line","pin","_show","unpin","_hide","borderWidth","square","circle","coordinate","polyline","getFilenameFromUrl","stringToPDFString","filename","sortedAnnotations","popupAnnotations","downloadManager","imageResourcesPath","svgFactory","SVGGraphics","opTree","opListElement","pf","SVG_DEFAULTS","fontStyle","fontWeight","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc","crc32","deflateSyncUncompressed","__non_webpack_require__","level","literals","maxBlockLength","deflateBlocks","idat","adler","adler32","colorType","bitDepth","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","writePngChunk","clipCount","maskCount","shadingCount","loadDependencies","transformMatrix","getSVG","svgElement","convertOpList","operatorIdMapping","opList","opListToTree","executeOpTree","opTreeElement","lineWidthScale","textMatrix","pm","addFontStyle","details","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeTilingPattern","tilingId","txstep","tystep","tiling","tx1","ty1","_makeShadingPattern","shadingId","point0","point1","gradient","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","op","clipId","clipPath","clipElement","_setStrokeAttributes","dashArray","imgObj","imgEl","imgSrc","cliprect","_initialize","definitions","rootGroup","clipGroup","fs","fileUriRegex","parsedUrl","parseUrl","_error","_setReadableStream","auth","handleResponse","getResponseHeader","isHttp","suggestedLength","extractFilenameFromHeader","createRequestOptions","returnValues","allowRangeRequests","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","decoder","fatal","textdecode","quotindex","encodingend","extvalue","encoding","langvalue","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","xhr","requestRange","listeners","requestFull","xhrId","pendingRequest","onProgress","onStateChange","xhrStatus","ok_response_on_range_request","getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","_onRangeRequestReaderClosed","onHeadersReceived","onDone","manager","fullRequestXhrId","fullRequestXhr","_onDone","_onError","createResponseStatusError","abortController","credentials","redirect","createHeaders","createFetchOptions","validateResponseStatus"],"mappings":"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","file":"pdf.js","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(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __w_pdfjs_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__w_pdfjs_require__.m = modules;\n\n \t// expose the module cache\n \t__w_pdfjs_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__w_pdfjs_require__.d = function(exports, name, getter) {\n \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__w_pdfjs_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__w_pdfjs_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__w_pdfjs_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__w_pdfjs_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__w_pdfjs_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n","/* Copyright 2012 Mozilla Foundation\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/* eslint-disable no-unused-vars */\n\n\"use strict\";\n\nvar pdfjsVersion =\n  typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : void 0;\nvar pdfjsBuild =\n  typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : void 0;\n\nvar pdfjsSharedUtil = require(\"./shared/util.js\");\nvar pdfjsDisplayAPI = require(\"./display/api.js\");\nvar pdfjsDisplayTextLayer = require(\"./display/text_layer.js\");\nvar pdfjsDisplayAnnotationLayer = require(\"./display/annotation_layer.js\");\nvar pdfjsDisplayDisplayUtils = require(\"./display/display_utils.js\");\nvar pdfjsDisplaySVG = require(\"./display/svg.js\");\nconst pdfjsDisplayWorkerOptions = require(\"./display/worker_options.js\");\nconst pdfjsDisplayAPICompatibility = require(\"./display/api_compatibility.js\");\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  const { isNodeJS } = require(\"./shared/is_node.js\");\n  if (isNodeJS) {\n    const PDFNodeStream = require(\"./display/node_stream.js\").PDFNodeStream;\n    pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n      return new PDFNodeStream(params);\n    });\n  } else {\n    const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n    let PDFFetchStream;\n    if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n      PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n    }\n    pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n      if (\n        PDFFetchStream &&\n        pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)\n      ) {\n        return new PDFFetchStream(params);\n      }\n      return new PDFNetworkStream(params);\n    });\n  }\n} else if (PDFJSDev.test(\"CHROME\")) {\n  const PDFNetworkStream = require(\"./display/network.js\").PDFNetworkStream;\n  let PDFFetchStream;\n  const isChromeWithFetchCredentials = function() {\n    // fetch does not include credentials until Chrome 61.0.3138.0 and later.\n    // https://chromium.googlesource.com/chromium/src/+/2e231cf052ca5e68e22baf0008ac9e5e29121707\n    try {\n      // Indexed properties on window are read-only in Chrome 61.0.3151.0+\n      // https://chromium.googlesource.com/chromium/src.git/+/58ab4a971b06dec13e4edf9de8382ca6847f6190\n      window[999] = 123; // should throw. Note: JS strict mode MUST be enabled.\n      delete window[999];\n      return false;\n    } catch (e) {\n      return true;\n    }\n  };\n  if (\n    pdfjsDisplayDisplayUtils.isFetchSupported() &&\n    isChromeWithFetchCredentials()\n  ) {\n    PDFFetchStream = require(\"./display/fetch_stream.js\").PDFFetchStream;\n  }\n  pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n    if (\n      PDFFetchStream &&\n      pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)\n    ) {\n      return new PDFFetchStream(params);\n    }\n    return new PDFNetworkStream(params);\n  });\n}\n\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException =\n  pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.RenderingCancelledException =\n  pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams =\n  pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst NativeImageDecoding = {\n  NONE: \"none\",\n  DECODE: \"decode\",\n  DISPLAY: \"display\",\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n  PRINT: 0x04,\n  MODIFY_CONTENTS: 0x08,\n  COPY: 0x10,\n  MODIFY_ANNOTATIONS: 0x20,\n  FILL_INTERACTIVE_FORMS: 0x100,\n  COPY_FOR_ACCESSIBILITY: 0x200,\n  ASSEMBLE: 0x400,\n  PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n  FILL: 0,\n  STROKE: 1,\n  FILL_STROKE: 2,\n  INVISIBLE: 3,\n  FILL_ADD_TO_PATH: 4,\n  STROKE_ADD_TO_PATH: 5,\n  FILL_STROKE_ADD_TO_PATH: 6,\n  ADD_TO_PATH: 7,\n  FILL_STROKE_MASK: 3,\n  ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n  GRAYSCALE_1BPP: 1,\n  RGB_24BPP: 2,\n  RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n  TEXT: 1,\n  LINK: 2,\n  FREETEXT: 3,\n  LINE: 4,\n  SQUARE: 5,\n  CIRCLE: 6,\n  POLYGON: 7,\n  POLYLINE: 8,\n  HIGHLIGHT: 9,\n  UNDERLINE: 10,\n  SQUIGGLY: 11,\n  STRIKEOUT: 12,\n  STAMP: 13,\n  CARET: 14,\n  INK: 15,\n  POPUP: 16,\n  FILEATTACHMENT: 17,\n  SOUND: 18,\n  MOVIE: 19,\n  WIDGET: 20,\n  SCREEN: 21,\n  PRINTERMARK: 22,\n  TRAPNET: 23,\n  WATERMARK: 24,\n  THREED: 25,\n  REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n  MARKED: \"Marked\",\n  REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n  MARKED: \"Marked\",\n  UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n  ACCEPTED: \"Accepted\",\n  REJECTED: \"Rejected\",\n  CANCELLED: \"Cancelled\",\n  COMPLETED: \"Completed\",\n  NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n  GROUP: \"Group\",\n  REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n  INVISIBLE: 0x01,\n  HIDDEN: 0x02,\n  PRINT: 0x04,\n  NOZOOM: 0x08,\n  NOROTATE: 0x10,\n  NOVIEW: 0x20,\n  READONLY: 0x40,\n  LOCKED: 0x80,\n  TOGGLENOVIEW: 0x100,\n  LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n  READONLY: 0x0000001,\n  REQUIRED: 0x0000002,\n  NOEXPORT: 0x0000004,\n  MULTILINE: 0x0001000,\n  PASSWORD: 0x0002000,\n  NOTOGGLETOOFF: 0x0004000,\n  RADIO: 0x0008000,\n  PUSHBUTTON: 0x0010000,\n  COMBO: 0x0020000,\n  EDIT: 0x0040000,\n  SORT: 0x0080000,\n  FILESELECT: 0x0100000,\n  MULTISELECT: 0x0200000,\n  DONOTSPELLCHECK: 0x0400000,\n  DONOTSCROLL: 0x0800000,\n  COMB: 0x1000000,\n  RICHTEXT: 0x2000000,\n  RADIOSINUNISON: 0x2000000,\n  COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n  SOLID: 1,\n  DASHED: 2,\n  BEVELED: 3,\n  INSET: 4,\n  UNDERLINE: 5,\n};\n\nconst StreamType = {\n  UNKNOWN: \"UNKNOWN\",\n  FLATE: \"FLATE\",\n  LZW: \"LZW\",\n  DCT: \"DCT\",\n  JPX: \"JPX\",\n  JBIG: \"JBIG\",\n  A85: \"A85\",\n  AHX: \"AHX\",\n  CCF: \"CCF\",\n  RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n  UNKNOWN: \"UNKNOWN\",\n  TYPE1: \"TYPE1\",\n  TYPE1C: \"TYPE1C\",\n  CIDFONTTYPE0: \"CIDFONTTYPE0\",\n  CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n  TRUETYPE: \"TRUETYPE\",\n  CIDFONTTYPE2: \"CIDFONTTYPE2\",\n  TYPE3: \"TYPE3\",\n  OPENTYPE: \"OPENTYPE\",\n  TYPE0: \"TYPE0\",\n  MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n  ERRORS: 0,\n  WARNINGS: 1,\n  INFOS: 5,\n};\n\nconst CMapCompressionType = {\n  NONE: 0,\n  BINARY: 1,\n  STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n  // Intentionally start from 1 so it is easy to spot bad operators that will be\n  // 0's.\n  dependency: 1,\n  setLineWidth: 2,\n  setLineCap: 3,\n  setLineJoin: 4,\n  setMiterLimit: 5,\n  setDash: 6,\n  setRenderingIntent: 7,\n  setFlatness: 8,\n  setGState: 9,\n  save: 10,\n  restore: 11,\n  transform: 12,\n  moveTo: 13,\n  lineTo: 14,\n  curveTo: 15,\n  curveTo2: 16,\n  curveTo3: 17,\n  closePath: 18,\n  rectangle: 19,\n  stroke: 20,\n  closeStroke: 21,\n  fill: 22,\n  eoFill: 23,\n  fillStroke: 24,\n  eoFillStroke: 25,\n  closeFillStroke: 26,\n  closeEOFillStroke: 27,\n  endPath: 28,\n  clip: 29,\n  eoClip: 30,\n  beginText: 31,\n  endText: 32,\n  setCharSpacing: 33,\n  setWordSpacing: 34,\n  setHScale: 35,\n  setLeading: 36,\n  setFont: 37,\n  setTextRenderingMode: 38,\n  setTextRise: 39,\n  moveText: 40,\n  setLeadingMoveText: 41,\n  setTextMatrix: 42,\n  nextLine: 43,\n  showText: 44,\n  showSpacedText: 45,\n  nextLineShowText: 46,\n  nextLineSetSpacingShowText: 47,\n  setCharWidth: 48,\n  setCharWidthAndBounds: 49,\n  setStrokeColorSpace: 50,\n  setFillColorSpace: 51,\n  setStrokeColor: 52,\n  setStrokeColorN: 53,\n  setFillColor: 54,\n  setFillColorN: 55,\n  setStrokeGray: 56,\n  setFillGray: 57,\n  setStrokeRGBColor: 58,\n  setFillRGBColor: 59,\n  setStrokeCMYKColor: 60,\n  setFillCMYKColor: 61,\n  shadingFill: 62,\n  beginInlineImage: 63,\n  beginImageData: 64,\n  endInlineImage: 65,\n  paintXObject: 66,\n  markPoint: 67,\n  markPointProps: 68,\n  beginMarkedContent: 69,\n  beginMarkedContentProps: 70,\n  endMarkedContent: 71,\n  beginCompat: 72,\n  endCompat: 73,\n  paintFormXObjectBegin: 74,\n  paintFormXObjectEnd: 75,\n  beginGroup: 76,\n  endGroup: 77,\n  beginAnnotations: 78,\n  endAnnotations: 79,\n  beginAnnotation: 80,\n  endAnnotation: 81,\n  paintJpegXObject: 82,\n  paintImageMaskXObject: 83,\n  paintImageMaskXObjectGroup: 84,\n  paintImageXObject: 85,\n  paintInlineImageXObject: 86,\n  paintInlineImageXObjectGroup: 87,\n  paintImageXObjectRepeat: 88,\n  paintImageMaskXObjectRepeat: 89,\n  paintSolidColorImageMask: 90,\n  constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n  unknown: \"unknown\",\n  forms: \"forms\",\n  javaScript: \"javaScript\",\n  smask: \"smask\",\n  shadingPattern: \"shadingPattern\",\n  font: \"font\",\n};\n\nconst PasswordResponses = {\n  NEED_PASSWORD: 1,\n  INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n  if (Number.isInteger(level)) {\n    verbosity = level;\n  }\n}\n\nfunction getVerbosityLevel() {\n  return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n  if (verbosity >= VerbosityLevel.INFOS) {\n    console.log(`Info: ${msg}`);\n  }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n  if (verbosity >= VerbosityLevel.WARNINGS) {\n    console.log(`Warning: ${msg}`);\n  }\n}\n\nfunction unreachable(msg) {\n  throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n  if (!cond) {\n    unreachable(msg);\n  }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n  let base;\n  try {\n    base = new URL(baseUrl);\n    if (!base.origin || base.origin === \"null\") {\n      return false; // non-HTTP url\n    }\n  } catch (e) {\n    return false;\n  }\n\n  const other = new URL(otherUrl, base);\n  return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the whitelisted protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n  if (!url) {\n    return false;\n  }\n  switch (url.protocol) {\n    case \"http:\":\n    case \"https:\":\n    case \"ftp:\":\n    case \"mailto:\":\n    case \"tel:\":\n      return true;\n    default:\n      return false;\n  }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n  if (!url) {\n    return null;\n  }\n  try {\n    const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n    if (_isValidProtocol(absoluteUrl)) {\n      return absoluteUrl;\n    }\n  } catch (ex) {\n    /* `new URL()` will throw on incorrect data. */\n  }\n  return null;\n}\n\nfunction shadow(obj, prop, value) {\n  Object.defineProperty(obj, prop, {\n    value,\n    enumerable: true,\n    configurable: true,\n    writable: false,\n  });\n  return value;\n}\n\nconst BaseException = (function BaseExceptionClosure() {\n  function BaseException(message) {\n    if (this.constructor === BaseException) {\n      unreachable(\"Cannot initialize BaseException.\");\n    }\n    this.message = message;\n    this.name = this.constructor.name;\n  }\n  BaseException.prototype = new Error();\n  BaseException.constructor = BaseException;\n\n  return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n  constructor(msg, code) {\n    super(msg);\n    this.code = code;\n  }\n}\n\nclass UnknownErrorException extends BaseException {\n  constructor(msg, details) {\n    super(msg);\n    this.details = details;\n  }\n}\n\nclass InvalidPDFException extends BaseException {}\n\nclass MissingPDFException extends BaseException {}\n\nclass UnexpectedResponseException extends BaseException {\n  constructor(msg, status) {\n    super(msg);\n    this.status = status;\n  }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {}\n\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n  if (typeof str !== \"string\") {\n    warn(\"The argument for removeNullCharacters must be a string.\");\n    return str;\n  }\n  return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n  assert(\n    bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n    \"Invalid argument for bytesToString\"\n  );\n  const length = bytes.length;\n  const MAX_ARGUMENT_COUNT = 8192;\n  if (length < MAX_ARGUMENT_COUNT) {\n    return String.fromCharCode.apply(null, bytes);\n  }\n  const strBuf = [];\n  for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n    const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n    const chunk = bytes.subarray(i, chunkEnd);\n    strBuf.push(String.fromCharCode.apply(null, chunk));\n  }\n  return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n  assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n  const length = str.length;\n  const bytes = new Uint8Array(length);\n  for (let i = 0; i < length; ++i) {\n    bytes[i] = str.charCodeAt(i) & 0xff;\n  }\n  return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n  if (arr.length !== undefined) {\n    return arr.length;\n  }\n  assert(arr.byteLength !== undefined);\n  return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array} arr - the array of the arrays (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n  const length = arr.length;\n  // Shortcut: if first and only item is Uint8Array, return it.\n  if (length === 1 && arr[0] instanceof Uint8Array) {\n    return arr[0];\n  }\n  let resultLength = 0;\n  for (let i = 0; i < length; i++) {\n    resultLength += arrayByteLength(arr[i]);\n  }\n  let pos = 0;\n  const data = new Uint8Array(resultLength);\n  for (let i = 0; i < length; i++) {\n    let item = arr[i];\n    if (!(item instanceof Uint8Array)) {\n      if (typeof item === \"string\") {\n        item = stringToBytes(item);\n      } else {\n        item = new Uint8Array(item);\n      }\n    }\n    const itemLength = item.byteLength;\n    data.set(item, pos);\n    pos += itemLength;\n  }\n  return data;\n}\n\nfunction string32(value) {\n  return String.fromCharCode(\n    (value >> 24) & 0xff,\n    (value >> 16) & 0xff,\n    (value >> 8) & 0xff,\n    value & 0xff\n  );\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n  const buffer8 = new Uint8Array(4);\n  buffer8[0] = 1;\n  const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n  return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n  get value() {\n    return shadow(this, \"value\", isLittleEndian());\n  },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n  try {\n    new Function(\"\"); // eslint-disable-line no-new, no-new-func\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\nconst IsEvalSupportedCached = {\n  get value() {\n    return shadow(this, \"value\", isEvalSupported());\n  },\n};\n\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n  // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n  // creating many intermediate strings.\n  static makeCssRgb(r, g, b) {\n    rgbBuf[1] = r;\n    rgbBuf[3] = g;\n    rgbBuf[5] = b;\n    return rgbBuf.join(\"\");\n  }\n\n  // Concatenates two transformation matrices together and returns the result.\n  static transform(m1, m2) {\n    return [\n      m1[0] * m2[0] + m1[2] * m2[1],\n      m1[1] * m2[0] + m1[3] * m2[1],\n      m1[0] * m2[2] + m1[2] * m2[3],\n      m1[1] * m2[2] + m1[3] * m2[3],\n      m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n      m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n    ];\n  }\n\n  // For 2d affine transforms\n  static applyTransform(p, m) {\n    const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n    const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n    return [xt, yt];\n  }\n\n  static applyInverseTransform(p, m) {\n    const d = m[0] * m[3] - m[1] * m[2];\n    const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n    const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n    return [xt, yt];\n  }\n\n  // Applies the transform to the rectangle and finds the minimum axially\n  // aligned bounding box.\n  static getAxialAlignedBoundingBox(r, m) {\n    const p1 = Util.applyTransform(r, m);\n    const p2 = Util.applyTransform(r.slice(2, 4), m);\n    const p3 = Util.applyTransform([r[0], r[3]], m);\n    const p4 = Util.applyTransform([r[2], r[1]], m);\n    return [\n      Math.min(p1[0], p2[0], p3[0], p4[0]),\n      Math.min(p1[1], p2[1], p3[1], p4[1]),\n      Math.max(p1[0], p2[0], p3[0], p4[0]),\n      Math.max(p1[1], p2[1], p3[1], p4[1]),\n    ];\n  }\n\n  static inverseTransform(m) {\n    const d = m[0] * m[3] - m[1] * m[2];\n    return [\n      m[3] / d,\n      -m[1] / d,\n      -m[2] / d,\n      m[0] / d,\n      (m[2] * m[5] - m[4] * m[3]) / d,\n      (m[4] * m[1] - m[5] * m[0]) / d,\n    ];\n  }\n\n  // Apply a generic 3d matrix M on a 3-vector v:\n  //   | a b c |   | X |\n  //   | d e f | x | Y |\n  //   | g h i |   | Z |\n  // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n  // with v as [X,Y,Z]\n  static apply3dTransform(m, v) {\n    return [\n      m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n      m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n      m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n    ];\n  }\n\n  // This calculation uses Singular Value Decomposition.\n  // The SVD can be represented with formula A = USV. We are interested in the\n  // matrix S here because it represents the scale values.\n  static singularValueDecompose2dScale(m) {\n    const transpose = [m[0], m[2], m[1], m[3]];\n\n    // Multiply matrix m with its transpose.\n    const a = m[0] * transpose[0] + m[1] * transpose[2];\n    const b = m[0] * transpose[1] + m[1] * transpose[3];\n    const c = m[2] * transpose[0] + m[3] * transpose[2];\n    const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n    // Solve the second degree polynomial to get roots.\n    const first = (a + d) / 2;\n    const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n    const sx = first + second || 1;\n    const sy = first - second || 1;\n\n    // Scale values are the square roots of the eigenvalues.\n    return [Math.sqrt(sx), Math.sqrt(sy)];\n  }\n\n  // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n  // For coordinate systems whose origin lies in the bottom-left, this\n  // means normalization to (BL,TR) ordering. For systems with origin in the\n  // top-left, this means (TL,BR) ordering.\n  static normalizeRect(rect) {\n    const r = rect.slice(0); // clone rect\n    if (rect[0] > rect[2]) {\n      r[0] = rect[2];\n      r[2] = rect[0];\n    }\n    if (rect[1] > rect[3]) {\n      r[1] = rect[3];\n      r[3] = rect[1];\n    }\n    return r;\n  }\n\n  // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n  // intersection of rect1 and rect2. If no intersection, returns 'false'\n  // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n  static intersect(rect1, rect2) {\n    function compare(a, b) {\n      return a - b;\n    }\n\n    // Order points along the axes\n    const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n    const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n    const result = [];\n\n    rect1 = Util.normalizeRect(rect1);\n    rect2 = Util.normalizeRect(rect2);\n\n    // X: first and second points belong to different rectangles?\n    if (\n      (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n      (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n    ) {\n      // Intersection must be between second and third points\n      result[0] = orderedX[1];\n      result[2] = orderedX[2];\n    } else {\n      return null;\n    }\n\n    // Y: first and second points belong to different rectangles?\n    if (\n      (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n      (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n    ) {\n      // Intersection must be between second and third points\n      result[1] = orderedY[1];\n      result[3] = orderedY[2];\n    } else {\n      return null;\n    }\n\n    return result;\n  }\n}\n\n// prettier-ignore\nconst PDFStringTranslateTable = [\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n  0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n  0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n  0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n  const length = str.length,\n    strBuf = [];\n  if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n    // UTF16BE BOM\n    for (let i = 2; i < length; i += 2) {\n      strBuf.push(\n        String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n      );\n    }\n  } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n    // UTF16LE BOM\n    for (let i = 2; i < length; i += 2) {\n      strBuf.push(\n        String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n      );\n    }\n  } else {\n    for (let i = 0; i < length; ++i) {\n      const code = PDFStringTranslateTable[str.charCodeAt(i)];\n      strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n    }\n  }\n  return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n  return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n  return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n  for (const key in obj) {\n    return false;\n  }\n  return true;\n}\n\nfunction isBool(v) {\n  return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n  return typeof v === \"number\";\n}\n\nfunction isString(v) {\n  return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n  return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n  if (arr1.length !== arr2.length) {\n    return false;\n  }\n  return arr1.every(function(element, index) {\n    return element === arr2[index];\n  });\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n  const capability = Object.create(null);\n  let isSettled = false;\n\n  Object.defineProperty(capability, \"settled\", {\n    get() {\n      return isSettled;\n    },\n  });\n  capability.promise = new Promise(function(resolve, reject) {\n    capability.resolve = function(data) {\n      isSettled = true;\n      resolve(data);\n    };\n    capability.reject = function(reason) {\n      isSettled = true;\n      reject(reason);\n    };\n  });\n  return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n  // Blob/createObjectURL is not available, falling back to data schema.\n  const digits =\n    \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n  return function createObjectURL(data, contentType, forceDataSchema = false) {\n    if (!forceDataSchema && URL.createObjectURL) {\n      const blob = new Blob([data], { type: contentType });\n      return URL.createObjectURL(blob);\n    }\n\n    let buffer = `data:${contentType};base64,`;\n    for (let i = 0, ii = data.length; i < ii; i += 3) {\n      const b1 = data[i] & 0xff;\n      const b2 = data[i + 1] & 0xff;\n      const b3 = data[i + 2] & 0xff;\n      const d1 = b1 >> 2,\n        d2 = ((b1 & 3) << 4) | (b2 >> 4);\n      const d3 = i + 1 < ii ? ((b2 & 0xf) << 2) | (b3 >> 6) : 64;\n      const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n    }\n    return buffer;\n  };\n})();\n\nexport {\n  BaseException,\n  FONT_IDENTITY_MATRIX,\n  IDENTITY_MATRIX,\n  OPS,\n  VerbosityLevel,\n  UNSUPPORTED_FEATURES,\n  AnnotationBorderStyleType,\n  AnnotationFieldFlag,\n  AnnotationFlag,\n  AnnotationMarkedState,\n  AnnotationReplyType,\n  AnnotationReviewState,\n  AnnotationStateModelType,\n  AnnotationType,\n  FontType,\n  ImageKind,\n  CMapCompressionType,\n  AbortException,\n  InvalidPDFException,\n  MissingPDFException,\n  NativeImageDecoding,\n  PasswordException,\n  PasswordResponses,\n  PermissionFlag,\n  StreamType,\n  TextRenderingMode,\n  UnexpectedResponseException,\n  UnknownErrorException,\n  Util,\n  FormatError,\n  arrayByteLength,\n  arraysToBytes,\n  assert,\n  bytesToString,\n  createPromiseCapability,\n  createObjectURL,\n  getVerbosityLevel,\n  info,\n  isArrayBuffer,\n  isArrayEqual,\n  isBool,\n  isEmptyObj,\n  isNum,\n  isString,\n  isSameOrigin,\n  createValidAbsoluteUrl,\n  IsLittleEndianCached,\n  IsEvalSupportedCached,\n  removeNullCharacters,\n  setVerbosityLevel,\n  shadow,\n  string32,\n  stringToBytes,\n  stringToPDFString,\n  stringToUTF8String,\n  utf8StringToString,\n  warn,\n  unreachable,\n};\n","/* Copyright 2017 Mozilla Foundation\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/* eslint no-var: error */\n\n// Skip compatibility checks for modern builds (unless we're running the\n// unit-tests in Node.js/Travis) and if we already ran the module.\nif (\n  (typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!SKIP_BABEL || (LIB && TESTING)\")) &&\n  (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n  // Provides support for globalThis in legacy browsers.\n  // Support: IE11/Edge, Opera\n  if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n    // eslint-disable-next-line no-global-assign\n    globalThis = require(\"core-js/es/global-this\");\n  }\n  globalThis._pdfjsCompatibilityChecked = true;\n\n  const { isNodeJS } = require(\"./is_node.js\");\n\n  const hasDOM = typeof window === \"object\" && typeof document === \"object\";\n  const userAgent =\n    (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n  const isIE = /Trident/.test(userAgent);\n\n  // Support: Node.js\n  (function checkNodeBtoa() {\n    if (globalThis.btoa || !isNodeJS) {\n      return;\n    }\n    globalThis.btoa = function(chars) {\n      // eslint-disable-next-line no-undef\n      return Buffer.from(chars, \"binary\").toString(\"base64\");\n    };\n  })();\n\n  // Support: Node.js\n  (function checkNodeAtob() {\n    if (globalThis.atob || !isNodeJS) {\n      return;\n    }\n    globalThis.atob = function(input) {\n      // eslint-disable-next-line no-undef\n      return Buffer.from(input, \"base64\").toString(\"binary\");\n    };\n  })();\n\n  // Provides support for ChildNode.remove in legacy browsers.\n  // Support: IE.\n  (function checkChildNodeRemove() {\n    if (!hasDOM) {\n      return;\n    }\n    if (typeof Element.prototype.remove !== \"undefined\") {\n      return;\n    }\n    Element.prototype.remove = function() {\n      if (this.parentNode) {\n        // eslint-disable-next-line mozilla/avoid-removeChild\n        this.parentNode.removeChild(this);\n      }\n    };\n  })();\n\n  // Provides support for DOMTokenList.prototype.{add, remove}, with more than\n  // one parameter, in legacy browsers.\n  // Support: IE\n  (function checkDOMTokenListAddRemove() {\n    if (!hasDOM || isNodeJS) {\n      return;\n    }\n    const div = document.createElement(\"div\");\n    div.classList.add(\"testOne\", \"testTwo\");\n\n    if (\n      div.classList.contains(\"testOne\") === true &&\n      div.classList.contains(\"testTwo\") === true\n    ) {\n      return;\n    }\n    const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n    const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n    DOMTokenList.prototype.add = function(...tokens) {\n      for (const token of tokens) {\n        OriginalDOMTokenListAdd.call(this, token);\n      }\n    };\n    DOMTokenList.prototype.remove = function(...tokens) {\n      for (const token of tokens) {\n        OriginalDOMTokenListRemove.call(this, token);\n      }\n    };\n  })();\n\n  // Provides support for DOMTokenList.prototype.toggle, with the optional\n  // \"force\" parameter, in legacy browsers.\n  // Support: IE\n  (function checkDOMTokenListToggle() {\n    if (!hasDOM || isNodeJS) {\n      return;\n    }\n    const div = document.createElement(\"div\");\n    if (div.classList.toggle(\"test\", 0) === false) {\n      return;\n    }\n\n    DOMTokenList.prototype.toggle = function(token) {\n      const force =\n        arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n      return this[force ? \"add\" : \"remove\"](token), force;\n    };\n  })();\n\n  // Provides support for window.history.{pushState, replaceState}, with the\n  // `url` parameter set to `undefined`, without breaking the document URL.\n  // Support: IE\n  (function checkWindowHistoryPushStateReplaceState() {\n    if (!hasDOM || !isIE) {\n      return;\n    }\n    const OriginalPushState = window.history.pushState;\n    const OriginalReplaceState = window.history.replaceState;\n\n    window.history.pushState = function(state, title, url) {\n      const args = url === undefined ? [state, title] : [state, title, url];\n      OriginalPushState.apply(this, args);\n    };\n    window.history.replaceState = function(state, title, url) {\n      const args = url === undefined ? [state, title] : [state, title, url];\n      OriginalReplaceState.apply(this, args);\n    };\n  })();\n\n  // Provides support for String.prototype.startsWith in legacy browsers.\n  // Support: IE, Chrome<41\n  (function checkStringStartsWith() {\n    if (String.prototype.startsWith) {\n      return;\n    }\n    require(\"core-js/es/string/starts-with.js\");\n  })();\n\n  // Provides support for String.prototype.endsWith in legacy browsers.\n  // Support: IE, Chrome<41\n  (function checkStringEndsWith() {\n    if (String.prototype.endsWith) {\n      return;\n    }\n    require(\"core-js/es/string/ends-with.js\");\n  })();\n\n  // Provides support for String.prototype.includes in legacy browsers.\n  // Support: IE, Chrome<41\n  (function checkStringIncludes() {\n    if (String.prototype.includes) {\n      return;\n    }\n    require(\"core-js/es/string/includes.js\");\n  })();\n\n  // Provides support for Array.prototype.includes in legacy browsers.\n  // Support: IE, Chrome<47\n  (function checkArrayIncludes() {\n    if (Array.prototype.includes) {\n      return;\n    }\n    require(\"core-js/es/array/includes.js\");\n  })();\n\n  // Provides support for Array.from in legacy browsers.\n  // Support: IE\n  (function checkArrayFrom() {\n    if (Array.from) {\n      return;\n    }\n    require(\"core-js/es/array/from.js\");\n  })();\n\n  // Provides support for Object.assign in legacy browsers.\n  // Support: IE\n  (function checkObjectAssign() {\n    if (Object.assign) {\n      return;\n    }\n    require(\"core-js/es/object/assign.js\");\n  })();\n\n  // Provides support for Math.log2 in legacy browsers.\n  // Support: IE, Chrome<38\n  (function checkMathLog2() {\n    if (Math.log2) {\n      return;\n    }\n    Math.log2 = require(\"core-js/es/math/log2.js\");\n  })();\n\n  // Provides support for Number.isNaN in legacy browsers.\n  // Support: IE.\n  (function checkNumberIsNaN() {\n    if (Number.isNaN) {\n      return;\n    }\n    Number.isNaN = require(\"core-js/es/number/is-nan.js\");\n  })();\n\n  // Provides support for Number.isInteger in legacy browsers.\n  // Support: IE, Chrome<34\n  (function checkNumberIsInteger() {\n    if (Number.isInteger) {\n      return;\n    }\n    Number.isInteger = require(\"core-js/es/number/is-integer.js\");\n  })();\n\n  // Support: IE, Safari<11, Chrome<63\n  (function checkPromise() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n      // The current image decoders are synchronous, hence `Promise` shouldn't\n      // need to be polyfilled for the IMAGE_DECODERS build target.\n      return;\n    }\n    if (globalThis.Promise && globalThis.Promise.allSettled) {\n      return;\n    }\n    globalThis.Promise = require(\"core-js/es/promise/index.js\");\n  })();\n\n  // Support: IE\n  (function checkURL() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n      // The current image decoders don't use the `URL` constructor, so it\n      // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n      return;\n    }\n    if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n      // The `URL` constructor is assumed to be available in the extension\n      // builds.\n      return;\n    }\n    globalThis.URL = require(\"core-js/web/url.js\");\n  })();\n\n  // Support: IE, Node.js\n  (function checkReadableStream() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n      // The current image decoders are synchronous, hence `ReadableStream`\n      // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n      return;\n    }\n    let isReadableStreamSupported = false;\n\n    if (typeof ReadableStream !== \"undefined\") {\n      // MS Edge may say it has ReadableStream but they are not up to spec yet.\n      try {\n        // eslint-disable-next-line no-new\n        new ReadableStream({\n          start(controller) {\n            controller.close();\n          },\n        });\n        isReadableStreamSupported = true;\n      } catch (e) {\n        // The ReadableStream constructor cannot be used.\n      }\n    }\n    if (isReadableStreamSupported) {\n      return;\n    }\n    globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n  })();\n\n  // We want to support Map iteration, but it doesn't seem possible to easily\n  // test for that specifically; hence using a similarly unsupported property.\n  // Support: IE11\n  (function checkMapEntries() {\n    if (globalThis.Map && globalThis.Map.prototype.entries) {\n      return;\n    }\n    globalThis.Map = require(\"core-js/es/map/index.js\");\n  })();\n\n  // We want to support Set iteration, but it doesn't seem possible to easily\n  // test for that specifically; hence using a similarly unsupported property.\n  // Support: IE11\n  (function checkSetEntries() {\n    if (globalThis.Set && globalThis.Set.prototype.entries) {\n      return;\n    }\n    globalThis.Set = require(\"core-js/es/set/index.js\");\n  })();\n\n  // Support: IE<11, Safari<8, Chrome<36\n  (function checkWeakMap() {\n    if (globalThis.WeakMap) {\n      return;\n    }\n    globalThis.WeakMap = require(\"core-js/es/weak-map/index.js\");\n  })();\n\n  // Support: IE11\n  (function checkWeakSet() {\n    if (globalThis.WeakSet) {\n      return;\n    }\n    globalThis.WeakSet = require(\"core-js/es/weak-set/index.js\");\n  })();\n\n  // Provides support for String.codePointAt in legacy browsers.\n  // Support: IE11.\n  (function checkStringCodePointAt() {\n    if (String.prototype.codePointAt) {\n      return;\n    }\n    require(\"core-js/es/string/code-point-at.js\");\n  })();\n\n  // Provides support for String.fromCodePoint in legacy browsers.\n  // Support: IE11.\n  (function checkStringFromCodePoint() {\n    if (String.fromCodePoint) {\n      return;\n    }\n    String.fromCodePoint = require(\"core-js/es/string/from-code-point.js\");\n  })();\n\n  // Support: IE\n  (function checkSymbol() {\n    if (globalThis.Symbol) {\n      return;\n    }\n    require(\"core-js/es/symbol/index.js\");\n  })();\n\n  // Provides support for String.prototype.padStart in legacy browsers.\n  // Support: IE, Chrome<57\n  (function checkStringPadStart() {\n    if (String.prototype.padStart) {\n      return;\n    }\n    require(\"core-js/es/string/pad-start.js\");\n  })();\n\n  // Provides support for String.prototype.padEnd in legacy browsers.\n  // Support: IE, Chrome<57\n  (function checkStringPadEnd() {\n    if (String.prototype.padEnd) {\n      return;\n    }\n    require(\"core-js/es/string/pad-end.js\");\n  })();\n\n  // Provides support for Object.values in legacy browsers.\n  // Support: IE, Chrome<54\n  (function checkObjectValues() {\n    if (Object.values) {\n      return;\n    }\n    Object.values = require(\"core-js/es/object/values.js\");\n  })();\n}\n","require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n  globalThis: global\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*/\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","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 no-undef\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func\n  Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\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","// 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 fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.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\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/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 isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n  if (!isObject(input)) return input;\n  var fn, val;\n  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\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  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 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","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","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return nativeDefineProperty(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 isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n  if (!isObject(it)) {\n    throw TypeError(String(it) + ' is not an object');\n  } return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\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  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\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 typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n  try {\n    createNonEnumerableProperty(global, key, value);\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n  store.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\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 NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\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) {\n  var store = new WeakMap();\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return objectHas(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return objectHas(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 global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\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 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.6.4',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var has = require('../internals/has');\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 (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n","var getBuiltIn = require('../internals/get-built-in');\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\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 ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n  return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\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.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\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) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\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 = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\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.github.io/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\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 = toInteger(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\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","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\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    : typeof detection == 'function' ? 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","/* Copyright 2018 Mozilla Foundation\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/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://electronjs.org/docs/api/process#processversionselectron\nconst isNodeJS =\n  typeof process === \"object\" &&\n  process + \"\" === \"[object process]\" &&\n  !process.versions[\"nw\"] &&\n  !process.versions[\"electron\"];\n\nexport { isNodeJS };\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return nativeStartsWith\n      ? nativeStartsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","var isRegExp = require('../internals/is-regexp');\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 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.github.io/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 shared = require('../internals/shared');\nvar has = require('../internals/has');\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 createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!has(WellKnownSymbolsStore, name)) {\n    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  // Chrome 38 Symbol has incorrect toString conversion\n  // eslint-disable-next-line no-undef\n  return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n  // eslint-disable-next-line no-undef\n  && !Symbol.sham\n  // eslint-disable-next-line no-undef\n  && typeof Symbol.iterator == 'symbol';\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 (e) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (f) { /* empty */ }\n  } return false;\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n  return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","module.exports = function (it) {\n  if (typeof it != 'function') {\n    throw TypeError(String(it) + ' is not a function');\n  } return it;\n};\n","require('../../modules/es.string.ends-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'endsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n    var search = String(searchString);\n    return nativeEndsWith\n      ? nativeEndsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~String(requireObjectCoercible(this))\n      .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\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.github.io/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","var 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    /* global ActiveXObject */\n    activeXDocument = document.domain && new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\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.github.io/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 objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\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++], Properties[key]);\n  return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\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 has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n  if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n  if (!options) options = {};\n  var method = [][METHOD_NAME];\n  var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n  var argument0 = has(options, 0) ? options[0] : thrower;\n  var argument1 = has(options, 1) ? options[1] : undefined;\n\n  return cache[METHOD_NAME] = !!method && !fails(function () {\n    if (ACCESSORS && !DESCRIPTORS) return true;\n    var O = { length: -1 };\n\n    if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n    else O[1] = 1;\n\n    method.call(O, argument0, argument1);\n  });\n};\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\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.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: String(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/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","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = String(requireObjectCoercible($this));\n    var position = toInteger(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = S.charCodeAt(position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING ? S.charAt(position) : first\n        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.github.io/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 $ = require('../internals/export');\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 IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\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 (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n          createNonEnumerableProperty(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#{values, @@iterator}.name in V8 / FF\n  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    INCORRECT_VALUES_NAME = true;\n    defaultIterator = function values() { return nativeIterator.call(this); };\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n  }\n  Iterators[NAME] = defaultIterator;\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  return methods;\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","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\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\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\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\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\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 ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectPrototype : null;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n    setter.call(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.call(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n  if (!isObject(it) && it !== null) {\n    throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n  } return it;\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  Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n  from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var C = typeof this == 'function' ? this : Array;\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 index = 0;\n  var length, result, step, iterator, next, value;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n    iterator = iteratorMethod.call(O);\n    next = iterator.next;\n    result = new C();\n    for (;!(step = next.call(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 = toLength(O.length);\n    result = new C(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 anObject = require('../internals/an-object');\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  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (error) {\n    var returnMethod = iterator['return'];\n    if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n    throw error;\n  }\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","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPrimitive(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n","var classof = require('../internals/classof');\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 it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\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' && typeof O.callee == 'function' ? 'Arguments' : result;\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 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 no-throw-literal\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","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n  assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\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\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(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 no-undef\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\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 ? objectKeys(S).concat(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 || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : nativeAssign;\n","require('../../modules/es.math.log2');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.log2;\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n  log2: function log2(x) {\n    return log(x) / LN2;\n  }\n});\n","require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n","require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n  isInteger: isInteger\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\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.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  redefine(Object.prototype, 'toString', toString, { unsafe: true });\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.github.io/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 DOMIterables = require('../internals/dom-iterables');\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\nfor (var COLLECTION_NAME in DOMIterables) {\n  var Collection = global[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\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","// 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","'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.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/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.github.io/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.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\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 NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\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 V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n  if (!GLOBAL_CORE_JS_PROMISE) {\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 (V8_VERSION === 66) return true;\n    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n  }\n  // We need Promise#finally in the pure version for preventing prototype pollution\n  if (IS_PURE && !PromiseConstructor.prototype['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(PromiseConstructor)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = PromiseConstructor.resolve(1);\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\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) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, 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(promise, 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            then.call(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(promise, 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 (handler = global['on' + name]) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n  task.call(global, function () {\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 (promise, state) {\n  task.call(global, function () {\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n  return function (value) {\n    fn(promise, state, value, unwrap);\n  };\n};\n\nvar internalReject = function (promise, 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(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (promise === 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          then.call(value,\n            bind(internalResolve, promise, wrapper, state),\n            bind(internalReject, promise, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(promise, wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(promise, state, false);\n    }\n  } catch (error) {\n    internalReject(promise, { 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, PromiseConstructor, PROMISE);\n    aFunction(executor);\n    Internal.call(this);\n    var state = getInternalState(this);\n    try {\n      executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n    } catch (error) {\n      internalReject(this, state, error);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\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(PromiseConstructor.prototype, {\n    // `Promise.prototype.then` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n    then: function then(onFulfilled, onRejected) {\n      var state = getInternalPromiseState(this);\n      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = IS_NODE ? process.domain : undefined;\n      state.parent = true;\n      state.reactions.push(reaction);\n      if (state.state != PENDING) notify(this, state, false);\n      return reaction.promise;\n    },\n    // `Promise.prototype.catch` method\n    // https://tc39.github.io/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, promise, state);\n    this.reject = bind(internalReject, promise, 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 && typeof NativePromise == 'function') {\n    nativeThen = NativePromise.prototype.then;\n\n    // wrap native Promise#then for native async functions\n    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n      var that = this;\n      return new PromiseConstructor(function (resolve, reject) {\n        nativeThen.call(that, resolve, reject);\n      }).then(onFulfilled, onRejected);\n    // https://github.com/zloirock/core-js/issues/640\n    }, { unsafe: true });\n\n    // wrap fetch result\n    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n      // eslint-disable-next-line no-unused-vars\n      fetch: function fetch(input /* , init */) {\n        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n      }\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.github.io/ecma262/#sec-promise.reject\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    capability.reject.call(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.github.io/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.github.io/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 = aFunction(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        values.push(undefined);\n        remaining++;\n        $promiseResolve.call(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.github.io/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 = aFunction(C.resolve);\n      iterate(iterable, function (promise) {\n        $promiseResolve.call(C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\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","'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","module.exports = function (it, Constructor, name) {\n  if (!(it instanceof Constructor)) {\n    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n  } return it;\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n  var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n  var iterator, iterFn, index, length, result, next, step;\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = toLength(iterable.length); length > index; index++) {\n        result = AS_ENTRIES\n          ? boundFunction(anObject(step = iterable[index])[0], step[1])\n          : boundFunction(iterable[index]);\n        if (result && result instanceof Result) return result;\n      } return new Result(false);\n    }\n    iterator = iterFn.call(iterable);\n  }\n\n  next = iterator.next;\n  while (!(step = next.call(iterator)).done) {\n    result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n    if (typeof result == 'object' && result && result instanceof Result) return result;\n  } return new Result(false);\n};\n\niterate.stop = function (result) {\n  return new Result(true, result);\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/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 : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(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(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 = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(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 (classof(process) == 'process') {\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, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\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  // Node.js\n  if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  } else if (MutationObserver && !IS_IOS) {\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 (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    then = promise.then;\n    notify = function () {\n      then.call(promise, flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, 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 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","'use strict';\nvar aFunction = require('../internals/a-function');\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 = aFunction(resolve);\n  this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\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","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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  version = match[0] + match[1];\n} else if (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 && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-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 = aFunction(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        values.push(undefined);\n        remaining++;\n        promiseResolve.call(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 (e) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = { status: 'rejected', reason: e };\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 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 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.github.io/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 = typeof onFinally == 'function';\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// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n  redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","require('../modules/web.url');\nrequire('../modules/web.url.to-json');\nrequire('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URL;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n  var result, codePoints, index;\n  if (input.charAt(0) == '[') {\n    if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n    result = parseIPv6(input.slice(1, -1));\n    if (!result) return INVALID_HOST;\n    url.host = result;\n  // opaque host\n  } else if (!isSpecial(url)) {\n    if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n    result = '';\n    codePoints = arrayFrom(input);\n    for (index = 0; index < codePoints.length; index++) {\n      result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n    }\n    url.host = result;\n  } else {\n    input = toASCII(input);\n    if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n    result = parseIPv4(input);\n    if (result === null) return INVALID_HOST;\n    url.host = result;\n  }\n};\n\nvar parseIPv4 = function (input) {\n  var parts = input.split('.');\n  var partsLength, numbers, index, part, radix, number, ipv4;\n  if (parts.length && parts[parts.length - 1] == '') {\n    parts.pop();\n  }\n  partsLength = parts.length;\n  if (partsLength > 4) return input;\n  numbers = [];\n  for (index = 0; index < partsLength; index++) {\n    part = parts[index];\n    if (part == '') return input;\n    radix = 10;\n    if (part.length > 1 && part.charAt(0) == '0') {\n      radix = HEX_START.test(part) ? 16 : 8;\n      part = part.slice(radix == 8 ? 1 : 2);\n    }\n    if (part === '') {\n      number = 0;\n    } else {\n      if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n      number = parseInt(part, radix);\n    }\n    numbers.push(number);\n  }\n  for (index = 0; index < partsLength; index++) {\n    number = numbers[index];\n    if (index == partsLength - 1) {\n      if (number >= pow(256, 5 - partsLength)) return null;\n    } else if (number > 255) return null;\n  }\n  ipv4 = numbers.pop();\n  for (index = 0; index < numbers.length; index++) {\n    ipv4 += numbers[index] * pow(256, 3 - index);\n  }\n  return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n  var address = [0, 0, 0, 0, 0, 0, 0, 0];\n  var pieceIndex = 0;\n  var compress = null;\n  var pointer = 0;\n  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n  var char = function () {\n    return input.charAt(pointer);\n  };\n\n  if (char() == ':') {\n    if (input.charAt(1) != ':') return;\n    pointer += 2;\n    pieceIndex++;\n    compress = pieceIndex;\n  }\n  while (char()) {\n    if (pieceIndex == 8) return;\n    if (char() == ':') {\n      if (compress !== null) return;\n      pointer++;\n      pieceIndex++;\n      compress = pieceIndex;\n      continue;\n    }\n    value = length = 0;\n    while (length < 4 && HEX.test(char())) {\n      value = value * 16 + parseInt(char(), 16);\n      pointer++;\n      length++;\n    }\n    if (char() == '.') {\n      if (length == 0) return;\n      pointer -= length;\n      if (pieceIndex > 6) return;\n      numbersSeen = 0;\n      while (char()) {\n        ipv4Piece = null;\n        if (numbersSeen > 0) {\n          if (char() == '.' && numbersSeen < 4) pointer++;\n          else return;\n        }\n        if (!DIGIT.test(char())) return;\n        while (DIGIT.test(char())) {\n          number = parseInt(char(), 10);\n          if (ipv4Piece === null) ipv4Piece = number;\n          else if (ipv4Piece == 0) return;\n          else ipv4Piece = ipv4Piece * 10 + number;\n          if (ipv4Piece > 255) return;\n          pointer++;\n        }\n        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n        numbersSeen++;\n        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n      }\n      if (numbersSeen != 4) return;\n      break;\n    } else if (char() == ':') {\n      pointer++;\n      if (!char()) return;\n    } else if (char()) return;\n    address[pieceIndex++] = value;\n  }\n  if (compress !== null) {\n    swaps = pieceIndex - compress;\n    pieceIndex = 7;\n    while (pieceIndex != 0 && swaps > 0) {\n      swap = address[pieceIndex];\n      address[pieceIndex--] = address[compress + swaps - 1];\n      address[compress + --swaps] = swap;\n    }\n  } else if (pieceIndex != 8) return;\n  return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n  var maxIndex = null;\n  var maxLength = 1;\n  var currStart = null;\n  var currLength = 0;\n  var index = 0;\n  for (; index < 8; index++) {\n    if (ipv6[index] !== 0) {\n      if (currLength > maxLength) {\n        maxIndex = currStart;\n        maxLength = currLength;\n      }\n      currStart = null;\n      currLength = 0;\n    } else {\n      if (currStart === null) currStart = index;\n      ++currLength;\n    }\n  }\n  if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n  }\n  return maxIndex;\n};\n\nvar serializeHost = function (host) {\n  var result, index, compress, ignore0;\n  // ipv4\n  if (typeof host == 'number') {\n    result = [];\n    for (index = 0; index < 4; index++) {\n      result.unshift(host % 256);\n      host = floor(host / 256);\n    } return result.join('.');\n  // ipv6\n  } else if (typeof host == 'object') {\n    result = '';\n    compress = findLongestZeroSequence(host);\n    for (index = 0; index < 8; index++) {\n      if (ignore0 && host[index] === 0) continue;\n      if (ignore0) ignore0 = false;\n      if (compress === index) {\n        result += index ? ':' : '::';\n        ignore0 = true;\n      } else {\n        result += host[index].toString(16);\n        if (index < 7) result += ':';\n      }\n    }\n    return '[' + result + ']';\n  } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n  ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n  '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n  var code = codeAt(char, 0);\n  return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n  ftp: 21,\n  file: null,\n  http: 80,\n  https: 443,\n  ws: 80,\n  wss: 443\n};\n\nvar isSpecial = function (url) {\n  return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n  return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n  return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n  var second;\n  return string.length == 2 && ALPHA.test(string.charAt(0))\n    && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n  var third;\n  return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n    string.length == 2 ||\n    ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n  );\n};\n\nvar shortenURLsPath = function (url) {\n  var path = url.path;\n  var pathSize = path.length;\n  if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n    path.pop();\n  }\n};\n\nvar isSingleDot = function (segment) {\n  return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n  segment = segment.toLowerCase();\n  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n  var state = stateOverride || SCHEME_START;\n  var pointer = 0;\n  var buffer = '';\n  var seenAt = false;\n  var seenBracket = false;\n  var seenPasswordToken = false;\n  var codePoints, char, bufferCodePoints, failure;\n\n  if (!stateOverride) {\n    url.scheme = '';\n    url.username = '';\n    url.password = '';\n    url.host = null;\n    url.port = null;\n    url.path = [];\n    url.query = null;\n    url.fragment = null;\n    url.cannotBeABaseURL = false;\n    input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n  }\n\n  input = input.replace(TAB_AND_NEW_LINE, '');\n\n  codePoints = arrayFrom(input);\n\n  while (pointer <= codePoints.length) {\n    char = codePoints[pointer];\n    switch (state) {\n      case SCHEME_START:\n        if (char && ALPHA.test(char)) {\n          buffer += char.toLowerCase();\n          state = SCHEME;\n        } else if (!stateOverride) {\n          state = NO_SCHEME;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case SCHEME:\n        if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n          buffer += char.toLowerCase();\n        } else if (char == ':') {\n          if (stateOverride && (\n            (isSpecial(url) != has(specialSchemes, buffer)) ||\n            (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n            (url.scheme == 'file' && !url.host)\n          )) return;\n          url.scheme = buffer;\n          if (stateOverride) {\n            if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n            return;\n          }\n          buffer = '';\n          if (url.scheme == 'file') {\n            state = FILE;\n          } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n            state = SPECIAL_RELATIVE_OR_AUTHORITY;\n          } else if (isSpecial(url)) {\n            state = SPECIAL_AUTHORITY_SLASHES;\n          } else if (codePoints[pointer + 1] == '/') {\n            state = PATH_OR_AUTHORITY;\n            pointer++;\n          } else {\n            url.cannotBeABaseURL = true;\n            url.path.push('');\n            state = CANNOT_BE_A_BASE_URL_PATH;\n          }\n        } else if (!stateOverride) {\n          buffer = '';\n          state = NO_SCHEME;\n          pointer = 0;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case NO_SCHEME:\n        if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n        if (base.cannotBeABaseURL && char == '#') {\n          url.scheme = base.scheme;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          url.cannotBeABaseURL = true;\n          state = FRAGMENT;\n          break;\n        }\n        state = base.scheme == 'file' ? FILE : RELATIVE;\n        continue;\n\n      case SPECIAL_RELATIVE_OR_AUTHORITY:\n        if (char == '/' && codePoints[pointer + 1] == '/') {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n          pointer++;\n        } else {\n          state = RELATIVE;\n          continue;\n        } break;\n\n      case PATH_OR_AUTHORITY:\n        if (char == '/') {\n          state = AUTHORITY;\n          break;\n        } else {\n          state = PATH;\n          continue;\n        }\n\n      case RELATIVE:\n        url.scheme = base.scheme;\n        if (char == EOF) {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n        } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n          state = RELATIVE_SLASH;\n        } else if (char == '?') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          state = FRAGMENT;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.path.pop();\n          state = PATH;\n          continue;\n        } break;\n\n      case RELATIVE_SLASH:\n        if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        } else if (char == '/') {\n          state = AUTHORITY;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          state = PATH;\n          continue;\n        } break;\n\n      case SPECIAL_AUTHORITY_SLASHES:\n        state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n        pointer++;\n        break;\n\n      case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n        if (char != '/' && char != '\\\\') {\n          state = AUTHORITY;\n          continue;\n        } break;\n\n      case AUTHORITY:\n        if (char == '@') {\n          if (seenAt) buffer = '%40' + buffer;\n          seenAt = true;\n          bufferCodePoints = arrayFrom(buffer);\n          for (var i = 0; i < bufferCodePoints.length; i++) {\n            var codePoint = bufferCodePoints[i];\n            if (codePoint == ':' && !seenPasswordToken) {\n              seenPasswordToken = true;\n              continue;\n            }\n            var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n            if (seenPasswordToken) url.password += encodedCodePoints;\n            else url.username += encodedCodePoints;\n          }\n          buffer = '';\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (seenAt && buffer == '') return INVALID_AUTHORITY;\n          pointer -= arrayFrom(buffer).length + 1;\n          buffer = '';\n          state = HOST;\n        } else buffer += char;\n        break;\n\n      case HOST:\n      case HOSTNAME:\n        if (stateOverride && url.scheme == 'file') {\n          state = FILE_HOST;\n          continue;\n        } else if (char == ':' && !seenBracket) {\n          if (buffer == '') return INVALID_HOST;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PORT;\n          if (stateOverride == HOSTNAME) return;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (isSpecial(url) && buffer == '') return INVALID_HOST;\n          if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PATH_START;\n          if (stateOverride) return;\n          continue;\n        } else {\n          if (char == '[') seenBracket = true;\n          else if (char == ']') seenBracket = false;\n          buffer += char;\n        } break;\n\n      case PORT:\n        if (DIGIT.test(char)) {\n          buffer += char;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          stateOverride\n        ) {\n          if (buffer != '') {\n            var port = parseInt(buffer, 10);\n            if (port > 0xFFFF) return INVALID_PORT;\n            url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n            buffer = '';\n          }\n          if (stateOverride) return;\n          state = PATH_START;\n          continue;\n        } else return INVALID_PORT;\n        break;\n\n      case FILE:\n        url.scheme = 'file';\n        if (char == '/' || char == '\\\\') state = FILE_SLASH;\n        else if (base && base.scheme == 'file') {\n          if (char == EOF) {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n          } else if (char == '?') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n            url.fragment = '';\n            state = FRAGMENT;\n          } else {\n            if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n              url.host = base.host;\n              url.path = base.path.slice();\n              shortenURLsPath(url);\n            }\n            state = PATH;\n            continue;\n          }\n        } else {\n          state = PATH;\n          continue;\n        } break;\n\n      case FILE_SLASH:\n        if (char == '/' || char == '\\\\') {\n          state = FILE_HOST;\n          break;\n        }\n        if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n          if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n          else url.host = base.host;\n        }\n        state = PATH;\n        continue;\n\n      case FILE_HOST:\n        if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n          if (!stateOverride && isWindowsDriveLetter(buffer)) {\n            state = PATH;\n          } else if (buffer == '') {\n            url.host = '';\n            if (stateOverride) return;\n            state = PATH_START;\n          } else {\n            failure = parseHost(url, buffer);\n            if (failure) return failure;\n            if (url.host == 'localhost') url.host = '';\n            if (stateOverride) return;\n            buffer = '';\n            state = PATH_START;\n          } continue;\n        } else buffer += char;\n        break;\n\n      case PATH_START:\n        if (isSpecial(url)) {\n          state = PATH;\n          if (char != '/' && char != '\\\\') continue;\n        } else if (!stateOverride && char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          state = PATH;\n          if (char != '/') continue;\n        } break;\n\n      case PATH:\n        if (\n          char == EOF || char == '/' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          (!stateOverride && (char == '?' || char == '#'))\n        ) {\n          if (isDoubleDot(buffer)) {\n            shortenURLsPath(url);\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else if (isSingleDot(buffer)) {\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else {\n            if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n              if (url.host) url.host = '';\n              buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n            }\n            url.path.push(buffer);\n          }\n          buffer = '';\n          if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n            while (url.path.length > 1 && url.path[0] === '') {\n              url.path.shift();\n            }\n          }\n          if (char == '?') {\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          }\n        } else {\n          buffer += percentEncode(char, pathPercentEncodeSet);\n        } break;\n\n      case CANNOT_BE_A_BASE_URL_PATH:\n        if (char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case QUERY:\n        if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          if (char == \"'\" && isSpecial(url)) url.query += '%27';\n          else if (char == '#') url.query += '%23';\n          else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case FRAGMENT:\n        if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n        break;\n    }\n\n    pointer++;\n  }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n  var that = anInstance(this, URLConstructor, 'URL');\n  var base = arguments.length > 1 ? arguments[1] : undefined;\n  var urlString = String(url);\n  var state = setInternalState(that, { type: 'URL' });\n  var baseState, failure;\n  if (base !== undefined) {\n    if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n    else {\n      failure = parseURL(baseState = {}, String(base));\n      if (failure) throw TypeError(failure);\n    }\n  }\n  failure = parseURL(state, urlString, null, baseState);\n  if (failure) throw TypeError(failure);\n  var searchParams = state.searchParams = new URLSearchParams();\n  var searchParamsState = getInternalSearchParamsState(searchParams);\n  searchParamsState.updateSearchParams(state.query);\n  searchParamsState.updateURL = function () {\n    state.query = String(searchParams) || null;\n  };\n  if (!DESCRIPTORS) {\n    that.href = serializeURL.call(that);\n    that.origin = getOrigin.call(that);\n    that.protocol = getProtocol.call(that);\n    that.username = getUsername.call(that);\n    that.password = getPassword.call(that);\n    that.host = getHost.call(that);\n    that.hostname = getHostname.call(that);\n    that.port = getPort.call(that);\n    that.pathname = getPathname.call(that);\n    that.search = getSearch.call(that);\n    that.searchParams = getSearchParams.call(that);\n    that.hash = getHash.call(that);\n  }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var username = url.username;\n  var password = url.password;\n  var host = url.host;\n  var port = url.port;\n  var path = url.path;\n  var query = url.query;\n  var fragment = url.fragment;\n  var output = scheme + ':';\n  if (host !== null) {\n    output += '//';\n    if (includesCredentials(url)) {\n      output += username + (password ? ':' + password : '') + '@';\n    }\n    output += serializeHost(host);\n    if (port !== null) output += ':' + port;\n  } else if (scheme == 'file') output += '//';\n  output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n  if (query !== null) output += '?' + query;\n  if (fragment !== null) output += '#' + fragment;\n  return output;\n};\n\nvar getOrigin = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var port = url.port;\n  if (scheme == 'blob') try {\n    return new URL(scheme.path[0]).origin;\n  } catch (error) {\n    return 'null';\n  }\n  if (scheme == 'file' || !isSpecial(url)) return 'null';\n  return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n  return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n  return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n  return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n  var url = getInternalURLState(this);\n  var host = url.host;\n  var port = url.port;\n  return host === null ? ''\n    : port === null ? serializeHost(host)\n    : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n  var host = getInternalURLState(this).host;\n  return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n  var port = getInternalURLState(this).port;\n  return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n  var url = getInternalURLState(this);\n  var path = url.path;\n  return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n  var query = getInternalURLState(this).query;\n  return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n  return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n  var fragment = getInternalURLState(this).fragment;\n  return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n  return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n  defineProperties(URLPrototype, {\n    // `URL.prototype.href` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-href\n    href: accessorDescriptor(serializeURL, function (href) {\n      var url = getInternalURLState(this);\n      var urlString = String(href);\n      var failure = parseURL(url, urlString);\n      if (failure) throw TypeError(failure);\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.origin` getter\n    // https://url.spec.whatwg.org/#dom-url-origin\n    origin: accessorDescriptor(getOrigin),\n    // `URL.prototype.protocol` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-protocol\n    protocol: accessorDescriptor(getProtocol, function (protocol) {\n      var url = getInternalURLState(this);\n      parseURL(url, String(protocol) + ':', SCHEME_START);\n    }),\n    // `URL.prototype.username` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-username\n    username: accessorDescriptor(getUsername, function (username) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(username));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.username = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.password` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-password\n    password: accessorDescriptor(getPassword, function (password) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(password));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.password = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.host` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-host\n    host: accessorDescriptor(getHost, function (host) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(host), HOST);\n    }),\n    // `URL.prototype.hostname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hostname\n    hostname: accessorDescriptor(getHostname, function (hostname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(hostname), HOSTNAME);\n    }),\n    // `URL.prototype.port` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-port\n    port: accessorDescriptor(getPort, function (port) {\n      var url = getInternalURLState(this);\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      port = String(port);\n      if (port == '') url.port = null;\n      else parseURL(url, port, PORT);\n    }),\n    // `URL.prototype.pathname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-pathname\n    pathname: accessorDescriptor(getPathname, function (pathname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      url.path = [];\n      parseURL(url, pathname + '', PATH_START);\n    }),\n    // `URL.prototype.search` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-search\n    search: accessorDescriptor(getSearch, function (search) {\n      var url = getInternalURLState(this);\n      search = String(search);\n      if (search == '') {\n        url.query = null;\n      } else {\n        if ('?' == search.charAt(0)) search = search.slice(1);\n        url.query = '';\n        parseURL(url, search, QUERY);\n      }\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.searchParams` getter\n    // https://url.spec.whatwg.org/#dom-url-searchparams\n    searchParams: accessorDescriptor(getSearchParams),\n    // `URL.prototype.hash` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hash\n    hash: accessorDescriptor(getHash, function (hash) {\n      var url = getInternalURLState(this);\n      hash = String(hash);\n      if (hash == '') {\n        url.fragment = null;\n        return;\n      }\n      if ('#' == hash.charAt(0)) hash = hash.slice(1);\n      url.fragment = '';\n      parseURL(url, hash, FRAGMENT);\n    })\n  });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n  var nativeCreateObjectURL = NativeURL.createObjectURL;\n  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n  // `URL.createObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n    return nativeCreateObjectURL.apply(NativeURL, arguments);\n  });\n  // `URL.revokeObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n    return nativeRevokeObjectURL.apply(NativeURL, arguments);\n  });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n  URL: URLConstructor\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n  var url = new URL('b?a=1&b=2&c=3', 'http://a');\n  var searchParams = url.searchParams;\n  var result = '';\n  url.pathname = 'c%20d';\n  searchParams.forEach(function (value, key) {\n    searchParams['delete']('b');\n    result += key + value;\n  });\n  return (IS_PURE && !url.toJSON)\n    || !searchParams.sort\n    || url.href !== 'http://a/c%20d?a=1&c=3'\n    || searchParams.get('c') !== '3'\n    || String(new URLSearchParams('?a=1')) !== 'a=1'\n    || !searchParams[ITERATOR]\n    // throws in Edge\n    || new URL('https://a@b').username !== 'a'\n    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n    // not punycoded in Edge\n    || new URL('http://тест').host !== 'xn--e1aybc'\n    // not escaped in Chrome 62-\n    || new URL('http://a#б').hash !== '#%D0%B1'\n    // fails in Chrome 66-\n    || result !== 'a1c3'\n    // throws in Safari\n    || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n  var output = [];\n  var counter = 0;\n  var length = string.length;\n  while (counter < length) {\n    var value = string.charCodeAt(counter++);\n    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n      // It's a high surrogate, and there is a next character.\n      var extra = string.charCodeAt(counter++);\n      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n      } else {\n        // It's an unmatched surrogate; only append this code unit, in case the\n        // next code unit is the high surrogate of a surrogate pair.\n        output.push(value);\n        counter--;\n      }\n    } else {\n      output.push(value);\n    }\n  }\n  return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n  //  0..25 map to ASCII a..z or A..Z\n  // 26..35 map to ASCII 0..9\n  return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n  var k = 0;\n  delta = firstTime ? floor(delta / damp) : delta >> 1;\n  delta += floor(delta / numPoints);\n  for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n    delta = floor(delta / baseMinusTMin);\n  }\n  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line  max-statements\nvar encode = function (input) {\n  var output = [];\n\n  // Convert the input in UCS-2 to an array of Unicode code points.\n  input = ucs2decode(input);\n\n  // Cache the length.\n  var inputLength = input.length;\n\n  // Initialize the state.\n  var n = initialN;\n  var delta = 0;\n  var bias = initialBias;\n  var i, currentValue;\n\n  // Handle the basic code points.\n  for (i = 0; i < input.length; i++) {\n    currentValue = input[i];\n    if (currentValue < 0x80) {\n      output.push(stringFromCharCode(currentValue));\n    }\n  }\n\n  var basicLength = output.length; // number of basic code points.\n  var handledCPCount = basicLength; // number of code points that have been handled;\n\n  // Finish the basic string with a delimiter unless it's empty.\n  if (basicLength) {\n    output.push(delimiter);\n  }\n\n  // Main encoding loop:\n  while (handledCPCount < inputLength) {\n    // All non-basic code points < n have been handled already. Find the next larger one:\n    var m = maxInt;\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue >= n && currentValue < m) {\n        m = currentValue;\n      }\n    }\n\n    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n    var handledCPCountPlusOne = handledCPCount + 1;\n    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n      throw RangeError(OVERFLOW_ERROR);\n    }\n\n    delta += (m - n) * handledCPCountPlusOne;\n    n = m;\n\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue < n && ++delta > maxInt) {\n        throw RangeError(OVERFLOW_ERROR);\n      }\n      if (currentValue == n) {\n        // Represent delta as a generalized variable-length integer.\n        var q = delta;\n        for (var k = base; /* no condition */; k += base) {\n          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n          if (q < t) break;\n          var qMinusT = q - t;\n          var baseMinusT = base - t;\n          output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n          q = floor(qMinusT / baseMinusT);\n        }\n\n        output.push(stringFromCharCode(digitToBasic(q)));\n        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n        delta = 0;\n        ++handledCPCount;\n      }\n    }\n\n    ++delta;\n    ++n;\n  }\n  return output.join('');\n};\n\nmodule.exports = function (input) {\n  var encoded = [];\n  var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n  var i, label;\n  for (i = 0; i < labels.length; i++) {\n    label = labels[i];\n    encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n  }\n  return encoded.join('.');\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n  try {\n    return decodeURIComponent(sequence);\n  } catch (error) {\n    return sequence;\n  }\n};\n\nvar deserialize = function (it) {\n  var result = it.replace(plus, ' ');\n  var bytes = 4;\n  try {\n    return decodeURIComponent(result);\n  } catch (error) {\n    while (bytes) {\n      result = result.replace(percentSequence(bytes--), percentDecode);\n    }\n    return result;\n  }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n  '!': '%21',\n  \"'\": '%27',\n  '(': '%28',\n  ')': '%29',\n  '~': '%7E',\n  '%20': '+'\n};\n\nvar replacer = function (match) {\n  return replace[match];\n};\n\nvar serialize = function (it) {\n  return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n  if (query) {\n    var attributes = query.split('&');\n    var index = 0;\n    var attribute, entry;\n    while (index < attributes.length) {\n      attribute = attributes[index++];\n      if (attribute.length) {\n        entry = attribute.split('=');\n        result.push({\n          key: deserialize(entry.shift()),\n          value: deserialize(entry.join('='))\n        });\n      }\n    }\n  }\n};\n\nvar updateSearchParams = function (query) {\n  this.entries.length = 0;\n  parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n  if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n  setInternalState(this, {\n    type: URL_SEARCH_PARAMS_ITERATOR,\n    iterator: getIterator(getInternalParamsState(params).entries),\n    kind: kind\n  });\n}, 'Iterator', function next() {\n  var state = getInternalIteratorState(this);\n  var kind = state.kind;\n  var step = state.iterator.next();\n  var entry = step.value;\n  if (!step.done) {\n    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n  } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n  anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n  var init = arguments.length > 0 ? arguments[0] : undefined;\n  var that = this;\n  var entries = [];\n  var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n  setInternalState(that, {\n    type: URL_SEARCH_PARAMS,\n    entries: entries,\n    updateURL: function () { /* empty */ },\n    updateSearchParams: updateSearchParams\n  });\n\n  if (init !== undefined) {\n    if (isObject(init)) {\n      iteratorMethod = getIteratorMethod(init);\n      if (typeof iteratorMethod === 'function') {\n        iterator = iteratorMethod.call(init);\n        next = iterator.next;\n        while (!(step = next.call(iterator)).done) {\n          entryIterator = getIterator(anObject(step.value));\n          entryNext = entryIterator.next;\n          if (\n            (first = entryNext.call(entryIterator)).done ||\n            (second = entryNext.call(entryIterator)).done ||\n            !entryNext.call(entryIterator).done\n          ) throw TypeError('Expected sequence with length 2');\n          entries.push({ key: first.value + '', value: second.value + '' });\n        }\n      } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n    } else {\n      parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n    }\n  }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n  // `URLSearchParams.prototype.appent` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n  append: function append(name, value) {\n    validateArgumentsLength(arguments.length, 2);\n    var state = getInternalParamsState(this);\n    state.entries.push({ key: name + '', value: value + '' });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.delete` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n  'delete': function (name) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index].key === key) entries.splice(index, 1);\n      else index++;\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.get` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n  get: function get(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) return entries[index].value;\n    }\n    return null;\n  },\n  // `URLSearchParams.prototype.getAll` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n  getAll: function getAll(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var result = [];\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) result.push(entries[index].value);\n    }\n    return result;\n  },\n  // `URLSearchParams.prototype.has` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n  has: function has(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index++].key === key) return true;\n    }\n    return false;\n  },\n  // `URLSearchParams.prototype.set` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n  set: function set(name, value) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var found = false;\n    var key = name + '';\n    var val = value + '';\n    var index = 0;\n    var entry;\n    for (; index < entries.length; index++) {\n      entry = entries[index];\n      if (entry.key === key) {\n        if (found) entries.splice(index--, 1);\n        else {\n          found = true;\n          entry.value = val;\n        }\n      }\n    }\n    if (!found) entries.push({ key: key, value: val });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.sort` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n  sort: function sort() {\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    // Array#sort is not stable in some engines\n    var slice = entries.slice();\n    var entry, entriesIndex, sliceIndex;\n    entries.length = 0;\n    for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n      entry = slice[sliceIndex];\n      for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n        if (entries[entriesIndex].key > entry.key) {\n          entries.splice(entriesIndex, 0, entry);\n          break;\n        }\n      }\n      if (entriesIndex === sliceIndex) entries.push(entry);\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.forEach` method\n  forEach: function forEach(callback /* , thisArg */) {\n    var entries = getInternalParamsState(this).entries;\n    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n    var index = 0;\n    var entry;\n    while (index < entries.length) {\n      entry = entries[index++];\n      boundFunction(entry.value, entry.key, this);\n    }\n  },\n  // `URLSearchParams.prototype.keys` method\n  keys: function keys() {\n    return new URLSearchParamsIterator(this, 'keys');\n  },\n  // `URLSearchParams.prototype.values` method\n  values: function values() {\n    return new URLSearchParamsIterator(this, 'values');\n  },\n  // `URLSearchParams.prototype.entries` method\n  entries: function entries() {\n    return new URLSearchParamsIterator(this, 'entries');\n  }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n  var entries = getInternalParamsState(this).entries;\n  var result = [];\n  var index = 0;\n  var entry;\n  while (index < entries.length) {\n    entry = entries[index++];\n    result.push(serialize(entry.key) + '=' + serialize(entry.value));\n  } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n  URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n  $({ global: true, enumerable: true, forced: true }, {\n    fetch: function fetch(input /* , init */) {\n      var args = [input];\n      var init, body, headers;\n      if (arguments.length > 1) {\n        init = arguments[1];\n        if (isObject(init)) {\n          body = init.body;\n          if (classof(body) === URL_SEARCH_PARAMS) {\n            headers = init.headers ? new Headers(init.headers) : new Headers();\n            if (!headers.has('content-type')) {\n              headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n            }\n            init = create(init, {\n              body: createPropertyDescriptor(0, String(body)),\n              headers: createPropertyDescriptor(0, headers)\n            });\n          }\n        }\n        args.push(init);\n      } return $fetch.apply(this, args);\n    }\n  });\n}\n\nmodule.exports = {\n  URLSearchParams: URLSearchParamsConstructor,\n  getState: getInternalParamsState\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n  var iteratorMethod = getIteratorMethod(it);\n  if (typeof iteratorMethod != 'function') {\n    throw TypeError(String(it) + ' is not iterable');\n  } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar $ = require('../internals/export');\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 URL.prototype.toString.call(this);\n  }\n});\n","/**\n * web-streams-polyfill v2.1.0\n */\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (global = global || self, factory(global.WebStreamsPolyfill = {}));\n}(this, (function (exports) { 'use strict';\n\n  /// <reference lib=\"es2015.symbol\" />\r\n  var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\r\n      Symbol :\r\n      function (description) { return \"Symbol(\" + description + \")\"; };\n\n  /// <reference lib=\"dom\" />\r\n  function noop() {\r\n      // do nothing\r\n  }\n\n  /// <reference lib=\"es2015.core\" />\r\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\r\n  var NumberIsNaN = Number.isNaN || function (x) {\r\n      // eslint-disable-next-line no-self-compare\r\n      return x !== x;\r\n  };\n\n  var rethrowAssertionErrorRejection =  noop;\n\n  function typeIsObject(x) {\r\n      return (typeof x === 'object' && x !== null) || typeof x === 'function';\r\n  }\r\n  function createArrayFromList(elements) {\r\n      // We use arrays to represent lists, so this is basically a no-op.\r\n      // Do a slice though just in case we happen to depend on the unique-ness.\r\n      return elements.slice();\r\n  }\r\n  function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\r\n      new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\r\n  }\r\n  function IsFiniteNonNegativeNumber(v) {\r\n      if (IsNonNegativeNumber(v) === false) {\r\n          return false;\r\n      }\r\n      if (v === Infinity) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsNonNegativeNumber(v) {\r\n      if (typeof v !== 'number') {\r\n          return false;\r\n      }\r\n      if (NumberIsNaN(v)) {\r\n          return false;\r\n      }\r\n      if (v < 0) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function Call(F, V, args) {\r\n      if (typeof F !== 'function') {\r\n          throw new TypeError('Argument is not a function');\r\n      }\r\n      return Function.prototype.apply.call(F, V, args);\r\n  }\r\n  function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\r\n      var method = underlyingObject[methodName];\r\n      if (method !== undefined) {\r\n          if (typeof method !== 'function') {\r\n              throw new TypeError(method + \" is not a method\");\r\n          }\r\n          switch (algoArgCount) {\r\n              case 0: {\r\n                  return function () {\r\n                      return PromiseCall(method, underlyingObject, extraArgs);\r\n                  };\r\n              }\r\n              case 1: {\r\n                  return function (arg) {\r\n                      var fullArgs = [arg].concat(extraArgs);\r\n                      return PromiseCall(method, underlyingObject, fullArgs);\r\n                  };\r\n              }\r\n          }\r\n      }\r\n      return function () { return promiseResolvedWith(undefined); };\r\n  }\r\n  function InvokeOrNoop(O, P, args) {\r\n      var method = O[P];\r\n      if (method === undefined) {\r\n          return undefined;\r\n      }\r\n      return Call(method, O, args);\r\n  }\r\n  function PromiseCall(F, V, args) {\r\n      try {\r\n          return promiseResolvedWith(Call(F, V, args));\r\n      }\r\n      catch (value) {\r\n          return promiseRejectedWith(value);\r\n      }\r\n  }\r\n  // Not implemented correctly\r\n  function TransferArrayBuffer(O) {\r\n      return O;\r\n  }\r\n  // Not implemented correctly\r\n  function IsDetachedBuffer(O) {\r\n      return false;\r\n  }\r\n  function ValidateAndNormalizeHighWaterMark(highWaterMark) {\r\n      highWaterMark = Number(highWaterMark);\r\n      if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\r\n          throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\r\n      }\r\n      return highWaterMark;\r\n  }\r\n  function MakeSizeAlgorithmFromSizeFunction(size) {\r\n      if (size === undefined) {\r\n          return function () { return 1; };\r\n      }\r\n      if (typeof size !== 'function') {\r\n          throw new TypeError('size property of a queuing strategy must be a function');\r\n      }\r\n      return function (chunk) { return size(chunk); };\r\n  }\r\n  var originalPromise = Promise;\r\n  var originalPromiseThen = Promise.prototype.then;\r\n  var originalPromiseResolve = Promise.resolve.bind(originalPromise);\r\n  var originalPromiseReject = Promise.reject.bind(originalPromise);\r\n  function newPromise(executor) {\r\n      return new originalPromise(executor);\r\n  }\r\n  function promiseResolvedWith(value) {\r\n      return originalPromiseResolve(value);\r\n  }\r\n  function promiseRejectedWith(reason) {\r\n      return originalPromiseReject(reason);\r\n  }\r\n  function PerformPromiseThen(promise, onFulfilled, onRejected) {\r\n      // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\r\n      // approximation.\r\n      return originalPromiseThen.call(promise, onFulfilled, onRejected);\r\n  }\r\n  function uponPromise(promise, onFulfilled, onRejected) {\r\n      PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\r\n  }\r\n  function uponFulfillment(promise, onFulfilled) {\r\n      uponPromise(promise, onFulfilled);\r\n  }\r\n  function uponRejection(promise, onRejected) {\r\n      uponPromise(promise, undefined, onRejected);\r\n  }\r\n  function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\r\n      return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\r\n  }\r\n  function setPromiseIsHandledToTrue(promise) {\r\n      PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\r\n  }\n\n  // Original from Chromium\r\n  // https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\r\n  var QUEUE_MAX_ARRAY_SIZE = 16384;\r\n  /**\r\n   * Simple queue structure.\r\n   *\r\n   * Avoids scalability issues with using a packed array directly by using\r\n   * multiple arrays in a linked list and keeping the array size bounded.\r\n   */\r\n  var SimpleQueue = /** @class */ (function () {\r\n      function SimpleQueue() {\r\n          this._cursor = 0;\r\n          this._size = 0;\r\n          // _front and _back are always defined.\r\n          this._front = {\r\n              _elements: [],\r\n              _next: undefined\r\n          };\r\n          this._back = this._front;\r\n          // The cursor is used to avoid calling Array.shift().\r\n          // It contains the index of the front element of the array inside the\r\n          // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\r\n          this._cursor = 0;\r\n          // When there is only one node, size === elements.length - cursor.\r\n          this._size = 0;\r\n      }\r\n      Object.defineProperty(SimpleQueue.prototype, \"length\", {\r\n          get: function () {\r\n              return this._size;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      // For exception safety, this method is structured in order:\r\n      // 1. Read state\r\n      // 2. Calculate required state mutations\r\n      // 3. Perform state mutations\r\n      SimpleQueue.prototype.push = function (element) {\r\n          var oldBack = this._back;\r\n          var newBack = oldBack;\r\n          if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\r\n              newBack = {\r\n                  _elements: [],\r\n                  _next: undefined\r\n              };\r\n          }\r\n          // push() is the mutation most likely to throw an exception, so it\r\n          // goes first.\r\n          oldBack._elements.push(element);\r\n          if (newBack !== oldBack) {\r\n              this._back = newBack;\r\n              oldBack._next = newBack;\r\n          }\r\n          ++this._size;\r\n      };\r\n      // Like push(), shift() follows the read -> calculate -> mutate pattern for\r\n      // exception safety.\r\n      SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\r\n          var oldFront = this._front;\r\n          var newFront = oldFront;\r\n          var oldCursor = this._cursor;\r\n          var newCursor = oldCursor + 1;\r\n          var elements = oldFront._elements;\r\n          var element = elements[oldCursor];\r\n          if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\r\n              newFront = oldFront._next;\r\n              newCursor = 0;\r\n          }\r\n          // No mutations before this point.\r\n          --this._size;\r\n          this._cursor = newCursor;\r\n          if (oldFront !== newFront) {\r\n              this._front = newFront;\r\n          }\r\n          // Permit shifted element to be garbage collected.\r\n          elements[oldCursor] = undefined;\r\n          return element;\r\n      };\r\n      // The tricky thing about forEach() is that it can be called\r\n      // re-entrantly. The queue may be mutated inside the callback. It is easy to\r\n      // see that push() within the callback has no negative effects since the end\r\n      // of the queue is checked for on every iteration. If shift() is called\r\n      // repeatedly within the callback then the next iteration may return an\r\n      // element that has been removed. In this case the callback will be called\r\n      // with undefined values until we either \"catch up\" with elements that still\r\n      // exist or reach the back of the queue.\r\n      SimpleQueue.prototype.forEach = function (callback) {\r\n          var i = this._cursor;\r\n          var node = this._front;\r\n          var elements = node._elements;\r\n          while (i !== elements.length || node._next !== undefined) {\r\n              if (i === elements.length) {\r\n                  node = node._next;\r\n                  elements = node._elements;\r\n                  i = 0;\r\n                  if (elements.length === 0) {\r\n                      break;\r\n                  }\r\n              }\r\n              callback(elements[i]);\r\n              ++i;\r\n          }\r\n      };\r\n      // Return the element that would be returned if shift() was called now,\r\n      // without modifying the queue.\r\n      SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\r\n          var front = this._front;\r\n          var cursor = this._cursor;\r\n          return front._elements[cursor];\r\n      };\r\n      return SimpleQueue;\r\n  }());\n\n  function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\r\n      var prototype = null;\r\n      if (forAuthorCode === true) {\r\n          prototype = Object.prototype;\r\n      }\r\n      var obj = Object.create(prototype);\r\n      obj.value = value;\r\n      obj.done = done;\r\n      return obj;\r\n  }\r\n  function ReadableStreamReaderGenericInitialize(reader, stream) {\r\n      reader._forAuthorCode = true;\r\n      reader._ownerReadableStream = stream;\r\n      stream._reader = reader;\r\n      if (stream._state === 'readable') {\r\n          defaultReaderClosedPromiseInitialize(reader);\r\n      }\r\n      else if (stream._state === 'closed') {\r\n          defaultReaderClosedPromiseInitializeAsResolved(reader);\r\n      }\r\n      else {\r\n          defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\r\n      }\r\n  }\r\n  // A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\r\n  // check.\r\n  function ReadableStreamReaderGenericCancel(reader, reason) {\r\n      var stream = reader._ownerReadableStream;\r\n      return ReadableStreamCancel(stream, reason);\r\n  }\r\n  function ReadableStreamReaderGenericRelease(reader) {\r\n      if (reader._ownerReadableStream._state === 'readable') {\r\n          defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n      }\r\n      else {\r\n          defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n      }\r\n      reader._ownerReadableStream._reader = undefined;\r\n      reader._ownerReadableStream = undefined;\r\n  }\r\n  // Helper functions for the readers.\r\n  function readerLockException(name) {\r\n      return new TypeError('Cannot ' + name + ' a stream using a released reader');\r\n  }\r\n  // Helper functions for the ReadableStreamDefaultReader.\r\n  function defaultReaderClosedPromiseInitialize(reader) {\r\n      reader._closedPromise = newPromise(function (resolve, reject) {\r\n          reader._closedPromise_resolve = resolve;\r\n          reader._closedPromise_reject = reject;\r\n      });\r\n  }\r\n  function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\r\n      defaultReaderClosedPromiseInitialize(reader);\r\n      defaultReaderClosedPromiseReject(reader, reason);\r\n  }\r\n  function defaultReaderClosedPromiseInitializeAsResolved(reader) {\r\n      defaultReaderClosedPromiseInitialize(reader);\r\n      defaultReaderClosedPromiseResolve(reader);\r\n  }\r\n  function defaultReaderClosedPromiseReject(reader, reason) {\r\n      setPromiseIsHandledToTrue(reader._closedPromise);\r\n      reader._closedPromise_reject(reason);\r\n      reader._closedPromise_resolve = undefined;\r\n      reader._closedPromise_reject = undefined;\r\n  }\r\n  function defaultReaderClosedPromiseResetToRejected(reader, reason) {\r\n      defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\r\n  }\r\n  function defaultReaderClosedPromiseResolve(reader) {\r\n      reader._closedPromise_resolve(undefined);\r\n      reader._closedPromise_resolve = undefined;\r\n      reader._closedPromise_reject = undefined;\r\n  }\n\n  var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\r\n  var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n  // Abstract operations for the ReadableStream.\r\n  function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\r\n      if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n      var reader = new ReadableStreamDefaultReader(stream);\r\n      reader._forAuthorCode = forAuthorCode;\r\n      return reader;\r\n  }\r\n  // ReadableStream API exposed for controllers.\r\n  function ReadableStreamAddReadRequest(stream) {\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var readRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._reader._readRequests.push(readRequest);\r\n      });\r\n      return promise;\r\n  }\r\n  function ReadableStreamFulfillReadRequest(stream, chunk, done) {\r\n      var reader = stream._reader;\r\n      var readRequest = reader._readRequests.shift();\r\n      readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n  }\r\n  function ReadableStreamGetNumReadRequests(stream) {\r\n      return stream._reader._readRequests.length;\r\n  }\r\n  function ReadableStreamHasDefaultReader(stream) {\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return false;\r\n      }\r\n      if (!IsReadableStreamDefaultReader(reader)) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  var ReadableStreamDefaultReader = /** @class */ (function () {\r\n      function ReadableStreamDefaultReader(stream) {\r\n          if (IsReadableStream(stream) === false) {\r\n              throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\r\n          }\r\n          if (IsReadableStreamLocked(stream) === true) {\r\n              throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n          }\r\n          ReadableStreamReaderGenericInitialize(this, stream);\r\n          this._readRequests = new SimpleQueue();\r\n      }\r\n      Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\r\n          get: function () {\r\n              if (!IsReadableStreamDefaultReader(this)) {\r\n                  return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\r\n              }\r\n              return this._closedPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamDefaultReader.prototype.cancel = function (reason) {\r\n          if (!IsReadableStreamDefaultReader(this)) {\r\n              return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('cancel'));\r\n          }\r\n          return ReadableStreamReaderGenericCancel(this, reason);\r\n      };\r\n      ReadableStreamDefaultReader.prototype.read = function () {\r\n          if (!IsReadableStreamDefaultReader(this)) {\r\n              return promiseRejectedWith(defaultReaderBrandCheckException('read'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('read from'));\r\n          }\r\n          return ReadableStreamDefaultReaderRead(this);\r\n      };\r\n      ReadableStreamDefaultReader.prototype.releaseLock = function () {\r\n          if (!IsReadableStreamDefaultReader(this)) {\r\n              throw defaultReaderBrandCheckException('releaseLock');\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return;\r\n          }\r\n          if (this._readRequests.length > 0) {\r\n              throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n          }\r\n          ReadableStreamReaderGenericRelease(this);\r\n      };\r\n      return ReadableStreamDefaultReader;\r\n  }());\r\n  // Abstract operations for the readers.\r\n  function IsReadableStreamDefaultReader(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamDefaultReaderRead(reader) {\r\n      var stream = reader._ownerReadableStream;\r\n      stream._disturbed = true;\r\n      if (stream._state === 'closed') {\r\n          return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n      }\r\n      if (stream._state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      return stream._readableStreamController[PullSteps]();\r\n  }\r\n  // Helper functions for the ReadableStreamDefaultReader.\r\n  function defaultReaderBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\r\n  }\n\n  /// <reference lib=\"es2018.asynciterable\" />\r\n  var _a;\r\n  var AsyncIteratorPrototype;\r\n  if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n      // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\r\n      // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\r\n      AsyncIteratorPrototype = (_a = {},\r\n          // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\r\n          // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\r\n          _a[SymbolPolyfill.asyncIterator] = function () {\r\n              return this;\r\n          },\r\n          _a);\r\n      Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\r\n  }\n\n  /// <reference lib=\"es2018.asynciterable\" />\r\n  var ReadableStreamAsyncIteratorPrototype = {\r\n      next: function () {\r\n          if (IsReadableStreamAsyncIterator(this) === false) {\r\n              return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\r\n          }\r\n          var reader = this._asyncIteratorReader;\r\n          if (reader._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('iterate'));\r\n          }\r\n          return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\r\n              var done = result.done;\r\n              if (done) {\r\n                  ReadableStreamReaderGenericRelease(reader);\r\n              }\r\n              var value = result.value;\r\n              return ReadableStreamCreateReadResult(value, done, true);\r\n          });\r\n      },\r\n      return: function (value) {\r\n          if (IsReadableStreamAsyncIterator(this) === false) {\r\n              return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\r\n          }\r\n          var reader = this._asyncIteratorReader;\r\n          if (reader._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('finish iterating'));\r\n          }\r\n          if (reader._readRequests.length > 0) {\r\n              return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\r\n          }\r\n          if (this._preventCancel === false) {\r\n              var result = ReadableStreamReaderGenericCancel(reader, value);\r\n              ReadableStreamReaderGenericRelease(reader);\r\n              return transformPromiseWith(result, function () { return ReadableStreamCreateReadResult(value, true, true); });\r\n          }\r\n          ReadableStreamReaderGenericRelease(reader);\r\n          return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\r\n      }\r\n  };\r\n  if (AsyncIteratorPrototype !== undefined) {\r\n      Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\r\n  }\r\n  Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\r\n  Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\r\n  // Abstract operations for the ReadableStream.\r\n  function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\r\n      if (preventCancel === void 0) { preventCancel = false; }\r\n      var reader = AcquireReadableStreamDefaultReader(stream);\r\n      var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\r\n      iterator._asyncIteratorReader = reader;\r\n      iterator._preventCancel = Boolean(preventCancel);\r\n      return iterator;\r\n  }\r\n  function IsReadableStreamAsyncIterator(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // Helper functions for the ReadableStream.\r\n  function streamAsyncIteratorBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\r\n  }\n\n  function DequeueValue(container) {\r\n      var pair = container._queue.shift();\r\n      container._queueTotalSize -= pair.size;\r\n      if (container._queueTotalSize < 0) {\r\n          container._queueTotalSize = 0;\r\n      }\r\n      return pair.value;\r\n  }\r\n  function EnqueueValueWithSize(container, value, size) {\r\n      size = Number(size);\r\n      if (!IsFiniteNonNegativeNumber(size)) {\r\n          throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\r\n      }\r\n      container._queue.push({ value: value, size: size });\r\n      container._queueTotalSize += size;\r\n  }\r\n  function PeekQueueValue(container) {\r\n      var pair = container._queue.peek();\r\n      return pair.value;\r\n  }\r\n  function ResetQueue(container) {\r\n      container._queue = new SimpleQueue();\r\n      container._queueTotalSize = 0;\r\n  }\n\n  var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\r\n  var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\r\n  var WritableStream = /** @class */ (function () {\r\n      function WritableStream(underlyingSink, strategy) {\r\n          if (underlyingSink === void 0) { underlyingSink = {}; }\r\n          if (strategy === void 0) { strategy = {}; }\r\n          InitializeWritableStream(this);\r\n          var size = strategy.size;\r\n          var highWaterMark = strategy.highWaterMark;\r\n          var type = underlyingSink.type;\r\n          if (type !== undefined) {\r\n              throw new RangeError('Invalid type is specified');\r\n          }\r\n          var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n          if (highWaterMark === undefined) {\r\n              highWaterMark = 1;\r\n          }\r\n          highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n          SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\r\n      }\r\n      Object.defineProperty(WritableStream.prototype, \"locked\", {\r\n          get: function () {\r\n              if (IsWritableStream(this) === false) {\r\n                  throw streamBrandCheckException('locked');\r\n              }\r\n              return IsWritableStreamLocked(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      WritableStream.prototype.abort = function (reason) {\r\n          if (IsWritableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException('abort'));\r\n          }\r\n          if (IsWritableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\r\n          }\r\n          return WritableStreamAbort(this, reason);\r\n      };\r\n      WritableStream.prototype.close = function () {\r\n          if (IsWritableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException('close'));\r\n          }\r\n          if (IsWritableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\r\n          }\r\n          if (WritableStreamCloseQueuedOrInFlight(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\r\n          }\r\n          return WritableStreamClose(this);\r\n      };\r\n      WritableStream.prototype.getWriter = function () {\r\n          if (IsWritableStream(this) === false) {\r\n              throw streamBrandCheckException('getWriter');\r\n          }\r\n          return AcquireWritableStreamDefaultWriter(this);\r\n      };\r\n      return WritableStream;\r\n  }());\r\n  // Abstract operations for the WritableStream.\r\n  function AcquireWritableStreamDefaultWriter(stream) {\r\n      return new WritableStreamDefaultWriter(stream);\r\n  }\r\n  // Throws if and only if startAlgorithm throws.\r\n  function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      if (highWaterMark === void 0) { highWaterMark = 1; }\r\n      if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n      var stream = Object.create(WritableStream.prototype);\r\n      InitializeWritableStream(stream);\r\n      var controller = Object.create(WritableStreamDefaultController.prototype);\r\n      SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n      return stream;\r\n  }\r\n  function InitializeWritableStream(stream) {\r\n      stream._state = 'writable';\r\n      // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\r\n      // 'erroring' or 'errored'. May be set to an undefined value.\r\n      stream._storedError = undefined;\r\n      stream._writer = undefined;\r\n      // Initialize to undefined first because the constructor of the controller checks this\r\n      // variable to validate the caller.\r\n      stream._writableStreamController = undefined;\r\n      // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\r\n      // producer without waiting for the queued writes to finish.\r\n      stream._writeRequests = new SimpleQueue();\r\n      // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\r\n      // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\r\n      stream._inFlightWriteRequest = undefined;\r\n      // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\r\n      // has been detached.\r\n      stream._closeRequest = undefined;\r\n      // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\r\n      // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\r\n      stream._inFlightCloseRequest = undefined;\r\n      // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\r\n      stream._pendingAbortRequest = undefined;\r\n      // The backpressure signal set by the controller.\r\n      stream._backpressure = false;\r\n  }\r\n  function IsWritableStream(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsWritableStreamLocked(stream) {\r\n      if (stream._writer === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function WritableStreamAbort(stream, reason) {\r\n      var state = stream._state;\r\n      if (state === 'closed' || state === 'errored') {\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      if (stream._pendingAbortRequest !== undefined) {\r\n          return stream._pendingAbortRequest._promise;\r\n      }\r\n      var wasAlreadyErroring = false;\r\n      if (state === 'erroring') {\r\n          wasAlreadyErroring = true;\r\n          // reason will not be used, so don't keep a reference to it.\r\n          reason = undefined;\r\n      }\r\n      var promise = newPromise(function (resolve, reject) {\r\n          stream._pendingAbortRequest = {\r\n              _promise: undefined,\r\n              _resolve: resolve,\r\n              _reject: reject,\r\n              _reason: reason,\r\n              _wasAlreadyErroring: wasAlreadyErroring\r\n          };\r\n      });\r\n      stream._pendingAbortRequest._promise = promise;\r\n      if (wasAlreadyErroring === false) {\r\n          WritableStreamStartErroring(stream, reason);\r\n      }\r\n      return promise;\r\n  }\r\n  function WritableStreamClose(stream) {\r\n      var state = stream._state;\r\n      if (state === 'closed' || state === 'errored') {\r\n          return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\r\n      }\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var closeRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._closeRequest = closeRequest;\r\n      });\r\n      var writer = stream._writer;\r\n      if (writer !== undefined && stream._backpressure === true && state === 'writable') {\r\n          defaultWriterReadyPromiseResolve(writer);\r\n      }\r\n      WritableStreamDefaultControllerClose(stream._writableStreamController);\r\n      return promise;\r\n  }\r\n  // WritableStream API exposed for controllers.\r\n  function WritableStreamAddWriteRequest(stream) {\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var writeRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._writeRequests.push(writeRequest);\r\n      });\r\n      return promise;\r\n  }\r\n  function WritableStreamDealWithRejection(stream, error) {\r\n      var state = stream._state;\r\n      if (state === 'writable') {\r\n          WritableStreamStartErroring(stream, error);\r\n          return;\r\n      }\r\n      WritableStreamFinishErroring(stream);\r\n  }\r\n  function WritableStreamStartErroring(stream, reason) {\r\n      var controller = stream._writableStreamController;\r\n      stream._state = 'erroring';\r\n      stream._storedError = reason;\r\n      var writer = stream._writer;\r\n      if (writer !== undefined) {\r\n          WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\r\n      }\r\n      if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\r\n          WritableStreamFinishErroring(stream);\r\n      }\r\n  }\r\n  function WritableStreamFinishErroring(stream) {\r\n      stream._state = 'errored';\r\n      stream._writableStreamController[ErrorSteps]();\r\n      var storedError = stream._storedError;\r\n      stream._writeRequests.forEach(function (writeRequest) {\r\n          writeRequest._reject(storedError);\r\n      });\r\n      stream._writeRequests = new SimpleQueue();\r\n      if (stream._pendingAbortRequest === undefined) {\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n          return;\r\n      }\r\n      var abortRequest = stream._pendingAbortRequest;\r\n      stream._pendingAbortRequest = undefined;\r\n      if (abortRequest._wasAlreadyErroring === true) {\r\n          abortRequest._reject(storedError);\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n          return;\r\n      }\r\n      var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\r\n      uponPromise(promise, function () {\r\n          abortRequest._resolve();\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n      }, function (reason) {\r\n          abortRequest._reject(reason);\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n      });\r\n  }\r\n  function WritableStreamFinishInFlightWrite(stream) {\r\n      stream._inFlightWriteRequest._resolve(undefined);\r\n      stream._inFlightWriteRequest = undefined;\r\n  }\r\n  function WritableStreamFinishInFlightWriteWithError(stream, error) {\r\n      stream._inFlightWriteRequest._reject(error);\r\n      stream._inFlightWriteRequest = undefined;\r\n      WritableStreamDealWithRejection(stream, error);\r\n  }\r\n  function WritableStreamFinishInFlightClose(stream) {\r\n      stream._inFlightCloseRequest._resolve(undefined);\r\n      stream._inFlightCloseRequest = undefined;\r\n      var state = stream._state;\r\n      if (state === 'erroring') {\r\n          // The error was too late to do anything, so it is ignored.\r\n          stream._storedError = undefined;\r\n          if (stream._pendingAbortRequest !== undefined) {\r\n              stream._pendingAbortRequest._resolve();\r\n              stream._pendingAbortRequest = undefined;\r\n          }\r\n      }\r\n      stream._state = 'closed';\r\n      var writer = stream._writer;\r\n      if (writer !== undefined) {\r\n          defaultWriterClosedPromiseResolve(writer);\r\n      }\r\n  }\r\n  function WritableStreamFinishInFlightCloseWithError(stream, error) {\r\n      stream._inFlightCloseRequest._reject(error);\r\n      stream._inFlightCloseRequest = undefined;\r\n      // Never execute sink abort() after sink close().\r\n      if (stream._pendingAbortRequest !== undefined) {\r\n          stream._pendingAbortRequest._reject(error);\r\n          stream._pendingAbortRequest = undefined;\r\n      }\r\n      WritableStreamDealWithRejection(stream, error);\r\n  }\r\n  // TODO(ricea): Fix alphabetical order.\r\n  function WritableStreamCloseQueuedOrInFlight(stream) {\r\n      if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function WritableStreamHasOperationMarkedInFlight(stream) {\r\n      if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function WritableStreamMarkCloseRequestInFlight(stream) {\r\n      stream._inFlightCloseRequest = stream._closeRequest;\r\n      stream._closeRequest = undefined;\r\n  }\r\n  function WritableStreamMarkFirstWriteRequestInFlight(stream) {\r\n      stream._inFlightWriteRequest = stream._writeRequests.shift();\r\n  }\r\n  function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\r\n      if (stream._closeRequest !== undefined) {\r\n          stream._closeRequest._reject(stream._storedError);\r\n          stream._closeRequest = undefined;\r\n      }\r\n      var writer = stream._writer;\r\n      if (writer !== undefined) {\r\n          defaultWriterClosedPromiseReject(writer, stream._storedError);\r\n      }\r\n  }\r\n  function WritableStreamUpdateBackpressure(stream, backpressure) {\r\n      var writer = stream._writer;\r\n      if (writer !== undefined && backpressure !== stream._backpressure) {\r\n          if (backpressure === true) {\r\n              defaultWriterReadyPromiseReset(writer);\r\n          }\r\n          else {\r\n              defaultWriterReadyPromiseResolve(writer);\r\n          }\r\n      }\r\n      stream._backpressure = backpressure;\r\n  }\r\n  var WritableStreamDefaultWriter = /** @class */ (function () {\r\n      function WritableStreamDefaultWriter(stream) {\r\n          if (IsWritableStream(stream) === false) {\r\n              throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\r\n          }\r\n          if (IsWritableStreamLocked(stream) === true) {\r\n              throw new TypeError('This stream has already been locked for exclusive writing by another writer');\r\n          }\r\n          this._ownerWritableStream = stream;\r\n          stream._writer = this;\r\n          var state = stream._state;\r\n          if (state === 'writable') {\r\n              if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\r\n                  defaultWriterReadyPromiseInitialize(this);\r\n              }\r\n              else {\r\n                  defaultWriterReadyPromiseInitializeAsResolved(this);\r\n              }\r\n              defaultWriterClosedPromiseInitialize(this);\r\n          }\r\n          else if (state === 'erroring') {\r\n              defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\r\n              defaultWriterClosedPromiseInitialize(this);\r\n          }\r\n          else if (state === 'closed') {\r\n              defaultWriterReadyPromiseInitializeAsResolved(this);\r\n              defaultWriterClosedPromiseInitializeAsResolved(this);\r\n          }\r\n          else {\r\n              var storedError = stream._storedError;\r\n              defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\r\n              defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\r\n          }\r\n      }\r\n      Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\r\n          get: function () {\r\n              if (IsWritableStreamDefaultWriter(this) === false) {\r\n                  return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\r\n              }\r\n              return this._closedPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsWritableStreamDefaultWriter(this) === false) {\r\n                  throw defaultWriterBrandCheckException('desiredSize');\r\n              }\r\n              if (this._ownerWritableStream === undefined) {\r\n                  throw defaultWriterLockException('desiredSize');\r\n              }\r\n              return WritableStreamDefaultWriterGetDesiredSize(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\r\n          get: function () {\r\n              if (IsWritableStreamDefaultWriter(this) === false) {\r\n                  return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\r\n              }\r\n              return this._readyPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      WritableStreamDefaultWriter.prototype.abort = function (reason) {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\r\n          }\r\n          if (this._ownerWritableStream === undefined) {\r\n              return promiseRejectedWith(defaultWriterLockException('abort'));\r\n          }\r\n          return WritableStreamDefaultWriterAbort(this, reason);\r\n      };\r\n      WritableStreamDefaultWriter.prototype.close = function () {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              return promiseRejectedWith(defaultWriterBrandCheckException('close'));\r\n          }\r\n          var stream = this._ownerWritableStream;\r\n          if (stream === undefined) {\r\n              return promiseRejectedWith(defaultWriterLockException('close'));\r\n          }\r\n          if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\r\n          }\r\n          return WritableStreamDefaultWriterClose(this);\r\n      };\r\n      WritableStreamDefaultWriter.prototype.releaseLock = function () {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              throw defaultWriterBrandCheckException('releaseLock');\r\n          }\r\n          var stream = this._ownerWritableStream;\r\n          if (stream === undefined) {\r\n              return;\r\n          }\r\n          WritableStreamDefaultWriterRelease(this);\r\n      };\r\n      WritableStreamDefaultWriter.prototype.write = function (chunk) {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              return promiseRejectedWith(defaultWriterBrandCheckException('write'));\r\n          }\r\n          if (this._ownerWritableStream === undefined) {\r\n              return promiseRejectedWith(defaultWriterLockException('write to'));\r\n          }\r\n          return WritableStreamDefaultWriterWrite(this, chunk);\r\n      };\r\n      return WritableStreamDefaultWriter;\r\n  }());\r\n  // Abstract operations for the WritableStreamDefaultWriter.\r\n  function IsWritableStreamDefaultWriter(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\r\n  function WritableStreamDefaultWriterAbort(writer, reason) {\r\n      var stream = writer._ownerWritableStream;\r\n      return WritableStreamAbort(stream, reason);\r\n  }\r\n  function WritableStreamDefaultWriterClose(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      return WritableStreamClose(stream);\r\n  }\r\n  function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      var state = stream._state;\r\n      if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      if (state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      return WritableStreamDefaultWriterClose(writer);\r\n  }\r\n  function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\r\n      if (writer._closedPromiseState === 'pending') {\r\n          defaultWriterClosedPromiseReject(writer, error);\r\n      }\r\n      else {\r\n          defaultWriterClosedPromiseResetToRejected(writer, error);\r\n      }\r\n  }\r\n  function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\r\n      if (writer._readyPromiseState === 'pending') {\r\n          defaultWriterReadyPromiseReject(writer, error);\r\n      }\r\n      else {\r\n          defaultWriterReadyPromiseResetToRejected(writer, error);\r\n      }\r\n  }\r\n  function WritableStreamDefaultWriterGetDesiredSize(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      var state = stream._state;\r\n      if (state === 'errored' || state === 'erroring') {\r\n          return null;\r\n      }\r\n      if (state === 'closed') {\r\n          return 0;\r\n      }\r\n      return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\r\n  }\r\n  function WritableStreamDefaultWriterRelease(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\r\n      WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\r\n      // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\r\n      // rejected until afterwards. This means that simply testing state will not work.\r\n      WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\r\n      stream._writer = undefined;\r\n      writer._ownerWritableStream = undefined;\r\n  }\r\n  function WritableStreamDefaultWriterWrite(writer, chunk) {\r\n      var stream = writer._ownerWritableStream;\r\n      var controller = stream._writableStreamController;\r\n      var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\r\n      if (stream !== writer._ownerWritableStream) {\r\n          return promiseRejectedWith(defaultWriterLockException('write to'));\r\n      }\r\n      var state = stream._state;\r\n      if (state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n          return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\r\n      }\r\n      if (state === 'erroring') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      var promise = WritableStreamAddWriteRequest(stream);\r\n      WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\r\n      return promise;\r\n  }\r\n  var WritableStreamDefaultController = /** @class */ (function () {\r\n      /** @internal */\r\n      function WritableStreamDefaultController() {\r\n          throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\r\n      }\r\n      WritableStreamDefaultController.prototype.error = function (e) {\r\n          if (IsWritableStreamDefaultController(this) === false) {\r\n              throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\r\n          }\r\n          var state = this._controlledWritableStream._state;\r\n          if (state !== 'writable') {\r\n              // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\r\n              // just treat it as a no-op.\r\n              return;\r\n          }\r\n          WritableStreamDefaultControllerError(this, e);\r\n      };\r\n      /** @internal */\r\n      WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\r\n          var result = this._abortAlgorithm(reason);\r\n          WritableStreamDefaultControllerClearAlgorithms(this);\r\n          return result;\r\n      };\r\n      /** @internal */\r\n      WritableStreamDefaultController.prototype[ErrorSteps] = function () {\r\n          ResetQueue(this);\r\n      };\r\n      return WritableStreamDefaultController;\r\n  }());\r\n  // Abstract operations implementing interface required by the WritableStream.\r\n  function IsWritableStreamDefaultController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      controller._controlledWritableStream = stream;\r\n      stream._writableStreamController = controller;\r\n      // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n      controller._queue = undefined;\r\n      controller._queueTotalSize = undefined;\r\n      ResetQueue(controller);\r\n      controller._started = false;\r\n      controller._strategySizeAlgorithm = sizeAlgorithm;\r\n      controller._strategyHWM = highWaterMark;\r\n      controller._writeAlgorithm = writeAlgorithm;\r\n      controller._closeAlgorithm = closeAlgorithm;\r\n      controller._abortAlgorithm = abortAlgorithm;\r\n      var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n      WritableStreamUpdateBackpressure(stream, backpressure);\r\n      var startResult = startAlgorithm();\r\n      var startPromise = promiseResolvedWith(startResult);\r\n      uponPromise(startPromise, function () {\r\n          controller._started = true;\r\n          WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n      }, function (r) {\r\n          controller._started = true;\r\n          WritableStreamDealWithRejection(stream, r);\r\n      });\r\n  }\r\n  function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\r\n      var controller = Object.create(WritableStreamDefaultController.prototype);\r\n      function startAlgorithm() {\r\n          return InvokeOrNoop(underlyingSink, 'start', [controller]);\r\n      }\r\n      var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\r\n      var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\r\n      var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\r\n      SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n  }\r\n  // ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\r\n  function WritableStreamDefaultControllerClearAlgorithms(controller) {\r\n      controller._writeAlgorithm = undefined;\r\n      controller._closeAlgorithm = undefined;\r\n      controller._abortAlgorithm = undefined;\r\n      controller._strategySizeAlgorithm = undefined;\r\n  }\r\n  function WritableStreamDefaultControllerClose(controller) {\r\n      EnqueueValueWithSize(controller, 'close', 0);\r\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n  }\r\n  function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\r\n      try {\r\n          return controller._strategySizeAlgorithm(chunk);\r\n      }\r\n      catch (chunkSizeE) {\r\n          WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\r\n          return 1;\r\n      }\r\n  }\r\n  function WritableStreamDefaultControllerGetDesiredSize(controller) {\r\n      return controller._strategyHWM - controller._queueTotalSize;\r\n  }\r\n  function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\r\n      var writeRecord = { chunk: chunk };\r\n      try {\r\n          EnqueueValueWithSize(controller, writeRecord, chunkSize);\r\n      }\r\n      catch (enqueueE) {\r\n          WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\r\n          return;\r\n      }\r\n      var stream = controller._controlledWritableStream;\r\n      if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\r\n          var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n          WritableStreamUpdateBackpressure(stream, backpressure);\r\n      }\r\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n  }\r\n  // Abstract operations for the WritableStreamDefaultController.\r\n  function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\r\n      var stream = controller._controlledWritableStream;\r\n      if (controller._started === false) {\r\n          return;\r\n      }\r\n      if (stream._inFlightWriteRequest !== undefined) {\r\n          return;\r\n      }\r\n      var state = stream._state;\r\n      if (state === 'erroring') {\r\n          WritableStreamFinishErroring(stream);\r\n          return;\r\n      }\r\n      if (controller._queue.length === 0) {\r\n          return;\r\n      }\r\n      var writeRecord = PeekQueueValue(controller);\r\n      if (writeRecord === 'close') {\r\n          WritableStreamDefaultControllerProcessClose(controller);\r\n      }\r\n      else {\r\n          WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\r\n      }\r\n  }\r\n  function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\r\n      if (controller._controlledWritableStream._state === 'writable') {\r\n          WritableStreamDefaultControllerError(controller, error);\r\n      }\r\n  }\r\n  function WritableStreamDefaultControllerProcessClose(controller) {\r\n      var stream = controller._controlledWritableStream;\r\n      WritableStreamMarkCloseRequestInFlight(stream);\r\n      DequeueValue(controller);\r\n      var sinkClosePromise = controller._closeAlgorithm();\r\n      WritableStreamDefaultControllerClearAlgorithms(controller);\r\n      uponPromise(sinkClosePromise, function () {\r\n          WritableStreamFinishInFlightClose(stream);\r\n      }, function (reason) {\r\n          WritableStreamFinishInFlightCloseWithError(stream, reason);\r\n      });\r\n  }\r\n  function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\r\n      var stream = controller._controlledWritableStream;\r\n      WritableStreamMarkFirstWriteRequestInFlight(stream);\r\n      var sinkWritePromise = controller._writeAlgorithm(chunk);\r\n      uponPromise(sinkWritePromise, function () {\r\n          WritableStreamFinishInFlightWrite(stream);\r\n          var state = stream._state;\r\n          DequeueValue(controller);\r\n          if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\r\n              var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n              WritableStreamUpdateBackpressure(stream, backpressure);\r\n          }\r\n          WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n      }, function (reason) {\r\n          if (stream._state === 'writable') {\r\n              WritableStreamDefaultControllerClearAlgorithms(controller);\r\n          }\r\n          WritableStreamFinishInFlightWriteWithError(stream, reason);\r\n      });\r\n  }\r\n  function WritableStreamDefaultControllerGetBackpressure(controller) {\r\n      var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\r\n      return desiredSize <= 0;\r\n  }\r\n  // A client of WritableStreamDefaultController may use these functions directly to bypass state check.\r\n  function WritableStreamDefaultControllerError(controller, error) {\r\n      var stream = controller._controlledWritableStream;\r\n      WritableStreamDefaultControllerClearAlgorithms(controller);\r\n      WritableStreamStartErroring(stream, error);\r\n  }\r\n  // Helper functions for the WritableStream.\r\n  function streamBrandCheckException(name) {\r\n      return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\r\n  }\r\n  // Helper functions for the WritableStreamDefaultWriter.\r\n  function defaultWriterBrandCheckException(name) {\r\n      return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\r\n  }\r\n  function defaultWriterLockException(name) {\r\n      return new TypeError('Cannot ' + name + ' a stream using a released writer');\r\n  }\r\n  function defaultWriterClosedPromiseInitialize(writer) {\r\n      writer._closedPromise = newPromise(function (resolve, reject) {\r\n          writer._closedPromise_resolve = resolve;\r\n          writer._closedPromise_reject = reject;\r\n          writer._closedPromiseState = 'pending';\r\n      });\r\n  }\r\n  function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\r\n      defaultWriterClosedPromiseInitialize(writer);\r\n      defaultWriterClosedPromiseReject(writer, reason);\r\n  }\r\n  function defaultWriterClosedPromiseInitializeAsResolved(writer) {\r\n      defaultWriterClosedPromiseInitialize(writer);\r\n      defaultWriterClosedPromiseResolve(writer);\r\n  }\r\n  function defaultWriterClosedPromiseReject(writer, reason) {\r\n      setPromiseIsHandledToTrue(writer._closedPromise);\r\n      writer._closedPromise_reject(reason);\r\n      writer._closedPromise_resolve = undefined;\r\n      writer._closedPromise_reject = undefined;\r\n      writer._closedPromiseState = 'rejected';\r\n  }\r\n  function defaultWriterClosedPromiseResetToRejected(writer, reason) {\r\n      defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\r\n  }\r\n  function defaultWriterClosedPromiseResolve(writer) {\r\n      writer._closedPromise_resolve(undefined);\r\n      writer._closedPromise_resolve = undefined;\r\n      writer._closedPromise_reject = undefined;\r\n      writer._closedPromiseState = 'resolved';\r\n  }\r\n  function defaultWriterReadyPromiseInitialize(writer) {\r\n      writer._readyPromise = newPromise(function (resolve, reject) {\r\n          writer._readyPromise_resolve = resolve;\r\n          writer._readyPromise_reject = reject;\r\n      });\r\n      writer._readyPromiseState = 'pending';\r\n  }\r\n  function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\r\n      defaultWriterReadyPromiseInitialize(writer);\r\n      defaultWriterReadyPromiseReject(writer, reason);\r\n  }\r\n  function defaultWriterReadyPromiseInitializeAsResolved(writer) {\r\n      defaultWriterReadyPromiseInitialize(writer);\r\n      defaultWriterReadyPromiseResolve(writer);\r\n  }\r\n  function defaultWriterReadyPromiseReject(writer, reason) {\r\n      setPromiseIsHandledToTrue(writer._readyPromise);\r\n      writer._readyPromise_reject(reason);\r\n      writer._readyPromise_resolve = undefined;\r\n      writer._readyPromise_reject = undefined;\r\n      writer._readyPromiseState = 'rejected';\r\n  }\r\n  function defaultWriterReadyPromiseReset(writer) {\r\n      defaultWriterReadyPromiseInitialize(writer);\r\n  }\r\n  function defaultWriterReadyPromiseResetToRejected(writer, reason) {\r\n      defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\r\n  }\r\n  function defaultWriterReadyPromiseResolve(writer) {\r\n      writer._readyPromise_resolve(undefined);\r\n      writer._readyPromise_resolve = undefined;\r\n      writer._readyPromise_reject = undefined;\r\n      writer._readyPromiseState = 'fulfilled';\r\n  }\n\n  function isAbortSignal(value) {\r\n      if (typeof value !== 'object' || value === null) {\r\n          return false;\r\n      }\r\n      try {\r\n          return typeof value.aborted === 'boolean';\r\n      }\r\n      catch (_a) {\r\n          // AbortSignal.prototype.aborted throws if its brand check fails\r\n          return false;\r\n      }\r\n  }\n\n  /// <reference lib=\"dom\" />\r\n  var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n  /// <reference types=\"node\" />\r\n  function isDOMExceptionConstructor(ctor) {\r\n      if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\r\n          return false;\r\n      }\r\n      try {\r\n          new ctor();\r\n          return true;\r\n      }\r\n      catch (_a) {\r\n          return false;\r\n      }\r\n  }\r\n  function createDOMExceptionPolyfill() {\r\n      var ctor = function DOMException(message, name) {\r\n          this.message = message || '';\r\n          this.name = name || 'Error';\r\n          if (Error.captureStackTrace) {\r\n              Error.captureStackTrace(this, this.constructor);\r\n          }\r\n      };\r\n      ctor.prototype = Object.create(Error.prototype);\r\n      Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\r\n      return ctor;\r\n  }\r\n  var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\n  function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\r\n      var reader = AcquireReadableStreamDefaultReader(source);\r\n      var writer = AcquireWritableStreamDefaultWriter(dest);\r\n      source._disturbed = true;\r\n      var shuttingDown = false;\r\n      // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\r\n      var currentWrite = promiseResolvedWith(undefined);\r\n      return newPromise(function (resolve, reject) {\r\n          var abortAlgorithm;\r\n          if (signal !== undefined) {\r\n              abortAlgorithm = function () {\r\n                  var error = new DOMException$1('Aborted', 'AbortError');\r\n                  var actions = [];\r\n                  if (preventAbort === false) {\r\n                      actions.push(function () {\r\n                          if (dest._state === 'writable') {\r\n                              return WritableStreamAbort(dest, error);\r\n                          }\r\n                          return promiseResolvedWith(undefined);\r\n                      });\r\n                  }\r\n                  if (preventCancel === false) {\r\n                      actions.push(function () {\r\n                          if (source._state === 'readable') {\r\n                              return ReadableStreamCancel(source, error);\r\n                          }\r\n                          return promiseResolvedWith(undefined);\r\n                      });\r\n                  }\r\n                  shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\r\n              };\r\n              if (signal.aborted === true) {\r\n                  abortAlgorithm();\r\n                  return;\r\n              }\r\n              signal.addEventListener('abort', abortAlgorithm);\r\n          }\r\n          // Using reader and writer, read all chunks from this and write them to dest\r\n          // - Backpressure must be enforced\r\n          // - Shutdown must stop all activity\r\n          function pipeLoop() {\r\n              return newPromise(function (resolveLoop, rejectLoop) {\r\n                  function next(done) {\r\n                      if (done) {\r\n                          resolveLoop();\r\n                      }\r\n                      else {\r\n                          // Use `PerformPromiseThen` instead of `uponPromise` to avoid\r\n                          // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\r\n                          PerformPromiseThen(pipeStep(), next, rejectLoop);\r\n                      }\r\n                  }\r\n                  next(false);\r\n              });\r\n          }\r\n          function pipeStep() {\r\n              if (shuttingDown === true) {\r\n                  return promiseResolvedWith(true);\r\n              }\r\n              return PerformPromiseThen(writer._readyPromise, function () {\r\n                  return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) {\r\n                      var value = _a.value, done = _a.done;\r\n                      if (done === true) {\r\n                          return true;\r\n                      }\r\n                      currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop);\r\n                      return false;\r\n                  });\r\n              });\r\n          }\r\n          // Errors must be propagated forward\r\n          isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\r\n              if (preventAbort === false) {\r\n                  shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\r\n              }\r\n              else {\r\n                  shutdown(true, storedError);\r\n              }\r\n          });\r\n          // Errors must be propagated backward\r\n          isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\r\n              if (preventCancel === false) {\r\n                  shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\r\n              }\r\n              else {\r\n                  shutdown(true, storedError);\r\n              }\r\n          });\r\n          // Closing must be propagated forward\r\n          isOrBecomesClosed(source, reader._closedPromise, function () {\r\n              if (preventClose === false) {\r\n                  shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\r\n              }\r\n              else {\r\n                  shutdown();\r\n              }\r\n          });\r\n          // Closing must be propagated backward\r\n          if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\r\n              var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\r\n              if (preventCancel === false) {\r\n                  shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\r\n              }\r\n              else {\r\n                  shutdown(true, destClosed_1);\r\n              }\r\n          }\r\n          setPromiseIsHandledToTrue(pipeLoop());\r\n          function waitForWritesToFinish() {\r\n              // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\r\n              // for that too.\r\n              var oldCurrentWrite = currentWrite;\r\n              return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\r\n          }\r\n          function isOrBecomesErrored(stream, promise, action) {\r\n              if (stream._state === 'errored') {\r\n                  action(stream._storedError);\r\n              }\r\n              else {\r\n                  uponRejection(promise, action);\r\n              }\r\n          }\r\n          function isOrBecomesClosed(stream, promise, action) {\r\n              if (stream._state === 'closed') {\r\n                  action();\r\n              }\r\n              else {\r\n                  uponFulfillment(promise, action);\r\n              }\r\n          }\r\n          function shutdownWithAction(action, originalIsError, originalError) {\r\n              if (shuttingDown === true) {\r\n                  return;\r\n              }\r\n              shuttingDown = true;\r\n              if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n                  uponFulfillment(waitForWritesToFinish(), doTheRest);\r\n              }\r\n              else {\r\n                  doTheRest();\r\n              }\r\n              function doTheRest() {\r\n                  uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\r\n              }\r\n          }\r\n          function shutdown(isError, error) {\r\n              if (shuttingDown === true) {\r\n                  return;\r\n              }\r\n              shuttingDown = true;\r\n              if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n                  uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\r\n              }\r\n              else {\r\n                  finalize(isError, error);\r\n              }\r\n          }\r\n          function finalize(isError, error) {\r\n              WritableStreamDefaultWriterRelease(writer);\r\n              ReadableStreamReaderGenericRelease(reader);\r\n              if (signal !== undefined) {\r\n                  signal.removeEventListener('abort', abortAlgorithm);\r\n              }\r\n              if (isError) {\r\n                  reject(error);\r\n              }\r\n              else {\r\n                  resolve(undefined);\r\n              }\r\n          }\r\n      });\r\n  }\n\n  var ReadableStreamDefaultController = /** @class */ (function () {\r\n      /** @internal */\r\n      function ReadableStreamDefaultController() {\r\n          throw new TypeError();\r\n      }\r\n      Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsReadableStreamDefaultController(this) === false) {\r\n                  throw defaultControllerBrandCheckException('desiredSize');\r\n              }\r\n              return ReadableStreamDefaultControllerGetDesiredSize(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamDefaultController.prototype.close = function () {\r\n          if (IsReadableStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException('close');\r\n          }\r\n          if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n              throw new TypeError('The stream is not in a state that permits close');\r\n          }\r\n          ReadableStreamDefaultControllerClose(this);\r\n      };\r\n      ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\r\n          if (IsReadableStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException('enqueue');\r\n          }\r\n          if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n              throw new TypeError('The stream is not in a state that permits enqueue');\r\n          }\r\n          return ReadableStreamDefaultControllerEnqueue(this, chunk);\r\n      };\r\n      ReadableStreamDefaultController.prototype.error = function (e) {\r\n          if (IsReadableStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException('error');\r\n          }\r\n          ReadableStreamDefaultControllerError(this, e);\r\n      };\r\n      /** @internal */\r\n      ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\r\n          ResetQueue(this);\r\n          var result = this._cancelAlgorithm(reason);\r\n          ReadableStreamDefaultControllerClearAlgorithms(this);\r\n          return result;\r\n      };\r\n      /** @internal */\r\n      ReadableStreamDefaultController.prototype[PullSteps] = function () {\r\n          var stream = this._controlledReadableStream;\r\n          if (this._queue.length > 0) {\r\n              var chunk = DequeueValue(this);\r\n              if (this._closeRequested === true && this._queue.length === 0) {\r\n                  ReadableStreamDefaultControllerClearAlgorithms(this);\r\n                  ReadableStreamClose(stream);\r\n              }\r\n              else {\r\n                  ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n              }\r\n              return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\r\n          }\r\n          var pendingPromise = ReadableStreamAddReadRequest(stream);\r\n          ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n          return pendingPromise;\r\n      };\r\n      return ReadableStreamDefaultController;\r\n  }());\r\n  // Abstract operations for the ReadableStreamDefaultController.\r\n  function IsReadableStreamDefaultController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\r\n      var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\r\n      if (shouldPull === false) {\r\n          return;\r\n      }\r\n      if (controller._pulling === true) {\r\n          controller._pullAgain = true;\r\n          return;\r\n      }\r\n      controller._pulling = true;\r\n      var pullPromise = controller._pullAlgorithm();\r\n      uponPromise(pullPromise, function () {\r\n          controller._pulling = false;\r\n          if (controller._pullAgain === true) {\r\n              controller._pullAgain = false;\r\n              ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n          }\r\n      }, function (e) {\r\n          ReadableStreamDefaultControllerError(controller, e);\r\n      });\r\n  }\r\n  function ReadableStreamDefaultControllerShouldCallPull(controller) {\r\n      var stream = controller._controlledReadableStream;\r\n      if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\r\n          return false;\r\n      }\r\n      if (controller._started === false) {\r\n          return false;\r\n      }\r\n      if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n          return true;\r\n      }\r\n      var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\r\n      if (desiredSize > 0) {\r\n          return true;\r\n      }\r\n      return false;\r\n  }\r\n  function ReadableStreamDefaultControllerClearAlgorithms(controller) {\r\n      controller._pullAlgorithm = undefined;\r\n      controller._cancelAlgorithm = undefined;\r\n      controller._strategySizeAlgorithm = undefined;\r\n  }\r\n  // A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\r\n  function ReadableStreamDefaultControllerClose(controller) {\r\n      var stream = controller._controlledReadableStream;\r\n      controller._closeRequested = true;\r\n      if (controller._queue.length === 0) {\r\n          ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n          ReadableStreamClose(stream);\r\n      }\r\n  }\r\n  function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\r\n      var stream = controller._controlledReadableStream;\r\n      if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n          ReadableStreamFulfillReadRequest(stream, chunk, false);\r\n      }\r\n      else {\r\n          var chunkSize = void 0;\r\n          try {\r\n              chunkSize = controller._strategySizeAlgorithm(chunk);\r\n          }\r\n          catch (chunkSizeE) {\r\n              ReadableStreamDefaultControllerError(controller, chunkSizeE);\r\n              throw chunkSizeE;\r\n          }\r\n          try {\r\n              EnqueueValueWithSize(controller, chunk, chunkSize);\r\n          }\r\n          catch (enqueueE) {\r\n              ReadableStreamDefaultControllerError(controller, enqueueE);\r\n              throw enqueueE;\r\n          }\r\n      }\r\n      ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n  }\r\n  function ReadableStreamDefaultControllerError(controller, e) {\r\n      var stream = controller._controlledReadableStream;\r\n      if (stream._state !== 'readable') {\r\n          return;\r\n      }\r\n      ResetQueue(controller);\r\n      ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n      ReadableStreamError(stream, e);\r\n  }\r\n  function ReadableStreamDefaultControllerGetDesiredSize(controller) {\r\n      var stream = controller._controlledReadableStream;\r\n      var state = stream._state;\r\n      if (state === 'errored') {\r\n          return null;\r\n      }\r\n      if (state === 'closed') {\r\n          return 0;\r\n      }\r\n      return controller._strategyHWM - controller._queueTotalSize;\r\n  }\r\n  // This is used in the implementation of TransformStream.\r\n  function ReadableStreamDefaultControllerHasBackpressure(controller) {\r\n      if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\r\n      var state = controller._controlledReadableStream._state;\r\n      if (controller._closeRequested === false && state === 'readable') {\r\n          return true;\r\n      }\r\n      return false;\r\n  }\r\n  function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      controller._controlledReadableStream = stream;\r\n      controller._queue = undefined;\r\n      controller._queueTotalSize = undefined;\r\n      ResetQueue(controller);\r\n      controller._started = false;\r\n      controller._closeRequested = false;\r\n      controller._pullAgain = false;\r\n      controller._pulling = false;\r\n      controller._strategySizeAlgorithm = sizeAlgorithm;\r\n      controller._strategyHWM = highWaterMark;\r\n      controller._pullAlgorithm = pullAlgorithm;\r\n      controller._cancelAlgorithm = cancelAlgorithm;\r\n      stream._readableStreamController = controller;\r\n      var startResult = startAlgorithm();\r\n      uponPromise(promiseResolvedWith(startResult), function () {\r\n          controller._started = true;\r\n          ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n      }, function (r) {\r\n          ReadableStreamDefaultControllerError(controller, r);\r\n      });\r\n  }\r\n  function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\r\n      var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n      function startAlgorithm() {\r\n          return InvokeOrNoop(underlyingSource, 'start', [controller]);\r\n      }\r\n      var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\r\n      var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\r\n      SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n  }\r\n  // Helper functions for the ReadableStreamDefaultController.\r\n  function defaultControllerBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\r\n  }\n\n  function ReadableStreamTee(stream, cloneForBranch2) {\r\n      var reader = AcquireReadableStreamDefaultReader(stream);\r\n      var reading = false;\r\n      var canceled1 = false;\r\n      var canceled2 = false;\r\n      var reason1;\r\n      var reason2;\r\n      var branch1;\r\n      var branch2;\r\n      var resolveCancelPromise;\r\n      var cancelPromise = newPromise(function (resolve) {\r\n          resolveCancelPromise = resolve;\r\n      });\r\n      function pullAlgorithm() {\r\n          if (reading === true) {\r\n              return promiseResolvedWith(undefined);\r\n          }\r\n          reading = true;\r\n          var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\r\n              reading = false;\r\n              var done = result.done;\r\n              if (done === true) {\r\n                  if (canceled1 === false) {\r\n                      ReadableStreamDefaultControllerClose(branch1._readableStreamController);\r\n                  }\r\n                  if (canceled2 === false) {\r\n                      ReadableStreamDefaultControllerClose(branch2._readableStreamController);\r\n                  }\r\n                  return;\r\n              }\r\n              var value = result.value;\r\n              var value1 = value;\r\n              var value2 = value;\r\n              // There is no way to access the cloning code right now in the reference implementation.\r\n              // If we add one then we'll need an implementation for serializable objects.\r\n              // if (canceled2 === false && cloneForBranch2 === true) {\r\n              //   value2 = StructuredDeserialize(StructuredSerialize(value2));\r\n              // }\r\n              if (canceled1 === false) {\r\n                  ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\r\n              }\r\n              if (canceled2 === false) {\r\n                  ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\r\n              }\r\n          });\r\n          setPromiseIsHandledToTrue(readPromise);\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      function cancel1Algorithm(reason) {\r\n          canceled1 = true;\r\n          reason1 = reason;\r\n          if (canceled2 === true) {\r\n              var compositeReason = createArrayFromList([reason1, reason2]);\r\n              var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n              resolveCancelPromise(cancelResult);\r\n          }\r\n          return cancelPromise;\r\n      }\r\n      function cancel2Algorithm(reason) {\r\n          canceled2 = true;\r\n          reason2 = reason;\r\n          if (canceled1 === true) {\r\n              var compositeReason = createArrayFromList([reason1, reason2]);\r\n              var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n              resolveCancelPromise(cancelResult);\r\n          }\r\n          return cancelPromise;\r\n      }\r\n      function startAlgorithm() { }\r\n      branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\r\n      branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\r\n      uponRejection(reader._closedPromise, function (r) {\r\n          ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\r\n          ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\r\n      });\r\n      return [branch1, branch2];\r\n  }\n\n  /// <reference lib=\"es2015.core\" />\r\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\r\n  var NumberIsInteger = Number.isInteger || function (value) {\r\n      return typeof value === 'number' &&\r\n          isFinite(value) &&\r\n          Math.floor(value) === value;\r\n  };\n\n  var ReadableStreamBYOBRequest = /** @class */ (function () {\r\n      /** @internal */\r\n      function ReadableStreamBYOBRequest() {\r\n          throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\r\n      }\r\n      Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\r\n          get: function () {\r\n              if (IsReadableStreamBYOBRequest(this) === false) {\r\n                  throw byobRequestBrandCheckException('view');\r\n              }\r\n              return this._view;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\r\n          if (IsReadableStreamBYOBRequest(this) === false) {\r\n              throw byobRequestBrandCheckException('respond');\r\n          }\r\n          if (this._associatedReadableByteStreamController === undefined) {\r\n              throw new TypeError('This BYOB request has been invalidated');\r\n          }\r\n          if (IsDetachedBuffer(this._view.buffer) === true) ;\r\n          ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\r\n      };\r\n      ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\r\n          if (IsReadableStreamBYOBRequest(this) === false) {\r\n              throw byobRequestBrandCheckException('respond');\r\n          }\r\n          if (this._associatedReadableByteStreamController === undefined) {\r\n              throw new TypeError('This BYOB request has been invalidated');\r\n          }\r\n          if (!ArrayBuffer.isView(view)) {\r\n              throw new TypeError('You can only respond with array buffer views');\r\n          }\r\n          if (IsDetachedBuffer(view.buffer) === true) ;\r\n          ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\r\n      };\r\n      return ReadableStreamBYOBRequest;\r\n  }());\r\n  var ReadableByteStreamController = /** @class */ (function () {\r\n      /** @internal */\r\n      function ReadableByteStreamController() {\r\n          throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\r\n      }\r\n      Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\r\n          get: function () {\r\n              if (IsReadableByteStreamController(this) === false) {\r\n                  throw byteStreamControllerBrandCheckException('byobRequest');\r\n              }\r\n              if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\r\n                  var firstDescriptor = this._pendingPullIntos.peek();\r\n                  var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\r\n                  var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\r\n                  SetUpReadableStreamBYOBRequest(byobRequest, this, view);\r\n                  this._byobRequest = byobRequest;\r\n              }\r\n              return this._byobRequest;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsReadableByteStreamController(this) === false) {\r\n                  throw byteStreamControllerBrandCheckException('desiredSize');\r\n              }\r\n              return ReadableByteStreamControllerGetDesiredSize(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableByteStreamController.prototype.close = function () {\r\n          if (IsReadableByteStreamController(this) === false) {\r\n              throw byteStreamControllerBrandCheckException('close');\r\n          }\r\n          if (this._closeRequested === true) {\r\n              throw new TypeError('The stream has already been closed; do not close it again!');\r\n          }\r\n          var state = this._controlledReadableByteStream._state;\r\n          if (state !== 'readable') {\r\n              throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\r\n          }\r\n          ReadableByteStreamControllerClose(this);\r\n      };\r\n      ReadableByteStreamController.prototype.enqueue = function (chunk) {\r\n          if (IsReadableByteStreamController(this) === false) {\r\n              throw byteStreamControllerBrandCheckException('enqueue');\r\n          }\r\n          if (this._closeRequested === true) {\r\n              throw new TypeError('stream is closed or draining');\r\n          }\r\n          var state = this._controlledReadableByteStream._state;\r\n          if (state !== 'readable') {\r\n              throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\r\n          }\r\n          if (!ArrayBuffer.isView(chunk)) {\r\n              throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\r\n          }\r\n          if (IsDetachedBuffer(chunk.buffer) === true) ;\r\n          ReadableByteStreamControllerEnqueue(this, chunk);\r\n      };\r\n      ReadableByteStreamController.prototype.error = function (e) {\r\n          if (IsReadableByteStreamController(this) === false) {\r\n              throw byteStreamControllerBrandCheckException('error');\r\n          }\r\n          ReadableByteStreamControllerError(this, e);\r\n      };\r\n      /** @internal */\r\n      ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\r\n          if (this._pendingPullIntos.length > 0) {\r\n              var firstDescriptor = this._pendingPullIntos.peek();\r\n              firstDescriptor.bytesFilled = 0;\r\n          }\r\n          ResetQueue(this);\r\n          var result = this._cancelAlgorithm(reason);\r\n          ReadableByteStreamControllerClearAlgorithms(this);\r\n          return result;\r\n      };\r\n      /** @internal */\r\n      ReadableByteStreamController.prototype[PullSteps] = function () {\r\n          var stream = this._controlledReadableByteStream;\r\n          if (this._queueTotalSize > 0) {\r\n              var entry = this._queue.shift();\r\n              this._queueTotalSize -= entry.byteLength;\r\n              ReadableByteStreamControllerHandleQueueDrain(this);\r\n              var view = void 0;\r\n              try {\r\n                  view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\r\n              }\r\n              catch (viewE) {\r\n                  return promiseRejectedWith(viewE);\r\n              }\r\n              return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\r\n          }\r\n          var autoAllocateChunkSize = this._autoAllocateChunkSize;\r\n          if (autoAllocateChunkSize !== undefined) {\r\n              var buffer = void 0;\r\n              try {\r\n                  buffer = new ArrayBuffer(autoAllocateChunkSize);\r\n              }\r\n              catch (bufferE) {\r\n                  return promiseRejectedWith(bufferE);\r\n              }\r\n              var pullIntoDescriptor = {\r\n                  buffer: buffer,\r\n                  byteOffset: 0,\r\n                  byteLength: autoAllocateChunkSize,\r\n                  bytesFilled: 0,\r\n                  elementSize: 1,\r\n                  ctor: Uint8Array,\r\n                  readerType: 'default'\r\n              };\r\n              this._pendingPullIntos.push(pullIntoDescriptor);\r\n          }\r\n          var promise = ReadableStreamAddReadRequest(stream);\r\n          ReadableByteStreamControllerCallPullIfNeeded(this);\r\n          return promise;\r\n      };\r\n      return ReadableByteStreamController;\r\n  }());\r\n  // Abstract operations for the ReadableByteStreamController.\r\n  function IsReadableByteStreamController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsReadableStreamBYOBRequest(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableByteStreamControllerCallPullIfNeeded(controller) {\r\n      var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\r\n      if (shouldPull === false) {\r\n          return;\r\n      }\r\n      if (controller._pulling === true) {\r\n          controller._pullAgain = true;\r\n          return;\r\n      }\r\n      controller._pulling = true;\r\n      // TODO: Test controller argument\r\n      var pullPromise = controller._pullAlgorithm();\r\n      uponPromise(pullPromise, function () {\r\n          controller._pulling = false;\r\n          if (controller._pullAgain === true) {\r\n              controller._pullAgain = false;\r\n              ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n          }\r\n      }, function (e) {\r\n          ReadableByteStreamControllerError(controller, e);\r\n      });\r\n  }\r\n  function ReadableByteStreamControllerClearPendingPullIntos(controller) {\r\n      ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n      controller._pendingPullIntos = new SimpleQueue();\r\n  }\r\n  function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\r\n      var done = false;\r\n      if (stream._state === 'closed') {\r\n          done = true;\r\n      }\r\n      var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n      if (pullIntoDescriptor.readerType === 'default') {\r\n          ReadableStreamFulfillReadRequest(stream, filledView, done);\r\n      }\r\n      else {\r\n          ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\r\n      var bytesFilled = pullIntoDescriptor.bytesFilled;\r\n      var elementSize = pullIntoDescriptor.elementSize;\r\n      return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\r\n  }\r\n  function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\r\n      controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\r\n      controller._queueTotalSize += byteLength;\r\n  }\r\n  function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\r\n      var elementSize = pullIntoDescriptor.elementSize;\r\n      var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\r\n      var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\r\n      var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\r\n      var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\r\n      var totalBytesToCopyRemaining = maxBytesToCopy;\r\n      var ready = false;\r\n      if (maxAlignedBytes > currentAlignedBytes) {\r\n          totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\r\n          ready = true;\r\n      }\r\n      var queue = controller._queue;\r\n      while (totalBytesToCopyRemaining > 0) {\r\n          var headOfQueue = queue.peek();\r\n          var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\r\n          var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n          ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\r\n          if (headOfQueue.byteLength === bytesToCopy) {\r\n              queue.shift();\r\n          }\r\n          else {\r\n              headOfQueue.byteOffset += bytesToCopy;\r\n              headOfQueue.byteLength -= bytesToCopy;\r\n          }\r\n          controller._queueTotalSize -= bytesToCopy;\r\n          ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\r\n          totalBytesToCopyRemaining -= bytesToCopy;\r\n      }\r\n      return ready;\r\n  }\r\n  function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\r\n      ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n      pullIntoDescriptor.bytesFilled += size;\r\n  }\r\n  function ReadableByteStreamControllerHandleQueueDrain(controller) {\r\n      if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\r\n          ReadableByteStreamControllerClearAlgorithms(controller);\r\n          ReadableStreamClose(controller._controlledReadableByteStream);\r\n      }\r\n      else {\r\n          ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\r\n      if (controller._byobRequest === undefined) {\r\n          return;\r\n      }\r\n      controller._byobRequest._associatedReadableByteStreamController = undefined;\r\n      controller._byobRequest._view = undefined;\r\n      controller._byobRequest = undefined;\r\n  }\r\n  function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\r\n      while (controller._pendingPullIntos.length > 0) {\r\n          if (controller._queueTotalSize === 0) {\r\n              return;\r\n          }\r\n          var pullIntoDescriptor = controller._pendingPullIntos.peek();\r\n          if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n              ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n              ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n          }\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerPullInto(controller, view) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      var elementSize = 1;\r\n      if (view.constructor !== DataView) {\r\n          elementSize = view.constructor.BYTES_PER_ELEMENT;\r\n      }\r\n      var ctor = view.constructor;\r\n      var buffer = TransferArrayBuffer(view.buffer);\r\n      var pullIntoDescriptor = {\r\n          buffer: buffer,\r\n          byteOffset: view.byteOffset,\r\n          byteLength: view.byteLength,\r\n          bytesFilled: 0,\r\n          elementSize: elementSize,\r\n          ctor: ctor,\r\n          readerType: 'byob'\r\n      };\r\n      if (controller._pendingPullIntos.length > 0) {\r\n          controller._pendingPullIntos.push(pullIntoDescriptor);\r\n          // No ReadableByteStreamControllerCallPullIfNeeded() call since:\r\n          // - No change happens on desiredSize\r\n          // - The source has already been notified of that there's at least 1 pending read(view)\r\n          return ReadableStreamAddReadIntoRequest(stream);\r\n      }\r\n      if (stream._state === 'closed') {\r\n          var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\r\n          return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\r\n      }\r\n      if (controller._queueTotalSize > 0) {\r\n          if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n              var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n              ReadableByteStreamControllerHandleQueueDrain(controller);\r\n              return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\r\n          }\r\n          if (controller._closeRequested === true) {\r\n              var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n              ReadableByteStreamControllerError(controller, e);\r\n              return promiseRejectedWith(e);\r\n          }\r\n      }\r\n      controller._pendingPullIntos.push(pullIntoDescriptor);\r\n      var promise = ReadableStreamAddReadIntoRequest(stream);\r\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n      return promise;\r\n  }\r\n  function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\r\n      firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (ReadableStreamHasBYOBReader(stream) === true) {\r\n          while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n              var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n              ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\r\n          }\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\r\n      if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\r\n          throw new RangeError('bytesWritten out of range');\r\n      }\r\n      ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\r\n      if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\r\n          // TODO: Figure out whether we should detach the buffer or not here.\r\n          return;\r\n      }\r\n      ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n      var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\r\n      if (remainderSize > 0) {\r\n          var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n          var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\r\n          ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\r\n      }\r\n      pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\r\n      pullIntoDescriptor.bytesFilled -= remainderSize;\r\n      ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n      ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n  }\r\n  function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\r\n      var firstDescriptor = controller._pendingPullIntos.peek();\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (stream._state === 'closed') {\r\n          if (bytesWritten !== 0) {\r\n              throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\r\n          }\r\n          ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\r\n      }\r\n      else {\r\n          ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\r\n      }\r\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n  }\r\n  function ReadableByteStreamControllerShiftPendingPullInto(controller) {\r\n      var descriptor = controller._pendingPullIntos.shift();\r\n      ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n      return descriptor;\r\n  }\r\n  function ReadableByteStreamControllerShouldCallPull(controller) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (stream._state !== 'readable') {\r\n          return false;\r\n      }\r\n      if (controller._closeRequested === true) {\r\n          return false;\r\n      }\r\n      if (controller._started === false) {\r\n          return false;\r\n      }\r\n      if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n          return true;\r\n      }\r\n      if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n          return true;\r\n      }\r\n      var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\r\n      if (desiredSize > 0) {\r\n          return true;\r\n      }\r\n      return false;\r\n  }\r\n  function ReadableByteStreamControllerClearAlgorithms(controller) {\r\n      controller._pullAlgorithm = undefined;\r\n      controller._cancelAlgorithm = undefined;\r\n  }\r\n  // A client of ReadableByteStreamController may use these functions directly to bypass state check.\r\n  function ReadableByteStreamControllerClose(controller) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (controller._queueTotalSize > 0) {\r\n          controller._closeRequested = true;\r\n          return;\r\n      }\r\n      if (controller._pendingPullIntos.length > 0) {\r\n          var firstPendingPullInto = controller._pendingPullIntos.peek();\r\n          if (firstPendingPullInto.bytesFilled > 0) {\r\n              var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n              ReadableByteStreamControllerError(controller, e);\r\n              throw e;\r\n          }\r\n      }\r\n      ReadableByteStreamControllerClearAlgorithms(controller);\r\n      ReadableStreamClose(stream);\r\n  }\r\n  function ReadableByteStreamControllerEnqueue(controller, chunk) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      var buffer = chunk.buffer;\r\n      var byteOffset = chunk.byteOffset;\r\n      var byteLength = chunk.byteLength;\r\n      var transferredBuffer = TransferArrayBuffer(buffer);\r\n      if (ReadableStreamHasDefaultReader(stream) === true) {\r\n          if (ReadableStreamGetNumReadRequests(stream) === 0) {\r\n              ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n          }\r\n          else {\r\n              var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\r\n              ReadableStreamFulfillReadRequest(stream, transferredView, false);\r\n          }\r\n      }\r\n      else if (ReadableStreamHasBYOBReader(stream) === true) {\r\n          // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\r\n          ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n          ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n      }\r\n      else {\r\n          ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n      }\r\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n  }\r\n  function ReadableByteStreamControllerError(controller, e) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (stream._state !== 'readable') {\r\n          return;\r\n      }\r\n      ReadableByteStreamControllerClearPendingPullIntos(controller);\r\n      ResetQueue(controller);\r\n      ReadableByteStreamControllerClearAlgorithms(controller);\r\n      ReadableStreamError(stream, e);\r\n  }\r\n  function ReadableByteStreamControllerGetDesiredSize(controller) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      var state = stream._state;\r\n      if (state === 'errored') {\r\n          return null;\r\n      }\r\n      if (state === 'closed') {\r\n          return 0;\r\n      }\r\n      return controller._strategyHWM - controller._queueTotalSize;\r\n  }\r\n  function ReadableByteStreamControllerRespond(controller, bytesWritten) {\r\n      bytesWritten = Number(bytesWritten);\r\n      if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\r\n          throw new RangeError('bytesWritten must be a finite');\r\n      }\r\n      ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\r\n  }\r\n  function ReadableByteStreamControllerRespondWithNewView(controller, view) {\r\n      var firstDescriptor = controller._pendingPullIntos.peek();\r\n      if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\r\n          throw new RangeError('The region specified by view does not match byobRequest');\r\n      }\r\n      if (firstDescriptor.byteLength !== view.byteLength) {\r\n          throw new RangeError('The buffer of view has different capacity than byobRequest');\r\n      }\r\n      firstDescriptor.buffer = view.buffer;\r\n      ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\r\n  }\r\n  function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\r\n      controller._controlledReadableByteStream = stream;\r\n      controller._pullAgain = false;\r\n      controller._pulling = false;\r\n      controller._byobRequest = undefined;\r\n      // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n      controller._queue = controller._queueTotalSize = undefined;\r\n      ResetQueue(controller);\r\n      controller._closeRequested = false;\r\n      controller._started = false;\r\n      controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n      controller._pullAlgorithm = pullAlgorithm;\r\n      controller._cancelAlgorithm = cancelAlgorithm;\r\n      controller._autoAllocateChunkSize = autoAllocateChunkSize;\r\n      controller._pendingPullIntos = new SimpleQueue();\r\n      stream._readableStreamController = controller;\r\n      var startResult = startAlgorithm();\r\n      uponPromise(promiseResolvedWith(startResult), function () {\r\n          controller._started = true;\r\n          ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n      }, function (r) {\r\n          ReadableByteStreamControllerError(controller, r);\r\n      });\r\n  }\r\n  function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\r\n      var controller = Object.create(ReadableByteStreamController.prototype);\r\n      function startAlgorithm() {\r\n          return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\r\n      }\r\n      var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\r\n      var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\r\n      var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\r\n      if (autoAllocateChunkSize !== undefined) {\r\n          autoAllocateChunkSize = Number(autoAllocateChunkSize);\r\n          if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\r\n              throw new RangeError('autoAllocateChunkSize must be a positive integer');\r\n          }\r\n      }\r\n      SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\r\n  }\r\n  function SetUpReadableStreamBYOBRequest(request, controller, view) {\r\n      request._associatedReadableByteStreamController = controller;\r\n      request._view = view;\r\n  }\r\n  // Helper functions for the ReadableStreamBYOBRequest.\r\n  function byobRequestBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\r\n  }\r\n  // Helper functions for the ReadableByteStreamController.\r\n  function byteStreamControllerBrandCheckException(name) {\r\n      return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\r\n  }\n\n  // Abstract operations for the ReadableStream.\r\n  function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\r\n      if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n      var reader = new ReadableStreamBYOBReader(stream);\r\n      reader._forAuthorCode = forAuthorCode;\r\n      return reader;\r\n  }\r\n  // ReadableStream API exposed for controllers.\r\n  function ReadableStreamAddReadIntoRequest(stream) {\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var readIntoRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._reader._readIntoRequests.push(readIntoRequest);\r\n      });\r\n      return promise;\r\n  }\r\n  function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\r\n      var reader = stream._reader;\r\n      var readIntoRequest = reader._readIntoRequests.shift();\r\n      readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n  }\r\n  function ReadableStreamGetNumReadIntoRequests(stream) {\r\n      return stream._reader._readIntoRequests.length;\r\n  }\r\n  function ReadableStreamHasBYOBReader(stream) {\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return false;\r\n      }\r\n      if (!IsReadableStreamBYOBReader(reader)) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  var ReadableStreamBYOBReader = /** @class */ (function () {\r\n      function ReadableStreamBYOBReader(stream) {\r\n          if (!IsReadableStream(stream)) {\r\n              throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\r\n                  'byte source');\r\n          }\r\n          if (IsReadableByteStreamController(stream._readableStreamController) === false) {\r\n              throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\r\n                  'source');\r\n          }\r\n          if (IsReadableStreamLocked(stream)) {\r\n              throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n          }\r\n          ReadableStreamReaderGenericInitialize(this, stream);\r\n          this._readIntoRequests = new SimpleQueue();\r\n      }\r\n      Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\r\n          get: function () {\r\n              if (!IsReadableStreamBYOBReader(this)) {\r\n                  return promiseRejectedWith(byobReaderBrandCheckException('closed'));\r\n              }\r\n              return this._closedPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamBYOBReader.prototype.cancel = function (reason) {\r\n          if (!IsReadableStreamBYOBReader(this)) {\r\n              return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('cancel'));\r\n          }\r\n          return ReadableStreamReaderGenericCancel(this, reason);\r\n      };\r\n      ReadableStreamBYOBReader.prototype.read = function (view) {\r\n          if (!IsReadableStreamBYOBReader(this)) {\r\n              return promiseRejectedWith(byobReaderBrandCheckException('read'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('read from'));\r\n          }\r\n          if (!ArrayBuffer.isView(view)) {\r\n              return promiseRejectedWith(new TypeError('view must be an array buffer view'));\r\n          }\r\n          if (IsDetachedBuffer(view.buffer) === true) ;\r\n          if (view.byteLength === 0) {\r\n              return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\r\n          }\r\n          return ReadableStreamBYOBReaderRead(this, view);\r\n      };\r\n      ReadableStreamBYOBReader.prototype.releaseLock = function () {\r\n          if (!IsReadableStreamBYOBReader(this)) {\r\n              throw byobReaderBrandCheckException('releaseLock');\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return;\r\n          }\r\n          if (this._readIntoRequests.length > 0) {\r\n              throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n          }\r\n          ReadableStreamReaderGenericRelease(this);\r\n      };\r\n      return ReadableStreamBYOBReader;\r\n  }());\r\n  // Abstract operations for the readers.\r\n  function IsReadableStreamBYOBReader(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamBYOBReaderRead(reader, view) {\r\n      var stream = reader._ownerReadableStream;\r\n      stream._disturbed = true;\r\n      if (stream._state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      // Controllers must implement this.\r\n      return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\r\n  }\r\n  // Helper functions for the ReadableStreamBYOBReader.\r\n  function byobReaderBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\r\n  }\n\n  var ReadableStream = /** @class */ (function () {\r\n      function ReadableStream(underlyingSource, strategy) {\r\n          if (underlyingSource === void 0) { underlyingSource = {}; }\r\n          if (strategy === void 0) { strategy = {}; }\r\n          InitializeReadableStream(this);\r\n          var size = strategy.size;\r\n          var highWaterMark = strategy.highWaterMark;\r\n          var type = underlyingSource.type;\r\n          var typeString = String(type);\r\n          if (typeString === 'bytes') {\r\n              if (size !== undefined) {\r\n                  throw new RangeError('The strategy for a byte stream cannot have a size function');\r\n              }\r\n              if (highWaterMark === undefined) {\r\n                  highWaterMark = 0;\r\n              }\r\n              highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n              SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\r\n          }\r\n          else if (type === undefined) {\r\n              var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n              if (highWaterMark === undefined) {\r\n                  highWaterMark = 1;\r\n              }\r\n              highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n              SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\r\n          }\r\n          else {\r\n              throw new RangeError('Invalid type is specified');\r\n          }\r\n      }\r\n      Object.defineProperty(ReadableStream.prototype, \"locked\", {\r\n          get: function () {\r\n              if (IsReadableStream(this) === false) {\r\n                  throw streamBrandCheckException$1('locked');\r\n              }\r\n              return IsReadableStreamLocked(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStream.prototype.cancel = function (reason) {\r\n          if (IsReadableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException$1('cancel'));\r\n          }\r\n          if (IsReadableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\r\n          }\r\n          return ReadableStreamCancel(this, reason);\r\n      };\r\n      ReadableStream.prototype.getReader = function (_a) {\r\n          var mode = (_a === void 0 ? {} : _a).mode;\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('getReader');\r\n          }\r\n          if (mode === undefined) {\r\n              return AcquireReadableStreamDefaultReader(this, true);\r\n          }\r\n          mode = String(mode);\r\n          if (mode === 'byob') {\r\n              return AcquireReadableStreamBYOBReader(this, true);\r\n          }\r\n          throw new RangeError('Invalid mode is specified');\r\n      };\r\n      ReadableStream.prototype.pipeThrough = function (_a, _b) {\r\n          var writable = _a.writable, readable = _a.readable;\r\n          var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('pipeThrough');\r\n          }\r\n          if (IsWritableStream(writable) === false) {\r\n              throw new TypeError('writable argument to pipeThrough must be a WritableStream');\r\n          }\r\n          if (IsReadableStream(readable) === false) {\r\n              throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\r\n          }\r\n          preventClose = Boolean(preventClose);\r\n          preventAbort = Boolean(preventAbort);\r\n          preventCancel = Boolean(preventCancel);\r\n          if (signal !== undefined && !isAbortSignal(signal)) {\r\n              throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\r\n          }\r\n          if (IsReadableStreamLocked(this) === true) {\r\n              throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\r\n          }\r\n          if (IsWritableStreamLocked(writable) === true) {\r\n              throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\r\n          }\r\n          var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\r\n          setPromiseIsHandledToTrue(promise);\r\n          return readable;\r\n      };\r\n      ReadableStream.prototype.pipeTo = function (dest, _a) {\r\n          var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\r\n          if (IsReadableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\r\n          }\r\n          if (IsWritableStream(dest) === false) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\r\n          }\r\n          preventClose = Boolean(preventClose);\r\n          preventAbort = Boolean(preventAbort);\r\n          preventCancel = Boolean(preventCancel);\r\n          if (signal !== undefined && !isAbortSignal(signal)) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\r\n          }\r\n          if (IsReadableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\r\n          }\r\n          if (IsWritableStreamLocked(dest) === true) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\r\n          }\r\n          return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\r\n      };\r\n      ReadableStream.prototype.tee = function () {\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('tee');\r\n          }\r\n          var branches = ReadableStreamTee(this);\r\n          return createArrayFromList(branches);\r\n      };\r\n      ReadableStream.prototype.getIterator = function (_a) {\r\n          var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('getIterator');\r\n          }\r\n          return AcquireReadableStreamAsyncIterator(this, preventCancel);\r\n      };\r\n      return ReadableStream;\r\n  }());\r\n  if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n      Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\r\n          value: ReadableStream.prototype.getIterator,\r\n          enumerable: false,\r\n          writable: true,\r\n          configurable: true\r\n      });\r\n  }\r\n  // Abstract operations for the ReadableStream.\r\n  // Throws if and only if startAlgorithm throws.\r\n  function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      if (highWaterMark === void 0) { highWaterMark = 1; }\r\n      if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n      var stream = Object.create(ReadableStream.prototype);\r\n      InitializeReadableStream(stream);\r\n      var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n      SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n      return stream;\r\n  }\r\n  function InitializeReadableStream(stream) {\r\n      stream._state = 'readable';\r\n      stream._reader = undefined;\r\n      stream._storedError = undefined;\r\n      stream._disturbed = false;\r\n  }\r\n  function IsReadableStream(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsReadableStreamLocked(stream) {\r\n      if (stream._reader === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // ReadableStream API exposed for controllers.\r\n  function ReadableStreamCancel(stream, reason) {\r\n      stream._disturbed = true;\r\n      if (stream._state === 'closed') {\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      if (stream._state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      ReadableStreamClose(stream);\r\n      var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\r\n      return transformPromiseWith(sourceCancelPromise, noop);\r\n  }\r\n  function ReadableStreamClose(stream) {\r\n      stream._state = 'closed';\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return;\r\n      }\r\n      if (IsReadableStreamDefaultReader(reader)) {\r\n          reader._readRequests.forEach(function (readRequest) {\r\n              readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n          });\r\n          reader._readRequests = new SimpleQueue();\r\n      }\r\n      defaultReaderClosedPromiseResolve(reader);\r\n  }\r\n  function ReadableStreamError(stream, e) {\r\n      stream._state = 'errored';\r\n      stream._storedError = e;\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return;\r\n      }\r\n      if (IsReadableStreamDefaultReader(reader)) {\r\n          reader._readRequests.forEach(function (readRequest) {\r\n              readRequest._reject(e);\r\n          });\r\n          reader._readRequests = new SimpleQueue();\r\n      }\r\n      else {\r\n          reader._readIntoRequests.forEach(function (readIntoRequest) {\r\n              readIntoRequest._reject(e);\r\n          });\r\n          reader._readIntoRequests = new SimpleQueue();\r\n      }\r\n      defaultReaderClosedPromiseReject(reader, e);\r\n  }\r\n  // Helper functions for the ReadableStream.\r\n  function streamBrandCheckException$1(name) {\r\n      return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\r\n  }\n\n  var ByteLengthQueuingStrategy = /** @class */ (function () {\r\n      function ByteLengthQueuingStrategy(_a) {\r\n          var highWaterMark = _a.highWaterMark;\r\n          this.highWaterMark = highWaterMark;\r\n      }\r\n      ByteLengthQueuingStrategy.prototype.size = function (chunk) {\r\n          return chunk.byteLength;\r\n      };\r\n      return ByteLengthQueuingStrategy;\r\n  }());\n\n  var CountQueuingStrategy = /** @class */ (function () {\r\n      function CountQueuingStrategy(_a) {\r\n          var highWaterMark = _a.highWaterMark;\r\n          this.highWaterMark = highWaterMark;\r\n      }\r\n      CountQueuingStrategy.prototype.size = function () {\r\n          return 1;\r\n      };\r\n      return CountQueuingStrategy;\r\n  }());\n\n  // Class TransformStream\r\n  var TransformStream = /** @class */ (function () {\r\n      function TransformStream(transformer, writableStrategy, readableStrategy) {\r\n          if (transformer === void 0) { transformer = {}; }\r\n          if (writableStrategy === void 0) { writableStrategy = {}; }\r\n          if (readableStrategy === void 0) { readableStrategy = {}; }\r\n          var writableSizeFunction = writableStrategy.size;\r\n          var writableHighWaterMark = writableStrategy.highWaterMark;\r\n          var readableSizeFunction = readableStrategy.size;\r\n          var readableHighWaterMark = readableStrategy.highWaterMark;\r\n          var writableType = transformer.writableType;\r\n          if (writableType !== undefined) {\r\n              throw new RangeError('Invalid writable type specified');\r\n          }\r\n          var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\r\n          if (writableHighWaterMark === undefined) {\r\n              writableHighWaterMark = 1;\r\n          }\r\n          writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\r\n          var readableType = transformer.readableType;\r\n          if (readableType !== undefined) {\r\n              throw new RangeError('Invalid readable type specified');\r\n          }\r\n          var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\r\n          if (readableHighWaterMark === undefined) {\r\n              readableHighWaterMark = 0;\r\n          }\r\n          readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\r\n          var startPromise_resolve;\r\n          var startPromise = newPromise(function (resolve) {\r\n              startPromise_resolve = resolve;\r\n          });\r\n          InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n          SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\r\n          var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\r\n          startPromise_resolve(startResult);\r\n      }\r\n      Object.defineProperty(TransformStream.prototype, \"readable\", {\r\n          get: function () {\r\n              if (IsTransformStream(this) === false) {\r\n                  throw streamBrandCheckException$2('readable');\r\n              }\r\n              return this._readable;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(TransformStream.prototype, \"writable\", {\r\n          get: function () {\r\n              if (IsTransformStream(this) === false) {\r\n                  throw streamBrandCheckException$2('writable');\r\n              }\r\n              return this._writable;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      return TransformStream;\r\n  }());\r\n  function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\r\n      function startAlgorithm() {\r\n          return startPromise;\r\n      }\r\n      function writeAlgorithm(chunk) {\r\n          return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\r\n      }\r\n      function abortAlgorithm(reason) {\r\n          return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\r\n      }\r\n      function closeAlgorithm() {\r\n          return TransformStreamDefaultSinkCloseAlgorithm(stream);\r\n      }\r\n      stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\r\n      function pullAlgorithm() {\r\n          return TransformStreamDefaultSourcePullAlgorithm(stream);\r\n      }\r\n      function cancelAlgorithm(reason) {\r\n          TransformStreamErrorWritableAndUnblockWrite(stream, reason);\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n      // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\r\n      stream._backpressure = undefined;\r\n      stream._backpressureChangePromise = undefined;\r\n      stream._backpressureChangePromise_resolve = undefined;\r\n      TransformStreamSetBackpressure(stream, true);\r\n      // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\r\n      stream._transformStreamController = undefined;\r\n  }\r\n  function IsTransformStream(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // This is a no-op if both sides are already errored.\r\n  function TransformStreamError(stream, e) {\r\n      ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\r\n      TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n  }\r\n  function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\r\n      TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\r\n      WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\r\n      if (stream._backpressure === true) {\r\n          // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\r\n          // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\r\n          // _backpressure is set.\r\n          TransformStreamSetBackpressure(stream, false);\r\n      }\r\n  }\r\n  function TransformStreamSetBackpressure(stream, backpressure) {\r\n      // Passes also when called during construction.\r\n      if (stream._backpressureChangePromise !== undefined) {\r\n          stream._backpressureChangePromise_resolve();\r\n      }\r\n      stream._backpressureChangePromise = newPromise(function (resolve) {\r\n          stream._backpressureChangePromise_resolve = resolve;\r\n      });\r\n      stream._backpressure = backpressure;\r\n  }\r\n  var TransformStreamDefaultController = /** @class */ (function () {\r\n      /** @internal */\r\n      function TransformStreamDefaultController() {\r\n          throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\r\n      }\r\n      Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsTransformStreamDefaultController(this) === false) {\r\n                  throw defaultControllerBrandCheckException$1('desiredSize');\r\n              }\r\n              var readableController = this._controlledTransformStream._readable._readableStreamController;\r\n              return ReadableStreamDefaultControllerGetDesiredSize(readableController);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      TransformStreamDefaultController.prototype.enqueue = function (chunk) {\r\n          if (IsTransformStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException$1('enqueue');\r\n          }\r\n          TransformStreamDefaultControllerEnqueue(this, chunk);\r\n      };\r\n      TransformStreamDefaultController.prototype.error = function (reason) {\r\n          if (IsTransformStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException$1('error');\r\n          }\r\n          TransformStreamDefaultControllerError(this, reason);\r\n      };\r\n      TransformStreamDefaultController.prototype.terminate = function () {\r\n          if (IsTransformStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException$1('terminate');\r\n          }\r\n          TransformStreamDefaultControllerTerminate(this);\r\n      };\r\n      return TransformStreamDefaultController;\r\n  }());\r\n  // Transform Stream Default Controller Abstract Operations\r\n  function IsTransformStreamDefaultController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\r\n      controller._controlledTransformStream = stream;\r\n      stream._transformStreamController = controller;\r\n      controller._transformAlgorithm = transformAlgorithm;\r\n      controller._flushAlgorithm = flushAlgorithm;\r\n  }\r\n  function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\r\n      var controller = Object.create(TransformStreamDefaultController.prototype);\r\n      var transformAlgorithm = function (chunk) {\r\n          try {\r\n              TransformStreamDefaultControllerEnqueue(controller, chunk);\r\n              return promiseResolvedWith(undefined);\r\n          }\r\n          catch (transformResultE) {\r\n              return promiseRejectedWith(transformResultE);\r\n          }\r\n      };\r\n      var transformMethod = transformer.transform;\r\n      if (transformMethod !== undefined) {\r\n          if (typeof transformMethod !== 'function') {\r\n              throw new TypeError('transform is not a method');\r\n          }\r\n          transformAlgorithm = function (chunk) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\r\n      }\r\n      var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\r\n      SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\r\n  }\r\n  function TransformStreamDefaultControllerClearAlgorithms(controller) {\r\n      controller._transformAlgorithm = undefined;\r\n      controller._flushAlgorithm = undefined;\r\n  }\r\n  function TransformStreamDefaultControllerEnqueue(controller, chunk) {\r\n      var stream = controller._controlledTransformStream;\r\n      var readableController = stream._readable._readableStreamController;\r\n      if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\r\n          throw new TypeError('Readable side is not in a state that permits enqueue');\r\n      }\r\n      // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\r\n      // accept TransformStreamDefaultControllerEnqueue() calls.\r\n      try {\r\n          ReadableStreamDefaultControllerEnqueue(readableController, chunk);\r\n      }\r\n      catch (e) {\r\n          // This happens when readableStrategy.size() throws.\r\n          TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n          throw stream._readable._storedError;\r\n      }\r\n      var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\r\n      if (backpressure !== stream._backpressure) {\r\n          TransformStreamSetBackpressure(stream, true);\r\n      }\r\n  }\r\n  function TransformStreamDefaultControllerError(controller, e) {\r\n      TransformStreamError(controller._controlledTransformStream, e);\r\n  }\r\n  function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\r\n      var transformPromise = controller._transformAlgorithm(chunk);\r\n      return transformPromiseWith(transformPromise, undefined, function (r) {\r\n          TransformStreamError(controller._controlledTransformStream, r);\r\n          throw r;\r\n      });\r\n  }\r\n  function TransformStreamDefaultControllerTerminate(controller) {\r\n      var stream = controller._controlledTransformStream;\r\n      var readableController = stream._readable._readableStreamController;\r\n      if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n          ReadableStreamDefaultControllerClose(readableController);\r\n      }\r\n      var error = new TypeError('TransformStream terminated');\r\n      TransformStreamErrorWritableAndUnblockWrite(stream, error);\r\n  }\r\n  // TransformStreamDefaultSink Algorithms\r\n  function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\r\n      var controller = stream._transformStreamController;\r\n      if (stream._backpressure === true) {\r\n          var backpressureChangePromise = stream._backpressureChangePromise;\r\n          return transformPromiseWith(backpressureChangePromise, function () {\r\n              var writable = stream._writable;\r\n              var state = writable._state;\r\n              if (state === 'erroring') {\r\n                  throw writable._storedError;\r\n              }\r\n              return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n          });\r\n      }\r\n      return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n  }\r\n  function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\r\n      // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\r\n      // errored.\r\n      TransformStreamError(stream, reason);\r\n      return promiseResolvedWith(undefined);\r\n  }\r\n  function TransformStreamDefaultSinkCloseAlgorithm(stream) {\r\n      // stream._readable cannot change after construction, so caching it across a call to user code is safe.\r\n      var readable = stream._readable;\r\n      var controller = stream._transformStreamController;\r\n      var flushPromise = controller._flushAlgorithm();\r\n      TransformStreamDefaultControllerClearAlgorithms(controller);\r\n      // Return a promise that is fulfilled with undefined on success.\r\n      return transformPromiseWith(flushPromise, function () {\r\n          if (readable._state === 'errored') {\r\n              throw readable._storedError;\r\n          }\r\n          var readableController = readable._readableStreamController;\r\n          if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n              ReadableStreamDefaultControllerClose(readableController);\r\n          }\r\n      }, function (r) {\r\n          TransformStreamError(stream, r);\r\n          throw readable._storedError;\r\n      });\r\n  }\r\n  // TransformStreamDefaultSource Algorithms\r\n  function TransformStreamDefaultSourcePullAlgorithm(stream) {\r\n      // Invariant. Enforced by the promises returned by start() and pull().\r\n      TransformStreamSetBackpressure(stream, false);\r\n      // Prevent the next pull() call until there is backpressure.\r\n      return stream._backpressureChangePromise;\r\n  }\r\n  // Helper functions for the TransformStreamDefaultController.\r\n  function defaultControllerBrandCheckException$1(name) {\r\n      return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\r\n  }\r\n  // Helper functions for the TransformStream.\r\n  function streamBrandCheckException$2(name) {\r\n      return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\r\n  }\n\n  exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n  exports.CountQueuingStrategy = CountQueuingStrategy;\n  exports.ReadableStream = ReadableStream;\n  exports.TransformStream = TransformStream;\n  exports.WritableStream = WritableStream;\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=ponyfill.js.map\n","require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\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 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 nativeMethod = NativePrototype[KEY];\n    redefine(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        nativeMethod.call(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        nativeMethod.call(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  // eslint-disable-next-line max-len\n  if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n    new NativeConstructor().entries().next();\n  })))) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.REQUIRED = true;\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\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, Constructor, CONSTRUCTOR_NAME);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], that, 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 hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\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 (!has(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 (!has(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 && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar meta = module.exports = {\n  REQUIRED: false,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n","var 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    typeof (NewTarget = dummy.constructor) == 'function' &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\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 C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\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, IS_MAP);\n    });\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(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 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      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\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      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\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      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.1.3.6 Map.prototype.get(key)\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // 23.1.3.9 Map.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // 23.2.3.1 Set.prototype.add(value)\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return C;\n  },\n  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    defineIterator(C, 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    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n","require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-map');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakMap;\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n  return function WeakMap() {\n    return init(this, arguments.length ? arguments[0] : undefined);\n  };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n  InternalMetadataModule.REQUIRED = true;\n  var WeakMapPrototype = $WeakMap.prototype;\n  var nativeDelete = WeakMapPrototype['delete'];\n  var nativeHas = WeakMapPrototype.has;\n  var nativeGet = WeakMapPrototype.get;\n  var nativeSet = WeakMapPrototype.set;\n  redefineAll(WeakMapPrototype, {\n    'delete': function (key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeDelete.call(this, key) || state.frozen['delete'](key);\n      } return nativeDelete.call(this, key);\n    },\n    has: function has(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) || state.frozen.has(key);\n      } return nativeHas.call(this, key);\n    },\n    get: function get(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n      } return nativeGet.call(this, key);\n    },\n    set: function set(key, value) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n      } else nativeSet.call(this, key, value);\n      return this;\n    }\n  });\n}\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n  return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n  this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n  return find(store.entries, function (it) {\n    return it[0] === key;\n  });\n};\n\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.entries.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = findIndex(this.entries, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.entries.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        id: id++,\n        frozen: undefined\n      });\n      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var data = getWeakData(anObject(key), true);\n      if (data === true) uncaughtFrozenStore(state).set(key, value);\n      else data[state.id] = value;\n      return that;\n    };\n\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n        return data && $has(data, state.id) && delete data[state.id];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state).has(key);\n        return data && $has(data, state.id);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.3.3.3 WeakMap.prototype.get(key)\n      get: function get(key) {\n        var state = getInternalState(this);\n        if (isObject(key)) {\n          var data = getWeakData(key);\n          if (data === true) return uncaughtFrozenStore(state).get(key);\n          return data ? data[state.id] : undefined;\n        }\n      },\n      // 23.3.3.5 WeakMap.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key, value);\n      }\n    } : {\n      // 23.4.3.1 WeakSet.prototype.add(value)\n      add: function add(value) {\n        return define(this, value, true);\n      }\n    });\n\n    return C;\n  }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` 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 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, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER ? 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.call(target, value); // filter\n        } else if (IS_EVERY) return false;  // every\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.github.io/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (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 new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n  return classof(arg) == 'Array';\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-set');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakSet;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n  return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","require('../../modules/es.string.code-point-at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'codePointAt');\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n  codePointAt: function codePointAt(pos) {\n    return codeAt(this, pos);\n  }\n});\n","require('../../modules/es.string.from-code-point');\nvar path = require('../../internals/path');\n\nmodule.exports = path.String.fromCodePoint;\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\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.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n      );\n    } return elements.join('');\n  }\n});\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\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';\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.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  concat: function concat(arg) { // eslint-disable-line no-unused-vars\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 = toLength(E.length);\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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\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 createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\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');\nvar QObject = global.QObject;\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($Symbol[PROTOTYPE]);\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 isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPrimitive(P, true);\n  anObject(Attributes);\n  if (has(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n      O[HIDDEN][key] = true;\n    } else {\n      if (has(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 || $propertyIsEnumerable.call(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 = toPrimitive(V, true);\n  var enumerable = nativePropertyIsEnumerable.call(this, P);\n  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPrimitive(P, true);\n  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && has(AllSymbols, key) && !(has(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 (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(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 (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n      result.push(AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n      if (has(this, HIDDEN) && has(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  redefine($Symbol[PROTOTYPE], '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($Symbol[PROTOTYPE], '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.github.io/ecma262/#sec-symbol.for\n  'for': function (key) {\n    var string = String(key);\n    if (has(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.github.io/ecma262/#sec-symbol.keyfor\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n    if (has(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.github.io/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.github.io/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.github.io/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // `Object.getOwnPropertySymbols` method\n  // https://tc39.github.io/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.github.io/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\n    stringify: function stringify(it, replacer, space) {\n      var args = [it];\n      var index = 1;\n      var $replacer;\n      while (arguments.length > index) args.push(arguments[index++]);\n      $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 (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n        if (!isSymbol(value)) return value;\n      };\n      args[1] = replacer;\n      return $stringify.apply(null, args);\n    }\n  });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n  createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return nativeGetOwnPropertyNames(it);\n  } catch (error) {\n    return windowNames.slice();\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]'\n    ? getWindowNames(it)\n    : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\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 (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\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 : String(arguments[0]);\n    var result = this instanceof SymbolWrapper\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  copyConstructorProperties(SymbolWrapper, NativeSymbol);\n  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n  symbolPrototype.constructor = SymbolWrapper;\n\n  var symbolToString = symbolPrototype.toString;\n  var native = String(NativeSymbol('test')) == 'Symbol(test)';\n  var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n  defineProperty(symbolPrototype, 'description', {\n    configurable: true,\n    get: function description() {\n      var symbol = isObject(this) ? this.valueOf() : this;\n      var string = symbolToString.call(symbol);\n      if (has(EmptyStringDescriptionStore, symbol)) return '';\n      var desc = native ? string.slice(7, -1) : string.replace(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.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/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.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es.string.pad-start');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padStart');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n  return function ($this, maxLength, fillString) {\n    var S = String(requireObjectCoercible($this));\n    var stringLength = S.length;\n    var fillStr = fillString === undefined ? ' ' : String(fillString);\n    var intMaxLength = toLength(maxLength);\n    var fillLen, stringFiller;\n    if (intMaxLength <= stringLength || fillStr == '') return S;\n    fillLen = intMaxLength - stringLength;\n    stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n    if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n    return IS_END ? S + stringFiller : stringFiller + S;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.padStart` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n  start: createMethod(false),\n  // `String.prototype.padEnd` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n  end: createMethod(true)\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n  var str = String(requireObjectCoercible(this));\n  var result = '';\n  var n = toInteger(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","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","require('../../modules/es.string.pad-end');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padEnd');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n    return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n  values: function values(O) {\n    return $values(O);\n  }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.github.io/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.github.io/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n  AbortException,\n  assert,\n  createPromiseCapability,\n  getVerbosityLevel,\n  info,\n  InvalidPDFException,\n  isArrayBuffer,\n  isSameOrigin,\n  MissingPDFException,\n  NativeImageDecoding,\n  PasswordException,\n  setVerbosityLevel,\n  shadow,\n  stringToBytes,\n  UnexpectedResponseException,\n  UnknownErrorException,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport {\n  deprecated,\n  DOMCanvasFactory,\n  DOMCMapReaderFactory,\n  loadScript,\n  PageViewport,\n  releaseImageResources,\n  RenderingCancelledException,\n  StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { apiCompatibilityParams } from \"./api_compatibility.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { WebGLContext } from \"./webgl.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {IPDFStream}\n */\n\n/** @type IPDFStreamFactory */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates a IPDFStream as an alternative PDF data\n * transport.\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - the factory function\n * that takes document initialization parameters (including a \"url\") and returns\n * an instance of IPDFStream.\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n  createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string}     [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use typed\n *    arrays (Uint8Array) to improve the memory usage. If PDF data is\n *    BASE64-encoded, use atob() to convert it to a binary string first.\n * @property {Object}     [httpHeaders] - Basic authentication headers.\n * @property {boolean}    [withCredentials] - Indicates whether or not\n *   cross-site Access-Control requests should be made using credentials such\n *   as cookies or authorization headers. The default is false.\n * @property {string}     [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n *   or all of the pdf data. Used by the extension since some data is already\n *   loaded before the switch to range requests.\n * @property {number}     [length] - The PDF file length. It's used for\n *   progress reports and range requests operations.\n * @property {PDFDataRangeTransport} [range]\n * @property {number}     [rangeChunkSize] - Specify maximum number of bytes\n *   fetched per range request. The default value is 2^16 = 65536.\n * @property {PDFWorker}  [worker] - The worker that will be used for\n *   the loading and parsing of the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the\n *   constants from {VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document,\n *   used when attempting to recover valid absolute URLs for annotations, and\n *   outline items, that (incorrectly) only specify relative URLs.\n * @property {string} [nativeImageDecoderSupport] - Strategy for\n *   decoding certain (simple) JPEG images in the browser. This is useful for\n *   environments without DOM image and canvas support, such as e.g. Node.js.\n *   Valid values are 'decode', 'display' or 'none'; where 'decode' is intended\n *   for browsers with full image/canvas support, 'display' for environments\n *   with limited image support through stubs (useful for SVG conversion),\n *   and 'none' where JPEG images will be decoded entirely by PDF.js.\n *   The default value is 'decode'.\n * @property {string} [cMapUrl] - The URL where the predefined\n *   Adobe CMaps are located. Include trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are\n *   binary packed.\n * @property {Object} [CMapReaderFactory] - The factory that will be\n *   used when reading built-in CMap files. Providing a custom factory is useful\n *   for environments without `XMLHttpRequest` support, such as e.g. Node.js.\n *   The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n *   `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n *   PDF data cannot be successfully parsed, instead of attempting to recover\n *   whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size\n *   in total pixels, i.e. width * height. Images above this value will not be\n *   rendered. Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can eval\n *   strings as JS. Primarily used to improve performance of font rendering,\n *   and when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are\n *   converted to OpenType fonts and loaded via font face rules. If disabled,\n *   fonts will be rendered using a built-in font renderer that constructs the\n *   glyphs with primitive path commands. The default value is `false`.\n * @property {boolean} [disableRange] - Disable range request loading\n *   of PDF files. When enabled, and if the server supports partial content\n *   requests, then the PDF will be fetched in chunks.\n *   The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file\n *   data. By default PDF.js attempts to load PDFs in chunks.\n *   The default value is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF\n *   file data. When range requests are enabled PDF.js will automatically keep\n *   fetching more data even if it isn't needed to display the current page.\n *   The default value is `false`.\n *   NOTE: It is also necessary to disable streaming, see above,\n *         in order for disabling of pre-fetching to work correctly.\n * @property {boolean} [disableCreateObjectURL] - Disable the use of\n *   `URL.createObjectURL`, for compatibility with older browsers.\n *   The default value is `false`.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging\n *   PDF.js (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the document (an item\n *   is set to true if specific stream ID was used in the document).\n * @property {Object} fontTypes - Used font types in the document (an item\n *   is set to true if specific font ID was used in the document).\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n * NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)\n * is used, which means it must follow the same origin rules that any XHR does\n * e.g. No cross domain requests without CORS.\n *\n * @param {string|TypedArray|DocumentInitParameters|PDFDataRangeTransport} src\n * Can be a url to where a PDF is located, a typed array (Uint8Array)\n * already populated with data or parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n  const task = new PDFDocumentLoadingTask();\n\n  let source;\n  if (typeof src === \"string\") {\n    source = { url: src };\n  } else if (isArrayBuffer(src)) {\n    source = { data: src };\n  } else if (src instanceof PDFDataRangeTransport) {\n    source = { range: src };\n  } else {\n    if (typeof src !== \"object\") {\n      throw new Error(\n        \"Invalid parameter in getDocument, \" +\n          \"need either Uint8Array, string or a parameter object\"\n      );\n    }\n    if (!src.url && !src.data && !src.range) {\n      throw new Error(\n        \"Invalid parameter object: need either .data, .range or .url\"\n      );\n    }\n    source = src;\n  }\n  const params = Object.create(null);\n  let rangeTransport = null,\n    worker = null;\n\n  for (const key in source) {\n    if (key === \"url\" && typeof window !== \"undefined\") {\n      // The full path is required in the 'url' field.\n      params[key] = new URL(source[key], window.location).href;\n      continue;\n    } else if (key === \"range\") {\n      rangeTransport = source[key];\n      continue;\n    } else if (key === \"worker\") {\n      worker = source[key];\n      continue;\n    } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n      // Converting string or array-like data to Uint8Array.\n      const pdfBytes = source[key];\n      if (typeof pdfBytes === \"string\") {\n        params[key] = stringToBytes(pdfBytes);\n      } else if (\n        typeof pdfBytes === \"object\" &&\n        pdfBytes !== null &&\n        !isNaN(pdfBytes.length)\n      ) {\n        params[key] = new Uint8Array(pdfBytes);\n      } else if (isArrayBuffer(pdfBytes)) {\n        params[key] = new Uint8Array(pdfBytes);\n      } else {\n        throw new Error(\n          \"Invalid PDF binary data: either typed array, \" +\n            \"string or array-like object is expected in the \" +\n            \"data property.\"\n        );\n      }\n      continue;\n    }\n    params[key] = source[key];\n  }\n\n  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n  params.CMapReaderFactory = params.CMapReaderFactory || DOMCMapReaderFactory;\n  params.ignoreErrors = params.stopAtErrors !== true;\n  params.pdfBug = params.pdfBug === true;\n\n  const NativeImageDecoderValues = Object.values(NativeImageDecoding);\n  if (\n    params.nativeImageDecoderSupport === undefined ||\n    !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)\n  ) {\n    params.nativeImageDecoderSupport =\n      apiCompatibilityParams.nativeImageDecoderSupport ||\n      NativeImageDecoding.DECODE;\n  }\n  if (!Number.isInteger(params.maxImageSize)) {\n    params.maxImageSize = -1;\n  }\n  if (typeof params.isEvalSupported !== \"boolean\") {\n    params.isEvalSupported = true;\n  }\n  if (typeof params.disableFontFace !== \"boolean\") {\n    params.disableFontFace = apiCompatibilityParams.disableFontFace || false;\n  }\n\n  if (typeof params.disableRange !== \"boolean\") {\n    params.disableRange = false;\n  }\n  if (typeof params.disableStream !== \"boolean\") {\n    params.disableStream = false;\n  }\n  if (typeof params.disableAutoFetch !== \"boolean\") {\n    params.disableAutoFetch = false;\n  }\n  if (typeof params.disableCreateObjectURL !== \"boolean\") {\n    params.disableCreateObjectURL =\n      apiCompatibilityParams.disableCreateObjectURL || false;\n  }\n\n  // Set the main-thread verbosity level.\n  setVerbosityLevel(params.verbosity);\n\n  if (!worker) {\n    const workerParams = {\n      verbosity: params.verbosity,\n      port: GlobalWorkerOptions.workerPort,\n    };\n    // Worker was not provided -- creating and owning our own. If message port\n    // is specified in global worker options, using it.\n    worker = workerParams.port\n      ? PDFWorker.fromPort(workerParams)\n      : new PDFWorker(workerParams);\n    task._worker = worker;\n  }\n  const docId = task.docId;\n  worker.promise\n    .then(function() {\n      if (task.destroyed) {\n        throw new Error(\"Loading aborted\");\n      }\n      return _fetchDocument(worker, params, rangeTransport, docId).then(\n        function(workerId) {\n          if (task.destroyed) {\n            throw new Error(\"Loading aborted\");\n          }\n\n          let networkStream;\n          if (rangeTransport) {\n            networkStream = new PDFDataTransportStream(\n              {\n                length: params.length,\n                initialData: params.initialData,\n                progressiveDone: params.progressiveDone,\n                disableRange: params.disableRange,\n                disableStream: params.disableStream,\n              },\n              rangeTransport\n            );\n          } else if (!params.data) {\n            networkStream = createPDFNetworkStream({\n              url: params.url,\n              length: params.length,\n              httpHeaders: params.httpHeaders,\n              withCredentials: params.withCredentials,\n              rangeChunkSize: params.rangeChunkSize,\n              disableRange: params.disableRange,\n              disableStream: params.disableStream,\n            });\n          }\n\n          const messageHandler = new MessageHandler(\n            docId,\n            workerId,\n            worker.port\n          );\n          messageHandler.postMessageTransfers = worker.postMessageTransfers;\n          const transport = new WorkerTransport(\n            messageHandler,\n            task,\n            networkStream,\n            params\n          );\n          task._transport = transport;\n          messageHandler.send(\"Ready\", null);\n        }\n      );\n    })\n    .catch(task._capability.reject);\n\n  return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId Unique document id, used as MessageHandler id.\n * @returns {Promise} The promise, which is resolved when worker id of\n *                    MessageHandler is known.\n * @private\n */\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n  if (worker.destroyed) {\n    return Promise.reject(new Error(\"Worker was destroyed\"));\n  }\n\n  if (pdfDataRangeTransport) {\n    source.length = pdfDataRangeTransport.length;\n    source.initialData = pdfDataRangeTransport.initialData;\n    source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n  }\n  return worker.messageHandler\n    .sendWithPromise(\"GetDocRequest\", {\n      docId,\n      apiVersion:\n        typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n          ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n          : null,\n      // Only send the required properties, and *not* the entire object.\n      source: {\n        data: source.data,\n        url: source.url,\n        password: source.password,\n        disableAutoFetch: source.disableAutoFetch,\n        rangeChunkSize: source.rangeChunkSize,\n        length: source.length,\n      },\n      maxImageSize: source.maxImageSize,\n      disableFontFace: source.disableFontFace,\n      disableCreateObjectURL: source.disableCreateObjectURL,\n      postMessageTransfers: worker.postMessageTransfers,\n      docBaseUrl: source.docBaseUrl,\n      nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n      ignoreErrors: source.ignoreErrors,\n      isEvalSupported: source.isEvalSupported,\n    })\n    .then(function(workerId) {\n      if (worker.destroyed) {\n        throw new Error(\"Worker was destroyed\");\n      }\n      return workerId;\n    });\n}\n\nconst PDFDocumentLoadingTask = (function PDFDocumentLoadingTaskClosure() {\n  let nextDocumentId = 0;\n\n  /**\n   * The loading task controls the operations required to load a PDF document\n   * (such as network requests) and provides a way to listen for completion,\n   * after which individual pages can be rendered.\n   */\n  class PDFDocumentLoadingTask {\n    constructor() {\n      this._capability = createPromiseCapability();\n      this._transport = null;\n      this._worker = null;\n\n      /**\n       * Unique document loading task id -- used in MessageHandlers.\n       * @type {string}\n       */\n      this.docId = \"d\" + nextDocumentId++;\n\n      /**\n       * Shows if loading task is destroyed.\n       * @type {boolean}\n       */\n      this.destroyed = false;\n\n      /**\n       * Callback to request a password if wrong or no password was provided.\n       * The callback receives two parameters: function that needs to be called\n       * with new password and reason (see {PasswordResponses}).\n       */\n      this.onPassword = null;\n\n      /**\n       * Callback to be able to monitor the loading progress of the PDF file\n       * (necessary to implement e.g. a loading bar). The callback receives\n       * an {Object} with the properties: {number} loaded and {number} total.\n       */\n      this.onProgress = null;\n\n      /**\n       * Callback to when unsupported feature is used. The callback receives\n       * an {UNSUPPORTED_FEATURES} argument.\n       */\n      this.onUnsupportedFeature = null;\n    }\n\n    /**\n     * Promise for document loading task completion.\n     * @type {Promise}\n     */\n    get promise() {\n      return this._capability.promise;\n    }\n\n    /**\n     * Aborts all network requests and destroys worker.\n     * @returns {Promise} A promise that is resolved after destruction activity\n     *                    is completed.\n     */\n    destroy() {\n      this.destroyed = true;\n\n      const transportDestroyed = !this._transport\n        ? Promise.resolve()\n        : this._transport.destroy();\n      return transportDestroyed.then(() => {\n        this._transport = null;\n        if (this._worker) {\n          this._worker.destroy();\n          this._worker = null;\n        }\n      });\n    }\n\n    /**\n     * Registers callbacks to indicate the document loading completion.\n     * @ignore\n     */\n    then(onFulfilled, onRejected) {\n      throw new Error(\n        \"Removed API method: \" +\n          \"PDFDocumentLoadingTask.then, use the `promise` getter instead.\"\n      );\n    }\n  }\n  return PDFDocumentLoadingTask;\n})();\n\n/**\n * Abstract class to support range requests file loading.\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} progressiveDone\n */\nclass PDFDataRangeTransport {\n  constructor(length, initialData, progressiveDone = false) {\n    this.length = length;\n    this.initialData = initialData;\n    this.progressiveDone = progressiveDone;\n\n    this._rangeListeners = [];\n    this._progressListeners = [];\n    this._progressiveReadListeners = [];\n    this._progressiveDoneListeners = [];\n    this._readyCapability = createPromiseCapability();\n  }\n\n  addRangeListener(listener) {\n    this._rangeListeners.push(listener);\n  }\n\n  addProgressListener(listener) {\n    this._progressListeners.push(listener);\n  }\n\n  addProgressiveReadListener(listener) {\n    this._progressiveReadListeners.push(listener);\n  }\n\n  addProgressiveDoneListener(listener) {\n    this._progressiveDoneListeners.push(listener);\n  }\n\n  onDataRange(begin, chunk) {\n    for (const listener of this._rangeListeners) {\n      listener(begin, chunk);\n    }\n  }\n\n  onDataProgress(loaded, total) {\n    this._readyCapability.promise.then(() => {\n      for (const listener of this._progressListeners) {\n        listener(loaded, total);\n      }\n    });\n  }\n\n  onDataProgressiveRead(chunk) {\n    this._readyCapability.promise.then(() => {\n      for (const listener of this._progressiveReadListeners) {\n        listener(chunk);\n      }\n    });\n  }\n\n  onDataProgressiveDone() {\n    this._readyCapability.promise.then(() => {\n      for (const listener of this._progressiveDoneListeners) {\n        listener();\n      }\n    });\n  }\n\n  transportReady() {\n    this._readyCapability.resolve();\n  }\n\n  requestDataRange(begin, end) {\n    unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n  }\n\n  abort() {}\n}\n\n/**\n * Proxy to a PDFDocument in the worker thread. Also, contains commonly used\n * properties that can be read synchronously.\n */\nclass PDFDocumentProxy {\n  constructor(pdfInfo, transport) {\n    this._pdfInfo = pdfInfo;\n    this._transport = transport;\n  }\n\n  /**\n   * @type {number} Total number of pages the PDF contains.\n   */\n  get numPages() {\n    return this._pdfInfo.numPages;\n  }\n\n  /**\n   * @type {string} A (not guaranteed to be) unique ID to identify a PDF.\n   */\n  get fingerprint() {\n    return this._pdfInfo.fingerprint;\n  }\n\n  /**\n   * @param {number} pageNumber - The page number to get. The first page is 1.\n   * @returns {Promise} A promise that is resolved with a {@link PDFPageProxy}\n   *   object.\n   */\n  getPage(pageNumber) {\n    return this._transport.getPage(pageNumber);\n  }\n\n  /**\n   * @param {{num: number, gen: number}} ref - The page reference. Must have\n   *   the `num` and `gen` properties.\n   * @returns {Promise} A promise that is resolved with the page index (starting\n   *   from zero) that is associated with the reference.\n   */\n  getPageIndex(ref) {\n    return this._transport.getPageIndex(ref);\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with a lookup table for\n   *   mapping named destinations to reference numbers.\n   *\n   * This can be slow for large documents. Use `getDestination` instead.\n   */\n  getDestinations() {\n    return this._transport.getDestinations();\n  }\n\n  /**\n   * @param {string} id - The named destination to get.\n   * @returns {Promise} A promise that is resolved with all information\n   *   of the given named destination.\n   */\n  getDestination(id) {\n    return this._transport.getDestination(id);\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Array} containing\n   *   the page labels that correspond to the page indexes, or `null` when\n   *   no page labels are present in the PDF file.\n   */\n  getPageLabels() {\n    return this._transport.getPageLabels();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with a {string} containing\n   *   the page layout name.\n   */\n  getPageLayout() {\n    return this._transport.getPageLayout();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with a {string} containing\n   *   the page mode name.\n   */\n  getPageMode() {\n    return this._transport.getPageMode();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Object} containing\n   *   the viewer preferences.\n   */\n  getViewerPreferences() {\n    return this._transport.getViewerPreferences();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Object} containing\n   *   the currently supported actions, or `null` when no OpenAction exists.\n   */\n  getOpenAction() {\n    return this._transport.getOpenAction();\n  }\n\n  getOpenActionDestination() {\n    deprecated(\"getOpenActionDestination, use getOpenAction instead.\");\n    return this.getOpenAction().then(function(openAction) {\n      return openAction && openAction.dest ? openAction.dest : null;\n    });\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with a lookup table for\n   *   mapping named attachments to their content.\n   */\n  getAttachments() {\n    return this._transport.getAttachments();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Array} of all the\n   *   JavaScript strings in the name tree, or `null` if no JavaScript exists.\n   */\n  getJavaScript() {\n    return this._transport.getJavaScript();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Array} that is a\n   * tree outline (if it has one) of the PDF. The tree is in the format of:\n   * [\n   *   {\n   *     title: string,\n   *     bold: boolean,\n   *     italic: boolean,\n   *     color: rgb Uint8ClampedArray,\n   *     count: integer or undefined,\n   *     dest: dest obj,\n   *     url: string,\n   *     items: array of more items like this\n   *   },\n   *   ...\n   * ]\n   */\n  getOutline() {\n    return this._transport.getOutline();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Array} that contains\n   *   the permission flags for the PDF document, or `null` when\n   *   no permissions are present in the PDF file.\n   */\n  getPermissions() {\n    return this._transport.getPermissions();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with an {Object} that has\n   *   `info` and `metadata` properties. `info` is an {Object} filled with\n   *   anything available in the information dictionary and similarly\n   *   `metadata` is a {Metadata} object with information from the metadata\n   *   section of the PDF.\n   */\n  getMetadata() {\n    return this._transport.getMetadata();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved with a {TypedArray} that has\n   *   the raw data from the PDF.\n   */\n  getData() {\n    return this._transport.getData();\n  }\n\n  /**\n   * @returns {Promise} A promise that is resolved when the document's data\n   *   is loaded. It is resolved with an {Object} that contains the `length`\n   *   property that indicates size of the PDF data in bytes.\n   */\n  getDownloadInfo() {\n    return this._transport.downloadInfoCapability.promise;\n  }\n\n  /**\n   * @returns {Promise} A promise this is resolved with current statistics about\n   *   document structures (see {@link PDFDocumentStats}).\n   */\n  getStats() {\n    return this._transport.getStats();\n  }\n\n  /**\n   * Cleans up resources allocated by the document, on both the main- and\n   * worker-threads.\n   *\n   * NOTE: Do not, under any circumstances, call this method when rendering is\n   *       currently ongoing since that may lead to rendering errors.\n   *\n   * @returns {Promise} A promise that is resolved when clean-up has finished.\n   */\n  cleanup() {\n    return this._transport.startCleanup();\n  }\n\n  /**\n   * Destroys the current document instance and terminates the worker.\n   */\n  destroy() {\n    return this.loadingTask.destroy();\n  }\n\n  /**\n   * @type {Object} A subset of the current {DocumentInitParameters}, which are\n   *   either needed in the viewer and/or whose default values may be affected\n   *   by the `apiCompatibilityParams`.\n   */\n  get loadingParams() {\n    return this._transport.loadingParams;\n  }\n\n  /**\n   * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n   */\n  get loadingTask() {\n    return this._transport.loadingTask;\n  }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n *   the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n *   The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n *   The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n *   flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} normalizeWhitespace - replaces all occurrences of\n *   whitespace with standard spaces (0x20). The default value is `false`.\n * @property {boolean} disableCombineTextItems - do not attempt to combine\n *   same line {@link TextItem}'s. The default value is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {array} items - array of {@link TextItem}\n * @property {Object} styles - {@link TextStyle} objects, indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - text content.\n * @property {string} dir - text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {array} transform - transformation matrix.\n * @property {number} width - width in device space.\n * @property {number} height - height in device space.\n * @property {string} fontName - font name used by pdf.js for converted font.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - font ascent.\n * @property {number} descent - font descent.\n * @property {boolean} vertical - text is in vertical mode.\n * @property {string} fontFamily - possible font family\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} intent - Determines the annotations that will be fetched,\n *                    can be either 'display' (viewable annotations) or 'print'\n *                    (printable annotations).\n *                    If the parameter is omitted, all annotations are fetched.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by\n *                          calling the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display' or 'print'\n *                    (default value is 'display').\n * @property {boolean} [enableWebGL] - Enables WebGL accelerated rendering\n *                     for some operations. The default value is `false`.\n * @property {boolean} [renderInteractiveForms] - Whether or not\n *                     interactive form elements are rendered in the display\n *                     layer. If so, we do not render them on canvas as well.\n * @property {Array}  [transform] - Additional transform, applied\n *                    just before viewport transform.\n * @property {Object} [imageLayer] - An object that has beginLayout,\n *                    endLayout and appendImage functions.\n * @property {Object} [canvasFactory] - The factory that will be used\n *                    when creating canvases. The default value is\n *                    {DOMCanvasFactory}.\n * @property {Object} [background] - Background to use for the canvas.\n *                    Can use any valid canvas.fillStyle: A DOMString parsed as\n *                    CSS <color> value, a CanvasGradient object (a linear or\n *                    radial gradient) or a CanvasPattern object (a repetitive\n *                    image). The default value is 'rgb(255,255,255)'.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n *                               functions.\n */\n\n/**\n * Proxy to a PDFPage in the worker thread.\n * @alias PDFPageProxy\n */\nclass PDFPageProxy {\n  constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n    this._pageIndex = pageIndex;\n    this._pageInfo = pageInfo;\n    this._transport = transport;\n    this._stats = pdfBug ? new StatTimer() : null;\n    this._pdfBug = pdfBug;\n    this.commonObjs = transport.commonObjs;\n    this.objs = new PDFObjects();\n\n    this.cleanupAfterRender = false;\n    this.pendingCleanup = false;\n    this.intentStates = Object.create(null);\n    this.destroyed = false;\n  }\n\n  /**\n   * @type {number} Page number of the page. First page is 1.\n   */\n  get pageNumber() {\n    return this._pageIndex + 1;\n  }\n\n  /**\n   * @type {number} The number of degrees the page is rotated clockwise.\n   */\n  get rotate() {\n    return this._pageInfo.rotate;\n  }\n\n  /**\n   * @type {Object} The reference that points to this page. It has `num` and\n   *   `gen` properties.\n   */\n  get ref() {\n    return this._pageInfo.ref;\n  }\n\n  /**\n   * @type {number} The default size of units in 1/72nds of an inch.\n   */\n  get userUnit() {\n    return this._pageInfo.userUnit;\n  }\n\n  /**\n   * @type {Array} An array of the visible portion of the PDF page in user\n   *   space units [x1, y1, x2, y2].\n   */\n  get view() {\n    return this._pageInfo.view;\n  }\n\n  /**\n   * @param {GetViewportParameters} params - Viewport parameters.\n   * @returns {PageViewport} Contains 'width' and 'height' properties\n   *   along with transforms required for rendering.\n   */\n  getViewport({\n    scale,\n    rotation = this.rotate,\n    offsetX = 0,\n    offsetY = 0,\n    dontFlip = false,\n  } = {}) {\n    if (\n      typeof PDFJSDev !== \"undefined\" &&\n      PDFJSDev.test(\"GENERIC\") &&\n      (arguments.length > 1 || typeof arguments[0] === \"number\")\n    ) {\n      throw new Error(\n        \"PDFPageProxy.getViewport is called with obsolete arguments.\"\n      );\n    }\n    return new PageViewport({\n      viewBox: this.view,\n      scale,\n      rotation,\n      offsetX,\n      offsetY,\n      dontFlip,\n    });\n  }\n\n  /**\n   * @param {GetAnnotationsParameters} params - Annotation parameters.\n   * @returns {Promise} A promise that is resolved with an {Array} of the\n   *   annotation objects.\n   */\n  getAnnotations({ intent = null } = {}) {\n    if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n      this.annotationsPromise = this._transport.getAnnotations(\n        this._pageIndex,\n        intent\n      );\n      this.annotationsIntent = intent;\n    }\n    return this.annotationsPromise;\n  }\n\n  /**\n   * Begins the process of rendering a page to the desired context.\n   * @param {RenderParameters} params Page render parameters.\n   * @returns {RenderTask} An object that contains the promise, which\n   *                       is resolved when the page finishes rendering.\n   */\n  render({\n    canvasContext,\n    viewport,\n    intent = \"display\",\n    enableWebGL = false,\n    renderInteractiveForms = false,\n    transform = null,\n    imageLayer = null,\n    canvasFactory = null,\n    background = null,\n  }) {\n    if (this._stats) {\n      this._stats.time(\"Overall\");\n    }\n\n    const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n    // If there was a pending destroy, cancel it so no cleanup happens during\n    // this call to render.\n    this.pendingCleanup = false;\n\n    if (!this.intentStates[renderingIntent]) {\n      this.intentStates[renderingIntent] = Object.create(null);\n    }\n    const intentState = this.intentStates[renderingIntent];\n\n    // Ensure that a pending `streamReader` cancel timeout is always aborted.\n    if (intentState.streamReaderCancelTimeout) {\n      clearTimeout(intentState.streamReaderCancelTimeout);\n      intentState.streamReaderCancelTimeout = null;\n    }\n\n    const canvasFactoryInstance = canvasFactory || new DOMCanvasFactory();\n    const webGLContext = new WebGLContext({\n      enable: enableWebGL,\n    });\n\n    // If there's no displayReadyCapability yet, then the operatorList\n    // was never requested before. Make the request and create the promise.\n    if (!intentState.displayReadyCapability) {\n      intentState.displayReadyCapability = createPromiseCapability();\n      intentState.operatorList = {\n        fnArray: [],\n        argsArray: [],\n        lastChunk: false,\n      };\n\n      if (this._stats) {\n        this._stats.time(\"Page Request\");\n      }\n      this._pumpOperatorList({\n        pageIndex: this._pageIndex,\n        intent: renderingIntent,\n        renderInteractiveForms: renderInteractiveForms === true,\n      });\n    }\n\n    const complete = error => {\n      const i = intentState.renderTasks.indexOf(internalRenderTask);\n      if (i >= 0) {\n        intentState.renderTasks.splice(i, 1);\n      }\n\n      // Attempt to reduce memory usage during *printing*, by always running\n      // cleanup once rendering has finished (regardless of cleanupAfterRender).\n      if (this.cleanupAfterRender || renderingIntent === \"print\") {\n        this.pendingCleanup = true;\n      }\n      this._tryCleanup();\n\n      if (error) {\n        internalRenderTask.capability.reject(error);\n\n        this._abortOperatorList({\n          intentState,\n          reason: error,\n        });\n      } else {\n        internalRenderTask.capability.resolve();\n      }\n      if (this._stats) {\n        this._stats.timeEnd(\"Rendering\");\n        this._stats.timeEnd(\"Overall\");\n      }\n    };\n\n    const internalRenderTask = new InternalRenderTask({\n      callback: complete,\n      // Only include the required properties, and *not* the entire object.\n      params: {\n        canvasContext,\n        viewport,\n        transform,\n        imageLayer,\n        background,\n      },\n      objs: this.objs,\n      commonObjs: this.commonObjs,\n      operatorList: intentState.operatorList,\n      pageIndex: this._pageIndex,\n      canvasFactory: canvasFactoryInstance,\n      webGLContext,\n      useRequestAnimationFrame: renderingIntent !== \"print\",\n      pdfBug: this._pdfBug,\n    });\n\n    if (!intentState.renderTasks) {\n      intentState.renderTasks = [];\n    }\n    intentState.renderTasks.push(internalRenderTask);\n    const renderTask = internalRenderTask.task;\n\n    intentState.displayReadyCapability.promise\n      .then(transparency => {\n        if (this.pendingCleanup) {\n          complete();\n          return;\n        }\n        if (this._stats) {\n          this._stats.time(\"Rendering\");\n        }\n        internalRenderTask.initializeGraphics(transparency);\n        internalRenderTask.operatorListChanged();\n      })\n      .catch(complete);\n\n    return renderTask;\n  }\n\n  /**\n   * @returns {Promise} A promise resolved with an {@link PDFOperatorList}\n   *   object that represents page's operator list.\n   */\n  getOperatorList() {\n    function operatorListChanged() {\n      if (intentState.operatorList.lastChunk) {\n        intentState.opListReadCapability.resolve(intentState.operatorList);\n\n        const i = intentState.renderTasks.indexOf(opListTask);\n        if (i >= 0) {\n          intentState.renderTasks.splice(i, 1);\n        }\n      }\n    }\n\n    const renderingIntent = \"oplist\";\n    if (!this.intentStates[renderingIntent]) {\n      this.intentStates[renderingIntent] = Object.create(null);\n    }\n    const intentState = this.intentStates[renderingIntent];\n    let opListTask;\n\n    if (!intentState.opListReadCapability) {\n      opListTask = {};\n      opListTask.operatorListChanged = operatorListChanged;\n      intentState.opListReadCapability = createPromiseCapability();\n      intentState.renderTasks = [];\n      intentState.renderTasks.push(opListTask);\n      intentState.operatorList = {\n        fnArray: [],\n        argsArray: [],\n        lastChunk: false,\n      };\n\n      if (this._stats) {\n        this._stats.time(\"Page Request\");\n      }\n      this._pumpOperatorList({\n        pageIndex: this._pageIndex,\n        intent: renderingIntent,\n      });\n    }\n    return intentState.opListReadCapability.promise;\n  }\n\n  /**\n   * @param {getTextContentParameters} params - getTextContent parameters.\n   * @returns {ReadableStream} ReadableStream to read textContent chunks.\n   */\n  streamTextContent({\n    normalizeWhitespace = false,\n    disableCombineTextItems = false,\n  } = {}) {\n    const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n    return this._transport.messageHandler.sendWithStream(\n      \"GetTextContent\",\n      {\n        pageIndex: this._pageIndex,\n        normalizeWhitespace: normalizeWhitespace === true,\n        combineTextItems: disableCombineTextItems !== true,\n      },\n      {\n        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n        size(textContent) {\n          return textContent.items.length;\n        },\n      }\n    );\n  }\n\n  /**\n   * @param {getTextContentParameters} params - getTextContent parameters.\n   * @returns {Promise} That is resolved a {@link TextContent}\n   *   object that represent the page text content.\n   */\n  getTextContent(params = {}) {\n    const readableStream = this.streamTextContent(params);\n\n    return new Promise(function(resolve, reject) {\n      function pump() {\n        reader.read().then(function({ value, done }) {\n          if (done) {\n            resolve(textContent);\n            return;\n          }\n          Object.assign(textContent.styles, value.styles);\n          textContent.items.push(...value.items);\n          pump();\n        }, reject);\n      }\n\n      const reader = readableStream.getReader();\n      const textContent = {\n        items: [],\n        styles: Object.create(null),\n      };\n      pump();\n    });\n  }\n\n  /**\n   * Destroys the page object.\n   * @private\n   */\n  _destroy() {\n    this.destroyed = true;\n    this._transport.pageCache[this._pageIndex] = null;\n\n    const waitOn = [];\n    Object.keys(this.intentStates).forEach(intent => {\n      const intentState = this.intentStates[intent];\n      this._abortOperatorList({\n        intentState,\n        reason: new Error(\"Page was destroyed.\"),\n        force: true,\n      });\n\n      if (intent === \"oplist\") {\n        // Avoid errors below, since the renderTasks are just stubs.\n        return;\n      }\n      intentState.renderTasks.forEach(function(renderTask) {\n        const renderCompleted = renderTask.capability.promise.catch(\n          function() {}\n        ); // ignoring failures\n        waitOn.push(renderCompleted);\n        renderTask.cancel();\n      });\n    });\n    this.objs.clear();\n    this.annotationsPromise = null;\n    this.pendingCleanup = false;\n    return Promise.all(waitOn);\n  }\n\n  /**\n   * Cleans up resources allocated by the page.\n   * @param {boolean} [resetStats] - Reset page stats, if enabled.\n   *   The default value is `false`.\n   * @returns {boolean} Indicating if clean-up was successfully run.\n   */\n  cleanup(resetStats = false) {\n    this.pendingCleanup = true;\n    return this._tryCleanup(resetStats);\n  }\n\n  /**\n   * Attempts to clean up if rendering is in a state where that's possible.\n   * @private\n   */\n  _tryCleanup(resetStats = false) {\n    if (\n      !this.pendingCleanup ||\n      Object.keys(this.intentStates).some(intent => {\n        const intentState = this.intentStates[intent];\n        return (\n          intentState.renderTasks.length !== 0 ||\n          !intentState.operatorList.lastChunk\n        );\n      })\n    ) {\n      return false;\n    }\n\n    Object.keys(this.intentStates).forEach(intent => {\n      delete this.intentStates[intent];\n    });\n    this.objs.clear();\n    this.annotationsPromise = null;\n    if (resetStats && this._stats) {\n      this._stats = new StatTimer();\n    }\n    this.pendingCleanup = false;\n    return true;\n  }\n\n  /**\n   * @private\n   */\n  _startRenderPage(transparency, intent) {\n    const intentState = this.intentStates[intent];\n    if (!intentState) {\n      return; // Rendering was cancelled.\n    }\n    if (this._stats) {\n      this._stats.timeEnd(\"Page Request\");\n    }\n    // TODO Refactor RenderPageRequest to separate rendering\n    // and operator list logic\n    if (intentState.displayReadyCapability) {\n      intentState.displayReadyCapability.resolve(transparency);\n    }\n  }\n\n  /**\n   * @private\n   */\n  _renderPageChunk(operatorListChunk, intentState) {\n    // Add the new chunk to the current operator list.\n    for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n      intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n      intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n    }\n    intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n    // Notify all the rendering tasks there are more operators to be consumed.\n    for (let i = 0; i < intentState.renderTasks.length; i++) {\n      intentState.renderTasks[i].operatorListChanged();\n    }\n\n    if (operatorListChunk.lastChunk) {\n      this._tryCleanup();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _pumpOperatorList(args) {\n    assert(\n      args.intent,\n      'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.'\n    );\n\n    const readableStream = this._transport.messageHandler.sendWithStream(\n      \"GetOperatorList\",\n      args\n    );\n    const reader = readableStream.getReader();\n\n    const intentState = this.intentStates[args.intent];\n    intentState.streamReader = reader;\n\n    const pump = () => {\n      reader.read().then(\n        ({ value, done }) => {\n          if (done) {\n            intentState.streamReader = null;\n            return;\n          }\n          if (this._transport.destroyed) {\n            return; // Ignore any pending requests if the worker was terminated.\n          }\n          this._renderPageChunk(value, intentState);\n          pump();\n        },\n        reason => {\n          intentState.streamReader = null;\n\n          if (this._transport.destroyed) {\n            return; // Ignore any pending requests if the worker was terminated.\n          }\n          if (intentState.operatorList) {\n            // Mark operator list as complete.\n            intentState.operatorList.lastChunk = true;\n\n            for (let i = 0; i < intentState.renderTasks.length; i++) {\n              intentState.renderTasks[i].operatorListChanged();\n            }\n            this._tryCleanup();\n          }\n\n          if (intentState.displayReadyCapability) {\n            intentState.displayReadyCapability.reject(reason);\n          } else if (intentState.opListReadCapability) {\n            intentState.opListReadCapability.reject(reason);\n          } else {\n            throw reason;\n          }\n        }\n      );\n    };\n    pump();\n  }\n\n  /**\n   * @private\n   */\n  _abortOperatorList({ intentState, reason, force = false }) {\n    assert(\n      reason instanceof Error ||\n        (typeof reason === \"object\" && reason !== null),\n      'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.'\n    );\n\n    if (!intentState.streamReader) {\n      return;\n    }\n    if (!force) {\n      // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n      // multiple render() calls on the same canvas, won't break all rendering.\n      if (intentState.renderTasks.length !== 0) {\n        return;\n      }\n      // Don't immediately abort parsing on the worker-thread when rendering is\n      // cancelled, since that will unnecessarily delay re-rendering when (for\n      // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n      if (reason instanceof RenderingCancelledException) {\n        intentState.streamReaderCancelTimeout = setTimeout(() => {\n          this._abortOperatorList({ intentState, reason, force: true });\n          intentState.streamReaderCancelTimeout = null;\n        }, RENDERING_CANCELLED_TIMEOUT);\n        return;\n      }\n    }\n    intentState.streamReader.cancel(\n      new AbortException(reason && reason.message)\n    );\n    intentState.streamReader = null;\n\n    if (this._transport.destroyed) {\n      return; // Ignore any pending requests if the worker was terminated.\n    }\n    // Remove the current `intentState`, since a cancelled `getOperatorList`\n    // call on the worker-thread cannot be re-started...\n    Object.keys(this.intentStates).some(intent => {\n      if (this.intentStates[intent] === intentState) {\n        delete this.intentStates[intent];\n        return true;\n      }\n      return false;\n    });\n    // ... and force clean-up to ensure that any old state is always removed.\n    this.cleanup();\n  }\n\n  /**\n   * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n   */\n  get stats() {\n    return this._stats;\n  }\n}\n\nclass LoopbackPort {\n  constructor(defer = true) {\n    this._listeners = [];\n    this._defer = defer;\n    this._deferred = Promise.resolve(undefined);\n  }\n\n  postMessage(obj, transfers) {\n    function cloneValue(value) {\n      // Trying to perform a structured clone close to the spec, including\n      // transfers.\n      if (typeof value !== \"object\" || value === null) {\n        return value;\n      }\n      if (cloned.has(value)) {\n        // already cloned the object\n        return cloned.get(value);\n      }\n      let buffer, result;\n      if ((buffer = value.buffer) && isArrayBuffer(buffer)) {\n        // We found object with ArrayBuffer (typed array).\n        const transferable = transfers && transfers.includes(buffer);\n        if (transferable) {\n          result = new value.constructor(\n            buffer,\n            value.byteOffset,\n            value.byteLength\n          );\n        } else {\n          result = new value.constructor(value);\n        }\n        cloned.set(value, result);\n        return result;\n      }\n      result = Array.isArray(value) ? [] : {};\n      cloned.set(value, result); // adding to cache now for cyclic references\n      // Cloning all value and object properties, however ignoring properties\n      // defined via getter.\n      for (const i in value) {\n        let desc,\n          p = value;\n        while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n          p = Object.getPrototypeOf(p);\n        }\n        if (typeof desc.value === \"undefined\") {\n          continue;\n        }\n        if (typeof desc.value === \"function\") {\n          if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n            throw new Error(\n              `LoopbackPort.postMessage - cannot clone: ${value[i]}`\n            );\n          }\n          continue;\n        }\n        result[i] = cloneValue(desc.value);\n      }\n      return result;\n    }\n\n    if (!this._defer) {\n      this._listeners.forEach(listener => {\n        listener.call(this, { data: obj });\n      });\n      return;\n    }\n\n    const cloned = new WeakMap();\n    const e = { data: cloneValue(obj) };\n    this._deferred.then(() => {\n      this._listeners.forEach(listener => {\n        listener.call(this, e);\n      });\n    });\n  }\n\n  addEventListener(name, listener) {\n    this._listeners.push(listener);\n  }\n\n  removeEventListener(name, listener) {\n    const i = this._listeners.indexOf(listener);\n    this._listeners.splice(i, 1);\n  }\n\n  terminate() {\n    this._listeners.length = 0;\n  }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort`.\n * @property {number} [verbosity] - Controls the logging level; the\n *   constants from {VerbosityLevel} should be used.\n */\n\nconst PDFWorker = (function PDFWorkerClosure() {\n  const pdfWorkerPorts = new WeakMap();\n  let isWorkerDisabled = false;\n  let fallbackWorkerSrc;\n  let nextFakeWorkerId = 0;\n  let fakeWorkerCapability;\n\n  if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n    // eslint-disable-next-line no-undef\n    if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n      // Workers aren't supported in Node.js, force-disabling them there.\n      isWorkerDisabled = true;\n\n      if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"LIB\")) {\n        fallbackWorkerSrc = \"../pdf.worker.js\";\n      } else {\n        fallbackWorkerSrc = \"./pdf.worker.js\";\n      }\n    } else if (typeof document === \"object\" && \"currentScript\" in document) {\n      const pdfjsFilePath =\n        document.currentScript && document.currentScript.src;\n      if (pdfjsFilePath) {\n        fallbackWorkerSrc = pdfjsFilePath.replace(\n          /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n          \".worker$1$2\"\n        );\n      }\n    }\n  }\n\n  function getWorkerSrc() {\n    if (GlobalWorkerOptions.workerSrc) {\n      return GlobalWorkerOptions.workerSrc;\n    }\n    if (typeof fallbackWorkerSrc !== \"undefined\") {\n      if (!isNodeJS) {\n        deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n      }\n      return fallbackWorkerSrc;\n    }\n    throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n  }\n\n  function getMainThreadWorkerMessageHandler() {\n    let mainWorkerMessageHandler;\n    try {\n      mainWorkerMessageHandler =\n        globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n    } catch (ex) {\n      /* Ignore errors. */\n    }\n    return mainWorkerMessageHandler || null;\n  }\n\n  // Loads worker code into main thread.\n  function setupFakeWorkerGlobal() {\n    if (fakeWorkerCapability) {\n      return fakeWorkerCapability.promise;\n    }\n    fakeWorkerCapability = createPromiseCapability();\n\n    const loader = async function() {\n      const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n      if (mainWorkerMessageHandler) {\n        // The worker was already loaded using e.g. a `<script>` tag.\n        return mainWorkerMessageHandler;\n      }\n      if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n        if (typeof SystemJS !== \"object\") {\n          throw new Error(\"SystemJS must be used to load fake worker.\");\n        }\n        const worker = await SystemJS.import(\"pdfjs/core/worker.js\");\n        return worker.WorkerMessageHandler;\n      }\n      if (\n        PDFJSDev.test(\"GENERIC\") &&\n        isNodeJS &&\n        // eslint-disable-next-line no-undef\n        typeof __non_webpack_require__ === \"function\"\n      ) {\n        // Since bundlers, such as Webpack, cannot be told to leave `require`\n        // statements alone we are thus forced to jump through hoops in order\n        // to prevent `Critical dependency: ...` warnings in third-party\n        // deployments of the built `pdf.js`/`pdf.worker.js` files; see\n        // https://github.com/webpack/webpack/issues/8826\n        //\n        // The following hack is based on the assumption that code running in\n        // Node.js won't ever be affected by e.g. Content Security Policies that\n        // prevent the use of `eval`. If that ever occurs, we should revert this\n        // to a normal `__non_webpack_require__` statement and simply document\n        // the Webpack warnings instead (telling users to ignore them).\n        //\n        // eslint-disable-next-line no-eval\n        const worker = eval(\"require\")(getWorkerSrc());\n        return worker.WorkerMessageHandler;\n      }\n      await loadScript(getWorkerSrc());\n      return window.pdfjsWorker.WorkerMessageHandler;\n    };\n    loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n\n    return fakeWorkerCapability.promise;\n  }\n\n  function createCDNWrapper(url) {\n    // We will rely on blob URL's property to specify origin.\n    // We want this function to fail in case if createObjectURL or Blob do not\n    // exist or fail for some reason -- our Worker creation will fail anyway.\n    const wrapper = \"importScripts('\" + url + \"');\";\n    return URL.createObjectURL(new Blob([wrapper]));\n  }\n\n  /**\n   * PDF.js web worker abstraction, which controls the instantiation of PDF\n   * documents. Message handlers are used to pass information from the main\n   * thread to the worker thread and vice versa. If the creation of a web\n   * worker is not possible, a \"fake\" worker will be used instead.\n   */\n  class PDFWorker {\n    /**\n     * @param {PDFWorkerParameters} params - Worker initialization parameters.\n     */\n    constructor({\n      name = null,\n      port = null,\n      verbosity = getVerbosityLevel(),\n    } = {}) {\n      if (port && pdfWorkerPorts.has(port)) {\n        throw new Error(\"Cannot use more than one PDFWorker per port\");\n      }\n\n      this.name = name;\n      this.destroyed = false;\n      this.postMessageTransfers = true;\n      this.verbosity = verbosity;\n\n      this._readyCapability = createPromiseCapability();\n      this._port = null;\n      this._webWorker = null;\n      this._messageHandler = null;\n\n      if (port) {\n        pdfWorkerPorts.set(port, this);\n        this._initializeFromPort(port);\n        return;\n      }\n      this._initialize();\n    }\n\n    get promise() {\n      return this._readyCapability.promise;\n    }\n\n    get port() {\n      return this._port;\n    }\n\n    get messageHandler() {\n      return this._messageHandler;\n    }\n\n    _initializeFromPort(port) {\n      this._port = port;\n      this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n      this._messageHandler.on(\"ready\", function() {\n        // Ignoring 'ready' event -- MessageHandler shall be already initialized\n        // and ready to accept the messages.\n      });\n      this._readyCapability.resolve();\n    }\n\n    _initialize() {\n      // If worker support isn't disabled explicit and the browser has worker\n      // support, create a new web worker and test if it/the browser fulfills\n      // all requirements to run parts of pdf.js in a web worker.\n      // Right now, the requirement is, that an Uint8Array is still an\n      // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n      if (\n        typeof Worker !== \"undefined\" &&\n        !isWorkerDisabled &&\n        !getMainThreadWorkerMessageHandler()\n      ) {\n        let workerSrc = getWorkerSrc();\n\n        try {\n          // Wraps workerSrc path into blob URL, if the former does not belong\n          // to the same origin.\n          if (\n            typeof PDFJSDev !== \"undefined\" &&\n            PDFJSDev.test(\"GENERIC\") &&\n            !isSameOrigin(window.location.href, workerSrc)\n          ) {\n            workerSrc = createCDNWrapper(\n              new URL(workerSrc, window.location).href\n            );\n          }\n\n          // Some versions of FF can't create a worker on localhost, see:\n          // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n          const worker = new Worker(workerSrc);\n          const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n          const terminateEarly = () => {\n            worker.removeEventListener(\"error\", onWorkerError);\n            messageHandler.destroy();\n            worker.terminate();\n            if (this.destroyed) {\n              this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n            } else {\n              // Fall back to fake worker if the termination is caused by an\n              // error (e.g. NetworkError / SecurityError).\n              this._setupFakeWorker();\n            }\n          };\n\n          const onWorkerError = () => {\n            if (!this._webWorker) {\n              // Worker failed to initialize due to an error. Clean up and fall\n              // back to the fake worker.\n              terminateEarly();\n            }\n          };\n          worker.addEventListener(\"error\", onWorkerError);\n\n          messageHandler.on(\"test\", data => {\n            worker.removeEventListener(\"error\", onWorkerError);\n            if (this.destroyed) {\n              terminateEarly();\n              return; // worker was destroyed\n            }\n            if (data) {\n              // supportTypedArray\n              this._messageHandler = messageHandler;\n              this._port = worker;\n              this._webWorker = worker;\n              if (!data.supportTransfers) {\n                this.postMessageTransfers = false;\n              }\n              this._readyCapability.resolve();\n              // Send global setting, e.g. verbosity level.\n              messageHandler.send(\"configure\", {\n                verbosity: this.verbosity,\n              });\n            } else {\n              this._setupFakeWorker();\n              messageHandler.destroy();\n              worker.terminate();\n            }\n          });\n\n          messageHandler.on(\"ready\", data => {\n            worker.removeEventListener(\"error\", onWorkerError);\n            if (this.destroyed) {\n              terminateEarly();\n              return; // worker was destroyed\n            }\n            try {\n              sendTest();\n            } catch (e) {\n              // We need fallback to a faked worker.\n              this._setupFakeWorker();\n            }\n          });\n\n          const sendTest = () => {\n            const testObj = new Uint8Array([\n              this.postMessageTransfers ? 255 : 0,\n            ]);\n            // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n            // typed array. Also, checking if we can use transfers.\n            try {\n              messageHandler.send(\"test\", testObj, [testObj.buffer]);\n            } catch (ex) {\n              warn(\"Cannot use postMessage transfers.\");\n              testObj[0] = 0;\n              messageHandler.send(\"test\", testObj);\n            }\n          };\n\n          // It might take time for worker to initialize (especially when AMD\n          // loader is used). We will try to send test immediately, and then\n          // when 'ready' message will arrive. The worker shall process only\n          // first received 'test'.\n          sendTest();\n          return;\n        } catch (e) {\n          info(\"The worker has been disabled.\");\n        }\n      }\n      // Either workers are disabled, not supported or have thrown an exception.\n      // Thus, we fallback to a faked worker.\n      this._setupFakeWorker();\n    }\n\n    _setupFakeWorker() {\n      if (!isWorkerDisabled) {\n        warn(\"Setting up fake worker.\");\n        isWorkerDisabled = true;\n      }\n\n      setupFakeWorkerGlobal()\n        .then(WorkerMessageHandler => {\n          if (this.destroyed) {\n            this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n            return;\n          }\n          const port = new LoopbackPort();\n          this._port = port;\n\n          // All fake workers use the same port, making id unique.\n          const id = \"fake\" + nextFakeWorkerId++;\n\n          // If the main thread is our worker, setup the handling for the\n          // messages -- the main thread sends to it self.\n          const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n          WorkerMessageHandler.setup(workerHandler, port);\n\n          const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n          this._messageHandler = messageHandler;\n          this._readyCapability.resolve();\n          // Send global setting, e.g. verbosity level.\n          messageHandler.send(\"configure\", {\n            verbosity: this.verbosity,\n          });\n        })\n        .catch(reason => {\n          this._readyCapability.reject(\n            new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n          );\n        });\n    }\n\n    /**\n     * Destroys the worker instance.\n     */\n    destroy() {\n      this.destroyed = true;\n      if (this._webWorker) {\n        // We need to terminate only web worker created resource.\n        this._webWorker.terminate();\n        this._webWorker = null;\n      }\n      pdfWorkerPorts.delete(this._port);\n      this._port = null;\n      if (this._messageHandler) {\n        this._messageHandler.destroy();\n        this._messageHandler = null;\n      }\n    }\n\n    /**\n     * @param {PDFWorkerParameters} params - The worker initialization\n     *                                       parameters.\n     */\n    static fromPort(params) {\n      if (!params || !params.port) {\n        throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n      }\n      if (pdfWorkerPorts.has(params.port)) {\n        return pdfWorkerPorts.get(params.port);\n      }\n      return new PDFWorker(params);\n    }\n\n    static getWorkerSrc() {\n      return getWorkerSrc();\n    }\n  }\n  return PDFWorker;\n})();\n\n/**\n * For internal use only.\n * @ignore\n */\nclass WorkerTransport {\n  constructor(messageHandler, loadingTask, networkStream, params) {\n    this.messageHandler = messageHandler;\n    this.loadingTask = loadingTask;\n    this.commonObjs = new PDFObjects();\n    this.fontLoader = new FontLoader({\n      docId: loadingTask.docId,\n      onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n    });\n    this._params = params;\n    this.CMapReaderFactory = new params.CMapReaderFactory({\n      baseUrl: params.cMapUrl,\n      isCompressed: params.cMapPacked,\n    });\n\n    this.destroyed = false;\n    this.destroyCapability = null;\n    this._passwordCapability = null;\n\n    this._networkStream = networkStream;\n    this._fullReader = null;\n    this._lastProgress = null;\n\n    this.pageCache = [];\n    this.pagePromises = [];\n    this.downloadInfoCapability = createPromiseCapability();\n\n    this.setupMessageHandler();\n  }\n\n  destroy() {\n    if (this.destroyCapability) {\n      return this.destroyCapability.promise;\n    }\n\n    this.destroyed = true;\n    this.destroyCapability = createPromiseCapability();\n\n    if (this._passwordCapability) {\n      this._passwordCapability.reject(\n        new Error(\"Worker was destroyed during onPassword callback\")\n      );\n    }\n\n    const waitOn = [];\n    // We need to wait for all renderings to be completed, e.g.\n    // timeout/rAF can take a long time.\n    this.pageCache.forEach(function(page) {\n      if (page) {\n        waitOn.push(page._destroy());\n      }\n    });\n    this.pageCache.length = 0;\n    this.pagePromises.length = 0;\n    // We also need to wait for the worker to finish its long running tasks.\n    const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n    waitOn.push(terminated);\n    Promise.all(waitOn).then(() => {\n      this.fontLoader.clear();\n      if (this._networkStream) {\n        this._networkStream.cancelAllRequests(\n          new AbortException(\"Worker was terminated.\")\n        );\n      }\n\n      if (this.messageHandler) {\n        this.messageHandler.destroy();\n        this.messageHandler = null;\n      }\n      this.destroyCapability.resolve();\n    }, this.destroyCapability.reject);\n    return this.destroyCapability.promise;\n  }\n\n  setupMessageHandler() {\n    const { messageHandler, loadingTask } = this;\n\n    messageHandler.on(\"GetReader\", (data, sink) => {\n      assert(this._networkStream);\n      this._fullReader = this._networkStream.getFullReader();\n      this._fullReader.onProgress = evt => {\n        this._lastProgress = {\n          loaded: evt.loaded,\n          total: evt.total,\n        };\n      };\n      sink.onPull = () => {\n        this._fullReader\n          .read()\n          .then(function({ value, done }) {\n            if (done) {\n              sink.close();\n              return;\n            }\n            assert(isArrayBuffer(value));\n            // Enqueue data chunk into sink, and transfer it\n            // to other side as `Transferable` object.\n            sink.enqueue(new Uint8Array(value), 1, [value]);\n          })\n          .catch(reason => {\n            sink.error(reason);\n          });\n      };\n\n      sink.onCancel = reason => {\n        this._fullReader.cancel(reason);\n      };\n    });\n\n    messageHandler.on(\"ReaderHeadersReady\", data => {\n      const headersCapability = createPromiseCapability();\n      const fullReader = this._fullReader;\n      fullReader.headersReady.then(() => {\n        // If stream or range are disabled, it's our only way to report\n        // loading progress.\n        if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n          if (this._lastProgress && loadingTask.onProgress) {\n            loadingTask.onProgress(this._lastProgress);\n          }\n          fullReader.onProgress = evt => {\n            if (loadingTask.onProgress) {\n              loadingTask.onProgress({\n                loaded: evt.loaded,\n                total: evt.total,\n              });\n            }\n          };\n        }\n\n        headersCapability.resolve({\n          isStreamingSupported: fullReader.isStreamingSupported,\n          isRangeSupported: fullReader.isRangeSupported,\n          contentLength: fullReader.contentLength,\n        });\n      }, headersCapability.reject);\n\n      return headersCapability.promise;\n    });\n\n    messageHandler.on(\"GetRangeReader\", (data, sink) => {\n      assert(this._networkStream);\n      const rangeReader = this._networkStream.getRangeReader(\n        data.begin,\n        data.end\n      );\n\n      // When streaming is enabled, it's possible that the data requested here\n      // has already been fetched via the `_fullRequestReader` implementation.\n      // However, given that the PDF data is loaded asynchronously on the\n      // main-thread and then sent via `postMessage` to the worker-thread,\n      // it may not have been available during parsing (hence the attempt to\n      // use range requests here).\n      //\n      // To avoid wasting time and resources here, we'll thus *not* dispatch\n      // range requests if the data was already loaded but has not been sent to\n      // the worker-thread yet (which will happen via the `_fullRequestReader`).\n      if (!rangeReader) {\n        sink.close();\n        return;\n      }\n\n      sink.onPull = () => {\n        rangeReader\n          .read()\n          .then(function({ value, done }) {\n            if (done) {\n              sink.close();\n              return;\n            }\n            assert(isArrayBuffer(value));\n            sink.enqueue(new Uint8Array(value), 1, [value]);\n          })\n          .catch(reason => {\n            sink.error(reason);\n          });\n      };\n\n      sink.onCancel = reason => {\n        rangeReader.cancel(reason);\n      };\n    });\n\n    messageHandler.on(\"GetDoc\", ({ pdfInfo }) => {\n      this._numPages = pdfInfo.numPages;\n      loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n    });\n\n    messageHandler.on(\"DocException\", function(ex) {\n      let reason;\n      switch (ex.name) {\n        case \"PasswordException\":\n          reason = new PasswordException(ex.message, ex.code);\n          break;\n        case \"InvalidPDFException\":\n          reason = new InvalidPDFException(ex.message);\n          break;\n        case \"MissingPDFException\":\n          reason = new MissingPDFException(ex.message);\n          break;\n        case \"UnexpectedResponseException\":\n          reason = new UnexpectedResponseException(ex.message, ex.status);\n          break;\n        case \"UnknownErrorException\":\n          reason = new UnknownErrorException(ex.message, ex.details);\n          break;\n      }\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(reason instanceof Error, \"DocException: expected an Error.\");\n      }\n      loadingTask._capability.reject(reason);\n    });\n\n    messageHandler.on(\"PasswordRequest\", exception => {\n      this._passwordCapability = createPromiseCapability();\n\n      if (loadingTask.onPassword) {\n        const updatePassword = password => {\n          this._passwordCapability.resolve({\n            password,\n          });\n        };\n        try {\n          loadingTask.onPassword(updatePassword, exception.code);\n        } catch (ex) {\n          this._passwordCapability.reject(ex);\n        }\n      } else {\n        this._passwordCapability.reject(\n          new PasswordException(exception.message, exception.code)\n        );\n      }\n      return this._passwordCapability.promise;\n    });\n\n    messageHandler.on(\"DataLoaded\", data => {\n      // For consistency: Ensure that progress is always reported when the\n      // entire PDF file has been loaded, regardless of how it was fetched.\n      if (loadingTask.onProgress) {\n        loadingTask.onProgress({\n          loaded: data.length,\n          total: data.length,\n        });\n      }\n      this.downloadInfoCapability.resolve(data);\n    });\n\n    messageHandler.on(\"StartRenderPage\", data => {\n      if (this.destroyed) {\n        return; // Ignore any pending requests if the worker was terminated.\n      }\n\n      const page = this.pageCache[data.pageIndex];\n      page._startRenderPage(data.transparency, data.intent);\n    });\n\n    messageHandler.on(\"commonobj\", data => {\n      if (this.destroyed) {\n        return; // Ignore any pending requests if the worker was terminated.\n      }\n\n      const [id, type, exportedData] = data;\n      if (this.commonObjs.has(id)) {\n        return;\n      }\n\n      switch (type) {\n        case \"Font\":\n          const params = this._params;\n\n          if (\"error\" in exportedData) {\n            const exportedError = exportedData.error;\n            warn(`Error during font loading: ${exportedError}`);\n            this.commonObjs.resolve(id, exportedError);\n            break;\n          }\n\n          let fontRegistry = null;\n          if (\n            params.pdfBug &&\n            globalThis.FontInspector &&\n            globalThis.FontInspector.enabled\n          ) {\n            fontRegistry = {\n              registerFont(font, url) {\n                globalThis.FontInspector.fontAdded(font, url);\n              },\n            };\n          }\n          const font = new FontFaceObject(exportedData, {\n            isEvalSupported: params.isEvalSupported,\n            disableFontFace: params.disableFontFace,\n            ignoreErrors: params.ignoreErrors,\n            onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n            fontRegistry,\n          });\n\n          this.fontLoader.bind(font).then(\n            () => {\n              this.commonObjs.resolve(id, font);\n            },\n            reason => {\n              messageHandler\n                .sendWithPromise(\"FontFallback\", {\n                  id,\n                })\n                .finally(() => {\n                  this.commonObjs.resolve(id, font);\n                });\n            }\n          );\n          break;\n        case \"FontPath\":\n        case \"FontType3Res\":\n          this.commonObjs.resolve(id, exportedData);\n          break;\n        default:\n          throw new Error(`Got unknown common object type ${type}`);\n      }\n    });\n\n    messageHandler.on(\"obj\", data => {\n      if (this.destroyed) {\n        // Ignore any pending requests if the worker was terminated.\n        return undefined;\n      }\n\n      const [id, pageIndex, type, imageData] = data;\n      const pageProxy = this.pageCache[pageIndex];\n      if (pageProxy.objs.has(id)) {\n        return undefined;\n      }\n\n      switch (type) {\n        case \"JpegStream\":\n          return new Promise((resolve, reject) => {\n            const img = new Image();\n            img.onload = function() {\n              resolve(img);\n            };\n            img.onerror = function() {\n              // Note that when the browser image loading/decoding fails,\n              // we'll fallback to the built-in PDF.js JPEG decoder; see\n              // `PartialEvaluator.buildPaintImageXObject` in the\n              // `src/core/evaluator.js` file.\n              reject(new Error(\"Error during JPEG image loading\"));\n\n              // Always remember to release the image data if errors occurred.\n              releaseImageResources(img);\n            };\n            img.src = imageData;\n          }).then(img => {\n            pageProxy.objs.resolve(id, img);\n          });\n        case \"Image\":\n          pageProxy.objs.resolve(id, imageData);\n\n          // Heuristic that will allow us not to store large data.\n          const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n          if (\n            imageData &&\n            \"data\" in imageData &&\n            imageData.data.length > MAX_IMAGE_SIZE_TO_STORE\n          ) {\n            pageProxy.cleanupAfterRender = true;\n          }\n          break;\n        default:\n          throw new Error(`Got unknown object type ${type}`);\n      }\n      return undefined;\n    });\n\n    messageHandler.on(\"DocProgress\", data => {\n      if (this.destroyed) {\n        return; // Ignore any pending requests if the worker was terminated.\n      }\n\n      if (loadingTask.onProgress) {\n        loadingTask.onProgress({\n          loaded: data.loaded,\n          total: data.total,\n        });\n      }\n    });\n\n    messageHandler.on(\n      \"UnsupportedFeature\",\n      this._onUnsupportedFeature.bind(this)\n    );\n\n    messageHandler.on(\"JpegDecode\", data => {\n      if (this.destroyed) {\n        return Promise.reject(new Error(\"Worker was destroyed\"));\n      }\n\n      if (typeof document === \"undefined\") {\n        // Make sure that this code is not executing in node.js, as\n        // it's using DOM image, and there is no library to support that.\n        return Promise.reject(new Error('\"document\" is not defined.'));\n      }\n\n      const [imageUrl, components] = data;\n      if (components !== 3 && components !== 1) {\n        return Promise.reject(\n          new Error(\"Only 3 components or 1 component can be returned\")\n        );\n      }\n\n      return new Promise(function(resolve, reject) {\n        const img = new Image();\n        img.onload = function() {\n          const { width, height } = img;\n          const size = width * height;\n          const rgbaLength = size * 4;\n          const buf = new Uint8ClampedArray(size * components);\n          let tmpCanvas = document.createElement(\"canvas\");\n          tmpCanvas.width = width;\n          tmpCanvas.height = height;\n          let tmpCtx = tmpCanvas.getContext(\"2d\");\n          tmpCtx.drawImage(img, 0, 0);\n          const data = tmpCtx.getImageData(0, 0, width, height).data;\n\n          if (components === 3) {\n            for (let i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n              buf[j] = data[i];\n              buf[j + 1] = data[i + 1];\n              buf[j + 2] = data[i + 2];\n            }\n          } else if (components === 1) {\n            for (let i = 0, j = 0; i < rgbaLength; i += 4, j++) {\n              buf[j] = data[i];\n            }\n          }\n          resolve({ data: buf, width, height });\n\n          // Immediately release the image data once decoding has finished.\n          releaseImageResources(img);\n          // Zeroing the width and height cause Firefox to release graphics\n          // resources immediately, which can greatly reduce memory consumption.\n          tmpCanvas.width = 0;\n          tmpCanvas.height = 0;\n          tmpCanvas = null;\n          tmpCtx = null;\n        };\n        img.onerror = function() {\n          reject(new Error(\"JpegDecode failed to load image\"));\n\n          // Always remember to release the image data if errors occurred.\n          releaseImageResources(img);\n        };\n        img.src = imageUrl;\n      });\n    });\n\n    messageHandler.on(\"FetchBuiltInCMap\", (data, sink) => {\n      if (this.destroyed) {\n        sink.error(new Error(\"Worker was destroyed\"));\n        return;\n      }\n      let fetched = false;\n\n      sink.onPull = () => {\n        if (fetched) {\n          sink.close();\n          return;\n        }\n        fetched = true;\n\n        this.CMapReaderFactory.fetch(data)\n          .then(function(builtInCMap) {\n            sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n          })\n          .catch(function(reason) {\n            sink.error(reason);\n          });\n      };\n    });\n  }\n\n  _onUnsupportedFeature({ featureId }) {\n    if (this.destroyed) {\n      return; // Ignore any pending requests if the worker was terminated.\n    }\n    if (this.loadingTask.onUnsupportedFeature) {\n      this.loadingTask.onUnsupportedFeature(featureId);\n    }\n  }\n\n  getData() {\n    return this.messageHandler.sendWithPromise(\"GetData\", null);\n  }\n\n  getPage(pageNumber) {\n    if (\n      !Number.isInteger(pageNumber) ||\n      pageNumber <= 0 ||\n      pageNumber > this._numPages\n    ) {\n      return Promise.reject(new Error(\"Invalid page request\"));\n    }\n\n    const pageIndex = pageNumber - 1;\n    if (pageIndex in this.pagePromises) {\n      return this.pagePromises[pageIndex];\n    }\n    const promise = this.messageHandler\n      .sendWithPromise(\"GetPage\", {\n        pageIndex,\n      })\n      .then(pageInfo => {\n        if (this.destroyed) {\n          throw new Error(\"Transport destroyed\");\n        }\n        const page = new PDFPageProxy(\n          pageIndex,\n          pageInfo,\n          this,\n          this._params.pdfBug\n        );\n        this.pageCache[pageIndex] = page;\n        return page;\n      });\n    this.pagePromises[pageIndex] = promise;\n    return promise;\n  }\n\n  getPageIndex(ref) {\n    return this.messageHandler\n      .sendWithPromise(\"GetPageIndex\", {\n        ref,\n      })\n      .catch(function(reason) {\n        return Promise.reject(new Error(reason));\n      });\n  }\n\n  getAnnotations(pageIndex, intent) {\n    return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n      pageIndex,\n      intent,\n    });\n  }\n\n  getDestinations() {\n    return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n  }\n\n  getDestination(id) {\n    if (typeof id !== \"string\") {\n      return Promise.reject(new Error(\"Invalid destination request.\"));\n    }\n    return this.messageHandler.sendWithPromise(\"GetDestination\", {\n      id,\n    });\n  }\n\n  getPageLabels() {\n    return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n  }\n\n  getPageLayout() {\n    return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n  }\n\n  getPageMode() {\n    return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n  }\n\n  getViewerPreferences() {\n    return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n  }\n\n  getOpenAction() {\n    return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n  }\n\n  getAttachments() {\n    return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n  }\n\n  getJavaScript() {\n    return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n  }\n\n  getOutline() {\n    return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n  }\n\n  getPermissions() {\n    return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n  }\n\n  getMetadata() {\n    return this.messageHandler\n      .sendWithPromise(\"GetMetadata\", null)\n      .then(results => {\n        return {\n          info: results[0],\n          metadata: results[1] ? new Metadata(results[1]) : null,\n          contentDispositionFilename: this._fullReader\n            ? this._fullReader.filename\n            : null,\n        };\n      });\n  }\n\n  getStats() {\n    return this.messageHandler.sendWithPromise(\"GetStats\", null);\n  }\n\n  startCleanup() {\n    return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(() => {\n      for (let i = 0, ii = this.pageCache.length; i < ii; i++) {\n        const page = this.pageCache[i];\n        if (page) {\n          const cleanupSuccessful = page.cleanup();\n\n          if (!cleanupSuccessful) {\n            throw new Error(\n              `startCleanup: Page ${i + 1} is currently rendering.`\n            );\n          }\n        }\n      }\n      this.commonObjs.clear();\n      this.fontLoader.clear();\n    });\n  }\n\n  get loadingParams() {\n    const params = this._params;\n    return shadow(this, \"loadingParams\", {\n      disableAutoFetch: params.disableAutoFetch,\n      disableCreateObjectURL: params.disableCreateObjectURL,\n      disableFontFace: params.disableFontFace,\n      nativeImageDecoderSupport: params.nativeImageDecoderSupport,\n    });\n  }\n}\n\n/**\n * A PDF document and page is built of many objects. E.g. there are objects for\n * fonts, images, rendering code, etc. These objects may get processed inside of\n * a worker. This class implements some basic methods to manage these objects.\n * @ignore\n */\nclass PDFObjects {\n  constructor() {\n    this._objs = Object.create(null);\n  }\n\n  /**\n   * Ensures there is an object defined for `objId`.\n   * @private\n   */\n  _ensureObj(objId) {\n    if (this._objs[objId]) {\n      return this._objs[objId];\n    }\n    return (this._objs[objId] = {\n      capability: createPromiseCapability(),\n      data: null,\n      resolved: false,\n    });\n  }\n\n  /**\n   * If called *without* callback, this returns the data of `objId` but the\n   * object needs to be resolved. If it isn't, this method throws.\n   *\n   * If called *with* a callback, the callback is called with the data of the\n   * object once the object is resolved. That means, if you call this method\n   * and the object is already resolved, the callback gets called right away.\n   */\n  get(objId, callback = null) {\n    // If there is a callback, then the get can be async and the object is\n    // not required to be resolved right now.\n    if (callback) {\n      this._ensureObj(objId).capability.promise.then(callback);\n      return null;\n    }\n    // If there isn't a callback, the user expects to get the resolved data\n    // directly.\n    const obj = this._objs[objId];\n    // If there isn't an object yet or the object isn't resolved, then the\n    // data isn't ready yet!\n    if (!obj || !obj.resolved) {\n      throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n    }\n    return obj.data;\n  }\n\n  has(objId) {\n    const obj = this._objs[objId];\n    return obj ? obj.resolved : false;\n  }\n\n  /**\n   * Resolves the object `objId` with optional `data`.\n   */\n  resolve(objId, data) {\n    const obj = this._ensureObj(objId);\n\n    obj.resolved = true;\n    obj.data = data;\n    obj.capability.resolve(data);\n  }\n\n  clear() {\n    for (const objId in this._objs) {\n      const { data } = this._objs[objId];\n\n      if (typeof Image !== \"undefined\" && data instanceof Image) {\n        // Always release the image data when clearing out the cached objects.\n        releaseImageResources(data);\n      }\n    }\n    this._objs = Object.create(null);\n  }\n}\n\n/**\n * Allows controlling of the rendering tasks.\n * @alias RenderTask\n */\nclass RenderTask {\n  constructor(internalRenderTask) {\n    this._internalRenderTask = internalRenderTask;\n\n    /**\n     * Callback for incremental rendering -- a function that will be called\n     * each time the rendering is paused.  To continue rendering call the\n     * function that is the first argument to the callback.\n     * @type {function}\n     */\n    this.onContinue = null;\n  }\n\n  /**\n   * Promise for rendering task completion.\n   * @type {Promise}\n   */\n  get promise() {\n    return this._internalRenderTask.capability.promise;\n  }\n\n  /**\n   * Cancels the rendering task. If the task is currently rendering it will\n   * not be cancelled until graphics pauses with a timeout. The promise that\n   * this object extends will be rejected when cancelled.\n   */\n  cancel() {\n    this._internalRenderTask.cancel();\n  }\n\n  /**\n   * Registers callbacks to indicate the rendering task completion.\n   * @ignore\n   */\n  then(onFulfilled, onRejected) {\n    throw new Error(\n      \"Removed API method: \" +\n        \"RenderTask.then, use the `promise` getter instead.\"\n    );\n  }\n}\n\n/**\n * For internal use only.\n * @ignore\n */\nconst InternalRenderTask = (function InternalRenderTaskClosure() {\n  const canvasInRendering = new WeakSet();\n\n  class InternalRenderTask {\n    constructor({\n      callback,\n      params,\n      objs,\n      commonObjs,\n      operatorList,\n      pageIndex,\n      canvasFactory,\n      webGLContext,\n      useRequestAnimationFrame = false,\n      pdfBug = false,\n    }) {\n      this.callback = callback;\n      this.params = params;\n      this.objs = objs;\n      this.commonObjs = commonObjs;\n      this.operatorListIdx = null;\n      this.operatorList = operatorList;\n      this._pageIndex = pageIndex;\n      this.canvasFactory = canvasFactory;\n      this.webGLContext = webGLContext;\n      this._pdfBug = pdfBug;\n\n      this.running = false;\n      this.graphicsReadyCallback = null;\n      this.graphicsReady = false;\n      this._useRequestAnimationFrame =\n        useRequestAnimationFrame === true && typeof window !== \"undefined\";\n      this.cancelled = false;\n      this.capability = createPromiseCapability();\n      this.task = new RenderTask(this);\n      // caching this-bound methods\n      this._continueBound = this._continue.bind(this);\n      this._scheduleNextBound = this._scheduleNext.bind(this);\n      this._nextBound = this._next.bind(this);\n      this._canvas = params.canvasContext.canvas;\n    }\n\n    initializeGraphics(transparency = false) {\n      if (this.cancelled) {\n        return;\n      }\n      if (this._canvas) {\n        if (canvasInRendering.has(this._canvas)) {\n          throw new Error(\n            \"Cannot use the same canvas during multiple render() operations. \" +\n              \"Use different canvas or ensure previous operations were \" +\n              \"cancelled or completed.\"\n          );\n        }\n        canvasInRendering.add(this._canvas);\n      }\n\n      if (\n        this._pdfBug &&\n        globalThis.StepperManager &&\n        globalThis.StepperManager.enabled\n      ) {\n        this.stepper = globalThis.StepperManager.create(this._pageIndex);\n        this.stepper.init(this.operatorList);\n        this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n      }\n      const {\n        canvasContext,\n        viewport,\n        transform,\n        imageLayer,\n        background,\n      } = this.params;\n\n      this.gfx = new CanvasGraphics(\n        canvasContext,\n        this.commonObjs,\n        this.objs,\n        this.canvasFactory,\n        this.webGLContext,\n        imageLayer\n      );\n      this.gfx.beginDrawing({\n        transform,\n        viewport,\n        transparency,\n        background,\n      });\n      this.operatorListIdx = 0;\n      this.graphicsReady = true;\n      if (this.graphicsReadyCallback) {\n        this.graphicsReadyCallback();\n      }\n    }\n\n    cancel(error = null) {\n      this.running = false;\n      this.cancelled = true;\n      if (this.gfx) {\n        this.gfx.endDrawing();\n      }\n      if (this._canvas) {\n        canvasInRendering.delete(this._canvas);\n      }\n      this.callback(\n        error ||\n          new RenderingCancelledException(\n            `Rendering cancelled, page ${this._pageIndex + 1}`,\n            \"canvas\"\n          )\n      );\n    }\n\n    operatorListChanged() {\n      if (!this.graphicsReady) {\n        if (!this.graphicsReadyCallback) {\n          this.graphicsReadyCallback = this._continueBound;\n        }\n        return;\n      }\n\n      if (this.stepper) {\n        this.stepper.updateOperatorList(this.operatorList);\n      }\n\n      if (this.running) {\n        return;\n      }\n      this._continue();\n    }\n\n    _continue() {\n      this.running = true;\n      if (this.cancelled) {\n        return;\n      }\n      if (this.task.onContinue) {\n        this.task.onContinue(this._scheduleNextBound);\n      } else {\n        this._scheduleNext();\n      }\n    }\n\n    _scheduleNext() {\n      if (this._useRequestAnimationFrame) {\n        window.requestAnimationFrame(() => {\n          this._nextBound().catch(this.cancel.bind(this));\n        });\n      } else {\n        Promise.resolve()\n          .then(this._nextBound)\n          .catch(this.cancel.bind(this));\n      }\n    }\n\n    async _next() {\n      if (this.cancelled) {\n        return;\n      }\n      this.operatorListIdx = this.gfx.executeOperatorList(\n        this.operatorList,\n        this.operatorListIdx,\n        this._continueBound,\n        this.stepper\n      );\n      if (this.operatorListIdx === this.operatorList.argsArray.length) {\n        this.running = false;\n        if (this.operatorList.lastChunk) {\n          this.gfx.endDrawing();\n          if (this._canvas) {\n            canvasInRendering.delete(this._canvas);\n          }\n          this.callback();\n        }\n      }\n    }\n  }\n  return InternalRenderTask;\n})();\n\nconst version =\n  typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : null;\nconst build =\n  typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : null;\n\nexport {\n  getDocument,\n  LoopbackPort,\n  PDFDataRangeTransport,\n  PDFWorker,\n  PDFDocumentProxy,\n  PDFPageProxy,\n  setPDFNetworkStreamFactory,\n  version,\n  build,\n};\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* Copyright 2015 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  assert,\n  BaseException,\n  CMapCompressionType,\n  isString,\n  removeNullCharacters,\n  stringToBytes,\n  Util,\n  warn,\n} from \"../shared/util.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass DOMCanvasFactory {\n  create(width, height) {\n    if (width <= 0 || height <= 0) {\n      throw new Error(\"Invalid canvas size\");\n    }\n    const canvas = document.createElement(\"canvas\");\n    const context = canvas.getContext(\"2d\");\n    canvas.width = width;\n    canvas.height = height;\n    return {\n      canvas,\n      context,\n    };\n  }\n\n  reset(canvasAndContext, width, height) {\n    if (!canvasAndContext.canvas) {\n      throw new Error(\"Canvas is not specified\");\n    }\n    if (width <= 0 || height <= 0) {\n      throw new Error(\"Invalid canvas size\");\n    }\n    canvasAndContext.canvas.width = width;\n    canvasAndContext.canvas.height = height;\n  }\n\n  destroy(canvasAndContext) {\n    if (!canvasAndContext.canvas) {\n      throw new Error(\"Canvas is not specified\");\n    }\n    // Zeroing the width and height cause Firefox to release graphics\n    // resources immediately, which can greatly reduce memory consumption.\n    canvasAndContext.canvas.width = 0;\n    canvasAndContext.canvas.height = 0;\n    canvasAndContext.canvas = null;\n    canvasAndContext.context = null;\n  }\n}\n\nclass DOMCMapReaderFactory {\n  constructor({ baseUrl = null, isCompressed = false }) {\n    this.baseUrl = baseUrl;\n    this.isCompressed = isCompressed;\n  }\n\n  async fetch({ name }) {\n    if (!this.baseUrl) {\n      throw new Error(\n        'The CMap \"baseUrl\" parameter must be specified, ensure that ' +\n          'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'\n      );\n    }\n    if (!name) {\n      throw new Error(\"CMap name must be specified.\");\n    }\n    const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n    const compressionType = this.isCompressed\n      ? CMapCompressionType.BINARY\n      : CMapCompressionType.NONE;\n\n    if (\n      (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n      (isFetchSupported() && isValidFetchUrl(url, document.baseURI))\n    ) {\n      return fetch(url)\n        .then(async response => {\n          if (!response.ok) {\n            throw new Error(response.statusText);\n          }\n          let cMapData;\n          if (this.isCompressed) {\n            cMapData = new Uint8Array(await response.arrayBuffer());\n          } else {\n            cMapData = stringToBytes(await response.text());\n          }\n          return { cMapData, compressionType };\n        })\n        .catch(reason => {\n          throw new Error(\n            `Unable to load ${this.isCompressed ? \"binary \" : \"\"}` +\n              `CMap at: ${url}`\n          );\n        });\n    }\n\n    // The Fetch API is not supported.\n    return new Promise((resolve, reject) => {\n      const request = new XMLHttpRequest();\n      request.open(\"GET\", url, true);\n\n      if (this.isCompressed) {\n        request.responseType = \"arraybuffer\";\n      }\n      request.onreadystatechange = () => {\n        if (request.readyState !== XMLHttpRequest.DONE) {\n          return;\n        }\n        if (request.status === 200 || request.status === 0) {\n          let cMapData;\n          if (this.isCompressed && request.response) {\n            cMapData = new Uint8Array(request.response);\n          } else if (!this.isCompressed && request.responseText) {\n            cMapData = stringToBytes(request.responseText);\n          }\n          if (cMapData) {\n            resolve({ cMapData, compressionType });\n            return;\n          }\n        }\n        reject(new Error(request.statusText));\n      };\n\n      request.send(null);\n    }).catch(reason => {\n      throw new Error(\n        `Unable to load ${this.isCompressed ? \"binary \" : \"\"}` +\n          `CMap at: ${url}`\n      );\n    });\n  }\n}\n\nclass DOMSVGFactory {\n  create(width, height) {\n    assert(width > 0 && height > 0, \"Invalid SVG dimensions\");\n\n    const svg = document.createElementNS(SVG_NS, \"svg:svg\");\n    svg.setAttribute(\"version\", \"1.1\");\n    svg.setAttribute(\"width\", width + \"px\");\n    svg.setAttribute(\"height\", height + \"px\");\n    svg.setAttribute(\"preserveAspectRatio\", \"none\");\n    svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n    return svg;\n  }\n\n  createElement(type) {\n    assert(typeof type === \"string\", \"Invalid SVG element type\");\n\n    return document.createElementNS(SVG_NS, type);\n  }\n}\n\n/**\n * @typedef {Object} PageViewportParameters\n * @property {Array} viewBox - The xMin, yMin, xMax and yMax coordinates.\n * @property {number} scale - The scale of the viewport.\n * @property {number} rotation - The rotation, in degrees, of the viewport.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset. The\n *   default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset. The\n *   default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be flipped.\n *   The default value is `false`.\n */\n\n/**\n * @typedef {Object} PageViewportCloneParameters\n * @property {number} [scale] - The scale, overriding the one in the cloned\n *   viewport. The default value is `this.scale`.\n * @property {number} [rotation] - The rotation, in degrees, overriding the one\n *   in the cloned viewport. The default value is `this.rotation`.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n *   The default value is `this.offsetX`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n *   The default value is `this.offsetY`.\n * @property {boolean} [dontFlip] - If true, the x-axis will not be flipped.\n *   The default value is `false`.\n */\n\n/**\n * PDF page viewport created based on scale, rotation and offset.\n */\nclass PageViewport {\n  /**\n   * @param {PageViewportParameters}\n   */\n  constructor({\n    viewBox,\n    scale,\n    rotation,\n    offsetX = 0,\n    offsetY = 0,\n    dontFlip = false,\n  }) {\n    this.viewBox = viewBox;\n    this.scale = scale;\n    this.rotation = rotation;\n    this.offsetX = offsetX;\n    this.offsetY = offsetY;\n\n    // creating transform to convert pdf coordinate system to the normal\n    // canvas like coordinates taking in account scale and rotation\n    const centerX = (viewBox[2] + viewBox[0]) / 2;\n    const centerY = (viewBox[3] + viewBox[1]) / 2;\n    let rotateA, rotateB, rotateC, rotateD;\n    rotation = rotation % 360;\n    rotation = rotation < 0 ? rotation + 360 : rotation;\n    switch (rotation) {\n      case 180:\n        rotateA = -1;\n        rotateB = 0;\n        rotateC = 0;\n        rotateD = 1;\n        break;\n      case 90:\n        rotateA = 0;\n        rotateB = 1;\n        rotateC = 1;\n        rotateD = 0;\n        break;\n      case 270:\n        rotateA = 0;\n        rotateB = -1;\n        rotateC = -1;\n        rotateD = 0;\n        break;\n      // case 0:\n      default:\n        rotateA = 1;\n        rotateB = 0;\n        rotateC = 0;\n        rotateD = -1;\n        break;\n    }\n\n    if (dontFlip) {\n      rotateC = -rotateC;\n      rotateD = -rotateD;\n    }\n\n    let offsetCanvasX, offsetCanvasY;\n    let width, height;\n    if (rotateA === 0) {\n      offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n      offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n      width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n      height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n    } else {\n      offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n      offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n      width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n      height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n    }\n    // creating transform for the following operations:\n    // translate(-centerX, -centerY), rotate and flip vertically,\n    // scale, and translate(offsetCanvasX, offsetCanvasY)\n    this.transform = [\n      rotateA * scale,\n      rotateB * scale,\n      rotateC * scale,\n      rotateD * scale,\n      offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY,\n      offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY,\n    ];\n\n    this.width = width;\n    this.height = height;\n  }\n\n  /**\n   * Clones viewport, with optional additional properties.\n   * @param {PageViewportCloneParameters} [params]\n   * @returns {PageViewport} Cloned viewport.\n   */\n  clone({\n    scale = this.scale,\n    rotation = this.rotation,\n    offsetX = this.offsetX,\n    offsetY = this.offsetY,\n    dontFlip = false,\n  } = {}) {\n    return new PageViewport({\n      viewBox: this.viewBox.slice(),\n      scale,\n      rotation,\n      offsetX,\n      offsetY,\n      dontFlip,\n    });\n  }\n\n  /**\n   * Converts PDF point to the viewport coordinates. For examples, useful for\n   * converting PDF location into canvas pixel coordinates.\n   * @param {number} x - The x-coordinate.\n   * @param {number} y - The y-coordinate.\n   * @returns {Object} Object containing `x` and `y` properties of the\n   *   point in the viewport coordinate space.\n   * @see {@link convertToPdfPoint}\n   * @see {@link convertToViewportRectangle}\n   */\n  convertToViewportPoint(x, y) {\n    return Util.applyTransform([x, y], this.transform);\n  }\n\n  /**\n   * Converts PDF rectangle to the viewport coordinates.\n   * @param {Array} rect - The xMin, yMin, xMax and yMax coordinates.\n   * @returns {Array} Array containing corresponding coordinates of the\n   *   rectangle in the viewport coordinate space.\n   * @see {@link convertToViewportPoint}\n   */\n  convertToViewportRectangle(rect) {\n    const topLeft = Util.applyTransform([rect[0], rect[1]], this.transform);\n    const bottomRight = Util.applyTransform([rect[2], rect[3]], this.transform);\n    return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n  }\n\n  /**\n   * Converts viewport coordinates to the PDF location. For examples, useful\n   * for converting canvas pixel location into PDF one.\n   * @param {number} x - The x-coordinate.\n   * @param {number} y - The y-coordinate.\n   * @returns {Object} Object containing `x` and `y` properties of the\n   *   point in the PDF coordinate space.\n   * @see {@link convertToViewportPoint}\n   */\n  convertToPdfPoint(x, y) {\n    return Util.applyInverseTransform([x, y], this.transform);\n  }\n}\n\nclass RenderingCancelledException extends BaseException {\n  constructor(msg, type) {\n    super(msg);\n    this.type = type;\n  }\n}\n\nconst LinkTarget = {\n  NONE: 0, // Default value.\n  SELF: 1,\n  BLANK: 2,\n  PARENT: 3,\n  TOP: 4,\n};\n\n/**\n * @typedef ExternalLinkParameters\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n *   `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n *   `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n *   default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLLinkElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n  assert(\n    url && typeof url === \"string\",\n    'addLinkAttributes: A valid \"url\" parameter must provided.'\n  );\n\n  const urlNullRemoved = removeNullCharacters(url);\n  if (enabled) {\n    link.href = link.title = urlNullRemoved;\n  } else {\n    link.href = \"\";\n    link.title = `Disabled: ${urlNullRemoved}`;\n    link.onclick = () => {\n      return false;\n    };\n  }\n\n  let targetStr = \"\"; // LinkTarget.NONE\n  switch (target) {\n    case LinkTarget.NONE:\n      break;\n    case LinkTarget.SELF:\n      targetStr = \"_self\";\n      break;\n    case LinkTarget.BLANK:\n      targetStr = \"_blank\";\n      break;\n    case LinkTarget.PARENT:\n      targetStr = \"_parent\";\n      break;\n    case LinkTarget.TOP:\n      targetStr = \"_top\";\n      break;\n  }\n  link.target = targetStr;\n\n  link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\n// Gets the file name from a given URL.\nfunction getFilenameFromUrl(url) {\n  const anchor = url.indexOf(\"#\");\n  const query = url.indexOf(\"?\");\n  const end = Math.min(\n    anchor > 0 ? anchor : url.length,\n    query > 0 ? query : url.length\n  );\n  return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nclass StatTimer {\n  constructor() {\n    this.started = Object.create(null);\n    this.times = [];\n  }\n\n  time(name) {\n    if (name in this.started) {\n      warn(`Timer is already running for ${name}`);\n    }\n    this.started[name] = Date.now();\n  }\n\n  timeEnd(name) {\n    if (!(name in this.started)) {\n      warn(`Timer has not been started for ${name}`);\n    }\n    this.times.push({\n      name,\n      start: this.started[name],\n      end: Date.now(),\n    });\n    // Remove timer from started so it can be called again.\n    delete this.started[name];\n  }\n\n  toString() {\n    // Find the longest name for padding purposes.\n    const outBuf = [];\n    let longest = 0;\n    for (const time of this.times) {\n      const name = time.name;\n      if (name.length > longest) {\n        longest = name.length;\n      }\n    }\n    for (const time of this.times) {\n      const duration = time.end - time.start;\n      outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n    }\n    return outBuf.join(\"\");\n  }\n}\n\nfunction isFetchSupported() {\n  return (\n    typeof fetch !== \"undefined\" &&\n    typeof Response !== \"undefined\" &&\n    \"body\" in Response.prototype &&\n    typeof ReadableStream !== \"undefined\"\n  );\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n  try {\n    const { protocol } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n    // The Fetch API only supports the http/https protocols, and not file/ftp.\n    return protocol === \"http:\" || protocol === \"https:\";\n  } catch (ex) {\n    return false; // `new URL()` will throw on incorrect data.\n  }\n}\n\nfunction loadScript(src) {\n  return new Promise((resolve, reject) => {\n    const script = document.createElement(\"script\");\n    script.src = src;\n\n    script.onload = resolve;\n    script.onerror = function() {\n      reject(new Error(`Cannot load script at: ${script.src}`));\n    };\n    (document.head || document.documentElement).appendChild(script);\n  });\n}\n\n// Deprecated API function -- display regardless of the `verbosity` setting.\nfunction deprecated(details) {\n  console.log(\"Deprecated API usage: \" + details);\n}\n\nfunction releaseImageResources(img) {\n  assert(img instanceof Image, \"Invalid `img` parameter.\");\n\n  const url = img.src;\n  if (\n    typeof url === \"string\" &&\n    url.startsWith(\"blob:\") &&\n    URL.revokeObjectURL\n  ) {\n    URL.revokeObjectURL(url);\n  }\n  img.removeAttribute(\"src\");\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n  /**\n   * Convert a PDF date string to a JavaScript `Date` object.\n   *\n   * The PDF date string format is described in section 7.9.4 of the official\n   * PDF 32000-1:2008 specification. However, in the PDF 1.7 reference (sixth\n   * edition) Adobe describes the same format including a trailing apostrophe.\n   * This syntax in incorrect, but Adobe Acrobat creates PDF files that contain\n   * them. We ignore all apostrophes as they are not necessary for date parsing.\n   *\n   * Moreover, Adobe Acrobat doesn't handle changing the date to universal time\n   * and doesn't use the user's time zone (effectively ignoring the HH' and mm'\n   * parts of the date string).\n   *\n   * @param {string} input\n   * @returns {Date|null}\n   */\n  static toDateObject(input) {\n    if (!input || !isString(input)) {\n      return null;\n    }\n\n    // Lazily initialize the regular expression.\n    if (!pdfDateStringRegex) {\n      pdfDateStringRegex = new RegExp(\n        \"^D:\" + // Prefix (required)\n        \"(\\\\d{4})\" + // Year (required)\n        \"(\\\\d{2})?\" + // Month (optional)\n        \"(\\\\d{2})?\" + // Day (optional)\n        \"(\\\\d{2})?\" + // Hour (optional)\n        \"(\\\\d{2})?\" + // Minute (optional)\n        \"(\\\\d{2})?\" + // Second (optional)\n        \"([Z|+|-])?\" + // Universal time relation (optional)\n        \"(\\\\d{2})?\" + // Offset hour (optional)\n        \"'?\" + // Splitting apostrophe (optional)\n        \"(\\\\d{2})?\" + // Offset minute (optional)\n          \"'?\" // Trailing apostrophe (optional)\n      );\n    }\n\n    // Optional fields that don't satisfy the requirements from the regular\n    // expression (such as incorrect digit counts or numbers that are out of\n    // range) will fall back the defaults from the specification.\n    const matches = pdfDateStringRegex.exec(input);\n    if (!matches) {\n      return null;\n    }\n\n    // JavaScript's `Date` object expects the month to be between 0 and 11\n    // instead of 1 and 12, so we have to correct for that.\n    const year = parseInt(matches[1], 10);\n    let month = parseInt(matches[2], 10);\n    month = month >= 1 && month <= 12 ? month - 1 : 0;\n    let day = parseInt(matches[3], 10);\n    day = day >= 1 && day <= 31 ? day : 1;\n    let hour = parseInt(matches[4], 10);\n    hour = hour >= 0 && hour <= 23 ? hour : 0;\n    let minute = parseInt(matches[5], 10);\n    minute = minute >= 0 && minute <= 59 ? minute : 0;\n    let second = parseInt(matches[6], 10);\n    second = second >= 0 && second <= 59 ? second : 0;\n    const universalTimeRelation = matches[7] || \"Z\";\n    let offsetHour = parseInt(matches[8], 10);\n    offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n    let offsetMinute = parseInt(matches[9], 10) || 0;\n    offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n    // Universal time relation 'Z' means that the local time is equal to the\n    // universal time, whereas the relations '+'/'-' indicate that the local\n    // time is later respectively earlier than the universal time. Every date\n    // is normalized to universal time.\n    if (universalTimeRelation === \"-\") {\n      hour += offsetHour;\n      minute += offsetMinute;\n    } else if (universalTimeRelation === \"+\") {\n      hour -= offsetHour;\n      minute -= offsetMinute;\n    }\n\n    return new Date(Date.UTC(year, month, day, hour, minute, second));\n  }\n}\n\nexport {\n  PageViewport,\n  RenderingCancelledException,\n  addLinkAttributes,\n  getFilenameFromUrl,\n  LinkTarget,\n  DEFAULT_LINK_REL,\n  DOMCanvasFactory,\n  DOMCMapReaderFactory,\n  DOMSVGFactory,\n  StatTimer,\n  isFetchSupported,\n  isValidFetchUrl,\n  loadScript,\n  deprecated,\n  releaseImageResources,\n  PDFDateString,\n};\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  assert,\n  bytesToString,\n  IsEvalSupportedCached,\n  shadow,\n  string32,\n  unreachable,\n  UNSUPPORTED_FEATURES,\n  warn,\n} from \"../shared/util.js\";\n\nclass BaseFontLoader {\n  constructor({ docId, onUnsupportedFeature }) {\n    if (this.constructor === BaseFontLoader) {\n      unreachable(\"Cannot initialize BaseFontLoader.\");\n    }\n    this.docId = docId;\n    this._onUnsupportedFeature = onUnsupportedFeature;\n\n    this.nativeFontFaces = [];\n    this.styleElement = null;\n  }\n\n  addNativeFontFace(nativeFontFace) {\n    this.nativeFontFaces.push(nativeFontFace);\n    document.fonts.add(nativeFontFace);\n  }\n\n  insertRule(rule) {\n    let styleElement = this.styleElement;\n    if (!styleElement) {\n      styleElement = this.styleElement = document.createElement(\"style\");\n      styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n      document.documentElement\n        .getElementsByTagName(\"head\")[0]\n        .appendChild(styleElement);\n    }\n\n    const styleSheet = styleElement.sheet;\n    styleSheet.insertRule(rule, styleSheet.cssRules.length);\n  }\n\n  clear() {\n    this.nativeFontFaces.forEach(function(nativeFontFace) {\n      document.fonts.delete(nativeFontFace);\n    });\n    this.nativeFontFaces.length = 0;\n\n    if (this.styleElement) {\n      // Note: ChildNode.remove doesn't throw if the parentNode is undefined.\n      this.styleElement.remove();\n      this.styleElement = null;\n    }\n  }\n\n  async bind(font) {\n    // Add the font to the DOM only once; skip if the font is already loaded.\n    if (font.attached || font.missingFile) {\n      return;\n    }\n    font.attached = true;\n\n    if (this.isFontLoadingAPISupported) {\n      const nativeFontFace = font.createNativeFontFace();\n      if (nativeFontFace) {\n        this.addNativeFontFace(nativeFontFace);\n        try {\n          await nativeFontFace.loaded;\n        } catch (ex) {\n          this._onUnsupportedFeature({ featureId: UNSUPPORTED_FEATURES.font });\n          warn(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n\n          // When font loading failed, fall back to the built-in font renderer.\n          font.disableFontFace = true;\n          throw ex;\n        }\n      }\n      return; // The font was, asynchronously, loaded.\n    }\n\n    // !this.isFontLoadingAPISupported\n    const rule = font.createFontFaceRule();\n    if (rule) {\n      this.insertRule(rule);\n\n      if (this.isSyncFontLoadingSupported) {\n        return; // The font was, synchronously, loaded.\n      }\n      await new Promise(resolve => {\n        const request = this._queueLoadingCallback(resolve);\n        this._prepareFontLoadEvent([rule], [font], request);\n      });\n      // The font was, asynchronously, loaded.\n    }\n  }\n\n  _queueLoadingCallback(callback) {\n    unreachable(\"Abstract method `_queueLoadingCallback`.\");\n  }\n\n  get isFontLoadingAPISupported() {\n    const supported = typeof document !== \"undefined\" && !!document.fonts;\n    return shadow(this, \"isFontLoadingAPISupported\", supported);\n  }\n\n  // eslint-disable-next-line getter-return\n  get isSyncFontLoadingSupported() {\n    unreachable(\"Abstract method `isSyncFontLoadingSupported`.\");\n  }\n\n  // eslint-disable-next-line getter-return\n  get _loadTestFont() {\n    unreachable(\"Abstract method `_loadTestFont`.\");\n  }\n\n  _prepareFontLoadEvent(rules, fontsToLoad, request) {\n    unreachable(\"Abstract method `_prepareFontLoadEvent`.\");\n  }\n}\n\nlet FontLoader;\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n  FontLoader = class MozcentralFontLoader extends BaseFontLoader {\n    get isSyncFontLoadingSupported() {\n      return shadow(this, \"isSyncFontLoadingSupported\", true);\n    }\n  };\n} else {\n  // PDFJSDev.test('CHROME || GENERIC')\n\n  FontLoader = class GenericFontLoader extends BaseFontLoader {\n    constructor(docId) {\n      super(docId);\n      this.loadingContext = {\n        requests: [],\n        nextRequestId: 0,\n      };\n      this.loadTestFontId = 0;\n    }\n\n    get isSyncFontLoadingSupported() {\n      let supported = false;\n      if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\")) {\n        if (typeof navigator === \"undefined\") {\n          // Node.js - we can pretend that sync font loading is supported.\n          supported = true;\n        } else {\n          // User agent string sniffing is bad, but there is no reliable way to\n          // tell if the font is fully loaded and ready to be used with canvas.\n          const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(\n            navigator.userAgent\n          );\n          if (m && m[1] >= 14) {\n            supported = true;\n          }\n          // TODO - other browsers...\n        }\n      }\n      return shadow(this, \"isSyncFontLoadingSupported\", supported);\n    }\n\n    _queueLoadingCallback(callback) {\n      function completeRequest() {\n        assert(!request.done, \"completeRequest() cannot be called twice.\");\n        request.done = true;\n\n        // Sending all completed requests in order of how they were queued.\n        while (context.requests.length > 0 && context.requests[0].done) {\n          const otherRequest = context.requests.shift();\n          setTimeout(otherRequest.callback, 0);\n        }\n      }\n\n      const context = this.loadingContext;\n      const request = {\n        id: `pdfjs-font-loading-${context.nextRequestId++}`,\n        done: false,\n        complete: completeRequest,\n        callback,\n      };\n      context.requests.push(request);\n      return request;\n    }\n\n    get _loadTestFont() {\n      const getLoadTestFont = function() {\n        // This is a CFF font with 1 glyph for '.' that fills its entire width\n        // and height.\n        return atob(\n          \"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" +\n            \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" +\n            \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" +\n            \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" +\n            \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" +\n            \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" +\n            \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" +\n            \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" +\n            \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" +\n            \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" +\n            \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" +\n            \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" +\n            \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n            \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n            \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n            \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n            \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" +\n            \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" +\n            \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" +\n            \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" +\n            \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" +\n            \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\"\n        );\n      };\n      return shadow(this, \"_loadTestFont\", getLoadTestFont());\n    }\n\n    _prepareFontLoadEvent(rules, fonts, request) {\n      /** Hack begin */\n      // There's currently no event when a font has finished downloading so the\n      // following code is a dirty hack to 'guess' when a font is ready.\n      // It's assumed fonts are loaded in order, so add a known test font after\n      // the desired fonts and then test for the loading of that test font.\n\n      function int32(data, offset) {\n        return (\n          (data.charCodeAt(offset) << 24) |\n          (data.charCodeAt(offset + 1) << 16) |\n          (data.charCodeAt(offset + 2) << 8) |\n          (data.charCodeAt(offset + 3) & 0xff)\n        );\n      }\n      function spliceString(s, offset, remove, insert) {\n        const chunk1 = s.substring(0, offset);\n        const chunk2 = s.substring(offset + remove);\n        return chunk1 + insert + chunk2;\n      }\n      let i, ii;\n\n      // The temporary canvas is used to determine if fonts are loaded.\n      const canvas = document.createElement(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      const ctx = canvas.getContext(\"2d\");\n\n      let called = 0;\n      function isFontReady(name, callback) {\n        called++;\n        // With setTimeout clamping this gives the font ~100ms to load.\n        if (called > 30) {\n          warn(\"Load test font never loaded.\");\n          callback();\n          return;\n        }\n        ctx.font = \"30px \" + name;\n        ctx.fillText(\".\", 0, 20);\n        const imageData = ctx.getImageData(0, 0, 1, 1);\n        if (imageData.data[3] > 0) {\n          callback();\n          return;\n        }\n        setTimeout(isFontReady.bind(null, name, callback));\n      }\n\n      const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n      // Chromium seems to cache fonts based on a hash of the actual font data,\n      // so the font must be modified for each load test else it will appear to\n      // be loaded already.\n      // TODO: This could maybe be made faster by avoiding the btoa of the full\n      // font by splitting it in chunks before hand and padding the font id.\n      let data = this._loadTestFont;\n      const COMMENT_OFFSET = 976; // has to be on 4 byte boundary (for checksum)\n      data = spliceString(\n        data,\n        COMMENT_OFFSET,\n        loadTestFontId.length,\n        loadTestFontId\n      );\n      // CFF checksum is important for IE, adjusting it\n      const CFF_CHECKSUM_OFFSET = 16;\n      const XXXX_VALUE = 0x58585858; // the \"comment\" filled with 'X'\n      let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n      for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n        checksum = (checksum - XXXX_VALUE + int32(loadTestFontId, i)) | 0;\n      }\n      if (i < loadTestFontId.length) {\n        // align to 4 bytes boundary\n        checksum =\n          (checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i)) | 0;\n      }\n      data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, string32(checksum));\n\n      const url = `url(data:font/opentype;base64,${btoa(data)});`;\n      const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n      this.insertRule(rule);\n\n      const names = [];\n      for (i = 0, ii = fonts.length; i < ii; i++) {\n        names.push(fonts[i].loadedName);\n      }\n      names.push(loadTestFontId);\n\n      const div = document.createElement(\"div\");\n      div.style.visibility = \"hidden\";\n      div.style.width = div.style.height = \"10px\";\n      div.style.position = \"absolute\";\n      div.style.top = div.style.left = \"0px\";\n\n      for (i = 0, ii = names.length; i < ii; ++i) {\n        const span = document.createElement(\"span\");\n        span.textContent = \"Hi\";\n        span.style.fontFamily = names[i];\n        div.appendChild(span);\n      }\n      document.body.appendChild(div);\n\n      isFontReady(loadTestFontId, function() {\n        document.body.removeChild(div);\n        request.complete();\n      });\n      /** Hack end */\n    }\n  };\n} // End of PDFJSDev.test('CHROME || GENERIC')\n\nclass FontFaceObject {\n  constructor(\n    translatedData,\n    {\n      isEvalSupported = true,\n      disableFontFace = false,\n      ignoreErrors = false,\n      onUnsupportedFeature = null,\n      fontRegistry = null,\n    }\n  ) {\n    this.compiledGlyphs = Object.create(null);\n    // importing translated data\n    for (const i in translatedData) {\n      this[i] = translatedData[i];\n    }\n    this.isEvalSupported = isEvalSupported !== false;\n    this.disableFontFace = disableFontFace === true;\n    this.ignoreErrors = ignoreErrors === true;\n    this._onUnsupportedFeature = onUnsupportedFeature;\n    this.fontRegistry = fontRegistry;\n  }\n\n  createNativeFontFace() {\n    if (!this.data || this.disableFontFace) {\n      return null;\n    }\n    const nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n    if (this.fontRegistry) {\n      this.fontRegistry.registerFont(this);\n    }\n    return nativeFontFace;\n  }\n\n  createFontFaceRule() {\n    if (!this.data || this.disableFontFace) {\n      return null;\n    }\n    const data = bytesToString(new Uint8Array(this.data));\n    // Add the @font-face rule to the document.\n    const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n    const rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n\n    if (this.fontRegistry) {\n      this.fontRegistry.registerFont(this, url);\n    }\n    return rule;\n  }\n\n  getPathGenerator(objs, character) {\n    if (this.compiledGlyphs[character] !== undefined) {\n      return this.compiledGlyphs[character];\n    }\n\n    let cmds, current;\n    try {\n      cmds = objs.get(this.loadedName + \"_path_\" + character);\n    } catch (ex) {\n      if (!this.ignoreErrors) {\n        throw ex;\n      }\n      if (this._onUnsupportedFeature) {\n        this._onUnsupportedFeature({ featureId: UNSUPPORTED_FEATURES.font });\n      }\n      warn(`getPathGenerator - ignoring character: \"${ex}\".`);\n\n      return (this.compiledGlyphs[character] = function(c, size) {\n        // No-op function, to allow rendering to continue.\n      });\n    }\n\n    // If we can, compile cmds into JS for MAXIMUM SPEED...\n    if (this.isEvalSupported && IsEvalSupportedCached.value) {\n      let args,\n        js = \"\";\n      for (let i = 0, ii = cmds.length; i < ii; i++) {\n        current = cmds[i];\n\n        if (current.args !== undefined) {\n          args = current.args.join(\",\");\n        } else {\n          args = \"\";\n        }\n        js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n      }\n      // eslint-disable-next-line no-new-func\n      return (this.compiledGlyphs[character] = new Function(\"c\", \"size\", js));\n    }\n    // ... but fall back on using Function.prototype.apply() if we're\n    // blocked from using eval() for whatever reason (like CSP policies).\n    return (this.compiledGlyphs[character] = function(c, size) {\n      for (let i = 0, ii = cmds.length; i < ii; i++) {\n        current = cmds[i];\n\n        if (current.cmd === \"scale\") {\n          current.args = [size, -size];\n        }\n        c[current.cmd].apply(c, current.args);\n      }\n    });\n  }\n}\n\nexport { FontFaceObject, FontLoader };\n","/* Copyright 2018 Mozilla Foundation\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\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  const { isNodeJS } = require(\"../shared/is_node.js\");\n\n  const userAgent =\n    (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n  const isIE = /Trident/.test(userAgent);\n  const isIOSChrome = /CriOS/.test(userAgent);\n\n  // Checks if possible to use URL.createObjectURL()\n  // Support: IE, Chrome on iOS\n  (function checkOnBlobSupport() {\n    // Sometimes IE and Chrome on iOS losing the data created with\n    // createObjectURL(), see issues #3977 and #8081.\n    if (isIE || isIOSChrome) {\n      compatibilityParams.disableCreateObjectURL = true;\n    }\n  })();\n\n  // Support: Node.js\n  (function checkFontFaceAndImage() {\n    // Node.js is missing native support for `@font-face` and `Image`.\n    if (isNodeJS) {\n      compatibilityParams.disableFontFace = true;\n      compatibilityParams.nativeImageDecoderSupport = \"none\";\n    }\n  })();\n}\n\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  FONT_IDENTITY_MATRIX,\n  IDENTITY_MATRIX,\n  ImageKind,\n  info,\n  IsLittleEndianCached,\n  isNum,\n  OPS,\n  shadow,\n  TextRenderingMode,\n  unreachable,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport { getShadingPatternFromIR, TilingPattern } from \"./pattern_helper.js\";\n\n// <canvas> contexts store most of the state we need natively.\n// However, PDF needs a bit more state, which we store here.\n\n// Minimal font size that would be used during canvas fillText operations.\nvar MIN_FONT_SIZE = 16;\n// Maximum font size that would be used during canvas fillText operations.\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\n\n// Heuristic value used when enforcing minimum line widths.\nvar MIN_WIDTH_FACTOR = 0.65;\n\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\n\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n  // If the context doesn't expose a `mozCurrentTransform`, add a JS based one.\n  if (!ctx.mozCurrentTransform) {\n    ctx._originalSave = ctx.save;\n    ctx._originalRestore = ctx.restore;\n    ctx._originalRotate = ctx.rotate;\n    ctx._originalScale = ctx.scale;\n    ctx._originalTranslate = ctx.translate;\n    ctx._originalTransform = ctx.transform;\n    ctx._originalSetTransform = ctx.setTransform;\n\n    ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n    ctx._transformStack = [];\n\n    Object.defineProperty(ctx, \"mozCurrentTransform\", {\n      get: function getCurrentTransform() {\n        return this._transformMatrix;\n      },\n    });\n\n    Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n      get: function getCurrentTransformInverse() {\n        // Calculation done using WolframAlpha:\n        // http://www.wolframalpha.com/input/?\n        //   i=Inverse+{{a%2C+c%2C+e}%2C+{b%2C+d%2C+f}%2C+{0%2C+0%2C+1}}\n\n        var m = this._transformMatrix;\n        var a = m[0],\n          b = m[1],\n          c = m[2],\n          d = m[3],\n          e = m[4],\n          f = m[5];\n\n        var ad_bc = a * d - b * c;\n        var bc_ad = b * c - a * d;\n\n        return [\n          d / ad_bc,\n          b / bc_ad,\n          c / bc_ad,\n          a / ad_bc,\n          (d * e - c * f) / bc_ad,\n          (b * e - a * f) / ad_bc,\n        ];\n      },\n    });\n\n    ctx.save = function ctxSave() {\n      var old = this._transformMatrix;\n      this._transformStack.push(old);\n      this._transformMatrix = old.slice(0, 6);\n\n      this._originalSave();\n    };\n\n    ctx.restore = function ctxRestore() {\n      var prev = this._transformStack.pop();\n      if (prev) {\n        this._transformMatrix = prev;\n        this._originalRestore();\n      }\n    };\n\n    ctx.translate = function ctxTranslate(x, y) {\n      var m = this._transformMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n\n      this._originalTranslate(x, y);\n    };\n\n    ctx.scale = function ctxScale(x, y) {\n      var m = this._transformMatrix;\n      m[0] = m[0] * x;\n      m[1] = m[1] * x;\n      m[2] = m[2] * y;\n      m[3] = m[3] * y;\n\n      this._originalScale(x, y);\n    };\n\n    ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n      var m = this._transformMatrix;\n      this._transformMatrix = [\n        m[0] * a + m[2] * b,\n        m[1] * a + m[3] * b,\n        m[0] * c + m[2] * d,\n        m[1] * c + m[3] * d,\n        m[0] * e + m[2] * f + m[4],\n        m[1] * e + m[3] * f + m[5],\n      ];\n\n      ctx._originalTransform(a, b, c, d, e, f);\n    };\n\n    ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n      this._transformMatrix = [a, b, c, d, e, f];\n\n      ctx._originalSetTransform(a, b, c, d, e, f);\n    };\n\n    ctx.rotate = function ctxRotate(angle) {\n      var cosValue = Math.cos(angle);\n      var sinValue = Math.sin(angle);\n\n      var m = this._transformMatrix;\n      this._transformMatrix = [\n        m[0] * cosValue + m[2] * sinValue,\n        m[1] * cosValue + m[3] * sinValue,\n        m[0] * -sinValue + m[2] * cosValue,\n        m[1] * -sinValue + m[3] * cosValue,\n        m[4],\n        m[5],\n      ];\n\n      this._originalRotate(angle);\n    };\n  }\n}\n\nvar CachedCanvases = (function CachedCanvasesClosure() {\n  function CachedCanvases(canvasFactory) {\n    this.canvasFactory = canvasFactory;\n    this.cache = Object.create(null);\n  }\n  CachedCanvases.prototype = {\n    getCanvas: function CachedCanvases_getCanvas(\n      id,\n      width,\n      height,\n      trackTransform\n    ) {\n      var canvasEntry;\n      if (this.cache[id] !== undefined) {\n        canvasEntry = this.cache[id];\n        this.canvasFactory.reset(canvasEntry, width, height);\n        // reset canvas transform for emulated mozCurrentTransform, if needed\n        canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n      } else {\n        canvasEntry = this.canvasFactory.create(width, height);\n        this.cache[id] = canvasEntry;\n      }\n      if (trackTransform) {\n        addContextCurrentTransform(canvasEntry.context);\n      }\n      return canvasEntry;\n    },\n    clear() {\n      for (var id in this.cache) {\n        var canvasEntry = this.cache[id];\n        this.canvasFactory.destroy(canvasEntry);\n        delete this.cache[id];\n      }\n    },\n  };\n  return CachedCanvases;\n})();\n\nfunction compileType3Glyph(imgData) {\n  var POINT_TO_PROCESS_LIMIT = 1000;\n\n  var width = imgData.width,\n    height = imgData.height;\n  var i,\n    j,\n    j0,\n    width1 = width + 1;\n  var points = new Uint8Array(width1 * (height + 1));\n  // prettier-ignore\n  var POINT_TYPES =\n      new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n\n  // decodes bit-packed mask data\n  var lineSize = (width + 7) & ~7,\n    data0 = imgData.data;\n  var data = new Uint8Array(lineSize * height),\n    pos = 0,\n    ii;\n  for (i = 0, ii = data0.length; i < ii; i++) {\n    var mask = 128,\n      elem = data0[i];\n    while (mask > 0) {\n      data[pos++] = elem & mask ? 0 : 255;\n      mask >>= 1;\n    }\n  }\n\n  // finding interesting points: every point is located between mask pixels,\n  // so there will be points of the (width + 1)x(height + 1) grid. Every point\n  // will have flags assigned based on neighboring mask pixels:\n  //   4 | 8\n  //   --P--\n  //   2 | 1\n  // We are interested only in points with the flags:\n  //   - outside corners: 1, 2, 4, 8;\n  //   - inside corners: 7, 11, 13, 14;\n  //   - and, intersections: 5, 10.\n  var count = 0;\n  pos = 0;\n  if (data[pos] !== 0) {\n    points[0] = 1;\n    ++count;\n  }\n  for (j = 1; j < width; j++) {\n    if (data[pos] !== data[pos + 1]) {\n      points[j] = data[pos] ? 2 : 1;\n      ++count;\n    }\n    pos++;\n  }\n  if (data[pos] !== 0) {\n    points[j] = 2;\n    ++count;\n  }\n  for (i = 1; i < height; i++) {\n    pos = i * lineSize;\n    j0 = i * width1;\n    if (data[pos - lineSize] !== data[pos]) {\n      points[j0] = data[pos] ? 1 : 8;\n      ++count;\n    }\n    // 'sum' is the position of the current pixel configuration in the 'TYPES'\n    // array (in order 8-1-2-4, so we can use '>>2' to shift the column).\n    var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n    for (j = 1; j < width; j++) {\n      sum =\n        (sum >> 2) +\n        (data[pos + 1] ? 4 : 0) +\n        (data[pos - lineSize + 1] ? 8 : 0);\n      if (POINT_TYPES[sum]) {\n        points[j0 + j] = POINT_TYPES[sum];\n        ++count;\n      }\n      pos++;\n    }\n    if (data[pos - lineSize] !== data[pos]) {\n      points[j0 + j] = data[pos] ? 2 : 4;\n      ++count;\n    }\n\n    if (count > POINT_TO_PROCESS_LIMIT) {\n      return null;\n    }\n  }\n\n  pos = lineSize * (height - 1);\n  j0 = i * width1;\n  if (data[pos] !== 0) {\n    points[j0] = 8;\n    ++count;\n  }\n  for (j = 1; j < width; j++) {\n    if (data[pos] !== data[pos + 1]) {\n      points[j0 + j] = data[pos] ? 4 : 8;\n      ++count;\n    }\n    pos++;\n  }\n  if (data[pos] !== 0) {\n    points[j0 + j] = 4;\n    ++count;\n  }\n  if (count > POINT_TO_PROCESS_LIMIT) {\n    return null;\n  }\n\n  // building outlines\n  var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n  var outlines = [];\n  for (i = 0; count && i <= height; i++) {\n    var p = i * width1;\n    var end = p + width;\n    while (p < end && !points[p]) {\n      p++;\n    }\n    if (p === end) {\n      continue;\n    }\n    var coords = [p % width1, i];\n\n    var type = points[p],\n      p0 = p,\n      pp;\n    do {\n      var step = steps[type];\n      do {\n        p += step;\n      } while (!points[p]);\n\n      pp = points[p];\n      if (pp !== 5 && pp !== 10) {\n        // set new direction\n        type = pp;\n        // delete mark\n        points[p] = 0;\n      } else {\n        // type is 5 or 10, ie, a crossing\n        // set new direction\n        type = pp & ((0x33 * type) >> 4);\n        // set new type for \"future hit\"\n        points[p] &= (type >> 2) | (type << 2);\n      }\n\n      coords.push(p % width1);\n      coords.push((p / width1) | 0);\n\n      if (!points[p]) {\n        --count;\n      }\n    } while (p0 !== p);\n    outlines.push(coords);\n    --i;\n  }\n\n  var drawOutline = function(c) {\n    c.save();\n    // the path shall be painted in [0..1]x[0..1] space\n    c.scale(1 / width, -1 / height);\n    c.translate(0, -height);\n    c.beginPath();\n    for (var i = 0, ii = outlines.length; i < ii; i++) {\n      var o = outlines[i];\n      c.moveTo(o[0], o[1]);\n      for (var j = 2, jj = o.length; j < jj; j += 2) {\n        c.lineTo(o[j], o[j + 1]);\n      }\n    }\n    c.fill();\n    c.beginPath();\n    c.restore();\n  };\n\n  return drawOutline;\n}\n\nvar CanvasExtraState = (function CanvasExtraStateClosure() {\n  function CanvasExtraState() {\n    // Are soft masks and alpha values shapes or opacities?\n    this.alphaIsShape = false;\n    this.fontSize = 0;\n    this.fontSizeScale = 1;\n    this.textMatrix = IDENTITY_MATRIX;\n    this.textMatrixScale = 1;\n    this.fontMatrix = FONT_IDENTITY_MATRIX;\n    this.leading = 0;\n    // Current point (in user coordinates)\n    this.x = 0;\n    this.y = 0;\n    // Start of text line (in text coordinates)\n    this.lineX = 0;\n    this.lineY = 0;\n    // Character and word spacing\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.textHScale = 1;\n    this.textRenderingMode = TextRenderingMode.FILL;\n    this.textRise = 0;\n    // Default fore and background colors\n    this.fillColor = \"#000000\";\n    this.strokeColor = \"#000000\";\n    this.patternFill = false;\n    // Note: fill alpha applies to all non-stroking operations\n    this.fillAlpha = 1;\n    this.strokeAlpha = 1;\n    this.lineWidth = 1;\n    this.activeSMask = null;\n    this.resumeSMaskCtx = null; // nonclonable field (see the save method below)\n  }\n\n  CanvasExtraState.prototype = {\n    clone: function CanvasExtraState_clone() {\n      return Object.create(this);\n    },\n    setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n      this.x = x;\n      this.y = y;\n    },\n  };\n  return CanvasExtraState;\n})();\n\nvar CanvasGraphics = (function CanvasGraphicsClosure() {\n  // Defines the time the executeOperatorList is going to be executing\n  // before it stops and shedules a continue of execution.\n  var EXECUTION_TIME = 15;\n  // Defines the number of steps before checking the execution time\n  var EXECUTION_STEPS = 10;\n\n  function CanvasGraphics(\n    canvasCtx,\n    commonObjs,\n    objs,\n    canvasFactory,\n    webGLContext,\n    imageLayer\n  ) {\n    this.ctx = canvasCtx;\n    this.current = new CanvasExtraState();\n    this.stateStack = [];\n    this.pendingClip = null;\n    this.pendingEOFill = false;\n    this.res = null;\n    this.xobjs = null;\n    this.commonObjs = commonObjs;\n    this.objs = objs;\n    this.canvasFactory = canvasFactory;\n    this.webGLContext = webGLContext;\n    this.imageLayer = imageLayer;\n    this.groupStack = [];\n    this.processingType3 = null;\n    // Patterns are painted relative to the initial page/form transform, see pdf\n    // spec 8.7.2 NOTE 1.\n    this.baseTransform = null;\n    this.baseTransformStack = [];\n    this.groupLevel = 0;\n    this.smaskStack = [];\n    this.smaskCounter = 0;\n    this.tempSMask = null;\n    this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n    if (canvasCtx) {\n      // NOTE: if mozCurrentTransform is polyfilled, then the current state of\n      // the transformation must already be set in canvasCtx._transformMatrix.\n      addContextCurrentTransform(canvasCtx);\n    }\n    this._cachedGetSinglePixelWidth = null;\n  }\n\n  function putBinaryImageData(ctx, imgData) {\n    if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n      ctx.putImageData(imgData, 0, 0);\n      return;\n    }\n\n    // Put the image data to the canvas in chunks, rather than putting the\n    // whole image at once.  This saves JS memory, because the ImageData object\n    // is smaller. It also possibly saves C++ memory within the implementation\n    // of putImageData(). (E.g. in Firefox we make two short-lived copies of\n    // the data passed to putImageData()). |n| shouldn't be too small, however,\n    // because too many putImageData() calls will slow things down.\n    //\n    // Note: as written, if the last chunk is partial, the putImageData() call\n    // will (conceptually) put pixels past the bounds of the canvas.  But\n    // that's ok; any such pixels are ignored.\n\n    var height = imgData.height,\n      width = imgData.width;\n    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n\n    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n    var srcPos = 0,\n      destPos;\n    var src = imgData.data;\n    var dest = chunkImgData.data;\n    var i, j, thisChunkHeight, elemsInThisChunk;\n\n    // There are multiple forms in which the pixel data can be passed, and\n    // imgData.kind tells us which one this is.\n    if (imgData.kind === ImageKind.GRAYSCALE_1BPP) {\n      // Grayscale, 1 bit per pixel (i.e. black-and-white).\n      var srcLength = src.byteLength;\n      var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n      var dest32DataLength = dest32.length;\n      var fullSrcDiff = (width + 7) >> 3;\n      var white = 0xffffffff;\n      var black = IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n      for (i = 0; i < totalChunks; i++) {\n        thisChunkHeight =\n          i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n        destPos = 0;\n        for (j = 0; j < thisChunkHeight; j++) {\n          var srcDiff = srcLength - srcPos;\n          var k = 0;\n          var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n          var kEndUnrolled = kEnd & ~7;\n          var mask = 0;\n          var srcByte = 0;\n          for (; k < kEndUnrolled; k += 8) {\n            srcByte = src[srcPos++];\n            dest32[destPos++] = srcByte & 128 ? white : black;\n            dest32[destPos++] = srcByte & 64 ? white : black;\n            dest32[destPos++] = srcByte & 32 ? white : black;\n            dest32[destPos++] = srcByte & 16 ? white : black;\n            dest32[destPos++] = srcByte & 8 ? white : black;\n            dest32[destPos++] = srcByte & 4 ? white : black;\n            dest32[destPos++] = srcByte & 2 ? white : black;\n            dest32[destPos++] = srcByte & 1 ? white : black;\n          }\n          for (; k < kEnd; k++) {\n            if (mask === 0) {\n              srcByte = src[srcPos++];\n              mask = 128;\n            }\n\n            dest32[destPos++] = srcByte & mask ? white : black;\n            mask >>= 1;\n          }\n        }\n        // We ran out of input. Make all remaining pixels transparent.\n        while (destPos < dest32DataLength) {\n          dest32[destPos++] = 0;\n        }\n\n        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n      }\n    } else if (imgData.kind === ImageKind.RGBA_32BPP) {\n      // RGBA, 32-bits per pixel.\n\n      j = 0;\n      elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n      for (i = 0; i < fullChunks; i++) {\n        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n        srcPos += elemsInThisChunk;\n\n        ctx.putImageData(chunkImgData, 0, j);\n        j += FULL_CHUNK_HEIGHT;\n      }\n      if (i < totalChunks) {\n        elemsInThisChunk = width * partialChunkHeight * 4;\n        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n        ctx.putImageData(chunkImgData, 0, j);\n      }\n    } else if (imgData.kind === ImageKind.RGB_24BPP) {\n      // RGB, 24-bits per pixel.\n      thisChunkHeight = FULL_CHUNK_HEIGHT;\n      elemsInThisChunk = width * thisChunkHeight;\n      for (i = 0; i < totalChunks; i++) {\n        if (i >= fullChunks) {\n          thisChunkHeight = partialChunkHeight;\n          elemsInThisChunk = width * thisChunkHeight;\n        }\n\n        destPos = 0;\n        for (j = elemsInThisChunk; j--; ) {\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = src[srcPos++];\n          dest[destPos++] = 255;\n        }\n        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n      }\n    } else {\n      throw new Error(`bad image kind: ${imgData.kind}`);\n    }\n  }\n\n  function putBinaryImageMask(ctx, imgData) {\n    var height = imgData.height,\n      width = imgData.width;\n    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n\n    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n    var srcPos = 0;\n    var src = imgData.data;\n    var dest = chunkImgData.data;\n\n    for (var i = 0; i < totalChunks; i++) {\n      var thisChunkHeight =\n        i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n\n      // Expand the mask so it can be used by the canvas.  Any required\n      // inversion has already been handled.\n      var destPos = 3; // alpha component offset\n      for (var j = 0; j < thisChunkHeight; j++) {\n        var mask = 0;\n        for (var k = 0; k < width; k++) {\n          if (!mask) {\n            var elem = src[srcPos++];\n            mask = 128;\n          }\n          dest[destPos] = elem & mask ? 0 : 255;\n          destPos += 4;\n          mask >>= 1;\n        }\n      }\n      ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n    }\n  }\n\n  function copyCtxState(sourceCtx, destCtx) {\n    var properties = [\n      \"strokeStyle\",\n      \"fillStyle\",\n      \"fillRule\",\n      \"globalAlpha\",\n      \"lineWidth\",\n      \"lineCap\",\n      \"lineJoin\",\n      \"miterLimit\",\n      \"globalCompositeOperation\",\n      \"font\",\n    ];\n    for (var i = 0, ii = properties.length; i < ii; i++) {\n      var property = properties[i];\n      if (sourceCtx[property] !== undefined) {\n        destCtx[property] = sourceCtx[property];\n      }\n    }\n    if (sourceCtx.setLineDash !== undefined) {\n      destCtx.setLineDash(sourceCtx.getLineDash());\n      destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n    }\n  }\n\n  function resetCtxToDefault(ctx) {\n    ctx.strokeStyle = \"#000000\";\n    ctx.fillStyle = \"#000000\";\n    ctx.fillRule = \"nonzero\";\n    ctx.globalAlpha = 1;\n    ctx.lineWidth = 1;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 10;\n    ctx.globalCompositeOperation = \"source-over\";\n    ctx.font = \"10px sans-serif\";\n    if (ctx.setLineDash !== undefined) {\n      ctx.setLineDash([]);\n      ctx.lineDashOffset = 0;\n    }\n  }\n\n  function composeSMaskBackdrop(bytes, r0, g0, b0) {\n    var length = bytes.length;\n    for (var i = 3; i < length; i += 4) {\n      var alpha = bytes[i];\n      if (alpha === 0) {\n        bytes[i - 3] = r0;\n        bytes[i - 2] = g0;\n        bytes[i - 1] = b0;\n      } else if (alpha < 255) {\n        var alpha_ = 255 - alpha;\n        bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;\n        bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;\n        bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;\n      }\n    }\n  }\n\n  function composeSMaskAlpha(maskData, layerData, transferMap) {\n    var length = maskData.length;\n    var scale = 1 / 255;\n    for (var i = 3; i < length; i += 4) {\n      var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n      layerData[i] = (layerData[i] * alpha * scale) | 0;\n    }\n  }\n\n  function composeSMaskLuminosity(maskData, layerData, transferMap) {\n    var length = maskData.length;\n    for (var i = 3; i < length; i += 4) {\n      var y =\n        maskData[i - 3] * 77 + // * 0.3 / 255 * 0x10000\n        maskData[i - 2] * 152 + // * 0.59 ....\n        maskData[i - 1] * 28; // * 0.11 ....\n      layerData[i] = transferMap\n        ? (layerData[i] * transferMap[y >> 8]) >> 8\n        : (layerData[i] * y) >> 16;\n    }\n  }\n\n  function genericComposeSMask(\n    maskCtx,\n    layerCtx,\n    width,\n    height,\n    subtype,\n    backdrop,\n    transferMap\n  ) {\n    var hasBackdrop = !!backdrop;\n    var r0 = hasBackdrop ? backdrop[0] : 0;\n    var g0 = hasBackdrop ? backdrop[1] : 0;\n    var b0 = hasBackdrop ? backdrop[2] : 0;\n\n    var composeFn;\n    if (subtype === \"Luminosity\") {\n      composeFn = composeSMaskLuminosity;\n    } else {\n      composeFn = composeSMaskAlpha;\n    }\n\n    // processing image in chunks to save memory\n    var PIXELS_TO_PROCESS = 1048576;\n    var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n    for (var row = 0; row < height; row += chunkSize) {\n      var chunkHeight = Math.min(chunkSize, height - row);\n      var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n      var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n      if (hasBackdrop) {\n        composeSMaskBackdrop(maskData.data, r0, g0, b0);\n      }\n      composeFn(maskData.data, layerData.data, transferMap);\n\n      maskCtx.putImageData(layerData, 0, row);\n    }\n  }\n\n  function composeSMask(ctx, smask, layerCtx, webGLContext) {\n    var mask = smask.canvas;\n    var maskCtx = smask.context;\n\n    ctx.setTransform(\n      smask.scaleX,\n      0,\n      0,\n      smask.scaleY,\n      smask.offsetX,\n      smask.offsetY\n    );\n\n    var backdrop = smask.backdrop || null;\n    if (!smask.transferMap && webGLContext.isEnabled) {\n      const composed = webGLContext.composeSMask({\n        layer: layerCtx.canvas,\n        mask,\n        properties: {\n          subtype: smask.subtype,\n          backdrop,\n        },\n      });\n      ctx.setTransform(1, 0, 0, 1, 0, 0);\n      ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n      return;\n    }\n    genericComposeSMask(\n      maskCtx,\n      layerCtx,\n      mask.width,\n      mask.height,\n      smask.subtype,\n      backdrop,\n      smask.transferMap\n    );\n    ctx.drawImage(mask, 0, 0);\n  }\n\n  var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n  var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n  var NORMAL_CLIP = {};\n  var EO_CLIP = {};\n\n  CanvasGraphics.prototype = {\n    beginDrawing({\n      transform,\n      viewport,\n      transparency = false,\n      background = null,\n    }) {\n      // For pdfs that use blend modes we have to clear the canvas else certain\n      // blend modes can look wrong since we'd be blending with a white\n      // backdrop. The problem with a transparent backdrop though is we then\n      // don't get sub pixel anti aliasing on text, creating temporary\n      // transparent canvas when we have blend modes.\n      var width = this.ctx.canvas.width;\n      var height = this.ctx.canvas.height;\n\n      this.ctx.save();\n      this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n      this.ctx.fillRect(0, 0, width, height);\n      this.ctx.restore();\n\n      if (transparency) {\n        var transparentCanvas = this.cachedCanvases.getCanvas(\n          \"transparent\",\n          width,\n          height,\n          true\n        );\n        this.compositeCtx = this.ctx;\n        this.transparentCanvas = transparentCanvas.canvas;\n        this.ctx = transparentCanvas.context;\n        this.ctx.save();\n        // The transform can be applied before rendering, transferring it to\n        // the new canvas.\n        this.ctx.transform.apply(\n          this.ctx,\n          this.compositeCtx.mozCurrentTransform\n        );\n      }\n\n      this.ctx.save();\n      resetCtxToDefault(this.ctx);\n      if (transform) {\n        this.ctx.transform.apply(this.ctx, transform);\n      }\n      this.ctx.transform.apply(this.ctx, viewport.transform);\n\n      this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n      if (this.imageLayer) {\n        this.imageLayer.beginLayout();\n      }\n    },\n\n    executeOperatorList: function CanvasGraphics_executeOperatorList(\n      operatorList,\n      executionStartIdx,\n      continueCallback,\n      stepper\n    ) {\n      var argsArray = operatorList.argsArray;\n      var fnArray = operatorList.fnArray;\n      var i = executionStartIdx || 0;\n      var argsArrayLen = argsArray.length;\n\n      // Sometimes the OperatorList to execute is empty.\n      if (argsArrayLen === i) {\n        return i;\n      }\n\n      var chunkOperations =\n        argsArrayLen - i > EXECUTION_STEPS &&\n        typeof continueCallback === \"function\";\n      var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n      var steps = 0;\n\n      var commonObjs = this.commonObjs;\n      var objs = this.objs;\n      var fnId;\n\n      while (true) {\n        if (stepper !== undefined && i === stepper.nextBreakPoint) {\n          stepper.breakIt(i, continueCallback);\n          return i;\n        }\n\n        fnId = fnArray[i];\n\n        if (fnId !== OPS.dependency) {\n          this[fnId].apply(this, argsArray[i]);\n        } else {\n          for (const depObjId of argsArray[i]) {\n            const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n            // If the promise isn't resolved yet, add the continueCallback\n            // to the promise and bail out.\n            if (!objsPool.has(depObjId)) {\n              objsPool.get(depObjId, continueCallback);\n              return i;\n            }\n          }\n        }\n\n        i++;\n\n        // If the entire operatorList was executed, stop as were done.\n        if (i === argsArrayLen) {\n          return i;\n        }\n\n        // If the execution took longer then a certain amount of time and\n        // `continueCallback` is specified, interrupt the execution.\n        if (chunkOperations && ++steps > EXECUTION_STEPS) {\n          if (Date.now() > endTime) {\n            continueCallback();\n            return i;\n          }\n          steps = 0;\n        }\n\n        // If the operatorList isn't executed completely yet OR the execution\n        // time was short enough, do another execution round.\n      }\n    },\n\n    endDrawing: function CanvasGraphics_endDrawing() {\n      // Finishing all opened operations such as SMask group painting.\n      if (this.current.activeSMask !== null) {\n        this.endSMaskGroup();\n      }\n\n      this.ctx.restore();\n\n      if (this.transparentCanvas) {\n        this.ctx = this.compositeCtx;\n        this.ctx.save();\n        this.ctx.setTransform(1, 0, 0, 1, 0, 0); // Avoid apply transform twice\n        this.ctx.drawImage(this.transparentCanvas, 0, 0);\n        this.ctx.restore();\n        this.transparentCanvas = null;\n      }\n\n      this.cachedCanvases.clear();\n      this.webGLContext.clear();\n\n      if (this.imageLayer) {\n        this.imageLayer.endLayout();\n      }\n    },\n\n    // Graphics state\n    setLineWidth: function CanvasGraphics_setLineWidth(width) {\n      this.current.lineWidth = width;\n      this.ctx.lineWidth = width;\n    },\n    setLineCap: function CanvasGraphics_setLineCap(style) {\n      this.ctx.lineCap = LINE_CAP_STYLES[style];\n    },\n    setLineJoin: function CanvasGraphics_setLineJoin(style) {\n      this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n    },\n    setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n      this.ctx.miterLimit = limit;\n    },\n    setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n      var ctx = this.ctx;\n      if (ctx.setLineDash !== undefined) {\n        ctx.setLineDash(dashArray);\n        ctx.lineDashOffset = dashPhase;\n      }\n    },\n    setRenderingIntent(intent) {\n      // This operation is ignored since we haven't found a use case for it yet.\n    },\n    setFlatness(flatness) {\n      // This operation is ignored since we haven't found a use case for it yet.\n    },\n    setGState: function CanvasGraphics_setGState(states) {\n      for (var i = 0, ii = states.length; i < ii; i++) {\n        var state = states[i];\n        var key = state[0];\n        var value = state[1];\n\n        switch (key) {\n          case \"LW\":\n            this.setLineWidth(value);\n            break;\n          case \"LC\":\n            this.setLineCap(value);\n            break;\n          case \"LJ\":\n            this.setLineJoin(value);\n            break;\n          case \"ML\":\n            this.setMiterLimit(value);\n            break;\n          case \"D\":\n            this.setDash(value[0], value[1]);\n            break;\n          case \"RI\":\n            this.setRenderingIntent(value);\n            break;\n          case \"FL\":\n            this.setFlatness(value);\n            break;\n          case \"Font\":\n            this.setFont(value[0], value[1]);\n            break;\n          case \"CA\":\n            this.current.strokeAlpha = state[1];\n            break;\n          case \"ca\":\n            this.current.fillAlpha = state[1];\n            this.ctx.globalAlpha = state[1];\n            break;\n          case \"BM\":\n            this.ctx.globalCompositeOperation = value;\n            break;\n          case \"SMask\":\n            if (this.current.activeSMask) {\n              // If SMask is currrenly used, it needs to be suspended or\n              // finished. Suspend only makes sense when at least one save()\n              // was performed and state needs to be reverted on restore().\n              if (\n                this.stateStack.length > 0 &&\n                this.stateStack[this.stateStack.length - 1].activeSMask ===\n                  this.current.activeSMask\n              ) {\n                this.suspendSMaskGroup();\n              } else {\n                this.endSMaskGroup();\n              }\n            }\n            this.current.activeSMask = value ? this.tempSMask : null;\n            if (this.current.activeSMask) {\n              this.beginSMaskGroup();\n            }\n            this.tempSMask = null;\n            break;\n        }\n      }\n    },\n    beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n      var activeSMask = this.current.activeSMask;\n      var drawnWidth = activeSMask.canvas.width;\n      var drawnHeight = activeSMask.canvas.height;\n      var cacheId = \"smaskGroupAt\" + this.groupLevel;\n      var scratchCanvas = this.cachedCanvases.getCanvas(\n        cacheId,\n        drawnWidth,\n        drawnHeight,\n        true\n      );\n\n      var currentCtx = this.ctx;\n      var currentTransform = currentCtx.mozCurrentTransform;\n      this.ctx.save();\n\n      var groupCtx = scratchCanvas.context;\n      groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n      groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n      groupCtx.transform.apply(groupCtx, currentTransform);\n\n      activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n\n      copyCtxState(currentCtx, groupCtx);\n      this.ctx = groupCtx;\n      this.setGState([\n        [\"BM\", \"source-over\"],\n        [\"ca\", 1],\n        [\"CA\", 1],\n      ]);\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n    },\n    suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      // Similar to endSMaskGroup, the intermediate canvas has to be composed\n      // and future ctx state restored.\n      var groupCtx = this.ctx;\n      this.groupLevel--;\n      this.ctx = this.groupStack.pop();\n\n      composeSMask(\n        this.ctx,\n        this.current.activeSMask,\n        groupCtx,\n        this.webGLContext\n      );\n      this.ctx.restore();\n      this.ctx.save(); // save is needed since SMask will be resumed.\n      copyCtxState(groupCtx, this.ctx);\n\n      // Saving state for resuming.\n      this.current.resumeSMaskCtx = groupCtx;\n      // Transform was changed in the SMask canvas, reflecting this change on\n      // this.ctx.\n      var deltaTransform = Util.transform(\n        this.current.activeSMask.startTransformInverse,\n        groupCtx.mozCurrentTransform\n      );\n      this.ctx.transform.apply(this.ctx, deltaTransform);\n\n      // SMask was composed, the results at the groupCtx can be cleared.\n      groupCtx.save();\n      groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n      groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n      groupCtx.restore();\n    },\n    resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      // Resuming state saved by suspendSMaskGroup. We don't need to restore\n      // any groupCtx state since restore() command (the only caller) will do\n      // that for us. See also beginSMaskGroup.\n      var groupCtx = this.current.resumeSMaskCtx;\n      var currentCtx = this.ctx;\n      this.ctx = groupCtx;\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n    },\n    endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n      var groupCtx = this.ctx;\n      this.groupLevel--;\n      this.ctx = this.groupStack.pop();\n\n      composeSMask(\n        this.ctx,\n        this.current.activeSMask,\n        groupCtx,\n        this.webGLContext\n      );\n      this.ctx.restore();\n      copyCtxState(groupCtx, this.ctx);\n      // Transform was changed in the SMask canvas, reflecting this change on\n      // this.ctx.\n      var deltaTransform = Util.transform(\n        this.current.activeSMask.startTransformInverse,\n        groupCtx.mozCurrentTransform\n      );\n      this.ctx.transform.apply(this.ctx, deltaTransform);\n    },\n    save: function CanvasGraphics_save() {\n      this.ctx.save();\n      var old = this.current;\n      this.stateStack.push(old);\n      this.current = old.clone();\n      this.current.resumeSMaskCtx = null;\n    },\n    restore: function CanvasGraphics_restore() {\n      // SMask was suspended, we just need to resume it.\n      if (this.current.resumeSMaskCtx) {\n        this.resumeSMaskGroup();\n      }\n      // SMask has to be finished once there is no states that are using the\n      // same SMask.\n      if (\n        this.current.activeSMask !== null &&\n        (this.stateStack.length === 0 ||\n          this.stateStack[this.stateStack.length - 1].activeSMask !==\n            this.current.activeSMask)\n      ) {\n        this.endSMaskGroup();\n      }\n\n      if (this.stateStack.length !== 0) {\n        this.current = this.stateStack.pop();\n        this.ctx.restore();\n\n        // Ensure that the clipping path is reset (fixes issue6413.pdf).\n        this.pendingClip = null;\n\n        this._cachedGetSinglePixelWidth = null;\n      }\n    },\n    transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n      this.ctx.transform(a, b, c, d, e, f);\n\n      this._cachedGetSinglePixelWidth = null;\n    },\n\n    // Path\n    constructPath: function CanvasGraphics_constructPath(ops, args) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var x = current.x,\n        y = current.y;\n      for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n        switch (ops[i] | 0) {\n          case OPS.rectangle:\n            x = args[j++];\n            y = args[j++];\n            var width = args[j++];\n            var height = args[j++];\n            if (width === 0) {\n              width = this.getSinglePixelWidth();\n            }\n            if (height === 0) {\n              height = this.getSinglePixelWidth();\n            }\n            var xw = x + width;\n            var yh = y + height;\n            this.ctx.moveTo(x, y);\n            this.ctx.lineTo(xw, y);\n            this.ctx.lineTo(xw, yh);\n            this.ctx.lineTo(x, yh);\n            this.ctx.lineTo(x, y);\n            this.ctx.closePath();\n            break;\n          case OPS.moveTo:\n            x = args[j++];\n            y = args[j++];\n            ctx.moveTo(x, y);\n            break;\n          case OPS.lineTo:\n            x = args[j++];\n            y = args[j++];\n            ctx.lineTo(x, y);\n            break;\n          case OPS.curveTo:\n            x = args[j + 4];\n            y = args[j + 5];\n            ctx.bezierCurveTo(\n              args[j],\n              args[j + 1],\n              args[j + 2],\n              args[j + 3],\n              x,\n              y\n            );\n            j += 6;\n            break;\n          case OPS.curveTo2:\n            ctx.bezierCurveTo(\n              x,\n              y,\n              args[j],\n              args[j + 1],\n              args[j + 2],\n              args[j + 3]\n            );\n            x = args[j + 2];\n            y = args[j + 3];\n            j += 4;\n            break;\n          case OPS.curveTo3:\n            x = args[j + 2];\n            y = args[j + 3];\n            ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n            j += 4;\n            break;\n          case OPS.closePath:\n            ctx.closePath();\n            break;\n        }\n      }\n      current.setCurrentPoint(x, y);\n    },\n    closePath: function CanvasGraphics_closePath() {\n      this.ctx.closePath();\n    },\n    stroke: function CanvasGraphics_stroke(consumePath) {\n      consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n      var ctx = this.ctx;\n      var strokeColor = this.current.strokeColor;\n      // For stroke we want to temporarily change the global alpha to the\n      // stroking alpha.\n      ctx.globalAlpha = this.current.strokeAlpha;\n      if (\n        strokeColor &&\n        strokeColor.hasOwnProperty(\"type\") &&\n        strokeColor.type === \"Pattern\"\n      ) {\n        // for patterns, we transform to pattern space, calculate\n        // the pattern, call stroke, and restore to user space\n        ctx.save();\n        // The current transform will be replaced while building the pattern,\n        // but the line width needs to be adjusted by the current transform, so\n        // we must scale it. To properly fix this we should be using a pattern\n        // transform instead (see #10955).\n        const transform = ctx.mozCurrentTransform;\n        const scale = Util.singularValueDecompose2dScale(transform)[0];\n        ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n        ctx.lineWidth = Math.max(\n          this.getSinglePixelWidth() * MIN_WIDTH_FACTOR,\n          this.current.lineWidth * scale\n        );\n        ctx.stroke();\n        ctx.restore();\n      } else {\n        // Prevent drawing too thin lines by enforcing a minimum line width.\n        ctx.lineWidth = Math.max(\n          this.getSinglePixelWidth() * MIN_WIDTH_FACTOR,\n          this.current.lineWidth\n        );\n        ctx.stroke();\n      }\n      if (consumePath) {\n        this.consumePath();\n      }\n      // Restore the global alpha to the fill alpha\n      ctx.globalAlpha = this.current.fillAlpha;\n    },\n    closeStroke: function CanvasGraphics_closeStroke() {\n      this.closePath();\n      this.stroke();\n    },\n    fill: function CanvasGraphics_fill(consumePath) {\n      consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n      var ctx = this.ctx;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      var needRestore = false;\n\n      if (isPatternFill) {\n        ctx.save();\n        if (this.baseTransform) {\n          ctx.setTransform.apply(ctx, this.baseTransform);\n        }\n        ctx.fillStyle = fillColor.getPattern(ctx, this);\n        needRestore = true;\n      }\n\n      if (this.pendingEOFill) {\n        ctx.fill(\"evenodd\");\n        this.pendingEOFill = false;\n      } else {\n        ctx.fill();\n      }\n\n      if (needRestore) {\n        ctx.restore();\n      }\n      if (consumePath) {\n        this.consumePath();\n      }\n    },\n    eoFill: function CanvasGraphics_eoFill() {\n      this.pendingEOFill = true;\n      this.fill();\n    },\n    fillStroke: function CanvasGraphics_fillStroke() {\n      this.fill(false);\n      this.stroke(false);\n\n      this.consumePath();\n    },\n    eoFillStroke: function CanvasGraphics_eoFillStroke() {\n      this.pendingEOFill = true;\n      this.fillStroke();\n    },\n    closeFillStroke: function CanvasGraphics_closeFillStroke() {\n      this.closePath();\n      this.fillStroke();\n    },\n    closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n      this.pendingEOFill = true;\n      this.closePath();\n      this.fillStroke();\n    },\n    endPath: function CanvasGraphics_endPath() {\n      this.consumePath();\n    },\n\n    // Clipping\n    clip: function CanvasGraphics_clip() {\n      this.pendingClip = NORMAL_CLIP;\n    },\n    eoClip: function CanvasGraphics_eoClip() {\n      this.pendingClip = EO_CLIP;\n    },\n\n    // Text\n    beginText: function CanvasGraphics_beginText() {\n      this.current.textMatrix = IDENTITY_MATRIX;\n      this.current.textMatrixScale = 1;\n      this.current.x = this.current.lineX = 0;\n      this.current.y = this.current.lineY = 0;\n    },\n    endText: function CanvasGraphics_endText() {\n      var paths = this.pendingTextPaths;\n      var ctx = this.ctx;\n      if (paths === undefined) {\n        ctx.beginPath();\n        return;\n      }\n\n      ctx.save();\n      ctx.beginPath();\n      for (var i = 0; i < paths.length; i++) {\n        var path = paths[i];\n        ctx.setTransform.apply(ctx, path.transform);\n        ctx.translate(path.x, path.y);\n        path.addToPath(ctx, path.fontSize);\n      }\n      ctx.restore();\n      ctx.clip();\n      ctx.beginPath();\n      delete this.pendingTextPaths;\n    },\n    setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n      this.current.charSpacing = spacing;\n    },\n    setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n      this.current.wordSpacing = spacing;\n    },\n    setHScale: function CanvasGraphics_setHScale(scale) {\n      this.current.textHScale = scale / 100;\n    },\n    setLeading: function CanvasGraphics_setLeading(leading) {\n      this.current.leading = -leading;\n    },\n    setFont: function CanvasGraphics_setFont(fontRefName, size) {\n      var fontObj = this.commonObjs.get(fontRefName);\n      var current = this.current;\n\n      if (!fontObj) {\n        throw new Error(`Can't find font for ${fontRefName}`);\n      }\n\n      current.fontMatrix = fontObj.fontMatrix\n        ? fontObj.fontMatrix\n        : FONT_IDENTITY_MATRIX;\n\n      // A valid matrix needs all main diagonal elements to be non-zero\n      // This also ensures we bypass FF bugzilla bug #719844.\n      if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n        warn(\"Invalid font matrix for font \" + fontRefName);\n      }\n\n      // The spec for Tf (setFont) says that 'size' specifies the font 'scale',\n      // and in some docs this can be negative (inverted x-y axes).\n      if (size < 0) {\n        size = -size;\n        current.fontDirection = -1;\n      } else {\n        current.fontDirection = 1;\n      }\n\n      this.current.font = fontObj;\n      this.current.fontSize = size;\n\n      if (fontObj.isType3Font) {\n        return; // we don't need ctx.font for Type3 fonts\n      }\n\n      var name = fontObj.loadedName || \"sans-serif\";\n\n      let bold = \"normal\";\n      if (fontObj.black) {\n        bold = \"900\";\n      } else if (fontObj.bold) {\n        bold = \"bold\";\n      }\n      var italic = fontObj.italic ? \"italic\" : \"normal\";\n      var typeface = `\"${name}\", ${fontObj.fallbackName}`;\n\n      // Some font backends cannot handle fonts below certain size.\n      // Keeping the font at minimal size and using the fontSizeScale to change\n      // the current transformation matrix before the fillText/strokeText.\n      // See https://bugzilla.mozilla.org/show_bug.cgi?id=726227\n      let browserFontSize = size;\n      if (size < MIN_FONT_SIZE) {\n        browserFontSize = MIN_FONT_SIZE;\n      } else if (size > MAX_FONT_SIZE) {\n        browserFontSize = MAX_FONT_SIZE;\n      }\n      this.current.fontSizeScale = size / browserFontSize;\n\n      this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n    },\n    setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n      this.current.textRenderingMode = mode;\n    },\n    setTextRise: function CanvasGraphics_setTextRise(rise) {\n      this.current.textRise = rise;\n    },\n    moveText: function CanvasGraphics_moveText(x, y) {\n      this.current.x = this.current.lineX += x;\n      this.current.y = this.current.lineY += y;\n    },\n    setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n      this.setLeading(-y);\n      this.moveText(x, y);\n    },\n    setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n      this.current.textMatrix = [a, b, c, d, e, f];\n      this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n\n      this.current.x = this.current.lineX = 0;\n      this.current.y = this.current.lineY = 0;\n    },\n    nextLine: function CanvasGraphics_nextLine() {\n      this.moveText(0, this.current.leading);\n    },\n\n    paintChar(character, x, y, patternTransform) {\n      var ctx = this.ctx;\n      var current = this.current;\n      var font = current.font;\n      var textRenderingMode = current.textRenderingMode;\n      var fontSize = current.fontSize / current.fontSizeScale;\n      var fillStrokeMode =\n        textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n      var isAddToPathSet = !!(\n        textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG\n      );\n      const patternFill = current.patternFill && font.data;\n\n      var addToPath;\n      if (font.disableFontFace || isAddToPathSet || patternFill) {\n        addToPath = font.getPathGenerator(this.commonObjs, character);\n      }\n\n      if (font.disableFontFace || patternFill) {\n        ctx.save();\n        ctx.translate(x, y);\n        ctx.beginPath();\n        addToPath(ctx, fontSize);\n        if (patternTransform) {\n          ctx.setTransform.apply(ctx, patternTransform);\n        }\n        if (\n          fillStrokeMode === TextRenderingMode.FILL ||\n          fillStrokeMode === TextRenderingMode.FILL_STROKE\n        ) {\n          ctx.fill();\n        }\n        if (\n          fillStrokeMode === TextRenderingMode.STROKE ||\n          fillStrokeMode === TextRenderingMode.FILL_STROKE\n        ) {\n          ctx.stroke();\n        }\n        ctx.restore();\n      } else {\n        if (\n          fillStrokeMode === TextRenderingMode.FILL ||\n          fillStrokeMode === TextRenderingMode.FILL_STROKE\n        ) {\n          ctx.fillText(character, x, y);\n        }\n        if (\n          fillStrokeMode === TextRenderingMode.STROKE ||\n          fillStrokeMode === TextRenderingMode.FILL_STROKE\n        ) {\n          ctx.strokeText(character, x, y);\n        }\n      }\n\n      if (isAddToPathSet) {\n        var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n        paths.push({\n          transform: ctx.mozCurrentTransform,\n          x,\n          y,\n          fontSize,\n          addToPath,\n        });\n      }\n    },\n\n    get isFontSubpixelAAEnabled() {\n      // Checks if anti-aliasing is enabled when scaled text is painted.\n      // On Windows GDI scaled fonts looks bad.\n      const { context: ctx } = this.cachedCanvases.getCanvas(\n        \"isFontSubpixelAAEnabled\",\n        10,\n        10\n      );\n      ctx.scale(1.5, 1);\n      ctx.fillText(\"I\", 0, 10);\n      var data = ctx.getImageData(0, 0, 10, 10).data;\n      var enabled = false;\n      for (var i = 3; i < data.length; i += 4) {\n        if (data[i] > 0 && data[i] < 255) {\n          enabled = true;\n          break;\n        }\n      }\n      return shadow(this, \"isFontSubpixelAAEnabled\", enabled);\n    },\n\n    showText: function CanvasGraphics_showText(glyphs) {\n      var current = this.current;\n      var font = current.font;\n      if (font.isType3Font) {\n        return this.showType3Text(glyphs);\n      }\n\n      var fontSize = current.fontSize;\n      if (fontSize === 0) {\n        return undefined;\n      }\n\n      var ctx = this.ctx;\n      var fontSizeScale = current.fontSizeScale;\n      var charSpacing = current.charSpacing;\n      var wordSpacing = current.wordSpacing;\n      var fontDirection = current.fontDirection;\n      var textHScale = current.textHScale * fontDirection;\n      var glyphsLength = glyphs.length;\n      var vertical = font.vertical;\n      var spacingDir = vertical ? 1 : -1;\n      var defaultVMetrics = font.defaultVMetrics;\n      var widthAdvanceScale = fontSize * current.fontMatrix[0];\n\n      var simpleFillText =\n        current.textRenderingMode === TextRenderingMode.FILL &&\n        !font.disableFontFace &&\n        !current.patternFill;\n\n      ctx.save();\n      let patternTransform;\n      if (current.patternFill) {\n        // TODO: Patterns are not applied correctly to text if a non-embedded\n        // font is used. E.g. issue 8111 and ShowText-ShadingPattern.pdf.\n        ctx.save();\n        const pattern = current.fillColor.getPattern(ctx, this);\n        patternTransform = ctx.mozCurrentTransform;\n        ctx.restore();\n        ctx.fillStyle = pattern;\n      }\n      ctx.transform.apply(ctx, current.textMatrix);\n      ctx.translate(current.x, current.y + current.textRise);\n\n      if (fontDirection > 0) {\n        ctx.scale(textHScale, -1);\n      } else {\n        ctx.scale(textHScale, 1);\n      }\n\n      var lineWidth = current.lineWidth;\n      var scale = current.textMatrixScale;\n      if (scale === 0 || lineWidth === 0) {\n        var fillStrokeMode =\n          current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n        if (\n          fillStrokeMode === TextRenderingMode.STROKE ||\n          fillStrokeMode === TextRenderingMode.FILL_STROKE\n        ) {\n          this._cachedGetSinglePixelWidth = null;\n          lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n        }\n      } else {\n        lineWidth /= scale;\n      }\n\n      if (fontSizeScale !== 1.0) {\n        ctx.scale(fontSizeScale, fontSizeScale);\n        lineWidth /= fontSizeScale;\n      }\n\n      ctx.lineWidth = lineWidth;\n\n      var x = 0,\n        i;\n      for (i = 0; i < glyphsLength; ++i) {\n        var glyph = glyphs[i];\n        if (isNum(glyph)) {\n          x += (spacingDir * glyph * fontSize) / 1000;\n          continue;\n        }\n\n        var restoreNeeded = false;\n        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        var character = glyph.fontChar;\n        var accent = glyph.accent;\n        var scaledX, scaledY, scaledAccentX, scaledAccentY;\n        var width = glyph.width;\n        if (vertical) {\n          var vmetric, vx, vy;\n          vmetric = glyph.vmetric || defaultVMetrics;\n          vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n          vx = -vx * widthAdvanceScale;\n          vy = vmetric[2] * widthAdvanceScale;\n\n          width = vmetric ? -vmetric[0] : width;\n          scaledX = vx / fontSizeScale;\n          scaledY = (x + vy) / fontSizeScale;\n        } else {\n          scaledX = x / fontSizeScale;\n          scaledY = 0;\n        }\n\n        if (font.remeasure && width > 0) {\n          // Some standard fonts may not have the exact width: rescale per\n          // character if measured width is greater than expected glyph width\n          // and subpixel-aa is enabled, otherwise just center the glyph.\n          var measuredWidth =\n            ((ctx.measureText(character).width * 1000) / fontSize) *\n            fontSizeScale;\n          if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n            var characterScaleX = width / measuredWidth;\n            restoreNeeded = true;\n            ctx.save();\n            ctx.scale(characterScaleX, 1);\n            scaledX /= characterScaleX;\n          } else if (width !== measuredWidth) {\n            scaledX +=\n              (((width - measuredWidth) / 2000) * fontSize) / fontSizeScale;\n          }\n        }\n\n        // Only attempt to draw the glyph if it is actually in the embedded font\n        // file or if there isn't a font file so the fallback font is shown.\n        if (glyph.isInFont || font.missingFile) {\n          if (simpleFillText && !accent) {\n            // common case\n            ctx.fillText(character, scaledX, scaledY);\n          } else {\n            this.paintChar(character, scaledX, scaledY, patternTransform);\n            if (accent) {\n              scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n              scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n              this.paintChar(\n                accent.fontChar,\n                scaledAccentX,\n                scaledAccentY,\n                patternTransform\n              );\n            }\n          }\n        }\n\n        var charWidth;\n        if (vertical) {\n          charWidth = width * widthAdvanceScale - spacing * fontDirection;\n        } else {\n          charWidth = width * widthAdvanceScale + spacing * fontDirection;\n        }\n        x += charWidth;\n\n        if (restoreNeeded) {\n          ctx.restore();\n        }\n      }\n      if (vertical) {\n        current.y -= x;\n      } else {\n        current.x += x * textHScale;\n      }\n      ctx.restore();\n    },\n\n    showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n      // Type3 fonts - each glyph is a \"mini-PDF\"\n      var ctx = this.ctx;\n      var current = this.current;\n      var font = current.font;\n      var fontSize = current.fontSize;\n      var fontDirection = current.fontDirection;\n      var spacingDir = font.vertical ? 1 : -1;\n      var charSpacing = current.charSpacing;\n      var wordSpacing = current.wordSpacing;\n      var textHScale = current.textHScale * fontDirection;\n      var fontMatrix = current.fontMatrix || FONT_IDENTITY_MATRIX;\n      var glyphsLength = glyphs.length;\n      var isTextInvisible =\n        current.textRenderingMode === TextRenderingMode.INVISIBLE;\n      var i, glyph, width, spacingLength;\n\n      if (isTextInvisible || fontSize === 0) {\n        return;\n      }\n      this._cachedGetSinglePixelWidth = null;\n\n      ctx.save();\n      ctx.transform.apply(ctx, current.textMatrix);\n      ctx.translate(current.x, current.y);\n\n      ctx.scale(textHScale, fontDirection);\n\n      for (i = 0; i < glyphsLength; ++i) {\n        glyph = glyphs[i];\n        if (isNum(glyph)) {\n          spacingLength = (spacingDir * glyph * fontSize) / 1000;\n          this.ctx.translate(spacingLength, 0);\n          current.x += spacingLength * textHScale;\n          continue;\n        }\n\n        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        var operatorList = font.charProcOperatorList[glyph.operatorListId];\n        if (!operatorList) {\n          warn(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n          continue;\n        }\n        this.processingType3 = glyph;\n        this.save();\n        ctx.scale(fontSize, fontSize);\n        ctx.transform.apply(ctx, fontMatrix);\n        this.executeOperatorList(operatorList);\n        this.restore();\n\n        var transformed = Util.applyTransform([glyph.width, 0], fontMatrix);\n        width = transformed[0] * fontSize + spacing;\n\n        ctx.translate(width, 0);\n        current.x += width * textHScale;\n      }\n      ctx.restore();\n      this.processingType3 = null;\n    },\n\n    // Type3 fonts\n    setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {\n      // We can safely ignore this since the width should be the same\n      // as the width in the Widths array.\n    },\n    setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(\n      xWidth,\n      yWidth,\n      llx,\n      lly,\n      urx,\n      ury\n    ) {\n      // TODO According to the spec we're also suppose to ignore any operators\n      // that set color or include images while processing this type3 font.\n      this.ctx.rect(llx, lly, urx - llx, ury - lly);\n      this.clip();\n      this.endPath();\n    },\n\n    // Color\n    getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n      var pattern;\n      if (IR[0] === \"TilingPattern\") {\n        var color = IR[1];\n        var baseTransform =\n          this.baseTransform || this.ctx.mozCurrentTransform.slice();\n        var canvasGraphicsFactory = {\n          createCanvasGraphics: ctx => {\n            return new CanvasGraphics(\n              ctx,\n              this.commonObjs,\n              this.objs,\n              this.canvasFactory,\n              this.webGLContext\n            );\n          },\n        };\n        pattern = new TilingPattern(\n          IR,\n          color,\n          this.ctx,\n          canvasGraphicsFactory,\n          baseTransform\n        );\n      } else {\n        pattern = getShadingPatternFromIR(IR);\n      }\n      return pattern;\n    },\n    setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n      this.current.strokeColor = this.getColorN_Pattern(arguments);\n    },\n    setFillColorN: function CanvasGraphics_setFillColorN() {\n      this.current.fillColor = this.getColorN_Pattern(arguments);\n      this.current.patternFill = true;\n    },\n    setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n      var color = Util.makeCssRgb(r, g, b);\n      this.ctx.strokeStyle = color;\n      this.current.strokeColor = color;\n    },\n    setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n      var color = Util.makeCssRgb(r, g, b);\n      this.ctx.fillStyle = color;\n      this.current.fillColor = color;\n      this.current.patternFill = false;\n    },\n\n    shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n      var ctx = this.ctx;\n\n      this.save();\n      var pattern = getShadingPatternFromIR(patternIR);\n      ctx.fillStyle = pattern.getPattern(ctx, this, true);\n\n      var inv = ctx.mozCurrentTransformInverse;\n      if (inv) {\n        var canvas = ctx.canvas;\n        var width = canvas.width;\n        var height = canvas.height;\n\n        var bl = Util.applyTransform([0, 0], inv);\n        var br = Util.applyTransform([0, height], inv);\n        var ul = Util.applyTransform([width, 0], inv);\n        var ur = Util.applyTransform([width, height], inv);\n\n        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n\n        this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n      } else {\n        // HACK to draw the gradient onto an infinite rectangle.\n        // PDF gradients are drawn across the entire image while\n        // Canvas only allows gradients to be drawn in a rectangle\n        // The following bug should allow us to remove this.\n        // https://bugzilla.mozilla.org/show_bug.cgi?id=664884\n\n        this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n      }\n\n      this.restore();\n    },\n\n    // Images\n    beginInlineImage: function CanvasGraphics_beginInlineImage() {\n      unreachable(\"Should not call beginInlineImage\");\n    },\n    beginImageData: function CanvasGraphics_beginImageData() {\n      unreachable(\"Should not call beginImageData\");\n    },\n\n    paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(\n      matrix,\n      bbox\n    ) {\n      this.save();\n      this.baseTransformStack.push(this.baseTransform);\n\n      if (Array.isArray(matrix) && matrix.length === 6) {\n        this.transform.apply(this, matrix);\n      }\n\n      this.baseTransform = this.ctx.mozCurrentTransform;\n\n      if (bbox) {\n        var width = bbox[2] - bbox[0];\n        var height = bbox[3] - bbox[1];\n        this.ctx.rect(bbox[0], bbox[1], width, height);\n        this.clip();\n        this.endPath();\n      }\n    },\n\n    paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n      this.restore();\n      this.baseTransform = this.baseTransformStack.pop();\n    },\n\n    beginGroup: function CanvasGraphics_beginGroup(group) {\n      this.save();\n      var currentCtx = this.ctx;\n      // TODO non-isolated groups - according to Rik at adobe non-isolated\n      // group results aren't usually that different and they even have tools\n      // that ignore this setting. Notes from Rik on implementing:\n      // - When you encounter an transparency group, create a new canvas with\n      // the dimensions of the bbox\n      // - copy the content from the previous canvas to the new canvas\n      // - draw as usual\n      // - remove the backdrop alpha:\n      // alphaNew = 1 - (1 - alpha)/(1 - alphaBackdrop) with 'alpha' the alpha\n      // value of your transparency group and 'alphaBackdrop' the alpha of the\n      // backdrop\n      // - remove background color:\n      // colorNew = color - alphaNew *colorBackdrop /(1 - alphaNew)\n      if (!group.isolated) {\n        info(\"TODO: Support non-isolated groups.\");\n      }\n\n      // TODO knockout - supposedly possible with the clever use of compositing\n      // modes.\n      if (group.knockout) {\n        warn(\"Knockout groups not supported.\");\n      }\n\n      var currentTransform = currentCtx.mozCurrentTransform;\n      if (group.matrix) {\n        currentCtx.transform.apply(currentCtx, group.matrix);\n      }\n      if (!group.bbox) {\n        throw new Error(\"Bounding box is required.\");\n      }\n\n      // Based on the current transform figure out how big the bounding box\n      // will actually be.\n      var bounds = Util.getAxialAlignedBoundingBox(\n        group.bbox,\n        currentCtx.mozCurrentTransform\n      );\n      // Clip the bounding box to the current canvas.\n      var canvasBounds = [\n        0,\n        0,\n        currentCtx.canvas.width,\n        currentCtx.canvas.height,\n      ];\n      bounds = Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n      // Use ceil in case we're between sizes so we don't create canvas that is\n      // too small and make the canvas at least 1x1 pixels.\n      var offsetX = Math.floor(bounds[0]);\n      var offsetY = Math.floor(bounds[1]);\n      var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n      var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n      var scaleX = 1,\n        scaleY = 1;\n      if (drawnWidth > MAX_GROUP_SIZE) {\n        scaleX = drawnWidth / MAX_GROUP_SIZE;\n        drawnWidth = MAX_GROUP_SIZE;\n      }\n      if (drawnHeight > MAX_GROUP_SIZE) {\n        scaleY = drawnHeight / MAX_GROUP_SIZE;\n        drawnHeight = MAX_GROUP_SIZE;\n      }\n\n      var cacheId = \"groupAt\" + this.groupLevel;\n      if (group.smask) {\n        // Using two cache entries is case if masks are used one after another.\n        cacheId += \"_smask_\" + (this.smaskCounter++ % 2);\n      }\n      var scratchCanvas = this.cachedCanvases.getCanvas(\n        cacheId,\n        drawnWidth,\n        drawnHeight,\n        true\n      );\n      var groupCtx = scratchCanvas.context;\n\n      // Since we created a new canvas that is just the size of the bounding box\n      // we have to translate the group ctx.\n      groupCtx.scale(1 / scaleX, 1 / scaleY);\n      groupCtx.translate(-offsetX, -offsetY);\n      groupCtx.transform.apply(groupCtx, currentTransform);\n\n      if (group.smask) {\n        // Saving state and cached mask to be used in setGState.\n        this.smaskStack.push({\n          canvas: scratchCanvas.canvas,\n          context: groupCtx,\n          offsetX,\n          offsetY,\n          scaleX,\n          scaleY,\n          subtype: group.smask.subtype,\n          backdrop: group.smask.backdrop,\n          transferMap: group.smask.transferMap || null,\n          startTransformInverse: null, // used during suspend operation\n        });\n      } else {\n        // Setup the current ctx so when the group is popped we draw it at the\n        // right location.\n        currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n        currentCtx.translate(offsetX, offsetY);\n        currentCtx.scale(scaleX, scaleY);\n      }\n      // The transparency group inherits all off the current graphics state\n      // except the blend mode, soft mask, and alpha constants.\n      copyCtxState(currentCtx, groupCtx);\n      this.ctx = groupCtx;\n      this.setGState([\n        [\"BM\", \"source-over\"],\n        [\"ca\", 1],\n        [\"CA\", 1],\n      ]);\n      this.groupStack.push(currentCtx);\n      this.groupLevel++;\n\n      // Reseting mask state, masks will be applied on restore of the group.\n      this.current.activeSMask = null;\n    },\n\n    endGroup: function CanvasGraphics_endGroup(group) {\n      this.groupLevel--;\n      var groupCtx = this.ctx;\n      this.ctx = this.groupStack.pop();\n      // Turn off image smoothing to avoid sub pixel interpolation which can\n      // look kind of blurry for some pdfs.\n      if (this.ctx.imageSmoothingEnabled !== undefined) {\n        this.ctx.imageSmoothingEnabled = false;\n      } else {\n        this.ctx.mozImageSmoothingEnabled = false;\n      }\n      if (group.smask) {\n        this.tempSMask = this.smaskStack.pop();\n      } else {\n        this.ctx.drawImage(groupCtx.canvas, 0, 0);\n      }\n      this.restore();\n    },\n\n    beginAnnotations: function CanvasGraphics_beginAnnotations() {\n      this.save();\n      if (this.baseTransform) {\n        this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n      }\n    },\n\n    endAnnotations: function CanvasGraphics_endAnnotations() {\n      this.restore();\n    },\n\n    beginAnnotation: function CanvasGraphics_beginAnnotation(\n      rect,\n      transform,\n      matrix\n    ) {\n      this.save();\n      resetCtxToDefault(this.ctx);\n      this.current = new CanvasExtraState();\n\n      if (Array.isArray(rect) && rect.length === 4) {\n        var width = rect[2] - rect[0];\n        var height = rect[3] - rect[1];\n        this.ctx.rect(rect[0], rect[1], width, height);\n        this.clip();\n        this.endPath();\n      }\n\n      this.transform.apply(this, transform);\n      this.transform.apply(this, matrix);\n    },\n\n    endAnnotation: function CanvasGraphics_endAnnotation() {\n      this.restore();\n    },\n\n    paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n      const domImage = this.processingType3\n        ? this.commonObjs.get(objId)\n        : this.objs.get(objId);\n      if (!domImage) {\n        warn(\"Dependent image isn't ready yet\");\n        return;\n      }\n\n      this.save();\n\n      var ctx = this.ctx;\n      // scale the image to the unit square\n      ctx.scale(1 / w, -1 / h);\n\n      ctx.drawImage(\n        domImage,\n        0,\n        0,\n        domImage.width,\n        domImage.height,\n        0,\n        -h,\n        w,\n        h\n      );\n      if (this.imageLayer) {\n        var currentTransform = ctx.mozCurrentTransformInverse;\n        var position = this.getCanvasPosition(0, 0);\n        this.imageLayer.appendImage({\n          objId,\n          left: position[0],\n          top: position[1],\n          width: w / currentTransform[0],\n          height: h / currentTransform[3],\n        });\n      }\n      this.restore();\n    },\n\n    paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n      var ctx = this.ctx;\n      var width = img.width,\n        height = img.height;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n\n      var glyph = this.processingType3;\n\n      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n          glyph.compiled = compileType3Glyph({ data: img.data, width, height });\n        } else {\n          glyph.compiled = null;\n        }\n      }\n\n      if (glyph && glyph.compiled) {\n        glyph.compiled(ctx);\n        return;\n      }\n\n      var maskCanvas = this.cachedCanvases.getCanvas(\n        \"maskCanvas\",\n        width,\n        height\n      );\n      var maskCtx = maskCanvas.context;\n      maskCtx.save();\n\n      putBinaryImageMask(maskCtx, img);\n\n      maskCtx.globalCompositeOperation = \"source-in\";\n\n      maskCtx.fillStyle = isPatternFill\n        ? fillColor.getPattern(maskCtx, this)\n        : fillColor;\n      maskCtx.fillRect(0, 0, width, height);\n\n      maskCtx.restore();\n\n      this.paintInlineImageXObject(maskCanvas.canvas);\n    },\n\n    paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(\n      imgData,\n      scaleX,\n      scaleY,\n      positions\n    ) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n\n      var maskCanvas = this.cachedCanvases.getCanvas(\n        \"maskCanvas\",\n        width,\n        height\n      );\n      var maskCtx = maskCanvas.context;\n      maskCtx.save();\n\n      putBinaryImageMask(maskCtx, imgData);\n\n      maskCtx.globalCompositeOperation = \"source-in\";\n\n      maskCtx.fillStyle = isPatternFill\n        ? fillColor.getPattern(maskCtx, this)\n        : fillColor;\n      maskCtx.fillRect(0, 0, width, height);\n\n      maskCtx.restore();\n\n      var ctx = this.ctx;\n      for (var i = 0, ii = positions.length; i < ii; i += 2) {\n        ctx.save();\n        ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n        ctx.scale(1, -1);\n        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n        ctx.restore();\n      }\n    },\n\n    paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(\n      images\n    ) {\n      var ctx = this.ctx;\n\n      var fillColor = this.current.fillColor;\n      var isPatternFill = this.current.patternFill;\n      for (var i = 0, ii = images.length; i < ii; i++) {\n        var image = images[i];\n        var width = image.width,\n          height = image.height;\n\n        var maskCanvas = this.cachedCanvases.getCanvas(\n          \"maskCanvas\",\n          width,\n          height\n        );\n        var maskCtx = maskCanvas.context;\n        maskCtx.save();\n\n        putBinaryImageMask(maskCtx, image);\n\n        maskCtx.globalCompositeOperation = \"source-in\";\n\n        maskCtx.fillStyle = isPatternFill\n          ? fillColor.getPattern(maskCtx, this)\n          : fillColor;\n        maskCtx.fillRect(0, 0, width, height);\n\n        maskCtx.restore();\n\n        ctx.save();\n        ctx.transform.apply(ctx, image.transform);\n        ctx.scale(1, -1);\n        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n        ctx.restore();\n      }\n    },\n\n    paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n      const imgData = this.processingType3\n        ? this.commonObjs.get(objId)\n        : this.objs.get(objId);\n      if (!imgData) {\n        warn(\"Dependent image isn't ready yet\");\n        return;\n      }\n\n      this.paintInlineImageXObject(imgData);\n    },\n\n    paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(\n      objId,\n      scaleX,\n      scaleY,\n      positions\n    ) {\n      const imgData = this.processingType3\n        ? this.commonObjs.get(objId)\n        : this.objs.get(objId);\n      if (!imgData) {\n        warn(\"Dependent image isn't ready yet\");\n        return;\n      }\n\n      var width = imgData.width;\n      var height = imgData.height;\n      var map = [];\n      for (var i = 0, ii = positions.length; i < ii; i += 2) {\n        map.push({\n          transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n          x: 0,\n          y: 0,\n          w: width,\n          h: height,\n        });\n      }\n      this.paintInlineImageXObjectGroup(imgData, map);\n    },\n\n    paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(\n      imgData\n    ) {\n      var width = imgData.width;\n      var height = imgData.height;\n      var ctx = this.ctx;\n\n      this.save();\n      // scale the image to the unit square\n      ctx.scale(1 / width, -1 / height);\n\n      var currentTransform = ctx.mozCurrentTransformInverse;\n      var a = currentTransform[0],\n        b = currentTransform[1];\n      var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n      var c = currentTransform[2],\n        d = currentTransform[3];\n      var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n\n      var imgToPaint, tmpCanvas;\n      // typeof check is needed due to node.js support, see issue #8489\n      if (\n        (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement) ||\n        !imgData.data\n      ) {\n        imgToPaint = imgData;\n      } else {\n        tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n        var tmpCtx = tmpCanvas.context;\n        putBinaryImageData(tmpCtx, imgData);\n        imgToPaint = tmpCanvas.canvas;\n      }\n\n      var paintWidth = width,\n        paintHeight = height;\n      var tmpCanvasId = \"prescale1\";\n      // Vertial or horizontal scaling shall not be more than 2 to not loose the\n      // pixels during drawImage operation, painting on the temporary canvas(es)\n      // that are twice smaller in size\n      while (\n        (widthScale > 2 && paintWidth > 1) ||\n        (heightScale > 2 && paintHeight > 1)\n      ) {\n        var newWidth = paintWidth,\n          newHeight = paintHeight;\n        if (widthScale > 2 && paintWidth > 1) {\n          newWidth = Math.ceil(paintWidth / 2);\n          widthScale /= paintWidth / newWidth;\n        }\n        if (heightScale > 2 && paintHeight > 1) {\n          newHeight = Math.ceil(paintHeight / 2);\n          heightScale /= paintHeight / newHeight;\n        }\n        tmpCanvas = this.cachedCanvases.getCanvas(\n          tmpCanvasId,\n          newWidth,\n          newHeight\n        );\n        tmpCtx = tmpCanvas.context;\n        tmpCtx.clearRect(0, 0, newWidth, newHeight);\n        tmpCtx.drawImage(\n          imgToPaint,\n          0,\n          0,\n          paintWidth,\n          paintHeight,\n          0,\n          0,\n          newWidth,\n          newHeight\n        );\n        imgToPaint = tmpCanvas.canvas;\n        paintWidth = newWidth;\n        paintHeight = newHeight;\n        tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n      }\n      ctx.drawImage(\n        imgToPaint,\n        0,\n        0,\n        paintWidth,\n        paintHeight,\n        0,\n        -height,\n        width,\n        height\n      );\n\n      if (this.imageLayer) {\n        var position = this.getCanvasPosition(0, -height);\n        this.imageLayer.appendImage({\n          imgData,\n          left: position[0],\n          top: position[1],\n          width: width / currentTransform[0],\n          height: height / currentTransform[3],\n        });\n      }\n      this.restore();\n    },\n\n    paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(\n      imgData,\n      map\n    ) {\n      var ctx = this.ctx;\n      var w = imgData.width;\n      var h = imgData.height;\n\n      var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n      var tmpCtx = tmpCanvas.context;\n      putBinaryImageData(tmpCtx, imgData);\n\n      for (var i = 0, ii = map.length; i < ii; i++) {\n        var entry = map[i];\n        ctx.save();\n        ctx.transform.apply(ctx, entry.transform);\n        ctx.scale(1, -1);\n        ctx.drawImage(\n          tmpCanvas.canvas,\n          entry.x,\n          entry.y,\n          entry.w,\n          entry.h,\n          0,\n          -1,\n          1,\n          1\n        );\n        if (this.imageLayer) {\n          var position = this.getCanvasPosition(entry.x, entry.y);\n          this.imageLayer.appendImage({\n            imgData,\n            left: position[0],\n            top: position[1],\n            width: w,\n            height: h,\n          });\n        }\n        ctx.restore();\n      }\n    },\n\n    paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n      this.ctx.fillRect(0, 0, 1, 1);\n    },\n\n    paintXObject: function CanvasGraphics_paintXObject() {\n      warn(\"Unsupported 'paintXObject' command.\");\n    },\n\n    // Marked content\n\n    markPoint: function CanvasGraphics_markPoint(tag) {\n      // TODO Marked content.\n    },\n    markPointProps: function CanvasGraphics_markPointProps(tag, properties) {\n      // TODO Marked content.\n    },\n    beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n      // TODO Marked content.\n    },\n    beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(\n      tag,\n      properties\n    ) {\n      // TODO Marked content.\n    },\n    endMarkedContent: function CanvasGraphics_endMarkedContent() {\n      // TODO Marked content.\n    },\n\n    // Compatibility\n\n    beginCompat: function CanvasGraphics_beginCompat() {\n      // TODO ignore undefined operators (should we do that anyway?)\n    },\n    endCompat: function CanvasGraphics_endCompat() {\n      // TODO stop ignoring undefined operators\n    },\n\n    // Helper functions\n\n    consumePath: function CanvasGraphics_consumePath() {\n      var ctx = this.ctx;\n      if (this.pendingClip) {\n        if (this.pendingClip === EO_CLIP) {\n          ctx.clip(\"evenodd\");\n        } else {\n          ctx.clip();\n        }\n        this.pendingClip = null;\n      }\n      ctx.beginPath();\n    },\n    getSinglePixelWidth(scale) {\n      if (this._cachedGetSinglePixelWidth === null) {\n        const inverse = this.ctx.mozCurrentTransformInverse;\n        // max of the current horizontal and vertical scale\n        this._cachedGetSinglePixelWidth = Math.sqrt(\n          Math.max(\n            inverse[0] * inverse[0] + inverse[1] * inverse[1],\n            inverse[2] * inverse[2] + inverse[3] * inverse[3]\n          )\n        );\n      }\n      return this._cachedGetSinglePixelWidth;\n    },\n    getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n      var transform = this.ctx.mozCurrentTransform;\n      return [\n        transform[0] * x + transform[2] * y + transform[4],\n        transform[1] * x + transform[3] * y + transform[5],\n      ];\n    },\n  };\n\n  for (var op in OPS) {\n    CanvasGraphics.prototype[OPS[op]] = CanvasGraphics.prototype[op];\n  }\n\n  return CanvasGraphics;\n})();\n\nexport { CanvasGraphics };\n","/* Copyright 2014 Mozilla Foundation\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\nimport { FormatError, info, Util } from \"../shared/util.js\";\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n  if (!bbox || typeof Path2D === \"undefined\") {\n    return;\n  }\n  const width = bbox[2] - bbox[0];\n  const height = bbox[3] - bbox[1];\n  const region = new Path2D();\n  region.rect(bbox[0], bbox[1], width, height);\n  ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n  fromIR: function RadialAxial_fromIR(raw) {\n    var type = raw[1];\n    var bbox = raw[2];\n    var colorStops = raw[3];\n    var p0 = raw[4];\n    var p1 = raw[5];\n    var r0 = raw[6];\n    var r1 = raw[7];\n    return {\n      type: \"Pattern\",\n      getPattern: function RadialAxial_getPattern(ctx) {\n        applyBoundingBox(ctx, bbox);\n        var grad;\n        if (type === \"axial\") {\n          grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n        } else if (type === \"radial\") {\n          grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n        }\n\n        for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n          var c = colorStops[i];\n          grad.addColorStop(c[0], c[1]);\n        }\n        return grad;\n      },\n    };\n  },\n};\n\nvar createMeshCanvas = (function createMeshCanvasClosure() {\n  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n    // Very basic Gouraud-shaded triangle rasterization algorithm.\n    var coords = context.coords,\n      colors = context.colors;\n    var bytes = data.data,\n      rowSize = data.width * 4;\n    var tmp;\n    if (coords[p1 + 1] > coords[p2 + 1]) {\n      tmp = p1;\n      p1 = p2;\n      p2 = tmp;\n      tmp = c1;\n      c1 = c2;\n      c2 = tmp;\n    }\n    if (coords[p2 + 1] > coords[p3 + 1]) {\n      tmp = p2;\n      p2 = p3;\n      p3 = tmp;\n      tmp = c2;\n      c2 = c3;\n      c3 = tmp;\n    }\n    if (coords[p1 + 1] > coords[p2 + 1]) {\n      tmp = p1;\n      p1 = p2;\n      p2 = tmp;\n      tmp = c1;\n      c1 = c2;\n      c2 = tmp;\n    }\n    var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n    var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n    var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n    var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n    var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n    var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n    if (y1 >= y3) {\n      return;\n    }\n    var c1r = colors[c1],\n      c1g = colors[c1 + 1],\n      c1b = colors[c1 + 2];\n    var c2r = colors[c2],\n      c2g = colors[c2 + 1],\n      c2b = colors[c2 + 2];\n    var c3r = colors[c3],\n      c3g = colors[c3 + 1],\n      c3b = colors[c3 + 2];\n\n    var minY = Math.round(y1),\n      maxY = Math.round(y3);\n    var xa, car, cag, cab;\n    var xb, cbr, cbg, cbb;\n    for (var y = minY; y <= maxY; y++) {\n      if (y < y2) {\n        let k;\n        if (y < y1) {\n          k = 0;\n        } else if (y1 === y2) {\n          k = 1;\n        } else {\n          k = (y1 - y) / (y1 - y2);\n        }\n        xa = x1 - (x1 - x2) * k;\n        car = c1r - (c1r - c2r) * k;\n        cag = c1g - (c1g - c2g) * k;\n        cab = c1b - (c1b - c2b) * k;\n      } else {\n        let k;\n        if (y > y3) {\n          k = 1;\n        } else if (y2 === y3) {\n          k = 0;\n        } else {\n          k = (y2 - y) / (y2 - y3);\n        }\n        xa = x2 - (x2 - x3) * k;\n        car = c2r - (c2r - c3r) * k;\n        cag = c2g - (c2g - c3g) * k;\n        cab = c2b - (c2b - c3b) * k;\n      }\n\n      let k;\n      if (y < y1) {\n        k = 0;\n      } else if (y > y3) {\n        k = 1;\n      } else {\n        k = (y1 - y) / (y1 - y3);\n      }\n      xb = x1 - (x1 - x3) * k;\n      cbr = c1r - (c1r - c3r) * k;\n      cbg = c1g - (c1g - c3g) * k;\n      cbb = c1b - (c1b - c3b) * k;\n      var x1_ = Math.round(Math.min(xa, xb));\n      var x2_ = Math.round(Math.max(xa, xb));\n      var j = rowSize * y + x1_ * 4;\n      for (var x = x1_; x <= x2_; x++) {\n        let k = (xa - x) / (xa - xb);\n        if (k < 0) {\n          k = 0;\n        } else if (k > 1) {\n          k = 1;\n        }\n        bytes[j++] = (car - (car - cbr) * k) | 0;\n        bytes[j++] = (cag - (cag - cbg) * k) | 0;\n        bytes[j++] = (cab - (cab - cbb) * k) | 0;\n        bytes[j++] = 255;\n      }\n    }\n  }\n\n  function drawFigure(data, figure, context) {\n    var ps = figure.coords;\n    var cs = figure.colors;\n    var i, ii;\n    switch (figure.type) {\n      case \"lattice\":\n        var verticesPerRow = figure.verticesPerRow;\n        var rows = Math.floor(ps.length / verticesPerRow) - 1;\n        var cols = verticesPerRow - 1;\n        for (i = 0; i < rows; i++) {\n          var q = i * verticesPerRow;\n          for (var j = 0; j < cols; j++, q++) {\n            drawTriangle(\n              data,\n              context,\n              ps[q],\n              ps[q + 1],\n              ps[q + verticesPerRow],\n              cs[q],\n              cs[q + 1],\n              cs[q + verticesPerRow]\n            );\n            drawTriangle(\n              data,\n              context,\n              ps[q + verticesPerRow + 1],\n              ps[q + 1],\n              ps[q + verticesPerRow],\n              cs[q + verticesPerRow + 1],\n              cs[q + 1],\n              cs[q + verticesPerRow]\n            );\n          }\n        }\n        break;\n      case \"triangles\":\n        for (i = 0, ii = ps.length; i < ii; i += 3) {\n          drawTriangle(\n            data,\n            context,\n            ps[i],\n            ps[i + 1],\n            ps[i + 2],\n            cs[i],\n            cs[i + 1],\n            cs[i + 2]\n          );\n        }\n        break;\n      default:\n        throw new Error(\"illegal figure\");\n    }\n  }\n\n  function createMeshCanvas(\n    bounds,\n    combinesScale,\n    coords,\n    colors,\n    figures,\n    backgroundColor,\n    cachedCanvases,\n    webGLContext\n  ) {\n    // we will increase scale on some weird factor to let antialiasing take\n    // care of \"rough\" edges\n    var EXPECTED_SCALE = 1.1;\n    // MAX_PATTERN_SIZE is used to avoid OOM situation.\n    var MAX_PATTERN_SIZE = 3000; // 10in @ 300dpi shall be enough\n    // We need to keep transparent border around our pattern for fill():\n    // createPattern with 'no-repeat' will bleed edges across entire area.\n    var BORDER_SIZE = 2;\n\n    var offsetX = Math.floor(bounds[0]);\n    var offsetY = Math.floor(bounds[1]);\n    var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n    var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n\n    var width = Math.min(\n      Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)),\n      MAX_PATTERN_SIZE\n    );\n    var height = Math.min(\n      Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)),\n      MAX_PATTERN_SIZE\n    );\n    var scaleX = boundsWidth / width;\n    var scaleY = boundsHeight / height;\n\n    var context = {\n      coords,\n      colors,\n      offsetX: -offsetX,\n      offsetY: -offsetY,\n      scaleX: 1 / scaleX,\n      scaleY: 1 / scaleY,\n    };\n\n    var paddedWidth = width + BORDER_SIZE * 2;\n    var paddedHeight = height + BORDER_SIZE * 2;\n\n    var canvas, tmpCanvas, i, ii;\n    if (webGLContext.isEnabled) {\n      canvas = webGLContext.drawFigures({\n        width,\n        height,\n        backgroundColor,\n        figures,\n        context,\n      });\n      // https://bugzilla.mozilla.org/show_bug.cgi?id=972126\n      tmpCanvas = cachedCanvases.getCanvas(\n        \"mesh\",\n        paddedWidth,\n        paddedHeight,\n        false\n      );\n      tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n      canvas = tmpCanvas.canvas;\n    } else {\n      tmpCanvas = cachedCanvases.getCanvas(\n        \"mesh\",\n        paddedWidth,\n        paddedHeight,\n        false\n      );\n      var tmpCtx = tmpCanvas.context;\n\n      var data = tmpCtx.createImageData(width, height);\n      if (backgroundColor) {\n        var bytes = data.data;\n        for (i = 0, ii = bytes.length; i < ii; i += 4) {\n          bytes[i] = backgroundColor[0];\n          bytes[i + 1] = backgroundColor[1];\n          bytes[i + 2] = backgroundColor[2];\n          bytes[i + 3] = 255;\n        }\n      }\n      for (i = 0; i < figures.length; i++) {\n        drawFigure(data, figures[i], context);\n      }\n      tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n      canvas = tmpCanvas.canvas;\n    }\n\n    return {\n      canvas,\n      offsetX: offsetX - BORDER_SIZE * scaleX,\n      offsetY: offsetY - BORDER_SIZE * scaleY,\n      scaleX,\n      scaleY,\n    };\n  }\n  return createMeshCanvas;\n})();\n\nShadingIRs.Mesh = {\n  fromIR: function Mesh_fromIR(raw) {\n    // var type = raw[1];\n    var coords = raw[2];\n    var colors = raw[3];\n    var figures = raw[4];\n    var bounds = raw[5];\n    var matrix = raw[6];\n    var bbox = raw[7];\n    var background = raw[8];\n    return {\n      type: \"Pattern\",\n      getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n        applyBoundingBox(ctx, bbox);\n        var scale;\n        if (shadingFill) {\n          scale = Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n        } else {\n          // Obtain scale from matrix and current transformation matrix.\n          scale = Util.singularValueDecompose2dScale(owner.baseTransform);\n          if (matrix) {\n            var matrixScale = Util.singularValueDecompose2dScale(matrix);\n            scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n          }\n        }\n\n        // Rasterizing on the main thread since sending/queue large canvases\n        // might cause OOM.\n        var temporaryPatternCanvas = createMeshCanvas(\n          bounds,\n          scale,\n          coords,\n          colors,\n          figures,\n          shadingFill ? null : background,\n          owner.cachedCanvases,\n          owner.webGLContext\n        );\n\n        if (!shadingFill) {\n          ctx.setTransform.apply(ctx, owner.baseTransform);\n          if (matrix) {\n            ctx.transform.apply(ctx, matrix);\n          }\n        }\n\n        ctx.translate(\n          temporaryPatternCanvas.offsetX,\n          temporaryPatternCanvas.offsetY\n        );\n        ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n\n        return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n      },\n    };\n  },\n};\n\nShadingIRs.Dummy = {\n  fromIR: function Dummy_fromIR() {\n    return {\n      type: \"Pattern\",\n      getPattern: function Dummy_fromIR_getPattern() {\n        return \"hotpink\";\n      },\n    };\n  },\n};\n\nfunction getShadingPatternFromIR(raw) {\n  var shadingIR = ShadingIRs[raw[0]];\n  if (!shadingIR) {\n    throw new Error(`Unknown IR type: ${raw[0]}`);\n  }\n  return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = (function TilingPatternClosure() {\n  var PaintType = {\n    COLORED: 1,\n    UNCOLORED: 2,\n  };\n\n  var MAX_PATTERN_SIZE = 3000; // 10in @ 300dpi shall be enough\n\n  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n    this.operatorList = IR[2];\n    this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n    this.bbox = IR[4];\n    this.xstep = IR[5];\n    this.ystep = IR[6];\n    this.paintType = IR[7];\n    this.tilingType = IR[8];\n    this.color = color;\n    this.canvasGraphicsFactory = canvasGraphicsFactory;\n    this.baseTransform = baseTransform;\n    this.type = \"Pattern\";\n    this.ctx = ctx;\n  }\n\n  TilingPattern.prototype = {\n    createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n      var operatorList = this.operatorList;\n      var bbox = this.bbox;\n      var xstep = this.xstep;\n      var ystep = this.ystep;\n      var paintType = this.paintType;\n      var tilingType = this.tilingType;\n      var color = this.color;\n      var canvasGraphicsFactory = this.canvasGraphicsFactory;\n\n      info(\"TilingType: \" + tilingType);\n\n      // A tiling pattern as defined by PDF spec 8.7.2 is a cell whose size is\n      // described by bbox, and may repeat regularly by shifting the cell by\n      // xstep and ystep.\n      // Because the HTML5 canvas API does not support pattern repetition with\n      // gaps in between, we use the xstep/ystep instead of the bbox's size.\n      //\n      // This has the following consequences (similarly for ystep):\n      //\n      // - If xstep is the same as bbox, then there is no observable difference.\n      //\n      // - If xstep is larger than bbox, then the pattern canvas is partially\n      //   empty: the area bounded by bbox is painted, the outside area is void.\n      //\n      // - If xstep is smaller than bbox, then the pixels between xstep and the\n      //   bbox boundary will be missing. This is INCORRECT behavior.\n      //   \"Figures on adjacent tiles should not overlap\" (PDF spec 8.7.3.1),\n      //   but overlapping cells without common pixels are still valid.\n      //   TODO: Fix the implementation, to allow this scenario to be painted\n      //   correctly.\n\n      var x0 = bbox[0],\n        y0 = bbox[1],\n        x1 = bbox[2],\n        y1 = bbox[3];\n\n      // Obtain scale from matrix and current transformation matrix.\n      var matrixScale = Util.singularValueDecompose2dScale(this.matrix);\n      var curMatrixScale = Util.singularValueDecompose2dScale(\n        this.baseTransform\n      );\n      var combinedScale = [\n        matrixScale[0] * curMatrixScale[0],\n        matrixScale[1] * curMatrixScale[1],\n      ];\n\n      // Use width and height values that are as close as possible to the end\n      // result when the pattern is used. Too low value makes the pattern look\n      // blurry. Too large value makes it look too crispy.\n      var dimx = this.getSizeAndScale(\n        xstep,\n        this.ctx.canvas.width,\n        combinedScale[0]\n      );\n      var dimy = this.getSizeAndScale(\n        ystep,\n        this.ctx.canvas.height,\n        combinedScale[1]\n      );\n\n      var tmpCanvas = owner.cachedCanvases.getCanvas(\n        \"pattern\",\n        dimx.size,\n        dimy.size,\n        true\n      );\n      var tmpCtx = tmpCanvas.context;\n      var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n      graphics.groupLevel = owner.groupLevel;\n\n      this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n\n      graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n\n      // transform coordinates to pattern space\n      graphics.transform(1, 0, 0, 1, -x0, -y0);\n\n      this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n\n      graphics.executeOperatorList(operatorList);\n\n      this.ctx.transform(1, 0, 0, 1, x0, y0);\n\n      // Rescale canvas so that the ctx.createPattern call generates a pattern\n      // with the desired size.\n      this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n      return tmpCanvas.canvas;\n    },\n\n    getSizeAndScale: function TilingPattern_getSizeAndScale(\n      step,\n      realOutputSize,\n      scale\n    ) {\n      // xstep / ystep may be negative -- normalize.\n      step = Math.abs(step);\n      // MAX_PATTERN_SIZE is used to avoid OOM situation.\n      // Use the destination canvas's size if it is bigger than the hard-coded\n      // limit of MAX_PATTERN_SIZE to avoid clipping patterns that cover the\n      // whole canvas.\n      var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n      var size = Math.ceil(step * scale);\n      if (size >= maxSize) {\n        size = maxSize;\n      } else {\n        scale = size / step;\n      }\n      return { scale, size };\n    },\n\n    clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n      if (Array.isArray(bbox) && bbox.length === 4) {\n        var bboxWidth = x1 - x0;\n        var bboxHeight = y1 - y0;\n        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n        graphics.clip();\n        graphics.endPath();\n      }\n    },\n\n    setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(\n      graphics,\n      paintType,\n      color\n    ) {\n      const context = graphics.ctx,\n        current = graphics.current;\n      switch (paintType) {\n        case PaintType.COLORED:\n          var ctx = this.ctx;\n          context.fillStyle = ctx.fillStyle;\n          context.strokeStyle = ctx.strokeStyle;\n          current.fillColor = ctx.fillStyle;\n          current.strokeColor = ctx.strokeStyle;\n          break;\n        case PaintType.UNCOLORED:\n          var cssColor = Util.makeCssRgb(color[0], color[1], color[2]);\n          context.fillStyle = cssColor;\n          context.strokeStyle = cssColor;\n          // Set color needed by image masks (fixes issues 3226 and 8741).\n          current.fillColor = cssColor;\n          current.strokeColor = cssColor;\n          break;\n        default:\n          throw new FormatError(`Unsupported paint type: ${paintType}`);\n      }\n    },\n\n    getPattern: function TilingPattern_getPattern(ctx, owner) {\n      ctx = this.ctx;\n      // PDF spec 8.7.2 NOTE 1: pattern's matrix is relative to initial matrix.\n      ctx.setTransform.apply(ctx, this.baseTransform);\n      ctx.transform.apply(ctx, this.matrix);\n\n      var temporaryPatternCanvas = this.createPatternCanvas(owner);\n\n      return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n    },\n  };\n\n  return TilingPattern;\n})();\n\nexport { getShadingPatternFromIR, TilingPattern };\n","/* Copyright 2018 Mozilla Foundation\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\nconst GlobalWorkerOptions = Object.create(null);\n\n/**\n * Defines global port for worker process. Overrides the `workerSrc` option.\n * @var {Object}\n */\nGlobalWorkerOptions.workerPort =\n  GlobalWorkerOptions.workerPort === undefined\n    ? null\n    : GlobalWorkerOptions.workerPort;\n\n/**\n * A string containing the path and filename of the worker file.\n *\n * NOTE: The `workerSrc` option should always be set, in order to prevent any\n *       issues when using the PDF.js library.\n * @var {string}\n */\nGlobalWorkerOptions.workerSrc =\n  GlobalWorkerOptions.workerSrc === undefined\n    ? \"\"\n    : GlobalWorkerOptions.workerSrc;\n\nexport { GlobalWorkerOptions };\n","/* Copyright 2018 Mozilla Foundation\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/* eslint no-var: error, prefer-const: error */\n\nimport {\n  AbortException,\n  assert,\n  createPromiseCapability,\n  MissingPDFException,\n  UnexpectedResponseException,\n  UnknownErrorException,\n} from \"./util.js\";\n\nconst CallbackKind = {\n  UNKNOWN: 0,\n  DATA: 1,\n  ERROR: 2,\n};\n\nconst StreamKind = {\n  UNKNOWN: 0,\n  CANCEL: 1,\n  CANCEL_COMPLETE: 2,\n  CLOSE: 3,\n  ENQUEUE: 4,\n  ERROR: 5,\n  PULL: 6,\n  PULL_COMPLETE: 7,\n  START_COMPLETE: 8,\n};\n\nfunction wrapReason(reason) {\n  if (\n    typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!PRODUCTION || TESTING\")\n  ) {\n    assert(\n      reason instanceof Error ||\n        (typeof reason === \"object\" && reason !== null),\n      'wrapReason: Expected \"reason\" to be a (possibly cloned) Error.'\n    );\n  } else {\n    if (typeof reason !== \"object\" || reason === null) {\n      return reason;\n    }\n  }\n  switch (reason.name) {\n    case \"AbortException\":\n      return new AbortException(reason.message);\n    case \"MissingPDFException\":\n      return new MissingPDFException(reason.message);\n    case \"UnexpectedResponseException\":\n      return new UnexpectedResponseException(reason.message, reason.status);\n    case \"UnknownErrorException\":\n      return new UnknownErrorException(reason.message, reason.details);\n    default:\n      return new UnknownErrorException(reason.message, reason.toString());\n  }\n}\n\nclass MessageHandler {\n  constructor(sourceName, targetName, comObj) {\n    this.sourceName = sourceName;\n    this.targetName = targetName;\n    this.comObj = comObj;\n    this.callbackId = 1;\n    this.streamId = 1;\n    this.postMessageTransfers = true;\n    this.streamSinks = Object.create(null);\n    this.streamControllers = Object.create(null);\n    this.callbackCapabilities = Object.create(null);\n    this.actionHandler = Object.create(null);\n\n    this._onComObjOnMessage = event => {\n      const data = event.data;\n      if (data.targetName !== this.sourceName) {\n        return;\n      }\n      if (data.stream) {\n        this._processStreamMessage(data);\n        return;\n      }\n      if (data.callback) {\n        const callbackId = data.callbackId;\n        const capability = this.callbackCapabilities[callbackId];\n        if (!capability) {\n          throw new Error(`Cannot resolve callback ${callbackId}`);\n        }\n        delete this.callbackCapabilities[callbackId];\n\n        if (data.callback === CallbackKind.DATA) {\n          capability.resolve(data.data);\n        } else if (data.callback === CallbackKind.ERROR) {\n          capability.reject(wrapReason(data.reason));\n        } else {\n          throw new Error(\"Unexpected callback case\");\n        }\n        return;\n      }\n      const action = this.actionHandler[data.action];\n      if (!action) {\n        throw new Error(`Unknown action from worker: ${data.action}`);\n      }\n      if (data.callbackId) {\n        const sourceName = this.sourceName;\n        const targetName = data.sourceName;\n        new Promise(function(resolve) {\n          resolve(action(data.data));\n        }).then(\n          function(result) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              callback: CallbackKind.DATA,\n              callbackId: data.callbackId,\n              data: result,\n            });\n          },\n          function(reason) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              callback: CallbackKind.ERROR,\n              callbackId: data.callbackId,\n              reason: wrapReason(reason),\n            });\n          }\n        );\n        return;\n      }\n      if (data.streamId) {\n        this._createStreamSink(data);\n        return;\n      }\n      action(data.data);\n    };\n    comObj.addEventListener(\"message\", this._onComObjOnMessage);\n  }\n\n  on(actionName, handler) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        typeof handler === \"function\",\n        'MessageHandler.on: Expected \"handler\" to be a function.'\n      );\n    }\n    const ah = this.actionHandler;\n    if (ah[actionName]) {\n      throw new Error(`There is already an actionName called \"${actionName}\"`);\n    }\n    ah[actionName] = handler;\n  }\n\n  /**\n   * Sends a message to the comObj to invoke the action with the supplied data.\n   * @param {string} actionName - Action to call.\n   * @param {JSON} data - JSON data to send.\n   * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n   */\n  send(actionName, data, transfers) {\n    this._postMessage(\n      {\n        sourceName: this.sourceName,\n        targetName: this.targetName,\n        action: actionName,\n        data,\n      },\n      transfers\n    );\n  }\n\n  /**\n   * Sends a message to the comObj to invoke the action with the supplied data.\n   * Expects that the other side will callback with the response.\n   * @param {string} actionName - Action to call.\n   * @param {JSON} data - JSON data to send.\n   * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n   * @returns {Promise} Promise to be resolved with response data.\n   */\n  sendWithPromise(actionName, data, transfers) {\n    const callbackId = this.callbackId++;\n    const capability = createPromiseCapability();\n    this.callbackCapabilities[callbackId] = capability;\n    try {\n      this._postMessage(\n        {\n          sourceName: this.sourceName,\n          targetName: this.targetName,\n          action: actionName,\n          callbackId,\n          data,\n        },\n        transfers\n      );\n    } catch (ex) {\n      capability.reject(ex);\n    }\n    return capability.promise;\n  }\n\n  /**\n   * Sends a message to the comObj to invoke the action with the supplied data.\n   * Expect that the other side will callback to signal 'start_complete'.\n   * @param {string} actionName - Action to call.\n   * @param {JSON} data - JSON data to send.\n   * @param {Object} queueingStrategy - Strategy to signal backpressure based on\n   *                 internal queue.\n   * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n   * @returns {ReadableStream} ReadableStream to read data in chunks.\n   */\n  sendWithStream(actionName, data, queueingStrategy, transfers) {\n    const streamId = this.streamId++;\n    const sourceName = this.sourceName;\n    const targetName = this.targetName;\n    const comObj = this.comObj;\n\n    return new ReadableStream(\n      {\n        start: controller => {\n          const startCapability = createPromiseCapability();\n          this.streamControllers[streamId] = {\n            controller,\n            startCall: startCapability,\n            pullCall: null,\n            cancelCall: null,\n            isClosed: false,\n          };\n          this._postMessage(\n            {\n              sourceName,\n              targetName,\n              action: actionName,\n              streamId,\n              data,\n              desiredSize: controller.desiredSize,\n            },\n            transfers\n          );\n          // Return Promise for Async process, to signal success/failure.\n          return startCapability.promise;\n        },\n\n        pull: controller => {\n          const pullCapability = createPromiseCapability();\n          this.streamControllers[streamId].pullCall = pullCapability;\n          comObj.postMessage({\n            sourceName,\n            targetName,\n            stream: StreamKind.PULL,\n            streamId,\n            desiredSize: controller.desiredSize,\n          });\n          // Returning Promise will not call \"pull\"\n          // again until current pull is resolved.\n          return pullCapability.promise;\n        },\n\n        cancel: reason => {\n          assert(reason instanceof Error, \"cancel must have a valid reason\");\n          const cancelCapability = createPromiseCapability();\n          this.streamControllers[streamId].cancelCall = cancelCapability;\n          this.streamControllers[streamId].isClosed = true;\n          comObj.postMessage({\n            sourceName,\n            targetName,\n            stream: StreamKind.CANCEL,\n            streamId,\n            reason: wrapReason(reason),\n          });\n          // Return Promise to signal success or failure.\n          return cancelCapability.promise;\n        },\n      },\n      queueingStrategy\n    );\n  }\n\n  /**\n   * @private\n   */\n  _createStreamSink(data) {\n    const self = this;\n    const action = this.actionHandler[data.action];\n    const streamId = data.streamId;\n    const sourceName = this.sourceName;\n    const targetName = data.sourceName;\n    const comObj = this.comObj;\n\n    const streamSink = {\n      enqueue(chunk, size = 1, transfers) {\n        if (this.isCancelled) {\n          return;\n        }\n        const lastDesiredSize = this.desiredSize;\n        this.desiredSize -= size;\n        // Enqueue decreases the desiredSize property of sink,\n        // so when it changes from positive to negative,\n        // set ready as unresolved promise.\n        if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n          this.sinkCapability = createPromiseCapability();\n          this.ready = this.sinkCapability.promise;\n        }\n        self._postMessage(\n          {\n            sourceName,\n            targetName,\n            stream: StreamKind.ENQUEUE,\n            streamId,\n            chunk,\n          },\n          transfers\n        );\n      },\n\n      close() {\n        if (this.isCancelled) {\n          return;\n        }\n        this.isCancelled = true;\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.CLOSE,\n          streamId,\n        });\n        delete self.streamSinks[streamId];\n      },\n\n      error(reason) {\n        assert(reason instanceof Error, \"error must have a valid reason\");\n        if (this.isCancelled) {\n          return;\n        }\n        this.isCancelled = true;\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.ERROR,\n          streamId,\n          reason: wrapReason(reason),\n        });\n      },\n\n      sinkCapability: createPromiseCapability(),\n      onPull: null,\n      onCancel: null,\n      isCancelled: false,\n      desiredSize: data.desiredSize,\n      ready: null,\n    };\n\n    streamSink.sinkCapability.resolve();\n    streamSink.ready = streamSink.sinkCapability.promise;\n    this.streamSinks[streamId] = streamSink;\n    new Promise(function(resolve) {\n      resolve(action(data.data, streamSink));\n    }).then(\n      function() {\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId,\n          success: true,\n        });\n      },\n      function(reason) {\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId,\n          reason: wrapReason(reason),\n        });\n      }\n    );\n  }\n\n  /**\n   * @private\n   */\n  _processStreamMessage(data) {\n    const streamId = data.streamId;\n    const sourceName = this.sourceName;\n    const targetName = data.sourceName;\n    const comObj = this.comObj;\n\n    switch (data.stream) {\n      case StreamKind.START_COMPLETE:\n        if (data.success) {\n          this.streamControllers[streamId].startCall.resolve();\n        } else {\n          this.streamControllers[streamId].startCall.reject(\n            wrapReason(data.reason)\n          );\n        }\n        break;\n      case StreamKind.PULL_COMPLETE:\n        if (data.success) {\n          this.streamControllers[streamId].pullCall.resolve();\n        } else {\n          this.streamControllers[streamId].pullCall.reject(\n            wrapReason(data.reason)\n          );\n        }\n        break;\n      case StreamKind.PULL:\n        // Ignore any pull after close is called.\n        if (!this.streamSinks[streamId]) {\n          comObj.postMessage({\n            sourceName,\n            targetName,\n            stream: StreamKind.PULL_COMPLETE,\n            streamId,\n            success: true,\n          });\n          break;\n        }\n        // Pull increases the desiredSize property of sink,\n        // so when it changes from negative to positive,\n        // set ready property as resolved promise.\n        if (\n          this.streamSinks[streamId].desiredSize <= 0 &&\n          data.desiredSize > 0\n        ) {\n          this.streamSinks[streamId].sinkCapability.resolve();\n        }\n        // Reset desiredSize property of sink on every pull.\n        this.streamSinks[streamId].desiredSize = data.desiredSize;\n        const { onPull } = this.streamSinks[data.streamId];\n        new Promise(function(resolve) {\n          resolve(onPull && onPull());\n        }).then(\n          function() {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId,\n              success: true,\n            });\n          },\n          function(reason) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId,\n              reason: wrapReason(reason),\n            });\n          }\n        );\n        break;\n      case StreamKind.ENQUEUE:\n        assert(\n          this.streamControllers[streamId],\n          \"enqueue should have stream controller\"\n        );\n        if (this.streamControllers[streamId].isClosed) {\n          break;\n        }\n        this.streamControllers[streamId].controller.enqueue(data.chunk);\n        break;\n      case StreamKind.CLOSE:\n        assert(\n          this.streamControllers[streamId],\n          \"close should have stream controller\"\n        );\n        if (this.streamControllers[streamId].isClosed) {\n          break;\n        }\n        this.streamControllers[streamId].isClosed = true;\n        this.streamControllers[streamId].controller.close();\n        this._deleteStreamController(streamId);\n        break;\n      case StreamKind.ERROR:\n        assert(\n          this.streamControllers[streamId],\n          \"error should have stream controller\"\n        );\n        this.streamControllers[streamId].controller.error(\n          wrapReason(data.reason)\n        );\n        this._deleteStreamController(streamId);\n        break;\n      case StreamKind.CANCEL_COMPLETE:\n        if (data.success) {\n          this.streamControllers[streamId].cancelCall.resolve();\n        } else {\n          this.streamControllers[streamId].cancelCall.reject(\n            wrapReason(data.reason)\n          );\n        }\n        this._deleteStreamController(streamId);\n        break;\n      case StreamKind.CANCEL:\n        if (!this.streamSinks[streamId]) {\n          break;\n        }\n        const { onCancel } = this.streamSinks[data.streamId];\n        new Promise(function(resolve) {\n          resolve(onCancel && onCancel(wrapReason(data.reason)));\n        }).then(\n          function() {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId,\n              success: true,\n            });\n          },\n          function(reason) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId,\n              reason: wrapReason(reason),\n            });\n          }\n        );\n        this.streamSinks[streamId].sinkCapability.reject(\n          wrapReason(data.reason)\n        );\n        this.streamSinks[streamId].isCancelled = true;\n        delete this.streamSinks[streamId];\n        break;\n      default:\n        throw new Error(\"Unexpected stream case\");\n    }\n  }\n\n  /**\n   * @private\n   */\n  async _deleteStreamController(streamId) {\n    // Delete the `streamController` only when the start, pull, and cancel\n    // capabilities have settled, to prevent `TypeError`s.\n    await Promise.allSettled(\n      [\n        this.streamControllers[streamId].startCall,\n        this.streamControllers[streamId].pullCall,\n        this.streamControllers[streamId].cancelCall,\n      ].map(function(capability) {\n        return capability && capability.promise;\n      })\n    );\n    delete this.streamControllers[streamId];\n  }\n\n  /**\n   * Sends raw message to the comObj.\n   * @param {Object} message - Raw message.\n   * @param transfers List of transfers/ArrayBuffers, or undefined.\n   * @private\n   */\n  _postMessage(message, transfers) {\n    if (transfers && this.postMessageTransfers) {\n      this.comObj.postMessage(message, transfers);\n    } else {\n      this.comObj.postMessage(message);\n    }\n  }\n\n  destroy() {\n    this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n  }\n}\n\nexport { MessageHandler };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { assert } from \"../shared/util.js\";\nimport { SimpleXMLParser } from \"./xml_parser.js\";\n\nclass Metadata {\n  constructor(data) {\n    assert(typeof data === \"string\", \"Metadata: input is not a string\");\n\n    // Ghostscript may produce invalid metadata, so try to repair that first.\n    data = this._repair(data);\n\n    // Convert the string to an XML document.\n    const parser = new SimpleXMLParser();\n    const xmlDocument = parser.parseFromString(data);\n\n    this._metadataMap = new Map();\n\n    if (xmlDocument) {\n      this._parse(xmlDocument);\n    }\n  }\n\n  _repair(data) {\n    // Start by removing any \"junk\" before the first tag (see issue 10395).\n    return data\n      .replace(/^[^<]+/, \"\")\n      .replace(/>\\\\376\\\\377([^<]+)/g, function(all, codes) {\n        const bytes = codes\n          .replace(/\\\\([0-3])([0-7])([0-7])/g, function(code, d1, d2, d3) {\n            return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n          })\n          .replace(/&(amp|apos|gt|lt|quot);/g, function(str, name) {\n            switch (name) {\n              case \"amp\":\n                return \"&\";\n              case \"apos\":\n                return \"'\";\n              case \"gt\":\n                return \">\";\n              case \"lt\":\n                return \"<\";\n              case \"quot\":\n                return '\"';\n            }\n            throw new Error(`_repair: ${name} isn't defined.`);\n          });\n\n        let chars = \"\";\n        for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n          const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n          if (\n            code >= /* Space = */ 32 &&\n            code < /* Delete = */ 127 &&\n            code !== /* '<' = */ 60 &&\n            code !== /* '>' = */ 62 &&\n            code !== /* '&' = */ 38\n          ) {\n            chars += String.fromCharCode(code);\n          } else {\n            chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n          }\n        }\n\n        return \">\" + chars;\n      });\n  }\n\n  _parse(xmlDocument) {\n    let rdf = xmlDocument.documentElement;\n\n    if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n      // Wrapped in <xmpmeta>\n      rdf = rdf.firstChild;\n      while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n        rdf = rdf.nextSibling;\n      }\n    }\n\n    const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n    if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n      return;\n    }\n\n    const children = rdf.childNodes;\n    for (let i = 0, ii = children.length; i < ii; i++) {\n      const desc = children[i];\n      if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n        continue;\n      }\n\n      for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {\n        if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n          const entry = desc.childNodes[j];\n          const name = entry.nodeName.toLowerCase();\n\n          this._metadataMap.set(name, entry.textContent.trim());\n        }\n      }\n    }\n  }\n\n  get(name) {\n    return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n  }\n\n  getAll() {\n    const obj = Object.create(null);\n    for (const [key, value] of this._metadataMap) {\n      obj[key] = value;\n    }\n    return obj;\n  }\n\n  has(name) {\n    return this._metadataMap.has(name);\n  }\n}\n\nexport { Metadata };\n","/* Copyright 2018 Mozilla Foundation\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\n// The code for XMLParserBase copied from\n// https://github.com/mozilla/shumway/blob/16451d8836fa85f4b16eeda8b4bda2fa9e2b22b0/src/avm2/natives/xml.ts\n\nconst XMLParserErrorCode = {\n  NoError: 0,\n  EndOfDocument: -1,\n  UnterminatedCdat: -2,\n  UnterminatedXmlDeclaration: -3,\n  UnterminatedDoctypeDeclaration: -4,\n  UnterminatedComment: -5,\n  MalformedElement: -6,\n  OutOfMemory: -7,\n  UnterminatedAttributeValue: -8,\n  UnterminatedElement: -9,\n  ElementNeverBegun: -10,\n};\n\nfunction isWhitespace(s, index) {\n  const ch = s[index];\n  return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n  for (let i = 0, ii = s.length; i < ii; i++) {\n    if (!isWhitespace(s, i)) {\n      return false;\n    }\n  }\n  return true;\n}\n\nclass XMLParserBase {\n  _resolveEntities(s) {\n    return s.replace(/&([^;]+);/g, (all, entity) => {\n      if (entity.substring(0, 2) === \"#x\") {\n        return String.fromCharCode(parseInt(entity.substring(2), 16));\n      } else if (entity.substring(0, 1) === \"#\") {\n        return String.fromCharCode(parseInt(entity.substring(1), 10));\n      }\n      switch (entity) {\n        case \"lt\":\n          return \"<\";\n        case \"gt\":\n          return \">\";\n        case \"amp\":\n          return \"&\";\n        case \"quot\":\n          return '\"';\n      }\n      return this.onResolveEntity(entity);\n    });\n  }\n\n  _parseContent(s, start) {\n    const attributes = [];\n    let pos = start;\n\n    function skipWs() {\n      while (pos < s.length && isWhitespace(s, pos)) {\n        ++pos;\n      }\n    }\n\n    while (\n      pos < s.length &&\n      !isWhitespace(s, pos) &&\n      s[pos] !== \">\" &&\n      s[pos] !== \"/\"\n    ) {\n      ++pos;\n    }\n    const name = s.substring(start, pos);\n    skipWs();\n    while (\n      pos < s.length &&\n      s[pos] !== \">\" &&\n      s[pos] !== \"/\" &&\n      s[pos] !== \"?\"\n    ) {\n      skipWs();\n      let attrName = \"\",\n        attrValue = \"\";\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n        attrName += s[pos];\n        ++pos;\n      }\n      skipWs();\n      if (s[pos] !== \"=\") {\n        return null;\n      }\n      ++pos;\n      skipWs();\n      const attrEndChar = s[pos];\n      if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n        return null;\n      }\n      const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n      if (attrEndIndex < 0) {\n        return null;\n      }\n      attrValue = s.substring(pos, attrEndIndex);\n      attributes.push({\n        name: attrName,\n        value: this._resolveEntities(attrValue),\n      });\n      pos = attrEndIndex + 1;\n      skipWs();\n    }\n    return {\n      name,\n      attributes,\n      parsed: pos - start,\n    };\n  }\n\n  _parseProcessingInstruction(s, start) {\n    let pos = start;\n\n    function skipWs() {\n      while (pos < s.length && isWhitespace(s, pos)) {\n        ++pos;\n      }\n    }\n\n    while (\n      pos < s.length &&\n      !isWhitespace(s, pos) &&\n      s[pos] !== \">\" &&\n      s[pos] !== \"/\"\n    ) {\n      ++pos;\n    }\n    const name = s.substring(start, pos);\n    skipWs();\n    const attrStart = pos;\n    while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n      ++pos;\n    }\n    const value = s.substring(attrStart, pos);\n    return {\n      name,\n      value,\n      parsed: pos - start,\n    };\n  }\n\n  parseXml(s) {\n    let i = 0;\n    while (i < s.length) {\n      const ch = s[i];\n      let j = i;\n      if (ch === \"<\") {\n        ++j;\n        const ch2 = s[j];\n        let q;\n        switch (ch2) {\n          case \"/\":\n            ++j;\n            q = s.indexOf(\">\", j);\n            if (q < 0) {\n              this.onError(XMLParserErrorCode.UnterminatedElement);\n              return;\n            }\n            this.onEndElement(s.substring(j, q));\n            j = q + 1;\n            break;\n          case \"?\":\n            ++j;\n            const pi = this._parseProcessingInstruction(s, j);\n            if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n              this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n              return;\n            }\n            this.onPi(pi.name, pi.value);\n            j += pi.parsed + 2;\n            break;\n          case \"!\":\n            if (s.substring(j + 1, j + 3) === \"--\") {\n              q = s.indexOf(\"-->\", j + 3);\n              if (q < 0) {\n                this.onError(XMLParserErrorCode.UnterminatedComment);\n                return;\n              }\n              this.onComment(s.substring(j + 3, q));\n              j = q + 3;\n            } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n              q = s.indexOf(\"]]>\", j + 8);\n              if (q < 0) {\n                this.onError(XMLParserErrorCode.UnterminatedCdat);\n                return;\n              }\n              this.onCdata(s.substring(j + 8, q));\n              j = q + 3;\n            } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n              const q2 = s.indexOf(\"[\", j + 8);\n              let complexDoctype = false;\n              q = s.indexOf(\">\", j + 8);\n              if (q < 0) {\n                this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                return;\n              }\n              if (q2 > 0 && q > q2) {\n                q = s.indexOf(\"]>\", j + 8);\n                if (q < 0) {\n                  this.onError(\n                    XMLParserErrorCode.UnterminatedDoctypeDeclaration\n                  );\n                  return;\n                }\n                complexDoctype = true;\n              }\n              const doctypeContent = s.substring(\n                j + 8,\n                q + (complexDoctype ? 1 : 0)\n              );\n              this.onDoctype(doctypeContent);\n              j = q + (complexDoctype ? 2 : 1);\n            } else {\n              this.onError(XMLParserErrorCode.MalformedElement);\n              return;\n            }\n            break;\n          default:\n            const content = this._parseContent(s, j);\n            if (content === null) {\n              this.onError(XMLParserErrorCode.MalformedElement);\n              return;\n            }\n            let isClosed = false;\n            if (\n              s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\"\n            ) {\n              isClosed = true;\n            } else if (\n              s.substring(j + content.parsed, j + content.parsed + 1) !== \">\"\n            ) {\n              this.onError(XMLParserErrorCode.UnterminatedElement);\n              return;\n            }\n            this.onBeginElement(content.name, content.attributes, isClosed);\n            j += content.parsed + (isClosed ? 2 : 1);\n            break;\n        }\n      } else {\n        while (j < s.length && s[j] !== \"<\") {\n          j++;\n        }\n        const text = s.substring(i, j);\n        this.onText(this._resolveEntities(text));\n      }\n      i = j;\n    }\n  }\n\n  onResolveEntity(name) {\n    return `&${name};`;\n  }\n\n  onPi(name, value) {}\n\n  onComment(text) {}\n\n  onCdata(text) {}\n\n  onDoctype(doctypeContent) {}\n\n  onText(text) {}\n\n  onBeginElement(name, attributes, isEmpty) {}\n\n  onEndElement(name) {}\n\n  onError(code) {}\n}\n\nclass SimpleDOMNode {\n  constructor(nodeName, nodeValue) {\n    this.nodeName = nodeName;\n    this.nodeValue = nodeValue;\n\n    Object.defineProperty(this, \"parentNode\", { value: null, writable: true });\n  }\n\n  get firstChild() {\n    return this.childNodes && this.childNodes[0];\n  }\n\n  get nextSibling() {\n    const childNodes = this.parentNode.childNodes;\n    if (!childNodes) {\n      return undefined;\n    }\n    const index = childNodes.indexOf(this);\n    if (index === -1) {\n      return undefined;\n    }\n    return childNodes[index + 1];\n  }\n\n  get textContent() {\n    if (!this.childNodes) {\n      return this.nodeValue || \"\";\n    }\n    return this.childNodes\n      .map(function(child) {\n        return child.textContent;\n      })\n      .join(\"\");\n  }\n\n  hasChildNodes() {\n    return this.childNodes && this.childNodes.length > 0;\n  }\n}\n\nclass SimpleXMLParser extends XMLParserBase {\n  constructor() {\n    super();\n    this._currentFragment = null;\n    this._stack = null;\n    this._errorCode = XMLParserErrorCode.NoError;\n  }\n\n  parseFromString(data) {\n    this._currentFragment = [];\n    this._stack = [];\n    this._errorCode = XMLParserErrorCode.NoError;\n\n    this.parseXml(data);\n\n    if (this._errorCode !== XMLParserErrorCode.NoError) {\n      return undefined; // return undefined on error\n    }\n\n    // We should only have one root.\n    const [documentElement] = this._currentFragment;\n    if (!documentElement) {\n      return undefined; // Return undefined if no root was found.\n    }\n    return { documentElement };\n  }\n\n  onResolveEntity(name) {\n    switch (name) {\n      case \"apos\":\n        return \"'\";\n    }\n    return super.onResolveEntity(name);\n  }\n\n  onText(text) {\n    if (isWhitespaceString(text)) {\n      return;\n    }\n    const node = new SimpleDOMNode(\"#text\", text);\n    this._currentFragment.push(node);\n  }\n\n  onCdata(text) {\n    const node = new SimpleDOMNode(\"#text\", text);\n    this._currentFragment.push(node);\n  }\n\n  onBeginElement(name, attributes, isEmpty) {\n    const node = new SimpleDOMNode(name);\n    node.childNodes = [];\n    this._currentFragment.push(node);\n    if (isEmpty) {\n      return;\n    }\n    this._stack.push(this._currentFragment);\n    this._currentFragment = node.childNodes;\n  }\n\n  onEndElement(name) {\n    this._currentFragment = this._stack.pop() || [];\n    const lastElement = this._currentFragment[this._currentFragment.length - 1];\n    if (!lastElement) {\n      return;\n    }\n    for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n      lastElement.childNodes[i].parentNode = lastElement;\n    }\n  }\n\n  onError(code) {\n    this._errorCode = code;\n  }\n}\n\nexport { SimpleXMLParser };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport { assert, createPromiseCapability } from \"../shared/util.js\";\n\n/** @implements {IPDFStream} */\nclass PDFDataTransportStream {\n  constructor(params, pdfDataRangeTransport) {\n    assert(pdfDataRangeTransport);\n\n    this._queuedChunks = [];\n    this._progressiveDone = params.progressiveDone || false;\n\n    const initialData = params.initialData;\n    if (initialData && initialData.length > 0) {\n      const buffer = new Uint8Array(initialData).buffer;\n      this._queuedChunks.push(buffer);\n    }\n\n    this._pdfDataRangeTransport = pdfDataRangeTransport;\n    this._isStreamingSupported = !params.disableStream;\n    this._isRangeSupported = !params.disableRange;\n    this._contentLength = params.length;\n\n    this._fullRequestReader = null;\n    this._rangeReaders = [];\n\n    this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n      this._onReceiveData({ begin, chunk });\n    });\n\n    this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n      this._onProgress({ loaded, total });\n    });\n\n    this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n      this._onReceiveData({ chunk });\n    });\n\n    this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n      this._onProgressiveDone();\n    });\n\n    this._pdfDataRangeTransport.transportReady();\n  }\n\n  _onReceiveData(args) {\n    const buffer = new Uint8Array(args.chunk).buffer;\n    if (args.begin === undefined) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader._enqueue(buffer);\n      } else {\n        this._queuedChunks.push(buffer);\n      }\n    } else {\n      const found = this._rangeReaders.some(function(rangeReader) {\n        if (rangeReader._begin !== args.begin) {\n          return false;\n        }\n        rangeReader._enqueue(buffer);\n        return true;\n      });\n      assert(found);\n    }\n  }\n\n  get _progressiveDataLength() {\n    return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n  }\n\n  _onProgress(evt) {\n    if (evt.total === undefined) {\n      // Reporting to first range reader, if it exists.\n      const firstReader = this._rangeReaders[0];\n      if (firstReader && firstReader.onProgress) {\n        firstReader.onProgress({ loaded: evt.loaded });\n      }\n    } else {\n      const fullReader = this._fullRequestReader;\n      if (fullReader && fullReader.onProgress) {\n        fullReader.onProgress({ loaded: evt.loaded, total: evt.total });\n      }\n    }\n  }\n\n  _onProgressiveDone() {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.progressiveDone();\n    }\n    this._progressiveDone = true;\n  }\n\n  _removeRangeReader(reader) {\n    const i = this._rangeReaders.indexOf(reader);\n    if (i >= 0) {\n      this._rangeReaders.splice(i, 1);\n    }\n  }\n\n  getFullReader() {\n    assert(!this._fullRequestReader);\n    const queuedChunks = this._queuedChunks;\n    this._queuedChunks = null;\n    return new PDFDataTransportStreamReader(\n      this,\n      queuedChunks,\n      this._progressiveDone\n    );\n  }\n\n  getRangeReader(begin, end) {\n    if (end <= this._progressiveDataLength) {\n      return null;\n    }\n    const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n    this._pdfDataRangeTransport.requestDataRange(begin, end);\n    this._rangeReaders.push(reader);\n    return reader;\n  }\n\n  cancelAllRequests(reason) {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.cancel(reason);\n    }\n    const readers = this._rangeReaders.slice(0);\n    readers.forEach(function(rangeReader) {\n      rangeReader.cancel(reason);\n    });\n    this._pdfDataRangeTransport.abort();\n  }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFDataTransportStreamReader {\n  constructor(stream, queuedChunks, progressiveDone = false) {\n    this._stream = stream;\n    this._done = progressiveDone || false;\n    this._filename = null;\n    this._queuedChunks = queuedChunks || [];\n    this._loaded = 0;\n    for (const chunk of this._queuedChunks) {\n      this._loaded += chunk.byteLength;\n    }\n    this._requests = [];\n    this._headersReady = Promise.resolve();\n    stream._fullRequestReader = this;\n\n    this.onProgress = null;\n  }\n\n  _enqueue(chunk) {\n    if (this._done) {\n      return; // Ignore new data.\n    }\n    if (this._requests.length > 0) {\n      const requestCapability = this._requests.shift();\n      requestCapability.resolve({ value: chunk, done: false });\n    } else {\n      this._queuedChunks.push(chunk);\n    }\n    this._loaded += chunk.byteLength;\n  }\n\n  get headersReady() {\n    return this._headersReady;\n  }\n\n  get filename() {\n    return this._filename;\n  }\n\n  get isRangeSupported() {\n    return this._stream._isRangeSupported;\n  }\n\n  get isStreamingSupported() {\n    return this._stream._isStreamingSupported;\n  }\n\n  get contentLength() {\n    return this._stream._contentLength;\n  }\n\n  async read() {\n    if (this._queuedChunks.length > 0) {\n      const chunk = this._queuedChunks.shift();\n      return { value: chunk, done: false };\n    }\n    if (this._done) {\n      return { value: undefined, done: true };\n    }\n    const requestCapability = createPromiseCapability();\n    this._requests.push(requestCapability);\n    return requestCapability.promise;\n  }\n\n  cancel(reason) {\n    this._done = true;\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.resolve({ value: undefined, done: true });\n    });\n    this._requests = [];\n  }\n\n  progressiveDone() {\n    if (this._done) {\n      return;\n    }\n    this._done = true;\n  }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFDataTransportStreamRangeReader {\n  constructor(stream, begin, end) {\n    this._stream = stream;\n    this._begin = begin;\n    this._end = end;\n    this._queuedChunk = null;\n    this._requests = [];\n    this._done = false;\n\n    this.onProgress = null;\n  }\n\n  _enqueue(chunk) {\n    if (this._done) {\n      return; // ignore new data\n    }\n    if (this._requests.length === 0) {\n      this._queuedChunk = chunk;\n    } else {\n      const requestsCapability = this._requests.shift();\n      requestsCapability.resolve({ value: chunk, done: false });\n      this._requests.forEach(function(requestCapability) {\n        requestCapability.resolve({ value: undefined, done: true });\n      });\n      this._requests = [];\n    }\n    this._done = true;\n    this._stream._removeRangeReader(this);\n  }\n\n  get isStreamingSupported() {\n    return false;\n  }\n\n  async read() {\n    if (this._queuedChunk) {\n      const chunk = this._queuedChunk;\n      this._queuedChunk = null;\n      return { value: chunk, done: false };\n    }\n    if (this._done) {\n      return { value: undefined, done: true };\n    }\n    const requestCapability = createPromiseCapability();\n    this._requests.push(requestCapability);\n    return requestCapability.promise;\n  }\n\n  cancel(reason) {\n    this._done = true;\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.resolve({ value: undefined, done: true });\n    });\n    this._requests = [];\n    this._stream._removeRangeReader(this);\n  }\n}\n\nexport { PDFDataTransportStream };\n","/* Copyright 2014 Mozilla Foundation\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/* eslint-disable no-multi-str */\n\nimport { shadow } from \"../shared/util.js\";\n\nclass WebGLContext {\n  constructor({ enable = false }) {\n    this._enabled = enable === true;\n  }\n\n  get isEnabled() {\n    let enabled = this._enabled;\n    if (enabled) {\n      enabled = WebGLUtils.tryInitGL();\n    }\n    return shadow(this, \"isEnabled\", enabled);\n  }\n\n  composeSMask({ layer, mask, properties }) {\n    return WebGLUtils.composeSMask(layer, mask, properties);\n  }\n\n  drawFigures({ width, height, backgroundColor, figures, context }) {\n    return WebGLUtils.drawFigures(\n      width,\n      height,\n      backgroundColor,\n      figures,\n      context\n    );\n  }\n\n  clear() {\n    WebGLUtils.cleanup();\n  }\n}\n\nvar WebGLUtils = (function WebGLUtilsClosure() {\n  function loadShader(gl, code, shaderType) {\n    var shader = gl.createShader(shaderType);\n    gl.shaderSource(shader, code);\n    gl.compileShader(shader);\n    var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n    if (!compiled) {\n      var errorMsg = gl.getShaderInfoLog(shader);\n      throw new Error(\"Error during shader compilation: \" + errorMsg);\n    }\n    return shader;\n  }\n  function createVertexShader(gl, code) {\n    return loadShader(gl, code, gl.VERTEX_SHADER);\n  }\n  function createFragmentShader(gl, code) {\n    return loadShader(gl, code, gl.FRAGMENT_SHADER);\n  }\n  function createProgram(gl, shaders) {\n    var program = gl.createProgram();\n    for (var i = 0, ii = shaders.length; i < ii; ++i) {\n      gl.attachShader(program, shaders[i]);\n    }\n    gl.linkProgram(program);\n    var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n    if (!linked) {\n      var errorMsg = gl.getProgramInfoLog(program);\n      throw new Error(\"Error during program linking: \" + errorMsg);\n    }\n    return program;\n  }\n  function createTexture(gl, image, textureId) {\n    gl.activeTexture(textureId);\n    var texture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, texture);\n\n    // Set the parameters so we can render any size image.\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n\n    // Upload the image into the texture.\n    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n    return texture;\n  }\n\n  var currentGL, currentCanvas;\n  function generateGL() {\n    if (currentGL) {\n      return;\n    }\n\n    // The temporary canvas is used in the WebGL context.\n    currentCanvas = document.createElement(\"canvas\");\n    currentGL = currentCanvas.getContext(\"webgl\", {\n      premultipliedalpha: false,\n    });\n  }\n\n  var smaskVertexShaderCode =\n    \"\\\n  attribute vec2 a_position;                                    \\\n  attribute vec2 a_texCoord;                                    \\\n                                                                \\\n  uniform vec2 u_resolution;                                    \\\n                                                                \\\n  varying vec2 v_texCoord;                                      \\\n                                                                \\\n  void main() {                                                 \\\n    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \\\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\n                                                                \\\n    v_texCoord = a_texCoord;                                    \\\n  }                                                             \";\n\n  var smaskFragmentShaderCode =\n    \"\\\n  precision mediump float;                                      \\\n                                                                \\\n  uniform vec4 u_backdrop;                                      \\\n  uniform int u_subtype;                                        \\\n  uniform sampler2D u_image;                                    \\\n  uniform sampler2D u_mask;                                     \\\n                                                                \\\n  varying vec2 v_texCoord;                                      \\\n                                                                \\\n  void main() {                                                 \\\n    vec4 imageColor = texture2D(u_image, v_texCoord);           \\\n    vec4 maskColor = texture2D(u_mask, v_texCoord);             \\\n    if (u_backdrop.a > 0.0) {                                   \\\n      maskColor.rgb = maskColor.rgb * maskColor.a +             \\\n                      u_backdrop.rgb * (1.0 - maskColor.a);     \\\n    }                                                           \\\n    float lum;                                                  \\\n    if (u_subtype == 0) {                                       \\\n      lum = maskColor.a;                                        \\\n    } else {                                                    \\\n      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \\\n            maskColor.b * 0.11;                                 \\\n    }                                                           \\\n    imageColor.a *= lum;                                        \\\n    imageColor.rgb *= imageColor.a;                             \\\n    gl_FragColor = imageColor;                                  \\\n  }                                                             \";\n\n  var smaskCache = null;\n\n  function initSmaskGL() {\n    var canvas, gl;\n\n    generateGL();\n    canvas = currentCanvas;\n    currentCanvas = null;\n    gl = currentGL;\n    currentGL = null;\n\n    // setup a GLSL program\n    var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n    var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n    var program = createProgram(gl, [vertexShader, fragmentShader]);\n    gl.useProgram(program);\n\n    var cache = {};\n    cache.gl = gl;\n    cache.canvas = canvas;\n    cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n    cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n    cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n    cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n\n    var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n    var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n    var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n\n    // provide texture coordinates for the rectangle.\n    var texCoordBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n    // prettier-ignore\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\n      0.0, 0.0,\n      1.0, 0.0,\n      0.0, 1.0,\n      0.0, 1.0,\n      1.0, 0.0,\n      1.0, 1.0]), gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(texCoordLocation);\n    gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n\n    gl.uniform1i(texLayerLocation, 0);\n    gl.uniform1i(texMaskLocation, 1);\n\n    smaskCache = cache;\n  }\n\n  function composeSMask(layer, mask, properties) {\n    var width = layer.width,\n      height = layer.height;\n\n    if (!smaskCache) {\n      initSmaskGL();\n    }\n    var cache = smaskCache,\n      canvas = cache.canvas,\n      gl = cache.gl;\n    canvas.width = width;\n    canvas.height = height;\n    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n    gl.uniform2f(cache.resolutionLocation, width, height);\n\n    if (properties.backdrop) {\n      gl.uniform4f(\n        cache.resolutionLocation,\n        properties.backdrop[0],\n        properties.backdrop[1],\n        properties.backdrop[2],\n        1\n      );\n    } else {\n      gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n    }\n    gl.uniform1i(\n      cache.subtypeLocation,\n      properties.subtype === \"Luminosity\" ? 1 : 0\n    );\n\n    // Create a textures\n    var texture = createTexture(gl, layer, gl.TEXTURE0);\n    var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n\n    // Create a buffer and put a single clipspace rectangle in\n    // it (2 triangles)\n    var buffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n    // prettier-ignore\n    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\n      0, 0,\n      width, 0,\n      0, height,\n      0, height,\n      width, 0,\n      width, height]), gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.positionLocation);\n    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n\n    // draw\n    gl.clearColor(0, 0, 0, 0);\n    gl.enable(gl.BLEND);\n    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n    gl.clear(gl.COLOR_BUFFER_BIT);\n\n    gl.drawArrays(gl.TRIANGLES, 0, 6);\n\n    gl.flush();\n\n    gl.deleteTexture(texture);\n    gl.deleteTexture(maskTexture);\n    gl.deleteBuffer(buffer);\n\n    return canvas;\n  }\n\n  var figuresVertexShaderCode =\n    \"\\\n  attribute vec2 a_position;                                    \\\n  attribute vec3 a_color;                                       \\\n                                                                \\\n  uniform vec2 u_resolution;                                    \\\n  uniform vec2 u_scale;                                         \\\n  uniform vec2 u_offset;                                        \\\n                                                                \\\n  varying vec4 v_color;                                         \\\n                                                                \\\n  void main() {                                                 \\\n    vec2 position = (a_position + u_offset) * u_scale;          \\\n    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \\\n    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \\\n                                                                \\\n    v_color = vec4(a_color / 255.0, 1.0);                       \\\n  }                                                             \";\n\n  var figuresFragmentShaderCode =\n    \"\\\n  precision mediump float;                                      \\\n                                                                \\\n  varying vec4 v_color;                                         \\\n                                                                \\\n  void main() {                                                 \\\n    gl_FragColor = v_color;                                     \\\n  }                                                             \";\n\n  var figuresCache = null;\n\n  function initFiguresGL() {\n    var canvas, gl;\n\n    generateGL();\n    canvas = currentCanvas;\n    currentCanvas = null;\n    gl = currentGL;\n    currentGL = null;\n\n    // setup a GLSL program\n    var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n    var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n    var program = createProgram(gl, [vertexShader, fragmentShader]);\n    gl.useProgram(program);\n\n    var cache = {};\n    cache.gl = gl;\n    cache.canvas = canvas;\n    cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n    cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n    cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n    cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n    cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n\n    figuresCache = cache;\n  }\n\n  function drawFigures(width, height, backgroundColor, figures, context) {\n    if (!figuresCache) {\n      initFiguresGL();\n    }\n    var cache = figuresCache,\n      canvas = cache.canvas,\n      gl = cache.gl;\n\n    canvas.width = width;\n    canvas.height = height;\n    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n    gl.uniform2f(cache.resolutionLocation, width, height);\n\n    // count triangle points\n    var count = 0;\n    var i, ii, rows;\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      switch (figures[i].type) {\n        case \"lattice\":\n          rows = (figures[i].coords.length / figures[i].verticesPerRow) | 0;\n          count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n          break;\n        case \"triangles\":\n          count += figures[i].coords.length;\n          break;\n      }\n    }\n    // transfer data\n    var coords = new Float32Array(count * 2);\n    var colors = new Uint8Array(count * 3);\n    var coordsMap = context.coords,\n      colorsMap = context.colors;\n    var pIndex = 0,\n      cIndex = 0;\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n        ps = figure.coords,\n        cs = figure.colors;\n      switch (figure.type) {\n        case \"lattice\":\n          var cols = figure.verticesPerRow;\n          rows = (ps.length / cols) | 0;\n          for (var row = 1; row < rows; row++) {\n            var offset = row * cols + 1;\n            for (var col = 1; col < cols; col++, offset++) {\n              coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n              coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n              coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n              coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n              coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n              coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n              colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n              colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n              colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n              colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n              colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n              colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n              colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n              colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n              colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n\n              coords[pIndex + 6] = coords[pIndex + 2];\n              coords[pIndex + 7] = coords[pIndex + 3];\n              coords[pIndex + 8] = coords[pIndex + 4];\n              coords[pIndex + 9] = coords[pIndex + 5];\n              coords[pIndex + 10] = coordsMap[ps[offset]];\n              coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n              colors[cIndex + 9] = colors[cIndex + 3];\n              colors[cIndex + 10] = colors[cIndex + 4];\n              colors[cIndex + 11] = colors[cIndex + 5];\n              colors[cIndex + 12] = colors[cIndex + 6];\n              colors[cIndex + 13] = colors[cIndex + 7];\n              colors[cIndex + 14] = colors[cIndex + 8];\n              colors[cIndex + 15] = colorsMap[cs[offset]];\n              colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n              colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n              pIndex += 12;\n              cIndex += 18;\n            }\n          }\n          break;\n        case \"triangles\":\n          for (var j = 0, jj = ps.length; j < jj; j++) {\n            coords[pIndex] = coordsMap[ps[j]];\n            coords[pIndex + 1] = coordsMap[ps[j] + 1];\n            colors[cIndex] = colorsMap[cs[j]];\n            colors[cIndex + 1] = colorsMap[cs[j] + 1];\n            colors[cIndex + 2] = colorsMap[cs[j] + 2];\n            pIndex += 2;\n            cIndex += 3;\n          }\n          break;\n      }\n    }\n\n    // draw\n    if (backgroundColor) {\n      gl.clearColor(\n        backgroundColor[0] / 255,\n        backgroundColor[1] / 255,\n        backgroundColor[2] / 255,\n        1.0\n      );\n    } else {\n      gl.clearColor(0, 0, 0, 0);\n    }\n    gl.clear(gl.COLOR_BUFFER_BIT);\n\n    var coordsBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.positionLocation);\n    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n\n    var colorsBuffer = gl.createBuffer();\n    gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n    gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n    gl.enableVertexAttribArray(cache.colorLocation);\n    gl.vertexAttribPointer(\n      cache.colorLocation,\n      3,\n      gl.UNSIGNED_BYTE,\n      false,\n      0,\n      0\n    );\n\n    gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n    gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n\n    gl.drawArrays(gl.TRIANGLES, 0, count);\n\n    gl.flush();\n\n    gl.deleteBuffer(coordsBuffer);\n    gl.deleteBuffer(colorsBuffer);\n\n    return canvas;\n  }\n\n  return {\n    tryInitGL() {\n      try {\n        generateGL();\n        return !!currentGL;\n      } catch (ex) {}\n      return false;\n    },\n\n    composeSMask,\n\n    drawFigures,\n\n    cleanup() {\n      if (smaskCache && smaskCache.canvas) {\n        smaskCache.canvas.width = 0;\n        smaskCache.canvas.height = 0;\n      }\n      if (figuresCache && figuresCache.canvas) {\n        figuresCache.canvas.width = 0;\n        figuresCache.canvas.height = 0;\n      }\n      smaskCache = null;\n      figuresCache = null;\n    },\n  };\n})();\n\nexport { WebGLContext };\n","/* Copyright 2015 Mozilla Foundation\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\nimport {\n  AbortException,\n  createPromiseCapability,\n  Util,\n} from \"../shared/util.js\";\n\n/**\n * Text layer render parameters.\n *\n * @typedef {Object} TextLayerRenderParameters\n * @property {TextContent} [textContent] - Text content to render (the object\n *   is returned by the page's `getTextContent` method).\n * @property {ReadableStream} [textContentStream] - Text content stream to\n *   render (the stream is returned by the page's `streamTextContent` method).\n * @property {HTMLElement} container - HTML element that will contain text runs.\n * @property {PageViewport} viewport - The target viewport to properly\n *   layout the text runs.\n * @property {Array} [textDivs] - HTML elements that are correspond to the\n *   text items of the textContent input. This is output and shall be\n *   initially be set to empty array.\n * @property {Array} [textContentItemsStr] - Strings that correspond to the\n *   `str` property of the text items of textContent input. This is output\n *   and shall be initially be set to empty array.\n * @property {number} [timeout] - Delay in milliseconds before rendering of the\n *   text runs occurs.\n * @property {boolean} [enhanceTextSelection] - Whether to turn on the text\n *   selection enhancement.\n */\nvar renderTextLayer = (function renderTextLayerClosure() {\n  var MAX_TEXT_DIVS_TO_RENDER = 100000;\n\n  var NonWhitespaceRegexp = /\\S/;\n\n  function isAllWhitespace(str) {\n    return !NonWhitespaceRegexp.test(str);\n  }\n\n  function appendText(task, geom, styles) {\n    // Initialize all used properties to keep the caches monomorphic.\n    var textDiv = document.createElement(\"span\");\n    var textDivProperties = {\n      angle: 0,\n      canvasWidth: 0,\n      isWhitespace: false,\n      originalTransform: null,\n      paddingBottom: 0,\n      paddingLeft: 0,\n      paddingRight: 0,\n      paddingTop: 0,\n      scale: 1,\n    };\n\n    task._textDivs.push(textDiv);\n    if (isAllWhitespace(geom.str)) {\n      textDivProperties.isWhitespace = true;\n      task._textDivProperties.set(textDiv, textDivProperties);\n      return;\n    }\n\n    var tx = Util.transform(task._viewport.transform, geom.transform);\n    var angle = Math.atan2(tx[1], tx[0]);\n    var style = styles[geom.fontName];\n    if (style.vertical) {\n      angle += Math.PI / 2;\n    }\n    var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n    var fontAscent = fontHeight;\n    if (style.ascent) {\n      fontAscent = style.ascent * fontAscent;\n    } else if (style.descent) {\n      fontAscent = (1 + style.descent) * fontAscent;\n    }\n\n    let left, top;\n    if (angle === 0) {\n      left = tx[4];\n      top = tx[5] - fontAscent;\n    } else {\n      left = tx[4] + fontAscent * Math.sin(angle);\n      top = tx[5] - fontAscent * Math.cos(angle);\n    }\n    // Setting the style properties individually, rather than all at once,\n    // should be OK since the `textDiv` isn't appended to the document yet.\n    textDiv.style.left = `${left}px`;\n    textDiv.style.top = `${top}px`;\n    textDiv.style.fontSize = `${fontHeight}px`;\n    textDiv.style.fontFamily = style.fontFamily;\n\n    textDiv.textContent = geom.str;\n    // `fontName` is only used by the FontInspector, and we only use `dataset`\n    // here to make the font name available in the debugger.\n    if (task._fontInspectorEnabled) {\n      textDiv.dataset.fontName = geom.fontName;\n    }\n    if (angle !== 0) {\n      textDivProperties.angle = angle * (180 / Math.PI);\n    }\n    // We don't bother scaling single-char text divs, because it has very\n    // little effect on text highlighting. This makes scrolling on docs with\n    // lots of such divs a lot faster.\n    if (geom.str.length > 1) {\n      if (style.vertical) {\n        textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n      } else {\n        textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n      }\n    }\n    task._textDivProperties.set(textDiv, textDivProperties);\n    if (task._textContentStream) {\n      task._layoutText(textDiv);\n    }\n\n    if (task._enhanceTextSelection) {\n      var angleCos = 1,\n        angleSin = 0;\n      if (angle !== 0) {\n        angleCos = Math.cos(angle);\n        angleSin = Math.sin(angle);\n      }\n      var divWidth =\n        (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n      var divHeight = fontHeight;\n\n      var m, b;\n      if (angle !== 0) {\n        m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n        b = Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n      } else {\n        b = [left, top, left + divWidth, top + divHeight];\n      }\n\n      task._bounds.push({\n        left: b[0],\n        top: b[1],\n        right: b[2],\n        bottom: b[3],\n        div: textDiv,\n        size: [divWidth, divHeight],\n        m,\n      });\n    }\n  }\n\n  function render(task) {\n    if (task._canceled) {\n      return;\n    }\n    var textDivs = task._textDivs;\n    var capability = task._capability;\n    var textDivsLength = textDivs.length;\n\n    // No point in rendering many divs as it would make the browser\n    // unusable even after the divs are rendered.\n    if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n      task._renderingDone = true;\n      capability.resolve();\n      return;\n    }\n\n    if (!task._textContentStream) {\n      for (var i = 0; i < textDivsLength; i++) {\n        task._layoutText(textDivs[i]);\n      }\n    }\n\n    task._renderingDone = true;\n    capability.resolve();\n  }\n\n  function expand(task) {\n    var bounds = task._bounds;\n    var viewport = task._viewport;\n\n    var expanded = expandBounds(viewport.width, viewport.height, bounds);\n    for (var i = 0; i < expanded.length; i++) {\n      var div = bounds[i].div;\n      var divProperties = task._textDivProperties.get(div);\n      if (divProperties.angle === 0) {\n        divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n        divProperties.paddingTop = bounds[i].top - expanded[i].top;\n        divProperties.paddingRight = expanded[i].right - bounds[i].right;\n        divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n        task._textDivProperties.set(div, divProperties);\n        continue;\n      }\n      // Box is rotated -- trying to find padding so rotated div will not\n      // exceed its expanded bounds.\n      var e = expanded[i],\n        b = bounds[i];\n      var m = b.m,\n        c = m[0],\n        s = m[1];\n      // Finding intersections with expanded box.\n      var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n      var ts = new Float64Array(64);\n      points.forEach(function(p, i) {\n        var t = Util.applyTransform(p, m);\n        ts[i + 0] = c && (e.left - t[0]) / c;\n        ts[i + 4] = s && (e.top - t[1]) / s;\n        ts[i + 8] = c && (e.right - t[0]) / c;\n        ts[i + 12] = s && (e.bottom - t[1]) / s;\n\n        ts[i + 16] = s && (e.left - t[0]) / -s;\n        ts[i + 20] = c && (e.top - t[1]) / c;\n        ts[i + 24] = s && (e.right - t[0]) / -s;\n        ts[i + 28] = c && (e.bottom - t[1]) / c;\n\n        ts[i + 32] = c && (e.left - t[0]) / -c;\n        ts[i + 36] = s && (e.top - t[1]) / -s;\n        ts[i + 40] = c && (e.right - t[0]) / -c;\n        ts[i + 44] = s && (e.bottom - t[1]) / -s;\n\n        ts[i + 48] = s && (e.left - t[0]) / s;\n        ts[i + 52] = c && (e.top - t[1]) / -c;\n        ts[i + 56] = s && (e.right - t[0]) / s;\n        ts[i + 60] = c && (e.bottom - t[1]) / -c;\n      });\n      var findPositiveMin = function(ts, offset, count) {\n        var result = 0;\n        for (var i = 0; i < count; i++) {\n          var t = ts[offset++];\n          if (t > 0) {\n            result = result ? Math.min(t, result) : t;\n          }\n        }\n        return result;\n      };\n      // Not based on math, but to simplify calculations, using cos and sin\n      // absolute values to not exceed the box (it can but insignificantly).\n      var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n      divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n      divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n      divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n      divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n      task._textDivProperties.set(div, divProperties);\n    }\n  }\n\n  function expandBounds(width, height, boxes) {\n    var bounds = boxes.map(function(box, i) {\n      return {\n        x1: box.left,\n        y1: box.top,\n        x2: box.right,\n        y2: box.bottom,\n        index: i,\n        x1New: undefined,\n        x2New: undefined,\n      };\n    });\n    expandBoundsLTR(width, bounds);\n    var expanded = new Array(boxes.length);\n    bounds.forEach(function(b) {\n      var i = b.index;\n      expanded[i] = {\n        left: b.x1New,\n        top: 0,\n        right: b.x2New,\n        bottom: 0,\n      };\n    });\n\n    // Rotating on 90 degrees and extending extended boxes. Reusing the bounds\n    // array and objects.\n    boxes.map(function(box, i) {\n      var e = expanded[i],\n        b = bounds[i];\n      b.x1 = box.top;\n      b.y1 = width - e.right;\n      b.x2 = box.bottom;\n      b.y2 = width - e.left;\n      b.index = i;\n      b.x1New = undefined;\n      b.x2New = undefined;\n    });\n    expandBoundsLTR(height, bounds);\n\n    bounds.forEach(function(b) {\n      var i = b.index;\n      expanded[i].top = b.x1New;\n      expanded[i].bottom = b.x2New;\n    });\n    return expanded;\n  }\n\n  function expandBoundsLTR(width, bounds) {\n    // Sorting by x1 coordinate and walk by the bounds in the same order.\n    bounds.sort(function(a, b) {\n      return a.x1 - b.x1 || a.index - b.index;\n    });\n\n    // First we see on the horizon is a fake boundary.\n    var fakeBoundary = {\n      x1: -Infinity,\n      y1: -Infinity,\n      x2: 0,\n      y2: Infinity,\n      index: -1,\n      x1New: 0,\n      x2New: 0,\n    };\n    var horizon = [\n      {\n        start: -Infinity,\n        end: Infinity,\n        boundary: fakeBoundary,\n      },\n    ];\n\n    bounds.forEach(function(boundary) {\n      // Searching for the affected part of horizon.\n      // TODO red-black tree or simple binary search\n      var i = 0;\n      while (i < horizon.length && horizon[i].end <= boundary.y1) {\n        i++;\n      }\n      var j = horizon.length - 1;\n      while (j >= 0 && horizon[j].start >= boundary.y2) {\n        j--;\n      }\n\n      var horizonPart, affectedBoundary;\n      var q,\n        k,\n        maxXNew = -Infinity;\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        var xNew;\n        if (affectedBoundary.x2 > boundary.x1) {\n          // In the middle of the previous element, new x shall be at the\n          // boundary start. Extending if further if the affected boundary\n          // placed on top of the current one.\n          xNew =\n            affectedBoundary.index > boundary.index\n              ? affectedBoundary.x1New\n              : boundary.x1;\n        } else if (affectedBoundary.x2New === undefined) {\n          // We have some space in between, new x in middle will be a fair\n          // choice.\n          xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n        } else {\n          // Affected boundary has x2new set, using it as new x.\n          xNew = affectedBoundary.x2New;\n        }\n        if (xNew > maxXNew) {\n          maxXNew = xNew;\n        }\n      }\n\n      // Set new x1 for current boundary.\n      boundary.x1New = maxXNew;\n\n      // Adjusts new x2 for the affected boundaries.\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        if (affectedBoundary.x2New === undefined) {\n          // Was not set yet, choosing new x if possible.\n          if (affectedBoundary.x2 > boundary.x1) {\n            // Current and affected boundaries intersect. If affected boundary\n            // is placed on top of the current, shrinking the affected.\n            if (affectedBoundary.index > boundary.index) {\n              affectedBoundary.x2New = affectedBoundary.x2;\n            }\n          } else {\n            affectedBoundary.x2New = maxXNew;\n          }\n        } else if (affectedBoundary.x2New > maxXNew) {\n          // Affected boundary is touching new x, pushing it back.\n          affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n        }\n      }\n\n      // Fixing the horizon.\n      var changedHorizon = [],\n        lastBoundary = null;\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        // Checking which boundary will be visible.\n        var useBoundary =\n          affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n        if (lastBoundary === useBoundary) {\n          // Merging with previous.\n          changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n        } else {\n          changedHorizon.push({\n            start: horizonPart.start,\n            end: horizonPart.end,\n            boundary: useBoundary,\n          });\n          lastBoundary = useBoundary;\n        }\n      }\n      if (horizon[i].start < boundary.y1) {\n        changedHorizon[0].start = boundary.y1;\n        changedHorizon.unshift({\n          start: horizon[i].start,\n          end: boundary.y1,\n          boundary: horizon[i].boundary,\n        });\n      }\n      if (boundary.y2 < horizon[j].end) {\n        changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n        changedHorizon.push({\n          start: boundary.y2,\n          end: horizon[j].end,\n          boundary: horizon[j].boundary,\n        });\n      }\n\n      // Set x2 new of boundary that is no longer visible (see overlapping case\n      // above).\n      // TODO more efficient, e.g. via reference counting.\n      for (q = i; q <= j; q++) {\n        horizonPart = horizon[q];\n        affectedBoundary = horizonPart.boundary;\n        if (affectedBoundary.x2New !== undefined) {\n          continue;\n        }\n        var used = false;\n        for (\n          k = i - 1;\n          !used && k >= 0 && horizon[k].start >= affectedBoundary.y1;\n          k--\n        ) {\n          used = horizon[k].boundary === affectedBoundary;\n        }\n        for (\n          k = j + 1;\n          !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2;\n          k++\n        ) {\n          used = horizon[k].boundary === affectedBoundary;\n        }\n        for (k = 0; !used && k < changedHorizon.length; k++) {\n          used = changedHorizon[k].boundary === affectedBoundary;\n        }\n        if (!used) {\n          affectedBoundary.x2New = maxXNew;\n        }\n      }\n\n      Array.prototype.splice.apply(\n        horizon,\n        [i, j - i + 1].concat(changedHorizon)\n      );\n    });\n\n    // Set new x2 for all unset boundaries.\n    horizon.forEach(function(horizonPart) {\n      var affectedBoundary = horizonPart.boundary;\n      if (affectedBoundary.x2New === undefined) {\n        affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n      }\n    });\n  }\n\n  /**\n   * Text layer rendering task.\n   *\n   * @param {TextContent} textContent\n   * @param {HTMLElement} container\n   * @param {PageViewport} viewport\n   * @param {Array} textDivs\n   * @param {boolean} enhanceTextSelection\n   * @private\n   */\n  function TextLayerRenderTask({\n    textContent,\n    textContentStream,\n    container,\n    viewport,\n    textDivs,\n    textContentItemsStr,\n    enhanceTextSelection,\n  }) {\n    this._textContent = textContent;\n    this._textContentStream = textContentStream;\n    this._container = container;\n    this._viewport = viewport;\n    this._textDivs = textDivs || [];\n    this._textContentItemsStr = textContentItemsStr || [];\n    this._enhanceTextSelection = !!enhanceTextSelection;\n    this._fontInspectorEnabled = !!(\n      globalThis.FontInspector && globalThis.FontInspector.enabled\n    );\n\n    this._reader = null;\n    this._layoutTextLastFontSize = null;\n    this._layoutTextLastFontFamily = null;\n    this._layoutTextCtx = null;\n    this._textDivProperties = new WeakMap();\n    this._renderingDone = false;\n    this._canceled = false;\n    this._capability = createPromiseCapability();\n    this._renderTimer = null;\n    this._bounds = [];\n\n    // Always clean-up the temporary canvas once rendering is no longer pending.\n    this._capability.promise\n      .finally(() => {\n        if (this._layoutTextCtx) {\n          // Zeroing the width and height cause Firefox to release graphics\n          // resources immediately, which can greatly reduce memory consumption.\n          this._layoutTextCtx.canvas.width = 0;\n          this._layoutTextCtx.canvas.height = 0;\n          this._layoutTextCtx = null;\n        }\n      })\n      .catch(() => {\n        /* Avoid \"Uncaught promise\" messages in the console. */\n      });\n  }\n  TextLayerRenderTask.prototype = {\n    get promise() {\n      return this._capability.promise;\n    },\n\n    cancel: function TextLayer_cancel() {\n      this._canceled = true;\n      if (this._reader) {\n        this._reader.cancel(new AbortException(\"TextLayer task cancelled.\"));\n        this._reader = null;\n      }\n      if (this._renderTimer !== null) {\n        clearTimeout(this._renderTimer);\n        this._renderTimer = null;\n      }\n      this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n    },\n\n    _processItems(items, styleCache) {\n      for (let i = 0, len = items.length; i < len; i++) {\n        this._textContentItemsStr.push(items[i].str);\n        appendText(this, items[i], styleCache);\n      }\n    },\n\n    _layoutText(textDiv) {\n      const textDivProperties = this._textDivProperties.get(textDiv);\n      if (textDivProperties.isWhitespace) {\n        return;\n      }\n\n      let transform = \"\";\n      if (textDivProperties.canvasWidth !== 0) {\n        const { fontSize, fontFamily } = textDiv.style;\n\n        // Only build font string and set to context if different from last.\n        if (\n          fontSize !== this._layoutTextLastFontSize ||\n          fontFamily !== this._layoutTextLastFontFamily\n        ) {\n          this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n          this._layoutTextLastFontSize = fontSize;\n          this._layoutTextLastFontFamily = fontFamily;\n        }\n        // Only measure the width for multi-char text divs, see `appendText`.\n        const { width } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n        if (width > 0) {\n          textDivProperties.scale = textDivProperties.canvasWidth / width;\n          transform = `scaleX(${textDivProperties.scale})`;\n        }\n      }\n      if (textDivProperties.angle !== 0) {\n        transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n      }\n      if (transform.length > 0) {\n        if (this._enhanceTextSelection) {\n          textDivProperties.originalTransform = transform;\n        }\n        textDiv.style.transform = transform;\n      }\n      this._textDivProperties.set(textDiv, textDivProperties);\n      this._container.appendChild(textDiv);\n    },\n\n    _render: function TextLayer_render(timeout) {\n      const capability = createPromiseCapability();\n      let styleCache = Object.create(null);\n\n      // The temporary canvas is used to measure text length in the DOM.\n      const canvas = document.createElement(\"canvas\");\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n      ) {\n        canvas.mozOpaque = true;\n      }\n      this._layoutTextCtx = canvas.getContext(\"2d\", { alpha: false });\n\n      if (this._textContent) {\n        const textItems = this._textContent.items;\n        const textStyles = this._textContent.styles;\n        this._processItems(textItems, textStyles);\n        capability.resolve();\n      } else if (this._textContentStream) {\n        const pump = () => {\n          this._reader.read().then(({ value, done }) => {\n            if (done) {\n              capability.resolve();\n              return;\n            }\n\n            Object.assign(styleCache, value.styles);\n            this._processItems(value.items, styleCache);\n            pump();\n          }, capability.reject);\n        };\n\n        this._reader = this._textContentStream.getReader();\n        pump();\n      } else {\n        throw new Error(\n          'Neither \"textContent\" nor \"textContentStream\"' +\n            \" parameters specified.\"\n        );\n      }\n\n      capability.promise.then(() => {\n        styleCache = null;\n        if (!timeout) {\n          // Render right away\n          render(this);\n        } else {\n          // Schedule\n          this._renderTimer = setTimeout(() => {\n            render(this);\n            this._renderTimer = null;\n          }, timeout);\n        }\n      }, this._capability.reject);\n    },\n\n    expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n      if (!this._enhanceTextSelection || !this._renderingDone) {\n        return;\n      }\n      if (this._bounds !== null) {\n        expand(this);\n        this._bounds = null;\n      }\n      const transformBuf = [],\n        paddingBuf = [];\n\n      for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n        const div = this._textDivs[i];\n        const divProps = this._textDivProperties.get(div);\n\n        if (divProps.isWhitespace) {\n          continue;\n        }\n        if (expandDivs) {\n          transformBuf.length = 0;\n          paddingBuf.length = 0;\n\n          if (divProps.originalTransform) {\n            transformBuf.push(divProps.originalTransform);\n          }\n          if (divProps.paddingTop > 0) {\n            paddingBuf.push(`${divProps.paddingTop}px`);\n            transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n          } else {\n            paddingBuf.push(0);\n          }\n          if (divProps.paddingRight > 0) {\n            paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n          } else {\n            paddingBuf.push(0);\n          }\n          if (divProps.paddingBottom > 0) {\n            paddingBuf.push(`${divProps.paddingBottom}px`);\n          } else {\n            paddingBuf.push(0);\n          }\n          if (divProps.paddingLeft > 0) {\n            paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n            transformBuf.push(\n              `translateX(${-divProps.paddingLeft / divProps.scale}px)`\n            );\n          } else {\n            paddingBuf.push(0);\n          }\n\n          div.style.padding = paddingBuf.join(\" \");\n          if (transformBuf.length) {\n            div.style.transform = transformBuf.join(\" \");\n          }\n        } else {\n          div.style.padding = null;\n          div.style.transform = divProps.originalTransform;\n        }\n      }\n    },\n  };\n\n  /**\n   * Starts rendering of the text layer.\n   *\n   * @param {TextLayerRenderParameters} renderParameters\n   * @returns {TextLayerRenderTask}\n   */\n  function renderTextLayer(renderParameters) {\n    var task = new TextLayerRenderTask({\n      textContent: renderParameters.textContent,\n      textContentStream: renderParameters.textContentStream,\n      container: renderParameters.container,\n      viewport: renderParameters.viewport,\n      textDivs: renderParameters.textDivs,\n      textContentItemsStr: renderParameters.textContentItemsStr,\n      enhanceTextSelection: renderParameters.enhanceTextSelection,\n    });\n    task._render(renderParameters.timeout);\n    return task;\n  }\n\n  return renderTextLayer;\n})();\n\nexport { renderTextLayer };\n","/* Copyright 2014 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  addLinkAttributes,\n  DOMSVGFactory,\n  getFilenameFromUrl,\n  LinkTarget,\n  PDFDateString,\n} from \"./display_utils.js\";\nimport {\n  AnnotationBorderStyleType,\n  AnnotationType,\n  stringToPDFString,\n  unreachable,\n  Util,\n  warn,\n} from \"../shared/util.js\";\n\n/**\n * @typedef {Object} AnnotationElementParameters\n * @property {Object} data\n * @property {HTMLDivElement} layer\n * @property {PDFPage} page\n * @property {PageViewport} viewport\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n *   for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n * @property {Object} svgFactory\n */\n\nclass AnnotationElementFactory {\n  /**\n   * @param {AnnotationElementParameters} parameters\n   * @returns {AnnotationElement}\n   */\n  static create(parameters) {\n    const subtype = parameters.data.annotationType;\n\n    switch (subtype) {\n      case AnnotationType.LINK:\n        return new LinkAnnotationElement(parameters);\n\n      case AnnotationType.TEXT:\n        return new TextAnnotationElement(parameters);\n\n      case AnnotationType.WIDGET:\n        const fieldType = parameters.data.fieldType;\n\n        switch (fieldType) {\n          case \"Tx\":\n            return new TextWidgetAnnotationElement(parameters);\n          case \"Btn\":\n            if (parameters.data.radioButton) {\n              return new RadioButtonWidgetAnnotationElement(parameters);\n            } else if (parameters.data.checkBox) {\n              return new CheckboxWidgetAnnotationElement(parameters);\n            }\n            return new PushButtonWidgetAnnotationElement(parameters);\n          case \"Ch\":\n            return new ChoiceWidgetAnnotationElement(parameters);\n        }\n        return new WidgetAnnotationElement(parameters);\n\n      case AnnotationType.POPUP:\n        return new PopupAnnotationElement(parameters);\n\n      case AnnotationType.FREETEXT:\n        return new FreeTextAnnotationElement(parameters);\n\n      case AnnotationType.LINE:\n        return new LineAnnotationElement(parameters);\n\n      case AnnotationType.SQUARE:\n        return new SquareAnnotationElement(parameters);\n\n      case AnnotationType.CIRCLE:\n        return new CircleAnnotationElement(parameters);\n\n      case AnnotationType.POLYLINE:\n        return new PolylineAnnotationElement(parameters);\n\n      case AnnotationType.CARET:\n        return new CaretAnnotationElement(parameters);\n\n      case AnnotationType.INK:\n        return new InkAnnotationElement(parameters);\n\n      case AnnotationType.POLYGON:\n        return new PolygonAnnotationElement(parameters);\n\n      case AnnotationType.HIGHLIGHT:\n        return new HighlightAnnotationElement(parameters);\n\n      case AnnotationType.UNDERLINE:\n        return new UnderlineAnnotationElement(parameters);\n\n      case AnnotationType.SQUIGGLY:\n        return new SquigglyAnnotationElement(parameters);\n\n      case AnnotationType.STRIKEOUT:\n        return new StrikeOutAnnotationElement(parameters);\n\n      case AnnotationType.STAMP:\n        return new StampAnnotationElement(parameters);\n\n      case AnnotationType.FILEATTACHMENT:\n        return new FileAttachmentAnnotationElement(parameters);\n\n      default:\n        return new AnnotationElement(parameters);\n    }\n  }\n}\n\nclass AnnotationElement {\n  constructor(parameters, isRenderable = false, ignoreBorder = false) {\n    this.isRenderable = isRenderable;\n    this.data = parameters.data;\n    this.layer = parameters.layer;\n    this.page = parameters.page;\n    this.viewport = parameters.viewport;\n    this.linkService = parameters.linkService;\n    this.downloadManager = parameters.downloadManager;\n    this.imageResourcesPath = parameters.imageResourcesPath;\n    this.renderInteractiveForms = parameters.renderInteractiveForms;\n    this.svgFactory = parameters.svgFactory;\n\n    if (isRenderable) {\n      this.container = this._createContainer(ignoreBorder);\n    }\n  }\n\n  /**\n   * Create an empty container for the annotation's HTML element.\n   *\n   * @private\n   * @param {boolean} ignoreBorder\n   * @memberof AnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  _createContainer(ignoreBorder = false) {\n    const data = this.data,\n      page = this.page,\n      viewport = this.viewport;\n    const container = document.createElement(\"section\");\n    let width = data.rect[2] - data.rect[0];\n    let height = data.rect[3] - data.rect[1];\n\n    container.setAttribute(\"data-annotation-id\", data.id);\n\n    // Do *not* modify `data.rect`, since that will corrupt the annotation\n    // position on subsequent calls to `_createContainer` (see issue 6804).\n    const rect = Util.normalizeRect([\n      data.rect[0],\n      page.view[3] - data.rect[1] + page.view[1],\n      data.rect[2],\n      page.view[3] - data.rect[3] + page.view[1],\n    ]);\n\n    container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n    container.style.transformOrigin = `-${rect[0]}px -${rect[1]}px`;\n\n    if (!ignoreBorder && data.borderStyle.width > 0) {\n      container.style.borderWidth = `${data.borderStyle.width}px`;\n      if (data.borderStyle.style !== AnnotationBorderStyleType.UNDERLINE) {\n        // Underline styles only have a bottom border, so we do not need\n        // to adjust for all borders. This yields a similar result as\n        // Adobe Acrobat/Reader.\n        width = width - 2 * data.borderStyle.width;\n        height = height - 2 * data.borderStyle.width;\n      }\n\n      const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n      const verticalRadius = data.borderStyle.verticalCornerRadius;\n      if (horizontalRadius > 0 || verticalRadius > 0) {\n        const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n        container.style.borderRadius = radius;\n      }\n\n      switch (data.borderStyle.style) {\n        case AnnotationBorderStyleType.SOLID:\n          container.style.borderStyle = \"solid\";\n          break;\n\n        case AnnotationBorderStyleType.DASHED:\n          container.style.borderStyle = \"dashed\";\n          break;\n\n        case AnnotationBorderStyleType.BEVELED:\n          warn(\"Unimplemented border style: beveled\");\n          break;\n\n        case AnnotationBorderStyleType.INSET:\n          warn(\"Unimplemented border style: inset\");\n          break;\n\n        case AnnotationBorderStyleType.UNDERLINE:\n          container.style.borderBottomStyle = \"solid\";\n          break;\n\n        default:\n          break;\n      }\n\n      if (data.color) {\n        container.style.borderColor = Util.makeCssRgb(\n          data.color[0] | 0,\n          data.color[1] | 0,\n          data.color[2] | 0\n        );\n      } else {\n        // Transparent (invisible) border, so do not draw it at all.\n        container.style.borderWidth = 0;\n      }\n    }\n\n    container.style.left = `${rect[0]}px`;\n    container.style.top = `${rect[1]}px`;\n    container.style.width = `${width}px`;\n    container.style.height = `${height}px`;\n    return container;\n  }\n\n  /**\n   * Create a popup for the annotation's HTML element. This is used for\n   * annotations that do not have a Popup entry in the dictionary, but\n   * are of a type that works with popups (such as Highlight annotations).\n   *\n   * @private\n   * @param {HTMLSectionElement} container\n   * @param {HTMLDivElement|HTMLImageElement|null} trigger\n   * @param {Object} data\n   * @memberof AnnotationElement\n   */\n  _createPopup(container, trigger, data) {\n    // If no trigger element is specified, create it.\n    if (!trigger) {\n      trigger = document.createElement(\"div\");\n      trigger.style.height = container.style.height;\n      trigger.style.width = container.style.width;\n      container.appendChild(trigger);\n    }\n\n    const popupElement = new PopupElement({\n      container,\n      trigger,\n      color: data.color,\n      title: data.title,\n      modificationDate: data.modificationDate,\n      contents: data.contents,\n      hideWrapper: true,\n    });\n    const popup = popupElement.render();\n\n    // Position the popup next to the annotation's container.\n    popup.style.left = container.style.width;\n\n    container.appendChild(popup);\n  }\n\n  /**\n   * Render the annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof AnnotationElement\n   */\n  render() {\n    unreachable(\"Abstract method `AnnotationElement.render` called\");\n  }\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.url ||\n      parameters.data.dest ||\n      parameters.data.action\n    );\n    super(parameters, isRenderable);\n  }\n\n  /**\n   * Render the link annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof LinkAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"linkAnnotation\";\n\n    const { data, linkService } = this;\n    const link = document.createElement(\"a\");\n\n    if (data.url) {\n      addLinkAttributes(link, {\n        url: data.url,\n        target: data.newWindow\n          ? LinkTarget.BLANK\n          : linkService.externalLinkTarget,\n        rel: linkService.externalLinkRel,\n        enabled: linkService.externalLinkEnabled,\n      });\n    } else if (data.action) {\n      this._bindNamedAction(link, data.action);\n    } else {\n      this._bindLink(link, data.dest);\n    }\n\n    this.container.appendChild(link);\n    return this.container;\n  }\n\n  /**\n   * Bind internal links to the link element.\n   *\n   * @private\n   * @param {Object} link\n   * @param {Object} destination\n   * @memberof LinkAnnotationElement\n   */\n  _bindLink(link, destination) {\n    link.href = this.linkService.getDestinationHash(destination);\n    link.onclick = () => {\n      if (destination) {\n        this.linkService.navigateTo(destination);\n      }\n      return false;\n    };\n    if (destination) {\n      link.className = \"internalLink\";\n    }\n  }\n\n  /**\n   * Bind named actions to the link element.\n   *\n   * @private\n   * @param {Object} link\n   * @param {Object} action\n   * @memberof LinkAnnotationElement\n   */\n  _bindNamedAction(link, action) {\n    link.href = this.linkService.getAnchorUrl(\"\");\n    link.onclick = () => {\n      this.linkService.executeNamedAction(action);\n      return false;\n    };\n    link.className = \"internalLink\";\n  }\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable);\n  }\n\n  /**\n   * Render the text annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof TextAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"textAnnotation\";\n\n    const image = document.createElement(\"img\");\n    image.style.height = this.container.style.height;\n    image.style.width = this.container.style.width;\n    image.src =\n      this.imageResourcesPath +\n      \"annotation-\" +\n      this.data.name.toLowerCase() +\n      \".svg\";\n    image.alt = \"[{{type}} Annotation]\";\n    image.dataset.l10nId = \"text_annotation_type\";\n    image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, image, this.data);\n    }\n\n    this.container.appendChild(image);\n    return this.container;\n  }\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n  /**\n   * Render the widget annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof WidgetAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    // Show only the container for unsupported field types.\n    return this.container;\n  }\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n  constructor(parameters) {\n    const isRenderable =\n      parameters.renderInteractiveForms ||\n      (!parameters.data.hasAppearance && !!parameters.data.fieldValue);\n    super(parameters, isRenderable);\n  }\n\n  /**\n   * Render the text widget annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof TextWidgetAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n\n    this.container.className = \"textWidgetAnnotation\";\n\n    let element = null;\n    if (this.renderInteractiveForms) {\n      // NOTE: We cannot set the values using `element.value` below, since it\n      //       prevents the AnnotationLayer rasterizer in `test/driver.js`\n      //       from parsing the elements correctly for the reference tests.\n      if (this.data.multiLine) {\n        element = document.createElement(\"textarea\");\n        element.textContent = this.data.fieldValue;\n      } else {\n        element = document.createElement(\"input\");\n        element.type = \"text\";\n        element.setAttribute(\"value\", this.data.fieldValue);\n      }\n\n      element.disabled = this.data.readOnly;\n\n      if (this.data.maxLen !== null) {\n        element.maxLength = this.data.maxLen;\n      }\n\n      if (this.data.comb) {\n        const fieldWidth = this.data.rect[2] - this.data.rect[0];\n        const combWidth = fieldWidth / this.data.maxLen;\n\n        element.classList.add(\"comb\");\n        element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n      }\n    } else {\n      element = document.createElement(\"div\");\n      element.textContent = this.data.fieldValue;\n      element.style.verticalAlign = \"middle\";\n      element.style.display = \"table-cell\";\n\n      let font = null;\n      if (\n        this.data.fontRefName &&\n        this.page.commonObjs.has(this.data.fontRefName)\n      ) {\n        font = this.page.commonObjs.get(this.data.fontRefName);\n      }\n      this._setTextStyle(element, font);\n    }\n\n    if (this.data.textAlignment !== null) {\n      element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n    }\n\n    this.container.appendChild(element);\n    return this.container;\n  }\n\n  /**\n   * Apply text styles to the text in the element.\n   *\n   * @private\n   * @param {HTMLDivElement} element\n   * @param {Object} font\n   * @memberof TextWidgetAnnotationElement\n   */\n  _setTextStyle(element, font) {\n    // TODO: This duplicates some of the logic in CanvasGraphics.setFont().\n    const style = element.style;\n    style.fontSize = `${this.data.fontSize}px`;\n    style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n    if (!font) {\n      return;\n    }\n\n    let bold = \"normal\";\n    if (font.black) {\n      bold = \"900\";\n    } else if (font.bold) {\n      bold = \"bold\";\n    }\n    style.fontWeight = bold;\n    style.fontStyle = font.italic ? \"italic\" : \"normal\";\n\n    // Use a reasonable default font if the font doesn't specify a fallback.\n    const fontFamily = font.loadedName ? `\"${font.loadedName}\", ` : \"\";\n    const fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n    style.fontFamily = fontFamily + fallbackName;\n  }\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n  constructor(parameters) {\n    super(parameters, parameters.renderInteractiveForms);\n  }\n\n  /**\n   * Render the checkbox widget annotation's HTML element\n   * in the empty container.\n   *\n   * @public\n   * @memberof CheckboxWidgetAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"buttonWidgetAnnotation checkBox\";\n\n    const element = document.createElement(\"input\");\n    element.disabled = this.data.readOnly;\n    element.type = \"checkbox\";\n    if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n      element.setAttribute(\"checked\", true);\n    }\n\n    this.container.appendChild(element);\n    return this.container;\n  }\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n  constructor(parameters) {\n    super(parameters, parameters.renderInteractiveForms);\n  }\n\n  /**\n   * Render the radio button widget annotation's HTML element\n   * in the empty container.\n   *\n   * @public\n   * @memberof RadioButtonWidgetAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"buttonWidgetAnnotation radioButton\";\n\n    const element = document.createElement(\"input\");\n    element.disabled = this.data.readOnly;\n    element.type = \"radio\";\n    element.name = this.data.fieldName;\n    if (this.data.fieldValue === this.data.buttonValue) {\n      element.setAttribute(\"checked\", true);\n    }\n\n    this.container.appendChild(element);\n    return this.container;\n  }\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n  /**\n   * Render the push button widget annotation's HTML element\n   * in the empty container.\n   *\n   * @public\n   * @memberof PushButtonWidgetAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    // The rendering and functionality of a push button widget annotation is\n    // equal to that of a link annotation, but may have more functionality, such\n    // as performing actions on form fields (resetting, submitting, et cetera).\n    const container = super.render();\n    container.className = \"buttonWidgetAnnotation pushButton\";\n    return container;\n  }\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n  constructor(parameters) {\n    super(parameters, parameters.renderInteractiveForms);\n  }\n\n  /**\n   * Render the choice widget annotation's HTML element in the empty\n   * container.\n   *\n   * @public\n   * @memberof ChoiceWidgetAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"choiceWidgetAnnotation\";\n\n    const selectElement = document.createElement(\"select\");\n    selectElement.disabled = this.data.readOnly;\n\n    if (!this.data.combo) {\n      // List boxes have a size and (optionally) multiple selection.\n      selectElement.size = this.data.options.length;\n      if (this.data.multiSelect) {\n        selectElement.multiple = true;\n      }\n    }\n\n    // Insert the options into the choice field.\n    for (const option of this.data.options) {\n      const optionElement = document.createElement(\"option\");\n      optionElement.textContent = option.displayValue;\n      optionElement.value = option.exportValue;\n      if (this.data.fieldValue.includes(option.displayValue)) {\n        optionElement.setAttribute(\"selected\", true);\n      }\n      selectElement.appendChild(optionElement);\n    }\n\n    this.container.appendChild(selectElement);\n    return this.container;\n  }\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(parameters.data.title || parameters.data.contents);\n    super(parameters, isRenderable);\n  }\n\n  /**\n   * Render the popup annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof PopupAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    // Do not render popup annotations for parent elements with these types as\n    // they create the popups themselves (because of custom trigger divs).\n    const IGNORE_TYPES = [\n      \"Line\",\n      \"Square\",\n      \"Circle\",\n      \"PolyLine\",\n      \"Polygon\",\n      \"Ink\",\n    ];\n\n    this.container.className = \"popupAnnotation\";\n\n    if (IGNORE_TYPES.includes(this.data.parentType)) {\n      return this.container;\n    }\n\n    const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n    const parentElement = this.layer.querySelector(selector);\n    if (!parentElement) {\n      return this.container;\n    }\n\n    const popup = new PopupElement({\n      container: this.container,\n      trigger: parentElement,\n      color: this.data.color,\n      title: this.data.title,\n      modificationDate: this.data.modificationDate,\n      contents: this.data.contents,\n    });\n\n    // Position the popup next to the parent annotation's container.\n    // PDF viewers ignore a popup annotation's rectangle.\n    const parentLeft = parseFloat(parentElement.style.left);\n    const parentWidth = parseFloat(parentElement.style.width);\n    this.container.style.transformOrigin = `-${parentLeft + parentWidth}px -${\n      parentElement.style.top\n    }`;\n    this.container.style.left = `${parentLeft + parentWidth}px`;\n\n    this.container.appendChild(popup.render());\n    return this.container;\n  }\n}\n\nclass PopupElement {\n  constructor(parameters) {\n    this.container = parameters.container;\n    this.trigger = parameters.trigger;\n    this.color = parameters.color;\n    this.title = parameters.title;\n    this.modificationDate = parameters.modificationDate;\n    this.contents = parameters.contents;\n    this.hideWrapper = parameters.hideWrapper || false;\n\n    this.pinned = false;\n  }\n\n  /**\n   * Render the popup's HTML element.\n   *\n   * @public\n   * @memberof PopupElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    const BACKGROUND_ENLIGHT = 0.7;\n\n    const wrapper = document.createElement(\"div\");\n    wrapper.className = \"popupWrapper\";\n\n    // For Popup annotations we hide the entire section because it contains\n    // only the popup. However, for Text annotations without a separate Popup\n    // annotation, we cannot hide the entire container as the image would\n    // disappear too. In that special case, hiding the wrapper suffices.\n    this.hideElement = this.hideWrapper ? wrapper : this.container;\n    this.hideElement.setAttribute(\"hidden\", true);\n\n    const popup = document.createElement(\"div\");\n    popup.className = \"popup\";\n\n    const color = this.color;\n    if (color) {\n      // Enlighten the color.\n      const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n      const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n      const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n      popup.style.backgroundColor = Util.makeCssRgb(r | 0, g | 0, b | 0);\n    }\n\n    const title = document.createElement(\"h1\");\n    title.textContent = this.title;\n    popup.appendChild(title);\n\n    // The modification date is shown in the popup instead of the creation\n    // date if it is available and can be parsed correctly, which is\n    // consistent with other viewers such as Adobe Acrobat.\n    const dateObject = PDFDateString.toDateObject(this.modificationDate);\n    if (dateObject) {\n      const modificationDate = document.createElement(\"span\");\n      modificationDate.textContent = \"{{date}}, {{time}}\";\n      modificationDate.dataset.l10nId = \"annotation_date_string\";\n      modificationDate.dataset.l10nArgs = JSON.stringify({\n        date: dateObject.toLocaleDateString(),\n        time: dateObject.toLocaleTimeString(),\n      });\n      popup.appendChild(modificationDate);\n    }\n\n    const contents = this._formatContents(this.contents);\n    popup.appendChild(contents);\n\n    // Attach the event listeners to the trigger element.\n    this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n    this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n    this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n    popup.addEventListener(\"click\", this._hide.bind(this, true));\n\n    wrapper.appendChild(popup);\n    return wrapper;\n  }\n\n  /**\n   * Format the contents of the popup by adding newlines where necessary.\n   *\n   * @private\n   * @param {string} contents\n   * @memberof PopupElement\n   * @returns {HTMLParagraphElement}\n   */\n  _formatContents(contents) {\n    const p = document.createElement(\"p\");\n    const lines = contents.split(/(?:\\r\\n?|\\n)/);\n    for (let i = 0, ii = lines.length; i < ii; ++i) {\n      const line = lines[i];\n      p.appendChild(document.createTextNode(line));\n      if (i < ii - 1) {\n        p.appendChild(document.createElement(\"br\"));\n      }\n    }\n    return p;\n  }\n\n  /**\n   * Toggle the visibility of the popup.\n   *\n   * @private\n   * @memberof PopupElement\n   */\n  _toggle() {\n    if (this.pinned) {\n      this._hide(true);\n    } else {\n      this._show(true);\n    }\n  }\n\n  /**\n   * Show the popup.\n   *\n   * @private\n   * @param {boolean} pin\n   * @memberof PopupElement\n   */\n  _show(pin = false) {\n    if (pin) {\n      this.pinned = true;\n    }\n    if (this.hideElement.hasAttribute(\"hidden\")) {\n      this.hideElement.removeAttribute(\"hidden\");\n      this.container.style.zIndex += 1;\n    }\n  }\n\n  /**\n   * Hide the popup.\n   *\n   * @private\n   * @param {boolean} unpin\n   * @memberof PopupElement\n   */\n  _hide(unpin = true) {\n    if (unpin) {\n      this.pinned = false;\n    }\n    if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n      this.hideElement.setAttribute(\"hidden\", true);\n      this.container.style.zIndex -= 1;\n    }\n  }\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the free text annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof FreeTextAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"freeTextAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the line annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof LineAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"lineAnnotation\";\n\n    // Create an invisible line with the same starting and ending coordinates\n    // that acts as the trigger for the popup. Only the line itself should\n    // trigger the popup, not the entire container.\n    const data = this.data;\n    const width = data.rect[2] - data.rect[0];\n    const height = data.rect[3] - data.rect[1];\n    const svg = this.svgFactory.create(width, height);\n\n    // PDF coordinates are calculated from a bottom left origin, so transform\n    // the line coordinates to a top left origin for the SVG element.\n    const line = this.svgFactory.createElement(\"svg:line\");\n    line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n    line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n    line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n    line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n    // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n    // won't be possible to open/close the popup (note e.g. issue 11122).\n    line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n    line.setAttribute(\"stroke\", \"transparent\");\n\n    svg.appendChild(line);\n    this.container.append(svg);\n\n    // Create the popup ourselves so that we can bind it to the line instead\n    // of to the entire container (which is the default).\n    this._createPopup(this.container, line, data);\n\n    return this.container;\n  }\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the square annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof SquareAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"squareAnnotation\";\n\n    // Create an invisible square with the same rectangle that acts as the\n    // trigger for the popup. Only the square itself should trigger the\n    // popup, not the entire container.\n    const data = this.data;\n    const width = data.rect[2] - data.rect[0];\n    const height = data.rect[3] - data.rect[1];\n    const svg = this.svgFactory.create(width, height);\n\n    // The browser draws half of the borders inside the square and half of\n    // the borders outside the square by default. This behavior cannot be\n    // changed programmatically, so correct for that here.\n    const borderWidth = data.borderStyle.width;\n    const square = this.svgFactory.createElement(\"svg:rect\");\n    square.setAttribute(\"x\", borderWidth / 2);\n    square.setAttribute(\"y\", borderWidth / 2);\n    square.setAttribute(\"width\", width - borderWidth);\n    square.setAttribute(\"height\", height - borderWidth);\n    // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n    // won't be possible to open/close the popup (note e.g. issue 11122).\n    square.setAttribute(\"stroke-width\", borderWidth || 1);\n    square.setAttribute(\"stroke\", \"transparent\");\n    square.setAttribute(\"fill\", \"none\");\n\n    svg.appendChild(square);\n    this.container.append(svg);\n\n    // Create the popup ourselves so that we can bind it to the square instead\n    // of to the entire container (which is the default).\n    this._createPopup(this.container, square, data);\n\n    return this.container;\n  }\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the circle annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof CircleAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"circleAnnotation\";\n\n    // Create an invisible circle with the same ellipse that acts as the\n    // trigger for the popup. Only the circle itself should trigger the\n    // popup, not the entire container.\n    const data = this.data;\n    const width = data.rect[2] - data.rect[0];\n    const height = data.rect[3] - data.rect[1];\n    const svg = this.svgFactory.create(width, height);\n\n    // The browser draws half of the borders inside the circle and half of\n    // the borders outside the circle by default. This behavior cannot be\n    // changed programmatically, so correct for that here.\n    const borderWidth = data.borderStyle.width;\n    const circle = this.svgFactory.createElement(\"svg:ellipse\");\n    circle.setAttribute(\"cx\", width / 2);\n    circle.setAttribute(\"cy\", height / 2);\n    circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n    circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n    // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n    // won't be possible to open/close the popup (note e.g. issue 11122).\n    circle.setAttribute(\"stroke-width\", borderWidth || 1);\n    circle.setAttribute(\"stroke\", \"transparent\");\n    circle.setAttribute(\"fill\", \"none\");\n\n    svg.appendChild(circle);\n    this.container.append(svg);\n\n    // Create the popup ourselves so that we can bind it to the circle instead\n    // of to the entire container (which is the default).\n    this._createPopup(this.container, circle, data);\n\n    return this.container;\n  }\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n\n    this.containerClassName = \"polylineAnnotation\";\n    this.svgElementName = \"svg:polyline\";\n  }\n\n  /**\n   * Render the polyline annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof PolylineAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = this.containerClassName;\n\n    // Create an invisible polyline with the same points that acts as the\n    // trigger for the popup. Only the polyline itself should trigger the\n    // popup, not the entire container.\n    const data = this.data;\n    const width = data.rect[2] - data.rect[0];\n    const height = data.rect[3] - data.rect[1];\n    const svg = this.svgFactory.create(width, height);\n\n    // Convert the vertices array to a single points string that the SVG\n    // polyline element expects (\"x1,y1 x2,y2 ...\"). PDF coordinates are\n    // calculated from a bottom left origin, so transform the polyline\n    // coordinates to a top left origin for the SVG element.\n    let points = [];\n    for (const coordinate of data.vertices) {\n      const x = coordinate.x - data.rect[0];\n      const y = data.rect[3] - coordinate.y;\n      points.push(x + \",\" + y);\n    }\n    points = points.join(\" \");\n\n    const polyline = this.svgFactory.createElement(this.svgElementName);\n    polyline.setAttribute(\"points\", points);\n    // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n    // won't be possible to open/close the popup (note e.g. issue 11122).\n    polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n    polyline.setAttribute(\"stroke\", \"transparent\");\n    polyline.setAttribute(\"fill\", \"none\");\n\n    svg.appendChild(polyline);\n    this.container.append(svg);\n\n    // Create the popup ourselves so that we can bind it to the polyline\n    // instead of to the entire container (which is the default).\n    this._createPopup(this.container, polyline, data);\n\n    return this.container;\n  }\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n  constructor(parameters) {\n    // Polygons are specific forms of polylines, so reuse their logic.\n    super(parameters);\n\n    this.containerClassName = \"polygonAnnotation\";\n    this.svgElementName = \"svg:polygon\";\n  }\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the caret annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof CaretAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"caretAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n\n    this.containerClassName = \"inkAnnotation\";\n\n    // Use the polyline SVG element since it allows us to use coordinates\n    // directly and to draw both straight lines and curves.\n    this.svgElementName = \"svg:polyline\";\n  }\n\n  /**\n   * Render the ink annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof InkAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = this.containerClassName;\n\n    // Create an invisible polyline with the same points that acts as the\n    // trigger for the popup.\n    const data = this.data;\n    const width = data.rect[2] - data.rect[0];\n    const height = data.rect[3] - data.rect[1];\n    const svg = this.svgFactory.create(width, height);\n\n    for (const inkList of data.inkLists) {\n      // Convert the ink list to a single points string that the SVG\n      // polyline element expects (\"x1,y1 x2,y2 ...\"). PDF coordinates are\n      // calculated from a bottom left origin, so transform the polyline\n      // coordinates to a top left origin for the SVG element.\n      let points = [];\n      for (const coordinate of inkList) {\n        const x = coordinate.x - data.rect[0];\n        const y = data.rect[3] - coordinate.y;\n        points.push(`${x},${y}`);\n      }\n      points = points.join(\" \");\n\n      const polyline = this.svgFactory.createElement(this.svgElementName);\n      polyline.setAttribute(\"points\", points);\n      // Ensure that the 'stroke-width' is always non-zero, since otherwise it\n      // won't be possible to open/close the popup (note e.g. issue 11122).\n      polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n      polyline.setAttribute(\"stroke\", \"transparent\");\n      polyline.setAttribute(\"fill\", \"none\");\n\n      // Create the popup ourselves so that we can bind it to the polyline\n      // instead of to the entire container (which is the default).\n      this._createPopup(this.container, polyline, data);\n\n      svg.appendChild(polyline);\n    }\n\n    this.container.append(svg);\n    return this.container;\n  }\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the highlight annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof HighlightAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"highlightAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the underline annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof UnderlineAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"underlineAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the squiggly annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof SquigglyAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"squigglyAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the strikeout annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof StrikeOutAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"strikeoutAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    const isRenderable = !!(\n      parameters.data.hasPopup ||\n      parameters.data.title ||\n      parameters.data.contents\n    );\n    super(parameters, isRenderable, /* ignoreBorder = */ true);\n  }\n\n  /**\n   * Render the stamp annotation's HTML element in the empty container.\n   *\n   * @public\n   * @memberof StampAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"stampAnnotation\";\n\n    if (!this.data.hasPopup) {\n      this._createPopup(this.container, null, this.data);\n    }\n    return this.container;\n  }\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n  constructor(parameters) {\n    super(parameters, /* isRenderable = */ true);\n\n    const { filename, content } = this.data.file;\n    this.filename = getFilenameFromUrl(filename);\n    this.content = content;\n\n    if (this.linkService.eventBus) {\n      this.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n        source: this,\n        id: stringToPDFString(filename),\n        filename,\n        content,\n      });\n    }\n  }\n\n  /**\n   * Render the file attachment annotation's HTML element in the empty\n   * container.\n   *\n   * @public\n   * @memberof FileAttachmentAnnotationElement\n   * @returns {HTMLSectionElement}\n   */\n  render() {\n    this.container.className = \"fileAttachmentAnnotation\";\n\n    const trigger = document.createElement(\"div\");\n    trigger.style.height = this.container.style.height;\n    trigger.style.width = this.container.style.width;\n    trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n    if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n      this._createPopup(this.container, trigger, this.data);\n    }\n\n    this.container.appendChild(trigger);\n    return this.container;\n  }\n\n  /**\n   * Download the file attachment associated with this annotation.\n   *\n   * @private\n   * @memberof FileAttachmentAnnotationElement\n   */\n  _download() {\n    if (!this.downloadManager) {\n      warn(\"Download cannot be started due to unavailable download manager\");\n      return;\n    }\n    this.downloadManager.downloadData(this.content, this.filename, \"\");\n  }\n}\n\n/**\n * @typedef {Object} AnnotationLayerParameters\n * @property {PageViewport} viewport\n * @property {HTMLDivElement} div\n * @property {Array} annotations\n * @property {PDFPage} page\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n *   for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n */\n\nclass AnnotationLayer {\n  /**\n   * Render a new annotation layer with all annotation elements.\n   *\n   * @public\n   * @param {AnnotationLayerParameters} parameters\n   * @memberof AnnotationLayer\n   */\n  static render(parameters) {\n    const sortedAnnotations = [],\n      popupAnnotations = [];\n    // Ensure that Popup annotations are handled last, since they're dependant\n    // upon the parent annotation having already been rendered (please refer to\n    // the `PopupAnnotationElement.render` method); fixes issue 11362.\n    for (const data of parameters.annotations) {\n      if (!data) {\n        continue;\n      }\n      if (data.annotationType === AnnotationType.POPUP) {\n        popupAnnotations.push(data);\n        continue;\n      }\n      sortedAnnotations.push(data);\n    }\n    if (popupAnnotations.length) {\n      sortedAnnotations.push(...popupAnnotations);\n    }\n\n    for (const data of sortedAnnotations) {\n      const element = AnnotationElementFactory.create({\n        data,\n        layer: parameters.div,\n        page: parameters.page,\n        viewport: parameters.viewport,\n        linkService: parameters.linkService,\n        downloadManager: parameters.downloadManager,\n        imageResourcesPath: parameters.imageResourcesPath || \"\",\n        renderInteractiveForms: parameters.renderInteractiveForms || false,\n        svgFactory: new DOMSVGFactory(),\n      });\n      if (element.isRenderable) {\n        parameters.div.appendChild(element.render());\n      }\n    }\n  }\n\n  /**\n   * Update the annotation elements on existing annotation layer.\n   *\n   * @public\n   * @param {AnnotationLayerParameters} parameters\n   * @memberof AnnotationLayer\n   */\n  static update(parameters) {\n    for (const data of parameters.annotations) {\n      const element = parameters.div.querySelector(\n        `[data-annotation-id=\"${data.id}\"]`\n      );\n      if (element) {\n        element.style.transform = `matrix(${parameters.viewport.transform.join(\n          \",\"\n        )})`;\n      }\n    }\n    parameters.div.removeAttribute(\"hidden\");\n  }\n}\n\nexport { AnnotationLayer };\n","/* Copyright 2012 Mozilla Foundation\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/* globals __non_webpack_require__ */\n/* eslint no-var: error */\n\nimport {\n  createObjectURL,\n  FONT_IDENTITY_MATRIX,\n  IDENTITY_MATRIX,\n  ImageKind,\n  isNum,\n  OPS,\n  TextRenderingMode,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport { DOMSVGFactory } from \"./display_utils.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\n\nlet SVGGraphics = function() {\n  throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  const SVG_DEFAULTS = {\n    fontStyle: \"normal\",\n    fontWeight: \"normal\",\n    fillColor: \"#000000\",\n  };\n  const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n  const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n  const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n  const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n  const convertImgDataToPng = (function() {\n    const PNG_HEADER = new Uint8Array([\n      0x89,\n      0x50,\n      0x4e,\n      0x47,\n      0x0d,\n      0x0a,\n      0x1a,\n      0x0a,\n    ]);\n    const CHUNK_WRAPPER_SIZE = 12;\n\n    const crcTable = new Int32Array(256);\n    for (let i = 0; i < 256; i++) {\n      let c = i;\n      for (let h = 0; h < 8; h++) {\n        if (c & 1) {\n          c = 0xedb88320 ^ ((c >> 1) & 0x7fffffff);\n        } else {\n          c = (c >> 1) & 0x7fffffff;\n        }\n      }\n      crcTable[i] = c;\n    }\n\n    function crc32(data, start, end) {\n      let crc = -1;\n      for (let i = start; i < end; i++) {\n        const a = (crc ^ data[i]) & 0xff;\n        const b = crcTable[a];\n        crc = (crc >>> 8) ^ b;\n      }\n      return crc ^ -1;\n    }\n\n    function writePngChunk(type, body, data, offset) {\n      let p = offset;\n      const len = body.length;\n\n      data[p] = (len >> 24) & 0xff;\n      data[p + 1] = (len >> 16) & 0xff;\n      data[p + 2] = (len >> 8) & 0xff;\n      data[p + 3] = len & 0xff;\n      p += 4;\n\n      data[p] = type.charCodeAt(0) & 0xff;\n      data[p + 1] = type.charCodeAt(1) & 0xff;\n      data[p + 2] = type.charCodeAt(2) & 0xff;\n      data[p + 3] = type.charCodeAt(3) & 0xff;\n      p += 4;\n\n      data.set(body, p);\n      p += body.length;\n\n      const crc = crc32(data, offset + 4, p);\n      data[p] = (crc >> 24) & 0xff;\n      data[p + 1] = (crc >> 16) & 0xff;\n      data[p + 2] = (crc >> 8) & 0xff;\n      data[p + 3] = crc & 0xff;\n    }\n\n    function adler32(data, start, end) {\n      let a = 1;\n      let b = 0;\n      for (let i = start; i < end; ++i) {\n        a = (a + (data[i] & 0xff)) % 65521;\n        b = (b + a) % 65521;\n      }\n      return (b << 16) | a;\n    }\n\n    /**\n     * @param {Uint8Array} literals The input data.\n     * @returns {Uint8Array} The DEFLATE-compressed data stream in zlib format.\n     *   This is the required format for compressed streams in the PNG format:\n     *   http://www.libpng.org/pub/png/spec/1.2/PNG-Compression.html\n     */\n    function deflateSync(literals) {\n      if (!isNodeJS) {\n        // zlib is certainly not available outside of Node.js. We can either use\n        // the pako library for client-side DEFLATE compression, or use the\n        // canvas API of the browser to obtain a more optimal PNG file.\n        return deflateSyncUncompressed(literals);\n      }\n      try {\n        // NOTE: This implementation is far from perfect, but already way better\n        // than not applying any compression.\n        //\n        // A better algorithm will try to choose a good predictor/filter and\n        // then choose a suitable zlib compression strategy (e.g. 3,Z_RLE).\n        //\n        // Node v0.11.12 zlib.deflateSync is introduced (and returns a Buffer).\n        // Node v3.0.0   Buffer inherits from Uint8Array.\n        // Node v8.0.0   zlib.deflateSync accepts Uint8Array as input.\n        let input;\n        // eslint-disable-next-line no-undef\n        if (parseInt(process.versions.node) >= 8) {\n          input = literals;\n        } else {\n          // eslint-disable-next-line no-undef\n          input = Buffer.from(literals);\n        }\n        const output = __non_webpack_require__(\"zlib\").deflateSync(input, {\n          level: 9,\n        });\n        return output instanceof Uint8Array ? output : new Uint8Array(output);\n      } catch (e) {\n        warn(\n          \"Not compressing PNG because zlib.deflateSync is unavailable: \" + e\n        );\n      }\n\n      return deflateSyncUncompressed(literals);\n    }\n\n    // An implementation of DEFLATE with compression level 0 (Z_NO_COMPRESSION).\n    function deflateSyncUncompressed(literals) {\n      let len = literals.length;\n      const maxBlockLength = 0xffff;\n\n      const deflateBlocks = Math.ceil(len / maxBlockLength);\n      const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n      let pi = 0;\n      idat[pi++] = 0x78; // compression method and flags\n      idat[pi++] = 0x9c; // flags\n\n      let pos = 0;\n      while (len > maxBlockLength) {\n        // writing non-final DEFLATE blocks type 0 and length of 65535\n        idat[pi++] = 0x00;\n        idat[pi++] = 0xff;\n        idat[pi++] = 0xff;\n        idat[pi++] = 0x00;\n        idat[pi++] = 0x00;\n        idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n        pi += maxBlockLength;\n        pos += maxBlockLength;\n        len -= maxBlockLength;\n      }\n\n      // writing non-final DEFLATE blocks type 0\n      idat[pi++] = 0x01;\n      idat[pi++] = len & 0xff;\n      idat[pi++] = (len >> 8) & 0xff;\n      idat[pi++] = ~len & 0xffff & 0xff;\n      idat[pi++] = ((~len & 0xffff) >> 8) & 0xff;\n      idat.set(literals.subarray(pos), pi);\n      pi += literals.length - pos;\n\n      const adler = adler32(literals, 0, literals.length); // checksum\n      idat[pi++] = (adler >> 24) & 0xff;\n      idat[pi++] = (adler >> 16) & 0xff;\n      idat[pi++] = (adler >> 8) & 0xff;\n      idat[pi++] = adler & 0xff;\n      return idat;\n    }\n\n    function encode(imgData, kind, forceDataSchema, isMask) {\n      const width = imgData.width;\n      const height = imgData.height;\n      let bitDepth, colorType, lineSize;\n      const bytes = imgData.data;\n\n      switch (kind) {\n        case ImageKind.GRAYSCALE_1BPP:\n          colorType = 0;\n          bitDepth = 1;\n          lineSize = (width + 7) >> 3;\n          break;\n        case ImageKind.RGB_24BPP:\n          colorType = 2;\n          bitDepth = 8;\n          lineSize = width * 3;\n          break;\n        case ImageKind.RGBA_32BPP:\n          colorType = 6;\n          bitDepth = 8;\n          lineSize = width * 4;\n          break;\n        default:\n          throw new Error(\"invalid format\");\n      }\n\n      // prefix every row with predictor 0\n      const literals = new Uint8Array((1 + lineSize) * height);\n      let offsetLiterals = 0,\n        offsetBytes = 0;\n      for (let y = 0; y < height; ++y) {\n        literals[offsetLiterals++] = 0; // no prediction\n        literals.set(\n          bytes.subarray(offsetBytes, offsetBytes + lineSize),\n          offsetLiterals\n        );\n        offsetBytes += lineSize;\n        offsetLiterals += lineSize;\n      }\n\n      if (kind === ImageKind.GRAYSCALE_1BPP && isMask) {\n        // inverting for image masks\n        offsetLiterals = 0;\n        for (let y = 0; y < height; y++) {\n          offsetLiterals++; // skipping predictor\n          for (let i = 0; i < lineSize; i++) {\n            literals[offsetLiterals++] ^= 0xff;\n          }\n        }\n      }\n\n      const ihdr = new Uint8Array([\n        (width >> 24) & 0xff,\n        (width >> 16) & 0xff,\n        (width >> 8) & 0xff,\n        width & 0xff,\n        (height >> 24) & 0xff,\n        (height >> 16) & 0xff,\n        (height >> 8) & 0xff,\n        height & 0xff,\n        bitDepth, // bit depth\n        colorType, // color type\n        0x00, // compression method\n        0x00, // filter method\n        0x00, // interlace method\n      ]);\n      const idat = deflateSync(literals);\n\n      // PNG consists of: header, IHDR+data, IDAT+data, and IEND.\n      const pngLength =\n        PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n      const data = new Uint8Array(pngLength);\n      let offset = 0;\n      data.set(PNG_HEADER, offset);\n      offset += PNG_HEADER.length;\n      writePngChunk(\"IHDR\", ihdr, data, offset);\n      offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n      writePngChunk(\"IDATA\", idat, data, offset);\n      offset += CHUNK_WRAPPER_SIZE + idat.length;\n      writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n\n      return createObjectURL(data, \"image/png\", forceDataSchema);\n    }\n\n    return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n      const kind =\n        imgData.kind === undefined ? ImageKind.GRAYSCALE_1BPP : imgData.kind;\n      return encode(imgData, kind, forceDataSchema, isMask);\n    };\n  })();\n\n  class SVGExtraState {\n    constructor() {\n      this.fontSizeScale = 1;\n      this.fontWeight = SVG_DEFAULTS.fontWeight;\n      this.fontSize = 0;\n\n      this.textMatrix = IDENTITY_MATRIX;\n      this.fontMatrix = FONT_IDENTITY_MATRIX;\n      this.leading = 0;\n      this.textRenderingMode = TextRenderingMode.FILL;\n      this.textMatrixScale = 1;\n\n      // Current point (in user coordinates)\n      this.x = 0;\n      this.y = 0;\n\n      // Start of text line (in text coordinates)\n      this.lineX = 0;\n      this.lineY = 0;\n\n      // Character and word spacing\n      this.charSpacing = 0;\n      this.wordSpacing = 0;\n      this.textHScale = 1;\n      this.textRise = 0;\n\n      // Default foreground and background colors\n      this.fillColor = SVG_DEFAULTS.fillColor;\n      this.strokeColor = \"#000000\";\n\n      this.fillAlpha = 1;\n      this.strokeAlpha = 1;\n      this.lineWidth = 1;\n      this.lineJoin = \"\";\n      this.lineCap = \"\";\n      this.miterLimit = 0;\n\n      this.dashArray = [];\n      this.dashPhase = 0;\n\n      this.dependencies = [];\n\n      // Clipping\n      this.activeClipUrl = null;\n      this.clipGroup = null;\n\n      this.maskId = \"\";\n    }\n\n    clone() {\n      return Object.create(this);\n    }\n\n    setCurrentPoint(x, y) {\n      this.x = x;\n      this.y = y;\n    }\n  }\n\n  // eslint-disable-next-line no-inner-declarations\n  function opListToTree(opList) {\n    let opTree = [];\n    const tmp = [];\n\n    for (const opListElement of opList) {\n      if (opListElement.fn === \"save\") {\n        opTree.push({ fnId: 92, fn: \"group\", items: [] });\n        tmp.push(opTree);\n        opTree = opTree[opTree.length - 1].items;\n        continue;\n      }\n\n      if (opListElement.fn === \"restore\") {\n        opTree = tmp.pop();\n      } else {\n        opTree.push(opListElement);\n      }\n    }\n    return opTree;\n  }\n\n  /**\n   * Format a float number as a string.\n   *\n   * @param value {number} - The float number to format.\n   * @returns {string}\n   */\n  // eslint-disable-next-line no-inner-declarations\n  function pf(value) {\n    if (Number.isInteger(value)) {\n      return value.toString();\n    }\n    const s = value.toFixed(10);\n    let i = s.length - 1;\n    if (s[i] !== \"0\") {\n      return s;\n    }\n\n    // Remove trailing zeros.\n    do {\n      i--;\n    } while (s[i] === \"0\");\n    return s.substring(0, s[i] === \".\" ? i : i + 1);\n  }\n\n  /**\n   * Format a transform matrix as a string. The standard rotation, scale and\n   * translation matrices are replaced by their shorter forms, and for\n   * identity matrices an empty string is returned to save memory.\n   *\n   * @param m {Array} - The transform matrix to format.\n   * @returns {string}\n   */\n  // eslint-disable-next-line no-inner-declarations\n  function pm(m) {\n    if (m[4] === 0 && m[5] === 0) {\n      if (m[1] === 0 && m[2] === 0) {\n        if (m[0] === 1 && m[3] === 1) {\n          return \"\";\n        }\n        return `scale(${pf(m[0])} ${pf(m[3])})`;\n      }\n      if (m[0] === m[3] && m[1] === -m[2]) {\n        const a = (Math.acos(m[0]) * 180) / Math.PI;\n        return `rotate(${pf(a)})`;\n      }\n    } else {\n      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n        return `translate(${pf(m[4])} ${pf(m[5])})`;\n      }\n    }\n    return (\n      `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` +\n      `${pf(m[5])})`\n    );\n  }\n\n  // The counts below are relevant for all pages, so they have to be global\n  // instead of being members of `SVGGraphics` (which is recreated for\n  // each page).\n  let clipCount = 0;\n  let maskCount = 0;\n  let shadingCount = 0;\n\n  SVGGraphics = class SVGGraphics {\n    constructor(commonObjs, objs, forceDataSchema) {\n      this.svgFactory = new DOMSVGFactory();\n\n      this.current = new SVGExtraState();\n      this.transformMatrix = IDENTITY_MATRIX; // Graphics state matrix\n      this.transformStack = [];\n      this.extraStack = [];\n      this.commonObjs = commonObjs;\n      this.objs = objs;\n      this.pendingClip = null;\n      this.pendingEOFill = false;\n\n      this.embedFonts = false;\n      this.embeddedFonts = Object.create(null);\n      this.cssStyle = null;\n      this.forceDataSchema = !!forceDataSchema;\n\n      // In `src/shared/util.js` the operator names are mapped to IDs.\n      // The list below represents the reverse of that, i.e., it maps IDs\n      // to operator names.\n      this._operatorIdMapping = [];\n      for (const op in OPS) {\n        this._operatorIdMapping[OPS[op]] = op;\n      }\n    }\n\n    save() {\n      this.transformStack.push(this.transformMatrix);\n      const old = this.current;\n      this.extraStack.push(old);\n      this.current = old.clone();\n    }\n\n    restore() {\n      this.transformMatrix = this.transformStack.pop();\n      this.current = this.extraStack.pop();\n      this.pendingClip = null;\n      this.tgrp = null;\n    }\n\n    group(items) {\n      this.save();\n      this.executeOpTree(items);\n      this.restore();\n    }\n\n    loadDependencies(operatorList) {\n      const fnArray = operatorList.fnArray;\n      const argsArray = operatorList.argsArray;\n\n      for (let i = 0, ii = fnArray.length; i < ii; i++) {\n        if (fnArray[i] !== OPS.dependency) {\n          continue;\n        }\n\n        for (const obj of argsArray[i]) {\n          const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n          const promise = new Promise(resolve => {\n            objsPool.get(obj, resolve);\n          });\n          this.current.dependencies.push(promise);\n        }\n      }\n      return Promise.all(this.current.dependencies);\n    }\n\n    transform(a, b, c, d, e, f) {\n      const transformMatrix = [a, b, c, d, e, f];\n      this.transformMatrix = Util.transform(\n        this.transformMatrix,\n        transformMatrix\n      );\n      this.tgrp = null;\n    }\n\n    getSVG(operatorList, viewport) {\n      this.viewport = viewport;\n\n      const svgElement = this._initialize(viewport);\n      return this.loadDependencies(operatorList).then(() => {\n        this.transformMatrix = IDENTITY_MATRIX;\n        this.executeOpTree(this.convertOpList(operatorList));\n        return svgElement;\n      });\n    }\n\n    convertOpList(operatorList) {\n      const operatorIdMapping = this._operatorIdMapping;\n      const argsArray = operatorList.argsArray;\n      const fnArray = operatorList.fnArray;\n      const opList = [];\n      for (let i = 0, ii = fnArray.length; i < ii; i++) {\n        const fnId = fnArray[i];\n        opList.push({\n          fnId,\n          fn: operatorIdMapping[fnId],\n          args: argsArray[i],\n        });\n      }\n      return opListToTree(opList);\n    }\n\n    executeOpTree(opTree) {\n      for (const opTreeElement of opTree) {\n        const fn = opTreeElement.fn;\n        const fnId = opTreeElement.fnId;\n        const args = opTreeElement.args;\n\n        switch (fnId | 0) {\n          case OPS.beginText:\n            this.beginText();\n            break;\n          case OPS.dependency:\n            // Handled in `loadDependencies`, so no warning should be shown.\n            break;\n          case OPS.setLeading:\n            this.setLeading(args);\n            break;\n          case OPS.setLeadingMoveText:\n            this.setLeadingMoveText(args[0], args[1]);\n            break;\n          case OPS.setFont:\n            this.setFont(args);\n            break;\n          case OPS.showText:\n            this.showText(args[0]);\n            break;\n          case OPS.showSpacedText:\n            this.showText(args[0]);\n            break;\n          case OPS.endText:\n            this.endText();\n            break;\n          case OPS.moveText:\n            this.moveText(args[0], args[1]);\n            break;\n          case OPS.setCharSpacing:\n            this.setCharSpacing(args[0]);\n            break;\n          case OPS.setWordSpacing:\n            this.setWordSpacing(args[0]);\n            break;\n          case OPS.setHScale:\n            this.setHScale(args[0]);\n            break;\n          case OPS.setTextMatrix:\n            this.setTextMatrix(\n              args[0],\n              args[1],\n              args[2],\n              args[3],\n              args[4],\n              args[5]\n            );\n            break;\n          case OPS.setTextRise:\n            this.setTextRise(args[0]);\n            break;\n          case OPS.setTextRenderingMode:\n            this.setTextRenderingMode(args[0]);\n            break;\n          case OPS.setLineWidth:\n            this.setLineWidth(args[0]);\n            break;\n          case OPS.setLineJoin:\n            this.setLineJoin(args[0]);\n            break;\n          case OPS.setLineCap:\n            this.setLineCap(args[0]);\n            break;\n          case OPS.setMiterLimit:\n            this.setMiterLimit(args[0]);\n            break;\n          case OPS.setFillRGBColor:\n            this.setFillRGBColor(args[0], args[1], args[2]);\n            break;\n          case OPS.setStrokeRGBColor:\n            this.setStrokeRGBColor(args[0], args[1], args[2]);\n            break;\n          case OPS.setStrokeColorN:\n            this.setStrokeColorN(args);\n            break;\n          case OPS.setFillColorN:\n            this.setFillColorN(args);\n            break;\n          case OPS.shadingFill:\n            this.shadingFill(args[0]);\n            break;\n          case OPS.setDash:\n            this.setDash(args[0], args[1]);\n            break;\n          case OPS.setRenderingIntent:\n            this.setRenderingIntent(args[0]);\n            break;\n          case OPS.setFlatness:\n            this.setFlatness(args[0]);\n            break;\n          case OPS.setGState:\n            this.setGState(args[0]);\n            break;\n          case OPS.fill:\n            this.fill();\n            break;\n          case OPS.eoFill:\n            this.eoFill();\n            break;\n          case OPS.stroke:\n            this.stroke();\n            break;\n          case OPS.fillStroke:\n            this.fillStroke();\n            break;\n          case OPS.eoFillStroke:\n            this.eoFillStroke();\n            break;\n          case OPS.clip:\n            this.clip(\"nonzero\");\n            break;\n          case OPS.eoClip:\n            this.clip(\"evenodd\");\n            break;\n          case OPS.paintSolidColorImageMask:\n            this.paintSolidColorImageMask();\n            break;\n          case OPS.paintJpegXObject:\n            this.paintJpegXObject(args[0], args[1], args[2]);\n            break;\n          case OPS.paintImageXObject:\n            this.paintImageXObject(args[0]);\n            break;\n          case OPS.paintInlineImageXObject:\n            this.paintInlineImageXObject(args[0]);\n            break;\n          case OPS.paintImageMaskXObject:\n            this.paintImageMaskXObject(args[0]);\n            break;\n          case OPS.paintFormXObjectBegin:\n            this.paintFormXObjectBegin(args[0], args[1]);\n            break;\n          case OPS.paintFormXObjectEnd:\n            this.paintFormXObjectEnd();\n            break;\n          case OPS.closePath:\n            this.closePath();\n            break;\n          case OPS.closeStroke:\n            this.closeStroke();\n            break;\n          case OPS.closeFillStroke:\n            this.closeFillStroke();\n            break;\n          case OPS.closeEOFillStroke:\n            this.closeEOFillStroke();\n            break;\n          case OPS.nextLine:\n            this.nextLine();\n            break;\n          case OPS.transform:\n            this.transform(\n              args[0],\n              args[1],\n              args[2],\n              args[3],\n              args[4],\n              args[5]\n            );\n            break;\n          case OPS.constructPath:\n            this.constructPath(args[0], args[1]);\n            break;\n          case OPS.endPath:\n            this.endPath();\n            break;\n          case 92:\n            this.group(opTreeElement.items);\n            break;\n          default:\n            warn(`Unimplemented operator ${fn}`);\n            break;\n        }\n      }\n    }\n\n    setWordSpacing(wordSpacing) {\n      this.current.wordSpacing = wordSpacing;\n    }\n\n    setCharSpacing(charSpacing) {\n      this.current.charSpacing = charSpacing;\n    }\n\n    nextLine() {\n      this.moveText(0, this.current.leading);\n    }\n\n    setTextMatrix(a, b, c, d, e, f) {\n      const current = this.current;\n      current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n      current.textMatrixScale = Math.sqrt(a * a + b * b);\n\n      current.x = current.lineX = 0;\n      current.y = current.lineY = 0;\n\n      current.xcoords = [];\n      current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n      current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n      current.tspan.setAttributeNS(\n        null,\n        \"font-size\",\n        `${pf(current.fontSize)}px`\n      );\n      current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n\n      current.txtElement = this.svgFactory.createElement(\"svg:text\");\n      current.txtElement.appendChild(current.tspan);\n    }\n\n    beginText() {\n      const current = this.current;\n      current.x = current.lineX = 0;\n      current.y = current.lineY = 0;\n      current.textMatrix = IDENTITY_MATRIX;\n      current.lineMatrix = IDENTITY_MATRIX;\n      current.textMatrixScale = 1;\n      current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n      current.txtElement = this.svgFactory.createElement(\"svg:text\");\n      current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n      current.xcoords = [];\n    }\n\n    moveText(x, y) {\n      const current = this.current;\n      current.x = current.lineX += x;\n      current.y = current.lineY += y;\n\n      current.xcoords = [];\n      current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n      current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n      current.tspan.setAttributeNS(\n        null,\n        \"font-size\",\n        `${pf(current.fontSize)}px`\n      );\n      current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n    }\n\n    showText(glyphs) {\n      const current = this.current;\n      const font = current.font;\n      const fontSize = current.fontSize;\n      if (fontSize === 0) {\n        return;\n      }\n\n      const charSpacing = current.charSpacing;\n      const wordSpacing = current.wordSpacing;\n      const fontDirection = current.fontDirection;\n      const textHScale = current.textHScale * fontDirection;\n      const vertical = font.vertical;\n      const widthAdvanceScale = fontSize * current.fontMatrix[0];\n\n      let x = 0;\n      for (const glyph of glyphs) {\n        if (glyph === null) {\n          // Word break\n          x += fontDirection * wordSpacing;\n          continue;\n        } else if (isNum(glyph)) {\n          x += -glyph * fontSize * 0.001;\n          continue;\n        }\n\n        const width = glyph.width;\n        const character = glyph.fontChar;\n        const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n        const charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n        if (!glyph.isInFont && !font.missingFile) {\n          x += charWidth;\n          // TODO: To assist with text selection, we should replace the missing\n          // character with a space character if charWidth is not zero.\n          // But we cannot just do \"character = ' '\", because the ' ' character\n          // might actually map to a different glyph.\n          continue;\n        }\n        current.xcoords.push(current.x + x);\n        current.tspan.textContent += character;\n        x += charWidth;\n      }\n      if (vertical) {\n        current.y -= x * textHScale;\n      } else {\n        current.x += x * textHScale;\n      }\n\n      current.tspan.setAttributeNS(\n        null,\n        \"x\",\n        current.xcoords.map(pf).join(\" \")\n      );\n      current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n      current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n      current.tspan.setAttributeNS(\n        null,\n        \"font-size\",\n        `${pf(current.fontSize)}px`\n      );\n      if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n        current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n      }\n      if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n        current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n      }\n\n      const fillStrokeMode =\n        current.textRenderingMode & TextRenderingMode.FILL_STROKE_MASK;\n      if (\n        fillStrokeMode === TextRenderingMode.FILL ||\n        fillStrokeMode === TextRenderingMode.FILL_STROKE\n      ) {\n        if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n          current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n        }\n        if (current.fillAlpha < 1) {\n          current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n        }\n      } else if (current.textRenderingMode === TextRenderingMode.ADD_TO_PATH) {\n        // Workaround for Firefox: We must set fill=\"transparent\" because\n        // fill=\"none\" would generate an empty clipping path.\n        current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n      } else {\n        current.tspan.setAttributeNS(null, \"fill\", \"none\");\n      }\n\n      if (\n        fillStrokeMode === TextRenderingMode.STROKE ||\n        fillStrokeMode === TextRenderingMode.FILL_STROKE\n      ) {\n        const lineWidthScale = 1 / (current.textMatrixScale || 1);\n        this._setStrokeAttributes(current.tspan, lineWidthScale);\n      }\n\n      // Include the text rise in the text matrix since the `pm` function\n      // creates the SVG element's `translate` entry (work on a copy to avoid\n      // altering the original text matrix).\n      let textMatrix = current.textMatrix;\n      if (current.textRise !== 0) {\n        textMatrix = textMatrix.slice();\n        textMatrix[5] += current.textRise;\n      }\n\n      current.txtElement.setAttributeNS(\n        null,\n        \"transform\",\n        `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`\n      );\n      current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n      current.txtElement.appendChild(current.tspan);\n      current.txtgrp.appendChild(current.txtElement);\n\n      this._ensureTransformGroup().appendChild(current.txtElement);\n    }\n\n    setLeadingMoveText(x, y) {\n      this.setLeading(-y);\n      this.moveText(x, y);\n    }\n\n    addFontStyle(fontObj) {\n      if (!this.cssStyle) {\n        this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n        this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n        this.defs.appendChild(this.cssStyle);\n      }\n\n      const url = createObjectURL(\n        fontObj.data,\n        fontObj.mimetype,\n        this.forceDataSchema\n      );\n      this.cssStyle.textContent +=\n        `@font-face { font-family: \"${fontObj.loadedName}\";` +\n        ` src: url(${url}); }\\n`;\n    }\n\n    setFont(details) {\n      const current = this.current;\n      const fontObj = this.commonObjs.get(details[0]);\n      let size = details[1];\n      current.font = fontObj;\n\n      if (\n        this.embedFonts &&\n        fontObj.data &&\n        !this.embeddedFonts[fontObj.loadedName]\n      ) {\n        this.addFontStyle(fontObj);\n        this.embeddedFonts[fontObj.loadedName] = fontObj;\n      }\n\n      current.fontMatrix = fontObj.fontMatrix\n        ? fontObj.fontMatrix\n        : FONT_IDENTITY_MATRIX;\n\n      let bold = \"normal\";\n      if (fontObj.black) {\n        bold = \"900\";\n      } else if (fontObj.bold) {\n        bold = \"bold\";\n      }\n      const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n      if (size < 0) {\n        size = -size;\n        current.fontDirection = -1;\n      } else {\n        current.fontDirection = 1;\n      }\n      current.fontSize = size;\n      current.fontFamily = fontObj.loadedName;\n      current.fontWeight = bold;\n      current.fontStyle = italic;\n\n      current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n      current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n      current.xcoords = [];\n    }\n\n    endText() {\n      const current = this.current;\n      if (\n        current.textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG &&\n        current.txtElement &&\n        current.txtElement.hasChildNodes()\n      ) {\n        // If no glyphs are shown (i.e. no child nodes), no clipping occurs.\n        current.element = current.txtElement;\n        this.clip(\"nonzero\");\n        this.endPath();\n      }\n    }\n\n    // Path properties\n    setLineWidth(width) {\n      if (width > 0) {\n        this.current.lineWidth = width;\n      }\n    }\n\n    setLineCap(style) {\n      this.current.lineCap = LINE_CAP_STYLES[style];\n    }\n\n    setLineJoin(style) {\n      this.current.lineJoin = LINE_JOIN_STYLES[style];\n    }\n\n    setMiterLimit(limit) {\n      this.current.miterLimit = limit;\n    }\n\n    setStrokeAlpha(strokeAlpha) {\n      this.current.strokeAlpha = strokeAlpha;\n    }\n\n    setStrokeRGBColor(r, g, b) {\n      this.current.strokeColor = Util.makeCssRgb(r, g, b);\n    }\n\n    setFillAlpha(fillAlpha) {\n      this.current.fillAlpha = fillAlpha;\n    }\n\n    setFillRGBColor(r, g, b) {\n      this.current.fillColor = Util.makeCssRgb(r, g, b);\n      this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n      this.current.xcoords = [];\n    }\n\n    setStrokeColorN(args) {\n      this.current.strokeColor = this._makeColorN_Pattern(args);\n    }\n\n    setFillColorN(args) {\n      this.current.fillColor = this._makeColorN_Pattern(args);\n    }\n\n    shadingFill(args) {\n      const width = this.viewport.width;\n      const height = this.viewport.height;\n      const inv = Util.inverseTransform(this.transformMatrix);\n      const bl = Util.applyTransform([0, 0], inv);\n      const br = Util.applyTransform([0, height], inv);\n      const ul = Util.applyTransform([width, 0], inv);\n      const ur = Util.applyTransform([width, height], inv);\n      const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n      const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n      const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n      const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n\n      const rect = this.svgFactory.createElement(\"svg:rect\");\n      rect.setAttributeNS(null, \"x\", x0);\n      rect.setAttributeNS(null, \"y\", y0);\n      rect.setAttributeNS(null, \"width\", x1 - x0);\n      rect.setAttributeNS(null, \"height\", y1 - y0);\n      rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n      this._ensureTransformGroup().appendChild(rect);\n    }\n\n    /**\n     * @private\n     */\n    _makeColorN_Pattern(args) {\n      if (args[0] === \"TilingPattern\") {\n        return this._makeTilingPattern(args);\n      }\n      return this._makeShadingPattern(args);\n    }\n\n    /**\n     * @private\n     */\n    _makeTilingPattern(args) {\n      const color = args[1];\n      const operatorList = args[2];\n      const matrix = args[3] || IDENTITY_MATRIX;\n      const [x0, y0, x1, y1] = args[4];\n      const xstep = args[5];\n      const ystep = args[6];\n      const paintType = args[7];\n\n      const tilingId = `shading${shadingCount++}`;\n      const [tx0, ty0] = Util.applyTransform([x0, y0], matrix);\n      const [tx1, ty1] = Util.applyTransform([x1, y1], matrix);\n      const [xscale, yscale] = Util.singularValueDecompose2dScale(matrix);\n      const txstep = xstep * xscale;\n      const tystep = ystep * yscale;\n\n      const tiling = this.svgFactory.createElement(\"svg:pattern\");\n      tiling.setAttributeNS(null, \"id\", tilingId);\n      tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n      tiling.setAttributeNS(null, \"width\", txstep);\n      tiling.setAttributeNS(null, \"height\", tystep);\n      tiling.setAttributeNS(null, \"x\", `${tx0}`);\n      tiling.setAttributeNS(null, \"y\", `${ty0}`);\n\n      // Save current state.\n      const svg = this.svg;\n      const transformMatrix = this.transformMatrix;\n      const fillColor = this.current.fillColor;\n      const strokeColor = this.current.strokeColor;\n\n      const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n      this.svg = bbox;\n      this.transformMatrix = matrix;\n      if (paintType === 2) {\n        const cssColor = Util.makeCssRgb(...color);\n        this.current.fillColor = cssColor;\n        this.current.strokeColor = cssColor;\n      }\n      this.executeOpTree(this.convertOpList(operatorList));\n\n      // Restore saved state.\n      this.svg = svg;\n      this.transformMatrix = transformMatrix;\n      this.current.fillColor = fillColor;\n      this.current.strokeColor = strokeColor;\n\n      tiling.appendChild(bbox.childNodes[0]);\n      this.defs.appendChild(tiling);\n      return `url(#${tilingId})`;\n    }\n\n    /**\n     * @private\n     */\n    _makeShadingPattern(args) {\n      switch (args[0]) {\n        case \"RadialAxial\":\n          const shadingId = `shading${shadingCount++}`;\n          const colorStops = args[3];\n          let gradient;\n\n          switch (args[1]) {\n            case \"axial\":\n              const point0 = args[4];\n              const point1 = args[5];\n              gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n              gradient.setAttributeNS(null, \"id\", shadingId);\n              gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n              gradient.setAttributeNS(null, \"x1\", point0[0]);\n              gradient.setAttributeNS(null, \"y1\", point0[1]);\n              gradient.setAttributeNS(null, \"x2\", point1[0]);\n              gradient.setAttributeNS(null, \"y2\", point1[1]);\n              break;\n            case \"radial\":\n              const focalPoint = args[4];\n              const circlePoint = args[5];\n              const focalRadius = args[6];\n              const circleRadius = args[7];\n              gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n              gradient.setAttributeNS(null, \"id\", shadingId);\n              gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n              gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n              gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n              gradient.setAttributeNS(null, \"r\", circleRadius);\n              gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n              gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n              gradient.setAttributeNS(null, \"fr\", focalRadius);\n              break;\n            default:\n              throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n          }\n          for (const colorStop of colorStops) {\n            const stop = this.svgFactory.createElement(\"svg:stop\");\n            stop.setAttributeNS(null, \"offset\", colorStop[0]);\n            stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n            gradient.appendChild(stop);\n          }\n          this.defs.appendChild(gradient);\n          return `url(#${shadingId})`;\n        case \"Mesh\":\n          warn(\"Unimplemented pattern Mesh\");\n          return null;\n        case \"Dummy\":\n          return \"hotpink\";\n        default:\n          throw new Error(`Unknown IR type: ${args[0]}`);\n      }\n    }\n\n    setDash(dashArray, dashPhase) {\n      this.current.dashArray = dashArray;\n      this.current.dashPhase = dashPhase;\n    }\n\n    constructPath(ops, args) {\n      const current = this.current;\n      let x = current.x,\n        y = current.y;\n      let d = [];\n      let j = 0;\n\n      for (const op of ops) {\n        switch (op | 0) {\n          case OPS.rectangle:\n            x = args[j++];\n            y = args[j++];\n            const width = args[j++];\n            const height = args[j++];\n            const xw = x + width;\n            const yh = y + height;\n            d.push(\n              \"M\",\n              pf(x),\n              pf(y),\n              \"L\",\n              pf(xw),\n              pf(y),\n              \"L\",\n              pf(xw),\n              pf(yh),\n              \"L\",\n              pf(x),\n              pf(yh),\n              \"Z\"\n            );\n            break;\n          case OPS.moveTo:\n            x = args[j++];\n            y = args[j++];\n            d.push(\"M\", pf(x), pf(y));\n            break;\n          case OPS.lineTo:\n            x = args[j++];\n            y = args[j++];\n            d.push(\"L\", pf(x), pf(y));\n            break;\n          case OPS.curveTo:\n            x = args[j + 4];\n            y = args[j + 5];\n            d.push(\n              \"C\",\n              pf(args[j]),\n              pf(args[j + 1]),\n              pf(args[j + 2]),\n              pf(args[j + 3]),\n              pf(x),\n              pf(y)\n            );\n            j += 6;\n            break;\n          case OPS.curveTo2:\n            d.push(\n              \"C\",\n              pf(x),\n              pf(y),\n              pf(args[j]),\n              pf(args[j + 1]),\n              pf(args[j + 2]),\n              pf(args[j + 3])\n            );\n            x = args[j + 2];\n            y = args[j + 3];\n            j += 4;\n            break;\n          case OPS.curveTo3:\n            x = args[j + 2];\n            y = args[j + 3];\n            d.push(\n              \"C\",\n              pf(args[j]),\n              pf(args[j + 1]),\n              pf(x),\n              pf(y),\n              pf(x),\n              pf(y)\n            );\n            j += 4;\n            break;\n          case OPS.closePath:\n            d.push(\"Z\");\n            break;\n        }\n      }\n\n      d = d.join(\" \");\n\n      if (\n        current.path &&\n        ops.length > 0 &&\n        ops[0] !== OPS.rectangle &&\n        ops[0] !== OPS.moveTo\n      ) {\n        // If a path does not start with an OPS.rectangle or OPS.moveTo, it has\n        // probably been divided into two OPS.constructPath operators by\n        // OperatorList. Append the commands to the previous path element.\n        d = current.path.getAttributeNS(null, \"d\") + d;\n      } else {\n        current.path = this.svgFactory.createElement(\"svg:path\");\n        this._ensureTransformGroup().appendChild(current.path);\n      }\n\n      current.path.setAttributeNS(null, \"d\", d);\n      current.path.setAttributeNS(null, \"fill\", \"none\");\n\n      // Saving a reference in current.element so that it can be addressed\n      // in 'fill' and 'stroke'\n      current.element = current.path;\n      current.setCurrentPoint(x, y);\n    }\n\n    endPath() {\n      const current = this.current;\n\n      // Painting operators end a path.\n      current.path = null;\n\n      if (!this.pendingClip) {\n        return;\n      }\n      if (!current.element) {\n        this.pendingClip = null;\n        return;\n      }\n\n      // Add the current path to a clipping path.\n      const clipId = `clippath${clipCount++}`;\n      const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n      clipPath.setAttributeNS(null, \"id\", clipId);\n      clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n      // A deep clone is needed when text is used as a clipping path.\n      const clipElement = current.element.cloneNode(true);\n      if (this.pendingClip === \"evenodd\") {\n        clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n      } else {\n        clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n      }\n      this.pendingClip = null;\n      clipPath.appendChild(clipElement);\n      this.defs.appendChild(clipPath);\n\n      if (current.activeClipUrl) {\n        // The previous clipping group content can go out of order -- resetting\n        // cached clipGroups.\n        current.clipGroup = null;\n        this.extraStack.forEach(function(prev) {\n          prev.clipGroup = null;\n        });\n        // Intersect with the previous clipping path.\n        clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n      }\n      current.activeClipUrl = `url(#${clipId})`;\n\n      this.tgrp = null;\n    }\n\n    clip(type) {\n      this.pendingClip = type;\n    }\n\n    closePath() {\n      const current = this.current;\n      if (current.path) {\n        const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n        current.path.setAttributeNS(null, \"d\", d);\n      }\n    }\n\n    setLeading(leading) {\n      this.current.leading = -leading;\n    }\n\n    setTextRise(textRise) {\n      this.current.textRise = textRise;\n    }\n\n    setTextRenderingMode(textRenderingMode) {\n      this.current.textRenderingMode = textRenderingMode;\n    }\n\n    setHScale(scale) {\n      this.current.textHScale = scale / 100;\n    }\n\n    setRenderingIntent(intent) {\n      // This operation is ignored since we haven't found a use case for it yet.\n    }\n\n    setFlatness(flatness) {\n      // This operation is ignored since we haven't found a use case for it yet.\n    }\n\n    setGState(states) {\n      for (const [key, value] of states) {\n        switch (key) {\n          case \"LW\":\n            this.setLineWidth(value);\n            break;\n          case \"LC\":\n            this.setLineCap(value);\n            break;\n          case \"LJ\":\n            this.setLineJoin(value);\n            break;\n          case \"ML\":\n            this.setMiterLimit(value);\n            break;\n          case \"D\":\n            this.setDash(value[0], value[1]);\n            break;\n          case \"RI\":\n            this.setRenderingIntent(value);\n            break;\n          case \"FL\":\n            this.setFlatness(value);\n            break;\n          case \"Font\":\n            this.setFont(value);\n            break;\n          case \"CA\":\n            this.setStrokeAlpha(value);\n            break;\n          case \"ca\":\n            this.setFillAlpha(value);\n            break;\n          default:\n            warn(`Unimplemented graphic state operator ${key}`);\n            break;\n        }\n      }\n    }\n\n    fill() {\n      const current = this.current;\n      if (current.element) {\n        current.element.setAttributeNS(null, \"fill\", current.fillColor);\n        current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n        this.endPath();\n      }\n    }\n\n    stroke() {\n      const current = this.current;\n      if (current.element) {\n        this._setStrokeAttributes(current.element);\n        current.element.setAttributeNS(null, \"fill\", \"none\");\n        this.endPath();\n      }\n    }\n\n    /**\n     * @private\n     */\n    _setStrokeAttributes(element, lineWidthScale = 1) {\n      const current = this.current;\n      let dashArray = current.dashArray;\n      if (lineWidthScale !== 1 && dashArray.length > 0) {\n        dashArray = dashArray.map(function(value) {\n          return lineWidthScale * value;\n        });\n      }\n      element.setAttributeNS(null, \"stroke\", current.strokeColor);\n      element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n      element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n      element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n      element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n      element.setAttributeNS(\n        null,\n        \"stroke-width\",\n        pf(lineWidthScale * current.lineWidth) + \"px\"\n      );\n      element.setAttributeNS(\n        null,\n        \"stroke-dasharray\",\n        dashArray.map(pf).join(\" \")\n      );\n      element.setAttributeNS(\n        null,\n        \"stroke-dashoffset\",\n        pf(lineWidthScale * current.dashPhase) + \"px\"\n      );\n    }\n\n    eoFill() {\n      if (this.current.element) {\n        this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n      }\n      this.fill();\n    }\n\n    fillStroke() {\n      // Order is important since stroke wants fill to be none.\n      // First stroke, then if fill needed, it will be overwritten.\n      this.stroke();\n      this.fill();\n    }\n\n    eoFillStroke() {\n      if (this.current.element) {\n        this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n      }\n      this.fillStroke();\n    }\n\n    closeStroke() {\n      this.closePath();\n      this.stroke();\n    }\n\n    closeFillStroke() {\n      this.closePath();\n      this.fillStroke();\n    }\n\n    closeEOFillStroke() {\n      this.closePath();\n      this.eoFillStroke();\n    }\n\n    paintSolidColorImageMask() {\n      const rect = this.svgFactory.createElement(\"svg:rect\");\n      rect.setAttributeNS(null, \"x\", \"0\");\n      rect.setAttributeNS(null, \"y\", \"0\");\n      rect.setAttributeNS(null, \"width\", \"1px\");\n      rect.setAttributeNS(null, \"height\", \"1px\");\n      rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n      this._ensureTransformGroup().appendChild(rect);\n    }\n\n    paintJpegXObject(objId, w, h) {\n      const imgObj = this.objs.get(objId);\n      const imgEl = this.svgFactory.createElement(\"svg:image\");\n      imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgObj.src);\n      imgEl.setAttributeNS(null, \"width\", pf(w));\n      imgEl.setAttributeNS(null, \"height\", pf(h));\n      imgEl.setAttributeNS(null, \"x\", \"0\");\n      imgEl.setAttributeNS(null, \"y\", pf(-h));\n      imgEl.setAttributeNS(\n        null,\n        \"transform\",\n        `scale(${pf(1 / w)} ${pf(-1 / h)})`\n      );\n\n      this._ensureTransformGroup().appendChild(imgEl);\n    }\n\n    paintImageXObject(objId) {\n      const imgData = this.objs.get(objId);\n      if (!imgData) {\n        warn(`Dependent image with object ID ${objId} is not ready yet`);\n        return;\n      }\n      this.paintInlineImageXObject(imgData);\n    }\n\n    paintInlineImageXObject(imgData, mask) {\n      const width = imgData.width;\n      const height = imgData.height;\n\n      const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n      const cliprect = this.svgFactory.createElement(\"svg:rect\");\n      cliprect.setAttributeNS(null, \"x\", \"0\");\n      cliprect.setAttributeNS(null, \"y\", \"0\");\n      cliprect.setAttributeNS(null, \"width\", pf(width));\n      cliprect.setAttributeNS(null, \"height\", pf(height));\n      this.current.element = cliprect;\n      this.clip(\"nonzero\");\n\n      const imgEl = this.svgFactory.createElement(\"svg:image\");\n      imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n      imgEl.setAttributeNS(null, \"x\", \"0\");\n      imgEl.setAttributeNS(null, \"y\", pf(-height));\n      imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n      imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n      imgEl.setAttributeNS(\n        null,\n        \"transform\",\n        `scale(${pf(1 / width)} ${pf(-1 / height)})`\n      );\n      if (mask) {\n        mask.appendChild(imgEl);\n      } else {\n        this._ensureTransformGroup().appendChild(imgEl);\n      }\n    }\n\n    paintImageMaskXObject(imgData) {\n      const current = this.current;\n      const width = imgData.width;\n      const height = imgData.height;\n      const fillColor = current.fillColor;\n\n      current.maskId = `mask${maskCount++}`;\n      const mask = this.svgFactory.createElement(\"svg:mask\");\n      mask.setAttributeNS(null, \"id\", current.maskId);\n\n      const rect = this.svgFactory.createElement(\"svg:rect\");\n      rect.setAttributeNS(null, \"x\", \"0\");\n      rect.setAttributeNS(null, \"y\", \"0\");\n      rect.setAttributeNS(null, \"width\", pf(width));\n      rect.setAttributeNS(null, \"height\", pf(height));\n      rect.setAttributeNS(null, \"fill\", fillColor);\n      rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n\n      this.defs.appendChild(mask);\n      this._ensureTransformGroup().appendChild(rect);\n\n      this.paintInlineImageXObject(imgData, mask);\n    }\n\n    paintFormXObjectBegin(matrix, bbox) {\n      if (Array.isArray(matrix) && matrix.length === 6) {\n        this.transform(\n          matrix[0],\n          matrix[1],\n          matrix[2],\n          matrix[3],\n          matrix[4],\n          matrix[5]\n        );\n      }\n\n      if (bbox) {\n        const width = bbox[2] - bbox[0];\n        const height = bbox[3] - bbox[1];\n\n        const cliprect = this.svgFactory.createElement(\"svg:rect\");\n        cliprect.setAttributeNS(null, \"x\", bbox[0]);\n        cliprect.setAttributeNS(null, \"y\", bbox[1]);\n        cliprect.setAttributeNS(null, \"width\", pf(width));\n        cliprect.setAttributeNS(null, \"height\", pf(height));\n        this.current.element = cliprect;\n        this.clip(\"nonzero\");\n        this.endPath();\n      }\n    }\n\n    paintFormXObjectEnd() {}\n\n    /**\n     * @private\n     */\n    _initialize(viewport) {\n      const svg = this.svgFactory.create(viewport.width, viewport.height);\n\n      // Create the definitions element.\n      const definitions = this.svgFactory.createElement(\"svg:defs\");\n      svg.appendChild(definitions);\n      this.defs = definitions;\n\n      // Create the root group element, which acts a container for all other\n      // groups and applies the viewport transform.\n      const rootGroup = this.svgFactory.createElement(\"svg:g\");\n      rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n      svg.appendChild(rootGroup);\n\n      // For the construction of the SVG image we are only interested in the\n      // root group, so we expose it as the entry point of the SVG image for\n      // the other code in this class.\n      this.svg = rootGroup;\n\n      return svg;\n    }\n\n    /**\n     * @private\n     */\n    _ensureClipGroup() {\n      if (!this.current.clipGroup) {\n        const clipGroup = this.svgFactory.createElement(\"svg:g\");\n        clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n        this.svg.appendChild(clipGroup);\n        this.current.clipGroup = clipGroup;\n      }\n      return this.current.clipGroup;\n    }\n\n    /**\n     * @private\n     */\n    _ensureTransformGroup() {\n      if (!this.tgrp) {\n        this.tgrp = this.svgFactory.createElement(\"svg:g\");\n        this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n        if (this.current.activeClipUrl) {\n          this._ensureClipGroup().appendChild(this.tgrp);\n        } else {\n          this.svg.appendChild(this.tgrp);\n        }\n      }\n      return this.tgrp;\n    }\n  };\n}\n\nexport { SVGGraphics };\n","/* Copyright 2012 Mozilla Foundation\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/* globals __non_webpack_require__ */\n\nconst fs = __non_webpack_require__(\"fs\");\nconst http = __non_webpack_require__(\"http\");\nconst https = __non_webpack_require__(\"https\");\nconst url = __non_webpack_require__(\"url\");\n\nimport {\n  AbortException,\n  assert,\n  createPromiseCapability,\n  MissingPDFException,\n} from \"../shared/util.js\";\nimport {\n  extractFilenameFromHeader,\n  validateRangeRequestCapabilities,\n} from \"./network_utils.js\";\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n  const parsedUrl = url.parse(sourceUrl);\n  if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n    return parsedUrl;\n  }\n  // Prepending 'file:///' to Windows absolute path.\n  if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n    return url.parse(`file:///${sourceUrl}`);\n  }\n  // Changes protocol to 'file:' if url refers to filesystem.\n  if (!parsedUrl.host) {\n    parsedUrl.protocol = \"file:\";\n  }\n  return parsedUrl;\n}\n\nclass PDFNodeStream {\n  constructor(source) {\n    this.source = source;\n    this.url = parseUrl(source.url);\n    this.isHttp =\n      this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n    // Check if url refers to filesystem.\n    this.isFsUrl = this.url.protocol === \"file:\";\n    this.httpHeaders = (this.isHttp && source.httpHeaders) || {};\n\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  get _progressiveDataLength() {\n    return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n  }\n\n  getFullReader() {\n    assert(!this._fullRequestReader);\n    this._fullRequestReader = this.isFsUrl\n      ? new PDFNodeStreamFsFullReader(this)\n      : new PDFNodeStreamFullReader(this);\n    return this._fullRequestReader;\n  }\n\n  getRangeReader(start, end) {\n    if (end <= this._progressiveDataLength) {\n      return null;\n    }\n    const rangeReader = this.isFsUrl\n      ? new PDFNodeStreamFsRangeReader(this, start, end)\n      : new PDFNodeStreamRangeReader(this, start, end);\n    this._rangeRequestReaders.push(rangeReader);\n    return rangeReader;\n  }\n\n  cancelAllRequests(reason) {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.cancel(reason);\n    }\n\n    const readers = this._rangeRequestReaders.slice(0);\n    readers.forEach(function(reader) {\n      reader.cancel(reason);\n    });\n  }\n}\n\nclass BaseFullReader {\n  constructor(stream) {\n    this._url = stream.url;\n    this._done = false;\n    this._storedError = null;\n    this.onProgress = null;\n    const source = stream.source;\n    this._contentLength = source.length; // optional\n    this._loaded = 0;\n    this._filename = null;\n\n    this._disableRange = source.disableRange || false;\n    this._rangeChunkSize = source.rangeChunkSize;\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n\n    this._isStreamingSupported = !source.disableStream;\n    this._isRangeSupported = !source.disableRange;\n\n    this._readableStream = null;\n    this._readCapability = createPromiseCapability();\n    this._headersCapability = createPromiseCapability();\n  }\n\n  get headersReady() {\n    return this._headersCapability.promise;\n  }\n\n  get filename() {\n    return this._filename;\n  }\n\n  get contentLength() {\n    return this._contentLength;\n  }\n\n  get isRangeSupported() {\n    return this._isRangeSupported;\n  }\n\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  }\n\n  async read() {\n    await this._readCapability.promise;\n    if (this._done) {\n      return { value: undefined, done: true };\n    }\n    if (this._storedError) {\n      throw this._storedError;\n    }\n\n    const chunk = this._readableStream.read();\n    if (chunk === null) {\n      this._readCapability = createPromiseCapability();\n      return this.read();\n    }\n    this._loaded += chunk.length;\n    if (this.onProgress) {\n      this.onProgress({\n        loaded: this._loaded,\n        total: this._contentLength,\n      });\n    }\n    // Ensure that `read()` method returns ArrayBuffer.\n    const buffer = new Uint8Array(chunk).buffer;\n    return { value: buffer, done: false };\n  }\n\n  cancel(reason) {\n    // Call `this._error()` method when cancel is called\n    // before _readableStream is set.\n    if (!this._readableStream) {\n      this._error(reason);\n      return;\n    }\n    this._readableStream.destroy(reason);\n  }\n\n  _error(reason) {\n    this._storedError = reason;\n    this._readCapability.resolve();\n  }\n\n  _setReadableStream(readableStream) {\n    this._readableStream = readableStream;\n    readableStream.on(\"readable\", () => {\n      this._readCapability.resolve();\n    });\n\n    readableStream.on(\"end\", () => {\n      // Destroy readable to minimize resource usage.\n      readableStream.destroy();\n      this._done = true;\n      this._readCapability.resolve();\n    });\n\n    readableStream.on(\"error\", reason => {\n      this._error(reason);\n    });\n\n    // We need to stop reading when range is supported and streaming is\n    // disabled.\n    if (!this._isStreamingSupported && this._isRangeSupported) {\n      this._error(new AbortException(\"streaming is disabled\"));\n    }\n\n    // Destroy ReadableStream if already in errored state.\n    if (this._storedError) {\n      this._readableStream.destroy(this._storedError);\n    }\n  }\n}\n\nclass BaseRangeReader {\n  constructor(stream) {\n    this._url = stream.url;\n    this._done = false;\n    this._storedError = null;\n    this.onProgress = null;\n    this._loaded = 0;\n    this._readableStream = null;\n    this._readCapability = createPromiseCapability();\n    const source = stream.source;\n    this._isStreamingSupported = !source.disableStream;\n  }\n\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  }\n\n  async read() {\n    await this._readCapability.promise;\n    if (this._done) {\n      return { value: undefined, done: true };\n    }\n    if (this._storedError) {\n      throw this._storedError;\n    }\n\n    const chunk = this._readableStream.read();\n    if (chunk === null) {\n      this._readCapability = createPromiseCapability();\n      return this.read();\n    }\n    this._loaded += chunk.length;\n    if (this.onProgress) {\n      this.onProgress({ loaded: this._loaded });\n    }\n    // Ensure that `read()` method returns ArrayBuffer.\n    const buffer = new Uint8Array(chunk).buffer;\n    return { value: buffer, done: false };\n  }\n\n  cancel(reason) {\n    // Call `this._error()` method when cancel is called\n    // before _readableStream is set.\n    if (!this._readableStream) {\n      this._error(reason);\n      return;\n    }\n    this._readableStream.destroy(reason);\n  }\n\n  _error(reason) {\n    this._storedError = reason;\n    this._readCapability.resolve();\n  }\n\n  _setReadableStream(readableStream) {\n    this._readableStream = readableStream;\n    readableStream.on(\"readable\", () => {\n      this._readCapability.resolve();\n    });\n\n    readableStream.on(\"end\", () => {\n      // Destroy readableStream to minimize resource usage.\n      readableStream.destroy();\n      this._done = true;\n      this._readCapability.resolve();\n    });\n\n    readableStream.on(\"error\", reason => {\n      this._error(reason);\n    });\n\n    // Destroy readableStream if already in errored state.\n    if (this._storedError) {\n      this._readableStream.destroy(this._storedError);\n    }\n  }\n}\n\nfunction createRequestOptions(url, headers) {\n  return {\n    protocol: url.protocol,\n    auth: url.auth,\n    host: url.hostname,\n    port: url.port,\n    path: url.path,\n    method: \"GET\",\n    headers,\n  };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n  constructor(stream) {\n    super(stream);\n\n    const handleResponse = response => {\n      if (response.statusCode === 404) {\n        const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n        this._storedError = error;\n        this._headersCapability.reject(error);\n        return;\n      }\n      this._headersCapability.resolve();\n      this._setReadableStream(response);\n\n      const getResponseHeader = name => {\n        // Make sure that headers name are in lower case, as mentioned\n        // here: https://nodejs.org/api/http.html#http_message_headers.\n        return this._readableStream.headers[name.toLowerCase()];\n      };\n      const {\n        allowRangeRequests,\n        suggestedLength,\n      } = validateRangeRequestCapabilities({\n        getResponseHeader,\n        isHttp: stream.isHttp,\n        rangeChunkSize: this._rangeChunkSize,\n        disableRange: this._disableRange,\n      });\n\n      this._isRangeSupported = allowRangeRequests;\n      // Setting right content length.\n      this._contentLength = suggestedLength || this._contentLength;\n\n      this._filename = extractFilenameFromHeader(getResponseHeader);\n    };\n\n    this._request = null;\n    if (this._url.protocol === \"http:\") {\n      this._request = http.request(\n        createRequestOptions(this._url, stream.httpHeaders),\n        handleResponse\n      );\n    } else {\n      this._request = https.request(\n        createRequestOptions(this._url, stream.httpHeaders),\n        handleResponse\n      );\n    }\n\n    this._request.on(\"error\", reason => {\n      this._storedError = reason;\n      this._headersCapability.reject(reason);\n    });\n    // Note: `request.end(data)` is used to write `data` to request body\n    // and notify end of request. But one should always call `request.end()`\n    // even if there is no data to write -- (to notify the end of request).\n    this._request.end();\n  }\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n  constructor(stream, start, end) {\n    super(stream);\n\n    this._httpHeaders = {};\n    for (const property in stream.httpHeaders) {\n      const value = stream.httpHeaders[property];\n      if (typeof value === \"undefined\") {\n        continue;\n      }\n      this._httpHeaders[property] = value;\n    }\n    this._httpHeaders[\"Range\"] = `bytes=${start}-${end - 1}`;\n\n    const handleResponse = response => {\n      if (response.statusCode === 404) {\n        const error = new MissingPDFException(`Missing PDF \"${this._url}\".`);\n        this._storedError = error;\n        return;\n      }\n      this._setReadableStream(response);\n    };\n\n    this._request = null;\n    if (this._url.protocol === \"http:\") {\n      this._request = http.request(\n        createRequestOptions(this._url, this._httpHeaders),\n        handleResponse\n      );\n    } else {\n      this._request = https.request(\n        createRequestOptions(this._url, this._httpHeaders),\n        handleResponse\n      );\n    }\n\n    this._request.on(\"error\", reason => {\n      this._storedError = reason;\n    });\n    this._request.end();\n  }\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n  constructor(stream) {\n    super(stream);\n\n    let path = decodeURIComponent(this._url.path);\n\n    // Remove the extra slash to get right path from url like `file:///C:/`\n    if (fileUriRegex.test(this._url.href)) {\n      path = path.replace(/^\\//, \"\");\n    }\n\n    fs.lstat(path, (error, stat) => {\n      if (error) {\n        if (error.code === \"ENOENT\") {\n          error = new MissingPDFException(`Missing PDF \"${path}\".`);\n        }\n        this._storedError = error;\n        this._headersCapability.reject(error);\n        return;\n      }\n      // Setting right content length.\n      this._contentLength = stat.size;\n\n      this._setReadableStream(fs.createReadStream(path));\n      this._headersCapability.resolve();\n    });\n  }\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n  constructor(stream, start, end) {\n    super(stream);\n\n    let path = decodeURIComponent(this._url.path);\n\n    // Remove the extra slash to get right path from url like `file:///C:/`\n    if (fileUriRegex.test(this._url.href)) {\n      path = path.replace(/^\\//, \"\");\n    }\n\n    this._setReadableStream(fs.createReadStream(path, { start, end: end - 1 }));\n  }\n}\n\nexport { PDFNodeStream };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  assert,\n  MissingPDFException,\n  UnexpectedResponseException,\n} from \"../shared/util.js\";\nimport { getFilenameFromContentDispositionHeader } from \"./content_disposition.js\";\n\nfunction validateRangeRequestCapabilities({\n  getResponseHeader,\n  isHttp,\n  rangeChunkSize,\n  disableRange,\n}) {\n  assert(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n  const returnValues = {\n    allowRangeRequests: false,\n    suggestedLength: undefined,\n  };\n\n  const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n  if (!Number.isInteger(length)) {\n    return returnValues;\n  }\n\n  returnValues.suggestedLength = length;\n\n  if (length <= 2 * rangeChunkSize) {\n    // The file size is smaller than the size of two chunks, so it does not\n    // make any sense to abort the request and retry with a range request.\n    return returnValues;\n  }\n\n  if (disableRange || !isHttp) {\n    return returnValues;\n  }\n  if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n    return returnValues;\n  }\n\n  const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n  if (contentEncoding !== \"identity\") {\n    return returnValues;\n  }\n\n  returnValues.allowRangeRequests = true;\n  return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n  const contentDisposition = getResponseHeader(\"Content-Disposition\");\n  if (contentDisposition) {\n    let filename = getFilenameFromContentDispositionHeader(contentDisposition);\n    if (filename.includes(\"%\")) {\n      try {\n        filename = decodeURIComponent(filename);\n      } catch (ex) {}\n    }\n    if (/\\.pdf$/i.test(filename)) {\n      return filename;\n    }\n  }\n  return null;\n}\n\nfunction createResponseStatusError(status, url) {\n  if (status === 404 || (status === 0 && url.startsWith(\"file:\"))) {\n    return new MissingPDFException('Missing PDF \"' + url + '\".');\n  }\n  return new UnexpectedResponseException(\n    \"Unexpected server response (\" +\n      status +\n      ') while retrieving PDF \"' +\n      url +\n      '\".',\n    status\n  );\n}\n\nfunction validateResponseStatus(status) {\n  return status === 200 || status === 206;\n}\n\nexport {\n  createResponseStatusError,\n  extractFilenameFromHeader,\n  validateRangeRequestCapabilities,\n  validateResponseStatus,\n};\n","/* Copyright 2017 Mozilla Foundation\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\n// This getFilenameFromContentDispositionHeader function is adapted from\n// https://github.com/Rob--W/open-in-browser/blob/7e2e35a38b8b4e981b11da7b2f01df0149049e92/extension/content-disposition.js\n// with the following changes:\n// - Modified to conform to PDF.js's coding style.\n// - Support UTF-8 decoding when TextDecoder is unsupported.\n// - Move return to the end of the function to prevent Babel from dropping the\n//   function declarations.\n\n/**\n * Extract file name from the Content-Disposition HTTP response header.\n *\n * @param {string} contentDisposition\n * @returns {string} Filename, if found in the Content-Disposition header.\n */\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n  let needsEncodingFixup = true;\n\n  // filename*=ext-value (\"ext-value\" from RFC 5987, referenced by RFC 6266).\n  let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n  if (tmp) {\n    tmp = tmp[1];\n    let filename = rfc2616unquote(tmp);\n    filename = unescape(filename);\n    filename = rfc5987decode(filename);\n    filename = rfc2047decode(filename);\n    return fixupEncoding(filename);\n  }\n\n  // Continuations (RFC 2231 section 3, referenced by RFC 5987 section 3.1).\n  // filename*n*=part\n  // filename*n=part\n  tmp = rfc2231getparam(contentDisposition);\n  if (tmp) {\n    // RFC 2047, section\n    const filename = rfc2047decode(tmp);\n    return fixupEncoding(filename);\n  }\n\n  // filename=value (RFC 5987, section 4.1).\n  tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n  if (tmp) {\n    tmp = tmp[1];\n    let filename = rfc2616unquote(tmp);\n    filename = rfc2047decode(filename);\n    return fixupEncoding(filename);\n  }\n\n  // After this line there are only function declarations. We cannot put\n  // \"return\" here for readability because babel would then drop the function\n  // declarations...\n  function toParamRegExp(attributePattern, flags) {\n    return new RegExp(\n      \"(?:^|;)\\\\s*\" +\n        attributePattern +\n        \"\\\\s*=\\\\s*\" +\n        // Captures: value = token | quoted-string\n        // (RFC 2616, section 3.6 and referenced by RFC 6266 4.1)\n        \"(\" +\n        '[^\";\\\\s][^;\\\\s]*' +\n        \"|\" +\n        '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' +\n        \")\",\n      flags\n    );\n  }\n  function textdecode(encoding, value) {\n    if (encoding) {\n      if (!/^[\\x00-\\xFF]+$/.test(value)) {\n        return value;\n      }\n      try {\n        const decoder = new TextDecoder(encoding, { fatal: true });\n        const bytes = Array.from(value, function(ch) {\n          return ch.charCodeAt(0) & 0xff;\n        });\n        value = decoder.decode(new Uint8Array(bytes));\n        needsEncodingFixup = false;\n      } catch (e) {\n        // TextDecoder constructor threw - unrecognized encoding.\n        // Or TextDecoder API is not available (in IE / Edge).\n        if (/^utf-?8$/i.test(encoding)) {\n          // UTF-8 is commonly used, try to support it in another way:\n          try {\n            value = decodeURIComponent(escape(value));\n            needsEncodingFixup = false;\n          } catch (err) {}\n        }\n      }\n    }\n    return value;\n  }\n  function fixupEncoding(value) {\n    if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n      // Maybe multi-byte UTF-8.\n      value = textdecode(\"utf-8\", value);\n      if (needsEncodingFixup) {\n        // Try iso-8859-1 encoding.\n        value = textdecode(\"iso-8859-1\", value);\n      }\n    }\n    return value;\n  }\n  function rfc2231getparam(contentDisposition) {\n    const matches = [];\n    let match;\n    // Iterate over all filename*n= and filename*n*= with n being an integer\n    // of at least zero. Any non-zero number must not start with '0'.\n    const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n    while ((match = iter.exec(contentDisposition)) !== null) {\n      let [, n, quot, part] = match; // eslint-disable-line prefer-const\n      n = parseInt(n, 10);\n      if (n in matches) {\n        // Ignore anything after the invalid second filename*0.\n        if (n === 0) {\n          break;\n        }\n        continue;\n      }\n      matches[n] = [quot, part];\n    }\n    const parts = [];\n    for (let n = 0; n < matches.length; ++n) {\n      if (!(n in matches)) {\n        // Numbers must be consecutive. Truncate when there is a hole.\n        break;\n      }\n      let [quot, part] = matches[n]; // eslint-disable-line prefer-const\n      part = rfc2616unquote(part);\n      if (quot) {\n        part = unescape(part);\n        if (n === 0) {\n          part = rfc5987decode(part);\n        }\n      }\n      parts.push(part);\n    }\n    return parts.join(\"\");\n  }\n  function rfc2616unquote(value) {\n    if (value.startsWith('\"')) {\n      const parts = value.slice(1).split('\\\\\"');\n      // Find the first unescaped \" and terminate there.\n      for (let i = 0; i < parts.length; ++i) {\n        const quotindex = parts[i].indexOf('\"');\n        if (quotindex !== -1) {\n          parts[i] = parts[i].slice(0, quotindex);\n          parts.length = i + 1; // Truncates and stop the iteration.\n        }\n        parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n      }\n      value = parts.join('\"');\n    }\n    return value;\n  }\n  function rfc5987decode(extvalue) {\n    // Decodes \"ext-value\" from RFC 5987.\n    const encodingend = extvalue.indexOf(\"'\");\n    if (encodingend === -1) {\n      // Some servers send \"filename*=\" without encoding 'language' prefix,\n      // e.g. in https://github.com/Rob--W/open-in-browser/issues/26\n      // Let's accept the value like Firefox (57) (Chrome 62 rejects it).\n      return extvalue;\n    }\n    const encoding = extvalue.slice(0, encodingend);\n    const langvalue = extvalue.slice(encodingend + 1);\n    // Ignore language (RFC 5987 section 3.2.1, and RFC 6266 section 4.1 ).\n    const value = langvalue.replace(/^[^']*'/, \"\");\n    return textdecode(encoding, value);\n  }\n  function rfc2047decode(value) {\n    // RFC 2047-decode the result. Firefox tried to drop support for it, but\n    // backed out because some servers use it - https://bugzil.la/875615\n    // Firefox's condition for decoding is here: https://searchfox.org/mozilla-central/rev/4a590a5a15e35d88a3b23dd6ac3c471cf85b04a8/netwerk/mime/nsMIMEHeaderParamImpl.cpp#742-748\n\n    // We are more strict and only recognize RFC 2047-encoding if the value\n    // starts with \"=?\", since then it is likely that the full value is\n    // RFC 2047-encoded.\n\n    // Firefox also decodes words even where RFC 2047 section 5 states:\n    // \"An 'encoded-word' MUST NOT appear within a 'quoted-string'.\"\n    if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n      return value;\n    }\n    // RFC 2047, section 2.4\n    // encoded-word = \"=?\" charset \"?\" encoding \"?\" encoded-text \"?=\"\n    // charset = token (but let's restrict to characters that denote a\n    //       possibly valid encoding).\n    // encoding = q or b\n    // encoded-text = any printable ASCII character other than ? or space.\n    //        ... but Firefox permits ? and space.\n    return value.replace(\n      /=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g,\n      function(_, charset, encoding, text) {\n        if (encoding === \"q\" || encoding === \"Q\") {\n          // RFC 2047 section 4.2.\n          text = text.replace(/_/g, \" \");\n          text = text.replace(/=([0-9a-fA-F]{2})/g, function(_, hex) {\n            return String.fromCharCode(parseInt(hex, 16));\n          });\n          return textdecode(charset, text);\n        } // else encoding is b or B - base64 (RFC 2047 section 4.1)\n        try {\n          text = atob(text);\n        } catch (e) {}\n        return textdecode(charset, text);\n      }\n    );\n  }\n\n  return \"\";\n}\n\nexport { getFilenameFromContentDispositionHeader };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  assert,\n  createPromiseCapability,\n  stringToBytes,\n} from \"../shared/util.js\";\nimport {\n  createResponseStatusError,\n  extractFilenameFromHeader,\n  validateRangeRequestCapabilities,\n} from \"./network_utils.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n  throw new Error(\n    'Module \"./network.js\" shall not be used with MOZCENTRAL builds.'\n  );\n}\n\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n  const data = xhr.response;\n  if (typeof data !== \"string\") {\n    return data;\n  }\n  const array = stringToBytes(data);\n  return array.buffer;\n}\n\nclass NetworkManager {\n  constructor(url, args) {\n    this.url = url;\n    args = args || {};\n    this.isHttp = /^https?:/i.test(url);\n    this.httpHeaders = (this.isHttp && args.httpHeaders) || {};\n    this.withCredentials = args.withCredentials || false;\n    this.getXhr =\n      args.getXhr ||\n      function NetworkManager_getXhr() {\n        return new XMLHttpRequest();\n      };\n\n    this.currXhrId = 0;\n    this.pendingRequests = Object.create(null);\n  }\n\n  requestRange(begin, end, listeners) {\n    const args = {\n      begin,\n      end,\n    };\n    for (const prop in listeners) {\n      args[prop] = listeners[prop];\n    }\n    return this.request(args);\n  }\n\n  requestFull(listeners) {\n    return this.request(listeners);\n  }\n\n  request(args) {\n    const xhr = this.getXhr();\n    const xhrId = this.currXhrId++;\n    const pendingRequest = (this.pendingRequests[xhrId] = {\n      xhr,\n    });\n\n    xhr.open(\"GET\", this.url);\n    xhr.withCredentials = this.withCredentials;\n    for (const property in this.httpHeaders) {\n      const value = this.httpHeaders[property];\n      if (typeof value === \"undefined\") {\n        continue;\n      }\n      xhr.setRequestHeader(property, value);\n    }\n    if (this.isHttp && \"begin\" in args && \"end\" in args) {\n      xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n      pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n    } else {\n      pendingRequest.expectedStatus = OK_RESPONSE;\n    }\n    xhr.responseType = \"arraybuffer\";\n\n    if (args.onError) {\n      xhr.onerror = function(evt) {\n        args.onError(xhr.status);\n      };\n    }\n    xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n    xhr.onprogress = this.onProgress.bind(this, xhrId);\n\n    pendingRequest.onHeadersReceived = args.onHeadersReceived;\n    pendingRequest.onDone = args.onDone;\n    pendingRequest.onError = args.onError;\n    pendingRequest.onProgress = args.onProgress;\n\n    xhr.send(null);\n\n    return xhrId;\n  }\n\n  onProgress(xhrId, evt) {\n    const pendingRequest = this.pendingRequests[xhrId];\n    if (!pendingRequest) {\n      // Maybe abortRequest was called...\n      return;\n    }\n\n    if (pendingRequest.onProgress) {\n      pendingRequest.onProgress(evt);\n    }\n  }\n\n  onStateChange(xhrId, evt) {\n    const pendingRequest = this.pendingRequests[xhrId];\n    if (!pendingRequest) {\n      // Maybe abortRequest was called...\n      return;\n    }\n\n    const xhr = pendingRequest.xhr;\n    if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n      pendingRequest.onHeadersReceived();\n      delete pendingRequest.onHeadersReceived;\n    }\n\n    if (xhr.readyState !== 4) {\n      return;\n    }\n\n    if (!(xhrId in this.pendingRequests)) {\n      // The XHR request might have been aborted in onHeadersReceived()\n      // callback, in which case we should abort request.\n      return;\n    }\n\n    delete this.pendingRequests[xhrId];\n\n    // Success status == 0 can be on ftp, file and other protocols.\n    if (xhr.status === 0 && this.isHttp) {\n      if (pendingRequest.onError) {\n        pendingRequest.onError(xhr.status);\n      }\n      return;\n    }\n    const xhrStatus = xhr.status || OK_RESPONSE;\n\n    // From http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2:\n    // \"A server MAY ignore the Range header\". This means it's possible to\n    // get a 200 rather than a 206 response from a range request.\n    const ok_response_on_range_request =\n      xhrStatus === OK_RESPONSE &&\n      pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n    if (\n      !ok_response_on_range_request &&\n      xhrStatus !== pendingRequest.expectedStatus\n    ) {\n      if (pendingRequest.onError) {\n        pendingRequest.onError(xhr.status);\n      }\n      return;\n    }\n\n    const chunk = getArrayBuffer(xhr);\n    if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n      const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n      const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n      pendingRequest.onDone({\n        begin: parseInt(matches[1], 10),\n        chunk,\n      });\n    } else if (chunk) {\n      pendingRequest.onDone({\n        begin: 0,\n        chunk,\n      });\n    } else if (pendingRequest.onError) {\n      pendingRequest.onError(xhr.status);\n    }\n  }\n\n  hasPendingRequests() {\n    for (const xhrId in this.pendingRequests) {\n      return true;\n    }\n    return false;\n  }\n\n  getRequestXhr(xhrId) {\n    return this.pendingRequests[xhrId].xhr;\n  }\n\n  isPendingRequest(xhrId) {\n    return xhrId in this.pendingRequests;\n  }\n\n  abortAllRequests() {\n    for (const xhrId in this.pendingRequests) {\n      this.abortRequest(xhrId | 0);\n    }\n  }\n\n  abortRequest(xhrId) {\n    const xhr = this.pendingRequests[xhrId].xhr;\n    delete this.pendingRequests[xhrId];\n    xhr.abort();\n  }\n}\n\n/** @implements {IPDFStream} */\nclass PDFNetworkStream {\n  constructor(source) {\n    this._source = source;\n    this._manager = new NetworkManager(source.url, {\n      httpHeaders: source.httpHeaders,\n      withCredentials: source.withCredentials,\n    });\n    this._rangeChunkSize = source.rangeChunkSize;\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _onRangeRequestReaderClosed(reader) {\n    const i = this._rangeRequestReaders.indexOf(reader);\n    if (i >= 0) {\n      this._rangeRequestReaders.splice(i, 1);\n    }\n  }\n\n  getFullReader() {\n    assert(!this._fullRequestReader);\n    this._fullRequestReader = new PDFNetworkStreamFullRequestReader(\n      this._manager,\n      this._source\n    );\n    return this._fullRequestReader;\n  }\n\n  getRangeReader(begin, end) {\n    const reader = new PDFNetworkStreamRangeRequestReader(\n      this._manager,\n      begin,\n      end\n    );\n    reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n    this._rangeRequestReaders.push(reader);\n    return reader;\n  }\n\n  cancelAllRequests(reason) {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.cancel(reason);\n    }\n    const readers = this._rangeRequestReaders.slice(0);\n    readers.forEach(function(reader) {\n      reader.cancel(reason);\n    });\n  }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFNetworkStreamFullRequestReader {\n  constructor(manager, source) {\n    this._manager = manager;\n\n    const args = {\n      onHeadersReceived: this._onHeadersReceived.bind(this),\n      onDone: this._onDone.bind(this),\n      onError: this._onError.bind(this),\n      onProgress: this._onProgress.bind(this),\n    };\n    this._url = source.url;\n    this._fullRequestId = manager.requestFull(args);\n    this._headersReceivedCapability = createPromiseCapability();\n    this._disableRange = source.disableRange || false;\n    this._contentLength = source.length; // Optional\n    this._rangeChunkSize = source.rangeChunkSize;\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n\n    this._isStreamingSupported = false;\n    this._isRangeSupported = false;\n\n    this._cachedChunks = [];\n    this._requests = [];\n    this._done = false;\n    this._storedError = undefined;\n    this._filename = null;\n\n    this.onProgress = null;\n  }\n\n  _onHeadersReceived() {\n    const fullRequestXhrId = this._fullRequestId;\n    const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n    const getResponseHeader = name => {\n      return fullRequestXhr.getResponseHeader(name);\n    };\n    const {\n      allowRangeRequests,\n      suggestedLength,\n    } = validateRangeRequestCapabilities({\n      getResponseHeader,\n      isHttp: this._manager.isHttp,\n      rangeChunkSize: this._rangeChunkSize,\n      disableRange: this._disableRange,\n    });\n\n    if (allowRangeRequests) {\n      this._isRangeSupported = true;\n    }\n    // Setting right content length.\n    this._contentLength = suggestedLength || this._contentLength;\n\n    this._filename = extractFilenameFromHeader(getResponseHeader);\n\n    if (this._isRangeSupported) {\n      // NOTE: by cancelling the full request, and then issuing range\n      // requests, there will be an issue for sites where you can only\n      // request the pdf once. However, if this is the case, then the\n      // server should not be returning that it can support range requests.\n      this._manager.abortRequest(fullRequestXhrId);\n    }\n\n    this._headersReceivedCapability.resolve();\n  }\n\n  _onDone(args) {\n    if (args) {\n      if (this._requests.length > 0) {\n        const requestCapability = this._requests.shift();\n        requestCapability.resolve({ value: args.chunk, done: false });\n      } else {\n        this._cachedChunks.push(args.chunk);\n      }\n    }\n    this._done = true;\n    if (this._cachedChunks.length > 0) {\n      return;\n    }\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.resolve({ value: undefined, done: true });\n    });\n    this._requests = [];\n  }\n\n  _onError(status) {\n    const url = this._url;\n    const exception = createResponseStatusError(status, url);\n    this._storedError = exception;\n    this._headersReceivedCapability.reject(exception);\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.reject(exception);\n    });\n    this._requests = [];\n    this._cachedChunks = [];\n  }\n\n  _onProgress(data) {\n    if (this.onProgress) {\n      this.onProgress({\n        loaded: data.loaded,\n        total: data.lengthComputable ? data.total : this._contentLength,\n      });\n    }\n  }\n\n  get filename() {\n    return this._filename;\n  }\n\n  get isRangeSupported() {\n    return this._isRangeSupported;\n  }\n\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  }\n\n  get contentLength() {\n    return this._contentLength;\n  }\n\n  get headersReady() {\n    return this._headersReceivedCapability.promise;\n  }\n\n  async read() {\n    if (this._storedError) {\n      throw this._storedError;\n    }\n    if (this._cachedChunks.length > 0) {\n      const chunk = this._cachedChunks.shift();\n      return { value: chunk, done: false };\n    }\n    if (this._done) {\n      return { value: undefined, done: true };\n    }\n    const requestCapability = createPromiseCapability();\n    this._requests.push(requestCapability);\n    return requestCapability.promise;\n  }\n\n  cancel(reason) {\n    this._done = true;\n    this._headersReceivedCapability.reject(reason);\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.resolve({ value: undefined, done: true });\n    });\n    this._requests = [];\n    if (this._manager.isPendingRequest(this._fullRequestId)) {\n      this._manager.abortRequest(this._fullRequestId);\n    }\n    this._fullRequestReader = null;\n  }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFNetworkStreamRangeRequestReader {\n  constructor(manager, begin, end) {\n    this._manager = manager;\n    const args = {\n      onDone: this._onDone.bind(this),\n      onProgress: this._onProgress.bind(this),\n    };\n    this._requestId = manager.requestRange(begin, end, args);\n    this._requests = [];\n    this._queuedChunk = null;\n    this._done = false;\n\n    this.onProgress = null;\n    this.onClosed = null;\n  }\n\n  _close() {\n    if (this.onClosed) {\n      this.onClosed(this);\n    }\n  }\n\n  _onDone(data) {\n    const chunk = data.chunk;\n    if (this._requests.length > 0) {\n      const requestCapability = this._requests.shift();\n      requestCapability.resolve({ value: chunk, done: false });\n    } else {\n      this._queuedChunk = chunk;\n    }\n    this._done = true;\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.resolve({ value: undefined, done: true });\n    });\n    this._requests = [];\n    this._close();\n  }\n\n  _onProgress(evt) {\n    if (!this.isStreamingSupported && this.onProgress) {\n      this.onProgress({\n        loaded: evt.loaded,\n      });\n    }\n  }\n\n  get isStreamingSupported() {\n    return false;\n  }\n\n  async read() {\n    if (this._queuedChunk !== null) {\n      const chunk = this._queuedChunk;\n      this._queuedChunk = null;\n      return { value: chunk, done: false };\n    }\n    if (this._done) {\n      return { value: undefined, done: true };\n    }\n    const requestCapability = createPromiseCapability();\n    this._requests.push(requestCapability);\n    return requestCapability.promise;\n  }\n\n  cancel(reason) {\n    this._done = true;\n    this._requests.forEach(function(requestCapability) {\n      requestCapability.resolve({ value: undefined, done: true });\n    });\n    this._requests = [];\n    if (this._manager.isPendingRequest(this._requestId)) {\n      this._manager.abortRequest(this._requestId);\n    }\n    this._close();\n  }\n}\n\nexport { PDFNetworkStream };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  AbortException,\n  assert,\n  createPromiseCapability,\n} from \"../shared/util.js\";\nimport {\n  createResponseStatusError,\n  extractFilenameFromHeader,\n  validateRangeRequestCapabilities,\n  validateResponseStatus,\n} from \"./network_utils.js\";\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n  return {\n    method: \"GET\",\n    headers,\n    signal: abortController && abortController.signal,\n    mode: \"cors\",\n    credentials: withCredentials ? \"include\" : \"same-origin\",\n    redirect: \"follow\",\n  };\n}\n\nfunction createHeaders(httpHeaders) {\n  const headers = new Headers();\n  for (const property in httpHeaders) {\n    const value = httpHeaders[property];\n    if (typeof value === \"undefined\") {\n      continue;\n    }\n    headers.append(property, value);\n  }\n  return headers;\n}\n\n/** @implements {IPDFStream} */\nclass PDFFetchStream {\n  constructor(source) {\n    this.source = source;\n    this.isHttp = /^https?:/i.test(source.url);\n    this.httpHeaders = (this.isHttp && source.httpHeaders) || {};\n\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  get _progressiveDataLength() {\n    return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n  }\n\n  getFullReader() {\n    assert(!this._fullRequestReader);\n    this._fullRequestReader = new PDFFetchStreamReader(this);\n    return this._fullRequestReader;\n  }\n\n  getRangeReader(begin, end) {\n    if (end <= this._progressiveDataLength) {\n      return null;\n    }\n    const reader = new PDFFetchStreamRangeReader(this, begin, end);\n    this._rangeRequestReaders.push(reader);\n    return reader;\n  }\n\n  cancelAllRequests(reason) {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.cancel(reason);\n    }\n    const readers = this._rangeRequestReaders.slice(0);\n    readers.forEach(function(reader) {\n      reader.cancel(reason);\n    });\n  }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFFetchStreamReader {\n  constructor(stream) {\n    this._stream = stream;\n    this._reader = null;\n    this._loaded = 0;\n    this._filename = null;\n    const source = stream.source;\n    this._withCredentials = source.withCredentials || false;\n    this._contentLength = source.length;\n    this._headersCapability = createPromiseCapability();\n    this._disableRange = source.disableRange || false;\n    this._rangeChunkSize = source.rangeChunkSize;\n    if (!this._rangeChunkSize && !this._disableRange) {\n      this._disableRange = true;\n    }\n\n    if (typeof AbortController !== \"undefined\") {\n      this._abortController = new AbortController();\n    }\n    this._isStreamingSupported = !source.disableStream;\n    this._isRangeSupported = !source.disableRange;\n\n    this._headers = createHeaders(this._stream.httpHeaders);\n\n    const url = source.url;\n    fetch(\n      url,\n      createFetchOptions(\n        this._headers,\n        this._withCredentials,\n        this._abortController\n      )\n    )\n      .then(response => {\n        if (!validateResponseStatus(response.status)) {\n          throw createResponseStatusError(response.status, url);\n        }\n        this._reader = response.body.getReader();\n        this._headersCapability.resolve();\n\n        const getResponseHeader = name => {\n          return response.headers.get(name);\n        };\n        const {\n          allowRangeRequests,\n          suggestedLength,\n        } = validateRangeRequestCapabilities({\n          getResponseHeader,\n          isHttp: this._stream.isHttp,\n          rangeChunkSize: this._rangeChunkSize,\n          disableRange: this._disableRange,\n        });\n\n        this._isRangeSupported = allowRangeRequests;\n        // Setting right content length.\n        this._contentLength = suggestedLength || this._contentLength;\n\n        this._filename = extractFilenameFromHeader(getResponseHeader);\n\n        // We need to stop reading when range is supported and streaming is\n        // disabled.\n        if (!this._isStreamingSupported && this._isRangeSupported) {\n          this.cancel(new AbortException(\"Streaming is disabled.\"));\n        }\n      })\n      .catch(this._headersCapability.reject);\n\n    this.onProgress = null;\n  }\n\n  get headersReady() {\n    return this._headersCapability.promise;\n  }\n\n  get filename() {\n    return this._filename;\n  }\n\n  get contentLength() {\n    return this._contentLength;\n  }\n\n  get isRangeSupported() {\n    return this._isRangeSupported;\n  }\n\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  }\n\n  async read() {\n    await this._headersCapability.promise;\n    const { value, done } = await this._reader.read();\n    if (done) {\n      return { value, done };\n    }\n    this._loaded += value.byteLength;\n    if (this.onProgress) {\n      this.onProgress({\n        loaded: this._loaded,\n        total: this._contentLength,\n      });\n    }\n    const buffer = new Uint8Array(value).buffer;\n    return { value: buffer, done: false };\n  }\n\n  cancel(reason) {\n    if (this._reader) {\n      this._reader.cancel(reason);\n    }\n    if (this._abortController) {\n      this._abortController.abort();\n    }\n  }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFFetchStreamRangeReader {\n  constructor(stream, begin, end) {\n    this._stream = stream;\n    this._reader = null;\n    this._loaded = 0;\n    const source = stream.source;\n    this._withCredentials = source.withCredentials || false;\n    this._readCapability = createPromiseCapability();\n    this._isStreamingSupported = !source.disableStream;\n\n    if (typeof AbortController !== \"undefined\") {\n      this._abortController = new AbortController();\n    }\n\n    this._headers = createHeaders(this._stream.httpHeaders);\n    this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n    const url = source.url;\n    fetch(\n      url,\n      createFetchOptions(\n        this._headers,\n        this._withCredentials,\n        this._abortController\n      )\n    ).then(response => {\n      if (!validateResponseStatus(response.status)) {\n        throw createResponseStatusError(response.status, url);\n      }\n      this._readCapability.resolve();\n      this._reader = response.body.getReader();\n    });\n\n    this.onProgress = null;\n  }\n\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  }\n\n  async read() {\n    await this._readCapability.promise;\n    const { value, done } = await this._reader.read();\n    if (done) {\n      return { value, done };\n    }\n    this._loaded += value.byteLength;\n    if (this.onProgress) {\n      this.onProgress({ loaded: this._loaded });\n    }\n    const buffer = new Uint8Array(value).buffer;\n    return { value: buffer, done: false };\n  }\n\n  cancel(reason) {\n    if (this._reader) {\n      this._reader.cancel(reason);\n    }\n    if (this._abortController) {\n      this._abortController.abort();\n    }\n  }\n}\n\nexport { PDFFetchStream };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/build/pdf.worker.js b/server/target/classes/static/pdfjs/build/pdf.worker.js
deleted file mode 100644
index 4e6c80e..0000000
--- a/server/target/classes/static/pdfjs/build/pdf.worker.js
+++ /dev/null
@@ -1,57878 +0,0 @@
-/**
- * @licstart The following is the entire license notice for the
- * Javascript code in this page
- *
- * Copyright 2020 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @licend The above is the entire license notice for the
- * Javascript code in this page
- */
-
-(function webpackUniversalModuleDefinition(root, factory) {
-	if(typeof exports === 'object' && typeof module === 'object')
-		module.exports = factory();
-	else if(typeof define === 'function' && define.amd)
-		define("pdfjs-dist/build/pdf.worker", [], factory);
-	else if(typeof exports === 'object')
-		exports["pdfjs-dist/build/pdf.worker"] = factory();
-	else
-		root["pdfjs-dist/build/pdf.worker"] = root.pdfjsWorker = factory();
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __w_pdfjs_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__w_pdfjs_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__w_pdfjs_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__w_pdfjs_require__.d = function(exports, name, getter) {
-/******/ 		if(!__w_pdfjs_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__w_pdfjs_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__w_pdfjs_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __w_pdfjs_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__w_pdfjs_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__w_pdfjs_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__w_pdfjs_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__w_pdfjs_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-var pdfjsVersion = '2.4.456';
-var pdfjsBuild = '228a591c';
-
-var pdfjsCoreWorker = __w_pdfjs_require__(1);
-
-exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.WorkerMessageHandler = exports.WorkerTask = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _pdf_manager = __w_pdfjs_require__(195);
-
-var _is_node = __w_pdfjs_require__(52);
-
-var _message_handler = __w_pdfjs_require__(234);
-
-var _worker_stream = __w_pdfjs_require__(235);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-var WorkerTask = function WorkerTaskClosure() {
-  function WorkerTask(name) {
-    this.name = name;
-    this.terminated = false;
-    this._capability = (0, _util.createPromiseCapability)();
-  }
-
-  WorkerTask.prototype = {
-    get finished() {
-      return this._capability.promise;
-    },
-
-    finish: function finish() {
-      this._capability.resolve();
-    },
-    terminate: function terminate() {
-      this.terminated = true;
-    },
-    ensureNotTerminated: function ensureNotTerminated() {
-      if (this.terminated) {
-        throw new Error("Worker task was terminated");
-      }
-    }
-  };
-  return WorkerTask;
-}();
-
-exports.WorkerTask = WorkerTask;
-var WorkerMessageHandler = {
-  setup: function setup(handler, port) {
-    var testMessageProcessed = false;
-    handler.on("test", function wphSetupTest(data) {
-      if (testMessageProcessed) {
-        return;
-      }
-
-      testMessageProcessed = true;
-
-      if (!(data instanceof Uint8Array)) {
-        handler.send("test", null);
-        return;
-      }
-
-      var supportTransfers = data[0] === 255;
-      handler.postMessageTransfers = supportTransfers;
-      handler.send("test", {
-        supportTransfers: supportTransfers
-      });
-    });
-    handler.on("configure", function wphConfigure(data) {
-      (0, _util.setVerbosityLevel)(data.verbosity);
-    });
-    handler.on("GetDocRequest", function wphSetupDoc(data) {
-      return WorkerMessageHandler.createDocumentHandler(data, port);
-    });
-  },
-  createDocumentHandler: function createDocumentHandler(docParams, port) {
-    var pdfManager;
-    var terminated = false;
-    var cancelXHRs = null;
-    var WorkerTasks = [];
-    var verbosity = (0, _util.getVerbosityLevel)();
-    var apiVersion = docParams.apiVersion;
-    var workerVersion = '2.4.456';
-
-    if (apiVersion !== workerVersion) {
-      throw new Error("The API version \"".concat(apiVersion, "\" does not match ") + "the Worker version \"".concat(workerVersion, "\"."));
-    }
-
-    var enumerableProperties = [];
-
-    for (var property in []) {
-      enumerableProperties.push(property);
-    }
-
-    if (enumerableProperties.length) {
-      throw new Error("The `Array.prototype` contains unexpected enumerable properties: " + enumerableProperties.join(", ") + "; thus breaking e.g. `for...in` iteration of `Array`s.");
-    }
-
-    var docId = docParams.docId;
-    var docBaseUrl = docParams.docBaseUrl;
-    var workerHandlerName = docParams.docId + "_worker";
-    var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);
-    handler.postMessageTransfers = docParams.postMessageTransfers;
-
-    function ensureNotTerminated() {
-      if (terminated) {
-        throw new Error("Worker was terminated");
-      }
-    }
-
-    function startWorkerTask(task) {
-      WorkerTasks.push(task);
-    }
-
-    function finishWorkerTask(task) {
-      task.finish();
-      var i = WorkerTasks.indexOf(task);
-      WorkerTasks.splice(i, 1);
-    }
-
-    function loadDocument(_x) {
-      return _loadDocument.apply(this, arguments);
-    }
-
-    function _loadDocument() {
-      _loadDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(recoveryMode) {
-        var _ref4, _ref5, numPages, fingerprint;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return pdfManager.ensureDoc("checkHeader");
-
-              case 2:
-                _context.next = 4;
-                return pdfManager.ensureDoc("parseStartXRef");
-
-              case 4:
-                _context.next = 6;
-                return pdfManager.ensureDoc("parse", [recoveryMode]);
-
-              case 6:
-                if (recoveryMode) {
-                  _context.next = 9;
-                  break;
-                }
-
-                _context.next = 9;
-                return pdfManager.ensureDoc("checkFirstPage");
-
-              case 9:
-                _context.next = 11;
-                return Promise.all([pdfManager.ensureDoc("numPages"), pdfManager.ensureDoc("fingerprint")]);
-
-              case 11:
-                _ref4 = _context.sent;
-                _ref5 = _slicedToArray(_ref4, 2);
-                numPages = _ref5[0];
-                fingerprint = _ref5[1];
-                return _context.abrupt("return", {
-                  numPages: numPages,
-                  fingerprint: fingerprint
-                });
-
-              case 16:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-      return _loadDocument.apply(this, arguments);
-    }
-
-    function getPdfManager(data, evaluatorOptions) {
-      var pdfManagerCapability = (0, _util.createPromiseCapability)();
-      var pdfManager;
-      var source = data.source;
-
-      if (source.data) {
-        try {
-          pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);
-          pdfManagerCapability.resolve(pdfManager);
-        } catch (ex) {
-          pdfManagerCapability.reject(ex);
-        }
-
-        return pdfManagerCapability.promise;
-      }
-
-      var pdfStream,
-          cachedChunks = [];
-
-      try {
-        pdfStream = new _worker_stream.PDFWorkerStream(handler);
-      } catch (ex) {
-        pdfManagerCapability.reject(ex);
-        return pdfManagerCapability.promise;
-      }
-
-      var fullRequest = pdfStream.getFullReader();
-      fullRequest.headersReady.then(function () {
-        if (!fullRequest.isRangeSupported) {
-          return;
-        }
-
-        var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;
-        pdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {
-          msgHandler: handler,
-          password: source.password,
-          length: fullRequest.contentLength,
-          disableAutoFetch: disableAutoFetch,
-          rangeChunkSize: source.rangeChunkSize
-        }, evaluatorOptions, docBaseUrl);
-
-        for (var i = 0; i < cachedChunks.length; i++) {
-          pdfManager.sendProgressiveData(cachedChunks[i]);
-        }
-
-        cachedChunks = [];
-        pdfManagerCapability.resolve(pdfManager);
-        cancelXHRs = null;
-      })["catch"](function (reason) {
-        pdfManagerCapability.reject(reason);
-        cancelXHRs = null;
-      });
-      var loaded = 0;
-
-      var flushChunks = function flushChunks() {
-        var pdfFile = (0, _util.arraysToBytes)(cachedChunks);
-
-        if (source.length && pdfFile.length !== source.length) {
-          (0, _util.warn)("reported HTTP length is different from actual");
-        }
-
-        try {
-          pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);
-          pdfManagerCapability.resolve(pdfManager);
-        } catch (ex) {
-          pdfManagerCapability.reject(ex);
-        }
-
-        cachedChunks = [];
-      };
-
-      var readPromise = new Promise(function (resolve, reject) {
-        var readChunk = function readChunk(chunk) {
-          try {
-            ensureNotTerminated();
-
-            if (chunk.done) {
-              if (!pdfManager) {
-                flushChunks();
-              }
-
-              cancelXHRs = null;
-              return;
-            }
-
-            var data = chunk.value;
-            loaded += (0, _util.arrayByteLength)(data);
-
-            if (!fullRequest.isStreamingSupported) {
-              handler.send("DocProgress", {
-                loaded: loaded,
-                total: Math.max(loaded, fullRequest.contentLength || 0)
-              });
-            }
-
-            if (pdfManager) {
-              pdfManager.sendProgressiveData(data);
-            } else {
-              cachedChunks.push(data);
-            }
-
-            fullRequest.read().then(readChunk, reject);
-          } catch (e) {
-            reject(e);
-          }
-        };
-
-        fullRequest.read().then(readChunk, reject);
-      });
-      readPromise["catch"](function (e) {
-        pdfManagerCapability.reject(e);
-        cancelXHRs = null;
-      });
-
-      cancelXHRs = function cancelXHRs(reason) {
-        pdfStream.cancelAllRequests(reason);
-      };
-
-      return pdfManagerCapability.promise;
-    }
-
-    function setupDoc(data) {
-      function onSuccess(doc) {
-        ensureNotTerminated();
-        handler.send("GetDoc", {
-          pdfInfo: doc
-        });
-      }
-
-      function onFailure(ex) {
-        ensureNotTerminated();
-
-        if (ex instanceof _util.PasswordException) {
-          var task = new WorkerTask("PasswordException: response ".concat(ex.code));
-          startWorkerTask(task);
-          handler.sendWithPromise("PasswordRequest", ex).then(function (data) {
-            finishWorkerTask(task);
-            pdfManager.updatePassword(data.password);
-            pdfManagerReady();
-          })["catch"](function () {
-            finishWorkerTask(task);
-            handler.send("DocException", ex);
-          });
-        } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {
-          handler.send("DocException", ex);
-        } else {
-          handler.send("DocException", new _util.UnknownErrorException(ex.message, ex.toString()));
-        }
-      }
-
-      function pdfManagerReady() {
-        ensureNotTerminated();
-        loadDocument(false).then(onSuccess, function loadFailure(ex) {
-          ensureNotTerminated();
-
-          if (!(ex instanceof _core_utils.XRefParseException)) {
-            onFailure(ex);
-            return;
-          }
-
-          pdfManager.requestLoadedStream();
-          pdfManager.onLoadedStream().then(function () {
-            ensureNotTerminated();
-            loadDocument(true).then(onSuccess, onFailure);
-          });
-        }, onFailure);
-      }
-
-      ensureNotTerminated();
-      var evaluatorOptions = {
-        forceDataSchema: data.disableCreateObjectURL,
-        maxImageSize: data.maxImageSize,
-        disableFontFace: data.disableFontFace,
-        nativeImageDecoderSupport: data.nativeImageDecoderSupport,
-        ignoreErrors: data.ignoreErrors,
-        isEvalSupported: data.isEvalSupported
-      };
-      getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {
-        if (terminated) {
-          newPdfManager.terminate(new _util.AbortException("Worker was terminated."));
-          throw new Error("Worker was terminated");
-        }
-
-        pdfManager = newPdfManager;
-        pdfManager.onLoadedStream().then(function (stream) {
-          handler.send("DataLoaded", {
-            length: stream.bytes.byteLength
-          });
-        });
-      }).then(pdfManagerReady, onFailure);
-    }
-
-    handler.on("GetPage", function wphSetupGetPage(data) {
-      return pdfManager.getPage(data.pageIndex).then(function (page) {
-        return Promise.all([pdfManager.ensure(page, "rotate"), pdfManager.ensure(page, "ref"), pdfManager.ensure(page, "userUnit"), pdfManager.ensure(page, "view")]).then(function (_ref) {
-          var _ref2 = _slicedToArray(_ref, 4),
-              rotate = _ref2[0],
-              ref = _ref2[1],
-              userUnit = _ref2[2],
-              view = _ref2[3];
-
-          return {
-            rotate: rotate,
-            ref: ref,
-            userUnit: userUnit,
-            view: view
-          };
-        });
-      });
-    });
-    handler.on("GetPageIndex", function wphSetupGetPageIndex(data) {
-      var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);
-
-      var catalog = pdfManager.pdfDocument.catalog;
-      return catalog.getPageIndex(ref);
-    });
-    handler.on("GetDestinations", function wphSetupGetDestinations(data) {
-      return pdfManager.ensureCatalog("destinations");
-    });
-    handler.on("GetDestination", function wphSetupGetDestination(data) {
-      return pdfManager.ensureCatalog("getDestination", [data.id]);
-    });
-    handler.on("GetPageLabels", function wphSetupGetPageLabels(data) {
-      return pdfManager.ensureCatalog("pageLabels");
-    });
-    handler.on("GetPageLayout", function wphSetupGetPageLayout(data) {
-      return pdfManager.ensureCatalog("pageLayout");
-    });
-    handler.on("GetPageMode", function wphSetupGetPageMode(data) {
-      return pdfManager.ensureCatalog("pageMode");
-    });
-    handler.on("GetViewerPreferences", function (data) {
-      return pdfManager.ensureCatalog("viewerPreferences");
-    });
-    handler.on("GetOpenAction", function (data) {
-      return pdfManager.ensureCatalog("openAction");
-    });
-    handler.on("GetAttachments", function wphSetupGetAttachments(data) {
-      return pdfManager.ensureCatalog("attachments");
-    });
-    handler.on("GetJavaScript", function wphSetupGetJavaScript(data) {
-      return pdfManager.ensureCatalog("javaScript");
-    });
-    handler.on("GetOutline", function wphSetupGetOutline(data) {
-      return pdfManager.ensureCatalog("documentOutline");
-    });
-    handler.on("GetPermissions", function (data) {
-      return pdfManager.ensureCatalog("permissions");
-    });
-    handler.on("GetMetadata", function wphSetupGetMetadata(data) {
-      return Promise.all([pdfManager.ensureDoc("documentInfo"), pdfManager.ensureCatalog("metadata")]);
-    });
-    handler.on("GetData", function wphSetupGetData(data) {
-      pdfManager.requestLoadedStream();
-      return pdfManager.onLoadedStream().then(function (stream) {
-        return stream.bytes;
-      });
-    });
-    handler.on("GetStats", function wphSetupGetStats(data) {
-      return pdfManager.pdfDocument.xref.stats;
-    });
-    handler.on("GetAnnotations", function (_ref3) {
-      var pageIndex = _ref3.pageIndex,
-          intent = _ref3.intent;
-      return pdfManager.getPage(pageIndex).then(function (page) {
-        return page.getAnnotationsData(intent);
-      });
-    });
-    handler.on("GetOperatorList", function wphSetupRenderPage(data, sink) {
-      var pageIndex = data.pageIndex;
-      pdfManager.getPage(pageIndex).then(function (page) {
-        var task = new WorkerTask("GetOperatorList: page ".concat(pageIndex));
-        startWorkerTask(task);
-        var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
-        page.getOperatorList({
-          handler: handler,
-          sink: sink,
-          task: task,
-          intent: data.intent,
-          renderInteractiveForms: data.renderInteractiveForms
-        }).then(function (operatorListInfo) {
-          finishWorkerTask(task);
-
-          if (start) {
-            (0, _util.info)("page=".concat(pageIndex + 1, " - getOperatorList: time=") + "".concat(Date.now() - start, "ms, len=").concat(operatorListInfo.length));
-          }
-
-          sink.close();
-        }, function (reason) {
-          finishWorkerTask(task);
-
-          if (task.terminated) {
-            return;
-          }
-
-          handler.send("UnsupportedFeature", {
-            featureId: _util.UNSUPPORTED_FEATURES.unknown
-          });
-          sink.error(reason);
-        });
-      });
-    }, this);
-    handler.on("GetTextContent", function wphExtractText(data, sink) {
-      var pageIndex = data.pageIndex;
-
-      sink.onPull = function (desiredSize) {};
-
-      sink.onCancel = function (reason) {};
-
-      pdfManager.getPage(pageIndex).then(function (page) {
-        var task = new WorkerTask("GetTextContent: page " + pageIndex);
-        startWorkerTask(task);
-        var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;
-        page.extractTextContent({
-          handler: handler,
-          task: task,
-          sink: sink,
-          normalizeWhitespace: data.normalizeWhitespace,
-          combineTextItems: data.combineTextItems
-        }).then(function () {
-          finishWorkerTask(task);
-
-          if (start) {
-            (0, _util.info)("page=".concat(pageIndex + 1, " - getTextContent: time=") + "".concat(Date.now() - start, "ms"));
-          }
-
-          sink.close();
-        }, function (reason) {
-          finishWorkerTask(task);
-
-          if (task.terminated) {
-            return;
-          }
-
-          sink.error(reason);
-        });
-      });
-    });
-    handler.on("FontFallback", function (data) {
-      return pdfManager.fontFallback(data.id, handler);
-    });
-    handler.on("Cleanup", function wphCleanup(data) {
-      return pdfManager.cleanup();
-    });
-    handler.on("Terminate", function wphTerminate(data) {
-      terminated = true;
-      var waitOn = [];
-
-      if (pdfManager) {
-        pdfManager.terminate(new _util.AbortException("Worker was terminated."));
-        var cleanupPromise = pdfManager.cleanup();
-        waitOn.push(cleanupPromise);
-        pdfManager = null;
-      } else {
-        (0, _primitives.clearPrimitiveCaches)();
-      }
-
-      if (cancelXHRs) {
-        cancelXHRs(new _util.AbortException("Worker was terminated."));
-      }
-
-      WorkerTasks.forEach(function (task) {
-        waitOn.push(task.finished);
-        task.terminate();
-      });
-      return Promise.all(waitOn).then(function () {
-        handler.destroy();
-        handler = null;
-      });
-    });
-    handler.on("Ready", function wphReady(data) {
-      setupDoc(docParams);
-      docParams = null;
-    });
-    return workerHandlerName;
-  },
-  initializeFromPort: function initializeFromPort(port) {
-    var handler = new _message_handler.MessageHandler("worker", "main", port);
-    WorkerMessageHandler.setup(handler, port);
-    handler.send("ready", null);
-  }
-};
-exports.WorkerMessageHandler = WorkerMessageHandler;
-
-function isMessagePort(maybePort) {
-  return typeof maybePort.postMessage === "function" && "onmessage" in maybePort;
-}
-
-if (typeof window === "undefined" && !_is_node.isNodeJS && typeof self !== "undefined" && isMessagePort(self)) {
-  WorkerMessageHandler.initializeFromPort(self);
-}
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = __w_pdfjs_require__(3);
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var runtime = function (exports) {
-  "use strict";
-
-  var Op = Object.prototype;
-  var hasOwn = Op.hasOwnProperty;
-  var undefined;
-  var $Symbol = typeof Symbol === "function" ? Symbol : {};
-  var iteratorSymbol = $Symbol.iterator || "@@iterator";
-  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
-  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
-  function wrap(innerFn, outerFn, self, tryLocsList) {
-    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
-    var generator = Object.create(protoGenerator.prototype);
-    var context = new Context(tryLocsList || []);
-    generator._invoke = makeInvokeMethod(innerFn, self, context);
-    return generator;
-  }
-
-  exports.wrap = wrap;
-
-  function tryCatch(fn, obj, arg) {
-    try {
-      return {
-        type: "normal",
-        arg: fn.call(obj, arg)
-      };
-    } catch (err) {
-      return {
-        type: "throw",
-        arg: err
-      };
-    }
-  }
-
-  var GenStateSuspendedStart = "suspendedStart";
-  var GenStateSuspendedYield = "suspendedYield";
-  var GenStateExecuting = "executing";
-  var GenStateCompleted = "completed";
-  var ContinueSentinel = {};
-
-  function Generator() {}
-
-  function GeneratorFunction() {}
-
-  function GeneratorFunctionPrototype() {}
-
-  var IteratorPrototype = {};
-
-  IteratorPrototype[iteratorSymbol] = function () {
-    return this;
-  };
-
-  var getProto = Object.getPrototypeOf;
-  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-
-  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
-    IteratorPrototype = NativeIteratorPrototype;
-  }
-
-  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
-  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
-  GeneratorFunctionPrototype.constructor = GeneratorFunction;
-  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
-
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function (method) {
-      prototype[method] = function (arg) {
-        return this._invoke(method, arg);
-      };
-    });
-  }
-
-  exports.isGeneratorFunction = function (genFun) {
-    var ctor = typeof genFun === "function" && genFun.constructor;
-    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
-  };
-
-  exports.mark = function (genFun) {
-    if (Object.setPrototypeOf) {
-      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
-    } else {
-      genFun.__proto__ = GeneratorFunctionPrototype;
-
-      if (!(toStringTagSymbol in genFun)) {
-        genFun[toStringTagSymbol] = "GeneratorFunction";
-      }
-    }
-
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
-
-  exports.awrap = function (arg) {
-    return {
-      __await: arg
-    };
-  };
-
-  function AsyncIterator(generator, PromiseImpl) {
-    function invoke(method, arg, resolve, reject) {
-      var record = tryCatch(generator[method], generator, arg);
-
-      if (record.type === "throw") {
-        reject(record.arg);
-      } else {
-        var result = record.arg;
-        var value = result.value;
-
-        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
-          return PromiseImpl.resolve(value.__await).then(function (value) {
-            invoke("next", value, resolve, reject);
-          }, function (err) {
-            invoke("throw", err, resolve, reject);
-          });
-        }
-
-        return PromiseImpl.resolve(value).then(function (unwrapped) {
-          result.value = unwrapped;
-          resolve(result);
-        }, function (error) {
-          return invoke("throw", error, resolve, reject);
-        });
-      }
-    }
-
-    var previousPromise;
-
-    function enqueue(method, arg) {
-      function callInvokeWithMethodAndArg() {
-        return new PromiseImpl(function (resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
-      }
-
-      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
-    }
-
-    this._invoke = enqueue;
-  }
-
-  defineIteratorMethods(AsyncIterator.prototype);
-
-  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
-    return this;
-  };
-
-  exports.AsyncIterator = AsyncIterator;
-
-  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
-    if (PromiseImpl === void 0) PromiseImpl = Promise;
-    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
-    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
-      return result.done ? result.value : iter.next();
-    });
-  };
-
-  function makeInvokeMethod(innerFn, self, context) {
-    var state = GenStateSuspendedStart;
-    return function invoke(method, arg) {
-      if (state === GenStateExecuting) {
-        throw new Error("Generator is already running");
-      }
-
-      if (state === GenStateCompleted) {
-        if (method === "throw") {
-          throw arg;
-        }
-
-        return doneResult();
-      }
-
-      context.method = method;
-      context.arg = arg;
-
-      while (true) {
-        var delegate = context.delegate;
-
-        if (delegate) {
-          var delegateResult = maybeInvokeDelegate(delegate, context);
-
-          if (delegateResult) {
-            if (delegateResult === ContinueSentinel) continue;
-            return delegateResult;
-          }
-        }
-
-        if (context.method === "next") {
-          context.sent = context._sent = context.arg;
-        } else if (context.method === "throw") {
-          if (state === GenStateSuspendedStart) {
-            state = GenStateCompleted;
-            throw context.arg;
-          }
-
-          context.dispatchException(context.arg);
-        } else if (context.method === "return") {
-          context.abrupt("return", context.arg);
-        }
-
-        state = GenStateExecuting;
-        var record = tryCatch(innerFn, self, context);
-
-        if (record.type === "normal") {
-          state = context.done ? GenStateCompleted : GenStateSuspendedYield;
-
-          if (record.arg === ContinueSentinel) {
-            continue;
-          }
-
-          return {
-            value: record.arg,
-            done: context.done
-          };
-        } else if (record.type === "throw") {
-          state = GenStateCompleted;
-          context.method = "throw";
-          context.arg = record.arg;
-        }
-      }
-    };
-  }
-
-  function maybeInvokeDelegate(delegate, context) {
-    var method = delegate.iterator[context.method];
-
-    if (method === undefined) {
-      context.delegate = null;
-
-      if (context.method === "throw") {
-        if (delegate.iterator["return"]) {
-          context.method = "return";
-          context.arg = undefined;
-          maybeInvokeDelegate(delegate, context);
-
-          if (context.method === "throw") {
-            return ContinueSentinel;
-          }
-        }
-
-        context.method = "throw";
-        context.arg = new TypeError("The iterator does not provide a 'throw' method");
-      }
-
-      return ContinueSentinel;
-    }
-
-    var record = tryCatch(method, delegate.iterator, context.arg);
-
-    if (record.type === "throw") {
-      context.method = "throw";
-      context.arg = record.arg;
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    var info = record.arg;
-
-    if (!info) {
-      context.method = "throw";
-      context.arg = new TypeError("iterator result is not an object");
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    if (info.done) {
-      context[delegate.resultName] = info.value;
-      context.next = delegate.nextLoc;
-
-      if (context.method !== "return") {
-        context.method = "next";
-        context.arg = undefined;
-      }
-    } else {
-      return info;
-    }
-
-    context.delegate = null;
-    return ContinueSentinel;
-  }
-
-  defineIteratorMethods(Gp);
-  Gp[toStringTagSymbol] = "Generator";
-
-  Gp[iteratorSymbol] = function () {
-    return this;
-  };
-
-  Gp.toString = function () {
-    return "[object Generator]";
-  };
-
-  function pushTryEntry(locs) {
-    var entry = {
-      tryLoc: locs[0]
-    };
-
-    if (1 in locs) {
-      entry.catchLoc = locs[1];
-    }
-
-    if (2 in locs) {
-      entry.finallyLoc = locs[2];
-      entry.afterLoc = locs[3];
-    }
-
-    this.tryEntries.push(entry);
-  }
-
-  function resetTryEntry(entry) {
-    var record = entry.completion || {};
-    record.type = "normal";
-    delete record.arg;
-    entry.completion = record;
-  }
-
-  function Context(tryLocsList) {
-    this.tryEntries = [{
-      tryLoc: "root"
-    }];
-    tryLocsList.forEach(pushTryEntry, this);
-    this.reset(true);
-  }
-
-  exports.keys = function (object) {
-    var keys = [];
-
-    for (var key in object) {
-      keys.push(key);
-    }
-
-    keys.reverse();
-    return function next() {
-      while (keys.length) {
-        var key = keys.pop();
-
-        if (key in object) {
-          next.value = key;
-          next.done = false;
-          return next;
-        }
-      }
-
-      next.done = true;
-      return next;
-    };
-  };
-
-  function values(iterable) {
-    if (iterable) {
-      var iteratorMethod = iterable[iteratorSymbol];
-
-      if (iteratorMethod) {
-        return iteratorMethod.call(iterable);
-      }
-
-      if (typeof iterable.next === "function") {
-        return iterable;
-      }
-
-      if (!isNaN(iterable.length)) {
-        var i = -1,
-            next = function next() {
-          while (++i < iterable.length) {
-            if (hasOwn.call(iterable, i)) {
-              next.value = iterable[i];
-              next.done = false;
-              return next;
-            }
-          }
-
-          next.value = undefined;
-          next.done = true;
-          return next;
-        };
-
-        return next.next = next;
-      }
-    }
-
-    return {
-      next: doneResult
-    };
-  }
-
-  exports.values = values;
-
-  function doneResult() {
-    return {
-      value: undefined,
-      done: true
-    };
-  }
-
-  Context.prototype = {
-    constructor: Context,
-    reset: function reset(skipTempReset) {
-      this.prev = 0;
-      this.next = 0;
-      this.sent = this._sent = undefined;
-      this.done = false;
-      this.delegate = null;
-      this.method = "next";
-      this.arg = undefined;
-      this.tryEntries.forEach(resetTryEntry);
-
-      if (!skipTempReset) {
-        for (var name in this) {
-          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
-            this[name] = undefined;
-          }
-        }
-      }
-    },
-    stop: function stop() {
-      this.done = true;
-      var rootEntry = this.tryEntries[0];
-      var rootRecord = rootEntry.completion;
-
-      if (rootRecord.type === "throw") {
-        throw rootRecord.arg;
-      }
-
-      return this.rval;
-    },
-    dispatchException: function dispatchException(exception) {
-      if (this.done) {
-        throw exception;
-      }
-
-      var context = this;
-
-      function handle(loc, caught) {
-        record.type = "throw";
-        record.arg = exception;
-        context.next = loc;
-
-        if (caught) {
-          context.method = "next";
-          context.arg = undefined;
-        }
-
-        return !!caught;
-      }
-
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        var record = entry.completion;
-
-        if (entry.tryLoc === "root") {
-          return handle("end");
-        }
-
-        if (entry.tryLoc <= this.prev) {
-          var hasCatch = hasOwn.call(entry, "catchLoc");
-          var hasFinally = hasOwn.call(entry, "finallyLoc");
-
-          if (hasCatch && hasFinally) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            } else if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-          } else if (hasCatch) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            }
-          } else if (hasFinally) {
-            if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-          } else {
-            throw new Error("try statement without catch or finally");
-          }
-        }
-      }
-    },
-    abrupt: function abrupt(type, arg) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
-          var finallyEntry = entry;
-          break;
-        }
-      }
-
-      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
-        finallyEntry = null;
-      }
-
-      var record = finallyEntry ? finallyEntry.completion : {};
-      record.type = type;
-      record.arg = arg;
-
-      if (finallyEntry) {
-        this.method = "next";
-        this.next = finallyEntry.finallyLoc;
-        return ContinueSentinel;
-      }
-
-      return this.complete(record);
-    },
-    complete: function complete(record, afterLoc) {
-      if (record.type === "throw") {
-        throw record.arg;
-      }
-
-      if (record.type === "break" || record.type === "continue") {
-        this.next = record.arg;
-      } else if (record.type === "return") {
-        this.rval = this.arg = record.arg;
-        this.method = "return";
-        this.next = "end";
-      } else if (record.type === "normal" && afterLoc) {
-        this.next = afterLoc;
-      }
-
-      return ContinueSentinel;
-    },
-    finish: function finish(finallyLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.finallyLoc === finallyLoc) {
-          this.complete(entry.completion, entry.afterLoc);
-          resetTryEntry(entry);
-          return ContinueSentinel;
-        }
-      }
-    },
-    "catch": function _catch(tryLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.tryLoc === tryLoc) {
-          var record = entry.completion;
-
-          if (record.type === "throw") {
-            var thrown = record.arg;
-            resetTryEntry(entry);
-          }
-
-          return thrown;
-        }
-      }
-
-      throw new Error("illegal catch attempt");
-    },
-    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
-      this.delegate = {
-        iterator: values(iterable),
-        resultName: resultName,
-        nextLoc: nextLoc
-      };
-
-      if (this.method === "next") {
-        this.arg = undefined;
-      }
-
-      return ContinueSentinel;
-    }
-  };
-  return exports;
-}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});
-
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = function (module) {
-  if (!module.webpackPolyfill) {
-    module.deprecate = function () {};
-
-    module.paths = [];
-    if (!module.children) module.children = [];
-    Object.defineProperty(module, "loaded", {
-      enumerable: true,
-      get: function get() {
-        return module.l;
-      }
-    });
-    Object.defineProperty(module, "id", {
-      enumerable: true,
-      get: function get() {
-        return module.i;
-      }
-    });
-    module.webpackPolyfill = 1;
-  }
-
-  return module;
-};
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.arrayByteLength = arrayByteLength;
-exports.arraysToBytes = arraysToBytes;
-exports.assert = assert;
-exports.bytesToString = bytesToString;
-exports.createPromiseCapability = createPromiseCapability;
-exports.getVerbosityLevel = getVerbosityLevel;
-exports.info = info;
-exports.isArrayBuffer = isArrayBuffer;
-exports.isArrayEqual = isArrayEqual;
-exports.isBool = isBool;
-exports.isEmptyObj = isEmptyObj;
-exports.isNum = isNum;
-exports.isString = isString;
-exports.isSameOrigin = isSameOrigin;
-exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
-exports.removeNullCharacters = removeNullCharacters;
-exports.setVerbosityLevel = setVerbosityLevel;
-exports.shadow = shadow;
-exports.string32 = string32;
-exports.stringToBytes = stringToBytes;
-exports.stringToPDFString = stringToPDFString;
-exports.stringToUTF8String = stringToUTF8String;
-exports.utf8StringToString = utf8StringToString;
-exports.warn = warn;
-exports.unreachable = unreachable;
-exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;
-
-__w_pdfjs_require__(6);
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
-exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
-var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
-exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
-var NativeImageDecoding = {
-  NONE: "none",
-  DECODE: "decode",
-  DISPLAY: "display"
-};
-exports.NativeImageDecoding = NativeImageDecoding;
-var PermissionFlag = {
-  PRINT: 0x04,
-  MODIFY_CONTENTS: 0x08,
-  COPY: 0x10,
-  MODIFY_ANNOTATIONS: 0x20,
-  FILL_INTERACTIVE_FORMS: 0x100,
-  COPY_FOR_ACCESSIBILITY: 0x200,
-  ASSEMBLE: 0x400,
-  PRINT_HIGH_QUALITY: 0x800
-};
-exports.PermissionFlag = PermissionFlag;
-var TextRenderingMode = {
-  FILL: 0,
-  STROKE: 1,
-  FILL_STROKE: 2,
-  INVISIBLE: 3,
-  FILL_ADD_TO_PATH: 4,
-  STROKE_ADD_TO_PATH: 5,
-  FILL_STROKE_ADD_TO_PATH: 6,
-  ADD_TO_PATH: 7,
-  FILL_STROKE_MASK: 3,
-  ADD_TO_PATH_FLAG: 4
-};
-exports.TextRenderingMode = TextRenderingMode;
-var ImageKind = {
-  GRAYSCALE_1BPP: 1,
-  RGB_24BPP: 2,
-  RGBA_32BPP: 3
-};
-exports.ImageKind = ImageKind;
-var AnnotationType = {
-  TEXT: 1,
-  LINK: 2,
-  FREETEXT: 3,
-  LINE: 4,
-  SQUARE: 5,
-  CIRCLE: 6,
-  POLYGON: 7,
-  POLYLINE: 8,
-  HIGHLIGHT: 9,
-  UNDERLINE: 10,
-  SQUIGGLY: 11,
-  STRIKEOUT: 12,
-  STAMP: 13,
-  CARET: 14,
-  INK: 15,
-  POPUP: 16,
-  FILEATTACHMENT: 17,
-  SOUND: 18,
-  MOVIE: 19,
-  WIDGET: 20,
-  SCREEN: 21,
-  PRINTERMARK: 22,
-  TRAPNET: 23,
-  WATERMARK: 24,
-  THREED: 25,
-  REDACT: 26
-};
-exports.AnnotationType = AnnotationType;
-var AnnotationStateModelType = {
-  MARKED: "Marked",
-  REVIEW: "Review"
-};
-exports.AnnotationStateModelType = AnnotationStateModelType;
-var AnnotationMarkedState = {
-  MARKED: "Marked",
-  UNMARKED: "Unmarked"
-};
-exports.AnnotationMarkedState = AnnotationMarkedState;
-var AnnotationReviewState = {
-  ACCEPTED: "Accepted",
-  REJECTED: "Rejected",
-  CANCELLED: "Cancelled",
-  COMPLETED: "Completed",
-  NONE: "None"
-};
-exports.AnnotationReviewState = AnnotationReviewState;
-var AnnotationReplyType = {
-  GROUP: "Group",
-  REPLY: "R"
-};
-exports.AnnotationReplyType = AnnotationReplyType;
-var AnnotationFlag = {
-  INVISIBLE: 0x01,
-  HIDDEN: 0x02,
-  PRINT: 0x04,
-  NOZOOM: 0x08,
-  NOROTATE: 0x10,
-  NOVIEW: 0x20,
-  READONLY: 0x40,
-  LOCKED: 0x80,
-  TOGGLENOVIEW: 0x100,
-  LOCKEDCONTENTS: 0x200
-};
-exports.AnnotationFlag = AnnotationFlag;
-var AnnotationFieldFlag = {
-  READONLY: 0x0000001,
-  REQUIRED: 0x0000002,
-  NOEXPORT: 0x0000004,
-  MULTILINE: 0x0001000,
-  PASSWORD: 0x0002000,
-  NOTOGGLETOOFF: 0x0004000,
-  RADIO: 0x0008000,
-  PUSHBUTTON: 0x0010000,
-  COMBO: 0x0020000,
-  EDIT: 0x0040000,
-  SORT: 0x0080000,
-  FILESELECT: 0x0100000,
-  MULTISELECT: 0x0200000,
-  DONOTSPELLCHECK: 0x0400000,
-  DONOTSCROLL: 0x0800000,
-  COMB: 0x1000000,
-  RICHTEXT: 0x2000000,
-  RADIOSINUNISON: 0x2000000,
-  COMMITONSELCHANGE: 0x4000000
-};
-exports.AnnotationFieldFlag = AnnotationFieldFlag;
-var AnnotationBorderStyleType = {
-  SOLID: 1,
-  DASHED: 2,
-  BEVELED: 3,
-  INSET: 4,
-  UNDERLINE: 5
-};
-exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
-var StreamType = {
-  UNKNOWN: "UNKNOWN",
-  FLATE: "FLATE",
-  LZW: "LZW",
-  DCT: "DCT",
-  JPX: "JPX",
-  JBIG: "JBIG",
-  A85: "A85",
-  AHX: "AHX",
-  CCF: "CCF",
-  RLX: "RLX"
-};
-exports.StreamType = StreamType;
-var FontType = {
-  UNKNOWN: "UNKNOWN",
-  TYPE1: "TYPE1",
-  TYPE1C: "TYPE1C",
-  CIDFONTTYPE0: "CIDFONTTYPE0",
-  CIDFONTTYPE0C: "CIDFONTTYPE0C",
-  TRUETYPE: "TRUETYPE",
-  CIDFONTTYPE2: "CIDFONTTYPE2",
-  TYPE3: "TYPE3",
-  OPENTYPE: "OPENTYPE",
-  TYPE0: "TYPE0",
-  MMTYPE1: "MMTYPE1"
-};
-exports.FontType = FontType;
-var VerbosityLevel = {
-  ERRORS: 0,
-  WARNINGS: 1,
-  INFOS: 5
-};
-exports.VerbosityLevel = VerbosityLevel;
-var CMapCompressionType = {
-  NONE: 0,
-  BINARY: 1,
-  STREAM: 2
-};
-exports.CMapCompressionType = CMapCompressionType;
-var OPS = {
-  dependency: 1,
-  setLineWidth: 2,
-  setLineCap: 3,
-  setLineJoin: 4,
-  setMiterLimit: 5,
-  setDash: 6,
-  setRenderingIntent: 7,
-  setFlatness: 8,
-  setGState: 9,
-  save: 10,
-  restore: 11,
-  transform: 12,
-  moveTo: 13,
-  lineTo: 14,
-  curveTo: 15,
-  curveTo2: 16,
-  curveTo3: 17,
-  closePath: 18,
-  rectangle: 19,
-  stroke: 20,
-  closeStroke: 21,
-  fill: 22,
-  eoFill: 23,
-  fillStroke: 24,
-  eoFillStroke: 25,
-  closeFillStroke: 26,
-  closeEOFillStroke: 27,
-  endPath: 28,
-  clip: 29,
-  eoClip: 30,
-  beginText: 31,
-  endText: 32,
-  setCharSpacing: 33,
-  setWordSpacing: 34,
-  setHScale: 35,
-  setLeading: 36,
-  setFont: 37,
-  setTextRenderingMode: 38,
-  setTextRise: 39,
-  moveText: 40,
-  setLeadingMoveText: 41,
-  setTextMatrix: 42,
-  nextLine: 43,
-  showText: 44,
-  showSpacedText: 45,
-  nextLineShowText: 46,
-  nextLineSetSpacingShowText: 47,
-  setCharWidth: 48,
-  setCharWidthAndBounds: 49,
-  setStrokeColorSpace: 50,
-  setFillColorSpace: 51,
-  setStrokeColor: 52,
-  setStrokeColorN: 53,
-  setFillColor: 54,
-  setFillColorN: 55,
-  setStrokeGray: 56,
-  setFillGray: 57,
-  setStrokeRGBColor: 58,
-  setFillRGBColor: 59,
-  setStrokeCMYKColor: 60,
-  setFillCMYKColor: 61,
-  shadingFill: 62,
-  beginInlineImage: 63,
-  beginImageData: 64,
-  endInlineImage: 65,
-  paintXObject: 66,
-  markPoint: 67,
-  markPointProps: 68,
-  beginMarkedContent: 69,
-  beginMarkedContentProps: 70,
-  endMarkedContent: 71,
-  beginCompat: 72,
-  endCompat: 73,
-  paintFormXObjectBegin: 74,
-  paintFormXObjectEnd: 75,
-  beginGroup: 76,
-  endGroup: 77,
-  beginAnnotations: 78,
-  endAnnotations: 79,
-  beginAnnotation: 80,
-  endAnnotation: 81,
-  paintJpegXObject: 82,
-  paintImageMaskXObject: 83,
-  paintImageMaskXObjectGroup: 84,
-  paintImageXObject: 85,
-  paintInlineImageXObject: 86,
-  paintInlineImageXObjectGroup: 87,
-  paintImageXObjectRepeat: 88,
-  paintImageMaskXObjectRepeat: 89,
-  paintSolidColorImageMask: 90,
-  constructPath: 91
-};
-exports.OPS = OPS;
-var UNSUPPORTED_FEATURES = {
-  unknown: "unknown",
-  forms: "forms",
-  javaScript: "javaScript",
-  smask: "smask",
-  shadingPattern: "shadingPattern",
-  font: "font"
-};
-exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
-var PasswordResponses = {
-  NEED_PASSWORD: 1,
-  INCORRECT_PASSWORD: 2
-};
-exports.PasswordResponses = PasswordResponses;
-var verbosity = VerbosityLevel.WARNINGS;
-
-function setVerbosityLevel(level) {
-  if (Number.isInteger(level)) {
-    verbosity = level;
-  }
-}
-
-function getVerbosityLevel() {
-  return verbosity;
-}
-
-function info(msg) {
-  if (verbosity >= VerbosityLevel.INFOS) {
-    console.log("Info: ".concat(msg));
-  }
-}
-
-function warn(msg) {
-  if (verbosity >= VerbosityLevel.WARNINGS) {
-    console.log("Warning: ".concat(msg));
-  }
-}
-
-function unreachable(msg) {
-  throw new Error(msg);
-}
-
-function assert(cond, msg) {
-  if (!cond) {
-    unreachable(msg);
-  }
-}
-
-function isSameOrigin(baseUrl, otherUrl) {
-  var base;
-
-  try {
-    base = new URL(baseUrl);
-
-    if (!base.origin || base.origin === "null") {
-      return false;
-    }
-  } catch (e) {
-    return false;
-  }
-
-  var other = new URL(otherUrl, base);
-  return base.origin === other.origin;
-}
-
-function _isValidProtocol(url) {
-  if (!url) {
-    return false;
-  }
-
-  switch (url.protocol) {
-    case "http:":
-    case "https:":
-    case "ftp:":
-    case "mailto:":
-    case "tel:":
-      return true;
-
-    default:
-      return false;
-  }
-}
-
-function createValidAbsoluteUrl(url, baseUrl) {
-  if (!url) {
-    return null;
-  }
-
-  try {
-    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
-
-    if (_isValidProtocol(absoluteUrl)) {
-      return absoluteUrl;
-    }
-  } catch (ex) {}
-
-  return null;
-}
-
-function shadow(obj, prop, value) {
-  Object.defineProperty(obj, prop, {
-    value: value,
-    enumerable: true,
-    configurable: true,
-    writable: false
-  });
-  return value;
-}
-
-var BaseException = function BaseExceptionClosure() {
-  function BaseException(message) {
-    if (this.constructor === BaseException) {
-      unreachable("Cannot initialize BaseException.");
-    }
-
-    this.message = message;
-    this.name = this.constructor.name;
-  }
-
-  BaseException.prototype = new Error();
-  BaseException.constructor = BaseException;
-  return BaseException;
-}();
-
-exports.BaseException = BaseException;
-
-var PasswordException = /*#__PURE__*/function (_BaseException) {
-  _inherits(PasswordException, _BaseException);
-
-  function PasswordException(msg, code) {
-    var _this;
-
-    _classCallCheck(this, PasswordException);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));
-    _this.code = code;
-    return _this;
-  }
-
-  return PasswordException;
-}(BaseException);
-
-exports.PasswordException = PasswordException;
-
-var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {
-  _inherits(UnknownErrorException, _BaseException2);
-
-  function UnknownErrorException(msg, details) {
-    var _this2;
-
-    _classCallCheck(this, UnknownErrorException);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));
-    _this2.details = details;
-    return _this2;
-  }
-
-  return UnknownErrorException;
-}(BaseException);
-
-exports.UnknownErrorException = UnknownErrorException;
-
-var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {
-  _inherits(InvalidPDFException, _BaseException3);
-
-  function InvalidPDFException() {
-    _classCallCheck(this, InvalidPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));
-  }
-
-  return InvalidPDFException;
-}(BaseException);
-
-exports.InvalidPDFException = InvalidPDFException;
-
-var MissingPDFException = /*#__PURE__*/function (_BaseException4) {
-  _inherits(MissingPDFException, _BaseException4);
-
-  function MissingPDFException() {
-    _classCallCheck(this, MissingPDFException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));
-  }
-
-  return MissingPDFException;
-}(BaseException);
-
-exports.MissingPDFException = MissingPDFException;
-
-var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {
-  _inherits(UnexpectedResponseException, _BaseException5);
-
-  function UnexpectedResponseException(msg, status) {
-    var _this3;
-
-    _classCallCheck(this, UnexpectedResponseException);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));
-    _this3.status = status;
-    return _this3;
-  }
-
-  return UnexpectedResponseException;
-}(BaseException);
-
-exports.UnexpectedResponseException = UnexpectedResponseException;
-
-var FormatError = /*#__PURE__*/function (_BaseException6) {
-  _inherits(FormatError, _BaseException6);
-
-  function FormatError() {
-    _classCallCheck(this, FormatError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));
-  }
-
-  return FormatError;
-}(BaseException);
-
-exports.FormatError = FormatError;
-
-var AbortException = /*#__PURE__*/function (_BaseException7) {
-  _inherits(AbortException, _BaseException7);
-
-  function AbortException() {
-    _classCallCheck(this, AbortException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));
-  }
-
-  return AbortException;
-}(BaseException);
-
-exports.AbortException = AbortException;
-var NullCharactersRegExp = /\x00/g;
-
-function removeNullCharacters(str) {
-  if (typeof str !== "string") {
-    warn("The argument for removeNullCharacters must be a string.");
-    return str;
-  }
-
-  return str.replace(NullCharactersRegExp, "");
-}
-
-function bytesToString(bytes) {
-  assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
-  var length = bytes.length;
-  var MAX_ARGUMENT_COUNT = 8192;
-
-  if (length < MAX_ARGUMENT_COUNT) {
-    return String.fromCharCode.apply(null, bytes);
-  }
-
-  var strBuf = [];
-
-  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
-    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
-    var chunk = bytes.subarray(i, chunkEnd);
-    strBuf.push(String.fromCharCode.apply(null, chunk));
-  }
-
-  return strBuf.join("");
-}
-
-function stringToBytes(str) {
-  assert(typeof str === "string", "Invalid argument for stringToBytes");
-  var length = str.length;
-  var bytes = new Uint8Array(length);
-
-  for (var i = 0; i < length; ++i) {
-    bytes[i] = str.charCodeAt(i) & 0xff;
-  }
-
-  return bytes;
-}
-
-function arrayByteLength(arr) {
-  if (arr.length !== undefined) {
-    return arr.length;
-  }
-
-  assert(arr.byteLength !== undefined);
-  return arr.byteLength;
-}
-
-function arraysToBytes(arr) {
-  var length = arr.length;
-
-  if (length === 1 && arr[0] instanceof Uint8Array) {
-    return arr[0];
-  }
-
-  var resultLength = 0;
-
-  for (var i = 0; i < length; i++) {
-    resultLength += arrayByteLength(arr[i]);
-  }
-
-  var pos = 0;
-  var data = new Uint8Array(resultLength);
-
-  for (var _i = 0; _i < length; _i++) {
-    var item = arr[_i];
-
-    if (!(item instanceof Uint8Array)) {
-      if (typeof item === "string") {
-        item = stringToBytes(item);
-      } else {
-        item = new Uint8Array(item);
-      }
-    }
-
-    var itemLength = item.byteLength;
-    data.set(item, pos);
-    pos += itemLength;
-  }
-
-  return data;
-}
-
-function string32(value) {
-  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
-}
-
-function isLittleEndian() {
-  var buffer8 = new Uint8Array(4);
-  buffer8[0] = 1;
-  var view32 = new Uint32Array(buffer8.buffer, 0, 1);
-  return view32[0] === 1;
-}
-
-var IsLittleEndianCached = {
-  get value() {
-    return shadow(this, "value", isLittleEndian());
-  }
-
-};
-exports.IsLittleEndianCached = IsLittleEndianCached;
-
-function isEvalSupported() {
-  try {
-    new Function("");
-    return true;
-  } catch (e) {
-    return false;
-  }
-}
-
-var IsEvalSupportedCached = {
-  get value() {
-    return shadow(this, "value", isEvalSupported());
-  }
-
-};
-exports.IsEvalSupportedCached = IsEvalSupportedCached;
-var rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"];
-
-var Util = /*#__PURE__*/function () {
-  function Util() {
-    _classCallCheck(this, Util);
-  }
-
-  _createClass(Util, null, [{
-    key: "makeCssRgb",
-    value: function makeCssRgb(r, g, b) {
-      rgbBuf[1] = r;
-      rgbBuf[3] = g;
-      rgbBuf[5] = b;
-      return rgbBuf.join("");
-    }
-  }, {
-    key: "transform",
-    value: function transform(m1, m2) {
-      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
-    }
-  }, {
-    key: "applyTransform",
-    value: function applyTransform(p, m) {
-      var xt = p[0] * m[0] + p[1] * m[2] + m[4];
-      var yt = p[0] * m[1] + p[1] * m[3] + m[5];
-      return [xt, yt];
-    }
-  }, {
-    key: "applyInverseTransform",
-    value: function applyInverseTransform(p, m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
-      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
-      return [xt, yt];
-    }
-  }, {
-    key: "getAxialAlignedBoundingBox",
-    value: function getAxialAlignedBoundingBox(r, m) {
-      var p1 = Util.applyTransform(r, m);
-      var p2 = Util.applyTransform(r.slice(2, 4), m);
-      var p3 = Util.applyTransform([r[0], r[3]], m);
-      var p4 = Util.applyTransform([r[2], r[1]], m);
-      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
-    }
-  }, {
-    key: "inverseTransform",
-    value: function inverseTransform(m) {
-      var d = m[0] * m[3] - m[1] * m[2];
-      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
-    }
-  }, {
-    key: "apply3dTransform",
-    value: function apply3dTransform(m, v) {
-      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];
-    }
-  }, {
-    key: "singularValueDecompose2dScale",
-    value: function singularValueDecompose2dScale(m) {
-      var transpose = [m[0], m[2], m[1], m[3]];
-      var a = m[0] * transpose[0] + m[1] * transpose[2];
-      var b = m[0] * transpose[1] + m[1] * transpose[3];
-      var c = m[2] * transpose[0] + m[3] * transpose[2];
-      var d = m[2] * transpose[1] + m[3] * transpose[3];
-      var first = (a + d) / 2;
-      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
-      var sx = first + second || 1;
-      var sy = first - second || 1;
-      return [Math.sqrt(sx), Math.sqrt(sy)];
-    }
-  }, {
-    key: "normalizeRect",
-    value: function normalizeRect(rect) {
-      var r = rect.slice(0);
-
-      if (rect[0] > rect[2]) {
-        r[0] = rect[2];
-        r[2] = rect[0];
-      }
-
-      if (rect[1] > rect[3]) {
-        r[1] = rect[3];
-        r[3] = rect[1];
-      }
-
-      return r;
-    }
-  }, {
-    key: "intersect",
-    value: function intersect(rect1, rect2) {
-      function compare(a, b) {
-        return a - b;
-      }
-
-      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
-      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
-      var result = [];
-      rect1 = Util.normalizeRect(rect1);
-      rect2 = Util.normalizeRect(rect2);
-
-      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
-        result[0] = orderedX[1];
-        result[2] = orderedX[2];
-      } else {
-        return null;
-      }
-
-      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
-        result[1] = orderedY[1];
-        result[3] = orderedY[2];
-      } else {
-        return null;
-      }
-
-      return result;
-    }
-  }]);
-
-  return Util;
-}();
-
-exports.Util = Util;
-var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
-
-function stringToPDFString(str) {
-  var length = str.length,
-      strBuf = [];
-
-  if (str[0] === "\xFE" && str[1] === "\xFF") {
-    for (var i = 2; i < length; i += 2) {
-      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
-    }
-  } else if (str[0] === "\xFF" && str[1] === "\xFE") {
-    for (var _i2 = 2; _i2 < length; _i2 += 2) {
-      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));
-    }
-  } else {
-    for (var _i3 = 0; _i3 < length; ++_i3) {
-      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];
-      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));
-    }
-  }
-
-  return strBuf.join("");
-}
-
-function stringToUTF8String(str) {
-  return decodeURIComponent(escape(str));
-}
-
-function utf8StringToString(str) {
-  return unescape(encodeURIComponent(str));
-}
-
-function isEmptyObj(obj) {
-  for (var key in obj) {
-    return false;
-  }
-
-  return true;
-}
-
-function isBool(v) {
-  return typeof v === "boolean";
-}
-
-function isNum(v) {
-  return typeof v === "number";
-}
-
-function isString(v) {
-  return typeof v === "string";
-}
-
-function isArrayBuffer(v) {
-  return _typeof(v) === "object" && v !== null && v.byteLength !== undefined;
-}
-
-function isArrayEqual(arr1, arr2) {
-  if (arr1.length !== arr2.length) {
-    return false;
-  }
-
-  return arr1.every(function (element, index) {
-    return element === arr2[index];
-  });
-}
-
-function createPromiseCapability() {
-  var capability = Object.create(null);
-  var isSettled = false;
-  Object.defineProperty(capability, "settled", {
-    get: function get() {
-      return isSettled;
-    }
-  });
-  capability.promise = new Promise(function (resolve, reject) {
-    capability.resolve = function (data) {
-      isSettled = true;
-      resolve(data);
-    };
-
-    capability.reject = function (reason) {
-      isSettled = true;
-      reject(reason);
-    };
-  });
-  return capability;
-}
-
-var createObjectURL = function createObjectURLClosure() {
-  var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-  return function createObjectURL(data, contentType) {
-    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    if (!forceDataSchema && URL.createObjectURL) {
-      var blob = new Blob([data], {
-        type: contentType
-      });
-      return URL.createObjectURL(blob);
-    }
-
-    var buffer = "data:".concat(contentType, ";base64,");
-
-    for (var i = 0, ii = data.length; i < ii; i += 3) {
-      var b1 = data[i] & 0xff;
-      var b2 = data[i + 1] & 0xff;
-      var b3 = data[i + 2] & 0xff;
-      var d1 = b1 >> 2,
-          d2 = (b1 & 3) << 4 | b2 >> 4;
-      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
-      var d4 = i + 2 < ii ? b3 & 0x3f : 64;
-      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
-    }
-
-    return buffer;
-  };
-}();
-
-exports.createObjectURL = createObjectURL;
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) {
-  if (typeof globalThis === "undefined" || globalThis.Math !== Math) {
-    globalThis = __w_pdfjs_require__(7);
-  }
-
-  globalThis._pdfjsCompatibilityChecked = true;
-
-  var _require = __w_pdfjs_require__(52),
-      isNodeJS = _require.isNodeJS;
-
-  var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === "object";
-  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
-  var isIE = /Trident/.test(userAgent);
-
-  (function checkNodeBtoa() {
-    if (globalThis.btoa || !isNodeJS) {
-      return;
-    }
-
-    globalThis.btoa = function (chars) {
-      return Buffer.from(chars, "binary").toString("base64");
-    };
-  })();
-
-  (function checkNodeAtob() {
-    if (globalThis.atob || !isNodeJS) {
-      return;
-    }
-
-    globalThis.atob = function (input) {
-      return Buffer.from(input, "base64").toString("binary");
-    };
-  })();
-
-  (function checkChildNodeRemove() {
-    if (!hasDOM) {
-      return;
-    }
-
-    if (typeof Element.prototype.remove !== "undefined") {
-      return;
-    }
-
-    Element.prototype.remove = function () {
-      if (this.parentNode) {
-        this.parentNode.removeChild(this);
-      }
-    };
-  })();
-
-  (function checkDOMTokenListAddRemove() {
-    if (!hasDOM || isNodeJS) {
-      return;
-    }
-
-    var div = document.createElement("div");
-    div.classList.add("testOne", "testTwo");
-
-    if (div.classList.contains("testOne") === true && div.classList.contains("testTwo") === true) {
-      return;
-    }
-
-    var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
-    var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;
-
-    DOMTokenList.prototype.add = function () {
-      for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
-        tokens[_key] = arguments[_key];
-      }
-
-      for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
-        var token = _tokens[_i];
-        OriginalDOMTokenListAdd.call(this, token);
-      }
-    };
-
-    DOMTokenList.prototype.remove = function () {
-      for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
-        tokens[_key2] = arguments[_key2];
-      }
-
-      for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
-        var token = _tokens2[_i2];
-        OriginalDOMTokenListRemove.call(this, token);
-      }
-    };
-  })();
-
-  (function checkDOMTokenListToggle() {
-    if (!hasDOM || isNodeJS) {
-      return;
-    }
-
-    var div = document.createElement("div");
-
-    if (div.classList.toggle("test", 0) === false) {
-      return;
-    }
-
-    DOMTokenList.prototype.toggle = function (token) {
-      var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
-      return this[force ? "add" : "remove"](token), force;
-    };
-  })();
-
-  (function checkWindowHistoryPushStateReplaceState() {
-    if (!hasDOM || !isIE) {
-      return;
-    }
-
-    var OriginalPushState = window.history.pushState;
-    var OriginalReplaceState = window.history.replaceState;
-
-    window.history.pushState = function (state, title, url) {
-      var args = url === undefined ? [state, title] : [state, title, url];
-      OriginalPushState.apply(this, args);
-    };
-
-    window.history.replaceState = function (state, title, url) {
-      var args = url === undefined ? [state, title] : [state, title, url];
-      OriginalReplaceState.apply(this, args);
-    };
-  })();
-
-  (function checkStringStartsWith() {
-    if (String.prototype.startsWith) {
-      return;
-    }
-
-    __w_pdfjs_require__(53);
-  })();
-
-  (function checkStringEndsWith() {
-    if (String.prototype.endsWith) {
-      return;
-    }
-
-    __w_pdfjs_require__(64);
-  })();
-
-  (function checkStringIncludes() {
-    if (String.prototype.includes) {
-      return;
-    }
-
-    __w_pdfjs_require__(66);
-  })();
-
-  (function checkArrayIncludes() {
-    if (Array.prototype.includes) {
-      return;
-    }
-
-    __w_pdfjs_require__(68);
-  })();
-
-  (function checkArrayFrom() {
-    if (Array.from) {
-      return;
-    }
-
-    __w_pdfjs_require__(76);
-  })();
-
-  (function checkObjectAssign() {
-    if (Object.assign) {
-      return;
-    }
-
-    __w_pdfjs_require__(98);
-  })();
-
-  (function checkMathLog2() {
-    if (Math.log2) {
-      return;
-    }
-
-    Math.log2 = __w_pdfjs_require__(101);
-  })();
-
-  (function checkNumberIsNaN() {
-    if (Number.isNaN) {
-      return;
-    }
-
-    Number.isNaN = __w_pdfjs_require__(103);
-  })();
-
-  (function checkNumberIsInteger() {
-    if (Number.isInteger) {
-      return;
-    }
-
-    Number.isInteger = __w_pdfjs_require__(105);
-  })();
-
-  (function checkPromise() {
-    if (globalThis.Promise && globalThis.Promise.allSettled) {
-      return;
-    }
-
-    globalThis.Promise = __w_pdfjs_require__(108);
-  })();
-
-  (function checkURL() {
-    globalThis.URL = __w_pdfjs_require__(132);
-  })();
-
-  (function checkReadableStream() {
-    var isReadableStreamSupported = false;
-
-    if (typeof ReadableStream !== "undefined") {
-      try {
-        new ReadableStream({
-          start: function start(controller) {
-            controller.close();
-          }
-        });
-        isReadableStreamSupported = true;
-      } catch (e) {}
-    }
-
-    if (isReadableStreamSupported) {
-      return;
-    }
-
-    globalThis.ReadableStream = __w_pdfjs_require__(139).ReadableStream;
-  })();
-
-  (function checkMapEntries() {
-    if (globalThis.Map && globalThis.Map.prototype.entries) {
-      return;
-    }
-
-    globalThis.Map = __w_pdfjs_require__(140);
-  })();
-
-  (function checkSetEntries() {
-    if (globalThis.Set && globalThis.Set.prototype.entries) {
-      return;
-    }
-
-    globalThis.Set = __w_pdfjs_require__(147);
-  })();
-
-  (function checkWeakMap() {
-    if (globalThis.WeakMap) {
-      return;
-    }
-
-    globalThis.WeakMap = __w_pdfjs_require__(149);
-  })();
-
-  (function checkWeakSet() {
-    if (globalThis.WeakSet) {
-      return;
-    }
-
-    globalThis.WeakSet = __w_pdfjs_require__(155);
-  })();
-
-  (function checkStringCodePointAt() {
-    if (String.prototype.codePointAt) {
-      return;
-    }
-
-    __w_pdfjs_require__(157);
-  })();
-
-  (function checkStringFromCodePoint() {
-    if (String.fromCodePoint) {
-      return;
-    }
-
-    String.fromCodePoint = __w_pdfjs_require__(159);
-  })();
-
-  (function checkSymbol() {
-    if (globalThis.Symbol) {
-      return;
-    }
-
-    __w_pdfjs_require__(161);
-  })();
-
-  (function checkStringPadStart() {
-    if (String.prototype.padStart) {
-      return;
-    }
-
-    __w_pdfjs_require__(184);
-  })();
-
-  (function checkStringPadEnd() {
-    if (String.prototype.padEnd) {
-      return;
-    }
-
-    __w_pdfjs_require__(189);
-  })();
-
-  (function checkObjectValues() {
-    if (Object.values) {
-      return;
-    }
-
-    Object.values = __w_pdfjs_require__(191);
-  })();
-}
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(8);
-module.exports = __w_pdfjs_require__(10);
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var global = __w_pdfjs_require__(10);
-$({ global: true }, { globalThis: global });
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var redefine = __w_pdfjs_require__(28);
-var setGlobal = __w_pdfjs_require__(29);
-var copyConstructorProperties = __w_pdfjs_require__(39);
-var isForced = __w_pdfjs_require__(51);
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
-  target = global;
- } else if (STATIC) {
-  target = global[TARGET] || setGlobal(TARGET, {});
- } else {
-  target = (global[TARGET] || {}).prototype;
- }
- if (target)
-  for (key in source) {
-   sourceProperty = source[key];
-   if (options.noTargetGet) {
-    descriptor = getOwnPropertyDescriptor(target, key);
-    targetProperty = descriptor && descriptor.value;
-   } else
-    targetProperty = target[key];
-   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
-   if (!FORCED && targetProperty !== undefined) {
-    if (typeof sourceProperty === typeof targetProperty)
-     continue;
-    copyConstructorProperties(sourceProperty, targetProperty);
-   }
-   if (options.sham || targetProperty && targetProperty.sham) {
-    createNonEnumerableProperty(sourceProperty, 'sham', true);
-   }
-   redefine(target, key, sourceProperty, options);
-  }
-};
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports) {
-
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var propertyIsEnumerableModule = __w_pdfjs_require__(14);
-var createPropertyDescriptor = __w_pdfjs_require__(15);
-var toIndexedObject = __w_pdfjs_require__(16);
-var toPrimitive = __w_pdfjs_require__(20);
-var has = __w_pdfjs_require__(22);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(23);
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeGetOwnPropertyDescriptor(O, P);
-  } catch (error) {
-  }
- if (has(O, P))
-  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
-};
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-module.exports = !fails(function () {
- return Object.defineProperty({}, 1, {
-  get: function () {
-   return 7;
-  }
- })[1] != 7;
-});
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return !!exec();
- } catch (error) {
-  return true;
- }
-};
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
- return {
-  enumerable: !(bitmap & 1),
-  configurable: !(bitmap & 2),
-  writable: !(bitmap & 4),
-  value: value
- };
-};
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IndexedObject = __w_pdfjs_require__(17);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-var classof = __w_pdfjs_require__(18);
-var split = ''.split;
-module.exports = fails(function () {
- return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-module.exports = function (it) {
- return toString.call(it).slice(8, -1);
-};
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (it == undefined)
-  throw TypeError("Can't call method on " + it);
- return it;
-};
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input))
-  return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
-  return val;
- throw TypeError("Can't convert object to primitive value");
-};
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
-};
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var fails = __w_pdfjs_require__(13);
-var createElement = __w_pdfjs_require__(24);
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
-  get: function () {
-   return 7;
-  }
- }).a != 7;
-});
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var isObject = __w_pdfjs_require__(21);
-var document = global.document;
-var EXISTS = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var definePropertyModule = __w_pdfjs_require__(26);
-var createPropertyDescriptor = __w_pdfjs_require__(15);
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(23);
-var anObject = __w_pdfjs_require__(27);
-var toPrimitive = __w_pdfjs_require__(20);
-var nativeDefineProperty = Object.defineProperty;
-exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
-  try {
-   return nativeDefineProperty(O, P, Attributes);
-  } catch (error) {
-  }
- if ('get' in Attributes || 'set' in Attributes)
-  throw TypeError('Accessors not supported');
- if ('value' in Attributes)
-  O[P] = Attributes.value;
- return O;
-};
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-module.exports = function (it) {
- if (!isObject(it)) {
-  throw TypeError(String(it) + ' is not an object');
- }
- return it;
-};
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var has = __w_pdfjs_require__(22);
-var setGlobal = __w_pdfjs_require__(29);
-var inspectSource = __w_pdfjs_require__(30);
-var InternalStateModule = __w_pdfjs_require__(32);
-var getInternalState = InternalStateModule.get;
-var enforceInternalState = InternalStateModule.enforce;
-var TEMPLATE = String(String).split('String');
-(module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- if (typeof value == 'function') {
-  if (typeof key == 'string' && !has(value, 'name'))
-   createNonEnumerableProperty(value, 'name', key);
-  enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
- if (O === global) {
-  if (simple)
-   O[key] = value;
-  else
-   setGlobal(key, value);
-  return;
- } else if (!unsafe) {
-  delete O[key];
- } else if (!noTargetGet && O[key]) {
-  simple = true;
- }
- if (simple)
-  O[key] = value;
- else
-  createNonEnumerableProperty(O, key, value);
-})(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
-});
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-module.exports = function (key, value) {
- try {
-  createNonEnumerableProperty(global, key, value);
- } catch (error) {
-  global[key] = value;
- }
- return value;
-};
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var store = __w_pdfjs_require__(31);
-var functionToString = Function.toString;
-if (typeof store.inspectSource != 'function') {
- store.inspectSource = function (it) {
-  return functionToString.call(it);
- };
-}
-module.exports = store.inspectSource;
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var setGlobal = __w_pdfjs_require__(29);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || setGlobal(SHARED, {});
-module.exports = store;
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(33);
-var global = __w_pdfjs_require__(10);
-var isObject = __w_pdfjs_require__(21);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var objectHas = __w_pdfjs_require__(22);
-var sharedKey = __w_pdfjs_require__(34);
-var hiddenKeys = __w_pdfjs_require__(38);
-var WeakMap = global.WeakMap;
-var set, get, has;
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-var getterFor = function (TYPE) {
- return function (it) {
-  var state;
-  if (!isObject(it) || (state = get(it)).type !== TYPE) {
-   throw TypeError('Incompatible receiver, ' + TYPE + ' required');
-  }
-  return state;
- };
-};
-if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
- set = function (it, metadata) {
-  wmset.call(store, it, metadata);
-  return metadata;
- };
- get = function (it) {
-  return wmget.call(store, it) || {};
- };
- has = function (it) {
-  return wmhas.call(store, it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
-  createNonEnumerableProperty(it, STATE, metadata);
-  return metadata;
- };
- get = function (it) {
-  return objectHas(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
-  return objectHas(it, STATE);
- };
-}
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var inspectSource = __w_pdfjs_require__(30);
-var WeakMap = global.WeakMap;
-module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(35);
-var uid = __w_pdfjs_require__(37);
-var keys = shared('keys');
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IS_PURE = __w_pdfjs_require__(36);
-var store = __w_pdfjs_require__(31);
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.6.4',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
-});
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports) {
-
-module.exports = false;
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var postfix = Math.random();
-module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(22);
-var ownKeys = __w_pdfjs_require__(40);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);
-var definePropertyModule = __w_pdfjs_require__(26);
-module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
-  var key = keys[i];
-  if (!has(target, key))
-   defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
-};
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(41);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(43);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(50);
-var anObject = __w_pdfjs_require__(27);
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(42);
-var global = __w_pdfjs_require__(10);
-var aFunction = function (variable) {
- return typeof variable == 'function' ? variable : undefined;
-};
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
-};
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-module.exports = global;
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(44);
-var enumBugKeys = __w_pdfjs_require__(49);
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(22);
-var toIndexedObject = __w_pdfjs_require__(16);
-var indexOf = __w_pdfjs_require__(45).indexOf;
-var hiddenKeys = __w_pdfjs_require__(38);
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
-  !has(hiddenKeys, key) && has(O, key) && result.push(key);
- while (names.length > i)
-  if (has(O, key = names[i++])) {
-   ~indexOf(result, key) || result.push(key);
-  }
- return result;
-};
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(16);
-var toLength = __w_pdfjs_require__(46);
-var toAbsoluteIndex = __w_pdfjs_require__(48);
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
-  var O = toIndexedObject($this);
-  var length = toLength(O.length);
-  var index = toAbsoluteIndex(fromIndex, length);
-  var value;
-  if (IS_INCLUDES && el != el)
-   while (length > index) {
-    value = O[index++];
-    if (value != value)
-     return true;
-   }
-  else
-   for (; length > index; index++) {
-    if ((IS_INCLUDES || index in O) && O[index] === el)
-     return IS_INCLUDES || index || 0;
-   }
-  return !IS_INCLUDES && -1;
- };
-};
-module.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
-};
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(47);
-var min = Math.min;
-module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
-};
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports) {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(47);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports) {
-
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-var replacement = /#|\.prototype\./;
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
-};
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-module.exports = isForced;
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.isNodeJS = void 0;
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions["nw"] && !process.versions["electron"];
-exports.isNodeJS = isNodeJS;
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(54);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('String', 'startsWith');
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;
-var toLength = __w_pdfjs_require__(46);
-var notARegExp = __w_pdfjs_require__(55);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-var correctIsRegExpLogic = __w_pdfjs_require__(60);
-var IS_PURE = __w_pdfjs_require__(36);
-var nativeStartsWith = ''.startsWith;
-var min = Math.min;
-var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
-var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
- return descriptor && !descriptor.writable;
-}();
-$({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
-}, {
- startsWith: function startsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
-  var search = String(searchString);
-  return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
- }
-});
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isRegExp = __w_pdfjs_require__(56);
-module.exports = function (it) {
- if (isRegExp(it)) {
-  throw TypeError("The method doesn't accept regular expressions");
- }
- return it;
-};
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-var classof = __w_pdfjs_require__(18);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
-};
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var shared = __w_pdfjs_require__(35);
-var has = __w_pdfjs_require__(22);
-var uid = __w_pdfjs_require__(37);
-var NATIVE_SYMBOL = __w_pdfjs_require__(58);
-var USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);
-var WellKnownSymbolsStore = shared('wks');
-var Symbol = global.Symbol;
-var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
-module.exports = function (name) {
- if (!has(WellKnownSymbolsStore, name)) {
-  if (NATIVE_SYMBOL && has(Symbol, name))
-   WellKnownSymbolsStore[name] = Symbol[name];
-  else
-   WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
- }
- return WellKnownSymbolsStore[name];
-};
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- return !String(Symbol());
-});
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_SYMBOL = __w_pdfjs_require__(58);
-module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (METHOD_NAME) {
- var regexp = /./;
- try {
-  '/./'[METHOD_NAME](regexp);
- } catch (e) {
-  try {
-   regexp[MATCH] = false;
-   return '/./'[METHOD_NAME](regexp);
-  } catch (f) {
-  }
- }
- return false;
-};
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var bind = __w_pdfjs_require__(62);
-var call = Function.call;
-module.exports = function (CONSTRUCTOR, METHOD, length) {
- return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
-};
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var aFunction = __w_pdfjs_require__(63);
-module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined)
-  return fn;
- switch (length) {
- case 0:
-  return function () {
-   return fn.call(that);
-  };
- case 1:
-  return function (a) {
-   return fn.call(that, a);
-  };
- case 2:
-  return function (a, b) {
-   return fn.call(that, a, b);
-  };
- case 3:
-  return function (a, b, c) {
-   return fn.call(that, a, b, c);
-  };
- }
- return function () {
-  return fn.apply(that, arguments);
- };
-};
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (typeof it != 'function') {
-  throw TypeError(String(it) + ' is not a function');
- }
- return it;
-};
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(65);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('String', 'endsWith');
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;
-var toLength = __w_pdfjs_require__(46);
-var notARegExp = __w_pdfjs_require__(55);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-var correctIsRegExpLogic = __w_pdfjs_require__(60);
-var IS_PURE = __w_pdfjs_require__(36);
-var nativeEndsWith = ''.endsWith;
-var min = Math.min;
-var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
-var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');
- return descriptor && !descriptor.writable;
-}();
-$({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
-}, {
- endsWith: function endsWith(searchString) {
-  var that = String(requireObjectCoercible(this));
-  notARegExp(searchString);
-  var endPosition = arguments.length > 1 ? arguments[1] : undefined;
-  var len = toLength(that.length);
-  var end = endPosition === undefined ? len : min(toLength(endPosition), len);
-  var search = String(searchString);
-  return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
- }
-});
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(67);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('String', 'includes');
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var notARegExp = __w_pdfjs_require__(55);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-var correctIsRegExpLogic = __w_pdfjs_require__(60);
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('includes')
-}, {
- includes: function includes(searchString) {
-  return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(69);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('Array', 'includes');
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var $includes = __w_pdfjs_require__(45).includes;
-var addToUnscopables = __w_pdfjs_require__(70);
-var arrayMethodUsesToLength = __w_pdfjs_require__(75);
-var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
-});
-$({
- target: 'Array',
- proto: true,
- forced: !USES_TO_LENGTH
-}, {
- includes: function includes(el) {
-  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-addToUnscopables('includes');
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var create = __w_pdfjs_require__(71);
-var definePropertyModule = __w_pdfjs_require__(26);
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
-  configurable: true,
-  value: create(null)
- });
-}
-module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-var defineProperties = __w_pdfjs_require__(72);
-var enumBugKeys = __w_pdfjs_require__(49);
-var hiddenKeys = __w_pdfjs_require__(38);
-var html = __w_pdfjs_require__(74);
-var documentCreateElement = __w_pdfjs_require__(24);
-var sharedKey = __w_pdfjs_require__(34);
-var GT = '>';
-var LT = '<';
-var PROTOTYPE = 'prototype';
-var SCRIPT = 'script';
-var IE_PROTO = sharedKey('IE_PROTO');
-var EmptyConstructor = function () {
-};
-var scriptTag = function (content) {
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
-};
-var NullProtoObjectViaActiveX = function (activeXDocument) {
- activeXDocument.write(scriptTag(''));
- activeXDocument.close();
- var temp = activeXDocument.parentWindow.Object;
- activeXDocument = null;
- return temp;
-};
-var NullProtoObjectViaIFrame = function () {
- var iframe = documentCreateElement('iframe');
- var JS = 'java' + SCRIPT + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = String(JS);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(scriptTag('document.F=Object'));
- iframeDocument.close();
- return iframeDocument.F;
-};
-var activeXDocument;
-var NullProtoObject = function () {
- try {
-  activeXDocument = document.domain && new ActiveXObject('htmlfile');
- } catch (error) {
- }
- NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
- var length = enumBugKeys.length;
- while (length--)
-  delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
- return NullProtoObject();
-};
-hiddenKeys[IE_PROTO] = true;
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
-  EmptyConstructor[PROTOTYPE] = anObject(O);
-  result = new EmptyConstructor();
-  EmptyConstructor[PROTOTYPE] = null;
-  result[IE_PROTO] = O;
- } else
-  result = NullProtoObject();
- return Properties === undefined ? result : defineProperties(result, Properties);
-};
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var definePropertyModule = __w_pdfjs_require__(26);
-var anObject = __w_pdfjs_require__(27);
-var objectKeys = __w_pdfjs_require__(73);
-module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index)
-  definePropertyModule.f(O, key = keys[index++], Properties[key]);
- return O;
-};
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(44);
-var enumBugKeys = __w_pdfjs_require__(49);
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(41);
-module.exports = getBuiltIn('document', 'documentElement');
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var fails = __w_pdfjs_require__(13);
-var has = __w_pdfjs_require__(22);
-var defineProperty = Object.defineProperty;
-var cache = {};
-var thrower = function (it) {
- throw it;
-};
-module.exports = function (METHOD_NAME, options) {
- if (has(cache, METHOD_NAME))
-  return cache[METHOD_NAME];
- if (!options)
-  options = {};
- var method = [][METHOD_NAME];
- var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
- var argument0 = has(options, 0) ? options[0] : thrower;
- var argument1 = has(options, 1) ? options[1] : undefined;
- return cache[METHOD_NAME] = !!method && !fails(function () {
-  if (ACCESSORS && !DESCRIPTORS)
-   return true;
-  var O = { length: -1 };
-  if (ACCESSORS)
-   defineProperty(O, 1, {
-    enumerable: true,
-    get: thrower
-   });
-  else
-   O[1] = 1;
-  method.call(O, argument0, argument1);
- });
-};
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(77);
-__w_pdfjs_require__(89);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Array.from;
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var charAt = __w_pdfjs_require__(78).charAt;
-var InternalStateModule = __w_pdfjs_require__(32);
-var defineIterator = __w_pdfjs_require__(79);
-var STRING_ITERATOR = 'String Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
-defineIterator(String, 'String', function (iterated) {
- setInternalState(this, {
-  type: STRING_ITERATOR,
-  string: String(iterated),
-  index: 0
- });
-}, function next() {
- var state = getInternalState(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length)
-  return {
-   value: undefined,
-   done: true
-  };
- point = charAt(string, index);
- state.index += point.length;
- return {
-  value: point,
-  done: false
- };
-});
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(47);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-var createMethod = function (CONVERT_TO_STRING) {
- return function ($this, pos) {
-  var S = String(requireObjectCoercible($this));
-  var position = toInteger(pos);
-  var size = S.length;
-  var first, second;
-  if (position < 0 || position >= size)
-   return CONVERT_TO_STRING ? '' : undefined;
-  first = S.charCodeAt(position);
-  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
-};
-module.exports = {
- codeAt: createMethod(false),
- charAt: createMethod(true)
-};
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var createIteratorConstructor = __w_pdfjs_require__(80);
-var getPrototypeOf = __w_pdfjs_require__(82);
-var setPrototypeOf = __w_pdfjs_require__(87);
-var setToStringTag = __w_pdfjs_require__(85);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var redefine = __w_pdfjs_require__(28);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var IS_PURE = __w_pdfjs_require__(36);
-var Iterators = __w_pdfjs_require__(86);
-var IteratorsCore = __w_pdfjs_require__(81);
-var IteratorPrototype = IteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-var returnThis = function () {
- return this;
-};
-module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
- var getIterationMethod = function (KIND) {
-  if (KIND === DEFAULT && defaultIterator)
-   return defaultIterator;
-  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
-   return IterablePrototype[KIND];
-  switch (KIND) {
-  case KEYS:
-   return function keys() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case VALUES:
-   return function values() {
-    return new IteratorConstructor(this, KIND);
-   };
-  case ENTRIES:
-   return function entries() {
-    return new IteratorConstructor(this, KIND);
-   };
-  }
-  return function () {
-   return new IteratorConstructor(this);
-  };
- };
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
- if (anyNativeIterator) {
-  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
-  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
-   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
-    if (setPrototypeOf) {
-     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
-    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
-     createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
-    }
-   }
-   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
-   if (IS_PURE)
-    Iterators[TO_STRING_TAG] = returnThis;
-  }
- }
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
-  INCORRECT_VALUES_NAME = true;
-  defaultIterator = function values() {
-   return nativeIterator.call(this);
-  };
- }
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
-  createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
- }
- Iterators[NAME] = defaultIterator;
- if (DEFAULT) {
-  methods = {
-   values: getIterationMethod(VALUES),
-   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
-   entries: getIterationMethod(ENTRIES)
-  };
-  if (FORCED)
-   for (KEY in methods) {
-    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
-     redefine(IterablePrototype, KEY, methods[KEY]);
-    }
-   }
-  else
-   $({
-    target: NAME,
-    proto: true,
-    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
-   }, methods);
- }
- return methods;
-};
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;
-var create = __w_pdfjs_require__(71);
-var createPropertyDescriptor = __w_pdfjs_require__(15);
-var setToStringTag = __w_pdfjs_require__(85);
-var Iterators = __w_pdfjs_require__(86);
-var returnThis = function () {
- return this;
-};
-module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
-};
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getPrototypeOf = __w_pdfjs_require__(82);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var has = __w_pdfjs_require__(22);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var IS_PURE = __w_pdfjs_require__(36);
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-var returnThis = function () {
- return this;
-};
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-if ([].keys) {
- arrayIterator = [].keys();
- if (!('next' in arrayIterator))
-  BUGGY_SAFARI_ITERATORS = true;
- else {
-  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
-  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
-   IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
-}
-if (IteratorPrototype == undefined)
- IteratorPrototype = {};
-if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
- createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
-}
-module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(22);
-var toObject = __w_pdfjs_require__(83);
-var sharedKey = __w_pdfjs_require__(34);
-var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);
-var IE_PROTO = sharedKey('IE_PROTO');
-var ObjectPrototype = Object.prototype;
-module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO))
-  return O[IE_PROTO];
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
-  return O.constructor.prototype;
- }
- return O instanceof Object ? ObjectPrototype : null;
-};
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var requireObjectCoercible = __w_pdfjs_require__(19);
-module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
-};
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-module.exports = !fails(function () {
- function F() {
- }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineProperty = __w_pdfjs_require__(26).f;
-var has = __w_pdfjs_require__(22);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
-  defineProperty(it, TO_STRING_TAG, {
-   configurable: true,
-   value: TAG
-  });
- }
-};
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-var aPossiblePrototype = __w_pdfjs_require__(88);
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
-  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
-  setter.call(test, []);
-  CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- }
- return function setPrototypeOf(O, proto) {
-  anObject(O);
-  aPossiblePrototype(proto);
-  if (CORRECT_SETTER)
-   setter.call(O, proto);
-  else
-   O.__proto__ = proto;
-  return O;
- };
-}() : undefined);
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-module.exports = function (it) {
- if (!isObject(it) && it !== null) {
-  throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
- return it;
-};
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var from = __w_pdfjs_require__(90);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(97);
-var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
-});
-$({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
-}, { from: from });
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var bind = __w_pdfjs_require__(62);
-var toObject = __w_pdfjs_require__(83);
-var callWithSafeIterationClosing = __w_pdfjs_require__(91);
-var isArrayIteratorMethod = __w_pdfjs_require__(92);
-var toLength = __w_pdfjs_require__(46);
-var createProperty = __w_pdfjs_require__(93);
-var getIteratorMethod = __w_pdfjs_require__(94);
-module.exports = function from(arrayLike) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var iteratorMethod = getIteratorMethod(O);
- var index = 0;
- var length, result, step, iterator, next, value;
- if (mapping)
-  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
-  iterator = iteratorMethod.call(O);
-  next = iterator.next;
-  result = new C();
-  for (; !(step = next.call(iterator)).done; index++) {
-   value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [
-    step.value,
-    index
-   ], true) : step.value;
-   createProperty(result, index, value);
-  }
- } else {
-  length = toLength(O.length);
-  result = new C(length);
-  for (; length > index; index++) {
-   value = mapping ? mapfn(O[index], index) : O[index];
-   createProperty(result, index, value);
-  }
- }
- result.length = index;
- return result;
-};
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-module.exports = function (iterator, fn, value, ENTRIES) {
- try {
-  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- } catch (error) {
-  var returnMethod = iterator['return'];
-  if (returnMethod !== undefined)
-   anObject(returnMethod.call(iterator));
-  throw error;
- }
-};
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var Iterators = __w_pdfjs_require__(86);
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toPrimitive = __w_pdfjs_require__(20);
-var definePropertyModule = __w_pdfjs_require__(26);
-var createPropertyDescriptor = __w_pdfjs_require__(15);
-module.exports = function (object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object)
-  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
-  object[propertyKey] = value;
-};
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(95);
-var Iterators = __w_pdfjs_require__(86);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = function (it) {
- if (it != undefined)
-  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
-};
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);
-var classofRaw = __w_pdfjs_require__(18);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
-}()) == 'Arguments';
-var tryGet = function (it, key) {
- try {
-  return it[key];
- } catch (error) {
- }
-};
-module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-test[TO_STRING_TAG] = 'z';
-module.exports = String(test) === '[object z]';
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var ITERATOR = wellKnownSymbol('iterator');
-var SAFE_CLOSING = false;
-try {
- var called = 0;
- var iteratorWithReturn = {
-  next: function () {
-   return { done: !!called++ };
-  },
-  'return': function () {
-   SAFE_CLOSING = true;
-  }
- };
- iteratorWithReturn[ITERATOR] = function () {
-  return this;
- };
- Array.from(iteratorWithReturn, function () {
-  throw 2;
- });
-} catch (error) {
-}
-module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING)
-  return false;
- var ITERATION_SUPPORT = false;
- try {
-  var object = {};
-  object[ITERATOR] = function () {
-   return {
-    next: function () {
-     return { done: ITERATION_SUPPORT = true };
-    }
-   };
-  };
-  exec(object);
- } catch (error) {
- }
- return ITERATION_SUPPORT;
-};
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(99);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Object.assign;
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var assign = __w_pdfjs_require__(100);
-$({
- target: 'Object',
- stat: true,
- forced: Object.assign !== assign
-}, { assign: assign });
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var fails = __w_pdfjs_require__(13);
-var objectKeys = __w_pdfjs_require__(73);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(50);
-var propertyIsEnumerableModule = __w_pdfjs_require__(14);
-var toObject = __w_pdfjs_require__(83);
-var IndexedObject = __w_pdfjs_require__(17);
-var nativeAssign = Object.assign;
-var defineProperty = Object.defineProperty;
-module.exports = !nativeAssign || fails(function () {
- if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
-   enumerable: true,
-   get: function () {
-    defineProperty(this, 'b', {
-     value: 3,
-     enumerable: false
-    });
-   }
-  }), { b: 2 })).b !== 1)
-  return true;
- var A = {};
- var B = {};
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
-  B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-}) ? function assign(target, source) {
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
- while (argumentsLength > index) {
-  var S = IndexedObject(arguments[index++]);
-  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
-  var length = keys.length;
-  var j = 0;
-  var key;
-  while (length > j) {
-   key = keys[j++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
-    T[key] = S[key];
-  }
- }
- return T;
-} : nativeAssign;
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(102);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Math.log2;
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var log = Math.log;
-var LN2 = Math.LN2;
-$({
- target: 'Math',
- stat: true
-}, {
- log2: function log2(x) {
-  return log(x) / LN2;
- }
-});
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(104);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Number.isNaN;
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-$({
- target: 'Number',
- stat: true
-}, {
- isNaN: function isNaN(number) {
-  return number != number;
- }
-});
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(106);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Number.isInteger;
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var isInteger = __w_pdfjs_require__(107);
-$({
- target: 'Number',
- stat: true
-}, { isInteger: isInteger });
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-var floor = Math.floor;
-module.exports = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(77);
-__w_pdfjs_require__(111);
-__w_pdfjs_require__(114);
-__w_pdfjs_require__(130);
-__w_pdfjs_require__(131);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Promise;
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);
-var redefine = __w_pdfjs_require__(28);
-var toString = __w_pdfjs_require__(110);
-if (!TO_STRING_TAG_SUPPORT) {
- redefine(Object.prototype, 'toString', toString, { unsafe: true });
-}
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);
-var classof = __w_pdfjs_require__(95);
-module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
- return '[object ' + classof(this) + ']';
-};
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var DOMIterables = __w_pdfjs_require__(112);
-var ArrayIteratorMethods = __w_pdfjs_require__(113);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var ITERATOR = wellKnownSymbol('iterator');
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var ArrayValues = ArrayIteratorMethods.values;
-for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
- if (CollectionPrototype) {
-  if (CollectionPrototype[ITERATOR] !== ArrayValues)
-   try {
-    createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
-   } catch (error) {
-    CollectionPrototype[ITERATOR] = ArrayValues;
-   }
-  if (!CollectionPrototype[TO_STRING_TAG]) {
-   createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
-  }
-  if (DOMIterables[COLLECTION_NAME])
-   for (var METHOD_NAME in ArrayIteratorMethods) {
-    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
-     try {
-      createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
-     } catch (error) {
-      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
-     }
-   }
- }
-}
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports) {
-
-module.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
-};
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toIndexedObject = __w_pdfjs_require__(16);
-var addToUnscopables = __w_pdfjs_require__(70);
-var Iterators = __w_pdfjs_require__(86);
-var InternalStateModule = __w_pdfjs_require__(32);
-var defineIterator = __w_pdfjs_require__(79);
-var ARRAY_ITERATOR = 'Array Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
-module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState(this, {
-  type: ARRAY_ITERATOR,
-  target: toIndexedObject(iterated),
-  index: 0,
-  kind: kind
- });
-}, function () {
- var state = getInternalState(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
- if (!target || index >= target.length) {
-  state.target = undefined;
-  return {
-   value: undefined,
-   done: true
-  };
- }
- if (kind == 'keys')
-  return {
-   value: index,
-   done: false
-  };
- if (kind == 'values')
-  return {
-   value: target[index],
-   done: false
-  };
- return {
-  value: [
-   index,
-   target[index]
-  ],
-  done: false
- };
-}, 'values');
-Iterators.Arguments = Iterators.Array;
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var IS_PURE = __w_pdfjs_require__(36);
-var global = __w_pdfjs_require__(10);
-var getBuiltIn = __w_pdfjs_require__(41);
-var NativePromise = __w_pdfjs_require__(115);
-var redefine = __w_pdfjs_require__(28);
-var redefineAll = __w_pdfjs_require__(116);
-var setToStringTag = __w_pdfjs_require__(85);
-var setSpecies = __w_pdfjs_require__(117);
-var isObject = __w_pdfjs_require__(21);
-var aFunction = __w_pdfjs_require__(63);
-var anInstance = __w_pdfjs_require__(118);
-var classof = __w_pdfjs_require__(18);
-var inspectSource = __w_pdfjs_require__(30);
-var iterate = __w_pdfjs_require__(119);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(97);
-var speciesConstructor = __w_pdfjs_require__(120);
-var task = __w_pdfjs_require__(121).set;
-var microtask = __w_pdfjs_require__(124);
-var promiseResolve = __w_pdfjs_require__(125);
-var hostReportErrors = __w_pdfjs_require__(127);
-var newPromiseCapabilityModule = __w_pdfjs_require__(126);
-var perform = __w_pdfjs_require__(128);
-var InternalStateModule = __w_pdfjs_require__(32);
-var isForced = __w_pdfjs_require__(51);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var V8_VERSION = __w_pdfjs_require__(129);
-var SPECIES = wellKnownSymbol('species');
-var PROMISE = 'Promise';
-var getInternalState = InternalStateModule.get;
-var setInternalState = InternalStateModule.set;
-var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
-var PromiseConstructor = NativePromise;
-var TypeError = global.TypeError;
-var document = global.document;
-var process = global.process;
-var $fetch = getBuiltIn('fetch');
-var newPromiseCapability = newPromiseCapabilityModule.f;
-var newGenericPromiseCapability = newPromiseCapability;
-var IS_NODE = classof(process) == 'process';
-var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
-var UNHANDLED_REJECTION = 'unhandledrejection';
-var REJECTION_HANDLED = 'rejectionhandled';
-var PENDING = 0;
-var FULFILLED = 1;
-var REJECTED = 2;
-var HANDLED = 1;
-var UNHANDLED = 2;
-var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
-var FORCED = isForced(PROMISE, function () {
- var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
- if (!GLOBAL_CORE_JS_PROMISE) {
-  if (V8_VERSION === 66)
-   return true;
-  if (!IS_NODE && typeof PromiseRejectionEvent != 'function')
-   return true;
- }
- if (IS_PURE && !PromiseConstructor.prototype['finally'])
-  return true;
- if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))
-  return false;
- var promise = PromiseConstructor.resolve(1);
- var FakePromise = function (exec) {
-  exec(function () {
-  }, function () {
-  });
- };
- var constructor = promise.constructor = {};
- constructor[SPECIES] = FakePromise;
- return !(promise.then(function () {
- }) instanceof FakePromise);
-});
-var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- });
-});
-var isThenable = function (it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, state, isReject) {
- if (state.notified)
-  return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
-  var value = state.value;
-  var ok = state.state == FULFILLED;
-  var index = 0;
-  while (chain.length > index) {
-   var reaction = chain[index++];
-   var handler = ok ? reaction.ok : reaction.fail;
-   var resolve = reaction.resolve;
-   var reject = reaction.reject;
-   var domain = reaction.domain;
-   var result, then, exited;
-   try {
-    if (handler) {
-     if (!ok) {
-      if (state.rejection === UNHANDLED)
-       onHandleUnhandled(promise, state);
-      state.rejection = HANDLED;
-     }
-     if (handler === true)
-      result = value;
-     else {
-      if (domain)
-       domain.enter();
-      result = handler(value);
-      if (domain) {
-       domain.exit();
-       exited = true;
-      }
-     }
-     if (result === reaction.promise) {
-      reject(TypeError('Promise-chain cycle'));
-     } else if (then = isThenable(result)) {
-      then.call(result, resolve, reject);
-     } else
-      resolve(result);
-    } else
-     reject(value);
-   } catch (error) {
-    if (domain && !exited)
-     domain.exit();
-    reject(error);
-   }
-  }
-  state.reactions = [];
-  state.notified = false;
-  if (isReject && !state.rejection)
-   onUnhandled(promise, state);
- });
-};
-var dispatchEvent = function (name, promise, reason) {
- var event, handler;
- if (DISPATCH_EVENT) {
-  event = document.createEvent('Event');
-  event.promise = promise;
-  event.reason = reason;
-  event.initEvent(name, false, true);
-  global.dispatchEvent(event);
- } else
-  event = {
-   promise: promise,
-   reason: reason
-  };
- if (handler = global['on' + name])
-  handler(event);
- else if (name === UNHANDLED_REJECTION)
-  hostReportErrors('Unhandled promise rejection', reason);
-};
-var onUnhandled = function (promise, state) {
- task.call(global, function () {
-  var value = state.value;
-  var IS_UNHANDLED = isUnhandled(state);
-  var result;
-  if (IS_UNHANDLED) {
-   result = perform(function () {
-    if (IS_NODE) {
-     process.emit('unhandledRejection', value, promise);
-    } else
-     dispatchEvent(UNHANDLED_REJECTION, promise, value);
-   });
-   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
-   if (result.error)
-    throw result.value;
-  }
- });
-};
-var isUnhandled = function (state) {
- return state.rejection !== HANDLED && !state.parent;
-};
-var onHandleUnhandled = function (promise, state) {
- task.call(global, function () {
-  if (IS_NODE) {
-   process.emit('rejectionHandled', promise);
-  } else
-   dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
-};
-var bind = function (fn, promise, state, unwrap) {
- return function (value) {
-  fn(promise, state, value, unwrap);
- };
-};
-var internalReject = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify(promise, state, true);
-};
-var internalResolve = function (promise, state, value, unwrap) {
- if (state.done)
-  return;
- state.done = true;
- if (unwrap)
-  state = unwrap;
- try {
-  if (promise === value)
-   throw TypeError("Promise can't be resolved itself");
-  var then = isThenable(value);
-  if (then) {
-   microtask(function () {
-    var wrapper = { done: false };
-    try {
-     then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
-    } catch (error) {
-     internalReject(promise, wrapper, error, state);
-    }
-   });
-  } else {
-   state.value = value;
-   state.state = FULFILLED;
-   notify(promise, state, false);
-  }
- } catch (error) {
-  internalReject(promise, { done: false }, error, state);
- }
-};
-if (FORCED) {
- PromiseConstructor = function Promise(executor) {
-  anInstance(this, PromiseConstructor, PROMISE);
-  aFunction(executor);
-  Internal.call(this);
-  var state = getInternalState(this);
-  try {
-   executor(bind(internalResolve, this, state), bind(internalReject, this, state));
-  } catch (error) {
-   internalReject(this, state, error);
-  }
- };
- Internal = function Promise(executor) {
-  setInternalState(this, {
-   type: PROMISE,
-   done: false,
-   notified: false,
-   parent: false,
-   reactions: [],
-   rejection: false,
-   state: PENDING,
-   value: undefined
-  });
- };
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
-  then: function then(onFulfilled, onRejected) {
-   var state = getInternalPromiseState(this);
-   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
-   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
-   reaction.fail = typeof onRejected == 'function' && onRejected;
-   reaction.domain = IS_NODE ? process.domain : undefined;
-   state.parent = true;
-   state.reactions.push(reaction);
-   if (state.state != PENDING)
-    notify(this, state, false);
-   return reaction.promise;
-  },
-  'catch': function (onRejected) {
-   return this.then(undefined, onRejected);
-  }
- });
- OwnPromiseCapability = function () {
-  var promise = new Internal();
-  var state = getInternalState(promise);
-  this.promise = promise;
-  this.resolve = bind(internalResolve, promise, state);
-  this.reject = bind(internalReject, promise, state);
- };
- newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
-  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
- };
- if (!IS_PURE && typeof NativePromise == 'function') {
-  nativeThen = NativePromise.prototype.then;
-  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
-   var that = this;
-   return new PromiseConstructor(function (resolve, reject) {
-    nativeThen.call(that, resolve, reject);
-   }).then(onFulfilled, onRejected);
-  }, { unsafe: true });
-  if (typeof $fetch == 'function')
-   $({
-    global: true,
-    enumerable: true,
-    forced: true
-   }, {
-    fetch: function fetch(input) {
-     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
-    }
-   });
- }
-}
-$({
- global: true,
- wrap: true,
- forced: FORCED
-}, { Promise: PromiseConstructor });
-setToStringTag(PromiseConstructor, PROMISE, false, true);
-setSpecies(PROMISE);
-PromiseWrapper = getBuiltIn(PROMISE);
-$({
- target: PROMISE,
- stat: true,
- forced: FORCED
-}, {
- reject: function reject(r) {
-  var capability = newPromiseCapability(this);
-  capability.reject.call(undefined, r);
-  return capability.promise;
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: IS_PURE || FORCED
-}, {
- resolve: function resolve(x) {
-  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION
-}, {
- all: function all(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    $promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = value;
-     --remaining || resolve(values);
-    }, reject);
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- },
- race: function race(iterable) {
-  var C = this;
-  var capability = newPromiseCapability(C);
-  var reject = capability.reject;
-  var result = perform(function () {
-   var $promiseResolve = aFunction(C.resolve);
-   iterate(iterable, function (promise) {
-    $promiseResolve.call(C, promise).then(capability.resolve, reject);
-   });
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-module.exports = global.Promise;
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(28);
-module.exports = function (target, src, options) {
- for (var key in src)
-  redefine(target, key, src[key], options);
- return target;
-};
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getBuiltIn = __w_pdfjs_require__(41);
-var definePropertyModule = __w_pdfjs_require__(26);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
-  defineProperty(Constructor, SPECIES, {
-   configurable: true,
-   get: function () {
-    return this;
-   }
-  });
- }
-};
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
-  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
- return it;
-};
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-var isArrayIteratorMethod = __w_pdfjs_require__(92);
-var toLength = __w_pdfjs_require__(46);
-var bind = __w_pdfjs_require__(62);
-var getIteratorMethod = __w_pdfjs_require__(94);
-var callWithSafeIterationClosing = __w_pdfjs_require__(91);
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, next, step;
- if (IS_ITERATOR) {
-  iterator = iterable;
- } else {
-  iterFn = getIteratorMethod(iterable);
-  if (typeof iterFn != 'function')
-   throw TypeError('Target is not iterable');
-  if (isArrayIteratorMethod(iterFn)) {
-   for (index = 0, length = toLength(iterable.length); length > index; index++) {
-    result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
-    if (result && result instanceof Result)
-     return result;
-   }
-   return new Result(false);
-  }
-  iterator = iterFn.call(iterable);
- }
- next = iterator.next;
- while (!(step = next.call(iterator)).done) {
-  result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
-  if (typeof result == 'object' && result && result instanceof Result)
-   return result;
- }
- return new Result(false);
-};
-iterate.stop = function (result) {
- return new Result(true, result);
-};
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-var aFunction = __w_pdfjs_require__(63);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
-};
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var fails = __w_pdfjs_require__(13);
-var classof = __w_pdfjs_require__(18);
-var bind = __w_pdfjs_require__(62);
-var html = __w_pdfjs_require__(74);
-var createElement = __w_pdfjs_require__(24);
-var IS_IOS = __w_pdfjs_require__(122);
-var location = global.location;
-var set = global.setImmediate;
-var clear = global.clearImmediate;
-var process = global.process;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function (id) {
- if (queue.hasOwnProperty(id)) {
-  var fn = queue[id];
-  delete queue[id];
-  fn();
- }
-};
-var runner = function (id) {
- return function () {
-  run(id);
- };
-};
-var listener = function (event) {
- run(event.data);
-};
-var post = function (id) {
- global.postMessage(id + '', location.protocol + '//' + location.host);
-};
-if (!set || !clear) {
- set = function setImmediate(fn) {
-  var args = [];
-  var i = 1;
-  while (arguments.length > i)
-   args.push(arguments[i++]);
-  queue[++counter] = function () {
-   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
-  };
-  defer(counter);
-  return counter;
- };
- clear = function clearImmediate(id) {
-  delete queue[id];
- };
- if (classof(process) == 'process') {
-  defer = function (id) {
-   process.nextTick(runner(id));
-  };
- } else if (Dispatch && Dispatch.now) {
-  defer = function (id) {
-   Dispatch.now(runner(id));
-  };
- } else if (MessageChannel && !IS_IOS) {
-  channel = new MessageChannel();
-  port = channel.port2;
-  channel.port1.onmessage = listener;
-  defer = bind(port.postMessage, port, 1);
- } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {
-  defer = post;
-  global.addEventListener('message', listener, false);
- } else if (ONREADYSTATECHANGE in createElement('script')) {
-  defer = function (id) {
-   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
-    html.removeChild(this);
-    run(id);
-   };
-  };
- } else {
-  defer = function (id) {
-   setTimeout(runner(id), 0);
-  };
- }
-}
-module.exports = {
- set: set,
- clear: clear
-};
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(123);
-module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(41);
-module.exports = getBuiltIn('navigator', 'userAgent') || '';
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;
-var classof = __w_pdfjs_require__(18);
-var macrotask = __w_pdfjs_require__(121).set;
-var IS_IOS = __w_pdfjs_require__(122);
-var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var IS_NODE = classof(process) == 'process';
-var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
-var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
-var flush, head, last, notify, toggle, node, promise, then;
-if (!queueMicrotask) {
- flush = function () {
-  var parent, fn;
-  if (IS_NODE && (parent = process.domain))
-   parent.exit();
-  while (head) {
-   fn = head.fn;
-   head = head.next;
-   try {
-    fn();
-   } catch (error) {
-    if (head)
-     notify();
-    else
-     last = undefined;
-    throw error;
-   }
-  }
-  last = undefined;
-  if (parent)
-   parent.enter();
- };
- if (IS_NODE) {
-  notify = function () {
-   process.nextTick(flush);
-  };
- } else if (MutationObserver && !IS_IOS) {
-  toggle = true;
-  node = document.createTextNode('');
-  new MutationObserver(flush).observe(node, { characterData: true });
-  notify = function () {
-   node.data = toggle = !toggle;
-  };
- } else if (Promise && Promise.resolve) {
-  promise = Promise.resolve(undefined);
-  then = promise.then;
-  notify = function () {
-   then.call(promise, flush);
-  };
- } else {
-  notify = function () {
-   macrotask.call(global, flush);
-  };
- }
-}
-module.exports = queueMicrotask || function (fn) {
- var task = {
-  fn: fn,
-  next: undefined
- };
- if (last)
-  last.next = task;
- if (!head) {
-  head = task;
-  notify();
- }
- last = task;
-};
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-var isObject = __w_pdfjs_require__(21);
-var newPromiseCapability = __w_pdfjs_require__(126);
-module.exports = function (C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C)
-  return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
-};
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var aFunction = __w_pdfjs_require__(63);
-var PromiseCapability = function (C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
-  if (resolve !== undefined || reject !== undefined)
-   throw TypeError('Bad Promise constructor');
-  resolve = $$resolve;
-  reject = $$reject;
- });
- this.resolve = aFunction(resolve);
- this.reject = aFunction(reject);
-};
-module.exports.f = function (C) {
- return new PromiseCapability(C);
-};
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-module.exports = function (a, b) {
- var console = global.console;
- if (console && console.error) {
-  arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
-};
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
-  return {
-   error: false,
-   value: exec()
-  };
- } catch (error) {
-  return {
-   error: true,
-   value: error
-  };
- }
-};
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var userAgent = __w_pdfjs_require__(123);
-var process = global.process;
-var versions = process && process.versions;
-var v8 = versions && versions.v8;
-var match, version;
-if (v8) {
- match = v8.split('.');
- version = match[0] + match[1];
-} else if (userAgent) {
- match = userAgent.match(/Edge\/(\d+)/);
- if (!match || match[1] >= 74) {
-  match = userAgent.match(/Chrome\/(\d+)/);
-  if (match)
-   version = match[1];
- }
-}
-module.exports = version && +version;
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var aFunction = __w_pdfjs_require__(63);
-var newPromiseCapabilityModule = __w_pdfjs_require__(126);
-var perform = __w_pdfjs_require__(128);
-var iterate = __w_pdfjs_require__(119);
-$({
- target: 'Promise',
- stat: true
-}, {
- allSettled: function allSettled(iterable) {
-  var C = this;
-  var capability = newPromiseCapabilityModule.f(C);
-  var resolve = capability.resolve;
-  var reject = capability.reject;
-  var result = perform(function () {
-   var promiseResolve = aFunction(C.resolve);
-   var values = [];
-   var counter = 0;
-   var remaining = 1;
-   iterate(iterable, function (promise) {
-    var index = counter++;
-    var alreadyCalled = false;
-    values.push(undefined);
-    remaining++;
-    promiseResolve.call(C, promise).then(function (value) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'fulfilled',
-      value: value
-     };
-     --remaining || resolve(values);
-    }, function (e) {
-     if (alreadyCalled)
-      return;
-     alreadyCalled = true;
-     values[index] = {
-      status: 'rejected',
-      reason: e
-     };
-     --remaining || resolve(values);
-    });
-   });
-   --remaining || resolve(values);
-  });
-  if (result.error)
-   reject(result.value);
-  return capability.promise;
- }
-});
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var IS_PURE = __w_pdfjs_require__(36);
-var NativePromise = __w_pdfjs_require__(115);
-var fails = __w_pdfjs_require__(13);
-var getBuiltIn = __w_pdfjs_require__(41);
-var speciesConstructor = __w_pdfjs_require__(120);
-var promiseResolve = __w_pdfjs_require__(125);
-var redefine = __w_pdfjs_require__(28);
-var NON_GENERIC = !!NativePromise && fails(function () {
- NativePromise.prototype['finally'].call({
-  then: function () {
-  }
- }, function () {
- });
-});
-$({
- target: 'Promise',
- proto: true,
- real: true,
- forced: NON_GENERIC
-}, {
- 'finally': function (onFinally) {
-  var C = speciesConstructor(this, getBuiltIn('Promise'));
-  var isFunction = typeof onFinally == 'function';
-  return this.then(isFunction ? function (x) {
-   return promiseResolve(C, onFinally()).then(function () {
-    return x;
-   });
-  } : onFinally, isFunction ? function (e) {
-   return promiseResolve(C, onFinally()).then(function () {
-    throw e;
-   });
-  } : onFinally);
- }
-});
-if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
- redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
-}
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(133);
-__w_pdfjs_require__(138);
-__w_pdfjs_require__(136);
-var path = __w_pdfjs_require__(42);
-module.exports = path.URL;
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(77);
-var $ = __w_pdfjs_require__(9);
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var USE_NATIVE_URL = __w_pdfjs_require__(134);
-var global = __w_pdfjs_require__(10);
-var defineProperties = __w_pdfjs_require__(72);
-var redefine = __w_pdfjs_require__(28);
-var anInstance = __w_pdfjs_require__(118);
-var has = __w_pdfjs_require__(22);
-var assign = __w_pdfjs_require__(100);
-var arrayFrom = __w_pdfjs_require__(90);
-var codeAt = __w_pdfjs_require__(78).codeAt;
-var toASCII = __w_pdfjs_require__(135);
-var setToStringTag = __w_pdfjs_require__(85);
-var URLSearchParamsModule = __w_pdfjs_require__(136);
-var InternalStateModule = __w_pdfjs_require__(32);
-var NativeURL = global.URL;
-var URLSearchParams = URLSearchParamsModule.URLSearchParams;
-var getInternalSearchParamsState = URLSearchParamsModule.getState;
-var setInternalState = InternalStateModule.set;
-var getInternalURLState = InternalStateModule.getterFor('URL');
-var floor = Math.floor;
-var pow = Math.pow;
-var INVALID_AUTHORITY = 'Invalid authority';
-var INVALID_SCHEME = 'Invalid scheme';
-var INVALID_HOST = 'Invalid host';
-var INVALID_PORT = 'Invalid port';
-var ALPHA = /[A-Za-z]/;
-var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
-var DIGIT = /\d/;
-var HEX_START = /^(0x|0X)/;
-var OCT = /^[0-7]+$/;
-var DEC = /^\d+$/;
-var HEX = /^[\dA-Fa-f]+$/;
-var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
-var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
-var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
-var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
-var EOF;
-var parseHost = function (url, input) {
- var result, codePoints, index;
- if (input.charAt(0) == '[') {
-  if (input.charAt(input.length - 1) != ']')
-   return INVALID_HOST;
-  result = parseIPv6(input.slice(1, -1));
-  if (!result)
-   return INVALID_HOST;
-  url.host = result;
- } else if (!isSpecial(url)) {
-  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
-   return INVALID_HOST;
-  result = '';
-  codePoints = arrayFrom(input);
-  for (index = 0; index < codePoints.length; index++) {
-   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
-  }
-  url.host = result;
- } else {
-  input = toASCII(input);
-  if (FORBIDDEN_HOST_CODE_POINT.test(input))
-   return INVALID_HOST;
-  result = parseIPv4(input);
-  if (result === null)
-   return INVALID_HOST;
-  url.host = result;
- }
-};
-var parseIPv4 = function (input) {
- var parts = input.split('.');
- var partsLength, numbers, index, part, radix, number, ipv4;
- if (parts.length && parts[parts.length - 1] == '') {
-  parts.pop();
- }
- partsLength = parts.length;
- if (partsLength > 4)
-  return input;
- numbers = [];
- for (index = 0; index < partsLength; index++) {
-  part = parts[index];
-  if (part == '')
-   return input;
-  radix = 10;
-  if (part.length > 1 && part.charAt(0) == '0') {
-   radix = HEX_START.test(part) ? 16 : 8;
-   part = part.slice(radix == 8 ? 1 : 2);
-  }
-  if (part === '') {
-   number = 0;
-  } else {
-   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
-    return input;
-   number = parseInt(part, radix);
-  }
-  numbers.push(number);
- }
- for (index = 0; index < partsLength; index++) {
-  number = numbers[index];
-  if (index == partsLength - 1) {
-   if (number >= pow(256, 5 - partsLength))
-    return null;
-  } else if (number > 255)
-   return null;
- }
- ipv4 = numbers.pop();
- for (index = 0; index < numbers.length; index++) {
-  ipv4 += numbers[index] * pow(256, 3 - index);
- }
- return ipv4;
-};
-var parseIPv6 = function (input) {
- var address = [
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0
- ];
- var pieceIndex = 0;
- var compress = null;
- var pointer = 0;
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
- var char = function () {
-  return input.charAt(pointer);
- };
- if (char() == ':') {
-  if (input.charAt(1) != ':')
-   return;
-  pointer += 2;
-  pieceIndex++;
-  compress = pieceIndex;
- }
- while (char()) {
-  if (pieceIndex == 8)
-   return;
-  if (char() == ':') {
-   if (compress !== null)
-    return;
-   pointer++;
-   pieceIndex++;
-   compress = pieceIndex;
-   continue;
-  }
-  value = length = 0;
-  while (length < 4 && HEX.test(char())) {
-   value = value * 16 + parseInt(char(), 16);
-   pointer++;
-   length++;
-  }
-  if (char() == '.') {
-   if (length == 0)
-    return;
-   pointer -= length;
-   if (pieceIndex > 6)
-    return;
-   numbersSeen = 0;
-   while (char()) {
-    ipv4Piece = null;
-    if (numbersSeen > 0) {
-     if (char() == '.' && numbersSeen < 4)
-      pointer++;
-     else
-      return;
-    }
-    if (!DIGIT.test(char()))
-     return;
-    while (DIGIT.test(char())) {
-     number = parseInt(char(), 10);
-     if (ipv4Piece === null)
-      ipv4Piece = number;
-     else if (ipv4Piece == 0)
-      return;
-     else
-      ipv4Piece = ipv4Piece * 10 + number;
-     if (ipv4Piece > 255)
-      return;
-     pointer++;
-    }
-    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
-    numbersSeen++;
-    if (numbersSeen == 2 || numbersSeen == 4)
-     pieceIndex++;
-   }
-   if (numbersSeen != 4)
-    return;
-   break;
-  } else if (char() == ':') {
-   pointer++;
-   if (!char())
-    return;
-  } else if (char())
-   return;
-  address[pieceIndex++] = value;
- }
- if (compress !== null) {
-  swaps = pieceIndex - compress;
-  pieceIndex = 7;
-  while (pieceIndex != 0 && swaps > 0) {
-   swap = address[pieceIndex];
-   address[pieceIndex--] = address[compress + swaps - 1];
-   address[compress + --swaps] = swap;
-  }
- } else if (pieceIndex != 8)
-  return;
- return address;
-};
-var findLongestZeroSequence = function (ipv6) {
- var maxIndex = null;
- var maxLength = 1;
- var currStart = null;
- var currLength = 0;
- var index = 0;
- for (; index < 8; index++) {
-  if (ipv6[index] !== 0) {
-   if (currLength > maxLength) {
-    maxIndex = currStart;
-    maxLength = currLength;
-   }
-   currStart = null;
-   currLength = 0;
-  } else {
-   if (currStart === null)
-    currStart = index;
-   ++currLength;
-  }
- }
- if (currLength > maxLength) {
-  maxIndex = currStart;
-  maxLength = currLength;
- }
- return maxIndex;
-};
-var serializeHost = function (host) {
- var result, index, compress, ignore0;
- if (typeof host == 'number') {
-  result = [];
-  for (index = 0; index < 4; index++) {
-   result.unshift(host % 256);
-   host = floor(host / 256);
-  }
-  return result.join('.');
- } else if (typeof host == 'object') {
-  result = '';
-  compress = findLongestZeroSequence(host);
-  for (index = 0; index < 8; index++) {
-   if (ignore0 && host[index] === 0)
-    continue;
-   if (ignore0)
-    ignore0 = false;
-   if (compress === index) {
-    result += index ? ':' : '::';
-    ignore0 = true;
-   } else {
-    result += host[index].toString(16);
-    if (index < 7)
-     result += ':';
-   }
-  }
-  return '[' + result + ']';
- }
- return host;
-};
-var C0ControlPercentEncodeSet = {};
-var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
- ' ': 1,
- '"': 1,
- '<': 1,
- '>': 1,
- '`': 1
-});
-var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
- '#': 1,
- '?': 1,
- '{': 1,
- '}': 1
-});
-var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
- '/': 1,
- ':': 1,
- ';': 1,
- '=': 1,
- '@': 1,
- '[': 1,
- '\\': 1,
- ']': 1,
- '^': 1,
- '|': 1
-});
-var percentEncode = function (char, set) {
- var code = codeAt(char, 0);
- return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
-};
-var specialSchemes = {
- ftp: 21,
- file: null,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
-};
-var isSpecial = function (url) {
- return has(specialSchemes, url.scheme);
-};
-var includesCredentials = function (url) {
- return url.username != '' || url.password != '';
-};
-var cannotHaveUsernamePasswordPort = function (url) {
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
-};
-var isWindowsDriveLetter = function (string, normalized) {
- var second;
- return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
-};
-var startsWithWindowsDriveLetter = function (string) {
- var third;
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
-};
-var shortenURLsPath = function (url) {
- var path = url.path;
- var pathSize = path.length;
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
-  path.pop();
- }
-};
-var isSingleDot = function (segment) {
- return segment === '.' || segment.toLowerCase() === '%2e';
-};
-var isDoubleDot = function (segment) {
- segment = segment.toLowerCase();
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
-};
-var SCHEME_START = {};
-var SCHEME = {};
-var NO_SCHEME = {};
-var SPECIAL_RELATIVE_OR_AUTHORITY = {};
-var PATH_OR_AUTHORITY = {};
-var RELATIVE = {};
-var RELATIVE_SLASH = {};
-var SPECIAL_AUTHORITY_SLASHES = {};
-var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
-var AUTHORITY = {};
-var HOST = {};
-var HOSTNAME = {};
-var PORT = {};
-var FILE = {};
-var FILE_SLASH = {};
-var FILE_HOST = {};
-var PATH_START = {};
-var PATH = {};
-var CANNOT_BE_A_BASE_URL_PATH = {};
-var QUERY = {};
-var FRAGMENT = {};
-var parseURL = function (url, input, stateOverride, base) {
- var state = stateOverride || SCHEME_START;
- var pointer = 0;
- var buffer = '';
- var seenAt = false;
- var seenBracket = false;
- var seenPasswordToken = false;
- var codePoints, char, bufferCodePoints, failure;
- if (!stateOverride) {
-  url.scheme = '';
-  url.username = '';
-  url.password = '';
-  url.host = null;
-  url.port = null;
-  url.path = [];
-  url.query = null;
-  url.fragment = null;
-  url.cannotBeABaseURL = false;
-  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
- }
- input = input.replace(TAB_AND_NEW_LINE, '');
- codePoints = arrayFrom(input);
- while (pointer <= codePoints.length) {
-  char = codePoints[pointer];
-  switch (state) {
-  case SCHEME_START:
-   if (char && ALPHA.test(char)) {
-    buffer += char.toLowerCase();
-    state = SCHEME;
-   } else if (!stateOverride) {
-    state = NO_SCHEME;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case SCHEME:
-   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
-    buffer += char.toLowerCase();
-   } else if (char == ':') {
-    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
-     return;
-    url.scheme = buffer;
-    if (stateOverride) {
-     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
-      url.port = null;
-     return;
-    }
-    buffer = '';
-    if (url.scheme == 'file') {
-     state = FILE;
-    } else if (isSpecial(url) && base && base.scheme == url.scheme) {
-     state = SPECIAL_RELATIVE_OR_AUTHORITY;
-    } else if (isSpecial(url)) {
-     state = SPECIAL_AUTHORITY_SLASHES;
-    } else if (codePoints[pointer + 1] == '/') {
-     state = PATH_OR_AUTHORITY;
-     pointer++;
-    } else {
-     url.cannotBeABaseURL = true;
-     url.path.push('');
-     state = CANNOT_BE_A_BASE_URL_PATH;
-    }
-   } else if (!stateOverride) {
-    buffer = '';
-    state = NO_SCHEME;
-    pointer = 0;
-    continue;
-   } else
-    return INVALID_SCHEME;
-   break;
-  case NO_SCHEME:
-   if (!base || base.cannotBeABaseURL && char != '#')
-    return INVALID_SCHEME;
-   if (base.cannotBeABaseURL && char == '#') {
-    url.scheme = base.scheme;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    url.cannotBeABaseURL = true;
-    state = FRAGMENT;
-    break;
-   }
-   state = base.scheme == 'file' ? FILE : RELATIVE;
-   continue;
-  case SPECIAL_RELATIVE_OR_AUTHORITY:
-   if (char == '/' && codePoints[pointer + 1] == '/') {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-    pointer++;
-   } else {
-    state = RELATIVE;
-    continue;
-   }
-   break;
-  case PATH_OR_AUTHORITY:
-   if (char == '/') {
-    state = AUTHORITY;
-    break;
-   } else {
-    state = PATH;
-    continue;
-   }
-  case RELATIVE:
-   url.scheme = base.scheme;
-   if (char == EOF) {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-   } else if (char == '/' || char == '\\' && isSpecial(url)) {
-    state = RELATIVE_SLASH;
-   } else if (char == '?') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.query = base.query;
-    url.fragment = '';
-    state = FRAGMENT;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    url.path = base.path.slice();
-    url.path.pop();
-    state = PATH;
-    continue;
-   }
-   break;
-  case RELATIVE_SLASH:
-   if (isSpecial(url) && (char == '/' || char == '\\')) {
-    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   } else if (char == '/') {
-    state = AUTHORITY;
-   } else {
-    url.username = base.username;
-    url.password = base.password;
-    url.host = base.host;
-    url.port = base.port;
-    state = PATH;
-    continue;
-   }
-   break;
-  case SPECIAL_AUTHORITY_SLASHES:
-   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
-   if (char != '/' || buffer.charAt(pointer + 1) != '/')
-    continue;
-   pointer++;
-   break;
-  case SPECIAL_AUTHORITY_IGNORE_SLASHES:
-   if (char != '/' && char != '\\') {
-    state = AUTHORITY;
-    continue;
-   }
-   break;
-  case AUTHORITY:
-   if (char == '@') {
-    if (seenAt)
-     buffer = '%40' + buffer;
-    seenAt = true;
-    bufferCodePoints = arrayFrom(buffer);
-    for (var i = 0; i < bufferCodePoints.length; i++) {
-     var codePoint = bufferCodePoints[i];
-     if (codePoint == ':' && !seenPasswordToken) {
-      seenPasswordToken = true;
-      continue;
-     }
-     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
-     if (seenPasswordToken)
-      url.password += encodedCodePoints;
-     else
-      url.username += encodedCodePoints;
-    }
-    buffer = '';
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (seenAt && buffer == '')
-     return INVALID_AUTHORITY;
-    pointer -= arrayFrom(buffer).length + 1;
-    buffer = '';
-    state = HOST;
-   } else
-    buffer += char;
-   break;
-  case HOST:
-  case HOSTNAME:
-   if (stateOverride && url.scheme == 'file') {
-    state = FILE_HOST;
-    continue;
-   } else if (char == ':' && !seenBracket) {
-    if (buffer == '')
-     return INVALID_HOST;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PORT;
-    if (stateOverride == HOSTNAME)
-     return;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
-    if (isSpecial(url) && buffer == '')
-     return INVALID_HOST;
-    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
-     return;
-    failure = parseHost(url, buffer);
-    if (failure)
-     return failure;
-    buffer = '';
-    state = PATH_START;
-    if (stateOverride)
-     return;
-    continue;
-   } else {
-    if (char == '[')
-     seenBracket = true;
-    else if (char == ']')
-     seenBracket = false;
-    buffer += char;
-   }
-   break;
-  case PORT:
-   if (DIGIT.test(char)) {
-    buffer += char;
-   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) {
-    if (buffer != '') {
-     var port = parseInt(buffer, 10);
-     if (port > 0xFFFF)
-      return INVALID_PORT;
-     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
-     buffer = '';
-    }
-    if (stateOverride)
-     return;
-    state = PATH_START;
-    continue;
-   } else
-    return INVALID_PORT;
-   break;
-  case FILE:
-   url.scheme = 'file';
-   if (char == '/' || char == '\\')
-    state = FILE_SLASH;
-   else if (base && base.scheme == 'file') {
-    if (char == EOF) {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-    } else if (char == '?') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.host = base.host;
-     url.path = base.path.slice();
-     url.query = base.query;
-     url.fragment = '';
-     state = FRAGMENT;
-    } else {
-     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-      url.host = base.host;
-      url.path = base.path.slice();
-      shortenURLsPath(url);
-     }
-     state = PATH;
-     continue;
-    }
-   } else {
-    state = PATH;
-    continue;
-   }
-   break;
-  case FILE_SLASH:
-   if (char == '/' || char == '\\') {
-    state = FILE_HOST;
-    break;
-   }
-   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
-    if (isWindowsDriveLetter(base.path[0], true))
-     url.path.push(base.path[0]);
-    else
-     url.host = base.host;
-   }
-   state = PATH;
-   continue;
-  case FILE_HOST:
-   if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
-    if (!stateOverride && isWindowsDriveLetter(buffer)) {
-     state = PATH;
-    } else if (buffer == '') {
-     url.host = '';
-     if (stateOverride)
-      return;
-     state = PATH_START;
-    } else {
-     failure = parseHost(url, buffer);
-     if (failure)
-      return failure;
-     if (url.host == 'localhost')
-      url.host = '';
-     if (stateOverride)
-      return;
-     buffer = '';
-     state = PATH_START;
-    }
-    continue;
-   } else
-    buffer += char;
-   break;
-  case PATH_START:
-   if (isSpecial(url)) {
-    state = PATH;
-    if (char != '/' && char != '\\')
-     continue;
-   } else if (!stateOverride && char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    state = PATH;
-    if (char != '/')
-     continue;
-   }
-   break;
-  case PATH:
-   if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {
-    if (isDoubleDot(buffer)) {
-     shortenURLsPath(url);
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else if (isSingleDot(buffer)) {
-     if (char != '/' && !(char == '\\' && isSpecial(url))) {
-      url.path.push('');
-     }
-    } else {
-     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
-      if (url.host)
-       url.host = '';
-      buffer = buffer.charAt(0) + ':';
-     }
-     url.path.push(buffer);
-    }
-    buffer = '';
-    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
-     while (url.path.length > 1 && url.path[0] === '') {
-      url.path.shift();
-     }
-    }
-    if (char == '?') {
-     url.query = '';
-     state = QUERY;
-    } else if (char == '#') {
-     url.fragment = '';
-     state = FRAGMENT;
-    }
-   } else {
-    buffer += percentEncode(char, pathPercentEncodeSet);
-   }
-   break;
-  case CANNOT_BE_A_BASE_URL_PATH:
-   if (char == '?') {
-    url.query = '';
-    state = QUERY;
-   } else if (char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case QUERY:
-   if (!stateOverride && char == '#') {
-    url.fragment = '';
-    state = FRAGMENT;
-   } else if (char != EOF) {
-    if (char == "'" && isSpecial(url))
-     url.query += '%27';
-    else if (char == '#')
-     url.query += '%23';
-    else
-     url.query += percentEncode(char, C0ControlPercentEncodeSet);
-   }
-   break;
-  case FRAGMENT:
-   if (char != EOF)
-    url.fragment += percentEncode(char, fragmentPercentEncodeSet);
-   break;
-  }
-  pointer++;
- }
-};
-var URLConstructor = function URL(url) {
- var that = anInstance(this, URLConstructor, 'URL');
- var base = arguments.length > 1 ? arguments[1] : undefined;
- var urlString = String(url);
- var state = setInternalState(that, { type: 'URL' });
- var baseState, failure;
- if (base !== undefined) {
-  if (base instanceof URLConstructor)
-   baseState = getInternalURLState(base);
-  else {
-   failure = parseURL(baseState = {}, String(base));
-   if (failure)
-    throw TypeError(failure);
-  }
- }
- failure = parseURL(state, urlString, null, baseState);
- if (failure)
-  throw TypeError(failure);
- var searchParams = state.searchParams = new URLSearchParams();
- var searchParamsState = getInternalSearchParamsState(searchParams);
- searchParamsState.updateSearchParams(state.query);
- searchParamsState.updateURL = function () {
-  state.query = String(searchParams) || null;
- };
- if (!DESCRIPTORS) {
-  that.href = serializeURL.call(that);
-  that.origin = getOrigin.call(that);
-  that.protocol = getProtocol.call(that);
-  that.username = getUsername.call(that);
-  that.password = getPassword.call(that);
-  that.host = getHost.call(that);
-  that.hostname = getHostname.call(that);
-  that.port = getPort.call(that);
-  that.pathname = getPathname.call(that);
-  that.search = getSearch.call(that);
-  that.searchParams = getSearchParams.call(that);
-  that.hash = getHash.call(that);
- }
-};
-var URLPrototype = URLConstructor.prototype;
-var serializeURL = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var username = url.username;
- var password = url.password;
- var host = url.host;
- var port = url.port;
- var path = url.path;
- var query = url.query;
- var fragment = url.fragment;
- var output = scheme + ':';
- if (host !== null) {
-  output += '//';
-  if (includesCredentials(url)) {
-   output += username + (password ? ':' + password : '') + '@';
-  }
-  output += serializeHost(host);
-  if (port !== null)
-   output += ':' + port;
- } else if (scheme == 'file')
-  output += '//';
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- if (query !== null)
-  output += '?' + query;
- if (fragment !== null)
-  output += '#' + fragment;
- return output;
-};
-var getOrigin = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var port = url.port;
- if (scheme == 'blob')
-  try {
-   return new URL(scheme.path[0]).origin;
-  } catch (error) {
-   return 'null';
-  }
- if (scheme == 'file' || !isSpecial(url))
-  return 'null';
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
-};
-var getProtocol = function () {
- return getInternalURLState(this).scheme + ':';
-};
-var getUsername = function () {
- return getInternalURLState(this).username;
-};
-var getPassword = function () {
- return getInternalURLState(this).password;
-};
-var getHost = function () {
- var url = getInternalURLState(this);
- var host = url.host;
- var port = url.port;
- return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
-};
-var getHostname = function () {
- var host = getInternalURLState(this).host;
- return host === null ? '' : serializeHost(host);
-};
-var getPort = function () {
- var port = getInternalURLState(this).port;
- return port === null ? '' : String(port);
-};
-var getPathname = function () {
- var url = getInternalURLState(this);
- var path = url.path;
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
-};
-var getSearch = function () {
- var query = getInternalURLState(this).query;
- return query ? '?' + query : '';
-};
-var getSearchParams = function () {
- return getInternalURLState(this).searchParams;
-};
-var getHash = function () {
- var fragment = getInternalURLState(this).fragment;
- return fragment ? '#' + fragment : '';
-};
-var accessorDescriptor = function (getter, setter) {
- return {
-  get: getter,
-  set: setter,
-  configurable: true,
-  enumerable: true
- };
-};
-if (DESCRIPTORS) {
- defineProperties(URLPrototype, {
-  href: accessorDescriptor(serializeURL, function (href) {
-   var url = getInternalURLState(this);
-   var urlString = String(href);
-   var failure = parseURL(url, urlString);
-   if (failure)
-    throw TypeError(failure);
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  origin: accessorDescriptor(getOrigin),
-  protocol: accessorDescriptor(getProtocol, function (protocol) {
-   var url = getInternalURLState(this);
-   parseURL(url, String(protocol) + ':', SCHEME_START);
-  }),
-  username: accessorDescriptor(getUsername, function (username) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(username));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.username = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  password: accessorDescriptor(getPassword, function (password) {
-   var url = getInternalURLState(this);
-   var codePoints = arrayFrom(String(password));
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   url.password = '';
-   for (var i = 0; i < codePoints.length; i++) {
-    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
-   }
-  }),
-  host: accessorDescriptor(getHost, function (host) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(host), HOST);
-  }),
-  hostname: accessorDescriptor(getHostname, function (hostname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   parseURL(url, String(hostname), HOSTNAME);
-  }),
-  port: accessorDescriptor(getPort, function (port) {
-   var url = getInternalURLState(this);
-   if (cannotHaveUsernamePasswordPort(url))
-    return;
-   port = String(port);
-   if (port == '')
-    url.port = null;
-   else
-    parseURL(url, port, PORT);
-  }),
-  pathname: accessorDescriptor(getPathname, function (pathname) {
-   var url = getInternalURLState(this);
-   if (url.cannotBeABaseURL)
-    return;
-   url.path = [];
-   parseURL(url, pathname + '', PATH_START);
-  }),
-  search: accessorDescriptor(getSearch, function (search) {
-   var url = getInternalURLState(this);
-   search = String(search);
-   if (search == '') {
-    url.query = null;
-   } else {
-    if ('?' == search.charAt(0))
-     search = search.slice(1);
-    url.query = '';
-    parseURL(url, search, QUERY);
-   }
-   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
-  }),
-  searchParams: accessorDescriptor(getSearchParams),
-  hash: accessorDescriptor(getHash, function (hash) {
-   var url = getInternalURLState(this);
-   hash = String(hash);
-   if (hash == '') {
-    url.fragment = null;
-    return;
-   }
-   if ('#' == hash.charAt(0))
-    hash = hash.slice(1);
-   url.fragment = '';
-   parseURL(url, hash, FRAGMENT);
-  })
- });
-}
-redefine(URLPrototype, 'toJSON', function toJSON() {
- return serializeURL.call(this);
-}, { enumerable: true });
-redefine(URLPrototype, 'toString', function toString() {
- return serializeURL.call(this);
-}, { enumerable: true });
-if (NativeURL) {
- var nativeCreateObjectURL = NativeURL.createObjectURL;
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
- if (nativeCreateObjectURL)
-  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
-   return nativeCreateObjectURL.apply(NativeURL, arguments);
-  });
- if (nativeRevokeObjectURL)
-  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
-   return nativeRevokeObjectURL.apply(NativeURL, arguments);
-  });
-}
-setToStringTag(URLConstructor, 'URL');
-$({
- global: true,
- forced: !USE_NATIVE_URL,
- sham: !DESCRIPTORS
-}, { URL: URLConstructor });
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var IS_PURE = __w_pdfjs_require__(36);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = !fails(function () {
- var url = new URL('b?a=1&b=2&c=3', 'http://a');
- var searchParams = url.searchParams;
- var result = '';
- url.pathname = 'c%20d';
- searchParams.forEach(function (value, key) {
-  searchParams['delete']('b');
-  result += key + value;
- });
- return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';
-});
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var maxInt = 2147483647;
-var base = 36;
-var tMin = 1;
-var tMax = 26;
-var skew = 38;
-var damp = 700;
-var initialBias = 72;
-var initialN = 128;
-var delimiter = '-';
-var regexNonASCII = /[^\0-\u007E]/;
-var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
-var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
-var baseMinusTMin = base - tMin;
-var floor = Math.floor;
-var stringFromCharCode = String.fromCharCode;
-var ucs2decode = function (string) {
- var output = [];
- var counter = 0;
- var length = string.length;
- while (counter < length) {
-  var value = string.charCodeAt(counter++);
-  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
-   var extra = string.charCodeAt(counter++);
-   if ((extra & 0xFC00) == 0xDC00) {
-    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
-   } else {
-    output.push(value);
-    counter--;
-   }
-  } else {
-   output.push(value);
-  }
- }
- return output;
-};
-var digitToBasic = function (digit) {
- return digit + 22 + 75 * (digit < 26);
-};
-var adapt = function (delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor(delta / damp) : delta >> 1;
- delta += floor(delta / numPoints);
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
-  delta = floor(delta / baseMinusTMin);
- }
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
-};
-var encode = function (input) {
- var output = [];
- input = ucs2decode(input);
- var inputLength = input.length;
- var n = initialN;
- var delta = 0;
- var bias = initialBias;
- var i, currentValue;
- for (i = 0; i < input.length; i++) {
-  currentValue = input[i];
-  if (currentValue < 0x80) {
-   output.push(stringFromCharCode(currentValue));
-  }
- }
- var basicLength = output.length;
- var handledCPCount = basicLength;
- if (basicLength) {
-  output.push(delimiter);
- }
- while (handledCPCount < inputLength) {
-  var m = maxInt;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue >= n && currentValue < m) {
-    m = currentValue;
-   }
-  }
-  var handledCPCountPlusOne = handledCPCount + 1;
-  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
-   throw RangeError(OVERFLOW_ERROR);
-  }
-  delta += (m - n) * handledCPCountPlusOne;
-  n = m;
-  for (i = 0; i < input.length; i++) {
-   currentValue = input[i];
-   if (currentValue < n && ++delta > maxInt) {
-    throw RangeError(OVERFLOW_ERROR);
-   }
-   if (currentValue == n) {
-    var q = delta;
-    for (var k = base;; k += base) {
-     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
-     if (q < t)
-      break;
-     var qMinusT = q - t;
-     var baseMinusT = base - t;
-     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
-     q = floor(qMinusT / baseMinusT);
-    }
-    output.push(stringFromCharCode(digitToBasic(q)));
-    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
-    delta = 0;
-    ++handledCPCount;
-   }
-  }
-  ++delta;
-  ++n;
- }
- return output.join('');
-};
-module.exports = function (input) {
- var encoded = [];
- var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
- var i, label;
- for (i = 0; i < labels.length; i++) {
-  label = labels[i];
-  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
- }
- return encoded.join('.');
-};
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(113);
-var $ = __w_pdfjs_require__(9);
-var getBuiltIn = __w_pdfjs_require__(41);
-var USE_NATIVE_URL = __w_pdfjs_require__(134);
-var redefine = __w_pdfjs_require__(28);
-var redefineAll = __w_pdfjs_require__(116);
-var setToStringTag = __w_pdfjs_require__(85);
-var createIteratorConstructor = __w_pdfjs_require__(80);
-var InternalStateModule = __w_pdfjs_require__(32);
-var anInstance = __w_pdfjs_require__(118);
-var hasOwn = __w_pdfjs_require__(22);
-var bind = __w_pdfjs_require__(62);
-var classof = __w_pdfjs_require__(95);
-var anObject = __w_pdfjs_require__(27);
-var isObject = __w_pdfjs_require__(21);
-var create = __w_pdfjs_require__(71);
-var createPropertyDescriptor = __w_pdfjs_require__(15);
-var getIterator = __w_pdfjs_require__(137);
-var getIteratorMethod = __w_pdfjs_require__(94);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var $fetch = getBuiltIn('fetch');
-var Headers = getBuiltIn('Headers');
-var ITERATOR = wellKnownSymbol('iterator');
-var URL_SEARCH_PARAMS = 'URLSearchParams';
-var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
-var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
-var plus = /\+/g;
-var sequences = Array(4);
-var percentSequence = function (bytes) {
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
-};
-var percentDecode = function (sequence) {
- try {
-  return decodeURIComponent(sequence);
- } catch (error) {
-  return sequence;
- }
-};
-var deserialize = function (it) {
- var result = it.replace(plus, ' ');
- var bytes = 4;
- try {
-  return decodeURIComponent(result);
- } catch (error) {
-  while (bytes) {
-   result = result.replace(percentSequence(bytes--), percentDecode);
-  }
-  return result;
- }
-};
-var find = /[!'()~]|%20/g;
-var replace = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+'
-};
-var replacer = function (match) {
- return replace[match];
-};
-var serialize = function (it) {
- return encodeURIComponent(it).replace(find, replacer);
-};
-var parseSearchParams = function (result, query) {
- if (query) {
-  var attributes = query.split('&');
-  var index = 0;
-  var attribute, entry;
-  while (index < attributes.length) {
-   attribute = attributes[index++];
-   if (attribute.length) {
-    entry = attribute.split('=');
-    result.push({
-     key: deserialize(entry.shift()),
-     value: deserialize(entry.join('='))
-    });
-   }
-  }
- }
-};
-var updateSearchParams = function (query) {
- this.entries.length = 0;
- parseSearchParams(this.entries, query);
-};
-var validateArgumentsLength = function (passed, required) {
- if (passed < required)
-  throw TypeError('Not enough arguments');
-};
-var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState(this, {
-  type: URL_SEARCH_PARAMS_ITERATOR,
-  iterator: getIterator(getInternalParamsState(params).entries),
-  kind: kind
- });
-}, 'Iterator', function next() {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var step = state.iterator.next();
- var entry = step.value;
- if (!step.done) {
-  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
-   entry.key,
-   entry.value
-  ];
- }
- return step;
-});
-var URLSearchParamsConstructor = function URLSearchParams() {
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- var init = arguments.length > 0 ? arguments[0] : undefined;
- var that = this;
- var entries = [];
- var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
- setInternalState(that, {
-  type: URL_SEARCH_PARAMS,
-  entries: entries,
-  updateURL: function () {
-  },
-  updateSearchParams: updateSearchParams
- });
- if (init !== undefined) {
-  if (isObject(init)) {
-   iteratorMethod = getIteratorMethod(init);
-   if (typeof iteratorMethod === 'function') {
-    iterator = iteratorMethod.call(init);
-    next = iterator.next;
-    while (!(step = next.call(iterator)).done) {
-     entryIterator = getIterator(anObject(step.value));
-     entryNext = entryIterator.next;
-     if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)
-      throw TypeError('Expected sequence with length 2');
-     entries.push({
-      key: first.value + '',
-      value: second.value + ''
-     });
-    }
-   } else
-    for (key in init)
-     if (hasOwn(init, key))
-      entries.push({
-       key: key,
-       value: init[key] + ''
-      });
-  } else {
-   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
-  }
- }
-};
-var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
-redefineAll(URLSearchParamsPrototype, {
- append: function append(name, value) {
-  validateArgumentsLength(arguments.length, 2);
-  var state = getInternalParamsState(this);
-  state.entries.push({
-   key: name + '',
-   value: value + ''
-  });
-  state.updateURL();
- },
- 'delete': function (name) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index].key === key)
-    entries.splice(index, 1);
-   else
-    index++;
-  }
-  state.updateURL();
- },
- get: function get(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    return entries[index].value;
-  }
-  return null;
- },
- getAll: function getAll(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var result = [];
-  var index = 0;
-  for (; index < entries.length; index++) {
-   if (entries[index].key === key)
-    result.push(entries[index].value);
-  }
-  return result;
- },
- has: function has(name) {
-  validateArgumentsLength(arguments.length, 1);
-  var entries = getInternalParamsState(this).entries;
-  var key = name + '';
-  var index = 0;
-  while (index < entries.length) {
-   if (entries[index++].key === key)
-    return true;
-  }
-  return false;
- },
- set: function set(name, value) {
-  validateArgumentsLength(arguments.length, 1);
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var found = false;
-  var key = name + '';
-  var val = value + '';
-  var index = 0;
-  var entry;
-  for (; index < entries.length; index++) {
-   entry = entries[index];
-   if (entry.key === key) {
-    if (found)
-     entries.splice(index--, 1);
-    else {
-     found = true;
-     entry.value = val;
-    }
-   }
-  }
-  if (!found)
-   entries.push({
-    key: key,
-    value: val
-   });
-  state.updateURL();
- },
- sort: function sort() {
-  var state = getInternalParamsState(this);
-  var entries = state.entries;
-  var slice = entries.slice();
-  var entry, entriesIndex, sliceIndex;
-  entries.length = 0;
-  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
-   entry = slice[sliceIndex];
-   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
-    if (entries[entriesIndex].key > entry.key) {
-     entries.splice(entriesIndex, 0, entry);
-     break;
-    }
-   }
-   if (entriesIndex === sliceIndex)
-    entries.push(entry);
-  }
-  state.updateURL();
- },
- forEach: function forEach(callback) {
-  var entries = getInternalParamsState(this).entries;
-  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
-  var index = 0;
-  var entry;
-  while (index < entries.length) {
-   entry = entries[index++];
-   boundFunction(entry.value, entry.key, this);
-  }
- },
- keys: function keys() {
-  return new URLSearchParamsIterator(this, 'keys');
- },
- values: function values() {
-  return new URLSearchParamsIterator(this, 'values');
- },
- entries: function entries() {
-  return new URLSearchParamsIterator(this, 'entries');
- }
-}, { enumerable: true });
-redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
-redefine(URLSearchParamsPrototype, 'toString', function toString() {
- var entries = getInternalParamsState(this).entries;
- var result = [];
- var index = 0;
- var entry;
- while (index < entries.length) {
-  entry = entries[index++];
-  result.push(serialize(entry.key) + '=' + serialize(entry.value));
- }
- return result.join('&');
-}, { enumerable: true });
-setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
-$({
- global: true,
- forced: !USE_NATIVE_URL
-}, { URLSearchParams: URLSearchParamsConstructor });
-if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
- $({
-  global: true,
-  enumerable: true,
-  forced: true
- }, {
-  fetch: function fetch(input) {
-   var args = [input];
-   var init, body, headers;
-   if (arguments.length > 1) {
-    init = arguments[1];
-    if (isObject(init)) {
-     body = init.body;
-     if (classof(body) === URL_SEARCH_PARAMS) {
-      headers = init.headers ? new Headers(init.headers) : new Headers();
-      if (!headers.has('content-type')) {
-       headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
-      }
-      init = create(init, {
-       body: createPropertyDescriptor(0, String(body)),
-       headers: createPropertyDescriptor(0, headers)
-      });
-     }
-    }
-    args.push(init);
-   }
-   return $fetch.apply(this, args);
-  }
- });
-}
-module.exports = {
- URLSearchParams: URLSearchParamsConstructor,
- getState: getInternalParamsState
-};
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(27);
-var getIteratorMethod = __w_pdfjs_require__(94);
-module.exports = function (it) {
- var iteratorMethod = getIteratorMethod(it);
- if (typeof iteratorMethod != 'function') {
-  throw TypeError(String(it) + ' is not iterable');
- }
- return anObject(iteratorMethod.call(it));
-};
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-$({
- target: 'URL',
- proto: true,
- enumerable: true
-}, {
- toJSON: function toJSON() {
-  return URL.prototype.toString.call(this);
- }
-});
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-(function (global, factory) {
-  true ? factory(exports) : undefined;
-}(this, function (exports) {
- 'use strict';
- var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
-  return "Symbol(" + description + ")";
- };
- function noop() {
- }
- var NumberIsNaN = Number.isNaN || function (x) {
-  return x !== x;
- };
- var rethrowAssertionErrorRejection = noop;
- function typeIsObject(x) {
-  return typeof x === 'object' && x !== null || typeof x === 'function';
- }
- function createArrayFromList(elements) {
-  return elements.slice();
- }
- function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
-  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
- }
- function IsFiniteNonNegativeNumber(v) {
-  if (IsNonNegativeNumber(v) === false) {
-   return false;
-  }
-  if (v === Infinity) {
-   return false;
-  }
-  return true;
- }
- function IsNonNegativeNumber(v) {
-  if (typeof v !== 'number') {
-   return false;
-  }
-  if (NumberIsNaN(v)) {
-   return false;
-  }
-  if (v < 0) {
-   return false;
-  }
-  return true;
- }
- function Call(F, V, args) {
-  if (typeof F !== 'function') {
-   throw new TypeError('Argument is not a function');
-  }
-  return Function.prototype.apply.call(F, V, args);
- }
- function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
-  var method = underlyingObject[methodName];
-  if (method !== undefined) {
-   if (typeof method !== 'function') {
-    throw new TypeError(method + " is not a method");
-   }
-   switch (algoArgCount) {
-   case 0: {
-     return function () {
-      return PromiseCall(method, underlyingObject, extraArgs);
-     };
-    }
-   case 1: {
-     return function (arg) {
-      var fullArgs = [arg].concat(extraArgs);
-      return PromiseCall(method, underlyingObject, fullArgs);
-     };
-    }
-   }
-  }
-  return function () {
-   return promiseResolvedWith(undefined);
-  };
- }
- function InvokeOrNoop(O, P, args) {
-  var method = O[P];
-  if (method === undefined) {
-   return undefined;
-  }
-  return Call(method, O, args);
- }
- function PromiseCall(F, V, args) {
-  try {
-   return promiseResolvedWith(Call(F, V, args));
-  } catch (value) {
-   return promiseRejectedWith(value);
-  }
- }
- function TransferArrayBuffer(O) {
-  return O;
- }
- function IsDetachedBuffer(O) {
-  return false;
- }
- function ValidateAndNormalizeHighWaterMark(highWaterMark) {
-  highWaterMark = Number(highWaterMark);
-  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
-   throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
-  }
-  return highWaterMark;
- }
- function MakeSizeAlgorithmFromSizeFunction(size) {
-  if (size === undefined) {
-   return function () {
-    return 1;
-   };
-  }
-  if (typeof size !== 'function') {
-   throw new TypeError('size property of a queuing strategy must be a function');
-  }
-  return function (chunk) {
-   return size(chunk);
-  };
- }
- var originalPromise = Promise;
- var originalPromiseThen = Promise.prototype.then;
- var originalPromiseResolve = Promise.resolve.bind(originalPromise);
- var originalPromiseReject = Promise.reject.bind(originalPromise);
- function newPromise(executor) {
-  return new originalPromise(executor);
- }
- function promiseResolvedWith(value) {
-  return originalPromiseResolve(value);
- }
- function promiseRejectedWith(reason) {
-  return originalPromiseReject(reason);
- }
- function PerformPromiseThen(promise, onFulfilled, onRejected) {
-  return originalPromiseThen.call(promise, onFulfilled, onRejected);
- }
- function uponPromise(promise, onFulfilled, onRejected) {
-  PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
- }
- function uponFulfillment(promise, onFulfilled) {
-  uponPromise(promise, onFulfilled);
- }
- function uponRejection(promise, onRejected) {
-  uponPromise(promise, undefined, onRejected);
- }
- function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
-  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
- }
- function setPromiseIsHandledToTrue(promise) {
-  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);
- }
- var QUEUE_MAX_ARRAY_SIZE = 16384;
- var SimpleQueue = function () {
-  function SimpleQueue() {
-   this._cursor = 0;
-   this._size = 0;
-   this._front = {
-    _elements: [],
-    _next: undefined
-   };
-   this._back = this._front;
-   this._cursor = 0;
-   this._size = 0;
-  }
-  Object.defineProperty(SimpleQueue.prototype, "length", {
-   get: function () {
-    return this._size;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  SimpleQueue.prototype.push = function (element) {
-   var oldBack = this._back;
-   var newBack = oldBack;
-   if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
-    newBack = {
-     _elements: [],
-     _next: undefined
-    };
-   }
-   oldBack._elements.push(element);
-   if (newBack !== oldBack) {
-    this._back = newBack;
-    oldBack._next = newBack;
-   }
-   ++this._size;
-  };
-  SimpleQueue.prototype.shift = function () {
-   var oldFront = this._front;
-   var newFront = oldFront;
-   var oldCursor = this._cursor;
-   var newCursor = oldCursor + 1;
-   var elements = oldFront._elements;
-   var element = elements[oldCursor];
-   if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
-    newFront = oldFront._next;
-    newCursor = 0;
-   }
-   --this._size;
-   this._cursor = newCursor;
-   if (oldFront !== newFront) {
-    this._front = newFront;
-   }
-   elements[oldCursor] = undefined;
-   return element;
-  };
-  SimpleQueue.prototype.forEach = function (callback) {
-   var i = this._cursor;
-   var node = this._front;
-   var elements = node._elements;
-   while (i !== elements.length || node._next !== undefined) {
-    if (i === elements.length) {
-     node = node._next;
-     elements = node._elements;
-     i = 0;
-     if (elements.length === 0) {
-      break;
-     }
-    }
-    callback(elements[i]);
-    ++i;
-   }
-  };
-  SimpleQueue.prototype.peek = function () {
-   var front = this._front;
-   var cursor = this._cursor;
-   return front._elements[cursor];
-  };
-  return SimpleQueue;
- }();
- function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
-  var prototype = null;
-  if (forAuthorCode === true) {
-   prototype = Object.prototype;
-  }
-  var obj = Object.create(prototype);
-  obj.value = value;
-  obj.done = done;
-  return obj;
- }
- function ReadableStreamReaderGenericInitialize(reader, stream) {
-  reader._forAuthorCode = true;
-  reader._ownerReadableStream = stream;
-  stream._reader = reader;
-  if (stream._state === 'readable') {
-   defaultReaderClosedPromiseInitialize(reader);
-  } else if (stream._state === 'closed') {
-   defaultReaderClosedPromiseInitializeAsResolved(reader);
-  } else {
-   defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
-  }
- }
- function ReadableStreamReaderGenericCancel(reader, reason) {
-  var stream = reader._ownerReadableStream;
-  return ReadableStreamCancel(stream, reason);
- }
- function ReadableStreamReaderGenericRelease(reader) {
-  if (reader._ownerReadableStream._state === 'readable') {
-   defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
-  } else {
-   defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
-  }
-  reader._ownerReadableStream._reader = undefined;
-  reader._ownerReadableStream = undefined;
- }
- function readerLockException(name) {
-  return new TypeError('Cannot ' + name + ' a stream using a released reader');
- }
- function defaultReaderClosedPromiseInitialize(reader) {
-  reader._closedPromise = newPromise(function (resolve, reject) {
-   reader._closedPromise_resolve = resolve;
-   reader._closedPromise_reject = reject;
-  });
- }
- function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
-  defaultReaderClosedPromiseInitialize(reader);
-  defaultReaderClosedPromiseReject(reader, reason);
- }
- function defaultReaderClosedPromiseInitializeAsResolved(reader) {
-  defaultReaderClosedPromiseInitialize(reader);
-  defaultReaderClosedPromiseResolve(reader);
- }
- function defaultReaderClosedPromiseReject(reader, reason) {
-  setPromiseIsHandledToTrue(reader._closedPromise);
-  reader._closedPromise_reject(reason);
-  reader._closedPromise_resolve = undefined;
-  reader._closedPromise_reject = undefined;
- }
- function defaultReaderClosedPromiseResetToRejected(reader, reason) {
-  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
- }
- function defaultReaderClosedPromiseResolve(reader) {
-  reader._closedPromise_resolve(undefined);
-  reader._closedPromise_resolve = undefined;
-  reader._closedPromise_reject = undefined;
- }
- var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
- var PullSteps = SymbolPolyfill('[[PullSteps]]');
- function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
-  if (forAuthorCode === void 0) {
-   forAuthorCode = false;
-  }
-  var reader = new ReadableStreamDefaultReader(stream);
-  reader._forAuthorCode = forAuthorCode;
-  return reader;
- }
- function ReadableStreamAddReadRequest(stream) {
-  var promise = newPromise(function (resolve, reject) {
-   var readRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._reader._readRequests.push(readRequest);
-  });
-  return promise;
- }
- function ReadableStreamFulfillReadRequest(stream, chunk, done) {
-  var reader = stream._reader;
-  var readRequest = reader._readRequests.shift();
-  readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
- }
- function ReadableStreamGetNumReadRequests(stream) {
-  return stream._reader._readRequests.length;
- }
- function ReadableStreamHasDefaultReader(stream) {
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return false;
-  }
-  if (!IsReadableStreamDefaultReader(reader)) {
-   return false;
-  }
-  return true;
- }
- var ReadableStreamDefaultReader = function () {
-  function ReadableStreamDefaultReader(stream) {
-   if (IsReadableStream(stream) === false) {
-    throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
-   }
-   if (IsReadableStreamLocked(stream) === true) {
-    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-   }
-   ReadableStreamReaderGenericInitialize(this, stream);
-   this._readRequests = new SimpleQueue();
-  }
-  Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
-   get: function () {
-    if (!IsReadableStreamDefaultReader(this)) {
-     return promiseRejectedWith(defaultReaderBrandCheckException('closed'));
-    }
-    return this._closedPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamDefaultReader.prototype.cancel = function (reason) {
-   if (!IsReadableStreamDefaultReader(this)) {
-    return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('cancel'));
-   }
-   return ReadableStreamReaderGenericCancel(this, reason);
-  };
-  ReadableStreamDefaultReader.prototype.read = function () {
-   if (!IsReadableStreamDefaultReader(this)) {
-    return promiseRejectedWith(defaultReaderBrandCheckException('read'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('read from'));
-   }
-   return ReadableStreamDefaultReaderRead(this);
-  };
-  ReadableStreamDefaultReader.prototype.releaseLock = function () {
-   if (!IsReadableStreamDefaultReader(this)) {
-    throw defaultReaderBrandCheckException('releaseLock');
-   }
-   if (this._ownerReadableStream === undefined) {
-    return;
-   }
-   if (this._readRequests.length > 0) {
-    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
-   }
-   ReadableStreamReaderGenericRelease(this);
-  };
-  return ReadableStreamDefaultReader;
- }();
- function IsReadableStreamDefaultReader(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamDefaultReaderRead(reader) {
-  var stream = reader._ownerReadableStream;
-  stream._disturbed = true;
-  if (stream._state === 'closed') {
-   return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
-  }
-  if (stream._state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  return stream._readableStreamController[PullSteps]();
- }
- function defaultReaderBrandCheckException(name) {
-  return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
- }
- var _a;
- var AsyncIteratorPrototype;
- if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
-  AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
-   return this;
-  }, _a);
-  Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
- }
- var ReadableStreamAsyncIteratorPrototype = {
-  next: function () {
-   if (IsReadableStreamAsyncIterator(this) === false) {
-    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
-   }
-   var reader = this._asyncIteratorReader;
-   if (reader._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('iterate'));
-   }
-   return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
-    var done = result.done;
-    if (done) {
-     ReadableStreamReaderGenericRelease(reader);
-    }
-    var value = result.value;
-    return ReadableStreamCreateReadResult(value, done, true);
-   });
-  },
-  return: function (value) {
-   if (IsReadableStreamAsyncIterator(this) === false) {
-    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
-   }
-   var reader = this._asyncIteratorReader;
-   if (reader._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('finish iterating'));
-   }
-   if (reader._readRequests.length > 0) {
-    return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));
-   }
-   if (this._preventCancel === false) {
-    var result = ReadableStreamReaderGenericCancel(reader, value);
-    ReadableStreamReaderGenericRelease(reader);
-    return transformPromiseWith(result, function () {
-     return ReadableStreamCreateReadResult(value, true, true);
-    });
-   }
-   ReadableStreamReaderGenericRelease(reader);
-   return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));
-  }
- };
- if (AsyncIteratorPrototype !== undefined) {
-  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
- }
- Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
- Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
- function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
-  if (preventCancel === void 0) {
-   preventCancel = false;
-  }
-  var reader = AcquireReadableStreamDefaultReader(stream);
-  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
-  iterator._asyncIteratorReader = reader;
-  iterator._preventCancel = Boolean(preventCancel);
-  return iterator;
- }
- function IsReadableStreamAsyncIterator(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
-   return false;
-  }
-  return true;
- }
- function streamAsyncIteratorBrandCheckException(name) {
-  return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
- }
- function DequeueValue(container) {
-  var pair = container._queue.shift();
-  container._queueTotalSize -= pair.size;
-  if (container._queueTotalSize < 0) {
-   container._queueTotalSize = 0;
-  }
-  return pair.value;
- }
- function EnqueueValueWithSize(container, value, size) {
-  size = Number(size);
-  if (!IsFiniteNonNegativeNumber(size)) {
-   throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
-  }
-  container._queue.push({
-   value: value,
-   size: size
-  });
-  container._queueTotalSize += size;
- }
- function PeekQueueValue(container) {
-  var pair = container._queue.peek();
-  return pair.value;
- }
- function ResetQueue(container) {
-  container._queue = new SimpleQueue();
-  container._queueTotalSize = 0;
- }
- var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
- var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
- var WritableStream = function () {
-  function WritableStream(underlyingSink, strategy) {
-   if (underlyingSink === void 0) {
-    underlyingSink = {};
-   }
-   if (strategy === void 0) {
-    strategy = {};
-   }
-   InitializeWritableStream(this);
-   var size = strategy.size;
-   var highWaterMark = strategy.highWaterMark;
-   var type = underlyingSink.type;
-   if (type !== undefined) {
-    throw new RangeError('Invalid type is specified');
-   }
-   var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-   if (highWaterMark === undefined) {
-    highWaterMark = 1;
-   }
-   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-   SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
-  }
-  Object.defineProperty(WritableStream.prototype, "locked", {
-   get: function () {
-    if (IsWritableStream(this) === false) {
-     throw streamBrandCheckException('locked');
-    }
-    return IsWritableStreamLocked(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  WritableStream.prototype.abort = function (reason) {
-   if (IsWritableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException('abort'));
-   }
-   if (IsWritableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));
-   }
-   return WritableStreamAbort(this, reason);
-  };
-  WritableStream.prototype.close = function () {
-   if (IsWritableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException('close'));
-   }
-   if (IsWritableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));
-   }
-   if (WritableStreamCloseQueuedOrInFlight(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
-   }
-   return WritableStreamClose(this);
-  };
-  WritableStream.prototype.getWriter = function () {
-   if (IsWritableStream(this) === false) {
-    throw streamBrandCheckException('getWriter');
-   }
-   return AcquireWritableStreamDefaultWriter(this);
-  };
-  return WritableStream;
- }();
- function AcquireWritableStreamDefaultWriter(stream) {
-  return new WritableStreamDefaultWriter(stream);
- }
- function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
-  if (highWaterMark === void 0) {
-   highWaterMark = 1;
-  }
-  if (sizeAlgorithm === void 0) {
-   sizeAlgorithm = function () {
-    return 1;
-   };
-  }
-  var stream = Object.create(WritableStream.prototype);
-  InitializeWritableStream(stream);
-  var controller = Object.create(WritableStreamDefaultController.prototype);
-  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
-  return stream;
- }
- function InitializeWritableStream(stream) {
-  stream._state = 'writable';
-  stream._storedError = undefined;
-  stream._writer = undefined;
-  stream._writableStreamController = undefined;
-  stream._writeRequests = new SimpleQueue();
-  stream._inFlightWriteRequest = undefined;
-  stream._closeRequest = undefined;
-  stream._inFlightCloseRequest = undefined;
-  stream._pendingAbortRequest = undefined;
-  stream._backpressure = false;
- }
- function IsWritableStream(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
-   return false;
-  }
-  return true;
- }
- function IsWritableStreamLocked(stream) {
-  if (stream._writer === undefined) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamAbort(stream, reason) {
-  var state = stream._state;
-  if (state === 'closed' || state === 'errored') {
-   return promiseResolvedWith(undefined);
-  }
-  if (stream._pendingAbortRequest !== undefined) {
-   return stream._pendingAbortRequest._promise;
-  }
-  var wasAlreadyErroring = false;
-  if (state === 'erroring') {
-   wasAlreadyErroring = true;
-   reason = undefined;
-  }
-  var promise = newPromise(function (resolve, reject) {
-   stream._pendingAbortRequest = {
-    _promise: undefined,
-    _resolve: resolve,
-    _reject: reject,
-    _reason: reason,
-    _wasAlreadyErroring: wasAlreadyErroring
-   };
-  });
-  stream._pendingAbortRequest._promise = promise;
-  if (wasAlreadyErroring === false) {
-   WritableStreamStartErroring(stream, reason);
-  }
-  return promise;
- }
- function WritableStreamClose(stream) {
-  var state = stream._state;
-  if (state === 'closed' || state === 'errored') {
-   return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
-  }
-  var promise = newPromise(function (resolve, reject) {
-   var closeRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._closeRequest = closeRequest;
-  });
-  var writer = stream._writer;
-  if (writer !== undefined && stream._backpressure === true && state === 'writable') {
-   defaultWriterReadyPromiseResolve(writer);
-  }
-  WritableStreamDefaultControllerClose(stream._writableStreamController);
-  return promise;
- }
- function WritableStreamAddWriteRequest(stream) {
-  var promise = newPromise(function (resolve, reject) {
-   var writeRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._writeRequests.push(writeRequest);
-  });
-  return promise;
- }
- function WritableStreamDealWithRejection(stream, error) {
-  var state = stream._state;
-  if (state === 'writable') {
-   WritableStreamStartErroring(stream, error);
-   return;
-  }
-  WritableStreamFinishErroring(stream);
- }
- function WritableStreamStartErroring(stream, reason) {
-  var controller = stream._writableStreamController;
-  stream._state = 'erroring';
-  stream._storedError = reason;
-  var writer = stream._writer;
-  if (writer !== undefined) {
-   WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
-  }
-  if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
-   WritableStreamFinishErroring(stream);
-  }
- }
- function WritableStreamFinishErroring(stream) {
-  stream._state = 'errored';
-  stream._writableStreamController[ErrorSteps]();
-  var storedError = stream._storedError;
-  stream._writeRequests.forEach(function (writeRequest) {
-   writeRequest._reject(storedError);
-  });
-  stream._writeRequests = new SimpleQueue();
-  if (stream._pendingAbortRequest === undefined) {
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-   return;
-  }
-  var abortRequest = stream._pendingAbortRequest;
-  stream._pendingAbortRequest = undefined;
-  if (abortRequest._wasAlreadyErroring === true) {
-   abortRequest._reject(storedError);
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-   return;
-  }
-  var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
-  uponPromise(promise, function () {
-   abortRequest._resolve();
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  }, function (reason) {
-   abortRequest._reject(reason);
-   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
-  });
- }
- function WritableStreamFinishInFlightWrite(stream) {
-  stream._inFlightWriteRequest._resolve(undefined);
-  stream._inFlightWriteRequest = undefined;
- }
- function WritableStreamFinishInFlightWriteWithError(stream, error) {
-  stream._inFlightWriteRequest._reject(error);
-  stream._inFlightWriteRequest = undefined;
-  WritableStreamDealWithRejection(stream, error);
- }
- function WritableStreamFinishInFlightClose(stream) {
-  stream._inFlightCloseRequest._resolve(undefined);
-  stream._inFlightCloseRequest = undefined;
-  var state = stream._state;
-  if (state === 'erroring') {
-   stream._storedError = undefined;
-   if (stream._pendingAbortRequest !== undefined) {
-    stream._pendingAbortRequest._resolve();
-    stream._pendingAbortRequest = undefined;
-   }
-  }
-  stream._state = 'closed';
-  var writer = stream._writer;
-  if (writer !== undefined) {
-   defaultWriterClosedPromiseResolve(writer);
-  }
- }
- function WritableStreamFinishInFlightCloseWithError(stream, error) {
-  stream._inFlightCloseRequest._reject(error);
-  stream._inFlightCloseRequest = undefined;
-  if (stream._pendingAbortRequest !== undefined) {
-   stream._pendingAbortRequest._reject(error);
-   stream._pendingAbortRequest = undefined;
-  }
-  WritableStreamDealWithRejection(stream, error);
- }
- function WritableStreamCloseQueuedOrInFlight(stream) {
-  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamHasOperationMarkedInFlight(stream) {
-  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamMarkCloseRequestInFlight(stream) {
-  stream._inFlightCloseRequest = stream._closeRequest;
-  stream._closeRequest = undefined;
- }
- function WritableStreamMarkFirstWriteRequestInFlight(stream) {
-  stream._inFlightWriteRequest = stream._writeRequests.shift();
- }
- function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
-  if (stream._closeRequest !== undefined) {
-   stream._closeRequest._reject(stream._storedError);
-   stream._closeRequest = undefined;
-  }
-  var writer = stream._writer;
-  if (writer !== undefined) {
-   defaultWriterClosedPromiseReject(writer, stream._storedError);
-  }
- }
- function WritableStreamUpdateBackpressure(stream, backpressure) {
-  var writer = stream._writer;
-  if (writer !== undefined && backpressure !== stream._backpressure) {
-   if (backpressure === true) {
-    defaultWriterReadyPromiseReset(writer);
-   } else {
-    defaultWriterReadyPromiseResolve(writer);
-   }
-  }
-  stream._backpressure = backpressure;
- }
- var WritableStreamDefaultWriter = function () {
-  function WritableStreamDefaultWriter(stream) {
-   if (IsWritableStream(stream) === false) {
-    throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
-   }
-   if (IsWritableStreamLocked(stream) === true) {
-    throw new TypeError('This stream has already been locked for exclusive writing by another writer');
-   }
-   this._ownerWritableStream = stream;
-   stream._writer = this;
-   var state = stream._state;
-   if (state === 'writable') {
-    if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
-     defaultWriterReadyPromiseInitialize(this);
-    } else {
-     defaultWriterReadyPromiseInitializeAsResolved(this);
-    }
-    defaultWriterClosedPromiseInitialize(this);
-   } else if (state === 'erroring') {
-    defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
-    defaultWriterClosedPromiseInitialize(this);
-   } else if (state === 'closed') {
-    defaultWriterReadyPromiseInitializeAsResolved(this);
-    defaultWriterClosedPromiseInitializeAsResolved(this);
-   } else {
-    var storedError = stream._storedError;
-    defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
-    defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
-   }
-  }
-  Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
-   get: function () {
-    if (IsWritableStreamDefaultWriter(this) === false) {
-     return promiseRejectedWith(defaultWriterBrandCheckException('closed'));
-    }
-    return this._closedPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
-   get: function () {
-    if (IsWritableStreamDefaultWriter(this) === false) {
-     throw defaultWriterBrandCheckException('desiredSize');
-    }
-    if (this._ownerWritableStream === undefined) {
-     throw defaultWriterLockException('desiredSize');
-    }
-    return WritableStreamDefaultWriterGetDesiredSize(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
-   get: function () {
-    if (IsWritableStreamDefaultWriter(this) === false) {
-     return promiseRejectedWith(defaultWriterBrandCheckException('ready'));
-    }
-    return this._readyPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  WritableStreamDefaultWriter.prototype.abort = function (reason) {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return promiseRejectedWith(defaultWriterBrandCheckException('abort'));
-   }
-   if (this._ownerWritableStream === undefined) {
-    return promiseRejectedWith(defaultWriterLockException('abort'));
-   }
-   return WritableStreamDefaultWriterAbort(this, reason);
-  };
-  WritableStreamDefaultWriter.prototype.close = function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return promiseRejectedWith(defaultWriterBrandCheckException('close'));
-   }
-   var stream = this._ownerWritableStream;
-   if (stream === undefined) {
-    return promiseRejectedWith(defaultWriterLockException('close'));
-   }
-   if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
-    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
-   }
-   return WritableStreamDefaultWriterClose(this);
-  };
-  WritableStreamDefaultWriter.prototype.releaseLock = function () {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    throw defaultWriterBrandCheckException('releaseLock');
-   }
-   var stream = this._ownerWritableStream;
-   if (stream === undefined) {
-    return;
-   }
-   WritableStreamDefaultWriterRelease(this);
-  };
-  WritableStreamDefaultWriter.prototype.write = function (chunk) {
-   if (IsWritableStreamDefaultWriter(this) === false) {
-    return promiseRejectedWith(defaultWriterBrandCheckException('write'));
-   }
-   if (this._ownerWritableStream === undefined) {
-    return promiseRejectedWith(defaultWriterLockException('write to'));
-   }
-   return WritableStreamDefaultWriterWrite(this, chunk);
-  };
-  return WritableStreamDefaultWriter;
- }();
- function IsWritableStreamDefaultWriter(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
-   return false;
-  }
-  return true;
- }
- function WritableStreamDefaultWriterAbort(writer, reason) {
-  var stream = writer._ownerWritableStream;
-  return WritableStreamAbort(stream, reason);
- }
- function WritableStreamDefaultWriterClose(writer) {
-  var stream = writer._ownerWritableStream;
-  return WritableStreamClose(stream);
- }
- function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
-  var stream = writer._ownerWritableStream;
-  var state = stream._state;
-  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-   return promiseResolvedWith(undefined);
-  }
-  if (state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  return WritableStreamDefaultWriterClose(writer);
- }
- function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
-  if (writer._closedPromiseState === 'pending') {
-   defaultWriterClosedPromiseReject(writer, error);
-  } else {
-   defaultWriterClosedPromiseResetToRejected(writer, error);
-  }
- }
- function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
-  if (writer._readyPromiseState === 'pending') {
-   defaultWriterReadyPromiseReject(writer, error);
-  } else {
-   defaultWriterReadyPromiseResetToRejected(writer, error);
-  }
- }
- function WritableStreamDefaultWriterGetDesiredSize(writer) {
-  var stream = writer._ownerWritableStream;
-  var state = stream._state;
-  if (state === 'errored' || state === 'erroring') {
-   return null;
-  }
-  if (state === 'closed') {
-   return 0;
-  }
-  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
- }
- function WritableStreamDefaultWriterRelease(writer) {
-  var stream = writer._ownerWritableStream;
-  var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness');
-  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
-  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
-  stream._writer = undefined;
-  writer._ownerWritableStream = undefined;
- }
- function WritableStreamDefaultWriterWrite(writer, chunk) {
-  var stream = writer._ownerWritableStream;
-  var controller = stream._writableStreamController;
-  var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
-  if (stream !== writer._ownerWritableStream) {
-   return promiseRejectedWith(defaultWriterLockException('write to'));
-  }
-  var state = stream._state;
-  if (state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
-   return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));
-  }
-  if (state === 'erroring') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  var promise = WritableStreamAddWriteRequest(stream);
-  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
-  return promise;
- }
- var WritableStreamDefaultController = function () {
-  function WritableStreamDefaultController() {
-   throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
-  }
-  WritableStreamDefaultController.prototype.error = function (e) {
-   if (IsWritableStreamDefaultController(this) === false) {
-    throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');
-   }
-   var state = this._controlledWritableStream._state;
-   if (state !== 'writable') {
-    return;
-   }
-   WritableStreamDefaultControllerError(this, e);
-  };
-  WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
-   var result = this._abortAlgorithm(reason);
-   WritableStreamDefaultControllerClearAlgorithms(this);
-   return result;
-  };
-  WritableStreamDefaultController.prototype[ErrorSteps] = function () {
-   ResetQueue(this);
-  };
-  return WritableStreamDefaultController;
- }();
- function IsWritableStreamDefaultController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
-   return false;
-  }
-  return true;
- }
- function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
-  controller._controlledWritableStream = stream;
-  stream._writableStreamController = controller;
-  controller._queue = undefined;
-  controller._queueTotalSize = undefined;
-  ResetQueue(controller);
-  controller._started = false;
-  controller._strategySizeAlgorithm = sizeAlgorithm;
-  controller._strategyHWM = highWaterMark;
-  controller._writeAlgorithm = writeAlgorithm;
-  controller._closeAlgorithm = closeAlgorithm;
-  controller._abortAlgorithm = abortAlgorithm;
-  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-  WritableStreamUpdateBackpressure(stream, backpressure);
-  var startResult = startAlgorithm();
-  var startPromise = promiseResolvedWith(startResult);
-  uponPromise(startPromise, function () {
-   controller._started = true;
-   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-  }, function (r) {
-   controller._started = true;
-   WritableStreamDealWithRejection(stream, r);
-  });
- }
- function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
-  var controller = Object.create(WritableStreamDefaultController.prototype);
-  function startAlgorithm() {
-   return InvokeOrNoop(underlyingSink, 'start', [controller]);
-  }
-  var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
-  var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
-  var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
-  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
- }
- function WritableStreamDefaultControllerClearAlgorithms(controller) {
-  controller._writeAlgorithm = undefined;
-  controller._closeAlgorithm = undefined;
-  controller._abortAlgorithm = undefined;
-  controller._strategySizeAlgorithm = undefined;
- }
- function WritableStreamDefaultControllerClose(controller) {
-  EnqueueValueWithSize(controller, 'close', 0);
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }
- function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
-  try {
-   return controller._strategySizeAlgorithm(chunk);
-  } catch (chunkSizeE) {
-   WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
-   return 1;
-  }
- }
- function WritableStreamDefaultControllerGetDesiredSize(controller) {
-  return controller._strategyHWM - controller._queueTotalSize;
- }
- function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
-  var writeRecord = { chunk: chunk };
-  try {
-   EnqueueValueWithSize(controller, writeRecord, chunkSize);
-  } catch (enqueueE) {
-   WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
-   return;
-  }
-  var stream = controller._controlledWritableStream;
-  if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
-   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-   WritableStreamUpdateBackpressure(stream, backpressure);
-  }
-  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }
- function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
-  var stream = controller._controlledWritableStream;
-  if (controller._started === false) {
-   return;
-  }
-  if (stream._inFlightWriteRequest !== undefined) {
-   return;
-  }
-  var state = stream._state;
-  if (state === 'erroring') {
-   WritableStreamFinishErroring(stream);
-   return;
-  }
-  if (controller._queue.length === 0) {
-   return;
-  }
-  var writeRecord = PeekQueueValue(controller);
-  if (writeRecord === 'close') {
-   WritableStreamDefaultControllerProcessClose(controller);
-  } else {
-   WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
-  }
- }
- function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
-  if (controller._controlledWritableStream._state === 'writable') {
-   WritableStreamDefaultControllerError(controller, error);
-  }
- }
- function WritableStreamDefaultControllerProcessClose(controller) {
-  var stream = controller._controlledWritableStream;
-  WritableStreamMarkCloseRequestInFlight(stream);
-  DequeueValue(controller);
-  var sinkClosePromise = controller._closeAlgorithm();
-  WritableStreamDefaultControllerClearAlgorithms(controller);
-  uponPromise(sinkClosePromise, function () {
-   WritableStreamFinishInFlightClose(stream);
-  }, function (reason) {
-   WritableStreamFinishInFlightCloseWithError(stream, reason);
-  });
- }
- function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
-  var stream = controller._controlledWritableStream;
-  WritableStreamMarkFirstWriteRequestInFlight(stream);
-  var sinkWritePromise = controller._writeAlgorithm(chunk);
-  uponPromise(sinkWritePromise, function () {
-   WritableStreamFinishInFlightWrite(stream);
-   var state = stream._state;
-   DequeueValue(controller);
-   if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
-    var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
-    WritableStreamUpdateBackpressure(stream, backpressure);
-   }
-   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-  }, function (reason) {
-   if (stream._state === 'writable') {
-    WritableStreamDefaultControllerClearAlgorithms(controller);
-   }
-   WritableStreamFinishInFlightWriteWithError(stream, reason);
-  });
- }
- function WritableStreamDefaultControllerGetBackpressure(controller) {
-  var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
-  return desiredSize <= 0;
- }
- function WritableStreamDefaultControllerError(controller, error) {
-  var stream = controller._controlledWritableStream;
-  WritableStreamDefaultControllerClearAlgorithms(controller);
-  WritableStreamStartErroring(stream, error);
- }
- function streamBrandCheckException(name) {
-  return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
- }
- function defaultWriterBrandCheckException(name) {
-  return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
- }
- function defaultWriterLockException(name) {
-  return new TypeError('Cannot ' + name + ' a stream using a released writer');
- }
- function defaultWriterClosedPromiseInitialize(writer) {
-  writer._closedPromise = newPromise(function (resolve, reject) {
-   writer._closedPromise_resolve = resolve;
-   writer._closedPromise_reject = reject;
-   writer._closedPromiseState = 'pending';
-  });
- }
- function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
-  defaultWriterClosedPromiseInitialize(writer);
-  defaultWriterClosedPromiseReject(writer, reason);
- }
- function defaultWriterClosedPromiseInitializeAsResolved(writer) {
-  defaultWriterClosedPromiseInitialize(writer);
-  defaultWriterClosedPromiseResolve(writer);
- }
- function defaultWriterClosedPromiseReject(writer, reason) {
-  setPromiseIsHandledToTrue(writer._closedPromise);
-  writer._closedPromise_reject(reason);
-  writer._closedPromise_resolve = undefined;
-  writer._closedPromise_reject = undefined;
-  writer._closedPromiseState = 'rejected';
- }
- function defaultWriterClosedPromiseResetToRejected(writer, reason) {
-  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
- }
- function defaultWriterClosedPromiseResolve(writer) {
-  writer._closedPromise_resolve(undefined);
-  writer._closedPromise_resolve = undefined;
-  writer._closedPromise_reject = undefined;
-  writer._closedPromiseState = 'resolved';
- }
- function defaultWriterReadyPromiseInitialize(writer) {
-  writer._readyPromise = newPromise(function (resolve, reject) {
-   writer._readyPromise_resolve = resolve;
-   writer._readyPromise_reject = reject;
-  });
-  writer._readyPromiseState = 'pending';
- }
- function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
-  defaultWriterReadyPromiseInitialize(writer);
-  defaultWriterReadyPromiseReject(writer, reason);
- }
- function defaultWriterReadyPromiseInitializeAsResolved(writer) {
-  defaultWriterReadyPromiseInitialize(writer);
-  defaultWriterReadyPromiseResolve(writer);
- }
- function defaultWriterReadyPromiseReject(writer, reason) {
-  setPromiseIsHandledToTrue(writer._readyPromise);
-  writer._readyPromise_reject(reason);
-  writer._readyPromise_resolve = undefined;
-  writer._readyPromise_reject = undefined;
-  writer._readyPromiseState = 'rejected';
- }
- function defaultWriterReadyPromiseReset(writer) {
-  defaultWriterReadyPromiseInitialize(writer);
- }
- function defaultWriterReadyPromiseResetToRejected(writer, reason) {
-  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
- }
- function defaultWriterReadyPromiseResolve(writer) {
-  writer._readyPromise_resolve(undefined);
-  writer._readyPromise_resolve = undefined;
-  writer._readyPromise_reject = undefined;
-  writer._readyPromiseState = 'fulfilled';
- }
- function isAbortSignal(value) {
-  if (typeof value !== 'object' || value === null) {
-   return false;
-  }
-  try {
-   return typeof value.aborted === 'boolean';
-  } catch (_a) {
-   return false;
-  }
- }
- var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;
- function isDOMExceptionConstructor(ctor) {
-  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {
-   return false;
-  }
-  try {
-   new ctor();
-   return true;
-  } catch (_a) {
-   return false;
-  }
- }
- function createDOMExceptionPolyfill() {
-  var ctor = function DOMException(message, name) {
-   this.message = message || '';
-   this.name = name || 'Error';
-   if (Error.captureStackTrace) {
-    Error.captureStackTrace(this, this.constructor);
-   }
-  };
-  ctor.prototype = Object.create(Error.prototype);
-  Object.defineProperty(ctor.prototype, 'constructor', {
-   value: ctor,
-   writable: true,
-   configurable: true
-  });
-  return ctor;
- }
- var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
- function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
-  var reader = AcquireReadableStreamDefaultReader(source);
-  var writer = AcquireWritableStreamDefaultWriter(dest);
-  source._disturbed = true;
-  var shuttingDown = false;
-  var currentWrite = promiseResolvedWith(undefined);
-  return newPromise(function (resolve, reject) {
-   var abortAlgorithm;
-   if (signal !== undefined) {
-    abortAlgorithm = function () {
-     var error = new DOMException$1('Aborted', 'AbortError');
-     var actions = [];
-     if (preventAbort === false) {
-      actions.push(function () {
-       if (dest._state === 'writable') {
-        return WritableStreamAbort(dest, error);
-       }
-       return promiseResolvedWith(undefined);
-      });
-     }
-     if (preventCancel === false) {
-      actions.push(function () {
-       if (source._state === 'readable') {
-        return ReadableStreamCancel(source, error);
-       }
-       return promiseResolvedWith(undefined);
-      });
-     }
-     shutdownWithAction(function () {
-      return Promise.all(actions.map(function (action) {
-       return action();
-      }));
-     }, true, error);
-    };
-    if (signal.aborted === true) {
-     abortAlgorithm();
-     return;
-    }
-    signal.addEventListener('abort', abortAlgorithm);
-   }
-   function pipeLoop() {
-    return newPromise(function (resolveLoop, rejectLoop) {
-     function next(done) {
-      if (done) {
-       resolveLoop();
-      } else {
-       PerformPromiseThen(pipeStep(), next, rejectLoop);
-      }
-     }
-     next(false);
-    });
-   }
-   function pipeStep() {
-    if (shuttingDown === true) {
-     return promiseResolvedWith(true);
-    }
-    return PerformPromiseThen(writer._readyPromise, function () {
-     return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) {
-      var value = _a.value, done = _a.done;
-      if (done === true) {
-       return true;
-      }
-      currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop);
-      return false;
-     });
-    });
-   }
-   isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
-    if (preventAbort === false) {
-     shutdownWithAction(function () {
-      return WritableStreamAbort(dest, storedError);
-     }, true, storedError);
-    } else {
-     shutdown(true, storedError);
-    }
-   });
-   isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
-    if (preventCancel === false) {
-     shutdownWithAction(function () {
-      return ReadableStreamCancel(source, storedError);
-     }, true, storedError);
-    } else {
-     shutdown(true, storedError);
-    }
-   });
-   isOrBecomesClosed(source, reader._closedPromise, function () {
-    if (preventClose === false) {
-     shutdownWithAction(function () {
-      return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
-     });
-    } else {
-     shutdown();
-    }
-   });
-   if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
-    var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
-    if (preventCancel === false) {
-     shutdownWithAction(function () {
-      return ReadableStreamCancel(source, destClosed_1);
-     }, true, destClosed_1);
-    } else {
-     shutdown(true, destClosed_1);
-    }
-   }
-   setPromiseIsHandledToTrue(pipeLoop());
-   function waitForWritesToFinish() {
-    var oldCurrentWrite = currentWrite;
-    return PerformPromiseThen(currentWrite, function () {
-     return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
-    });
-   }
-   function isOrBecomesErrored(stream, promise, action) {
-    if (stream._state === 'errored') {
-     action(stream._storedError);
-    } else {
-     uponRejection(promise, action);
-    }
-   }
-   function isOrBecomesClosed(stream, promise, action) {
-    if (stream._state === 'closed') {
-     action();
-    } else {
-     uponFulfillment(promise, action);
-    }
-   }
-   function shutdownWithAction(action, originalIsError, originalError) {
-    if (shuttingDown === true) {
-     return;
-    }
-    shuttingDown = true;
-    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-     uponFulfillment(waitForWritesToFinish(), doTheRest);
-    } else {
-     doTheRest();
-    }
-    function doTheRest() {
-     uponPromise(action(), function () {
-      return finalize(originalIsError, originalError);
-     }, function (newError) {
-      return finalize(true, newError);
-     });
-    }
-   }
-   function shutdown(isError, error) {
-    if (shuttingDown === true) {
-     return;
-    }
-    shuttingDown = true;
-    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
-     uponFulfillment(waitForWritesToFinish(), function () {
-      return finalize(isError, error);
-     });
-    } else {
-     finalize(isError, error);
-    }
-   }
-   function finalize(isError, error) {
-    WritableStreamDefaultWriterRelease(writer);
-    ReadableStreamReaderGenericRelease(reader);
-    if (signal !== undefined) {
-     signal.removeEventListener('abort', abortAlgorithm);
-    }
-    if (isError) {
-     reject(error);
-    } else {
-     resolve(undefined);
-    }
-   }
-  });
- }
- var ReadableStreamDefaultController = function () {
-  function ReadableStreamDefaultController() {
-   throw new TypeError();
-  }
-  Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
-   get: function () {
-    if (IsReadableStreamDefaultController(this) === false) {
-     throw defaultControllerBrandCheckException('desiredSize');
-    }
-    return ReadableStreamDefaultControllerGetDesiredSize(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamDefaultController.prototype.close = function () {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('close');
-   }
-   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-    throw new TypeError('The stream is not in a state that permits close');
-   }
-   ReadableStreamDefaultControllerClose(this);
-  };
-  ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('enqueue');
-   }
-   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
-    throw new TypeError('The stream is not in a state that permits enqueue');
-   }
-   return ReadableStreamDefaultControllerEnqueue(this, chunk);
-  };
-  ReadableStreamDefaultController.prototype.error = function (e) {
-   if (IsReadableStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException('error');
-   }
-   ReadableStreamDefaultControllerError(this, e);
-  };
-  ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
-   ResetQueue(this);
-   var result = this._cancelAlgorithm(reason);
-   ReadableStreamDefaultControllerClearAlgorithms(this);
-   return result;
-  };
-  ReadableStreamDefaultController.prototype[PullSteps] = function () {
-   var stream = this._controlledReadableStream;
-   if (this._queue.length > 0) {
-    var chunk = DequeueValue(this);
-    if (this._closeRequested === true && this._queue.length === 0) {
-     ReadableStreamDefaultControllerClearAlgorithms(this);
-     ReadableStreamClose(stream);
-    } else {
-     ReadableStreamDefaultControllerCallPullIfNeeded(this);
-    }
-    return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
-   }
-   var pendingPromise = ReadableStreamAddReadRequest(stream);
-   ReadableStreamDefaultControllerCallPullIfNeeded(this);
-   return pendingPromise;
-  };
-  return ReadableStreamDefaultController;
- }();
- function IsReadableStreamDefaultController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
-  var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
-  if (shouldPull === false) {
-   return;
-  }
-  if (controller._pulling === true) {
-   controller._pullAgain = true;
-   return;
-  }
-  controller._pulling = true;
-  var pullPromise = controller._pullAlgorithm();
-  uponPromise(pullPromise, function () {
-   controller._pulling = false;
-   if (controller._pullAgain === true) {
-    controller._pullAgain = false;
-    ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-   }
-  }, function (e) {
-   ReadableStreamDefaultControllerError(controller, e);
-  });
- }
- function ReadableStreamDefaultControllerShouldCallPull(controller) {
-  var stream = controller._controlledReadableStream;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
-   return false;
-  }
-  if (controller._started === false) {
-   return false;
-  }
-  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-   return true;
-  }
-  var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
-  if (desiredSize > 0) {
-   return true;
-  }
-  return false;
- }
- function ReadableStreamDefaultControllerClearAlgorithms(controller) {
-  controller._pullAlgorithm = undefined;
-  controller._cancelAlgorithm = undefined;
-  controller._strategySizeAlgorithm = undefined;
- }
- function ReadableStreamDefaultControllerClose(controller) {
-  var stream = controller._controlledReadableStream;
-  controller._closeRequested = true;
-  if (controller._queue.length === 0) {
-   ReadableStreamDefaultControllerClearAlgorithms(controller);
-   ReadableStreamClose(stream);
-  }
- }
- function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
-  var stream = controller._controlledReadableStream;
-  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-   ReadableStreamFulfillReadRequest(stream, chunk, false);
-  } else {
-   var chunkSize = void 0;
-   try {
-    chunkSize = controller._strategySizeAlgorithm(chunk);
-   } catch (chunkSizeE) {
-    ReadableStreamDefaultControllerError(controller, chunkSizeE);
-    throw chunkSizeE;
-   }
-   try {
-    EnqueueValueWithSize(controller, chunk, chunkSize);
-   } catch (enqueueE) {
-    ReadableStreamDefaultControllerError(controller, enqueueE);
-    throw enqueueE;
-   }
-  }
-  ReadableStreamDefaultControllerCallPullIfNeeded(controller);
- }
- function ReadableStreamDefaultControllerError(controller, e) {
-  var stream = controller._controlledReadableStream;
-  if (stream._state !== 'readable') {
-   return;
-  }
-  ResetQueue(controller);
-  ReadableStreamDefaultControllerClearAlgorithms(controller);
-  ReadableStreamError(stream, e);
- }
- function ReadableStreamDefaultControllerGetDesiredSize(controller) {
-  var stream = controller._controlledReadableStream;
-  var state = stream._state;
-  if (state === 'errored') {
-   return null;
-  }
-  if (state === 'closed') {
-   return 0;
-  }
-  return controller._strategyHWM - controller._queueTotalSize;
- }
- function ReadableStreamDefaultControllerHasBackpressure(controller) {
-  if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
-  var state = controller._controlledReadableStream._state;
-  if (controller._closeRequested === false && state === 'readable') {
-   return true;
-  }
-  return false;
- }
- function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
-  controller._controlledReadableStream = stream;
-  controller._queue = undefined;
-  controller._queueTotalSize = undefined;
-  ResetQueue(controller);
-  controller._started = false;
-  controller._closeRequested = false;
-  controller._pullAgain = false;
-  controller._pulling = false;
-  controller._strategySizeAlgorithm = sizeAlgorithm;
-  controller._strategyHWM = highWaterMark;
-  controller._pullAlgorithm = pullAlgorithm;
-  controller._cancelAlgorithm = cancelAlgorithm;
-  stream._readableStreamController = controller;
-  var startResult = startAlgorithm();
-  uponPromise(promiseResolvedWith(startResult), function () {
-   controller._started = true;
-   ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-  }, function (r) {
-   ReadableStreamDefaultControllerError(controller, r);
-  });
- }
- function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
-  var controller = Object.create(ReadableStreamDefaultController.prototype);
-  function startAlgorithm() {
-   return InvokeOrNoop(underlyingSource, 'start', [controller]);
-  }
-  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
-  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
-  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
- }
- function defaultControllerBrandCheckException(name) {
-  return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
- }
- function ReadableStreamTee(stream, cloneForBranch2) {
-  var reader = AcquireReadableStreamDefaultReader(stream);
-  var reading = false;
-  var canceled1 = false;
-  var canceled2 = false;
-  var reason1;
-  var reason2;
-  var branch1;
-  var branch2;
-  var resolveCancelPromise;
-  var cancelPromise = newPromise(function (resolve) {
-   resolveCancelPromise = resolve;
-  });
-  function pullAlgorithm() {
-   if (reading === true) {
-    return promiseResolvedWith(undefined);
-   }
-   reading = true;
-   var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
-    reading = false;
-    var done = result.done;
-    if (done === true) {
-     if (canceled1 === false) {
-      ReadableStreamDefaultControllerClose(branch1._readableStreamController);
-     }
-     if (canceled2 === false) {
-      ReadableStreamDefaultControllerClose(branch2._readableStreamController);
-     }
-     return;
-    }
-    var value = result.value;
-    var value1 = value;
-    var value2 = value;
-    if (canceled1 === false) {
-     ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
-    }
-    if (canceled2 === false) {
-     ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
-    }
-   });
-   setPromiseIsHandledToTrue(readPromise);
-   return promiseResolvedWith(undefined);
-  }
-  function cancel1Algorithm(reason) {
-   canceled1 = true;
-   reason1 = reason;
-   if (canceled2 === true) {
-    var compositeReason = createArrayFromList([
-     reason1,
-     reason2
-    ]);
-    var cancelResult = ReadableStreamCancel(stream, compositeReason);
-    resolveCancelPromise(cancelResult);
-   }
-   return cancelPromise;
-  }
-  function cancel2Algorithm(reason) {
-   canceled2 = true;
-   reason2 = reason;
-   if (canceled1 === true) {
-    var compositeReason = createArrayFromList([
-     reason1,
-     reason2
-    ]);
-    var cancelResult = ReadableStreamCancel(stream, compositeReason);
-    resolveCancelPromise(cancelResult);
-   }
-   return cancelPromise;
-  }
-  function startAlgorithm() {
-  }
-  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
-  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
-  uponRejection(reader._closedPromise, function (r) {
-   ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
-   ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
-  });
-  return [
-   branch1,
-   branch2
-  ];
- }
- var NumberIsInteger = Number.isInteger || function (value) {
-  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
- };
- var ReadableStreamBYOBRequest = function () {
-  function ReadableStreamBYOBRequest() {
-   throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
-  }
-  Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
-   get: function () {
-    if (IsReadableStreamBYOBRequest(this) === false) {
-     throw byobRequestBrandCheckException('view');
-    }
-    return this._view;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
-   if (IsReadableStreamBYOBRequest(this) === false) {
-    throw byobRequestBrandCheckException('respond');
-   }
-   if (this._associatedReadableByteStreamController === undefined) {
-    throw new TypeError('This BYOB request has been invalidated');
-   }
-   if (IsDetachedBuffer(this._view.buffer) === true);
-   ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
-  };
-  ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
-   if (IsReadableStreamBYOBRequest(this) === false) {
-    throw byobRequestBrandCheckException('respond');
-   }
-   if (this._associatedReadableByteStreamController === undefined) {
-    throw new TypeError('This BYOB request has been invalidated');
-   }
-   if (!ArrayBuffer.isView(view)) {
-    throw new TypeError('You can only respond with array buffer views');
-   }
-   if (IsDetachedBuffer(view.buffer) === true);
-   ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
-  };
-  return ReadableStreamBYOBRequest;
- }();
- var ReadableByteStreamController = function () {
-  function ReadableByteStreamController() {
-   throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
-  }
-  Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
-   get: function () {
-    if (IsReadableByteStreamController(this) === false) {
-     throw byteStreamControllerBrandCheckException('byobRequest');
-    }
-    if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
-     var firstDescriptor = this._pendingPullIntos.peek();
-     var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
-     var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
-     SetUpReadableStreamBYOBRequest(byobRequest, this, view);
-     this._byobRequest = byobRequest;
-    }
-    return this._byobRequest;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
-   get: function () {
-    if (IsReadableByteStreamController(this) === false) {
-     throw byteStreamControllerBrandCheckException('desiredSize');
-    }
-    return ReadableByteStreamControllerGetDesiredSize(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableByteStreamController.prototype.close = function () {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('close');
-   }
-   if (this._closeRequested === true) {
-    throw new TypeError('The stream has already been closed; do not close it again!');
-   }
-   var state = this._controlledReadableByteStream._state;
-   if (state !== 'readable') {
-    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
-   }
-   ReadableByteStreamControllerClose(this);
-  };
-  ReadableByteStreamController.prototype.enqueue = function (chunk) {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('enqueue');
-   }
-   if (this._closeRequested === true) {
-    throw new TypeError('stream is closed or draining');
-   }
-   var state = this._controlledReadableByteStream._state;
-   if (state !== 'readable') {
-    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
-   }
-   if (!ArrayBuffer.isView(chunk)) {
-    throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
-   }
-   if (IsDetachedBuffer(chunk.buffer) === true);
-   ReadableByteStreamControllerEnqueue(this, chunk);
-  };
-  ReadableByteStreamController.prototype.error = function (e) {
-   if (IsReadableByteStreamController(this) === false) {
-    throw byteStreamControllerBrandCheckException('error');
-   }
-   ReadableByteStreamControllerError(this, e);
-  };
-  ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
-   if (this._pendingPullIntos.length > 0) {
-    var firstDescriptor = this._pendingPullIntos.peek();
-    firstDescriptor.bytesFilled = 0;
-   }
-   ResetQueue(this);
-   var result = this._cancelAlgorithm(reason);
-   ReadableByteStreamControllerClearAlgorithms(this);
-   return result;
-  };
-  ReadableByteStreamController.prototype[PullSteps] = function () {
-   var stream = this._controlledReadableByteStream;
-   if (this._queueTotalSize > 0) {
-    var entry = this._queue.shift();
-    this._queueTotalSize -= entry.byteLength;
-    ReadableByteStreamControllerHandleQueueDrain(this);
-    var view = void 0;
-    try {
-     view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
-    } catch (viewE) {
-     return promiseRejectedWith(viewE);
-    }
-    return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
-   }
-   var autoAllocateChunkSize = this._autoAllocateChunkSize;
-   if (autoAllocateChunkSize !== undefined) {
-    var buffer = void 0;
-    try {
-     buffer = new ArrayBuffer(autoAllocateChunkSize);
-    } catch (bufferE) {
-     return promiseRejectedWith(bufferE);
-    }
-    var pullIntoDescriptor = {
-     buffer: buffer,
-     byteOffset: 0,
-     byteLength: autoAllocateChunkSize,
-     bytesFilled: 0,
-     elementSize: 1,
-     ctor: Uint8Array,
-     readerType: 'default'
-    };
-    this._pendingPullIntos.push(pullIntoDescriptor);
-   }
-   var promise = ReadableStreamAddReadRequest(stream);
-   ReadableByteStreamControllerCallPullIfNeeded(this);
-   return promise;
-  };
-  return ReadableByteStreamController;
- }();
- function IsReadableByteStreamController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
-   return false;
-  }
-  return true;
- }
- function IsReadableStreamBYOBRequest(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
-   return false;
-  }
-  return true;
- }
- function ReadableByteStreamControllerCallPullIfNeeded(controller) {
-  var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
-  if (shouldPull === false) {
-   return;
-  }
-  if (controller._pulling === true) {
-   controller._pullAgain = true;
-   return;
-  }
-  controller._pulling = true;
-  var pullPromise = controller._pullAlgorithm();
-  uponPromise(pullPromise, function () {
-   controller._pulling = false;
-   if (controller._pullAgain === true) {
-    controller._pullAgain = false;
-    ReadableByteStreamControllerCallPullIfNeeded(controller);
-   }
-  }, function (e) {
-   ReadableByteStreamControllerError(controller, e);
-  });
- }
- function ReadableByteStreamControllerClearPendingPullIntos(controller) {
-  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
-  controller._pendingPullIntos = new SimpleQueue();
- }
- function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
-  var done = false;
-  if (stream._state === 'closed') {
-   done = true;
-  }
-  var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
-  if (pullIntoDescriptor.readerType === 'default') {
-   ReadableStreamFulfillReadRequest(stream, filledView, done);
-  } else {
-   ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
-  }
- }
- function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
-  var bytesFilled = pullIntoDescriptor.bytesFilled;
-  var elementSize = pullIntoDescriptor.elementSize;
-  return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
- }
- function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
-  controller._queue.push({
-   buffer: buffer,
-   byteOffset: byteOffset,
-   byteLength: byteLength
-  });
-  controller._queueTotalSize += byteLength;
- }
- function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
-  var elementSize = pullIntoDescriptor.elementSize;
-  var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
-  var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
-  var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
-  var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
-  var totalBytesToCopyRemaining = maxBytesToCopy;
-  var ready = false;
-  if (maxAlignedBytes > currentAlignedBytes) {
-   totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
-   ready = true;
-  }
-  var queue = controller._queue;
-  while (totalBytesToCopyRemaining > 0) {
-   var headOfQueue = queue.peek();
-   var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
-   var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-   ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
-   if (headOfQueue.byteLength === bytesToCopy) {
-    queue.shift();
-   } else {
-    headOfQueue.byteOffset += bytesToCopy;
-    headOfQueue.byteLength -= bytesToCopy;
-   }
-   controller._queueTotalSize -= bytesToCopy;
-   ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
-   totalBytesToCopyRemaining -= bytesToCopy;
-  }
-  return ready;
- }
- function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
-  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
-  pullIntoDescriptor.bytesFilled += size;
- }
- function ReadableByteStreamControllerHandleQueueDrain(controller) {
-  if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
-   ReadableByteStreamControllerClearAlgorithms(controller);
-   ReadableStreamClose(controller._controlledReadableByteStream);
-  } else {
-   ReadableByteStreamControllerCallPullIfNeeded(controller);
-  }
- }
- function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
-  if (controller._byobRequest === undefined) {
-   return;
-  }
-  controller._byobRequest._associatedReadableByteStreamController = undefined;
-  controller._byobRequest._view = undefined;
-  controller._byobRequest = undefined;
- }
- function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
-  while (controller._pendingPullIntos.length > 0) {
-   if (controller._queueTotalSize === 0) {
-    return;
-   }
-   var pullIntoDescriptor = controller._pendingPullIntos.peek();
-   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-    ReadableByteStreamControllerShiftPendingPullInto(controller);
-    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
-   }
-  }
- }
- function ReadableByteStreamControllerPullInto(controller, view) {
-  var stream = controller._controlledReadableByteStream;
-  var elementSize = 1;
-  if (view.constructor !== DataView) {
-   elementSize = view.constructor.BYTES_PER_ELEMENT;
-  }
-  var ctor = view.constructor;
-  var buffer = TransferArrayBuffer(view.buffer);
-  var pullIntoDescriptor = {
-   buffer: buffer,
-   byteOffset: view.byteOffset,
-   byteLength: view.byteLength,
-   bytesFilled: 0,
-   elementSize: elementSize,
-   ctor: ctor,
-   readerType: 'byob'
-  };
-  if (controller._pendingPullIntos.length > 0) {
-   controller._pendingPullIntos.push(pullIntoDescriptor);
-   return ReadableStreamAddReadIntoRequest(stream);
-  }
-  if (stream._state === 'closed') {
-   var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
-   return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
-  }
-  if (controller._queueTotalSize > 0) {
-   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
-    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
-    ReadableByteStreamControllerHandleQueueDrain(controller);
-    return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
-   }
-   if (controller._closeRequested === true) {
-    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-    ReadableByteStreamControllerError(controller, e);
-    return promiseRejectedWith(e);
-   }
-  }
-  controller._pendingPullIntos.push(pullIntoDescriptor);
-  var promise = ReadableStreamAddReadIntoRequest(stream);
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
-  return promise;
- }
- function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
-  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
-  var stream = controller._controlledReadableByteStream;
-  if (ReadableStreamHasBYOBReader(stream) === true) {
-   while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-    var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
-    ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
-   }
-  }
- }
- function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
-  if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
-   throw new RangeError('bytesWritten out of range');
-  }
-  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
-  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
-   return;
-  }
-  ReadableByteStreamControllerShiftPendingPullInto(controller);
-  var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
-  if (remainderSize > 0) {
-   var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
-   var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
-  }
-  pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
-  pullIntoDescriptor.bytesFilled -= remainderSize;
-  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
-  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
- }
- function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
-  var firstDescriptor = controller._pendingPullIntos.peek();
-  var stream = controller._controlledReadableByteStream;
-  if (stream._state === 'closed') {
-   if (bytesWritten !== 0) {
-    throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
-   }
-   ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
-  } else {
-   ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
-  }
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
- function ReadableByteStreamControllerShiftPendingPullInto(controller) {
-  var descriptor = controller._pendingPullIntos.shift();
-  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
-  return descriptor;
- }
- function ReadableByteStreamControllerShouldCallPull(controller) {
-  var stream = controller._controlledReadableByteStream;
-  if (stream._state !== 'readable') {
-   return false;
-  }
-  if (controller._closeRequested === true) {
-   return false;
-  }
-  if (controller._started === false) {
-   return false;
-  }
-  if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
-   return true;
-  }
-  if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
-   return true;
-  }
-  var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
-  if (desiredSize > 0) {
-   return true;
-  }
-  return false;
- }
- function ReadableByteStreamControllerClearAlgorithms(controller) {
-  controller._pullAlgorithm = undefined;
-  controller._cancelAlgorithm = undefined;
- }
- function ReadableByteStreamControllerClose(controller) {
-  var stream = controller._controlledReadableByteStream;
-  if (controller._queueTotalSize > 0) {
-   controller._closeRequested = true;
-   return;
-  }
-  if (controller._pendingPullIntos.length > 0) {
-   var firstPendingPullInto = controller._pendingPullIntos.peek();
-   if (firstPendingPullInto.bytesFilled > 0) {
-    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
-    ReadableByteStreamControllerError(controller, e);
-    throw e;
-   }
-  }
-  ReadableByteStreamControllerClearAlgorithms(controller);
-  ReadableStreamClose(stream);
- }
- function ReadableByteStreamControllerEnqueue(controller, chunk) {
-  var stream = controller._controlledReadableByteStream;
-  var buffer = chunk.buffer;
-  var byteOffset = chunk.byteOffset;
-  var byteLength = chunk.byteLength;
-  var transferredBuffer = TransferArrayBuffer(buffer);
-  if (ReadableStreamHasDefaultReader(stream) === true) {
-   if (ReadableStreamGetNumReadRequests(stream) === 0) {
-    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-   } else {
-    var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
-    ReadableStreamFulfillReadRequest(stream, transferredView, false);
-   }
-  } else if (ReadableStreamHasBYOBReader(stream) === true) {
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-   ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
-  } else {
-   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
-  }
-  ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
- function ReadableByteStreamControllerError(controller, e) {
-  var stream = controller._controlledReadableByteStream;
-  if (stream._state !== 'readable') {
-   return;
-  }
-  ReadableByteStreamControllerClearPendingPullIntos(controller);
-  ResetQueue(controller);
-  ReadableByteStreamControllerClearAlgorithms(controller);
-  ReadableStreamError(stream, e);
- }
- function ReadableByteStreamControllerGetDesiredSize(controller) {
-  var stream = controller._controlledReadableByteStream;
-  var state = stream._state;
-  if (state === 'errored') {
-   return null;
-  }
-  if (state === 'closed') {
-   return 0;
-  }
-  return controller._strategyHWM - controller._queueTotalSize;
- }
- function ReadableByteStreamControllerRespond(controller, bytesWritten) {
-  bytesWritten = Number(bytesWritten);
-  if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
-   throw new RangeError('bytesWritten must be a finite');
-  }
-  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
- }
- function ReadableByteStreamControllerRespondWithNewView(controller, view) {
-  var firstDescriptor = controller._pendingPullIntos.peek();
-  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
-   throw new RangeError('The region specified by view does not match byobRequest');
-  }
-  if (firstDescriptor.byteLength !== view.byteLength) {
-   throw new RangeError('The buffer of view has different capacity than byobRequest');
-  }
-  firstDescriptor.buffer = view.buffer;
-  ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
- }
- function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
-  controller._controlledReadableByteStream = stream;
-  controller._pullAgain = false;
-  controller._pulling = false;
-  controller._byobRequest = undefined;
-  controller._queue = controller._queueTotalSize = undefined;
-  ResetQueue(controller);
-  controller._closeRequested = false;
-  controller._started = false;
-  controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
-  controller._pullAlgorithm = pullAlgorithm;
-  controller._cancelAlgorithm = cancelAlgorithm;
-  controller._autoAllocateChunkSize = autoAllocateChunkSize;
-  controller._pendingPullIntos = new SimpleQueue();
-  stream._readableStreamController = controller;
-  var startResult = startAlgorithm();
-  uponPromise(promiseResolvedWith(startResult), function () {
-   controller._started = true;
-   ReadableByteStreamControllerCallPullIfNeeded(controller);
-  }, function (r) {
-   ReadableByteStreamControllerError(controller, r);
-  });
- }
- function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
-  var controller = Object.create(ReadableByteStreamController.prototype);
-  function startAlgorithm() {
-   return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
-  }
-  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
-  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
-  var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
-  if (autoAllocateChunkSize !== undefined) {
-   autoAllocateChunkSize = Number(autoAllocateChunkSize);
-   if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
-    throw new RangeError('autoAllocateChunkSize must be a positive integer');
-   }
-  }
-  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
- }
- function SetUpReadableStreamBYOBRequest(request, controller, view) {
-  request._associatedReadableByteStreamController = controller;
-  request._view = view;
- }
- function byobRequestBrandCheckException(name) {
-  return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
- }
- function byteStreamControllerBrandCheckException(name) {
-  return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
- }
- function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
-  if (forAuthorCode === void 0) {
-   forAuthorCode = false;
-  }
-  var reader = new ReadableStreamBYOBReader(stream);
-  reader._forAuthorCode = forAuthorCode;
-  return reader;
- }
- function ReadableStreamAddReadIntoRequest(stream) {
-  var promise = newPromise(function (resolve, reject) {
-   var readIntoRequest = {
-    _resolve: resolve,
-    _reject: reject
-   };
-   stream._reader._readIntoRequests.push(readIntoRequest);
-  });
-  return promise;
- }
- function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
-  var reader = stream._reader;
-  var readIntoRequest = reader._readIntoRequests.shift();
-  readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
- }
- function ReadableStreamGetNumReadIntoRequests(stream) {
-  return stream._reader._readIntoRequests.length;
- }
- function ReadableStreamHasBYOBReader(stream) {
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return false;
-  }
-  if (!IsReadableStreamBYOBReader(reader)) {
-   return false;
-  }
-  return true;
- }
- var ReadableStreamBYOBReader = function () {
-  function ReadableStreamBYOBReader(stream) {
-   if (!IsReadableStream(stream)) {
-    throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');
-   }
-   if (IsReadableByteStreamController(stream._readableStreamController) === false) {
-    throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
-   }
-   if (IsReadableStreamLocked(stream)) {
-    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
-   }
-   ReadableStreamReaderGenericInitialize(this, stream);
-   this._readIntoRequests = new SimpleQueue();
-  }
-  Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
-   get: function () {
-    if (!IsReadableStreamBYOBReader(this)) {
-     return promiseRejectedWith(byobReaderBrandCheckException('closed'));
-    }
-    return this._closedPromise;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStreamBYOBReader.prototype.cancel = function (reason) {
-   if (!IsReadableStreamBYOBReader(this)) {
-    return promiseRejectedWith(byobReaderBrandCheckException('cancel'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('cancel'));
-   }
-   return ReadableStreamReaderGenericCancel(this, reason);
-  };
-  ReadableStreamBYOBReader.prototype.read = function (view) {
-   if (!IsReadableStreamBYOBReader(this)) {
-    return promiseRejectedWith(byobReaderBrandCheckException('read'));
-   }
-   if (this._ownerReadableStream === undefined) {
-    return promiseRejectedWith(readerLockException('read from'));
-   }
-   if (!ArrayBuffer.isView(view)) {
-    return promiseRejectedWith(new TypeError('view must be an array buffer view'));
-   }
-   if (IsDetachedBuffer(view.buffer) === true);
-   if (view.byteLength === 0) {
-    return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));
-   }
-   return ReadableStreamBYOBReaderRead(this, view);
-  };
-  ReadableStreamBYOBReader.prototype.releaseLock = function () {
-   if (!IsReadableStreamBYOBReader(this)) {
-    throw byobReaderBrandCheckException('releaseLock');
-   }
-   if (this._ownerReadableStream === undefined) {
-    return;
-   }
-   if (this._readIntoRequests.length > 0) {
-    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
-   }
-   ReadableStreamReaderGenericRelease(this);
-  };
-  return ReadableStreamBYOBReader;
- }();
- function IsReadableStreamBYOBReader(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamBYOBReaderRead(reader, view) {
-  var stream = reader._ownerReadableStream;
-  stream._disturbed = true;
-  if (stream._state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
- }
- function byobReaderBrandCheckException(name) {
-  return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
- }
- var ReadableStream = function () {
-  function ReadableStream(underlyingSource, strategy) {
-   if (underlyingSource === void 0) {
-    underlyingSource = {};
-   }
-   if (strategy === void 0) {
-    strategy = {};
-   }
-   InitializeReadableStream(this);
-   var size = strategy.size;
-   var highWaterMark = strategy.highWaterMark;
-   var type = underlyingSource.type;
-   var typeString = String(type);
-   if (typeString === 'bytes') {
-    if (size !== undefined) {
-     throw new RangeError('The strategy for a byte stream cannot have a size function');
-    }
-    if (highWaterMark === undefined) {
-     highWaterMark = 0;
-    }
-    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-    SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
-   } else if (type === undefined) {
-    var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
-    if (highWaterMark === undefined) {
-     highWaterMark = 1;
-    }
-    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
-    SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
-   } else {
-    throw new RangeError('Invalid type is specified');
-   }
-  }
-  Object.defineProperty(ReadableStream.prototype, "locked", {
-   get: function () {
-    if (IsReadableStream(this) === false) {
-     throw streamBrandCheckException$1('locked');
-    }
-    return IsReadableStreamLocked(this);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  ReadableStream.prototype.cancel = function (reason) {
-   if (IsReadableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException$1('cancel'));
-   }
-   if (IsReadableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
-   }
-   return ReadableStreamCancel(this, reason);
-  };
-  ReadableStream.prototype.getReader = function (_a) {
-   var mode = (_a === void 0 ? {} : _a).mode;
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('getReader');
-   }
-   if (mode === undefined) {
-    return AcquireReadableStreamDefaultReader(this, true);
-   }
-   mode = String(mode);
-   if (mode === 'byob') {
-    return AcquireReadableStreamBYOBReader(this, true);
-   }
-   throw new RangeError('Invalid mode is specified');
-  };
-  ReadableStream.prototype.pipeThrough = function (_a, _b) {
-   var writable = _a.writable, readable = _a.readable;
-   var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('pipeThrough');
-   }
-   if (IsWritableStream(writable) === false) {
-    throw new TypeError('writable argument to pipeThrough must be a WritableStream');
-   }
-   if (IsReadableStream(readable) === false) {
-    throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
-   }
-   preventClose = Boolean(preventClose);
-   preventAbort = Boolean(preventAbort);
-   preventCancel = Boolean(preventCancel);
-   if (signal !== undefined && !isAbortSignal(signal)) {
-    throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
-   }
-   if (IsReadableStreamLocked(this) === true) {
-    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
-   }
-   if (IsWritableStreamLocked(writable) === true) {
-    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
-   }
-   var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
-   setPromiseIsHandledToTrue(promise);
-   return readable;
-  };
-  ReadableStream.prototype.pipeTo = function (dest, _a) {
-   var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;
-   if (IsReadableStream(this) === false) {
-    return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));
-   }
-   if (IsWritableStream(dest) === false) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream'));
-   }
-   preventClose = Boolean(preventClose);
-   preventAbort = Boolean(preventAbort);
-   preventCancel = Boolean(preventCancel);
-   if (signal !== undefined && !isAbortSignal(signal)) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an AbortSignal'));
-   }
-   if (IsReadableStreamLocked(this) === true) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
-   }
-   if (IsWritableStreamLocked(dest) === true) {
-    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
-   }
-   return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
-  };
-  ReadableStream.prototype.tee = function () {
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('tee');
-   }
-   var branches = ReadableStreamTee(this);
-   return createArrayFromList(branches);
-  };
-  ReadableStream.prototype.getIterator = function (_a) {
-   var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
-   if (IsReadableStream(this) === false) {
-    throw streamBrandCheckException$1('getIterator');
-   }
-   return AcquireReadableStreamAsyncIterator(this, preventCancel);
-  };
-  return ReadableStream;
- }();
- if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
-  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
-   value: ReadableStream.prototype.getIterator,
-   enumerable: false,
-   writable: true,
-   configurable: true
-  });
- }
- function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
-  if (highWaterMark === void 0) {
-   highWaterMark = 1;
-  }
-  if (sizeAlgorithm === void 0) {
-   sizeAlgorithm = function () {
-    return 1;
-   };
-  }
-  var stream = Object.create(ReadableStream.prototype);
-  InitializeReadableStream(stream);
-  var controller = Object.create(ReadableStreamDefaultController.prototype);
-  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
-  return stream;
- }
- function InitializeReadableStream(stream) {
-  stream._state = 'readable';
-  stream._reader = undefined;
-  stream._storedError = undefined;
-  stream._disturbed = false;
- }
- function IsReadableStream(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
-   return false;
-  }
-  return true;
- }
- function IsReadableStreamLocked(stream) {
-  if (stream._reader === undefined) {
-   return false;
-  }
-  return true;
- }
- function ReadableStreamCancel(stream, reason) {
-  stream._disturbed = true;
-  if (stream._state === 'closed') {
-   return promiseResolvedWith(undefined);
-  }
-  if (stream._state === 'errored') {
-   return promiseRejectedWith(stream._storedError);
-  }
-  ReadableStreamClose(stream);
-  var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
-  return transformPromiseWith(sourceCancelPromise, noop);
- }
- function ReadableStreamClose(stream) {
-  stream._state = 'closed';
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return;
-  }
-  if (IsReadableStreamDefaultReader(reader)) {
-   reader._readRequests.forEach(function (readRequest) {
-    readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
-   });
-   reader._readRequests = new SimpleQueue();
-  }
-  defaultReaderClosedPromiseResolve(reader);
- }
- function ReadableStreamError(stream, e) {
-  stream._state = 'errored';
-  stream._storedError = e;
-  var reader = stream._reader;
-  if (reader === undefined) {
-   return;
-  }
-  if (IsReadableStreamDefaultReader(reader)) {
-   reader._readRequests.forEach(function (readRequest) {
-    readRequest._reject(e);
-   });
-   reader._readRequests = new SimpleQueue();
-  } else {
-   reader._readIntoRequests.forEach(function (readIntoRequest) {
-    readIntoRequest._reject(e);
-   });
-   reader._readIntoRequests = new SimpleQueue();
-  }
-  defaultReaderClosedPromiseReject(reader, e);
- }
- function streamBrandCheckException$1(name) {
-  return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
- }
- var ByteLengthQueuingStrategy = function () {
-  function ByteLengthQueuingStrategy(_a) {
-   var highWaterMark = _a.highWaterMark;
-   this.highWaterMark = highWaterMark;
-  }
-  ByteLengthQueuingStrategy.prototype.size = function (chunk) {
-   return chunk.byteLength;
-  };
-  return ByteLengthQueuingStrategy;
- }();
- var CountQueuingStrategy = function () {
-  function CountQueuingStrategy(_a) {
-   var highWaterMark = _a.highWaterMark;
-   this.highWaterMark = highWaterMark;
-  }
-  CountQueuingStrategy.prototype.size = function () {
-   return 1;
-  };
-  return CountQueuingStrategy;
- }();
- var TransformStream = function () {
-  function TransformStream(transformer, writableStrategy, readableStrategy) {
-   if (transformer === void 0) {
-    transformer = {};
-   }
-   if (writableStrategy === void 0) {
-    writableStrategy = {};
-   }
-   if (readableStrategy === void 0) {
-    readableStrategy = {};
-   }
-   var writableSizeFunction = writableStrategy.size;
-   var writableHighWaterMark = writableStrategy.highWaterMark;
-   var readableSizeFunction = readableStrategy.size;
-   var readableHighWaterMark = readableStrategy.highWaterMark;
-   var writableType = transformer.writableType;
-   if (writableType !== undefined) {
-    throw new RangeError('Invalid writable type specified');
-   }
-   var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
-   if (writableHighWaterMark === undefined) {
-    writableHighWaterMark = 1;
-   }
-   writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
-   var readableType = transformer.readableType;
-   if (readableType !== undefined) {
-    throw new RangeError('Invalid readable type specified');
-   }
-   var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
-   if (readableHighWaterMark === undefined) {
-    readableHighWaterMark = 0;
-   }
-   readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
-   var startPromise_resolve;
-   var startPromise = newPromise(function (resolve) {
-    startPromise_resolve = resolve;
-   });
-   InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
-   SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
-   var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
-   startPromise_resolve(startResult);
-  }
-  Object.defineProperty(TransformStream.prototype, "readable", {
-   get: function () {
-    if (IsTransformStream(this) === false) {
-     throw streamBrandCheckException$2('readable');
-    }
-    return this._readable;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  Object.defineProperty(TransformStream.prototype, "writable", {
-   get: function () {
-    if (IsTransformStream(this) === false) {
-     throw streamBrandCheckException$2('writable');
-    }
-    return this._writable;
-   },
-   enumerable: true,
-   configurable: true
-  });
-  return TransformStream;
- }();
- function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
-  function startAlgorithm() {
-   return startPromise;
-  }
-  function writeAlgorithm(chunk) {
-   return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
-  }
-  function abortAlgorithm(reason) {
-   return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
-  }
-  function closeAlgorithm() {
-   return TransformStreamDefaultSinkCloseAlgorithm(stream);
-  }
-  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
-  function pullAlgorithm() {
-   return TransformStreamDefaultSourcePullAlgorithm(stream);
-  }
-  function cancelAlgorithm(reason) {
-   TransformStreamErrorWritableAndUnblockWrite(stream, reason);
-   return promiseResolvedWith(undefined);
-  }
-  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
-  stream._backpressure = undefined;
-  stream._backpressureChangePromise = undefined;
-  stream._backpressureChangePromise_resolve = undefined;
-  TransformStreamSetBackpressure(stream, true);
-  stream._transformStreamController = undefined;
- }
- function IsTransformStream(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
-   return false;
-  }
-  return true;
- }
- function TransformStreamError(stream, e) {
-  ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
-  TransformStreamErrorWritableAndUnblockWrite(stream, e);
- }
- function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
-  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
-  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
-  if (stream._backpressure === true) {
-   TransformStreamSetBackpressure(stream, false);
-  }
- }
- function TransformStreamSetBackpressure(stream, backpressure) {
-  if (stream._backpressureChangePromise !== undefined) {
-   stream._backpressureChangePromise_resolve();
-  }
-  stream._backpressureChangePromise = newPromise(function (resolve) {
-   stream._backpressureChangePromise_resolve = resolve;
-  });
-  stream._backpressure = backpressure;
- }
- var TransformStreamDefaultController = function () {
-  function TransformStreamDefaultController() {
-   throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
-  }
-  Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
-   get: function () {
-    if (IsTransformStreamDefaultController(this) === false) {
-     throw defaultControllerBrandCheckException$1('desiredSize');
-    }
-    var readableController = this._controlledTransformStream._readable._readableStreamController;
-    return ReadableStreamDefaultControllerGetDesiredSize(readableController);
-   },
-   enumerable: true,
-   configurable: true
-  });
-  TransformStreamDefaultController.prototype.enqueue = function (chunk) {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('enqueue');
-   }
-   TransformStreamDefaultControllerEnqueue(this, chunk);
-  };
-  TransformStreamDefaultController.prototype.error = function (reason) {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('error');
-   }
-   TransformStreamDefaultControllerError(this, reason);
-  };
-  TransformStreamDefaultController.prototype.terminate = function () {
-   if (IsTransformStreamDefaultController(this) === false) {
-    throw defaultControllerBrandCheckException$1('terminate');
-   }
-   TransformStreamDefaultControllerTerminate(this);
-  };
-  return TransformStreamDefaultController;
- }();
- function IsTransformStreamDefaultController(x) {
-  if (!typeIsObject(x)) {
-   return false;
-  }
-  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
-   return false;
-  }
-  return true;
- }
- function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
-  controller._controlledTransformStream = stream;
-  stream._transformStreamController = controller;
-  controller._transformAlgorithm = transformAlgorithm;
-  controller._flushAlgorithm = flushAlgorithm;
- }
- function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
-  var controller = Object.create(TransformStreamDefaultController.prototype);
-  var transformAlgorithm = function (chunk) {
-   try {
-    TransformStreamDefaultControllerEnqueue(controller, chunk);
-    return promiseResolvedWith(undefined);
-   } catch (transformResultE) {
-    return promiseRejectedWith(transformResultE);
-   }
-  };
-  var transformMethod = transformer.transform;
-  if (transformMethod !== undefined) {
-   if (typeof transformMethod !== 'function') {
-    throw new TypeError('transform is not a method');
-   }
-   transformAlgorithm = function (chunk) {
-    return PromiseCall(transformMethod, transformer, [
-     chunk,
-     controller
-    ]);
-   };
-  }
-  var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
-  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
- }
- function TransformStreamDefaultControllerClearAlgorithms(controller) {
-  controller._transformAlgorithm = undefined;
-  controller._flushAlgorithm = undefined;
- }
- function TransformStreamDefaultControllerEnqueue(controller, chunk) {
-  var stream = controller._controlledTransformStream;
-  var readableController = stream._readable._readableStreamController;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
-   throw new TypeError('Readable side is not in a state that permits enqueue');
-  }
-  try {
-   ReadableStreamDefaultControllerEnqueue(readableController, chunk);
-  } catch (e) {
-   TransformStreamErrorWritableAndUnblockWrite(stream, e);
-   throw stream._readable._storedError;
-  }
-  var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
-  if (backpressure !== stream._backpressure) {
-   TransformStreamSetBackpressure(stream, true);
-  }
- }
- function TransformStreamDefaultControllerError(controller, e) {
-  TransformStreamError(controller._controlledTransformStream, e);
- }
- function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
-  var transformPromise = controller._transformAlgorithm(chunk);
-  return transformPromiseWith(transformPromise, undefined, function (r) {
-   TransformStreamError(controller._controlledTransformStream, r);
-   throw r;
-  });
- }
- function TransformStreamDefaultControllerTerminate(controller) {
-  var stream = controller._controlledTransformStream;
-  var readableController = stream._readable._readableStreamController;
-  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-   ReadableStreamDefaultControllerClose(readableController);
-  }
-  var error = new TypeError('TransformStream terminated');
-  TransformStreamErrorWritableAndUnblockWrite(stream, error);
- }
- function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
-  var controller = stream._transformStreamController;
-  if (stream._backpressure === true) {
-   var backpressureChangePromise = stream._backpressureChangePromise;
-   return transformPromiseWith(backpressureChangePromise, function () {
-    var writable = stream._writable;
-    var state = writable._state;
-    if (state === 'erroring') {
-     throw writable._storedError;
-    }
-    return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-   });
-  }
-  return TransformStreamDefaultControllerPerformTransform(controller, chunk);
- }
- function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
-  TransformStreamError(stream, reason);
-  return promiseResolvedWith(undefined);
- }
- function TransformStreamDefaultSinkCloseAlgorithm(stream) {
-  var readable = stream._readable;
-  var controller = stream._transformStreamController;
-  var flushPromise = controller._flushAlgorithm();
-  TransformStreamDefaultControllerClearAlgorithms(controller);
-  return transformPromiseWith(flushPromise, function () {
-   if (readable._state === 'errored') {
-    throw readable._storedError;
-   }
-   var readableController = readable._readableStreamController;
-   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
-    ReadableStreamDefaultControllerClose(readableController);
-   }
-  }, function (r) {
-   TransformStreamError(stream, r);
-   throw readable._storedError;
-  });
- }
- function TransformStreamDefaultSourcePullAlgorithm(stream) {
-  TransformStreamSetBackpressure(stream, false);
-  return stream._backpressureChangePromise;
- }
- function defaultControllerBrandCheckException$1(name) {
-  return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
- }
- function streamBrandCheckException$2(name) {
-  return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
- }
- exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
- exports.CountQueuingStrategy = CountQueuingStrategy;
- exports.ReadableStream = ReadableStream;
- exports.TransformStream = TransformStream;
- exports.WritableStream = WritableStream;
- Object.defineProperty(exports, '__esModule', { value: true });
-}));
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(141);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(77);
-__w_pdfjs_require__(111);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Map;
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(142);
-var collectionStrong = __w_pdfjs_require__(146);
-module.exports = collection('Map', function (init) {
- return function Map() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionStrong);
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var global = __w_pdfjs_require__(10);
-var isForced = __w_pdfjs_require__(51);
-var redefine = __w_pdfjs_require__(28);
-var InternalMetadataModule = __w_pdfjs_require__(143);
-var iterate = __w_pdfjs_require__(119);
-var anInstance = __w_pdfjs_require__(118);
-var isObject = __w_pdfjs_require__(21);
-var fails = __w_pdfjs_require__(13);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(97);
-var setToStringTag = __w_pdfjs_require__(85);
-var inheritIfRequired = __w_pdfjs_require__(145);
-module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
- var ADDER = IS_MAP ? 'set' : 'add';
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var exported = {};
- var fixMethod = function (KEY) {
-  var nativeMethod = NativePrototype[KEY];
-  redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
-   nativeMethod.call(this, value === 0 ? 0 : value);
-   return this;
-  } : KEY == 'delete' ? function (key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'get' ? function get(key) {
-   return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : KEY == 'has' ? function has(key) {
-   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
-  } : function set(key, value) {
-   nativeMethod.call(this, key === 0 ? 0 : key, value);
-   return this;
-  });
- };
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
-   new NativeConstructor().entries().next();
-  })))) {
-  Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
-  InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
-  var instance = new Constructor();
-  var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
-  var THROWS_ON_PRIMITIVES = fails(function () {
-   instance.has(1);
-  });
-  var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
-   new NativeConstructor(iterable);
-  });
-  var BUGGY_ZERO = !IS_WEAK && fails(function () {
-   var $instance = new NativeConstructor();
-   var index = 5;
-   while (index--)
-    $instance[ADDER](index, index);
-   return !$instance.has(-0);
-  });
-  if (!ACCEPT_ITERABLES) {
-   Constructor = wrapper(function (dummy, iterable) {
-    anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
-    var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
-    if (iterable != undefined)
-     iterate(iterable, that[ADDER], that, IS_MAP);
-    return that;
-   });
-   Constructor.prototype = NativePrototype;
-   NativePrototype.constructor = Constructor;
-  }
-  if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
-   fixMethod('delete');
-   fixMethod('has');
-   IS_MAP && fixMethod('get');
-  }
-  if (BUGGY_ZERO || HASNT_CHAINING)
-   fixMethod(ADDER);
-  if (IS_WEAK && NativePrototype.clear)
-   delete NativePrototype.clear;
- }
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({
-  global: true,
-  forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK)
-  common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
-};
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var hiddenKeys = __w_pdfjs_require__(38);
-var isObject = __w_pdfjs_require__(21);
-var has = __w_pdfjs_require__(22);
-var defineProperty = __w_pdfjs_require__(26).f;
-var uid = __w_pdfjs_require__(37);
-var FREEZING = __w_pdfjs_require__(144);
-var METADATA = uid('meta');
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
- return true;
-};
-var setMetadata = function (it) {
- defineProperty(it, METADATA, {
-  value: {
-   objectID: 'O' + ++id,
-   weakData: {}
-  }
- });
-};
-var fastKey = function (it, create) {
- if (!isObject(it))
-  return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return 'F';
-  if (!create)
-   return 'E';
-  setMetadata(it);
- }
- return it[METADATA].objectID;
-};
-var getWeakData = function (it, create) {
- if (!has(it, METADATA)) {
-  if (!isExtensible(it))
-   return true;
-  if (!create)
-   return false;
-  setMetadata(it);
- }
- return it[METADATA].weakData;
-};
-var onFreeze = function (it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
-  setMetadata(it);
- return it;
-};
-var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
-};
-hiddenKeys[METADATA] = true;
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
-});
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-var setPrototypeOf = __w_pdfjs_require__(87);
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
-  setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var defineProperty = __w_pdfjs_require__(26).f;
-var create = __w_pdfjs_require__(71);
-var redefineAll = __w_pdfjs_require__(116);
-var bind = __w_pdfjs_require__(62);
-var anInstance = __w_pdfjs_require__(118);
-var iterate = __w_pdfjs_require__(119);
-var defineIterator = __w_pdfjs_require__(79);
-var setSpecies = __w_pdfjs_require__(117);
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var fastKey = __w_pdfjs_require__(143).fastKey;
-var InternalStateModule = __w_pdfjs_require__(32);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
-  var C = wrapper(function (that, iterable) {
-   anInstance(that, C, CONSTRUCTOR_NAME);
-   setInternalState(that, {
-    type: CONSTRUCTOR_NAME,
-    index: create(null),
-    first: undefined,
-    last: undefined,
-    size: 0
-   });
-   if (!DESCRIPTORS)
-    that.size = 0;
-   if (iterable != undefined)
-    iterate(iterable, that[ADDER], that, IS_MAP);
-  });
-  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var define = function (that, key, value) {
-   var state = getInternalState(that);
-   var entry = getEntry(that, key);
-   var previous, index;
-   if (entry) {
-    entry.value = value;
-   } else {
-    state.last = entry = {
-     index: index = fastKey(key, true),
-     key: key,
-     value: value,
-     previous: previous = state.last,
-     next: undefined,
-     removed: false
-    };
-    if (!state.first)
-     state.first = entry;
-    if (previous)
-     previous.next = entry;
-    if (DESCRIPTORS)
-     state.size++;
-    else
-     that.size++;
-    if (index !== 'F')
-     state.index[index] = entry;
-   }
-   return that;
-  };
-  var getEntry = function (that, key) {
-   var state = getInternalState(that);
-   var index = fastKey(key);
-   var entry;
-   if (index !== 'F')
-    return state.index[index];
-   for (entry = state.first; entry; entry = entry.next) {
-    if (entry.key == key)
-     return entry;
-   }
-  };
-  redefineAll(C.prototype, {
-   clear: function clear() {
-    var that = this;
-    var state = getInternalState(that);
-    var data = state.index;
-    var entry = state.first;
-    while (entry) {
-     entry.removed = true;
-     if (entry.previous)
-      entry.previous = entry.previous.next = undefined;
-     delete data[entry.index];
-     entry = entry.next;
-    }
-    state.first = state.last = undefined;
-    if (DESCRIPTORS)
-     state.size = 0;
-    else
-     that.size = 0;
-   },
-   'delete': function (key) {
-    var that = this;
-    var state = getInternalState(that);
-    var entry = getEntry(that, key);
-    if (entry) {
-     var next = entry.next;
-     var prev = entry.previous;
-     delete state.index[entry.index];
-     entry.removed = true;
-     if (prev)
-      prev.next = next;
-     if (next)
-      next.previous = prev;
-     if (state.first == entry)
-      state.first = next;
-     if (state.last == entry)
-      state.last = prev;
-     if (DESCRIPTORS)
-      state.size--;
-     else
-      that.size--;
-    }
-    return !!entry;
-   },
-   forEach: function forEach(callbackfn) {
-    var state = getInternalState(this);
-    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-    var entry;
-    while (entry = entry ? entry.next : state.first) {
-     boundFunction(entry.value, entry.key, this);
-     while (entry && entry.removed)
-      entry = entry.previous;
-    }
-   },
-   has: function has(key) {
-    return !!getEntry(this, key);
-   }
-  });
-  redefineAll(C.prototype, IS_MAP ? {
-   get: function get(key) {
-    var entry = getEntry(this, key);
-    return entry && entry.value;
-   },
-   set: function set(key, value) {
-    return define(this, key === 0 ? 0 : key, value);
-   }
-  } : {
-   add: function add(value) {
-    return define(this, value = value === 0 ? 0 : value, value);
-   }
-  });
-  if (DESCRIPTORS)
-   defineProperty(C.prototype, 'size', {
-    get: function () {
-     return getInternalState(this).size;
-    }
-   });
-  return C;
- },
- setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
-  var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
-  var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
-  defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
-   setInternalState(this, {
-    type: ITERATOR_NAME,
-    target: iterated,
-    state: getInternalCollectionState(iterated),
-    kind: kind,
-    last: undefined
-   });
-  }, function () {
-   var state = getInternalIteratorState(this);
-   var kind = state.kind;
-   var entry = state.last;
-   while (entry && entry.removed)
-    entry = entry.previous;
-   if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
-    state.target = undefined;
-    return {
-     value: undefined,
-     done: true
-    };
-   }
-   if (kind == 'keys')
-    return {
-     value: entry.key,
-     done: false
-    };
-   if (kind == 'values')
-    return {
-     value: entry.value,
-     done: false
-    };
-   return {
-    value: [
-     entry.key,
-     entry.value
-    ],
-    done: false
-   };
-  }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-  setSpecies(CONSTRUCTOR_NAME);
- }
-};
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(148);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(77);
-__w_pdfjs_require__(111);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Set;
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(142);
-var collectionStrong = __w_pdfjs_require__(146);
-module.exports = collection('Set', function (init) {
- return function Set() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionStrong);
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(150);
-__w_pdfjs_require__(111);
-var path = __w_pdfjs_require__(42);
-module.exports = path.WeakMap;
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var global = __w_pdfjs_require__(10);
-var redefineAll = __w_pdfjs_require__(116);
-var InternalMetadataModule = __w_pdfjs_require__(143);
-var collection = __w_pdfjs_require__(142);
-var collectionWeak = __w_pdfjs_require__(151);
-var isObject = __w_pdfjs_require__(21);
-var enforceIternalState = __w_pdfjs_require__(32).enforce;
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(33);
-var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
-var isExtensible = Object.isExtensible;
-var InternalWeakMap;
-var wrapper = function (init) {
- return function WeakMap() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-};
-var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
-if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
-  'delete': function (key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeDelete.call(this, key) || state.frozen['delete'](key);
-   }
-   return nativeDelete.call(this, key);
-  },
-  has: function has(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) || state.frozen.has(key);
-   }
-   return nativeHas.call(this, key);
-  },
-  get: function get(key) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
-   }
-   return nativeGet.call(this, key);
-  },
-  set: function set(key, value) {
-   if (isObject(key) && !isExtensible(key)) {
-    var state = enforceIternalState(this);
-    if (!state.frozen)
-     state.frozen = new InternalWeakMap();
-    nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
-   } else
-    nativeSet.call(this, key, value);
-   return this;
-  }
- });
-}
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var redefineAll = __w_pdfjs_require__(116);
-var getWeakData = __w_pdfjs_require__(143).getWeakData;
-var anObject = __w_pdfjs_require__(27);
-var isObject = __w_pdfjs_require__(21);
-var anInstance = __w_pdfjs_require__(118);
-var iterate = __w_pdfjs_require__(119);
-var ArrayIterationModule = __w_pdfjs_require__(152);
-var $has = __w_pdfjs_require__(22);
-var InternalStateModule = __w_pdfjs_require__(32);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-var find = ArrayIterationModule.find;
-var findIndex = ArrayIterationModule.findIndex;
-var id = 0;
-var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
-};
-var UncaughtFrozenStore = function () {
- this.entries = [];
-};
-var findUncaughtFrozen = function (store, key) {
- return find(store.entries, function (it) {
-  return it[0] === key;
- });
-};
-UncaughtFrozenStore.prototype = {
- get: function (key) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   return entry[1];
- },
- has: function (key) {
-  return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
-  var entry = findUncaughtFrozen(this, key);
-  if (entry)
-   entry[1] = value;
-  else
-   this.entries.push([
-    key,
-    value
-   ]);
- },
- 'delete': function (key) {
-  var index = findIndex(this.entries, function (it) {
-   return it[0] === key;
-  });
-  if (~index)
-   this.entries.splice(index, 1);
-  return !!~index;
- }
-};
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
-  var C = wrapper(function (that, iterable) {
-   anInstance(that, C, CONSTRUCTOR_NAME);
-   setInternalState(that, {
-    type: CONSTRUCTOR_NAME,
-    id: id++,
-    frozen: undefined
-   });
-   if (iterable != undefined)
-    iterate(iterable, that[ADDER], that, IS_MAP);
-  });
-  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-  var define = function (that, key, value) {
-   var state = getInternalState(that);
-   var data = getWeakData(anObject(key), true);
-   if (data === true)
-    uncaughtFrozenStore(state).set(key, value);
-   else
-    data[state.id] = value;
-   return that;
-  };
-  redefineAll(C.prototype, {
-   'delete': function (key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state)['delete'](key);
-    return data && $has(data, state.id) && delete data[state.id];
-   },
-   has: function has(key) {
-    var state = getInternalState(this);
-    if (!isObject(key))
-     return false;
-    var data = getWeakData(key);
-    if (data === true)
-     return uncaughtFrozenStore(state).has(key);
-    return data && $has(data, state.id);
-   }
-  });
-  redefineAll(C.prototype, IS_MAP ? {
-   get: function get(key) {
-    var state = getInternalState(this);
-    if (isObject(key)) {
-     var data = getWeakData(key);
-     if (data === true)
-      return uncaughtFrozenStore(state).get(key);
-     return data ? data[state.id] : undefined;
-    }
-   },
-   set: function set(key, value) {
-    return define(this, key, value);
-   }
-  } : {
-   add: function add(value) {
-    return define(this, value, true);
-   }
-  });
-  return C;
- }
-};
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var bind = __w_pdfjs_require__(62);
-var IndexedObject = __w_pdfjs_require__(17);
-var toObject = __w_pdfjs_require__(83);
-var toLength = __w_pdfjs_require__(46);
-var arraySpeciesCreate = __w_pdfjs_require__(153);
-var push = [].push;
-var createMethod = function (TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
-  var O = toObject($this);
-  var self = IndexedObject(O);
-  var boundFunction = bind(callbackfn, that, 3);
-  var length = toLength(self.length);
-  var index = 0;
-  var create = specificCreate || arraySpeciesCreate;
-  var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
-  var value, result;
-  for (; length > index; index++)
-   if (NO_HOLES || index in self) {
-    value = self[index];
-    result = boundFunction(value, index, O);
-    if (TYPE) {
-     if (IS_MAP)
-      target[index] = result;
-     else if (result)
-      switch (TYPE) {
-      case 3:
-       return true;
-      case 5:
-       return value;
-      case 6:
-       return index;
-      case 2:
-       push.call(target, value);
-      }
-     else if (IS_EVERY)
-      return false;
-    }
-   }
-  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
-};
-module.exports = {
- forEach: createMethod(0),
- map: createMethod(1),
- filter: createMethod(2),
- some: createMethod(3),
- every: createMethod(4),
- find: createMethod(5),
- findIndex: createMethod(6)
-};
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(21);
-var isArray = __w_pdfjs_require__(154);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (originalArray, length) {
- var C;
- if (isArray(originalArray)) {
-  C = originalArray.constructor;
-  if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
-   C = undefined;
-  else if (isObject(C)) {
-   C = C[SPECIES];
-   if (C === null)
-    C = undefined;
-  }
- }
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(18);
-module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
-};
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(156);
-__w_pdfjs_require__(111);
-var path = __w_pdfjs_require__(42);
-module.exports = path.WeakSet;
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(142);
-var collectionWeak = __w_pdfjs_require__(151);
-collection('WeakSet', function (init) {
- return function WeakSet() {
-  return init(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionWeak);
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(158);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('String', 'codePointAt');
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var codeAt = __w_pdfjs_require__(78).codeAt;
-$({
- target: 'String',
- proto: true
-}, {
- codePointAt: function codePointAt(pos) {
-  return codeAt(this, pos);
- }
-});
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(160);
-var path = __w_pdfjs_require__(42);
-module.exports = path.String.fromCodePoint;
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var toAbsoluteIndex = __w_pdfjs_require__(48);
-var fromCharCode = String.fromCharCode;
-var nativeFromCodePoint = String.fromCodePoint;
-var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
-$({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
-}, {
- fromCodePoint: function fromCodePoint(x) {
-  var elements = [];
-  var length = arguments.length;
-  var i = 0;
-  var code;
-  while (length > i) {
-   code = +arguments[i++];
-   if (toAbsoluteIndex(code, 0x10FFFF) !== code)
-    throw RangeError(code + ' is not a valid code point');
-   elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
-  }
-  return elements.join('');
- }
-});
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(162);
-__w_pdfjs_require__(109);
-__w_pdfjs_require__(164);
-__w_pdfjs_require__(168);
-__w_pdfjs_require__(169);
-__w_pdfjs_require__(170);
-__w_pdfjs_require__(171);
-__w_pdfjs_require__(172);
-__w_pdfjs_require__(173);
-__w_pdfjs_require__(174);
-__w_pdfjs_require__(175);
-__w_pdfjs_require__(176);
-__w_pdfjs_require__(177);
-__w_pdfjs_require__(178);
-__w_pdfjs_require__(179);
-__w_pdfjs_require__(180);
-__w_pdfjs_require__(181);
-__w_pdfjs_require__(182);
-__w_pdfjs_require__(183);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Symbol;
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var fails = __w_pdfjs_require__(13);
-var isArray = __w_pdfjs_require__(154);
-var isObject = __w_pdfjs_require__(21);
-var toObject = __w_pdfjs_require__(83);
-var toLength = __w_pdfjs_require__(46);
-var createProperty = __w_pdfjs_require__(93);
-var arraySpeciesCreate = __w_pdfjs_require__(153);
-var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(163);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var V8_VERSION = __w_pdfjs_require__(129);
-var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
-});
-var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-var isConcatSpreadable = function (O) {
- if (!isObject(O))
-  return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
-};
-var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-$({
- target: 'Array',
- proto: true,
- forced: FORCED
-}, {
- concat: function concat(arg) {
-  var O = toObject(this);
-  var A = arraySpeciesCreate(O, 0);
-  var n = 0;
-  var i, k, length, len, E;
-  for (i = -1, length = arguments.length; i < length; i++) {
-   E = i === -1 ? O : arguments[i];
-   if (isConcatSpreadable(E)) {
-    len = toLength(E.length);
-    if (n + len > MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    for (k = 0; k < len; k++, n++)
-     if (k in E)
-      createProperty(A, n, E[k]);
-   } else {
-    if (n >= MAX_SAFE_INTEGER)
-     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-    createProperty(A, n++, E);
-   }
-  }
-  A.length = n;
-  return A;
- }
-});
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(13);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var V8_VERSION = __w_pdfjs_require__(129);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (METHOD_NAME) {
- return V8_VERSION >= 51 || !fails(function () {
-  var array = [];
-  var constructor = array.constructor = {};
-  constructor[SPECIES] = function () {
-   return { foo: 1 };
-  };
-  return array[METHOD_NAME](Boolean).foo !== 1;
- });
-};
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var global = __w_pdfjs_require__(10);
-var getBuiltIn = __w_pdfjs_require__(41);
-var IS_PURE = __w_pdfjs_require__(36);
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var NATIVE_SYMBOL = __w_pdfjs_require__(58);
-var USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);
-var fails = __w_pdfjs_require__(13);
-var has = __w_pdfjs_require__(22);
-var isArray = __w_pdfjs_require__(154);
-var isObject = __w_pdfjs_require__(21);
-var anObject = __w_pdfjs_require__(27);
-var toObject = __w_pdfjs_require__(83);
-var toIndexedObject = __w_pdfjs_require__(16);
-var toPrimitive = __w_pdfjs_require__(20);
-var createPropertyDescriptor = __w_pdfjs_require__(15);
-var nativeObjectCreate = __w_pdfjs_require__(71);
-var objectKeys = __w_pdfjs_require__(73);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(43);
-var getOwnPropertyNamesExternal = __w_pdfjs_require__(165);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(50);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);
-var definePropertyModule = __w_pdfjs_require__(26);
-var propertyIsEnumerableModule = __w_pdfjs_require__(14);
-var createNonEnumerableProperty = __w_pdfjs_require__(25);
-var redefine = __w_pdfjs_require__(28);
-var shared = __w_pdfjs_require__(35);
-var sharedKey = __w_pdfjs_require__(34);
-var hiddenKeys = __w_pdfjs_require__(38);
-var uid = __w_pdfjs_require__(37);
-var wellKnownSymbol = __w_pdfjs_require__(57);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(166);
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-var setToStringTag = __w_pdfjs_require__(85);
-var InternalStateModule = __w_pdfjs_require__(32);
-var $forEach = __w_pdfjs_require__(152).forEach;
-var HIDDEN = sharedKey('hidden');
-var SYMBOL = 'Symbol';
-var PROTOTYPE = 'prototype';
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(SYMBOL);
-var ObjectPrototype = Object[PROTOTYPE];
-var $Symbol = global.Symbol;
-var $stringify = getBuiltIn('JSON', 'stringify');
-var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
-var nativeDefineProperty = definePropertyModule.f;
-var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
-var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
-var AllSymbols = shared('symbols');
-var ObjectPrototypeSymbols = shared('op-symbols');
-var StringToSymbolRegistry = shared('string-to-symbol-registry');
-var SymbolToStringRegistry = shared('symbol-to-string-registry');
-var WellKnownSymbolsStore = shared('wks');
-var QObject = global.QObject;
-var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-var setSymbolDescriptor = DESCRIPTORS && fails(function () {
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
-  get: function () {
-   return nativeDefineProperty(this, 'a', { value: 7 }).a;
-  }
- })).a != 7;
-}) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor)
-  delete ObjectPrototype[P];
- nativeDefineProperty(O, P, Attributes);
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
-  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
-} : nativeDefineProperty;
-var wrap = function (tag, description) {
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
- setInternalState(symbol, {
-  type: SYMBOL,
-  tag: tag,
-  description: description
- });
- if (!DESCRIPTORS)
-  symbol.description = description;
- return symbol;
-};
-var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
- return typeof it == 'symbol';
-} : function (it) {
- return Object(it) instanceof $Symbol;
-};
-var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype)
-  $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
- if (has(AllSymbols, key)) {
-  if (!Attributes.enumerable) {
-   if (!has(O, HIDDEN))
-    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
-   O[HIDDEN][key] = true;
-  } else {
-   if (has(O, HIDDEN) && O[HIDDEN][key])
-    O[HIDDEN][key] = false;
-   Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
-  }
-  return setSymbolDescriptor(O, key, Attributes);
- }
- return nativeDefineProperty(O, key, Attributes);
-};
-var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
-  if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
-   $defineProperty(O, key, properties[key]);
- });
- return O;
-};
-var $create = function create(O, Properties) {
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
-  return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
-  return;
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
-  descriptor.enumerable = true;
- }
- return descriptor;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (!has(AllSymbols, key) && !has(hiddenKeys, key))
-   result.push(key);
- });
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
-  if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
-   result.push(AllSymbols[key]);
-  }
- });
- return result;
-};
-if (!NATIVE_SYMBOL) {
- $Symbol = function Symbol() {
-  if (this instanceof $Symbol)
-   throw TypeError('Symbol is not a constructor');
-  var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var tag = uid(description);
-  var setter = function (value) {
-   if (this === ObjectPrototype)
-    setter.call(ObjectPrototypeSymbols, value);
-   if (has(this, HIDDEN) && has(this[HIDDEN], tag))
-    this[HIDDEN][tag] = false;
-   setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
-  };
-  if (DESCRIPTORS && USE_SETTER)
-   setSymbolDescriptor(ObjectPrototype, tag, {
-    configurable: true,
-    set: setter
-   });
-  return wrap(tag, description);
- };
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
-  return getInternalState(this).tag;
- });
- redefine($Symbol, 'withoutSetter', function (description) {
-  return wrap(uid(description), description);
- });
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
- definePropertyModule.f = $defineProperty;
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
- wrappedWellKnownSymbolModule.f = function (name) {
-  return wrap(wellKnownSymbol(name), name);
- };
- if (DESCRIPTORS) {
-  nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
-   configurable: true,
-   get: function description() {
-    return getInternalState(this).description;
-   }
-  });
-  if (!IS_PURE) {
-   redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
-  }
- }
-}
-$({
- global: true,
- wrap: true,
- forced: !NATIVE_SYMBOL,
- sham: !NATIVE_SYMBOL
-}, { Symbol: $Symbol });
-$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
- defineWellKnownSymbol(name);
-});
-$({
- target: SYMBOL,
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- 'for': function (key) {
-  var string = String(key);
-  if (has(StringToSymbolRegistry, string))
-   return StringToSymbolRegistry[string];
-  var symbol = $Symbol(string);
-  StringToSymbolRegistry[string] = symbol;
-  SymbolToStringRegistry[symbol] = string;
-  return symbol;
- },
- keyFor: function keyFor(sym) {
-  if (!isSymbol(sym))
-   throw TypeError(sym + ' is not a symbol');
-  if (has(SymbolToStringRegistry, sym))
-   return SymbolToStringRegistry[sym];
- },
- useSetter: function () {
-  USE_SETTER = true;
- },
- useSimple: function () {
-  USE_SETTER = false;
- }
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL,
- sham: !DESCRIPTORS
-}, {
- create: $create,
- defineProperty: $defineProperty,
- defineProperties: $defineProperties,
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- getOwnPropertyNames: $getOwnPropertyNames,
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-$({
- target: 'Object',
- stat: true,
- forced: fails(function () {
-  getOwnPropertySymbolsModule.f(1);
- })
-}, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
-  return getOwnPropertySymbolsModule.f(toObject(it));
- }
-});
-if ($stringify) {
- var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
-  var symbol = $Symbol();
-  return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';
- });
- $({
-  target: 'JSON',
-  stat: true,
-  forced: FORCED_JSON_STRINGIFY
- }, {
-  stringify: function stringify(it, replacer, space) {
-   var args = [it];
-   var index = 1;
-   var $replacer;
-   while (arguments.length > index)
-    args.push(arguments[index++]);
-   $replacer = replacer;
-   if (!isObject(replacer) && it === undefined || isSymbol(it))
-    return;
-   if (!isArray(replacer))
-    replacer = function (key, value) {
-     if (typeof $replacer == 'function')
-      value = $replacer.call(this, key, value);
-     if (!isSymbol(value))
-      return value;
-    };
-   args[1] = replacer;
-   return $stringify.apply(null, args);
-  }
- });
-}
-if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
- createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-}
-setToStringTag($Symbol, SYMBOL);
-hiddenKeys[HIDDEN] = true;
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(16);
-var nativeGetOwnPropertyNames = __w_pdfjs_require__(43).f;
-var toString = {}.toString;
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-var getWindowNames = function (it) {
- try {
-  return nativeGetOwnPropertyNames(it);
- } catch (error) {
-  return windowNames.slice();
- }
-};
-module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
-};
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(57);
-exports.f = wellKnownSymbol;
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(42);
-var has = __w_pdfjs_require__(22);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(166);
-var defineProperty = __w_pdfjs_require__(26).f;
-module.exports = function (NAME) {
- var Symbol = path.Symbol || (path.Symbol = {});
- if (!has(Symbol, NAME))
-  defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
-};
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('asyncIterator');
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var global = __w_pdfjs_require__(10);
-var has = __w_pdfjs_require__(22);
-var isObject = __w_pdfjs_require__(21);
-var defineProperty = __w_pdfjs_require__(26).f;
-var copyConstructorProperties = __w_pdfjs_require__(39);
-var NativeSymbol = global.Symbol;
-if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {};
- var SymbolWrapper = function Symbol() {
-  var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
-  var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);
-  if (description === '')
-   EmptyStringDescriptionStore[result] = true;
-  return result;
- };
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
- var native = String(NativeSymbol('test')) == 'Symbol(test)';
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty(symbolPrototype, 'description', {
-  configurable: true,
-  get: function description() {
-   var symbol = isObject(this) ? this.valueOf() : this;
-   var string = symbolToString.call(symbol);
-   if (has(EmptyStringDescriptionStore, symbol))
-    return '';
-   var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
-   return desc === '' ? undefined : desc;
-  }
- });
- $({
-  global: true,
-  forced: true
- }, { Symbol: SymbolWrapper });
-}
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('hasInstance');
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('isConcatSpreadable');
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('iterator');
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('match');
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('matchAll');
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('replace');
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('search');
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('species');
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('split');
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('toPrimitive');
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('toStringTag');
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(167);
-defineWellKnownSymbol('unscopables');
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var setToStringTag = __w_pdfjs_require__(85);
-setToStringTag(Math, 'Math', true);
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(10);
-var setToStringTag = __w_pdfjs_require__(85);
-setToStringTag(global.JSON, 'JSON', true);
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(185);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('String', 'padStart');
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var $padStart = __w_pdfjs_require__(186).start;
-var WEBKIT_BUG = __w_pdfjs_require__(188);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padStart: function padStart(maxLength) {
-  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toLength = __w_pdfjs_require__(46);
-var repeat = __w_pdfjs_require__(187);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-var ceil = Math.ceil;
-var createMethod = function (IS_END) {
- return function ($this, maxLength, fillString) {
-  var S = String(requireObjectCoercible($this));
-  var stringLength = S.length;
-  var fillStr = fillString === undefined ? ' ' : String(fillString);
-  var intMaxLength = toLength(maxLength);
-  var fillLen, stringFiller;
-  if (intMaxLength <= stringLength || fillStr == '')
-   return S;
-  fillLen = intMaxLength - stringLength;
-  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
-  if (stringFiller.length > fillLen)
-   stringFiller = stringFiller.slice(0, fillLen);
-  return IS_END ? S + stringFiller : stringFiller + S;
- };
-};
-module.exports = {
- start: createMethod(false),
- end: createMethod(true)
-};
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toInteger = __w_pdfjs_require__(47);
-var requireObjectCoercible = __w_pdfjs_require__(19);
-module.exports = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity)
-  throw RangeError('Wrong number of repetitions');
- for (; n > 0; (n >>>= 1) && (str += str))
-  if (n & 1)
-   result += str;
- return result;
-};
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(123);
-module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
-
-/***/ }),
-/* 189 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(190);
-var entryUnbind = __w_pdfjs_require__(61);
-module.exports = entryUnbind('String', 'padEnd');
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(9);
-var $padEnd = __w_pdfjs_require__(186).end;
-var WEBKIT_BUG = __w_pdfjs_require__(188);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padEnd: function padEnd(maxLength) {
-  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(192);
-var path = __w_pdfjs_require__(42);
-module.exports = path.Object.values;
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(9);
-var $values = __w_pdfjs_require__(193).values;
-$({
- target: 'Object',
- stat: true
-}, {
- values: function values(O) {
-  return $values(O);
- }
-});
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(12);
-var objectKeys = __w_pdfjs_require__(73);
-var toIndexedObject = __w_pdfjs_require__(16);
-var propertyIsEnumerable = __w_pdfjs_require__(14).f;
-var createMethod = function (TO_ENTRIES) {
- return function (it) {
-  var O = toIndexedObject(it);
-  var keys = objectKeys(O);
-  var length = keys.length;
-  var i = 0;
-  var result = [];
-  var key;
-  while (length > i) {
-   key = keys[i++];
-   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
-    result.push(TO_ENTRIES ? [
-     key,
-     O[key]
-    ] : O[key]);
-   }
-  }
-  return result;
- };
-};
-module.exports = {
- entries: createMethod(true),
- values: createMethod(false)
-};
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.clearPrimitiveCaches = clearPrimitiveCaches;
-exports.isEOF = isEOF;
-exports.isCmd = isCmd;
-exports.isDict = isDict;
-exports.isName = isName;
-exports.isRef = isRef;
-exports.isRefsEqual = isRefsEqual;
-exports.isStream = isStream;
-exports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-var EOF = {};
-exports.EOF = EOF;
-
-var Name = function NameClosure() {
-  var nameCache = Object.create(null);
-
-  function Name(name) {
-    this.name = name;
-  }
-
-  Name.prototype = {};
-
-  Name.get = function Name_get(name) {
-    var nameValue = nameCache[name];
-    return nameValue ? nameValue : nameCache[name] = new Name(name);
-  };
-
-  Name._clearCache = function () {
-    nameCache = Object.create(null);
-  };
-
-  return Name;
-}();
-
-exports.Name = Name;
-
-var Cmd = function CmdClosure() {
-  var cmdCache = Object.create(null);
-
-  function Cmd(cmd) {
-    this.cmd = cmd;
-  }
-
-  Cmd.prototype = {};
-
-  Cmd.get = function Cmd_get(cmd) {
-    var cmdValue = cmdCache[cmd];
-    return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);
-  };
-
-  Cmd._clearCache = function () {
-    cmdCache = Object.create(null);
-  };
-
-  return Cmd;
-}();
-
-exports.Cmd = Cmd;
-
-var Dict = function DictClosure() {
-  var nonSerializable = function nonSerializableClosure() {
-    return nonSerializable;
-  };
-
-  function Dict(xref) {
-    this._map = Object.create(null);
-    this.xref = xref;
-    this.objId = null;
-    this.suppressEncryption = false;
-    this.__nonSerializable__ = nonSerializable;
-  }
-
-  Dict.prototype = {
-    assignXref: function Dict_assignXref(newXref) {
-      this.xref = newXref;
-    },
-    get: function get(key1, key2, key3) {
-      var value = this._map[key1];
-
-      if (value === undefined && key2 !== undefined) {
-        value = this._map[key2];
-
-        if (value === undefined && key3 !== undefined) {
-          value = this._map[key3];
-        }
-      }
-
-      if (value instanceof Ref && this.xref) {
-        return this.xref.fetch(value, this.suppressEncryption);
-      }
-
-      return value;
-    },
-    getAsync: function getAsync(key1, key2, key3) {
-      var _this = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var value;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                value = _this._map[key1];
-
-                if (value === undefined && key2 !== undefined) {
-                  value = _this._map[key2];
-
-                  if (value === undefined && key3 !== undefined) {
-                    value = _this._map[key3];
-                  }
-                }
-
-                if (!(value instanceof Ref && _this.xref)) {
-                  _context.next = 4;
-                  break;
-                }
-
-                return _context.abrupt("return", _this.xref.fetchAsync(value, _this.suppressEncryption));
-
-              case 4:
-                return _context.abrupt("return", value);
-
-              case 5:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }))();
-    },
-    getArray: function getArray(key1, key2, key3) {
-      var value = this.get(key1, key2, key3);
-
-      if (!Array.isArray(value) || !this.xref) {
-        return value;
-      }
-
-      value = value.slice();
-
-      for (var i = 0, ii = value.length; i < ii; i++) {
-        if (!(value[i] instanceof Ref)) {
-          continue;
-        }
-
-        value[i] = this.xref.fetch(value[i], this.suppressEncryption);
-      }
-
-      return value;
-    },
-    getRaw: function Dict_getRaw(key) {
-      return this._map[key];
-    },
-    getKeys: function Dict_getKeys() {
-      return Object.keys(this._map);
-    },
-    set: function Dict_set(key, value) {
-      this._map[key] = value;
-    },
-    has: function Dict_has(key) {
-      return this._map[key] !== undefined;
-    },
-    forEach: function Dict_forEach(callback) {
-      for (var key in this._map) {
-        callback(key, this.get(key));
-      }
-    }
-  };
-  Dict.empty = new Dict(null);
-
-  Dict.merge = function (xref, dictArray) {
-    var mergedDict = new Dict(xref);
-
-    for (var i = 0, ii = dictArray.length; i < ii; i++) {
-      var dict = dictArray[i];
-
-      if (!isDict(dict)) {
-        continue;
-      }
-
-      for (var keyName in dict._map) {
-        if (mergedDict._map[keyName] !== undefined) {
-          continue;
-        }
-
-        mergedDict._map[keyName] = dict._map[keyName];
-      }
-    }
-
-    return mergedDict;
-  };
-
-  return Dict;
-}();
-
-exports.Dict = Dict;
-
-var Ref = function RefClosure() {
-  var refCache = Object.create(null);
-
-  function Ref(num, gen) {
-    this.num = num;
-    this.gen = gen;
-  }
-
-  Ref.prototype = {
-    toString: function Ref_toString() {
-      if (this.gen === 0) {
-        return "".concat(this.num, "R");
-      }
-
-      return "".concat(this.num, "R").concat(this.gen);
-    }
-  };
-
-  Ref.get = function (num, gen) {
-    var key = gen === 0 ? "".concat(num, "R") : "".concat(num, "R").concat(gen);
-    var refValue = refCache[key];
-    return refValue ? refValue : refCache[key] = new Ref(num, gen);
-  };
-
-  Ref._clearCache = function () {
-    refCache = Object.create(null);
-  };
-
-  return Ref;
-}();
-
-exports.Ref = Ref;
-
-var RefSet = function RefSetClosure() {
-  function RefSet() {
-    this.dict = Object.create(null);
-  }
-
-  RefSet.prototype = {
-    has: function RefSet_has(ref) {
-      return ref.toString() in this.dict;
-    },
-    put: function RefSet_put(ref) {
-      this.dict[ref.toString()] = true;
-    },
-    remove: function RefSet_remove(ref) {
-      delete this.dict[ref.toString()];
-    }
-  };
-  return RefSet;
-}();
-
-exports.RefSet = RefSet;
-
-var RefSetCache = function RefSetCacheClosure() {
-  function RefSetCache() {
-    this.dict = Object.create(null);
-  }
-
-  RefSetCache.prototype = {
-    get: function RefSetCache_get(ref) {
-      return this.dict[ref.toString()];
-    },
-    has: function RefSetCache_has(ref) {
-      return ref.toString() in this.dict;
-    },
-    put: function RefSetCache_put(ref, obj) {
-      this.dict[ref.toString()] = obj;
-    },
-    putAlias: function RefSetCache_putAlias(ref, aliasRef) {
-      this.dict[ref.toString()] = this.get(aliasRef);
-    },
-    forEach: function RefSetCache_forEach(callback) {
-      for (var i in this.dict) {
-        callback(this.dict[i]);
-      }
-    },
-    clear: function RefSetCache_clear() {
-      this.dict = Object.create(null);
-    }
-  };
-  return RefSetCache;
-}();
-
-exports.RefSetCache = RefSetCache;
-
-function isEOF(v) {
-  return v === EOF;
-}
-
-function isName(v, name) {
-  return v instanceof Name && (name === undefined || v.name === name);
-}
-
-function isCmd(v, cmd) {
-  return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);
-}
-
-function isDict(v, type) {
-  return v instanceof Dict && (type === undefined || isName(v.get("Type"), type));
-}
-
-function isRef(v) {
-  return v instanceof Ref;
-}
-
-function isRefsEqual(v1, v2) {
-  return v1.num === v2.num && v1.gen === v2.gen;
-}
-
-function isStream(v) {
-  return _typeof(v) === "object" && v !== null && v.getBytes !== undefined;
-}
-
-function clearPrimitiveCaches() {
-  Cmd._clearCache();
-
-  Name._clearCache();
-
-  Ref._clearCache();
-}
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.NetworkPdfManager = exports.LocalPdfManager = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _chunked_stream = __w_pdfjs_require__(196);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _document = __w_pdfjs_require__(198);
-
-var _stream = __w_pdfjs_require__(201);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var BasePdfManager = /*#__PURE__*/function () {
-  function BasePdfManager() {
-    _classCallCheck(this, BasePdfManager);
-
-    if (this.constructor === BasePdfManager) {
-      (0, _util.unreachable)("Cannot initialize BasePdfManager.");
-    }
-  }
-
-  _createClass(BasePdfManager, [{
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      (0, _util.unreachable)("Abstract method `onLoadedStream` called");
-    }
-  }, {
-    key: "ensureDoc",
-    value: function ensureDoc(prop, args) {
-      return this.ensure(this.pdfDocument, prop, args);
-    }
-  }, {
-    key: "ensureXRef",
-    value: function ensureXRef(prop, args) {
-      return this.ensure(this.pdfDocument.xref, prop, args);
-    }
-  }, {
-    key: "ensureCatalog",
-    value: function ensureCatalog(prop, args) {
-      return this.ensure(this.pdfDocument.catalog, prop, args);
-    }
-  }, {
-    key: "getPage",
-    value: function getPage(pageIndex) {
-      return this.pdfDocument.getPage(pageIndex);
-    }
-  }, {
-    key: "fontFallback",
-    value: function fontFallback(id, handler) {
-      return this.pdfDocument.fontFallback(id, handler);
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      return this.pdfDocument.cleanup();
-    }
-  }, {
-    key: "ensure",
-    value: function () {
-      var _ensure = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(obj, prop, args) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                (0, _util.unreachable)("Abstract method `ensure` called");
-
-              case 1:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      function ensure(_x, _x2, _x3) {
-        return _ensure.apply(this, arguments);
-      }
-
-      return ensure;
-    }()
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      (0, _util.unreachable)("Abstract method `requestRange` called");
-    }
-  }, {
-    key: "requestLoadedStream",
-    value: function requestLoadedStream() {
-      (0, _util.unreachable)("Abstract method `requestLoadedStream` called");
-    }
-  }, {
-    key: "sendProgressiveData",
-    value: function sendProgressiveData(chunk) {
-      (0, _util.unreachable)("Abstract method `sendProgressiveData` called");
-    }
-  }, {
-    key: "updatePassword",
-    value: function updatePassword(password) {
-      this._password = password;
-    }
-  }, {
-    key: "terminate",
-    value: function terminate(reason) {
-      (0, _util.unreachable)("Abstract method `terminate` called");
-    }
-  }, {
-    key: "docId",
-    get: function get() {
-      return this._docId;
-    }
-  }, {
-    key: "password",
-    get: function get() {
-      return this._password;
-    }
-  }, {
-    key: "docBaseUrl",
-    get: function get() {
-      var docBaseUrl = null;
-
-      if (this._docBaseUrl) {
-        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);
-
-        if (absoluteUrl) {
-          docBaseUrl = absoluteUrl.href;
-        } else {
-          (0, _util.warn)("Invalid absolute docBaseUrl: \"".concat(this._docBaseUrl, "\"."));
-        }
-      }
-
-      return (0, _util.shadow)(this, "docBaseUrl", docBaseUrl);
-    }
-  }]);
-
-  return BasePdfManager;
-}();
-
-var LocalPdfManager = /*#__PURE__*/function (_BasePdfManager) {
-  _inherits(LocalPdfManager, _BasePdfManager);
-
-  function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {
-    var _this;
-
-    _classCallCheck(this, LocalPdfManager);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(LocalPdfManager).call(this));
-    _this._docId = docId;
-    _this._password = password;
-    _this._docBaseUrl = docBaseUrl;
-    _this.evaluatorOptions = evaluatorOptions;
-    var stream = new _stream.Stream(data);
-    _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);
-    _this._loadedStreamPromise = Promise.resolve(stream);
-    return _this;
-  }
-
-  _createClass(LocalPdfManager, [{
-    key: "ensure",
-    value: function () {
-      var _ensure2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(obj, prop, args) {
-        var value;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                value = obj[prop];
-
-                if (!(typeof value === "function")) {
-                  _context2.next = 3;
-                  break;
-                }
-
-                return _context2.abrupt("return", value.apply(obj, args));
-
-              case 3:
-                return _context2.abrupt("return", value);
-
-              case 4:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function ensure(_x4, _x5, _x6) {
-        return _ensure2.apply(this, arguments);
-      }
-
-      return ensure;
-    }()
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      return Promise.resolve();
-    }
-  }, {
-    key: "requestLoadedStream",
-    value: function requestLoadedStream() {}
-  }, {
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      return this._loadedStreamPromise;
-    }
-  }, {
-    key: "terminate",
-    value: function terminate(reason) {}
-  }]);
-
-  return LocalPdfManager;
-}(BasePdfManager);
-
-exports.LocalPdfManager = LocalPdfManager;
-
-var NetworkPdfManager = /*#__PURE__*/function (_BasePdfManager2) {
-  _inherits(NetworkPdfManager, _BasePdfManager2);
-
-  function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {
-    var _this2;
-
-    _classCallCheck(this, NetworkPdfManager);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NetworkPdfManager).call(this));
-    _this2._docId = docId;
-    _this2._password = args.password;
-    _this2._docBaseUrl = docBaseUrl;
-    _this2.msgHandler = args.msgHandler;
-    _this2.evaluatorOptions = evaluatorOptions;
-    _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {
-      msgHandler: args.msgHandler,
-      length: args.length,
-      disableAutoFetch: args.disableAutoFetch,
-      rangeChunkSize: args.rangeChunkSize
-    });
-    _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), _this2.streamManager.getStream());
-    return _this2;
-  }
-
-  _createClass(NetworkPdfManager, [{
-    key: "ensure",
-    value: function () {
-      var _ensure3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(obj, prop, args) {
-        var value;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.prev = 0;
-                value = obj[prop];
-
-                if (!(typeof value === "function")) {
-                  _context3.next = 4;
-                  break;
-                }
-
-                return _context3.abrupt("return", value.apply(obj, args));
-
-              case 4:
-                return _context3.abrupt("return", value);
-
-              case 7:
-                _context3.prev = 7;
-                _context3.t0 = _context3["catch"](0);
-
-                if (_context3.t0 instanceof _core_utils.MissingDataException) {
-                  _context3.next = 11;
-                  break;
-                }
-
-                throw _context3.t0;
-
-              case 11:
-                _context3.next = 13;
-                return this.requestRange(_context3.t0.begin, _context3.t0.end);
-
-              case 13:
-                return _context3.abrupt("return", this.ensure(obj, prop, args));
-
-              case 14:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this, [[0, 7]]);
-      }));
-
-      function ensure(_x7, _x8, _x9) {
-        return _ensure3.apply(this, arguments);
-      }
-
-      return ensure;
-    }()
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      return this.streamManager.requestRange(begin, end);
-    }
-  }, {
-    key: "requestLoadedStream",
-    value: function requestLoadedStream() {
-      this.streamManager.requestAllChunks();
-    }
-  }, {
-    key: "sendProgressiveData",
-    value: function sendProgressiveData(chunk) {
-      this.streamManager.onReceiveData({
-        chunk: chunk
-      });
-    }
-  }, {
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      return this.streamManager.onLoadedStream();
-    }
-  }, {
-    key: "terminate",
-    value: function terminate(reason) {
-      this.streamManager.abort(reason);
-    }
-  }]);
-
-  return NetworkPdfManager;
-}(BasePdfManager);
-
-exports.NetworkPdfManager = NetworkPdfManager;
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.ChunkedStreamManager = exports.ChunkedStream = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var ChunkedStream = /*#__PURE__*/function () {
-  function ChunkedStream(length, chunkSize, manager) {
-    _classCallCheck(this, ChunkedStream);
-
-    this.bytes = new Uint8Array(length);
-    this.start = 0;
-    this.pos = 0;
-    this.end = length;
-    this.chunkSize = chunkSize;
-    this.loadedChunks = [];
-    this.numChunksLoaded = 0;
-    this.numChunks = Math.ceil(length / chunkSize);
-    this.manager = manager;
-    this.progressiveDataLength = 0;
-    this.lastSuccessfulEnsureByteChunk = -1;
-  }
-
-  _createClass(ChunkedStream, [{
-    key: "getMissingChunks",
-    value: function getMissingChunks() {
-      var chunks = [];
-
-      for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {
-        if (!this.loadedChunks[chunk]) {
-          chunks.push(chunk);
-        }
-      }
-
-      return chunks;
-    }
-  }, {
-    key: "getBaseStreams",
-    value: function getBaseStreams() {
-      return [this];
-    }
-  }, {
-    key: "allChunksLoaded",
-    value: function allChunksLoaded() {
-      return this.numChunksLoaded === this.numChunks;
-    }
-  }, {
-    key: "onReceiveData",
-    value: function onReceiveData(begin, chunk) {
-      var chunkSize = this.chunkSize;
-
-      if (begin % chunkSize !== 0) {
-        throw new Error("Bad begin offset: ".concat(begin));
-      }
-
-      var end = begin + chunk.byteLength;
-
-      if (end % chunkSize !== 0 && end !== this.bytes.length) {
-        throw new Error("Bad end offset: ".concat(end));
-      }
-
-      this.bytes.set(new Uint8Array(chunk), begin);
-      var beginChunk = Math.floor(begin / chunkSize);
-      var endChunk = Math.floor((end - 1) / chunkSize) + 1;
-
-      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {
-        if (!this.loadedChunks[curChunk]) {
-          this.loadedChunks[curChunk] = true;
-          ++this.numChunksLoaded;
-        }
-      }
-    }
-  }, {
-    key: "onReceiveProgressiveData",
-    value: function onReceiveProgressiveData(data) {
-      var position = this.progressiveDataLength;
-      var beginChunk = Math.floor(position / this.chunkSize);
-      this.bytes.set(new Uint8Array(data), position);
-      position += data.byteLength;
-      this.progressiveDataLength = position;
-      var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);
-
-      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {
-        if (!this.loadedChunks[curChunk]) {
-          this.loadedChunks[curChunk] = true;
-          ++this.numChunksLoaded;
-        }
-      }
-    }
-  }, {
-    key: "ensureByte",
-    value: function ensureByte(pos) {
-      if (pos < this.progressiveDataLength) {
-        return;
-      }
-
-      var chunk = Math.floor(pos / this.chunkSize);
-
-      if (chunk === this.lastSuccessfulEnsureByteChunk) {
-        return;
-      }
-
-      if (!this.loadedChunks[chunk]) {
-        throw new _core_utils.MissingDataException(pos, pos + 1);
-      }
-
-      this.lastSuccessfulEnsureByteChunk = chunk;
-    }
-  }, {
-    key: "ensureRange",
-    value: function ensureRange(begin, end) {
-      if (begin >= end) {
-        return;
-      }
-
-      if (end <= this.progressiveDataLength) {
-        return;
-      }
-
-      var chunkSize = this.chunkSize;
-      var beginChunk = Math.floor(begin / chunkSize);
-      var endChunk = Math.floor((end - 1) / chunkSize) + 1;
-
-      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-        if (!this.loadedChunks[chunk]) {
-          throw new _core_utils.MissingDataException(begin, end);
-        }
-      }
-    }
-  }, {
-    key: "nextEmptyChunk",
-    value: function nextEmptyChunk(beginChunk) {
-      var numChunks = this.numChunks;
-
-      for (var i = 0; i < numChunks; ++i) {
-        var chunk = (beginChunk + i) % numChunks;
-
-        if (!this.loadedChunks[chunk]) {
-          return chunk;
-        }
-      }
-
-      return null;
-    }
-  }, {
-    key: "hasChunk",
-    value: function hasChunk(chunk) {
-      return !!this.loadedChunks[chunk];
-    }
-  }, {
-    key: "getByte",
-    value: function getByte() {
-      var pos = this.pos;
-
-      if (pos >= this.end) {
-        return -1;
-      }
-
-      if (pos >= this.progressiveDataLength) {
-        this.ensureByte(pos);
-      }
-
-      return this.bytes[this.pos++];
-    }
-  }, {
-    key: "getUint16",
-    value: function getUint16() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-
-      if (b0 === -1 || b1 === -1) {
-        return -1;
-      }
-
-      return (b0 << 8) + b1;
-    }
-  }, {
-    key: "getInt32",
-    value: function getInt32() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-      var b2 = this.getByte();
-      var b3 = this.getByte();
-      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
-    }
-  }, {
-    key: "getBytes",
-    value: function getBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.bytes;
-      var pos = this.pos;
-      var strEnd = this.end;
-
-      if (!length) {
-        if (strEnd > this.progressiveDataLength) {
-          this.ensureRange(pos, strEnd);
-        }
-
-        var _subarray = bytes.subarray(pos, strEnd);
-
-        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;
-      }
-
-      var end = pos + length;
-
-      if (end > strEnd) {
-        end = strEnd;
-      }
-
-      if (end > this.progressiveDataLength) {
-        this.ensureRange(pos, end);
-      }
-
-      this.pos = end;
-      var subarray = bytes.subarray(pos, end);
-      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
-    }
-  }, {
-    key: "peekByte",
-    value: function peekByte() {
-      var peekedByte = this.getByte();
-
-      if (peekedByte !== -1) {
-        this.pos--;
-      }
-
-      return peekedByte;
-    }
-  }, {
-    key: "peekBytes",
-    value: function peekBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.getBytes(length, forceClamped);
-      this.pos -= bytes.length;
-      return bytes;
-    }
-  }, {
-    key: "getByteRange",
-    value: function getByteRange(begin, end) {
-      if (begin < 0) {
-        begin = 0;
-      }
-
-      if (end > this.end) {
-        end = this.end;
-      }
-
-      if (end > this.progressiveDataLength) {
-        this.ensureRange(begin, end);
-      }
-
-      return this.bytes.subarray(begin, end);
-    }
-  }, {
-    key: "skip",
-    value: function skip(n) {
-      if (!n) {
-        n = 1;
-      }
-
-      this.pos += n;
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.pos = this.start;
-    }
-  }, {
-    key: "moveStart",
-    value: function moveStart() {
-      this.start = this.pos;
-    }
-  }, {
-    key: "makeSubStream",
-    value: function makeSubStream(start, length, dict) {
-      if (length) {
-        if (start + length > this.progressiveDataLength) {
-          this.ensureRange(start, start + length);
-        }
-      } else {
-        if (start >= this.progressiveDataLength) {
-          this.ensureByte(start);
-        }
-      }
-
-      function ChunkedStreamSubstream() {}
-
-      ChunkedStreamSubstream.prototype = Object.create(this);
-
-      ChunkedStreamSubstream.prototype.getMissingChunks = function () {
-        var chunkSize = this.chunkSize;
-        var beginChunk = Math.floor(this.start / chunkSize);
-        var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;
-        var missingChunks = [];
-
-        for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-          if (!this.loadedChunks[chunk]) {
-            missingChunks.push(chunk);
-          }
-        }
-
-        return missingChunks;
-      };
-
-      ChunkedStreamSubstream.prototype.allChunksLoaded = function () {
-        if (this.numChunksLoaded === this.numChunks) {
-          return true;
-        }
-
-        return this.getMissingChunks().length === 0;
-      };
-
-      var subStream = new ChunkedStreamSubstream();
-      subStream.pos = subStream.start = start;
-      subStream.end = start + length || this.end;
-      subStream.dict = dict;
-      return subStream;
-    }
-  }, {
-    key: "length",
-    get: function get() {
-      return this.end - this.start;
-    }
-  }, {
-    key: "isEmpty",
-    get: function get() {
-      return this.length === 0;
-    }
-  }]);
-
-  return ChunkedStream;
-}();
-
-exports.ChunkedStream = ChunkedStream;
-
-var ChunkedStreamManager = /*#__PURE__*/function () {
-  function ChunkedStreamManager(pdfNetworkStream, args) {
-    _classCallCheck(this, ChunkedStreamManager);
-
-    this.length = args.length;
-    this.chunkSize = args.rangeChunkSize;
-    this.stream = new ChunkedStream(this.length, this.chunkSize, this);
-    this.pdfNetworkStream = pdfNetworkStream;
-    this.disableAutoFetch = args.disableAutoFetch;
-    this.msgHandler = args.msgHandler;
-    this.currRequestId = 0;
-    this.chunksNeededByRequest = Object.create(null);
-    this.requestsByChunk = Object.create(null);
-    this.promisesByRequest = Object.create(null);
-    this.progressiveDataLength = 0;
-    this.aborted = false;
-    this._loadedStreamCapability = (0, _util.createPromiseCapability)();
-  }
-
-  _createClass(ChunkedStreamManager, [{
-    key: "onLoadedStream",
-    value: function onLoadedStream() {
-      return this._loadedStreamCapability.promise;
-    }
-  }, {
-    key: "sendRequest",
-    value: function sendRequest(begin, end) {
-      var _this = this;
-
-      var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);
-
-      if (!rangeReader.isStreamingSupported) {
-        rangeReader.onProgress = this.onProgress.bind(this);
-      }
-
-      var chunks = [],
-          loaded = 0;
-      var promise = new Promise(function (resolve, reject) {
-        var readChunk = function readChunk(chunk) {
-          try {
-            if (!chunk.done) {
-              var data = chunk.value;
-              chunks.push(data);
-              loaded += (0, _util.arrayByteLength)(data);
-
-              if (rangeReader.isStreamingSupported) {
-                _this.onProgress({
-                  loaded: loaded
-                });
-              }
-
-              rangeReader.read().then(readChunk, reject);
-              return;
-            }
-
-            var chunkData = (0, _util.arraysToBytes)(chunks);
-            chunks = null;
-            resolve(chunkData);
-          } catch (e) {
-            reject(e);
-          }
-        };
-
-        rangeReader.read().then(readChunk, reject);
-      });
-      promise.then(function (data) {
-        if (_this.aborted) {
-          return;
-        }
-
-        _this.onReceiveData({
-          chunk: data,
-          begin: begin
-        });
-      });
-    }
-  }, {
-    key: "requestAllChunks",
-    value: function requestAllChunks() {
-      var missingChunks = this.stream.getMissingChunks();
-
-      this._requestChunks(missingChunks);
-
-      return this._loadedStreamCapability.promise;
-    }
-  }, {
-    key: "_requestChunks",
-    value: function _requestChunks(chunks) {
-      var requestId = this.currRequestId++;
-      var chunksNeeded = Object.create(null);
-      this.chunksNeededByRequest[requestId] = chunksNeeded;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var _chunk = _step.value;
-
-          if (!this.stream.hasChunk(_chunk)) {
-            chunksNeeded[_chunk] = true;
-          }
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-
-      if ((0, _util.isEmptyObj)(chunksNeeded)) {
-        return Promise.resolve();
-      }
-
-      var capability = (0, _util.createPromiseCapability)();
-      this.promisesByRequest[requestId] = capability;
-      var chunksToRequest = [];
-
-      for (var chunk in chunksNeeded) {
-        chunk = chunk | 0;
-
-        if (!(chunk in this.requestsByChunk)) {
-          this.requestsByChunk[chunk] = [];
-          chunksToRequest.push(chunk);
-        }
-
-        this.requestsByChunk[chunk].push(requestId);
-      }
-
-      if (!chunksToRequest.length) {
-        return capability.promise;
-      }
-
-      var groupedChunksToRequest = this.groupChunks(chunksToRequest);
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
-
-      try {
-        for (var _iterator2 = groupedChunksToRequest[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var groupedChunk = _step2.value;
-          var begin = groupedChunk.beginChunk * this.chunkSize;
-          var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);
-          this.sendRequest(begin, end);
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
-      }
-
-      return capability.promise;
-    }
-  }, {
-    key: "getStream",
-    value: function getStream() {
-      return this.stream;
-    }
-  }, {
-    key: "requestRange",
-    value: function requestRange(begin, end) {
-      end = Math.min(end, this.length);
-      var beginChunk = this.getBeginChunk(begin);
-      var endChunk = this.getEndChunk(end);
-      var chunks = [];
-
-      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-        chunks.push(chunk);
-      }
-
-      return this._requestChunks(chunks);
-    }
-  }, {
-    key: "requestRanges",
-    value: function requestRanges() {
-      var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
-      var chunksToRequest = [];
-      var _iteratorNormalCompletion3 = true;
-      var _didIteratorError3 = false;
-      var _iteratorError3 = undefined;
-
-      try {
-        for (var _iterator3 = ranges[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-          var range = _step3.value;
-          var beginChunk = this.getBeginChunk(range.begin);
-          var endChunk = this.getEndChunk(range.end);
-
-          for (var chunk = beginChunk; chunk < endChunk; ++chunk) {
-            if (!chunksToRequest.includes(chunk)) {
-              chunksToRequest.push(chunk);
-            }
-          }
-        }
-      } catch (err) {
-        _didIteratorError3 = true;
-        _iteratorError3 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-            _iterator3["return"]();
-          }
-        } finally {
-          if (_didIteratorError3) {
-            throw _iteratorError3;
-          }
-        }
-      }
-
-      chunksToRequest.sort(function (a, b) {
-        return a - b;
-      });
-      return this._requestChunks(chunksToRequest);
-    }
-  }, {
-    key: "groupChunks",
-    value: function groupChunks(chunks) {
-      var groupedChunks = [];
-      var beginChunk = -1;
-      var prevChunk = -1;
-
-      for (var i = 0, ii = chunks.length; i < ii; ++i) {
-        var chunk = chunks[i];
-
-        if (beginChunk < 0) {
-          beginChunk = chunk;
-        }
-
-        if (prevChunk >= 0 && prevChunk + 1 !== chunk) {
-          groupedChunks.push({
-            beginChunk: beginChunk,
-            endChunk: prevChunk + 1
-          });
-          beginChunk = chunk;
-        }
-
-        if (i + 1 === chunks.length) {
-          groupedChunks.push({
-            beginChunk: beginChunk,
-            endChunk: chunk + 1
-          });
-        }
-
-        prevChunk = chunk;
-      }
-
-      return groupedChunks;
-    }
-  }, {
-    key: "onProgress",
-    value: function onProgress(args) {
-      this.msgHandler.send("DocProgress", {
-        loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,
-        total: this.length
-      });
-    }
-  }, {
-    key: "onReceiveData",
-    value: function onReceiveData(args) {
-      var chunk = args.chunk;
-      var isProgressive = args.begin === undefined;
-      var begin = isProgressive ? this.progressiveDataLength : args.begin;
-      var end = begin + chunk.byteLength;
-      var beginChunk = Math.floor(begin / this.chunkSize);
-      var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);
-
-      if (isProgressive) {
-        this.stream.onReceiveProgressiveData(chunk);
-        this.progressiveDataLength = end;
-      } else {
-        this.stream.onReceiveData(begin, chunk);
-      }
-
-      if (this.stream.allChunksLoaded()) {
-        this._loadedStreamCapability.resolve(this.stream);
-      }
-
-      var loadedRequests = [];
-
-      for (var _chunk2 = beginChunk; _chunk2 < endChunk; ++_chunk2) {
-        var requestIds = this.requestsByChunk[_chunk2] || [];
-        delete this.requestsByChunk[_chunk2];
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
-
-        try {
-          for (var _iterator4 = requestIds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var requestId = _step4.value;
-            var chunksNeeded = this.chunksNeededByRequest[requestId];
-
-            if (_chunk2 in chunksNeeded) {
-              delete chunksNeeded[_chunk2];
-            }
-
-            if (!(0, _util.isEmptyObj)(chunksNeeded)) {
-              continue;
-            }
-
-            loadedRequests.push(requestId);
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
-      }
-
-      if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {
-        var nextEmptyChunk;
-
-        if (this.stream.numChunksLoaded === 1) {
-          var lastChunk = this.stream.numChunks - 1;
-
-          if (!this.stream.hasChunk(lastChunk)) {
-            nextEmptyChunk = lastChunk;
-          }
-        } else {
-          nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);
-        }
-
-        if (Number.isInteger(nextEmptyChunk)) {
-          this._requestChunks([nextEmptyChunk]);
-        }
-      }
-
-      for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {
-        var _requestId = _loadedRequests[_i];
-        var capability = this.promisesByRequest[_requestId];
-        delete this.promisesByRequest[_requestId];
-        capability.resolve();
-      }
-
-      this.msgHandler.send("DocProgress", {
-        loaded: this.stream.numChunksLoaded * this.chunkSize,
-        total: this.length
-      });
-    }
-  }, {
-    key: "onError",
-    value: function onError(err) {
-      this._loadedStreamCapability.reject(err);
-    }
-  }, {
-    key: "getBeginChunk",
-    value: function getBeginChunk(begin) {
-      return Math.floor(begin / this.chunkSize);
-    }
-  }, {
-    key: "getEndChunk",
-    value: function getEndChunk(end) {
-      return Math.floor((end - 1) / this.chunkSize) + 1;
-    }
-  }, {
-    key: "abort",
-    value: function abort(reason) {
-      this.aborted = true;
-
-      if (this.pdfNetworkStream) {
-        this.pdfNetworkStream.cancelAllRequests(reason);
-      }
-
-      for (var requestId in this.promisesByRequest) {
-        this.promisesByRequest[requestId].reject(reason);
-      }
-    }
-  }]);
-
-  return ChunkedStreamManager;
-}();
-
-exports.ChunkedStreamManager = ChunkedStreamManager;
-
-/***/ }),
-/* 197 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getLookupTableFactory = getLookupTableFactory;
-exports.getInheritableProperty = getInheritableProperty;
-exports.toRomanNumerals = toRomanNumerals;
-exports.log2 = log2;
-exports.readInt8 = readInt8;
-exports.readUint16 = readUint16;
-exports.readUint32 = readUint32;
-exports.isWhiteSpace = isWhiteSpace;
-exports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function getLookupTableFactory(initializer) {
-  var lookup;
-  return function () {
-    if (initializer) {
-      lookup = Object.create(null);
-      initializer(lookup);
-      initializer = null;
-    }
-
-    return lookup;
-  };
-}
-
-var MissingDataException = /*#__PURE__*/function (_BaseException) {
-  _inherits(MissingDataException, _BaseException);
-
-  function MissingDataException(begin, end) {
-    var _this;
-
-    _classCallCheck(this, MissingDataException);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(MissingDataException).call(this, "Missing data [".concat(begin, ", ").concat(end, ")")));
-    _this.begin = begin;
-    _this.end = end;
-    return _this;
-  }
-
-  return MissingDataException;
-}(_util.BaseException);
-
-exports.MissingDataException = MissingDataException;
-
-var XRefEntryException = /*#__PURE__*/function (_BaseException2) {
-  _inherits(XRefEntryException, _BaseException2);
-
-  function XRefEntryException() {
-    _classCallCheck(this, XRefEntryException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(XRefEntryException).apply(this, arguments));
-  }
-
-  return XRefEntryException;
-}(_util.BaseException);
-
-exports.XRefEntryException = XRefEntryException;
-
-var XRefParseException = /*#__PURE__*/function (_BaseException3) {
-  _inherits(XRefParseException, _BaseException3);
-
-  function XRefParseException() {
-    _classCallCheck(this, XRefParseException);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(XRefParseException).apply(this, arguments));
-  }
-
-  return XRefParseException;
-}(_util.BaseException);
-
-exports.XRefParseException = XRefParseException;
-
-function getInheritableProperty(_ref) {
-  var dict = _ref.dict,
-      key = _ref.key,
-      _ref$getArray = _ref.getArray,
-      getArray = _ref$getArray === void 0 ? false : _ref$getArray,
-      _ref$stopWhenFound = _ref.stopWhenFound,
-      stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;
-  var LOOP_LIMIT = 100;
-  var loopCount = 0;
-  var values;
-
-  while (dict) {
-    var value = getArray ? dict.getArray(key) : dict.get(key);
-
-    if (value !== undefined) {
-      if (stopWhenFound) {
-        return value;
-      }
-
-      if (!values) {
-        values = [];
-      }
-
-      values.push(value);
-    }
-
-    if (++loopCount > LOOP_LIMIT) {
-      (0, _util.warn)("getInheritableProperty: maximum loop count exceeded for \"".concat(key, "\""));
-      break;
-    }
-
-    dict = dict.get("Parent");
-  }
-
-  return values;
-}
-
-var ROMAN_NUMBER_MAP = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM", "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC", "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"];
-
-function toRomanNumerals(number) {
-  var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-  (0, _util.assert)(Number.isInteger(number) && number > 0, "The number should be a positive integer.");
-  var romanBuf = [];
-  var pos;
-
-  while (number >= 1000) {
-    number -= 1000;
-    romanBuf.push("M");
-  }
-
-  pos = number / 100 | 0;
-  number %= 100;
-  romanBuf.push(ROMAN_NUMBER_MAP[pos]);
-  pos = number / 10 | 0;
-  number %= 10;
-  romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);
-  romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);
-  var romanStr = romanBuf.join("");
-  return lowerCase ? romanStr.toLowerCase() : romanStr;
-}
-
-function log2(x) {
-  if (x <= 0) {
-    return 0;
-  }
-
-  return Math.ceil(Math.log2(x));
-}
-
-function readInt8(data, offset) {
-  return data[offset] << 24 >> 24;
-}
-
-function readUint16(data, offset) {
-  return data[offset] << 8 | data[offset + 1];
-}
-
-function readUint32(data, offset) {
-  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;
-}
-
-function isWhiteSpace(ch) {
-  return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;
-}
-
-/***/ }),
-/* 198 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFDocument = exports.Page = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _obj = __w_pdfjs_require__(199);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _stream2 = __w_pdfjs_require__(201);
-
-var _annotation = __w_pdfjs_require__(213);
-
-var _crypto = __w_pdfjs_require__(211);
-
-var _parser = __w_pdfjs_require__(200);
-
-var _operator_list = __w_pdfjs_require__(214);
-
-var _evaluator = __w_pdfjs_require__(215);
-
-var _function = __w_pdfjs_require__(229);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_USER_UNIT = 1.0;
-var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];
-
-function isAnnotationRenderable(annotation, intent) {
-  return intent === "display" && annotation.viewable || intent === "print" && annotation.printable;
-}
-
-var Page = /*#__PURE__*/function () {
-  function Page(_ref) {
-    var pdfManager = _ref.pdfManager,
-        xref = _ref.xref,
-        pageIndex = _ref.pageIndex,
-        pageDict = _ref.pageDict,
-        ref = _ref.ref,
-        fontCache = _ref.fontCache,
-        builtInCMapCache = _ref.builtInCMapCache,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
-
-    _classCallCheck(this, Page);
-
-    this.pdfManager = pdfManager;
-    this.pageIndex = pageIndex;
-    this.pageDict = pageDict;
-    this.xref = xref;
-    this.ref = ref;
-    this.fontCache = fontCache;
-    this.builtInCMapCache = builtInCMapCache;
-    this.pdfFunctionFactory = pdfFunctionFactory;
-    this.evaluatorOptions = pdfManager.evaluatorOptions;
-    this.resourcesPromise = null;
-    var idCounters = {
-      obj: 0
-    };
-    this.idFactory = {
-      createObjId: function createObjId() {
-        return "p".concat(pageIndex, "_").concat(++idCounters.obj);
-      },
-      getDocId: function getDocId() {
-        return "g_".concat(pdfManager.docId);
-      }
-    };
-  }
-
-  _createClass(Page, [{
-    key: "_getInheritableProperty",
-    value: function _getInheritableProperty(key) {
-      var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var value = (0, _core_utils.getInheritableProperty)({
-        dict: this.pageDict,
-        key: key,
-        getArray: getArray,
-        stopWhenFound: false
-      });
-
-      if (!Array.isArray(value)) {
-        return value;
-      }
-
-      if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {
-        return value[0];
-      }
-
-      return _primitives.Dict.merge(this.xref, value);
-    }
-  }, {
-    key: "_getBoundingBox",
-    value: function _getBoundingBox(name) {
-      var box = this._getInheritableProperty(name, true);
-
-      if (Array.isArray(box) && box.length === 4) {
-        if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {
-          return box;
-        }
-
-        (0, _util.warn)("Empty /".concat(name, " entry."));
-      }
-
-      return null;
-    }
-  }, {
-    key: "getContentStream",
-    value: function getContentStream() {
-      var content = this.content;
-      var stream;
-
-      if (Array.isArray(content)) {
-        var xref = this.xref;
-        var streams = [];
-        var _iteratorNormalCompletion = true;
-        var _didIteratorError = false;
-        var _iteratorError = undefined;
-
-        try {
-          for (var _iterator = content[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-            var _stream = _step.value;
-            streams.push(xref.fetchIfRef(_stream));
-          }
-        } catch (err) {
-          _didIteratorError = true;
-          _iteratorError = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-              _iterator["return"]();
-            }
-          } finally {
-            if (_didIteratorError) {
-              throw _iteratorError;
-            }
-          }
-        }
-
-        stream = new _stream2.StreamsSequenceStream(streams);
-      } else if ((0, _primitives.isStream)(content)) {
-        stream = content;
-      } else {
-        stream = new _stream2.NullStream();
-      }
-
-      return stream;
-    }
-  }, {
-    key: "loadResources",
-    value: function loadResources(keys) {
-      var _this = this;
-
-      if (!this.resourcesPromise) {
-        this.resourcesPromise = this.pdfManager.ensure(this, "resources");
-      }
-
-      return this.resourcesPromise.then(function () {
-        var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);
-        return objectLoader.load();
-      });
-    }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList(_ref2) {
-      var _this2 = this;
-
-      var handler = _ref2.handler,
-          sink = _ref2.sink,
-          task = _ref2.task,
-          intent = _ref2.intent,
-          renderInteractiveForms = _ref2.renderInteractiveForms;
-      var contentStreamPromise = this.pdfManager.ensure(this, "getContentStream");
-      var resourcesPromise = this.loadResources(["ExtGState", "ColorSpace", "Pattern", "Shading", "XObject", "Font"]);
-      var partialEvaluator = new _evaluator.PartialEvaluator({
-        xref: this.xref,
-        handler: handler,
-        pageIndex: this.pageIndex,
-        idFactory: this.idFactory,
-        fontCache: this.fontCache,
-        builtInCMapCache: this.builtInCMapCache,
-        options: this.evaluatorOptions,
-        pdfFunctionFactory: this.pdfFunctionFactory
-      });
-      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
-      var pageListPromise = dataPromises.then(function (_ref3) {
-        var _ref4 = _slicedToArray(_ref3, 1),
-            contentStream = _ref4[0];
-
-        var opList = new _operator_list.OperatorList(intent, sink, _this2.pageIndex);
-        handler.send("StartRenderPage", {
-          transparency: partialEvaluator.hasBlendModes(_this2.resources),
-          pageIndex: _this2.pageIndex,
-          intent: intent
-        });
-        return partialEvaluator.getOperatorList({
-          stream: contentStream,
-          task: task,
-          resources: _this2.resources,
-          operatorList: opList
-        }).then(function () {
-          return opList;
-        });
-      });
-      return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {
-        var _ref6 = _slicedToArray(_ref5, 2),
-            pageOpList = _ref6[0],
-            annotations = _ref6[1];
-
-        if (annotations.length === 0) {
-          pageOpList.flush(true);
-          return {
-            length: pageOpList.totalLength
-          };
-        }
-
-        var opListPromises = [];
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
-
-        try {
-          for (var _iterator2 = annotations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var annotation = _step2.value;
-
-            if (isAnnotationRenderable(annotation, intent)) {
-              opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms));
-            }
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
-        }
-
-        return Promise.all(opListPromises).then(function (opLists) {
-          pageOpList.addOp(_util.OPS.beginAnnotations, []);
-          var _iteratorNormalCompletion3 = true;
-          var _didIteratorError3 = false;
-          var _iteratorError3 = undefined;
-
-          try {
-            for (var _iterator3 = opLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
-              var opList = _step3.value;
-              pageOpList.addOpList(opList);
-            }
-          } catch (err) {
-            _didIteratorError3 = true;
-            _iteratorError3 = err;
-          } finally {
-            try {
-              if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-                _iterator3["return"]();
-              }
-            } finally {
-              if (_didIteratorError3) {
-                throw _iteratorError3;
-              }
-            }
-          }
-
-          pageOpList.addOp(_util.OPS.endAnnotations, []);
-          pageOpList.flush(true);
-          return {
-            length: pageOpList.totalLength
-          };
-        });
-      });
-    }
-  }, {
-    key: "extractTextContent",
-    value: function extractTextContent(_ref7) {
-      var _this3 = this;
-
-      var handler = _ref7.handler,
-          task = _ref7.task,
-          normalizeWhitespace = _ref7.normalizeWhitespace,
-          sink = _ref7.sink,
-          combineTextItems = _ref7.combineTextItems;
-      var contentStreamPromise = this.pdfManager.ensure(this, "getContentStream");
-      var resourcesPromise = this.loadResources(["ExtGState", "XObject", "Font"]);
-      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
-      return dataPromises.then(function (_ref8) {
-        var _ref9 = _slicedToArray(_ref8, 1),
-            contentStream = _ref9[0];
-
-        var partialEvaluator = new _evaluator.PartialEvaluator({
-          xref: _this3.xref,
-          handler: handler,
-          pageIndex: _this3.pageIndex,
-          idFactory: _this3.idFactory,
-          fontCache: _this3.fontCache,
-          builtInCMapCache: _this3.builtInCMapCache,
-          options: _this3.evaluatorOptions,
-          pdfFunctionFactory: _this3.pdfFunctionFactory
-        });
-        return partialEvaluator.getTextContent({
-          stream: contentStream,
-          task: task,
-          resources: _this3.resources,
-          normalizeWhitespace: normalizeWhitespace,
-          combineTextItems: combineTextItems,
-          sink: sink
-        });
-      });
-    }
-  }, {
-    key: "getAnnotationsData",
-    value: function getAnnotationsData(intent) {
-      return this._parsedAnnotations.then(function (annotations) {
-        var annotationsData = [];
-
-        for (var i = 0, ii = annotations.length; i < ii; i++) {
-          if (!intent || isAnnotationRenderable(annotations[i], intent)) {
-            annotationsData.push(annotations[i].data);
-          }
-        }
-
-        return annotationsData;
-      });
-    }
-  }, {
-    key: "content",
-    get: function get() {
-      return this.pageDict.get("Contents");
-    }
-  }, {
-    key: "resources",
-    get: function get() {
-      return (0, _util.shadow)(this, "resources", this._getInheritableProperty("Resources") || _primitives.Dict.empty);
-    }
-  }, {
-    key: "mediaBox",
-    get: function get() {
-      return (0, _util.shadow)(this, "mediaBox", this._getBoundingBox("MediaBox") || LETTER_SIZE_MEDIABOX);
-    }
-  }, {
-    key: "cropBox",
-    get: function get() {
-      return (0, _util.shadow)(this, "cropBox", this._getBoundingBox("CropBox") || this.mediaBox);
-    }
-  }, {
-    key: "userUnit",
-    get: function get() {
-      var obj = this.pageDict.get("UserUnit");
-
-      if (!(0, _util.isNum)(obj) || obj <= 0) {
-        obj = DEFAULT_USER_UNIT;
-      }
-
-      return (0, _util.shadow)(this, "userUnit", obj);
-    }
-  }, {
-    key: "view",
-    get: function get() {
-      var cropBox = this.cropBox,
-          mediaBox = this.mediaBox;
-      var view;
-
-      if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {
-        view = mediaBox;
-      } else {
-        var box = _util.Util.intersect(cropBox, mediaBox);
-
-        if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {
-          view = box;
-        } else {
-          (0, _util.warn)("Empty /CropBox and /MediaBox intersection.");
-        }
-      }
-
-      return (0, _util.shadow)(this, "view", view || mediaBox);
-    }
-  }, {
-    key: "rotate",
-    get: function get() {
-      var rotate = this._getInheritableProperty("Rotate") || 0;
-
-      if (rotate % 90 !== 0) {
-        rotate = 0;
-      } else if (rotate >= 360) {
-        rotate = rotate % 360;
-      } else if (rotate < 0) {
-        rotate = (rotate % 360 + 360) % 360;
-      }
-
-      return (0, _util.shadow)(this, "rotate", rotate);
-    }
-  }, {
-    key: "annotations",
-    get: function get() {
-      return (0, _util.shadow)(this, "annotations", this._getInheritableProperty("Annots") || []);
-    }
-  }, {
-    key: "_parsedAnnotations",
-    get: function get() {
-      var _this4 = this;
-
-      var parsedAnnotations = this.pdfManager.ensure(this, "annotations").then(function () {
-        var annotationRefs = _this4.annotations;
-        var annotationPromises = [];
-
-        for (var i = 0, ii = annotationRefs.length; i < ii; i++) {
-          annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRefs[i], _this4.pdfManager, _this4.idFactory));
-        }
-
-        return Promise.all(annotationPromises).then(function (annotations) {
-          return annotations.filter(function isDefined(annotation) {
-            return !!annotation;
-          });
-        }, function (reason) {
-          (0, _util.warn)("_parsedAnnotations: \"".concat(reason, "\"."));
-          return [];
-        });
-      });
-      return (0, _util.shadow)(this, "_parsedAnnotations", parsedAnnotations);
-    }
-  }]);
-
-  return Page;
-}();
-
-exports.Page = Page;
-var PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);
-var STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);
-var ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);
-var FINGERPRINT_FIRST_BYTES = 1024;
-var EMPTY_FINGERPRINT = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
-var PDF_HEADER_VERSION_REGEXP = /^[1-9]\.[0-9]$/;
-
-function find(stream, signature) {
-  var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;
-  var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-  var signatureLength = signature.length;
-  var scanBytes = stream.peekBytes(limit);
-  var scanLength = scanBytes.length - signatureLength;
-
-  if (scanLength <= 0) {
-    return false;
-  }
-
-  if (backwards) {
-    var signatureEnd = signatureLength - 1;
-    var pos = scanBytes.length - 1;
-
-    while (pos >= signatureEnd) {
-      var j = 0;
-
-      while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {
-        j++;
-      }
-
-      if (j >= signatureLength) {
-        stream.pos += pos - signatureEnd;
-        return true;
-      }
-
-      pos--;
-    }
-  } else {
-    var _pos = 0;
-
-    while (_pos <= scanLength) {
-      var _j = 0;
-
-      while (_j < signatureLength && scanBytes[_pos + _j] === signature[_j]) {
-        _j++;
-      }
-
-      if (_j >= signatureLength) {
-        stream.pos += _pos;
-        return true;
-      }
-
-      _pos++;
-    }
-  }
-
-  return false;
-}
-
-var PDFDocument = /*#__PURE__*/function () {
-  function PDFDocument(pdfManager, arg) {
-    _classCallCheck(this, PDFDocument);
-
-    var stream;
-
-    if ((0, _primitives.isStream)(arg)) {
-      stream = arg;
-    } else if ((0, _util.isArrayBuffer)(arg)) {
-      stream = new _stream2.Stream(arg);
-    } else {
-      throw new Error("PDFDocument: Unknown argument type");
-    }
-
-    if (stream.length <= 0) {
-      throw new _util.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");
-    }
-
-    this.pdfManager = pdfManager;
-    this.stream = stream;
-    this.xref = new _obj.XRef(stream, pdfManager);
-    this.pdfFunctionFactory = new _function.PDFFunctionFactory({
-      xref: this.xref,
-      isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported
-    });
-    this._pagePromises = [];
-  }
-
-  _createClass(PDFDocument, [{
-    key: "parse",
-    value: function parse(recoveryMode) {
-      this.setup(recoveryMode);
-      var version = this.catalog.catDict.get("Version");
-
-      if ((0, _primitives.isName)(version)) {
-        this.pdfFormatVersion = version.name;
-      }
-
-      try {
-        this.acroForm = this.catalog.catDict.get("AcroForm");
-
-        if (this.acroForm) {
-          this.xfa = this.acroForm.get("XFA");
-          var fields = this.acroForm.get("Fields");
-
-          if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {
-            this.acroForm = null;
-          }
-        }
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.info)("Cannot fetch AcroForm entry; assuming no AcroForms are present");
-        this.acroForm = null;
-      }
-
-      try {
-        var collection = this.catalog.catDict.get("Collection");
-
-        if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {
-          this.collection = collection;
-        }
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.info)("Cannot fetch Collection dictionary.");
-      }
-    }
-  }, {
-    key: "checkHeader",
-    value: function checkHeader() {
-      var stream = this.stream;
-      stream.reset();
-
-      if (!find(stream, PDF_HEADER_SIGNATURE)) {
-        return;
-      }
-
-      stream.moveStart();
-      var MAX_PDF_VERSION_LENGTH = 12;
-      var version = "",
-          ch;
-
-      while ((ch = stream.getByte()) > 0x20) {
-        if (version.length >= MAX_PDF_VERSION_LENGTH) {
-          break;
-        }
-
-        version += String.fromCharCode(ch);
-      }
-
-      if (!this.pdfFormatVersion) {
-        this.pdfFormatVersion = version.substring(5);
-      }
-    }
-  }, {
-    key: "parseStartXRef",
-    value: function parseStartXRef() {
-      this.xref.setStartXRef(this.startXRef);
-    }
-  }, {
-    key: "setup",
-    value: function setup(recoveryMode) {
-      this.xref.parse(recoveryMode);
-      this.catalog = new _obj.Catalog(this.pdfManager, this.xref);
-    }
-  }, {
-    key: "_getLinearizationPage",
-    value: function _getLinearizationPage(pageIndex) {
-      var catalog = this.catalog,
-          linearization = this.linearization;
-      (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);
-
-      var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);
-
-      return this.xref.fetchAsync(ref).then(function (obj) {
-        if ((0, _primitives.isDict)(obj, "Page") || (0, _primitives.isDict)(obj) && !obj.has("Type") && obj.has("Contents")) {
-          if (ref && !catalog.pageKidsCountCache.has(ref)) {
-            catalog.pageKidsCountCache.put(ref, 1);
-          }
-
-          return [obj, ref];
-        }
-
-        throw new _util.FormatError("The Linearization dictionary doesn't point " + "to a valid Page dictionary.");
-      })["catch"](function (reason) {
-        (0, _util.info)(reason);
-        return catalog.getPageDict(pageIndex);
-      });
-    }
-  }, {
-    key: "getPage",
-    value: function getPage(pageIndex) {
-      var _this5 = this;
-
-      if (this._pagePromises[pageIndex] !== undefined) {
-        return this._pagePromises[pageIndex];
-      }
-
-      var catalog = this.catalog,
-          linearization = this.linearization;
-      var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);
-      return this._pagePromises[pageIndex] = promise.then(function (_ref10) {
-        var _ref11 = _slicedToArray(_ref10, 2),
-            pageDict = _ref11[0],
-            ref = _ref11[1];
-
-        return new Page({
-          pdfManager: _this5.pdfManager,
-          xref: _this5.xref,
-          pageIndex: pageIndex,
-          pageDict: pageDict,
-          ref: ref,
-          fontCache: catalog.fontCache,
-          builtInCMapCache: catalog.builtInCMapCache,
-          pdfFunctionFactory: _this5.pdfFunctionFactory
-        });
-      });
-    }
-  }, {
-    key: "checkFirstPage",
-    value: function checkFirstPage() {
-      var _this6 = this;
-
-      return this.getPage(0)["catch"]( /*#__PURE__*/function () {
-        var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(reason) {
-          return _regenerator["default"].wrap(function _callee$(_context) {
-            while (1) {
-              switch (_context.prev = _context.next) {
-                case 0:
-                  if (!(reason instanceof _core_utils.XRefEntryException)) {
-                    _context.next = 5;
-                    break;
-                  }
-
-                  _this6._pagePromises.length = 0;
-                  _context.next = 4;
-                  return _this6.cleanup();
-
-                case 4:
-                  throw new _core_utils.XRefParseException();
-
-                case 5:
-                case "end":
-                  return _context.stop();
-              }
-            }
-          }, _callee);
-        }));
-
-        return function (_x) {
-          return _ref12.apply(this, arguments);
-        };
-      }());
-    }
-  }, {
-    key: "fontFallback",
-    value: function fontFallback(id, handler) {
-      return this.catalog.fontFallback(id, handler);
-    }
-  }, {
-    key: "cleanup",
-    value: function () {
-      var _cleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                return _context2.abrupt("return", this.catalog ? this.catalog.cleanup() : (0, _primitives.clearPrimitiveCaches)());
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function cleanup() {
-        return _cleanup.apply(this, arguments);
-      }
-
-      return cleanup;
-    }()
-  }, {
-    key: "linearization",
-    get: function get() {
-      var linearization = null;
-
-      try {
-        linearization = _parser.Linearization.create(this.stream);
-      } catch (err) {
-        if (err instanceof _core_utils.MissingDataException) {
-          throw err;
-        }
-
-        (0, _util.info)(err);
-      }
-
-      return (0, _util.shadow)(this, "linearization", linearization);
-    }
-  }, {
-    key: "startXRef",
-    get: function get() {
-      var stream = this.stream;
-      var startXRef = 0;
-
-      if (this.linearization) {
-        stream.reset();
-
-        if (find(stream, ENDOBJ_SIGNATURE)) {
-          startXRef = stream.pos + 6 - stream.start;
-        }
-      } else {
-        var step = 1024;
-        var startXRefLength = STARTXREF_SIGNATURE.length;
-        var found = false,
-            pos = stream.end;
-
-        while (!found && pos > 0) {
-          pos -= step - startXRefLength;
-
-          if (pos < 0) {
-            pos = 0;
-          }
-
-          stream.pos = pos;
-          found = find(stream, STARTXREF_SIGNATURE, step, true);
-        }
-
-        if (found) {
-          stream.skip(9);
-          var ch;
-
-          do {
-            ch = stream.getByte();
-          } while ((0, _core_utils.isWhiteSpace)(ch));
-
-          var str = "";
-
-          while (ch >= 0x20 && ch <= 0x39) {
-            str += String.fromCharCode(ch);
-            ch = stream.getByte();
-          }
-
-          startXRef = parseInt(str, 10);
-
-          if (isNaN(startXRef)) {
-            startXRef = 0;
-          }
-        }
-      }
-
-      return (0, _util.shadow)(this, "startXRef", startXRef);
-    }
-  }, {
-    key: "numPages",
-    get: function get() {
-      var linearization = this.linearization;
-      var num = linearization ? linearization.numPages : this.catalog.numPages;
-      return (0, _util.shadow)(this, "numPages", num);
-    }
-  }, {
-    key: "documentInfo",
-    get: function get() {
-      var DocumentInfoValidators = {
-        Title: _util.isString,
-        Author: _util.isString,
-        Subject: _util.isString,
-        Keywords: _util.isString,
-        Creator: _util.isString,
-        Producer: _util.isString,
-        CreationDate: _util.isString,
-        ModDate: _util.isString,
-        Trapped: _primitives.isName
-      };
-      var version = this.pdfFormatVersion;
-
-      if (typeof version !== "string" || !PDF_HEADER_VERSION_REGEXP.test(version)) {
-        (0, _util.warn)("Invalid PDF header version number: ".concat(version));
-        version = null;
-      }
-
-      var docInfo = {
-        PDFFormatVersion: version,
-        IsLinearized: !!this.linearization,
-        IsAcroFormPresent: !!this.acroForm,
-        IsXFAPresent: !!this.xfa,
-        IsCollectionPresent: !!this.collection
-      };
-      var infoDict;
-
-      try {
-        infoDict = this.xref.trailer.get("Info");
-      } catch (err) {
-        if (err instanceof _core_utils.MissingDataException) {
-          throw err;
-        }
-
-        (0, _util.info)("The document information dictionary is invalid.");
-      }
-
-      if ((0, _primitives.isDict)(infoDict)) {
-        var _iteratorNormalCompletion4 = true;
-        var _didIteratorError4 = false;
-        var _iteratorError4 = undefined;
-
-        try {
-          for (var _iterator4 = infoDict.getKeys()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
-            var key = _step4.value;
-            var value = infoDict.get(key);
-
-            if (DocumentInfoValidators[key]) {
-              if (DocumentInfoValidators[key](value)) {
-                docInfo[key] = typeof value !== "string" ? value : (0, _util.stringToPDFString)(value);
-              } else {
-                (0, _util.info)("Bad value in document info for \"".concat(key, "\"."));
-              }
-            } else if (typeof key === "string") {
-              var customValue = void 0;
-
-              if ((0, _util.isString)(value)) {
-                customValue = (0, _util.stringToPDFString)(value);
-              } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {
-                customValue = value;
-              } else {
-                (0, _util.info)("Unsupported value in document info for (custom) \"".concat(key, "\"."));
-                continue;
-              }
-
-              if (!docInfo["Custom"]) {
-                docInfo["Custom"] = Object.create(null);
-              }
-
-              docInfo["Custom"][key] = customValue;
-            }
-          }
-        } catch (err) {
-          _didIteratorError4 = true;
-          _iteratorError4 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
-              _iterator4["return"]();
-            }
-          } finally {
-            if (_didIteratorError4) {
-              throw _iteratorError4;
-            }
-          }
-        }
-      }
-
-      return (0, _util.shadow)(this, "documentInfo", docInfo);
-    }
-  }, {
-    key: "fingerprint",
-    get: function get() {
-      var hash;
-      var idArray = this.xref.trailer.get("ID");
-
-      if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {
-        hash = (0, _util.stringToBytes)(idArray[0]);
-      } else {
-        hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);
-      }
-
-      var fingerprintBuf = [];
-
-      for (var i = 0, ii = hash.length; i < ii; i++) {
-        var hex = hash[i].toString(16);
-        fingerprintBuf.push(hex.padStart(2, "0"));
-      }
-
-      return (0, _util.shadow)(this, "fingerprint", fingerprintBuf.join(""));
-    }
-  }]);
-
-  return PDFDocument;
-}();
-
-exports.PDFDocument = PDFDocument;
-
-/***/ }),
-/* 199 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _parser = __w_pdfjs_require__(200);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _crypto = __w_pdfjs_require__(211);
-
-var _colorspace = __w_pdfjs_require__(212);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function fetchDestination(dest) {
-  return (0, _primitives.isDict)(dest) ? dest.get("D") : dest;
-}
-
-var Catalog = /*#__PURE__*/function () {
-  function Catalog(pdfManager, xref) {
-    _classCallCheck(this, Catalog);
-
-    this.pdfManager = pdfManager;
-    this.xref = xref;
-    this.catDict = xref.getCatalogObj();
-
-    if (!(0, _primitives.isDict)(this.catDict)) {
-      throw new _util.FormatError("Catalog object is not a dictionary.");
-    }
-
-    this.fontCache = new _primitives.RefSetCache();
-    this.builtInCMapCache = new Map();
-    this.pageKidsCountCache = new _primitives.RefSetCache();
-  }
-
-  _createClass(Catalog, [{
-    key: "_readDocumentOutline",
-    value: function _readDocumentOutline() {
-      var obj = this.catDict.get("Outlines");
-
-      if (!(0, _primitives.isDict)(obj)) {
-        return null;
-      }
-
-      obj = obj.getRaw("First");
-
-      if (!(0, _primitives.isRef)(obj)) {
-        return null;
-      }
-
-      var root = {
-        items: []
-      };
-      var queue = [{
-        obj: obj,
-        parent: root
-      }];
-      var processed = new _primitives.RefSet();
-      processed.put(obj);
-      var xref = this.xref,
-          blackColor = new Uint8ClampedArray(3);
-
-      while (queue.length > 0) {
-        var i = queue.shift();
-        var outlineDict = xref.fetchIfRef(i.obj);
-
-        if (outlineDict === null) {
-          continue;
-        }
-
-        if (!outlineDict.has("Title")) {
-          throw new _util.FormatError("Invalid outline item encountered.");
-        }
-
-        var data = {
-          url: null,
-          dest: null
-        };
-        Catalog.parseDestDictionary({
-          destDict: outlineDict,
-          resultObj: data,
-          docBaseUrl: this.pdfManager.docBaseUrl
-        });
-        var title = outlineDict.get("Title");
-        var flags = outlineDict.get("F") || 0;
-        var color = outlineDict.getArray("C");
-        var count = outlineDict.get("Count");
-        var rgbColor = blackColor;
-
-        if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {
-          rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);
-        }
-
-        var outlineItem = {
-          dest: data.dest,
-          url: data.url,
-          unsafeUrl: data.unsafeUrl,
-          newWindow: data.newWindow,
-          title: (0, _util.stringToPDFString)(title),
-          color: rgbColor,
-          count: Number.isInteger(count) ? count : undefined,
-          bold: !!(flags & 2),
-          italic: !!(flags & 1),
-          items: []
-        };
-        i.parent.items.push(outlineItem);
-        obj = outlineDict.getRaw("First");
-
-        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {
-          queue.push({
-            obj: obj,
-            parent: outlineItem
-          });
-          processed.put(obj);
-        }
-
-        obj = outlineDict.getRaw("Next");
-
-        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {
-          queue.push({
-            obj: obj,
-            parent: i.parent
-          });
-          processed.put(obj);
-        }
-      }
-
-      return root.items.length > 0 ? root.items : null;
-    }
-  }, {
-    key: "_readPermissions",
-    value: function _readPermissions() {
-      var encrypt = this.xref.trailer.get("Encrypt");
-
-      if (!(0, _primitives.isDict)(encrypt)) {
-        return null;
-      }
-
-      var flags = encrypt.get("P");
-
-      if (!(0, _util.isNum)(flags)) {
-        return null;
-      }
-
-      flags += Math.pow(2, 32);
-      var permissions = [];
-
-      for (var key in _util.PermissionFlag) {
-        var value = _util.PermissionFlag[key];
-
-        if (flags & value) {
-          permissions.push(value);
-        }
-      }
-
-      return permissions;
-    }
-  }, {
-    key: "getDestination",
-    value: function getDestination(destinationId) {
-      var obj = this._readDests();
-
-      if (obj instanceof NameTree || obj instanceof _primitives.Dict) {
-        return fetchDestination(obj.get(destinationId) || null);
-      }
-
-      return null;
-    }
-  }, {
-    key: "_readDests",
-    value: function _readDests() {
-      var obj = this.catDict.get("Names");
-
-      if (obj && obj.has("Dests")) {
-        return new NameTree(obj.getRaw("Dests"), this.xref);
-      } else if (this.catDict.has("Dests")) {
-        return this.catDict.get("Dests");
-      }
-
-      return undefined;
-    }
-  }, {
-    key: "_readPageLabels",
-    value: function _readPageLabels() {
-      var obj = this.catDict.getRaw("PageLabels");
-
-      if (!obj) {
-        return null;
-      }
-
-      var pageLabels = new Array(this.numPages);
-      var style = null,
-          prefix = "";
-      var numberTree = new NumberTree(obj, this.xref);
-      var nums = numberTree.getAll();
-      var currentLabel = "",
-          currentIndex = 1;
-
-      for (var i = 0, ii = this.numPages; i < ii; i++) {
-        if (i in nums) {
-          var labelDict = nums[i];
-
-          if (!(0, _primitives.isDict)(labelDict)) {
-            throw new _util.FormatError("PageLabel is not a dictionary.");
-          }
-
-          if (labelDict.has("Type") && !(0, _primitives.isName)(labelDict.get("Type"), "PageLabel")) {
-            throw new _util.FormatError("Invalid type in PageLabel dictionary.");
-          }
-
-          if (labelDict.has("S")) {
-            var s = labelDict.get("S");
-
-            if (!(0, _primitives.isName)(s)) {
-              throw new _util.FormatError("Invalid style in PageLabel dictionary.");
-            }
-
-            style = s.name;
-          } else {
-            style = null;
-          }
-
-          if (labelDict.has("P")) {
-            var p = labelDict.get("P");
-
-            if (!(0, _util.isString)(p)) {
-              throw new _util.FormatError("Invalid prefix in PageLabel dictionary.");
-            }
-
-            prefix = (0, _util.stringToPDFString)(p);
-          } else {
-            prefix = "";
-          }
-
-          if (labelDict.has("St")) {
-            var st = labelDict.get("St");
-
-            if (!(Number.isInteger(st) && st >= 1)) {
-              throw new _util.FormatError("Invalid start in PageLabel dictionary.");
-            }
-
-            currentIndex = st;
-          } else {
-            currentIndex = 1;
-          }
-        }
-
-        switch (style) {
-          case "D":
-            currentLabel = currentIndex;
-            break;
-
-          case "R":
-          case "r":
-            currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === "r");
-            break;
-
-          case "A":
-          case "a":
-            var LIMIT = 26;
-            var A_UPPER_CASE = 0x41,
-                A_LOWER_CASE = 0x61;
-            var baseCharCode = style === "a" ? A_LOWER_CASE : A_UPPER_CASE;
-            var letterIndex = currentIndex - 1;
-            var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);
-            var charBuf = [];
-
-            for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {
-              charBuf.push(character);
-            }
-
-            currentLabel = charBuf.join("");
-            break;
-
-          default:
-            if (style) {
-              throw new _util.FormatError("Invalid style \"".concat(style, "\" in PageLabel dictionary."));
-            }
-
-            currentLabel = "";
-        }
-
-        pageLabels[i] = prefix + currentLabel;
-        currentIndex++;
-      }
-
-      return pageLabels;
-    }
-  }, {
-    key: "fontFallback",
-    value: function fontFallback(id, handler) {
-      var promises = [];
-      this.fontCache.forEach(function (promise) {
-        promises.push(promise);
-      });
-      return Promise.all(promises).then(function (translatedFonts) {
-        var _iteratorNormalCompletion = true;
-        var _didIteratorError = false;
-        var _iteratorError = undefined;
-
-        try {
-          for (var _iterator = translatedFonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-            var translatedFont = _step.value;
-
-            if (translatedFont.loadedName === id) {
-              translatedFont.fallback(handler);
-              return;
-            }
-          }
-        } catch (err) {
-          _didIteratorError = true;
-          _iteratorError = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-              _iterator["return"]();
-            }
-          } finally {
-            if (_didIteratorError) {
-              throw _iteratorError;
-            }
-          }
-        }
-      });
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      var _this = this;
-
-      (0, _primitives.clearPrimitiveCaches)();
-      this.pageKidsCountCache.clear();
-      var promises = [];
-      this.fontCache.forEach(function (promise) {
-        promises.push(promise);
-      });
-      return Promise.all(promises).then(function (translatedFonts) {
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
-
-        try {
-          for (var _iterator2 = translatedFonts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var dict = _step2.value.dict;
-            delete dict.translated;
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
-        }
-
-        _this.fontCache.clear();
-
-        _this.builtInCMapCache.clear();
-      });
-    }
-  }, {
-    key: "getPageDict",
-    value: function getPageDict(pageIndex) {
-      var capability = (0, _util.createPromiseCapability)();
-      var nodesToVisit = [this.catDict.getRaw("Pages")];
-      var visitedNodes = new _primitives.RefSet();
-      var xref = this.xref,
-          pageKidsCountCache = this.pageKidsCountCache;
-      var count,
-          currentPageIndex = 0;
-
-      function next() {
-        var _loop = function _loop() {
-          var currentNode = nodesToVisit.pop();
-
-          if ((0, _primitives.isRef)(currentNode)) {
-            count = pageKidsCountCache.get(currentNode);
-
-            if (count > 0 && currentPageIndex + count < pageIndex) {
-              currentPageIndex += count;
-              return "continue";
-            }
-
-            if (visitedNodes.has(currentNode)) {
-              capability.reject(new _util.FormatError("Pages tree contains circular reference."));
-              return {
-                v: void 0
-              };
-            }
-
-            visitedNodes.put(currentNode);
-            xref.fetchAsync(currentNode).then(function (obj) {
-              if ((0, _primitives.isDict)(obj, "Page") || (0, _primitives.isDict)(obj) && !obj.has("Kids")) {
-                if (pageIndex === currentPageIndex) {
-                  if (currentNode && !pageKidsCountCache.has(currentNode)) {
-                    pageKidsCountCache.put(currentNode, 1);
-                  }
-
-                  capability.resolve([obj, currentNode]);
-                } else {
-                  currentPageIndex++;
-                  next();
-                }
-
-                return;
-              }
-
-              nodesToVisit.push(obj);
-              next();
-            }, capability.reject);
-            return {
-              v: void 0
-            };
-          }
-
-          if (!(0, _primitives.isDict)(currentNode)) {
-            capability.reject(new _util.FormatError("Page dictionary kid reference points to wrong type of object."));
-            return {
-              v: void 0
-            };
-          }
-
-          count = currentNode.get("Count");
-
-          if (Number.isInteger(count) && count >= 0) {
-            var objId = currentNode.objId;
-
-            if (objId && !pageKidsCountCache.has(objId)) {
-              pageKidsCountCache.put(objId, count);
-            }
-
-            if (currentPageIndex + count <= pageIndex) {
-              currentPageIndex += count;
-              return "continue";
-            }
-          }
-
-          var kids = currentNode.get("Kids");
-
-          if (!Array.isArray(kids)) {
-            if ((0, _primitives.isName)(currentNode.get("Type"), "Page") || !currentNode.has("Type") && currentNode.has("Contents")) {
-              if (currentPageIndex === pageIndex) {
-                capability.resolve([currentNode, null]);
-                return {
-                  v: void 0
-                };
-              }
-
-              currentPageIndex++;
-              return "continue";
-            }
-
-            capability.reject(new _util.FormatError("Page dictionary kids object is not an array."));
-            return {
-              v: void 0
-            };
-          }
-
-          for (var last = kids.length - 1; last >= 0; last--) {
-            nodesToVisit.push(kids[last]);
-          }
-        };
-
-        while (nodesToVisit.length) {
-          var _ret = _loop();
-
-          switch (_ret) {
-            case "continue":
-              continue;
-
-            default:
-              if (_typeof(_ret) === "object") return _ret.v;
-          }
-        }
-
-        capability.reject(new Error("Page index ".concat(pageIndex, " not found.")));
-      }
-
-      next();
-      return capability.promise;
-    }
-  }, {
-    key: "getPageIndex",
-    value: function getPageIndex(pageRef) {
-      var xref = this.xref;
-
-      function pagesBeforeRef(kidRef) {
-        var total = 0,
-            parentRef;
-        return xref.fetchAsync(kidRef).then(function (node) {
-          if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, "Page") && !((0, _primitives.isDict)(node) && !node.has("Type") && node.has("Contents"))) {
-            throw new _util.FormatError("The reference does not point to a /Page dictionary.");
-          }
-
-          if (!node) {
-            return null;
-          }
-
-          if (!(0, _primitives.isDict)(node)) {
-            throw new _util.FormatError("Node must be a dictionary.");
-          }
-
-          parentRef = node.getRaw("Parent");
-          return node.getAsync("Parent");
-        }).then(function (parent) {
-          if (!parent) {
-            return null;
-          }
-
-          if (!(0, _primitives.isDict)(parent)) {
-            throw new _util.FormatError("Parent must be a dictionary.");
-          }
-
-          return parent.getAsync("Kids");
-        }).then(function (kids) {
-          if (!kids) {
-            return null;
-          }
-
-          var kidPromises = [];
-          var found = false;
-
-          for (var i = 0, ii = kids.length; i < ii; i++) {
-            var kid = kids[i];
-
-            if (!(0, _primitives.isRef)(kid)) {
-              throw new _util.FormatError("Kid must be a reference.");
-            }
-
-            if ((0, _primitives.isRefsEqual)(kid, kidRef)) {
-              found = true;
-              break;
-            }
-
-            kidPromises.push(xref.fetchAsync(kid).then(function (kid) {
-              if (!(0, _primitives.isDict)(kid)) {
-                throw new _util.FormatError("Kid node must be a dictionary.");
-              }
-
-              if (kid.has("Count")) {
-                total += kid.get("Count");
-              } else {
-                total++;
-              }
-            }));
-          }
-
-          if (!found) {
-            throw new _util.FormatError("Kid reference not found in parent's kids.");
-          }
-
-          return Promise.all(kidPromises).then(function () {
-            return [total, parentRef];
-          });
-        });
-      }
-
-      var total = 0;
-
-      function next(ref) {
-        return pagesBeforeRef(ref).then(function (args) {
-          if (!args) {
-            return total;
-          }
-
-          var _args = _slicedToArray(args, 2),
-              count = _args[0],
-              parentRef = _args[1];
-
-          total += count;
-          return next(parentRef);
-        });
-      }
-
-      return next(pageRef);
-    }
-  }, {
-    key: "metadata",
-    get: function get() {
-      var streamRef = this.catDict.getRaw("Metadata");
-
-      if (!(0, _primitives.isRef)(streamRef)) {
-        return (0, _util.shadow)(this, "metadata", null);
-      }
-
-      var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);
-      var stream = this.xref.fetch(streamRef, suppressEncryption);
-      var metadata;
-
-      if (stream && (0, _primitives.isDict)(stream.dict)) {
-        var type = stream.dict.get("Type");
-        var subtype = stream.dict.get("Subtype");
-
-        if ((0, _primitives.isName)(type, "Metadata") && (0, _primitives.isName)(subtype, "XML")) {
-          try {
-            metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));
-          } catch (e) {
-            if (e instanceof _core_utils.MissingDataException) {
-              throw e;
-            }
-
-            (0, _util.info)("Skipping invalid metadata.");
-          }
-        }
-      }
-
-      return (0, _util.shadow)(this, "metadata", metadata);
-    }
-  }, {
-    key: "toplevelPagesDict",
-    get: function get() {
-      var pagesObj = this.catDict.get("Pages");
-
-      if (!(0, _primitives.isDict)(pagesObj)) {
-        throw new _util.FormatError("Invalid top-level pages dictionary.");
-      }
-
-      return (0, _util.shadow)(this, "toplevelPagesDict", pagesObj);
-    }
-  }, {
-    key: "documentOutline",
-    get: function get() {
-      var obj = null;
-
-      try {
-        obj = this._readDocumentOutline();
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("Unable to read document outline.");
-      }
-
-      return (0, _util.shadow)(this, "documentOutline", obj);
-    }
-  }, {
-    key: "permissions",
-    get: function get() {
-      var permissions = null;
-
-      try {
-        permissions = this._readPermissions();
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("Unable to read permissions.");
-      }
-
-      return (0, _util.shadow)(this, "permissions", permissions);
-    }
-  }, {
-    key: "numPages",
-    get: function get() {
-      var obj = this.toplevelPagesDict.get("Count");
-
-      if (!Number.isInteger(obj)) {
-        throw new _util.FormatError("Page count in top-level pages dictionary is not an integer.");
-      }
-
-      return (0, _util.shadow)(this, "numPages", obj);
-    }
-  }, {
-    key: "destinations",
-    get: function get() {
-      var obj = this._readDests(),
-          dests = Object.create(null);
-
-      if (obj instanceof NameTree) {
-        var names = obj.getAll();
-
-        for (var name in names) {
-          dests[name] = fetchDestination(names[name]);
-        }
-      } else if (obj instanceof _primitives.Dict) {
-        obj.forEach(function (key, value) {
-          if (value) {
-            dests[key] = fetchDestination(value);
-          }
-        });
-      }
-
-      return (0, _util.shadow)(this, "destinations", dests);
-    }
-  }, {
-    key: "pageLabels",
-    get: function get() {
-      var obj = null;
-
-      try {
-        obj = this._readPageLabels();
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("Unable to read page labels.");
-      }
-
-      return (0, _util.shadow)(this, "pageLabels", obj);
-    }
-  }, {
-    key: "pageLayout",
-    get: function get() {
-      var obj = this.catDict.get("PageLayout");
-      var pageLayout = "";
-
-      if ((0, _primitives.isName)(obj)) {
-        switch (obj.name) {
-          case "SinglePage":
-          case "OneColumn":
-          case "TwoColumnLeft":
-          case "TwoColumnRight":
-          case "TwoPageLeft":
-          case "TwoPageRight":
-            pageLayout = obj.name;
-        }
-      }
-
-      return (0, _util.shadow)(this, "pageLayout", pageLayout);
-    }
-  }, {
-    key: "pageMode",
-    get: function get() {
-      var obj = this.catDict.get("PageMode");
-      var pageMode = "UseNone";
-
-      if ((0, _primitives.isName)(obj)) {
-        switch (obj.name) {
-          case "UseNone":
-          case "UseOutlines":
-          case "UseThumbs":
-          case "FullScreen":
-          case "UseOC":
-          case "UseAttachments":
-            pageMode = obj.name;
-        }
-      }
-
-      return (0, _util.shadow)(this, "pageMode", pageMode);
-    }
-  }, {
-    key: "viewerPreferences",
-    get: function get() {
-      var _this2 = this;
-
-      var ViewerPreferencesValidators = {
-        HideToolbar: _util.isBool,
-        HideMenubar: _util.isBool,
-        HideWindowUI: _util.isBool,
-        FitWindow: _util.isBool,
-        CenterWindow: _util.isBool,
-        DisplayDocTitle: _util.isBool,
-        NonFullScreenPageMode: _primitives.isName,
-        Direction: _primitives.isName,
-        ViewArea: _primitives.isName,
-        ViewClip: _primitives.isName,
-        PrintArea: _primitives.isName,
-        PrintClip: _primitives.isName,
-        PrintScaling: _primitives.isName,
-        Duplex: _primitives.isName,
-        PickTrayByPDFSize: _util.isBool,
-        PrintPageRange: Array.isArray,
-        NumCopies: Number.isInteger
-      };
-      var obj = this.catDict.get("ViewerPreferences");
-      var prefs = Object.create(null);
-
-      if ((0, _primitives.isDict)(obj)) {
-        for (var key in ViewerPreferencesValidators) {
-          if (!obj.has(key)) {
-            continue;
-          }
-
-          var value = obj.get(key);
-
-          if (!ViewerPreferencesValidators[key](value)) {
-            (0, _util.info)("Bad value in ViewerPreferences for \"".concat(key, "\"."));
-            continue;
-          }
-
-          var prefValue = void 0;
-
-          switch (key) {
-            case "NonFullScreenPageMode":
-              switch (value.name) {
-                case "UseNone":
-                case "UseOutlines":
-                case "UseThumbs":
-                case "UseOC":
-                  prefValue = value.name;
-                  break;
-
-                default:
-                  prefValue = "UseNone";
-              }
-
-              break;
-
-            case "Direction":
-              switch (value.name) {
-                case "L2R":
-                case "R2L":
-                  prefValue = value.name;
-                  break;
-
-                default:
-                  prefValue = "L2R";
-              }
-
-              break;
-
-            case "ViewArea":
-            case "ViewClip":
-            case "PrintArea":
-            case "PrintClip":
-              switch (value.name) {
-                case "MediaBox":
-                case "CropBox":
-                case "BleedBox":
-                case "TrimBox":
-                case "ArtBox":
-                  prefValue = value.name;
-                  break;
-
-                default:
-                  prefValue = "CropBox";
-              }
-
-              break;
-
-            case "PrintScaling":
-              switch (value.name) {
-                case "None":
-                case "AppDefault":
-                  prefValue = value.name;
-                  break;
-
-                default:
-                  prefValue = "AppDefault";
-              }
-
-              break;
-
-            case "Duplex":
-              switch (value.name) {
-                case "Simplex":
-                case "DuplexFlipShortEdge":
-                case "DuplexFlipLongEdge":
-                  prefValue = value.name;
-                  break;
-
-                default:
-                  prefValue = "None";
-              }
-
-              break;
-
-            case "PrintPageRange":
-              var length = value.length;
-
-              if (length % 2 !== 0) {
-                break;
-              }
-
-              var isValid = value.every(function (page, i, arr) {
-                return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;
-              });
-
-              if (isValid) {
-                prefValue = value;
-              }
-
-              break;
-
-            case "NumCopies":
-              if (value > 0) {
-                prefValue = value;
-              }
-
-              break;
-
-            default:
-              (0, _util.assert)(typeof value === "boolean");
-              prefValue = value;
-          }
-
-          if (prefValue !== undefined) {
-            prefs[key] = prefValue;
-          } else {
-            (0, _util.info)("Bad value in ViewerPreferences for \"".concat(key, "\"."));
-          }
-        }
-      }
-
-      return (0, _util.shadow)(this, "viewerPreferences", prefs);
-    }
-  }, {
-    key: "openAction",
-    get: function get() {
-      var obj = this.catDict.get("OpenAction");
-      var openAction = null;
-
-      if ((0, _primitives.isDict)(obj)) {
-        var destDict = new _primitives.Dict(this.xref);
-        destDict.set("A", obj);
-        var resultObj = {
-          url: null,
-          dest: null,
-          action: null
-        };
-        Catalog.parseDestDictionary({
-          destDict: destDict,
-          resultObj: resultObj
-        });
-
-        if (Array.isArray(resultObj.dest)) {
-          if (!openAction) {
-            openAction = Object.create(null);
-          }
-
-          openAction.dest = resultObj.dest;
-        } else if (resultObj.action) {
-          if (!openAction) {
-            openAction = Object.create(null);
-          }
-
-          openAction.action = resultObj.action;
-        }
-      } else if (Array.isArray(obj)) {
-        if (!openAction) {
-          openAction = Object.create(null);
-        }
-
-        openAction.dest = obj;
-      }
-
-      return (0, _util.shadow)(this, "openAction", openAction);
-    }
-  }, {
-    key: "attachments",
-    get: function get() {
-      var obj = this.catDict.get("Names");
-      var attachments = null;
-
-      if (obj && obj.has("EmbeddedFiles")) {
-        var nameTree = new NameTree(obj.getRaw("EmbeddedFiles"), this.xref);
-        var names = nameTree.getAll();
-
-        for (var name in names) {
-          var fs = new FileSpec(names[name], this.xref);
-
-          if (!attachments) {
-            attachments = Object.create(null);
-          }
-
-          attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;
-        }
-      }
-
-      return (0, _util.shadow)(this, "attachments", attachments);
-    }
-  }, {
-    key: "javaScript",
-    get: function get() {
-      var obj = this.catDict.get("Names");
-      var javaScript = null;
-
-      function appendIfJavaScriptDict(jsDict) {
-        var type = jsDict.get("S");
-
-        if (!(0, _primitives.isName)(type, "JavaScript")) {
-          return;
-        }
-
-        var js = jsDict.get("JS");
-
-        if ((0, _primitives.isStream)(js)) {
-          js = (0, _util.bytesToString)(js.getBytes());
-        } else if (!(0, _util.isString)(js)) {
-          return;
-        }
-
-        if (!javaScript) {
-          javaScript = [];
-        }
-
-        javaScript.push((0, _util.stringToPDFString)(js));
-      }
-
-      if (obj && obj.has("JavaScript")) {
-        var nameTree = new NameTree(obj.getRaw("JavaScript"), this.xref);
-        var names = nameTree.getAll();
-
-        for (var name in names) {
-          var jsDict = names[name];
-
-          if ((0, _primitives.isDict)(jsDict)) {
-            appendIfJavaScriptDict(jsDict);
-          }
-        }
-      }
-
-      var openAction = this.catDict.get("OpenAction");
-
-      if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get("S"), "JavaScript")) {
-        appendIfJavaScriptDict(openAction);
-      }
-
-      return (0, _util.shadow)(this, "javaScript", javaScript);
-    }
-  }], [{
-    key: "parseDestDictionary",
-    value: function parseDestDictionary(params) {
-      function addDefaultProtocolToUrl(url) {
-        return url.startsWith("www.") ? "http://".concat(url) : url;
-      }
-
-      function tryConvertUrlEncoding(url) {
-        try {
-          return (0, _util.stringToUTF8String)(url);
-        } catch (e) {
-          return url;
-        }
-      }
-
-      var destDict = params.destDict;
-
-      if (!(0, _primitives.isDict)(destDict)) {
-        (0, _util.warn)("parseDestDictionary: `destDict` must be a dictionary.");
-        return;
-      }
-
-      var resultObj = params.resultObj;
-
-      if (_typeof(resultObj) !== "object") {
-        (0, _util.warn)("parseDestDictionary: `resultObj` must be an object.");
-        return;
-      }
-
-      var docBaseUrl = params.docBaseUrl || null;
-      var action = destDict.get("A"),
-          url,
-          dest;
-
-      if (!(0, _primitives.isDict)(action) && destDict.has("Dest")) {
-        action = destDict.get("Dest");
-      }
-
-      if ((0, _primitives.isDict)(action)) {
-        var actionType = action.get("S");
-
-        if (!(0, _primitives.isName)(actionType)) {
-          (0, _util.warn)("parseDestDictionary: Invalid type in Action dictionary.");
-          return;
-        }
-
-        var actionName = actionType.name;
-
-        switch (actionName) {
-          case "URI":
-            url = action.get("URI");
-
-            if ((0, _primitives.isName)(url)) {
-              url = "/" + url.name;
-            } else if ((0, _util.isString)(url)) {
-              url = addDefaultProtocolToUrl(url);
-            }
-
-            break;
-
-          case "GoTo":
-            dest = action.get("D");
-            break;
-
-          case "Launch":
-          case "GoToR":
-            var urlDict = action.get("F");
-
-            if ((0, _primitives.isDict)(urlDict)) {
-              url = urlDict.get("F") || null;
-            } else if ((0, _util.isString)(urlDict)) {
-              url = urlDict;
-            }
-
-            var remoteDest = action.get("D");
-
-            if (remoteDest) {
-              if ((0, _primitives.isName)(remoteDest)) {
-                remoteDest = remoteDest.name;
-              }
-
-              if ((0, _util.isString)(url)) {
-                var baseUrl = url.split("#")[0];
-
-                if ((0, _util.isString)(remoteDest)) {
-                  url = baseUrl + "#" + remoteDest;
-                } else if (Array.isArray(remoteDest)) {
-                  url = baseUrl + "#" + JSON.stringify(remoteDest);
-                }
-              }
-            }
-
-            var newWindow = action.get("NewWindow");
-
-            if ((0, _util.isBool)(newWindow)) {
-              resultObj.newWindow = newWindow;
-            }
-
-            break;
-
-          case "Named":
-            var namedAction = action.get("N");
-
-            if ((0, _primitives.isName)(namedAction)) {
-              resultObj.action = namedAction.name;
-            }
-
-            break;
-
-          case "JavaScript":
-            var jsAction = action.get("JS");
-            var js;
-
-            if ((0, _primitives.isStream)(jsAction)) {
-              js = (0, _util.bytesToString)(jsAction.getBytes());
-            } else if ((0, _util.isString)(jsAction)) {
-              js = jsAction;
-            }
-
-            if (js) {
-              var URL_OPEN_METHODS = ["app.launchURL", "window.open"];
-              var regex = new RegExp("^\\s*(" + URL_OPEN_METHODS.join("|").split(".").join("\\.") + ")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))", "i");
-              var jsUrl = regex.exec((0, _util.stringToPDFString)(js));
-
-              if (jsUrl && jsUrl[2]) {
-                url = jsUrl[2];
-
-                if (jsUrl[3] === "true" && jsUrl[1] === "app.launchURL") {
-                  resultObj.newWindow = true;
-                }
-
-                break;
-              }
-            }
-
-          default:
-            (0, _util.warn)("parseDestDictionary: unsupported action type \"".concat(actionName, "\"."));
-            break;
-        }
-      } else if (destDict.has("Dest")) {
-        dest = destDict.get("Dest");
-      }
-
-      if ((0, _util.isString)(url)) {
-        url = tryConvertUrlEncoding(url);
-        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);
-
-        if (absoluteUrl) {
-          resultObj.url = absoluteUrl.href;
-        }
-
-        resultObj.unsafeUrl = url;
-      }
-
-      if (dest) {
-        if ((0, _primitives.isName)(dest)) {
-          dest = dest.name;
-        }
-
-        if ((0, _util.isString)(dest) || Array.isArray(dest)) {
-          resultObj.dest = dest;
-        }
-      }
-    }
-  }]);
-
-  return Catalog;
-}();
-
-exports.Catalog = Catalog;
-
-var XRef = function XRefClosure() {
-  function XRef(stream, pdfManager) {
-    this.stream = stream;
-    this.pdfManager = pdfManager;
-    this.entries = [];
-    this.xrefstms = Object.create(null);
-    this._cacheMap = new Map();
-    this.stats = {
-      streamTypes: Object.create(null),
-      fontTypes: Object.create(null)
-    };
-  }
-
-  XRef.prototype = {
-    setStartXRef: function XRef_setStartXRef(startXRef) {
-      this.startXRefQueue = [startXRef];
-    },
-    parse: function XRef_parse(recoveryMode) {
-      var trailerDict;
-
-      if (!recoveryMode) {
-        trailerDict = this.readXRef();
-      } else {
-        (0, _util.warn)("Indexing all PDF objects");
-        trailerDict = this.indexObjects();
-      }
-
-      trailerDict.assignXref(this);
-      this.trailer = trailerDict;
-      var encrypt;
-
-      try {
-        encrypt = trailerDict.get("Encrypt");
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("XRef.parse - Invalid \"Encrypt\" reference: \"".concat(ex, "\"."));
-      }
-
-      if ((0, _primitives.isDict)(encrypt)) {
-        var ids = trailerDict.get("ID");
-        var fileId = ids && ids.length ? ids[0] : "";
-        encrypt.suppressEncryption = true;
-        this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);
-      }
-
-      var root;
-
-      try {
-        root = trailerDict.get("Root");
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("XRef.parse - Invalid \"Root\" reference: \"".concat(ex, "\"."));
-      }
-
-      if ((0, _primitives.isDict)(root) && root.has("Pages")) {
-        this.root = root;
-      } else {
-        if (!recoveryMode) {
-          throw new _core_utils.XRefParseException();
-        }
-
-        throw new _util.FormatError("Invalid root reference");
-      }
-    },
-    processXRefTable: function XRef_processXRefTable(parser) {
-      if (!("tableState" in this)) {
-        this.tableState = {
-          entryNum: 0,
-          streamPos: parser.lexer.stream.pos,
-          parserBuf1: parser.buf1,
-          parserBuf2: parser.buf2
-        };
-      }
-
-      var obj = this.readXRefTable(parser);
-
-      if (!(0, _primitives.isCmd)(obj, "trailer")) {
-        throw new _util.FormatError("Invalid XRef table: could not find trailer dictionary");
-      }
-
-      var dict = parser.getObj();
-
-      if (!(0, _primitives.isDict)(dict) && dict.dict) {
-        dict = dict.dict;
-      }
-
-      if (!(0, _primitives.isDict)(dict)) {
-        throw new _util.FormatError("Invalid XRef table: could not parse trailer dictionary");
-      }
-
-      delete this.tableState;
-      return dict;
-    },
-    readXRefTable: function XRef_readXRefTable(parser) {
-      var stream = parser.lexer.stream;
-      var tableState = this.tableState;
-      stream.pos = tableState.streamPos;
-      parser.buf1 = tableState.parserBuf1;
-      parser.buf2 = tableState.parserBuf2;
-      var obj;
-
-      while (true) {
-        if (!("firstEntryNum" in tableState) || !("entryCount" in tableState)) {
-          if ((0, _primitives.isCmd)(obj = parser.getObj(), "trailer")) {
-            break;
-          }
-
-          tableState.firstEntryNum = obj;
-          tableState.entryCount = parser.getObj();
-        }
-
-        var first = tableState.firstEntryNum;
-        var count = tableState.entryCount;
-
-        if (!Number.isInteger(first) || !Number.isInteger(count)) {
-          throw new _util.FormatError("Invalid XRef table: wrong types in subsection header");
-        }
-
-        for (var i = tableState.entryNum; i < count; i++) {
-          tableState.streamPos = stream.pos;
-          tableState.entryNum = i;
-          tableState.parserBuf1 = parser.buf1;
-          tableState.parserBuf2 = parser.buf2;
-          var entry = {};
-          entry.offset = parser.getObj();
-          entry.gen = parser.getObj();
-          var type = parser.getObj();
-
-          if (type instanceof _primitives.Cmd) {
-            switch (type.cmd) {
-              case "f":
-                entry.free = true;
-                break;
-
-              case "n":
-                entry.uncompressed = true;
-                break;
-            }
-          }
-
-          if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {
-            throw new _util.FormatError("Invalid entry in XRef subsection: ".concat(first, ", ").concat(count));
-          }
-
-          if (i === 0 && entry.free && first === 1) {
-            first = 0;
-          }
-
-          if (!this.entries[i + first]) {
-            this.entries[i + first] = entry;
-          }
-        }
-
-        tableState.entryNum = 0;
-        tableState.streamPos = stream.pos;
-        tableState.parserBuf1 = parser.buf1;
-        tableState.parserBuf2 = parser.buf2;
-        delete tableState.firstEntryNum;
-        delete tableState.entryCount;
-      }
-
-      if (this.entries[0] && !this.entries[0].free) {
-        throw new _util.FormatError("Invalid XRef table: unexpected first object");
-      }
-
-      return obj;
-    },
-    processXRefStream: function XRef_processXRefStream(stream) {
-      if (!("streamState" in this)) {
-        var streamParameters = stream.dict;
-        var byteWidths = streamParameters.get("W");
-        var range = streamParameters.get("Index");
-
-        if (!range) {
-          range = [0, streamParameters.get("Size")];
-        }
-
-        this.streamState = {
-          entryRanges: range,
-          byteWidths: byteWidths,
-          entryNum: 0,
-          streamPos: stream.pos
-        };
-      }
-
-      this.readXRefStream(stream);
-      delete this.streamState;
-      return stream.dict;
-    },
-    readXRefStream: function XRef_readXRefStream(stream) {
-      var i, j;
-      var streamState = this.streamState;
-      stream.pos = streamState.streamPos;
-      var byteWidths = streamState.byteWidths;
-      var typeFieldWidth = byteWidths[0];
-      var offsetFieldWidth = byteWidths[1];
-      var generationFieldWidth = byteWidths[2];
-      var entryRanges = streamState.entryRanges;
-
-      while (entryRanges.length > 0) {
-        var first = entryRanges[0];
-        var n = entryRanges[1];
-
-        if (!Number.isInteger(first) || !Number.isInteger(n)) {
-          throw new _util.FormatError("Invalid XRef range fields: ".concat(first, ", ").concat(n));
-        }
-
-        if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {
-          throw new _util.FormatError("Invalid XRef entry fields length: ".concat(first, ", ").concat(n));
-        }
-
-        for (i = streamState.entryNum; i < n; ++i) {
-          streamState.entryNum = i;
-          streamState.streamPos = stream.pos;
-          var type = 0,
-              offset = 0,
-              generation = 0;
-
-          for (j = 0; j < typeFieldWidth; ++j) {
-            type = type << 8 | stream.getByte();
-          }
-
-          if (typeFieldWidth === 0) {
-            type = 1;
-          }
-
-          for (j = 0; j < offsetFieldWidth; ++j) {
-            offset = offset << 8 | stream.getByte();
-          }
-
-          for (j = 0; j < generationFieldWidth; ++j) {
-            generation = generation << 8 | stream.getByte();
-          }
-
-          var entry = {};
-          entry.offset = offset;
-          entry.gen = generation;
-
-          switch (type) {
-            case 0:
-              entry.free = true;
-              break;
-
-            case 1:
-              entry.uncompressed = true;
-              break;
-
-            case 2:
-              break;
-
-            default:
-              throw new _util.FormatError("Invalid XRef entry type: ".concat(type));
-          }
-
-          if (!this.entries[first + i]) {
-            this.entries[first + i] = entry;
-          }
-        }
-
-        streamState.entryNum = 0;
-        streamState.streamPos = stream.pos;
-        entryRanges.splice(0, 2);
-      }
-    },
-    indexObjects: function XRef_indexObjects() {
-      var TAB = 0x9,
-          LF = 0xa,
-          CR = 0xd,
-          SPACE = 0x20;
-      var PERCENT = 0x25,
-          LT = 0x3c;
-
-      function readToken(data, offset) {
-        var token = "",
-            ch = data[offset];
-
-        while (ch !== LF && ch !== CR && ch !== LT) {
-          if (++offset >= data.length) {
-            break;
-          }
-
-          token += String.fromCharCode(ch);
-          ch = data[offset];
-        }
-
-        return token;
-      }
-
-      function skipUntil(data, offset, what) {
-        var length = what.length,
-            dataLength = data.length;
-        var skipped = 0;
-
-        while (offset < dataLength) {
-          var i = 0;
-
-          while (i < length && data[offset + i] === what[i]) {
-            ++i;
-          }
-
-          if (i >= length) {
-            break;
-          }
-
-          offset++;
-          skipped++;
-        }
-
-        return skipped;
-      }
-
-      var objRegExp = /^(\d+)\s+(\d+)\s+obj\b/;
-      var endobjRegExp = /\bendobj[\b\s]$/;
-      var nestedObjRegExp = /\s+(\d+\s+\d+\s+obj[\b\s<])$/;
-      var CHECK_CONTENT_LENGTH = 25;
-      var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);
-      var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);
-      var objBytes = new Uint8Array([111, 98, 106]);
-      var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);
-      this.entries.length = 0;
-      var stream = this.stream;
-      stream.pos = 0;
-      var buffer = stream.getBytes();
-      var position = stream.start,
-          length = buffer.length;
-      var trailers = [],
-          xrefStms = [];
-
-      while (position < length) {
-        var ch = buffer[position];
-
-        if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {
-          ++position;
-          continue;
-        }
-
-        if (ch === PERCENT) {
-          do {
-            ++position;
-
-            if (position >= length) {
-              break;
-            }
-
-            ch = buffer[position];
-          } while (ch !== LF && ch !== CR);
-
-          continue;
-        }
-
-        var token = readToken(buffer, position);
-        var m;
-
-        if (token.startsWith("xref") && (token.length === 4 || /\s/.test(token[4]))) {
-          position += skipUntil(buffer, position, trailerBytes);
-          trailers.push(position);
-          position += skipUntil(buffer, position, startxrefBytes);
-        } else if (m = objRegExp.exec(token)) {
-          var num = m[1] | 0,
-              gen = m[2] | 0;
-
-          if (!this.entries[num] || this.entries[num].gen === gen) {
-            this.entries[num] = {
-              offset: position - stream.start,
-              gen: gen,
-              uncompressed: true
-            };
-          }
-
-          var contentLength = void 0,
-              startPos = position + token.length;
-
-          while (startPos < buffer.length) {
-            var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;
-            contentLength = endPos - position;
-            var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);
-            var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));
-
-            if (endobjRegExp.test(tokenStr)) {
-              break;
-            } else {
-              var objToken = nestedObjRegExp.exec(tokenStr);
-
-              if (objToken && objToken[1]) {
-                (0, _util.warn)('indexObjects: Found new "obj" inside of another "obj", ' + 'caused by missing "endobj" -- trying to recover.');
-                contentLength -= objToken[1].length;
-                break;
-              }
-            }
-
-            startPos = endPos;
-          }
-
-          var content = buffer.subarray(position, position + contentLength);
-          var xrefTagOffset = skipUntil(content, 0, xrefBytes);
-
-          if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {
-            xrefStms.push(position - stream.start);
-            this.xrefstms[position - stream.start] = 1;
-          }
-
-          position += contentLength;
-        } else if (token.startsWith("trailer") && (token.length === 7 || /\s/.test(token[7]))) {
-          trailers.push(position);
-          position += skipUntil(buffer, position, startxrefBytes);
-        } else {
-          position += token.length + 1;
-        }
-      }
-
-      var i, ii;
-
-      for (i = 0, ii = xrefStms.length; i < ii; ++i) {
-        this.startXRefQueue.push(xrefStms[i]);
-        this.readXRef(true);
-      }
-
-      var trailerDict;
-
-      for (i = 0, ii = trailers.length; i < ii; ++i) {
-        stream.pos = trailers[i];
-        var parser = new _parser.Parser({
-          lexer: new _parser.Lexer(stream),
-          xref: this,
-          allowStreams: true,
-          recoveryMode: true
-        });
-        var obj = parser.getObj();
-
-        if (!(0, _primitives.isCmd)(obj, "trailer")) {
-          continue;
-        }
-
-        var dict = parser.getObj();
-
-        if (!(0, _primitives.isDict)(dict)) {
-          continue;
-        }
-
-        var rootDict = void 0;
-
-        try {
-          rootDict = dict.get("Root");
-        } catch (ex) {
-          if (ex instanceof _core_utils.MissingDataException) {
-            throw ex;
-          }
-
-          continue;
-        }
-
-        if (!(0, _primitives.isDict)(rootDict) || !rootDict.has("Pages")) {
-          continue;
-        }
-
-        if (dict.has("ID")) {
-          return dict;
-        }
-
-        trailerDict = dict;
-      }
-
-      if (trailerDict) {
-        return trailerDict;
-      }
-
-      throw new _util.InvalidPDFException("Invalid PDF structure.");
-    },
-    readXRef: function XRef_readXRef(recoveryMode) {
-      var stream = this.stream;
-      var startXRefParsedCache = Object.create(null);
-
-      try {
-        while (this.startXRefQueue.length) {
-          var startXRef = this.startXRefQueue[0];
-
-          if (startXRefParsedCache[startXRef]) {
-            (0, _util.warn)("readXRef - skipping XRef table since it was already parsed.");
-            this.startXRefQueue.shift();
-            continue;
-          }
-
-          startXRefParsedCache[startXRef] = true;
-          stream.pos = startXRef + stream.start;
-          var parser = new _parser.Parser({
-            lexer: new _parser.Lexer(stream),
-            xref: this,
-            allowStreams: true
-          });
-          var obj = parser.getObj();
-          var dict;
-
-          if ((0, _primitives.isCmd)(obj, "xref")) {
-            dict = this.processXRefTable(parser);
-
-            if (!this.topDict) {
-              this.topDict = dict;
-            }
-
-            obj = dict.get("XRefStm");
-
-            if (Number.isInteger(obj)) {
-              var pos = obj;
-
-              if (!(pos in this.xrefstms)) {
-                this.xrefstms[pos] = 1;
-                this.startXRefQueue.push(pos);
-              }
-            }
-          } else if (Number.isInteger(obj)) {
-            if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), "obj") || !(0, _primitives.isStream)(obj = parser.getObj())) {
-              throw new _util.FormatError("Invalid XRef stream");
-            }
-
-            dict = this.processXRefStream(obj);
-
-            if (!this.topDict) {
-              this.topDict = dict;
-            }
-
-            if (!dict) {
-              throw new _util.FormatError("Failed to read XRef stream");
-            }
-          } else {
-            throw new _util.FormatError("Invalid XRef stream header");
-          }
-
-          obj = dict.get("Prev");
-
-          if (Number.isInteger(obj)) {
-            this.startXRefQueue.push(obj);
-          } else if ((0, _primitives.isRef)(obj)) {
-            this.startXRefQueue.push(obj.num);
-          }
-
-          this.startXRefQueue.shift();
-        }
-
-        return this.topDict;
-      } catch (e) {
-        if (e instanceof _core_utils.MissingDataException) {
-          throw e;
-        }
-
-        (0, _util.info)("(while reading XRef): " + e);
-      }
-
-      if (recoveryMode) {
-        return undefined;
-      }
-
-      throw new _core_utils.XRefParseException();
-    },
-    getEntry: function XRef_getEntry(i) {
-      var xrefEntry = this.entries[i];
-
-      if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {
-        return xrefEntry;
-      }
-
-      return null;
-    },
-    fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {
-      if (obj instanceof _primitives.Ref) {
-        return this.fetch(obj, suppressEncryption);
-      }
-
-      return obj;
-    },
-    fetch: function XRef_fetch(ref, suppressEncryption) {
-      if (!(ref instanceof _primitives.Ref)) {
-        throw new Error("ref object is not a reference");
-      }
-
-      var num = ref.num;
-
-      var cacheEntry = this._cacheMap.get(num);
-
-      if (cacheEntry !== undefined) {
-        if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {
-          cacheEntry.objId = ref.toString();
-        }
-
-        return cacheEntry;
-      }
-
-      var xrefEntry = this.getEntry(num);
-
-      if (xrefEntry === null) {
-        this._cacheMap.set(num, xrefEntry);
-
-        return xrefEntry;
-      }
-
-      if (xrefEntry.uncompressed) {
-        xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);
-      } else {
-        xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);
-      }
-
-      if ((0, _primitives.isDict)(xrefEntry)) {
-        xrefEntry.objId = ref.toString();
-      } else if ((0, _primitives.isStream)(xrefEntry)) {
-        xrefEntry.dict.objId = ref.toString();
-      }
-
-      return xrefEntry;
-    },
-    fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {
-      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-      var gen = ref.gen;
-      var num = ref.num;
-
-      if (xrefEntry.gen !== gen) {
-        throw new _core_utils.XRefEntryException("Inconsistent generation in XRef: ".concat(ref));
-      }
-
-      var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);
-      var parser = new _parser.Parser({
-        lexer: new _parser.Lexer(stream),
-        xref: this,
-        allowStreams: true
-      });
-      var obj1 = parser.getObj();
-      var obj2 = parser.getObj();
-      var obj3 = parser.getObj();
-
-      if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {
-        throw new _core_utils.XRefEntryException("Bad (uncompressed) XRef entry: ".concat(ref));
-      }
-
-      if (obj3.cmd !== "obj") {
-        if (obj3.cmd.startsWith("obj")) {
-          num = parseInt(obj3.cmd.substring(3), 10);
-
-          if (!Number.isNaN(num)) {
-            return num;
-          }
-        }
-
-        throw new _core_utils.XRefEntryException("Bad (uncompressed) XRef entry: ".concat(ref));
-      }
-
-      if (this.encrypt && !suppressEncryption) {
-        xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));
-      } else {
-        xrefEntry = parser.getObj();
-      }
-
-      if (!(0, _primitives.isStream)(xrefEntry)) {
-        this._cacheMap.set(num, xrefEntry);
-      }
-
-      return xrefEntry;
-    },
-    fetchCompressed: function fetchCompressed(ref, xrefEntry) {
-      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-      var tableOffset = xrefEntry.offset;
-      var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));
-
-      if (!(0, _primitives.isStream)(stream)) {
-        throw new _util.FormatError("bad ObjStm stream");
-      }
-
-      var first = stream.dict.get("First");
-      var n = stream.dict.get("N");
-
-      if (!Number.isInteger(first) || !Number.isInteger(n)) {
-        throw new _util.FormatError("invalid first and n parameters for ObjStm stream");
-      }
-
-      var parser = new _parser.Parser({
-        lexer: new _parser.Lexer(stream),
-        xref: this,
-        allowStreams: true
-      });
-      var nums = new Array(n);
-
-      for (var i = 0; i < n; ++i) {
-        var num = parser.getObj();
-
-        if (!Number.isInteger(num)) {
-          throw new _util.FormatError("invalid object number in the ObjStm stream: ".concat(num));
-        }
-
-        var offset = parser.getObj();
-
-        if (!Number.isInteger(offset)) {
-          throw new _util.FormatError("invalid object offset in the ObjStm stream: ".concat(offset));
-        }
-
-        nums[i] = num;
-      }
-
-      var entries = new Array(n);
-
-      for (var _i2 = 0; _i2 < n; ++_i2) {
-        var obj = parser.getObj();
-        entries[_i2] = obj;
-
-        if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === "endobj") {
-          parser.shift();
-        }
-
-        if ((0, _primitives.isStream)(obj)) {
-          continue;
-        }
-
-        var _num = nums[_i2],
-            entry = this.entries[_num];
-
-        if (entry && entry.offset === tableOffset && entry.gen === _i2) {
-          this._cacheMap.set(_num, obj);
-        }
-      }
-
-      xrefEntry = entries[xrefEntry.gen];
-
-      if (xrefEntry === undefined) {
-        throw new _core_utils.XRefEntryException("Bad (compressed) XRef entry: ".concat(ref));
-      }
-
-      return xrefEntry;
-    },
-    fetchIfRefAsync: function fetchIfRefAsync(obj, suppressEncryption) {
-      var _this3 = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!(obj instanceof _primitives.Ref)) {
-                  _context.next = 2;
-                  break;
-                }
-
-                return _context.abrupt("return", _this3.fetchAsync(obj, suppressEncryption));
-
-              case 2:
-                return _context.abrupt("return", obj);
-
-              case 3:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }))();
-    },
-    fetchAsync: function fetchAsync(ref, suppressEncryption) {
-      var _this4 = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.prev = 0;
-                return _context2.abrupt("return", _this4.fetch(ref, suppressEncryption));
-
-              case 4:
-                _context2.prev = 4;
-                _context2.t0 = _context2["catch"](0);
-
-                if (_context2.t0 instanceof _core_utils.MissingDataException) {
-                  _context2.next = 8;
-                  break;
-                }
-
-                throw _context2.t0;
-
-              case 8:
-                _context2.next = 10;
-                return _this4.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);
-
-              case 10:
-                return _context2.abrupt("return", _this4.fetchAsync(ref, suppressEncryption));
-
-              case 11:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, null, [[0, 4]]);
-      }))();
-    },
-    getCatalogObj: function XRef_getCatalogObj() {
-      return this.root;
-    }
-  };
-  return XRef;
-}();
-
-exports.XRef = XRef;
-
-var NameOrNumberTree = /*#__PURE__*/function () {
-  function NameOrNumberTree(root, xref, type) {
-    _classCallCheck(this, NameOrNumberTree);
-
-    if (this.constructor === NameOrNumberTree) {
-      (0, _util.unreachable)("Cannot initialize NameOrNumberTree.");
-    }
-
-    this.root = root;
-    this.xref = xref;
-    this._type = type;
-  }
-
-  _createClass(NameOrNumberTree, [{
-    key: "getAll",
-    value: function getAll() {
-      var dict = Object.create(null);
-
-      if (!this.root) {
-        return dict;
-      }
-
-      var xref = this.xref;
-      var processed = new _primitives.RefSet();
-      processed.put(this.root);
-      var queue = [this.root];
-
-      while (queue.length > 0) {
-        var obj = xref.fetchIfRef(queue.shift());
-
-        if (!(0, _primitives.isDict)(obj)) {
-          continue;
-        }
-
-        if (obj.has("Kids")) {
-          var kids = obj.get("Kids");
-
-          for (var i = 0, ii = kids.length; i < ii; i++) {
-            var kid = kids[i];
-
-            if (processed.has(kid)) {
-              throw new _util.FormatError("Duplicate entry in \"".concat(this._type, "\" tree."));
-            }
-
-            queue.push(kid);
-            processed.put(kid);
-          }
-
-          continue;
-        }
-
-        var entries = obj.get(this._type);
-
-        if (Array.isArray(entries)) {
-          for (var _i3 = 0, _ii = entries.length; _i3 < _ii; _i3 += 2) {
-            dict[xref.fetchIfRef(entries[_i3])] = xref.fetchIfRef(entries[_i3 + 1]);
-          }
-        }
-      }
-
-      return dict;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      if (!this.root) {
-        return null;
-      }
-
-      var xref = this.xref;
-      var kidsOrEntries = xref.fetchIfRef(this.root);
-      var loopCount = 0;
-      var MAX_LEVELS = 10;
-
-      while (kidsOrEntries.has("Kids")) {
-        if (++loopCount > MAX_LEVELS) {
-          (0, _util.warn)("Search depth limit reached for \"".concat(this._type, "\" tree."));
-          return null;
-        }
-
-        var kids = kidsOrEntries.get("Kids");
-
-        if (!Array.isArray(kids)) {
-          return null;
-        }
-
-        var l = 0,
-            r = kids.length - 1;
-
-        while (l <= r) {
-          var m = l + r >> 1;
-          var kid = xref.fetchIfRef(kids[m]);
-          var limits = kid.get("Limits");
-
-          if (key < xref.fetchIfRef(limits[0])) {
-            r = m - 1;
-          } else if (key > xref.fetchIfRef(limits[1])) {
-            l = m + 1;
-          } else {
-            kidsOrEntries = xref.fetchIfRef(kids[m]);
-            break;
-          }
-        }
-
-        if (l > r) {
-          return null;
-        }
-      }
-
-      var entries = kidsOrEntries.get(this._type);
-
-      if (Array.isArray(entries)) {
-        var _l = 0,
-            _r = entries.length - 2;
-
-        while (_l <= _r) {
-          var tmp = _l + _r >> 1,
-              _m = tmp + (tmp & 1);
-
-          var currentKey = xref.fetchIfRef(entries[_m]);
-
-          if (key < currentKey) {
-            _r = _m - 2;
-          } else if (key > currentKey) {
-            _l = _m + 2;
-          } else {
-            return xref.fetchIfRef(entries[_m + 1]);
-          }
-        }
-
-        (0, _util.info)("Falling back to an exhaustive search, for key \"".concat(key, "\", ") + "in \"".concat(this._type, "\" tree."));
-
-        for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {
-          var _currentKey = xref.fetchIfRef(entries[_m2]);
-
-          if (_currentKey === key) {
-            (0, _util.warn)("The \"".concat(key, "\" key was found at an incorrect, ") + "i.e. out-of-order, position in \"".concat(this._type, "\" tree."));
-            return xref.fetchIfRef(entries[_m2 + 1]);
-          }
-        }
-      }
-
-      return null;
-    }
-  }]);
-
-  return NameOrNumberTree;
-}();
-
-var NameTree = /*#__PURE__*/function (_NameOrNumberTree) {
-  _inherits(NameTree, _NameOrNumberTree);
-
-  function NameTree(root, xref) {
-    _classCallCheck(this, NameTree);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(NameTree).call(this, root, xref, "Names"));
-  }
-
-  return NameTree;
-}(NameOrNumberTree);
-
-var NumberTree = /*#__PURE__*/function (_NameOrNumberTree2) {
-  _inherits(NumberTree, _NameOrNumberTree2);
-
-  function NumberTree(root, xref) {
-    _classCallCheck(this, NumberTree);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(NumberTree).call(this, root, xref, "Nums"));
-  }
-
-  return NumberTree;
-}(NameOrNumberTree);
-
-var FileSpec = function FileSpecClosure() {
-  function FileSpec(root, xref) {
-    if (!root || !(0, _primitives.isDict)(root)) {
-      return;
-    }
-
-    this.xref = xref;
-    this.root = root;
-
-    if (root.has("FS")) {
-      this.fs = root.get("FS");
-    }
-
-    this.description = root.has("Desc") ? (0, _util.stringToPDFString)(root.get("Desc")) : "";
-
-    if (root.has("RF")) {
-      (0, _util.warn)("Related file specifications are not supported");
-    }
-
-    this.contentAvailable = true;
-
-    if (!root.has("EF")) {
-      this.contentAvailable = false;
-      (0, _util.warn)("Non-embedded file specifications are not supported");
-    }
-  }
-
-  function pickPlatformItem(dict) {
-    if (dict.has("UF")) {
-      return dict.get("UF");
-    } else if (dict.has("F")) {
-      return dict.get("F");
-    } else if (dict.has("Unix")) {
-      return dict.get("Unix");
-    } else if (dict.has("Mac")) {
-      return dict.get("Mac");
-    } else if (dict.has("DOS")) {
-      return dict.get("DOS");
-    }
-
-    return null;
-  }
-
-  FileSpec.prototype = {
-    get filename() {
-      if (!this._filename && this.root) {
-        var filename = pickPlatformItem(this.root) || "unnamed";
-        this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\/g, "\\").replace(/\\\//g, "/").replace(/\\/g, "/");
-      }
-
-      return this._filename;
-    },
-
-    get content() {
-      if (!this.contentAvailable) {
-        return null;
-      }
-
-      if (!this.contentRef && this.root) {
-        this.contentRef = pickPlatformItem(this.root.get("EF"));
-      }
-
-      var content = null;
-
-      if (this.contentRef) {
-        var xref = this.xref;
-        var fileObj = xref.fetchIfRef(this.contentRef);
-
-        if (fileObj && (0, _primitives.isStream)(fileObj)) {
-          content = fileObj.getBytes();
-        } else {
-          (0, _util.warn)("Embedded file specification points to non-existing/invalid " + "content");
-        }
-      } else {
-        (0, _util.warn)("Embedded file specification does not have a content");
-      }
-
-      return content;
-    },
-
-    get serializable() {
-      return {
-        filename: this.filename,
-        content: this.content
-      };
-    }
-
-  };
-  return FileSpec;
-}();
-
-exports.FileSpec = FileSpec;
-
-var ObjectLoader = function () {
-  function mayHaveChildren(value) {
-    return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);
-  }
-
-  function addChildren(node, nodesToVisit) {
-    if (node instanceof _primitives.Dict || (0, _primitives.isStream)(node)) {
-      var dict = node instanceof _primitives.Dict ? node : node.dict;
-      var dictKeys = dict.getKeys();
-
-      for (var i = 0, ii = dictKeys.length; i < ii; i++) {
-        var rawValue = dict.getRaw(dictKeys[i]);
-
-        if (mayHaveChildren(rawValue)) {
-          nodesToVisit.push(rawValue);
-        }
-      }
-    } else if (Array.isArray(node)) {
-      for (var _i4 = 0, _ii2 = node.length; _i4 < _ii2; _i4++) {
-        var value = node[_i4];
-
-        if (mayHaveChildren(value)) {
-          nodesToVisit.push(value);
-        }
-      }
-    }
-  }
-
-  function ObjectLoader(dict, keys, xref) {
-    this.dict = dict;
-    this.keys = keys;
-    this.xref = xref;
-    this.refSet = null;
-  }
-
-  ObjectLoader.prototype = {
-    load: function load() {
-      var _this5 = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
-        var keys, dict, nodesToVisit, i, ii, rawValue;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                if (!(!_this5.xref.stream.allChunksLoaded || _this5.xref.stream.allChunksLoaded())) {
-                  _context3.next = 2;
-                  break;
-                }
-
-                return _context3.abrupt("return", undefined);
-
-              case 2:
-                keys = _this5.keys, dict = _this5.dict;
-                _this5.refSet = new _primitives.RefSet();
-                nodesToVisit = [];
-
-                for (i = 0, ii = keys.length; i < ii; i++) {
-                  rawValue = dict.getRaw(keys[i]);
-
-                  if (rawValue !== undefined) {
-                    nodesToVisit.push(rawValue);
-                  }
-                }
-
-                return _context3.abrupt("return", _this5._walk(nodesToVisit));
-
-              case 7:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3);
-      }))();
-    },
-    _walk: function _walk(nodesToVisit) {
-      var _this6 = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
-        var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i5, _ii3, node;
-
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                nodesToRevisit = [];
-                pendingRequests = [];
-
-              case 2:
-                if (!nodesToVisit.length) {
-                  _context4.next = 22;
-                  break;
-                }
-
-                currentNode = nodesToVisit.pop();
-
-                if (!(currentNode instanceof _primitives.Ref)) {
-                  _context4.next = 18;
-                  break;
-                }
-
-                if (!_this6.refSet.has(currentNode)) {
-                  _context4.next = 7;
-                  break;
-                }
-
-                return _context4.abrupt("continue", 2);
-
-              case 7:
-                _context4.prev = 7;
-
-                _this6.refSet.put(currentNode);
-
-                currentNode = _this6.xref.fetch(currentNode);
-                _context4.next = 18;
-                break;
-
-              case 12:
-                _context4.prev = 12;
-                _context4.t0 = _context4["catch"](7);
-
-                if (_context4.t0 instanceof _core_utils.MissingDataException) {
-                  _context4.next = 16;
-                  break;
-                }
-
-                throw _context4.t0;
-
-              case 16:
-                nodesToRevisit.push(currentNode);
-                pendingRequests.push({
-                  begin: _context4.t0.begin,
-                  end: _context4.t0.end
-                });
-
-              case 18:
-                if (currentNode && currentNode.getBaseStreams) {
-                  baseStreams = currentNode.getBaseStreams();
-                  foundMissingData = false;
-
-                  for (i = 0, ii = baseStreams.length; i < ii; i++) {
-                    stream = baseStreams[i];
-
-                    if (stream.allChunksLoaded && !stream.allChunksLoaded()) {
-                      foundMissingData = true;
-                      pendingRequests.push({
-                        begin: stream.start,
-                        end: stream.end
-                      });
-                    }
-                  }
-
-                  if (foundMissingData) {
-                    nodesToRevisit.push(currentNode);
-                  }
-                }
-
-                addChildren(currentNode, nodesToVisit);
-                _context4.next = 2;
-                break;
-
-              case 22:
-                if (!pendingRequests.length) {
-                  _context4.next = 27;
-                  break;
-                }
-
-                _context4.next = 25;
-                return _this6.xref.stream.manager.requestRanges(pendingRequests);
-
-              case 25:
-                for (_i5 = 0, _ii3 = nodesToRevisit.length; _i5 < _ii3; _i5++) {
-                  node = nodesToRevisit[_i5];
-
-                  if (node instanceof _primitives.Ref) {
-                    _this6.refSet.remove(node);
-                  }
-                }
-
-                return _context4.abrupt("return", _this6._walk(nodesToRevisit));
-
-              case 27:
-                _this6.refSet = null;
-                return _context4.abrupt("return", undefined);
-
-              case 29:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, null, [[7, 12]]);
-      }))();
-    }
-  };
-  return ObjectLoader;
-}();
-
-exports.ObjectLoader = ObjectLoader;
-
-/***/ }),
-/* 200 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Parser = exports.Linearization = exports.Lexer = void 0;
-
-var _stream = __w_pdfjs_require__(201);
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _ccitt_stream = __w_pdfjs_require__(202);
-
-var _jbig2_stream = __w_pdfjs_require__(204);
-
-var _jpeg_stream = __w_pdfjs_require__(207);
-
-var _jpx_stream = __w_pdfjs_require__(209);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var MAX_LENGTH_TO_CACHE = 1000;
-var MAX_ADLER32_LENGTH = 5552;
-
-function computeAdler32(bytes) {
-  var bytesLength = bytes.length;
-  var a = 1,
-      b = 0;
-
-  for (var i = 0; i < bytesLength; ++i) {
-    a += bytes[i] & 0xff;
-    b += a;
-  }
-
-  return b % 65521 << 16 | a % 65521;
-}
-
-var Parser = /*#__PURE__*/function () {
-  function Parser(_ref) {
-    var lexer = _ref.lexer,
-        xref = _ref.xref,
-        _ref$allowStreams = _ref.allowStreams,
-        allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,
-        _ref$recoveryMode = _ref.recoveryMode,
-        recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;
-
-    _classCallCheck(this, Parser);
-
-    this.lexer = lexer;
-    this.xref = xref;
-    this.allowStreams = allowStreams;
-    this.recoveryMode = recoveryMode;
-    this.imageCache = Object.create(null);
-    this.refill();
-  }
-
-  _createClass(Parser, [{
-    key: "refill",
-    value: function refill() {
-      this.buf1 = this.lexer.getObj();
-      this.buf2 = this.lexer.getObj();
-    }
-  }, {
-    key: "shift",
-    value: function shift() {
-      if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === "ID") {
-        this.buf1 = this.buf2;
-        this.buf2 = null;
-      } else {
-        this.buf1 = this.buf2;
-        this.buf2 = this.lexer.getObj();
-      }
-    }
-  }, {
-    key: "tryShift",
-    value: function tryShift() {
-      try {
-        this.shift();
-        return true;
-      } catch (e) {
-        if (e instanceof _core_utils.MissingDataException) {
-          throw e;
-        }
-
-        return false;
-      }
-    }
-  }, {
-    key: "getObj",
-    value: function getObj() {
-      var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-      var buf1 = this.buf1;
-      this.shift();
-
-      if (buf1 instanceof _primitives.Cmd) {
-        switch (buf1.cmd) {
-          case "BI":
-            return this.makeInlineImage(cipherTransform);
-
-          case "[":
-            var array = [];
-
-            while (!(0, _primitives.isCmd)(this.buf1, "]") && !(0, _primitives.isEOF)(this.buf1)) {
-              array.push(this.getObj(cipherTransform));
-            }
-
-            if ((0, _primitives.isEOF)(this.buf1)) {
-              if (!this.recoveryMode) {
-                throw new _util.FormatError("End of file inside array");
-              }
-
-              return array;
-            }
-
-            this.shift();
-            return array;
-
-          case "<<":
-            var dict = new _primitives.Dict(this.xref);
-
-            while (!(0, _primitives.isCmd)(this.buf1, ">>") && !(0, _primitives.isEOF)(this.buf1)) {
-              if (!(0, _primitives.isName)(this.buf1)) {
-                (0, _util.info)("Malformed dictionary: key must be a name object");
-                this.shift();
-                continue;
-              }
-
-              var key = this.buf1.name;
-              this.shift();
-
-              if ((0, _primitives.isEOF)(this.buf1)) {
-                break;
-              }
-
-              dict.set(key, this.getObj(cipherTransform));
-            }
-
-            if ((0, _primitives.isEOF)(this.buf1)) {
-              if (!this.recoveryMode) {
-                throw new _util.FormatError("End of file inside dictionary");
-              }
-
-              return dict;
-            }
-
-            if ((0, _primitives.isCmd)(this.buf2, "stream")) {
-              return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;
-            }
-
-            this.shift();
-            return dict;
-
-          default:
-            return buf1;
-        }
-      }
-
-      if (Number.isInteger(buf1)) {
-        if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, "R")) {
-          var ref = _primitives.Ref.get(buf1, this.buf1);
-
-          this.shift();
-          this.shift();
-          return ref;
-        }
-
-        return buf1;
-      }
-
-      if (typeof buf1 === "string") {
-        if (cipherTransform) {
-          return cipherTransform.decryptString(buf1);
-        }
-
-        return buf1;
-      }
-
-      return buf1;
-    }
-  }, {
-    key: "findDefaultInlineStreamEnd",
-    value: function findDefaultInlineStreamEnd(stream) {
-      var E = 0x45,
-          I = 0x49,
-          SPACE = 0x20,
-          LF = 0xa,
-          CR = 0xd;
-      var n = 10,
-          NUL = 0x0;
-      var startPos = stream.pos;
-      var state = 0,
-          ch,
-          maybeEIPos;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (state === 0) {
-          state = ch === E ? 1 : 0;
-        } else if (state === 1) {
-          state = ch === I ? 2 : 0;
-        } else {
-          (0, _util.assert)(state === 2);
-
-          if (ch === SPACE || ch === LF || ch === CR) {
-            maybeEIPos = stream.pos;
-            var followingBytes = stream.peekBytes(n);
-
-            for (var i = 0, ii = followingBytes.length; i < ii; i++) {
-              ch = followingBytes[i];
-
-              if (ch === NUL && followingBytes[i + 1] !== NUL) {
-                continue;
-              }
-
-              if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {
-                state = 0;
-                break;
-              }
-            }
-
-            if (state === 2) {
-              break;
-            }
-          } else {
-            state = 0;
-          }
-        }
-      }
-
-      if (ch === -1) {
-        (0, _util.warn)("findDefaultInlineStreamEnd: " + "Reached the end of the stream without finding a valid EI marker");
-
-        if (maybeEIPos) {
-          (0, _util.warn)('... trying to recover by using the last "EI" occurrence.');
-          stream.skip(-(stream.pos - maybeEIPos));
-        }
-      }
-
-      var endOffset = 4;
-      stream.skip(-endOffset);
-      ch = stream.peekByte();
-      stream.skip(endOffset);
-
-      if (!(0, _core_utils.isWhiteSpace)(ch)) {
-        endOffset--;
-      }
-
-      return stream.pos - endOffset - startPos;
-    }
-  }, {
-    key: "findDCTDecodeInlineStreamEnd",
-    value: function findDCTDecodeInlineStreamEnd(stream) {
-      var startPos = stream.pos;
-      var foundEOI = false,
-          b,
-          markerLength;
-
-      while ((b = stream.getByte()) !== -1) {
-        if (b !== 0xff) {
-          continue;
-        }
-
-        switch (stream.getByte()) {
-          case 0x00:
-            break;
-
-          case 0xff:
-            stream.skip(-1);
-            break;
-
-          case 0xd9:
-            foundEOI = true;
-            break;
-
-          case 0xc0:
-          case 0xc1:
-          case 0xc2:
-          case 0xc3:
-          case 0xc5:
-          case 0xc6:
-          case 0xc7:
-          case 0xc9:
-          case 0xca:
-          case 0xcb:
-          case 0xcd:
-          case 0xce:
-          case 0xcf:
-          case 0xc4:
-          case 0xcc:
-          case 0xda:
-          case 0xdb:
-          case 0xdc:
-          case 0xdd:
-          case 0xde:
-          case 0xdf:
-          case 0xe0:
-          case 0xe1:
-          case 0xe2:
-          case 0xe3:
-          case 0xe4:
-          case 0xe5:
-          case 0xe6:
-          case 0xe7:
-          case 0xe8:
-          case 0xe9:
-          case 0xea:
-          case 0xeb:
-          case 0xec:
-          case 0xed:
-          case 0xee:
-          case 0xef:
-          case 0xfe:
-            markerLength = stream.getUint16();
-
-            if (markerLength > 2) {
-              stream.skip(markerLength - 2);
-            } else {
-              stream.skip(-2);
-            }
-
-            break;
-        }
-
-        if (foundEOI) {
-          break;
-        }
-      }
-
-      var length = stream.pos - startPos;
-
-      if (b === -1) {
-        (0, _util.warn)("Inline DCTDecode image stream: " + "EOI marker not found, searching for /EI/ instead.");
-        stream.skip(-length);
-        return this.findDefaultInlineStreamEnd(stream);
-      }
-
-      this.inlineStreamSkipEI(stream);
-      return length;
-    }
-  }, {
-    key: "findASCII85DecodeInlineStreamEnd",
-    value: function findASCII85DecodeInlineStreamEnd(stream) {
-      var TILDE = 0x7e,
-          GT = 0x3e;
-      var startPos = stream.pos;
-      var ch;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (ch === TILDE) {
-          var tildePos = stream.pos;
-          ch = stream.peekByte();
-
-          while ((0, _core_utils.isWhiteSpace)(ch)) {
-            stream.skip();
-            ch = stream.peekByte();
-          }
-
-          if (ch === GT) {
-            stream.skip();
-            break;
-          }
-
-          if (stream.pos > tildePos) {
-            var maybeEI = stream.peekBytes(2);
-
-            if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {
-              break;
-            }
-          }
-        }
-      }
-
-      var length = stream.pos - startPos;
-
-      if (ch === -1) {
-        (0, _util.warn)("Inline ASCII85Decode image stream: " + "EOD marker not found, searching for /EI/ instead.");
-        stream.skip(-length);
-        return this.findDefaultInlineStreamEnd(stream);
-      }
-
-      this.inlineStreamSkipEI(stream);
-      return length;
-    }
-  }, {
-    key: "findASCIIHexDecodeInlineStreamEnd",
-    value: function findASCIIHexDecodeInlineStreamEnd(stream) {
-      var GT = 0x3e;
-      var startPos = stream.pos;
-      var ch;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (ch === GT) {
-          break;
-        }
-      }
-
-      var length = stream.pos - startPos;
-
-      if (ch === -1) {
-        (0, _util.warn)("Inline ASCIIHexDecode image stream: " + "EOD marker not found, searching for /EI/ instead.");
-        stream.skip(-length);
-        return this.findDefaultInlineStreamEnd(stream);
-      }
-
-      this.inlineStreamSkipEI(stream);
-      return length;
-    }
-  }, {
-    key: "inlineStreamSkipEI",
-    value: function inlineStreamSkipEI(stream) {
-      var E = 0x45,
-          I = 0x49;
-      var state = 0,
-          ch;
-
-      while ((ch = stream.getByte()) !== -1) {
-        if (state === 0) {
-          state = ch === E ? 1 : 0;
-        } else if (state === 1) {
-          state = ch === I ? 2 : 0;
-        } else if (state === 2) {
-          break;
-        }
-      }
-    }
-  }, {
-    key: "makeInlineImage",
-    value: function makeInlineImage(cipherTransform) {
-      var lexer = this.lexer;
-      var stream = lexer.stream;
-      var dict = new _primitives.Dict(this.xref);
-      var dictLength;
-
-      while (!(0, _primitives.isCmd)(this.buf1, "ID") && !(0, _primitives.isEOF)(this.buf1)) {
-        if (!(0, _primitives.isName)(this.buf1)) {
-          throw new _util.FormatError("Dictionary key must be a name object");
-        }
-
-        var key = this.buf1.name;
-        this.shift();
-
-        if ((0, _primitives.isEOF)(this.buf1)) {
-          break;
-        }
-
-        dict.set(key, this.getObj(cipherTransform));
-      }
-
-      if (lexer.beginInlineImagePos !== -1) {
-        dictLength = stream.pos - lexer.beginInlineImagePos;
-      }
-
-      var filter = dict.get("Filter", "F");
-      var filterName;
-
-      if ((0, _primitives.isName)(filter)) {
-        filterName = filter.name;
-      } else if (Array.isArray(filter)) {
-        var filterZero = this.xref.fetchIfRef(filter[0]);
-
-        if ((0, _primitives.isName)(filterZero)) {
-          filterName = filterZero.name;
-        }
-      }
-
-      var startPos = stream.pos;
-      var length;
-
-      if (filterName === "DCTDecode" || filterName === "DCT") {
-        length = this.findDCTDecodeInlineStreamEnd(stream);
-      } else if (filterName === "ASCII85Decode" || filterName === "A85") {
-        length = this.findASCII85DecodeInlineStreamEnd(stream);
-      } else if (filterName === "ASCIIHexDecode" || filterName === "AHx") {
-        length = this.findASCIIHexDecodeInlineStreamEnd(stream);
-      } else {
-        length = this.findDefaultInlineStreamEnd(stream);
-      }
-
-      var imageStream = stream.makeSubStream(startPos, length, dict);
-      var cacheKey;
-
-      if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {
-        var imageBytes = imageStream.getBytes();
-        imageStream.reset();
-        var initialStreamPos = stream.pos;
-        stream.pos = lexer.beginInlineImagePos;
-        var dictBytes = stream.getBytes(dictLength);
-        stream.pos = initialStreamPos;
-        cacheKey = computeAdler32(imageBytes) + "_" + computeAdler32(dictBytes);
-        var cacheEntry = this.imageCache[cacheKey];
-
-        if (cacheEntry !== undefined) {
-          this.buf2 = _primitives.Cmd.get("EI");
-          this.shift();
-          cacheEntry.reset();
-          return cacheEntry;
-        }
-      }
-
-      if (cipherTransform) {
-        imageStream = cipherTransform.createStream(imageStream, length);
-      }
-
-      imageStream = this.filter(imageStream, dict, length);
-      imageStream.dict = dict;
-
-      if (cacheKey !== undefined) {
-        imageStream.cacheKey = "inline_".concat(length, "_").concat(cacheKey);
-        this.imageCache[cacheKey] = imageStream;
-      }
-
-      this.buf2 = _primitives.Cmd.get("EI");
-      this.shift();
-      return imageStream;
-    }
-  }, {
-    key: "_findStreamLength",
-    value: function _findStreamLength(startPos, signature) {
-      var stream = this.lexer.stream;
-      stream.pos = startPos;
-      var SCAN_BLOCK_LENGTH = 2048;
-      var signatureLength = signature.length;
-
-      while (stream.pos < stream.end) {
-        var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);
-        var scanLength = scanBytes.length - signatureLength;
-
-        if (scanLength <= 0) {
-          break;
-        }
-
-        var pos = 0;
-
-        while (pos < scanLength) {
-          var j = 0;
-
-          while (j < signatureLength && scanBytes[pos + j] === signature[j]) {
-            j++;
-          }
-
-          if (j >= signatureLength) {
-            stream.pos += pos;
-            return stream.pos - startPos;
-          }
-
-          pos++;
-        }
-
-        stream.pos += scanLength;
-      }
-
-      return -1;
-    }
-  }, {
-    key: "makeStream",
-    value: function makeStream(dict, cipherTransform) {
-      var lexer = this.lexer;
-      var stream = lexer.stream;
-      lexer.skipToNextLine();
-      var startPos = stream.pos - 1;
-      var length = dict.get("Length");
-
-      if (!Number.isInteger(length)) {
-        (0, _util.info)("Bad length \"".concat(length, "\" in stream"));
-        length = 0;
-      }
-
-      stream.pos = startPos + length;
-      lexer.nextChar();
-
-      if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, "endstream")) {
-        this.shift();
-      } else {
-        var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);
-
-        var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);
-
-        if (actualLength < 0) {
-          var MAX_TRUNCATION = 1;
-
-          for (var i = 1; i <= MAX_TRUNCATION; i++) {
-            var end = ENDSTREAM_SIGNATURE.length - i;
-            var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);
-
-            var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);
-
-            if (maybeLength >= 0) {
-              var lastByte = stream.peekBytes(end + 1)[end];
-
-              if (!(0, _core_utils.isWhiteSpace)(lastByte)) {
-                break;
-              }
-
-              (0, _util.info)("Found \"".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), "\" when ") + "searching for endstream command.");
-              actualLength = maybeLength;
-              break;
-            }
-          }
-
-          if (actualLength < 0) {
-            throw new _util.FormatError("Missing endstream command.");
-          }
-        }
-
-        length = actualLength;
-        lexer.nextChar();
-        this.shift();
-        this.shift();
-      }
-
-      this.shift();
-      stream = stream.makeSubStream(startPos, length, dict);
-
-      if (cipherTransform) {
-        stream = cipherTransform.createStream(stream, length);
-      }
-
-      stream = this.filter(stream, dict, length);
-      stream.dict = dict;
-      return stream;
-    }
-  }, {
-    key: "filter",
-    value: function filter(stream, dict, length) {
-      var filter = dict.get("Filter", "F");
-      var params = dict.get("DecodeParms", "DP");
-
-      if ((0, _primitives.isName)(filter)) {
-        if (Array.isArray(params)) {
-          (0, _util.warn)("/DecodeParms should not contain an Array, " + "when /Filter contains a Name.");
-        }
-
-        return this.makeFilter(stream, filter.name, length, params);
-      }
-
-      var maybeLength = length;
-
-      if (Array.isArray(filter)) {
-        var filterArray = filter;
-        var paramsArray = params;
-
-        for (var i = 0, ii = filterArray.length; i < ii; ++i) {
-          filter = this.xref.fetchIfRef(filterArray[i]);
-
-          if (!(0, _primitives.isName)(filter)) {
-            throw new _util.FormatError("Bad filter name \"".concat(filter, "\""));
-          }
-
-          params = null;
-
-          if (Array.isArray(paramsArray) && i in paramsArray) {
-            params = this.xref.fetchIfRef(paramsArray[i]);
-          }
-
-          stream = this.makeFilter(stream, filter.name, maybeLength, params);
-          maybeLength = null;
-        }
-      }
-
-      return stream;
-    }
-  }, {
-    key: "makeFilter",
-    value: function makeFilter(stream, name, maybeLength, params) {
-      if (maybeLength === 0) {
-        (0, _util.warn)("Empty \"".concat(name, "\" stream."));
-        return new _stream.NullStream();
-      }
-
-      try {
-        var xrefStreamStats = this.xref.stats.streamTypes;
-
-        if (name === "FlateDecode" || name === "Fl") {
-          xrefStreamStats[_util.StreamType.FLATE] = true;
-
-          if (params) {
-            return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);
-          }
-
-          return new _stream.FlateStream(stream, maybeLength);
-        }
-
-        if (name === "LZWDecode" || name === "LZW") {
-          xrefStreamStats[_util.StreamType.LZW] = true;
-          var earlyChange = 1;
-
-          if (params) {
-            if (params.has("EarlyChange")) {
-              earlyChange = params.get("EarlyChange");
-            }
-
-            return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);
-          }
-
-          return new _stream.LZWStream(stream, maybeLength, earlyChange);
-        }
-
-        if (name === "DCTDecode" || name === "DCT") {
-          xrefStreamStats[_util.StreamType.DCT] = true;
-          return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);
-        }
-
-        if (name === "JPXDecode" || name === "JPX") {
-          xrefStreamStats[_util.StreamType.JPX] = true;
-          return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);
-        }
-
-        if (name === "ASCII85Decode" || name === "A85") {
-          xrefStreamStats[_util.StreamType.A85] = true;
-          return new _stream.Ascii85Stream(stream, maybeLength);
-        }
-
-        if (name === "ASCIIHexDecode" || name === "AHx") {
-          xrefStreamStats[_util.StreamType.AHX] = true;
-          return new _stream.AsciiHexStream(stream, maybeLength);
-        }
-
-        if (name === "CCITTFaxDecode" || name === "CCF") {
-          xrefStreamStats[_util.StreamType.CCF] = true;
-          return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);
-        }
-
-        if (name === "RunLengthDecode" || name === "RL") {
-          xrefStreamStats[_util.StreamType.RLX] = true;
-          return new _stream.RunLengthStream(stream, maybeLength);
-        }
-
-        if (name === "JBIG2Decode") {
-          xrefStreamStats[_util.StreamType.JBIG] = true;
-          return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);
-        }
-
-        (0, _util.warn)("Filter \"".concat(name, "\" is not supported."));
-        return stream;
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("Invalid stream: \"".concat(ex, "\""));
-        return new _stream.NullStream();
-      }
-    }
-  }]);
-
-  return Parser;
-}();
-
-exports.Parser = Parser;
-var specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 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, 0, 2, 0, 0, 0, 0, 0, 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, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
-
-function toHexDigit(ch) {
-  if (ch >= 0x30 && ch <= 0x39) {
-    return ch & 0x0f;
-  }
-
-  if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {
-    return (ch & 0x0f) + 9;
-  }
-
-  return -1;
-}
-
-var Lexer = /*#__PURE__*/function () {
-  function Lexer(stream) {
-    var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-
-    _classCallCheck(this, Lexer);
-
-    this.stream = stream;
-    this.nextChar();
-    this.strBuf = [];
-    this.knownCommands = knownCommands;
-    this._hexStringNumWarn = 0;
-    this.beginInlineImagePos = -1;
-  }
-
-  _createClass(Lexer, [{
-    key: "nextChar",
-    value: function nextChar() {
-      return this.currentChar = this.stream.getByte();
-    }
-  }, {
-    key: "peekChar",
-    value: function peekChar() {
-      return this.stream.peekByte();
-    }
-  }, {
-    key: "getNumber",
-    value: function getNumber() {
-      var ch = this.currentChar;
-      var eNotation = false;
-      var divideBy = 0;
-      var sign = 0;
-
-      if (ch === 0x2d) {
-        sign = -1;
-        ch = this.nextChar();
-
-        if (ch === 0x2d) {
-          ch = this.nextChar();
-        }
-      } else if (ch === 0x2b) {
-        sign = 1;
-        ch = this.nextChar();
-      }
-
-      if (ch === 0x0a || ch === 0x0d) {
-        do {
-          ch = this.nextChar();
-        } while (ch === 0x0a || ch === 0x0d);
-      }
-
-      if (ch === 0x2e) {
-        divideBy = 10;
-        ch = this.nextChar();
-      }
-
-      if (ch < 0x30 || ch > 0x39) {
-        if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {
-          (0, _util.warn)("Lexer.getNumber - treating a single decimal point as zero.");
-          return 0;
-        }
-
-        throw new _util.FormatError("Invalid number: ".concat(String.fromCharCode(ch), " (charCode ").concat(ch, ")"));
-      }
-
-      sign = sign || 1;
-      var baseValue = ch - 0x30;
-      var powerValue = 0;
-      var powerValueSign = 1;
-
-      while ((ch = this.nextChar()) >= 0) {
-        if (ch >= 0x30 && ch <= 0x39) {
-          var currentDigit = ch - 0x30;
-
-          if (eNotation) {
-            powerValue = powerValue * 10 + currentDigit;
-          } else {
-            if (divideBy !== 0) {
-              divideBy *= 10;
-            }
-
-            baseValue = baseValue * 10 + currentDigit;
-          }
-        } else if (ch === 0x2e) {
-          if (divideBy === 0) {
-            divideBy = 1;
-          } else {
-            break;
-          }
-        } else if (ch === 0x2d) {
-          (0, _util.warn)("Badly formatted number: minus sign in the middle");
-        } else if (ch === 0x45 || ch === 0x65) {
-          ch = this.peekChar();
-
-          if (ch === 0x2b || ch === 0x2d) {
-            powerValueSign = ch === 0x2d ? -1 : 1;
-            this.nextChar();
-          } else if (ch < 0x30 || ch > 0x39) {
-            break;
-          }
-
-          eNotation = true;
-        } else {
-          break;
-        }
-      }
-
-      if (divideBy !== 0) {
-        baseValue /= divideBy;
-      }
-
-      if (eNotation) {
-        baseValue *= Math.pow(10, powerValueSign * powerValue);
-      }
-
-      return sign * baseValue;
-    }
-  }, {
-    key: "getString",
-    value: function getString() {
-      var numParen = 1;
-      var done = false;
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      var ch = this.nextChar();
-
-      while (true) {
-        var charBuffered = false;
-
-        switch (ch | 0) {
-          case -1:
-            (0, _util.warn)("Unterminated string");
-            done = true;
-            break;
-
-          case 0x28:
-            ++numParen;
-            strBuf.push("(");
-            break;
-
-          case 0x29:
-            if (--numParen === 0) {
-              this.nextChar();
-              done = true;
-            } else {
-              strBuf.push(")");
-            }
-
-            break;
-
-          case 0x5c:
-            ch = this.nextChar();
-
-            switch (ch) {
-              case -1:
-                (0, _util.warn)("Unterminated string");
-                done = true;
-                break;
-
-              case 0x6e:
-                strBuf.push("\n");
-                break;
-
-              case 0x72:
-                strBuf.push("\r");
-                break;
-
-              case 0x74:
-                strBuf.push("\t");
-                break;
-
-              case 0x62:
-                strBuf.push("\b");
-                break;
-
-              case 0x66:
-                strBuf.push("\f");
-                break;
-
-              case 0x5c:
-              case 0x28:
-              case 0x29:
-                strBuf.push(String.fromCharCode(ch));
-                break;
-
-              case 0x30:
-              case 0x31:
-              case 0x32:
-              case 0x33:
-              case 0x34:
-              case 0x35:
-              case 0x36:
-              case 0x37:
-                var x = ch & 0x0f;
-                ch = this.nextChar();
-                charBuffered = true;
-
-                if (ch >= 0x30 && ch <= 0x37) {
-                  x = (x << 3) + (ch & 0x0f);
-                  ch = this.nextChar();
-
-                  if (ch >= 0x30 && ch <= 0x37) {
-                    charBuffered = false;
-                    x = (x << 3) + (ch & 0x0f);
-                  }
-                }
-
-                strBuf.push(String.fromCharCode(x));
-                break;
-
-              case 0x0d:
-                if (this.peekChar() === 0x0a) {
-                  this.nextChar();
-                }
-
-                break;
-
-              case 0x0a:
-                break;
-
-              default:
-                strBuf.push(String.fromCharCode(ch));
-                break;
-            }
-
-            break;
-
-          default:
-            strBuf.push(String.fromCharCode(ch));
-            break;
-        }
-
-        if (done) {
-          break;
-        }
-
-        if (!charBuffered) {
-          ch = this.nextChar();
-        }
-      }
-
-      return strBuf.join("");
-    }
-  }, {
-    key: "getName",
-    value: function getName() {
-      var ch, previousCh;
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-
-      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
-        if (ch === 0x23) {
-          ch = this.nextChar();
-
-          if (specialChars[ch]) {
-            (0, _util.warn)("Lexer_getName: " + "NUMBER SIGN (#) should be followed by a hexadecimal number.");
-            strBuf.push("#");
-            break;
-          }
-
-          var x = toHexDigit(ch);
-
-          if (x !== -1) {
-            previousCh = ch;
-            ch = this.nextChar();
-            var x2 = toHexDigit(ch);
-
-            if (x2 === -1) {
-              (0, _util.warn)("Lexer_getName: Illegal digit (".concat(String.fromCharCode(ch), ") ") + "in hexadecimal number.");
-              strBuf.push("#", String.fromCharCode(previousCh));
-
-              if (specialChars[ch]) {
-                break;
-              }
-
-              strBuf.push(String.fromCharCode(ch));
-              continue;
-            }
-
-            strBuf.push(String.fromCharCode(x << 4 | x2));
-          } else {
-            strBuf.push("#", String.fromCharCode(ch));
-          }
-        } else {
-          strBuf.push(String.fromCharCode(ch));
-        }
-      }
-
-      if (strBuf.length > 127) {
-        (0, _util.warn)("Name token is longer than allowed by the spec: ".concat(strBuf.length));
-      }
-
-      return _primitives.Name.get(strBuf.join(""));
-    }
-  }, {
-    key: "_hexStringWarn",
-    value: function _hexStringWarn(ch) {
-      var MAX_HEX_STRING_NUM_WARN = 5;
-
-      if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {
-        (0, _util.warn)("getHexString - ignoring additional invalid characters.");
-        return;
-      }
-
-      if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {
-        return;
-      }
-
-      (0, _util.warn)("getHexString - ignoring invalid character: ".concat(ch));
-    }
-  }, {
-    key: "getHexString",
-    value: function getHexString() {
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      var ch = this.currentChar;
-      var isFirstHex = true;
-      var firstDigit, secondDigit;
-      this._hexStringNumWarn = 0;
-
-      while (true) {
-        if (ch < 0) {
-          (0, _util.warn)("Unterminated hex string");
-          break;
-        } else if (ch === 0x3e) {
-          this.nextChar();
-          break;
-        } else if (specialChars[ch] === 1) {
-          ch = this.nextChar();
-          continue;
-        } else {
-          if (isFirstHex) {
-            firstDigit = toHexDigit(ch);
-
-            if (firstDigit === -1) {
-              this._hexStringWarn(ch);
-
-              ch = this.nextChar();
-              continue;
-            }
-          } else {
-            secondDigit = toHexDigit(ch);
-
-            if (secondDigit === -1) {
-              this._hexStringWarn(ch);
-
-              ch = this.nextChar();
-              continue;
-            }
-
-            strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));
-          }
-
-          isFirstHex = !isFirstHex;
-          ch = this.nextChar();
-        }
-      }
-
-      return strBuf.join("");
-    }
-  }, {
-    key: "getObj",
-    value: function getObj() {
-      var comment = false;
-      var ch = this.currentChar;
-
-      while (true) {
-        if (ch < 0) {
-          return _primitives.EOF;
-        }
-
-        if (comment) {
-          if (ch === 0x0a || ch === 0x0d) {
-            comment = false;
-          }
-        } else if (ch === 0x25) {
-          comment = true;
-        } else if (specialChars[ch] !== 1) {
-          break;
-        }
-
-        ch = this.nextChar();
-      }
-
-      switch (ch | 0) {
-        case 0x30:
-        case 0x31:
-        case 0x32:
-        case 0x33:
-        case 0x34:
-        case 0x35:
-        case 0x36:
-        case 0x37:
-        case 0x38:
-        case 0x39:
-        case 0x2b:
-        case 0x2d:
-        case 0x2e:
-          return this.getNumber();
-
-        case 0x28:
-          return this.getString();
-
-        case 0x2f:
-          return this.getName();
-
-        case 0x5b:
-          this.nextChar();
-          return _primitives.Cmd.get("[");
-
-        case 0x5d:
-          this.nextChar();
-          return _primitives.Cmd.get("]");
-
-        case 0x3c:
-          ch = this.nextChar();
-
-          if (ch === 0x3c) {
-            this.nextChar();
-            return _primitives.Cmd.get("<<");
-          }
-
-          return this.getHexString();
-
-        case 0x3e:
-          ch = this.nextChar();
-
-          if (ch === 0x3e) {
-            this.nextChar();
-            return _primitives.Cmd.get(">>");
-          }
-
-          return _primitives.Cmd.get(">");
-
-        case 0x7b:
-          this.nextChar();
-          return _primitives.Cmd.get("{");
-
-        case 0x7d:
-          this.nextChar();
-          return _primitives.Cmd.get("}");
-
-        case 0x29:
-          this.nextChar();
-          throw new _util.FormatError("Illegal character: ".concat(ch));
-      }
-
-      var str = String.fromCharCode(ch);
-      var knownCommands = this.knownCommands;
-      var knownCommandFound = knownCommands && knownCommands[str] !== undefined;
-
-      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {
-        var possibleCommand = str + String.fromCharCode(ch);
-
-        if (knownCommandFound && knownCommands[possibleCommand] === undefined) {
-          break;
-        }
-
-        if (str.length === 128) {
-          throw new _util.FormatError("Command token too long: ".concat(str.length));
-        }
-
-        str = possibleCommand;
-        knownCommandFound = knownCommands && knownCommands[str] !== undefined;
-      }
-
-      if (str === "true") {
-        return true;
-      }
-
-      if (str === "false") {
-        return false;
-      }
-
-      if (str === "null") {
-        return null;
-      }
-
-      if (str === "BI") {
-        this.beginInlineImagePos = this.stream.pos;
-      }
-
-      return _primitives.Cmd.get(str);
-    }
-  }, {
-    key: "skipToNextLine",
-    value: function skipToNextLine() {
-      var ch = this.currentChar;
-
-      while (ch >= 0) {
-        if (ch === 0x0d) {
-          ch = this.nextChar();
-
-          if (ch === 0x0a) {
-            this.nextChar();
-          }
-
-          break;
-        } else if (ch === 0x0a) {
-          this.nextChar();
-          break;
-        }
-
-        ch = this.nextChar();
-      }
-    }
-  }]);
-
-  return Lexer;
-}();
-
-exports.Lexer = Lexer;
-
-var Linearization = /*#__PURE__*/function () {
-  function Linearization() {
-    _classCallCheck(this, Linearization);
-  }
-
-  _createClass(Linearization, null, [{
-    key: "create",
-    value: function create(stream) {
-      function getInt(linDict, name) {
-        var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-        var obj = linDict.get(name);
-
-        if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {
-          return obj;
-        }
-
-        throw new Error("The \"".concat(name, "\" parameter in the linearization ") + "dictionary is invalid.");
-      }
-
-      function getHints(linDict) {
-        var hints = linDict.get("H");
-        var hintsLength;
-
-        if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {
-          for (var index = 0; index < hintsLength; index++) {
-            var hint = hints[index];
-
-            if (!(Number.isInteger(hint) && hint > 0)) {
-              throw new Error("Hint (".concat(index, ") in the linearization dictionary is invalid."));
-            }
-          }
-
-          return hints;
-        }
-
-        throw new Error("Hint array in the linearization dictionary is invalid.");
-      }
-
-      var parser = new Parser({
-        lexer: new Lexer(stream),
-        xref: null
-      });
-      var obj1 = parser.getObj();
-      var obj2 = parser.getObj();
-      var obj3 = parser.getObj();
-      var linDict = parser.getObj();
-      var obj, length;
-
-      if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, "obj") && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get("Linearized")) && obj > 0)) {
-        return null;
-      } else if ((length = getInt(linDict, "L")) !== stream.length) {
-        throw new Error('The "L" parameter in the linearization dictionary ' + "does not equal the stream length.");
-      }
-
-      return {
-        length: length,
-        hints: getHints(linDict),
-        objectNumberFirst: getInt(linDict, "O"),
-        endFirst: getInt(linDict, "E"),
-        numPages: getInt(linDict, "N"),
-        mainXRefEntriesOffset: getInt(linDict, "T"),
-        pageFirst: linDict.has("P") ? getInt(linDict, "P", true) : 0
-      };
-    }
-  }]);
-
-  return Linearization;
-}();
-
-exports.Linearization = Linearization;
-
-/***/ }),
-/* 201 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
-
-var Stream = function StreamClosure() {
-  function Stream(arrayBuffer, start, length, dict) {
-    this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);
-    this.start = start || 0;
-    this.pos = this.start;
-    this.end = start + length || this.bytes.length;
-    this.dict = dict;
-  }
-
-  Stream.prototype = {
-    get length() {
-      return this.end - this.start;
-    },
-
-    get isEmpty() {
-      return this.length === 0;
-    },
-
-    getByte: function Stream_getByte() {
-      if (this.pos >= this.end) {
-        return -1;
-      }
-
-      return this.bytes[this.pos++];
-    },
-    getUint16: function Stream_getUint16() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-
-      if (b0 === -1 || b1 === -1) {
-        return -1;
-      }
-
-      return (b0 << 8) + b1;
-    },
-    getInt32: function Stream_getInt32() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-      var b2 = this.getByte();
-      var b3 = this.getByte();
-      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
-    },
-    getBytes: function getBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.bytes;
-      var pos = this.pos;
-      var strEnd = this.end;
-
-      if (!length) {
-        var _subarray = bytes.subarray(pos, strEnd);
-
-        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;
-      }
-
-      var end = pos + length;
-
-      if (end > strEnd) {
-        end = strEnd;
-      }
-
-      this.pos = end;
-      var subarray = bytes.subarray(pos, end);
-      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;
-    },
-    peekByte: function Stream_peekByte() {
-      var peekedByte = this.getByte();
-
-      if (peekedByte !== -1) {
-        this.pos--;
-      }
-
-      return peekedByte;
-    },
-    peekBytes: function peekBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.getBytes(length, forceClamped);
-      this.pos -= bytes.length;
-      return bytes;
-    },
-    getByteRange: function getByteRange(begin, end) {
-      if (begin < 0) {
-        begin = 0;
-      }
-
-      if (end > this.end) {
-        end = this.end;
-      }
-
-      return this.bytes.subarray(begin, end);
-    },
-    skip: function Stream_skip(n) {
-      if (!n) {
-        n = 1;
-      }
-
-      this.pos += n;
-    },
-    reset: function Stream_reset() {
-      this.pos = this.start;
-    },
-    moveStart: function Stream_moveStart() {
-      this.start = this.pos;
-    },
-    makeSubStream: function Stream_makeSubStream(start, length, dict) {
-      return new Stream(this.bytes.buffer, start, length, dict);
-    }
-  };
-  return Stream;
-}();
-
-exports.Stream = Stream;
-
-var StringStream = function StringStreamClosure() {
-  function StringStream(str) {
-    var bytes = (0, _util.stringToBytes)(str);
-    Stream.call(this, bytes);
-  }
-
-  StringStream.prototype = Stream.prototype;
-  return StringStream;
-}();
-
-exports.StringStream = StringStream;
-
-var DecodeStream = function DecodeStreamClosure() {
-  var emptyBuffer = new Uint8Array(0);
-
-  function DecodeStream(maybeMinBufferLength) {
-    this._rawMinBufferLength = maybeMinBufferLength || 0;
-    this.pos = 0;
-    this.bufferLength = 0;
-    this.eof = false;
-    this.buffer = emptyBuffer;
-    this.minBufferLength = 512;
-
-    if (maybeMinBufferLength) {
-      while (this.minBufferLength < maybeMinBufferLength) {
-        this.minBufferLength *= 2;
-      }
-    }
-  }
-
-  DecodeStream.prototype = {
-    get isEmpty() {
-      while (!this.eof && this.bufferLength === 0) {
-        this.readBlock();
-      }
-
-      return this.bufferLength === 0;
-    },
-
-    ensureBuffer: function DecodeStream_ensureBuffer(requested) {
-      var buffer = this.buffer;
-
-      if (requested <= buffer.byteLength) {
-        return buffer;
-      }
-
-      var size = this.minBufferLength;
-
-      while (size < requested) {
-        size *= 2;
-      }
-
-      var buffer2 = new Uint8Array(size);
-      buffer2.set(buffer);
-      return this.buffer = buffer2;
-    },
-    getByte: function DecodeStream_getByte() {
-      var pos = this.pos;
-
-      while (this.bufferLength <= pos) {
-        if (this.eof) {
-          return -1;
-        }
-
-        this.readBlock();
-      }
-
-      return this.buffer[this.pos++];
-    },
-    getUint16: function DecodeStream_getUint16() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-
-      if (b0 === -1 || b1 === -1) {
-        return -1;
-      }
-
-      return (b0 << 8) + b1;
-    },
-    getInt32: function DecodeStream_getInt32() {
-      var b0 = this.getByte();
-      var b1 = this.getByte();
-      var b2 = this.getByte();
-      var b3 = this.getByte();
-      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
-    },
-    getBytes: function getBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var end,
-          pos = this.pos;
-
-      if (length) {
-        this.ensureBuffer(pos + length);
-        end = pos + length;
-
-        while (!this.eof && this.bufferLength < end) {
-          this.readBlock();
-        }
-
-        var bufEnd = this.bufferLength;
-
-        if (end > bufEnd) {
-          end = bufEnd;
-        }
-      } else {
-        while (!this.eof) {
-          this.readBlock();
-        }
-
-        end = this.bufferLength;
-      }
-
-      this.pos = end;
-      var subarray = this.buffer.subarray(pos, end);
-      return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;
-    },
-    peekByte: function DecodeStream_peekByte() {
-      var peekedByte = this.getByte();
-
-      if (peekedByte !== -1) {
-        this.pos--;
-      }
-
-      return peekedByte;
-    },
-    peekBytes: function peekBytes(length) {
-      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var bytes = this.getBytes(length, forceClamped);
-      this.pos -= bytes.length;
-      return bytes;
-    },
-    makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {
-      var end = start + length;
-
-      while (this.bufferLength <= end && !this.eof) {
-        this.readBlock();
-      }
-
-      return new Stream(this.buffer, start, length, dict);
-    },
-    getByteRange: function getByteRange(begin, end) {
-      (0, _util.unreachable)("Should not call DecodeStream.getByteRange");
-    },
-    skip: function DecodeStream_skip(n) {
-      if (!n) {
-        n = 1;
-      }
-
-      this.pos += n;
-    },
-    reset: function DecodeStream_reset() {
-      this.pos = 0;
-    },
-    getBaseStreams: function DecodeStream_getBaseStreams() {
-      if (this.str && this.str.getBaseStreams) {
-        return this.str.getBaseStreams();
-      }
-
-      return [];
-    }
-  };
-  return DecodeStream;
-}();
-
-exports.DecodeStream = DecodeStream;
-
-var StreamsSequenceStream = function StreamsSequenceStreamClosure() {
-  function StreamsSequenceStream(streams) {
-    this.streams = streams;
-    var maybeLength = 0;
-
-    for (var i = 0, ii = streams.length; i < ii; i++) {
-      var stream = streams[i];
-
-      if (stream instanceof DecodeStream) {
-        maybeLength += stream._rawMinBufferLength;
-      } else {
-        maybeLength += stream.length;
-      }
-    }
-
-    DecodeStream.call(this, maybeLength);
-  }
-
-  StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);
-
-  StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {
-    var streams = this.streams;
-
-    if (streams.length === 0) {
-      this.eof = true;
-      return;
-    }
-
-    var stream = streams.shift();
-    var chunk = stream.getBytes();
-    var bufferLength = this.bufferLength;
-    var newLength = bufferLength + chunk.length;
-    var buffer = this.ensureBuffer(newLength);
-    buffer.set(chunk, bufferLength);
-    this.bufferLength = newLength;
-  };
-
-  StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {
-    var baseStreams = [];
-
-    for (var i = 0, ii = this.streams.length; i < ii; i++) {
-      var stream = this.streams[i];
-
-      if (stream.getBaseStreams) {
-        baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));
-      }
-    }
-
-    return baseStreams;
-  };
-
-  return StreamsSequenceStream;
-}();
-
-exports.StreamsSequenceStream = StreamsSequenceStream;
-
-var FlateStream = function FlateStreamClosure() {
-  var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
-  var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);
-  var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);
-  var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];
-  var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];
-
-  function FlateStream(str, maybeLength) {
-    this.str = str;
-    this.dict = str.dict;
-    var cmf = str.getByte();
-    var flg = str.getByte();
-
-    if (cmf === -1 || flg === -1) {
-      throw new _util.FormatError("Invalid header in flate stream: ".concat(cmf, ", ").concat(flg));
-    }
-
-    if ((cmf & 0x0f) !== 0x08) {
-      throw new _util.FormatError("Unknown compression method in flate stream: ".concat(cmf, ", ").concat(flg));
-    }
-
-    if (((cmf << 8) + flg) % 31 !== 0) {
-      throw new _util.FormatError("Bad FCHECK in flate stream: ".concat(cmf, ", ").concat(flg));
-    }
-
-    if (flg & 0x20) {
-      throw new _util.FormatError("FDICT bit set in flate stream: ".concat(cmf, ", ").concat(flg));
-    }
-
-    this.codeSize = 0;
-    this.codeBuf = 0;
-    DecodeStream.call(this, maybeLength);
-  }
-
-  FlateStream.prototype = Object.create(DecodeStream.prototype);
-
-  FlateStream.prototype.getBits = function FlateStream_getBits(bits) {
-    var str = this.str;
-    var codeSize = this.codeSize;
-    var codeBuf = this.codeBuf;
-    var b;
-
-    while (codeSize < bits) {
-      if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError("Bad encoding in flate stream");
-      }
-
-      codeBuf |= b << codeSize;
-      codeSize += 8;
-    }
-
-    b = codeBuf & (1 << bits) - 1;
-    this.codeBuf = codeBuf >> bits;
-    this.codeSize = codeSize -= bits;
-    return b;
-  };
-
-  FlateStream.prototype.getCode = function FlateStream_getCode(table) {
-    var str = this.str;
-    var codes = table[0];
-    var maxLen = table[1];
-    var codeSize = this.codeSize;
-    var codeBuf = this.codeBuf;
-    var b;
-
-    while (codeSize < maxLen) {
-      if ((b = str.getByte()) === -1) {
-        break;
-      }
-
-      codeBuf |= b << codeSize;
-      codeSize += 8;
-    }
-
-    var code = codes[codeBuf & (1 << maxLen) - 1];
-    var codeLen = code >> 16;
-    var codeVal = code & 0xffff;
-
-    if (codeLen < 1 || codeSize < codeLen) {
-      throw new _util.FormatError("Bad encoding in flate stream");
-    }
-
-    this.codeBuf = codeBuf >> codeLen;
-    this.codeSize = codeSize - codeLen;
-    return codeVal;
-  };
-
-  FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {
-    var n = lengths.length;
-    var maxLen = 0;
-    var i;
-
-    for (i = 0; i < n; ++i) {
-      if (lengths[i] > maxLen) {
-        maxLen = lengths[i];
-      }
-    }
-
-    var size = 1 << maxLen;
-    var codes = new Int32Array(size);
-
-    for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {
-      for (var val = 0; val < n; ++val) {
-        if (lengths[val] === len) {
-          var code2 = 0;
-          var t = code;
-
-          for (i = 0; i < len; ++i) {
-            code2 = code2 << 1 | t & 1;
-            t >>= 1;
-          }
-
-          for (i = code2; i < size; i += skip) {
-            codes[i] = len << 16 | val;
-          }
-
-          ++code;
-        }
-      }
-    }
-
-    return [codes, maxLen];
-  };
-
-  FlateStream.prototype.readBlock = function FlateStream_readBlock() {
-    var buffer, len;
-    var str = this.str;
-    var hdr = this.getBits(3);
-
-    if (hdr & 1) {
-      this.eof = true;
-    }
-
-    hdr >>= 1;
-
-    if (hdr === 0) {
-      var b;
-
-      if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError("Bad block header in flate stream");
-      }
-
-      var blockLen = b;
-
-      if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError("Bad block header in flate stream");
-      }
-
-      blockLen |= b << 8;
-
-      if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError("Bad block header in flate stream");
-      }
-
-      var check = b;
-
-      if ((b = str.getByte()) === -1) {
-        throw new _util.FormatError("Bad block header in flate stream");
-      }
-
-      check |= b << 8;
-
-      if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {
-        throw new _util.FormatError("Bad uncompressed block length in flate stream");
-      }
-
-      this.codeBuf = 0;
-      this.codeSize = 0;
-      var bufferLength = this.bufferLength,
-          end = bufferLength + blockLen;
-      buffer = this.ensureBuffer(end);
-      this.bufferLength = end;
-
-      if (blockLen === 0) {
-        if (str.peekByte() === -1) {
-          this.eof = true;
-        }
-      } else {
-        var block = str.getBytes(blockLen);
-        buffer.set(block, bufferLength);
-
-        if (block.length < blockLen) {
-          this.eof = true;
-        }
-      }
-
-      return;
-    }
-
-    var litCodeTable;
-    var distCodeTable;
-
-    if (hdr === 1) {
-      litCodeTable = fixedLitCodeTab;
-      distCodeTable = fixedDistCodeTab;
-    } else if (hdr === 2) {
-      var numLitCodes = this.getBits(5) + 257;
-      var numDistCodes = this.getBits(5) + 1;
-      var numCodeLenCodes = this.getBits(4) + 4;
-      var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);
-      var i;
-
-      for (i = 0; i < numCodeLenCodes; ++i) {
-        codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);
-      }
-
-      var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);
-      len = 0;
-      i = 0;
-      var codes = numLitCodes + numDistCodes;
-      var codeLengths = new Uint8Array(codes);
-      var bitsLength, bitsOffset, what;
-
-      while (i < codes) {
-        var code = this.getCode(codeLenCodeTab);
-
-        if (code === 16) {
-          bitsLength = 2;
-          bitsOffset = 3;
-          what = len;
-        } else if (code === 17) {
-          bitsLength = 3;
-          bitsOffset = 3;
-          what = len = 0;
-        } else if (code === 18) {
-          bitsLength = 7;
-          bitsOffset = 11;
-          what = len = 0;
-        } else {
-          codeLengths[i++] = len = code;
-          continue;
-        }
-
-        var repeatLength = this.getBits(bitsLength) + bitsOffset;
-
-        while (repeatLength-- > 0) {
-          codeLengths[i++] = what;
-        }
-      }
-
-      litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));
-      distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));
-    } else {
-      throw new _util.FormatError("Unknown block type in flate stream");
-    }
-
-    buffer = this.buffer;
-    var limit = buffer ? buffer.length : 0;
-    var pos = this.bufferLength;
-
-    while (true) {
-      var code1 = this.getCode(litCodeTable);
-
-      if (code1 < 256) {
-        if (pos + 1 >= limit) {
-          buffer = this.ensureBuffer(pos + 1);
-          limit = buffer.length;
-        }
-
-        buffer[pos++] = code1;
-        continue;
-      }
-
-      if (code1 === 256) {
-        this.bufferLength = pos;
-        return;
-      }
-
-      code1 -= 257;
-      code1 = lengthDecode[code1];
-      var code2 = code1 >> 16;
-
-      if (code2 > 0) {
-        code2 = this.getBits(code2);
-      }
-
-      len = (code1 & 0xffff) + code2;
-      code1 = this.getCode(distCodeTable);
-      code1 = distDecode[code1];
-      code2 = code1 >> 16;
-
-      if (code2 > 0) {
-        code2 = this.getBits(code2);
-      }
-
-      var dist = (code1 & 0xffff) + code2;
-
-      if (pos + len >= limit) {
-        buffer = this.ensureBuffer(pos + len);
-        limit = buffer.length;
-      }
-
-      for (var k = 0; k < len; ++k, ++pos) {
-        buffer[pos] = buffer[pos - dist];
-      }
-    }
-  };
-
-  return FlateStream;
-}();
-
-exports.FlateStream = FlateStream;
-
-var PredictorStream = function PredictorStreamClosure() {
-  function PredictorStream(str, maybeLength, params) {
-    if (!(0, _primitives.isDict)(params)) {
-      return str;
-    }
-
-    var predictor = this.predictor = params.get("Predictor") || 1;
-
-    if (predictor <= 1) {
-      return str;
-    }
-
-    if (predictor !== 2 && (predictor < 10 || predictor > 15)) {
-      throw new _util.FormatError("Unsupported predictor: ".concat(predictor));
-    }
-
-    if (predictor === 2) {
-      this.readBlock = this.readBlockTiff;
-    } else {
-      this.readBlock = this.readBlockPng;
-    }
-
-    this.str = str;
-    this.dict = str.dict;
-    var colors = this.colors = params.get("Colors") || 1;
-    var bits = this.bits = params.get("BitsPerComponent") || 8;
-    var columns = this.columns = params.get("Columns") || 1;
-    this.pixBytes = colors * bits + 7 >> 3;
-    this.rowBytes = columns * colors * bits + 7 >> 3;
-    DecodeStream.call(this, maybeLength);
-    return this;
-  }
-
-  PredictorStream.prototype = Object.create(DecodeStream.prototype);
-
-  PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {
-    var rowBytes = this.rowBytes;
-    var bufferLength = this.bufferLength;
-    var buffer = this.ensureBuffer(bufferLength + rowBytes);
-    var bits = this.bits;
-    var colors = this.colors;
-    var rawBytes = this.str.getBytes(rowBytes);
-    this.eof = !rawBytes.length;
-
-    if (this.eof) {
-      return;
-    }
-
-    var inbuf = 0,
-        outbuf = 0;
-    var inbits = 0,
-        outbits = 0;
-    var pos = bufferLength;
-    var i;
-
-    if (bits === 1 && colors === 1) {
-      for (i = 0; i < rowBytes; ++i) {
-        var c = rawBytes[i] ^ inbuf;
-        c ^= c >> 1;
-        c ^= c >> 2;
-        c ^= c >> 4;
-        inbuf = (c & 1) << 7;
-        buffer[pos++] = c;
-      }
-    } else if (bits === 8) {
-      for (i = 0; i < colors; ++i) {
-        buffer[pos++] = rawBytes[i];
-      }
-
-      for (; i < rowBytes; ++i) {
-        buffer[pos] = buffer[pos - colors] + rawBytes[i];
-        pos++;
-      }
-    } else if (bits === 16) {
-      var bytesPerPixel = colors * 2;
-
-      for (i = 0; i < bytesPerPixel; ++i) {
-        buffer[pos++] = rawBytes[i];
-      }
-
-      for (; i < rowBytes; i += 2) {
-        var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);
-        buffer[pos++] = sum >> 8 & 0xff;
-        buffer[pos++] = sum & 0xff;
-      }
-    } else {
-      var compArray = new Uint8Array(colors + 1);
-      var bitMask = (1 << bits) - 1;
-      var j = 0,
-          k = bufferLength;
-      var columns = this.columns;
-
-      for (i = 0; i < columns; ++i) {
-        for (var kk = 0; kk < colors; ++kk) {
-          if (inbits < bits) {
-            inbuf = inbuf << 8 | rawBytes[j++] & 0xff;
-            inbits += 8;
-          }
-
-          compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;
-          inbits -= bits;
-          outbuf = outbuf << bits | compArray[kk];
-          outbits += bits;
-
-          if (outbits >= 8) {
-            buffer[k++] = outbuf >> outbits - 8 & 0xff;
-            outbits -= 8;
-          }
-        }
-      }
-
-      if (outbits > 0) {
-        buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);
-      }
-    }
-
-    this.bufferLength += rowBytes;
-  };
-
-  PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {
-    var rowBytes = this.rowBytes;
-    var pixBytes = this.pixBytes;
-    var predictor = this.str.getByte();
-    var rawBytes = this.str.getBytes(rowBytes);
-    this.eof = !rawBytes.length;
-
-    if (this.eof) {
-      return;
-    }
-
-    var bufferLength = this.bufferLength;
-    var buffer = this.ensureBuffer(bufferLength + rowBytes);
-    var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);
-
-    if (prevRow.length === 0) {
-      prevRow = new Uint8Array(rowBytes);
-    }
-
-    var i,
-        j = bufferLength,
-        up,
-        c;
-
-    switch (predictor) {
-      case 0:
-        for (i = 0; i < rowBytes; ++i) {
-          buffer[j++] = rawBytes[i];
-        }
-
-        break;
-
-      case 1:
-        for (i = 0; i < pixBytes; ++i) {
-          buffer[j++] = rawBytes[i];
-        }
-
-        for (; i < rowBytes; ++i) {
-          buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;
-          j++;
-        }
-
-        break;
-
-      case 2:
-        for (i = 0; i < rowBytes; ++i) {
-          buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;
-        }
-
-        break;
-
-      case 3:
-        for (i = 0; i < pixBytes; ++i) {
-          buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];
-        }
-
-        for (; i < rowBytes; ++i) {
-          buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;
-          j++;
-        }
-
-        break;
-
-      case 4:
-        for (i = 0; i < pixBytes; ++i) {
-          up = prevRow[i];
-          c = rawBytes[i];
-          buffer[j++] = up + c;
-        }
-
-        for (; i < rowBytes; ++i) {
-          up = prevRow[i];
-          var upLeft = prevRow[i - pixBytes];
-          var left = buffer[j - pixBytes];
-          var p = left + up - upLeft;
-          var pa = p - left;
-
-          if (pa < 0) {
-            pa = -pa;
-          }
-
-          var pb = p - up;
-
-          if (pb < 0) {
-            pb = -pb;
-          }
-
-          var pc = p - upLeft;
-
-          if (pc < 0) {
-            pc = -pc;
-          }
-
-          c = rawBytes[i];
-
-          if (pa <= pb && pa <= pc) {
-            buffer[j++] = left + c;
-          } else if (pb <= pc) {
-            buffer[j++] = up + c;
-          } else {
-            buffer[j++] = upLeft + c;
-          }
-        }
-
-        break;
-
-      default:
-        throw new _util.FormatError("Unsupported predictor: ".concat(predictor));
-    }
-
-    this.bufferLength += rowBytes;
-  };
-
-  return PredictorStream;
-}();
-
-exports.PredictorStream = PredictorStream;
-
-var DecryptStream = function DecryptStreamClosure() {
-  function DecryptStream(str, maybeLength, decrypt) {
-    this.str = str;
-    this.dict = str.dict;
-    this.decrypt = decrypt;
-    this.nextChunk = null;
-    this.initialized = false;
-    DecodeStream.call(this, maybeLength);
-  }
-
-  var chunkSize = 512;
-  DecryptStream.prototype = Object.create(DecodeStream.prototype);
-
-  DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {
-    var chunk;
-
-    if (this.initialized) {
-      chunk = this.nextChunk;
-    } else {
-      chunk = this.str.getBytes(chunkSize);
-      this.initialized = true;
-    }
-
-    if (!chunk || chunk.length === 0) {
-      this.eof = true;
-      return;
-    }
-
-    this.nextChunk = this.str.getBytes(chunkSize);
-    var hasMoreData = this.nextChunk && this.nextChunk.length > 0;
-    var decrypt = this.decrypt;
-    chunk = decrypt(chunk, !hasMoreData);
-    var bufferLength = this.bufferLength;
-    var i,
-        n = chunk.length;
-    var buffer = this.ensureBuffer(bufferLength + n);
-
-    for (i = 0; i < n; i++) {
-      buffer[bufferLength++] = chunk[i];
-    }
-
-    this.bufferLength = bufferLength;
-  };
-
-  return DecryptStream;
-}();
-
-exports.DecryptStream = DecryptStream;
-
-var Ascii85Stream = function Ascii85StreamClosure() {
-  function Ascii85Stream(str, maybeLength) {
-    this.str = str;
-    this.dict = str.dict;
-    this.input = new Uint8Array(5);
-
-    if (maybeLength) {
-      maybeLength = 0.8 * maybeLength;
-    }
-
-    DecodeStream.call(this, maybeLength);
-  }
-
-  Ascii85Stream.prototype = Object.create(DecodeStream.prototype);
-
-  Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {
-    var TILDA_CHAR = 0x7e;
-    var Z_LOWER_CHAR = 0x7a;
-    var EOF = -1;
-    var str = this.str;
-    var c = str.getByte();
-
-    while ((0, _core_utils.isWhiteSpace)(c)) {
-      c = str.getByte();
-    }
-
-    if (c === EOF || c === TILDA_CHAR) {
-      this.eof = true;
-      return;
-    }
-
-    var bufferLength = this.bufferLength,
-        buffer;
-    var i;
-
-    if (c === Z_LOWER_CHAR) {
-      buffer = this.ensureBuffer(bufferLength + 4);
-
-      for (i = 0; i < 4; ++i) {
-        buffer[bufferLength + i] = 0;
-      }
-
-      this.bufferLength += 4;
-    } else {
-      var input = this.input;
-      input[0] = c;
-
-      for (i = 1; i < 5; ++i) {
-        c = str.getByte();
-
-        while ((0, _core_utils.isWhiteSpace)(c)) {
-          c = str.getByte();
-        }
-
-        input[i] = c;
-
-        if (c === EOF || c === TILDA_CHAR) {
-          break;
-        }
-      }
-
-      buffer = this.ensureBuffer(bufferLength + i - 1);
-      this.bufferLength += i - 1;
-
-      if (i < 5) {
-        for (; i < 5; ++i) {
-          input[i] = 0x21 + 84;
-        }
-
-        this.eof = true;
-      }
-
-      var t = 0;
-
-      for (i = 0; i < 5; ++i) {
-        t = t * 85 + (input[i] - 0x21);
-      }
-
-      for (i = 3; i >= 0; --i) {
-        buffer[bufferLength + i] = t & 0xff;
-        t >>= 8;
-      }
-    }
-  };
-
-  return Ascii85Stream;
-}();
-
-exports.Ascii85Stream = Ascii85Stream;
-
-var AsciiHexStream = function AsciiHexStreamClosure() {
-  function AsciiHexStream(str, maybeLength) {
-    this.str = str;
-    this.dict = str.dict;
-    this.firstDigit = -1;
-
-    if (maybeLength) {
-      maybeLength = 0.5 * maybeLength;
-    }
-
-    DecodeStream.call(this, maybeLength);
-  }
-
-  AsciiHexStream.prototype = Object.create(DecodeStream.prototype);
-
-  AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {
-    var UPSTREAM_BLOCK_SIZE = 8000;
-    var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);
-
-    if (!bytes.length) {
-      this.eof = true;
-      return;
-    }
-
-    var maxDecodeLength = bytes.length + 1 >> 1;
-    var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);
-    var bufferLength = this.bufferLength;
-    var firstDigit = this.firstDigit;
-
-    for (var i = 0, ii = bytes.length; i < ii; i++) {
-      var ch = bytes[i],
-          digit;
-
-      if (ch >= 0x30 && ch <= 0x39) {
-        digit = ch & 0x0f;
-      } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {
-        digit = (ch & 0x0f) + 9;
-      } else if (ch === 0x3e) {
-        this.eof = true;
-        break;
-      } else {
-        continue;
-      }
-
-      if (firstDigit < 0) {
-        firstDigit = digit;
-      } else {
-        buffer[bufferLength++] = firstDigit << 4 | digit;
-        firstDigit = -1;
-      }
-    }
-
-    if (firstDigit >= 0 && this.eof) {
-      buffer[bufferLength++] = firstDigit << 4;
-      firstDigit = -1;
-    }
-
-    this.firstDigit = firstDigit;
-    this.bufferLength = bufferLength;
-  };
-
-  return AsciiHexStream;
-}();
-
-exports.AsciiHexStream = AsciiHexStream;
-
-var RunLengthStream = function RunLengthStreamClosure() {
-  function RunLengthStream(str, maybeLength) {
-    this.str = str;
-    this.dict = str.dict;
-    DecodeStream.call(this, maybeLength);
-  }
-
-  RunLengthStream.prototype = Object.create(DecodeStream.prototype);
-
-  RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {
-    var repeatHeader = this.str.getBytes(2);
-
-    if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {
-      this.eof = true;
-      return;
-    }
-
-    var buffer;
-    var bufferLength = this.bufferLength;
-    var n = repeatHeader[0];
-
-    if (n < 128) {
-      buffer = this.ensureBuffer(bufferLength + n + 1);
-      buffer[bufferLength++] = repeatHeader[1];
-
-      if (n > 0) {
-        var source = this.str.getBytes(n);
-        buffer.set(source, bufferLength);
-        bufferLength += n;
-      }
-    } else {
-      n = 257 - n;
-      var b = repeatHeader[1];
-      buffer = this.ensureBuffer(bufferLength + n + 1);
-
-      for (var i = 0; i < n; i++) {
-        buffer[bufferLength++] = b;
-      }
-    }
-
-    this.bufferLength = bufferLength;
-  };
-
-  return RunLengthStream;
-}();
-
-exports.RunLengthStream = RunLengthStream;
-
-var LZWStream = function LZWStreamClosure() {
-  function LZWStream(str, maybeLength, earlyChange) {
-    this.str = str;
-    this.dict = str.dict;
-    this.cachedData = 0;
-    this.bitsCached = 0;
-    var maxLzwDictionarySize = 4096;
-    var lzwState = {
-      earlyChange: earlyChange,
-      codeLength: 9,
-      nextCode: 258,
-      dictionaryValues: new Uint8Array(maxLzwDictionarySize),
-      dictionaryLengths: new Uint16Array(maxLzwDictionarySize),
-      dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),
-      currentSequence: new Uint8Array(maxLzwDictionarySize),
-      currentSequenceLength: 0
-    };
-
-    for (var i = 0; i < 256; ++i) {
-      lzwState.dictionaryValues[i] = i;
-      lzwState.dictionaryLengths[i] = 1;
-    }
-
-    this.lzwState = lzwState;
-    DecodeStream.call(this, maybeLength);
-  }
-
-  LZWStream.prototype = Object.create(DecodeStream.prototype);
-
-  LZWStream.prototype.readBits = function LZWStream_readBits(n) {
-    var bitsCached = this.bitsCached;
-    var cachedData = this.cachedData;
-
-    while (bitsCached < n) {
-      var c = this.str.getByte();
-
-      if (c === -1) {
-        this.eof = true;
-        return null;
-      }
-
-      cachedData = cachedData << 8 | c;
-      bitsCached += 8;
-    }
-
-    this.bitsCached = bitsCached -= n;
-    this.cachedData = cachedData;
-    this.lastCode = null;
-    return cachedData >>> bitsCached & (1 << n) - 1;
-  };
-
-  LZWStream.prototype.readBlock = function LZWStream_readBlock() {
-    var blockSize = 512;
-    var estimatedDecodedSize = blockSize * 2,
-        decodedSizeDelta = blockSize;
-    var i, j, q;
-    var lzwState = this.lzwState;
-
-    if (!lzwState) {
-      return;
-    }
-
-    var earlyChange = lzwState.earlyChange;
-    var nextCode = lzwState.nextCode;
-    var dictionaryValues = lzwState.dictionaryValues;
-    var dictionaryLengths = lzwState.dictionaryLengths;
-    var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;
-    var codeLength = lzwState.codeLength;
-    var prevCode = lzwState.prevCode;
-    var currentSequence = lzwState.currentSequence;
-    var currentSequenceLength = lzwState.currentSequenceLength;
-    var decodedLength = 0;
-    var currentBufferLength = this.bufferLength;
-    var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);
-
-    for (i = 0; i < blockSize; i++) {
-      var code = this.readBits(codeLength);
-      var hasPrev = currentSequenceLength > 0;
-
-      if (code < 256) {
-        currentSequence[0] = code;
-        currentSequenceLength = 1;
-      } else if (code >= 258) {
-        if (code < nextCode) {
-          currentSequenceLength = dictionaryLengths[code];
-
-          for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {
-            currentSequence[j] = dictionaryValues[q];
-            q = dictionaryPrevCodes[q];
-          }
-        } else {
-          currentSequence[currentSequenceLength++] = currentSequence[0];
-        }
-      } else if (code === 256) {
-        codeLength = 9;
-        nextCode = 258;
-        currentSequenceLength = 0;
-        continue;
-      } else {
-        this.eof = true;
-        delete this.lzwState;
-        break;
-      }
-
-      if (hasPrev) {
-        dictionaryPrevCodes[nextCode] = prevCode;
-        dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;
-        dictionaryValues[nextCode] = currentSequence[0];
-        nextCode++;
-        codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;
-      }
-
-      prevCode = code;
-      decodedLength += currentSequenceLength;
-
-      if (estimatedDecodedSize < decodedLength) {
-        do {
-          estimatedDecodedSize += decodedSizeDelta;
-        } while (estimatedDecodedSize < decodedLength);
-
-        buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);
-      }
-
-      for (j = 0; j < currentSequenceLength; j++) {
-        buffer[currentBufferLength++] = currentSequence[j];
-      }
-    }
-
-    lzwState.nextCode = nextCode;
-    lzwState.codeLength = codeLength;
-    lzwState.prevCode = prevCode;
-    lzwState.currentSequenceLength = currentSequenceLength;
-    this.bufferLength = currentBufferLength;
-  };
-
-  return LZWStream;
-}();
-
-exports.LZWStream = LZWStream;
-
-var NullStream = function NullStreamClosure() {
-  function NullStream() {
-    Stream.call(this, new Uint8Array(0));
-  }
-
-  NullStream.prototype = Stream.prototype;
-  return NullStream;
-}();
-
-exports.NullStream = NullStream;
-
-/***/ }),
-/* 202 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.CCITTFaxStream = void 0;
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _ccitt = __w_pdfjs_require__(203);
-
-var _stream = __w_pdfjs_require__(201);
-
-var CCITTFaxStream = function CCITTFaxStreamClosure() {
-  function CCITTFaxStream(str, maybeLength, params) {
-    this.str = str;
-    this.dict = str.dict;
-
-    if (!(0, _primitives.isDict)(params)) {
-      params = _primitives.Dict.empty;
-    }
-
-    var source = {
-      next: function next() {
-        return str.getByte();
-      }
-    };
-    this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {
-      K: params.get("K"),
-      EndOfLine: params.get("EndOfLine"),
-      EncodedByteAlign: params.get("EncodedByteAlign"),
-      Columns: params.get("Columns"),
-      Rows: params.get("Rows"),
-      EndOfBlock: params.get("EndOfBlock"),
-      BlackIs1: params.get("BlackIs1")
-    });
-
-    _stream.DecodeStream.call(this, maybeLength);
-  }
-
-  CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);
-
-  CCITTFaxStream.prototype.readBlock = function () {
-    while (!this.eof) {
-      var c = this.ccittFaxDecoder.readNextChar();
-
-      if (c === -1) {
-        this.eof = true;
-        return;
-      }
-
-      this.ensureBuffer(this.bufferLength + 1);
-      this.buffer[this.bufferLength++] = c;
-    }
-  };
-
-  return CCITTFaxStream;
-}();
-
-exports.CCITTFaxStream = CCITTFaxStream;
-
-/***/ }),
-/* 203 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.CCITTFaxDecoder = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var CCITTFaxDecoder = function CCITTFaxDecoder() {
-  var ccittEOL = -2;
-  var ccittEOF = -1;
-  var twoDimPass = 0;
-  var twoDimHoriz = 1;
-  var twoDimVert0 = 2;
-  var twoDimVertR1 = 3;
-  var twoDimVertL1 = 4;
-  var twoDimVertR2 = 5;
-  var twoDimVertL2 = 6;
-  var twoDimVertR3 = 7;
-  var twoDimVertL3 = 8;
-  var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];
-  var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];
-  var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [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], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];
-  var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];
-  var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];
-  var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [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, 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]];
-
-  function CCITTFaxDecoder(source) {
-    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
-    if (!source || typeof source.next !== "function") {
-      throw new Error('CCITTFaxDecoder - invalid "source" parameter.');
-    }
-
-    this.source = source;
-    this.eof = false;
-    this.encoding = options["K"] || 0;
-    this.eoline = options["EndOfLine"] || false;
-    this.byteAlign = options["EncodedByteAlign"] || false;
-    this.columns = options["Columns"] || 1728;
-    this.rows = options["Rows"] || 0;
-    var eoblock = options["EndOfBlock"];
-
-    if (eoblock === null || eoblock === undefined) {
-      eoblock = true;
-    }
-
-    this.eoblock = eoblock;
-    this.black = options["BlackIs1"] || false;
-    this.codingLine = new Uint32Array(this.columns + 1);
-    this.refLine = new Uint32Array(this.columns + 2);
-    this.codingLine[0] = this.columns;
-    this.codingPos = 0;
-    this.row = 0;
-    this.nextLine2D = this.encoding < 0;
-    this.inputBits = 0;
-    this.inputBuf = 0;
-    this.outputBits = 0;
-    this.rowsDone = false;
-    var code1;
-
-    while ((code1 = this._lookBits(12)) === 0) {
-      this._eatBits(1);
-    }
-
-    if (code1 === 1) {
-      this._eatBits(12);
-    }
-
-    if (this.encoding > 0) {
-      this.nextLine2D = !this._lookBits(1);
-
-      this._eatBits(1);
-    }
-  }
-
-  CCITTFaxDecoder.prototype = {
-    readNextChar: function readNextChar() {
-      if (this.eof) {
-        return -1;
-      }
-
-      var refLine = this.refLine;
-      var codingLine = this.codingLine;
-      var columns = this.columns;
-      var refPos, blackPixels, bits, i;
-
-      if (this.outputBits === 0) {
-        if (this.rowsDone) {
-          this.eof = true;
-        }
-
-        if (this.eof) {
-          return -1;
-        }
-
-        this.err = false;
-        var code1, code2, code3;
-
-        if (this.nextLine2D) {
-          for (i = 0; codingLine[i] < columns; ++i) {
-            refLine[i] = codingLine[i];
-          }
-
-          refLine[i++] = columns;
-          refLine[i] = columns;
-          codingLine[0] = 0;
-          this.codingPos = 0;
-          refPos = 0;
-          blackPixels = 0;
-
-          while (codingLine[this.codingPos] < columns) {
-            code1 = this._getTwoDimCode();
-
-            switch (code1) {
-              case twoDimPass:
-                this._addPixels(refLine[refPos + 1], blackPixels);
-
-                if (refLine[refPos + 1] < columns) {
-                  refPos += 2;
-                }
-
-                break;
-
-              case twoDimHoriz:
-                code1 = code2 = 0;
-
-                if (blackPixels) {
-                  do {
-                    code1 += code3 = this._getBlackCode();
-                  } while (code3 >= 64);
-
-                  do {
-                    code2 += code3 = this._getWhiteCode();
-                  } while (code3 >= 64);
-                } else {
-                  do {
-                    code1 += code3 = this._getWhiteCode();
-                  } while (code3 >= 64);
-
-                  do {
-                    code2 += code3 = this._getBlackCode();
-                  } while (code3 >= 64);
-                }
-
-                this._addPixels(codingLine[this.codingPos] + code1, blackPixels);
-
-                if (codingLine[this.codingPos] < columns) {
-                  this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);
-                }
-
-                while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                  refPos += 2;
-                }
-
-                break;
-
-              case twoDimVertR3:
-                this._addPixels(refLine[refPos] + 3, blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  ++refPos;
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case twoDimVertR2:
-                this._addPixels(refLine[refPos] + 2, blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  ++refPos;
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case twoDimVertR1:
-                this._addPixels(refLine[refPos] + 1, blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  ++refPos;
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case twoDimVert0:
-                this._addPixels(refLine[refPos], blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  ++refPos;
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case twoDimVertL3:
-                this._addPixelsNeg(refLine[refPos] - 3, blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  if (refPos > 0) {
-                    --refPos;
-                  } else {
-                    ++refPos;
-                  }
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case twoDimVertL2:
-                this._addPixelsNeg(refLine[refPos] - 2, blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  if (refPos > 0) {
-                    --refPos;
-                  } else {
-                    ++refPos;
-                  }
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case twoDimVertL1:
-                this._addPixelsNeg(refLine[refPos] - 1, blackPixels);
-
-                blackPixels ^= 1;
-
-                if (codingLine[this.codingPos] < columns) {
-                  if (refPos > 0) {
-                    --refPos;
-                  } else {
-                    ++refPos;
-                  }
-
-                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {
-                    refPos += 2;
-                  }
-                }
-
-                break;
-
-              case ccittEOF:
-                this._addPixels(columns, 0);
-
-                this.eof = true;
-                break;
-
-              default:
-                (0, _util.info)("bad 2d code");
-
-                this._addPixels(columns, 0);
-
-                this.err = true;
-            }
-          }
-        } else {
-          codingLine[0] = 0;
-          this.codingPos = 0;
-          blackPixels = 0;
-
-          while (codingLine[this.codingPos] < columns) {
-            code1 = 0;
-
-            if (blackPixels) {
-              do {
-                code1 += code3 = this._getBlackCode();
-              } while (code3 >= 64);
-            } else {
-              do {
-                code1 += code3 = this._getWhiteCode();
-              } while (code3 >= 64);
-            }
-
-            this._addPixels(codingLine[this.codingPos] + code1, blackPixels);
-
-            blackPixels ^= 1;
-          }
-        }
-
-        var gotEOL = false;
-
-        if (this.byteAlign) {
-          this.inputBits &= ~7;
-        }
-
-        if (!this.eoblock && this.row === this.rows - 1) {
-          this.rowsDone = true;
-        } else {
-          code1 = this._lookBits(12);
-
-          if (this.eoline) {
-            while (code1 !== ccittEOF && code1 !== 1) {
-              this._eatBits(1);
-
-              code1 = this._lookBits(12);
-            }
-          } else {
-            while (code1 === 0) {
-              this._eatBits(1);
-
-              code1 = this._lookBits(12);
-            }
-          }
-
-          if (code1 === 1) {
-            this._eatBits(12);
-
-            gotEOL = true;
-          } else if (code1 === ccittEOF) {
-            this.eof = true;
-          }
-        }
-
-        if (!this.eof && this.encoding > 0 && !this.rowsDone) {
-          this.nextLine2D = !this._lookBits(1);
-
-          this._eatBits(1);
-        }
-
-        if (this.eoblock && gotEOL && this.byteAlign) {
-          code1 = this._lookBits(12);
-
-          if (code1 === 1) {
-            this._eatBits(12);
-
-            if (this.encoding > 0) {
-              this._lookBits(1);
-
-              this._eatBits(1);
-            }
-
-            if (this.encoding >= 0) {
-              for (i = 0; i < 4; ++i) {
-                code1 = this._lookBits(12);
-
-                if (code1 !== 1) {
-                  (0, _util.info)("bad rtc code: " + code1);
-                }
-
-                this._eatBits(12);
-
-                if (this.encoding > 0) {
-                  this._lookBits(1);
-
-                  this._eatBits(1);
-                }
-              }
-            }
-
-            this.eof = true;
-          }
-        } else if (this.err && this.eoline) {
-          while (true) {
-            code1 = this._lookBits(13);
-
-            if (code1 === ccittEOF) {
-              this.eof = true;
-              return -1;
-            }
-
-            if (code1 >> 1 === 1) {
-              break;
-            }
-
-            this._eatBits(1);
-          }
-
-          this._eatBits(12);
-
-          if (this.encoding > 0) {
-            this._eatBits(1);
-
-            this.nextLine2D = !(code1 & 1);
-          }
-        }
-
-        if (codingLine[0] > 0) {
-          this.outputBits = codingLine[this.codingPos = 0];
-        } else {
-          this.outputBits = codingLine[this.codingPos = 1];
-        }
-
-        this.row++;
-      }
-
-      var c;
-
-      if (this.outputBits >= 8) {
-        c = this.codingPos & 1 ? 0 : 0xff;
-        this.outputBits -= 8;
-
-        if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {
-          this.codingPos++;
-          this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];
-        }
-      } else {
-        bits = 8;
-        c = 0;
-
-        do {
-          if (this.outputBits > bits) {
-            c <<= bits;
-
-            if (!(this.codingPos & 1)) {
-              c |= 0xff >> 8 - bits;
-            }
-
-            this.outputBits -= bits;
-            bits = 0;
-          } else {
-            c <<= this.outputBits;
-
-            if (!(this.codingPos & 1)) {
-              c |= 0xff >> 8 - this.outputBits;
-            }
-
-            bits -= this.outputBits;
-            this.outputBits = 0;
-
-            if (codingLine[this.codingPos] < columns) {
-              this.codingPos++;
-              this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];
-            } else if (bits > 0) {
-              c <<= bits;
-              bits = 0;
-            }
-          }
-        } while (bits);
-      }
-
-      if (this.black) {
-        c ^= 0xff;
-      }
-
-      return c;
-    },
-    _addPixels: function _addPixels(a1, blackPixels) {
-      var codingLine = this.codingLine;
-      var codingPos = this.codingPos;
-
-      if (a1 > codingLine[codingPos]) {
-        if (a1 > this.columns) {
-          (0, _util.info)("row is wrong length");
-          this.err = true;
-          a1 = this.columns;
-        }
-
-        if (codingPos & 1 ^ blackPixels) {
-          ++codingPos;
-        }
-
-        codingLine[codingPos] = a1;
-      }
-
-      this.codingPos = codingPos;
-    },
-    _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {
-      var codingLine = this.codingLine;
-      var codingPos = this.codingPos;
-
-      if (a1 > codingLine[codingPos]) {
-        if (a1 > this.columns) {
-          (0, _util.info)("row is wrong length");
-          this.err = true;
-          a1 = this.columns;
-        }
-
-        if (codingPos & 1 ^ blackPixels) {
-          ++codingPos;
-        }
-
-        codingLine[codingPos] = a1;
-      } else if (a1 < codingLine[codingPos]) {
-        if (a1 < 0) {
-          (0, _util.info)("invalid code");
-          this.err = true;
-          a1 = 0;
-        }
-
-        while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {
-          --codingPos;
-        }
-
-        codingLine[codingPos] = a1;
-      }
-
-      this.codingPos = codingPos;
-    },
-    _findTableCode: function _findTableCode(start, end, table, limit) {
-      var limitValue = limit || 0;
-
-      for (var i = start; i <= end; ++i) {
-        var code = this._lookBits(i);
-
-        if (code === ccittEOF) {
-          return [true, 1, false];
-        }
-
-        if (i < end) {
-          code <<= end - i;
-        }
-
-        if (!limitValue || code >= limitValue) {
-          var p = table[code - limitValue];
-
-          if (p[0] === i) {
-            this._eatBits(i);
-
-            return [true, p[1], true];
-          }
-        }
-      }
-
-      return [false, 0, false];
-    },
-    _getTwoDimCode: function _getTwoDimCode() {
-      var code = 0;
-      var p;
-
-      if (this.eoblock) {
-        code = this._lookBits(7);
-        p = twoDimTable[code];
-
-        if (p && p[0] > 0) {
-          this._eatBits(p[0]);
-
-          return p[1];
-        }
-      } else {
-        var result = this._findTableCode(1, 7, twoDimTable);
-
-        if (result[0] && result[2]) {
-          return result[1];
-        }
-      }
-
-      (0, _util.info)("Bad two dim code");
-      return ccittEOF;
-    },
-    _getWhiteCode: function _getWhiteCode() {
-      var code = 0;
-      var p;
-
-      if (this.eoblock) {
-        code = this._lookBits(12);
-
-        if (code === ccittEOF) {
-          return 1;
-        }
-
-        if (code >> 5 === 0) {
-          p = whiteTable1[code];
-        } else {
-          p = whiteTable2[code >> 3];
-        }
-
-        if (p[0] > 0) {
-          this._eatBits(p[0]);
-
-          return p[1];
-        }
-      } else {
-        var result = this._findTableCode(1, 9, whiteTable2);
-
-        if (result[0]) {
-          return result[1];
-        }
-
-        result = this._findTableCode(11, 12, whiteTable1);
-
-        if (result[0]) {
-          return result[1];
-        }
-      }
-
-      (0, _util.info)("bad white code");
-
-      this._eatBits(1);
-
-      return 1;
-    },
-    _getBlackCode: function _getBlackCode() {
-      var code, p;
-
-      if (this.eoblock) {
-        code = this._lookBits(13);
-
-        if (code === ccittEOF) {
-          return 1;
-        }
-
-        if (code >> 7 === 0) {
-          p = blackTable1[code];
-        } else if (code >> 9 === 0 && code >> 7 !== 0) {
-          p = blackTable2[(code >> 1) - 64];
-        } else {
-          p = blackTable3[code >> 7];
-        }
-
-        if (p[0] > 0) {
-          this._eatBits(p[0]);
-
-          return p[1];
-        }
-      } else {
-        var result = this._findTableCode(2, 6, blackTable3);
-
-        if (result[0]) {
-          return result[1];
-        }
-
-        result = this._findTableCode(7, 12, blackTable2, 64);
-
-        if (result[0]) {
-          return result[1];
-        }
-
-        result = this._findTableCode(10, 13, blackTable1);
-
-        if (result[0]) {
-          return result[1];
-        }
-      }
-
-      (0, _util.info)("bad black code");
-
-      this._eatBits(1);
-
-      return 1;
-    },
-    _lookBits: function _lookBits(n) {
-      var c;
-
-      while (this.inputBits < n) {
-        if ((c = this.source.next()) === -1) {
-          if (this.inputBits === 0) {
-            return ccittEOF;
-          }
-
-          return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;
-        }
-
-        this.inputBuf = this.inputBuf << 8 | c;
-        this.inputBits += 8;
-      }
-
-      return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;
-    },
-    _eatBits: function _eatBits(n) {
-      if ((this.inputBits -= n) < 0) {
-        this.inputBits = 0;
-      }
-    }
-  };
-  return CCITTFaxDecoder;
-}();
-
-exports.CCITTFaxDecoder = CCITTFaxDecoder;
-
-/***/ }),
-/* 204 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Jbig2Stream = void 0;
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _stream = __w_pdfjs_require__(201);
-
-var _jbig = __w_pdfjs_require__(205);
-
-var _util = __w_pdfjs_require__(5);
-
-var Jbig2Stream = function Jbig2StreamClosure() {
-  function Jbig2Stream(stream, maybeLength, dict, params) {
-    this.stream = stream;
-    this.maybeLength = maybeLength;
-    this.dict = dict;
-    this.params = params;
-
-    _stream.DecodeStream.call(this, maybeLength);
-  }
-
-  Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);
-  Object.defineProperty(Jbig2Stream.prototype, "bytes", {
-    get: function get() {
-      return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
-    },
-    configurable: true
-  });
-
-  Jbig2Stream.prototype.ensureBuffer = function (requested) {};
-
-  Jbig2Stream.prototype.readBlock = function () {
-    if (this.eof) {
-      return;
-    }
-
-    var jbig2Image = new _jbig.Jbig2Image();
-    var chunks = [];
-
-    if ((0, _primitives.isDict)(this.params)) {
-      var globalsStream = this.params.get("JBIG2Globals");
-
-      if ((0, _primitives.isStream)(globalsStream)) {
-        var globals = globalsStream.getBytes();
-        chunks.push({
-          data: globals,
-          start: 0,
-          end: globals.length
-        });
-      }
-    }
-
-    chunks.push({
-      data: this.bytes,
-      start: 0,
-      end: this.bytes.length
-    });
-    var data = jbig2Image.parseChunks(chunks);
-    var dataLength = data.length;
-
-    for (var i = 0; i < dataLength; i++) {
-      data[i] ^= 0xff;
-    }
-
-    this.buffer = data;
-    this.bufferLength = dataLength;
-    this.eof = true;
-  };
-
-  return Jbig2Stream;
-}();
-
-exports.Jbig2Stream = Jbig2Stream;
-
-/***/ }),
-/* 205 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Jbig2Image = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _arithmetic_decoder = __w_pdfjs_require__(206);
-
-var _ccitt = __w_pdfjs_require__(203);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var Jbig2Error = /*#__PURE__*/function (_BaseException) {
-  _inherits(Jbig2Error, _BaseException);
-
-  function Jbig2Error(msg) {
-    _classCallCheck(this, Jbig2Error);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(Jbig2Error).call(this, "JBIG2 error: ".concat(msg)));
-  }
-
-  return Jbig2Error;
-}(_util.BaseException);
-
-var Jbig2Image = function Jbig2ImageClosure() {
-  function ContextCache() {}
-
-  ContextCache.prototype = {
-    getContexts: function getContexts(id) {
-      if (id in this) {
-        return this[id];
-      }
-
-      return this[id] = new Int8Array(1 << 16);
-    }
-  };
-
-  function DecodingContext(data, start, end) {
-    this.data = data;
-    this.start = start;
-    this.end = end;
-  }
-
-  DecodingContext.prototype = {
-    get decoder() {
-      var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);
-      return (0, _util.shadow)(this, "decoder", decoder);
-    },
-
-    get contextCache() {
-      var cache = new ContextCache();
-      return (0, _util.shadow)(this, "contextCache", cache);
-    }
-
-  };
-
-  function decodeInteger(contextCache, procedure, decoder) {
-    var contexts = contextCache.getContexts(procedure);
-    var prev = 1;
-
-    function readBits(length) {
-      var v = 0;
-
-      for (var i = 0; i < length; i++) {
-        var bit = decoder.readBit(contexts, prev);
-        prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;
-        v = v << 1 | bit;
-      }
-
-      return v >>> 0;
-    }
-
-    var sign = readBits(1);
-    var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);
-
-    if (sign === 0) {
-      return value;
-    } else if (value > 0) {
-      return -value;
-    }
-
-    return null;
-  }
-
-  function decodeIAID(contextCache, decoder, codeLength) {
-    var contexts = contextCache.getContexts("IAID");
-    var prev = 1;
-
-    for (var i = 0; i < codeLength; i++) {
-      var bit = decoder.readBit(contexts, prev);
-      prev = prev << 1 | bit;
-    }
-
-    if (codeLength < 31) {
-      return prev & (1 << codeLength) - 1;
-    }
-
-    return prev & 0x7fffffff;
-  }
-
-  var SegmentTypes = ["SymbolDictionary", null, null, null, "IntermediateTextRegion", null, "ImmediateTextRegion", "ImmediateLosslessTextRegion", null, null, null, null, null, null, null, null, "PatternDictionary", null, null, null, "IntermediateHalftoneRegion", null, "ImmediateHalftoneRegion", "ImmediateLosslessHalftoneRegion", null, null, null, null, null, null, null, null, null, null, null, null, "IntermediateGenericRegion", null, "ImmediateGenericRegion", "ImmediateLosslessGenericRegion", "IntermediateGenericRefinementRegion", null, "ImmediateGenericRefinementRegion", "ImmediateLosslessGenericRefinementRegion", null, null, null, null, "PageInformation", "EndOfPage", "EndOfStripe", "EndOfFile", "Profiles", "Tables", null, null, null, null, null, null, null, null, "Extension"];
-  var CodingTemplates = [[{
-    x: -1,
-    y: -2
-  }, {
-    x: 0,
-    y: -2
-  }, {
-    x: 1,
-    y: -2
-  }, {
-    x: -2,
-    y: -1
-  }, {
-    x: -1,
-    y: -1
-  }, {
-    x: 0,
-    y: -1
-  }, {
-    x: 1,
-    y: -1
-  }, {
-    x: 2,
-    y: -1
-  }, {
-    x: -4,
-    y: 0
-  }, {
-    x: -3,
-    y: 0
-  }, {
-    x: -2,
-    y: 0
-  }, {
-    x: -1,
-    y: 0
-  }], [{
-    x: -1,
-    y: -2
-  }, {
-    x: 0,
-    y: -2
-  }, {
-    x: 1,
-    y: -2
-  }, {
-    x: 2,
-    y: -2
-  }, {
-    x: -2,
-    y: -1
-  }, {
-    x: -1,
-    y: -1
-  }, {
-    x: 0,
-    y: -1
-  }, {
-    x: 1,
-    y: -1
-  }, {
-    x: 2,
-    y: -1
-  }, {
-    x: -3,
-    y: 0
-  }, {
-    x: -2,
-    y: 0
-  }, {
-    x: -1,
-    y: 0
-  }], [{
-    x: -1,
-    y: -2
-  }, {
-    x: 0,
-    y: -2
-  }, {
-    x: 1,
-    y: -2
-  }, {
-    x: -2,
-    y: -1
-  }, {
-    x: -1,
-    y: -1
-  }, {
-    x: 0,
-    y: -1
-  }, {
-    x: 1,
-    y: -1
-  }, {
-    x: -2,
-    y: 0
-  }, {
-    x: -1,
-    y: 0
-  }], [{
-    x: -3,
-    y: -1
-  }, {
-    x: -2,
-    y: -1
-  }, {
-    x: -1,
-    y: -1
-  }, {
-    x: 0,
-    y: -1
-  }, {
-    x: 1,
-    y: -1
-  }, {
-    x: -4,
-    y: 0
-  }, {
-    x: -3,
-    y: 0
-  }, {
-    x: -2,
-    y: 0
-  }, {
-    x: -1,
-    y: 0
-  }]];
-  var RefinementTemplates = [{
-    coding: [{
-      x: 0,
-      y: -1
-    }, {
-      x: 1,
-      y: -1
-    }, {
-      x: -1,
-      y: 0
-    }],
-    reference: [{
-      x: 0,
-      y: -1
-    }, {
-      x: 1,
-      y: -1
-    }, {
-      x: -1,
-      y: 0
-    }, {
-      x: 0,
-      y: 0
-    }, {
-      x: 1,
-      y: 0
-    }, {
-      x: -1,
-      y: 1
-    }, {
-      x: 0,
-      y: 1
-    }, {
-      x: 1,
-      y: 1
-    }]
-  }, {
-    coding: [{
-      x: -1,
-      y: -1
-    }, {
-      x: 0,
-      y: -1
-    }, {
-      x: 1,
-      y: -1
-    }, {
-      x: -1,
-      y: 0
-    }],
-    reference: [{
-      x: 0,
-      y: -1
-    }, {
-      x: -1,
-      y: 0
-    }, {
-      x: 0,
-      y: 0
-    }, {
-      x: 1,
-      y: 0
-    }, {
-      x: 0,
-      y: 1
-    }, {
-      x: 1,
-      y: 1
-    }]
-  }];
-  var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];
-  var RefinementReusedContexts = [0x0020, 0x0008];
-
-  function decodeBitmapTemplate0(width, height, decodingContext) {
-    var decoder = decodingContext.decoder;
-    var contexts = decodingContext.contextCache.getContexts("GB");
-    var contextLabel,
-        i,
-        j,
-        pixel,
-        row,
-        row1,
-        row2,
-        bitmap = [];
-    var OLD_PIXEL_MASK = 0x7bf7;
-
-    for (i = 0; i < height; i++) {
-      row = bitmap[i] = new Uint8Array(width);
-      row1 = i < 1 ? row : bitmap[i - 1];
-      row2 = i < 2 ? row : bitmap[i - 2];
-      contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;
-
-      for (j = 0; j < width; j++) {
-        row[j] = pixel = decoder.readBit(contexts, contextLabel);
-        contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;
-      }
-    }
-
-    return bitmap;
-  }
-
-  function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {
-    if (mmr) {
-      var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
-      return decodeMMRBitmap(input, width, height, false);
-    }
-
-    if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {
-      return decodeBitmapTemplate0(width, height, decodingContext);
-    }
-
-    var useskip = !!skip;
-    var template = CodingTemplates[templateIndex].concat(at);
-    template.sort(function (a, b) {
-      return a.y - b.y || a.x - b.x;
-    });
-    var templateLength = template.length;
-    var templateX = new Int8Array(templateLength);
-    var templateY = new Int8Array(templateLength);
-    var changingTemplateEntries = [];
-    var reuseMask = 0,
-        minX = 0,
-        maxX = 0,
-        minY = 0;
-    var c, k;
-
-    for (k = 0; k < templateLength; k++) {
-      templateX[k] = template[k].x;
-      templateY[k] = template[k].y;
-      minX = Math.min(minX, template[k].x);
-      maxX = Math.max(maxX, template[k].x);
-      minY = Math.min(minY, template[k].y);
-
-      if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {
-        reuseMask |= 1 << templateLength - 1 - k;
-      } else {
-        changingTemplateEntries.push(k);
-      }
-    }
-
-    var changingEntriesLength = changingTemplateEntries.length;
-    var changingTemplateX = new Int8Array(changingEntriesLength);
-    var changingTemplateY = new Int8Array(changingEntriesLength);
-    var changingTemplateBit = new Uint16Array(changingEntriesLength);
-
-    for (c = 0; c < changingEntriesLength; c++) {
-      k = changingTemplateEntries[c];
-      changingTemplateX[c] = template[k].x;
-      changingTemplateY[c] = template[k].y;
-      changingTemplateBit[c] = 1 << templateLength - 1 - k;
-    }
-
-    var sbb_left = -minX;
-    var sbb_top = -minY;
-    var sbb_right = width - maxX;
-    var pseudoPixelContext = ReusedContexts[templateIndex];
-    var row = new Uint8Array(width);
-    var bitmap = [];
-    var decoder = decodingContext.decoder;
-    var contexts = decodingContext.contextCache.getContexts("GB");
-    var ltp = 0,
-        j,
-        i0,
-        j0,
-        contextLabel = 0,
-        bit,
-        shift;
-
-    for (var i = 0; i < height; i++) {
-      if (prediction) {
-        var sltp = decoder.readBit(contexts, pseudoPixelContext);
-        ltp ^= sltp;
-
-        if (ltp) {
-          bitmap.push(row);
-          continue;
-        }
-      }
-
-      row = new Uint8Array(row);
-      bitmap.push(row);
-
-      for (j = 0; j < width; j++) {
-        if (useskip && skip[i][j]) {
-          row[j] = 0;
-          continue;
-        }
-
-        if (j >= sbb_left && j < sbb_right && i >= sbb_top) {
-          contextLabel = contextLabel << 1 & reuseMask;
-
-          for (k = 0; k < changingEntriesLength; k++) {
-            i0 = i + changingTemplateY[k];
-            j0 = j + changingTemplateX[k];
-            bit = bitmap[i0][j0];
-
-            if (bit) {
-              bit = changingTemplateBit[k];
-              contextLabel |= bit;
-            }
-          }
-        } else {
-          contextLabel = 0;
-          shift = templateLength - 1;
-
-          for (k = 0; k < templateLength; k++, shift--) {
-            j0 = j + templateX[k];
-
-            if (j0 >= 0 && j0 < width) {
-              i0 = i + templateY[k];
-
-              if (i0 >= 0) {
-                bit = bitmap[i0][j0];
-
-                if (bit) {
-                  contextLabel |= bit << shift;
-                }
-              }
-            }
-          }
-        }
-
-        var pixel = decoder.readBit(contexts, contextLabel);
-        row[j] = pixel;
-      }
-    }
-
-    return bitmap;
-  }
-
-  function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {
-    var codingTemplate = RefinementTemplates[templateIndex].coding;
-
-    if (templateIndex === 0) {
-      codingTemplate = codingTemplate.concat([at[0]]);
-    }
-
-    var codingTemplateLength = codingTemplate.length;
-    var codingTemplateX = new Int32Array(codingTemplateLength);
-    var codingTemplateY = new Int32Array(codingTemplateLength);
-    var k;
-
-    for (k = 0; k < codingTemplateLength; k++) {
-      codingTemplateX[k] = codingTemplate[k].x;
-      codingTemplateY[k] = codingTemplate[k].y;
-    }
-
-    var referenceTemplate = RefinementTemplates[templateIndex].reference;
-
-    if (templateIndex === 0) {
-      referenceTemplate = referenceTemplate.concat([at[1]]);
-    }
-
-    var referenceTemplateLength = referenceTemplate.length;
-    var referenceTemplateX = new Int32Array(referenceTemplateLength);
-    var referenceTemplateY = new Int32Array(referenceTemplateLength);
-
-    for (k = 0; k < referenceTemplateLength; k++) {
-      referenceTemplateX[k] = referenceTemplate[k].x;
-      referenceTemplateY[k] = referenceTemplate[k].y;
-    }
-
-    var referenceWidth = referenceBitmap[0].length;
-    var referenceHeight = referenceBitmap.length;
-    var pseudoPixelContext = RefinementReusedContexts[templateIndex];
-    var bitmap = [];
-    var decoder = decodingContext.decoder;
-    var contexts = decodingContext.contextCache.getContexts("GR");
-    var ltp = 0;
-
-    for (var i = 0; i < height; i++) {
-      if (prediction) {
-        var sltp = decoder.readBit(contexts, pseudoPixelContext);
-        ltp ^= sltp;
-
-        if (ltp) {
-          throw new Jbig2Error("prediction is not supported");
-        }
-      }
-
-      var row = new Uint8Array(width);
-      bitmap.push(row);
-
-      for (var j = 0; j < width; j++) {
-        var i0, j0;
-        var contextLabel = 0;
-
-        for (k = 0; k < codingTemplateLength; k++) {
-          i0 = i + codingTemplateY[k];
-          j0 = j + codingTemplateX[k];
-
-          if (i0 < 0 || j0 < 0 || j0 >= width) {
-            contextLabel <<= 1;
-          } else {
-            contextLabel = contextLabel << 1 | bitmap[i0][j0];
-          }
-        }
-
-        for (k = 0; k < referenceTemplateLength; k++) {
-          i0 = i + referenceTemplateY[k] - offsetY;
-          j0 = j + referenceTemplateX[k] - offsetX;
-
-          if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {
-            contextLabel <<= 1;
-          } else {
-            contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];
-          }
-        }
-
-        var pixel = decoder.readBit(contexts, contextLabel);
-        row[j] = pixel;
-      }
-    }
-
-    return bitmap;
-  }
-
-  function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {
-    if (huffman && refinement) {
-      throw new Jbig2Error("symbol refinement with Huffman is not supported");
-    }
-
-    var newSymbols = [];
-    var currentHeight = 0;
-    var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);
-    var decoder = decodingContext.decoder;
-    var contextCache = decodingContext.contextCache;
-    var tableB1, symbolWidths;
-
-    if (huffman) {
-      tableB1 = getStandardTable(1);
-      symbolWidths = [];
-      symbolCodeLength = Math.max(symbolCodeLength, 1);
-    }
-
-    while (newSymbols.length < numberOfNewSymbols) {
-      var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, "IADH", decoder);
-      currentHeight += deltaHeight;
-      var currentWidth = 0,
-          totalWidth = 0;
-      var firstSymbol = huffman ? symbolWidths.length : 0;
-
-      while (true) {
-        var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, "IADW", decoder);
-
-        if (deltaWidth === null) {
-          break;
-        }
-
-        currentWidth += deltaWidth;
-        totalWidth += currentWidth;
-        var bitmap;
-
-        if (refinement) {
-          var numberOfInstances = decodeInteger(contextCache, "IAAI", decoder);
-
-          if (numberOfInstances > 1) {
-            bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);
-          } else {
-            var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);
-            var rdx = decodeInteger(contextCache, "IARDX", decoder);
-            var rdy = decodeInteger(contextCache, "IARDY", decoder);
-            var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];
-            bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);
-          }
-
-          newSymbols.push(bitmap);
-        } else if (huffman) {
-          symbolWidths.push(currentWidth);
-        } else {
-          bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);
-          newSymbols.push(bitmap);
-        }
-      }
-
-      if (huffman && !refinement) {
-        var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);
-        huffmanInput.byteAlign();
-        var collectiveBitmap = void 0;
-
-        if (bitmapSize === 0) {
-          collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);
-        } else {
-          var originalEnd = huffmanInput.end;
-          var bitmapEnd = huffmanInput.position + bitmapSize;
-          huffmanInput.end = bitmapEnd;
-          collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);
-          huffmanInput.end = originalEnd;
-          huffmanInput.position = bitmapEnd;
-        }
-
-        var numberOfSymbolsDecoded = symbolWidths.length;
-
-        if (firstSymbol === numberOfSymbolsDecoded - 1) {
-          newSymbols.push(collectiveBitmap);
-        } else {
-          var _i = void 0,
-              y = void 0,
-              xMin = 0,
-              xMax = void 0,
-              bitmapWidth = void 0,
-              symbolBitmap = void 0;
-
-          for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {
-            bitmapWidth = symbolWidths[_i];
-            xMax = xMin + bitmapWidth;
-            symbolBitmap = [];
-
-            for (y = 0; y < currentHeight; y++) {
-              symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
-            }
-
-            newSymbols.push(symbolBitmap);
-            xMin = xMax;
-          }
-        }
-      }
-    }
-
-    var exportedSymbols = [];
-    var flags = [],
-        currentFlag = false;
-    var totalSymbolsLength = symbols.length + numberOfNewSymbols;
-
-    while (flags.length < totalSymbolsLength) {
-      var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, "IAEX", decoder);
-
-      while (runLength--) {
-        flags.push(currentFlag);
-      }
-
-      currentFlag = !currentFlag;
-    }
-
-    for (var i = 0, ii = symbols.length; i < ii; i++) {
-      if (flags[i]) {
-        exportedSymbols.push(symbols[i]);
-      }
-    }
-
-    for (var j = 0; j < numberOfNewSymbols; i++, j++) {
-      if (flags[i]) {
-        exportedSymbols.push(newSymbols[j]);
-      }
-    }
-
-    return exportedSymbols;
-  }
-
-  function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {
-    if (huffman && refinement) {
-      throw new Jbig2Error("refinement with Huffman is not supported");
-    }
-
-    var bitmap = [];
-    var i, row;
-
-    for (i = 0; i < height; i++) {
-      row = new Uint8Array(width);
-
-      if (defaultPixelValue) {
-        for (var j = 0; j < width; j++) {
-          row[j] = defaultPixelValue;
-        }
-      }
-
-      bitmap.push(row);
-    }
-
-    var decoder = decodingContext.decoder;
-    var contextCache = decodingContext.contextCache;
-    var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, "IADT", decoder);
-    var firstS = 0;
-    i = 0;
-
-    while (i < numberOfSymbolInstances) {
-      var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, "IADT", decoder);
-      stripT += deltaT;
-      var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, "IAFS", decoder);
-      firstS += deltaFirstS;
-      var currentS = firstS;
-
-      do {
-        var currentT = 0;
-
-        if (stripSize > 1) {
-          currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, "IAIT", decoder);
-        }
-
-        var t = stripSize * stripT + currentT;
-        var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);
-        var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, "IARI", decoder));
-        var symbolBitmap = inputSymbols[symbolId];
-        var symbolWidth = symbolBitmap[0].length;
-        var symbolHeight = symbolBitmap.length;
-
-        if (applyRefinement) {
-          var rdw = decodeInteger(contextCache, "IARDW", decoder);
-          var rdh = decodeInteger(contextCache, "IARDH", decoder);
-          var rdx = decodeInteger(contextCache, "IARDX", decoder);
-          var rdy = decodeInteger(contextCache, "IARDY", decoder);
-          symbolWidth += rdw;
-          symbolHeight += rdh;
-          symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);
-        }
-
-        var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);
-        var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);
-        var s2, t2, symbolRow;
-
-        if (transposed) {
-          for (s2 = 0; s2 < symbolHeight; s2++) {
-            row = bitmap[offsetS + s2];
-
-            if (!row) {
-              continue;
-            }
-
-            symbolRow = symbolBitmap[s2];
-            var maxWidth = Math.min(width - offsetT, symbolWidth);
-
-            switch (combinationOperator) {
-              case 0:
-                for (t2 = 0; t2 < maxWidth; t2++) {
-                  row[offsetT + t2] |= symbolRow[t2];
-                }
-
-                break;
-
-              case 2:
-                for (t2 = 0; t2 < maxWidth; t2++) {
-                  row[offsetT + t2] ^= symbolRow[t2];
-                }
-
-                break;
-
-              default:
-                throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
-            }
-          }
-
-          currentS += symbolHeight - 1;
-        } else {
-          for (t2 = 0; t2 < symbolHeight; t2++) {
-            row = bitmap[offsetT + t2];
-
-            if (!row) {
-              continue;
-            }
-
-            symbolRow = symbolBitmap[t2];
-
-            switch (combinationOperator) {
-              case 0:
-                for (s2 = 0; s2 < symbolWidth; s2++) {
-                  row[offsetS + s2] |= symbolRow[s2];
-                }
-
-                break;
-
-              case 2:
-                for (s2 = 0; s2 < symbolWidth; s2++) {
-                  row[offsetS + s2] ^= symbolRow[s2];
-                }
-
-                break;
-
-              default:
-                throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
-            }
-          }
-
-          currentS += symbolWidth - 1;
-        }
-
-        i++;
-        var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, "IADS", decoder);
-
-        if (deltaS === null) {
-          break;
-        }
-
-        currentS += deltaS + dsOffset;
-      } while (true);
-    }
-
-    return bitmap;
-  }
-
-  function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {
-    var at = [];
-
-    if (!mmr) {
-      at.push({
-        x: -patternWidth,
-        y: 0
-      });
-
-      if (template === 0) {
-        at.push({
-          x: -3,
-          y: -1
-        });
-        at.push({
-          x: 2,
-          y: -2
-        });
-        at.push({
-          x: -2,
-          y: -2
-        });
-      }
-    }
-
-    var collectiveWidth = (maxPatternIndex + 1) * patternWidth;
-    var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);
-    var patterns = [];
-
-    for (var i = 0; i <= maxPatternIndex; i++) {
-      var patternBitmap = [];
-      var xMin = patternWidth * i;
-      var xMax = xMin + patternWidth;
-
-      for (var y = 0; y < patternHeight; y++) {
-        patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));
-      }
-
-      patterns.push(patternBitmap);
-    }
-
-    return patterns;
-  }
-
-  function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {
-    var skip = null;
-
-    if (enableSkip) {
-      throw new Jbig2Error("skip is not supported");
-    }
-
-    if (combinationOperator !== 0) {
-      throw new Jbig2Error("operator " + combinationOperator + " is not supported in halftone region");
-    }
-
-    var regionBitmap = [];
-    var i, j, row;
-
-    for (i = 0; i < regionHeight; i++) {
-      row = new Uint8Array(regionWidth);
-
-      if (defaultPixelValue) {
-        for (j = 0; j < regionWidth; j++) {
-          row[j] = defaultPixelValue;
-        }
-      }
-
-      regionBitmap.push(row);
-    }
-
-    var numberOfPatterns = patterns.length;
-    var pattern0 = patterns[0];
-    var patternWidth = pattern0[0].length,
-        patternHeight = pattern0.length;
-    var bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);
-    var at = [];
-
-    if (!mmr) {
-      at.push({
-        x: template <= 1 ? 3 : 2,
-        y: -1
-      });
-
-      if (template === 0) {
-        at.push({
-          x: -3,
-          y: -1
-        });
-        at.push({
-          x: 2,
-          y: -2
-        });
-        at.push({
-          x: -2,
-          y: -2
-        });
-      }
-    }
-
-    var grayScaleBitPlanes = [];
-    var mmrInput, bitmap;
-
-    if (mmr) {
-      mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);
-    }
-
-    for (i = bitsPerValue - 1; i >= 0; i--) {
-      if (mmr) {
-        bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);
-      } else {
-        bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);
-      }
-
-      grayScaleBitPlanes[i] = bitmap;
-    }
-
-    var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;
-
-    for (mg = 0; mg < gridHeight; mg++) {
-      for (ng = 0; ng < gridWidth; ng++) {
-        bit = 0;
-        patternIndex = 0;
-
-        for (j = bitsPerValue - 1; j >= 0; j--) {
-          bit = grayScaleBitPlanes[j][mg][ng] ^ bit;
-          patternIndex |= bit << j;
-        }
-
-        patternBitmap = patterns[patternIndex];
-        x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;
-        y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;
-
-        if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {
-          for (i = 0; i < patternHeight; i++) {
-            regionRow = regionBitmap[y + i];
-            patternRow = patternBitmap[i];
-
-            for (j = 0; j < patternWidth; j++) {
-              regionRow[x + j] |= patternRow[j];
-            }
-          }
-        } else {
-          var regionX = void 0,
-              regionY = void 0;
-
-          for (i = 0; i < patternHeight; i++) {
-            regionY = y + i;
-
-            if (regionY < 0 || regionY >= regionHeight) {
-              continue;
-            }
-
-            regionRow = regionBitmap[regionY];
-            patternRow = patternBitmap[i];
-
-            for (j = 0; j < patternWidth; j++) {
-              regionX = x + j;
-
-              if (regionX >= 0 && regionX < regionWidth) {
-                regionRow[regionX] |= patternRow[j];
-              }
-            }
-          }
-        }
-      }
-    }
-
-    return regionBitmap;
-  }
-
-  function readSegmentHeader(data, start) {
-    var segmentHeader = {};
-    segmentHeader.number = (0, _core_utils.readUint32)(data, start);
-    var flags = data[start + 4];
-    var segmentType = flags & 0x3f;
-
-    if (!SegmentTypes[segmentType]) {
-      throw new Jbig2Error("invalid segment type: " + segmentType);
-    }
-
-    segmentHeader.type = segmentType;
-    segmentHeader.typeName = SegmentTypes[segmentType];
-    segmentHeader.deferredNonRetain = !!(flags & 0x80);
-    var pageAssociationFieldSize = !!(flags & 0x40);
-    var referredFlags = data[start + 5];
-    var referredToCount = referredFlags >> 5 & 7;
-    var retainBits = [referredFlags & 31];
-    var position = start + 6;
-
-    if (referredFlags === 7) {
-      referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;
-      position += 3;
-      var bytes = referredToCount + 7 >> 3;
-      retainBits[0] = data[position++];
-
-      while (--bytes > 0) {
-        retainBits.push(data[position++]);
-      }
-    } else if (referredFlags === 5 || referredFlags === 6) {
-      throw new Jbig2Error("invalid referred-to flags");
-    }
-
-    segmentHeader.retainBits = retainBits;
-    var referredToSegmentNumberSize = 4;
-
-    if (segmentHeader.number <= 256) {
-      referredToSegmentNumberSize = 1;
-    } else if (segmentHeader.number <= 65536) {
-      referredToSegmentNumberSize = 2;
-    }
-
-    var referredTo = [];
-    var i, ii;
-
-    for (i = 0; i < referredToCount; i++) {
-      var number = void 0;
-
-      if (referredToSegmentNumberSize === 1) {
-        number = data[position];
-      } else if (referredToSegmentNumberSize === 2) {
-        number = (0, _core_utils.readUint16)(data, position);
-      } else {
-        number = (0, _core_utils.readUint32)(data, position);
-      }
-
-      referredTo.push(number);
-      position += referredToSegmentNumberSize;
-    }
-
-    segmentHeader.referredTo = referredTo;
-
-    if (!pageAssociationFieldSize) {
-      segmentHeader.pageAssociation = data[position++];
-    } else {
-      segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);
-      position += 4;
-    }
-
-    segmentHeader.length = (0, _core_utils.readUint32)(data, position);
-    position += 4;
-
-    if (segmentHeader.length === 0xffffffff) {
-      if (segmentType === 38) {
-        var genericRegionInfo = readRegionSegmentInformation(data, position);
-        var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];
-        var genericRegionMmr = !!(genericRegionSegmentFlags & 1);
-        var searchPatternLength = 6;
-        var searchPattern = new Uint8Array(searchPatternLength);
-
-        if (!genericRegionMmr) {
-          searchPattern[0] = 0xff;
-          searchPattern[1] = 0xac;
-        }
-
-        searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;
-        searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;
-        searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;
-        searchPattern[5] = genericRegionInfo.height & 0xff;
-
-        for (i = position, ii = data.length; i < ii; i++) {
-          var j = 0;
-
-          while (j < searchPatternLength && searchPattern[j] === data[i + j]) {
-            j++;
-          }
-
-          if (j === searchPatternLength) {
-            segmentHeader.length = i + searchPatternLength;
-            break;
-          }
-        }
-
-        if (segmentHeader.length === 0xffffffff) {
-          throw new Jbig2Error("segment end was not found");
-        }
-      } else {
-        throw new Jbig2Error("invalid unknown segment length");
-      }
-    }
-
-    segmentHeader.headerEnd = position;
-    return segmentHeader;
-  }
-
-  function readSegments(header, data, start, end) {
-    var segments = [];
-    var position = start;
-
-    while (position < end) {
-      var segmentHeader = readSegmentHeader(data, position);
-      position = segmentHeader.headerEnd;
-      var segment = {
-        header: segmentHeader,
-        data: data
-      };
-
-      if (!header.randomAccess) {
-        segment.start = position;
-        position += segmentHeader.length;
-        segment.end = position;
-      }
-
-      segments.push(segment);
-
-      if (segmentHeader.type === 51) {
-        break;
-      }
-    }
-
-    if (header.randomAccess) {
-      for (var i = 0, ii = segments.length; i < ii; i++) {
-        segments[i].start = position;
-        position += segments[i].header.length;
-        segments[i].end = position;
-      }
-    }
-
-    return segments;
-  }
-
-  function readRegionSegmentInformation(data, start) {
-    return {
-      width: (0, _core_utils.readUint32)(data, start),
-      height: (0, _core_utils.readUint32)(data, start + 4),
-      x: (0, _core_utils.readUint32)(data, start + 8),
-      y: (0, _core_utils.readUint32)(data, start + 12),
-      combinationOperator: data[start + 16] & 7
-    };
-  }
-
-  var RegionSegmentInformationFieldLength = 17;
-
-  function processSegment(segment, visitor) {
-    var header = segment.header;
-    var data = segment.data,
-        position = segment.start,
-        end = segment.end;
-    var args, at, i, atLength;
-
-    switch (header.type) {
-      case 0:
-        var dictionary = {};
-        var dictionaryFlags = (0, _core_utils.readUint16)(data, position);
-        dictionary.huffman = !!(dictionaryFlags & 1);
-        dictionary.refinement = !!(dictionaryFlags & 2);
-        dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;
-        dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;
-        dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;
-        dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;
-        dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);
-        dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);
-        dictionary.template = dictionaryFlags >> 10 & 3;
-        dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;
-        position += 2;
-
-        if (!dictionary.huffman) {
-          atLength = dictionary.template === 0 ? 4 : 1;
-          at = [];
-
-          for (i = 0; i < atLength; i++) {
-            at.push({
-              x: (0, _core_utils.readInt8)(data, position),
-              y: (0, _core_utils.readInt8)(data, position + 1)
-            });
-            position += 2;
-          }
-
-          dictionary.at = at;
-        }
-
-        if (dictionary.refinement && !dictionary.refinementTemplate) {
-          at = [];
-
-          for (i = 0; i < 2; i++) {
-            at.push({
-              x: (0, _core_utils.readInt8)(data, position),
-              y: (0, _core_utils.readInt8)(data, position + 1)
-            });
-            position += 2;
-          }
-
-          dictionary.refinementAt = at;
-        }
-
-        dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);
-        position += 4;
-        dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);
-        position += 4;
-        args = [dictionary, header.number, header.referredTo, data, position, end];
-        break;
-
-      case 6:
-      case 7:
-        var textRegion = {};
-        textRegion.info = readRegionSegmentInformation(data, position);
-        position += RegionSegmentInformationFieldLength;
-        var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);
-        position += 2;
-        textRegion.huffman = !!(textRegionSegmentFlags & 1);
-        textRegion.refinement = !!(textRegionSegmentFlags & 2);
-        textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;
-        textRegion.stripSize = 1 << textRegion.logStripSize;
-        textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;
-        textRegion.transposed = !!(textRegionSegmentFlags & 64);
-        textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;
-        textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;
-        textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;
-        textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;
-
-        if (textRegion.huffman) {
-          var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);
-          position += 2;
-          textRegion.huffmanFS = textRegionHuffmanFlags & 3;
-          textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;
-          textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;
-          textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;
-          textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;
-          textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;
-          textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;
-          textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);
-        }
-
-        if (textRegion.refinement && !textRegion.refinementTemplate) {
-          at = [];
-
-          for (i = 0; i < 2; i++) {
-            at.push({
-              x: (0, _core_utils.readInt8)(data, position),
-              y: (0, _core_utils.readInt8)(data, position + 1)
-            });
-            position += 2;
-          }
-
-          textRegion.refinementAt = at;
-        }
-
-        textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);
-        position += 4;
-        args = [textRegion, header.referredTo, data, position, end];
-        break;
-
-      case 16:
-        var patternDictionary = {};
-        var patternDictionaryFlags = data[position++];
-        patternDictionary.mmr = !!(patternDictionaryFlags & 1);
-        patternDictionary.template = patternDictionaryFlags >> 1 & 3;
-        patternDictionary.patternWidth = data[position++];
-        patternDictionary.patternHeight = data[position++];
-        patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);
-        position += 4;
-        args = [patternDictionary, header.number, data, position, end];
-        break;
-
-      case 22:
-      case 23:
-        var halftoneRegion = {};
-        halftoneRegion.info = readRegionSegmentInformation(data, position);
-        position += RegionSegmentInformationFieldLength;
-        var halftoneRegionFlags = data[position++];
-        halftoneRegion.mmr = !!(halftoneRegionFlags & 1);
-        halftoneRegion.template = halftoneRegionFlags >> 1 & 3;
-        halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);
-        halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;
-        halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;
-        halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);
-        position += 4;
-        halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);
-        position += 4;
-        halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
-        position += 4;
-        halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;
-        position += 4;
-        halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);
-        position += 2;
-        halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);
-        position += 2;
-        args = [halftoneRegion, header.referredTo, data, position, end];
-        break;
-
-      case 38:
-      case 39:
-        var genericRegion = {};
-        genericRegion.info = readRegionSegmentInformation(data, position);
-        position += RegionSegmentInformationFieldLength;
-        var genericRegionSegmentFlags = data[position++];
-        genericRegion.mmr = !!(genericRegionSegmentFlags & 1);
-        genericRegion.template = genericRegionSegmentFlags >> 1 & 3;
-        genericRegion.prediction = !!(genericRegionSegmentFlags & 8);
-
-        if (!genericRegion.mmr) {
-          atLength = genericRegion.template === 0 ? 4 : 1;
-          at = [];
-
-          for (i = 0; i < atLength; i++) {
-            at.push({
-              x: (0, _core_utils.readInt8)(data, position),
-              y: (0, _core_utils.readInt8)(data, position + 1)
-            });
-            position += 2;
-          }
-
-          genericRegion.at = at;
-        }
-
-        args = [genericRegion, data, position, end];
-        break;
-
-      case 48:
-        var pageInfo = {
-          width: (0, _core_utils.readUint32)(data, position),
-          height: (0, _core_utils.readUint32)(data, position + 4),
-          resolutionX: (0, _core_utils.readUint32)(data, position + 8),
-          resolutionY: (0, _core_utils.readUint32)(data, position + 12)
-        };
-
-        if (pageInfo.height === 0xffffffff) {
-          delete pageInfo.height;
-        }
-
-        var pageSegmentFlags = data[position + 16];
-        (0, _core_utils.readUint16)(data, position + 17);
-        pageInfo.lossless = !!(pageSegmentFlags & 1);
-        pageInfo.refinement = !!(pageSegmentFlags & 2);
-        pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;
-        pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;
-        pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);
-        pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);
-        args = [pageInfo];
-        break;
-
-      case 49:
-        break;
-
-      case 50:
-        break;
-
-      case 51:
-        break;
-
-      case 53:
-        args = [header.number, data, position, end];
-        break;
-
-      case 62:
-        break;
-
-      default:
-        throw new Jbig2Error("segment type ".concat(header.typeName, "(").concat(header.type, ")") + " is not implemented");
-    }
-
-    var callbackName = "on" + header.typeName;
-
-    if (callbackName in visitor) {
-      visitor[callbackName].apply(visitor, args);
-    }
-  }
-
-  function processSegments(segments, visitor) {
-    for (var i = 0, ii = segments.length; i < ii; i++) {
-      processSegment(segments[i], visitor);
-    }
-  }
-
-  function parseJbig2Chunks(chunks) {
-    var visitor = new SimpleSegmentVisitor();
-
-    for (var i = 0, ii = chunks.length; i < ii; i++) {
-      var chunk = chunks[i];
-      var segments = readSegments({}, chunk.data, chunk.start, chunk.end);
-      processSegments(segments, visitor);
-    }
-
-    return visitor.buffer;
-  }
-
-  function parseJbig2(data) {
-    var end = data.length;
-    var position = 0;
-
-    if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {
-      throw new Jbig2Error("parseJbig2 - invalid header.");
-    }
-
-    var header = Object.create(null);
-    position += 8;
-    var flags = data[position++];
-    header.randomAccess = !(flags & 1);
-
-    if (!(flags & 2)) {
-      header.numberOfPages = (0, _core_utils.readUint32)(data, position);
-      position += 4;
-    }
-
-    var segments = readSegments(header, data, position, end);
-    var visitor = new SimpleSegmentVisitor();
-    processSegments(segments, visitor);
-    var _visitor$currentPageI = visitor.currentPageInfo,
-        width = _visitor$currentPageI.width,
-        height = _visitor$currentPageI.height;
-    var bitPacked = visitor.buffer;
-    var imgData = new Uint8ClampedArray(width * height);
-    var q = 0,
-        k = 0;
-
-    for (var i = 0; i < height; i++) {
-      var mask = 0,
-          buffer = void 0;
-
-      for (var j = 0; j < width; j++) {
-        if (!mask) {
-          mask = 128;
-          buffer = bitPacked[k++];
-        }
-
-        imgData[q++] = buffer & mask ? 0 : 255;
-        mask >>= 1;
-      }
-    }
-
-    return {
-      imgData: imgData,
-      width: width,
-      height: height
-    };
-  }
-
-  function SimpleSegmentVisitor() {}
-
-  SimpleSegmentVisitor.prototype = {
-    onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {
-      this.currentPageInfo = info;
-      var rowSize = info.width + 7 >> 3;
-      var buffer = new Uint8ClampedArray(rowSize * info.height);
-
-      if (info.defaultPixelValue) {
-        for (var i = 0, ii = buffer.length; i < ii; i++) {
-          buffer[i] = 0xff;
-        }
-      }
-
-      this.buffer = buffer;
-    },
-    drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {
-      var pageInfo = this.currentPageInfo;
-      var width = regionInfo.width,
-          height = regionInfo.height;
-      var rowSize = pageInfo.width + 7 >> 3;
-      var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;
-      var buffer = this.buffer;
-      var mask0 = 128 >> (regionInfo.x & 7);
-      var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);
-      var i, j, mask, offset;
-
-      switch (combinationOperator) {
-        case 0:
-          for (i = 0; i < height; i++) {
-            mask = mask0;
-            offset = offset0;
-
-            for (j = 0; j < width; j++) {
-              if (bitmap[i][j]) {
-                buffer[offset] |= mask;
-              }
-
-              mask >>= 1;
-
-              if (!mask) {
-                mask = 128;
-                offset++;
-              }
-            }
-
-            offset0 += rowSize;
-          }
-
-          break;
-
-        case 2:
-          for (i = 0; i < height; i++) {
-            mask = mask0;
-            offset = offset0;
-
-            for (j = 0; j < width; j++) {
-              if (bitmap[i][j]) {
-                buffer[offset] ^= mask;
-              }
-
-              mask >>= 1;
-
-              if (!mask) {
-                mask = 128;
-                offset++;
-              }
-            }
-
-            offset0 += rowSize;
-          }
-
-          break;
-
-        default:
-          throw new Jbig2Error("operator ".concat(combinationOperator, " is not supported"));
-      }
-    },
-    onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {
-      var regionInfo = region.info;
-      var decodingContext = new DecodingContext(data, start, end);
-      var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);
-      this.drawBitmap(regionInfo, bitmap);
-    },
-    onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {
-      this.onImmediateGenericRegion.apply(this, arguments);
-    },
-    onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {
-      var huffmanTables, huffmanInput;
-
-      if (dictionary.huffman) {
-        huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);
-        huffmanInput = new Reader(data, start, end);
-      }
-
-      var symbols = this.symbols;
-
-      if (!symbols) {
-        this.symbols = symbols = {};
-      }
-
-      var inputSymbols = [];
-
-      for (var i = 0, ii = referredSegments.length; i < ii; i++) {
-        var referredSymbols = symbols[referredSegments[i]];
-
-        if (referredSymbols) {
-          inputSymbols = inputSymbols.concat(referredSymbols);
-        }
-      }
-
-      var decodingContext = new DecodingContext(data, start, end);
-      symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);
-    },
-    onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {
-      var regionInfo = region.info;
-      var huffmanTables, huffmanInput;
-      var symbols = this.symbols;
-      var inputSymbols = [];
-
-      for (var i = 0, ii = referredSegments.length; i < ii; i++) {
-        var referredSymbols = symbols[referredSegments[i]];
-
-        if (referredSymbols) {
-          inputSymbols = inputSymbols.concat(referredSymbols);
-        }
-      }
-
-      var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);
-
-      if (region.huffman) {
-        huffmanInput = new Reader(data, start, end);
-        huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);
-      }
-
-      var decodingContext = new DecodingContext(data, start, end);
-      var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);
-      this.drawBitmap(regionInfo, bitmap);
-    },
-    onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {
-      this.onImmediateTextRegion.apply(this, arguments);
-    },
-    onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {
-      var patterns = this.patterns;
-
-      if (!patterns) {
-        this.patterns = patterns = {};
-      }
-
-      var decodingContext = new DecodingContext(data, start, end);
-      patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);
-    },
-    onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {
-      var patterns = this.patterns[referredSegments[0]];
-      var regionInfo = region.info;
-      var decodingContext = new DecodingContext(data, start, end);
-      var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);
-      this.drawBitmap(regionInfo, bitmap);
-    },
-    onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {
-      this.onImmediateHalftoneRegion.apply(this, arguments);
-    },
-    onTables: function onTables(currentSegment, data, start, end) {
-      var customTables = this.customTables;
-
-      if (!customTables) {
-        this.customTables = customTables = {};
-      }
-
-      customTables[currentSegment] = decodeTablesSegment(data, start, end);
-    }
-  };
-
-  function HuffmanLine(lineData) {
-    if (lineData.length === 2) {
-      this.isOOB = true;
-      this.rangeLow = 0;
-      this.prefixLength = lineData[0];
-      this.rangeLength = 0;
-      this.prefixCode = lineData[1];
-      this.isLowerRange = false;
-    } else {
-      this.isOOB = false;
-      this.rangeLow = lineData[0];
-      this.prefixLength = lineData[1];
-      this.rangeLength = lineData[2];
-      this.prefixCode = lineData[3];
-      this.isLowerRange = lineData[4] === "lower";
-    }
-  }
-
-  function HuffmanTreeNode(line) {
-    this.children = [];
-
-    if (line) {
-      this.isLeaf = true;
-      this.rangeLength = line.rangeLength;
-      this.rangeLow = line.rangeLow;
-      this.isLowerRange = line.isLowerRange;
-      this.isOOB = line.isOOB;
-    } else {
-      this.isLeaf = false;
-    }
-  }
-
-  HuffmanTreeNode.prototype = {
-    buildTree: function buildTree(line, shift) {
-      var bit = line.prefixCode >> shift & 1;
-
-      if (shift <= 0) {
-        this.children[bit] = new HuffmanTreeNode(line);
-      } else {
-        var node = this.children[bit];
-
-        if (!node) {
-          this.children[bit] = node = new HuffmanTreeNode(null);
-        }
-
-        node.buildTree(line, shift - 1);
-      }
-    },
-    decodeNode: function decodeNode(reader) {
-      if (this.isLeaf) {
-        if (this.isOOB) {
-          return null;
-        }
-
-        var htOffset = reader.readBits(this.rangeLength);
-        return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);
-      }
-
-      var node = this.children[reader.readBit()];
-
-      if (!node) {
-        throw new Jbig2Error("invalid Huffman data");
-      }
-
-      return node.decodeNode(reader);
-    }
-  };
-
-  function HuffmanTable(lines, prefixCodesDone) {
-    if (!prefixCodesDone) {
-      this.assignPrefixCodes(lines);
-    }
-
-    this.rootNode = new HuffmanTreeNode(null);
-
-    for (var i = 0, ii = lines.length; i < ii; i++) {
-      var line = lines[i];
-
-      if (line.prefixLength > 0) {
-        this.rootNode.buildTree(line, line.prefixLength - 1);
-      }
-    }
-  }
-
-  HuffmanTable.prototype = {
-    decode: function decode(reader) {
-      return this.rootNode.decodeNode(reader);
-    },
-    assignPrefixCodes: function assignPrefixCodes(lines) {
-      var linesLength = lines.length;
-      var prefixLengthMax = 0;
-
-      for (var i = 0; i < linesLength; i++) {
-        prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);
-      }
-
-      var histogram = new Uint32Array(prefixLengthMax + 1);
-
-      for (var _i2 = 0; _i2 < linesLength; _i2++) {
-        histogram[lines[_i2].prefixLength]++;
-      }
-
-      var currentLength = 1,
-          firstCode = 0,
-          currentCode,
-          currentTemp,
-          line;
-      histogram[0] = 0;
-
-      while (currentLength <= prefixLengthMax) {
-        firstCode = firstCode + histogram[currentLength - 1] << 1;
-        currentCode = firstCode;
-        currentTemp = 0;
-
-        while (currentTemp < linesLength) {
-          line = lines[currentTemp];
-
-          if (line.prefixLength === currentLength) {
-            line.prefixCode = currentCode;
-            currentCode++;
-          }
-
-          currentTemp++;
-        }
-
-        currentLength++;
-      }
-    }
-  };
-
-  function decodeTablesSegment(data, start, end) {
-    var flags = data[start];
-    var lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;
-    var highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;
-    var reader = new Reader(data, start + 9, end);
-    var prefixSizeBits = (flags >> 1 & 7) + 1;
-    var rangeSizeBits = (flags >> 4 & 7) + 1;
-    var lines = [];
-    var prefixLength,
-        rangeLength,
-        currentRangeLow = lowestValue;
-
-    do {
-      prefixLength = reader.readBits(prefixSizeBits);
-      rangeLength = reader.readBits(rangeSizeBits);
-      lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));
-      currentRangeLow += 1 << rangeLength;
-    } while (currentRangeLow < highestValue);
-
-    prefixLength = reader.readBits(prefixSizeBits);
-    lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, "lower"]));
-    prefixLength = reader.readBits(prefixSizeBits);
-    lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));
-
-    if (flags & 1) {
-      prefixLength = reader.readBits(prefixSizeBits);
-      lines.push(new HuffmanLine([prefixLength, 0]));
-    }
-
-    return new HuffmanTable(lines, false);
-  }
-
-  var standardTablesCache = {};
-
-  function getStandardTable(number) {
-    var table = standardTablesCache[number];
-
-    if (table) {
-      return table;
-    }
-
-    var lines;
-
-    switch (number) {
-      case 1:
-        lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];
-        break;
-
-      case 2:
-        lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];
-        break;
-
-      case 3:
-        lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, "lower"], [75, 7, 32, 0x7e], [6, 0x3e]];
-        break;
-
-      case 4:
-        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];
-        break;
-
-      case 5:
-        lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, "lower"], [76, 6, 32, 0x3e]];
-        break;
-
-      case 6:
-        lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, "lower"], [2048, 6, 32, 0x3f]];
-        break;
-
-      case 7:
-        lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, "lower"], [2048, 5, 32, 0x1f]];
-        break;
-
-      case 8:
-        lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, "lower"], [1670, 9, 32, 0x1ff], [2, 0x1]];
-        break;
-
-      case 9:
-        lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, "lower"], [3339, 9, 32, 0x1ff], [2, 0x0]];
-        break;
-
-      case 10:
-        lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, "lower"], [4166, 8, 32, 0xff], [2, 0x2]];
-        break;
-
-      case 11:
-        lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
-        break;
-
-      case 12:
-        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];
-        break;
-
-      case 13:
-        lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];
-        break;
-
-      case 14:
-        lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];
-        break;
-
-      case 15:
-        lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, "lower"], [25, 7, 32, 0x7f]];
-        break;
-
-      default:
-        throw new Jbig2Error("standard table B.".concat(number, " does not exist"));
-    }
-
-    for (var i = 0, ii = lines.length; i < ii; i++) {
-      lines[i] = new HuffmanLine(lines[i]);
-    }
-
-    table = new HuffmanTable(lines, true);
-    standardTablesCache[number] = table;
-    return table;
-  }
-
-  function Reader(data, start, end) {
-    this.data = data;
-    this.start = start;
-    this.end = end;
-    this.position = start;
-    this.shift = -1;
-    this.currentByte = 0;
-  }
-
-  Reader.prototype = {
-    readBit: function readBit() {
-      if (this.shift < 0) {
-        if (this.position >= this.end) {
-          throw new Jbig2Error("end of data while reading bit");
-        }
-
-        this.currentByte = this.data[this.position++];
-        this.shift = 7;
-      }
-
-      var bit = this.currentByte >> this.shift & 1;
-      this.shift--;
-      return bit;
-    },
-    readBits: function readBits(numBits) {
-      var result = 0,
-          i;
-
-      for (i = numBits - 1; i >= 0; i--) {
-        result |= this.readBit() << i;
-      }
-
-      return result;
-    },
-    byteAlign: function byteAlign() {
-      this.shift = -1;
-    },
-    next: function next() {
-      if (this.position >= this.end) {
-        return -1;
-      }
-
-      return this.data[this.position++];
-    }
-  };
-
-  function getCustomHuffmanTable(index, referredTo, customTables) {
-    var currentIndex = 0;
-
-    for (var i = 0, ii = referredTo.length; i < ii; i++) {
-      var table = customTables[referredTo[i]];
-
-      if (table) {
-        if (index === currentIndex) {
-          return table;
-        }
-
-        currentIndex++;
-      }
-    }
-
-    throw new Jbig2Error("can't find custom Huffman table");
-  }
-
-  function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {
-    var codes = [];
-
-    for (var i = 0; i <= 34; i++) {
-      var codeLength = reader.readBits(4);
-      codes.push(new HuffmanLine([i, codeLength, 0, 0]));
-    }
-
-    var runCodesTable = new HuffmanTable(codes, false);
-    codes.length = 0;
-
-    for (var _i3 = 0; _i3 < numberOfSymbols;) {
-      var _codeLength = runCodesTable.decode(reader);
-
-      if (_codeLength >= 32) {
-        var repeatedLength = void 0,
-            numberOfRepeats = void 0,
-            j = void 0;
-
-        switch (_codeLength) {
-          case 32:
-            if (_i3 === 0) {
-              throw new Jbig2Error("no previous value in symbol ID table");
-            }
-
-            numberOfRepeats = reader.readBits(2) + 3;
-            repeatedLength = codes[_i3 - 1].prefixLength;
-            break;
-
-          case 33:
-            numberOfRepeats = reader.readBits(3) + 3;
-            repeatedLength = 0;
-            break;
-
-          case 34:
-            numberOfRepeats = reader.readBits(7) + 11;
-            repeatedLength = 0;
-            break;
-
-          default:
-            throw new Jbig2Error("invalid code length in symbol ID table");
-        }
-
-        for (j = 0; j < numberOfRepeats; j++) {
-          codes.push(new HuffmanLine([_i3, repeatedLength, 0, 0]));
-          _i3++;
-        }
-      } else {
-        codes.push(new HuffmanLine([_i3, _codeLength, 0, 0]));
-        _i3++;
-      }
-    }
-
-    reader.byteAlign();
-    var symbolIDTable = new HuffmanTable(codes, false);
-    var customIndex = 0,
-        tableFirstS,
-        tableDeltaS,
-        tableDeltaT;
-
-    switch (textRegion.huffmanFS) {
-      case 0:
-      case 1:
-        tableFirstS = getStandardTable(textRegion.huffmanFS + 6);
-        break;
-
-      case 3:
-        tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);
-        customIndex++;
-        break;
-
-      default:
-        throw new Jbig2Error("invalid Huffman FS selector");
-    }
-
-    switch (textRegion.huffmanDS) {
-      case 0:
-      case 1:
-      case 2:
-        tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);
-        break;
-
-      case 3:
-        tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);
-        customIndex++;
-        break;
-
-      default:
-        throw new Jbig2Error("invalid Huffman DS selector");
-    }
-
-    switch (textRegion.huffmanDT) {
-      case 0:
-      case 1:
-      case 2:
-        tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);
-        break;
-
-      case 3:
-        tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);
-        customIndex++;
-        break;
-
-      default:
-        throw new Jbig2Error("invalid Huffman DT selector");
-    }
-
-    if (textRegion.refinement) {
-      throw new Jbig2Error("refinement with Huffman is not supported");
-    }
-
-    return {
-      symbolIDTable: symbolIDTable,
-      tableFirstS: tableFirstS,
-      tableDeltaS: tableDeltaS,
-      tableDeltaT: tableDeltaT
-    };
-  }
-
-  function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {
-    var customIndex = 0,
-        tableDeltaHeight,
-        tableDeltaWidth;
-
-    switch (dictionary.huffmanDHSelector) {
-      case 0:
-      case 1:
-        tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);
-        break;
-
-      case 3:
-        tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);
-        customIndex++;
-        break;
-
-      default:
-        throw new Jbig2Error("invalid Huffman DH selector");
-    }
-
-    switch (dictionary.huffmanDWSelector) {
-      case 0:
-      case 1:
-        tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);
-        break;
-
-      case 3:
-        tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);
-        customIndex++;
-        break;
-
-      default:
-        throw new Jbig2Error("invalid Huffman DW selector");
-    }
-
-    var tableBitmapSize, tableAggregateInstances;
-
-    if (dictionary.bitmapSizeSelector) {
-      tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);
-      customIndex++;
-    } else {
-      tableBitmapSize = getStandardTable(1);
-    }
-
-    if (dictionary.aggregationInstancesSelector) {
-      tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);
-    } else {
-      tableAggregateInstances = getStandardTable(1);
-    }
-
-    return {
-      tableDeltaHeight: tableDeltaHeight,
-      tableDeltaWidth: tableDeltaWidth,
-      tableBitmapSize: tableBitmapSize,
-      tableAggregateInstances: tableAggregateInstances
-    };
-  }
-
-  function readUncompressedBitmap(reader, width, height) {
-    var bitmap = [];
-
-    for (var y = 0; y < height; y++) {
-      var row = new Uint8Array(width);
-      bitmap.push(row);
-
-      for (var x = 0; x < width; x++) {
-        row[x] = reader.readBit();
-      }
-
-      reader.byteAlign();
-    }
-
-    return bitmap;
-  }
-
-  function decodeMMRBitmap(input, width, height, endOfBlock) {
-    var params = {
-      K: -1,
-      Columns: width,
-      Rows: height,
-      BlackIs1: true,
-      EndOfBlock: endOfBlock
-    };
-    var decoder = new _ccitt.CCITTFaxDecoder(input, params);
-    var bitmap = [];
-    var currentByte,
-        eof = false;
-
-    for (var y = 0; y < height; y++) {
-      var row = new Uint8Array(width);
-      bitmap.push(row);
-      var shift = -1;
-
-      for (var x = 0; x < width; x++) {
-        if (shift < 0) {
-          currentByte = decoder.readNextChar();
-
-          if (currentByte === -1) {
-            currentByte = 0;
-            eof = true;
-          }
-
-          shift = 7;
-        }
-
-        row[x] = currentByte >> shift & 1;
-        shift--;
-      }
-    }
-
-    if (endOfBlock && !eof) {
-      var lookForEOFLimit = 5;
-
-      for (var i = 0; i < lookForEOFLimit; i++) {
-        if (decoder.readNextChar() === -1) {
-          break;
-        }
-      }
-    }
-
-    return bitmap;
-  }
-
-  function Jbig2Image() {}
-
-  Jbig2Image.prototype = {
-    parseChunks: function parseChunks(chunks) {
-      return parseJbig2Chunks(chunks);
-    },
-    parse: function parse(data) {
-      var _parseJbig = parseJbig2(data),
-          imgData = _parseJbig.imgData,
-          width = _parseJbig.width,
-          height = _parseJbig.height;
-
-      this.width = width;
-      this.height = height;
-      return imgData;
-    }
-  };
-  return Jbig2Image;
-}();
-
-exports.Jbig2Image = Jbig2Image;
-
-/***/ }),
-/* 206 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.ArithmeticDecoder = void 0;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var QeTable = [{
-  qe: 0x5601,
-  nmps: 1,
-  nlps: 1,
-  switchFlag: 1
-}, {
-  qe: 0x3401,
-  nmps: 2,
-  nlps: 6,
-  switchFlag: 0
-}, {
-  qe: 0x1801,
-  nmps: 3,
-  nlps: 9,
-  switchFlag: 0
-}, {
-  qe: 0x0ac1,
-  nmps: 4,
-  nlps: 12,
-  switchFlag: 0
-}, {
-  qe: 0x0521,
-  nmps: 5,
-  nlps: 29,
-  switchFlag: 0
-}, {
-  qe: 0x0221,
-  nmps: 38,
-  nlps: 33,
-  switchFlag: 0
-}, {
-  qe: 0x5601,
-  nmps: 7,
-  nlps: 6,
-  switchFlag: 1
-}, {
-  qe: 0x5401,
-  nmps: 8,
-  nlps: 14,
-  switchFlag: 0
-}, {
-  qe: 0x4801,
-  nmps: 9,
-  nlps: 14,
-  switchFlag: 0
-}, {
-  qe: 0x3801,
-  nmps: 10,
-  nlps: 14,
-  switchFlag: 0
-}, {
-  qe: 0x3001,
-  nmps: 11,
-  nlps: 17,
-  switchFlag: 0
-}, {
-  qe: 0x2401,
-  nmps: 12,
-  nlps: 18,
-  switchFlag: 0
-}, {
-  qe: 0x1c01,
-  nmps: 13,
-  nlps: 20,
-  switchFlag: 0
-}, {
-  qe: 0x1601,
-  nmps: 29,
-  nlps: 21,
-  switchFlag: 0
-}, {
-  qe: 0x5601,
-  nmps: 15,
-  nlps: 14,
-  switchFlag: 1
-}, {
-  qe: 0x5401,
-  nmps: 16,
-  nlps: 14,
-  switchFlag: 0
-}, {
-  qe: 0x5101,
-  nmps: 17,
-  nlps: 15,
-  switchFlag: 0
-}, {
-  qe: 0x4801,
-  nmps: 18,
-  nlps: 16,
-  switchFlag: 0
-}, {
-  qe: 0x3801,
-  nmps: 19,
-  nlps: 17,
-  switchFlag: 0
-}, {
-  qe: 0x3401,
-  nmps: 20,
-  nlps: 18,
-  switchFlag: 0
-}, {
-  qe: 0x3001,
-  nmps: 21,
-  nlps: 19,
-  switchFlag: 0
-}, {
-  qe: 0x2801,
-  nmps: 22,
-  nlps: 19,
-  switchFlag: 0
-}, {
-  qe: 0x2401,
-  nmps: 23,
-  nlps: 20,
-  switchFlag: 0
-}, {
-  qe: 0x2201,
-  nmps: 24,
-  nlps: 21,
-  switchFlag: 0
-}, {
-  qe: 0x1c01,
-  nmps: 25,
-  nlps: 22,
-  switchFlag: 0
-}, {
-  qe: 0x1801,
-  nmps: 26,
-  nlps: 23,
-  switchFlag: 0
-}, {
-  qe: 0x1601,
-  nmps: 27,
-  nlps: 24,
-  switchFlag: 0
-}, {
-  qe: 0x1401,
-  nmps: 28,
-  nlps: 25,
-  switchFlag: 0
-}, {
-  qe: 0x1201,
-  nmps: 29,
-  nlps: 26,
-  switchFlag: 0
-}, {
-  qe: 0x1101,
-  nmps: 30,
-  nlps: 27,
-  switchFlag: 0
-}, {
-  qe: 0x0ac1,
-  nmps: 31,
-  nlps: 28,
-  switchFlag: 0
-}, {
-  qe: 0x09c1,
-  nmps: 32,
-  nlps: 29,
-  switchFlag: 0
-}, {
-  qe: 0x08a1,
-  nmps: 33,
-  nlps: 30,
-  switchFlag: 0
-}, {
-  qe: 0x0521,
-  nmps: 34,
-  nlps: 31,
-  switchFlag: 0
-}, {
-  qe: 0x0441,
-  nmps: 35,
-  nlps: 32,
-  switchFlag: 0
-}, {
-  qe: 0x02a1,
-  nmps: 36,
-  nlps: 33,
-  switchFlag: 0
-}, {
-  qe: 0x0221,
-  nmps: 37,
-  nlps: 34,
-  switchFlag: 0
-}, {
-  qe: 0x0141,
-  nmps: 38,
-  nlps: 35,
-  switchFlag: 0
-}, {
-  qe: 0x0111,
-  nmps: 39,
-  nlps: 36,
-  switchFlag: 0
-}, {
-  qe: 0x0085,
-  nmps: 40,
-  nlps: 37,
-  switchFlag: 0
-}, {
-  qe: 0x0049,
-  nmps: 41,
-  nlps: 38,
-  switchFlag: 0
-}, {
-  qe: 0x0025,
-  nmps: 42,
-  nlps: 39,
-  switchFlag: 0
-}, {
-  qe: 0x0015,
-  nmps: 43,
-  nlps: 40,
-  switchFlag: 0
-}, {
-  qe: 0x0009,
-  nmps: 44,
-  nlps: 41,
-  switchFlag: 0
-}, {
-  qe: 0x0005,
-  nmps: 45,
-  nlps: 42,
-  switchFlag: 0
-}, {
-  qe: 0x0001,
-  nmps: 45,
-  nlps: 43,
-  switchFlag: 0
-}, {
-  qe: 0x5601,
-  nmps: 46,
-  nlps: 46,
-  switchFlag: 0
-}];
-
-var ArithmeticDecoder = /*#__PURE__*/function () {
-  function ArithmeticDecoder(data, start, end) {
-    _classCallCheck(this, ArithmeticDecoder);
-
-    this.data = data;
-    this.bp = start;
-    this.dataEnd = end;
-    this.chigh = data[start];
-    this.clow = 0;
-    this.byteIn();
-    this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;
-    this.clow = this.clow << 7 & 0xffff;
-    this.ct -= 7;
-    this.a = 0x8000;
-  }
-
-  _createClass(ArithmeticDecoder, [{
-    key: "byteIn",
-    value: function byteIn() {
-      var data = this.data;
-      var bp = this.bp;
-
-      if (data[bp] === 0xff) {
-        if (data[bp + 1] > 0x8f) {
-          this.clow += 0xff00;
-          this.ct = 8;
-        } else {
-          bp++;
-          this.clow += data[bp] << 9;
-          this.ct = 7;
-          this.bp = bp;
-        }
-      } else {
-        bp++;
-        this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;
-        this.ct = 8;
-        this.bp = bp;
-      }
-
-      if (this.clow > 0xffff) {
-        this.chigh += this.clow >> 16;
-        this.clow &= 0xffff;
-      }
-    }
-  }, {
-    key: "readBit",
-    value: function readBit(contexts, pos) {
-      var cx_index = contexts[pos] >> 1,
-          cx_mps = contexts[pos] & 1;
-      var qeTableIcx = QeTable[cx_index];
-      var qeIcx = qeTableIcx.qe;
-      var d;
-      var a = this.a - qeIcx;
-
-      if (this.chigh < qeIcx) {
-        if (a < qeIcx) {
-          a = qeIcx;
-          d = cx_mps;
-          cx_index = qeTableIcx.nmps;
-        } else {
-          a = qeIcx;
-          d = 1 ^ cx_mps;
-
-          if (qeTableIcx.switchFlag === 1) {
-            cx_mps = d;
-          }
-
-          cx_index = qeTableIcx.nlps;
-        }
-      } else {
-        this.chigh -= qeIcx;
-
-        if ((a & 0x8000) !== 0) {
-          this.a = a;
-          return cx_mps;
-        }
-
-        if (a < qeIcx) {
-          d = 1 ^ cx_mps;
-
-          if (qeTableIcx.switchFlag === 1) {
-            cx_mps = d;
-          }
-
-          cx_index = qeTableIcx.nlps;
-        } else {
-          d = cx_mps;
-          cx_index = qeTableIcx.nmps;
-        }
-      }
-
-      do {
-        if (this.ct === 0) {
-          this.byteIn();
-        }
-
-        a <<= 1;
-        this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;
-        this.clow = this.clow << 1 & 0xffff;
-        this.ct--;
-      } while ((a & 0x8000) === 0);
-
-      this.a = a;
-      contexts[pos] = cx_index << 1 | cx_mps;
-      return d;
-    }
-  }]);
-
-  return ArithmeticDecoder;
-}();
-
-exports.ArithmeticDecoder = ArithmeticDecoder;
-
-/***/ }),
-/* 207 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.JpegStream = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _stream = __w_pdfjs_require__(201);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _jpg = __w_pdfjs_require__(208);
-
-var JpegStream = function JpegStreamClosure() {
-  function JpegStream(stream, maybeLength, dict, params) {
-    var ch;
-
-    while ((ch = stream.getByte()) !== -1) {
-      if (ch === 0xff) {
-        stream.skip(-1);
-        break;
-      }
-    }
-
-    this.stream = stream;
-    this.maybeLength = maybeLength;
-    this.dict = dict;
-    this.params = params;
-
-    _stream.DecodeStream.call(this, maybeLength);
-  }
-
-  JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);
-  Object.defineProperty(JpegStream.prototype, "bytes", {
-    get: function JpegStream_bytes() {
-      return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
-    },
-    configurable: true
-  });
-
-  JpegStream.prototype.ensureBuffer = function (requested) {};
-
-  JpegStream.prototype.readBlock = function () {
-    if (this.eof) {
-      return;
-    }
-
-    var jpegOptions = {
-      decodeTransform: undefined,
-      colorTransform: undefined
-    };
-    var decodeArr = this.dict.getArray("Decode", "D");
-
-    if (this.forceRGB && Array.isArray(decodeArr)) {
-      var bitsPerComponent = this.dict.get("BitsPerComponent") || 8;
-      var decodeArrLength = decodeArr.length;
-      var transform = new Int32Array(decodeArrLength);
-      var transformNeeded = false;
-      var maxValue = (1 << bitsPerComponent) - 1;
-
-      for (var i = 0; i < decodeArrLength; i += 2) {
-        transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;
-        transform[i + 1] = decodeArr[i] * maxValue | 0;
-
-        if (transform[i] !== 256 || transform[i + 1] !== 0) {
-          transformNeeded = true;
-        }
-      }
-
-      if (transformNeeded) {
-        jpegOptions.decodeTransform = transform;
-      }
-    }
-
-    if ((0, _primitives.isDict)(this.params)) {
-      var colorTransform = this.params.get("ColorTransform");
-
-      if (Number.isInteger(colorTransform)) {
-        jpegOptions.colorTransform = colorTransform;
-      }
-    }
-
-    var jpegImage = new _jpg.JpegImage(jpegOptions);
-    jpegImage.parse(this.bytes);
-    var data = jpegImage.getData({
-      width: this.drawWidth,
-      height: this.drawHeight,
-      forceRGB: this.forceRGB,
-      isSourcePDF: true
-    });
-    this.buffer = data;
-    this.bufferLength = data.length;
-    this.eof = true;
-  };
-
-  Object.defineProperty(JpegStream.prototype, "maybeValidDimensions", {
-    get: function JpegStream_maybeValidDimensions() {
-      var dict = this.dict,
-          stream = this.stream;
-      var dictHeight = dict.get("Height", "H");
-      var startPos = stream.pos;
-      var validDimensions = true,
-          foundSOF = false,
-          b;
-
-      while ((b = stream.getByte()) !== -1) {
-        if (b !== 0xff) {
-          continue;
-        }
-
-        switch (stream.getByte()) {
-          case 0xc0:
-          case 0xc1:
-          case 0xc2:
-            foundSOF = true;
-            stream.pos += 2;
-            stream.pos += 1;
-            var scanLines = stream.getUint16();
-
-            if (scanLines === dictHeight) {
-              break;
-            }
-
-            if (scanLines === 0) {
-              validDimensions = false;
-              break;
-            }
-
-            if (scanLines > dictHeight * 10) {
-              validDimensions = false;
-              break;
-            }
-
-            break;
-
-          case 0xc3:
-          case 0xc5:
-          case 0xc6:
-          case 0xc7:
-          case 0xc9:
-          case 0xca:
-          case 0xcb:
-          case 0xcd:
-          case 0xce:
-          case 0xcf:
-            foundSOF = true;
-            break;
-
-          case 0xc4:
-          case 0xcc:
-          case 0xda:
-          case 0xdb:
-          case 0xdc:
-          case 0xdd:
-          case 0xde:
-          case 0xdf:
-          case 0xe0:
-          case 0xe1:
-          case 0xe2:
-          case 0xe3:
-          case 0xe4:
-          case 0xe5:
-          case 0xe6:
-          case 0xe7:
-          case 0xe8:
-          case 0xe9:
-          case 0xea:
-          case 0xeb:
-          case 0xec:
-          case 0xed:
-          case 0xee:
-          case 0xef:
-          case 0xfe:
-            var markerLength = stream.getUint16();
-
-            if (markerLength > 2) {
-              stream.skip(markerLength - 2);
-            } else {
-              stream.skip(-2);
-            }
-
-            break;
-
-          case 0xff:
-            stream.skip(-1);
-            break;
-
-          case 0xd9:
-            foundSOF = true;
-            break;
-        }
-
-        if (foundSOF) {
-          break;
-        }
-      }
-
-      stream.pos = startPos;
-      return (0, _util.shadow)(this, "maybeValidDimensions", validDimensions);
-    },
-    configurable: true
-  });
-
-  JpegStream.prototype.getIR = function () {
-    var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-    return (0, _util.createObjectURL)(this.bytes, "image/jpeg", forceDataSchema);
-  };
-
-  return JpegStream;
-}();
-
-exports.JpegStream = JpegStream;
-
-/***/ }),
-/* 208 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.JpegImage = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var JpegError = /*#__PURE__*/function (_BaseException) {
-  _inherits(JpegError, _BaseException);
-
-  function JpegError(msg) {
-    _classCallCheck(this, JpegError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(JpegError).call(this, "JPEG error: ".concat(msg)));
-  }
-
-  return JpegError;
-}(_util.BaseException);
-
-var DNLMarkerError = /*#__PURE__*/function (_BaseException2) {
-  _inherits(DNLMarkerError, _BaseException2);
-
-  function DNLMarkerError(message, scanLines) {
-    var _this;
-
-    _classCallCheck(this, DNLMarkerError);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(DNLMarkerError).call(this, message));
-    _this.scanLines = scanLines;
-    return _this;
-  }
-
-  return DNLMarkerError;
-}(_util.BaseException);
-
-var EOIMarkerError = /*#__PURE__*/function (_BaseException3) {
-  _inherits(EOIMarkerError, _BaseException3);
-
-  function EOIMarkerError() {
-    _classCallCheck(this, EOIMarkerError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(EOIMarkerError).apply(this, arguments));
-  }
-
-  return EOIMarkerError;
-}(_util.BaseException);
-
-var JpegImage = function JpegImageClosure() {
-  var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);
-  var dctCos1 = 4017;
-  var dctSin1 = 799;
-  var dctCos3 = 3406;
-  var dctSin3 = 2276;
-  var dctCos6 = 1567;
-  var dctSin6 = 3784;
-  var dctSqrt2 = 5793;
-  var dctSqrt1d2 = 2896;
-
-  function JpegImage() {
-    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-        _ref$decodeTransform = _ref.decodeTransform,
-        decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,
-        _ref$colorTransform = _ref.colorTransform,
-        colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;
-
-    this._decodeTransform = decodeTransform;
-    this._colorTransform = colorTransform;
-  }
-
-  function buildHuffmanTable(codeLengths, values) {
-    var k = 0,
-        code = [],
-        i,
-        j,
-        length = 16;
-
-    while (length > 0 && !codeLengths[length - 1]) {
-      length--;
-    }
-
-    code.push({
-      children: [],
-      index: 0
-    });
-    var p = code[0],
-        q;
-
-    for (i = 0; i < length; i++) {
-      for (j = 0; j < codeLengths[i]; j++) {
-        p = code.pop();
-        p.children[p.index] = values[k];
-
-        while (p.index > 0) {
-          p = code.pop();
-        }
-
-        p.index++;
-        code.push(p);
-
-        while (code.length <= i) {
-          code.push(q = {
-            children: [],
-            index: 0
-          });
-          p.children[p.index] = q.children;
-          p = q;
-        }
-
-        k++;
-      }
-
-      if (i + 1 < length) {
-        code.push(q = {
-          children: [],
-          index: 0
-        });
-        p.children[p.index] = q.children;
-        p = q;
-      }
-    }
-
-    return code[0].children;
-  }
-
-  function getBlockBufferOffset(component, row, col) {
-    return 64 * ((component.blocksPerLine + 1) * row + col);
-  }
-
-  function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {
-    var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
-    var mcusPerLine = frame.mcusPerLine;
-    var progressive = frame.progressive;
-    var startOffset = offset,
-        bitsData = 0,
-        bitsCount = 0;
-
-    function readBit() {
-      if (bitsCount > 0) {
-        bitsCount--;
-        return bitsData >> bitsCount & 1;
-      }
-
-      bitsData = data[offset++];
-
-      if (bitsData === 0xff) {
-        var nextByte = data[offset++];
-
-        if (nextByte) {
-          if (nextByte === 0xdc && parseDNLMarker) {
-            offset += 2;
-            var scanLines = (0, _core_utils.readUint16)(data, offset);
-            offset += 2;
-
-            if (scanLines > 0 && scanLines !== frame.scanLines) {
-              throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data", scanLines);
-            }
-          } else if (nextByte === 0xd9) {
-            if (parseDNLMarker) {
-              var maybeScanLines = blockRow * 8;
-
-              if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) {
-                throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, " + "possibly caused by incorrect `scanLines` parameter", maybeScanLines);
-              }
-            }
-
-            throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data");
-          }
-
-          throw new JpegError("unexpected marker ".concat((bitsData << 8 | nextByte).toString(16)));
-        }
-      }
-
-      bitsCount = 7;
-      return bitsData >>> 7;
-    }
-
-    function decodeHuffman(tree) {
-      var node = tree;
-
-      while (true) {
-        node = node[readBit()];
-
-        switch (_typeof(node)) {
-          case "number":
-            return node;
-
-          case "object":
-            continue;
-        }
-
-        throw new JpegError("invalid huffman sequence");
-      }
-    }
-
-    function receive(length) {
-      var n = 0;
-
-      while (length > 0) {
-        n = n << 1 | readBit();
-        length--;
-      }
-
-      return n;
-    }
-
-    function receiveAndExtend(length) {
-      if (length === 1) {
-        return readBit() === 1 ? 1 : -1;
-      }
-
-      var n = receive(length);
-
-      if (n >= 1 << length - 1) {
-        return n;
-      }
-
-      return n + (-1 << length) + 1;
-    }
-
-    function decodeBaseline(component, offset) {
-      var t = decodeHuffman(component.huffmanTableDC);
-      var diff = t === 0 ? 0 : receiveAndExtend(t);
-      component.blockData[offset] = component.pred += diff;
-      var k = 1;
-
-      while (k < 64) {
-        var rs = decodeHuffman(component.huffmanTableAC);
-        var s = rs & 15,
-            r = rs >> 4;
-
-        if (s === 0) {
-          if (r < 15) {
-            break;
-          }
-
-          k += 16;
-          continue;
-        }
-
-        k += r;
-        var z = dctZigZag[k];
-        component.blockData[offset + z] = receiveAndExtend(s);
-        k++;
-      }
-    }
-
-    function decodeDCFirst(component, offset) {
-      var t = decodeHuffman(component.huffmanTableDC);
-      var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;
-      component.blockData[offset] = component.pred += diff;
-    }
-
-    function decodeDCSuccessive(component, offset) {
-      component.blockData[offset] |= readBit() << successive;
-    }
-
-    var eobrun = 0;
-
-    function decodeACFirst(component, offset) {
-      if (eobrun > 0) {
-        eobrun--;
-        return;
-      }
-
-      var k = spectralStart,
-          e = spectralEnd;
-
-      while (k <= e) {
-        var rs = decodeHuffman(component.huffmanTableAC);
-        var s = rs & 15,
-            r = rs >> 4;
-
-        if (s === 0) {
-          if (r < 15) {
-            eobrun = receive(r) + (1 << r) - 1;
-            break;
-          }
-
-          k += 16;
-          continue;
-        }
-
-        k += r;
-        var z = dctZigZag[k];
-        component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);
-        k++;
-      }
-    }
-
-    var successiveACState = 0,
-        successiveACNextValue;
-
-    function decodeACSuccessive(component, offset) {
-      var k = spectralStart;
-      var e = spectralEnd;
-      var r = 0;
-      var s;
-      var rs;
-
-      while (k <= e) {
-        var offsetZ = offset + dctZigZag[k];
-        var sign = component.blockData[offsetZ] < 0 ? -1 : 1;
-
-        switch (successiveACState) {
-          case 0:
-            rs = decodeHuffman(component.huffmanTableAC);
-            s = rs & 15;
-            r = rs >> 4;
-
-            if (s === 0) {
-              if (r < 15) {
-                eobrun = receive(r) + (1 << r);
-                successiveACState = 4;
-              } else {
-                r = 16;
-                successiveACState = 1;
-              }
-            } else {
-              if (s !== 1) {
-                throw new JpegError("invalid ACn encoding");
-              }
-
-              successiveACNextValue = receiveAndExtend(s);
-              successiveACState = r ? 2 : 3;
-            }
-
-            continue;
-
-          case 1:
-          case 2:
-            if (component.blockData[offsetZ]) {
-              component.blockData[offsetZ] += sign * (readBit() << successive);
-            } else {
-              r--;
-
-              if (r === 0) {
-                successiveACState = successiveACState === 2 ? 3 : 0;
-              }
-            }
-
-            break;
-
-          case 3:
-            if (component.blockData[offsetZ]) {
-              component.blockData[offsetZ] += sign * (readBit() << successive);
-            } else {
-              component.blockData[offsetZ] = successiveACNextValue << successive;
-              successiveACState = 0;
-            }
-
-            break;
-
-          case 4:
-            if (component.blockData[offsetZ]) {
-              component.blockData[offsetZ] += sign * (readBit() << successive);
-            }
-
-            break;
-        }
-
-        k++;
-      }
-
-      if (successiveACState === 4) {
-        eobrun--;
-
-        if (eobrun === 0) {
-          successiveACState = 0;
-        }
-      }
-    }
-
-    var blockRow = 0;
-
-    function decodeMcu(component, decode, mcu, row, col) {
-      var mcuRow = mcu / mcusPerLine | 0;
-      var mcuCol = mcu % mcusPerLine;
-      blockRow = mcuRow * component.v + row;
-      var blockCol = mcuCol * component.h + col;
-      var offset = getBlockBufferOffset(component, blockRow, blockCol);
-      decode(component, offset);
-    }
-
-    function decodeBlock(component, decode, mcu) {
-      blockRow = mcu / component.blocksPerLine | 0;
-      var blockCol = mcu % component.blocksPerLine;
-      var offset = getBlockBufferOffset(component, blockRow, blockCol);
-      decode(component, offset);
-    }
-
-    var componentsLength = components.length;
-    var component, i, j, k, n;
-    var decodeFn;
-
-    if (progressive) {
-      if (spectralStart === 0) {
-        decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;
-      } else {
-        decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;
-      }
-    } else {
-      decodeFn = decodeBaseline;
-    }
-
-    var mcu = 0,
-        fileMarker;
-    var mcuExpected;
-
-    if (componentsLength === 1) {
-      mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;
-    } else {
-      mcuExpected = mcusPerLine * frame.mcusPerColumn;
-    }
-
-    var h, v;
-
-    while (mcu < mcuExpected) {
-      var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;
-
-      for (i = 0; i < componentsLength; i++) {
-        components[i].pred = 0;
-      }
-
-      eobrun = 0;
-
-      if (componentsLength === 1) {
-        component = components[0];
-
-        for (n = 0; n < mcuToRead; n++) {
-          decodeBlock(component, decodeFn, mcu);
-          mcu++;
-        }
-      } else {
-        for (n = 0; n < mcuToRead; n++) {
-          for (i = 0; i < componentsLength; i++) {
-            component = components[i];
-            h = component.h;
-            v = component.v;
-
-            for (j = 0; j < v; j++) {
-              for (k = 0; k < h; k++) {
-                decodeMcu(component, decodeFn, mcu, j, k);
-              }
-            }
-          }
-
-          mcu++;
-        }
-      }
-
-      bitsCount = 0;
-      fileMarker = findNextFileMarker(data, offset);
-
-      if (!fileMarker) {
-        break;
-      } else if (fileMarker.invalid) {
-        (0, _util.warn)("decodeScan - unexpected MCU data, current marker is: " + fileMarker.invalid);
-        offset = fileMarker.offset;
-      }
-
-      var marker = fileMarker && fileMarker.marker;
-
-      if (!marker || marker <= 0xff00) {
-        throw new JpegError("decodeScan - a valid marker was not found.");
-      }
-
-      if (marker >= 0xffd0 && marker <= 0xffd7) {
-        offset += 2;
-      } else {
-        break;
-      }
-    }
-
-    fileMarker = findNextFileMarker(data, offset);
-
-    if (fileMarker && fileMarker.invalid) {
-      (0, _util.warn)("decodeScan - unexpected Scan data, current marker is: " + fileMarker.invalid);
-      offset = fileMarker.offset;
-    }
-
-    return offset - startOffset;
-  }
-
-  function quantizeAndInverse(component, blockBufferOffset, p) {
-    var qt = component.quantizationTable,
-        blockData = component.blockData;
-    var v0, v1, v2, v3, v4, v5, v6, v7;
-    var p0, p1, p2, p3, p4, p5, p6, p7;
-    var t;
-
-    if (!qt) {
-      throw new JpegError("missing required Quantization Table.");
-    }
-
-    for (var row = 0; row < 64; row += 8) {
-      p0 = blockData[blockBufferOffset + row];
-      p1 = blockData[blockBufferOffset + row + 1];
-      p2 = blockData[blockBufferOffset + row + 2];
-      p3 = blockData[blockBufferOffset + row + 3];
-      p4 = blockData[blockBufferOffset + row + 4];
-      p5 = blockData[blockBufferOffset + row + 5];
-      p6 = blockData[blockBufferOffset + row + 6];
-      p7 = blockData[blockBufferOffset + row + 7];
-      p0 *= qt[row];
-
-      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {
-        t = dctSqrt2 * p0 + 512 >> 10;
-        p[row] = t;
-        p[row + 1] = t;
-        p[row + 2] = t;
-        p[row + 3] = t;
-        p[row + 4] = t;
-        p[row + 5] = t;
-        p[row + 6] = t;
-        p[row + 7] = t;
-        continue;
-      }
-
-      p1 *= qt[row + 1];
-      p2 *= qt[row + 2];
-      p3 *= qt[row + 3];
-      p4 *= qt[row + 4];
-      p5 *= qt[row + 5];
-      p6 *= qt[row + 6];
-      p7 *= qt[row + 7];
-      v0 = dctSqrt2 * p0 + 128 >> 8;
-      v1 = dctSqrt2 * p4 + 128 >> 8;
-      v2 = p2;
-      v3 = p6;
-      v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;
-      v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;
-      v5 = p3 << 4;
-      v6 = p5 << 4;
-      v0 = v0 + v1 + 1 >> 1;
-      v1 = v0 - v1;
-      t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;
-      v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;
-      v3 = t;
-      v4 = v4 + v6 + 1 >> 1;
-      v6 = v4 - v6;
-      v7 = v7 + v5 + 1 >> 1;
-      v5 = v7 - v5;
-      v0 = v0 + v3 + 1 >> 1;
-      v3 = v0 - v3;
-      v1 = v1 + v2 + 1 >> 1;
-      v2 = v1 - v2;
-      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;
-      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;
-      v7 = t;
-      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;
-      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;
-      v6 = t;
-      p[row] = v0 + v7;
-      p[row + 7] = v0 - v7;
-      p[row + 1] = v1 + v6;
-      p[row + 6] = v1 - v6;
-      p[row + 2] = v2 + v5;
-      p[row + 5] = v2 - v5;
-      p[row + 3] = v3 + v4;
-      p[row + 4] = v3 - v4;
-    }
-
-    for (var col = 0; col < 8; ++col) {
-      p0 = p[col];
-      p1 = p[col + 8];
-      p2 = p[col + 16];
-      p3 = p[col + 24];
-      p4 = p[col + 32];
-      p5 = p[col + 40];
-      p6 = p[col + 48];
-      p7 = p[col + 56];
-
-      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {
-        t = dctSqrt2 * p0 + 8192 >> 14;
-
-        if (t < -2040) {
-          t = 0;
-        } else if (t >= 2024) {
-          t = 255;
-        } else {
-          t = t + 2056 >> 4;
-        }
-
-        blockData[blockBufferOffset + col] = t;
-        blockData[blockBufferOffset + col + 8] = t;
-        blockData[blockBufferOffset + col + 16] = t;
-        blockData[blockBufferOffset + col + 24] = t;
-        blockData[blockBufferOffset + col + 32] = t;
-        blockData[blockBufferOffset + col + 40] = t;
-        blockData[blockBufferOffset + col + 48] = t;
-        blockData[blockBufferOffset + col + 56] = t;
-        continue;
-      }
-
-      v0 = dctSqrt2 * p0 + 2048 >> 12;
-      v1 = dctSqrt2 * p4 + 2048 >> 12;
-      v2 = p2;
-      v3 = p6;
-      v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;
-      v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;
-      v5 = p3;
-      v6 = p5;
-      v0 = (v0 + v1 + 1 >> 1) + 4112;
-      v1 = v0 - v1;
-      t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;
-      v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;
-      v3 = t;
-      v4 = v4 + v6 + 1 >> 1;
-      v6 = v4 - v6;
-      v7 = v7 + v5 + 1 >> 1;
-      v5 = v7 - v5;
-      v0 = v0 + v3 + 1 >> 1;
-      v3 = v0 - v3;
-      v1 = v1 + v2 + 1 >> 1;
-      v2 = v1 - v2;
-      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;
-      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;
-      v7 = t;
-      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;
-      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;
-      v6 = t;
-      p0 = v0 + v7;
-      p7 = v0 - v7;
-      p1 = v1 + v6;
-      p6 = v1 - v6;
-      p2 = v2 + v5;
-      p5 = v2 - v5;
-      p3 = v3 + v4;
-      p4 = v3 - v4;
-
-      if (p0 < 16) {
-        p0 = 0;
-      } else if (p0 >= 4080) {
-        p0 = 255;
-      } else {
-        p0 >>= 4;
-      }
-
-      if (p1 < 16) {
-        p1 = 0;
-      } else if (p1 >= 4080) {
-        p1 = 255;
-      } else {
-        p1 >>= 4;
-      }
-
-      if (p2 < 16) {
-        p2 = 0;
-      } else if (p2 >= 4080) {
-        p2 = 255;
-      } else {
-        p2 >>= 4;
-      }
-
-      if (p3 < 16) {
-        p3 = 0;
-      } else if (p3 >= 4080) {
-        p3 = 255;
-      } else {
-        p3 >>= 4;
-      }
-
-      if (p4 < 16) {
-        p4 = 0;
-      } else if (p4 >= 4080) {
-        p4 = 255;
-      } else {
-        p4 >>= 4;
-      }
-
-      if (p5 < 16) {
-        p5 = 0;
-      } else if (p5 >= 4080) {
-        p5 = 255;
-      } else {
-        p5 >>= 4;
-      }
-
-      if (p6 < 16) {
-        p6 = 0;
-      } else if (p6 >= 4080) {
-        p6 = 255;
-      } else {
-        p6 >>= 4;
-      }
-
-      if (p7 < 16) {
-        p7 = 0;
-      } else if (p7 >= 4080) {
-        p7 = 255;
-      } else {
-        p7 >>= 4;
-      }
-
-      blockData[blockBufferOffset + col] = p0;
-      blockData[blockBufferOffset + col + 8] = p1;
-      blockData[blockBufferOffset + col + 16] = p2;
-      blockData[blockBufferOffset + col + 24] = p3;
-      blockData[blockBufferOffset + col + 32] = p4;
-      blockData[blockBufferOffset + col + 40] = p5;
-      blockData[blockBufferOffset + col + 48] = p6;
-      blockData[blockBufferOffset + col + 56] = p7;
-    }
-  }
-
-  function buildComponentData(frame, component) {
-    var blocksPerLine = component.blocksPerLine;
-    var blocksPerColumn = component.blocksPerColumn;
-    var computationBuffer = new Int16Array(64);
-
-    for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {
-      for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {
-        var offset = getBlockBufferOffset(component, blockRow, blockCol);
-        quantizeAndInverse(component, offset, computationBuffer);
-      }
-    }
-
-    return component.blockData;
-  }
-
-  function findNextFileMarker(data, currentPos) {
-    var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;
-    var maxPos = data.length - 1;
-    var newPos = startPos < currentPos ? startPos : currentPos;
-
-    if (currentPos >= maxPos) {
-      return null;
-    }
-
-    var currentMarker = (0, _core_utils.readUint16)(data, currentPos);
-
-    if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {
-      return {
-        invalid: null,
-        marker: currentMarker,
-        offset: currentPos
-      };
-    }
-
-    var newMarker = (0, _core_utils.readUint16)(data, newPos);
-
-    while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {
-      if (++newPos >= maxPos) {
-        return null;
-      }
-
-      newMarker = (0, _core_utils.readUint16)(data, newPos);
-    }
-
-    return {
-      invalid: currentMarker.toString(16),
-      marker: newMarker,
-      offset: newPos
-    };
-  }
-
-  JpegImage.prototype = {
-    parse: function parse(data) {
-      var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-          _ref2$dnlScanLines = _ref2.dnlScanLines,
-          dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;
-
-      function readDataBlock() {
-        var length = (0, _core_utils.readUint16)(data, offset);
-        offset += 2;
-        var endOffset = offset + length - 2;
-        var fileMarker = findNextFileMarker(data, endOffset, offset);
-
-        if (fileMarker && fileMarker.invalid) {
-          (0, _util.warn)("readDataBlock - incorrect length, current marker is: " + fileMarker.invalid);
-          endOffset = fileMarker.offset;
-        }
-
-        var array = data.subarray(offset, endOffset);
-        offset += array.length;
-        return array;
-      }
-
-      function prepareComponents(frame) {
-        var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);
-        var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);
-
-        for (var i = 0; i < frame.components.length; i++) {
-          component = frame.components[i];
-          var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);
-          var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);
-          var blocksPerLineForMcu = mcusPerLine * component.h;
-          var blocksPerColumnForMcu = mcusPerColumn * component.v;
-          var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);
-          component.blockData = new Int16Array(blocksBufferSize);
-          component.blocksPerLine = blocksPerLine;
-          component.blocksPerColumn = blocksPerColumn;
-        }
-
-        frame.mcusPerLine = mcusPerLine;
-        frame.mcusPerColumn = mcusPerColumn;
-      }
-
-      var offset = 0;
-      var jfif = null;
-      var adobe = null;
-      var frame, resetInterval;
-      var numSOSMarkers = 0;
-      var quantizationTables = [];
-      var huffmanTablesAC = [],
-          huffmanTablesDC = [];
-      var fileMarker = (0, _core_utils.readUint16)(data, offset);
-      offset += 2;
-
-      if (fileMarker !== 0xffd8) {
-        throw new JpegError("SOI not found");
-      }
-
-      fileMarker = (0, _core_utils.readUint16)(data, offset);
-      offset += 2;
-
-      markerLoop: while (fileMarker !== 0xffd9) {
-        var i, j, l;
-
-        switch (fileMarker) {
-          case 0xffe0:
-          case 0xffe1:
-          case 0xffe2:
-          case 0xffe3:
-          case 0xffe4:
-          case 0xffe5:
-          case 0xffe6:
-          case 0xffe7:
-          case 0xffe8:
-          case 0xffe9:
-          case 0xffea:
-          case 0xffeb:
-          case 0xffec:
-          case 0xffed:
-          case 0xffee:
-          case 0xffef:
-          case 0xfffe:
-            var appData = readDataBlock();
-
-            if (fileMarker === 0xffe0) {
-              if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {
-                jfif = {
-                  version: {
-                    major: appData[5],
-                    minor: appData[6]
-                  },
-                  densityUnits: appData[7],
-                  xDensity: appData[8] << 8 | appData[9],
-                  yDensity: appData[10] << 8 | appData[11],
-                  thumbWidth: appData[12],
-                  thumbHeight: appData[13],
-                  thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])
-                };
-              }
-            }
-
-            if (fileMarker === 0xffee) {
-              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {
-                adobe = {
-                  version: appData[5] << 8 | appData[6],
-                  flags0: appData[7] << 8 | appData[8],
-                  flags1: appData[9] << 8 | appData[10],
-                  transformCode: appData[11]
-                };
-              }
-            }
-
-            break;
-
-          case 0xffdb:
-            var quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);
-            offset += 2;
-            var quantizationTablesEnd = quantizationTablesLength + offset - 2;
-            var z;
-
-            while (offset < quantizationTablesEnd) {
-              var quantizationTableSpec = data[offset++];
-              var tableData = new Uint16Array(64);
-
-              if (quantizationTableSpec >> 4 === 0) {
-                for (j = 0; j < 64; j++) {
-                  z = dctZigZag[j];
-                  tableData[z] = data[offset++];
-                }
-              } else if (quantizationTableSpec >> 4 === 1) {
-                for (j = 0; j < 64; j++) {
-                  z = dctZigZag[j];
-                  tableData[z] = (0, _core_utils.readUint16)(data, offset);
-                  offset += 2;
-                }
-              } else {
-                throw new JpegError("DQT - invalid table spec");
-              }
-
-              quantizationTables[quantizationTableSpec & 15] = tableData;
-            }
-
-            break;
-
-          case 0xffc0:
-          case 0xffc1:
-          case 0xffc2:
-            if (frame) {
-              throw new JpegError("Only single frame JPEGs supported");
-            }
-
-            offset += 2;
-            frame = {};
-            frame.extended = fileMarker === 0xffc1;
-            frame.progressive = fileMarker === 0xffc2;
-            frame.precision = data[offset++];
-            var sofScanLines = (0, _core_utils.readUint16)(data, offset);
-            offset += 2;
-            frame.scanLines = dnlScanLines || sofScanLines;
-            frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);
-            offset += 2;
-            frame.components = [];
-            frame.componentIds = {};
-            var componentsCount = data[offset++],
-                componentId;
-            var maxH = 0,
-                maxV = 0;
-
-            for (i = 0; i < componentsCount; i++) {
-              componentId = data[offset];
-              var h = data[offset + 1] >> 4;
-              var v = data[offset + 1] & 15;
-
-              if (maxH < h) {
-                maxH = h;
-              }
-
-              if (maxV < v) {
-                maxV = v;
-              }
-
-              var qId = data[offset + 2];
-              l = frame.components.push({
-                h: h,
-                v: v,
-                quantizationId: qId,
-                quantizationTable: null
-              });
-              frame.componentIds[componentId] = l - 1;
-              offset += 3;
-            }
-
-            frame.maxH = maxH;
-            frame.maxV = maxV;
-            prepareComponents(frame);
-            break;
-
-          case 0xffc4:
-            var huffmanLength = (0, _core_utils.readUint16)(data, offset);
-            offset += 2;
-
-            for (i = 2; i < huffmanLength;) {
-              var huffmanTableSpec = data[offset++];
-              var codeLengths = new Uint8Array(16);
-              var codeLengthSum = 0;
-
-              for (j = 0; j < 16; j++, offset++) {
-                codeLengthSum += codeLengths[j] = data[offset];
-              }
-
-              var huffmanValues = new Uint8Array(codeLengthSum);
-
-              for (j = 0; j < codeLengthSum; j++, offset++) {
-                huffmanValues[j] = data[offset];
-              }
-
-              i += 17 + codeLengthSum;
-              (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);
-            }
-
-            break;
-
-          case 0xffdd:
-            offset += 2;
-            resetInterval = (0, _core_utils.readUint16)(data, offset);
-            offset += 2;
-            break;
-
-          case 0xffda:
-            var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;
-            offset += 2;
-            var selectorsCount = data[offset++];
-            var components = [],
-                component;
-
-            for (i = 0; i < selectorsCount; i++) {
-              var componentIndex = frame.componentIds[data[offset++]];
-              component = frame.components[componentIndex];
-              var tableSpec = data[offset++];
-              component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];
-              component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];
-              components.push(component);
-            }
-
-            var spectralStart = data[offset++];
-            var spectralEnd = data[offset++];
-            var successiveApproximation = data[offset++];
-
-            try {
-              var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);
-              offset += processed;
-            } catch (ex) {
-              if (ex instanceof DNLMarkerError) {
-                (0, _util.warn)("".concat(ex.message, " -- attempting to re-parse the JPEG image."));
-                return this.parse(data, {
-                  dnlScanLines: ex.scanLines
-                });
-              } else if (ex instanceof EOIMarkerError) {
-                (0, _util.warn)("".concat(ex.message, " -- ignoring the rest of the image data."));
-                break markerLoop;
-              }
-
-              throw ex;
-            }
-
-            break;
-
-          case 0xffdc:
-            offset += 4;
-            break;
-
-          case 0xffff:
-            if (data[offset] !== 0xff) {
-              offset--;
-            }
-
-            break;
-
-          default:
-            var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);
-
-            if (nextFileMarker && nextFileMarker.invalid) {
-              (0, _util.warn)("JpegImage.parse - unexpected data, current marker is: " + nextFileMarker.invalid);
-              offset = nextFileMarker.offset;
-              break;
-            }
-
-            if (offset >= data.length - 1) {
-              (0, _util.warn)("JpegImage.parse - reached the end of the image data " + "without finding an EOI marker (0xFFD9).");
-              break markerLoop;
-            }
-
-            throw new JpegError("JpegImage.parse - unknown marker: " + fileMarker.toString(16));
-        }
-
-        fileMarker = (0, _core_utils.readUint16)(data, offset);
-        offset += 2;
-      }
-
-      this.width = frame.samplesPerLine;
-      this.height = frame.scanLines;
-      this.jfif = jfif;
-      this.adobe = adobe;
-      this.components = [];
-
-      for (i = 0; i < frame.components.length; i++) {
-        component = frame.components[i];
-        var quantizationTable = quantizationTables[component.quantizationId];
-
-        if (quantizationTable) {
-          component.quantizationTable = quantizationTable;
-        }
-
-        this.components.push({
-          output: buildComponentData(frame, component),
-          scaleX: component.h / frame.maxH,
-          scaleY: component.v / frame.maxV,
-          blocksPerLine: component.blocksPerLine,
-          blocksPerColumn: component.blocksPerColumn
-        });
-      }
-
-      this.numComponents = this.components.length;
-      return undefined;
-    },
-    _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {
-      var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-      var scaleX = this.width / width,
-          scaleY = this.height / height;
-      var component, componentScaleX, componentScaleY, blocksPerScanline;
-      var x, y, i, j, k;
-      var index;
-      var offset = 0;
-      var output;
-      var numComponents = this.components.length;
-      var dataLength = width * height * numComponents;
-      var data = new Uint8ClampedArray(dataLength);
-      var xScaleBlockOffset = new Uint32Array(width);
-      var mask3LSB = 0xfffffff8;
-      var lastComponentScaleX;
-
-      for (i = 0; i < numComponents; i++) {
-        component = this.components[i];
-        componentScaleX = component.scaleX * scaleX;
-        componentScaleY = component.scaleY * scaleY;
-        offset = i;
-        output = component.output;
-        blocksPerScanline = component.blocksPerLine + 1 << 3;
-
-        if (componentScaleX !== lastComponentScaleX) {
-          for (x = 0; x < width; x++) {
-            j = 0 | x * componentScaleX;
-            xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;
-          }
-
-          lastComponentScaleX = componentScaleX;
-        }
-
-        for (y = 0; y < height; y++) {
-          j = 0 | y * componentScaleY;
-          index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;
-
-          for (x = 0; x < width; x++) {
-            data[offset] = output[index + xScaleBlockOffset[x]];
-            offset += numComponents;
-          }
-        }
-      }
-
-      var transform = this._decodeTransform;
-
-      if (!isSourcePDF && numComponents === 4 && !transform) {
-        transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);
-      }
-
-      if (transform) {
-        for (i = 0; i < dataLength;) {
-          for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {
-            data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];
-          }
-        }
-      }
-
-      return data;
-    },
-
-    get _isColorConversionNeeded() {
-      if (this.adobe) {
-        return !!this.adobe.transformCode;
-      }
-
-      if (this.numComponents === 3) {
-        if (this._colorTransform === 0) {
-          return false;
-        }
-
-        return true;
-      }
-
-      if (this._colorTransform === 1) {
-        return true;
-      }
-
-      return false;
-    },
-
-    _convertYccToRgb: function convertYccToRgb(data) {
-      var Y, Cb, Cr;
-
-      for (var i = 0, length = data.length; i < length; i += 3) {
-        Y = data[i];
-        Cb = data[i + 1];
-        Cr = data[i + 2];
-        data[i] = Y - 179.456 + 1.402 * Cr;
-        data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;
-        data[i + 2] = Y - 226.816 + 1.772 * Cb;
-      }
-
-      return data;
-    },
-    _convertYcckToRgb: function convertYcckToRgb(data) {
-      var Y, Cb, Cr, k;
-      var offset = 0;
-
-      for (var i = 0, length = data.length; i < length; i += 4) {
-        Y = data[i];
-        Cb = data[i + 1];
-        Cr = data[i + 2];
-        k = data[i + 3];
-        data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);
-        data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);
-        data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);
-      }
-
-      return data.subarray(0, offset);
-    },
-    _convertYcckToCmyk: function convertYcckToCmyk(data) {
-      var Y, Cb, Cr;
-
-      for (var i = 0, length = data.length; i < length; i += 4) {
-        Y = data[i];
-        Cb = data[i + 1];
-        Cr = data[i + 2];
-        data[i] = 434.456 - Y - 1.402 * Cr;
-        data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;
-        data[i + 2] = 481.816 - Y - 1.772 * Cb;
-      }
-
-      return data;
-    },
-    _convertCmykToRgb: function convertCmykToRgb(data) {
-      var c, m, y, k;
-      var offset = 0;
-
-      for (var i = 0, length = data.length; i < length; i += 4) {
-        c = data[i];
-        m = data[i + 1];
-        y = data[i + 2];
-        k = data[i + 3];
-        data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);
-        data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);
-        data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);
-      }
-
-      return data.subarray(0, offset);
-    },
-    getData: function getData(_ref3) {
-      var width = _ref3.width,
-          height = _ref3.height,
-          _ref3$forceRGB = _ref3.forceRGB,
-          forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,
-          _ref3$isSourcePDF = _ref3.isSourcePDF,
-          isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;
-
-      if (this.numComponents > 4) {
-        throw new JpegError("Unsupported color mode");
-      }
-
-      var data = this._getLinearizedBlockData(width, height, isSourcePDF);
-
-      if (this.numComponents === 1 && forceRGB) {
-        var dataLength = data.length;
-        var rgbData = new Uint8ClampedArray(dataLength * 3);
-        var offset = 0;
-
-        for (var i = 0; i < dataLength; i++) {
-          var grayColor = data[i];
-          rgbData[offset++] = grayColor;
-          rgbData[offset++] = grayColor;
-          rgbData[offset++] = grayColor;
-        }
-
-        return rgbData;
-      } else if (this.numComponents === 3 && this._isColorConversionNeeded) {
-        return this._convertYccToRgb(data);
-      } else if (this.numComponents === 4) {
-        if (this._isColorConversionNeeded) {
-          if (forceRGB) {
-            return this._convertYcckToRgb(data);
-          }
-
-          return this._convertYcckToCmyk(data);
-        } else if (forceRGB) {
-          return this._convertCmykToRgb(data);
-        }
-      }
-
-      return data;
-    }
-  };
-  return JpegImage;
-}();
-
-exports.JpegImage = JpegImage;
-
-/***/ }),
-/* 209 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.JpxStream = void 0;
-
-var _stream = __w_pdfjs_require__(201);
-
-var _jpx = __w_pdfjs_require__(210);
-
-var _util = __w_pdfjs_require__(5);
-
-var JpxStream = function JpxStreamClosure() {
-  function JpxStream(stream, maybeLength, dict, params) {
-    this.stream = stream;
-    this.maybeLength = maybeLength;
-    this.dict = dict;
-    this.params = params;
-
-    _stream.DecodeStream.call(this, maybeLength);
-  }
-
-  JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);
-  Object.defineProperty(JpxStream.prototype, "bytes", {
-    get: function JpxStream_bytes() {
-      return (0, _util.shadow)(this, "bytes", this.stream.getBytes(this.maybeLength));
-    },
-    configurable: true
-  });
-
-  JpxStream.prototype.ensureBuffer = function (requested) {};
-
-  JpxStream.prototype.readBlock = function () {
-    if (this.eof) {
-      return;
-    }
-
-    var jpxImage = new _jpx.JpxImage();
-    jpxImage.parse(this.bytes);
-    var width = jpxImage.width;
-    var height = jpxImage.height;
-    var componentsCount = jpxImage.componentsCount;
-    var tileCount = jpxImage.tiles.length;
-
-    if (tileCount === 1) {
-      this.buffer = jpxImage.tiles[0].items;
-    } else {
-      var data = new Uint8ClampedArray(width * height * componentsCount);
-
-      for (var k = 0; k < tileCount; k++) {
-        var tileComponents = jpxImage.tiles[k];
-        var tileWidth = tileComponents.width;
-        var tileHeight = tileComponents.height;
-        var tileLeft = tileComponents.left;
-        var tileTop = tileComponents.top;
-        var src = tileComponents.items;
-        var srcPosition = 0;
-        var dataPosition = (width * tileTop + tileLeft) * componentsCount;
-        var imgRowSize = width * componentsCount;
-        var tileRowSize = tileWidth * componentsCount;
-
-        for (var j = 0; j < tileHeight; j++) {
-          var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);
-          data.set(rowBytes, dataPosition);
-          srcPosition += tileRowSize;
-          dataPosition += imgRowSize;
-        }
-      }
-
-      this.buffer = data;
-    }
-
-    this.bufferLength = this.buffer.length;
-    this.eof = true;
-  };
-
-  return JpxStream;
-}();
-
-exports.JpxStream = JpxStream;
-
-/***/ }),
-/* 210 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.JpxImage = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _arithmetic_decoder = __w_pdfjs_require__(206);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var JpxError = /*#__PURE__*/function (_BaseException) {
-  _inherits(JpxError, _BaseException);
-
-  function JpxError(msg) {
-    _classCallCheck(this, JpxError);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(JpxError).call(this, "JPX error: ".concat(msg)));
-  }
-
-  return JpxError;
-}(_util.BaseException);
-
-var JpxImage = function JpxImageClosure() {
-  var SubbandsGainLog2 = {
-    LL: 0,
-    LH: 1,
-    HL: 1,
-    HH: 2
-  };
-
-  function JpxImage() {
-    this.failOnCorruptedImage = false;
-  }
-
-  JpxImage.prototype = {
-    parse: function JpxImage_parse(data) {
-      var head = (0, _core_utils.readUint16)(data, 0);
-
-      if (head === 0xff4f) {
-        this.parseCodestream(data, 0, data.length);
-        return;
-      }
-
-      var position = 0,
-          length = data.length;
-
-      while (position < length) {
-        var headerSize = 8;
-        var lbox = (0, _core_utils.readUint32)(data, position);
-        var tbox = (0, _core_utils.readUint32)(data, position + 4);
-        position += headerSize;
-
-        if (lbox === 1) {
-          lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);
-          position += 8;
-          headerSize += 8;
-        }
-
-        if (lbox === 0) {
-          lbox = length - position + headerSize;
-        }
-
-        if (lbox < headerSize) {
-          throw new JpxError("Invalid box field size");
-        }
-
-        var dataLength = lbox - headerSize;
-        var jumpDataLength = true;
-
-        switch (tbox) {
-          case 0x6a703268:
-            jumpDataLength = false;
-            break;
-
-          case 0x636f6c72:
-            var method = data[position];
-
-            if (method === 1) {
-              var colorspace = (0, _core_utils.readUint32)(data, position + 3);
-
-              switch (colorspace) {
-                case 16:
-                case 17:
-                case 18:
-                  break;
-
-                default:
-                  (0, _util.warn)("Unknown colorspace " + colorspace);
-                  break;
-              }
-            } else if (method === 2) {
-              (0, _util.info)("ICC profile not supported");
-            }
-
-            break;
-
-          case 0x6a703263:
-            this.parseCodestream(data, position, position + dataLength);
-            break;
-
-          case 0x6a502020:
-            if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {
-              (0, _util.warn)("Invalid JP2 signature");
-            }
-
-            break;
-
-          case 0x6a501a1a:
-          case 0x66747970:
-          case 0x72726571:
-          case 0x72657320:
-          case 0x69686472:
-            break;
-
-          default:
-            var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);
-            (0, _util.warn)("Unsupported header type " + tbox + " (" + headerType + ")");
-            break;
-        }
-
-        if (jumpDataLength) {
-          position += dataLength;
-        }
-      }
-    },
-    parseImageProperties: function JpxImage_parseImageProperties(stream) {
-      var newByte = stream.getByte();
-
-      while (newByte >= 0) {
-        var oldByte = newByte;
-        newByte = stream.getByte();
-        var code = oldByte << 8 | newByte;
-
-        if (code === 0xff51) {
-          stream.skip(4);
-          var Xsiz = stream.getInt32() >>> 0;
-          var Ysiz = stream.getInt32() >>> 0;
-          var XOsiz = stream.getInt32() >>> 0;
-          var YOsiz = stream.getInt32() >>> 0;
-          stream.skip(16);
-          var Csiz = stream.getUint16();
-          this.width = Xsiz - XOsiz;
-          this.height = Ysiz - YOsiz;
-          this.componentsCount = Csiz;
-          this.bitsPerComponent = 8;
-          return;
-        }
-      }
-
-      throw new JpxError("No size marker found in JPX stream");
-    },
-    parseCodestream: function JpxImage_parseCodestream(data, start, end) {
-      var context = {};
-      var doNotRecover = false;
-
-      try {
-        var position = start;
-
-        while (position + 1 < end) {
-          var code = (0, _core_utils.readUint16)(data, position);
-          position += 2;
-          var length = 0,
-              j,
-              sqcd,
-              spqcds,
-              spqcdSize,
-              scalarExpounded,
-              tile;
-
-          switch (code) {
-            case 0xff4f:
-              context.mainHeader = true;
-              break;
-
-            case 0xffd9:
-              break;
-
-            case 0xff51:
-              length = (0, _core_utils.readUint16)(data, position);
-              var siz = {};
-              siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);
-              siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);
-              siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);
-              siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);
-              siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);
-              siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);
-              siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);
-              siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);
-              var componentsCount = (0, _core_utils.readUint16)(data, position + 36);
-              siz.Csiz = componentsCount;
-              var components = [];
-              j = position + 38;
-
-              for (var i = 0; i < componentsCount; i++) {
-                var component = {
-                  precision: (data[j] & 0x7f) + 1,
-                  isSigned: !!(data[j] & 0x80),
-                  XRsiz: data[j + 1],
-                  YRsiz: data[j + 2]
-                };
-                j += 3;
-                calculateComponentDimensions(component, siz);
-                components.push(component);
-              }
-
-              context.SIZ = siz;
-              context.components = components;
-              calculateTileGrids(context, components);
-              context.QCC = [];
-              context.COC = [];
-              break;
-
-            case 0xff5c:
-              length = (0, _core_utils.readUint16)(data, position);
-              var qcd = {};
-              j = position + 2;
-              sqcd = data[j++];
-
-              switch (sqcd & 0x1f) {
-                case 0:
-                  spqcdSize = 8;
-                  scalarExpounded = true;
-                  break;
-
-                case 1:
-                  spqcdSize = 16;
-                  scalarExpounded = false;
-                  break;
-
-                case 2:
-                  spqcdSize = 16;
-                  scalarExpounded = true;
-                  break;
-
-                default:
-                  throw new Error("Invalid SQcd value " + sqcd);
-              }
-
-              qcd.noQuantization = spqcdSize === 8;
-              qcd.scalarExpounded = scalarExpounded;
-              qcd.guardBits = sqcd >> 5;
-              spqcds = [];
-
-              while (j < length + position) {
-                var spqcd = {};
-
-                if (spqcdSize === 8) {
-                  spqcd.epsilon = data[j++] >> 3;
-                  spqcd.mu = 0;
-                } else {
-                  spqcd.epsilon = data[j] >> 3;
-                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];
-                  j += 2;
-                }
-
-                spqcds.push(spqcd);
-              }
-
-              qcd.SPqcds = spqcds;
-
-              if (context.mainHeader) {
-                context.QCD = qcd;
-              } else {
-                context.currentTile.QCD = qcd;
-                context.currentTile.QCC = [];
-              }
-
-              break;
-
-            case 0xff5d:
-              length = (0, _core_utils.readUint16)(data, position);
-              var qcc = {};
-              j = position + 2;
-              var cqcc;
-
-              if (context.SIZ.Csiz < 257) {
-                cqcc = data[j++];
-              } else {
-                cqcc = (0, _core_utils.readUint16)(data, j);
-                j += 2;
-              }
-
-              sqcd = data[j++];
-
-              switch (sqcd & 0x1f) {
-                case 0:
-                  spqcdSize = 8;
-                  scalarExpounded = true;
-                  break;
-
-                case 1:
-                  spqcdSize = 16;
-                  scalarExpounded = false;
-                  break;
-
-                case 2:
-                  spqcdSize = 16;
-                  scalarExpounded = true;
-                  break;
-
-                default:
-                  throw new Error("Invalid SQcd value " + sqcd);
-              }
-
-              qcc.noQuantization = spqcdSize === 8;
-              qcc.scalarExpounded = scalarExpounded;
-              qcc.guardBits = sqcd >> 5;
-              spqcds = [];
-
-              while (j < length + position) {
-                spqcd = {};
-
-                if (spqcdSize === 8) {
-                  spqcd.epsilon = data[j++] >> 3;
-                  spqcd.mu = 0;
-                } else {
-                  spqcd.epsilon = data[j] >> 3;
-                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];
-                  j += 2;
-                }
-
-                spqcds.push(spqcd);
-              }
-
-              qcc.SPqcds = spqcds;
-
-              if (context.mainHeader) {
-                context.QCC[cqcc] = qcc;
-              } else {
-                context.currentTile.QCC[cqcc] = qcc;
-              }
-
-              break;
-
-            case 0xff52:
-              length = (0, _core_utils.readUint16)(data, position);
-              var cod = {};
-              j = position + 2;
-              var scod = data[j++];
-              cod.entropyCoderWithCustomPrecincts = !!(scod & 1);
-              cod.sopMarkerUsed = !!(scod & 2);
-              cod.ephMarkerUsed = !!(scod & 4);
-              cod.progressionOrder = data[j++];
-              cod.layersCount = (0, _core_utils.readUint16)(data, j);
-              j += 2;
-              cod.multipleComponentTransform = data[j++];
-              cod.decompositionLevelsCount = data[j++];
-              cod.xcb = (data[j++] & 0xf) + 2;
-              cod.ycb = (data[j++] & 0xf) + 2;
-              var blockStyle = data[j++];
-              cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);
-              cod.resetContextProbabilities = !!(blockStyle & 2);
-              cod.terminationOnEachCodingPass = !!(blockStyle & 4);
-              cod.verticallyStripe = !!(blockStyle & 8);
-              cod.predictableTermination = !!(blockStyle & 16);
-              cod.segmentationSymbolUsed = !!(blockStyle & 32);
-              cod.reversibleTransformation = data[j++];
-
-              if (cod.entropyCoderWithCustomPrecincts) {
-                var precinctsSizes = [];
-
-                while (j < length + position) {
-                  var precinctsSize = data[j++];
-                  precinctsSizes.push({
-                    PPx: precinctsSize & 0xf,
-                    PPy: precinctsSize >> 4
-                  });
-                }
-
-                cod.precinctsSizes = precinctsSizes;
-              }
-
-              var unsupported = [];
-
-              if (cod.selectiveArithmeticCodingBypass) {
-                unsupported.push("selectiveArithmeticCodingBypass");
-              }
-
-              if (cod.resetContextProbabilities) {
-                unsupported.push("resetContextProbabilities");
-              }
-
-              if (cod.terminationOnEachCodingPass) {
-                unsupported.push("terminationOnEachCodingPass");
-              }
-
-              if (cod.verticallyStripe) {
-                unsupported.push("verticallyStripe");
-              }
-
-              if (cod.predictableTermination) {
-                unsupported.push("predictableTermination");
-              }
-
-              if (unsupported.length > 0) {
-                doNotRecover = true;
-                throw new Error("Unsupported COD options (" + unsupported.join(", ") + ")");
-              }
-
-              if (context.mainHeader) {
-                context.COD = cod;
-              } else {
-                context.currentTile.COD = cod;
-                context.currentTile.COC = [];
-              }
-
-              break;
-
-            case 0xff90:
-              length = (0, _core_utils.readUint16)(data, position);
-              tile = {};
-              tile.index = (0, _core_utils.readUint16)(data, position + 2);
-              tile.length = (0, _core_utils.readUint32)(data, position + 4);
-              tile.dataEnd = tile.length + position - 2;
-              tile.partIndex = data[position + 8];
-              tile.partsCount = data[position + 9];
-              context.mainHeader = false;
-
-              if (tile.partIndex === 0) {
-                tile.COD = context.COD;
-                tile.COC = context.COC.slice(0);
-                tile.QCD = context.QCD;
-                tile.QCC = context.QCC.slice(0);
-              }
-
-              context.currentTile = tile;
-              break;
-
-            case 0xff93:
-              tile = context.currentTile;
-
-              if (tile.partIndex === 0) {
-                initializeTile(context, tile.index);
-                buildPackets(context);
-              }
-
-              length = tile.dataEnd - position;
-              parseTilePackets(context, data, position, length);
-              break;
-
-            case 0xff55:
-            case 0xff57:
-            case 0xff58:
-            case 0xff64:
-              length = (0, _core_utils.readUint16)(data, position);
-              break;
-
-            case 0xff53:
-              throw new Error("Codestream code 0xFF53 (COC) is not implemented");
-
-            default:
-              throw new Error("Unknown codestream code: " + code.toString(16));
-          }
-
-          position += length;
-        }
-      } catch (e) {
-        if (doNotRecover || this.failOnCorruptedImage) {
-          throw new JpxError(e.message);
-        } else {
-          (0, _util.warn)("JPX: Trying to recover from: " + e.message);
-        }
-      }
-
-      this.tiles = transformComponents(context);
-      this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;
-      this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;
-      this.componentsCount = context.SIZ.Csiz;
-    }
-  };
-
-  function calculateComponentDimensions(component, siz) {
-    component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);
-    component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);
-    component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);
-    component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);
-    component.width = component.x1 - component.x0;
-    component.height = component.y1 - component.y0;
-  }
-
-  function calculateTileGrids(context, components) {
-    var siz = context.SIZ;
-    var tile,
-        tiles = [];
-    var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);
-    var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);
-
-    for (var q = 0; q < numYtiles; q++) {
-      for (var p = 0; p < numXtiles; p++) {
-        tile = {};
-        tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);
-        tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);
-        tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);
-        tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);
-        tile.width = tile.tx1 - tile.tx0;
-        tile.height = tile.ty1 - tile.ty0;
-        tile.components = [];
-        tiles.push(tile);
-      }
-    }
-
-    context.tiles = tiles;
-    var componentsCount = siz.Csiz;
-
-    for (var i = 0, ii = componentsCount; i < ii; i++) {
-      var component = components[i];
-
-      for (var j = 0, jj = tiles.length; j < jj; j++) {
-        var tileComponent = {};
-        tile = tiles[j];
-        tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);
-        tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);
-        tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);
-        tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);
-        tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;
-        tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;
-        tile.components[i] = tileComponent;
-      }
-    }
-  }
-
-  function getBlocksDimensions(context, component, r) {
-    var codOrCoc = component.codingStyleParameters;
-    var result = {};
-
-    if (!codOrCoc.entropyCoderWithCustomPrecincts) {
-      result.PPx = 15;
-      result.PPy = 15;
-    } else {
-      result.PPx = codOrCoc.precinctsSizes[r].PPx;
-      result.PPy = codOrCoc.precinctsSizes[r].PPy;
-    }
-
-    result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);
-    result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);
-    return result;
-  }
-
-  function buildPrecincts(context, resolution, dimensions) {
-    var precinctWidth = 1 << dimensions.PPx;
-    var precinctHeight = 1 << dimensions.PPy;
-    var isZeroRes = resolution.resLevel === 0;
-    var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);
-    var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);
-    var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;
-    var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;
-    var numprecincts = numprecinctswide * numprecinctshigh;
-    resolution.precinctParameters = {
-      precinctWidth: precinctWidth,
-      precinctHeight: precinctHeight,
-      numprecinctswide: numprecinctswide,
-      numprecinctshigh: numprecinctshigh,
-      numprecincts: numprecincts,
-      precinctWidthInSubband: precinctWidthInSubband,
-      precinctHeightInSubband: precinctHeightInSubband
-    };
-  }
-
-  function buildCodeblocks(context, subband, dimensions) {
-    var xcb_ = dimensions.xcb_;
-    var ycb_ = dimensions.ycb_;
-    var codeblockWidth = 1 << xcb_;
-    var codeblockHeight = 1 << ycb_;
-    var cbx0 = subband.tbx0 >> xcb_;
-    var cby0 = subband.tby0 >> ycb_;
-    var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;
-    var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;
-    var precinctParameters = subband.resolution.precinctParameters;
-    var codeblocks = [];
-    var precincts = [];
-    var i, j, codeblock, precinctNumber;
-
-    for (j = cby0; j < cby1; j++) {
-      for (i = cbx0; i < cbx1; i++) {
-        codeblock = {
-          cbx: i,
-          cby: j,
-          tbx0: codeblockWidth * i,
-          tby0: codeblockHeight * j,
-          tbx1: codeblockWidth * (i + 1),
-          tby1: codeblockHeight * (j + 1)
-        };
-        codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);
-        codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);
-        codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);
-        codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);
-        var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);
-        var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);
-        precinctNumber = pi + pj * precinctParameters.numprecinctswide;
-        codeblock.precinctNumber = precinctNumber;
-        codeblock.subbandType = subband.type;
-        codeblock.Lblock = 3;
-
-        if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {
-          continue;
-        }
-
-        codeblocks.push(codeblock);
-        var precinct = precincts[precinctNumber];
-
-        if (precinct !== undefined) {
-          if (i < precinct.cbxMin) {
-            precinct.cbxMin = i;
-          } else if (i > precinct.cbxMax) {
-            precinct.cbxMax = i;
-          }
-
-          if (j < precinct.cbyMin) {
-            precinct.cbxMin = j;
-          } else if (j > precinct.cbyMax) {
-            precinct.cbyMax = j;
-          }
-        } else {
-          precincts[precinctNumber] = precinct = {
-            cbxMin: i,
-            cbyMin: j,
-            cbxMax: i,
-            cbyMax: j
-          };
-        }
-
-        codeblock.precinct = precinct;
-      }
-    }
-
-    subband.codeblockParameters = {
-      codeblockWidth: xcb_,
-      codeblockHeight: ycb_,
-      numcodeblockwide: cbx1 - cbx0 + 1,
-      numcodeblockhigh: cby1 - cby0 + 1
-    };
-    subband.codeblocks = codeblocks;
-    subband.precincts = precincts;
-  }
-
-  function createPacket(resolution, precinctNumber, layerNumber) {
-    var precinctCodeblocks = [];
-    var subbands = resolution.subbands;
-
-    for (var i = 0, ii = subbands.length; i < ii; i++) {
-      var subband = subbands[i];
-      var codeblocks = subband.codeblocks;
-
-      for (var j = 0, jj = codeblocks.length; j < jj; j++) {
-        var codeblock = codeblocks[j];
-
-        if (codeblock.precinctNumber !== precinctNumber) {
-          continue;
-        }
-
-        precinctCodeblocks.push(codeblock);
-      }
-    }
-
-    return {
-      layerNumber: layerNumber,
-      codeblocks: precinctCodeblocks
-    };
-  }
-
-  function LayerResolutionComponentPositionIterator(context) {
-    var siz = context.SIZ;
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var layersCount = tile.codingStyleDefaultParameters.layersCount;
-    var componentsCount = siz.Csiz;
-    var maxDecompositionLevelsCount = 0;
-
-    for (var q = 0; q < componentsCount; q++) {
-      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);
-    }
-
-    var l = 0,
-        r = 0,
-        i = 0,
-        k = 0;
-
-    this.nextPacket = function JpxImage_nextPacket() {
-      for (; l < layersCount; l++) {
-        for (; r <= maxDecompositionLevelsCount; r++) {
-          for (; i < componentsCount; i++) {
-            var component = tile.components[i];
-
-            if (r > component.codingStyleParameters.decompositionLevelsCount) {
-              continue;
-            }
-
-            var resolution = component.resolutions[r];
-            var numprecincts = resolution.precinctParameters.numprecincts;
-
-            for (; k < numprecincts;) {
-              var packet = createPacket(resolution, k, l);
-              k++;
-              return packet;
-            }
-
-            k = 0;
-          }
-
-          i = 0;
-        }
-
-        r = 0;
-      }
-
-      throw new JpxError("Out of packets");
-    };
-  }
-
-  function ResolutionLayerComponentPositionIterator(context) {
-    var siz = context.SIZ;
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var layersCount = tile.codingStyleDefaultParameters.layersCount;
-    var componentsCount = siz.Csiz;
-    var maxDecompositionLevelsCount = 0;
-
-    for (var q = 0; q < componentsCount; q++) {
-      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);
-    }
-
-    var r = 0,
-        l = 0,
-        i = 0,
-        k = 0;
-
-    this.nextPacket = function JpxImage_nextPacket() {
-      for (; r <= maxDecompositionLevelsCount; r++) {
-        for (; l < layersCount; l++) {
-          for (; i < componentsCount; i++) {
-            var component = tile.components[i];
-
-            if (r > component.codingStyleParameters.decompositionLevelsCount) {
-              continue;
-            }
-
-            var resolution = component.resolutions[r];
-            var numprecincts = resolution.precinctParameters.numprecincts;
-
-            for (; k < numprecincts;) {
-              var packet = createPacket(resolution, k, l);
-              k++;
-              return packet;
-            }
-
-            k = 0;
-          }
-
-          i = 0;
-        }
-
-        l = 0;
-      }
-
-      throw new JpxError("Out of packets");
-    };
-  }
-
-  function ResolutionPositionComponentLayerIterator(context) {
-    var siz = context.SIZ;
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var layersCount = tile.codingStyleDefaultParameters.layersCount;
-    var componentsCount = siz.Csiz;
-    var l, r, c, p;
-    var maxDecompositionLevelsCount = 0;
-
-    for (c = 0; c < componentsCount; c++) {
-      var component = tile.components[c];
-      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);
-    }
-
-    var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);
-
-    for (r = 0; r <= maxDecompositionLevelsCount; ++r) {
-      var maxNumPrecincts = 0;
-
-      for (c = 0; c < componentsCount; ++c) {
-        var resolutions = tile.components[c].resolutions;
-
-        if (r < resolutions.length) {
-          maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);
-        }
-      }
-
-      maxNumPrecinctsInLevel[r] = maxNumPrecincts;
-    }
-
-    l = 0;
-    r = 0;
-    c = 0;
-    p = 0;
-
-    this.nextPacket = function JpxImage_nextPacket() {
-      for (; r <= maxDecompositionLevelsCount; r++) {
-        for (; p < maxNumPrecinctsInLevel[r]; p++) {
-          for (; c < componentsCount; c++) {
-            var component = tile.components[c];
-
-            if (r > component.codingStyleParameters.decompositionLevelsCount) {
-              continue;
-            }
-
-            var resolution = component.resolutions[r];
-            var numprecincts = resolution.precinctParameters.numprecincts;
-
-            if (p >= numprecincts) {
-              continue;
-            }
-
-            for (; l < layersCount;) {
-              var packet = createPacket(resolution, p, l);
-              l++;
-              return packet;
-            }
-
-            l = 0;
-          }
-
-          c = 0;
-        }
-
-        p = 0;
-      }
-
-      throw new JpxError("Out of packets");
-    };
-  }
-
-  function PositionComponentResolutionLayerIterator(context) {
-    var siz = context.SIZ;
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var layersCount = tile.codingStyleDefaultParameters.layersCount;
-    var componentsCount = siz.Csiz;
-    var precinctsSizes = getPrecinctSizesInImageScale(tile);
-    var precinctsIterationSizes = precinctsSizes;
-    var l = 0,
-        r = 0,
-        c = 0,
-        px = 0,
-        py = 0;
-
-    this.nextPacket = function JpxImage_nextPacket() {
-      for (; py < precinctsIterationSizes.maxNumHigh; py++) {
-        for (; px < precinctsIterationSizes.maxNumWide; px++) {
-          for (; c < componentsCount; c++) {
-            var component = tile.components[c];
-            var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;
-
-            for (; r <= decompositionLevelsCount; r++) {
-              var resolution = component.resolutions[r];
-              var sizeInImageScale = precinctsSizes.components[c].resolutions[r];
-              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);
-
-              if (k === null) {
-                continue;
-              }
-
-              for (; l < layersCount;) {
-                var packet = createPacket(resolution, k, l);
-                l++;
-                return packet;
-              }
-
-              l = 0;
-            }
-
-            r = 0;
-          }
-
-          c = 0;
-        }
-
-        px = 0;
-      }
-
-      throw new JpxError("Out of packets");
-    };
-  }
-
-  function ComponentPositionResolutionLayerIterator(context) {
-    var siz = context.SIZ;
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var layersCount = tile.codingStyleDefaultParameters.layersCount;
-    var componentsCount = siz.Csiz;
-    var precinctsSizes = getPrecinctSizesInImageScale(tile);
-    var l = 0,
-        r = 0,
-        c = 0,
-        px = 0,
-        py = 0;
-
-    this.nextPacket = function JpxImage_nextPacket() {
-      for (; c < componentsCount; ++c) {
-        var component = tile.components[c];
-        var precinctsIterationSizes = precinctsSizes.components[c];
-        var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;
-
-        for (; py < precinctsIterationSizes.maxNumHigh; py++) {
-          for (; px < precinctsIterationSizes.maxNumWide; px++) {
-            for (; r <= decompositionLevelsCount; r++) {
-              var resolution = component.resolutions[r];
-              var sizeInImageScale = precinctsIterationSizes.resolutions[r];
-              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);
-
-              if (k === null) {
-                continue;
-              }
-
-              for (; l < layersCount;) {
-                var packet = createPacket(resolution, k, l);
-                l++;
-                return packet;
-              }
-
-              l = 0;
-            }
-
-            r = 0;
-          }
-
-          px = 0;
-        }
-
-        py = 0;
-      }
-
-      throw new JpxError("Out of packets");
-    };
-  }
-
-  function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {
-    var posX = pxIndex * precinctIterationSizes.minWidth;
-    var posY = pyIndex * precinctIterationSizes.minHeight;
-
-    if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {
-      return null;
-    }
-
-    var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;
-    return posX / sizeInImageScale.height + startPrecinctRowIndex;
-  }
-
-  function getPrecinctSizesInImageScale(tile) {
-    var componentsCount = tile.components.length;
-    var minWidth = Number.MAX_VALUE;
-    var minHeight = Number.MAX_VALUE;
-    var maxNumWide = 0;
-    var maxNumHigh = 0;
-    var sizePerComponent = new Array(componentsCount);
-
-    for (var c = 0; c < componentsCount; c++) {
-      var component = tile.components[c];
-      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;
-      var sizePerResolution = new Array(decompositionLevelsCount + 1);
-      var minWidthCurrentComponent = Number.MAX_VALUE;
-      var minHeightCurrentComponent = Number.MAX_VALUE;
-      var maxNumWideCurrentComponent = 0;
-      var maxNumHighCurrentComponent = 0;
-      var scale = 1;
-
-      for (var r = decompositionLevelsCount; r >= 0; --r) {
-        var resolution = component.resolutions[r];
-        var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;
-        var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;
-        minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);
-        minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);
-        maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);
-        maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);
-        sizePerResolution[r] = {
-          width: widthCurrentResolution,
-          height: heightCurrentResolution
-        };
-        scale <<= 1;
-      }
-
-      minWidth = Math.min(minWidth, minWidthCurrentComponent);
-      minHeight = Math.min(minHeight, minHeightCurrentComponent);
-      maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);
-      maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);
-      sizePerComponent[c] = {
-        resolutions: sizePerResolution,
-        minWidth: minWidthCurrentComponent,
-        minHeight: minHeightCurrentComponent,
-        maxNumWide: maxNumWideCurrentComponent,
-        maxNumHigh: maxNumHighCurrentComponent
-      };
-    }
-
-    return {
-      components: sizePerComponent,
-      minWidth: minWidth,
-      minHeight: minHeight,
-      maxNumWide: maxNumWide,
-      maxNumHigh: maxNumHigh
-    };
-  }
-
-  function buildPackets(context) {
-    var siz = context.SIZ;
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var componentsCount = siz.Csiz;
-
-    for (var c = 0; c < componentsCount; c++) {
-      var component = tile.components[c];
-      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;
-      var resolutions = [];
-      var subbands = [];
-
-      for (var r = 0; r <= decompositionLevelsCount; r++) {
-        var blocksDimensions = getBlocksDimensions(context, component, r);
-        var resolution = {};
-        var scale = 1 << decompositionLevelsCount - r;
-        resolution.trx0 = Math.ceil(component.tcx0 / scale);
-        resolution.try0 = Math.ceil(component.tcy0 / scale);
-        resolution.trx1 = Math.ceil(component.tcx1 / scale);
-        resolution.try1 = Math.ceil(component.tcy1 / scale);
-        resolution.resLevel = r;
-        buildPrecincts(context, resolution, blocksDimensions);
-        resolutions.push(resolution);
-        var subband;
-
-        if (r === 0) {
-          subband = {};
-          subband.type = "LL";
-          subband.tbx0 = Math.ceil(component.tcx0 / scale);
-          subband.tby0 = Math.ceil(component.tcy0 / scale);
-          subband.tbx1 = Math.ceil(component.tcx1 / scale);
-          subband.tby1 = Math.ceil(component.tcy1 / scale);
-          subband.resolution = resolution;
-          buildCodeblocks(context, subband, blocksDimensions);
-          subbands.push(subband);
-          resolution.subbands = [subband];
-        } else {
-          var bscale = 1 << decompositionLevelsCount - r + 1;
-          var resolutionSubbands = [];
-          subband = {};
-          subband.type = "HL";
-          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);
-          subband.tby0 = Math.ceil(component.tcy0 / bscale);
-          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);
-          subband.tby1 = Math.ceil(component.tcy1 / bscale);
-          subband.resolution = resolution;
-          buildCodeblocks(context, subband, blocksDimensions);
-          subbands.push(subband);
-          resolutionSubbands.push(subband);
-          subband = {};
-          subband.type = "LH";
-          subband.tbx0 = Math.ceil(component.tcx0 / bscale);
-          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);
-          subband.tbx1 = Math.ceil(component.tcx1 / bscale);
-          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);
-          subband.resolution = resolution;
-          buildCodeblocks(context, subband, blocksDimensions);
-          subbands.push(subband);
-          resolutionSubbands.push(subband);
-          subband = {};
-          subband.type = "HH";
-          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);
-          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);
-          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);
-          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);
-          subband.resolution = resolution;
-          buildCodeblocks(context, subband, blocksDimensions);
-          subbands.push(subband);
-          resolutionSubbands.push(subband);
-          resolution.subbands = resolutionSubbands;
-        }
-      }
-
-      component.resolutions = resolutions;
-      component.subbands = subbands;
-    }
-
-    var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;
-
-    switch (progressionOrder) {
-      case 0:
-        tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);
-        break;
-
-      case 1:
-        tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);
-        break;
-
-      case 2:
-        tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);
-        break;
-
-      case 3:
-        tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);
-        break;
-
-      case 4:
-        tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);
-        break;
-
-      default:
-        throw new JpxError("Unsupported progression order ".concat(progressionOrder));
-    }
-  }
-
-  function parseTilePackets(context, data, offset, dataLength) {
-    var position = 0;
-    var buffer,
-        bufferSize = 0,
-        skipNextBit = false;
-
-    function readBits(count) {
-      while (bufferSize < count) {
-        var b = data[offset + position];
-        position++;
-
-        if (skipNextBit) {
-          buffer = buffer << 7 | b;
-          bufferSize += 7;
-          skipNextBit = false;
-        } else {
-          buffer = buffer << 8 | b;
-          bufferSize += 8;
-        }
-
-        if (b === 0xff) {
-          skipNextBit = true;
-        }
-      }
-
-      bufferSize -= count;
-      return buffer >>> bufferSize & (1 << count) - 1;
-    }
-
-    function skipMarkerIfEqual(value) {
-      if (data[offset + position - 1] === 0xff && data[offset + position] === value) {
-        skipBytes(1);
-        return true;
-      } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {
-        skipBytes(2);
-        return true;
-      }
-
-      return false;
-    }
-
-    function skipBytes(count) {
-      position += count;
-    }
-
-    function alignToByte() {
-      bufferSize = 0;
-
-      if (skipNextBit) {
-        position++;
-        skipNextBit = false;
-      }
-    }
-
-    function readCodingpasses() {
-      if (readBits(1) === 0) {
-        return 1;
-      }
-
-      if (readBits(1) === 0) {
-        return 2;
-      }
-
-      var value = readBits(2);
-
-      if (value < 3) {
-        return value + 3;
-      }
-
-      value = readBits(5);
-
-      if (value < 31) {
-        return value + 6;
-      }
-
-      value = readBits(7);
-      return value + 37;
-    }
-
-    var tileIndex = context.currentTile.index;
-    var tile = context.tiles[tileIndex];
-    var sopMarkerUsed = context.COD.sopMarkerUsed;
-    var ephMarkerUsed = context.COD.ephMarkerUsed;
-    var packetsIterator = tile.packetsIterator;
-
-    while (position < dataLength) {
-      alignToByte();
-
-      if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {
-        skipBytes(4);
-      }
-
-      var packet = packetsIterator.nextPacket();
-
-      if (!readBits(1)) {
-        continue;
-      }
-
-      var layerNumber = packet.layerNumber;
-      var queue = [],
-          codeblock;
-
-      for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {
-        codeblock = packet.codeblocks[i];
-        var precinct = codeblock.precinct;
-        var codeblockColumn = codeblock.cbx - precinct.cbxMin;
-        var codeblockRow = codeblock.cby - precinct.cbyMin;
-        var codeblockIncluded = false;
-        var firstTimeInclusion = false;
-        var valueReady;
-
-        if (codeblock["included"] !== undefined) {
-          codeblockIncluded = !!readBits(1);
-        } else {
-          precinct = codeblock.precinct;
-          var inclusionTree, zeroBitPlanesTree;
-
-          if (precinct["inclusionTree"] !== undefined) {
-            inclusionTree = precinct.inclusionTree;
-          } else {
-            var width = precinct.cbxMax - precinct.cbxMin + 1;
-            var height = precinct.cbyMax - precinct.cbyMin + 1;
-            inclusionTree = new InclusionTree(width, height, layerNumber);
-            zeroBitPlanesTree = new TagTree(width, height);
-            precinct.inclusionTree = inclusionTree;
-            precinct.zeroBitPlanesTree = zeroBitPlanesTree;
-          }
-
-          if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {
-            while (true) {
-              if (readBits(1)) {
-                valueReady = !inclusionTree.nextLevel();
-
-                if (valueReady) {
-                  codeblock.included = true;
-                  codeblockIncluded = firstTimeInclusion = true;
-                  break;
-                }
-              } else {
-                inclusionTree.incrementValue(layerNumber);
-                break;
-              }
-            }
-          }
-        }
-
-        if (!codeblockIncluded) {
-          continue;
-        }
-
-        if (firstTimeInclusion) {
-          zeroBitPlanesTree = precinct.zeroBitPlanesTree;
-          zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);
-
-          while (true) {
-            if (readBits(1)) {
-              valueReady = !zeroBitPlanesTree.nextLevel();
-
-              if (valueReady) {
-                break;
-              }
-            } else {
-              zeroBitPlanesTree.incrementValue();
-            }
-          }
-
-          codeblock.zeroBitPlanes = zeroBitPlanesTree.value;
-        }
-
-        var codingpasses = readCodingpasses();
-
-        while (readBits(1)) {
-          codeblock.Lblock++;
-        }
-
-        var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);
-        var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;
-        var codedDataLength = readBits(bits);
-        queue.push({
-          codeblock: codeblock,
-          codingpasses: codingpasses,
-          dataLength: codedDataLength
-        });
-      }
-
-      alignToByte();
-
-      if (ephMarkerUsed) {
-        skipMarkerIfEqual(0x92);
-      }
-
-      while (queue.length > 0) {
-        var packetItem = queue.shift();
-        codeblock = packetItem.codeblock;
-
-        if (codeblock["data"] === undefined) {
-          codeblock.data = [];
-        }
-
-        codeblock.data.push({
-          data: data,
-          start: offset + position,
-          end: offset + position + packetItem.dataLength,
-          codingpasses: packetItem.codingpasses
-        });
-        position += packetItem.dataLength;
-      }
-    }
-
-    return position;
-  }
-
-  function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {
-    var x0 = subband.tbx0;
-    var y0 = subband.tby0;
-    var width = subband.tbx1 - subband.tbx0;
-    var codeblocks = subband.codeblocks;
-    var right = subband.type.charAt(0) === "H" ? 1 : 0;
-    var bottom = subband.type.charAt(1) === "H" ? levelWidth : 0;
-
-    for (var i = 0, ii = codeblocks.length; i < ii; ++i) {
-      var codeblock = codeblocks[i];
-      var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;
-      var blockHeight = codeblock.tby1_ - codeblock.tby0_;
-
-      if (blockWidth === 0 || blockHeight === 0) {
-        continue;
-      }
-
-      if (codeblock["data"] === undefined) {
-        continue;
-      }
-
-      var bitModel, currentCodingpassType;
-      bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);
-      currentCodingpassType = 2;
-      var data = codeblock.data,
-          totalLength = 0,
-          codingpasses = 0;
-      var j, jj, dataItem;
-
-      for (j = 0, jj = data.length; j < jj; j++) {
-        dataItem = data[j];
-        totalLength += dataItem.end - dataItem.start;
-        codingpasses += dataItem.codingpasses;
-      }
-
-      var encodedData = new Uint8Array(totalLength);
-      var position = 0;
-
-      for (j = 0, jj = data.length; j < jj; j++) {
-        dataItem = data[j];
-        var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);
-        encodedData.set(chunk, position);
-        position += chunk.length;
-      }
-
-      var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);
-      bitModel.setDecoder(decoder);
-
-      for (j = 0; j < codingpasses; j++) {
-        switch (currentCodingpassType) {
-          case 0:
-            bitModel.runSignificancePropagationPass();
-            break;
-
-          case 1:
-            bitModel.runMagnitudeRefinementPass();
-            break;
-
-          case 2:
-            bitModel.runCleanupPass();
-
-            if (segmentationSymbolUsed) {
-              bitModel.checkSegmentationSymbol();
-            }
-
-            break;
-        }
-
-        currentCodingpassType = (currentCodingpassType + 1) % 3;
-      }
-
-      var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;
-      var sign = bitModel.coefficentsSign;
-      var magnitude = bitModel.coefficentsMagnitude;
-      var bitsDecoded = bitModel.bitsDecoded;
-      var magnitudeCorrection = reversible ? 0 : 0.5;
-      var k, n, nb;
-      position = 0;
-      var interleave = subband.type !== "LL";
-
-      for (j = 0; j < blockHeight; j++) {
-        var row = offset / width | 0;
-        var levelOffset = 2 * row * (levelWidth - width) + right + bottom;
-
-        for (k = 0; k < blockWidth; k++) {
-          n = magnitude[position];
-
-          if (n !== 0) {
-            n = (n + magnitudeCorrection) * delta;
-
-            if (sign[position] !== 0) {
-              n = -n;
-            }
-
-            nb = bitsDecoded[position];
-            var pos = interleave ? levelOffset + (offset << 1) : offset;
-
-            if (reversible && nb >= mb) {
-              coefficients[pos] = n;
-            } else {
-              coefficients[pos] = n * (1 << mb - nb);
-            }
-          }
-
-          offset++;
-          position++;
-        }
-
-        offset += width - blockWidth;
-      }
-    }
-  }
-
-  function transformTile(context, tile, c) {
-    var component = tile.components[c];
-    var codingStyleParameters = component.codingStyleParameters;
-    var quantizationParameters = component.quantizationParameters;
-    var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;
-    var spqcds = quantizationParameters.SPqcds;
-    var scalarExpounded = quantizationParameters.scalarExpounded;
-    var guardBits = quantizationParameters.guardBits;
-    var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;
-    var precision = context.components[c].precision;
-    var reversible = codingStyleParameters.reversibleTransformation;
-    var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();
-    var subbandCoefficients = [];
-    var b = 0;
-
-    for (var i = 0; i <= decompositionLevelsCount; i++) {
-      var resolution = component.resolutions[i];
-      var width = resolution.trx1 - resolution.trx0;
-      var height = resolution.try1 - resolution.try0;
-      var coefficients = new Float32Array(width * height);
-
-      for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {
-        var mu, epsilon;
-
-        if (!scalarExpounded) {
-          mu = spqcds[0].mu;
-          epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);
-        } else {
-          mu = spqcds[b].mu;
-          epsilon = spqcds[b].epsilon;
-          b++;
-        }
-
-        var subband = resolution.subbands[j];
-        var gainLog2 = SubbandsGainLog2[subband.type];
-        var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);
-        var mb = guardBits + epsilon - 1;
-        copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);
-      }
-
-      subbandCoefficients.push({
-        width: width,
-        height: height,
-        items: coefficients
-      });
-    }
-
-    var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);
-    return {
-      left: component.tcx0,
-      top: component.tcy0,
-      width: result.width,
-      height: result.height,
-      items: result.items
-    };
-  }
-
-  function transformComponents(context) {
-    var siz = context.SIZ;
-    var components = context.components;
-    var componentsCount = siz.Csiz;
-    var resultImages = [];
-
-    for (var i = 0, ii = context.tiles.length; i < ii; i++) {
-      var tile = context.tiles[i];
-      var transformedTiles = [];
-      var c;
-
-      for (c = 0; c < componentsCount; c++) {
-        transformedTiles[c] = transformTile(context, tile, c);
-      }
-
-      var tile0 = transformedTiles[0];
-      var out = new Uint8ClampedArray(tile0.items.length * componentsCount);
-      var result = {
-        left: tile0.left,
-        top: tile0.top,
-        width: tile0.width,
-        height: tile0.height,
-        items: out
-      };
-      var shift, offset;
-      var pos = 0,
-          j,
-          jj,
-          y0,
-          y1,
-          y2;
-
-      if (tile.codingStyleDefaultParameters.multipleComponentTransform) {
-        var fourComponents = componentsCount === 4;
-        var y0items = transformedTiles[0].items;
-        var y1items = transformedTiles[1].items;
-        var y2items = transformedTiles[2].items;
-        var y3items = fourComponents ? transformedTiles[3].items : null;
-        shift = components[0].precision - 8;
-        offset = (128 << shift) + 0.5;
-        var component0 = tile.components[0];
-        var alpha01 = componentsCount - 3;
-        jj = y0items.length;
-
-        if (!component0.codingStyleParameters.reversibleTransformation) {
-          for (j = 0; j < jj; j++, pos += alpha01) {
-            y0 = y0items[j] + offset;
-            y1 = y1items[j];
-            y2 = y2items[j];
-            out[pos++] = y0 + 1.402 * y2 >> shift;
-            out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;
-            out[pos++] = y0 + 1.772 * y1 >> shift;
-          }
-        } else {
-          for (j = 0; j < jj; j++, pos += alpha01) {
-            y0 = y0items[j] + offset;
-            y1 = y1items[j];
-            y2 = y2items[j];
-            var g = y0 - (y2 + y1 >> 2);
-            out[pos++] = g + y2 >> shift;
-            out[pos++] = g >> shift;
-            out[pos++] = g + y1 >> shift;
-          }
-        }
-
-        if (fourComponents) {
-          for (j = 0, pos = 3; j < jj; j++, pos += 4) {
-            out[pos] = y3items[j] + offset >> shift;
-          }
-        }
-      } else {
-        for (c = 0; c < componentsCount; c++) {
-          var items = transformedTiles[c].items;
-          shift = components[c].precision - 8;
-          offset = (128 << shift) + 0.5;
-
-          for (pos = c, j = 0, jj = items.length; j < jj; j++) {
-            out[pos] = items[j] + offset >> shift;
-            pos += componentsCount;
-          }
-        }
-      }
-
-      resultImages.push(result);
-    }
-
-    return resultImages;
-  }
-
-  function initializeTile(context, tileIndex) {
-    var siz = context.SIZ;
-    var componentsCount = siz.Csiz;
-    var tile = context.tiles[tileIndex];
-
-    for (var c = 0; c < componentsCount; c++) {
-      var component = tile.components[c];
-      var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;
-      component.quantizationParameters = qcdOrQcc;
-      var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;
-      component.codingStyleParameters = codOrCoc;
-    }
-
-    tile.codingStyleDefaultParameters = context.currentTile.COD;
-  }
-
-  var TagTree = function TagTreeClosure() {
-    function TagTree(width, height) {
-      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;
-      this.levels = [];
-
-      for (var i = 0; i < levelsLength; i++) {
-        var level = {
-          width: width,
-          height: height,
-          items: []
-        };
-        this.levels.push(level);
-        width = Math.ceil(width / 2);
-        height = Math.ceil(height / 2);
-      }
-    }
-
-    TagTree.prototype = {
-      reset: function TagTree_reset(i, j) {
-        var currentLevel = 0,
-            value = 0,
-            level;
-
-        while (currentLevel < this.levels.length) {
-          level = this.levels[currentLevel];
-          var index = i + j * level.width;
-
-          if (level.items[index] !== undefined) {
-            value = level.items[index];
-            break;
-          }
-
-          level.index = index;
-          i >>= 1;
-          j >>= 1;
-          currentLevel++;
-        }
-
-        currentLevel--;
-        level = this.levels[currentLevel];
-        level.items[level.index] = value;
-        this.currentLevel = currentLevel;
-        delete this.value;
-      },
-      incrementValue: function TagTree_incrementValue() {
-        var level = this.levels[this.currentLevel];
-        level.items[level.index]++;
-      },
-      nextLevel: function TagTree_nextLevel() {
-        var currentLevel = this.currentLevel;
-        var level = this.levels[currentLevel];
-        var value = level.items[level.index];
-        currentLevel--;
-
-        if (currentLevel < 0) {
-          this.value = value;
-          return false;
-        }
-
-        this.currentLevel = currentLevel;
-        level = this.levels[currentLevel];
-        level.items[level.index] = value;
-        return true;
-      }
-    };
-    return TagTree;
-  }();
-
-  var InclusionTree = function InclusionTreeClosure() {
-    function InclusionTree(width, height, defaultValue) {
-      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;
-      this.levels = [];
-
-      for (var i = 0; i < levelsLength; i++) {
-        var items = new Uint8Array(width * height);
-
-        for (var j = 0, jj = items.length; j < jj; j++) {
-          items[j] = defaultValue;
-        }
-
-        var level = {
-          width: width,
-          height: height,
-          items: items
-        };
-        this.levels.push(level);
-        width = Math.ceil(width / 2);
-        height = Math.ceil(height / 2);
-      }
-    }
-
-    InclusionTree.prototype = {
-      reset: function InclusionTree_reset(i, j, stopValue) {
-        var currentLevel = 0;
-
-        while (currentLevel < this.levels.length) {
-          var level = this.levels[currentLevel];
-          var index = i + j * level.width;
-          level.index = index;
-          var value = level.items[index];
-
-          if (value === 0xff) {
-            break;
-          }
-
-          if (value > stopValue) {
-            this.currentLevel = currentLevel;
-            this.propagateValues();
-            return false;
-          }
-
-          i >>= 1;
-          j >>= 1;
-          currentLevel++;
-        }
-
-        this.currentLevel = currentLevel - 1;
-        return true;
-      },
-      incrementValue: function InclusionTree_incrementValue(stopValue) {
-        var level = this.levels[this.currentLevel];
-        level.items[level.index] = stopValue + 1;
-        this.propagateValues();
-      },
-      propagateValues: function InclusionTree_propagateValues() {
-        var levelIndex = this.currentLevel;
-        var level = this.levels[levelIndex];
-        var currentValue = level.items[level.index];
-
-        while (--levelIndex >= 0) {
-          level = this.levels[levelIndex];
-          level.items[level.index] = currentValue;
-        }
-      },
-      nextLevel: function InclusionTree_nextLevel() {
-        var currentLevel = this.currentLevel;
-        var level = this.levels[currentLevel];
-        var value = level.items[level.index];
-        level.items[level.index] = 0xff;
-        currentLevel--;
-
-        if (currentLevel < 0) {
-          return false;
-        }
-
-        this.currentLevel = currentLevel;
-        level = this.levels[currentLevel];
-        level.items[level.index] = value;
-        return true;
-      }
-    };
-    return InclusionTree;
-  }();
-
-  var BitModel = function BitModelClosure() {
-    var UNIFORM_CONTEXT = 17;
-    var RUNLENGTH_CONTEXT = 18;
-    var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);
-    var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);
-    var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);
-
-    function BitModel(width, height, subband, zeroBitPlanes, mb) {
-      this.width = width;
-      this.height = height;
-      var contextLabelTable;
-
-      if (subband === "HH") {
-        contextLabelTable = HHContextLabel;
-      } else if (subband === "HL") {
-        contextLabelTable = HLContextLabel;
-      } else {
-        contextLabelTable = LLAndLHContextsLabel;
-      }
-
-      this.contextLabelTable = contextLabelTable;
-      var coefficientCount = width * height;
-      this.neighborsSignificance = new Uint8Array(coefficientCount);
-      this.coefficentsSign = new Uint8Array(coefficientCount);
-      var coefficentsMagnitude;
-
-      if (mb > 14) {
-        coefficentsMagnitude = new Uint32Array(coefficientCount);
-      } else if (mb > 6) {
-        coefficentsMagnitude = new Uint16Array(coefficientCount);
-      } else {
-        coefficentsMagnitude = new Uint8Array(coefficientCount);
-      }
-
-      this.coefficentsMagnitude = coefficentsMagnitude;
-      this.processingFlags = new Uint8Array(coefficientCount);
-      var bitsDecoded = new Uint8Array(coefficientCount);
-
-      if (zeroBitPlanes !== 0) {
-        for (var i = 0; i < coefficientCount; i++) {
-          bitsDecoded[i] = zeroBitPlanes;
-        }
-      }
-
-      this.bitsDecoded = bitsDecoded;
-      this.reset();
-    }
-
-    BitModel.prototype = {
-      setDecoder: function BitModel_setDecoder(decoder) {
-        this.decoder = decoder;
-      },
-      reset: function BitModel_reset() {
-        this.contexts = new Int8Array(19);
-        this.contexts[0] = 4 << 1 | 0;
-        this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;
-        this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;
-      },
-      setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {
-        var neighborsSignificance = this.neighborsSignificance;
-        var width = this.width,
-            height = this.height;
-        var left = column > 0;
-        var right = column + 1 < width;
-        var i;
-
-        if (row > 0) {
-          i = index - width;
-
-          if (left) {
-            neighborsSignificance[i - 1] += 0x10;
-          }
-
-          if (right) {
-            neighborsSignificance[i + 1] += 0x10;
-          }
-
-          neighborsSignificance[i] += 0x04;
-        }
-
-        if (row + 1 < height) {
-          i = index + width;
-
-          if (left) {
-            neighborsSignificance[i - 1] += 0x10;
-          }
-
-          if (right) {
-            neighborsSignificance[i + 1] += 0x10;
-          }
-
-          neighborsSignificance[i] += 0x04;
-        }
-
-        if (left) {
-          neighborsSignificance[index - 1] += 0x01;
-        }
-
-        if (right) {
-          neighborsSignificance[index + 1] += 0x01;
-        }
-
-        neighborsSignificance[index] |= 0x80;
-      },
-      runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {
-        var decoder = this.decoder;
-        var width = this.width,
-            height = this.height;
-        var coefficentsMagnitude = this.coefficentsMagnitude;
-        var coefficentsSign = this.coefficentsSign;
-        var neighborsSignificance = this.neighborsSignificance;
-        var processingFlags = this.processingFlags;
-        var contexts = this.contexts;
-        var labels = this.contextLabelTable;
-        var bitsDecoded = this.bitsDecoded;
-        var processedInverseMask = ~1;
-        var processedMask = 1;
-        var firstMagnitudeBitMask = 2;
-
-        for (var i0 = 0; i0 < height; i0 += 4) {
-          for (var j = 0; j < width; j++) {
-            var index = i0 * width + j;
-
-            for (var i1 = 0; i1 < 4; i1++, index += width) {
-              var i = i0 + i1;
-
-              if (i >= height) {
-                break;
-              }
-
-              processingFlags[index] &= processedInverseMask;
-
-              if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {
-                continue;
-              }
-
-              var contextLabel = labels[neighborsSignificance[index]];
-              var decision = decoder.readBit(contexts, contextLabel);
-
-              if (decision) {
-                var sign = this.decodeSignBit(i, j, index);
-                coefficentsSign[index] = sign;
-                coefficentsMagnitude[index] = 1;
-                this.setNeighborsSignificance(i, j, index);
-                processingFlags[index] |= firstMagnitudeBitMask;
-              }
-
-              bitsDecoded[index]++;
-              processingFlags[index] |= processedMask;
-            }
-          }
-        }
-      },
-      decodeSignBit: function BitModel_decodeSignBit(row, column, index) {
-        var width = this.width,
-            height = this.height;
-        var coefficentsMagnitude = this.coefficentsMagnitude;
-        var coefficentsSign = this.coefficentsSign;
-        var contribution, sign0, sign1, significance1;
-        var contextLabel, decoded;
-        significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;
-
-        if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {
-          sign1 = coefficentsSign[index + 1];
-
-          if (significance1) {
-            sign0 = coefficentsSign[index - 1];
-            contribution = 1 - sign1 - sign0;
-          } else {
-            contribution = 1 - sign1 - sign1;
-          }
-        } else if (significance1) {
-          sign0 = coefficentsSign[index - 1];
-          contribution = 1 - sign0 - sign0;
-        } else {
-          contribution = 0;
-        }
-
-        var horizontalContribution = 3 * contribution;
-        significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;
-
-        if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {
-          sign1 = coefficentsSign[index + width];
-
-          if (significance1) {
-            sign0 = coefficentsSign[index - width];
-            contribution = 1 - sign1 - sign0 + horizontalContribution;
-          } else {
-            contribution = 1 - sign1 - sign1 + horizontalContribution;
-          }
-        } else if (significance1) {
-          sign0 = coefficentsSign[index - width];
-          contribution = 1 - sign0 - sign0 + horizontalContribution;
-        } else {
-          contribution = horizontalContribution;
-        }
-
-        if (contribution >= 0) {
-          contextLabel = 9 + contribution;
-          decoded = this.decoder.readBit(this.contexts, contextLabel);
-        } else {
-          contextLabel = 9 - contribution;
-          decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;
-        }
-
-        return decoded;
-      },
-      runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {
-        var decoder = this.decoder;
-        var width = this.width,
-            height = this.height;
-        var coefficentsMagnitude = this.coefficentsMagnitude;
-        var neighborsSignificance = this.neighborsSignificance;
-        var contexts = this.contexts;
-        var bitsDecoded = this.bitsDecoded;
-        var processingFlags = this.processingFlags;
-        var processedMask = 1;
-        var firstMagnitudeBitMask = 2;
-        var length = width * height;
-        var width4 = width * 4;
-
-        for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {
-          indexNext = Math.min(length, index0 + width4);
-
-          for (var j = 0; j < width; j++) {
-            for (var index = index0 + j; index < indexNext; index += width) {
-              if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {
-                continue;
-              }
-
-              var contextLabel = 16;
-
-              if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {
-                processingFlags[index] ^= firstMagnitudeBitMask;
-                var significance = neighborsSignificance[index] & 127;
-                contextLabel = significance === 0 ? 15 : 14;
-              }
-
-              var bit = decoder.readBit(contexts, contextLabel);
-              coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;
-              bitsDecoded[index]++;
-              processingFlags[index] |= processedMask;
-            }
-          }
-        }
-      },
-      runCleanupPass: function BitModel_runCleanupPass() {
-        var decoder = this.decoder;
-        var width = this.width,
-            height = this.height;
-        var neighborsSignificance = this.neighborsSignificance;
-        var coefficentsMagnitude = this.coefficentsMagnitude;
-        var coefficentsSign = this.coefficentsSign;
-        var contexts = this.contexts;
-        var labels = this.contextLabelTable;
-        var bitsDecoded = this.bitsDecoded;
-        var processingFlags = this.processingFlags;
-        var processedMask = 1;
-        var firstMagnitudeBitMask = 2;
-        var oneRowDown = width;
-        var twoRowsDown = width * 2;
-        var threeRowsDown = width * 3;
-        var iNext;
-
-        for (var i0 = 0; i0 < height; i0 = iNext) {
-          iNext = Math.min(i0 + 4, height);
-          var indexBase = i0 * width;
-          var checkAllEmpty = i0 + 3 < height;
-
-          for (var j = 0; j < width; j++) {
-            var index0 = indexBase + j;
-            var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;
-            var i1 = 0,
-                index = index0;
-            var i = i0,
-                sign;
-
-            if (allEmpty) {
-              var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);
-
-              if (!hasSignificantCoefficent) {
-                bitsDecoded[index0]++;
-                bitsDecoded[index0 + oneRowDown]++;
-                bitsDecoded[index0 + twoRowsDown]++;
-                bitsDecoded[index0 + threeRowsDown]++;
-                continue;
-              }
-
-              i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);
-
-              if (i1 !== 0) {
-                i = i0 + i1;
-                index += i1 * width;
-              }
-
-              sign = this.decodeSignBit(i, j, index);
-              coefficentsSign[index] = sign;
-              coefficentsMagnitude[index] = 1;
-              this.setNeighborsSignificance(i, j, index);
-              processingFlags[index] |= firstMagnitudeBitMask;
-              index = index0;
-
-              for (var i2 = i0; i2 <= i; i2++, index += width) {
-                bitsDecoded[index]++;
-              }
-
-              i1++;
-            }
-
-            for (i = i0 + i1; i < iNext; i++, index += width) {
-              if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {
-                continue;
-              }
-
-              var contextLabel = labels[neighborsSignificance[index]];
-              var decision = decoder.readBit(contexts, contextLabel);
-
-              if (decision === 1) {
-                sign = this.decodeSignBit(i, j, index);
-                coefficentsSign[index] = sign;
-                coefficentsMagnitude[index] = 1;
-                this.setNeighborsSignificance(i, j, index);
-                processingFlags[index] |= firstMagnitudeBitMask;
-              }
-
-              bitsDecoded[index]++;
-            }
-          }
-        }
-      },
-      checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {
-        var decoder = this.decoder;
-        var contexts = this.contexts;
-        var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);
-
-        if (symbol !== 0xa) {
-          throw new JpxError("Invalid segmentation symbol");
-        }
-      }
-    };
-    return BitModel;
-  }();
-
-  var Transform = function TransformClosure() {
-    function Transform() {}
-
-    Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {
-      var ll = subbands[0];
-
-      for (var i = 1, ii = subbands.length; i < ii; i++) {
-        ll = this.iterate(ll, subbands[i], u0, v0);
-      }
-
-      return ll;
-    };
-
-    Transform.prototype.extend = function extend(buffer, offset, size) {
-      var i1 = offset - 1,
-          j1 = offset + 1;
-      var i2 = offset + size - 2,
-          j2 = offset + size;
-      buffer[i1--] = buffer[j1++];
-      buffer[j2++] = buffer[i2--];
-      buffer[i1--] = buffer[j1++];
-      buffer[j2++] = buffer[i2--];
-      buffer[i1--] = buffer[j1++];
-      buffer[j2++] = buffer[i2--];
-      buffer[i1] = buffer[j1];
-      buffer[j2] = buffer[i2];
-    };
-
-    Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {
-      var llWidth = ll.width,
-          llHeight = ll.height,
-          llItems = ll.items;
-      var width = hl_lh_hh.width;
-      var height = hl_lh_hh.height;
-      var items = hl_lh_hh.items;
-      var i, j, k, l, u, v;
-
-      for (k = 0, i = 0; i < llHeight; i++) {
-        l = i * 2 * width;
-
-        for (j = 0; j < llWidth; j++, k++, l += 2) {
-          items[l] = llItems[k];
-        }
-      }
-
-      llItems = ll.items = null;
-      var bufferPadding = 4;
-      var rowBuffer = new Float32Array(width + 2 * bufferPadding);
-
-      if (width === 1) {
-        if ((u0 & 1) !== 0) {
-          for (v = 0, k = 0; v < height; v++, k += width) {
-            items[k] *= 0.5;
-          }
-        }
-      } else {
-        for (v = 0, k = 0; v < height; v++, k += width) {
-          rowBuffer.set(items.subarray(k, k + width), bufferPadding);
-          this.extend(rowBuffer, bufferPadding, width);
-          this.filter(rowBuffer, bufferPadding, width);
-          items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);
-        }
-      }
-
-      var numBuffers = 16;
-      var colBuffers = [];
-
-      for (i = 0; i < numBuffers; i++) {
-        colBuffers.push(new Float32Array(height + 2 * bufferPadding));
-      }
-
-      var b,
-          currentBuffer = 0;
-      ll = bufferPadding + height;
-
-      if (height === 1) {
-        if ((v0 & 1) !== 0) {
-          for (u = 0; u < width; u++) {
-            items[u] *= 0.5;
-          }
-        }
-      } else {
-        for (u = 0; u < width; u++) {
-          if (currentBuffer === 0) {
-            numBuffers = Math.min(width - u, numBuffers);
-
-            for (k = u, l = bufferPadding; l < ll; k += width, l++) {
-              for (b = 0; b < numBuffers; b++) {
-                colBuffers[b][l] = items[k + b];
-              }
-            }
-
-            currentBuffer = numBuffers;
-          }
-
-          currentBuffer--;
-          var buffer = colBuffers[currentBuffer];
-          this.extend(buffer, bufferPadding, height);
-          this.filter(buffer, bufferPadding, height);
-
-          if (currentBuffer === 0) {
-            k = u - numBuffers + 1;
-
-            for (l = bufferPadding; l < ll; k += width, l++) {
-              for (b = 0; b < numBuffers; b++) {
-                items[k + b] = colBuffers[b][l];
-              }
-            }
-          }
-        }
-      }
-
-      return {
-        width: width,
-        height: height,
-        items: items
-      };
-    };
-
-    return Transform;
-  }();
-
-  var IrreversibleTransform = function IrreversibleTransformClosure() {
-    function IrreversibleTransform() {
-      Transform.call(this);
-    }
-
-    IrreversibleTransform.prototype = Object.create(Transform.prototype);
-
-    IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {
-      var len = length >> 1;
-      offset = offset | 0;
-      var j, n, current, next;
-      var alpha = -1.586134342059924;
-      var beta = -0.052980118572961;
-      var gamma = 0.882911075530934;
-      var delta = 0.443506852043971;
-      var K = 1.230174104914001;
-      var K_ = 1 / K;
-      j = offset - 3;
-
-      for (n = len + 4; n--; j += 2) {
-        x[j] *= K_;
-      }
-
-      j = offset - 2;
-      current = delta * x[j - 1];
-
-      for (n = len + 3; n--; j += 2) {
-        next = delta * x[j + 1];
-        x[j] = K * x[j] - current - next;
-
-        if (n--) {
-          j += 2;
-          current = delta * x[j + 1];
-          x[j] = K * x[j] - current - next;
-        } else {
-          break;
-        }
-      }
-
-      j = offset - 1;
-      current = gamma * x[j - 1];
-
-      for (n = len + 2; n--; j += 2) {
-        next = gamma * x[j + 1];
-        x[j] -= current + next;
-
-        if (n--) {
-          j += 2;
-          current = gamma * x[j + 1];
-          x[j] -= current + next;
-        } else {
-          break;
-        }
-      }
-
-      j = offset;
-      current = beta * x[j - 1];
-
-      for (n = len + 1; n--; j += 2) {
-        next = beta * x[j + 1];
-        x[j] -= current + next;
-
-        if (n--) {
-          j += 2;
-          current = beta * x[j + 1];
-          x[j] -= current + next;
-        } else {
-          break;
-        }
-      }
-
-      if (len !== 0) {
-        j = offset + 1;
-        current = alpha * x[j - 1];
-
-        for (n = len; n--; j += 2) {
-          next = alpha * x[j + 1];
-          x[j] -= current + next;
-
-          if (n--) {
-            j += 2;
-            current = alpha * x[j + 1];
-            x[j] -= current + next;
-          } else {
-            break;
-          }
-        }
-      }
-    };
-
-    return IrreversibleTransform;
-  }();
-
-  var ReversibleTransform = function ReversibleTransformClosure() {
-    function ReversibleTransform() {
-      Transform.call(this);
-    }
-
-    ReversibleTransform.prototype = Object.create(Transform.prototype);
-
-    ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {
-      var len = length >> 1;
-      offset = offset | 0;
-      var j, n;
-
-      for (j = offset, n = len + 1; n--; j += 2) {
-        x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;
-      }
-
-      for (j = offset + 1, n = len; n--; j += 2) {
-        x[j] += x[j - 1] + x[j + 1] >> 1;
-      }
-    };
-
-    return ReversibleTransform;
-  }();
-
-  return JpxImage;
-}();
-
-exports.JpxImage = JpxImage;
-
-/***/ }),
-/* 211 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _stream = __w_pdfjs_require__(201);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var ARCFourCipher = function ARCFourCipherClosure() {
-  function ARCFourCipher(key) {
-    this.a = 0;
-    this.b = 0;
-    var s = new Uint8Array(256);
-    var i,
-        j = 0,
-        tmp,
-        keyLength = key.length;
-
-    for (i = 0; i < 256; ++i) {
-      s[i] = i;
-    }
-
-    for (i = 0; i < 256; ++i) {
-      tmp = s[i];
-      j = j + tmp + key[i % keyLength] & 0xff;
-      s[i] = s[j];
-      s[j] = tmp;
-    }
-
-    this.s = s;
-  }
-
-  ARCFourCipher.prototype = {
-    encryptBlock: function ARCFourCipher_encryptBlock(data) {
-      var i,
-          n = data.length,
-          tmp,
-          tmp2;
-      var a = this.a,
-          b = this.b,
-          s = this.s;
-      var output = new Uint8Array(n);
-
-      for (i = 0; i < n; ++i) {
-        a = a + 1 & 0xff;
-        tmp = s[a];
-        b = b + tmp & 0xff;
-        tmp2 = s[b];
-        s[a] = tmp2;
-        s[b] = tmp;
-        output[i] = data[i] ^ s[tmp + tmp2 & 0xff];
-      }
-
-      this.a = a;
-      this.b = b;
-      return output;
-    }
-  };
-  ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;
-  return ARCFourCipher;
-}();
-
-exports.ARCFourCipher = ARCFourCipher;
-
-var calculateMD5 = function calculateMD5Closure() {
-  var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);
-  var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);
-
-  function hash(data, offset, length) {
-    var h0 = 1732584193,
-        h1 = -271733879,
-        h2 = -1732584194,
-        h3 = 271733878;
-    var paddedLength = length + 72 & ~63;
-    var padded = new Uint8Array(paddedLength);
-    var i, j, n;
-
-    for (i = 0; i < length; ++i) {
-      padded[i] = data[offset++];
-    }
-
-    padded[i++] = 0x80;
-    n = paddedLength - 8;
-
-    while (i < n) {
-      padded[i++] = 0;
-    }
-
-    padded[i++] = length << 3 & 0xff;
-    padded[i++] = length >> 5 & 0xff;
-    padded[i++] = length >> 13 & 0xff;
-    padded[i++] = length >> 21 & 0xff;
-    padded[i++] = length >>> 29 & 0xff;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    var w = new Int32Array(16);
-
-    for (i = 0; i < paddedLength;) {
-      for (j = 0; j < 16; ++j, i += 4) {
-        w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;
-      }
-
-      var a = h0,
-          b = h1,
-          c = h2,
-          d = h3,
-          f,
-          g;
-
-      for (j = 0; j < 64; ++j) {
-        if (j < 16) {
-          f = b & c | ~b & d;
-          g = j;
-        } else if (j < 32) {
-          f = d & b | ~d & c;
-          g = 5 * j + 1 & 15;
-        } else if (j < 48) {
-          f = b ^ c ^ d;
-          g = 3 * j + 5 & 15;
-        } else {
-          f = c ^ (b | ~d);
-          g = 7 * j & 15;
-        }
-
-        var tmp = d,
-            rotateArg = a + f + k[j] + w[g] | 0,
-            rotate = r[j];
-        d = c;
-        c = b;
-        b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;
-        a = tmp;
-      }
-
-      h0 = h0 + a | 0;
-      h1 = h1 + b | 0;
-      h2 = h2 + c | 0;
-      h3 = h3 + d | 0;
-    }
-
-    return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);
-  }
-
-  return hash;
-}();
-
-exports.calculateMD5 = calculateMD5;
-
-var Word64 = function Word64Closure() {
-  function Word64(highInteger, lowInteger) {
-    this.high = highInteger | 0;
-    this.low = lowInteger | 0;
-  }
-
-  Word64.prototype = {
-    and: function Word64_and(word) {
-      this.high &= word.high;
-      this.low &= word.low;
-    },
-    xor: function Word64_xor(word) {
-      this.high ^= word.high;
-      this.low ^= word.low;
-    },
-    or: function Word64_or(word) {
-      this.high |= word.high;
-      this.low |= word.low;
-    },
-    shiftRight: function Word64_shiftRight(places) {
-      if (places >= 32) {
-        this.low = this.high >>> places - 32 | 0;
-        this.high = 0;
-      } else {
-        this.low = this.low >>> places | this.high << 32 - places;
-        this.high = this.high >>> places | 0;
-      }
-    },
-    shiftLeft: function Word64_shiftLeft(places) {
-      if (places >= 32) {
-        this.high = this.low << places - 32;
-        this.low = 0;
-      } else {
-        this.high = this.high << places | this.low >>> 32 - places;
-        this.low = this.low << places;
-      }
-    },
-    rotateRight: function Word64_rotateRight(places) {
-      var low, high;
-
-      if (places & 32) {
-        high = this.low;
-        low = this.high;
-      } else {
-        low = this.low;
-        high = this.high;
-      }
-
-      places &= 31;
-      this.low = low >>> places | high << 32 - places;
-      this.high = high >>> places | low << 32 - places;
-    },
-    not: function Word64_not() {
-      this.high = ~this.high;
-      this.low = ~this.low;
-    },
-    add: function Word64_add(word) {
-      var lowAdd = (this.low >>> 0) + (word.low >>> 0);
-      var highAdd = (this.high >>> 0) + (word.high >>> 0);
-
-      if (lowAdd > 0xffffffff) {
-        highAdd += 1;
-      }
-
-      this.low = lowAdd | 0;
-      this.high = highAdd | 0;
-    },
-    copyTo: function Word64_copyTo(bytes, offset) {
-      bytes[offset] = this.high >>> 24 & 0xff;
-      bytes[offset + 1] = this.high >> 16 & 0xff;
-      bytes[offset + 2] = this.high >> 8 & 0xff;
-      bytes[offset + 3] = this.high & 0xff;
-      bytes[offset + 4] = this.low >>> 24 & 0xff;
-      bytes[offset + 5] = this.low >> 16 & 0xff;
-      bytes[offset + 6] = this.low >> 8 & 0xff;
-      bytes[offset + 7] = this.low & 0xff;
-    },
-    assign: function Word64_assign(word) {
-      this.high = word.high;
-      this.low = word.low;
-    }
-  };
-  return Word64;
-}();
-
-var calculateSHA256 = function calculateSHA256Closure() {
-  function rotr(x, n) {
-    return x >>> n | x << 32 - n;
-  }
-
-  function ch(x, y, z) {
-    return x & y ^ ~x & z;
-  }
-
-  function maj(x, y, z) {
-    return x & y ^ x & z ^ y & z;
-  }
-
-  function sigma(x) {
-    return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);
-  }
-
-  function sigmaPrime(x) {
-    return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);
-  }
-
-  function littleSigma(x) {
-    return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;
-  }
-
-  function littleSigmaPrime(x) {
-    return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;
-  }
-
-  var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];
-
-  function hash(data, offset, length) {
-    var h0 = 0x6a09e667,
-        h1 = 0xbb67ae85,
-        h2 = 0x3c6ef372,
-        h3 = 0xa54ff53a,
-        h4 = 0x510e527f,
-        h5 = 0x9b05688c,
-        h6 = 0x1f83d9ab,
-        h7 = 0x5be0cd19;
-    var paddedLength = Math.ceil((length + 9) / 64) * 64;
-    var padded = new Uint8Array(paddedLength);
-    var i, j, n;
-
-    for (i = 0; i < length; ++i) {
-      padded[i] = data[offset++];
-    }
-
-    padded[i++] = 0x80;
-    n = paddedLength - 8;
-
-    while (i < n) {
-      padded[i++] = 0;
-    }
-
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = length >>> 29 & 0xff;
-    padded[i++] = length >> 21 & 0xff;
-    padded[i++] = length >> 13 & 0xff;
-    padded[i++] = length >> 5 & 0xff;
-    padded[i++] = length << 3 & 0xff;
-    var w = new Uint32Array(64);
-
-    for (i = 0; i < paddedLength;) {
-      for (j = 0; j < 16; ++j) {
-        w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];
-        i += 4;
-      }
-
-      for (j = 16; j < 64; ++j) {
-        w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;
-      }
-
-      var a = h0,
-          b = h1,
-          c = h2,
-          d = h3,
-          e = h4,
-          f = h5,
-          g = h6,
-          h = h7,
-          t1,
-          t2;
-
-      for (j = 0; j < 64; ++j) {
-        t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];
-        t2 = sigma(a) + maj(a, b, c);
-        h = g;
-        g = f;
-        f = e;
-        e = d + t1 | 0;
-        d = c;
-        c = b;
-        b = a;
-        a = t1 + t2 | 0;
-      }
-
-      h0 = h0 + a | 0;
-      h1 = h1 + b | 0;
-      h2 = h2 + c | 0;
-      h3 = h3 + d | 0;
-      h4 = h4 + e | 0;
-      h5 = h5 + f | 0;
-      h6 = h6 + g | 0;
-      h7 = h7 + h | 0;
-    }
-
-    return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);
-  }
-
-  return hash;
-}();
-
-exports.calculateSHA256 = calculateSHA256;
-
-var calculateSHA512 = function calculateSHA512Closure() {
-  function ch(result, x, y, z, tmp) {
-    result.assign(x);
-    result.and(y);
-    tmp.assign(x);
-    tmp.not();
-    tmp.and(z);
-    result.xor(tmp);
-  }
-
-  function maj(result, x, y, z, tmp) {
-    result.assign(x);
-    result.and(y);
-    tmp.assign(x);
-    tmp.and(z);
-    result.xor(tmp);
-    tmp.assign(y);
-    tmp.and(z);
-    result.xor(tmp);
-  }
-
-  function sigma(result, x, tmp) {
-    result.assign(x);
-    result.rotateRight(28);
-    tmp.assign(x);
-    tmp.rotateRight(34);
-    result.xor(tmp);
-    tmp.assign(x);
-    tmp.rotateRight(39);
-    result.xor(tmp);
-  }
-
-  function sigmaPrime(result, x, tmp) {
-    result.assign(x);
-    result.rotateRight(14);
-    tmp.assign(x);
-    tmp.rotateRight(18);
-    result.xor(tmp);
-    tmp.assign(x);
-    tmp.rotateRight(41);
-    result.xor(tmp);
-  }
-
-  function littleSigma(result, x, tmp) {
-    result.assign(x);
-    result.rotateRight(1);
-    tmp.assign(x);
-    tmp.rotateRight(8);
-    result.xor(tmp);
-    tmp.assign(x);
-    tmp.shiftRight(7);
-    result.xor(tmp);
-  }
-
-  function littleSigmaPrime(result, x, tmp) {
-    result.assign(x);
-    result.rotateRight(19);
-    tmp.assign(x);
-    tmp.rotateRight(61);
-    result.xor(tmp);
-    tmp.assign(x);
-    tmp.shiftRight(6);
-    result.xor(tmp);
-  }
-
-  var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];
-
-  function hash(data, offset, length, mode384) {
-    mode384 = !!mode384;
-    var h0, h1, h2, h3, h4, h5, h6, h7;
-
-    if (!mode384) {
-      h0 = new Word64(0x6a09e667, 0xf3bcc908);
-      h1 = new Word64(0xbb67ae85, 0x84caa73b);
-      h2 = new Word64(0x3c6ef372, 0xfe94f82b);
-      h3 = new Word64(0xa54ff53a, 0x5f1d36f1);
-      h4 = new Word64(0x510e527f, 0xade682d1);
-      h5 = new Word64(0x9b05688c, 0x2b3e6c1f);
-      h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);
-      h7 = new Word64(0x5be0cd19, 0x137e2179);
-    } else {
-      h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);
-      h1 = new Word64(0x629a292a, 0x367cd507);
-      h2 = new Word64(0x9159015a, 0x3070dd17);
-      h3 = new Word64(0x152fecd8, 0xf70e5939);
-      h4 = new Word64(0x67332667, 0xffc00b31);
-      h5 = new Word64(0x8eb44a87, 0x68581511);
-      h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);
-      h7 = new Word64(0x47b5481d, 0xbefa4fa4);
-    }
-
-    var paddedLength = Math.ceil((length + 17) / 128) * 128;
-    var padded = new Uint8Array(paddedLength);
-    var i, j, n;
-
-    for (i = 0; i < length; ++i) {
-      padded[i] = data[offset++];
-    }
-
-    padded[i++] = 0x80;
-    n = paddedLength - 16;
-
-    while (i < n) {
-      padded[i++] = 0;
-    }
-
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = 0;
-    padded[i++] = length >>> 29 & 0xff;
-    padded[i++] = length >> 21 & 0xff;
-    padded[i++] = length >> 13 & 0xff;
-    padded[i++] = length >> 5 & 0xff;
-    padded[i++] = length << 3 & 0xff;
-    var w = new Array(80);
-
-    for (i = 0; i < 80; i++) {
-      w[i] = new Word64(0, 0);
-    }
-
-    var a = new Word64(0, 0),
-        b = new Word64(0, 0),
-        c = new Word64(0, 0);
-    var d = new Word64(0, 0),
-        e = new Word64(0, 0),
-        f = new Word64(0, 0);
-    var g = new Word64(0, 0),
-        h = new Word64(0, 0);
-    var t1 = new Word64(0, 0),
-        t2 = new Word64(0, 0);
-    var tmp1 = new Word64(0, 0),
-        tmp2 = new Word64(0, 0),
-        tmp3;
-
-    for (i = 0; i < paddedLength;) {
-      for (j = 0; j < 16; ++j) {
-        w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];
-        w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];
-        i += 8;
-      }
-
-      for (j = 16; j < 80; ++j) {
-        tmp3 = w[j];
-        littleSigmaPrime(tmp3, w[j - 2], tmp2);
-        tmp3.add(w[j - 7]);
-        littleSigma(tmp1, w[j - 15], tmp2);
-        tmp3.add(tmp1);
-        tmp3.add(w[j - 16]);
-      }
-
-      a.assign(h0);
-      b.assign(h1);
-      c.assign(h2);
-      d.assign(h3);
-      e.assign(h4);
-      f.assign(h5);
-      g.assign(h6);
-      h.assign(h7);
-
-      for (j = 0; j < 80; ++j) {
-        t1.assign(h);
-        sigmaPrime(tmp1, e, tmp2);
-        t1.add(tmp1);
-        ch(tmp1, e, f, g, tmp2);
-        t1.add(tmp1);
-        t1.add(k[j]);
-        t1.add(w[j]);
-        sigma(t2, a, tmp2);
-        maj(tmp1, a, b, c, tmp2);
-        t2.add(tmp1);
-        tmp3 = h;
-        h = g;
-        g = f;
-        f = e;
-        d.add(t1);
-        e = d;
-        d = c;
-        c = b;
-        b = a;
-        tmp3.assign(t1);
-        tmp3.add(t2);
-        a = tmp3;
-      }
-
-      h0.add(a);
-      h1.add(b);
-      h2.add(c);
-      h3.add(d);
-      h4.add(e);
-      h5.add(f);
-      h6.add(g);
-      h7.add(h);
-    }
-
-    var result;
-
-    if (!mode384) {
-      result = new Uint8Array(64);
-      h0.copyTo(result, 0);
-      h1.copyTo(result, 8);
-      h2.copyTo(result, 16);
-      h3.copyTo(result, 24);
-      h4.copyTo(result, 32);
-      h5.copyTo(result, 40);
-      h6.copyTo(result, 48);
-      h7.copyTo(result, 56);
-    } else {
-      result = new Uint8Array(48);
-      h0.copyTo(result, 0);
-      h1.copyTo(result, 8);
-      h2.copyTo(result, 16);
-      h3.copyTo(result, 24);
-      h4.copyTo(result, 32);
-      h5.copyTo(result, 40);
-    }
-
-    return result;
-  }
-
-  return hash;
-}();
-
-exports.calculateSHA512 = calculateSHA512;
-
-var calculateSHA384 = function calculateSHA384Closure() {
-  function hash(data, offset, length) {
-    return calculateSHA512(data, offset, length, true);
-  }
-
-  return hash;
-}();
-
-exports.calculateSHA384 = calculateSHA384;
-
-var NullCipher = function NullCipherClosure() {
-  function NullCipher() {}
-
-  NullCipher.prototype = {
-    decryptBlock: function NullCipher_decryptBlock(data) {
-      return data;
-    }
-  };
-  return NullCipher;
-}();
-
-var AESBaseCipher = /*#__PURE__*/function () {
-  function AESBaseCipher() {
-    _classCallCheck(this, AESBaseCipher);
-
-    if (this.constructor === AESBaseCipher) {
-      (0, _util.unreachable)("Cannot initialize AESBaseCipher.");
-    }
-
-    this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);
-    this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);
-    this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);
-    this._mixCol = new Uint8Array(256);
-
-    for (var i = 0; i < 256; i++) {
-      if (i < 128) {
-        this._mixCol[i] = i << 1;
-      } else {
-        this._mixCol[i] = i << 1 ^ 0x1b;
-      }
-    }
-
-    this.buffer = new Uint8Array(16);
-    this.bufferPosition = 0;
-  }
-
-  _createClass(AESBaseCipher, [{
-    key: "_expandKey",
-    value: function _expandKey(cipherKey) {
-      (0, _util.unreachable)("Cannot call `_expandKey` on the base class");
-    }
-  }, {
-    key: "_decrypt",
-    value: function _decrypt(input, key) {
-      var t, u, v;
-      var state = new Uint8Array(16);
-      state.set(input);
-
-      for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {
-        state[j] ^= key[k];
-      }
-
-      for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {
-        t = state[13];
-        state[13] = state[9];
-        state[9] = state[5];
-        state[5] = state[1];
-        state[1] = t;
-        t = state[14];
-        u = state[10];
-        state[14] = state[6];
-        state[10] = state[2];
-        state[6] = t;
-        state[2] = u;
-        t = state[15];
-        u = state[11];
-        v = state[7];
-        state[15] = state[3];
-        state[11] = t;
-        state[7] = u;
-        state[3] = v;
-
-        for (var _j = 0; _j < 16; ++_j) {
-          state[_j] = this._inv_s[state[_j]];
-        }
-
-        for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {
-          state[_j2] ^= key[_k];
-        }
-
-        for (var _j3 = 0; _j3 < 16; _j3 += 4) {
-          var s0 = this._mix[state[_j3]];
-          var s1 = this._mix[state[_j3 + 1]];
-          var s2 = this._mix[state[_j3 + 2]];
-          var s3 = this._mix[state[_j3 + 3]];
-          t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;
-          state[_j3] = t >>> 24 & 0xff;
-          state[_j3 + 1] = t >> 16 & 0xff;
-          state[_j3 + 2] = t >> 8 & 0xff;
-          state[_j3 + 3] = t & 0xff;
-        }
-      }
-
-      t = state[13];
-      state[13] = state[9];
-      state[9] = state[5];
-      state[5] = state[1];
-      state[1] = t;
-      t = state[14];
-      u = state[10];
-      state[14] = state[6];
-      state[10] = state[2];
-      state[6] = t;
-      state[2] = u;
-      t = state[15];
-      u = state[11];
-      v = state[7];
-      state[15] = state[3];
-      state[11] = t;
-      state[7] = u;
-      state[3] = v;
-
-      for (var _j4 = 0; _j4 < 16; ++_j4) {
-        state[_j4] = this._inv_s[state[_j4]];
-        state[_j4] ^= key[_j4];
-      }
-
-      return state;
-    }
-  }, {
-    key: "_encrypt",
-    value: function _encrypt(input, key) {
-      var s = this._s;
-      var t, u, v;
-      var state = new Uint8Array(16);
-      state.set(input);
-
-      for (var j = 0; j < 16; ++j) {
-        state[j] ^= key[j];
-      }
-
-      for (var i = 1; i < this._cyclesOfRepetition; i++) {
-        for (var _j5 = 0; _j5 < 16; ++_j5) {
-          state[_j5] = s[state[_j5]];
-        }
-
-        v = state[1];
-        state[1] = state[5];
-        state[5] = state[9];
-        state[9] = state[13];
-        state[13] = v;
-        v = state[2];
-        u = state[6];
-        state[2] = state[10];
-        state[6] = state[14];
-        state[10] = v;
-        state[14] = u;
-        v = state[3];
-        u = state[7];
-        t = state[11];
-        state[3] = state[15];
-        state[7] = v;
-        state[11] = u;
-        state[15] = t;
-
-        for (var _j6 = 0; _j6 < 16; _j6 += 4) {
-          var s0 = state[_j6 + 0];
-          var s1 = state[_j6 + 1];
-          var s2 = state[_j6 + 2];
-          var s3 = state[_j6 + 3];
-          t = s0 ^ s1 ^ s2 ^ s3;
-          state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];
-          state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];
-          state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];
-          state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];
-        }
-
-        for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {
-          state[_j7] ^= key[k];
-        }
-      }
-
-      for (var _j8 = 0; _j8 < 16; ++_j8) {
-        state[_j8] = s[state[_j8]];
-      }
-
-      v = state[1];
-      state[1] = state[5];
-      state[5] = state[9];
-      state[9] = state[13];
-      state[13] = v;
-      v = state[2];
-      u = state[6];
-      state[2] = state[10];
-      state[6] = state[14];
-      state[10] = v;
-      state[14] = u;
-      v = state[3];
-      u = state[7];
-      t = state[11];
-      state[3] = state[15];
-      state[7] = v;
-      state[11] = u;
-      state[15] = t;
-
-      for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {
-        state[_j9] ^= key[_k2];
-      }
-
-      return state;
-    }
-  }, {
-    key: "_decryptBlock2",
-    value: function _decryptBlock2(data, finalize) {
-      var sourceLength = data.length;
-      var buffer = this.buffer,
-          bufferLength = this.bufferPosition;
-      var result = [];
-      var iv = this.iv;
-
-      for (var i = 0; i < sourceLength; ++i) {
-        buffer[bufferLength] = data[i];
-        ++bufferLength;
-
-        if (bufferLength < 16) {
-          continue;
-        }
-
-        var plain = this._decrypt(buffer, this._key);
-
-        for (var j = 0; j < 16; ++j) {
-          plain[j] ^= iv[j];
-        }
-
-        iv = buffer;
-        result.push(plain);
-        buffer = new Uint8Array(16);
-        bufferLength = 0;
-      }
-
-      this.buffer = buffer;
-      this.bufferLength = bufferLength;
-      this.iv = iv;
-
-      if (result.length === 0) {
-        return new Uint8Array(0);
-      }
-
-      var outputLength = 16 * result.length;
-
-      if (finalize) {
-        var lastBlock = result[result.length - 1];
-        var psLen = lastBlock[15];
-
-        if (psLen <= 16) {
-          for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {
-            if (lastBlock[_i] !== psLen) {
-              psLen = 0;
-              break;
-            }
-          }
-
-          outputLength -= psLen;
-          result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);
-        }
-      }
-
-      var output = new Uint8Array(outputLength);
-
-      for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {
-        output.set(result[_i2], _j10);
-      }
-
-      return output;
-    }
-  }, {
-    key: "decryptBlock",
-    value: function decryptBlock(data, finalize) {
-      var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
-      var sourceLength = data.length;
-      var buffer = this.buffer;
-      var bufferLength = this.bufferPosition;
-
-      if (iv) {
-        this.iv = iv;
-      } else {
-        for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {
-          buffer[bufferLength] = data[i];
-        }
-
-        if (bufferLength < 16) {
-          this.bufferLength = bufferLength;
-          return new Uint8Array(0);
-        }
-
-        this.iv = buffer;
-        data = data.subarray(16);
-      }
-
-      this.buffer = new Uint8Array(16);
-      this.bufferLength = 0;
-      this.decryptBlock = this._decryptBlock2;
-      return this.decryptBlock(data, finalize);
-    }
-  }, {
-    key: "encrypt",
-    value: function encrypt(data, iv) {
-      var sourceLength = data.length;
-      var buffer = this.buffer,
-          bufferLength = this.bufferPosition;
-      var result = [];
-
-      if (!iv) {
-        iv = new Uint8Array(16);
-      }
-
-      for (var i = 0; i < sourceLength; ++i) {
-        buffer[bufferLength] = data[i];
-        ++bufferLength;
-
-        if (bufferLength < 16) {
-          continue;
-        }
-
-        for (var j = 0; j < 16; ++j) {
-          buffer[j] ^= iv[j];
-        }
-
-        var cipher = this._encrypt(buffer, this._key);
-
-        iv = cipher;
-        result.push(cipher);
-        buffer = new Uint8Array(16);
-        bufferLength = 0;
-      }
-
-      this.buffer = buffer;
-      this.bufferLength = bufferLength;
-      this.iv = iv;
-
-      if (result.length === 0) {
-        return new Uint8Array(0);
-      }
-
-      var outputLength = 16 * result.length;
-      var output = new Uint8Array(outputLength);
-
-      for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {
-        output.set(result[_i3], _j11);
-      }
-
-      return output;
-    }
-  }]);
-
-  return AESBaseCipher;
-}();
-
-var AES128Cipher = /*#__PURE__*/function (_AESBaseCipher) {
-  _inherits(AES128Cipher, _AESBaseCipher);
-
-  function AES128Cipher(key) {
-    var _this;
-
-    _classCallCheck(this, AES128Cipher);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(AES128Cipher).call(this));
-    _this._cyclesOfRepetition = 10;
-    _this._keySize = 160;
-    _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);
-    _this._key = _this._expandKey(key);
-    return _this;
-  }
-
-  _createClass(AES128Cipher, [{
-    key: "_expandKey",
-    value: function _expandKey(cipherKey) {
-      var b = 176;
-      var s = this._s;
-      var rcon = this._rcon;
-      var result = new Uint8Array(b);
-      result.set(cipherKey);
-
-      for (var j = 16, i = 1; j < b; ++i) {
-        var t1 = result[j - 3];
-        var t2 = result[j - 2];
-        var t3 = result[j - 1];
-        var t4 = result[j - 4];
-        t1 = s[t1];
-        t2 = s[t2];
-        t3 = s[t3];
-        t4 = s[t4];
-        t1 = t1 ^ rcon[i];
-
-        for (var n = 0; n < 4; ++n) {
-          result[j] = t1 ^= result[j - 16];
-          j++;
-          result[j] = t2 ^= result[j - 16];
-          j++;
-          result[j] = t3 ^= result[j - 16];
-          j++;
-          result[j] = t4 ^= result[j - 16];
-          j++;
-        }
-      }
-
-      return result;
-    }
-  }]);
-
-  return AES128Cipher;
-}(AESBaseCipher);
-
-exports.AES128Cipher = AES128Cipher;
-
-var AES256Cipher = /*#__PURE__*/function (_AESBaseCipher2) {
-  _inherits(AES256Cipher, _AESBaseCipher2);
-
-  function AES256Cipher(key) {
-    var _this2;
-
-    _classCallCheck(this, AES256Cipher);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AES256Cipher).call(this));
-    _this2._cyclesOfRepetition = 14;
-    _this2._keySize = 224;
-    _this2._key = _this2._expandKey(key);
-    return _this2;
-  }
-
-  _createClass(AES256Cipher, [{
-    key: "_expandKey",
-    value: function _expandKey(cipherKey) {
-      var b = 240;
-      var s = this._s;
-      var result = new Uint8Array(b);
-      result.set(cipherKey);
-      var r = 1;
-      var t1, t2, t3, t4;
-
-      for (var j = 32, i = 1; j < b; ++i) {
-        if (j % 32 === 16) {
-          t1 = s[t1];
-          t2 = s[t2];
-          t3 = s[t3];
-          t4 = s[t4];
-        } else if (j % 32 === 0) {
-          t1 = result[j - 3];
-          t2 = result[j - 2];
-          t3 = result[j - 1];
-          t4 = result[j - 4];
-          t1 = s[t1];
-          t2 = s[t2];
-          t3 = s[t3];
-          t4 = s[t4];
-          t1 = t1 ^ r;
-
-          if ((r <<= 1) >= 256) {
-            r = (r ^ 0x1b) & 0xff;
-          }
-        }
-
-        for (var n = 0; n < 4; ++n) {
-          result[j] = t1 ^= result[j - 32];
-          j++;
-          result[j] = t2 ^= result[j - 32];
-          j++;
-          result[j] = t3 ^= result[j - 32];
-          j++;
-          result[j] = t4 ^= result[j - 32];
-          j++;
-        }
-      }
-
-      return result;
-    }
-  }]);
-
-  return AES256Cipher;
-}(AESBaseCipher);
-
-exports.AES256Cipher = AES256Cipher;
-
-var PDF17 = function PDF17Closure() {
-  function compareByteArrays(array1, array2) {
-    if (array1.length !== array2.length) {
-      return false;
-    }
-
-    for (var i = 0; i < array1.length; i++) {
-      if (array1[i] !== array2[i]) {
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  function PDF17() {}
-
-  PDF17.prototype = {
-    checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
-      var hashData = new Uint8Array(password.length + 56);
-      hashData.set(password, 0);
-      hashData.set(ownerValidationSalt, password.length);
-      hashData.set(userBytes, password.length + ownerValidationSalt.length);
-      var result = calculateSHA256(hashData, 0, hashData.length);
-      return compareByteArrays(result, ownerPassword);
-    },
-    checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {
-      var hashData = new Uint8Array(password.length + 8);
-      hashData.set(password, 0);
-      hashData.set(userValidationSalt, password.length);
-      var result = calculateSHA256(hashData, 0, hashData.length);
-      return compareByteArrays(result, userPassword);
-    },
-    getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
-      var hashData = new Uint8Array(password.length + 56);
-      hashData.set(password, 0);
-      hashData.set(ownerKeySalt, password.length);
-      hashData.set(userBytes, password.length + ownerKeySalt.length);
-      var key = calculateSHA256(hashData, 0, hashData.length);
-      var cipher = new AES256Cipher(key);
-      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));
-    },
-    getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {
-      var hashData = new Uint8Array(password.length + 8);
-      hashData.set(password, 0);
-      hashData.set(userKeySalt, password.length);
-      var key = calculateSHA256(hashData, 0, hashData.length);
-      var cipher = new AES256Cipher(key);
-      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));
-    }
-  };
-  return PDF17;
-}();
-
-exports.PDF17 = PDF17;
-
-var PDF20 = function PDF20Closure() {
-  function concatArrays(array1, array2) {
-    var t = new Uint8Array(array1.length + array2.length);
-    t.set(array1, 0);
-    t.set(array2, array1.length);
-    return t;
-  }
-
-  function calculatePDF20Hash(password, input, userBytes) {
-    var k = calculateSHA256(input, 0, input.length).subarray(0, 32);
-    var e = [0];
-    var i = 0;
-
-    while (i < 64 || e[e.length - 1] > i - 32) {
-      var arrayLength = password.length + k.length + userBytes.length;
-      var k1 = new Uint8Array(arrayLength * 64);
-      var array = concatArrays(password, k);
-      array = concatArrays(array, userBytes);
-
-      for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {
-        k1.set(array, pos);
-      }
-
-      var cipher = new AES128Cipher(k.subarray(0, 16));
-      e = cipher.encrypt(k1, k.subarray(16, 32));
-      var remainder = 0;
-
-      for (var z = 0; z < 16; z++) {
-        remainder *= 256 % 3;
-        remainder %= 3;
-        remainder += (e[z] >>> 0) % 3;
-        remainder %= 3;
-      }
-
-      if (remainder === 0) {
-        k = calculateSHA256(e, 0, e.length);
-      } else if (remainder === 1) {
-        k = calculateSHA384(e, 0, e.length);
-      } else if (remainder === 2) {
-        k = calculateSHA512(e, 0, e.length);
-      }
-
-      i++;
-    }
-
-    return k.subarray(0, 32);
-  }
-
-  function PDF20() {}
-
-  function compareByteArrays(array1, array2) {
-    if (array1.length !== array2.length) {
-      return false;
-    }
-
-    for (var i = 0; i < array1.length; i++) {
-      if (array1[i] !== array2[i]) {
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  PDF20.prototype = {
-    hash: function PDF20_hash(password, concatBytes, userBytes) {
-      return calculatePDF20Hash(password, concatBytes, userBytes);
-    },
-    checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {
-      var hashData = new Uint8Array(password.length + 56);
-      hashData.set(password, 0);
-      hashData.set(ownerValidationSalt, password.length);
-      hashData.set(userBytes, password.length + ownerValidationSalt.length);
-      var result = calculatePDF20Hash(password, hashData, userBytes);
-      return compareByteArrays(result, ownerPassword);
-    },
-    checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {
-      var hashData = new Uint8Array(password.length + 8);
-      hashData.set(password, 0);
-      hashData.set(userValidationSalt, password.length);
-      var result = calculatePDF20Hash(password, hashData, []);
-      return compareByteArrays(result, userPassword);
-    },
-    getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {
-      var hashData = new Uint8Array(password.length + 56);
-      hashData.set(password, 0);
-      hashData.set(ownerKeySalt, password.length);
-      hashData.set(userBytes, password.length + ownerKeySalt.length);
-      var key = calculatePDF20Hash(password, hashData, userBytes);
-      var cipher = new AES256Cipher(key);
-      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));
-    },
-    getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {
-      var hashData = new Uint8Array(password.length + 8);
-      hashData.set(password, 0);
-      hashData.set(userKeySalt, password.length);
-      var key = calculatePDF20Hash(password, hashData, []);
-      var cipher = new AES256Cipher(key);
-      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));
-    }
-  };
-  return PDF20;
-}();
-
-exports.PDF20 = PDF20;
-
-var CipherTransform = function CipherTransformClosure() {
-  function CipherTransform(stringCipherConstructor, streamCipherConstructor) {
-    this.StringCipherConstructor = stringCipherConstructor;
-    this.StreamCipherConstructor = streamCipherConstructor;
-  }
-
-  CipherTransform.prototype = {
-    createStream: function CipherTransform_createStream(stream, length) {
-      var cipher = new this.StreamCipherConstructor();
-      return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {
-        return cipher.decryptBlock(data, finalize);
-      });
-    },
-    decryptString: function CipherTransform_decryptString(s) {
-      var cipher = new this.StringCipherConstructor();
-      var data = (0, _util.stringToBytes)(s);
-      data = cipher.decryptBlock(data, true);
-      return (0, _util.bytesToString)(data);
-    }
-  };
-  return CipherTransform;
-}();
-
-var CipherTransformFactory = function CipherTransformFactoryClosure() {
-  var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);
-
-  function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {
-    if (password) {
-      var passwordLength = Math.min(127, password.length);
-      password = password.subarray(0, passwordLength);
-    } else {
-      password = [];
-    }
-
-    var pdfAlgorithm;
-
-    if (revision === 6) {
-      pdfAlgorithm = new PDF20();
-    } else {
-      pdfAlgorithm = new PDF17();
-    }
-
-    if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {
-      return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);
-    } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {
-      return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);
-    }
-
-    return null;
-  }
-
-  function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {
-    var hashDataSize = 40 + ownerPassword.length + fileId.length;
-    var hashData = new Uint8Array(hashDataSize),
-        i = 0,
-        j,
-        n;
-
-    if (password) {
-      n = Math.min(32, password.length);
-
-      for (; i < n; ++i) {
-        hashData[i] = password[i];
-      }
-    }
-
-    j = 0;
-
-    while (i < 32) {
-      hashData[i++] = defaultPasswordBytes[j++];
-    }
-
-    for (j = 0, n = ownerPassword.length; j < n; ++j) {
-      hashData[i++] = ownerPassword[j];
-    }
-
-    hashData[i++] = flags & 0xff;
-    hashData[i++] = flags >> 8 & 0xff;
-    hashData[i++] = flags >> 16 & 0xff;
-    hashData[i++] = flags >>> 24 & 0xff;
-
-    for (j = 0, n = fileId.length; j < n; ++j) {
-      hashData[i++] = fileId[j];
-    }
-
-    if (revision >= 4 && !encryptMetadata) {
-      hashData[i++] = 0xff;
-      hashData[i++] = 0xff;
-      hashData[i++] = 0xff;
-      hashData[i++] = 0xff;
-    }
-
-    var hash = calculateMD5(hashData, 0, i);
-    var keyLengthInBytes = keyLength >> 3;
-
-    if (revision >= 3) {
-      for (j = 0; j < 50; ++j) {
-        hash = calculateMD5(hash, 0, keyLengthInBytes);
-      }
-    }
-
-    var encryptionKey = hash.subarray(0, keyLengthInBytes);
-    var cipher, checkData;
-
-    if (revision >= 3) {
-      for (i = 0; i < 32; ++i) {
-        hashData[i] = defaultPasswordBytes[i];
-      }
-
-      for (j = 0, n = fileId.length; j < n; ++j) {
-        hashData[i++] = fileId[j];
-      }
-
-      cipher = new ARCFourCipher(encryptionKey);
-      checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));
-      n = encryptionKey.length;
-      var derivedKey = new Uint8Array(n),
-          k;
-
-      for (j = 1; j <= 19; ++j) {
-        for (k = 0; k < n; ++k) {
-          derivedKey[k] = encryptionKey[k] ^ j;
-        }
-
-        cipher = new ARCFourCipher(derivedKey);
-        checkData = cipher.encryptBlock(checkData);
-      }
-
-      for (j = 0, n = checkData.length; j < n; ++j) {
-        if (userPassword[j] !== checkData[j]) {
-          return null;
-        }
-      }
-    } else {
-      cipher = new ARCFourCipher(encryptionKey);
-      checkData = cipher.encryptBlock(defaultPasswordBytes);
-
-      for (j = 0, n = checkData.length; j < n; ++j) {
-        if (userPassword[j] !== checkData[j]) {
-          return null;
-        }
-      }
-    }
-
-    return encryptionKey;
-  }
-
-  function decodeUserPassword(password, ownerPassword, revision, keyLength) {
-    var hashData = new Uint8Array(32),
-        i = 0,
-        j,
-        n;
-    n = Math.min(32, password.length);
-
-    for (; i < n; ++i) {
-      hashData[i] = password[i];
-    }
-
-    j = 0;
-
-    while (i < 32) {
-      hashData[i++] = defaultPasswordBytes[j++];
-    }
-
-    var hash = calculateMD5(hashData, 0, i);
-    var keyLengthInBytes = keyLength >> 3;
-
-    if (revision >= 3) {
-      for (j = 0; j < 50; ++j) {
-        hash = calculateMD5(hash, 0, hash.length);
-      }
-    }
-
-    var cipher, userPassword;
-
-    if (revision >= 3) {
-      userPassword = ownerPassword;
-      var derivedKey = new Uint8Array(keyLengthInBytes),
-          k;
-
-      for (j = 19; j >= 0; j--) {
-        for (k = 0; k < keyLengthInBytes; ++k) {
-          derivedKey[k] = hash[k] ^ j;
-        }
-
-        cipher = new ARCFourCipher(derivedKey);
-        userPassword = cipher.encryptBlock(userPassword);
-      }
-    } else {
-      cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));
-      userPassword = cipher.encryptBlock(ownerPassword);
-    }
-
-    return userPassword;
-  }
-
-  var identityName = _primitives.Name.get("Identity");
-
-  function CipherTransformFactory(dict, fileId, password) {
-    var filter = dict.get("Filter");
-
-    if (!(0, _primitives.isName)(filter, "Standard")) {
-      throw new _util.FormatError("unknown encryption method");
-    }
-
-    this.dict = dict;
-    var algorithm = dict.get("V");
-
-    if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {
-      throw new _util.FormatError("unsupported encryption algorithm");
-    }
-
-    this.algorithm = algorithm;
-    var keyLength = dict.get("Length");
-
-    if (!keyLength) {
-      if (algorithm <= 3) {
-        keyLength = 40;
-      } else {
-        var cfDict = dict.get("CF");
-        var streamCryptoName = dict.get("StmF");
-
-        if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {
-          cfDict.suppressEncryption = true;
-          var handlerDict = cfDict.get(streamCryptoName.name);
-          keyLength = handlerDict && handlerDict.get("Length") || 128;
-
-          if (keyLength < 40) {
-            keyLength <<= 3;
-          }
-        }
-      }
-    }
-
-    if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {
-      throw new _util.FormatError("invalid key length");
-    }
-
-    var ownerPassword = (0, _util.stringToBytes)(dict.get("O")).subarray(0, 32);
-    var userPassword = (0, _util.stringToBytes)(dict.get("U")).subarray(0, 32);
-    var flags = dict.get("P");
-    var revision = dict.get("R");
-    var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get("EncryptMetadata") !== false;
-    this.encryptMetadata = encryptMetadata;
-    var fileIdBytes = (0, _util.stringToBytes)(fileId);
-    var passwordBytes;
-
-    if (password) {
-      if (revision === 6) {
-        try {
-          password = (0, _util.utf8StringToString)(password);
-        } catch (ex) {
-          (0, _util.warn)("CipherTransformFactory: " + "Unable to convert UTF8 encoded password.");
-        }
-      }
-
-      passwordBytes = (0, _util.stringToBytes)(password);
-    }
-
-    var encryptionKey;
-
-    if (algorithm !== 5) {
-      encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);
-    } else {
-      var ownerValidationSalt = (0, _util.stringToBytes)(dict.get("O")).subarray(32, 40);
-      var ownerKeySalt = (0, _util.stringToBytes)(dict.get("O")).subarray(40, 48);
-      var uBytes = (0, _util.stringToBytes)(dict.get("U")).subarray(0, 48);
-      var userValidationSalt = (0, _util.stringToBytes)(dict.get("U")).subarray(32, 40);
-      var userKeySalt = (0, _util.stringToBytes)(dict.get("U")).subarray(40, 48);
-      var ownerEncryption = (0, _util.stringToBytes)(dict.get("OE"));
-      var userEncryption = (0, _util.stringToBytes)(dict.get("UE"));
-      var perms = (0, _util.stringToBytes)(dict.get("Perms"));
-      encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);
-    }
-
-    if (!encryptionKey && !password) {
-      throw new _util.PasswordException("No password given", _util.PasswordResponses.NEED_PASSWORD);
-    } else if (!encryptionKey && password) {
-      var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);
-      encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);
-    }
-
-    if (!encryptionKey) {
-      throw new _util.PasswordException("Incorrect Password", _util.PasswordResponses.INCORRECT_PASSWORD);
-    }
-
-    this.encryptionKey = encryptionKey;
-
-    if (algorithm >= 4) {
-      var cf = dict.get("CF");
-
-      if ((0, _primitives.isDict)(cf)) {
-        cf.suppressEncryption = true;
-      }
-
-      this.cf = cf;
-      this.stmf = dict.get("StmF") || identityName;
-      this.strf = dict.get("StrF") || identityName;
-      this.eff = dict.get("EFF") || this.stmf;
-    }
-  }
-
-  function buildObjectKey(num, gen, encryptionKey, isAes) {
-    var key = new Uint8Array(encryptionKey.length + 9),
-        i,
-        n;
-
-    for (i = 0, n = encryptionKey.length; i < n; ++i) {
-      key[i] = encryptionKey[i];
-    }
-
-    key[i++] = num & 0xff;
-    key[i++] = num >> 8 & 0xff;
-    key[i++] = num >> 16 & 0xff;
-    key[i++] = gen & 0xff;
-    key[i++] = gen >> 8 & 0xff;
-
-    if (isAes) {
-      key[i++] = 0x73;
-      key[i++] = 0x41;
-      key[i++] = 0x6c;
-      key[i++] = 0x54;
-    }
-
-    var hash = calculateMD5(key, 0, i);
-    return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));
-  }
-
-  function buildCipherConstructor(cf, name, num, gen, key) {
-    if (!(0, _primitives.isName)(name)) {
-      throw new _util.FormatError("Invalid crypt filter name.");
-    }
-
-    var cryptFilter = cf.get(name.name);
-    var cfm;
-
-    if (cryptFilter !== null && cryptFilter !== undefined) {
-      cfm = cryptFilter.get("CFM");
-    }
-
-    if (!cfm || cfm.name === "None") {
-      return function cipherTransformFactoryBuildCipherConstructorNone() {
-        return new NullCipher();
-      };
-    }
-
-    if (cfm.name === "V2") {
-      return function cipherTransformFactoryBuildCipherConstructorV2() {
-        return new ARCFourCipher(buildObjectKey(num, gen, key, false));
-      };
-    }
-
-    if (cfm.name === "AESV2") {
-      return function cipherTransformFactoryBuildCipherConstructorAESV2() {
-        return new AES128Cipher(buildObjectKey(num, gen, key, true));
-      };
-    }
-
-    if (cfm.name === "AESV3") {
-      return function cipherTransformFactoryBuildCipherConstructorAESV3() {
-        return new AES256Cipher(key);
-      };
-    }
-
-    throw new _util.FormatError("Unknown crypto method");
-  }
-
-  CipherTransformFactory.prototype = {
-    createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {
-      if (this.algorithm === 4 || this.algorithm === 5) {
-        return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));
-      }
-
-      var key = buildObjectKey(num, gen, this.encryptionKey, false);
-
-      var cipherConstructor = function buildCipherCipherConstructor() {
-        return new ARCFourCipher(key);
-      };
-
-      return new CipherTransform(cipherConstructor, cipherConstructor);
-    }
-  };
-  return CipherTransformFactory;
-}();
-
-exports.CipherTransformFactory = CipherTransformFactory;
-
-/***/ }),
-/* 212 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.ColorSpace = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {
-  var COMPONENTS = 3;
-  alpha01 = alpha01 !== 1 ? 0 : alpha01;
-  var xRatio = w1 / w2;
-  var yRatio = h1 / h2;
-  var newIndex = 0,
-      oldIndex;
-  var xScaled = new Uint16Array(w2);
-  var w1Scanline = w1 * COMPONENTS;
-
-  for (var i = 0; i < w2; i++) {
-    xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;
-  }
-
-  for (var _i = 0; _i < h2; _i++) {
-    var py = Math.floor(_i * yRatio) * w1Scanline;
-
-    for (var j = 0; j < w2; j++) {
-      oldIndex = py + xScaled[j];
-      dest[newIndex++] = src[oldIndex++];
-      dest[newIndex++] = src[oldIndex++];
-      dest[newIndex++] = src[oldIndex++];
-      newIndex += alpha01;
-    }
-  }
-}
-
-var ColorSpace = /*#__PURE__*/function () {
-  function ColorSpace(name, numComps) {
-    _classCallCheck(this, ColorSpace);
-
-    if (this.constructor === ColorSpace) {
-      (0, _util.unreachable)("Cannot initialize ColorSpace.");
-    }
-
-    this.name = name;
-    this.numComps = numComps;
-  }
-
-  _createClass(ColorSpace, [{
-    key: "getRgb",
-    value: function getRgb(src, srcOffset) {
-      var rgb = new Uint8ClampedArray(3);
-      this.getRgbItem(src, srcOffset, rgb, 0);
-      return rgb;
-    }
-  }, {
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      (0, _util.unreachable)("Should not call ColorSpace.getRgbItem");
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      (0, _util.unreachable)("Should not call ColorSpace.getRgbBuffer");
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      (0, _util.unreachable)("Should not call ColorSpace.getOutputLength");
-    }
-  }, {
-    key: "isPassthrough",
-    value: function isPassthrough(bits) {
-      return false;
-    }
-  }, {
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decodeMap, bpc) {
-      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);
-    }
-  }, {
-    key: "fillRgb",
-    value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {
-      var count = originalWidth * originalHeight;
-      var rgbBuf = null;
-      var numComponentColors = 1 << bpc;
-      var needsResizing = originalHeight !== height || originalWidth !== width;
-
-      if (this.isPassthrough(bpc)) {
-        rgbBuf = comps;
-      } else if (this.numComps === 1 && count > numComponentColors && this.name !== "DeviceGray" && this.name !== "DeviceRGB") {
-        var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);
-
-        for (var i = 0; i < numComponentColors; i++) {
-          allColors[i] = i;
-        }
-
-        var colorMap = new Uint8ClampedArray(numComponentColors * 3);
-        this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);
-
-        if (!needsResizing) {
-          var destPos = 0;
-
-          for (var _i2 = 0; _i2 < count; ++_i2) {
-            var key = comps[_i2] * 3;
-            dest[destPos++] = colorMap[key];
-            dest[destPos++] = colorMap[key + 1];
-            dest[destPos++] = colorMap[key + 2];
-            destPos += alpha01;
-          }
-        } else {
-          rgbBuf = new Uint8Array(count * 3);
-          var rgbPos = 0;
-
-          for (var _i3 = 0; _i3 < count; ++_i3) {
-            var _key = comps[_i3] * 3;
-
-            rgbBuf[rgbPos++] = colorMap[_key];
-            rgbBuf[rgbPos++] = colorMap[_key + 1];
-            rgbBuf[rgbPos++] = colorMap[_key + 2];
-          }
-        }
-      } else {
-        if (!needsResizing) {
-          this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);
-        } else {
-          rgbBuf = new Uint8ClampedArray(count * 3);
-          this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);
-        }
-      }
-
-      if (rgbBuf) {
-        if (needsResizing) {
-          resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);
-        } else {
-          var _destPos = 0,
-              _rgbPos = 0;
-
-          for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {
-            dest[_destPos++] = rgbBuf[_rgbPos++];
-            dest[_destPos++] = rgbBuf[_rgbPos++];
-            dest[_destPos++] = rgbBuf[_rgbPos++];
-            _destPos += alpha01;
-          }
-        }
-      }
-    }
-  }, {
-    key: "usesZeroToOneRange",
-    get: function get() {
-      return (0, _util.shadow)(this, "usesZeroToOneRange", true);
-    }
-  }], [{
-    key: "parse",
-    value: function parse(cs, xref, res, pdfFunctionFactory) {
-      var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);
-      return this.fromIR(IR);
-    }
-  }, {
-    key: "fromIR",
-    value: function fromIR(IR) {
-      var name = Array.isArray(IR) ? IR[0] : IR;
-      var whitePoint, blackPoint, gamma;
-
-      switch (name) {
-        case "DeviceGrayCS":
-          return this.singletons.gray;
-
-        case "DeviceRgbCS":
-          return this.singletons.rgb;
-
-        case "DeviceCmykCS":
-          return this.singletons.cmyk;
-
-        case "CalGrayCS":
-          whitePoint = IR[1];
-          blackPoint = IR[2];
-          gamma = IR[3];
-          return new CalGrayCS(whitePoint, blackPoint, gamma);
-
-        case "CalRGBCS":
-          whitePoint = IR[1];
-          blackPoint = IR[2];
-          gamma = IR[3];
-          var matrix = IR[4];
-          return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);
-
-        case "PatternCS":
-          var basePatternCS = IR[1];
-
-          if (basePatternCS) {
-            basePatternCS = this.fromIR(basePatternCS);
-          }
-
-          return new PatternCS(basePatternCS);
-
-        case "IndexedCS":
-          var baseIndexedCS = IR[1];
-          var hiVal = IR[2];
-          var lookup = IR[3];
-          return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);
-
-        case "AlternateCS":
-          var numComps = IR[1];
-          var alt = IR[2];
-          var tintFn = IR[3];
-          return new AlternateCS(numComps, this.fromIR(alt), tintFn);
-
-        case "LabCS":
-          whitePoint = IR[1];
-          blackPoint = IR[2];
-          var range = IR[3];
-          return new LabCS(whitePoint, blackPoint, range);
-
-        default:
-          throw new _util.FormatError("Unknown colorspace name: ".concat(name));
-      }
-    }
-  }, {
-    key: "parseToIR",
-    value: function parseToIR(cs, xref) {
-      var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
-      var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;
-      cs = xref.fetchIfRef(cs);
-
-      if ((0, _primitives.isName)(cs)) {
-        switch (cs.name) {
-          case "DeviceGray":
-          case "G":
-            return "DeviceGrayCS";
-
-          case "DeviceRGB":
-          case "RGB":
-            return "DeviceRgbCS";
-
-          case "DeviceCMYK":
-          case "CMYK":
-            return "DeviceCmykCS";
-
-          case "Pattern":
-            return ["PatternCS", null];
-
-          default:
-            if ((0, _primitives.isDict)(res)) {
-              var colorSpaces = res.get("ColorSpace");
-
-              if ((0, _primitives.isDict)(colorSpaces)) {
-                var resCS = colorSpaces.get(cs.name);
-
-                if (resCS) {
-                  if ((0, _primitives.isName)(resCS)) {
-                    return this.parseToIR(resCS, xref, res, pdfFunctionFactory);
-                  }
-
-                  cs = resCS;
-                  break;
-                }
-              }
-            }
-
-            throw new _util.FormatError("unrecognized colorspace ".concat(cs.name));
-        }
-      }
-
-      if (Array.isArray(cs)) {
-        var mode = xref.fetchIfRef(cs[0]).name;
-        var numComps, params, alt, whitePoint, blackPoint, gamma;
-
-        switch (mode) {
-          case "DeviceGray":
-          case "G":
-            return "DeviceGrayCS";
-
-          case "DeviceRGB":
-          case "RGB":
-            return "DeviceRgbCS";
-
-          case "DeviceCMYK":
-          case "CMYK":
-            return "DeviceCmykCS";
-
-          case "CalGray":
-            params = xref.fetchIfRef(cs[1]);
-            whitePoint = params.getArray("WhitePoint");
-            blackPoint = params.getArray("BlackPoint");
-            gamma = params.get("Gamma");
-            return ["CalGrayCS", whitePoint, blackPoint, gamma];
-
-          case "CalRGB":
-            params = xref.fetchIfRef(cs[1]);
-            whitePoint = params.getArray("WhitePoint");
-            blackPoint = params.getArray("BlackPoint");
-            gamma = params.getArray("Gamma");
-            var matrix = params.getArray("Matrix");
-            return ["CalRGBCS", whitePoint, blackPoint, gamma, matrix];
-
-          case "ICCBased":
-            var stream = xref.fetchIfRef(cs[1]);
-            var dict = stream.dict;
-            numComps = dict.get("N");
-            alt = dict.get("Alternate");
-
-            if (alt) {
-              var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);
-              var altCS = this.fromIR(altIR, pdfFunctionFactory);
-
-              if (altCS.numComps === numComps) {
-                return altIR;
-              }
-
-              (0, _util.warn)("ICCBased color space: Ignoring incorrect /Alternate entry.");
-            }
-
-            if (numComps === 1) {
-              return "DeviceGrayCS";
-            } else if (numComps === 3) {
-              return "DeviceRgbCS";
-            } else if (numComps === 4) {
-              return "DeviceCmykCS";
-            }
-
-            break;
-
-          case "Pattern":
-            var basePatternCS = cs[1] || null;
-
-            if (basePatternCS) {
-              basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);
-            }
-
-            return ["PatternCS", basePatternCS];
-
-          case "Indexed":
-          case "I":
-            var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);
-            var hiVal = xref.fetchIfRef(cs[2]) + 1;
-            var lookup = xref.fetchIfRef(cs[3]);
-
-            if ((0, _primitives.isStream)(lookup)) {
-              lookup = lookup.getBytes();
-            }
-
-            return ["IndexedCS", baseIndexedCS, hiVal, lookup];
-
-          case "Separation":
-          case "DeviceN":
-            var name = xref.fetchIfRef(cs[1]);
-            numComps = Array.isArray(name) ? name.length : 1;
-            alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);
-            var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));
-            return ["AlternateCS", numComps, alt, tintFn];
-
-          case "Lab":
-            params = xref.fetchIfRef(cs[1]);
-            whitePoint = params.getArray("WhitePoint");
-            blackPoint = params.getArray("BlackPoint");
-            var range = params.getArray("Range");
-            return ["LabCS", whitePoint, blackPoint, range];
-
-          default:
-            throw new _util.FormatError("unimplemented color space object \"".concat(mode, "\""));
-        }
-      }
-
-      throw new _util.FormatError("unrecognized color space object: \"".concat(cs, "\""));
-    }
-  }, {
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decode, numComps) {
-      if (!Array.isArray(decode)) {
-        return true;
-      }
-
-      if (numComps * 2 !== decode.length) {
-        (0, _util.warn)("The decode map is not the correct length");
-        return true;
-      }
-
-      for (var i = 0, ii = decode.length; i < ii; i += 2) {
-        if (decode[i] !== 0 || decode[i + 1] !== 1) {
-          return false;
-        }
-      }
-
-      return true;
-    }
-  }, {
-    key: "singletons",
-    get: function get() {
-      return (0, _util.shadow)(this, "singletons", {
-        get gray() {
-          return (0, _util.shadow)(this, "gray", new DeviceGrayCS());
-        },
-
-        get rgb() {
-          return (0, _util.shadow)(this, "rgb", new DeviceRgbCS());
-        },
-
-        get cmyk() {
-          return (0, _util.shadow)(this, "cmyk", new DeviceCmykCS());
-        }
-
-      });
-    }
-  }]);
-
-  return ColorSpace;
-}();
-
-exports.ColorSpace = ColorSpace;
-
-var AlternateCS = /*#__PURE__*/function (_ColorSpace) {
-  _inherits(AlternateCS, _ColorSpace);
-
-  function AlternateCS(numComps, base, tintFn) {
-    var _this;
-
-    _classCallCheck(this, AlternateCS);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(AlternateCS).call(this, "Alternate", numComps));
-    _this.base = base;
-    _this.tintFn = tintFn;
-    _this.tmpBuf = new Float32Array(base.numComps);
-    return _this;
-  }
-
-  _createClass(AlternateCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      var tmpBuf = this.tmpBuf;
-      this.tintFn(src, srcOffset, tmpBuf, 0);
-      this.base.getRgbItem(tmpBuf, 0, dest, destOffset);
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      var tintFn = this.tintFn;
-      var base = this.base;
-      var scale = 1 / ((1 << bits) - 1);
-      var baseNumComps = base.numComps;
-      var usesZeroToOneRange = base.usesZeroToOneRange;
-      var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;
-      var pos = isPassthrough ? destOffset : 0;
-      var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);
-      var numComps = this.numComps;
-      var scaled = new Float32Array(numComps);
-      var tinted = new Float32Array(baseNumComps);
-      var i, j;
-
-      for (i = 0; i < count; i++) {
-        for (j = 0; j < numComps; j++) {
-          scaled[j] = src[srcOffset++] * scale;
-        }
-
-        tintFn(scaled, 0, tinted, 0);
-
-        if (usesZeroToOneRange) {
-          for (j = 0; j < baseNumComps; j++) {
-            baseBuf[pos++] = tinted[j] * 255;
-          }
-        } else {
-          base.getRgbItem(tinted, 0, baseBuf, pos);
-          pos += baseNumComps;
-        }
-      }
-
-      if (!isPassthrough) {
-        base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);
-    }
-  }]);
-
-  return AlternateCS;
-}(ColorSpace);
-
-var PatternCS = /*#__PURE__*/function (_ColorSpace2) {
-  _inherits(PatternCS, _ColorSpace2);
-
-  function PatternCS(baseCS) {
-    var _this2;
-
-    _classCallCheck(this, PatternCS);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(PatternCS).call(this, "Pattern", null));
-    _this2.base = baseCS;
-    return _this2;
-  }
-
-  _createClass(PatternCS, [{
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decodeMap, bpc) {
-      (0, _util.unreachable)("Should not call PatternCS.isDefaultDecode");
-    }
-  }]);
-
-  return PatternCS;
-}(ColorSpace);
-
-var IndexedCS = /*#__PURE__*/function (_ColorSpace3) {
-  _inherits(IndexedCS, _ColorSpace3);
-
-  function IndexedCS(base, highVal, lookup) {
-    var _this3;
-
-    _classCallCheck(this, IndexedCS);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(IndexedCS).call(this, "Indexed", 1));
-    _this3.base = base;
-    _this3.highVal = highVal;
-    var baseNumComps = base.numComps;
-    var length = baseNumComps * highVal;
-
-    if ((0, _primitives.isStream)(lookup)) {
-      _this3.lookup = new Uint8Array(length);
-      var bytes = lookup.getBytes(length);
-
-      _this3.lookup.set(bytes);
-    } else if ((0, _util.isString)(lookup)) {
-      _this3.lookup = new Uint8Array(length);
-
-      for (var i = 0; i < length; ++i) {
-        _this3.lookup[i] = lookup.charCodeAt(i);
-      }
-    } else if (lookup instanceof Uint8Array) {
-      _this3.lookup = lookup;
-    } else {
-      throw new _util.FormatError("Unrecognized lookup table: ".concat(lookup));
-    }
-
-    return _this3;
-  }
-
-  _createClass(IndexedCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      var numComps = this.base.numComps;
-      var start = src[srcOffset] * numComps;
-      this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      var base = this.base;
-      var numComps = base.numComps;
-      var outputDelta = base.getOutputLength(numComps, alpha01);
-      var lookup = this.lookup;
-
-      for (var i = 0; i < count; ++i) {
-        var lookupPos = src[srcOffset++] * numComps;
-        base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);
-        destOffset += outputDelta;
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);
-    }
-  }, {
-    key: "isDefaultDecode",
-    value: function isDefaultDecode(decodeMap, bpc) {
-      if (!Array.isArray(decodeMap)) {
-        return true;
-      }
-
-      if (decodeMap.length !== 2) {
-        (0, _util.warn)("Decode map length is not correct");
-        return true;
-      }
-
-      if (!Number.isInteger(bpc) || bpc < 1) {
-        (0, _util.warn)("Bits per component is not correct");
-        return true;
-      }
-
-      return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;
-    }
-  }]);
-
-  return IndexedCS;
-}(ColorSpace);
-
-var DeviceGrayCS = /*#__PURE__*/function (_ColorSpace4) {
-  _inherits(DeviceGrayCS, _ColorSpace4);
-
-  function DeviceGrayCS() {
-    _classCallCheck(this, DeviceGrayCS);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(DeviceGrayCS).call(this, "DeviceGray", 1));
-  }
-
-  _createClass(DeviceGrayCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      var c = src[srcOffset] * 255;
-      dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      var scale = 255 / ((1 << bits) - 1);
-      var j = srcOffset,
-          q = destOffset;
-
-      for (var i = 0; i < count; ++i) {
-        var c = scale * src[j++];
-        dest[q++] = c;
-        dest[q++] = c;
-        dest[q++] = c;
-        q += alpha01;
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return inputLength * (3 + alpha01);
-    }
-  }]);
-
-  return DeviceGrayCS;
-}(ColorSpace);
-
-var DeviceRgbCS = /*#__PURE__*/function (_ColorSpace5) {
-  _inherits(DeviceRgbCS, _ColorSpace5);
-
-  function DeviceRgbCS() {
-    _classCallCheck(this, DeviceRgbCS);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(DeviceRgbCS).call(this, "DeviceRGB", 3));
-  }
-
-  _createClass(DeviceRgbCS, [{
-    key: "getRgbItem",
-    value: function getRgbItem(src, srcOffset, dest, destOffset) {
-      dest[destOffset] = src[srcOffset] * 255;
-      dest[destOffset + 1] = src[srcOffset + 1] * 255;
-      dest[destOffset + 2] = src[srcOffset + 2] * 255;
-    }
-  }, {
-    key: "getRgbBuffer",
-    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-      if (bits === 8 && alpha01 === 0) {
-        dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);
-        return;
-      }
-
-      var scale = 255 / ((1 << bits) - 1);
-      var j = srcOffset,
-          q = destOffset;
-
-      for (var i = 0; i < count; ++i) {
-        dest[q++] = scale * src[j++];
-        dest[q++] = scale * src[j++];
-        dest[q++] = scale * src[j++];
-        q += alpha01;
-      }
-    }
-  }, {
-    key: "getOutputLength",
-    value: function getOutputLength(inputLength, alpha01) {
-      return inputLength * (3 + alpha01) / 3 | 0;
-    }
-  }, {
-    key: "isPassthrough",
-    value: function isPassthrough(bits) {
-      return bits === 8;
-    }
-  }]);
-
-  return DeviceRgbCS;
-}(ColorSpace);
-
-var DeviceCmykCS = function DeviceCmykCSClosure() {
-  function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {
-    var c = src[srcOffset] * srcScale;
-    var m = src[srcOffset + 1] * srcScale;
-    var y = src[srcOffset + 2] * srcScale;
-    var k = src[srcOffset + 3] * srcScale;
-    dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);
-    dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);
-    dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);
-  }
-
-  var DeviceCmykCS = /*#__PURE__*/function (_ColorSpace6) {
-    _inherits(DeviceCmykCS, _ColorSpace6);
-
-    function DeviceCmykCS() {
-      _classCallCheck(this, DeviceCmykCS);
-
-      return _possibleConstructorReturn(this, _getPrototypeOf(DeviceCmykCS).call(this, "DeviceCMYK", 4));
-    }
-
-    _createClass(DeviceCmykCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(src, srcOffset, 1, dest, destOffset);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var scale = 1 / ((1 << bits) - 1);
-
-        for (var i = 0; i < count; i++) {
-          convertToRgb(src, srcOffset, scale, dest, destOffset);
-          srcOffset += 4;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength / 4 * (3 + alpha01) | 0;
-      }
-    }]);
-
-    return DeviceCmykCS;
-  }(ColorSpace);
-
-  return DeviceCmykCS;
-}();
-
-var CalGrayCS = function CalGrayCSClosure() {
-  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {
-    var A = src[srcOffset] * scale;
-    var AG = Math.pow(A, cs.G);
-    var L = cs.YW * AG;
-    var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);
-    dest[destOffset] = val;
-    dest[destOffset + 1] = val;
-    dest[destOffset + 2] = val;
-  }
-
-  var CalGrayCS = /*#__PURE__*/function (_ColorSpace7) {
-    _inherits(CalGrayCS, _ColorSpace7);
-
-    function CalGrayCS(whitePoint, blackPoint, gamma) {
-      var _this4;
-
-      _classCallCheck(this, CalGrayCS);
-
-      _this4 = _possibleConstructorReturn(this, _getPrototypeOf(CalGrayCS).call(this, "CalGray", 1));
-
-      if (!whitePoint) {
-        throw new _util.FormatError("WhitePoint missing - required for color space CalGray");
-      }
-
-      blackPoint = blackPoint || [0, 0, 0];
-      gamma = gamma || 1;
-      _this4.XW = whitePoint[0];
-      _this4.YW = whitePoint[1];
-      _this4.ZW = whitePoint[2];
-      _this4.XB = blackPoint[0];
-      _this4.YB = blackPoint[1];
-      _this4.ZB = blackPoint[2];
-      _this4.G = gamma;
-
-      if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {
-        throw new _util.FormatError("Invalid WhitePoint components for ".concat(_this4.name) + ", no fallback available");
-      }
-
-      if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {
-        (0, _util.info)("Invalid BlackPoint for ".concat(_this4.name, ", falling back to default."));
-        _this4.XB = _this4.YB = _this4.ZB = 0;
-      }
-
-      if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {
-        (0, _util.warn)("".concat(_this4.name, ", BlackPoint: XB: ").concat(_this4.XB, ", YB: ").concat(_this4.YB, ", ") + "ZB: ".concat(_this4.ZB, ", only default values are supported."));
-      }
-
-      if (_this4.G < 1) {
-        (0, _util.info)("Invalid Gamma: ".concat(_this4.G, " for ").concat(_this4.name, ", ") + "falling back to default.");
-        _this4.G = 1;
-      }
-
-      return _this4;
-    }
-
-    _createClass(CalGrayCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(this, src, srcOffset, dest, destOffset, 1);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var scale = 1 / ((1 << bits) - 1);
-
-        for (var i = 0; i < count; ++i) {
-          convertToRgb(this, src, srcOffset, dest, destOffset, scale);
-          srcOffset += 1;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength * (3 + alpha01);
-      }
-    }]);
-
-    return CalGrayCS;
-  }(ColorSpace);
-
-  return CalGrayCS;
-}();
-
-var CalRGBCS = function CalRGBCSClosure() {
-  var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);
-  var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);
-  var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);
-  var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);
-  var tempNormalizeMatrix = new Float32Array(3);
-  var tempConvertMatrix1 = new Float32Array(3);
-  var tempConvertMatrix2 = new Float32Array(3);
-  var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;
-
-  function matrixProduct(a, b, result) {
-    result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
-    result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];
-    result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];
-  }
-
-  function convertToFlat(sourceWhitePoint, LMS, result) {
-    result[0] = LMS[0] * 1 / sourceWhitePoint[0];
-    result[1] = LMS[1] * 1 / sourceWhitePoint[1];
-    result[2] = LMS[2] * 1 / sourceWhitePoint[2];
-  }
-
-  function convertToD65(sourceWhitePoint, LMS, result) {
-    var D65X = 0.95047;
-    var D65Y = 1;
-    var D65Z = 1.08883;
-    result[0] = LMS[0] * D65X / sourceWhitePoint[0];
-    result[1] = LMS[1] * D65Y / sourceWhitePoint[1];
-    result[2] = LMS[2] * D65Z / sourceWhitePoint[2];
-  }
-
-  function sRGBTransferFunction(color) {
-    if (color <= 0.0031308) {
-      return adjustToRange(0, 1, 12.92 * color);
-    }
-
-    return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);
-  }
-
-  function adjustToRange(min, max, value) {
-    return Math.max(min, Math.min(max, value));
-  }
-
-  function decodeL(L) {
-    if (L < 0) {
-      return -decodeL(-L);
-    }
-
-    if (L > 8.0) {
-      return Math.pow((L + 16) / 116, 3);
-    }
-
-    return L * DECODE_L_CONSTANT;
-  }
-
-  function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {
-    if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {
-      result[0] = XYZ_Flat[0];
-      result[1] = XYZ_Flat[1];
-      result[2] = XYZ_Flat[2];
-      return;
-    }
-
-    var zeroDecodeL = decodeL(0);
-    var X_DST = zeroDecodeL;
-    var X_SRC = decodeL(sourceBlackPoint[0]);
-    var Y_DST = zeroDecodeL;
-    var Y_SRC = decodeL(sourceBlackPoint[1]);
-    var Z_DST = zeroDecodeL;
-    var Z_SRC = decodeL(sourceBlackPoint[2]);
-    var X_Scale = (1 - X_DST) / (1 - X_SRC);
-    var X_Offset = 1 - X_Scale;
-    var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);
-    var Y_Offset = 1 - Y_Scale;
-    var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);
-    var Z_Offset = 1 - Z_Scale;
-    result[0] = XYZ_Flat[0] * X_Scale + X_Offset;
-    result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;
-    result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;
-  }
-
-  function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {
-    if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {
-      result[0] = XYZ_In[0];
-      result[1] = XYZ_In[1];
-      result[2] = XYZ_In[2];
-      return;
-    }
-
-    var LMS = result;
-    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);
-    var LMS_Flat = tempNormalizeMatrix;
-    convertToFlat(sourceWhitePoint, LMS, LMS_Flat);
-    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);
-  }
-
-  function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {
-    var LMS = result;
-    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);
-    var LMS_D65 = tempNormalizeMatrix;
-    convertToD65(sourceWhitePoint, LMS, LMS_D65);
-    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);
-  }
-
-  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {
-    var A = adjustToRange(0, 1, src[srcOffset] * scale);
-    var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);
-    var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);
-    var AGR = Math.pow(A, cs.GR);
-    var BGG = Math.pow(B, cs.GG);
-    var CGB = Math.pow(C, cs.GB);
-    var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;
-    var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;
-    var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;
-    var XYZ = tempConvertMatrix1;
-    XYZ[0] = X;
-    XYZ[1] = Y;
-    XYZ[2] = Z;
-    var XYZ_Flat = tempConvertMatrix2;
-    normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);
-    var XYZ_Black = tempConvertMatrix1;
-    compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);
-    var XYZ_D65 = tempConvertMatrix2;
-    normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);
-    var SRGB = tempConvertMatrix1;
-    matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);
-    dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;
-    dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;
-    dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;
-  }
-
-  var CalRGBCS = /*#__PURE__*/function (_ColorSpace8) {
-    _inherits(CalRGBCS, _ColorSpace8);
-
-    function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {
-      var _this5;
-
-      _classCallCheck(this, CalRGBCS);
-
-      _this5 = _possibleConstructorReturn(this, _getPrototypeOf(CalRGBCS).call(this, "CalRGB", 3));
-
-      if (!whitePoint) {
-        throw new _util.FormatError("WhitePoint missing - required for color space CalRGB");
-      }
-
-      blackPoint = blackPoint || new Float32Array(3);
-      gamma = gamma || new Float32Array([1, 1, 1]);
-      matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
-      var XW = whitePoint[0];
-      var YW = whitePoint[1];
-      var ZW = whitePoint[2];
-      _this5.whitePoint = whitePoint;
-      var XB = blackPoint[0];
-      var YB = blackPoint[1];
-      var ZB = blackPoint[2];
-      _this5.blackPoint = blackPoint;
-      _this5.GR = gamma[0];
-      _this5.GG = gamma[1];
-      _this5.GB = gamma[2];
-      _this5.MXA = matrix[0];
-      _this5.MYA = matrix[1];
-      _this5.MZA = matrix[2];
-      _this5.MXB = matrix[3];
-      _this5.MYB = matrix[4];
-      _this5.MZB = matrix[5];
-      _this5.MXC = matrix[6];
-      _this5.MYC = matrix[7];
-      _this5.MZC = matrix[8];
-
-      if (XW < 0 || ZW < 0 || YW !== 1) {
-        throw new _util.FormatError("Invalid WhitePoint components for ".concat(_this5.name) + ", no fallback available");
-      }
-
-      if (XB < 0 || YB < 0 || ZB < 0) {
-        (0, _util.info)("Invalid BlackPoint for ".concat(_this5.name, " [").concat(XB, ", ").concat(YB, ", ").concat(ZB, "], ") + "falling back to default.");
-        _this5.blackPoint = new Float32Array(3);
-      }
-
-      if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {
-        (0, _util.info)("Invalid Gamma [".concat(_this5.GR, ", ").concat(_this5.GG, ", ").concat(_this5.GB, "] for ") + "".concat(_this5.name, ", falling back to default."));
-        _this5.GR = _this5.GG = _this5.GB = 1;
-      }
-
-      return _this5;
-    }
-
-    _createClass(CalRGBCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(this, src, srcOffset, dest, destOffset, 1);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var scale = 1 / ((1 << bits) - 1);
-
-        for (var i = 0; i < count; ++i) {
-          convertToRgb(this, src, srcOffset, dest, destOffset, scale);
-          srcOffset += 3;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength * (3 + alpha01) / 3 | 0;
-      }
-    }]);
-
-    return CalRGBCS;
-  }(ColorSpace);
-
-  return CalRGBCS;
-}();
-
-var LabCS = function LabCSClosure() {
-  function fn_g(x) {
-    var result;
-
-    if (x >= 6 / 29) {
-      result = x * x * x;
-    } else {
-      result = 108 / 841 * (x - 4 / 29);
-    }
-
-    return result;
-  }
-
-  function decode(value, high1, low2, high2) {
-    return low2 + value * (high2 - low2) / high1;
-  }
-
-  function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {
-    var Ls = src[srcOffset];
-    var as = src[srcOffset + 1];
-    var bs = src[srcOffset + 2];
-
-    if (maxVal !== false) {
-      Ls = decode(Ls, maxVal, 0, 100);
-      as = decode(as, maxVal, cs.amin, cs.amax);
-      bs = decode(bs, maxVal, cs.bmin, cs.bmax);
-    }
-
-    if (as > cs.amax) {
-      as = cs.amax;
-    } else if (as < cs.amin) {
-      as = cs.amin;
-    }
-
-    if (bs > cs.bmax) {
-      bs = cs.bmax;
-    } else if (bs < cs.bmin) {
-      bs = cs.bmin;
-    }
-
-    var M = (Ls + 16) / 116;
-    var L = M + as / 500;
-    var N = M - bs / 200;
-    var X = cs.XW * fn_g(L);
-    var Y = cs.YW * fn_g(M);
-    var Z = cs.ZW * fn_g(N);
-    var r, g, b;
-
-    if (cs.ZW < 1) {
-      r = X * 3.1339 + Y * -1.617 + Z * -0.4906;
-      g = X * -0.9785 + Y * 1.916 + Z * 0.0333;
-      b = X * 0.072 + Y * -0.229 + Z * 1.4057;
-    } else {
-      r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;
-      g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;
-      b = X * 0.0557 + Y * -0.204 + Z * 1.057;
-    }
-
-    dest[destOffset] = Math.sqrt(r) * 255;
-    dest[destOffset + 1] = Math.sqrt(g) * 255;
-    dest[destOffset + 2] = Math.sqrt(b) * 255;
-  }
-
-  var LabCS = /*#__PURE__*/function (_ColorSpace9) {
-    _inherits(LabCS, _ColorSpace9);
-
-    function LabCS(whitePoint, blackPoint, range) {
-      var _this6;
-
-      _classCallCheck(this, LabCS);
-
-      _this6 = _possibleConstructorReturn(this, _getPrototypeOf(LabCS).call(this, "Lab", 3));
-
-      if (!whitePoint) {
-        throw new _util.FormatError("WhitePoint missing - required for color space Lab");
-      }
-
-      blackPoint = blackPoint || [0, 0, 0];
-      range = range || [-100, 100, -100, 100];
-      _this6.XW = whitePoint[0];
-      _this6.YW = whitePoint[1];
-      _this6.ZW = whitePoint[2];
-      _this6.amin = range[0];
-      _this6.amax = range[1];
-      _this6.bmin = range[2];
-      _this6.bmax = range[3];
-      _this6.XB = blackPoint[0];
-      _this6.YB = blackPoint[1];
-      _this6.ZB = blackPoint[2];
-
-      if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {
-        throw new _util.FormatError("Invalid WhitePoint components, no fallback available");
-      }
-
-      if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {
-        (0, _util.info)("Invalid BlackPoint, falling back to default");
-        _this6.XB = _this6.YB = _this6.ZB = 0;
-      }
-
-      if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {
-        (0, _util.info)("Invalid Range, falling back to defaults");
-        _this6.amin = -100;
-        _this6.amax = 100;
-        _this6.bmin = -100;
-        _this6.bmax = 100;
-      }
-
-      return _this6;
-    }
-
-    _createClass(LabCS, [{
-      key: "getRgbItem",
-      value: function getRgbItem(src, srcOffset, dest, destOffset) {
-        convertToRgb(this, src, srcOffset, false, dest, destOffset);
-      }
-    }, {
-      key: "getRgbBuffer",
-      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {
-        var maxVal = (1 << bits) - 1;
-
-        for (var i = 0; i < count; i++) {
-          convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);
-          srcOffset += 3;
-          destOffset += 3 + alpha01;
-        }
-      }
-    }, {
-      key: "getOutputLength",
-      value: function getOutputLength(inputLength, alpha01) {
-        return inputLength * (3 + alpha01) / 3 | 0;
-      }
-    }, {
-      key: "isDefaultDecode",
-      value: function isDefaultDecode(decodeMap, bpc) {
-        return true;
-      }
-    }, {
-      key: "usesZeroToOneRange",
-      get: function get() {
-        return (0, _util.shadow)(this, "usesZeroToOneRange", false);
-      }
-    }]);
-
-    return LabCS;
-  }(ColorSpace);
-
-  return LabCS;
-}();
-
-/***/ }),
-/* 213 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getQuadPoints = getQuadPoints;
-exports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _obj = __w_pdfjs_require__(199);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _colorspace = __w_pdfjs_require__(212);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _operator_list = __w_pdfjs_require__(214);
-
-var _stream = __w_pdfjs_require__(201);
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var AnnotationFactory = /*#__PURE__*/function () {
-  function AnnotationFactory() {
-    _classCallCheck(this, AnnotationFactory);
-  }
-
-  _createClass(AnnotationFactory, null, [{
-    key: "create",
-    value: function create(xref, ref, pdfManager, idFactory) {
-      return pdfManager.ensure(this, "_create", [xref, ref, pdfManager, idFactory]);
-    }
-  }, {
-    key: "_create",
-    value: function _create(xref, ref, pdfManager, idFactory) {
-      var dict = xref.fetchIfRef(ref);
-
-      if (!(0, _primitives.isDict)(dict)) {
-        return undefined;
-      }
-
-      var id = (0, _primitives.isRef)(ref) ? ref.toString() : "annot_".concat(idFactory.createObjId());
-      var subtype = dict.get("Subtype");
-      subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;
-      var parameters = {
-        xref: xref,
-        dict: dict,
-        subtype: subtype,
-        id: id,
-        pdfManager: pdfManager
-      };
-
-      switch (subtype) {
-        case "Link":
-          return new LinkAnnotation(parameters);
-
-        case "Text":
-          return new TextAnnotation(parameters);
-
-        case "Widget":
-          var fieldType = (0, _core_utils.getInheritableProperty)({
-            dict: dict,
-            key: "FT"
-          });
-          fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;
-
-          switch (fieldType) {
-            case "Tx":
-              return new TextWidgetAnnotation(parameters);
-
-            case "Btn":
-              return new ButtonWidgetAnnotation(parameters);
-
-            case "Ch":
-              return new ChoiceWidgetAnnotation(parameters);
-          }
-
-          (0, _util.warn)('Unimplemented widget field type "' + fieldType + '", ' + "falling back to base field type.");
-          return new WidgetAnnotation(parameters);
-
-        case "Popup":
-          return new PopupAnnotation(parameters);
-
-        case "FreeText":
-          return new FreeTextAnnotation(parameters);
-
-        case "Line":
-          return new LineAnnotation(parameters);
-
-        case "Square":
-          return new SquareAnnotation(parameters);
-
-        case "Circle":
-          return new CircleAnnotation(parameters);
-
-        case "PolyLine":
-          return new PolylineAnnotation(parameters);
-
-        case "Polygon":
-          return new PolygonAnnotation(parameters);
-
-        case "Caret":
-          return new CaretAnnotation(parameters);
-
-        case "Ink":
-          return new InkAnnotation(parameters);
-
-        case "Highlight":
-          return new HighlightAnnotation(parameters);
-
-        case "Underline":
-          return new UnderlineAnnotation(parameters);
-
-        case "Squiggly":
-          return new SquigglyAnnotation(parameters);
-
-        case "StrikeOut":
-          return new StrikeOutAnnotation(parameters);
-
-        case "Stamp":
-          return new StampAnnotation(parameters);
-
-        case "FileAttachment":
-          return new FileAttachmentAnnotation(parameters);
-
-        default:
-          if (!subtype) {
-            (0, _util.warn)("Annotation is missing the required /Subtype.");
-          } else {
-            (0, _util.warn)('Unimplemented annotation type "' + subtype + '", ' + "falling back to base annotation.");
-          }
-
-          return new Annotation(parameters);
-      }
-    }
-  }]);
-
-  return AnnotationFactory;
-}();
-
-exports.AnnotationFactory = AnnotationFactory;
-
-function getQuadPoints(dict, rect) {
-  if (!dict.has("QuadPoints")) {
-    return null;
-  }
-
-  var quadPoints = dict.getArray("QuadPoints");
-
-  if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {
-    return null;
-  }
-
-  var quadPointsLists = [];
-
-  for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {
-    quadPointsLists.push([]);
-
-    for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {
-      var x = quadPoints[j];
-      var y = quadPoints[j + 1];
-
-      if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {
-        return null;
-      }
-
-      quadPointsLists[i].push({
-        x: x,
-        y: y
-      });
-    }
-  }
-
-  return quadPointsLists;
-}
-
-function getTransformMatrix(rect, bbox, matrix) {
-  var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),
-      _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),
-      minX = _Util$getAxialAligned2[0],
-      minY = _Util$getAxialAligned2[1],
-      maxX = _Util$getAxialAligned2[2],
-      maxY = _Util$getAxialAligned2[3];
-
-  if (minX === maxX || minY === maxY) {
-    return [1, 0, 0, 1, rect[0], rect[1]];
-  }
-
-  var xRatio = (rect[2] - rect[0]) / (maxX - minX);
-  var yRatio = (rect[3] - rect[1]) / (maxY - minY);
-  return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];
-}
-
-var Annotation = /*#__PURE__*/function () {
-  function Annotation(params) {
-    _classCallCheck(this, Annotation);
-
-    var dict = params.dict;
-    this.setContents(dict.get("Contents"));
-    this.setModificationDate(dict.get("M"));
-    this.setFlags(dict.get("F"));
-    this.setRectangle(dict.getArray("Rect"));
-    this.setColor(dict.getArray("C"));
-    this.setBorderStyle(dict);
-    this.setAppearance(dict);
-    this.data = {
-      annotationFlags: this.flags,
-      borderStyle: this.borderStyle,
-      color: this.color,
-      contents: this.contents,
-      hasAppearance: !!this.appearance,
-      id: params.id,
-      modificationDate: this.modificationDate,
-      rect: this.rectangle,
-      subtype: params.subtype
-    };
-  }
-
-  _createClass(Annotation, [{
-    key: "_hasFlag",
-    value: function _hasFlag(flags, flag) {
-      return !!(flags & flag);
-    }
-  }, {
-    key: "_isViewable",
-    value: function _isViewable(flags) {
-      return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);
-    }
-  }, {
-    key: "_isPrintable",
-    value: function _isPrintable(flags) {
-      return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);
-    }
-  }, {
-    key: "setContents",
-    value: function setContents(contents) {
-      this.contents = (0, _util.stringToPDFString)(contents || "");
-    }
-  }, {
-    key: "setModificationDate",
-    value: function setModificationDate(modificationDate) {
-      this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;
-    }
-  }, {
-    key: "setFlags",
-    value: function setFlags(flags) {
-      this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;
-    }
-  }, {
-    key: "hasFlag",
-    value: function hasFlag(flag) {
-      return this._hasFlag(this.flags, flag);
-    }
-  }, {
-    key: "setRectangle",
-    value: function setRectangle(rectangle) {
-      if (Array.isArray(rectangle) && rectangle.length === 4) {
-        this.rectangle = _util.Util.normalizeRect(rectangle);
-      } else {
-        this.rectangle = [0, 0, 0, 0];
-      }
-    }
-  }, {
-    key: "setColor",
-    value: function setColor(color) {
-      var rgbColor = new Uint8ClampedArray(3);
-
-      if (!Array.isArray(color)) {
-        this.color = rgbColor;
-        return;
-      }
-
-      switch (color.length) {
-        case 0:
-          this.color = null;
-          break;
-
-        case 1:
-          _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);
-
-          this.color = rgbColor;
-          break;
-
-        case 3:
-          _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);
-
-          this.color = rgbColor;
-          break;
-
-        case 4:
-          _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);
-
-          this.color = rgbColor;
-          break;
-
-        default:
-          this.color = rgbColor;
-          break;
-      }
-    }
-  }, {
-    key: "setBorderStyle",
-    value: function setBorderStyle(borderStyle) {
-      this.borderStyle = new AnnotationBorderStyle();
-
-      if (!(0, _primitives.isDict)(borderStyle)) {
-        return;
-      }
-
-      if (borderStyle.has("BS")) {
-        var dict = borderStyle.get("BS");
-        var dictType = dict.get("Type");
-
-        if (!dictType || (0, _primitives.isName)(dictType, "Border")) {
-          this.borderStyle.setWidth(dict.get("W"), this.rectangle);
-          this.borderStyle.setStyle(dict.get("S"));
-          this.borderStyle.setDashArray(dict.getArray("D"));
-        }
-      } else if (borderStyle.has("Border")) {
-        var array = borderStyle.getArray("Border");
-
-        if (Array.isArray(array) && array.length >= 3) {
-          this.borderStyle.setHorizontalCornerRadius(array[0]);
-          this.borderStyle.setVerticalCornerRadius(array[1]);
-          this.borderStyle.setWidth(array[2], this.rectangle);
-
-          if (array.length === 4) {
-            this.borderStyle.setDashArray(array[3]);
-          }
-        }
-      } else {
-        this.borderStyle.setWidth(0);
-      }
-    }
-  }, {
-    key: "setAppearance",
-    value: function setAppearance(dict) {
-      this.appearance = null;
-      var appearanceStates = dict.get("AP");
-
-      if (!(0, _primitives.isDict)(appearanceStates)) {
-        return;
-      }
-
-      var normalAppearanceState = appearanceStates.get("N");
-
-      if ((0, _primitives.isStream)(normalAppearanceState)) {
-        this.appearance = normalAppearanceState;
-        return;
-      }
-
-      if (!(0, _primitives.isDict)(normalAppearanceState)) {
-        return;
-      }
-
-      var as = dict.get("AS");
-
-      if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {
-        return;
-      }
-
-      this.appearance = normalAppearanceState.get(as.name);
-    }
-  }, {
-    key: "loadResources",
-    value: function loadResources(keys) {
-      return this.appearance.dict.getAsync("Resources").then(function (resources) {
-        if (!resources) {
-          return undefined;
-        }
-
-        var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);
-        return objectLoader.load().then(function () {
-          return resources;
-        });
-      });
-    }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList(evaluator, task, renderForms) {
-      var _this = this;
-
-      if (!this.appearance) {
-        return Promise.resolve(new _operator_list.OperatorList());
-      }
-
-      var data = this.data;
-      var appearanceDict = this.appearance.dict;
-      var resourcesPromise = this.loadResources(["ExtGState", "ColorSpace", "Pattern", "Shading", "XObject", "Font"]);
-      var bbox = appearanceDict.getArray("BBox") || [0, 0, 1, 1];
-      var matrix = appearanceDict.getArray("Matrix") || [1, 0, 0, 1, 0, 0];
-      var transform = getTransformMatrix(data.rect, bbox, matrix);
-      return resourcesPromise.then(function (resources) {
-        var opList = new _operator_list.OperatorList();
-        opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);
-        return evaluator.getOperatorList({
-          stream: _this.appearance,
-          task: task,
-          resources: resources,
-          operatorList: opList
-        }).then(function () {
-          opList.addOp(_util.OPS.endAnnotation, []);
-
-          _this.appearance.reset();
-
-          return opList;
-        });
-      });
-    }
-  }, {
-    key: "viewable",
-    get: function get() {
-      if (this.flags === 0) {
-        return true;
-      }
-
-      return this._isViewable(this.flags);
-    }
-  }, {
-    key: "printable",
-    get: function get() {
-      if (this.flags === 0) {
-        return false;
-      }
-
-      return this._isPrintable(this.flags);
-    }
-  }]);
-
-  return Annotation;
-}();
-
-exports.Annotation = Annotation;
-
-var AnnotationBorderStyle = /*#__PURE__*/function () {
-  function AnnotationBorderStyle() {
-    _classCallCheck(this, AnnotationBorderStyle);
-
-    this.width = 1;
-    this.style = _util.AnnotationBorderStyleType.SOLID;
-    this.dashArray = [3];
-    this.horizontalCornerRadius = 0;
-    this.verticalCornerRadius = 0;
-  }
-
-  _createClass(AnnotationBorderStyle, [{
-    key: "setWidth",
-    value: function setWidth(width) {
-      var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];
-
-      if ((0, _primitives.isName)(width)) {
-        this.width = 0;
-        return;
-      }
-
-      if (Number.isInteger(width)) {
-        if (width > 0) {
-          var maxWidth = (rect[2] - rect[0]) / 2;
-          var maxHeight = (rect[3] - rect[1]) / 2;
-
-          if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {
-            (0, _util.warn)("AnnotationBorderStyle.setWidth - ignoring width: ".concat(width));
-            width = 1;
-          }
-        }
-
-        this.width = width;
-      }
-    }
-  }, {
-    key: "setStyle",
-    value: function setStyle(style) {
-      if (!(0, _primitives.isName)(style)) {
-        return;
-      }
-
-      switch (style.name) {
-        case "S":
-          this.style = _util.AnnotationBorderStyleType.SOLID;
-          break;
-
-        case "D":
-          this.style = _util.AnnotationBorderStyleType.DASHED;
-          break;
-
-        case "B":
-          this.style = _util.AnnotationBorderStyleType.BEVELED;
-          break;
-
-        case "I":
-          this.style = _util.AnnotationBorderStyleType.INSET;
-          break;
-
-        case "U":
-          this.style = _util.AnnotationBorderStyleType.UNDERLINE;
-          break;
-
-        default:
-          break;
-      }
-    }
-  }, {
-    key: "setDashArray",
-    value: function setDashArray(dashArray) {
-      if (Array.isArray(dashArray) && dashArray.length > 0) {
-        var isValid = true;
-        var allZeros = true;
-        var _iteratorNormalCompletion = true;
-        var _didIteratorError = false;
-        var _iteratorError = undefined;
-
-        try {
-          for (var _iterator = dashArray[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-            var element = _step.value;
-            var validNumber = +element >= 0;
-
-            if (!validNumber) {
-              isValid = false;
-              break;
-            } else if (element > 0) {
-              allZeros = false;
-            }
-          }
-        } catch (err) {
-          _didIteratorError = true;
-          _iteratorError = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-              _iterator["return"]();
-            }
-          } finally {
-            if (_didIteratorError) {
-              throw _iteratorError;
-            }
-          }
-        }
-
-        if (isValid && !allZeros) {
-          this.dashArray = dashArray;
-        } else {
-          this.width = 0;
-        }
-      } else if (dashArray) {
-        this.width = 0;
-      }
-    }
-  }, {
-    key: "setHorizontalCornerRadius",
-    value: function setHorizontalCornerRadius(radius) {
-      if (Number.isInteger(radius)) {
-        this.horizontalCornerRadius = radius;
-      }
-    }
-  }, {
-    key: "setVerticalCornerRadius",
-    value: function setVerticalCornerRadius(radius) {
-      if (Number.isInteger(radius)) {
-        this.verticalCornerRadius = radius;
-      }
-    }
-  }]);
-
-  return AnnotationBorderStyle;
-}();
-
-exports.AnnotationBorderStyle = AnnotationBorderStyle;
-
-var MarkupAnnotation = /*#__PURE__*/function (_Annotation) {
-  _inherits(MarkupAnnotation, _Annotation);
-
-  function MarkupAnnotation(parameters) {
-    var _this2;
-
-    _classCallCheck(this, MarkupAnnotation);
-
-    _this2 = _possibleConstructorReturn(this, _getPrototypeOf(MarkupAnnotation).call(this, parameters));
-    var dict = parameters.dict;
-
-    if (dict.has("IRT")) {
-      var rawIRT = dict.getRaw("IRT");
-      _this2.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;
-      var rt = dict.get("RT");
-      _this2.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;
-    }
-
-    if (_this2.data.replyType === _util.AnnotationReplyType.GROUP) {
-      var parent = dict.get("IRT");
-      _this2.data.title = (0, _util.stringToPDFString)(parent.get("T") || "");
-
-      _this2.setContents(parent.get("Contents"));
-
-      _this2.data.contents = _this2.contents;
-
-      if (!parent.has("CreationDate")) {
-        _this2.data.creationDate = null;
-      } else {
-        _this2.setCreationDate(parent.get("CreationDate"));
-
-        _this2.data.creationDate = _this2.creationDate;
-      }
-
-      if (!parent.has("M")) {
-        _this2.data.modificationDate = null;
-      } else {
-        _this2.setModificationDate(parent.get("M"));
-
-        _this2.data.modificationDate = _this2.modificationDate;
-      }
-
-      _this2.data.hasPopup = parent.has("Popup");
-
-      if (!parent.has("C")) {
-        _this2.data.color = null;
-      } else {
-        _this2.setColor(parent.getArray("C"));
-
-        _this2.data.color = _this2.color;
-      }
-    } else {
-      _this2.data.title = (0, _util.stringToPDFString)(dict.get("T") || "");
-
-      _this2.setCreationDate(dict.get("CreationDate"));
-
-      _this2.data.creationDate = _this2.creationDate;
-      _this2.data.hasPopup = dict.has("Popup");
-
-      if (!dict.has("C")) {
-        _this2.data.color = null;
-      }
-    }
-
-    return _this2;
-  }
-
-  _createClass(MarkupAnnotation, [{
-    key: "setCreationDate",
-    value: function setCreationDate(creationDate) {
-      this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;
-    }
-  }]);
-
-  return MarkupAnnotation;
-}(Annotation);
-
-exports.MarkupAnnotation = MarkupAnnotation;
-
-var WidgetAnnotation = /*#__PURE__*/function (_Annotation2) {
-  _inherits(WidgetAnnotation, _Annotation2);
-
-  function WidgetAnnotation(params) {
-    var _this3;
-
-    _classCallCheck(this, WidgetAnnotation);
-
-    _this3 = _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotation).call(this, params));
-    var dict = params.dict;
-    var data = _this3.data;
-    data.annotationType = _util.AnnotationType.WIDGET;
-    data.fieldName = _this3._constructFieldName(dict);
-    data.fieldValue = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "V",
-      getArray: true
-    });
-    data.alternativeText = (0, _util.stringToPDFString)(dict.get("TU") || "");
-    data.defaultAppearance = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "DA"
-    }) || "";
-    var fieldType = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "FT"
-    });
-    data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;
-    _this3.fieldResources = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "DR"
-    }) || _primitives.Dict.empty;
-    data.fieldFlags = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "Ff"
-    });
-
-    if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {
-      data.fieldFlags = 0;
-    }
-
-    data.readOnly = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);
-
-    if (data.fieldType === "Sig") {
-      data.fieldValue = null;
-
-      _this3.setFlags(_util.AnnotationFlag.HIDDEN);
-    }
-
-    return _this3;
-  }
-
-  _createClass(WidgetAnnotation, [{
-    key: "_constructFieldName",
-    value: function _constructFieldName(dict) {
-      if (!dict.has("T") && !dict.has("Parent")) {
-        (0, _util.warn)("Unknown field name, falling back to empty field name.");
-        return "";
-      }
-
-      if (!dict.has("Parent")) {
-        return (0, _util.stringToPDFString)(dict.get("T"));
-      }
-
-      var fieldName = [];
-
-      if (dict.has("T")) {
-        fieldName.unshift((0, _util.stringToPDFString)(dict.get("T")));
-      }
-
-      var loopDict = dict;
-
-      while (loopDict.has("Parent")) {
-        loopDict = loopDict.get("Parent");
-
-        if (!(0, _primitives.isDict)(loopDict)) {
-          break;
-        }
-
-        if (loopDict.has("T")) {
-          fieldName.unshift((0, _util.stringToPDFString)(loopDict.get("T")));
-        }
-      }
-
-      return fieldName.join(".");
-    }
-  }, {
-    key: "hasFieldFlag",
-    value: function hasFieldFlag(flag) {
-      return !!(this.data.fieldFlags & flag);
-    }
-  }, {
-    key: "getOperatorList",
-    value: function getOperatorList(evaluator, task, renderForms) {
-      if (renderForms) {
-        return Promise.resolve(new _operator_list.OperatorList());
-      }
-
-      return _get(_getPrototypeOf(WidgetAnnotation.prototype), "getOperatorList", this).call(this, evaluator, task, renderForms);
-    }
-  }]);
-
-  return WidgetAnnotation;
-}(Annotation);
-
-var TextWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation) {
-  _inherits(TextWidgetAnnotation, _WidgetAnnotation);
-
-  function TextWidgetAnnotation(params) {
-    var _this4;
-
-    _classCallCheck(this, TextWidgetAnnotation);
-
-    _this4 = _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotation).call(this, params));
-    var dict = params.dict;
-    _this4.data.fieldValue = (0, _util.stringToPDFString)(_this4.data.fieldValue || "");
-    var alignment = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "Q"
-    });
-
-    if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {
-      alignment = null;
-    }
-
-    _this4.data.textAlignment = alignment;
-    var maximumLength = (0, _core_utils.getInheritableProperty)({
-      dict: dict,
-      key: "MaxLen"
-    });
-
-    if (!Number.isInteger(maximumLength) || maximumLength < 0) {
-      maximumLength = null;
-    }
-
-    _this4.data.maxLen = maximumLength;
-    _this4.data.multiLine = _this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);
-    _this4.data.comb = _this4.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this4.data.maxLen !== null;
-    return _this4;
-  }
-
-  _createClass(TextWidgetAnnotation, [{
-    key: "getOperatorList",
-    value: function getOperatorList(evaluator, task, renderForms) {
-      if (renderForms || this.appearance) {
-        return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), "getOperatorList", this).call(this, evaluator, task, renderForms);
-      }
-
-      var operatorList = new _operator_list.OperatorList();
-
-      if (!this.data.defaultAppearance) {
-        return Promise.resolve(operatorList);
-      }
-
-      var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));
-      return evaluator.getOperatorList({
-        stream: stream,
-        task: task,
-        resources: this.fieldResources,
-        operatorList: operatorList
-      }).then(function () {
-        return operatorList;
-      });
-    }
-  }]);
-
-  return TextWidgetAnnotation;
-}(WidgetAnnotation);
-
-var ButtonWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation2) {
-  _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);
-
-  function ButtonWidgetAnnotation(params) {
-    var _this5;
-
-    _classCallCheck(this, ButtonWidgetAnnotation);
-
-    _this5 = _possibleConstructorReturn(this, _getPrototypeOf(ButtonWidgetAnnotation).call(this, params));
-    _this5.data.checkBox = !_this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
-    _this5.data.radioButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
-    _this5.data.pushButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);
-
-    if (_this5.data.checkBox) {
-      _this5._processCheckBox(params);
-    } else if (_this5.data.radioButton) {
-      _this5._processRadioButton(params);
-    } else if (_this5.data.pushButton) {
-      _this5._processPushButton(params);
-    } else {
-      (0, _util.warn)("Invalid field flags for button widget annotation");
-    }
-
-    return _this5;
-  }
-
-  _createClass(ButtonWidgetAnnotation, [{
-    key: "_processCheckBox",
-    value: function _processCheckBox(params) {
-      if ((0, _primitives.isName)(this.data.fieldValue)) {
-        this.data.fieldValue = this.data.fieldValue.name;
-      }
-
-      var customAppearance = params.dict.get("AP");
-
-      if (!(0, _primitives.isDict)(customAppearance)) {
-        return;
-      }
-
-      var exportValueOptionsDict = customAppearance.get("D");
-
-      if (!(0, _primitives.isDict)(exportValueOptionsDict)) {
-        return;
-      }
-
-      var exportValues = exportValueOptionsDict.getKeys();
-      var hasCorrectOptionCount = exportValues.length === 2;
-
-      if (!hasCorrectOptionCount) {
-        return;
-      }
-
-      this.data.exportValue = exportValues[0] === "Off" ? exportValues[1] : exportValues[0];
-    }
-  }, {
-    key: "_processRadioButton",
-    value: function _processRadioButton(params) {
-      this.data.fieldValue = this.data.buttonValue = null;
-      var fieldParent = params.dict.get("Parent");
-
-      if ((0, _primitives.isDict)(fieldParent) && fieldParent.has("V")) {
-        var fieldParentValue = fieldParent.get("V");
-
-        if ((0, _primitives.isName)(fieldParentValue)) {
-          this.data.fieldValue = fieldParentValue.name;
-        }
-      }
-
-      var appearanceStates = params.dict.get("AP");
-
-      if (!(0, _primitives.isDict)(appearanceStates)) {
-        return;
-      }
-
-      var normalAppearanceState = appearanceStates.get("N");
-
-      if (!(0, _primitives.isDict)(normalAppearanceState)) {
-        return;
-      }
-
-      var _iteratorNormalCompletion2 = true;
-      var _didIteratorError2 = false;
-      var _iteratorError2 = undefined;
-
-      try {
-        for (var _iterator2 = normalAppearanceState.getKeys()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-          var key = _step2.value;
-
-          if (key !== "Off") {
-            this.data.buttonValue = key;
-            break;
-          }
-        }
-      } catch (err) {
-        _didIteratorError2 = true;
-        _iteratorError2 = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-            _iterator2["return"]();
-          }
-        } finally {
-          if (_didIteratorError2) {
-            throw _iteratorError2;
-          }
-        }
-      }
-    }
-  }, {
-    key: "_processPushButton",
-    value: function _processPushButton(params) {
-      if (!params.dict.has("A")) {
-        (0, _util.warn)("Push buttons without action dictionaries are not supported");
-        return;
-      }
-
-      _obj.Catalog.parseDestDictionary({
-        destDict: params.dict,
-        resultObj: this.data,
-        docBaseUrl: params.pdfManager.docBaseUrl
-      });
-    }
-  }]);
-
-  return ButtonWidgetAnnotation;
-}(WidgetAnnotation);
-
-var ChoiceWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation3) {
-  _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);
-
-  function ChoiceWidgetAnnotation(params) {
-    var _this6;
-
-    _classCallCheck(this, ChoiceWidgetAnnotation);
-
-    _this6 = _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotation).call(this, params));
-    _this6.data.options = [];
-    var options = (0, _core_utils.getInheritableProperty)({
-      dict: params.dict,
-      key: "Opt"
-    });
-
-    if (Array.isArray(options)) {
-      var xref = params.xref;
-
-      for (var i = 0, ii = options.length; i < ii; i++) {
-        var option = xref.fetchIfRef(options[i]);
-        var isOptionArray = Array.isArray(option);
-        _this6.data.options[i] = {
-          exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,
-          displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)
-        };
-      }
-    }
-
-    if (!Array.isArray(_this6.data.fieldValue)) {
-      _this6.data.fieldValue = [_this6.data.fieldValue];
-    }
-
-    _this6.data.combo = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);
-    _this6.data.multiSelect = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);
-    return _this6;
-  }
-
-  return ChoiceWidgetAnnotation;
-}(WidgetAnnotation);
-
-var TextAnnotation = /*#__PURE__*/function (_MarkupAnnotation) {
-  _inherits(TextAnnotation, _MarkupAnnotation);
-
-  function TextAnnotation(parameters) {
-    var _this7;
-
-    _classCallCheck(this, TextAnnotation);
-
-    var DEFAULT_ICON_SIZE = 22;
-    _this7 = _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotation).call(this, parameters));
-    var dict = parameters.dict;
-    _this7.data.annotationType = _util.AnnotationType.TEXT;
-
-    if (_this7.data.hasAppearance) {
-      _this7.data.name = "NoIcon";
-    } else {
-      _this7.data.rect[1] = _this7.data.rect[3] - DEFAULT_ICON_SIZE;
-      _this7.data.rect[2] = _this7.data.rect[0] + DEFAULT_ICON_SIZE;
-      _this7.data.name = dict.has("Name") ? dict.get("Name").name : "Note";
-    }
-
-    if (dict.has("State")) {
-      _this7.data.state = dict.get("State") || null;
-      _this7.data.stateModel = dict.get("StateModel") || null;
-    } else {
-      _this7.data.state = null;
-      _this7.data.stateModel = null;
-    }
-
-    return _this7;
-  }
-
-  return TextAnnotation;
-}(MarkupAnnotation);
-
-var LinkAnnotation = /*#__PURE__*/function (_Annotation3) {
-  _inherits(LinkAnnotation, _Annotation3);
-
-  function LinkAnnotation(params) {
-    var _this8;
-
-    _classCallCheck(this, LinkAnnotation);
-
-    _this8 = _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotation).call(this, params));
-    _this8.data.annotationType = _util.AnnotationType.LINK;
-    var quadPoints = getQuadPoints(params.dict, _this8.rectangle);
-
-    if (quadPoints) {
-      _this8.data.quadPoints = quadPoints;
-    }
-
-    _obj.Catalog.parseDestDictionary({
-      destDict: params.dict,
-      resultObj: _this8.data,
-      docBaseUrl: params.pdfManager.docBaseUrl
-    });
-
-    return _this8;
-  }
-
-  return LinkAnnotation;
-}(Annotation);
-
-var PopupAnnotation = /*#__PURE__*/function (_Annotation4) {
-  _inherits(PopupAnnotation, _Annotation4);
-
-  function PopupAnnotation(parameters) {
-    var _this9;
-
-    _classCallCheck(this, PopupAnnotation);
-
-    _this9 = _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotation).call(this, parameters));
-    _this9.data.annotationType = _util.AnnotationType.POPUP;
-    var parentItem = parameters.dict.get("Parent");
-
-    if (!parentItem) {
-      (0, _util.warn)("Popup annotation has a missing or invalid parent annotation.");
-      return _possibleConstructorReturn(_this9);
-    }
-
-    var parentSubtype = parentItem.get("Subtype");
-    _this9.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;
-    var rawParent = parameters.dict.getRaw("Parent");
-    _this9.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;
-    var rt = parentItem.get("RT");
-
-    if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {
-      parentItem = parentItem.get("IRT");
-    }
-
-    if (!parentItem.has("M")) {
-      _this9.data.modificationDate = null;
-    } else {
-      _this9.setModificationDate(parentItem.get("M"));
-
-      _this9.data.modificationDate = _this9.modificationDate;
-    }
-
-    if (!parentItem.has("C")) {
-      _this9.data.color = null;
-    } else {
-      _this9.setColor(parentItem.getArray("C"));
-
-      _this9.data.color = _this9.color;
-    }
-
-    if (!_this9.viewable) {
-      var parentFlags = parentItem.get("F");
-
-      if (_this9._isViewable(parentFlags)) {
-        _this9.setFlags(parentFlags);
-      }
-    }
-
-    _this9.data.title = (0, _util.stringToPDFString)(parentItem.get("T") || "");
-    _this9.data.contents = (0, _util.stringToPDFString)(parentItem.get("Contents") || "");
-    return _this9;
-  }
-
-  return PopupAnnotation;
-}(Annotation);
-
-var FreeTextAnnotation = /*#__PURE__*/function (_MarkupAnnotation2) {
-  _inherits(FreeTextAnnotation, _MarkupAnnotation2);
-
-  function FreeTextAnnotation(parameters) {
-    var _this10;
-
-    _classCallCheck(this, FreeTextAnnotation);
-
-    _this10 = _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotation).call(this, parameters));
-    _this10.data.annotationType = _util.AnnotationType.FREETEXT;
-    return _this10;
-  }
-
-  return FreeTextAnnotation;
-}(MarkupAnnotation);
-
-var LineAnnotation = /*#__PURE__*/function (_MarkupAnnotation3) {
-  _inherits(LineAnnotation, _MarkupAnnotation3);
-
-  function LineAnnotation(parameters) {
-    var _this11;
-
-    _classCallCheck(this, LineAnnotation);
-
-    _this11 = _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotation).call(this, parameters));
-    _this11.data.annotationType = _util.AnnotationType.LINE;
-    _this11.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray("L"));
-    return _this11;
-  }
-
-  return LineAnnotation;
-}(MarkupAnnotation);
-
-var SquareAnnotation = /*#__PURE__*/function (_MarkupAnnotation4) {
-  _inherits(SquareAnnotation, _MarkupAnnotation4);
-
-  function SquareAnnotation(parameters) {
-    var _this12;
-
-    _classCallCheck(this, SquareAnnotation);
-
-    _this12 = _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotation).call(this, parameters));
-    _this12.data.annotationType = _util.AnnotationType.SQUARE;
-    return _this12;
-  }
-
-  return SquareAnnotation;
-}(MarkupAnnotation);
-
-var CircleAnnotation = /*#__PURE__*/function (_MarkupAnnotation5) {
-  _inherits(CircleAnnotation, _MarkupAnnotation5);
-
-  function CircleAnnotation(parameters) {
-    var _this13;
-
-    _classCallCheck(this, CircleAnnotation);
-
-    _this13 = _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotation).call(this, parameters));
-    _this13.data.annotationType = _util.AnnotationType.CIRCLE;
-    return _this13;
-  }
-
-  return CircleAnnotation;
-}(MarkupAnnotation);
-
-var PolylineAnnotation = /*#__PURE__*/function (_MarkupAnnotation6) {
-  _inherits(PolylineAnnotation, _MarkupAnnotation6);
-
-  function PolylineAnnotation(parameters) {
-    var _this14;
-
-    _classCallCheck(this, PolylineAnnotation);
-
-    _this14 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotation).call(this, parameters));
-    _this14.data.annotationType = _util.AnnotationType.POLYLINE;
-    var rawVertices = parameters.dict.getArray("Vertices");
-    _this14.data.vertices = [];
-
-    for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {
-      _this14.data.vertices.push({
-        x: rawVertices[i],
-        y: rawVertices[i + 1]
-      });
-    }
-
-    return _this14;
-  }
-
-  return PolylineAnnotation;
-}(MarkupAnnotation);
-
-var PolygonAnnotation = /*#__PURE__*/function (_PolylineAnnotation) {
-  _inherits(PolygonAnnotation, _PolylineAnnotation);
-
-  function PolygonAnnotation(parameters) {
-    var _this15;
-
-    _classCallCheck(this, PolygonAnnotation);
-
-    _this15 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotation).call(this, parameters));
-    _this15.data.annotationType = _util.AnnotationType.POLYGON;
-    return _this15;
-  }
-
-  return PolygonAnnotation;
-}(PolylineAnnotation);
-
-var CaretAnnotation = /*#__PURE__*/function (_MarkupAnnotation7) {
-  _inherits(CaretAnnotation, _MarkupAnnotation7);
-
-  function CaretAnnotation(parameters) {
-    var _this16;
-
-    _classCallCheck(this, CaretAnnotation);
-
-    _this16 = _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotation).call(this, parameters));
-    _this16.data.annotationType = _util.AnnotationType.CARET;
-    return _this16;
-  }
-
-  return CaretAnnotation;
-}(MarkupAnnotation);
-
-var InkAnnotation = /*#__PURE__*/function (_MarkupAnnotation8) {
-  _inherits(InkAnnotation, _MarkupAnnotation8);
-
-  function InkAnnotation(parameters) {
-    var _this17;
-
-    _classCallCheck(this, InkAnnotation);
-
-    _this17 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotation).call(this, parameters));
-    _this17.data.annotationType = _util.AnnotationType.INK;
-    var xref = parameters.xref;
-    var originalInkLists = parameters.dict.getArray("InkList");
-    _this17.data.inkLists = [];
-
-    for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {
-      _this17.data.inkLists.push([]);
-
-      for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {
-        _this17.data.inkLists[i].push({
-          x: xref.fetchIfRef(originalInkLists[i][j]),
-          y: xref.fetchIfRef(originalInkLists[i][j + 1])
-        });
-      }
-    }
-
-    return _this17;
-  }
-
-  return InkAnnotation;
-}(MarkupAnnotation);
-
-var HighlightAnnotation = /*#__PURE__*/function (_MarkupAnnotation9) {
-  _inherits(HighlightAnnotation, _MarkupAnnotation9);
-
-  function HighlightAnnotation(parameters) {
-    var _this18;
-
-    _classCallCheck(this, HighlightAnnotation);
-
-    _this18 = _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotation).call(this, parameters));
-    _this18.data.annotationType = _util.AnnotationType.HIGHLIGHT;
-    var quadPoints = getQuadPoints(parameters.dict, _this18.rectangle);
-
-    if (quadPoints) {
-      _this18.data.quadPoints = quadPoints;
-    }
-
-    return _this18;
-  }
-
-  return HighlightAnnotation;
-}(MarkupAnnotation);
-
-var UnderlineAnnotation = /*#__PURE__*/function (_MarkupAnnotation10) {
-  _inherits(UnderlineAnnotation, _MarkupAnnotation10);
-
-  function UnderlineAnnotation(parameters) {
-    var _this19;
-
-    _classCallCheck(this, UnderlineAnnotation);
-
-    _this19 = _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotation).call(this, parameters));
-    _this19.data.annotationType = _util.AnnotationType.UNDERLINE;
-    var quadPoints = getQuadPoints(parameters.dict, _this19.rectangle);
-
-    if (quadPoints) {
-      _this19.data.quadPoints = quadPoints;
-    }
-
-    return _this19;
-  }
-
-  return UnderlineAnnotation;
-}(MarkupAnnotation);
-
-var SquigglyAnnotation = /*#__PURE__*/function (_MarkupAnnotation11) {
-  _inherits(SquigglyAnnotation, _MarkupAnnotation11);
-
-  function SquigglyAnnotation(parameters) {
-    var _this20;
-
-    _classCallCheck(this, SquigglyAnnotation);
-
-    _this20 = _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotation).call(this, parameters));
-    _this20.data.annotationType = _util.AnnotationType.SQUIGGLY;
-    var quadPoints = getQuadPoints(parameters.dict, _this20.rectangle);
-
-    if (quadPoints) {
-      _this20.data.quadPoints = quadPoints;
-    }
-
-    return _this20;
-  }
-
-  return SquigglyAnnotation;
-}(MarkupAnnotation);
-
-var StrikeOutAnnotation = /*#__PURE__*/function (_MarkupAnnotation12) {
-  _inherits(StrikeOutAnnotation, _MarkupAnnotation12);
-
-  function StrikeOutAnnotation(parameters) {
-    var _this21;
-
-    _classCallCheck(this, StrikeOutAnnotation);
-
-    _this21 = _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotation).call(this, parameters));
-    _this21.data.annotationType = _util.AnnotationType.STRIKEOUT;
-    var quadPoints = getQuadPoints(parameters.dict, _this21.rectangle);
-
-    if (quadPoints) {
-      _this21.data.quadPoints = quadPoints;
-    }
-
-    return _this21;
-  }
-
-  return StrikeOutAnnotation;
-}(MarkupAnnotation);
-
-var StampAnnotation = /*#__PURE__*/function (_MarkupAnnotation13) {
-  _inherits(StampAnnotation, _MarkupAnnotation13);
-
-  function StampAnnotation(parameters) {
-    var _this22;
-
-    _classCallCheck(this, StampAnnotation);
-
-    _this22 = _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotation).call(this, parameters));
-    _this22.data.annotationType = _util.AnnotationType.STAMP;
-    return _this22;
-  }
-
-  return StampAnnotation;
-}(MarkupAnnotation);
-
-var FileAttachmentAnnotation = /*#__PURE__*/function (_MarkupAnnotation14) {
-  _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);
-
-  function FileAttachmentAnnotation(parameters) {
-    var _this23;
-
-    _classCallCheck(this, FileAttachmentAnnotation);
-
-    _this23 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotation).call(this, parameters));
-    var file = new _obj.FileSpec(parameters.dict.get("FS"), parameters.xref);
-    _this23.data.annotationType = _util.AnnotationType.FILEATTACHMENT;
-    _this23.data.file = file.serializable;
-    return _this23;
-  }
-
-  return FileAttachmentAnnotation;
-}(MarkupAnnotation);
-
-/***/ }),
-/* 214 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.OperatorList = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var QueueOptimizer = function QueueOptimizerClosure() {
-  function addState(parentState, pattern, checkFn, iterateFn, processFn) {
-    var state = parentState;
-
-    for (var i = 0, ii = pattern.length - 1; i < ii; i++) {
-      var item = pattern[i];
-      state = state[item] || (state[item] = []);
-    }
-
-    state[pattern[pattern.length - 1]] = {
-      checkFn: checkFn,
-      iterateFn: iterateFn,
-      processFn: processFn
-    };
-  }
-
-  function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {
-    var iFirstPIMXO = iFirstSave + 2;
-
-    for (var i = 0; i < count; i++) {
-      var arg = argsArray[iFirstPIMXO + 4 * i];
-      var imageMask = arg.length === 1 && arg[0];
-
-      if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {
-        fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;
-        continue;
-      }
-
-      break;
-    }
-
-    return count - i;
-  }
-
-  var InitialState = [];
-  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {
-    var fnArray = context.fnArray;
-    var iFirstSave = context.iCurr - 3;
-    var pos = (i - iFirstSave) % 4;
-
-    switch (pos) {
-      case 0:
-        return fnArray[i] === _util.OPS.save;
-
-      case 1:
-        return fnArray[i] === _util.OPS.transform;
-
-      case 2:
-        return fnArray[i] === _util.OPS.paintInlineImageXObject;
-
-      case 3:
-        return fnArray[i] === _util.OPS.restore;
-    }
-
-    throw new Error("iterateInlineImageGroup - invalid pos: ".concat(pos));
-  }, function foundInlineImageGroup(context, i) {
-    var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;
-    var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;
-    var MAX_WIDTH = 1000;
-    var IMAGE_PADDING = 1;
-    var fnArray = context.fnArray,
-        argsArray = context.argsArray;
-    var curr = context.iCurr;
-    var iFirstSave = curr - 3;
-    var iFirstTransform = curr - 2;
-    var iFirstPIIXO = curr - 1;
-    var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);
-
-    if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {
-      return i - (i - iFirstSave) % 4;
-    }
-
-    var maxX = 0;
-    var map = [],
-        maxLineHeight = 0;
-    var currentX = IMAGE_PADDING,
-        currentY = IMAGE_PADDING;
-    var q;
-
-    for (q = 0; q < count; q++) {
-      var transform = argsArray[iFirstTransform + (q << 2)];
-      var img = argsArray[iFirstPIIXO + (q << 2)][0];
-
-      if (currentX + img.width > MAX_WIDTH) {
-        maxX = Math.max(maxX, currentX);
-        currentY += maxLineHeight + 2 * IMAGE_PADDING;
-        currentX = 0;
-        maxLineHeight = 0;
-      }
-
-      map.push({
-        transform: transform,
-        x: currentX,
-        y: currentY,
-        w: img.width,
-        h: img.height
-      });
-      currentX += img.width + 2 * IMAGE_PADDING;
-      maxLineHeight = Math.max(maxLineHeight, img.height);
-    }
-
-    var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;
-    var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;
-    var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);
-    var imgRowSize = imgWidth << 2;
-
-    for (q = 0; q < count; q++) {
-      var data = argsArray[iFirstPIIXO + (q << 2)][0].data;
-      var rowSize = map[q].w << 2;
-      var dataOffset = 0;
-      var offset = map[q].x + map[q].y * imgWidth << 2;
-      imgData.set(data.subarray(0, rowSize), offset - imgRowSize);
-
-      for (var k = 0, kk = map[q].h; k < kk; k++) {
-        imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);
-        dataOffset += rowSize;
-        offset += imgRowSize;
-      }
-
-      imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);
-
-      while (offset >= 0) {
-        data[offset - 4] = data[offset];
-        data[offset - 3] = data[offset + 1];
-        data[offset - 2] = data[offset + 2];
-        data[offset - 1] = data[offset + 3];
-        data[offset + rowSize] = data[offset + rowSize - 4];
-        data[offset + rowSize + 1] = data[offset + rowSize - 3];
-        data[offset + rowSize + 2] = data[offset + rowSize - 2];
-        data[offset + rowSize + 3] = data[offset + rowSize - 1];
-        offset -= imgRowSize;
-      }
-    }
-
-    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);
-    argsArray.splice(iFirstSave, count * 4, [{
-      width: imgWidth,
-      height: imgHeight,
-      kind: _util.ImageKind.RGBA_32BPP,
-      data: imgData
-    }, map]);
-    return iFirstSave + 1;
-  });
-  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {
-    var fnArray = context.fnArray;
-    var iFirstSave = context.iCurr - 3;
-    var pos = (i - iFirstSave) % 4;
-
-    switch (pos) {
-      case 0:
-        return fnArray[i] === _util.OPS.save;
-
-      case 1:
-        return fnArray[i] === _util.OPS.transform;
-
-      case 2:
-        return fnArray[i] === _util.OPS.paintImageMaskXObject;
-
-      case 3:
-        return fnArray[i] === _util.OPS.restore;
-    }
-
-    throw new Error("iterateImageMaskGroup - invalid pos: ".concat(pos));
-  }, function foundImageMaskGroup(context, i) {
-    var MIN_IMAGES_IN_MASKS_BLOCK = 10;
-    var MAX_IMAGES_IN_MASKS_BLOCK = 100;
-    var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;
-    var fnArray = context.fnArray,
-        argsArray = context.argsArray;
-    var curr = context.iCurr;
-    var iFirstSave = curr - 3;
-    var iFirstTransform = curr - 2;
-    var iFirstPIMXO = curr - 1;
-    var count = Math.floor((i - iFirstSave) / 4);
-    count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);
-
-    if (count < MIN_IMAGES_IN_MASKS_BLOCK) {
-      return i - (i - iFirstSave) % 4;
-    }
-
-    var q;
-    var isSameImage = false;
-    var iTransform, transformArgs;
-    var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];
-
-    if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {
-      isSameImage = true;
-      var firstTransformArg0 = argsArray[iFirstTransform][0];
-      var firstTransformArg3 = argsArray[iFirstTransform][3];
-      iTransform = iFirstTransform + 4;
-      var iPIMXO = iFirstPIMXO + 4;
-
-      for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {
-        transformArgs = argsArray[iTransform];
-
-        if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {
-          if (q < MIN_IMAGES_IN_MASKS_BLOCK) {
-            isSameImage = false;
-          } else {
-            count = q;
-          }
-
-          break;
-        }
-      }
-    }
-
-    if (isSameImage) {
-      count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);
-      var positions = new Float32Array(count * 2);
-      iTransform = iFirstTransform;
-
-      for (q = 0; q < count; q++, iTransform += 4) {
-        transformArgs = argsArray[iTransform];
-        positions[q << 1] = transformArgs[4];
-        positions[(q << 1) + 1] = transformArgs[5];
-      }
-
-      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);
-      argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);
-    } else {
-      count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);
-      var images = [];
-
-      for (q = 0; q < count; q++) {
-        transformArgs = argsArray[iFirstTransform + (q << 2)];
-        var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];
-        images.push({
-          data: maskParams.data,
-          width: maskParams.width,
-          height: maskParams.height,
-          transform: transformArgs
-        });
-      }
-
-      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);
-      argsArray.splice(iFirstSave, count * 4, [images]);
-    }
-
-    return iFirstSave + 1;
-  });
-  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {
-    var argsArray = context.argsArray;
-    var iFirstTransform = context.iCurr - 2;
-    return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;
-  }, function iterateImageGroup(context, i) {
-    var fnArray = context.fnArray,
-        argsArray = context.argsArray;
-    var iFirstSave = context.iCurr - 3;
-    var pos = (i - iFirstSave) % 4;
-
-    switch (pos) {
-      case 0:
-        return fnArray[i] === _util.OPS.save;
-
-      case 1:
-        if (fnArray[i] !== _util.OPS.transform) {
-          return false;
-        }
-
-        var iFirstTransform = context.iCurr - 2;
-        var firstTransformArg0 = argsArray[iFirstTransform][0];
-        var firstTransformArg3 = argsArray[iFirstTransform][3];
-
-        if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {
-          return false;
-        }
-
-        return true;
-
-      case 2:
-        if (fnArray[i] !== _util.OPS.paintImageXObject) {
-          return false;
-        }
-
-        var iFirstPIXO = context.iCurr - 1;
-        var firstPIXOArg0 = argsArray[iFirstPIXO][0];
-
-        if (argsArray[i][0] !== firstPIXOArg0) {
-          return false;
-        }
-
-        return true;
-
-      case 3:
-        return fnArray[i] === _util.OPS.restore;
-    }
-
-    throw new Error("iterateImageGroup - invalid pos: ".concat(pos));
-  }, function (context, i) {
-    var MIN_IMAGES_IN_BLOCK = 3;
-    var MAX_IMAGES_IN_BLOCK = 1000;
-    var fnArray = context.fnArray,
-        argsArray = context.argsArray;
-    var curr = context.iCurr;
-    var iFirstSave = curr - 3;
-    var iFirstTransform = curr - 2;
-    var iFirstPIXO = curr - 1;
-    var firstPIXOArg0 = argsArray[iFirstPIXO][0];
-    var firstTransformArg0 = argsArray[iFirstTransform][0];
-    var firstTransformArg3 = argsArray[iFirstTransform][3];
-    var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);
-
-    if (count < MIN_IMAGES_IN_BLOCK) {
-      return i - (i - iFirstSave) % 4;
-    }
-
-    var positions = new Float32Array(count * 2);
-    var iTransform = iFirstTransform;
-
-    for (var q = 0; q < count; q++, iTransform += 4) {
-      var transformArgs = argsArray[iTransform];
-      positions[q << 1] = transformArgs[4];
-      positions[(q << 1) + 1] = transformArgs[5];
-    }
-
-    var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];
-    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);
-    argsArray.splice(iFirstSave, count * 4, args);
-    return iFirstSave + 1;
-  });
-  addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {
-    var fnArray = context.fnArray,
-        argsArray = context.argsArray;
-    var iFirstSave = context.iCurr - 4;
-    var pos = (i - iFirstSave) % 5;
-
-    switch (pos) {
-      case 0:
-        return fnArray[i] === _util.OPS.beginText;
-
-      case 1:
-        return fnArray[i] === _util.OPS.setFont;
-
-      case 2:
-        return fnArray[i] === _util.OPS.setTextMatrix;
-
-      case 3:
-        if (fnArray[i] !== _util.OPS.showText) {
-          return false;
-        }
-
-        var iFirstSetFont = context.iCurr - 3;
-        var firstSetFontArg0 = argsArray[iFirstSetFont][0];
-        var firstSetFontArg1 = argsArray[iFirstSetFont][1];
-
-        if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {
-          return false;
-        }
-
-        return true;
-
-      case 4:
-        return fnArray[i] === _util.OPS.endText;
-    }
-
-    throw new Error("iterateShowTextGroup - invalid pos: ".concat(pos));
-  }, function (context, i) {
-    var MIN_CHARS_IN_BLOCK = 3;
-    var MAX_CHARS_IN_BLOCK = 1000;
-    var fnArray = context.fnArray,
-        argsArray = context.argsArray;
-    var curr = context.iCurr;
-    var iFirstBeginText = curr - 4;
-    var iFirstSetFont = curr - 3;
-    var iFirstSetTextMatrix = curr - 2;
-    var iFirstShowText = curr - 1;
-    var iFirstEndText = curr;
-    var firstSetFontArg0 = argsArray[iFirstSetFont][0];
-    var firstSetFontArg1 = argsArray[iFirstSetFont][1];
-    var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);
-
-    if (count < MIN_CHARS_IN_BLOCK) {
-      return i - (i - iFirstBeginText) % 5;
-    }
-
-    var iFirst = iFirstBeginText;
-
-    if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {
-      count++;
-      iFirst -= 5;
-    }
-
-    var iEndText = iFirst + 4;
-
-    for (var q = 1; q < count; q++) {
-      fnArray.splice(iEndText, 3);
-      argsArray.splice(iEndText, 3);
-      iEndText += 2;
-    }
-
-    return iEndText + 1;
-  });
-
-  function QueueOptimizer(queue) {
-    this.queue = queue;
-    this.state = null;
-    this.context = {
-      iCurr: 0,
-      fnArray: queue.fnArray,
-      argsArray: queue.argsArray
-    };
-    this.match = null;
-    this.lastProcessed = 0;
-  }
-
-  QueueOptimizer.prototype = {
-    _optimize: function _optimize() {
-      var fnArray = this.queue.fnArray;
-      var i = this.lastProcessed,
-          ii = fnArray.length;
-      var state = this.state;
-      var match = this.match;
-
-      if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {
-        this.lastProcessed = ii;
-        return;
-      }
-
-      var context = this.context;
-
-      while (i < ii) {
-        if (match) {
-          var iterate = (0, match.iterateFn)(context, i);
-
-          if (iterate) {
-            i++;
-            continue;
-          }
-
-          i = (0, match.processFn)(context, i + 1);
-          ii = fnArray.length;
-          match = null;
-          state = null;
-
-          if (i >= ii) {
-            break;
-          }
-        }
-
-        state = (state || InitialState)[fnArray[i]];
-
-        if (!state || Array.isArray(state)) {
-          i++;
-          continue;
-        }
-
-        context.iCurr = i;
-        i++;
-
-        if (state.checkFn && !(0, state.checkFn)(context)) {
-          state = null;
-          continue;
-        }
-
-        match = state;
-        state = null;
-      }
-
-      this.state = state;
-      this.match = match;
-      this.lastProcessed = i;
-    },
-    push: function push(fn, args) {
-      this.queue.fnArray.push(fn);
-      this.queue.argsArray.push(args);
-
-      this._optimize();
-    },
-    flush: function flush() {
-      while (this.match) {
-        var length = this.queue.fnArray.length;
-        this.lastProcessed = (0, this.match.processFn)(this.context, length);
-        this.match = null;
-        this.state = null;
-
-        this._optimize();
-      }
-    },
-    reset: function reset() {
-      this.state = null;
-      this.match = null;
-      this.lastProcessed = 0;
-    }
-  };
-  return QueueOptimizer;
-}();
-
-var NullOptimizer = function NullOptimizerClosure() {
-  function NullOptimizer(queue) {
-    this.queue = queue;
-  }
-
-  NullOptimizer.prototype = {
-    push: function push(fn, args) {
-      this.queue.fnArray.push(fn);
-      this.queue.argsArray.push(args);
-    },
-    flush: function flush() {},
-    reset: function reset() {}
-  };
-  return NullOptimizer;
-}();
-
-var OperatorList = function OperatorListClosure() {
-  var CHUNK_SIZE = 1000;
-  var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;
-
-  function OperatorList(intent, streamSink, pageIndex) {
-    this._streamSink = streamSink;
-    this.fnArray = [];
-    this.argsArray = [];
-
-    if (streamSink && intent !== "oplist") {
-      this.optimizer = new QueueOptimizer(this);
-    } else {
-      this.optimizer = new NullOptimizer(this);
-    }
-
-    this.dependencies = Object.create(null);
-    this._totalLength = 0;
-    this.pageIndex = pageIndex;
-    this.intent = intent;
-    this.weight = 0;
-    this._resolved = streamSink ? null : Promise.resolve();
-  }
-
-  OperatorList.prototype = {
-    get length() {
-      return this.argsArray.length;
-    },
-
-    get ready() {
-      return this._resolved || this._streamSink.ready;
-    },
-
-    get totalLength() {
-      return this._totalLength + this.length;
-    },
-
-    addOp: function addOp(fn, args) {
-      this.optimizer.push(fn, args);
-      this.weight++;
-
-      if (this._streamSink) {
-        if (this.weight >= CHUNK_SIZE) {
-          this.flush();
-        } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {
-          this.flush();
-        }
-      }
-    },
-    addDependency: function addDependency(dependency) {
-      if (dependency in this.dependencies) {
-        return;
-      }
-
-      this.dependencies[dependency] = true;
-      this.addOp(_util.OPS.dependency, [dependency]);
-    },
-    addDependencies: function addDependencies(dependencies) {
-      for (var key in dependencies) {
-        this.addDependency(key);
-      }
-    },
-    addOpList: function addOpList(opList) {
-      Object.assign(this.dependencies, opList.dependencies);
-
-      for (var i = 0, ii = opList.length; i < ii; i++) {
-        this.addOp(opList.fnArray[i], opList.argsArray[i]);
-      }
-    },
-    getIR: function getIR() {
-      return {
-        fnArray: this.fnArray,
-        argsArray: this.argsArray,
-        length: this.length
-      };
-    },
-
-    get _transfers() {
-      var transfers = [];
-      var fnArray = this.fnArray,
-          argsArray = this.argsArray,
-          length = this.length;
-
-      for (var i = 0; i < length; i++) {
-        switch (fnArray[i]) {
-          case _util.OPS.paintInlineImageXObject:
-          case _util.OPS.paintInlineImageXObjectGroup:
-          case _util.OPS.paintImageMaskXObject:
-            var arg = argsArray[i][0];
-            ;
-
-            if (!arg.cached) {
-              transfers.push(arg.data.buffer);
-            }
-
-            break;
-        }
-      }
-
-      return transfers;
-    },
-
-    flush: function flush() {
-      var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      this.optimizer.flush();
-      var length = this.length;
-      this._totalLength += length;
-
-      this._streamSink.enqueue({
-        fnArray: this.fnArray,
-        argsArray: this.argsArray,
-        lastChunk: lastChunk,
-        length: length
-      }, 1, this._transfers);
-
-      this.dependencies = Object.create(null);
-      this.fnArray.length = 0;
-      this.argsArray.length = 0;
-      this.weight = 0;
-      this.optimizer.reset();
-    }
-  };
-  return OperatorList;
-}();
-
-exports.OperatorList = OperatorList;
-
-/***/ }),
-/* 215 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PartialEvaluator = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _cmap = __w_pdfjs_require__(216);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _fonts = __w_pdfjs_require__(217);
-
-var _encodings = __w_pdfjs_require__(220);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _unicode = __w_pdfjs_require__(223);
-
-var _standard_fonts = __w_pdfjs_require__(222);
-
-var _pattern = __w_pdfjs_require__(226);
-
-var _parser = __w_pdfjs_require__(200);
-
-var _bidi = __w_pdfjs_require__(227);
-
-var _colorspace = __w_pdfjs_require__(212);
-
-var _stream = __w_pdfjs_require__(201);
-
-var _glyphlist = __w_pdfjs_require__(221);
-
-var _metrics = __w_pdfjs_require__(228);
-
-var _function = __w_pdfjs_require__(229);
-
-var _jpeg_stream = __w_pdfjs_require__(207);
-
-var _murmurhash = __w_pdfjs_require__(231);
-
-var _image_utils = __w_pdfjs_require__(232);
-
-var _operator_list = __w_pdfjs_require__(214);
-
-var _image = __w_pdfjs_require__(233);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-var PartialEvaluator = function PartialEvaluatorClosure() {
-  var DefaultPartialEvaluatorOptions = {
-    forceDataSchema: false,
-    maxImageSize: -1,
-    disableFontFace: false,
-    nativeImageDecoderSupport: _util.NativeImageDecoding.DECODE,
-    ignoreErrors: false,
-    isEvalSupported: true
-  };
-
-  function PartialEvaluator(_ref) {
-    var _this = this;
-
-    var xref = _ref.xref,
-        handler = _ref.handler,
-        pageIndex = _ref.pageIndex,
-        idFactory = _ref.idFactory,
-        fontCache = _ref.fontCache,
-        builtInCMapCache = _ref.builtInCMapCache,
-        _ref$options = _ref.options,
-        options = _ref$options === void 0 ? null : _ref$options,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
-    this.xref = xref;
-    this.handler = handler;
-    this.pageIndex = pageIndex;
-    this.idFactory = idFactory;
-    this.fontCache = fontCache;
-    this.builtInCMapCache = builtInCMapCache;
-    this.options = options || DefaultPartialEvaluatorOptions;
-    this.pdfFunctionFactory = pdfFunctionFactory;
-    this.parsingType3Font = false;
-
-    this.fetchBuiltInCMap = /*#__PURE__*/function () {
-      var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(name) {
-        var readableStream, reader, data;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                if (!_this.builtInCMapCache.has(name)) {
-                  _context.next = 2;
-                  break;
-                }
-
-                return _context.abrupt("return", _this.builtInCMapCache.get(name));
-
-              case 2:
-                readableStream = _this.handler.sendWithStream("FetchBuiltInCMap", {
-                  name: name
-                });
-                reader = readableStream.getReader();
-                _context.next = 6;
-                return new Promise(function (resolve, reject) {
-                  function pump() {
-                    reader.read().then(function (_ref3) {
-                      var value = _ref3.value,
-                          done = _ref3.done;
-
-                      if (done) {
-                        return;
-                      }
-
-                      resolve(value);
-                      pump();
-                    }, reject);
-                  }
-
-                  pump();
-                });
-
-              case 6:
-                data = _context.sent;
-
-                if (data.compressionType !== _util.CMapCompressionType.NONE) {
-                  _this.builtInCMapCache.set(name, data);
-                }
-
-                return _context.abrupt("return", data);
-
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      return function (_x) {
-        return _ref2.apply(this, arguments);
-      };
-    }();
-  }
-
-  var TIME_SLOT_DURATION_MS = 20;
-  var CHECK_TIME_EVERY = 100;
-
-  function TimeSlotManager() {
-    this.reset();
-  }
-
-  TimeSlotManager.prototype = {
-    check: function TimeSlotManager_check() {
-      if (++this.checked < CHECK_TIME_EVERY) {
-        return false;
-      }
-
-      this.checked = 0;
-      return this.endTime <= Date.now();
-    },
-    reset: function TimeSlotManager_reset() {
-      this.endTime = Date.now() + TIME_SLOT_DURATION_MS;
-      this.checked = 0;
-    }
-  };
-
-  function normalizeBlendMode(value) {
-    var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
-    if (Array.isArray(value)) {
-      for (var i = 0, ii = value.length; i < ii; i++) {
-        var maybeBM = normalizeBlendMode(value[i], true);
-
-        if (maybeBM) {
-          return maybeBM;
-        }
-      }
-
-      (0, _util.warn)("Unsupported blend mode Array: ".concat(value));
-      return "source-over";
-    }
-
-    if (!(0, _primitives.isName)(value)) {
-      if (parsingArray) {
-        return null;
-      }
-
-      return "source-over";
-    }
-
-    switch (value.name) {
-      case "Normal":
-      case "Compatible":
-        return "source-over";
-
-      case "Multiply":
-        return "multiply";
-
-      case "Screen":
-        return "screen";
-
-      case "Overlay":
-        return "overlay";
-
-      case "Darken":
-        return "darken";
-
-      case "Lighten":
-        return "lighten";
-
-      case "ColorDodge":
-        return "color-dodge";
-
-      case "ColorBurn":
-        return "color-burn";
-
-      case "HardLight":
-        return "hard-light";
-
-      case "SoftLight":
-        return "soft-light";
-
-      case "Difference":
-        return "difference";
-
-      case "Exclusion":
-        return "exclusion";
-
-      case "Hue":
-        return "hue";
-
-      case "Saturation":
-        return "saturation";
-
-      case "Color":
-        return "color";
-
-      case "Luminosity":
-        return "luminosity";
-    }
-
-    if (parsingArray) {
-      return null;
-    }
-
-    (0, _util.warn)("Unsupported blend mode: ".concat(value.name));
-    return "source-over";
-  }
-
-  var deferred = Promise.resolve();
-  var TILING_PATTERN = 1,
-      SHADING_PATTERN = 2;
-  PartialEvaluator.prototype = {
-    clone: function clone() {
-      var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;
-      var newEvaluator = Object.create(this);
-      newEvaluator.options = newOptions;
-      return newEvaluator;
-    },
-    hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {
-      if (!(resources instanceof _primitives.Dict)) {
-        return false;
-      }
-
-      var processed = Object.create(null);
-
-      if (resources.objId) {
-        processed[resources.objId] = true;
-      }
-
-      var nodes = [resources],
-          xref = this.xref;
-
-      while (nodes.length) {
-        var node = nodes.shift();
-        var graphicStates = node.get("ExtGState");
-
-        if (graphicStates instanceof _primitives.Dict) {
-          var graphicStatesKeys = graphicStates.getKeys();
-
-          for (var i = 0, ii = graphicStatesKeys.length; i < ii; i++) {
-            var key = graphicStatesKeys[i];
-            var graphicState = graphicStates.getRaw(key);
-
-            if (graphicState instanceof _primitives.Ref) {
-              if (processed[graphicState.toString()]) {
-                continue;
-              }
-
-              try {
-                graphicState = xref.fetch(graphicState);
-              } catch (ex) {
-                if (ex instanceof _core_utils.MissingDataException) {
-                  throw ex;
-                }
-
-                if (this.options.ignoreErrors) {
-                  if (graphicState instanceof _primitives.Ref) {
-                    processed[graphicState.toString()] = true;
-                  }
-
-                  this.handler.send("UnsupportedFeature", {
-                    featureId: _util.UNSUPPORTED_FEATURES.unknown
-                  });
-                  (0, _util.warn)("hasBlendModes - ignoring ExtGState: \"".concat(ex, "\"."));
-                  continue;
-                }
-
-                throw ex;
-              }
-            }
-
-            if (!(graphicState instanceof _primitives.Dict)) {
-              continue;
-            }
-
-            if (graphicState.objId) {
-              processed[graphicState.objId] = true;
-            }
-
-            var bm = graphicState.get("BM");
-
-            if (bm instanceof _primitives.Name) {
-              if (bm.name !== "Normal") {
-                return true;
-              }
-
-              continue;
-            }
-
-            if (bm !== undefined && Array.isArray(bm)) {
-              for (var j = 0, jj = bm.length; j < jj; j++) {
-                if (bm[j] instanceof _primitives.Name && bm[j].name !== "Normal") {
-                  return true;
-                }
-              }
-            }
-          }
-        }
-
-        var xObjects = node.get("XObject");
-
-        if (!(xObjects instanceof _primitives.Dict)) {
-          continue;
-        }
-
-        var xObjectsKeys = xObjects.getKeys();
-
-        for (var _i = 0, _ii = xObjectsKeys.length; _i < _ii; _i++) {
-          var _key = xObjectsKeys[_i];
-          var xObject = xObjects.getRaw(_key);
-
-          if (xObject instanceof _primitives.Ref) {
-            if (processed[xObject.toString()]) {
-              continue;
-            }
-
-            try {
-              xObject = xref.fetch(xObject);
-            } catch (ex) {
-              if (ex instanceof _core_utils.MissingDataException) {
-                throw ex;
-              }
-
-              if (this.options.ignoreErrors) {
-                if (xObject instanceof _primitives.Ref) {
-                  processed[xObject.toString()] = true;
-                }
-
-                this.handler.send("UnsupportedFeature", {
-                  featureId: _util.UNSUPPORTED_FEATURES.unknown
-                });
-                (0, _util.warn)("hasBlendModes - ignoring XObject: \"".concat(ex, "\"."));
-                continue;
-              }
-
-              throw ex;
-            }
-          }
-
-          if (!(0, _primitives.isStream)(xObject)) {
-            continue;
-          }
-
-          if (xObject.dict.objId) {
-            if (processed[xObject.dict.objId]) {
-              continue;
-            }
-
-            processed[xObject.dict.objId] = true;
-          }
-
-          var xResources = xObject.dict.get("Resources");
-
-          if (xResources instanceof _primitives.Dict && (!xResources.objId || !processed[xResources.objId])) {
-            nodes.push(xResources);
-
-            if (xResources.objId) {
-              processed[xResources.objId] = true;
-            }
-          }
-        }
-      }
-
-      return false;
-    },
-    buildFormXObject: function buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {
-      var _this2 = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var dict, matrix, bbox, group, groupOptions, groupSubtype, colorSpace;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                dict = xobj.dict;
-                matrix = dict.getArray("Matrix");
-                bbox = dict.getArray("BBox");
-
-                if (Array.isArray(bbox) && bbox.length === 4) {
-                  bbox = _util.Util.normalizeRect(bbox);
-                } else {
-                  bbox = null;
-                }
-
-                group = dict.get("Group");
-
-                if (!group) {
-                  _context2.next = 18;
-                  break;
-                }
-
-                groupOptions = {
-                  matrix: matrix,
-                  bbox: bbox,
-                  smask: smask,
-                  isolated: false,
-                  knockout: false
-                };
-                groupSubtype = group.get("S");
-                colorSpace = null;
-
-                if (!(0, _primitives.isName)(groupSubtype, "Transparency")) {
-                  _context2.next = 16;
-                  break;
-                }
-
-                groupOptions.isolated = group.get("I") || false;
-                groupOptions.knockout = group.get("K") || false;
-
-                if (!group.has("CS")) {
-                  _context2.next = 16;
-                  break;
-                }
-
-                _context2.next = 15;
-                return _this2.parseColorSpace({
-                  cs: group.get("CS"),
-                  resources: resources
-                });
-
-              case 15:
-                colorSpace = _context2.sent;
-
-              case 16:
-                if (smask && smask.backdrop) {
-                  colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;
-                  smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);
-                }
-
-                operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);
-
-              case 18:
-                operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);
-                return _context2.abrupt("return", _this2.getOperatorList({
-                  stream: xobj,
-                  task: task,
-                  resources: dict.get("Resources") || resources,
-                  operatorList: operatorList,
-                  initialState: initialState
-                }).then(function () {
-                  operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);
-
-                  if (group) {
-                    operatorList.addOp(_util.OPS.endGroup, [groupOptions]);
-                  }
-                }));
-
-              case 20:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }))();
-    },
-    buildPaintImageXObject: function buildPaintImageXObject(_ref4) {
-      var _this3 = this;
-
-      var resources = _ref4.resources,
-          image = _ref4.image,
-          _ref4$isInline = _ref4.isInline,
-          isInline = _ref4$isInline === void 0 ? false : _ref4$isInline,
-          operatorList = _ref4.operatorList,
-          cacheKey = _ref4.cacheKey,
-          imageCache = _ref4.imageCache,
-          _ref4$forceDisableNat = _ref4.forceDisableNativeImageDecoder,
-          forceDisableNativeImageDecoder = _ref4$forceDisableNat === void 0 ? false : _ref4$forceDisableNat;
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
-        var dict, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, nativeImageDecoderSupport, objId, nativeImageDecoder, imgPromise;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                dict = image.dict;
-                w = dict.get("Width", "W");
-                h = dict.get("Height", "H");
-
-                if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {
-                  _context3.next = 6;
-                  break;
-                }
-
-                (0, _util.warn)("Image dimensions are missing, or not numbers.");
-                return _context3.abrupt("return", undefined);
-
-              case 6:
-                maxImageSize = _this3.options.maxImageSize;
-
-                if (!(maxImageSize !== -1 && w * h > maxImageSize)) {
-                  _context3.next = 10;
-                  break;
-                }
-
-                (0, _util.warn)("Image exceeded maximum allowed size and was removed.");
-                return _context3.abrupt("return", undefined);
-
-              case 10:
-                imageMask = dict.get("ImageMask", "IM") || false;
-
-                if (!imageMask) {
-                  _context3.next = 23;
-                  break;
-                }
-
-                width = dict.get("Width", "W");
-                height = dict.get("Height", "H");
-                bitStrideLength = width + 7 >> 3;
-                imgArray = image.getBytes(bitStrideLength * height, true);
-                decode = dict.getArray("Decode", "D");
-                imgData = _image.PDFImage.createMask({
-                  imgArray: imgArray,
-                  width: width,
-                  height: height,
-                  imageIsFromDecodeStream: image instanceof _stream.DecodeStream,
-                  inverseDecode: !!decode && decode[0] > 0
-                });
-                imgData.cached = !!cacheKey;
-                args = [imgData];
-                operatorList.addOp(_util.OPS.paintImageMaskXObject, args);
-
-                if (cacheKey) {
-                  imageCache[cacheKey] = {
-                    fn: _util.OPS.paintImageMaskXObject,
-                    args: args
-                  };
-                }
-
-                return _context3.abrupt("return", undefined);
-
-              case 23:
-                softMask = dict.get("SMask", "SM") || false;
-                mask = dict.get("Mask") || false;
-                SMALL_IMAGE_DIMENSIONS = 200;
-
-                if (!(isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS)) {
-                  _context3.next = 31;
-                  break;
-                }
-
-                imageObj = new _image.PDFImage({
-                  xref: _this3.xref,
-                  res: resources,
-                  image: image,
-                  isInline: isInline,
-                  pdfFunctionFactory: _this3.pdfFunctionFactory
-                });
-                imgData = imageObj.createImageData(true);
-                operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);
-                return _context3.abrupt("return", undefined);
-
-              case 31:
-                nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : _this3.options.nativeImageDecoderSupport;
-                objId = "img_".concat(_this3.idFactory.createObjId());
-
-                if (_this3.parsingType3Font) {
-                  (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, "Type3 image resources should be completely decoded in the worker.");
-                  objId = "".concat(_this3.idFactory.getDocId(), "_type3res_").concat(objId);
-                }
-
-                if (!(nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, _this3.xref, resources, _this3.pdfFunctionFactory) && image.maybeValidDimensions)) {
-                  _context3.next = 36;
-                  break;
-                }
-
-                return _context3.abrupt("return", _this3.handler.sendWithPromise("obj", [objId, _this3.pageIndex, "JpegStream", image.getIR(_this3.options.forceDataSchema)]).then(function () {
-                  operatorList.addDependency(objId);
-                  args = [objId, w, h];
-                  operatorList.addOp(_util.OPS.paintJpegXObject, args);
-
-                  if (cacheKey) {
-                    imageCache[cacheKey] = {
-                      fn: _util.OPS.paintJpegXObject,
-                      args: args
-                    };
-                  }
-                }, function (reason) {
-                  (0, _util.warn)("Native JPEG decoding failed -- trying to recover: " + (reason && reason.message));
-                  return _this3.buildPaintImageXObject({
-                    resources: resources,
-                    image: image,
-                    isInline: isInline,
-                    operatorList: operatorList,
-                    cacheKey: cacheKey,
-                    imageCache: imageCache,
-                    forceDisableNativeImageDecoder: true
-                  });
-                }));
-
-              case 36:
-                nativeImageDecoder = null;
-
-                if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof _jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof _jpeg_stream.JpegStream)) {
-                  nativeImageDecoder = new _image_utils.NativeImageDecoder({
-                    xref: _this3.xref,
-                    resources: resources,
-                    handler: _this3.handler,
-                    forceDataSchema: _this3.options.forceDataSchema,
-                    pdfFunctionFactory: _this3.pdfFunctionFactory
-                  });
-                }
-
-                operatorList.addDependency(objId);
-                args = [objId, w, h];
-                imgPromise = _image.PDFImage.buildImage({
-                  handler: _this3.handler,
-                  xref: _this3.xref,
-                  res: resources,
-                  image: image,
-                  isInline: isInline,
-                  nativeDecoder: nativeImageDecoder,
-                  pdfFunctionFactory: _this3.pdfFunctionFactory
-                }).then(function (imageObj) {
-                  var imgData = imageObj.createImageData(false);
-
-                  if (_this3.parsingType3Font) {
-                    return _this3.handler.sendWithPromise("commonobj", [objId, "FontType3Res", imgData], [imgData.data.buffer]);
-                  }
-
-                  _this3.handler.send("obj", [objId, _this3.pageIndex, "Image", imgData], [imgData.data.buffer]);
-
-                  return undefined;
-                })["catch"](function (reason) {
-                  (0, _util.warn)("Unable to decode image: " + reason);
-
-                  if (_this3.parsingType3Font) {
-                    return _this3.handler.sendWithPromise("commonobj", [objId, "FontType3Res", null]);
-                  }
-
-                  _this3.handler.send("obj", [objId, _this3.pageIndex, "Image", null]);
-
-                  return undefined;
-                });
-
-                if (!_this3.parsingType3Font) {
-                  _context3.next = 44;
-                  break;
-                }
-
-                _context3.next = 44;
-                return imgPromise;
-
-              case 44:
-                operatorList.addOp(_util.OPS.paintImageXObject, args);
-
-                if (cacheKey) {
-                  imageCache[cacheKey] = {
-                    fn: _util.OPS.paintImageXObject,
-                    args: args
-                  };
-                }
-
-                return _context3.abrupt("return", undefined);
-
-              case 47:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3);
-      }))();
-    },
-    handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {
-      var smaskContent = smask.get("G");
-      var smaskOptions = {
-        subtype: smask.get("S").name,
-        backdrop: smask.get("BC")
-      };
-      var transferObj = smask.get("TR");
-
-      if ((0, _function.isPDFFunction)(transferObj)) {
-        var transferFn = this.pdfFunctionFactory.create(transferObj);
-        var transferMap = new Uint8Array(256);
-        var tmp = new Float32Array(1);
-
-        for (var i = 0; i < 256; i++) {
-          tmp[0] = i / 255;
-          transferFn(tmp, 0, tmp, 0);
-          transferMap[i] = tmp[0] * 255 | 0;
-        }
-
-        smaskOptions.transferMap = transferMap;
-      }
-
-      return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());
-    },
-    handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {
-      var _this4 = this;
-
-      var tilingOpList = new _operator_list.OperatorList();
-      var resourcesArray = [patternDict.get("Resources"), resources];
-
-      var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);
-
-      return this.getOperatorList({
-        stream: pattern,
-        task: task,
-        resources: patternResources,
-        operatorList: tilingOpList
-      }).then(function () {
-        return (0, _pattern.getTilingPatternIR)({
-          fnArray: tilingOpList.fnArray,
-          argsArray: tilingOpList.argsArray
-        }, patternDict, args);
-      }).then(function (tilingPatternIR) {
-        operatorList.addDependencies(tilingOpList.dependencies);
-        operatorList.addOp(fn, tilingPatternIR);
-      }, function (reason) {
-        if (reason instanceof _util.AbortException) {
-          return;
-        }
-
-        if (_this4.options.ignoreErrors) {
-          _this4.handler.send("UnsupportedFeature", {
-            featureId: _util.UNSUPPORTED_FEATURES.unknown
-          });
-
-          (0, _util.warn)("handleTilingType - ignoring pattern: \"".concat(reason, "\"."));
-          return;
-        }
-
-        throw reason;
-      });
-    },
-    handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {
-      var _this5 = this;
-
-      var fontName;
-
-      if (fontArgs) {
-        fontArgs = fontArgs.slice();
-        fontName = fontArgs[0].name;
-      }
-
-      return this.loadFont(fontName, fontRef, resources).then(function (translated) {
-        if (!translated.font.isType3Font) {
-          return translated;
-        }
-
-        return translated.loadType3Data(_this5, resources, operatorList, task).then(function () {
-          return translated;
-        })["catch"](function (reason) {
-          _this5.handler.send("UnsupportedFeature", {
-            featureId: _util.UNSUPPORTED_FEATURES.font
-          });
-
-          return new TranslatedFont("g_font_error", new _fonts.ErrorFont("Type3 font load error: " + reason), translated.font);
-        });
-      }).then(function (translated) {
-        state.font = translated.font;
-        translated.send(_this5.handler);
-        return translated.loadedName;
-      });
-    },
-    handleText: function handleText(chars, state) {
-      var font = state.font;
-      var glyphs = font.charsToGlyphs(chars);
-
-      if (font.data) {
-        var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
-
-        if (isAddToPathSet || state.fillColorSpace.name === "Pattern" || font.disableFontFace || this.options.disableFontFace) {
-          PartialEvaluator.buildFontPaths(font, glyphs, this.handler);
-        }
-      }
-
-      return glyphs;
-    },
-    ensureStateFont: function ensureStateFont(state) {
-      if (state.font) {
-        return;
-      }
-
-      var reason = new _util.FormatError("Missing setFont (Tf) operator before text rendering operator.");
-
-      if (this.options.ignoreErrors) {
-        this.handler.send("UnsupportedFeature", {
-          featureId: _util.UNSUPPORTED_FEATURES.font
-        });
-        (0, _util.warn)("ensureStateFont: \"".concat(reason, "\"."));
-        return;
-      }
-
-      throw reason;
-    },
-    setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {
-      var _this6 = this;
-
-      var gStateObj = [];
-      var gStateKeys = gState.getKeys();
-      var promise = Promise.resolve();
-
-      var _loop = function _loop() {
-        var key = gStateKeys[i];
-        var value = gState.get(key);
-
-        switch (key) {
-          case "Type":
-            break;
-
-          case "LW":
-          case "LC":
-          case "LJ":
-          case "ML":
-          case "D":
-          case "RI":
-          case "FL":
-          case "CA":
-          case "ca":
-            gStateObj.push([key, value]);
-            break;
-
-          case "Font":
-            promise = promise.then(function () {
-              return _this6.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {
-                operatorList.addDependency(loadedName);
-                gStateObj.push([key, [loadedName, value[1]]]);
-              });
-            });
-            break;
-
-          case "BM":
-            gStateObj.push([key, normalizeBlendMode(value)]);
-            break;
-
-          case "SMask":
-            if ((0, _primitives.isName)(value, "None")) {
-              gStateObj.push([key, false]);
-              break;
-            }
-
-            if ((0, _primitives.isDict)(value)) {
-              promise = promise.then(function () {
-                return _this6.handleSMask(value, resources, operatorList, task, stateManager);
-              });
-              gStateObj.push([key, true]);
-            } else {
-              (0, _util.warn)("Unsupported SMask type");
-            }
-
-            break;
-
-          case "OP":
-          case "op":
-          case "OPM":
-          case "BG":
-          case "BG2":
-          case "UCR":
-          case "UCR2":
-          case "TR":
-          case "TR2":
-          case "HT":
-          case "SM":
-          case "SA":
-          case "AIS":
-          case "TK":
-            (0, _util.info)("graphic state operator " + key);
-            break;
-
-          default:
-            (0, _util.info)("Unknown graphic state operator " + key);
-            break;
-        }
-      };
-
-      for (var i = 0, ii = gStateKeys.length; i < ii; i++) {
-        _loop();
-      }
-
-      return promise.then(function () {
-        if (gStateObj.length > 0) {
-          operatorList.addOp(_util.OPS.setGState, [gStateObj]);
-        }
-      });
-    },
-    loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {
-      var _this7 = this;
-
-      function errorFont() {
-        return Promise.resolve(new TranslatedFont("g_font_error", new _fonts.ErrorFont("Font " + fontName + " is not available"), font));
-      }
-
-      var fontRef,
-          xref = this.xref;
-
-      if (font) {
-        if (!(0, _primitives.isRef)(font)) {
-          throw new _util.FormatError('The "font" object should be a reference.');
-        }
-
-        fontRef = font;
-      } else {
-        var fontRes = resources.get("Font");
-
-        if (fontRes) {
-          fontRef = fontRes.getRaw(fontName);
-        }
-      }
-
-      if (!fontRef) {
-        var partialMsg = "Font \"".concat(fontName || font && font.toString(), "\" is not available");
-
-        if (!this.options.ignoreErrors && !this.parsingType3Font) {
-          (0, _util.warn)("".concat(partialMsg, "."));
-          return errorFont();
-        }
-
-        this.handler.send("UnsupportedFeature", {
-          featureId: _util.UNSUPPORTED_FEATURES.font
-        });
-        (0, _util.warn)("".concat(partialMsg, " -- attempting to fallback to a default font."));
-        fontRef = PartialEvaluator.getFallbackFontDict();
-      }
-
-      if (this.fontCache.has(fontRef)) {
-        return this.fontCache.get(fontRef);
-      }
-
-      font = xref.fetchIfRef(fontRef);
-
-      if (!(0, _primitives.isDict)(font)) {
-        return errorFont();
-      }
-
-      if (font.translated) {
-        return font.translated;
-      }
-
-      var fontCapability = (0, _util.createPromiseCapability)();
-      var preEvaluatedFont = this.preEvaluateFont(font);
-      var descriptor = preEvaluatedFont.descriptor,
-          hash = preEvaluatedFont.hash;
-      var fontRefIsRef = (0, _primitives.isRef)(fontRef),
-          fontID;
-
-      if (fontRefIsRef) {
-        fontID = fontRef.toString();
-      }
-
-      if (hash && (0, _primitives.isDict)(descriptor)) {
-        if (!descriptor.fontAliases) {
-          descriptor.fontAliases = Object.create(null);
-        }
-
-        var fontAliases = descriptor.fontAliases;
-
-        if (fontAliases[hash]) {
-          var aliasFontRef = fontAliases[hash].aliasRef;
-
-          if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {
-            this.fontCache.putAlias(fontRef, aliasFontRef);
-            return this.fontCache.get(fontRef);
-          }
-        } else {
-          fontAliases[hash] = {
-            fontID: _fonts.Font.getFontID()
-          };
-        }
-
-        if (fontRefIsRef) {
-          fontAliases[hash].aliasRef = fontRef;
-        }
-
-        fontID = fontAliases[hash].fontID;
-      }
-
-      if (fontRefIsRef) {
-        this.fontCache.put(fontRef, fontCapability.promise);
-      } else {
-        if (!fontID) {
-          fontID = this.idFactory.createObjId();
-        }
-
-        this.fontCache.put("id_".concat(fontID), fontCapability.promise);
-      }
-
-      (0, _util.assert)(fontID, 'The "fontID" must be defined.');
-      font.loadedName = "".concat(this.idFactory.getDocId(), "_f").concat(fontID);
-      font.translated = fontCapability.promise;
-      var translatedPromise;
-
-      try {
-        translatedPromise = this.translateFont(preEvaluatedFont);
-      } catch (e) {
-        translatedPromise = Promise.reject(e);
-      }
-
-      translatedPromise.then(function (translatedFont) {
-        if (translatedFont.fontType !== undefined) {
-          var xrefFontStats = xref.stats.fontTypes;
-          xrefFontStats[translatedFont.fontType] = true;
-        }
-
-        fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));
-      })["catch"](function (reason) {
-        _this7.handler.send("UnsupportedFeature", {
-          featureId: _util.UNSUPPORTED_FEATURES.font
-        });
-
-        try {
-          var fontFile3 = descriptor && descriptor.get("FontFile3");
-          var subtype = fontFile3 && fontFile3.get("Subtype");
-          var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);
-          var xrefFontStats = xref.stats.fontTypes;
-          xrefFontStats[fontType] = true;
-        } catch (ex) {}
-
-        fontCapability.resolve(new TranslatedFont(font.loadedName, new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason), font));
-      });
-      return fontCapability.promise;
-    },
-    buildPath: function buildPath(operatorList, fn, args) {
-      var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var lastIndex = operatorList.length - 1;
-
-      if (!args) {
-        args = [];
-      }
-
-      if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {
-        if (parsingText) {
-          (0, _util.warn)("Encountered path operator \"".concat(fn, "\" inside of a text object."));
-          operatorList.addOp(_util.OPS.save, null);
-        }
-
-        operatorList.addOp(_util.OPS.constructPath, [[fn], args]);
-
-        if (parsingText) {
-          operatorList.addOp(_util.OPS.restore, null);
-        }
-      } else {
-        var opArgs = operatorList.argsArray[lastIndex];
-        opArgs[0].push(fn);
-        Array.prototype.push.apply(opArgs[1], args);
-      }
-    },
-    parseColorSpace: function parseColorSpace(_ref5) {
-      var _this8 = this;
-
-      var cs = _ref5.cs,
-          resources = _ref5.resources;
-      return new Promise(function (resolve) {
-        resolve(_colorspace.ColorSpace.parse(cs, _this8.xref, resources, _this8.pdfFunctionFactory));
-      })["catch"](function (reason) {
-        if (reason instanceof _util.AbortException) {
-          return null;
-        }
-
-        if (_this8.options.ignoreErrors) {
-          _this8.handler.send("UnsupportedFeature", {
-            featureId: _util.UNSUPPORTED_FEATURES.unknown
-          });
-
-          (0, _util.warn)("parseColorSpace - ignoring ColorSpace: \"".concat(reason, "\"."));
-          return null;
-        }
-
-        throw reason;
-      });
-    },
-    handleColorN: function handleColorN(operatorList, fn, args, cs, patterns, resources, task) {
-      var _this9 = this;
-
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
-        var patternName, pattern, dict, typeNum, color, shading, matrix;
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                patternName = args[args.length - 1];
-
-                if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {
-                  _context4.next = 16;
-                  break;
-                }
-
-                dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;
-                typeNum = dict.get("PatternType");
-
-                if (!(typeNum === TILING_PATTERN)) {
-                  _context4.next = 9;
-                  break;
-                }
-
-                color = cs.base ? cs.base.getRgb(args, 0) : null;
-                return _context4.abrupt("return", _this9.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));
-
-              case 9:
-                if (!(typeNum === SHADING_PATTERN)) {
-                  _context4.next = 15;
-                  break;
-                }
-
-                shading = dict.get("Shading");
-                matrix = dict.getArray("Matrix");
-                pattern = _pattern.Pattern.parseShading(shading, matrix, _this9.xref, resources, _this9.handler, _this9.pdfFunctionFactory);
-                operatorList.addOp(fn, pattern.getIR());
-                return _context4.abrupt("return", undefined);
-
-              case 15:
-                throw new _util.FormatError("Unknown PatternType: ".concat(typeNum));
-
-              case 16:
-                throw new _util.FormatError("Unknown PatternName: ".concat(patternName));
-
-              case 17:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4);
-      }))();
-    },
-    getOperatorList: function getOperatorList(_ref6) {
-      var _this10 = this;
-
-      var stream = _ref6.stream,
-          task = _ref6.task,
-          resources = _ref6.resources,
-          operatorList = _ref6.operatorList,
-          _ref6$initialState = _ref6.initialState,
-          initialState = _ref6$initialState === void 0 ? null : _ref6$initialState;
-      resources = resources || _primitives.Dict.empty;
-      initialState = initialState || new EvalState();
-
-      if (!operatorList) {
-        throw new Error('getOperatorList: missing "operatorList" parameter');
-      }
-
-      var self = this;
-      var xref = this.xref;
-      var parsingText = false;
-      var imageCache = Object.create(null);
-
-      var xobjs = resources.get("XObject") || _primitives.Dict.empty;
-
-      var patterns = resources.get("Pattern") || _primitives.Dict.empty;
-
-      var stateManager = new StateManager(initialState);
-      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);
-      var timeSlotManager = new TimeSlotManager();
-
-      function closePendingRestoreOPS(argument) {
-        for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {
-          operatorList.addOp(_util.OPS.restore, []);
-        }
-      }
-
-      return new Promise(function promiseBody(resolve, reject) {
-        var next = function next(promise) {
-          Promise.all([promise, operatorList.ready]).then(function () {
-            try {
-              promiseBody(resolve, reject);
-            } catch (ex) {
-              reject(ex);
-            }
-          }, reject);
-        };
-
-        task.ensureNotTerminated();
-        timeSlotManager.reset();
-        var stop,
-            operation = {},
-            i,
-            ii,
-            cs;
-
-        while (!(stop = timeSlotManager.check())) {
-          operation.args = null;
-
-          if (!preprocessor.read(operation)) {
-            break;
-          }
-
-          var args = operation.args;
-          var fn = operation.fn;
-
-          switch (fn | 0) {
-            case _util.OPS.paintXObject:
-              var name = args[0].name;
-
-              if (name && imageCache[name] !== undefined) {
-                operatorList.addOp(imageCache[name].fn, imageCache[name].args);
-                args = null;
-                continue;
-              }
-
-              next(new Promise(function (resolveXObject, rejectXObject) {
-                if (!name) {
-                  throw new _util.FormatError("XObject must be referred to by name.");
-                }
-
-                var xobj = xobjs.get(name);
-
-                if (!xobj) {
-                  operatorList.addOp(fn, args);
-                  resolveXObject();
-                  return;
-                }
-
-                if (!(0, _primitives.isStream)(xobj)) {
-                  throw new _util.FormatError("XObject should be a stream");
-                }
-
-                var type = xobj.dict.get("Subtype");
-
-                if (!(0, _primitives.isName)(type)) {
-                  throw new _util.FormatError("XObject should have a Name subtype");
-                }
-
-                if (type.name === "Form") {
-                  stateManager.save();
-                  self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {
-                    stateManager.restore();
-                    resolveXObject();
-                  }, rejectXObject);
-                  return;
-                } else if (type.name === "Image") {
-                  self.buildPaintImageXObject({
-                    resources: resources,
-                    image: xobj,
-                    operatorList: operatorList,
-                    cacheKey: name,
-                    imageCache: imageCache
-                  }).then(resolveXObject, rejectXObject);
-                  return;
-                } else if (type.name === "PS") {
-                  (0, _util.info)("Ignored XObject subtype PS");
-                } else {
-                  throw new _util.FormatError("Unhandled XObject subtype ".concat(type.name));
-                }
-
-                resolveXObject();
-              })["catch"](function (reason) {
-                if (reason instanceof _util.AbortException) {
-                  return;
-                }
-
-                if (self.options.ignoreErrors) {
-                  self.handler.send("UnsupportedFeature", {
-                    featureId: _util.UNSUPPORTED_FEATURES.unknown
-                  });
-                  (0, _util.warn)("getOperatorList - ignoring XObject: \"".concat(reason, "\"."));
-                  return;
-                }
-
-                throw reason;
-              }));
-              return;
-
-            case _util.OPS.setFont:
-              var fontSize = args[1];
-              next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {
-                operatorList.addDependency(loadedName);
-                operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);
-              }));
-              return;
-
-            case _util.OPS.beginText:
-              parsingText = true;
-              break;
-
-            case _util.OPS.endText:
-              parsingText = false;
-              break;
-
-            case _util.OPS.endInlineImage:
-              var cacheKey = args[0].cacheKey;
-
-              if (cacheKey) {
-                var cacheEntry = imageCache[cacheKey];
-
-                if (cacheEntry !== undefined) {
-                  operatorList.addOp(cacheEntry.fn, cacheEntry.args);
-                  args = null;
-                  continue;
-                }
-              }
-
-              next(self.buildPaintImageXObject({
-                resources: resources,
-                image: args[0],
-                isInline: true,
-                operatorList: operatorList,
-                cacheKey: cacheKey,
-                imageCache: imageCache
-              }));
-              return;
-
-            case _util.OPS.showText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              args[0] = self.handleText(args[0], stateManager.state);
-              break;
-
-            case _util.OPS.showSpacedText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              var arr = args[0];
-              var combinedGlyphs = [];
-              var arrLength = arr.length;
-              var state = stateManager.state;
-
-              for (i = 0; i < arrLength; ++i) {
-                var arrItem = arr[i];
-
-                if ((0, _util.isString)(arrItem)) {
-                  Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));
-                } else if ((0, _util.isNum)(arrItem)) {
-                  combinedGlyphs.push(arrItem);
-                }
-              }
-
-              args[0] = combinedGlyphs;
-              fn = _util.OPS.showText;
-              break;
-
-            case _util.OPS.nextLineShowText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              operatorList.addOp(_util.OPS.nextLine);
-              args[0] = self.handleText(args[0], stateManager.state);
-              fn = _util.OPS.showText;
-              break;
-
-            case _util.OPS.nextLineSetSpacingShowText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              operatorList.addOp(_util.OPS.nextLine);
-              operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);
-              operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);
-              args[0] = self.handleText(args[0], stateManager.state);
-              fn = _util.OPS.showText;
-              break;
-
-            case _util.OPS.setTextRenderingMode:
-              stateManager.state.textRenderingMode = args[0];
-              break;
-
-            case _util.OPS.setFillColorSpace:
-              next(self.parseColorSpace({
-                cs: args[0],
-                resources: resources
-              }).then(function (colorSpace) {
-                if (colorSpace) {
-                  stateManager.state.fillColorSpace = colorSpace;
-                }
-              }));
-              return;
-
-            case _util.OPS.setStrokeColorSpace:
-              next(self.parseColorSpace({
-                cs: args[0],
-                resources: resources
-              }).then(function (colorSpace) {
-                if (colorSpace) {
-                  stateManager.state.strokeColorSpace = colorSpace;
-                }
-              }));
-              return;
-
-            case _util.OPS.setFillColor:
-              cs = stateManager.state.fillColorSpace;
-              args = cs.getRgb(args, 0);
-              fn = _util.OPS.setFillRGBColor;
-              break;
-
-            case _util.OPS.setStrokeColor:
-              cs = stateManager.state.strokeColorSpace;
-              args = cs.getRgb(args, 0);
-              fn = _util.OPS.setStrokeRGBColor;
-              break;
-
-            case _util.OPS.setFillGray:
-              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;
-              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);
-              fn = _util.OPS.setFillRGBColor;
-              break;
-
-            case _util.OPS.setStrokeGray:
-              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;
-              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);
-              fn = _util.OPS.setStrokeRGBColor;
-              break;
-
-            case _util.OPS.setFillCMYKColor:
-              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;
-              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);
-              fn = _util.OPS.setFillRGBColor;
-              break;
-
-            case _util.OPS.setStrokeCMYKColor:
-              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;
-              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);
-              fn = _util.OPS.setStrokeRGBColor;
-              break;
-
-            case _util.OPS.setFillRGBColor:
-              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;
-              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);
-              break;
-
-            case _util.OPS.setStrokeRGBColor:
-              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;
-              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);
-              break;
-
-            case _util.OPS.setFillColorN:
-              cs = stateManager.state.fillColorSpace;
-
-              if (cs.name === "Pattern") {
-                next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));
-                return;
-              }
-
-              args = cs.getRgb(args, 0);
-              fn = _util.OPS.setFillRGBColor;
-              break;
-
-            case _util.OPS.setStrokeColorN:
-              cs = stateManager.state.strokeColorSpace;
-
-              if (cs.name === "Pattern") {
-                next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));
-                return;
-              }
-
-              args = cs.getRgb(args, 0);
-              fn = _util.OPS.setStrokeRGBColor;
-              break;
-
-            case _util.OPS.shadingFill:
-              var shadingRes = resources.get("Shading");
-
-              if (!shadingRes) {
-                throw new _util.FormatError("No shading resource found");
-              }
-
-              var shading = shadingRes.get(args[0].name);
-
-              if (!shading) {
-                throw new _util.FormatError("No shading object found");
-              }
-
-              var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);
-
-              var patternIR = shadingFill.getIR();
-              args = [patternIR];
-              fn = _util.OPS.shadingFill;
-              break;
-
-            case _util.OPS.setGState:
-              var dictName = args[0];
-              var extGState = resources.get("ExtGState");
-
-              if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {
-                break;
-              }
-
-              var gState = extGState.get(dictName.name);
-              next(self.setGState(resources, gState, operatorList, task, stateManager));
-              return;
-
-            case _util.OPS.moveTo:
-            case _util.OPS.lineTo:
-            case _util.OPS.curveTo:
-            case _util.OPS.curveTo2:
-            case _util.OPS.curveTo3:
-            case _util.OPS.closePath:
-            case _util.OPS.rectangle:
-              self.buildPath(operatorList, fn, args, parsingText);
-              continue;
-
-            case _util.OPS.markPoint:
-            case _util.OPS.markPointProps:
-            case _util.OPS.beginMarkedContent:
-            case _util.OPS.beginMarkedContentProps:
-            case _util.OPS.endMarkedContent:
-            case _util.OPS.beginCompat:
-            case _util.OPS.endCompat:
-              continue;
-
-            default:
-              if (args !== null) {
-                for (i = 0, ii = args.length; i < ii; i++) {
-                  if (args[i] instanceof _primitives.Dict) {
-                    break;
-                  }
-                }
-
-                if (i < ii) {
-                  (0, _util.warn)("getOperatorList - ignoring operator: " + fn);
-                  continue;
-                }
-              }
-
-          }
-
-          operatorList.addOp(fn, args);
-        }
-
-        if (stop) {
-          next(deferred);
-          return;
-        }
-
-        closePendingRestoreOPS();
-        resolve();
-      })["catch"](function (reason) {
-        if (reason instanceof _util.AbortException) {
-          return;
-        }
-
-        if (_this10.options.ignoreErrors) {
-          _this10.handler.send("UnsupportedFeature", {
-            featureId: _util.UNSUPPORTED_FEATURES.unknown
-          });
-
-          (0, _util.warn)("getOperatorList - ignoring errors during \"".concat(task.name, "\" ") + "task: \"".concat(reason, "\"."));
-          closePendingRestoreOPS();
-          return;
-        }
-
-        throw reason;
-      });
-    },
-    getTextContent: function getTextContent(_ref7) {
-      var _this11 = this;
-
-      var stream = _ref7.stream,
-          task = _ref7.task,
-          resources = _ref7.resources,
-          _ref7$stateManager = _ref7.stateManager,
-          stateManager = _ref7$stateManager === void 0 ? null : _ref7$stateManager,
-          _ref7$normalizeWhites = _ref7.normalizeWhitespace,
-          normalizeWhitespace = _ref7$normalizeWhites === void 0 ? false : _ref7$normalizeWhites,
-          _ref7$combineTextItem = _ref7.combineTextItems,
-          combineTextItems = _ref7$combineTextItem === void 0 ? false : _ref7$combineTextItem,
-          sink = _ref7.sink,
-          _ref7$seenStyles = _ref7.seenStyles,
-          seenStyles = _ref7$seenStyles === void 0 ? Object.create(null) : _ref7$seenStyles;
-      resources = resources || _primitives.Dict.empty;
-      stateManager = stateManager || new StateManager(new TextState());
-      var WhitespaceRegexp = /\s/g;
-      var textContent = {
-        items: [],
-        styles: Object.create(null)
-      };
-      var textContentItem = {
-        initialized: false,
-        str: [],
-        width: 0,
-        height: 0,
-        vertical: false,
-        lastAdvanceWidth: 0,
-        lastAdvanceHeight: 0,
-        textAdvanceScale: 0,
-        spaceWidth: 0,
-        fakeSpaceMin: Infinity,
-        fakeMultiSpaceMin: Infinity,
-        fakeMultiSpaceMax: -0,
-        textRunBreakAllowed: false,
-        transform: null,
-        fontName: null
-      };
-      var SPACE_FACTOR = 0.3;
-      var MULTI_SPACE_FACTOR = 1.5;
-      var MULTI_SPACE_FACTOR_MAX = 4;
-      var self = this;
-      var xref = this.xref;
-      var xobjs = null;
-      var skipEmptyXObjs = Object.create(null);
-      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);
-      var textState;
-
-      function ensureTextContentItem() {
-        if (textContentItem.initialized) {
-          return textContentItem;
-        }
-
-        var font = textState.font;
-
-        if (!(font.loadedName in seenStyles)) {
-          seenStyles[font.loadedName] = true;
-          textContent.styles[font.loadedName] = {
-            fontFamily: font.fallbackName,
-            ascent: font.ascent,
-            descent: font.descent,
-            vertical: !!font.vertical
-          };
-        }
-
-        textContentItem.fontName = font.loadedName;
-        var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];
-
-        if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {
-          var glyphHeight = font.bbox[3] - font.bbox[1];
-
-          if (glyphHeight > 0) {
-            tsm[3] *= glyphHeight * textState.fontMatrix[3];
-          }
-        }
-
-        var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));
-
-        textContentItem.transform = trm;
-
-        if (!font.vertical) {
-          textContentItem.width = 0;
-          textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);
-          textContentItem.vertical = false;
-        } else {
-          textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);
-          textContentItem.height = 0;
-          textContentItem.vertical = true;
-        }
-
-        var a = textState.textLineMatrix[0];
-        var b = textState.textLineMatrix[1];
-        var scaleLineX = Math.sqrt(a * a + b * b);
-        a = textState.ctm[0];
-        b = textState.ctm[1];
-        var scaleCtmX = Math.sqrt(a * a + b * b);
-        textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;
-        textContentItem.lastAdvanceWidth = 0;
-        textContentItem.lastAdvanceHeight = 0;
-        var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;
-
-        if (spaceWidth) {
-          textContentItem.spaceWidth = spaceWidth;
-          textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;
-          textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;
-          textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;
-          textContentItem.textRunBreakAllowed = !font.isMonospace;
-        } else {
-          textContentItem.spaceWidth = 0;
-          textContentItem.fakeSpaceMin = Infinity;
-          textContentItem.fakeMultiSpaceMin = Infinity;
-          textContentItem.fakeMultiSpaceMax = 0;
-          textContentItem.textRunBreakAllowed = false;
-        }
-
-        textContentItem.initialized = true;
-        return textContentItem;
-      }
-
-      function replaceWhitespace(str) {
-        var i = 0,
-            ii = str.length,
-            code;
-
-        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {
-          i++;
-        }
-
-        return i < ii ? str.replace(WhitespaceRegexp, " ") : str;
-      }
-
-      function runBidiTransform(textChunk) {
-        var str = textChunk.str.join("");
-        var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);
-        return {
-          str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,
-          dir: bidiResult.dir,
-          width: textChunk.width,
-          height: textChunk.height,
-          transform: textChunk.transform,
-          fontName: textChunk.fontName
-        };
-      }
-
-      function handleSetFont(fontName, fontRef) {
-        return self.loadFont(fontName, fontRef, resources).then(function (translated) {
-          textState.font = translated.font;
-          textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;
-        });
-      }
-
-      function buildTextContentItem(chars) {
-        var font = textState.font;
-        var textChunk = ensureTextContentItem();
-        var width = 0;
-        var height = 0;
-        var glyphs = font.charsToGlyphs(chars);
-
-        for (var i = 0; i < glyphs.length; i++) {
-          var glyph = glyphs[i];
-          var glyphWidth = null;
-
-          if (font.vertical && glyph.vmetric) {
-            glyphWidth = glyph.vmetric[0];
-          } else {
-            glyphWidth = glyph.width;
-          }
-
-          var glyphUnicode = glyph.unicode;
-          var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();
-
-          if (NormalizedUnicodes[glyphUnicode] !== undefined) {
-            glyphUnicode = NormalizedUnicodes[glyphUnicode];
-          }
-
-          glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);
-          var charSpacing = textState.charSpacing;
-
-          if (glyph.isSpace) {
-            var wordSpacing = textState.wordSpacing;
-            charSpacing += wordSpacing;
-
-            if (wordSpacing > 0) {
-              addFakeSpaces(wordSpacing, textChunk.str);
-            }
-          }
-
-          var tx = 0;
-          var ty = 0;
-
-          if (!font.vertical) {
-            var w0 = glyphWidth * textState.fontMatrix[0];
-            tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;
-            width += tx;
-          } else {
-            var w1 = glyphWidth * textState.fontMatrix[0];
-            ty = w1 * textState.fontSize + charSpacing;
-            height += ty;
-          }
-
-          textState.translateTextMatrix(tx, ty);
-          textChunk.str.push(glyphUnicode);
-        }
-
-        if (!font.vertical) {
-          textChunk.lastAdvanceWidth = width;
-          textChunk.width += width;
-        } else {
-          textChunk.lastAdvanceHeight = height;
-          textChunk.height += Math.abs(height);
-        }
-
-        return textChunk;
-      }
-
-      function addFakeSpaces(width, strBuf) {
-        if (width < textContentItem.fakeSpaceMin) {
-          return;
-        }
-
-        if (width < textContentItem.fakeMultiSpaceMin) {
-          strBuf.push(" ");
-          return;
-        }
-
-        var fakeSpaces = Math.round(width / textContentItem.spaceWidth);
-
-        while (fakeSpaces-- > 0) {
-          strBuf.push(" ");
-        }
-      }
-
-      function flushTextContentItem() {
-        if (!textContentItem.initialized) {
-          return;
-        }
-
-        if (!textContentItem.vertical) {
-          textContentItem.width *= textContentItem.textAdvanceScale;
-        } else {
-          textContentItem.height *= textContentItem.textAdvanceScale;
-        }
-
-        textContent.items.push(runBidiTransform(textContentItem));
-        textContentItem.initialized = false;
-        textContentItem.str.length = 0;
-      }
-
-      function enqueueChunk() {
-        var length = textContent.items.length;
-
-        if (length > 0) {
-          sink.enqueue(textContent, length);
-          textContent.items = [];
-          textContent.styles = Object.create(null);
-        }
-      }
-
-      var timeSlotManager = new TimeSlotManager();
-      return new Promise(function promiseBody(resolve, reject) {
-        var next = function next(promise) {
-          enqueueChunk();
-          Promise.all([promise, sink.ready]).then(function () {
-            try {
-              promiseBody(resolve, reject);
-            } catch (ex) {
-              reject(ex);
-            }
-          }, reject);
-        };
-
-        task.ensureNotTerminated();
-        timeSlotManager.reset();
-        var stop,
-            operation = {},
-            args = [];
-
-        while (!(stop = timeSlotManager.check())) {
-          args.length = 0;
-          operation.args = args;
-
-          if (!preprocessor.read(operation)) {
-            break;
-          }
-
-          textState = stateManager.state;
-          var fn = operation.fn;
-          args = operation.args;
-          var advance, diff;
-
-          switch (fn | 0) {
-            case _util.OPS.setFont:
-              var fontNameArg = args[0].name,
-                  fontSizeArg = args[1];
-
-              if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {
-                break;
-              }
-
-              flushTextContentItem();
-              textState.fontName = fontNameArg;
-              textState.fontSize = fontSizeArg;
-              next(handleSetFont(fontNameArg, null));
-              return;
-
-            case _util.OPS.setTextRise:
-              flushTextContentItem();
-              textState.textRise = args[0];
-              break;
-
-            case _util.OPS.setHScale:
-              flushTextContentItem();
-              textState.textHScale = args[0] / 100;
-              break;
-
-            case _util.OPS.setLeading:
-              flushTextContentItem();
-              textState.leading = args[0];
-              break;
-
-            case _util.OPS.moveText:
-              var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;
-              advance = args[0] - args[1];
-
-              if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {
-                textState.translateTextLineMatrix(args[0], args[1]);
-                textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;
-                textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;
-                diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);
-                addFakeSpaces(diff, textContentItem.str);
-                break;
-              }
-
-              flushTextContentItem();
-              textState.translateTextLineMatrix(args[0], args[1]);
-              textState.textMatrix = textState.textLineMatrix.slice();
-              break;
-
-            case _util.OPS.setLeadingMoveText:
-              flushTextContentItem();
-              textState.leading = -args[1];
-              textState.translateTextLineMatrix(args[0], args[1]);
-              textState.textMatrix = textState.textLineMatrix.slice();
-              break;
-
-            case _util.OPS.nextLine:
-              flushTextContentItem();
-              textState.carriageReturn();
-              break;
-
-            case _util.OPS.setTextMatrix:
-              advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);
-
-              if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {
-                textState.translateTextLineMatrix(advance.width, advance.height);
-                textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;
-                textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;
-                diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);
-                addFakeSpaces(diff, textContentItem.str);
-                break;
-              }
-
-              flushTextContentItem();
-              textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
-              textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
-              break;
-
-            case _util.OPS.setCharSpacing:
-              textState.charSpacing = args[0];
-              break;
-
-            case _util.OPS.setWordSpacing:
-              textState.wordSpacing = args[0];
-              break;
-
-            case _util.OPS.beginText:
-              flushTextContentItem();
-              textState.textMatrix = _util.IDENTITY_MATRIX.slice();
-              textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();
-              break;
-
-            case _util.OPS.showSpacedText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              var items = args[0];
-              var offset;
-
-              for (var j = 0, jj = items.length; j < jj; j++) {
-                if (typeof items[j] === "string") {
-                  buildTextContentItem(items[j]);
-                } else if ((0, _util.isNum)(items[j])) {
-                  ensureTextContentItem();
-                  advance = items[j] * textState.fontSize / 1000;
-                  var breakTextRun = false;
-
-                  if (textState.font.vertical) {
-                    offset = advance;
-                    textState.translateTextMatrix(0, offset);
-                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
-
-                    if (!breakTextRun) {
-                      textContentItem.height += offset;
-                    }
-                  } else {
-                    advance = -advance;
-                    offset = advance * textState.textHScale;
-                    textState.translateTextMatrix(offset, 0);
-                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;
-
-                    if (!breakTextRun) {
-                      textContentItem.width += offset;
-                    }
-                  }
-
-                  if (breakTextRun) {
-                    flushTextContentItem();
-                  } else if (advance > 0) {
-                    addFakeSpaces(advance, textContentItem.str);
-                  }
-                }
-              }
-
-              break;
-
-            case _util.OPS.showText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              buildTextContentItem(args[0]);
-              break;
-
-            case _util.OPS.nextLineShowText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              flushTextContentItem();
-              textState.carriageReturn();
-              buildTextContentItem(args[0]);
-              break;
-
-            case _util.OPS.nextLineSetSpacingShowText:
-              if (!stateManager.state.font) {
-                self.ensureStateFont(stateManager.state);
-                continue;
-              }
-
-              flushTextContentItem();
-              textState.wordSpacing = args[0];
-              textState.charSpacing = args[1];
-              textState.carriageReturn();
-              buildTextContentItem(args[2]);
-              break;
-
-            case _util.OPS.paintXObject:
-              flushTextContentItem();
-
-              if (!xobjs) {
-                xobjs = resources.get("XObject") || _primitives.Dict.empty;
-              }
-
-              var name = args[0].name;
-
-              if (name && skipEmptyXObjs[name] !== undefined) {
-                break;
-              }
-
-              next(new Promise(function (resolveXObject, rejectXObject) {
-                if (!name) {
-                  throw new _util.FormatError("XObject must be referred to by name.");
-                }
-
-                var xobj = xobjs.get(name);
-
-                if (!xobj) {
-                  resolveXObject();
-                  return;
-                }
-
-                if (!(0, _primitives.isStream)(xobj)) {
-                  throw new _util.FormatError("XObject should be a stream");
-                }
-
-                var type = xobj.dict.get("Subtype");
-
-                if (!(0, _primitives.isName)(type)) {
-                  throw new _util.FormatError("XObject should have a Name subtype");
-                }
-
-                if (type.name !== "Form") {
-                  skipEmptyXObjs[name] = true;
-                  resolveXObject();
-                  return;
-                }
-
-                var currentState = stateManager.state.clone();
-                var xObjStateManager = new StateManager(currentState);
-                var matrix = xobj.dict.getArray("Matrix");
-
-                if (Array.isArray(matrix) && matrix.length === 6) {
-                  xObjStateManager.transform(matrix);
-                }
-
-                enqueueChunk();
-                var sinkWrapper = {
-                  enqueueInvoked: false,
-                  enqueue: function enqueue(chunk, size) {
-                    this.enqueueInvoked = true;
-                    sink.enqueue(chunk, size);
-                  },
-
-                  get desiredSize() {
-                    return sink.desiredSize;
-                  },
-
-                  get ready() {
-                    return sink.ready;
-                  }
-
-                };
-                self.getTextContent({
-                  stream: xobj,
-                  task: task,
-                  resources: xobj.dict.get("Resources") || resources,
-                  stateManager: xObjStateManager,
-                  normalizeWhitespace: normalizeWhitespace,
-                  combineTextItems: combineTextItems,
-                  sink: sinkWrapper,
-                  seenStyles: seenStyles
-                }).then(function () {
-                  if (!sinkWrapper.enqueueInvoked) {
-                    skipEmptyXObjs[name] = true;
-                  }
-
-                  resolveXObject();
-                }, rejectXObject);
-              })["catch"](function (reason) {
-                if (reason instanceof _util.AbortException) {
-                  return;
-                }
-
-                if (self.options.ignoreErrors) {
-                  (0, _util.warn)("getTextContent - ignoring XObject: \"".concat(reason, "\"."));
-                  return;
-                }
-
-                throw reason;
-              }));
-              return;
-
-            case _util.OPS.setGState:
-              flushTextContentItem();
-              var dictName = args[0];
-              var extGState = resources.get("ExtGState");
-
-              if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {
-                break;
-              }
-
-              var gState = extGState.get(dictName.name);
-
-              if (!(0, _primitives.isDict)(gState)) {
-                break;
-              }
-
-              var gStateFont = gState.get("Font");
-
-              if (gStateFont) {
-                textState.fontName = null;
-                textState.fontSize = gStateFont[1];
-                next(handleSetFont(null, gStateFont[0]));
-                return;
-              }
-
-              break;
-          }
-
-          if (textContent.items.length >= sink.desiredSize) {
-            stop = true;
-            break;
-          }
-        }
-
-        if (stop) {
-          next(deferred);
-          return;
-        }
-
-        flushTextContentItem();
-        enqueueChunk();
-        resolve();
-      })["catch"](function (reason) {
-        if (reason instanceof _util.AbortException) {
-          return;
-        }
-
-        if (_this11.options.ignoreErrors) {
-          (0, _util.warn)("getTextContent - ignoring errors during \"".concat(task.name, "\" ") + "task: \"".concat(reason, "\"."));
-          flushTextContentItem();
-          enqueueChunk();
-          return;
-        }
-
-        throw reason;
-      });
-    },
-    extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {
-      var _this12 = this;
-
-      var xref = this.xref;
-      var cidToGidBytes;
-      var toUnicode = dict.get("ToUnicode") || baseDict.get("ToUnicode");
-      var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);
-
-      if (properties.composite) {
-        var cidSystemInfo = dict.get("CIDSystemInfo");
-
-        if ((0, _primitives.isDict)(cidSystemInfo)) {
-          properties.cidSystemInfo = {
-            registry: (0, _util.stringToPDFString)(cidSystemInfo.get("Registry")),
-            ordering: (0, _util.stringToPDFString)(cidSystemInfo.get("Ordering")),
-            supplement: cidSystemInfo.get("Supplement")
-          };
-        }
-
-        var cidToGidMap = dict.get("CIDToGIDMap");
-
-        if ((0, _primitives.isStream)(cidToGidMap)) {
-          cidToGidBytes = cidToGidMap.getBytes();
-        }
-      }
-
-      var differences = [];
-      var baseEncodingName = null;
-      var encoding;
-
-      if (dict.has("Encoding")) {
-        encoding = dict.get("Encoding");
-
-        if ((0, _primitives.isDict)(encoding)) {
-          baseEncodingName = encoding.get("BaseEncoding");
-          baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;
-
-          if (encoding.has("Differences")) {
-            var diffEncoding = encoding.get("Differences");
-            var index = 0;
-
-            for (var j = 0, jj = diffEncoding.length; j < jj; j++) {
-              var data = xref.fetchIfRef(diffEncoding[j]);
-
-              if ((0, _util.isNum)(data)) {
-                index = data;
-              } else if ((0, _primitives.isName)(data)) {
-                differences[index++] = data.name;
-              } else {
-                throw new _util.FormatError("Invalid entry in 'Differences' array: ".concat(data));
-              }
-            }
-          }
-        } else if ((0, _primitives.isName)(encoding)) {
-          baseEncodingName = encoding.name;
-        } else {
-          throw new _util.FormatError("Encoding is not a Name nor a Dict");
-        }
-
-        if (baseEncodingName !== "MacRomanEncoding" && baseEncodingName !== "MacExpertEncoding" && baseEncodingName !== "WinAnsiEncoding") {
-          baseEncodingName = null;
-        }
-      }
-
-      if (baseEncodingName) {
-        properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();
-      } else {
-        var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);
-        var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);
-        encoding = _encodings.StandardEncoding;
-
-        if (properties.type === "TrueType" && !isNonsymbolicFont) {
-          encoding = _encodings.WinAnsiEncoding;
-        }
-
-        if (isSymbolicFont) {
-          encoding = _encodings.MacRomanEncoding;
-
-          if (!properties.file) {
-            if (/Symbol/i.test(properties.name)) {
-              encoding = _encodings.SymbolSetEncoding;
-            } else if (/Dingbats|Wingdings/i.test(properties.name)) {
-              encoding = _encodings.ZapfDingbatsEncoding;
-            }
-          }
-        }
-
-        properties.defaultEncoding = encoding;
-      }
-
-      properties.differences = differences;
-      properties.baseEncodingName = baseEncodingName;
-      properties.hasEncoding = !!baseEncodingName || differences.length > 0;
-      properties.dict = dict;
-      return toUnicodePromise.then(function (toUnicode) {
-        properties.toUnicode = toUnicode;
-        return _this12.buildToUnicode(properties);
-      }).then(function (toUnicode) {
-        properties.toUnicode = toUnicode;
-
-        if (cidToGidBytes) {
-          properties.cidToGidMap = _this12.readCidToGidMap(cidToGidBytes, toUnicode);
-        }
-
-        return properties;
-      });
-    },
-    _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {
-      var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      (0, _util.assert)(!properties.composite, "Must be a simple font.");
-      var toUnicode = [];
-      var encoding = properties.defaultEncoding.slice();
-      var baseEncodingName = properties.baseEncodingName;
-      var differences = properties.differences;
-
-      for (var charcode in differences) {
-        var glyphName = differences[charcode];
-
-        if (glyphName === ".notdef") {
-          continue;
-        }
-
-        encoding[charcode] = glyphName;
-      }
-
-      var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-
-      for (var _charcode in encoding) {
-        var _glyphName = encoding[_charcode];
-
-        if (_glyphName === "") {
-          continue;
-        } else if (glyphsUnicodeMap[_glyphName] === undefined) {
-          var code = 0;
-
-          switch (_glyphName[0]) {
-            case "G":
-              if (_glyphName.length === 3) {
-                code = parseInt(_glyphName.substring(1), 16);
-              }
-
-              break;
-
-            case "g":
-              if (_glyphName.length === 5) {
-                code = parseInt(_glyphName.substring(1), 16);
-              }
-
-              break;
-
-            case "C":
-            case "c":
-              if (_glyphName.length >= 3 && _glyphName.length <= 4) {
-                var codeStr = _glyphName.substring(1);
-
-                if (forceGlyphs) {
-                  code = parseInt(codeStr, 16);
-                  break;
-                }
-
-                code = +codeStr;
-
-                if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {
-                  return this._buildSimpleFontToUnicode(properties, true);
-                }
-              }
-
-              break;
-
-            default:
-              var unicode = (0, _unicode.getUnicodeForGlyph)(_glyphName, glyphsUnicodeMap);
-
-              if (unicode !== -1) {
-                code = unicode;
-              }
-
-          }
-
-          if (code > 0 && Number.isInteger(code)) {
-            if (baseEncodingName && code === +_charcode) {
-              var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);
-
-              if (baseEncoding && (_glyphName = baseEncoding[_charcode])) {
-                toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);
-                continue;
-              }
-            }
-
-            toUnicode[_charcode] = String.fromCodePoint(code);
-          }
-
-          continue;
-        }
-
-        toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);
-      }
-
-      return new _fonts.ToUnicodeMap(toUnicode);
-    },
-    buildToUnicode: function buildToUnicode(properties) {
-      properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;
-
-      if (properties.hasIncludedToUnicodeMap) {
-        if (!properties.composite && properties.hasEncoding) {
-          properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);
-        }
-
-        return Promise.resolve(properties.toUnicode);
-      }
-
-      if (!properties.composite) {
-        return Promise.resolve(this._buildSimpleFontToUnicode(properties));
-      }
-
-      if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === "Adobe" && (properties.cidSystemInfo.ordering === "GB1" || properties.cidSystemInfo.ordering === "CNS1" || properties.cidSystemInfo.ordering === "Japan1" || properties.cidSystemInfo.ordering === "Korea1"))) {
-        var registry = properties.cidSystemInfo.registry;
-        var ordering = properties.cidSystemInfo.ordering;
-
-        var ucs2CMapName = _primitives.Name.get(registry + "-" + ordering + "-UCS2");
-
-        return _cmap.CMapFactory.create({
-          encoding: ucs2CMapName,
-          fetchBuiltInCMap: this.fetchBuiltInCMap,
-          useCMap: null
-        }).then(function (ucs2CMap) {
-          var cMap = properties.cMap;
-          var toUnicode = [];
-          cMap.forEach(function (charcode, cid) {
-            if (cid > 0xffff) {
-              throw new _util.FormatError("Max size of CID is 65,535");
-            }
-
-            var ucs2 = ucs2CMap.lookup(cid);
-
-            if (ucs2) {
-              toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));
-            }
-          });
-          return new _fonts.ToUnicodeMap(toUnicode);
-        });
-      }
-
-      return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));
-    },
-    readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
-      var _this13 = this;
-
-      var cmapObj = toUnicode;
-
-      if ((0, _primitives.isName)(cmapObj)) {
-        return _cmap.CMapFactory.create({
-          encoding: cmapObj,
-          fetchBuiltInCMap: this.fetchBuiltInCMap,
-          useCMap: null
-        }).then(function (cmap) {
-          if (cmap instanceof _cmap.IdentityCMap) {
-            return new _fonts.IdentityToUnicodeMap(0, 0xffff);
-          }
-
-          return new _fonts.ToUnicodeMap(cmap.getMap());
-        });
-      } else if ((0, _primitives.isStream)(cmapObj)) {
-        return _cmap.CMapFactory.create({
-          encoding: cmapObj,
-          fetchBuiltInCMap: this.fetchBuiltInCMap,
-          useCMap: null
-        }).then(function (cmap) {
-          if (cmap instanceof _cmap.IdentityCMap) {
-            return new _fonts.IdentityToUnicodeMap(0, 0xffff);
-          }
-
-          var map = new Array(cmap.length);
-          cmap.forEach(function (charCode, token) {
-            var str = [];
-
-            for (var k = 0; k < token.length; k += 2) {
-              var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);
-
-              if ((w1 & 0xf800) !== 0xd800) {
-                str.push(w1);
-                continue;
-              }
-
-              k += 2;
-              var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);
-              str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);
-            }
-
-            map[charCode] = String.fromCodePoint.apply(String, str);
-          });
-          return new _fonts.ToUnicodeMap(map);
-        }, function (reason) {
-          if (reason instanceof _util.AbortException) {
-            return null;
-          }
-
-          if (_this13.options.ignoreErrors) {
-            _this13.handler.send("UnsupportedFeature", {
-              featureId: _util.UNSUPPORTED_FEATURES.font
-            });
-
-            (0, _util.warn)("readToUnicode - ignoring ToUnicode data: \"".concat(reason, "\"."));
-            return null;
-          }
-
-          throw reason;
-        });
-      }
-
-      return Promise.resolve(null);
-    },
-    readCidToGidMap: function readCidToGidMap(glyphsData, toUnicode) {
-      var result = [];
-
-      for (var j = 0, jj = glyphsData.length; j < jj; j++) {
-        var glyphID = glyphsData[j++] << 8 | glyphsData[j];
-        var code = j >> 1;
-
-        if (glyphID === 0 && !toUnicode.has(code)) {
-          continue;
-        }
-
-        result[code] = glyphID;
-      }
-
-      return result;
-    },
-    extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {
-      var xref = this.xref;
-      var glyphsWidths = [];
-      var defaultWidth = 0;
-      var glyphsVMetrics = [];
-      var defaultVMetrics;
-      var i, ii, j, jj, start, code, widths;
-
-      if (properties.composite) {
-        defaultWidth = dict.has("DW") ? dict.get("DW") : 1000;
-        widths = dict.get("W");
-
-        if (widths) {
-          for (i = 0, ii = widths.length; i < ii; i++) {
-            start = xref.fetchIfRef(widths[i++]);
-            code = xref.fetchIfRef(widths[i]);
-
-            if (Array.isArray(code)) {
-              for (j = 0, jj = code.length; j < jj; j++) {
-                glyphsWidths[start++] = xref.fetchIfRef(code[j]);
-              }
-            } else {
-              var width = xref.fetchIfRef(widths[++i]);
-
-              for (j = start; j <= code; j++) {
-                glyphsWidths[j] = width;
-              }
-            }
-          }
-        }
-
-        if (properties.vertical) {
-          var vmetrics = dict.getArray("DW2") || [880, -1000];
-          defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];
-          vmetrics = dict.get("W2");
-
-          if (vmetrics) {
-            for (i = 0, ii = vmetrics.length; i < ii; i++) {
-              start = xref.fetchIfRef(vmetrics[i++]);
-              code = xref.fetchIfRef(vmetrics[i]);
-
-              if (Array.isArray(code)) {
-                for (j = 0, jj = code.length; j < jj; j++) {
-                  glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];
-                }
-              } else {
-                var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];
-
-                for (j = start; j <= code; j++) {
-                  glyphsVMetrics[j] = vmetric;
-                }
-              }
-            }
-          }
-        }
-      } else {
-        var firstChar = properties.firstChar;
-        widths = dict.get("Widths");
-
-        if (widths) {
-          j = firstChar;
-
-          for (i = 0, ii = widths.length; i < ii; i++) {
-            glyphsWidths[j++] = xref.fetchIfRef(widths[i]);
-          }
-
-          defaultWidth = parseFloat(descriptor.get("MissingWidth")) || 0;
-        } else {
-          var baseFontName = dict.get("BaseFont");
-
-          if ((0, _primitives.isName)(baseFontName)) {
-            var metrics = this.getBaseFontMetrics(baseFontName.name);
-            glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);
-            defaultWidth = metrics.defaultWidth;
-          }
-        }
-      }
-
-      var isMonospace = true;
-      var firstWidth = defaultWidth;
-
-      for (var glyph in glyphsWidths) {
-        var glyphWidth = glyphsWidths[glyph];
-
-        if (!glyphWidth) {
-          continue;
-        }
-
-        if (!firstWidth) {
-          firstWidth = glyphWidth;
-          continue;
-        }
-
-        if (firstWidth !== glyphWidth) {
-          isMonospace = false;
-          break;
-        }
-      }
-
-      if (isMonospace) {
-        properties.flags |= _fonts.FontFlags.FixedPitch;
-      }
-
-      properties.defaultWidth = defaultWidth;
-      properties.widths = glyphsWidths;
-      properties.defaultVMetrics = defaultVMetrics;
-      properties.vmetrics = glyphsVMetrics;
-    },
-    isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {
-      var fontNameWoStyle = baseFontName.split("-")[0];
-      return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;
-    },
-    getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {
-      var defaultWidth = 0;
-      var widths = [];
-      var monospace = false;
-      var stdFontMap = (0, _standard_fonts.getStdFontMap)();
-      var lookupName = stdFontMap[name] || name;
-      var Metrics = (0, _metrics.getMetrics)();
-
-      if (!(lookupName in Metrics)) {
-        if (this.isSerifFont(name)) {
-          lookupName = "Times-Roman";
-        } else {
-          lookupName = "Helvetica";
-        }
-      }
-
-      var glyphWidths = Metrics[lookupName];
-
-      if ((0, _util.isNum)(glyphWidths)) {
-        defaultWidth = glyphWidths;
-        monospace = true;
-      } else {
-        widths = glyphWidths();
-      }
-
-      return {
-        defaultWidth: defaultWidth,
-        monospace: monospace,
-        widths: widths
-      };
-    },
-    buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {
-      var widths = Object.create(null);
-      var differences = properties.differences;
-      var encoding = properties.defaultEncoding;
-
-      for (var charCode = 0; charCode < 256; charCode++) {
-        if (charCode in differences && widthsByGlyphName[differences[charCode]]) {
-          widths[charCode] = widthsByGlyphName[differences[charCode]];
-          continue;
-        }
-
-        if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {
-          widths[charCode] = widthsByGlyphName[encoding[charCode]];
-          continue;
-        }
-      }
-
-      return widths;
-    },
-    preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {
-      var baseDict = dict;
-      var type = dict.get("Subtype");
-
-      if (!(0, _primitives.isName)(type)) {
-        throw new _util.FormatError("invalid font Subtype");
-      }
-
-      var composite = false;
-      var uint8array;
-
-      if (type.name === "Type0") {
-        var df = dict.get("DescendantFonts");
-
-        if (!df) {
-          throw new _util.FormatError("Descendant fonts are not specified");
-        }
-
-        dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;
-        type = dict.get("Subtype");
-
-        if (!(0, _primitives.isName)(type)) {
-          throw new _util.FormatError("invalid font Subtype");
-        }
-
-        composite = true;
-      }
-
-      var descriptor = dict.get("FontDescriptor");
-
-      if (descriptor) {
-        var hash = new _murmurhash.MurmurHash3_64();
-        var encoding = baseDict.getRaw("Encoding");
-
-        if ((0, _primitives.isName)(encoding)) {
-          hash.update(encoding.name);
-        } else if ((0, _primitives.isRef)(encoding)) {
-          hash.update(encoding.toString());
-        } else if ((0, _primitives.isDict)(encoding)) {
-          var keys = encoding.getKeys();
-
-          for (var i = 0, ii = keys.length; i < ii; i++) {
-            var entry = encoding.getRaw(keys[i]);
-
-            if ((0, _primitives.isName)(entry)) {
-              hash.update(entry.name);
-            } else if ((0, _primitives.isRef)(entry)) {
-              hash.update(entry.toString());
-            } else if (Array.isArray(entry)) {
-              var diffLength = entry.length,
-                  diffBuf = new Array(diffLength);
-
-              for (var j = 0; j < diffLength; j++) {
-                var diffEntry = entry[j];
-
-                if ((0, _primitives.isName)(diffEntry)) {
-                  diffBuf[j] = diffEntry.name;
-                } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {
-                  diffBuf[j] = diffEntry.toString();
-                }
-              }
-
-              hash.update(diffBuf.join());
-            }
-          }
-        }
-
-        var firstChar = dict.get("FirstChar") || 0;
-        var lastChar = dict.get("LastChar") || (composite ? 0xffff : 0xff);
-        hash.update("".concat(firstChar, "-").concat(lastChar));
-        var toUnicode = dict.get("ToUnicode") || baseDict.get("ToUnicode");
-
-        if ((0, _primitives.isStream)(toUnicode)) {
-          var stream = toUnicode.str || toUnicode;
-          uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);
-          hash.update(uint8array);
-        } else if ((0, _primitives.isName)(toUnicode)) {
-          hash.update(toUnicode.name);
-        }
-
-        var widths = dict.get("Widths") || baseDict.get("Widths");
-
-        if (widths) {
-          uint8array = new Uint8Array(new Uint32Array(widths).buffer);
-          hash.update(uint8array);
-        }
-      }
-
-      return {
-        descriptor: descriptor,
-        dict: dict,
-        baseDict: baseDict,
-        composite: composite,
-        type: type.name,
-        hash: hash ? hash.hexdigest() : ""
-      };
-    },
-    translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {
-      var _this14 = this;
-
-      var baseDict = preEvaluatedFont.baseDict;
-      var dict = preEvaluatedFont.dict;
-      var composite = preEvaluatedFont.composite;
-      var descriptor = preEvaluatedFont.descriptor;
-      var type = preEvaluatedFont.type;
-      var maxCharIndex = composite ? 0xffff : 0xff;
-      var properties;
-      var firstChar = dict.get("FirstChar") || 0;
-      var lastChar = dict.get("LastChar") || maxCharIndex;
-
-      if (!descriptor) {
-        if (type === "Type3") {
-          descriptor = new _primitives.Dict(null);
-          descriptor.set("FontName", _primitives.Name.get(type));
-          descriptor.set("FontBBox", dict.getArray("FontBBox") || [0, 0, 0, 0]);
-        } else {
-          var baseFontName = dict.get("BaseFont");
-
-          if (!(0, _primitives.isName)(baseFontName)) {
-            throw new _util.FormatError("Base font is not specified");
-          }
-
-          baseFontName = baseFontName.name.replace(/[,_]/g, "-");
-          var metrics = this.getBaseFontMetrics(baseFontName);
-          var fontNameWoStyle = baseFontName.split("-")[0];
-          var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);
-          properties = {
-            type: type,
-            name: baseFontName,
-            widths: metrics.widths,
-            defaultWidth: metrics.defaultWidth,
-            flags: flags,
-            firstChar: firstChar,
-            lastChar: lastChar
-          };
-          var widths = dict.get("Widths");
-          return this.extractDataStructures(dict, dict, properties).then(function (properties) {
-            if (widths) {
-              var glyphWidths = [];
-              var j = firstChar;
-
-              for (var i = 0, ii = widths.length; i < ii; i++) {
-                glyphWidths[j++] = _this14.xref.fetchIfRef(widths[i]);
-              }
-
-              properties.widths = glyphWidths;
-            } else {
-              properties.widths = _this14.buildCharCodeToWidth(metrics.widths, properties);
-            }
-
-            return new _fonts.Font(baseFontName, null, properties);
-          });
-        }
-      }
-
-      var fontName = descriptor.get("FontName");
-      var baseFont = dict.get("BaseFont");
-
-      if ((0, _util.isString)(fontName)) {
-        fontName = _primitives.Name.get(fontName);
-      }
-
-      if ((0, _util.isString)(baseFont)) {
-        baseFont = _primitives.Name.get(baseFont);
-      }
-
-      if (type !== "Type3") {
-        var fontNameStr = fontName && fontName.name;
-        var baseFontStr = baseFont && baseFont.name;
-
-        if (fontNameStr !== baseFontStr) {
-          (0, _util.info)("The FontDescriptor's FontName is \"".concat(fontNameStr, "\" but ") + "should be the same as the Font's BaseFont \"".concat(baseFontStr, "\"."));
-
-          if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {
-            fontName = baseFont;
-          }
-        }
-      }
-
-      fontName = fontName || baseFont;
-
-      if (!(0, _primitives.isName)(fontName)) {
-        throw new _util.FormatError("invalid font name");
-      }
-
-      var fontFile = descriptor.get("FontFile", "FontFile2", "FontFile3");
-
-      if (fontFile) {
-        if (fontFile.dict) {
-          var subtype = fontFile.dict.get("Subtype");
-
-          if (subtype) {
-            subtype = subtype.name;
-          }
-
-          var length1 = fontFile.dict.get("Length1");
-          var length2 = fontFile.dict.get("Length2");
-          var length3 = fontFile.dict.get("Length3");
-        }
-      }
-
-      properties = {
-        type: type,
-        name: fontName.name,
-        subtype: subtype,
-        file: fontFile,
-        length1: length1,
-        length2: length2,
-        length3: length3,
-        loadedName: baseDict.loadedName,
-        composite: composite,
-        wideChars: composite,
-        fixedPitch: false,
-        fontMatrix: dict.getArray("FontMatrix") || _util.FONT_IDENTITY_MATRIX,
-        firstChar: firstChar || 0,
-        lastChar: lastChar || maxCharIndex,
-        bbox: descriptor.getArray("FontBBox"),
-        ascent: descriptor.get("Ascent"),
-        descent: descriptor.get("Descent"),
-        xHeight: descriptor.get("XHeight"),
-        capHeight: descriptor.get("CapHeight"),
-        flags: descriptor.get("Flags"),
-        italicAngle: descriptor.get("ItalicAngle"),
-        isType3Font: false
-      };
-      var cMapPromise;
-
-      if (composite) {
-        var cidEncoding = baseDict.get("Encoding");
-
-        if ((0, _primitives.isName)(cidEncoding)) {
-          properties.cidEncoding = cidEncoding.name;
-        }
-
-        cMapPromise = _cmap.CMapFactory.create({
-          encoding: cidEncoding,
-          fetchBuiltInCMap: this.fetchBuiltInCMap,
-          useCMap: null
-        }).then(function (cMap) {
-          properties.cMap = cMap;
-          properties.vertical = properties.cMap.vertical;
-        });
-      } else {
-        cMapPromise = Promise.resolve(undefined);
-      }
-
-      return cMapPromise.then(function () {
-        return _this14.extractDataStructures(dict, baseDict, properties);
-      }).then(function (properties) {
-        _this14.extractWidths(dict, descriptor, properties);
-
-        if (type === "Type3") {
-          properties.isType3Font = true;
-        }
-
-        return new _fonts.Font(fontName.name, fontFile, properties);
-      });
-    }
-  };
-
-  PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {
-    function buildPath(fontChar) {
-      if (font.renderer.hasBuiltPath(fontChar)) {
-        return;
-      }
-
-      handler.send("commonobj", ["".concat(font.loadedName, "_path_").concat(fontChar), "FontPath", font.renderer.getPathJs(fontChar)]);
-    }
-
-    var _iteratorNormalCompletion = true;
-    var _didIteratorError = false;
-    var _iteratorError = undefined;
-
-    try {
-      for (var _iterator = glyphs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-        var glyph = _step.value;
-        buildPath(glyph.fontChar);
-        var accent = glyph.accent;
-
-        if (accent && accent.fontChar) {
-          buildPath(accent.fontChar);
-        }
-      }
-    } catch (err) {
-      _didIteratorError = true;
-      _iteratorError = err;
-    } finally {
-      try {
-        if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-          _iterator["return"]();
-        }
-      } finally {
-        if (_didIteratorError) {
-          throw _iteratorError;
-        }
-      }
-    }
-  };
-
-  PartialEvaluator.getFallbackFontDict = function () {
-    if (this._fallbackFontDict) {
-      return this._fallbackFontDict;
-    }
-
-    var dict = new _primitives.Dict();
-    dict.set("BaseFont", _primitives.Name.get("PDFJS-FallbackFont"));
-    dict.set("Type", _primitives.Name.get("FallbackType"));
-    dict.set("Subtype", _primitives.Name.get("FallbackType"));
-    dict.set("Encoding", _primitives.Name.get("WinAnsiEncoding"));
-    return this._fallbackFontDict = dict;
-  };
-
-  return PartialEvaluator;
-}();
-
-exports.PartialEvaluator = PartialEvaluator;
-
-var TranslatedFont = function TranslatedFontClosure() {
-  function TranslatedFont(loadedName, font, dict) {
-    this.loadedName = loadedName;
-    this.font = font;
-    this.dict = dict;
-    this.type3Loaded = null;
-    this.sent = false;
-  }
-
-  TranslatedFont.prototype = {
-    send: function send(handler) {
-      if (this.sent) {
-        return;
-      }
-
-      this.sent = true;
-      handler.send("commonobj", [this.loadedName, "Font", this.font.exportData()]);
-    },
-    fallback: function fallback(handler) {
-      if (!this.font.data) {
-        return;
-      }
-
-      this.font.disableFontFace = true;
-      var glyphs = this.font.glyphCacheValues;
-      PartialEvaluator.buildFontPaths(this.font, glyphs, handler);
-    },
-    loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {
-      if (!this.font.isType3Font) {
-        throw new Error("Must be a Type3 font.");
-      }
-
-      if (this.type3Loaded) {
-        return this.type3Loaded;
-      }
-
-      var type3Options = Object.create(evaluator.options);
-      type3Options.ignoreErrors = false;
-      type3Options.nativeImageDecoderSupport = _util.NativeImageDecoding.NONE;
-      var type3Evaluator = evaluator.clone(type3Options);
-      type3Evaluator.parsingType3Font = true;
-      var translatedFont = this.font;
-      var loadCharProcsPromise = Promise.resolve();
-      var charProcs = this.dict.get("CharProcs");
-      var fontResources = this.dict.get("Resources") || resources;
-      var charProcKeys = charProcs.getKeys();
-      var charProcOperatorList = Object.create(null);
-
-      var _loop2 = function _loop2() {
-        var key = charProcKeys[i];
-        loadCharProcsPromise = loadCharProcsPromise.then(function () {
-          var glyphStream = charProcs.get(key);
-          var operatorList = new _operator_list.OperatorList();
-          return type3Evaluator.getOperatorList({
-            stream: glyphStream,
-            task: task,
-            resources: fontResources,
-            operatorList: operatorList
-          }).then(function () {
-            charProcOperatorList[key] = operatorList.getIR();
-            parentOperatorList.addDependencies(operatorList.dependencies);
-          })["catch"](function (reason) {
-            (0, _util.warn)("Type3 font resource \"".concat(key, "\" is not available."));
-            var operatorList = new _operator_list.OperatorList();
-            charProcOperatorList[key] = operatorList.getIR();
-          });
-        });
-      };
-
-      for (var i = 0, n = charProcKeys.length; i < n; ++i) {
-        _loop2();
-      }
-
-      this.type3Loaded = loadCharProcsPromise.then(function () {
-        translatedFont.charProcOperatorList = charProcOperatorList;
-      });
-      return this.type3Loaded;
-    }
-  };
-  return TranslatedFont;
-}();
-
-var StateManager = function StateManagerClosure() {
-  function StateManager(initialState) {
-    this.state = initialState;
-    this.stateStack = [];
-  }
-
-  StateManager.prototype = {
-    save: function save() {
-      var old = this.state;
-      this.stateStack.push(this.state);
-      this.state = old.clone();
-    },
-    restore: function restore() {
-      var prev = this.stateStack.pop();
-
-      if (prev) {
-        this.state = prev;
-      }
-    },
-    transform: function transform(args) {
-      this.state.ctm = _util.Util.transform(this.state.ctm, args);
-    }
-  };
-  return StateManager;
-}();
-
-var TextState = function TextStateClosure() {
-  function TextState() {
-    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);
-    this.fontName = null;
-    this.fontSize = 0;
-    this.font = null;
-    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
-    this.textMatrix = _util.IDENTITY_MATRIX.slice();
-    this.textLineMatrix = _util.IDENTITY_MATRIX.slice();
-    this.charSpacing = 0;
-    this.wordSpacing = 0;
-    this.leading = 0;
-    this.textHScale = 1;
-    this.textRise = 0;
-  }
-
-  TextState.prototype = {
-    setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {
-      var m = this.textMatrix;
-      m[0] = a;
-      m[1] = b;
-      m[2] = c;
-      m[3] = d;
-      m[4] = e;
-      m[5] = f;
-    },
-    setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {
-      var m = this.textLineMatrix;
-      m[0] = a;
-      m[1] = b;
-      m[2] = c;
-      m[3] = d;
-      m[4] = e;
-      m[5] = f;
-    },
-    translateTextMatrix: function TextState_translateTextMatrix(x, y) {
-      var m = this.textMatrix;
-      m[4] = m[0] * x + m[2] * y + m[4];
-      m[5] = m[1] * x + m[3] * y + m[5];
-    },
-    translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {
-      var m = this.textLineMatrix;
-      m[4] = m[0] * x + m[2] * y + m[4];
-      m[5] = m[1] * x + m[3] * y + m[5];
-    },
-    calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {
-      var font = this.font;
-
-      if (!font) {
-        return null;
-      }
-
-      var m = this.textLineMatrix;
-
-      if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {
-        return null;
-      }
-
-      var txDiff = e - m[4],
-          tyDiff = f - m[5];
-
-      if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {
-        return null;
-      }
-
-      var tx,
-          ty,
-          denominator = a * d - b * c;
-
-      if (font.vertical) {
-        tx = -tyDiff * c / denominator;
-        ty = tyDiff * a / denominator;
-      } else {
-        tx = txDiff * d / denominator;
-        ty = -txDiff * b / denominator;
-      }
-
-      return {
-        width: tx,
-        height: ty,
-        value: font.vertical ? ty : tx
-      };
-    },
-    calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {
-      var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];
-      return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));
-    },
-    carriageReturn: function TextState_carriageReturn() {
-      this.translateTextLineMatrix(0, -this.leading);
-      this.textMatrix = this.textLineMatrix.slice();
-    },
-    clone: function TextState_clone() {
-      var clone = Object.create(this);
-      clone.textMatrix = this.textMatrix.slice();
-      clone.textLineMatrix = this.textLineMatrix.slice();
-      clone.fontMatrix = this.fontMatrix.slice();
-      return clone;
-    }
-  };
-  return TextState;
-}();
-
-var EvalState = function EvalStateClosure() {
-  function EvalState() {
-    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);
-    this.font = null;
-    this.textRenderingMode = _util.TextRenderingMode.FILL;
-    this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;
-    this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;
-  }
-
-  EvalState.prototype = {
-    clone: function CanvasExtraState_clone() {
-      return Object.create(this);
-    }
-  };
-  return EvalState;
-}();
-
-var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {
-  var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["w"] = {
-      id: _util.OPS.setLineWidth,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["J"] = {
-      id: _util.OPS.setLineCap,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["j"] = {
-      id: _util.OPS.setLineJoin,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["M"] = {
-      id: _util.OPS.setMiterLimit,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["d"] = {
-      id: _util.OPS.setDash,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["ri"] = {
-      id: _util.OPS.setRenderingIntent,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["i"] = {
-      id: _util.OPS.setFlatness,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["gs"] = {
-      id: _util.OPS.setGState,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["q"] = {
-      id: _util.OPS.save,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["Q"] = {
-      id: _util.OPS.restore,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["cm"] = {
-      id: _util.OPS.transform,
-      numArgs: 6,
-      variableArgs: false
-    };
-    t["m"] = {
-      id: _util.OPS.moveTo,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["l"] = {
-      id: _util.OPS.lineTo,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["c"] = {
-      id: _util.OPS.curveTo,
-      numArgs: 6,
-      variableArgs: false
-    };
-    t["v"] = {
-      id: _util.OPS.curveTo2,
-      numArgs: 4,
-      variableArgs: false
-    };
-    t["y"] = {
-      id: _util.OPS.curveTo3,
-      numArgs: 4,
-      variableArgs: false
-    };
-    t["h"] = {
-      id: _util.OPS.closePath,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["re"] = {
-      id: _util.OPS.rectangle,
-      numArgs: 4,
-      variableArgs: false
-    };
-    t["S"] = {
-      id: _util.OPS.stroke,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["s"] = {
-      id: _util.OPS.closeStroke,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["f"] = {
-      id: _util.OPS.fill,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["F"] = {
-      id: _util.OPS.fill,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["f*"] = {
-      id: _util.OPS.eoFill,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["B"] = {
-      id: _util.OPS.fillStroke,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["B*"] = {
-      id: _util.OPS.eoFillStroke,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["b"] = {
-      id: _util.OPS.closeFillStroke,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["b*"] = {
-      id: _util.OPS.closeEOFillStroke,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["n"] = {
-      id: _util.OPS.endPath,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["W"] = {
-      id: _util.OPS.clip,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["W*"] = {
-      id: _util.OPS.eoClip,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["BT"] = {
-      id: _util.OPS.beginText,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["ET"] = {
-      id: _util.OPS.endText,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["Tc"] = {
-      id: _util.OPS.setCharSpacing,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["Tw"] = {
-      id: _util.OPS.setWordSpacing,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["Tz"] = {
-      id: _util.OPS.setHScale,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["TL"] = {
-      id: _util.OPS.setLeading,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["Tf"] = {
-      id: _util.OPS.setFont,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["Tr"] = {
-      id: _util.OPS.setTextRenderingMode,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["Ts"] = {
-      id: _util.OPS.setTextRise,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["Td"] = {
-      id: _util.OPS.moveText,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["TD"] = {
-      id: _util.OPS.setLeadingMoveText,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["Tm"] = {
-      id: _util.OPS.setTextMatrix,
-      numArgs: 6,
-      variableArgs: false
-    };
-    t["T*"] = {
-      id: _util.OPS.nextLine,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["Tj"] = {
-      id: _util.OPS.showText,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["TJ"] = {
-      id: _util.OPS.showSpacedText,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["'"] = {
-      id: _util.OPS.nextLineShowText,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t['"'] = {
-      id: _util.OPS.nextLineSetSpacingShowText,
-      numArgs: 3,
-      variableArgs: false
-    };
-    t["d0"] = {
-      id: _util.OPS.setCharWidth,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["d1"] = {
-      id: _util.OPS.setCharWidthAndBounds,
-      numArgs: 6,
-      variableArgs: false
-    };
-    t["CS"] = {
-      id: _util.OPS.setStrokeColorSpace,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["cs"] = {
-      id: _util.OPS.setFillColorSpace,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["SC"] = {
-      id: _util.OPS.setStrokeColor,
-      numArgs: 4,
-      variableArgs: true
-    };
-    t["SCN"] = {
-      id: _util.OPS.setStrokeColorN,
-      numArgs: 33,
-      variableArgs: true
-    };
-    t["sc"] = {
-      id: _util.OPS.setFillColor,
-      numArgs: 4,
-      variableArgs: true
-    };
-    t["scn"] = {
-      id: _util.OPS.setFillColorN,
-      numArgs: 33,
-      variableArgs: true
-    };
-    t["G"] = {
-      id: _util.OPS.setStrokeGray,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["g"] = {
-      id: _util.OPS.setFillGray,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["RG"] = {
-      id: _util.OPS.setStrokeRGBColor,
-      numArgs: 3,
-      variableArgs: false
-    };
-    t["rg"] = {
-      id: _util.OPS.setFillRGBColor,
-      numArgs: 3,
-      variableArgs: false
-    };
-    t["K"] = {
-      id: _util.OPS.setStrokeCMYKColor,
-      numArgs: 4,
-      variableArgs: false
-    };
-    t["k"] = {
-      id: _util.OPS.setFillCMYKColor,
-      numArgs: 4,
-      variableArgs: false
-    };
-    t["sh"] = {
-      id: _util.OPS.shadingFill,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["BI"] = {
-      id: _util.OPS.beginInlineImage,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["ID"] = {
-      id: _util.OPS.beginImageData,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["EI"] = {
-      id: _util.OPS.endInlineImage,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["Do"] = {
-      id: _util.OPS.paintXObject,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["MP"] = {
-      id: _util.OPS.markPoint,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["DP"] = {
-      id: _util.OPS.markPointProps,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["BMC"] = {
-      id: _util.OPS.beginMarkedContent,
-      numArgs: 1,
-      variableArgs: false
-    };
-    t["BDC"] = {
-      id: _util.OPS.beginMarkedContentProps,
-      numArgs: 2,
-      variableArgs: false
-    };
-    t["EMC"] = {
-      id: _util.OPS.endMarkedContent,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["BX"] = {
-      id: _util.OPS.beginCompat,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["EX"] = {
-      id: _util.OPS.endCompat,
-      numArgs: 0,
-      variableArgs: false
-    };
-    t["BM"] = null;
-    t["BD"] = null;
-    t["true"] = null;
-    t["fa"] = null;
-    t["fal"] = null;
-    t["fals"] = null;
-    t["false"] = null;
-    t["nu"] = null;
-    t["nul"] = null;
-    t["null"] = null;
-  });
-  var MAX_INVALID_PATH_OPS = 20;
-
-  function EvaluatorPreprocessor(stream, xref, stateManager) {
-    this.opMap = getOPMap();
-    this.parser = new _parser.Parser({
-      lexer: new _parser.Lexer(stream, this.opMap),
-      xref: xref
-    });
-    this.stateManager = stateManager;
-    this.nonProcessedArgs = [];
-    this._numInvalidPathOPS = 0;
-  }
-
-  EvaluatorPreprocessor.prototype = {
-    get savedStatesDepth() {
-      return this.stateManager.stateStack.length;
-    },
-
-    read: function EvaluatorPreprocessor_read(operation) {
-      var args = operation.args;
-
-      while (true) {
-        var obj = this.parser.getObj();
-
-        if (obj instanceof _primitives.Cmd) {
-          var cmd = obj.cmd;
-          var opSpec = this.opMap[cmd];
-
-          if (!opSpec) {
-            (0, _util.warn)("Unknown command \"".concat(cmd, "\"."));
-            continue;
-          }
-
-          var fn = opSpec.id;
-          var numArgs = opSpec.numArgs;
-          var argsLength = args !== null ? args.length : 0;
-
-          if (!opSpec.variableArgs) {
-            if (argsLength !== numArgs) {
-              var nonProcessedArgs = this.nonProcessedArgs;
-
-              while (argsLength > numArgs) {
-                nonProcessedArgs.push(args.shift());
-                argsLength--;
-              }
-
-              while (argsLength < numArgs && nonProcessedArgs.length !== 0) {
-                if (args === null) {
-                  args = [];
-                }
-
-                args.unshift(nonProcessedArgs.pop());
-                argsLength++;
-              }
-            }
-
-            if (argsLength < numArgs) {
-              var partialMsg = "command ".concat(cmd, ": expected ").concat(numArgs, " args, ") + "but received ".concat(argsLength, " args.");
-
-              if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {
-                throw new _util.FormatError("Invalid ".concat(partialMsg));
-              }
-
-              (0, _util.warn)("Skipping ".concat(partialMsg));
-
-              if (args !== null) {
-                args.length = 0;
-              }
-
-              continue;
-            }
-          } else if (argsLength > numArgs) {
-            (0, _util.info)("Command ".concat(cmd, ": expected [0, ").concat(numArgs, "] args, ") + "but received ".concat(argsLength, " args."));
-          }
-
-          this.preprocessCommand(fn, args);
-          operation.fn = fn;
-          operation.args = args;
-          return true;
-        }
-
-        if (obj === _primitives.EOF) {
-          return false;
-        }
-
-        if (obj !== null) {
-          if (args === null) {
-            args = [];
-          }
-
-          args.push(obj);
-
-          if (args.length > 33) {
-            throw new _util.FormatError("Too many arguments");
-          }
-        }
-      }
-    },
-    preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {
-      switch (fn | 0) {
-        case _util.OPS.save:
-          this.stateManager.save();
-          break;
-
-        case _util.OPS.restore:
-          this.stateManager.restore();
-          break;
-
-        case _util.OPS.transform:
-          this.stateManager.transform(args);
-          break;
-      }
-    }
-  };
-  return EvaluatorPreprocessor;
-}();
-
-/***/ }),
-/* 216 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _parser = __w_pdfjs_require__(200);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _stream = __w_pdfjs_require__(201);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var BUILT_IN_CMAPS = ["Adobe-GB1-UCS2", "Adobe-CNS1-UCS2", "Adobe-Japan1-UCS2", "Adobe-Korea1-UCS2", "78-EUC-H", "78-EUC-V", "78-H", "78-RKSJ-H", "78-RKSJ-V", "78-V", "78ms-RKSJ-H", "78ms-RKSJ-V", "83pv-RKSJ-H", "90ms-RKSJ-H", "90ms-RKSJ-V", "90msp-RKSJ-H", "90msp-RKSJ-V", "90pv-RKSJ-H", "90pv-RKSJ-V", "Add-H", "Add-RKSJ-H", "Add-RKSJ-V", "Add-V", "Adobe-CNS1-0", "Adobe-CNS1-1", "Adobe-CNS1-2", "Adobe-CNS1-3", "Adobe-CNS1-4", "Adobe-CNS1-5", "Adobe-CNS1-6", "Adobe-GB1-0", "Adobe-GB1-1", "Adobe-GB1-2", "Adobe-GB1-3", "Adobe-GB1-4", "Adobe-GB1-5", "Adobe-Japan1-0", "Adobe-Japan1-1", "Adobe-Japan1-2", "Adobe-Japan1-3", "Adobe-Japan1-4", "Adobe-Japan1-5", "Adobe-Japan1-6", "Adobe-Korea1-0", "Adobe-Korea1-1", "Adobe-Korea1-2", "B5-H", "B5-V", "B5pc-H", "B5pc-V", "CNS-EUC-H", "CNS-EUC-V", "CNS1-H", "CNS1-V", "CNS2-H", "CNS2-V", "ETHK-B5-H", "ETHK-B5-V", "ETen-B5-H", "ETen-B5-V", "ETenms-B5-H", "ETenms-B5-V", "EUC-H", "EUC-V", "Ext-H", "Ext-RKSJ-H", "Ext-RKSJ-V", "Ext-V", "GB-EUC-H", "GB-EUC-V", "GB-H", "GB-V", "GBK-EUC-H", "GBK-EUC-V", "GBK2K-H", "GBK2K-V", "GBKp-EUC-H", "GBKp-EUC-V", "GBT-EUC-H", "GBT-EUC-V", "GBT-H", "GBT-V", "GBTpc-EUC-H", "GBTpc-EUC-V", "GBpc-EUC-H", "GBpc-EUC-V", "H", "HKdla-B5-H", "HKdla-B5-V", "HKdlb-B5-H", "HKdlb-B5-V", "HKgccs-B5-H", "HKgccs-B5-V", "HKm314-B5-H", "HKm314-B5-V", "HKm471-B5-H", "HKm471-B5-V", "HKscs-B5-H", "HKscs-B5-V", "Hankaku", "Hiragana", "KSC-EUC-H", "KSC-EUC-V", "KSC-H", "KSC-Johab-H", "KSC-Johab-V", "KSC-V", "KSCms-UHC-H", "KSCms-UHC-HW-H", "KSCms-UHC-HW-V", "KSCms-UHC-V", "KSCpc-EUC-H", "KSCpc-EUC-V", "Katakana", "NWP-H", "NWP-V", "RKSJ-H", "RKSJ-V", "Roman", "UniCNS-UCS2-H", "UniCNS-UCS2-V", "UniCNS-UTF16-H", "UniCNS-UTF16-V", "UniCNS-UTF32-H", "UniCNS-UTF32-V", "UniCNS-UTF8-H", "UniCNS-UTF8-V", "UniGB-UCS2-H", "UniGB-UCS2-V", "UniGB-UTF16-H", "UniGB-UTF16-V", "UniGB-UTF32-H", "UniGB-UTF32-V", "UniGB-UTF8-H", "UniGB-UTF8-V", "UniJIS-UCS2-H", "UniJIS-UCS2-HW-H", "UniJIS-UCS2-HW-V", "UniJIS-UCS2-V", "UniJIS-UTF16-H", "UniJIS-UTF16-V", "UniJIS-UTF32-H", "UniJIS-UTF32-V", "UniJIS-UTF8-H", "UniJIS-UTF8-V", "UniJIS2004-UTF16-H", "UniJIS2004-UTF16-V", "UniJIS2004-UTF32-H", "UniJIS2004-UTF32-V", "UniJIS2004-UTF8-H", "UniJIS2004-UTF8-V", "UniJISPro-UCS2-HW-V", "UniJISPro-UCS2-V", "UniJISPro-UTF8-V", "UniJISX0213-UTF32-H", "UniJISX0213-UTF32-V", "UniJISX02132004-UTF32-H", "UniJISX02132004-UTF32-V", "UniKS-UCS2-H", "UniKS-UCS2-V", "UniKS-UTF16-H", "UniKS-UTF16-V", "UniKS-UTF32-H", "UniKS-UTF32-V", "UniKS-UTF8-H", "UniKS-UTF8-V", "V", "WP-Symbol"];
-
-var CMap = /*#__PURE__*/function () {
-  function CMap() {
-    var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-    _classCallCheck(this, CMap);
-
-    this.codespaceRanges = [[], [], [], []];
-    this.numCodespaceRanges = 0;
-    this._map = [];
-    this.name = "";
-    this.vertical = false;
-    this.useCMap = null;
-    this.builtInCMap = builtInCMap;
-  }
-
-  _createClass(CMap, [{
-    key: "addCodespaceRange",
-    value: function addCodespaceRange(n, low, high) {
-      this.codespaceRanges[n - 1].push(low, high);
-      this.numCodespaceRanges++;
-    }
-  }, {
-    key: "mapCidRange",
-    value: function mapCidRange(low, high, dstLow) {
-      while (low <= high) {
-        this._map[low++] = dstLow++;
-      }
-    }
-  }, {
-    key: "mapBfRange",
-    value: function mapBfRange(low, high, dstLow) {
-      var lastByte = dstLow.length - 1;
-
-      while (low <= high) {
-        this._map[low++] = dstLow;
-        dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);
-      }
-    }
-  }, {
-    key: "mapBfRangeToArray",
-    value: function mapBfRangeToArray(low, high, array) {
-      var ii = array.length;
-      var i = 0;
-
-      while (low <= high && i < ii) {
-        this._map[low] = array[i++];
-        ++low;
-      }
-    }
-  }, {
-    key: "mapOne",
-    value: function mapOne(src, dst) {
-      this._map[src] = dst;
-    }
-  }, {
-    key: "lookup",
-    value: function lookup(code) {
-      return this._map[code];
-    }
-  }, {
-    key: "contains",
-    value: function contains(code) {
-      return this._map[code] !== undefined;
-    }
-  }, {
-    key: "forEach",
-    value: function forEach(callback) {
-      var map = this._map;
-      var length = map.length;
-
-      if (length <= 0x10000) {
-        for (var i = 0; i < length; i++) {
-          if (map[i] !== undefined) {
-            callback(i, map[i]);
-          }
-        }
-      } else {
-        for (var _i in map) {
-          callback(_i, map[_i]);
-        }
-      }
-    }
-  }, {
-    key: "charCodeOf",
-    value: function charCodeOf(value) {
-      var map = this._map;
-
-      if (map.length <= 0x10000) {
-        return map.indexOf(value);
-      }
-
-      for (var charCode in map) {
-        if (map[charCode] === value) {
-          return charCode | 0;
-        }
-      }
-
-      return -1;
-    }
-  }, {
-    key: "getMap",
-    value: function getMap() {
-      return this._map;
-    }
-  }, {
-    key: "readCharCode",
-    value: function readCharCode(str, offset, out) {
-      var c = 0;
-      var codespaceRanges = this.codespaceRanges;
-
-      for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {
-        c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;
-        var codespaceRange = codespaceRanges[n];
-
-        for (var k = 0, kk = codespaceRange.length; k < kk;) {
-          var low = codespaceRange[k++];
-          var high = codespaceRange[k++];
-
-          if (c >= low && c <= high) {
-            out.charcode = c;
-            out.length = n + 1;
-            return;
-          }
-        }
-      }
-
-      out.charcode = 0;
-      out.length = 1;
-    }
-  }, {
-    key: "length",
-    get: function get() {
-      return this._map.length;
-    }
-  }, {
-    key: "isIdentityCMap",
-    get: function get() {
-      if (!(this.name === "Identity-H" || this.name === "Identity-V")) {
-        return false;
-      }
-
-      if (this._map.length !== 0x10000) {
-        return false;
-      }
-
-      for (var i = 0; i < 0x10000; i++) {
-        if (this._map[i] !== i) {
-          return false;
-        }
-      }
-
-      return true;
-    }
-  }]);
-
-  return CMap;
-}();
-
-exports.CMap = CMap;
-
-var IdentityCMap = /*#__PURE__*/function (_CMap) {
-  _inherits(IdentityCMap, _CMap);
-
-  function IdentityCMap(vertical, n) {
-    var _this;
-
-    _classCallCheck(this, IdentityCMap);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(IdentityCMap).call(this));
-    _this.vertical = vertical;
-
-    _this.addCodespaceRange(n, 0, 0xffff);
-
-    return _this;
-  }
-
-  _createClass(IdentityCMap, [{
-    key: "mapCidRange",
-    value: function mapCidRange(low, high, dstLow) {
-      (0, _util.unreachable)("should not call mapCidRange");
-    }
-  }, {
-    key: "mapBfRange",
-    value: function mapBfRange(low, high, dstLow) {
-      (0, _util.unreachable)("should not call mapBfRange");
-    }
-  }, {
-    key: "mapBfRangeToArray",
-    value: function mapBfRangeToArray(low, high, array) {
-      (0, _util.unreachable)("should not call mapBfRangeToArray");
-    }
-  }, {
-    key: "mapOne",
-    value: function mapOne(src, dst) {
-      (0, _util.unreachable)("should not call mapCidOne");
-    }
-  }, {
-    key: "lookup",
-    value: function lookup(code) {
-      return Number.isInteger(code) && code <= 0xffff ? code : undefined;
-    }
-  }, {
-    key: "contains",
-    value: function contains(code) {
-      return Number.isInteger(code) && code <= 0xffff;
-    }
-  }, {
-    key: "forEach",
-    value: function forEach(callback) {
-      for (var i = 0; i <= 0xffff; i++) {
-        callback(i, i);
-      }
-    }
-  }, {
-    key: "charCodeOf",
-    value: function charCodeOf(value) {
-      return Number.isInteger(value) && value <= 0xffff ? value : -1;
-    }
-  }, {
-    key: "getMap",
-    value: function getMap() {
-      var map = new Array(0x10000);
-
-      for (var i = 0; i <= 0xffff; i++) {
-        map[i] = i;
-      }
-
-      return map;
-    }
-  }, {
-    key: "length",
-    get: function get() {
-      return 0x10000;
-    }
-  }, {
-    key: "isIdentityCMap",
-    get: function get() {
-      (0, _util.unreachable)("should not access .isIdentityCMap");
-    }
-  }]);
-
-  return IdentityCMap;
-}(CMap);
-
-exports.IdentityCMap = IdentityCMap;
-
-var BinaryCMapReader = function BinaryCMapReaderClosure() {
-  function hexToInt(a, size) {
-    var n = 0;
-
-    for (var i = 0; i <= size; i++) {
-      n = n << 8 | a[i];
-    }
-
-    return n >>> 0;
-  }
-
-  function hexToStr(a, size) {
-    if (size === 1) {
-      return String.fromCharCode(a[0], a[1]);
-    }
-
-    if (size === 3) {
-      return String.fromCharCode(a[0], a[1], a[2], a[3]);
-    }
-
-    return String.fromCharCode.apply(null, a.subarray(0, size + 1));
-  }
-
-  function addHex(a, b, size) {
-    var c = 0;
-
-    for (var i = size; i >= 0; i--) {
-      c += a[i] + b[i];
-      a[i] = c & 255;
-      c >>= 8;
-    }
-  }
-
-  function incHex(a, size) {
-    var c = 1;
-
-    for (var i = size; i >= 0 && c > 0; i--) {
-      c += a[i];
-      a[i] = c & 255;
-      c >>= 8;
-    }
-  }
-
-  var MAX_NUM_SIZE = 16;
-  var MAX_ENCODED_NUM_SIZE = 19;
-
-  function BinaryCMapStream(data) {
-    this.buffer = data;
-    this.pos = 0;
-    this.end = data.length;
-    this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);
-  }
-
-  BinaryCMapStream.prototype = {
-    readByte: function readByte() {
-      if (this.pos >= this.end) {
-        return -1;
-      }
-
-      return this.buffer[this.pos++];
-    },
-    readNumber: function readNumber() {
-      var n = 0;
-      var last;
-
-      do {
-        var b = this.readByte();
-
-        if (b < 0) {
-          throw new _util.FormatError("unexpected EOF in bcmap");
-        }
-
-        last = !(b & 0x80);
-        n = n << 7 | b & 0x7f;
-      } while (!last);
-
-      return n;
-    },
-    readSigned: function readSigned() {
-      var n = this.readNumber();
-      return n & 1 ? ~(n >>> 1) : n >>> 1;
-    },
-    readHex: function readHex(num, size) {
-      num.set(this.buffer.subarray(this.pos, this.pos + size + 1));
-      this.pos += size + 1;
-    },
-    readHexNumber: function readHexNumber(num, size) {
-      var last;
-      var stack = this.tmpBuf,
-          sp = 0;
-
-      do {
-        var b = this.readByte();
-
-        if (b < 0) {
-          throw new _util.FormatError("unexpected EOF in bcmap");
-        }
-
-        last = !(b & 0x80);
-        stack[sp++] = b & 0x7f;
-      } while (!last);
-
-      var i = size,
-          buffer = 0,
-          bufferSize = 0;
-
-      while (i >= 0) {
-        while (bufferSize < 8 && stack.length > 0) {
-          buffer = stack[--sp] << bufferSize | buffer;
-          bufferSize += 7;
-        }
-
-        num[i] = buffer & 255;
-        i--;
-        buffer >>= 8;
-        bufferSize -= 8;
-      }
-    },
-    readHexSigned: function readHexSigned(num, size) {
-      this.readHexNumber(num, size);
-      var sign = num[size] & 1 ? 255 : 0;
-      var c = 0;
-
-      for (var i = 0; i <= size; i++) {
-        c = (c & 1) << 8 | num[i];
-        num[i] = c >> 1 ^ sign;
-      }
-    },
-    readString: function readString() {
-      var len = this.readNumber();
-      var s = "";
-
-      for (var i = 0; i < len; i++) {
-        s += String.fromCharCode(this.readNumber());
-      }
-
-      return s;
-    }
-  };
-
-  function processBinaryCMap(data, cMap, extend) {
-    return new Promise(function (resolve, reject) {
-      var stream = new BinaryCMapStream(data);
-      var header = stream.readByte();
-      cMap.vertical = !!(header & 1);
-      var useCMap = null;
-      var start = new Uint8Array(MAX_NUM_SIZE);
-      var end = new Uint8Array(MAX_NUM_SIZE);
-
-      var _char = new Uint8Array(MAX_NUM_SIZE);
-
-      var charCode = new Uint8Array(MAX_NUM_SIZE);
-      var tmp = new Uint8Array(MAX_NUM_SIZE);
-      var code;
-      var b;
-
-      while ((b = stream.readByte()) >= 0) {
-        var type = b >> 5;
-
-        if (type === 7) {
-          switch (b & 0x1f) {
-            case 0:
-              stream.readString();
-              break;
-
-            case 1:
-              useCMap = stream.readString();
-              break;
-          }
-
-          continue;
-        }
-
-        var sequence = !!(b & 0x10);
-        var dataSize = b & 15;
-
-        if (dataSize + 1 > MAX_NUM_SIZE) {
-          throw new Error("processBinaryCMap: Invalid dataSize.");
-        }
-
-        var ucs2DataSize = 1;
-        var subitemsCount = stream.readNumber();
-        var i;
-
-        switch (type) {
-          case 0:
-            stream.readHex(start, dataSize);
-            stream.readHexNumber(end, dataSize);
-            addHex(end, start, dataSize);
-            cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));
-
-            for (i = 1; i < subitemsCount; i++) {
-              incHex(end, dataSize);
-              stream.readHexNumber(start, dataSize);
-              addHex(start, end, dataSize);
-              stream.readHexNumber(end, dataSize);
-              addHex(end, start, dataSize);
-              cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));
-            }
-
-            break;
-
-          case 1:
-            stream.readHex(start, dataSize);
-            stream.readHexNumber(end, dataSize);
-            addHex(end, start, dataSize);
-            stream.readNumber();
-
-            for (i = 1; i < subitemsCount; i++) {
-              incHex(end, dataSize);
-              stream.readHexNumber(start, dataSize);
-              addHex(start, end, dataSize);
-              stream.readHexNumber(end, dataSize);
-              addHex(end, start, dataSize);
-              stream.readNumber();
-            }
-
-            break;
-
-          case 2:
-            stream.readHex(_char, dataSize);
-            code = stream.readNumber();
-            cMap.mapOne(hexToInt(_char, dataSize), code);
-
-            for (i = 1; i < subitemsCount; i++) {
-              incHex(_char, dataSize);
-
-              if (!sequence) {
-                stream.readHexNumber(tmp, dataSize);
-                addHex(_char, tmp, dataSize);
-              }
-
-              code = stream.readSigned() + (code + 1);
-              cMap.mapOne(hexToInt(_char, dataSize), code);
-            }
-
-            break;
-
-          case 3:
-            stream.readHex(start, dataSize);
-            stream.readHexNumber(end, dataSize);
-            addHex(end, start, dataSize);
-            code = stream.readNumber();
-            cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);
-
-            for (i = 1; i < subitemsCount; i++) {
-              incHex(end, dataSize);
-
-              if (!sequence) {
-                stream.readHexNumber(start, dataSize);
-                addHex(start, end, dataSize);
-              } else {
-                start.set(end);
-              }
-
-              stream.readHexNumber(end, dataSize);
-              addHex(end, start, dataSize);
-              code = stream.readNumber();
-              cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);
-            }
-
-            break;
-
-          case 4:
-            stream.readHex(_char, ucs2DataSize);
-            stream.readHex(charCode, dataSize);
-            cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));
-
-            for (i = 1; i < subitemsCount; i++) {
-              incHex(_char, ucs2DataSize);
-
-              if (!sequence) {
-                stream.readHexNumber(tmp, ucs2DataSize);
-                addHex(_char, tmp, ucs2DataSize);
-              }
-
-              incHex(charCode, dataSize);
-              stream.readHexSigned(tmp, dataSize);
-              addHex(charCode, tmp, dataSize);
-              cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));
-            }
-
-            break;
-
-          case 5:
-            stream.readHex(start, ucs2DataSize);
-            stream.readHexNumber(end, ucs2DataSize);
-            addHex(end, start, ucs2DataSize);
-            stream.readHex(charCode, dataSize);
-            cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));
-
-            for (i = 1; i < subitemsCount; i++) {
-              incHex(end, ucs2DataSize);
-
-              if (!sequence) {
-                stream.readHexNumber(start, ucs2DataSize);
-                addHex(start, end, ucs2DataSize);
-              } else {
-                start.set(end);
-              }
-
-              stream.readHexNumber(end, ucs2DataSize);
-              addHex(end, start, ucs2DataSize);
-              stream.readHex(charCode, dataSize);
-              cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));
-            }
-
-            break;
-
-          default:
-            reject(new Error("processBinaryCMap: Unknown type: " + type));
-            return;
-        }
-      }
-
-      if (useCMap) {
-        resolve(extend(useCMap));
-        return;
-      }
-
-      resolve(cMap);
-    });
-  }
-
-  function BinaryCMapReader() {}
-
-  BinaryCMapReader.prototype = {
-    process: processBinaryCMap
-  };
-  return BinaryCMapReader;
-}();
-
-var CMapFactory = function CMapFactoryClosure() {
-  function strToInt(str) {
-    var a = 0;
-
-    for (var i = 0; i < str.length; i++) {
-      a = a << 8 | str.charCodeAt(i);
-    }
-
-    return a >>> 0;
-  }
-
-  function expectString(obj) {
-    if (!(0, _util.isString)(obj)) {
-      throw new _util.FormatError("Malformed CMap: expected string.");
-    }
-  }
-
-  function expectInt(obj) {
-    if (!Number.isInteger(obj)) {
-      throw new _util.FormatError("Malformed CMap: expected int.");
-    }
-  }
-
-  function parseBfChar(cMap, lexer) {
-    while (true) {
-      var obj = lexer.getObj();
-
-      if ((0, _primitives.isEOF)(obj)) {
-        break;
-      }
-
-      if ((0, _primitives.isCmd)(obj, "endbfchar")) {
-        return;
-      }
-
-      expectString(obj);
-      var src = strToInt(obj);
-      obj = lexer.getObj();
-      expectString(obj);
-      var dst = obj;
-      cMap.mapOne(src, dst);
-    }
-  }
-
-  function parseBfRange(cMap, lexer) {
-    while (true) {
-      var obj = lexer.getObj();
-
-      if ((0, _primitives.isEOF)(obj)) {
-        break;
-      }
-
-      if ((0, _primitives.isCmd)(obj, "endbfrange")) {
-        return;
-      }
-
-      expectString(obj);
-      var low = strToInt(obj);
-      obj = lexer.getObj();
-      expectString(obj);
-      var high = strToInt(obj);
-      obj = lexer.getObj();
-
-      if (Number.isInteger(obj) || (0, _util.isString)(obj)) {
-        var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;
-        cMap.mapBfRange(low, high, dstLow);
-      } else if ((0, _primitives.isCmd)(obj, "[")) {
-        obj = lexer.getObj();
-        var array = [];
-
-        while (!(0, _primitives.isCmd)(obj, "]") && !(0, _primitives.isEOF)(obj)) {
-          array.push(obj);
-          obj = lexer.getObj();
-        }
-
-        cMap.mapBfRangeToArray(low, high, array);
-      } else {
-        break;
-      }
-    }
-
-    throw new _util.FormatError("Invalid bf range.");
-  }
-
-  function parseCidChar(cMap, lexer) {
-    while (true) {
-      var obj = lexer.getObj();
-
-      if ((0, _primitives.isEOF)(obj)) {
-        break;
-      }
-
-      if ((0, _primitives.isCmd)(obj, "endcidchar")) {
-        return;
-      }
-
-      expectString(obj);
-      var src = strToInt(obj);
-      obj = lexer.getObj();
-      expectInt(obj);
-      var dst = obj;
-      cMap.mapOne(src, dst);
-    }
-  }
-
-  function parseCidRange(cMap, lexer) {
-    while (true) {
-      var obj = lexer.getObj();
-
-      if ((0, _primitives.isEOF)(obj)) {
-        break;
-      }
-
-      if ((0, _primitives.isCmd)(obj, "endcidrange")) {
-        return;
-      }
-
-      expectString(obj);
-      var low = strToInt(obj);
-      obj = lexer.getObj();
-      expectString(obj);
-      var high = strToInt(obj);
-      obj = lexer.getObj();
-      expectInt(obj);
-      var dstLow = obj;
-      cMap.mapCidRange(low, high, dstLow);
-    }
-  }
-
-  function parseCodespaceRange(cMap, lexer) {
-    while (true) {
-      var obj = lexer.getObj();
-
-      if ((0, _primitives.isEOF)(obj)) {
-        break;
-      }
-
-      if ((0, _primitives.isCmd)(obj, "endcodespacerange")) {
-        return;
-      }
-
-      if (!(0, _util.isString)(obj)) {
-        break;
-      }
-
-      var low = strToInt(obj);
-      obj = lexer.getObj();
-
-      if (!(0, _util.isString)(obj)) {
-        break;
-      }
-
-      var high = strToInt(obj);
-      cMap.addCodespaceRange(obj.length, low, high);
-    }
-
-    throw new _util.FormatError("Invalid codespace range.");
-  }
-
-  function parseWMode(cMap, lexer) {
-    var obj = lexer.getObj();
-
-    if (Number.isInteger(obj)) {
-      cMap.vertical = !!obj;
-    }
-  }
-
-  function parseCMapName(cMap, lexer) {
-    var obj = lexer.getObj();
-
-    if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {
-      cMap.name = obj.name;
-    }
-  }
-
-  function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {
-    var previous;
-    var embeddedUseCMap;
-
-    objLoop: while (true) {
-      try {
-        var obj = lexer.getObj();
-
-        if ((0, _primitives.isEOF)(obj)) {
-          break;
-        } else if ((0, _primitives.isName)(obj)) {
-          if (obj.name === "WMode") {
-            parseWMode(cMap, lexer);
-          } else if (obj.name === "CMapName") {
-            parseCMapName(cMap, lexer);
-          }
-
-          previous = obj;
-        } else if ((0, _primitives.isCmd)(obj)) {
-          switch (obj.cmd) {
-            case "endcmap":
-              break objLoop;
-
-            case "usecmap":
-              if ((0, _primitives.isName)(previous)) {
-                embeddedUseCMap = previous.name;
-              }
-
-              break;
-
-            case "begincodespacerange":
-              parseCodespaceRange(cMap, lexer);
-              break;
-
-            case "beginbfchar":
-              parseBfChar(cMap, lexer);
-              break;
-
-            case "begincidchar":
-              parseCidChar(cMap, lexer);
-              break;
-
-            case "beginbfrange":
-              parseBfRange(cMap, lexer);
-              break;
-
-            case "begincidrange":
-              parseCidRange(cMap, lexer);
-              break;
-          }
-        }
-      } catch (ex) {
-        if (ex instanceof _core_utils.MissingDataException) {
-          throw ex;
-        }
-
-        (0, _util.warn)("Invalid cMap data: " + ex);
-        continue;
-      }
-    }
-
-    if (!useCMap && embeddedUseCMap) {
-      useCMap = embeddedUseCMap;
-    }
-
-    if (useCMap) {
-      return extendCMap(cMap, fetchBuiltInCMap, useCMap);
-    }
-
-    return Promise.resolve(cMap);
-  }
-
-  function extendCMap(cMap, fetchBuiltInCMap, useCMap) {
-    return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {
-      cMap.useCMap = newCMap;
-
-      if (cMap.numCodespaceRanges === 0) {
-        var useCodespaceRanges = cMap.useCMap.codespaceRanges;
-
-        for (var i = 0; i < useCodespaceRanges.length; i++) {
-          cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();
-        }
-
-        cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;
-      }
-
-      cMap.useCMap.forEach(function (key, value) {
-        if (!cMap.contains(key)) {
-          cMap.mapOne(key, cMap.useCMap.lookup(key));
-        }
-      });
-      return cMap;
-    });
-  }
-
-  function createBuiltInCMap(name, fetchBuiltInCMap) {
-    if (name === "Identity-H") {
-      return Promise.resolve(new IdentityCMap(false, 2));
-    } else if (name === "Identity-V") {
-      return Promise.resolve(new IdentityCMap(true, 2));
-    }
-
-    if (!BUILT_IN_CMAPS.includes(name)) {
-      return Promise.reject(new Error("Unknown CMap name: " + name));
-    }
-
-    if (!fetchBuiltInCMap) {
-      return Promise.reject(new Error("Built-in CMap parameters are not provided."));
-    }
-
-    return fetchBuiltInCMap(name).then(function (data) {
-      var cMapData = data.cMapData,
-          compressionType = data.compressionType;
-      var cMap = new CMap(true);
-
-      if (compressionType === _util.CMapCompressionType.BINARY) {
-        return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {
-          return extendCMap(cMap, fetchBuiltInCMap, useCMap);
-        });
-      }
-
-      if (compressionType === _util.CMapCompressionType.NONE) {
-        var lexer = new _parser.Lexer(new _stream.Stream(cMapData));
-        return parseCMap(cMap, lexer, fetchBuiltInCMap, null);
-      }
-
-      return Promise.reject(new Error("TODO: Only BINARY/NONE CMap compression is currently supported."));
-    });
-  }
-
-  return {
-    create: function create(params) {
-      return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                encoding = params.encoding;
-                fetchBuiltInCMap = params.fetchBuiltInCMap;
-                useCMap = params.useCMap;
-
-                if (!(0, _primitives.isName)(encoding)) {
-                  _context.next = 7;
-                  break;
-                }
-
-                return _context.abrupt("return", createBuiltInCMap(encoding.name, fetchBuiltInCMap));
-
-              case 7:
-                if (!(0, _primitives.isStream)(encoding)) {
-                  _context.next = 11;
-                  break;
-                }
-
-                cMap = new CMap();
-                lexer = new _parser.Lexer(encoding);
-                return _context.abrupt("return", parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {
-                  if (parsedCMap.isIdentityCMap) {
-                    return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);
-                  }
-
-                  return parsedCMap;
-                }));
-
-              case 11:
-                throw new Error("Encoding required.");
-
-              case 12:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }))();
-    }
-  };
-}();
-
-exports.CMapFactory = CMapFactory;
-
-/***/ }),
-/* 217 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getFontType = getFontType;
-exports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _cff_parser = __w_pdfjs_require__(218);
-
-var _glyphlist = __w_pdfjs_require__(221);
-
-var _encodings = __w_pdfjs_require__(220);
-
-var _standard_fonts = __w_pdfjs_require__(222);
-
-var _unicode = __w_pdfjs_require__(223);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _font_renderer = __w_pdfjs_require__(224);
-
-var _cmap = __w_pdfjs_require__(216);
-
-var _stream = __w_pdfjs_require__(201);
-
-var _type1_parser = __w_pdfjs_require__(225);
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-var PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];
-var PDF_GLYPH_SPACE_UNITS = 1000;
-var SEAC_ANALYSIS_ENABLED = true;
-exports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;
-var FontFlags = {
-  FixedPitch: 1,
-  Serif: 2,
-  Symbolic: 4,
-  Script: 8,
-  Nonsymbolic: 32,
-  Italic: 64,
-  AllCap: 65536,
-  SmallCap: 131072,
-  ForceBold: 262144
-};
-exports.FontFlags = FontFlags;
-var MacStandardGlyphOrdering = [".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 adjustWidths(properties) {
-  if (!properties.fontMatrix) {
-    return;
-  }
-
-  if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {
-    return;
-  }
-
-  var scale = 0.001 / properties.fontMatrix[0];
-  var glyphsWidths = properties.widths;
-
-  for (var glyph in glyphsWidths) {
-    glyphsWidths[glyph] *= scale;
-  }
-
-  properties.defaultWidth *= scale;
-}
-
-function adjustToUnicode(properties, builtInEncoding) {
-  if (properties.hasIncludedToUnicodeMap) {
-    return;
-  }
-
-  if (properties.hasEncoding) {
-    return;
-  }
-
-  if (builtInEncoding === properties.defaultEncoding) {
-    return;
-  }
-
-  if (properties.toUnicode instanceof IdentityToUnicodeMap) {
-    return;
-  }
-
-  var toUnicode = [],
-      glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-
-  for (var charCode in builtInEncoding) {
-    var glyphName = builtInEncoding[charCode];
-    var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);
-
-    if (unicode !== -1) {
-      toUnicode[charCode] = String.fromCharCode(unicode);
-    }
-  }
-
-  properties.toUnicode.amend(toUnicode);
-}
-
-function getFontType(type, subtype) {
-  switch (type) {
-    case "Type1":
-      return subtype === "Type1C" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;
-
-    case "CIDFontType0":
-      return subtype === "CIDFontType0C" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;
-
-    case "OpenType":
-      return _util.FontType.OPENTYPE;
-
-    case "TrueType":
-      return _util.FontType.TRUETYPE;
-
-    case "CIDFontType2":
-      return _util.FontType.CIDFONTTYPE2;
-
-    case "MMType1":
-      return _util.FontType.MMTYPE1;
-
-    case "Type0":
-      return _util.FontType.TYPE0;
-
-    default:
-      return _util.FontType.UNKNOWN;
-  }
-}
-
-function recoverGlyphName(name, glyphsUnicodeMap) {
-  if (glyphsUnicodeMap[name] !== undefined) {
-    return name;
-  }
-
-  var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);
-
-  if (unicode !== -1) {
-    for (var key in glyphsUnicodeMap) {
-      if (glyphsUnicodeMap[key] === unicode) {
-        return key;
-      }
-    }
-  }
-
-  (0, _util.info)("Unable to recover a standard glyph name for: " + name);
-  return name;
-}
-
-var Glyph = function GlyphClosure() {
-  function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {
-    this.fontChar = fontChar;
-    this.unicode = unicode;
-    this.accent = accent;
-    this.width = width;
-    this.vmetric = vmetric;
-    this.operatorListId = operatorListId;
-    this.isSpace = isSpace;
-    this.isInFont = isInFont;
-  }
-
-  Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {
-    return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;
-  };
-
-  return Glyph;
-}();
-
-var ToUnicodeMap = function ToUnicodeMapClosure() {
-  function ToUnicodeMap() {
-    var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
-    this._map = cmap;
-  }
-
-  ToUnicodeMap.prototype = {
-    get length() {
-      return this._map.length;
-    },
-
-    forEach: function forEach(callback) {
-      for (var charCode in this._map) {
-        callback(charCode, this._map[charCode].charCodeAt(0));
-      }
-    },
-    has: function has(i) {
-      return this._map[i] !== undefined;
-    },
-    get: function get(i) {
-      return this._map[i];
-    },
-    charCodeOf: function charCodeOf(value) {
-      var map = this._map;
-
-      if (map.length <= 0x10000) {
-        return map.indexOf(value);
-      }
-
-      for (var charCode in map) {
-        if (map[charCode] === value) {
-          return charCode | 0;
-        }
-      }
-
-      return -1;
-    },
-    amend: function amend(map) {
-      for (var charCode in map) {
-        this._map[charCode] = map[charCode];
-      }
-    }
-  };
-  return ToUnicodeMap;
-}();
-
-exports.ToUnicodeMap = ToUnicodeMap;
-
-var IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {
-  function IdentityToUnicodeMap(firstChar, lastChar) {
-    this.firstChar = firstChar;
-    this.lastChar = lastChar;
-  }
-
-  IdentityToUnicodeMap.prototype = {
-    get length() {
-      return this.lastChar + 1 - this.firstChar;
-    },
-
-    forEach: function forEach(callback) {
-      for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {
-        callback(i, i);
-      }
-    },
-    has: function has(i) {
-      return this.firstChar <= i && i <= this.lastChar;
-    },
-    get: function get(i) {
-      if (this.firstChar <= i && i <= this.lastChar) {
-        return String.fromCharCode(i);
-      }
-
-      return undefined;
-    },
-    charCodeOf: function charCodeOf(v) {
-      return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;
-    },
-    amend: function amend(map) {
-      (0, _util.unreachable)("Should not call amend()");
-    }
-  };
-  return IdentityToUnicodeMap;
-}();
-
-exports.IdentityToUnicodeMap = IdentityToUnicodeMap;
-
-var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {
-  function writeInt16(dest, offset, num) {
-    dest[offset] = num >> 8 & 0xff;
-    dest[offset + 1] = num & 0xff;
-  }
-
-  function writeInt32(dest, offset, num) {
-    dest[offset] = num >> 24 & 0xff;
-    dest[offset + 1] = num >> 16 & 0xff;
-    dest[offset + 2] = num >> 8 & 0xff;
-    dest[offset + 3] = num & 0xff;
-  }
-
-  function writeData(dest, offset, data) {
-    var i, ii;
-
-    if (data instanceof Uint8Array) {
-      dest.set(data, offset);
-    } else if (typeof data === "string") {
-      for (i = 0, ii = data.length; i < ii; i++) {
-        dest[offset++] = data.charCodeAt(i) & 0xff;
-      }
-    } else {
-      for (i = 0, ii = data.length; i < ii; i++) {
-        dest[offset++] = data[i] & 0xff;
-      }
-    }
-  }
-
-  function OpenTypeFileBuilder(sfnt) {
-    this.sfnt = sfnt;
-    this.tables = Object.create(null);
-  }
-
-  OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {
-    var maxPower2 = 1,
-        log2 = 0;
-
-    while ((maxPower2 ^ entriesCount) > maxPower2) {
-      maxPower2 <<= 1;
-      log2++;
-    }
-
-    var searchRange = maxPower2 * entrySize;
-    return {
-      range: searchRange,
-      entry: log2,
-      rangeShift: entrySize * entriesCount - searchRange
-    };
-  };
-
-  var OTF_HEADER_SIZE = 12;
-  var OTF_TABLE_ENTRY_SIZE = 16;
-  OpenTypeFileBuilder.prototype = {
-    toArray: function OpenTypeFileBuilder_toArray() {
-      var sfnt = this.sfnt;
-      var tables = this.tables;
-      var tablesNames = Object.keys(tables);
-      tablesNames.sort();
-      var numTables = tablesNames.length;
-      var i, j, jj, table, tableName;
-      var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;
-      var tableOffsets = [offset];
-
-      for (i = 0; i < numTables; i++) {
-        table = tables[tablesNames[i]];
-        var paddedLength = (table.length + 3 & ~3) >>> 0;
-        offset += paddedLength;
-        tableOffsets.push(offset);
-      }
-
-      var file = new Uint8Array(offset);
-
-      for (i = 0; i < numTables; i++) {
-        table = tables[tablesNames[i]];
-        writeData(file, tableOffsets[i], table);
-      }
-
-      if (sfnt === "true") {
-        sfnt = (0, _util.string32)(0x00010000);
-      }
-
-      file[0] = sfnt.charCodeAt(0) & 0xff;
-      file[1] = sfnt.charCodeAt(1) & 0xff;
-      file[2] = sfnt.charCodeAt(2) & 0xff;
-      file[3] = sfnt.charCodeAt(3) & 0xff;
-      writeInt16(file, 4, numTables);
-      var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);
-      writeInt16(file, 6, searchParams.range);
-      writeInt16(file, 8, searchParams.entry);
-      writeInt16(file, 10, searchParams.rangeShift);
-      offset = OTF_HEADER_SIZE;
-
-      for (i = 0; i < numTables; i++) {
-        tableName = tablesNames[i];
-        file[offset] = tableName.charCodeAt(0) & 0xff;
-        file[offset + 1] = tableName.charCodeAt(1) & 0xff;
-        file[offset + 2] = tableName.charCodeAt(2) & 0xff;
-        file[offset + 3] = tableName.charCodeAt(3) & 0xff;
-        var checksum = 0;
-
-        for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {
-          var quad = (0, _core_utils.readUint32)(file, j);
-          checksum = checksum + quad >>> 0;
-        }
-
-        writeInt32(file, offset + 4, checksum);
-        writeInt32(file, offset + 8, tableOffsets[i]);
-        writeInt32(file, offset + 12, tables[tableName].length);
-        offset += OTF_TABLE_ENTRY_SIZE;
-      }
-
-      return file;
-    },
-    addTable: function OpenTypeFileBuilder_addTable(tag, data) {
-      if (tag in this.tables) {
-        throw new Error("Table " + tag + " already exists");
-      }
-
-      this.tables[tag] = data;
-    }
-  };
-  return OpenTypeFileBuilder;
-}();
-
-var Font = function FontClosure() {
-  function Font(name, file, properties) {
-    var charCode;
-    this.name = name;
-    this.loadedName = properties.loadedName;
-    this.isType3Font = properties.isType3Font;
-    this.sizes = [];
-    this.missingFile = false;
-    this.glyphCache = Object.create(null);
-    this.isSerifFont = !!(properties.flags & FontFlags.Serif);
-    this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);
-    this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);
-    var type = properties.type;
-    var subtype = properties.subtype;
-    this.type = type;
-    this.subtype = subtype;
-    var fallbackName = "sans-serif";
-
-    if (this.isMonospace) {
-      fallbackName = "monospace";
-    } else if (this.isSerifFont) {
-      fallbackName = "serif";
-    }
-
-    this.fallbackName = fallbackName;
-    this.differences = properties.differences;
-    this.widths = properties.widths;
-    this.defaultWidth = properties.defaultWidth;
-    this.composite = properties.composite;
-    this.wideChars = properties.wideChars;
-    this.cMap = properties.cMap;
-    this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;
-    this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;
-    this.fontMatrix = properties.fontMatrix;
-    this.bbox = properties.bbox;
-    this.defaultEncoding = properties.defaultEncoding;
-    this.toUnicode = properties.toUnicode;
-    this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();
-    this.toFontChar = [];
-
-    if (properties.type === "Type3") {
-      for (charCode = 0; charCode < 256; charCode++) {
-        this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];
-      }
-
-      this.fontType = _util.FontType.TYPE3;
-      return;
-    }
-
-    this.cidEncoding = properties.cidEncoding;
-    this.vertical = properties.vertical;
-
-    if (this.vertical) {
-      this.vmetrics = properties.vmetrics;
-      this.defaultVMetrics = properties.defaultVMetrics;
-    }
-
-    if (!file || file.isEmpty) {
-      if (file) {
-        (0, _util.warn)('Font file is empty in "' + name + '" (' + this.loadedName + ")");
-      }
-
-      this.fallbackToSystemFont();
-      return;
-    }
-
-    var _getFontFileType = getFontFileType(file, properties);
-
-    var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);
-
-    type = _getFontFileType2[0];
-    subtype = _getFontFileType2[1];
-
-    if (type !== this.type || subtype !== this.subtype) {
-      (0, _util.info)("Inconsistent font file Type/SubType, expected: " + "".concat(this.type, "/").concat(this.subtype, " but found: ").concat(type, "/").concat(subtype, "."));
-    }
-
-    try {
-      var data;
-
-      switch (type) {
-        case "MMType1":
-          (0, _util.info)("MMType1 font (" + name + "), falling back to Type1.");
-
-        case "Type1":
-        case "CIDFontType0":
-          this.mimetype = "font/opentype";
-          var cff = subtype === "Type1C" || subtype === "CIDFontType0C" ? new CFFFont(file, properties) : new Type1Font(name, file, properties);
-          adjustWidths(properties);
-          data = this.convert(name, cff, properties);
-          break;
-
-        case "OpenType":
-        case "TrueType":
-        case "CIDFontType2":
-          this.mimetype = "font/opentype";
-          data = this.checkAndRepair(name, file, properties);
-
-          if (this.isOpenType) {
-            adjustWidths(properties);
-            type = "OpenType";
-          }
-
-          break;
-
-        default:
-          throw new _util.FormatError("Font ".concat(type, " is not supported"));
-      }
-    } catch (e) {
-      (0, _util.warn)(e);
-      this.fallbackToSystemFont();
-      return;
-    }
-
-    this.data = data;
-    this.fontType = getFontType(type, subtype);
-    this.fontMatrix = properties.fontMatrix;
-    this.widths = properties.widths;
-    this.defaultWidth = properties.defaultWidth;
-    this.toUnicode = properties.toUnicode;
-    this.encoding = properties.baseEncoding;
-    this.seacMap = properties.seacMap;
-  }
-
-  Font.getFontID = function () {
-    var ID = 1;
-    return function Font_getFontID() {
-      return String(ID++);
-    };
-  }();
-
-  function int16(b0, b1) {
-    return (b0 << 8) + b1;
-  }
-
-  function writeSignedInt16(bytes, index, value) {
-    bytes[index + 1] = value;
-    bytes[index] = value >>> 8;
-  }
-
-  function signedInt16(b0, b1) {
-    var value = (b0 << 8) + b1;
-    return value & 1 << 15 ? value - 0x10000 : value;
-  }
-
-  function int32(b0, b1, b2, b3) {
-    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;
-  }
-
-  function string16(value) {
-    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);
-  }
-
-  function safeString16(value) {
-    if (value > 0x7fff) {
-      value = 0x7fff;
-    } else if (value < -0x8000) {
-      value = -0x8000;
-    }
-
-    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);
-  }
-
-  function isTrueTypeFile(file) {
-    var header = file.peekBytes(4);
-    return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === "true";
-  }
-
-  function isTrueTypeCollectionFile(file) {
-    var header = file.peekBytes(4);
-    return (0, _util.bytesToString)(header) === "ttcf";
-  }
-
-  function isOpenTypeFile(file) {
-    var header = file.peekBytes(4);
-    return (0, _util.bytesToString)(header) === "OTTO";
-  }
-
-  function isType1File(file) {
-    var header = file.peekBytes(2);
-
-    if (header[0] === 0x25 && header[1] === 0x21) {
-      return true;
-    }
-
-    if (header[0] === 0x80 && header[1] === 0x01) {
-      return true;
-    }
-
-    return false;
-  }
-
-  function isCFFFile(file) {
-    var header = file.peekBytes(4);
-
-    if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {
-      return true;
-    }
-
-    return false;
-  }
-
-  function getFontFileType(file, _ref) {
-    var type = _ref.type,
-        subtype = _ref.subtype,
-        composite = _ref.composite;
-    var fileType, fileSubtype;
-
-    if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {
-      if (composite) {
-        fileType = "CIDFontType2";
-      } else {
-        fileType = "TrueType";
-      }
-    } else if (isOpenTypeFile(file)) {
-      if (composite) {
-        fileType = "CIDFontType2";
-      } else {
-        fileType = "OpenType";
-      }
-    } else if (isType1File(file)) {
-      if (composite) {
-        fileType = "CIDFontType0";
-      } else {
-        fileType = type === "MMType1" ? "MMType1" : "Type1";
-      }
-    } else if (isCFFFile(file)) {
-      if (composite) {
-        fileType = "CIDFontType0";
-        fileSubtype = "CIDFontType0C";
-      } else {
-        fileType = type === "MMType1" ? "MMType1" : "Type1";
-        fileSubtype = "Type1C";
-      }
-    } else {
-      (0, _util.warn)("getFontFileType: Unable to detect correct font file Type/Subtype.");
-      fileType = type;
-      fileSubtype = subtype;
-    }
-
-    return [fileType, fileSubtype];
-  }
-
-  function buildToFontChar(encoding, glyphsUnicodeMap, differences) {
-    var toFontChar = [],
-        unicode;
-
-    for (var i = 0, ii = encoding.length; i < ii; i++) {
-      unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);
-
-      if (unicode !== -1) {
-        toFontChar[i] = unicode;
-      }
-    }
-
-    for (var charCode in differences) {
-      unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);
-
-      if (unicode !== -1) {
-        toFontChar[+charCode] = unicode;
-      }
-    }
-
-    return toFontChar;
-  }
-
-  function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {
-    var newMap = Object.create(null);
-    var toFontChar = [];
-    var privateUseAreaIndex = 0;
-    var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];
-    var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];
-
-    for (var originalCharCode in charCodeToGlyphId) {
-      originalCharCode |= 0;
-      var glyphId = charCodeToGlyphId[originalCharCode];
-
-      if (!hasGlyph(glyphId)) {
-        continue;
-      }
-
-      if (nextAvailableFontCharCode > privateUseOffetEnd) {
-        privateUseAreaIndex++;
-
-        if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {
-          (0, _util.warn)("Ran out of space in font private use area.");
-          break;
-        }
-
-        nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];
-        privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];
-      }
-
-      var fontCharCode = nextAvailableFontCharCode++;
-
-      if (glyphId === 0) {
-        glyphId = newGlyphZeroId;
-      }
-
-      newMap[fontCharCode] = glyphId;
-      toFontChar[originalCharCode] = fontCharCode;
-    }
-
-    return {
-      toFontChar: toFontChar,
-      charCodeToGlyphId: newMap,
-      nextAvailableFontCharCode: nextAvailableFontCharCode
-    };
-  }
-
-  function getRanges(glyphs, numGlyphs) {
-    var codes = [];
-
-    for (var charCode in glyphs) {
-      if (glyphs[charCode] >= numGlyphs) {
-        continue;
-      }
-
-      codes.push({
-        fontCharCode: charCode | 0,
-        glyphId: glyphs[charCode]
-      });
-    }
-
-    if (codes.length === 0) {
-      codes.push({
-        fontCharCode: 0,
-        glyphId: 0
-      });
-    }
-
-    codes.sort(function fontGetRangesSort(a, b) {
-      return a.fontCharCode - b.fontCharCode;
-    });
-    var ranges = [];
-    var length = codes.length;
-
-    for (var n = 0; n < length;) {
-      var start = codes[n].fontCharCode;
-      var codeIndices = [codes[n].glyphId];
-      ++n;
-      var end = start;
-
-      while (n < length && end + 1 === codes[n].fontCharCode) {
-        codeIndices.push(codes[n].glyphId);
-        ++end;
-        ++n;
-
-        if (end === 0xffff) {
-          break;
-        }
-      }
-
-      ranges.push([start, end, codeIndices]);
-    }
-
-    return ranges;
-  }
-
-  function createCmapTable(glyphs, numGlyphs) {
-    var ranges = getRanges(glyphs, numGlyphs);
-    var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;
-    var cmap = "\x00\x00" + string16(numTables) + "\x00\x03" + "\x00\x01" + (0, _util.string32)(4 + numTables * 8);
-    var i, ii, j, jj;
-
-    for (i = ranges.length - 1; i >= 0; --i) {
-      if (ranges[i][0] <= 0xffff) {
-        break;
-      }
-    }
-
-    var bmpLength = i + 1;
-
-    if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {
-      ranges[i][1] = 0xfffe;
-    }
-
-    var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;
-    var segCount = bmpLength + trailingRangesCount;
-    var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);
-    var startCount = "";
-    var endCount = "";
-    var idDeltas = "";
-    var idRangeOffsets = "";
-    var glyphsIds = "";
-    var bias = 0;
-    var range, start, end, codes;
-
-    for (i = 0, ii = bmpLength; i < ii; i++) {
-      range = ranges[i];
-      start = range[0];
-      end = range[1];
-      startCount += string16(start);
-      endCount += string16(end);
-      codes = range[2];
-      var contiguous = true;
-
-      for (j = 1, jj = codes.length; j < jj; ++j) {
-        if (codes[j] !== codes[j - 1] + 1) {
-          contiguous = false;
-          break;
-        }
-      }
-
-      if (!contiguous) {
-        var offset = (segCount - i) * 2 + bias * 2;
-        bias += end - start + 1;
-        idDeltas += string16(0);
-        idRangeOffsets += string16(offset);
-
-        for (j = 0, jj = codes.length; j < jj; ++j) {
-          glyphsIds += string16(codes[j]);
-        }
-      } else {
-        var startCode = codes[0];
-        idDeltas += string16(startCode - start & 0xffff);
-        idRangeOffsets += string16(0);
-      }
-    }
-
-    if (trailingRangesCount > 0) {
-      endCount += "\xFF\xFF";
-      startCount += "\xFF\xFF";
-      idDeltas += "\x00\x01";
-      idRangeOffsets += "\x00\x00";
-    }
-
-    var format314 = "\x00\x00" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + "\x00\x00" + startCount + idDeltas + idRangeOffsets + glyphsIds;
-    var format31012 = "";
-    var header31012 = "";
-
-    if (numTables > 1) {
-      cmap += "\x00\x03" + "\x00\x0A" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);
-      format31012 = "";
-
-      for (i = 0, ii = ranges.length; i < ii; i++) {
-        range = ranges[i];
-        start = range[0];
-        codes = range[2];
-        var code = codes[0];
-
-        for (j = 1, jj = codes.length; j < jj; ++j) {
-          if (codes[j] !== codes[j - 1] + 1) {
-            end = range[0] + j - 1;
-            format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);
-            start = end + 1;
-            code = codes[j];
-          }
-        }
-
-        format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);
-      }
-
-      header31012 = "\x00\x0C" + "\x00\x00" + (0, _util.string32)(format31012.length + 16) + "\x00\x00\x00\x00" + (0, _util.string32)(format31012.length / 12);
-    }
-
-    return cmap + "\x00\x04" + string16(format314.length + 4) + format314 + header31012 + format31012;
-  }
-
-  function validateOS2Table(os2) {
-    var stream = new _stream.Stream(os2.data);
-    var version = stream.getUint16();
-    stream.getBytes(60);
-    var selection = stream.getUint16();
-
-    if (version < 4 && selection & 0x0300) {
-      return false;
-    }
-
-    var firstChar = stream.getUint16();
-    var lastChar = stream.getUint16();
-
-    if (firstChar > lastChar) {
-      return false;
-    }
-
-    stream.getBytes(6);
-    var usWinAscent = stream.getUint16();
-
-    if (usWinAscent === 0) {
-      return false;
-    }
-
-    os2.data[8] = os2.data[9] = 0;
-    return true;
-  }
-
-  function createOS2Table(properties, charstrings, override) {
-    override = override || {
-      unitsPerEm: 0,
-      yMax: 0,
-      yMin: 0,
-      ascent: 0,
-      descent: 0
-    };
-    var ulUnicodeRange1 = 0;
-    var ulUnicodeRange2 = 0;
-    var ulUnicodeRange3 = 0;
-    var ulUnicodeRange4 = 0;
-    var firstCharIndex = null;
-    var lastCharIndex = 0;
-
-    if (charstrings) {
-      for (var code in charstrings) {
-        code |= 0;
-
-        if (firstCharIndex > code || !firstCharIndex) {
-          firstCharIndex = code;
-        }
-
-        if (lastCharIndex < code) {
-          lastCharIndex = code;
-        }
-
-        var position = (0, _unicode.getUnicodeRangeFor)(code);
-
-        if (position < 32) {
-          ulUnicodeRange1 |= 1 << position;
-        } else if (position < 64) {
-          ulUnicodeRange2 |= 1 << position - 32;
-        } else if (position < 96) {
-          ulUnicodeRange3 |= 1 << position - 64;
-        } else if (position < 123) {
-          ulUnicodeRange4 |= 1 << position - 96;
-        } else {
-          throw new _util.FormatError("Unicode ranges Bits > 123 are reserved for internal usage");
-        }
-      }
-
-      if (lastCharIndex > 0xffff) {
-        lastCharIndex = 0xffff;
-      }
-    } else {
-      firstCharIndex = 0;
-      lastCharIndex = 255;
-    }
-
-    var bbox = properties.bbox || [0, 0, 0, 0];
-    var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];
-    var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;
-    var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));
-    var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));
-
-    if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {
-      typoDescent = -typoDescent;
-    }
-
-    var winAscent = override.yMax || typoAscent;
-    var winDescent = -override.yMin || -typoDescent;
-    return "\x00\x03" + "\x02\x24" + "\x01\xF4" + "\x00\x05" + "\x00\x00" + "\x02\x8A" + "\x02\xBB" + "\x00\x00" + "\x00\x8C" + "\x02\x8A" + "\x02\xBB" + "\x00\x00" + "\x01\xDF" + "\x00\x31" + "\x01\x02" + "\x00\x00" + "\x00\x00\x06" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + "\x00\x00\x00\x00\x00\x00" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + "\x2A\x32\x31\x2A" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + "\x00\x64" + string16(winAscent) + string16(winDescent) + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + "\x00\x03";
-  }
-
-  function createPostTable(properties) {
-    var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));
-    return "\x00\x03\x00\x00" + (0, _util.string32)(angle) + "\x00\x00" + "\x00\x00" + (0, _util.string32)(properties.fixedPitch) + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00";
-  }
-
-  function createNameTable(name, proto) {
-    if (!proto) {
-      proto = [[], []];
-    }
-
-    var strings = [proto[0][0] || "Original licence", proto[0][1] || name, proto[0][2] || "Unknown", proto[0][3] || "uniqueID", proto[0][4] || name, proto[0][5] || "Version 0.11", proto[0][6] || "", proto[0][7] || "Unknown", proto[0][8] || "Unknown", proto[0][9] || "Unknown"];
-    var stringsUnicode = [];
-    var i, ii, j, jj, str;
-
-    for (i = 0, ii = strings.length; i < ii; i++) {
-      str = proto[1][i] || strings[i];
-      var strBufUnicode = [];
-
-      for (j = 0, jj = str.length; j < jj; j++) {
-        strBufUnicode.push(string16(str.charCodeAt(j)));
-      }
-
-      stringsUnicode.push(strBufUnicode.join(""));
-    }
-
-    var names = [strings, stringsUnicode];
-    var platforms = ["\x00\x01", "\x00\x03"];
-    var encodings = ["\x00\x00", "\x00\x01"];
-    var languages = ["\x00\x00", "\x04\x09"];
-    var namesRecordCount = strings.length * platforms.length;
-    var nameTable = "\x00\x00" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);
-    var strOffset = 0;
-
-    for (i = 0, ii = platforms.length; i < ii; i++) {
-      var strs = names[i];
-
-      for (j = 0, jj = strs.length; j < jj; j++) {
-        str = strs[j];
-        var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);
-        nameTable += nameRecord;
-        strOffset += str.length;
-      }
-    }
-
-    nameTable += strings.join("") + stringsUnicode.join("");
-    return nameTable;
-  }
-
-  Font.prototype = {
-    name: null,
-    font: null,
-    mimetype: null,
-    encoding: null,
-    disableFontFace: false,
-
-    get renderer() {
-      var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);
-
-      return (0, _util.shadow)(this, "renderer", renderer);
-    },
-
-    exportData: function Font_exportData() {
-      var data = {};
-
-      for (var i in this) {
-        if (this.hasOwnProperty(i)) {
-          data[i] = this[i];
-        }
-      }
-
-      return data;
-    },
-    fallbackToSystemFont: function Font_fallbackToSystemFont() {
-      var _this = this;
-
-      this.missingFile = true;
-      var charCode, unicode;
-      var name = this.name;
-      var type = this.type;
-      var subtype = this.subtype;
-      var fontName = name.replace(/[,_]/g, "-").replace(/\s/g, "");
-      var stdFontMap = (0, _standard_fonts.getStdFontMap)(),
-          nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();
-      var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);
-      fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;
-      this.bold = fontName.search(/bold/gi) !== -1;
-      this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;
-      this.black = name.search(/Black/g) !== -1;
-      this.remeasure = Object.keys(this.widths).length > 0;
-
-      if (isStandardFont && type === "CIDFontType2" && this.cidEncoding.startsWith("Identity-")) {
-        var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();
-        var map = [];
-
-        for (charCode in GlyphMapForStandardFonts) {
-          map[+charCode] = GlyphMapForStandardFonts[charCode];
-        }
-
-        if (/Arial-?Black/i.test(name)) {
-          var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();
-
-          for (charCode in SupplementalGlyphMapForArialBlack) {
-            map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];
-          }
-        } else if (/Calibri/i.test(name)) {
-          var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();
-
-          for (charCode in SupplementalGlyphMapForCalibri) {
-            map[+charCode] = SupplementalGlyphMapForCalibri[charCode];
-          }
-        }
-
-        var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;
-
-        if (!isIdentityUnicode) {
-          this.toUnicode.forEach(function (charCode, unicodeCharCode) {
-            map[+charCode] = unicodeCharCode;
-          });
-        }
-
-        this.toFontChar = map;
-        this.toUnicode = new ToUnicodeMap(map);
-      } else if (/Symbol/i.test(fontName)) {
-        this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);
-      } else if (/Dingbats/i.test(fontName)) {
-        if (/Wingdings/i.test(name)) {
-          (0, _util.warn)("Non-embedded Wingdings font, falling back to ZapfDingbats.");
-        }
-
-        this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);
-      } else if (isStandardFont) {
-        this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);
-      } else {
-        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-        var _map = [];
-        this.toUnicode.forEach(function (charCode, unicodeCharCode) {
-          if (!_this.composite) {
-            var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];
-            unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);
-
-            if (unicode !== -1) {
-              unicodeCharCode = unicode;
-            }
-          }
-
-          _map[+charCode] = unicodeCharCode;
-        });
-
-        if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {
-          if (/Verdana/i.test(name)) {
-            var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();
-
-            for (charCode in _GlyphMapForStandardFonts) {
-              _map[+charCode] = _GlyphMapForStandardFonts[charCode];
-            }
-          }
-        }
-
-        this.toFontChar = _map;
-      }
-
-      this.loadedName = fontName.split("-")[0];
-      this.fontType = getFontType(type, subtype);
-    },
-    checkAndRepair: function Font_checkAndRepair(name, font, properties) {
-      var VALID_TABLES = ["OS/2", "cmap", "head", "hhea", "hmtx", "maxp", "name", "post", "loca", "glyf", "fpgm", "prep", "cvt ", "CFF "];
-
-      function readTables(file, numTables) {
-        var tables = Object.create(null);
-        tables["OS/2"] = null;
-        tables["cmap"] = null;
-        tables["head"] = null;
-        tables["hhea"] = null;
-        tables["hmtx"] = null;
-        tables["maxp"] = null;
-        tables["name"] = null;
-        tables["post"] = null;
-
-        for (var i = 0; i < numTables; i++) {
-          var table = readTableEntry(font);
-
-          if (!VALID_TABLES.includes(table.tag)) {
-            continue;
-          }
-
-          if (table.length === 0) {
-            continue;
-          }
-
-          tables[table.tag] = table;
-        }
-
-        return tables;
-      }
-
-      function readTableEntry(file) {
-        var tag = (0, _util.bytesToString)(file.getBytes(4));
-        var checksum = file.getInt32() >>> 0;
-        var offset = file.getInt32() >>> 0;
-        var length = file.getInt32() >>> 0;
-        var previousPosition = file.pos;
-        file.pos = file.start ? file.start : 0;
-        file.skip(offset);
-        var data = file.getBytes(length);
-        file.pos = previousPosition;
-
-        if (tag === "head") {
-          data[8] = data[9] = data[10] = data[11] = 0;
-          data[17] |= 0x20;
-        }
-
-        return {
-          tag: tag,
-          checksum: checksum,
-          length: length,
-          offset: offset,
-          data: data
-        };
-      }
-
-      function readOpenTypeHeader(ttf) {
-        return {
-          version: (0, _util.bytesToString)(ttf.getBytes(4)),
-          numTables: ttf.getUint16(),
-          searchRange: ttf.getUint16(),
-          entrySelector: ttf.getUint16(),
-          rangeShift: ttf.getUint16()
-        };
-      }
-
-      function readTrueTypeCollectionHeader(ttc) {
-        var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));
-        (0, _util.assert)(ttcTag === "ttcf", "Must be a TrueType Collection font.");
-        var majorVersion = ttc.getUint16();
-        var minorVersion = ttc.getUint16();
-        var numFonts = ttc.getInt32() >>> 0;
-        var offsetTable = [];
-
-        for (var i = 0; i < numFonts; i++) {
-          offsetTable.push(ttc.getInt32() >>> 0);
-        }
-
-        var header = {
-          ttcTag: ttcTag,
-          majorVersion: majorVersion,
-          minorVersion: minorVersion,
-          numFonts: numFonts,
-          offsetTable: offsetTable
-        };
-
-        switch (majorVersion) {
-          case 1:
-            return header;
-
-          case 2:
-            header.dsigTag = ttc.getInt32() >>> 0;
-            header.dsigLength = ttc.getInt32() >>> 0;
-            header.dsigOffset = ttc.getInt32() >>> 0;
-            return header;
-        }
-
-        throw new _util.FormatError("Invalid TrueType Collection majorVersion: ".concat(majorVersion, "."));
-      }
-
-      function readTrueTypeCollectionData(ttc, fontName) {
-        var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),
-            numFonts = _readTrueTypeCollecti.numFonts,
-            offsetTable = _readTrueTypeCollecti.offsetTable;
-
-        for (var i = 0; i < numFonts; i++) {
-          ttc.pos = (ttc.start || 0) + offsetTable[i];
-          var potentialHeader = readOpenTypeHeader(ttc);
-          var potentialTables = readTables(ttc, potentialHeader.numTables);
-
-          if (!potentialTables["name"]) {
-            throw new _util.FormatError('TrueType Collection font must contain a "name" table.');
-          }
-
-          var nameTable = readNameTable(potentialTables["name"]);
-
-          for (var j = 0, jj = nameTable.length; j < jj; j++) {
-            for (var k = 0, kk = nameTable[j].length; k < kk; k++) {
-              var nameEntry = nameTable[j][k];
-
-              if (nameEntry && nameEntry.replace(/\s/g, "") === fontName) {
-                return {
-                  header: potentialHeader,
-                  tables: potentialTables
-                };
-              }
-            }
-          }
-        }
-
-        throw new _util.FormatError("TrueType Collection does not contain \"".concat(fontName, "\" font."));
-      }
-
-      function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {
-        if (!cmap) {
-          (0, _util.warn)("No cmap table available.");
-          return {
-            platformId: -1,
-            encodingId: -1,
-            mappings: [],
-            hasShortCmap: false
-          };
-        }
-
-        var segment;
-        var start = (font.start ? font.start : 0) + cmap.offset;
-        font.pos = start;
-        font.getUint16();
-        var numTables = font.getUint16();
-        var potentialTable;
-        var canBreak = false;
-
-        for (var i = 0; i < numTables; i++) {
-          var platformId = font.getUint16();
-          var encodingId = font.getUint16();
-          var offset = font.getInt32() >>> 0;
-          var useTable = false;
-
-          if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {
-            continue;
-          }
-
-          if (platformId === 0 && encodingId === 0) {
-            useTable = true;
-          } else if (platformId === 1 && encodingId === 0) {
-            useTable = true;
-          } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {
-            useTable = true;
-
-            if (!isSymbolicFont) {
-              canBreak = true;
-            }
-          } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {
-            useTable = true;
-            canBreak = true;
-          }
-
-          if (useTable) {
-            potentialTable = {
-              platformId: platformId,
-              encodingId: encodingId,
-              offset: offset
-            };
-          }
-
-          if (canBreak) {
-            break;
-          }
-        }
-
-        if (potentialTable) {
-          font.pos = start + potentialTable.offset;
-        }
-
-        if (!potentialTable || font.peekByte() === -1) {
-          (0, _util.warn)("Could not find a preferred cmap table.");
-          return {
-            platformId: -1,
-            encodingId: -1,
-            mappings: [],
-            hasShortCmap: false
-          };
-        }
-
-        var format = font.getUint16();
-        font.getUint16();
-        font.getUint16();
-        var hasShortCmap = false;
-        var mappings = [];
-        var j, glyphId;
-
-        if (format === 0) {
-          for (j = 0; j < 256; j++) {
-            var index = font.getByte();
-
-            if (!index) {
-              continue;
-            }
-
-            mappings.push({
-              charCode: j,
-              glyphId: index
-            });
-          }
-
-          hasShortCmap = true;
-        } else if (format === 4) {
-          var segCount = font.getUint16() >> 1;
-          font.getBytes(6);
-          var segIndex,
-              segments = [];
-
-          for (segIndex = 0; segIndex < segCount; segIndex++) {
-            segments.push({
-              end: font.getUint16()
-            });
-          }
-
-          font.getUint16();
-
-          for (segIndex = 0; segIndex < segCount; segIndex++) {
-            segments[segIndex].start = font.getUint16();
-          }
-
-          for (segIndex = 0; segIndex < segCount; segIndex++) {
-            segments[segIndex].delta = font.getUint16();
-          }
-
-          var offsetsCount = 0;
-
-          for (segIndex = 0; segIndex < segCount; segIndex++) {
-            segment = segments[segIndex];
-            var rangeOffset = font.getUint16();
-
-            if (!rangeOffset) {
-              segment.offsetIndex = -1;
-              continue;
-            }
-
-            var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);
-            segment.offsetIndex = offsetIndex;
-            offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);
-          }
-
-          var offsets = [];
-
-          for (j = 0; j < offsetsCount; j++) {
-            offsets.push(font.getUint16());
-          }
-
-          for (segIndex = 0; segIndex < segCount; segIndex++) {
-            segment = segments[segIndex];
-            start = segment.start;
-            var end = segment.end;
-            var delta = segment.delta;
-            offsetIndex = segment.offsetIndex;
-
-            for (j = start; j <= end; j++) {
-              if (j === 0xffff) {
-                continue;
-              }
-
-              glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];
-              glyphId = glyphId + delta & 0xffff;
-              mappings.push({
-                charCode: j,
-                glyphId: glyphId
-              });
-            }
-          }
-        } else if (format === 6) {
-          var firstCode = font.getUint16();
-          var entryCount = font.getUint16();
-
-          for (j = 0; j < entryCount; j++) {
-            glyphId = font.getUint16();
-            var charCode = firstCode + j;
-            mappings.push({
-              charCode: charCode,
-              glyphId: glyphId
-            });
-          }
-        } else {
-          (0, _util.warn)("cmap table has unsupported format: " + format);
-          return {
-            platformId: -1,
-            encodingId: -1,
-            mappings: [],
-            hasShortCmap: false
-          };
-        }
-
-        mappings.sort(function (a, b) {
-          return a.charCode - b.charCode;
-        });
-
-        for (i = 1; i < mappings.length; i++) {
-          if (mappings[i - 1].charCode === mappings[i].charCode) {
-            mappings.splice(i, 1);
-            i--;
-          }
-        }
-
-        return {
-          platformId: potentialTable.platformId,
-          encodingId: potentialTable.encodingId,
-          mappings: mappings,
-          hasShortCmap: hasShortCmap
-        };
-      }
-
-      function sanitizeMetrics(font, header, metrics, numGlyphs, dupFirstEntry) {
-        if (!header) {
-          if (metrics) {
-            metrics.data = null;
-          }
-
-          return;
-        }
-
-        font.pos = (font.start ? font.start : 0) + header.offset;
-        font.pos += 4;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 2;
-        font.pos += 8;
-        font.pos += 2;
-        var numOfMetrics = font.getUint16();
-
-        if (numOfMetrics > numGlyphs) {
-          (0, _util.info)("The numOfMetrics (" + numOfMetrics + ") should not be " + "greater than the numGlyphs (" + numGlyphs + ")");
-          numOfMetrics = numGlyphs;
-          header.data[34] = (numOfMetrics & 0xff00) >> 8;
-          header.data[35] = numOfMetrics & 0x00ff;
-        }
-
-        var numOfSidebearings = numGlyphs - numOfMetrics;
-        var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);
-
-        if (numMissing > 0) {
-          var entries = new Uint8Array(metrics.length + numMissing * 2);
-          entries.set(metrics.data);
-
-          if (dupFirstEntry) {
-            entries[metrics.length] = metrics.data[2];
-            entries[metrics.length + 1] = metrics.data[3];
-          }
-
-          metrics.data = entries;
-        }
-      }
-
-      function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {
-        var glyphProfile = {
-          length: 0,
-          sizeOfInstructions: 0
-        };
-
-        if (sourceEnd - sourceStart <= 12) {
-          return glyphProfile;
-        }
-
-        var glyf = source.subarray(sourceStart, sourceEnd);
-        var contoursCount = signedInt16(glyf[0], glyf[1]);
-
-        if (contoursCount < 0) {
-          contoursCount = -1;
-          writeSignedInt16(glyf, 0, contoursCount);
-          dest.set(glyf, destStart);
-          glyphProfile.length = glyf.length;
-          return glyphProfile;
-        }
-
-        var i,
-            j = 10,
-            flagsCount = 0;
-
-        for (i = 0; i < contoursCount; i++) {
-          var endPoint = glyf[j] << 8 | glyf[j + 1];
-          flagsCount = endPoint + 1;
-          j += 2;
-        }
-
-        var instructionsStart = j;
-        var instructionsLength = glyf[j] << 8 | glyf[j + 1];
-        glyphProfile.sizeOfInstructions = instructionsLength;
-        j += 2 + instructionsLength;
-        var instructionsEnd = j;
-        var coordinatesLength = 0;
-
-        for (i = 0; i < flagsCount; i++) {
-          var flag = glyf[j++];
-
-          if (flag & 0xc0) {
-            glyf[j - 1] = flag & 0x3f;
-          }
-
-          var xLength = 2;
-
-          if (flag & 2) {
-            xLength = 1;
-          } else if (flag & 16) {
-            xLength = 0;
-          }
-
-          var yLength = 2;
-
-          if (flag & 4) {
-            yLength = 1;
-          } else if (flag & 32) {
-            yLength = 0;
-          }
-
-          var xyLength = xLength + yLength;
-          coordinatesLength += xyLength;
-
-          if (flag & 8) {
-            var repeat = glyf[j++];
-            i += repeat;
-            coordinatesLength += repeat * xyLength;
-          }
-        }
-
-        if (coordinatesLength === 0) {
-          return glyphProfile;
-        }
-
-        var glyphDataLength = j + coordinatesLength;
-
-        if (glyphDataLength > glyf.length) {
-          return glyphProfile;
-        }
-
-        if (!hintsValid && instructionsLength > 0) {
-          dest.set(glyf.subarray(0, instructionsStart), destStart);
-          dest.set([0, 0], destStart + instructionsStart);
-          dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);
-          glyphDataLength -= instructionsLength;
-
-          if (glyf.length - glyphDataLength > 3) {
-            glyphDataLength = glyphDataLength + 3 & ~3;
-          }
-
-          glyphProfile.length = glyphDataLength;
-          return glyphProfile;
-        }
-
-        if (glyf.length - glyphDataLength > 3) {
-          glyphDataLength = glyphDataLength + 3 & ~3;
-          dest.set(glyf.subarray(0, glyphDataLength), destStart);
-          glyphProfile.length = glyphDataLength;
-          return glyphProfile;
-        }
-
-        dest.set(glyf, destStart);
-        glyphProfile.length = glyf.length;
-        return glyphProfile;
-      }
-
-      function sanitizeHead(head, numGlyphs, locaLength) {
-        var data = head.data;
-        var version = int32(data[0], data[1], data[2], data[3]);
-
-        if (version >> 16 !== 1) {
-          (0, _util.info)("Attempting to fix invalid version in head table: " + version);
-          data[0] = 0;
-          data[1] = 1;
-          data[2] = 0;
-          data[3] = 0;
-        }
-
-        var indexToLocFormat = int16(data[50], data[51]);
-
-        if (indexToLocFormat < 0 || indexToLocFormat > 1) {
-          (0, _util.info)("Attempting to fix invalid indexToLocFormat in head table: " + indexToLocFormat);
-          var numGlyphsPlusOne = numGlyphs + 1;
-
-          if (locaLength === numGlyphsPlusOne << 1) {
-            data[50] = 0;
-            data[51] = 0;
-          } else if (locaLength === numGlyphsPlusOne << 2) {
-            data[50] = 0;
-            data[51] = 1;
-          } else {
-            throw new _util.FormatError("Could not fix indexToLocFormat: " + indexToLocFormat);
-          }
-        }
-      }
-
-      function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {
-        var itemSize, itemDecode, itemEncode;
-
-        if (isGlyphLocationsLong) {
-          itemSize = 4;
-
-          itemDecode = function fontItemDecodeLong(data, offset) {
-            return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];
-          };
-
-          itemEncode = function fontItemEncodeLong(data, offset, value) {
-            data[offset] = value >>> 24 & 0xff;
-            data[offset + 1] = value >> 16 & 0xff;
-            data[offset + 2] = value >> 8 & 0xff;
-            data[offset + 3] = value & 0xff;
-          };
-        } else {
-          itemSize = 2;
-
-          itemDecode = function fontItemDecode(data, offset) {
-            return data[offset] << 9 | data[offset + 1] << 1;
-          };
-
-          itemEncode = function fontItemEncode(data, offset, value) {
-            data[offset] = value >> 9 & 0xff;
-            data[offset + 1] = value >> 1 & 0xff;
-          };
-        }
-
-        var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;
-        var locaDataSize = itemSize * (1 + numGlyphsOut);
-        var locaData = new Uint8Array(locaDataSize);
-        locaData.set(loca.data.subarray(0, locaDataSize));
-        loca.data = locaData;
-        var oldGlyfData = glyf.data;
-        var oldGlyfDataLength = oldGlyfData.length;
-        var newGlyfData = new Uint8Array(oldGlyfDataLength);
-        var startOffset = itemDecode(locaData, 0);
-        var writeOffset = 0;
-        var missingGlyphs = Object.create(null);
-        itemEncode(locaData, 0, writeOffset);
-        var i, j;
-
-        for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {
-          var endOffset = itemDecode(locaData, j);
-
-          if (endOffset === 0) {
-            endOffset = startOffset;
-          }
-
-          if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {
-            endOffset = oldGlyfDataLength;
-          }
-
-          if (endOffset > oldGlyfDataLength) {
-            startOffset = endOffset;
-          }
-
-          var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);
-          var newLength = glyphProfile.length;
-
-          if (newLength === 0) {
-            missingGlyphs[i] = true;
-          }
-
-          if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {
-            maxSizeOfInstructions = glyphProfile.sizeOfInstructions;
-          }
-
-          writeOffset += newLength;
-          itemEncode(locaData, j, writeOffset);
-          startOffset = endOffset;
-        }
-
-        if (writeOffset === 0) {
-          var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);
-
-          for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {
-            itemEncode(locaData, j, simpleGlyph.length);
-          }
-
-          glyf.data = simpleGlyph;
-        } else if (dupFirstEntry) {
-          var firstEntryLength = itemDecode(locaData, itemSize);
-
-          if (newGlyfData.length > firstEntryLength + writeOffset) {
-            glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);
-          } else {
-            glyf.data = new Uint8Array(firstEntryLength + writeOffset);
-            glyf.data.set(newGlyfData.subarray(0, writeOffset));
-          }
-
-          glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);
-          itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);
-        } else {
-          glyf.data = newGlyfData.subarray(0, writeOffset);
-        }
-
-        return {
-          missingGlyphs: missingGlyphs,
-          maxSizeOfInstructions: maxSizeOfInstructions
-        };
-      }
-
-      function readPostScriptTable(post, properties, maxpNumGlyphs) {
-        var start = (font.start ? font.start : 0) + post.offset;
-        font.pos = start;
-        var length = post.length,
-            end = start + length;
-        var version = font.getInt32();
-        font.getBytes(28);
-        var glyphNames;
-        var valid = true;
-        var i;
-
-        switch (version) {
-          case 0x00010000:
-            glyphNames = MacStandardGlyphOrdering;
-            break;
-
-          case 0x00020000:
-            var numGlyphs = font.getUint16();
-
-            if (numGlyphs !== maxpNumGlyphs) {
-              valid = false;
-              break;
-            }
-
-            var glyphNameIndexes = [];
-
-            for (i = 0; i < numGlyphs; ++i) {
-              var index = font.getUint16();
-
-              if (index >= 32768) {
-                valid = false;
-                break;
-              }
-
-              glyphNameIndexes.push(index);
-            }
-
-            if (!valid) {
-              break;
-            }
-
-            var customNames = [];
-            var strBuf = [];
-
-            while (font.pos < end) {
-              var stringLength = font.getByte();
-              strBuf.length = stringLength;
-
-              for (i = 0; i < stringLength; ++i) {
-                strBuf[i] = String.fromCharCode(font.getByte());
-              }
-
-              customNames.push(strBuf.join(""));
-            }
-
-            glyphNames = [];
-
-            for (i = 0; i < numGlyphs; ++i) {
-              var j = glyphNameIndexes[i];
-
-              if (j < 258) {
-                glyphNames.push(MacStandardGlyphOrdering[j]);
-                continue;
-              }
-
-              glyphNames.push(customNames[j - 258]);
-            }
-
-            break;
-
-          case 0x00030000:
-            break;
-
-          default:
-            (0, _util.warn)("Unknown/unsupported post table version " + version);
-            valid = false;
-
-            if (properties.defaultEncoding) {
-              glyphNames = properties.defaultEncoding;
-            }
-
-            break;
-        }
-
-        properties.glyphNames = glyphNames;
-        return valid;
-      }
-
-      function readNameTable(nameTable) {
-        var start = (font.start ? font.start : 0) + nameTable.offset;
-        font.pos = start;
-        var names = [[], []];
-        var length = nameTable.length,
-            end = start + length;
-        var format = font.getUint16();
-        var FORMAT_0_HEADER_LENGTH = 6;
-
-        if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {
-          return names;
-        }
-
-        var numRecords = font.getUint16();
-        var stringsStart = font.getUint16();
-        var records = [];
-        var NAME_RECORD_LENGTH = 12;
-        var i, ii;
-
-        for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {
-          var r = {
-            platform: font.getUint16(),
-            encoding: font.getUint16(),
-            language: font.getUint16(),
-            name: font.getUint16(),
-            length: font.getUint16(),
-            offset: font.getUint16()
-          };
-
-          if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {
-            records.push(r);
-          }
-        }
-
-        for (i = 0, ii = records.length; i < ii; i++) {
-          var record = records[i];
-
-          if (record.length <= 0) {
-            continue;
-          }
-
-          var pos = start + stringsStart + record.offset;
-
-          if (pos + record.length > end) {
-            continue;
-          }
-
-          font.pos = pos;
-          var nameIndex = record.name;
-
-          if (record.encoding) {
-            var str = "";
-
-            for (var j = 0, jj = record.length; j < jj; j += 2) {
-              str += String.fromCharCode(font.getUint16());
-            }
-
-            names[1][nameIndex] = str;
-          } else {
-            names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));
-          }
-        }
-
-        return names;
-      }
-
-      var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];
-
-      function sanitizeTTProgram(table, ttContext) {
-        var data = table.data;
-        var i = 0,
-            j,
-            n,
-            b,
-            funcId,
-            pc,
-            lastEndf = 0,
-            lastDeff = 0;
-        var stack = [];
-        var callstack = [];
-        var functionsCalled = [];
-        var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;
-        var inFDEF = false,
-            ifLevel = 0,
-            inELSE = 0;
-
-        for (var ii = data.length; i < ii;) {
-          var op = data[i++];
-
-          if (op === 0x40) {
-            n = data[i++];
-
-            if (inFDEF || inELSE) {
-              i += n;
-            } else {
-              for (j = 0; j < n; j++) {
-                stack.push(data[i++]);
-              }
-            }
-          } else if (op === 0x41) {
-            n = data[i++];
-
-            if (inFDEF || inELSE) {
-              i += n * 2;
-            } else {
-              for (j = 0; j < n; j++) {
-                b = data[i++];
-                stack.push(b << 8 | data[i++]);
-              }
-            }
-          } else if ((op & 0xf8) === 0xb0) {
-            n = op - 0xb0 + 1;
-
-            if (inFDEF || inELSE) {
-              i += n;
-            } else {
-              for (j = 0; j < n; j++) {
-                stack.push(data[i++]);
-              }
-            }
-          } else if ((op & 0xf8) === 0xb8) {
-            n = op - 0xb8 + 1;
-
-            if (inFDEF || inELSE) {
-              i += n * 2;
-            } else {
-              for (j = 0; j < n; j++) {
-                b = data[i++];
-                stack.push(b << 8 | data[i++]);
-              }
-            }
-          } else if (op === 0x2b && !tooComplexToFollowFunctions) {
-            if (!inFDEF && !inELSE) {
-              funcId = stack[stack.length - 1];
-
-              if (isNaN(funcId)) {
-                (0, _util.info)("TT: CALL empty stack (or invalid entry).");
-              } else {
-                ttContext.functionsUsed[funcId] = true;
-
-                if (funcId in ttContext.functionsStackDeltas) {
-                  var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];
-
-                  if (newStackLength < 0) {
-                    (0, _util.warn)("TT: CALL invalid functions stack delta.");
-                    ttContext.hintsValid = false;
-                    return;
-                  }
-
-                  stack.length = newStackLength;
-                } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {
-                  callstack.push({
-                    data: data,
-                    i: i,
-                    stackTop: stack.length - 1
-                  });
-                  functionsCalled.push(funcId);
-                  pc = ttContext.functionsDefined[funcId];
-
-                  if (!pc) {
-                    (0, _util.warn)("TT: CALL non-existent function");
-                    ttContext.hintsValid = false;
-                    return;
-                  }
-
-                  data = pc.data;
-                  i = pc.i;
-                }
-              }
-            }
-          } else if (op === 0x2c && !tooComplexToFollowFunctions) {
-            if (inFDEF || inELSE) {
-              (0, _util.warn)("TT: nested FDEFs not allowed");
-              tooComplexToFollowFunctions = true;
-            }
-
-            inFDEF = true;
-            lastDeff = i;
-            funcId = stack.pop();
-            ttContext.functionsDefined[funcId] = {
-              data: data,
-              i: i
-            };
-          } else if (op === 0x2d) {
-            if (inFDEF) {
-              inFDEF = false;
-              lastEndf = i;
-            } else {
-              pc = callstack.pop();
-
-              if (!pc) {
-                (0, _util.warn)("TT: ENDF bad stack");
-                ttContext.hintsValid = false;
-                return;
-              }
-
-              funcId = functionsCalled.pop();
-              data = pc.data;
-              i = pc.i;
-              ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;
-            }
-          } else if (op === 0x89) {
-            if (inFDEF || inELSE) {
-              (0, _util.warn)("TT: nested IDEFs not allowed");
-              tooComplexToFollowFunctions = true;
-            }
-
-            inFDEF = true;
-            lastDeff = i;
-          } else if (op === 0x58) {
-            ++ifLevel;
-          } else if (op === 0x1b) {
-            inELSE = ifLevel;
-          } else if (op === 0x59) {
-            if (inELSE === ifLevel) {
-              inELSE = 0;
-            }
-
-            --ifLevel;
-          } else if (op === 0x1c) {
-            if (!inFDEF && !inELSE) {
-              var offset = stack[stack.length - 1];
-
-              if (offset > 0) {
-                i += offset - 1;
-              }
-            }
-          }
-
-          if (!inFDEF && !inELSE) {
-            var stackDelta = 0;
-
-            if (op <= 0x8e) {
-              stackDelta = TTOpsStackDeltas[op];
-            } else if (op >= 0xc0 && op <= 0xdf) {
-              stackDelta = -1;
-            } else if (op >= 0xe0) {
-              stackDelta = -2;
-            }
-
-            if (op >= 0x71 && op <= 0x75) {
-              n = stack.pop();
-
-              if (!isNaN(n)) {
-                stackDelta = -n * 2;
-              }
-            }
-
-            while (stackDelta < 0 && stack.length > 0) {
-              stack.pop();
-              stackDelta++;
-            }
-
-            while (stackDelta > 0) {
-              stack.push(NaN);
-              stackDelta--;
-            }
-          }
-        }
-
-        ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;
-        var content = [data];
-
-        if (i > data.length) {
-          content.push(new Uint8Array(i - data.length));
-        }
-
-        if (lastDeff > lastEndf) {
-          (0, _util.warn)("TT: complementing a missing function tail");
-          content.push(new Uint8Array([0x22, 0x2d]));
-        }
-
-        foldTTTable(table, content);
-      }
-
-      function checkInvalidFunctions(ttContext, maxFunctionDefs) {
-        if (ttContext.tooComplexToFollowFunctions) {
-          return;
-        }
-
-        if (ttContext.functionsDefined.length > maxFunctionDefs) {
-          (0, _util.warn)("TT: more functions defined than expected");
-          ttContext.hintsValid = false;
-          return;
-        }
-
-        for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {
-          if (j > maxFunctionDefs) {
-            (0, _util.warn)("TT: invalid function id: " + j);
-            ttContext.hintsValid = false;
-            return;
-          }
-
-          if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {
-            (0, _util.warn)("TT: undefined function: " + j);
-            ttContext.hintsValid = false;
-            return;
-          }
-        }
-      }
-
-      function foldTTTable(table, content) {
-        if (content.length > 1) {
-          var newLength = 0;
-          var j, jj;
-
-          for (j = 0, jj = content.length; j < jj; j++) {
-            newLength += content[j].length;
-          }
-
-          newLength = newLength + 3 & ~3;
-          var result = new Uint8Array(newLength);
-          var pos = 0;
-
-          for (j = 0, jj = content.length; j < jj; j++) {
-            result.set(content[j], pos);
-            pos += content[j].length;
-          }
-
-          table.data = result;
-          table.length = newLength;
-        }
-      }
-
-      function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {
-        var ttContext = {
-          functionsDefined: [],
-          functionsUsed: [],
-          functionsStackDeltas: [],
-          tooComplexToFollowFunctions: false,
-          hintsValid: true
-        };
-
-        if (fpgm) {
-          sanitizeTTProgram(fpgm, ttContext);
-        }
-
-        if (prep) {
-          sanitizeTTProgram(prep, ttContext);
-        }
-
-        if (fpgm) {
-          checkInvalidFunctions(ttContext, maxFunctionDefs);
-        }
-
-        if (cvt && cvt.length & 1) {
-          var cvtData = new Uint8Array(cvt.length + 1);
-          cvtData.set(cvt.data);
-          cvt.data = cvtData;
-        }
-
-        return ttContext.hintsValid;
-      }
-
-      font = new _stream.Stream(new Uint8Array(font.getBytes()));
-      var header, tables;
-
-      if (isTrueTypeCollectionFile(font)) {
-        var ttcData = readTrueTypeCollectionData(font, this.name);
-        header = ttcData.header;
-        tables = ttcData.tables;
-      } else {
-        header = readOpenTypeHeader(font);
-        tables = readTables(font, header.numTables);
-      }
-
-      var cff, cffFile;
-      var isTrueType = !tables["CFF "];
-
-      if (!isTrueType) {
-        var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));
-
-        if (header.version === "OTTO" && !isComposite || !tables["head"] || !tables["hhea"] || !tables["maxp"] || !tables["post"]) {
-          cffFile = new _stream.Stream(tables["CFF "].data);
-          cff = new CFFFont(cffFile, properties);
-          adjustWidths(properties);
-          return this.convert(name, cff, properties);
-        }
-
-        delete tables["glyf"];
-        delete tables["loca"];
-        delete tables["fpgm"];
-        delete tables["prep"];
-        delete tables["cvt "];
-        this.isOpenType = true;
-      } else {
-        if (!tables["loca"]) {
-          throw new _util.FormatError('Required "loca" table is not found');
-        }
-
-        if (!tables["glyf"]) {
-          (0, _util.warn)('Required "glyf" table is not found -- trying to recover.');
-          tables["glyf"] = {
-            tag: "glyf",
-            data: new Uint8Array(0)
-          };
-        }
-
-        this.isOpenType = false;
-      }
-
-      if (!tables["maxp"]) {
-        throw new _util.FormatError('Required "maxp" table is not found');
-      }
-
-      font.pos = (font.start || 0) + tables["maxp"].offset;
-      var version = font.getInt32();
-      var numGlyphs = font.getUint16();
-      var numGlyphsOut = numGlyphs + 1;
-      var dupFirstEntry = true;
-
-      if (numGlyphsOut > 0xffff) {
-        dupFirstEntry = false;
-        numGlyphsOut = numGlyphs;
-        (0, _util.warn)("Not enough space in glyfs to duplicate first glyph.");
-      }
-
-      var maxFunctionDefs = 0;
-      var maxSizeOfInstructions = 0;
-
-      if (version >= 0x00010000 && tables["maxp"].length >= 22) {
-        font.pos += 8;
-        var maxZones = font.getUint16();
-
-        if (maxZones > 2) {
-          tables["maxp"].data[14] = 0;
-          tables["maxp"].data[15] = 2;
-        }
-
-        font.pos += 4;
-        maxFunctionDefs = font.getUint16();
-        font.pos += 4;
-        maxSizeOfInstructions = font.getUint16();
-      }
-
-      tables["maxp"].data[4] = numGlyphsOut >> 8;
-      tables["maxp"].data[5] = numGlyphsOut & 255;
-      var hintsValid = sanitizeTTPrograms(tables["fpgm"], tables["prep"], tables["cvt "], maxFunctionDefs);
-
-      if (!hintsValid) {
-        delete tables["fpgm"];
-        delete tables["prep"];
-        delete tables["cvt "];
-      }
-
-      sanitizeMetrics(font, tables["hhea"], tables["hmtx"], numGlyphsOut, dupFirstEntry);
-
-      if (!tables["head"]) {
-        throw new _util.FormatError('Required "head" table is not found');
-      }
-
-      sanitizeHead(tables["head"], numGlyphs, isTrueType ? tables["loca"].length : 0);
-      var missingGlyphs = Object.create(null);
-
-      if (isTrueType) {
-        var isGlyphLocationsLong = int16(tables["head"].data[50], tables["head"].data[51]);
-        var glyphsInfo = sanitizeGlyphLocations(tables["loca"], tables["glyf"], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);
-        missingGlyphs = glyphsInfo.missingGlyphs;
-
-        if (version >= 0x00010000 && tables["maxp"].length >= 22) {
-          tables["maxp"].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;
-          tables["maxp"].data[27] = glyphsInfo.maxSizeOfInstructions & 255;
-        }
-      }
-
-      if (!tables["hhea"]) {
-        throw new _util.FormatError('Required "hhea" table is not found');
-      }
-
-      if (tables["hhea"].data[10] === 0 && tables["hhea"].data[11] === 0) {
-        tables["hhea"].data[10] = 0xff;
-        tables["hhea"].data[11] = 0xff;
-      }
-
-      var metricsOverride = {
-        unitsPerEm: int16(tables["head"].data[18], tables["head"].data[19]),
-        yMax: int16(tables["head"].data[42], tables["head"].data[43]),
-        yMin: signedInt16(tables["head"].data[38], tables["head"].data[39]),
-        ascent: int16(tables["hhea"].data[4], tables["hhea"].data[5]),
-        descent: signedInt16(tables["hhea"].data[6], tables["hhea"].data[7])
-      };
-      this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;
-      this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;
-
-      if (tables["post"]) {
-        readPostScriptTable(tables["post"], properties, numGlyphs);
-      }
-
-      tables["post"] = {
-        tag: "post",
-        data: createPostTable(properties)
-      };
-      var charCodeToGlyphId = [],
-          charCode;
-
-      function hasGlyph(glyphId) {
-        return !missingGlyphs[glyphId];
-      }
-
-      if (properties.composite) {
-        var cidToGidMap = properties.cidToGidMap || [];
-        var isCidToGidMapEmpty = cidToGidMap.length === 0;
-        properties.cMap.forEach(function (charCode, cid) {
-          if (cid > 0xffff) {
-            throw new _util.FormatError("Max size of CID is 65,535");
-          }
-
-          var glyphId = -1;
-
-          if (isCidToGidMapEmpty) {
-            glyphId = cid;
-          } else if (cidToGidMap[cid] !== undefined) {
-            glyphId = cidToGidMap[cid];
-          }
-
-          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {
-            charCodeToGlyphId[charCode] = glyphId;
-          }
-        });
-      } else {
-        var cmapTable = readCmapTable(tables["cmap"], font, this.isSymbolicFont, properties.hasEncoding);
-        var cmapPlatformId = cmapTable.platformId;
-        var cmapEncodingId = cmapTable.encodingId;
-        var cmapMappings = cmapTable.mappings;
-        var cmapMappingsLength = cmapMappings.length;
-
-        if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {
-          var baseEncoding = [];
-
-          if (properties.baseEncodingName === "MacRomanEncoding" || properties.baseEncodingName === "WinAnsiEncoding") {
-            baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);
-          }
-
-          var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-
-          for (charCode = 0; charCode < 256; charCode++) {
-            var glyphName, standardGlyphName;
-
-            if (this.differences && charCode in this.differences) {
-              glyphName = this.differences[charCode];
-            } else if (charCode in baseEncoding && baseEncoding[charCode] !== "") {
-              glyphName = baseEncoding[charCode];
-            } else {
-              glyphName = _encodings.StandardEncoding[charCode];
-            }
-
-            if (!glyphName) {
-              continue;
-            }
-
-            standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);
-            var unicodeOrCharCode;
-
-            if (cmapPlatformId === 3 && cmapEncodingId === 1) {
-              unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];
-            } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {
-              unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);
-            }
-
-            var found = false;
-
-            for (var i = 0; i < cmapMappingsLength; ++i) {
-              if (cmapMappings[i].charCode !== unicodeOrCharCode) {
-                continue;
-              }
-
-              charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;
-              found = true;
-              break;
-            }
-
-            if (!found && properties.glyphNames) {
-              var glyphId = properties.glyphNames.indexOf(glyphName);
-
-              if (glyphId === -1 && standardGlyphName !== glyphName) {
-                glyphId = properties.glyphNames.indexOf(standardGlyphName);
-              }
-
-              if (glyphId > 0 && hasGlyph(glyphId)) {
-                charCodeToGlyphId[charCode] = glyphId;
-              }
-            }
-          }
-        } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {
-          for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {
-            charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;
-          }
-        } else {
-          for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {
-            charCode = cmapMappings[_i3].charCode;
-
-            if (cmapPlatformId === 3 && charCode >= 0xf000 && charCode <= 0xf0ff) {
-              charCode &= 0xff;
-            }
-
-            charCodeToGlyphId[charCode] = cmapMappings[_i3].glyphId;
-          }
-        }
-      }
-
-      if (charCodeToGlyphId.length === 0) {
-        charCodeToGlyphId[0] = 0;
-      }
-
-      var glyphZeroId = numGlyphsOut - 1;
-
-      if (!dupFirstEntry) {
-        glyphZeroId = 0;
-      }
-
-      var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);
-      this.toFontChar = newMapping.toFontChar;
-      tables["cmap"] = {
-        tag: "cmap",
-        data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)
-      };
-
-      if (!tables["OS/2"] || !validateOS2Table(tables["OS/2"])) {
-        tables["OS/2"] = {
-          tag: "OS/2",
-          data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)
-        };
-      }
-
-      if (!isTrueType) {
-        try {
-          cffFile = new _stream.Stream(tables["CFF "].data);
-          var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);
-          cff = parser.parse();
-          cff.duplicateFirstGlyph();
-          var compiler = new _cff_parser.CFFCompiler(cff);
-          tables["CFF "].data = compiler.compile();
-        } catch (e) {
-          (0, _util.warn)("Failed to compile font " + properties.loadedName);
-        }
-      }
-
-      if (!tables["name"]) {
-        tables["name"] = {
-          tag: "name",
-          data: createNameTable(this.name)
-        };
-      } else {
-        var namePrototype = readNameTable(tables["name"]);
-        tables["name"].data = createNameTable(name, namePrototype);
-      }
-
-      var builder = new OpenTypeFileBuilder(header.version);
-
-      for (var tableTag in tables) {
-        builder.addTable(tableTag, tables[tableTag].data);
-      }
-
-      return builder.toArray();
-    },
-    convert: function Font_convert(fontName, font, properties) {
-      properties.fixedPitch = false;
-
-      if (properties.builtInEncoding) {
-        adjustToUnicode(properties, properties.builtInEncoding);
-      }
-
-      var glyphZeroId = 1;
-
-      if (font instanceof CFFFont) {
-        glyphZeroId = font.numGlyphs - 1;
-      }
-
-      var mapping = font.getGlyphMapping(properties);
-      var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);
-      this.toFontChar = newMapping.toFontChar;
-      var numGlyphs = font.numGlyphs;
-
-      function getCharCodes(charCodeToGlyphId, glyphId) {
-        var charCodes = null;
-
-        for (var charCode in charCodeToGlyphId) {
-          if (glyphId === charCodeToGlyphId[charCode]) {
-            if (!charCodes) {
-              charCodes = [];
-            }
-
-            charCodes.push(charCode | 0);
-          }
-        }
-
-        return charCodes;
-      }
-
-      function createCharCode(charCodeToGlyphId, glyphId) {
-        for (var charCode in charCodeToGlyphId) {
-          if (glyphId === charCodeToGlyphId[charCode]) {
-            return charCode | 0;
-          }
-        }
-
-        newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;
-        return newMapping.nextAvailableFontCharCode++;
-      }
-
-      var seacs = font.seacs;
-
-      if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {
-        var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;
-        var charset = font.getCharset();
-        var seacMap = Object.create(null);
-
-        for (var glyphId in seacs) {
-          glyphId |= 0;
-          var seac = seacs[glyphId];
-          var baseGlyphName = _encodings.StandardEncoding[seac[2]];
-          var accentGlyphName = _encodings.StandardEncoding[seac[3]];
-          var baseGlyphId = charset.indexOf(baseGlyphName);
-          var accentGlyphId = charset.indexOf(accentGlyphName);
-
-          if (baseGlyphId < 0 || accentGlyphId < 0) {
-            continue;
-          }
-
-          var accentOffset = {
-            x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],
-            y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]
-          };
-          var charCodes = getCharCodes(mapping, glyphId);
-
-          if (!charCodes) {
-            continue;
-          }
-
-          for (var i = 0, ii = charCodes.length; i < ii; i++) {
-            var charCode = charCodes[i];
-            var charCodeToGlyphId = newMapping.charCodeToGlyphId;
-            var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);
-            var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);
-            seacMap[charCode] = {
-              baseFontCharCode: baseFontCharCode,
-              accentFontCharCode: accentFontCharCode,
-              accentOffset: accentOffset
-            };
-          }
-        }
-
-        properties.seacMap = seacMap;
-      }
-
-      var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];
-      var builder = new OpenTypeFileBuilder("\x4F\x54\x54\x4F");
-      builder.addTable("CFF ", font.data);
-      builder.addTable("OS/2", createOS2Table(properties, newMapping.charCodeToGlyphId));
-      builder.addTable("cmap", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));
-      builder.addTable("head", "\x00\x01\x00\x00" + "\x00\x00\x10\x00" + "\x00\x00\x00\x00" + "\x5F\x0F\x3C\xF5" + "\x00\x00" + safeString16(unitsPerEm) + "\x00\x00\x00\x00\x9e\x0b\x7e\x27" + "\x00\x00\x00\x00\x9e\x0b\x7e\x27" + "\x00\x00" + safeString16(properties.descent) + "\x0F\xFF" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + "\x00\x11" + "\x00\x00" + "\x00\x00" + "\x00\x00");
-      builder.addTable("hhea", "\x00\x01\x00\x00" + safeString16(properties.ascent) + safeString16(properties.descent) + "\x00\x00" + "\xFF\xFF" + "\x00\x00" + "\x00\x00" + "\x00\x00" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + "\x00\x00" + "\x00\x00" + "\x00\x00" + "\x00\x00" + "\x00\x00" + "\x00\x00" + string16(numGlyphs));
-      builder.addTable("hmtx", function fontFieldsHmtx() {
-        var charstrings = font.charstrings;
-        var cffWidths = font.cff ? font.cff.widths : null;
-        var hmtx = "\x00\x00\x00\x00";
-
-        for (var i = 1, ii = numGlyphs; i < ii; i++) {
-          var width = 0;
-
-          if (charstrings) {
-            var charstring = charstrings[i - 1];
-            width = "width" in charstring ? charstring.width : 0;
-          } else if (cffWidths) {
-            width = Math.ceil(cffWidths[i] || 0);
-          }
-
-          hmtx += string16(width) + string16(0);
-        }
-
-        return hmtx;
-      }());
-      builder.addTable("maxp", "\x00\x00\x50\x00" + string16(numGlyphs));
-      builder.addTable("name", createNameTable(fontName));
-      builder.addTable("post", createPostTable(properties));
-      return builder.toArray();
-    },
-
-    get spaceWidth() {
-      if ("_shadowWidth" in this) {
-        return this._shadowWidth;
-      }
-
-      var possibleSpaceReplacements = ["space", "minus", "one", "i", "I"];
-      var width;
-
-      for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {
-        var glyphName = possibleSpaceReplacements[i];
-
-        if (glyphName in this.widths) {
-          width = this.widths[glyphName];
-          break;
-        }
-
-        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-        var glyphUnicode = glyphsUnicodeMap[glyphName];
-        var charcode = 0;
-
-        if (this.composite) {
-          if (this.cMap.contains(glyphUnicode)) {
-            charcode = this.cMap.lookup(glyphUnicode);
-          }
-        }
-
-        if (!charcode && this.toUnicode) {
-          charcode = this.toUnicode.charCodeOf(glyphUnicode);
-        }
-
-        if (charcode <= 0) {
-          charcode = glyphUnicode;
-        }
-
-        width = this.widths[charcode];
-
-        if (width) {
-          break;
-        }
-      }
-
-      width = width || this.defaultWidth;
-      this._shadowWidth = width;
-      return width;
-    },
-
-    charToGlyph: function Font_charToGlyph(charcode, isSpace) {
-      var fontCharCode, width, operatorListId;
-      var widthCode = charcode;
-
-      if (this.cMap && this.cMap.contains(charcode)) {
-        widthCode = this.cMap.lookup(charcode);
-      }
-
-      width = this.widths[widthCode];
-      width = (0, _util.isNum)(width) ? width : this.defaultWidth;
-      var vmetric = this.vmetrics && this.vmetrics[widthCode];
-      var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;
-
-      if (typeof unicode === "number") {
-        unicode = String.fromCharCode(unicode);
-      }
-
-      var isInFont = charcode in this.toFontChar;
-      fontCharCode = this.toFontChar[charcode] || charcode;
-
-      if (this.missingFile) {
-        var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];
-
-        if ((glyphName === ".notdef" || glyphName === "") && this.type === "Type1") {
-          fontCharCode = 0x20;
-        }
-
-        fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);
-      }
-
-      if (this.isType3Font) {
-        operatorListId = fontCharCode;
-      }
-
-      var accent = null;
-
-      if (this.seacMap && this.seacMap[charcode]) {
-        isInFont = true;
-        var seac = this.seacMap[charcode];
-        fontCharCode = seac.baseFontCharCode;
-        accent = {
-          fontChar: String.fromCodePoint(seac.accentFontCharCode),
-          offset: seac.accentOffset
-        };
-      }
-
-      var fontChar = typeof fontCharCode === "number" ? String.fromCodePoint(fontCharCode) : "";
-      var glyph = this.glyphCache[charcode];
-
-      if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {
-        glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);
-        this.glyphCache[charcode] = glyph;
-      }
-
-      return glyph;
-    },
-    charsToGlyphs: function Font_charsToGlyphs(chars) {
-      var charsCache = this.charsCache;
-      var glyphs, glyph, charcode;
-
-      if (charsCache) {
-        glyphs = charsCache[chars];
-
-        if (glyphs) {
-          return glyphs;
-        }
-      }
-
-      if (!charsCache) {
-        charsCache = this.charsCache = Object.create(null);
-      }
-
-      glyphs = [];
-      var charsCacheKey = chars;
-      var i = 0,
-          ii;
-
-      if (this.cMap) {
-        var c = Object.create(null);
-
-        while (i < chars.length) {
-          this.cMap.readCharCode(chars, i, c);
-          charcode = c.charcode;
-          var length = c.length;
-          i += length;
-          var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;
-          glyph = this.charToGlyph(charcode, isSpace);
-          glyphs.push(glyph);
-        }
-      } else {
-        for (i = 0, ii = chars.length; i < ii; ++i) {
-          charcode = chars.charCodeAt(i);
-          glyph = this.charToGlyph(charcode, charcode === 0x20);
-          glyphs.push(glyph);
-        }
-      }
-
-      return charsCache[charsCacheKey] = glyphs;
-    },
-
-    get glyphCacheValues() {
-      return Object.values(this.glyphCache);
-    }
-
-  };
-  return Font;
-}();
-
-exports.Font = Font;
-
-var ErrorFont = function ErrorFontClosure() {
-  function ErrorFont(error) {
-    this.error = error;
-    this.loadedName = "g_font_error";
-    this.missingFile = true;
-  }
-
-  ErrorFont.prototype = {
-    charsToGlyphs: function ErrorFont_charsToGlyphs() {
-      return [];
-    },
-    exportData: function ErrorFont_exportData() {
-      return {
-        error: this.error
-      };
-    }
-  };
-  return ErrorFont;
-}();
-
-exports.ErrorFont = ErrorFont;
-
-function type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {
-  var charCodeToGlyphId = Object.create(null);
-  var glyphId, charCode, baseEncoding;
-  var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);
-
-  if (properties.baseEncodingName) {
-    baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);
-
-    for (charCode = 0; charCode < baseEncoding.length; charCode++) {
-      glyphId = glyphNames.indexOf(baseEncoding[charCode]);
-
-      if (glyphId >= 0) {
-        charCodeToGlyphId[charCode] = glyphId;
-      } else {
-        charCodeToGlyphId[charCode] = 0;
-      }
-    }
-  } else if (isSymbolicFont) {
-    for (charCode in builtInEncoding) {
-      charCodeToGlyphId[charCode] = builtInEncoding[charCode];
-    }
-  } else {
-    baseEncoding = _encodings.StandardEncoding;
-
-    for (charCode = 0; charCode < baseEncoding.length; charCode++) {
-      glyphId = glyphNames.indexOf(baseEncoding[charCode]);
-
-      if (glyphId >= 0) {
-        charCodeToGlyphId[charCode] = glyphId;
-      } else {
-        charCodeToGlyphId[charCode] = 0;
-      }
-    }
-  }
-
-  var differences = properties.differences,
-      glyphsUnicodeMap;
-
-  if (differences) {
-    for (charCode in differences) {
-      var glyphName = differences[charCode];
-      glyphId = glyphNames.indexOf(glyphName);
-
-      if (glyphId === -1) {
-        if (!glyphsUnicodeMap) {
-          glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();
-        }
-
-        var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);
-
-        if (standardGlyphName !== glyphName) {
-          glyphId = glyphNames.indexOf(standardGlyphName);
-        }
-      }
-
-      if (glyphId >= 0) {
-        charCodeToGlyphId[charCode] = glyphId;
-      } else {
-        charCodeToGlyphId[charCode] = 0;
-      }
-    }
-  }
-
-  return charCodeToGlyphId;
-}
-
-var Type1Font = function Type1FontClosure() {
-  function findBlock(streamBytes, signature, startIndex) {
-    var streamBytesLength = streamBytes.length;
-    var signatureLength = signature.length;
-    var scanLength = streamBytesLength - signatureLength;
-    var i = startIndex,
-        j,
-        found = false;
-
-    while (i < scanLength) {
-      j = 0;
-
-      while (j < signatureLength && streamBytes[i + j] === signature[j]) {
-        j++;
-      }
-
-      if (j >= signatureLength) {
-        i += j;
-
-        while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {
-          i++;
-        }
-
-        found = true;
-        break;
-      }
-
-      i++;
-    }
-
-    return {
-      found: found,
-      length: i
-    };
-  }
-
-  function getHeaderBlock(stream, suggestedLength) {
-    var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];
-    var streamStartPos = stream.pos;
-    var headerBytes, headerBytesLength, block;
-
-    try {
-      headerBytes = stream.getBytes(suggestedLength);
-      headerBytesLength = headerBytes.length;
-    } catch (ex) {
-      if (ex instanceof _core_utils.MissingDataException) {
-        throw ex;
-      }
-    }
-
-    if (headerBytesLength === suggestedLength) {
-      block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);
-
-      if (block.found && block.length === suggestedLength) {
-        return {
-          stream: new _stream.Stream(headerBytes),
-          length: suggestedLength
-        };
-      }
-    }
-
-    (0, _util.warn)('Invalid "Length1" property in Type1 font -- trying to recover.');
-    stream.pos = streamStartPos;
-    var SCAN_BLOCK_LENGTH = 2048;
-    var actualLength;
-
-    while (true) {
-      var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);
-      block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);
-
-      if (block.length === 0) {
-        break;
-      }
-
-      stream.pos += block.length;
-
-      if (block.found) {
-        actualLength = stream.pos - streamStartPos;
-        break;
-      }
-    }
-
-    stream.pos = streamStartPos;
-
-    if (actualLength) {
-      return {
-        stream: new _stream.Stream(stream.getBytes(actualLength)),
-        length: actualLength
-      };
-    }
-
-    (0, _util.warn)('Unable to recover "Length1" property in Type1 font -- using as is.');
-    return {
-      stream: new _stream.Stream(stream.getBytes(suggestedLength)),
-      length: suggestedLength
-    };
-  }
-
-  function getEexecBlock(stream, suggestedLength) {
-    var eexecBytes = stream.getBytes();
-    return {
-      stream: new _stream.Stream(eexecBytes),
-      length: eexecBytes.length
-    };
-  }
-
-  function Type1Font(name, file, properties) {
-    var PFB_HEADER_SIZE = 6;
-    var headerBlockLength = properties.length1;
-    var eexecBlockLength = properties.length2;
-    var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);
-    var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;
-
-    if (pfbHeaderPresent) {
-      file.skip(PFB_HEADER_SIZE);
-      headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];
-    }
-
-    var headerBlock = getHeaderBlock(file, headerBlockLength);
-    var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);
-    headerBlockParser.extractFontHeader(properties);
-
-    if (pfbHeaderPresent) {
-      pfbHeader = file.getBytes(PFB_HEADER_SIZE);
-      eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];
-    }
-
-    var eexecBlock = getEexecBlock(file, eexecBlockLength);
-    var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);
-    var data = eexecBlockParser.extractFontProgram(properties);
-
-    for (var info in data.properties) {
-      properties[info] = data.properties[info];
-    }
-
-    var charstrings = data.charstrings;
-    var type2Charstrings = this.getType2Charstrings(charstrings);
-    var subrs = this.getType2Subrs(data.subrs);
-    this.charstrings = charstrings;
-    this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);
-    this.seacs = this.getSeacs(data.charstrings);
-  }
-
-  Type1Font.prototype = {
-    get numGlyphs() {
-      return this.charstrings.length + 1;
-    },
-
-    getCharset: function Type1Font_getCharset() {
-      var charset = [".notdef"];
-      var charstrings = this.charstrings;
-
-      for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {
-        charset.push(charstrings[glyphId].glyphName);
-      }
-
-      return charset;
-    },
-    getGlyphMapping: function Type1Font_getGlyphMapping(properties) {
-      var charstrings = this.charstrings;
-      var glyphNames = [".notdef"],
-          glyphId;
-
-      for (glyphId = 0; glyphId < charstrings.length; glyphId++) {
-        glyphNames.push(charstrings[glyphId].glyphName);
-      }
-
-      var encoding = properties.builtInEncoding;
-
-      if (encoding) {
-        var builtInEncoding = Object.create(null);
-
-        for (var charCode in encoding) {
-          glyphId = glyphNames.indexOf(encoding[charCode]);
-
-          if (glyphId >= 0) {
-            builtInEncoding[charCode] = glyphId;
-          }
-        }
-      }
-
-      return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);
-    },
-    hasGlyphId: function Type1Font_hasGlyphID(id) {
-      if (id < 0 || id >= this.numGlyphs) {
-        return false;
-      }
-
-      if (id === 0) {
-        return true;
-      }
-
-      var glyph = this.charstrings[id - 1];
-      return glyph.charstring.length > 0;
-    },
-    getSeacs: function Type1Font_getSeacs(charstrings) {
-      var i, ii;
-      var seacMap = [];
-
-      for (i = 0, ii = charstrings.length; i < ii; i++) {
-        var charstring = charstrings[i];
-
-        if (charstring.seac) {
-          seacMap[i + 1] = charstring.seac;
-        }
-      }
-
-      return seacMap;
-    },
-    getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {
-      var type2Charstrings = [];
-
-      for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {
-        type2Charstrings.push(type1Charstrings[i].charstring);
-      }
-
-      return type2Charstrings;
-    },
-    getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {
-      var bias = 0;
-      var count = type1Subrs.length;
-
-      if (count < 1133) {
-        bias = 107;
-      } else if (count < 33769) {
-        bias = 1131;
-      } else {
-        bias = 32768;
-      }
-
-      var type2Subrs = [];
-      var i;
-
-      for (i = 0; i < bias; i++) {
-        type2Subrs.push([0x0b]);
-      }
-
-      for (i = 0; i < count; i++) {
-        type2Subrs.push(type1Subrs[i]);
-      }
-
-      return type2Subrs;
-    },
-    wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {
-      var cff = new _cff_parser.CFF();
-      cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);
-      cff.names = [name];
-      var topDict = new _cff_parser.CFFTopDict();
-      topDict.setByName("version", 391);
-      topDict.setByName("Notice", 392);
-      topDict.setByName("FullName", 393);
-      topDict.setByName("FamilyName", 394);
-      topDict.setByName("Weight", 395);
-      topDict.setByName("Encoding", null);
-      topDict.setByName("FontMatrix", properties.fontMatrix);
-      topDict.setByName("FontBBox", properties.bbox);
-      topDict.setByName("charset", null);
-      topDict.setByName("CharStrings", null);
-      topDict.setByName("Private", null);
-      cff.topDict = topDict;
-      var strings = new _cff_parser.CFFStrings();
-      strings.add("Version 0.11");
-      strings.add("See original notice");
-      strings.add(name);
-      strings.add(name);
-      strings.add("Medium");
-      cff.strings = strings;
-      cff.globalSubrIndex = new _cff_parser.CFFIndex();
-      var count = glyphs.length;
-      var charsetArray = [".notdef"];
-      var i, ii;
-
-      for (i = 0; i < count; i++) {
-        var glyphName = charstrings[i].glyphName;
-
-        var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);
-
-        if (index === -1) {
-          strings.add(glyphName);
-        }
-
-        charsetArray.push(glyphName);
-      }
-
-      cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);
-      var charStringsIndex = new _cff_parser.CFFIndex();
-      charStringsIndex.add([0x8b, 0x0e]);
-
-      for (i = 0; i < count; i++) {
-        charStringsIndex.add(glyphs[i]);
-      }
-
-      cff.charStrings = charStringsIndex;
-      var privateDict = new _cff_parser.CFFPrivateDict();
-      privateDict.setByName("Subrs", null);
-      var fields = ["BlueValues", "OtherBlues", "FamilyBlues", "FamilyOtherBlues", "StemSnapH", "StemSnapV", "BlueShift", "BlueFuzz", "BlueScale", "LanguageGroup", "ExpansionFactor", "ForceBold", "StdHW", "StdVW"];
-
-      for (i = 0, ii = fields.length; i < ii; i++) {
-        var field = fields[i];
-
-        if (!(field in properties.privateData)) {
-          continue;
-        }
-
-        var value = properties.privateData[field];
-
-        if (Array.isArray(value)) {
-          for (var j = value.length - 1; j > 0; j--) {
-            value[j] -= value[j - 1];
-          }
-        }
-
-        privateDict.setByName(field, value);
-      }
-
-      cff.topDict.privateDict = privateDict;
-      var subrIndex = new _cff_parser.CFFIndex();
-
-      for (i = 0, ii = subrs.length; i < ii; i++) {
-        subrIndex.add(subrs[i]);
-      }
-
-      privateDict.subrsIndex = subrIndex;
-      var compiler = new _cff_parser.CFFCompiler(cff);
-      return compiler.compile();
-    }
-  };
-  return Type1Font;
-}();
-
-var CFFFont = function CFFFontClosure() {
-  function CFFFont(file, properties) {
-    this.properties = properties;
-    var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);
-    this.cff = parser.parse();
-    this.cff.duplicateFirstGlyph();
-    var compiler = new _cff_parser.CFFCompiler(this.cff);
-    this.seacs = this.cff.seacs;
-
-    try {
-      this.data = compiler.compile();
-    } catch (e) {
-      (0, _util.warn)("Failed to compile font " + properties.loadedName);
-      this.data = file;
-    }
-  }
-
-  CFFFont.prototype = {
-    get numGlyphs() {
-      return this.cff.charStrings.count;
-    },
-
-    getCharset: function CFFFont_getCharset() {
-      return this.cff.charset.charset;
-    },
-    getGlyphMapping: function CFFFont_getGlyphMapping() {
-      var cff = this.cff;
-      var properties = this.properties;
-      var charsets = cff.charset.charset;
-      var charCodeToGlyphId;
-      var glyphId;
-
-      if (properties.composite) {
-        charCodeToGlyphId = Object.create(null);
-        var charCode;
-
-        if (cff.isCIDFont) {
-          for (glyphId = 0; glyphId < charsets.length; glyphId++) {
-            var cid = charsets[glyphId];
-            charCode = properties.cMap.charCodeOf(cid);
-            charCodeToGlyphId[charCode] = glyphId;
-          }
-        } else {
-          for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {
-            charCode = properties.cMap.charCodeOf(glyphId);
-            charCodeToGlyphId[charCode] = glyphId;
-          }
-        }
-
-        return charCodeToGlyphId;
-      }
-
-      var encoding = cff.encoding ? cff.encoding.encoding : null;
-      charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);
-      return charCodeToGlyphId;
-    },
-    hasGlyphId: function CFFFont_hasGlyphID(id) {
-      return this.cff.hasGlyphId(id);
-    }
-  };
-  return CFFFont;
-}();
-
-/***/ }),
-/* 218 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _charsets = __w_pdfjs_require__(219);
-
-var _encodings = __w_pdfjs_require__(220);
-
-var MAX_SUBR_NESTING = 10;
-var CFFStandardStrings = [".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"];
-exports.CFFStandardStrings = CFFStandardStrings;
-var NUM_STANDARD_CFF_STRINGS = 391;
-
-var CFFParser = function CFFParserClosure() {
-  var CharstringValidationData = [null, {
-    id: "hstem",
-    min: 2,
-    stackClearing: true,
-    stem: true
-  }, null, {
-    id: "vstem",
-    min: 2,
-    stackClearing: true,
-    stem: true
-  }, {
-    id: "vmoveto",
-    min: 1,
-    stackClearing: true
-  }, {
-    id: "rlineto",
-    min: 2,
-    resetStack: true
-  }, {
-    id: "hlineto",
-    min: 1,
-    resetStack: true
-  }, {
-    id: "vlineto",
-    min: 1,
-    resetStack: true
-  }, {
-    id: "rrcurveto",
-    min: 6,
-    resetStack: true
-  }, null, {
-    id: "callsubr",
-    min: 1,
-    undefStack: true
-  }, {
-    id: "return",
-    min: 0,
-    undefStack: true
-  }, null, null, {
-    id: "endchar",
-    min: 0,
-    stackClearing: true
-  }, null, null, null, {
-    id: "hstemhm",
-    min: 2,
-    stackClearing: true,
-    stem: true
-  }, {
-    id: "hintmask",
-    min: 0,
-    stackClearing: true
-  }, {
-    id: "cntrmask",
-    min: 0,
-    stackClearing: true
-  }, {
-    id: "rmoveto",
-    min: 2,
-    stackClearing: true
-  }, {
-    id: "hmoveto",
-    min: 1,
-    stackClearing: true
-  }, {
-    id: "vstemhm",
-    min: 2,
-    stackClearing: true,
-    stem: true
-  }, {
-    id: "rcurveline",
-    min: 8,
-    resetStack: true
-  }, {
-    id: "rlinecurve",
-    min: 8,
-    resetStack: true
-  }, {
-    id: "vvcurveto",
-    min: 4,
-    resetStack: true
-  }, {
-    id: "hhcurveto",
-    min: 4,
-    resetStack: true
-  }, null, {
-    id: "callgsubr",
-    min: 1,
-    undefStack: true
-  }, {
-    id: "vhcurveto",
-    min: 4,
-    resetStack: true
-  }, {
-    id: "hvcurveto",
-    min: 4,
-    resetStack: true
-  }];
-  var CharstringValidationData12 = [null, null, null, {
-    id: "and",
-    min: 2,
-    stackDelta: -1
-  }, {
-    id: "or",
-    min: 2,
-    stackDelta: -1
-  }, {
-    id: "not",
-    min: 1,
-    stackDelta: 0
-  }, null, null, null, {
-    id: "abs",
-    min: 1,
-    stackDelta: 0
-  }, {
-    id: "add",
-    min: 2,
-    stackDelta: -1,
-    stackFn: function stack_div(stack, index) {
-      stack[index - 2] = stack[index - 2] + stack[index - 1];
-    }
-  }, {
-    id: "sub",
-    min: 2,
-    stackDelta: -1,
-    stackFn: function stack_div(stack, index) {
-      stack[index - 2] = stack[index - 2] - stack[index - 1];
-    }
-  }, {
-    id: "div",
-    min: 2,
-    stackDelta: -1,
-    stackFn: function stack_div(stack, index) {
-      stack[index - 2] = stack[index - 2] / stack[index - 1];
-    }
-  }, null, {
-    id: "neg",
-    min: 1,
-    stackDelta: 0,
-    stackFn: function stack_div(stack, index) {
-      stack[index - 1] = -stack[index - 1];
-    }
-  }, {
-    id: "eq",
-    min: 2,
-    stackDelta: -1
-  }, null, null, {
-    id: "drop",
-    min: 1,
-    stackDelta: -1
-  }, null, {
-    id: "put",
-    min: 2,
-    stackDelta: -2
-  }, {
-    id: "get",
-    min: 1,
-    stackDelta: 0
-  }, {
-    id: "ifelse",
-    min: 4,
-    stackDelta: -3
-  }, {
-    id: "random",
-    min: 0,
-    stackDelta: 1
-  }, {
-    id: "mul",
-    min: 2,
-    stackDelta: -1,
-    stackFn: function stack_div(stack, index) {
-      stack[index - 2] = stack[index - 2] * stack[index - 1];
-    }
-  }, null, {
-    id: "sqrt",
-    min: 1,
-    stackDelta: 0
-  }, {
-    id: "dup",
-    min: 1,
-    stackDelta: 1
-  }, {
-    id: "exch",
-    min: 2,
-    stackDelta: 0
-  }, {
-    id: "index",
-    min: 2,
-    stackDelta: 0
-  }, {
-    id: "roll",
-    min: 3,
-    stackDelta: -2
-  }, null, null, null, {
-    id: "hflex",
-    min: 7,
-    resetStack: true
-  }, {
-    id: "flex",
-    min: 13,
-    resetStack: true
-  }, {
-    id: "hflex1",
-    min: 9,
-    resetStack: true
-  }, {
-    id: "flex1",
-    min: 11,
-    resetStack: true
-  }];
-
-  function CFFParser(file, properties, seacAnalysisEnabled) {
-    this.bytes = file.getBytes();
-    this.properties = properties;
-    this.seacAnalysisEnabled = !!seacAnalysisEnabled;
-  }
-
-  CFFParser.prototype = {
-    parse: function CFFParser_parse() {
-      var properties = this.properties;
-      var cff = new CFF();
-      this.cff = cff;
-      var header = this.parseHeader();
-      var nameIndex = this.parseIndex(header.endPos);
-      var topDictIndex = this.parseIndex(nameIndex.endPos);
-      var stringIndex = this.parseIndex(topDictIndex.endPos);
-      var globalSubrIndex = this.parseIndex(stringIndex.endPos);
-      var topDictParsed = this.parseDict(topDictIndex.obj.get(0));
-      var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);
-      cff.header = header.obj;
-      cff.names = this.parseNameIndex(nameIndex.obj);
-      cff.strings = this.parseStringIndex(stringIndex.obj);
-      cff.topDict = topDict;
-      cff.globalSubrIndex = globalSubrIndex.obj;
-      this.parsePrivateDict(cff.topDict);
-      cff.isCIDFont = topDict.hasName("ROS");
-      var charStringOffset = topDict.getByName("CharStrings");
-      var charStringIndex = this.parseIndex(charStringOffset).obj;
-      var fontMatrix = topDict.getByName("FontMatrix");
-
-      if (fontMatrix) {
-        properties.fontMatrix = fontMatrix;
-      }
-
-      var fontBBox = topDict.getByName("FontBBox");
-
-      if (fontBBox) {
-        properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
-        properties.descent = Math.min(fontBBox[1], fontBBox[3]);
-        properties.ascentScaled = true;
-      }
-
-      var charset, encoding;
-
-      if (cff.isCIDFont) {
-        var fdArrayIndex = this.parseIndex(topDict.getByName("FDArray")).obj;
-
-        for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {
-          var dictRaw = fdArrayIndex.get(i);
-          var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);
-          this.parsePrivateDict(fontDict);
-          cff.fdArray.push(fontDict);
-        }
-
-        encoding = null;
-        charset = this.parseCharsets(topDict.getByName("charset"), charStringIndex.count, cff.strings, true);
-        cff.fdSelect = this.parseFDSelect(topDict.getByName("FDSelect"), charStringIndex.count);
-      } else {
-        charset = this.parseCharsets(topDict.getByName("charset"), charStringIndex.count, cff.strings, false);
-        encoding = this.parseEncoding(topDict.getByName("Encoding"), properties, cff.strings, charset.charset);
-      }
-
-      cff.charset = charset;
-      cff.encoding = encoding;
-      var charStringsAndSeacs = this.parseCharStrings({
-        charStrings: charStringIndex,
-        localSubrIndex: topDict.privateDict.subrsIndex,
-        globalSubrIndex: globalSubrIndex.obj,
-        fdSelect: cff.fdSelect,
-        fdArray: cff.fdArray,
-        privateDict: topDict.privateDict
-      });
-      cff.charStrings = charStringsAndSeacs.charStrings;
-      cff.seacs = charStringsAndSeacs.seacs;
-      cff.widths = charStringsAndSeacs.widths;
-      return cff;
-    },
-    parseHeader: function CFFParser_parseHeader() {
-      var bytes = this.bytes;
-      var bytesLength = bytes.length;
-      var offset = 0;
-
-      while (offset < bytesLength && bytes[offset] !== 1) {
-        ++offset;
-      }
-
-      if (offset >= bytesLength) {
-        throw new _util.FormatError("Invalid CFF header");
-      }
-
-      if (offset !== 0) {
-        (0, _util.info)("cff data is shifted");
-        bytes = bytes.subarray(offset);
-        this.bytes = bytes;
-      }
-
-      var major = bytes[0];
-      var minor = bytes[1];
-      var hdrSize = bytes[2];
-      var offSize = bytes[3];
-      var header = new CFFHeader(major, minor, hdrSize, offSize);
-      return {
-        obj: header,
-        endPos: hdrSize
-      };
-    },
-    parseDict: function CFFParser_parseDict(dict) {
-      var pos = 0;
-
-      function parseOperand() {
-        var value = dict[pos++];
-
-        if (value === 30) {
-          return parseFloatOperand();
-        } else if (value === 28) {
-          value = dict[pos++];
-          value = (value << 24 | dict[pos++] << 16) >> 16;
-          return value;
-        } else if (value === 29) {
-          value = dict[pos++];
-          value = value << 8 | dict[pos++];
-          value = value << 8 | dict[pos++];
-          value = value << 8 | dict[pos++];
-          return value;
-        } else if (value >= 32 && value <= 246) {
-          return value - 139;
-        } else if (value >= 247 && value <= 250) {
-          return (value - 247) * 256 + dict[pos++] + 108;
-        } else if (value >= 251 && value <= 254) {
-          return -((value - 251) * 256) - dict[pos++] - 108;
-        }
-
-        (0, _util.warn)('CFFParser_parseDict: "' + value + '" is a reserved command.');
-        return NaN;
-      }
-
-      function parseFloatOperand() {
-        var str = "";
-        var eof = 15;
-        var lookup = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "E", "E-", null, "-"];
-        var length = dict.length;
-
-        while (pos < length) {
-          var b = dict[pos++];
-          var b1 = b >> 4;
-          var b2 = b & 15;
-
-          if (b1 === eof) {
-            break;
-          }
-
-          str += lookup[b1];
-
-          if (b2 === eof) {
-            break;
-          }
-
-          str += lookup[b2];
-        }
-
-        return parseFloat(str);
-      }
-
-      var operands = [];
-      var entries = [];
-      pos = 0;
-      var end = dict.length;
-
-      while (pos < end) {
-        var b = dict[pos];
-
-        if (b <= 21) {
-          if (b === 12) {
-            b = b << 8 | dict[++pos];
-          }
-
-          entries.push([b, operands]);
-          operands = [];
-          ++pos;
-        } else {
-          operands.push(parseOperand());
-        }
-      }
-
-      return entries;
-    },
-    parseIndex: function CFFParser_parseIndex(pos) {
-      var cffIndex = new CFFIndex();
-      var bytes = this.bytes;
-      var count = bytes[pos++] << 8 | bytes[pos++];
-      var offsets = [];
-      var end = pos;
-      var i, ii;
-
-      if (count !== 0) {
-        var offsetSize = bytes[pos++];
-        var startPos = pos + (count + 1) * offsetSize - 1;
-
-        for (i = 0, ii = count + 1; i < ii; ++i) {
-          var offset = 0;
-
-          for (var j = 0; j < offsetSize; ++j) {
-            offset <<= 8;
-            offset += bytes[pos++];
-          }
-
-          offsets.push(startPos + offset);
-        }
-
-        end = offsets[count];
-      }
-
-      for (i = 0, ii = offsets.length - 1; i < ii; ++i) {
-        var offsetStart = offsets[i];
-        var offsetEnd = offsets[i + 1];
-        cffIndex.add(bytes.subarray(offsetStart, offsetEnd));
-      }
-
-      return {
-        obj: cffIndex,
-        endPos: end
-      };
-    },
-    parseNameIndex: function CFFParser_parseNameIndex(index) {
-      var names = [];
-
-      for (var i = 0, ii = index.count; i < ii; ++i) {
-        var name = index.get(i);
-        names.push((0, _util.bytesToString)(name));
-      }
-
-      return names;
-    },
-    parseStringIndex: function CFFParser_parseStringIndex(index) {
-      var strings = new CFFStrings();
-
-      for (var i = 0, ii = index.count; i < ii; ++i) {
-        var data = index.get(i);
-        strings.add((0, _util.bytesToString)(data));
-      }
-
-      return strings;
-    },
-    createDict: function CFFParser_createDict(Type, dict, strings) {
-      var cffDict = new Type(strings);
-
-      for (var i = 0, ii = dict.length; i < ii; ++i) {
-        var pair = dict[i];
-        var key = pair[0];
-        var value = pair[1];
-        cffDict.setByKey(key, value);
-      }
-
-      return cffDict;
-    },
-    parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {
-      if (!data || state.callDepth > MAX_SUBR_NESTING) {
-        return false;
-      }
-
-      var stackSize = state.stackSize;
-      var stack = state.stack;
-      var length = data.length;
-
-      for (var j = 0; j < length;) {
-        var value = data[j++];
-        var validationCommand = null;
-
-        if (value === 12) {
-          var q = data[j++];
-
-          if (q === 0) {
-            data[j - 2] = 139;
-            data[j - 1] = 22;
-            stackSize = 0;
-          } else {
-            validationCommand = CharstringValidationData12[q];
-          }
-        } else if (value === 28) {
-          stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;
-          j += 2;
-          stackSize++;
-        } else if (value === 14) {
-          if (stackSize >= 4) {
-            stackSize -= 4;
-
-            if (this.seacAnalysisEnabled) {
-              state.seac = stack.slice(stackSize, stackSize + 4);
-              return false;
-            }
-          }
-
-          validationCommand = CharstringValidationData[value];
-        } else if (value >= 32 && value <= 246) {
-          stack[stackSize] = value - 139;
-          stackSize++;
-        } else if (value >= 247 && value <= 254) {
-          stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;
-          j++;
-          stackSize++;
-        } else if (value === 255) {
-          stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;
-          j += 4;
-          stackSize++;
-        } else if (value === 19 || value === 20) {
-          state.hints += stackSize >> 1;
-          j += state.hints + 7 >> 3;
-          stackSize %= 2;
-          validationCommand = CharstringValidationData[value];
-        } else if (value === 10 || value === 29) {
-          var subrsIndex;
-
-          if (value === 10) {
-            subrsIndex = localSubrIndex;
-          } else {
-            subrsIndex = globalSubrIndex;
-          }
-
-          if (!subrsIndex) {
-            validationCommand = CharstringValidationData[value];
-            (0, _util.warn)("Missing subrsIndex for " + validationCommand.id);
-            return false;
-          }
-
-          var bias = 32768;
-
-          if (subrsIndex.count < 1240) {
-            bias = 107;
-          } else if (subrsIndex.count < 33900) {
-            bias = 1131;
-          }
-
-          var subrNumber = stack[--stackSize] + bias;
-
-          if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {
-            validationCommand = CharstringValidationData[value];
-            (0, _util.warn)("Out of bounds subrIndex for " + validationCommand.id);
-            return false;
-          }
-
-          state.stackSize = stackSize;
-          state.callDepth++;
-          var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);
-
-          if (!valid) {
-            return false;
-          }
-
-          state.callDepth--;
-          stackSize = state.stackSize;
-          continue;
-        } else if (value === 11) {
-          state.stackSize = stackSize;
-          return true;
-        } else {
-          validationCommand = CharstringValidationData[value];
-        }
-
-        if (validationCommand) {
-          if (validationCommand.stem) {
-            state.hints += stackSize >> 1;
-
-            if (value === 3 || value === 23) {
-              state.hasVStems = true;
-            } else if (state.hasVStems && (value === 1 || value === 18)) {
-              (0, _util.warn)("CFF stem hints are in wrong order");
-              data[j - 1] = value === 1 ? 3 : 23;
-            }
-          }
-
-          if ("min" in validationCommand) {
-            if (!state.undefStack && stackSize < validationCommand.min) {
-              (0, _util.warn)("Not enough parameters for " + validationCommand.id + "; actual: " + stackSize + ", expected: " + validationCommand.min);
-              return false;
-            }
-          }
-
-          if (state.firstStackClearing && validationCommand.stackClearing) {
-            state.firstStackClearing = false;
-            stackSize -= validationCommand.min;
-
-            if (stackSize >= 2 && validationCommand.stem) {
-              stackSize %= 2;
-            } else if (stackSize > 1) {
-              (0, _util.warn)("Found too many parameters for stack-clearing command");
-            }
-
-            if (stackSize > 0 && stack[stackSize - 1] >= 0) {
-              state.width = stack[stackSize - 1];
-            }
-          }
-
-          if ("stackDelta" in validationCommand) {
-            if ("stackFn" in validationCommand) {
-              validationCommand.stackFn(stack, stackSize);
-            }
-
-            stackSize += validationCommand.stackDelta;
-          } else if (validationCommand.stackClearing) {
-            stackSize = 0;
-          } else if (validationCommand.resetStack) {
-            stackSize = 0;
-            state.undefStack = false;
-          } else if (validationCommand.undefStack) {
-            stackSize = 0;
-            state.undefStack = true;
-            state.firstStackClearing = false;
-          }
-        }
-      }
-
-      state.stackSize = stackSize;
-      return true;
-    },
-    parseCharStrings: function parseCharStrings(_ref) {
-      var charStrings = _ref.charStrings,
-          localSubrIndex = _ref.localSubrIndex,
-          globalSubrIndex = _ref.globalSubrIndex,
-          fdSelect = _ref.fdSelect,
-          fdArray = _ref.fdArray,
-          privateDict = _ref.privateDict;
-      var seacs = [];
-      var widths = [];
-      var count = charStrings.count;
-
-      for (var i = 0; i < count; i++) {
-        var charstring = charStrings.get(i);
-        var state = {
-          callDepth: 0,
-          stackSize: 0,
-          stack: [],
-          undefStack: true,
-          hints: 0,
-          firstStackClearing: true,
-          seac: null,
-          width: null,
-          hasVStems: false
-        };
-        var valid = true;
-        var localSubrToUse = null;
-        var privateDictToUse = privateDict;
-
-        if (fdSelect && fdArray.length) {
-          var fdIndex = fdSelect.getFDIndex(i);
-
-          if (fdIndex === -1) {
-            (0, _util.warn)("Glyph index is not in fd select.");
-            valid = false;
-          }
-
-          if (fdIndex >= fdArray.length) {
-            (0, _util.warn)("Invalid fd index for glyph index.");
-            valid = false;
-          }
-
-          if (valid) {
-            privateDictToUse = fdArray[fdIndex].privateDict;
-            localSubrToUse = privateDictToUse.subrsIndex;
-          }
-        } else if (localSubrIndex) {
-          localSubrToUse = localSubrIndex;
-        }
-
-        if (valid) {
-          valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);
-        }
-
-        if (state.width !== null) {
-          var nominalWidth = privateDictToUse.getByName("nominalWidthX");
-          widths[i] = nominalWidth + state.width;
-        } else {
-          var defaultWidth = privateDictToUse.getByName("defaultWidthX");
-          widths[i] = defaultWidth;
-        }
-
-        if (state.seac !== null) {
-          seacs[i] = state.seac;
-        }
-
-        if (!valid) {
-          charStrings.set(i, new Uint8Array([14]));
-        }
-      }
-
-      return {
-        charStrings: charStrings,
-        seacs: seacs,
-        widths: widths
-      };
-    },
-    emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {
-      var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);
-      parentDict.setByKey(18, [0, 0]);
-      parentDict.privateDict = privateDict;
-    },
-    parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {
-      if (!parentDict.hasName("Private")) {
-        this.emptyPrivateDictionary(parentDict);
-        return;
-      }
-
-      var privateOffset = parentDict.getByName("Private");
-
-      if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {
-        parentDict.removeByName("Private");
-        return;
-      }
-
-      var size = privateOffset[0];
-      var offset = privateOffset[1];
-
-      if (size === 0 || offset >= this.bytes.length) {
-        this.emptyPrivateDictionary(parentDict);
-        return;
-      }
-
-      var privateDictEnd = offset + size;
-      var dictData = this.bytes.subarray(offset, privateDictEnd);
-      var dict = this.parseDict(dictData);
-      var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);
-      parentDict.privateDict = privateDict;
-
-      if (!privateDict.getByName("Subrs")) {
-        return;
-      }
-
-      var subrsOffset = privateDict.getByName("Subrs");
-      var relativeOffset = offset + subrsOffset;
-
-      if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {
-        this.emptyPrivateDictionary(parentDict);
-        return;
-      }
-
-      var subrsIndex = this.parseIndex(relativeOffset);
-      privateDict.subrsIndex = subrsIndex.obj;
-    },
-    parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {
-      if (pos === 0) {
-        return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);
-      } else if (pos === 1) {
-        return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);
-      } else if (pos === 2) {
-        return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);
-      }
-
-      var bytes = this.bytes;
-      var start = pos;
-      var format = bytes[pos++];
-      var charset = [".notdef"];
-      var id, count, i;
-      length -= 1;
-
-      switch (format) {
-        case 0:
-          for (i = 0; i < length; i++) {
-            id = bytes[pos++] << 8 | bytes[pos++];
-            charset.push(cid ? id : strings.get(id));
-          }
-
-          break;
-
-        case 1:
-          while (charset.length <= length) {
-            id = bytes[pos++] << 8 | bytes[pos++];
-            count = bytes[pos++];
-
-            for (i = 0; i <= count; i++) {
-              charset.push(cid ? id++ : strings.get(id++));
-            }
-          }
-
-          break;
-
-        case 2:
-          while (charset.length <= length) {
-            id = bytes[pos++] << 8 | bytes[pos++];
-            count = bytes[pos++] << 8 | bytes[pos++];
-
-            for (i = 0; i <= count; i++) {
-              charset.push(cid ? id++ : strings.get(id++));
-            }
-          }
-
-          break;
-
-        default:
-          throw new _util.FormatError("Unknown charset format");
-      }
-
-      var end = pos;
-      var raw = bytes.subarray(start, end);
-      return new CFFCharset(false, format, charset, raw);
-    },
-    parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {
-      var encoding = Object.create(null);
-      var bytes = this.bytes;
-      var predefined = false;
-      var format, i, ii;
-      var raw = null;
-
-      function readSupplement() {
-        var supplementsCount = bytes[pos++];
-
-        for (i = 0; i < supplementsCount; i++) {
-          var code = bytes[pos++];
-          var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);
-          encoding[code] = charset.indexOf(strings.get(sid));
-        }
-      }
-
-      if (pos === 0 || pos === 1) {
-        predefined = true;
-        format = pos;
-        var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;
-
-        for (i = 0, ii = charset.length; i < ii; i++) {
-          var index = baseEncoding.indexOf(charset[i]);
-
-          if (index !== -1) {
-            encoding[index] = i;
-          }
-        }
-      } else {
-        var dataStart = pos;
-        format = bytes[pos++];
-
-        switch (format & 0x7f) {
-          case 0:
-            var glyphsCount = bytes[pos++];
-
-            for (i = 1; i <= glyphsCount; i++) {
-              encoding[bytes[pos++]] = i;
-            }
-
-            break;
-
-          case 1:
-            var rangesCount = bytes[pos++];
-            var gid = 1;
-
-            for (i = 0; i < rangesCount; i++) {
-              var start = bytes[pos++];
-              var left = bytes[pos++];
-
-              for (var j = start; j <= start + left; j++) {
-                encoding[j] = gid++;
-              }
-            }
-
-            break;
-
-          default:
-            throw new _util.FormatError("Unknown encoding format: ".concat(format, " in CFF"));
-        }
-
-        var dataEnd = pos;
-
-        if (format & 0x80) {
-          bytes[dataStart] &= 0x7f;
-          readSupplement();
-        }
-
-        raw = bytes.subarray(dataStart, dataEnd);
-      }
-
-      format = format & 0x7f;
-      return new CFFEncoding(predefined, format, encoding, raw);
-    },
-    parseFDSelect: function CFFParser_parseFDSelect(pos, length) {
-      var bytes = this.bytes;
-      var format = bytes[pos++];
-      var fdSelect = [];
-      var i;
-
-      switch (format) {
-        case 0:
-          for (i = 0; i < length; ++i) {
-            var id = bytes[pos++];
-            fdSelect.push(id);
-          }
-
-          break;
-
-        case 3:
-          var rangesCount = bytes[pos++] << 8 | bytes[pos++];
-
-          for (i = 0; i < rangesCount; ++i) {
-            var first = bytes[pos++] << 8 | bytes[pos++];
-
-            if (i === 0 && first !== 0) {
-              (0, _util.warn)("parseFDSelect: The first range must have a first GID of 0" + " -- trying to recover.");
-              first = 0;
-            }
-
-            var fdIndex = bytes[pos++];
-            var next = bytes[pos] << 8 | bytes[pos + 1];
-
-            for (var j = first; j < next; ++j) {
-              fdSelect.push(fdIndex);
-            }
-          }
-
-          pos += 2;
-          break;
-
-        default:
-          throw new _util.FormatError("parseFDSelect: Unknown format \"".concat(format, "\"."));
-      }
-
-      if (fdSelect.length !== length) {
-        throw new _util.FormatError("parseFDSelect: Invalid font data.");
-      }
-
-      return new CFFFDSelect(format, fdSelect);
-    }
-  };
-  return CFFParser;
-}();
-
-exports.CFFParser = CFFParser;
-
-var CFF = function CFFClosure() {
-  function CFF() {
-    this.header = null;
-    this.names = [];
-    this.topDict = null;
-    this.strings = new CFFStrings();
-    this.globalSubrIndex = null;
-    this.encoding = null;
-    this.charset = null;
-    this.charStrings = null;
-    this.fdArray = [];
-    this.fdSelect = null;
-    this.isCIDFont = false;
-  }
-
-  CFF.prototype = {
-    duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {
-      if (this.charStrings.count >= 65535) {
-        (0, _util.warn)("Not enough space in charstrings to duplicate first glyph.");
-        return;
-      }
-
-      var glyphZero = this.charStrings.get(0);
-      this.charStrings.add(glyphZero);
-
-      if (this.isCIDFont) {
-        this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);
-      }
-    },
-    hasGlyphId: function CFF_hasGlyphID(id) {
-      if (id < 0 || id >= this.charStrings.count) {
-        return false;
-      }
-
-      var glyph = this.charStrings.get(id);
-      return glyph.length > 0;
-    }
-  };
-  return CFF;
-}();
-
-exports.CFF = CFF;
-
-var CFFHeader = function CFFHeaderClosure() {
-  function CFFHeader(major, minor, hdrSize, offSize) {
-    this.major = major;
-    this.minor = minor;
-    this.hdrSize = hdrSize;
-    this.offSize = offSize;
-  }
-
-  return CFFHeader;
-}();
-
-exports.CFFHeader = CFFHeader;
-
-var CFFStrings = function CFFStringsClosure() {
-  function CFFStrings() {
-    this.strings = [];
-  }
-
-  CFFStrings.prototype = {
-    get: function CFFStrings_get(index) {
-      if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {
-        return CFFStandardStrings[index];
-      }
-
-      if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {
-        return this.strings[index - NUM_STANDARD_CFF_STRINGS];
-      }
-
-      return CFFStandardStrings[0];
-    },
-    getSID: function CFFStrings_getSID(str) {
-      var index = CFFStandardStrings.indexOf(str);
-
-      if (index !== -1) {
-        return index;
-      }
-
-      index = this.strings.indexOf(str);
-
-      if (index !== -1) {
-        return index + NUM_STANDARD_CFF_STRINGS;
-      }
-
-      return -1;
-    },
-    add: function CFFStrings_add(value) {
-      this.strings.push(value);
-    },
-
-    get count() {
-      return this.strings.length;
-    }
-
-  };
-  return CFFStrings;
-}();
-
-exports.CFFStrings = CFFStrings;
-
-var CFFIndex = function CFFIndexClosure() {
-  function CFFIndex() {
-    this.objects = [];
-    this.length = 0;
-  }
-
-  CFFIndex.prototype = {
-    add: function CFFIndex_add(data) {
-      this.length += data.length;
-      this.objects.push(data);
-    },
-    set: function CFFIndex_set(index, data) {
-      this.length += data.length - this.objects[index].length;
-      this.objects[index] = data;
-    },
-    get: function CFFIndex_get(index) {
-      return this.objects[index];
-    },
-
-    get count() {
-      return this.objects.length;
-    }
-
-  };
-  return CFFIndex;
-}();
-
-exports.CFFIndex = CFFIndex;
-
-var CFFDict = function CFFDictClosure() {
-  function CFFDict(tables, strings) {
-    this.keyToNameMap = tables.keyToNameMap;
-    this.nameToKeyMap = tables.nameToKeyMap;
-    this.defaults = tables.defaults;
-    this.types = tables.types;
-    this.opcodes = tables.opcodes;
-    this.order = tables.order;
-    this.strings = strings;
-    this.values = Object.create(null);
-  }
-
-  CFFDict.prototype = {
-    setByKey: function CFFDict_setByKey(key, value) {
-      if (!(key in this.keyToNameMap)) {
-        return false;
-      }
-
-      var valueLength = value.length;
-
-      if (valueLength === 0) {
-        return true;
-      }
-
-      for (var i = 0; i < valueLength; i++) {
-        if (isNaN(value[i])) {
-          (0, _util.warn)('Invalid CFFDict value: "' + value + '" for key "' + key + '".');
-          return true;
-        }
-      }
-
-      var type = this.types[key];
-
-      if (type === "num" || type === "sid" || type === "offset") {
-        value = value[0];
-      }
-
-      this.values[key] = value;
-      return true;
-    },
-    setByName: function CFFDict_setByName(name, value) {
-      if (!(name in this.nameToKeyMap)) {
-        throw new _util.FormatError("Invalid dictionary name \"".concat(name, "\""));
-      }
-
-      this.values[this.nameToKeyMap[name]] = value;
-    },
-    hasName: function CFFDict_hasName(name) {
-      return this.nameToKeyMap[name] in this.values;
-    },
-    getByName: function CFFDict_getByName(name) {
-      if (!(name in this.nameToKeyMap)) {
-        throw new _util.FormatError("Invalid dictionary name ".concat(name, "\""));
-      }
-
-      var key = this.nameToKeyMap[name];
-
-      if (!(key in this.values)) {
-        return this.defaults[key];
-      }
-
-      return this.values[key];
-    },
-    removeByName: function CFFDict_removeByName(name) {
-      delete this.values[this.nameToKeyMap[name]];
-    }
-  };
-
-  CFFDict.createTables = function CFFDict_createTables(layout) {
-    var tables = {
-      keyToNameMap: {},
-      nameToKeyMap: {},
-      defaults: {},
-      types: {},
-      opcodes: {},
-      order: []
-    };
-
-    for (var i = 0, ii = layout.length; i < ii; ++i) {
-      var entry = layout[i];
-      var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];
-      tables.keyToNameMap[key] = entry[1];
-      tables.nameToKeyMap[entry[1]] = key;
-      tables.types[key] = entry[2];
-      tables.defaults[key] = entry[3];
-      tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];
-      tables.order.push(key);
-    }
-
-    return tables;
-  };
-
-  return CFFDict;
-}();
-
-var CFFTopDict = function CFFTopDictClosure() {
-  var layout = [[[12, 30], "ROS", ["sid", "sid", "num"], null], [[12, 20], "SyntheticBase", "num", 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", "num", 0], [[12, 2], "ItalicAngle", "num", 0], [[12, 3], "UnderlinePosition", "num", -100], [[12, 4], "UnderlineThickness", "num", 50], [[12, 5], "PaintType", "num", 0], [[12, 6], "CharstringType", "num", 2], [[12, 7], "FontMatrix", ["num", "num", "num", "num", "num", "num"], [0.001, 0, 0, 0.001, 0, 0]], [13, "UniqueID", "num", null], [5, "FontBBox", ["num", "num", "num", "num"], [0, 0, 0, 0]], [[12, 8], "StrokeWidth", "num", 0], [14, "XUID", "array", null], [15, "charset", "offset", 0], [16, "Encoding", "offset", 0], [17, "CharStrings", "offset", 0], [18, "Private", ["offset", "offset"], null], [[12, 21], "PostScript", "sid", null], [[12, 22], "BaseFontName", "sid", null], [[12, 23], "BaseFontBlend", "delta", null], [[12, 31], "CIDFontVersion", "num", 0], [[12, 32], "CIDFontRevision", "num", 0], [[12, 33], "CIDFontType", "num", 0], [[12, 34], "CIDCount", "num", 8720], [[12, 35], "UIDBase", "num", null], [[12, 37], "FDSelect", "offset", null], [[12, 36], "FDArray", "offset", null], [[12, 38], "FontName", "sid", null]];
-  var tables = null;
-
-  function CFFTopDict(strings) {
-    if (tables === null) {
-      tables = CFFDict.createTables(layout);
-    }
-
-    CFFDict.call(this, tables, strings);
-    this.privateDict = null;
-  }
-
-  CFFTopDict.prototype = Object.create(CFFDict.prototype);
-  return CFFTopDict;
-}();
-
-exports.CFFTopDict = CFFTopDict;
-
-var CFFPrivateDict = function CFFPrivateDictClosure() {
-  var layout = [[6, "BlueValues", "delta", null], [7, "OtherBlues", "delta", null], [8, "FamilyBlues", "delta", null], [9, "FamilyOtherBlues", "delta", null], [[12, 9], "BlueScale", "num", 0.039625], [[12, 10], "BlueShift", "num", 7], [[12, 11], "BlueFuzz", "num", 1], [10, "StdHW", "num", null], [11, "StdVW", "num", null], [[12, 12], "StemSnapH", "delta", null], [[12, 13], "StemSnapV", "delta", null], [[12, 14], "ForceBold", "num", 0], [[12, 17], "LanguageGroup", "num", 0], [[12, 18], "ExpansionFactor", "num", 0.06], [[12, 19], "initialRandomSeed", "num", 0], [20, "defaultWidthX", "num", 0], [21, "nominalWidthX", "num", 0], [19, "Subrs", "offset", null]];
-  var tables = null;
-
-  function CFFPrivateDict(strings) {
-    if (tables === null) {
-      tables = CFFDict.createTables(layout);
-    }
-
-    CFFDict.call(this, tables, strings);
-    this.subrsIndex = null;
-  }
-
-  CFFPrivateDict.prototype = Object.create(CFFDict.prototype);
-  return CFFPrivateDict;
-}();
-
-exports.CFFPrivateDict = CFFPrivateDict;
-var CFFCharsetPredefinedTypes = {
-  ISO_ADOBE: 0,
-  EXPERT: 1,
-  EXPERT_SUBSET: 2
-};
-
-var CFFCharset = function CFFCharsetClosure() {
-  function CFFCharset(predefined, format, charset, raw) {
-    this.predefined = predefined;
-    this.format = format;
-    this.charset = charset;
-    this.raw = raw;
-  }
-
-  return CFFCharset;
-}();
-
-exports.CFFCharset = CFFCharset;
-
-var CFFEncoding = function CFFEncodingClosure() {
-  function CFFEncoding(predefined, format, encoding, raw) {
-    this.predefined = predefined;
-    this.format = format;
-    this.encoding = encoding;
-    this.raw = raw;
-  }
-
-  return CFFEncoding;
-}();
-
-var CFFFDSelect = function CFFFDSelectClosure() {
-  function CFFFDSelect(format, fdSelect) {
-    this.format = format;
-    this.fdSelect = fdSelect;
-  }
-
-  CFFFDSelect.prototype = {
-    getFDIndex: function CFFFDSelect_get(glyphIndex) {
-      if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {
-        return -1;
-      }
-
-      return this.fdSelect[glyphIndex];
-    }
-  };
-  return CFFFDSelect;
-}();
-
-exports.CFFFDSelect = CFFFDSelect;
-
-var CFFOffsetTracker = function CFFOffsetTrackerClosure() {
-  function CFFOffsetTracker() {
-    this.offsets = Object.create(null);
-  }
-
-  CFFOffsetTracker.prototype = {
-    isTracking: function CFFOffsetTracker_isTracking(key) {
-      return key in this.offsets;
-    },
-    track: function CFFOffsetTracker_track(key, location) {
-      if (key in this.offsets) {
-        throw new _util.FormatError("Already tracking location of ".concat(key));
-      }
-
-      this.offsets[key] = location;
-    },
-    offset: function CFFOffsetTracker_offset(value) {
-      for (var key in this.offsets) {
-        this.offsets[key] += value;
-      }
-    },
-    setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {
-      if (!(key in this.offsets)) {
-        throw new _util.FormatError("Not tracking location of ".concat(key));
-      }
-
-      var data = output.data;
-      var dataOffset = this.offsets[key];
-      var size = 5;
-
-      for (var i = 0, ii = values.length; i < ii; ++i) {
-        var offset0 = i * size + dataOffset;
-        var offset1 = offset0 + 1;
-        var offset2 = offset0 + 2;
-        var offset3 = offset0 + 3;
-        var offset4 = offset0 + 4;
-
-        if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {
-          throw new _util.FormatError("writing to an offset that is not empty");
-        }
-
-        var value = values[i];
-        data[offset0] = 0x1d;
-        data[offset1] = value >> 24 & 0xff;
-        data[offset2] = value >> 16 & 0xff;
-        data[offset3] = value >> 8 & 0xff;
-        data[offset4] = value & 0xff;
-      }
-    }
-  };
-  return CFFOffsetTracker;
-}();
-
-var CFFCompiler = function CFFCompilerClosure() {
-  function CFFCompiler(cff) {
-    this.cff = cff;
-  }
-
-  CFFCompiler.prototype = {
-    compile: function CFFCompiler_compile() {
-      var cff = this.cff;
-      var output = {
-        data: [],
-        length: 0,
-        add: function CFFCompiler_add(data) {
-          this.data = this.data.concat(data);
-          this.length = this.data.length;
-        }
-      };
-      var header = this.compileHeader(cff.header);
-      output.add(header);
-      var nameIndex = this.compileNameIndex(cff.names);
-      output.add(nameIndex);
-
-      if (cff.isCIDFont) {
-        if (cff.topDict.hasName("FontMatrix")) {
-          var base = cff.topDict.getByName("FontMatrix");
-          cff.topDict.removeByName("FontMatrix");
-
-          for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {
-            var subDict = cff.fdArray[i];
-            var matrix = base.slice(0);
-
-            if (subDict.hasName("FontMatrix")) {
-              matrix = _util.Util.transform(matrix, subDict.getByName("FontMatrix"));
-            }
-
-            subDict.setByName("FontMatrix", matrix);
-          }
-        }
-      }
-
-      cff.topDict.setByName("charset", 0);
-      var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);
-      output.add(compiled.output);
-      var topDictTracker = compiled.trackers[0];
-      var stringIndex = this.compileStringIndex(cff.strings.strings);
-      output.add(stringIndex);
-      var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);
-      output.add(globalSubrIndex);
-
-      if (cff.encoding && cff.topDict.hasName("Encoding")) {
-        if (cff.encoding.predefined) {
-          topDictTracker.setEntryLocation("Encoding", [cff.encoding.format], output);
-        } else {
-          var encoding = this.compileEncoding(cff.encoding);
-          topDictTracker.setEntryLocation("Encoding", [output.length], output);
-          output.add(encoding);
-        }
-      }
-
-      var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);
-      topDictTracker.setEntryLocation("charset", [output.length], output);
-      output.add(charset);
-      var charStrings = this.compileCharStrings(cff.charStrings);
-      topDictTracker.setEntryLocation("CharStrings", [output.length], output);
-      output.add(charStrings);
-
-      if (cff.isCIDFont) {
-        topDictTracker.setEntryLocation("FDSelect", [output.length], output);
-        var fdSelect = this.compileFDSelect(cff.fdSelect);
-        output.add(fdSelect);
-        compiled = this.compileTopDicts(cff.fdArray, output.length, true);
-        topDictTracker.setEntryLocation("FDArray", [output.length], output);
-        output.add(compiled.output);
-        var fontDictTrackers = compiled.trackers;
-        this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);
-      }
-
-      this.compilePrivateDicts([cff.topDict], [topDictTracker], output);
-      output.add([0]);
-      return output.data;
-    },
-    encodeNumber: function CFFCompiler_encodeNumber(value) {
-      if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {
-        return this.encodeInteger(value);
-      }
-
-      return this.encodeFloat(value);
-    },
-    encodeFloat: function CFFCompiler_encodeFloat(num) {
-      var value = num.toString();
-      var m = /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(value);
-
-      if (m) {
-        var epsilon = parseFloat("1e" + ((m[2] ? +m[2] : 0) + m[1].length));
-        value = (Math.round(num * epsilon) / epsilon).toString();
-      }
-
-      var nibbles = "";
-      var i, ii;
-
-      for (i = 0, ii = value.length; i < ii; ++i) {
-        var a = value[i];
-
-        if (a === "e") {
-          nibbles += value[++i] === "-" ? "c" : "b";
-        } else if (a === ".") {
-          nibbles += "a";
-        } else if (a === "-") {
-          nibbles += "e";
-        } else {
-          nibbles += a;
-        }
-      }
-
-      nibbles += nibbles.length & 1 ? "f" : "ff";
-      var out = [30];
-
-      for (i = 0, ii = nibbles.length; i < ii; i += 2) {
-        out.push(parseInt(nibbles.substring(i, i + 2), 16));
-      }
-
-      return out;
-    },
-    encodeInteger: function CFFCompiler_encodeInteger(value) {
-      var code;
-
-      if (value >= -107 && value <= 107) {
-        code = [value + 139];
-      } else if (value >= 108 && value <= 1131) {
-        value = value - 108;
-        code = [(value >> 8) + 247, value & 0xff];
-      } else if (value >= -1131 && value <= -108) {
-        value = -value - 108;
-        code = [(value >> 8) + 251, value & 0xff];
-      } else if (value >= -32768 && value <= 32767) {
-        code = [0x1c, value >> 8 & 0xff, value & 0xff];
-      } else {
-        code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];
-      }
-
-      return code;
-    },
-    compileHeader: function CFFCompiler_compileHeader(header) {
-      return [header.major, header.minor, header.hdrSize, header.offSize];
-    },
-    compileNameIndex: function CFFCompiler_compileNameIndex(names) {
-      var nameIndex = new CFFIndex();
-
-      for (var i = 0, ii = names.length; i < ii; ++i) {
-        var name = names[i];
-        var length = Math.min(name.length, 127);
-        var sanitizedName = new Array(length);
-
-        for (var j = 0; j < length; j++) {
-          var _char = name[j];
-
-          if (_char < "!" || _char > "~" || _char === "[" || _char === "]" || _char === "(" || _char === ")" || _char === "{" || _char === "}" || _char === "<" || _char === ">" || _char === "/" || _char === "%") {
-            _char = "_";
-          }
-
-          sanitizedName[j] = _char;
-        }
-
-        sanitizedName = sanitizedName.join("");
-
-        if (sanitizedName === "") {
-          sanitizedName = "Bad_Font_Name";
-        }
-
-        nameIndex.add((0, _util.stringToBytes)(sanitizedName));
-      }
-
-      return this.compileIndex(nameIndex);
-    },
-    compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {
-      var fontDictTrackers = [];
-      var fdArrayIndex = new CFFIndex();
-
-      for (var i = 0, ii = dicts.length; i < ii; ++i) {
-        var fontDict = dicts[i];
-
-        if (removeCidKeys) {
-          fontDict.removeByName("CIDFontVersion");
-          fontDict.removeByName("CIDFontRevision");
-          fontDict.removeByName("CIDFontType");
-          fontDict.removeByName("CIDCount");
-          fontDict.removeByName("UIDBase");
-        }
-
-        var fontDictTracker = new CFFOffsetTracker();
-        var fontDictData = this.compileDict(fontDict, fontDictTracker);
-        fontDictTrackers.push(fontDictTracker);
-        fdArrayIndex.add(fontDictData);
-        fontDictTracker.offset(length);
-      }
-
-      fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);
-      return {
-        trackers: fontDictTrackers,
-        output: fdArrayIndex
-      };
-    },
-    compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {
-      for (var i = 0, ii = dicts.length; i < ii; ++i) {
-        var fontDict = dicts[i];
-        var privateDict = fontDict.privateDict;
-
-        if (!privateDict || !fontDict.hasName("Private")) {
-          throw new _util.FormatError("There must be a private dictionary.");
-        }
-
-        var privateDictTracker = new CFFOffsetTracker();
-        var privateDictData = this.compileDict(privateDict, privateDictTracker);
-        var outputLength = output.length;
-        privateDictTracker.offset(outputLength);
-
-        if (!privateDictData.length) {
-          outputLength = 0;
-        }
-
-        trackers[i].setEntryLocation("Private", [privateDictData.length, outputLength], output);
-        output.add(privateDictData);
-
-        if (privateDict.subrsIndex && privateDict.hasName("Subrs")) {
-          var subrs = this.compileIndex(privateDict.subrsIndex);
-          privateDictTracker.setEntryLocation("Subrs", [privateDictData.length], output);
-          output.add(subrs);
-        }
-      }
-    },
-    compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {
-      var out = [];
-      var order = dict.order;
-
-      for (var i = 0; i < order.length; ++i) {
-        var key = order[i];
-
-        if (!(key in dict.values)) {
-          continue;
-        }
-
-        var values = dict.values[key];
-        var types = dict.types[key];
-
-        if (!Array.isArray(types)) {
-          types = [types];
-        }
-
-        if (!Array.isArray(values)) {
-          values = [values];
-        }
-
-        if (values.length === 0) {
-          continue;
-        }
-
-        for (var j = 0, jj = types.length; j < jj; ++j) {
-          var type = types[j];
-          var value = values[j];
-
-          switch (type) {
-            case "num":
-            case "sid":
-              out = out.concat(this.encodeNumber(value));
-              break;
-
-            case "offset":
-              var name = dict.keyToNameMap[key];
-
-              if (!offsetTracker.isTracking(name)) {
-                offsetTracker.track(name, out.length);
-              }
-
-              out = out.concat([0x1d, 0, 0, 0, 0]);
-              break;
-
-            case "array":
-            case "delta":
-              out = out.concat(this.encodeNumber(value));
-
-              for (var k = 1, kk = values.length; k < kk; ++k) {
-                out = out.concat(this.encodeNumber(values[k]));
-              }
-
-              break;
-
-            default:
-              throw new _util.FormatError("Unknown data type of ".concat(type));
-          }
-        }
-
-        out = out.concat(dict.opcodes[key]);
-      }
-
-      return out;
-    },
-    compileStringIndex: function CFFCompiler_compileStringIndex(strings) {
-      var stringIndex = new CFFIndex();
-
-      for (var i = 0, ii = strings.length; i < ii; ++i) {
-        stringIndex.add((0, _util.stringToBytes)(strings[i]));
-      }
-
-      return this.compileIndex(stringIndex);
-    },
-    compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {
-      var globalSubrIndex = this.cff.globalSubrIndex;
-      this.out.writeByteArray(this.compileIndex(globalSubrIndex));
-    },
-    compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {
-      var charStringsIndex = new CFFIndex();
-
-      for (var i = 0; i < charStrings.count; i++) {
-        var glyph = charStrings.get(i);
-
-        if (glyph.length === 0) {
-          charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));
-          continue;
-        }
-
-        charStringsIndex.add(glyph);
-      }
-
-      return this.compileIndex(charStringsIndex);
-    },
-    compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {
-      var out;
-      var numGlyphsLessNotDef = numGlyphs - 1;
-
-      if (isCIDFont) {
-        out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);
-      } else {
-        var length = 1 + numGlyphsLessNotDef * 2;
-        out = new Uint8Array(length);
-        out[0] = 0;
-        var charsetIndex = 0;
-        var numCharsets = charset.charset.length;
-        var warned = false;
-
-        for (var i = 1; i < out.length; i += 2) {
-          var sid = 0;
-
-          if (charsetIndex < numCharsets) {
-            var name = charset.charset[charsetIndex++];
-            sid = strings.getSID(name);
-
-            if (sid === -1) {
-              sid = 0;
-
-              if (!warned) {
-                warned = true;
-                (0, _util.warn)("Couldn't find ".concat(name, " in CFF strings"));
-              }
-            }
-          }
-
-          out[i] = sid >> 8 & 0xff;
-          out[i + 1] = sid & 0xff;
-        }
-      }
-
-      return this.compileTypedArray(out);
-    },
-    compileEncoding: function CFFCompiler_compileEncoding(encoding) {
-      return this.compileTypedArray(encoding.raw);
-    },
-    compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {
-      var format = fdSelect.format;
-      var out, i;
-
-      switch (format) {
-        case 0:
-          out = new Uint8Array(1 + fdSelect.fdSelect.length);
-          out[0] = format;
-
-          for (i = 0; i < fdSelect.fdSelect.length; i++) {
-            out[i + 1] = fdSelect.fdSelect[i];
-          }
-
-          break;
-
-        case 3:
-          var start = 0;
-          var lastFD = fdSelect.fdSelect[0];
-          var ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];
-
-          for (i = 1; i < fdSelect.fdSelect.length; i++) {
-            var currentFD = fdSelect.fdSelect[i];
-
-            if (currentFD !== lastFD) {
-              ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);
-              lastFD = currentFD;
-            }
-          }
-
-          var numRanges = (ranges.length - 3) / 3;
-          ranges[1] = numRanges >> 8 & 0xff;
-          ranges[2] = numRanges & 0xff;
-          ranges.push(i >> 8 & 0xff, i & 0xff);
-          out = new Uint8Array(ranges);
-          break;
-      }
-
-      return this.compileTypedArray(out);
-    },
-    compileTypedArray: function CFFCompiler_compileTypedArray(data) {
-      var out = [];
-
-      for (var i = 0, ii = data.length; i < ii; ++i) {
-        out[i] = data[i];
-      }
-
-      return out;
-    },
-    compileIndex: function CFFCompiler_compileIndex(index, trackers) {
-      trackers = trackers || [];
-      var objects = index.objects;
-      var count = objects.length;
-
-      if (count === 0) {
-        return [0, 0, 0];
-      }
-
-      var data = [count >> 8 & 0xff, count & 0xff];
-      var lastOffset = 1,
-          i;
-
-      for (i = 0; i < count; ++i) {
-        lastOffset += objects[i].length;
-      }
-
-      var offsetSize;
-
-      if (lastOffset < 0x100) {
-        offsetSize = 1;
-      } else if (lastOffset < 0x10000) {
-        offsetSize = 2;
-      } else if (lastOffset < 0x1000000) {
-        offsetSize = 3;
-      } else {
-        offsetSize = 4;
-      }
-
-      data.push(offsetSize);
-      var relativeOffset = 1;
-
-      for (i = 0; i < count + 1; i++) {
-        if (offsetSize === 1) {
-          data.push(relativeOffset & 0xff);
-        } else if (offsetSize === 2) {
-          data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);
-        } else if (offsetSize === 3) {
-          data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);
-        } else {
-          data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);
-        }
-
-        if (objects[i]) {
-          relativeOffset += objects[i].length;
-        }
-      }
-
-      for (i = 0; i < count; i++) {
-        if (trackers[i]) {
-          trackers[i].offset(data.length);
-        }
-
-        for (var j = 0, jj = objects[i].length; j < jj; j++) {
-          data.push(objects[i][j]);
-        }
-      }
-
-      return data;
-    }
-  };
-  return CFFCompiler;
-}();
-
-exports.CFFCompiler = CFFCompiler;
-
-/***/ }),
-/* 219 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;
-var 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"];
-exports.ISOAdobeCharset = ISOAdobeCharset;
-var 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"];
-exports.ExpertCharset = ExpertCharset;
-var 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"];
-exports.ExpertSubsetCharset = ExpertSubsetCharset;
-
-/***/ }),
-/* 220 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getEncoding = getEncoding;
-exports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;
-var 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"];
-exports.ExpertEncoding = ExpertEncoding;
-var MacExpertEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclamsmall", "Hungarumlautsmall", "centoldstyle", "dollaroldstyle", "dollarsuperior", "ampersandsmall", "Acutesmall", "parenleftsuperior", "parenrightsuperior", "twodotenleader", "onedotenleader", "comma", "hyphen", "period", "fraction", "zerooldstyle", "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", "fiveoldstyle", "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", "colon", "semicolon", "", "threequartersemdash", "", "questionsmall", "", "", "", "", "Ethsmall", "", "", "onequarter", "onehalf", "threequarters", "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", "twothirds", "", "", "", "", "", "", "ff", "fi", "fl", "ffi", "ffl", "parenleftinferior", "", "parenrightinferior", "Circumflexsmall", "hypheninferior", "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", "", "", "asuperior", "centsuperior", "", "", "", "", "Aacutesmall", "Agravesmall", "Acircumflexsmall", "Adieresissmall", "Atildesmall", "Aringsmall", "Ccedillasmall", "Eacutesmall", "Egravesmall", "Ecircumflexsmall", "Edieresissmall", "Iacutesmall", "Igravesmall", "Icircumflexsmall", "Idieresissmall", "Ntildesmall", "Oacutesmall", "Ogravesmall", "Ocircumflexsmall", "Odieresissmall", "Otildesmall", "Uacutesmall", "Ugravesmall", "Ucircumflexsmall", "Udieresissmall", "", "eightsuperior", "fourinferior", "threeinferior", "sixinferior", "eightinferior", "seveninferior", "Scaronsmall", "", "centinferior", "twoinferior", "", "Dieresissmall", "", "Caronsmall", "osuperior", "fiveinferior", "", "commainferior", "periodinferior", "Yacutesmall", "", "dollarinferior", "", "", "Thornsmall", "", "nineinferior", "zeroinferior", "Zcaronsmall", "AEsmall", "Oslashsmall", "questiondownsmall", "oneinferior", "Lslashsmall", "", "", "", "", "", "", "Cedillasmall", "", "", "", "", "", "OEsmall", "figuredash", "hyphensuperior", "", "", "", "", "exclamdownsmall", "", "Ydieresissmall", "", "onesuperior", "twosuperior", "threesuperior", "foursuperior", "fivesuperior", "sixsuperior", "sevensuperior", "ninesuperior", "zerosuperior", "", "esuperior", "rsuperior", "tsuperior", "", "", "isuperior", "ssuperior", "dsuperior", "", "", "", "", "", "lsuperior", "Ogoneksmall", "Brevesmall", "Macronsmall", "bsuperior", "nsuperior", "msuperior", "commasuperior", "periodsuperior", "Dotaccentsmall", "Ringsmall", "", "", "", ""];
-var MacRomanEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "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", "space", "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"];
-exports.MacRomanEncoding = MacRomanEncoding;
-var 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", "", "", "", ""];
-exports.StandardEncoding = StandardEncoding;
-var WinAnsiEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "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", "bullet", "Euro", "bullet", "quotesinglbase", "florin", "quotedblbase", "ellipsis", "dagger", "daggerdbl", "circumflex", "perthousand", "Scaron", "guilsinglleft", "OE", "bullet", "Zcaron", "bullet", "bullet", "quoteleft", "quoteright", "quotedblleft", "quotedblright", "bullet", "endash", "emdash", "tilde", "trademark", "scaron", "guilsinglright", "oe", "bullet", "zcaron", "Ydieresis", "space", "exclamdown", "cent", "sterling", "currency", "yen", "brokenbar", "section", "dieresis", "copyright", "ordfeminine", "guillemotleft", "logicalnot", "hyphen", "registered", "macron", "degree", "plusminus", "twosuperior", "threesuperior", "acute", "mu", "paragraph", "periodcentered", "cedilla", "onesuperior", "ordmasculine", "guillemotright", "onequarter", "onehalf", "threequarters", "questiondown", "Agrave", "Aacute", "Acircumflex", "Atilde", "Adieresis", "Aring", "AE", "Ccedilla", "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", "Iacute", "Icircumflex", "Idieresis", "Eth", "Ntilde", "Ograve", "Oacute", "Ocircumflex", "Otilde", "Odieresis", "multiply", "Oslash", "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn", "germandbls", "agrave", "aacute", "acircumflex", "atilde", "adieresis", "aring", "ae", "ccedilla", "egrave", "eacute", "ecircumflex", "edieresis", "igrave", "iacute", "icircumflex", "idieresis", "eth", "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis", "divide", "oslash", "ugrave", "uacute", "ucircumflex", "udieresis", "yacute", "thorn", "ydieresis"];
-exports.WinAnsiEncoding = WinAnsiEncoding;
-var SymbolSetEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "exclam", "universal", "numbersign", "existential", "percent", "ampersand", "suchthat", "parenleft", "parenright", "asteriskmath", "plus", "comma", "minus", "period", "slash", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "colon", "semicolon", "less", "equal", "greater", "question", "congruent", "Alpha", "Beta", "Chi", "Delta", "Epsilon", "Phi", "Gamma", "Eta", "Iota", "theta1", "Kappa", "Lambda", "Mu", "Nu", "Omicron", "Pi", "Theta", "Rho", "Sigma", "Tau", "Upsilon", "sigma1", "Omega", "Xi", "Psi", "Zeta", "bracketleft", "therefore", "bracketright", "perpendicular", "underscore", "radicalex", "alpha", "beta", "chi", "delta", "epsilon", "phi", "gamma", "eta", "iota", "phi1", "kappa", "lambda", "mu", "nu", "omicron", "pi", "theta", "rho", "sigma", "tau", "upsilon", "omega1", "omega", "xi", "psi", "zeta", "braceleft", "bar", "braceright", "similar", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "Euro", "Upsilon1", "minute", "lessequal", "fraction", "infinity", "florin", "club", "diamond", "heart", "spade", "arrowboth", "arrowleft", "arrowup", "arrowright", "arrowdown", "degree", "plusminus", "second", "greaterequal", "multiply", "proportional", "partialdiff", "bullet", "divide", "notequal", "equivalence", "approxequal", "ellipsis", "arrowvertex", "arrowhorizex", "carriagereturn", "aleph", "Ifraktur", "Rfraktur", "weierstrass", "circlemultiply", "circleplus", "emptyset", "intersection", "union", "propersuperset", "reflexsuperset", "notsubset", "propersubset", "reflexsubset", "element", "notelement", "angle", "gradient", "registerserif", "copyrightserif", "trademarkserif", "product", "radical", "dotmath", "logicalnot", "logicaland", "logicalor", "arrowdblboth", "arrowdblleft", "arrowdblup", "arrowdblright", "arrowdbldown", "lozenge", "angleleft", "registersans", "copyrightsans", "trademarksans", "summation", "parenlefttp", "parenleftex", "parenleftbt", "bracketlefttp", "bracketleftex", "bracketleftbt", "bracelefttp", "braceleftmid", "braceleftbt", "braceex", "", "angleright", "integral", "integraltp", "integralex", "integralbt", "parenrighttp", "parenrightex", "parenrightbt", "bracketrighttp", "bracketrightex", "bracketrightbt", "bracerighttp", "bracerightmid", "bracerightbt", ""];
-exports.SymbolSetEncoding = SymbolSetEncoding;
-var ZapfDingbatsEncoding = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "space", "a1", "a2", "a202", "a3", "a4", "a5", "a119", "a118", "a117", "a11", "a12", "a13", "a14", "a15", "a16", "a105", "a17", "a18", "a19", "a20", "a21", "a22", "a23", "a24", "a25", "a26", "a27", "a28", "a6", "a7", "a8", "a9", "a10", "a29", "a30", "a31", "a32", "a33", "a34", "a35", "a36", "a37", "a38", "a39", "a40", "a41", "a42", "a43", "a44", "a45", "a46", "a47", "a48", "a49", "a50", "a51", "a52", "a53", "a54", "a55", "a56", "a57", "a58", "a59", "a60", "a61", "a62", "a63", "a64", "a65", "a66", "a67", "a68", "a69", "a70", "a71", "a72", "a73", "a74", "a203", "a75", "a204", "a76", "a77", "a78", "a79", "a81", "a82", "a83", "a84", "a97", "a98", "a99", "a100", "", "a89", "a90", "a93", "a94", "a91", "a92", "a205", "a85", "a206", "a86", "a87", "a88", "a95", "a96", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "a101", "a102", "a103", "a104", "a106", "a107", "a108", "a112", "a111", "a110", "a109", "a120", "a121", "a122", "a123", "a124", "a125", "a126", "a127", "a128", "a129", "a130", "a131", "a132", "a133", "a134", "a135", "a136", "a137", "a138", "a139", "a140", "a141", "a142", "a143", "a144", "a145", "a146", "a147", "a148", "a149", "a150", "a151", "a152", "a153", "a154", "a155", "a156", "a157", "a158", "a159", "a160", "a161", "a163", "a164", "a196", "a165", "a192", "a166", "a167", "a168", "a169", "a170", "a171", "a172", "a173", "a162", "a174", "a175", "a176", "a177", "a178", "a179", "a193", "a180", "a199", "a181", "a200", "a182", "", "a201", "a183", "a184", "a197", "a185", "a194", "a198", "a186", "a195", "a187", "a188", "a189", "a190", "a191", ""];
-exports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;
-
-function getEncoding(encodingName) {
-  switch (encodingName) {
-    case "WinAnsiEncoding":
-      return WinAnsiEncoding;
-
-    case "StandardEncoding":
-      return StandardEncoding;
-
-    case "MacRomanEncoding":
-      return MacRomanEncoding;
-
-    case "SymbolSetEncoding":
-      return SymbolSetEncoding;
-
-    case "ZapfDingbatsEncoding":
-      return ZapfDingbatsEncoding;
-
-    case "ExpertEncoding":
-      return ExpertEncoding;
-
-    case "MacExpertEncoding":
-      return MacExpertEncoding;
-
-    default:
-      return null;
-  }
-}
-
-/***/ }),
-/* 221 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getLookupTableFactory = __w_pdfjs_require__(197).getLookupTableFactory;
-var getGlyphsUnicode = getLookupTableFactory(function (t) {
- t["A"] = 0x0041;
- t["AE"] = 0x00c6;
- t["AEacute"] = 0x01fc;
- t["AEmacron"] = 0x01e2;
- t["AEsmall"] = 0xf7e6;
- t["Aacute"] = 0x00c1;
- t["Aacutesmall"] = 0xf7e1;
- t["Abreve"] = 0x0102;
- t["Abreveacute"] = 0x1eae;
- t["Abrevecyrillic"] = 0x04d0;
- t["Abrevedotbelow"] = 0x1eb6;
- t["Abrevegrave"] = 0x1eb0;
- t["Abrevehookabove"] = 0x1eb2;
- t["Abrevetilde"] = 0x1eb4;
- t["Acaron"] = 0x01cd;
- t["Acircle"] = 0x24b6;
- t["Acircumflex"] = 0x00c2;
- t["Acircumflexacute"] = 0x1ea4;
- t["Acircumflexdotbelow"] = 0x1eac;
- t["Acircumflexgrave"] = 0x1ea6;
- t["Acircumflexhookabove"] = 0x1ea8;
- t["Acircumflexsmall"] = 0xf7e2;
- t["Acircumflextilde"] = 0x1eaa;
- t["Acute"] = 0xf6c9;
- t["Acutesmall"] = 0xf7b4;
- t["Acyrillic"] = 0x0410;
- t["Adblgrave"] = 0x0200;
- t["Adieresis"] = 0x00c4;
- t["Adieresiscyrillic"] = 0x04d2;
- t["Adieresismacron"] = 0x01de;
- t["Adieresissmall"] = 0xf7e4;
- t["Adotbelow"] = 0x1ea0;
- t["Adotmacron"] = 0x01e0;
- t["Agrave"] = 0x00c0;
- t["Agravesmall"] = 0xf7e0;
- t["Ahookabove"] = 0x1ea2;
- t["Aiecyrillic"] = 0x04d4;
- t["Ainvertedbreve"] = 0x0202;
- t["Alpha"] = 0x0391;
- t["Alphatonos"] = 0x0386;
- t["Amacron"] = 0x0100;
- t["Amonospace"] = 0xff21;
- t["Aogonek"] = 0x0104;
- t["Aring"] = 0x00c5;
- t["Aringacute"] = 0x01fa;
- t["Aringbelow"] = 0x1e00;
- t["Aringsmall"] = 0xf7e5;
- t["Asmall"] = 0xf761;
- t["Atilde"] = 0x00c3;
- t["Atildesmall"] = 0xf7e3;
- t["Aybarmenian"] = 0x0531;
- t["B"] = 0x0042;
- t["Bcircle"] = 0x24b7;
- t["Bdotaccent"] = 0x1e02;
- t["Bdotbelow"] = 0x1e04;
- t["Becyrillic"] = 0x0411;
- t["Benarmenian"] = 0x0532;
- t["Beta"] = 0x0392;
- t["Bhook"] = 0x0181;
- t["Blinebelow"] = 0x1e06;
- t["Bmonospace"] = 0xff22;
- t["Brevesmall"] = 0xf6f4;
- t["Bsmall"] = 0xf762;
- t["Btopbar"] = 0x0182;
- t["C"] = 0x0043;
- t["Caarmenian"] = 0x053e;
- t["Cacute"] = 0x0106;
- t["Caron"] = 0xf6ca;
- t["Caronsmall"] = 0xf6f5;
- t["Ccaron"] = 0x010c;
- t["Ccedilla"] = 0x00c7;
- t["Ccedillaacute"] = 0x1e08;
- t["Ccedillasmall"] = 0xf7e7;
- t["Ccircle"] = 0x24b8;
- t["Ccircumflex"] = 0x0108;
- t["Cdot"] = 0x010a;
- t["Cdotaccent"] = 0x010a;
- t["Cedillasmall"] = 0xf7b8;
- t["Chaarmenian"] = 0x0549;
- t["Cheabkhasiancyrillic"] = 0x04bc;
- t["Checyrillic"] = 0x0427;
- t["Chedescenderabkhasiancyrillic"] = 0x04be;
- t["Chedescendercyrillic"] = 0x04b6;
- t["Chedieresiscyrillic"] = 0x04f4;
- t["Cheharmenian"] = 0x0543;
- t["Chekhakassiancyrillic"] = 0x04cb;
- t["Cheverticalstrokecyrillic"] = 0x04b8;
- t["Chi"] = 0x03a7;
- t["Chook"] = 0x0187;
- t["Circumflexsmall"] = 0xf6f6;
- t["Cmonospace"] = 0xff23;
- t["Coarmenian"] = 0x0551;
- t["Csmall"] = 0xf763;
- t["D"] = 0x0044;
- t["DZ"] = 0x01f1;
- t["DZcaron"] = 0x01c4;
- t["Daarmenian"] = 0x0534;
- t["Dafrican"] = 0x0189;
- t["Dcaron"] = 0x010e;
- t["Dcedilla"] = 0x1e10;
- t["Dcircle"] = 0x24b9;
- t["Dcircumflexbelow"] = 0x1e12;
- t["Dcroat"] = 0x0110;
- t["Ddotaccent"] = 0x1e0a;
- t["Ddotbelow"] = 0x1e0c;
- t["Decyrillic"] = 0x0414;
- t["Deicoptic"] = 0x03ee;
- t["Delta"] = 0x2206;
- t["Deltagreek"] = 0x0394;
- t["Dhook"] = 0x018a;
- t["Dieresis"] = 0xf6cb;
- t["DieresisAcute"] = 0xf6cc;
- t["DieresisGrave"] = 0xf6cd;
- t["Dieresissmall"] = 0xf7a8;
- t["Digammagreek"] = 0x03dc;
- t["Djecyrillic"] = 0x0402;
- t["Dlinebelow"] = 0x1e0e;
- t["Dmonospace"] = 0xff24;
- t["Dotaccentsmall"] = 0xf6f7;
- t["Dslash"] = 0x0110;
- t["Dsmall"] = 0xf764;
- t["Dtopbar"] = 0x018b;
- t["Dz"] = 0x01f2;
- t["Dzcaron"] = 0x01c5;
- t["Dzeabkhasiancyrillic"] = 0x04e0;
- t["Dzecyrillic"] = 0x0405;
- t["Dzhecyrillic"] = 0x040f;
- t["E"] = 0x0045;
- t["Eacute"] = 0x00c9;
- t["Eacutesmall"] = 0xf7e9;
- t["Ebreve"] = 0x0114;
- t["Ecaron"] = 0x011a;
- t["Ecedillabreve"] = 0x1e1c;
- t["Echarmenian"] = 0x0535;
- t["Ecircle"] = 0x24ba;
- t["Ecircumflex"] = 0x00ca;
- t["Ecircumflexacute"] = 0x1ebe;
- t["Ecircumflexbelow"] = 0x1e18;
- t["Ecircumflexdotbelow"] = 0x1ec6;
- t["Ecircumflexgrave"] = 0x1ec0;
- t["Ecircumflexhookabove"] = 0x1ec2;
- t["Ecircumflexsmall"] = 0xf7ea;
- t["Ecircumflextilde"] = 0x1ec4;
- t["Ecyrillic"] = 0x0404;
- t["Edblgrave"] = 0x0204;
- t["Edieresis"] = 0x00cb;
- t["Edieresissmall"] = 0xf7eb;
- t["Edot"] = 0x0116;
- t["Edotaccent"] = 0x0116;
- t["Edotbelow"] = 0x1eb8;
- t["Efcyrillic"] = 0x0424;
- t["Egrave"] = 0x00c8;
- t["Egravesmall"] = 0xf7e8;
- t["Eharmenian"] = 0x0537;
- t["Ehookabove"] = 0x1eba;
- t["Eightroman"] = 0x2167;
- t["Einvertedbreve"] = 0x0206;
- t["Eiotifiedcyrillic"] = 0x0464;
- t["Elcyrillic"] = 0x041b;
- t["Elevenroman"] = 0x216a;
- t["Emacron"] = 0x0112;
- t["Emacronacute"] = 0x1e16;
- t["Emacrongrave"] = 0x1e14;
- t["Emcyrillic"] = 0x041c;
- t["Emonospace"] = 0xff25;
- t["Encyrillic"] = 0x041d;
- t["Endescendercyrillic"] = 0x04a2;
- t["Eng"] = 0x014a;
- t["Enghecyrillic"] = 0x04a4;
- t["Enhookcyrillic"] = 0x04c7;
- t["Eogonek"] = 0x0118;
- t["Eopen"] = 0x0190;
- t["Epsilon"] = 0x0395;
- t["Epsilontonos"] = 0x0388;
- t["Ercyrillic"] = 0x0420;
- t["Ereversed"] = 0x018e;
- t["Ereversedcyrillic"] = 0x042d;
- t["Escyrillic"] = 0x0421;
- t["Esdescendercyrillic"] = 0x04aa;
- t["Esh"] = 0x01a9;
- t["Esmall"] = 0xf765;
- t["Eta"] = 0x0397;
- t["Etarmenian"] = 0x0538;
- t["Etatonos"] = 0x0389;
- t["Eth"] = 0x00d0;
- t["Ethsmall"] = 0xf7f0;
- t["Etilde"] = 0x1ebc;
- t["Etildebelow"] = 0x1e1a;
- t["Euro"] = 0x20ac;
- t["Ezh"] = 0x01b7;
- t["Ezhcaron"] = 0x01ee;
- t["Ezhreversed"] = 0x01b8;
- t["F"] = 0x0046;
- t["Fcircle"] = 0x24bb;
- t["Fdotaccent"] = 0x1e1e;
- t["Feharmenian"] = 0x0556;
- t["Feicoptic"] = 0x03e4;
- t["Fhook"] = 0x0191;
- t["Fitacyrillic"] = 0x0472;
- t["Fiveroman"] = 0x2164;
- t["Fmonospace"] = 0xff26;
- t["Fourroman"] = 0x2163;
- t["Fsmall"] = 0xf766;
- t["G"] = 0x0047;
- t["GBsquare"] = 0x3387;
- t["Gacute"] = 0x01f4;
- t["Gamma"] = 0x0393;
- t["Gammaafrican"] = 0x0194;
- t["Gangiacoptic"] = 0x03ea;
- t["Gbreve"] = 0x011e;
- t["Gcaron"] = 0x01e6;
- t["Gcedilla"] = 0x0122;
- t["Gcircle"] = 0x24bc;
- t["Gcircumflex"] = 0x011c;
- t["Gcommaaccent"] = 0x0122;
- t["Gdot"] = 0x0120;
- t["Gdotaccent"] = 0x0120;
- t["Gecyrillic"] = 0x0413;
- t["Ghadarmenian"] = 0x0542;
- t["Ghemiddlehookcyrillic"] = 0x0494;
- t["Ghestrokecyrillic"] = 0x0492;
- t["Gheupturncyrillic"] = 0x0490;
- t["Ghook"] = 0x0193;
- t["Gimarmenian"] = 0x0533;
- t["Gjecyrillic"] = 0x0403;
- t["Gmacron"] = 0x1e20;
- t["Gmonospace"] = 0xff27;
- t["Grave"] = 0xf6ce;
- t["Gravesmall"] = 0xf760;
- t["Gsmall"] = 0xf767;
- t["Gsmallhook"] = 0x029b;
- t["Gstroke"] = 0x01e4;
- t["H"] = 0x0048;
- t["H18533"] = 0x25cf;
- t["H18543"] = 0x25aa;
- t["H18551"] = 0x25ab;
- t["H22073"] = 0x25a1;
- t["HPsquare"] = 0x33cb;
- t["Haabkhasiancyrillic"] = 0x04a8;
- t["Hadescendercyrillic"] = 0x04b2;
- t["Hardsigncyrillic"] = 0x042a;
- t["Hbar"] = 0x0126;
- t["Hbrevebelow"] = 0x1e2a;
- t["Hcedilla"] = 0x1e28;
- t["Hcircle"] = 0x24bd;
- t["Hcircumflex"] = 0x0124;
- t["Hdieresis"] = 0x1e26;
- t["Hdotaccent"] = 0x1e22;
- t["Hdotbelow"] = 0x1e24;
- t["Hmonospace"] = 0xff28;
- t["Hoarmenian"] = 0x0540;
- t["Horicoptic"] = 0x03e8;
- t["Hsmall"] = 0xf768;
- t["Hungarumlaut"] = 0xf6cf;
- t["Hungarumlautsmall"] = 0xf6f8;
- t["Hzsquare"] = 0x3390;
- t["I"] = 0x0049;
- t["IAcyrillic"] = 0x042f;
- t["IJ"] = 0x0132;
- t["IUcyrillic"] = 0x042e;
- t["Iacute"] = 0x00cd;
- t["Iacutesmall"] = 0xf7ed;
- t["Ibreve"] = 0x012c;
- t["Icaron"] = 0x01cf;
- t["Icircle"] = 0x24be;
- t["Icircumflex"] = 0x00ce;
- t["Icircumflexsmall"] = 0xf7ee;
- t["Icyrillic"] = 0x0406;
- t["Idblgrave"] = 0x0208;
- t["Idieresis"] = 0x00cf;
- t["Idieresisacute"] = 0x1e2e;
- t["Idieresiscyrillic"] = 0x04e4;
- t["Idieresissmall"] = 0xf7ef;
- t["Idot"] = 0x0130;
- t["Idotaccent"] = 0x0130;
- t["Idotbelow"] = 0x1eca;
- t["Iebrevecyrillic"] = 0x04d6;
- t["Iecyrillic"] = 0x0415;
- t["Ifraktur"] = 0x2111;
- t["Igrave"] = 0x00cc;
- t["Igravesmall"] = 0xf7ec;
- t["Ihookabove"] = 0x1ec8;
- t["Iicyrillic"] = 0x0418;
- t["Iinvertedbreve"] = 0x020a;
- t["Iishortcyrillic"] = 0x0419;
- t["Imacron"] = 0x012a;
- t["Imacroncyrillic"] = 0x04e2;
- t["Imonospace"] = 0xff29;
- t["Iniarmenian"] = 0x053b;
- t["Iocyrillic"] = 0x0401;
- t["Iogonek"] = 0x012e;
- t["Iota"] = 0x0399;
- t["Iotaafrican"] = 0x0196;
- t["Iotadieresis"] = 0x03aa;
- t["Iotatonos"] = 0x038a;
- t["Ismall"] = 0xf769;
- t["Istroke"] = 0x0197;
- t["Itilde"] = 0x0128;
- t["Itildebelow"] = 0x1e2c;
- t["Izhitsacyrillic"] = 0x0474;
- t["Izhitsadblgravecyrillic"] = 0x0476;
- t["J"] = 0x004a;
- t["Jaarmenian"] = 0x0541;
- t["Jcircle"] = 0x24bf;
- t["Jcircumflex"] = 0x0134;
- t["Jecyrillic"] = 0x0408;
- t["Jheharmenian"] = 0x054b;
- t["Jmonospace"] = 0xff2a;
- t["Jsmall"] = 0xf76a;
- t["K"] = 0x004b;
- t["KBsquare"] = 0x3385;
- t["KKsquare"] = 0x33cd;
- t["Kabashkircyrillic"] = 0x04a0;
- t["Kacute"] = 0x1e30;
- t["Kacyrillic"] = 0x041a;
- t["Kadescendercyrillic"] = 0x049a;
- t["Kahookcyrillic"] = 0x04c3;
- t["Kappa"] = 0x039a;
- t["Kastrokecyrillic"] = 0x049e;
- t["Kaverticalstrokecyrillic"] = 0x049c;
- t["Kcaron"] = 0x01e8;
- t["Kcedilla"] = 0x0136;
- t["Kcircle"] = 0x24c0;
- t["Kcommaaccent"] = 0x0136;
- t["Kdotbelow"] = 0x1e32;
- t["Keharmenian"] = 0x0554;
- t["Kenarmenian"] = 0x053f;
- t["Khacyrillic"] = 0x0425;
- t["Kheicoptic"] = 0x03e6;
- t["Khook"] = 0x0198;
- t["Kjecyrillic"] = 0x040c;
- t["Klinebelow"] = 0x1e34;
- t["Kmonospace"] = 0xff2b;
- t["Koppacyrillic"] = 0x0480;
- t["Koppagreek"] = 0x03de;
- t["Ksicyrillic"] = 0x046e;
- t["Ksmall"] = 0xf76b;
- t["L"] = 0x004c;
- t["LJ"] = 0x01c7;
- t["LL"] = 0xf6bf;
- t["Lacute"] = 0x0139;
- t["Lambda"] = 0x039b;
- t["Lcaron"] = 0x013d;
- t["Lcedilla"] = 0x013b;
- t["Lcircle"] = 0x24c1;
- t["Lcircumflexbelow"] = 0x1e3c;
- t["Lcommaaccent"] = 0x013b;
- t["Ldot"] = 0x013f;
- t["Ldotaccent"] = 0x013f;
- t["Ldotbelow"] = 0x1e36;
- t["Ldotbelowmacron"] = 0x1e38;
- t["Liwnarmenian"] = 0x053c;
- t["Lj"] = 0x01c8;
- t["Ljecyrillic"] = 0x0409;
- t["Llinebelow"] = 0x1e3a;
- t["Lmonospace"] = 0xff2c;
- t["Lslash"] = 0x0141;
- t["Lslashsmall"] = 0xf6f9;
- t["Lsmall"] = 0xf76c;
- t["M"] = 0x004d;
- t["MBsquare"] = 0x3386;
- t["Macron"] = 0xf6d0;
- t["Macronsmall"] = 0xf7af;
- t["Macute"] = 0x1e3e;
- t["Mcircle"] = 0x24c2;
- t["Mdotaccent"] = 0x1e40;
- t["Mdotbelow"] = 0x1e42;
- t["Menarmenian"] = 0x0544;
- t["Mmonospace"] = 0xff2d;
- t["Msmall"] = 0xf76d;
- t["Mturned"] = 0x019c;
- t["Mu"] = 0x039c;
- t["N"] = 0x004e;
- t["NJ"] = 0x01ca;
- t["Nacute"] = 0x0143;
- t["Ncaron"] = 0x0147;
- t["Ncedilla"] = 0x0145;
- t["Ncircle"] = 0x24c3;
- t["Ncircumflexbelow"] = 0x1e4a;
- t["Ncommaaccent"] = 0x0145;
- t["Ndotaccent"] = 0x1e44;
- t["Ndotbelow"] = 0x1e46;
- t["Nhookleft"] = 0x019d;
- t["Nineroman"] = 0x2168;
- t["Nj"] = 0x01cb;
- t["Njecyrillic"] = 0x040a;
- t["Nlinebelow"] = 0x1e48;
- t["Nmonospace"] = 0xff2e;
- t["Nowarmenian"] = 0x0546;
- t["Nsmall"] = 0xf76e;
- t["Ntilde"] = 0x00d1;
- t["Ntildesmall"] = 0xf7f1;
- t["Nu"] = 0x039d;
- t["O"] = 0x004f;
- t["OE"] = 0x0152;
- t["OEsmall"] = 0xf6fa;
- t["Oacute"] = 0x00d3;
- t["Oacutesmall"] = 0xf7f3;
- t["Obarredcyrillic"] = 0x04e8;
- t["Obarreddieresiscyrillic"] = 0x04ea;
- t["Obreve"] = 0x014e;
- t["Ocaron"] = 0x01d1;
- t["Ocenteredtilde"] = 0x019f;
- t["Ocircle"] = 0x24c4;
- t["Ocircumflex"] = 0x00d4;
- t["Ocircumflexacute"] = 0x1ed0;
- t["Ocircumflexdotbelow"] = 0x1ed8;
- t["Ocircumflexgrave"] = 0x1ed2;
- t["Ocircumflexhookabove"] = 0x1ed4;
- t["Ocircumflexsmall"] = 0xf7f4;
- t["Ocircumflextilde"] = 0x1ed6;
- t["Ocyrillic"] = 0x041e;
- t["Odblacute"] = 0x0150;
- t["Odblgrave"] = 0x020c;
- t["Odieresis"] = 0x00d6;
- t["Odieresiscyrillic"] = 0x04e6;
- t["Odieresissmall"] = 0xf7f6;
- t["Odotbelow"] = 0x1ecc;
- t["Ogoneksmall"] = 0xf6fb;
- t["Ograve"] = 0x00d2;
- t["Ogravesmall"] = 0xf7f2;
- t["Oharmenian"] = 0x0555;
- t["Ohm"] = 0x2126;
- t["Ohookabove"] = 0x1ece;
- t["Ohorn"] = 0x01a0;
- t["Ohornacute"] = 0x1eda;
- t["Ohorndotbelow"] = 0x1ee2;
- t["Ohorngrave"] = 0x1edc;
- t["Ohornhookabove"] = 0x1ede;
- t["Ohorntilde"] = 0x1ee0;
- t["Ohungarumlaut"] = 0x0150;
- t["Oi"] = 0x01a2;
- t["Oinvertedbreve"] = 0x020e;
- t["Omacron"] = 0x014c;
- t["Omacronacute"] = 0x1e52;
- t["Omacrongrave"] = 0x1e50;
- t["Omega"] = 0x2126;
- t["Omegacyrillic"] = 0x0460;
- t["Omegagreek"] = 0x03a9;
- t["Omegaroundcyrillic"] = 0x047a;
- t["Omegatitlocyrillic"] = 0x047c;
- t["Omegatonos"] = 0x038f;
- t["Omicron"] = 0x039f;
- t["Omicrontonos"] = 0x038c;
- t["Omonospace"] = 0xff2f;
- t["Oneroman"] = 0x2160;
- t["Oogonek"] = 0x01ea;
- t["Oogonekmacron"] = 0x01ec;
- t["Oopen"] = 0x0186;
- t["Oslash"] = 0x00d8;
- t["Oslashacute"] = 0x01fe;
- t["Oslashsmall"] = 0xf7f8;
- t["Osmall"] = 0xf76f;
- t["Ostrokeacute"] = 0x01fe;
- t["Otcyrillic"] = 0x047e;
- t["Otilde"] = 0x00d5;
- t["Otildeacute"] = 0x1e4c;
- t["Otildedieresis"] = 0x1e4e;
- t["Otildesmall"] = 0xf7f5;
- t["P"] = 0x0050;
- t["Pacute"] = 0x1e54;
- t["Pcircle"] = 0x24c5;
- t["Pdotaccent"] = 0x1e56;
- t["Pecyrillic"] = 0x041f;
- t["Peharmenian"] = 0x054a;
- t["Pemiddlehookcyrillic"] = 0x04a6;
- t["Phi"] = 0x03a6;
- t["Phook"] = 0x01a4;
- t["Pi"] = 0x03a0;
- t["Piwrarmenian"] = 0x0553;
- t["Pmonospace"] = 0xff30;
- t["Psi"] = 0x03a8;
- t["Psicyrillic"] = 0x0470;
- t["Psmall"] = 0xf770;
- t["Q"] = 0x0051;
- t["Qcircle"] = 0x24c6;
- t["Qmonospace"] = 0xff31;
- t["Qsmall"] = 0xf771;
- t["R"] = 0x0052;
- t["Raarmenian"] = 0x054c;
- t["Racute"] = 0x0154;
- t["Rcaron"] = 0x0158;
- t["Rcedilla"] = 0x0156;
- t["Rcircle"] = 0x24c7;
- t["Rcommaaccent"] = 0x0156;
- t["Rdblgrave"] = 0x0210;
- t["Rdotaccent"] = 0x1e58;
- t["Rdotbelow"] = 0x1e5a;
- t["Rdotbelowmacron"] = 0x1e5c;
- t["Reharmenian"] = 0x0550;
- t["Rfraktur"] = 0x211c;
- t["Rho"] = 0x03a1;
- t["Ringsmall"] = 0xf6fc;
- t["Rinvertedbreve"] = 0x0212;
- t["Rlinebelow"] = 0x1e5e;
- t["Rmonospace"] = 0xff32;
- t["Rsmall"] = 0xf772;
- t["Rsmallinverted"] = 0x0281;
- t["Rsmallinvertedsuperior"] = 0x02b6;
- t["S"] = 0x0053;
- t["SF010000"] = 0x250c;
- t["SF020000"] = 0x2514;
- t["SF030000"] = 0x2510;
- t["SF040000"] = 0x2518;
- t["SF050000"] = 0x253c;
- t["SF060000"] = 0x252c;
- t["SF070000"] = 0x2534;
- t["SF080000"] = 0x251c;
- t["SF090000"] = 0x2524;
- t["SF100000"] = 0x2500;
- t["SF110000"] = 0x2502;
- t["SF190000"] = 0x2561;
- t["SF200000"] = 0x2562;
- t["SF210000"] = 0x2556;
- t["SF220000"] = 0x2555;
- t["SF230000"] = 0x2563;
- t["SF240000"] = 0x2551;
- t["SF250000"] = 0x2557;
- t["SF260000"] = 0x255d;
- t["SF270000"] = 0x255c;
- t["SF280000"] = 0x255b;
- t["SF360000"] = 0x255e;
- t["SF370000"] = 0x255f;
- t["SF380000"] = 0x255a;
- t["SF390000"] = 0x2554;
- t["SF400000"] = 0x2569;
- t["SF410000"] = 0x2566;
- t["SF420000"] = 0x2560;
- t["SF430000"] = 0x2550;
- t["SF440000"] = 0x256c;
- t["SF450000"] = 0x2567;
- t["SF460000"] = 0x2568;
- t["SF470000"] = 0x2564;
- t["SF480000"] = 0x2565;
- t["SF490000"] = 0x2559;
- t["SF500000"] = 0x2558;
- t["SF510000"] = 0x2552;
- t["SF520000"] = 0x2553;
- t["SF530000"] = 0x256b;
- t["SF540000"] = 0x256a;
- t["Sacute"] = 0x015a;
- t["Sacutedotaccent"] = 0x1e64;
- t["Sampigreek"] = 0x03e0;
- t["Scaron"] = 0x0160;
- t["Scarondotaccent"] = 0x1e66;
- t["Scaronsmall"] = 0xf6fd;
- t["Scedilla"] = 0x015e;
- t["Schwa"] = 0x018f;
- t["Schwacyrillic"] = 0x04d8;
- t["Schwadieresiscyrillic"] = 0x04da;
- t["Scircle"] = 0x24c8;
- t["Scircumflex"] = 0x015c;
- t["Scommaaccent"] = 0x0218;
- t["Sdotaccent"] = 0x1e60;
- t["Sdotbelow"] = 0x1e62;
- t["Sdotbelowdotaccent"] = 0x1e68;
- t["Seharmenian"] = 0x054d;
- t["Sevenroman"] = 0x2166;
- t["Shaarmenian"] = 0x0547;
- t["Shacyrillic"] = 0x0428;
- t["Shchacyrillic"] = 0x0429;
- t["Sheicoptic"] = 0x03e2;
- t["Shhacyrillic"] = 0x04ba;
- t["Shimacoptic"] = 0x03ec;
- t["Sigma"] = 0x03a3;
- t["Sixroman"] = 0x2165;
- t["Smonospace"] = 0xff33;
- t["Softsigncyrillic"] = 0x042c;
- t["Ssmall"] = 0xf773;
- t["Stigmagreek"] = 0x03da;
- t["T"] = 0x0054;
- t["Tau"] = 0x03a4;
- t["Tbar"] = 0x0166;
- t["Tcaron"] = 0x0164;
- t["Tcedilla"] = 0x0162;
- t["Tcircle"] = 0x24c9;
- t["Tcircumflexbelow"] = 0x1e70;
- t["Tcommaaccent"] = 0x0162;
- t["Tdotaccent"] = 0x1e6a;
- t["Tdotbelow"] = 0x1e6c;
- t["Tecyrillic"] = 0x0422;
- t["Tedescendercyrillic"] = 0x04ac;
- t["Tenroman"] = 0x2169;
- t["Tetsecyrillic"] = 0x04b4;
- t["Theta"] = 0x0398;
- t["Thook"] = 0x01ac;
- t["Thorn"] = 0x00de;
- t["Thornsmall"] = 0xf7fe;
- t["Threeroman"] = 0x2162;
- t["Tildesmall"] = 0xf6fe;
- t["Tiwnarmenian"] = 0x054f;
- t["Tlinebelow"] = 0x1e6e;
- t["Tmonospace"] = 0xff34;
- t["Toarmenian"] = 0x0539;
- t["Tonefive"] = 0x01bc;
- t["Tonesix"] = 0x0184;
- t["Tonetwo"] = 0x01a7;
- t["Tretroflexhook"] = 0x01ae;
- t["Tsecyrillic"] = 0x0426;
- t["Tshecyrillic"] = 0x040b;
- t["Tsmall"] = 0xf774;
- t["Twelveroman"] = 0x216b;
- t["Tworoman"] = 0x2161;
- t["U"] = 0x0055;
- t["Uacute"] = 0x00da;
- t["Uacutesmall"] = 0xf7fa;
- t["Ubreve"] = 0x016c;
- t["Ucaron"] = 0x01d3;
- t["Ucircle"] = 0x24ca;
- t["Ucircumflex"] = 0x00db;
- t["Ucircumflexbelow"] = 0x1e76;
- t["Ucircumflexsmall"] = 0xf7fb;
- t["Ucyrillic"] = 0x0423;
- t["Udblacute"] = 0x0170;
- t["Udblgrave"] = 0x0214;
- t["Udieresis"] = 0x00dc;
- t["Udieresisacute"] = 0x01d7;
- t["Udieresisbelow"] = 0x1e72;
- t["Udieresiscaron"] = 0x01d9;
- t["Udieresiscyrillic"] = 0x04f0;
- t["Udieresisgrave"] = 0x01db;
- t["Udieresismacron"] = 0x01d5;
- t["Udieresissmall"] = 0xf7fc;
- t["Udotbelow"] = 0x1ee4;
- t["Ugrave"] = 0x00d9;
- t["Ugravesmall"] = 0xf7f9;
- t["Uhookabove"] = 0x1ee6;
- t["Uhorn"] = 0x01af;
- t["Uhornacute"] = 0x1ee8;
- t["Uhorndotbelow"] = 0x1ef0;
- t["Uhorngrave"] = 0x1eea;
- t["Uhornhookabove"] = 0x1eec;
- t["Uhorntilde"] = 0x1eee;
- t["Uhungarumlaut"] = 0x0170;
- t["Uhungarumlautcyrillic"] = 0x04f2;
- t["Uinvertedbreve"] = 0x0216;
- t["Ukcyrillic"] = 0x0478;
- t["Umacron"] = 0x016a;
- t["Umacroncyrillic"] = 0x04ee;
- t["Umacrondieresis"] = 0x1e7a;
- t["Umonospace"] = 0xff35;
- t["Uogonek"] = 0x0172;
- t["Upsilon"] = 0x03a5;
- t["Upsilon1"] = 0x03d2;
- t["Upsilonacutehooksymbolgreek"] = 0x03d3;
- t["Upsilonafrican"] = 0x01b1;
- t["Upsilondieresis"] = 0x03ab;
- t["Upsilondieresishooksymbolgreek"] = 0x03d4;
- t["Upsilonhooksymbol"] = 0x03d2;
- t["Upsilontonos"] = 0x038e;
- t["Uring"] = 0x016e;
- t["Ushortcyrillic"] = 0x040e;
- t["Usmall"] = 0xf775;
- t["Ustraightcyrillic"] = 0x04ae;
- t["Ustraightstrokecyrillic"] = 0x04b0;
- t["Utilde"] = 0x0168;
- t["Utildeacute"] = 0x1e78;
- t["Utildebelow"] = 0x1e74;
- t["V"] = 0x0056;
- t["Vcircle"] = 0x24cb;
- t["Vdotbelow"] = 0x1e7e;
- t["Vecyrillic"] = 0x0412;
- t["Vewarmenian"] = 0x054e;
- t["Vhook"] = 0x01b2;
- t["Vmonospace"] = 0xff36;
- t["Voarmenian"] = 0x0548;
- t["Vsmall"] = 0xf776;
- t["Vtilde"] = 0x1e7c;
- t["W"] = 0x0057;
- t["Wacute"] = 0x1e82;
- t["Wcircle"] = 0x24cc;
- t["Wcircumflex"] = 0x0174;
- t["Wdieresis"] = 0x1e84;
- t["Wdotaccent"] = 0x1e86;
- t["Wdotbelow"] = 0x1e88;
- t["Wgrave"] = 0x1e80;
- t["Wmonospace"] = 0xff37;
- t["Wsmall"] = 0xf777;
- t["X"] = 0x0058;
- t["Xcircle"] = 0x24cd;
- t["Xdieresis"] = 0x1e8c;
- t["Xdotaccent"] = 0x1e8a;
- t["Xeharmenian"] = 0x053d;
- t["Xi"] = 0x039e;
- t["Xmonospace"] = 0xff38;
- t["Xsmall"] = 0xf778;
- t["Y"] = 0x0059;
- t["Yacute"] = 0x00dd;
- t["Yacutesmall"] = 0xf7fd;
- t["Yatcyrillic"] = 0x0462;
- t["Ycircle"] = 0x24ce;
- t["Ycircumflex"] = 0x0176;
- t["Ydieresis"] = 0x0178;
- t["Ydieresissmall"] = 0xf7ff;
- t["Ydotaccent"] = 0x1e8e;
- t["Ydotbelow"] = 0x1ef4;
- t["Yericyrillic"] = 0x042b;
- t["Yerudieresiscyrillic"] = 0x04f8;
- t["Ygrave"] = 0x1ef2;
- t["Yhook"] = 0x01b3;
- t["Yhookabove"] = 0x1ef6;
- t["Yiarmenian"] = 0x0545;
- t["Yicyrillic"] = 0x0407;
- t["Yiwnarmenian"] = 0x0552;
- t["Ymonospace"] = 0xff39;
- t["Ysmall"] = 0xf779;
- t["Ytilde"] = 0x1ef8;
- t["Yusbigcyrillic"] = 0x046a;
- t["Yusbigiotifiedcyrillic"] = 0x046c;
- t["Yuslittlecyrillic"] = 0x0466;
- t["Yuslittleiotifiedcyrillic"] = 0x0468;
- t["Z"] = 0x005a;
- t["Zaarmenian"] = 0x0536;
- t["Zacute"] = 0x0179;
- t["Zcaron"] = 0x017d;
- t["Zcaronsmall"] = 0xf6ff;
- t["Zcircle"] = 0x24cf;
- t["Zcircumflex"] = 0x1e90;
- t["Zdot"] = 0x017b;
- t["Zdotaccent"] = 0x017b;
- t["Zdotbelow"] = 0x1e92;
- t["Zecyrillic"] = 0x0417;
- t["Zedescendercyrillic"] = 0x0498;
- t["Zedieresiscyrillic"] = 0x04de;
- t["Zeta"] = 0x0396;
- t["Zhearmenian"] = 0x053a;
- t["Zhebrevecyrillic"] = 0x04c1;
- t["Zhecyrillic"] = 0x0416;
- t["Zhedescendercyrillic"] = 0x0496;
- t["Zhedieresiscyrillic"] = 0x04dc;
- t["Zlinebelow"] = 0x1e94;
- t["Zmonospace"] = 0xff3a;
- t["Zsmall"] = 0xf77a;
- t["Zstroke"] = 0x01b5;
- t["a"] = 0x0061;
- t["aabengali"] = 0x0986;
- t["aacute"] = 0x00e1;
- t["aadeva"] = 0x0906;
- t["aagujarati"] = 0x0a86;
- t["aagurmukhi"] = 0x0a06;
- t["aamatragurmukhi"] = 0x0a3e;
- t["aarusquare"] = 0x3303;
- t["aavowelsignbengali"] = 0x09be;
- t["aavowelsigndeva"] = 0x093e;
- t["aavowelsigngujarati"] = 0x0abe;
- t["abbreviationmarkarmenian"] = 0x055f;
- t["abbreviationsigndeva"] = 0x0970;
- t["abengali"] = 0x0985;
- t["abopomofo"] = 0x311a;
- t["abreve"] = 0x0103;
- t["abreveacute"] = 0x1eaf;
- t["abrevecyrillic"] = 0x04d1;
- t["abrevedotbelow"] = 0x1eb7;
- t["abrevegrave"] = 0x1eb1;
- t["abrevehookabove"] = 0x1eb3;
- t["abrevetilde"] = 0x1eb5;
- t["acaron"] = 0x01ce;
- t["acircle"] = 0x24d0;
- t["acircumflex"] = 0x00e2;
- t["acircumflexacute"] = 0x1ea5;
- t["acircumflexdotbelow"] = 0x1ead;
- t["acircumflexgrave"] = 0x1ea7;
- t["acircumflexhookabove"] = 0x1ea9;
- t["acircumflextilde"] = 0x1eab;
- t["acute"] = 0x00b4;
- t["acutebelowcmb"] = 0x0317;
- t["acutecmb"] = 0x0301;
- t["acutecomb"] = 0x0301;
- t["acutedeva"] = 0x0954;
- t["acutelowmod"] = 0x02cf;
- t["acutetonecmb"] = 0x0341;
- t["acyrillic"] = 0x0430;
- t["adblgrave"] = 0x0201;
- t["addakgurmukhi"] = 0x0a71;
- t["adeva"] = 0x0905;
- t["adieresis"] = 0x00e4;
- t["adieresiscyrillic"] = 0x04d3;
- t["adieresismacron"] = 0x01df;
- t["adotbelow"] = 0x1ea1;
- t["adotmacron"] = 0x01e1;
- t["ae"] = 0x00e6;
- t["aeacute"] = 0x01fd;
- t["aekorean"] = 0x3150;
- t["aemacron"] = 0x01e3;
- t["afii00208"] = 0x2015;
- t["afii08941"] = 0x20a4;
- t["afii10017"] = 0x0410;
- t["afii10018"] = 0x0411;
- t["afii10019"] = 0x0412;
- t["afii10020"] = 0x0413;
- t["afii10021"] = 0x0414;
- t["afii10022"] = 0x0415;
- t["afii10023"] = 0x0401;
- t["afii10024"] = 0x0416;
- t["afii10025"] = 0x0417;
- t["afii10026"] = 0x0418;
- t["afii10027"] = 0x0419;
- t["afii10028"] = 0x041a;
- t["afii10029"] = 0x041b;
- t["afii10030"] = 0x041c;
- t["afii10031"] = 0x041d;
- t["afii10032"] = 0x041e;
- t["afii10033"] = 0x041f;
- t["afii10034"] = 0x0420;
- t["afii10035"] = 0x0421;
- t["afii10036"] = 0x0422;
- t["afii10037"] = 0x0423;
- t["afii10038"] = 0x0424;
- t["afii10039"] = 0x0425;
- t["afii10040"] = 0x0426;
- t["afii10041"] = 0x0427;
- t["afii10042"] = 0x0428;
- t["afii10043"] = 0x0429;
- t["afii10044"] = 0x042a;
- t["afii10045"] = 0x042b;
- t["afii10046"] = 0x042c;
- t["afii10047"] = 0x042d;
- t["afii10048"] = 0x042e;
- t["afii10049"] = 0x042f;
- t["afii10050"] = 0x0490;
- t["afii10051"] = 0x0402;
- t["afii10052"] = 0x0403;
- t["afii10053"] = 0x0404;
- t["afii10054"] = 0x0405;
- t["afii10055"] = 0x0406;
- t["afii10056"] = 0x0407;
- t["afii10057"] = 0x0408;
- t["afii10058"] = 0x0409;
- t["afii10059"] = 0x040a;
- t["afii10060"] = 0x040b;
- t["afii10061"] = 0x040c;
- t["afii10062"] = 0x040e;
- t["afii10063"] = 0xf6c4;
- t["afii10064"] = 0xf6c5;
- t["afii10065"] = 0x0430;
- t["afii10066"] = 0x0431;
- t["afii10067"] = 0x0432;
- t["afii10068"] = 0x0433;
- t["afii10069"] = 0x0434;
- t["afii10070"] = 0x0435;
- t["afii10071"] = 0x0451;
- t["afii10072"] = 0x0436;
- t["afii10073"] = 0x0437;
- t["afii10074"] = 0x0438;
- t["afii10075"] = 0x0439;
- t["afii10076"] = 0x043a;
- t["afii10077"] = 0x043b;
- t["afii10078"] = 0x043c;
- t["afii10079"] = 0x043d;
- t["afii10080"] = 0x043e;
- t["afii10081"] = 0x043f;
- t["afii10082"] = 0x0440;
- t["afii10083"] = 0x0441;
- t["afii10084"] = 0x0442;
- t["afii10085"] = 0x0443;
- t["afii10086"] = 0x0444;
- t["afii10087"] = 0x0445;
- t["afii10088"] = 0x0446;
- t["afii10089"] = 0x0447;
- t["afii10090"] = 0x0448;
- t["afii10091"] = 0x0449;
- t["afii10092"] = 0x044a;
- t["afii10093"] = 0x044b;
- t["afii10094"] = 0x044c;
- t["afii10095"] = 0x044d;
- t["afii10096"] = 0x044e;
- t["afii10097"] = 0x044f;
- t["afii10098"] = 0x0491;
- t["afii10099"] = 0x0452;
- t["afii10100"] = 0x0453;
- t["afii10101"] = 0x0454;
- t["afii10102"] = 0x0455;
- t["afii10103"] = 0x0456;
- t["afii10104"] = 0x0457;
- t["afii10105"] = 0x0458;
- t["afii10106"] = 0x0459;
- t["afii10107"] = 0x045a;
- t["afii10108"] = 0x045b;
- t["afii10109"] = 0x045c;
- t["afii10110"] = 0x045e;
- t["afii10145"] = 0x040f;
- t["afii10146"] = 0x0462;
- t["afii10147"] = 0x0472;
- t["afii10148"] = 0x0474;
- t["afii10192"] = 0xf6c6;
- t["afii10193"] = 0x045f;
- t["afii10194"] = 0x0463;
- t["afii10195"] = 0x0473;
- t["afii10196"] = 0x0475;
- t["afii10831"] = 0xf6c7;
- t["afii10832"] = 0xf6c8;
- t["afii10846"] = 0x04d9;
- t["afii299"] = 0x200e;
- t["afii300"] = 0x200f;
- t["afii301"] = 0x200d;
- t["afii57381"] = 0x066a;
- t["afii57388"] = 0x060c;
- t["afii57392"] = 0x0660;
- t["afii57393"] = 0x0661;
- t["afii57394"] = 0x0662;
- t["afii57395"] = 0x0663;
- t["afii57396"] = 0x0664;
- t["afii57397"] = 0x0665;
- t["afii57398"] = 0x0666;
- t["afii57399"] = 0x0667;
- t["afii57400"] = 0x0668;
- t["afii57401"] = 0x0669;
- t["afii57403"] = 0x061b;
- t["afii57407"] = 0x061f;
- t["afii57409"] = 0x0621;
- t["afii57410"] = 0x0622;
- t["afii57411"] = 0x0623;
- t["afii57412"] = 0x0624;
- t["afii57413"] = 0x0625;
- t["afii57414"] = 0x0626;
- t["afii57415"] = 0x0627;
- t["afii57416"] = 0x0628;
- t["afii57417"] = 0x0629;
- t["afii57418"] = 0x062a;
- t["afii57419"] = 0x062b;
- t["afii57420"] = 0x062c;
- t["afii57421"] = 0x062d;
- t["afii57422"] = 0x062e;
- t["afii57423"] = 0x062f;
- t["afii57424"] = 0x0630;
- t["afii57425"] = 0x0631;
- t["afii57426"] = 0x0632;
- t["afii57427"] = 0x0633;
- t["afii57428"] = 0x0634;
- t["afii57429"] = 0x0635;
- t["afii57430"] = 0x0636;
- t["afii57431"] = 0x0637;
- t["afii57432"] = 0x0638;
- t["afii57433"] = 0x0639;
- t["afii57434"] = 0x063a;
- t["afii57440"] = 0x0640;
- t["afii57441"] = 0x0641;
- t["afii57442"] = 0x0642;
- t["afii57443"] = 0x0643;
- t["afii57444"] = 0x0644;
- t["afii57445"] = 0x0645;
- t["afii57446"] = 0x0646;
- t["afii57448"] = 0x0648;
- t["afii57449"] = 0x0649;
- t["afii57450"] = 0x064a;
- t["afii57451"] = 0x064b;
- t["afii57452"] = 0x064c;
- t["afii57453"] = 0x064d;
- t["afii57454"] = 0x064e;
- t["afii57455"] = 0x064f;
- t["afii57456"] = 0x0650;
- t["afii57457"] = 0x0651;
- t["afii57458"] = 0x0652;
- t["afii57470"] = 0x0647;
- t["afii57505"] = 0x06a4;
- t["afii57506"] = 0x067e;
- t["afii57507"] = 0x0686;
- t["afii57508"] = 0x0698;
- t["afii57509"] = 0x06af;
- t["afii57511"] = 0x0679;
- t["afii57512"] = 0x0688;
- t["afii57513"] = 0x0691;
- t["afii57514"] = 0x06ba;
- t["afii57519"] = 0x06d2;
- t["afii57534"] = 0x06d5;
- t["afii57636"] = 0x20aa;
- t["afii57645"] = 0x05be;
- t["afii57658"] = 0x05c3;
- t["afii57664"] = 0x05d0;
- t["afii57665"] = 0x05d1;
- t["afii57666"] = 0x05d2;
- t["afii57667"] = 0x05d3;
- t["afii57668"] = 0x05d4;
- t["afii57669"] = 0x05d5;
- t["afii57670"] = 0x05d6;
- t["afii57671"] = 0x05d7;
- t["afii57672"] = 0x05d8;
- t["afii57673"] = 0x05d9;
- t["afii57674"] = 0x05da;
- t["afii57675"] = 0x05db;
- t["afii57676"] = 0x05dc;
- t["afii57677"] = 0x05dd;
- t["afii57678"] = 0x05de;
- t["afii57679"] = 0x05df;
- t["afii57680"] = 0x05e0;
- t["afii57681"] = 0x05e1;
- t["afii57682"] = 0x05e2;
- t["afii57683"] = 0x05e3;
- t["afii57684"] = 0x05e4;
- t["afii57685"] = 0x05e5;
- t["afii57686"] = 0x05e6;
- t["afii57687"] = 0x05e7;
- t["afii57688"] = 0x05e8;
- t["afii57689"] = 0x05e9;
- t["afii57690"] = 0x05ea;
- t["afii57694"] = 0xfb2a;
- t["afii57695"] = 0xfb2b;
- t["afii57700"] = 0xfb4b;
- t["afii57705"] = 0xfb1f;
- t["afii57716"] = 0x05f0;
- t["afii57717"] = 0x05f1;
- t["afii57718"] = 0x05f2;
- t["afii57723"] = 0xfb35;
- t["afii57793"] = 0x05b4;
- t["afii57794"] = 0x05b5;
- t["afii57795"] = 0x05b6;
- t["afii57796"] = 0x05bb;
- t["afii57797"] = 0x05b8;
- t["afii57798"] = 0x05b7;
- t["afii57799"] = 0x05b0;
- t["afii57800"] = 0x05b2;
- t["afii57801"] = 0x05b1;
- t["afii57802"] = 0x05b3;
- t["afii57803"] = 0x05c2;
- t["afii57804"] = 0x05c1;
- t["afii57806"] = 0x05b9;
- t["afii57807"] = 0x05bc;
- t["afii57839"] = 0x05bd;
- t["afii57841"] = 0x05bf;
- t["afii57842"] = 0x05c0;
- t["afii57929"] = 0x02bc;
- t["afii61248"] = 0x2105;
- t["afii61289"] = 0x2113;
- t["afii61352"] = 0x2116;
- t["afii61573"] = 0x202c;
- t["afii61574"] = 0x202d;
- t["afii61575"] = 0x202e;
- t["afii61664"] = 0x200c;
- t["afii63167"] = 0x066d;
- t["afii64937"] = 0x02bd;
- t["agrave"] = 0x00e0;
- t["agujarati"] = 0x0a85;
- t["agurmukhi"] = 0x0a05;
- t["ahiragana"] = 0x3042;
- t["ahookabove"] = 0x1ea3;
- t["aibengali"] = 0x0990;
- t["aibopomofo"] = 0x311e;
- t["aideva"] = 0x0910;
- t["aiecyrillic"] = 0x04d5;
- t["aigujarati"] = 0x0a90;
- t["aigurmukhi"] = 0x0a10;
- t["aimatragurmukhi"] = 0x0a48;
- t["ainarabic"] = 0x0639;
- t["ainfinalarabic"] = 0xfeca;
- t["aininitialarabic"] = 0xfecb;
- t["ainmedialarabic"] = 0xfecc;
- t["ainvertedbreve"] = 0x0203;
- t["aivowelsignbengali"] = 0x09c8;
- t["aivowelsigndeva"] = 0x0948;
- t["aivowelsigngujarati"] = 0x0ac8;
- t["akatakana"] = 0x30a2;
- t["akatakanahalfwidth"] = 0xff71;
- t["akorean"] = 0x314f;
- t["alef"] = 0x05d0;
- t["alefarabic"] = 0x0627;
- t["alefdageshhebrew"] = 0xfb30;
- t["aleffinalarabic"] = 0xfe8e;
- t["alefhamzaabovearabic"] = 0x0623;
- t["alefhamzaabovefinalarabic"] = 0xfe84;
- t["alefhamzabelowarabic"] = 0x0625;
- t["alefhamzabelowfinalarabic"] = 0xfe88;
- t["alefhebrew"] = 0x05d0;
- t["aleflamedhebrew"] = 0xfb4f;
- t["alefmaddaabovearabic"] = 0x0622;
- t["alefmaddaabovefinalarabic"] = 0xfe82;
- t["alefmaksuraarabic"] = 0x0649;
- t["alefmaksurafinalarabic"] = 0xfef0;
- t["alefmaksurainitialarabic"] = 0xfef3;
- t["alefmaksuramedialarabic"] = 0xfef4;
- t["alefpatahhebrew"] = 0xfb2e;
- t["alefqamatshebrew"] = 0xfb2f;
- t["aleph"] = 0x2135;
- t["allequal"] = 0x224c;
- t["alpha"] = 0x03b1;
- t["alphatonos"] = 0x03ac;
- t["amacron"] = 0x0101;
- t["amonospace"] = 0xff41;
- t["ampersand"] = 0x0026;
- t["ampersandmonospace"] = 0xff06;
- t["ampersandsmall"] = 0xf726;
- t["amsquare"] = 0x33c2;
- t["anbopomofo"] = 0x3122;
- t["angbopomofo"] = 0x3124;
- t["angbracketleft"] = 0x3008;
- t["angbracketright"] = 0x3009;
- t["angkhankhuthai"] = 0x0e5a;
- t["angle"] = 0x2220;
- t["anglebracketleft"] = 0x3008;
- t["anglebracketleftvertical"] = 0xfe3f;
- t["anglebracketright"] = 0x3009;
- t["anglebracketrightvertical"] = 0xfe40;
- t["angleleft"] = 0x2329;
- t["angleright"] = 0x232a;
- t["angstrom"] = 0x212b;
- t["anoteleia"] = 0x0387;
- t["anudattadeva"] = 0x0952;
- t["anusvarabengali"] = 0x0982;
- t["anusvaradeva"] = 0x0902;
- t["anusvaragujarati"] = 0x0a82;
- t["aogonek"] = 0x0105;
- t["apaatosquare"] = 0x3300;
- t["aparen"] = 0x249c;
- t["apostrophearmenian"] = 0x055a;
- t["apostrophemod"] = 0x02bc;
- t["apple"] = 0xf8ff;
- t["approaches"] = 0x2250;
- t["approxequal"] = 0x2248;
- t["approxequalorimage"] = 0x2252;
- t["approximatelyequal"] = 0x2245;
- t["araeaekorean"] = 0x318e;
- t["araeakorean"] = 0x318d;
- t["arc"] = 0x2312;
- t["arighthalfring"] = 0x1e9a;
- t["aring"] = 0x00e5;
- t["aringacute"] = 0x01fb;
- t["aringbelow"] = 0x1e01;
- t["arrowboth"] = 0x2194;
- t["arrowdashdown"] = 0x21e3;
- t["arrowdashleft"] = 0x21e0;
- t["arrowdashright"] = 0x21e2;
- t["arrowdashup"] = 0x21e1;
- t["arrowdblboth"] = 0x21d4;
- t["arrowdbldown"] = 0x21d3;
- t["arrowdblleft"] = 0x21d0;
- t["arrowdblright"] = 0x21d2;
- t["arrowdblup"] = 0x21d1;
- t["arrowdown"] = 0x2193;
- t["arrowdownleft"] = 0x2199;
- t["arrowdownright"] = 0x2198;
- t["arrowdownwhite"] = 0x21e9;
- t["arrowheaddownmod"] = 0x02c5;
- t["arrowheadleftmod"] = 0x02c2;
- t["arrowheadrightmod"] = 0x02c3;
- t["arrowheadupmod"] = 0x02c4;
- t["arrowhorizex"] = 0xf8e7;
- t["arrowleft"] = 0x2190;
- t["arrowleftdbl"] = 0x21d0;
- t["arrowleftdblstroke"] = 0x21cd;
- t["arrowleftoverright"] = 0x21c6;
- t["arrowleftwhite"] = 0x21e6;
- t["arrowright"] = 0x2192;
- t["arrowrightdblstroke"] = 0x21cf;
- t["arrowrightheavy"] = 0x279e;
- t["arrowrightoverleft"] = 0x21c4;
- t["arrowrightwhite"] = 0x21e8;
- t["arrowtableft"] = 0x21e4;
- t["arrowtabright"] = 0x21e5;
- t["arrowup"] = 0x2191;
- t["arrowupdn"] = 0x2195;
- t["arrowupdnbse"] = 0x21a8;
- t["arrowupdownbase"] = 0x21a8;
- t["arrowupleft"] = 0x2196;
- t["arrowupleftofdown"] = 0x21c5;
- t["arrowupright"] = 0x2197;
- t["arrowupwhite"] = 0x21e7;
- t["arrowvertex"] = 0xf8e6;
- t["asciicircum"] = 0x005e;
- t["asciicircummonospace"] = 0xff3e;
- t["asciitilde"] = 0x007e;
- t["asciitildemonospace"] = 0xff5e;
- t["ascript"] = 0x0251;
- t["ascriptturned"] = 0x0252;
- t["asmallhiragana"] = 0x3041;
- t["asmallkatakana"] = 0x30a1;
- t["asmallkatakanahalfwidth"] = 0xff67;
- t["asterisk"] = 0x002a;
- t["asteriskaltonearabic"] = 0x066d;
- t["asteriskarabic"] = 0x066d;
- t["asteriskmath"] = 0x2217;
- t["asteriskmonospace"] = 0xff0a;
- t["asterisksmall"] = 0xfe61;
- t["asterism"] = 0x2042;
- t["asuperior"] = 0xf6e9;
- t["asymptoticallyequal"] = 0x2243;
- t["at"] = 0x0040;
- t["atilde"] = 0x00e3;
- t["atmonospace"] = 0xff20;
- t["atsmall"] = 0xfe6b;
- t["aturned"] = 0x0250;
- t["aubengali"] = 0x0994;
- t["aubopomofo"] = 0x3120;
- t["audeva"] = 0x0914;
- t["augujarati"] = 0x0a94;
- t["augurmukhi"] = 0x0a14;
- t["aulengthmarkbengali"] = 0x09d7;
- t["aumatragurmukhi"] = 0x0a4c;
- t["auvowelsignbengali"] = 0x09cc;
- t["auvowelsigndeva"] = 0x094c;
- t["auvowelsigngujarati"] = 0x0acc;
- t["avagrahadeva"] = 0x093d;
- t["aybarmenian"] = 0x0561;
- t["ayin"] = 0x05e2;
- t["ayinaltonehebrew"] = 0xfb20;
- t["ayinhebrew"] = 0x05e2;
- t["b"] = 0x0062;
- t["babengali"] = 0x09ac;
- t["backslash"] = 0x005c;
- t["backslashmonospace"] = 0xff3c;
- t["badeva"] = 0x092c;
- t["bagujarati"] = 0x0aac;
- t["bagurmukhi"] = 0x0a2c;
- t["bahiragana"] = 0x3070;
- t["bahtthai"] = 0x0e3f;
- t["bakatakana"] = 0x30d0;
- t["bar"] = 0x007c;
- t["barmonospace"] = 0xff5c;
- t["bbopomofo"] = 0x3105;
- t["bcircle"] = 0x24d1;
- t["bdotaccent"] = 0x1e03;
- t["bdotbelow"] = 0x1e05;
- t["beamedsixteenthnotes"] = 0x266c;
- t["because"] = 0x2235;
- t["becyrillic"] = 0x0431;
- t["beharabic"] = 0x0628;
- t["behfinalarabic"] = 0xfe90;
- t["behinitialarabic"] = 0xfe91;
- t["behiragana"] = 0x3079;
- t["behmedialarabic"] = 0xfe92;
- t["behmeeminitialarabic"] = 0xfc9f;
- t["behmeemisolatedarabic"] = 0xfc08;
- t["behnoonfinalarabic"] = 0xfc6d;
- t["bekatakana"] = 0x30d9;
- t["benarmenian"] = 0x0562;
- t["bet"] = 0x05d1;
- t["beta"] = 0x03b2;
- t["betasymbolgreek"] = 0x03d0;
- t["betdagesh"] = 0xfb31;
- t["betdageshhebrew"] = 0xfb31;
- t["bethebrew"] = 0x05d1;
- t["betrafehebrew"] = 0xfb4c;
- t["bhabengali"] = 0x09ad;
- t["bhadeva"] = 0x092d;
- t["bhagujarati"] = 0x0aad;
- t["bhagurmukhi"] = 0x0a2d;
- t["bhook"] = 0x0253;
- t["bihiragana"] = 0x3073;
- t["bikatakana"] = 0x30d3;
- t["bilabialclick"] = 0x0298;
- t["bindigurmukhi"] = 0x0a02;
- t["birusquare"] = 0x3331;
- t["blackcircle"] = 0x25cf;
- t["blackdiamond"] = 0x25c6;
- t["blackdownpointingtriangle"] = 0x25bc;
- t["blackleftpointingpointer"] = 0x25c4;
- t["blackleftpointingtriangle"] = 0x25c0;
- t["blacklenticularbracketleft"] = 0x3010;
- t["blacklenticularbracketleftvertical"] = 0xfe3b;
- t["blacklenticularbracketright"] = 0x3011;
- t["blacklenticularbracketrightvertical"] = 0xfe3c;
- t["blacklowerlefttriangle"] = 0x25e3;
- t["blacklowerrighttriangle"] = 0x25e2;
- t["blackrectangle"] = 0x25ac;
- t["blackrightpointingpointer"] = 0x25ba;
- t["blackrightpointingtriangle"] = 0x25b6;
- t["blacksmallsquare"] = 0x25aa;
- t["blacksmilingface"] = 0x263b;
- t["blacksquare"] = 0x25a0;
- t["blackstar"] = 0x2605;
- t["blackupperlefttriangle"] = 0x25e4;
- t["blackupperrighttriangle"] = 0x25e5;
- t["blackuppointingsmalltriangle"] = 0x25b4;
- t["blackuppointingtriangle"] = 0x25b2;
- t["blank"] = 0x2423;
- t["blinebelow"] = 0x1e07;
- t["block"] = 0x2588;
- t["bmonospace"] = 0xff42;
- t["bobaimaithai"] = 0x0e1a;
- t["bohiragana"] = 0x307c;
- t["bokatakana"] = 0x30dc;
- t["bparen"] = 0x249d;
- t["bqsquare"] = 0x33c3;
- t["braceex"] = 0xf8f4;
- t["braceleft"] = 0x007b;
- t["braceleftbt"] = 0xf8f3;
- t["braceleftmid"] = 0xf8f2;
- t["braceleftmonospace"] = 0xff5b;
- t["braceleftsmall"] = 0xfe5b;
- t["bracelefttp"] = 0xf8f1;
- t["braceleftvertical"] = 0xfe37;
- t["braceright"] = 0x007d;
- t["bracerightbt"] = 0xf8fe;
- t["bracerightmid"] = 0xf8fd;
- t["bracerightmonospace"] = 0xff5d;
- t["bracerightsmall"] = 0xfe5c;
- t["bracerighttp"] = 0xf8fc;
- t["bracerightvertical"] = 0xfe38;
- t["bracketleft"] = 0x005b;
- t["bracketleftbt"] = 0xf8f0;
- t["bracketleftex"] = 0xf8ef;
- t["bracketleftmonospace"] = 0xff3b;
- t["bracketlefttp"] = 0xf8ee;
- t["bracketright"] = 0x005d;
- t["bracketrightbt"] = 0xf8fb;
- t["bracketrightex"] = 0xf8fa;
- t["bracketrightmonospace"] = 0xff3d;
- t["bracketrighttp"] = 0xf8f9;
- t["breve"] = 0x02d8;
- t["brevebelowcmb"] = 0x032e;
- t["brevecmb"] = 0x0306;
- t["breveinvertedbelowcmb"] = 0x032f;
- t["breveinvertedcmb"] = 0x0311;
- t["breveinverteddoublecmb"] = 0x0361;
- t["bridgebelowcmb"] = 0x032a;
- t["bridgeinvertedbelowcmb"] = 0x033a;
- t["brokenbar"] = 0x00a6;
- t["bstroke"] = 0x0180;
- t["bsuperior"] = 0xf6ea;
- t["btopbar"] = 0x0183;
- t["buhiragana"] = 0x3076;
- t["bukatakana"] = 0x30d6;
- t["bullet"] = 0x2022;
- t["bulletinverse"] = 0x25d8;
- t["bulletoperator"] = 0x2219;
- t["bullseye"] = 0x25ce;
- t["c"] = 0x0063;
- t["caarmenian"] = 0x056e;
- t["cabengali"] = 0x099a;
- t["cacute"] = 0x0107;
- t["cadeva"] = 0x091a;
- t["cagujarati"] = 0x0a9a;
- t["cagurmukhi"] = 0x0a1a;
- t["calsquare"] = 0x3388;
- t["candrabindubengali"] = 0x0981;
- t["candrabinducmb"] = 0x0310;
- t["candrabindudeva"] = 0x0901;
- t["candrabindugujarati"] = 0x0a81;
- t["capslock"] = 0x21ea;
- t["careof"] = 0x2105;
- t["caron"] = 0x02c7;
- t["caronbelowcmb"] = 0x032c;
- t["caroncmb"] = 0x030c;
- t["carriagereturn"] = 0x21b5;
- t["cbopomofo"] = 0x3118;
- t["ccaron"] = 0x010d;
- t["ccedilla"] = 0x00e7;
- t["ccedillaacute"] = 0x1e09;
- t["ccircle"] = 0x24d2;
- t["ccircumflex"] = 0x0109;
- t["ccurl"] = 0x0255;
- t["cdot"] = 0x010b;
- t["cdotaccent"] = 0x010b;
- t["cdsquare"] = 0x33c5;
- t["cedilla"] = 0x00b8;
- t["cedillacmb"] = 0x0327;
- t["cent"] = 0x00a2;
- t["centigrade"] = 0x2103;
- t["centinferior"] = 0xf6df;
- t["centmonospace"] = 0xffe0;
- t["centoldstyle"] = 0xf7a2;
- t["centsuperior"] = 0xf6e0;
- t["chaarmenian"] = 0x0579;
- t["chabengali"] = 0x099b;
- t["chadeva"] = 0x091b;
- t["chagujarati"] = 0x0a9b;
- t["chagurmukhi"] = 0x0a1b;
- t["chbopomofo"] = 0x3114;
- t["cheabkhasiancyrillic"] = 0x04bd;
- t["checkmark"] = 0x2713;
- t["checyrillic"] = 0x0447;
- t["chedescenderabkhasiancyrillic"] = 0x04bf;
- t["chedescendercyrillic"] = 0x04b7;
- t["chedieresiscyrillic"] = 0x04f5;
- t["cheharmenian"] = 0x0573;
- t["chekhakassiancyrillic"] = 0x04cc;
- t["cheverticalstrokecyrillic"] = 0x04b9;
- t["chi"] = 0x03c7;
- t["chieuchacirclekorean"] = 0x3277;
- t["chieuchaparenkorean"] = 0x3217;
- t["chieuchcirclekorean"] = 0x3269;
- t["chieuchkorean"] = 0x314a;
- t["chieuchparenkorean"] = 0x3209;
- t["chochangthai"] = 0x0e0a;
- t["chochanthai"] = 0x0e08;
- t["chochingthai"] = 0x0e09;
- t["chochoethai"] = 0x0e0c;
- t["chook"] = 0x0188;
- t["cieucacirclekorean"] = 0x3276;
- t["cieucaparenkorean"] = 0x3216;
- t["cieuccirclekorean"] = 0x3268;
- t["cieuckorean"] = 0x3148;
- t["cieucparenkorean"] = 0x3208;
- t["cieucuparenkorean"] = 0x321c;
- t["circle"] = 0x25cb;
- t["circlecopyrt"] = 0x00a9;
- t["circlemultiply"] = 0x2297;
- t["circleot"] = 0x2299;
- t["circleplus"] = 0x2295;
- t["circlepostalmark"] = 0x3036;
- t["circlewithlefthalfblack"] = 0x25d0;
- t["circlewithrighthalfblack"] = 0x25d1;
- t["circumflex"] = 0x02c6;
- t["circumflexbelowcmb"] = 0x032d;
- t["circumflexcmb"] = 0x0302;
- t["clear"] = 0x2327;
- t["clickalveolar"] = 0x01c2;
- t["clickdental"] = 0x01c0;
- t["clicklateral"] = 0x01c1;
- t["clickretroflex"] = 0x01c3;
- t["club"] = 0x2663;
- t["clubsuitblack"] = 0x2663;
- t["clubsuitwhite"] = 0x2667;
- t["cmcubedsquare"] = 0x33a4;
- t["cmonospace"] = 0xff43;
- t["cmsquaredsquare"] = 0x33a0;
- t["coarmenian"] = 0x0581;
- t["colon"] = 0x003a;
- t["colonmonetary"] = 0x20a1;
- t["colonmonospace"] = 0xff1a;
- t["colonsign"] = 0x20a1;
- t["colonsmall"] = 0xfe55;
- t["colontriangularhalfmod"] = 0x02d1;
- t["colontriangularmod"] = 0x02d0;
- t["comma"] = 0x002c;
- t["commaabovecmb"] = 0x0313;
- t["commaaboverightcmb"] = 0x0315;
- t["commaaccent"] = 0xf6c3;
- t["commaarabic"] = 0x060c;
- t["commaarmenian"] = 0x055d;
- t["commainferior"] = 0xf6e1;
- t["commamonospace"] = 0xff0c;
- t["commareversedabovecmb"] = 0x0314;
- t["commareversedmod"] = 0x02bd;
- t["commasmall"] = 0xfe50;
- t["commasuperior"] = 0xf6e2;
- t["commaturnedabovecmb"] = 0x0312;
- t["commaturnedmod"] = 0x02bb;
- t["compass"] = 0x263c;
- t["congruent"] = 0x2245;
- t["contourintegral"] = 0x222e;
- t["control"] = 0x2303;
- t["controlACK"] = 0x0006;
- t["controlBEL"] = 0x0007;
- t["controlBS"] = 0x0008;
- t["controlCAN"] = 0x0018;
- t["controlCR"] = 0x000d;
- t["controlDC1"] = 0x0011;
- t["controlDC2"] = 0x0012;
- t["controlDC3"] = 0x0013;
- t["controlDC4"] = 0x0014;
- t["controlDEL"] = 0x007f;
- t["controlDLE"] = 0x0010;
- t["controlEM"] = 0x0019;
- t["controlENQ"] = 0x0005;
- t["controlEOT"] = 0x0004;
- t["controlESC"] = 0x001b;
- t["controlETB"] = 0x0017;
- t["controlETX"] = 0x0003;
- t["controlFF"] = 0x000c;
- t["controlFS"] = 0x001c;
- t["controlGS"] = 0x001d;
- t["controlHT"] = 0x0009;
- t["controlLF"] = 0x000a;
- t["controlNAK"] = 0x0015;
- t["controlNULL"] = 0x0000;
- t["controlRS"] = 0x001e;
- t["controlSI"] = 0x000f;
- t["controlSO"] = 0x000e;
- t["controlSOT"] = 0x0002;
- t["controlSTX"] = 0x0001;
- t["controlSUB"] = 0x001a;
- t["controlSYN"] = 0x0016;
- t["controlUS"] = 0x001f;
- t["controlVT"] = 0x000b;
- t["copyright"] = 0x00a9;
- t["copyrightsans"] = 0xf8e9;
- t["copyrightserif"] = 0xf6d9;
- t["cornerbracketleft"] = 0x300c;
- t["cornerbracketlefthalfwidth"] = 0xff62;
- t["cornerbracketleftvertical"] = 0xfe41;
- t["cornerbracketright"] = 0x300d;
- t["cornerbracketrighthalfwidth"] = 0xff63;
- t["cornerbracketrightvertical"] = 0xfe42;
- t["corporationsquare"] = 0x337f;
- t["cosquare"] = 0x33c7;
- t["coverkgsquare"] = 0x33c6;
- t["cparen"] = 0x249e;
- t["cruzeiro"] = 0x20a2;
- t["cstretched"] = 0x0297;
- t["curlyand"] = 0x22cf;
- t["curlyor"] = 0x22ce;
- t["currency"] = 0x00a4;
- t["cyrBreve"] = 0xf6d1;
- t["cyrFlex"] = 0xf6d2;
- t["cyrbreve"] = 0xf6d4;
- t["cyrflex"] = 0xf6d5;
- t["d"] = 0x0064;
- t["daarmenian"] = 0x0564;
- t["dabengali"] = 0x09a6;
- t["dadarabic"] = 0x0636;
- t["dadeva"] = 0x0926;
- t["dadfinalarabic"] = 0xfebe;
- t["dadinitialarabic"] = 0xfebf;
- t["dadmedialarabic"] = 0xfec0;
- t["dagesh"] = 0x05bc;
- t["dageshhebrew"] = 0x05bc;
- t["dagger"] = 0x2020;
- t["daggerdbl"] = 0x2021;
- t["dagujarati"] = 0x0aa6;
- t["dagurmukhi"] = 0x0a26;
- t["dahiragana"] = 0x3060;
- t["dakatakana"] = 0x30c0;
- t["dalarabic"] = 0x062f;
- t["dalet"] = 0x05d3;
- t["daletdagesh"] = 0xfb33;
- t["daletdageshhebrew"] = 0xfb33;
- t["dalethebrew"] = 0x05d3;
- t["dalfinalarabic"] = 0xfeaa;
- t["dammaarabic"] = 0x064f;
- t["dammalowarabic"] = 0x064f;
- t["dammatanaltonearabic"] = 0x064c;
- t["dammatanarabic"] = 0x064c;
- t["danda"] = 0x0964;
- t["dargahebrew"] = 0x05a7;
- t["dargalefthebrew"] = 0x05a7;
- t["dasiapneumatacyrilliccmb"] = 0x0485;
- t["dblGrave"] = 0xf6d3;
- t["dblanglebracketleft"] = 0x300a;
- t["dblanglebracketleftvertical"] = 0xfe3d;
- t["dblanglebracketright"] = 0x300b;
- t["dblanglebracketrightvertical"] = 0xfe3e;
- t["dblarchinvertedbelowcmb"] = 0x032b;
- t["dblarrowleft"] = 0x21d4;
- t["dblarrowright"] = 0x21d2;
- t["dbldanda"] = 0x0965;
- t["dblgrave"] = 0xf6d6;
- t["dblgravecmb"] = 0x030f;
- t["dblintegral"] = 0x222c;
- t["dbllowline"] = 0x2017;
- t["dbllowlinecmb"] = 0x0333;
- t["dbloverlinecmb"] = 0x033f;
- t["dblprimemod"] = 0x02ba;
- t["dblverticalbar"] = 0x2016;
- t["dblverticallineabovecmb"] = 0x030e;
- t["dbopomofo"] = 0x3109;
- t["dbsquare"] = 0x33c8;
- t["dcaron"] = 0x010f;
- t["dcedilla"] = 0x1e11;
- t["dcircle"] = 0x24d3;
- t["dcircumflexbelow"] = 0x1e13;
- t["dcroat"] = 0x0111;
- t["ddabengali"] = 0x09a1;
- t["ddadeva"] = 0x0921;
- t["ddagujarati"] = 0x0aa1;
- t["ddagurmukhi"] = 0x0a21;
- t["ddalarabic"] = 0x0688;
- t["ddalfinalarabic"] = 0xfb89;
- t["dddhadeva"] = 0x095c;
- t["ddhabengali"] = 0x09a2;
- t["ddhadeva"] = 0x0922;
- t["ddhagujarati"] = 0x0aa2;
- t["ddhagurmukhi"] = 0x0a22;
- t["ddotaccent"] = 0x1e0b;
- t["ddotbelow"] = 0x1e0d;
- t["decimalseparatorarabic"] = 0x066b;
- t["decimalseparatorpersian"] = 0x066b;
- t["decyrillic"] = 0x0434;
- t["degree"] = 0x00b0;
- t["dehihebrew"] = 0x05ad;
- t["dehiragana"] = 0x3067;
- t["deicoptic"] = 0x03ef;
- t["dekatakana"] = 0x30c7;
- t["deleteleft"] = 0x232b;
- t["deleteright"] = 0x2326;
- t["delta"] = 0x03b4;
- t["deltaturned"] = 0x018d;
- t["denominatorminusonenumeratorbengali"] = 0x09f8;
- t["dezh"] = 0x02a4;
- t["dhabengali"] = 0x09a7;
- t["dhadeva"] = 0x0927;
- t["dhagujarati"] = 0x0aa7;
- t["dhagurmukhi"] = 0x0a27;
- t["dhook"] = 0x0257;
- t["dialytikatonos"] = 0x0385;
- t["dialytikatonoscmb"] = 0x0344;
- t["diamond"] = 0x2666;
- t["diamondsuitwhite"] = 0x2662;
- t["dieresis"] = 0x00a8;
- t["dieresisacute"] = 0xf6d7;
- t["dieresisbelowcmb"] = 0x0324;
- t["dieresiscmb"] = 0x0308;
- t["dieresisgrave"] = 0xf6d8;
- t["dieresistonos"] = 0x0385;
- t["dihiragana"] = 0x3062;
- t["dikatakana"] = 0x30c2;
- t["dittomark"] = 0x3003;
- t["divide"] = 0x00f7;
- t["divides"] = 0x2223;
- t["divisionslash"] = 0x2215;
- t["djecyrillic"] = 0x0452;
- t["dkshade"] = 0x2593;
- t["dlinebelow"] = 0x1e0f;
- t["dlsquare"] = 0x3397;
- t["dmacron"] = 0x0111;
- t["dmonospace"] = 0xff44;
- t["dnblock"] = 0x2584;
- t["dochadathai"] = 0x0e0e;
- t["dodekthai"] = 0x0e14;
- t["dohiragana"] = 0x3069;
- t["dokatakana"] = 0x30c9;
- t["dollar"] = 0x0024;
- t["dollarinferior"] = 0xf6e3;
- t["dollarmonospace"] = 0xff04;
- t["dollaroldstyle"] = 0xf724;
- t["dollarsmall"] = 0xfe69;
- t["dollarsuperior"] = 0xf6e4;
- t["dong"] = 0x20ab;
- t["dorusquare"] = 0x3326;
- t["dotaccent"] = 0x02d9;
- t["dotaccentcmb"] = 0x0307;
- t["dotbelowcmb"] = 0x0323;
- t["dotbelowcomb"] = 0x0323;
- t["dotkatakana"] = 0x30fb;
- t["dotlessi"] = 0x0131;
- t["dotlessj"] = 0xf6be;
- t["dotlessjstrokehook"] = 0x0284;
- t["dotmath"] = 0x22c5;
- t["dottedcircle"] = 0x25cc;
- t["doubleyodpatah"] = 0xfb1f;
- t["doubleyodpatahhebrew"] = 0xfb1f;
- t["downtackbelowcmb"] = 0x031e;
- t["downtackmod"] = 0x02d5;
- t["dparen"] = 0x249f;
- t["dsuperior"] = 0xf6eb;
- t["dtail"] = 0x0256;
- t["dtopbar"] = 0x018c;
- t["duhiragana"] = 0x3065;
- t["dukatakana"] = 0x30c5;
- t["dz"] = 0x01f3;
- t["dzaltone"] = 0x02a3;
- t["dzcaron"] = 0x01c6;
- t["dzcurl"] = 0x02a5;
- t["dzeabkhasiancyrillic"] = 0x04e1;
- t["dzecyrillic"] = 0x0455;
- t["dzhecyrillic"] = 0x045f;
- t["e"] = 0x0065;
- t["eacute"] = 0x00e9;
- t["earth"] = 0x2641;
- t["ebengali"] = 0x098f;
- t["ebopomofo"] = 0x311c;
- t["ebreve"] = 0x0115;
- t["ecandradeva"] = 0x090d;
- t["ecandragujarati"] = 0x0a8d;
- t["ecandravowelsigndeva"] = 0x0945;
- t["ecandravowelsigngujarati"] = 0x0ac5;
- t["ecaron"] = 0x011b;
- t["ecedillabreve"] = 0x1e1d;
- t["echarmenian"] = 0x0565;
- t["echyiwnarmenian"] = 0x0587;
- t["ecircle"] = 0x24d4;
- t["ecircumflex"] = 0x00ea;
- t["ecircumflexacute"] = 0x1ebf;
- t["ecircumflexbelow"] = 0x1e19;
- t["ecircumflexdotbelow"] = 0x1ec7;
- t["ecircumflexgrave"] = 0x1ec1;
- t["ecircumflexhookabove"] = 0x1ec3;
- t["ecircumflextilde"] = 0x1ec5;
- t["ecyrillic"] = 0x0454;
- t["edblgrave"] = 0x0205;
- t["edeva"] = 0x090f;
- t["edieresis"] = 0x00eb;
- t["edot"] = 0x0117;
- t["edotaccent"] = 0x0117;
- t["edotbelow"] = 0x1eb9;
- t["eegurmukhi"] = 0x0a0f;
- t["eematragurmukhi"] = 0x0a47;
- t["efcyrillic"] = 0x0444;
- t["egrave"] = 0x00e8;
- t["egujarati"] = 0x0a8f;
- t["eharmenian"] = 0x0567;
- t["ehbopomofo"] = 0x311d;
- t["ehiragana"] = 0x3048;
- t["ehookabove"] = 0x1ebb;
- t["eibopomofo"] = 0x311f;
- t["eight"] = 0x0038;
- t["eightarabic"] = 0x0668;
- t["eightbengali"] = 0x09ee;
- t["eightcircle"] = 0x2467;
- t["eightcircleinversesansserif"] = 0x2791;
- t["eightdeva"] = 0x096e;
- t["eighteencircle"] = 0x2471;
- t["eighteenparen"] = 0x2485;
- t["eighteenperiod"] = 0x2499;
- t["eightgujarati"] = 0x0aee;
- t["eightgurmukhi"] = 0x0a6e;
- t["eighthackarabic"] = 0x0668;
- t["eighthangzhou"] = 0x3028;
- t["eighthnotebeamed"] = 0x266b;
- t["eightideographicparen"] = 0x3227;
- t["eightinferior"] = 0x2088;
- t["eightmonospace"] = 0xff18;
- t["eightoldstyle"] = 0xf738;
- t["eightparen"] = 0x247b;
- t["eightperiod"] = 0x248f;
- t["eightpersian"] = 0x06f8;
- t["eightroman"] = 0x2177;
- t["eightsuperior"] = 0x2078;
- t["eightthai"] = 0x0e58;
- t["einvertedbreve"] = 0x0207;
- t["eiotifiedcyrillic"] = 0x0465;
- t["ekatakana"] = 0x30a8;
- t["ekatakanahalfwidth"] = 0xff74;
- t["ekonkargurmukhi"] = 0x0a74;
- t["ekorean"] = 0x3154;
- t["elcyrillic"] = 0x043b;
- t["element"] = 0x2208;
- t["elevencircle"] = 0x246a;
- t["elevenparen"] = 0x247e;
- t["elevenperiod"] = 0x2492;
- t["elevenroman"] = 0x217a;
- t["ellipsis"] = 0x2026;
- t["ellipsisvertical"] = 0x22ee;
- t["emacron"] = 0x0113;
- t["emacronacute"] = 0x1e17;
- t["emacrongrave"] = 0x1e15;
- t["emcyrillic"] = 0x043c;
- t["emdash"] = 0x2014;
- t["emdashvertical"] = 0xfe31;
- t["emonospace"] = 0xff45;
- t["emphasismarkarmenian"] = 0x055b;
- t["emptyset"] = 0x2205;
- t["enbopomofo"] = 0x3123;
- t["encyrillic"] = 0x043d;
- t["endash"] = 0x2013;
- t["endashvertical"] = 0xfe32;
- t["endescendercyrillic"] = 0x04a3;
- t["eng"] = 0x014b;
- t["engbopomofo"] = 0x3125;
- t["enghecyrillic"] = 0x04a5;
- t["enhookcyrillic"] = 0x04c8;
- t["enspace"] = 0x2002;
- t["eogonek"] = 0x0119;
- t["eokorean"] = 0x3153;
- t["eopen"] = 0x025b;
- t["eopenclosed"] = 0x029a;
- t["eopenreversed"] = 0x025c;
- t["eopenreversedclosed"] = 0x025e;
- t["eopenreversedhook"] = 0x025d;
- t["eparen"] = 0x24a0;
- t["epsilon"] = 0x03b5;
- t["epsilontonos"] = 0x03ad;
- t["equal"] = 0x003d;
- t["equalmonospace"] = 0xff1d;
- t["equalsmall"] = 0xfe66;
- t["equalsuperior"] = 0x207c;
- t["equivalence"] = 0x2261;
- t["erbopomofo"] = 0x3126;
- t["ercyrillic"] = 0x0440;
- t["ereversed"] = 0x0258;
- t["ereversedcyrillic"] = 0x044d;
- t["escyrillic"] = 0x0441;
- t["esdescendercyrillic"] = 0x04ab;
- t["esh"] = 0x0283;
- t["eshcurl"] = 0x0286;
- t["eshortdeva"] = 0x090e;
- t["eshortvowelsigndeva"] = 0x0946;
- t["eshreversedloop"] = 0x01aa;
- t["eshsquatreversed"] = 0x0285;
- t["esmallhiragana"] = 0x3047;
- t["esmallkatakana"] = 0x30a7;
- t["esmallkatakanahalfwidth"] = 0xff6a;
- t["estimated"] = 0x212e;
- t["esuperior"] = 0xf6ec;
- t["eta"] = 0x03b7;
- t["etarmenian"] = 0x0568;
- t["etatonos"] = 0x03ae;
- t["eth"] = 0x00f0;
- t["etilde"] = 0x1ebd;
- t["etildebelow"] = 0x1e1b;
- t["etnahtafoukhhebrew"] = 0x0591;
- t["etnahtafoukhlefthebrew"] = 0x0591;
- t["etnahtahebrew"] = 0x0591;
- t["etnahtalefthebrew"] = 0x0591;
- t["eturned"] = 0x01dd;
- t["eukorean"] = 0x3161;
- t["euro"] = 0x20ac;
- t["evowelsignbengali"] = 0x09c7;
- t["evowelsigndeva"] = 0x0947;
- t["evowelsigngujarati"] = 0x0ac7;
- t["exclam"] = 0x0021;
- t["exclamarmenian"] = 0x055c;
- t["exclamdbl"] = 0x203c;
- t["exclamdown"] = 0x00a1;
- t["exclamdownsmall"] = 0xf7a1;
- t["exclammonospace"] = 0xff01;
- t["exclamsmall"] = 0xf721;
- t["existential"] = 0x2203;
- t["ezh"] = 0x0292;
- t["ezhcaron"] = 0x01ef;
- t["ezhcurl"] = 0x0293;
- t["ezhreversed"] = 0x01b9;
- t["ezhtail"] = 0x01ba;
- t["f"] = 0x0066;
- t["fadeva"] = 0x095e;
- t["fagurmukhi"] = 0x0a5e;
- t["fahrenheit"] = 0x2109;
- t["fathaarabic"] = 0x064e;
- t["fathalowarabic"] = 0x064e;
- t["fathatanarabic"] = 0x064b;
- t["fbopomofo"] = 0x3108;
- t["fcircle"] = 0x24d5;
- t["fdotaccent"] = 0x1e1f;
- t["feharabic"] = 0x0641;
- t["feharmenian"] = 0x0586;
- t["fehfinalarabic"] = 0xfed2;
- t["fehinitialarabic"] = 0xfed3;
- t["fehmedialarabic"] = 0xfed4;
- t["feicoptic"] = 0x03e5;
- t["female"] = 0x2640;
- t["ff"] = 0xfb00;
- t["f_f"] = 0xfb00;
- t["ffi"] = 0xfb03;
- t["ffl"] = 0xfb04;
- t["fi"] = 0xfb01;
- t["fifteencircle"] = 0x246e;
- t["fifteenparen"] = 0x2482;
- t["fifteenperiod"] = 0x2496;
- t["figuredash"] = 0x2012;
- t["filledbox"] = 0x25a0;
- t["filledrect"] = 0x25ac;
- t["finalkaf"] = 0x05da;
- t["finalkafdagesh"] = 0xfb3a;
- t["finalkafdageshhebrew"] = 0xfb3a;
- t["finalkafhebrew"] = 0x05da;
- t["finalmem"] = 0x05dd;
- t["finalmemhebrew"] = 0x05dd;
- t["finalnun"] = 0x05df;
- t["finalnunhebrew"] = 0x05df;
- t["finalpe"] = 0x05e3;
- t["finalpehebrew"] = 0x05e3;
- t["finaltsadi"] = 0x05e5;
- t["finaltsadihebrew"] = 0x05e5;
- t["firsttonechinese"] = 0x02c9;
- t["fisheye"] = 0x25c9;
- t["fitacyrillic"] = 0x0473;
- t["five"] = 0x0035;
- t["fivearabic"] = 0x0665;
- t["fivebengali"] = 0x09eb;
- t["fivecircle"] = 0x2464;
- t["fivecircleinversesansserif"] = 0x278e;
- t["fivedeva"] = 0x096b;
- t["fiveeighths"] = 0x215d;
- t["fivegujarati"] = 0x0aeb;
- t["fivegurmukhi"] = 0x0a6b;
- t["fivehackarabic"] = 0x0665;
- t["fivehangzhou"] = 0x3025;
- t["fiveideographicparen"] = 0x3224;
- t["fiveinferior"] = 0x2085;
- t["fivemonospace"] = 0xff15;
- t["fiveoldstyle"] = 0xf735;
- t["fiveparen"] = 0x2478;
- t["fiveperiod"] = 0x248c;
- t["fivepersian"] = 0x06f5;
- t["fiveroman"] = 0x2174;
- t["fivesuperior"] = 0x2075;
- t["fivethai"] = 0x0e55;
- t["fl"] = 0xfb02;
- t["florin"] = 0x0192;
- t["fmonospace"] = 0xff46;
- t["fmsquare"] = 0x3399;
- t["fofanthai"] = 0x0e1f;
- t["fofathai"] = 0x0e1d;
- t["fongmanthai"] = 0x0e4f;
- t["forall"] = 0x2200;
- t["four"] = 0x0034;
- t["fourarabic"] = 0x0664;
- t["fourbengali"] = 0x09ea;
- t["fourcircle"] = 0x2463;
- t["fourcircleinversesansserif"] = 0x278d;
- t["fourdeva"] = 0x096a;
- t["fourgujarati"] = 0x0aea;
- t["fourgurmukhi"] = 0x0a6a;
- t["fourhackarabic"] = 0x0664;
- t["fourhangzhou"] = 0x3024;
- t["fourideographicparen"] = 0x3223;
- t["fourinferior"] = 0x2084;
- t["fourmonospace"] = 0xff14;
- t["fournumeratorbengali"] = 0x09f7;
- t["fouroldstyle"] = 0xf734;
- t["fourparen"] = 0x2477;
- t["fourperiod"] = 0x248b;
- t["fourpersian"] = 0x06f4;
- t["fourroman"] = 0x2173;
- t["foursuperior"] = 0x2074;
- t["fourteencircle"] = 0x246d;
- t["fourteenparen"] = 0x2481;
- t["fourteenperiod"] = 0x2495;
- t["fourthai"] = 0x0e54;
- t["fourthtonechinese"] = 0x02cb;
- t["fparen"] = 0x24a1;
- t["fraction"] = 0x2044;
- t["franc"] = 0x20a3;
- t["g"] = 0x0067;
- t["gabengali"] = 0x0997;
- t["gacute"] = 0x01f5;
- t["gadeva"] = 0x0917;
- t["gafarabic"] = 0x06af;
- t["gaffinalarabic"] = 0xfb93;
- t["gafinitialarabic"] = 0xfb94;
- t["gafmedialarabic"] = 0xfb95;
- t["gagujarati"] = 0x0a97;
- t["gagurmukhi"] = 0x0a17;
- t["gahiragana"] = 0x304c;
- t["gakatakana"] = 0x30ac;
- t["gamma"] = 0x03b3;
- t["gammalatinsmall"] = 0x0263;
- t["gammasuperior"] = 0x02e0;
- t["gangiacoptic"] = 0x03eb;
- t["gbopomofo"] = 0x310d;
- t["gbreve"] = 0x011f;
- t["gcaron"] = 0x01e7;
- t["gcedilla"] = 0x0123;
- t["gcircle"] = 0x24d6;
- t["gcircumflex"] = 0x011d;
- t["gcommaaccent"] = 0x0123;
- t["gdot"] = 0x0121;
- t["gdotaccent"] = 0x0121;
- t["gecyrillic"] = 0x0433;
- t["gehiragana"] = 0x3052;
- t["gekatakana"] = 0x30b2;
- t["geometricallyequal"] = 0x2251;
- t["gereshaccenthebrew"] = 0x059c;
- t["gereshhebrew"] = 0x05f3;
- t["gereshmuqdamhebrew"] = 0x059d;
- t["germandbls"] = 0x00df;
- t["gershayimaccenthebrew"] = 0x059e;
- t["gershayimhebrew"] = 0x05f4;
- t["getamark"] = 0x3013;
- t["ghabengali"] = 0x0998;
- t["ghadarmenian"] = 0x0572;
- t["ghadeva"] = 0x0918;
- t["ghagujarati"] = 0x0a98;
- t["ghagurmukhi"] = 0x0a18;
- t["ghainarabic"] = 0x063a;
- t["ghainfinalarabic"] = 0xfece;
- t["ghaininitialarabic"] = 0xfecf;
- t["ghainmedialarabic"] = 0xfed0;
- t["ghemiddlehookcyrillic"] = 0x0495;
- t["ghestrokecyrillic"] = 0x0493;
- t["gheupturncyrillic"] = 0x0491;
- t["ghhadeva"] = 0x095a;
- t["ghhagurmukhi"] = 0x0a5a;
- t["ghook"] = 0x0260;
- t["ghzsquare"] = 0x3393;
- t["gihiragana"] = 0x304e;
- t["gikatakana"] = 0x30ae;
- t["gimarmenian"] = 0x0563;
- t["gimel"] = 0x05d2;
- t["gimeldagesh"] = 0xfb32;
- t["gimeldageshhebrew"] = 0xfb32;
- t["gimelhebrew"] = 0x05d2;
- t["gjecyrillic"] = 0x0453;
- t["glottalinvertedstroke"] = 0x01be;
- t["glottalstop"] = 0x0294;
- t["glottalstopinverted"] = 0x0296;
- t["glottalstopmod"] = 0x02c0;
- t["glottalstopreversed"] = 0x0295;
- t["glottalstopreversedmod"] = 0x02c1;
- t["glottalstopreversedsuperior"] = 0x02e4;
- t["glottalstopstroke"] = 0x02a1;
- t["glottalstopstrokereversed"] = 0x02a2;
- t["gmacron"] = 0x1e21;
- t["gmonospace"] = 0xff47;
- t["gohiragana"] = 0x3054;
- t["gokatakana"] = 0x30b4;
- t["gparen"] = 0x24a2;
- t["gpasquare"] = 0x33ac;
- t["gradient"] = 0x2207;
- t["grave"] = 0x0060;
- t["gravebelowcmb"] = 0x0316;
- t["gravecmb"] = 0x0300;
- t["gravecomb"] = 0x0300;
- t["gravedeva"] = 0x0953;
- t["gravelowmod"] = 0x02ce;
- t["gravemonospace"] = 0xff40;
- t["gravetonecmb"] = 0x0340;
- t["greater"] = 0x003e;
- t["greaterequal"] = 0x2265;
- t["greaterequalorless"] = 0x22db;
- t["greatermonospace"] = 0xff1e;
- t["greaterorequivalent"] = 0x2273;
- t["greaterorless"] = 0x2277;
- t["greateroverequal"] = 0x2267;
- t["greatersmall"] = 0xfe65;
- t["gscript"] = 0x0261;
- t["gstroke"] = 0x01e5;
- t["guhiragana"] = 0x3050;
- t["guillemotleft"] = 0x00ab;
- t["guillemotright"] = 0x00bb;
- t["guilsinglleft"] = 0x2039;
- t["guilsinglright"] = 0x203a;
- t["gukatakana"] = 0x30b0;
- t["guramusquare"] = 0x3318;
- t["gysquare"] = 0x33c9;
- t["h"] = 0x0068;
- t["haabkhasiancyrillic"] = 0x04a9;
- t["haaltonearabic"] = 0x06c1;
- t["habengali"] = 0x09b9;
- t["hadescendercyrillic"] = 0x04b3;
- t["hadeva"] = 0x0939;
- t["hagujarati"] = 0x0ab9;
- t["hagurmukhi"] = 0x0a39;
- t["haharabic"] = 0x062d;
- t["hahfinalarabic"] = 0xfea2;
- t["hahinitialarabic"] = 0xfea3;
- t["hahiragana"] = 0x306f;
- t["hahmedialarabic"] = 0xfea4;
- t["haitusquare"] = 0x332a;
- t["hakatakana"] = 0x30cf;
- t["hakatakanahalfwidth"] = 0xff8a;
- t["halantgurmukhi"] = 0x0a4d;
- t["hamzaarabic"] = 0x0621;
- t["hamzalowarabic"] = 0x0621;
- t["hangulfiller"] = 0x3164;
- t["hardsigncyrillic"] = 0x044a;
- t["harpoonleftbarbup"] = 0x21bc;
- t["harpoonrightbarbup"] = 0x21c0;
- t["hasquare"] = 0x33ca;
- t["hatafpatah"] = 0x05b2;
- t["hatafpatah16"] = 0x05b2;
- t["hatafpatah23"] = 0x05b2;
- t["hatafpatah2f"] = 0x05b2;
- t["hatafpatahhebrew"] = 0x05b2;
- t["hatafpatahnarrowhebrew"] = 0x05b2;
- t["hatafpatahquarterhebrew"] = 0x05b2;
- t["hatafpatahwidehebrew"] = 0x05b2;
- t["hatafqamats"] = 0x05b3;
- t["hatafqamats1b"] = 0x05b3;
- t["hatafqamats28"] = 0x05b3;
- t["hatafqamats34"] = 0x05b3;
- t["hatafqamatshebrew"] = 0x05b3;
- t["hatafqamatsnarrowhebrew"] = 0x05b3;
- t["hatafqamatsquarterhebrew"] = 0x05b3;
- t["hatafqamatswidehebrew"] = 0x05b3;
- t["hatafsegol"] = 0x05b1;
- t["hatafsegol17"] = 0x05b1;
- t["hatafsegol24"] = 0x05b1;
- t["hatafsegol30"] = 0x05b1;
- t["hatafsegolhebrew"] = 0x05b1;
- t["hatafsegolnarrowhebrew"] = 0x05b1;
- t["hatafsegolquarterhebrew"] = 0x05b1;
- t["hatafsegolwidehebrew"] = 0x05b1;
- t["hbar"] = 0x0127;
- t["hbopomofo"] = 0x310f;
- t["hbrevebelow"] = 0x1e2b;
- t["hcedilla"] = 0x1e29;
- t["hcircle"] = 0x24d7;
- t["hcircumflex"] = 0x0125;
- t["hdieresis"] = 0x1e27;
- t["hdotaccent"] = 0x1e23;
- t["hdotbelow"] = 0x1e25;
- t["he"] = 0x05d4;
- t["heart"] = 0x2665;
- t["heartsuitblack"] = 0x2665;
- t["heartsuitwhite"] = 0x2661;
- t["hedagesh"] = 0xfb34;
- t["hedageshhebrew"] = 0xfb34;
- t["hehaltonearabic"] = 0x06c1;
- t["heharabic"] = 0x0647;
- t["hehebrew"] = 0x05d4;
- t["hehfinalaltonearabic"] = 0xfba7;
- t["hehfinalalttwoarabic"] = 0xfeea;
- t["hehfinalarabic"] = 0xfeea;
- t["hehhamzaabovefinalarabic"] = 0xfba5;
- t["hehhamzaaboveisolatedarabic"] = 0xfba4;
- t["hehinitialaltonearabic"] = 0xfba8;
- t["hehinitialarabic"] = 0xfeeb;
- t["hehiragana"] = 0x3078;
- t["hehmedialaltonearabic"] = 0xfba9;
- t["hehmedialarabic"] = 0xfeec;
- t["heiseierasquare"] = 0x337b;
- t["hekatakana"] = 0x30d8;
- t["hekatakanahalfwidth"] = 0xff8d;
- t["hekutaarusquare"] = 0x3336;
- t["henghook"] = 0x0267;
- t["herutusquare"] = 0x3339;
- t["het"] = 0x05d7;
- t["hethebrew"] = 0x05d7;
- t["hhook"] = 0x0266;
- t["hhooksuperior"] = 0x02b1;
- t["hieuhacirclekorean"] = 0x327b;
- t["hieuhaparenkorean"] = 0x321b;
- t["hieuhcirclekorean"] = 0x326d;
- t["hieuhkorean"] = 0x314e;
- t["hieuhparenkorean"] = 0x320d;
- t["hihiragana"] = 0x3072;
- t["hikatakana"] = 0x30d2;
- t["hikatakanahalfwidth"] = 0xff8b;
- t["hiriq"] = 0x05b4;
- t["hiriq14"] = 0x05b4;
- t["hiriq21"] = 0x05b4;
- t["hiriq2d"] = 0x05b4;
- t["hiriqhebrew"] = 0x05b4;
- t["hiriqnarrowhebrew"] = 0x05b4;
- t["hiriqquarterhebrew"] = 0x05b4;
- t["hiriqwidehebrew"] = 0x05b4;
- t["hlinebelow"] = 0x1e96;
- t["hmonospace"] = 0xff48;
- t["hoarmenian"] = 0x0570;
- t["hohipthai"] = 0x0e2b;
- t["hohiragana"] = 0x307b;
- t["hokatakana"] = 0x30db;
- t["hokatakanahalfwidth"] = 0xff8e;
- t["holam"] = 0x05b9;
- t["holam19"] = 0x05b9;
- t["holam26"] = 0x05b9;
- t["holam32"] = 0x05b9;
- t["holamhebrew"] = 0x05b9;
- t["holamnarrowhebrew"] = 0x05b9;
- t["holamquarterhebrew"] = 0x05b9;
- t["holamwidehebrew"] = 0x05b9;
- t["honokhukthai"] = 0x0e2e;
- t["hookabovecomb"] = 0x0309;
- t["hookcmb"] = 0x0309;
- t["hookpalatalizedbelowcmb"] = 0x0321;
- t["hookretroflexbelowcmb"] = 0x0322;
- t["hoonsquare"] = 0x3342;
- t["horicoptic"] = 0x03e9;
- t["horizontalbar"] = 0x2015;
- t["horncmb"] = 0x031b;
- t["hotsprings"] = 0x2668;
- t["house"] = 0x2302;
- t["hparen"] = 0x24a3;
- t["hsuperior"] = 0x02b0;
- t["hturned"] = 0x0265;
- t["huhiragana"] = 0x3075;
- t["huiitosquare"] = 0x3333;
- t["hukatakana"] = 0x30d5;
- t["hukatakanahalfwidth"] = 0xff8c;
- t["hungarumlaut"] = 0x02dd;
- t["hungarumlautcmb"] = 0x030b;
- t["hv"] = 0x0195;
- t["hyphen"] = 0x002d;
- t["hypheninferior"] = 0xf6e5;
- t["hyphenmonospace"] = 0xff0d;
- t["hyphensmall"] = 0xfe63;
- t["hyphensuperior"] = 0xf6e6;
- t["hyphentwo"] = 0x2010;
- t["i"] = 0x0069;
- t["iacute"] = 0x00ed;
- t["iacyrillic"] = 0x044f;
- t["ibengali"] = 0x0987;
- t["ibopomofo"] = 0x3127;
- t["ibreve"] = 0x012d;
- t["icaron"] = 0x01d0;
- t["icircle"] = 0x24d8;
- t["icircumflex"] = 0x00ee;
- t["icyrillic"] = 0x0456;
- t["idblgrave"] = 0x0209;
- t["ideographearthcircle"] = 0x328f;
- t["ideographfirecircle"] = 0x328b;
- t["ideographicallianceparen"] = 0x323f;
- t["ideographiccallparen"] = 0x323a;
- t["ideographiccentrecircle"] = 0x32a5;
- t["ideographicclose"] = 0x3006;
- t["ideographiccomma"] = 0x3001;
- t["ideographiccommaleft"] = 0xff64;
- t["ideographiccongratulationparen"] = 0x3237;
- t["ideographiccorrectcircle"] = 0x32a3;
- t["ideographicearthparen"] = 0x322f;
- t["ideographicenterpriseparen"] = 0x323d;
- t["ideographicexcellentcircle"] = 0x329d;
- t["ideographicfestivalparen"] = 0x3240;
- t["ideographicfinancialcircle"] = 0x3296;
- t["ideographicfinancialparen"] = 0x3236;
- t["ideographicfireparen"] = 0x322b;
- t["ideographichaveparen"] = 0x3232;
- t["ideographichighcircle"] = 0x32a4;
- t["ideographiciterationmark"] = 0x3005;
- t["ideographiclaborcircle"] = 0x3298;
- t["ideographiclaborparen"] = 0x3238;
- t["ideographicleftcircle"] = 0x32a7;
- t["ideographiclowcircle"] = 0x32a6;
- t["ideographicmedicinecircle"] = 0x32a9;
- t["ideographicmetalparen"] = 0x322e;
- t["ideographicmoonparen"] = 0x322a;
- t["ideographicnameparen"] = 0x3234;
- t["ideographicperiod"] = 0x3002;
- t["ideographicprintcircle"] = 0x329e;
- t["ideographicreachparen"] = 0x3243;
- t["ideographicrepresentparen"] = 0x3239;
- t["ideographicresourceparen"] = 0x323e;
- t["ideographicrightcircle"] = 0x32a8;
- t["ideographicsecretcircle"] = 0x3299;
- t["ideographicselfparen"] = 0x3242;
- t["ideographicsocietyparen"] = 0x3233;
- t["ideographicspace"] = 0x3000;
- t["ideographicspecialparen"] = 0x3235;
- t["ideographicstockparen"] = 0x3231;
- t["ideographicstudyparen"] = 0x323b;
- t["ideographicsunparen"] = 0x3230;
- t["ideographicsuperviseparen"] = 0x323c;
- t["ideographicwaterparen"] = 0x322c;
- t["ideographicwoodparen"] = 0x322d;
- t["ideographiczero"] = 0x3007;
- t["ideographmetalcircle"] = 0x328e;
- t["ideographmooncircle"] = 0x328a;
- t["ideographnamecircle"] = 0x3294;
- t["ideographsuncircle"] = 0x3290;
- t["ideographwatercircle"] = 0x328c;
- t["ideographwoodcircle"] = 0x328d;
- t["ideva"] = 0x0907;
- t["idieresis"] = 0x00ef;
- t["idieresisacute"] = 0x1e2f;
- t["idieresiscyrillic"] = 0x04e5;
- t["idotbelow"] = 0x1ecb;
- t["iebrevecyrillic"] = 0x04d7;
- t["iecyrillic"] = 0x0435;
- t["ieungacirclekorean"] = 0x3275;
- t["ieungaparenkorean"] = 0x3215;
- t["ieungcirclekorean"] = 0x3267;
- t["ieungkorean"] = 0x3147;
- t["ieungparenkorean"] = 0x3207;
- t["igrave"] = 0x00ec;
- t["igujarati"] = 0x0a87;
- t["igurmukhi"] = 0x0a07;
- t["ihiragana"] = 0x3044;
- t["ihookabove"] = 0x1ec9;
- t["iibengali"] = 0x0988;
- t["iicyrillic"] = 0x0438;
- t["iideva"] = 0x0908;
- t["iigujarati"] = 0x0a88;
- t["iigurmukhi"] = 0x0a08;
- t["iimatragurmukhi"] = 0x0a40;
- t["iinvertedbreve"] = 0x020b;
- t["iishortcyrillic"] = 0x0439;
- t["iivowelsignbengali"] = 0x09c0;
- t["iivowelsigndeva"] = 0x0940;
- t["iivowelsigngujarati"] = 0x0ac0;
- t["ij"] = 0x0133;
- t["ikatakana"] = 0x30a4;
- t["ikatakanahalfwidth"] = 0xff72;
- t["ikorean"] = 0x3163;
- t["ilde"] = 0x02dc;
- t["iluyhebrew"] = 0x05ac;
- t["imacron"] = 0x012b;
- t["imacroncyrillic"] = 0x04e3;
- t["imageorapproximatelyequal"] = 0x2253;
- t["imatragurmukhi"] = 0x0a3f;
- t["imonospace"] = 0xff49;
- t["increment"] = 0x2206;
- t["infinity"] = 0x221e;
- t["iniarmenian"] = 0x056b;
- t["integral"] = 0x222b;
- t["integralbottom"] = 0x2321;
- t["integralbt"] = 0x2321;
- t["integralex"] = 0xf8f5;
- t["integraltop"] = 0x2320;
- t["integraltp"] = 0x2320;
- t["intersection"] = 0x2229;
- t["intisquare"] = 0x3305;
- t["invbullet"] = 0x25d8;
- t["invcircle"] = 0x25d9;
- t["invsmileface"] = 0x263b;
- t["iocyrillic"] = 0x0451;
- t["iogonek"] = 0x012f;
- t["iota"] = 0x03b9;
- t["iotadieresis"] = 0x03ca;
- t["iotadieresistonos"] = 0x0390;
- t["iotalatin"] = 0x0269;
- t["iotatonos"] = 0x03af;
- t["iparen"] = 0x24a4;
- t["irigurmukhi"] = 0x0a72;
- t["ismallhiragana"] = 0x3043;
- t["ismallkatakana"] = 0x30a3;
- t["ismallkatakanahalfwidth"] = 0xff68;
- t["issharbengali"] = 0x09fa;
- t["istroke"] = 0x0268;
- t["isuperior"] = 0xf6ed;
- t["iterationhiragana"] = 0x309d;
- t["iterationkatakana"] = 0x30fd;
- t["itilde"] = 0x0129;
- t["itildebelow"] = 0x1e2d;
- t["iubopomofo"] = 0x3129;
- t["iucyrillic"] = 0x044e;
- t["ivowelsignbengali"] = 0x09bf;
- t["ivowelsigndeva"] = 0x093f;
- t["ivowelsigngujarati"] = 0x0abf;
- t["izhitsacyrillic"] = 0x0475;
- t["izhitsadblgravecyrillic"] = 0x0477;
- t["j"] = 0x006a;
- t["jaarmenian"] = 0x0571;
- t["jabengali"] = 0x099c;
- t["jadeva"] = 0x091c;
- t["jagujarati"] = 0x0a9c;
- t["jagurmukhi"] = 0x0a1c;
- t["jbopomofo"] = 0x3110;
- t["jcaron"] = 0x01f0;
- t["jcircle"] = 0x24d9;
- t["jcircumflex"] = 0x0135;
- t["jcrossedtail"] = 0x029d;
- t["jdotlessstroke"] = 0x025f;
- t["jecyrillic"] = 0x0458;
- t["jeemarabic"] = 0x062c;
- t["jeemfinalarabic"] = 0xfe9e;
- t["jeeminitialarabic"] = 0xfe9f;
- t["jeemmedialarabic"] = 0xfea0;
- t["jeharabic"] = 0x0698;
- t["jehfinalarabic"] = 0xfb8b;
- t["jhabengali"] = 0x099d;
- t["jhadeva"] = 0x091d;
- t["jhagujarati"] = 0x0a9d;
- t["jhagurmukhi"] = 0x0a1d;
- t["jheharmenian"] = 0x057b;
- t["jis"] = 0x3004;
- t["jmonospace"] = 0xff4a;
- t["jparen"] = 0x24a5;
- t["jsuperior"] = 0x02b2;
- t["k"] = 0x006b;
- t["kabashkircyrillic"] = 0x04a1;
- t["kabengali"] = 0x0995;
- t["kacute"] = 0x1e31;
- t["kacyrillic"] = 0x043a;
- t["kadescendercyrillic"] = 0x049b;
- t["kadeva"] = 0x0915;
- t["kaf"] = 0x05db;
- t["kafarabic"] = 0x0643;
- t["kafdagesh"] = 0xfb3b;
- t["kafdageshhebrew"] = 0xfb3b;
- t["kaffinalarabic"] = 0xfeda;
- t["kafhebrew"] = 0x05db;
- t["kafinitialarabic"] = 0xfedb;
- t["kafmedialarabic"] = 0xfedc;
- t["kafrafehebrew"] = 0xfb4d;
- t["kagujarati"] = 0x0a95;
- t["kagurmukhi"] = 0x0a15;
- t["kahiragana"] = 0x304b;
- t["kahookcyrillic"] = 0x04c4;
- t["kakatakana"] = 0x30ab;
- t["kakatakanahalfwidth"] = 0xff76;
- t["kappa"] = 0x03ba;
- t["kappasymbolgreek"] = 0x03f0;
- t["kapyeounmieumkorean"] = 0x3171;
- t["kapyeounphieuphkorean"] = 0x3184;
- t["kapyeounpieupkorean"] = 0x3178;
- t["kapyeounssangpieupkorean"] = 0x3179;
- t["karoriisquare"] = 0x330d;
- t["kashidaautoarabic"] = 0x0640;
- t["kashidaautonosidebearingarabic"] = 0x0640;
- t["kasmallkatakana"] = 0x30f5;
- t["kasquare"] = 0x3384;
- t["kasraarabic"] = 0x0650;
- t["kasratanarabic"] = 0x064d;
- t["kastrokecyrillic"] = 0x049f;
- t["katahiraprolongmarkhalfwidth"] = 0xff70;
- t["kaverticalstrokecyrillic"] = 0x049d;
- t["kbopomofo"] = 0x310e;
- t["kcalsquare"] = 0x3389;
- t["kcaron"] = 0x01e9;
- t["kcedilla"] = 0x0137;
- t["kcircle"] = 0x24da;
- t["kcommaaccent"] = 0x0137;
- t["kdotbelow"] = 0x1e33;
- t["keharmenian"] = 0x0584;
- t["kehiragana"] = 0x3051;
- t["kekatakana"] = 0x30b1;
- t["kekatakanahalfwidth"] = 0xff79;
- t["kenarmenian"] = 0x056f;
- t["kesmallkatakana"] = 0x30f6;
- t["kgreenlandic"] = 0x0138;
- t["khabengali"] = 0x0996;
- t["khacyrillic"] = 0x0445;
- t["khadeva"] = 0x0916;
- t["khagujarati"] = 0x0a96;
- t["khagurmukhi"] = 0x0a16;
- t["khaharabic"] = 0x062e;
- t["khahfinalarabic"] = 0xfea6;
- t["khahinitialarabic"] = 0xfea7;
- t["khahmedialarabic"] = 0xfea8;
- t["kheicoptic"] = 0x03e7;
- t["khhadeva"] = 0x0959;
- t["khhagurmukhi"] = 0x0a59;
- t["khieukhacirclekorean"] = 0x3278;
- t["khieukhaparenkorean"] = 0x3218;
- t["khieukhcirclekorean"] = 0x326a;
- t["khieukhkorean"] = 0x314b;
- t["khieukhparenkorean"] = 0x320a;
- t["khokhaithai"] = 0x0e02;
- t["khokhonthai"] = 0x0e05;
- t["khokhuatthai"] = 0x0e03;
- t["khokhwaithai"] = 0x0e04;
- t["khomutthai"] = 0x0e5b;
- t["khook"] = 0x0199;
- t["khorakhangthai"] = 0x0e06;
- t["khzsquare"] = 0x3391;
- t["kihiragana"] = 0x304d;
- t["kikatakana"] = 0x30ad;
- t["kikatakanahalfwidth"] = 0xff77;
- t["kiroguramusquare"] = 0x3315;
- t["kiromeetorusquare"] = 0x3316;
- t["kirosquare"] = 0x3314;
- t["kiyeokacirclekorean"] = 0x326e;
- t["kiyeokaparenkorean"] = 0x320e;
- t["kiyeokcirclekorean"] = 0x3260;
- t["kiyeokkorean"] = 0x3131;
- t["kiyeokparenkorean"] = 0x3200;
- t["kiyeoksioskorean"] = 0x3133;
- t["kjecyrillic"] = 0x045c;
- t["klinebelow"] = 0x1e35;
- t["klsquare"] = 0x3398;
- t["kmcubedsquare"] = 0x33a6;
- t["kmonospace"] = 0xff4b;
- t["kmsquaredsquare"] = 0x33a2;
- t["kohiragana"] = 0x3053;
- t["kohmsquare"] = 0x33c0;
- t["kokaithai"] = 0x0e01;
- t["kokatakana"] = 0x30b3;
- t["kokatakanahalfwidth"] = 0xff7a;
- t["kooposquare"] = 0x331e;
- t["koppacyrillic"] = 0x0481;
- t["koreanstandardsymbol"] = 0x327f;
- t["koroniscmb"] = 0x0343;
- t["kparen"] = 0x24a6;
- t["kpasquare"] = 0x33aa;
- t["ksicyrillic"] = 0x046f;
- t["ktsquare"] = 0x33cf;
- t["kturned"] = 0x029e;
- t["kuhiragana"] = 0x304f;
- t["kukatakana"] = 0x30af;
- t["kukatakanahalfwidth"] = 0xff78;
- t["kvsquare"] = 0x33b8;
- t["kwsquare"] = 0x33be;
- t["l"] = 0x006c;
- t["labengali"] = 0x09b2;
- t["lacute"] = 0x013a;
- t["ladeva"] = 0x0932;
- t["lagujarati"] = 0x0ab2;
- t["lagurmukhi"] = 0x0a32;
- t["lakkhangyaothai"] = 0x0e45;
- t["lamaleffinalarabic"] = 0xfefc;
- t["lamalefhamzaabovefinalarabic"] = 0xfef8;
- t["lamalefhamzaaboveisolatedarabic"] = 0xfef7;
- t["lamalefhamzabelowfinalarabic"] = 0xfefa;
- t["lamalefhamzabelowisolatedarabic"] = 0xfef9;
- t["lamalefisolatedarabic"] = 0xfefb;
- t["lamalefmaddaabovefinalarabic"] = 0xfef6;
- t["lamalefmaddaaboveisolatedarabic"] = 0xfef5;
- t["lamarabic"] = 0x0644;
- t["lambda"] = 0x03bb;
- t["lambdastroke"] = 0x019b;
- t["lamed"] = 0x05dc;
- t["lameddagesh"] = 0xfb3c;
- t["lameddageshhebrew"] = 0xfb3c;
- t["lamedhebrew"] = 0x05dc;
- t["lamfinalarabic"] = 0xfede;
- t["lamhahinitialarabic"] = 0xfcca;
- t["laminitialarabic"] = 0xfedf;
- t["lamjeeminitialarabic"] = 0xfcc9;
- t["lamkhahinitialarabic"] = 0xfccb;
- t["lamlamhehisolatedarabic"] = 0xfdf2;
- t["lammedialarabic"] = 0xfee0;
- t["lammeemhahinitialarabic"] = 0xfd88;
- t["lammeeminitialarabic"] = 0xfccc;
- t["largecircle"] = 0x25ef;
- t["lbar"] = 0x019a;
- t["lbelt"] = 0x026c;
- t["lbopomofo"] = 0x310c;
- t["lcaron"] = 0x013e;
- t["lcedilla"] = 0x013c;
- t["lcircle"] = 0x24db;
- t["lcircumflexbelow"] = 0x1e3d;
- t["lcommaaccent"] = 0x013c;
- t["ldot"] = 0x0140;
- t["ldotaccent"] = 0x0140;
- t["ldotbelow"] = 0x1e37;
- t["ldotbelowmacron"] = 0x1e39;
- t["leftangleabovecmb"] = 0x031a;
- t["lefttackbelowcmb"] = 0x0318;
- t["less"] = 0x003c;
- t["lessequal"] = 0x2264;
- t["lessequalorgreater"] = 0x22da;
- t["lessmonospace"] = 0xff1c;
- t["lessorequivalent"] = 0x2272;
- t["lessorgreater"] = 0x2276;
- t["lessoverequal"] = 0x2266;
- t["lesssmall"] = 0xfe64;
- t["lezh"] = 0x026e;
- t["lfblock"] = 0x258c;
- t["lhookretroflex"] = 0x026d;
- t["lira"] = 0x20a4;
- t["liwnarmenian"] = 0x056c;
- t["lj"] = 0x01c9;
- t["ljecyrillic"] = 0x0459;
- t["ll"] = 0xf6c0;
- t["lladeva"] = 0x0933;
- t["llagujarati"] = 0x0ab3;
- t["llinebelow"] = 0x1e3b;
- t["llladeva"] = 0x0934;
- t["llvocalicbengali"] = 0x09e1;
- t["llvocalicdeva"] = 0x0961;
- t["llvocalicvowelsignbengali"] = 0x09e3;
- t["llvocalicvowelsigndeva"] = 0x0963;
- t["lmiddletilde"] = 0x026b;
- t["lmonospace"] = 0xff4c;
- t["lmsquare"] = 0x33d0;
- t["lochulathai"] = 0x0e2c;
- t["logicaland"] = 0x2227;
- t["logicalnot"] = 0x00ac;
- t["logicalnotreversed"] = 0x2310;
- t["logicalor"] = 0x2228;
- t["lolingthai"] = 0x0e25;
- t["longs"] = 0x017f;
- t["lowlinecenterline"] = 0xfe4e;
- t["lowlinecmb"] = 0x0332;
- t["lowlinedashed"] = 0xfe4d;
- t["lozenge"] = 0x25ca;
- t["lparen"] = 0x24a7;
- t["lslash"] = 0x0142;
- t["lsquare"] = 0x2113;
- t["lsuperior"] = 0xf6ee;
- t["ltshade"] = 0x2591;
- t["luthai"] = 0x0e26;
- t["lvocalicbengali"] = 0x098c;
- t["lvocalicdeva"] = 0x090c;
- t["lvocalicvowelsignbengali"] = 0x09e2;
- t["lvocalicvowelsigndeva"] = 0x0962;
- t["lxsquare"] = 0x33d3;
- t["m"] = 0x006d;
- t["mabengali"] = 0x09ae;
- t["macron"] = 0x00af;
- t["macronbelowcmb"] = 0x0331;
- t["macroncmb"] = 0x0304;
- t["macronlowmod"] = 0x02cd;
- t["macronmonospace"] = 0xffe3;
- t["macute"] = 0x1e3f;
- t["madeva"] = 0x092e;
- t["magujarati"] = 0x0aae;
- t["magurmukhi"] = 0x0a2e;
- t["mahapakhhebrew"] = 0x05a4;
- t["mahapakhlefthebrew"] = 0x05a4;
- t["mahiragana"] = 0x307e;
- t["maichattawalowleftthai"] = 0xf895;
- t["maichattawalowrightthai"] = 0xf894;
- t["maichattawathai"] = 0x0e4b;
- t["maichattawaupperleftthai"] = 0xf893;
- t["maieklowleftthai"] = 0xf88c;
- t["maieklowrightthai"] = 0xf88b;
- t["maiekthai"] = 0x0e48;
- t["maiekupperleftthai"] = 0xf88a;
- t["maihanakatleftthai"] = 0xf884;
- t["maihanakatthai"] = 0x0e31;
- t["maitaikhuleftthai"] = 0xf889;
- t["maitaikhuthai"] = 0x0e47;
- t["maitholowleftthai"] = 0xf88f;
- t["maitholowrightthai"] = 0xf88e;
- t["maithothai"] = 0x0e49;
- t["maithoupperleftthai"] = 0xf88d;
- t["maitrilowleftthai"] = 0xf892;
- t["maitrilowrightthai"] = 0xf891;
- t["maitrithai"] = 0x0e4a;
- t["maitriupperleftthai"] = 0xf890;
- t["maiyamokthai"] = 0x0e46;
- t["makatakana"] = 0x30de;
- t["makatakanahalfwidth"] = 0xff8f;
- t["male"] = 0x2642;
- t["mansyonsquare"] = 0x3347;
- t["maqafhebrew"] = 0x05be;
- t["mars"] = 0x2642;
- t["masoracirclehebrew"] = 0x05af;
- t["masquare"] = 0x3383;
- t["mbopomofo"] = 0x3107;
- t["mbsquare"] = 0x33d4;
- t["mcircle"] = 0x24dc;
- t["mcubedsquare"] = 0x33a5;
- t["mdotaccent"] = 0x1e41;
- t["mdotbelow"] = 0x1e43;
- t["meemarabic"] = 0x0645;
- t["meemfinalarabic"] = 0xfee2;
- t["meeminitialarabic"] = 0xfee3;
- t["meemmedialarabic"] = 0xfee4;
- t["meemmeeminitialarabic"] = 0xfcd1;
- t["meemmeemisolatedarabic"] = 0xfc48;
- t["meetorusquare"] = 0x334d;
- t["mehiragana"] = 0x3081;
- t["meizierasquare"] = 0x337e;
- t["mekatakana"] = 0x30e1;
- t["mekatakanahalfwidth"] = 0xff92;
- t["mem"] = 0x05de;
- t["memdagesh"] = 0xfb3e;
- t["memdageshhebrew"] = 0xfb3e;
- t["memhebrew"] = 0x05de;
- t["menarmenian"] = 0x0574;
- t["merkhahebrew"] = 0x05a5;
- t["merkhakefulahebrew"] = 0x05a6;
- t["merkhakefulalefthebrew"] = 0x05a6;
- t["merkhalefthebrew"] = 0x05a5;
- t["mhook"] = 0x0271;
- t["mhzsquare"] = 0x3392;
- t["middledotkatakanahalfwidth"] = 0xff65;
- t["middot"] = 0x00b7;
- t["mieumacirclekorean"] = 0x3272;
- t["mieumaparenkorean"] = 0x3212;
- t["mieumcirclekorean"] = 0x3264;
- t["mieumkorean"] = 0x3141;
- t["mieumpansioskorean"] = 0x3170;
- t["mieumparenkorean"] = 0x3204;
- t["mieumpieupkorean"] = 0x316e;
- t["mieumsioskorean"] = 0x316f;
- t["mihiragana"] = 0x307f;
- t["mikatakana"] = 0x30df;
- t["mikatakanahalfwidth"] = 0xff90;
- t["minus"] = 0x2212;
- t["minusbelowcmb"] = 0x0320;
- t["minuscircle"] = 0x2296;
- t["minusmod"] = 0x02d7;
- t["minusplus"] = 0x2213;
- t["minute"] = 0x2032;
- t["miribaarusquare"] = 0x334a;
- t["mirisquare"] = 0x3349;
- t["mlonglegturned"] = 0x0270;
- t["mlsquare"] = 0x3396;
- t["mmcubedsquare"] = 0x33a3;
- t["mmonospace"] = 0xff4d;
- t["mmsquaredsquare"] = 0x339f;
- t["mohiragana"] = 0x3082;
- t["mohmsquare"] = 0x33c1;
- t["mokatakana"] = 0x30e2;
- t["mokatakanahalfwidth"] = 0xff93;
- t["molsquare"] = 0x33d6;
- t["momathai"] = 0x0e21;
- t["moverssquare"] = 0x33a7;
- t["moverssquaredsquare"] = 0x33a8;
- t["mparen"] = 0x24a8;
- t["mpasquare"] = 0x33ab;
- t["mssquare"] = 0x33b3;
- t["msuperior"] = 0xf6ef;
- t["mturned"] = 0x026f;
- t["mu"] = 0x00b5;
- t["mu1"] = 0x00b5;
- t["muasquare"] = 0x3382;
- t["muchgreater"] = 0x226b;
- t["muchless"] = 0x226a;
- t["mufsquare"] = 0x338c;
- t["mugreek"] = 0x03bc;
- t["mugsquare"] = 0x338d;
- t["muhiragana"] = 0x3080;
- t["mukatakana"] = 0x30e0;
- t["mukatakanahalfwidth"] = 0xff91;
- t["mulsquare"] = 0x3395;
- t["multiply"] = 0x00d7;
- t["mumsquare"] = 0x339b;
- t["munahhebrew"] = 0x05a3;
- t["munahlefthebrew"] = 0x05a3;
- t["musicalnote"] = 0x266a;
- t["musicalnotedbl"] = 0x266b;
- t["musicflatsign"] = 0x266d;
- t["musicsharpsign"] = 0x266f;
- t["mussquare"] = 0x33b2;
- t["muvsquare"] = 0x33b6;
- t["muwsquare"] = 0x33bc;
- t["mvmegasquare"] = 0x33b9;
- t["mvsquare"] = 0x33b7;
- t["mwmegasquare"] = 0x33bf;
- t["mwsquare"] = 0x33bd;
- t["n"] = 0x006e;
- t["nabengali"] = 0x09a8;
- t["nabla"] = 0x2207;
- t["nacute"] = 0x0144;
- t["nadeva"] = 0x0928;
- t["nagujarati"] = 0x0aa8;
- t["nagurmukhi"] = 0x0a28;
- t["nahiragana"] = 0x306a;
- t["nakatakana"] = 0x30ca;
- t["nakatakanahalfwidth"] = 0xff85;
- t["napostrophe"] = 0x0149;
- t["nasquare"] = 0x3381;
- t["nbopomofo"] = 0x310b;
- t["nbspace"] = 0x00a0;
- t["ncaron"] = 0x0148;
- t["ncedilla"] = 0x0146;
- t["ncircle"] = 0x24dd;
- t["ncircumflexbelow"] = 0x1e4b;
- t["ncommaaccent"] = 0x0146;
- t["ndotaccent"] = 0x1e45;
- t["ndotbelow"] = 0x1e47;
- t["nehiragana"] = 0x306d;
- t["nekatakana"] = 0x30cd;
- t["nekatakanahalfwidth"] = 0xff88;
- t["newsheqelsign"] = 0x20aa;
- t["nfsquare"] = 0x338b;
- t["ngabengali"] = 0x0999;
- t["ngadeva"] = 0x0919;
- t["ngagujarati"] = 0x0a99;
- t["ngagurmukhi"] = 0x0a19;
- t["ngonguthai"] = 0x0e07;
- t["nhiragana"] = 0x3093;
- t["nhookleft"] = 0x0272;
- t["nhookretroflex"] = 0x0273;
- t["nieunacirclekorean"] = 0x326f;
- t["nieunaparenkorean"] = 0x320f;
- t["nieuncieuckorean"] = 0x3135;
- t["nieuncirclekorean"] = 0x3261;
- t["nieunhieuhkorean"] = 0x3136;
- t["nieunkorean"] = 0x3134;
- t["nieunpansioskorean"] = 0x3168;
- t["nieunparenkorean"] = 0x3201;
- t["nieunsioskorean"] = 0x3167;
- t["nieuntikeutkorean"] = 0x3166;
- t["nihiragana"] = 0x306b;
- t["nikatakana"] = 0x30cb;
- t["nikatakanahalfwidth"] = 0xff86;
- t["nikhahitleftthai"] = 0xf899;
- t["nikhahitthai"] = 0x0e4d;
- t["nine"] = 0x0039;
- t["ninearabic"] = 0x0669;
- t["ninebengali"] = 0x09ef;
- t["ninecircle"] = 0x2468;
- t["ninecircleinversesansserif"] = 0x2792;
- t["ninedeva"] = 0x096f;
- t["ninegujarati"] = 0x0aef;
- t["ninegurmukhi"] = 0x0a6f;
- t["ninehackarabic"] = 0x0669;
- t["ninehangzhou"] = 0x3029;
- t["nineideographicparen"] = 0x3228;
- t["nineinferior"] = 0x2089;
- t["ninemonospace"] = 0xff19;
- t["nineoldstyle"] = 0xf739;
- t["nineparen"] = 0x247c;
- t["nineperiod"] = 0x2490;
- t["ninepersian"] = 0x06f9;
- t["nineroman"] = 0x2178;
- t["ninesuperior"] = 0x2079;
- t["nineteencircle"] = 0x2472;
- t["nineteenparen"] = 0x2486;
- t["nineteenperiod"] = 0x249a;
- t["ninethai"] = 0x0e59;
- t["nj"] = 0x01cc;
- t["njecyrillic"] = 0x045a;
- t["nkatakana"] = 0x30f3;
- t["nkatakanahalfwidth"] = 0xff9d;
- t["nlegrightlong"] = 0x019e;
- t["nlinebelow"] = 0x1e49;
- t["nmonospace"] = 0xff4e;
- t["nmsquare"] = 0x339a;
- t["nnabengali"] = 0x09a3;
- t["nnadeva"] = 0x0923;
- t["nnagujarati"] = 0x0aa3;
- t["nnagurmukhi"] = 0x0a23;
- t["nnnadeva"] = 0x0929;
- t["nohiragana"] = 0x306e;
- t["nokatakana"] = 0x30ce;
- t["nokatakanahalfwidth"] = 0xff89;
- t["nonbreakingspace"] = 0x00a0;
- t["nonenthai"] = 0x0e13;
- t["nonuthai"] = 0x0e19;
- t["noonarabic"] = 0x0646;
- t["noonfinalarabic"] = 0xfee6;
- t["noonghunnaarabic"] = 0x06ba;
- t["noonghunnafinalarabic"] = 0xfb9f;
- t["nooninitialarabic"] = 0xfee7;
- t["noonjeeminitialarabic"] = 0xfcd2;
- t["noonjeemisolatedarabic"] = 0xfc4b;
- t["noonmedialarabic"] = 0xfee8;
- t["noonmeeminitialarabic"] = 0xfcd5;
- t["noonmeemisolatedarabic"] = 0xfc4e;
- t["noonnoonfinalarabic"] = 0xfc8d;
- t["notcontains"] = 0x220c;
- t["notelement"] = 0x2209;
- t["notelementof"] = 0x2209;
- t["notequal"] = 0x2260;
- t["notgreater"] = 0x226f;
- t["notgreaternorequal"] = 0x2271;
- t["notgreaternorless"] = 0x2279;
- t["notidentical"] = 0x2262;
- t["notless"] = 0x226e;
- t["notlessnorequal"] = 0x2270;
- t["notparallel"] = 0x2226;
- t["notprecedes"] = 0x2280;
- t["notsubset"] = 0x2284;
- t["notsucceeds"] = 0x2281;
- t["notsuperset"] = 0x2285;
- t["nowarmenian"] = 0x0576;
- t["nparen"] = 0x24a9;
- t["nssquare"] = 0x33b1;
- t["nsuperior"] = 0x207f;
- t["ntilde"] = 0x00f1;
- t["nu"] = 0x03bd;
- t["nuhiragana"] = 0x306c;
- t["nukatakana"] = 0x30cc;
- t["nukatakanahalfwidth"] = 0xff87;
- t["nuktabengali"] = 0x09bc;
- t["nuktadeva"] = 0x093c;
- t["nuktagujarati"] = 0x0abc;
- t["nuktagurmukhi"] = 0x0a3c;
- t["numbersign"] = 0x0023;
- t["numbersignmonospace"] = 0xff03;
- t["numbersignsmall"] = 0xfe5f;
- t["numeralsigngreek"] = 0x0374;
- t["numeralsignlowergreek"] = 0x0375;
- t["numero"] = 0x2116;
- t["nun"] = 0x05e0;
- t["nundagesh"] = 0xfb40;
- t["nundageshhebrew"] = 0xfb40;
- t["nunhebrew"] = 0x05e0;
- t["nvsquare"] = 0x33b5;
- t["nwsquare"] = 0x33bb;
- t["nyabengali"] = 0x099e;
- t["nyadeva"] = 0x091e;
- t["nyagujarati"] = 0x0a9e;
- t["nyagurmukhi"] = 0x0a1e;
- t["o"] = 0x006f;
- t["oacute"] = 0x00f3;
- t["oangthai"] = 0x0e2d;
- t["obarred"] = 0x0275;
- t["obarredcyrillic"] = 0x04e9;
- t["obarreddieresiscyrillic"] = 0x04eb;
- t["obengali"] = 0x0993;
- t["obopomofo"] = 0x311b;
- t["obreve"] = 0x014f;
- t["ocandradeva"] = 0x0911;
- t["ocandragujarati"] = 0x0a91;
- t["ocandravowelsigndeva"] = 0x0949;
- t["ocandravowelsigngujarati"] = 0x0ac9;
- t["ocaron"] = 0x01d2;
- t["ocircle"] = 0x24de;
- t["ocircumflex"] = 0x00f4;
- t["ocircumflexacute"] = 0x1ed1;
- t["ocircumflexdotbelow"] = 0x1ed9;
- t["ocircumflexgrave"] = 0x1ed3;
- t["ocircumflexhookabove"] = 0x1ed5;
- t["ocircumflextilde"] = 0x1ed7;
- t["ocyrillic"] = 0x043e;
- t["odblacute"] = 0x0151;
- t["odblgrave"] = 0x020d;
- t["odeva"] = 0x0913;
- t["odieresis"] = 0x00f6;
- t["odieresiscyrillic"] = 0x04e7;
- t["odotbelow"] = 0x1ecd;
- t["oe"] = 0x0153;
- t["oekorean"] = 0x315a;
- t["ogonek"] = 0x02db;
- t["ogonekcmb"] = 0x0328;
- t["ograve"] = 0x00f2;
- t["ogujarati"] = 0x0a93;
- t["oharmenian"] = 0x0585;
- t["ohiragana"] = 0x304a;
- t["ohookabove"] = 0x1ecf;
- t["ohorn"] = 0x01a1;
- t["ohornacute"] = 0x1edb;
- t["ohorndotbelow"] = 0x1ee3;
- t["ohorngrave"] = 0x1edd;
- t["ohornhookabove"] = 0x1edf;
- t["ohorntilde"] = 0x1ee1;
- t["ohungarumlaut"] = 0x0151;
- t["oi"] = 0x01a3;
- t["oinvertedbreve"] = 0x020f;
- t["okatakana"] = 0x30aa;
- t["okatakanahalfwidth"] = 0xff75;
- t["okorean"] = 0x3157;
- t["olehebrew"] = 0x05ab;
- t["omacron"] = 0x014d;
- t["omacronacute"] = 0x1e53;
- t["omacrongrave"] = 0x1e51;
- t["omdeva"] = 0x0950;
- t["omega"] = 0x03c9;
- t["omega1"] = 0x03d6;
- t["omegacyrillic"] = 0x0461;
- t["omegalatinclosed"] = 0x0277;
- t["omegaroundcyrillic"] = 0x047b;
- t["omegatitlocyrillic"] = 0x047d;
- t["omegatonos"] = 0x03ce;
- t["omgujarati"] = 0x0ad0;
- t["omicron"] = 0x03bf;
- t["omicrontonos"] = 0x03cc;
- t["omonospace"] = 0xff4f;
- t["one"] = 0x0031;
- t["onearabic"] = 0x0661;
- t["onebengali"] = 0x09e7;
- t["onecircle"] = 0x2460;
- t["onecircleinversesansserif"] = 0x278a;
- t["onedeva"] = 0x0967;
- t["onedotenleader"] = 0x2024;
- t["oneeighth"] = 0x215b;
- t["onefitted"] = 0xf6dc;
- t["onegujarati"] = 0x0ae7;
- t["onegurmukhi"] = 0x0a67;
- t["onehackarabic"] = 0x0661;
- t["onehalf"] = 0x00bd;
- t["onehangzhou"] = 0x3021;
- t["oneideographicparen"] = 0x3220;
- t["oneinferior"] = 0x2081;
- t["onemonospace"] = 0xff11;
- t["onenumeratorbengali"] = 0x09f4;
- t["oneoldstyle"] = 0xf731;
- t["oneparen"] = 0x2474;
- t["oneperiod"] = 0x2488;
- t["onepersian"] = 0x06f1;
- t["onequarter"] = 0x00bc;
- t["oneroman"] = 0x2170;
- t["onesuperior"] = 0x00b9;
- t["onethai"] = 0x0e51;
- t["onethird"] = 0x2153;
- t["oogonek"] = 0x01eb;
- t["oogonekmacron"] = 0x01ed;
- t["oogurmukhi"] = 0x0a13;
- t["oomatragurmukhi"] = 0x0a4b;
- t["oopen"] = 0x0254;
- t["oparen"] = 0x24aa;
- t["openbullet"] = 0x25e6;
- t["option"] = 0x2325;
- t["ordfeminine"] = 0x00aa;
- t["ordmasculine"] = 0x00ba;
- t["orthogonal"] = 0x221f;
- t["oshortdeva"] = 0x0912;
- t["oshortvowelsigndeva"] = 0x094a;
- t["oslash"] = 0x00f8;
- t["oslashacute"] = 0x01ff;
- t["osmallhiragana"] = 0x3049;
- t["osmallkatakana"] = 0x30a9;
- t["osmallkatakanahalfwidth"] = 0xff6b;
- t["ostrokeacute"] = 0x01ff;
- t["osuperior"] = 0xf6f0;
- t["otcyrillic"] = 0x047f;
- t["otilde"] = 0x00f5;
- t["otildeacute"] = 0x1e4d;
- t["otildedieresis"] = 0x1e4f;
- t["oubopomofo"] = 0x3121;
- t["overline"] = 0x203e;
- t["overlinecenterline"] = 0xfe4a;
- t["overlinecmb"] = 0x0305;
- t["overlinedashed"] = 0xfe49;
- t["overlinedblwavy"] = 0xfe4c;
- t["overlinewavy"] = 0xfe4b;
- t["overscore"] = 0x00af;
- t["ovowelsignbengali"] = 0x09cb;
- t["ovowelsigndeva"] = 0x094b;
- t["ovowelsigngujarati"] = 0x0acb;
- t["p"] = 0x0070;
- t["paampssquare"] = 0x3380;
- t["paasentosquare"] = 0x332b;
- t["pabengali"] = 0x09aa;
- t["pacute"] = 0x1e55;
- t["padeva"] = 0x092a;
- t["pagedown"] = 0x21df;
- t["pageup"] = 0x21de;
- t["pagujarati"] = 0x0aaa;
- t["pagurmukhi"] = 0x0a2a;
- t["pahiragana"] = 0x3071;
- t["paiyannoithai"] = 0x0e2f;
- t["pakatakana"] = 0x30d1;
- t["palatalizationcyrilliccmb"] = 0x0484;
- t["palochkacyrillic"] = 0x04c0;
- t["pansioskorean"] = 0x317f;
- t["paragraph"] = 0x00b6;
- t["parallel"] = 0x2225;
- t["parenleft"] = 0x0028;
- t["parenleftaltonearabic"] = 0xfd3e;
- t["parenleftbt"] = 0xf8ed;
- t["parenleftex"] = 0xf8ec;
- t["parenleftinferior"] = 0x208d;
- t["parenleftmonospace"] = 0xff08;
- t["parenleftsmall"] = 0xfe59;
- t["parenleftsuperior"] = 0x207d;
- t["parenlefttp"] = 0xf8eb;
- t["parenleftvertical"] = 0xfe35;
- t["parenright"] = 0x0029;
- t["parenrightaltonearabic"] = 0xfd3f;
- t["parenrightbt"] = 0xf8f8;
- t["parenrightex"] = 0xf8f7;
- t["parenrightinferior"] = 0x208e;
- t["parenrightmonospace"] = 0xff09;
- t["parenrightsmall"] = 0xfe5a;
- t["parenrightsuperior"] = 0x207e;
- t["parenrighttp"] = 0xf8f6;
- t["parenrightvertical"] = 0xfe36;
- t["partialdiff"] = 0x2202;
- t["paseqhebrew"] = 0x05c0;
- t["pashtahebrew"] = 0x0599;
- t["pasquare"] = 0x33a9;
- t["patah"] = 0x05b7;
- t["patah11"] = 0x05b7;
- t["patah1d"] = 0x05b7;
- t["patah2a"] = 0x05b7;
- t["patahhebrew"] = 0x05b7;
- t["patahnarrowhebrew"] = 0x05b7;
- t["patahquarterhebrew"] = 0x05b7;
- t["patahwidehebrew"] = 0x05b7;
- t["pazerhebrew"] = 0x05a1;
- t["pbopomofo"] = 0x3106;
- t["pcircle"] = 0x24df;
- t["pdotaccent"] = 0x1e57;
- t["pe"] = 0x05e4;
- t["pecyrillic"] = 0x043f;
- t["pedagesh"] = 0xfb44;
- t["pedageshhebrew"] = 0xfb44;
- t["peezisquare"] = 0x333b;
- t["pefinaldageshhebrew"] = 0xfb43;
- t["peharabic"] = 0x067e;
- t["peharmenian"] = 0x057a;
- t["pehebrew"] = 0x05e4;
- t["pehfinalarabic"] = 0xfb57;
- t["pehinitialarabic"] = 0xfb58;
- t["pehiragana"] = 0x307a;
- t["pehmedialarabic"] = 0xfb59;
- t["pekatakana"] = 0x30da;
- t["pemiddlehookcyrillic"] = 0x04a7;
- t["perafehebrew"] = 0xfb4e;
- t["percent"] = 0x0025;
- t["percentarabic"] = 0x066a;
- t["percentmonospace"] = 0xff05;
- t["percentsmall"] = 0xfe6a;
- t["period"] = 0x002e;
- t["periodarmenian"] = 0x0589;
- t["periodcentered"] = 0x00b7;
- t["periodhalfwidth"] = 0xff61;
- t["periodinferior"] = 0xf6e7;
- t["periodmonospace"] = 0xff0e;
- t["periodsmall"] = 0xfe52;
- t["periodsuperior"] = 0xf6e8;
- t["perispomenigreekcmb"] = 0x0342;
- t["perpendicular"] = 0x22a5;
- t["perthousand"] = 0x2030;
- t["peseta"] = 0x20a7;
- t["pfsquare"] = 0x338a;
- t["phabengali"] = 0x09ab;
- t["phadeva"] = 0x092b;
- t["phagujarati"] = 0x0aab;
- t["phagurmukhi"] = 0x0a2b;
- t["phi"] = 0x03c6;
- t["phi1"] = 0x03d5;
- t["phieuphacirclekorean"] = 0x327a;
- t["phieuphaparenkorean"] = 0x321a;
- t["phieuphcirclekorean"] = 0x326c;
- t["phieuphkorean"] = 0x314d;
- t["phieuphparenkorean"] = 0x320c;
- t["philatin"] = 0x0278;
- t["phinthuthai"] = 0x0e3a;
- t["phisymbolgreek"] = 0x03d5;
- t["phook"] = 0x01a5;
- t["phophanthai"] = 0x0e1e;
- t["phophungthai"] = 0x0e1c;
- t["phosamphaothai"] = 0x0e20;
- t["pi"] = 0x03c0;
- t["pieupacirclekorean"] = 0x3273;
- t["pieupaparenkorean"] = 0x3213;
- t["pieupcieuckorean"] = 0x3176;
- t["pieupcirclekorean"] = 0x3265;
- t["pieupkiyeokkorean"] = 0x3172;
- t["pieupkorean"] = 0x3142;
- t["pieupparenkorean"] = 0x3205;
- t["pieupsioskiyeokkorean"] = 0x3174;
- t["pieupsioskorean"] = 0x3144;
- t["pieupsiostikeutkorean"] = 0x3175;
- t["pieupthieuthkorean"] = 0x3177;
- t["pieuptikeutkorean"] = 0x3173;
- t["pihiragana"] = 0x3074;
- t["pikatakana"] = 0x30d4;
- t["pisymbolgreek"] = 0x03d6;
- t["piwrarmenian"] = 0x0583;
- t["plus"] = 0x002b;
- t["plusbelowcmb"] = 0x031f;
- t["pluscircle"] = 0x2295;
- t["plusminus"] = 0x00b1;
- t["plusmod"] = 0x02d6;
- t["plusmonospace"] = 0xff0b;
- t["plussmall"] = 0xfe62;
- t["plussuperior"] = 0x207a;
- t["pmonospace"] = 0xff50;
- t["pmsquare"] = 0x33d8;
- t["pohiragana"] = 0x307d;
- t["pointingindexdownwhite"] = 0x261f;
- t["pointingindexleftwhite"] = 0x261c;
- t["pointingindexrightwhite"] = 0x261e;
- t["pointingindexupwhite"] = 0x261d;
- t["pokatakana"] = 0x30dd;
- t["poplathai"] = 0x0e1b;
- t["postalmark"] = 0x3012;
- t["postalmarkface"] = 0x3020;
- t["pparen"] = 0x24ab;
- t["precedes"] = 0x227a;
- t["prescription"] = 0x211e;
- t["primemod"] = 0x02b9;
- t["primereversed"] = 0x2035;
- t["product"] = 0x220f;
- t["projective"] = 0x2305;
- t["prolongedkana"] = 0x30fc;
- t["propellor"] = 0x2318;
- t["propersubset"] = 0x2282;
- t["propersuperset"] = 0x2283;
- t["proportion"] = 0x2237;
- t["proportional"] = 0x221d;
- t["psi"] = 0x03c8;
- t["psicyrillic"] = 0x0471;
- t["psilipneumatacyrilliccmb"] = 0x0486;
- t["pssquare"] = 0x33b0;
- t["puhiragana"] = 0x3077;
- t["pukatakana"] = 0x30d7;
- t["pvsquare"] = 0x33b4;
- t["pwsquare"] = 0x33ba;
- t["q"] = 0x0071;
- t["qadeva"] = 0x0958;
- t["qadmahebrew"] = 0x05a8;
- t["qafarabic"] = 0x0642;
- t["qaffinalarabic"] = 0xfed6;
- t["qafinitialarabic"] = 0xfed7;
- t["qafmedialarabic"] = 0xfed8;
- t["qamats"] = 0x05b8;
- t["qamats10"] = 0x05b8;
- t["qamats1a"] = 0x05b8;
- t["qamats1c"] = 0x05b8;
- t["qamats27"] = 0x05b8;
- t["qamats29"] = 0x05b8;
- t["qamats33"] = 0x05b8;
- t["qamatsde"] = 0x05b8;
- t["qamatshebrew"] = 0x05b8;
- t["qamatsnarrowhebrew"] = 0x05b8;
- t["qamatsqatanhebrew"] = 0x05b8;
- t["qamatsqatannarrowhebrew"] = 0x05b8;
- t["qamatsqatanquarterhebrew"] = 0x05b8;
- t["qamatsqatanwidehebrew"] = 0x05b8;
- t["qamatsquarterhebrew"] = 0x05b8;
- t["qamatswidehebrew"] = 0x05b8;
- t["qarneyparahebrew"] = 0x059f;
- t["qbopomofo"] = 0x3111;
- t["qcircle"] = 0x24e0;
- t["qhook"] = 0x02a0;
- t["qmonospace"] = 0xff51;
- t["qof"] = 0x05e7;
- t["qofdagesh"] = 0xfb47;
- t["qofdageshhebrew"] = 0xfb47;
- t["qofhebrew"] = 0x05e7;
- t["qparen"] = 0x24ac;
- t["quarternote"] = 0x2669;
- t["qubuts"] = 0x05bb;
- t["qubuts18"] = 0x05bb;
- t["qubuts25"] = 0x05bb;
- t["qubuts31"] = 0x05bb;
- t["qubutshebrew"] = 0x05bb;
- t["qubutsnarrowhebrew"] = 0x05bb;
- t["qubutsquarterhebrew"] = 0x05bb;
- t["qubutswidehebrew"] = 0x05bb;
- t["question"] = 0x003f;
- t["questionarabic"] = 0x061f;
- t["questionarmenian"] = 0x055e;
- t["questiondown"] = 0x00bf;
- t["questiondownsmall"] = 0xf7bf;
- t["questiongreek"] = 0x037e;
- t["questionmonospace"] = 0xff1f;
- t["questionsmall"] = 0xf73f;
- t["quotedbl"] = 0x0022;
- t["quotedblbase"] = 0x201e;
- t["quotedblleft"] = 0x201c;
- t["quotedblmonospace"] = 0xff02;
- t["quotedblprime"] = 0x301e;
- t["quotedblprimereversed"] = 0x301d;
- t["quotedblright"] = 0x201d;
- t["quoteleft"] = 0x2018;
- t["quoteleftreversed"] = 0x201b;
- t["quotereversed"] = 0x201b;
- t["quoteright"] = 0x2019;
- t["quoterightn"] = 0x0149;
- t["quotesinglbase"] = 0x201a;
- t["quotesingle"] = 0x0027;
- t["quotesinglemonospace"] = 0xff07;
- t["r"] = 0x0072;
- t["raarmenian"] = 0x057c;
- t["rabengali"] = 0x09b0;
- t["racute"] = 0x0155;
- t["radeva"] = 0x0930;
- t["radical"] = 0x221a;
- t["radicalex"] = 0xf8e5;
- t["radoverssquare"] = 0x33ae;
- t["radoverssquaredsquare"] = 0x33af;
- t["radsquare"] = 0x33ad;
- t["rafe"] = 0x05bf;
- t["rafehebrew"] = 0x05bf;
- t["ragujarati"] = 0x0ab0;
- t["ragurmukhi"] = 0x0a30;
- t["rahiragana"] = 0x3089;
- t["rakatakana"] = 0x30e9;
- t["rakatakanahalfwidth"] = 0xff97;
- t["ralowerdiagonalbengali"] = 0x09f1;
- t["ramiddlediagonalbengali"] = 0x09f0;
- t["ramshorn"] = 0x0264;
- t["ratio"] = 0x2236;
- t["rbopomofo"] = 0x3116;
- t["rcaron"] = 0x0159;
- t["rcedilla"] = 0x0157;
- t["rcircle"] = 0x24e1;
- t["rcommaaccent"] = 0x0157;
- t["rdblgrave"] = 0x0211;
- t["rdotaccent"] = 0x1e59;
- t["rdotbelow"] = 0x1e5b;
- t["rdotbelowmacron"] = 0x1e5d;
- t["referencemark"] = 0x203b;
- t["reflexsubset"] = 0x2286;
- t["reflexsuperset"] = 0x2287;
- t["registered"] = 0x00ae;
- t["registersans"] = 0xf8e8;
- t["registerserif"] = 0xf6da;
- t["reharabic"] = 0x0631;
- t["reharmenian"] = 0x0580;
- t["rehfinalarabic"] = 0xfeae;
- t["rehiragana"] = 0x308c;
- t["rekatakana"] = 0x30ec;
- t["rekatakanahalfwidth"] = 0xff9a;
- t["resh"] = 0x05e8;
- t["reshdageshhebrew"] = 0xfb48;
- t["reshhebrew"] = 0x05e8;
- t["reversedtilde"] = 0x223d;
- t["reviahebrew"] = 0x0597;
- t["reviamugrashhebrew"] = 0x0597;
- t["revlogicalnot"] = 0x2310;
- t["rfishhook"] = 0x027e;
- t["rfishhookreversed"] = 0x027f;
- t["rhabengali"] = 0x09dd;
- t["rhadeva"] = 0x095d;
- t["rho"] = 0x03c1;
- t["rhook"] = 0x027d;
- t["rhookturned"] = 0x027b;
- t["rhookturnedsuperior"] = 0x02b5;
- t["rhosymbolgreek"] = 0x03f1;
- t["rhotichookmod"] = 0x02de;
- t["rieulacirclekorean"] = 0x3271;
- t["rieulaparenkorean"] = 0x3211;
- t["rieulcirclekorean"] = 0x3263;
- t["rieulhieuhkorean"] = 0x3140;
- t["rieulkiyeokkorean"] = 0x313a;
- t["rieulkiyeoksioskorean"] = 0x3169;
- t["rieulkorean"] = 0x3139;
- t["rieulmieumkorean"] = 0x313b;
- t["rieulpansioskorean"] = 0x316c;
- t["rieulparenkorean"] = 0x3203;
- t["rieulphieuphkorean"] = 0x313f;
- t["rieulpieupkorean"] = 0x313c;
- t["rieulpieupsioskorean"] = 0x316b;
- t["rieulsioskorean"] = 0x313d;
- t["rieulthieuthkorean"] = 0x313e;
- t["rieultikeutkorean"] = 0x316a;
- t["rieulyeorinhieuhkorean"] = 0x316d;
- t["rightangle"] = 0x221f;
- t["righttackbelowcmb"] = 0x0319;
- t["righttriangle"] = 0x22bf;
- t["rihiragana"] = 0x308a;
- t["rikatakana"] = 0x30ea;
- t["rikatakanahalfwidth"] = 0xff98;
- t["ring"] = 0x02da;
- t["ringbelowcmb"] = 0x0325;
- t["ringcmb"] = 0x030a;
- t["ringhalfleft"] = 0x02bf;
- t["ringhalfleftarmenian"] = 0x0559;
- t["ringhalfleftbelowcmb"] = 0x031c;
- t["ringhalfleftcentered"] = 0x02d3;
- t["ringhalfright"] = 0x02be;
- t["ringhalfrightbelowcmb"] = 0x0339;
- t["ringhalfrightcentered"] = 0x02d2;
- t["rinvertedbreve"] = 0x0213;
- t["rittorusquare"] = 0x3351;
- t["rlinebelow"] = 0x1e5f;
- t["rlongleg"] = 0x027c;
- t["rlonglegturned"] = 0x027a;
- t["rmonospace"] = 0xff52;
- t["rohiragana"] = 0x308d;
- t["rokatakana"] = 0x30ed;
- t["rokatakanahalfwidth"] = 0xff9b;
- t["roruathai"] = 0x0e23;
- t["rparen"] = 0x24ad;
- t["rrabengali"] = 0x09dc;
- t["rradeva"] = 0x0931;
- t["rragurmukhi"] = 0x0a5c;
- t["rreharabic"] = 0x0691;
- t["rrehfinalarabic"] = 0xfb8d;
- t["rrvocalicbengali"] = 0x09e0;
- t["rrvocalicdeva"] = 0x0960;
- t["rrvocalicgujarati"] = 0x0ae0;
- t["rrvocalicvowelsignbengali"] = 0x09c4;
- t["rrvocalicvowelsigndeva"] = 0x0944;
- t["rrvocalicvowelsigngujarati"] = 0x0ac4;
- t["rsuperior"] = 0xf6f1;
- t["rtblock"] = 0x2590;
- t["rturned"] = 0x0279;
- t["rturnedsuperior"] = 0x02b4;
- t["ruhiragana"] = 0x308b;
- t["rukatakana"] = 0x30eb;
- t["rukatakanahalfwidth"] = 0xff99;
- t["rupeemarkbengali"] = 0x09f2;
- t["rupeesignbengali"] = 0x09f3;
- t["rupiah"] = 0xf6dd;
- t["ruthai"] = 0x0e24;
- t["rvocalicbengali"] = 0x098b;
- t["rvocalicdeva"] = 0x090b;
- t["rvocalicgujarati"] = 0x0a8b;
- t["rvocalicvowelsignbengali"] = 0x09c3;
- t["rvocalicvowelsigndeva"] = 0x0943;
- t["rvocalicvowelsigngujarati"] = 0x0ac3;
- t["s"] = 0x0073;
- t["sabengali"] = 0x09b8;
- t["sacute"] = 0x015b;
- t["sacutedotaccent"] = 0x1e65;
- t["sadarabic"] = 0x0635;
- t["sadeva"] = 0x0938;
- t["sadfinalarabic"] = 0xfeba;
- t["sadinitialarabic"] = 0xfebb;
- t["sadmedialarabic"] = 0xfebc;
- t["sagujarati"] = 0x0ab8;
- t["sagurmukhi"] = 0x0a38;
- t["sahiragana"] = 0x3055;
- t["sakatakana"] = 0x30b5;
- t["sakatakanahalfwidth"] = 0xff7b;
- t["sallallahoualayhewasallamarabic"] = 0xfdfa;
- t["samekh"] = 0x05e1;
- t["samekhdagesh"] = 0xfb41;
- t["samekhdageshhebrew"] = 0xfb41;
- t["samekhhebrew"] = 0x05e1;
- t["saraaathai"] = 0x0e32;
- t["saraaethai"] = 0x0e41;
- t["saraaimaimalaithai"] = 0x0e44;
- t["saraaimaimuanthai"] = 0x0e43;
- t["saraamthai"] = 0x0e33;
- t["saraathai"] = 0x0e30;
- t["saraethai"] = 0x0e40;
- t["saraiileftthai"] = 0xf886;
- t["saraiithai"] = 0x0e35;
- t["saraileftthai"] = 0xf885;
- t["saraithai"] = 0x0e34;
- t["saraothai"] = 0x0e42;
- t["saraueeleftthai"] = 0xf888;
- t["saraueethai"] = 0x0e37;
- t["saraueleftthai"] = 0xf887;
- t["sarauethai"] = 0x0e36;
- t["sarauthai"] = 0x0e38;
- t["sarauuthai"] = 0x0e39;
- t["sbopomofo"] = 0x3119;
- t["scaron"] = 0x0161;
- t["scarondotaccent"] = 0x1e67;
- t["scedilla"] = 0x015f;
- t["schwa"] = 0x0259;
- t["schwacyrillic"] = 0x04d9;
- t["schwadieresiscyrillic"] = 0x04db;
- t["schwahook"] = 0x025a;
- t["scircle"] = 0x24e2;
- t["scircumflex"] = 0x015d;
- t["scommaaccent"] = 0x0219;
- t["sdotaccent"] = 0x1e61;
- t["sdotbelow"] = 0x1e63;
- t["sdotbelowdotaccent"] = 0x1e69;
- t["seagullbelowcmb"] = 0x033c;
- t["second"] = 0x2033;
- t["secondtonechinese"] = 0x02ca;
- t["section"] = 0x00a7;
- t["seenarabic"] = 0x0633;
- t["seenfinalarabic"] = 0xfeb2;
- t["seeninitialarabic"] = 0xfeb3;
- t["seenmedialarabic"] = 0xfeb4;
- t["segol"] = 0x05b6;
- t["segol13"] = 0x05b6;
- t["segol1f"] = 0x05b6;
- t["segol2c"] = 0x05b6;
- t["segolhebrew"] = 0x05b6;
- t["segolnarrowhebrew"] = 0x05b6;
- t["segolquarterhebrew"] = 0x05b6;
- t["segoltahebrew"] = 0x0592;
- t["segolwidehebrew"] = 0x05b6;
- t["seharmenian"] = 0x057d;
- t["sehiragana"] = 0x305b;
- t["sekatakana"] = 0x30bb;
- t["sekatakanahalfwidth"] = 0xff7e;
- t["semicolon"] = 0x003b;
- t["semicolonarabic"] = 0x061b;
- t["semicolonmonospace"] = 0xff1b;
- t["semicolonsmall"] = 0xfe54;
- t["semivoicedmarkkana"] = 0x309c;
- t["semivoicedmarkkanahalfwidth"] = 0xff9f;
- t["sentisquare"] = 0x3322;
- t["sentosquare"] = 0x3323;
- t["seven"] = 0x0037;
- t["sevenarabic"] = 0x0667;
- t["sevenbengali"] = 0x09ed;
- t["sevencircle"] = 0x2466;
- t["sevencircleinversesansserif"] = 0x2790;
- t["sevendeva"] = 0x096d;
- t["seveneighths"] = 0x215e;
- t["sevengujarati"] = 0x0aed;
- t["sevengurmukhi"] = 0x0a6d;
- t["sevenhackarabic"] = 0x0667;
- t["sevenhangzhou"] = 0x3027;
- t["sevenideographicparen"] = 0x3226;
- t["seveninferior"] = 0x2087;
- t["sevenmonospace"] = 0xff17;
- t["sevenoldstyle"] = 0xf737;
- t["sevenparen"] = 0x247a;
- t["sevenperiod"] = 0x248e;
- t["sevenpersian"] = 0x06f7;
- t["sevenroman"] = 0x2176;
- t["sevensuperior"] = 0x2077;
- t["seventeencircle"] = 0x2470;
- t["seventeenparen"] = 0x2484;
- t["seventeenperiod"] = 0x2498;
- t["seventhai"] = 0x0e57;
- t["sfthyphen"] = 0x00ad;
- t["shaarmenian"] = 0x0577;
- t["shabengali"] = 0x09b6;
- t["shacyrillic"] = 0x0448;
- t["shaddaarabic"] = 0x0651;
- t["shaddadammaarabic"] = 0xfc61;
- t["shaddadammatanarabic"] = 0xfc5e;
- t["shaddafathaarabic"] = 0xfc60;
- t["shaddakasraarabic"] = 0xfc62;
- t["shaddakasratanarabic"] = 0xfc5f;
- t["shade"] = 0x2592;
- t["shadedark"] = 0x2593;
- t["shadelight"] = 0x2591;
- t["shademedium"] = 0x2592;
- t["shadeva"] = 0x0936;
- t["shagujarati"] = 0x0ab6;
- t["shagurmukhi"] = 0x0a36;
- t["shalshelethebrew"] = 0x0593;
- t["shbopomofo"] = 0x3115;
- t["shchacyrillic"] = 0x0449;
- t["sheenarabic"] = 0x0634;
- t["sheenfinalarabic"] = 0xfeb6;
- t["sheeninitialarabic"] = 0xfeb7;
- t["sheenmedialarabic"] = 0xfeb8;
- t["sheicoptic"] = 0x03e3;
- t["sheqel"] = 0x20aa;
- t["sheqelhebrew"] = 0x20aa;
- t["sheva"] = 0x05b0;
- t["sheva115"] = 0x05b0;
- t["sheva15"] = 0x05b0;
- t["sheva22"] = 0x05b0;
- t["sheva2e"] = 0x05b0;
- t["shevahebrew"] = 0x05b0;
- t["shevanarrowhebrew"] = 0x05b0;
- t["shevaquarterhebrew"] = 0x05b0;
- t["shevawidehebrew"] = 0x05b0;
- t["shhacyrillic"] = 0x04bb;
- t["shimacoptic"] = 0x03ed;
- t["shin"] = 0x05e9;
- t["shindagesh"] = 0xfb49;
- t["shindageshhebrew"] = 0xfb49;
- t["shindageshshindot"] = 0xfb2c;
- t["shindageshshindothebrew"] = 0xfb2c;
- t["shindageshsindot"] = 0xfb2d;
- t["shindageshsindothebrew"] = 0xfb2d;
- t["shindothebrew"] = 0x05c1;
- t["shinhebrew"] = 0x05e9;
- t["shinshindot"] = 0xfb2a;
- t["shinshindothebrew"] = 0xfb2a;
- t["shinsindot"] = 0xfb2b;
- t["shinsindothebrew"] = 0xfb2b;
- t["shook"] = 0x0282;
- t["sigma"] = 0x03c3;
- t["sigma1"] = 0x03c2;
- t["sigmafinal"] = 0x03c2;
- t["sigmalunatesymbolgreek"] = 0x03f2;
- t["sihiragana"] = 0x3057;
- t["sikatakana"] = 0x30b7;
- t["sikatakanahalfwidth"] = 0xff7c;
- t["siluqhebrew"] = 0x05bd;
- t["siluqlefthebrew"] = 0x05bd;
- t["similar"] = 0x223c;
- t["sindothebrew"] = 0x05c2;
- t["siosacirclekorean"] = 0x3274;
- t["siosaparenkorean"] = 0x3214;
- t["sioscieuckorean"] = 0x317e;
- t["sioscirclekorean"] = 0x3266;
- t["sioskiyeokkorean"] = 0x317a;
- t["sioskorean"] = 0x3145;
- t["siosnieunkorean"] = 0x317b;
- t["siosparenkorean"] = 0x3206;
- t["siospieupkorean"] = 0x317d;
- t["siostikeutkorean"] = 0x317c;
- t["six"] = 0x0036;
- t["sixarabic"] = 0x0666;
- t["sixbengali"] = 0x09ec;
- t["sixcircle"] = 0x2465;
- t["sixcircleinversesansserif"] = 0x278f;
- t["sixdeva"] = 0x096c;
- t["sixgujarati"] = 0x0aec;
- t["sixgurmukhi"] = 0x0a6c;
- t["sixhackarabic"] = 0x0666;
- t["sixhangzhou"] = 0x3026;
- t["sixideographicparen"] = 0x3225;
- t["sixinferior"] = 0x2086;
- t["sixmonospace"] = 0xff16;
- t["sixoldstyle"] = 0xf736;
- t["sixparen"] = 0x2479;
- t["sixperiod"] = 0x248d;
- t["sixpersian"] = 0x06f6;
- t["sixroman"] = 0x2175;
- t["sixsuperior"] = 0x2076;
- t["sixteencircle"] = 0x246f;
- t["sixteencurrencydenominatorbengali"] = 0x09f9;
- t["sixteenparen"] = 0x2483;
- t["sixteenperiod"] = 0x2497;
- t["sixthai"] = 0x0e56;
- t["slash"] = 0x002f;
- t["slashmonospace"] = 0xff0f;
- t["slong"] = 0x017f;
- t["slongdotaccent"] = 0x1e9b;
- t["smileface"] = 0x263a;
- t["smonospace"] = 0xff53;
- t["sofpasuqhebrew"] = 0x05c3;
- t["softhyphen"] = 0x00ad;
- t["softsigncyrillic"] = 0x044c;
- t["sohiragana"] = 0x305d;
- t["sokatakana"] = 0x30bd;
- t["sokatakanahalfwidth"] = 0xff7f;
- t["soliduslongoverlaycmb"] = 0x0338;
- t["solidusshortoverlaycmb"] = 0x0337;
- t["sorusithai"] = 0x0e29;
- t["sosalathai"] = 0x0e28;
- t["sosothai"] = 0x0e0b;
- t["sosuathai"] = 0x0e2a;
- t["space"] = 0x0020;
- t["spacehackarabic"] = 0x0020;
- t["spade"] = 0x2660;
- t["spadesuitblack"] = 0x2660;
- t["spadesuitwhite"] = 0x2664;
- t["sparen"] = 0x24ae;
- t["squarebelowcmb"] = 0x033b;
- t["squarecc"] = 0x33c4;
- t["squarecm"] = 0x339d;
- t["squarediagonalcrosshatchfill"] = 0x25a9;
- t["squarehorizontalfill"] = 0x25a4;
- t["squarekg"] = 0x338f;
- t["squarekm"] = 0x339e;
- t["squarekmcapital"] = 0x33ce;
- t["squareln"] = 0x33d1;
- t["squarelog"] = 0x33d2;
- t["squaremg"] = 0x338e;
- t["squaremil"] = 0x33d5;
- t["squaremm"] = 0x339c;
- t["squaremsquared"] = 0x33a1;
- t["squareorthogonalcrosshatchfill"] = 0x25a6;
- t["squareupperlefttolowerrightfill"] = 0x25a7;
- t["squareupperrighttolowerleftfill"] = 0x25a8;
- t["squareverticalfill"] = 0x25a5;
- t["squarewhitewithsmallblack"] = 0x25a3;
- t["srsquare"] = 0x33db;
- t["ssabengali"] = 0x09b7;
- t["ssadeva"] = 0x0937;
- t["ssagujarati"] = 0x0ab7;
- t["ssangcieuckorean"] = 0x3149;
- t["ssanghieuhkorean"] = 0x3185;
- t["ssangieungkorean"] = 0x3180;
- t["ssangkiyeokkorean"] = 0x3132;
- t["ssangnieunkorean"] = 0x3165;
- t["ssangpieupkorean"] = 0x3143;
- t["ssangsioskorean"] = 0x3146;
- t["ssangtikeutkorean"] = 0x3138;
- t["ssuperior"] = 0xf6f2;
- t["sterling"] = 0x00a3;
- t["sterlingmonospace"] = 0xffe1;
- t["strokelongoverlaycmb"] = 0x0336;
- t["strokeshortoverlaycmb"] = 0x0335;
- t["subset"] = 0x2282;
- t["subsetnotequal"] = 0x228a;
- t["subsetorequal"] = 0x2286;
- t["succeeds"] = 0x227b;
- t["suchthat"] = 0x220b;
- t["suhiragana"] = 0x3059;
- t["sukatakana"] = 0x30b9;
- t["sukatakanahalfwidth"] = 0xff7d;
- t["sukunarabic"] = 0x0652;
- t["summation"] = 0x2211;
- t["sun"] = 0x263c;
- t["superset"] = 0x2283;
- t["supersetnotequal"] = 0x228b;
- t["supersetorequal"] = 0x2287;
- t["svsquare"] = 0x33dc;
- t["syouwaerasquare"] = 0x337c;
- t["t"] = 0x0074;
- t["tabengali"] = 0x09a4;
- t["tackdown"] = 0x22a4;
- t["tackleft"] = 0x22a3;
- t["tadeva"] = 0x0924;
- t["tagujarati"] = 0x0aa4;
- t["tagurmukhi"] = 0x0a24;
- t["taharabic"] = 0x0637;
- t["tahfinalarabic"] = 0xfec2;
- t["tahinitialarabic"] = 0xfec3;
- t["tahiragana"] = 0x305f;
- t["tahmedialarabic"] = 0xfec4;
- t["taisyouerasquare"] = 0x337d;
- t["takatakana"] = 0x30bf;
- t["takatakanahalfwidth"] = 0xff80;
- t["tatweelarabic"] = 0x0640;
- t["tau"] = 0x03c4;
- t["tav"] = 0x05ea;
- t["tavdages"] = 0xfb4a;
- t["tavdagesh"] = 0xfb4a;
- t["tavdageshhebrew"] = 0xfb4a;
- t["tavhebrew"] = 0x05ea;
- t["tbar"] = 0x0167;
- t["tbopomofo"] = 0x310a;
- t["tcaron"] = 0x0165;
- t["tccurl"] = 0x02a8;
- t["tcedilla"] = 0x0163;
- t["tcheharabic"] = 0x0686;
- t["tchehfinalarabic"] = 0xfb7b;
- t["tchehinitialarabic"] = 0xfb7c;
- t["tchehmedialarabic"] = 0xfb7d;
- t["tcircle"] = 0x24e3;
- t["tcircumflexbelow"] = 0x1e71;
- t["tcommaaccent"] = 0x0163;
- t["tdieresis"] = 0x1e97;
- t["tdotaccent"] = 0x1e6b;
- t["tdotbelow"] = 0x1e6d;
- t["tecyrillic"] = 0x0442;
- t["tedescendercyrillic"] = 0x04ad;
- t["teharabic"] = 0x062a;
- t["tehfinalarabic"] = 0xfe96;
- t["tehhahinitialarabic"] = 0xfca2;
- t["tehhahisolatedarabic"] = 0xfc0c;
- t["tehinitialarabic"] = 0xfe97;
- t["tehiragana"] = 0x3066;
- t["tehjeeminitialarabic"] = 0xfca1;
- t["tehjeemisolatedarabic"] = 0xfc0b;
- t["tehmarbutaarabic"] = 0x0629;
- t["tehmarbutafinalarabic"] = 0xfe94;
- t["tehmedialarabic"] = 0xfe98;
- t["tehmeeminitialarabic"] = 0xfca4;
- t["tehmeemisolatedarabic"] = 0xfc0e;
- t["tehnoonfinalarabic"] = 0xfc73;
- t["tekatakana"] = 0x30c6;
- t["tekatakanahalfwidth"] = 0xff83;
- t["telephone"] = 0x2121;
- t["telephoneblack"] = 0x260e;
- t["telishagedolahebrew"] = 0x05a0;
- t["telishaqetanahebrew"] = 0x05a9;
- t["tencircle"] = 0x2469;
- t["tenideographicparen"] = 0x3229;
- t["tenparen"] = 0x247d;
- t["tenperiod"] = 0x2491;
- t["tenroman"] = 0x2179;
- t["tesh"] = 0x02a7;
- t["tet"] = 0x05d8;
- t["tetdagesh"] = 0xfb38;
- t["tetdageshhebrew"] = 0xfb38;
- t["tethebrew"] = 0x05d8;
- t["tetsecyrillic"] = 0x04b5;
- t["tevirhebrew"] = 0x059b;
- t["tevirlefthebrew"] = 0x059b;
- t["thabengali"] = 0x09a5;
- t["thadeva"] = 0x0925;
- t["thagujarati"] = 0x0aa5;
- t["thagurmukhi"] = 0x0a25;
- t["thalarabic"] = 0x0630;
- t["thalfinalarabic"] = 0xfeac;
- t["thanthakhatlowleftthai"] = 0xf898;
- t["thanthakhatlowrightthai"] = 0xf897;
- t["thanthakhatthai"] = 0x0e4c;
- t["thanthakhatupperleftthai"] = 0xf896;
- t["theharabic"] = 0x062b;
- t["thehfinalarabic"] = 0xfe9a;
- t["thehinitialarabic"] = 0xfe9b;
- t["thehmedialarabic"] = 0xfe9c;
- t["thereexists"] = 0x2203;
- t["therefore"] = 0x2234;
- t["theta"] = 0x03b8;
- t["theta1"] = 0x03d1;
- t["thetasymbolgreek"] = 0x03d1;
- t["thieuthacirclekorean"] = 0x3279;
- t["thieuthaparenkorean"] = 0x3219;
- t["thieuthcirclekorean"] = 0x326b;
- t["thieuthkorean"] = 0x314c;
- t["thieuthparenkorean"] = 0x320b;
- t["thirteencircle"] = 0x246c;
- t["thirteenparen"] = 0x2480;
- t["thirteenperiod"] = 0x2494;
- t["thonangmonthothai"] = 0x0e11;
- t["thook"] = 0x01ad;
- t["thophuthaothai"] = 0x0e12;
- t["thorn"] = 0x00fe;
- t["thothahanthai"] = 0x0e17;
- t["thothanthai"] = 0x0e10;
- t["thothongthai"] = 0x0e18;
- t["thothungthai"] = 0x0e16;
- t["thousandcyrillic"] = 0x0482;
- t["thousandsseparatorarabic"] = 0x066c;
- t["thousandsseparatorpersian"] = 0x066c;
- t["three"] = 0x0033;
- t["threearabic"] = 0x0663;
- t["threebengali"] = 0x09e9;
- t["threecircle"] = 0x2462;
- t["threecircleinversesansserif"] = 0x278c;
- t["threedeva"] = 0x0969;
- t["threeeighths"] = 0x215c;
- t["threegujarati"] = 0x0ae9;
- t["threegurmukhi"] = 0x0a69;
- t["threehackarabic"] = 0x0663;
- t["threehangzhou"] = 0x3023;
- t["threeideographicparen"] = 0x3222;
- t["threeinferior"] = 0x2083;
- t["threemonospace"] = 0xff13;
- t["threenumeratorbengali"] = 0x09f6;
- t["threeoldstyle"] = 0xf733;
- t["threeparen"] = 0x2476;
- t["threeperiod"] = 0x248a;
- t["threepersian"] = 0x06f3;
- t["threequarters"] = 0x00be;
- t["threequartersemdash"] = 0xf6de;
- t["threeroman"] = 0x2172;
- t["threesuperior"] = 0x00b3;
- t["threethai"] = 0x0e53;
- t["thzsquare"] = 0x3394;
- t["tihiragana"] = 0x3061;
- t["tikatakana"] = 0x30c1;
- t["tikatakanahalfwidth"] = 0xff81;
- t["tikeutacirclekorean"] = 0x3270;
- t["tikeutaparenkorean"] = 0x3210;
- t["tikeutcirclekorean"] = 0x3262;
- t["tikeutkorean"] = 0x3137;
- t["tikeutparenkorean"] = 0x3202;
- t["tilde"] = 0x02dc;
- t["tildebelowcmb"] = 0x0330;
- t["tildecmb"] = 0x0303;
- t["tildecomb"] = 0x0303;
- t["tildedoublecmb"] = 0x0360;
- t["tildeoperator"] = 0x223c;
- t["tildeoverlaycmb"] = 0x0334;
- t["tildeverticalcmb"] = 0x033e;
- t["timescircle"] = 0x2297;
- t["tipehahebrew"] = 0x0596;
- t["tipehalefthebrew"] = 0x0596;
- t["tippigurmukhi"] = 0x0a70;
- t["titlocyrilliccmb"] = 0x0483;
- t["tiwnarmenian"] = 0x057f;
- t["tlinebelow"] = 0x1e6f;
- t["tmonospace"] = 0xff54;
- t["toarmenian"] = 0x0569;
- t["tohiragana"] = 0x3068;
- t["tokatakana"] = 0x30c8;
- t["tokatakanahalfwidth"] = 0xff84;
- t["tonebarextrahighmod"] = 0x02e5;
- t["tonebarextralowmod"] = 0x02e9;
- t["tonebarhighmod"] = 0x02e6;
- t["tonebarlowmod"] = 0x02e8;
- t["tonebarmidmod"] = 0x02e7;
- t["tonefive"] = 0x01bd;
- t["tonesix"] = 0x0185;
- t["tonetwo"] = 0x01a8;
- t["tonos"] = 0x0384;
- t["tonsquare"] = 0x3327;
- t["topatakthai"] = 0x0e0f;
- t["tortoiseshellbracketleft"] = 0x3014;
- t["tortoiseshellbracketleftsmall"] = 0xfe5d;
- t["tortoiseshellbracketleftvertical"] = 0xfe39;
- t["tortoiseshellbracketright"] = 0x3015;
- t["tortoiseshellbracketrightsmall"] = 0xfe5e;
- t["tortoiseshellbracketrightvertical"] = 0xfe3a;
- t["totaothai"] = 0x0e15;
- t["tpalatalhook"] = 0x01ab;
- t["tparen"] = 0x24af;
- t["trademark"] = 0x2122;
- t["trademarksans"] = 0xf8ea;
- t["trademarkserif"] = 0xf6db;
- t["tretroflexhook"] = 0x0288;
- t["triagdn"] = 0x25bc;
- t["triaglf"] = 0x25c4;
- t["triagrt"] = 0x25ba;
- t["triagup"] = 0x25b2;
- t["ts"] = 0x02a6;
- t["tsadi"] = 0x05e6;
- t["tsadidagesh"] = 0xfb46;
- t["tsadidageshhebrew"] = 0xfb46;
- t["tsadihebrew"] = 0x05e6;
- t["tsecyrillic"] = 0x0446;
- t["tsere"] = 0x05b5;
- t["tsere12"] = 0x05b5;
- t["tsere1e"] = 0x05b5;
- t["tsere2b"] = 0x05b5;
- t["tserehebrew"] = 0x05b5;
- t["tserenarrowhebrew"] = 0x05b5;
- t["tserequarterhebrew"] = 0x05b5;
- t["tserewidehebrew"] = 0x05b5;
- t["tshecyrillic"] = 0x045b;
- t["tsuperior"] = 0xf6f3;
- t["ttabengali"] = 0x099f;
- t["ttadeva"] = 0x091f;
- t["ttagujarati"] = 0x0a9f;
- t["ttagurmukhi"] = 0x0a1f;
- t["tteharabic"] = 0x0679;
- t["ttehfinalarabic"] = 0xfb67;
- t["ttehinitialarabic"] = 0xfb68;
- t["ttehmedialarabic"] = 0xfb69;
- t["tthabengali"] = 0x09a0;
- t["tthadeva"] = 0x0920;
- t["tthagujarati"] = 0x0aa0;
- t["tthagurmukhi"] = 0x0a20;
- t["tturned"] = 0x0287;
- t["tuhiragana"] = 0x3064;
- t["tukatakana"] = 0x30c4;
- t["tukatakanahalfwidth"] = 0xff82;
- t["tusmallhiragana"] = 0x3063;
- t["tusmallkatakana"] = 0x30c3;
- t["tusmallkatakanahalfwidth"] = 0xff6f;
- t["twelvecircle"] = 0x246b;
- t["twelveparen"] = 0x247f;
- t["twelveperiod"] = 0x2493;
- t["twelveroman"] = 0x217b;
- t["twentycircle"] = 0x2473;
- t["twentyhangzhou"] = 0x5344;
- t["twentyparen"] = 0x2487;
- t["twentyperiod"] = 0x249b;
- t["two"] = 0x0032;
- t["twoarabic"] = 0x0662;
- t["twobengali"] = 0x09e8;
- t["twocircle"] = 0x2461;
- t["twocircleinversesansserif"] = 0x278b;
- t["twodeva"] = 0x0968;
- t["twodotenleader"] = 0x2025;
- t["twodotleader"] = 0x2025;
- t["twodotleadervertical"] = 0xfe30;
- t["twogujarati"] = 0x0ae8;
- t["twogurmukhi"] = 0x0a68;
- t["twohackarabic"] = 0x0662;
- t["twohangzhou"] = 0x3022;
- t["twoideographicparen"] = 0x3221;
- t["twoinferior"] = 0x2082;
- t["twomonospace"] = 0xff12;
- t["twonumeratorbengali"] = 0x09f5;
- t["twooldstyle"] = 0xf732;
- t["twoparen"] = 0x2475;
- t["twoperiod"] = 0x2489;
- t["twopersian"] = 0x06f2;
- t["tworoman"] = 0x2171;
- t["twostroke"] = 0x01bb;
- t["twosuperior"] = 0x00b2;
- t["twothai"] = 0x0e52;
- t["twothirds"] = 0x2154;
- t["u"] = 0x0075;
- t["uacute"] = 0x00fa;
- t["ubar"] = 0x0289;
- t["ubengali"] = 0x0989;
- t["ubopomofo"] = 0x3128;
- t["ubreve"] = 0x016d;
- t["ucaron"] = 0x01d4;
- t["ucircle"] = 0x24e4;
- t["ucircumflex"] = 0x00fb;
- t["ucircumflexbelow"] = 0x1e77;
- t["ucyrillic"] = 0x0443;
- t["udattadeva"] = 0x0951;
- t["udblacute"] = 0x0171;
- t["udblgrave"] = 0x0215;
- t["udeva"] = 0x0909;
- t["udieresis"] = 0x00fc;
- t["udieresisacute"] = 0x01d8;
- t["udieresisbelow"] = 0x1e73;
- t["udieresiscaron"] = 0x01da;
- t["udieresiscyrillic"] = 0x04f1;
- t["udieresisgrave"] = 0x01dc;
- t["udieresismacron"] = 0x01d6;
- t["udotbelow"] = 0x1ee5;
- t["ugrave"] = 0x00f9;
- t["ugujarati"] = 0x0a89;
- t["ugurmukhi"] = 0x0a09;
- t["uhiragana"] = 0x3046;
- t["uhookabove"] = 0x1ee7;
- t["uhorn"] = 0x01b0;
- t["uhornacute"] = 0x1ee9;
- t["uhorndotbelow"] = 0x1ef1;
- t["uhorngrave"] = 0x1eeb;
- t["uhornhookabove"] = 0x1eed;
- t["uhorntilde"] = 0x1eef;
- t["uhungarumlaut"] = 0x0171;
- t["uhungarumlautcyrillic"] = 0x04f3;
- t["uinvertedbreve"] = 0x0217;
- t["ukatakana"] = 0x30a6;
- t["ukatakanahalfwidth"] = 0xff73;
- t["ukcyrillic"] = 0x0479;
- t["ukorean"] = 0x315c;
- t["umacron"] = 0x016b;
- t["umacroncyrillic"] = 0x04ef;
- t["umacrondieresis"] = 0x1e7b;
- t["umatragurmukhi"] = 0x0a41;
- t["umonospace"] = 0xff55;
- t["underscore"] = 0x005f;
- t["underscoredbl"] = 0x2017;
- t["underscoremonospace"] = 0xff3f;
- t["underscorevertical"] = 0xfe33;
- t["underscorewavy"] = 0xfe4f;
- t["union"] = 0x222a;
- t["universal"] = 0x2200;
- t["uogonek"] = 0x0173;
- t["uparen"] = 0x24b0;
- t["upblock"] = 0x2580;
- t["upperdothebrew"] = 0x05c4;
- t["upsilon"] = 0x03c5;
- t["upsilondieresis"] = 0x03cb;
- t["upsilondieresistonos"] = 0x03b0;
- t["upsilonlatin"] = 0x028a;
- t["upsilontonos"] = 0x03cd;
- t["uptackbelowcmb"] = 0x031d;
- t["uptackmod"] = 0x02d4;
- t["uragurmukhi"] = 0x0a73;
- t["uring"] = 0x016f;
- t["ushortcyrillic"] = 0x045e;
- t["usmallhiragana"] = 0x3045;
- t["usmallkatakana"] = 0x30a5;
- t["usmallkatakanahalfwidth"] = 0xff69;
- t["ustraightcyrillic"] = 0x04af;
- t["ustraightstrokecyrillic"] = 0x04b1;
- t["utilde"] = 0x0169;
- t["utildeacute"] = 0x1e79;
- t["utildebelow"] = 0x1e75;
- t["uubengali"] = 0x098a;
- t["uudeva"] = 0x090a;
- t["uugujarati"] = 0x0a8a;
- t["uugurmukhi"] = 0x0a0a;
- t["uumatragurmukhi"] = 0x0a42;
- t["uuvowelsignbengali"] = 0x09c2;
- t["uuvowelsigndeva"] = 0x0942;
- t["uuvowelsigngujarati"] = 0x0ac2;
- t["uvowelsignbengali"] = 0x09c1;
- t["uvowelsigndeva"] = 0x0941;
- t["uvowelsigngujarati"] = 0x0ac1;
- t["v"] = 0x0076;
- t["vadeva"] = 0x0935;
- t["vagujarati"] = 0x0ab5;
- t["vagurmukhi"] = 0x0a35;
- t["vakatakana"] = 0x30f7;
- t["vav"] = 0x05d5;
- t["vavdagesh"] = 0xfb35;
- t["vavdagesh65"] = 0xfb35;
- t["vavdageshhebrew"] = 0xfb35;
- t["vavhebrew"] = 0x05d5;
- t["vavholam"] = 0xfb4b;
- t["vavholamhebrew"] = 0xfb4b;
- t["vavvavhebrew"] = 0x05f0;
- t["vavyodhebrew"] = 0x05f1;
- t["vcircle"] = 0x24e5;
- t["vdotbelow"] = 0x1e7f;
- t["vecyrillic"] = 0x0432;
- t["veharabic"] = 0x06a4;
- t["vehfinalarabic"] = 0xfb6b;
- t["vehinitialarabic"] = 0xfb6c;
- t["vehmedialarabic"] = 0xfb6d;
- t["vekatakana"] = 0x30f9;
- t["venus"] = 0x2640;
- t["verticalbar"] = 0x007c;
- t["verticallineabovecmb"] = 0x030d;
- t["verticallinebelowcmb"] = 0x0329;
- t["verticallinelowmod"] = 0x02cc;
- t["verticallinemod"] = 0x02c8;
- t["vewarmenian"] = 0x057e;
- t["vhook"] = 0x028b;
- t["vikatakana"] = 0x30f8;
- t["viramabengali"] = 0x09cd;
- t["viramadeva"] = 0x094d;
- t["viramagujarati"] = 0x0acd;
- t["visargabengali"] = 0x0983;
- t["visargadeva"] = 0x0903;
- t["visargagujarati"] = 0x0a83;
- t["vmonospace"] = 0xff56;
- t["voarmenian"] = 0x0578;
- t["voicediterationhiragana"] = 0x309e;
- t["voicediterationkatakana"] = 0x30fe;
- t["voicedmarkkana"] = 0x309b;
- t["voicedmarkkanahalfwidth"] = 0xff9e;
- t["vokatakana"] = 0x30fa;
- t["vparen"] = 0x24b1;
- t["vtilde"] = 0x1e7d;
- t["vturned"] = 0x028c;
- t["vuhiragana"] = 0x3094;
- t["vukatakana"] = 0x30f4;
- t["w"] = 0x0077;
- t["wacute"] = 0x1e83;
- t["waekorean"] = 0x3159;
- t["wahiragana"] = 0x308f;
- t["wakatakana"] = 0x30ef;
- t["wakatakanahalfwidth"] = 0xff9c;
- t["wakorean"] = 0x3158;
- t["wasmallhiragana"] = 0x308e;
- t["wasmallkatakana"] = 0x30ee;
- t["wattosquare"] = 0x3357;
- t["wavedash"] = 0x301c;
- t["wavyunderscorevertical"] = 0xfe34;
- t["wawarabic"] = 0x0648;
- t["wawfinalarabic"] = 0xfeee;
- t["wawhamzaabovearabic"] = 0x0624;
- t["wawhamzaabovefinalarabic"] = 0xfe86;
- t["wbsquare"] = 0x33dd;
- t["wcircle"] = 0x24e6;
- t["wcircumflex"] = 0x0175;
- t["wdieresis"] = 0x1e85;
- t["wdotaccent"] = 0x1e87;
- t["wdotbelow"] = 0x1e89;
- t["wehiragana"] = 0x3091;
- t["weierstrass"] = 0x2118;
- t["wekatakana"] = 0x30f1;
- t["wekorean"] = 0x315e;
- t["weokorean"] = 0x315d;
- t["wgrave"] = 0x1e81;
- t["whitebullet"] = 0x25e6;
- t["whitecircle"] = 0x25cb;
- t["whitecircleinverse"] = 0x25d9;
- t["whitecornerbracketleft"] = 0x300e;
- t["whitecornerbracketleftvertical"] = 0xfe43;
- t["whitecornerbracketright"] = 0x300f;
- t["whitecornerbracketrightvertical"] = 0xfe44;
- t["whitediamond"] = 0x25c7;
- t["whitediamondcontainingblacksmalldiamond"] = 0x25c8;
- t["whitedownpointingsmalltriangle"] = 0x25bf;
- t["whitedownpointingtriangle"] = 0x25bd;
- t["whiteleftpointingsmalltriangle"] = 0x25c3;
- t["whiteleftpointingtriangle"] = 0x25c1;
- t["whitelenticularbracketleft"] = 0x3016;
- t["whitelenticularbracketright"] = 0x3017;
- t["whiterightpointingsmalltriangle"] = 0x25b9;
- t["whiterightpointingtriangle"] = 0x25b7;
- t["whitesmallsquare"] = 0x25ab;
- t["whitesmilingface"] = 0x263a;
- t["whitesquare"] = 0x25a1;
- t["whitestar"] = 0x2606;
- t["whitetelephone"] = 0x260f;
- t["whitetortoiseshellbracketleft"] = 0x3018;
- t["whitetortoiseshellbracketright"] = 0x3019;
- t["whiteuppointingsmalltriangle"] = 0x25b5;
- t["whiteuppointingtriangle"] = 0x25b3;
- t["wihiragana"] = 0x3090;
- t["wikatakana"] = 0x30f0;
- t["wikorean"] = 0x315f;
- t["wmonospace"] = 0xff57;
- t["wohiragana"] = 0x3092;
- t["wokatakana"] = 0x30f2;
- t["wokatakanahalfwidth"] = 0xff66;
- t["won"] = 0x20a9;
- t["wonmonospace"] = 0xffe6;
- t["wowaenthai"] = 0x0e27;
- t["wparen"] = 0x24b2;
- t["wring"] = 0x1e98;
- t["wsuperior"] = 0x02b7;
- t["wturned"] = 0x028d;
- t["wynn"] = 0x01bf;
- t["x"] = 0x0078;
- t["xabovecmb"] = 0x033d;
- t["xbopomofo"] = 0x3112;
- t["xcircle"] = 0x24e7;
- t["xdieresis"] = 0x1e8d;
- t["xdotaccent"] = 0x1e8b;
- t["xeharmenian"] = 0x056d;
- t["xi"] = 0x03be;
- t["xmonospace"] = 0xff58;
- t["xparen"] = 0x24b3;
- t["xsuperior"] = 0x02e3;
- t["y"] = 0x0079;
- t["yaadosquare"] = 0x334e;
- t["yabengali"] = 0x09af;
- t["yacute"] = 0x00fd;
- t["yadeva"] = 0x092f;
- t["yaekorean"] = 0x3152;
- t["yagujarati"] = 0x0aaf;
- t["yagurmukhi"] = 0x0a2f;
- t["yahiragana"] = 0x3084;
- t["yakatakana"] = 0x30e4;
- t["yakatakanahalfwidth"] = 0xff94;
- t["yakorean"] = 0x3151;
- t["yamakkanthai"] = 0x0e4e;
- t["yasmallhiragana"] = 0x3083;
- t["yasmallkatakana"] = 0x30e3;
- t["yasmallkatakanahalfwidth"] = 0xff6c;
- t["yatcyrillic"] = 0x0463;
- t["ycircle"] = 0x24e8;
- t["ycircumflex"] = 0x0177;
- t["ydieresis"] = 0x00ff;
- t["ydotaccent"] = 0x1e8f;
- t["ydotbelow"] = 0x1ef5;
- t["yeharabic"] = 0x064a;
- t["yehbarreearabic"] = 0x06d2;
- t["yehbarreefinalarabic"] = 0xfbaf;
- t["yehfinalarabic"] = 0xfef2;
- t["yehhamzaabovearabic"] = 0x0626;
- t["yehhamzaabovefinalarabic"] = 0xfe8a;
- t["yehhamzaaboveinitialarabic"] = 0xfe8b;
- t["yehhamzaabovemedialarabic"] = 0xfe8c;
- t["yehinitialarabic"] = 0xfef3;
- t["yehmedialarabic"] = 0xfef4;
- t["yehmeeminitialarabic"] = 0xfcdd;
- t["yehmeemisolatedarabic"] = 0xfc58;
- t["yehnoonfinalarabic"] = 0xfc94;
- t["yehthreedotsbelowarabic"] = 0x06d1;
- t["yekorean"] = 0x3156;
- t["yen"] = 0x00a5;
- t["yenmonospace"] = 0xffe5;
- t["yeokorean"] = 0x3155;
- t["yeorinhieuhkorean"] = 0x3186;
- t["yerahbenyomohebrew"] = 0x05aa;
- t["yerahbenyomolefthebrew"] = 0x05aa;
- t["yericyrillic"] = 0x044b;
- t["yerudieresiscyrillic"] = 0x04f9;
- t["yesieungkorean"] = 0x3181;
- t["yesieungpansioskorean"] = 0x3183;
- t["yesieungsioskorean"] = 0x3182;
- t["yetivhebrew"] = 0x059a;
- t["ygrave"] = 0x1ef3;
- t["yhook"] = 0x01b4;
- t["yhookabove"] = 0x1ef7;
- t["yiarmenian"] = 0x0575;
- t["yicyrillic"] = 0x0457;
- t["yikorean"] = 0x3162;
- t["yinyang"] = 0x262f;
- t["yiwnarmenian"] = 0x0582;
- t["ymonospace"] = 0xff59;
- t["yod"] = 0x05d9;
- t["yoddagesh"] = 0xfb39;
- t["yoddageshhebrew"] = 0xfb39;
- t["yodhebrew"] = 0x05d9;
- t["yodyodhebrew"] = 0x05f2;
- t["yodyodpatahhebrew"] = 0xfb1f;
- t["yohiragana"] = 0x3088;
- t["yoikorean"] = 0x3189;
- t["yokatakana"] = 0x30e8;
- t["yokatakanahalfwidth"] = 0xff96;
- t["yokorean"] = 0x315b;
- t["yosmallhiragana"] = 0x3087;
- t["yosmallkatakana"] = 0x30e7;
- t["yosmallkatakanahalfwidth"] = 0xff6e;
- t["yotgreek"] = 0x03f3;
- t["yoyaekorean"] = 0x3188;
- t["yoyakorean"] = 0x3187;
- t["yoyakthai"] = 0x0e22;
- t["yoyingthai"] = 0x0e0d;
- t["yparen"] = 0x24b4;
- t["ypogegrammeni"] = 0x037a;
- t["ypogegrammenigreekcmb"] = 0x0345;
- t["yr"] = 0x01a6;
- t["yring"] = 0x1e99;
- t["ysuperior"] = 0x02b8;
- t["ytilde"] = 0x1ef9;
- t["yturned"] = 0x028e;
- t["yuhiragana"] = 0x3086;
- t["yuikorean"] = 0x318c;
- t["yukatakana"] = 0x30e6;
- t["yukatakanahalfwidth"] = 0xff95;
- t["yukorean"] = 0x3160;
- t["yusbigcyrillic"] = 0x046b;
- t["yusbigiotifiedcyrillic"] = 0x046d;
- t["yuslittlecyrillic"] = 0x0467;
- t["yuslittleiotifiedcyrillic"] = 0x0469;
- t["yusmallhiragana"] = 0x3085;
- t["yusmallkatakana"] = 0x30e5;
- t["yusmallkatakanahalfwidth"] = 0xff6d;
- t["yuyekorean"] = 0x318b;
- t["yuyeokorean"] = 0x318a;
- t["yyabengali"] = 0x09df;
- t["yyadeva"] = 0x095f;
- t["z"] = 0x007a;
- t["zaarmenian"] = 0x0566;
- t["zacute"] = 0x017a;
- t["zadeva"] = 0x095b;
- t["zagurmukhi"] = 0x0a5b;
- t["zaharabic"] = 0x0638;
- t["zahfinalarabic"] = 0xfec6;
- t["zahinitialarabic"] = 0xfec7;
- t["zahiragana"] = 0x3056;
- t["zahmedialarabic"] = 0xfec8;
- t["zainarabic"] = 0x0632;
- t["zainfinalarabic"] = 0xfeb0;
- t["zakatakana"] = 0x30b6;
- t["zaqefgadolhebrew"] = 0x0595;
- t["zaqefqatanhebrew"] = 0x0594;
- t["zarqahebrew"] = 0x0598;
- t["zayin"] = 0x05d6;
- t["zayindagesh"] = 0xfb36;
- t["zayindageshhebrew"] = 0xfb36;
- t["zayinhebrew"] = 0x05d6;
- t["zbopomofo"] = 0x3117;
- t["zcaron"] = 0x017e;
- t["zcircle"] = 0x24e9;
- t["zcircumflex"] = 0x1e91;
- t["zcurl"] = 0x0291;
- t["zdot"] = 0x017c;
- t["zdotaccent"] = 0x017c;
- t["zdotbelow"] = 0x1e93;
- t["zecyrillic"] = 0x0437;
- t["zedescendercyrillic"] = 0x0499;
- t["zedieresiscyrillic"] = 0x04df;
- t["zehiragana"] = 0x305c;
- t["zekatakana"] = 0x30bc;
- t["zero"] = 0x0030;
- t["zeroarabic"] = 0x0660;
- t["zerobengali"] = 0x09e6;
- t["zerodeva"] = 0x0966;
- t["zerogujarati"] = 0x0ae6;
- t["zerogurmukhi"] = 0x0a66;
- t["zerohackarabic"] = 0x0660;
- t["zeroinferior"] = 0x2080;
- t["zeromonospace"] = 0xff10;
- t["zerooldstyle"] = 0xf730;
- t["zeropersian"] = 0x06f0;
- t["zerosuperior"] = 0x2070;
- t["zerothai"] = 0x0e50;
- t["zerowidthjoiner"] = 0xfeff;
- t["zerowidthnonjoiner"] = 0x200c;
- t["zerowidthspace"] = 0x200b;
- t["zeta"] = 0x03b6;
- t["zhbopomofo"] = 0x3113;
- t["zhearmenian"] = 0x056a;
- t["zhebrevecyrillic"] = 0x04c2;
- t["zhecyrillic"] = 0x0436;
- t["zhedescendercyrillic"] = 0x0497;
- t["zhedieresiscyrillic"] = 0x04dd;
- t["zihiragana"] = 0x3058;
- t["zikatakana"] = 0x30b8;
- t["zinorhebrew"] = 0x05ae;
- t["zlinebelow"] = 0x1e95;
- t["zmonospace"] = 0xff5a;
- t["zohiragana"] = 0x305e;
- t["zokatakana"] = 0x30be;
- t["zparen"] = 0x24b5;
- t["zretroflexhook"] = 0x0290;
- t["zstroke"] = 0x01b6;
- t["zuhiragana"] = 0x305a;
- t["zukatakana"] = 0x30ba;
- t[".notdef"] = 0x0000;
- t["angbracketleftbig"] = 0x2329;
- t["angbracketleftBig"] = 0x2329;
- t["angbracketleftbigg"] = 0x2329;
- t["angbracketleftBigg"] = 0x2329;
- t["angbracketrightBig"] = 0x232a;
- t["angbracketrightbig"] = 0x232a;
- t["angbracketrightBigg"] = 0x232a;
- t["angbracketrightbigg"] = 0x232a;
- t["arrowhookleft"] = 0x21aa;
- t["arrowhookright"] = 0x21a9;
- t["arrowlefttophalf"] = 0x21bc;
- t["arrowleftbothalf"] = 0x21bd;
- t["arrownortheast"] = 0x2197;
- t["arrownorthwest"] = 0x2196;
- t["arrowrighttophalf"] = 0x21c0;
- t["arrowrightbothalf"] = 0x21c1;
- t["arrowsoutheast"] = 0x2198;
- t["arrowsouthwest"] = 0x2199;
- t["backslashbig"] = 0x2216;
- t["backslashBig"] = 0x2216;
- t["backslashBigg"] = 0x2216;
- t["backslashbigg"] = 0x2216;
- t["bardbl"] = 0x2016;
- t["bracehtipdownleft"] = 0xfe37;
- t["bracehtipdownright"] = 0xfe37;
- t["bracehtipupleft"] = 0xfe38;
- t["bracehtipupright"] = 0xfe38;
- t["braceleftBig"] = 0x007b;
- t["braceleftbig"] = 0x007b;
- t["braceleftbigg"] = 0x007b;
- t["braceleftBigg"] = 0x007b;
- t["bracerightBig"] = 0x007d;
- t["bracerightbig"] = 0x007d;
- t["bracerightbigg"] = 0x007d;
- t["bracerightBigg"] = 0x007d;
- t["bracketleftbig"] = 0x005b;
- t["bracketleftBig"] = 0x005b;
- t["bracketleftbigg"] = 0x005b;
- t["bracketleftBigg"] = 0x005b;
- t["bracketrightBig"] = 0x005d;
- t["bracketrightbig"] = 0x005d;
- t["bracketrightbigg"] = 0x005d;
- t["bracketrightBigg"] = 0x005d;
- t["ceilingleftbig"] = 0x2308;
- t["ceilingleftBig"] = 0x2308;
- t["ceilingleftBigg"] = 0x2308;
- t["ceilingleftbigg"] = 0x2308;
- t["ceilingrightbig"] = 0x2309;
- t["ceilingrightBig"] = 0x2309;
- t["ceilingrightbigg"] = 0x2309;
- t["ceilingrightBigg"] = 0x2309;
- t["circledotdisplay"] = 0x2299;
- t["circledottext"] = 0x2299;
- t["circlemultiplydisplay"] = 0x2297;
- t["circlemultiplytext"] = 0x2297;
- t["circleplusdisplay"] = 0x2295;
- t["circleplustext"] = 0x2295;
- t["contintegraldisplay"] = 0x222e;
- t["contintegraltext"] = 0x222e;
- t["coproductdisplay"] = 0x2210;
- t["coproducttext"] = 0x2210;
- t["floorleftBig"] = 0x230a;
- t["floorleftbig"] = 0x230a;
- t["floorleftbigg"] = 0x230a;
- t["floorleftBigg"] = 0x230a;
- t["floorrightbig"] = 0x230b;
- t["floorrightBig"] = 0x230b;
- t["floorrightBigg"] = 0x230b;
- t["floorrightbigg"] = 0x230b;
- t["hatwide"] = 0x0302;
- t["hatwider"] = 0x0302;
- t["hatwidest"] = 0x0302;
- t["intercal"] = 0x1d40;
- t["integraldisplay"] = 0x222b;
- t["integraltext"] = 0x222b;
- t["intersectiondisplay"] = 0x22c2;
- t["intersectiontext"] = 0x22c2;
- t["logicalanddisplay"] = 0x2227;
- t["logicalandtext"] = 0x2227;
- t["logicalordisplay"] = 0x2228;
- t["logicalortext"] = 0x2228;
- t["parenleftBig"] = 0x0028;
- t["parenleftbig"] = 0x0028;
- t["parenleftBigg"] = 0x0028;
- t["parenleftbigg"] = 0x0028;
- t["parenrightBig"] = 0x0029;
- t["parenrightbig"] = 0x0029;
- t["parenrightBigg"] = 0x0029;
- t["parenrightbigg"] = 0x0029;
- t["prime"] = 0x2032;
- t["productdisplay"] = 0x220f;
- t["producttext"] = 0x220f;
- t["radicalbig"] = 0x221a;
- t["radicalBig"] = 0x221a;
- t["radicalBigg"] = 0x221a;
- t["radicalbigg"] = 0x221a;
- t["radicalbt"] = 0x221a;
- t["radicaltp"] = 0x221a;
- t["radicalvertex"] = 0x221a;
- t["slashbig"] = 0x002f;
- t["slashBig"] = 0x002f;
- t["slashBigg"] = 0x002f;
- t["slashbigg"] = 0x002f;
- t["summationdisplay"] = 0x2211;
- t["summationtext"] = 0x2211;
- t["tildewide"] = 0x02dc;
- t["tildewider"] = 0x02dc;
- t["tildewidest"] = 0x02dc;
- t["uniondisplay"] = 0x22c3;
- t["unionmultidisplay"] = 0x228e;
- t["unionmultitext"] = 0x228e;
- t["unionsqdisplay"] = 0x2294;
- t["unionsqtext"] = 0x2294;
- t["uniontext"] = 0x22c3;
- t["vextenddouble"] = 0x2225;
- t["vextendsingle"] = 0x2223;
-});
-var getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {
- t["space"] = 0x0020;
- t["a1"] = 0x2701;
- t["a2"] = 0x2702;
- t["a202"] = 0x2703;
- t["a3"] = 0x2704;
- t["a4"] = 0x260e;
- t["a5"] = 0x2706;
- t["a119"] = 0x2707;
- t["a118"] = 0x2708;
- t["a117"] = 0x2709;
- t["a11"] = 0x261b;
- t["a12"] = 0x261e;
- t["a13"] = 0x270c;
- t["a14"] = 0x270d;
- t["a15"] = 0x270e;
- t["a16"] = 0x270f;
- t["a105"] = 0x2710;
- t["a17"] = 0x2711;
- t["a18"] = 0x2712;
- t["a19"] = 0x2713;
- t["a20"] = 0x2714;
- t["a21"] = 0x2715;
- t["a22"] = 0x2716;
- t["a23"] = 0x2717;
- t["a24"] = 0x2718;
- t["a25"] = 0x2719;
- t["a26"] = 0x271a;
- t["a27"] = 0x271b;
- t["a28"] = 0x271c;
- t["a6"] = 0x271d;
- t["a7"] = 0x271e;
- t["a8"] = 0x271f;
- t["a9"] = 0x2720;
- t["a10"] = 0x2721;
- t["a29"] = 0x2722;
- t["a30"] = 0x2723;
- t["a31"] = 0x2724;
- t["a32"] = 0x2725;
- t["a33"] = 0x2726;
- t["a34"] = 0x2727;
- t["a35"] = 0x2605;
- t["a36"] = 0x2729;
- t["a37"] = 0x272a;
- t["a38"] = 0x272b;
- t["a39"] = 0x272c;
- t["a40"] = 0x272d;
- t["a41"] = 0x272e;
- t["a42"] = 0x272f;
- t["a43"] = 0x2730;
- t["a44"] = 0x2731;
- t["a45"] = 0x2732;
- t["a46"] = 0x2733;
- t["a47"] = 0x2734;
- t["a48"] = 0x2735;
- t["a49"] = 0x2736;
- t["a50"] = 0x2737;
- t["a51"] = 0x2738;
- t["a52"] = 0x2739;
- t["a53"] = 0x273a;
- t["a54"] = 0x273b;
- t["a55"] = 0x273c;
- t["a56"] = 0x273d;
- t["a57"] = 0x273e;
- t["a58"] = 0x273f;
- t["a59"] = 0x2740;
- t["a60"] = 0x2741;
- t["a61"] = 0x2742;
- t["a62"] = 0x2743;
- t["a63"] = 0x2744;
- t["a64"] = 0x2745;
- t["a65"] = 0x2746;
- t["a66"] = 0x2747;
- t["a67"] = 0x2748;
- t["a68"] = 0x2749;
- t["a69"] = 0x274a;
- t["a70"] = 0x274b;
- t["a71"] = 0x25cf;
- t["a72"] = 0x274d;
- t["a73"] = 0x25a0;
- t["a74"] = 0x274f;
- t["a203"] = 0x2750;
- t["a75"] = 0x2751;
- t["a204"] = 0x2752;
- t["a76"] = 0x25b2;
- t["a77"] = 0x25bc;
- t["a78"] = 0x25c6;
- t["a79"] = 0x2756;
- t["a81"] = 0x25d7;
- t["a82"] = 0x2758;
- t["a83"] = 0x2759;
- t["a84"] = 0x275a;
- t["a97"] = 0x275b;
- t["a98"] = 0x275c;
- t["a99"] = 0x275d;
- t["a100"] = 0x275e;
- t["a101"] = 0x2761;
- t["a102"] = 0x2762;
- t["a103"] = 0x2763;
- t["a104"] = 0x2764;
- t["a106"] = 0x2765;
- t["a107"] = 0x2766;
- t["a108"] = 0x2767;
- t["a112"] = 0x2663;
- t["a111"] = 0x2666;
- t["a110"] = 0x2665;
- t["a109"] = 0x2660;
- t["a120"] = 0x2460;
- t["a121"] = 0x2461;
- t["a122"] = 0x2462;
- t["a123"] = 0x2463;
- t["a124"] = 0x2464;
- t["a125"] = 0x2465;
- t["a126"] = 0x2466;
- t["a127"] = 0x2467;
- t["a128"] = 0x2468;
- t["a129"] = 0x2469;
- t["a130"] = 0x2776;
- t["a131"] = 0x2777;
- t["a132"] = 0x2778;
- t["a133"] = 0x2779;
- t["a134"] = 0x277a;
- t["a135"] = 0x277b;
- t["a136"] = 0x277c;
- t["a137"] = 0x277d;
- t["a138"] = 0x277e;
- t["a139"] = 0x277f;
- t["a140"] = 0x2780;
- t["a141"] = 0x2781;
- t["a142"] = 0x2782;
- t["a143"] = 0x2783;
- t["a144"] = 0x2784;
- t["a145"] = 0x2785;
- t["a146"] = 0x2786;
- t["a147"] = 0x2787;
- t["a148"] = 0x2788;
- t["a149"] = 0x2789;
- t["a150"] = 0x278a;
- t["a151"] = 0x278b;
- t["a152"] = 0x278c;
- t["a153"] = 0x278d;
- t["a154"] = 0x278e;
- t["a155"] = 0x278f;
- t["a156"] = 0x2790;
- t["a157"] = 0x2791;
- t["a158"] = 0x2792;
- t["a159"] = 0x2793;
- t["a160"] = 0x2794;
- t["a161"] = 0x2192;
- t["a163"] = 0x2194;
- t["a164"] = 0x2195;
- t["a196"] = 0x2798;
- t["a165"] = 0x2799;
- t["a192"] = 0x279a;
- t["a166"] = 0x279b;
- t["a167"] = 0x279c;
- t["a168"] = 0x279d;
- t["a169"] = 0x279e;
- t["a170"] = 0x279f;
- t["a171"] = 0x27a0;
- t["a172"] = 0x27a1;
- t["a173"] = 0x27a2;
- t["a162"] = 0x27a3;
- t["a174"] = 0x27a4;
- t["a175"] = 0x27a5;
- t["a176"] = 0x27a6;
- t["a177"] = 0x27a7;
- t["a178"] = 0x27a8;
- t["a179"] = 0x27a9;
- t["a193"] = 0x27aa;
- t["a180"] = 0x27ab;
- t["a199"] = 0x27ac;
- t["a181"] = 0x27ad;
- t["a200"] = 0x27ae;
- t["a182"] = 0x27af;
- t["a201"] = 0x27b1;
- t["a183"] = 0x27b2;
- t["a184"] = 0x27b3;
- t["a197"] = 0x27b4;
- t["a185"] = 0x27b5;
- t["a194"] = 0x27b6;
- t["a198"] = 0x27b7;
- t["a186"] = 0x27b8;
- t["a195"] = 0x27b9;
- t["a187"] = 0x27ba;
- t["a188"] = 0x27bb;
- t["a189"] = 0x27bc;
- t["a190"] = 0x27bd;
- t["a191"] = 0x27be;
- t["a89"] = 0x2768;
- t["a90"] = 0x2769;
- t["a93"] = 0x276a;
- t["a94"] = 0x276b;
- t["a91"] = 0x276c;
- t["a92"] = 0x276d;
- t["a205"] = 0x276e;
- t["a85"] = 0x276f;
- t["a206"] = 0x2770;
- t["a86"] = 0x2771;
- t["a87"] = 0x2772;
- t["a88"] = 0x2773;
- t["a95"] = 0x2774;
- t["a96"] = 0x2775;
- t[".notdef"] = 0x0000;
-});
-exports.getGlyphsUnicode = getGlyphsUnicode;
-exports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;
-
-/***/ }),
-/* 222 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t["ArialNarrow"] = "Helvetica";
-  t["ArialNarrow-Bold"] = "Helvetica-Bold";
-  t["ArialNarrow-BoldItalic"] = "Helvetica-BoldOblique";
-  t["ArialNarrow-Italic"] = "Helvetica-Oblique";
-  t["ArialBlack"] = "Helvetica";
-  t["ArialBlack-Bold"] = "Helvetica-Bold";
-  t["ArialBlack-BoldItalic"] = "Helvetica-BoldOblique";
-  t["ArialBlack-Italic"] = "Helvetica-Oblique";
-  t["Arial-Black"] = "Helvetica";
-  t["Arial-Black-Bold"] = "Helvetica-Bold";
-  t["Arial-Black-BoldItalic"] = "Helvetica-BoldOblique";
-  t["Arial-Black-Italic"] = "Helvetica-Oblique";
-  t["Arial"] = "Helvetica";
-  t["Arial-Bold"] = "Helvetica-Bold";
-  t["Arial-BoldItalic"] = "Helvetica-BoldOblique";
-  t["Arial-Italic"] = "Helvetica-Oblique";
-  t["Arial-BoldItalicMT"] = "Helvetica-BoldOblique";
-  t["Arial-BoldMT"] = "Helvetica-Bold";
-  t["Arial-ItalicMT"] = "Helvetica-Oblique";
-  t["ArialMT"] = "Helvetica";
-  t["Courier-Bold"] = "Courier-Bold";
-  t["Courier-BoldItalic"] = "Courier-BoldOblique";
-  t["Courier-Italic"] = "Courier-Oblique";
-  t["CourierNew"] = "Courier";
-  t["CourierNew-Bold"] = "Courier-Bold";
-  t["CourierNew-BoldItalic"] = "Courier-BoldOblique";
-  t["CourierNew-Italic"] = "Courier-Oblique";
-  t["CourierNewPS-BoldItalicMT"] = "Courier-BoldOblique";
-  t["CourierNewPS-BoldMT"] = "Courier-Bold";
-  t["CourierNewPS-ItalicMT"] = "Courier-Oblique";
-  t["CourierNewPSMT"] = "Courier";
-  t["Helvetica"] = "Helvetica";
-  t["Helvetica-Bold"] = "Helvetica-Bold";
-  t["Helvetica-BoldItalic"] = "Helvetica-BoldOblique";
-  t["Helvetica-BoldOblique"] = "Helvetica-BoldOblique";
-  t["Helvetica-Italic"] = "Helvetica-Oblique";
-  t["Helvetica-Oblique"] = "Helvetica-Oblique";
-  t["Symbol-Bold"] = "Symbol";
-  t["Symbol-BoldItalic"] = "Symbol";
-  t["Symbol-Italic"] = "Symbol";
-  t["TimesNewRoman"] = "Times-Roman";
-  t["TimesNewRoman-Bold"] = "Times-Bold";
-  t["TimesNewRoman-BoldItalic"] = "Times-BoldItalic";
-  t["TimesNewRoman-Italic"] = "Times-Italic";
-  t["TimesNewRomanPS"] = "Times-Roman";
-  t["TimesNewRomanPS-Bold"] = "Times-Bold";
-  t["TimesNewRomanPS-BoldItalic"] = "Times-BoldItalic";
-  t["TimesNewRomanPS-BoldItalicMT"] = "Times-BoldItalic";
-  t["TimesNewRomanPS-BoldMT"] = "Times-Bold";
-  t["TimesNewRomanPS-Italic"] = "Times-Italic";
-  t["TimesNewRomanPS-ItalicMT"] = "Times-Italic";
-  t["TimesNewRomanPSMT"] = "Times-Roman";
-  t["TimesNewRomanPSMT-Bold"] = "Times-Bold";
-  t["TimesNewRomanPSMT-BoldItalic"] = "Times-BoldItalic";
-  t["TimesNewRomanPSMT-Italic"] = "Times-Italic";
-});
-exports.getStdFontMap = getStdFontMap;
-var getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t["Calibri"] = "Helvetica";
-  t["Calibri-Bold"] = "Helvetica-Bold";
-  t["Calibri-BoldItalic"] = "Helvetica-BoldOblique";
-  t["Calibri-Italic"] = "Helvetica-Oblique";
-  t["CenturyGothic"] = "Helvetica";
-  t["CenturyGothic-Bold"] = "Helvetica-Bold";
-  t["CenturyGothic-BoldItalic"] = "Helvetica-BoldOblique";
-  t["CenturyGothic-Italic"] = "Helvetica-Oblique";
-  t["ComicSansMS"] = "Comic Sans MS";
-  t["ComicSansMS-Bold"] = "Comic Sans MS-Bold";
-  t["ComicSansMS-BoldItalic"] = "Comic Sans MS-BoldItalic";
-  t["ComicSansMS-Italic"] = "Comic Sans MS-Italic";
-  t["LucidaConsole"] = "Courier";
-  t["LucidaConsole-Bold"] = "Courier-Bold";
-  t["LucidaConsole-BoldItalic"] = "Courier-BoldOblique";
-  t["LucidaConsole-Italic"] = "Courier-Oblique";
-  t["LucidaSans-Demi"] = "Helvetica-Bold";
-  t["MS-Gothic"] = "MS Gothic";
-  t["MS-Gothic-Bold"] = "MS Gothic-Bold";
-  t["MS-Gothic-BoldItalic"] = "MS Gothic-BoldItalic";
-  t["MS-Gothic-Italic"] = "MS Gothic-Italic";
-  t["MS-Mincho"] = "MS Mincho";
-  t["MS-Mincho-Bold"] = "MS Mincho-Bold";
-  t["MS-Mincho-BoldItalic"] = "MS Mincho-BoldItalic";
-  t["MS-Mincho-Italic"] = "MS Mincho-Italic";
-  t["MS-PGothic"] = "MS PGothic";
-  t["MS-PGothic-Bold"] = "MS PGothic-Bold";
-  t["MS-PGothic-BoldItalic"] = "MS PGothic-BoldItalic";
-  t["MS-PGothic-Italic"] = "MS PGothic-Italic";
-  t["MS-PMincho"] = "MS PMincho";
-  t["MS-PMincho-Bold"] = "MS PMincho-Bold";
-  t["MS-PMincho-BoldItalic"] = "MS PMincho-BoldItalic";
-  t["MS-PMincho-Italic"] = "MS PMincho-Italic";
-  t["NuptialScript"] = "Times-Italic";
-  t["SegoeUISymbol"] = "Helvetica";
-  t["Wingdings"] = "ZapfDingbats";
-  t["Wingdings-Regular"] = "ZapfDingbats";
-});
-exports.getNonStdFontMap = getNonStdFontMap;
-var getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t["Adobe Jenson"] = true;
-  t["Adobe Text"] = true;
-  t["Albertus"] = true;
-  t["Aldus"] = true;
-  t["Alexandria"] = true;
-  t["Algerian"] = true;
-  t["American Typewriter"] = true;
-  t["Antiqua"] = true;
-  t["Apex"] = true;
-  t["Arno"] = true;
-  t["Aster"] = true;
-  t["Aurora"] = true;
-  t["Baskerville"] = true;
-  t["Bell"] = true;
-  t["Bembo"] = true;
-  t["Bembo Schoolbook"] = true;
-  t["Benguiat"] = true;
-  t["Berkeley Old Style"] = true;
-  t["Bernhard Modern"] = true;
-  t["Berthold City"] = true;
-  t["Bodoni"] = true;
-  t["Bauer Bodoni"] = true;
-  t["Book Antiqua"] = true;
-  t["Bookman"] = true;
-  t["Bordeaux Roman"] = true;
-  t["Californian FB"] = true;
-  t["Calisto"] = true;
-  t["Calvert"] = true;
-  t["Capitals"] = true;
-  t["Cambria"] = true;
-  t["Cartier"] = true;
-  t["Caslon"] = true;
-  t["Catull"] = true;
-  t["Centaur"] = true;
-  t["Century Old Style"] = true;
-  t["Century Schoolbook"] = true;
-  t["Chaparral"] = true;
-  t["Charis SIL"] = true;
-  t["Cheltenham"] = true;
-  t["Cholla Slab"] = true;
-  t["Clarendon"] = true;
-  t["Clearface"] = true;
-  t["Cochin"] = true;
-  t["Colonna"] = true;
-  t["Computer Modern"] = true;
-  t["Concrete Roman"] = true;
-  t["Constantia"] = true;
-  t["Cooper Black"] = true;
-  t["Corona"] = true;
-  t["Ecotype"] = true;
-  t["Egyptienne"] = true;
-  t["Elephant"] = true;
-  t["Excelsior"] = true;
-  t["Fairfield"] = true;
-  t["FF Scala"] = true;
-  t["Folkard"] = true;
-  t["Footlight"] = true;
-  t["FreeSerif"] = true;
-  t["Friz Quadrata"] = true;
-  t["Garamond"] = true;
-  t["Gentium"] = true;
-  t["Georgia"] = true;
-  t["Gloucester"] = true;
-  t["Goudy Old Style"] = true;
-  t["Goudy Schoolbook"] = true;
-  t["Goudy Pro Font"] = true;
-  t["Granjon"] = true;
-  t["Guardian Egyptian"] = true;
-  t["Heather"] = true;
-  t["Hercules"] = true;
-  t["High Tower Text"] = true;
-  t["Hiroshige"] = true;
-  t["Hoefler Text"] = true;
-  t["Humana Serif"] = true;
-  t["Imprint"] = true;
-  t["Ionic No. 5"] = true;
-  t["Janson"] = true;
-  t["Joanna"] = true;
-  t["Korinna"] = true;
-  t["Lexicon"] = true;
-  t["Liberation Serif"] = true;
-  t["Linux Libertine"] = true;
-  t["Literaturnaya"] = true;
-  t["Lucida"] = true;
-  t["Lucida Bright"] = true;
-  t["Melior"] = true;
-  t["Memphis"] = true;
-  t["Miller"] = true;
-  t["Minion"] = true;
-  t["Modern"] = true;
-  t["Mona Lisa"] = true;
-  t["Mrs Eaves"] = true;
-  t["MS Serif"] = true;
-  t["Museo Slab"] = true;
-  t["New York"] = true;
-  t["Nimbus Roman"] = true;
-  t["NPS Rawlinson Roadway"] = true;
-  t["NuptialScript"] = true;
-  t["Palatino"] = true;
-  t["Perpetua"] = true;
-  t["Plantin"] = true;
-  t["Plantin Schoolbook"] = true;
-  t["Playbill"] = true;
-  t["Poor Richard"] = true;
-  t["Rawlinson Roadway"] = true;
-  t["Renault"] = true;
-  t["Requiem"] = true;
-  t["Rockwell"] = true;
-  t["Roman"] = true;
-  t["Rotis Serif"] = true;
-  t["Sabon"] = true;
-  t["Scala"] = true;
-  t["Seagull"] = true;
-  t["Sistina"] = true;
-  t["Souvenir"] = true;
-  t["STIX"] = true;
-  t["Stone Informal"] = true;
-  t["Stone Serif"] = true;
-  t["Sylfaen"] = true;
-  t["Times"] = true;
-  t["Trajan"] = true;
-  t["Trinité"] = true;
-  t["Trump Mediaeval"] = true;
-  t["Utopia"] = true;
-  t["Vale Type"] = true;
-  t["Bitstream Vera"] = true;
-  t["Vera Serif"] = true;
-  t["Versailles"] = true;
-  t["Wanted"] = true;
-  t["Weiss"] = true;
-  t["Wide Latin"] = true;
-  t["Windsor"] = true;
-  t["XITS"] = true;
-});
-exports.getSerifFonts = getSerifFonts;
-var getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t["Dingbats"] = true;
-  t["Symbol"] = true;
-  t["ZapfDingbats"] = true;
-});
-exports.getSymbolsFonts = getSymbolsFonts;
-var getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t[2] = 10;
-  t[3] = 32;
-  t[4] = 33;
-  t[5] = 34;
-  t[6] = 35;
-  t[7] = 36;
-  t[8] = 37;
-  t[9] = 38;
-  t[10] = 39;
-  t[11] = 40;
-  t[12] = 41;
-  t[13] = 42;
-  t[14] = 43;
-  t[15] = 44;
-  t[16] = 45;
-  t[17] = 46;
-  t[18] = 47;
-  t[19] = 48;
-  t[20] = 49;
-  t[21] = 50;
-  t[22] = 51;
-  t[23] = 52;
-  t[24] = 53;
-  t[25] = 54;
-  t[26] = 55;
-  t[27] = 56;
-  t[28] = 57;
-  t[29] = 58;
-  t[30] = 894;
-  t[31] = 60;
-  t[32] = 61;
-  t[33] = 62;
-  t[34] = 63;
-  t[35] = 64;
-  t[36] = 65;
-  t[37] = 66;
-  t[38] = 67;
-  t[39] = 68;
-  t[40] = 69;
-  t[41] = 70;
-  t[42] = 71;
-  t[43] = 72;
-  t[44] = 73;
-  t[45] = 74;
-  t[46] = 75;
-  t[47] = 76;
-  t[48] = 77;
-  t[49] = 78;
-  t[50] = 79;
-  t[51] = 80;
-  t[52] = 81;
-  t[53] = 82;
-  t[54] = 83;
-  t[55] = 84;
-  t[56] = 85;
-  t[57] = 86;
-  t[58] = 87;
-  t[59] = 88;
-  t[60] = 89;
-  t[61] = 90;
-  t[62] = 91;
-  t[63] = 92;
-  t[64] = 93;
-  t[65] = 94;
-  t[66] = 95;
-  t[67] = 96;
-  t[68] = 97;
-  t[69] = 98;
-  t[70] = 99;
-  t[71] = 100;
-  t[72] = 101;
-  t[73] = 102;
-  t[74] = 103;
-  t[75] = 104;
-  t[76] = 105;
-  t[77] = 106;
-  t[78] = 107;
-  t[79] = 108;
-  t[80] = 109;
-  t[81] = 110;
-  t[82] = 111;
-  t[83] = 112;
-  t[84] = 113;
-  t[85] = 114;
-  t[86] = 115;
-  t[87] = 116;
-  t[88] = 117;
-  t[89] = 118;
-  t[90] = 119;
-  t[91] = 120;
-  t[92] = 121;
-  t[93] = 122;
-  t[94] = 123;
-  t[95] = 124;
-  t[96] = 125;
-  t[97] = 126;
-  t[98] = 196;
-  t[99] = 197;
-  t[100] = 199;
-  t[101] = 201;
-  t[102] = 209;
-  t[103] = 214;
-  t[104] = 220;
-  t[105] = 225;
-  t[106] = 224;
-  t[107] = 226;
-  t[108] = 228;
-  t[109] = 227;
-  t[110] = 229;
-  t[111] = 231;
-  t[112] = 233;
-  t[113] = 232;
-  t[114] = 234;
-  t[115] = 235;
-  t[116] = 237;
-  t[117] = 236;
-  t[118] = 238;
-  t[119] = 239;
-  t[120] = 241;
-  t[121] = 243;
-  t[122] = 242;
-  t[123] = 244;
-  t[124] = 246;
-  t[125] = 245;
-  t[126] = 250;
-  t[127] = 249;
-  t[128] = 251;
-  t[129] = 252;
-  t[130] = 8224;
-  t[131] = 176;
-  t[132] = 162;
-  t[133] = 163;
-  t[134] = 167;
-  t[135] = 8226;
-  t[136] = 182;
-  t[137] = 223;
-  t[138] = 174;
-  t[139] = 169;
-  t[140] = 8482;
-  t[141] = 180;
-  t[142] = 168;
-  t[143] = 8800;
-  t[144] = 198;
-  t[145] = 216;
-  t[146] = 8734;
-  t[147] = 177;
-  t[148] = 8804;
-  t[149] = 8805;
-  t[150] = 165;
-  t[151] = 181;
-  t[152] = 8706;
-  t[153] = 8721;
-  t[154] = 8719;
-  t[156] = 8747;
-  t[157] = 170;
-  t[158] = 186;
-  t[159] = 8486;
-  t[160] = 230;
-  t[161] = 248;
-  t[162] = 191;
-  t[163] = 161;
-  t[164] = 172;
-  t[165] = 8730;
-  t[166] = 402;
-  t[167] = 8776;
-  t[168] = 8710;
-  t[169] = 171;
-  t[170] = 187;
-  t[171] = 8230;
-  t[210] = 218;
-  t[223] = 711;
-  t[224] = 321;
-  t[225] = 322;
-  t[227] = 353;
-  t[229] = 382;
-  t[234] = 253;
-  t[252] = 263;
-  t[253] = 268;
-  t[254] = 269;
-  t[258] = 258;
-  t[260] = 260;
-  t[261] = 261;
-  t[265] = 280;
-  t[266] = 281;
-  t[268] = 283;
-  t[269] = 313;
-  t[275] = 323;
-  t[276] = 324;
-  t[278] = 328;
-  t[284] = 345;
-  t[285] = 346;
-  t[286] = 347;
-  t[292] = 367;
-  t[295] = 377;
-  t[296] = 378;
-  t[298] = 380;
-  t[305] = 963;
-  t[306] = 964;
-  t[307] = 966;
-  t[308] = 8215;
-  t[309] = 8252;
-  t[310] = 8319;
-  t[311] = 8359;
-  t[312] = 8592;
-  t[313] = 8593;
-  t[337] = 9552;
-  t[493] = 1039;
-  t[494] = 1040;
-  t[705] = 1524;
-  t[706] = 8362;
-  t[710] = 64288;
-  t[711] = 64298;
-  t[759] = 1617;
-  t[761] = 1776;
-  t[763] = 1778;
-  t[775] = 1652;
-  t[777] = 1764;
-  t[778] = 1780;
-  t[779] = 1781;
-  t[780] = 1782;
-  t[782] = 771;
-  t[783] = 64726;
-  t[786] = 8363;
-  t[788] = 8532;
-  t[790] = 768;
-  t[791] = 769;
-  t[792] = 768;
-  t[795] = 803;
-  t[797] = 64336;
-  t[798] = 64337;
-  t[799] = 64342;
-  t[800] = 64343;
-  t[801] = 64344;
-  t[802] = 64345;
-  t[803] = 64362;
-  t[804] = 64363;
-  t[805] = 64364;
-  t[2424] = 7821;
-  t[2425] = 7822;
-  t[2426] = 7823;
-  t[2427] = 7824;
-  t[2428] = 7825;
-  t[2429] = 7826;
-  t[2430] = 7827;
-  t[2433] = 7682;
-  t[2678] = 8045;
-  t[2679] = 8046;
-  t[2830] = 1552;
-  t[2838] = 686;
-  t[2840] = 751;
-  t[2842] = 753;
-  t[2843] = 754;
-  t[2844] = 755;
-  t[2846] = 757;
-  t[2856] = 767;
-  t[2857] = 848;
-  t[2858] = 849;
-  t[2862] = 853;
-  t[2863] = 854;
-  t[2864] = 855;
-  t[2865] = 861;
-  t[2866] = 862;
-  t[2906] = 7460;
-  t[2908] = 7462;
-  t[2909] = 7463;
-  t[2910] = 7464;
-  t[2912] = 7466;
-  t[2913] = 7467;
-  t[2914] = 7468;
-  t[2916] = 7470;
-  t[2917] = 7471;
-  t[2918] = 7472;
-  t[2920] = 7474;
-  t[2921] = 7475;
-  t[2922] = 7476;
-  t[2924] = 7478;
-  t[2925] = 7479;
-  t[2926] = 7480;
-  t[2928] = 7482;
-  t[2929] = 7483;
-  t[2930] = 7484;
-  t[2932] = 7486;
-  t[2933] = 7487;
-  t[2934] = 7488;
-  t[2936] = 7490;
-  t[2937] = 7491;
-  t[2938] = 7492;
-  t[2940] = 7494;
-  t[2941] = 7495;
-  t[2942] = 7496;
-  t[2944] = 7498;
-  t[2946] = 7500;
-  t[2948] = 7502;
-  t[2950] = 7504;
-  t[2951] = 7505;
-  t[2952] = 7506;
-  t[2954] = 7508;
-  t[2955] = 7509;
-  t[2956] = 7510;
-  t[2958] = 7512;
-  t[2959] = 7513;
-  t[2960] = 7514;
-  t[2962] = 7516;
-  t[2963] = 7517;
-  t[2964] = 7518;
-  t[2966] = 7520;
-  t[2967] = 7521;
-  t[2968] = 7522;
-  t[2970] = 7524;
-  t[2971] = 7525;
-  t[2972] = 7526;
-  t[2974] = 7528;
-  t[2975] = 7529;
-  t[2976] = 7530;
-  t[2978] = 1537;
-  t[2979] = 1538;
-  t[2980] = 1539;
-  t[2982] = 1549;
-  t[2983] = 1551;
-  t[2984] = 1552;
-  t[2986] = 1554;
-  t[2987] = 1555;
-  t[2988] = 1556;
-  t[2990] = 1623;
-  t[2991] = 1624;
-  t[2995] = 1775;
-  t[2999] = 1791;
-  t[3002] = 64290;
-  t[3003] = 64291;
-  t[3004] = 64292;
-  t[3006] = 64294;
-  t[3007] = 64295;
-  t[3008] = 64296;
-  t[3011] = 1900;
-  t[3014] = 8223;
-  t[3015] = 8244;
-  t[3017] = 7532;
-  t[3018] = 7533;
-  t[3019] = 7534;
-  t[3075] = 7590;
-  t[3076] = 7591;
-  t[3079] = 7594;
-  t[3080] = 7595;
-  t[3083] = 7598;
-  t[3084] = 7599;
-  t[3087] = 7602;
-  t[3088] = 7603;
-  t[3091] = 7606;
-  t[3092] = 7607;
-  t[3095] = 7610;
-  t[3096] = 7611;
-  t[3099] = 7614;
-  t[3100] = 7615;
-  t[3103] = 7618;
-  t[3104] = 7619;
-  t[3107] = 8337;
-  t[3108] = 8338;
-  t[3116] = 1884;
-  t[3119] = 1885;
-  t[3120] = 1885;
-  t[3123] = 1886;
-  t[3124] = 1886;
-  t[3127] = 1887;
-  t[3128] = 1887;
-  t[3131] = 1888;
-  t[3132] = 1888;
-  t[3135] = 1889;
-  t[3136] = 1889;
-  t[3139] = 1890;
-  t[3140] = 1890;
-  t[3143] = 1891;
-  t[3144] = 1891;
-  t[3147] = 1892;
-  t[3148] = 1892;
-  t[3153] = 580;
-  t[3154] = 581;
-  t[3157] = 584;
-  t[3158] = 585;
-  t[3161] = 588;
-  t[3162] = 589;
-  t[3165] = 891;
-  t[3166] = 892;
-  t[3169] = 1274;
-  t[3170] = 1275;
-  t[3173] = 1278;
-  t[3174] = 1279;
-  t[3181] = 7622;
-  t[3182] = 7623;
-  t[3282] = 11799;
-  t[3316] = 578;
-  t[3379] = 42785;
-  t[3393] = 1159;
-  t[3416] = 8377;
-});
-exports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;
-var getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t[227] = 322;
-  t[264] = 261;
-  t[291] = 346;
-});
-exports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;
-var getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t[1] = 32;
-  t[4] = 65;
-  t[17] = 66;
-  t[18] = 67;
-  t[24] = 68;
-  t[28] = 69;
-  t[38] = 70;
-  t[39] = 71;
-  t[44] = 72;
-  t[47] = 73;
-  t[58] = 74;
-  t[60] = 75;
-  t[62] = 76;
-  t[68] = 77;
-  t[69] = 78;
-  t[75] = 79;
-  t[87] = 80;
-  t[89] = 81;
-  t[90] = 82;
-  t[94] = 83;
-  t[100] = 84;
-  t[104] = 85;
-  t[115] = 86;
-  t[116] = 87;
-  t[121] = 88;
-  t[122] = 89;
-  t[127] = 90;
-  t[258] = 97;
-  t[268] = 261;
-  t[271] = 98;
-  t[272] = 99;
-  t[273] = 263;
-  t[282] = 100;
-  t[286] = 101;
-  t[295] = 281;
-  t[296] = 102;
-  t[336] = 103;
-  t[346] = 104;
-  t[349] = 105;
-  t[361] = 106;
-  t[364] = 107;
-  t[367] = 108;
-  t[371] = 322;
-  t[373] = 109;
-  t[374] = 110;
-  t[381] = 111;
-  t[383] = 243;
-  t[393] = 112;
-  t[395] = 113;
-  t[396] = 114;
-  t[400] = 115;
-  t[401] = 347;
-  t[410] = 116;
-  t[437] = 117;
-  t[448] = 118;
-  t[449] = 119;
-  t[454] = 120;
-  t[455] = 121;
-  t[460] = 122;
-  t[463] = 380;
-  t[853] = 44;
-  t[855] = 58;
-  t[856] = 46;
-  t[876] = 47;
-  t[878] = 45;
-  t[882] = 45;
-  t[894] = 40;
-  t[895] = 41;
-  t[896] = 91;
-  t[897] = 93;
-  t[923] = 64;
-  t[1004] = 48;
-  t[1005] = 49;
-  t[1006] = 50;
-  t[1007] = 51;
-  t[1008] = 52;
-  t[1009] = 53;
-  t[1010] = 54;
-  t[1011] = 55;
-  t[1012] = 56;
-  t[1013] = 57;
-  t[1081] = 37;
-  t[1085] = 43;
-  t[1086] = 45;
-});
-exports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;
-
-/***/ }),
-/* 223 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getLookupTableFactory = __w_pdfjs_require__(197).getLookupTableFactory;
-var getSpecialPUASymbols = getLookupTableFactory(function (t) {
- t[63721] = 0x00a9;
- t[63193] = 0x00a9;
- t[63720] = 0x00ae;
- t[63194] = 0x00ae;
- t[63722] = 0x2122;
- t[63195] = 0x2122;
- t[63729] = 0x23a7;
- t[63730] = 0x23a8;
- t[63731] = 0x23a9;
- t[63740] = 0x23ab;
- t[63741] = 0x23ac;
- t[63742] = 0x23ad;
- t[63726] = 0x23a1;
- t[63727] = 0x23a2;
- t[63728] = 0x23a3;
- t[63737] = 0x23a4;
- t[63738] = 0x23a5;
- t[63739] = 0x23a6;
- t[63723] = 0x239b;
- t[63724] = 0x239c;
- t[63725] = 0x239d;
- t[63734] = 0x239e;
- t[63735] = 0x239f;
- t[63736] = 0x23a0;
-});
-function mapSpecialUnicodeValues(code) {
- if (code >= 0xfff0 && code <= 0xffff) {
-  return 0;
- } else if (code >= 0xf600 && code <= 0xf8ff) {
-  return getSpecialPUASymbols()[code] || code;
- } else if (code === 0x00ad) {
-  return 0x002d;
- }
- return code;
-}
-function getUnicodeForGlyph(name, glyphsUnicodeMap) {
- var unicode = glyphsUnicodeMap[name];
- if (unicode !== undefined) {
-  return unicode;
- }
- if (!name) {
-  return -1;
- }
- if (name[0] === "u") {
-  var nameLen = name.length, hexStr;
-  if (nameLen === 7 && name[1] === "n" && name[2] === "i") {
-   hexStr = name.substring(3);
-  } else if (nameLen >= 5 && nameLen <= 7) {
-   hexStr = name.substring(1);
-  } else {
-   return -1;
-  }
-  if (hexStr === hexStr.toUpperCase()) {
-   unicode = parseInt(hexStr, 16);
-   if (unicode >= 0) {
-    return unicode;
-   }
-  }
- }
- return -1;
-}
-var UnicodeRanges = [
- {
-  begin: 0x0000,
-  end: 0x007f
- },
- {
-  begin: 0x0080,
-  end: 0x00ff
- },
- {
-  begin: 0x0100,
-  end: 0x017f
- },
- {
-  begin: 0x0180,
-  end: 0x024f
- },
- {
-  begin: 0x0250,
-  end: 0x02af
- },
- {
-  begin: 0x02b0,
-  end: 0x02ff
- },
- {
-  begin: 0x0300,
-  end: 0x036f
- },
- {
-  begin: 0x0370,
-  end: 0x03ff
- },
- {
-  begin: 0x2c80,
-  end: 0x2cff
- },
- {
-  begin: 0x0400,
-  end: 0x04ff
- },
- {
-  begin: 0x0530,
-  end: 0x058f
- },
- {
-  begin: 0x0590,
-  end: 0x05ff
- },
- {
-  begin: 0xa500,
-  end: 0xa63f
- },
- {
-  begin: 0x0600,
-  end: 0x06ff
- },
- {
-  begin: 0x07c0,
-  end: 0x07ff
- },
- {
-  begin: 0x0900,
-  end: 0x097f
- },
- {
-  begin: 0x0980,
-  end: 0x09ff
- },
- {
-  begin: 0x0a00,
-  end: 0x0a7f
- },
- {
-  begin: 0x0a80,
-  end: 0x0aff
- },
- {
-  begin: 0x0b00,
-  end: 0x0b7f
- },
- {
-  begin: 0x0b80,
-  end: 0x0bff
- },
- {
-  begin: 0x0c00,
-  end: 0x0c7f
- },
- {
-  begin: 0x0c80,
-  end: 0x0cff
- },
- {
-  begin: 0x0d00,
-  end: 0x0d7f
- },
- {
-  begin: 0x0e00,
-  end: 0x0e7f
- },
- {
-  begin: 0x0e80,
-  end: 0x0eff
- },
- {
-  begin: 0x10a0,
-  end: 0x10ff
- },
- {
-  begin: 0x1b00,
-  end: 0x1b7f
- },
- {
-  begin: 0x1100,
-  end: 0x11ff
- },
- {
-  begin: 0x1e00,
-  end: 0x1eff
- },
- {
-  begin: 0x1f00,
-  end: 0x1fff
- },
- {
-  begin: 0x2000,
-  end: 0x206f
- },
- {
-  begin: 0x2070,
-  end: 0x209f
- },
- {
-  begin: 0x20a0,
-  end: 0x20cf
- },
- {
-  begin: 0x20d0,
-  end: 0x20ff
- },
- {
-  begin: 0x2100,
-  end: 0x214f
- },
- {
-  begin: 0x2150,
-  end: 0x218f
- },
- {
-  begin: 0x2190,
-  end: 0x21ff
- },
- {
-  begin: 0x2200,
-  end: 0x22ff
- },
- {
-  begin: 0x2300,
-  end: 0x23ff
- },
- {
-  begin: 0x2400,
-  end: 0x243f
- },
- {
-  begin: 0x2440,
-  end: 0x245f
- },
- {
-  begin: 0x2460,
-  end: 0x24ff
- },
- {
-  begin: 0x2500,
-  end: 0x257f
- },
- {
-  begin: 0x2580,
-  end: 0x259f
- },
- {
-  begin: 0x25a0,
-  end: 0x25ff
- },
- {
-  begin: 0x2600,
-  end: 0x26ff
- },
- {
-  begin: 0x2700,
-  end: 0x27bf
- },
- {
-  begin: 0x3000,
-  end: 0x303f
- },
- {
-  begin: 0x3040,
-  end: 0x309f
- },
- {
-  begin: 0x30a0,
-  end: 0x30ff
- },
- {
-  begin: 0x3100,
-  end: 0x312f
- },
- {
-  begin: 0x3130,
-  end: 0x318f
- },
- {
-  begin: 0xa840,
-  end: 0xa87f
- },
- {
-  begin: 0x3200,
-  end: 0x32ff
- },
- {
-  begin: 0x3300,
-  end: 0x33ff
- },
- {
-  begin: 0xac00,
-  end: 0xd7af
- },
- {
-  begin: 0xd800,
-  end: 0xdfff
- },
- {
-  begin: 0x10900,
-  end: 0x1091f
- },
- {
-  begin: 0x4e00,
-  end: 0x9fff
- },
- {
-  begin: 0xe000,
-  end: 0xf8ff
- },
- {
-  begin: 0x31c0,
-  end: 0x31ef
- },
- {
-  begin: 0xfb00,
-  end: 0xfb4f
- },
- {
-  begin: 0xfb50,
-  end: 0xfdff
- },
- {
-  begin: 0xfe20,
-  end: 0xfe2f
- },
- {
-  begin: 0xfe10,
-  end: 0xfe1f
- },
- {
-  begin: 0xfe50,
-  end: 0xfe6f
- },
- {
-  begin: 0xfe70,
-  end: 0xfeff
- },
- {
-  begin: 0xff00,
-  end: 0xffef
- },
- {
-  begin: 0xfff0,
-  end: 0xffff
- },
- {
-  begin: 0x0f00,
-  end: 0x0fff
- },
- {
-  begin: 0x0700,
-  end: 0x074f
- },
- {
-  begin: 0x0780,
-  end: 0x07bf
- },
- {
-  begin: 0x0d80,
-  end: 0x0dff
- },
- {
-  begin: 0x1000,
-  end: 0x109f
- },
- {
-  begin: 0x1200,
-  end: 0x137f
- },
- {
-  begin: 0x13a0,
-  end: 0x13ff
- },
- {
-  begin: 0x1400,
-  end: 0x167f
- },
- {
-  begin: 0x1680,
-  end: 0x169f
- },
- {
-  begin: 0x16a0,
-  end: 0x16ff
- },
- {
-  begin: 0x1780,
-  end: 0x17ff
- },
- {
-  begin: 0x1800,
-  end: 0x18af
- },
- {
-  begin: 0x2800,
-  end: 0x28ff
- },
- {
-  begin: 0xa000,
-  end: 0xa48f
- },
- {
-  begin: 0x1700,
-  end: 0x171f
- },
- {
-  begin: 0x10300,
-  end: 0x1032f
- },
- {
-  begin: 0x10330,
-  end: 0x1034f
- },
- {
-  begin: 0x10400,
-  end: 0x1044f
- },
- {
-  begin: 0x1d000,
-  end: 0x1d0ff
- },
- {
-  begin: 0x1d400,
-  end: 0x1d7ff
- },
- {
-  begin: 0xff000,
-  end: 0xffffd
- },
- {
-  begin: 0xfe00,
-  end: 0xfe0f
- },
- {
-  begin: 0xe0000,
-  end: 0xe007f
- },
- {
-  begin: 0x1900,
-  end: 0x194f
- },
- {
-  begin: 0x1950,
-  end: 0x197f
- },
- {
-  begin: 0x1980,
-  end: 0x19df
- },
- {
-  begin: 0x1a00,
-  end: 0x1a1f
- },
- {
-  begin: 0x2c00,
-  end: 0x2c5f
- },
- {
-  begin: 0x2d30,
-  end: 0x2d7f
- },
- {
-  begin: 0x4dc0,
-  end: 0x4dff
- },
- {
-  begin: 0xa800,
-  end: 0xa82f
- },
- {
-  begin: 0x10000,
-  end: 0x1007f
- },
- {
-  begin: 0x10140,
-  end: 0x1018f
- },
- {
-  begin: 0x10380,
-  end: 0x1039f
- },
- {
-  begin: 0x103a0,
-  end: 0x103df
- },
- {
-  begin: 0x10450,
-  end: 0x1047f
- },
- {
-  begin: 0x10480,
-  end: 0x104af
- },
- {
-  begin: 0x10800,
-  end: 0x1083f
- },
- {
-  begin: 0x10a00,
-  end: 0x10a5f
- },
- {
-  begin: 0x1d300,
-  end: 0x1d35f
- },
- {
-  begin: 0x12000,
-  end: 0x123ff
- },
- {
-  begin: 0x1d360,
-  end: 0x1d37f
- },
- {
-  begin: 0x1b80,
-  end: 0x1bbf
- },
- {
-  begin: 0x1c00,
-  end: 0x1c4f
- },
- {
-  begin: 0x1c50,
-  end: 0x1c7f
- },
- {
-  begin: 0xa880,
-  end: 0xa8df
- },
- {
-  begin: 0xa900,
-  end: 0xa92f
- },
- {
-  begin: 0xa930,
-  end: 0xa95f
- },
- {
-  begin: 0xaa00,
-  end: 0xaa5f
- },
- {
-  begin: 0x10190,
-  end: 0x101cf
- },
- {
-  begin: 0x101d0,
-  end: 0x101ff
- },
- {
-  begin: 0x102a0,
-  end: 0x102df
- },
- {
-  begin: 0x1f030,
-  end: 0x1f09f
- }
-];
-function getUnicodeRangeFor(value) {
- for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {
-  var range = UnicodeRanges[i];
-  if (value >= range.begin && value < range.end) {
-   return i;
-  }
- }
- return -1;
-}
-function isRTLRangeFor(value) {
- var range = UnicodeRanges[13];
- if (value >= range.begin && value < range.end) {
-  return true;
- }
- range = UnicodeRanges[11];
- if (value >= range.begin && value < range.end) {
-  return true;
- }
- return false;
-}
-var getNormalizedUnicodes = getLookupTableFactory(function (t) {
- t["\u00A8"] = "\u0020\u0308";
- t["\u00AF"] = "\u0020\u0304";
- t["\u00B4"] = "\u0020\u0301";
- t["\u00B5"] = "\u03BC";
- t["\u00B8"] = "\u0020\u0327";
- t["\u0132"] = "\u0049\u004A";
- t["\u0133"] = "\u0069\u006A";
- t["\u013F"] = "\u004C\u00B7";
- t["\u0140"] = "\u006C\u00B7";
- t["\u0149"] = "\u02BC\u006E";
- t["\u017F"] = "\u0073";
- t["\u01C4"] = "\u0044\u017D";
- t["\u01C5"] = "\u0044\u017E";
- t["\u01C6"] = "\u0064\u017E";
- t["\u01C7"] = "\u004C\u004A";
- t["\u01C8"] = "\u004C\u006A";
- t["\u01C9"] = "\u006C\u006A";
- t["\u01CA"] = "\u004E\u004A";
- t["\u01CB"] = "\u004E\u006A";
- t["\u01CC"] = "\u006E\u006A";
- t["\u01F1"] = "\u0044\u005A";
- t["\u01F2"] = "\u0044\u007A";
- t["\u01F3"] = "\u0064\u007A";
- t["\u02D8"] = "\u0020\u0306";
- t["\u02D9"] = "\u0020\u0307";
- t["\u02DA"] = "\u0020\u030A";
- t["\u02DB"] = "\u0020\u0328";
- t["\u02DC"] = "\u0020\u0303";
- t["\u02DD"] = "\u0020\u030B";
- t["\u037A"] = "\u0020\u0345";
- t["\u0384"] = "\u0020\u0301";
- t["\u03D0"] = "\u03B2";
- t["\u03D1"] = "\u03B8";
- t["\u03D2"] = "\u03A5";
- t["\u03D5"] = "\u03C6";
- t["\u03D6"] = "\u03C0";
- t["\u03F0"] = "\u03BA";
- t["\u03F1"] = "\u03C1";
- t["\u03F2"] = "\u03C2";
- t["\u03F4"] = "\u0398";
- t["\u03F5"] = "\u03B5";
- t["\u03F9"] = "\u03A3";
- t["\u0587"] = "\u0565\u0582";
- t["\u0675"] = "\u0627\u0674";
- t["\u0676"] = "\u0648\u0674";
- t["\u0677"] = "\u06C7\u0674";
- t["\u0678"] = "\u064A\u0674";
- t["\u0E33"] = "\u0E4D\u0E32";
- t["\u0EB3"] = "\u0ECD\u0EB2";
- t["\u0EDC"] = "\u0EAB\u0E99";
- t["\u0EDD"] = "\u0EAB\u0EA1";
- t["\u0F77"] = "\u0FB2\u0F81";
- t["\u0F79"] = "\u0FB3\u0F81";
- t["\u1E9A"] = "\u0061\u02BE";
- t["\u1FBD"] = "\u0020\u0313";
- t["\u1FBF"] = "\u0020\u0313";
- t["\u1FC0"] = "\u0020\u0342";
- t["\u1FFE"] = "\u0020\u0314";
- t["\u2002"] = "\u0020";
- t["\u2003"] = "\u0020";
- t["\u2004"] = "\u0020";
- t["\u2005"] = "\u0020";
- t["\u2006"] = "\u0020";
- t["\u2008"] = "\u0020";
- t["\u2009"] = "\u0020";
- t["\u200A"] = "\u0020";
- t["\u2017"] = "\u0020\u0333";
- t["\u2024"] = "\u002E";
- t["\u2025"] = "\u002E\u002E";
- t["\u2026"] = "\u002E\u002E\u002E";
- t["\u2033"] = "\u2032\u2032";
- t["\u2034"] = "\u2032\u2032\u2032";
- t["\u2036"] = "\u2035\u2035";
- t["\u2037"] = "\u2035\u2035\u2035";
- t["\u203C"] = "\u0021\u0021";
- t["\u203E"] = "\u0020\u0305";
- t["\u2047"] = "\u003F\u003F";
- t["\u2048"] = "\u003F\u0021";
- t["\u2049"] = "\u0021\u003F";
- t["\u2057"] = "\u2032\u2032\u2032\u2032";
- t["\u205F"] = "\u0020";
- t["\u20A8"] = "\u0052\u0073";
- t["\u2100"] = "\u0061\u002F\u0063";
- t["\u2101"] = "\u0061\u002F\u0073";
- t["\u2103"] = "\u00B0\u0043";
- t["\u2105"] = "\u0063\u002F\u006F";
- t["\u2106"] = "\u0063\u002F\u0075";
- t["\u2107"] = "\u0190";
- t["\u2109"] = "\u00B0\u0046";
- t["\u2116"] = "\u004E\u006F";
- t["\u2121"] = "\u0054\u0045\u004C";
- t["\u2135"] = "\u05D0";
- t["\u2136"] = "\u05D1";
- t["\u2137"] = "\u05D2";
- t["\u2138"] = "\u05D3";
- t["\u213B"] = "\u0046\u0041\u0058";
- t["\u2160"] = "\u0049";
- t["\u2161"] = "\u0049\u0049";
- t["\u2162"] = "\u0049\u0049\u0049";
- t["\u2163"] = "\u0049\u0056";
- t["\u2164"] = "\u0056";
- t["\u2165"] = "\u0056\u0049";
- t["\u2166"] = "\u0056\u0049\u0049";
- t["\u2167"] = "\u0056\u0049\u0049\u0049";
- t["\u2168"] = "\u0049\u0058";
- t["\u2169"] = "\u0058";
- t["\u216A"] = "\u0058\u0049";
- t["\u216B"] = "\u0058\u0049\u0049";
- t["\u216C"] = "\u004C";
- t["\u216D"] = "\u0043";
- t["\u216E"] = "\u0044";
- t["\u216F"] = "\u004D";
- t["\u2170"] = "\u0069";
- t["\u2171"] = "\u0069\u0069";
- t["\u2172"] = "\u0069\u0069\u0069";
- t["\u2173"] = "\u0069\u0076";
- t["\u2174"] = "\u0076";
- t["\u2175"] = "\u0076\u0069";
- t["\u2176"] = "\u0076\u0069\u0069";
- t["\u2177"] = "\u0076\u0069\u0069\u0069";
- t["\u2178"] = "\u0069\u0078";
- t["\u2179"] = "\u0078";
- t["\u217A"] = "\u0078\u0069";
- t["\u217B"] = "\u0078\u0069\u0069";
- t["\u217C"] = "\u006C";
- t["\u217D"] = "\u0063";
- t["\u217E"] = "\u0064";
- t["\u217F"] = "\u006D";
- t["\u222C"] = "\u222B\u222B";
- t["\u222D"] = "\u222B\u222B\u222B";
- t["\u222F"] = "\u222E\u222E";
- t["\u2230"] = "\u222E\u222E\u222E";
- t["\u2474"] = "\u0028\u0031\u0029";
- t["\u2475"] = "\u0028\u0032\u0029";
- t["\u2476"] = "\u0028\u0033\u0029";
- t["\u2477"] = "\u0028\u0034\u0029";
- t["\u2478"] = "\u0028\u0035\u0029";
- t["\u2479"] = "\u0028\u0036\u0029";
- t["\u247A"] = "\u0028\u0037\u0029";
- t["\u247B"] = "\u0028\u0038\u0029";
- t["\u247C"] = "\u0028\u0039\u0029";
- t["\u247D"] = "\u0028\u0031\u0030\u0029";
- t["\u247E"] = "\u0028\u0031\u0031\u0029";
- t["\u247F"] = "\u0028\u0031\u0032\u0029";
- t["\u2480"] = "\u0028\u0031\u0033\u0029";
- t["\u2481"] = "\u0028\u0031\u0034\u0029";
- t["\u2482"] = "\u0028\u0031\u0035\u0029";
- t["\u2483"] = "\u0028\u0031\u0036\u0029";
- t["\u2484"] = "\u0028\u0031\u0037\u0029";
- t["\u2485"] = "\u0028\u0031\u0038\u0029";
- t["\u2486"] = "\u0028\u0031\u0039\u0029";
- t["\u2487"] = "\u0028\u0032\u0030\u0029";
- t["\u2488"] = "\u0031\u002E";
- t["\u2489"] = "\u0032\u002E";
- t["\u248A"] = "\u0033\u002E";
- t["\u248B"] = "\u0034\u002E";
- t["\u248C"] = "\u0035\u002E";
- t["\u248D"] = "\u0036\u002E";
- t["\u248E"] = "\u0037\u002E";
- t["\u248F"] = "\u0038\u002E";
- t["\u2490"] = "\u0039\u002E";
- t["\u2491"] = "\u0031\u0030\u002E";
- t["\u2492"] = "\u0031\u0031\u002E";
- t["\u2493"] = "\u0031\u0032\u002E";
- t["\u2494"] = "\u0031\u0033\u002E";
- t["\u2495"] = "\u0031\u0034\u002E";
- t["\u2496"] = "\u0031\u0035\u002E";
- t["\u2497"] = "\u0031\u0036\u002E";
- t["\u2498"] = "\u0031\u0037\u002E";
- t["\u2499"] = "\u0031\u0038\u002E";
- t["\u249A"] = "\u0031\u0039\u002E";
- t["\u249B"] = "\u0032\u0030\u002E";
- t["\u249C"] = "\u0028\u0061\u0029";
- t["\u249D"] = "\u0028\u0062\u0029";
- t["\u249E"] = "\u0028\u0063\u0029";
- t["\u249F"] = "\u0028\u0064\u0029";
- t["\u24A0"] = "\u0028\u0065\u0029";
- t["\u24A1"] = "\u0028\u0066\u0029";
- t["\u24A2"] = "\u0028\u0067\u0029";
- t["\u24A3"] = "\u0028\u0068\u0029";
- t["\u24A4"] = "\u0028\u0069\u0029";
- t["\u24A5"] = "\u0028\u006A\u0029";
- t["\u24A6"] = "\u0028\u006B\u0029";
- t["\u24A7"] = "\u0028\u006C\u0029";
- t["\u24A8"] = "\u0028\u006D\u0029";
- t["\u24A9"] = "\u0028\u006E\u0029";
- t["\u24AA"] = "\u0028\u006F\u0029";
- t["\u24AB"] = "\u0028\u0070\u0029";
- t["\u24AC"] = "\u0028\u0071\u0029";
- t["\u24AD"] = "\u0028\u0072\u0029";
- t["\u24AE"] = "\u0028\u0073\u0029";
- t["\u24AF"] = "\u0028\u0074\u0029";
- t["\u24B0"] = "\u0028\u0075\u0029";
- t["\u24B1"] = "\u0028\u0076\u0029";
- t["\u24B2"] = "\u0028\u0077\u0029";
- t["\u24B3"] = "\u0028\u0078\u0029";
- t["\u24B4"] = "\u0028\u0079\u0029";
- t["\u24B5"] = "\u0028\u007A\u0029";
- t["\u2A0C"] = "\u222B\u222B\u222B\u222B";
- t["\u2A74"] = "\u003A\u003A\u003D";
- t["\u2A75"] = "\u003D\u003D";
- t["\u2A76"] = "\u003D\u003D\u003D";
- t["\u2E9F"] = "\u6BCD";
- t["\u2EF3"] = "\u9F9F";
- t["\u2F00"] = "\u4E00";
- t["\u2F01"] = "\u4E28";
- t["\u2F02"] = "\u4E36";
- t["\u2F03"] = "\u4E3F";
- t["\u2F04"] = "\u4E59";
- t["\u2F05"] = "\u4E85";
- t["\u2F06"] = "\u4E8C";
- t["\u2F07"] = "\u4EA0";
- t["\u2F08"] = "\u4EBA";
- t["\u2F09"] = "\u513F";
- t["\u2F0A"] = "\u5165";
- t["\u2F0B"] = "\u516B";
- t["\u2F0C"] = "\u5182";
- t["\u2F0D"] = "\u5196";
- t["\u2F0E"] = "\u51AB";
- t["\u2F0F"] = "\u51E0";
- t["\u2F10"] = "\u51F5";
- t["\u2F11"] = "\u5200";
- t["\u2F12"] = "\u529B";
- t["\u2F13"] = "\u52F9";
- t["\u2F14"] = "\u5315";
- t["\u2F15"] = "\u531A";
- t["\u2F16"] = "\u5338";
- t["\u2F17"] = "\u5341";
- t["\u2F18"] = "\u535C";
- t["\u2F19"] = "\u5369";
- t["\u2F1A"] = "\u5382";
- t["\u2F1B"] = "\u53B6";
- t["\u2F1C"] = "\u53C8";
- t["\u2F1D"] = "\u53E3";
- t["\u2F1E"] = "\u56D7";
- t["\u2F1F"] = "\u571F";
- t["\u2F20"] = "\u58EB";
- t["\u2F21"] = "\u5902";
- t["\u2F22"] = "\u590A";
- t["\u2F23"] = "\u5915";
- t["\u2F24"] = "\u5927";
- t["\u2F25"] = "\u5973";
- t["\u2F26"] = "\u5B50";
- t["\u2F27"] = "\u5B80";
- t["\u2F28"] = "\u5BF8";
- t["\u2F29"] = "\u5C0F";
- t["\u2F2A"] = "\u5C22";
- t["\u2F2B"] = "\u5C38";
- t["\u2F2C"] = "\u5C6E";
- t["\u2F2D"] = "\u5C71";
- t["\u2F2E"] = "\u5DDB";
- t["\u2F2F"] = "\u5DE5";
- t["\u2F30"] = "\u5DF1";
- t["\u2F31"] = "\u5DFE";
- t["\u2F32"] = "\u5E72";
- t["\u2F33"] = "\u5E7A";
- t["\u2F34"] = "\u5E7F";
- t["\u2F35"] = "\u5EF4";
- t["\u2F36"] = "\u5EFE";
- t["\u2F37"] = "\u5F0B";
- t["\u2F38"] = "\u5F13";
- t["\u2F39"] = "\u5F50";
- t["\u2F3A"] = "\u5F61";
- t["\u2F3B"] = "\u5F73";
- t["\u2F3C"] = "\u5FC3";
- t["\u2F3D"] = "\u6208";
- t["\u2F3E"] = "\u6236";
- t["\u2F3F"] = "\u624B";
- t["\u2F40"] = "\u652F";
- t["\u2F41"] = "\u6534";
- t["\u2F42"] = "\u6587";
- t["\u2F43"] = "\u6597";
- t["\u2F44"] = "\u65A4";
- t["\u2F45"] = "\u65B9";
- t["\u2F46"] = "\u65E0";
- t["\u2F47"] = "\u65E5";
- t["\u2F48"] = "\u66F0";
- t["\u2F49"] = "\u6708";
- t["\u2F4A"] = "\u6728";
- t["\u2F4B"] = "\u6B20";
- t["\u2F4C"] = "\u6B62";
- t["\u2F4D"] = "\u6B79";
- t["\u2F4E"] = "\u6BB3";
- t["\u2F4F"] = "\u6BCB";
- t["\u2F50"] = "\u6BD4";
- t["\u2F51"] = "\u6BDB";
- t["\u2F52"] = "\u6C0F";
- t["\u2F53"] = "\u6C14";
- t["\u2F54"] = "\u6C34";
- t["\u2F55"] = "\u706B";
- t["\u2F56"] = "\u722A";
- t["\u2F57"] = "\u7236";
- t["\u2F58"] = "\u723B";
- t["\u2F59"] = "\u723F";
- t["\u2F5A"] = "\u7247";
- t["\u2F5B"] = "\u7259";
- t["\u2F5C"] = "\u725B";
- t["\u2F5D"] = "\u72AC";
- t["\u2F5E"] = "\u7384";
- t["\u2F5F"] = "\u7389";
- t["\u2F60"] = "\u74DC";
- t["\u2F61"] = "\u74E6";
- t["\u2F62"] = "\u7518";
- t["\u2F63"] = "\u751F";
- t["\u2F64"] = "\u7528";
- t["\u2F65"] = "\u7530";
- t["\u2F66"] = "\u758B";
- t["\u2F67"] = "\u7592";
- t["\u2F68"] = "\u7676";
- t["\u2F69"] = "\u767D";
- t["\u2F6A"] = "\u76AE";
- t["\u2F6B"] = "\u76BF";
- t["\u2F6C"] = "\u76EE";
- t["\u2F6D"] = "\u77DB";
- t["\u2F6E"] = "\u77E2";
- t["\u2F6F"] = "\u77F3";
- t["\u2F70"] = "\u793A";
- t["\u2F71"] = "\u79B8";
- t["\u2F72"] = "\u79BE";
- t["\u2F73"] = "\u7A74";
- t["\u2F74"] = "\u7ACB";
- t["\u2F75"] = "\u7AF9";
- t["\u2F76"] = "\u7C73";
- t["\u2F77"] = "\u7CF8";
- t["\u2F78"] = "\u7F36";
- t["\u2F79"] = "\u7F51";
- t["\u2F7A"] = "\u7F8A";
- t["\u2F7B"] = "\u7FBD";
- t["\u2F7C"] = "\u8001";
- t["\u2F7D"] = "\u800C";
- t["\u2F7E"] = "\u8012";
- t["\u2F7F"] = "\u8033";
- t["\u2F80"] = "\u807F";
- t["\u2F81"] = "\u8089";
- t["\u2F82"] = "\u81E3";
- t["\u2F83"] = "\u81EA";
- t["\u2F84"] = "\u81F3";
- t["\u2F85"] = "\u81FC";
- t["\u2F86"] = "\u820C";
- t["\u2F87"] = "\u821B";
- t["\u2F88"] = "\u821F";
- t["\u2F89"] = "\u826E";
- t["\u2F8A"] = "\u8272";
- t["\u2F8B"] = "\u8278";
- t["\u2F8C"] = "\u864D";
- t["\u2F8D"] = "\u866B";
- t["\u2F8E"] = "\u8840";
- t["\u2F8F"] = "\u884C";
- t["\u2F90"] = "\u8863";
- t["\u2F91"] = "\u897E";
- t["\u2F92"] = "\u898B";
- t["\u2F93"] = "\u89D2";
- t["\u2F94"] = "\u8A00";
- t["\u2F95"] = "\u8C37";
- t["\u2F96"] = "\u8C46";
- t["\u2F97"] = "\u8C55";
- t["\u2F98"] = "\u8C78";
- t["\u2F99"] = "\u8C9D";
- t["\u2F9A"] = "\u8D64";
- t["\u2F9B"] = "\u8D70";
- t["\u2F9C"] = "\u8DB3";
- t["\u2F9D"] = "\u8EAB";
- t["\u2F9E"] = "\u8ECA";
- t["\u2F9F"] = "\u8F9B";
- t["\u2FA0"] = "\u8FB0";
- t["\u2FA1"] = "\u8FB5";
- t["\u2FA2"] = "\u9091";
- t["\u2FA3"] = "\u9149";
- t["\u2FA4"] = "\u91C6";
- t["\u2FA5"] = "\u91CC";
- t["\u2FA6"] = "\u91D1";
- t["\u2FA7"] = "\u9577";
- t["\u2FA8"] = "\u9580";
- t["\u2FA9"] = "\u961C";
- t["\u2FAA"] = "\u96B6";
- t["\u2FAB"] = "\u96B9";
- t["\u2FAC"] = "\u96E8";
- t["\u2FAD"] = "\u9751";
- t["\u2FAE"] = "\u975E";
- t["\u2FAF"] = "\u9762";
- t["\u2FB0"] = "\u9769";
- t["\u2FB1"] = "\u97CB";
- t["\u2FB2"] = "\u97ED";
- t["\u2FB3"] = "\u97F3";
- t["\u2FB4"] = "\u9801";
- t["\u2FB5"] = "\u98A8";
- t["\u2FB6"] = "\u98DB";
- t["\u2FB7"] = "\u98DF";
- t["\u2FB8"] = "\u9996";
- t["\u2FB9"] = "\u9999";
- t["\u2FBA"] = "\u99AC";
- t["\u2FBB"] = "\u9AA8";
- t["\u2FBC"] = "\u9AD8";
- t["\u2FBD"] = "\u9ADF";
- t["\u2FBE"] = "\u9B25";
- t["\u2FBF"] = "\u9B2F";
- t["\u2FC0"] = "\u9B32";
- t["\u2FC1"] = "\u9B3C";
- t["\u2FC2"] = "\u9B5A";
- t["\u2FC3"] = "\u9CE5";
- t["\u2FC4"] = "\u9E75";
- t["\u2FC5"] = "\u9E7F";
- t["\u2FC6"] = "\u9EA5";
- t["\u2FC7"] = "\u9EBB";
- t["\u2FC8"] = "\u9EC3";
- t["\u2FC9"] = "\u9ECD";
- t["\u2FCA"] = "\u9ED1";
- t["\u2FCB"] = "\u9EF9";
- t["\u2FCC"] = "\u9EFD";
- t["\u2FCD"] = "\u9F0E";
- t["\u2FCE"] = "\u9F13";
- t["\u2FCF"] = "\u9F20";
- t["\u2FD0"] = "\u9F3B";
- t["\u2FD1"] = "\u9F4A";
- t["\u2FD2"] = "\u9F52";
- t["\u2FD3"] = "\u9F8D";
- t["\u2FD4"] = "\u9F9C";
- t["\u2FD5"] = "\u9FA0";
- t["\u3036"] = "\u3012";
- t["\u3038"] = "\u5341";
- t["\u3039"] = "\u5344";
- t["\u303A"] = "\u5345";
- t["\u309B"] = "\u0020\u3099";
- t["\u309C"] = "\u0020\u309A";
- t["\u3131"] = "\u1100";
- t["\u3132"] = "\u1101";
- t["\u3133"] = "\u11AA";
- t["\u3134"] = "\u1102";
- t["\u3135"] = "\u11AC";
- t["\u3136"] = "\u11AD";
- t["\u3137"] = "\u1103";
- t["\u3138"] = "\u1104";
- t["\u3139"] = "\u1105";
- t["\u313A"] = "\u11B0";
- t["\u313B"] = "\u11B1";
- t["\u313C"] = "\u11B2";
- t["\u313D"] = "\u11B3";
- t["\u313E"] = "\u11B4";
- t["\u313F"] = "\u11B5";
- t["\u3140"] = "\u111A";
- t["\u3141"] = "\u1106";
- t["\u3142"] = "\u1107";
- t["\u3143"] = "\u1108";
- t["\u3144"] = "\u1121";
- t["\u3145"] = "\u1109";
- t["\u3146"] = "\u110A";
- t["\u3147"] = "\u110B";
- t["\u3148"] = "\u110C";
- t["\u3149"] = "\u110D";
- t["\u314A"] = "\u110E";
- t["\u314B"] = "\u110F";
- t["\u314C"] = "\u1110";
- t["\u314D"] = "\u1111";
- t["\u314E"] = "\u1112";
- t["\u314F"] = "\u1161";
- t["\u3150"] = "\u1162";
- t["\u3151"] = "\u1163";
- t["\u3152"] = "\u1164";
- t["\u3153"] = "\u1165";
- t["\u3154"] = "\u1166";
- t["\u3155"] = "\u1167";
- t["\u3156"] = "\u1168";
- t["\u3157"] = "\u1169";
- t["\u3158"] = "\u116A";
- t["\u3159"] = "\u116B";
- t["\u315A"] = "\u116C";
- t["\u315B"] = "\u116D";
- t["\u315C"] = "\u116E";
- t["\u315D"] = "\u116F";
- t["\u315E"] = "\u1170";
- t["\u315F"] = "\u1171";
- t["\u3160"] = "\u1172";
- t["\u3161"] = "\u1173";
- t["\u3162"] = "\u1174";
- t["\u3163"] = "\u1175";
- t["\u3164"] = "\u1160";
- t["\u3165"] = "\u1114";
- t["\u3166"] = "\u1115";
- t["\u3167"] = "\u11C7";
- t["\u3168"] = "\u11C8";
- t["\u3169"] = "\u11CC";
- t["\u316A"] = "\u11CE";
- t["\u316B"] = "\u11D3";
- t["\u316C"] = "\u11D7";
- t["\u316D"] = "\u11D9";
- t["\u316E"] = "\u111C";
- t["\u316F"] = "\u11DD";
- t["\u3170"] = "\u11DF";
- t["\u3171"] = "\u111D";
- t["\u3172"] = "\u111E";
- t["\u3173"] = "\u1120";
- t["\u3174"] = "\u1122";
- t["\u3175"] = "\u1123";
- t["\u3176"] = "\u1127";
- t["\u3177"] = "\u1129";
- t["\u3178"] = "\u112B";
- t["\u3179"] = "\u112C";
- t["\u317A"] = "\u112D";
- t["\u317B"] = "\u112E";
- t["\u317C"] = "\u112F";
- t["\u317D"] = "\u1132";
- t["\u317E"] = "\u1136";
- t["\u317F"] = "\u1140";
- t["\u3180"] = "\u1147";
- t["\u3181"] = "\u114C";
- t["\u3182"] = "\u11F1";
- t["\u3183"] = "\u11F2";
- t["\u3184"] = "\u1157";
- t["\u3185"] = "\u1158";
- t["\u3186"] = "\u1159";
- t["\u3187"] = "\u1184";
- t["\u3188"] = "\u1185";
- t["\u3189"] = "\u1188";
- t["\u318A"] = "\u1191";
- t["\u318B"] = "\u1192";
- t["\u318C"] = "\u1194";
- t["\u318D"] = "\u119E";
- t["\u318E"] = "\u11A1";
- t["\u3200"] = "\u0028\u1100\u0029";
- t["\u3201"] = "\u0028\u1102\u0029";
- t["\u3202"] = "\u0028\u1103\u0029";
- t["\u3203"] = "\u0028\u1105\u0029";
- t["\u3204"] = "\u0028\u1106\u0029";
- t["\u3205"] = "\u0028\u1107\u0029";
- t["\u3206"] = "\u0028\u1109\u0029";
- t["\u3207"] = "\u0028\u110B\u0029";
- t["\u3208"] = "\u0028\u110C\u0029";
- t["\u3209"] = "\u0028\u110E\u0029";
- t["\u320A"] = "\u0028\u110F\u0029";
- t["\u320B"] = "\u0028\u1110\u0029";
- t["\u320C"] = "\u0028\u1111\u0029";
- t["\u320D"] = "\u0028\u1112\u0029";
- t["\u320E"] = "\u0028\u1100\u1161\u0029";
- t["\u320F"] = "\u0028\u1102\u1161\u0029";
- t["\u3210"] = "\u0028\u1103\u1161\u0029";
- t["\u3211"] = "\u0028\u1105\u1161\u0029";
- t["\u3212"] = "\u0028\u1106\u1161\u0029";
- t["\u3213"] = "\u0028\u1107\u1161\u0029";
- t["\u3214"] = "\u0028\u1109\u1161\u0029";
- t["\u3215"] = "\u0028\u110B\u1161\u0029";
- t["\u3216"] = "\u0028\u110C\u1161\u0029";
- t["\u3217"] = "\u0028\u110E\u1161\u0029";
- t["\u3218"] = "\u0028\u110F\u1161\u0029";
- t["\u3219"] = "\u0028\u1110\u1161\u0029";
- t["\u321A"] = "\u0028\u1111\u1161\u0029";
- t["\u321B"] = "\u0028\u1112\u1161\u0029";
- t["\u321C"] = "\u0028\u110C\u116E\u0029";
- t["\u321D"] = "\u0028\u110B\u1169\u110C\u1165\u11AB\u0029";
- t["\u321E"] = "\u0028\u110B\u1169\u1112\u116E\u0029";
- t["\u3220"] = "\u0028\u4E00\u0029";
- t["\u3221"] = "\u0028\u4E8C\u0029";
- t["\u3222"] = "\u0028\u4E09\u0029";
- t["\u3223"] = "\u0028\u56DB\u0029";
- t["\u3224"] = "\u0028\u4E94\u0029";
- t["\u3225"] = "\u0028\u516D\u0029";
- t["\u3226"] = "\u0028\u4E03\u0029";
- t["\u3227"] = "\u0028\u516B\u0029";
- t["\u3228"] = "\u0028\u4E5D\u0029";
- t["\u3229"] = "\u0028\u5341\u0029";
- t["\u322A"] = "\u0028\u6708\u0029";
- t["\u322B"] = "\u0028\u706B\u0029";
- t["\u322C"] = "\u0028\u6C34\u0029";
- t["\u322D"] = "\u0028\u6728\u0029";
- t["\u322E"] = "\u0028\u91D1\u0029";
- t["\u322F"] = "\u0028\u571F\u0029";
- t["\u3230"] = "\u0028\u65E5\u0029";
- t["\u3231"] = "\u0028\u682A\u0029";
- t["\u3232"] = "\u0028\u6709\u0029";
- t["\u3233"] = "\u0028\u793E\u0029";
- t["\u3234"] = "\u0028\u540D\u0029";
- t["\u3235"] = "\u0028\u7279\u0029";
- t["\u3236"] = "\u0028\u8CA1\u0029";
- t["\u3237"] = "\u0028\u795D\u0029";
- t["\u3238"] = "\u0028\u52B4\u0029";
- t["\u3239"] = "\u0028\u4EE3\u0029";
- t["\u323A"] = "\u0028\u547C\u0029";
- t["\u323B"] = "\u0028\u5B66\u0029";
- t["\u323C"] = "\u0028\u76E3\u0029";
- t["\u323D"] = "\u0028\u4F01\u0029";
- t["\u323E"] = "\u0028\u8CC7\u0029";
- t["\u323F"] = "\u0028\u5354\u0029";
- t["\u3240"] = "\u0028\u796D\u0029";
- t["\u3241"] = "\u0028\u4F11\u0029";
- t["\u3242"] = "\u0028\u81EA\u0029";
- t["\u3243"] = "\u0028\u81F3\u0029";
- t["\u32C0"] = "\u0031\u6708";
- t["\u32C1"] = "\u0032\u6708";
- t["\u32C2"] = "\u0033\u6708";
- t["\u32C3"] = "\u0034\u6708";
- t["\u32C4"] = "\u0035\u6708";
- t["\u32C5"] = "\u0036\u6708";
- t["\u32C6"] = "\u0037\u6708";
- t["\u32C7"] = "\u0038\u6708";
- t["\u32C8"] = "\u0039\u6708";
- t["\u32C9"] = "\u0031\u0030\u6708";
- t["\u32CA"] = "\u0031\u0031\u6708";
- t["\u32CB"] = "\u0031\u0032\u6708";
- t["\u3358"] = "\u0030\u70B9";
- t["\u3359"] = "\u0031\u70B9";
- t["\u335A"] = "\u0032\u70B9";
- t["\u335B"] = "\u0033\u70B9";
- t["\u335C"] = "\u0034\u70B9";
- t["\u335D"] = "\u0035\u70B9";
- t["\u335E"] = "\u0036\u70B9";
- t["\u335F"] = "\u0037\u70B9";
- t["\u3360"] = "\u0038\u70B9";
- t["\u3361"] = "\u0039\u70B9";
- t["\u3362"] = "\u0031\u0030\u70B9";
- t["\u3363"] = "\u0031\u0031\u70B9";
- t["\u3364"] = "\u0031\u0032\u70B9";
- t["\u3365"] = "\u0031\u0033\u70B9";
- t["\u3366"] = "\u0031\u0034\u70B9";
- t["\u3367"] = "\u0031\u0035\u70B9";
- t["\u3368"] = "\u0031\u0036\u70B9";
- t["\u3369"] = "\u0031\u0037\u70B9";
- t["\u336A"] = "\u0031\u0038\u70B9";
- t["\u336B"] = "\u0031\u0039\u70B9";
- t["\u336C"] = "\u0032\u0030\u70B9";
- t["\u336D"] = "\u0032\u0031\u70B9";
- t["\u336E"] = "\u0032\u0032\u70B9";
- t["\u336F"] = "\u0032\u0033\u70B9";
- t["\u3370"] = "\u0032\u0034\u70B9";
- t["\u33E0"] = "\u0031\u65E5";
- t["\u33E1"] = "\u0032\u65E5";
- t["\u33E2"] = "\u0033\u65E5";
- t["\u33E3"] = "\u0034\u65E5";
- t["\u33E4"] = "\u0035\u65E5";
- t["\u33E5"] = "\u0036\u65E5";
- t["\u33E6"] = "\u0037\u65E5";
- t["\u33E7"] = "\u0038\u65E5";
- t["\u33E8"] = "\u0039\u65E5";
- t["\u33E9"] = "\u0031\u0030\u65E5";
- t["\u33EA"] = "\u0031\u0031\u65E5";
- t["\u33EB"] = "\u0031\u0032\u65E5";
- t["\u33EC"] = "\u0031\u0033\u65E5";
- t["\u33ED"] = "\u0031\u0034\u65E5";
- t["\u33EE"] = "\u0031\u0035\u65E5";
- t["\u33EF"] = "\u0031\u0036\u65E5";
- t["\u33F0"] = "\u0031\u0037\u65E5";
- t["\u33F1"] = "\u0031\u0038\u65E5";
- t["\u33F2"] = "\u0031\u0039\u65E5";
- t["\u33F3"] = "\u0032\u0030\u65E5";
- t["\u33F4"] = "\u0032\u0031\u65E5";
- t["\u33F5"] = "\u0032\u0032\u65E5";
- t["\u33F6"] = "\u0032\u0033\u65E5";
- t["\u33F7"] = "\u0032\u0034\u65E5";
- t["\u33F8"] = "\u0032\u0035\u65E5";
- t["\u33F9"] = "\u0032\u0036\u65E5";
- t["\u33FA"] = "\u0032\u0037\u65E5";
- t["\u33FB"] = "\u0032\u0038\u65E5";
- t["\u33FC"] = "\u0032\u0039\u65E5";
- t["\u33FD"] = "\u0033\u0030\u65E5";
- t["\u33FE"] = "\u0033\u0031\u65E5";
- t["\uFB00"] = "\u0066\u0066";
- t["\uFB01"] = "\u0066\u0069";
- t["\uFB02"] = "\u0066\u006C";
- t["\uFB03"] = "\u0066\u0066\u0069";
- t["\uFB04"] = "\u0066\u0066\u006C";
- t["\uFB05"] = "\u017F\u0074";
- t["\uFB06"] = "\u0073\u0074";
- t["\uFB13"] = "\u0574\u0576";
- t["\uFB14"] = "\u0574\u0565";
- t["\uFB15"] = "\u0574\u056B";
- t["\uFB16"] = "\u057E\u0576";
- t["\uFB17"] = "\u0574\u056D";
- t["\uFB4F"] = "\u05D0\u05DC";
- t["\uFB50"] = "\u0671";
- t["\uFB51"] = "\u0671";
- t["\uFB52"] = "\u067B";
- t["\uFB53"] = "\u067B";
- t["\uFB54"] = "\u067B";
- t["\uFB55"] = "\u067B";
- t["\uFB56"] = "\u067E";
- t["\uFB57"] = "\u067E";
- t["\uFB58"] = "\u067E";
- t["\uFB59"] = "\u067E";
- t["\uFB5A"] = "\u0680";
- t["\uFB5B"] = "\u0680";
- t["\uFB5C"] = "\u0680";
- t["\uFB5D"] = "\u0680";
- t["\uFB5E"] = "\u067A";
- t["\uFB5F"] = "\u067A";
- t["\uFB60"] = "\u067A";
- t["\uFB61"] = "\u067A";
- t["\uFB62"] = "\u067F";
- t["\uFB63"] = "\u067F";
- t["\uFB64"] = "\u067F";
- t["\uFB65"] = "\u067F";
- t["\uFB66"] = "\u0679";
- t["\uFB67"] = "\u0679";
- t["\uFB68"] = "\u0679";
- t["\uFB69"] = "\u0679";
- t["\uFB6A"] = "\u06A4";
- t["\uFB6B"] = "\u06A4";
- t["\uFB6C"] = "\u06A4";
- t["\uFB6D"] = "\u06A4";
- t["\uFB6E"] = "\u06A6";
- t["\uFB6F"] = "\u06A6";
- t["\uFB70"] = "\u06A6";
- t["\uFB71"] = "\u06A6";
- t["\uFB72"] = "\u0684";
- t["\uFB73"] = "\u0684";
- t["\uFB74"] = "\u0684";
- t["\uFB75"] = "\u0684";
- t["\uFB76"] = "\u0683";
- t["\uFB77"] = "\u0683";
- t["\uFB78"] = "\u0683";
- t["\uFB79"] = "\u0683";
- t["\uFB7A"] = "\u0686";
- t["\uFB7B"] = "\u0686";
- t["\uFB7C"] = "\u0686";
- t["\uFB7D"] = "\u0686";
- t["\uFB7E"] = "\u0687";
- t["\uFB7F"] = "\u0687";
- t["\uFB80"] = "\u0687";
- t["\uFB81"] = "\u0687";
- t["\uFB82"] = "\u068D";
- t["\uFB83"] = "\u068D";
- t["\uFB84"] = "\u068C";
- t["\uFB85"] = "\u068C";
- t["\uFB86"] = "\u068E";
- t["\uFB87"] = "\u068E";
- t["\uFB88"] = "\u0688";
- t["\uFB89"] = "\u0688";
- t["\uFB8A"] = "\u0698";
- t["\uFB8B"] = "\u0698";
- t["\uFB8C"] = "\u0691";
- t["\uFB8D"] = "\u0691";
- t["\uFB8E"] = "\u06A9";
- t["\uFB8F"] = "\u06A9";
- t["\uFB90"] = "\u06A9";
- t["\uFB91"] = "\u06A9";
- t["\uFB92"] = "\u06AF";
- t["\uFB93"] = "\u06AF";
- t["\uFB94"] = "\u06AF";
- t["\uFB95"] = "\u06AF";
- t["\uFB96"] = "\u06B3";
- t["\uFB97"] = "\u06B3";
- t["\uFB98"] = "\u06B3";
- t["\uFB99"] = "\u06B3";
- t["\uFB9A"] = "\u06B1";
- t["\uFB9B"] = "\u06B1";
- t["\uFB9C"] = "\u06B1";
- t["\uFB9D"] = "\u06B1";
- t["\uFB9E"] = "\u06BA";
- t["\uFB9F"] = "\u06BA";
- t["\uFBA0"] = "\u06BB";
- t["\uFBA1"] = "\u06BB";
- t["\uFBA2"] = "\u06BB";
- t["\uFBA3"] = "\u06BB";
- t["\uFBA4"] = "\u06C0";
- t["\uFBA5"] = "\u06C0";
- t["\uFBA6"] = "\u06C1";
- t["\uFBA7"] = "\u06C1";
- t["\uFBA8"] = "\u06C1";
- t["\uFBA9"] = "\u06C1";
- t["\uFBAA"] = "\u06BE";
- t["\uFBAB"] = "\u06BE";
- t["\uFBAC"] = "\u06BE";
- t["\uFBAD"] = "\u06BE";
- t["\uFBAE"] = "\u06D2";
- t["\uFBAF"] = "\u06D2";
- t["\uFBB0"] = "\u06D3";
- t["\uFBB1"] = "\u06D3";
- t["\uFBD3"] = "\u06AD";
- t["\uFBD4"] = "\u06AD";
- t["\uFBD5"] = "\u06AD";
- t["\uFBD6"] = "\u06AD";
- t["\uFBD7"] = "\u06C7";
- t["\uFBD8"] = "\u06C7";
- t["\uFBD9"] = "\u06C6";
- t["\uFBDA"] = "\u06C6";
- t["\uFBDB"] = "\u06C8";
- t["\uFBDC"] = "\u06C8";
- t["\uFBDD"] = "\u0677";
- t["\uFBDE"] = "\u06CB";
- t["\uFBDF"] = "\u06CB";
- t["\uFBE0"] = "\u06C5";
- t["\uFBE1"] = "\u06C5";
- t["\uFBE2"] = "\u06C9";
- t["\uFBE3"] = "\u06C9";
- t["\uFBE4"] = "\u06D0";
- t["\uFBE5"] = "\u06D0";
- t["\uFBE6"] = "\u06D0";
- t["\uFBE7"] = "\u06D0";
- t["\uFBE8"] = "\u0649";
- t["\uFBE9"] = "\u0649";
- t["\uFBEA"] = "\u0626\u0627";
- t["\uFBEB"] = "\u0626\u0627";
- t["\uFBEC"] = "\u0626\u06D5";
- t["\uFBED"] = "\u0626\u06D5";
- t["\uFBEE"] = "\u0626\u0648";
- t["\uFBEF"] = "\u0626\u0648";
- t["\uFBF0"] = "\u0626\u06C7";
- t["\uFBF1"] = "\u0626\u06C7";
- t["\uFBF2"] = "\u0626\u06C6";
- t["\uFBF3"] = "\u0626\u06C6";
- t["\uFBF4"] = "\u0626\u06C8";
- t["\uFBF5"] = "\u0626\u06C8";
- t["\uFBF6"] = "\u0626\u06D0";
- t["\uFBF7"] = "\u0626\u06D0";
- t["\uFBF8"] = "\u0626\u06D0";
- t["\uFBF9"] = "\u0626\u0649";
- t["\uFBFA"] = "\u0626\u0649";
- t["\uFBFB"] = "\u0626\u0649";
- t["\uFBFC"] = "\u06CC";
- t["\uFBFD"] = "\u06CC";
- t["\uFBFE"] = "\u06CC";
- t["\uFBFF"] = "\u06CC";
- t["\uFC00"] = "\u0626\u062C";
- t["\uFC01"] = "\u0626\u062D";
- t["\uFC02"] = "\u0626\u0645";
- t["\uFC03"] = "\u0626\u0649";
- t["\uFC04"] = "\u0626\u064A";
- t["\uFC05"] = "\u0628\u062C";
- t["\uFC06"] = "\u0628\u062D";
- t["\uFC07"] = "\u0628\u062E";
- t["\uFC08"] = "\u0628\u0645";
- t["\uFC09"] = "\u0628\u0649";
- t["\uFC0A"] = "\u0628\u064A";
- t["\uFC0B"] = "\u062A\u062C";
- t["\uFC0C"] = "\u062A\u062D";
- t["\uFC0D"] = "\u062A\u062E";
- t["\uFC0E"] = "\u062A\u0645";
- t["\uFC0F"] = "\u062A\u0649";
- t["\uFC10"] = "\u062A\u064A";
- t["\uFC11"] = "\u062B\u062C";
- t["\uFC12"] = "\u062B\u0645";
- t["\uFC13"] = "\u062B\u0649";
- t["\uFC14"] = "\u062B\u064A";
- t["\uFC15"] = "\u062C\u062D";
- t["\uFC16"] = "\u062C\u0645";
- t["\uFC17"] = "\u062D\u062C";
- t["\uFC18"] = "\u062D\u0645";
- t["\uFC19"] = "\u062E\u062C";
- t["\uFC1A"] = "\u062E\u062D";
- t["\uFC1B"] = "\u062E\u0645";
- t["\uFC1C"] = "\u0633\u062C";
- t["\uFC1D"] = "\u0633\u062D";
- t["\uFC1E"] = "\u0633\u062E";
- t["\uFC1F"] = "\u0633\u0645";
- t["\uFC20"] = "\u0635\u062D";
- t["\uFC21"] = "\u0635\u0645";
- t["\uFC22"] = "\u0636\u062C";
- t["\uFC23"] = "\u0636\u062D";
- t["\uFC24"] = "\u0636\u062E";
- t["\uFC25"] = "\u0636\u0645";
- t["\uFC26"] = "\u0637\u062D";
- t["\uFC27"] = "\u0637\u0645";
- t["\uFC28"] = "\u0638\u0645";
- t["\uFC29"] = "\u0639\u062C";
- t["\uFC2A"] = "\u0639\u0645";
- t["\uFC2B"] = "\u063A\u062C";
- t["\uFC2C"] = "\u063A\u0645";
- t["\uFC2D"] = "\u0641\u062C";
- t["\uFC2E"] = "\u0641\u062D";
- t["\uFC2F"] = "\u0641\u062E";
- t["\uFC30"] = "\u0641\u0645";
- t["\uFC31"] = "\u0641\u0649";
- t["\uFC32"] = "\u0641\u064A";
- t["\uFC33"] = "\u0642\u062D";
- t["\uFC34"] = "\u0642\u0645";
- t["\uFC35"] = "\u0642\u0649";
- t["\uFC36"] = "\u0642\u064A";
- t["\uFC37"] = "\u0643\u0627";
- t["\uFC38"] = "\u0643\u062C";
- t["\uFC39"] = "\u0643\u062D";
- t["\uFC3A"] = "\u0643\u062E";
- t["\uFC3B"] = "\u0643\u0644";
- t["\uFC3C"] = "\u0643\u0645";
- t["\uFC3D"] = "\u0643\u0649";
- t["\uFC3E"] = "\u0643\u064A";
- t["\uFC3F"] = "\u0644\u062C";
- t["\uFC40"] = "\u0644\u062D";
- t["\uFC41"] = "\u0644\u062E";
- t["\uFC42"] = "\u0644\u0645";
- t["\uFC43"] = "\u0644\u0649";
- t["\uFC44"] = "\u0644\u064A";
- t["\uFC45"] = "\u0645\u062C";
- t["\uFC46"] = "\u0645\u062D";
- t["\uFC47"] = "\u0645\u062E";
- t["\uFC48"] = "\u0645\u0645";
- t["\uFC49"] = "\u0645\u0649";
- t["\uFC4A"] = "\u0645\u064A";
- t["\uFC4B"] = "\u0646\u062C";
- t["\uFC4C"] = "\u0646\u062D";
- t["\uFC4D"] = "\u0646\u062E";
- t["\uFC4E"] = "\u0646\u0645";
- t["\uFC4F"] = "\u0646\u0649";
- t["\uFC50"] = "\u0646\u064A";
- t["\uFC51"] = "\u0647\u062C";
- t["\uFC52"] = "\u0647\u0645";
- t["\uFC53"] = "\u0647\u0649";
- t["\uFC54"] = "\u0647\u064A";
- t["\uFC55"] = "\u064A\u062C";
- t["\uFC56"] = "\u064A\u062D";
- t["\uFC57"] = "\u064A\u062E";
- t["\uFC58"] = "\u064A\u0645";
- t["\uFC59"] = "\u064A\u0649";
- t["\uFC5A"] = "\u064A\u064A";
- t["\uFC5B"] = "\u0630\u0670";
- t["\uFC5C"] = "\u0631\u0670";
- t["\uFC5D"] = "\u0649\u0670";
- t["\uFC5E"] = "\u0020\u064C\u0651";
- t["\uFC5F"] = "\u0020\u064D\u0651";
- t["\uFC60"] = "\u0020\u064E\u0651";
- t["\uFC61"] = "\u0020\u064F\u0651";
- t["\uFC62"] = "\u0020\u0650\u0651";
- t["\uFC63"] = "\u0020\u0651\u0670";
- t["\uFC64"] = "\u0626\u0631";
- t["\uFC65"] = "\u0626\u0632";
- t["\uFC66"] = "\u0626\u0645";
- t["\uFC67"] = "\u0626\u0646";
- t["\uFC68"] = "\u0626\u0649";
- t["\uFC69"] = "\u0626\u064A";
- t["\uFC6A"] = "\u0628\u0631";
- t["\uFC6B"] = "\u0628\u0632";
- t["\uFC6C"] = "\u0628\u0645";
- t["\uFC6D"] = "\u0628\u0646";
- t["\uFC6E"] = "\u0628\u0649";
- t["\uFC6F"] = "\u0628\u064A";
- t["\uFC70"] = "\u062A\u0631";
- t["\uFC71"] = "\u062A\u0632";
- t["\uFC72"] = "\u062A\u0645";
- t["\uFC73"] = "\u062A\u0646";
- t["\uFC74"] = "\u062A\u0649";
- t["\uFC75"] = "\u062A\u064A";
- t["\uFC76"] = "\u062B\u0631";
- t["\uFC77"] = "\u062B\u0632";
- t["\uFC78"] = "\u062B\u0645";
- t["\uFC79"] = "\u062B\u0646";
- t["\uFC7A"] = "\u062B\u0649";
- t["\uFC7B"] = "\u062B\u064A";
- t["\uFC7C"] = "\u0641\u0649";
- t["\uFC7D"] = "\u0641\u064A";
- t["\uFC7E"] = "\u0642\u0649";
- t["\uFC7F"] = "\u0642\u064A";
- t["\uFC80"] = "\u0643\u0627";
- t["\uFC81"] = "\u0643\u0644";
- t["\uFC82"] = "\u0643\u0645";
- t["\uFC83"] = "\u0643\u0649";
- t["\uFC84"] = "\u0643\u064A";
- t["\uFC85"] = "\u0644\u0645";
- t["\uFC86"] = "\u0644\u0649";
- t["\uFC87"] = "\u0644\u064A";
- t["\uFC88"] = "\u0645\u0627";
- t["\uFC89"] = "\u0645\u0645";
- t["\uFC8A"] = "\u0646\u0631";
- t["\uFC8B"] = "\u0646\u0632";
- t["\uFC8C"] = "\u0646\u0645";
- t["\uFC8D"] = "\u0646\u0646";
- t["\uFC8E"] = "\u0646\u0649";
- t["\uFC8F"] = "\u0646\u064A";
- t["\uFC90"] = "\u0649\u0670";
- t["\uFC91"] = "\u064A\u0631";
- t["\uFC92"] = "\u064A\u0632";
- t["\uFC93"] = "\u064A\u0645";
- t["\uFC94"] = "\u064A\u0646";
- t["\uFC95"] = "\u064A\u0649";
- t["\uFC96"] = "\u064A\u064A";
- t["\uFC97"] = "\u0626\u062C";
- t["\uFC98"] = "\u0626\u062D";
- t["\uFC99"] = "\u0626\u062E";
- t["\uFC9A"] = "\u0626\u0645";
- t["\uFC9B"] = "\u0626\u0647";
- t["\uFC9C"] = "\u0628\u062C";
- t["\uFC9D"] = "\u0628\u062D";
- t["\uFC9E"] = "\u0628\u062E";
- t["\uFC9F"] = "\u0628\u0645";
- t["\uFCA0"] = "\u0628\u0647";
- t["\uFCA1"] = "\u062A\u062C";
- t["\uFCA2"] = "\u062A\u062D";
- t["\uFCA3"] = "\u062A\u062E";
- t["\uFCA4"] = "\u062A\u0645";
- t["\uFCA5"] = "\u062A\u0647";
- t["\uFCA6"] = "\u062B\u0645";
- t["\uFCA7"] = "\u062C\u062D";
- t["\uFCA8"] = "\u062C\u0645";
- t["\uFCA9"] = "\u062D\u062C";
- t["\uFCAA"] = "\u062D\u0645";
- t["\uFCAB"] = "\u062E\u062C";
- t["\uFCAC"] = "\u062E\u0645";
- t["\uFCAD"] = "\u0633\u062C";
- t["\uFCAE"] = "\u0633\u062D";
- t["\uFCAF"] = "\u0633\u062E";
- t["\uFCB0"] = "\u0633\u0645";
- t["\uFCB1"] = "\u0635\u062D";
- t["\uFCB2"] = "\u0635\u062E";
- t["\uFCB3"] = "\u0635\u0645";
- t["\uFCB4"] = "\u0636\u062C";
- t["\uFCB5"] = "\u0636\u062D";
- t["\uFCB6"] = "\u0636\u062E";
- t["\uFCB7"] = "\u0636\u0645";
- t["\uFCB8"] = "\u0637\u062D";
- t["\uFCB9"] = "\u0638\u0645";
- t["\uFCBA"] = "\u0639\u062C";
- t["\uFCBB"] = "\u0639\u0645";
- t["\uFCBC"] = "\u063A\u062C";
- t["\uFCBD"] = "\u063A\u0645";
- t["\uFCBE"] = "\u0641\u062C";
- t["\uFCBF"] = "\u0641\u062D";
- t["\uFCC0"] = "\u0641\u062E";
- t["\uFCC1"] = "\u0641\u0645";
- t["\uFCC2"] = "\u0642\u062D";
- t["\uFCC3"] = "\u0642\u0645";
- t["\uFCC4"] = "\u0643\u062C";
- t["\uFCC5"] = "\u0643\u062D";
- t["\uFCC6"] = "\u0643\u062E";
- t["\uFCC7"] = "\u0643\u0644";
- t["\uFCC8"] = "\u0643\u0645";
- t["\uFCC9"] = "\u0644\u062C";
- t["\uFCCA"] = "\u0644\u062D";
- t["\uFCCB"] = "\u0644\u062E";
- t["\uFCCC"] = "\u0644\u0645";
- t["\uFCCD"] = "\u0644\u0647";
- t["\uFCCE"] = "\u0645\u062C";
- t["\uFCCF"] = "\u0645\u062D";
- t["\uFCD0"] = "\u0645\u062E";
- t["\uFCD1"] = "\u0645\u0645";
- t["\uFCD2"] = "\u0646\u062C";
- t["\uFCD3"] = "\u0646\u062D";
- t["\uFCD4"] = "\u0646\u062E";
- t["\uFCD5"] = "\u0646\u0645";
- t["\uFCD6"] = "\u0646\u0647";
- t["\uFCD7"] = "\u0647\u062C";
- t["\uFCD8"] = "\u0647\u0645";
- t["\uFCD9"] = "\u0647\u0670";
- t["\uFCDA"] = "\u064A\u062C";
- t["\uFCDB"] = "\u064A\u062D";
- t["\uFCDC"] = "\u064A\u062E";
- t["\uFCDD"] = "\u064A\u0645";
- t["\uFCDE"] = "\u064A\u0647";
- t["\uFCDF"] = "\u0626\u0645";
- t["\uFCE0"] = "\u0626\u0647";
- t["\uFCE1"] = "\u0628\u0645";
- t["\uFCE2"] = "\u0628\u0647";
- t["\uFCE3"] = "\u062A\u0645";
- t["\uFCE4"] = "\u062A\u0647";
- t["\uFCE5"] = "\u062B\u0645";
- t["\uFCE6"] = "\u062B\u0647";
- t["\uFCE7"] = "\u0633\u0645";
- t["\uFCE8"] = "\u0633\u0647";
- t["\uFCE9"] = "\u0634\u0645";
- t["\uFCEA"] = "\u0634\u0647";
- t["\uFCEB"] = "\u0643\u0644";
- t["\uFCEC"] = "\u0643\u0645";
- t["\uFCED"] = "\u0644\u0645";
- t["\uFCEE"] = "\u0646\u0645";
- t["\uFCEF"] = "\u0646\u0647";
- t["\uFCF0"] = "\u064A\u0645";
- t["\uFCF1"] = "\u064A\u0647";
- t["\uFCF2"] = "\u0640\u064E\u0651";
- t["\uFCF3"] = "\u0640\u064F\u0651";
- t["\uFCF4"] = "\u0640\u0650\u0651";
- t["\uFCF5"] = "\u0637\u0649";
- t["\uFCF6"] = "\u0637\u064A";
- t["\uFCF7"] = "\u0639\u0649";
- t["\uFCF8"] = "\u0639\u064A";
- t["\uFCF9"] = "\u063A\u0649";
- t["\uFCFA"] = "\u063A\u064A";
- t["\uFCFB"] = "\u0633\u0649";
- t["\uFCFC"] = "\u0633\u064A";
- t["\uFCFD"] = "\u0634\u0649";
- t["\uFCFE"] = "\u0634\u064A";
- t["\uFCFF"] = "\u062D\u0649";
- t["\uFD00"] = "\u062D\u064A";
- t["\uFD01"] = "\u062C\u0649";
- t["\uFD02"] = "\u062C\u064A";
- t["\uFD03"] = "\u062E\u0649";
- t["\uFD04"] = "\u062E\u064A";
- t["\uFD05"] = "\u0635\u0649";
- t["\uFD06"] = "\u0635\u064A";
- t["\uFD07"] = "\u0636\u0649";
- t["\uFD08"] = "\u0636\u064A";
- t["\uFD09"] = "\u0634\u062C";
- t["\uFD0A"] = "\u0634\u062D";
- t["\uFD0B"] = "\u0634\u062E";
- t["\uFD0C"] = "\u0634\u0645";
- t["\uFD0D"] = "\u0634\u0631";
- t["\uFD0E"] = "\u0633\u0631";
- t["\uFD0F"] = "\u0635\u0631";
- t["\uFD10"] = "\u0636\u0631";
- t["\uFD11"] = "\u0637\u0649";
- t["\uFD12"] = "\u0637\u064A";
- t["\uFD13"] = "\u0639\u0649";
- t["\uFD14"] = "\u0639\u064A";
- t["\uFD15"] = "\u063A\u0649";
- t["\uFD16"] = "\u063A\u064A";
- t["\uFD17"] = "\u0633\u0649";
- t["\uFD18"] = "\u0633\u064A";
- t["\uFD19"] = "\u0634\u0649";
- t["\uFD1A"] = "\u0634\u064A";
- t["\uFD1B"] = "\u062D\u0649";
- t["\uFD1C"] = "\u062D\u064A";
- t["\uFD1D"] = "\u062C\u0649";
- t["\uFD1E"] = "\u062C\u064A";
- t["\uFD1F"] = "\u062E\u0649";
- t["\uFD20"] = "\u062E\u064A";
- t["\uFD21"] = "\u0635\u0649";
- t["\uFD22"] = "\u0635\u064A";
- t["\uFD23"] = "\u0636\u0649";
- t["\uFD24"] = "\u0636\u064A";
- t["\uFD25"] = "\u0634\u062C";
- t["\uFD26"] = "\u0634\u062D";
- t["\uFD27"] = "\u0634\u062E";
- t["\uFD28"] = "\u0634\u0645";
- t["\uFD29"] = "\u0634\u0631";
- t["\uFD2A"] = "\u0633\u0631";
- t["\uFD2B"] = "\u0635\u0631";
- t["\uFD2C"] = "\u0636\u0631";
- t["\uFD2D"] = "\u0634\u062C";
- t["\uFD2E"] = "\u0634\u062D";
- t["\uFD2F"] = "\u0634\u062E";
- t["\uFD30"] = "\u0634\u0645";
- t["\uFD31"] = "\u0633\u0647";
- t["\uFD32"] = "\u0634\u0647";
- t["\uFD33"] = "\u0637\u0645";
- t["\uFD34"] = "\u0633\u062C";
- t["\uFD35"] = "\u0633\u062D";
- t["\uFD36"] = "\u0633\u062E";
- t["\uFD37"] = "\u0634\u062C";
- t["\uFD38"] = "\u0634\u062D";
- t["\uFD39"] = "\u0634\u062E";
- t["\uFD3A"] = "\u0637\u0645";
- t["\uFD3B"] = "\u0638\u0645";
- t["\uFD3C"] = "\u0627\u064B";
- t["\uFD3D"] = "\u0627\u064B";
- t["\uFD50"] = "\u062A\u062C\u0645";
- t["\uFD51"] = "\u062A\u062D\u062C";
- t["\uFD52"] = "\u062A\u062D\u062C";
- t["\uFD53"] = "\u062A\u062D\u0645";
- t["\uFD54"] = "\u062A\u062E\u0645";
- t["\uFD55"] = "\u062A\u0645\u062C";
- t["\uFD56"] = "\u062A\u0645\u062D";
- t["\uFD57"] = "\u062A\u0645\u062E";
- t["\uFD58"] = "\u062C\u0645\u062D";
- t["\uFD59"] = "\u062C\u0645\u062D";
- t["\uFD5A"] = "\u062D\u0645\u064A";
- t["\uFD5B"] = "\u062D\u0645\u0649";
- t["\uFD5C"] = "\u0633\u062D\u062C";
- t["\uFD5D"] = "\u0633\u062C\u062D";
- t["\uFD5E"] = "\u0633\u062C\u0649";
- t["\uFD5F"] = "\u0633\u0645\u062D";
- t["\uFD60"] = "\u0633\u0645\u062D";
- t["\uFD61"] = "\u0633\u0645\u062C";
- t["\uFD62"] = "\u0633\u0645\u0645";
- t["\uFD63"] = "\u0633\u0645\u0645";
- t["\uFD64"] = "\u0635\u062D\u062D";
- t["\uFD65"] = "\u0635\u062D\u062D";
- t["\uFD66"] = "\u0635\u0645\u0645";
- t["\uFD67"] = "\u0634\u062D\u0645";
- t["\uFD68"] = "\u0634\u062D\u0645";
- t["\uFD69"] = "\u0634\u062C\u064A";
- t["\uFD6A"] = "\u0634\u0645\u062E";
- t["\uFD6B"] = "\u0634\u0645\u062E";
- t["\uFD6C"] = "\u0634\u0645\u0645";
- t["\uFD6D"] = "\u0634\u0645\u0645";
- t["\uFD6E"] = "\u0636\u062D\u0649";
- t["\uFD6F"] = "\u0636\u062E\u0645";
- t["\uFD70"] = "\u0636\u062E\u0645";
- t["\uFD71"] = "\u0637\u0645\u062D";
- t["\uFD72"] = "\u0637\u0645\u062D";
- t["\uFD73"] = "\u0637\u0645\u0645";
- t["\uFD74"] = "\u0637\u0645\u064A";
- t["\uFD75"] = "\u0639\u062C\u0645";
- t["\uFD76"] = "\u0639\u0645\u0645";
- t["\uFD77"] = "\u0639\u0645\u0645";
- t["\uFD78"] = "\u0639\u0645\u0649";
- t["\uFD79"] = "\u063A\u0645\u0645";
- t["\uFD7A"] = "\u063A\u0645\u064A";
- t["\uFD7B"] = "\u063A\u0645\u0649";
- t["\uFD7C"] = "\u0641\u062E\u0645";
- t["\uFD7D"] = "\u0641\u062E\u0645";
- t["\uFD7E"] = "\u0642\u0645\u062D";
- t["\uFD7F"] = "\u0642\u0645\u0645";
- t["\uFD80"] = "\u0644\u062D\u0645";
- t["\uFD81"] = "\u0644\u062D\u064A";
- t["\uFD82"] = "\u0644\u062D\u0649";
- t["\uFD83"] = "\u0644\u062C\u062C";
- t["\uFD84"] = "\u0644\u062C\u062C";
- t["\uFD85"] = "\u0644\u062E\u0645";
- t["\uFD86"] = "\u0644\u062E\u0645";
- t["\uFD87"] = "\u0644\u0645\u062D";
- t["\uFD88"] = "\u0644\u0645\u062D";
- t["\uFD89"] = "\u0645\u062D\u062C";
- t["\uFD8A"] = "\u0645\u062D\u0645";
- t["\uFD8B"] = "\u0645\u062D\u064A";
- t["\uFD8C"] = "\u0645\u062C\u062D";
- t["\uFD8D"] = "\u0645\u062C\u0645";
- t["\uFD8E"] = "\u0645\u062E\u062C";
- t["\uFD8F"] = "\u0645\u062E\u0645";
- t["\uFD92"] = "\u0645\u062C\u062E";
- t["\uFD93"] = "\u0647\u0645\u062C";
- t["\uFD94"] = "\u0647\u0645\u0645";
- t["\uFD95"] = "\u0646\u062D\u0645";
- t["\uFD96"] = "\u0646\u062D\u0649";
- t["\uFD97"] = "\u0646\u062C\u0645";
- t["\uFD98"] = "\u0646\u062C\u0645";
- t["\uFD99"] = "\u0646\u062C\u0649";
- t["\uFD9A"] = "\u0646\u0645\u064A";
- t["\uFD9B"] = "\u0646\u0645\u0649";
- t["\uFD9C"] = "\u064A\u0645\u0645";
- t["\uFD9D"] = "\u064A\u0645\u0645";
- t["\uFD9E"] = "\u0628\u062E\u064A";
- t["\uFD9F"] = "\u062A\u062C\u064A";
- t["\uFDA0"] = "\u062A\u062C\u0649";
- t["\uFDA1"] = "\u062A\u062E\u064A";
- t["\uFDA2"] = "\u062A\u062E\u0649";
- t["\uFDA3"] = "\u062A\u0645\u064A";
- t["\uFDA4"] = "\u062A\u0645\u0649";
- t["\uFDA5"] = "\u062C\u0645\u064A";
- t["\uFDA6"] = "\u062C\u062D\u0649";
- t["\uFDA7"] = "\u062C\u0645\u0649";
- t["\uFDA8"] = "\u0633\u062E\u0649";
- t["\uFDA9"] = "\u0635\u062D\u064A";
- t["\uFDAA"] = "\u0634\u062D\u064A";
- t["\uFDAB"] = "\u0636\u062D\u064A";
- t["\uFDAC"] = "\u0644\u062C\u064A";
- t["\uFDAD"] = "\u0644\u0645\u064A";
- t["\uFDAE"] = "\u064A\u062D\u064A";
- t["\uFDAF"] = "\u064A\u062C\u064A";
- t["\uFDB0"] = "\u064A\u0645\u064A";
- t["\uFDB1"] = "\u0645\u0645\u064A";
- t["\uFDB2"] = "\u0642\u0645\u064A";
- t["\uFDB3"] = "\u0646\u062D\u064A";
- t["\uFDB4"] = "\u0642\u0645\u062D";
- t["\uFDB5"] = "\u0644\u062D\u0645";
- t["\uFDB6"] = "\u0639\u0645\u064A";
- t["\uFDB7"] = "\u0643\u0645\u064A";
- t["\uFDB8"] = "\u0646\u062C\u062D";
- t["\uFDB9"] = "\u0645\u062E\u064A";
- t["\uFDBA"] = "\u0644\u062C\u0645";
- t["\uFDBB"] = "\u0643\u0645\u0645";
- t["\uFDBC"] = "\u0644\u062C\u0645";
- t["\uFDBD"] = "\u0646\u062C\u062D";
- t["\uFDBE"] = "\u062C\u062D\u064A";
- t["\uFDBF"] = "\u062D\u062C\u064A";
- t["\uFDC0"] = "\u0645\u062C\u064A";
- t["\uFDC1"] = "\u0641\u0645\u064A";
- t["\uFDC2"] = "\u0628\u062D\u064A";
- t["\uFDC3"] = "\u0643\u0645\u0645";
- t["\uFDC4"] = "\u0639\u062C\u0645";
- t["\uFDC5"] = "\u0635\u0645\u0645";
- t["\uFDC6"] = "\u0633\u062E\u064A";
- t["\uFDC7"] = "\u0646\u062C\u064A";
- t["\uFE49"] = "\u203E";
- t["\uFE4A"] = "\u203E";
- t["\uFE4B"] = "\u203E";
- t["\uFE4C"] = "\u203E";
- t["\uFE4D"] = "\u005F";
- t["\uFE4E"] = "\u005F";
- t["\uFE4F"] = "\u005F";
- t["\uFE80"] = "\u0621";
- t["\uFE81"] = "\u0622";
- t["\uFE82"] = "\u0622";
- t["\uFE83"] = "\u0623";
- t["\uFE84"] = "\u0623";
- t["\uFE85"] = "\u0624";
- t["\uFE86"] = "\u0624";
- t["\uFE87"] = "\u0625";
- t["\uFE88"] = "\u0625";
- t["\uFE89"] = "\u0626";
- t["\uFE8A"] = "\u0626";
- t["\uFE8B"] = "\u0626";
- t["\uFE8C"] = "\u0626";
- t["\uFE8D"] = "\u0627";
- t["\uFE8E"] = "\u0627";
- t["\uFE8F"] = "\u0628";
- t["\uFE90"] = "\u0628";
- t["\uFE91"] = "\u0628";
- t["\uFE92"] = "\u0628";
- t["\uFE93"] = "\u0629";
- t["\uFE94"] = "\u0629";
- t["\uFE95"] = "\u062A";
- t["\uFE96"] = "\u062A";
- t["\uFE97"] = "\u062A";
- t["\uFE98"] = "\u062A";
- t["\uFE99"] = "\u062B";
- t["\uFE9A"] = "\u062B";
- t["\uFE9B"] = "\u062B";
- t["\uFE9C"] = "\u062B";
- t["\uFE9D"] = "\u062C";
- t["\uFE9E"] = "\u062C";
- t["\uFE9F"] = "\u062C";
- t["\uFEA0"] = "\u062C";
- t["\uFEA1"] = "\u062D";
- t["\uFEA2"] = "\u062D";
- t["\uFEA3"] = "\u062D";
- t["\uFEA4"] = "\u062D";
- t["\uFEA5"] = "\u062E";
- t["\uFEA6"] = "\u062E";
- t["\uFEA7"] = "\u062E";
- t["\uFEA8"] = "\u062E";
- t["\uFEA9"] = "\u062F";
- t["\uFEAA"] = "\u062F";
- t["\uFEAB"] = "\u0630";
- t["\uFEAC"] = "\u0630";
- t["\uFEAD"] = "\u0631";
- t["\uFEAE"] = "\u0631";
- t["\uFEAF"] = "\u0632";
- t["\uFEB0"] = "\u0632";
- t["\uFEB1"] = "\u0633";
- t["\uFEB2"] = "\u0633";
- t["\uFEB3"] = "\u0633";
- t["\uFEB4"] = "\u0633";
- t["\uFEB5"] = "\u0634";
- t["\uFEB6"] = "\u0634";
- t["\uFEB7"] = "\u0634";
- t["\uFEB8"] = "\u0634";
- t["\uFEB9"] = "\u0635";
- t["\uFEBA"] = "\u0635";
- t["\uFEBB"] = "\u0635";
- t["\uFEBC"] = "\u0635";
- t["\uFEBD"] = "\u0636";
- t["\uFEBE"] = "\u0636";
- t["\uFEBF"] = "\u0636";
- t["\uFEC0"] = "\u0636";
- t["\uFEC1"] = "\u0637";
- t["\uFEC2"] = "\u0637";
- t["\uFEC3"] = "\u0637";
- t["\uFEC4"] = "\u0637";
- t["\uFEC5"] = "\u0638";
- t["\uFEC6"] = "\u0638";
- t["\uFEC7"] = "\u0638";
- t["\uFEC8"] = "\u0638";
- t["\uFEC9"] = "\u0639";
- t["\uFECA"] = "\u0639";
- t["\uFECB"] = "\u0639";
- t["\uFECC"] = "\u0639";
- t["\uFECD"] = "\u063A";
- t["\uFECE"] = "\u063A";
- t["\uFECF"] = "\u063A";
- t["\uFED0"] = "\u063A";
- t["\uFED1"] = "\u0641";
- t["\uFED2"] = "\u0641";
- t["\uFED3"] = "\u0641";
- t["\uFED4"] = "\u0641";
- t["\uFED5"] = "\u0642";
- t["\uFED6"] = "\u0642";
- t["\uFED7"] = "\u0642";
- t["\uFED8"] = "\u0642";
- t["\uFED9"] = "\u0643";
- t["\uFEDA"] = "\u0643";
- t["\uFEDB"] = "\u0643";
- t["\uFEDC"] = "\u0643";
- t["\uFEDD"] = "\u0644";
- t["\uFEDE"] = "\u0644";
- t["\uFEDF"] = "\u0644";
- t["\uFEE0"] = "\u0644";
- t["\uFEE1"] = "\u0645";
- t["\uFEE2"] = "\u0645";
- t["\uFEE3"] = "\u0645";
- t["\uFEE4"] = "\u0645";
- t["\uFEE5"] = "\u0646";
- t["\uFEE6"] = "\u0646";
- t["\uFEE7"] = "\u0646";
- t["\uFEE8"] = "\u0646";
- t["\uFEE9"] = "\u0647";
- t["\uFEEA"] = "\u0647";
- t["\uFEEB"] = "\u0647";
- t["\uFEEC"] = "\u0647";
- t["\uFEED"] = "\u0648";
- t["\uFEEE"] = "\u0648";
- t["\uFEEF"] = "\u0649";
- t["\uFEF0"] = "\u0649";
- t["\uFEF1"] = "\u064A";
- t["\uFEF2"] = "\u064A";
- t["\uFEF3"] = "\u064A";
- t["\uFEF4"] = "\u064A";
- t["\uFEF5"] = "\u0644\u0622";
- t["\uFEF6"] = "\u0644\u0622";
- t["\uFEF7"] = "\u0644\u0623";
- t["\uFEF8"] = "\u0644\u0623";
- t["\uFEF9"] = "\u0644\u0625";
- t["\uFEFA"] = "\u0644\u0625";
- t["\uFEFB"] = "\u0644\u0627";
- t["\uFEFC"] = "\u0644\u0627";
-});
-function reverseIfRtl(chars) {
- var charsLength = chars.length;
- if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {
-  return chars;
- }
- var s = "";
- for (var ii = charsLength - 1; ii >= 0; ii--) {
-  s += chars[ii];
- }
- return s;
-}
-exports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;
-exports.reverseIfRtl = reverseIfRtl;
-exports.getUnicodeRangeFor = getUnicodeRangeFor;
-exports.getNormalizedUnicodes = getNormalizedUnicodes;
-exports.getUnicodeForGlyph = getUnicodeForGlyph;
-
-/***/ }),
-/* 224 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.FontRendererFactory = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _cff_parser = __w_pdfjs_require__(218);
-
-var _glyphlist = __w_pdfjs_require__(221);
-
-var _encodings = __w_pdfjs_require__(220);
-
-var _stream = __w_pdfjs_require__(201);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var FontRendererFactory = function FontRendererFactoryClosure() {
-  function getLong(data, offset) {
-    return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];
-  }
-
-  function getUshort(data, offset) {
-    return data[offset] << 8 | data[offset + 1];
-  }
-
-  function getSubroutineBias(subrs) {
-    var numSubrs = subrs.length;
-    var bias = 32768;
-
-    if (numSubrs < 1240) {
-      bias = 107;
-    } else if (numSubrs < 33900) {
-      bias = 1131;
-    }
-
-    return bias;
-  }
-
-  function parseCmap(data, start, end) {
-    var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);
-    var format = getUshort(data, start + offset);
-    var ranges, p, i;
-
-    if (format === 4) {
-      getUshort(data, start + offset + 2);
-      var segCount = getUshort(data, start + offset + 6) >> 1;
-      p = start + offset + 14;
-      ranges = [];
-
-      for (i = 0; i < segCount; i++, p += 2) {
-        ranges[i] = {
-          end: getUshort(data, p)
-        };
-      }
-
-      p += 2;
-
-      for (i = 0; i < segCount; i++, p += 2) {
-        ranges[i].start = getUshort(data, p);
-      }
-
-      for (i = 0; i < segCount; i++, p += 2) {
-        ranges[i].idDelta = getUshort(data, p);
-      }
-
-      for (i = 0; i < segCount; i++, p += 2) {
-        var idOffset = getUshort(data, p);
-
-        if (idOffset === 0) {
-          continue;
-        }
-
-        ranges[i].ids = [];
-
-        for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {
-          ranges[i].ids[j] = getUshort(data, p + idOffset);
-          idOffset += 2;
-        }
-      }
-
-      return ranges;
-    } else if (format === 12) {
-      getLong(data, start + offset + 4);
-      var groups = getLong(data, start + offset + 12);
-      p = start + offset + 16;
-      ranges = [];
-
-      for (i = 0; i < groups; i++) {
-        ranges.push({
-          start: getLong(data, p),
-          end: getLong(data, p + 4),
-          idDelta: getLong(data, p + 8) - getLong(data, p)
-        });
-        p += 12;
-      }
-
-      return ranges;
-    }
-
-    throw new _util.FormatError("unsupported cmap: ".concat(format));
-  }
-
-  function parseCff(data, start, end, seacAnalysisEnabled) {
-    var properties = {};
-    var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);
-    var cff = parser.parse();
-    return {
-      glyphs: cff.charStrings.objects,
-      subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,
-      gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,
-      isCFFCIDFont: cff.isCIDFont,
-      fdSelect: cff.fdSelect,
-      fdArray: cff.fdArray
-    };
-  }
-
-  function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {
-    var itemSize, itemDecode;
-
-    if (isGlyphLocationsLong) {
-      itemSize = 4;
-
-      itemDecode = function fontItemDecodeLong(data, offset) {
-        return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];
-      };
-    } else {
-      itemSize = 2;
-
-      itemDecode = function fontItemDecode(data, offset) {
-        return data[offset] << 9 | data[offset + 1] << 1;
-      };
-    }
-
-    var glyphs = [];
-    var startOffset = itemDecode(loca, 0);
-
-    for (var j = itemSize; j < loca.length; j += itemSize) {
-      var endOffset = itemDecode(loca, j);
-      glyphs.push(glyf.subarray(startOffset, endOffset));
-      startOffset = endOffset;
-    }
-
-    return glyphs;
-  }
-
-  function lookupCmap(ranges, unicode) {
-    var code = unicode.codePointAt(0),
-        gid = 0;
-    var l = 0,
-        r = ranges.length - 1;
-
-    while (l < r) {
-      var c = l + r + 1 >> 1;
-
-      if (code < ranges[c].start) {
-        r = c - 1;
-      } else {
-        l = c;
-      }
-    }
-
-    if (ranges[l].start <= code && code <= ranges[l].end) {
-      gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;
-    }
-
-    return {
-      charCode: code,
-      glyphId: gid
-    };
-  }
-
-  function compileGlyf(code, cmds, font) {
-    function moveTo(x, y) {
-      cmds.push({
-        cmd: "moveTo",
-        args: [x, y]
-      });
-    }
-
-    function lineTo(x, y) {
-      cmds.push({
-        cmd: "lineTo",
-        args: [x, y]
-      });
-    }
-
-    function quadraticCurveTo(xa, ya, x, y) {
-      cmds.push({
-        cmd: "quadraticCurveTo",
-        args: [xa, ya, x, y]
-      });
-    }
-
-    var i = 0;
-    var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;
-    var flags;
-    var x = 0,
-        y = 0;
-    i += 10;
-
-    if (numberOfContours < 0) {
-      do {
-        flags = code[i] << 8 | code[i + 1];
-        var glyphIndex = code[i + 2] << 8 | code[i + 3];
-        i += 4;
-        var arg1, arg2;
-
-        if (flags & 0x01) {
-          arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;
-          arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;
-          i += 4;
-        } else {
-          arg1 = code[i++];
-          arg2 = code[i++];
-        }
-
-        if (flags & 0x02) {
-          x = arg1;
-          y = arg2;
-        } else {
-          x = 0;
-          y = 0;
-        }
-
-        var scaleX = 1,
-            scaleY = 1,
-            scale01 = 0,
-            scale10 = 0;
-
-        if (flags & 0x08) {
-          scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;
-          i += 2;
-        } else if (flags & 0x40) {
-          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;
-          scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;
-          i += 4;
-        } else if (flags & 0x80) {
-          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;
-          scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;
-          scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;
-          scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;
-          i += 8;
-        }
-
-        var subglyph = font.glyphs[glyphIndex];
-
-        if (subglyph) {
-          cmds.push({
-            cmd: "save"
-          });
-          cmds.push({
-            cmd: "transform",
-            args: [scaleX, scale01, scale10, scaleY, x, y]
-          });
-          compileGlyf(subglyph, cmds, font);
-          cmds.push({
-            cmd: "restore"
-          });
-        }
-      } while (flags & 0x20);
-    } else {
-      var endPtsOfContours = [];
-      var j, jj;
-
-      for (j = 0; j < numberOfContours; j++) {
-        endPtsOfContours.push(code[i] << 8 | code[i + 1]);
-        i += 2;
-      }
-
-      var instructionLength = code[i] << 8 | code[i + 1];
-      i += 2 + instructionLength;
-      var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;
-      var points = [];
-
-      while (points.length < numberOfPoints) {
-        flags = code[i++];
-        var repeat = 1;
-
-        if (flags & 0x08) {
-          repeat += code[i++];
-        }
-
-        while (repeat-- > 0) {
-          points.push({
-            flags: flags
-          });
-        }
-      }
-
-      for (j = 0; j < numberOfPoints; j++) {
-        switch (points[j].flags & 0x12) {
-          case 0x00:
-            x += (code[i] << 24 | code[i + 1] << 16) >> 16;
-            i += 2;
-            break;
-
-          case 0x02:
-            x -= code[i++];
-            break;
-
-          case 0x12:
-            x += code[i++];
-            break;
-        }
-
-        points[j].x = x;
-      }
-
-      for (j = 0; j < numberOfPoints; j++) {
-        switch (points[j].flags & 0x24) {
-          case 0x00:
-            y += (code[i] << 24 | code[i + 1] << 16) >> 16;
-            i += 2;
-            break;
-
-          case 0x04:
-            y -= code[i++];
-            break;
-
-          case 0x24:
-            y += code[i++];
-            break;
-        }
-
-        points[j].y = y;
-      }
-
-      var startPoint = 0;
-
-      for (i = 0; i < numberOfContours; i++) {
-        var endPoint = endPtsOfContours[i];
-        var contour = points.slice(startPoint, endPoint + 1);
-
-        if (contour[0].flags & 1) {
-          contour.push(contour[0]);
-        } else if (contour[contour.length - 1].flags & 1) {
-          contour.unshift(contour[contour.length - 1]);
-        } else {
-          var p = {
-            flags: 1,
-            x: (contour[0].x + contour[contour.length - 1].x) / 2,
-            y: (contour[0].y + contour[contour.length - 1].y) / 2
-          };
-          contour.unshift(p);
-          contour.push(p);
-        }
-
-        moveTo(contour[0].x, contour[0].y);
-
-        for (j = 1, jj = contour.length; j < jj; j++) {
-          if (contour[j].flags & 1) {
-            lineTo(contour[j].x, contour[j].y);
-          } else if (contour[j + 1].flags & 1) {
-            quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);
-            j++;
-          } else {
-            quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);
-          }
-        }
-
-        startPoint = endPoint + 1;
-      }
-    }
-  }
-
-  function compileCharString(code, cmds, font, glyphId) {
-    var stack = [];
-    var x = 0,
-        y = 0;
-    var stems = 0;
-
-    function moveTo(x, y) {
-      cmds.push({
-        cmd: "moveTo",
-        args: [x, y]
-      });
-    }
-
-    function lineTo(x, y) {
-      cmds.push({
-        cmd: "lineTo",
-        args: [x, y]
-      });
-    }
-
-    function bezierCurveTo(x1, y1, x2, y2, x, y) {
-      cmds.push({
-        cmd: "bezierCurveTo",
-        args: [x1, y1, x2, y2, x, y]
-      });
-    }
-
-    function parse(code) {
-      var i = 0;
-
-      while (i < code.length) {
-        var stackClean = false;
-        var v = code[i++];
-        var xa, xb, ya, yb, y1, y2, y3, n, subrCode;
-
-        switch (v) {
-          case 1:
-            stems += stack.length >> 1;
-            stackClean = true;
-            break;
-
-          case 3:
-            stems += stack.length >> 1;
-            stackClean = true;
-            break;
-
-          case 4:
-            y += stack.pop();
-            moveTo(x, y);
-            stackClean = true;
-            break;
-
-          case 5:
-            while (stack.length > 0) {
-              x += stack.shift();
-              y += stack.shift();
-              lineTo(x, y);
-            }
-
-            break;
-
-          case 6:
-            while (stack.length > 0) {
-              x += stack.shift();
-              lineTo(x, y);
-
-              if (stack.length === 0) {
-                break;
-              }
-
-              y += stack.shift();
-              lineTo(x, y);
-            }
-
-            break;
-
-          case 7:
-            while (stack.length > 0) {
-              y += stack.shift();
-              lineTo(x, y);
-
-              if (stack.length === 0) {
-                break;
-              }
-
-              x += stack.shift();
-              lineTo(x, y);
-            }
-
-            break;
-
-          case 8:
-            while (stack.length > 0) {
-              xa = x + stack.shift();
-              ya = y + stack.shift();
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              x = xb + stack.shift();
-              y = yb + stack.shift();
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-            }
-
-            break;
-
-          case 10:
-            n = stack.pop();
-            subrCode = null;
-
-            if (font.isCFFCIDFont) {
-              var fdIndex = font.fdSelect.getFDIndex(glyphId);
-
-              if (fdIndex >= 0 && fdIndex < font.fdArray.length) {
-                var fontDict = font.fdArray[fdIndex];
-                var subrs = void 0;
-
-                if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {
-                  subrs = fontDict.privateDict.subrsIndex.objects;
-                }
-
-                if (subrs) {
-                  n += getSubroutineBias(subrs);
-                  subrCode = subrs[n];
-                }
-              } else {
-                (0, _util.warn)("Invalid fd index for glyph index.");
-              }
-            } else {
-              subrCode = font.subrs[n + font.subrsBias];
-            }
-
-            if (subrCode) {
-              parse(subrCode);
-            }
-
-            break;
-
-          case 11:
-            return;
-
-          case 12:
-            v = code[i++];
-
-            switch (v) {
-              case 34:
-                xa = x + stack.shift();
-                xb = xa + stack.shift();
-                y1 = y + stack.shift();
-                x = xb + stack.shift();
-                bezierCurveTo(xa, y, xb, y1, x, y1);
-                xa = x + stack.shift();
-                xb = xa + stack.shift();
-                x = xb + stack.shift();
-                bezierCurveTo(xa, y1, xb, y, x, y);
-                break;
-
-              case 35:
-                xa = x + stack.shift();
-                ya = y + stack.shift();
-                xb = xa + stack.shift();
-                yb = ya + stack.shift();
-                x = xb + stack.shift();
-                y = yb + stack.shift();
-                bezierCurveTo(xa, ya, xb, yb, x, y);
-                xa = x + stack.shift();
-                ya = y + stack.shift();
-                xb = xa + stack.shift();
-                yb = ya + stack.shift();
-                x = xb + stack.shift();
-                y = yb + stack.shift();
-                bezierCurveTo(xa, ya, xb, yb, x, y);
-                stack.pop();
-                break;
-
-              case 36:
-                xa = x + stack.shift();
-                y1 = y + stack.shift();
-                xb = xa + stack.shift();
-                y2 = y1 + stack.shift();
-                x = xb + stack.shift();
-                bezierCurveTo(xa, y1, xb, y2, x, y2);
-                xa = x + stack.shift();
-                xb = xa + stack.shift();
-                y3 = y2 + stack.shift();
-                x = xb + stack.shift();
-                bezierCurveTo(xa, y2, xb, y3, x, y);
-                break;
-
-              case 37:
-                var x0 = x,
-                    y0 = y;
-                xa = x + stack.shift();
-                ya = y + stack.shift();
-                xb = xa + stack.shift();
-                yb = ya + stack.shift();
-                x = xb + stack.shift();
-                y = yb + stack.shift();
-                bezierCurveTo(xa, ya, xb, yb, x, y);
-                xa = x + stack.shift();
-                ya = y + stack.shift();
-                xb = xa + stack.shift();
-                yb = ya + stack.shift();
-                x = xb;
-                y = yb;
-
-                if (Math.abs(x - x0) > Math.abs(y - y0)) {
-                  x += stack.shift();
-                } else {
-                  y += stack.shift();
-                }
-
-                bezierCurveTo(xa, ya, xb, yb, x, y);
-                break;
-
-              default:
-                throw new _util.FormatError("unknown operator: 12 ".concat(v));
-            }
-
-            break;
-
-          case 14:
-            if (stack.length >= 4) {
-              var achar = stack.pop();
-              var bchar = stack.pop();
-              y = stack.pop();
-              x = stack.pop();
-              cmds.push({
-                cmd: "save"
-              });
-              cmds.push({
-                cmd: "translate",
-                args: [x, y]
-              });
-              var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));
-              compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);
-              cmds.push({
-                cmd: "restore"
-              });
-              cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));
-              compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);
-            }
-
-            return;
-
-          case 18:
-            stems += stack.length >> 1;
-            stackClean = true;
-            break;
-
-          case 19:
-            stems += stack.length >> 1;
-            i += stems + 7 >> 3;
-            stackClean = true;
-            break;
-
-          case 20:
-            stems += stack.length >> 1;
-            i += stems + 7 >> 3;
-            stackClean = true;
-            break;
-
-          case 21:
-            y += stack.pop();
-            x += stack.pop();
-            moveTo(x, y);
-            stackClean = true;
-            break;
-
-          case 22:
-            x += stack.pop();
-            moveTo(x, y);
-            stackClean = true;
-            break;
-
-          case 23:
-            stems += stack.length >> 1;
-            stackClean = true;
-            break;
-
-          case 24:
-            while (stack.length > 2) {
-              xa = x + stack.shift();
-              ya = y + stack.shift();
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              x = xb + stack.shift();
-              y = yb + stack.shift();
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-            }
-
-            x += stack.shift();
-            y += stack.shift();
-            lineTo(x, y);
-            break;
-
-          case 25:
-            while (stack.length > 6) {
-              x += stack.shift();
-              y += stack.shift();
-              lineTo(x, y);
-            }
-
-            xa = x + stack.shift();
-            ya = y + stack.shift();
-            xb = xa + stack.shift();
-            yb = ya + stack.shift();
-            x = xb + stack.shift();
-            y = yb + stack.shift();
-            bezierCurveTo(xa, ya, xb, yb, x, y);
-            break;
-
-          case 26:
-            if (stack.length % 2) {
-              x += stack.shift();
-            }
-
-            while (stack.length > 0) {
-              xa = x;
-              ya = y + stack.shift();
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              x = xb;
-              y = yb + stack.shift();
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-            }
-
-            break;
-
-          case 27:
-            if (stack.length % 2) {
-              y += stack.shift();
-            }
-
-            while (stack.length > 0) {
-              xa = x + stack.shift();
-              ya = y;
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              x = xb + stack.shift();
-              y = yb;
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-            }
-
-            break;
-
-          case 28:
-            stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);
-            i += 2;
-            break;
-
-          case 29:
-            n = stack.pop() + font.gsubrsBias;
-            subrCode = font.gsubrs[n];
-
-            if (subrCode) {
-              parse(subrCode);
-            }
-
-            break;
-
-          case 30:
-            while (stack.length > 0) {
-              xa = x;
-              ya = y + stack.shift();
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              x = xb + stack.shift();
-              y = yb + (stack.length === 1 ? stack.shift() : 0);
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-
-              if (stack.length === 0) {
-                break;
-              }
-
-              xa = x + stack.shift();
-              ya = y;
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              y = yb + stack.shift();
-              x = xb + (stack.length === 1 ? stack.shift() : 0);
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-            }
-
-            break;
-
-          case 31:
-            while (stack.length > 0) {
-              xa = x + stack.shift();
-              ya = y;
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              y = yb + stack.shift();
-              x = xb + (stack.length === 1 ? stack.shift() : 0);
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-
-              if (stack.length === 0) {
-                break;
-              }
-
-              xa = x;
-              ya = y + stack.shift();
-              xb = xa + stack.shift();
-              yb = ya + stack.shift();
-              x = xb + stack.shift();
-              y = yb + (stack.length === 1 ? stack.shift() : 0);
-              bezierCurveTo(xa, ya, xb, yb, x, y);
-            }
-
-            break;
-
-          default:
-            if (v < 32) {
-              throw new _util.FormatError("unknown operator: ".concat(v));
-            }
-
-            if (v < 247) {
-              stack.push(v - 139);
-            } else if (v < 251) {
-              stack.push((v - 247) * 256 + code[i++] + 108);
-            } else if (v < 255) {
-              stack.push(-(v - 251) * 256 - code[i++] - 108);
-            } else {
-              stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);
-              i += 4;
-            }
-
-            break;
-        }
-
-        if (stackClean) {
-          stack.length = 0;
-        }
-      }
-    }
-
-    parse(code);
-  }
-
-  var NOOP = [];
-
-  var CompiledFont = /*#__PURE__*/function () {
-    function CompiledFont(fontMatrix) {
-      _classCallCheck(this, CompiledFont);
-
-      if (this.constructor === CompiledFont) {
-        (0, _util.unreachable)("Cannot initialize CompiledFont.");
-      }
-
-      this.fontMatrix = fontMatrix;
-      this.compiledGlyphs = Object.create(null);
-      this.compiledCharCodeToGlyphId = Object.create(null);
-    }
-
-    _createClass(CompiledFont, [{
-      key: "getPathJs",
-      value: function getPathJs(unicode) {
-        var cmap = lookupCmap(this.cmap, unicode);
-        var fn = this.compiledGlyphs[cmap.glyphId];
-
-        if (!fn) {
-          fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);
-          this.compiledGlyphs[cmap.glyphId] = fn;
-        }
-
-        if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {
-          this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;
-        }
-
-        return fn;
-      }
-    }, {
-      key: "compileGlyph",
-      value: function compileGlyph(code, glyphId) {
-        if (!code || code.length === 0 || code[0] === 14) {
-          return NOOP;
-        }
-
-        var fontMatrix = this.fontMatrix;
-
-        if (this.isCFFCIDFont) {
-          var fdIndex = this.fdSelect.getFDIndex(glyphId);
-
-          if (fdIndex >= 0 && fdIndex < this.fdArray.length) {
-            var fontDict = this.fdArray[fdIndex];
-            fontMatrix = fontDict.getByName("FontMatrix") || _util.FONT_IDENTITY_MATRIX;
-          } else {
-            (0, _util.warn)("Invalid fd index for glyph index.");
-          }
-        }
-
-        var cmds = [];
-        cmds.push({
-          cmd: "save"
-        });
-        cmds.push({
-          cmd: "transform",
-          args: fontMatrix.slice()
-        });
-        cmds.push({
-          cmd: "scale",
-          args: ["size", "-size"]
-        });
-        this.compileGlyphImpl(code, cmds, glyphId);
-        cmds.push({
-          cmd: "restore"
-        });
-        return cmds;
-      }
-    }, {
-      key: "compileGlyphImpl",
-      value: function compileGlyphImpl() {
-        (0, _util.unreachable)("Children classes should implement this.");
-      }
-    }, {
-      key: "hasBuiltPath",
-      value: function hasBuiltPath(unicode) {
-        var cmap = lookupCmap(this.cmap, unicode);
-        return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;
-      }
-    }]);
-
-    return CompiledFont;
-  }();
-
-  var TrueTypeCompiled = /*#__PURE__*/function (_CompiledFont) {
-    _inherits(TrueTypeCompiled, _CompiledFont);
-
-    function TrueTypeCompiled(glyphs, cmap, fontMatrix) {
-      var _this;
-
-      _classCallCheck(this, TrueTypeCompiled);
-
-      _this = _possibleConstructorReturn(this, _getPrototypeOf(TrueTypeCompiled).call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]));
-      _this.glyphs = glyphs;
-      _this.cmap = cmap;
-      return _this;
-    }
-
-    _createClass(TrueTypeCompiled, [{
-      key: "compileGlyphImpl",
-      value: function compileGlyphImpl(code, cmds) {
-        compileGlyf(code, cmds, this);
-      }
-    }]);
-
-    return TrueTypeCompiled;
-  }(CompiledFont);
-
-  var Type2Compiled = /*#__PURE__*/function (_CompiledFont2) {
-    _inherits(Type2Compiled, _CompiledFont2);
-
-    function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {
-      var _this2;
-
-      _classCallCheck(this, Type2Compiled);
-
-      _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Type2Compiled).call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]));
-      _this2.glyphs = cffInfo.glyphs;
-      _this2.gsubrs = cffInfo.gsubrs || [];
-      _this2.subrs = cffInfo.subrs || [];
-      _this2.cmap = cmap;
-      _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();
-      _this2.gsubrsBias = getSubroutineBias(_this2.gsubrs);
-      _this2.subrsBias = getSubroutineBias(_this2.subrs);
-      _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;
-      _this2.fdSelect = cffInfo.fdSelect;
-      _this2.fdArray = cffInfo.fdArray;
-      return _this2;
-    }
-
-    _createClass(Type2Compiled, [{
-      key: "compileGlyphImpl",
-      value: function compileGlyphImpl(code, cmds, glyphId) {
-        compileCharString(code, cmds, this, glyphId);
-      }
-    }]);
-
-    return Type2Compiled;
-  }(CompiledFont);
-
-  return {
-    create: function FontRendererFactory_create(font, seacAnalysisEnabled) {
-      var data = new Uint8Array(font.data);
-      var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;
-      var numTables = getUshort(data, 4);
-
-      for (var i = 0, p = 12; i < numTables; i++, p += 16) {
-        var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));
-        var offset = getLong(data, p + 8);
-        var length = getLong(data, p + 12);
-
-        switch (tag) {
-          case "cmap":
-            cmap = parseCmap(data, offset, offset + length);
-            break;
-
-          case "glyf":
-            glyf = data.subarray(offset, offset + length);
-            break;
-
-          case "loca":
-            loca = data.subarray(offset, offset + length);
-            break;
-
-          case "head":
-            unitsPerEm = getUshort(data, offset + 18);
-            indexToLocFormat = getUshort(data, offset + 50);
-            break;
-
-          case "CFF ":
-            cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);
-            break;
-        }
-      }
-
-      if (glyf) {
-        var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];
-        return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);
-      }
-
-      return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);
-    }
-  };
-}();
-
-exports.FontRendererFactory = FontRendererFactory;
-
-/***/ }),
-/* 225 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Type1Parser = void 0;
-
-var _encodings = __w_pdfjs_require__(220);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var _stream = __w_pdfjs_require__(201);
-
-var _util = __w_pdfjs_require__(5);
-
-var HINTING_ENABLED = false;
-
-var Type1CharString = function Type1CharStringClosure() {
-  var COMMAND_MAP = {
-    hstem: [1],
-    vstem: [3],
-    vmoveto: [4],
-    rlineto: [5],
-    hlineto: [6],
-    vlineto: [7],
-    rrcurveto: [8],
-    callsubr: [10],
-    flex: [12, 35],
-    drop: [12, 18],
-    endchar: [14],
-    rmoveto: [21],
-    hmoveto: [22],
-    vhcurveto: [30],
-    hvcurveto: [31]
-  };
-
-  function Type1CharString() {
-    this.width = 0;
-    this.lsb = 0;
-    this.flexing = false;
-    this.output = [];
-    this.stack = [];
-  }
-
-  Type1CharString.prototype = {
-    convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {
-      var count = encoded.length;
-      var error = false;
-      var wx, sbx, subrNumber;
-
-      for (var i = 0; i < count; i++) {
-        var value = encoded[i];
-
-        if (value < 32) {
-          if (value === 12) {
-            value = (value << 8) + encoded[++i];
-          }
-
-          switch (value) {
-            case 1:
-              if (!HINTING_ENABLED) {
-                this.stack = [];
-                break;
-              }
-
-              error = this.executeCommand(2, COMMAND_MAP.hstem);
-              break;
-
-            case 3:
-              if (!HINTING_ENABLED) {
-                this.stack = [];
-                break;
-              }
-
-              error = this.executeCommand(2, COMMAND_MAP.vstem);
-              break;
-
-            case 4:
-              if (this.flexing) {
-                if (this.stack.length < 1) {
-                  error = true;
-                  break;
-                }
-
-                var dy = this.stack.pop();
-                this.stack.push(0, dy);
-                break;
-              }
-
-              error = this.executeCommand(1, COMMAND_MAP.vmoveto);
-              break;
-
-            case 5:
-              error = this.executeCommand(2, COMMAND_MAP.rlineto);
-              break;
-
-            case 6:
-              error = this.executeCommand(1, COMMAND_MAP.hlineto);
-              break;
-
-            case 7:
-              error = this.executeCommand(1, COMMAND_MAP.vlineto);
-              break;
-
-            case 8:
-              error = this.executeCommand(6, COMMAND_MAP.rrcurveto);
-              break;
-
-            case 9:
-              this.stack = [];
-              break;
-
-            case 10:
-              if (this.stack.length < 1) {
-                error = true;
-                break;
-              }
-
-              subrNumber = this.stack.pop();
-
-              if (!subrs[subrNumber]) {
-                error = true;
-                break;
-              }
-
-              error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);
-              break;
-
-            case 11:
-              return error;
-
-            case 13:
-              if (this.stack.length < 2) {
-                error = true;
-                break;
-              }
-
-              wx = this.stack.pop();
-              sbx = this.stack.pop();
-              this.lsb = sbx;
-              this.width = wx;
-              this.stack.push(wx, sbx);
-              error = this.executeCommand(2, COMMAND_MAP.hmoveto);
-              break;
-
-            case 14:
-              this.output.push(COMMAND_MAP.endchar[0]);
-              break;
-
-            case 21:
-              if (this.flexing) {
-                break;
-              }
-
-              error = this.executeCommand(2, COMMAND_MAP.rmoveto);
-              break;
-
-            case 22:
-              if (this.flexing) {
-                this.stack.push(0);
-                break;
-              }
-
-              error = this.executeCommand(1, COMMAND_MAP.hmoveto);
-              break;
-
-            case 30:
-              error = this.executeCommand(4, COMMAND_MAP.vhcurveto);
-              break;
-
-            case 31:
-              error = this.executeCommand(4, COMMAND_MAP.hvcurveto);
-              break;
-
-            case (12 << 8) + 0:
-              this.stack = [];
-              break;
-
-            case (12 << 8) + 1:
-              if (!HINTING_ENABLED) {
-                this.stack = [];
-                break;
-              }
-
-              error = this.executeCommand(2, COMMAND_MAP.vstem);
-              break;
-
-            case (12 << 8) + 2:
-              if (!HINTING_ENABLED) {
-                this.stack = [];
-                break;
-              }
-
-              error = this.executeCommand(2, COMMAND_MAP.hstem);
-              break;
-
-            case (12 << 8) + 6:
-              if (seacAnalysisEnabled) {
-                this.seac = this.stack.splice(-4, 4);
-                error = this.executeCommand(0, COMMAND_MAP.endchar);
-              } else {
-                error = this.executeCommand(4, COMMAND_MAP.endchar);
-              }
-
-              break;
-
-            case (12 << 8) + 7:
-              if (this.stack.length < 4) {
-                error = true;
-                break;
-              }
-
-              this.stack.pop();
-              wx = this.stack.pop();
-              var sby = this.stack.pop();
-              sbx = this.stack.pop();
-              this.lsb = sbx;
-              this.width = wx;
-              this.stack.push(wx, sbx, sby);
-              error = this.executeCommand(3, COMMAND_MAP.rmoveto);
-              break;
-
-            case (12 << 8) + 12:
-              if (this.stack.length < 2) {
-                error = true;
-                break;
-              }
-
-              var num2 = this.stack.pop();
-              var num1 = this.stack.pop();
-              this.stack.push(num1 / num2);
-              break;
-
-            case (12 << 8) + 16:
-              if (this.stack.length < 2) {
-                error = true;
-                break;
-              }
-
-              subrNumber = this.stack.pop();
-              var numArgs = this.stack.pop();
-
-              if (subrNumber === 0 && numArgs === 3) {
-                var flexArgs = this.stack.splice(this.stack.length - 17, 17);
-                this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);
-                error = this.executeCommand(13, COMMAND_MAP.flex, true);
-                this.flexing = false;
-                this.stack.push(flexArgs[15], flexArgs[16]);
-              } else if (subrNumber === 1 && numArgs === 0) {
-                this.flexing = true;
-              }
-
-              break;
-
-            case (12 << 8) + 17:
-              break;
-
-            case (12 << 8) + 33:
-              this.stack = [];
-              break;
-
-            default:
-              (0, _util.warn)('Unknown type 1 charstring command of "' + value + '"');
-              break;
-          }
-
-          if (error) {
-            break;
-          }
-
-          continue;
-        } else if (value <= 246) {
-          value = value - 139;
-        } else if (value <= 250) {
-          value = (value - 247) * 256 + encoded[++i] + 108;
-        } else if (value <= 254) {
-          value = -((value - 251) * 256) - encoded[++i] - 108;
-        } else {
-          value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;
-        }
-
-        this.stack.push(value);
-      }
-
-      return error;
-    },
-    executeCommand: function executeCommand(howManyArgs, command, keepStack) {
-      var stackLength = this.stack.length;
-
-      if (howManyArgs > stackLength) {
-        return true;
-      }
-
-      var start = stackLength - howManyArgs;
-
-      for (var i = start; i < stackLength; i++) {
-        var value = this.stack[i];
-
-        if (Number.isInteger(value)) {
-          this.output.push(28, value >> 8 & 0xff, value & 0xff);
-        } else {
-          value = 65536 * value | 0;
-          this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
-        }
-      }
-
-      this.output.push.apply(this.output, command);
-
-      if (keepStack) {
-        this.stack.splice(start, howManyArgs);
-      } else {
-        this.stack.length = 0;
-      }
-
-      return false;
-    }
-  };
-  return Type1CharString;
-}();
-
-var Type1Parser = function Type1ParserClosure() {
-  var EEXEC_ENCRYPT_KEY = 55665;
-  var CHAR_STRS_ENCRYPT_KEY = 4330;
-
-  function isHexDigit(code) {
-    return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;
-  }
-
-  function decrypt(data, key, discardNumber) {
-    if (discardNumber >= data.length) {
-      return new Uint8Array(0);
-    }
-
-    var r = key | 0,
-        c1 = 52845,
-        c2 = 22719,
-        i,
-        j;
-
-    for (i = 0; i < discardNumber; i++) {
-      r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;
-    }
-
-    var count = data.length - discardNumber;
-    var decrypted = new Uint8Array(count);
-
-    for (i = discardNumber, j = 0; j < count; i++, j++) {
-      var value = data[i];
-      decrypted[j] = value ^ r >> 8;
-      r = (value + r) * c1 + c2 & (1 << 16) - 1;
-    }
-
-    return decrypted;
-  }
-
-  function decryptAscii(data, key, discardNumber) {
-    var r = key | 0,
-        c1 = 52845,
-        c2 = 22719;
-    var count = data.length,
-        maybeLength = count >>> 1;
-    var decrypted = new Uint8Array(maybeLength);
-    var i, j;
-
-    for (i = 0, j = 0; i < count; i++) {
-      var digit1 = data[i];
-
-      if (!isHexDigit(digit1)) {
-        continue;
-      }
-
-      i++;
-      var digit2;
-
-      while (i < count && !isHexDigit(digit2 = data[i])) {
-        i++;
-      }
-
-      if (i < count) {
-        var value = parseInt(String.fromCharCode(digit1, digit2), 16);
-        decrypted[j++] = value ^ r >> 8;
-        r = (value + r) * c1 + c2 & (1 << 16) - 1;
-      }
-    }
-
-    return Array.prototype.slice.call(decrypted, discardNumber, j);
-  }
-
-  function isSpecial(c) {
-    return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;
-  }
-
-  function Type1Parser(stream, encrypted, seacAnalysisEnabled) {
-    if (encrypted) {
-      var data = stream.getBytes();
-      var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));
-      stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));
-    }
-
-    this.seacAnalysisEnabled = !!seacAnalysisEnabled;
-    this.stream = stream;
-    this.nextChar();
-  }
-
-  Type1Parser.prototype = {
-    readNumberArray: function Type1Parser_readNumberArray() {
-      this.getToken();
-      var array = [];
-
-      while (true) {
-        var token = this.getToken();
-
-        if (token === null || token === "]" || token === "}") {
-          break;
-        }
-
-        array.push(parseFloat(token || 0));
-      }
-
-      return array;
-    },
-    readNumber: function Type1Parser_readNumber() {
-      var token = this.getToken();
-      return parseFloat(token || 0);
-    },
-    readInt: function Type1Parser_readInt() {
-      var token = this.getToken();
-      return parseInt(token || 0, 10) | 0;
-    },
-    readBoolean: function Type1Parser_readBoolean() {
-      var token = this.getToken();
-      return token === "true" ? 1 : 0;
-    },
-    nextChar: function Type1_nextChar() {
-      return this.currentChar = this.stream.getByte();
-    },
-    getToken: function Type1Parser_getToken() {
-      var comment = false;
-      var ch = this.currentChar;
-
-      while (true) {
-        if (ch === -1) {
-          return null;
-        }
-
-        if (comment) {
-          if (ch === 0x0a || ch === 0x0d) {
-            comment = false;
-          }
-        } else if (ch === 0x25) {
-          comment = true;
-        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {
-          break;
-        }
-
-        ch = this.nextChar();
-      }
-
-      if (isSpecial(ch)) {
-        this.nextChar();
-        return String.fromCharCode(ch);
-      }
-
-      var token = "";
-
-      do {
-        token += String.fromCharCode(ch);
-        ch = this.nextChar();
-      } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));
-
-      return token;
-    },
-    readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {
-      if (lenIV === -1) {
-        return bytes;
-      }
-
-      return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);
-    },
-    extractFontProgram: function Type1Parser_extractFontProgram(properties) {
-      var stream = this.stream;
-      var subrs = [],
-          charstrings = [];
-      var privateData = Object.create(null);
-      privateData["lenIV"] = 4;
-      var program = {
-        subrs: [],
-        charstrings: [],
-        properties: {
-          privateData: privateData
-        }
-      };
-      var token, length, data, lenIV, encoded;
-
-      while ((token = this.getToken()) !== null) {
-        if (token !== "/") {
-          continue;
-        }
-
-        token = this.getToken();
-
-        switch (token) {
-          case "CharStrings":
-            this.getToken();
-            this.getToken();
-            this.getToken();
-            this.getToken();
-
-            while (true) {
-              token = this.getToken();
-
-              if (token === null || token === "end") {
-                break;
-              }
-
-              if (token !== "/") {
-                continue;
-              }
-
-              var glyph = this.getToken();
-              length = this.readInt();
-              this.getToken();
-              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
-              lenIV = program.properties.privateData["lenIV"];
-              encoded = this.readCharStrings(data, lenIV);
-              this.nextChar();
-              token = this.getToken();
-
-              if (token === "noaccess") {
-                this.getToken();
-              }
-
-              charstrings.push({
-                glyph: glyph,
-                encoded: encoded
-              });
-            }
-
-            break;
-
-          case "Subrs":
-            this.readInt();
-            this.getToken();
-
-            while (this.getToken() === "dup") {
-              var index = this.readInt();
-              length = this.readInt();
-              this.getToken();
-              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
-              lenIV = program.properties.privateData["lenIV"];
-              encoded = this.readCharStrings(data, lenIV);
-              this.nextChar();
-              token = this.getToken();
-
-              if (token === "noaccess") {
-                this.getToken();
-              }
-
-              subrs[index] = encoded;
-            }
-
-            break;
-
-          case "BlueValues":
-          case "OtherBlues":
-          case "FamilyBlues":
-          case "FamilyOtherBlues":
-            var blueArray = this.readNumberArray();
-
-            if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {
-              program.properties.privateData[token] = blueArray;
-            }
-
-            break;
-
-          case "StemSnapH":
-          case "StemSnapV":
-            program.properties.privateData[token] = this.readNumberArray();
-            break;
-
-          case "StdHW":
-          case "StdVW":
-            program.properties.privateData[token] = this.readNumberArray()[0];
-            break;
-
-          case "BlueShift":
-          case "lenIV":
-          case "BlueFuzz":
-          case "BlueScale":
-          case "LanguageGroup":
-          case "ExpansionFactor":
-            program.properties.privateData[token] = this.readNumber();
-            break;
-
-          case "ForceBold":
-            program.properties.privateData[token] = this.readBoolean();
-            break;
-        }
-      }
-
-      for (var i = 0; i < charstrings.length; i++) {
-        glyph = charstrings[i].glyph;
-        encoded = charstrings[i].encoded;
-        var charString = new Type1CharString();
-        var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);
-        var output = charString.output;
-
-        if (error) {
-          output = [14];
-        }
-
-        var charStringObject = {
-          glyphName: glyph,
-          charstring: output,
-          width: charString.width,
-          lsb: charString.lsb,
-          seac: charString.seac
-        };
-
-        if (glyph === ".notdef") {
-          program.charstrings.unshift(charStringObject);
-        } else {
-          program.charstrings.push(charStringObject);
-        }
-
-        if (properties.builtInEncoding) {
-          var _index = properties.builtInEncoding.indexOf(glyph);
-
-          if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {
-            properties.widths[_index] = charString.width;
-          }
-        }
-      }
-
-      return program;
-    },
-    extractFontHeader: function Type1Parser_extractFontHeader(properties) {
-      var token;
-
-      while ((token = this.getToken()) !== null) {
-        if (token !== "/") {
-          continue;
-        }
-
-        token = this.getToken();
-
-        switch (token) {
-          case "FontMatrix":
-            var matrix = this.readNumberArray();
-            properties.fontMatrix = matrix;
-            break;
-
-          case "Encoding":
-            var encodingArg = this.getToken();
-            var encoding;
-
-            if (!/^\d+$/.test(encodingArg)) {
-              encoding = (0, _encodings.getEncoding)(encodingArg);
-            } else {
-              encoding = [];
-              var size = parseInt(encodingArg, 10) | 0;
-              this.getToken();
-
-              for (var j = 0; j < size; j++) {
-                token = this.getToken();
-
-                while (token !== "dup" && token !== "def") {
-                  token = this.getToken();
-
-                  if (token === null) {
-                    return;
-                  }
-                }
-
-                if (token === "def") {
-                  break;
-                }
-
-                var index = this.readInt();
-                this.getToken();
-                var glyph = this.getToken();
-                encoding[index] = glyph;
-                this.getToken();
-              }
-            }
-
-            properties.builtInEncoding = encoding;
-            break;
-
-          case "FontBBox":
-            var fontBBox = this.readNumberArray();
-            properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
-            properties.descent = Math.min(fontBBox[1], fontBBox[3]);
-            properties.ascentScaled = true;
-            break;
-        }
-      }
-    }
-  };
-  return Type1Parser;
-}();
-
-exports.Type1Parser = Type1Parser;
-
-/***/ }),
-/* 226 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getTilingPatternIR = getTilingPatternIR;
-exports.Pattern = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _colorspace = __w_pdfjs_require__(212);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var ShadingType = {
-  FUNCTION_BASED: 1,
-  AXIAL: 2,
-  RADIAL: 3,
-  FREE_FORM_MESH: 4,
-  LATTICE_FORM_MESH: 5,
-  COONS_PATCH_MESH: 6,
-  TENSOR_PATCH_MESH: 7
-};
-
-var Pattern = function PatternClosure() {
-  function Pattern() {
-    (0, _util.unreachable)("should not call Pattern constructor");
-  }
-
-  Pattern.prototype = {
-    getPattern: function Pattern_getPattern(ctx) {
-      (0, _util.unreachable)("Should not call Pattern.getStyle: ".concat(ctx));
-    }
-  };
-
-  Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {
-    var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;
-    var type = dict.get("ShadingType");
-
-    try {
-      switch (type) {
-        case ShadingType.AXIAL:
-        case ShadingType.RADIAL:
-          return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);
-
-        case ShadingType.FREE_FORM_MESH:
-        case ShadingType.LATTICE_FORM_MESH:
-        case ShadingType.COONS_PATCH_MESH:
-        case ShadingType.TENSOR_PATCH_MESH:
-          return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);
-
-        default:
-          throw new _util.FormatError("Unsupported ShadingType: " + type);
-      }
-    } catch (ex) {
-      if (ex instanceof _core_utils.MissingDataException) {
-        throw ex;
-      }
-
-      handler.send("UnsupportedFeature", {
-        featureId: _util.UNSUPPORTED_FEATURES.shadingPattern
-      });
-      (0, _util.warn)(ex);
-      return new Shadings.Dummy();
-    }
-  };
-
-  return Pattern;
-}();
-
-exports.Pattern = Pattern;
-var Shadings = {};
-Shadings.SMALL_NUMBER = 1e-6;
-
-Shadings.RadialAxial = function RadialAxialClosure() {
-  function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {
-    this.matrix = matrix;
-    this.coordsArr = dict.getArray("Coords");
-    this.shadingType = dict.get("ShadingType");
-    this.type = "Pattern";
-    var cs = dict.get("ColorSpace", "CS");
-    cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);
-    this.cs = cs;
-    var bbox = dict.getArray("BBox");
-
-    if (Array.isArray(bbox) && bbox.length === 4) {
-      this.bbox = _util.Util.normalizeRect(bbox);
-    } else {
-      this.bbox = null;
-    }
-
-    var t0 = 0.0,
-        t1 = 1.0;
-
-    if (dict.has("Domain")) {
-      var domainArr = dict.getArray("Domain");
-      t0 = domainArr[0];
-      t1 = domainArr[1];
-    }
-
-    var extendStart = false,
-        extendEnd = false;
-
-    if (dict.has("Extend")) {
-      var extendArr = dict.getArray("Extend");
-      extendStart = extendArr[0];
-      extendEnd = extendArr[1];
-    }
-
-    if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {
-      var x1 = this.coordsArr[0];
-      var y1 = this.coordsArr[1];
-      var r1 = this.coordsArr[2];
-      var x2 = this.coordsArr[3];
-      var y2 = this.coordsArr[4];
-      var r2 = this.coordsArr[5];
-      var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
-
-      if (r1 <= r2 + distance && r2 <= r1 + distance) {
-        (0, _util.warn)("Unsupported radial gradient.");
-      }
-    }
-
-    this.extendStart = extendStart;
-    this.extendEnd = extendEnd;
-    var fnObj = dict.get("Function");
-    var fn = pdfFunctionFactory.createFromArray(fnObj);
-    var NUMBER_OF_SAMPLES = 10;
-    var step = (t1 - t0) / NUMBER_OF_SAMPLES;
-    var colorStops = this.colorStops = [];
-
-    if (t0 >= t1 || step <= 0) {
-      (0, _util.info)("Bad shading domain.");
-      return;
-    }
-
-    var color = new Float32Array(cs.numComps),
-        ratio = new Float32Array(1);
-    var rgbColor;
-
-    for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {
-      ratio[0] = t0 + i * step;
-      fn(ratio, 0, color, 0);
-      rgbColor = cs.getRgb(color, 0);
-
-      var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
-
-      colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);
-    }
-
-    var background = "transparent";
-
-    if (dict.has("Background")) {
-      rgbColor = cs.getRgb(dict.get("Background"), 0);
-      background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
-    }
-
-    if (!extendStart) {
-      colorStops.unshift([0, background]);
-      colorStops[1][0] += Shadings.SMALL_NUMBER;
-    }
-
-    if (!extendEnd) {
-      colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;
-      colorStops.push([1, background]);
-    }
-
-    this.colorStops = colorStops;
-  }
-
-  RadialAxial.prototype = {
-    getIR: function RadialAxial_getIR() {
-      var coordsArr = this.coordsArr;
-      var shadingType = this.shadingType;
-      var type, p0, p1, r0, r1;
-
-      if (shadingType === ShadingType.AXIAL) {
-        p0 = [coordsArr[0], coordsArr[1]];
-        p1 = [coordsArr[2], coordsArr[3]];
-        r0 = null;
-        r1 = null;
-        type = "axial";
-      } else if (shadingType === ShadingType.RADIAL) {
-        p0 = [coordsArr[0], coordsArr[1]];
-        p1 = [coordsArr[3], coordsArr[4]];
-        r0 = coordsArr[2];
-        r1 = coordsArr[5];
-        type = "radial";
-      } else {
-        (0, _util.unreachable)("getPattern type unknown: ".concat(shadingType));
-      }
-
-      var matrix = this.matrix;
-
-      if (matrix) {
-        p0 = _util.Util.applyTransform(p0, matrix);
-        p1 = _util.Util.applyTransform(p1, matrix);
-
-        if (shadingType === ShadingType.RADIAL) {
-          var scale = _util.Util.singularValueDecompose2dScale(matrix);
-
-          r0 *= scale[0];
-          r1 *= scale[1];
-        }
-      }
-
-      return ["RadialAxial", type, this.bbox, this.colorStops, p0, p1, r0, r1];
-    }
-  };
-  return RadialAxial;
-}();
-
-Shadings.Mesh = function MeshClosure() {
-  function MeshStreamReader(stream, context) {
-    this.stream = stream;
-    this.context = context;
-    this.buffer = 0;
-    this.bufferLength = 0;
-    var numComps = context.numComps;
-    this.tmpCompsBuf = new Float32Array(numComps);
-    var csNumComps = context.colorSpace.numComps;
-    this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;
-  }
-
-  MeshStreamReader.prototype = {
-    get hasData() {
-      if (this.stream.end) {
-        return this.stream.pos < this.stream.end;
-      }
-
-      if (this.bufferLength > 0) {
-        return true;
-      }
-
-      var nextByte = this.stream.getByte();
-
-      if (nextByte < 0) {
-        return false;
-      }
-
-      this.buffer = nextByte;
-      this.bufferLength = 8;
-      return true;
-    },
-
-    readBits: function MeshStreamReader_readBits(n) {
-      var buffer = this.buffer;
-      var bufferLength = this.bufferLength;
-
-      if (n === 32) {
-        if (bufferLength === 0) {
-          return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;
-        }
-
-        buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();
-        var nextByte = this.stream.getByte();
-        this.buffer = nextByte & (1 << bufferLength) - 1;
-        return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;
-      }
-
-      if (n === 8 && bufferLength === 0) {
-        return this.stream.getByte();
-      }
-
-      while (bufferLength < n) {
-        buffer = buffer << 8 | this.stream.getByte();
-        bufferLength += 8;
-      }
-
-      bufferLength -= n;
-      this.bufferLength = bufferLength;
-      this.buffer = buffer & (1 << bufferLength) - 1;
-      return buffer >> bufferLength;
-    },
-    align: function MeshStreamReader_align() {
-      this.buffer = 0;
-      this.bufferLength = 0;
-    },
-    readFlag: function MeshStreamReader_readFlag() {
-      return this.readBits(this.context.bitsPerFlag);
-    },
-    readCoordinate: function MeshStreamReader_readCoordinate() {
-      var bitsPerCoordinate = this.context.bitsPerCoordinate;
-      var xi = this.readBits(bitsPerCoordinate);
-      var yi = this.readBits(bitsPerCoordinate);
-      var decode = this.context.decode;
-      var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;
-      return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];
-    },
-    readComponents: function MeshStreamReader_readComponents() {
-      var numComps = this.context.numComps;
-      var bitsPerComponent = this.context.bitsPerComponent;
-      var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;
-      var decode = this.context.decode;
-      var components = this.tmpCompsBuf;
-
-      for (var i = 0, j = 4; i < numComps; i++, j += 2) {
-        var ci = this.readBits(bitsPerComponent);
-        components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];
-      }
-
-      var color = this.tmpCsCompsBuf;
-
-      if (this.context.colorFn) {
-        this.context.colorFn(components, 0, color, 0);
-      }
-
-      return this.context.colorSpace.getRgb(color, 0);
-    }
-  };
-
-  function decodeType4Shading(mesh, reader) {
-    var coords = mesh.coords;
-    var colors = mesh.colors;
-    var operators = [];
-    var ps = [];
-    var verticesLeft = 0;
-
-    while (reader.hasData) {
-      var f = reader.readFlag();
-      var coord = reader.readCoordinate();
-      var color = reader.readComponents();
-
-      if (verticesLeft === 0) {
-        if (!(0 <= f && f <= 2)) {
-          throw new _util.FormatError("Unknown type4 flag");
-        }
-
-        switch (f) {
-          case 0:
-            verticesLeft = 3;
-            break;
-
-          case 1:
-            ps.push(ps[ps.length - 2], ps[ps.length - 1]);
-            verticesLeft = 1;
-            break;
-
-          case 2:
-            ps.push(ps[ps.length - 3], ps[ps.length - 1]);
-            verticesLeft = 1;
-            break;
-        }
-
-        operators.push(f);
-      }
-
-      ps.push(coords.length);
-      coords.push(coord);
-      colors.push(color);
-      verticesLeft--;
-      reader.align();
-    }
-
-    mesh.figures.push({
-      type: "triangles",
-      coords: new Int32Array(ps),
-      colors: new Int32Array(ps)
-    });
-  }
-
-  function decodeType5Shading(mesh, reader, verticesPerRow) {
-    var coords = mesh.coords;
-    var colors = mesh.colors;
-    var ps = [];
-
-    while (reader.hasData) {
-      var coord = reader.readCoordinate();
-      var color = reader.readComponents();
-      ps.push(coords.length);
-      coords.push(coord);
-      colors.push(color);
-    }
-
-    mesh.figures.push({
-      type: "lattice",
-      coords: new Int32Array(ps),
-      colors: new Int32Array(ps),
-      verticesPerRow: verticesPerRow
-    });
-  }
-
-  var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;
-  var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;
-  var TRIANGLE_DENSITY = 20;
-
-  var getB = function getBClosure() {
-    function buildB(count) {
-      var lut = [];
-
-      for (var i = 0; i <= count; i++) {
-        var t = i / count,
-            t_ = 1 - t;
-        lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));
-      }
-
-      return lut;
-    }
-
-    var cache = [];
-    return function getB(count) {
-      if (!cache[count]) {
-        cache[count] = buildB(count);
-      }
-
-      return cache[count];
-    };
-  }();
-
-  function buildFigureFromPatch(mesh, index) {
-    var figure = mesh.figures[index];
-    (0, _util.assert)(figure.type === "patch", "Unexpected patch mesh figure");
-    var coords = mesh.coords,
-        colors = mesh.colors;
-    var pi = figure.coords;
-    var ci = figure.colors;
-    var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);
-    var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);
-    var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);
-    var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);
-    var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));
-    splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));
-    var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));
-    splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));
-    var verticesPerRow = splitXBy + 1;
-    var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);
-    var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);
-    var k = 0;
-    var cl = new Uint8Array(3),
-        cr = new Uint8Array(3);
-    var c0 = colors[ci[0]],
-        c1 = colors[ci[1]],
-        c2 = colors[ci[2]],
-        c3 = colors[ci[3]];
-    var bRow = getB(splitYBy),
-        bCol = getB(splitXBy);
-
-    for (var row = 0; row <= splitYBy; row++) {
-      cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;
-      cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;
-      cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;
-      cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;
-      cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;
-      cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;
-
-      for (var col = 0; col <= splitXBy; col++, k++) {
-        if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {
-          continue;
-        }
-
-        var x = 0,
-            y = 0;
-        var q = 0;
-
-        for (var i = 0; i <= 3; i++) {
-          for (var j = 0; j <= 3; j++, q++) {
-            var m = bRow[row][i] * bCol[col][j];
-            x += coords[pi[q]][0] * m;
-            y += coords[pi[q]][1] * m;
-          }
-        }
-
-        figureCoords[k] = coords.length;
-        coords.push([x, y]);
-        figureColors[k] = colors.length;
-        var newColor = new Uint8Array(3);
-        newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;
-        newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;
-        newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;
-        colors.push(newColor);
-      }
-    }
-
-    figureCoords[0] = pi[0];
-    figureColors[0] = ci[0];
-    figureCoords[splitXBy] = pi[3];
-    figureColors[splitXBy] = ci[1];
-    figureCoords[verticesPerRow * splitYBy] = pi[12];
-    figureColors[verticesPerRow * splitYBy] = ci[2];
-    figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];
-    figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];
-    mesh.figures[index] = {
-      type: "lattice",
-      coords: figureCoords,
-      colors: figureColors,
-      verticesPerRow: verticesPerRow
-    };
-  }
-
-  function decodeType6Shading(mesh, reader) {
-    var coords = mesh.coords;
-    var colors = mesh.colors;
-    var ps = new Int32Array(16);
-    var cs = new Int32Array(4);
-
-    while (reader.hasData) {
-      var f = reader.readFlag();
-
-      if (!(0 <= f && f <= 3)) {
-        throw new _util.FormatError("Unknown type6 flag");
-      }
-
-      var i, ii;
-      var pi = coords.length;
-
-      for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {
-        coords.push(reader.readCoordinate());
-      }
-
-      var ci = colors.length;
-
-      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {
-        colors.push(reader.readComponents());
-      }
-
-      var tmp1, tmp2, tmp3, tmp4;
-
-      switch (f) {
-        case 0:
-          ps[12] = pi + 3;
-          ps[13] = pi + 4;
-          ps[14] = pi + 5;
-          ps[15] = pi + 6;
-          ps[8] = pi + 2;
-          ps[11] = pi + 7;
-          ps[4] = pi + 1;
-          ps[7] = pi + 8;
-          ps[0] = pi;
-          ps[1] = pi + 11;
-          ps[2] = pi + 10;
-          ps[3] = pi + 9;
-          cs[2] = ci + 1;
-          cs[3] = ci + 2;
-          cs[0] = ci;
-          cs[1] = ci + 3;
-          break;
-
-        case 1:
-          tmp1 = ps[12];
-          tmp2 = ps[13];
-          tmp3 = ps[14];
-          tmp4 = ps[15];
-          ps[12] = tmp4;
-          ps[13] = pi + 0;
-          ps[14] = pi + 1;
-          ps[15] = pi + 2;
-          ps[8] = tmp3;
-          ps[11] = pi + 3;
-          ps[4] = tmp2;
-          ps[7] = pi + 4;
-          ps[0] = tmp1;
-          ps[1] = pi + 7;
-          ps[2] = pi + 6;
-          ps[3] = pi + 5;
-          tmp1 = cs[2];
-          tmp2 = cs[3];
-          cs[2] = tmp2;
-          cs[3] = ci;
-          cs[0] = tmp1;
-          cs[1] = ci + 1;
-          break;
-
-        case 2:
-          tmp1 = ps[15];
-          tmp2 = ps[11];
-          ps[12] = ps[3];
-          ps[13] = pi + 0;
-          ps[14] = pi + 1;
-          ps[15] = pi + 2;
-          ps[8] = ps[7];
-          ps[11] = pi + 3;
-          ps[4] = tmp2;
-          ps[7] = pi + 4;
-          ps[0] = tmp1;
-          ps[1] = pi + 7;
-          ps[2] = pi + 6;
-          ps[3] = pi + 5;
-          tmp1 = cs[3];
-          cs[2] = cs[1];
-          cs[3] = ci;
-          cs[0] = tmp1;
-          cs[1] = ci + 1;
-          break;
-
-        case 3:
-          ps[12] = ps[0];
-          ps[13] = pi + 0;
-          ps[14] = pi + 1;
-          ps[15] = pi + 2;
-          ps[8] = ps[1];
-          ps[11] = pi + 3;
-          ps[4] = ps[2];
-          ps[7] = pi + 4;
-          ps[0] = ps[3];
-          ps[1] = pi + 7;
-          ps[2] = pi + 6;
-          ps[3] = pi + 5;
-          cs[2] = cs[0];
-          cs[3] = ci;
-          cs[0] = cs[1];
-          cs[1] = ci + 1;
-          break;
-      }
-
-      ps[5] = coords.length;
-      coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);
-      ps[6] = coords.length;
-      coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);
-      ps[9] = coords.length;
-      coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);
-      ps[10] = coords.length;
-      coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);
-      mesh.figures.push({
-        type: "patch",
-        coords: new Int32Array(ps),
-        colors: new Int32Array(cs)
-      });
-    }
-  }
-
-  function decodeType7Shading(mesh, reader) {
-    var coords = mesh.coords;
-    var colors = mesh.colors;
-    var ps = new Int32Array(16);
-    var cs = new Int32Array(4);
-
-    while (reader.hasData) {
-      var f = reader.readFlag();
-
-      if (!(0 <= f && f <= 3)) {
-        throw new _util.FormatError("Unknown type7 flag");
-      }
-
-      var i, ii;
-      var pi = coords.length;
-
-      for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {
-        coords.push(reader.readCoordinate());
-      }
-
-      var ci = colors.length;
-
-      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {
-        colors.push(reader.readComponents());
-      }
-
-      var tmp1, tmp2, tmp3, tmp4;
-
-      switch (f) {
-        case 0:
-          ps[12] = pi + 3;
-          ps[13] = pi + 4;
-          ps[14] = pi + 5;
-          ps[15] = pi + 6;
-          ps[8] = pi + 2;
-          ps[9] = pi + 13;
-          ps[10] = pi + 14;
-          ps[11] = pi + 7;
-          ps[4] = pi + 1;
-          ps[5] = pi + 12;
-          ps[6] = pi + 15;
-          ps[7] = pi + 8;
-          ps[0] = pi;
-          ps[1] = pi + 11;
-          ps[2] = pi + 10;
-          ps[3] = pi + 9;
-          cs[2] = ci + 1;
-          cs[3] = ci + 2;
-          cs[0] = ci;
-          cs[1] = ci + 3;
-          break;
-
-        case 1:
-          tmp1 = ps[12];
-          tmp2 = ps[13];
-          tmp3 = ps[14];
-          tmp4 = ps[15];
-          ps[12] = tmp4;
-          ps[13] = pi + 0;
-          ps[14] = pi + 1;
-          ps[15] = pi + 2;
-          ps[8] = tmp3;
-          ps[9] = pi + 9;
-          ps[10] = pi + 10;
-          ps[11] = pi + 3;
-          ps[4] = tmp2;
-          ps[5] = pi + 8;
-          ps[6] = pi + 11;
-          ps[7] = pi + 4;
-          ps[0] = tmp1;
-          ps[1] = pi + 7;
-          ps[2] = pi + 6;
-          ps[3] = pi + 5;
-          tmp1 = cs[2];
-          tmp2 = cs[3];
-          cs[2] = tmp2;
-          cs[3] = ci;
-          cs[0] = tmp1;
-          cs[1] = ci + 1;
-          break;
-
-        case 2:
-          tmp1 = ps[15];
-          tmp2 = ps[11];
-          ps[12] = ps[3];
-          ps[13] = pi + 0;
-          ps[14] = pi + 1;
-          ps[15] = pi + 2;
-          ps[8] = ps[7];
-          ps[9] = pi + 9;
-          ps[10] = pi + 10;
-          ps[11] = pi + 3;
-          ps[4] = tmp2;
-          ps[5] = pi + 8;
-          ps[6] = pi + 11;
-          ps[7] = pi + 4;
-          ps[0] = tmp1;
-          ps[1] = pi + 7;
-          ps[2] = pi + 6;
-          ps[3] = pi + 5;
-          tmp1 = cs[3];
-          cs[2] = cs[1];
-          cs[3] = ci;
-          cs[0] = tmp1;
-          cs[1] = ci + 1;
-          break;
-
-        case 3:
-          ps[12] = ps[0];
-          ps[13] = pi + 0;
-          ps[14] = pi + 1;
-          ps[15] = pi + 2;
-          ps[8] = ps[1];
-          ps[9] = pi + 9;
-          ps[10] = pi + 10;
-          ps[11] = pi + 3;
-          ps[4] = ps[2];
-          ps[5] = pi + 8;
-          ps[6] = pi + 11;
-          ps[7] = pi + 4;
-          ps[0] = ps[3];
-          ps[1] = pi + 7;
-          ps[2] = pi + 6;
-          ps[3] = pi + 5;
-          cs[2] = cs[0];
-          cs[3] = ci;
-          cs[0] = cs[1];
-          cs[1] = ci + 1;
-          break;
-      }
-
-      mesh.figures.push({
-        type: "patch",
-        coords: new Int32Array(ps),
-        colors: new Int32Array(cs)
-      });
-    }
-  }
-
-  function updateBounds(mesh) {
-    var minX = mesh.coords[0][0],
-        minY = mesh.coords[0][1],
-        maxX = minX,
-        maxY = minY;
-
-    for (var i = 1, ii = mesh.coords.length; i < ii; i++) {
-      var x = mesh.coords[i][0],
-          y = mesh.coords[i][1];
-      minX = minX > x ? x : minX;
-      minY = minY > y ? y : minY;
-      maxX = maxX < x ? x : maxX;
-      maxY = maxY < y ? y : maxY;
-    }
-
-    mesh.bounds = [minX, minY, maxX, maxY];
-  }
-
-  function packData(mesh) {
-    var i, ii, j, jj;
-    var coords = mesh.coords;
-    var coordsPacked = new Float32Array(coords.length * 2);
-
-    for (i = 0, j = 0, ii = coords.length; i < ii; i++) {
-      var xy = coords[i];
-      coordsPacked[j++] = xy[0];
-      coordsPacked[j++] = xy[1];
-    }
-
-    mesh.coords = coordsPacked;
-    var colors = mesh.colors;
-    var colorsPacked = new Uint8Array(colors.length * 3);
-
-    for (i = 0, j = 0, ii = colors.length; i < ii; i++) {
-      var c = colors[i];
-      colorsPacked[j++] = c[0];
-      colorsPacked[j++] = c[1];
-      colorsPacked[j++] = c[2];
-    }
-
-    mesh.colors = colorsPacked;
-    var figures = mesh.figures;
-
-    for (i = 0, ii = figures.length; i < ii; i++) {
-      var figure = figures[i],
-          ps = figure.coords,
-          cs = figure.colors;
-
-      for (j = 0, jj = ps.length; j < jj; j++) {
-        ps[j] *= 2;
-        cs[j] *= 3;
-      }
-    }
-  }
-
-  function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {
-    if (!(0, _primitives.isStream)(stream)) {
-      throw new _util.FormatError("Mesh data is not a stream");
-    }
-
-    var dict = stream.dict;
-    this.matrix = matrix;
-    this.shadingType = dict.get("ShadingType");
-    this.type = "Pattern";
-    var bbox = dict.getArray("BBox");
-
-    if (Array.isArray(bbox) && bbox.length === 4) {
-      this.bbox = _util.Util.normalizeRect(bbox);
-    } else {
-      this.bbox = null;
-    }
-
-    var cs = dict.get("ColorSpace", "CS");
-    cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);
-    this.cs = cs;
-    this.background = dict.has("Background") ? cs.getRgb(dict.get("Background"), 0) : null;
-    var fnObj = dict.get("Function");
-    var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;
-    this.coords = [];
-    this.colors = [];
-    this.figures = [];
-    var decodeContext = {
-      bitsPerCoordinate: dict.get("BitsPerCoordinate"),
-      bitsPerComponent: dict.get("BitsPerComponent"),
-      bitsPerFlag: dict.get("BitsPerFlag"),
-      decode: dict.getArray("Decode"),
-      colorFn: fn,
-      colorSpace: cs,
-      numComps: fn ? 1 : cs.numComps
-    };
-    var reader = new MeshStreamReader(stream, decodeContext);
-    var patchMesh = false;
-
-    switch (this.shadingType) {
-      case ShadingType.FREE_FORM_MESH:
-        decodeType4Shading(this, reader);
-        break;
-
-      case ShadingType.LATTICE_FORM_MESH:
-        var verticesPerRow = dict.get("VerticesPerRow") | 0;
-
-        if (verticesPerRow < 2) {
-          throw new _util.FormatError("Invalid VerticesPerRow");
-        }
-
-        decodeType5Shading(this, reader, verticesPerRow);
-        break;
-
-      case ShadingType.COONS_PATCH_MESH:
-        decodeType6Shading(this, reader);
-        patchMesh = true;
-        break;
-
-      case ShadingType.TENSOR_PATCH_MESH:
-        decodeType7Shading(this, reader);
-        patchMesh = true;
-        break;
-
-      default:
-        (0, _util.unreachable)("Unsupported mesh type.");
-        break;
-    }
-
-    if (patchMesh) {
-      updateBounds(this);
-
-      for (var i = 0, ii = this.figures.length; i < ii; i++) {
-        buildFigureFromPatch(this, i);
-      }
-    }
-
-    updateBounds(this);
-    packData(this);
-  }
-
-  Mesh.prototype = {
-    getIR: function Mesh_getIR() {
-      return ["Mesh", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];
-    }
-  };
-  return Mesh;
-}();
-
-Shadings.Dummy = function DummyClosure() {
-  function Dummy() {
-    this.type = "Pattern";
-  }
-
-  Dummy.prototype = {
-    getIR: function Dummy_getIR() {
-      return ["Dummy"];
-    }
-  };
-  return Dummy;
-}();
-
-function getTilingPatternIR(operatorList, dict, args) {
-  var matrix = dict.getArray("Matrix");
-
-  var bbox = _util.Util.normalizeRect(dict.getArray("BBox"));
-
-  var xstep = dict.get("XStep");
-  var ystep = dict.get("YStep");
-  var paintType = dict.get("PaintType");
-  var tilingType = dict.get("TilingType");
-
-  if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {
-    throw new _util.FormatError("Invalid getTilingPatternIR /BBox array: [".concat(bbox, "]."));
-  }
-
-  return ["TilingPattern", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];
-}
-
-/***/ }),
-/* 227 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.bidi = bidi;
-
-var _util = __w_pdfjs_require__(5);
-
-var baseTypes = ["BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "S", "B", "S", "WS", "B", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "B", "B", "B", "S", "WS", "ON", "ON", "ET", "ET", "ET", "ON", "ON", "ON", "ON", "ON", "ES", "CS", "ES", "CS", "CS", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "CS", "ON", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "ON", "ON", "ON", "BN", "BN", "BN", "BN", "BN", "BN", "B", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "CS", "ON", "ET", "ET", "ET", "ET", "ON", "ON", "ON", "ON", "L", "ON", "ON", "BN", "ON", "ON", "ET", "ET", "EN", "EN", "ON", "L", "ON", "ON", "ON", "EN", "L", "ON", "ON", "ON", "ON", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "ON", "L", "L", "L", "L", "L", "L", "L", "L"];
-var arabicTypes = ["AN", "AN", "AN", "AN", "AN", "AN", "ON", "ON", "AL", "ET", "ET", "AL", "CS", "AL", "ON", "ON", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "ET", "AN", "AN", "AL", "AL", "AL", "NSM", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "ON", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "NSM", "NSM", "ON", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "AL", "AL", "AL", "AL", "AL", "AL"];
-
-function isOdd(i) {
-  return (i & 1) !== 0;
-}
-
-function isEven(i) {
-  return (i & 1) === 0;
-}
-
-function findUnequal(arr, start, value) {
-  for (var j = start, jj = arr.length; j < jj; ++j) {
-    if (arr[j] !== value) {
-      return j;
-    }
-  }
-
-  return j;
-}
-
-function setValues(arr, start, end, value) {
-  for (var j = start; j < end; ++j) {
-    arr[j] = value;
-  }
-}
-
-function reverseValues(arr, start, end) {
-  for (var i = start, j = end - 1; i < j; ++i, --j) {
-    var temp = arr[i];
-    arr[i] = arr[j];
-    arr[j] = temp;
-  }
-}
-
-function createBidiText(str, isLTR) {
-  var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-  var dir = "ltr";
-
-  if (vertical) {
-    dir = "ttb";
-  } else if (!isLTR) {
-    dir = "rtl";
-  }
-
-  return {
-    str: str,
-    dir: dir
-  };
-}
-
-var chars = [];
-var types = [];
-
-function bidi(str, startLevel, vertical) {
-  var isLTR = true;
-  var strLength = str.length;
-
-  if (strLength === 0 || vertical) {
-    return createBidiText(str, isLTR, vertical);
-  }
-
-  chars.length = strLength;
-  types.length = strLength;
-  var numBidi = 0;
-  var i, ii;
-
-  for (i = 0; i < strLength; ++i) {
-    chars[i] = str.charAt(i);
-    var charCode = str.charCodeAt(i);
-    var charType = "L";
-
-    if (charCode <= 0x00ff) {
-      charType = baseTypes[charCode];
-    } else if (0x0590 <= charCode && charCode <= 0x05f4) {
-      charType = "R";
-    } else if (0x0600 <= charCode && charCode <= 0x06ff) {
-      charType = arabicTypes[charCode & 0xff];
-
-      if (!charType) {
-        (0, _util.warn)("Bidi: invalid Unicode character " + charCode.toString(16));
-      }
-    } else if (0x0700 <= charCode && charCode <= 0x08ac) {
-      charType = "AL";
-    }
-
-    if (charType === "R" || charType === "AL" || charType === "AN") {
-      numBidi++;
-    }
-
-    types[i] = charType;
-  }
-
-  if (numBidi === 0) {
-    isLTR = true;
-    return createBidiText(str, isLTR);
-  }
-
-  if (startLevel === -1) {
-    if (numBidi / strLength < 0.3) {
-      isLTR = true;
-      startLevel = 0;
-    } else {
-      isLTR = false;
-      startLevel = 1;
-    }
-  }
-
-  var levels = [];
-
-  for (i = 0; i < strLength; ++i) {
-    levels[i] = startLevel;
-  }
-
-  var e = isOdd(startLevel) ? "R" : "L";
-  var sor = e;
-  var eor = sor;
-  var lastType = sor;
-
-  for (i = 0; i < strLength; ++i) {
-    if (types[i] === "NSM") {
-      types[i] = lastType;
-    } else {
-      lastType = types[i];
-    }
-  }
-
-  lastType = sor;
-  var t;
-
-  for (i = 0; i < strLength; ++i) {
-    t = types[i];
-
-    if (t === "EN") {
-      types[i] = lastType === "AL" ? "AN" : "EN";
-    } else if (t === "R" || t === "L" || t === "AL") {
-      lastType = t;
-    }
-  }
-
-  for (i = 0; i < strLength; ++i) {
-    t = types[i];
-
-    if (t === "AL") {
-      types[i] = "R";
-    }
-  }
-
-  for (i = 1; i < strLength - 1; ++i) {
-    if (types[i] === "ES" && types[i - 1] === "EN" && types[i + 1] === "EN") {
-      types[i] = "EN";
-    }
-
-    if (types[i] === "CS" && (types[i - 1] === "EN" || types[i - 1] === "AN") && types[i + 1] === types[i - 1]) {
-      types[i] = types[i - 1];
-    }
-  }
-
-  for (i = 0; i < strLength; ++i) {
-    if (types[i] === "EN") {
-      var j;
-
-      for (j = i - 1; j >= 0; --j) {
-        if (types[j] !== "ET") {
-          break;
-        }
-
-        types[j] = "EN";
-      }
-
-      for (j = i + 1; j < strLength; ++j) {
-        if (types[j] !== "ET") {
-          break;
-        }
-
-        types[j] = "EN";
-      }
-    }
-  }
-
-  for (i = 0; i < strLength; ++i) {
-    t = types[i];
-
-    if (t === "WS" || t === "ES" || t === "ET" || t === "CS") {
-      types[i] = "ON";
-    }
-  }
-
-  lastType = sor;
-
-  for (i = 0; i < strLength; ++i) {
-    t = types[i];
-
-    if (t === "EN") {
-      types[i] = lastType === "L" ? "L" : "EN";
-    } else if (t === "R" || t === "L") {
-      lastType = t;
-    }
-  }
-
-  for (i = 0; i < strLength; ++i) {
-    if (types[i] === "ON") {
-      var end = findUnequal(types, i + 1, "ON");
-      var before = sor;
-
-      if (i > 0) {
-        before = types[i - 1];
-      }
-
-      var after = eor;
-
-      if (end + 1 < strLength) {
-        after = types[end + 1];
-      }
-
-      if (before !== "L") {
-        before = "R";
-      }
-
-      if (after !== "L") {
-        after = "R";
-      }
-
-      if (before === after) {
-        setValues(types, i, end, before);
-      }
-
-      i = end - 1;
-    }
-  }
-
-  for (i = 0; i < strLength; ++i) {
-    if (types[i] === "ON") {
-      types[i] = e;
-    }
-  }
-
-  for (i = 0; i < strLength; ++i) {
-    t = types[i];
-
-    if (isEven(levels[i])) {
-      if (t === "R") {
-        levels[i] += 1;
-      } else if (t === "AN" || t === "EN") {
-        levels[i] += 2;
-      }
-    } else {
-      if (t === "L" || t === "AN" || t === "EN") {
-        levels[i] += 1;
-      }
-    }
-  }
-
-  var highestLevel = -1;
-  var lowestOddLevel = 99;
-  var level;
-
-  for (i = 0, ii = levels.length; i < ii; ++i) {
-    level = levels[i];
-
-    if (highestLevel < level) {
-      highestLevel = level;
-    }
-
-    if (lowestOddLevel > level && isOdd(level)) {
-      lowestOddLevel = level;
-    }
-  }
-
-  for (level = highestLevel; level >= lowestOddLevel; --level) {
-    var start = -1;
-
-    for (i = 0, ii = levels.length; i < ii; ++i) {
-      if (levels[i] < level) {
-        if (start >= 0) {
-          reverseValues(chars, start, i);
-          start = -1;
-        }
-      } else if (start < 0) {
-        start = i;
-      }
-    }
-
-    if (start >= 0) {
-      reverseValues(chars, start, levels.length);
-    }
-  }
-
-  for (i = 0, ii = chars.length; i < ii; ++i) {
-    var ch = chars[i];
-
-    if (ch === "<" || ch === ">") {
-      chars[i] = "";
-    }
-  }
-
-  return createBidiText(chars.join(""), isLTR);
-}
-
-/***/ }),
-/* 228 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getMetrics = void 0;
-
-var _core_utils = __w_pdfjs_require__(197);
-
-var getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {
-  t["Courier"] = 600;
-  t["Courier-Bold"] = 600;
-  t["Courier-BoldOblique"] = 600;
-  t["Courier-Oblique"] = 600;
-  t["Helvetica"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 278;
-    t["exclam"] = 278;
-    t["quotedbl"] = 355;
-    t["numbersign"] = 556;
-    t["dollar"] = 556;
-    t["percent"] = 889;
-    t["ampersand"] = 667;
-    t["quoteright"] = 222;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 389;
-    t["plus"] = 584;
-    t["comma"] = 278;
-    t["hyphen"] = 333;
-    t["period"] = 278;
-    t["slash"] = 278;
-    t["zero"] = 556;
-    t["one"] = 556;
-    t["two"] = 556;
-    t["three"] = 556;
-    t["four"] = 556;
-    t["five"] = 556;
-    t["six"] = 556;
-    t["seven"] = 556;
-    t["eight"] = 556;
-    t["nine"] = 556;
-    t["colon"] = 278;
-    t["semicolon"] = 278;
-    t["less"] = 584;
-    t["equal"] = 584;
-    t["greater"] = 584;
-    t["question"] = 556;
-    t["at"] = 1015;
-    t["A"] = 667;
-    t["B"] = 667;
-    t["C"] = 722;
-    t["D"] = 722;
-    t["E"] = 667;
-    t["F"] = 611;
-    t["G"] = 778;
-    t["H"] = 722;
-    t["I"] = 278;
-    t["J"] = 500;
-    t["K"] = 667;
-    t["L"] = 556;
-    t["M"] = 833;
-    t["N"] = 722;
-    t["O"] = 778;
-    t["P"] = 667;
-    t["Q"] = 778;
-    t["R"] = 722;
-    t["S"] = 667;
-    t["T"] = 611;
-    t["U"] = 722;
-    t["V"] = 667;
-    t["W"] = 944;
-    t["X"] = 667;
-    t["Y"] = 667;
-    t["Z"] = 611;
-    t["bracketleft"] = 278;
-    t["backslash"] = 278;
-    t["bracketright"] = 278;
-    t["asciicircum"] = 469;
-    t["underscore"] = 556;
-    t["quoteleft"] = 222;
-    t["a"] = 556;
-    t["b"] = 556;
-    t["c"] = 500;
-    t["d"] = 556;
-    t["e"] = 556;
-    t["f"] = 278;
-    t["g"] = 556;
-    t["h"] = 556;
-    t["i"] = 222;
-    t["j"] = 222;
-    t["k"] = 500;
-    t["l"] = 222;
-    t["m"] = 833;
-    t["n"] = 556;
-    t["o"] = 556;
-    t["p"] = 556;
-    t["q"] = 556;
-    t["r"] = 333;
-    t["s"] = 500;
-    t["t"] = 278;
-    t["u"] = 556;
-    t["v"] = 500;
-    t["w"] = 722;
-    t["x"] = 500;
-    t["y"] = 500;
-    t["z"] = 500;
-    t["braceleft"] = 334;
-    t["bar"] = 260;
-    t["braceright"] = 334;
-    t["asciitilde"] = 584;
-    t["exclamdown"] = 333;
-    t["cent"] = 556;
-    t["sterling"] = 556;
-    t["fraction"] = 167;
-    t["yen"] = 556;
-    t["florin"] = 556;
-    t["section"] = 556;
-    t["currency"] = 556;
-    t["quotesingle"] = 191;
-    t["quotedblleft"] = 333;
-    t["guillemotleft"] = 556;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 500;
-    t["fl"] = 500;
-    t["endash"] = 556;
-    t["dagger"] = 556;
-    t["daggerdbl"] = 556;
-    t["periodcentered"] = 278;
-    t["paragraph"] = 537;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 222;
-    t["quotedblbase"] = 333;
-    t["quotedblright"] = 333;
-    t["guillemotright"] = 556;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 611;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 1000;
-    t["ordfeminine"] = 370;
-    t["Lslash"] = 556;
-    t["Oslash"] = 778;
-    t["OE"] = 1000;
-    t["ordmasculine"] = 365;
-    t["ae"] = 889;
-    t["dotlessi"] = 278;
-    t["lslash"] = 222;
-    t["oslash"] = 611;
-    t["oe"] = 944;
-    t["germandbls"] = 611;
-    t["Idieresis"] = 278;
-    t["eacute"] = 556;
-    t["abreve"] = 556;
-    t["uhungarumlaut"] = 556;
-    t["ecaron"] = 556;
-    t["Ydieresis"] = 667;
-    t["divide"] = 584;
-    t["Yacute"] = 667;
-    t["Acircumflex"] = 667;
-    t["aacute"] = 556;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 500;
-    t["scommaaccent"] = 500;
-    t["ecircumflex"] = 556;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 556;
-    t["Uacute"] = 722;
-    t["uogonek"] = 556;
-    t["Edieresis"] = 667;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 737;
-    t["Emacron"] = 667;
-    t["ccaron"] = 500;
-    t["aring"] = 556;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 222;
-    t["agrave"] = 556;
-    t["Tcommaaccent"] = 611;
-    t["Cacute"] = 722;
-    t["atilde"] = 556;
-    t["Edotaccent"] = 667;
-    t["scaron"] = 500;
-    t["scedilla"] = 500;
-    t["iacute"] = 278;
-    t["lozenge"] = 471;
-    t["Rcaron"] = 722;
-    t["Gcommaaccent"] = 778;
-    t["ucircumflex"] = 556;
-    t["acircumflex"] = 556;
-    t["Amacron"] = 667;
-    t["rcaron"] = 333;
-    t["ccedilla"] = 500;
-    t["Zdotaccent"] = 611;
-    t["Thorn"] = 667;
-    t["Omacron"] = 778;
-    t["Racute"] = 722;
-    t["Sacute"] = 667;
-    t["dcaron"] = 643;
-    t["Umacron"] = 722;
-    t["uring"] = 556;
-    t["threesuperior"] = 333;
-    t["Ograve"] = 778;
-    t["Agrave"] = 667;
-    t["Abreve"] = 667;
-    t["multiply"] = 584;
-    t["uacute"] = 556;
-    t["Tcaron"] = 611;
-    t["partialdiff"] = 476;
-    t["ydieresis"] = 500;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 667;
-    t["adieresis"] = 556;
-    t["edieresis"] = 556;
-    t["cacute"] = 500;
-    t["nacute"] = 556;
-    t["umacron"] = 556;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 278;
-    t["plusminus"] = 584;
-    t["brokenbar"] = 260;
-    t["registered"] = 737;
-    t["Gbreve"] = 778;
-    t["Idotaccent"] = 278;
-    t["summation"] = 600;
-    t["Egrave"] = 667;
-    t["racute"] = 333;
-    t["omacron"] = 556;
-    t["Zacute"] = 611;
-    t["Zcaron"] = 611;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 722;
-    t["lcommaaccent"] = 222;
-    t["tcaron"] = 317;
-    t["eogonek"] = 556;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 667;
-    t["Adieresis"] = 667;
-    t["egrave"] = 556;
-    t["zacute"] = 500;
-    t["iogonek"] = 222;
-    t["Oacute"] = 778;
-    t["oacute"] = 556;
-    t["amacron"] = 556;
-    t["sacute"] = 500;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 778;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 556;
-    t["twosuperior"] = 333;
-    t["Odieresis"] = 778;
-    t["mu"] = 556;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 556;
-    t["Eogonek"] = 667;
-    t["dcroat"] = 556;
-    t["threequarters"] = 834;
-    t["Scedilla"] = 667;
-    t["lcaron"] = 299;
-    t["Kcommaaccent"] = 667;
-    t["Lacute"] = 556;
-    t["trademark"] = 1000;
-    t["edotaccent"] = 556;
-    t["Igrave"] = 278;
-    t["Imacron"] = 278;
-    t["Lcaron"] = 556;
-    t["onehalf"] = 834;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 556;
-    t["ntilde"] = 556;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 667;
-    t["emacron"] = 556;
-    t["gbreve"] = 556;
-    t["onequarter"] = 834;
-    t["Scaron"] = 667;
-    t["Scommaaccent"] = 667;
-    t["Ohungarumlaut"] = 778;
-    t["degree"] = 400;
-    t["ograve"] = 556;
-    t["Ccaron"] = 722;
-    t["ugrave"] = 556;
-    t["radical"] = 453;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 333;
-    t["Ntilde"] = 722;
-    t["otilde"] = 556;
-    t["Rcommaaccent"] = 722;
-    t["Lcommaaccent"] = 556;
-    t["Atilde"] = 667;
-    t["Aogonek"] = 667;
-    t["Aring"] = 667;
-    t["Otilde"] = 778;
-    t["zdotaccent"] = 500;
-    t["Ecaron"] = 667;
-    t["Iogonek"] = 278;
-    t["kcommaaccent"] = 500;
-    t["minus"] = 584;
-    t["Icircumflex"] = 278;
-    t["ncaron"] = 556;
-    t["tcommaaccent"] = 278;
-    t["logicalnot"] = 584;
-    t["odieresis"] = 556;
-    t["udieresis"] = 556;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 556;
-    t["eth"] = 556;
-    t["zcaron"] = 500;
-    t["ncommaaccent"] = 556;
-    t["onesuperior"] = 333;
-    t["imacron"] = 278;
-    t["Euro"] = 556;
-  });
-  t["Helvetica-Bold"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 278;
-    t["exclam"] = 333;
-    t["quotedbl"] = 474;
-    t["numbersign"] = 556;
-    t["dollar"] = 556;
-    t["percent"] = 889;
-    t["ampersand"] = 722;
-    t["quoteright"] = 278;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 389;
-    t["plus"] = 584;
-    t["comma"] = 278;
-    t["hyphen"] = 333;
-    t["period"] = 278;
-    t["slash"] = 278;
-    t["zero"] = 556;
-    t["one"] = 556;
-    t["two"] = 556;
-    t["three"] = 556;
-    t["four"] = 556;
-    t["five"] = 556;
-    t["six"] = 556;
-    t["seven"] = 556;
-    t["eight"] = 556;
-    t["nine"] = 556;
-    t["colon"] = 333;
-    t["semicolon"] = 333;
-    t["less"] = 584;
-    t["equal"] = 584;
-    t["greater"] = 584;
-    t["question"] = 611;
-    t["at"] = 975;
-    t["A"] = 722;
-    t["B"] = 722;
-    t["C"] = 722;
-    t["D"] = 722;
-    t["E"] = 667;
-    t["F"] = 611;
-    t["G"] = 778;
-    t["H"] = 722;
-    t["I"] = 278;
-    t["J"] = 556;
-    t["K"] = 722;
-    t["L"] = 611;
-    t["M"] = 833;
-    t["N"] = 722;
-    t["O"] = 778;
-    t["P"] = 667;
-    t["Q"] = 778;
-    t["R"] = 722;
-    t["S"] = 667;
-    t["T"] = 611;
-    t["U"] = 722;
-    t["V"] = 667;
-    t["W"] = 944;
-    t["X"] = 667;
-    t["Y"] = 667;
-    t["Z"] = 611;
-    t["bracketleft"] = 333;
-    t["backslash"] = 278;
-    t["bracketright"] = 333;
-    t["asciicircum"] = 584;
-    t["underscore"] = 556;
-    t["quoteleft"] = 278;
-    t["a"] = 556;
-    t["b"] = 611;
-    t["c"] = 556;
-    t["d"] = 611;
-    t["e"] = 556;
-    t["f"] = 333;
-    t["g"] = 611;
-    t["h"] = 611;
-    t["i"] = 278;
-    t["j"] = 278;
-    t["k"] = 556;
-    t["l"] = 278;
-    t["m"] = 889;
-    t["n"] = 611;
-    t["o"] = 611;
-    t["p"] = 611;
-    t["q"] = 611;
-    t["r"] = 389;
-    t["s"] = 556;
-    t["t"] = 333;
-    t["u"] = 611;
-    t["v"] = 556;
-    t["w"] = 778;
-    t["x"] = 556;
-    t["y"] = 556;
-    t["z"] = 500;
-    t["braceleft"] = 389;
-    t["bar"] = 280;
-    t["braceright"] = 389;
-    t["asciitilde"] = 584;
-    t["exclamdown"] = 333;
-    t["cent"] = 556;
-    t["sterling"] = 556;
-    t["fraction"] = 167;
-    t["yen"] = 556;
-    t["florin"] = 556;
-    t["section"] = 556;
-    t["currency"] = 556;
-    t["quotesingle"] = 238;
-    t["quotedblleft"] = 500;
-    t["guillemotleft"] = 556;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 611;
-    t["fl"] = 611;
-    t["endash"] = 556;
-    t["dagger"] = 556;
-    t["daggerdbl"] = 556;
-    t["periodcentered"] = 278;
-    t["paragraph"] = 556;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 278;
-    t["quotedblbase"] = 500;
-    t["quotedblright"] = 500;
-    t["guillemotright"] = 556;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 611;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 1000;
-    t["ordfeminine"] = 370;
-    t["Lslash"] = 611;
-    t["Oslash"] = 778;
-    t["OE"] = 1000;
-    t["ordmasculine"] = 365;
-    t["ae"] = 889;
-    t["dotlessi"] = 278;
-    t["lslash"] = 278;
-    t["oslash"] = 611;
-    t["oe"] = 944;
-    t["germandbls"] = 611;
-    t["Idieresis"] = 278;
-    t["eacute"] = 556;
-    t["abreve"] = 556;
-    t["uhungarumlaut"] = 611;
-    t["ecaron"] = 556;
-    t["Ydieresis"] = 667;
-    t["divide"] = 584;
-    t["Yacute"] = 667;
-    t["Acircumflex"] = 722;
-    t["aacute"] = 556;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 556;
-    t["scommaaccent"] = 556;
-    t["ecircumflex"] = 556;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 556;
-    t["Uacute"] = 722;
-    t["uogonek"] = 611;
-    t["Edieresis"] = 667;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 737;
-    t["Emacron"] = 667;
-    t["ccaron"] = 556;
-    t["aring"] = 556;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 278;
-    t["agrave"] = 556;
-    t["Tcommaaccent"] = 611;
-    t["Cacute"] = 722;
-    t["atilde"] = 556;
-    t["Edotaccent"] = 667;
-    t["scaron"] = 556;
-    t["scedilla"] = 556;
-    t["iacute"] = 278;
-    t["lozenge"] = 494;
-    t["Rcaron"] = 722;
-    t["Gcommaaccent"] = 778;
-    t["ucircumflex"] = 611;
-    t["acircumflex"] = 556;
-    t["Amacron"] = 722;
-    t["rcaron"] = 389;
-    t["ccedilla"] = 556;
-    t["Zdotaccent"] = 611;
-    t["Thorn"] = 667;
-    t["Omacron"] = 778;
-    t["Racute"] = 722;
-    t["Sacute"] = 667;
-    t["dcaron"] = 743;
-    t["Umacron"] = 722;
-    t["uring"] = 611;
-    t["threesuperior"] = 333;
-    t["Ograve"] = 778;
-    t["Agrave"] = 722;
-    t["Abreve"] = 722;
-    t["multiply"] = 584;
-    t["uacute"] = 611;
-    t["Tcaron"] = 611;
-    t["partialdiff"] = 494;
-    t["ydieresis"] = 556;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 667;
-    t["adieresis"] = 556;
-    t["edieresis"] = 556;
-    t["cacute"] = 556;
-    t["nacute"] = 611;
-    t["umacron"] = 611;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 278;
-    t["plusminus"] = 584;
-    t["brokenbar"] = 280;
-    t["registered"] = 737;
-    t["Gbreve"] = 778;
-    t["Idotaccent"] = 278;
-    t["summation"] = 600;
-    t["Egrave"] = 667;
-    t["racute"] = 389;
-    t["omacron"] = 611;
-    t["Zacute"] = 611;
-    t["Zcaron"] = 611;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 722;
-    t["lcommaaccent"] = 278;
-    t["tcaron"] = 389;
-    t["eogonek"] = 556;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 722;
-    t["Adieresis"] = 722;
-    t["egrave"] = 556;
-    t["zacute"] = 500;
-    t["iogonek"] = 278;
-    t["Oacute"] = 778;
-    t["oacute"] = 611;
-    t["amacron"] = 556;
-    t["sacute"] = 556;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 778;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 611;
-    t["twosuperior"] = 333;
-    t["Odieresis"] = 778;
-    t["mu"] = 611;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 611;
-    t["Eogonek"] = 667;
-    t["dcroat"] = 611;
-    t["threequarters"] = 834;
-    t["Scedilla"] = 667;
-    t["lcaron"] = 400;
-    t["Kcommaaccent"] = 722;
-    t["Lacute"] = 611;
-    t["trademark"] = 1000;
-    t["edotaccent"] = 556;
-    t["Igrave"] = 278;
-    t["Imacron"] = 278;
-    t["Lcaron"] = 611;
-    t["onehalf"] = 834;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 611;
-    t["ntilde"] = 611;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 667;
-    t["emacron"] = 556;
-    t["gbreve"] = 611;
-    t["onequarter"] = 834;
-    t["Scaron"] = 667;
-    t["Scommaaccent"] = 667;
-    t["Ohungarumlaut"] = 778;
-    t["degree"] = 400;
-    t["ograve"] = 611;
-    t["Ccaron"] = 722;
-    t["ugrave"] = 611;
-    t["radical"] = 549;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 389;
-    t["Ntilde"] = 722;
-    t["otilde"] = 611;
-    t["Rcommaaccent"] = 722;
-    t["Lcommaaccent"] = 611;
-    t["Atilde"] = 722;
-    t["Aogonek"] = 722;
-    t["Aring"] = 722;
-    t["Otilde"] = 778;
-    t["zdotaccent"] = 500;
-    t["Ecaron"] = 667;
-    t["Iogonek"] = 278;
-    t["kcommaaccent"] = 556;
-    t["minus"] = 584;
-    t["Icircumflex"] = 278;
-    t["ncaron"] = 611;
-    t["tcommaaccent"] = 333;
-    t["logicalnot"] = 584;
-    t["odieresis"] = 611;
-    t["udieresis"] = 611;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 611;
-    t["eth"] = 611;
-    t["zcaron"] = 500;
-    t["ncommaaccent"] = 611;
-    t["onesuperior"] = 333;
-    t["imacron"] = 278;
-    t["Euro"] = 556;
-  });
-  t["Helvetica-BoldOblique"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 278;
-    t["exclam"] = 333;
-    t["quotedbl"] = 474;
-    t["numbersign"] = 556;
-    t["dollar"] = 556;
-    t["percent"] = 889;
-    t["ampersand"] = 722;
-    t["quoteright"] = 278;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 389;
-    t["plus"] = 584;
-    t["comma"] = 278;
-    t["hyphen"] = 333;
-    t["period"] = 278;
-    t["slash"] = 278;
-    t["zero"] = 556;
-    t["one"] = 556;
-    t["two"] = 556;
-    t["three"] = 556;
-    t["four"] = 556;
-    t["five"] = 556;
-    t["six"] = 556;
-    t["seven"] = 556;
-    t["eight"] = 556;
-    t["nine"] = 556;
-    t["colon"] = 333;
-    t["semicolon"] = 333;
-    t["less"] = 584;
-    t["equal"] = 584;
-    t["greater"] = 584;
-    t["question"] = 611;
-    t["at"] = 975;
-    t["A"] = 722;
-    t["B"] = 722;
-    t["C"] = 722;
-    t["D"] = 722;
-    t["E"] = 667;
-    t["F"] = 611;
-    t["G"] = 778;
-    t["H"] = 722;
-    t["I"] = 278;
-    t["J"] = 556;
-    t["K"] = 722;
-    t["L"] = 611;
-    t["M"] = 833;
-    t["N"] = 722;
-    t["O"] = 778;
-    t["P"] = 667;
-    t["Q"] = 778;
-    t["R"] = 722;
-    t["S"] = 667;
-    t["T"] = 611;
-    t["U"] = 722;
-    t["V"] = 667;
-    t["W"] = 944;
-    t["X"] = 667;
-    t["Y"] = 667;
-    t["Z"] = 611;
-    t["bracketleft"] = 333;
-    t["backslash"] = 278;
-    t["bracketright"] = 333;
-    t["asciicircum"] = 584;
-    t["underscore"] = 556;
-    t["quoteleft"] = 278;
-    t["a"] = 556;
-    t["b"] = 611;
-    t["c"] = 556;
-    t["d"] = 611;
-    t["e"] = 556;
-    t["f"] = 333;
-    t["g"] = 611;
-    t["h"] = 611;
-    t["i"] = 278;
-    t["j"] = 278;
-    t["k"] = 556;
-    t["l"] = 278;
-    t["m"] = 889;
-    t["n"] = 611;
-    t["o"] = 611;
-    t["p"] = 611;
-    t["q"] = 611;
-    t["r"] = 389;
-    t["s"] = 556;
-    t["t"] = 333;
-    t["u"] = 611;
-    t["v"] = 556;
-    t["w"] = 778;
-    t["x"] = 556;
-    t["y"] = 556;
-    t["z"] = 500;
-    t["braceleft"] = 389;
-    t["bar"] = 280;
-    t["braceright"] = 389;
-    t["asciitilde"] = 584;
-    t["exclamdown"] = 333;
-    t["cent"] = 556;
-    t["sterling"] = 556;
-    t["fraction"] = 167;
-    t["yen"] = 556;
-    t["florin"] = 556;
-    t["section"] = 556;
-    t["currency"] = 556;
-    t["quotesingle"] = 238;
-    t["quotedblleft"] = 500;
-    t["guillemotleft"] = 556;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 611;
-    t["fl"] = 611;
-    t["endash"] = 556;
-    t["dagger"] = 556;
-    t["daggerdbl"] = 556;
-    t["periodcentered"] = 278;
-    t["paragraph"] = 556;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 278;
-    t["quotedblbase"] = 500;
-    t["quotedblright"] = 500;
-    t["guillemotright"] = 556;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 611;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 1000;
-    t["ordfeminine"] = 370;
-    t["Lslash"] = 611;
-    t["Oslash"] = 778;
-    t["OE"] = 1000;
-    t["ordmasculine"] = 365;
-    t["ae"] = 889;
-    t["dotlessi"] = 278;
-    t["lslash"] = 278;
-    t["oslash"] = 611;
-    t["oe"] = 944;
-    t["germandbls"] = 611;
-    t["Idieresis"] = 278;
-    t["eacute"] = 556;
-    t["abreve"] = 556;
-    t["uhungarumlaut"] = 611;
-    t["ecaron"] = 556;
-    t["Ydieresis"] = 667;
-    t["divide"] = 584;
-    t["Yacute"] = 667;
-    t["Acircumflex"] = 722;
-    t["aacute"] = 556;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 556;
-    t["scommaaccent"] = 556;
-    t["ecircumflex"] = 556;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 556;
-    t["Uacute"] = 722;
-    t["uogonek"] = 611;
-    t["Edieresis"] = 667;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 737;
-    t["Emacron"] = 667;
-    t["ccaron"] = 556;
-    t["aring"] = 556;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 278;
-    t["agrave"] = 556;
-    t["Tcommaaccent"] = 611;
-    t["Cacute"] = 722;
-    t["atilde"] = 556;
-    t["Edotaccent"] = 667;
-    t["scaron"] = 556;
-    t["scedilla"] = 556;
-    t["iacute"] = 278;
-    t["lozenge"] = 494;
-    t["Rcaron"] = 722;
-    t["Gcommaaccent"] = 778;
-    t["ucircumflex"] = 611;
-    t["acircumflex"] = 556;
-    t["Amacron"] = 722;
-    t["rcaron"] = 389;
-    t["ccedilla"] = 556;
-    t["Zdotaccent"] = 611;
-    t["Thorn"] = 667;
-    t["Omacron"] = 778;
-    t["Racute"] = 722;
-    t["Sacute"] = 667;
-    t["dcaron"] = 743;
-    t["Umacron"] = 722;
-    t["uring"] = 611;
-    t["threesuperior"] = 333;
-    t["Ograve"] = 778;
-    t["Agrave"] = 722;
-    t["Abreve"] = 722;
-    t["multiply"] = 584;
-    t["uacute"] = 611;
-    t["Tcaron"] = 611;
-    t["partialdiff"] = 494;
-    t["ydieresis"] = 556;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 667;
-    t["adieresis"] = 556;
-    t["edieresis"] = 556;
-    t["cacute"] = 556;
-    t["nacute"] = 611;
-    t["umacron"] = 611;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 278;
-    t["plusminus"] = 584;
-    t["brokenbar"] = 280;
-    t["registered"] = 737;
-    t["Gbreve"] = 778;
-    t["Idotaccent"] = 278;
-    t["summation"] = 600;
-    t["Egrave"] = 667;
-    t["racute"] = 389;
-    t["omacron"] = 611;
-    t["Zacute"] = 611;
-    t["Zcaron"] = 611;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 722;
-    t["lcommaaccent"] = 278;
-    t["tcaron"] = 389;
-    t["eogonek"] = 556;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 722;
-    t["Adieresis"] = 722;
-    t["egrave"] = 556;
-    t["zacute"] = 500;
-    t["iogonek"] = 278;
-    t["Oacute"] = 778;
-    t["oacute"] = 611;
-    t["amacron"] = 556;
-    t["sacute"] = 556;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 778;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 611;
-    t["twosuperior"] = 333;
-    t["Odieresis"] = 778;
-    t["mu"] = 611;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 611;
-    t["Eogonek"] = 667;
-    t["dcroat"] = 611;
-    t["threequarters"] = 834;
-    t["Scedilla"] = 667;
-    t["lcaron"] = 400;
-    t["Kcommaaccent"] = 722;
-    t["Lacute"] = 611;
-    t["trademark"] = 1000;
-    t["edotaccent"] = 556;
-    t["Igrave"] = 278;
-    t["Imacron"] = 278;
-    t["Lcaron"] = 611;
-    t["onehalf"] = 834;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 611;
-    t["ntilde"] = 611;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 667;
-    t["emacron"] = 556;
-    t["gbreve"] = 611;
-    t["onequarter"] = 834;
-    t["Scaron"] = 667;
-    t["Scommaaccent"] = 667;
-    t["Ohungarumlaut"] = 778;
-    t["degree"] = 400;
-    t["ograve"] = 611;
-    t["Ccaron"] = 722;
-    t["ugrave"] = 611;
-    t["radical"] = 549;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 389;
-    t["Ntilde"] = 722;
-    t["otilde"] = 611;
-    t["Rcommaaccent"] = 722;
-    t["Lcommaaccent"] = 611;
-    t["Atilde"] = 722;
-    t["Aogonek"] = 722;
-    t["Aring"] = 722;
-    t["Otilde"] = 778;
-    t["zdotaccent"] = 500;
-    t["Ecaron"] = 667;
-    t["Iogonek"] = 278;
-    t["kcommaaccent"] = 556;
-    t["minus"] = 584;
-    t["Icircumflex"] = 278;
-    t["ncaron"] = 611;
-    t["tcommaaccent"] = 333;
-    t["logicalnot"] = 584;
-    t["odieresis"] = 611;
-    t["udieresis"] = 611;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 611;
-    t["eth"] = 611;
-    t["zcaron"] = 500;
-    t["ncommaaccent"] = 611;
-    t["onesuperior"] = 333;
-    t["imacron"] = 278;
-    t["Euro"] = 556;
-  });
-  t["Helvetica-Oblique"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 278;
-    t["exclam"] = 278;
-    t["quotedbl"] = 355;
-    t["numbersign"] = 556;
-    t["dollar"] = 556;
-    t["percent"] = 889;
-    t["ampersand"] = 667;
-    t["quoteright"] = 222;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 389;
-    t["plus"] = 584;
-    t["comma"] = 278;
-    t["hyphen"] = 333;
-    t["period"] = 278;
-    t["slash"] = 278;
-    t["zero"] = 556;
-    t["one"] = 556;
-    t["two"] = 556;
-    t["three"] = 556;
-    t["four"] = 556;
-    t["five"] = 556;
-    t["six"] = 556;
-    t["seven"] = 556;
-    t["eight"] = 556;
-    t["nine"] = 556;
-    t["colon"] = 278;
-    t["semicolon"] = 278;
-    t["less"] = 584;
-    t["equal"] = 584;
-    t["greater"] = 584;
-    t["question"] = 556;
-    t["at"] = 1015;
-    t["A"] = 667;
-    t["B"] = 667;
-    t["C"] = 722;
-    t["D"] = 722;
-    t["E"] = 667;
-    t["F"] = 611;
-    t["G"] = 778;
-    t["H"] = 722;
-    t["I"] = 278;
-    t["J"] = 500;
-    t["K"] = 667;
-    t["L"] = 556;
-    t["M"] = 833;
-    t["N"] = 722;
-    t["O"] = 778;
-    t["P"] = 667;
-    t["Q"] = 778;
-    t["R"] = 722;
-    t["S"] = 667;
-    t["T"] = 611;
-    t["U"] = 722;
-    t["V"] = 667;
-    t["W"] = 944;
-    t["X"] = 667;
-    t["Y"] = 667;
-    t["Z"] = 611;
-    t["bracketleft"] = 278;
-    t["backslash"] = 278;
-    t["bracketright"] = 278;
-    t["asciicircum"] = 469;
-    t["underscore"] = 556;
-    t["quoteleft"] = 222;
-    t["a"] = 556;
-    t["b"] = 556;
-    t["c"] = 500;
-    t["d"] = 556;
-    t["e"] = 556;
-    t["f"] = 278;
-    t["g"] = 556;
-    t["h"] = 556;
-    t["i"] = 222;
-    t["j"] = 222;
-    t["k"] = 500;
-    t["l"] = 222;
-    t["m"] = 833;
-    t["n"] = 556;
-    t["o"] = 556;
-    t["p"] = 556;
-    t["q"] = 556;
-    t["r"] = 333;
-    t["s"] = 500;
-    t["t"] = 278;
-    t["u"] = 556;
-    t["v"] = 500;
-    t["w"] = 722;
-    t["x"] = 500;
-    t["y"] = 500;
-    t["z"] = 500;
-    t["braceleft"] = 334;
-    t["bar"] = 260;
-    t["braceright"] = 334;
-    t["asciitilde"] = 584;
-    t["exclamdown"] = 333;
-    t["cent"] = 556;
-    t["sterling"] = 556;
-    t["fraction"] = 167;
-    t["yen"] = 556;
-    t["florin"] = 556;
-    t["section"] = 556;
-    t["currency"] = 556;
-    t["quotesingle"] = 191;
-    t["quotedblleft"] = 333;
-    t["guillemotleft"] = 556;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 500;
-    t["fl"] = 500;
-    t["endash"] = 556;
-    t["dagger"] = 556;
-    t["daggerdbl"] = 556;
-    t["periodcentered"] = 278;
-    t["paragraph"] = 537;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 222;
-    t["quotedblbase"] = 333;
-    t["quotedblright"] = 333;
-    t["guillemotright"] = 556;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 611;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 1000;
-    t["ordfeminine"] = 370;
-    t["Lslash"] = 556;
-    t["Oslash"] = 778;
-    t["OE"] = 1000;
-    t["ordmasculine"] = 365;
-    t["ae"] = 889;
-    t["dotlessi"] = 278;
-    t["lslash"] = 222;
-    t["oslash"] = 611;
-    t["oe"] = 944;
-    t["germandbls"] = 611;
-    t["Idieresis"] = 278;
-    t["eacute"] = 556;
-    t["abreve"] = 556;
-    t["uhungarumlaut"] = 556;
-    t["ecaron"] = 556;
-    t["Ydieresis"] = 667;
-    t["divide"] = 584;
-    t["Yacute"] = 667;
-    t["Acircumflex"] = 667;
-    t["aacute"] = 556;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 500;
-    t["scommaaccent"] = 500;
-    t["ecircumflex"] = 556;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 556;
-    t["Uacute"] = 722;
-    t["uogonek"] = 556;
-    t["Edieresis"] = 667;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 737;
-    t["Emacron"] = 667;
-    t["ccaron"] = 500;
-    t["aring"] = 556;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 222;
-    t["agrave"] = 556;
-    t["Tcommaaccent"] = 611;
-    t["Cacute"] = 722;
-    t["atilde"] = 556;
-    t["Edotaccent"] = 667;
-    t["scaron"] = 500;
-    t["scedilla"] = 500;
-    t["iacute"] = 278;
-    t["lozenge"] = 471;
-    t["Rcaron"] = 722;
-    t["Gcommaaccent"] = 778;
-    t["ucircumflex"] = 556;
-    t["acircumflex"] = 556;
-    t["Amacron"] = 667;
-    t["rcaron"] = 333;
-    t["ccedilla"] = 500;
-    t["Zdotaccent"] = 611;
-    t["Thorn"] = 667;
-    t["Omacron"] = 778;
-    t["Racute"] = 722;
-    t["Sacute"] = 667;
-    t["dcaron"] = 643;
-    t["Umacron"] = 722;
-    t["uring"] = 556;
-    t["threesuperior"] = 333;
-    t["Ograve"] = 778;
-    t["Agrave"] = 667;
-    t["Abreve"] = 667;
-    t["multiply"] = 584;
-    t["uacute"] = 556;
-    t["Tcaron"] = 611;
-    t["partialdiff"] = 476;
-    t["ydieresis"] = 500;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 667;
-    t["adieresis"] = 556;
-    t["edieresis"] = 556;
-    t["cacute"] = 500;
-    t["nacute"] = 556;
-    t["umacron"] = 556;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 278;
-    t["plusminus"] = 584;
-    t["brokenbar"] = 260;
-    t["registered"] = 737;
-    t["Gbreve"] = 778;
-    t["Idotaccent"] = 278;
-    t["summation"] = 600;
-    t["Egrave"] = 667;
-    t["racute"] = 333;
-    t["omacron"] = 556;
-    t["Zacute"] = 611;
-    t["Zcaron"] = 611;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 722;
-    t["lcommaaccent"] = 222;
-    t["tcaron"] = 317;
-    t["eogonek"] = 556;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 667;
-    t["Adieresis"] = 667;
-    t["egrave"] = 556;
-    t["zacute"] = 500;
-    t["iogonek"] = 222;
-    t["Oacute"] = 778;
-    t["oacute"] = 556;
-    t["amacron"] = 556;
-    t["sacute"] = 500;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 778;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 556;
-    t["twosuperior"] = 333;
-    t["Odieresis"] = 778;
-    t["mu"] = 556;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 556;
-    t["Eogonek"] = 667;
-    t["dcroat"] = 556;
-    t["threequarters"] = 834;
-    t["Scedilla"] = 667;
-    t["lcaron"] = 299;
-    t["Kcommaaccent"] = 667;
-    t["Lacute"] = 556;
-    t["trademark"] = 1000;
-    t["edotaccent"] = 556;
-    t["Igrave"] = 278;
-    t["Imacron"] = 278;
-    t["Lcaron"] = 556;
-    t["onehalf"] = 834;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 556;
-    t["ntilde"] = 556;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 667;
-    t["emacron"] = 556;
-    t["gbreve"] = 556;
-    t["onequarter"] = 834;
-    t["Scaron"] = 667;
-    t["Scommaaccent"] = 667;
-    t["Ohungarumlaut"] = 778;
-    t["degree"] = 400;
-    t["ograve"] = 556;
-    t["Ccaron"] = 722;
-    t["ugrave"] = 556;
-    t["radical"] = 453;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 333;
-    t["Ntilde"] = 722;
-    t["otilde"] = 556;
-    t["Rcommaaccent"] = 722;
-    t["Lcommaaccent"] = 556;
-    t["Atilde"] = 667;
-    t["Aogonek"] = 667;
-    t["Aring"] = 667;
-    t["Otilde"] = 778;
-    t["zdotaccent"] = 500;
-    t["Ecaron"] = 667;
-    t["Iogonek"] = 278;
-    t["kcommaaccent"] = 500;
-    t["minus"] = 584;
-    t["Icircumflex"] = 278;
-    t["ncaron"] = 556;
-    t["tcommaaccent"] = 278;
-    t["logicalnot"] = 584;
-    t["odieresis"] = 556;
-    t["udieresis"] = 556;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 556;
-    t["eth"] = 556;
-    t["zcaron"] = 500;
-    t["ncommaaccent"] = 556;
-    t["onesuperior"] = 333;
-    t["imacron"] = 278;
-    t["Euro"] = 556;
-  });
-  t["Symbol"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 250;
-    t["exclam"] = 333;
-    t["universal"] = 713;
-    t["numbersign"] = 500;
-    t["existential"] = 549;
-    t["percent"] = 833;
-    t["ampersand"] = 778;
-    t["suchthat"] = 439;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asteriskmath"] = 500;
-    t["plus"] = 549;
-    t["comma"] = 250;
-    t["minus"] = 549;
-    t["period"] = 250;
-    t["slash"] = 278;
-    t["zero"] = 500;
-    t["one"] = 500;
-    t["two"] = 500;
-    t["three"] = 500;
-    t["four"] = 500;
-    t["five"] = 500;
-    t["six"] = 500;
-    t["seven"] = 500;
-    t["eight"] = 500;
-    t["nine"] = 500;
-    t["colon"] = 278;
-    t["semicolon"] = 278;
-    t["less"] = 549;
-    t["equal"] = 549;
-    t["greater"] = 549;
-    t["question"] = 444;
-    t["congruent"] = 549;
-    t["Alpha"] = 722;
-    t["Beta"] = 667;
-    t["Chi"] = 722;
-    t["Delta"] = 612;
-    t["Epsilon"] = 611;
-    t["Phi"] = 763;
-    t["Gamma"] = 603;
-    t["Eta"] = 722;
-    t["Iota"] = 333;
-    t["theta1"] = 631;
-    t["Kappa"] = 722;
-    t["Lambda"] = 686;
-    t["Mu"] = 889;
-    t["Nu"] = 722;
-    t["Omicron"] = 722;
-    t["Pi"] = 768;
-    t["Theta"] = 741;
-    t["Rho"] = 556;
-    t["Sigma"] = 592;
-    t["Tau"] = 611;
-    t["Upsilon"] = 690;
-    t["sigma1"] = 439;
-    t["Omega"] = 768;
-    t["Xi"] = 645;
-    t["Psi"] = 795;
-    t["Zeta"] = 611;
-    t["bracketleft"] = 333;
-    t["therefore"] = 863;
-    t["bracketright"] = 333;
-    t["perpendicular"] = 658;
-    t["underscore"] = 500;
-    t["radicalex"] = 500;
-    t["alpha"] = 631;
-    t["beta"] = 549;
-    t["chi"] = 549;
-    t["delta"] = 494;
-    t["epsilon"] = 439;
-    t["phi"] = 521;
-    t["gamma"] = 411;
-    t["eta"] = 603;
-    t["iota"] = 329;
-    t["phi1"] = 603;
-    t["kappa"] = 549;
-    t["lambda"] = 549;
-    t["mu"] = 576;
-    t["nu"] = 521;
-    t["omicron"] = 549;
-    t["pi"] = 549;
-    t["theta"] = 521;
-    t["rho"] = 549;
-    t["sigma"] = 603;
-    t["tau"] = 439;
-    t["upsilon"] = 576;
-    t["omega1"] = 713;
-    t["omega"] = 686;
-    t["xi"] = 493;
-    t["psi"] = 686;
-    t["zeta"] = 494;
-    t["braceleft"] = 480;
-    t["bar"] = 200;
-    t["braceright"] = 480;
-    t["similar"] = 549;
-    t["Euro"] = 750;
-    t["Upsilon1"] = 620;
-    t["minute"] = 247;
-    t["lessequal"] = 549;
-    t["fraction"] = 167;
-    t["infinity"] = 713;
-    t["florin"] = 500;
-    t["club"] = 753;
-    t["diamond"] = 753;
-    t["heart"] = 753;
-    t["spade"] = 753;
-    t["arrowboth"] = 1042;
-    t["arrowleft"] = 987;
-    t["arrowup"] = 603;
-    t["arrowright"] = 987;
-    t["arrowdown"] = 603;
-    t["degree"] = 400;
-    t["plusminus"] = 549;
-    t["second"] = 411;
-    t["greaterequal"] = 549;
-    t["multiply"] = 549;
-    t["proportional"] = 713;
-    t["partialdiff"] = 494;
-    t["bullet"] = 460;
-    t["divide"] = 549;
-    t["notequal"] = 549;
-    t["equivalence"] = 549;
-    t["approxequal"] = 549;
-    t["ellipsis"] = 1000;
-    t["arrowvertex"] = 603;
-    t["arrowhorizex"] = 1000;
-    t["carriagereturn"] = 658;
-    t["aleph"] = 823;
-    t["Ifraktur"] = 686;
-    t["Rfraktur"] = 795;
-    t["weierstrass"] = 987;
-    t["circlemultiply"] = 768;
-    t["circleplus"] = 768;
-    t["emptyset"] = 823;
-    t["intersection"] = 768;
-    t["union"] = 768;
-    t["propersuperset"] = 713;
-    t["reflexsuperset"] = 713;
-    t["notsubset"] = 713;
-    t["propersubset"] = 713;
-    t["reflexsubset"] = 713;
-    t["element"] = 713;
-    t["notelement"] = 713;
-    t["angle"] = 768;
-    t["gradient"] = 713;
-    t["registerserif"] = 790;
-    t["copyrightserif"] = 790;
-    t["trademarkserif"] = 890;
-    t["product"] = 823;
-    t["radical"] = 549;
-    t["dotmath"] = 250;
-    t["logicalnot"] = 713;
-    t["logicaland"] = 603;
-    t["logicalor"] = 603;
-    t["arrowdblboth"] = 1042;
-    t["arrowdblleft"] = 987;
-    t["arrowdblup"] = 603;
-    t["arrowdblright"] = 987;
-    t["arrowdbldown"] = 603;
-    t["lozenge"] = 494;
-    t["angleleft"] = 329;
-    t["registersans"] = 790;
-    t["copyrightsans"] = 790;
-    t["trademarksans"] = 786;
-    t["summation"] = 713;
-    t["parenlefttp"] = 384;
-    t["parenleftex"] = 384;
-    t["parenleftbt"] = 384;
-    t["bracketlefttp"] = 384;
-    t["bracketleftex"] = 384;
-    t["bracketleftbt"] = 384;
-    t["bracelefttp"] = 494;
-    t["braceleftmid"] = 494;
-    t["braceleftbt"] = 494;
-    t["braceex"] = 494;
-    t["angleright"] = 329;
-    t["integral"] = 274;
-    t["integraltp"] = 686;
-    t["integralex"] = 686;
-    t["integralbt"] = 686;
-    t["parenrighttp"] = 384;
-    t["parenrightex"] = 384;
-    t["parenrightbt"] = 384;
-    t["bracketrighttp"] = 384;
-    t["bracketrightex"] = 384;
-    t["bracketrightbt"] = 384;
-    t["bracerighttp"] = 494;
-    t["bracerightmid"] = 494;
-    t["bracerightbt"] = 494;
-    t["apple"] = 790;
-  });
-  t["Times-Roman"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 250;
-    t["exclam"] = 333;
-    t["quotedbl"] = 408;
-    t["numbersign"] = 500;
-    t["dollar"] = 500;
-    t["percent"] = 833;
-    t["ampersand"] = 778;
-    t["quoteright"] = 333;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 500;
-    t["plus"] = 564;
-    t["comma"] = 250;
-    t["hyphen"] = 333;
-    t["period"] = 250;
-    t["slash"] = 278;
-    t["zero"] = 500;
-    t["one"] = 500;
-    t["two"] = 500;
-    t["three"] = 500;
-    t["four"] = 500;
-    t["five"] = 500;
-    t["six"] = 500;
-    t["seven"] = 500;
-    t["eight"] = 500;
-    t["nine"] = 500;
-    t["colon"] = 278;
-    t["semicolon"] = 278;
-    t["less"] = 564;
-    t["equal"] = 564;
-    t["greater"] = 564;
-    t["question"] = 444;
-    t["at"] = 921;
-    t["A"] = 722;
-    t["B"] = 667;
-    t["C"] = 667;
-    t["D"] = 722;
-    t["E"] = 611;
-    t["F"] = 556;
-    t["G"] = 722;
-    t["H"] = 722;
-    t["I"] = 333;
-    t["J"] = 389;
-    t["K"] = 722;
-    t["L"] = 611;
-    t["M"] = 889;
-    t["N"] = 722;
-    t["O"] = 722;
-    t["P"] = 556;
-    t["Q"] = 722;
-    t["R"] = 667;
-    t["S"] = 556;
-    t["T"] = 611;
-    t["U"] = 722;
-    t["V"] = 722;
-    t["W"] = 944;
-    t["X"] = 722;
-    t["Y"] = 722;
-    t["Z"] = 611;
-    t["bracketleft"] = 333;
-    t["backslash"] = 278;
-    t["bracketright"] = 333;
-    t["asciicircum"] = 469;
-    t["underscore"] = 500;
-    t["quoteleft"] = 333;
-    t["a"] = 444;
-    t["b"] = 500;
-    t["c"] = 444;
-    t["d"] = 500;
-    t["e"] = 444;
-    t["f"] = 333;
-    t["g"] = 500;
-    t["h"] = 500;
-    t["i"] = 278;
-    t["j"] = 278;
-    t["k"] = 500;
-    t["l"] = 278;
-    t["m"] = 778;
-    t["n"] = 500;
-    t["o"] = 500;
-    t["p"] = 500;
-    t["q"] = 500;
-    t["r"] = 333;
-    t["s"] = 389;
-    t["t"] = 278;
-    t["u"] = 500;
-    t["v"] = 500;
-    t["w"] = 722;
-    t["x"] = 500;
-    t["y"] = 500;
-    t["z"] = 444;
-    t["braceleft"] = 480;
-    t["bar"] = 200;
-    t["braceright"] = 480;
-    t["asciitilde"] = 541;
-    t["exclamdown"] = 333;
-    t["cent"] = 500;
-    t["sterling"] = 500;
-    t["fraction"] = 167;
-    t["yen"] = 500;
-    t["florin"] = 500;
-    t["section"] = 500;
-    t["currency"] = 500;
-    t["quotesingle"] = 180;
-    t["quotedblleft"] = 444;
-    t["guillemotleft"] = 500;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 556;
-    t["fl"] = 556;
-    t["endash"] = 500;
-    t["dagger"] = 500;
-    t["daggerdbl"] = 500;
-    t["periodcentered"] = 250;
-    t["paragraph"] = 453;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 333;
-    t["quotedblbase"] = 444;
-    t["quotedblright"] = 444;
-    t["guillemotright"] = 500;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 444;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 889;
-    t["ordfeminine"] = 276;
-    t["Lslash"] = 611;
-    t["Oslash"] = 722;
-    t["OE"] = 889;
-    t["ordmasculine"] = 310;
-    t["ae"] = 667;
-    t["dotlessi"] = 278;
-    t["lslash"] = 278;
-    t["oslash"] = 500;
-    t["oe"] = 722;
-    t["germandbls"] = 500;
-    t["Idieresis"] = 333;
-    t["eacute"] = 444;
-    t["abreve"] = 444;
-    t["uhungarumlaut"] = 500;
-    t["ecaron"] = 444;
-    t["Ydieresis"] = 722;
-    t["divide"] = 564;
-    t["Yacute"] = 722;
-    t["Acircumflex"] = 722;
-    t["aacute"] = 444;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 500;
-    t["scommaaccent"] = 389;
-    t["ecircumflex"] = 444;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 444;
-    t["Uacute"] = 722;
-    t["uogonek"] = 500;
-    t["Edieresis"] = 611;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 760;
-    t["Emacron"] = 611;
-    t["ccaron"] = 444;
-    t["aring"] = 444;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 278;
-    t["agrave"] = 444;
-    t["Tcommaaccent"] = 611;
-    t["Cacute"] = 667;
-    t["atilde"] = 444;
-    t["Edotaccent"] = 611;
-    t["scaron"] = 389;
-    t["scedilla"] = 389;
-    t["iacute"] = 278;
-    t["lozenge"] = 471;
-    t["Rcaron"] = 667;
-    t["Gcommaaccent"] = 722;
-    t["ucircumflex"] = 500;
-    t["acircumflex"] = 444;
-    t["Amacron"] = 722;
-    t["rcaron"] = 333;
-    t["ccedilla"] = 444;
-    t["Zdotaccent"] = 611;
-    t["Thorn"] = 556;
-    t["Omacron"] = 722;
-    t["Racute"] = 667;
-    t["Sacute"] = 556;
-    t["dcaron"] = 588;
-    t["Umacron"] = 722;
-    t["uring"] = 500;
-    t["threesuperior"] = 300;
-    t["Ograve"] = 722;
-    t["Agrave"] = 722;
-    t["Abreve"] = 722;
-    t["multiply"] = 564;
-    t["uacute"] = 500;
-    t["Tcaron"] = 611;
-    t["partialdiff"] = 476;
-    t["ydieresis"] = 500;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 611;
-    t["adieresis"] = 444;
-    t["edieresis"] = 444;
-    t["cacute"] = 444;
-    t["nacute"] = 500;
-    t["umacron"] = 500;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 333;
-    t["plusminus"] = 564;
-    t["brokenbar"] = 200;
-    t["registered"] = 760;
-    t["Gbreve"] = 722;
-    t["Idotaccent"] = 333;
-    t["summation"] = 600;
-    t["Egrave"] = 611;
-    t["racute"] = 333;
-    t["omacron"] = 500;
-    t["Zacute"] = 611;
-    t["Zcaron"] = 611;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 667;
-    t["lcommaaccent"] = 278;
-    t["tcaron"] = 326;
-    t["eogonek"] = 444;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 722;
-    t["Adieresis"] = 722;
-    t["egrave"] = 444;
-    t["zacute"] = 444;
-    t["iogonek"] = 278;
-    t["Oacute"] = 722;
-    t["oacute"] = 500;
-    t["amacron"] = 444;
-    t["sacute"] = 389;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 722;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 500;
-    t["twosuperior"] = 300;
-    t["Odieresis"] = 722;
-    t["mu"] = 500;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 500;
-    t["Eogonek"] = 611;
-    t["dcroat"] = 500;
-    t["threequarters"] = 750;
-    t["Scedilla"] = 556;
-    t["lcaron"] = 344;
-    t["Kcommaaccent"] = 722;
-    t["Lacute"] = 611;
-    t["trademark"] = 980;
-    t["edotaccent"] = 444;
-    t["Igrave"] = 333;
-    t["Imacron"] = 333;
-    t["Lcaron"] = 611;
-    t["onehalf"] = 750;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 500;
-    t["ntilde"] = 500;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 611;
-    t["emacron"] = 444;
-    t["gbreve"] = 500;
-    t["onequarter"] = 750;
-    t["Scaron"] = 556;
-    t["Scommaaccent"] = 556;
-    t["Ohungarumlaut"] = 722;
-    t["degree"] = 400;
-    t["ograve"] = 500;
-    t["Ccaron"] = 667;
-    t["ugrave"] = 500;
-    t["radical"] = 453;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 333;
-    t["Ntilde"] = 722;
-    t["otilde"] = 500;
-    t["Rcommaaccent"] = 667;
-    t["Lcommaaccent"] = 611;
-    t["Atilde"] = 722;
-    t["Aogonek"] = 722;
-    t["Aring"] = 722;
-    t["Otilde"] = 722;
-    t["zdotaccent"] = 444;
-    t["Ecaron"] = 611;
-    t["Iogonek"] = 333;
-    t["kcommaaccent"] = 500;
-    t["minus"] = 564;
-    t["Icircumflex"] = 333;
-    t["ncaron"] = 500;
-    t["tcommaaccent"] = 278;
-    t["logicalnot"] = 564;
-    t["odieresis"] = 500;
-    t["udieresis"] = 500;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 500;
-    t["eth"] = 500;
-    t["zcaron"] = 444;
-    t["ncommaaccent"] = 500;
-    t["onesuperior"] = 300;
-    t["imacron"] = 278;
-    t["Euro"] = 500;
-  });
-  t["Times-Bold"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 250;
-    t["exclam"] = 333;
-    t["quotedbl"] = 555;
-    t["numbersign"] = 500;
-    t["dollar"] = 500;
-    t["percent"] = 1000;
-    t["ampersand"] = 833;
-    t["quoteright"] = 333;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 500;
-    t["plus"] = 570;
-    t["comma"] = 250;
-    t["hyphen"] = 333;
-    t["period"] = 250;
-    t["slash"] = 278;
-    t["zero"] = 500;
-    t["one"] = 500;
-    t["two"] = 500;
-    t["three"] = 500;
-    t["four"] = 500;
-    t["five"] = 500;
-    t["six"] = 500;
-    t["seven"] = 500;
-    t["eight"] = 500;
-    t["nine"] = 500;
-    t["colon"] = 333;
-    t["semicolon"] = 333;
-    t["less"] = 570;
-    t["equal"] = 570;
-    t["greater"] = 570;
-    t["question"] = 500;
-    t["at"] = 930;
-    t["A"] = 722;
-    t["B"] = 667;
-    t["C"] = 722;
-    t["D"] = 722;
-    t["E"] = 667;
-    t["F"] = 611;
-    t["G"] = 778;
-    t["H"] = 778;
-    t["I"] = 389;
-    t["J"] = 500;
-    t["K"] = 778;
-    t["L"] = 667;
-    t["M"] = 944;
-    t["N"] = 722;
-    t["O"] = 778;
-    t["P"] = 611;
-    t["Q"] = 778;
-    t["R"] = 722;
-    t["S"] = 556;
-    t["T"] = 667;
-    t["U"] = 722;
-    t["V"] = 722;
-    t["W"] = 1000;
-    t["X"] = 722;
-    t["Y"] = 722;
-    t["Z"] = 667;
-    t["bracketleft"] = 333;
-    t["backslash"] = 278;
-    t["bracketright"] = 333;
-    t["asciicircum"] = 581;
-    t["underscore"] = 500;
-    t["quoteleft"] = 333;
-    t["a"] = 500;
-    t["b"] = 556;
-    t["c"] = 444;
-    t["d"] = 556;
-    t["e"] = 444;
-    t["f"] = 333;
-    t["g"] = 500;
-    t["h"] = 556;
-    t["i"] = 278;
-    t["j"] = 333;
-    t["k"] = 556;
-    t["l"] = 278;
-    t["m"] = 833;
-    t["n"] = 556;
-    t["o"] = 500;
-    t["p"] = 556;
-    t["q"] = 556;
-    t["r"] = 444;
-    t["s"] = 389;
-    t["t"] = 333;
-    t["u"] = 556;
-    t["v"] = 500;
-    t["w"] = 722;
-    t["x"] = 500;
-    t["y"] = 500;
-    t["z"] = 444;
-    t["braceleft"] = 394;
-    t["bar"] = 220;
-    t["braceright"] = 394;
-    t["asciitilde"] = 520;
-    t["exclamdown"] = 333;
-    t["cent"] = 500;
-    t["sterling"] = 500;
-    t["fraction"] = 167;
-    t["yen"] = 500;
-    t["florin"] = 500;
-    t["section"] = 500;
-    t["currency"] = 500;
-    t["quotesingle"] = 278;
-    t["quotedblleft"] = 500;
-    t["guillemotleft"] = 500;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 556;
-    t["fl"] = 556;
-    t["endash"] = 500;
-    t["dagger"] = 500;
-    t["daggerdbl"] = 500;
-    t["periodcentered"] = 250;
-    t["paragraph"] = 540;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 333;
-    t["quotedblbase"] = 500;
-    t["quotedblright"] = 500;
-    t["guillemotright"] = 500;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 500;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 1000;
-    t["ordfeminine"] = 300;
-    t["Lslash"] = 667;
-    t["Oslash"] = 778;
-    t["OE"] = 1000;
-    t["ordmasculine"] = 330;
-    t["ae"] = 722;
-    t["dotlessi"] = 278;
-    t["lslash"] = 278;
-    t["oslash"] = 500;
-    t["oe"] = 722;
-    t["germandbls"] = 556;
-    t["Idieresis"] = 389;
-    t["eacute"] = 444;
-    t["abreve"] = 500;
-    t["uhungarumlaut"] = 556;
-    t["ecaron"] = 444;
-    t["Ydieresis"] = 722;
-    t["divide"] = 570;
-    t["Yacute"] = 722;
-    t["Acircumflex"] = 722;
-    t["aacute"] = 500;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 500;
-    t["scommaaccent"] = 389;
-    t["ecircumflex"] = 444;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 500;
-    t["Uacute"] = 722;
-    t["uogonek"] = 556;
-    t["Edieresis"] = 667;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 747;
-    t["Emacron"] = 667;
-    t["ccaron"] = 444;
-    t["aring"] = 500;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 278;
-    t["agrave"] = 500;
-    t["Tcommaaccent"] = 667;
-    t["Cacute"] = 722;
-    t["atilde"] = 500;
-    t["Edotaccent"] = 667;
-    t["scaron"] = 389;
-    t["scedilla"] = 389;
-    t["iacute"] = 278;
-    t["lozenge"] = 494;
-    t["Rcaron"] = 722;
-    t["Gcommaaccent"] = 778;
-    t["ucircumflex"] = 556;
-    t["acircumflex"] = 500;
-    t["Amacron"] = 722;
-    t["rcaron"] = 444;
-    t["ccedilla"] = 444;
-    t["Zdotaccent"] = 667;
-    t["Thorn"] = 611;
-    t["Omacron"] = 778;
-    t["Racute"] = 722;
-    t["Sacute"] = 556;
-    t["dcaron"] = 672;
-    t["Umacron"] = 722;
-    t["uring"] = 556;
-    t["threesuperior"] = 300;
-    t["Ograve"] = 778;
-    t["Agrave"] = 722;
-    t["Abreve"] = 722;
-    t["multiply"] = 570;
-    t["uacute"] = 556;
-    t["Tcaron"] = 667;
-    t["partialdiff"] = 494;
-    t["ydieresis"] = 500;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 667;
-    t["adieresis"] = 500;
-    t["edieresis"] = 444;
-    t["cacute"] = 444;
-    t["nacute"] = 556;
-    t["umacron"] = 556;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 389;
-    t["plusminus"] = 570;
-    t["brokenbar"] = 220;
-    t["registered"] = 747;
-    t["Gbreve"] = 778;
-    t["Idotaccent"] = 389;
-    t["summation"] = 600;
-    t["Egrave"] = 667;
-    t["racute"] = 444;
-    t["omacron"] = 500;
-    t["Zacute"] = 667;
-    t["Zcaron"] = 667;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 722;
-    t["lcommaaccent"] = 278;
-    t["tcaron"] = 416;
-    t["eogonek"] = 444;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 722;
-    t["Adieresis"] = 722;
-    t["egrave"] = 444;
-    t["zacute"] = 444;
-    t["iogonek"] = 278;
-    t["Oacute"] = 778;
-    t["oacute"] = 500;
-    t["amacron"] = 500;
-    t["sacute"] = 389;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 778;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 556;
-    t["twosuperior"] = 300;
-    t["Odieresis"] = 778;
-    t["mu"] = 556;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 500;
-    t["Eogonek"] = 667;
-    t["dcroat"] = 556;
-    t["threequarters"] = 750;
-    t["Scedilla"] = 556;
-    t["lcaron"] = 394;
-    t["Kcommaaccent"] = 778;
-    t["Lacute"] = 667;
-    t["trademark"] = 1000;
-    t["edotaccent"] = 444;
-    t["Igrave"] = 389;
-    t["Imacron"] = 389;
-    t["Lcaron"] = 667;
-    t["onehalf"] = 750;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 500;
-    t["ntilde"] = 556;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 667;
-    t["emacron"] = 444;
-    t["gbreve"] = 500;
-    t["onequarter"] = 750;
-    t["Scaron"] = 556;
-    t["Scommaaccent"] = 556;
-    t["Ohungarumlaut"] = 778;
-    t["degree"] = 400;
-    t["ograve"] = 500;
-    t["Ccaron"] = 722;
-    t["ugrave"] = 556;
-    t["radical"] = 549;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 444;
-    t["Ntilde"] = 722;
-    t["otilde"] = 500;
-    t["Rcommaaccent"] = 722;
-    t["Lcommaaccent"] = 667;
-    t["Atilde"] = 722;
-    t["Aogonek"] = 722;
-    t["Aring"] = 722;
-    t["Otilde"] = 778;
-    t["zdotaccent"] = 444;
-    t["Ecaron"] = 667;
-    t["Iogonek"] = 389;
-    t["kcommaaccent"] = 556;
-    t["minus"] = 570;
-    t["Icircumflex"] = 389;
-    t["ncaron"] = 556;
-    t["tcommaaccent"] = 333;
-    t["logicalnot"] = 570;
-    t["odieresis"] = 500;
-    t["udieresis"] = 556;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 500;
-    t["eth"] = 500;
-    t["zcaron"] = 444;
-    t["ncommaaccent"] = 556;
-    t["onesuperior"] = 300;
-    t["imacron"] = 278;
-    t["Euro"] = 500;
-  });
-  t["Times-BoldItalic"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 250;
-    t["exclam"] = 389;
-    t["quotedbl"] = 555;
-    t["numbersign"] = 500;
-    t["dollar"] = 500;
-    t["percent"] = 833;
-    t["ampersand"] = 778;
-    t["quoteright"] = 333;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 500;
-    t["plus"] = 570;
-    t["comma"] = 250;
-    t["hyphen"] = 333;
-    t["period"] = 250;
-    t["slash"] = 278;
-    t["zero"] = 500;
-    t["one"] = 500;
-    t["two"] = 500;
-    t["three"] = 500;
-    t["four"] = 500;
-    t["five"] = 500;
-    t["six"] = 500;
-    t["seven"] = 500;
-    t["eight"] = 500;
-    t["nine"] = 500;
-    t["colon"] = 333;
-    t["semicolon"] = 333;
-    t["less"] = 570;
-    t["equal"] = 570;
-    t["greater"] = 570;
-    t["question"] = 500;
-    t["at"] = 832;
-    t["A"] = 667;
-    t["B"] = 667;
-    t["C"] = 667;
-    t["D"] = 722;
-    t["E"] = 667;
-    t["F"] = 667;
-    t["G"] = 722;
-    t["H"] = 778;
-    t["I"] = 389;
-    t["J"] = 500;
-    t["K"] = 667;
-    t["L"] = 611;
-    t["M"] = 889;
-    t["N"] = 722;
-    t["O"] = 722;
-    t["P"] = 611;
-    t["Q"] = 722;
-    t["R"] = 667;
-    t["S"] = 556;
-    t["T"] = 611;
-    t["U"] = 722;
-    t["V"] = 667;
-    t["W"] = 889;
-    t["X"] = 667;
-    t["Y"] = 611;
-    t["Z"] = 611;
-    t["bracketleft"] = 333;
-    t["backslash"] = 278;
-    t["bracketright"] = 333;
-    t["asciicircum"] = 570;
-    t["underscore"] = 500;
-    t["quoteleft"] = 333;
-    t["a"] = 500;
-    t["b"] = 500;
-    t["c"] = 444;
-    t["d"] = 500;
-    t["e"] = 444;
-    t["f"] = 333;
-    t["g"] = 500;
-    t["h"] = 556;
-    t["i"] = 278;
-    t["j"] = 278;
-    t["k"] = 500;
-    t["l"] = 278;
-    t["m"] = 778;
-    t["n"] = 556;
-    t["o"] = 500;
-    t["p"] = 500;
-    t["q"] = 500;
-    t["r"] = 389;
-    t["s"] = 389;
-    t["t"] = 278;
-    t["u"] = 556;
-    t["v"] = 444;
-    t["w"] = 667;
-    t["x"] = 500;
-    t["y"] = 444;
-    t["z"] = 389;
-    t["braceleft"] = 348;
-    t["bar"] = 220;
-    t["braceright"] = 348;
-    t["asciitilde"] = 570;
-    t["exclamdown"] = 389;
-    t["cent"] = 500;
-    t["sterling"] = 500;
-    t["fraction"] = 167;
-    t["yen"] = 500;
-    t["florin"] = 500;
-    t["section"] = 500;
-    t["currency"] = 500;
-    t["quotesingle"] = 278;
-    t["quotedblleft"] = 500;
-    t["guillemotleft"] = 500;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 556;
-    t["fl"] = 556;
-    t["endash"] = 500;
-    t["dagger"] = 500;
-    t["daggerdbl"] = 500;
-    t["periodcentered"] = 250;
-    t["paragraph"] = 500;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 333;
-    t["quotedblbase"] = 500;
-    t["quotedblright"] = 500;
-    t["guillemotright"] = 500;
-    t["ellipsis"] = 1000;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 500;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 1000;
-    t["AE"] = 944;
-    t["ordfeminine"] = 266;
-    t["Lslash"] = 611;
-    t["Oslash"] = 722;
-    t["OE"] = 944;
-    t["ordmasculine"] = 300;
-    t["ae"] = 722;
-    t["dotlessi"] = 278;
-    t["lslash"] = 278;
-    t["oslash"] = 500;
-    t["oe"] = 722;
-    t["germandbls"] = 500;
-    t["Idieresis"] = 389;
-    t["eacute"] = 444;
-    t["abreve"] = 500;
-    t["uhungarumlaut"] = 556;
-    t["ecaron"] = 444;
-    t["Ydieresis"] = 611;
-    t["divide"] = 570;
-    t["Yacute"] = 611;
-    t["Acircumflex"] = 667;
-    t["aacute"] = 500;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 444;
-    t["scommaaccent"] = 389;
-    t["ecircumflex"] = 444;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 500;
-    t["Uacute"] = 722;
-    t["uogonek"] = 556;
-    t["Edieresis"] = 667;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 747;
-    t["Emacron"] = 667;
-    t["ccaron"] = 444;
-    t["aring"] = 500;
-    t["Ncommaaccent"] = 722;
-    t["lacute"] = 278;
-    t["agrave"] = 500;
-    t["Tcommaaccent"] = 611;
-    t["Cacute"] = 667;
-    t["atilde"] = 500;
-    t["Edotaccent"] = 667;
-    t["scaron"] = 389;
-    t["scedilla"] = 389;
-    t["iacute"] = 278;
-    t["lozenge"] = 494;
-    t["Rcaron"] = 667;
-    t["Gcommaaccent"] = 722;
-    t["ucircumflex"] = 556;
-    t["acircumflex"] = 500;
-    t["Amacron"] = 667;
-    t["rcaron"] = 389;
-    t["ccedilla"] = 444;
-    t["Zdotaccent"] = 611;
-    t["Thorn"] = 611;
-    t["Omacron"] = 722;
-    t["Racute"] = 667;
-    t["Sacute"] = 556;
-    t["dcaron"] = 608;
-    t["Umacron"] = 722;
-    t["uring"] = 556;
-    t["threesuperior"] = 300;
-    t["Ograve"] = 722;
-    t["Agrave"] = 667;
-    t["Abreve"] = 667;
-    t["multiply"] = 570;
-    t["uacute"] = 556;
-    t["Tcaron"] = 611;
-    t["partialdiff"] = 494;
-    t["ydieresis"] = 444;
-    t["Nacute"] = 722;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 667;
-    t["adieresis"] = 500;
-    t["edieresis"] = 444;
-    t["cacute"] = 444;
-    t["nacute"] = 556;
-    t["umacron"] = 556;
-    t["Ncaron"] = 722;
-    t["Iacute"] = 389;
-    t["plusminus"] = 570;
-    t["brokenbar"] = 220;
-    t["registered"] = 747;
-    t["Gbreve"] = 722;
-    t["Idotaccent"] = 389;
-    t["summation"] = 600;
-    t["Egrave"] = 667;
-    t["racute"] = 389;
-    t["omacron"] = 500;
-    t["Zacute"] = 611;
-    t["Zcaron"] = 611;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 667;
-    t["lcommaaccent"] = 278;
-    t["tcaron"] = 366;
-    t["eogonek"] = 444;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 667;
-    t["Adieresis"] = 667;
-    t["egrave"] = 444;
-    t["zacute"] = 389;
-    t["iogonek"] = 278;
-    t["Oacute"] = 722;
-    t["oacute"] = 500;
-    t["amacron"] = 500;
-    t["sacute"] = 389;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 722;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 500;
-    t["twosuperior"] = 300;
-    t["Odieresis"] = 722;
-    t["mu"] = 576;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 500;
-    t["Eogonek"] = 667;
-    t["dcroat"] = 500;
-    t["threequarters"] = 750;
-    t["Scedilla"] = 556;
-    t["lcaron"] = 382;
-    t["Kcommaaccent"] = 667;
-    t["Lacute"] = 611;
-    t["trademark"] = 1000;
-    t["edotaccent"] = 444;
-    t["Igrave"] = 389;
-    t["Imacron"] = 389;
-    t["Lcaron"] = 611;
-    t["onehalf"] = 750;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 500;
-    t["ntilde"] = 556;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 667;
-    t["emacron"] = 444;
-    t["gbreve"] = 500;
-    t["onequarter"] = 750;
-    t["Scaron"] = 556;
-    t["Scommaaccent"] = 556;
-    t["Ohungarumlaut"] = 722;
-    t["degree"] = 400;
-    t["ograve"] = 500;
-    t["Ccaron"] = 667;
-    t["ugrave"] = 556;
-    t["radical"] = 549;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 389;
-    t["Ntilde"] = 722;
-    t["otilde"] = 500;
-    t["Rcommaaccent"] = 667;
-    t["Lcommaaccent"] = 611;
-    t["Atilde"] = 667;
-    t["Aogonek"] = 667;
-    t["Aring"] = 667;
-    t["Otilde"] = 722;
-    t["zdotaccent"] = 389;
-    t["Ecaron"] = 667;
-    t["Iogonek"] = 389;
-    t["kcommaaccent"] = 500;
-    t["minus"] = 606;
-    t["Icircumflex"] = 389;
-    t["ncaron"] = 556;
-    t["tcommaaccent"] = 278;
-    t["logicalnot"] = 606;
-    t["odieresis"] = 500;
-    t["udieresis"] = 556;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 500;
-    t["eth"] = 500;
-    t["zcaron"] = 389;
-    t["ncommaaccent"] = 556;
-    t["onesuperior"] = 300;
-    t["imacron"] = 278;
-    t["Euro"] = 500;
-  });
-  t["Times-Italic"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 250;
-    t["exclam"] = 333;
-    t["quotedbl"] = 420;
-    t["numbersign"] = 500;
-    t["dollar"] = 500;
-    t["percent"] = 833;
-    t["ampersand"] = 778;
-    t["quoteright"] = 333;
-    t["parenleft"] = 333;
-    t["parenright"] = 333;
-    t["asterisk"] = 500;
-    t["plus"] = 675;
-    t["comma"] = 250;
-    t["hyphen"] = 333;
-    t["period"] = 250;
-    t["slash"] = 278;
-    t["zero"] = 500;
-    t["one"] = 500;
-    t["two"] = 500;
-    t["three"] = 500;
-    t["four"] = 500;
-    t["five"] = 500;
-    t["six"] = 500;
-    t["seven"] = 500;
-    t["eight"] = 500;
-    t["nine"] = 500;
-    t["colon"] = 333;
-    t["semicolon"] = 333;
-    t["less"] = 675;
-    t["equal"] = 675;
-    t["greater"] = 675;
-    t["question"] = 500;
-    t["at"] = 920;
-    t["A"] = 611;
-    t["B"] = 611;
-    t["C"] = 667;
-    t["D"] = 722;
-    t["E"] = 611;
-    t["F"] = 611;
-    t["G"] = 722;
-    t["H"] = 722;
-    t["I"] = 333;
-    t["J"] = 444;
-    t["K"] = 667;
-    t["L"] = 556;
-    t["M"] = 833;
-    t["N"] = 667;
-    t["O"] = 722;
-    t["P"] = 611;
-    t["Q"] = 722;
-    t["R"] = 611;
-    t["S"] = 500;
-    t["T"] = 556;
-    t["U"] = 722;
-    t["V"] = 611;
-    t["W"] = 833;
-    t["X"] = 611;
-    t["Y"] = 556;
-    t["Z"] = 556;
-    t["bracketleft"] = 389;
-    t["backslash"] = 278;
-    t["bracketright"] = 389;
-    t["asciicircum"] = 422;
-    t["underscore"] = 500;
-    t["quoteleft"] = 333;
-    t["a"] = 500;
-    t["b"] = 500;
-    t["c"] = 444;
-    t["d"] = 500;
-    t["e"] = 444;
-    t["f"] = 278;
-    t["g"] = 500;
-    t["h"] = 500;
-    t["i"] = 278;
-    t["j"] = 278;
-    t["k"] = 444;
-    t["l"] = 278;
-    t["m"] = 722;
-    t["n"] = 500;
-    t["o"] = 500;
-    t["p"] = 500;
-    t["q"] = 500;
-    t["r"] = 389;
-    t["s"] = 389;
-    t["t"] = 278;
-    t["u"] = 500;
-    t["v"] = 444;
-    t["w"] = 667;
-    t["x"] = 444;
-    t["y"] = 444;
-    t["z"] = 389;
-    t["braceleft"] = 400;
-    t["bar"] = 275;
-    t["braceright"] = 400;
-    t["asciitilde"] = 541;
-    t["exclamdown"] = 389;
-    t["cent"] = 500;
-    t["sterling"] = 500;
-    t["fraction"] = 167;
-    t["yen"] = 500;
-    t["florin"] = 500;
-    t["section"] = 500;
-    t["currency"] = 500;
-    t["quotesingle"] = 214;
-    t["quotedblleft"] = 556;
-    t["guillemotleft"] = 500;
-    t["guilsinglleft"] = 333;
-    t["guilsinglright"] = 333;
-    t["fi"] = 500;
-    t["fl"] = 500;
-    t["endash"] = 500;
-    t["dagger"] = 500;
-    t["daggerdbl"] = 500;
-    t["periodcentered"] = 250;
-    t["paragraph"] = 523;
-    t["bullet"] = 350;
-    t["quotesinglbase"] = 333;
-    t["quotedblbase"] = 556;
-    t["quotedblright"] = 556;
-    t["guillemotright"] = 500;
-    t["ellipsis"] = 889;
-    t["perthousand"] = 1000;
-    t["questiondown"] = 500;
-    t["grave"] = 333;
-    t["acute"] = 333;
-    t["circumflex"] = 333;
-    t["tilde"] = 333;
-    t["macron"] = 333;
-    t["breve"] = 333;
-    t["dotaccent"] = 333;
-    t["dieresis"] = 333;
-    t["ring"] = 333;
-    t["cedilla"] = 333;
-    t["hungarumlaut"] = 333;
-    t["ogonek"] = 333;
-    t["caron"] = 333;
-    t["emdash"] = 889;
-    t["AE"] = 889;
-    t["ordfeminine"] = 276;
-    t["Lslash"] = 556;
-    t["Oslash"] = 722;
-    t["OE"] = 944;
-    t["ordmasculine"] = 310;
-    t["ae"] = 667;
-    t["dotlessi"] = 278;
-    t["lslash"] = 278;
-    t["oslash"] = 500;
-    t["oe"] = 667;
-    t["germandbls"] = 500;
-    t["Idieresis"] = 333;
-    t["eacute"] = 444;
-    t["abreve"] = 500;
-    t["uhungarumlaut"] = 500;
-    t["ecaron"] = 444;
-    t["Ydieresis"] = 556;
-    t["divide"] = 675;
-    t["Yacute"] = 556;
-    t["Acircumflex"] = 611;
-    t["aacute"] = 500;
-    t["Ucircumflex"] = 722;
-    t["yacute"] = 444;
-    t["scommaaccent"] = 389;
-    t["ecircumflex"] = 444;
-    t["Uring"] = 722;
-    t["Udieresis"] = 722;
-    t["aogonek"] = 500;
-    t["Uacute"] = 722;
-    t["uogonek"] = 500;
-    t["Edieresis"] = 611;
-    t["Dcroat"] = 722;
-    t["commaaccent"] = 250;
-    t["copyright"] = 760;
-    t["Emacron"] = 611;
-    t["ccaron"] = 444;
-    t["aring"] = 500;
-    t["Ncommaaccent"] = 667;
-    t["lacute"] = 278;
-    t["agrave"] = 500;
-    t["Tcommaaccent"] = 556;
-    t["Cacute"] = 667;
-    t["atilde"] = 500;
-    t["Edotaccent"] = 611;
-    t["scaron"] = 389;
-    t["scedilla"] = 389;
-    t["iacute"] = 278;
-    t["lozenge"] = 471;
-    t["Rcaron"] = 611;
-    t["Gcommaaccent"] = 722;
-    t["ucircumflex"] = 500;
-    t["acircumflex"] = 500;
-    t["Amacron"] = 611;
-    t["rcaron"] = 389;
-    t["ccedilla"] = 444;
-    t["Zdotaccent"] = 556;
-    t["Thorn"] = 611;
-    t["Omacron"] = 722;
-    t["Racute"] = 611;
-    t["Sacute"] = 500;
-    t["dcaron"] = 544;
-    t["Umacron"] = 722;
-    t["uring"] = 500;
-    t["threesuperior"] = 300;
-    t["Ograve"] = 722;
-    t["Agrave"] = 611;
-    t["Abreve"] = 611;
-    t["multiply"] = 675;
-    t["uacute"] = 500;
-    t["Tcaron"] = 556;
-    t["partialdiff"] = 476;
-    t["ydieresis"] = 444;
-    t["Nacute"] = 667;
-    t["icircumflex"] = 278;
-    t["Ecircumflex"] = 611;
-    t["adieresis"] = 500;
-    t["edieresis"] = 444;
-    t["cacute"] = 444;
-    t["nacute"] = 500;
-    t["umacron"] = 500;
-    t["Ncaron"] = 667;
-    t["Iacute"] = 333;
-    t["plusminus"] = 675;
-    t["brokenbar"] = 275;
-    t["registered"] = 760;
-    t["Gbreve"] = 722;
-    t["Idotaccent"] = 333;
-    t["summation"] = 600;
-    t["Egrave"] = 611;
-    t["racute"] = 389;
-    t["omacron"] = 500;
-    t["Zacute"] = 556;
-    t["Zcaron"] = 556;
-    t["greaterequal"] = 549;
-    t["Eth"] = 722;
-    t["Ccedilla"] = 667;
-    t["lcommaaccent"] = 278;
-    t["tcaron"] = 300;
-    t["eogonek"] = 444;
-    t["Uogonek"] = 722;
-    t["Aacute"] = 611;
-    t["Adieresis"] = 611;
-    t["egrave"] = 444;
-    t["zacute"] = 389;
-    t["iogonek"] = 278;
-    t["Oacute"] = 722;
-    t["oacute"] = 500;
-    t["amacron"] = 500;
-    t["sacute"] = 389;
-    t["idieresis"] = 278;
-    t["Ocircumflex"] = 722;
-    t["Ugrave"] = 722;
-    t["Delta"] = 612;
-    t["thorn"] = 500;
-    t["twosuperior"] = 300;
-    t["Odieresis"] = 722;
-    t["mu"] = 500;
-    t["igrave"] = 278;
-    t["ohungarumlaut"] = 500;
-    t["Eogonek"] = 611;
-    t["dcroat"] = 500;
-    t["threequarters"] = 750;
-    t["Scedilla"] = 500;
-    t["lcaron"] = 300;
-    t["Kcommaaccent"] = 667;
-    t["Lacute"] = 556;
-    t["trademark"] = 980;
-    t["edotaccent"] = 444;
-    t["Igrave"] = 333;
-    t["Imacron"] = 333;
-    t["Lcaron"] = 611;
-    t["onehalf"] = 750;
-    t["lessequal"] = 549;
-    t["ocircumflex"] = 500;
-    t["ntilde"] = 500;
-    t["Uhungarumlaut"] = 722;
-    t["Eacute"] = 611;
-    t["emacron"] = 444;
-    t["gbreve"] = 500;
-    t["onequarter"] = 750;
-    t["Scaron"] = 500;
-    t["Scommaaccent"] = 500;
-    t["Ohungarumlaut"] = 722;
-    t["degree"] = 400;
-    t["ograve"] = 500;
-    t["Ccaron"] = 667;
-    t["ugrave"] = 500;
-    t["radical"] = 453;
-    t["Dcaron"] = 722;
-    t["rcommaaccent"] = 389;
-    t["Ntilde"] = 667;
-    t["otilde"] = 500;
-    t["Rcommaaccent"] = 611;
-    t["Lcommaaccent"] = 556;
-    t["Atilde"] = 611;
-    t["Aogonek"] = 611;
-    t["Aring"] = 611;
-    t["Otilde"] = 722;
-    t["zdotaccent"] = 389;
-    t["Ecaron"] = 611;
-    t["Iogonek"] = 333;
-    t["kcommaaccent"] = 444;
-    t["minus"] = 675;
-    t["Icircumflex"] = 333;
-    t["ncaron"] = 500;
-    t["tcommaaccent"] = 278;
-    t["logicalnot"] = 675;
-    t["odieresis"] = 500;
-    t["udieresis"] = 500;
-    t["notequal"] = 549;
-    t["gcommaaccent"] = 500;
-    t["eth"] = 500;
-    t["zcaron"] = 389;
-    t["ncommaaccent"] = 500;
-    t["onesuperior"] = 300;
-    t["imacron"] = 278;
-    t["Euro"] = 500;
-  });
-  t["ZapfDingbats"] = (0, _core_utils.getLookupTableFactory)(function (t) {
-    t["space"] = 278;
-    t["a1"] = 974;
-    t["a2"] = 961;
-    t["a202"] = 974;
-    t["a3"] = 980;
-    t["a4"] = 719;
-    t["a5"] = 789;
-    t["a119"] = 790;
-    t["a118"] = 791;
-    t["a117"] = 690;
-    t["a11"] = 960;
-    t["a12"] = 939;
-    t["a13"] = 549;
-    t["a14"] = 855;
-    t["a15"] = 911;
-    t["a16"] = 933;
-    t["a105"] = 911;
-    t["a17"] = 945;
-    t["a18"] = 974;
-    t["a19"] = 755;
-    t["a20"] = 846;
-    t["a21"] = 762;
-    t["a22"] = 761;
-    t["a23"] = 571;
-    t["a24"] = 677;
-    t["a25"] = 763;
-    t["a26"] = 760;
-    t["a27"] = 759;
-    t["a28"] = 754;
-    t["a6"] = 494;
-    t["a7"] = 552;
-    t["a8"] = 537;
-    t["a9"] = 577;
-    t["a10"] = 692;
-    t["a29"] = 786;
-    t["a30"] = 788;
-    t["a31"] = 788;
-    t["a32"] = 790;
-    t["a33"] = 793;
-    t["a34"] = 794;
-    t["a35"] = 816;
-    t["a36"] = 823;
-    t["a37"] = 789;
-    t["a38"] = 841;
-    t["a39"] = 823;
-    t["a40"] = 833;
-    t["a41"] = 816;
-    t["a42"] = 831;
-    t["a43"] = 923;
-    t["a44"] = 744;
-    t["a45"] = 723;
-    t["a46"] = 749;
-    t["a47"] = 790;
-    t["a48"] = 792;
-    t["a49"] = 695;
-    t["a50"] = 776;
-    t["a51"] = 768;
-    t["a52"] = 792;
-    t["a53"] = 759;
-    t["a54"] = 707;
-    t["a55"] = 708;
-    t["a56"] = 682;
-    t["a57"] = 701;
-    t["a58"] = 826;
-    t["a59"] = 815;
-    t["a60"] = 789;
-    t["a61"] = 789;
-    t["a62"] = 707;
-    t["a63"] = 687;
-    t["a64"] = 696;
-    t["a65"] = 689;
-    t["a66"] = 786;
-    t["a67"] = 787;
-    t["a68"] = 713;
-    t["a69"] = 791;
-    t["a70"] = 785;
-    t["a71"] = 791;
-    t["a72"] = 873;
-    t["a73"] = 761;
-    t["a74"] = 762;
-    t["a203"] = 762;
-    t["a75"] = 759;
-    t["a204"] = 759;
-    t["a76"] = 892;
-    t["a77"] = 892;
-    t["a78"] = 788;
-    t["a79"] = 784;
-    t["a81"] = 438;
-    t["a82"] = 138;
-    t["a83"] = 277;
-    t["a84"] = 415;
-    t["a97"] = 392;
-    t["a98"] = 392;
-    t["a99"] = 668;
-    t["a100"] = 668;
-    t["a89"] = 390;
-    t["a90"] = 390;
-    t["a93"] = 317;
-    t["a94"] = 317;
-    t["a91"] = 276;
-    t["a92"] = 276;
-    t["a205"] = 509;
-    t["a85"] = 509;
-    t["a206"] = 410;
-    t["a86"] = 410;
-    t["a87"] = 234;
-    t["a88"] = 234;
-    t["a95"] = 334;
-    t["a96"] = 334;
-    t["a101"] = 732;
-    t["a102"] = 544;
-    t["a103"] = 544;
-    t["a104"] = 910;
-    t["a106"] = 667;
-    t["a107"] = 760;
-    t["a108"] = 760;
-    t["a112"] = 776;
-    t["a111"] = 595;
-    t["a110"] = 694;
-    t["a109"] = 626;
-    t["a120"] = 788;
-    t["a121"] = 788;
-    t["a122"] = 788;
-    t["a123"] = 788;
-    t["a124"] = 788;
-    t["a125"] = 788;
-    t["a126"] = 788;
-    t["a127"] = 788;
-    t["a128"] = 788;
-    t["a129"] = 788;
-    t["a130"] = 788;
-    t["a131"] = 788;
-    t["a132"] = 788;
-    t["a133"] = 788;
-    t["a134"] = 788;
-    t["a135"] = 788;
-    t["a136"] = 788;
-    t["a137"] = 788;
-    t["a138"] = 788;
-    t["a139"] = 788;
-    t["a140"] = 788;
-    t["a141"] = 788;
-    t["a142"] = 788;
-    t["a143"] = 788;
-    t["a144"] = 788;
-    t["a145"] = 788;
-    t["a146"] = 788;
-    t["a147"] = 788;
-    t["a148"] = 788;
-    t["a149"] = 788;
-    t["a150"] = 788;
-    t["a151"] = 788;
-    t["a152"] = 788;
-    t["a153"] = 788;
-    t["a154"] = 788;
-    t["a155"] = 788;
-    t["a156"] = 788;
-    t["a157"] = 788;
-    t["a158"] = 788;
-    t["a159"] = 788;
-    t["a160"] = 894;
-    t["a161"] = 838;
-    t["a163"] = 1016;
-    t["a164"] = 458;
-    t["a196"] = 748;
-    t["a165"] = 924;
-    t["a192"] = 748;
-    t["a166"] = 918;
-    t["a167"] = 927;
-    t["a168"] = 928;
-    t["a169"] = 928;
-    t["a170"] = 834;
-    t["a171"] = 873;
-    t["a172"] = 828;
-    t["a173"] = 924;
-    t["a162"] = 924;
-    t["a174"] = 917;
-    t["a175"] = 930;
-    t["a176"] = 931;
-    t["a177"] = 463;
-    t["a178"] = 883;
-    t["a179"] = 836;
-    t["a193"] = 836;
-    t["a180"] = 867;
-    t["a199"] = 867;
-    t["a181"] = 696;
-    t["a200"] = 696;
-    t["a182"] = 874;
-    t["a201"] = 874;
-    t["a183"] = 760;
-    t["a184"] = 946;
-    t["a197"] = 771;
-    t["a185"] = 865;
-    t["a194"] = 771;
-    t["a198"] = 888;
-    t["a186"] = 967;
-    t["a195"] = 888;
-    t["a187"] = 831;
-    t["a188"] = 873;
-    t["a189"] = 927;
-    t["a190"] = 970;
-    t["a191"] = 918;
-  });
-});
-exports.getMetrics = getMetrics;
-
-/***/ }),
-/* 229 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.isPDFFunction = isPDFFunction;
-exports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _ps_parser = __w_pdfjs_require__(230);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PDFFunctionFactory = /*#__PURE__*/function () {
-  function PDFFunctionFactory(_ref) {
-    var xref = _ref.xref,
-        _ref$isEvalSupported = _ref.isEvalSupported,
-        isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;
-
-    _classCallCheck(this, PDFFunctionFactory);
-
-    this.xref = xref;
-    this.isEvalSupported = isEvalSupported !== false;
-  }
-
-  _createClass(PDFFunctionFactory, [{
-    key: "create",
-    value: function create(fn) {
-      return PDFFunction.parse({
-        xref: this.xref,
-        isEvalSupported: this.isEvalSupported,
-        fn: fn
-      });
-    }
-  }, {
-    key: "createFromArray",
-    value: function createFromArray(fnObj) {
-      return PDFFunction.parseArray({
-        xref: this.xref,
-        isEvalSupported: this.isEvalSupported,
-        fnObj: fnObj
-      });
-    }
-  }]);
-
-  return PDFFunctionFactory;
-}();
-
-exports.PDFFunctionFactory = PDFFunctionFactory;
-
-function toNumberArray(arr) {
-  if (!Array.isArray(arr)) {
-    return null;
-  }
-
-  var length = arr.length;
-
-  for (var i = 0; i < length; i++) {
-    if (typeof arr[i] !== "number") {
-      var result = new Array(length);
-
-      for (var _i = 0; _i < length; _i++) {
-        result[_i] = +arr[_i];
-      }
-
-      return result;
-    }
-  }
-
-  return arr;
-}
-
-var PDFFunction = function PDFFunctionClosure() {
-  var CONSTRUCT_SAMPLED = 0;
-  var CONSTRUCT_INTERPOLATED = 2;
-  var CONSTRUCT_STICHED = 3;
-  var CONSTRUCT_POSTSCRIPT = 4;
-  return {
-    getSampleArray: function getSampleArray(size, outputSize, bps, stream) {
-      var i, ii;
-      var length = 1;
-
-      for (i = 0, ii = size.length; i < ii; i++) {
-        length *= size[i];
-      }
-
-      length *= outputSize;
-      var array = new Array(length);
-      var codeSize = 0;
-      var codeBuf = 0;
-      var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);
-      var strBytes = stream.getBytes((length * bps + 7) / 8);
-      var strIdx = 0;
-
-      for (i = 0; i < length; i++) {
-        while (codeSize < bps) {
-          codeBuf <<= 8;
-          codeBuf |= strBytes[strIdx++];
-          codeSize += 8;
-        }
-
-        codeSize -= bps;
-        array[i] = (codeBuf >> codeSize) * sampleMul;
-        codeBuf &= (1 << codeSize) - 1;
-      }
-
-      return array;
-    },
-    getIR: function getIR(_ref2) {
-      var xref = _ref2.xref,
-          isEvalSupported = _ref2.isEvalSupported,
-          fn = _ref2.fn;
-      var dict = fn.dict;
-
-      if (!dict) {
-        dict = fn;
-      }
-
-      var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];
-      var typeNum = dict.get("FunctionType");
-      var typeFn = types[typeNum];
-
-      if (!typeFn) {
-        throw new _util.FormatError("Unknown type of function");
-      }
-
-      return typeFn.call(this, {
-        xref: xref,
-        isEvalSupported: isEvalSupported,
-        fn: fn,
-        dict: dict
-      });
-    },
-    fromIR: function fromIR(_ref3) {
-      var xref = _ref3.xref,
-          isEvalSupported = _ref3.isEvalSupported,
-          IR = _ref3.IR;
-      var type = IR[0];
-
-      switch (type) {
-        case CONSTRUCT_SAMPLED:
-          return this.constructSampledFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
-          });
-
-        case CONSTRUCT_INTERPOLATED:
-          return this.constructInterpolatedFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
-          });
-
-        case CONSTRUCT_STICHED:
-          return this.constructStichedFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
-          });
-
-        default:
-          return this.constructPostScriptFromIR({
-            xref: xref,
-            isEvalSupported: isEvalSupported,
-            IR: IR
-          });
-      }
-    },
-    parse: function parse(_ref4) {
-      var xref = _ref4.xref,
-          isEvalSupported = _ref4.isEvalSupported,
-          fn = _ref4.fn;
-      var IR = this.getIR({
-        xref: xref,
-        isEvalSupported: isEvalSupported,
-        fn: fn
-      });
-      return this.fromIR({
-        xref: xref,
-        isEvalSupported: isEvalSupported,
-        IR: IR
-      });
-    },
-    parseArray: function parseArray(_ref5) {
-      var xref = _ref5.xref,
-          isEvalSupported = _ref5.isEvalSupported,
-          fnObj = _ref5.fnObj;
-
-      if (!Array.isArray(fnObj)) {
-        return this.parse({
-          xref: xref,
-          isEvalSupported: isEvalSupported,
-          fn: fnObj
-        });
-      }
-
-      var fnArray = [];
-
-      for (var j = 0, jj = fnObj.length; j < jj; j++) {
-        fnArray.push(this.parse({
-          xref: xref,
-          isEvalSupported: isEvalSupported,
-          fn: xref.fetchIfRef(fnObj[j])
-        }));
-      }
-
-      return function (src, srcOffset, dest, destOffset) {
-        for (var i = 0, ii = fnArray.length; i < ii; i++) {
-          fnArray[i](src, srcOffset, dest, destOffset + i);
-        }
-      };
-    },
-    constructSampled: function constructSampled(_ref6) {
-      var xref = _ref6.xref,
-          isEvalSupported = _ref6.isEvalSupported,
-          fn = _ref6.fn,
-          dict = _ref6.dict;
-
-      function toMultiArray(arr) {
-        var inputLength = arr.length;
-        var out = [];
-        var index = 0;
-
-        for (var i = 0; i < inputLength; i += 2) {
-          out[index] = [arr[i], arr[i + 1]];
-          ++index;
-        }
-
-        return out;
-      }
-
-      var domain = toNumberArray(dict.getArray("Domain"));
-      var range = toNumberArray(dict.getArray("Range"));
-
-      if (!domain || !range) {
-        throw new _util.FormatError("No domain or range");
-      }
-
-      var inputSize = domain.length / 2;
-      var outputSize = range.length / 2;
-      domain = toMultiArray(domain);
-      range = toMultiArray(range);
-      var size = toNumberArray(dict.getArray("Size"));
-      var bps = dict.get("BitsPerSample");
-      var order = dict.get("Order") || 1;
-
-      if (order !== 1) {
-        (0, _util.info)("No support for cubic spline interpolation: " + order);
-      }
-
-      var encode = toNumberArray(dict.getArray("Encode"));
-
-      if (!encode) {
-        encode = [];
-
-        for (var i = 0; i < inputSize; ++i) {
-          encode.push([0, size[i] - 1]);
-        }
-      } else {
-        encode = toMultiArray(encode);
-      }
-
-      var decode = toNumberArray(dict.getArray("Decode"));
-
-      if (!decode) {
-        decode = range;
-      } else {
-        decode = toMultiArray(decode);
-      }
-
-      var samples = this.getSampleArray(size, outputSize, bps, fn);
-      return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];
-    },
-    constructSampledFromIR: function constructSampledFromIR(_ref7) {
-      var xref = _ref7.xref,
-          isEvalSupported = _ref7.isEvalSupported,
-          IR = _ref7.IR;
-
-      function interpolate(x, xmin, xmax, ymin, ymax) {
-        return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));
-      }
-
-      return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {
-        var m = IR[1];
-        var domain = IR[2];
-        var encode = IR[3];
-        var decode = IR[4];
-        var samples = IR[5];
-        var size = IR[6];
-        var n = IR[7];
-        var range = IR[9];
-        var cubeVertices = 1 << m;
-        var cubeN = new Float64Array(cubeVertices);
-        var cubeVertex = new Uint32Array(cubeVertices);
-        var i, j;
-
-        for (j = 0; j < cubeVertices; j++) {
-          cubeN[j] = 1;
-        }
-
-        var k = n,
-            pos = 1;
-
-        for (i = 0; i < m; ++i) {
-          var domain_2i = domain[i][0];
-          var domain_2i_1 = domain[i][1];
-          var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);
-          var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);
-          var size_i = size[i];
-          e = Math.min(Math.max(e, 0), size_i - 1);
-          var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;
-          var n0 = e0 + 1 - e;
-          var n1 = e - e0;
-          var offset0 = e0 * k;
-          var offset1 = offset0 + k;
-
-          for (j = 0; j < cubeVertices; j++) {
-            if (j & pos) {
-              cubeN[j] *= n1;
-              cubeVertex[j] += offset1;
-            } else {
-              cubeN[j] *= n0;
-              cubeVertex[j] += offset0;
-            }
-          }
-
-          k *= size_i;
-          pos <<= 1;
-        }
-
-        for (j = 0; j < n; ++j) {
-          var rj = 0;
-
-          for (i = 0; i < cubeVertices; i++) {
-            rj += samples[cubeVertex[i] + j] * cubeN[i];
-          }
-
-          rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);
-          dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);
-        }
-      };
-    },
-    constructInterpolated: function constructInterpolated(_ref8) {
-      var xref = _ref8.xref,
-          isEvalSupported = _ref8.isEvalSupported,
-          fn = _ref8.fn,
-          dict = _ref8.dict;
-      var c0 = toNumberArray(dict.getArray("C0")) || [0];
-      var c1 = toNumberArray(dict.getArray("C1")) || [1];
-      var n = dict.get("N");
-      var length = c0.length;
-      var diff = [];
-
-      for (var i = 0; i < length; ++i) {
-        diff.push(c1[i] - c0[i]);
-      }
-
-      return [CONSTRUCT_INTERPOLATED, c0, diff, n];
-    },
-    constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {
-      var xref = _ref9.xref,
-          isEvalSupported = _ref9.isEvalSupported,
-          IR = _ref9.IR;
-      var c0 = IR[1];
-      var diff = IR[2];
-      var n = IR[3];
-      var length = diff.length;
-      return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {
-        var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);
-
-        for (var j = 0; j < length; ++j) {
-          dest[destOffset + j] = c0[j] + x * diff[j];
-        }
-      };
-    },
-    constructStiched: function constructStiched(_ref10) {
-      var xref = _ref10.xref,
-          isEvalSupported = _ref10.isEvalSupported,
-          fn = _ref10.fn,
-          dict = _ref10.dict;
-      var domain = toNumberArray(dict.getArray("Domain"));
-
-      if (!domain) {
-        throw new _util.FormatError("No domain");
-      }
-
-      var inputSize = domain.length / 2;
-
-      if (inputSize !== 1) {
-        throw new _util.FormatError("Bad domain for stiched function");
-      }
-
-      var fnRefs = dict.get("Functions");
-      var fns = [];
-
-      for (var i = 0, ii = fnRefs.length; i < ii; ++i) {
-        fns.push(this.parse({
-          xref: xref,
-          isEvalSupported: isEvalSupported,
-          fn: xref.fetchIfRef(fnRefs[i])
-        }));
-      }
-
-      var bounds = toNumberArray(dict.getArray("Bounds"));
-      var encode = toNumberArray(dict.getArray("Encode"));
-      return [CONSTRUCT_STICHED, domain, bounds, encode, fns];
-    },
-    constructStichedFromIR: function constructStichedFromIR(_ref11) {
-      var xref = _ref11.xref,
-          isEvalSupported = _ref11.isEvalSupported,
-          IR = _ref11.IR;
-      var domain = IR[1];
-      var bounds = IR[2];
-      var encode = IR[3];
-      var fns = IR[4];
-      var tmpBuf = new Float32Array(1);
-      return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {
-        var clip = function constructStichedFromIRClip(v, min, max) {
-          if (v > max) {
-            v = max;
-          } else if (v < min) {
-            v = min;
-          }
-
-          return v;
-        };
-
-        var v = clip(src[srcOffset], domain[0], domain[1]);
-
-        for (var i = 0, ii = bounds.length; i < ii; ++i) {
-          if (v < bounds[i]) {
-            break;
-          }
-        }
-
-        var dmin = domain[0];
-
-        if (i > 0) {
-          dmin = bounds[i - 1];
-        }
-
-        var dmax = domain[1];
-
-        if (i < bounds.length) {
-          dmax = bounds[i];
-        }
-
-        var rmin = encode[2 * i];
-        var rmax = encode[2 * i + 1];
-        tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);
-        fns[i](tmpBuf, 0, dest, destOffset);
-      };
-    },
-    constructPostScript: function constructPostScript(_ref12) {
-      var xref = _ref12.xref,
-          isEvalSupported = _ref12.isEvalSupported,
-          fn = _ref12.fn,
-          dict = _ref12.dict;
-      var domain = toNumberArray(dict.getArray("Domain"));
-      var range = toNumberArray(dict.getArray("Range"));
-
-      if (!domain) {
-        throw new _util.FormatError("No domain.");
-      }
-
-      if (!range) {
-        throw new _util.FormatError("No range.");
-      }
-
-      var lexer = new _ps_parser.PostScriptLexer(fn);
-      var parser = new _ps_parser.PostScriptParser(lexer);
-      var code = parser.parse();
-      return [CONSTRUCT_POSTSCRIPT, domain, range, code];
-    },
-    constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {
-      var xref = _ref13.xref,
-          isEvalSupported = _ref13.isEvalSupported,
-          IR = _ref13.IR;
-      var domain = IR[1];
-      var range = IR[2];
-      var code = IR[3];
-
-      if (isEvalSupported && _util.IsEvalSupportedCached.value) {
-        var compiled = new PostScriptCompiler().compile(code, domain, range);
-
-        if (compiled) {
-          return new Function("src", "srcOffset", "dest", "destOffset", compiled);
-        }
-      }
-
-      (0, _util.info)("Unable to compile PS function");
-      var numOutputs = range.length >> 1;
-      var numInputs = domain.length >> 1;
-      var evaluator = new PostScriptEvaluator(code);
-      var cache = Object.create(null);
-      var MAX_CACHE_SIZE = 2048 * 4;
-      var cache_available = MAX_CACHE_SIZE;
-      var tmpBuf = new Float32Array(numInputs);
-      return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {
-        var i, value;
-        var key = "";
-        var input = tmpBuf;
-
-        for (i = 0; i < numInputs; i++) {
-          value = src[srcOffset + i];
-          input[i] = value;
-          key += value + "_";
-        }
-
-        var cachedValue = cache[key];
-
-        if (cachedValue !== undefined) {
-          dest.set(cachedValue, destOffset);
-          return;
-        }
-
-        var output = new Float32Array(numOutputs);
-        var stack = evaluator.execute(input);
-        var stackIndex = stack.length - numOutputs;
-
-        for (i = 0; i < numOutputs; i++) {
-          value = stack[stackIndex + i];
-          var bound = range[i * 2];
-
-          if (value < bound) {
-            value = bound;
-          } else {
-            bound = range[i * 2 + 1];
-
-            if (value > bound) {
-              value = bound;
-            }
-          }
-
-          output[i] = value;
-        }
-
-        if (cache_available > 0) {
-          cache_available--;
-          cache[key] = output;
-        }
-
-        dest.set(output, destOffset);
-      };
-    }
-  };
-}();
-
-function isPDFFunction(v) {
-  var fnDict;
-
-  if (_typeof(v) !== "object") {
-    return false;
-  } else if ((0, _primitives.isDict)(v)) {
-    fnDict = v;
-  } else if ((0, _primitives.isStream)(v)) {
-    fnDict = v.dict;
-  } else {
-    return false;
-  }
-
-  return fnDict.has("FunctionType");
-}
-
-var PostScriptStack = function PostScriptStackClosure() {
-  var MAX_STACK_SIZE = 100;
-
-  function PostScriptStack(initialStack) {
-    this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);
-  }
-
-  PostScriptStack.prototype = {
-    push: function PostScriptStack_push(value) {
-      if (this.stack.length >= MAX_STACK_SIZE) {
-        throw new Error("PostScript function stack overflow.");
-      }
-
-      this.stack.push(value);
-    },
-    pop: function PostScriptStack_pop() {
-      if (this.stack.length <= 0) {
-        throw new Error("PostScript function stack underflow.");
-      }
-
-      return this.stack.pop();
-    },
-    copy: function PostScriptStack_copy(n) {
-      if (this.stack.length + n >= MAX_STACK_SIZE) {
-        throw new Error("PostScript function stack overflow.");
-      }
-
-      var stack = this.stack;
-
-      for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {
-        stack.push(stack[i]);
-      }
-    },
-    index: function PostScriptStack_index(n) {
-      this.push(this.stack[this.stack.length - n - 1]);
-    },
-    roll: function PostScriptStack_roll(n, p) {
-      var stack = this.stack;
-      var l = stack.length - n;
-      var r = stack.length - 1,
-          c = l + (p - Math.floor(p / n) * n),
-          i,
-          j,
-          t;
-
-      for (i = l, j = r; i < j; i++, j--) {
-        t = stack[i];
-        stack[i] = stack[j];
-        stack[j] = t;
-      }
-
-      for (i = l, j = c - 1; i < j; i++, j--) {
-        t = stack[i];
-        stack[i] = stack[j];
-        stack[j] = t;
-      }
-
-      for (i = c, j = r; i < j; i++, j--) {
-        t = stack[i];
-        stack[i] = stack[j];
-        stack[j] = t;
-      }
-    }
-  };
-  return PostScriptStack;
-}();
-
-var PostScriptEvaluator = function PostScriptEvaluatorClosure() {
-  function PostScriptEvaluator(operators) {
-    this.operators = operators;
-  }
-
-  PostScriptEvaluator.prototype = {
-    execute: function PostScriptEvaluator_execute(initialStack) {
-      var stack = new PostScriptStack(initialStack);
-      var counter = 0;
-      var operators = this.operators;
-      var length = operators.length;
-      var operator, a, b;
-
-      while (counter < length) {
-        operator = operators[counter++];
-
-        if (typeof operator === "number") {
-          stack.push(operator);
-          continue;
-        }
-
-        switch (operator) {
-          case "jz":
-            b = stack.pop();
-            a = stack.pop();
-
-            if (!a) {
-              counter = b;
-            }
-
-            break;
-
-          case "j":
-            a = stack.pop();
-            counter = a;
-            break;
-
-          case "abs":
-            a = stack.pop();
-            stack.push(Math.abs(a));
-            break;
-
-          case "add":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a + b);
-            break;
-
-          case "and":
-            b = stack.pop();
-            a = stack.pop();
-
-            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {
-              stack.push(a && b);
-            } else {
-              stack.push(a & b);
-            }
-
-            break;
-
-          case "atan":
-            a = stack.pop();
-            stack.push(Math.atan(a));
-            break;
-
-          case "bitshift":
-            b = stack.pop();
-            a = stack.pop();
-
-            if (a > 0) {
-              stack.push(a << b);
-            } else {
-              stack.push(a >> b);
-            }
-
-            break;
-
-          case "ceiling":
-            a = stack.pop();
-            stack.push(Math.ceil(a));
-            break;
-
-          case "copy":
-            a = stack.pop();
-            stack.copy(a);
-            break;
-
-          case "cos":
-            a = stack.pop();
-            stack.push(Math.cos(a));
-            break;
-
-          case "cvi":
-            a = stack.pop() | 0;
-            stack.push(a);
-            break;
-
-          case "cvr":
-            break;
-
-          case "div":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a / b);
-            break;
-
-          case "dup":
-            stack.copy(1);
-            break;
-
-          case "eq":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a === b);
-            break;
-
-          case "exch":
-            stack.roll(2, 1);
-            break;
-
-          case "exp":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(Math.pow(a, b));
-            break;
-
-          case "false":
-            stack.push(false);
-            break;
-
-          case "floor":
-            a = stack.pop();
-            stack.push(Math.floor(a));
-            break;
-
-          case "ge":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a >= b);
-            break;
-
-          case "gt":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a > b);
-            break;
-
-          case "idiv":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a / b | 0);
-            break;
-
-          case "index":
-            a = stack.pop();
-            stack.index(a);
-            break;
-
-          case "le":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a <= b);
-            break;
-
-          case "ln":
-            a = stack.pop();
-            stack.push(Math.log(a));
-            break;
-
-          case "log":
-            a = stack.pop();
-            stack.push(Math.log(a) / Math.LN10);
-            break;
-
-          case "lt":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a < b);
-            break;
-
-          case "mod":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a % b);
-            break;
-
-          case "mul":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a * b);
-            break;
-
-          case "ne":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a !== b);
-            break;
-
-          case "neg":
-            a = stack.pop();
-            stack.push(-a);
-            break;
-
-          case "not":
-            a = stack.pop();
-
-            if ((0, _util.isBool)(a)) {
-              stack.push(!a);
-            } else {
-              stack.push(~a);
-            }
-
-            break;
-
-          case "or":
-            b = stack.pop();
-            a = stack.pop();
-
-            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {
-              stack.push(a || b);
-            } else {
-              stack.push(a | b);
-            }
-
-            break;
-
-          case "pop":
-            stack.pop();
-            break;
-
-          case "roll":
-            b = stack.pop();
-            a = stack.pop();
-            stack.roll(a, b);
-            break;
-
-          case "round":
-            a = stack.pop();
-            stack.push(Math.round(a));
-            break;
-
-          case "sin":
-            a = stack.pop();
-            stack.push(Math.sin(a));
-            break;
-
-          case "sqrt":
-            a = stack.pop();
-            stack.push(Math.sqrt(a));
-            break;
-
-          case "sub":
-            b = stack.pop();
-            a = stack.pop();
-            stack.push(a - b);
-            break;
-
-          case "true":
-            stack.push(true);
-            break;
-
-          case "truncate":
-            a = stack.pop();
-            a = a < 0 ? Math.ceil(a) : Math.floor(a);
-            stack.push(a);
-            break;
-
-          case "xor":
-            b = stack.pop();
-            a = stack.pop();
-
-            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {
-              stack.push(a !== b);
-            } else {
-              stack.push(a ^ b);
-            }
-
-            break;
-
-          default:
-            throw new _util.FormatError("Unknown operator ".concat(operator));
-        }
-      }
-
-      return stack.stack;
-    }
-  };
-  return PostScriptEvaluator;
-}();
-
-exports.PostScriptEvaluator = PostScriptEvaluator;
-
-var PostScriptCompiler = function PostScriptCompilerClosure() {
-  function AstNode(type) {
-    this.type = type;
-  }
-
-  AstNode.prototype.visit = function (visitor) {
-    (0, _util.unreachable)("abstract method");
-  };
-
-  function AstArgument(index, min, max) {
-    AstNode.call(this, "args");
-    this.index = index;
-    this.min = min;
-    this.max = max;
-  }
-
-  AstArgument.prototype = Object.create(AstNode.prototype);
-
-  AstArgument.prototype.visit = function (visitor) {
-    visitor.visitArgument(this);
-  };
-
-  function AstLiteral(number) {
-    AstNode.call(this, "literal");
-    this.number = number;
-    this.min = number;
-    this.max = number;
-  }
-
-  AstLiteral.prototype = Object.create(AstNode.prototype);
-
-  AstLiteral.prototype.visit = function (visitor) {
-    visitor.visitLiteral(this);
-  };
-
-  function AstBinaryOperation(op, arg1, arg2, min, max) {
-    AstNode.call(this, "binary");
-    this.op = op;
-    this.arg1 = arg1;
-    this.arg2 = arg2;
-    this.min = min;
-    this.max = max;
-  }
-
-  AstBinaryOperation.prototype = Object.create(AstNode.prototype);
-
-  AstBinaryOperation.prototype.visit = function (visitor) {
-    visitor.visitBinaryOperation(this);
-  };
-
-  function AstMin(arg, max) {
-    AstNode.call(this, "max");
-    this.arg = arg;
-    this.min = arg.min;
-    this.max = max;
-  }
-
-  AstMin.prototype = Object.create(AstNode.prototype);
-
-  AstMin.prototype.visit = function (visitor) {
-    visitor.visitMin(this);
-  };
-
-  function AstVariable(index, min, max) {
-    AstNode.call(this, "var");
-    this.index = index;
-    this.min = min;
-    this.max = max;
-  }
-
-  AstVariable.prototype = Object.create(AstNode.prototype);
-
-  AstVariable.prototype.visit = function (visitor) {
-    visitor.visitVariable(this);
-  };
-
-  function AstVariableDefinition(variable, arg) {
-    AstNode.call(this, "definition");
-    this.variable = variable;
-    this.arg = arg;
-  }
-
-  AstVariableDefinition.prototype = Object.create(AstNode.prototype);
-
-  AstVariableDefinition.prototype.visit = function (visitor) {
-    visitor.visitVariableDefinition(this);
-  };
-
-  function ExpressionBuilderVisitor() {
-    this.parts = [];
-  }
-
-  ExpressionBuilderVisitor.prototype = {
-    visitArgument: function visitArgument(arg) {
-      this.parts.push("Math.max(", arg.min, ", Math.min(", arg.max, ", src[srcOffset + ", arg.index, "]))");
-    },
-    visitVariable: function visitVariable(variable) {
-      this.parts.push("v", variable.index);
-    },
-    visitLiteral: function visitLiteral(literal) {
-      this.parts.push(literal.number);
-    },
-    visitBinaryOperation: function visitBinaryOperation(operation) {
-      this.parts.push("(");
-      operation.arg1.visit(this);
-      this.parts.push(" ", operation.op, " ");
-      operation.arg2.visit(this);
-      this.parts.push(")");
-    },
-    visitVariableDefinition: function visitVariableDefinition(definition) {
-      this.parts.push("var ");
-      definition.variable.visit(this);
-      this.parts.push(" = ");
-      definition.arg.visit(this);
-      this.parts.push(";");
-    },
-    visitMin: function visitMin(max) {
-      this.parts.push("Math.min(");
-      max.arg.visit(this);
-      this.parts.push(", ", max.max, ")");
-    },
-    toString: function toString() {
-      return this.parts.join("");
-    }
-  };
-
-  function buildAddOperation(num1, num2) {
-    if (num2.type === "literal" && num2.number === 0) {
-      return num1;
-    }
-
-    if (num1.type === "literal" && num1.number === 0) {
-      return num2;
-    }
-
-    if (num2.type === "literal" && num1.type === "literal") {
-      return new AstLiteral(num1.number + num2.number);
-    }
-
-    return new AstBinaryOperation("+", num1, num2, num1.min + num2.min, num1.max + num2.max);
-  }
-
-  function buildMulOperation(num1, num2) {
-    if (num2.type === "literal") {
-      if (num2.number === 0) {
-        return new AstLiteral(0);
-      } else if (num2.number === 1) {
-        return num1;
-      } else if (num1.type === "literal") {
-        return new AstLiteral(num1.number * num2.number);
-      }
-    }
-
-    if (num1.type === "literal") {
-      if (num1.number === 0) {
-        return new AstLiteral(0);
-      } else if (num1.number === 1) {
-        return num2;
-      }
-    }
-
-    var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);
-    var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);
-    return new AstBinaryOperation("*", num1, num2, min, max);
-  }
-
-  function buildSubOperation(num1, num2) {
-    if (num2.type === "literal") {
-      if (num2.number === 0) {
-        return num1;
-      } else if (num1.type === "literal") {
-        return new AstLiteral(num1.number - num2.number);
-      }
-    }
-
-    if (num2.type === "binary" && num2.op === "-" && num1.type === "literal" && num1.number === 1 && num2.arg1.type === "literal" && num2.arg1.number === 1) {
-      return num2.arg2;
-    }
-
-    return new AstBinaryOperation("-", num1, num2, num1.min - num2.max, num1.max - num2.min);
-  }
-
-  function buildMinOperation(num1, max) {
-    if (num1.min >= max) {
-      return new AstLiteral(max);
-    } else if (num1.max <= max) {
-      return num1;
-    }
-
-    return new AstMin(num1, max);
-  }
-
-  function PostScriptCompiler() {}
-
-  PostScriptCompiler.prototype = {
-    compile: function PostScriptCompiler_compile(code, domain, range) {
-      var stack = [];
-      var i, ii;
-      var instructions = [];
-      var inputSize = domain.length >> 1,
-          outputSize = range.length >> 1;
-      var lastRegister = 0;
-      var n, j;
-      var num1, num2, ast1, ast2, tmpVar, item;
-
-      for (i = 0; i < inputSize; i++) {
-        stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));
-      }
-
-      for (i = 0, ii = code.length; i < ii; i++) {
-        item = code[i];
-
-        if (typeof item === "number") {
-          stack.push(new AstLiteral(item));
-          continue;
-        }
-
-        switch (item) {
-          case "add":
-            if (stack.length < 2) {
-              return null;
-            }
-
-            num2 = stack.pop();
-            num1 = stack.pop();
-            stack.push(buildAddOperation(num1, num2));
-            break;
-
-          case "cvr":
-            if (stack.length < 1) {
-              return null;
-            }
-
-            break;
-
-          case "mul":
-            if (stack.length < 2) {
-              return null;
-            }
-
-            num2 = stack.pop();
-            num1 = stack.pop();
-            stack.push(buildMulOperation(num1, num2));
-            break;
-
-          case "sub":
-            if (stack.length < 2) {
-              return null;
-            }
-
-            num2 = stack.pop();
-            num1 = stack.pop();
-            stack.push(buildSubOperation(num1, num2));
-            break;
-
-          case "exch":
-            if (stack.length < 2) {
-              return null;
-            }
-
-            ast1 = stack.pop();
-            ast2 = stack.pop();
-            stack.push(ast1, ast2);
-            break;
-
-          case "pop":
-            if (stack.length < 1) {
-              return null;
-            }
-
-            stack.pop();
-            break;
-
-          case "index":
-            if (stack.length < 1) {
-              return null;
-            }
-
-            num1 = stack.pop();
-
-            if (num1.type !== "literal") {
-              return null;
-            }
-
-            n = num1.number;
-
-            if (n < 0 || !Number.isInteger(n) || stack.length < n) {
-              return null;
-            }
-
-            ast1 = stack[stack.length - n - 1];
-
-            if (ast1.type === "literal" || ast1.type === "var") {
-              stack.push(ast1);
-              break;
-            }
-
-            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);
-            stack[stack.length - n - 1] = tmpVar;
-            stack.push(tmpVar);
-            instructions.push(new AstVariableDefinition(tmpVar, ast1));
-            break;
-
-          case "dup":
-            if (stack.length < 1) {
-              return null;
-            }
-
-            if (typeof code[i + 1] === "number" && code[i + 2] === "gt" && code[i + 3] === i + 7 && code[i + 4] === "jz" && code[i + 5] === "pop" && code[i + 6] === code[i + 1]) {
-              num1 = stack.pop();
-              stack.push(buildMinOperation(num1, code[i + 1]));
-              i += 6;
-              break;
-            }
-
-            ast1 = stack[stack.length - 1];
-
-            if (ast1.type === "literal" || ast1.type === "var") {
-              stack.push(ast1);
-              break;
-            }
-
-            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);
-            stack[stack.length - 1] = tmpVar;
-            stack.push(tmpVar);
-            instructions.push(new AstVariableDefinition(tmpVar, ast1));
-            break;
-
-          case "roll":
-            if (stack.length < 2) {
-              return null;
-            }
-
-            num2 = stack.pop();
-            num1 = stack.pop();
-
-            if (num2.type !== "literal" || num1.type !== "literal") {
-              return null;
-            }
-
-            j = num2.number;
-            n = num1.number;
-
-            if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {
-              return null;
-            }
-
-            j = (j % n + n) % n;
-
-            if (j === 0) {
-              break;
-            }
-
-            Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));
-            break;
-
-          default:
-            return null;
-        }
-      }
-
-      if (stack.length !== outputSize) {
-        return null;
-      }
-
-      var result = [];
-      instructions.forEach(function (instruction) {
-        var statementBuilder = new ExpressionBuilderVisitor();
-        instruction.visit(statementBuilder);
-        result.push(statementBuilder.toString());
-      });
-      stack.forEach(function (expr, i) {
-        var statementBuilder = new ExpressionBuilderVisitor();
-        expr.visit(statementBuilder);
-        var min = range[i * 2],
-            max = range[i * 2 + 1];
-        var out = [statementBuilder.toString()];
-
-        if (min > expr.min) {
-          out.unshift("Math.max(", min, ", ");
-          out.push(")");
-        }
-
-        if (max < expr.max) {
-          out.unshift("Math.min(", max, ", ");
-          out.push(")");
-        }
-
-        out.unshift("dest[destOffset + ", i, "] = ");
-        out.push(";");
-        result.push(out.join(""));
-      });
-      return result.join("\n");
-    }
-  };
-  return PostScriptCompiler;
-}();
-
-exports.PostScriptCompiler = PostScriptCompiler;
-
-/***/ }),
-/* 230 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PostScriptParser = exports.PostScriptLexer = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _core_utils = __w_pdfjs_require__(197);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PostScriptParser = /*#__PURE__*/function () {
-  function PostScriptParser(lexer) {
-    _classCallCheck(this, PostScriptParser);
-
-    this.lexer = lexer;
-    this.operators = [];
-    this.token = null;
-    this.prev = null;
-  }
-
-  _createClass(PostScriptParser, [{
-    key: "nextToken",
-    value: function nextToken() {
-      this.prev = this.token;
-      this.token = this.lexer.getToken();
-    }
-  }, {
-    key: "accept",
-    value: function accept(type) {
-      if (this.token.type === type) {
-        this.nextToken();
-        return true;
-      }
-
-      return false;
-    }
-  }, {
-    key: "expect",
-    value: function expect(type) {
-      if (this.accept(type)) {
-        return true;
-      }
-
-      throw new _util.FormatError("Unexpected symbol: found ".concat(this.token.type, " expected ").concat(type, "."));
-    }
-  }, {
-    key: "parse",
-    value: function parse() {
-      this.nextToken();
-      this.expect(PostScriptTokenTypes.LBRACE);
-      this.parseBlock();
-      this.expect(PostScriptTokenTypes.RBRACE);
-      return this.operators;
-    }
-  }, {
-    key: "parseBlock",
-    value: function parseBlock() {
-      while (true) {
-        if (this.accept(PostScriptTokenTypes.NUMBER)) {
-          this.operators.push(this.prev.value);
-        } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {
-          this.operators.push(this.prev.value);
-        } else if (this.accept(PostScriptTokenTypes.LBRACE)) {
-          this.parseCondition();
-        } else {
-          return;
-        }
-      }
-    }
-  }, {
-    key: "parseCondition",
-    value: function parseCondition() {
-      var conditionLocation = this.operators.length;
-      this.operators.push(null, null);
-      this.parseBlock();
-      this.expect(PostScriptTokenTypes.RBRACE);
-
-      if (this.accept(PostScriptTokenTypes.IF)) {
-        this.operators[conditionLocation] = this.operators.length;
-        this.operators[conditionLocation + 1] = "jz";
-      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {
-        var jumpLocation = this.operators.length;
-        this.operators.push(null, null);
-        var endOfTrue = this.operators.length;
-        this.parseBlock();
-        this.expect(PostScriptTokenTypes.RBRACE);
-        this.expect(PostScriptTokenTypes.IFELSE);
-        this.operators[jumpLocation] = this.operators.length;
-        this.operators[jumpLocation + 1] = "j";
-        this.operators[conditionLocation] = endOfTrue;
-        this.operators[conditionLocation + 1] = "jz";
-      } else {
-        throw new _util.FormatError("PS Function: error parsing conditional.");
-      }
-    }
-  }]);
-
-  return PostScriptParser;
-}();
-
-exports.PostScriptParser = PostScriptParser;
-var PostScriptTokenTypes = {
-  LBRACE: 0,
-  RBRACE: 1,
-  NUMBER: 2,
-  OPERATOR: 3,
-  IF: 4,
-  IFELSE: 5
-};
-
-var PostScriptToken = function PostScriptTokenClosure() {
-  var opCache = Object.create(null);
-
-  var PostScriptToken = /*#__PURE__*/function () {
-    function PostScriptToken(type, value) {
-      _classCallCheck(this, PostScriptToken);
-
-      this.type = type;
-      this.value = value;
-    }
-
-    _createClass(PostScriptToken, null, [{
-      key: "getOperator",
-      value: function getOperator(op) {
-        var opValue = opCache[op];
-
-        if (opValue) {
-          return opValue;
-        }
-
-        return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);
-      }
-    }, {
-      key: "LBRACE",
-      get: function get() {
-        return (0, _util.shadow)(this, "LBRACE", new PostScriptToken(PostScriptTokenTypes.LBRACE, "{"));
-      }
-    }, {
-      key: "RBRACE",
-      get: function get() {
-        return (0, _util.shadow)(this, "RBRACE", new PostScriptToken(PostScriptTokenTypes.RBRACE, "}"));
-      }
-    }, {
-      key: "IF",
-      get: function get() {
-        return (0, _util.shadow)(this, "IF", new PostScriptToken(PostScriptTokenTypes.IF, "IF"));
-      }
-    }, {
-      key: "IFELSE",
-      get: function get() {
-        return (0, _util.shadow)(this, "IFELSE", new PostScriptToken(PostScriptTokenTypes.IFELSE, "IFELSE"));
-      }
-    }]);
-
-    return PostScriptToken;
-  }();
-
-  return PostScriptToken;
-}();
-
-var PostScriptLexer = /*#__PURE__*/function () {
-  function PostScriptLexer(stream) {
-    _classCallCheck(this, PostScriptLexer);
-
-    this.stream = stream;
-    this.nextChar();
-    this.strBuf = [];
-  }
-
-  _createClass(PostScriptLexer, [{
-    key: "nextChar",
-    value: function nextChar() {
-      return this.currentChar = this.stream.getByte();
-    }
-  }, {
-    key: "getToken",
-    value: function getToken() {
-      var comment = false;
-      var ch = this.currentChar;
-
-      while (true) {
-        if (ch < 0) {
-          return _primitives.EOF;
-        }
-
-        if (comment) {
-          if (ch === 0x0a || ch === 0x0d) {
-            comment = false;
-          }
-        } else if (ch === 0x25) {
-          comment = true;
-        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {
-          break;
-        }
-
-        ch = this.nextChar();
-      }
-
-      switch (ch | 0) {
-        case 0x30:
-        case 0x31:
-        case 0x32:
-        case 0x33:
-        case 0x34:
-        case 0x35:
-        case 0x36:
-        case 0x37:
-        case 0x38:
-        case 0x39:
-        case 0x2b:
-        case 0x2d:
-        case 0x2e:
-          return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());
-
-        case 0x7b:
-          this.nextChar();
-          return PostScriptToken.LBRACE;
-
-        case 0x7d:
-          this.nextChar();
-          return PostScriptToken.RBRACE;
-      }
-
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      strBuf[0] = String.fromCharCode(ch);
-
-      while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {
-        strBuf.push(String.fromCharCode(ch));
-      }
-
-      var str = strBuf.join("");
-
-      switch (str.toLowerCase()) {
-        case "if":
-          return PostScriptToken.IF;
-
-        case "ifelse":
-          return PostScriptToken.IFELSE;
-
-        default:
-          return PostScriptToken.getOperator(str);
-      }
-    }
-  }, {
-    key: "getNumber",
-    value: function getNumber() {
-      var ch = this.currentChar;
-      var strBuf = this.strBuf;
-      strBuf.length = 0;
-      strBuf[0] = String.fromCharCode(ch);
-
-      while ((ch = this.nextChar()) >= 0) {
-        if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {
-          strBuf.push(String.fromCharCode(ch));
-        } else {
-          break;
-        }
-      }
-
-      var value = parseFloat(strBuf.join(""));
-
-      if (isNaN(value)) {
-        throw new _util.FormatError("Invalid floating point number: ".concat(value));
-      }
-
-      return value;
-    }
-  }]);
-
-  return PostScriptLexer;
-}();
-
-exports.PostScriptLexer = PostScriptLexer;
-
-/***/ }),
-/* 231 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.MurmurHash3_64 = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var SEED = 0xc3d2e1f0;
-var MASK_HIGH = 0xffff0000;
-var MASK_LOW = 0xffff;
-
-var MurmurHash3_64 = /*#__PURE__*/function () {
-  function MurmurHash3_64(seed) {
-    _classCallCheck(this, MurmurHash3_64);
-
-    this.h1 = seed ? seed & 0xffffffff : SEED;
-    this.h2 = seed ? seed & 0xffffffff : SEED;
-  }
-
-  _createClass(MurmurHash3_64, [{
-    key: "update",
-    value: function update(input) {
-      var data, length;
-
-      if ((0, _util.isString)(input)) {
-        data = new Uint8Array(input.length * 2);
-        length = 0;
-
-        for (var i = 0, ii = input.length; i < ii; i++) {
-          var code = input.charCodeAt(i);
-
-          if (code <= 0xff) {
-            data[length++] = code;
-          } else {
-            data[length++] = code >>> 8;
-            data[length++] = code & 0xff;
-          }
-        }
-      } else if ((0, _util.isArrayBuffer)(input)) {
-        data = input;
-        length = data.byteLength;
-      } else {
-        throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array.");
-      }
-
-      var blockCounts = length >> 2;
-      var tailLength = length - blockCounts * 4;
-      var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);
-      var k1 = 0,
-          k2 = 0;
-      var h1 = this.h1,
-          h2 = this.h2;
-      var C1 = 0xcc9e2d51,
-          C2 = 0x1b873593;
-      var C1_LOW = C1 & MASK_LOW,
-          C2_LOW = C2 & MASK_LOW;
-
-      for (var _i = 0; _i < blockCounts; _i++) {
-        if (_i & 1) {
-          k1 = dataUint32[_i];
-          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
-          k1 = k1 << 15 | k1 >>> 17;
-          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
-          h1 ^= k1;
-          h1 = h1 << 13 | h1 >>> 19;
-          h1 = h1 * 5 + 0xe6546b64;
-        } else {
-          k2 = dataUint32[_i];
-          k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;
-          k2 = k2 << 15 | k2 >>> 17;
-          k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;
-          h2 ^= k2;
-          h2 = h2 << 13 | h2 >>> 19;
-          h2 = h2 * 5 + 0xe6546b64;
-        }
-      }
-
-      k1 = 0;
-
-      switch (tailLength) {
-        case 3:
-          k1 ^= data[blockCounts * 4 + 2] << 16;
-
-        case 2:
-          k1 ^= data[blockCounts * 4 + 1] << 8;
-
-        case 1:
-          k1 ^= data[blockCounts * 4];
-          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
-          k1 = k1 << 15 | k1 >>> 17;
-          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
-
-          if (blockCounts & 1) {
-            h1 ^= k1;
-          } else {
-            h2 ^= k1;
-          }
-
-      }
-
-      this.h1 = h1;
-      this.h2 = h2;
-    }
-  }, {
-    key: "hexdigest",
-    value: function hexdigest() {
-      var h1 = this.h1,
-          h2 = this.h2;
-      h1 ^= h2 >>> 1;
-      h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;
-      h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;
-      h1 ^= h2 >>> 1;
-      h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;
-      h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;
-      h1 ^= h2 >>> 1;
-      var hex1 = (h1 >>> 0).toString(16),
-          hex2 = (h2 >>> 0).toString(16);
-      return hex1.padStart(8, "0") + hex2.padStart(8, "0");
-    }
-  }]);
-
-  return MurmurHash3_64;
-}();
-
-exports.MurmurHash3_64 = MurmurHash3_64;
-
-/***/ }),
-/* 232 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.NativeImageDecoder = void 0;
-
-var _colorspace = __w_pdfjs_require__(212);
-
-var _jpeg_stream = __w_pdfjs_require__(207);
-
-var _stream = __w_pdfjs_require__(201);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var NativeImageDecoder = /*#__PURE__*/function () {
-  function NativeImageDecoder(_ref) {
-    var xref = _ref.xref,
-        resources = _ref.resources,
-        handler = _ref.handler,
-        _ref$forceDataSchema = _ref.forceDataSchema,
-        forceDataSchema = _ref$forceDataSchema === void 0 ? false : _ref$forceDataSchema,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
-
-    _classCallCheck(this, NativeImageDecoder);
-
-    this.xref = xref;
-    this.resources = resources;
-    this.handler = handler;
-    this.forceDataSchema = forceDataSchema;
-    this.pdfFunctionFactory = pdfFunctionFactory;
-  }
-
-  _createClass(NativeImageDecoder, [{
-    key: "canDecode",
-    value: function canDecode(image) {
-      return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory) && image.maybeValidDimensions;
-    }
-  }, {
-    key: "decode",
-    value: function decode(image) {
-      var dict = image.dict;
-      var colorSpace = dict.get("ColorSpace", "CS");
-      colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, this.pdfFunctionFactory);
-      return this.handler.sendWithPromise("JpegDecode", [image.getIR(this.forceDataSchema), colorSpace.numComps]).then(function (_ref2) {
-        var data = _ref2.data,
-            width = _ref2.width,
-            height = _ref2.height;
-        return new _stream.Stream(data, 0, data.length, dict);
-      });
-    }
-  }], [{
-    key: "isSupported",
-    value: function isSupported(image, xref, res, pdfFunctionFactory) {
-      var dict = image.dict;
-
-      if (dict.has("DecodeParms") || dict.has("DP")) {
-        return false;
-      }
-
-      var cs = _colorspace.ColorSpace.parse(dict.get("ColorSpace", "CS"), xref, res, pdfFunctionFactory);
-
-      return (cs.name === "DeviceGray" || cs.name === "DeviceRGB") && cs.isDefaultDecode(dict.getArray("Decode", "D"));
-    }
-  }, {
-    key: "isDecodable",
-    value: function isDecodable(image, xref, res, pdfFunctionFactory) {
-      var dict = image.dict;
-
-      if (dict.has("DecodeParms") || dict.has("DP")) {
-        return false;
-      }
-
-      var cs = _colorspace.ColorSpace.parse(dict.get("ColorSpace", "CS"), xref, res, pdfFunctionFactory);
-
-      var bpc = dict.get("BitsPerComponent", "BPC") || 1;
-      return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray("Decode", "D"), bpc);
-    }
-  }]);
-
-  return NativeImageDecoder;
-}();
-
-exports.NativeImageDecoder = NativeImageDecoder;
-
-/***/ }),
-/* 233 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFImage = void 0;
-
-var _util = __w_pdfjs_require__(5);
-
-var _primitives = __w_pdfjs_require__(194);
-
-var _colorspace = __w_pdfjs_require__(212);
-
-var _stream = __w_pdfjs_require__(201);
-
-var _jpeg_stream = __w_pdfjs_require__(207);
-
-var _jpx = __w_pdfjs_require__(210);
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-var PDFImage = function PDFImageClosure() {
-  function handleImageData(image, nativeDecoder) {
-    if (nativeDecoder && nativeDecoder.canDecode(image)) {
-      return nativeDecoder.decode(image)["catch"](function (reason) {
-        (0, _util.warn)("Native image decoding failed -- trying to recover: " + (reason && reason.message));
-        return image;
-      });
-    }
-
-    return Promise.resolve(image);
-  }
-
-  function decodeAndClamp(value, addend, coefficient, max) {
-    value = addend + value * coefficient;
-
-    if (value < 0) {
-      value = 0;
-    } else if (value > max) {
-      value = max;
-    }
-
-    return value;
-  }
-
-  function resizeImageMask(src, bpc, w1, h1, w2, h2) {
-    var length = w2 * h2;
-    var dest;
-
-    if (bpc <= 8) {
-      dest = new Uint8Array(length);
-    } else if (bpc <= 16) {
-      dest = new Uint16Array(length);
-    } else {
-      dest = new Uint32Array(length);
-    }
-
-    var xRatio = w1 / w2;
-    var yRatio = h1 / h2;
-    var i,
-        j,
-        py,
-        newIndex = 0,
-        oldIndex;
-    var xScaled = new Uint16Array(w2);
-    var w1Scanline = w1;
-
-    for (i = 0; i < w2; i++) {
-      xScaled[i] = Math.floor(i * xRatio);
-    }
-
-    for (i = 0; i < h2; i++) {
-      py = Math.floor(i * yRatio) * w1Scanline;
-
-      for (j = 0; j < w2; j++) {
-        oldIndex = py + xScaled[j];
-        dest[newIndex++] = src[oldIndex];
-      }
-    }
-
-    return dest;
-  }
-
-  function PDFImage(_ref) {
-    var xref = _ref.xref,
-        res = _ref.res,
-        image = _ref.image,
-        _ref$isInline = _ref.isInline,
-        isInline = _ref$isInline === void 0 ? false : _ref$isInline,
-        _ref$smask = _ref.smask,
-        smask = _ref$smask === void 0 ? null : _ref$smask,
-        _ref$mask = _ref.mask,
-        mask = _ref$mask === void 0 ? null : _ref$mask,
-        _ref$isMask = _ref.isMask,
-        isMask = _ref$isMask === void 0 ? false : _ref$isMask,
-        pdfFunctionFactory = _ref.pdfFunctionFactory;
-    this.image = image;
-    var dict = image.dict;
-    var filter = dict.get("Filter");
-
-    if ((0, _primitives.isName)(filter)) {
-      switch (filter.name) {
-        case "JPXDecode":
-          var jpxImage = new _jpx.JpxImage();
-          jpxImage.parseImageProperties(image.stream);
-          image.stream.reset();
-          image.width = jpxImage.width;
-          image.height = jpxImage.height;
-          image.bitsPerComponent = jpxImage.bitsPerComponent;
-          image.numComps = jpxImage.componentsCount;
-          break;
-
-        case "JBIG2Decode":
-          image.bitsPerComponent = 1;
-          image.numComps = 1;
-          break;
-      }
-    }
-
-    var width = dict.get("Width", "W");
-    var height = dict.get("Height", "H");
-
-    if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {
-      (0, _util.warn)("PDFImage - using the Width/Height of the image data, " + "rather than the image dictionary.");
-      width = image.width;
-      height = image.height;
-    }
-
-    if (width < 1 || height < 1) {
-      throw new _util.FormatError("Invalid image width: ".concat(width, " or height: ").concat(height));
-    }
-
-    this.width = width;
-    this.height = height;
-    this.interpolate = dict.get("Interpolate", "I") || false;
-    this.imageMask = dict.get("ImageMask", "IM") || false;
-    this.matte = dict.get("Matte") || false;
-    var bitsPerComponent = image.bitsPerComponent;
-
-    if (!bitsPerComponent) {
-      bitsPerComponent = dict.get("BitsPerComponent", "BPC");
-
-      if (!bitsPerComponent) {
-        if (this.imageMask) {
-          bitsPerComponent = 1;
-        } else {
-          throw new _util.FormatError("Bits per component missing in image: ".concat(this.imageMask));
-        }
-      }
-    }
-
-    this.bpc = bitsPerComponent;
-
-    if (!this.imageMask) {
-      var colorSpace = dict.get("ColorSpace", "CS");
-
-      if (!colorSpace) {
-        (0, _util.info)("JPX images (which do not require color spaces)");
-
-        switch (image.numComps) {
-          case 1:
-            colorSpace = _primitives.Name.get("DeviceGray");
-            break;
-
-          case 3:
-            colorSpace = _primitives.Name.get("DeviceRGB");
-            break;
-
-          case 4:
-            colorSpace = _primitives.Name.get("DeviceCMYK");
-            break;
-
-          default:
-            throw new Error("JPX images with ".concat(image.numComps, " ") + "color components not supported.");
-        }
-      }
-
-      var resources = isInline ? res : null;
-      this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);
-      this.numComps = this.colorSpace.numComps;
-    }
-
-    this.decode = dict.getArray("Decode", "D");
-    this.needsDecode = false;
-
-    if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {
-      this.needsDecode = true;
-      var max = (1 << bitsPerComponent) - 1;
-      this.decodeCoefficients = [];
-      this.decodeAddends = [];
-      var isIndexed = this.colorSpace && this.colorSpace.name === "Indexed";
-
-      for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {
-        var dmin = this.decode[i];
-        var dmax = this.decode[i + 1];
-        this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;
-        this.decodeAddends[j] = isIndexed ? dmin : max * dmin;
-      }
-    }
-
-    if (smask) {
-      this.smask = new PDFImage({
-        xref: xref,
-        res: res,
-        image: smask,
-        isInline: isInline,
-        pdfFunctionFactory: pdfFunctionFactory
-      });
-    } else if (mask) {
-      if ((0, _primitives.isStream)(mask)) {
-        var maskDict = mask.dict,
-            imageMask = maskDict.get("ImageMask", "IM");
-
-        if (!imageMask) {
-          (0, _util.warn)("Ignoring /Mask in image without /ImageMask.");
-        } else {
-          this.mask = new PDFImage({
-            xref: xref,
-            res: res,
-            image: mask,
-            isInline: isInline,
-            isMask: true,
-            pdfFunctionFactory: pdfFunctionFactory
-          });
-        }
-      } else {
-        this.mask = mask;
-      }
-    }
-  }
-
-  PDFImage.buildImage = function (_ref2) {
-    var handler = _ref2.handler,
-        xref = _ref2.xref,
-        res = _ref2.res,
-        image = _ref2.image,
-        _ref2$isInline = _ref2.isInline,
-        isInline = _ref2$isInline === void 0 ? false : _ref2$isInline,
-        _ref2$nativeDecoder = _ref2.nativeDecoder,
-        nativeDecoder = _ref2$nativeDecoder === void 0 ? null : _ref2$nativeDecoder,
-        pdfFunctionFactory = _ref2.pdfFunctionFactory;
-    var imagePromise = handleImageData(image, nativeDecoder);
-    var smaskPromise;
-    var maskPromise;
-    var smask = image.dict.get("SMask");
-    var mask = image.dict.get("Mask");
-
-    if (smask) {
-      smaskPromise = handleImageData(smask, nativeDecoder);
-      maskPromise = Promise.resolve(null);
-    } else {
-      smaskPromise = Promise.resolve(null);
-
-      if (mask) {
-        if ((0, _primitives.isStream)(mask)) {
-          maskPromise = handleImageData(mask, nativeDecoder);
-        } else if (Array.isArray(mask)) {
-          maskPromise = Promise.resolve(mask);
-        } else {
-          (0, _util.warn)("Unsupported mask format.");
-          maskPromise = Promise.resolve(null);
-        }
-      } else {
-        maskPromise = Promise.resolve(null);
-      }
-    }
-
-    return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref3) {
-      var _ref4 = _slicedToArray(_ref3, 3),
-          imageData = _ref4[0],
-          smaskData = _ref4[1],
-          maskData = _ref4[2];
-
-      return new PDFImage({
-        xref: xref,
-        res: res,
-        image: imageData,
-        isInline: isInline,
-        smask: smaskData,
-        mask: maskData,
-        pdfFunctionFactory: pdfFunctionFactory
-      });
-    });
-  };
-
-  PDFImage.createMask = function (_ref5) {
-    var imgArray = _ref5.imgArray,
-        width = _ref5.width,
-        height = _ref5.height,
-        imageIsFromDecodeStream = _ref5.imageIsFromDecodeStream,
-        inverseDecode = _ref5.inverseDecode;
-    var computedLength = (width + 7 >> 3) * height;
-    var actualLength = imgArray.byteLength;
-    var haveFullData = computedLength === actualLength;
-    var data, i;
-
-    if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {
-      data = imgArray;
-    } else if (!inverseDecode) {
-      data = new Uint8ClampedArray(actualLength);
-      data.set(imgArray);
-    } else {
-      data = new Uint8ClampedArray(computedLength);
-      data.set(imgArray);
-
-      for (i = actualLength; i < computedLength; i++) {
-        data[i] = 0xff;
-      }
-    }
-
-    if (inverseDecode) {
-      for (i = 0; i < actualLength; i++) {
-        data[i] ^= 0xff;
-      }
-    }
-
-    return {
-      data: data,
-      width: width,
-      height: height
-    };
-  };
-
-  PDFImage.prototype = {
-    get drawWidth() {
-      return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);
-    },
-
-    get drawHeight() {
-      return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);
-    },
-
-    decodeBuffer: function decodeBuffer(buffer) {
-      var bpc = this.bpc;
-      var numComps = this.numComps;
-      var decodeAddends = this.decodeAddends;
-      var decodeCoefficients = this.decodeCoefficients;
-      var max = (1 << bpc) - 1;
-      var i, ii;
-
-      if (bpc === 1) {
-        for (i = 0, ii = buffer.length; i < ii; i++) {
-          buffer[i] = +!buffer[i];
-        }
-
-        return;
-      }
-
-      var index = 0;
-
-      for (i = 0, ii = this.width * this.height; i < ii; i++) {
-        for (var j = 0; j < numComps; j++) {
-          buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);
-          index++;
-        }
-      }
-    },
-    getComponents: function getComponents(buffer) {
-      var bpc = this.bpc;
-
-      if (bpc === 8) {
-        return buffer;
-      }
-
-      var width = this.width;
-      var height = this.height;
-      var numComps = this.numComps;
-      var length = width * height * numComps;
-      var bufferPos = 0;
-      var output;
-
-      if (bpc <= 8) {
-        output = new Uint8Array(length);
-      } else if (bpc <= 16) {
-        output = new Uint16Array(length);
-      } else {
-        output = new Uint32Array(length);
-      }
-
-      var rowComps = width * numComps;
-      var max = (1 << bpc) - 1;
-      var i = 0,
-          ii,
-          buf;
-
-      if (bpc === 1) {
-        var mask, loop1End, loop2End;
-
-        for (var j = 0; j < height; j++) {
-          loop1End = i + (rowComps & ~7);
-          loop2End = i + rowComps;
-
-          while (i < loop1End) {
-            buf = buffer[bufferPos++];
-            output[i] = buf >> 7 & 1;
-            output[i + 1] = buf >> 6 & 1;
-            output[i + 2] = buf >> 5 & 1;
-            output[i + 3] = buf >> 4 & 1;
-            output[i + 4] = buf >> 3 & 1;
-            output[i + 5] = buf >> 2 & 1;
-            output[i + 6] = buf >> 1 & 1;
-            output[i + 7] = buf & 1;
-            i += 8;
-          }
-
-          if (i < loop2End) {
-            buf = buffer[bufferPos++];
-            mask = 128;
-
-            while (i < loop2End) {
-              output[i++] = +!!(buf & mask);
-              mask >>= 1;
-            }
-          }
-        }
-      } else {
-        var bits = 0;
-        buf = 0;
-
-        for (i = 0, ii = length; i < ii; ++i) {
-          if (i % rowComps === 0) {
-            buf = 0;
-            bits = 0;
-          }
-
-          while (bits < bpc) {
-            buf = buf << 8 | buffer[bufferPos++];
-            bits += 8;
-          }
-
-          var remainingBits = bits - bpc;
-          var value = buf >> remainingBits;
-
-          if (value < 0) {
-            value = 0;
-          } else if (value > max) {
-            value = max;
-          }
-
-          output[i] = value;
-          buf = buf & (1 << remainingBits) - 1;
-          bits = remainingBits;
-        }
-      }
-
-      return output;
-    },
-    fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {
-      var smask = this.smask;
-      var mask = this.mask;
-      var alphaBuf, sw, sh, i, ii, j;
-
-      if (smask) {
-        sw = smask.width;
-        sh = smask.height;
-        alphaBuf = new Uint8ClampedArray(sw * sh);
-        smask.fillGrayBuffer(alphaBuf);
-
-        if (sw !== width || sh !== height) {
-          alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);
-        }
-      } else if (mask) {
-        if (mask instanceof PDFImage) {
-          sw = mask.width;
-          sh = mask.height;
-          alphaBuf = new Uint8ClampedArray(sw * sh);
-          mask.numComps = 1;
-          mask.fillGrayBuffer(alphaBuf);
-
-          for (i = 0, ii = sw * sh; i < ii; ++i) {
-            alphaBuf[i] = 255 - alphaBuf[i];
-          }
-
-          if (sw !== width || sh !== height) {
-            alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);
-          }
-        } else if (Array.isArray(mask)) {
-          alphaBuf = new Uint8ClampedArray(width * height);
-          var numComps = this.numComps;
-
-          for (i = 0, ii = width * height; i < ii; ++i) {
-            var opacity = 0;
-            var imageOffset = i * numComps;
-
-            for (j = 0; j < numComps; ++j) {
-              var color = image[imageOffset + j];
-              var maskOffset = j * 2;
-
-              if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {
-                opacity = 255;
-                break;
-              }
-            }
-
-            alphaBuf[i] = opacity;
-          }
-        } else {
-          throw new _util.FormatError("Unknown mask format.");
-        }
-      }
-
-      if (alphaBuf) {
-        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {
-          rgbaBuf[j] = alphaBuf[i];
-        }
-      } else {
-        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {
-          rgbaBuf[j] = 255;
-        }
-      }
-    },
-    undoPreblend: function undoPreblend(buffer, width, height) {
-      var matte = this.smask && this.smask.matte;
-
-      if (!matte) {
-        return;
-      }
-
-      var matteRgb = this.colorSpace.getRgb(matte, 0);
-      var matteR = matteRgb[0];
-      var matteG = matteRgb[1];
-      var matteB = matteRgb[2];
-      var length = width * height * 4;
-
-      for (var i = 0; i < length; i += 4) {
-        var alpha = buffer[i + 3];
-
-        if (alpha === 0) {
-          buffer[i] = 255;
-          buffer[i + 1] = 255;
-          buffer[i + 2] = 255;
-          continue;
-        }
-
-        var k = 255 / alpha;
-        buffer[i] = (buffer[i] - matteR) * k + matteR;
-        buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;
-        buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;
-      }
-    },
-    createImageData: function createImageData() {
-      var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var drawWidth = this.drawWidth;
-      var drawHeight = this.drawHeight;
-      var imgData = {
-        width: drawWidth,
-        height: drawHeight,
-        kind: 0,
-        data: null
-      };
-      var numComps = this.numComps;
-      var originalWidth = this.width;
-      var originalHeight = this.height;
-      var bpc = this.bpc;
-      var rowBytes = originalWidth * numComps * bpc + 7 >> 3;
-      var imgArray;
-
-      if (!forceRGBA) {
-        var kind;
-
-        if (this.colorSpace.name === "DeviceGray" && bpc === 1) {
-          kind = _util.ImageKind.GRAYSCALE_1BPP;
-        } else if (this.colorSpace.name === "DeviceRGB" && bpc === 8 && !this.needsDecode) {
-          kind = _util.ImageKind.RGB_24BPP;
-        }
-
-        if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {
-          imgData.kind = kind;
-          imgArray = this.getImageBytes(originalHeight * rowBytes);
-
-          if (this.image instanceof _stream.DecodeStream) {
-            imgData.data = imgArray;
-          } else {
-            var newArray = new Uint8ClampedArray(imgArray.length);
-            newArray.set(imgArray);
-            imgData.data = newArray;
-          }
-
-          if (this.needsDecode) {
-            (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, "PDFImage.createImageData: The image must be grayscale.");
-            var buffer = imgData.data;
-
-            for (var i = 0, ii = buffer.length; i < ii; i++) {
-              buffer[i] ^= 0xff;
-            }
-          }
-
-          return imgData;
-        }
-
-        if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {
-          var imageLength = originalHeight * rowBytes;
-
-          switch (this.colorSpace.name) {
-            case "DeviceGray":
-              imageLength *= 3;
-
-            case "DeviceRGB":
-            case "DeviceCMYK":
-              imgData.kind = _util.ImageKind.RGB_24BPP;
-              imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);
-              return imgData;
-          }
-        }
-      }
-
-      imgArray = this.getImageBytes(originalHeight * rowBytes);
-      var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;
-      var comps = this.getComponents(imgArray);
-      var alpha01, maybeUndoPreblend;
-
-      if (!forceRGBA && !this.smask && !this.mask) {
-        imgData.kind = _util.ImageKind.RGB_24BPP;
-        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);
-        alpha01 = 0;
-        maybeUndoPreblend = false;
-      } else {
-        imgData.kind = _util.ImageKind.RGBA_32BPP;
-        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);
-        alpha01 = 1;
-        maybeUndoPreblend = true;
-        this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);
-      }
-
-      if (this.needsDecode) {
-        this.decodeBuffer(comps);
-      }
-
-      this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);
-
-      if (maybeUndoPreblend) {
-        this.undoPreblend(imgData.data, drawWidth, actualHeight);
-      }
-
-      return imgData;
-    },
-    fillGrayBuffer: function fillGrayBuffer(buffer) {
-      var numComps = this.numComps;
-
-      if (numComps !== 1) {
-        throw new _util.FormatError("Reading gray scale from a color image: ".concat(numComps));
-      }
-
-      var width = this.width;
-      var height = this.height;
-      var bpc = this.bpc;
-      var rowBytes = width * numComps * bpc + 7 >> 3;
-      var imgArray = this.getImageBytes(height * rowBytes);
-      var comps = this.getComponents(imgArray);
-      var i, length;
-
-      if (bpc === 1) {
-        length = width * height;
-
-        if (this.needsDecode) {
-          for (i = 0; i < length; ++i) {
-            buffer[i] = comps[i] - 1 & 255;
-          }
-        } else {
-          for (i = 0; i < length; ++i) {
-            buffer[i] = -comps[i] & 255;
-          }
-        }
-
-        return;
-      }
-
-      if (this.needsDecode) {
-        this.decodeBuffer(comps);
-      }
-
-      length = width * height;
-      var scale = 255 / ((1 << bpc) - 1);
-
-      for (i = 0; i < length; ++i) {
-        buffer[i] = scale * comps[i];
-      }
-    },
-    getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {
-      var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      this.image.reset();
-      this.image.drawWidth = drawWidth || this.width;
-      this.image.drawHeight = drawHeight || this.height;
-      this.image.forceRGB = !!forceRGB;
-      return this.image.getBytes(length, true);
-    }
-  };
-  return PDFImage;
-}();
-
-exports.PDFImage = PDFImage;
-
-/***/ }),
-/* 234 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.MessageHandler = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var CallbackKind = {
-  UNKNOWN: 0,
-  DATA: 1,
-  ERROR: 2
-};
-var StreamKind = {
-  UNKNOWN: 0,
-  CANCEL: 1,
-  CANCEL_COMPLETE: 2,
-  CLOSE: 3,
-  ENQUEUE: 4,
-  ERROR: 5,
-  PULL: 6,
-  PULL_COMPLETE: 7,
-  START_COMPLETE: 8
-};
-
-function wrapReason(reason) {
-  if (_typeof(reason) !== "object" || reason === null) {
-    return reason;
-  }
-
-  switch (reason.name) {
-    case "AbortException":
-      return new _util.AbortException(reason.message);
-
-    case "MissingPDFException":
-      return new _util.MissingPDFException(reason.message);
-
-    case "UnexpectedResponseException":
-      return new _util.UnexpectedResponseException(reason.message, reason.status);
-
-    case "UnknownErrorException":
-      return new _util.UnknownErrorException(reason.message, reason.details);
-
-    default:
-      return new _util.UnknownErrorException(reason.message, reason.toString());
-  }
-}
-
-var MessageHandler = /*#__PURE__*/function () {
-  function MessageHandler(sourceName, targetName, comObj) {
-    var _this = this;
-
-    _classCallCheck(this, MessageHandler);
-
-    this.sourceName = sourceName;
-    this.targetName = targetName;
-    this.comObj = comObj;
-    this.callbackId = 1;
-    this.streamId = 1;
-    this.postMessageTransfers = true;
-    this.streamSinks = Object.create(null);
-    this.streamControllers = Object.create(null);
-    this.callbackCapabilities = Object.create(null);
-    this.actionHandler = Object.create(null);
-
-    this._onComObjOnMessage = function (event) {
-      var data = event.data;
-
-      if (data.targetName !== _this.sourceName) {
-        return;
-      }
-
-      if (data.stream) {
-        _this._processStreamMessage(data);
-
-        return;
-      }
-
-      if (data.callback) {
-        var callbackId = data.callbackId;
-        var capability = _this.callbackCapabilities[callbackId];
-
-        if (!capability) {
-          throw new Error("Cannot resolve callback ".concat(callbackId));
-        }
-
-        delete _this.callbackCapabilities[callbackId];
-
-        if (data.callback === CallbackKind.DATA) {
-          capability.resolve(data.data);
-        } else if (data.callback === CallbackKind.ERROR) {
-          capability.reject(wrapReason(data.reason));
-        } else {
-          throw new Error("Unexpected callback case");
-        }
-
-        return;
-      }
-
-      var action = _this.actionHandler[data.action];
-
-      if (!action) {
-        throw new Error("Unknown action from worker: ".concat(data.action));
-      }
-
-      if (data.callbackId) {
-        var _sourceName = _this.sourceName;
-        var _targetName = data.sourceName;
-        new Promise(function (resolve) {
-          resolve(action(data.data));
-        }).then(function (result) {
-          comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            callback: CallbackKind.DATA,
-            callbackId: data.callbackId,
-            data: result
-          });
-        }, function (reason) {
-          comObj.postMessage({
-            sourceName: _sourceName,
-            targetName: _targetName,
-            callback: CallbackKind.ERROR,
-            callbackId: data.callbackId,
-            reason: wrapReason(reason)
-          });
-        });
-        return;
-      }
-
-      if (data.streamId) {
-        _this._createStreamSink(data);
-
-        return;
-      }
-
-      action(data.data);
-    };
-
-    comObj.addEventListener("message", this._onComObjOnMessage);
-  }
-
-  _createClass(MessageHandler, [{
-    key: "on",
-    value: function on(actionName, handler) {
-      var ah = this.actionHandler;
-
-      if (ah[actionName]) {
-        throw new Error("There is already an actionName called \"".concat(actionName, "\""));
-      }
-
-      ah[actionName] = handler;
-    }
-  }, {
-    key: "send",
-    value: function send(actionName, data, transfers) {
-      this._postMessage({
-        sourceName: this.sourceName,
-        targetName: this.targetName,
-        action: actionName,
-        data: data
-      }, transfers);
-    }
-  }, {
-    key: "sendWithPromise",
-    value: function sendWithPromise(actionName, data, transfers) {
-      var callbackId = this.callbackId++;
-      var capability = (0, _util.createPromiseCapability)();
-      this.callbackCapabilities[callbackId] = capability;
-
-      try {
-        this._postMessage({
-          sourceName: this.sourceName,
-          targetName: this.targetName,
-          action: actionName,
-          callbackId: callbackId,
-          data: data
-        }, transfers);
-      } catch (ex) {
-        capability.reject(ex);
-      }
-
-      return capability.promise;
-    }
-  }, {
-    key: "sendWithStream",
-    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {
-      var _this2 = this;
-
-      var streamId = this.streamId++;
-      var sourceName = this.sourceName;
-      var targetName = this.targetName;
-      var comObj = this.comObj;
-      return new ReadableStream({
-        start: function start(controller) {
-          var startCapability = (0, _util.createPromiseCapability)();
-          _this2.streamControllers[streamId] = {
-            controller: controller,
-            startCall: startCapability,
-            pullCall: null,
-            cancelCall: null,
-            isClosed: false
-          };
-
-          _this2._postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            action: actionName,
-            streamId: streamId,
-            data: data,
-            desiredSize: controller.desiredSize
-          }, transfers);
-
-          return startCapability.promise;
-        },
-        pull: function pull(controller) {
-          var pullCapability = (0, _util.createPromiseCapability)();
-          _this2.streamControllers[streamId].pullCall = pullCapability;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.PULL,
-            streamId: streamId,
-            desiredSize: controller.desiredSize
-          });
-          return pullCapability.promise;
-        },
-        cancel: function cancel(reason) {
-          (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
-          var cancelCapability = (0, _util.createPromiseCapability)();
-          _this2.streamControllers[streamId].cancelCall = cancelCapability;
-          _this2.streamControllers[streamId].isClosed = true;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.CANCEL,
-            streamId: streamId,
-            reason: wrapReason(reason)
-          });
-          return cancelCapability.promise;
-        }
-      }, queueingStrategy);
-    }
-  }, {
-    key: "_createStreamSink",
-    value: function _createStreamSink(data) {
-      var self = this;
-      var action = this.actionHandler[data.action];
-      var streamId = data.streamId;
-      var sourceName = this.sourceName;
-      var targetName = data.sourceName;
-      var comObj = this.comObj;
-      var streamSink = {
-        enqueue: function enqueue(chunk) {
-          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
-          var transfers = arguments.length > 2 ? arguments[2] : undefined;
-
-          if (this.isCancelled) {
-            return;
-          }
-
-          var lastDesiredSize = this.desiredSize;
-          this.desiredSize -= size;
-
-          if (lastDesiredSize > 0 && this.desiredSize <= 0) {
-            this.sinkCapability = (0, _util.createPromiseCapability)();
-            this.ready = this.sinkCapability.promise;
-          }
-
-          self._postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.ENQUEUE,
-            streamId: streamId,
-            chunk: chunk
-          }, transfers);
-        },
-        close: function close() {
-          if (this.isCancelled) {
-            return;
-          }
-
-          this.isCancelled = true;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.CLOSE,
-            streamId: streamId
-          });
-          delete self.streamSinks[streamId];
-        },
-        error: function error(reason) {
-          (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
-
-          if (this.isCancelled) {
-            return;
-          }
-
-          this.isCancelled = true;
-          comObj.postMessage({
-            sourceName: sourceName,
-            targetName: targetName,
-            stream: StreamKind.ERROR,
-            streamId: streamId,
-            reason: wrapReason(reason)
-          });
-        },
-        sinkCapability: (0, _util.createPromiseCapability)(),
-        onPull: null,
-        onCancel: null,
-        isCancelled: false,
-        desiredSize: data.desiredSize,
-        ready: null
-      };
-      streamSink.sinkCapability.resolve();
-      streamSink.ready = streamSink.sinkCapability.promise;
-      this.streamSinks[streamId] = streamSink;
-      new Promise(function (resolve) {
-        resolve(action(data.data, streamSink));
-      }).then(function () {
-        comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
-          stream: StreamKind.START_COMPLETE,
-          streamId: streamId,
-          success: true
-        });
-      }, function (reason) {
-        comObj.postMessage({
-          sourceName: sourceName,
-          targetName: targetName,
-          stream: StreamKind.START_COMPLETE,
-          streamId: streamId,
-          reason: wrapReason(reason)
-        });
-      });
-    }
-  }, {
-    key: "_processStreamMessage",
-    value: function _processStreamMessage(data) {
-      var streamId = data.streamId;
-      var sourceName = this.sourceName;
-      var targetName = data.sourceName;
-      var comObj = this.comObj;
-
-      switch (data.stream) {
-        case StreamKind.START_COMPLETE:
-          if (data.success) {
-            this.streamControllers[streamId].startCall.resolve();
-          } else {
-            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));
-          }
-
-          break;
-
-        case StreamKind.PULL_COMPLETE:
-          if (data.success) {
-            this.streamControllers[streamId].pullCall.resolve();
-          } else {
-            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));
-          }
-
-          break;
-
-        case StreamKind.PULL:
-          if (!this.streamSinks[streamId]) {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.PULL_COMPLETE,
-              streamId: streamId,
-              success: true
-            });
-            break;
-          }
-
-          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {
-            this.streamSinks[streamId].sinkCapability.resolve();
-          }
-
-          this.streamSinks[streamId].desiredSize = data.desiredSize;
-          var onPull = this.streamSinks[data.streamId].onPull;
-          new Promise(function (resolve) {
-            resolve(onPull && onPull());
-          }).then(function () {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.PULL_COMPLETE,
-              streamId: streamId,
-              success: true
-            });
-          }, function (reason) {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.PULL_COMPLETE,
-              streamId: streamId,
-              reason: wrapReason(reason)
-            });
-          });
-          break;
-
-        case StreamKind.ENQUEUE:
-          (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");
-
-          if (this.streamControllers[streamId].isClosed) {
-            break;
-          }
-
-          this.streamControllers[streamId].controller.enqueue(data.chunk);
-          break;
-
-        case StreamKind.CLOSE:
-          (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");
-
-          if (this.streamControllers[streamId].isClosed) {
-            break;
-          }
-
-          this.streamControllers[streamId].isClosed = true;
-          this.streamControllers[streamId].controller.close();
-
-          this._deleteStreamController(streamId);
-
-          break;
-
-        case StreamKind.ERROR:
-          (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
-          this.streamControllers[streamId].controller.error(wrapReason(data.reason));
-
-          this._deleteStreamController(streamId);
-
-          break;
-
-        case StreamKind.CANCEL_COMPLETE:
-          if (data.success) {
-            this.streamControllers[streamId].cancelCall.resolve();
-          } else {
-            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
-          }
-
-          this._deleteStreamController(streamId);
-
-          break;
-
-        case StreamKind.CANCEL:
-          if (!this.streamSinks[streamId]) {
-            break;
-          }
-
-          var onCancel = this.streamSinks[data.streamId].onCancel;
-          new Promise(function (resolve) {
-            resolve(onCancel && onCancel(wrapReason(data.reason)));
-          }).then(function () {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.CANCEL_COMPLETE,
-              streamId: streamId,
-              success: true
-            });
-          }, function (reason) {
-            comObj.postMessage({
-              sourceName: sourceName,
-              targetName: targetName,
-              stream: StreamKind.CANCEL_COMPLETE,
-              streamId: streamId,
-              reason: wrapReason(reason)
-            });
-          });
-          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));
-          this.streamSinks[streamId].isCancelled = true;
-          delete this.streamSinks[streamId];
-          break;
-
-        default:
-          throw new Error("Unexpected stream case");
-      }
-    }
-  }, {
-    key: "_deleteStreamController",
-    value: function () {
-      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamId) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {
-                  return capability && capability.promise;
-                }));
-
-              case 2:
-                delete this.streamControllers[streamId];
-
-              case 3:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function _deleteStreamController(_x) {
-        return _deleteStreamController2.apply(this, arguments);
-      }
-
-      return _deleteStreamController;
-    }()
-  }, {
-    key: "_postMessage",
-    value: function _postMessage(message, transfers) {
-      if (transfers && this.postMessageTransfers) {
-        this.comObj.postMessage(message, transfers);
-      } else {
-        this.comObj.postMessage(message);
-      }
-    }
-  }, {
-    key: "destroy",
-    value: function destroy() {
-      this.comObj.removeEventListener("message", this._onComObjOnMessage);
-    }
-  }]);
-
-  return MessageHandler;
-}();
-
-exports.MessageHandler = MessageHandler;
-
-/***/ }),
-/* 235 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFWorkerStream = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));
-
-var _util = __w_pdfjs_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PDFWorkerStream = /*#__PURE__*/function () {
-  function PDFWorkerStream(msgHandler) {
-    _classCallCheck(this, PDFWorkerStream);
-
-    this._msgHandler = msgHandler;
-    this._contentLength = null;
-    this._fullRequestReader = null;
-    this._rangeRequestReaders = [];
-  }
-
-  _createClass(PDFWorkerStream, [{
-    key: "getFullReader",
-    value: function getFullReader() {
-      (0, _util.assert)(!this._fullRequestReader);
-      this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
-      return this._fullRequestReader;
-    }
-  }, {
-    key: "getRangeReader",
-    value: function getRangeReader(begin, end) {
-      var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);
-
-      this._rangeRequestReaders.push(reader);
-
-      return reader;
-    }
-  }, {
-    key: "cancelAllRequests",
-    value: function cancelAllRequests(reason) {
-      if (this._fullRequestReader) {
-        this._fullRequestReader.cancel(reason);
-      }
-
-      var readers = this._rangeRequestReaders.slice(0);
-
-      readers.forEach(function (reader) {
-        reader.cancel(reason);
-      });
-    }
-  }]);
-
-  return PDFWorkerStream;
-}();
-
-exports.PDFWorkerStream = PDFWorkerStream;
-
-var PDFWorkerStreamReader = /*#__PURE__*/function () {
-  function PDFWorkerStreamReader(msgHandler) {
-    var _this = this;
-
-    _classCallCheck(this, PDFWorkerStreamReader);
-
-    this._msgHandler = msgHandler;
-    this.onProgress = null;
-    this._contentLength = null;
-    this._isRangeSupported = false;
-    this._isStreamingSupported = false;
-
-    var readableStream = this._msgHandler.sendWithStream("GetReader");
-
-    this._reader = readableStream.getReader();
-    this._headersReady = this._msgHandler.sendWithPromise("ReaderHeadersReady").then(function (data) {
-      _this._isStreamingSupported = data.isStreamingSupported;
-      _this._isRangeSupported = data.isRangeSupported;
-      _this._contentLength = data.contentLength;
-    });
-  }
-
-  _createClass(PDFWorkerStreamReader, [{
-    key: "read",
-    value: function () {
-      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var _ref, value, done;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._reader.read();
-
-              case 2:
-                _ref = _context.sent;
-                value = _ref.value;
-                done = _ref.done;
-
-                if (!done) {
-                  _context.next = 7;
-                  break;
-                }
-
-                return _context.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 7:
-                return _context.abrupt("return", {
-                  value: value.buffer,
-                  done: false
-                });
-
-              case 8:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function read() {
-        return _read.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._reader.cancel(reason);
-    }
-  }, {
-    key: "headersReady",
-    get: function get() {
-      return this._headersReady;
-    }
-  }, {
-    key: "contentLength",
-    get: function get() {
-      return this._contentLength;
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return this._isStreamingSupported;
-    }
-  }, {
-    key: "isRangeSupported",
-    get: function get() {
-      return this._isRangeSupported;
-    }
-  }]);
-
-  return PDFWorkerStreamReader;
-}();
-
-var PDFWorkerStreamRangeReader = /*#__PURE__*/function () {
-  function PDFWorkerStreamRangeReader(begin, end, msgHandler) {
-    _classCallCheck(this, PDFWorkerStreamRangeReader);
-
-    this._msgHandler = msgHandler;
-    this.onProgress = null;
-
-    var readableStream = this._msgHandler.sendWithStream("GetRangeReader", {
-      begin: begin,
-      end: end
-    });
-
-    this._reader = readableStream.getReader();
-  }
-
-  _createClass(PDFWorkerStreamRangeReader, [{
-    key: "read",
-    value: function () {
-      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var _ref2, value, done;
-
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._reader.read();
-
-              case 2:
-                _ref2 = _context2.sent;
-                value = _ref2.value;
-                done = _ref2.done;
-
-                if (!done) {
-                  _context2.next = 7;
-                  break;
-                }
-
-                return _context2.abrupt("return", {
-                  value: undefined,
-                  done: true
-                });
-
-              case 7:
-                return _context2.abrupt("return", {
-                  value: value.buffer,
-                  done: false
-                });
-
-              case 8:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function read() {
-        return _read2.apply(this, arguments);
-      }
-
-      return read;
-    }()
-  }, {
-    key: "cancel",
-    value: function cancel(reason) {
-      this._reader.cancel(reason);
-    }
-  }, {
-    key: "isStreamingSupported",
-    get: function get() {
-      return false;
-    }
-  }]);
-
-  return PDFWorkerStreamRangeReader;
-}();
-
-/***/ })
-/******/ ]);
-});
-//# sourceMappingURL=pdf.worker.js.map
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/build/pdf.worker.js.map b/server/target/classes/static/pdfjs/build/pdf.worker.js.map
deleted file mode 100644
index 58971c8..0000000
--- a/server/target/classes/static/pdfjs/build/pdf.worker.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack://pdfjs-dist/build/pdf.worker/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf.worker/webpack/bootstrap","webpack://pdfjs-dist/build/pdf.worker/src/pdf.worker.js","webpack://pdfjs-dist/build/pdf.worker/src/core/worker.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/webpack/buildin/module.js","webpack://pdfjs-dist/build/pdf.worker/src/shared/util.js","webpack://pdfjs-dist/build/pdf.worker/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/global-this.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.global-this.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/has.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-integer.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf.worker/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/starts-with.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.starts-with.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/not-a-regexp.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-regexp.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/a-function.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/ends-with.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.ends-with.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/includes.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.includes.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/array/includes.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.array.includes.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/array-method-uses-to-length.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/array/from.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.array.from.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/array-from.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/object/assign.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.object.assign.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-assign.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/math/log2.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.math.log2.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/number/is-nan.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.number.is-nan.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/number/is-integer.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-integer.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/dom-iterables.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/engine-is-ios.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/web/url.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/web.url.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/native-url.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/web.url-search-params.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/web.url.to-json.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/web-streams-polyfill/dist/ponyfill.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/map/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/set/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/weak-map/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.weak-map.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/collection-weak.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/array-iteration.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/array-species-create.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/weak-set/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.weak-set.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/code-point-at.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/from-code-point.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/symbol/index.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.array.concat.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.description.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.has-instance.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.match.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.match-all.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.replace.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.search.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.species.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.split.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.symbol.unscopables.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/pad-start.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.pad-start.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/string-pad.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/string-repeat.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/string/pad-end.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.string.pad-end.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/es/object/values.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/modules/es.object.values.js","webpack://pdfjs-dist/build/pdf.worker/node_modules/core-js/internals/object-to-array.js","webpack://pdfjs-dist/build/pdf.worker/src/core/primitives.js","webpack://pdfjs-dist/build/pdf.worker/src/core/pdf_manager.js","webpack://pdfjs-dist/build/pdf.worker/src/core/chunked_stream.js","webpack://pdfjs-dist/build/pdf.worker/src/core/core_utils.js","webpack://pdfjs-dist/build/pdf.worker/src/core/document.js","webpack://pdfjs-dist/build/pdf.worker/src/core/obj.js","webpack://pdfjs-dist/build/pdf.worker/src/core/parser.js","webpack://pdfjs-dist/build/pdf.worker/src/core/stream.js","webpack://pdfjs-dist/build/pdf.worker/src/core/ccitt_stream.js","webpack://pdfjs-dist/build/pdf.worker/src/core/ccitt.js","webpack://pdfjs-dist/build/pdf.worker/src/core/jbig2_stream.js","webpack://pdfjs-dist/build/pdf.worker/src/core/jbig2.js","webpack://pdfjs-dist/build/pdf.worker/src/core/arithmetic_decoder.js","webpack://pdfjs-dist/build/pdf.worker/src/core/jpeg_stream.js","webpack://pdfjs-dist/build/pdf.worker/src/core/jpg.js","webpack://pdfjs-dist/build/pdf.worker/src/core/jpx_stream.js","webpack://pdfjs-dist/build/pdf.worker/src/core/jpx.js","webpack://pdfjs-dist/build/pdf.worker/src/core/crypto.js","webpack://pdfjs-dist/build/pdf.worker/src/core/colorspace.js","webpack://pdfjs-dist/build/pdf.worker/src/core/annotation.js","webpack://pdfjs-dist/build/pdf.worker/src/core/operator_list.js","webpack://pdfjs-dist/build/pdf.worker/src/core/evaluator.js","webpack://pdfjs-dist/build/pdf.worker/src/core/cmap.js","webpack://pdfjs-dist/build/pdf.worker/src/core/fonts.js","webpack://pdfjs-dist/build/pdf.worker/src/core/cff_parser.js","webpack://pdfjs-dist/build/pdf.worker/src/core/charsets.js","webpack://pdfjs-dist/build/pdf.worker/src/core/encodings.js","webpack://pdfjs-dist/build/pdf.worker/src/core/glyphlist.js","webpack://pdfjs-dist/build/pdf.worker/src/core/standard_fonts.js","webpack://pdfjs-dist/build/pdf.worker/src/core/unicode.js","webpack://pdfjs-dist/build/pdf.worker/src/core/font_renderer.js","webpack://pdfjs-dist/build/pdf.worker/src/core/type1_parser.js","webpack://pdfjs-dist/build/pdf.worker/src/core/pattern.js","webpack://pdfjs-dist/build/pdf.worker/src/core/bidi.js","webpack://pdfjs-dist/build/pdf.worker/src/core/metrics.js","webpack://pdfjs-dist/build/pdf.worker/src/core/function.js","webpack://pdfjs-dist/build/pdf.worker/src/core/ps_parser.js","webpack://pdfjs-dist/build/pdf.worker/src/core/murmurhash3.js","webpack://pdfjs-dist/build/pdf.worker/src/core/image_utils.js","webpack://pdfjs-dist/build/pdf.worker/src/core/image.js","webpack://pdfjs-dist/build/pdf.worker/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf.worker/src/core/worker_stream.js"],"names":["pdfjsVersion","pdfjsBuild","pdfjsCoreWorker","require","exports","WorkerTask","finish","terminate","ensureNotTerminated","WorkerMessageHandler","setup","testMessageProcessed","handler","supportTransfers","data","setVerbosityLevel","createDocumentHandler","terminated","cancelXHRs","WorkerTasks","verbosity","apiVersion","docParams","workerVersion","enumerableProperties","docId","docBaseUrl","workerHandlerName","task","i","pdfManager","numPages","fingerprint","pdfManagerCapability","source","cachedChunks","pdfStream","fullRequest","disableAutoFetch","msgHandler","password","length","rangeChunkSize","loaded","flushChunks","pdfFile","arraysToBytes","warn","readPromise","readChunk","chunk","arrayByteLength","total","Math","reject","pdfInfo","ex","startWorkerTask","finishWorkerTask","pdfManagerReady","loadDocument","onFailure","evaluatorOptions","forceDataSchema","maxImageSize","disableFontFace","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","getPdfManager","newPdfManager","stream","rotate","ref","userUnit","view","Ref","catalog","page","pageIndex","start","VerbosityLevel","Date","sink","intent","renderInteractiveForms","info","operatorListInfo","featureId","UNSUPPORTED_FEATURES","normalizeWhitespace","combineTextItems","waitOn","cleanupPromise","setupDoc","initializeFromPort","maybePort","isMessagePort","module","runtime","Op","Object","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","protoGenerator","outerFn","generator","context","tryLocsList","makeInvokeMethod","type","arg","fn","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","prototype","ctor","genFun","__await","record","tryCatch","result","value","invoke","resolve","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","PromiseImpl","iter","wrap","state","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","done","entry","tryLoc","locs","keys","key","next","iteratorMethod","iterable","isNaN","Context","constructor","reset","name","stop","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","complete","resetTryEntry","thrown","delegateYield","iterator","resultName","nextLoc","regeneratorRuntime","Function","enumerable","get","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","NativeImageDecoding","NONE","DECODE","DISPLAY","PermissionFlag","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","Number","console","unreachable","base","other","url","absoluteUrl","baseUrl","_isValidProtocol","configurable","writable","BaseException","NullCharactersRegExp","str","assert","bytes","MAX_ARGUMENT_COUNT","String","strBuf","chunkEnd","arr","resultLength","pos","item","stringToBytes","itemLength","buffer8","view32","IsLittleEndianCached","shadow","isLittleEndian","IsEvalSupportedCached","rgbBuf","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","second","sx","sy","rect","orderedX","rect1","rect2","orderedY","PDFStringTranslateTable","code","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","element","capability","isSettled","createObjectURL","digits","URL","blob","buffer","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","hasDOM","userAgent","navigator","isIE","Buffer","Element","div","document","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","token","force","arguments","OriginalPushState","window","OriginalReplaceState","args","Array","isReadableStreamSupported","controller","$","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","TARGET","target","GLOBAL","STATIC","stat","FORCED","targetProperty","sourceProperty","descriptor","noTargetGet","forced","undefined","sham","check","it","self","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","error","call","fails","defineProperty","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","toString","slice","TypeError","isObject","input","PREFERRED_STRING","val","valueOf","hasOwnProperty","createElement","EXISTS","definePropertyModule","object","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","set","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","test","shared","uid","IS_PURE","push","version","mode","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","argument","ceil","floor","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isNodeJS","process","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","e","bind","CONSTRUCTOR","METHOD","apply","nativeEndsWith","endsWith","endPosition","len","end","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","create","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","F","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","from","charAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","charCodeAt","codeAt","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","checkCorrectnessOfIteration","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","step","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","assign","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","log2","log","LN2","x","number","isInteger","isFinite","Promise","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","NativePromise","redefineAll","setSpecies","anInstance","iterate","speciesConstructor","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","promise","FakePromise","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","reaction","fail","exited","rejection","onHandleUnhandled","enter","exit","onUnhandled","reason","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Constructor","Result","stopped","AS_ENTRIES","IS_ITERATOR","boundFunction","iterFn","defaultConstructor","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","post","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","flush","head","last","toggle","node","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","versions","v8","match","allSettled","status","NON_GENERIC","real","onFinally","isFunction","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","EOF","parseHost","codePoints","parseIPv6","isSpecial","percentEncode","C0ControlPercentEncodeSet","parseIPv4","parts","partsLength","numbers","part","radix","ipv4","pop","parseInt","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","swaps","swap","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","seenAt","seenBracket","seenPasswordToken","bufferCodePoints","failure","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","urlString","baseState","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","getter","toJSON","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","sort","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","inputLength","n","bias","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","encoded","labels","label","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attributes","attribute","validateArgumentsLength","passed","required","URLSearchParamsIterator","Iterator","params","URLSearchParamsConstructor","init","entryIterator","entryNext","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","body","headers","factory","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","Uint8Array","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","_a","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","message","Error","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reading","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byteLength","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ReadableStream","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","readableSizeAlgorithm","startPromise_resolve","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","Map","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","add","getConstructor","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","Wrapper","NewTarget","NewTargetPrototype","internalStateGetterFor","define","getEntry","previous","removed","prev","callbackfn","ITERATOR_NAME","getInternalCollectionState","Set","collectionWeak","enforceIternalState","IS_IE11","InternalWeakMap","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","filter","some","every","isArray","originalArray","WeakSet","codePointAt","fromCodePoint","nativeFromCodePoint","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","padStart","repeat","IS_END","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","$padEnd","padEnd","$values","TO_ENTRIES","Name","nameCache","nameValue","Cmd","cmdCache","cmdValue","Dict","nonSerializable","assignXref","key2","key3","getArray","getRaw","getKeys","mergedDict","dictArray","dict","isDict","refCache","gen","refValue","RefSet","put","remove","RefSetCache","putAlias","isName","v1","v2","ensureDoc","ensureXRef","ensureCatalog","getPage","fontFallback","requestRange","sendProgressiveData","updatePassword","createValidAbsoluteUrl","chunks","onReceiveData","begin","beginChunk","endChunk","curChunk","onReceiveProgressiveData","ensureByte","ensureRange","nextEmptyChunk","numChunks","hasChunk","b0","getBytes","forceClamped","strEnd","subarray","peekedByte","peekBytes","getByteRange","skip","makeSubStream","ChunkedStreamSubstream","missingChunks","subStream","sendRequest","rangeReader","chunkData","_requestChunks","requestId","chunksNeeded","isEmptyObj","chunksToRequest","groupedChunksToRequest","groupedChunk","ranges","requestRanges","range","groupChunks","groupedChunks","prevChunk","onProgress","isProgressive","loadedRequests","requestIds","lastChunk","onError","getBeginChunk","getEndChunk","lookup","initializer","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","offset","ch","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","annotation","idCounters","createObjId","getDocId","_getInheritableProperty","_getBoundingBox","box","xref","streams","isStream","loadResources","objectLoader","getOperatorList","contentStreamPromise","resourcesPromise","partialEvaluator","idFactory","fontCache","builtInCMapCache","pdfFunctionFactory","dataPromises","pageListPromise","opList","transparency","resources","operatorList","annotations","pageOpList","opListPromises","isAnnotationRenderable","extractTextContent","getAnnotationsData","annotationsData","isNum","cropBox","isArrayEqual","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","PDF_HEADER_VERSION_REGEXP","limit","backwards","signatureLength","signature","scanBytes","scanLength","signatureEnd","isArrayBuffer","parse","fields","MAX_PDF_VERSION_LENGTH","_getLinearizationPage","linearization","pageDict","Linearization","err","startXRef","startXRefLength","isWhiteSpace","num","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","infoDict","stringToPDFString","customValue","isString","isBool","idArray","calculateMD5","fingerprintBuf","hex","isRef","root","items","processed","blackColor","outlineDict","Catalog","destDict","resultObj","title","flags","color","rgbColor","ColorSpace","outlineItem","unsafeUrl","newWindow","bold","italic","encrypt","permissions","getDestination","fetchDestination","pageLabels","prefix","numberTree","nums","currentLabel","currentIndex","labelDict","s","st","toRomanNumerals","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","promises","translatedFonts","translatedFont","getPageDict","nodesToVisit","visitedNodes","pageKidsCountCache","currentPageIndex","currentNode","objId","kids","getPageIndex","isRefsEqual","parentRef","kidPromises","kid","streamRef","suppressEncryption","subtype","stringToUTF8String","bytesToString","pagesObj","dests","pageLayout","pageMode","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","isValid","openAction","attachments","nameTree","fs","jsDict","js","appendIfJavaScriptDict","actionType","actionName","addDefaultProtocolToUrl","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","tryConvertUrlEncoding","XRef","streamTypes","fontTypes","setStartXRef","trailerDict","ids","fileId","processXRefTable","entryNum","streamPos","parser","parserBuf1","parserBuf2","isCmd","readXRefTable","tableState","processXRefStream","streamParameters","byteWidths","entryRanges","readXRefStream","streamState","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","indexObjects","TAB","LF","CR","SPACE","PERCENT","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","readToken","skipUntil","uncompressed","contentLength","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","lexer","allowStreams","recoveryMode","rootDict","readXRef","startXRefParsedCache","xrefEntry","fetchIfRef","cacheEntry","fetchUncompressed","obj1","obj2","obj3","fetchCompressed","tableOffset","getCatalogObj","kidsOrEntries","MAX_LEVELS","l","limits","tmp","currentKey","mm","FileSpec","filename","pickPlatformItem","fileObj","ObjectLoader","dictKeys","rawValue","mayHaveChildren","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","addChildren","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","bytesLength","cipherTransform","getObj","buf1","isEOF","findDefaultInlineStreamEnd","I","NUL","maybeEIPos","followingBytes","endOffset","findDCTDecodeInlineStreamEnd","foundEOI","markerLength","findASCII85DecodeInlineStreamEnd","TILDE","tildePos","maybeEI","findASCIIHexDecodeInlineStreamEnd","inlineStreamSkipEI","makeInlineImage","dictLength","filterName","filterZero","imageStream","imageBytes","initialStreamPos","dictBytes","cacheKey","computeAdler32","_findStreamLength","SCAN_BLOCK_LENGTH","makeStream","ENDSTREAM_SIGNATURE","actualLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","filterArray","paramsArray","makeFilter","xrefStreamStats","earlyChange","specialChars","knownCommands","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","numParen","charBuffered","toHexDigit","previousCh","x2","_hexStringWarn","MAX_HEX_STRING_NUM_WARN","isFirstHex","firstDigit","secondDigit","comment","knownCommandFound","possibleCommand","allowZeroValue","linDict","hints","hintsLength","hint","getInt","getHints","objectNumberFirst","endFirst","mainXRefEntriesOffset","pageFirst","Stream","arrayBuffer","getByte","getUint16","getInt32","peekByte","moveStart","StringStream","DecodeStream","emptyBuffer","maybeMinBufferLength","ensureBuffer","requested","buffer2","bufEnd","getBaseStreams","StreamsSequenceStream","bufferLength","newLength","FlateStream","codeLenCodeMap","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","codes","table","maxLen","codeLen","codeVal","lengths","code2","hdr","blockLen","block","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","codeLengths","bitsLength","bitsOffset","repeatLength","code1","dist","PredictorStream","predictor","colors","bits","columns","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","pixBytes","prevRow","up","upLeft","left","pa","pb","pc","DecryptStream","hasMoreData","decrypt","Ascii85Stream","TILDA_CHAR","Z_LOWER_CHAR","AsciiHexStream","UPSTREAM_BLOCK_SIZE","maxDecodeLength","RunLengthStream","repeatHeader","LZWStream","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","dictionaryPrevCodes","currentSequence","currentSequenceLength","bitsCached","cachedData","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","NullStream","CCITTFaxStream","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","CCITTFaxDecoder","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","eoblock","readNextChar","refLine","codingLine","refPos","blackPixels","code3","gotEOL","_addPixels","codingPos","a1","_addPixelsNeg","_findTableCode","limitValue","_getTwoDimCode","_getWhiteCode","_getBlackCode","_lookBits","_eatBits","Jbig2Stream","jbig2Image","globalsStream","globals","Jbig2Image","ContextCache","getContexts","DecodingContext","decoder","contexts","contextCache","bit","readBits","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodingContext","OLD_PIXEL_MASK","row","row1","row2","contextLabel","pixel","decodeMMRBitmap","templateIndex","at","decodeBitmapTemplate0","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","sbb_left","sbb_top","sbb_right","width","pseudoPixelContext","ltp","sltp","i0","j0","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceBitmap","referenceHeight","huffman","newSymbols","currentHeight","symbolCodeLength","symbols","tableB1","getStandardTable","symbolWidths","deltaHeight","huffmanTables","decodeInteger","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","decodeTextRegion","symbolId","decodeIAID","rdx","rdy","decodeRefinement","decodeBitmap","bitmapSize","huffmanInput","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","stripT","firstS","deltaT","deltaFirstS","currentS","currentT","stripSize","applyRefinement","refinement","inputSymbols","symbolWidth","symbolHeight","rdw","rdh","offsetT","offsetS","s2","symbolRow","maxWidth","t2","deltaS","collectiveWidth","patterns","patternBitmap","patternWidth","combinationOperator","regionBitmap","numberOfPatterns","pattern0","patternHeight","bitsPerValue","grayScaleBitPlanes","mmrInput","mg","ng","patternIndex","gridOffsetX","gridOffsetY","regionRow","patternRow","regionX","regionY","segmentHeader","readUint32","segmentType","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","readUint16","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","genericRegionMmr","searchPatternLength","searchPattern","segments","readSegmentHeader","header","height","RegionSegmentInformationFieldLength","dictionary","dictionaryFlags","atLength","readInt8","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","callbackName","visitor","processSegment","readSegments","processSegments","bitPacked","imgData","mask","SimpleSegmentVisitor","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","getSymbolDictionaryHuffmanTables","referredSegments","referredSymbols","decodeSymbolDictionary","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","decodePatternDictionary","onImmediateHalftoneRegion","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","customTables","decodeTablesSegment","lineData","line","HuffmanTreeNode","buildTree","decodeNode","htOffset","lines","HuffmanTable","decode","assignPrefixCodes","linesLength","prefixLengthMax","histogram","currentLength","firstCode","currentCode","currentTemp","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","prefixLength","rangeLength","standardTablesCache","Reader","readBit","numBits","byteAlign","runCodesTable","repeatedLength","numberOfRepeats","symbolIDTable","customIndex","tableFirstS","getCustomHuffmanTable","tableDeltaS","tableDeltaT","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","eof","currentByte","endOfBlock","lookForEOFLimit","parseChunks","parseJbig2Chunks","parseJbig2","QeTable","qe","nmps","nlps","switchFlag","bp","cx_index","cx_mps","qeTableIcx","qeIcx","JpegStream","jpegOptions","decodeTransform","colorTransform","decodeArr","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","forceRGB","isSourcePDF","dictHeight","validDimensions","foundSOF","scanLines","JpegImage","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","children","parseDNLMarker","mcusPerLine","frame","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","receive","decodeHuffman","component","diff","receiveAndExtend","rs","z","eobrun","successiveACState","offsetZ","successiveACNextValue","mcuRow","mcu","mcuCol","blockCol","getBlockBufferOffset","componentsLength","components","spectralStart","decodeFn","successivePrev","mcuExpected","mcuToRead","resetInterval","decodeBlock","h","decodeMcu","fileMarker","findNextFileMarker","marker","qt","blockData","p0","blockBufferOffset","p5","p6","p7","v0","v3","v4","v7","v5","v6","col","blocksPerLine","blocksPerColumn","computationBuffer","quantizeAndInverse","maxPos","newPos","currentPos","currentMarker","invalid","newMarker","dnlScanLines","mcusPerColumn","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","appData","readDataBlock","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","sofScanLines","componentsCount","maxH","maxV","componentId","qId","quantizationId","quantizationTable","prepareComponents","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","buildHuffmanTable","selectorsCount","componentIndex","tableSpec","spectralEnd","successiveApproximation","decodeScan","nextFileMarker","buildComponentData","scaleX","scaleY","_getLinearizedBlockData","numComponents","xScaleBlockOffset","mask3LSB","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","getData","rgbData","grayColor","JpxStream","jpxImage","tileCount","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxImage","SubbandsGainLog2","LL","LH","HL","HH","headerSize","lbox","tbox","jumpDataLength","colorspace","headerType","parseImageProperties","newByte","oldByte","Xsiz","Ysiz","XOsiz","YOsiz","Csiz","parseCodestream","doNotRecover","siz","precision","isSigned","XRsiz","YRsiz","calculateComponentDimensions","calculateTileGrids","qcd","sqcd","spqcdSize","scalarExpounded","spqcds","spqcd","qcc","cqcc","cod","scod","blockStyle","precinctsSizes","precinctsSize","PPx","PPy","unsupported","tile","initializeTile","buildPackets","parseTilePackets","transformComponents","tiles","numXtiles","numYtiles","tileComponent","codOrCoc","precinctWidth","dimensions","precinctHeight","isZeroRes","resolution","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","numprecinctshigh","numprecincts","xcb_","ycb_","codeblockWidth","codeblockHeight","cbx0","subband","cby0","cbx1","cby1","precinctParameters","codeblocks","precincts","codeblock","cbx","cby","tbx0","tby0","tbx1","tby1","pi","pj","precinctNumber","precinct","cbxMin","cbyMin","cbxMax","cbyMax","numcodeblockwide","numcodeblockhigh","precinctCodeblocks","subbands","layerNumber","tileIndex","layersCount","maxDecompositionLevelsCount","packet","createPacket","maxNumPrecinctsInLevel","maxNumPrecincts","resolutions","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","decompositionLevelsCount","sizeInImageScale","getPrecinctIndexIfExist","posX","pxIndex","precinctIterationSizes","posY","pyIndex","startPrecinctRowIndex","minWidth","minHeight","maxNumWide","maxNumHigh","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","blocksDimensions","getBlocksDimensions","buildPrecincts","buildCodeblocks","bscale","resolutionSubbands","progressionOrder","bufferSize","skipNextBit","skipBytes","sopMarkerUsed","ephMarkerUsed","packetsIterator","alignToByte","skipMarkerIfEqual","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","valueReady","codingpasses","readCodingpasses","codingpassesLog2","codedDataLength","packetItem","x0","y0","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","totalLength","dataItem","encodedData","magnitude","bitsDecoded","magnitudeCorrection","reversible","interleave","levelOffset","nb","coefficients","mb","codingStyleParameters","quantizationParameters","guardBits","segmentationSymbolUsed","subbandCoefficients","mu","epsilon","gainLog2","copyCoefficients","top","resultImages","transformedTiles","transformTile","tile0","out","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","y1","y2","g","qcdOrQcc","TagTree","levelsLength","level","currentLevel","incrementValue","nextLevel","InclusionTree","stopValue","propagateValues","levelIndex","BitModel","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","coefficentsMagnitude","zeroBitPlanes","setDecoder","setNeighborsSignificance","neighborsSignificance","column","runSignificancePropagationPass","coefficentsSign","processingFlags","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","significance1","sign1","sign0","contribution","horizontalContribution","decoded","runMagnitudeRefinementPass","width4","index0","indexNext","significance","runCleanupPass","oneRowDown","twoRowsDown","threeRowsDown","iNext","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","checkSegmentationSymbol","Transform","ll","j1","j2","llWidth","llHeight","llItems","hl_lh_hh","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","u","IrreversibleTransform","alpha","beta","gamma","K_","current","ReversibleTransform","ARCFourCipher","keyLength","encryptBlock","tmp2","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","high","low","not","lowAdd","highAdd","copyTo","calculateSHA256","rotr","h4","h5","h6","h7","littleSigmaPrime","littleSigma","t1","sigmaPrime","sigma","maj","calculateSHA512","mode384","tmp1","tmp3","calculateSHA384","NullCipher","decryptBlock","_expandKey","_decrypt","s0","s1","s3","_encrypt","_decryptBlock2","sourceLength","iv","plain","outputLength","lastBlock","psLen","cipher","rcon","t3","t4","PDF17","array1","array2","checkOwnerPassword","hashData","ownerValidationSalt","compareByteArrays","checkUserPassword","getOwnerKey","ownerKeySalt","getUserKey","PDF20","arrayLength","userBytes","k1","concatArrays","calculatePDF20Hash","CipherTransform","createStream","decryptString","CipherTransformFactory","defaultPasswordBytes","passwordLength","revision","pdfAlgorithm","hashDataSize","ownerPassword","keyLengthInBytes","encryptionKey","checkData","derivedKey","userPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","encryptMetadata","fileIdBytes","utf8StringToString","passwordBytes","prepareKeyData","uBytes","userValidationSalt","userKeySalt","ownerEncryption","userEncryption","perms","createEncryptionKey20","decodedPassword","decodeUserPassword","cf","cryptFilter","cfm","buildObjectKey","createCipherTransform","buildCipherConstructor","cipherConstructor","COMPONENTS","xRatio","w1","yRatio","newIndex","xScaled","w1Scanline","oldIndex","getRgb","rgb","getRgbItem","getRgbBuffer","getOutputLength","isPassthrough","isDefaultDecode","fillRgb","originalWidth","numComponentColors","needsResizing","originalHeight","allColors","bpc","colorMap","destPos","comps","rgbPos","resizeRgbImage","IR","whitePoint","blackPoint","matrix","basePatternCS","baseIndexedCS","hiVal","numComps","alt","tintFn","res","cs","colorSpaces","resCS","altIR","altCS","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","outputDelta","lookupPos","decodeMap","DeviceCmykCS","convertToRgb","CalGrayCS","AG","L","CalRGBCS","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","LMS","sourceWhitePoint","D65X","D65Y","D65Z","adjustToRange","decodeL","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","XYZ_In","matrixProduct","LMS_Flat","convertToFlat","LMS_D65","convertToD65","AGR","BGG","CGB","X","Z","XYZ","normalizeWhitePointToFlat","XYZ_Black","compensateBlackPoint","XYZ_D65","normalizeWhitePointToD65","SRGB","sRGBTransferFunction","XW","YW","ZW","XB","YB","ZB","LabCS","low2","Ls","as","bs","maxVal","M","N","fn_g","parameters","fieldType","quadPoints","quadPointsLists","annotationFlags","borderStyle","contents","hasAppearance","modificationDate","_hasFlag","_isViewable","_isPrintable","setContents","setModificationDate","setFlags","hasFlag","setRectangle","setColor","setBorderStyle","dictType","setAppearance","appearanceStates","normalAppearanceState","appearanceDict","bbox","getTransformMatrix","setWidth","maxHeight","setStyle","setDashArray","dashArray","allZeros","validNumber","setHorizontalCornerRadius","setVerticalCornerRadius","rawIRT","rt","setCreationDate","_constructFieldName","fieldName","loopDict","hasFieldFlag","alignment","maximumLength","renderForms","_processCheckBox","customAppearance","exportValueOptionsDict","exportValues","hasCorrectOptionCount","_processRadioButton","fieldParent","fieldParentValue","_processPushButton","option","isOptionArray","exportValue","displayValue","DEFAULT_ICON_SIZE","getQuadPoints","parentItem","parentSubtype","rawParent","parentFlags","rawVertices","originalInkLists","QueueOptimizer","pattern","checkFn","iterateFn","processFn","iFirstPIMXO","iFirstSave","argsArray","imageMask","fnArray","InitialState","addState","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","handlePaintSolidColorImageMask","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iTransform","iPIMXO","transformArgs","positions","images","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","iCurr","_optimize","NullOptimizer","OperatorList","CHUNK_SIZE","CHUNK_SIZE_ABOUT","streamSink","addOp","addDependency","addDependencies","addOpList","getIR","transfers","PartialEvaluator","DefaultPartialEvaluatorOptions","readableStream","pump","TIME_SLOT_DURATION_MS","CHECK_TIME_EVERY","TimeSlotManager","parsingArray","maybeBM","normalizeBlendMode","deferred","TILING_PATTERN","SHADING_PATTERN","clone","newOptions","newEvaluator","hasBlendModes","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","xObject","xResources","xobj","group","groupOptions","isolated","knockout","groupSubtype","colorSpace","initialState","isInline","forceDisableNativeImageDecoder","image","bitStrideLength","imgArray","imageIsFromDecodeStream","inverseDecode","imageCache","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","NativeImageDecoder","nativeImageDecoder","imgPromise","nativeDecoder","handleSMask","smaskContent","smaskOptions","backdrop","transferObj","isPDFFunction","transferFn","transferMap","stateManager","handleTilingType","tilingOpList","resourcesArray","patternDict","patternResources","handleSetFont","fontArgs","fontName","translated","handleText","glyphs","isAddToPathSet","ensureStateFont","gStateObj","gStateKeys","gState","loadFont","fontRef","fontRes","partialMsg","errorFont","fontCapability","preEvaluatedFont","fontRefIsRef","fontID","fontAliases","aliasFontRef","Font","translatedPromise","xrefFontStats","fontFile3","fontType","getFontType","buildPath","parsingText","lastIndex","opArgs","parseColorSpace","patternName","typeNum","shading","Pattern","xobjs","preprocessor","timeSlotManager","promiseBody","operation","resolveXObject","fontSize","combinedGlyphs","arrLength","arrItem","shadingRes","patternIR","dictName","extGState","closePendingRestoreOPS","getTextContent","seenStyles","WhitespaceRegexp","textContent","styles","textContentItem","initialized","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","SPACE_FACTOR","MULTI_SPACE_FACTOR","MULTI_SPACE_FACTOR_MAX","skipEmptyXObjs","textState","fontFamily","ascent","descent","tsm","glyphHeight","trm","scaleLineX","scaleCtmX","textChunk","bidiResult","bidi","replaceWhitespace","dir","ensureTextContentItem","glyph","glyphWidth","glyphUnicode","NormalizedUnicodes","reverseIfRtl","charSpacing","wordSpacing","addFakeSpaces","tx","ty","w0","fakeSpaces","runBidiTransform","enqueueChunk","fontNameArg","fontSizeArg","flushTextContentItem","isSameTextLine","advance","buildTextContentItem","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","toUnicode","baseDict","toUnicodePromise","cidSystemInfo","registry","ordering","supplement","cidToGidMap","cidToGidBytes","differences","baseEncodingName","encoding","diffEncoding","getEncoding","isSymbolicFont","FontFlags","isNonsymbolicFont","_buildSimpleFontToUnicode","forceGlyphs","glyphName","glyphsUnicodeMap","codeStr","unicode","getUnicodeForGlyph","baseEncoding","buildToUnicode","ucs2CMapName","fetchBuiltInCMap","useCMap","cMap","cid","ucs2","ucs2CMap","readToUnicode","cmapObj","cmap","w2","readCidToGidMap","glyphsData","glyphID","extractWidths","glyphsWidths","defaultWidth","glyphsVMetrics","widths","vmetrics","defaultVMetrics","vmetric","firstChar","parseFloat","baseFontName","metrics","isMonospace","firstWidth","isSerifFont","fontNameWoStyle","getBaseFontMetrics","monospace","stdFontMap","lookupName","Metrics","glyphWidths","buildCharCodeToWidth","charCode","widthsByGlyphName","preEvaluateFont","composite","df","diffLength","diffBuf","diffEntry","lastChar","uint8array","translateFont","maxCharIndex","baseFont","fontNameStr","baseFontStr","fontFile","length1","length2","length3","loadedName","wideChars","fixedPitch","fontMatrix","xHeight","capHeight","italicAngle","isType3Font","cidEncoding","cMapPromise","accent","TranslatedFont","send","fallback","loadType3Data","type3Options","evaluator","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","glyphStream","parentOperatorList","StateManager","old","TextState","setTextLineMatrix","translateTextMatrix","translateTextLineMatrix","calcTextLineMatrixAdvance","txDiff","tyDiff","denominator","calcRenderMatrix","carriageReturn","EvalState","EvaluatorPreprocessor","getOPMap","numArgs","variableArgs","MAX_INVALID_PATH_OPS","cmd","opSpec","argsLength","nonProcessedArgs","preprocessCommand","BUILT_IN_CMAPS","builtInCMap","addCodespaceRange","mapCidRange","dstLow","mapBfRange","mapBfRangeToArray","mapOne","contains","charCodeOf","readCharCode","codespaceRanges","nn","codespaceRange","BinaryCMapReader","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","readByte","readNumber","readSigned","readHex","readHexNumber","stack","sp","readHexSigned","readString","dataSize","ucs2DataSize","subitemsCount","addHex","hexToInt","incHex","hexToStr","extend","CMapFactory","expectString","strToInt","dst","expectInt","parseWMode","parseCMapName","embeddedUseCMap","parseCodespaceRange","parseBfChar","parseCidChar","parseBfRange","parseCidRange","extendCMap","useCodespaceRanges","cMapData","compressionType","parseCMap","createBuiltInCMap","parsedCMap","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","SEAC_ANALYSIS_ENABLED","FixedPitch","Serif","Symbolic","Script","Nonsymbolic","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","builtInEncoding","Glyph","ToUnicodeMap","amend","IdentityToUnicodeMap","OpenTypeFileBuilder","maxPower2","searchRange","rangeShift","entrySize","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","toArray","sfnt","tables","tablesNames","numTables","tableOffsets","writeData","string32","writeInt16","tableName","checksum","quad","writeInt32","addTable","fallbackName","getFontFileType","cff","adjustWidths","ID","isTrueTypeFile","isTrueTypeCollectionFile","fileType","isOpenTypeFile","isType1File","isCFFFile","fileSubtype","toFontChar","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","charCodeToGlyphId","hasGlyph","fontCharCode","codeIndices","getRanges","string16","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","startCode","format314","format31012","header31012","os2","selection","usWinAscent","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","typoAscent","typoDescent","winAscent","winDescent","angle","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","mimetype","renderer","FontRendererFactory","exportData","fallbackToSystemFont","nonStdFontMap","isStandardFont","GlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","isIdentityUnicode","buildToFontChar","unicodeCharCode","checkAndRepair","VALID_TABLES","readTableEntry","previousPosition","ttf","entrySelector","ttcTag","ttc","majorVersion","minorVersion","numFonts","offsetTable","readTrueTypeCollectionHeader","potentialHeader","readOpenTypeHeader","potentialTables","readTables","readNameTable","nameEntry","platformId","encodingId","mappings","hasShortCmap","canBreak","useTable","potentialTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","entryCount","numOfMetrics","numOfSidebearings","numGlyphs","numMissing","glyphProfile","sizeOfInstructions","sourceEnd","glyf","contoursCount","signedInt16","writeSignedInt16","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","flag","xLength","yLength","xyLength","glyphDataLength","int32","indexToLocFormat","int16","numGlyphsPlusOne","locaLength","itemSize","itemDecode","itemEncode","numGlyphsOut","dupFirstEntry","locaDataSize","locaData","loca","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","missingGlyphs","sanitizeGlyph","maxSizeOfInstructions","simpleGlyph","firstEntryLength","valid","glyphNames","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","platform","language","nameIndex","TTOpsStackDeltas","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","ttContext","inFDEF","ifLevel","inELSE","op","funcId","newStackLength","stackTop","stackDelta","foldTTTable","functionsDefined","functionsUsed","functionsStackDeltas","hintsValid","sanitizeTTProgram","checkInvalidFunctions","cvt","cvtData","ttcData","readTrueTypeCollectionData","isTrueType","isComposite","cffFile","maxFunctionDefs","maxZones","sanitizeTTPrograms","sanitizeMetrics","sanitizeHead","isGlyphLocationsLong","glyphsInfo","sanitizeGlyphLocations","metricsOverride","readPostScriptTable","createPostTable","isCidToGidMapEmpty","cmapTable","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","StandardEncoding","standardGlyphName","recoverGlyphName","unicodeOrCharCode","MacRomanEncoding","glyphZeroId","newMapping","adjustMapping","createCmapTable","validateOS2Table","createOS2Table","compiler","createNameTable","namePrototype","builder","convert","adjustToUnicode","charCodes","seacs","charset","seacMap","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","getCharCodes","baseFontCharCode","createCharCode","accentFontCharCode","safeString16","charstrings","cffWidths","hmtx","charstring","possibleSpaceReplacements","charcode","charToGlyph","widthCode","isInFont","mapSpecialUnicodeValues","operatorListId","fontChar","charsToGlyphs","charsCache","charsCacheKey","chars","isSpace","ErrorFont","Type1Font","streamBytesLength","streamBytes","EEXEC_SIGNATURE","streamStartPos","headerBytes","headerBytesLength","findBlock","suggestedLength","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","getHeaderBlock","headerBlockParser","eexecBlock","getEexecBlock","eexecBlockParser","type2Charstrings","subrs","getCharset","getGlyphMapping","type1FontGlyphMapping","hasGlyphId","getSeacs","getType2Charstrings","type1Charstrings","getType2Subrs","type1Subrs","type2Subrs","topDict","charsetArray","CFFStandardStrings","charStringsIndex","privateDict","field","subrIndex","CFFFont","charsets","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","CFFParser","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","topDictIndex","stringIndex","globalSubrIndex","topDictParsed","charStringOffset","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","charStringsAndSeacs","charStrings","localSubrIndex","fdSelect","fdArray","parseHeader","hdrSize","offSize","parseDict","parseFloatOperand","operands","parseOperand","parseIndex","cffIndex","offsetSize","offsetStart","offsetEnd","parseNameIndex","parseStringIndex","createDict","cffDict","parseCharString","stackSize","validationCommand","subrsIndex","subrNumber","parseCharStrings","callDepth","firstStackClearing","hasVStems","localSubrToUse","privateDictToUse","fdIndex","nominalWidth","emptyPrivateDictionary","parentDict","parsePrivateDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","parseCharsets","CFFCharsetPredefinedTypes","raw","parseEncoding","predefined","supplementsCount","sid","dataStart","glyphsCount","rangesCount","gid","dataEnd","readSupplement","parseFDSelect","CFF","duplicateFirstGlyph","glyphZero","CFFHeader","CFFStrings","getSID","CFFIndex","CFFDict","setByKey","valueLength","setByName","hasName","getByName","removeByName","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","layout","CFFTopDict","CFFPrivateDict","ISO_ADOBE","EXPERT","EXPERT_SUBSET","CFFCharset","CFFEncoding","CFFFDSelect","getFDIndex","glyphIndex","CFFOffsetTracker","isTracking","track","setEntryLocation","offset1","offset2","offset3","offset4","CFFCompiler","compile","subDict","compiled","topDictTracker","fontDictTrackers","encodeNumber","encodeFloat","nibbles","encodeInteger","compileHeader","compileNameIndex","sanitizedName","compileTopDicts","dicts","fontDictTracker","fontDictData","trackers","compilePrivateDicts","privateDictTracker","privateDictData","compileDict","offsetTracker","compileStringIndex","compileGlobalSubrIndex","compileCharStrings","compileCharset","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileEncoding","compileFDSelect","lastFD","currentFD","numRanges","compileTypedArray","compileIndex","objects","lastOffset","ISOAdobeCharset","ExpertCharset","ExpertSubsetCharset","ExpertEncoding","MacExpertEncoding","WinAnsiEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","getLookupTableFactory","getGlyphsUnicode","getDingbatsGlyphsUnicode","getStdFontMap","getNonStdFontMap","getSerifFonts","getSymbolsFonts","getGlyphMapForStandardFonts","getSupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForCalibri","getSpecialPUASymbols","nameLen","hexStr","substring","toUpperCase","UnicodeRanges","isRTLRangeFor","getNormalizedUnicodes","charsLength","numSubrs","getUshort","getLong","idOffset","groups","idDelta","gsubrs","isCFFCIDFont","cmds","numberOfContours","arg1","arg2","scale01","scale10","subglyph","compileGlyf","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","quadraticCurveTo","stems","stackClean","xa","ya","xb","yb","bezierCurveTo","subrCode","getSubroutineBias","y3","achar","bchar","lookupCmap","compileCharString","NOOP","getPathJs","compileGlyph","hasBuiltPath","compileGlyphImpl","cffInfo","glyphNameMap","parseCmap","parseCff","parseGlyfTable","HINTING_ENABLED","Type1CharString","COMMAND_MAP","hstem","vstem","vmoveto","rlineto","hlineto","vlineto","rrcurveto","callsubr","flex","drop","endchar","rmoveto","hmoveto","vhcurveto","hvcurveto","dy","wx","sbx","sby","num2","num1","flexArgs","executeCommand","stackLength","howManyArgs","Type1Parser","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","discardNumber","c1","c2","decrypted","digit1","isHexDigit","digit2","isBinary","decryptAscii","readNumberArray","readInt","readBoolean","nextChar","getToken","readCharStrings","lenIV","extractFontProgram","privateData","program","blueArray","charString","charStringObject","lsb","extractFontHeader","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","Shadings","t0","domainArr","extendStart","extendEnd","extendArr","x1","r1","r2","distance","fnObj","NUMBER_OF_SAMPLES","colorStops","ratio","cssColor","background","RadialAxial","coordsArr","shadingType","r0","csNumComps","MeshStreamReader","align","readFlag","readCoordinate","bitsPerCoordinate","xi","yi","readComponents","ci","coords","mesh","operators","ps","verticesLeft","coord","verticesPerRow","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","lut","t_","buildB","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","splitYBy","figureCoords","figureColors","cl","cr","c0","c3","bRow","bCol","newColor","tmp4","maxY","coordsPacked","xy","colorsPacked","figures","decodeContext","bitsPerFlag","colorFn","patchMesh","decodeType4Shading","decodeType5Shading","decodeType6Shading","decodeType7Shading","updateBounds","buildFigureFromPatch","packData","Mesh","Dummy","xstep","ystep","paintType","tilingType","baseTypes","arabicTypes","isLTR","strLength","createBidiText","numBidi","charType","startLevel","levels","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","getMetrics","createFromArray","PDFFunction","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","sampleMul","strBytes","strIdx","typeFn","fromIR","parseArray","constructSampled","toNumberArray","inputSize","outputSize","toMultiArray","bps","samples","constructSampledFromIR","ymin","cubeVertices","cubeN","cubeVertex","domain_2i","domain_2i_1","interpolate","size_i","e0","n0","n1","rj","constructInterpolated","constructInterpolatedFromIR","constructStiched","fnRefs","fns","bounds","constructStichedFromIR","dmin","dmax","rmin","rmax","constructPostScript","constructPostScriptFromIR","numOutputs","numInputs","MAX_CACHE_SIZE","cache_available","cachedValue","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","copy","roll","PostScriptEvaluator","execute","operator","PostScriptCompiler","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","visitArgument","visitVariable","visitLiteral","literal","visitBinaryOperation","visitVariableDefinition","definition","visitMin","instructions","lastRegister","buildAddOperation","buildMulOperation","buildSubOperation","ast1","ast2","tmpVar","buildMinOperation","statementBuilder","instruction","expr","accept","expect","PostScriptTokenTypes","conditionLocation","jumpLocation","endOfTrue","LBRACE","RBRACE","NUMBER","OPERATOR","IF","IFELSE","PostScriptToken","opCache","opValue","SEED","MASK_HIGH","MASK_LOW","seed","update","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","canDecode","PDFImage","addend","isMask","isIndexed","maskDict","imagePromise","handleImageData","smaskPromise","maskPromise","computedLength","haveFullData","decodeBuffer","decodeAddends","decodeCoefficients","decodeAndClamp","getComponents","bufferPos","rowComps","loop1End","loop2End","buf","remainingBits","fillOpacity","sw","sh","alphaBuf","resizeImageMask","opacity","imageOffset","maskOffset","rgbaBuf","undoPreblend","matte","matteRgb","matteR","matteG","matteB","createImageData","forceRGBA","drawWidth","drawHeight","newArray","imageLength","actualHeight","maybeUndoPreblend","fillGrayBuffer","getImageBytes","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","callbackId","wrapReason","sourceName","targetName","comObj","on","ah","sendWithPromise","sendWithStream","streamId","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","_createStreamSink","lastDesiredSize","sinkCapability","onPull","onCancel","isCancelled","success","_processStreamMessage","_postMessage","getRangeReader","cancelAllRequests","readers"],"mappings":"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","file":"pdf.worker.js","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(\"pdfjs-dist/build/pdf.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __w_pdfjs_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__w_pdfjs_require__.m = modules;\n\n \t// expose the module cache\n \t__w_pdfjs_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__w_pdfjs_require__.d = function(exports, name, getter) {\n \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__w_pdfjs_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__w_pdfjs_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__w_pdfjs_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__w_pdfjs_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__w_pdfjs_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n","/* Copyright 2012 Mozilla Foundation\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/* eslint-disable no-unused-vars */\n\n\"use strict\";\n\nconst pdfjsVersion = PDFJSDev.eval(\"BUNDLE_VERSION\");\nconst pdfjsBuild = PDFJSDev.eval(\"BUNDLE_BUILD\");\n\nconst pdfjsCoreWorker = require(\"./core/worker.js\");\n\nexports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  AbortException,\n  arrayByteLength,\n  arraysToBytes,\n  createPromiseCapability,\n  getVerbosityLevel,\n  info,\n  InvalidPDFException,\n  MissingPDFException,\n  PasswordException,\n  setVerbosityLevel,\n  UnexpectedResponseException,\n  UnknownErrorException,\n  UNSUPPORTED_FEATURES,\n  VerbosityLevel,\n  warn,\n} from \"../shared/util.js\";\nimport { clearPrimitiveCaches, Ref } from \"./primitives.js\";\nimport { LocalPdfManager, NetworkPdfManager } from \"./pdf_manager.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { PDFWorkerStream } from \"./worker_stream.js\";\nimport { XRefParseException } from \"./core_utils.js\";\n\nvar WorkerTask = (function WorkerTaskClosure() {\n  function WorkerTask(name) {\n    this.name = name;\n    this.terminated = false;\n    this._capability = createPromiseCapability();\n  }\n\n  WorkerTask.prototype = {\n    get finished() {\n      return this._capability.promise;\n    },\n\n    finish() {\n      this._capability.resolve();\n    },\n\n    terminate() {\n      this.terminated = true;\n    },\n\n    ensureNotTerminated() {\n      if (this.terminated) {\n        throw new Error(\"Worker task was terminated\");\n      }\n    },\n  };\n\n  return WorkerTask;\n})();\n\nvar WorkerMessageHandler = {\n  setup(handler, port) {\n    var testMessageProcessed = false;\n    handler.on(\"test\", function wphSetupTest(data) {\n      if (testMessageProcessed) {\n        return; // we already processed 'test' message once\n      }\n      testMessageProcessed = true;\n\n      // check if Uint8Array can be sent to worker\n      if (!(data instanceof Uint8Array)) {\n        handler.send(\"test\", null);\n        return;\n      }\n      // making sure postMessage transfers are working\n      const supportTransfers = data[0] === 255;\n      handler.postMessageTransfers = supportTransfers;\n\n      handler.send(\"test\", { supportTransfers });\n    });\n\n    handler.on(\"configure\", function wphConfigure(data) {\n      setVerbosityLevel(data.verbosity);\n    });\n\n    handler.on(\"GetDocRequest\", function wphSetupDoc(data) {\n      return WorkerMessageHandler.createDocumentHandler(data, port);\n    });\n  },\n  createDocumentHandler(docParams, port) {\n    // This context is actually holds references on pdfManager and handler,\n    // until the latter is destroyed.\n    var pdfManager;\n    var terminated = false;\n    var cancelXHRs = null;\n    var WorkerTasks = [];\n    const verbosity = getVerbosityLevel();\n\n    const apiVersion = docParams.apiVersion;\n    const workerVersion =\n      typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n        ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n        : null;\n    if (apiVersion !== workerVersion) {\n      throw new Error(\n        `The API version \"${apiVersion}\" does not match ` +\n          `the Worker version \"${workerVersion}\".`\n      );\n    }\n\n    if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n      // Fail early, and predictably, rather than having (some) fonts fail to\n      // load/render with slightly cryptic error messages in environments where\n      // the `Array.prototype` has been *incorrectly* extended.\n      //\n      // PLEASE NOTE: We do *not* want to slow down font parsing by adding\n      //              `hasOwnProperty` checks all over the code-base.\n      const enumerableProperties = [];\n      for (const property in []) {\n        enumerableProperties.push(property);\n      }\n      if (enumerableProperties.length) {\n        throw new Error(\n          \"The `Array.prototype` contains unexpected enumerable properties: \" +\n            enumerableProperties.join(\", \") +\n            \"; thus breaking e.g. `for...in` iteration of `Array`s.\"\n        );\n      }\n    }\n\n    var docId = docParams.docId;\n    var docBaseUrl = docParams.docBaseUrl;\n    var workerHandlerName = docParams.docId + \"_worker\";\n    var handler = new MessageHandler(workerHandlerName, docId, port);\n\n    // Ensure that postMessage transfers are always correctly enabled/disabled,\n    // to prevent \"DataCloneError\" in browsers without transfers support.\n    handler.postMessageTransfers = docParams.postMessageTransfers;\n\n    function ensureNotTerminated() {\n      if (terminated) {\n        throw new Error(\"Worker was terminated\");\n      }\n    }\n\n    function startWorkerTask(task) {\n      WorkerTasks.push(task);\n    }\n\n    function finishWorkerTask(task) {\n      task.finish();\n      var i = WorkerTasks.indexOf(task);\n      WorkerTasks.splice(i, 1);\n    }\n\n    async function loadDocument(recoveryMode) {\n      await pdfManager.ensureDoc(\"checkHeader\");\n      await pdfManager.ensureDoc(\"parseStartXRef\");\n      await pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n\n      if (!recoveryMode) {\n        // Check that at least the first page can be successfully loaded,\n        // since otherwise the XRef table is definitely not valid.\n        await pdfManager.ensureDoc(\"checkFirstPage\");\n      }\n\n      const [numPages, fingerprint] = await Promise.all([\n        pdfManager.ensureDoc(\"numPages\"),\n        pdfManager.ensureDoc(\"fingerprint\"),\n      ]);\n      return { numPages, fingerprint };\n    }\n\n    function getPdfManager(data, evaluatorOptions) {\n      var pdfManagerCapability = createPromiseCapability();\n      var pdfManager;\n\n      var source = data.source;\n      if (source.data) {\n        try {\n          pdfManager = new LocalPdfManager(\n            docId,\n            source.data,\n            source.password,\n            evaluatorOptions,\n            docBaseUrl\n          );\n          pdfManagerCapability.resolve(pdfManager);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n        }\n        return pdfManagerCapability.promise;\n      }\n\n      var pdfStream,\n        cachedChunks = [];\n      try {\n        pdfStream = new PDFWorkerStream(handler);\n      } catch (ex) {\n        pdfManagerCapability.reject(ex);\n        return pdfManagerCapability.promise;\n      }\n\n      var fullRequest = pdfStream.getFullReader();\n      fullRequest.headersReady\n        .then(function() {\n          if (!fullRequest.isRangeSupported) {\n            return;\n          }\n\n          // We don't need auto-fetch when streaming is enabled.\n          var disableAutoFetch =\n            source.disableAutoFetch || fullRequest.isStreamingSupported;\n          pdfManager = new NetworkPdfManager(\n            docId,\n            pdfStream,\n            {\n              msgHandler: handler,\n              password: source.password,\n              length: fullRequest.contentLength,\n              disableAutoFetch,\n              rangeChunkSize: source.rangeChunkSize,\n            },\n            evaluatorOptions,\n            docBaseUrl\n          );\n          // There may be a chance that `pdfManager` is not initialized\n          // for first few runs of `readchunk` block of code. Be sure\n          // to send all cached chunks, if any, to chunked_stream via\n          // pdf_manager.\n          for (let i = 0; i < cachedChunks.length; i++) {\n            pdfManager.sendProgressiveData(cachedChunks[i]);\n          }\n\n          cachedChunks = [];\n          pdfManagerCapability.resolve(pdfManager);\n          cancelXHRs = null;\n        })\n        .catch(function(reason) {\n          pdfManagerCapability.reject(reason);\n          cancelXHRs = null;\n        });\n\n      var loaded = 0;\n      var flushChunks = function() {\n        var pdfFile = arraysToBytes(cachedChunks);\n        if (source.length && pdfFile.length !== source.length) {\n          warn(\"reported HTTP length is different from actual\");\n        }\n        // the data is array, instantiating directly from it\n        try {\n          pdfManager = new LocalPdfManager(\n            docId,\n            pdfFile,\n            source.password,\n            evaluatorOptions,\n            docBaseUrl\n          );\n          pdfManagerCapability.resolve(pdfManager);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n        }\n        cachedChunks = [];\n      };\n      var readPromise = new Promise(function(resolve, reject) {\n        var readChunk = function(chunk) {\n          try {\n            ensureNotTerminated();\n            if (chunk.done) {\n              if (!pdfManager) {\n                flushChunks();\n              }\n              cancelXHRs = null;\n              return;\n            }\n\n            var data = chunk.value;\n            loaded += arrayByteLength(data);\n            if (!fullRequest.isStreamingSupported) {\n              handler.send(\"DocProgress\", {\n                loaded,\n                total: Math.max(loaded, fullRequest.contentLength || 0),\n              });\n            }\n\n            if (pdfManager) {\n              pdfManager.sendProgressiveData(data);\n            } else {\n              cachedChunks.push(data);\n            }\n\n            fullRequest.read().then(readChunk, reject);\n          } catch (e) {\n            reject(e);\n          }\n        };\n        fullRequest.read().then(readChunk, reject);\n      });\n      readPromise.catch(function(e) {\n        pdfManagerCapability.reject(e);\n        cancelXHRs = null;\n      });\n\n      cancelXHRs = function(reason) {\n        pdfStream.cancelAllRequests(reason);\n      };\n\n      return pdfManagerCapability.promise;\n    }\n\n    function setupDoc(data) {\n      function onSuccess(doc) {\n        ensureNotTerminated();\n        handler.send(\"GetDoc\", { pdfInfo: doc });\n      }\n\n      function onFailure(ex) {\n        ensureNotTerminated();\n\n        if (ex instanceof PasswordException) {\n          var task = new WorkerTask(`PasswordException: response ${ex.code}`);\n          startWorkerTask(task);\n\n          handler\n            .sendWithPromise(\"PasswordRequest\", ex)\n            .then(function(data) {\n              finishWorkerTask(task);\n              pdfManager.updatePassword(data.password);\n              pdfManagerReady();\n            })\n            .catch(function() {\n              finishWorkerTask(task);\n              handler.send(\"DocException\", ex);\n            });\n        } else if (\n          ex instanceof InvalidPDFException ||\n          ex instanceof MissingPDFException ||\n          ex instanceof UnexpectedResponseException ||\n          ex instanceof UnknownErrorException\n        ) {\n          handler.send(\"DocException\", ex);\n        } else {\n          handler.send(\n            \"DocException\",\n            new UnknownErrorException(ex.message, ex.toString())\n          );\n        }\n      }\n\n      function pdfManagerReady() {\n        ensureNotTerminated();\n\n        loadDocument(false).then(\n          onSuccess,\n          function loadFailure(ex) {\n            ensureNotTerminated();\n\n            // Try again with recoveryMode == true\n            if (!(ex instanceof XRefParseException)) {\n              onFailure(ex);\n              return;\n            }\n            pdfManager.requestLoadedStream();\n            pdfManager.onLoadedStream().then(function() {\n              ensureNotTerminated();\n\n              loadDocument(true).then(onSuccess, onFailure);\n            });\n          },\n          onFailure\n        );\n      }\n\n      ensureNotTerminated();\n\n      var evaluatorOptions = {\n        forceDataSchema: data.disableCreateObjectURL,\n        maxImageSize: data.maxImageSize,\n        disableFontFace: data.disableFontFace,\n        nativeImageDecoderSupport: data.nativeImageDecoderSupport,\n        ignoreErrors: data.ignoreErrors,\n        isEvalSupported: data.isEvalSupported,\n      };\n\n      getPdfManager(data, evaluatorOptions)\n        .then(function(newPdfManager) {\n          if (terminated) {\n            // We were in a process of setting up the manager, but it got\n            // terminated in the middle.\n            newPdfManager.terminate(\n              new AbortException(\"Worker was terminated.\")\n            );\n            throw new Error(\"Worker was terminated\");\n          }\n          pdfManager = newPdfManager;\n\n          pdfManager.onLoadedStream().then(function(stream) {\n            handler.send(\"DataLoaded\", { length: stream.bytes.byteLength });\n          });\n        })\n        .then(pdfManagerReady, onFailure);\n    }\n\n    handler.on(\"GetPage\", function wphSetupGetPage(data) {\n      return pdfManager.getPage(data.pageIndex).then(function(page) {\n        return Promise.all([\n          pdfManager.ensure(page, \"rotate\"),\n          pdfManager.ensure(page, \"ref\"),\n          pdfManager.ensure(page, \"userUnit\"),\n          pdfManager.ensure(page, \"view\"),\n        ]).then(function([rotate, ref, userUnit, view]) {\n          return {\n            rotate,\n            ref,\n            userUnit,\n            view,\n          };\n        });\n      });\n    });\n\n    handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(data) {\n      var ref = Ref.get(data.ref.num, data.ref.gen);\n      var catalog = pdfManager.pdfDocument.catalog;\n      return catalog.getPageIndex(ref);\n    });\n\n    handler.on(\"GetDestinations\", function wphSetupGetDestinations(data) {\n      return pdfManager.ensureCatalog(\"destinations\");\n    });\n\n    handler.on(\"GetDestination\", function wphSetupGetDestination(data) {\n      return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n    });\n\n    handler.on(\"GetPageLabels\", function wphSetupGetPageLabels(data) {\n      return pdfManager.ensureCatalog(\"pageLabels\");\n    });\n\n    handler.on(\"GetPageLayout\", function wphSetupGetPageLayout(data) {\n      return pdfManager.ensureCatalog(\"pageLayout\");\n    });\n\n    handler.on(\"GetPageMode\", function wphSetupGetPageMode(data) {\n      return pdfManager.ensureCatalog(\"pageMode\");\n    });\n\n    handler.on(\"GetViewerPreferences\", function(data) {\n      return pdfManager.ensureCatalog(\"viewerPreferences\");\n    });\n\n    handler.on(\"GetOpenAction\", function(data) {\n      return pdfManager.ensureCatalog(\"openAction\");\n    });\n\n    handler.on(\"GetAttachments\", function wphSetupGetAttachments(data) {\n      return pdfManager.ensureCatalog(\"attachments\");\n    });\n\n    handler.on(\"GetJavaScript\", function wphSetupGetJavaScript(data) {\n      return pdfManager.ensureCatalog(\"javaScript\");\n    });\n\n    handler.on(\"GetOutline\", function wphSetupGetOutline(data) {\n      return pdfManager.ensureCatalog(\"documentOutline\");\n    });\n\n    handler.on(\"GetPermissions\", function(data) {\n      return pdfManager.ensureCatalog(\"permissions\");\n    });\n\n    handler.on(\"GetMetadata\", function wphSetupGetMetadata(data) {\n      return Promise.all([\n        pdfManager.ensureDoc(\"documentInfo\"),\n        pdfManager.ensureCatalog(\"metadata\"),\n      ]);\n    });\n\n    handler.on(\"GetData\", function wphSetupGetData(data) {\n      pdfManager.requestLoadedStream();\n      return pdfManager.onLoadedStream().then(function(stream) {\n        return stream.bytes;\n      });\n    });\n\n    handler.on(\"GetStats\", function wphSetupGetStats(data) {\n      return pdfManager.pdfDocument.xref.stats;\n    });\n\n    handler.on(\"GetAnnotations\", function({ pageIndex, intent }) {\n      return pdfManager.getPage(pageIndex).then(function(page) {\n        return page.getAnnotationsData(intent);\n      });\n    });\n\n    handler.on(\n      \"GetOperatorList\",\n      function wphSetupRenderPage(data, sink) {\n        var pageIndex = data.pageIndex;\n        pdfManager.getPage(pageIndex).then(function(page) {\n          var task = new WorkerTask(`GetOperatorList: page ${pageIndex}`);\n          startWorkerTask(task);\n\n          // NOTE: Keep this condition in sync with the `info` helper function.\n          const start = verbosity >= VerbosityLevel.INFOS ? Date.now() : 0;\n\n          // Pre compile the pdf page and fetch the fonts/images.\n          page\n            .getOperatorList({\n              handler,\n              sink,\n              task,\n              intent: data.intent,\n              renderInteractiveForms: data.renderInteractiveForms,\n            })\n            .then(\n              function(operatorListInfo) {\n                finishWorkerTask(task);\n\n                if (start) {\n                  info(\n                    `page=${pageIndex + 1} - getOperatorList: time=` +\n                      `${Date.now() - start}ms, len=${operatorListInfo.length}`\n                  );\n                }\n                sink.close();\n              },\n              function(reason) {\n                finishWorkerTask(task);\n                if (task.terminated) {\n                  return; // ignoring errors from the terminated thread\n                }\n                // For compatibility with older behavior, generating unknown\n                // unsupported feature notification on errors.\n                handler.send(\"UnsupportedFeature\", {\n                  featureId: UNSUPPORTED_FEATURES.unknown,\n                });\n\n                sink.error(reason);\n\n                // TODO: Should `reason` be re-thrown here (currently that\n                //       casues \"Uncaught exception: ...\" messages in the\n                //       console)?\n              }\n            );\n        });\n      },\n      this\n    );\n\n    handler.on(\"GetTextContent\", function wphExtractText(data, sink) {\n      var pageIndex = data.pageIndex;\n      sink.onPull = function(desiredSize) {};\n      sink.onCancel = function(reason) {};\n\n      pdfManager.getPage(pageIndex).then(function(page) {\n        var task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n        startWorkerTask(task);\n\n        // NOTE: Keep this condition in sync with the `info` helper function.\n        const start = verbosity >= VerbosityLevel.INFOS ? Date.now() : 0;\n\n        page\n          .extractTextContent({\n            handler,\n            task,\n            sink,\n            normalizeWhitespace: data.normalizeWhitespace,\n            combineTextItems: data.combineTextItems,\n          })\n          .then(\n            function() {\n              finishWorkerTask(task);\n\n              if (start) {\n                info(\n                  `page=${pageIndex + 1} - getTextContent: time=` +\n                    `${Date.now() - start}ms`\n                );\n              }\n              sink.close();\n            },\n            function(reason) {\n              finishWorkerTask(task);\n              if (task.terminated) {\n                return; // ignoring errors from the terminated thread\n              }\n              sink.error(reason);\n\n              // TODO: Should `reason` be re-thrown here (currently that casues\n              //       \"Uncaught exception: ...\" messages in the console)?\n            }\n          );\n      });\n    });\n\n    handler.on(\"FontFallback\", function(data) {\n      return pdfManager.fontFallback(data.id, handler);\n    });\n\n    handler.on(\"Cleanup\", function wphCleanup(data) {\n      return pdfManager.cleanup();\n    });\n\n    handler.on(\"Terminate\", function wphTerminate(data) {\n      terminated = true;\n\n      const waitOn = [];\n      if (pdfManager) {\n        pdfManager.terminate(new AbortException(\"Worker was terminated.\"));\n\n        const cleanupPromise = pdfManager.cleanup();\n        waitOn.push(cleanupPromise);\n\n        pdfManager = null;\n      } else {\n        clearPrimitiveCaches();\n      }\n      if (cancelXHRs) {\n        cancelXHRs(new AbortException(\"Worker was terminated.\"));\n      }\n\n      WorkerTasks.forEach(function(task) {\n        waitOn.push(task.finished);\n        task.terminate();\n      });\n\n      return Promise.all(waitOn).then(function() {\n        // Notice that even if we destroying handler, resolved response promise\n        // must be sent back.\n        handler.destroy();\n        handler = null;\n      });\n    });\n\n    handler.on(\"Ready\", function wphReady(data) {\n      setupDoc(docParams);\n      docParams = null; // we don't need docParams anymore -- saving memory.\n    });\n    return workerHandlerName;\n  },\n  initializeFromPort(port) {\n    var handler = new MessageHandler(\"worker\", \"main\", port);\n    WorkerMessageHandler.setup(handler, port);\n    handler.send(\"ready\", null);\n  },\n};\n\nfunction isMessagePort(maybePort) {\n  return (\n    typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort\n  );\n}\n\n// Worker thread (and not node.js)?\nif (\n  typeof window === \"undefined\" &&\n  !isNodeJS &&\n  typeof self !== \"undefined\" &&\n  isMessagePort(self)\n) {\n  WorkerMessageHandler.initializeFromPort(self);\n}\n\nexport { WorkerTask, WorkerMessageHandler };\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst NativeImageDecoding = {\n  NONE: \"none\",\n  DECODE: \"decode\",\n  DISPLAY: \"display\",\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n  PRINT: 0x04,\n  MODIFY_CONTENTS: 0x08,\n  COPY: 0x10,\n  MODIFY_ANNOTATIONS: 0x20,\n  FILL_INTERACTIVE_FORMS: 0x100,\n  COPY_FOR_ACCESSIBILITY: 0x200,\n  ASSEMBLE: 0x400,\n  PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n  FILL: 0,\n  STROKE: 1,\n  FILL_STROKE: 2,\n  INVISIBLE: 3,\n  FILL_ADD_TO_PATH: 4,\n  STROKE_ADD_TO_PATH: 5,\n  FILL_STROKE_ADD_TO_PATH: 6,\n  ADD_TO_PATH: 7,\n  FILL_STROKE_MASK: 3,\n  ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n  GRAYSCALE_1BPP: 1,\n  RGB_24BPP: 2,\n  RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n  TEXT: 1,\n  LINK: 2,\n  FREETEXT: 3,\n  LINE: 4,\n  SQUARE: 5,\n  CIRCLE: 6,\n  POLYGON: 7,\n  POLYLINE: 8,\n  HIGHLIGHT: 9,\n  UNDERLINE: 10,\n  SQUIGGLY: 11,\n  STRIKEOUT: 12,\n  STAMP: 13,\n  CARET: 14,\n  INK: 15,\n  POPUP: 16,\n  FILEATTACHMENT: 17,\n  SOUND: 18,\n  MOVIE: 19,\n  WIDGET: 20,\n  SCREEN: 21,\n  PRINTERMARK: 22,\n  TRAPNET: 23,\n  WATERMARK: 24,\n  THREED: 25,\n  REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n  MARKED: \"Marked\",\n  REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n  MARKED: \"Marked\",\n  UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n  ACCEPTED: \"Accepted\",\n  REJECTED: \"Rejected\",\n  CANCELLED: \"Cancelled\",\n  COMPLETED: \"Completed\",\n  NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n  GROUP: \"Group\",\n  REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n  INVISIBLE: 0x01,\n  HIDDEN: 0x02,\n  PRINT: 0x04,\n  NOZOOM: 0x08,\n  NOROTATE: 0x10,\n  NOVIEW: 0x20,\n  READONLY: 0x40,\n  LOCKED: 0x80,\n  TOGGLENOVIEW: 0x100,\n  LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n  READONLY: 0x0000001,\n  REQUIRED: 0x0000002,\n  NOEXPORT: 0x0000004,\n  MULTILINE: 0x0001000,\n  PASSWORD: 0x0002000,\n  NOTOGGLETOOFF: 0x0004000,\n  RADIO: 0x0008000,\n  PUSHBUTTON: 0x0010000,\n  COMBO: 0x0020000,\n  EDIT: 0x0040000,\n  SORT: 0x0080000,\n  FILESELECT: 0x0100000,\n  MULTISELECT: 0x0200000,\n  DONOTSPELLCHECK: 0x0400000,\n  DONOTSCROLL: 0x0800000,\n  COMB: 0x1000000,\n  RICHTEXT: 0x2000000,\n  RADIOSINUNISON: 0x2000000,\n  COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n  SOLID: 1,\n  DASHED: 2,\n  BEVELED: 3,\n  INSET: 4,\n  UNDERLINE: 5,\n};\n\nconst StreamType = {\n  UNKNOWN: \"UNKNOWN\",\n  FLATE: \"FLATE\",\n  LZW: \"LZW\",\n  DCT: \"DCT\",\n  JPX: \"JPX\",\n  JBIG: \"JBIG\",\n  A85: \"A85\",\n  AHX: \"AHX\",\n  CCF: \"CCF\",\n  RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n  UNKNOWN: \"UNKNOWN\",\n  TYPE1: \"TYPE1\",\n  TYPE1C: \"TYPE1C\",\n  CIDFONTTYPE0: \"CIDFONTTYPE0\",\n  CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n  TRUETYPE: \"TRUETYPE\",\n  CIDFONTTYPE2: \"CIDFONTTYPE2\",\n  TYPE3: \"TYPE3\",\n  OPENTYPE: \"OPENTYPE\",\n  TYPE0: \"TYPE0\",\n  MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n  ERRORS: 0,\n  WARNINGS: 1,\n  INFOS: 5,\n};\n\nconst CMapCompressionType = {\n  NONE: 0,\n  BINARY: 1,\n  STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n  // Intentionally start from 1 so it is easy to spot bad operators that will be\n  // 0's.\n  dependency: 1,\n  setLineWidth: 2,\n  setLineCap: 3,\n  setLineJoin: 4,\n  setMiterLimit: 5,\n  setDash: 6,\n  setRenderingIntent: 7,\n  setFlatness: 8,\n  setGState: 9,\n  save: 10,\n  restore: 11,\n  transform: 12,\n  moveTo: 13,\n  lineTo: 14,\n  curveTo: 15,\n  curveTo2: 16,\n  curveTo3: 17,\n  closePath: 18,\n  rectangle: 19,\n  stroke: 20,\n  closeStroke: 21,\n  fill: 22,\n  eoFill: 23,\n  fillStroke: 24,\n  eoFillStroke: 25,\n  closeFillStroke: 26,\n  closeEOFillStroke: 27,\n  endPath: 28,\n  clip: 29,\n  eoClip: 30,\n  beginText: 31,\n  endText: 32,\n  setCharSpacing: 33,\n  setWordSpacing: 34,\n  setHScale: 35,\n  setLeading: 36,\n  setFont: 37,\n  setTextRenderingMode: 38,\n  setTextRise: 39,\n  moveText: 40,\n  setLeadingMoveText: 41,\n  setTextMatrix: 42,\n  nextLine: 43,\n  showText: 44,\n  showSpacedText: 45,\n  nextLineShowText: 46,\n  nextLineSetSpacingShowText: 47,\n  setCharWidth: 48,\n  setCharWidthAndBounds: 49,\n  setStrokeColorSpace: 50,\n  setFillColorSpace: 51,\n  setStrokeColor: 52,\n  setStrokeColorN: 53,\n  setFillColor: 54,\n  setFillColorN: 55,\n  setStrokeGray: 56,\n  setFillGray: 57,\n  setStrokeRGBColor: 58,\n  setFillRGBColor: 59,\n  setStrokeCMYKColor: 60,\n  setFillCMYKColor: 61,\n  shadingFill: 62,\n  beginInlineImage: 63,\n  beginImageData: 64,\n  endInlineImage: 65,\n  paintXObject: 66,\n  markPoint: 67,\n  markPointProps: 68,\n  beginMarkedContent: 69,\n  beginMarkedContentProps: 70,\n  endMarkedContent: 71,\n  beginCompat: 72,\n  endCompat: 73,\n  paintFormXObjectBegin: 74,\n  paintFormXObjectEnd: 75,\n  beginGroup: 76,\n  endGroup: 77,\n  beginAnnotations: 78,\n  endAnnotations: 79,\n  beginAnnotation: 80,\n  endAnnotation: 81,\n  paintJpegXObject: 82,\n  paintImageMaskXObject: 83,\n  paintImageMaskXObjectGroup: 84,\n  paintImageXObject: 85,\n  paintInlineImageXObject: 86,\n  paintInlineImageXObjectGroup: 87,\n  paintImageXObjectRepeat: 88,\n  paintImageMaskXObjectRepeat: 89,\n  paintSolidColorImageMask: 90,\n  constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n  unknown: \"unknown\",\n  forms: \"forms\",\n  javaScript: \"javaScript\",\n  smask: \"smask\",\n  shadingPattern: \"shadingPattern\",\n  font: \"font\",\n};\n\nconst PasswordResponses = {\n  NEED_PASSWORD: 1,\n  INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n  if (Number.isInteger(level)) {\n    verbosity = level;\n  }\n}\n\nfunction getVerbosityLevel() {\n  return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n  if (verbosity >= VerbosityLevel.INFOS) {\n    console.log(`Info: ${msg}`);\n  }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n  if (verbosity >= VerbosityLevel.WARNINGS) {\n    console.log(`Warning: ${msg}`);\n  }\n}\n\nfunction unreachable(msg) {\n  throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n  if (!cond) {\n    unreachable(msg);\n  }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n  let base;\n  try {\n    base = new URL(baseUrl);\n    if (!base.origin || base.origin === \"null\") {\n      return false; // non-HTTP url\n    }\n  } catch (e) {\n    return false;\n  }\n\n  const other = new URL(otherUrl, base);\n  return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the whitelisted protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n  if (!url) {\n    return false;\n  }\n  switch (url.protocol) {\n    case \"http:\":\n    case \"https:\":\n    case \"ftp:\":\n    case \"mailto:\":\n    case \"tel:\":\n      return true;\n    default:\n      return false;\n  }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n  if (!url) {\n    return null;\n  }\n  try {\n    const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n    if (_isValidProtocol(absoluteUrl)) {\n      return absoluteUrl;\n    }\n  } catch (ex) {\n    /* `new URL()` will throw on incorrect data. */\n  }\n  return null;\n}\n\nfunction shadow(obj, prop, value) {\n  Object.defineProperty(obj, prop, {\n    value,\n    enumerable: true,\n    configurable: true,\n    writable: false,\n  });\n  return value;\n}\n\nconst BaseException = (function BaseExceptionClosure() {\n  function BaseException(message) {\n    if (this.constructor === BaseException) {\n      unreachable(\"Cannot initialize BaseException.\");\n    }\n    this.message = message;\n    this.name = this.constructor.name;\n  }\n  BaseException.prototype = new Error();\n  BaseException.constructor = BaseException;\n\n  return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n  constructor(msg, code) {\n    super(msg);\n    this.code = code;\n  }\n}\n\nclass UnknownErrorException extends BaseException {\n  constructor(msg, details) {\n    super(msg);\n    this.details = details;\n  }\n}\n\nclass InvalidPDFException extends BaseException {}\n\nclass MissingPDFException extends BaseException {}\n\nclass UnexpectedResponseException extends BaseException {\n  constructor(msg, status) {\n    super(msg);\n    this.status = status;\n  }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {}\n\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n  if (typeof str !== \"string\") {\n    warn(\"The argument for removeNullCharacters must be a string.\");\n    return str;\n  }\n  return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n  assert(\n    bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n    \"Invalid argument for bytesToString\"\n  );\n  const length = bytes.length;\n  const MAX_ARGUMENT_COUNT = 8192;\n  if (length < MAX_ARGUMENT_COUNT) {\n    return String.fromCharCode.apply(null, bytes);\n  }\n  const strBuf = [];\n  for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n    const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n    const chunk = bytes.subarray(i, chunkEnd);\n    strBuf.push(String.fromCharCode.apply(null, chunk));\n  }\n  return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n  assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n  const length = str.length;\n  const bytes = new Uint8Array(length);\n  for (let i = 0; i < length; ++i) {\n    bytes[i] = str.charCodeAt(i) & 0xff;\n  }\n  return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n  if (arr.length !== undefined) {\n    return arr.length;\n  }\n  assert(arr.byteLength !== undefined);\n  return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array} arr - the array of the arrays (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n  const length = arr.length;\n  // Shortcut: if first and only item is Uint8Array, return it.\n  if (length === 1 && arr[0] instanceof Uint8Array) {\n    return arr[0];\n  }\n  let resultLength = 0;\n  for (let i = 0; i < length; i++) {\n    resultLength += arrayByteLength(arr[i]);\n  }\n  let pos = 0;\n  const data = new Uint8Array(resultLength);\n  for (let i = 0; i < length; i++) {\n    let item = arr[i];\n    if (!(item instanceof Uint8Array)) {\n      if (typeof item === \"string\") {\n        item = stringToBytes(item);\n      } else {\n        item = new Uint8Array(item);\n      }\n    }\n    const itemLength = item.byteLength;\n    data.set(item, pos);\n    pos += itemLength;\n  }\n  return data;\n}\n\nfunction string32(value) {\n  return String.fromCharCode(\n    (value >> 24) & 0xff,\n    (value >> 16) & 0xff,\n    (value >> 8) & 0xff,\n    value & 0xff\n  );\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n  const buffer8 = new Uint8Array(4);\n  buffer8[0] = 1;\n  const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n  return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n  get value() {\n    return shadow(this, \"value\", isLittleEndian());\n  },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n  try {\n    new Function(\"\"); // eslint-disable-line no-new, no-new-func\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\nconst IsEvalSupportedCached = {\n  get value() {\n    return shadow(this, \"value\", isEvalSupported());\n  },\n};\n\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n  // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n  // creating many intermediate strings.\n  static makeCssRgb(r, g, b) {\n    rgbBuf[1] = r;\n    rgbBuf[3] = g;\n    rgbBuf[5] = b;\n    return rgbBuf.join(\"\");\n  }\n\n  // Concatenates two transformation matrices together and returns the result.\n  static transform(m1, m2) {\n    return [\n      m1[0] * m2[0] + m1[2] * m2[1],\n      m1[1] * m2[0] + m1[3] * m2[1],\n      m1[0] * m2[2] + m1[2] * m2[3],\n      m1[1] * m2[2] + m1[3] * m2[3],\n      m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n      m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n    ];\n  }\n\n  // For 2d affine transforms\n  static applyTransform(p, m) {\n    const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n    const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n    return [xt, yt];\n  }\n\n  static applyInverseTransform(p, m) {\n    const d = m[0] * m[3] - m[1] * m[2];\n    const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n    const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n    return [xt, yt];\n  }\n\n  // Applies the transform to the rectangle and finds the minimum axially\n  // aligned bounding box.\n  static getAxialAlignedBoundingBox(r, m) {\n    const p1 = Util.applyTransform(r, m);\n    const p2 = Util.applyTransform(r.slice(2, 4), m);\n    const p3 = Util.applyTransform([r[0], r[3]], m);\n    const p4 = Util.applyTransform([r[2], r[1]], m);\n    return [\n      Math.min(p1[0], p2[0], p3[0], p4[0]),\n      Math.min(p1[1], p2[1], p3[1], p4[1]),\n      Math.max(p1[0], p2[0], p3[0], p4[0]),\n      Math.max(p1[1], p2[1], p3[1], p4[1]),\n    ];\n  }\n\n  static inverseTransform(m) {\n    const d = m[0] * m[3] - m[1] * m[2];\n    return [\n      m[3] / d,\n      -m[1] / d,\n      -m[2] / d,\n      m[0] / d,\n      (m[2] * m[5] - m[4] * m[3]) / d,\n      (m[4] * m[1] - m[5] * m[0]) / d,\n    ];\n  }\n\n  // Apply a generic 3d matrix M on a 3-vector v:\n  //   | a b c |   | X |\n  //   | d e f | x | Y |\n  //   | g h i |   | Z |\n  // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n  // with v as [X,Y,Z]\n  static apply3dTransform(m, v) {\n    return [\n      m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n      m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n      m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n    ];\n  }\n\n  // This calculation uses Singular Value Decomposition.\n  // The SVD can be represented with formula A = USV. We are interested in the\n  // matrix S here because it represents the scale values.\n  static singularValueDecompose2dScale(m) {\n    const transpose = [m[0], m[2], m[1], m[3]];\n\n    // Multiply matrix m with its transpose.\n    const a = m[0] * transpose[0] + m[1] * transpose[2];\n    const b = m[0] * transpose[1] + m[1] * transpose[3];\n    const c = m[2] * transpose[0] + m[3] * transpose[2];\n    const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n    // Solve the second degree polynomial to get roots.\n    const first = (a + d) / 2;\n    const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n    const sx = first + second || 1;\n    const sy = first - second || 1;\n\n    // Scale values are the square roots of the eigenvalues.\n    return [Math.sqrt(sx), Math.sqrt(sy)];\n  }\n\n  // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n  // For coordinate systems whose origin lies in the bottom-left, this\n  // means normalization to (BL,TR) ordering. For systems with origin in the\n  // top-left, this means (TL,BR) ordering.\n  static normalizeRect(rect) {\n    const r = rect.slice(0); // clone rect\n    if (rect[0] > rect[2]) {\n      r[0] = rect[2];\n      r[2] = rect[0];\n    }\n    if (rect[1] > rect[3]) {\n      r[1] = rect[3];\n      r[3] = rect[1];\n    }\n    return r;\n  }\n\n  // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n  // intersection of rect1 and rect2. If no intersection, returns 'false'\n  // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n  static intersect(rect1, rect2) {\n    function compare(a, b) {\n      return a - b;\n    }\n\n    // Order points along the axes\n    const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n    const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n    const result = [];\n\n    rect1 = Util.normalizeRect(rect1);\n    rect2 = Util.normalizeRect(rect2);\n\n    // X: first and second points belong to different rectangles?\n    if (\n      (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n      (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n    ) {\n      // Intersection must be between second and third points\n      result[0] = orderedX[1];\n      result[2] = orderedX[2];\n    } else {\n      return null;\n    }\n\n    // Y: first and second points belong to different rectangles?\n    if (\n      (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n      (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n    ) {\n      // Intersection must be between second and third points\n      result[1] = orderedY[1];\n      result[3] = orderedY[2];\n    } else {\n      return null;\n    }\n\n    return result;\n  }\n}\n\n// prettier-ignore\nconst PDFStringTranslateTable = [\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n  0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n  0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n  0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n  const length = str.length,\n    strBuf = [];\n  if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n    // UTF16BE BOM\n    for (let i = 2; i < length; i += 2) {\n      strBuf.push(\n        String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n      );\n    }\n  } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n    // UTF16LE BOM\n    for (let i = 2; i < length; i += 2) {\n      strBuf.push(\n        String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n      );\n    }\n  } else {\n    for (let i = 0; i < length; ++i) {\n      const code = PDFStringTranslateTable[str.charCodeAt(i)];\n      strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n    }\n  }\n  return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n  return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n  return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n  for (const key in obj) {\n    return false;\n  }\n  return true;\n}\n\nfunction isBool(v) {\n  return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n  return typeof v === \"number\";\n}\n\nfunction isString(v) {\n  return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n  return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n  if (arr1.length !== arr2.length) {\n    return false;\n  }\n  return arr1.every(function(element, index) {\n    return element === arr2[index];\n  });\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n  const capability = Object.create(null);\n  let isSettled = false;\n\n  Object.defineProperty(capability, \"settled\", {\n    get() {\n      return isSettled;\n    },\n  });\n  capability.promise = new Promise(function(resolve, reject) {\n    capability.resolve = function(data) {\n      isSettled = true;\n      resolve(data);\n    };\n    capability.reject = function(reason) {\n      isSettled = true;\n      reject(reason);\n    };\n  });\n  return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n  // Blob/createObjectURL is not available, falling back to data schema.\n  const digits =\n    \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\n  return function createObjectURL(data, contentType, forceDataSchema = false) {\n    if (!forceDataSchema && URL.createObjectURL) {\n      const blob = new Blob([data], { type: contentType });\n      return URL.createObjectURL(blob);\n    }\n\n    let buffer = `data:${contentType};base64,`;\n    for (let i = 0, ii = data.length; i < ii; i += 3) {\n      const b1 = data[i] & 0xff;\n      const b2 = data[i + 1] & 0xff;\n      const b3 = data[i + 2] & 0xff;\n      const d1 = b1 >> 2,\n        d2 = ((b1 & 3) << 4) | (b2 >> 4);\n      const d3 = i + 1 < ii ? ((b2 & 0xf) << 2) | (b3 >> 6) : 64;\n      const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n    }\n    return buffer;\n  };\n})();\n\nexport {\n  BaseException,\n  FONT_IDENTITY_MATRIX,\n  IDENTITY_MATRIX,\n  OPS,\n  VerbosityLevel,\n  UNSUPPORTED_FEATURES,\n  AnnotationBorderStyleType,\n  AnnotationFieldFlag,\n  AnnotationFlag,\n  AnnotationMarkedState,\n  AnnotationReplyType,\n  AnnotationReviewState,\n  AnnotationStateModelType,\n  AnnotationType,\n  FontType,\n  ImageKind,\n  CMapCompressionType,\n  AbortException,\n  InvalidPDFException,\n  MissingPDFException,\n  NativeImageDecoding,\n  PasswordException,\n  PasswordResponses,\n  PermissionFlag,\n  StreamType,\n  TextRenderingMode,\n  UnexpectedResponseException,\n  UnknownErrorException,\n  Util,\n  FormatError,\n  arrayByteLength,\n  arraysToBytes,\n  assert,\n  bytesToString,\n  createPromiseCapability,\n  createObjectURL,\n  getVerbosityLevel,\n  info,\n  isArrayBuffer,\n  isArrayEqual,\n  isBool,\n  isEmptyObj,\n  isNum,\n  isString,\n  isSameOrigin,\n  createValidAbsoluteUrl,\n  IsLittleEndianCached,\n  IsEvalSupportedCached,\n  removeNullCharacters,\n  setVerbosityLevel,\n  shadow,\n  string32,\n  stringToBytes,\n  stringToPDFString,\n  stringToUTF8String,\n  utf8StringToString,\n  warn,\n  unreachable,\n};\n","/* Copyright 2017 Mozilla Foundation\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/* eslint no-var: error */\n\n// Skip compatibility checks for modern builds (unless we're running the\n// unit-tests in Node.js/Travis) and if we already ran the module.\nif (\n  (typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!SKIP_BABEL || (LIB && TESTING)\")) &&\n  (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n  // Provides support for globalThis in legacy browsers.\n  // Support: IE11/Edge, Opera\n  if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n    // eslint-disable-next-line no-global-assign\n    globalThis = require(\"core-js/es/global-this\");\n  }\n  globalThis._pdfjsCompatibilityChecked = true;\n\n  const { isNodeJS } = require(\"./is_node.js\");\n\n  const hasDOM = typeof window === \"object\" && typeof document === \"object\";\n  const userAgent =\n    (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n  const isIE = /Trident/.test(userAgent);\n\n  // Support: Node.js\n  (function checkNodeBtoa() {\n    if (globalThis.btoa || !isNodeJS) {\n      return;\n    }\n    globalThis.btoa = function(chars) {\n      // eslint-disable-next-line no-undef\n      return Buffer.from(chars, \"binary\").toString(\"base64\");\n    };\n  })();\n\n  // Support: Node.js\n  (function checkNodeAtob() {\n    if (globalThis.atob || !isNodeJS) {\n      return;\n    }\n    globalThis.atob = function(input) {\n      // eslint-disable-next-line no-undef\n      return Buffer.from(input, \"base64\").toString(\"binary\");\n    };\n  })();\n\n  // Provides support for ChildNode.remove in legacy browsers.\n  // Support: IE.\n  (function checkChildNodeRemove() {\n    if (!hasDOM) {\n      return;\n    }\n    if (typeof Element.prototype.remove !== \"undefined\") {\n      return;\n    }\n    Element.prototype.remove = function() {\n      if (this.parentNode) {\n        // eslint-disable-next-line mozilla/avoid-removeChild\n        this.parentNode.removeChild(this);\n      }\n    };\n  })();\n\n  // Provides support for DOMTokenList.prototype.{add, remove}, with more than\n  // one parameter, in legacy browsers.\n  // Support: IE\n  (function checkDOMTokenListAddRemove() {\n    if (!hasDOM || isNodeJS) {\n      return;\n    }\n    const div = document.createElement(\"div\");\n    div.classList.add(\"testOne\", \"testTwo\");\n\n    if (\n      div.classList.contains(\"testOne\") === true &&\n      div.classList.contains(\"testTwo\") === true\n    ) {\n      return;\n    }\n    const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n    const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n    DOMTokenList.prototype.add = function(...tokens) {\n      for (const token of tokens) {\n        OriginalDOMTokenListAdd.call(this, token);\n      }\n    };\n    DOMTokenList.prototype.remove = function(...tokens) {\n      for (const token of tokens) {\n        OriginalDOMTokenListRemove.call(this, token);\n      }\n    };\n  })();\n\n  // Provides support for DOMTokenList.prototype.toggle, with the optional\n  // \"force\" parameter, in legacy browsers.\n  // Support: IE\n  (function checkDOMTokenListToggle() {\n    if (!hasDOM || isNodeJS) {\n      return;\n    }\n    const div = document.createElement(\"div\");\n    if (div.classList.toggle(\"test\", 0) === false) {\n      return;\n    }\n\n    DOMTokenList.prototype.toggle = function(token) {\n      const force =\n        arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n      return this[force ? \"add\" : \"remove\"](token), force;\n    };\n  })();\n\n  // Provides support for window.history.{pushState, replaceState}, with the\n  // `url` parameter set to `undefined`, without breaking the document URL.\n  // Support: IE\n  (function checkWindowHistoryPushStateReplaceState() {\n    if (!hasDOM || !isIE) {\n      return;\n    }\n    const OriginalPushState = window.history.pushState;\n    const OriginalReplaceState = window.history.replaceState;\n\n    window.history.pushState = function(state, title, url) {\n      const args = url === undefined ? [state, title] : [state, title, url];\n      OriginalPushState.apply(this, args);\n    };\n    window.history.replaceState = function(state, title, url) {\n      const args = url === undefined ? [state, title] : [state, title, url];\n      OriginalReplaceState.apply(this, args);\n    };\n  })();\n\n  // Provides support for String.prototype.startsWith in legacy browsers.\n  // Support: IE, Chrome<41\n  (function checkStringStartsWith() {\n    if (String.prototype.startsWith) {\n      return;\n    }\n    require(\"core-js/es/string/starts-with.js\");\n  })();\n\n  // Provides support for String.prototype.endsWith in legacy browsers.\n  // Support: IE, Chrome<41\n  (function checkStringEndsWith() {\n    if (String.prototype.endsWith) {\n      return;\n    }\n    require(\"core-js/es/string/ends-with.js\");\n  })();\n\n  // Provides support for String.prototype.includes in legacy browsers.\n  // Support: IE, Chrome<41\n  (function checkStringIncludes() {\n    if (String.prototype.includes) {\n      return;\n    }\n    require(\"core-js/es/string/includes.js\");\n  })();\n\n  // Provides support for Array.prototype.includes in legacy browsers.\n  // Support: IE, Chrome<47\n  (function checkArrayIncludes() {\n    if (Array.prototype.includes) {\n      return;\n    }\n    require(\"core-js/es/array/includes.js\");\n  })();\n\n  // Provides support for Array.from in legacy browsers.\n  // Support: IE\n  (function checkArrayFrom() {\n    if (Array.from) {\n      return;\n    }\n    require(\"core-js/es/array/from.js\");\n  })();\n\n  // Provides support for Object.assign in legacy browsers.\n  // Support: IE\n  (function checkObjectAssign() {\n    if (Object.assign) {\n      return;\n    }\n    require(\"core-js/es/object/assign.js\");\n  })();\n\n  // Provides support for Math.log2 in legacy browsers.\n  // Support: IE, Chrome<38\n  (function checkMathLog2() {\n    if (Math.log2) {\n      return;\n    }\n    Math.log2 = require(\"core-js/es/math/log2.js\");\n  })();\n\n  // Provides support for Number.isNaN in legacy browsers.\n  // Support: IE.\n  (function checkNumberIsNaN() {\n    if (Number.isNaN) {\n      return;\n    }\n    Number.isNaN = require(\"core-js/es/number/is-nan.js\");\n  })();\n\n  // Provides support for Number.isInteger in legacy browsers.\n  // Support: IE, Chrome<34\n  (function checkNumberIsInteger() {\n    if (Number.isInteger) {\n      return;\n    }\n    Number.isInteger = require(\"core-js/es/number/is-integer.js\");\n  })();\n\n  // Support: IE, Safari<11, Chrome<63\n  (function checkPromise() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n      // The current image decoders are synchronous, hence `Promise` shouldn't\n      // need to be polyfilled for the IMAGE_DECODERS build target.\n      return;\n    }\n    if (globalThis.Promise && globalThis.Promise.allSettled) {\n      return;\n    }\n    globalThis.Promise = require(\"core-js/es/promise/index.js\");\n  })();\n\n  // Support: IE\n  (function checkURL() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n      // The current image decoders don't use the `URL` constructor, so it\n      // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n      return;\n    }\n    if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n      // The `URL` constructor is assumed to be available in the extension\n      // builds.\n      return;\n    }\n    globalThis.URL = require(\"core-js/web/url.js\");\n  })();\n\n  // Support: IE, Node.js\n  (function checkReadableStream() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n      // The current image decoders are synchronous, hence `ReadableStream`\n      // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n      return;\n    }\n    let isReadableStreamSupported = false;\n\n    if (typeof ReadableStream !== \"undefined\") {\n      // MS Edge may say it has ReadableStream but they are not up to spec yet.\n      try {\n        // eslint-disable-next-line no-new\n        new ReadableStream({\n          start(controller) {\n            controller.close();\n          },\n        });\n        isReadableStreamSupported = true;\n      } catch (e) {\n        // The ReadableStream constructor cannot be used.\n      }\n    }\n    if (isReadableStreamSupported) {\n      return;\n    }\n    globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n  })();\n\n  // We want to support Map iteration, but it doesn't seem possible to easily\n  // test for that specifically; hence using a similarly unsupported property.\n  // Support: IE11\n  (function checkMapEntries() {\n    if (globalThis.Map && globalThis.Map.prototype.entries) {\n      return;\n    }\n    globalThis.Map = require(\"core-js/es/map/index.js\");\n  })();\n\n  // We want to support Set iteration, but it doesn't seem possible to easily\n  // test for that specifically; hence using a similarly unsupported property.\n  // Support: IE11\n  (function checkSetEntries() {\n    if (globalThis.Set && globalThis.Set.prototype.entries) {\n      return;\n    }\n    globalThis.Set = require(\"core-js/es/set/index.js\");\n  })();\n\n  // Support: IE<11, Safari<8, Chrome<36\n  (function checkWeakMap() {\n    if (globalThis.WeakMap) {\n      return;\n    }\n    globalThis.WeakMap = require(\"core-js/es/weak-map/index.js\");\n  })();\n\n  // Support: IE11\n  (function checkWeakSet() {\n    if (globalThis.WeakSet) {\n      return;\n    }\n    globalThis.WeakSet = require(\"core-js/es/weak-set/index.js\");\n  })();\n\n  // Provides support for String.codePointAt in legacy browsers.\n  // Support: IE11.\n  (function checkStringCodePointAt() {\n    if (String.prototype.codePointAt) {\n      return;\n    }\n    require(\"core-js/es/string/code-point-at.js\");\n  })();\n\n  // Provides support for String.fromCodePoint in legacy browsers.\n  // Support: IE11.\n  (function checkStringFromCodePoint() {\n    if (String.fromCodePoint) {\n      return;\n    }\n    String.fromCodePoint = require(\"core-js/es/string/from-code-point.js\");\n  })();\n\n  // Support: IE\n  (function checkSymbol() {\n    if (globalThis.Symbol) {\n      return;\n    }\n    require(\"core-js/es/symbol/index.js\");\n  })();\n\n  // Provides support for String.prototype.padStart in legacy browsers.\n  // Support: IE, Chrome<57\n  (function checkStringPadStart() {\n    if (String.prototype.padStart) {\n      return;\n    }\n    require(\"core-js/es/string/pad-start.js\");\n  })();\n\n  // Provides support for String.prototype.padEnd in legacy browsers.\n  // Support: IE, Chrome<57\n  (function checkStringPadEnd() {\n    if (String.prototype.padEnd) {\n      return;\n    }\n    require(\"core-js/es/string/pad-end.js\");\n  })();\n\n  // Provides support for Object.values in legacy browsers.\n  // Support: IE, Chrome<54\n  (function checkObjectValues() {\n    if (Object.values) {\n      return;\n    }\n    Object.values = require(\"core-js/es/object/values.js\");\n  })();\n}\n","require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n  globalThis: global\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*/\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","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 no-undef\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func\n  Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPrimitive(P, true);\n  if (IE8_DOM_DEFINE) try {\n    return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\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","// 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 fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.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\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/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 isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n  if (!isObject(input)) return input;\n  var fn, val;\n  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\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  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 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","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","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return nativeDefineProperty(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 isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n  if (!isObject(it)) {\n    throw TypeError(String(it) + ' is not an object');\n  } return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\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  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n    enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\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 typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n  try {\n    createNonEnumerableProperty(global, key, value);\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n  store.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\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 NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\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) {\n  var store = new WeakMap();\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return objectHas(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return objectHas(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 global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\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 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.6.4',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var has = require('../internals/has');\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 (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n","var getBuiltIn = require('../internals/get-built-in');\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\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 ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n  return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\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.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\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) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\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 = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\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.github.io/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\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 = toInteger(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\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","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\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    : typeof detection == 'function' ? 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","/* Copyright 2018 Mozilla Foundation\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/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://electronjs.org/docs/api/process#processversionselectron\nconst isNodeJS =\n  typeof process === \"object\" &&\n  process + \"\" === \"[object process]\" &&\n  !process.versions[\"nw\"] &&\n  !process.versions[\"electron\"];\n\nexport { isNodeJS };\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  startsWith: function startsWith(searchString /* , position = 0 */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n    var search = String(searchString);\n    return nativeStartsWith\n      ? nativeStartsWith.call(that, search, index)\n      : that.slice(index, index + search.length) === search;\n  }\n});\n","var isRegExp = require('../internals/is-regexp');\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 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.github.io/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 shared = require('../internals/shared');\nvar has = require('../internals/has');\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 createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!has(WellKnownSymbolsStore, name)) {\n    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  // Chrome 38 Symbol has incorrect toString conversion\n  // eslint-disable-next-line no-undef\n  return !String(Symbol());\n});\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n  // eslint-disable-next-line no-undef\n  && !Symbol.sham\n  // eslint-disable-next-line no-undef\n  && typeof Symbol.iterator == 'symbol';\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 (e) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (f) { /* empty */ }\n  } return false;\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n  return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","module.exports = function (it) {\n  if (typeof it != 'function') {\n    throw TypeError(String(it) + ' is not a function');\n  } return it;\n};\n","require('../../modules/es.string.ends-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'endsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n  var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n  return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n    var that = String(requireObjectCoercible(this));\n    notARegExp(searchString);\n    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n    var len = toLength(that.length);\n    var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n    var search = String(searchString);\n    return nativeEndsWith\n      ? nativeEndsWith.call(that, search, end)\n      : that.slice(end - search.length, end) === search;\n  }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~String(requireObjectCoercible(this))\n      .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\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.github.io/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","var 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    /* global ActiveXObject */\n    activeXDocument = document.domain && new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\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.github.io/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 objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\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++], Properties[key]);\n  return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\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 has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n  if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n  if (!options) options = {};\n  var method = [][METHOD_NAME];\n  var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n  var argument0 = has(options, 0) ? options[0] : thrower;\n  var argument1 = has(options, 1) ? options[1] : undefined;\n\n  return cache[METHOD_NAME] = !!method && !fails(function () {\n    if (ACCESSORS && !DESCRIPTORS) return true;\n    var O = { length: -1 };\n\n    if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n    else O[1] = 1;\n\n    method.call(O, argument0, argument1);\n  });\n};\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\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.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: String(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/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","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = String(requireObjectCoercible($this));\n    var position = toInteger(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = S.charCodeAt(position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING ? S.charAt(position) : first\n        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.github.io/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 $ = require('../internals/export');\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 IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\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 (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n          createNonEnumerableProperty(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#{values, @@iterator}.name in V8 / FF\n  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    INCORRECT_VALUES_NAME = true;\n    defaultIterator = function values() { return nativeIterator.call(this); };\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n  }\n  Iterators[NAME] = defaultIterator;\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  return methods;\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","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\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\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\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\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\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 ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectPrototype : null;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n    setter.call(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.call(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n  if (!isObject(it) && it !== null) {\n    throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n  } return it;\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  Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n  from: from\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var C = typeof this == 'function' ? this : Array;\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 index = 0;\n  var length, result, step, iterator, next, value;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n    iterator = iteratorMethod.call(O);\n    next = iterator.next;\n    result = new C();\n    for (;!(step = next.call(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 = toLength(O.length);\n    result = new C(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 anObject = require('../internals/an-object');\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  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (error) {\n    var returnMethod = iterator['return'];\n    if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n    throw error;\n  }\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","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPrimitive(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n","var classof = require('../internals/classof');\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 it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\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' && typeof O.callee == 'function' ? 'Arguments' : result;\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 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 no-throw-literal\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","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n  assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\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\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(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 no-undef\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\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 ? objectKeys(S).concat(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 || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : nativeAssign;\n","require('../../modules/es.math.log2');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.log2;\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n  log2: function log2(x) {\n    return log(x) / LN2;\n  }\n});\n","require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n  isNaN: function isNaN(number) {\n    // eslint-disable-next-line no-self-compare\n    return number != number;\n  }\n});\n","require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n  isInteger: isInteger\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\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.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  redefine(Object.prototype, 'toString', toString, { unsafe: true });\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.github.io/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 DOMIterables = require('../internals/dom-iterables');\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\nfor (var COLLECTION_NAME in DOMIterables) {\n  var Collection = global[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\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","// 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","'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.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/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.github.io/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.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\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 NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\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 V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n  if (!GLOBAL_CORE_JS_PROMISE) {\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 (V8_VERSION === 66) return true;\n    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n    if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n  }\n  // We need Promise#finally in the pure version for preventing prototype pollution\n  if (IS_PURE && !PromiseConstructor.prototype['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(PromiseConstructor)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = PromiseConstructor.resolve(1);\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\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) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, 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(promise, 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            then.call(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(promise, 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 (handler = global['on' + name]) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n  task.call(global, function () {\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 (promise, state) {\n  task.call(global, function () {\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n  return function (value) {\n    fn(promise, state, value, unwrap);\n  };\n};\n\nvar internalReject = function (promise, 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(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (promise === 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          then.call(value,\n            bind(internalResolve, promise, wrapper, state),\n            bind(internalReject, promise, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(promise, wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(promise, state, false);\n    }\n  } catch (error) {\n    internalReject(promise, { 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, PromiseConstructor, PROMISE);\n    aFunction(executor);\n    Internal.call(this);\n    var state = getInternalState(this);\n    try {\n      executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n    } catch (error) {\n      internalReject(this, state, error);\n    }\n  };\n  // eslint-disable-next-line no-unused-vars\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(PromiseConstructor.prototype, {\n    // `Promise.prototype.then` method\n    // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n    then: function then(onFulfilled, onRejected) {\n      var state = getInternalPromiseState(this);\n      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n      reaction.fail = typeof onRejected == 'function' && onRejected;\n      reaction.domain = IS_NODE ? process.domain : undefined;\n      state.parent = true;\n      state.reactions.push(reaction);\n      if (state.state != PENDING) notify(this, state, false);\n      return reaction.promise;\n    },\n    // `Promise.prototype.catch` method\n    // https://tc39.github.io/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, promise, state);\n    this.reject = bind(internalReject, promise, 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 && typeof NativePromise == 'function') {\n    nativeThen = NativePromise.prototype.then;\n\n    // wrap native Promise#then for native async functions\n    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n      var that = this;\n      return new PromiseConstructor(function (resolve, reject) {\n        nativeThen.call(that, resolve, reject);\n      }).then(onFulfilled, onRejected);\n    // https://github.com/zloirock/core-js/issues/640\n    }, { unsafe: true });\n\n    // wrap fetch result\n    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n      // eslint-disable-next-line no-unused-vars\n      fetch: function fetch(input /* , init */) {\n        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n      }\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.github.io/ecma262/#sec-promise.reject\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    capability.reject.call(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.github.io/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.github.io/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 = aFunction(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        values.push(undefined);\n        remaining++;\n        $promiseResolve.call(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.github.io/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 = aFunction(C.resolve);\n      iterate(iterable, function (promise) {\n        $promiseResolve.call(C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\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","'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","module.exports = function (it, Constructor, name) {\n  if (!(it instanceof Constructor)) {\n    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n  } return it;\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n  var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n  var iterator, iterFn, index, length, result, next, step;\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = toLength(iterable.length); length > index; index++) {\n        result = AS_ENTRIES\n          ? boundFunction(anObject(step = iterable[index])[0], step[1])\n          : boundFunction(iterable[index]);\n        if (result && result instanceof Result) return result;\n      } return new Result(false);\n    }\n    iterator = iterFn.call(iterable);\n  }\n\n  next = iterator.next;\n  while (!(step = next.call(iterator)).done) {\n    result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n    if (typeof result == 'object' && result && result instanceof Result) return result;\n  } return new Result(false);\n};\n\niterate.stop = function (result) {\n  return new Result(true, result);\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/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 : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n  // eslint-disable-next-line no-prototype-builtins\n  if (queue.hasOwnProperty(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(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 = [];\n    var i = 1;\n    while (arguments.length > i) args.push(arguments[i++]);\n    queue[++counter] = function () {\n      // eslint-disable-next-line no-new-func\n      (typeof fn == 'function' ? fn : Function(fn)).apply(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 (classof(process) == 'process') {\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, 1);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\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  // Node.js\n  if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  } else if (MutationObserver && !IS_IOS) {\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 (Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    then = promise.then;\n    notify = function () {\n      then.call(promise, flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    notify = function () {\n      // strange IE + webpack dev server bug - use .call(global)\n      macrotask.call(global, 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 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","'use strict';\nvar aFunction = require('../internals/a-function');\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 = aFunction(resolve);\n  this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\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","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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  version = match[0] + match[1];\n} else if (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 && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-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 = aFunction(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        values.push(undefined);\n        remaining++;\n        promiseResolve.call(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 (e) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = { status: 'rejected', reason: e };\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 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 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.github.io/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 = typeof onFinally == 'function';\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// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n  redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","require('../modules/web.url');\nrequire('../modules/web.url.to-json');\nrequire('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URL;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n  var result, codePoints, index;\n  if (input.charAt(0) == '[') {\n    if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n    result = parseIPv6(input.slice(1, -1));\n    if (!result) return INVALID_HOST;\n    url.host = result;\n  // opaque host\n  } else if (!isSpecial(url)) {\n    if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n    result = '';\n    codePoints = arrayFrom(input);\n    for (index = 0; index < codePoints.length; index++) {\n      result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n    }\n    url.host = result;\n  } else {\n    input = toASCII(input);\n    if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n    result = parseIPv4(input);\n    if (result === null) return INVALID_HOST;\n    url.host = result;\n  }\n};\n\nvar parseIPv4 = function (input) {\n  var parts = input.split('.');\n  var partsLength, numbers, index, part, radix, number, ipv4;\n  if (parts.length && parts[parts.length - 1] == '') {\n    parts.pop();\n  }\n  partsLength = parts.length;\n  if (partsLength > 4) return input;\n  numbers = [];\n  for (index = 0; index < partsLength; index++) {\n    part = parts[index];\n    if (part == '') return input;\n    radix = 10;\n    if (part.length > 1 && part.charAt(0) == '0') {\n      radix = HEX_START.test(part) ? 16 : 8;\n      part = part.slice(radix == 8 ? 1 : 2);\n    }\n    if (part === '') {\n      number = 0;\n    } else {\n      if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n      number = parseInt(part, radix);\n    }\n    numbers.push(number);\n  }\n  for (index = 0; index < partsLength; index++) {\n    number = numbers[index];\n    if (index == partsLength - 1) {\n      if (number >= pow(256, 5 - partsLength)) return null;\n    } else if (number > 255) return null;\n  }\n  ipv4 = numbers.pop();\n  for (index = 0; index < numbers.length; index++) {\n    ipv4 += numbers[index] * pow(256, 3 - index);\n  }\n  return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n  var address = [0, 0, 0, 0, 0, 0, 0, 0];\n  var pieceIndex = 0;\n  var compress = null;\n  var pointer = 0;\n  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n  var char = function () {\n    return input.charAt(pointer);\n  };\n\n  if (char() == ':') {\n    if (input.charAt(1) != ':') return;\n    pointer += 2;\n    pieceIndex++;\n    compress = pieceIndex;\n  }\n  while (char()) {\n    if (pieceIndex == 8) return;\n    if (char() == ':') {\n      if (compress !== null) return;\n      pointer++;\n      pieceIndex++;\n      compress = pieceIndex;\n      continue;\n    }\n    value = length = 0;\n    while (length < 4 && HEX.test(char())) {\n      value = value * 16 + parseInt(char(), 16);\n      pointer++;\n      length++;\n    }\n    if (char() == '.') {\n      if (length == 0) return;\n      pointer -= length;\n      if (pieceIndex > 6) return;\n      numbersSeen = 0;\n      while (char()) {\n        ipv4Piece = null;\n        if (numbersSeen > 0) {\n          if (char() == '.' && numbersSeen < 4) pointer++;\n          else return;\n        }\n        if (!DIGIT.test(char())) return;\n        while (DIGIT.test(char())) {\n          number = parseInt(char(), 10);\n          if (ipv4Piece === null) ipv4Piece = number;\n          else if (ipv4Piece == 0) return;\n          else ipv4Piece = ipv4Piece * 10 + number;\n          if (ipv4Piece > 255) return;\n          pointer++;\n        }\n        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n        numbersSeen++;\n        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n      }\n      if (numbersSeen != 4) return;\n      break;\n    } else if (char() == ':') {\n      pointer++;\n      if (!char()) return;\n    } else if (char()) return;\n    address[pieceIndex++] = value;\n  }\n  if (compress !== null) {\n    swaps = pieceIndex - compress;\n    pieceIndex = 7;\n    while (pieceIndex != 0 && swaps > 0) {\n      swap = address[pieceIndex];\n      address[pieceIndex--] = address[compress + swaps - 1];\n      address[compress + --swaps] = swap;\n    }\n  } else if (pieceIndex != 8) return;\n  return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n  var maxIndex = null;\n  var maxLength = 1;\n  var currStart = null;\n  var currLength = 0;\n  var index = 0;\n  for (; index < 8; index++) {\n    if (ipv6[index] !== 0) {\n      if (currLength > maxLength) {\n        maxIndex = currStart;\n        maxLength = currLength;\n      }\n      currStart = null;\n      currLength = 0;\n    } else {\n      if (currStart === null) currStart = index;\n      ++currLength;\n    }\n  }\n  if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n  }\n  return maxIndex;\n};\n\nvar serializeHost = function (host) {\n  var result, index, compress, ignore0;\n  // ipv4\n  if (typeof host == 'number') {\n    result = [];\n    for (index = 0; index < 4; index++) {\n      result.unshift(host % 256);\n      host = floor(host / 256);\n    } return result.join('.');\n  // ipv6\n  } else if (typeof host == 'object') {\n    result = '';\n    compress = findLongestZeroSequence(host);\n    for (index = 0; index < 8; index++) {\n      if (ignore0 && host[index] === 0) continue;\n      if (ignore0) ignore0 = false;\n      if (compress === index) {\n        result += index ? ':' : '::';\n        ignore0 = true;\n      } else {\n        result += host[index].toString(16);\n        if (index < 7) result += ':';\n      }\n    }\n    return '[' + result + ']';\n  } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n  ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n  '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n  var code = codeAt(char, 0);\n  return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n  ftp: 21,\n  file: null,\n  http: 80,\n  https: 443,\n  ws: 80,\n  wss: 443\n};\n\nvar isSpecial = function (url) {\n  return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n  return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n  return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n  var second;\n  return string.length == 2 && ALPHA.test(string.charAt(0))\n    && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n  var third;\n  return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n    string.length == 2 ||\n    ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n  );\n};\n\nvar shortenURLsPath = function (url) {\n  var path = url.path;\n  var pathSize = path.length;\n  if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n    path.pop();\n  }\n};\n\nvar isSingleDot = function (segment) {\n  return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n  segment = segment.toLowerCase();\n  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n  var state = stateOverride || SCHEME_START;\n  var pointer = 0;\n  var buffer = '';\n  var seenAt = false;\n  var seenBracket = false;\n  var seenPasswordToken = false;\n  var codePoints, char, bufferCodePoints, failure;\n\n  if (!stateOverride) {\n    url.scheme = '';\n    url.username = '';\n    url.password = '';\n    url.host = null;\n    url.port = null;\n    url.path = [];\n    url.query = null;\n    url.fragment = null;\n    url.cannotBeABaseURL = false;\n    input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n  }\n\n  input = input.replace(TAB_AND_NEW_LINE, '');\n\n  codePoints = arrayFrom(input);\n\n  while (pointer <= codePoints.length) {\n    char = codePoints[pointer];\n    switch (state) {\n      case SCHEME_START:\n        if (char && ALPHA.test(char)) {\n          buffer += char.toLowerCase();\n          state = SCHEME;\n        } else if (!stateOverride) {\n          state = NO_SCHEME;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case SCHEME:\n        if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n          buffer += char.toLowerCase();\n        } else if (char == ':') {\n          if (stateOverride && (\n            (isSpecial(url) != has(specialSchemes, buffer)) ||\n            (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n            (url.scheme == 'file' && !url.host)\n          )) return;\n          url.scheme = buffer;\n          if (stateOverride) {\n            if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n            return;\n          }\n          buffer = '';\n          if (url.scheme == 'file') {\n            state = FILE;\n          } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n            state = SPECIAL_RELATIVE_OR_AUTHORITY;\n          } else if (isSpecial(url)) {\n            state = SPECIAL_AUTHORITY_SLASHES;\n          } else if (codePoints[pointer + 1] == '/') {\n            state = PATH_OR_AUTHORITY;\n            pointer++;\n          } else {\n            url.cannotBeABaseURL = true;\n            url.path.push('');\n            state = CANNOT_BE_A_BASE_URL_PATH;\n          }\n        } else if (!stateOverride) {\n          buffer = '';\n          state = NO_SCHEME;\n          pointer = 0;\n          continue;\n        } else return INVALID_SCHEME;\n        break;\n\n      case NO_SCHEME:\n        if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n        if (base.cannotBeABaseURL && char == '#') {\n          url.scheme = base.scheme;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          url.cannotBeABaseURL = true;\n          state = FRAGMENT;\n          break;\n        }\n        state = base.scheme == 'file' ? FILE : RELATIVE;\n        continue;\n\n      case SPECIAL_RELATIVE_OR_AUTHORITY:\n        if (char == '/' && codePoints[pointer + 1] == '/') {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n          pointer++;\n        } else {\n          state = RELATIVE;\n          continue;\n        } break;\n\n      case PATH_OR_AUTHORITY:\n        if (char == '/') {\n          state = AUTHORITY;\n          break;\n        } else {\n          state = PATH;\n          continue;\n        }\n\n      case RELATIVE:\n        url.scheme = base.scheme;\n        if (char == EOF) {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n        } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n          state = RELATIVE_SLASH;\n        } else if (char == '?') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.query = base.query;\n          url.fragment = '';\n          state = FRAGMENT;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          url.path = base.path.slice();\n          url.path.pop();\n          state = PATH;\n          continue;\n        } break;\n\n      case RELATIVE_SLASH:\n        if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        } else if (char == '/') {\n          state = AUTHORITY;\n        } else {\n          url.username = base.username;\n          url.password = base.password;\n          url.host = base.host;\n          url.port = base.port;\n          state = PATH;\n          continue;\n        } break;\n\n      case SPECIAL_AUTHORITY_SLASHES:\n        state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n        if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n        pointer++;\n        break;\n\n      case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n        if (char != '/' && char != '\\\\') {\n          state = AUTHORITY;\n          continue;\n        } break;\n\n      case AUTHORITY:\n        if (char == '@') {\n          if (seenAt) buffer = '%40' + buffer;\n          seenAt = true;\n          bufferCodePoints = arrayFrom(buffer);\n          for (var i = 0; i < bufferCodePoints.length; i++) {\n            var codePoint = bufferCodePoints[i];\n            if (codePoint == ':' && !seenPasswordToken) {\n              seenPasswordToken = true;\n              continue;\n            }\n            var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n            if (seenPasswordToken) url.password += encodedCodePoints;\n            else url.username += encodedCodePoints;\n          }\n          buffer = '';\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (seenAt && buffer == '') return INVALID_AUTHORITY;\n          pointer -= arrayFrom(buffer).length + 1;\n          buffer = '';\n          state = HOST;\n        } else buffer += char;\n        break;\n\n      case HOST:\n      case HOSTNAME:\n        if (stateOverride && url.scheme == 'file') {\n          state = FILE_HOST;\n          continue;\n        } else if (char == ':' && !seenBracket) {\n          if (buffer == '') return INVALID_HOST;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PORT;\n          if (stateOverride == HOSTNAME) return;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url))\n        ) {\n          if (isSpecial(url) && buffer == '') return INVALID_HOST;\n          if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n          failure = parseHost(url, buffer);\n          if (failure) return failure;\n          buffer = '';\n          state = PATH_START;\n          if (stateOverride) return;\n          continue;\n        } else {\n          if (char == '[') seenBracket = true;\n          else if (char == ']') seenBracket = false;\n          buffer += char;\n        } break;\n\n      case PORT:\n        if (DIGIT.test(char)) {\n          buffer += char;\n        } else if (\n          char == EOF || char == '/' || char == '?' || char == '#' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          stateOverride\n        ) {\n          if (buffer != '') {\n            var port = parseInt(buffer, 10);\n            if (port > 0xFFFF) return INVALID_PORT;\n            url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n            buffer = '';\n          }\n          if (stateOverride) return;\n          state = PATH_START;\n          continue;\n        } else return INVALID_PORT;\n        break;\n\n      case FILE:\n        url.scheme = 'file';\n        if (char == '/' || char == '\\\\') state = FILE_SLASH;\n        else if (base && base.scheme == 'file') {\n          if (char == EOF) {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n          } else if (char == '?') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.host = base.host;\n            url.path = base.path.slice();\n            url.query = base.query;\n            url.fragment = '';\n            state = FRAGMENT;\n          } else {\n            if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n              url.host = base.host;\n              url.path = base.path.slice();\n              shortenURLsPath(url);\n            }\n            state = PATH;\n            continue;\n          }\n        } else {\n          state = PATH;\n          continue;\n        } break;\n\n      case FILE_SLASH:\n        if (char == '/' || char == '\\\\') {\n          state = FILE_HOST;\n          break;\n        }\n        if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n          if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n          else url.host = base.host;\n        }\n        state = PATH;\n        continue;\n\n      case FILE_HOST:\n        if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n          if (!stateOverride && isWindowsDriveLetter(buffer)) {\n            state = PATH;\n          } else if (buffer == '') {\n            url.host = '';\n            if (stateOverride) return;\n            state = PATH_START;\n          } else {\n            failure = parseHost(url, buffer);\n            if (failure) return failure;\n            if (url.host == 'localhost') url.host = '';\n            if (stateOverride) return;\n            buffer = '';\n            state = PATH_START;\n          } continue;\n        } else buffer += char;\n        break;\n\n      case PATH_START:\n        if (isSpecial(url)) {\n          state = PATH;\n          if (char != '/' && char != '\\\\') continue;\n        } else if (!stateOverride && char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          state = PATH;\n          if (char != '/') continue;\n        } break;\n\n      case PATH:\n        if (\n          char == EOF || char == '/' ||\n          (char == '\\\\' && isSpecial(url)) ||\n          (!stateOverride && (char == '?' || char == '#'))\n        ) {\n          if (isDoubleDot(buffer)) {\n            shortenURLsPath(url);\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else if (isSingleDot(buffer)) {\n            if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n              url.path.push('');\n            }\n          } else {\n            if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n              if (url.host) url.host = '';\n              buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n            }\n            url.path.push(buffer);\n          }\n          buffer = '';\n          if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n            while (url.path.length > 1 && url.path[0] === '') {\n              url.path.shift();\n            }\n          }\n          if (char == '?') {\n            url.query = '';\n            state = QUERY;\n          } else if (char == '#') {\n            url.fragment = '';\n            state = FRAGMENT;\n          }\n        } else {\n          buffer += percentEncode(char, pathPercentEncodeSet);\n        } break;\n\n      case CANNOT_BE_A_BASE_URL_PATH:\n        if (char == '?') {\n          url.query = '';\n          state = QUERY;\n        } else if (char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case QUERY:\n        if (!stateOverride && char == '#') {\n          url.fragment = '';\n          state = FRAGMENT;\n        } else if (char != EOF) {\n          if (char == \"'\" && isSpecial(url)) url.query += '%27';\n          else if (char == '#') url.query += '%23';\n          else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n        } break;\n\n      case FRAGMENT:\n        if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n        break;\n    }\n\n    pointer++;\n  }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n  var that = anInstance(this, URLConstructor, 'URL');\n  var base = arguments.length > 1 ? arguments[1] : undefined;\n  var urlString = String(url);\n  var state = setInternalState(that, { type: 'URL' });\n  var baseState, failure;\n  if (base !== undefined) {\n    if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n    else {\n      failure = parseURL(baseState = {}, String(base));\n      if (failure) throw TypeError(failure);\n    }\n  }\n  failure = parseURL(state, urlString, null, baseState);\n  if (failure) throw TypeError(failure);\n  var searchParams = state.searchParams = new URLSearchParams();\n  var searchParamsState = getInternalSearchParamsState(searchParams);\n  searchParamsState.updateSearchParams(state.query);\n  searchParamsState.updateURL = function () {\n    state.query = String(searchParams) || null;\n  };\n  if (!DESCRIPTORS) {\n    that.href = serializeURL.call(that);\n    that.origin = getOrigin.call(that);\n    that.protocol = getProtocol.call(that);\n    that.username = getUsername.call(that);\n    that.password = getPassword.call(that);\n    that.host = getHost.call(that);\n    that.hostname = getHostname.call(that);\n    that.port = getPort.call(that);\n    that.pathname = getPathname.call(that);\n    that.search = getSearch.call(that);\n    that.searchParams = getSearchParams.call(that);\n    that.hash = getHash.call(that);\n  }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var username = url.username;\n  var password = url.password;\n  var host = url.host;\n  var port = url.port;\n  var path = url.path;\n  var query = url.query;\n  var fragment = url.fragment;\n  var output = scheme + ':';\n  if (host !== null) {\n    output += '//';\n    if (includesCredentials(url)) {\n      output += username + (password ? ':' + password : '') + '@';\n    }\n    output += serializeHost(host);\n    if (port !== null) output += ':' + port;\n  } else if (scheme == 'file') output += '//';\n  output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n  if (query !== null) output += '?' + query;\n  if (fragment !== null) output += '#' + fragment;\n  return output;\n};\n\nvar getOrigin = function () {\n  var url = getInternalURLState(this);\n  var scheme = url.scheme;\n  var port = url.port;\n  if (scheme == 'blob') try {\n    return new URL(scheme.path[0]).origin;\n  } catch (error) {\n    return 'null';\n  }\n  if (scheme == 'file' || !isSpecial(url)) return 'null';\n  return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n  return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n  return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n  return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n  var url = getInternalURLState(this);\n  var host = url.host;\n  var port = url.port;\n  return host === null ? ''\n    : port === null ? serializeHost(host)\n    : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n  var host = getInternalURLState(this).host;\n  return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n  var port = getInternalURLState(this).port;\n  return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n  var url = getInternalURLState(this);\n  var path = url.path;\n  return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n  var query = getInternalURLState(this).query;\n  return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n  return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n  var fragment = getInternalURLState(this).fragment;\n  return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n  return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n  defineProperties(URLPrototype, {\n    // `URL.prototype.href` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-href\n    href: accessorDescriptor(serializeURL, function (href) {\n      var url = getInternalURLState(this);\n      var urlString = String(href);\n      var failure = parseURL(url, urlString);\n      if (failure) throw TypeError(failure);\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.origin` getter\n    // https://url.spec.whatwg.org/#dom-url-origin\n    origin: accessorDescriptor(getOrigin),\n    // `URL.prototype.protocol` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-protocol\n    protocol: accessorDescriptor(getProtocol, function (protocol) {\n      var url = getInternalURLState(this);\n      parseURL(url, String(protocol) + ':', SCHEME_START);\n    }),\n    // `URL.prototype.username` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-username\n    username: accessorDescriptor(getUsername, function (username) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(username));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.username = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.password` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-password\n    password: accessorDescriptor(getPassword, function (password) {\n      var url = getInternalURLState(this);\n      var codePoints = arrayFrom(String(password));\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      url.password = '';\n      for (var i = 0; i < codePoints.length; i++) {\n        url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n      }\n    }),\n    // `URL.prototype.host` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-host\n    host: accessorDescriptor(getHost, function (host) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(host), HOST);\n    }),\n    // `URL.prototype.hostname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hostname\n    hostname: accessorDescriptor(getHostname, function (hostname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      parseURL(url, String(hostname), HOSTNAME);\n    }),\n    // `URL.prototype.port` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-port\n    port: accessorDescriptor(getPort, function (port) {\n      var url = getInternalURLState(this);\n      if (cannotHaveUsernamePasswordPort(url)) return;\n      port = String(port);\n      if (port == '') url.port = null;\n      else parseURL(url, port, PORT);\n    }),\n    // `URL.prototype.pathname` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-pathname\n    pathname: accessorDescriptor(getPathname, function (pathname) {\n      var url = getInternalURLState(this);\n      if (url.cannotBeABaseURL) return;\n      url.path = [];\n      parseURL(url, pathname + '', PATH_START);\n    }),\n    // `URL.prototype.search` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-search\n    search: accessorDescriptor(getSearch, function (search) {\n      var url = getInternalURLState(this);\n      search = String(search);\n      if (search == '') {\n        url.query = null;\n      } else {\n        if ('?' == search.charAt(0)) search = search.slice(1);\n        url.query = '';\n        parseURL(url, search, QUERY);\n      }\n      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n    }),\n    // `URL.prototype.searchParams` getter\n    // https://url.spec.whatwg.org/#dom-url-searchparams\n    searchParams: accessorDescriptor(getSearchParams),\n    // `URL.prototype.hash` accessors pair\n    // https://url.spec.whatwg.org/#dom-url-hash\n    hash: accessorDescriptor(getHash, function (hash) {\n      var url = getInternalURLState(this);\n      hash = String(hash);\n      if (hash == '') {\n        url.fragment = null;\n        return;\n      }\n      if ('#' == hash.charAt(0)) hash = hash.slice(1);\n      url.fragment = '';\n      parseURL(url, hash, FRAGMENT);\n    })\n  });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n  return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n  var nativeCreateObjectURL = NativeURL.createObjectURL;\n  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n  // `URL.createObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n    return nativeCreateObjectURL.apply(NativeURL, arguments);\n  });\n  // `URL.revokeObjectURL` method\n  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n  // eslint-disable-next-line no-unused-vars\n  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n    return nativeRevokeObjectURL.apply(NativeURL, arguments);\n  });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n  URL: URLConstructor\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n  var url = new URL('b?a=1&b=2&c=3', 'http://a');\n  var searchParams = url.searchParams;\n  var result = '';\n  url.pathname = 'c%20d';\n  searchParams.forEach(function (value, key) {\n    searchParams['delete']('b');\n    result += key + value;\n  });\n  return (IS_PURE && !url.toJSON)\n    || !searchParams.sort\n    || url.href !== 'http://a/c%20d?a=1&c=3'\n    || searchParams.get('c') !== '3'\n    || String(new URLSearchParams('?a=1')) !== 'a=1'\n    || !searchParams[ITERATOR]\n    // throws in Edge\n    || new URL('https://a@b').username !== 'a'\n    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n    // not punycoded in Edge\n    || new URL('http://тест').host !== 'xn--e1aybc'\n    // not escaped in Chrome 62-\n    || new URL('http://a#б').hash !== '#%D0%B1'\n    // fails in Chrome 66-\n    || result !== 'a1c3'\n    // throws in Safari\n    || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n  var output = [];\n  var counter = 0;\n  var length = string.length;\n  while (counter < length) {\n    var value = string.charCodeAt(counter++);\n    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n      // It's a high surrogate, and there is a next character.\n      var extra = string.charCodeAt(counter++);\n      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n      } else {\n        // It's an unmatched surrogate; only append this code unit, in case the\n        // next code unit is the high surrogate of a surrogate pair.\n        output.push(value);\n        counter--;\n      }\n    } else {\n      output.push(value);\n    }\n  }\n  return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n  //  0..25 map to ASCII a..z or A..Z\n  // 26..35 map to ASCII 0..9\n  return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n  var k = 0;\n  delta = firstTime ? floor(delta / damp) : delta >> 1;\n  delta += floor(delta / numPoints);\n  for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n    delta = floor(delta / baseMinusTMin);\n  }\n  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line  max-statements\nvar encode = function (input) {\n  var output = [];\n\n  // Convert the input in UCS-2 to an array of Unicode code points.\n  input = ucs2decode(input);\n\n  // Cache the length.\n  var inputLength = input.length;\n\n  // Initialize the state.\n  var n = initialN;\n  var delta = 0;\n  var bias = initialBias;\n  var i, currentValue;\n\n  // Handle the basic code points.\n  for (i = 0; i < input.length; i++) {\n    currentValue = input[i];\n    if (currentValue < 0x80) {\n      output.push(stringFromCharCode(currentValue));\n    }\n  }\n\n  var basicLength = output.length; // number of basic code points.\n  var handledCPCount = basicLength; // number of code points that have been handled;\n\n  // Finish the basic string with a delimiter unless it's empty.\n  if (basicLength) {\n    output.push(delimiter);\n  }\n\n  // Main encoding loop:\n  while (handledCPCount < inputLength) {\n    // All non-basic code points < n have been handled already. Find the next larger one:\n    var m = maxInt;\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue >= n && currentValue < m) {\n        m = currentValue;\n      }\n    }\n\n    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n    var handledCPCountPlusOne = handledCPCount + 1;\n    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n      throw RangeError(OVERFLOW_ERROR);\n    }\n\n    delta += (m - n) * handledCPCountPlusOne;\n    n = m;\n\n    for (i = 0; i < input.length; i++) {\n      currentValue = input[i];\n      if (currentValue < n && ++delta > maxInt) {\n        throw RangeError(OVERFLOW_ERROR);\n      }\n      if (currentValue == n) {\n        // Represent delta as a generalized variable-length integer.\n        var q = delta;\n        for (var k = base; /* no condition */; k += base) {\n          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n          if (q < t) break;\n          var qMinusT = q - t;\n          var baseMinusT = base - t;\n          output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n          q = floor(qMinusT / baseMinusT);\n        }\n\n        output.push(stringFromCharCode(digitToBasic(q)));\n        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n        delta = 0;\n        ++handledCPCount;\n      }\n    }\n\n    ++delta;\n    ++n;\n  }\n  return output.join('');\n};\n\nmodule.exports = function (input) {\n  var encoded = [];\n  var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n  var i, label;\n  for (i = 0; i < labels.length; i++) {\n    label = labels[i];\n    encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n  }\n  return encoded.join('.');\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n  try {\n    return decodeURIComponent(sequence);\n  } catch (error) {\n    return sequence;\n  }\n};\n\nvar deserialize = function (it) {\n  var result = it.replace(plus, ' ');\n  var bytes = 4;\n  try {\n    return decodeURIComponent(result);\n  } catch (error) {\n    while (bytes) {\n      result = result.replace(percentSequence(bytes--), percentDecode);\n    }\n    return result;\n  }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n  '!': '%21',\n  \"'\": '%27',\n  '(': '%28',\n  ')': '%29',\n  '~': '%7E',\n  '%20': '+'\n};\n\nvar replacer = function (match) {\n  return replace[match];\n};\n\nvar serialize = function (it) {\n  return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n  if (query) {\n    var attributes = query.split('&');\n    var index = 0;\n    var attribute, entry;\n    while (index < attributes.length) {\n      attribute = attributes[index++];\n      if (attribute.length) {\n        entry = attribute.split('=');\n        result.push({\n          key: deserialize(entry.shift()),\n          value: deserialize(entry.join('='))\n        });\n      }\n    }\n  }\n};\n\nvar updateSearchParams = function (query) {\n  this.entries.length = 0;\n  parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n  if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n  setInternalState(this, {\n    type: URL_SEARCH_PARAMS_ITERATOR,\n    iterator: getIterator(getInternalParamsState(params).entries),\n    kind: kind\n  });\n}, 'Iterator', function next() {\n  var state = getInternalIteratorState(this);\n  var kind = state.kind;\n  var step = state.iterator.next();\n  var entry = step.value;\n  if (!step.done) {\n    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n  } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n  anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n  var init = arguments.length > 0 ? arguments[0] : undefined;\n  var that = this;\n  var entries = [];\n  var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n  setInternalState(that, {\n    type: URL_SEARCH_PARAMS,\n    entries: entries,\n    updateURL: function () { /* empty */ },\n    updateSearchParams: updateSearchParams\n  });\n\n  if (init !== undefined) {\n    if (isObject(init)) {\n      iteratorMethod = getIteratorMethod(init);\n      if (typeof iteratorMethod === 'function') {\n        iterator = iteratorMethod.call(init);\n        next = iterator.next;\n        while (!(step = next.call(iterator)).done) {\n          entryIterator = getIterator(anObject(step.value));\n          entryNext = entryIterator.next;\n          if (\n            (first = entryNext.call(entryIterator)).done ||\n            (second = entryNext.call(entryIterator)).done ||\n            !entryNext.call(entryIterator).done\n          ) throw TypeError('Expected sequence with length 2');\n          entries.push({ key: first.value + '', value: second.value + '' });\n        }\n      } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n    } else {\n      parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n    }\n  }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n  // `URLSearchParams.prototype.appent` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n  append: function append(name, value) {\n    validateArgumentsLength(arguments.length, 2);\n    var state = getInternalParamsState(this);\n    state.entries.push({ key: name + '', value: value + '' });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.delete` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n  'delete': function (name) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index].key === key) entries.splice(index, 1);\n      else index++;\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.get` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n  get: function get(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) return entries[index].value;\n    }\n    return null;\n  },\n  // `URLSearchParams.prototype.getAll` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n  getAll: function getAll(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var result = [];\n    var index = 0;\n    for (; index < entries.length; index++) {\n      if (entries[index].key === key) result.push(entries[index].value);\n    }\n    return result;\n  },\n  // `URLSearchParams.prototype.has` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n  has: function has(name) {\n    validateArgumentsLength(arguments.length, 1);\n    var entries = getInternalParamsState(this).entries;\n    var key = name + '';\n    var index = 0;\n    while (index < entries.length) {\n      if (entries[index++].key === key) return true;\n    }\n    return false;\n  },\n  // `URLSearchParams.prototype.set` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n  set: function set(name, value) {\n    validateArgumentsLength(arguments.length, 1);\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    var found = false;\n    var key = name + '';\n    var val = value + '';\n    var index = 0;\n    var entry;\n    for (; index < entries.length; index++) {\n      entry = entries[index];\n      if (entry.key === key) {\n        if (found) entries.splice(index--, 1);\n        else {\n          found = true;\n          entry.value = val;\n        }\n      }\n    }\n    if (!found) entries.push({ key: key, value: val });\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.sort` method\n  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n  sort: function sort() {\n    var state = getInternalParamsState(this);\n    var entries = state.entries;\n    // Array#sort is not stable in some engines\n    var slice = entries.slice();\n    var entry, entriesIndex, sliceIndex;\n    entries.length = 0;\n    for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n      entry = slice[sliceIndex];\n      for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n        if (entries[entriesIndex].key > entry.key) {\n          entries.splice(entriesIndex, 0, entry);\n          break;\n        }\n      }\n      if (entriesIndex === sliceIndex) entries.push(entry);\n    }\n    state.updateURL();\n  },\n  // `URLSearchParams.prototype.forEach` method\n  forEach: function forEach(callback /* , thisArg */) {\n    var entries = getInternalParamsState(this).entries;\n    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n    var index = 0;\n    var entry;\n    while (index < entries.length) {\n      entry = entries[index++];\n      boundFunction(entry.value, entry.key, this);\n    }\n  },\n  // `URLSearchParams.prototype.keys` method\n  keys: function keys() {\n    return new URLSearchParamsIterator(this, 'keys');\n  },\n  // `URLSearchParams.prototype.values` method\n  values: function values() {\n    return new URLSearchParamsIterator(this, 'values');\n  },\n  // `URLSearchParams.prototype.entries` method\n  entries: function entries() {\n    return new URLSearchParamsIterator(this, 'entries');\n  }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n  var entries = getInternalParamsState(this).entries;\n  var result = [];\n  var index = 0;\n  var entry;\n  while (index < entries.length) {\n    entry = entries[index++];\n    result.push(serialize(entry.key) + '=' + serialize(entry.value));\n  } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n  URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n  $({ global: true, enumerable: true, forced: true }, {\n    fetch: function fetch(input /* , init */) {\n      var args = [input];\n      var init, body, headers;\n      if (arguments.length > 1) {\n        init = arguments[1];\n        if (isObject(init)) {\n          body = init.body;\n          if (classof(body) === URL_SEARCH_PARAMS) {\n            headers = init.headers ? new Headers(init.headers) : new Headers();\n            if (!headers.has('content-type')) {\n              headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n            }\n            init = create(init, {\n              body: createPropertyDescriptor(0, String(body)),\n              headers: createPropertyDescriptor(0, headers)\n            });\n          }\n        }\n        args.push(init);\n      } return $fetch.apply(this, args);\n    }\n  });\n}\n\nmodule.exports = {\n  URLSearchParams: URLSearchParamsConstructor,\n  getState: getInternalParamsState\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n  var iteratorMethod = getIteratorMethod(it);\n  if (typeof iteratorMethod != 'function') {\n    throw TypeError(String(it) + ' is not iterable');\n  } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar $ = require('../internals/export');\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 URL.prototype.toString.call(this);\n  }\n});\n","/**\n * web-streams-polyfill v2.1.0\n */\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (global = global || self, factory(global.WebStreamsPolyfill = {}));\n}(this, (function (exports) { 'use strict';\n\n  /// <reference lib=\"es2015.symbol\" />\r\n  var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\r\n      Symbol :\r\n      function (description) { return \"Symbol(\" + description + \")\"; };\n\n  /// <reference lib=\"dom\" />\r\n  function noop() {\r\n      // do nothing\r\n  }\n\n  /// <reference lib=\"es2015.core\" />\r\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\r\n  var NumberIsNaN = Number.isNaN || function (x) {\r\n      // eslint-disable-next-line no-self-compare\r\n      return x !== x;\r\n  };\n\n  var rethrowAssertionErrorRejection =  noop;\n\n  function typeIsObject(x) {\r\n      return (typeof x === 'object' && x !== null) || typeof x === 'function';\r\n  }\r\n  function createArrayFromList(elements) {\r\n      // We use arrays to represent lists, so this is basically a no-op.\r\n      // Do a slice though just in case we happen to depend on the unique-ness.\r\n      return elements.slice();\r\n  }\r\n  function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\r\n      new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\r\n  }\r\n  function IsFiniteNonNegativeNumber(v) {\r\n      if (IsNonNegativeNumber(v) === false) {\r\n          return false;\r\n      }\r\n      if (v === Infinity) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsNonNegativeNumber(v) {\r\n      if (typeof v !== 'number') {\r\n          return false;\r\n      }\r\n      if (NumberIsNaN(v)) {\r\n          return false;\r\n      }\r\n      if (v < 0) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function Call(F, V, args) {\r\n      if (typeof F !== 'function') {\r\n          throw new TypeError('Argument is not a function');\r\n      }\r\n      return Function.prototype.apply.call(F, V, args);\r\n  }\r\n  function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\r\n      var method = underlyingObject[methodName];\r\n      if (method !== undefined) {\r\n          if (typeof method !== 'function') {\r\n              throw new TypeError(method + \" is not a method\");\r\n          }\r\n          switch (algoArgCount) {\r\n              case 0: {\r\n                  return function () {\r\n                      return PromiseCall(method, underlyingObject, extraArgs);\r\n                  };\r\n              }\r\n              case 1: {\r\n                  return function (arg) {\r\n                      var fullArgs = [arg].concat(extraArgs);\r\n                      return PromiseCall(method, underlyingObject, fullArgs);\r\n                  };\r\n              }\r\n          }\r\n      }\r\n      return function () { return promiseResolvedWith(undefined); };\r\n  }\r\n  function InvokeOrNoop(O, P, args) {\r\n      var method = O[P];\r\n      if (method === undefined) {\r\n          return undefined;\r\n      }\r\n      return Call(method, O, args);\r\n  }\r\n  function PromiseCall(F, V, args) {\r\n      try {\r\n          return promiseResolvedWith(Call(F, V, args));\r\n      }\r\n      catch (value) {\r\n          return promiseRejectedWith(value);\r\n      }\r\n  }\r\n  // Not implemented correctly\r\n  function TransferArrayBuffer(O) {\r\n      return O;\r\n  }\r\n  // Not implemented correctly\r\n  function IsDetachedBuffer(O) {\r\n      return false;\r\n  }\r\n  function ValidateAndNormalizeHighWaterMark(highWaterMark) {\r\n      highWaterMark = Number(highWaterMark);\r\n      if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\r\n          throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\r\n      }\r\n      return highWaterMark;\r\n  }\r\n  function MakeSizeAlgorithmFromSizeFunction(size) {\r\n      if (size === undefined) {\r\n          return function () { return 1; };\r\n      }\r\n      if (typeof size !== 'function') {\r\n          throw new TypeError('size property of a queuing strategy must be a function');\r\n      }\r\n      return function (chunk) { return size(chunk); };\r\n  }\r\n  var originalPromise = Promise;\r\n  var originalPromiseThen = Promise.prototype.then;\r\n  var originalPromiseResolve = Promise.resolve.bind(originalPromise);\r\n  var originalPromiseReject = Promise.reject.bind(originalPromise);\r\n  function newPromise(executor) {\r\n      return new originalPromise(executor);\r\n  }\r\n  function promiseResolvedWith(value) {\r\n      return originalPromiseResolve(value);\r\n  }\r\n  function promiseRejectedWith(reason) {\r\n      return originalPromiseReject(reason);\r\n  }\r\n  function PerformPromiseThen(promise, onFulfilled, onRejected) {\r\n      // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\r\n      // approximation.\r\n      return originalPromiseThen.call(promise, onFulfilled, onRejected);\r\n  }\r\n  function uponPromise(promise, onFulfilled, onRejected) {\r\n      PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\r\n  }\r\n  function uponFulfillment(promise, onFulfilled) {\r\n      uponPromise(promise, onFulfilled);\r\n  }\r\n  function uponRejection(promise, onRejected) {\r\n      uponPromise(promise, undefined, onRejected);\r\n  }\r\n  function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\r\n      return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\r\n  }\r\n  function setPromiseIsHandledToTrue(promise) {\r\n      PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\r\n  }\n\n  // Original from Chromium\r\n  // https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\r\n  var QUEUE_MAX_ARRAY_SIZE = 16384;\r\n  /**\r\n   * Simple queue structure.\r\n   *\r\n   * Avoids scalability issues with using a packed array directly by using\r\n   * multiple arrays in a linked list and keeping the array size bounded.\r\n   */\r\n  var SimpleQueue = /** @class */ (function () {\r\n      function SimpleQueue() {\r\n          this._cursor = 0;\r\n          this._size = 0;\r\n          // _front and _back are always defined.\r\n          this._front = {\r\n              _elements: [],\r\n              _next: undefined\r\n          };\r\n          this._back = this._front;\r\n          // The cursor is used to avoid calling Array.shift().\r\n          // It contains the index of the front element of the array inside the\r\n          // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\r\n          this._cursor = 0;\r\n          // When there is only one node, size === elements.length - cursor.\r\n          this._size = 0;\r\n      }\r\n      Object.defineProperty(SimpleQueue.prototype, \"length\", {\r\n          get: function () {\r\n              return this._size;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      // For exception safety, this method is structured in order:\r\n      // 1. Read state\r\n      // 2. Calculate required state mutations\r\n      // 3. Perform state mutations\r\n      SimpleQueue.prototype.push = function (element) {\r\n          var oldBack = this._back;\r\n          var newBack = oldBack;\r\n          if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\r\n              newBack = {\r\n                  _elements: [],\r\n                  _next: undefined\r\n              };\r\n          }\r\n          // push() is the mutation most likely to throw an exception, so it\r\n          // goes first.\r\n          oldBack._elements.push(element);\r\n          if (newBack !== oldBack) {\r\n              this._back = newBack;\r\n              oldBack._next = newBack;\r\n          }\r\n          ++this._size;\r\n      };\r\n      // Like push(), shift() follows the read -> calculate -> mutate pattern for\r\n      // exception safety.\r\n      SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\r\n          var oldFront = this._front;\r\n          var newFront = oldFront;\r\n          var oldCursor = this._cursor;\r\n          var newCursor = oldCursor + 1;\r\n          var elements = oldFront._elements;\r\n          var element = elements[oldCursor];\r\n          if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\r\n              newFront = oldFront._next;\r\n              newCursor = 0;\r\n          }\r\n          // No mutations before this point.\r\n          --this._size;\r\n          this._cursor = newCursor;\r\n          if (oldFront !== newFront) {\r\n              this._front = newFront;\r\n          }\r\n          // Permit shifted element to be garbage collected.\r\n          elements[oldCursor] = undefined;\r\n          return element;\r\n      };\r\n      // The tricky thing about forEach() is that it can be called\r\n      // re-entrantly. The queue may be mutated inside the callback. It is easy to\r\n      // see that push() within the callback has no negative effects since the end\r\n      // of the queue is checked for on every iteration. If shift() is called\r\n      // repeatedly within the callback then the next iteration may return an\r\n      // element that has been removed. In this case the callback will be called\r\n      // with undefined values until we either \"catch up\" with elements that still\r\n      // exist or reach the back of the queue.\r\n      SimpleQueue.prototype.forEach = function (callback) {\r\n          var i = this._cursor;\r\n          var node = this._front;\r\n          var elements = node._elements;\r\n          while (i !== elements.length || node._next !== undefined) {\r\n              if (i === elements.length) {\r\n                  node = node._next;\r\n                  elements = node._elements;\r\n                  i = 0;\r\n                  if (elements.length === 0) {\r\n                      break;\r\n                  }\r\n              }\r\n              callback(elements[i]);\r\n              ++i;\r\n          }\r\n      };\r\n      // Return the element that would be returned if shift() was called now,\r\n      // without modifying the queue.\r\n      SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\r\n          var front = this._front;\r\n          var cursor = this._cursor;\r\n          return front._elements[cursor];\r\n      };\r\n      return SimpleQueue;\r\n  }());\n\n  function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\r\n      var prototype = null;\r\n      if (forAuthorCode === true) {\r\n          prototype = Object.prototype;\r\n      }\r\n      var obj = Object.create(prototype);\r\n      obj.value = value;\r\n      obj.done = done;\r\n      return obj;\r\n  }\r\n  function ReadableStreamReaderGenericInitialize(reader, stream) {\r\n      reader._forAuthorCode = true;\r\n      reader._ownerReadableStream = stream;\r\n      stream._reader = reader;\r\n      if (stream._state === 'readable') {\r\n          defaultReaderClosedPromiseInitialize(reader);\r\n      }\r\n      else if (stream._state === 'closed') {\r\n          defaultReaderClosedPromiseInitializeAsResolved(reader);\r\n      }\r\n      else {\r\n          defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\r\n      }\r\n  }\r\n  // A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\r\n  // check.\r\n  function ReadableStreamReaderGenericCancel(reader, reason) {\r\n      var stream = reader._ownerReadableStream;\r\n      return ReadableStreamCancel(stream, reason);\r\n  }\r\n  function ReadableStreamReaderGenericRelease(reader) {\r\n      if (reader._ownerReadableStream._state === 'readable') {\r\n          defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n      }\r\n      else {\r\n          defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n      }\r\n      reader._ownerReadableStream._reader = undefined;\r\n      reader._ownerReadableStream = undefined;\r\n  }\r\n  // Helper functions for the readers.\r\n  function readerLockException(name) {\r\n      return new TypeError('Cannot ' + name + ' a stream using a released reader');\r\n  }\r\n  // Helper functions for the ReadableStreamDefaultReader.\r\n  function defaultReaderClosedPromiseInitialize(reader) {\r\n      reader._closedPromise = newPromise(function (resolve, reject) {\r\n          reader._closedPromise_resolve = resolve;\r\n          reader._closedPromise_reject = reject;\r\n      });\r\n  }\r\n  function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\r\n      defaultReaderClosedPromiseInitialize(reader);\r\n      defaultReaderClosedPromiseReject(reader, reason);\r\n  }\r\n  function defaultReaderClosedPromiseInitializeAsResolved(reader) {\r\n      defaultReaderClosedPromiseInitialize(reader);\r\n      defaultReaderClosedPromiseResolve(reader);\r\n  }\r\n  function defaultReaderClosedPromiseReject(reader, reason) {\r\n      setPromiseIsHandledToTrue(reader._closedPromise);\r\n      reader._closedPromise_reject(reason);\r\n      reader._closedPromise_resolve = undefined;\r\n      reader._closedPromise_reject = undefined;\r\n  }\r\n  function defaultReaderClosedPromiseResetToRejected(reader, reason) {\r\n      defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\r\n  }\r\n  function defaultReaderClosedPromiseResolve(reader) {\r\n      reader._closedPromise_resolve(undefined);\r\n      reader._closedPromise_resolve = undefined;\r\n      reader._closedPromise_reject = undefined;\r\n  }\n\n  var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\r\n  var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n  // Abstract operations for the ReadableStream.\r\n  function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\r\n      if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n      var reader = new ReadableStreamDefaultReader(stream);\r\n      reader._forAuthorCode = forAuthorCode;\r\n      return reader;\r\n  }\r\n  // ReadableStream API exposed for controllers.\r\n  function ReadableStreamAddReadRequest(stream) {\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var readRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._reader._readRequests.push(readRequest);\r\n      });\r\n      return promise;\r\n  }\r\n  function ReadableStreamFulfillReadRequest(stream, chunk, done) {\r\n      var reader = stream._reader;\r\n      var readRequest = reader._readRequests.shift();\r\n      readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n  }\r\n  function ReadableStreamGetNumReadRequests(stream) {\r\n      return stream._reader._readRequests.length;\r\n  }\r\n  function ReadableStreamHasDefaultReader(stream) {\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return false;\r\n      }\r\n      if (!IsReadableStreamDefaultReader(reader)) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  var ReadableStreamDefaultReader = /** @class */ (function () {\r\n      function ReadableStreamDefaultReader(stream) {\r\n          if (IsReadableStream(stream) === false) {\r\n              throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\r\n          }\r\n          if (IsReadableStreamLocked(stream) === true) {\r\n              throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n          }\r\n          ReadableStreamReaderGenericInitialize(this, stream);\r\n          this._readRequests = new SimpleQueue();\r\n      }\r\n      Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\r\n          get: function () {\r\n              if (!IsReadableStreamDefaultReader(this)) {\r\n                  return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\r\n              }\r\n              return this._closedPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamDefaultReader.prototype.cancel = function (reason) {\r\n          if (!IsReadableStreamDefaultReader(this)) {\r\n              return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('cancel'));\r\n          }\r\n          return ReadableStreamReaderGenericCancel(this, reason);\r\n      };\r\n      ReadableStreamDefaultReader.prototype.read = function () {\r\n          if (!IsReadableStreamDefaultReader(this)) {\r\n              return promiseRejectedWith(defaultReaderBrandCheckException('read'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('read from'));\r\n          }\r\n          return ReadableStreamDefaultReaderRead(this);\r\n      };\r\n      ReadableStreamDefaultReader.prototype.releaseLock = function () {\r\n          if (!IsReadableStreamDefaultReader(this)) {\r\n              throw defaultReaderBrandCheckException('releaseLock');\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return;\r\n          }\r\n          if (this._readRequests.length > 0) {\r\n              throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n          }\r\n          ReadableStreamReaderGenericRelease(this);\r\n      };\r\n      return ReadableStreamDefaultReader;\r\n  }());\r\n  // Abstract operations for the readers.\r\n  function IsReadableStreamDefaultReader(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamDefaultReaderRead(reader) {\r\n      var stream = reader._ownerReadableStream;\r\n      stream._disturbed = true;\r\n      if (stream._state === 'closed') {\r\n          return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n      }\r\n      if (stream._state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      return stream._readableStreamController[PullSteps]();\r\n  }\r\n  // Helper functions for the ReadableStreamDefaultReader.\r\n  function defaultReaderBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\r\n  }\n\n  /// <reference lib=\"es2018.asynciterable\" />\r\n  var _a;\r\n  var AsyncIteratorPrototype;\r\n  if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n      // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\r\n      // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\r\n      AsyncIteratorPrototype = (_a = {},\r\n          // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\r\n          // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\r\n          _a[SymbolPolyfill.asyncIterator] = function () {\r\n              return this;\r\n          },\r\n          _a);\r\n      Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\r\n  }\n\n  /// <reference lib=\"es2018.asynciterable\" />\r\n  var ReadableStreamAsyncIteratorPrototype = {\r\n      next: function () {\r\n          if (IsReadableStreamAsyncIterator(this) === false) {\r\n              return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\r\n          }\r\n          var reader = this._asyncIteratorReader;\r\n          if (reader._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('iterate'));\r\n          }\r\n          return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\r\n              var done = result.done;\r\n              if (done) {\r\n                  ReadableStreamReaderGenericRelease(reader);\r\n              }\r\n              var value = result.value;\r\n              return ReadableStreamCreateReadResult(value, done, true);\r\n          });\r\n      },\r\n      return: function (value) {\r\n          if (IsReadableStreamAsyncIterator(this) === false) {\r\n              return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\r\n          }\r\n          var reader = this._asyncIteratorReader;\r\n          if (reader._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('finish iterating'));\r\n          }\r\n          if (reader._readRequests.length > 0) {\r\n              return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\r\n          }\r\n          if (this._preventCancel === false) {\r\n              var result = ReadableStreamReaderGenericCancel(reader, value);\r\n              ReadableStreamReaderGenericRelease(reader);\r\n              return transformPromiseWith(result, function () { return ReadableStreamCreateReadResult(value, true, true); });\r\n          }\r\n          ReadableStreamReaderGenericRelease(reader);\r\n          return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\r\n      }\r\n  };\r\n  if (AsyncIteratorPrototype !== undefined) {\r\n      Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\r\n  }\r\n  Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\r\n  Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\r\n  // Abstract operations for the ReadableStream.\r\n  function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\r\n      if (preventCancel === void 0) { preventCancel = false; }\r\n      var reader = AcquireReadableStreamDefaultReader(stream);\r\n      var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\r\n      iterator._asyncIteratorReader = reader;\r\n      iterator._preventCancel = Boolean(preventCancel);\r\n      return iterator;\r\n  }\r\n  function IsReadableStreamAsyncIterator(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // Helper functions for the ReadableStream.\r\n  function streamAsyncIteratorBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\r\n  }\n\n  function DequeueValue(container) {\r\n      var pair = container._queue.shift();\r\n      container._queueTotalSize -= pair.size;\r\n      if (container._queueTotalSize < 0) {\r\n          container._queueTotalSize = 0;\r\n      }\r\n      return pair.value;\r\n  }\r\n  function EnqueueValueWithSize(container, value, size) {\r\n      size = Number(size);\r\n      if (!IsFiniteNonNegativeNumber(size)) {\r\n          throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\r\n      }\r\n      container._queue.push({ value: value, size: size });\r\n      container._queueTotalSize += size;\r\n  }\r\n  function PeekQueueValue(container) {\r\n      var pair = container._queue.peek();\r\n      return pair.value;\r\n  }\r\n  function ResetQueue(container) {\r\n      container._queue = new SimpleQueue();\r\n      container._queueTotalSize = 0;\r\n  }\n\n  var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\r\n  var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\r\n  var WritableStream = /** @class */ (function () {\r\n      function WritableStream(underlyingSink, strategy) {\r\n          if (underlyingSink === void 0) { underlyingSink = {}; }\r\n          if (strategy === void 0) { strategy = {}; }\r\n          InitializeWritableStream(this);\r\n          var size = strategy.size;\r\n          var highWaterMark = strategy.highWaterMark;\r\n          var type = underlyingSink.type;\r\n          if (type !== undefined) {\r\n              throw new RangeError('Invalid type is specified');\r\n          }\r\n          var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n          if (highWaterMark === undefined) {\r\n              highWaterMark = 1;\r\n          }\r\n          highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n          SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\r\n      }\r\n      Object.defineProperty(WritableStream.prototype, \"locked\", {\r\n          get: function () {\r\n              if (IsWritableStream(this) === false) {\r\n                  throw streamBrandCheckException('locked');\r\n              }\r\n              return IsWritableStreamLocked(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      WritableStream.prototype.abort = function (reason) {\r\n          if (IsWritableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException('abort'));\r\n          }\r\n          if (IsWritableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\r\n          }\r\n          return WritableStreamAbort(this, reason);\r\n      };\r\n      WritableStream.prototype.close = function () {\r\n          if (IsWritableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException('close'));\r\n          }\r\n          if (IsWritableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\r\n          }\r\n          if (WritableStreamCloseQueuedOrInFlight(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\r\n          }\r\n          return WritableStreamClose(this);\r\n      };\r\n      WritableStream.prototype.getWriter = function () {\r\n          if (IsWritableStream(this) === false) {\r\n              throw streamBrandCheckException('getWriter');\r\n          }\r\n          return AcquireWritableStreamDefaultWriter(this);\r\n      };\r\n      return WritableStream;\r\n  }());\r\n  // Abstract operations for the WritableStream.\r\n  function AcquireWritableStreamDefaultWriter(stream) {\r\n      return new WritableStreamDefaultWriter(stream);\r\n  }\r\n  // Throws if and only if startAlgorithm throws.\r\n  function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      if (highWaterMark === void 0) { highWaterMark = 1; }\r\n      if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n      var stream = Object.create(WritableStream.prototype);\r\n      InitializeWritableStream(stream);\r\n      var controller = Object.create(WritableStreamDefaultController.prototype);\r\n      SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n      return stream;\r\n  }\r\n  function InitializeWritableStream(stream) {\r\n      stream._state = 'writable';\r\n      // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\r\n      // 'erroring' or 'errored'. May be set to an undefined value.\r\n      stream._storedError = undefined;\r\n      stream._writer = undefined;\r\n      // Initialize to undefined first because the constructor of the controller checks this\r\n      // variable to validate the caller.\r\n      stream._writableStreamController = undefined;\r\n      // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\r\n      // producer without waiting for the queued writes to finish.\r\n      stream._writeRequests = new SimpleQueue();\r\n      // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\r\n      // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\r\n      stream._inFlightWriteRequest = undefined;\r\n      // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\r\n      // has been detached.\r\n      stream._closeRequest = undefined;\r\n      // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\r\n      // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\r\n      stream._inFlightCloseRequest = undefined;\r\n      // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\r\n      stream._pendingAbortRequest = undefined;\r\n      // The backpressure signal set by the controller.\r\n      stream._backpressure = false;\r\n  }\r\n  function IsWritableStream(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsWritableStreamLocked(stream) {\r\n      if (stream._writer === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function WritableStreamAbort(stream, reason) {\r\n      var state = stream._state;\r\n      if (state === 'closed' || state === 'errored') {\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      if (stream._pendingAbortRequest !== undefined) {\r\n          return stream._pendingAbortRequest._promise;\r\n      }\r\n      var wasAlreadyErroring = false;\r\n      if (state === 'erroring') {\r\n          wasAlreadyErroring = true;\r\n          // reason will not be used, so don't keep a reference to it.\r\n          reason = undefined;\r\n      }\r\n      var promise = newPromise(function (resolve, reject) {\r\n          stream._pendingAbortRequest = {\r\n              _promise: undefined,\r\n              _resolve: resolve,\r\n              _reject: reject,\r\n              _reason: reason,\r\n              _wasAlreadyErroring: wasAlreadyErroring\r\n          };\r\n      });\r\n      stream._pendingAbortRequest._promise = promise;\r\n      if (wasAlreadyErroring === false) {\r\n          WritableStreamStartErroring(stream, reason);\r\n      }\r\n      return promise;\r\n  }\r\n  function WritableStreamClose(stream) {\r\n      var state = stream._state;\r\n      if (state === 'closed' || state === 'errored') {\r\n          return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\r\n      }\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var closeRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._closeRequest = closeRequest;\r\n      });\r\n      var writer = stream._writer;\r\n      if (writer !== undefined && stream._backpressure === true && state === 'writable') {\r\n          defaultWriterReadyPromiseResolve(writer);\r\n      }\r\n      WritableStreamDefaultControllerClose(stream._writableStreamController);\r\n      return promise;\r\n  }\r\n  // WritableStream API exposed for controllers.\r\n  function WritableStreamAddWriteRequest(stream) {\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var writeRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._writeRequests.push(writeRequest);\r\n      });\r\n      return promise;\r\n  }\r\n  function WritableStreamDealWithRejection(stream, error) {\r\n      var state = stream._state;\r\n      if (state === 'writable') {\r\n          WritableStreamStartErroring(stream, error);\r\n          return;\r\n      }\r\n      WritableStreamFinishErroring(stream);\r\n  }\r\n  function WritableStreamStartErroring(stream, reason) {\r\n      var controller = stream._writableStreamController;\r\n      stream._state = 'erroring';\r\n      stream._storedError = reason;\r\n      var writer = stream._writer;\r\n      if (writer !== undefined) {\r\n          WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\r\n      }\r\n      if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\r\n          WritableStreamFinishErroring(stream);\r\n      }\r\n  }\r\n  function WritableStreamFinishErroring(stream) {\r\n      stream._state = 'errored';\r\n      stream._writableStreamController[ErrorSteps]();\r\n      var storedError = stream._storedError;\r\n      stream._writeRequests.forEach(function (writeRequest) {\r\n          writeRequest._reject(storedError);\r\n      });\r\n      stream._writeRequests = new SimpleQueue();\r\n      if (stream._pendingAbortRequest === undefined) {\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n          return;\r\n      }\r\n      var abortRequest = stream._pendingAbortRequest;\r\n      stream._pendingAbortRequest = undefined;\r\n      if (abortRequest._wasAlreadyErroring === true) {\r\n          abortRequest._reject(storedError);\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n          return;\r\n      }\r\n      var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\r\n      uponPromise(promise, function () {\r\n          abortRequest._resolve();\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n      }, function (reason) {\r\n          abortRequest._reject(reason);\r\n          WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n      });\r\n  }\r\n  function WritableStreamFinishInFlightWrite(stream) {\r\n      stream._inFlightWriteRequest._resolve(undefined);\r\n      stream._inFlightWriteRequest = undefined;\r\n  }\r\n  function WritableStreamFinishInFlightWriteWithError(stream, error) {\r\n      stream._inFlightWriteRequest._reject(error);\r\n      stream._inFlightWriteRequest = undefined;\r\n      WritableStreamDealWithRejection(stream, error);\r\n  }\r\n  function WritableStreamFinishInFlightClose(stream) {\r\n      stream._inFlightCloseRequest._resolve(undefined);\r\n      stream._inFlightCloseRequest = undefined;\r\n      var state = stream._state;\r\n      if (state === 'erroring') {\r\n          // The error was too late to do anything, so it is ignored.\r\n          stream._storedError = undefined;\r\n          if (stream._pendingAbortRequest !== undefined) {\r\n              stream._pendingAbortRequest._resolve();\r\n              stream._pendingAbortRequest = undefined;\r\n          }\r\n      }\r\n      stream._state = 'closed';\r\n      var writer = stream._writer;\r\n      if (writer !== undefined) {\r\n          defaultWriterClosedPromiseResolve(writer);\r\n      }\r\n  }\r\n  function WritableStreamFinishInFlightCloseWithError(stream, error) {\r\n      stream._inFlightCloseRequest._reject(error);\r\n      stream._inFlightCloseRequest = undefined;\r\n      // Never execute sink abort() after sink close().\r\n      if (stream._pendingAbortRequest !== undefined) {\r\n          stream._pendingAbortRequest._reject(error);\r\n          stream._pendingAbortRequest = undefined;\r\n      }\r\n      WritableStreamDealWithRejection(stream, error);\r\n  }\r\n  // TODO(ricea): Fix alphabetical order.\r\n  function WritableStreamCloseQueuedOrInFlight(stream) {\r\n      if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function WritableStreamHasOperationMarkedInFlight(stream) {\r\n      if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function WritableStreamMarkCloseRequestInFlight(stream) {\r\n      stream._inFlightCloseRequest = stream._closeRequest;\r\n      stream._closeRequest = undefined;\r\n  }\r\n  function WritableStreamMarkFirstWriteRequestInFlight(stream) {\r\n      stream._inFlightWriteRequest = stream._writeRequests.shift();\r\n  }\r\n  function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\r\n      if (stream._closeRequest !== undefined) {\r\n          stream._closeRequest._reject(stream._storedError);\r\n          stream._closeRequest = undefined;\r\n      }\r\n      var writer = stream._writer;\r\n      if (writer !== undefined) {\r\n          defaultWriterClosedPromiseReject(writer, stream._storedError);\r\n      }\r\n  }\r\n  function WritableStreamUpdateBackpressure(stream, backpressure) {\r\n      var writer = stream._writer;\r\n      if (writer !== undefined && backpressure !== stream._backpressure) {\r\n          if (backpressure === true) {\r\n              defaultWriterReadyPromiseReset(writer);\r\n          }\r\n          else {\r\n              defaultWriterReadyPromiseResolve(writer);\r\n          }\r\n      }\r\n      stream._backpressure = backpressure;\r\n  }\r\n  var WritableStreamDefaultWriter = /** @class */ (function () {\r\n      function WritableStreamDefaultWriter(stream) {\r\n          if (IsWritableStream(stream) === false) {\r\n              throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\r\n          }\r\n          if (IsWritableStreamLocked(stream) === true) {\r\n              throw new TypeError('This stream has already been locked for exclusive writing by another writer');\r\n          }\r\n          this._ownerWritableStream = stream;\r\n          stream._writer = this;\r\n          var state = stream._state;\r\n          if (state === 'writable') {\r\n              if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\r\n                  defaultWriterReadyPromiseInitialize(this);\r\n              }\r\n              else {\r\n                  defaultWriterReadyPromiseInitializeAsResolved(this);\r\n              }\r\n              defaultWriterClosedPromiseInitialize(this);\r\n          }\r\n          else if (state === 'erroring') {\r\n              defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\r\n              defaultWriterClosedPromiseInitialize(this);\r\n          }\r\n          else if (state === 'closed') {\r\n              defaultWriterReadyPromiseInitializeAsResolved(this);\r\n              defaultWriterClosedPromiseInitializeAsResolved(this);\r\n          }\r\n          else {\r\n              var storedError = stream._storedError;\r\n              defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\r\n              defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\r\n          }\r\n      }\r\n      Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\r\n          get: function () {\r\n              if (IsWritableStreamDefaultWriter(this) === false) {\r\n                  return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\r\n              }\r\n              return this._closedPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsWritableStreamDefaultWriter(this) === false) {\r\n                  throw defaultWriterBrandCheckException('desiredSize');\r\n              }\r\n              if (this._ownerWritableStream === undefined) {\r\n                  throw defaultWriterLockException('desiredSize');\r\n              }\r\n              return WritableStreamDefaultWriterGetDesiredSize(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\r\n          get: function () {\r\n              if (IsWritableStreamDefaultWriter(this) === false) {\r\n                  return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\r\n              }\r\n              return this._readyPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      WritableStreamDefaultWriter.prototype.abort = function (reason) {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\r\n          }\r\n          if (this._ownerWritableStream === undefined) {\r\n              return promiseRejectedWith(defaultWriterLockException('abort'));\r\n          }\r\n          return WritableStreamDefaultWriterAbort(this, reason);\r\n      };\r\n      WritableStreamDefaultWriter.prototype.close = function () {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              return promiseRejectedWith(defaultWriterBrandCheckException('close'));\r\n          }\r\n          var stream = this._ownerWritableStream;\r\n          if (stream === undefined) {\r\n              return promiseRejectedWith(defaultWriterLockException('close'));\r\n          }\r\n          if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\r\n          }\r\n          return WritableStreamDefaultWriterClose(this);\r\n      };\r\n      WritableStreamDefaultWriter.prototype.releaseLock = function () {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              throw defaultWriterBrandCheckException('releaseLock');\r\n          }\r\n          var stream = this._ownerWritableStream;\r\n          if (stream === undefined) {\r\n              return;\r\n          }\r\n          WritableStreamDefaultWriterRelease(this);\r\n      };\r\n      WritableStreamDefaultWriter.prototype.write = function (chunk) {\r\n          if (IsWritableStreamDefaultWriter(this) === false) {\r\n              return promiseRejectedWith(defaultWriterBrandCheckException('write'));\r\n          }\r\n          if (this._ownerWritableStream === undefined) {\r\n              return promiseRejectedWith(defaultWriterLockException('write to'));\r\n          }\r\n          return WritableStreamDefaultWriterWrite(this, chunk);\r\n      };\r\n      return WritableStreamDefaultWriter;\r\n  }());\r\n  // Abstract operations for the WritableStreamDefaultWriter.\r\n  function IsWritableStreamDefaultWriter(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\r\n  function WritableStreamDefaultWriterAbort(writer, reason) {\r\n      var stream = writer._ownerWritableStream;\r\n      return WritableStreamAbort(stream, reason);\r\n  }\r\n  function WritableStreamDefaultWriterClose(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      return WritableStreamClose(stream);\r\n  }\r\n  function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      var state = stream._state;\r\n      if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      if (state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      return WritableStreamDefaultWriterClose(writer);\r\n  }\r\n  function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\r\n      if (writer._closedPromiseState === 'pending') {\r\n          defaultWriterClosedPromiseReject(writer, error);\r\n      }\r\n      else {\r\n          defaultWriterClosedPromiseResetToRejected(writer, error);\r\n      }\r\n  }\r\n  function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\r\n      if (writer._readyPromiseState === 'pending') {\r\n          defaultWriterReadyPromiseReject(writer, error);\r\n      }\r\n      else {\r\n          defaultWriterReadyPromiseResetToRejected(writer, error);\r\n      }\r\n  }\r\n  function WritableStreamDefaultWriterGetDesiredSize(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      var state = stream._state;\r\n      if (state === 'errored' || state === 'erroring') {\r\n          return null;\r\n      }\r\n      if (state === 'closed') {\r\n          return 0;\r\n      }\r\n      return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\r\n  }\r\n  function WritableStreamDefaultWriterRelease(writer) {\r\n      var stream = writer._ownerWritableStream;\r\n      var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\r\n      WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\r\n      // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\r\n      // rejected until afterwards. This means that simply testing state will not work.\r\n      WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\r\n      stream._writer = undefined;\r\n      writer._ownerWritableStream = undefined;\r\n  }\r\n  function WritableStreamDefaultWriterWrite(writer, chunk) {\r\n      var stream = writer._ownerWritableStream;\r\n      var controller = stream._writableStreamController;\r\n      var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\r\n      if (stream !== writer._ownerWritableStream) {\r\n          return promiseRejectedWith(defaultWriterLockException('write to'));\r\n      }\r\n      var state = stream._state;\r\n      if (state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n          return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\r\n      }\r\n      if (state === 'erroring') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      var promise = WritableStreamAddWriteRequest(stream);\r\n      WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\r\n      return promise;\r\n  }\r\n  var WritableStreamDefaultController = /** @class */ (function () {\r\n      /** @internal */\r\n      function WritableStreamDefaultController() {\r\n          throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\r\n      }\r\n      WritableStreamDefaultController.prototype.error = function (e) {\r\n          if (IsWritableStreamDefaultController(this) === false) {\r\n              throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\r\n          }\r\n          var state = this._controlledWritableStream._state;\r\n          if (state !== 'writable') {\r\n              // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\r\n              // just treat it as a no-op.\r\n              return;\r\n          }\r\n          WritableStreamDefaultControllerError(this, e);\r\n      };\r\n      /** @internal */\r\n      WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\r\n          var result = this._abortAlgorithm(reason);\r\n          WritableStreamDefaultControllerClearAlgorithms(this);\r\n          return result;\r\n      };\r\n      /** @internal */\r\n      WritableStreamDefaultController.prototype[ErrorSteps] = function () {\r\n          ResetQueue(this);\r\n      };\r\n      return WritableStreamDefaultController;\r\n  }());\r\n  // Abstract operations implementing interface required by the WritableStream.\r\n  function IsWritableStreamDefaultController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      controller._controlledWritableStream = stream;\r\n      stream._writableStreamController = controller;\r\n      // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n      controller._queue = undefined;\r\n      controller._queueTotalSize = undefined;\r\n      ResetQueue(controller);\r\n      controller._started = false;\r\n      controller._strategySizeAlgorithm = sizeAlgorithm;\r\n      controller._strategyHWM = highWaterMark;\r\n      controller._writeAlgorithm = writeAlgorithm;\r\n      controller._closeAlgorithm = closeAlgorithm;\r\n      controller._abortAlgorithm = abortAlgorithm;\r\n      var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n      WritableStreamUpdateBackpressure(stream, backpressure);\r\n      var startResult = startAlgorithm();\r\n      var startPromise = promiseResolvedWith(startResult);\r\n      uponPromise(startPromise, function () {\r\n          controller._started = true;\r\n          WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n      }, function (r) {\r\n          controller._started = true;\r\n          WritableStreamDealWithRejection(stream, r);\r\n      });\r\n  }\r\n  function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\r\n      var controller = Object.create(WritableStreamDefaultController.prototype);\r\n      function startAlgorithm() {\r\n          return InvokeOrNoop(underlyingSink, 'start', [controller]);\r\n      }\r\n      var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\r\n      var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\r\n      var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\r\n      SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n  }\r\n  // ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\r\n  function WritableStreamDefaultControllerClearAlgorithms(controller) {\r\n      controller._writeAlgorithm = undefined;\r\n      controller._closeAlgorithm = undefined;\r\n      controller._abortAlgorithm = undefined;\r\n      controller._strategySizeAlgorithm = undefined;\r\n  }\r\n  function WritableStreamDefaultControllerClose(controller) {\r\n      EnqueueValueWithSize(controller, 'close', 0);\r\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n  }\r\n  function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\r\n      try {\r\n          return controller._strategySizeAlgorithm(chunk);\r\n      }\r\n      catch (chunkSizeE) {\r\n          WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\r\n          return 1;\r\n      }\r\n  }\r\n  function WritableStreamDefaultControllerGetDesiredSize(controller) {\r\n      return controller._strategyHWM - controller._queueTotalSize;\r\n  }\r\n  function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\r\n      var writeRecord = { chunk: chunk };\r\n      try {\r\n          EnqueueValueWithSize(controller, writeRecord, chunkSize);\r\n      }\r\n      catch (enqueueE) {\r\n          WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\r\n          return;\r\n      }\r\n      var stream = controller._controlledWritableStream;\r\n      if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\r\n          var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n          WritableStreamUpdateBackpressure(stream, backpressure);\r\n      }\r\n      WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n  }\r\n  // Abstract operations for the WritableStreamDefaultController.\r\n  function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\r\n      var stream = controller._controlledWritableStream;\r\n      if (controller._started === false) {\r\n          return;\r\n      }\r\n      if (stream._inFlightWriteRequest !== undefined) {\r\n          return;\r\n      }\r\n      var state = stream._state;\r\n      if (state === 'erroring') {\r\n          WritableStreamFinishErroring(stream);\r\n          return;\r\n      }\r\n      if (controller._queue.length === 0) {\r\n          return;\r\n      }\r\n      var writeRecord = PeekQueueValue(controller);\r\n      if (writeRecord === 'close') {\r\n          WritableStreamDefaultControllerProcessClose(controller);\r\n      }\r\n      else {\r\n          WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\r\n      }\r\n  }\r\n  function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\r\n      if (controller._controlledWritableStream._state === 'writable') {\r\n          WritableStreamDefaultControllerError(controller, error);\r\n      }\r\n  }\r\n  function WritableStreamDefaultControllerProcessClose(controller) {\r\n      var stream = controller._controlledWritableStream;\r\n      WritableStreamMarkCloseRequestInFlight(stream);\r\n      DequeueValue(controller);\r\n      var sinkClosePromise = controller._closeAlgorithm();\r\n      WritableStreamDefaultControllerClearAlgorithms(controller);\r\n      uponPromise(sinkClosePromise, function () {\r\n          WritableStreamFinishInFlightClose(stream);\r\n      }, function (reason) {\r\n          WritableStreamFinishInFlightCloseWithError(stream, reason);\r\n      });\r\n  }\r\n  function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\r\n      var stream = controller._controlledWritableStream;\r\n      WritableStreamMarkFirstWriteRequestInFlight(stream);\r\n      var sinkWritePromise = controller._writeAlgorithm(chunk);\r\n      uponPromise(sinkWritePromise, function () {\r\n          WritableStreamFinishInFlightWrite(stream);\r\n          var state = stream._state;\r\n          DequeueValue(controller);\r\n          if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\r\n              var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n              WritableStreamUpdateBackpressure(stream, backpressure);\r\n          }\r\n          WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n      }, function (reason) {\r\n          if (stream._state === 'writable') {\r\n              WritableStreamDefaultControllerClearAlgorithms(controller);\r\n          }\r\n          WritableStreamFinishInFlightWriteWithError(stream, reason);\r\n      });\r\n  }\r\n  function WritableStreamDefaultControllerGetBackpressure(controller) {\r\n      var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\r\n      return desiredSize <= 0;\r\n  }\r\n  // A client of WritableStreamDefaultController may use these functions directly to bypass state check.\r\n  function WritableStreamDefaultControllerError(controller, error) {\r\n      var stream = controller._controlledWritableStream;\r\n      WritableStreamDefaultControllerClearAlgorithms(controller);\r\n      WritableStreamStartErroring(stream, error);\r\n  }\r\n  // Helper functions for the WritableStream.\r\n  function streamBrandCheckException(name) {\r\n      return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\r\n  }\r\n  // Helper functions for the WritableStreamDefaultWriter.\r\n  function defaultWriterBrandCheckException(name) {\r\n      return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\r\n  }\r\n  function defaultWriterLockException(name) {\r\n      return new TypeError('Cannot ' + name + ' a stream using a released writer');\r\n  }\r\n  function defaultWriterClosedPromiseInitialize(writer) {\r\n      writer._closedPromise = newPromise(function (resolve, reject) {\r\n          writer._closedPromise_resolve = resolve;\r\n          writer._closedPromise_reject = reject;\r\n          writer._closedPromiseState = 'pending';\r\n      });\r\n  }\r\n  function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\r\n      defaultWriterClosedPromiseInitialize(writer);\r\n      defaultWriterClosedPromiseReject(writer, reason);\r\n  }\r\n  function defaultWriterClosedPromiseInitializeAsResolved(writer) {\r\n      defaultWriterClosedPromiseInitialize(writer);\r\n      defaultWriterClosedPromiseResolve(writer);\r\n  }\r\n  function defaultWriterClosedPromiseReject(writer, reason) {\r\n      setPromiseIsHandledToTrue(writer._closedPromise);\r\n      writer._closedPromise_reject(reason);\r\n      writer._closedPromise_resolve = undefined;\r\n      writer._closedPromise_reject = undefined;\r\n      writer._closedPromiseState = 'rejected';\r\n  }\r\n  function defaultWriterClosedPromiseResetToRejected(writer, reason) {\r\n      defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\r\n  }\r\n  function defaultWriterClosedPromiseResolve(writer) {\r\n      writer._closedPromise_resolve(undefined);\r\n      writer._closedPromise_resolve = undefined;\r\n      writer._closedPromise_reject = undefined;\r\n      writer._closedPromiseState = 'resolved';\r\n  }\r\n  function defaultWriterReadyPromiseInitialize(writer) {\r\n      writer._readyPromise = newPromise(function (resolve, reject) {\r\n          writer._readyPromise_resolve = resolve;\r\n          writer._readyPromise_reject = reject;\r\n      });\r\n      writer._readyPromiseState = 'pending';\r\n  }\r\n  function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\r\n      defaultWriterReadyPromiseInitialize(writer);\r\n      defaultWriterReadyPromiseReject(writer, reason);\r\n  }\r\n  function defaultWriterReadyPromiseInitializeAsResolved(writer) {\r\n      defaultWriterReadyPromiseInitialize(writer);\r\n      defaultWriterReadyPromiseResolve(writer);\r\n  }\r\n  function defaultWriterReadyPromiseReject(writer, reason) {\r\n      setPromiseIsHandledToTrue(writer._readyPromise);\r\n      writer._readyPromise_reject(reason);\r\n      writer._readyPromise_resolve = undefined;\r\n      writer._readyPromise_reject = undefined;\r\n      writer._readyPromiseState = 'rejected';\r\n  }\r\n  function defaultWriterReadyPromiseReset(writer) {\r\n      defaultWriterReadyPromiseInitialize(writer);\r\n  }\r\n  function defaultWriterReadyPromiseResetToRejected(writer, reason) {\r\n      defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\r\n  }\r\n  function defaultWriterReadyPromiseResolve(writer) {\r\n      writer._readyPromise_resolve(undefined);\r\n      writer._readyPromise_resolve = undefined;\r\n      writer._readyPromise_reject = undefined;\r\n      writer._readyPromiseState = 'fulfilled';\r\n  }\n\n  function isAbortSignal(value) {\r\n      if (typeof value !== 'object' || value === null) {\r\n          return false;\r\n      }\r\n      try {\r\n          return typeof value.aborted === 'boolean';\r\n      }\r\n      catch (_a) {\r\n          // AbortSignal.prototype.aborted throws if its brand check fails\r\n          return false;\r\n      }\r\n  }\n\n  /// <reference lib=\"dom\" />\r\n  var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n  /// <reference types=\"node\" />\r\n  function isDOMExceptionConstructor(ctor) {\r\n      if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\r\n          return false;\r\n      }\r\n      try {\r\n          new ctor();\r\n          return true;\r\n      }\r\n      catch (_a) {\r\n          return false;\r\n      }\r\n  }\r\n  function createDOMExceptionPolyfill() {\r\n      var ctor = function DOMException(message, name) {\r\n          this.message = message || '';\r\n          this.name = name || 'Error';\r\n          if (Error.captureStackTrace) {\r\n              Error.captureStackTrace(this, this.constructor);\r\n          }\r\n      };\r\n      ctor.prototype = Object.create(Error.prototype);\r\n      Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\r\n      return ctor;\r\n  }\r\n  var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\n  function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\r\n      var reader = AcquireReadableStreamDefaultReader(source);\r\n      var writer = AcquireWritableStreamDefaultWriter(dest);\r\n      source._disturbed = true;\r\n      var shuttingDown = false;\r\n      // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\r\n      var currentWrite = promiseResolvedWith(undefined);\r\n      return newPromise(function (resolve, reject) {\r\n          var abortAlgorithm;\r\n          if (signal !== undefined) {\r\n              abortAlgorithm = function () {\r\n                  var error = new DOMException$1('Aborted', 'AbortError');\r\n                  var actions = [];\r\n                  if (preventAbort === false) {\r\n                      actions.push(function () {\r\n                          if (dest._state === 'writable') {\r\n                              return WritableStreamAbort(dest, error);\r\n                          }\r\n                          return promiseResolvedWith(undefined);\r\n                      });\r\n                  }\r\n                  if (preventCancel === false) {\r\n                      actions.push(function () {\r\n                          if (source._state === 'readable') {\r\n                              return ReadableStreamCancel(source, error);\r\n                          }\r\n                          return promiseResolvedWith(undefined);\r\n                      });\r\n                  }\r\n                  shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\r\n              };\r\n              if (signal.aborted === true) {\r\n                  abortAlgorithm();\r\n                  return;\r\n              }\r\n              signal.addEventListener('abort', abortAlgorithm);\r\n          }\r\n          // Using reader and writer, read all chunks from this and write them to dest\r\n          // - Backpressure must be enforced\r\n          // - Shutdown must stop all activity\r\n          function pipeLoop() {\r\n              return newPromise(function (resolveLoop, rejectLoop) {\r\n                  function next(done) {\r\n                      if (done) {\r\n                          resolveLoop();\r\n                      }\r\n                      else {\r\n                          // Use `PerformPromiseThen` instead of `uponPromise` to avoid\r\n                          // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\r\n                          PerformPromiseThen(pipeStep(), next, rejectLoop);\r\n                      }\r\n                  }\r\n                  next(false);\r\n              });\r\n          }\r\n          function pipeStep() {\r\n              if (shuttingDown === true) {\r\n                  return promiseResolvedWith(true);\r\n              }\r\n              return PerformPromiseThen(writer._readyPromise, function () {\r\n                  return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (_a) {\r\n                      var value = _a.value, done = _a.done;\r\n                      if (done === true) {\r\n                          return true;\r\n                      }\r\n                      currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, value), undefined, noop);\r\n                      return false;\r\n                  });\r\n              });\r\n          }\r\n          // Errors must be propagated forward\r\n          isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\r\n              if (preventAbort === false) {\r\n                  shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\r\n              }\r\n              else {\r\n                  shutdown(true, storedError);\r\n              }\r\n          });\r\n          // Errors must be propagated backward\r\n          isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\r\n              if (preventCancel === false) {\r\n                  shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\r\n              }\r\n              else {\r\n                  shutdown(true, storedError);\r\n              }\r\n          });\r\n          // Closing must be propagated forward\r\n          isOrBecomesClosed(source, reader._closedPromise, function () {\r\n              if (preventClose === false) {\r\n                  shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\r\n              }\r\n              else {\r\n                  shutdown();\r\n              }\r\n          });\r\n          // Closing must be propagated backward\r\n          if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\r\n              var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\r\n              if (preventCancel === false) {\r\n                  shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\r\n              }\r\n              else {\r\n                  shutdown(true, destClosed_1);\r\n              }\r\n          }\r\n          setPromiseIsHandledToTrue(pipeLoop());\r\n          function waitForWritesToFinish() {\r\n              // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\r\n              // for that too.\r\n              var oldCurrentWrite = currentWrite;\r\n              return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\r\n          }\r\n          function isOrBecomesErrored(stream, promise, action) {\r\n              if (stream._state === 'errored') {\r\n                  action(stream._storedError);\r\n              }\r\n              else {\r\n                  uponRejection(promise, action);\r\n              }\r\n          }\r\n          function isOrBecomesClosed(stream, promise, action) {\r\n              if (stream._state === 'closed') {\r\n                  action();\r\n              }\r\n              else {\r\n                  uponFulfillment(promise, action);\r\n              }\r\n          }\r\n          function shutdownWithAction(action, originalIsError, originalError) {\r\n              if (shuttingDown === true) {\r\n                  return;\r\n              }\r\n              shuttingDown = true;\r\n              if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n                  uponFulfillment(waitForWritesToFinish(), doTheRest);\r\n              }\r\n              else {\r\n                  doTheRest();\r\n              }\r\n              function doTheRest() {\r\n                  uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\r\n              }\r\n          }\r\n          function shutdown(isError, error) {\r\n              if (shuttingDown === true) {\r\n                  return;\r\n              }\r\n              shuttingDown = true;\r\n              if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n                  uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\r\n              }\r\n              else {\r\n                  finalize(isError, error);\r\n              }\r\n          }\r\n          function finalize(isError, error) {\r\n              WritableStreamDefaultWriterRelease(writer);\r\n              ReadableStreamReaderGenericRelease(reader);\r\n              if (signal !== undefined) {\r\n                  signal.removeEventListener('abort', abortAlgorithm);\r\n              }\r\n              if (isError) {\r\n                  reject(error);\r\n              }\r\n              else {\r\n                  resolve(undefined);\r\n              }\r\n          }\r\n      });\r\n  }\n\n  var ReadableStreamDefaultController = /** @class */ (function () {\r\n      /** @internal */\r\n      function ReadableStreamDefaultController() {\r\n          throw new TypeError();\r\n      }\r\n      Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsReadableStreamDefaultController(this) === false) {\r\n                  throw defaultControllerBrandCheckException('desiredSize');\r\n              }\r\n              return ReadableStreamDefaultControllerGetDesiredSize(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamDefaultController.prototype.close = function () {\r\n          if (IsReadableStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException('close');\r\n          }\r\n          if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n              throw new TypeError('The stream is not in a state that permits close');\r\n          }\r\n          ReadableStreamDefaultControllerClose(this);\r\n      };\r\n      ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\r\n          if (IsReadableStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException('enqueue');\r\n          }\r\n          if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n              throw new TypeError('The stream is not in a state that permits enqueue');\r\n          }\r\n          return ReadableStreamDefaultControllerEnqueue(this, chunk);\r\n      };\r\n      ReadableStreamDefaultController.prototype.error = function (e) {\r\n          if (IsReadableStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException('error');\r\n          }\r\n          ReadableStreamDefaultControllerError(this, e);\r\n      };\r\n      /** @internal */\r\n      ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\r\n          ResetQueue(this);\r\n          var result = this._cancelAlgorithm(reason);\r\n          ReadableStreamDefaultControllerClearAlgorithms(this);\r\n          return result;\r\n      };\r\n      /** @internal */\r\n      ReadableStreamDefaultController.prototype[PullSteps] = function () {\r\n          var stream = this._controlledReadableStream;\r\n          if (this._queue.length > 0) {\r\n              var chunk = DequeueValue(this);\r\n              if (this._closeRequested === true && this._queue.length === 0) {\r\n                  ReadableStreamDefaultControllerClearAlgorithms(this);\r\n                  ReadableStreamClose(stream);\r\n              }\r\n              else {\r\n                  ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n              }\r\n              return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\r\n          }\r\n          var pendingPromise = ReadableStreamAddReadRequest(stream);\r\n          ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n          return pendingPromise;\r\n      };\r\n      return ReadableStreamDefaultController;\r\n  }());\r\n  // Abstract operations for the ReadableStreamDefaultController.\r\n  function IsReadableStreamDefaultController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\r\n      var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\r\n      if (shouldPull === false) {\r\n          return;\r\n      }\r\n      if (controller._pulling === true) {\r\n          controller._pullAgain = true;\r\n          return;\r\n      }\r\n      controller._pulling = true;\r\n      var pullPromise = controller._pullAlgorithm();\r\n      uponPromise(pullPromise, function () {\r\n          controller._pulling = false;\r\n          if (controller._pullAgain === true) {\r\n              controller._pullAgain = false;\r\n              ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n          }\r\n      }, function (e) {\r\n          ReadableStreamDefaultControllerError(controller, e);\r\n      });\r\n  }\r\n  function ReadableStreamDefaultControllerShouldCallPull(controller) {\r\n      var stream = controller._controlledReadableStream;\r\n      if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\r\n          return false;\r\n      }\r\n      if (controller._started === false) {\r\n          return false;\r\n      }\r\n      if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n          return true;\r\n      }\r\n      var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\r\n      if (desiredSize > 0) {\r\n          return true;\r\n      }\r\n      return false;\r\n  }\r\n  function ReadableStreamDefaultControllerClearAlgorithms(controller) {\r\n      controller._pullAlgorithm = undefined;\r\n      controller._cancelAlgorithm = undefined;\r\n      controller._strategySizeAlgorithm = undefined;\r\n  }\r\n  // A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\r\n  function ReadableStreamDefaultControllerClose(controller) {\r\n      var stream = controller._controlledReadableStream;\r\n      controller._closeRequested = true;\r\n      if (controller._queue.length === 0) {\r\n          ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n          ReadableStreamClose(stream);\r\n      }\r\n  }\r\n  function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\r\n      var stream = controller._controlledReadableStream;\r\n      if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n          ReadableStreamFulfillReadRequest(stream, chunk, false);\r\n      }\r\n      else {\r\n          var chunkSize = void 0;\r\n          try {\r\n              chunkSize = controller._strategySizeAlgorithm(chunk);\r\n          }\r\n          catch (chunkSizeE) {\r\n              ReadableStreamDefaultControllerError(controller, chunkSizeE);\r\n              throw chunkSizeE;\r\n          }\r\n          try {\r\n              EnqueueValueWithSize(controller, chunk, chunkSize);\r\n          }\r\n          catch (enqueueE) {\r\n              ReadableStreamDefaultControllerError(controller, enqueueE);\r\n              throw enqueueE;\r\n          }\r\n      }\r\n      ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n  }\r\n  function ReadableStreamDefaultControllerError(controller, e) {\r\n      var stream = controller._controlledReadableStream;\r\n      if (stream._state !== 'readable') {\r\n          return;\r\n      }\r\n      ResetQueue(controller);\r\n      ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n      ReadableStreamError(stream, e);\r\n  }\r\n  function ReadableStreamDefaultControllerGetDesiredSize(controller) {\r\n      var stream = controller._controlledReadableStream;\r\n      var state = stream._state;\r\n      if (state === 'errored') {\r\n          return null;\r\n      }\r\n      if (state === 'closed') {\r\n          return 0;\r\n      }\r\n      return controller._strategyHWM - controller._queueTotalSize;\r\n  }\r\n  // This is used in the implementation of TransformStream.\r\n  function ReadableStreamDefaultControllerHasBackpressure(controller) {\r\n      if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\r\n      var state = controller._controlledReadableStream._state;\r\n      if (controller._closeRequested === false && state === 'readable') {\r\n          return true;\r\n      }\r\n      return false;\r\n  }\r\n  function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      controller._controlledReadableStream = stream;\r\n      controller._queue = undefined;\r\n      controller._queueTotalSize = undefined;\r\n      ResetQueue(controller);\r\n      controller._started = false;\r\n      controller._closeRequested = false;\r\n      controller._pullAgain = false;\r\n      controller._pulling = false;\r\n      controller._strategySizeAlgorithm = sizeAlgorithm;\r\n      controller._strategyHWM = highWaterMark;\r\n      controller._pullAlgorithm = pullAlgorithm;\r\n      controller._cancelAlgorithm = cancelAlgorithm;\r\n      stream._readableStreamController = controller;\r\n      var startResult = startAlgorithm();\r\n      uponPromise(promiseResolvedWith(startResult), function () {\r\n          controller._started = true;\r\n          ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n      }, function (r) {\r\n          ReadableStreamDefaultControllerError(controller, r);\r\n      });\r\n  }\r\n  function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\r\n      var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n      function startAlgorithm() {\r\n          return InvokeOrNoop(underlyingSource, 'start', [controller]);\r\n      }\r\n      var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\r\n      var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\r\n      SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n  }\r\n  // Helper functions for the ReadableStreamDefaultController.\r\n  function defaultControllerBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\r\n  }\n\n  function ReadableStreamTee(stream, cloneForBranch2) {\r\n      var reader = AcquireReadableStreamDefaultReader(stream);\r\n      var reading = false;\r\n      var canceled1 = false;\r\n      var canceled2 = false;\r\n      var reason1;\r\n      var reason2;\r\n      var branch1;\r\n      var branch2;\r\n      var resolveCancelPromise;\r\n      var cancelPromise = newPromise(function (resolve) {\r\n          resolveCancelPromise = resolve;\r\n      });\r\n      function pullAlgorithm() {\r\n          if (reading === true) {\r\n              return promiseResolvedWith(undefined);\r\n          }\r\n          reading = true;\r\n          var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\r\n              reading = false;\r\n              var done = result.done;\r\n              if (done === true) {\r\n                  if (canceled1 === false) {\r\n                      ReadableStreamDefaultControllerClose(branch1._readableStreamController);\r\n                  }\r\n                  if (canceled2 === false) {\r\n                      ReadableStreamDefaultControllerClose(branch2._readableStreamController);\r\n                  }\r\n                  return;\r\n              }\r\n              var value = result.value;\r\n              var value1 = value;\r\n              var value2 = value;\r\n              // There is no way to access the cloning code right now in the reference implementation.\r\n              // If we add one then we'll need an implementation for serializable objects.\r\n              // if (canceled2 === false && cloneForBranch2 === true) {\r\n              //   value2 = StructuredDeserialize(StructuredSerialize(value2));\r\n              // }\r\n              if (canceled1 === false) {\r\n                  ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\r\n              }\r\n              if (canceled2 === false) {\r\n                  ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\r\n              }\r\n          });\r\n          setPromiseIsHandledToTrue(readPromise);\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      function cancel1Algorithm(reason) {\r\n          canceled1 = true;\r\n          reason1 = reason;\r\n          if (canceled2 === true) {\r\n              var compositeReason = createArrayFromList([reason1, reason2]);\r\n              var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n              resolveCancelPromise(cancelResult);\r\n          }\r\n          return cancelPromise;\r\n      }\r\n      function cancel2Algorithm(reason) {\r\n          canceled2 = true;\r\n          reason2 = reason;\r\n          if (canceled1 === true) {\r\n              var compositeReason = createArrayFromList([reason1, reason2]);\r\n              var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n              resolveCancelPromise(cancelResult);\r\n          }\r\n          return cancelPromise;\r\n      }\r\n      function startAlgorithm() { }\r\n      branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\r\n      branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\r\n      uponRejection(reader._closedPromise, function (r) {\r\n          ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\r\n          ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\r\n      });\r\n      return [branch1, branch2];\r\n  }\n\n  /// <reference lib=\"es2015.core\" />\r\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\r\n  var NumberIsInteger = Number.isInteger || function (value) {\r\n      return typeof value === 'number' &&\r\n          isFinite(value) &&\r\n          Math.floor(value) === value;\r\n  };\n\n  var ReadableStreamBYOBRequest = /** @class */ (function () {\r\n      /** @internal */\r\n      function ReadableStreamBYOBRequest() {\r\n          throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\r\n      }\r\n      Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\r\n          get: function () {\r\n              if (IsReadableStreamBYOBRequest(this) === false) {\r\n                  throw byobRequestBrandCheckException('view');\r\n              }\r\n              return this._view;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\r\n          if (IsReadableStreamBYOBRequest(this) === false) {\r\n              throw byobRequestBrandCheckException('respond');\r\n          }\r\n          if (this._associatedReadableByteStreamController === undefined) {\r\n              throw new TypeError('This BYOB request has been invalidated');\r\n          }\r\n          if (IsDetachedBuffer(this._view.buffer) === true) ;\r\n          ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\r\n      };\r\n      ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\r\n          if (IsReadableStreamBYOBRequest(this) === false) {\r\n              throw byobRequestBrandCheckException('respond');\r\n          }\r\n          if (this._associatedReadableByteStreamController === undefined) {\r\n              throw new TypeError('This BYOB request has been invalidated');\r\n          }\r\n          if (!ArrayBuffer.isView(view)) {\r\n              throw new TypeError('You can only respond with array buffer views');\r\n          }\r\n          if (IsDetachedBuffer(view.buffer) === true) ;\r\n          ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\r\n      };\r\n      return ReadableStreamBYOBRequest;\r\n  }());\r\n  var ReadableByteStreamController = /** @class */ (function () {\r\n      /** @internal */\r\n      function ReadableByteStreamController() {\r\n          throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\r\n      }\r\n      Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\r\n          get: function () {\r\n              if (IsReadableByteStreamController(this) === false) {\r\n                  throw byteStreamControllerBrandCheckException('byobRequest');\r\n              }\r\n              if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\r\n                  var firstDescriptor = this._pendingPullIntos.peek();\r\n                  var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\r\n                  var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\r\n                  SetUpReadableStreamBYOBRequest(byobRequest, this, view);\r\n                  this._byobRequest = byobRequest;\r\n              }\r\n              return this._byobRequest;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsReadableByteStreamController(this) === false) {\r\n                  throw byteStreamControllerBrandCheckException('desiredSize');\r\n              }\r\n              return ReadableByteStreamControllerGetDesiredSize(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableByteStreamController.prototype.close = function () {\r\n          if (IsReadableByteStreamController(this) === false) {\r\n              throw byteStreamControllerBrandCheckException('close');\r\n          }\r\n          if (this._closeRequested === true) {\r\n              throw new TypeError('The stream has already been closed; do not close it again!');\r\n          }\r\n          var state = this._controlledReadableByteStream._state;\r\n          if (state !== 'readable') {\r\n              throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\r\n          }\r\n          ReadableByteStreamControllerClose(this);\r\n      };\r\n      ReadableByteStreamController.prototype.enqueue = function (chunk) {\r\n          if (IsReadableByteStreamController(this) === false) {\r\n              throw byteStreamControllerBrandCheckException('enqueue');\r\n          }\r\n          if (this._closeRequested === true) {\r\n              throw new TypeError('stream is closed or draining');\r\n          }\r\n          var state = this._controlledReadableByteStream._state;\r\n          if (state !== 'readable') {\r\n              throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\r\n          }\r\n          if (!ArrayBuffer.isView(chunk)) {\r\n              throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\r\n          }\r\n          if (IsDetachedBuffer(chunk.buffer) === true) ;\r\n          ReadableByteStreamControllerEnqueue(this, chunk);\r\n      };\r\n      ReadableByteStreamController.prototype.error = function (e) {\r\n          if (IsReadableByteStreamController(this) === false) {\r\n              throw byteStreamControllerBrandCheckException('error');\r\n          }\r\n          ReadableByteStreamControllerError(this, e);\r\n      };\r\n      /** @internal */\r\n      ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\r\n          if (this._pendingPullIntos.length > 0) {\r\n              var firstDescriptor = this._pendingPullIntos.peek();\r\n              firstDescriptor.bytesFilled = 0;\r\n          }\r\n          ResetQueue(this);\r\n          var result = this._cancelAlgorithm(reason);\r\n          ReadableByteStreamControllerClearAlgorithms(this);\r\n          return result;\r\n      };\r\n      /** @internal */\r\n      ReadableByteStreamController.prototype[PullSteps] = function () {\r\n          var stream = this._controlledReadableByteStream;\r\n          if (this._queueTotalSize > 0) {\r\n              var entry = this._queue.shift();\r\n              this._queueTotalSize -= entry.byteLength;\r\n              ReadableByteStreamControllerHandleQueueDrain(this);\r\n              var view = void 0;\r\n              try {\r\n                  view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\r\n              }\r\n              catch (viewE) {\r\n                  return promiseRejectedWith(viewE);\r\n              }\r\n              return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\r\n          }\r\n          var autoAllocateChunkSize = this._autoAllocateChunkSize;\r\n          if (autoAllocateChunkSize !== undefined) {\r\n              var buffer = void 0;\r\n              try {\r\n                  buffer = new ArrayBuffer(autoAllocateChunkSize);\r\n              }\r\n              catch (bufferE) {\r\n                  return promiseRejectedWith(bufferE);\r\n              }\r\n              var pullIntoDescriptor = {\r\n                  buffer: buffer,\r\n                  byteOffset: 0,\r\n                  byteLength: autoAllocateChunkSize,\r\n                  bytesFilled: 0,\r\n                  elementSize: 1,\r\n                  ctor: Uint8Array,\r\n                  readerType: 'default'\r\n              };\r\n              this._pendingPullIntos.push(pullIntoDescriptor);\r\n          }\r\n          var promise = ReadableStreamAddReadRequest(stream);\r\n          ReadableByteStreamControllerCallPullIfNeeded(this);\r\n          return promise;\r\n      };\r\n      return ReadableByteStreamController;\r\n  }());\r\n  // Abstract operations for the ReadableByteStreamController.\r\n  function IsReadableByteStreamController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsReadableStreamBYOBRequest(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableByteStreamControllerCallPullIfNeeded(controller) {\r\n      var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\r\n      if (shouldPull === false) {\r\n          return;\r\n      }\r\n      if (controller._pulling === true) {\r\n          controller._pullAgain = true;\r\n          return;\r\n      }\r\n      controller._pulling = true;\r\n      // TODO: Test controller argument\r\n      var pullPromise = controller._pullAlgorithm();\r\n      uponPromise(pullPromise, function () {\r\n          controller._pulling = false;\r\n          if (controller._pullAgain === true) {\r\n              controller._pullAgain = false;\r\n              ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n          }\r\n      }, function (e) {\r\n          ReadableByteStreamControllerError(controller, e);\r\n      });\r\n  }\r\n  function ReadableByteStreamControllerClearPendingPullIntos(controller) {\r\n      ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n      controller._pendingPullIntos = new SimpleQueue();\r\n  }\r\n  function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\r\n      var done = false;\r\n      if (stream._state === 'closed') {\r\n          done = true;\r\n      }\r\n      var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n      if (pullIntoDescriptor.readerType === 'default') {\r\n          ReadableStreamFulfillReadRequest(stream, filledView, done);\r\n      }\r\n      else {\r\n          ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\r\n      var bytesFilled = pullIntoDescriptor.bytesFilled;\r\n      var elementSize = pullIntoDescriptor.elementSize;\r\n      return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\r\n  }\r\n  function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\r\n      controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\r\n      controller._queueTotalSize += byteLength;\r\n  }\r\n  function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\r\n      var elementSize = pullIntoDescriptor.elementSize;\r\n      var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\r\n      var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\r\n      var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\r\n      var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\r\n      var totalBytesToCopyRemaining = maxBytesToCopy;\r\n      var ready = false;\r\n      if (maxAlignedBytes > currentAlignedBytes) {\r\n          totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\r\n          ready = true;\r\n      }\r\n      var queue = controller._queue;\r\n      while (totalBytesToCopyRemaining > 0) {\r\n          var headOfQueue = queue.peek();\r\n          var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\r\n          var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n          ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\r\n          if (headOfQueue.byteLength === bytesToCopy) {\r\n              queue.shift();\r\n          }\r\n          else {\r\n              headOfQueue.byteOffset += bytesToCopy;\r\n              headOfQueue.byteLength -= bytesToCopy;\r\n          }\r\n          controller._queueTotalSize -= bytesToCopy;\r\n          ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\r\n          totalBytesToCopyRemaining -= bytesToCopy;\r\n      }\r\n      return ready;\r\n  }\r\n  function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\r\n      ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n      pullIntoDescriptor.bytesFilled += size;\r\n  }\r\n  function ReadableByteStreamControllerHandleQueueDrain(controller) {\r\n      if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\r\n          ReadableByteStreamControllerClearAlgorithms(controller);\r\n          ReadableStreamClose(controller._controlledReadableByteStream);\r\n      }\r\n      else {\r\n          ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\r\n      if (controller._byobRequest === undefined) {\r\n          return;\r\n      }\r\n      controller._byobRequest._associatedReadableByteStreamController = undefined;\r\n      controller._byobRequest._view = undefined;\r\n      controller._byobRequest = undefined;\r\n  }\r\n  function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\r\n      while (controller._pendingPullIntos.length > 0) {\r\n          if (controller._queueTotalSize === 0) {\r\n              return;\r\n          }\r\n          var pullIntoDescriptor = controller._pendingPullIntos.peek();\r\n          if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n              ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n              ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n          }\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerPullInto(controller, view) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      var elementSize = 1;\r\n      if (view.constructor !== DataView) {\r\n          elementSize = view.constructor.BYTES_PER_ELEMENT;\r\n      }\r\n      var ctor = view.constructor;\r\n      var buffer = TransferArrayBuffer(view.buffer);\r\n      var pullIntoDescriptor = {\r\n          buffer: buffer,\r\n          byteOffset: view.byteOffset,\r\n          byteLength: view.byteLength,\r\n          bytesFilled: 0,\r\n          elementSize: elementSize,\r\n          ctor: ctor,\r\n          readerType: 'byob'\r\n      };\r\n      if (controller._pendingPullIntos.length > 0) {\r\n          controller._pendingPullIntos.push(pullIntoDescriptor);\r\n          // No ReadableByteStreamControllerCallPullIfNeeded() call since:\r\n          // - No change happens on desiredSize\r\n          // - The source has already been notified of that there's at least 1 pending read(view)\r\n          return ReadableStreamAddReadIntoRequest(stream);\r\n      }\r\n      if (stream._state === 'closed') {\r\n          var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\r\n          return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\r\n      }\r\n      if (controller._queueTotalSize > 0) {\r\n          if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n              var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n              ReadableByteStreamControllerHandleQueueDrain(controller);\r\n              return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\r\n          }\r\n          if (controller._closeRequested === true) {\r\n              var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n              ReadableByteStreamControllerError(controller, e);\r\n              return promiseRejectedWith(e);\r\n          }\r\n      }\r\n      controller._pendingPullIntos.push(pullIntoDescriptor);\r\n      var promise = ReadableStreamAddReadIntoRequest(stream);\r\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n      return promise;\r\n  }\r\n  function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\r\n      firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (ReadableStreamHasBYOBReader(stream) === true) {\r\n          while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n              var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n              ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\r\n          }\r\n      }\r\n  }\r\n  function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\r\n      if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\r\n          throw new RangeError('bytesWritten out of range');\r\n      }\r\n      ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\r\n      if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\r\n          // TODO: Figure out whether we should detach the buffer or not here.\r\n          return;\r\n      }\r\n      ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n      var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\r\n      if (remainderSize > 0) {\r\n          var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n          var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\r\n          ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\r\n      }\r\n      pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\r\n      pullIntoDescriptor.bytesFilled -= remainderSize;\r\n      ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n      ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n  }\r\n  function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\r\n      var firstDescriptor = controller._pendingPullIntos.peek();\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (stream._state === 'closed') {\r\n          if (bytesWritten !== 0) {\r\n              throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\r\n          }\r\n          ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\r\n      }\r\n      else {\r\n          ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\r\n      }\r\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n  }\r\n  function ReadableByteStreamControllerShiftPendingPullInto(controller) {\r\n      var descriptor = controller._pendingPullIntos.shift();\r\n      ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n      return descriptor;\r\n  }\r\n  function ReadableByteStreamControllerShouldCallPull(controller) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (stream._state !== 'readable') {\r\n          return false;\r\n      }\r\n      if (controller._closeRequested === true) {\r\n          return false;\r\n      }\r\n      if (controller._started === false) {\r\n          return false;\r\n      }\r\n      if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n          return true;\r\n      }\r\n      if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n          return true;\r\n      }\r\n      var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\r\n      if (desiredSize > 0) {\r\n          return true;\r\n      }\r\n      return false;\r\n  }\r\n  function ReadableByteStreamControllerClearAlgorithms(controller) {\r\n      controller._pullAlgorithm = undefined;\r\n      controller._cancelAlgorithm = undefined;\r\n  }\r\n  // A client of ReadableByteStreamController may use these functions directly to bypass state check.\r\n  function ReadableByteStreamControllerClose(controller) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (controller._queueTotalSize > 0) {\r\n          controller._closeRequested = true;\r\n          return;\r\n      }\r\n      if (controller._pendingPullIntos.length > 0) {\r\n          var firstPendingPullInto = controller._pendingPullIntos.peek();\r\n          if (firstPendingPullInto.bytesFilled > 0) {\r\n              var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n              ReadableByteStreamControllerError(controller, e);\r\n              throw e;\r\n          }\r\n      }\r\n      ReadableByteStreamControllerClearAlgorithms(controller);\r\n      ReadableStreamClose(stream);\r\n  }\r\n  function ReadableByteStreamControllerEnqueue(controller, chunk) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      var buffer = chunk.buffer;\r\n      var byteOffset = chunk.byteOffset;\r\n      var byteLength = chunk.byteLength;\r\n      var transferredBuffer = TransferArrayBuffer(buffer);\r\n      if (ReadableStreamHasDefaultReader(stream) === true) {\r\n          if (ReadableStreamGetNumReadRequests(stream) === 0) {\r\n              ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n          }\r\n          else {\r\n              var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\r\n              ReadableStreamFulfillReadRequest(stream, transferredView, false);\r\n          }\r\n      }\r\n      else if (ReadableStreamHasBYOBReader(stream) === true) {\r\n          // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\r\n          ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n          ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n      }\r\n      else {\r\n          ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n      }\r\n      ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n  }\r\n  function ReadableByteStreamControllerError(controller, e) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      if (stream._state !== 'readable') {\r\n          return;\r\n      }\r\n      ReadableByteStreamControllerClearPendingPullIntos(controller);\r\n      ResetQueue(controller);\r\n      ReadableByteStreamControllerClearAlgorithms(controller);\r\n      ReadableStreamError(stream, e);\r\n  }\r\n  function ReadableByteStreamControllerGetDesiredSize(controller) {\r\n      var stream = controller._controlledReadableByteStream;\r\n      var state = stream._state;\r\n      if (state === 'errored') {\r\n          return null;\r\n      }\r\n      if (state === 'closed') {\r\n          return 0;\r\n      }\r\n      return controller._strategyHWM - controller._queueTotalSize;\r\n  }\r\n  function ReadableByteStreamControllerRespond(controller, bytesWritten) {\r\n      bytesWritten = Number(bytesWritten);\r\n      if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\r\n          throw new RangeError('bytesWritten must be a finite');\r\n      }\r\n      ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\r\n  }\r\n  function ReadableByteStreamControllerRespondWithNewView(controller, view) {\r\n      var firstDescriptor = controller._pendingPullIntos.peek();\r\n      if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\r\n          throw new RangeError('The region specified by view does not match byobRequest');\r\n      }\r\n      if (firstDescriptor.byteLength !== view.byteLength) {\r\n          throw new RangeError('The buffer of view has different capacity than byobRequest');\r\n      }\r\n      firstDescriptor.buffer = view.buffer;\r\n      ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\r\n  }\r\n  function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\r\n      controller._controlledReadableByteStream = stream;\r\n      controller._pullAgain = false;\r\n      controller._pulling = false;\r\n      controller._byobRequest = undefined;\r\n      // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n      controller._queue = controller._queueTotalSize = undefined;\r\n      ResetQueue(controller);\r\n      controller._closeRequested = false;\r\n      controller._started = false;\r\n      controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n      controller._pullAlgorithm = pullAlgorithm;\r\n      controller._cancelAlgorithm = cancelAlgorithm;\r\n      controller._autoAllocateChunkSize = autoAllocateChunkSize;\r\n      controller._pendingPullIntos = new SimpleQueue();\r\n      stream._readableStreamController = controller;\r\n      var startResult = startAlgorithm();\r\n      uponPromise(promiseResolvedWith(startResult), function () {\r\n          controller._started = true;\r\n          ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n      }, function (r) {\r\n          ReadableByteStreamControllerError(controller, r);\r\n      });\r\n  }\r\n  function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\r\n      var controller = Object.create(ReadableByteStreamController.prototype);\r\n      function startAlgorithm() {\r\n          return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\r\n      }\r\n      var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\r\n      var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\r\n      var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\r\n      if (autoAllocateChunkSize !== undefined) {\r\n          autoAllocateChunkSize = Number(autoAllocateChunkSize);\r\n          if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\r\n              throw new RangeError('autoAllocateChunkSize must be a positive integer');\r\n          }\r\n      }\r\n      SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\r\n  }\r\n  function SetUpReadableStreamBYOBRequest(request, controller, view) {\r\n      request._associatedReadableByteStreamController = controller;\r\n      request._view = view;\r\n  }\r\n  // Helper functions for the ReadableStreamBYOBRequest.\r\n  function byobRequestBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\r\n  }\r\n  // Helper functions for the ReadableByteStreamController.\r\n  function byteStreamControllerBrandCheckException(name) {\r\n      return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\r\n  }\n\n  // Abstract operations for the ReadableStream.\r\n  function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\r\n      if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n      var reader = new ReadableStreamBYOBReader(stream);\r\n      reader._forAuthorCode = forAuthorCode;\r\n      return reader;\r\n  }\r\n  // ReadableStream API exposed for controllers.\r\n  function ReadableStreamAddReadIntoRequest(stream) {\r\n      var promise = newPromise(function (resolve, reject) {\r\n          var readIntoRequest = {\r\n              _resolve: resolve,\r\n              _reject: reject\r\n          };\r\n          stream._reader._readIntoRequests.push(readIntoRequest);\r\n      });\r\n      return promise;\r\n  }\r\n  function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\r\n      var reader = stream._reader;\r\n      var readIntoRequest = reader._readIntoRequests.shift();\r\n      readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n  }\r\n  function ReadableStreamGetNumReadIntoRequests(stream) {\r\n      return stream._reader._readIntoRequests.length;\r\n  }\r\n  function ReadableStreamHasBYOBReader(stream) {\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return false;\r\n      }\r\n      if (!IsReadableStreamBYOBReader(reader)) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  var ReadableStreamBYOBReader = /** @class */ (function () {\r\n      function ReadableStreamBYOBReader(stream) {\r\n          if (!IsReadableStream(stream)) {\r\n              throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\r\n                  'byte source');\r\n          }\r\n          if (IsReadableByteStreamController(stream._readableStreamController) === false) {\r\n              throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\r\n                  'source');\r\n          }\r\n          if (IsReadableStreamLocked(stream)) {\r\n              throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n          }\r\n          ReadableStreamReaderGenericInitialize(this, stream);\r\n          this._readIntoRequests = new SimpleQueue();\r\n      }\r\n      Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\r\n          get: function () {\r\n              if (!IsReadableStreamBYOBReader(this)) {\r\n                  return promiseRejectedWith(byobReaderBrandCheckException('closed'));\r\n              }\r\n              return this._closedPromise;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStreamBYOBReader.prototype.cancel = function (reason) {\r\n          if (!IsReadableStreamBYOBReader(this)) {\r\n              return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('cancel'));\r\n          }\r\n          return ReadableStreamReaderGenericCancel(this, reason);\r\n      };\r\n      ReadableStreamBYOBReader.prototype.read = function (view) {\r\n          if (!IsReadableStreamBYOBReader(this)) {\r\n              return promiseRejectedWith(byobReaderBrandCheckException('read'));\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return promiseRejectedWith(readerLockException('read from'));\r\n          }\r\n          if (!ArrayBuffer.isView(view)) {\r\n              return promiseRejectedWith(new TypeError('view must be an array buffer view'));\r\n          }\r\n          if (IsDetachedBuffer(view.buffer) === true) ;\r\n          if (view.byteLength === 0) {\r\n              return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\r\n          }\r\n          return ReadableStreamBYOBReaderRead(this, view);\r\n      };\r\n      ReadableStreamBYOBReader.prototype.releaseLock = function () {\r\n          if (!IsReadableStreamBYOBReader(this)) {\r\n              throw byobReaderBrandCheckException('releaseLock');\r\n          }\r\n          if (this._ownerReadableStream === undefined) {\r\n              return;\r\n          }\r\n          if (this._readIntoRequests.length > 0) {\r\n              throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n          }\r\n          ReadableStreamReaderGenericRelease(this);\r\n      };\r\n      return ReadableStreamBYOBReader;\r\n  }());\r\n  // Abstract operations for the readers.\r\n  function IsReadableStreamBYOBReader(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function ReadableStreamBYOBReaderRead(reader, view) {\r\n      var stream = reader._ownerReadableStream;\r\n      stream._disturbed = true;\r\n      if (stream._state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      // Controllers must implement this.\r\n      return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\r\n  }\r\n  // Helper functions for the ReadableStreamBYOBReader.\r\n  function byobReaderBrandCheckException(name) {\r\n      return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\r\n  }\n\n  var ReadableStream = /** @class */ (function () {\r\n      function ReadableStream(underlyingSource, strategy) {\r\n          if (underlyingSource === void 0) { underlyingSource = {}; }\r\n          if (strategy === void 0) { strategy = {}; }\r\n          InitializeReadableStream(this);\r\n          var size = strategy.size;\r\n          var highWaterMark = strategy.highWaterMark;\r\n          var type = underlyingSource.type;\r\n          var typeString = String(type);\r\n          if (typeString === 'bytes') {\r\n              if (size !== undefined) {\r\n                  throw new RangeError('The strategy for a byte stream cannot have a size function');\r\n              }\r\n              if (highWaterMark === undefined) {\r\n                  highWaterMark = 0;\r\n              }\r\n              highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n              SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\r\n          }\r\n          else if (type === undefined) {\r\n              var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n              if (highWaterMark === undefined) {\r\n                  highWaterMark = 1;\r\n              }\r\n              highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n              SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\r\n          }\r\n          else {\r\n              throw new RangeError('Invalid type is specified');\r\n          }\r\n      }\r\n      Object.defineProperty(ReadableStream.prototype, \"locked\", {\r\n          get: function () {\r\n              if (IsReadableStream(this) === false) {\r\n                  throw streamBrandCheckException$1('locked');\r\n              }\r\n              return IsReadableStreamLocked(this);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      ReadableStream.prototype.cancel = function (reason) {\r\n          if (IsReadableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException$1('cancel'));\r\n          }\r\n          if (IsReadableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\r\n          }\r\n          return ReadableStreamCancel(this, reason);\r\n      };\r\n      ReadableStream.prototype.getReader = function (_a) {\r\n          var mode = (_a === void 0 ? {} : _a).mode;\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('getReader');\r\n          }\r\n          if (mode === undefined) {\r\n              return AcquireReadableStreamDefaultReader(this, true);\r\n          }\r\n          mode = String(mode);\r\n          if (mode === 'byob') {\r\n              return AcquireReadableStreamBYOBReader(this, true);\r\n          }\r\n          throw new RangeError('Invalid mode is specified');\r\n      };\r\n      ReadableStream.prototype.pipeThrough = function (_a, _b) {\r\n          var writable = _a.writable, readable = _a.readable;\r\n          var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('pipeThrough');\r\n          }\r\n          if (IsWritableStream(writable) === false) {\r\n              throw new TypeError('writable argument to pipeThrough must be a WritableStream');\r\n          }\r\n          if (IsReadableStream(readable) === false) {\r\n              throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\r\n          }\r\n          preventClose = Boolean(preventClose);\r\n          preventAbort = Boolean(preventAbort);\r\n          preventCancel = Boolean(preventCancel);\r\n          if (signal !== undefined && !isAbortSignal(signal)) {\r\n              throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\r\n          }\r\n          if (IsReadableStreamLocked(this) === true) {\r\n              throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\r\n          }\r\n          if (IsWritableStreamLocked(writable) === true) {\r\n              throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\r\n          }\r\n          var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\r\n          setPromiseIsHandledToTrue(promise);\r\n          return readable;\r\n      };\r\n      ReadableStream.prototype.pipeTo = function (dest, _a) {\r\n          var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\r\n          if (IsReadableStream(this) === false) {\r\n              return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\r\n          }\r\n          if (IsWritableStream(dest) === false) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\r\n          }\r\n          preventClose = Boolean(preventClose);\r\n          preventAbort = Boolean(preventAbort);\r\n          preventCancel = Boolean(preventCancel);\r\n          if (signal !== undefined && !isAbortSignal(signal)) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\r\n          }\r\n          if (IsReadableStreamLocked(this) === true) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\r\n          }\r\n          if (IsWritableStreamLocked(dest) === true) {\r\n              return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\r\n          }\r\n          return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\r\n      };\r\n      ReadableStream.prototype.tee = function () {\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('tee');\r\n          }\r\n          var branches = ReadableStreamTee(this);\r\n          return createArrayFromList(branches);\r\n      };\r\n      ReadableStream.prototype.getIterator = function (_a) {\r\n          var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\r\n          if (IsReadableStream(this) === false) {\r\n              throw streamBrandCheckException$1('getIterator');\r\n          }\r\n          return AcquireReadableStreamAsyncIterator(this, preventCancel);\r\n      };\r\n      return ReadableStream;\r\n  }());\r\n  if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n      Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\r\n          value: ReadableStream.prototype.getIterator,\r\n          enumerable: false,\r\n          writable: true,\r\n          configurable: true\r\n      });\r\n  }\r\n  // Abstract operations for the ReadableStream.\r\n  // Throws if and only if startAlgorithm throws.\r\n  function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n      if (highWaterMark === void 0) { highWaterMark = 1; }\r\n      if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n      var stream = Object.create(ReadableStream.prototype);\r\n      InitializeReadableStream(stream);\r\n      var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n      SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n      return stream;\r\n  }\r\n  function InitializeReadableStream(stream) {\r\n      stream._state = 'readable';\r\n      stream._reader = undefined;\r\n      stream._storedError = undefined;\r\n      stream._disturbed = false;\r\n  }\r\n  function IsReadableStream(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function IsReadableStreamLocked(stream) {\r\n      if (stream._reader === undefined) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // ReadableStream API exposed for controllers.\r\n  function ReadableStreamCancel(stream, reason) {\r\n      stream._disturbed = true;\r\n      if (stream._state === 'closed') {\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      if (stream._state === 'errored') {\r\n          return promiseRejectedWith(stream._storedError);\r\n      }\r\n      ReadableStreamClose(stream);\r\n      var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\r\n      return transformPromiseWith(sourceCancelPromise, noop);\r\n  }\r\n  function ReadableStreamClose(stream) {\r\n      stream._state = 'closed';\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return;\r\n      }\r\n      if (IsReadableStreamDefaultReader(reader)) {\r\n          reader._readRequests.forEach(function (readRequest) {\r\n              readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n          });\r\n          reader._readRequests = new SimpleQueue();\r\n      }\r\n      defaultReaderClosedPromiseResolve(reader);\r\n  }\r\n  function ReadableStreamError(stream, e) {\r\n      stream._state = 'errored';\r\n      stream._storedError = e;\r\n      var reader = stream._reader;\r\n      if (reader === undefined) {\r\n          return;\r\n      }\r\n      if (IsReadableStreamDefaultReader(reader)) {\r\n          reader._readRequests.forEach(function (readRequest) {\r\n              readRequest._reject(e);\r\n          });\r\n          reader._readRequests = new SimpleQueue();\r\n      }\r\n      else {\r\n          reader._readIntoRequests.forEach(function (readIntoRequest) {\r\n              readIntoRequest._reject(e);\r\n          });\r\n          reader._readIntoRequests = new SimpleQueue();\r\n      }\r\n      defaultReaderClosedPromiseReject(reader, e);\r\n  }\r\n  // Helper functions for the ReadableStream.\r\n  function streamBrandCheckException$1(name) {\r\n      return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\r\n  }\n\n  var ByteLengthQueuingStrategy = /** @class */ (function () {\r\n      function ByteLengthQueuingStrategy(_a) {\r\n          var highWaterMark = _a.highWaterMark;\r\n          this.highWaterMark = highWaterMark;\r\n      }\r\n      ByteLengthQueuingStrategy.prototype.size = function (chunk) {\r\n          return chunk.byteLength;\r\n      };\r\n      return ByteLengthQueuingStrategy;\r\n  }());\n\n  var CountQueuingStrategy = /** @class */ (function () {\r\n      function CountQueuingStrategy(_a) {\r\n          var highWaterMark = _a.highWaterMark;\r\n          this.highWaterMark = highWaterMark;\r\n      }\r\n      CountQueuingStrategy.prototype.size = function () {\r\n          return 1;\r\n      };\r\n      return CountQueuingStrategy;\r\n  }());\n\n  // Class TransformStream\r\n  var TransformStream = /** @class */ (function () {\r\n      function TransformStream(transformer, writableStrategy, readableStrategy) {\r\n          if (transformer === void 0) { transformer = {}; }\r\n          if (writableStrategy === void 0) { writableStrategy = {}; }\r\n          if (readableStrategy === void 0) { readableStrategy = {}; }\r\n          var writableSizeFunction = writableStrategy.size;\r\n          var writableHighWaterMark = writableStrategy.highWaterMark;\r\n          var readableSizeFunction = readableStrategy.size;\r\n          var readableHighWaterMark = readableStrategy.highWaterMark;\r\n          var writableType = transformer.writableType;\r\n          if (writableType !== undefined) {\r\n              throw new RangeError('Invalid writable type specified');\r\n          }\r\n          var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\r\n          if (writableHighWaterMark === undefined) {\r\n              writableHighWaterMark = 1;\r\n          }\r\n          writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\r\n          var readableType = transformer.readableType;\r\n          if (readableType !== undefined) {\r\n              throw new RangeError('Invalid readable type specified');\r\n          }\r\n          var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\r\n          if (readableHighWaterMark === undefined) {\r\n              readableHighWaterMark = 0;\r\n          }\r\n          readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\r\n          var startPromise_resolve;\r\n          var startPromise = newPromise(function (resolve) {\r\n              startPromise_resolve = resolve;\r\n          });\r\n          InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n          SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\r\n          var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\r\n          startPromise_resolve(startResult);\r\n      }\r\n      Object.defineProperty(TransformStream.prototype, \"readable\", {\r\n          get: function () {\r\n              if (IsTransformStream(this) === false) {\r\n                  throw streamBrandCheckException$2('readable');\r\n              }\r\n              return this._readable;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      Object.defineProperty(TransformStream.prototype, \"writable\", {\r\n          get: function () {\r\n              if (IsTransformStream(this) === false) {\r\n                  throw streamBrandCheckException$2('writable');\r\n              }\r\n              return this._writable;\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      return TransformStream;\r\n  }());\r\n  function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\r\n      function startAlgorithm() {\r\n          return startPromise;\r\n      }\r\n      function writeAlgorithm(chunk) {\r\n          return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\r\n      }\r\n      function abortAlgorithm(reason) {\r\n          return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\r\n      }\r\n      function closeAlgorithm() {\r\n          return TransformStreamDefaultSinkCloseAlgorithm(stream);\r\n      }\r\n      stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\r\n      function pullAlgorithm() {\r\n          return TransformStreamDefaultSourcePullAlgorithm(stream);\r\n      }\r\n      function cancelAlgorithm(reason) {\r\n          TransformStreamErrorWritableAndUnblockWrite(stream, reason);\r\n          return promiseResolvedWith(undefined);\r\n      }\r\n      stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n      // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\r\n      stream._backpressure = undefined;\r\n      stream._backpressureChangePromise = undefined;\r\n      stream._backpressureChangePromise_resolve = undefined;\r\n      TransformStreamSetBackpressure(stream, true);\r\n      // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\r\n      stream._transformStreamController = undefined;\r\n  }\r\n  function IsTransformStream(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  // This is a no-op if both sides are already errored.\r\n  function TransformStreamError(stream, e) {\r\n      ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\r\n      TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n  }\r\n  function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\r\n      TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\r\n      WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\r\n      if (stream._backpressure === true) {\r\n          // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\r\n          // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\r\n          // _backpressure is set.\r\n          TransformStreamSetBackpressure(stream, false);\r\n      }\r\n  }\r\n  function TransformStreamSetBackpressure(stream, backpressure) {\r\n      // Passes also when called during construction.\r\n      if (stream._backpressureChangePromise !== undefined) {\r\n          stream._backpressureChangePromise_resolve();\r\n      }\r\n      stream._backpressureChangePromise = newPromise(function (resolve) {\r\n          stream._backpressureChangePromise_resolve = resolve;\r\n      });\r\n      stream._backpressure = backpressure;\r\n  }\r\n  var TransformStreamDefaultController = /** @class */ (function () {\r\n      /** @internal */\r\n      function TransformStreamDefaultController() {\r\n          throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\r\n      }\r\n      Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\r\n          get: function () {\r\n              if (IsTransformStreamDefaultController(this) === false) {\r\n                  throw defaultControllerBrandCheckException$1('desiredSize');\r\n              }\r\n              var readableController = this._controlledTransformStream._readable._readableStreamController;\r\n              return ReadableStreamDefaultControllerGetDesiredSize(readableController);\r\n          },\r\n          enumerable: true,\r\n          configurable: true\r\n      });\r\n      TransformStreamDefaultController.prototype.enqueue = function (chunk) {\r\n          if (IsTransformStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException$1('enqueue');\r\n          }\r\n          TransformStreamDefaultControllerEnqueue(this, chunk);\r\n      };\r\n      TransformStreamDefaultController.prototype.error = function (reason) {\r\n          if (IsTransformStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException$1('error');\r\n          }\r\n          TransformStreamDefaultControllerError(this, reason);\r\n      };\r\n      TransformStreamDefaultController.prototype.terminate = function () {\r\n          if (IsTransformStreamDefaultController(this) === false) {\r\n              throw defaultControllerBrandCheckException$1('terminate');\r\n          }\r\n          TransformStreamDefaultControllerTerminate(this);\r\n      };\r\n      return TransformStreamDefaultController;\r\n  }());\r\n  // Transform Stream Default Controller Abstract Operations\r\n  function IsTransformStreamDefaultController(x) {\r\n      if (!typeIsObject(x)) {\r\n          return false;\r\n      }\r\n      if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\r\n          return false;\r\n      }\r\n      return true;\r\n  }\r\n  function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\r\n      controller._controlledTransformStream = stream;\r\n      stream._transformStreamController = controller;\r\n      controller._transformAlgorithm = transformAlgorithm;\r\n      controller._flushAlgorithm = flushAlgorithm;\r\n  }\r\n  function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\r\n      var controller = Object.create(TransformStreamDefaultController.prototype);\r\n      var transformAlgorithm = function (chunk) {\r\n          try {\r\n              TransformStreamDefaultControllerEnqueue(controller, chunk);\r\n              return promiseResolvedWith(undefined);\r\n          }\r\n          catch (transformResultE) {\r\n              return promiseRejectedWith(transformResultE);\r\n          }\r\n      };\r\n      var transformMethod = transformer.transform;\r\n      if (transformMethod !== undefined) {\r\n          if (typeof transformMethod !== 'function') {\r\n              throw new TypeError('transform is not a method');\r\n          }\r\n          transformAlgorithm = function (chunk) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\r\n      }\r\n      var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\r\n      SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\r\n  }\r\n  function TransformStreamDefaultControllerClearAlgorithms(controller) {\r\n      controller._transformAlgorithm = undefined;\r\n      controller._flushAlgorithm = undefined;\r\n  }\r\n  function TransformStreamDefaultControllerEnqueue(controller, chunk) {\r\n      var stream = controller._controlledTransformStream;\r\n      var readableController = stream._readable._readableStreamController;\r\n      if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\r\n          throw new TypeError('Readable side is not in a state that permits enqueue');\r\n      }\r\n      // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\r\n      // accept TransformStreamDefaultControllerEnqueue() calls.\r\n      try {\r\n          ReadableStreamDefaultControllerEnqueue(readableController, chunk);\r\n      }\r\n      catch (e) {\r\n          // This happens when readableStrategy.size() throws.\r\n          TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n          throw stream._readable._storedError;\r\n      }\r\n      var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\r\n      if (backpressure !== stream._backpressure) {\r\n          TransformStreamSetBackpressure(stream, true);\r\n      }\r\n  }\r\n  function TransformStreamDefaultControllerError(controller, e) {\r\n      TransformStreamError(controller._controlledTransformStream, e);\r\n  }\r\n  function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\r\n      var transformPromise = controller._transformAlgorithm(chunk);\r\n      return transformPromiseWith(transformPromise, undefined, function (r) {\r\n          TransformStreamError(controller._controlledTransformStream, r);\r\n          throw r;\r\n      });\r\n  }\r\n  function TransformStreamDefaultControllerTerminate(controller) {\r\n      var stream = controller._controlledTransformStream;\r\n      var readableController = stream._readable._readableStreamController;\r\n      if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n          ReadableStreamDefaultControllerClose(readableController);\r\n      }\r\n      var error = new TypeError('TransformStream terminated');\r\n      TransformStreamErrorWritableAndUnblockWrite(stream, error);\r\n  }\r\n  // TransformStreamDefaultSink Algorithms\r\n  function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\r\n      var controller = stream._transformStreamController;\r\n      if (stream._backpressure === true) {\r\n          var backpressureChangePromise = stream._backpressureChangePromise;\r\n          return transformPromiseWith(backpressureChangePromise, function () {\r\n              var writable = stream._writable;\r\n              var state = writable._state;\r\n              if (state === 'erroring') {\r\n                  throw writable._storedError;\r\n              }\r\n              return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n          });\r\n      }\r\n      return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n  }\r\n  function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\r\n      // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\r\n      // errored.\r\n      TransformStreamError(stream, reason);\r\n      return promiseResolvedWith(undefined);\r\n  }\r\n  function TransformStreamDefaultSinkCloseAlgorithm(stream) {\r\n      // stream._readable cannot change after construction, so caching it across a call to user code is safe.\r\n      var readable = stream._readable;\r\n      var controller = stream._transformStreamController;\r\n      var flushPromise = controller._flushAlgorithm();\r\n      TransformStreamDefaultControllerClearAlgorithms(controller);\r\n      // Return a promise that is fulfilled with undefined on success.\r\n      return transformPromiseWith(flushPromise, function () {\r\n          if (readable._state === 'errored') {\r\n              throw readable._storedError;\r\n          }\r\n          var readableController = readable._readableStreamController;\r\n          if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n              ReadableStreamDefaultControllerClose(readableController);\r\n          }\r\n      }, function (r) {\r\n          TransformStreamError(stream, r);\r\n          throw readable._storedError;\r\n      });\r\n  }\r\n  // TransformStreamDefaultSource Algorithms\r\n  function TransformStreamDefaultSourcePullAlgorithm(stream) {\r\n      // Invariant. Enforced by the promises returned by start() and pull().\r\n      TransformStreamSetBackpressure(stream, false);\r\n      // Prevent the next pull() call until there is backpressure.\r\n      return stream._backpressureChangePromise;\r\n  }\r\n  // Helper functions for the TransformStreamDefaultController.\r\n  function defaultControllerBrandCheckException$1(name) {\r\n      return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\r\n  }\r\n  // Helper functions for the TransformStream.\r\n  function streamBrandCheckException$2(name) {\r\n      return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\r\n  }\n\n  exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n  exports.CountQueuingStrategy = CountQueuingStrategy;\n  exports.ReadableStream = ReadableStream;\n  exports.TransformStream = TransformStream;\n  exports.WritableStream = WritableStream;\n\n  Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=ponyfill.js.map\n","require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\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 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 nativeMethod = NativePrototype[KEY];\n    redefine(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        nativeMethod.call(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        nativeMethod.call(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  // eslint-disable-next-line max-len\n  if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n    new NativeConstructor().entries().next();\n  })))) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.REQUIRED = true;\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\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, Constructor, CONSTRUCTOR_NAME);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], that, 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 hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\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 (!has(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 (!has(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 && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar meta = module.exports = {\n  REQUIRED: false,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n","var 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    typeof (NewTarget = dummy.constructor) == 'function' &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\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 C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\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, IS_MAP);\n    });\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(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 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      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\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      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\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      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.1.3.6 Map.prototype.get(key)\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // 23.1.3.9 Map.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // 23.2.3.1 Set.prototype.add(value)\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return C;\n  },\n  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    defineIterator(C, 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    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n","require('../../modules/es.set');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Set;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-map');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakMap;\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n  return function WeakMap() {\n    return init(this, arguments.length ? arguments[0] : undefined);\n  };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n  InternalMetadataModule.REQUIRED = true;\n  var WeakMapPrototype = $WeakMap.prototype;\n  var nativeDelete = WeakMapPrototype['delete'];\n  var nativeHas = WeakMapPrototype.has;\n  var nativeGet = WeakMapPrototype.get;\n  var nativeSet = WeakMapPrototype.set;\n  redefineAll(WeakMapPrototype, {\n    'delete': function (key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeDelete.call(this, key) || state.frozen['delete'](key);\n      } return nativeDelete.call(this, key);\n    },\n    has: function has(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) || state.frozen.has(key);\n      } return nativeHas.call(this, key);\n    },\n    get: function get(key) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n      } return nativeGet.call(this, key);\n    },\n    set: function set(key, value) {\n      if (isObject(key) && !isExtensible(key)) {\n        var state = enforceIternalState(this);\n        if (!state.frozen) state.frozen = new InternalWeakMap();\n        nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n      } else nativeSet.call(this, key, value);\n      return this;\n    }\n  });\n}\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n  return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n  this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n  return find(store.entries, function (it) {\n    return it[0] === key;\n  });\n};\n\nUncaughtFrozenStore.prototype = {\n  get: function (key) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) return entry[1];\n  },\n  has: function (key) {\n    return !!findUncaughtFrozen(this, key);\n  },\n  set: function (key, value) {\n    var entry = findUncaughtFrozen(this, key);\n    if (entry) entry[1] = value;\n    else this.entries.push([key, value]);\n  },\n  'delete': function (key) {\n    var index = findIndex(this.entries, function (it) {\n      return it[0] === key;\n    });\n    if (~index) this.entries.splice(index, 1);\n    return !!~index;\n  }\n};\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        id: id++,\n        frozen: undefined\n      });\n      if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var data = getWeakData(anObject(key), true);\n      if (data === true) uncaughtFrozenStore(state).set(key, value);\n      else data[state.id] = value;\n      return that;\n    };\n\n    redefineAll(C.prototype, {\n      // 23.3.3.2 WeakMap.prototype.delete(key)\n      // 23.4.3.3 WeakSet.prototype.delete(value)\n      'delete': function (key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n        return data && $has(data, state.id) && delete data[state.id];\n      },\n      // 23.3.3.4 WeakMap.prototype.has(key)\n      // 23.4.3.4 WeakSet.prototype.has(value)\n      has: function has(key) {\n        var state = getInternalState(this);\n        if (!isObject(key)) return false;\n        var data = getWeakData(key);\n        if (data === true) return uncaughtFrozenStore(state).has(key);\n        return data && $has(data, state.id);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.3.3.3 WeakMap.prototype.get(key)\n      get: function get(key) {\n        var state = getInternalState(this);\n        if (isObject(key)) {\n          var data = getWeakData(key);\n          if (data === true) return uncaughtFrozenStore(state).get(key);\n          return data ? data[state.id] : undefined;\n        }\n      },\n      // 23.3.3.5 WeakMap.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key, value);\n      }\n    } : {\n      // 23.4.3.1 WeakSet.prototype.add(value)\n      add: function add(value) {\n        return define(this, value, true);\n      }\n    });\n\n    return C;\n  }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` 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 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, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER ? 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.call(target, value); // filter\n        } else if (IS_EVERY) return false;  // every\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.github.io/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (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 new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n  return classof(arg) == 'Array';\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-set');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakSet;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (init) {\n  return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak);\n","require('../../modules/es.string.code-point-at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'codePointAt');\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n  codePointAt: function codePointAt(pos) {\n    return codeAt(this, pos);\n  }\n});\n","require('../../modules/es.string.from-code-point');\nvar path = require('../../internals/path');\n\nmodule.exports = path.String.fromCodePoint;\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\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.push(code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n      );\n    } return elements.join('');\n  }\n});\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\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';\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.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  concat: function concat(arg) { // eslint-disable-line no-unused-vars\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 = toLength(E.length);\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 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 $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\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 createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\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');\nvar QObject = global.QObject;\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($Symbol[PROTOTYPE]);\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 isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPrimitive(P, true);\n  anObject(Attributes);\n  if (has(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n      O[HIDDEN][key] = true;\n    } else {\n      if (has(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 || $propertyIsEnumerable.call(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 = toPrimitive(V, true);\n  var enumerable = nativePropertyIsEnumerable.call(this, P);\n  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPrimitive(P, true);\n  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && has(AllSymbols, key) && !(has(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 (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(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 (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n      result.push(AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n      if (has(this, HIDDEN) && has(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  redefine($Symbol[PROTOTYPE], '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($Symbol[PROTOTYPE], '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.github.io/ecma262/#sec-symbol.for\n  'for': function (key) {\n    var string = String(key);\n    if (has(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.github.io/ecma262/#sec-symbol.keyfor\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n    if (has(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.github.io/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.github.io/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.github.io/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // `Object.getOwnPropertySymbols` method\n  // https://tc39.github.io/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.github.io/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\n    stringify: function stringify(it, replacer, space) {\n      var args = [it];\n      var index = 1;\n      var $replacer;\n      while (arguments.length > index) args.push(arguments[index++]);\n      $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 (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n        if (!isSymbol(value)) return value;\n      };\n      args[1] = replacer;\n      return $stringify.apply(null, args);\n    }\n  });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n  createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return nativeGetOwnPropertyNames(it);\n  } catch (error) {\n    return windowNames.slice();\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && toString.call(it) == '[object Window]'\n    ? getWindowNames(it)\n    : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\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 (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\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 : String(arguments[0]);\n    var result = this instanceof SymbolWrapper\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  copyConstructorProperties(SymbolWrapper, NativeSymbol);\n  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n  symbolPrototype.constructor = SymbolWrapper;\n\n  var symbolToString = symbolPrototype.toString;\n  var native = String(NativeSymbol('test')) == 'Symbol(test)';\n  var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n  defineProperty(symbolPrototype, 'description', {\n    configurable: true,\n    get: function description() {\n      var symbol = isObject(this) ? this.valueOf() : this;\n      var string = symbolToString.call(symbol);\n      if (has(EmptyStringDescriptionStore, symbol)) return '';\n      var desc = native ? string.slice(7, -1) : string.replace(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.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/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.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es.string.pad-start');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padStart');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n  return function ($this, maxLength, fillString) {\n    var S = String(requireObjectCoercible($this));\n    var stringLength = S.length;\n    var fillStr = fillString === undefined ? ' ' : String(fillString);\n    var intMaxLength = toLength(maxLength);\n    var fillLen, stringFiller;\n    if (intMaxLength <= stringLength || fillStr == '') return S;\n    fillLen = intMaxLength - stringLength;\n    stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n    if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n    return IS_END ? S + stringFiller : stringFiller + S;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.padStart` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n  start: createMethod(false),\n  // `String.prototype.padEnd` method\n  // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n  end: createMethod(true)\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n  var str = String(requireObjectCoercible(this));\n  var result = '';\n  var n = toInteger(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","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","require('../../modules/es.string.pad-end');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padEnd');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n    return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n  values: function values(O) {\n    return $values(O);\n  }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\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.call(O, key)) {\n        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.github.io/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.github.io/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n","/* Copyright 2012 Mozilla Foundation\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/* uses XRef */\n\nimport { assert, unreachable } from \"../shared/util.js\";\n\nvar EOF = {};\n\nvar Name = (function NameClosure() {\n  let nameCache = Object.create(null);\n\n  function Name(name) {\n    this.name = name;\n  }\n\n  Name.prototype = {};\n\n  Name.get = function Name_get(name) {\n    var nameValue = nameCache[name];\n    // eslint-disable-next-line no-restricted-syntax\n    return nameValue ? nameValue : (nameCache[name] = new Name(name));\n  };\n\n  Name._clearCache = function() {\n    nameCache = Object.create(null);\n  };\n\n  return Name;\n})();\n\nvar Cmd = (function CmdClosure() {\n  let cmdCache = Object.create(null);\n\n  function Cmd(cmd) {\n    this.cmd = cmd;\n  }\n\n  Cmd.prototype = {};\n\n  Cmd.get = function Cmd_get(cmd) {\n    var cmdValue = cmdCache[cmd];\n    // eslint-disable-next-line no-restricted-syntax\n    return cmdValue ? cmdValue : (cmdCache[cmd] = new Cmd(cmd));\n  };\n\n  Cmd._clearCache = function() {\n    cmdCache = Object.create(null);\n  };\n\n  return Cmd;\n})();\n\nvar Dict = (function DictClosure() {\n  var nonSerializable = function nonSerializableClosure() {\n    return nonSerializable; // creating closure on some variable\n  };\n\n  // xref is optional\n  function Dict(xref) {\n    // Map should only be used internally, use functions below to access.\n    this._map = Object.create(null);\n    this.xref = xref;\n    this.objId = null;\n    this.suppressEncryption = false;\n    this.__nonSerializable__ = nonSerializable; // disable cloning of the Dict\n  }\n\n  Dict.prototype = {\n    assignXref: function Dict_assignXref(newXref) {\n      this.xref = newXref;\n    },\n\n    // automatically dereferences Ref objects\n    get(key1, key2, key3) {\n      let value = this._map[key1];\n      if (value === undefined && key2 !== undefined) {\n        value = this._map[key2];\n        if (value === undefined && key3 !== undefined) {\n          value = this._map[key3];\n        }\n      }\n      if (value instanceof Ref && this.xref) {\n        return this.xref.fetch(value, this.suppressEncryption);\n      }\n      return value;\n    },\n\n    // Same as get(), but returns a promise and uses fetchIfRefAsync().\n    async getAsync(key1, key2, key3) {\n      let value = this._map[key1];\n      if (value === undefined && key2 !== undefined) {\n        value = this._map[key2];\n        if (value === undefined && key3 !== undefined) {\n          value = this._map[key3];\n        }\n      }\n      if (value instanceof Ref && this.xref) {\n        return this.xref.fetchAsync(value, this.suppressEncryption);\n      }\n      return value;\n    },\n\n    // Same as get(), but dereferences all elements if the result is an Array.\n    getArray(key1, key2, key3) {\n      let value = this.get(key1, key2, key3);\n      if (!Array.isArray(value) || !this.xref) {\n        return value;\n      }\n      value = value.slice(); // Ensure that we don't modify the Dict data.\n      for (let i = 0, ii = value.length; i < ii; i++) {\n        if (!(value[i] instanceof Ref)) {\n          continue;\n        }\n        value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n      }\n      return value;\n    },\n\n    // no dereferencing\n    getRaw: function Dict_getRaw(key) {\n      return this._map[key];\n    },\n\n    getKeys: function Dict_getKeys() {\n      return Object.keys(this._map);\n    },\n\n    set: function Dict_set(key, value) {\n      if (\n        (typeof PDFJSDev === \"undefined\" ||\n          PDFJSDev.test(\"!PRODUCTION || TESTING\")) &&\n        value === undefined\n      ) {\n        unreachable('Dict.set: The \"value\" cannot be undefined.');\n      }\n      this._map[key] = value;\n    },\n\n    has: function Dict_has(key) {\n      return this._map[key] !== undefined;\n    },\n\n    forEach: function Dict_forEach(callback) {\n      for (var key in this._map) {\n        callback(key, this.get(key));\n      }\n    },\n  };\n\n  Dict.empty = new Dict(null);\n\n  Dict.merge = function(xref, dictArray) {\n    const mergedDict = new Dict(xref);\n\n    for (let i = 0, ii = dictArray.length; i < ii; i++) {\n      const dict = dictArray[i];\n      if (!isDict(dict)) {\n        continue;\n      }\n      for (const keyName in dict._map) {\n        if (mergedDict._map[keyName] !== undefined) {\n          continue;\n        }\n        mergedDict._map[keyName] = dict._map[keyName];\n      }\n    }\n    return mergedDict;\n  };\n\n  return Dict;\n})();\n\nvar Ref = (function RefClosure() {\n  let refCache = Object.create(null);\n\n  function Ref(num, gen) {\n    this.num = num;\n    this.gen = gen;\n  }\n\n  Ref.prototype = {\n    toString: function Ref_toString() {\n      // This function is hot, so we make the string as compact as possible.\n      // |this.gen| is almost always zero, so we treat that case specially.\n      if (this.gen === 0) {\n        return `${this.num}R`;\n      }\n      return `${this.num}R${this.gen}`;\n    },\n  };\n\n  Ref.get = function(num, gen) {\n    const key = gen === 0 ? `${num}R` : `${num}R${gen}`;\n    const refValue = refCache[key];\n    // eslint-disable-next-line no-restricted-syntax\n    return refValue ? refValue : (refCache[key] = new Ref(num, gen));\n  };\n\n  Ref._clearCache = function() {\n    refCache = Object.create(null);\n  };\n\n  return Ref;\n})();\n\n// The reference is identified by number and generation.\n// This structure stores only one instance of the reference.\nvar RefSet = (function RefSetClosure() {\n  function RefSet() {\n    this.dict = Object.create(null);\n  }\n\n  RefSet.prototype = {\n    has: function RefSet_has(ref) {\n      return ref.toString() in this.dict;\n    },\n\n    put: function RefSet_put(ref) {\n      this.dict[ref.toString()] = true;\n    },\n\n    remove: function RefSet_remove(ref) {\n      delete this.dict[ref.toString()];\n    },\n  };\n\n  return RefSet;\n})();\n\nvar RefSetCache = (function RefSetCacheClosure() {\n  function RefSetCache() {\n    this.dict = Object.create(null);\n  }\n\n  RefSetCache.prototype = {\n    get: function RefSetCache_get(ref) {\n      return this.dict[ref.toString()];\n    },\n\n    has: function RefSetCache_has(ref) {\n      return ref.toString() in this.dict;\n    },\n\n    put: function RefSetCache_put(ref, obj) {\n      this.dict[ref.toString()] = obj;\n    },\n\n    putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n      this.dict[ref.toString()] = this.get(aliasRef);\n    },\n\n    forEach: function RefSetCache_forEach(callback) {\n      for (const i in this.dict) {\n        callback(this.dict[i]);\n      }\n    },\n\n    clear: function RefSetCache_clear() {\n      this.dict = Object.create(null);\n    },\n  };\n\n  return RefSetCache;\n})();\n\nfunction isEOF(v) {\n  return v === EOF;\n}\n\nfunction isName(v, name) {\n  return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n  return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n  return (\n    v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type))\n  );\n}\n\nfunction isRef(v) {\n  return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n  if (\n    typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!PRODUCTION || TESTING\")\n  ) {\n    assert(\n      v1 instanceof Ref && v2 instanceof Ref,\n      \"isRefsEqual: Both parameters should be `Ref`s.\"\n    );\n  }\n  return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n  return typeof v === \"object\" && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n  Cmd._clearCache();\n  Name._clearCache();\n  Ref._clearCache();\n}\n\nexport {\n  EOF,\n  clearPrimitiveCaches,\n  Cmd,\n  Dict,\n  Name,\n  Ref,\n  RefSet,\n  RefSetCache,\n  isEOF,\n  isCmd,\n  isDict,\n  isName,\n  isRef,\n  isRefsEqual,\n  isStream,\n};\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  createValidAbsoluteUrl,\n  shadow,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport { ChunkedStreamManager } from \"./chunked_stream.js\";\nimport { MissingDataException } from \"./core_utils.js\";\nimport { PDFDocument } from \"./document.js\";\nimport { Stream } from \"./stream.js\";\n\nclass BasePdfManager {\n  constructor() {\n    if (this.constructor === BasePdfManager) {\n      unreachable(\"Cannot initialize BasePdfManager.\");\n    }\n  }\n\n  get docId() {\n    return this._docId;\n  }\n\n  get password() {\n    return this._password;\n  }\n\n  get docBaseUrl() {\n    let docBaseUrl = null;\n    if (this._docBaseUrl) {\n      const absoluteUrl = createValidAbsoluteUrl(this._docBaseUrl);\n      if (absoluteUrl) {\n        docBaseUrl = absoluteUrl.href;\n      } else {\n        warn(`Invalid absolute docBaseUrl: \"${this._docBaseUrl}\".`);\n      }\n    }\n    return shadow(this, \"docBaseUrl\", docBaseUrl);\n  }\n\n  onLoadedStream() {\n    unreachable(\"Abstract method `onLoadedStream` called\");\n  }\n\n  ensureDoc(prop, args) {\n    return this.ensure(this.pdfDocument, prop, args);\n  }\n\n  ensureXRef(prop, args) {\n    return this.ensure(this.pdfDocument.xref, prop, args);\n  }\n\n  ensureCatalog(prop, args) {\n    return this.ensure(this.pdfDocument.catalog, prop, args);\n  }\n\n  getPage(pageIndex) {\n    return this.pdfDocument.getPage(pageIndex);\n  }\n\n  fontFallback(id, handler) {\n    return this.pdfDocument.fontFallback(id, handler);\n  }\n\n  cleanup() {\n    return this.pdfDocument.cleanup();\n  }\n\n  async ensure(obj, prop, args) {\n    unreachable(\"Abstract method `ensure` called\");\n  }\n\n  requestRange(begin, end) {\n    unreachable(\"Abstract method `requestRange` called\");\n  }\n\n  requestLoadedStream() {\n    unreachable(\"Abstract method `requestLoadedStream` called\");\n  }\n\n  sendProgressiveData(chunk) {\n    unreachable(\"Abstract method `sendProgressiveData` called\");\n  }\n\n  updatePassword(password) {\n    this._password = password;\n  }\n\n  terminate(reason) {\n    unreachable(\"Abstract method `terminate` called\");\n  }\n}\n\nclass LocalPdfManager extends BasePdfManager {\n  constructor(docId, data, password, evaluatorOptions, docBaseUrl) {\n    super();\n\n    this._docId = docId;\n    this._password = password;\n    this._docBaseUrl = docBaseUrl;\n    this.evaluatorOptions = evaluatorOptions;\n\n    const stream = new Stream(data);\n    this.pdfDocument = new PDFDocument(this, stream);\n    this._loadedStreamPromise = Promise.resolve(stream);\n  }\n\n  async ensure(obj, prop, args) {\n    const value = obj[prop];\n    if (typeof value === \"function\") {\n      return value.apply(obj, args);\n    }\n    return value;\n  }\n\n  requestRange(begin, end) {\n    return Promise.resolve();\n  }\n\n  requestLoadedStream() {}\n\n  onLoadedStream() {\n    return this._loadedStreamPromise;\n  }\n\n  terminate(reason) {}\n}\n\nclass NetworkPdfManager extends BasePdfManager {\n  constructor(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n    super();\n\n    this._docId = docId;\n    this._password = args.password;\n    this._docBaseUrl = docBaseUrl;\n    this.msgHandler = args.msgHandler;\n    this.evaluatorOptions = evaluatorOptions;\n\n    this.streamManager = new ChunkedStreamManager(pdfNetworkStream, {\n      msgHandler: args.msgHandler,\n      length: args.length,\n      disableAutoFetch: args.disableAutoFetch,\n      rangeChunkSize: args.rangeChunkSize,\n    });\n    this.pdfDocument = new PDFDocument(this, this.streamManager.getStream());\n  }\n\n  async ensure(obj, prop, args) {\n    try {\n      const value = obj[prop];\n      if (typeof value === \"function\") {\n        return value.apply(obj, args);\n      }\n      return value;\n    } catch (ex) {\n      if (!(ex instanceof MissingDataException)) {\n        throw ex;\n      }\n      await this.requestRange(ex.begin, ex.end);\n      return this.ensure(obj, prop, args);\n    }\n  }\n\n  requestRange(begin, end) {\n    return this.streamManager.requestRange(begin, end);\n  }\n\n  requestLoadedStream() {\n    this.streamManager.requestAllChunks();\n  }\n\n  sendProgressiveData(chunk) {\n    this.streamManager.onReceiveData({ chunk });\n  }\n\n  onLoadedStream() {\n    return this.streamManager.onLoadedStream();\n  }\n\n  terminate(reason) {\n    this.streamManager.abort(reason);\n  }\n}\n\nexport { LocalPdfManager, NetworkPdfManager };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  arrayByteLength,\n  arraysToBytes,\n  createPromiseCapability,\n  isEmptyObj,\n} from \"../shared/util.js\";\nimport { MissingDataException } from \"./core_utils.js\";\n\nclass ChunkedStream {\n  constructor(length, chunkSize, manager) {\n    this.bytes = new Uint8Array(length);\n    this.start = 0;\n    this.pos = 0;\n    this.end = length;\n    this.chunkSize = chunkSize;\n    this.loadedChunks = [];\n    this.numChunksLoaded = 0;\n    this.numChunks = Math.ceil(length / chunkSize);\n    this.manager = manager;\n    this.progressiveDataLength = 0;\n    this.lastSuccessfulEnsureByteChunk = -1; // Single-entry cache\n  }\n\n  // If a particular stream does not implement one or more of these methods,\n  // an error should be thrown.\n  getMissingChunks() {\n    const chunks = [];\n    for (let chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n      if (!this.loadedChunks[chunk]) {\n        chunks.push(chunk);\n      }\n    }\n    return chunks;\n  }\n\n  getBaseStreams() {\n    return [this];\n  }\n\n  allChunksLoaded() {\n    return this.numChunksLoaded === this.numChunks;\n  }\n\n  onReceiveData(begin, chunk) {\n    const chunkSize = this.chunkSize;\n    if (begin % chunkSize !== 0) {\n      throw new Error(`Bad begin offset: ${begin}`);\n    }\n\n    // Using `this.length` is inaccurate here since `this.start` can be moved\n    // (see the `moveStart` method).\n    const end = begin + chunk.byteLength;\n    if (end % chunkSize !== 0 && end !== this.bytes.length) {\n      throw new Error(`Bad end offset: ${end}`);\n    }\n\n    this.bytes.set(new Uint8Array(chunk), begin);\n    const beginChunk = Math.floor(begin / chunkSize);\n    const endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n    for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n      if (!this.loadedChunks[curChunk]) {\n        this.loadedChunks[curChunk] = true;\n        ++this.numChunksLoaded;\n      }\n    }\n  }\n\n  onReceiveProgressiveData(data) {\n    let position = this.progressiveDataLength;\n    const beginChunk = Math.floor(position / this.chunkSize);\n\n    this.bytes.set(new Uint8Array(data), position);\n    position += data.byteLength;\n    this.progressiveDataLength = position;\n    const endChunk =\n      position >= this.end\n        ? this.numChunks\n        : Math.floor(position / this.chunkSize);\n\n    for (let curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n      if (!this.loadedChunks[curChunk]) {\n        this.loadedChunks[curChunk] = true;\n        ++this.numChunksLoaded;\n      }\n    }\n  }\n\n  ensureByte(pos) {\n    if (pos < this.progressiveDataLength) {\n      return;\n    }\n\n    const chunk = Math.floor(pos / this.chunkSize);\n    if (chunk === this.lastSuccessfulEnsureByteChunk) {\n      return;\n    }\n\n    if (!this.loadedChunks[chunk]) {\n      throw new MissingDataException(pos, pos + 1);\n    }\n    this.lastSuccessfulEnsureByteChunk = chunk;\n  }\n\n  ensureRange(begin, end) {\n    if (begin >= end) {\n      return;\n    }\n    if (end <= this.progressiveDataLength) {\n      return;\n    }\n\n    const chunkSize = this.chunkSize;\n    const beginChunk = Math.floor(begin / chunkSize);\n    const endChunk = Math.floor((end - 1) / chunkSize) + 1;\n    for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n      if (!this.loadedChunks[chunk]) {\n        throw new MissingDataException(begin, end);\n      }\n    }\n  }\n\n  nextEmptyChunk(beginChunk) {\n    const numChunks = this.numChunks;\n    for (let i = 0; i < numChunks; ++i) {\n      const chunk = (beginChunk + i) % numChunks; // Wrap around to beginning.\n      if (!this.loadedChunks[chunk]) {\n        return chunk;\n      }\n    }\n    return null;\n  }\n\n  hasChunk(chunk) {\n    return !!this.loadedChunks[chunk];\n  }\n\n  get length() {\n    return this.end - this.start;\n  }\n\n  get isEmpty() {\n    return this.length === 0;\n  }\n\n  getByte() {\n    const pos = this.pos;\n    if (pos >= this.end) {\n      return -1;\n    }\n    if (pos >= this.progressiveDataLength) {\n      this.ensureByte(pos);\n    }\n    return this.bytes[this.pos++];\n  }\n\n  getUint16() {\n    const b0 = this.getByte();\n    const b1 = this.getByte();\n    if (b0 === -1 || b1 === -1) {\n      return -1;\n    }\n    return (b0 << 8) + b1;\n  }\n\n  getInt32() {\n    const b0 = this.getByte();\n    const b1 = this.getByte();\n    const b2 = this.getByte();\n    const b3 = this.getByte();\n    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n  }\n\n  // Returns subarray of original buffer, should only be read.\n  getBytes(length, forceClamped = false) {\n    const bytes = this.bytes;\n    const pos = this.pos;\n    const strEnd = this.end;\n\n    if (!length) {\n      if (strEnd > this.progressiveDataLength) {\n        this.ensureRange(pos, strEnd);\n      }\n      const subarray = bytes.subarray(pos, strEnd);\n      // `this.bytes` is always a `Uint8Array` here.\n      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n    }\n\n    let end = pos + length;\n    if (end > strEnd) {\n      end = strEnd;\n    }\n    if (end > this.progressiveDataLength) {\n      this.ensureRange(pos, end);\n    }\n\n    this.pos = end;\n    const subarray = bytes.subarray(pos, end);\n    // `this.bytes` is always a `Uint8Array` here.\n    return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n  }\n\n  peekByte() {\n    const peekedByte = this.getByte();\n    if (peekedByte !== -1) {\n      this.pos--;\n    }\n    return peekedByte;\n  }\n\n  peekBytes(length, forceClamped = false) {\n    const bytes = this.getBytes(length, forceClamped);\n    this.pos -= bytes.length;\n    return bytes;\n  }\n\n  getByteRange(begin, end) {\n    if (begin < 0) {\n      begin = 0;\n    }\n    if (end > this.end) {\n      end = this.end;\n    }\n    if (end > this.progressiveDataLength) {\n      this.ensureRange(begin, end);\n    }\n    return this.bytes.subarray(begin, end);\n  }\n\n  skip(n) {\n    if (!n) {\n      n = 1;\n    }\n    this.pos += n;\n  }\n\n  reset() {\n    this.pos = this.start;\n  }\n\n  moveStart() {\n    this.start = this.pos;\n  }\n\n  makeSubStream(start, length, dict) {\n    if (length) {\n      if (start + length > this.progressiveDataLength) {\n        this.ensureRange(start, start + length);\n      }\n    } else {\n      // When the `length` is undefined you do *not*, under any circumstances,\n      // want to fallback on calling `this.ensureRange(start, this.end)` since\n      // that would force the *entire* PDF file to be loaded, thus completely\n      // breaking the whole purpose of using streaming and/or range requests.\n      //\n      // However, not doing any checking here could very easily lead to wasted\n      // time/resources during e.g. parsing, since `MissingDataException`s will\n      // require data to be re-parsed, which we attempt to minimize by at least\n      // checking that the *beginning* of the data is available here.\n      if (start >= this.progressiveDataLength) {\n        this.ensureByte(start);\n      }\n    }\n\n    function ChunkedStreamSubstream() {}\n    ChunkedStreamSubstream.prototype = Object.create(this);\n    ChunkedStreamSubstream.prototype.getMissingChunks = function() {\n      const chunkSize = this.chunkSize;\n      const beginChunk = Math.floor(this.start / chunkSize);\n      const endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n      const missingChunks = [];\n      for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n        if (!this.loadedChunks[chunk]) {\n          missingChunks.push(chunk);\n        }\n      }\n      return missingChunks;\n    };\n    ChunkedStreamSubstream.prototype.allChunksLoaded = function() {\n      if (this.numChunksLoaded === this.numChunks) {\n        return true;\n      }\n      return this.getMissingChunks().length === 0;\n    };\n\n    const subStream = new ChunkedStreamSubstream();\n    subStream.pos = subStream.start = start;\n    subStream.end = start + length || this.end;\n    subStream.dict = dict;\n    return subStream;\n  }\n}\n\nclass ChunkedStreamManager {\n  constructor(pdfNetworkStream, args) {\n    this.length = args.length;\n    this.chunkSize = args.rangeChunkSize;\n    this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n    this.pdfNetworkStream = pdfNetworkStream;\n    this.disableAutoFetch = args.disableAutoFetch;\n    this.msgHandler = args.msgHandler;\n\n    this.currRequestId = 0;\n\n    this.chunksNeededByRequest = Object.create(null);\n    this.requestsByChunk = Object.create(null);\n    this.promisesByRequest = Object.create(null);\n    this.progressiveDataLength = 0;\n    this.aborted = false;\n\n    this._loadedStreamCapability = createPromiseCapability();\n  }\n\n  onLoadedStream() {\n    return this._loadedStreamCapability.promise;\n  }\n\n  sendRequest(begin, end) {\n    const rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n    if (!rangeReader.isStreamingSupported) {\n      rangeReader.onProgress = this.onProgress.bind(this);\n    }\n\n    let chunks = [],\n      loaded = 0;\n    const promise = new Promise((resolve, reject) => {\n      const readChunk = chunk => {\n        try {\n          if (!chunk.done) {\n            const data = chunk.value;\n            chunks.push(data);\n            loaded += arrayByteLength(data);\n            if (rangeReader.isStreamingSupported) {\n              this.onProgress({ loaded });\n            }\n            rangeReader.read().then(readChunk, reject);\n            return;\n          }\n          const chunkData = arraysToBytes(chunks);\n          chunks = null;\n          resolve(chunkData);\n        } catch (e) {\n          reject(e);\n        }\n      };\n      rangeReader.read().then(readChunk, reject);\n    });\n    promise.then(data => {\n      if (this.aborted) {\n        return; // Ignoring any data after abort.\n      }\n      this.onReceiveData({ chunk: data, begin });\n    });\n    // TODO check errors\n  }\n\n  /**\n   * Get all the chunks that are not yet loaded and group them into\n   * contiguous ranges to load in as few requests as possible.\n   */\n  requestAllChunks() {\n    const missingChunks = this.stream.getMissingChunks();\n    this._requestChunks(missingChunks);\n    return this._loadedStreamCapability.promise;\n  }\n\n  _requestChunks(chunks) {\n    const requestId = this.currRequestId++;\n\n    const chunksNeeded = Object.create(null);\n    this.chunksNeededByRequest[requestId] = chunksNeeded;\n    for (const chunk of chunks) {\n      if (!this.stream.hasChunk(chunk)) {\n        chunksNeeded[chunk] = true;\n      }\n    }\n\n    if (isEmptyObj(chunksNeeded)) {\n      return Promise.resolve();\n    }\n\n    const capability = createPromiseCapability();\n    this.promisesByRequest[requestId] = capability;\n\n    const chunksToRequest = [];\n    for (let chunk in chunksNeeded) {\n      chunk = chunk | 0;\n      if (!(chunk in this.requestsByChunk)) {\n        this.requestsByChunk[chunk] = [];\n        chunksToRequest.push(chunk);\n      }\n      this.requestsByChunk[chunk].push(requestId);\n    }\n\n    if (!chunksToRequest.length) {\n      return capability.promise;\n    }\n\n    const groupedChunksToRequest = this.groupChunks(chunksToRequest);\n    for (const groupedChunk of groupedChunksToRequest) {\n      const begin = groupedChunk.beginChunk * this.chunkSize;\n      const end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n      this.sendRequest(begin, end);\n    }\n\n    return capability.promise;\n  }\n\n  getStream() {\n    return this.stream;\n  }\n\n  /**\n   * Loads any chunks in the requested range that are not yet loaded.\n   */\n  requestRange(begin, end) {\n    end = Math.min(end, this.length);\n\n    const beginChunk = this.getBeginChunk(begin);\n    const endChunk = this.getEndChunk(end);\n\n    const chunks = [];\n    for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n      chunks.push(chunk);\n    }\n    return this._requestChunks(chunks);\n  }\n\n  requestRanges(ranges = []) {\n    const chunksToRequest = [];\n    for (const range of ranges) {\n      const beginChunk = this.getBeginChunk(range.begin);\n      const endChunk = this.getEndChunk(range.end);\n      for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n        if (!chunksToRequest.includes(chunk)) {\n          chunksToRequest.push(chunk);\n        }\n      }\n    }\n\n    chunksToRequest.sort(function(a, b) {\n      return a - b;\n    });\n    return this._requestChunks(chunksToRequest);\n  }\n\n  /**\n   * Groups a sorted array of chunks into as few contiguous larger\n   * chunks as possible.\n   */\n  groupChunks(chunks) {\n    const groupedChunks = [];\n    let beginChunk = -1;\n    let prevChunk = -1;\n\n    for (let i = 0, ii = chunks.length; i < ii; ++i) {\n      const chunk = chunks[i];\n      if (beginChunk < 0) {\n        beginChunk = chunk;\n      }\n\n      if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n        groupedChunks.push({ beginChunk, endChunk: prevChunk + 1 });\n        beginChunk = chunk;\n      }\n      if (i + 1 === chunks.length) {\n        groupedChunks.push({ beginChunk, endChunk: chunk + 1 });\n      }\n\n      prevChunk = chunk;\n    }\n    return groupedChunks;\n  }\n\n  onProgress(args) {\n    this.msgHandler.send(\"DocProgress\", {\n      loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n      total: this.length,\n    });\n  }\n\n  onReceiveData(args) {\n    const chunk = args.chunk;\n    const isProgressive = args.begin === undefined;\n    const begin = isProgressive ? this.progressiveDataLength : args.begin;\n    const end = begin + chunk.byteLength;\n\n    const beginChunk = Math.floor(begin / this.chunkSize);\n    const endChunk =\n      end < this.length\n        ? Math.floor(end / this.chunkSize)\n        : Math.ceil(end / this.chunkSize);\n\n    if (isProgressive) {\n      this.stream.onReceiveProgressiveData(chunk);\n      this.progressiveDataLength = end;\n    } else {\n      this.stream.onReceiveData(begin, chunk);\n    }\n\n    if (this.stream.allChunksLoaded()) {\n      this._loadedStreamCapability.resolve(this.stream);\n    }\n\n    const loadedRequests = [];\n    for (let chunk = beginChunk; chunk < endChunk; ++chunk) {\n      // The server might return more chunks than requested.\n      const requestIds = this.requestsByChunk[chunk] || [];\n      delete this.requestsByChunk[chunk];\n\n      for (const requestId of requestIds) {\n        const chunksNeeded = this.chunksNeededByRequest[requestId];\n        if (chunk in chunksNeeded) {\n          delete chunksNeeded[chunk];\n        }\n\n        if (!isEmptyObj(chunksNeeded)) {\n          continue;\n        }\n        loadedRequests.push(requestId);\n      }\n    }\n\n    // If there are no pending requests, automatically fetch the next\n    // unfetched chunk of the PDF file.\n    if (!this.disableAutoFetch && isEmptyObj(this.requestsByChunk)) {\n      let nextEmptyChunk;\n      if (this.stream.numChunksLoaded === 1) {\n        // This is a special optimization so that after fetching the first\n        // chunk, rather than fetching the second chunk, we fetch the last\n        // chunk.\n        const lastChunk = this.stream.numChunks - 1;\n        if (!this.stream.hasChunk(lastChunk)) {\n          nextEmptyChunk = lastChunk;\n        }\n      } else {\n        nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n      }\n      if (Number.isInteger(nextEmptyChunk)) {\n        this._requestChunks([nextEmptyChunk]);\n      }\n    }\n\n    for (const requestId of loadedRequests) {\n      const capability = this.promisesByRequest[requestId];\n      delete this.promisesByRequest[requestId];\n      capability.resolve();\n    }\n\n    this.msgHandler.send(\"DocProgress\", {\n      loaded: this.stream.numChunksLoaded * this.chunkSize,\n      total: this.length,\n    });\n  }\n\n  onError(err) {\n    this._loadedStreamCapability.reject(err);\n  }\n\n  getBeginChunk(begin) {\n    return Math.floor(begin / this.chunkSize);\n  }\n\n  getEndChunk(end) {\n    return Math.floor((end - 1) / this.chunkSize) + 1;\n  }\n\n  abort(reason) {\n    this.aborted = true;\n    if (this.pdfNetworkStream) {\n      this.pdfNetworkStream.cancelAllRequests(reason);\n    }\n    for (const requestId in this.promisesByRequest) {\n      this.promisesByRequest[requestId].reject(reason);\n    }\n  }\n}\n\nexport { ChunkedStream, ChunkedStreamManager };\n","/* Copyright 2019 Mozilla Foundation\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/* eslint no-var: error */\n\nimport { assert, BaseException, warn } from \"../shared/util.js\";\n\nfunction getLookupTableFactory(initializer) {\n  let lookup;\n  return function() {\n    if (initializer) {\n      lookup = Object.create(null);\n      initializer(lookup);\n      initializer = null;\n    }\n    return lookup;\n  };\n}\n\nclass MissingDataException extends BaseException {\n  constructor(begin, end) {\n    super(`Missing data [${begin}, ${end})`);\n    this.begin = begin;\n    this.end = end;\n  }\n}\n\nclass XRefEntryException extends BaseException {}\n\nclass XRefParseException extends BaseException {}\n\n/**\n * Get the value of an inheritable property.\n *\n * If the PDF specification explicitly lists a property in a dictionary as\n * inheritable, then the value of the property may be present in the dictionary\n * itself or in one or more parents of the dictionary.\n *\n * If the key is not found in the tree, `undefined` is returned. Otherwise,\n * the value for the key is returned or, if `stopWhenFound` is `false`, a list\n * of values is returned. To avoid infinite loops, the traversal is stopped when\n * the loop limit is reached.\n *\n * @param {Dict} dict - Dictionary from where to start the traversal.\n * @param {string} key - The key of the property to find the value for.\n * @param {boolean} getArray - Whether or not the value should be fetched as an\n *   array. The default value is `false`.\n * @param {boolean} stopWhenFound - Whether or not to stop the traversal when\n *   the key is found. If set to `false`, we always walk up the entire parent\n *   chain, for example to be able to find `\\Resources` placed on multiple\n *   levels of the tree. The default value is `true`.\n */\nfunction getInheritableProperty({\n  dict,\n  key,\n  getArray = false,\n  stopWhenFound = true,\n}) {\n  const LOOP_LIMIT = 100;\n  let loopCount = 0;\n  let values;\n\n  while (dict) {\n    const value = getArray ? dict.getArray(key) : dict.get(key);\n    if (value !== undefined) {\n      if (stopWhenFound) {\n        return value;\n      }\n      if (!values) {\n        values = [];\n      }\n      values.push(value);\n    }\n    if (++loopCount > LOOP_LIMIT) {\n      warn(`getInheritableProperty: maximum loop count exceeded for \"${key}\"`);\n      break;\n    }\n    dict = dict.get(\"Parent\");\n  }\n  return values;\n}\n\n// prettier-ignore\nconst ROMAN_NUMBER_MAP = [\n  \"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\",\n  \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\",\n  \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"\n];\n\n/**\n * Converts positive integers to (upper case) Roman numerals.\n * @param {number} number - The number that should be converted.\n * @param {boolean} lowerCase - Indicates if the result should be converted\n *   to lower case letters. The default value is `false`.\n * @returns {string} The resulting Roman number.\n */\nfunction toRomanNumerals(number, lowerCase = false) {\n  assert(\n    Number.isInteger(number) && number > 0,\n    \"The number should be a positive integer.\"\n  );\n  const romanBuf = [];\n  let pos;\n  // Thousands\n  while (number >= 1000) {\n    number -= 1000;\n    romanBuf.push(\"M\");\n  }\n  // Hundreds\n  pos = (number / 100) | 0;\n  number %= 100;\n  romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n  // Tens\n  pos = (number / 10) | 0;\n  number %= 10;\n  romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n  // Ones\n  romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n\n  const romanStr = romanBuf.join(\"\");\n  return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\n// Calculate the base 2 logarithm of the number `x`. This differs from the\n// native function in the sense that it returns the ceiling value and that it\n// returns 0 instead of `Infinity`/`NaN` for `x` values smaller than/equal to 0.\nfunction log2(x) {\n  if (x <= 0) {\n    return 0;\n  }\n  return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n  return (data[offset] << 24) >> 24;\n}\n\nfunction readUint16(data, offset) {\n  return (data[offset] << 8) | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n  return (\n    ((data[offset] << 24) |\n      (data[offset + 1] << 16) |\n      (data[offset + 2] << 8) |\n      data[offset + 3]) >>>\n    0\n  );\n}\n\n// Checks if ch is one of the following characters: SPACE, TAB, CR or LF.\nfunction isWhiteSpace(ch) {\n  return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\nexport {\n  getLookupTableFactory,\n  MissingDataException,\n  XRefEntryException,\n  XRefParseException,\n  getInheritableProperty,\n  toRomanNumerals,\n  log2,\n  readInt8,\n  readUint16,\n  readUint32,\n  isWhiteSpace,\n};\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  assert,\n  FormatError,\n  info,\n  InvalidPDFException,\n  isArrayBuffer,\n  isArrayEqual,\n  isBool,\n  isNum,\n  isString,\n  OPS,\n  shadow,\n  stringToBytes,\n  stringToPDFString,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport { Catalog, ObjectLoader, XRef } from \"./obj.js\";\nimport {\n  clearPrimitiveCaches,\n  Dict,\n  isDict,\n  isName,\n  isStream,\n  Ref,\n} from \"./primitives.js\";\nimport {\n  getInheritableProperty,\n  isWhiteSpace,\n  MissingDataException,\n  XRefEntryException,\n  XRefParseException,\n} from \"./core_utils.js\";\nimport { NullStream, Stream, StreamsSequenceStream } from \"./stream.js\";\nimport { AnnotationFactory } from \"./annotation.js\";\nimport { calculateMD5 } from \"./crypto.js\";\nimport { Linearization } from \"./parser.js\";\nimport { OperatorList } from \"./operator_list.js\";\nimport { PartialEvaluator } from \"./evaluator.js\";\nimport { PDFFunctionFactory } from \"./function.js\";\n\nconst DEFAULT_USER_UNIT = 1.0;\nconst LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n  return (\n    (intent === \"display\" && annotation.viewable) ||\n    (intent === \"print\" && annotation.printable)\n  );\n}\n\nclass Page {\n  constructor({\n    pdfManager,\n    xref,\n    pageIndex,\n    pageDict,\n    ref,\n    fontCache,\n    builtInCMapCache,\n    pdfFunctionFactory,\n  }) {\n    this.pdfManager = pdfManager;\n    this.pageIndex = pageIndex;\n    this.pageDict = pageDict;\n    this.xref = xref;\n    this.ref = ref;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n    this.evaluatorOptions = pdfManager.evaluatorOptions;\n    this.resourcesPromise = null;\n\n    const idCounters = {\n      obj: 0,\n    };\n    this.idFactory = {\n      createObjId() {\n        return `p${pageIndex}_${++idCounters.obj}`;\n      },\n      getDocId() {\n        return `g_${pdfManager.docId}`;\n      },\n    };\n  }\n\n  /**\n   * @private\n   */\n  _getInheritableProperty(key, getArray = false) {\n    const value = getInheritableProperty({\n      dict: this.pageDict,\n      key,\n      getArray,\n      stopWhenFound: false,\n    });\n    if (!Array.isArray(value)) {\n      return value;\n    }\n    if (value.length === 1 || !isDict(value[0])) {\n      return value[0];\n    }\n    return Dict.merge(this.xref, value);\n  }\n\n  get content() {\n    return this.pageDict.get(\"Contents\");\n  }\n\n  get resources() {\n    // For robustness: The spec states that a \\Resources entry has to be\n    // present, but can be empty. Some documents still omit it; in this case\n    // we return an empty dictionary.\n    return shadow(\n      this,\n      \"resources\",\n      this._getInheritableProperty(\"Resources\") || Dict.empty\n    );\n  }\n\n  _getBoundingBox(name) {\n    const box = this._getInheritableProperty(name, /* getArray = */ true);\n\n    if (Array.isArray(box) && box.length === 4) {\n      if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n        return box;\n      }\n      warn(`Empty /${name} entry.`);\n    }\n    return null;\n  }\n\n  get mediaBox() {\n    // Reset invalid media box to letter size.\n    return shadow(\n      this,\n      \"mediaBox\",\n      this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX\n    );\n  }\n\n  get cropBox() {\n    // Reset invalid crop box to media box.\n    return shadow(\n      this,\n      \"cropBox\",\n      this._getBoundingBox(\"CropBox\") || this.mediaBox\n    );\n  }\n\n  get userUnit() {\n    let obj = this.pageDict.get(\"UserUnit\");\n    if (!isNum(obj) || obj <= 0) {\n      obj = DEFAULT_USER_UNIT;\n    }\n    return shadow(this, \"userUnit\", obj);\n  }\n\n  get view() {\n    // From the spec, 6th ed., p.963:\n    // \"The crop, bleed, trim, and art boxes should not ordinarily\n    // extend beyond the boundaries of the media box. If they do, they are\n    // effectively reduced to their intersection with the media box.\"\n    const { cropBox, mediaBox } = this;\n    let view;\n    if (cropBox === mediaBox || isArrayEqual(cropBox, mediaBox)) {\n      view = mediaBox;\n    } else {\n      const box = Util.intersect(cropBox, mediaBox);\n      if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n        view = box;\n      } else {\n        warn(\"Empty /CropBox and /MediaBox intersection.\");\n      }\n    }\n    return shadow(this, \"view\", view || mediaBox);\n  }\n\n  get rotate() {\n    let rotate = this._getInheritableProperty(\"Rotate\") || 0;\n\n    // Normalize rotation so it's a multiple of 90 and between 0 and 270.\n    if (rotate % 90 !== 0) {\n      rotate = 0;\n    } else if (rotate >= 360) {\n      rotate = rotate % 360;\n    } else if (rotate < 0) {\n      // The spec doesn't cover negatives. Assume it's counterclockwise\n      // rotation. The following is the other implementation of modulo.\n      rotate = ((rotate % 360) + 360) % 360;\n    }\n    return shadow(this, \"rotate\", rotate);\n  }\n\n  getContentStream() {\n    const content = this.content;\n    let stream;\n\n    if (Array.isArray(content)) {\n      // Fetching the individual streams from the array.\n      const xref = this.xref;\n      const streams = [];\n      for (const stream of content) {\n        streams.push(xref.fetchIfRef(stream));\n      }\n      stream = new StreamsSequenceStream(streams);\n    } else if (isStream(content)) {\n      stream = content;\n    } else {\n      // Replace non-existent page content with empty content.\n      stream = new NullStream();\n    }\n    return stream;\n  }\n\n  loadResources(keys) {\n    if (!this.resourcesPromise) {\n      // TODO: add async `_getInheritableProperty` and remove this.\n      this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n    }\n    return this.resourcesPromise.then(() => {\n      const objectLoader = new ObjectLoader(this.resources, keys, this.xref);\n      return objectLoader.load();\n    });\n  }\n\n  getOperatorList({ handler, sink, task, intent, renderInteractiveForms }) {\n    const contentStreamPromise = this.pdfManager.ensure(\n      this,\n      \"getContentStream\"\n    );\n    const resourcesPromise = this.loadResources([\n      \"ExtGState\",\n      \"ColorSpace\",\n      \"Pattern\",\n      \"Shading\",\n      \"XObject\",\n      \"Font\",\n    ]);\n\n    const partialEvaluator = new PartialEvaluator({\n      xref: this.xref,\n      handler,\n      pageIndex: this.pageIndex,\n      idFactory: this.idFactory,\n      fontCache: this.fontCache,\n      builtInCMapCache: this.builtInCMapCache,\n      options: this.evaluatorOptions,\n      pdfFunctionFactory: this.pdfFunctionFactory,\n    });\n\n    const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n    const pageListPromise = dataPromises.then(([contentStream]) => {\n      const opList = new OperatorList(intent, sink, this.pageIndex);\n\n      handler.send(\"StartRenderPage\", {\n        transparency: partialEvaluator.hasBlendModes(this.resources),\n        pageIndex: this.pageIndex,\n        intent,\n      });\n\n      return partialEvaluator\n        .getOperatorList({\n          stream: contentStream,\n          task,\n          resources: this.resources,\n          operatorList: opList,\n        })\n        .then(function() {\n          return opList;\n        });\n    });\n\n    // Fetch the page's annotations and add their operator lists to the\n    // page's operator list to render them.\n    return Promise.all([pageListPromise, this._parsedAnnotations]).then(\n      function([pageOpList, annotations]) {\n        if (annotations.length === 0) {\n          pageOpList.flush(true);\n          return { length: pageOpList.totalLength };\n        }\n\n        // Collect the operator list promises for the annotations. Each promise\n        // is resolved with the complete operator list for a single annotation.\n        const opListPromises = [];\n        for (const annotation of annotations) {\n          if (isAnnotationRenderable(annotation, intent)) {\n            opListPromises.push(\n              annotation.getOperatorList(\n                partialEvaluator,\n                task,\n                renderInteractiveForms\n              )\n            );\n          }\n        }\n\n        return Promise.all(opListPromises).then(function(opLists) {\n          pageOpList.addOp(OPS.beginAnnotations, []);\n          for (const opList of opLists) {\n            pageOpList.addOpList(opList);\n          }\n          pageOpList.addOp(OPS.endAnnotations, []);\n          pageOpList.flush(true);\n          return { length: pageOpList.totalLength };\n        });\n      }\n    );\n  }\n\n  extractTextContent({\n    handler,\n    task,\n    normalizeWhitespace,\n    sink,\n    combineTextItems,\n  }) {\n    const contentStreamPromise = this.pdfManager.ensure(\n      this,\n      \"getContentStream\"\n    );\n    const resourcesPromise = this.loadResources([\n      \"ExtGState\",\n      \"XObject\",\n      \"Font\",\n    ]);\n\n    const dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n    return dataPromises.then(([contentStream]) => {\n      const partialEvaluator = new PartialEvaluator({\n        xref: this.xref,\n        handler,\n        pageIndex: this.pageIndex,\n        idFactory: this.idFactory,\n        fontCache: this.fontCache,\n        builtInCMapCache: this.builtInCMapCache,\n        options: this.evaluatorOptions,\n        pdfFunctionFactory: this.pdfFunctionFactory,\n      });\n\n      return partialEvaluator.getTextContent({\n        stream: contentStream,\n        task,\n        resources: this.resources,\n        normalizeWhitespace,\n        combineTextItems,\n        sink,\n      });\n    });\n  }\n\n  getAnnotationsData(intent) {\n    return this._parsedAnnotations.then(function(annotations) {\n      const annotationsData = [];\n      for (let i = 0, ii = annotations.length; i < ii; i++) {\n        if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n          annotationsData.push(annotations[i].data);\n        }\n      }\n      return annotationsData;\n    });\n  }\n\n  get annotations() {\n    return shadow(\n      this,\n      \"annotations\",\n      this._getInheritableProperty(\"Annots\") || []\n    );\n  }\n\n  get _parsedAnnotations() {\n    const parsedAnnotations = this.pdfManager\n      .ensure(this, \"annotations\")\n      .then(() => {\n        const annotationRefs = this.annotations;\n        const annotationPromises = [];\n        for (let i = 0, ii = annotationRefs.length; i < ii; i++) {\n          annotationPromises.push(\n            AnnotationFactory.create(\n              this.xref,\n              annotationRefs[i],\n              this.pdfManager,\n              this.idFactory\n            )\n          );\n        }\n\n        return Promise.all(annotationPromises).then(\n          function(annotations) {\n            return annotations.filter(function isDefined(annotation) {\n              return !!annotation;\n            });\n          },\n          function(reason) {\n            warn(`_parsedAnnotations: \"${reason}\".`);\n            return [];\n          }\n        );\n      });\n\n    return shadow(this, \"_parsedAnnotations\", parsedAnnotations);\n  }\n}\n\nconst PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\n// prettier-ignore\nconst STARTXREF_SIGNATURE = new Uint8Array([\n  0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nconst ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\n\nconst FINGERPRINT_FIRST_BYTES = 1024;\nconst EMPTY_FINGERPRINT =\n  \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\n\nconst PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction find(stream, signature, limit = 1024, backwards = false) {\n  if (\n    typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!PRODUCTION || TESTING\")\n  ) {\n    assert(limit > 0, 'The \"limit\" must be a positive integer.');\n  }\n  const signatureLength = signature.length;\n\n  const scanBytes = stream.peekBytes(limit);\n  const scanLength = scanBytes.length - signatureLength;\n\n  if (scanLength <= 0) {\n    return false;\n  }\n  if (backwards) {\n    const signatureEnd = signatureLength - 1;\n\n    let pos = scanBytes.length - 1;\n    while (pos >= signatureEnd) {\n      let j = 0;\n      while (\n        j < signatureLength &&\n        scanBytes[pos - j] === signature[signatureEnd - j]\n      ) {\n        j++;\n      }\n      if (j >= signatureLength) {\n        // `signature` found.\n        stream.pos += pos - signatureEnd;\n        return true;\n      }\n      pos--;\n    }\n  } else {\n    // forwards\n    let pos = 0;\n    while (pos <= scanLength) {\n      let j = 0;\n      while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n        j++;\n      }\n      if (j >= signatureLength) {\n        // `signature` found.\n        stream.pos += pos;\n        return true;\n      }\n      pos++;\n    }\n  }\n  return false;\n}\n\n/**\n * The `PDFDocument` class holds all the (worker-thread) data of the PDF file.\n */\nclass PDFDocument {\n  constructor(pdfManager, arg) {\n    let stream;\n    if (isStream(arg)) {\n      stream = arg;\n    } else if (isArrayBuffer(arg)) {\n      stream = new Stream(arg);\n    } else {\n      throw new Error(\"PDFDocument: Unknown argument type\");\n    }\n    if (stream.length <= 0) {\n      throw new InvalidPDFException(\n        \"The PDF file is empty, i.e. its size is zero bytes.\"\n      );\n    }\n\n    this.pdfManager = pdfManager;\n    this.stream = stream;\n    this.xref = new XRef(stream, pdfManager);\n\n    this.pdfFunctionFactory = new PDFFunctionFactory({\n      xref: this.xref,\n      isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported,\n    });\n    this._pagePromises = [];\n  }\n\n  parse(recoveryMode) {\n    this.setup(recoveryMode);\n\n    const version = this.catalog.catDict.get(\"Version\");\n    if (isName(version)) {\n      this.pdfFormatVersion = version.name;\n    }\n\n    // Check if AcroForms are present in the document.\n    try {\n      this.acroForm = this.catalog.catDict.get(\"AcroForm\");\n      if (this.acroForm) {\n        this.xfa = this.acroForm.get(\"XFA\");\n        const fields = this.acroForm.get(\"Fields\");\n        if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n          this.acroForm = null; // No fields and no XFA, so it's not a form.\n        }\n      }\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      info(\"Cannot fetch AcroForm entry; assuming no AcroForms are present\");\n      this.acroForm = null;\n    }\n\n    // Check if a Collection dictionary is present in the document.\n    try {\n      const collection = this.catalog.catDict.get(\"Collection\");\n      if (isDict(collection) && collection.getKeys().length > 0) {\n        this.collection = collection;\n      }\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      info(\"Cannot fetch Collection dictionary.\");\n    }\n  }\n\n  get linearization() {\n    let linearization = null;\n    try {\n      linearization = Linearization.create(this.stream);\n    } catch (err) {\n      if (err instanceof MissingDataException) {\n        throw err;\n      }\n      info(err);\n    }\n    return shadow(this, \"linearization\", linearization);\n  }\n\n  get startXRef() {\n    const stream = this.stream;\n    let startXRef = 0;\n\n    if (this.linearization) {\n      // Find the end of the first object.\n      stream.reset();\n      if (find(stream, ENDOBJ_SIGNATURE)) {\n        startXRef = stream.pos + 6 - stream.start;\n      }\n    } else {\n      // Find `startxref` by checking backwards from the end of the file.\n      const step = 1024;\n      const startXRefLength = STARTXREF_SIGNATURE.length;\n      let found = false,\n        pos = stream.end;\n\n      while (!found && pos > 0) {\n        pos -= step - startXRefLength;\n        if (pos < 0) {\n          pos = 0;\n        }\n        stream.pos = pos;\n        found = find(stream, STARTXREF_SIGNATURE, step, true);\n      }\n\n      if (found) {\n        stream.skip(9);\n        let ch;\n        do {\n          ch = stream.getByte();\n        } while (isWhiteSpace(ch));\n        let str = \"\";\n        while (ch >= /* Space = */ 0x20 && ch <= /* '9' = */ 0x39) {\n          str += String.fromCharCode(ch);\n          ch = stream.getByte();\n        }\n        startXRef = parseInt(str, 10);\n        if (isNaN(startXRef)) {\n          startXRef = 0;\n        }\n      }\n    }\n    return shadow(this, \"startXRef\", startXRef);\n  }\n\n  // Find the header, get the PDF format version and setup the\n  // stream to start from the header.\n  checkHeader() {\n    const stream = this.stream;\n    stream.reset();\n\n    if (!find(stream, PDF_HEADER_SIGNATURE)) {\n      // May not be a PDF file, but don't throw an error and let\n      // parsing continue.\n      return;\n    }\n    stream.moveStart();\n\n    // Read the PDF format version.\n    const MAX_PDF_VERSION_LENGTH = 12;\n    let version = \"\",\n      ch;\n    while ((ch = stream.getByte()) > /* Space = */ 0x20) {\n      if (version.length >= MAX_PDF_VERSION_LENGTH) {\n        break;\n      }\n      version += String.fromCharCode(ch);\n    }\n    if (!this.pdfFormatVersion) {\n      // Remove the \"%PDF-\" prefix.\n      this.pdfFormatVersion = version.substring(5);\n    }\n  }\n\n  parseStartXRef() {\n    this.xref.setStartXRef(this.startXRef);\n  }\n\n  setup(recoveryMode) {\n    this.xref.parse(recoveryMode);\n    this.catalog = new Catalog(this.pdfManager, this.xref);\n  }\n\n  get numPages() {\n    const linearization = this.linearization;\n    const num = linearization ? linearization.numPages : this.catalog.numPages;\n    return shadow(this, \"numPages\", num);\n  }\n\n  get documentInfo() {\n    const DocumentInfoValidators = {\n      Title: isString,\n      Author: isString,\n      Subject: isString,\n      Keywords: isString,\n      Creator: isString,\n      Producer: isString,\n      CreationDate: isString,\n      ModDate: isString,\n      Trapped: isName,\n    };\n\n    let version = this.pdfFormatVersion;\n    if (\n      typeof version !== \"string\" ||\n      !PDF_HEADER_VERSION_REGEXP.test(version)\n    ) {\n      warn(`Invalid PDF header version number: ${version}`);\n      version = null;\n    }\n\n    const docInfo = {\n      PDFFormatVersion: version,\n      IsLinearized: !!this.linearization,\n      IsAcroFormPresent: !!this.acroForm,\n      IsXFAPresent: !!this.xfa,\n      IsCollectionPresent: !!this.collection,\n    };\n\n    let infoDict;\n    try {\n      infoDict = this.xref.trailer.get(\"Info\");\n    } catch (err) {\n      if (err instanceof MissingDataException) {\n        throw err;\n      }\n      info(\"The document information dictionary is invalid.\");\n    }\n\n    if (isDict(infoDict)) {\n      // Fill the document info with valid entries from the specification,\n      // as well as any existing well-formed custom entries.\n      for (const key of infoDict.getKeys()) {\n        const value = infoDict.get(key);\n\n        if (DocumentInfoValidators[key]) {\n          // Make sure the (standard) value conforms to the specification.\n          if (DocumentInfoValidators[key](value)) {\n            docInfo[key] =\n              typeof value !== \"string\" ? value : stringToPDFString(value);\n          } else {\n            info(`Bad value in document info for \"${key}\".`);\n          }\n        } else if (typeof key === \"string\") {\n          // For custom values, only accept white-listed types to prevent\n          // errors that would occur when trying to send non-serializable\n          // objects to the main-thread (for example `Dict` or `Stream`).\n          let customValue;\n          if (isString(value)) {\n            customValue = stringToPDFString(value);\n          } else if (isName(value) || isNum(value) || isBool(value)) {\n            customValue = value;\n          } else {\n            info(`Unsupported value in document info for (custom) \"${key}\".`);\n            continue;\n          }\n\n          if (!docInfo[\"Custom\"]) {\n            docInfo[\"Custom\"] = Object.create(null);\n          }\n          docInfo[\"Custom\"][key] = customValue;\n        }\n      }\n    }\n    return shadow(this, \"documentInfo\", docInfo);\n  }\n\n  get fingerprint() {\n    let hash;\n    const idArray = this.xref.trailer.get(\"ID\");\n    if (\n      Array.isArray(idArray) &&\n      idArray[0] &&\n      isString(idArray[0]) &&\n      idArray[0] !== EMPTY_FINGERPRINT\n    ) {\n      hash = stringToBytes(idArray[0]);\n    } else {\n      hash = calculateMD5(\n        this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES),\n        0,\n        FINGERPRINT_FIRST_BYTES\n      );\n    }\n\n    const fingerprintBuf = [];\n    for (let i = 0, ii = hash.length; i < ii; i++) {\n      const hex = hash[i].toString(16);\n      fingerprintBuf.push(hex.padStart(2, \"0\"));\n    }\n    return shadow(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n  }\n\n  _getLinearizationPage(pageIndex) {\n    const { catalog, linearization } = this;\n    assert(linearization && linearization.pageFirst === pageIndex);\n\n    const ref = Ref.get(linearization.objectNumberFirst, 0);\n    return this.xref\n      .fetchAsync(ref)\n      .then(obj => {\n        // Ensure that the object that was found is actually a Page dictionary.\n        if (\n          isDict(obj, \"Page\") ||\n          (isDict(obj) && !obj.has(\"Type\") && obj.has(\"Contents\"))\n        ) {\n          if (ref && !catalog.pageKidsCountCache.has(ref)) {\n            catalog.pageKidsCountCache.put(ref, 1); // Cache the Page reference.\n          }\n          return [obj, ref];\n        }\n        throw new FormatError(\n          \"The Linearization dictionary doesn't point \" +\n            \"to a valid Page dictionary.\"\n        );\n      })\n      .catch(reason => {\n        info(reason);\n        return catalog.getPageDict(pageIndex);\n      });\n  }\n\n  getPage(pageIndex) {\n    if (this._pagePromises[pageIndex] !== undefined) {\n      return this._pagePromises[pageIndex];\n    }\n    const { catalog, linearization } = this;\n\n    const promise =\n      linearization && linearization.pageFirst === pageIndex\n        ? this._getLinearizationPage(pageIndex)\n        : catalog.getPageDict(pageIndex);\n\n    return (this._pagePromises[pageIndex] = promise.then(([pageDict, ref]) => {\n      return new Page({\n        pdfManager: this.pdfManager,\n        xref: this.xref,\n        pageIndex,\n        pageDict,\n        ref,\n        fontCache: catalog.fontCache,\n        builtInCMapCache: catalog.builtInCMapCache,\n        pdfFunctionFactory: this.pdfFunctionFactory,\n      });\n    }));\n  }\n\n  checkFirstPage() {\n    return this.getPage(0).catch(async reason => {\n      if (reason instanceof XRefEntryException) {\n        // Clear out the various caches to ensure that we haven't stored any\n        // inconsistent and/or incorrect state, since that could easily break\n        // subsequent `this.getPage` calls.\n        this._pagePromises.length = 0;\n        await this.cleanup();\n\n        throw new XRefParseException();\n      }\n    });\n  }\n\n  fontFallback(id, handler) {\n    return this.catalog.fontFallback(id, handler);\n  }\n\n  async cleanup() {\n    return this.catalog ? this.catalog.cleanup() : clearPrimitiveCaches();\n  }\n}\n\nexport { Page, PDFDocument };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  assert,\n  bytesToString,\n  createPromiseCapability,\n  createValidAbsoluteUrl,\n  FormatError,\n  info,\n  InvalidPDFException,\n  isBool,\n  isNum,\n  isString,\n  PermissionFlag,\n  shadow,\n  stringToPDFString,\n  stringToUTF8String,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport {\n  clearPrimitiveCaches,\n  Cmd,\n  Dict,\n  isCmd,\n  isDict,\n  isName,\n  isRef,\n  isRefsEqual,\n  isStream,\n  Ref,\n  RefSet,\n  RefSetCache,\n} from \"./primitives.js\";\nimport { Lexer, Parser } from \"./parser.js\";\nimport {\n  MissingDataException,\n  toRomanNumerals,\n  XRefEntryException,\n  XRefParseException,\n} from \"./core_utils.js\";\nimport { CipherTransformFactory } from \"./crypto.js\";\nimport { ColorSpace } from \"./colorspace.js\";\n\nfunction fetchDestination(dest) {\n  return isDict(dest) ? dest.get(\"D\") : dest;\n}\n\nclass Catalog {\n  constructor(pdfManager, xref) {\n    this.pdfManager = pdfManager;\n    this.xref = xref;\n\n    this.catDict = xref.getCatalogObj();\n    if (!isDict(this.catDict)) {\n      throw new FormatError(\"Catalog object is not a dictionary.\");\n    }\n\n    this.fontCache = new RefSetCache();\n    this.builtInCMapCache = new Map();\n    this.pageKidsCountCache = new RefSetCache();\n  }\n\n  get metadata() {\n    const streamRef = this.catDict.getRaw(\"Metadata\");\n    if (!isRef(streamRef)) {\n      return shadow(this, \"metadata\", null);\n    }\n\n    const suppressEncryption = !(\n      this.xref.encrypt && this.xref.encrypt.encryptMetadata\n    );\n    const stream = this.xref.fetch(streamRef, suppressEncryption);\n    let metadata;\n\n    if (stream && isDict(stream.dict)) {\n      const type = stream.dict.get(\"Type\");\n      const subtype = stream.dict.get(\"Subtype\");\n\n      if (isName(type, \"Metadata\") && isName(subtype, \"XML\")) {\n        // XXX: This should examine the charset the XML document defines,\n        // however since there are currently no real means to decode\n        // arbitrary charsets, let's just hope that the author of the PDF\n        // was reasonable enough to stick with the XML default charset,\n        // which is UTF-8.\n        try {\n          metadata = stringToUTF8String(bytesToString(stream.getBytes()));\n        } catch (e) {\n          if (e instanceof MissingDataException) {\n            throw e;\n          }\n          info(\"Skipping invalid metadata.\");\n        }\n      }\n    }\n    return shadow(this, \"metadata\", metadata);\n  }\n\n  get toplevelPagesDict() {\n    const pagesObj = this.catDict.get(\"Pages\");\n    if (!isDict(pagesObj)) {\n      throw new FormatError(\"Invalid top-level pages dictionary.\");\n    }\n    return shadow(this, \"toplevelPagesDict\", pagesObj);\n  }\n\n  get documentOutline() {\n    let obj = null;\n    try {\n      obj = this._readDocumentOutline();\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      warn(\"Unable to read document outline.\");\n    }\n    return shadow(this, \"documentOutline\", obj);\n  }\n\n  /**\n   * @private\n   */\n  _readDocumentOutline() {\n    let obj = this.catDict.get(\"Outlines\");\n    if (!isDict(obj)) {\n      return null;\n    }\n    obj = obj.getRaw(\"First\");\n    if (!isRef(obj)) {\n      return null;\n    }\n\n    const root = { items: [] };\n    const queue = [{ obj, parent: root }];\n    // To avoid recursion, keep track of the already processed items.\n    const processed = new RefSet();\n    processed.put(obj);\n    const xref = this.xref,\n      blackColor = new Uint8ClampedArray(3);\n\n    while (queue.length > 0) {\n      const i = queue.shift();\n      const outlineDict = xref.fetchIfRef(i.obj);\n      if (outlineDict === null) {\n        continue;\n      }\n      if (!outlineDict.has(\"Title\")) {\n        throw new FormatError(\"Invalid outline item encountered.\");\n      }\n\n      const data = { url: null, dest: null };\n      Catalog.parseDestDictionary({\n        destDict: outlineDict,\n        resultObj: data,\n        docBaseUrl: this.pdfManager.docBaseUrl,\n      });\n      const title = outlineDict.get(\"Title\");\n      const flags = outlineDict.get(\"F\") || 0;\n      const color = outlineDict.getArray(\"C\");\n      const count = outlineDict.get(\"Count\");\n      let rgbColor = blackColor;\n\n      // We only need to parse the color when it's valid, and non-default.\n      if (\n        Array.isArray(color) &&\n        color.length === 3 &&\n        (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)\n      ) {\n        rgbColor = ColorSpace.singletons.rgb.getRgb(color, 0);\n      }\n\n      const outlineItem = {\n        dest: data.dest,\n        url: data.url,\n        unsafeUrl: data.unsafeUrl,\n        newWindow: data.newWindow,\n        title: stringToPDFString(title),\n        color: rgbColor,\n        count: Number.isInteger(count) ? count : undefined,\n        bold: !!(flags & 2),\n        italic: !!(flags & 1),\n        items: [],\n      };\n\n      i.parent.items.push(outlineItem);\n      obj = outlineDict.getRaw(\"First\");\n      if (isRef(obj) && !processed.has(obj)) {\n        queue.push({ obj, parent: outlineItem });\n        processed.put(obj);\n      }\n      obj = outlineDict.getRaw(\"Next\");\n      if (isRef(obj) && !processed.has(obj)) {\n        queue.push({ obj, parent: i.parent });\n        processed.put(obj);\n      }\n    }\n    return root.items.length > 0 ? root.items : null;\n  }\n\n  get permissions() {\n    let permissions = null;\n    try {\n      permissions = this._readPermissions();\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      warn(\"Unable to read permissions.\");\n    }\n    return shadow(this, \"permissions\", permissions);\n  }\n\n  /**\n   * @private\n   */\n  _readPermissions() {\n    const encrypt = this.xref.trailer.get(\"Encrypt\");\n    if (!isDict(encrypt)) {\n      return null;\n    }\n\n    let flags = encrypt.get(\"P\");\n    if (!isNum(flags)) {\n      return null;\n    }\n\n    // PDF integer objects are represented internally in signed 2's complement\n    // form. Therefore, convert the signed decimal integer to a signed 2's\n    // complement binary integer so we can use regular bitwise operations on it.\n    flags += 2 ** 32;\n\n    const permissions = [];\n    for (const key in PermissionFlag) {\n      const value = PermissionFlag[key];\n      if (flags & value) {\n        permissions.push(value);\n      }\n    }\n    return permissions;\n  }\n\n  get numPages() {\n    const obj = this.toplevelPagesDict.get(\"Count\");\n    if (!Number.isInteger(obj)) {\n      throw new FormatError(\n        \"Page count in top-level pages dictionary is not an integer.\"\n      );\n    }\n    return shadow(this, \"numPages\", obj);\n  }\n\n  get destinations() {\n    const obj = this._readDests(),\n      dests = Object.create(null);\n    if (obj instanceof NameTree) {\n      const names = obj.getAll();\n      for (const name in names) {\n        dests[name] = fetchDestination(names[name]);\n      }\n    } else if (obj instanceof Dict) {\n      obj.forEach(function(key, value) {\n        if (value) {\n          dests[key] = fetchDestination(value);\n        }\n      });\n    }\n    return shadow(this, \"destinations\", dests);\n  }\n\n  getDestination(destinationId) {\n    const obj = this._readDests();\n    if (obj instanceof NameTree || obj instanceof Dict) {\n      return fetchDestination(obj.get(destinationId) || null);\n    }\n    return null;\n  }\n\n  /**\n   * @private\n   */\n  _readDests() {\n    const obj = this.catDict.get(\"Names\");\n    if (obj && obj.has(\"Dests\")) {\n      return new NameTree(obj.getRaw(\"Dests\"), this.xref);\n    } else if (this.catDict.has(\"Dests\")) {\n      // Simple destination dictionary.\n      return this.catDict.get(\"Dests\");\n    }\n    return undefined;\n  }\n\n  get pageLabels() {\n    let obj = null;\n    try {\n      obj = this._readPageLabels();\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      warn(\"Unable to read page labels.\");\n    }\n    return shadow(this, \"pageLabels\", obj);\n  }\n\n  /**\n   * @private\n   */\n  _readPageLabels() {\n    const obj = this.catDict.getRaw(\"PageLabels\");\n    if (!obj) {\n      return null;\n    }\n\n    const pageLabels = new Array(this.numPages);\n    let style = null,\n      prefix = \"\";\n\n    const numberTree = new NumberTree(obj, this.xref);\n    const nums = numberTree.getAll();\n    let currentLabel = \"\",\n      currentIndex = 1;\n\n    for (let i = 0, ii = this.numPages; i < ii; i++) {\n      if (i in nums) {\n        const labelDict = nums[i];\n        if (!isDict(labelDict)) {\n          throw new FormatError(\"PageLabel is not a dictionary.\");\n        }\n\n        if (\n          labelDict.has(\"Type\") &&\n          !isName(labelDict.get(\"Type\"), \"PageLabel\")\n        ) {\n          throw new FormatError(\"Invalid type in PageLabel dictionary.\");\n        }\n\n        if (labelDict.has(\"S\")) {\n          const s = labelDict.get(\"S\");\n          if (!isName(s)) {\n            throw new FormatError(\"Invalid style in PageLabel dictionary.\");\n          }\n          style = s.name;\n        } else {\n          style = null;\n        }\n\n        if (labelDict.has(\"P\")) {\n          const p = labelDict.get(\"P\");\n          if (!isString(p)) {\n            throw new FormatError(\"Invalid prefix in PageLabel dictionary.\");\n          }\n          prefix = stringToPDFString(p);\n        } else {\n          prefix = \"\";\n        }\n\n        if (labelDict.has(\"St\")) {\n          const st = labelDict.get(\"St\");\n          if (!(Number.isInteger(st) && st >= 1)) {\n            throw new FormatError(\"Invalid start in PageLabel dictionary.\");\n          }\n          currentIndex = st;\n        } else {\n          currentIndex = 1;\n        }\n      }\n\n      switch (style) {\n        case \"D\":\n          currentLabel = currentIndex;\n          break;\n        case \"R\":\n        case \"r\":\n          currentLabel = toRomanNumerals(currentIndex, style === \"r\");\n          break;\n        case \"A\":\n        case \"a\":\n          const LIMIT = 26; // Use only the characters A-Z, or a-z.\n          const A_UPPER_CASE = 0x41,\n            A_LOWER_CASE = 0x61;\n\n          const baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n          const letterIndex = currentIndex - 1;\n          const character = String.fromCharCode(\n            baseCharCode + (letterIndex % LIMIT)\n          );\n          const charBuf = [];\n          for (let j = 0, jj = (letterIndex / LIMIT) | 0; j <= jj; j++) {\n            charBuf.push(character);\n          }\n          currentLabel = charBuf.join(\"\");\n          break;\n        default:\n          if (style) {\n            throw new FormatError(\n              `Invalid style \"${style}\" in PageLabel dictionary.`\n            );\n          }\n          currentLabel = \"\";\n      }\n\n      pageLabels[i] = prefix + currentLabel;\n      currentIndex++;\n    }\n    return pageLabels;\n  }\n\n  get pageLayout() {\n    const obj = this.catDict.get(\"PageLayout\");\n    // Purposely use a non-standard default value, rather than 'SinglePage', to\n    // allow differentiating between `undefined` and /SinglePage since that does\n    // affect the Scroll mode (continuous/non-continuous) used in Adobe Reader.\n    let pageLayout = \"\";\n\n    if (isName(obj)) {\n      switch (obj.name) {\n        case \"SinglePage\":\n        case \"OneColumn\":\n        case \"TwoColumnLeft\":\n        case \"TwoColumnRight\":\n        case \"TwoPageLeft\":\n        case \"TwoPageRight\":\n          pageLayout = obj.name;\n      }\n    }\n    return shadow(this, \"pageLayout\", pageLayout);\n  }\n\n  get pageMode() {\n    const obj = this.catDict.get(\"PageMode\");\n    let pageMode = \"UseNone\"; // Default value.\n\n    if (isName(obj)) {\n      switch (obj.name) {\n        case \"UseNone\":\n        case \"UseOutlines\":\n        case \"UseThumbs\":\n        case \"FullScreen\":\n        case \"UseOC\":\n        case \"UseAttachments\":\n          pageMode = obj.name;\n      }\n    }\n    return shadow(this, \"pageMode\", pageMode);\n  }\n\n  get viewerPreferences() {\n    const ViewerPreferencesValidators = {\n      HideToolbar: isBool,\n      HideMenubar: isBool,\n      HideWindowUI: isBool,\n      FitWindow: isBool,\n      CenterWindow: isBool,\n      DisplayDocTitle: isBool,\n      NonFullScreenPageMode: isName,\n      Direction: isName,\n      ViewArea: isName,\n      ViewClip: isName,\n      PrintArea: isName,\n      PrintClip: isName,\n      PrintScaling: isName,\n      Duplex: isName,\n      PickTrayByPDFSize: isBool,\n      PrintPageRange: Array.isArray,\n      NumCopies: Number.isInteger,\n    };\n\n    const obj = this.catDict.get(\"ViewerPreferences\");\n    const prefs = Object.create(null);\n\n    if (isDict(obj)) {\n      for (const key in ViewerPreferencesValidators) {\n        if (!obj.has(key)) {\n          continue;\n        }\n        const value = obj.get(key);\n        // Make sure the (standard) value conforms to the specification.\n        if (!ViewerPreferencesValidators[key](value)) {\n          info(`Bad value in ViewerPreferences for \"${key}\".`);\n          continue;\n        }\n        let prefValue;\n\n        switch (key) {\n          case \"NonFullScreenPageMode\":\n            switch (value.name) {\n              case \"UseNone\":\n              case \"UseOutlines\":\n              case \"UseThumbs\":\n              case \"UseOC\":\n                prefValue = value.name;\n                break;\n              default:\n                prefValue = \"UseNone\";\n            }\n            break;\n          case \"Direction\":\n            switch (value.name) {\n              case \"L2R\":\n              case \"R2L\":\n                prefValue = value.name;\n                break;\n              default:\n                prefValue = \"L2R\";\n            }\n            break;\n          case \"ViewArea\":\n          case \"ViewClip\":\n          case \"PrintArea\":\n          case \"PrintClip\":\n            switch (value.name) {\n              case \"MediaBox\":\n              case \"CropBox\":\n              case \"BleedBox\":\n              case \"TrimBox\":\n              case \"ArtBox\":\n                prefValue = value.name;\n                break;\n              default:\n                prefValue = \"CropBox\";\n            }\n            break;\n          case \"PrintScaling\":\n            switch (value.name) {\n              case \"None\":\n              case \"AppDefault\":\n                prefValue = value.name;\n                break;\n              default:\n                prefValue = \"AppDefault\";\n            }\n            break;\n          case \"Duplex\":\n            switch (value.name) {\n              case \"Simplex\":\n              case \"DuplexFlipShortEdge\":\n              case \"DuplexFlipLongEdge\":\n                prefValue = value.name;\n                break;\n              default:\n                prefValue = \"None\";\n            }\n            break;\n          case \"PrintPageRange\":\n            const length = value.length;\n            if (length % 2 !== 0) {\n              // The number of elements must be even.\n              break;\n            }\n            const isValid = value.every((page, i, arr) => {\n              return (\n                Number.isInteger(page) &&\n                page > 0 &&\n                (i === 0 || page >= arr[i - 1]) &&\n                page <= this.numPages\n              );\n            });\n            if (isValid) {\n              prefValue = value;\n            }\n            break;\n          case \"NumCopies\":\n            if (value > 0) {\n              prefValue = value;\n            }\n            break;\n          default:\n            assert(typeof value === \"boolean\");\n            prefValue = value;\n        }\n\n        if (prefValue !== undefined) {\n          prefs[key] = prefValue;\n        } else {\n          info(`Bad value in ViewerPreferences for \"${key}\".`);\n        }\n      }\n    }\n    return shadow(this, \"viewerPreferences\", prefs);\n  }\n\n  /**\n   * NOTE: \"JavaScript\" actions are, for now, handled by `get javaScript` below.\n   */\n  get openAction() {\n    const obj = this.catDict.get(\"OpenAction\");\n    let openAction = null;\n\n    if (isDict(obj)) {\n      // Convert the OpenAction dictionary into a format that works with\n      // `parseDestDictionary`, to avoid having to re-implement those checks.\n      const destDict = new Dict(this.xref);\n      destDict.set(\"A\", obj);\n\n      const resultObj = { url: null, dest: null, action: null };\n      Catalog.parseDestDictionary({ destDict, resultObj });\n\n      if (Array.isArray(resultObj.dest)) {\n        if (!openAction) {\n          openAction = Object.create(null);\n        }\n        openAction.dest = resultObj.dest;\n      } else if (resultObj.action) {\n        if (!openAction) {\n          openAction = Object.create(null);\n        }\n        openAction.action = resultObj.action;\n      }\n    } else if (Array.isArray(obj)) {\n      if (!openAction) {\n        openAction = Object.create(null);\n      }\n      openAction.dest = obj;\n    }\n    return shadow(this, \"openAction\", openAction);\n  }\n\n  get attachments() {\n    const obj = this.catDict.get(\"Names\");\n    let attachments = null;\n\n    if (obj && obj.has(\"EmbeddedFiles\")) {\n      const nameTree = new NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n      const names = nameTree.getAll();\n      for (const name in names) {\n        const fs = new FileSpec(names[name], this.xref);\n        if (!attachments) {\n          attachments = Object.create(null);\n        }\n        attachments[stringToPDFString(name)] = fs.serializable;\n      }\n    }\n    return shadow(this, \"attachments\", attachments);\n  }\n\n  get javaScript() {\n    const obj = this.catDict.get(\"Names\");\n\n    let javaScript = null;\n    function appendIfJavaScriptDict(jsDict) {\n      const type = jsDict.get(\"S\");\n      if (!isName(type, \"JavaScript\")) {\n        return;\n      }\n\n      let js = jsDict.get(\"JS\");\n      if (isStream(js)) {\n        js = bytesToString(js.getBytes());\n      } else if (!isString(js)) {\n        return;\n      }\n\n      if (!javaScript) {\n        javaScript = [];\n      }\n      javaScript.push(stringToPDFString(js));\n    }\n\n    if (obj && obj.has(\"JavaScript\")) {\n      const nameTree = new NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n      const names = nameTree.getAll();\n      for (const name in names) {\n        // We don't use most JavaScript in PDF documents. This code is\n        // defensive so we don't cause errors on document load.\n        const jsDict = names[name];\n        if (isDict(jsDict)) {\n          appendIfJavaScriptDict(jsDict);\n        }\n      }\n    }\n\n    // Append OpenAction \"JavaScript\" actions to the JavaScript array.\n    const openAction = this.catDict.get(\"OpenAction\");\n    if (isDict(openAction) && isName(openAction.get(\"S\"), \"JavaScript\")) {\n      appendIfJavaScriptDict(openAction);\n    }\n\n    return shadow(this, \"javaScript\", javaScript);\n  }\n\n  fontFallback(id, handler) {\n    const promises = [];\n    this.fontCache.forEach(function(promise) {\n      promises.push(promise);\n    });\n\n    return Promise.all(promises).then(translatedFonts => {\n      for (const translatedFont of translatedFonts) {\n        if (translatedFont.loadedName === id) {\n          translatedFont.fallback(handler);\n          return;\n        }\n      }\n    });\n  }\n\n  cleanup() {\n    clearPrimitiveCaches();\n    this.pageKidsCountCache.clear();\n\n    const promises = [];\n    this.fontCache.forEach(function(promise) {\n      promises.push(promise);\n    });\n\n    return Promise.all(promises).then(translatedFonts => {\n      for (const { dict } of translatedFonts) {\n        delete dict.translated;\n      }\n      this.fontCache.clear();\n      this.builtInCMapCache.clear();\n    });\n  }\n\n  getPageDict(pageIndex) {\n    const capability = createPromiseCapability();\n    const nodesToVisit = [this.catDict.getRaw(\"Pages\")];\n    const visitedNodes = new RefSet();\n    const xref = this.xref,\n      pageKidsCountCache = this.pageKidsCountCache;\n    let count,\n      currentPageIndex = 0;\n\n    function next() {\n      while (nodesToVisit.length) {\n        const currentNode = nodesToVisit.pop();\n\n        if (isRef(currentNode)) {\n          count = pageKidsCountCache.get(currentNode);\n          // Skip nodes where the page can't be.\n          if (count > 0 && currentPageIndex + count < pageIndex) {\n            currentPageIndex += count;\n            continue;\n          }\n          // Prevent circular references in the /Pages tree.\n          if (visitedNodes.has(currentNode)) {\n            capability.reject(\n              new FormatError(\"Pages tree contains circular reference.\")\n            );\n            return;\n          }\n          visitedNodes.put(currentNode);\n\n          xref.fetchAsync(currentNode).then(function(obj) {\n            if (isDict(obj, \"Page\") || (isDict(obj) && !obj.has(\"Kids\"))) {\n              if (pageIndex === currentPageIndex) {\n                // Cache the Page reference, since it can *greatly* improve\n                // performance by reducing redundant lookups in long documents\n                // where all nodes are found at *one* level of the tree.\n                if (currentNode && !pageKidsCountCache.has(currentNode)) {\n                  pageKidsCountCache.put(currentNode, 1);\n                }\n                capability.resolve([obj, currentNode]);\n              } else {\n                currentPageIndex++;\n                next();\n              }\n              return;\n            }\n            nodesToVisit.push(obj);\n            next();\n          }, capability.reject);\n          return;\n        }\n\n        // Must be a child page dictionary.\n        if (!isDict(currentNode)) {\n          capability.reject(\n            new FormatError(\n              \"Page dictionary kid reference points to wrong type of object.\"\n            )\n          );\n          return;\n        }\n\n        count = currentNode.get(\"Count\");\n        if (Number.isInteger(count) && count >= 0) {\n          // Cache the Kids count, since it can reduce redundant lookups in\n          // documents where all nodes are found at *one* level of the tree.\n          const objId = currentNode.objId;\n          if (objId && !pageKidsCountCache.has(objId)) {\n            pageKidsCountCache.put(objId, count);\n          }\n          // Skip nodes where the page can't be.\n          if (currentPageIndex + count <= pageIndex) {\n            currentPageIndex += count;\n            continue;\n          }\n        }\n\n        const kids = currentNode.get(\"Kids\");\n        if (!Array.isArray(kids)) {\n          // Prevent errors in corrupt PDF documents that violate the\n          // specification by *inlining* Page dicts directly in the Kids\n          // array, rather than using indirect objects (fixes issue9540.pdf).\n          if (\n            isName(currentNode.get(\"Type\"), \"Page\") ||\n            (!currentNode.has(\"Type\") && currentNode.has(\"Contents\"))\n          ) {\n            if (currentPageIndex === pageIndex) {\n              capability.resolve([currentNode, null]);\n              return;\n            }\n            currentPageIndex++;\n            continue;\n          }\n\n          capability.reject(\n            new FormatError(\"Page dictionary kids object is not an array.\")\n          );\n          return;\n        }\n\n        // Always check all `Kids` nodes, to avoid getting stuck in an empty\n        // node further down in the tree (see issue5644.pdf, issue8088.pdf),\n        // and to ensure that we actually find the correct `Page` dict.\n        for (let last = kids.length - 1; last >= 0; last--) {\n          nodesToVisit.push(kids[last]);\n        }\n      }\n      capability.reject(new Error(`Page index ${pageIndex} not found.`));\n    }\n    next();\n    return capability.promise;\n  }\n\n  getPageIndex(pageRef) {\n    // The page tree nodes have the count of all the leaves below them. To get\n    // how many pages are before we just have to walk up the tree and keep\n    // adding the count of siblings to the left of the node.\n    const xref = this.xref;\n\n    function pagesBeforeRef(kidRef) {\n      let total = 0,\n        parentRef;\n\n      return xref\n        .fetchAsync(kidRef)\n        .then(function(node) {\n          if (\n            isRefsEqual(kidRef, pageRef) &&\n            !isDict(node, \"Page\") &&\n            !(isDict(node) && !node.has(\"Type\") && node.has(\"Contents\"))\n          ) {\n            throw new FormatError(\n              \"The reference does not point to a /Page dictionary.\"\n            );\n          }\n          if (!node) {\n            return null;\n          }\n          if (!isDict(node)) {\n            throw new FormatError(\"Node must be a dictionary.\");\n          }\n          parentRef = node.getRaw(\"Parent\");\n          return node.getAsync(\"Parent\");\n        })\n        .then(function(parent) {\n          if (!parent) {\n            return null;\n          }\n          if (!isDict(parent)) {\n            throw new FormatError(\"Parent must be a dictionary.\");\n          }\n          return parent.getAsync(\"Kids\");\n        })\n        .then(function(kids) {\n          if (!kids) {\n            return null;\n          }\n\n          const kidPromises = [];\n          let found = false;\n          for (let i = 0, ii = kids.length; i < ii; i++) {\n            const kid = kids[i];\n            if (!isRef(kid)) {\n              throw new FormatError(\"Kid must be a reference.\");\n            }\n            if (isRefsEqual(kid, kidRef)) {\n              found = true;\n              break;\n            }\n            kidPromises.push(\n              xref.fetchAsync(kid).then(function(kid) {\n                if (!isDict(kid)) {\n                  throw new FormatError(\"Kid node must be a dictionary.\");\n                }\n                if (kid.has(\"Count\")) {\n                  total += kid.get(\"Count\");\n                } else {\n                  // Page leaf node.\n                  total++;\n                }\n              })\n            );\n          }\n          if (!found) {\n            throw new FormatError(\"Kid reference not found in parent's kids.\");\n          }\n          return Promise.all(kidPromises).then(function() {\n            return [total, parentRef];\n          });\n        });\n    }\n\n    let total = 0;\n    function next(ref) {\n      return pagesBeforeRef(ref).then(function(args) {\n        if (!args) {\n          return total;\n        }\n        const [count, parentRef] = args;\n        total += count;\n        return next(parentRef);\n      });\n    }\n\n    return next(pageRef);\n  }\n\n  /**\n   * @typedef ParseDestDictionaryParameters\n   * @property {Dict} destDict - The dictionary containing the destination.\n   * @property {Object} resultObj - The object where the parsed destination\n   *   properties will be placed.\n   * @property {string} [docBaseUrl] - The document base URL that is used when\n   *   attempting to recover valid absolute URLs from relative ones.\n   */\n\n  /**\n   * Helper function used to parse the contents of destination dictionaries.\n   * @param {ParseDestDictionaryParameters} params\n   */\n  static parseDestDictionary(params) {\n    // Lets URLs beginning with 'www.' default to using the 'http://' protocol.\n    function addDefaultProtocolToUrl(url) {\n      return url.startsWith(\"www.\") ? `http://${url}` : url;\n    }\n\n    // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n    // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see Bugzilla 1122280.\n    function tryConvertUrlEncoding(url) {\n      try {\n        return stringToUTF8String(url);\n      } catch (e) {\n        return url;\n      }\n    }\n\n    const destDict = params.destDict;\n    if (!isDict(destDict)) {\n      warn(\"parseDestDictionary: `destDict` must be a dictionary.\");\n      return;\n    }\n    const resultObj = params.resultObj;\n    if (typeof resultObj !== \"object\") {\n      warn(\"parseDestDictionary: `resultObj` must be an object.\");\n      return;\n    }\n    const docBaseUrl = params.docBaseUrl || null;\n\n    let action = destDict.get(\"A\"),\n      url,\n      dest;\n    if (!isDict(action) && destDict.has(\"Dest\")) {\n      // A /Dest entry should *only* contain a Name or an Array, but some bad\n      // PDF generators ignore that and treat it as an /A entry.\n      action = destDict.get(\"Dest\");\n    }\n\n    if (isDict(action)) {\n      const actionType = action.get(\"S\");\n      if (!isName(actionType)) {\n        warn(\"parseDestDictionary: Invalid type in Action dictionary.\");\n        return;\n      }\n      const actionName = actionType.name;\n\n      switch (actionName) {\n        case \"URI\":\n          url = action.get(\"URI\");\n          if (isName(url)) {\n            // Some bad PDFs do not put parentheses around relative URLs.\n            url = \"/\" + url.name;\n          } else if (isString(url)) {\n            url = addDefaultProtocolToUrl(url);\n          }\n          // TODO: pdf spec mentions urls can be relative to a Base\n          // entry in the dictionary.\n          break;\n\n        case \"GoTo\":\n          dest = action.get(\"D\");\n          break;\n\n        case \"Launch\":\n        // We neither want, nor can, support arbitrary 'Launch' actions.\n        // However, in practice they are mostly used for linking to other PDF\n        // files, which we thus attempt to support (utilizing `docBaseUrl`).\n        /* falls through */\n\n        case \"GoToR\":\n          const urlDict = action.get(\"F\");\n          if (isDict(urlDict)) {\n            // We assume that we found a FileSpec dictionary\n            // and fetch the URL without checking any further.\n            url = urlDict.get(\"F\") || null;\n          } else if (isString(urlDict)) {\n            url = urlDict;\n          }\n\n          // NOTE: the destination is relative to the *remote* document.\n          let remoteDest = action.get(\"D\");\n          if (remoteDest) {\n            if (isName(remoteDest)) {\n              remoteDest = remoteDest.name;\n            }\n            if (isString(url)) {\n              const baseUrl = url.split(\"#\")[0];\n              if (isString(remoteDest)) {\n                url = baseUrl + \"#\" + remoteDest;\n              } else if (Array.isArray(remoteDest)) {\n                url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n              }\n            }\n          }\n          // The 'NewWindow' property, equal to `LinkTarget.BLANK`.\n          const newWindow = action.get(\"NewWindow\");\n          if (isBool(newWindow)) {\n            resultObj.newWindow = newWindow;\n          }\n          break;\n\n        case \"Named\":\n          const namedAction = action.get(\"N\");\n          if (isName(namedAction)) {\n            resultObj.action = namedAction.name;\n          }\n          break;\n\n        case \"JavaScript\":\n          const jsAction = action.get(\"JS\");\n          let js;\n\n          if (isStream(jsAction)) {\n            js = bytesToString(jsAction.getBytes());\n          } else if (isString(jsAction)) {\n            js = jsAction;\n          }\n\n          if (js) {\n            // Attempt to recover valid URLs from `JS` entries with certain\n            // white-listed formats:\n            //  - window.open('http://example.com')\n            //  - app.launchURL('http://example.com', true)\n            const URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\"];\n            const regex = new RegExp(\n              \"^\\\\s*(\" +\n                URL_OPEN_METHODS.join(\"|\")\n                  .split(\".\")\n                  .join(\"\\\\.\") +\n                \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\",\n              \"i\"\n            );\n\n            const jsUrl = regex.exec(stringToPDFString(js));\n            if (jsUrl && jsUrl[2]) {\n              url = jsUrl[2];\n\n              if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n                resultObj.newWindow = true;\n              }\n              break;\n            }\n          }\n        /* falls through */\n        default:\n          warn(`parseDestDictionary: unsupported action type \"${actionName}\".`);\n          break;\n      }\n    } else if (destDict.has(\"Dest\")) {\n      // Simple destination.\n      dest = destDict.get(\"Dest\");\n    }\n\n    if (isString(url)) {\n      url = tryConvertUrlEncoding(url);\n      const absoluteUrl = createValidAbsoluteUrl(url, docBaseUrl);\n      if (absoluteUrl) {\n        resultObj.url = absoluteUrl.href;\n      }\n      resultObj.unsafeUrl = url;\n    }\n    if (dest) {\n      if (isName(dest)) {\n        dest = dest.name;\n      }\n      if (isString(dest) || Array.isArray(dest)) {\n        resultObj.dest = dest;\n      }\n    }\n  }\n}\n\nvar XRef = (function XRefClosure() {\n  function XRef(stream, pdfManager) {\n    this.stream = stream;\n    this.pdfManager = pdfManager;\n    this.entries = [];\n    this.xrefstms = Object.create(null);\n    this._cacheMap = new Map(); // Prepare the XRef cache.\n    this.stats = {\n      streamTypes: Object.create(null),\n      fontTypes: Object.create(null),\n    };\n  }\n\n  XRef.prototype = {\n    setStartXRef: function XRef_setStartXRef(startXRef) {\n      // Store the starting positions of xref tables as we process them\n      // so we can recover from missing data errors\n      this.startXRefQueue = [startXRef];\n    },\n\n    parse: function XRef_parse(recoveryMode) {\n      var trailerDict;\n      if (!recoveryMode) {\n        trailerDict = this.readXRef();\n      } else {\n        warn(\"Indexing all PDF objects\");\n        trailerDict = this.indexObjects();\n      }\n      trailerDict.assignXref(this);\n      this.trailer = trailerDict;\n\n      let encrypt;\n      try {\n        encrypt = trailerDict.get(\"Encrypt\");\n      } catch (ex) {\n        if (ex instanceof MissingDataException) {\n          throw ex;\n        }\n        warn(`XRef.parse - Invalid \"Encrypt\" reference: \"${ex}\".`);\n      }\n      if (isDict(encrypt)) {\n        var ids = trailerDict.get(\"ID\");\n        var fileId = ids && ids.length ? ids[0] : \"\";\n        // The 'Encrypt' dictionary itself should not be encrypted, and by\n        // setting `suppressEncryption` we can prevent an infinite loop inside\n        // of `XRef_fetchUncompressed` if the dictionary contains indirect\n        // objects (fixes issue7665.pdf).\n        encrypt.suppressEncryption = true;\n        this.encrypt = new CipherTransformFactory(\n          encrypt,\n          fileId,\n          this.pdfManager.password\n        );\n      }\n\n      // Get the root dictionary (catalog) object, and do some basic validation.\n      let root;\n      try {\n        root = trailerDict.get(\"Root\");\n      } catch (ex) {\n        if (ex instanceof MissingDataException) {\n          throw ex;\n        }\n        warn(`XRef.parse - Invalid \"Root\" reference: \"${ex}\".`);\n      }\n      if (isDict(root) && root.has(\"Pages\")) {\n        this.root = root;\n      } else {\n        if (!recoveryMode) {\n          throw new XRefParseException();\n        }\n        throw new FormatError(\"Invalid root reference\");\n      }\n    },\n\n    processXRefTable: function XRef_processXRefTable(parser) {\n      if (!(\"tableState\" in this)) {\n        // Stores state of the table as we process it so we can resume\n        // from middle of table in case of missing data error\n        this.tableState = {\n          entryNum: 0,\n          streamPos: parser.lexer.stream.pos,\n          parserBuf1: parser.buf1,\n          parserBuf2: parser.buf2,\n        };\n      }\n\n      var obj = this.readXRefTable(parser);\n\n      // Sanity check\n      if (!isCmd(obj, \"trailer\")) {\n        throw new FormatError(\n          \"Invalid XRef table: could not find trailer dictionary\"\n        );\n      }\n      // Read trailer dictionary, e.g.\n      // trailer\n      //    << /Size 22\n      //      /Root 20R\n      //      /Info 10R\n      //      /ID [ <81b14aafa313db63dbd6f981e49f94f4> ]\n      //    >>\n      // The parser goes through the entire stream << ... >> and provides\n      // a getter interface for the key-value table\n      var dict = parser.getObj();\n\n      // The pdflib PDF generator can generate a nested trailer dictionary\n      if (!isDict(dict) && dict.dict) {\n        dict = dict.dict;\n      }\n      if (!isDict(dict)) {\n        throw new FormatError(\n          \"Invalid XRef table: could not parse trailer dictionary\"\n        );\n      }\n      delete this.tableState;\n\n      return dict;\n    },\n\n    readXRefTable: function XRef_readXRefTable(parser) {\n      // Example of cross-reference table:\n      // xref\n      // 0 1                    <-- subsection header (first obj #, obj count)\n      // 0000000000 65535 f     <-- actual object (offset, generation #, f/n)\n      // 23 2                   <-- subsection header ... and so on ...\n      // 0000025518 00002 n\n      // 0000025635 00000 n\n      // trailer\n      // ...\n\n      var stream = parser.lexer.stream;\n      var tableState = this.tableState;\n      stream.pos = tableState.streamPos;\n      parser.buf1 = tableState.parserBuf1;\n      parser.buf2 = tableState.parserBuf2;\n\n      // Outer loop is over subsection headers\n      var obj;\n\n      while (true) {\n        if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n          if (isCmd((obj = parser.getObj()), \"trailer\")) {\n            break;\n          }\n          tableState.firstEntryNum = obj;\n          tableState.entryCount = parser.getObj();\n        }\n\n        var first = tableState.firstEntryNum;\n        var count = tableState.entryCount;\n        if (!Number.isInteger(first) || !Number.isInteger(count)) {\n          throw new FormatError(\n            \"Invalid XRef table: wrong types in subsection header\"\n          );\n        }\n        // Inner loop is over objects themselves\n        for (var i = tableState.entryNum; i < count; i++) {\n          tableState.streamPos = stream.pos;\n          tableState.entryNum = i;\n          tableState.parserBuf1 = parser.buf1;\n          tableState.parserBuf2 = parser.buf2;\n\n          var entry = {};\n          entry.offset = parser.getObj();\n          entry.gen = parser.getObj();\n          var type = parser.getObj();\n\n          if (type instanceof Cmd) {\n            switch (type.cmd) {\n              case \"f\":\n                entry.free = true;\n                break;\n              case \"n\":\n                entry.uncompressed = true;\n                break;\n            }\n          }\n\n          // Validate entry obj\n          if (\n            !Number.isInteger(entry.offset) ||\n            !Number.isInteger(entry.gen) ||\n            !(entry.free || entry.uncompressed)\n          ) {\n            throw new FormatError(\n              `Invalid entry in XRef subsection: ${first}, ${count}`\n            );\n          }\n\n          // The first xref table entry, i.e. obj 0, should be free. Attempting\n          // to adjust an incorrect first obj # (fixes issue 3248 and 7229).\n          if (i === 0 && entry.free && first === 1) {\n            first = 0;\n          }\n\n          if (!this.entries[i + first]) {\n            this.entries[i + first] = entry;\n          }\n        }\n\n        tableState.entryNum = 0;\n        tableState.streamPos = stream.pos;\n        tableState.parserBuf1 = parser.buf1;\n        tableState.parserBuf2 = parser.buf2;\n        delete tableState.firstEntryNum;\n        delete tableState.entryCount;\n      }\n\n      // Sanity check: as per spec, first object must be free\n      if (this.entries[0] && !this.entries[0].free) {\n        throw new FormatError(\"Invalid XRef table: unexpected first object\");\n      }\n      return obj;\n    },\n\n    processXRefStream: function XRef_processXRefStream(stream) {\n      if (!(\"streamState\" in this)) {\n        // Stores state of the stream as we process it so we can resume\n        // from middle of stream in case of missing data error\n        var streamParameters = stream.dict;\n        var byteWidths = streamParameters.get(\"W\");\n        var range = streamParameters.get(\"Index\");\n        if (!range) {\n          range = [0, streamParameters.get(\"Size\")];\n        }\n\n        this.streamState = {\n          entryRanges: range,\n          byteWidths,\n          entryNum: 0,\n          streamPos: stream.pos,\n        };\n      }\n      this.readXRefStream(stream);\n      delete this.streamState;\n\n      return stream.dict;\n    },\n\n    readXRefStream: function XRef_readXRefStream(stream) {\n      var i, j;\n      var streamState = this.streamState;\n      stream.pos = streamState.streamPos;\n\n      var byteWidths = streamState.byteWidths;\n      var typeFieldWidth = byteWidths[0];\n      var offsetFieldWidth = byteWidths[1];\n      var generationFieldWidth = byteWidths[2];\n\n      var entryRanges = streamState.entryRanges;\n      while (entryRanges.length > 0) {\n        var first = entryRanges[0];\n        var n = entryRanges[1];\n\n        if (!Number.isInteger(first) || !Number.isInteger(n)) {\n          throw new FormatError(`Invalid XRef range fields: ${first}, ${n}`);\n        }\n        if (\n          !Number.isInteger(typeFieldWidth) ||\n          !Number.isInteger(offsetFieldWidth) ||\n          !Number.isInteger(generationFieldWidth)\n        ) {\n          throw new FormatError(\n            `Invalid XRef entry fields length: ${first}, ${n}`\n          );\n        }\n        for (i = streamState.entryNum; i < n; ++i) {\n          streamState.entryNum = i;\n          streamState.streamPos = stream.pos;\n\n          var type = 0,\n            offset = 0,\n            generation = 0;\n          for (j = 0; j < typeFieldWidth; ++j) {\n            type = (type << 8) | stream.getByte();\n          }\n          // if type field is absent, its default value is 1\n          if (typeFieldWidth === 0) {\n            type = 1;\n          }\n          for (j = 0; j < offsetFieldWidth; ++j) {\n            offset = (offset << 8) | stream.getByte();\n          }\n          for (j = 0; j < generationFieldWidth; ++j) {\n            generation = (generation << 8) | stream.getByte();\n          }\n          var entry = {};\n          entry.offset = offset;\n          entry.gen = generation;\n          switch (type) {\n            case 0:\n              entry.free = true;\n              break;\n            case 1:\n              entry.uncompressed = true;\n              break;\n            case 2:\n              break;\n            default:\n              throw new FormatError(`Invalid XRef entry type: ${type}`);\n          }\n          if (!this.entries[first + i]) {\n            this.entries[first + i] = entry;\n          }\n        }\n\n        streamState.entryNum = 0;\n        streamState.streamPos = stream.pos;\n        entryRanges.splice(0, 2);\n      }\n    },\n\n    indexObjects: function XRef_indexObjects() {\n      // Simple scan through the PDF content to find objects,\n      // trailers and XRef streams.\n      var TAB = 0x9,\n        LF = 0xa,\n        CR = 0xd,\n        SPACE = 0x20;\n      var PERCENT = 0x25,\n        LT = 0x3c;\n\n      function readToken(data, offset) {\n        var token = \"\",\n          ch = data[offset];\n        while (ch !== LF && ch !== CR && ch !== LT) {\n          if (++offset >= data.length) {\n            break;\n          }\n          token += String.fromCharCode(ch);\n          ch = data[offset];\n        }\n        return token;\n      }\n      function skipUntil(data, offset, what) {\n        var length = what.length,\n          dataLength = data.length;\n        var skipped = 0;\n        // finding byte sequence\n        while (offset < dataLength) {\n          var i = 0;\n          while (i < length && data[offset + i] === what[i]) {\n            ++i;\n          }\n          if (i >= length) {\n            break; // sequence found\n          }\n          offset++;\n          skipped++;\n        }\n        return skipped;\n      }\n      var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n      const endobjRegExp = /\\bendobj[\\b\\s]$/;\n      const nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n      const CHECK_CONTENT_LENGTH = 25;\n\n      var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n      // prettier-ignore\n      var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114,\n                                           101, 102]);\n      const objBytes = new Uint8Array([111, 98, 106]);\n      var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n\n      // Clear out any existing entries, since they may be bogus.\n      this.entries.length = 0;\n\n      var stream = this.stream;\n      stream.pos = 0;\n      var buffer = stream.getBytes();\n      var position = stream.start,\n        length = buffer.length;\n      var trailers = [],\n        xrefStms = [];\n      while (position < length) {\n        var ch = buffer[position];\n        if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n          ++position;\n          continue;\n        }\n        if (ch === PERCENT) {\n          // %-comment\n          do {\n            ++position;\n            if (position >= length) {\n              break;\n            }\n            ch = buffer[position];\n          } while (ch !== LF && ch !== CR);\n          continue;\n        }\n        var token = readToken(buffer, position);\n        var m;\n        if (\n          token.startsWith(\"xref\") &&\n          (token.length === 4 || /\\s/.test(token[4]))\n        ) {\n          position += skipUntil(buffer, position, trailerBytes);\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else if ((m = objRegExp.exec(token))) {\n          const num = m[1] | 0,\n            gen = m[2] | 0;\n          if (!this.entries[num] || this.entries[num].gen === gen) {\n            this.entries[num] = {\n              offset: position - stream.start,\n              gen,\n              uncompressed: true,\n            };\n          }\n          let contentLength,\n            startPos = position + token.length;\n\n          // Find the next \"obj\" string, rather than \"endobj\", to ensure that\n          // we won't skip over a new 'obj' operator in corrupt files where\n          // 'endobj' operators are missing (fixes issue9105_reduced.pdf).\n          while (startPos < buffer.length) {\n            const endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n            contentLength = endPos - position;\n\n            const checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n            const tokenStr = bytesToString(buffer.subarray(checkPos, endPos));\n\n            // Check if the current object ends with an 'endobj' operator.\n            if (endobjRegExp.test(tokenStr)) {\n              break;\n            } else {\n              // Check if an \"obj\" occurrence is actually a new object,\n              // i.e. the current object is missing the 'endobj' operator.\n              const objToken = nestedObjRegExp.exec(tokenStr);\n\n              if (objToken && objToken[1]) {\n                warn(\n                  'indexObjects: Found new \"obj\" inside of another \"obj\", ' +\n                    'caused by missing \"endobj\" -- trying to recover.'\n                );\n                contentLength -= objToken[1].length;\n                break;\n              }\n            }\n            startPos = endPos;\n          }\n          const content = buffer.subarray(position, position + contentLength);\n\n          // checking XRef stream suspect\n          // (it shall have '/XRef' and next char is not a letter)\n          var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n          if (\n            xrefTagOffset < contentLength &&\n            content[xrefTagOffset + 5] < 64\n          ) {\n            xrefStms.push(position - stream.start);\n            this.xrefstms[position - stream.start] = 1; // Avoid recursion\n          }\n\n          position += contentLength;\n        } else if (\n          token.startsWith(\"trailer\") &&\n          (token.length === 7 || /\\s/.test(token[7]))\n        ) {\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else {\n          position += token.length + 1;\n        }\n      }\n      // reading XRef streams\n      var i, ii;\n      for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n        this.startXRefQueue.push(xrefStms[i]);\n        this.readXRef(/* recoveryMode */ true);\n      }\n      // finding main trailer\n      let trailerDict;\n      for (i = 0, ii = trailers.length; i < ii; ++i) {\n        stream.pos = trailers[i];\n        const parser = new Parser({\n          lexer: new Lexer(stream),\n          xref: this,\n          allowStreams: true,\n          recoveryMode: true,\n        });\n        var obj = parser.getObj();\n        if (!isCmd(obj, \"trailer\")) {\n          continue;\n        }\n        // read the trailer dictionary\n        const dict = parser.getObj();\n        if (!isDict(dict)) {\n          continue;\n        }\n        // Do some basic validation of the trailer/root dictionary candidate.\n        let rootDict;\n        try {\n          rootDict = dict.get(\"Root\");\n        } catch (ex) {\n          if (ex instanceof MissingDataException) {\n            throw ex;\n          }\n          continue;\n        }\n        if (!isDict(rootDict) || !rootDict.has(\"Pages\")) {\n          continue;\n        }\n        // taking the first one with 'ID'\n        if (dict.has(\"ID\")) {\n          return dict;\n        }\n        // The current dictionary is a candidate, but continue searching.\n        trailerDict = dict;\n      }\n      // No trailer with 'ID', taking last one (if exists).\n      if (trailerDict) {\n        return trailerDict;\n      }\n      // nothing helps\n      throw new InvalidPDFException(\"Invalid PDF structure.\");\n    },\n\n    readXRef: function XRef_readXRef(recoveryMode) {\n      var stream = this.stream;\n      // Keep track of already parsed XRef tables, to prevent an infinite loop\n      // when parsing corrupt PDF files where e.g. the /Prev entries create a\n      // circular dependency between tables (fixes bug1393476.pdf).\n      const startXRefParsedCache = Object.create(null);\n\n      try {\n        while (this.startXRefQueue.length) {\n          var startXRef = this.startXRefQueue[0];\n\n          if (startXRefParsedCache[startXRef]) {\n            warn(\"readXRef - skipping XRef table since it was already parsed.\");\n            this.startXRefQueue.shift();\n            continue;\n          }\n          startXRefParsedCache[startXRef] = true;\n\n          stream.pos = startXRef + stream.start;\n\n          const parser = new Parser({\n            lexer: new Lexer(stream),\n            xref: this,\n            allowStreams: true,\n          });\n          var obj = parser.getObj();\n          var dict;\n\n          // Get dictionary\n          if (isCmd(obj, \"xref\")) {\n            // Parse end-of-file XRef\n            dict = this.processXRefTable(parser);\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n\n            // Recursively get other XRefs 'XRefStm', if any\n            obj = dict.get(\"XRefStm\");\n            if (Number.isInteger(obj)) {\n              var pos = obj;\n              // ignore previously loaded xref streams\n              // (possible infinite recursion)\n              if (!(pos in this.xrefstms)) {\n                this.xrefstms[pos] = 1;\n                this.startXRefQueue.push(pos);\n              }\n            }\n          } else if (Number.isInteger(obj)) {\n            // Parse in-stream XRef\n            if (\n              !Number.isInteger(parser.getObj()) ||\n              !isCmd(parser.getObj(), \"obj\") ||\n              !isStream((obj = parser.getObj()))\n            ) {\n              throw new FormatError(\"Invalid XRef stream\");\n            }\n            dict = this.processXRefStream(obj);\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n            if (!dict) {\n              throw new FormatError(\"Failed to read XRef stream\");\n            }\n          } else {\n            throw new FormatError(\"Invalid XRef stream header\");\n          }\n\n          // Recursively get previous dictionary, if any\n          obj = dict.get(\"Prev\");\n          if (Number.isInteger(obj)) {\n            this.startXRefQueue.push(obj);\n          } else if (isRef(obj)) {\n            // The spec says Prev must not be a reference, i.e. \"/Prev NNN\"\n            // This is a fallback for non-compliant PDFs, i.e. \"/Prev NNN 0 R\"\n            this.startXRefQueue.push(obj.num);\n          }\n\n          this.startXRefQueue.shift();\n        }\n\n        return this.topDict;\n      } catch (e) {\n        if (e instanceof MissingDataException) {\n          throw e;\n        }\n        info(\"(while reading XRef): \" + e);\n      }\n\n      if (recoveryMode) {\n        return undefined;\n      }\n      throw new XRefParseException();\n    },\n\n    getEntry: function XRef_getEntry(i) {\n      var xrefEntry = this.entries[i];\n      if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n        return xrefEntry;\n      }\n      return null;\n    },\n\n    fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n      if (obj instanceof Ref) {\n        return this.fetch(obj, suppressEncryption);\n      }\n      return obj;\n    },\n\n    fetch: function XRef_fetch(ref, suppressEncryption) {\n      if (!(ref instanceof Ref)) {\n        throw new Error(\"ref object is not a reference\");\n      }\n      const num = ref.num;\n\n      // The XRef cache is populated with objects which are obtained through\n      // `Parser.getObj`, and indirectly via `Lexer.getObj`. Neither of these\n      // methods should ever return `undefined` (note the `assert` calls below).\n      const cacheEntry = this._cacheMap.get(num);\n      if (cacheEntry !== undefined) {\n        // In documents with Object Streams, it's possible that cached `Dict`s\n        // have not been assigned an `objId` yet (see e.g. issue3115r.pdf).\n        if (cacheEntry instanceof Dict && !cacheEntry.objId) {\n          cacheEntry.objId = ref.toString();\n        }\n        return cacheEntry;\n      }\n      let xrefEntry = this.getEntry(num);\n\n      if (xrefEntry === null) {\n        // The referenced entry can be free.\n        this._cacheMap.set(num, xrefEntry);\n        return xrefEntry;\n      }\n\n      if (xrefEntry.uncompressed) {\n        xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n      } else {\n        xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n      }\n      if (isDict(xrefEntry)) {\n        xrefEntry.objId = ref.toString();\n      } else if (isStream(xrefEntry)) {\n        xrefEntry.dict.objId = ref.toString();\n      }\n      return xrefEntry;\n    },\n\n    fetchUncompressed(ref, xrefEntry, suppressEncryption = false) {\n      var gen = ref.gen;\n      var num = ref.num;\n      if (xrefEntry.gen !== gen) {\n        throw new XRefEntryException(`Inconsistent generation in XRef: ${ref}`);\n      }\n      var stream = this.stream.makeSubStream(\n        xrefEntry.offset + this.stream.start\n      );\n      const parser = new Parser({\n        lexer: new Lexer(stream),\n        xref: this,\n        allowStreams: true,\n      });\n      var obj1 = parser.getObj();\n      var obj2 = parser.getObj();\n      var obj3 = parser.getObj();\n\n      if (obj1 !== num || obj2 !== gen || !(obj3 instanceof Cmd)) {\n        throw new XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);\n      }\n      if (obj3.cmd !== \"obj\") {\n        // some bad PDFs use \"obj1234\" and really mean 1234\n        if (obj3.cmd.startsWith(\"obj\")) {\n          num = parseInt(obj3.cmd.substring(3), 10);\n          if (!Number.isNaN(num)) {\n            return num;\n          }\n        }\n        throw new XRefEntryException(`Bad (uncompressed) XRef entry: ${ref}`);\n      }\n      if (this.encrypt && !suppressEncryption) {\n        xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n      } else {\n        xrefEntry = parser.getObj();\n      }\n      if (!isStream(xrefEntry)) {\n        if (\n          typeof PDFJSDev === \"undefined\" ||\n          PDFJSDev.test(\"!PRODUCTION || TESTING\")\n        ) {\n          assert(\n            xrefEntry !== undefined,\n            'fetchUncompressed: The \"xrefEntry\" cannot be undefined.'\n          );\n        }\n        this._cacheMap.set(num, xrefEntry);\n      }\n      return xrefEntry;\n    },\n\n    fetchCompressed(ref, xrefEntry, suppressEncryption = false) {\n      const tableOffset = xrefEntry.offset;\n      const stream = this.fetch(Ref.get(tableOffset, 0));\n      if (!isStream(stream)) {\n        throw new FormatError(\"bad ObjStm stream\");\n      }\n      const first = stream.dict.get(\"First\");\n      const n = stream.dict.get(\"N\");\n      if (!Number.isInteger(first) || !Number.isInteger(n)) {\n        throw new FormatError(\n          \"invalid first and n parameters for ObjStm stream\"\n        );\n      }\n      const parser = new Parser({\n        lexer: new Lexer(stream),\n        xref: this,\n        allowStreams: true,\n      });\n      const nums = new Array(n);\n      // read the object numbers to populate cache\n      for (let i = 0; i < n; ++i) {\n        const num = parser.getObj();\n        if (!Number.isInteger(num)) {\n          throw new FormatError(\n            `invalid object number in the ObjStm stream: ${num}`\n          );\n        }\n        const offset = parser.getObj();\n        if (!Number.isInteger(offset)) {\n          throw new FormatError(\n            `invalid object offset in the ObjStm stream: ${offset}`\n          );\n        }\n        nums[i] = num;\n      }\n      const entries = new Array(n);\n      // read stream objects for cache\n      for (let i = 0; i < n; ++i) {\n        const obj = parser.getObj();\n        entries[i] = obj;\n        // The ObjStm should not contain 'endobj'. If it's present, skip over it\n        // to support corrupt PDFs (fixes issue 5241, bug 898610, bug 1037816).\n        if (parser.buf1 instanceof Cmd && parser.buf1.cmd === \"endobj\") {\n          parser.shift();\n        }\n        if (isStream(obj)) {\n          continue;\n        }\n        const num = nums[i],\n          entry = this.entries[num];\n        if (entry && entry.offset === tableOffset && entry.gen === i) {\n          if (\n            typeof PDFJSDev === \"undefined\" ||\n            PDFJSDev.test(\"!PRODUCTION || TESTING\")\n          ) {\n            assert(\n              obj !== undefined,\n              'fetchCompressed: The \"obj\" cannot be undefined.'\n            );\n          }\n          this._cacheMap.set(num, obj);\n        }\n      }\n      xrefEntry = entries[xrefEntry.gen];\n      if (xrefEntry === undefined) {\n        throw new XRefEntryException(`Bad (compressed) XRef entry: ${ref}`);\n      }\n      return xrefEntry;\n    },\n\n    async fetchIfRefAsync(obj, suppressEncryption) {\n      if (obj instanceof Ref) {\n        return this.fetchAsync(obj, suppressEncryption);\n      }\n      return obj;\n    },\n\n    async fetchAsync(ref, suppressEncryption) {\n      try {\n        return this.fetch(ref, suppressEncryption);\n      } catch (ex) {\n        if (!(ex instanceof MissingDataException)) {\n          throw ex;\n        }\n        await this.pdfManager.requestRange(ex.begin, ex.end);\n        return this.fetchAsync(ref, suppressEncryption);\n      }\n    },\n\n    getCatalogObj: function XRef_getCatalogObj() {\n      return this.root;\n    },\n  };\n\n  return XRef;\n})();\n\n/**\n * A NameTree/NumberTree is like a Dict but has some advantageous properties,\n * see the specification (7.9.6 and 7.9.7) for additional details.\n * TODO: implement all the Dict functions and make this more efficient.\n */\nclass NameOrNumberTree {\n  constructor(root, xref, type) {\n    if (this.constructor === NameOrNumberTree) {\n      unreachable(\"Cannot initialize NameOrNumberTree.\");\n    }\n    this.root = root;\n    this.xref = xref;\n    this._type = type;\n  }\n\n  getAll() {\n    const dict = Object.create(null);\n    if (!this.root) {\n      return dict;\n    }\n    const xref = this.xref;\n    // Reading Name/Number tree.\n    const processed = new RefSet();\n    processed.put(this.root);\n    const queue = [this.root];\n    while (queue.length > 0) {\n      const obj = xref.fetchIfRef(queue.shift());\n      if (!isDict(obj)) {\n        continue;\n      }\n      if (obj.has(\"Kids\")) {\n        const kids = obj.get(\"Kids\");\n        for (let i = 0, ii = kids.length; i < ii; i++) {\n          const kid = kids[i];\n          if (processed.has(kid)) {\n            throw new FormatError(`Duplicate entry in \"${this._type}\" tree.`);\n          }\n          queue.push(kid);\n          processed.put(kid);\n        }\n        continue;\n      }\n      const entries = obj.get(this._type);\n      if (Array.isArray(entries)) {\n        for (let i = 0, ii = entries.length; i < ii; i += 2) {\n          dict[xref.fetchIfRef(entries[i])] = xref.fetchIfRef(entries[i + 1]);\n        }\n      }\n    }\n    return dict;\n  }\n\n  get(key) {\n    if (!this.root) {\n      return null;\n    }\n    const xref = this.xref;\n    let kidsOrEntries = xref.fetchIfRef(this.root);\n    let loopCount = 0;\n    const MAX_LEVELS = 10;\n\n    // Perform a binary search to quickly find the entry that\n    // contains the key we are looking for.\n    while (kidsOrEntries.has(\"Kids\")) {\n      if (++loopCount > MAX_LEVELS) {\n        warn(`Search depth limit reached for \"${this._type}\" tree.`);\n        return null;\n      }\n\n      const kids = kidsOrEntries.get(\"Kids\");\n      if (!Array.isArray(kids)) {\n        return null;\n      }\n\n      let l = 0,\n        r = kids.length - 1;\n      while (l <= r) {\n        const m = (l + r) >> 1;\n        const kid = xref.fetchIfRef(kids[m]);\n        const limits = kid.get(\"Limits\");\n\n        if (key < xref.fetchIfRef(limits[0])) {\n          r = m - 1;\n        } else if (key > xref.fetchIfRef(limits[1])) {\n          l = m + 1;\n        } else {\n          kidsOrEntries = xref.fetchIfRef(kids[m]);\n          break;\n        }\n      }\n      if (l > r) {\n        return null;\n      }\n    }\n\n    // If we get here, then we have found the right entry. Now go through the\n    // entries in the dictionary until we find the key we're looking for.\n    const entries = kidsOrEntries.get(this._type);\n    if (Array.isArray(entries)) {\n      // Perform a binary search to reduce the lookup time.\n      let l = 0,\n        r = entries.length - 2;\n      while (l <= r) {\n        // Check only even indices (0, 2, 4, ...) because the\n        // odd indices contain the actual data.\n        const tmp = (l + r) >> 1,\n          m = tmp + (tmp & 1);\n        const currentKey = xref.fetchIfRef(entries[m]);\n        if (key < currentKey) {\n          r = m - 2;\n        } else if (key > currentKey) {\n          l = m + 2;\n        } else {\n          return xref.fetchIfRef(entries[m + 1]);\n        }\n      }\n\n      // Fallback to an exhaustive search, in an attempt to handle corrupt\n      // PDF files where keys are not correctly ordered (fixes issue 10272).\n      info(\n        `Falling back to an exhaustive search, for key \"${key}\", ` +\n          `in \"${this._type}\" tree.`\n      );\n      for (let m = 0, mm = entries.length; m < mm; m += 2) {\n        const currentKey = xref.fetchIfRef(entries[m]);\n        if (currentKey === key) {\n          warn(\n            `The \"${key}\" key was found at an incorrect, ` +\n              `i.e. out-of-order, position in \"${this._type}\" tree.`\n          );\n          return xref.fetchIfRef(entries[m + 1]);\n        }\n      }\n    }\n    return null;\n  }\n}\n\nclass NameTree extends NameOrNumberTree {\n  constructor(root, xref) {\n    super(root, xref, \"Names\");\n  }\n}\n\nclass NumberTree extends NameOrNumberTree {\n  constructor(root, xref) {\n    super(root, xref, \"Nums\");\n  }\n}\n\n/**\n * \"A PDF file can refer to the contents of another file by using a File\n * Specification (PDF 1.1)\", see the spec (7.11) for more details.\n * NOTE: Only embedded files are supported (as part of the attachments support)\n * TODO: support the 'URL' file system (with caching if !/V), portable\n * collections attributes and related files (/RF)\n */\nvar FileSpec = (function FileSpecClosure() {\n  function FileSpec(root, xref) {\n    if (!root || !isDict(root)) {\n      return;\n    }\n    this.xref = xref;\n    this.root = root;\n    if (root.has(\"FS\")) {\n      this.fs = root.get(\"FS\");\n    }\n    this.description = root.has(\"Desc\")\n      ? stringToPDFString(root.get(\"Desc\"))\n      : \"\";\n    if (root.has(\"RF\")) {\n      warn(\"Related file specifications are not supported\");\n    }\n    this.contentAvailable = true;\n    if (!root.has(\"EF\")) {\n      this.contentAvailable = false;\n      warn(\"Non-embedded file specifications are not supported\");\n    }\n  }\n\n  function pickPlatformItem(dict) {\n    // Look for the filename in this order:\n    // UF, F, Unix, Mac, DOS\n    if (dict.has(\"UF\")) {\n      return dict.get(\"UF\");\n    } else if (dict.has(\"F\")) {\n      return dict.get(\"F\");\n    } else if (dict.has(\"Unix\")) {\n      return dict.get(\"Unix\");\n    } else if (dict.has(\"Mac\")) {\n      return dict.get(\"Mac\");\n    } else if (dict.has(\"DOS\")) {\n      return dict.get(\"DOS\");\n    }\n    return null;\n  }\n\n  FileSpec.prototype = {\n    get filename() {\n      if (!this._filename && this.root) {\n        var filename = pickPlatformItem(this.root) || \"unnamed\";\n        this._filename = stringToPDFString(filename)\n          .replace(/\\\\\\\\/g, \"\\\\\")\n          .replace(/\\\\\\//g, \"/\")\n          .replace(/\\\\/g, \"/\");\n      }\n      return this._filename;\n    },\n    get content() {\n      if (!this.contentAvailable) {\n        return null;\n      }\n      if (!this.contentRef && this.root) {\n        this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n      }\n      var content = null;\n      if (this.contentRef) {\n        var xref = this.xref;\n        var fileObj = xref.fetchIfRef(this.contentRef);\n        if (fileObj && isStream(fileObj)) {\n          content = fileObj.getBytes();\n        } else {\n          warn(\n            \"Embedded file specification points to non-existing/invalid \" +\n              \"content\"\n          );\n        }\n      } else {\n        warn(\"Embedded file specification does not have a content\");\n      }\n      return content;\n    },\n    get serializable() {\n      return {\n        filename: this.filename,\n        content: this.content,\n      };\n    },\n  };\n  return FileSpec;\n})();\n\n/**\n * A helper for loading missing data in `Dict` graphs. It traverses the graph\n * depth first and queues up any objects that have missing data. Once it has\n * has traversed as many objects that are available it attempts to bundle the\n * missing data requests and then resume from the nodes that weren't ready.\n *\n * NOTE: It provides protection from circular references by keeping track of\n * loaded references. However, you must be careful not to load any graphs\n * that have references to the catalog or other pages since that will cause the\n * entire PDF document object graph to be traversed.\n */\nconst ObjectLoader = (function() {\n  function mayHaveChildren(value) {\n    return (\n      value instanceof Ref ||\n      value instanceof Dict ||\n      Array.isArray(value) ||\n      isStream(value)\n    );\n  }\n\n  function addChildren(node, nodesToVisit) {\n    if (node instanceof Dict || isStream(node)) {\n      const dict = node instanceof Dict ? node : node.dict;\n      const dictKeys = dict.getKeys();\n      for (let i = 0, ii = dictKeys.length; i < ii; i++) {\n        const rawValue = dict.getRaw(dictKeys[i]);\n        if (mayHaveChildren(rawValue)) {\n          nodesToVisit.push(rawValue);\n        }\n      }\n    } else if (Array.isArray(node)) {\n      for (let i = 0, ii = node.length; i < ii; i++) {\n        const value = node[i];\n        if (mayHaveChildren(value)) {\n          nodesToVisit.push(value);\n        }\n      }\n    }\n  }\n\n  function ObjectLoader(dict, keys, xref) {\n    this.dict = dict;\n    this.keys = keys;\n    this.xref = xref;\n    this.refSet = null;\n  }\n\n  ObjectLoader.prototype = {\n    async load() {\n      // Don't walk the graph if all the data is already loaded; note that only\n      // `ChunkedStream` instances have a `allChunksLoaded` method.\n      if (\n        !this.xref.stream.allChunksLoaded ||\n        this.xref.stream.allChunksLoaded()\n      ) {\n        return undefined;\n      }\n\n      const { keys, dict } = this;\n      this.refSet = new RefSet();\n      // Setup the initial nodes to visit.\n      const nodesToVisit = [];\n      for (let i = 0, ii = keys.length; i < ii; i++) {\n        const rawValue = dict.getRaw(keys[i]);\n        // Skip nodes that are guaranteed to be empty.\n        if (rawValue !== undefined) {\n          nodesToVisit.push(rawValue);\n        }\n      }\n      return this._walk(nodesToVisit);\n    },\n\n    async _walk(nodesToVisit) {\n      const nodesToRevisit = [];\n      const pendingRequests = [];\n      // DFS walk of the object graph.\n      while (nodesToVisit.length) {\n        let currentNode = nodesToVisit.pop();\n\n        // Only references or chunked streams can cause missing data exceptions.\n        if (currentNode instanceof Ref) {\n          // Skip nodes that have already been visited.\n          if (this.refSet.has(currentNode)) {\n            continue;\n          }\n          try {\n            this.refSet.put(currentNode);\n            currentNode = this.xref.fetch(currentNode);\n          } catch (ex) {\n            if (!(ex instanceof MissingDataException)) {\n              throw ex;\n            }\n            nodesToRevisit.push(currentNode);\n            pendingRequests.push({ begin: ex.begin, end: ex.end });\n          }\n        }\n        if (currentNode && currentNode.getBaseStreams) {\n          const baseStreams = currentNode.getBaseStreams();\n          let foundMissingData = false;\n          for (let i = 0, ii = baseStreams.length; i < ii; i++) {\n            const stream = baseStreams[i];\n            if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\n              foundMissingData = true;\n              pendingRequests.push({ begin: stream.start, end: stream.end });\n            }\n          }\n          if (foundMissingData) {\n            nodesToRevisit.push(currentNode);\n          }\n        }\n\n        addChildren(currentNode, nodesToVisit);\n      }\n\n      if (pendingRequests.length) {\n        await this.xref.stream.manager.requestRanges(pendingRequests);\n\n        for (let i = 0, ii = nodesToRevisit.length; i < ii; i++) {\n          const node = nodesToRevisit[i];\n          // Remove any reference nodes from the current `RefSet` so they\n          // aren't skipped when we revist them.\n          if (node instanceof Ref) {\n            this.refSet.remove(node);\n          }\n        }\n        return this._walk(nodesToRevisit);\n      }\n      // Everything is loaded.\n      this.refSet = null;\n      return undefined;\n    },\n  };\n\n  return ObjectLoader;\n})();\n\nexport { Catalog, ObjectLoader, XRef, FileSpec };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  Ascii85Stream,\n  AsciiHexStream,\n  FlateStream,\n  LZWStream,\n  NullStream,\n  PredictorStream,\n  RunLengthStream,\n} from \"./stream.js\";\nimport {\n  assert,\n  bytesToString,\n  FormatError,\n  info,\n  isNum,\n  StreamType,\n  warn,\n} from \"../shared/util.js\";\nimport {\n  Cmd,\n  Dict,\n  EOF,\n  isCmd,\n  isDict,\n  isEOF,\n  isName,\n  Name,\n  Ref,\n} from \"./primitives.js\";\nimport { isWhiteSpace, MissingDataException } from \"./core_utils.js\";\nimport { CCITTFaxStream } from \"./ccitt_stream.js\";\nimport { Jbig2Stream } from \"./jbig2_stream.js\";\nimport { JpegStream } from \"./jpeg_stream.js\";\nimport { JpxStream } from \"./jpx_stream.js\";\n\nconst MAX_LENGTH_TO_CACHE = 1000;\nconst MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n  const bytesLength = bytes.length;\n  if (\n    typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!PRODUCTION || TESTING\")\n  ) {\n    assert(\n      bytesLength < MAX_ADLER32_LENGTH,\n      'computeAdler32: Unsupported \"bytes\" length.'\n    );\n  }\n  let a = 1,\n    b = 0;\n  for (let i = 0; i < bytesLength; ++i) {\n    // No modulo required in the loop if `bytesLength < 5552`.\n    a += bytes[i] & 0xff;\n    b += a;\n  }\n  return (b % 65521 << 16) | a % 65521;\n}\n\nclass Parser {\n  constructor({ lexer, xref, allowStreams = false, recoveryMode = false }) {\n    this.lexer = lexer;\n    this.xref = xref;\n    this.allowStreams = allowStreams;\n    this.recoveryMode = recoveryMode;\n\n    this.imageCache = Object.create(null);\n    this.refill();\n  }\n\n  refill() {\n    this.buf1 = this.lexer.getObj();\n    this.buf2 = this.lexer.getObj();\n  }\n\n  shift() {\n    if (this.buf2 instanceof Cmd && this.buf2.cmd === \"ID\") {\n      this.buf1 = this.buf2;\n      this.buf2 = null;\n    } else {\n      this.buf1 = this.buf2;\n      this.buf2 = this.lexer.getObj();\n    }\n  }\n\n  tryShift() {\n    try {\n      this.shift();\n      return true;\n    } catch (e) {\n      if (e instanceof MissingDataException) {\n        throw e;\n      }\n      // Upon failure, the caller should reset this.lexer.pos to a known good\n      // state and call this.shift() twice to reset the buffers.\n      return false;\n    }\n  }\n\n  getObj(cipherTransform = null) {\n    const buf1 = this.buf1;\n    this.shift();\n\n    if (buf1 instanceof Cmd) {\n      switch (buf1.cmd) {\n        case \"BI\": // inline image\n          return this.makeInlineImage(cipherTransform);\n        case \"[\": // array\n          const array = [];\n          while (!isCmd(this.buf1, \"]\") && !isEOF(this.buf1)) {\n            array.push(this.getObj(cipherTransform));\n          }\n          if (isEOF(this.buf1)) {\n            if (!this.recoveryMode) {\n              throw new FormatError(\"End of file inside array\");\n            }\n            return array;\n          }\n          this.shift();\n          return array;\n        case \"<<\": // dictionary or stream\n          const dict = new Dict(this.xref);\n          while (!isCmd(this.buf1, \">>\") && !isEOF(this.buf1)) {\n            if (!isName(this.buf1)) {\n              info(\"Malformed dictionary: key must be a name object\");\n              this.shift();\n              continue;\n            }\n\n            const key = this.buf1.name;\n            this.shift();\n            if (isEOF(this.buf1)) {\n              break;\n            }\n            dict.set(key, this.getObj(cipherTransform));\n          }\n          if (isEOF(this.buf1)) {\n            if (!this.recoveryMode) {\n              throw new FormatError(\"End of file inside dictionary\");\n            }\n            return dict;\n          }\n\n          // Stream objects are not allowed inside content streams or\n          // object streams.\n          if (isCmd(this.buf2, \"stream\")) {\n            return this.allowStreams\n              ? this.makeStream(dict, cipherTransform)\n              : dict;\n          }\n          this.shift();\n          return dict;\n        default:\n          // simple object\n          return buf1;\n      }\n    }\n\n    if (Number.isInteger(buf1)) {\n      // indirect reference or integer\n      if (Number.isInteger(this.buf1) && isCmd(this.buf2, \"R\")) {\n        const ref = Ref.get(buf1, this.buf1);\n        this.shift();\n        this.shift();\n        return ref;\n      }\n      return buf1;\n    }\n\n    if (typeof buf1 === \"string\") {\n      if (cipherTransform) {\n        return cipherTransform.decryptString(buf1);\n      }\n      return buf1;\n    }\n\n    // simple object\n    return buf1;\n  }\n\n  /**\n   * Find the end of the stream by searching for the /EI\\s/.\n   * @returns {number} The inline stream length.\n   */\n  findDefaultInlineStreamEnd(stream) {\n    const E = 0x45,\n      I = 0x49,\n      SPACE = 0x20,\n      LF = 0xa,\n      CR = 0xd;\n    const n = 10,\n      NUL = 0x0;\n    const startPos = stream.pos;\n    let state = 0,\n      ch,\n      maybeEIPos;\n    while ((ch = stream.getByte()) !== -1) {\n      if (state === 0) {\n        state = ch === E ? 1 : 0;\n      } else if (state === 1) {\n        state = ch === I ? 2 : 0;\n      } else {\n        assert(state === 2);\n        if (ch === SPACE || ch === LF || ch === CR) {\n          maybeEIPos = stream.pos;\n          // Let's check that the next `n` bytes are ASCII... just to be sure.\n          const followingBytes = stream.peekBytes(n);\n          for (let i = 0, ii = followingBytes.length; i < ii; i++) {\n            ch = followingBytes[i];\n            if (ch === NUL && followingBytes[i + 1] !== NUL) {\n              // NUL bytes are not supposed to occur *outside* of inline\n              // images, but some PDF generators violate that assumption,\n              // thus breaking the EI detection heuristics used below.\n              //\n              // However, we can't unconditionally treat NUL bytes as \"ASCII\",\n              // since that *could* result in inline images being truncated.\n              //\n              // To attempt to address this, we'll still treat any *sequence*\n              // of NUL bytes as non-ASCII, but for a *single* NUL byte we'll\n              // continue checking the `followingBytes` (fixes issue8823.pdf).\n              continue;\n            }\n            if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n              // Not a LF, CR, SPACE or any visible ASCII character, i.e.\n              // it's binary stuff. Resetting the state.\n              state = 0;\n              break;\n            }\n          }\n          if (state === 2) {\n            break; // Finished!\n          }\n        } else {\n          state = 0;\n        }\n      }\n    }\n\n    if (ch === -1) {\n      warn(\n        \"findDefaultInlineStreamEnd: \" +\n          \"Reached the end of the stream without finding a valid EI marker\"\n      );\n      if (maybeEIPos) {\n        warn('... trying to recover by using the last \"EI\" occurrence.');\n        stream.skip(-(stream.pos - maybeEIPos)); // Reset the stream position.\n      }\n    }\n\n    let endOffset = 4;\n    stream.skip(-endOffset); // Set the stream position to just before \"EI\".\n    ch = stream.peekByte();\n    stream.skip(endOffset); // ... and remember to reset the stream position.\n\n    // Ensure that we don't accidentally truncate the inline image, when the\n    // data is immediately followed by the \"EI\" marker (fixes issue10388.pdf).\n    if (!isWhiteSpace(ch)) {\n      endOffset--;\n    }\n    return stream.pos - endOffset - startPos;\n  }\n\n  /**\n   * Find the EOI (end-of-image) marker 0xFFD9 of the stream.\n   * @returns {number} The inline stream length.\n   */\n  findDCTDecodeInlineStreamEnd(stream) {\n    const startPos = stream.pos;\n    let foundEOI = false,\n      b,\n      markerLength;\n    while ((b = stream.getByte()) !== -1) {\n      if (b !== 0xff) {\n        // Not a valid marker.\n        continue;\n      }\n      switch (stream.getByte()) {\n        case 0x00: // Byte stuffing.\n          // 0xFF00 appears to be a very common byte sequence in JPEG images.\n          break;\n\n        case 0xff: // Fill byte.\n          // Avoid skipping a valid marker, resetting the stream position.\n          stream.skip(-1);\n          break;\n\n        case 0xd9: // EOI\n          foundEOI = true;\n          break;\n\n        case 0xc0: // SOF0\n        case 0xc1: // SOF1\n        case 0xc2: // SOF2\n        case 0xc3: // SOF3\n        /* falls through */\n        case 0xc5: // SOF5\n        case 0xc6: // SOF6\n        case 0xc7: // SOF7\n        /* falls through */\n        case 0xc9: // SOF9\n        case 0xca: // SOF10\n        case 0xcb: // SOF11\n        /* falls through */\n        case 0xcd: // SOF13\n        case 0xce: // SOF14\n        case 0xcf: // SOF15\n        /* falls through */\n        case 0xc4: // DHT\n        case 0xcc: // DAC\n        /* falls through */\n        case 0xda: // SOS\n        case 0xdb: // DQT\n        case 0xdc: // DNL\n        case 0xdd: // DRI\n        case 0xde: // DHP\n        case 0xdf: // EXP\n        /* falls through */\n        case 0xe0: // APP0\n        case 0xe1: // APP1\n        case 0xe2: // APP2\n        case 0xe3: // APP3\n        case 0xe4: // APP4\n        case 0xe5: // APP5\n        case 0xe6: // APP6\n        case 0xe7: // APP7\n        case 0xe8: // APP8\n        case 0xe9: // APP9\n        case 0xea: // APP10\n        case 0xeb: // APP11\n        case 0xec: // APP12\n        case 0xed: // APP13\n        case 0xee: // APP14\n        case 0xef: // APP15\n        /* falls through */\n        case 0xfe: // COM\n          // The marker should be followed by the length of the segment.\n          markerLength = stream.getUint16();\n          if (markerLength > 2) {\n            // |markerLength| contains the byte length of the marker segment,\n            // including its own length (2 bytes) and excluding the marker.\n            stream.skip(markerLength - 2); // Jump to the next marker.\n          } else {\n            // The marker length is invalid, resetting the stream position.\n            stream.skip(-2);\n          }\n          break;\n      }\n      if (foundEOI) {\n        break;\n      }\n    }\n    const length = stream.pos - startPos;\n    if (b === -1) {\n      warn(\n        \"Inline DCTDecode image stream: \" +\n          \"EOI marker not found, searching for /EI/ instead.\"\n      );\n      stream.skip(-length); // Reset the stream position.\n      return this.findDefaultInlineStreamEnd(stream);\n    }\n    this.inlineStreamSkipEI(stream);\n    return length;\n  }\n\n  /**\n   * Find the EOD (end-of-data) marker '~>' (i.e. TILDE + GT) of the stream.\n   * @returns {number} The inline stream length.\n   */\n  findASCII85DecodeInlineStreamEnd(stream) {\n    const TILDE = 0x7e,\n      GT = 0x3e;\n    const startPos = stream.pos;\n    let ch;\n    while ((ch = stream.getByte()) !== -1) {\n      if (ch === TILDE) {\n        const tildePos = stream.pos;\n\n        ch = stream.peekByte();\n        // Handle corrupt PDF documents which contains whitespace \"inside\" of\n        // the EOD marker (fixes issue10614.pdf).\n        while (isWhiteSpace(ch)) {\n          stream.skip();\n          ch = stream.peekByte();\n        }\n        if (ch === GT) {\n          stream.skip();\n          break;\n        }\n        // Handle corrupt PDF documents which contains truncated EOD markers,\n        // where the '>' character is missing (fixes issue11385.pdf).\n        if (stream.pos > tildePos) {\n          const maybeEI = stream.peekBytes(2);\n          if (maybeEI[0] === /* E = */ 0x45 && maybeEI[1] === /* I = */ 0x49) {\n            break;\n          }\n        }\n      }\n    }\n    const length = stream.pos - startPos;\n    if (ch === -1) {\n      warn(\n        \"Inline ASCII85Decode image stream: \" +\n          \"EOD marker not found, searching for /EI/ instead.\"\n      );\n      stream.skip(-length); // Reset the stream position.\n      return this.findDefaultInlineStreamEnd(stream);\n    }\n    this.inlineStreamSkipEI(stream);\n    return length;\n  }\n\n  /**\n   * Find the EOD (end-of-data) marker '>' (i.e. GT) of the stream.\n   * @returns {number} The inline stream length.\n   */\n  findASCIIHexDecodeInlineStreamEnd(stream) {\n    const GT = 0x3e;\n    const startPos = stream.pos;\n    let ch;\n    while ((ch = stream.getByte()) !== -1) {\n      if (ch === GT) {\n        break;\n      }\n    }\n    const length = stream.pos - startPos;\n    if (ch === -1) {\n      warn(\n        \"Inline ASCIIHexDecode image stream: \" +\n          \"EOD marker not found, searching for /EI/ instead.\"\n      );\n      stream.skip(-length); // Reset the stream position.\n      return this.findDefaultInlineStreamEnd(stream);\n    }\n    this.inlineStreamSkipEI(stream);\n    return length;\n  }\n\n  /**\n   * Skip over the /EI/ for streams where we search for an EOD marker.\n   */\n  inlineStreamSkipEI(stream) {\n    const E = 0x45,\n      I = 0x49;\n    let state = 0,\n      ch;\n    while ((ch = stream.getByte()) !== -1) {\n      if (state === 0) {\n        state = ch === E ? 1 : 0;\n      } else if (state === 1) {\n        state = ch === I ? 2 : 0;\n      } else if (state === 2) {\n        break;\n      }\n    }\n  }\n\n  makeInlineImage(cipherTransform) {\n    const lexer = this.lexer;\n    const stream = lexer.stream;\n\n    // Parse dictionary.\n    const dict = new Dict(this.xref);\n    let dictLength;\n    while (!isCmd(this.buf1, \"ID\") && !isEOF(this.buf1)) {\n      if (!isName(this.buf1)) {\n        throw new FormatError(\"Dictionary key must be a name object\");\n      }\n      const key = this.buf1.name;\n      this.shift();\n      if (isEOF(this.buf1)) {\n        break;\n      }\n      dict.set(key, this.getObj(cipherTransform));\n    }\n    if (lexer.beginInlineImagePos !== -1) {\n      dictLength = stream.pos - lexer.beginInlineImagePos;\n    }\n\n    // Extract the name of the first (i.e. the current) image filter.\n    const filter = dict.get(\"Filter\", \"F\");\n    let filterName;\n    if (isName(filter)) {\n      filterName = filter.name;\n    } else if (Array.isArray(filter)) {\n      const filterZero = this.xref.fetchIfRef(filter[0]);\n      if (isName(filterZero)) {\n        filterName = filterZero.name;\n      }\n    }\n\n    // Parse image stream.\n    const startPos = stream.pos;\n    let length;\n    if (filterName === \"DCTDecode\" || filterName === \"DCT\") {\n      length = this.findDCTDecodeInlineStreamEnd(stream);\n    } else if (filterName === \"ASCII85Decode\" || filterName === \"A85\") {\n      length = this.findASCII85DecodeInlineStreamEnd(stream);\n    } else if (filterName === \"ASCIIHexDecode\" || filterName === \"AHx\") {\n      length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n    } else {\n      length = this.findDefaultInlineStreamEnd(stream);\n    }\n    let imageStream = stream.makeSubStream(startPos, length, dict);\n\n    // Cache all images below the MAX_LENGTH_TO_CACHE threshold by their\n    // adler32 checksum.\n    let cacheKey;\n    if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n      const imageBytes = imageStream.getBytes();\n      imageStream.reset();\n\n      const initialStreamPos = stream.pos;\n      // Set the stream position to the beginning of the dictionary data...\n      stream.pos = lexer.beginInlineImagePos;\n      // ... and fetch the bytes of the *entire* dictionary.\n      const dictBytes = stream.getBytes(dictLength);\n      // Finally, don't forget to reset the stream position.\n      stream.pos = initialStreamPos;\n\n      cacheKey = computeAdler32(imageBytes) + \"_\" + computeAdler32(dictBytes);\n\n      const cacheEntry = this.imageCache[cacheKey];\n      if (cacheEntry !== undefined) {\n        this.buf2 = Cmd.get(\"EI\");\n        this.shift();\n\n        cacheEntry.reset();\n        return cacheEntry;\n      }\n    }\n\n    if (cipherTransform) {\n      imageStream = cipherTransform.createStream(imageStream, length);\n    }\n\n    imageStream = this.filter(imageStream, dict, length);\n    imageStream.dict = dict;\n    if (cacheKey !== undefined) {\n      imageStream.cacheKey = `inline_${length}_${cacheKey}`;\n      this.imageCache[cacheKey] = imageStream;\n    }\n\n    this.buf2 = Cmd.get(\"EI\");\n    this.shift();\n\n    return imageStream;\n  }\n\n  _findStreamLength(startPos, signature) {\n    const { stream } = this.lexer;\n    stream.pos = startPos;\n\n    const SCAN_BLOCK_LENGTH = 2048;\n    const signatureLength = signature.length;\n\n    while (stream.pos < stream.end) {\n      const scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n      const scanLength = scanBytes.length - signatureLength;\n\n      if (scanLength <= 0) {\n        break;\n      }\n      let pos = 0;\n      while (pos < scanLength) {\n        let j = 0;\n        while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n          j++;\n        }\n        if (j >= signatureLength) {\n          // `signature` found.\n          stream.pos += pos;\n          return stream.pos - startPos;\n        }\n        pos++;\n      }\n      stream.pos += scanLength;\n    }\n    return -1;\n  }\n\n  makeStream(dict, cipherTransform) {\n    const lexer = this.lexer;\n    let stream = lexer.stream;\n\n    // Get the stream's start position.\n    lexer.skipToNextLine();\n    const startPos = stream.pos - 1;\n\n    // Get the length.\n    let length = dict.get(\"Length\");\n    if (!Number.isInteger(length)) {\n      info(`Bad length \"${length}\" in stream`);\n      length = 0;\n    }\n\n    // Skip over the stream data.\n    stream.pos = startPos + length;\n    lexer.nextChar();\n\n    // Shift '>>' and check whether the new object marks the end of the stream.\n    if (this.tryShift() && isCmd(this.buf2, \"endstream\")) {\n      this.shift(); // 'stream'\n    } else {\n      // Bad stream length, scanning for endstream command.\n      // prettier-ignore\n      const ENDSTREAM_SIGNATURE = new Uint8Array([\n        0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n      let actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n      if (actualLength < 0) {\n        // Only allow limited truncation of the endstream signature,\n        // to prevent false positives.\n        const MAX_TRUNCATION = 1;\n        // Check if the PDF generator included truncated endstream commands,\n        // such as e.g. \"endstrea\" (fixes issue10004.pdf).\n        for (let i = 1; i <= MAX_TRUNCATION; i++) {\n          const end = ENDSTREAM_SIGNATURE.length - i;\n          const TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n          const maybeLength = this._findStreamLength(\n            startPos,\n            TRUNCATED_SIGNATURE\n          );\n          if (maybeLength >= 0) {\n            // Ensure that the byte immediately following the truncated\n            // endstream command is a space, to prevent false positives.\n            const lastByte = stream.peekBytes(end + 1)[end];\n            if (!isWhiteSpace(lastByte)) {\n              break;\n            }\n            info(\n              `Found \"${bytesToString(TRUNCATED_SIGNATURE)}\" when ` +\n                \"searching for endstream command.\"\n            );\n            actualLength = maybeLength;\n            break;\n          }\n        }\n\n        if (actualLength < 0) {\n          throw new FormatError(\"Missing endstream command.\");\n        }\n      }\n      length = actualLength;\n\n      lexer.nextChar();\n      this.shift();\n      this.shift();\n    }\n    this.shift(); // 'endstream'\n\n    stream = stream.makeSubStream(startPos, length, dict);\n    if (cipherTransform) {\n      stream = cipherTransform.createStream(stream, length);\n    }\n    stream = this.filter(stream, dict, length);\n    stream.dict = dict;\n    return stream;\n  }\n\n  filter(stream, dict, length) {\n    let filter = dict.get(\"Filter\", \"F\");\n    let params = dict.get(\"DecodeParms\", \"DP\");\n\n    if (isName(filter)) {\n      if (Array.isArray(params)) {\n        warn(\n          \"/DecodeParms should not contain an Array, \" +\n            \"when /Filter contains a Name.\"\n        );\n      }\n      return this.makeFilter(stream, filter.name, length, params);\n    }\n\n    let maybeLength = length;\n    if (Array.isArray(filter)) {\n      const filterArray = filter;\n      const paramsArray = params;\n      for (let i = 0, ii = filterArray.length; i < ii; ++i) {\n        filter = this.xref.fetchIfRef(filterArray[i]);\n        if (!isName(filter)) {\n          throw new FormatError(`Bad filter name \"${filter}\"`);\n        }\n\n        params = null;\n        if (Array.isArray(paramsArray) && i in paramsArray) {\n          params = this.xref.fetchIfRef(paramsArray[i]);\n        }\n        stream = this.makeFilter(stream, filter.name, maybeLength, params);\n        // After the first stream the `length` variable is invalid.\n        maybeLength = null;\n      }\n    }\n    return stream;\n  }\n\n  makeFilter(stream, name, maybeLength, params) {\n    // Since the 'Length' entry in the stream dictionary can be completely\n    // wrong, e.g. zero for non-empty streams, only skip parsing the stream\n    // when we can be absolutely certain that it actually is empty.\n    if (maybeLength === 0) {\n      warn(`Empty \"${name}\" stream.`);\n      return new NullStream();\n    }\n\n    try {\n      const xrefStreamStats = this.xref.stats.streamTypes;\n      if (name === \"FlateDecode\" || name === \"Fl\") {\n        xrefStreamStats[StreamType.FLATE] = true;\n        if (params) {\n          return new PredictorStream(\n            new FlateStream(stream, maybeLength),\n            maybeLength,\n            params\n          );\n        }\n        return new FlateStream(stream, maybeLength);\n      }\n      if (name === \"LZWDecode\" || name === \"LZW\") {\n        xrefStreamStats[StreamType.LZW] = true;\n        let earlyChange = 1;\n        if (params) {\n          if (params.has(\"EarlyChange\")) {\n            earlyChange = params.get(\"EarlyChange\");\n          }\n          return new PredictorStream(\n            new LZWStream(stream, maybeLength, earlyChange),\n            maybeLength,\n            params\n          );\n        }\n        return new LZWStream(stream, maybeLength, earlyChange);\n      }\n      if (name === \"DCTDecode\" || name === \"DCT\") {\n        xrefStreamStats[StreamType.DCT] = true;\n        return new JpegStream(stream, maybeLength, stream.dict, params);\n      }\n      if (name === \"JPXDecode\" || name === \"JPX\") {\n        xrefStreamStats[StreamType.JPX] = true;\n        return new JpxStream(stream, maybeLength, stream.dict, params);\n      }\n      if (name === \"ASCII85Decode\" || name === \"A85\") {\n        xrefStreamStats[StreamType.A85] = true;\n        return new Ascii85Stream(stream, maybeLength);\n      }\n      if (name === \"ASCIIHexDecode\" || name === \"AHx\") {\n        xrefStreamStats[StreamType.AHX] = true;\n        return new AsciiHexStream(stream, maybeLength);\n      }\n      if (name === \"CCITTFaxDecode\" || name === \"CCF\") {\n        xrefStreamStats[StreamType.CCF] = true;\n        return new CCITTFaxStream(stream, maybeLength, params);\n      }\n      if (name === \"RunLengthDecode\" || name === \"RL\") {\n        xrefStreamStats[StreamType.RLX] = true;\n        return new RunLengthStream(stream, maybeLength);\n      }\n      if (name === \"JBIG2Decode\") {\n        xrefStreamStats[StreamType.JBIG] = true;\n        return new Jbig2Stream(stream, maybeLength, stream.dict, params);\n      }\n      warn(`Filter \"${name}\" is not supported.`);\n      return stream;\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      warn(`Invalid stream: \"${ex}\"`);\n      return new NullStream();\n    }\n  }\n}\n\n// A '1' in this array means the character is white space. A '1' or\n// '2' means the character ends a name or command.\n// prettier-ignore\nconst specialChars = [\n  1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, // 0x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x\n  1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, // 2x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, // 3x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, // 5x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, // 7x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ax\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // bx\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // cx\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // dx\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // ex\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0  // fx\n];\n\nfunction toHexDigit(ch) {\n  if (ch >= /* '0' = */ 0x30 && ch /* '9' = */ <= 0x39) {\n    return ch & 0x0f;\n  }\n  if (\n    (ch >= /* 'A' = */ 0x41 && ch <= /* 'F' = */ 0x46) ||\n    (ch >= /* 'a' = */ 0x61 && ch <= /* 'f' = */ 0x66)\n  ) {\n    return (ch & 0x0f) + 9;\n  }\n  return -1;\n}\n\nclass Lexer {\n  constructor(stream, knownCommands = null) {\n    this.stream = stream;\n    this.nextChar();\n\n    // While lexing, we build up many strings one char at a time. Using += for\n    // this can result in lots of garbage strings. It's better to build an\n    // array of single-char strings and then join() them together at the end.\n    // And reusing a single array (i.e. |this.strBuf|) over and over for this\n    // purpose uses less memory than using a new array for each string.\n    this.strBuf = [];\n\n    // The PDFs might have \"glued\" commands with other commands, operands or\n    // literals, e.g. \"q1\". The knownCommands is a dictionary of the valid\n    // commands and their prefixes. The prefixes are built the following way:\n    // if there a command that is a prefix of the other valid command or\n    // literal (e.g. 'f' and 'false') the following prefixes must be included,\n    // 'fa', 'fal', 'fals'. The prefixes are not needed, if the command has no\n    // other commands or literals as a prefix. The knowCommands is optional.\n    this.knownCommands = knownCommands;\n\n    this._hexStringNumWarn = 0;\n    this.beginInlineImagePos = -1;\n  }\n\n  nextChar() {\n    return (this.currentChar = this.stream.getByte());\n  }\n\n  peekChar() {\n    return this.stream.peekByte();\n  }\n\n  getNumber() {\n    let ch = this.currentChar;\n    let eNotation = false;\n    let divideBy = 0; // Different from 0 if it's a floating point value.\n    let sign = 0;\n\n    if (ch === /* '-' = */ 0x2d) {\n      sign = -1;\n      ch = this.nextChar();\n\n      if (ch === /* '-' = */ 0x2d) {\n        // Ignore double negative (this is consistent with Adobe Reader).\n        ch = this.nextChar();\n      }\n    } else if (ch === /* '+' = */ 0x2b) {\n      sign = 1;\n      ch = this.nextChar();\n    }\n    if (ch === /* LF = */ 0x0a || ch === /* CR = */ 0x0d) {\n      // Ignore line-breaks (this is consistent with Adobe Reader).\n      do {\n        ch = this.nextChar();\n      } while (ch === 0x0a || ch === 0x0d);\n    }\n    if (ch === /* '.' = */ 0x2e) {\n      divideBy = 10;\n      ch = this.nextChar();\n    }\n    if (ch < /* '0' = */ 0x30 || ch > /* '9' = */ 0x39) {\n      if (\n        divideBy === 10 &&\n        sign === 0 &&\n        (isWhiteSpace(ch) || ch === /* EOF = */ -1)\n      ) {\n        // This is consistent with Adobe Reader (fixes issue9252.pdf).\n        warn(\"Lexer.getNumber - treating a single decimal point as zero.\");\n        return 0;\n      }\n      throw new FormatError(\n        `Invalid number: ${String.fromCharCode(ch)} (charCode ${ch})`\n      );\n    }\n\n    sign = sign || 1;\n    let baseValue = ch - 0x30; // '0'\n    let powerValue = 0;\n    let powerValueSign = 1;\n\n    while ((ch = this.nextChar()) >= 0) {\n      if (ch >= /* '0' = */ 0x30 && ch <= /* '9' = */ 0x39) {\n        const currentDigit = ch - 0x30; // '0'\n        if (eNotation) {\n          // We are after an 'e' or 'E'.\n          powerValue = powerValue * 10 + currentDigit;\n        } else {\n          if (divideBy !== 0) {\n            // We are after a point.\n            divideBy *= 10;\n          }\n          baseValue = baseValue * 10 + currentDigit;\n        }\n      } else if (ch === /* '.' = */ 0x2e) {\n        if (divideBy === 0) {\n          divideBy = 1;\n        } else {\n          // A number can have only one dot.\n          break;\n        }\n      } else if (ch === /* '-' = */ 0x2d) {\n        // Ignore minus signs in the middle of numbers to match\n        // Adobe's behavior.\n        warn(\"Badly formatted number: minus sign in the middle\");\n      } else if (ch === /* 'E' = */ 0x45 || ch === /* 'e' = */ 0x65) {\n        // 'E' can be either a scientific notation or the beginning of a new\n        // operator.\n        ch = this.peekChar();\n        if (ch === /* '+' = */ 0x2b || ch === /* '-' = */ 0x2d) {\n          powerValueSign = ch === 0x2d ? -1 : 1;\n          this.nextChar(); // Consume the sign character.\n        } else if (ch < /* '0' = */ 0x30 || ch > /* '9' = */ 0x39) {\n          // The 'E' must be the beginning of a new operator.\n          break;\n        }\n        eNotation = true;\n      } else {\n        // The last character doesn't belong to us.\n        break;\n      }\n    }\n\n    if (divideBy !== 0) {\n      baseValue /= divideBy;\n    }\n    if (eNotation) {\n      baseValue *= 10 ** (powerValueSign * powerValue);\n    }\n    return sign * baseValue;\n  }\n\n  getString() {\n    let numParen = 1;\n    let done = false;\n    const strBuf = this.strBuf;\n    strBuf.length = 0;\n\n    let ch = this.nextChar();\n    while (true) {\n      let charBuffered = false;\n      switch (ch | 0) {\n        case -1:\n          warn(\"Unterminated string\");\n          done = true;\n          break;\n        case 0x28: // '('\n          ++numParen;\n          strBuf.push(\"(\");\n          break;\n        case 0x29: // ')'\n          if (--numParen === 0) {\n            this.nextChar(); // consume strings ')'\n            done = true;\n          } else {\n            strBuf.push(\")\");\n          }\n          break;\n        case 0x5c: // '\\\\'\n          ch = this.nextChar();\n          switch (ch) {\n            case -1:\n              warn(\"Unterminated string\");\n              done = true;\n              break;\n            case 0x6e: // 'n'\n              strBuf.push(\"\\n\");\n              break;\n            case 0x72: // 'r'\n              strBuf.push(\"\\r\");\n              break;\n            case 0x74: // 't'\n              strBuf.push(\"\\t\");\n              break;\n            case 0x62: // 'b'\n              strBuf.push(\"\\b\");\n              break;\n            case 0x66: // 'f'\n              strBuf.push(\"\\f\");\n              break;\n            case 0x5c: // '\\'\n            case 0x28: // '('\n            case 0x29: // ')'\n              strBuf.push(String.fromCharCode(ch));\n              break;\n            case 0x30: // '0'\n            case 0x31: // '1'\n            case 0x32: // '2'\n            case 0x33: // '3'\n            case 0x34: // '4'\n            case 0x35: // '5'\n            case 0x36: // '6'\n            case 0x37: // '7'\n              let x = ch & 0x0f;\n              ch = this.nextChar();\n              charBuffered = true;\n              if (ch >= /* '0' = */ 0x30 && ch <= /* '7' = */ 0x37) {\n                x = (x << 3) + (ch & 0x0f);\n                ch = this.nextChar();\n                if (ch >= /* '0' = */ 0x30 && ch /* '7' = */ <= 0x37) {\n                  charBuffered = false;\n                  x = (x << 3) + (ch & 0x0f);\n                }\n              }\n              strBuf.push(String.fromCharCode(x));\n              break;\n            case 0x0d: // CR\n              if (this.peekChar() === /* LF = */ 0x0a) {\n                this.nextChar();\n              }\n              break;\n            case 0x0a: // LF\n              break;\n            default:\n              strBuf.push(String.fromCharCode(ch));\n              break;\n          }\n          break;\n        default:\n          strBuf.push(String.fromCharCode(ch));\n          break;\n      }\n      if (done) {\n        break;\n      }\n      if (!charBuffered) {\n        ch = this.nextChar();\n      }\n    }\n    return strBuf.join(\"\");\n  }\n\n  getName() {\n    let ch, previousCh;\n    const strBuf = this.strBuf;\n    strBuf.length = 0;\n\n    while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n      if (ch === /* '#' = */ 0x23) {\n        ch = this.nextChar();\n        if (specialChars[ch]) {\n          warn(\n            \"Lexer_getName: \" +\n              \"NUMBER SIGN (#) should be followed by a hexadecimal number.\"\n          );\n          strBuf.push(\"#\");\n          break;\n        }\n        const x = toHexDigit(ch);\n        if (x !== -1) {\n          previousCh = ch;\n          ch = this.nextChar();\n          const x2 = toHexDigit(ch);\n          if (x2 === -1) {\n            warn(\n              `Lexer_getName: Illegal digit (${String.fromCharCode(ch)}) ` +\n                \"in hexadecimal number.\"\n            );\n            strBuf.push(\"#\", String.fromCharCode(previousCh));\n            if (specialChars[ch]) {\n              break;\n            }\n            strBuf.push(String.fromCharCode(ch));\n            continue;\n          }\n          strBuf.push(String.fromCharCode((x << 4) | x2));\n        } else {\n          strBuf.push(\"#\", String.fromCharCode(ch));\n        }\n      } else {\n        strBuf.push(String.fromCharCode(ch));\n      }\n    }\n    if (strBuf.length > 127) {\n      warn(`Name token is longer than allowed by the spec: ${strBuf.length}`);\n    }\n    return Name.get(strBuf.join(\"\"));\n  }\n\n  /**\n   * @private\n   */\n  _hexStringWarn(ch) {\n    const MAX_HEX_STRING_NUM_WARN = 5;\n\n    if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n      warn(\"getHexString - ignoring additional invalid characters.\");\n      return;\n    }\n    if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n      // Limit the number of warning messages printed for a `this.getHexString`\n      // invocation, since corrupt PDF documents may otherwise spam the console\n      // enough to affect general performance negatively.\n      return;\n    }\n    warn(`getHexString - ignoring invalid character: ${ch}`);\n  }\n\n  getHexString() {\n    const strBuf = this.strBuf;\n    strBuf.length = 0;\n    let ch = this.currentChar;\n    let isFirstHex = true;\n    let firstDigit, secondDigit;\n    this._hexStringNumWarn = 0;\n\n    while (true) {\n      if (ch < 0) {\n        warn(\"Unterminated hex string\");\n        break;\n      } else if (ch === /* '>' = */ 0x3e) {\n        this.nextChar();\n        break;\n      } else if (specialChars[ch] === 1) {\n        ch = this.nextChar();\n        continue;\n      } else {\n        if (isFirstHex) {\n          firstDigit = toHexDigit(ch);\n          if (firstDigit === -1) {\n            this._hexStringWarn(ch);\n            ch = this.nextChar();\n            continue;\n          }\n        } else {\n          secondDigit = toHexDigit(ch);\n          if (secondDigit === -1) {\n            this._hexStringWarn(ch);\n            ch = this.nextChar();\n            continue;\n          }\n          strBuf.push(String.fromCharCode((firstDigit << 4) | secondDigit));\n        }\n        isFirstHex = !isFirstHex;\n        ch = this.nextChar();\n      }\n    }\n    return strBuf.join(\"\");\n  }\n\n  getObj() {\n    // Skip whitespace and comments.\n    let comment = false;\n    let ch = this.currentChar;\n    while (true) {\n      if (ch < 0) {\n        return EOF;\n      }\n      if (comment) {\n        if (ch === /* LF = */ 0x0a || ch === /* CR = */ 0x0d) {\n          comment = false;\n        }\n      } else if (ch === /* '%' = */ 0x25) {\n        comment = true;\n      } else if (specialChars[ch] !== 1) {\n        break;\n      }\n      ch = this.nextChar();\n    }\n\n    // Start reading a token.\n    switch (ch | 0) {\n      case 0x30: // '0'\n      case 0x31: // '1'\n      case 0x32: // '2'\n      case 0x33: // '3'\n      case 0x34: // '4'\n      case 0x35: // '5'\n      case 0x36: // '6'\n      case 0x37: // '7'\n      case 0x38: // '8'\n      case 0x39: // '9'\n      case 0x2b: // '+'\n      case 0x2d: // '-'\n      case 0x2e: // '.'\n        return this.getNumber();\n      case 0x28: // '('\n        return this.getString();\n      case 0x2f: // '/'\n        return this.getName();\n      // array punctuation\n      case 0x5b: // '['\n        this.nextChar();\n        return Cmd.get(\"[\");\n      case 0x5d: // ']'\n        this.nextChar();\n        return Cmd.get(\"]\");\n      // hex string or dict punctuation\n      case 0x3c: // '<'\n        ch = this.nextChar();\n        if (ch === 0x3c) {\n          // dict punctuation\n          this.nextChar();\n          return Cmd.get(\"<<\");\n        }\n        return this.getHexString();\n      // dict punctuation\n      case 0x3e: // '>'\n        ch = this.nextChar();\n        if (ch === 0x3e) {\n          this.nextChar();\n          return Cmd.get(\">>\");\n        }\n        return Cmd.get(\">\");\n      case 0x7b: // '{'\n        this.nextChar();\n        return Cmd.get(\"{\");\n      case 0x7d: // '}'\n        this.nextChar();\n        return Cmd.get(\"}\");\n      case 0x29: // ')'\n        // Consume the current character in order to avoid permanently hanging\n        // the worker thread if `Lexer.getObject` is called from within a loop\n        // containing try-catch statements, since we would otherwise attempt\n        // to parse the *same* character over and over (fixes issue8061.pdf).\n        this.nextChar();\n        throw new FormatError(`Illegal character: ${ch}`);\n    }\n\n    // Start reading a command.\n    let str = String.fromCharCode(ch);\n    const knownCommands = this.knownCommands;\n    let knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n    while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n      // Stop if a known command is found and next character does not make\n      // the string a command.\n      const possibleCommand = str + String.fromCharCode(ch);\n      if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n        break;\n      }\n      if (str.length === 128) {\n        throw new FormatError(`Command token too long: ${str.length}`);\n      }\n      str = possibleCommand;\n      knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n    }\n    if (str === \"true\") {\n      return true;\n    }\n    if (str === \"false\") {\n      return false;\n    }\n    if (str === \"null\") {\n      return null;\n    }\n\n    if (str === \"BI\") {\n      // Keep track of the current stream position, since it's needed in order\n      // to correctly cache inline images; see `Parser.makeInlineImage`.\n      this.beginInlineImagePos = this.stream.pos;\n    }\n\n    return Cmd.get(str);\n  }\n\n  skipToNextLine() {\n    let ch = this.currentChar;\n    while (ch >= 0) {\n      if (ch === /* CR = */ 0x0d) {\n        ch = this.nextChar();\n        if (ch === /* LF = */ 0x0a) {\n          this.nextChar();\n        }\n        break;\n      } else if (ch === /* LF = */ 0x0a) {\n        this.nextChar();\n        break;\n      }\n      ch = this.nextChar();\n    }\n  }\n}\n\nclass Linearization {\n  static create(stream) {\n    function getInt(linDict, name, allowZeroValue = false) {\n      const obj = linDict.get(name);\n      if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n        return obj;\n      }\n      throw new Error(\n        `The \"${name}\" parameter in the linearization ` +\n          \"dictionary is invalid.\"\n      );\n    }\n\n    function getHints(linDict) {\n      const hints = linDict.get(\"H\");\n      let hintsLength;\n\n      if (\n        Array.isArray(hints) &&\n        ((hintsLength = hints.length) === 2 || hintsLength === 4)\n      ) {\n        for (let index = 0; index < hintsLength; index++) {\n          const hint = hints[index];\n          if (!(Number.isInteger(hint) && hint > 0)) {\n            throw new Error(\n              `Hint (${index}) in the linearization dictionary is invalid.`\n            );\n          }\n        }\n        return hints;\n      }\n      throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n    }\n\n    const parser = new Parser({\n      lexer: new Lexer(stream),\n      xref: null,\n    });\n    const obj1 = parser.getObj();\n    const obj2 = parser.getObj();\n    const obj3 = parser.getObj();\n    const linDict = parser.getObj();\n    let obj, length;\n    if (\n      !(\n        Number.isInteger(obj1) &&\n        Number.isInteger(obj2) &&\n        isCmd(obj3, \"obj\") &&\n        isDict(linDict) &&\n        isNum((obj = linDict.get(\"Linearized\"))) &&\n        obj > 0\n      )\n    ) {\n      return null; // No valid linearization dictionary found.\n    } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n      throw new Error(\n        'The \"L\" parameter in the linearization dictionary ' +\n          \"does not equal the stream length.\"\n      );\n    }\n    return {\n      length,\n      hints: getHints(linDict),\n      objectNumberFirst: getInt(linDict, \"O\"),\n      endFirst: getInt(linDict, \"E\"),\n      numPages: getInt(linDict, \"N\"),\n      mainXRefEntriesOffset: getInt(linDict, \"T\"),\n      pageFirst: linDict.has(\"P\")\n        ? getInt(linDict, \"P\", /* allowZeroValue = */ true)\n        : 0,\n    };\n  }\n}\n\nexport { Lexer, Linearization, Parser };\n","/* Copyright 2012 Mozilla Foundation\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/* Copyright 1996-2003 Glyph & Cog, LLC\n *\n * The flate stream implementation contained in this file is a JavaScript port\n * of XPDF's implementation, made available under the Apache 2.0 open source\n * license.\n */\n\nimport { FormatError, stringToBytes, unreachable } from \"../shared/util.js\";\nimport { isDict } from \"./primitives.js\";\nimport { isWhiteSpace } from \"./core_utils.js\";\n\nvar Stream = (function StreamClosure() {\n  function Stream(arrayBuffer, start, length, dict) {\n    this.bytes =\n      arrayBuffer instanceof Uint8Array\n        ? arrayBuffer\n        : new Uint8Array(arrayBuffer);\n    this.start = start || 0;\n    this.pos = this.start;\n    this.end = start + length || this.bytes.length;\n    this.dict = dict;\n  }\n\n  // required methods for a stream. if a particular stream does not\n  // implement these, an error should be thrown\n  Stream.prototype = {\n    get length() {\n      return this.end - this.start;\n    },\n    get isEmpty() {\n      return this.length === 0;\n    },\n    getByte: function Stream_getByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n      return this.bytes[this.pos++];\n    },\n    getUint16: function Stream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n      return (b0 << 8) + b1;\n    },\n    getInt32: function Stream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    // Returns subarray of original buffer, should only be read.\n    getBytes(length, forceClamped = false) {\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n\n      if (!length) {\n        const subarray = bytes.subarray(pos, strEnd);\n        // `this.bytes` is always a `Uint8Array` here.\n        return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n      }\n      var end = pos + length;\n      if (end > strEnd) {\n        end = strEnd;\n      }\n      this.pos = end;\n      const subarray = bytes.subarray(pos, end);\n      // `this.bytes` is always a `Uint8Array` here.\n      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n    },\n    peekByte: function Stream_peekByte() {\n      var peekedByte = this.getByte();\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n      return peekedByte;\n    },\n    peekBytes(length, forceClamped = false) {\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n\n    getByteRange(begin, end) {\n      if (begin < 0) {\n        begin = 0;\n      }\n      if (end > this.end) {\n        end = this.end;\n      }\n      return this.bytes.subarray(begin, end);\n    },\n\n    skip: function Stream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n      this.pos += n;\n    },\n    reset: function Stream_reset() {\n      this.pos = this.start;\n    },\n    moveStart: function Stream_moveStart() {\n      this.start = this.pos;\n    },\n    makeSubStream: function Stream_makeSubStream(start, length, dict) {\n      return new Stream(this.bytes.buffer, start, length, dict);\n    },\n  };\n\n  return Stream;\n})();\n\nvar StringStream = (function StringStreamClosure() {\n  function StringStream(str) {\n    const bytes = stringToBytes(str);\n    Stream.call(this, bytes);\n  }\n\n  StringStream.prototype = Stream.prototype;\n\n  return StringStream;\n})();\n\n// super class for the decoding streams\nvar DecodeStream = (function DecodeStreamClosure() {\n  // Lots of DecodeStreams are created whose buffers are never used.  For these\n  // we share a single empty buffer. This is (a) space-efficient and (b) avoids\n  // having special cases that would be required if we used |null| for an empty\n  // buffer.\n  var emptyBuffer = new Uint8Array(0);\n\n  function DecodeStream(maybeMinBufferLength) {\n    this._rawMinBufferLength = maybeMinBufferLength || 0;\n\n    this.pos = 0;\n    this.bufferLength = 0;\n    this.eof = false;\n    this.buffer = emptyBuffer;\n    this.minBufferLength = 512;\n    if (maybeMinBufferLength) {\n      // Compute the first power of two that is as big as maybeMinBufferLength.\n      while (this.minBufferLength < maybeMinBufferLength) {\n        this.minBufferLength *= 2;\n      }\n    }\n  }\n\n  DecodeStream.prototype = {\n    get isEmpty() {\n      while (!this.eof && this.bufferLength === 0) {\n        this.readBlock();\n      }\n      return this.bufferLength === 0;\n    },\n    ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n      var buffer = this.buffer;\n      if (requested <= buffer.byteLength) {\n        return buffer;\n      }\n      var size = this.minBufferLength;\n      while (size < requested) {\n        size *= 2;\n      }\n      var buffer2 = new Uint8Array(size);\n      buffer2.set(buffer);\n      return (this.buffer = buffer2);\n    },\n    getByte: function DecodeStream_getByte() {\n      var pos = this.pos;\n      while (this.bufferLength <= pos) {\n        if (this.eof) {\n          return -1;\n        }\n        this.readBlock();\n      }\n      return this.buffer[this.pos++];\n    },\n    getUint16: function DecodeStream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n      return (b0 << 8) + b1;\n    },\n    getInt32: function DecodeStream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes(length, forceClamped = false) {\n      var end,\n        pos = this.pos;\n\n      if (length) {\n        this.ensureBuffer(pos + length);\n        end = pos + length;\n\n        while (!this.eof && this.bufferLength < end) {\n          this.readBlock();\n        }\n        var bufEnd = this.bufferLength;\n        if (end > bufEnd) {\n          end = bufEnd;\n        }\n      } else {\n        while (!this.eof) {\n          this.readBlock();\n        }\n        end = this.bufferLength;\n      }\n\n      this.pos = end;\n      const subarray = this.buffer.subarray(pos, end);\n      // `this.buffer` is either a `Uint8Array` or `Uint8ClampedArray` here.\n      return forceClamped && !(subarray instanceof Uint8ClampedArray)\n        ? new Uint8ClampedArray(subarray)\n        : subarray;\n    },\n    peekByte: function DecodeStream_peekByte() {\n      var peekedByte = this.getByte();\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n      return peekedByte;\n    },\n    peekBytes(length, forceClamped = false) {\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n      var end = start + length;\n      while (this.bufferLength <= end && !this.eof) {\n        this.readBlock();\n      }\n      return new Stream(this.buffer, start, length, dict);\n    },\n\n    getByteRange(begin, end) {\n      unreachable(\"Should not call DecodeStream.getByteRange\");\n    },\n\n    skip: function DecodeStream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n      this.pos += n;\n    },\n    reset: function DecodeStream_reset() {\n      this.pos = 0;\n    },\n    getBaseStreams: function DecodeStream_getBaseStreams() {\n      if (this.str && this.str.getBaseStreams) {\n        return this.str.getBaseStreams();\n      }\n      return [];\n    },\n  };\n\n  return DecodeStream;\n})();\n\nvar StreamsSequenceStream = (function StreamsSequenceStreamClosure() {\n  function StreamsSequenceStream(streams) {\n    this.streams = streams;\n\n    let maybeLength = 0;\n    for (let i = 0, ii = streams.length; i < ii; i++) {\n      const stream = streams[i];\n      if (stream instanceof DecodeStream) {\n        maybeLength += stream._rawMinBufferLength;\n      } else {\n        maybeLength += stream.length;\n      }\n    }\n    DecodeStream.call(this, maybeLength);\n  }\n\n  StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n  StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n    var streams = this.streams;\n    if (streams.length === 0) {\n      this.eof = true;\n      return;\n    }\n    var stream = streams.shift();\n    var chunk = stream.getBytes();\n    var bufferLength = this.bufferLength;\n    var newLength = bufferLength + chunk.length;\n    var buffer = this.ensureBuffer(newLength);\n    buffer.set(chunk, bufferLength);\n    this.bufferLength = newLength;\n  };\n\n  StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n    var baseStreams = [];\n    for (var i = 0, ii = this.streams.length; i < ii; i++) {\n      var stream = this.streams[i];\n      if (stream.getBaseStreams) {\n        baseStreams.push(...stream.getBaseStreams());\n      }\n    }\n    return baseStreams;\n  };\n\n  return StreamsSequenceStream;\n})();\n\nvar FlateStream = (function FlateStreamClosure() {\n  // prettier-ignore\n  var codeLenCodeMap = new Int32Array([\n    16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15\n  ]);\n\n  // prettier-ignore\n  var lengthDecode = new Int32Array([\n    0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a,\n    0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f,\n    0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073,\n    0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102\n  ]);\n\n  // prettier-ignore\n  var distDecode = new Int32Array([\n    0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d,\n    0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1,\n    0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01,\n    0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001\n  ]);\n\n  // prettier-ignore\n  var fixedLitCodeTab = [new Int32Array([\n    0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0,\n    0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0,\n    0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0,\n    0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0,\n    0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8,\n    0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8,\n    0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8,\n    0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8,\n    0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4,\n    0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4,\n    0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4,\n    0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4,\n    0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc,\n    0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec,\n    0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc,\n    0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc,\n    0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2,\n    0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2,\n    0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2,\n    0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2,\n    0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca,\n    0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea,\n    0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da,\n    0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa,\n    0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6,\n    0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6,\n    0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6,\n    0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6,\n    0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce,\n    0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee,\n    0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de,\n    0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe,\n    0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1,\n    0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1,\n    0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1,\n    0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1,\n    0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9,\n    0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9,\n    0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9,\n    0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9,\n    0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5,\n    0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5,\n    0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5,\n    0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5,\n    0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd,\n    0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed,\n    0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd,\n    0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd,\n    0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3,\n    0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3,\n    0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3,\n    0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3,\n    0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb,\n    0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb,\n    0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db,\n    0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb,\n    0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7,\n    0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7,\n    0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7,\n    0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7,\n    0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf,\n    0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef,\n    0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df,\n    0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff\n  ]), 9];\n\n  // prettier-ignore\n  var fixedDistCodeTab = [new Int32Array([\n    0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c,\n    0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000,\n    0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d,\n    0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000\n  ]), 5];\n\n  function FlateStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n\n    var cmf = str.getByte();\n    var flg = str.getByte();\n    if (cmf === -1 || flg === -1) {\n      throw new FormatError(`Invalid header in flate stream: ${cmf}, ${flg}`);\n    }\n    if ((cmf & 0x0f) !== 0x08) {\n      throw new FormatError(\n        `Unknown compression method in flate stream: ${cmf}, ${flg}`\n      );\n    }\n    if (((cmf << 8) + flg) % 31 !== 0) {\n      throw new FormatError(`Bad FCHECK in flate stream: ${cmf}, ${flg}`);\n    }\n    if (flg & 0x20) {\n      throw new FormatError(`FDICT bit set in flate stream: ${cmf}, ${flg}`);\n    }\n\n    this.codeSize = 0;\n    this.codeBuf = 0;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n  FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n    var str = this.str;\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n\n    var b;\n    while (codeSize < bits) {\n      if ((b = str.getByte()) === -1) {\n        throw new FormatError(\"Bad encoding in flate stream\");\n      }\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n    b = codeBuf & ((1 << bits) - 1);\n    this.codeBuf = codeBuf >> bits;\n    this.codeSize = codeSize -= bits;\n\n    return b;\n  };\n\n  FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n    var str = this.str;\n    var codes = table[0];\n    var maxLen = table[1];\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n\n    var b;\n    while (codeSize < maxLen) {\n      if ((b = str.getByte()) === -1) {\n        // premature end of stream. code might however still be valid.\n        // codeSize < codeLen check below guards against incomplete codeVal.\n        break;\n      }\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n    var code = codes[codeBuf & ((1 << maxLen) - 1)];\n    var codeLen = code >> 16;\n    var codeVal = code & 0xffff;\n    if (codeLen < 1 || codeSize < codeLen) {\n      throw new FormatError(\"Bad encoding in flate stream\");\n    }\n    this.codeBuf = codeBuf >> codeLen;\n    this.codeSize = codeSize - codeLen;\n    return codeVal;\n  };\n\n  FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(\n    lengths\n  ) {\n    var n = lengths.length;\n\n    // find max code length\n    var maxLen = 0;\n    var i;\n    for (i = 0; i < n; ++i) {\n      if (lengths[i] > maxLen) {\n        maxLen = lengths[i];\n      }\n    }\n\n    // build the table\n    var size = 1 << maxLen;\n    var codes = new Int32Array(size);\n    for (\n      var len = 1, code = 0, skip = 2;\n      len <= maxLen;\n      ++len, code <<= 1, skip <<= 1\n    ) {\n      for (var val = 0; val < n; ++val) {\n        if (lengths[val] === len) {\n          // bit-reverse the code\n          var code2 = 0;\n          var t = code;\n          for (i = 0; i < len; ++i) {\n            code2 = (code2 << 1) | (t & 1);\n            t >>= 1;\n          }\n\n          // fill the table entries\n          for (i = code2; i < size; i += skip) {\n            codes[i] = (len << 16) | val;\n          }\n          ++code;\n        }\n      }\n    }\n\n    return [codes, maxLen];\n  };\n\n  FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n    var buffer, len;\n    var str = this.str;\n    // read block header\n    var hdr = this.getBits(3);\n    if (hdr & 1) {\n      this.eof = true;\n    }\n    hdr >>= 1;\n\n    if (hdr === 0) {\n      // uncompressed block\n      var b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new FormatError(\"Bad block header in flate stream\");\n      }\n      var blockLen = b;\n      if ((b = str.getByte()) === -1) {\n        throw new FormatError(\"Bad block header in flate stream\");\n      }\n      blockLen |= b << 8;\n      if ((b = str.getByte()) === -1) {\n        throw new FormatError(\"Bad block header in flate stream\");\n      }\n      var check = b;\n      if ((b = str.getByte()) === -1) {\n        throw new FormatError(\"Bad block header in flate stream\");\n      }\n      check |= b << 8;\n      if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n        // Ignoring error for bad \"empty\" block (see issue 1277)\n        throw new FormatError(\"Bad uncompressed block length in flate stream\");\n      }\n\n      this.codeBuf = 0;\n      this.codeSize = 0;\n\n      const bufferLength = this.bufferLength,\n        end = bufferLength + blockLen;\n      buffer = this.ensureBuffer(end);\n      this.bufferLength = end;\n\n      if (blockLen === 0) {\n        if (str.peekByte() === -1) {\n          this.eof = true;\n        }\n      } else {\n        const block = str.getBytes(blockLen);\n        buffer.set(block, bufferLength);\n        if (block.length < blockLen) {\n          this.eof = true;\n        }\n      }\n      return;\n    }\n\n    var litCodeTable;\n    var distCodeTable;\n    if (hdr === 1) {\n      // compressed block, fixed codes\n      litCodeTable = fixedLitCodeTab;\n      distCodeTable = fixedDistCodeTab;\n    } else if (hdr === 2) {\n      // compressed block, dynamic codes\n      var numLitCodes = this.getBits(5) + 257;\n      var numDistCodes = this.getBits(5) + 1;\n      var numCodeLenCodes = this.getBits(4) + 4;\n\n      // build the code lengths code table\n      var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n\n      var i;\n      for (i = 0; i < numCodeLenCodes; ++i) {\n        codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n      }\n      var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n\n      // build the literal and distance code tables\n      len = 0;\n      i = 0;\n      var codes = numLitCodes + numDistCodes;\n      var codeLengths = new Uint8Array(codes);\n      var bitsLength, bitsOffset, what;\n      while (i < codes) {\n        var code = this.getCode(codeLenCodeTab);\n        if (code === 16) {\n          bitsLength = 2;\n          bitsOffset = 3;\n          what = len;\n        } else if (code === 17) {\n          bitsLength = 3;\n          bitsOffset = 3;\n          what = len = 0;\n        } else if (code === 18) {\n          bitsLength = 7;\n          bitsOffset = 11;\n          what = len = 0;\n        } else {\n          codeLengths[i++] = len = code;\n          continue;\n        }\n\n        var repeatLength = this.getBits(bitsLength) + bitsOffset;\n        while (repeatLength-- > 0) {\n          codeLengths[i++] = what;\n        }\n      }\n\n      litCodeTable = this.generateHuffmanTable(\n        codeLengths.subarray(0, numLitCodes)\n      );\n      distCodeTable = this.generateHuffmanTable(\n        codeLengths.subarray(numLitCodes, codes)\n      );\n    } else {\n      throw new FormatError(\"Unknown block type in flate stream\");\n    }\n\n    buffer = this.buffer;\n    var limit = buffer ? buffer.length : 0;\n    var pos = this.bufferLength;\n    while (true) {\n      var code1 = this.getCode(litCodeTable);\n      if (code1 < 256) {\n        if (pos + 1 >= limit) {\n          buffer = this.ensureBuffer(pos + 1);\n          limit = buffer.length;\n        }\n        buffer[pos++] = code1;\n        continue;\n      }\n      if (code1 === 256) {\n        this.bufferLength = pos;\n        return;\n      }\n      code1 -= 257;\n      code1 = lengthDecode[code1];\n      var code2 = code1 >> 16;\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n      len = (code1 & 0xffff) + code2;\n      code1 = this.getCode(distCodeTable);\n      code1 = distDecode[code1];\n      code2 = code1 >> 16;\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n      var dist = (code1 & 0xffff) + code2;\n      if (pos + len >= limit) {\n        buffer = this.ensureBuffer(pos + len);\n        limit = buffer.length;\n      }\n      for (var k = 0; k < len; ++k, ++pos) {\n        buffer[pos] = buffer[pos - dist];\n      }\n    }\n  };\n\n  return FlateStream;\n})();\n\nvar PredictorStream = (function PredictorStreamClosure() {\n  function PredictorStream(str, maybeLength, params) {\n    if (!isDict(params)) {\n      return str; // no prediction\n    }\n    var predictor = (this.predictor = params.get(\"Predictor\") || 1);\n\n    if (predictor <= 1) {\n      return str; // no prediction\n    }\n    if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n      throw new FormatError(`Unsupported predictor: ${predictor}`);\n    }\n\n    if (predictor === 2) {\n      this.readBlock = this.readBlockTiff;\n    } else {\n      this.readBlock = this.readBlockPng;\n    }\n\n    this.str = str;\n    this.dict = str.dict;\n\n    var colors = (this.colors = params.get(\"Colors\") || 1);\n    var bits = (this.bits = params.get(\"BitsPerComponent\") || 8);\n    var columns = (this.columns = params.get(\"Columns\") || 1);\n\n    this.pixBytes = (colors * bits + 7) >> 3;\n    this.rowBytes = (columns * colors * bits + 7) >> 3;\n\n    DecodeStream.call(this, maybeLength);\n    return this;\n  }\n\n  PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n  PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n    var rowBytes = this.rowBytes;\n\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n\n    var bits = this.bits;\n    var colors = this.colors;\n\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n    if (this.eof) {\n      return;\n    }\n\n    var inbuf = 0,\n      outbuf = 0;\n    var inbits = 0,\n      outbits = 0;\n    var pos = bufferLength;\n    var i;\n\n    if (bits === 1 && colors === 1) {\n      // Optimized version of the loop in the \"else\"-branch\n      // for 1 bit-per-component and 1 color TIFF images.\n      for (i = 0; i < rowBytes; ++i) {\n        var c = rawBytes[i] ^ inbuf;\n        c ^= c >> 1;\n        c ^= c >> 2;\n        c ^= c >> 4;\n        inbuf = (c & 1) << 7;\n        buffer[pos++] = c;\n      }\n    } else if (bits === 8) {\n      for (i = 0; i < colors; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n      for (; i < rowBytes; ++i) {\n        buffer[pos] = buffer[pos - colors] + rawBytes[i];\n        pos++;\n      }\n    } else if (bits === 16) {\n      var bytesPerPixel = colors * 2;\n      for (i = 0; i < bytesPerPixel; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n      for (; i < rowBytes; i += 2) {\n        var sum =\n          ((rawBytes[i] & 0xff) << 8) +\n          (rawBytes[i + 1] & 0xff) +\n          ((buffer[pos - bytesPerPixel] & 0xff) << 8) +\n          (buffer[pos - bytesPerPixel + 1] & 0xff);\n        buffer[pos++] = (sum >> 8) & 0xff;\n        buffer[pos++] = sum & 0xff;\n      }\n    } else {\n      var compArray = new Uint8Array(colors + 1);\n      var bitMask = (1 << bits) - 1;\n      var j = 0,\n        k = bufferLength;\n      var columns = this.columns;\n      for (i = 0; i < columns; ++i) {\n        for (var kk = 0; kk < colors; ++kk) {\n          if (inbits < bits) {\n            inbuf = (inbuf << 8) | (rawBytes[j++] & 0xff);\n            inbits += 8;\n          }\n          compArray[kk] =\n            (compArray[kk] + (inbuf >> (inbits - bits))) & bitMask;\n          inbits -= bits;\n          outbuf = (outbuf << bits) | compArray[kk];\n          outbits += bits;\n          if (outbits >= 8) {\n            buffer[k++] = (outbuf >> (outbits - 8)) & 0xff;\n            outbits -= 8;\n          }\n        }\n      }\n      if (outbits > 0) {\n        buffer[k++] =\n          (outbuf << (8 - outbits)) + (inbuf & ((1 << (8 - outbits)) - 1));\n      }\n    }\n    this.bufferLength += rowBytes;\n  };\n\n  PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n    var rowBytes = this.rowBytes;\n    var pixBytes = this.pixBytes;\n\n    var predictor = this.str.getByte();\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n    if (this.eof) {\n      return;\n    }\n\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n\n    var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n    if (prevRow.length === 0) {\n      prevRow = new Uint8Array(rowBytes);\n    }\n\n    var i,\n      j = bufferLength,\n      up,\n      c;\n    switch (predictor) {\n      case 0:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n        break;\n      case 1:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n        for (; i < rowBytes; ++i) {\n          buffer[j] = (buffer[j - pixBytes] + rawBytes[i]) & 0xff;\n          j++;\n        }\n        break;\n      case 2:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = (prevRow[i] + rawBytes[i]) & 0xff;\n        }\n        break;\n      case 3:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n        }\n        for (; i < rowBytes; ++i) {\n          buffer[j] =\n            (((prevRow[i] + buffer[j - pixBytes]) >> 1) + rawBytes[i]) & 0xff;\n          j++;\n        }\n        break;\n      case 4:\n        // we need to save the up left pixels values. the simplest way\n        // is to create a new buffer\n        for (i = 0; i < pixBytes; ++i) {\n          up = prevRow[i];\n          c = rawBytes[i];\n          buffer[j++] = up + c;\n        }\n        for (; i < rowBytes; ++i) {\n          up = prevRow[i];\n          var upLeft = prevRow[i - pixBytes];\n          var left = buffer[j - pixBytes];\n          var p = left + up - upLeft;\n\n          var pa = p - left;\n          if (pa < 0) {\n            pa = -pa;\n          }\n          var pb = p - up;\n          if (pb < 0) {\n            pb = -pb;\n          }\n          var pc = p - upLeft;\n          if (pc < 0) {\n            pc = -pc;\n          }\n\n          c = rawBytes[i];\n          if (pa <= pb && pa <= pc) {\n            buffer[j++] = left + c;\n          } else if (pb <= pc) {\n            buffer[j++] = up + c;\n          } else {\n            buffer[j++] = upLeft + c;\n          }\n        }\n        break;\n      default:\n        throw new FormatError(`Unsupported predictor: ${predictor}`);\n    }\n    this.bufferLength += rowBytes;\n  };\n\n  return PredictorStream;\n})();\n\nvar DecryptStream = (function DecryptStreamClosure() {\n  function DecryptStream(str, maybeLength, decrypt) {\n    this.str = str;\n    this.dict = str.dict;\n    this.decrypt = decrypt;\n    this.nextChunk = null;\n    this.initialized = false;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  var chunkSize = 512;\n\n  DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n  DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n    var chunk;\n    if (this.initialized) {\n      chunk = this.nextChunk;\n    } else {\n      chunk = this.str.getBytes(chunkSize);\n      this.initialized = true;\n    }\n    if (!chunk || chunk.length === 0) {\n      this.eof = true;\n      return;\n    }\n    this.nextChunk = this.str.getBytes(chunkSize);\n    var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n\n    var decrypt = this.decrypt;\n    chunk = decrypt(chunk, !hasMoreData);\n\n    var bufferLength = this.bufferLength;\n    var i,\n      n = chunk.length;\n    var buffer = this.ensureBuffer(bufferLength + n);\n    for (i = 0; i < n; i++) {\n      buffer[bufferLength++] = chunk[i];\n    }\n    this.bufferLength = bufferLength;\n  };\n\n  return DecryptStream;\n})();\n\nvar Ascii85Stream = (function Ascii85StreamClosure() {\n  function Ascii85Stream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.input = new Uint8Array(5);\n\n    // Most streams increase in size when decoded, but Ascii85 streams\n    // typically shrink by ~20%.\n    if (maybeLength) {\n      maybeLength = 0.8 * maybeLength;\n    }\n    DecodeStream.call(this, maybeLength);\n  }\n\n  Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n  Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n    var TILDA_CHAR = 0x7e; // '~'\n    var Z_LOWER_CHAR = 0x7a; // 'z'\n    var EOF = -1;\n\n    var str = this.str;\n\n    var c = str.getByte();\n    while (isWhiteSpace(c)) {\n      c = str.getByte();\n    }\n\n    if (c === EOF || c === TILDA_CHAR) {\n      this.eof = true;\n      return;\n    }\n\n    var bufferLength = this.bufferLength,\n      buffer;\n    var i;\n\n    // special code for z\n    if (c === Z_LOWER_CHAR) {\n      buffer = this.ensureBuffer(bufferLength + 4);\n      for (i = 0; i < 4; ++i) {\n        buffer[bufferLength + i] = 0;\n      }\n      this.bufferLength += 4;\n    } else {\n      var input = this.input;\n      input[0] = c;\n      for (i = 1; i < 5; ++i) {\n        c = str.getByte();\n        while (isWhiteSpace(c)) {\n          c = str.getByte();\n        }\n\n        input[i] = c;\n\n        if (c === EOF || c === TILDA_CHAR) {\n          break;\n        }\n      }\n      buffer = this.ensureBuffer(bufferLength + i - 1);\n      this.bufferLength += i - 1;\n\n      // partial ending;\n      if (i < 5) {\n        for (; i < 5; ++i) {\n          input[i] = 0x21 + 84;\n        }\n        this.eof = true;\n      }\n      var t = 0;\n      for (i = 0; i < 5; ++i) {\n        t = t * 85 + (input[i] - 0x21);\n      }\n\n      for (i = 3; i >= 0; --i) {\n        buffer[bufferLength + i] = t & 0xff;\n        t >>= 8;\n      }\n    }\n  };\n\n  return Ascii85Stream;\n})();\n\nvar AsciiHexStream = (function AsciiHexStreamClosure() {\n  function AsciiHexStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n\n    this.firstDigit = -1;\n\n    // Most streams increase in size when decoded, but AsciiHex streams shrink\n    // by 50%.\n    if (maybeLength) {\n      maybeLength = 0.5 * maybeLength;\n    }\n    DecodeStream.call(this, maybeLength);\n  }\n\n  AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n  AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n    var UPSTREAM_BLOCK_SIZE = 8000;\n    var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n    if (!bytes.length) {\n      this.eof = true;\n      return;\n    }\n\n    var maxDecodeLength = (bytes.length + 1) >> 1;\n    var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n    var bufferLength = this.bufferLength;\n\n    var firstDigit = this.firstDigit;\n    for (var i = 0, ii = bytes.length; i < ii; i++) {\n      var ch = bytes[i],\n        digit;\n      if (ch >= /* '0' = */ 0x30 && ch <= /* '9' = */ 0x39) {\n        digit = ch & 0x0f;\n      } else if (\n        (ch >= /* 'A' = */ 0x41 && ch <= /* 'Z' = */ 0x46) ||\n        (ch >= /* 'a' = */ 0x61 && ch <= /* 'z' = */ 0x66)\n      ) {\n        digit = (ch & 0x0f) + 9;\n      } else if (ch === /* '>' = */ 0x3e) {\n        this.eof = true;\n        break;\n      } else {\n        // Probably whitespace, ignoring.\n        continue;\n      }\n      if (firstDigit < 0) {\n        firstDigit = digit;\n      } else {\n        buffer[bufferLength++] = (firstDigit << 4) | digit;\n        firstDigit = -1;\n      }\n    }\n    if (firstDigit >= 0 && this.eof) {\n      // incomplete byte\n      buffer[bufferLength++] = firstDigit << 4;\n      firstDigit = -1;\n    }\n    this.firstDigit = firstDigit;\n    this.bufferLength = bufferLength;\n  };\n\n  return AsciiHexStream;\n})();\n\nvar RunLengthStream = (function RunLengthStreamClosure() {\n  function RunLengthStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n  RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n    // The repeatHeader has following format. The first byte defines type of run\n    // and amount of bytes to repeat/copy: n = 0 through 127 - copy next n bytes\n    // (in addition to the second byte from the header), n = 129 through 255 -\n    // duplicate the second byte from the header (257 - n) times, n = 128 - end.\n    var repeatHeader = this.str.getBytes(2);\n    if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n      this.eof = true;\n      return;\n    }\n\n    var buffer;\n    var bufferLength = this.bufferLength;\n    var n = repeatHeader[0];\n    if (n < 128) {\n      // copy n bytes\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n      buffer[bufferLength++] = repeatHeader[1];\n      if (n > 0) {\n        var source = this.str.getBytes(n);\n        buffer.set(source, bufferLength);\n        bufferLength += n;\n      }\n    } else {\n      n = 257 - n;\n      var b = repeatHeader[1];\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n      for (var i = 0; i < n; i++) {\n        buffer[bufferLength++] = b;\n      }\n    }\n    this.bufferLength = bufferLength;\n  };\n\n  return RunLengthStream;\n})();\n\nvar LZWStream = (function LZWStreamClosure() {\n  function LZWStream(str, maybeLength, earlyChange) {\n    this.str = str;\n    this.dict = str.dict;\n    this.cachedData = 0;\n    this.bitsCached = 0;\n\n    var maxLzwDictionarySize = 4096;\n    var lzwState = {\n      earlyChange,\n      codeLength: 9,\n      nextCode: 258,\n      dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n      dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n      dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n      currentSequence: new Uint8Array(maxLzwDictionarySize),\n      currentSequenceLength: 0,\n    };\n    for (var i = 0; i < 256; ++i) {\n      lzwState.dictionaryValues[i] = i;\n      lzwState.dictionaryLengths[i] = 1;\n    }\n    this.lzwState = lzwState;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n  LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n    var bitsCached = this.bitsCached;\n    var cachedData = this.cachedData;\n    while (bitsCached < n) {\n      var c = this.str.getByte();\n      if (c === -1) {\n        this.eof = true;\n        return null;\n      }\n      cachedData = (cachedData << 8) | c;\n      bitsCached += 8;\n    }\n    this.bitsCached = bitsCached -= n;\n    this.cachedData = cachedData;\n    this.lastCode = null;\n    return (cachedData >>> bitsCached) & ((1 << n) - 1);\n  };\n\n  LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n    var blockSize = 512;\n    var estimatedDecodedSize = blockSize * 2,\n      decodedSizeDelta = blockSize;\n    var i, j, q;\n\n    var lzwState = this.lzwState;\n    if (!lzwState) {\n      return; // eof was found\n    }\n\n    var earlyChange = lzwState.earlyChange;\n    var nextCode = lzwState.nextCode;\n    var dictionaryValues = lzwState.dictionaryValues;\n    var dictionaryLengths = lzwState.dictionaryLengths;\n    var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n    var codeLength = lzwState.codeLength;\n    var prevCode = lzwState.prevCode;\n    var currentSequence = lzwState.currentSequence;\n    var currentSequenceLength = lzwState.currentSequenceLength;\n\n    var decodedLength = 0;\n    var currentBufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n    for (i = 0; i < blockSize; i++) {\n      var code = this.readBits(codeLength);\n      var hasPrev = currentSequenceLength > 0;\n      if (code < 256) {\n        currentSequence[0] = code;\n        currentSequenceLength = 1;\n      } else if (code >= 258) {\n        if (code < nextCode) {\n          currentSequenceLength = dictionaryLengths[code];\n          for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n            currentSequence[j] = dictionaryValues[q];\n            q = dictionaryPrevCodes[q];\n          }\n        } else {\n          currentSequence[currentSequenceLength++] = currentSequence[0];\n        }\n      } else if (code === 256) {\n        codeLength = 9;\n        nextCode = 258;\n        currentSequenceLength = 0;\n        continue;\n      } else {\n        this.eof = true;\n        delete this.lzwState;\n        break;\n      }\n\n      if (hasPrev) {\n        dictionaryPrevCodes[nextCode] = prevCode;\n        dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n        dictionaryValues[nextCode] = currentSequence[0];\n        nextCode++;\n        codeLength =\n          (nextCode + earlyChange) & (nextCode + earlyChange - 1)\n            ? codeLength\n            : Math.min(\n                Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1,\n                12\n              ) | 0;\n      }\n      prevCode = code;\n\n      decodedLength += currentSequenceLength;\n      if (estimatedDecodedSize < decodedLength) {\n        do {\n          estimatedDecodedSize += decodedSizeDelta;\n        } while (estimatedDecodedSize < decodedLength);\n        buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n      }\n      for (j = 0; j < currentSequenceLength; j++) {\n        buffer[currentBufferLength++] = currentSequence[j];\n      }\n    }\n    lzwState.nextCode = nextCode;\n    lzwState.codeLength = codeLength;\n    lzwState.prevCode = prevCode;\n    lzwState.currentSequenceLength = currentSequenceLength;\n\n    this.bufferLength = currentBufferLength;\n  };\n\n  return LZWStream;\n})();\n\nvar NullStream = (function NullStreamClosure() {\n  function NullStream() {\n    Stream.call(this, new Uint8Array(0));\n  }\n\n  NullStream.prototype = Stream.prototype;\n\n  return NullStream;\n})();\n\nexport {\n  Ascii85Stream,\n  AsciiHexStream,\n  DecryptStream,\n  DecodeStream,\n  FlateStream,\n  NullStream,\n  PredictorStream,\n  RunLengthStream,\n  Stream,\n  StreamsSequenceStream,\n  StringStream,\n  LZWStream,\n};\n","/* Copyright 2012 Mozilla Foundation\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\nimport { Dict, isDict } from \"./primitives.js\";\nimport { CCITTFaxDecoder } from \"./ccitt.js\";\nimport { DecodeStream } from \"./stream.js\";\n\nvar CCITTFaxStream = (function CCITTFaxStreamClosure() {\n  function CCITTFaxStream(str, maybeLength, params) {\n    this.str = str;\n    this.dict = str.dict;\n\n    if (!isDict(params)) {\n      params = Dict.empty;\n    }\n\n    const source = {\n      next() {\n        return str.getByte();\n      },\n    };\n    this.ccittFaxDecoder = new CCITTFaxDecoder(source, {\n      K: params.get(\"K\"),\n      EndOfLine: params.get(\"EndOfLine\"),\n      EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n      Columns: params.get(\"Columns\"),\n      Rows: params.get(\"Rows\"),\n      EndOfBlock: params.get(\"EndOfBlock\"),\n      BlackIs1: params.get(\"BlackIs1\"),\n    });\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  CCITTFaxStream.prototype = Object.create(DecodeStream.prototype);\n\n  CCITTFaxStream.prototype.readBlock = function() {\n    while (!this.eof) {\n      const c = this.ccittFaxDecoder.readNextChar();\n      if (c === -1) {\n        this.eof = true;\n        return;\n      }\n      this.ensureBuffer(this.bufferLength + 1);\n      this.buffer[this.bufferLength++] = c;\n    }\n  };\n\n  return CCITTFaxStream;\n})();\n\nexport { CCITTFaxStream };\n","/* Copyright 2012 Mozilla Foundation\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/* Copyright 1996-2003 Glyph & Cog, LLC\n *\n * The CCITT stream implementation contained in this file is a JavaScript port\n * of XPDF's implementation, made available under the Apache 2.0 open source\n * license.\n */\n\n/**\n * @typedef {Object} CCITTFaxDecoderSource\n * @property {function} next - Method that return one byte of data for decoding,\n *   or -1 when EOF is reached.\n */\n\nimport { info } from \"../shared/util.js\";\n\nconst CCITTFaxDecoder = (function CCITTFaxDecoder() {\n  const ccittEOL = -2;\n  const ccittEOF = -1;\n  const twoDimPass = 0;\n  const twoDimHoriz = 1;\n  const twoDimVert0 = 2;\n  const twoDimVertR1 = 3;\n  const twoDimVertL1 = 4;\n  const twoDimVertR2 = 5;\n  const twoDimVertL2 = 6;\n  const twoDimVertR3 = 7;\n  const twoDimVertL3 = 8;\n\n  // prettier-ignore\n  const twoDimTable = [\n    [-1, -1], [-1, -1],                   // 000000x\n    [7, twoDimVertL3],                    // 0000010\n    [7, twoDimVertR3],                    // 0000011\n    [6, twoDimVertL2], [6, twoDimVertL2], // 000010x\n    [6, twoDimVertR2], [6, twoDimVertR2], // 000011x\n    [4, twoDimPass], [4, twoDimPass],     // 0001xxx\n    [4, twoDimPass], [4, twoDimPass],\n    [4, twoDimPass], [4, twoDimPass],\n    [4, twoDimPass], [4, twoDimPass],\n    [3, twoDimHoriz], [3, twoDimHoriz],   // 001xxxx\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimHoriz], [3, twoDimHoriz],\n    [3, twoDimVertL1], [3, twoDimVertL1], // 010xxxx\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertL1], [3, twoDimVertL1],\n    [3, twoDimVertR1], [3, twoDimVertR1], // 011xxxx\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [3, twoDimVertR1], [3, twoDimVertR1],\n    [1, twoDimVert0], [1, twoDimVert0],   // 1xxxxxx\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0],\n    [1, twoDimVert0], [1, twoDimVert0]\n  ];\n\n  // prettier-ignore\n  const whiteTable1 = [\n    [-1, -1],                               // 00000\n    [12, ccittEOL],                         // 00001\n    [-1, -1], [-1, -1],                     // 0001x\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 001xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 010xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 011xx\n    [11, 1792], [11, 1792],                 // 1000x\n    [12, 1984],                             // 10010\n    [12, 2048],                             // 10011\n    [12, 2112],                             // 10100\n    [12, 2176],                             // 10101\n    [12, 2240],                             // 10110\n    [12, 2304],                             // 10111\n    [11, 1856], [11, 1856],                 // 1100x\n    [11, 1920], [11, 1920],                 // 1101x\n    [12, 2368],                             // 11100\n    [12, 2432],                             // 11101\n    [12, 2496],                             // 11110\n    [12, 2560]                              // 11111\n  ];\n\n  // prettier-ignore\n  const whiteTable2 = [\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],     // 0000000xx\n    [8, 29], [8, 29],                           // 00000010x\n    [8, 30], [8, 30],                           // 00000011x\n    [8, 45], [8, 45],                           // 00000100x\n    [8, 46], [8, 46],                           // 00000101x\n    [7, 22], [7, 22], [7, 22], [7, 22],         // 0000011xx\n    [7, 23], [7, 23], [7, 23], [7, 23],         // 0000100xx\n    [8, 47], [8, 47],                           // 00001010x\n    [8, 48], [8, 48],                           // 00001011x\n    [6, 13], [6, 13], [6, 13], [6, 13],         // 000011xxx\n    [6, 13], [6, 13], [6, 13], [6, 13],\n    [7, 20], [7, 20], [7, 20], [7, 20],         // 0001000xx\n    [8, 33], [8, 33],                           // 00010010x\n    [8, 34], [8, 34],                           // 00010011x\n    [8, 35], [8, 35],                           // 00010100x\n    [8, 36], [8, 36],                           // 00010101x\n    [8, 37], [8, 37],                           // 00010110x\n    [8, 38], [8, 38],                           // 00010111x\n    [7, 19], [7, 19], [7, 19], [7, 19],         // 0001100xx\n    [8, 31], [8, 31],                           // 00011010x\n    [8, 32], [8, 32],                           // 00011011x\n    [6, 1], [6, 1], [6, 1], [6, 1],             // 000111xxx\n    [6, 1], [6, 1], [6, 1], [6, 1],\n    [6, 12], [6, 12], [6, 12], [6, 12],         // 001000xxx\n    [6, 12], [6, 12], [6, 12], [6, 12],\n    [8, 53], [8, 53],                           // 00100100x\n    [8, 54], [8, 54],                           // 00100101x\n    [7, 26], [7, 26], [7, 26], [7, 26],         // 0010011xx\n    [8, 39], [8, 39],                           // 00101000x\n    [8, 40], [8, 40],                           // 00101001x\n    [8, 41], [8, 41],                           // 00101010x\n    [8, 42], [8, 42],                           // 00101011x\n    [8, 43], [8, 43],                           // 00101100x\n    [8, 44], [8, 44],                           // 00101101x\n    [7, 21], [7, 21], [7, 21], [7, 21],         // 0010111xx\n    [7, 28], [7, 28], [7, 28], [7, 28],         // 0011000xx\n    [8, 61], [8, 61],                           // 00110010x\n    [8, 62], [8, 62],                           // 00110011x\n    [8, 63], [8, 63],                           // 00110100x\n    [8, 0], [8, 0],                             // 00110101x\n    [8, 320], [8, 320],                         // 00110110x\n    [8, 384], [8, 384],                         // 00110111x\n    [5, 10], [5, 10], [5, 10], [5, 10],         // 00111xxxx\n    [5, 10], [5, 10], [5, 10], [5, 10],\n    [5, 10], [5, 10], [5, 10], [5, 10],\n    [5, 10], [5, 10], [5, 10], [5, 10],\n    [5, 11], [5, 11], [5, 11], [5, 11],         // 01000xxxx\n    [5, 11], [5, 11], [5, 11], [5, 11],\n    [5, 11], [5, 11], [5, 11], [5, 11],\n    [5, 11], [5, 11], [5, 11], [5, 11],\n    [7, 27], [7, 27], [7, 27], [7, 27],         // 0100100xx\n    [8, 59], [8, 59],                           // 01001010x\n    [8, 60], [8, 60],                           // 01001011x\n    [9, 1472],                                  // 010011000\n    [9, 1536],                                  // 010011001\n    [9, 1600],                                  // 010011010\n    [9, 1728],                                  // 010011011\n    [7, 18], [7, 18], [7, 18], [7, 18],         // 0100111xx\n    [7, 24], [7, 24], [7, 24], [7, 24],         // 0101000xx\n    [8, 49], [8, 49],                           // 01010010x\n    [8, 50], [8, 50],                           // 01010011x\n    [8, 51], [8, 51],                           // 01010100x\n    [8, 52], [8, 52],                           // 01010101x\n    [7, 25], [7, 25], [7, 25], [7, 25],         // 0101011xx\n    [8, 55], [8, 55],                           // 01011000x\n    [8, 56], [8, 56],                           // 01011001x\n    [8, 57], [8, 57],                           // 01011010x\n    [8, 58], [8, 58],                           // 01011011x\n    [6, 192], [6, 192], [6, 192], [6, 192],     // 010111xxx\n    [6, 192], [6, 192], [6, 192], [6, 192],\n    [6, 1664], [6, 1664], [6, 1664], [6, 1664], // 011000xxx\n    [6, 1664], [6, 1664], [6, 1664], [6, 1664],\n    [8, 448], [8, 448],                         // 01100100x\n    [8, 512], [8, 512],                         // 01100101x\n    [9, 704],                                   // 011001100\n    [9, 768],                                   // 011001101\n    [8, 640], [8, 640],                         // 01100111x\n    [8, 576], [8, 576],                         // 01101000x\n    [9, 832],                                   // 011010010\n    [9, 896],                                   // 011010011\n    [9, 960],                                   // 011010100\n    [9, 1024],                                  // 011010101\n    [9, 1088],                                  // 011010110\n    [9, 1152],                                  // 011010111\n    [9, 1216],                                  // 011011000\n    [9, 1280],                                  // 011011001\n    [9, 1344],                                  // 011011010\n    [9, 1408],                                  // 011011011\n    [7, 256], [7, 256], [7, 256], [7, 256],     // 0110111xx\n    [4, 2], [4, 2], [4, 2], [4, 2],             // 0111xxxxx\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 2], [4, 2], [4, 2], [4, 2],\n    [4, 3], [4, 3], [4, 3], [4, 3],             // 1000xxxxx\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [4, 3], [4, 3], [4, 3], [4, 3],\n    [5, 128], [5, 128], [5, 128], [5, 128],     // 10010xxxx\n    [5, 128], [5, 128], [5, 128], [5, 128],\n    [5, 128], [5, 128], [5, 128], [5, 128],\n    [5, 128], [5, 128], [5, 128], [5, 128],\n    [5, 8], [5, 8], [5, 8], [5, 8],             // 10011xxxx\n    [5, 8], [5, 8], [5, 8], [5, 8],\n    [5, 8], [5, 8], [5, 8], [5, 8],\n    [5, 8], [5, 8], [5, 8], [5, 8],\n    [5, 9], [5, 9], [5, 9], [5, 9],             // 10100xxxx\n    [5, 9], [5, 9], [5, 9], [5, 9],\n    [5, 9], [5, 9], [5, 9], [5, 9],\n    [5, 9], [5, 9], [5, 9], [5, 9],\n    [6, 16], [6, 16], [6, 16], [6, 16],         // 101010xxx\n    [6, 16], [6, 16], [6, 16], [6, 16],\n    [6, 17], [6, 17], [6, 17], [6, 17],         // 101011xxx\n    [6, 17], [6, 17], [6, 17], [6, 17],\n    [4, 4], [4, 4], [4, 4], [4, 4],             // 1011xxxxx\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 4], [4, 4], [4, 4], [4, 4],\n    [4, 5], [4, 5], [4, 5], [4, 5],             // 1100xxxxx\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [4, 5], [4, 5], [4, 5], [4, 5],\n    [6, 14], [6, 14], [6, 14], [6, 14],         // 110100xxx\n    [6, 14], [6, 14], [6, 14], [6, 14],\n    [6, 15], [6, 15], [6, 15], [6, 15],         // 110101xxx\n    [6, 15], [6, 15], [6, 15], [6, 15],\n    [5, 64], [5, 64], [5, 64], [5, 64],         // 11011xxxx\n    [5, 64], [5, 64], [5, 64], [5, 64],\n    [5, 64], [5, 64], [5, 64], [5, 64],\n    [5, 64], [5, 64], [5, 64], [5, 64],\n    [4, 6], [4, 6], [4, 6], [4, 6],             // 1110xxxxx\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 6], [4, 6], [4, 6], [4, 6],\n    [4, 7], [4, 7], [4, 7], [4, 7],             // 1111xxxxx\n    [4, 7], [4, 7], [4, 7], [4, 7],\n    [4, 7], [4, 7], [4, 7], [4, 7],\n    [4, 7], [4, 7], [4, 7], [4, 7],\n    [4, 7], [4, 7], [4, 7], [4, 7],\n    [4, 7], [4, 7], [4, 7], [4, 7],\n    [4, 7], [4, 7], [4, 7], [4, 7],\n    [4, 7], [4, 7], [4, 7], [4, 7]\n  ];\n\n  // prettier-ignore\n  const blackTable1 = [\n    [-1, -1], [-1, -1],                             // 000000000000x\n    [12, ccittEOL], [12, ccittEOL],                 // 000000000001x\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000001xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000010xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000011xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000100xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000101xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000110xx\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1],         // 00000000111xx\n    [11, 1792], [11, 1792], [11, 1792], [11, 1792], // 00000001000xx\n    [12, 1984], [12, 1984],                         // 000000010010x\n    [12, 2048], [12, 2048],                         // 000000010011x\n    [12, 2112], [12, 2112],                         // 000000010100x\n    [12, 2176], [12, 2176],                         // 000000010101x\n    [12, 2240], [12, 2240],                         // 000000010110x\n    [12, 2304], [12, 2304],                         // 000000010111x\n    [11, 1856], [11, 1856], [11, 1856], [11, 1856], // 00000001100xx\n    [11, 1920], [11, 1920], [11, 1920], [11, 1920], // 00000001101xx\n    [12, 2368], [12, 2368],                         // 000000011100x\n    [12, 2432], [12, 2432],                         // 000000011101x\n    [12, 2496], [12, 2496],                         // 000000011110x\n    [12, 2560], [12, 2560],                         // 000000011111x\n    [10, 18], [10, 18], [10, 18], [10, 18],         // 0000001000xxx\n    [10, 18], [10, 18], [10, 18], [10, 18],\n    [12, 52], [12, 52],                             // 000000100100x\n    [13, 640],                                      // 0000001001010\n    [13, 704],                                      // 0000001001011\n    [13, 768],                                      // 0000001001100\n    [13, 832],                                      // 0000001001101\n    [12, 55], [12, 55],                             // 000000100111x\n    [12, 56], [12, 56],                             // 000000101000x\n    [13, 1280],                                     // 0000001010010\n    [13, 1344],                                     // 0000001010011\n    [13, 1408],                                     // 0000001010100\n    [13, 1472],                                     // 0000001010101\n    [12, 59], [12, 59],                             // 000000101011x\n    [12, 60], [12, 60],                             // 000000101100x\n    [13, 1536],                                     // 0000001011010\n    [13, 1600],                                     // 0000001011011\n    [11, 24], [11, 24], [11, 24], [11, 24],         // 00000010111xx\n    [11, 25], [11, 25], [11, 25], [11, 25],         // 00000011000xx\n    [13, 1664],                                     // 0000001100100\n    [13, 1728],                                     // 0000001100101\n    [12, 320], [12, 320],                           // 000000110011x\n    [12, 384], [12, 384],                           // 000000110100x\n    [12, 448], [12, 448],                           // 000000110101x\n    [13, 512],                                      // 0000001101100\n    [13, 576],                                      // 0000001101101\n    [12, 53], [12, 53],                             // 000000110111x\n    [12, 54], [12, 54],                             // 000000111000x\n    [13, 896],                                      // 0000001110010\n    [13, 960],                                      // 0000001110011\n    [13, 1024],                                     // 0000001110100\n    [13, 1088],                                     // 0000001110101\n    [13, 1152],                                     // 0000001110110\n    [13, 1216],                                     // 0000001110111\n    [10, 64], [10, 64], [10, 64], [10, 64],         // 0000001111xxx\n    [10, 64], [10, 64], [10, 64], [10, 64]\n  ];\n\n  // prettier-ignore\n  const blackTable2 = [\n    [8, 13], [8, 13], [8, 13], [8, 13],     // 00000100xxxx\n    [8, 13], [8, 13], [8, 13], [8, 13],\n    [8, 13], [8, 13], [8, 13], [8, 13],\n    [8, 13], [8, 13], [8, 13], [8, 13],\n    [11, 23], [11, 23],                     // 00000101000x\n    [12, 50],                               // 000001010010\n    [12, 51],                               // 000001010011\n    [12, 44],                               // 000001010100\n    [12, 45],                               // 000001010101\n    [12, 46],                               // 000001010110\n    [12, 47],                               // 000001010111\n    [12, 57],                               // 000001011000\n    [12, 58],                               // 000001011001\n    [12, 61],                               // 000001011010\n    [12, 256],                              // 000001011011\n    [10, 16], [10, 16], [10, 16], [10, 16], // 0000010111xx\n    [10, 17], [10, 17], [10, 17], [10, 17], // 0000011000xx\n    [12, 48],                               // 000001100100\n    [12, 49],                               // 000001100101\n    [12, 62],                               // 000001100110\n    [12, 63],                               // 000001100111\n    [12, 30],                               // 000001101000\n    [12, 31],                               // 000001101001\n    [12, 32],                               // 000001101010\n    [12, 33],                               // 000001101011\n    [12, 40],                               // 000001101100\n    [12, 41],                               // 000001101101\n    [11, 22], [11, 22],                     // 00000110111x\n    [8, 14], [8, 14], [8, 14], [8, 14],     // 00000111xxxx\n    [8, 14], [8, 14], [8, 14], [8, 14],\n    [8, 14], [8, 14], [8, 14], [8, 14],\n    [8, 14], [8, 14], [8, 14], [8, 14],\n    [7, 10], [7, 10], [7, 10], [7, 10],     // 0000100xxxxx\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 10], [7, 10], [7, 10], [7, 10],\n    [7, 11], [7, 11], [7, 11], [7, 11],     // 0000101xxxxx\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [7, 11], [7, 11], [7, 11], [7, 11],\n    [9, 15], [9, 15], [9, 15], [9, 15],     // 000011000xxx\n    [9, 15], [9, 15], [9, 15], [9, 15],\n    [12, 128],                              // 000011001000\n    [12, 192],                              // 000011001001\n    [12, 26],                               // 000011001010\n    [12, 27],                               // 000011001011\n    [12, 28],                               // 000011001100\n    [12, 29],                               // 000011001101\n    [11, 19], [11, 19],                     // 00001100111x\n    [11, 20], [11, 20],                     // 00001101000x\n    [12, 34],                               // 000011010010\n    [12, 35],                               // 000011010011\n    [12, 36],                               // 000011010100\n    [12, 37],                               // 000011010101\n    [12, 38],                               // 000011010110\n    [12, 39],                               // 000011010111\n    [11, 21], [11, 21],                     // 00001101100x\n    [12, 42],                               // 000011011010\n    [12, 43],                               // 000011011011\n    [10, 0], [10, 0], [10, 0], [10, 0],     // 0000110111xx\n    [7, 12], [7, 12], [7, 12], [7, 12],     // 0000111xxxxx\n    [7, 12], [7, 12], [7, 12], [7, 12],\n    [7, 12], [7, 12], [7, 12], [7, 12],\n    [7, 12], [7, 12], [7, 12], [7, 12],\n    [7, 12], [7, 12], [7, 12], [7, 12],\n    [7, 12], [7, 12], [7, 12], [7, 12],\n    [7, 12], [7, 12], [7, 12], [7, 12],\n    [7, 12], [7, 12], [7, 12], [7, 12]\n  ];\n\n  // prettier-ignore\n  const blackTable3 = [\n    [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 0000xx\n    [6, 9],                                 // 000100\n    [6, 8],                                 // 000101\n    [5, 7], [5, 7],                         // 00011x\n    [4, 6], [4, 6], [4, 6], [4, 6],         // 0010xx\n    [4, 5], [4, 5], [4, 5], [4, 5],         // 0011xx\n    [3, 1], [3, 1], [3, 1], [3, 1],         // 010xxx\n    [3, 1], [3, 1], [3, 1], [3, 1],\n    [3, 4], [3, 4], [3, 4], [3, 4],         // 011xxx\n    [3, 4], [3, 4], [3, 4], [3, 4],\n    [2, 3], [2, 3], [2, 3], [2, 3],         // 10xxxx\n    [2, 3], [2, 3], [2, 3], [2, 3],\n    [2, 3], [2, 3], [2, 3], [2, 3],\n    [2, 3], [2, 3], [2, 3], [2, 3],\n    [2, 2], [2, 2], [2, 2], [2, 2],         // 11xxxx\n    [2, 2], [2, 2], [2, 2], [2, 2],\n    [2, 2], [2, 2], [2, 2], [2, 2],\n    [2, 2], [2, 2], [2, 2], [2, 2]\n  ];\n\n  /**\n   * @param {CCITTFaxDecoderSource} source - The data which should be decoded.\n   * @param {Object} [options] - Decoding options.\n   */\n  function CCITTFaxDecoder(source, options = {}) {\n    if (!source || typeof source.next !== \"function\") {\n      throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n    }\n    this.source = source;\n    this.eof = false;\n\n    this.encoding = options[\"K\"] || 0;\n    this.eoline = options[\"EndOfLine\"] || false;\n    this.byteAlign = options[\"EncodedByteAlign\"] || false;\n    this.columns = options[\"Columns\"] || 1728;\n    this.rows = options[\"Rows\"] || 0;\n    let eoblock = options[\"EndOfBlock\"];\n    if (eoblock === null || eoblock === undefined) {\n      eoblock = true;\n    }\n    this.eoblock = eoblock;\n    this.black = options[\"BlackIs1\"] || false;\n\n    this.codingLine = new Uint32Array(this.columns + 1);\n    this.refLine = new Uint32Array(this.columns + 2);\n\n    this.codingLine[0] = this.columns;\n    this.codingPos = 0;\n\n    this.row = 0;\n    this.nextLine2D = this.encoding < 0;\n    this.inputBits = 0;\n    this.inputBuf = 0;\n    this.outputBits = 0;\n    this.rowsDone = false;\n\n    let code1;\n    while ((code1 = this._lookBits(12)) === 0) {\n      this._eatBits(1);\n    }\n    if (code1 === 1) {\n      this._eatBits(12);\n    }\n    if (this.encoding > 0) {\n      this.nextLine2D = !this._lookBits(1);\n      this._eatBits(1);\n    }\n  }\n\n  CCITTFaxDecoder.prototype = {\n    readNextChar() {\n      if (this.eof) {\n        return -1;\n      }\n      const refLine = this.refLine;\n      const codingLine = this.codingLine;\n      const columns = this.columns;\n\n      let refPos, blackPixels, bits, i;\n\n      if (this.outputBits === 0) {\n        if (this.rowsDone) {\n          this.eof = true;\n        }\n        if (this.eof) {\n          return -1;\n        }\n        this.err = false;\n\n        let code1, code2, code3;\n        if (this.nextLine2D) {\n          for (i = 0; codingLine[i] < columns; ++i) {\n            refLine[i] = codingLine[i];\n          }\n          refLine[i++] = columns;\n          refLine[i] = columns;\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          refPos = 0;\n          blackPixels = 0;\n\n          while (codingLine[this.codingPos] < columns) {\n            code1 = this._getTwoDimCode();\n            switch (code1) {\n              case twoDimPass:\n                this._addPixels(refLine[refPos + 1], blackPixels);\n                if (refLine[refPos + 1] < columns) {\n                  refPos += 2;\n                }\n                break;\n              case twoDimHoriz:\n                code1 = code2 = 0;\n                if (blackPixels) {\n                  do {\n                    code1 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n                  do {\n                    code2 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n                } else {\n                  do {\n                    code1 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n                  do {\n                    code2 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n                }\n                this._addPixels(\n                  codingLine[this.codingPos] + code1,\n                  blackPixels\n                );\n                if (codingLine[this.codingPos] < columns) {\n                  this._addPixels(\n                    codingLine[this.codingPos] + code2,\n                    blackPixels ^ 1\n                  );\n                }\n                while (\n                  refLine[refPos] <= codingLine[this.codingPos] &&\n                  refLine[refPos] < columns\n                ) {\n                  refPos += 2;\n                }\n                break;\n              case twoDimVertR3:\n                this._addPixels(refLine[refPos] + 3, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertR2:\n                this._addPixels(refLine[refPos] + 2, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertR1:\n                this._addPixels(refLine[refPos] + 1, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVert0:\n                this._addPixels(refLine[refPos], blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertL3:\n                this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertL2:\n                this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case twoDimVertL1:\n                this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n                blackPixels ^= 1;\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n                  while (\n                    refLine[refPos] <= codingLine[this.codingPos] &&\n                    refLine[refPos] < columns\n                  ) {\n                    refPos += 2;\n                  }\n                }\n                break;\n              case ccittEOF:\n                this._addPixels(columns, 0);\n                this.eof = true;\n                break;\n              default:\n                info(\"bad 2d code\");\n                this._addPixels(columns, 0);\n                this.err = true;\n            }\n          }\n        } else {\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          blackPixels = 0;\n          while (codingLine[this.codingPos] < columns) {\n            code1 = 0;\n            if (blackPixels) {\n              do {\n                code1 += code3 = this._getBlackCode();\n              } while (code3 >= 64);\n            } else {\n              do {\n                code1 += code3 = this._getWhiteCode();\n              } while (code3 >= 64);\n            }\n            this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n            blackPixels ^= 1;\n          }\n        }\n\n        let gotEOL = false;\n\n        if (this.byteAlign) {\n          this.inputBits &= ~7;\n        }\n\n        if (!this.eoblock && this.row === this.rows - 1) {\n          this.rowsDone = true;\n        } else {\n          code1 = this._lookBits(12);\n          if (this.eoline) {\n            while (code1 !== ccittEOF && code1 !== 1) {\n              this._eatBits(1);\n              code1 = this._lookBits(12);\n            }\n          } else {\n            while (code1 === 0) {\n              this._eatBits(1);\n              code1 = this._lookBits(12);\n            }\n          }\n          if (code1 === 1) {\n            this._eatBits(12);\n            gotEOL = true;\n          } else if (code1 === ccittEOF) {\n            this.eof = true;\n          }\n        }\n\n        if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n          this.nextLine2D = !this._lookBits(1);\n          this._eatBits(1);\n        }\n\n        if (this.eoblock && gotEOL && this.byteAlign) {\n          code1 = this._lookBits(12);\n          if (code1 === 1) {\n            this._eatBits(12);\n            if (this.encoding > 0) {\n              this._lookBits(1);\n              this._eatBits(1);\n            }\n            if (this.encoding >= 0) {\n              for (i = 0; i < 4; ++i) {\n                code1 = this._lookBits(12);\n                if (code1 !== 1) {\n                  info(\"bad rtc code: \" + code1);\n                }\n                this._eatBits(12);\n                if (this.encoding > 0) {\n                  this._lookBits(1);\n                  this._eatBits(1);\n                }\n              }\n            }\n            this.eof = true;\n          }\n        } else if (this.err && this.eoline) {\n          while (true) {\n            code1 = this._lookBits(13);\n            if (code1 === ccittEOF) {\n              this.eof = true;\n              return -1;\n            }\n            if (code1 >> 1 === 1) {\n              break;\n            }\n            this._eatBits(1);\n          }\n          this._eatBits(12);\n          if (this.encoding > 0) {\n            this._eatBits(1);\n            this.nextLine2D = !(code1 & 1);\n          }\n        }\n\n        if (codingLine[0] > 0) {\n          this.outputBits = codingLine[(this.codingPos = 0)];\n        } else {\n          this.outputBits = codingLine[(this.codingPos = 1)];\n        }\n        this.row++;\n      }\n\n      let c;\n      if (this.outputBits >= 8) {\n        c = this.codingPos & 1 ? 0 : 0xff;\n        this.outputBits -= 8;\n        if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n          this.codingPos++;\n          this.outputBits =\n            codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n        }\n      } else {\n        bits = 8;\n        c = 0;\n        do {\n          if (this.outputBits > bits) {\n            c <<= bits;\n            if (!(this.codingPos & 1)) {\n              c |= 0xff >> (8 - bits);\n            }\n            this.outputBits -= bits;\n            bits = 0;\n          } else {\n            c <<= this.outputBits;\n            if (!(this.codingPos & 1)) {\n              c |= 0xff >> (8 - this.outputBits);\n            }\n            bits -= this.outputBits;\n            this.outputBits = 0;\n            if (codingLine[this.codingPos] < columns) {\n              this.codingPos++;\n              this.outputBits =\n                codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n            } else if (bits > 0) {\n              c <<= bits;\n              bits = 0;\n            }\n          }\n        } while (bits);\n      }\n      if (this.black) {\n        c ^= 0xff;\n      }\n      return c;\n    },\n\n    /**\n     * @private\n     */\n    _addPixels(a1, blackPixels) {\n      const codingLine = this.codingLine;\n      let codingPos = this.codingPos;\n\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          info(\"row is wrong length\");\n          this.err = true;\n          a1 = this.columns;\n        }\n        if ((codingPos & 1) ^ blackPixels) {\n          ++codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      }\n      this.codingPos = codingPos;\n    },\n\n    /**\n     * @private\n     */\n    _addPixelsNeg(a1, blackPixels) {\n      const codingLine = this.codingLine;\n      let codingPos = this.codingPos;\n\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          info(\"row is wrong length\");\n          this.err = true;\n          a1 = this.columns;\n        }\n        if ((codingPos & 1) ^ blackPixels) {\n          ++codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      } else if (a1 < codingLine[codingPos]) {\n        if (a1 < 0) {\n          info(\"invalid code\");\n          this.err = true;\n          a1 = 0;\n        }\n        while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n          --codingPos;\n        }\n        codingLine[codingPos] = a1;\n      }\n\n      this.codingPos = codingPos;\n    },\n\n    /**\n     * This function returns the code found from the table.\n     * The start and end parameters set the boundaries for searching the table.\n     * The limit parameter is optional. Function returns an array with three\n     * values. The first array element indicates whether a valid code is being\n     * returned. The second array element is the actual code. The third array\n     * element indicates whether EOF was reached.\n     * @private\n     */\n    _findTableCode(start, end, table, limit) {\n      const limitValue = limit || 0;\n      for (let i = start; i <= end; ++i) {\n        let code = this._lookBits(i);\n        if (code === ccittEOF) {\n          return [true, 1, false];\n        }\n        if (i < end) {\n          code <<= end - i;\n        }\n        if (!limitValue || code >= limitValue) {\n          const p = table[code - limitValue];\n          if (p[0] === i) {\n            this._eatBits(i);\n            return [true, p[1], true];\n          }\n        }\n      }\n      return [false, 0, false];\n    },\n\n    /**\n     * @private\n     */\n    _getTwoDimCode() {\n      let code = 0;\n      let p;\n      if (this.eoblock) {\n        code = this._lookBits(7);\n        p = twoDimTable[code];\n        if (p && p[0] > 0) {\n          this._eatBits(p[0]);\n          return p[1];\n        }\n      } else {\n        const result = this._findTableCode(1, 7, twoDimTable);\n        if (result[0] && result[2]) {\n          return result[1];\n        }\n      }\n      info(\"Bad two dim code\");\n      return ccittEOF;\n    },\n\n    /**\n     * @private\n     */\n    _getWhiteCode() {\n      let code = 0;\n      let p;\n      if (this.eoblock) {\n        code = this._lookBits(12);\n        if (code === ccittEOF) {\n          return 1;\n        }\n\n        if (code >> 5 === 0) {\n          p = whiteTable1[code];\n        } else {\n          p = whiteTable2[code >> 3];\n        }\n\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n          return p[1];\n        }\n      } else {\n        let result = this._findTableCode(1, 9, whiteTable2);\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(11, 12, whiteTable1);\n        if (result[0]) {\n          return result[1];\n        }\n      }\n      info(\"bad white code\");\n      this._eatBits(1);\n      return 1;\n    },\n\n    /**\n     * @private\n     */\n    _getBlackCode() {\n      let code, p;\n      if (this.eoblock) {\n        code = this._lookBits(13);\n        if (code === ccittEOF) {\n          return 1;\n        }\n        if (code >> 7 === 0) {\n          p = blackTable1[code];\n        } else if (code >> 9 === 0 && code >> 7 !== 0) {\n          p = blackTable2[(code >> 1) - 64];\n        } else {\n          p = blackTable3[code >> 7];\n        }\n\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n          return p[1];\n        }\n      } else {\n        let result = this._findTableCode(2, 6, blackTable3);\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(7, 12, blackTable2, 64);\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(10, 13, blackTable1);\n        if (result[0]) {\n          return result[1];\n        }\n      }\n      info(\"bad black code\");\n      this._eatBits(1);\n      return 1;\n    },\n\n    /**\n     * @private\n     */\n    _lookBits(n) {\n      let c;\n      while (this.inputBits < n) {\n        if ((c = this.source.next()) === -1) {\n          if (this.inputBits === 0) {\n            return ccittEOF;\n          }\n          return (this.inputBuf << (n - this.inputBits)) & (0xffff >> (16 - n));\n        }\n        this.inputBuf = (this.inputBuf << 8) | c;\n        this.inputBits += 8;\n      }\n      return (this.inputBuf >> (this.inputBits - n)) & (0xffff >> (16 - n));\n    },\n\n    /**\n     * @private\n     */\n    _eatBits(n) {\n      if ((this.inputBits -= n) < 0) {\n        this.inputBits = 0;\n      }\n    },\n  };\n\n  return CCITTFaxDecoder;\n})();\n\nexport { CCITTFaxDecoder };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { isDict, isStream } from \"./primitives.js\";\nimport { DecodeStream } from \"./stream.js\";\nimport { Jbig2Image } from \"./jbig2.js\";\nimport { shadow } from \"../shared/util.js\";\n\n/**\n * For JBIG2's we use a library to decode these images and\n * the stream behaves like all the other DecodeStreams.\n */\nconst Jbig2Stream = (function Jbig2StreamClosure() {\n  function Jbig2Stream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  Jbig2Stream.prototype = Object.create(DecodeStream.prototype);\n\n  Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n    get() {\n      // If `this.maybeLength` is null, we'll get the entire stream.\n      return shadow(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true,\n  });\n\n  Jbig2Stream.prototype.ensureBuffer = function(requested) {\n    // No-op, since `this.readBlock` will always parse the entire image and\n    // directly insert all of its data into `this.buffer`.\n  };\n\n  Jbig2Stream.prototype.readBlock = function() {\n    if (this.eof) {\n      return;\n    }\n    const jbig2Image = new Jbig2Image();\n\n    const chunks = [];\n    if (isDict(this.params)) {\n      const globalsStream = this.params.get(\"JBIG2Globals\");\n      if (isStream(globalsStream)) {\n        const globals = globalsStream.getBytes();\n        chunks.push({ data: globals, start: 0, end: globals.length });\n      }\n    }\n    chunks.push({ data: this.bytes, start: 0, end: this.bytes.length });\n    const data = jbig2Image.parseChunks(chunks);\n    const dataLength = data.length;\n\n    // JBIG2 had black as 1 and white as 0, inverting the colors\n    for (let i = 0; i < dataLength; i++) {\n      data[i] ^= 0xff;\n    }\n    this.buffer = data;\n    this.bufferLength = dataLength;\n    this.eof = true;\n  };\n\n  return Jbig2Stream;\n})();\n\nexport { Jbig2Stream };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { BaseException, shadow } from \"../shared/util.js\";\nimport { log2, readInt8, readUint16, readUint32 } from \"./core_utils.js\";\nimport { ArithmeticDecoder } from \"./arithmetic_decoder.js\";\nimport { CCITTFaxDecoder } from \"./ccitt.js\";\n\nclass Jbig2Error extends BaseException {\n  constructor(msg) {\n    super(`JBIG2 error: ${msg}`);\n  }\n}\n\nvar Jbig2Image = (function Jbig2ImageClosure() {\n  // Utility data structures\n  function ContextCache() {}\n\n  ContextCache.prototype = {\n    getContexts(id) {\n      if (id in this) {\n        return this[id];\n      }\n      return (this[id] = new Int8Array(1 << 16));\n    },\n  };\n\n  function DecodingContext(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n  }\n\n  DecodingContext.prototype = {\n    get decoder() {\n      var decoder = new ArithmeticDecoder(this.data, this.start, this.end);\n      return shadow(this, \"decoder\", decoder);\n    },\n    get contextCache() {\n      var cache = new ContextCache();\n      return shadow(this, \"contextCache\", cache);\n    },\n  };\n\n  // Annex A. Arithmetic Integer Decoding Procedure\n  // A.2 Procedure for decoding values\n  function decodeInteger(contextCache, procedure, decoder) {\n    var contexts = contextCache.getContexts(procedure);\n    var prev = 1;\n\n    function readBits(length) {\n      var v = 0;\n      for (var i = 0; i < length; i++) {\n        var bit = decoder.readBit(contexts, prev);\n        prev =\n          prev < 256 ? (prev << 1) | bit : (((prev << 1) | bit) & 511) | 256;\n        v = (v << 1) | bit;\n      }\n      return v >>> 0;\n    }\n\n    var sign = readBits(1);\n    // prettier-ignore\n    /* eslint-disable no-nested-ternary */\n    var value = readBits(1) ?\n                  (readBits(1) ?\n                    (readBits(1) ?\n                      (readBits(1) ?\n                        (readBits(1) ?\n                          (readBits(32) + 4436) :\n                        readBits(12) + 340) :\n                      readBits(8) + 84) :\n                    readBits(6) + 20) :\n                  readBits(4) + 4) :\n                readBits(2);\n    /* eslint-enable no-nested-ternary */\n    if (sign === 0) {\n      return value;\n    } else if (value > 0) {\n      return -value;\n    }\n    return null;\n  }\n\n  // A.3 The IAID decoding procedure\n  function decodeIAID(contextCache, decoder, codeLength) {\n    var contexts = contextCache.getContexts(\"IAID\");\n\n    var prev = 1;\n    for (var i = 0; i < codeLength; i++) {\n      var bit = decoder.readBit(contexts, prev);\n      prev = (prev << 1) | bit;\n    }\n    if (codeLength < 31) {\n      return prev & ((1 << codeLength) - 1);\n    }\n    return prev & 0x7fffffff;\n  }\n\n  // 7.3 Segment types\n  var SegmentTypes = [\n    \"SymbolDictionary\",\n    null,\n    null,\n    null,\n    \"IntermediateTextRegion\",\n    null,\n    \"ImmediateTextRegion\",\n    \"ImmediateLosslessTextRegion\",\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    \"PatternDictionary\",\n    null,\n    null,\n    null,\n    \"IntermediateHalftoneRegion\",\n    null,\n    \"ImmediateHalftoneRegion\",\n    \"ImmediateLosslessHalftoneRegion\",\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    \"IntermediateGenericRegion\",\n    null,\n    \"ImmediateGenericRegion\",\n    \"ImmediateLosslessGenericRegion\",\n    \"IntermediateGenericRefinementRegion\",\n    null,\n    \"ImmediateGenericRefinementRegion\",\n    \"ImmediateLosslessGenericRefinementRegion\",\n    null,\n    null,\n    null,\n    null,\n    \"PageInformation\",\n    \"EndOfPage\",\n    \"EndOfStripe\",\n    \"EndOfFile\",\n    \"Profiles\",\n    \"Tables\",\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    null,\n    \"Extension\",\n  ];\n\n  var CodingTemplates = [\n    [\n      { x: -1, y: -2 },\n      { x: 0, y: -2 },\n      { x: 1, y: -2 },\n      { x: -2, y: -1 },\n      { x: -1, y: -1 },\n      { x: 0, y: -1 },\n      { x: 1, y: -1 },\n      { x: 2, y: -1 },\n      { x: -4, y: 0 },\n      { x: -3, y: 0 },\n      { x: -2, y: 0 },\n      { x: -1, y: 0 },\n    ],\n    [\n      { x: -1, y: -2 },\n      { x: 0, y: -2 },\n      { x: 1, y: -2 },\n      { x: 2, y: -2 },\n      { x: -2, y: -1 },\n      { x: -1, y: -1 },\n      { x: 0, y: -1 },\n      { x: 1, y: -1 },\n      { x: 2, y: -1 },\n      { x: -3, y: 0 },\n      { x: -2, y: 0 },\n      { x: -1, y: 0 },\n    ],\n    [\n      { x: -1, y: -2 },\n      { x: 0, y: -2 },\n      { x: 1, y: -2 },\n      { x: -2, y: -1 },\n      { x: -1, y: -1 },\n      { x: 0, y: -1 },\n      { x: 1, y: -1 },\n      { x: -2, y: 0 },\n      { x: -1, y: 0 },\n    ],\n    [\n      { x: -3, y: -1 },\n      { x: -2, y: -1 },\n      { x: -1, y: -1 },\n      { x: 0, y: -1 },\n      { x: 1, y: -1 },\n      { x: -4, y: 0 },\n      { x: -3, y: 0 },\n      { x: -2, y: 0 },\n      { x: -1, y: 0 },\n    ],\n  ];\n\n  var RefinementTemplates = [\n    {\n      coding: [\n        { x: 0, y: -1 },\n        { x: 1, y: -1 },\n        { x: -1, y: 0 },\n      ],\n      reference: [\n        { x: 0, y: -1 },\n        { x: 1, y: -1 },\n        { x: -1, y: 0 },\n        { x: 0, y: 0 },\n        { x: 1, y: 0 },\n        { x: -1, y: 1 },\n        { x: 0, y: 1 },\n        { x: 1, y: 1 },\n      ],\n    },\n    {\n      coding: [\n        { x: -1, y: -1 },\n        { x: 0, y: -1 },\n        { x: 1, y: -1 },\n        { x: -1, y: 0 },\n      ],\n      reference: [\n        { x: 0, y: -1 },\n        { x: -1, y: 0 },\n        { x: 0, y: 0 },\n        { x: 1, y: 0 },\n        { x: 0, y: 1 },\n        { x: 1, y: 1 },\n      ],\n    },\n  ];\n\n  // See 6.2.5.7 Decoding the bitmap.\n  var ReusedContexts = [\n    0x9b25, // 10011 0110010 0101\n    0x0795, // 0011 110010 101\n    0x00e5, // 001 11001 01\n    0x0195, // 011001 0101\n  ];\n\n  var RefinementReusedContexts = [\n    0x0020, // '000' + '0' (coding) + '00010000' + '0' (reference)\n    0x0008, // '0000' + '001000'\n  ];\n\n  function decodeBitmapTemplate0(width, height, decodingContext) {\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GB\");\n    var contextLabel,\n      i,\n      j,\n      pixel,\n      row,\n      row1,\n      row2,\n      bitmap = [];\n\n    // ...ooooo....\n    // ..ooooooo... Context template for current pixel (X)\n    // .ooooX...... (concatenate values of 'o'-pixels to get contextLabel)\n    var OLD_PIXEL_MASK = 0x7bf7; // 01111 0111111 0111\n\n    for (i = 0; i < height; i++) {\n      row = bitmap[i] = new Uint8Array(width);\n      row1 = i < 1 ? row : bitmap[i - 1];\n      row2 = i < 2 ? row : bitmap[i - 2];\n\n      // At the beginning of each row:\n      // Fill contextLabel with pixels that are above/right of (X)\n      contextLabel =\n        (row2[0] << 13) |\n        (row2[1] << 12) |\n        (row2[2] << 11) |\n        (row1[0] << 7) |\n        (row1[1] << 6) |\n        (row1[2] << 5) |\n        (row1[3] << 4);\n\n      for (j = 0; j < width; j++) {\n        row[j] = pixel = decoder.readBit(contexts, contextLabel);\n\n        // At each pixel: Clear contextLabel pixels that are shifted\n        // out of the context, then add new ones.\n        contextLabel =\n          ((contextLabel & OLD_PIXEL_MASK) << 1) |\n          (j + 3 < width ? row2[j + 3] << 11 : 0) |\n          (j + 4 < width ? row1[j + 4] << 4 : 0) |\n          pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  // 6.2 Generic Region Decoding Procedure\n  function decodeBitmap(\n    mmr,\n    width,\n    height,\n    templateIndex,\n    prediction,\n    skip,\n    at,\n    decodingContext\n  ) {\n    if (mmr) {\n      const input = new Reader(\n        decodingContext.data,\n        decodingContext.start,\n        decodingContext.end\n      );\n      return decodeMMRBitmap(input, width, height, false);\n    }\n\n    // Use optimized version for the most common case\n    if (\n      templateIndex === 0 &&\n      !skip &&\n      !prediction &&\n      at.length === 4 &&\n      at[0].x === 3 &&\n      at[0].y === -1 &&\n      at[1].x === -3 &&\n      at[1].y === -1 &&\n      at[2].x === 2 &&\n      at[2].y === -2 &&\n      at[3].x === -2 &&\n      at[3].y === -2\n    ) {\n      return decodeBitmapTemplate0(width, height, decodingContext);\n    }\n\n    var useskip = !!skip;\n    var template = CodingTemplates[templateIndex].concat(at);\n\n    // Sorting is non-standard, and it is not required. But sorting increases\n    // the number of template bits that can be reused from the previous\n    // contextLabel in the main loop.\n    template.sort(function(a, b) {\n      return a.y - b.y || a.x - b.x;\n    });\n\n    var templateLength = template.length;\n    var templateX = new Int8Array(templateLength);\n    var templateY = new Int8Array(templateLength);\n    var changingTemplateEntries = [];\n    var reuseMask = 0,\n      minX = 0,\n      maxX = 0,\n      minY = 0;\n    var c, k;\n\n    for (k = 0; k < templateLength; k++) {\n      templateX[k] = template[k].x;\n      templateY[k] = template[k].y;\n      minX = Math.min(minX, template[k].x);\n      maxX = Math.max(maxX, template[k].x);\n      minY = Math.min(minY, template[k].y);\n      // Check if the template pixel appears in two consecutive context labels,\n      // so it can be reused. Otherwise, we add it to the list of changing\n      // template entries.\n      if (\n        k < templateLength - 1 &&\n        template[k].y === template[k + 1].y &&\n        template[k].x === template[k + 1].x - 1\n      ) {\n        reuseMask |= 1 << (templateLength - 1 - k);\n      } else {\n        changingTemplateEntries.push(k);\n      }\n    }\n    var changingEntriesLength = changingTemplateEntries.length;\n\n    var changingTemplateX = new Int8Array(changingEntriesLength);\n    var changingTemplateY = new Int8Array(changingEntriesLength);\n    var changingTemplateBit = new Uint16Array(changingEntriesLength);\n    for (c = 0; c < changingEntriesLength; c++) {\n      k = changingTemplateEntries[c];\n      changingTemplateX[c] = template[k].x;\n      changingTemplateY[c] = template[k].y;\n      changingTemplateBit[c] = 1 << (templateLength - 1 - k);\n    }\n\n    // Get the safe bounding box edges from the width, height, minX, maxX, minY\n    var sbb_left = -minX;\n    var sbb_top = -minY;\n    var sbb_right = width - maxX;\n\n    var pseudoPixelContext = ReusedContexts[templateIndex];\n    var row = new Uint8Array(width);\n    var bitmap = [];\n\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GB\");\n\n    var ltp = 0,\n      j,\n      i0,\n      j0,\n      contextLabel = 0,\n      bit,\n      shift;\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n        if (ltp) {\n          bitmap.push(row); // duplicate previous row\n          continue;\n        }\n      }\n      row = new Uint8Array(row);\n      bitmap.push(row);\n      for (j = 0; j < width; j++) {\n        if (useskip && skip[i][j]) {\n          row[j] = 0;\n          continue;\n        }\n        // Are we in the middle of a scanline, so we can reuse contextLabel\n        // bits?\n        if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n          // If yes, we can just shift the bits that are reusable and only\n          // fetch the remaining ones.\n          contextLabel = (contextLabel << 1) & reuseMask;\n          for (k = 0; k < changingEntriesLength; k++) {\n            i0 = i + changingTemplateY[k];\n            j0 = j + changingTemplateX[k];\n            bit = bitmap[i0][j0];\n            if (bit) {\n              bit = changingTemplateBit[k];\n              contextLabel |= bit;\n            }\n          }\n        } else {\n          // compute the contextLabel from scratch\n          contextLabel = 0;\n          shift = templateLength - 1;\n          for (k = 0; k < templateLength; k++, shift--) {\n            j0 = j + templateX[k];\n            if (j0 >= 0 && j0 < width) {\n              i0 = i + templateY[k];\n              if (i0 >= 0) {\n                bit = bitmap[i0][j0];\n                if (bit) {\n                  contextLabel |= bit << shift;\n                }\n              }\n            }\n          }\n        }\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n    return bitmap;\n  }\n\n  // 6.3.2 Generic Refinement Region Decoding Procedure\n  function decodeRefinement(\n    width,\n    height,\n    templateIndex,\n    referenceBitmap,\n    offsetX,\n    offsetY,\n    prediction,\n    at,\n    decodingContext\n  ) {\n    var codingTemplate = RefinementTemplates[templateIndex].coding;\n    if (templateIndex === 0) {\n      codingTemplate = codingTemplate.concat([at[0]]);\n    }\n    var codingTemplateLength = codingTemplate.length;\n    var codingTemplateX = new Int32Array(codingTemplateLength);\n    var codingTemplateY = new Int32Array(codingTemplateLength);\n    var k;\n    for (k = 0; k < codingTemplateLength; k++) {\n      codingTemplateX[k] = codingTemplate[k].x;\n      codingTemplateY[k] = codingTemplate[k].y;\n    }\n\n    var referenceTemplate = RefinementTemplates[templateIndex].reference;\n    if (templateIndex === 0) {\n      referenceTemplate = referenceTemplate.concat([at[1]]);\n    }\n    var referenceTemplateLength = referenceTemplate.length;\n    var referenceTemplateX = new Int32Array(referenceTemplateLength);\n    var referenceTemplateY = new Int32Array(referenceTemplateLength);\n    for (k = 0; k < referenceTemplateLength; k++) {\n      referenceTemplateX[k] = referenceTemplate[k].x;\n      referenceTemplateY[k] = referenceTemplate[k].y;\n    }\n    var referenceWidth = referenceBitmap[0].length;\n    var referenceHeight = referenceBitmap.length;\n\n    var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n    var bitmap = [];\n\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GR\");\n\n    var ltp = 0;\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n        if (ltp) {\n          throw new Jbig2Error(\"prediction is not supported\");\n        }\n      }\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n      for (var j = 0; j < width; j++) {\n        var i0, j0;\n        var contextLabel = 0;\n        for (k = 0; k < codingTemplateLength; k++) {\n          i0 = i + codingTemplateY[k];\n          j0 = j + codingTemplateX[k];\n          if (i0 < 0 || j0 < 0 || j0 >= width) {\n            contextLabel <<= 1; // out of bound pixel\n          } else {\n            contextLabel = (contextLabel << 1) | bitmap[i0][j0];\n          }\n        }\n        for (k = 0; k < referenceTemplateLength; k++) {\n          i0 = i + referenceTemplateY[k] - offsetY;\n          j0 = j + referenceTemplateX[k] - offsetX;\n          if (\n            i0 < 0 ||\n            i0 >= referenceHeight ||\n            j0 < 0 ||\n            j0 >= referenceWidth\n          ) {\n            contextLabel <<= 1; // out of bound pixel\n          } else {\n            contextLabel = (contextLabel << 1) | referenceBitmap[i0][j0];\n          }\n        }\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  // 6.5.5 Decoding the symbol dictionary\n  function decodeSymbolDictionary(\n    huffman,\n    refinement,\n    symbols,\n    numberOfNewSymbols,\n    numberOfExportedSymbols,\n    huffmanTables,\n    templateIndex,\n    at,\n    refinementTemplateIndex,\n    refinementAt,\n    decodingContext,\n    huffmanInput\n  ) {\n    if (huffman && refinement) {\n      throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n    }\n\n    var newSymbols = [];\n    var currentHeight = 0;\n    var symbolCodeLength = log2(symbols.length + numberOfNewSymbols);\n\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    let tableB1, symbolWidths;\n    if (huffman) {\n      tableB1 = getStandardTable(1); // standard table B.1\n      symbolWidths = [];\n      symbolCodeLength = Math.max(symbolCodeLength, 1); // 6.5.8.2.3\n    }\n\n    while (newSymbols.length < numberOfNewSymbols) {\n      var deltaHeight = huffman\n        ? huffmanTables.tableDeltaHeight.decode(huffmanInput)\n        : decodeInteger(contextCache, \"IADH\", decoder); // 6.5.6\n      currentHeight += deltaHeight;\n      let currentWidth = 0,\n        totalWidth = 0;\n      const firstSymbol = huffman ? symbolWidths.length : 0;\n      while (true) {\n        var deltaWidth = huffman\n          ? huffmanTables.tableDeltaWidth.decode(huffmanInput)\n          : decodeInteger(contextCache, \"IADW\", decoder); // 6.5.7\n        if (deltaWidth === null) {\n          break; // OOB\n        }\n        currentWidth += deltaWidth;\n        totalWidth += currentWidth;\n        var bitmap;\n        if (refinement) {\n          // 6.5.8.2 Refinement/aggregate-coded symbol bitmap\n          var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n          if (numberOfInstances > 1) {\n            bitmap = decodeTextRegion(\n              huffman,\n              refinement,\n              currentWidth,\n              currentHeight,\n              0,\n              numberOfInstances,\n              1, // strip size\n              symbols.concat(newSymbols),\n              symbolCodeLength,\n              0, // transposed\n              0, // ds offset\n              1, // top left 7.4.3.1.1\n              0, // OR operator\n              huffmanTables,\n              refinementTemplateIndex,\n              refinementAt,\n              decodingContext,\n              0,\n              huffmanInput\n            );\n          } else {\n            var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n            var rdx = decodeInteger(contextCache, \"IARDX\", decoder); // 6.4.11.3\n            var rdy = decodeInteger(contextCache, \"IARDY\", decoder); // 6.4.11.4\n            var symbol =\n              symbolId < symbols.length\n                ? symbols[symbolId]\n                : newSymbols[symbolId - symbols.length];\n            bitmap = decodeRefinement(\n              currentWidth,\n              currentHeight,\n              refinementTemplateIndex,\n              symbol,\n              rdx,\n              rdy,\n              false,\n              refinementAt,\n              decodingContext\n            );\n          }\n          newSymbols.push(bitmap);\n        } else if (huffman) {\n          // Store only symbol width and decode a collective bitmap when the\n          // height class is done.\n          symbolWidths.push(currentWidth);\n        } else {\n          // 6.5.8.1 Direct-coded symbol bitmap\n          bitmap = decodeBitmap(\n            false,\n            currentWidth,\n            currentHeight,\n            templateIndex,\n            false,\n            null,\n            at,\n            decodingContext\n          );\n          newSymbols.push(bitmap);\n        }\n      }\n      if (huffman && !refinement) {\n        // 6.5.9 Height class collective bitmap\n        const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n        huffmanInput.byteAlign();\n        let collectiveBitmap;\n        if (bitmapSize === 0) {\n          // Uncompressed collective bitmap\n          collectiveBitmap = readUncompressedBitmap(\n            huffmanInput,\n            totalWidth,\n            currentHeight\n          );\n        } else {\n          // MMR collective bitmap\n          const originalEnd = huffmanInput.end;\n          const bitmapEnd = huffmanInput.position + bitmapSize;\n          huffmanInput.end = bitmapEnd;\n          collectiveBitmap = decodeMMRBitmap(\n            huffmanInput,\n            totalWidth,\n            currentHeight,\n            false\n          );\n          huffmanInput.end = originalEnd;\n          huffmanInput.position = bitmapEnd;\n        }\n        const numberOfSymbolsDecoded = symbolWidths.length;\n        if (firstSymbol === numberOfSymbolsDecoded - 1) {\n          // collectiveBitmap is a single symbol.\n          newSymbols.push(collectiveBitmap);\n        } else {\n          // Divide collectiveBitmap into symbols.\n          let i,\n            y,\n            xMin = 0,\n            xMax,\n            bitmapWidth,\n            symbolBitmap;\n          for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {\n            bitmapWidth = symbolWidths[i];\n            xMax = xMin + bitmapWidth;\n            symbolBitmap = [];\n            for (y = 0; y < currentHeight; y++) {\n              symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n            }\n            newSymbols.push(symbolBitmap);\n            xMin = xMax;\n          }\n        }\n      }\n    }\n\n    // 6.5.10 Exported symbols\n    var exportedSymbols = [];\n    var flags = [],\n      currentFlag = false;\n    var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n    while (flags.length < totalSymbolsLength) {\n      var runLength = huffman\n        ? tableB1.decode(huffmanInput)\n        : decodeInteger(contextCache, \"IAEX\", decoder);\n      while (runLength--) {\n        flags.push(currentFlag);\n      }\n      currentFlag = !currentFlag;\n    }\n    for (var i = 0, ii = symbols.length; i < ii; i++) {\n      if (flags[i]) {\n        exportedSymbols.push(symbols[i]);\n      }\n    }\n    for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n      if (flags[i]) {\n        exportedSymbols.push(newSymbols[j]);\n      }\n    }\n    return exportedSymbols;\n  }\n\n  function decodeTextRegion(\n    huffman,\n    refinement,\n    width,\n    height,\n    defaultPixelValue,\n    numberOfSymbolInstances,\n    stripSize,\n    inputSymbols,\n    symbolCodeLength,\n    transposed,\n    dsOffset,\n    referenceCorner,\n    combinationOperator,\n    huffmanTables,\n    refinementTemplateIndex,\n    refinementAt,\n    decodingContext,\n    logStripSize,\n    huffmanInput\n  ) {\n    if (huffman && refinement) {\n      throw new Jbig2Error(\"refinement with Huffman is not supported\");\n    }\n\n    // Prepare bitmap\n    var bitmap = [];\n    var i, row;\n    for (i = 0; i < height; i++) {\n      row = new Uint8Array(width);\n      if (defaultPixelValue) {\n        for (var j = 0; j < width; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n      bitmap.push(row);\n    }\n\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n\n    var stripT = huffman\n      ? -huffmanTables.tableDeltaT.decode(huffmanInput)\n      : -decodeInteger(contextCache, \"IADT\", decoder); // 6.4.6\n    var firstS = 0;\n    i = 0;\n    while (i < numberOfSymbolInstances) {\n      var deltaT = huffman\n        ? huffmanTables.tableDeltaT.decode(huffmanInput)\n        : decodeInteger(contextCache, \"IADT\", decoder); // 6.4.6\n      stripT += deltaT;\n\n      var deltaFirstS = huffman\n        ? huffmanTables.tableFirstS.decode(huffmanInput)\n        : decodeInteger(contextCache, \"IAFS\", decoder); // 6.4.7\n      firstS += deltaFirstS;\n      var currentS = firstS;\n      do {\n        let currentT = 0; // 6.4.9\n        if (stripSize > 1) {\n          currentT = huffman\n            ? huffmanInput.readBits(logStripSize)\n            : decodeInteger(contextCache, \"IAIT\", decoder);\n        }\n        var t = stripSize * stripT + currentT;\n        var symbolId = huffman\n          ? huffmanTables.symbolIDTable.decode(huffmanInput)\n          : decodeIAID(contextCache, decoder, symbolCodeLength);\n        var applyRefinement =\n          refinement &&\n          (huffman\n            ? huffmanInput.readBit()\n            : decodeInteger(contextCache, \"IARI\", decoder));\n        var symbolBitmap = inputSymbols[symbolId];\n        var symbolWidth = symbolBitmap[0].length;\n        var symbolHeight = symbolBitmap.length;\n        if (applyRefinement) {\n          var rdw = decodeInteger(contextCache, \"IARDW\", decoder); // 6.4.11.1\n          var rdh = decodeInteger(contextCache, \"IARDH\", decoder); // 6.4.11.2\n          var rdx = decodeInteger(contextCache, \"IARDX\", decoder); // 6.4.11.3\n          var rdy = decodeInteger(contextCache, \"IARDY\", decoder); // 6.4.11.4\n          symbolWidth += rdw;\n          symbolHeight += rdh;\n          symbolBitmap = decodeRefinement(\n            symbolWidth,\n            symbolHeight,\n            refinementTemplateIndex,\n            symbolBitmap,\n            (rdw >> 1) + rdx,\n            (rdh >> 1) + rdy,\n            false,\n            refinementAt,\n            decodingContext\n          );\n        }\n        var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n        var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n        var s2, t2, symbolRow;\n        if (transposed) {\n          // Place Symbol Bitmap from T1,S1\n          for (s2 = 0; s2 < symbolHeight; s2++) {\n            row = bitmap[offsetS + s2];\n            if (!row) {\n              continue;\n            }\n            symbolRow = symbolBitmap[s2];\n            // To ignore Parts of Symbol bitmap which goes\n            // outside bitmap region\n            var maxWidth = Math.min(width - offsetT, symbolWidth);\n            switch (combinationOperator) {\n              case 0: // OR\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] |= symbolRow[t2];\n                }\n                break;\n              case 2: // XOR\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] ^= symbolRow[t2];\n                }\n                break;\n              default:\n                throw new Jbig2Error(\n                  `operator ${combinationOperator} is not supported`\n                );\n            }\n          }\n          currentS += symbolHeight - 1;\n        } else {\n          for (t2 = 0; t2 < symbolHeight; t2++) {\n            row = bitmap[offsetT + t2];\n            if (!row) {\n              continue;\n            }\n            symbolRow = symbolBitmap[t2];\n            switch (combinationOperator) {\n              case 0: // OR\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] |= symbolRow[s2];\n                }\n                break;\n              case 2: // XOR\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] ^= symbolRow[s2];\n                }\n                break;\n              default:\n                throw new Jbig2Error(\n                  `operator ${combinationOperator} is not supported`\n                );\n            }\n          }\n          currentS += symbolWidth - 1;\n        }\n        i++;\n        var deltaS = huffman\n          ? huffmanTables.tableDeltaS.decode(huffmanInput)\n          : decodeInteger(contextCache, \"IADS\", decoder); // 6.4.8\n        if (deltaS === null) {\n          break; // OOB\n        }\n        currentS += deltaS + dsOffset;\n      } while (true);\n    }\n    return bitmap;\n  }\n\n  function decodePatternDictionary(\n    mmr,\n    patternWidth,\n    patternHeight,\n    maxPatternIndex,\n    template,\n    decodingContext\n  ) {\n    const at = [];\n    if (!mmr) {\n      at.push({\n        x: -patternWidth,\n        y: 0,\n      });\n      if (template === 0) {\n        at.push({\n          x: -3,\n          y: -1,\n        });\n        at.push({\n          x: 2,\n          y: -2,\n        });\n        at.push({\n          x: -2,\n          y: -2,\n        });\n      }\n    }\n    const collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n    const collectiveBitmap = decodeBitmap(\n      mmr,\n      collectiveWidth,\n      patternHeight,\n      template,\n      false,\n      null,\n      at,\n      decodingContext\n    );\n    // Divide collective bitmap into patterns.\n    const patterns = [];\n    for (let i = 0; i <= maxPatternIndex; i++) {\n      const patternBitmap = [];\n      const xMin = patternWidth * i;\n      const xMax = xMin + patternWidth;\n      for (let y = 0; y < patternHeight; y++) {\n        patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n      }\n      patterns.push(patternBitmap);\n    }\n    return patterns;\n  }\n\n  function decodeHalftoneRegion(\n    mmr,\n    patterns,\n    template,\n    regionWidth,\n    regionHeight,\n    defaultPixelValue,\n    enableSkip,\n    combinationOperator,\n    gridWidth,\n    gridHeight,\n    gridOffsetX,\n    gridOffsetY,\n    gridVectorX,\n    gridVectorY,\n    decodingContext\n  ) {\n    const skip = null;\n    if (enableSkip) {\n      throw new Jbig2Error(\"skip is not supported\");\n    }\n    if (combinationOperator !== 0) {\n      throw new Jbig2Error(\n        \"operator \" +\n          combinationOperator +\n          \" is not supported in halftone region\"\n      );\n    }\n\n    // Prepare bitmap.\n    const regionBitmap = [];\n    let i, j, row;\n    for (i = 0; i < regionHeight; i++) {\n      row = new Uint8Array(regionWidth);\n      if (defaultPixelValue) {\n        for (j = 0; j < regionWidth; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n      regionBitmap.push(row);\n    }\n\n    const numberOfPatterns = patterns.length;\n    const pattern0 = patterns[0];\n    const patternWidth = pattern0[0].length,\n      patternHeight = pattern0.length;\n    const bitsPerValue = log2(numberOfPatterns);\n    const at = [];\n    if (!mmr) {\n      at.push({\n        x: template <= 1 ? 3 : 2,\n        y: -1,\n      });\n      if (template === 0) {\n        at.push({\n          x: -3,\n          y: -1,\n        });\n        at.push({\n          x: 2,\n          y: -2,\n        });\n        at.push({\n          x: -2,\n          y: -2,\n        });\n      }\n    }\n    // Annex C. Gray-scale Image Decoding Procedure.\n    const grayScaleBitPlanes = [];\n    let mmrInput, bitmap;\n    if (mmr) {\n      // MMR bit planes are in one continuous stream. Only EOFB codes indicate\n      // the end of each bitmap, so EOFBs must be decoded.\n      mmrInput = new Reader(\n        decodingContext.data,\n        decodingContext.start,\n        decodingContext.end\n      );\n    }\n    for (i = bitsPerValue - 1; i >= 0; i--) {\n      if (mmr) {\n        bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n      } else {\n        bitmap = decodeBitmap(\n          false,\n          gridWidth,\n          gridHeight,\n          template,\n          false,\n          skip,\n          at,\n          decodingContext\n        );\n      }\n      grayScaleBitPlanes[i] = bitmap;\n    }\n    // 6.6.5.2 Rendering the patterns.\n    let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n    for (mg = 0; mg < gridHeight; mg++) {\n      for (ng = 0; ng < gridWidth; ng++) {\n        bit = 0;\n        patternIndex = 0;\n        for (j = bitsPerValue - 1; j >= 0; j--) {\n          bit = grayScaleBitPlanes[j][mg][ng] ^ bit; // Gray decoding\n          patternIndex |= bit << j;\n        }\n        patternBitmap = patterns[patternIndex];\n        x = (gridOffsetX + mg * gridVectorY + ng * gridVectorX) >> 8;\n        y = (gridOffsetY + mg * gridVectorX - ng * gridVectorY) >> 8;\n        // Draw patternBitmap at (x, y).\n        if (\n          x >= 0 &&\n          x + patternWidth <= regionWidth &&\n          y >= 0 &&\n          y + patternHeight <= regionHeight\n        ) {\n          for (i = 0; i < patternHeight; i++) {\n            regionRow = regionBitmap[y + i];\n            patternRow = patternBitmap[i];\n            for (j = 0; j < patternWidth; j++) {\n              regionRow[x + j] |= patternRow[j];\n            }\n          }\n        } else {\n          let regionX, regionY;\n          for (i = 0; i < patternHeight; i++) {\n            regionY = y + i;\n            if (regionY < 0 || regionY >= regionHeight) {\n              continue;\n            }\n            regionRow = regionBitmap[regionY];\n            patternRow = patternBitmap[i];\n            for (j = 0; j < patternWidth; j++) {\n              regionX = x + j;\n              if (regionX >= 0 && regionX < regionWidth) {\n                regionRow[regionX] |= patternRow[j];\n              }\n            }\n          }\n        }\n      }\n    }\n    return regionBitmap;\n  }\n\n  function readSegmentHeader(data, start) {\n    var segmentHeader = {};\n    segmentHeader.number = readUint32(data, start);\n    var flags = data[start + 4];\n    var segmentType = flags & 0x3f;\n    if (!SegmentTypes[segmentType]) {\n      throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n    }\n    segmentHeader.type = segmentType;\n    segmentHeader.typeName = SegmentTypes[segmentType];\n    segmentHeader.deferredNonRetain = !!(flags & 0x80);\n\n    var pageAssociationFieldSize = !!(flags & 0x40);\n    var referredFlags = data[start + 5];\n    var referredToCount = (referredFlags >> 5) & 7;\n    var retainBits = [referredFlags & 31];\n    var position = start + 6;\n    if (referredFlags === 7) {\n      referredToCount = readUint32(data, position - 1) & 0x1fffffff;\n      position += 3;\n      var bytes = (referredToCount + 7) >> 3;\n      retainBits[0] = data[position++];\n      while (--bytes > 0) {\n        retainBits.push(data[position++]);\n      }\n    } else if (referredFlags === 5 || referredFlags === 6) {\n      throw new Jbig2Error(\"invalid referred-to flags\");\n    }\n\n    segmentHeader.retainBits = retainBits;\n\n    let referredToSegmentNumberSize = 4;\n    if (segmentHeader.number <= 256) {\n      referredToSegmentNumberSize = 1;\n    } else if (segmentHeader.number <= 65536) {\n      referredToSegmentNumberSize = 2;\n    }\n    var referredTo = [];\n    var i, ii;\n    for (i = 0; i < referredToCount; i++) {\n      let number;\n      if (referredToSegmentNumberSize === 1) {\n        number = data[position];\n      } else if (referredToSegmentNumberSize === 2) {\n        number = readUint16(data, position);\n      } else {\n        number = readUint32(data, position);\n      }\n      referredTo.push(number);\n      position += referredToSegmentNumberSize;\n    }\n    segmentHeader.referredTo = referredTo;\n    if (!pageAssociationFieldSize) {\n      segmentHeader.pageAssociation = data[position++];\n    } else {\n      segmentHeader.pageAssociation = readUint32(data, position);\n      position += 4;\n    }\n    segmentHeader.length = readUint32(data, position);\n    position += 4;\n\n    if (segmentHeader.length === 0xffffffff) {\n      // 7.2.7 Segment data length, unknown segment length\n      if (segmentType === 38) {\n        // ImmediateGenericRegion\n        var genericRegionInfo = readRegionSegmentInformation(data, position);\n        var genericRegionSegmentFlags =\n          data[position + RegionSegmentInformationFieldLength];\n        var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n        // searching for the segment end\n        var searchPatternLength = 6;\n        var searchPattern = new Uint8Array(searchPatternLength);\n        if (!genericRegionMmr) {\n          searchPattern[0] = 0xff;\n          searchPattern[1] = 0xac;\n        }\n        searchPattern[2] = (genericRegionInfo.height >>> 24) & 0xff;\n        searchPattern[3] = (genericRegionInfo.height >> 16) & 0xff;\n        searchPattern[4] = (genericRegionInfo.height >> 8) & 0xff;\n        searchPattern[5] = genericRegionInfo.height & 0xff;\n        for (i = position, ii = data.length; i < ii; i++) {\n          var j = 0;\n          while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n            j++;\n          }\n          if (j === searchPatternLength) {\n            segmentHeader.length = i + searchPatternLength;\n            break;\n          }\n        }\n        if (segmentHeader.length === 0xffffffff) {\n          throw new Jbig2Error(\"segment end was not found\");\n        }\n      } else {\n        throw new Jbig2Error(\"invalid unknown segment length\");\n      }\n    }\n    segmentHeader.headerEnd = position;\n    return segmentHeader;\n  }\n\n  function readSegments(header, data, start, end) {\n    var segments = [];\n    var position = start;\n    while (position < end) {\n      var segmentHeader = readSegmentHeader(data, position);\n      position = segmentHeader.headerEnd;\n      var segment = {\n        header: segmentHeader,\n        data,\n      };\n      if (!header.randomAccess) {\n        segment.start = position;\n        position += segmentHeader.length;\n        segment.end = position;\n      }\n      segments.push(segment);\n      if (segmentHeader.type === 51) {\n        break; // end of file is found\n      }\n    }\n    if (header.randomAccess) {\n      for (var i = 0, ii = segments.length; i < ii; i++) {\n        segments[i].start = position;\n        position += segments[i].header.length;\n        segments[i].end = position;\n      }\n    }\n    return segments;\n  }\n\n  // 7.4.1 Region segment information field\n  function readRegionSegmentInformation(data, start) {\n    return {\n      width: readUint32(data, start),\n      height: readUint32(data, start + 4),\n      x: readUint32(data, start + 8),\n      y: readUint32(data, start + 12),\n      combinationOperator: data[start + 16] & 7,\n    };\n  }\n  var RegionSegmentInformationFieldLength = 17;\n\n  function processSegment(segment, visitor) {\n    var header = segment.header;\n\n    var data = segment.data,\n      position = segment.start,\n      end = segment.end;\n    var args, at, i, atLength;\n    switch (header.type) {\n      case 0: // SymbolDictionary\n        // 7.4.2 Symbol dictionary segment syntax\n        var dictionary = {};\n        var dictionaryFlags = readUint16(data, position); // 7.4.2.1.1\n        dictionary.huffman = !!(dictionaryFlags & 1);\n        dictionary.refinement = !!(dictionaryFlags & 2);\n        dictionary.huffmanDHSelector = (dictionaryFlags >> 2) & 3;\n        dictionary.huffmanDWSelector = (dictionaryFlags >> 4) & 3;\n        dictionary.bitmapSizeSelector = (dictionaryFlags >> 6) & 1;\n        dictionary.aggregationInstancesSelector = (dictionaryFlags >> 7) & 1;\n        dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n        dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n        dictionary.template = (dictionaryFlags >> 10) & 3;\n        dictionary.refinementTemplate = (dictionaryFlags >> 12) & 1;\n        position += 2;\n        if (!dictionary.huffman) {\n          atLength = dictionary.template === 0 ? 4 : 1;\n          at = [];\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: readInt8(data, position),\n              y: readInt8(data, position + 1),\n            });\n            position += 2;\n          }\n          dictionary.at = at;\n        }\n        if (dictionary.refinement && !dictionary.refinementTemplate) {\n          at = [];\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: readInt8(data, position),\n              y: readInt8(data, position + 1),\n            });\n            position += 2;\n          }\n          dictionary.refinementAt = at;\n        }\n        dictionary.numberOfExportedSymbols = readUint32(data, position);\n        position += 4;\n        dictionary.numberOfNewSymbols = readUint32(data, position);\n        position += 4;\n        args = [\n          dictionary,\n          header.number,\n          header.referredTo,\n          data,\n          position,\n          end,\n        ];\n        break;\n      case 6: // ImmediateTextRegion\n      case 7: // ImmediateLosslessTextRegion\n        var textRegion = {};\n        textRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var textRegionSegmentFlags = readUint16(data, position);\n        position += 2;\n        textRegion.huffman = !!(textRegionSegmentFlags & 1);\n        textRegion.refinement = !!(textRegionSegmentFlags & 2);\n        textRegion.logStripSize = (textRegionSegmentFlags >> 2) & 3;\n        textRegion.stripSize = 1 << textRegion.logStripSize;\n        textRegion.referenceCorner = (textRegionSegmentFlags >> 4) & 3;\n        textRegion.transposed = !!(textRegionSegmentFlags & 64);\n        textRegion.combinationOperator = (textRegionSegmentFlags >> 7) & 3;\n        textRegion.defaultPixelValue = (textRegionSegmentFlags >> 9) & 1;\n        textRegion.dsOffset = (textRegionSegmentFlags << 17) >> 27;\n        textRegion.refinementTemplate = (textRegionSegmentFlags >> 15) & 1;\n        if (textRegion.huffman) {\n          var textRegionHuffmanFlags = readUint16(data, position);\n          position += 2;\n          textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n          textRegion.huffmanDS = (textRegionHuffmanFlags >> 2) & 3;\n          textRegion.huffmanDT = (textRegionHuffmanFlags >> 4) & 3;\n          textRegion.huffmanRefinementDW = (textRegionHuffmanFlags >> 6) & 3;\n          textRegion.huffmanRefinementDH = (textRegionHuffmanFlags >> 8) & 3;\n          textRegion.huffmanRefinementDX = (textRegionHuffmanFlags >> 10) & 3;\n          textRegion.huffmanRefinementDY = (textRegionHuffmanFlags >> 12) & 3;\n          textRegion.huffmanRefinementSizeSelector = !!(\n            textRegionHuffmanFlags & 0x4000\n          );\n        }\n        if (textRegion.refinement && !textRegion.refinementTemplate) {\n          at = [];\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: readInt8(data, position),\n              y: readInt8(data, position + 1),\n            });\n            position += 2;\n          }\n          textRegion.refinementAt = at;\n        }\n        textRegion.numberOfSymbolInstances = readUint32(data, position);\n        position += 4;\n        args = [textRegion, header.referredTo, data, position, end];\n        break;\n      case 16: // PatternDictionary\n        // 7.4.4. Pattern dictionary segment syntax\n        const patternDictionary = {};\n        const patternDictionaryFlags = data[position++];\n        patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n        patternDictionary.template = (patternDictionaryFlags >> 1) & 3;\n        patternDictionary.patternWidth = data[position++];\n        patternDictionary.patternHeight = data[position++];\n        patternDictionary.maxPatternIndex = readUint32(data, position);\n        position += 4;\n        args = [patternDictionary, header.number, data, position, end];\n        break;\n      case 22: // ImmediateHalftoneRegion\n      case 23: // ImmediateLosslessHalftoneRegion\n        // 7.4.5 Halftone region segment syntax\n        const halftoneRegion = {};\n        halftoneRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        const halftoneRegionFlags = data[position++];\n        halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n        halftoneRegion.template = (halftoneRegionFlags >> 1) & 3;\n        halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n        halftoneRegion.combinationOperator = (halftoneRegionFlags >> 4) & 7;\n        halftoneRegion.defaultPixelValue = (halftoneRegionFlags >> 7) & 1;\n        halftoneRegion.gridWidth = readUint32(data, position);\n        position += 4;\n        halftoneRegion.gridHeight = readUint32(data, position);\n        position += 4;\n        halftoneRegion.gridOffsetX = readUint32(data, position) & 0xffffffff;\n        position += 4;\n        halftoneRegion.gridOffsetY = readUint32(data, position) & 0xffffffff;\n        position += 4;\n        halftoneRegion.gridVectorX = readUint16(data, position);\n        position += 2;\n        halftoneRegion.gridVectorY = readUint16(data, position);\n        position += 2;\n        args = [halftoneRegion, header.referredTo, data, position, end];\n        break;\n      case 38: // ImmediateGenericRegion\n      case 39: // ImmediateLosslessGenericRegion\n        var genericRegion = {};\n        genericRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var genericRegionSegmentFlags = data[position++];\n        genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n        genericRegion.template = (genericRegionSegmentFlags >> 1) & 3;\n        genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n        if (!genericRegion.mmr) {\n          atLength = genericRegion.template === 0 ? 4 : 1;\n          at = [];\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: readInt8(data, position),\n              y: readInt8(data, position + 1),\n            });\n            position += 2;\n          }\n          genericRegion.at = at;\n        }\n        args = [genericRegion, data, position, end];\n        break;\n      case 48: // PageInformation\n        var pageInfo = {\n          width: readUint32(data, position),\n          height: readUint32(data, position + 4),\n          resolutionX: readUint32(data, position + 8),\n          resolutionY: readUint32(data, position + 12),\n        };\n        if (pageInfo.height === 0xffffffff) {\n          delete pageInfo.height;\n        }\n        var pageSegmentFlags = data[position + 16];\n        readUint16(data, position + 17); // pageStripingInformation\n        pageInfo.lossless = !!(pageSegmentFlags & 1);\n        pageInfo.refinement = !!(pageSegmentFlags & 2);\n        pageInfo.defaultPixelValue = (pageSegmentFlags >> 2) & 1;\n        pageInfo.combinationOperator = (pageSegmentFlags >> 3) & 3;\n        pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n        pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n        args = [pageInfo];\n        break;\n      case 49: // EndOfPage\n        break;\n      case 50: // EndOfStripe\n        break;\n      case 51: // EndOfFile\n        break;\n      case 53: // Tables\n        args = [header.number, data, position, end];\n        break;\n      case 62: // 7.4.15 defines 2 extension types which\n        // are comments and can be ignored.\n        break;\n      default:\n        throw new Jbig2Error(\n          `segment type ${header.typeName}(${header.type})` +\n            \" is not implemented\"\n        );\n    }\n    var callbackName = \"on\" + header.typeName;\n    if (callbackName in visitor) {\n      visitor[callbackName].apply(visitor, args);\n    }\n  }\n\n  function processSegments(segments, visitor) {\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      processSegment(segments[i], visitor);\n    }\n  }\n\n  function parseJbig2Chunks(chunks) {\n    var visitor = new SimpleSegmentVisitor();\n    for (var i = 0, ii = chunks.length; i < ii; i++) {\n      var chunk = chunks[i];\n      var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n      processSegments(segments, visitor);\n    }\n    return visitor.buffer;\n  }\n\n  function parseJbig2(data) {\n    const end = data.length;\n    let position = 0;\n\n    if (\n      data[position] !== 0x97 ||\n      data[position + 1] !== 0x4a ||\n      data[position + 2] !== 0x42 ||\n      data[position + 3] !== 0x32 ||\n      data[position + 4] !== 0x0d ||\n      data[position + 5] !== 0x0a ||\n      data[position + 6] !== 0x1a ||\n      data[position + 7] !== 0x0a\n    ) {\n      throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n    }\n\n    const header = Object.create(null);\n    position += 8;\n    const flags = data[position++];\n    header.randomAccess = !(flags & 1);\n    if (!(flags & 2)) {\n      header.numberOfPages = readUint32(data, position);\n      position += 4;\n    }\n\n    const segments = readSegments(header, data, position, end);\n    const visitor = new SimpleSegmentVisitor();\n    processSegments(segments, visitor);\n\n    const { width, height } = visitor.currentPageInfo;\n    const bitPacked = visitor.buffer;\n    const imgData = new Uint8ClampedArray(width * height);\n    let q = 0,\n      k = 0;\n    for (let i = 0; i < height; i++) {\n      let mask = 0,\n        buffer;\n      for (let j = 0; j < width; j++) {\n        if (!mask) {\n          mask = 128;\n          buffer = bitPacked[k++];\n        }\n        imgData[q++] = buffer & mask ? 0 : 255;\n        mask >>= 1;\n      }\n    }\n\n    return { imgData, width, height };\n  }\n\n  function SimpleSegmentVisitor() {}\n\n  SimpleSegmentVisitor.prototype = {\n    onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n      this.currentPageInfo = info;\n      var rowSize = (info.width + 7) >> 3;\n      var buffer = new Uint8ClampedArray(rowSize * info.height);\n      // The contents of ArrayBuffers are initialized to 0.\n      // Fill the buffer with 0xFF only if info.defaultPixelValue is set\n      if (info.defaultPixelValue) {\n        for (var i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = 0xff;\n        }\n      }\n      this.buffer = buffer;\n    },\n    drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n      var pageInfo = this.currentPageInfo;\n      var width = regionInfo.width,\n        height = regionInfo.height;\n      var rowSize = (pageInfo.width + 7) >> 3;\n      var combinationOperator = pageInfo.combinationOperatorOverride\n        ? regionInfo.combinationOperator\n        : pageInfo.combinationOperator;\n      var buffer = this.buffer;\n      var mask0 = 128 >> (regionInfo.x & 7);\n      var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n      var i, j, mask, offset;\n      switch (combinationOperator) {\n        case 0: // OR\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] |= mask;\n              }\n              mask >>= 1;\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n            offset0 += rowSize;\n          }\n          break;\n        case 2: // XOR\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] ^= mask;\n              }\n              mask >>= 1;\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n            offset0 += rowSize;\n          }\n          break;\n        default:\n          throw new Jbig2Error(\n            `operator ${combinationOperator} is not supported`\n          );\n      }\n    },\n    onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(\n      region,\n      data,\n      start,\n      end\n    ) {\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeBitmap(\n        region.mmr,\n        regionInfo.width,\n        regionInfo.height,\n        region.template,\n        region.prediction,\n        null,\n        region.at,\n        decodingContext\n      );\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n      this.onImmediateGenericRegion.apply(this, arguments);\n    },\n    onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(\n      dictionary,\n      currentSegment,\n      referredSegments,\n      data,\n      start,\n      end\n    ) {\n      let huffmanTables, huffmanInput;\n      if (dictionary.huffman) {\n        huffmanTables = getSymbolDictionaryHuffmanTables(\n          dictionary,\n          referredSegments,\n          this.customTables\n        );\n        huffmanInput = new Reader(data, start, end);\n      }\n\n      // Combines exported symbols from all referred segments\n      var symbols = this.symbols;\n      if (!symbols) {\n        this.symbols = symbols = {};\n      }\n\n      var inputSymbols = [];\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        const referredSymbols = symbols[referredSegments[i]];\n        // referredSymbols is undefined when we have a reference to a Tables\n        // segment instead of a SymbolDictionary.\n        if (referredSymbols) {\n          inputSymbols = inputSymbols.concat(referredSymbols);\n        }\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      symbols[currentSegment] = decodeSymbolDictionary(\n        dictionary.huffman,\n        dictionary.refinement,\n        inputSymbols,\n        dictionary.numberOfNewSymbols,\n        dictionary.numberOfExportedSymbols,\n        huffmanTables,\n        dictionary.template,\n        dictionary.at,\n        dictionary.refinementTemplate,\n        dictionary.refinementAt,\n        decodingContext,\n        huffmanInput\n      );\n    },\n    onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(\n      region,\n      referredSegments,\n      data,\n      start,\n      end\n    ) {\n      var regionInfo = region.info;\n      let huffmanTables, huffmanInput;\n\n      // Combines exported symbols from all referred segments\n      var symbols = this.symbols;\n      var inputSymbols = [];\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        const referredSymbols = symbols[referredSegments[i]];\n        // referredSymbols is undefined when we have a reference to a Tables\n        // segment instead of a SymbolDictionary.\n        if (referredSymbols) {\n          inputSymbols = inputSymbols.concat(referredSymbols);\n        }\n      }\n      var symbolCodeLength = log2(inputSymbols.length);\n      if (region.huffman) {\n        huffmanInput = new Reader(data, start, end);\n        huffmanTables = getTextRegionHuffmanTables(\n          region,\n          referredSegments,\n          this.customTables,\n          inputSymbols.length,\n          huffmanInput\n        );\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeTextRegion(\n        region.huffman,\n        region.refinement,\n        regionInfo.width,\n        regionInfo.height,\n        region.defaultPixelValue,\n        region.numberOfSymbolInstances,\n        region.stripSize,\n        inputSymbols,\n        symbolCodeLength,\n        region.transposed,\n        region.dsOffset,\n        region.referenceCorner,\n        region.combinationOperator,\n        huffmanTables,\n        region.refinementTemplate,\n        region.refinementAt,\n        decodingContext,\n        region.logStripSize,\n        huffmanInput\n      );\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n      this.onImmediateTextRegion.apply(this, arguments);\n    },\n    onPatternDictionary(dictionary, currentSegment, data, start, end) {\n      let patterns = this.patterns;\n      if (!patterns) {\n        this.patterns = patterns = {};\n      }\n      const decodingContext = new DecodingContext(data, start, end);\n      patterns[currentSegment] = decodePatternDictionary(\n        dictionary.mmr,\n        dictionary.patternWidth,\n        dictionary.patternHeight,\n        dictionary.maxPatternIndex,\n        dictionary.template,\n        decodingContext\n      );\n    },\n    onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n      // HalftoneRegion refers to exactly one PatternDictionary.\n      const patterns = this.patterns[referredSegments[0]];\n      const regionInfo = region.info;\n      const decodingContext = new DecodingContext(data, start, end);\n      const bitmap = decodeHalftoneRegion(\n        region.mmr,\n        patterns,\n        region.template,\n        regionInfo.width,\n        regionInfo.height,\n        region.defaultPixelValue,\n        region.enableSkip,\n        region.combinationOperator,\n        region.gridWidth,\n        region.gridHeight,\n        region.gridOffsetX,\n        region.gridOffsetY,\n        region.gridVectorX,\n        region.gridVectorY,\n        decodingContext\n      );\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessHalftoneRegion() {\n      this.onImmediateHalftoneRegion.apply(this, arguments);\n    },\n    onTables(currentSegment, data, start, end) {\n      let customTables = this.customTables;\n      if (!customTables) {\n        this.customTables = customTables = {};\n      }\n      customTables[currentSegment] = decodeTablesSegment(data, start, end);\n    },\n  };\n\n  function HuffmanLine(lineData) {\n    if (lineData.length === 2) {\n      // OOB line.\n      this.isOOB = true;\n      this.rangeLow = 0;\n      this.prefixLength = lineData[0];\n      this.rangeLength = 0;\n      this.prefixCode = lineData[1];\n      this.isLowerRange = false;\n    } else {\n      // Normal, upper range or lower range line.\n      // Upper range lines are processed like normal lines.\n      this.isOOB = false;\n      this.rangeLow = lineData[0];\n      this.prefixLength = lineData[1];\n      this.rangeLength = lineData[2];\n      this.prefixCode = lineData[3];\n      this.isLowerRange = lineData[4] === \"lower\";\n    }\n  }\n\n  function HuffmanTreeNode(line) {\n    this.children = [];\n    if (line) {\n      // Leaf node\n      this.isLeaf = true;\n      this.rangeLength = line.rangeLength;\n      this.rangeLow = line.rangeLow;\n      this.isLowerRange = line.isLowerRange;\n      this.isOOB = line.isOOB;\n    } else {\n      // Intermediate or root node\n      this.isLeaf = false;\n    }\n  }\n\n  HuffmanTreeNode.prototype = {\n    buildTree(line, shift) {\n      const bit = (line.prefixCode >> shift) & 1;\n      if (shift <= 0) {\n        // Create a leaf node.\n        this.children[bit] = new HuffmanTreeNode(line);\n      } else {\n        // Create an intermediate node and continue recursively.\n        let node = this.children[bit];\n        if (!node) {\n          this.children[bit] = node = new HuffmanTreeNode(null);\n        }\n        node.buildTree(line, shift - 1);\n      }\n    },\n    decodeNode(reader) {\n      if (this.isLeaf) {\n        if (this.isOOB) {\n          return null;\n        }\n        const htOffset = reader.readBits(this.rangeLength);\n        return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n      }\n      const node = this.children[reader.readBit()];\n      if (!node) {\n        throw new Jbig2Error(\"invalid Huffman data\");\n      }\n      return node.decodeNode(reader);\n    },\n  };\n\n  function HuffmanTable(lines, prefixCodesDone) {\n    if (!prefixCodesDone) {\n      this.assignPrefixCodes(lines);\n    }\n    // Create Huffman tree.\n    this.rootNode = new HuffmanTreeNode(null);\n    for (let i = 0, ii = lines.length; i < ii; i++) {\n      const line = lines[i];\n      if (line.prefixLength > 0) {\n        this.rootNode.buildTree(line, line.prefixLength - 1);\n      }\n    }\n  }\n\n  HuffmanTable.prototype = {\n    decode(reader) {\n      return this.rootNode.decodeNode(reader);\n    },\n    assignPrefixCodes(lines) {\n      // Annex B.3 Assigning the prefix codes.\n      const linesLength = lines.length;\n      let prefixLengthMax = 0;\n      for (let i = 0; i < linesLength; i++) {\n        prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n      }\n\n      const histogram = new Uint32Array(prefixLengthMax + 1);\n      for (let i = 0; i < linesLength; i++) {\n        histogram[lines[i].prefixLength]++;\n      }\n      let currentLength = 1,\n        firstCode = 0,\n        currentCode,\n        currentTemp,\n        line;\n      histogram[0] = 0;\n\n      while (currentLength <= prefixLengthMax) {\n        firstCode = (firstCode + histogram[currentLength - 1]) << 1;\n        currentCode = firstCode;\n        currentTemp = 0;\n        while (currentTemp < linesLength) {\n          line = lines[currentTemp];\n          if (line.prefixLength === currentLength) {\n            line.prefixCode = currentCode;\n            currentCode++;\n          }\n          currentTemp++;\n        }\n        currentLength++;\n      }\n    },\n  };\n\n  function decodeTablesSegment(data, start, end) {\n    // Decodes a Tables segment, i.e., a custom Huffman table.\n    // Annex B.2 Code table structure.\n    const flags = data[start];\n    const lowestValue = readUint32(data, start + 1) & 0xffffffff;\n    const highestValue = readUint32(data, start + 5) & 0xffffffff;\n    const reader = new Reader(data, start + 9, end);\n\n    const prefixSizeBits = ((flags >> 1) & 7) + 1;\n    const rangeSizeBits = ((flags >> 4) & 7) + 1;\n    const lines = [];\n    let prefixLength,\n      rangeLength,\n      currentRangeLow = lowestValue;\n\n    // Normal table lines\n    do {\n      prefixLength = reader.readBits(prefixSizeBits);\n      rangeLength = reader.readBits(rangeSizeBits);\n      lines.push(\n        new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0])\n      );\n      currentRangeLow += 1 << rangeLength;\n    } while (currentRangeLow < highestValue);\n\n    // Lower range table line\n    prefixLength = reader.readBits(prefixSizeBits);\n    lines.push(\n      new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"])\n    );\n\n    // Upper range table line\n    prefixLength = reader.readBits(prefixSizeBits);\n    lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n    if (flags & 1) {\n      // Out-of-band table line\n      prefixLength = reader.readBits(prefixSizeBits);\n      lines.push(new HuffmanLine([prefixLength, 0]));\n    }\n\n    return new HuffmanTable(lines, false);\n  }\n\n  const standardTablesCache = {};\n\n  function getStandardTable(number) {\n    // Annex B.5 Standard Huffman tables.\n    let table = standardTablesCache[number];\n    if (table) {\n      return table;\n    }\n    let lines;\n    switch (number) {\n      case 1:\n        lines = [\n          [0, 1, 4, 0x0],\n          [16, 2, 8, 0x2],\n          [272, 3, 16, 0x6],\n          [65808, 3, 32, 0x7], // upper\n        ];\n        break;\n      case 2:\n        lines = [\n          [0, 1, 0, 0x0],\n          [1, 2, 0, 0x2],\n          [2, 3, 0, 0x6],\n          [3, 4, 3, 0xe],\n          [11, 5, 6, 0x1e],\n          [75, 6, 32, 0x3e], // upper\n          [6, 0x3f], // OOB\n        ];\n        break;\n      case 3:\n        lines = [\n          [-256, 8, 8, 0xfe],\n          [0, 1, 0, 0x0],\n          [1, 2, 0, 0x2],\n          [2, 3, 0, 0x6],\n          [3, 4, 3, 0xe],\n          [11, 5, 6, 0x1e],\n          [-257, 8, 32, 0xff, \"lower\"],\n          [75, 7, 32, 0x7e], // upper\n          [6, 0x3e], // OOB\n        ];\n        break;\n      case 4:\n        lines = [\n          [1, 1, 0, 0x0],\n          [2, 2, 0, 0x2],\n          [3, 3, 0, 0x6],\n          [4, 4, 3, 0xe],\n          [12, 5, 6, 0x1e],\n          [76, 5, 32, 0x1f], // upper\n        ];\n        break;\n      case 5:\n        lines = [\n          [-255, 7, 8, 0x7e],\n          [1, 1, 0, 0x0],\n          [2, 2, 0, 0x2],\n          [3, 3, 0, 0x6],\n          [4, 4, 3, 0xe],\n          [12, 5, 6, 0x1e],\n          [-256, 7, 32, 0x7f, \"lower\"],\n          [76, 6, 32, 0x3e], // upper\n        ];\n        break;\n      case 6:\n        lines = [\n          [-2048, 5, 10, 0x1c],\n          [-1024, 4, 9, 0x8],\n          [-512, 4, 8, 0x9],\n          [-256, 4, 7, 0xa],\n          [-128, 5, 6, 0x1d],\n          [-64, 5, 5, 0x1e],\n          [-32, 4, 5, 0xb],\n          [0, 2, 7, 0x0],\n          [128, 3, 7, 0x2],\n          [256, 3, 8, 0x3],\n          [512, 4, 9, 0xc],\n          [1024, 4, 10, 0xd],\n          [-2049, 6, 32, 0x3e, \"lower\"],\n          [2048, 6, 32, 0x3f], // upper\n        ];\n        break;\n      case 7:\n        lines = [\n          [-1024, 4, 9, 0x8],\n          [-512, 3, 8, 0x0],\n          [-256, 4, 7, 0x9],\n          [-128, 5, 6, 0x1a],\n          [-64, 5, 5, 0x1b],\n          [-32, 4, 5, 0xa],\n          [0, 4, 5, 0xb],\n          [32, 5, 5, 0x1c],\n          [64, 5, 6, 0x1d],\n          [128, 4, 7, 0xc],\n          [256, 3, 8, 0x1],\n          [512, 3, 9, 0x2],\n          [1024, 3, 10, 0x3],\n          [-1025, 5, 32, 0x1e, \"lower\"],\n          [2048, 5, 32, 0x1f], // upper\n        ];\n        break;\n      case 8:\n        lines = [\n          [-15, 8, 3, 0xfc],\n          [-7, 9, 1, 0x1fc],\n          [-5, 8, 1, 0xfd],\n          [-3, 9, 0, 0x1fd],\n          [-2, 7, 0, 0x7c],\n          [-1, 4, 0, 0xa],\n          [0, 2, 1, 0x0],\n          [2, 5, 0, 0x1a],\n          [3, 6, 0, 0x3a],\n          [4, 3, 4, 0x4],\n          [20, 6, 1, 0x3b],\n          [22, 4, 4, 0xb],\n          [38, 4, 5, 0xc],\n          [70, 5, 6, 0x1b],\n          [134, 5, 7, 0x1c],\n          [262, 6, 7, 0x3c],\n          [390, 7, 8, 0x7d],\n          [646, 6, 10, 0x3d],\n          [-16, 9, 32, 0x1fe, \"lower\"],\n          [1670, 9, 32, 0x1ff], // upper\n          [2, 0x1], // OOB\n        ];\n        break;\n      case 9:\n        lines = [\n          [-31, 8, 4, 0xfc],\n          [-15, 9, 2, 0x1fc],\n          [-11, 8, 2, 0xfd],\n          [-7, 9, 1, 0x1fd],\n          [-5, 7, 1, 0x7c],\n          [-3, 4, 1, 0xa],\n          [-1, 3, 1, 0x2],\n          [1, 3, 1, 0x3],\n          [3, 5, 1, 0x1a],\n          [5, 6, 1, 0x3a],\n          [7, 3, 5, 0x4],\n          [39, 6, 2, 0x3b],\n          [43, 4, 5, 0xb],\n          [75, 4, 6, 0xc],\n          [139, 5, 7, 0x1b],\n          [267, 5, 8, 0x1c],\n          [523, 6, 8, 0x3c],\n          [779, 7, 9, 0x7d],\n          [1291, 6, 11, 0x3d],\n          [-32, 9, 32, 0x1fe, \"lower\"],\n          [3339, 9, 32, 0x1ff], // upper\n          [2, 0x0], // OOB\n        ];\n        break;\n      case 10:\n        lines = [\n          [-21, 7, 4, 0x7a],\n          [-5, 8, 0, 0xfc],\n          [-4, 7, 0, 0x7b],\n          [-3, 5, 0, 0x18],\n          [-2, 2, 2, 0x0],\n          [2, 5, 0, 0x19],\n          [3, 6, 0, 0x36],\n          [4, 7, 0, 0x7c],\n          [5, 8, 0, 0xfd],\n          [6, 2, 6, 0x1],\n          [70, 5, 5, 0x1a],\n          [102, 6, 5, 0x37],\n          [134, 6, 6, 0x38],\n          [198, 6, 7, 0x39],\n          [326, 6, 8, 0x3a],\n          [582, 6, 9, 0x3b],\n          [1094, 6, 10, 0x3c],\n          [2118, 7, 11, 0x7d],\n          [-22, 8, 32, 0xfe, \"lower\"],\n          [4166, 8, 32, 0xff], // upper\n          [2, 0x2], // OOB\n        ];\n        break;\n      case 11:\n        lines = [\n          [1, 1, 0, 0x0],\n          [2, 2, 1, 0x2],\n          [4, 4, 0, 0xc],\n          [5, 4, 1, 0xd],\n          [7, 5, 1, 0x1c],\n          [9, 5, 2, 0x1d],\n          [13, 6, 2, 0x3c],\n          [17, 7, 2, 0x7a],\n          [21, 7, 3, 0x7b],\n          [29, 7, 4, 0x7c],\n          [45, 7, 5, 0x7d],\n          [77, 7, 6, 0x7e],\n          [141, 7, 32, 0x7f], // upper\n        ];\n        break;\n      case 12:\n        lines = [\n          [1, 1, 0, 0x0],\n          [2, 2, 0, 0x2],\n          [3, 3, 1, 0x6],\n          [5, 5, 0, 0x1c],\n          [6, 5, 1, 0x1d],\n          [8, 6, 1, 0x3c],\n          [10, 7, 0, 0x7a],\n          [11, 7, 1, 0x7b],\n          [13, 7, 2, 0x7c],\n          [17, 7, 3, 0x7d],\n          [25, 7, 4, 0x7e],\n          [41, 8, 5, 0xfe],\n          [73, 8, 32, 0xff], // upper\n        ];\n        break;\n      case 13:\n        lines = [\n          [1, 1, 0, 0x0],\n          [2, 3, 0, 0x4],\n          [3, 4, 0, 0xc],\n          [4, 5, 0, 0x1c],\n          [5, 4, 1, 0xd],\n          [7, 3, 3, 0x5],\n          [15, 6, 1, 0x3a],\n          [17, 6, 2, 0x3b],\n          [21, 6, 3, 0x3c],\n          [29, 6, 4, 0x3d],\n          [45, 6, 5, 0x3e],\n          [77, 7, 6, 0x7e],\n          [141, 7, 32, 0x7f], // upper\n        ];\n        break;\n      case 14:\n        lines = [\n          [-2, 3, 0, 0x4],\n          [-1, 3, 0, 0x5],\n          [0, 1, 0, 0x0],\n          [1, 3, 0, 0x6],\n          [2, 3, 0, 0x7],\n        ];\n        break;\n      case 15:\n        lines = [\n          [-24, 7, 4, 0x7c],\n          [-8, 6, 2, 0x3c],\n          [-4, 5, 1, 0x1c],\n          [-2, 4, 0, 0xc],\n          [-1, 3, 0, 0x4],\n          [0, 1, 0, 0x0],\n          [1, 3, 0, 0x5],\n          [2, 4, 0, 0xd],\n          [3, 5, 1, 0x1d],\n          [5, 6, 2, 0x3d],\n          [9, 7, 4, 0x7d],\n          [-25, 7, 32, 0x7e, \"lower\"],\n          [25, 7, 32, 0x7f], // upper\n        ];\n        break;\n      default:\n        throw new Jbig2Error(`standard table B.${number} does not exist`);\n    }\n\n    for (let i = 0, ii = lines.length; i < ii; i++) {\n      lines[i] = new HuffmanLine(lines[i]);\n    }\n    table = new HuffmanTable(lines, true);\n    standardTablesCache[number] = table;\n    return table;\n  }\n\n  function Reader(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n    this.position = start;\n    this.shift = -1;\n    this.currentByte = 0;\n  }\n\n  Reader.prototype = {\n    readBit() {\n      if (this.shift < 0) {\n        if (this.position >= this.end) {\n          throw new Jbig2Error(\"end of data while reading bit\");\n        }\n        this.currentByte = this.data[this.position++];\n        this.shift = 7;\n      }\n      const bit = (this.currentByte >> this.shift) & 1;\n      this.shift--;\n      return bit;\n    },\n\n    readBits(numBits) {\n      let result = 0,\n        i;\n      for (i = numBits - 1; i >= 0; i--) {\n        result |= this.readBit() << i;\n      }\n      return result;\n    },\n\n    byteAlign() {\n      this.shift = -1;\n    },\n\n    next() {\n      if (this.position >= this.end) {\n        return -1;\n      }\n      return this.data[this.position++];\n    },\n  };\n\n  function getCustomHuffmanTable(index, referredTo, customTables) {\n    // Returns a Tables segment that has been earlier decoded.\n    // See 7.4.2.1.6 (symbol dictionary) or 7.4.3.1.6 (text region).\n    let currentIndex = 0;\n    for (let i = 0, ii = referredTo.length; i < ii; i++) {\n      const table = customTables[referredTo[i]];\n      if (table) {\n        if (index === currentIndex) {\n          return table;\n        }\n        currentIndex++;\n      }\n    }\n    throw new Jbig2Error(\"can't find custom Huffman table\");\n  }\n\n  function getTextRegionHuffmanTables(\n    textRegion,\n    referredTo,\n    customTables,\n    numberOfSymbols,\n    reader\n  ) {\n    // 7.4.3.1.7 Symbol ID Huffman table decoding\n\n    // Read code lengths for RUNCODEs 0...34.\n    const codes = [];\n    for (let i = 0; i <= 34; i++) {\n      const codeLength = reader.readBits(4);\n      codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n    }\n    // Assign Huffman codes for RUNCODEs.\n    const runCodesTable = new HuffmanTable(codes, false);\n\n    // Read a Huffman code using the assignment above.\n    // Interpret the RUNCODE codes and the additional bits (if any).\n    codes.length = 0;\n    for (let i = 0; i < numberOfSymbols; ) {\n      const codeLength = runCodesTable.decode(reader);\n      if (codeLength >= 32) {\n        let repeatedLength, numberOfRepeats, j;\n        switch (codeLength) {\n          case 32:\n            if (i === 0) {\n              throw new Jbig2Error(\"no previous value in symbol ID table\");\n            }\n            numberOfRepeats = reader.readBits(2) + 3;\n            repeatedLength = codes[i - 1].prefixLength;\n            break;\n          case 33:\n            numberOfRepeats = reader.readBits(3) + 3;\n            repeatedLength = 0;\n            break;\n          case 34:\n            numberOfRepeats = reader.readBits(7) + 11;\n            repeatedLength = 0;\n            break;\n          default:\n            throw new Jbig2Error(\"invalid code length in symbol ID table\");\n        }\n        for (j = 0; j < numberOfRepeats; j++) {\n          codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n          i++;\n        }\n      } else {\n        codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n        i++;\n      }\n    }\n    reader.byteAlign();\n    const symbolIDTable = new HuffmanTable(codes, false);\n\n    // 7.4.3.1.6 Text region segment Huffman table selection\n\n    let customIndex = 0,\n      tableFirstS,\n      tableDeltaS,\n      tableDeltaT;\n\n    switch (textRegion.huffmanFS) {\n      case 0:\n      case 1:\n        tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n        break;\n      case 3:\n        tableFirstS = getCustomHuffmanTable(\n          customIndex,\n          referredTo,\n          customTables\n        );\n        customIndex++;\n        break;\n      default:\n        throw new Jbig2Error(\"invalid Huffman FS selector\");\n    }\n\n    switch (textRegion.huffmanDS) {\n      case 0:\n      case 1:\n      case 2:\n        tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n        break;\n      case 3:\n        tableDeltaS = getCustomHuffmanTable(\n          customIndex,\n          referredTo,\n          customTables\n        );\n        customIndex++;\n        break;\n      default:\n        throw new Jbig2Error(\"invalid Huffman DS selector\");\n    }\n\n    switch (textRegion.huffmanDT) {\n      case 0:\n      case 1:\n      case 2:\n        tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n        break;\n      case 3:\n        tableDeltaT = getCustomHuffmanTable(\n          customIndex,\n          referredTo,\n          customTables\n        );\n        customIndex++;\n        break;\n      default:\n        throw new Jbig2Error(\"invalid Huffman DT selector\");\n    }\n\n    if (textRegion.refinement) {\n      // Load tables RDW, RDH, RDX and RDY.\n      throw new Jbig2Error(\"refinement with Huffman is not supported\");\n    }\n\n    return {\n      symbolIDTable,\n      tableFirstS,\n      tableDeltaS,\n      tableDeltaT,\n    };\n  }\n\n  function getSymbolDictionaryHuffmanTables(\n    dictionary,\n    referredTo,\n    customTables\n  ) {\n    // 7.4.2.1.6 Symbol dictionary segment Huffman table selection\n\n    let customIndex = 0,\n      tableDeltaHeight,\n      tableDeltaWidth;\n    switch (dictionary.huffmanDHSelector) {\n      case 0:\n      case 1:\n        tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n        break;\n      case 3:\n        tableDeltaHeight = getCustomHuffmanTable(\n          customIndex,\n          referredTo,\n          customTables\n        );\n        customIndex++;\n        break;\n      default:\n        throw new Jbig2Error(\"invalid Huffman DH selector\");\n    }\n\n    switch (dictionary.huffmanDWSelector) {\n      case 0:\n      case 1:\n        tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n        break;\n      case 3:\n        tableDeltaWidth = getCustomHuffmanTable(\n          customIndex,\n          referredTo,\n          customTables\n        );\n        customIndex++;\n        break;\n      default:\n        throw new Jbig2Error(\"invalid Huffman DW selector\");\n    }\n\n    let tableBitmapSize, tableAggregateInstances;\n    if (dictionary.bitmapSizeSelector) {\n      tableBitmapSize = getCustomHuffmanTable(\n        customIndex,\n        referredTo,\n        customTables\n      );\n      customIndex++;\n    } else {\n      tableBitmapSize = getStandardTable(1);\n    }\n\n    if (dictionary.aggregationInstancesSelector) {\n      tableAggregateInstances = getCustomHuffmanTable(\n        customIndex,\n        referredTo,\n        customTables\n      );\n    } else {\n      tableAggregateInstances = getStandardTable(1);\n    }\n\n    return {\n      tableDeltaHeight,\n      tableDeltaWidth,\n      tableBitmapSize,\n      tableAggregateInstances,\n    };\n  }\n\n  function readUncompressedBitmap(reader, width, height) {\n    const bitmap = [];\n    for (let y = 0; y < height; y++) {\n      const row = new Uint8Array(width);\n      bitmap.push(row);\n      for (let x = 0; x < width; x++) {\n        row[x] = reader.readBit();\n      }\n      reader.byteAlign();\n    }\n    return bitmap;\n  }\n\n  function decodeMMRBitmap(input, width, height, endOfBlock) {\n    // MMR is the same compression algorithm as the PDF filter\n    // CCITTFaxDecode with /K -1.\n    const params = {\n      K: -1,\n      Columns: width,\n      Rows: height,\n      BlackIs1: true,\n      EndOfBlock: endOfBlock,\n    };\n    const decoder = new CCITTFaxDecoder(input, params);\n    const bitmap = [];\n    let currentByte,\n      eof = false;\n\n    for (let y = 0; y < height; y++) {\n      const row = new Uint8Array(width);\n      bitmap.push(row);\n      let shift = -1;\n      for (let x = 0; x < width; x++) {\n        if (shift < 0) {\n          currentByte = decoder.readNextChar();\n          if (currentByte === -1) {\n            // Set the rest of the bits to zero.\n            currentByte = 0;\n            eof = true;\n          }\n          shift = 7;\n        }\n        row[x] = (currentByte >> shift) & 1;\n        shift--;\n      }\n    }\n\n    if (endOfBlock && !eof) {\n      // Read until EOFB has been consumed.\n      const lookForEOFLimit = 5;\n      for (let i = 0; i < lookForEOFLimit; i++) {\n        if (decoder.readNextChar() === -1) {\n          break;\n        }\n      }\n    }\n\n    return bitmap;\n  }\n\n  function Jbig2Image() {}\n\n  Jbig2Image.prototype = {\n    parseChunks(chunks) {\n      return parseJbig2Chunks(chunks);\n    },\n\n    parse(data) {\n      const { imgData, width, height } = parseJbig2(data);\n      this.width = width;\n      this.height = height;\n      return imgData;\n    },\n  };\n\n  return Jbig2Image;\n})();\n\nexport { Jbig2Image };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\n// Table C-2\nconst QeTable = [\n  { qe: 0x5601, nmps: 1, nlps: 1, switchFlag: 1 },\n  { qe: 0x3401, nmps: 2, nlps: 6, switchFlag: 0 },\n  { qe: 0x1801, nmps: 3, nlps: 9, switchFlag: 0 },\n  { qe: 0x0ac1, nmps: 4, nlps: 12, switchFlag: 0 },\n  { qe: 0x0521, nmps: 5, nlps: 29, switchFlag: 0 },\n  { qe: 0x0221, nmps: 38, nlps: 33, switchFlag: 0 },\n  { qe: 0x5601, nmps: 7, nlps: 6, switchFlag: 1 },\n  { qe: 0x5401, nmps: 8, nlps: 14, switchFlag: 0 },\n  { qe: 0x4801, nmps: 9, nlps: 14, switchFlag: 0 },\n  { qe: 0x3801, nmps: 10, nlps: 14, switchFlag: 0 },\n  { qe: 0x3001, nmps: 11, nlps: 17, switchFlag: 0 },\n  { qe: 0x2401, nmps: 12, nlps: 18, switchFlag: 0 },\n  { qe: 0x1c01, nmps: 13, nlps: 20, switchFlag: 0 },\n  { qe: 0x1601, nmps: 29, nlps: 21, switchFlag: 0 },\n  { qe: 0x5601, nmps: 15, nlps: 14, switchFlag: 1 },\n  { qe: 0x5401, nmps: 16, nlps: 14, switchFlag: 0 },\n  { qe: 0x5101, nmps: 17, nlps: 15, switchFlag: 0 },\n  { qe: 0x4801, nmps: 18, nlps: 16, switchFlag: 0 },\n  { qe: 0x3801, nmps: 19, nlps: 17, switchFlag: 0 },\n  { qe: 0x3401, nmps: 20, nlps: 18, switchFlag: 0 },\n  { qe: 0x3001, nmps: 21, nlps: 19, switchFlag: 0 },\n  { qe: 0x2801, nmps: 22, nlps: 19, switchFlag: 0 },\n  { qe: 0x2401, nmps: 23, nlps: 20, switchFlag: 0 },\n  { qe: 0x2201, nmps: 24, nlps: 21, switchFlag: 0 },\n  { qe: 0x1c01, nmps: 25, nlps: 22, switchFlag: 0 },\n  { qe: 0x1801, nmps: 26, nlps: 23, switchFlag: 0 },\n  { qe: 0x1601, nmps: 27, nlps: 24, switchFlag: 0 },\n  { qe: 0x1401, nmps: 28, nlps: 25, switchFlag: 0 },\n  { qe: 0x1201, nmps: 29, nlps: 26, switchFlag: 0 },\n  { qe: 0x1101, nmps: 30, nlps: 27, switchFlag: 0 },\n  { qe: 0x0ac1, nmps: 31, nlps: 28, switchFlag: 0 },\n  { qe: 0x09c1, nmps: 32, nlps: 29, switchFlag: 0 },\n  { qe: 0x08a1, nmps: 33, nlps: 30, switchFlag: 0 },\n  { qe: 0x0521, nmps: 34, nlps: 31, switchFlag: 0 },\n  { qe: 0x0441, nmps: 35, nlps: 32, switchFlag: 0 },\n  { qe: 0x02a1, nmps: 36, nlps: 33, switchFlag: 0 },\n  { qe: 0x0221, nmps: 37, nlps: 34, switchFlag: 0 },\n  { qe: 0x0141, nmps: 38, nlps: 35, switchFlag: 0 },\n  { qe: 0x0111, nmps: 39, nlps: 36, switchFlag: 0 },\n  { qe: 0x0085, nmps: 40, nlps: 37, switchFlag: 0 },\n  { qe: 0x0049, nmps: 41, nlps: 38, switchFlag: 0 },\n  { qe: 0x0025, nmps: 42, nlps: 39, switchFlag: 0 },\n  { qe: 0x0015, nmps: 43, nlps: 40, switchFlag: 0 },\n  { qe: 0x0009, nmps: 44, nlps: 41, switchFlag: 0 },\n  { qe: 0x0005, nmps: 45, nlps: 42, switchFlag: 0 },\n  { qe: 0x0001, nmps: 45, nlps: 43, switchFlag: 0 },\n  { qe: 0x5601, nmps: 46, nlps: 46, switchFlag: 0 },\n];\n\n/**\n * This class implements the QM Coder decoding as defined in\n *   JPEG 2000 Part I Final Committee Draft Version 1.0\n *   Annex C.3 Arithmetic decoding procedure\n * available at http://www.jpeg.org/public/fcd15444-1.pdf\n *\n * The arithmetic decoder is used in conjunction with context models to decode\n * JPEG2000 and JBIG2 streams.\n */\nclass ArithmeticDecoder {\n  // C.3.5 Initialisation of the decoder (INITDEC)\n  constructor(data, start, end) {\n    this.data = data;\n    this.bp = start;\n    this.dataEnd = end;\n\n    this.chigh = data[start];\n    this.clow = 0;\n\n    this.byteIn();\n\n    this.chigh = ((this.chigh << 7) & 0xffff) | ((this.clow >> 9) & 0x7f);\n    this.clow = (this.clow << 7) & 0xffff;\n    this.ct -= 7;\n    this.a = 0x8000;\n  }\n\n  // C.3.4 Compressed data input (BYTEIN)\n  byteIn() {\n    const data = this.data;\n    let bp = this.bp;\n\n    if (data[bp] === 0xff) {\n      if (data[bp + 1] > 0x8f) {\n        this.clow += 0xff00;\n        this.ct = 8;\n      } else {\n        bp++;\n        this.clow += data[bp] << 9;\n        this.ct = 7;\n        this.bp = bp;\n      }\n    } else {\n      bp++;\n      this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n      this.ct = 8;\n      this.bp = bp;\n    }\n    if (this.clow > 0xffff) {\n      this.chigh += this.clow >> 16;\n      this.clow &= 0xffff;\n    }\n  }\n\n  // C.3.2 Decoding a decision (DECODE)\n  readBit(contexts, pos) {\n    // Contexts are packed into 1 byte:\n    // highest 7 bits carry cx.index, lowest bit carries cx.mps\n    let cx_index = contexts[pos] >> 1,\n      cx_mps = contexts[pos] & 1;\n    const qeTableIcx = QeTable[cx_index];\n    const qeIcx = qeTableIcx.qe;\n    let d;\n    let a = this.a - qeIcx;\n\n    if (this.chigh < qeIcx) {\n      // exchangeLps\n      if (a < qeIcx) {\n        a = qeIcx;\n        d = cx_mps;\n        cx_index = qeTableIcx.nmps;\n      } else {\n        a = qeIcx;\n        d = 1 ^ cx_mps;\n        if (qeTableIcx.switchFlag === 1) {\n          cx_mps = d;\n        }\n        cx_index = qeTableIcx.nlps;\n      }\n    } else {\n      this.chigh -= qeIcx;\n      if ((a & 0x8000) !== 0) {\n        this.a = a;\n        return cx_mps;\n      }\n      // exchangeMps\n      if (a < qeIcx) {\n        d = 1 ^ cx_mps;\n        if (qeTableIcx.switchFlag === 1) {\n          cx_mps = d;\n        }\n        cx_index = qeTableIcx.nlps;\n      } else {\n        d = cx_mps;\n        cx_index = qeTableIcx.nmps;\n      }\n    }\n    // C.3.3 renormD;\n    do {\n      if (this.ct === 0) {\n        this.byteIn();\n      }\n\n      a <<= 1;\n      this.chigh = ((this.chigh << 1) & 0xffff) | ((this.clow >> 15) & 1);\n      this.clow = (this.clow << 1) & 0xffff;\n      this.ct--;\n    } while ((a & 0x8000) === 0);\n    this.a = a;\n\n    contexts[pos] = (cx_index << 1) | cx_mps;\n    return d;\n  }\n}\n\nexport { ArithmeticDecoder };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { createObjectURL, shadow } from \"../shared/util.js\";\nimport { DecodeStream } from \"./stream.js\";\nimport { isDict } from \"./primitives.js\";\nimport { JpegImage } from \"./jpg.js\";\n\n/**\n * Depending on the type of JPEG a JpegStream is handled in different ways. For\n * JPEG's that are supported natively such as DeviceGray and DeviceRGB the image\n * data is stored and then loaded by the browser. For unsupported JPEG's we use\n * a library to decode these images and the stream behaves like all the other\n * DecodeStreams.\n */\nconst JpegStream = (function JpegStreamClosure() {\n  function JpegStream(stream, maybeLength, dict, params) {\n    // Some images may contain 'junk' before the SOI (start-of-image) marker.\n    // Note: this seems to mainly affect inline images.\n    let ch;\n    while ((ch = stream.getByte()) !== -1) {\n      // Find the first byte of the SOI marker (0xFFD8).\n      if (ch === 0xff) {\n        stream.skip(-1); // Reset the stream position to the SOI.\n        break;\n      }\n    }\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  JpegStream.prototype = Object.create(DecodeStream.prototype);\n\n  Object.defineProperty(JpegStream.prototype, \"bytes\", {\n    get: function JpegStream_bytes() {\n      // If `this.maybeLength` is null, we'll get the entire stream.\n      return shadow(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true,\n  });\n\n  JpegStream.prototype.ensureBuffer = function(requested) {\n    // No-op, since `this.readBlock` will always parse the entire image and\n    // directly insert all of its data into `this.buffer`.\n  };\n\n  JpegStream.prototype.readBlock = function() {\n    if (this.eof) {\n      return;\n    }\n    const jpegOptions = {\n      decodeTransform: undefined,\n      colorTransform: undefined,\n    };\n\n    // Checking if values need to be transformed before conversion.\n    const decodeArr = this.dict.getArray(\"Decode\", \"D\");\n    if (this.forceRGB && Array.isArray(decodeArr)) {\n      const bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n      const decodeArrLength = decodeArr.length;\n      const transform = new Int32Array(decodeArrLength);\n      let transformNeeded = false;\n      const maxValue = (1 << bitsPerComponent) - 1;\n      for (let i = 0; i < decodeArrLength; i += 2) {\n        transform[i] = ((decodeArr[i + 1] - decodeArr[i]) * 256) | 0;\n        transform[i + 1] = (decodeArr[i] * maxValue) | 0;\n        if (transform[i] !== 256 || transform[i + 1] !== 0) {\n          transformNeeded = true;\n        }\n      }\n      if (transformNeeded) {\n        jpegOptions.decodeTransform = transform;\n      }\n    }\n    // Fetching the 'ColorTransform' entry, if it exists.\n    if (isDict(this.params)) {\n      const colorTransform = this.params.get(\"ColorTransform\");\n      if (Number.isInteger(colorTransform)) {\n        jpegOptions.colorTransform = colorTransform;\n      }\n    }\n    const jpegImage = new JpegImage(jpegOptions);\n\n    jpegImage.parse(this.bytes);\n    const data = jpegImage.getData({\n      width: this.drawWidth,\n      height: this.drawHeight,\n      forceRGB: this.forceRGB,\n      isSourcePDF: true,\n    });\n    this.buffer = data;\n    this.bufferLength = data.length;\n    this.eof = true;\n  };\n\n  Object.defineProperty(JpegStream.prototype, \"maybeValidDimensions\", {\n    get: function JpegStream_maybeValidDimensions() {\n      const { dict, stream } = this;\n      const dictHeight = dict.get(\"Height\", \"H\");\n      const startPos = stream.pos;\n\n      let validDimensions = true,\n        foundSOF = false,\n        b;\n      while ((b = stream.getByte()) !== -1) {\n        if (b !== 0xff) {\n          // Not a valid marker.\n          continue;\n        }\n        switch (stream.getByte()) {\n          case 0xc0: // SOF0\n          case 0xc1: // SOF1\n          case 0xc2: // SOF2\n            // These three SOF{n} markers are the only ones that the built-in\n            // PDF.js JPEG decoder currently supports.\n            foundSOF = true;\n\n            stream.pos += 2; // Skip marker length.\n            stream.pos += 1; // Skip precision.\n            const scanLines = stream.getUint16();\n\n            // The \"normal\" case, where the image data and dictionary agrees.\n            if (scanLines === dictHeight) {\n              break;\n            }\n            // A DNL (Define Number of Lines) marker is expected,\n            // which browsers (usually) cannot decode natively.\n            if (scanLines === 0) {\n              validDimensions = false;\n              break;\n            }\n            // The dimensions of the image, among other properties, should\n            // always be taken from the image data *itself* rather than the\n            // XObject dictionary. However there's cases of corrupt images that\n            // browsers cannot decode natively, for example:\n            //  - JPEG images with DNL markers, where the SOF `scanLines`\n            //    parameter has an unexpected value (see issue 8614).\n            //  - JPEG images with too large SOF `scanLines` parameter, where\n            //    the EOI marker is encountered prematurely (see issue 10880).\n            // In an attempt to handle these kinds of corrupt images, compare\n            // the dimensions in the image data with the dictionary and *always*\n            // let the PDF.js JPEG decoder (rather than the browser) handle the\n            // image if the difference is larger than one order of magnitude\n            // (since that would generally suggest that something is off).\n            if (scanLines > dictHeight * 10) {\n              validDimensions = false;\n              break;\n            }\n            break;\n\n          case 0xc3: // SOF3\n          /* falls through */\n          case 0xc5: // SOF5\n          case 0xc6: // SOF6\n          case 0xc7: // SOF7\n          /* falls through */\n          case 0xc9: // SOF9\n          case 0xca: // SOF10\n          case 0xcb: // SOF11\n          /* falls through */\n          case 0xcd: // SOF13\n          case 0xce: // SOF14\n          case 0xcf: // SOF15\n            foundSOF = true;\n            break;\n\n          case 0xc4: // DHT\n          case 0xcc: // DAC\n          /* falls through */\n          case 0xda: // SOS\n          case 0xdb: // DQT\n          case 0xdc: // DNL\n          case 0xdd: // DRI\n          case 0xde: // DHP\n          case 0xdf: // EXP\n          /* falls through */\n          case 0xe0: // APP0\n          case 0xe1: // APP1\n          case 0xe2: // APP2\n          case 0xe3: // APP3\n          case 0xe4: // APP4\n          case 0xe5: // APP5\n          case 0xe6: // APP6\n          case 0xe7: // APP7\n          case 0xe8: // APP8\n          case 0xe9: // APP9\n          case 0xea: // APP10\n          case 0xeb: // APP11\n          case 0xec: // APP12\n          case 0xed: // APP13\n          case 0xee: // APP14\n          case 0xef: // APP15\n          /* falls through */\n          case 0xfe: // COM\n            const markerLength = stream.getUint16();\n            if (markerLength > 2) {\n              stream.skip(markerLength - 2); // Jump to the next marker.\n            } else {\n              // The marker length is invalid, resetting the stream position.\n              stream.skip(-2);\n            }\n            break;\n\n          case 0xff: // Fill byte.\n            // Avoid skipping a valid marker, resetting the stream position.\n            stream.skip(-1);\n            break;\n\n          case 0xd9: // EOI\n            foundSOF = true;\n            break;\n        }\n        if (foundSOF) {\n          break;\n        }\n      }\n      // Finally, don't forget to reset the stream position.\n      stream.pos = startPos;\n\n      return shadow(this, \"maybeValidDimensions\", validDimensions);\n    },\n    configurable: true,\n  });\n\n  JpegStream.prototype.getIR = function(forceDataSchema = false) {\n    return createObjectURL(this.bytes, \"image/jpeg\", forceDataSchema);\n  };\n\n  return JpegStream;\n})();\n\nexport { JpegStream };\n","/* Copyright 2014 Mozilla Foundation\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\nimport { assert, BaseException, warn } from \"../shared/util.js\";\nimport { readUint16 } from \"./core_utils.js\";\n\nclass JpegError extends BaseException {\n  constructor(msg) {\n    super(`JPEG error: ${msg}`);\n  }\n}\n\nclass DNLMarkerError extends BaseException {\n  constructor(message, scanLines) {\n    super(message);\n    this.scanLines = scanLines;\n  }\n}\n\nclass EOIMarkerError extends BaseException {}\n\n/**\n * This code was forked from https://github.com/notmasteryet/jpgjs.\n * The original version was created by GitHub user notmasteryet.\n *\n * - The JPEG specification can be found in the ITU CCITT Recommendation T.81\n *   (www.w3.org/Graphics/JPEG/itu-t81.pdf)\n * - The JFIF specification can be found in the JPEG File Interchange Format\n *   (www.w3.org/Graphics/JPEG/jfif3.pdf)\n * - The Adobe Application-Specific JPEG markers in the\n *   Supporting the DCT Filters in PostScript Level 2, Technical Note #5116\n *   (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)\n */\n\nvar JpegImage = (function JpegImageClosure() {\n  // prettier-ignore\n  var dctZigZag = new Uint8Array([\n     0,\n     1,  8,\n    16,  9,  2,\n     3, 10, 17, 24,\n    32, 25, 18, 11, 4,\n     5, 12, 19, 26, 33, 40,\n    48, 41, 34, 27, 20, 13,  6,\n     7, 14, 21, 28, 35, 42, 49, 56,\n    57, 50, 43, 36, 29, 22, 15,\n    23, 30, 37, 44, 51, 58,\n    59, 52, 45, 38, 31,\n    39, 46, 53, 60,\n    61, 54, 47,\n    55, 62,\n    63\n  ]);\n\n  var dctCos1 = 4017; // cos(pi/16)\n  var dctSin1 = 799; // sin(pi/16)\n  var dctCos3 = 3406; // cos(3*pi/16)\n  var dctSin3 = 2276; // sin(3*pi/16)\n  var dctCos6 = 1567; // cos(6*pi/16)\n  var dctSin6 = 3784; // sin(6*pi/16)\n  var dctSqrt2 = 5793; // sqrt(2)\n  var dctSqrt1d2 = 2896; // sqrt(2) / 2\n\n  function JpegImage({ decodeTransform = null, colorTransform = -1 } = {}) {\n    this._decodeTransform = decodeTransform;\n    this._colorTransform = colorTransform;\n  }\n\n  function buildHuffmanTable(codeLengths, values) {\n    var k = 0,\n      code = [],\n      i,\n      j,\n      length = 16;\n    while (length > 0 && !codeLengths[length - 1]) {\n      length--;\n    }\n    code.push({ children: [], index: 0 });\n    var p = code[0],\n      q;\n    for (i = 0; i < length; i++) {\n      for (j = 0; j < codeLengths[i]; j++) {\n        p = code.pop();\n        p.children[p.index] = values[k];\n        while (p.index > 0) {\n          p = code.pop();\n        }\n        p.index++;\n        code.push(p);\n        while (code.length <= i) {\n          code.push((q = { children: [], index: 0 }));\n          p.children[p.index] = q.children;\n          p = q;\n        }\n        k++;\n      }\n      if (i + 1 < length) {\n        // p here points to last code\n        code.push((q = { children: [], index: 0 }));\n        p.children[p.index] = q.children;\n        p = q;\n      }\n    }\n    return code[0].children;\n  }\n\n  function getBlockBufferOffset(component, row, col) {\n    return 64 * ((component.blocksPerLine + 1) * row + col);\n  }\n\n  function decodeScan(\n    data,\n    offset,\n    frame,\n    components,\n    resetInterval,\n    spectralStart,\n    spectralEnd,\n    successivePrev,\n    successive,\n    parseDNLMarker = false\n  ) {\n    var mcusPerLine = frame.mcusPerLine;\n    var progressive = frame.progressive;\n\n    var startOffset = offset,\n      bitsData = 0,\n      bitsCount = 0;\n\n    function readBit() {\n      if (bitsCount > 0) {\n        bitsCount--;\n        return (bitsData >> bitsCount) & 1;\n      }\n      bitsData = data[offset++];\n      if (bitsData === 0xff) {\n        var nextByte = data[offset++];\n        if (nextByte) {\n          if (nextByte === /* DNL = */ 0xdc && parseDNLMarker) {\n            offset += 2; // Skip marker length.\n\n            const scanLines = readUint16(data, offset);\n            offset += 2;\n            if (scanLines > 0 && scanLines !== frame.scanLines) {\n              throw new DNLMarkerError(\n                \"Found DNL marker (0xFFDC) while parsing scan data\",\n                scanLines\n              );\n            }\n          } else if (nextByte === /* EOI = */ 0xd9) {\n            if (parseDNLMarker) {\n              // NOTE: only 8-bit JPEG images are supported in this decoder.\n              const maybeScanLines = blockRow * 8;\n              // Heuristic to attempt to handle corrupt JPEG images with too\n              // large `scanLines` parameter, by falling back to the currently\n              // parsed number of scanLines when it's at least one order of\n              // magnitude smaller than expected (fixes issue10880.pdf).\n              if (maybeScanLines > 0 && maybeScanLines < frame.scanLines / 10) {\n                throw new DNLMarkerError(\n                  \"Found EOI marker (0xFFD9) while parsing scan data, \" +\n                    \"possibly caused by incorrect `scanLines` parameter\",\n                  maybeScanLines\n                );\n              }\n            }\n            throw new EOIMarkerError(\n              \"Found EOI marker (0xFFD9) while parsing scan data\"\n            );\n          }\n          throw new JpegError(\n            `unexpected marker ${((bitsData << 8) | nextByte).toString(16)}`\n          );\n        }\n        // unstuff 0\n      }\n      bitsCount = 7;\n      return bitsData >>> 7;\n    }\n\n    function decodeHuffman(tree) {\n      var node = tree;\n      while (true) {\n        node = node[readBit()];\n        switch (typeof node) {\n          case \"number\":\n            return node;\n          case \"object\":\n            continue;\n        }\n        throw new JpegError(\"invalid huffman sequence\");\n      }\n    }\n\n    function receive(length) {\n      var n = 0;\n      while (length > 0) {\n        n = (n << 1) | readBit();\n        length--;\n      }\n      return n;\n    }\n\n    function receiveAndExtend(length) {\n      if (length === 1) {\n        return readBit() === 1 ? 1 : -1;\n      }\n      var n = receive(length);\n      if (n >= 1 << (length - 1)) {\n        return n;\n      }\n      return n + (-1 << length) + 1;\n    }\n\n    function decodeBaseline(component, offset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t);\n      component.blockData[offset] = component.pred += diff;\n      var k = 1;\n      while (k < 64) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n          r = rs >> 4;\n        if (s === 0) {\n          if (r < 15) {\n            break;\n          }\n          k += 16;\n          continue;\n        }\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[offset + z] = receiveAndExtend(s);\n        k++;\n      }\n    }\n\n    function decodeDCFirst(component, offset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n      component.blockData[offset] = component.pred += diff;\n    }\n\n    function decodeDCSuccessive(component, offset) {\n      component.blockData[offset] |= readBit() << successive;\n    }\n\n    var eobrun = 0;\n    function decodeACFirst(component, offset) {\n      if (eobrun > 0) {\n        eobrun--;\n        return;\n      }\n      var k = spectralStart,\n        e = spectralEnd;\n      while (k <= e) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n          r = rs >> 4;\n        if (s === 0) {\n          if (r < 15) {\n            eobrun = receive(r) + (1 << r) - 1;\n            break;\n          }\n          k += 16;\n          continue;\n        }\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[offset + z] =\n          receiveAndExtend(s) * (1 << successive);\n        k++;\n      }\n    }\n\n    var successiveACState = 0,\n      successiveACNextValue;\n    function decodeACSuccessive(component, offset) {\n      var k = spectralStart;\n      var e = spectralEnd;\n      var r = 0;\n      var s;\n      var rs;\n      while (k <= e) {\n        const offsetZ = offset + dctZigZag[k];\n        const sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n        switch (successiveACState) {\n          case 0: // initial state\n            rs = decodeHuffman(component.huffmanTableAC);\n            s = rs & 15;\n            r = rs >> 4;\n            if (s === 0) {\n              if (r < 15) {\n                eobrun = receive(r) + (1 << r);\n                successiveACState = 4;\n              } else {\n                r = 16;\n                successiveACState = 1;\n              }\n            } else {\n              if (s !== 1) {\n                throw new JpegError(\"invalid ACn encoding\");\n              }\n              successiveACNextValue = receiveAndExtend(s);\n              successiveACState = r ? 2 : 3;\n            }\n            continue;\n          case 1: // skipping r zero items\n          case 2:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            } else {\n              r--;\n              if (r === 0) {\n                successiveACState = successiveACState === 2 ? 3 : 0;\n              }\n            }\n            break;\n          case 3: // set value for a zero item\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            } else {\n              component.blockData[offsetZ] =\n                successiveACNextValue << successive;\n              successiveACState = 0;\n            }\n            break;\n          case 4: // eob\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            }\n            break;\n        }\n        k++;\n      }\n      if (successiveACState === 4) {\n        eobrun--;\n        if (eobrun === 0) {\n          successiveACState = 0;\n        }\n      }\n    }\n\n    let blockRow = 0;\n    function decodeMcu(component, decode, mcu, row, col) {\n      var mcuRow = (mcu / mcusPerLine) | 0;\n      var mcuCol = mcu % mcusPerLine;\n      blockRow = mcuRow * component.v + row;\n      var blockCol = mcuCol * component.h + col;\n      var offset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, offset);\n    }\n\n    function decodeBlock(component, decode, mcu) {\n      blockRow = (mcu / component.blocksPerLine) | 0;\n      var blockCol = mcu % component.blocksPerLine;\n      var offset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, offset);\n    }\n\n    var componentsLength = components.length;\n    var component, i, j, k, n;\n    var decodeFn;\n    if (progressive) {\n      if (spectralStart === 0) {\n        decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n      } else {\n        decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n      }\n    } else {\n      decodeFn = decodeBaseline;\n    }\n\n    var mcu = 0,\n      fileMarker;\n    var mcuExpected;\n    if (componentsLength === 1) {\n      mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n    } else {\n      mcuExpected = mcusPerLine * frame.mcusPerColumn;\n    }\n\n    var h, v;\n    while (mcu < mcuExpected) {\n      // reset interval stuff\n      var mcuToRead = resetInterval\n        ? Math.min(mcuExpected - mcu, resetInterval)\n        : mcuExpected;\n      for (i = 0; i < componentsLength; i++) {\n        components[i].pred = 0;\n      }\n      eobrun = 0;\n\n      if (componentsLength === 1) {\n        component = components[0];\n        for (n = 0; n < mcuToRead; n++) {\n          decodeBlock(component, decodeFn, mcu);\n          mcu++;\n        }\n      } else {\n        for (n = 0; n < mcuToRead; n++) {\n          for (i = 0; i < componentsLength; i++) {\n            component = components[i];\n            h = component.h;\n            v = component.v;\n            for (j = 0; j < v; j++) {\n              for (k = 0; k < h; k++) {\n                decodeMcu(component, decodeFn, mcu, j, k);\n              }\n            }\n          }\n          mcu++;\n        }\n      }\n\n      // find marker\n      bitsCount = 0;\n      fileMarker = findNextFileMarker(data, offset);\n      if (!fileMarker) {\n        // Reached the end of the image data without finding an EOI marker.\n        break;\n      } else if (fileMarker.invalid) {\n        // Some bad images seem to pad Scan blocks with e.g. zero bytes, skip\n        // past those to attempt to find a valid marker (fixes issue4090.pdf).\n        warn(\n          \"decodeScan - unexpected MCU data, current marker is: \" +\n            fileMarker.invalid\n        );\n        offset = fileMarker.offset;\n      }\n      var marker = fileMarker && fileMarker.marker;\n      if (!marker || marker <= 0xff00) {\n        throw new JpegError(\"decodeScan - a valid marker was not found.\");\n      }\n\n      if (marker >= 0xffd0 && marker <= 0xffd7) {\n        // RSTx\n        offset += 2;\n      } else {\n        break;\n      }\n    }\n\n    fileMarker = findNextFileMarker(data, offset);\n    // Some images include more Scan blocks than expected, skip past those and\n    // attempt to find the next valid marker (fixes issue8182.pdf).\n    if (fileMarker && fileMarker.invalid) {\n      warn(\n        \"decodeScan - unexpected Scan data, current marker is: \" +\n          fileMarker.invalid\n      );\n      offset = fileMarker.offset;\n    }\n\n    return offset - startOffset;\n  }\n\n  // A port of poppler's IDCT method which in turn is taken from:\n  //   Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,\n  //   'Practical Fast 1-D DCT Algorithms with 11 Multiplications',\n  //   IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,\n  //   988-991.\n  function quantizeAndInverse(component, blockBufferOffset, p) {\n    var qt = component.quantizationTable,\n      blockData = component.blockData;\n    var v0, v1, v2, v3, v4, v5, v6, v7;\n    var p0, p1, p2, p3, p4, p5, p6, p7;\n    var t;\n\n    if (!qt) {\n      throw new JpegError(\"missing required Quantization Table.\");\n    }\n\n    // inverse DCT on rows\n    for (var row = 0; row < 64; row += 8) {\n      // gather block data\n      p0 = blockData[blockBufferOffset + row];\n      p1 = blockData[blockBufferOffset + row + 1];\n      p2 = blockData[blockBufferOffset + row + 2];\n      p3 = blockData[blockBufferOffset + row + 3];\n      p4 = blockData[blockBufferOffset + row + 4];\n      p5 = blockData[blockBufferOffset + row + 5];\n      p6 = blockData[blockBufferOffset + row + 6];\n      p7 = blockData[blockBufferOffset + row + 7];\n\n      // dequant p0\n      p0 *= qt[row];\n\n      // check for all-zero AC coefficients\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = (dctSqrt2 * p0 + 512) >> 10;\n        p[row] = t;\n        p[row + 1] = t;\n        p[row + 2] = t;\n        p[row + 3] = t;\n        p[row + 4] = t;\n        p[row + 5] = t;\n        p[row + 6] = t;\n        p[row + 7] = t;\n        continue;\n      }\n      // dequant p1 ... p7\n      p1 *= qt[row + 1];\n      p2 *= qt[row + 2];\n      p3 *= qt[row + 3];\n      p4 *= qt[row + 4];\n      p5 *= qt[row + 5];\n      p6 *= qt[row + 6];\n      p7 *= qt[row + 7];\n\n      // stage 4\n      v0 = (dctSqrt2 * p0 + 128) >> 8;\n      v1 = (dctSqrt2 * p4 + 128) >> 8;\n      v2 = p2;\n      v3 = p6;\n      v4 = (dctSqrt1d2 * (p1 - p7) + 128) >> 8;\n      v7 = (dctSqrt1d2 * (p1 + p7) + 128) >> 8;\n      v5 = p3 << 4;\n      v6 = p5 << 4;\n\n      // stage 3\n      v0 = (v0 + v1 + 1) >> 1;\n      v1 = v0 - v1;\n      t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;\n      v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;\n      v3 = t;\n      v4 = (v4 + v6 + 1) >> 1;\n      v6 = v4 - v6;\n      v7 = (v7 + v5 + 1) >> 1;\n      v5 = v7 - v5;\n\n      // stage 2\n      v0 = (v0 + v3 + 1) >> 1;\n      v3 = v0 - v3;\n      v1 = (v1 + v2 + 1) >> 1;\n      v2 = v1 - v2;\n      t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n      v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n      v7 = t;\n      t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n      v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n      v6 = t;\n\n      // stage 1\n      p[row] = v0 + v7;\n      p[row + 7] = v0 - v7;\n      p[row + 1] = v1 + v6;\n      p[row + 6] = v1 - v6;\n      p[row + 2] = v2 + v5;\n      p[row + 5] = v2 - v5;\n      p[row + 3] = v3 + v4;\n      p[row + 4] = v3 - v4;\n    }\n\n    // inverse DCT on columns\n    for (var col = 0; col < 8; ++col) {\n      p0 = p[col];\n      p1 = p[col + 8];\n      p2 = p[col + 16];\n      p3 = p[col + 24];\n      p4 = p[col + 32];\n      p5 = p[col + 40];\n      p6 = p[col + 48];\n      p7 = p[col + 56];\n\n      // check for all-zero AC coefficients\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = (dctSqrt2 * p0 + 8192) >> 14;\n        // Convert to 8-bit.\n        if (t < -2040) {\n          t = 0;\n        } else if (t >= 2024) {\n          t = 255;\n        } else {\n          t = (t + 2056) >> 4;\n        }\n        blockData[blockBufferOffset + col] = t;\n        blockData[blockBufferOffset + col + 8] = t;\n        blockData[blockBufferOffset + col + 16] = t;\n        blockData[blockBufferOffset + col + 24] = t;\n        blockData[blockBufferOffset + col + 32] = t;\n        blockData[blockBufferOffset + col + 40] = t;\n        blockData[blockBufferOffset + col + 48] = t;\n        blockData[blockBufferOffset + col + 56] = t;\n        continue;\n      }\n\n      // stage 4\n      v0 = (dctSqrt2 * p0 + 2048) >> 12;\n      v1 = (dctSqrt2 * p4 + 2048) >> 12;\n      v2 = p2;\n      v3 = p6;\n      v4 = (dctSqrt1d2 * (p1 - p7) + 2048) >> 12;\n      v7 = (dctSqrt1d2 * (p1 + p7) + 2048) >> 12;\n      v5 = p3;\n      v6 = p5;\n\n      // stage 3\n      // Shift v0 by 128.5 << 5 here, so we don't need to shift p0...p7 when\n      // converting to UInt8 range later.\n      v0 = ((v0 + v1 + 1) >> 1) + 4112;\n      v1 = v0 - v1;\n      t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;\n      v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;\n      v3 = t;\n      v4 = (v4 + v6 + 1) >> 1;\n      v6 = v4 - v6;\n      v7 = (v7 + v5 + 1) >> 1;\n      v5 = v7 - v5;\n\n      // stage 2\n      v0 = (v0 + v3 + 1) >> 1;\n      v3 = v0 - v3;\n      v1 = (v1 + v2 + 1) >> 1;\n      v2 = v1 - v2;\n      t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n      v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n      v7 = t;\n      t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n      v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n      v6 = t;\n\n      // stage 1\n      p0 = v0 + v7;\n      p7 = v0 - v7;\n      p1 = v1 + v6;\n      p6 = v1 - v6;\n      p2 = v2 + v5;\n      p5 = v2 - v5;\n      p3 = v3 + v4;\n      p4 = v3 - v4;\n\n      // Convert to 8-bit integers.\n      if (p0 < 16) {\n        p0 = 0;\n      } else if (p0 >= 4080) {\n        p0 = 255;\n      } else {\n        p0 >>= 4;\n      }\n      if (p1 < 16) {\n        p1 = 0;\n      } else if (p1 >= 4080) {\n        p1 = 255;\n      } else {\n        p1 >>= 4;\n      }\n      if (p2 < 16) {\n        p2 = 0;\n      } else if (p2 >= 4080) {\n        p2 = 255;\n      } else {\n        p2 >>= 4;\n      }\n      if (p3 < 16) {\n        p3 = 0;\n      } else if (p3 >= 4080) {\n        p3 = 255;\n      } else {\n        p3 >>= 4;\n      }\n      if (p4 < 16) {\n        p4 = 0;\n      } else if (p4 >= 4080) {\n        p4 = 255;\n      } else {\n        p4 >>= 4;\n      }\n      if (p5 < 16) {\n        p5 = 0;\n      } else if (p5 >= 4080) {\n        p5 = 255;\n      } else {\n        p5 >>= 4;\n      }\n      if (p6 < 16) {\n        p6 = 0;\n      } else if (p6 >= 4080) {\n        p6 = 255;\n      } else {\n        p6 >>= 4;\n      }\n      if (p7 < 16) {\n        p7 = 0;\n      } else if (p7 >= 4080) {\n        p7 = 255;\n      } else {\n        p7 >>= 4;\n      }\n\n      // store block data\n      blockData[blockBufferOffset + col] = p0;\n      blockData[blockBufferOffset + col + 8] = p1;\n      blockData[blockBufferOffset + col + 16] = p2;\n      blockData[blockBufferOffset + col + 24] = p3;\n      blockData[blockBufferOffset + col + 32] = p4;\n      blockData[blockBufferOffset + col + 40] = p5;\n      blockData[blockBufferOffset + col + 48] = p6;\n      blockData[blockBufferOffset + col + 56] = p7;\n    }\n  }\n\n  function buildComponentData(frame, component) {\n    var blocksPerLine = component.blocksPerLine;\n    var blocksPerColumn = component.blocksPerColumn;\n    var computationBuffer = new Int16Array(64);\n\n    for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n      for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n        var offset = getBlockBufferOffset(component, blockRow, blockCol);\n        quantizeAndInverse(component, offset, computationBuffer);\n      }\n    }\n    return component.blockData;\n  }\n\n  function findNextFileMarker(data, currentPos, startPos = currentPos) {\n    const maxPos = data.length - 1;\n    var newPos = startPos < currentPos ? startPos : currentPos;\n\n    if (currentPos >= maxPos) {\n      return null; // Don't attempt to read non-existent data and just return.\n    }\n    var currentMarker = readUint16(data, currentPos);\n    if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n      return {\n        invalid: null,\n        marker: currentMarker,\n        offset: currentPos,\n      };\n    }\n    var newMarker = readUint16(data, newPos);\n    while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n      if (++newPos >= maxPos) {\n        return null; // Don't attempt to read non-existent data and just return.\n      }\n      newMarker = readUint16(data, newPos);\n    }\n    return {\n      invalid: currentMarker.toString(16),\n      marker: newMarker,\n      offset: newPos,\n    };\n  }\n\n  JpegImage.prototype = {\n    parse(data, { dnlScanLines = null } = {}) {\n      function readDataBlock() {\n        const length = readUint16(data, offset);\n        offset += 2;\n        let endOffset = offset + length - 2;\n\n        var fileMarker = findNextFileMarker(data, endOffset, offset);\n        if (fileMarker && fileMarker.invalid) {\n          warn(\n            \"readDataBlock - incorrect length, current marker is: \" +\n              fileMarker.invalid\n          );\n          endOffset = fileMarker.offset;\n        }\n\n        var array = data.subarray(offset, endOffset);\n        offset += array.length;\n        return array;\n      }\n\n      function prepareComponents(frame) {\n        var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n        var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n        for (var i = 0; i < frame.components.length; i++) {\n          component = frame.components[i];\n          var blocksPerLine = Math.ceil(\n            (Math.ceil(frame.samplesPerLine / 8) * component.h) / frame.maxH\n          );\n          var blocksPerColumn = Math.ceil(\n            (Math.ceil(frame.scanLines / 8) * component.v) / frame.maxV\n          );\n          var blocksPerLineForMcu = mcusPerLine * component.h;\n          var blocksPerColumnForMcu = mcusPerColumn * component.v;\n\n          var blocksBufferSize =\n            64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n          component.blockData = new Int16Array(blocksBufferSize);\n          component.blocksPerLine = blocksPerLine;\n          component.blocksPerColumn = blocksPerColumn;\n        }\n        frame.mcusPerLine = mcusPerLine;\n        frame.mcusPerColumn = mcusPerColumn;\n      }\n\n      var offset = 0;\n      var jfif = null;\n      var adobe = null;\n      var frame, resetInterval;\n      let numSOSMarkers = 0;\n      var quantizationTables = [];\n      var huffmanTablesAC = [],\n        huffmanTablesDC = [];\n\n      let fileMarker = readUint16(data, offset);\n      offset += 2;\n      if (fileMarker !== /* SOI (Start of Image) = */ 0xffd8) {\n        throw new JpegError(\"SOI not found\");\n      }\n      fileMarker = readUint16(data, offset);\n      offset += 2;\n\n      markerLoop: while (fileMarker !== /* EOI (End of Image) = */ 0xffd9) {\n        var i, j, l;\n        switch (fileMarker) {\n          case 0xffe0: // APP0 (Application Specific)\n          case 0xffe1: // APP1\n          case 0xffe2: // APP2\n          case 0xffe3: // APP3\n          case 0xffe4: // APP4\n          case 0xffe5: // APP5\n          case 0xffe6: // APP6\n          case 0xffe7: // APP7\n          case 0xffe8: // APP8\n          case 0xffe9: // APP9\n          case 0xffea: // APP10\n          case 0xffeb: // APP11\n          case 0xffec: // APP12\n          case 0xffed: // APP13\n          case 0xffee: // APP14\n          case 0xffef: // APP15\n          case 0xfffe: // COM (Comment)\n            var appData = readDataBlock();\n\n            if (fileMarker === 0xffe0) {\n              // 'JFIF\\x00'\n              if (\n                appData[0] === 0x4a &&\n                appData[1] === 0x46 &&\n                appData[2] === 0x49 &&\n                appData[3] === 0x46 &&\n                appData[4] === 0\n              ) {\n                jfif = {\n                  version: { major: appData[5], minor: appData[6] },\n                  densityUnits: appData[7],\n                  xDensity: (appData[8] << 8) | appData[9],\n                  yDensity: (appData[10] << 8) | appData[11],\n                  thumbWidth: appData[12],\n                  thumbHeight: appData[13],\n                  thumbData: appData.subarray(\n                    14,\n                    14 + 3 * appData[12] * appData[13]\n                  ),\n                };\n              }\n            }\n            // TODO APP1 - Exif\n            if (fileMarker === 0xffee) {\n              // 'Adobe'\n              if (\n                appData[0] === 0x41 &&\n                appData[1] === 0x64 &&\n                appData[2] === 0x6f &&\n                appData[3] === 0x62 &&\n                appData[4] === 0x65\n              ) {\n                adobe = {\n                  version: (appData[5] << 8) | appData[6],\n                  flags0: (appData[7] << 8) | appData[8],\n                  flags1: (appData[9] << 8) | appData[10],\n                  transformCode: appData[11],\n                };\n              }\n            }\n            break;\n\n          case 0xffdb: // DQT (Define Quantization Tables)\n            const quantizationTablesLength = readUint16(data, offset);\n            offset += 2;\n            var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n            var z;\n            while (offset < quantizationTablesEnd) {\n              var quantizationTableSpec = data[offset++];\n              var tableData = new Uint16Array(64);\n              if (quantizationTableSpec >> 4 === 0) {\n                // 8 bit values\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = data[offset++];\n                }\n              } else if (quantizationTableSpec >> 4 === 1) {\n                // 16 bit values\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = readUint16(data, offset);\n                  offset += 2;\n                }\n              } else {\n                throw new JpegError(\"DQT - invalid table spec\");\n              }\n              quantizationTables[quantizationTableSpec & 15] = tableData;\n            }\n            break;\n\n          case 0xffc0: // SOF0 (Start of Frame, Baseline DCT)\n          case 0xffc1: // SOF1 (Start of Frame, Extended DCT)\n          case 0xffc2: // SOF2 (Start of Frame, Progressive DCT)\n            if (frame) {\n              throw new JpegError(\"Only single frame JPEGs supported\");\n            }\n            offset += 2; // Skip marker length.\n\n            frame = {};\n            frame.extended = fileMarker === 0xffc1;\n            frame.progressive = fileMarker === 0xffc2;\n            frame.precision = data[offset++];\n            const sofScanLines = readUint16(data, offset);\n            offset += 2;\n            frame.scanLines = dnlScanLines || sofScanLines;\n            frame.samplesPerLine = readUint16(data, offset);\n            offset += 2;\n            frame.components = [];\n            frame.componentIds = {};\n            var componentsCount = data[offset++],\n              componentId;\n            var maxH = 0,\n              maxV = 0;\n            for (i = 0; i < componentsCount; i++) {\n              componentId = data[offset];\n              var h = data[offset + 1] >> 4;\n              var v = data[offset + 1] & 15;\n              if (maxH < h) {\n                maxH = h;\n              }\n              if (maxV < v) {\n                maxV = v;\n              }\n              var qId = data[offset + 2];\n              l = frame.components.push({\n                h,\n                v,\n                quantizationId: qId,\n                quantizationTable: null, // See comment below.\n              });\n              frame.componentIds[componentId] = l - 1;\n              offset += 3;\n            }\n            frame.maxH = maxH;\n            frame.maxV = maxV;\n            prepareComponents(frame);\n            break;\n\n          case 0xffc4: // DHT (Define Huffman Tables)\n            const huffmanLength = readUint16(data, offset);\n            offset += 2;\n            for (i = 2; i < huffmanLength; ) {\n              var huffmanTableSpec = data[offset++];\n              var codeLengths = new Uint8Array(16);\n              var codeLengthSum = 0;\n              for (j = 0; j < 16; j++, offset++) {\n                codeLengthSum += codeLengths[j] = data[offset];\n              }\n              var huffmanValues = new Uint8Array(codeLengthSum);\n              for (j = 0; j < codeLengthSum; j++, offset++) {\n                huffmanValues[j] = data[offset];\n              }\n              i += 17 + codeLengthSum;\n\n              (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[\n                huffmanTableSpec & 15\n              ] = buildHuffmanTable(codeLengths, huffmanValues);\n            }\n            break;\n\n          case 0xffdd: // DRI (Define Restart Interval)\n            offset += 2; // Skip marker length.\n\n            resetInterval = readUint16(data, offset);\n            offset += 2;\n            break;\n\n          case 0xffda: // SOS (Start of Scan)\n            // A DNL marker (0xFFDC), if it exists, is only allowed at the end\n            // of the first scan segment and may only occur once in an image.\n            // Furthermore, to prevent an infinite loop, do *not* attempt to\n            // parse DNL markers during re-parsing of the JPEG scan data.\n            const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n\n            offset += 2; // Skip marker length.\n\n            var selectorsCount = data[offset++];\n            var components = [],\n              component;\n            for (i = 0; i < selectorsCount; i++) {\n              var componentIndex = frame.componentIds[data[offset++]];\n              component = frame.components[componentIndex];\n              var tableSpec = data[offset++];\n              component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n              component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n              components.push(component);\n            }\n            var spectralStart = data[offset++];\n            var spectralEnd = data[offset++];\n            var successiveApproximation = data[offset++];\n            try {\n              var processed = decodeScan(\n                data,\n                offset,\n                frame,\n                components,\n                resetInterval,\n                spectralStart,\n                spectralEnd,\n                successiveApproximation >> 4,\n                successiveApproximation & 15,\n                parseDNLMarker\n              );\n              offset += processed;\n            } catch (ex) {\n              if (ex instanceof DNLMarkerError) {\n                warn(`${ex.message} -- attempting to re-parse the JPEG image.`);\n                return this.parse(data, { dnlScanLines: ex.scanLines });\n              } else if (ex instanceof EOIMarkerError) {\n                warn(`${ex.message} -- ignoring the rest of the image data.`);\n                break markerLoop;\n              }\n              throw ex;\n            }\n            break;\n\n          case 0xffdc: // DNL (Define Number of Lines)\n            // Ignore the marker, since it's being handled in `decodeScan`.\n            offset += 4;\n            break;\n\n          case 0xffff: // Fill bytes\n            if (data[offset] !== 0xff) {\n              // Avoid skipping a valid marker.\n              offset--;\n            }\n            break;\n\n          default:\n            // Could be incorrect encoding -- the last 0xFF byte of the previous\n            // block could have been eaten by the encoder, hence we fallback to\n            // `startPos = offset - 3` when looking for the next valid marker.\n            const nextFileMarker = findNextFileMarker(\n              data,\n              /* currentPos = */ offset - 2,\n              /* startPos = */ offset - 3\n            );\n            if (nextFileMarker && nextFileMarker.invalid) {\n              warn(\n                \"JpegImage.parse - unexpected data, current marker is: \" +\n                  nextFileMarker.invalid\n              );\n              offset = nextFileMarker.offset;\n              break;\n            }\n            if (offset >= data.length - 1) {\n              warn(\n                \"JpegImage.parse - reached the end of the image data \" +\n                  \"without finding an EOI marker (0xFFD9).\"\n              );\n              break markerLoop;\n            }\n            throw new JpegError(\n              \"JpegImage.parse - unknown marker: \" + fileMarker.toString(16)\n            );\n        }\n        fileMarker = readUint16(data, offset);\n        offset += 2;\n      }\n\n      this.width = frame.samplesPerLine;\n      this.height = frame.scanLines;\n      this.jfif = jfif;\n      this.adobe = adobe;\n      this.components = [];\n      for (i = 0; i < frame.components.length; i++) {\n        component = frame.components[i];\n\n        // Prevent errors when DQT markers are placed after SOF{n} markers,\n        // by assigning the `quantizationTable` entry after the entire image\n        // has been parsed (fixes issue7406.pdf).\n        var quantizationTable = quantizationTables[component.quantizationId];\n        if (quantizationTable) {\n          component.quantizationTable = quantizationTable;\n        }\n\n        this.components.push({\n          output: buildComponentData(frame, component),\n          scaleX: component.h / frame.maxH,\n          scaleY: component.v / frame.maxV,\n          blocksPerLine: component.blocksPerLine,\n          blocksPerColumn: component.blocksPerColumn,\n        });\n      }\n      this.numComponents = this.components.length;\n      return undefined;\n    },\n\n    _getLinearizedBlockData(width, height, isSourcePDF = false) {\n      var scaleX = this.width / width,\n        scaleY = this.height / height;\n\n      var component, componentScaleX, componentScaleY, blocksPerScanline;\n      var x, y, i, j, k;\n      var index;\n      var offset = 0;\n      var output;\n      var numComponents = this.components.length;\n      var dataLength = width * height * numComponents;\n      var data = new Uint8ClampedArray(dataLength);\n      var xScaleBlockOffset = new Uint32Array(width);\n      var mask3LSB = 0xfffffff8; // used to clear the 3 LSBs\n      let lastComponentScaleX;\n\n      for (i = 0; i < numComponents; i++) {\n        component = this.components[i];\n        componentScaleX = component.scaleX * scaleX;\n        componentScaleY = component.scaleY * scaleY;\n        offset = i;\n        output = component.output;\n        blocksPerScanline = (component.blocksPerLine + 1) << 3;\n        // Precalculate the `xScaleBlockOffset`. Since it doesn't depend on the\n        // component data, that's only necessary when `componentScaleX` changes.\n        if (componentScaleX !== lastComponentScaleX) {\n          for (x = 0; x < width; x++) {\n            j = 0 | (x * componentScaleX);\n            xScaleBlockOffset[x] = ((j & mask3LSB) << 3) | (j & 7);\n          }\n          lastComponentScaleX = componentScaleX;\n        }\n        // linearize the blocks of the component\n        for (y = 0; y < height; y++) {\n          j = 0 | (y * componentScaleY);\n          index = (blocksPerScanline * (j & mask3LSB)) | ((j & 7) << 3);\n          for (x = 0; x < width; x++) {\n            data[offset] = output[index + xScaleBlockOffset[x]];\n            offset += numComponents;\n          }\n        }\n      }\n\n      // decodeTransform contains pairs of multiplier (-256..256) and additive\n      let transform = this._decodeTransform;\n\n      // In PDF files, JPEG images with CMYK colour spaces are usually inverted\n      // (this can be observed by extracting the raw image data).\n      // Since the conversion algorithms (see below) were written primarily for\n      // the PDF use-cases, attempting to use `JpegImage` to parse standalone\n      // JPEG (CMYK) images may thus result in inverted images (see issue 9513).\n      //\n      // Unfortunately it's not (always) possible to tell, from the image data\n      // alone, if it needs to be inverted. Thus in an attempt to provide better\n      // out-of-box behaviour when `JpegImage` is used standalone, default to\n      // inverting JPEG (CMYK) images if and only if the image data does *not*\n      // come from a PDF file and no `decodeTransform` was passed by the user.\n      if (!isSourcePDF && numComponents === 4 && !transform) {\n        // prettier-ignore\n        transform = new Int32Array([\n          -256, 255, -256, 255, -256, 255, -256, 255]);\n      }\n\n      if (transform) {\n        for (i = 0; i < dataLength; ) {\n          for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n            data[i] = ((data[i] * transform[k]) >> 8) + transform[k + 1];\n          }\n        }\n      }\n      return data;\n    },\n\n    get _isColorConversionNeeded() {\n      if (this.adobe) {\n        // The adobe transform marker overrides any previous setting.\n        return !!this.adobe.transformCode;\n      }\n      if (this.numComponents === 3) {\n        if (this._colorTransform === 0) {\n          // If the Adobe transform marker is not present and the image\n          // dictionary has a 'ColorTransform' entry, explicitly set to `0`,\n          // then the colours should *not* be transformed.\n          return false;\n        }\n        return true;\n      }\n      // `this.numComponents !== 3`\n      if (this._colorTransform === 1) {\n        // If the Adobe transform marker is not present and the image\n        // dictionary has a 'ColorTransform' entry, explicitly set to `1`,\n        // then the colours should be transformed.\n        return true;\n      }\n      return false;\n    },\n\n    _convertYccToRgb: function convertYccToRgb(data) {\n      var Y, Cb, Cr;\n      for (var i = 0, length = data.length; i < length; i += 3) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = Y - 179.456 + 1.402 * Cr;\n        data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n        data[i + 2] = Y - 226.816 + 1.772 * Cb;\n      }\n      return data;\n    },\n\n    _convertYcckToRgb: function convertYcckToRgb(data) {\n      var Y, Cb, Cr, k;\n      var offset = 0;\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        k = data[i + 3];\n\n        data[offset++] =\n          -122.67195406894 +\n          Cb *\n            (-6.60635669420364e-5 * Cb +\n              0.000437130475926232 * Cr -\n              5.4080610064599e-5 * Y +\n              0.00048449797120281 * k -\n              0.154362151871126) +\n          Cr *\n            (-0.000957964378445773 * Cr +\n              0.000817076911346625 * Y -\n              0.00477271405408747 * k +\n              1.53380253221734) +\n          Y *\n            (0.000961250184130688 * Y -\n              0.00266257332283933 * k +\n              0.48357088451265) +\n          k * (-0.000336197177618394 * k + 0.484791561490776);\n\n        data[offset++] =\n          107.268039397724 +\n          Cb *\n            (2.19927104525741e-5 * Cb -\n              0.000640992018297945 * Cr +\n              0.000659397001245577 * Y +\n              0.000426105652938837 * k -\n              0.176491792462875) +\n          Cr *\n            (-0.000778269941513683 * Cr +\n              0.00130872261408275 * Y +\n              0.000770482631801132 * k -\n              0.151051492775562) +\n          Y *\n            (0.00126935368114843 * Y -\n              0.00265090189010898 * k +\n              0.25802910206845) +\n          k * (-0.000318913117588328 * k - 0.213742400323665);\n\n        data[offset++] =\n          -20.810012546947 +\n          Cb *\n            (-0.000570115196973677 * Cb -\n              2.63409051004589e-5 * Cr +\n              0.0020741088115012 * Y -\n              0.00288260236853442 * k +\n              0.814272968359295) +\n          Cr *\n            (-1.53496057440975e-5 * Cr -\n              0.000132689043961446 * Y +\n              0.000560833691242812 * k -\n              0.195152027534049) +\n          Y *\n            (0.00174418132927582 * Y -\n              0.00255243321439347 * k +\n              0.116935020465145) +\n          k * (-0.000343531996510555 * k + 0.24165260232407);\n      }\n      // Ensure that only the converted RGB data is returned.\n      return data.subarray(0, offset);\n    },\n\n    _convertYcckToCmyk: function convertYcckToCmyk(data) {\n      var Y, Cb, Cr;\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = 434.456 - Y - 1.402 * Cr;\n        data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n        data[i + 2] = 481.816 - Y - 1.772 * Cb;\n        // K in data[i + 3] is unchanged\n      }\n      return data;\n    },\n\n    _convertCmykToRgb: function convertCmykToRgb(data) {\n      var c, m, y, k;\n      var offset = 0;\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        c = data[i];\n        m = data[i + 1];\n        y = data[i + 2];\n        k = data[i + 3];\n\n        data[offset++] =\n          255 +\n          c *\n            (-0.00006747147073602441 * c +\n              0.0008379262121013727 * m +\n              0.0002894718188643294 * y +\n              0.003264231057537806 * k -\n              1.1185611867203937) +\n          m *\n            (0.000026374107616089405 * m -\n              0.00008626949158638572 * y -\n              0.0002748769067499491 * k -\n              0.02155688794978967) +\n          y *\n            (-0.00003878099212869363 * y -\n              0.0003267808279485286 * k +\n              0.0686742238595345) -\n          k * (0.0003361971776183937 * k + 0.7430659151342254);\n\n        data[offset++] =\n          255 +\n          c *\n            (0.00013596372813588848 * c +\n              0.000924537132573585 * m +\n              0.00010567359618683593 * y +\n              0.0004791864687436512 * k -\n              0.3109689587515875) +\n          m *\n            (-0.00023545346108370344 * m +\n              0.0002702845253534714 * y +\n              0.0020200308977307156 * k -\n              0.7488052167015494) +\n          y *\n            (0.00006834815998235662 * y +\n              0.00015168452363460973 * k -\n              0.09751927774728933) -\n          k * (0.00031891311758832814 * k + 0.7364883807733168);\n\n        data[offset++] =\n          255 +\n          c *\n            (0.000013598650411385307 * c +\n              0.00012423956175490851 * m +\n              0.0004751985097583589 * y -\n              0.0000036729317476630422 * k -\n              0.05562186980264034) +\n          m *\n            (0.00016141380598724676 * m +\n              0.0009692239130725186 * y +\n              0.0007782692450036253 * k -\n              0.44015232367526463) +\n          y *\n            (5.068882914068769e-7 * y +\n              0.0017778369011375071 * k -\n              0.7591454649749609) -\n          k * (0.0003435319965105553 * k + 0.7063770186160144);\n      }\n      // Ensure that only the converted RGB data is returned.\n      return data.subarray(0, offset);\n    },\n\n    getData({ width, height, forceRGB = false, isSourcePDF = false }) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          isSourcePDF === true,\n          'JpegImage.getData: Unexpected \"isSourcePDF\" value for PDF files.'\n        );\n      }\n      if (this.numComponents > 4) {\n        throw new JpegError(\"Unsupported color mode\");\n      }\n      // Type of data: Uint8ClampedArray(width * height * numComponents)\n      var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n      if (this.numComponents === 1 && forceRGB) {\n        var dataLength = data.length;\n        var rgbData = new Uint8ClampedArray(dataLength * 3);\n        var offset = 0;\n        for (var i = 0; i < dataLength; i++) {\n          var grayColor = data[i];\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n        }\n        return rgbData;\n      } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n        return this._convertYccToRgb(data);\n      } else if (this.numComponents === 4) {\n        if (this._isColorConversionNeeded) {\n          if (forceRGB) {\n            return this._convertYcckToRgb(data);\n          }\n          return this._convertYcckToCmyk(data);\n        } else if (forceRGB) {\n          return this._convertCmykToRgb(data);\n        }\n      }\n      return data;\n    },\n  };\n\n  return JpegImage;\n})();\n\nexport { JpegImage };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { DecodeStream } from \"./stream.js\";\nimport { JpxImage } from \"./jpx.js\";\nimport { shadow } from \"../shared/util.js\";\n\n/**\n * For JPEG 2000's we use a library to decode these images and\n * the stream behaves like all the other DecodeStreams.\n */\nconst JpxStream = (function JpxStreamClosure() {\n  function JpxStream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  JpxStream.prototype = Object.create(DecodeStream.prototype);\n\n  Object.defineProperty(JpxStream.prototype, \"bytes\", {\n    get: function JpxStream_bytes() {\n      // If `this.maybeLength` is null, we'll get the entire stream.\n      return shadow(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true,\n  });\n\n  JpxStream.prototype.ensureBuffer = function(requested) {\n    // No-op, since `this.readBlock` will always parse the entire image and\n    // directly insert all of its data into `this.buffer`.\n  };\n\n  JpxStream.prototype.readBlock = function() {\n    if (this.eof) {\n      return;\n    }\n    const jpxImage = new JpxImage();\n    jpxImage.parse(this.bytes);\n\n    const width = jpxImage.width;\n    const height = jpxImage.height;\n    const componentsCount = jpxImage.componentsCount;\n    const tileCount = jpxImage.tiles.length;\n    if (tileCount === 1) {\n      this.buffer = jpxImage.tiles[0].items;\n    } else {\n      const data = new Uint8ClampedArray(width * height * componentsCount);\n\n      for (let k = 0; k < tileCount; k++) {\n        const tileComponents = jpxImage.tiles[k];\n        const tileWidth = tileComponents.width;\n        const tileHeight = tileComponents.height;\n        const tileLeft = tileComponents.left;\n        const tileTop = tileComponents.top;\n\n        const src = tileComponents.items;\n        let srcPosition = 0;\n        let dataPosition = (width * tileTop + tileLeft) * componentsCount;\n        const imgRowSize = width * componentsCount;\n        const tileRowSize = tileWidth * componentsCount;\n\n        for (let j = 0; j < tileHeight; j++) {\n          const rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n          data.set(rowBytes, dataPosition);\n          srcPosition += tileRowSize;\n          dataPosition += imgRowSize;\n        }\n      }\n      this.buffer = data;\n    }\n    this.bufferLength = this.buffer.length;\n    this.eof = true;\n  };\n\n  return JpxStream;\n})();\n\nexport { JpxStream };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { BaseException, info, warn } from \"../shared/util.js\";\nimport { log2, readUint16, readUint32 } from \"./core_utils.js\";\nimport { ArithmeticDecoder } from \"./arithmetic_decoder.js\";\n\nclass JpxError extends BaseException {\n  constructor(msg) {\n    super(`JPX error: ${msg}`);\n  }\n}\n\nvar JpxImage = (function JpxImageClosure() {\n  // Table E.1\n  var SubbandsGainLog2 = {\n    LL: 0,\n    LH: 1,\n    HL: 1,\n    HH: 2,\n  };\n  function JpxImage() {\n    this.failOnCorruptedImage = false;\n  }\n  JpxImage.prototype = {\n    parse: function JpxImage_parse(data) {\n      var head = readUint16(data, 0);\n      // No box header, immediate start of codestream (SOC)\n      if (head === 0xff4f) {\n        this.parseCodestream(data, 0, data.length);\n        return;\n      }\n\n      var position = 0,\n        length = data.length;\n      while (position < length) {\n        var headerSize = 8;\n        var lbox = readUint32(data, position);\n        var tbox = readUint32(data, position + 4);\n        position += headerSize;\n        if (lbox === 1) {\n          // XLBox: read UInt64 according to spec.\n          // JavaScript's int precision of 53 bit should be sufficient here.\n          lbox =\n            readUint32(data, position) * 4294967296 +\n            readUint32(data, position + 4);\n          position += 8;\n          headerSize += 8;\n        }\n        if (lbox === 0) {\n          lbox = length - position + headerSize;\n        }\n        if (lbox < headerSize) {\n          throw new JpxError(\"Invalid box field size\");\n        }\n        var dataLength = lbox - headerSize;\n        var jumpDataLength = true;\n        switch (tbox) {\n          case 0x6a703268: // 'jp2h'\n            jumpDataLength = false; // parsing child boxes\n            break;\n          case 0x636f6c72: // 'colr'\n            // Colorspaces are not used, the CS from the PDF is used.\n            var method = data[position];\n            if (method === 1) {\n              // enumerated colorspace\n              var colorspace = readUint32(data, position + 3);\n              switch (colorspace) {\n                case 16: // this indicates a sRGB colorspace\n                case 17: // this indicates a grayscale colorspace\n                case 18: // this indicates a YUV colorspace\n                  break;\n                default:\n                  warn(\"Unknown colorspace \" + colorspace);\n                  break;\n              }\n            } else if (method === 2) {\n              info(\"ICC profile not supported\");\n            }\n            break;\n          case 0x6a703263: // 'jp2c'\n            this.parseCodestream(data, position, position + dataLength);\n            break;\n          case 0x6a502020: // 'jP\\024\\024'\n            if (readUint32(data, position) !== 0x0d0a870a) {\n              warn(\"Invalid JP2 signature\");\n            }\n            break;\n          // The following header types are valid but currently not used:\n          case 0x6a501a1a: // 'jP\\032\\032'\n          case 0x66747970: // 'ftyp'\n          case 0x72726571: // 'rreq'\n          case 0x72657320: // 'res '\n          case 0x69686472: // 'ihdr'\n            break;\n          default:\n            var headerType = String.fromCharCode(\n              (tbox >> 24) & 0xff,\n              (tbox >> 16) & 0xff,\n              (tbox >> 8) & 0xff,\n              tbox & 0xff\n            );\n            warn(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n            break;\n        }\n        if (jumpDataLength) {\n          position += dataLength;\n        }\n      }\n    },\n    parseImageProperties: function JpxImage_parseImageProperties(stream) {\n      var newByte = stream.getByte();\n      while (newByte >= 0) {\n        var oldByte = newByte;\n        newByte = stream.getByte();\n        var code = (oldByte << 8) | newByte;\n        // Image and tile size (SIZ)\n        if (code === 0xff51) {\n          stream.skip(4);\n          var Xsiz = stream.getInt32() >>> 0; // Byte 4\n          var Ysiz = stream.getInt32() >>> 0; // Byte 8\n          var XOsiz = stream.getInt32() >>> 0; // Byte 12\n          var YOsiz = stream.getInt32() >>> 0; // Byte 16\n          stream.skip(16);\n          var Csiz = stream.getUint16(); // Byte 36\n          this.width = Xsiz - XOsiz;\n          this.height = Ysiz - YOsiz;\n          this.componentsCount = Csiz;\n          // Results are always returned as `Uint8ClampedArray`s.\n          this.bitsPerComponent = 8;\n          return;\n        }\n      }\n      throw new JpxError(\"No size marker found in JPX stream\");\n    },\n    parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n      var context = {};\n      var doNotRecover = false;\n      try {\n        var position = start;\n        while (position + 1 < end) {\n          var code = readUint16(data, position);\n          position += 2;\n\n          var length = 0,\n            j,\n            sqcd,\n            spqcds,\n            spqcdSize,\n            scalarExpounded,\n            tile;\n          switch (code) {\n            case 0xff4f: // Start of codestream (SOC)\n              context.mainHeader = true;\n              break;\n            case 0xffd9: // End of codestream (EOC)\n              break;\n            case 0xff51: // Image and tile size (SIZ)\n              length = readUint16(data, position);\n              var siz = {};\n              siz.Xsiz = readUint32(data, position + 4);\n              siz.Ysiz = readUint32(data, position + 8);\n              siz.XOsiz = readUint32(data, position + 12);\n              siz.YOsiz = readUint32(data, position + 16);\n              siz.XTsiz = readUint32(data, position + 20);\n              siz.YTsiz = readUint32(data, position + 24);\n              siz.XTOsiz = readUint32(data, position + 28);\n              siz.YTOsiz = readUint32(data, position + 32);\n              var componentsCount = readUint16(data, position + 36);\n              siz.Csiz = componentsCount;\n              var components = [];\n              j = position + 38;\n              for (var i = 0; i < componentsCount; i++) {\n                var component = {\n                  precision: (data[j] & 0x7f) + 1,\n                  isSigned: !!(data[j] & 0x80),\n                  XRsiz: data[j + 1],\n                  YRsiz: data[j + 2],\n                };\n                j += 3;\n                calculateComponentDimensions(component, siz);\n                components.push(component);\n              }\n              context.SIZ = siz;\n              context.components = components;\n              calculateTileGrids(context, components);\n              context.QCC = [];\n              context.COC = [];\n              break;\n            case 0xff5c: // Quantization default (QCD)\n              length = readUint16(data, position);\n              var qcd = {};\n              j = position + 2;\n              sqcd = data[j++];\n              switch (sqcd & 0x1f) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n                default:\n                  throw new Error(\"Invalid SQcd value \" + sqcd);\n              }\n              qcd.noQuantization = spqcdSize === 8;\n              qcd.scalarExpounded = scalarExpounded;\n              qcd.guardBits = sqcd >> 5;\n              spqcds = [];\n              while (j < length + position) {\n                var spqcd = {};\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n                  j += 2;\n                }\n                spqcds.push(spqcd);\n              }\n              qcd.SPqcds = spqcds;\n              if (context.mainHeader) {\n                context.QCD = qcd;\n              } else {\n                context.currentTile.QCD = qcd;\n                context.currentTile.QCC = [];\n              }\n              break;\n            case 0xff5d: // Quantization component (QCC)\n              length = readUint16(data, position);\n              var qcc = {};\n              j = position + 2;\n              var cqcc;\n              if (context.SIZ.Csiz < 257) {\n                cqcc = data[j++];\n              } else {\n                cqcc = readUint16(data, j);\n                j += 2;\n              }\n              sqcd = data[j++];\n              switch (sqcd & 0x1f) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n                default:\n                  throw new Error(\"Invalid SQcd value \" + sqcd);\n              }\n              qcc.noQuantization = spqcdSize === 8;\n              qcc.scalarExpounded = scalarExpounded;\n              qcc.guardBits = sqcd >> 5;\n              spqcds = [];\n              while (j < length + position) {\n                spqcd = {};\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n                  j += 2;\n                }\n                spqcds.push(spqcd);\n              }\n              qcc.SPqcds = spqcds;\n              if (context.mainHeader) {\n                context.QCC[cqcc] = qcc;\n              } else {\n                context.currentTile.QCC[cqcc] = qcc;\n              }\n              break;\n            case 0xff52: // Coding style default (COD)\n              length = readUint16(data, position);\n              var cod = {};\n              j = position + 2;\n              var scod = data[j++];\n              cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n              cod.sopMarkerUsed = !!(scod & 2);\n              cod.ephMarkerUsed = !!(scod & 4);\n              cod.progressionOrder = data[j++];\n              cod.layersCount = readUint16(data, j);\n              j += 2;\n              cod.multipleComponentTransform = data[j++];\n\n              cod.decompositionLevelsCount = data[j++];\n              cod.xcb = (data[j++] & 0xf) + 2;\n              cod.ycb = (data[j++] & 0xf) + 2;\n              var blockStyle = data[j++];\n              cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n              cod.resetContextProbabilities = !!(blockStyle & 2);\n              cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n              cod.verticallyStripe = !!(blockStyle & 8);\n              cod.predictableTermination = !!(blockStyle & 16);\n              cod.segmentationSymbolUsed = !!(blockStyle & 32);\n              cod.reversibleTransformation = data[j++];\n              if (cod.entropyCoderWithCustomPrecincts) {\n                var precinctsSizes = [];\n                while (j < length + position) {\n                  var precinctsSize = data[j++];\n                  precinctsSizes.push({\n                    PPx: precinctsSize & 0xf,\n                    PPy: precinctsSize >> 4,\n                  });\n                }\n                cod.precinctsSizes = precinctsSizes;\n              }\n              var unsupported = [];\n              if (cod.selectiveArithmeticCodingBypass) {\n                unsupported.push(\"selectiveArithmeticCodingBypass\");\n              }\n              if (cod.resetContextProbabilities) {\n                unsupported.push(\"resetContextProbabilities\");\n              }\n              if (cod.terminationOnEachCodingPass) {\n                unsupported.push(\"terminationOnEachCodingPass\");\n              }\n              if (cod.verticallyStripe) {\n                unsupported.push(\"verticallyStripe\");\n              }\n              if (cod.predictableTermination) {\n                unsupported.push(\"predictableTermination\");\n              }\n              if (unsupported.length > 0) {\n                doNotRecover = true;\n                throw new Error(\n                  \"Unsupported COD options (\" + unsupported.join(\", \") + \")\"\n                );\n              }\n              if (context.mainHeader) {\n                context.COD = cod;\n              } else {\n                context.currentTile.COD = cod;\n                context.currentTile.COC = [];\n              }\n              break;\n            case 0xff90: // Start of tile-part (SOT)\n              length = readUint16(data, position);\n              tile = {};\n              tile.index = readUint16(data, position + 2);\n              tile.length = readUint32(data, position + 4);\n              tile.dataEnd = tile.length + position - 2;\n              tile.partIndex = data[position + 8];\n              tile.partsCount = data[position + 9];\n\n              context.mainHeader = false;\n              if (tile.partIndex === 0) {\n                // reset component specific settings\n                tile.COD = context.COD;\n                tile.COC = context.COC.slice(0); // clone of the global COC\n                tile.QCD = context.QCD;\n                tile.QCC = context.QCC.slice(0); // clone of the global COC\n              }\n              context.currentTile = tile;\n              break;\n            case 0xff93: // Start of data (SOD)\n              tile = context.currentTile;\n              if (tile.partIndex === 0) {\n                initializeTile(context, tile.index);\n                buildPackets(context);\n              }\n\n              // moving to the end of the data\n              length = tile.dataEnd - position;\n              parseTilePackets(context, data, position, length);\n              break;\n            case 0xff55: // Tile-part lengths, main header (TLM)\n            case 0xff57: // Packet length, main header (PLM)\n            case 0xff58: // Packet length, tile-part header (PLT)\n            case 0xff64: // Comment (COM)\n              length = readUint16(data, position);\n              // skipping content\n              break;\n            case 0xff53: // Coding style component (COC)\n              throw new Error(\n                \"Codestream code 0xFF53 (COC) is not implemented\"\n              );\n            default:\n              throw new Error(\"Unknown codestream code: \" + code.toString(16));\n          }\n          position += length;\n        }\n      } catch (e) {\n        if (doNotRecover || this.failOnCorruptedImage) {\n          throw new JpxError(e.message);\n        } else {\n          warn(\"JPX: Trying to recover from: \" + e.message);\n        }\n      }\n      this.tiles = transformComponents(context);\n      this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n      this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n      this.componentsCount = context.SIZ.Csiz;\n    },\n  };\n  function calculateComponentDimensions(component, siz) {\n    // Section B.2 Component mapping\n    component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n    component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n    component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n    component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n    component.width = component.x1 - component.x0;\n    component.height = component.y1 - component.y0;\n  }\n  function calculateTileGrids(context, components) {\n    var siz = context.SIZ;\n    // Section B.3 Division into tile and tile-components\n    var tile,\n      tiles = [];\n    var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n    var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n    for (var q = 0; q < numYtiles; q++) {\n      for (var p = 0; p < numXtiles; p++) {\n        tile = {};\n        tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n        tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n        tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n        tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n        tile.width = tile.tx1 - tile.tx0;\n        tile.height = tile.ty1 - tile.ty0;\n        tile.components = [];\n        tiles.push(tile);\n      }\n    }\n    context.tiles = tiles;\n\n    var componentsCount = siz.Csiz;\n    for (var i = 0, ii = componentsCount; i < ii; i++) {\n      var component = components[i];\n      for (var j = 0, jj = tiles.length; j < jj; j++) {\n        var tileComponent = {};\n        tile = tiles[j];\n        tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n        tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n        tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n        tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n        tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n        tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n        tile.components[i] = tileComponent;\n      }\n    }\n  }\n  function getBlocksDimensions(context, component, r) {\n    var codOrCoc = component.codingStyleParameters;\n    var result = {};\n    if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n      result.PPx = 15;\n      result.PPy = 15;\n    } else {\n      result.PPx = codOrCoc.precinctsSizes[r].PPx;\n      result.PPy = codOrCoc.precinctsSizes[r].PPy;\n    }\n    // calculate codeblock size as described in section B.7\n    result.xcb_ =\n      r > 0\n        ? Math.min(codOrCoc.xcb, result.PPx - 1)\n        : Math.min(codOrCoc.xcb, result.PPx);\n    result.ycb_ =\n      r > 0\n        ? Math.min(codOrCoc.ycb, result.PPy - 1)\n        : Math.min(codOrCoc.ycb, result.PPy);\n    return result;\n  }\n  function buildPrecincts(context, resolution, dimensions) {\n    // Section B.6 Division resolution to precincts\n    var precinctWidth = 1 << dimensions.PPx;\n    var precinctHeight = 1 << dimensions.PPy;\n    // Jasper introduces codeblock groups for mapping each subband codeblocks\n    // to precincts. Precinct partition divides a resolution according to width\n    // and height parameters. The subband that belongs to the resolution level\n    // has a different size than the level, unless it is the zero resolution.\n\n    // From Jasper documentation: jpeg2000.pdf, section K: Tier-2 coding:\n    // The precinct partitioning for a particular subband is derived from a\n    // partitioning of its parent LL band (i.e., the LL band at the next higher\n    // resolution level)... The LL band associated with each resolution level is\n    // divided into precincts... Each of the resulting precinct regions is then\n    // mapped into its child subbands (if any) at the next lower resolution\n    // level. This is accomplished by using the coordinate transformation\n    // (u, v) = (ceil(x/2), ceil(y/2)) where (x, y) and (u, v) are the\n    // coordinates of a point in the LL band and child subband, respectively.\n    var isZeroRes = resolution.resLevel === 0;\n    var precinctWidthInSubband = 1 << (dimensions.PPx + (isZeroRes ? 0 : -1));\n    var precinctHeightInSubband = 1 << (dimensions.PPy + (isZeroRes ? 0 : -1));\n    var numprecinctswide =\n      resolution.trx1 > resolution.trx0\n        ? Math.ceil(resolution.trx1 / precinctWidth) -\n          Math.floor(resolution.trx0 / precinctWidth)\n        : 0;\n    var numprecinctshigh =\n      resolution.try1 > resolution.try0\n        ? Math.ceil(resolution.try1 / precinctHeight) -\n          Math.floor(resolution.try0 / precinctHeight)\n        : 0;\n    var numprecincts = numprecinctswide * numprecinctshigh;\n\n    resolution.precinctParameters = {\n      precinctWidth,\n      precinctHeight,\n      numprecinctswide,\n      numprecinctshigh,\n      numprecincts,\n      precinctWidthInSubband,\n      precinctHeightInSubband,\n    };\n  }\n  function buildCodeblocks(context, subband, dimensions) {\n    // Section B.7 Division sub-band into code-blocks\n    var xcb_ = dimensions.xcb_;\n    var ycb_ = dimensions.ycb_;\n    var codeblockWidth = 1 << xcb_;\n    var codeblockHeight = 1 << ycb_;\n    var cbx0 = subband.tbx0 >> xcb_;\n    var cby0 = subband.tby0 >> ycb_;\n    var cbx1 = (subband.tbx1 + codeblockWidth - 1) >> xcb_;\n    var cby1 = (subband.tby1 + codeblockHeight - 1) >> ycb_;\n    var precinctParameters = subband.resolution.precinctParameters;\n    var codeblocks = [];\n    var precincts = [];\n    var i, j, codeblock, precinctNumber;\n    for (j = cby0; j < cby1; j++) {\n      for (i = cbx0; i < cbx1; i++) {\n        codeblock = {\n          cbx: i,\n          cby: j,\n          tbx0: codeblockWidth * i,\n          tby0: codeblockHeight * j,\n          tbx1: codeblockWidth * (i + 1),\n          tby1: codeblockHeight * (j + 1),\n        };\n\n        codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n        codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n        codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n        codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n\n        // Calculate precinct number for this codeblock, codeblock position\n        // should be relative to its subband, use actual dimension and position\n        // See comment about codeblock group width and height\n        var pi = Math.floor(\n          (codeblock.tbx0_ - subband.tbx0) /\n            precinctParameters.precinctWidthInSubband\n        );\n        var pj = Math.floor(\n          (codeblock.tby0_ - subband.tby0) /\n            precinctParameters.precinctHeightInSubband\n        );\n        precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n\n        codeblock.precinctNumber = precinctNumber;\n        codeblock.subbandType = subband.type;\n        codeblock.Lblock = 3;\n\n        if (\n          codeblock.tbx1_ <= codeblock.tbx0_ ||\n          codeblock.tby1_ <= codeblock.tby0_\n        ) {\n          continue;\n        }\n        codeblocks.push(codeblock);\n        // building precinct for the sub-band\n        var precinct = precincts[precinctNumber];\n        if (precinct !== undefined) {\n          if (i < precinct.cbxMin) {\n            precinct.cbxMin = i;\n          } else if (i > precinct.cbxMax) {\n            precinct.cbxMax = i;\n          }\n          if (j < precinct.cbyMin) {\n            precinct.cbxMin = j;\n          } else if (j > precinct.cbyMax) {\n            precinct.cbyMax = j;\n          }\n        } else {\n          precincts[precinctNumber] = precinct = {\n            cbxMin: i,\n            cbyMin: j,\n            cbxMax: i,\n            cbyMax: j,\n          };\n        }\n        codeblock.precinct = precinct;\n      }\n    }\n    subband.codeblockParameters = {\n      codeblockWidth: xcb_,\n      codeblockHeight: ycb_,\n      numcodeblockwide: cbx1 - cbx0 + 1,\n      numcodeblockhigh: cby1 - cby0 + 1,\n    };\n    subband.codeblocks = codeblocks;\n    subband.precincts = precincts;\n  }\n  function createPacket(resolution, precinctNumber, layerNumber) {\n    var precinctCodeblocks = [];\n    // Section B.10.8 Order of info in packet\n    var subbands = resolution.subbands;\n    // sub-bands already ordered in 'LL', 'HL', 'LH', and 'HH' sequence\n    for (var i = 0, ii = subbands.length; i < ii; i++) {\n      var subband = subbands[i];\n      var codeblocks = subband.codeblocks;\n      for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n        var codeblock = codeblocks[j];\n        if (codeblock.precinctNumber !== precinctNumber) {\n          continue;\n        }\n        precinctCodeblocks.push(codeblock);\n      }\n    }\n    return {\n      layerNumber,\n      codeblocks: precinctCodeblocks,\n    };\n  }\n  function LayerResolutionComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(\n        maxDecompositionLevelsCount,\n        tile.components[q].codingStyleParameters.decompositionLevelsCount\n      );\n    }\n\n    var l = 0,\n      r = 0,\n      i = 0,\n      k = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      // Section B.12.1.1 Layer-resolution-component-position\n      for (; l < layersCount; l++) {\n        for (; r <= maxDecompositionLevelsCount; r++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n            for (; k < numprecincts; ) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n            k = 0;\n          }\n          i = 0;\n        }\n        r = 0;\n      }\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n  function ResolutionLayerComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(\n        maxDecompositionLevelsCount,\n        tile.components[q].codingStyleParameters.decompositionLevelsCount\n      );\n    }\n\n    var r = 0,\n      l = 0,\n      i = 0,\n      k = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      // Section B.12.1.2 Resolution-layer-component-position\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; l < layersCount; l++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n            for (; k < numprecincts; ) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n            k = 0;\n          }\n          i = 0;\n        }\n        l = 0;\n      }\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n  function ResolutionPositionComponentLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var l, r, c, p;\n    var maxDecompositionLevelsCount = 0;\n    for (c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      maxDecompositionLevelsCount = Math.max(\n        maxDecompositionLevelsCount,\n        component.codingStyleParameters.decompositionLevelsCount\n      );\n    }\n    var maxNumPrecinctsInLevel = new Int32Array(\n      maxDecompositionLevelsCount + 1\n    );\n    for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n      var maxNumPrecincts = 0;\n      for (c = 0; c < componentsCount; ++c) {\n        var resolutions = tile.components[c].resolutions;\n        if (r < resolutions.length) {\n          maxNumPrecincts = Math.max(\n            maxNumPrecincts,\n            resolutions[r].precinctParameters.numprecincts\n          );\n        }\n      }\n      maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n    }\n    l = 0;\n    r = 0;\n    c = 0;\n    p = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      // Section B.12.1.3 Resolution-position-component-layer\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; p < maxNumPrecinctsInLevel[r]; p++) {\n          for (; c < componentsCount; c++) {\n            var component = tile.components[c];\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n            if (p >= numprecincts) {\n              continue;\n            }\n            for (; l < layersCount; ) {\n              var packet = createPacket(resolution, p, l);\n              l++;\n              return packet;\n            }\n            l = 0;\n          }\n          c = 0;\n        }\n        p = 0;\n      }\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n  function PositionComponentResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var precinctsIterationSizes = precinctsSizes;\n    var l = 0,\n      r = 0,\n      c = 0,\n      px = 0,\n      py = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      // Section B.12.1.4 Position-component-resolution-layer\n      for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n        for (; px < precinctsIterationSizes.maxNumWide; px++) {\n          for (; c < componentsCount; c++) {\n            var component = tile.components[c];\n            var decompositionLevelsCount =\n              component.codingStyleParameters.decompositionLevelsCount;\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale =\n                precinctsSizes.components[c].resolutions[r];\n              var k = getPrecinctIndexIfExist(\n                px,\n                py,\n                sizeInImageScale,\n                precinctsIterationSizes,\n                resolution\n              );\n              if (k === null) {\n                continue;\n              }\n              for (; l < layersCount; ) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n              l = 0;\n            }\n            r = 0;\n          }\n          c = 0;\n        }\n        px = 0;\n      }\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n  function ComponentPositionResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var l = 0,\n      r = 0,\n      c = 0,\n      px = 0,\n      py = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      // Section B.12.1.5 Component-position-resolution-layer\n      for (; c < componentsCount; ++c) {\n        var component = tile.components[c];\n        var precinctsIterationSizes = precinctsSizes.components[c];\n        var decompositionLevelsCount =\n          component.codingStyleParameters.decompositionLevelsCount;\n        for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n          for (; px < precinctsIterationSizes.maxNumWide; px++) {\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n              var k = getPrecinctIndexIfExist(\n                px,\n                py,\n                sizeInImageScale,\n                precinctsIterationSizes,\n                resolution\n              );\n              if (k === null) {\n                continue;\n              }\n              for (; l < layersCount; ) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n              l = 0;\n            }\n            r = 0;\n          }\n          px = 0;\n        }\n        py = 0;\n      }\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n  function getPrecinctIndexIfExist(\n    pxIndex,\n    pyIndex,\n    sizeInImageScale,\n    precinctIterationSizes,\n    resolution\n  ) {\n    var posX = pxIndex * precinctIterationSizes.minWidth;\n    var posY = pyIndex * precinctIterationSizes.minHeight;\n    if (\n      posX % sizeInImageScale.width !== 0 ||\n      posY % sizeInImageScale.height !== 0\n    ) {\n      return null;\n    }\n    var startPrecinctRowIndex =\n      (posY / sizeInImageScale.width) *\n      resolution.precinctParameters.numprecinctswide;\n    return posX / sizeInImageScale.height + startPrecinctRowIndex;\n  }\n  function getPrecinctSizesInImageScale(tile) {\n    var componentsCount = tile.components.length;\n    var minWidth = Number.MAX_VALUE;\n    var minHeight = Number.MAX_VALUE;\n    var maxNumWide = 0;\n    var maxNumHigh = 0;\n    var sizePerComponent = new Array(componentsCount);\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount =\n        component.codingStyleParameters.decompositionLevelsCount;\n      var sizePerResolution = new Array(decompositionLevelsCount + 1);\n      var minWidthCurrentComponent = Number.MAX_VALUE;\n      var minHeightCurrentComponent = Number.MAX_VALUE;\n      var maxNumWideCurrentComponent = 0;\n      var maxNumHighCurrentComponent = 0;\n      var scale = 1;\n      for (var r = decompositionLevelsCount; r >= 0; --r) {\n        var resolution = component.resolutions[r];\n        var widthCurrentResolution =\n          scale * resolution.precinctParameters.precinctWidth;\n        var heightCurrentResolution =\n          scale * resolution.precinctParameters.precinctHeight;\n        minWidthCurrentComponent = Math.min(\n          minWidthCurrentComponent,\n          widthCurrentResolution\n        );\n        minHeightCurrentComponent = Math.min(\n          minHeightCurrentComponent,\n          heightCurrentResolution\n        );\n        maxNumWideCurrentComponent = Math.max(\n          maxNumWideCurrentComponent,\n          resolution.precinctParameters.numprecinctswide\n        );\n        maxNumHighCurrentComponent = Math.max(\n          maxNumHighCurrentComponent,\n          resolution.precinctParameters.numprecinctshigh\n        );\n        sizePerResolution[r] = {\n          width: widthCurrentResolution,\n          height: heightCurrentResolution,\n        };\n        scale <<= 1;\n      }\n      minWidth = Math.min(minWidth, minWidthCurrentComponent);\n      minHeight = Math.min(minHeight, minHeightCurrentComponent);\n      maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n      maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n      sizePerComponent[c] = {\n        resolutions: sizePerResolution,\n        minWidth: minWidthCurrentComponent,\n        minHeight: minHeightCurrentComponent,\n        maxNumWide: maxNumWideCurrentComponent,\n        maxNumHigh: maxNumHighCurrentComponent,\n      };\n    }\n    return {\n      components: sizePerComponent,\n      minWidth,\n      minHeight,\n      maxNumWide,\n      maxNumHigh,\n    };\n  }\n  function buildPackets(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var componentsCount = siz.Csiz;\n    // Creating resolutions and sub-bands for each component\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount =\n        component.codingStyleParameters.decompositionLevelsCount;\n      // Section B.5 Resolution levels and sub-bands\n      var resolutions = [];\n      var subbands = [];\n      for (var r = 0; r <= decompositionLevelsCount; r++) {\n        var blocksDimensions = getBlocksDimensions(context, component, r);\n        var resolution = {};\n        var scale = 1 << (decompositionLevelsCount - r);\n        resolution.trx0 = Math.ceil(component.tcx0 / scale);\n        resolution.try0 = Math.ceil(component.tcy0 / scale);\n        resolution.trx1 = Math.ceil(component.tcx1 / scale);\n        resolution.try1 = Math.ceil(component.tcy1 / scale);\n        resolution.resLevel = r;\n        buildPrecincts(context, resolution, blocksDimensions);\n        resolutions.push(resolution);\n\n        var subband;\n        if (r === 0) {\n          // one sub-band (LL) with last decomposition\n          subband = {};\n          subband.type = \"LL\";\n          subband.tbx0 = Math.ceil(component.tcx0 / scale);\n          subband.tby0 = Math.ceil(component.tcy0 / scale);\n          subband.tbx1 = Math.ceil(component.tcx1 / scale);\n          subband.tby1 = Math.ceil(component.tcy1 / scale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolution.subbands = [subband];\n        } else {\n          var bscale = 1 << (decompositionLevelsCount - r + 1);\n          var resolutionSubbands = [];\n          // three sub-bands (HL, LH and HH) with rest of decompositions\n          subband = {};\n          subband.type = \"HL\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n\n          subband = {};\n          subband.type = \"LH\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n\n          subband = {};\n          subband.type = \"HH\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n\n          resolution.subbands = resolutionSubbands;\n        }\n      }\n      component.resolutions = resolutions;\n      component.subbands = subbands;\n    }\n    // Generate the packets sequence\n    var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n    switch (progressionOrder) {\n      case 0:\n        tile.packetsIterator = new LayerResolutionComponentPositionIterator(\n          context\n        );\n        break;\n      case 1:\n        tile.packetsIterator = new ResolutionLayerComponentPositionIterator(\n          context\n        );\n        break;\n      case 2:\n        tile.packetsIterator = new ResolutionPositionComponentLayerIterator(\n          context\n        );\n        break;\n      case 3:\n        tile.packetsIterator = new PositionComponentResolutionLayerIterator(\n          context\n        );\n        break;\n      case 4:\n        tile.packetsIterator = new ComponentPositionResolutionLayerIterator(\n          context\n        );\n        break;\n      default:\n        throw new JpxError(`Unsupported progression order ${progressionOrder}`);\n    }\n  }\n  function parseTilePackets(context, data, offset, dataLength) {\n    var position = 0;\n    var buffer,\n      bufferSize = 0,\n      skipNextBit = false;\n    function readBits(count) {\n      while (bufferSize < count) {\n        var b = data[offset + position];\n        position++;\n        if (skipNextBit) {\n          buffer = (buffer << 7) | b;\n          bufferSize += 7;\n          skipNextBit = false;\n        } else {\n          buffer = (buffer << 8) | b;\n          bufferSize += 8;\n        }\n        if (b === 0xff) {\n          skipNextBit = true;\n        }\n      }\n      bufferSize -= count;\n      return (buffer >>> bufferSize) & ((1 << count) - 1);\n    }\n    function skipMarkerIfEqual(value) {\n      if (\n        data[offset + position - 1] === 0xff &&\n        data[offset + position] === value\n      ) {\n        skipBytes(1);\n        return true;\n      } else if (\n        data[offset + position] === 0xff &&\n        data[offset + position + 1] === value\n      ) {\n        skipBytes(2);\n        return true;\n      }\n      return false;\n    }\n    function skipBytes(count) {\n      position += count;\n    }\n    function alignToByte() {\n      bufferSize = 0;\n      if (skipNextBit) {\n        position++;\n        skipNextBit = false;\n      }\n    }\n    function readCodingpasses() {\n      if (readBits(1) === 0) {\n        return 1;\n      }\n      if (readBits(1) === 0) {\n        return 2;\n      }\n      var value = readBits(2);\n      if (value < 3) {\n        return value + 3;\n      }\n      value = readBits(5);\n      if (value < 31) {\n        return value + 6;\n      }\n      value = readBits(7);\n      return value + 37;\n    }\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var sopMarkerUsed = context.COD.sopMarkerUsed;\n    var ephMarkerUsed = context.COD.ephMarkerUsed;\n    var packetsIterator = tile.packetsIterator;\n    while (position < dataLength) {\n      alignToByte();\n      if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n        // Skip also marker segment length and packet sequence ID\n        skipBytes(4);\n      }\n      var packet = packetsIterator.nextPacket();\n      if (!readBits(1)) {\n        continue;\n      }\n      var layerNumber = packet.layerNumber;\n      var queue = [],\n        codeblock;\n      for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n        codeblock = packet.codeblocks[i];\n        var precinct = codeblock.precinct;\n        var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n        var codeblockRow = codeblock.cby - precinct.cbyMin;\n        var codeblockIncluded = false;\n        var firstTimeInclusion = false;\n        var valueReady;\n        if (codeblock[\"included\"] !== undefined) {\n          codeblockIncluded = !!readBits(1);\n        } else {\n          // reading inclusion tree\n          precinct = codeblock.precinct;\n          var inclusionTree, zeroBitPlanesTree;\n          if (precinct[\"inclusionTree\"] !== undefined) {\n            inclusionTree = precinct.inclusionTree;\n          } else {\n            // building inclusion and zero bit-planes trees\n            var width = precinct.cbxMax - precinct.cbxMin + 1;\n            var height = precinct.cbyMax - precinct.cbyMin + 1;\n            inclusionTree = new InclusionTree(width, height, layerNumber);\n            zeroBitPlanesTree = new TagTree(width, height);\n            precinct.inclusionTree = inclusionTree;\n            precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n          }\n\n          if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n            while (true) {\n              if (readBits(1)) {\n                valueReady = !inclusionTree.nextLevel();\n                if (valueReady) {\n                  codeblock.included = true;\n                  codeblockIncluded = firstTimeInclusion = true;\n                  break;\n                }\n              } else {\n                inclusionTree.incrementValue(layerNumber);\n                break;\n              }\n            }\n          }\n        }\n        if (!codeblockIncluded) {\n          continue;\n        }\n        if (firstTimeInclusion) {\n          zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n          zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n          while (true) {\n            if (readBits(1)) {\n              valueReady = !zeroBitPlanesTree.nextLevel();\n              if (valueReady) {\n                break;\n              }\n            } else {\n              zeroBitPlanesTree.incrementValue();\n            }\n          }\n          codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n        }\n        var codingpasses = readCodingpasses();\n        while (readBits(1)) {\n          codeblock.Lblock++;\n        }\n        var codingpassesLog2 = log2(codingpasses);\n        // rounding down log2\n        var bits =\n          (codingpasses < 1 << codingpassesLog2\n            ? codingpassesLog2 - 1\n            : codingpassesLog2) + codeblock.Lblock;\n        var codedDataLength = readBits(bits);\n        queue.push({\n          codeblock,\n          codingpasses,\n          dataLength: codedDataLength,\n        });\n      }\n      alignToByte();\n      if (ephMarkerUsed) {\n        skipMarkerIfEqual(0x92);\n      }\n      while (queue.length > 0) {\n        var packetItem = queue.shift();\n        codeblock = packetItem.codeblock;\n        if (codeblock[\"data\"] === undefined) {\n          codeblock.data = [];\n        }\n        codeblock.data.push({\n          data,\n          start: offset + position,\n          end: offset + position + packetItem.dataLength,\n          codingpasses: packetItem.codingpasses,\n        });\n        position += packetItem.dataLength;\n      }\n    }\n    return position;\n  }\n  function copyCoefficients(\n    coefficients,\n    levelWidth,\n    levelHeight,\n    subband,\n    delta,\n    mb,\n    reversible,\n    segmentationSymbolUsed\n  ) {\n    var x0 = subband.tbx0;\n    var y0 = subband.tby0;\n    var width = subband.tbx1 - subband.tbx0;\n    var codeblocks = subband.codeblocks;\n    var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n    var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n    for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n      var codeblock = codeblocks[i];\n      var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n      var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n      if (blockWidth === 0 || blockHeight === 0) {\n        continue;\n      }\n      if (codeblock[\"data\"] === undefined) {\n        continue;\n      }\n\n      var bitModel, currentCodingpassType;\n      bitModel = new BitModel(\n        blockWidth,\n        blockHeight,\n        codeblock.subbandType,\n        codeblock.zeroBitPlanes,\n        mb\n      );\n      currentCodingpassType = 2; // first bit plane starts from cleanup\n\n      // collect data\n      var data = codeblock.data,\n        totalLength = 0,\n        codingpasses = 0;\n      var j, jj, dataItem;\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        totalLength += dataItem.end - dataItem.start;\n        codingpasses += dataItem.codingpasses;\n      }\n      var encodedData = new Uint8Array(totalLength);\n      var position = 0;\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n        encodedData.set(chunk, position);\n        position += chunk.length;\n      }\n      // decoding the item\n      var decoder = new ArithmeticDecoder(encodedData, 0, totalLength);\n      bitModel.setDecoder(decoder);\n\n      for (j = 0; j < codingpasses; j++) {\n        switch (currentCodingpassType) {\n          case 0:\n            bitModel.runSignificancePropagationPass();\n            break;\n          case 1:\n            bitModel.runMagnitudeRefinementPass();\n            break;\n          case 2:\n            bitModel.runCleanupPass();\n            if (segmentationSymbolUsed) {\n              bitModel.checkSegmentationSymbol();\n            }\n            break;\n        }\n        currentCodingpassType = (currentCodingpassType + 1) % 3;\n      }\n\n      var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n      var sign = bitModel.coefficentsSign;\n      var magnitude = bitModel.coefficentsMagnitude;\n      var bitsDecoded = bitModel.bitsDecoded;\n      var magnitudeCorrection = reversible ? 0 : 0.5;\n      var k, n, nb;\n      position = 0;\n      // Do the interleaving of Section F.3.3 here, so we do not need\n      // to copy later. LL level is not interleaved, just copied.\n      var interleave = subband.type !== \"LL\";\n      for (j = 0; j < blockHeight; j++) {\n        var row = (offset / width) | 0; // row in the non-interleaved subband\n        var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n        for (k = 0; k < blockWidth; k++) {\n          n = magnitude[position];\n          if (n !== 0) {\n            n = (n + magnitudeCorrection) * delta;\n            if (sign[position] !== 0) {\n              n = -n;\n            }\n            nb = bitsDecoded[position];\n            var pos = interleave ? levelOffset + (offset << 1) : offset;\n            if (reversible && nb >= mb) {\n              coefficients[pos] = n;\n            } else {\n              coefficients[pos] = n * (1 << (mb - nb));\n            }\n          }\n          offset++;\n          position++;\n        }\n        offset += width - blockWidth;\n      }\n    }\n  }\n  function transformTile(context, tile, c) {\n    var component = tile.components[c];\n    var codingStyleParameters = component.codingStyleParameters;\n    var quantizationParameters = component.quantizationParameters;\n    var decompositionLevelsCount =\n      codingStyleParameters.decompositionLevelsCount;\n    var spqcds = quantizationParameters.SPqcds;\n    var scalarExpounded = quantizationParameters.scalarExpounded;\n    var guardBits = quantizationParameters.guardBits;\n    var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n    var precision = context.components[c].precision;\n\n    var reversible = codingStyleParameters.reversibleTransformation;\n    var transform = reversible\n      ? new ReversibleTransform()\n      : new IrreversibleTransform();\n\n    var subbandCoefficients = [];\n    var b = 0;\n    for (var i = 0; i <= decompositionLevelsCount; i++) {\n      var resolution = component.resolutions[i];\n\n      var width = resolution.trx1 - resolution.trx0;\n      var height = resolution.try1 - resolution.try0;\n      // Allocate space for the whole sublevel.\n      var coefficients = new Float32Array(width * height);\n\n      for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n        var mu, epsilon;\n        if (!scalarExpounded) {\n          // formula E-5\n          mu = spqcds[0].mu;\n          epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n        } else {\n          mu = spqcds[b].mu;\n          epsilon = spqcds[b].epsilon;\n          b++;\n        }\n\n        var subband = resolution.subbands[j];\n        var gainLog2 = SubbandsGainLog2[subband.type];\n\n        // calculate quantization coefficient (Section E.1.1.1)\n        var delta = reversible\n          ? 1\n          : 2 ** (precision + gainLog2 - epsilon) * (1 + mu / 2048);\n        var mb = guardBits + epsilon - 1;\n\n        // In the first resolution level, copyCoefficients will fill the\n        // whole array with coefficients. In the succeeding passes,\n        // copyCoefficients will consecutively fill in the values that belong\n        // to the interleaved positions of the HL, LH, and HH coefficients.\n        // The LL coefficients will then be interleaved in Transform.iterate().\n        copyCoefficients(\n          coefficients,\n          width,\n          height,\n          subband,\n          delta,\n          mb,\n          reversible,\n          segmentationSymbolUsed\n        );\n      }\n      subbandCoefficients.push({\n        width,\n        height,\n        items: coefficients,\n      });\n    }\n\n    var result = transform.calculate(\n      subbandCoefficients,\n      component.tcx0,\n      component.tcy0\n    );\n    return {\n      left: component.tcx0,\n      top: component.tcy0,\n      width: result.width,\n      height: result.height,\n      items: result.items,\n    };\n  }\n  function transformComponents(context) {\n    var siz = context.SIZ;\n    var components = context.components;\n    var componentsCount = siz.Csiz;\n    var resultImages = [];\n    for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n      var tile = context.tiles[i];\n      var transformedTiles = [];\n      var c;\n      for (c = 0; c < componentsCount; c++) {\n        transformedTiles[c] = transformTile(context, tile, c);\n      }\n      var tile0 = transformedTiles[0];\n      var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n      var result = {\n        left: tile0.left,\n        top: tile0.top,\n        width: tile0.width,\n        height: tile0.height,\n        items: out,\n      };\n\n      // Section G.2.2 Inverse multi component transform\n      var shift, offset;\n      var pos = 0,\n        j,\n        jj,\n        y0,\n        y1,\n        y2;\n      if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n        var fourComponents = componentsCount === 4;\n        var y0items = transformedTiles[0].items;\n        var y1items = transformedTiles[1].items;\n        var y2items = transformedTiles[2].items;\n        var y3items = fourComponents ? transformedTiles[3].items : null;\n\n        // HACK: The multiple component transform formulas below assume that\n        // all components have the same precision. With this in mind, we\n        // compute shift and offset only once.\n        shift = components[0].precision - 8;\n        offset = (128 << shift) + 0.5;\n\n        var component0 = tile.components[0];\n        var alpha01 = componentsCount - 3;\n        jj = y0items.length;\n        if (!component0.codingStyleParameters.reversibleTransformation) {\n          // inverse irreversible multiple component transform\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            out[pos++] = (y0 + 1.402 * y2) >> shift;\n            out[pos++] = (y0 - 0.34413 * y1 - 0.71414 * y2) >> shift;\n            out[pos++] = (y0 + 1.772 * y1) >> shift;\n          }\n        } else {\n          // inverse reversible multiple component transform\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            const g = y0 - ((y2 + y1) >> 2);\n\n            out[pos++] = (g + y2) >> shift;\n            out[pos++] = g >> shift;\n            out[pos++] = (g + y1) >> shift;\n          }\n        }\n        if (fourComponents) {\n          for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n            out[pos] = (y3items[j] + offset) >> shift;\n          }\n        }\n      } else {\n        // no multi-component transform\n        for (c = 0; c < componentsCount; c++) {\n          var items = transformedTiles[c].items;\n          shift = components[c].precision - 8;\n          offset = (128 << shift) + 0.5;\n          for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n            out[pos] = (items[j] + offset) >> shift;\n            pos += componentsCount;\n          }\n        }\n      }\n      resultImages.push(result);\n    }\n    return resultImages;\n  }\n  function initializeTile(context, tileIndex) {\n    var siz = context.SIZ;\n    var componentsCount = siz.Csiz;\n    var tile = context.tiles[tileIndex];\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var qcdOrQcc =\n        context.currentTile.QCC[c] !== undefined\n          ? context.currentTile.QCC[c]\n          : context.currentTile.QCD;\n      component.quantizationParameters = qcdOrQcc;\n      var codOrCoc =\n        context.currentTile.COC[c] !== undefined\n          ? context.currentTile.COC[c]\n          : context.currentTile.COD;\n      component.codingStyleParameters = codOrCoc;\n    }\n    tile.codingStyleDefaultParameters = context.currentTile.COD;\n  }\n\n  // Section B.10.2 Tag trees\n  var TagTree = (function TagTreeClosure() {\n    function TagTree(width, height) {\n      var levelsLength = log2(Math.max(width, height)) + 1;\n      this.levels = [];\n      for (var i = 0; i < levelsLength; i++) {\n        var level = {\n          width,\n          height,\n          items: [],\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n    TagTree.prototype = {\n      reset: function TagTree_reset(i, j) {\n        var currentLevel = 0,\n          value = 0,\n          level;\n        while (currentLevel < this.levels.length) {\n          level = this.levels[currentLevel];\n          var index = i + j * level.width;\n          if (level.items[index] !== undefined) {\n            value = level.items[index];\n            break;\n          }\n          level.index = index;\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n        currentLevel--;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        this.currentLevel = currentLevel;\n        delete this.value;\n      },\n      incrementValue: function TagTree_incrementValue() {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index]++;\n      },\n      nextLevel: function TagTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        currentLevel--;\n        if (currentLevel < 0) {\n          this.value = value;\n          return false;\n        }\n\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      },\n    };\n    return TagTree;\n  })();\n\n  var InclusionTree = (function InclusionTreeClosure() {\n    function InclusionTree(width, height, defaultValue) {\n      var levelsLength = log2(Math.max(width, height)) + 1;\n      this.levels = [];\n      for (var i = 0; i < levelsLength; i++) {\n        var items = new Uint8Array(width * height);\n        for (var j = 0, jj = items.length; j < jj; j++) {\n          items[j] = defaultValue;\n        }\n\n        var level = {\n          width,\n          height,\n          items,\n        };\n        this.levels.push(level);\n\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n    InclusionTree.prototype = {\n      reset: function InclusionTree_reset(i, j, stopValue) {\n        var currentLevel = 0;\n        while (currentLevel < this.levels.length) {\n          var level = this.levels[currentLevel];\n          var index = i + j * level.width;\n          level.index = index;\n          var value = level.items[index];\n\n          if (value === 0xff) {\n            break;\n          }\n\n          if (value > stopValue) {\n            this.currentLevel = currentLevel;\n            // already know about this one, propagating the value to top levels\n            this.propagateValues();\n            return false;\n          }\n\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n        this.currentLevel = currentLevel - 1;\n        return true;\n      },\n      incrementValue: function InclusionTree_incrementValue(stopValue) {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index] = stopValue + 1;\n        this.propagateValues();\n      },\n      propagateValues: function InclusionTree_propagateValues() {\n        var levelIndex = this.currentLevel;\n        var level = this.levels[levelIndex];\n        var currentValue = level.items[level.index];\n        while (--levelIndex >= 0) {\n          level = this.levels[levelIndex];\n          level.items[level.index] = currentValue;\n        }\n      },\n      nextLevel: function InclusionTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        level.items[level.index] = 0xff;\n        currentLevel--;\n        if (currentLevel < 0) {\n          return false;\n        }\n\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      },\n    };\n    return InclusionTree;\n  })();\n\n  // Section D. Coefficient bit modeling\n  var BitModel = (function BitModelClosure() {\n    var UNIFORM_CONTEXT = 17;\n    var RUNLENGTH_CONTEXT = 18;\n    // Table D-1\n    // The index is binary presentation: 0dddvvhh, ddd - sum of Di (0..4),\n    // vv - sum of Vi (0..2), and hh - sum of Hi (0..2)\n    // prettier-ignore\n    var LLAndLHContextsLabel = new Uint8Array([\n      0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4,\n      7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6,\n      8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8\n    ]);\n    // prettier-ignore\n    var HLContextLabel = new Uint8Array([\n      0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8,\n      8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3,\n      4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8\n    ]);\n    // prettier-ignore\n    var HHContextLabel = new Uint8Array([\n      0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5,\n      5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8,\n      8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8\n    ]);\n\n    function BitModel(width, height, subband, zeroBitPlanes, mb) {\n      this.width = width;\n      this.height = height;\n\n      let contextLabelTable;\n      if (subband === \"HH\") {\n        contextLabelTable = HHContextLabel;\n      } else if (subband === \"HL\") {\n        contextLabelTable = HLContextLabel;\n      } else {\n        contextLabelTable = LLAndLHContextsLabel;\n      }\n      this.contextLabelTable = contextLabelTable;\n\n      var coefficientCount = width * height;\n\n      // coefficients outside the encoding region treated as insignificant\n      // add border state cells for significanceState\n      this.neighborsSignificance = new Uint8Array(coefficientCount);\n      this.coefficentsSign = new Uint8Array(coefficientCount);\n      let coefficentsMagnitude;\n      if (mb > 14) {\n        coefficentsMagnitude = new Uint32Array(coefficientCount);\n      } else if (mb > 6) {\n        coefficentsMagnitude = new Uint16Array(coefficientCount);\n      } else {\n        coefficentsMagnitude = new Uint8Array(coefficientCount);\n      }\n      this.coefficentsMagnitude = coefficentsMagnitude;\n      this.processingFlags = new Uint8Array(coefficientCount);\n\n      var bitsDecoded = new Uint8Array(coefficientCount);\n      if (zeroBitPlanes !== 0) {\n        for (var i = 0; i < coefficientCount; i++) {\n          bitsDecoded[i] = zeroBitPlanes;\n        }\n      }\n      this.bitsDecoded = bitsDecoded;\n\n      this.reset();\n    }\n\n    BitModel.prototype = {\n      setDecoder: function BitModel_setDecoder(decoder) {\n        this.decoder = decoder;\n      },\n      reset: function BitModel_reset() {\n        // We have 17 contexts that are accessed via context labels,\n        // plus the uniform and runlength context.\n        this.contexts = new Int8Array(19);\n\n        // Contexts are packed into 1 byte:\n        // highest 7 bits carry the index, lowest bit carries mps\n        this.contexts[0] = (4 << 1) | 0;\n        this.contexts[UNIFORM_CONTEXT] = (46 << 1) | 0;\n        this.contexts[RUNLENGTH_CONTEXT] = (3 << 1) | 0;\n      },\n      setNeighborsSignificance: function BitModel_setNeighborsSignificance(\n        row,\n        column,\n        index\n      ) {\n        var neighborsSignificance = this.neighborsSignificance;\n        var width = this.width,\n          height = this.height;\n        var left = column > 0;\n        var right = column + 1 < width;\n        var i;\n\n        if (row > 0) {\n          i = index - width;\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n          neighborsSignificance[i] += 0x04;\n        }\n\n        if (row + 1 < height) {\n          i = index + width;\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n          neighborsSignificance[i] += 0x04;\n        }\n\n        if (left) {\n          neighborsSignificance[index - 1] += 0x01;\n        }\n        if (right) {\n          neighborsSignificance[index + 1] += 0x01;\n        }\n        neighborsSignificance[index] |= 0x80;\n      },\n      runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n          height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var neighborsSignificance = this.neighborsSignificance;\n        var processingFlags = this.processingFlags;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processedInverseMask = ~1;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n\n        for (var i0 = 0; i0 < height; i0 += 4) {\n          for (var j = 0; j < width; j++) {\n            var index = i0 * width + j;\n            for (var i1 = 0; i1 < 4; i1++, index += width) {\n              var i = i0 + i1;\n              if (i >= height) {\n                break;\n              }\n              // clear processed flag first\n              processingFlags[index] &= processedInverseMask;\n\n              if (\n                coefficentsMagnitude[index] ||\n                !neighborsSignificance[index]\n              ) {\n                continue;\n              }\n\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n              if (decision) {\n                var sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n        var width = this.width,\n          height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contribution, sign0, sign1, significance1;\n        var contextLabel, decoded;\n\n        // calculate horizontal contribution\n        significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n        if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n          sign1 = coefficentsSign[index + 1];\n          if (significance1) {\n            sign0 = coefficentsSign[index - 1];\n            contribution = 1 - sign1 - sign0;\n          } else {\n            contribution = 1 - sign1 - sign1;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - 1];\n          contribution = 1 - sign0 - sign0;\n        } else {\n          contribution = 0;\n        }\n        var horizontalContribution = 3 * contribution;\n\n        // calculate vertical contribution and combine with the horizontal\n        significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n        if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n          sign1 = coefficentsSign[index + width];\n          if (significance1) {\n            sign0 = coefficentsSign[index - width];\n            contribution = 1 - sign1 - sign0 + horizontalContribution;\n          } else {\n            contribution = 1 - sign1 - sign1 + horizontalContribution;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - width];\n          contribution = 1 - sign0 - sign0 + horizontalContribution;\n        } else {\n          contribution = horizontalContribution;\n        }\n\n        if (contribution >= 0) {\n          contextLabel = 9 + contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel);\n        } else {\n          contextLabel = 9 - contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n        }\n        return decoded;\n      },\n      runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n          height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var neighborsSignificance = this.neighborsSignificance;\n        var contexts = this.contexts;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var length = width * height;\n        var width4 = width * 4;\n\n        for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n          indexNext = Math.min(length, index0 + width4);\n          for (var j = 0; j < width; j++) {\n            for (var index = index0 + j; index < indexNext; index += width) {\n              // significant but not those that have just become\n              if (\n                !coefficentsMagnitude[index] ||\n                (processingFlags[index] & processedMask) !== 0\n              ) {\n                continue;\n              }\n\n              var contextLabel = 16;\n              if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n                processingFlags[index] ^= firstMagnitudeBitMask;\n                // first refinement\n                var significance = neighborsSignificance[index] & 127;\n                contextLabel = significance === 0 ? 15 : 14;\n              }\n\n              var bit = decoder.readBit(contexts, contextLabel);\n              coefficentsMagnitude[index] =\n                (coefficentsMagnitude[index] << 1) | bit;\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      runCleanupPass: function BitModel_runCleanupPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n          height = this.height;\n        var neighborsSignificance = this.neighborsSignificance;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var oneRowDown = width;\n        var twoRowsDown = width * 2;\n        var threeRowsDown = width * 3;\n        var iNext;\n        for (var i0 = 0; i0 < height; i0 = iNext) {\n          iNext = Math.min(i0 + 4, height);\n          var indexBase = i0 * width;\n          var checkAllEmpty = i0 + 3 < height;\n          for (var j = 0; j < width; j++) {\n            var index0 = indexBase + j;\n            // using the property: labels[neighborsSignificance[index]] === 0\n            // when neighborsSignificance[index] === 0\n            var allEmpty =\n              checkAllEmpty &&\n              processingFlags[index0] === 0 &&\n              processingFlags[index0 + oneRowDown] === 0 &&\n              processingFlags[index0 + twoRowsDown] === 0 &&\n              processingFlags[index0 + threeRowsDown] === 0 &&\n              neighborsSignificance[index0] === 0 &&\n              neighborsSignificance[index0 + oneRowDown] === 0 &&\n              neighborsSignificance[index0 + twoRowsDown] === 0 &&\n              neighborsSignificance[index0 + threeRowsDown] === 0;\n            var i1 = 0,\n              index = index0;\n            var i = i0,\n              sign;\n            if (allEmpty) {\n              var hasSignificantCoefficent = decoder.readBit(\n                contexts,\n                RUNLENGTH_CONTEXT\n              );\n              if (!hasSignificantCoefficent) {\n                bitsDecoded[index0]++;\n                bitsDecoded[index0 + oneRowDown]++;\n                bitsDecoded[index0 + twoRowsDown]++;\n                bitsDecoded[index0 + threeRowsDown]++;\n                continue; // next column\n              }\n              i1 =\n                (decoder.readBit(contexts, UNIFORM_CONTEXT) << 1) |\n                decoder.readBit(contexts, UNIFORM_CONTEXT);\n              if (i1 !== 0) {\n                i = i0 + i1;\n                index += i1 * width;\n              }\n\n              sign = this.decodeSignBit(i, j, index);\n              coefficentsSign[index] = sign;\n              coefficentsMagnitude[index] = 1;\n              this.setNeighborsSignificance(i, j, index);\n              processingFlags[index] |= firstMagnitudeBitMask;\n\n              index = index0;\n              for (var i2 = i0; i2 <= i; i2++, index += width) {\n                bitsDecoded[index]++;\n              }\n\n              i1++;\n            }\n            for (i = i0 + i1; i < iNext; i++, index += width) {\n              if (\n                coefficentsMagnitude[index] ||\n                (processingFlags[index] & processedMask) !== 0\n              ) {\n                continue;\n              }\n\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n              if (decision === 1) {\n                sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n              bitsDecoded[index]++;\n            }\n          }\n        }\n      },\n      checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n        var decoder = this.decoder;\n        var contexts = this.contexts;\n        var symbol =\n          (decoder.readBit(contexts, UNIFORM_CONTEXT) << 3) |\n          (decoder.readBit(contexts, UNIFORM_CONTEXT) << 2) |\n          (decoder.readBit(contexts, UNIFORM_CONTEXT) << 1) |\n          decoder.readBit(contexts, UNIFORM_CONTEXT);\n        if (symbol !== 0xa) {\n          throw new JpxError(\"Invalid segmentation symbol\");\n        }\n      },\n    };\n\n    return BitModel;\n  })();\n\n  // Section F, Discrete wavelet transformation\n  var Transform = (function TransformClosure() {\n    function Transform() {}\n\n    Transform.prototype.calculate = function transformCalculate(\n      subbands,\n      u0,\n      v0\n    ) {\n      var ll = subbands[0];\n      for (var i = 1, ii = subbands.length; i < ii; i++) {\n        ll = this.iterate(ll, subbands[i], u0, v0);\n      }\n      return ll;\n    };\n    Transform.prototype.extend = function extend(buffer, offset, size) {\n      // Section F.3.7 extending... using max extension of 4\n      var i1 = offset - 1,\n        j1 = offset + 1;\n      var i2 = offset + size - 2,\n        j2 = offset + size;\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1] = buffer[j1];\n      buffer[j2] = buffer[i2];\n    };\n    Transform.prototype.iterate = function Transform_iterate(\n      ll,\n      hl_lh_hh,\n      u0,\n      v0\n    ) {\n      var llWidth = ll.width,\n        llHeight = ll.height,\n        llItems = ll.items;\n      var width = hl_lh_hh.width;\n      var height = hl_lh_hh.height;\n      var items = hl_lh_hh.items;\n      var i, j, k, l, u, v;\n\n      // Interleave LL according to Section F.3.3\n      for (k = 0, i = 0; i < llHeight; i++) {\n        l = i * 2 * width;\n        for (j = 0; j < llWidth; j++, k++, l += 2) {\n          items[l] = llItems[k];\n        }\n      }\n      // The LL band is not needed anymore.\n      llItems = ll.items = null;\n\n      var bufferPadding = 4;\n      var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n      // Section F.3.4 HOR_SR\n      if (width === 1) {\n        // if width = 1, when u0 even keep items as is, when odd divide by 2\n        if ((u0 & 1) !== 0) {\n          for (v = 0, k = 0; v < height; v++, k += width) {\n            items[k] *= 0.5;\n          }\n        }\n      } else {\n        for (v = 0, k = 0; v < height; v++, k += width) {\n          rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n\n          this.extend(rowBuffer, bufferPadding, width);\n          this.filter(rowBuffer, bufferPadding, width);\n\n          items.set(\n            rowBuffer.subarray(bufferPadding, bufferPadding + width),\n            k\n          );\n        }\n      }\n\n      // Accesses to the items array can take long, because it may not fit into\n      // CPU cache and has to be fetched from main memory. Since subsequent\n      // accesses to the items array are not local when reading columns, we\n      // have a cache miss every time. To reduce cache misses, get up to\n      // 'numBuffers' items at a time and store them into the individual\n      // buffers. The colBuffers should be small enough to fit into CPU cache.\n      var numBuffers = 16;\n      var colBuffers = [];\n      for (i = 0; i < numBuffers; i++) {\n        colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n      }\n      var b,\n        currentBuffer = 0;\n      ll = bufferPadding + height;\n\n      // Section F.3.5 VER_SR\n      if (height === 1) {\n        // if height = 1, when v0 even keep items as is, when odd divide by 2\n        if ((v0 & 1) !== 0) {\n          for (u = 0; u < width; u++) {\n            items[u] *= 0.5;\n          }\n        }\n      } else {\n        for (u = 0; u < width; u++) {\n          // if we ran out of buffers, copy several image columns at once\n          if (currentBuffer === 0) {\n            numBuffers = Math.min(width - u, numBuffers);\n            for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                colBuffers[b][l] = items[k + b];\n              }\n            }\n            currentBuffer = numBuffers;\n          }\n\n          currentBuffer--;\n          var buffer = colBuffers[currentBuffer];\n          this.extend(buffer, bufferPadding, height);\n          this.filter(buffer, bufferPadding, height);\n\n          // If this is last buffer in this group of buffers, flush all buffers.\n          if (currentBuffer === 0) {\n            k = u - numBuffers + 1;\n            for (l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                items[k + b] = colBuffers[b][l];\n              }\n            }\n          }\n        }\n      }\n\n      return {\n        width,\n        height,\n        items,\n      };\n    };\n    return Transform;\n  })();\n\n  // Section 3.8.2 Irreversible 9-7 filter\n  var IrreversibleTransform = (function IrreversibleTransformClosure() {\n    function IrreversibleTransform() {\n      Transform.call(this);\n    }\n\n    IrreversibleTransform.prototype = Object.create(Transform.prototype);\n    IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(\n      x,\n      offset,\n      length\n    ) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n, current, next;\n\n      var alpha = -1.586134342059924;\n      var beta = -0.052980118572961;\n      var gamma = 0.882911075530934;\n      var delta = 0.443506852043971;\n      var K = 1.230174104914001;\n      var K_ = 1 / K;\n\n      // step 1 is combined with step 3\n\n      // step 2\n      j = offset - 3;\n      for (n = len + 4; n--; j += 2) {\n        x[j] *= K_;\n      }\n\n      // step 1 & 3\n      j = offset - 2;\n      current = delta * x[j - 1];\n      for (n = len + 3; n--; j += 2) {\n        next = delta * x[j + 1];\n        x[j] = K * x[j] - current - next;\n        if (n--) {\n          j += 2;\n          current = delta * x[j + 1];\n          x[j] = K * x[j] - current - next;\n        } else {\n          break;\n        }\n      }\n\n      // step 4\n      j = offset - 1;\n      current = gamma * x[j - 1];\n      for (n = len + 2; n--; j += 2) {\n        next = gamma * x[j + 1];\n        x[j] -= current + next;\n        if (n--) {\n          j += 2;\n          current = gamma * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n\n      // step 5\n      j = offset;\n      current = beta * x[j - 1];\n      for (n = len + 1; n--; j += 2) {\n        next = beta * x[j + 1];\n        x[j] -= current + next;\n        if (n--) {\n          j += 2;\n          current = beta * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n\n      // step 6\n      if (len !== 0) {\n        j = offset + 1;\n        current = alpha * x[j - 1];\n        for (n = len; n--; j += 2) {\n          next = alpha * x[j + 1];\n          x[j] -= current + next;\n          if (n--) {\n            j += 2;\n            current = alpha * x[j + 1];\n            x[j] -= current + next;\n          } else {\n            break;\n          }\n        }\n      }\n    };\n\n    return IrreversibleTransform;\n  })();\n\n  // Section 3.8.1 Reversible 5-3 filter\n  var ReversibleTransform = (function ReversibleTransformClosure() {\n    function ReversibleTransform() {\n      Transform.call(this);\n    }\n\n    ReversibleTransform.prototype = Object.create(Transform.prototype);\n    ReversibleTransform.prototype.filter = function reversibleTransformFilter(\n      x,\n      offset,\n      length\n    ) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n;\n\n      for (j = offset, n = len + 1; n--; j += 2) {\n        x[j] -= (x[j - 1] + x[j + 1] + 2) >> 2;\n      }\n\n      for (j = offset + 1, n = len; n--; j += 2) {\n        x[j] += (x[j - 1] + x[j + 1]) >> 1;\n      }\n    };\n\n    return ReversibleTransform;\n  })();\n\n  return JpxImage;\n})();\n\nexport { JpxImage };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  bytesToString,\n  FormatError,\n  PasswordException,\n  PasswordResponses,\n  stringToBytes,\n  unreachable,\n  utf8StringToString,\n  warn,\n} from \"../shared/util.js\";\nimport { isDict, isName, Name } from \"./primitives.js\";\nimport { DecryptStream } from \"./stream.js\";\n\nvar ARCFourCipher = (function ARCFourCipherClosure() {\n  function ARCFourCipher(key) {\n    this.a = 0;\n    this.b = 0;\n    var s = new Uint8Array(256);\n    var i,\n      j = 0,\n      tmp,\n      keyLength = key.length;\n    for (i = 0; i < 256; ++i) {\n      s[i] = i;\n    }\n    for (i = 0; i < 256; ++i) {\n      tmp = s[i];\n      j = (j + tmp + key[i % keyLength]) & 0xff;\n      s[i] = s[j];\n      s[j] = tmp;\n    }\n    this.s = s;\n  }\n\n  ARCFourCipher.prototype = {\n    encryptBlock: function ARCFourCipher_encryptBlock(data) {\n      var i,\n        n = data.length,\n        tmp,\n        tmp2;\n      var a = this.a,\n        b = this.b,\n        s = this.s;\n      var output = new Uint8Array(n);\n      for (i = 0; i < n; ++i) {\n        a = (a + 1) & 0xff;\n        tmp = s[a];\n        b = (b + tmp) & 0xff;\n        tmp2 = s[b];\n        s[a] = tmp2;\n        s[b] = tmp;\n        output[i] = data[i] ^ s[(tmp + tmp2) & 0xff];\n      }\n      this.a = a;\n      this.b = b;\n      return output;\n    },\n  };\n  ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n\n  return ARCFourCipher;\n})();\n\nvar calculateMD5 = (function calculateMD5Closure() {\n  // prettier-ignore\n  var r = new Uint8Array([\n    7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,\n    5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,\n    4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,\n    6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n\n  // prettier-ignore\n  var k = new Int32Array([\n    -680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426,\n    -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162,\n    1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632,\n    643717713, -373897302, -701558691, 38016083, -660478335, -405537848,\n    568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784,\n    1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556,\n    -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222,\n    -722521979, 76029189, -640364487, -421815835, 530742520, -995338651,\n    -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606,\n    -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649,\n    -145523070, -1120210379, 718787259, -343485551]);\n\n  function hash(data, offset, length) {\n    var h0 = 1732584193,\n      h1 = -271733879,\n      h2 = -1732584194,\n      h3 = 271733878;\n    // pre-processing\n    var paddedLength = (length + 72) & ~63; // data + 9 extra bytes\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n    while (i < n) {\n      padded[i++] = 0;\n    }\n    padded[i++] = (length << 3) & 0xff;\n    padded[i++] = (length >> 5) & 0xff;\n    padded[i++] = (length >> 13) & 0xff;\n    padded[i++] = (length >> 21) & 0xff;\n    padded[i++] = (length >>> 29) & 0xff;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    var w = new Int32Array(16);\n    for (i = 0; i < paddedLength; ) {\n      for (j = 0; j < 16; ++j, i += 4) {\n        w[j] =\n          padded[i] |\n          (padded[i + 1] << 8) |\n          (padded[i + 2] << 16) |\n          (padded[i + 3] << 24);\n      }\n      var a = h0,\n        b = h1,\n        c = h2,\n        d = h3,\n        f,\n        g;\n      for (j = 0; j < 64; ++j) {\n        if (j < 16) {\n          f = (b & c) | (~b & d);\n          g = j;\n        } else if (j < 32) {\n          f = (d & b) | (~d & c);\n          g = (5 * j + 1) & 15;\n        } else if (j < 48) {\n          f = b ^ c ^ d;\n          g = (3 * j + 5) & 15;\n        } else {\n          f = c ^ (b | ~d);\n          g = (7 * j) & 15;\n        }\n        var tmp = d,\n          rotateArg = (a + f + k[j] + w[g]) | 0,\n          rotate = r[j];\n        d = c;\n        c = b;\n        b = (b + ((rotateArg << rotate) | (rotateArg >>> (32 - rotate)))) | 0;\n        a = tmp;\n      }\n      h0 = (h0 + a) | 0;\n      h1 = (h1 + b) | 0;\n      h2 = (h2 + c) | 0;\n      h3 = (h3 + d) | 0;\n    }\n    // prettier-ignore\n    return new Uint8Array([\n      h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >>> 24) & 0xFF,\n      h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >>> 24) & 0xFF,\n      h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >>> 24) & 0xFF,\n      h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >>> 24) & 0xFF\n    ]);\n  }\n\n  return hash;\n})();\nvar Word64 = (function Word64Closure() {\n  function Word64(highInteger, lowInteger) {\n    this.high = highInteger | 0;\n    this.low = lowInteger | 0;\n  }\n  Word64.prototype = {\n    and: function Word64_and(word) {\n      this.high &= word.high;\n      this.low &= word.low;\n    },\n    xor: function Word64_xor(word) {\n      this.high ^= word.high;\n      this.low ^= word.low;\n    },\n\n    or: function Word64_or(word) {\n      this.high |= word.high;\n      this.low |= word.low;\n    },\n\n    shiftRight: function Word64_shiftRight(places) {\n      if (places >= 32) {\n        this.low = (this.high >>> (places - 32)) | 0;\n        this.high = 0;\n      } else {\n        this.low = (this.low >>> places) | (this.high << (32 - places));\n        this.high = (this.high >>> places) | 0;\n      }\n    },\n\n    shiftLeft: function Word64_shiftLeft(places) {\n      if (places >= 32) {\n        this.high = this.low << (places - 32);\n        this.low = 0;\n      } else {\n        this.high = (this.high << places) | (this.low >>> (32 - places));\n        this.low = this.low << places;\n      }\n    },\n\n    rotateRight: function Word64_rotateRight(places) {\n      var low, high;\n      if (places & 32) {\n        high = this.low;\n        low = this.high;\n      } else {\n        low = this.low;\n        high = this.high;\n      }\n      places &= 31;\n      this.low = (low >>> places) | (high << (32 - places));\n      this.high = (high >>> places) | (low << (32 - places));\n    },\n\n    not: function Word64_not() {\n      this.high = ~this.high;\n      this.low = ~this.low;\n    },\n\n    add: function Word64_add(word) {\n      var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n      var highAdd = (this.high >>> 0) + (word.high >>> 0);\n      if (lowAdd > 0xffffffff) {\n        highAdd += 1;\n      }\n      this.low = lowAdd | 0;\n      this.high = highAdd | 0;\n    },\n\n    copyTo: function Word64_copyTo(bytes, offset) {\n      bytes[offset] = (this.high >>> 24) & 0xff;\n      bytes[offset + 1] = (this.high >> 16) & 0xff;\n      bytes[offset + 2] = (this.high >> 8) & 0xff;\n      bytes[offset + 3] = this.high & 0xff;\n      bytes[offset + 4] = (this.low >>> 24) & 0xff;\n      bytes[offset + 5] = (this.low >> 16) & 0xff;\n      bytes[offset + 6] = (this.low >> 8) & 0xff;\n      bytes[offset + 7] = this.low & 0xff;\n    },\n\n    assign: function Word64_assign(word) {\n      this.high = word.high;\n      this.low = word.low;\n    },\n  };\n  return Word64;\n})();\n\nvar calculateSHA256 = (function calculateSHA256Closure() {\n  function rotr(x, n) {\n    return (x >>> n) | (x << (32 - n));\n  }\n\n  function ch(x, y, z) {\n    return (x & y) ^ (~x & z);\n  }\n\n  function maj(x, y, z) {\n    return (x & y) ^ (x & z) ^ (y & z);\n  }\n\n  function sigma(x) {\n    return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n  }\n\n  function sigmaPrime(x) {\n    return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n  }\n\n  function littleSigma(x) {\n    return rotr(x, 7) ^ rotr(x, 18) ^ (x >>> 3);\n  }\n\n  function littleSigmaPrime(x) {\n    return rotr(x, 17) ^ rotr(x, 19) ^ (x >>> 10);\n  }\n\n  // prettier-ignore\n  var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n           0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n           0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n           0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n           0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n           0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n           0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n           0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n           0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n           0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n           0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n           0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n           0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n           0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n           0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n           0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n  function hash(data, offset, length) {\n    // initial hash values\n    var h0 = 0x6a09e667,\n      h1 = 0xbb67ae85,\n      h2 = 0x3c6ef372,\n      h3 = 0xa54ff53a,\n      h4 = 0x510e527f,\n      h5 = 0x9b05688c,\n      h6 = 0x1f83d9ab,\n      h7 = 0x5be0cd19;\n    // pre-processing\n    var paddedLength = Math.ceil((length + 9) / 64) * 64;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n    while (i < n) {\n      padded[i++] = 0;\n    }\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = (length >>> 29) & 0xff;\n    padded[i++] = (length >> 21) & 0xff;\n    padded[i++] = (length >> 13) & 0xff;\n    padded[i++] = (length >> 5) & 0xff;\n    padded[i++] = (length << 3) & 0xff;\n    var w = new Uint32Array(64);\n    // for each 512 bit block\n    for (i = 0; i < paddedLength; ) {\n      for (j = 0; j < 16; ++j) {\n        w[j] =\n          (padded[i] << 24) |\n          (padded[i + 1] << 16) |\n          (padded[i + 2] << 8) |\n          padded[i + 3];\n        i += 4;\n      }\n\n      for (j = 16; j < 64; ++j) {\n        w[j] =\n          (littleSigmaPrime(w[j - 2]) +\n            w[j - 7] +\n            littleSigma(w[j - 15]) +\n            w[j - 16]) |\n          0;\n      }\n      var a = h0,\n        b = h1,\n        c = h2,\n        d = h3,\n        e = h4,\n        f = h5,\n        g = h6,\n        h = h7,\n        t1,\n        t2;\n      for (j = 0; j < 64; ++j) {\n        t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n        t2 = sigma(a) + maj(a, b, c);\n        h = g;\n        g = f;\n        f = e;\n        e = (d + t1) | 0;\n        d = c;\n        c = b;\n        b = a;\n        a = (t1 + t2) | 0;\n      }\n      h0 = (h0 + a) | 0;\n      h1 = (h1 + b) | 0;\n      h2 = (h2 + c) | 0;\n      h3 = (h3 + d) | 0;\n      h4 = (h4 + e) | 0;\n      h5 = (h5 + f) | 0;\n      h6 = (h6 + g) | 0;\n      h7 = (h7 + h) | 0;\n    }\n    // prettier-ignore\n    return new Uint8Array([\n      (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, (h0) & 0xFF,\n      (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, (h1) & 0xFF,\n      (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, (h2) & 0xFF,\n      (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, (h3) & 0xFF,\n      (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, (h4) & 0xFF,\n      (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, (h5) & 0xFF,\n      (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, (h6) & 0xFF,\n      (h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, (h7) & 0xFF\n    ]);\n  }\n\n  return hash;\n})();\n\nvar calculateSHA512 = (function calculateSHA512Closure() {\n  function ch(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.not();\n    tmp.and(z);\n    result.xor(tmp);\n  }\n\n  function maj(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.and(z);\n    result.xor(tmp);\n    tmp.assign(y);\n    tmp.and(z);\n    result.xor(tmp);\n  }\n\n  function sigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(28);\n    tmp.assign(x);\n    tmp.rotateRight(34);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(39);\n    result.xor(tmp);\n  }\n\n  function sigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(14);\n    tmp.assign(x);\n    tmp.rotateRight(18);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(41);\n    result.xor(tmp);\n  }\n\n  function littleSigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(1);\n    tmp.assign(x);\n    tmp.rotateRight(8);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(7);\n    result.xor(tmp);\n  }\n\n  function littleSigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(19);\n    tmp.assign(x);\n    tmp.rotateRight(61);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(6);\n    result.xor(tmp);\n  }\n\n  // prettier-ignore\n  var k = [\n    new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd),\n    new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc),\n    new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019),\n    new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118),\n    new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe),\n    new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2),\n    new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1),\n    new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694),\n    new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3),\n    new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65),\n    new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483),\n    new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5),\n    new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210),\n    new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4),\n    new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725),\n    new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70),\n    new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926),\n    new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df),\n    new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8),\n    new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b),\n    new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001),\n    new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30),\n    new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910),\n    new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8),\n    new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53),\n    new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8),\n    new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb),\n    new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3),\n    new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60),\n    new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec),\n    new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9),\n    new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b),\n    new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207),\n    new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178),\n    new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6),\n    new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b),\n    new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493),\n    new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c),\n    new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a),\n    new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n  function hash(data, offset, length, mode384) {\n    mode384 = !!mode384;\n    // initial hash values\n    var h0, h1, h2, h3, h4, h5, h6, h7;\n    if (!mode384) {\n      h0 = new Word64(0x6a09e667, 0xf3bcc908);\n      h1 = new Word64(0xbb67ae85, 0x84caa73b);\n      h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n      h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n      h4 = new Word64(0x510e527f, 0xade682d1);\n      h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n      h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n      h7 = new Word64(0x5be0cd19, 0x137e2179);\n    } else {\n      // SHA384 is exactly the same\n      // except with different starting values and a trimmed result\n      h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n      h1 = new Word64(0x629a292a, 0x367cd507);\n      h2 = new Word64(0x9159015a, 0x3070dd17);\n      h3 = new Word64(0x152fecd8, 0xf70e5939);\n      h4 = new Word64(0x67332667, 0xffc00b31);\n      h5 = new Word64(0x8eb44a87, 0x68581511);\n      h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n      h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n    }\n\n    // pre-processing\n    var paddedLength = Math.ceil((length + 17) / 128) * 128;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n    padded[i++] = 0x80;\n    n = paddedLength - 16;\n    while (i < n) {\n      padded[i++] = 0;\n    }\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = (length >>> 29) & 0xff;\n    padded[i++] = (length >> 21) & 0xff;\n    padded[i++] = (length >> 13) & 0xff;\n    padded[i++] = (length >> 5) & 0xff;\n    padded[i++] = (length << 3) & 0xff;\n\n    var w = new Array(80);\n    for (i = 0; i < 80; i++) {\n      w[i] = new Word64(0, 0);\n    }\n    var a = new Word64(0, 0),\n      b = new Word64(0, 0),\n      c = new Word64(0, 0);\n    var d = new Word64(0, 0),\n      e = new Word64(0, 0),\n      f = new Word64(0, 0);\n    var g = new Word64(0, 0),\n      h = new Word64(0, 0);\n    var t1 = new Word64(0, 0),\n      t2 = new Word64(0, 0);\n    var tmp1 = new Word64(0, 0),\n      tmp2 = new Word64(0, 0),\n      tmp3;\n\n    // for each 1024 bit block\n    for (i = 0; i < paddedLength; ) {\n      for (j = 0; j < 16; ++j) {\n        w[j].high =\n          (padded[i] << 24) |\n          (padded[i + 1] << 16) |\n          (padded[i + 2] << 8) |\n          padded[i + 3];\n        w[j].low =\n          (padded[i + 4] << 24) |\n          (padded[i + 5] << 16) |\n          (padded[i + 6] << 8) |\n          padded[i + 7];\n        i += 8;\n      }\n      for (j = 16; j < 80; ++j) {\n        tmp3 = w[j];\n        littleSigmaPrime(tmp3, w[j - 2], tmp2);\n        tmp3.add(w[j - 7]);\n        littleSigma(tmp1, w[j - 15], tmp2);\n        tmp3.add(tmp1);\n        tmp3.add(w[j - 16]);\n      }\n\n      a.assign(h0);\n      b.assign(h1);\n      c.assign(h2);\n      d.assign(h3);\n      e.assign(h4);\n      f.assign(h5);\n      g.assign(h6);\n      h.assign(h7);\n      for (j = 0; j < 80; ++j) {\n        t1.assign(h);\n        sigmaPrime(tmp1, e, tmp2);\n        t1.add(tmp1);\n        ch(tmp1, e, f, g, tmp2);\n        t1.add(tmp1);\n        t1.add(k[j]);\n        t1.add(w[j]);\n\n        sigma(t2, a, tmp2);\n        maj(tmp1, a, b, c, tmp2);\n        t2.add(tmp1);\n\n        tmp3 = h;\n        h = g;\n        g = f;\n        f = e;\n        d.add(t1);\n        e = d;\n        d = c;\n        c = b;\n        b = a;\n        tmp3.assign(t1);\n        tmp3.add(t2);\n        a = tmp3;\n      }\n      h0.add(a);\n      h1.add(b);\n      h2.add(c);\n      h3.add(d);\n      h4.add(e);\n      h5.add(f);\n      h6.add(g);\n      h7.add(h);\n    }\n\n    var result;\n    if (!mode384) {\n      result = new Uint8Array(64);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n      h6.copyTo(result, 48);\n      h7.copyTo(result, 56);\n    } else {\n      result = new Uint8Array(48);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n    }\n    return result;\n  }\n\n  return hash;\n})();\nvar calculateSHA384 = (function calculateSHA384Closure() {\n  function hash(data, offset, length) {\n    return calculateSHA512(data, offset, length, true);\n  }\n\n  return hash;\n})();\nvar NullCipher = (function NullCipherClosure() {\n  function NullCipher() {}\n\n  NullCipher.prototype = {\n    decryptBlock: function NullCipher_decryptBlock(data) {\n      return data;\n    },\n  };\n\n  return NullCipher;\n})();\n\nclass AESBaseCipher {\n  constructor() {\n    if (this.constructor === AESBaseCipher) {\n      unreachable(\"Cannot initialize AESBaseCipher.\");\n    }\n\n    // prettier-ignore\n    this._s = new Uint8Array([\n      0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b,\n      0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,\n      0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26,\n      0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,\n      0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2,\n      0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,\n      0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed,\n      0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,\n      0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f,\n      0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,\n      0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec,\n      0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,\n      0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14,\n      0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,\n      0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d,\n      0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,\n      0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f,\n      0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,\n      0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11,\n      0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,\n      0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f,\n      0xb0, 0x54, 0xbb, 0x16,\n    ]);\n\n    // prettier-ignore\n    this._inv_s = new Uint8Array([\n      0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e,\n      0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87,\n      0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32,\n      0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,\n      0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49,\n      0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16,\n      0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50,\n      0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,\n      0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05,\n      0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02,\n      0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41,\n      0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,\n      0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8,\n      0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89,\n      0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b,\n      0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,\n      0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59,\n      0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d,\n      0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d,\n      0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,\n      0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63,\n      0x55, 0x21, 0x0c, 0x7d,\n    ]);\n\n    // prettier-ignore\n    this._mix = new Uint32Array([\n      0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927,\n      0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45,\n      0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb,\n      0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381,\n      0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf,\n      0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66,\n      0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28,\n      0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012,\n      0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec,\n      0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e,\n      0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd,\n      0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7,\n      0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89,\n      0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b,\n      0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815,\n      0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f,\n      0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa,\n      0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8,\n      0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36,\n      0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c,\n      0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742,\n      0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea,\n      0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4,\n      0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e,\n      0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360,\n      0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502,\n      0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87,\n      0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd,\n      0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3,\n      0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621,\n      0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f,\n      0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55,\n      0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26,\n      0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844,\n      0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba,\n      0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480,\n      0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce,\n      0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67,\n      0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929,\n      0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713,\n      0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed,\n      0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f,\n      0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3,\n    ]);\n\n    this._mixCol = new Uint8Array(256);\n    for (let i = 0; i < 256; i++) {\n      if (i < 128) {\n        this._mixCol[i] = i << 1;\n      } else {\n        this._mixCol[i] = (i << 1) ^ 0x1b;\n      }\n    }\n\n    this.buffer = new Uint8Array(16);\n    this.bufferPosition = 0;\n  }\n\n  _expandKey(cipherKey) {\n    unreachable(\"Cannot call `_expandKey` on the base class\");\n  }\n\n  _decrypt(input, key) {\n    let t, u, v;\n    const state = new Uint8Array(16);\n    state.set(input);\n\n    // AddRoundKey\n    for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {\n      state[j] ^= key[k];\n    }\n    for (let i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n      // InvShiftRows\n      t = state[13];\n      state[13] = state[9];\n      state[9] = state[5];\n      state[5] = state[1];\n      state[1] = t;\n      t = state[14];\n      u = state[10];\n      state[14] = state[6];\n      state[10] = state[2];\n      state[6] = t;\n      state[2] = u;\n      t = state[15];\n      u = state[11];\n      v = state[7];\n      state[15] = state[3];\n      state[11] = t;\n      state[7] = u;\n      state[3] = v;\n      // InvSubBytes\n      for (let j = 0; j < 16; ++j) {\n        state[j] = this._inv_s[state[j]];\n      }\n      // AddRoundKey\n      for (let j = 0, k = i * 16; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n      // InvMixColumns\n      for (let j = 0; j < 16; j += 4) {\n        const s0 = this._mix[state[j]];\n        const s1 = this._mix[state[j + 1]];\n        const s2 = this._mix[state[j + 2]];\n        const s3 = this._mix[state[j + 3]];\n        t =\n          s0 ^\n          (s1 >>> 8) ^\n          (s1 << 24) ^\n          (s2 >>> 16) ^\n          (s2 << 16) ^\n          (s3 >>> 24) ^\n          (s3 << 8);\n        state[j] = (t >>> 24) & 0xff;\n        state[j + 1] = (t >> 16) & 0xff;\n        state[j + 2] = (t >> 8) & 0xff;\n        state[j + 3] = t & 0xff;\n      }\n    }\n    // InvShiftRows\n    t = state[13];\n    state[13] = state[9];\n    state[9] = state[5];\n    state[5] = state[1];\n    state[1] = t;\n    t = state[14];\n    u = state[10];\n    state[14] = state[6];\n    state[10] = state[2];\n    state[6] = t;\n    state[2] = u;\n    t = state[15];\n    u = state[11];\n    v = state[7];\n    state[15] = state[3];\n    state[11] = t;\n    state[7] = u;\n    state[3] = v;\n    for (let j = 0; j < 16; ++j) {\n      // InvSubBytes\n      state[j] = this._inv_s[state[j]];\n      // AddRoundKey\n      state[j] ^= key[j];\n    }\n    return state;\n  }\n\n  _encrypt(input, key) {\n    const s = this._s;\n\n    let t, u, v;\n    const state = new Uint8Array(16);\n    state.set(input);\n\n    for (let j = 0; j < 16; ++j) {\n      // AddRoundKey\n      state[j] ^= key[j];\n    }\n\n    for (let i = 1; i < this._cyclesOfRepetition; i++) {\n      // SubBytes\n      for (let j = 0; j < 16; ++j) {\n        state[j] = s[state[j]];\n      }\n      // ShiftRows\n      v = state[1];\n      state[1] = state[5];\n      state[5] = state[9];\n      state[9] = state[13];\n      state[13] = v;\n      v = state[2];\n      u = state[6];\n      state[2] = state[10];\n      state[6] = state[14];\n      state[10] = v;\n      state[14] = u;\n      v = state[3];\n      u = state[7];\n      t = state[11];\n      state[3] = state[15];\n      state[7] = v;\n      state[11] = u;\n      state[15] = t;\n      // MixColumns\n      for (let j = 0; j < 16; j += 4) {\n        const s0 = state[j + 0];\n        const s1 = state[j + 1];\n        const s2 = state[j + 2];\n        const s3 = state[j + 3];\n        t = s0 ^ s1 ^ s2 ^ s3;\n        state[j + 0] ^= t ^ this._mixCol[s0 ^ s1];\n        state[j + 1] ^= t ^ this._mixCol[s1 ^ s2];\n        state[j + 2] ^= t ^ this._mixCol[s2 ^ s3];\n        state[j + 3] ^= t ^ this._mixCol[s3 ^ s0];\n      }\n      // AddRoundKey\n      for (let j = 0, k = i * 16; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n    }\n\n    // SubBytes\n    for (let j = 0; j < 16; ++j) {\n      state[j] = s[state[j]];\n    }\n    // ShiftRows\n    v = state[1];\n    state[1] = state[5];\n    state[5] = state[9];\n    state[9] = state[13];\n    state[13] = v;\n    v = state[2];\n    u = state[6];\n    state[2] = state[10];\n    state[6] = state[14];\n    state[10] = v;\n    state[14] = u;\n    v = state[3];\n    u = state[7];\n    t = state[11];\n    state[3] = state[15];\n    state[7] = v;\n    state[11] = u;\n    state[15] = t;\n    // AddRoundKey\n    for (let j = 0, k = this._keySize; j < 16; ++j, ++k) {\n      state[j] ^= key[k];\n    }\n    return state;\n  }\n\n  _decryptBlock2(data, finalize) {\n    const sourceLength = data.length;\n    let buffer = this.buffer,\n      bufferLength = this.bufferPosition;\n    const result = [];\n    let iv = this.iv;\n\n    for (let i = 0; i < sourceLength; ++i) {\n      buffer[bufferLength] = data[i];\n      ++bufferLength;\n      if (bufferLength < 16) {\n        continue;\n      }\n      // buffer is full, decrypting\n      const plain = this._decrypt(buffer, this._key);\n      // xor-ing the IV vector to get plain text\n      for (let j = 0; j < 16; ++j) {\n        plain[j] ^= iv[j];\n      }\n      iv = buffer;\n      result.push(plain);\n      buffer = new Uint8Array(16);\n      bufferLength = 0;\n    }\n    // saving incomplete buffer\n    this.buffer = buffer;\n    this.bufferLength = bufferLength;\n    this.iv = iv;\n    if (result.length === 0) {\n      return new Uint8Array(0);\n    }\n    // combining plain text blocks into one\n    let outputLength = 16 * result.length;\n    if (finalize) {\n      // undo a padding that is described in RFC 2898\n      const lastBlock = result[result.length - 1];\n      let psLen = lastBlock[15];\n      if (psLen <= 16) {\n        for (let i = 15, ii = 16 - psLen; i >= ii; --i) {\n          if (lastBlock[i] !== psLen) {\n            // Invalid padding, assume that the block has no padding.\n            psLen = 0;\n            break;\n          }\n        }\n        outputLength -= psLen;\n        result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n      }\n    }\n    const output = new Uint8Array(outputLength);\n    for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n      output.set(result[i], j);\n    }\n    return output;\n  }\n\n  decryptBlock(data, finalize, iv = null) {\n    const sourceLength = data.length;\n    const buffer = this.buffer;\n    let bufferLength = this.bufferPosition;\n    // If an IV is not supplied, wait for IV values. They are at the start\n    // of the stream.\n    if (iv) {\n      this.iv = iv;\n    } else {\n      for (\n        let i = 0;\n        bufferLength < 16 && i < sourceLength;\n        ++i, ++bufferLength\n      ) {\n        buffer[bufferLength] = data[i];\n      }\n      if (bufferLength < 16) {\n        // Need more data.\n        this.bufferLength = bufferLength;\n        return new Uint8Array(0);\n      }\n      this.iv = buffer;\n      data = data.subarray(16);\n    }\n    this.buffer = new Uint8Array(16);\n    this.bufferLength = 0;\n    // starting decryption\n    this.decryptBlock = this._decryptBlock2;\n    return this.decryptBlock(data, finalize);\n  }\n\n  encrypt(data, iv) {\n    const sourceLength = data.length;\n    let buffer = this.buffer,\n      bufferLength = this.bufferPosition;\n    const result = [];\n\n    if (!iv) {\n      iv = new Uint8Array(16);\n    }\n    for (let i = 0; i < sourceLength; ++i) {\n      buffer[bufferLength] = data[i];\n      ++bufferLength;\n      if (bufferLength < 16) {\n        continue;\n      }\n      for (let j = 0; j < 16; ++j) {\n        buffer[j] ^= iv[j];\n      }\n\n      // buffer is full, encrypting\n      const cipher = this._encrypt(buffer, this._key);\n      iv = cipher;\n      result.push(cipher);\n      buffer = new Uint8Array(16);\n      bufferLength = 0;\n    }\n    // saving incomplete buffer\n    this.buffer = buffer;\n    this.bufferLength = bufferLength;\n    this.iv = iv;\n    if (result.length === 0) {\n      return new Uint8Array(0);\n    }\n    // combining plain text blocks into one\n    const outputLength = 16 * result.length;\n    const output = new Uint8Array(outputLength);\n    for (let i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) {\n      output.set(result[i], j);\n    }\n    return output;\n  }\n}\n\nclass AES128Cipher extends AESBaseCipher {\n  constructor(key) {\n    super();\n\n    this._cyclesOfRepetition = 10;\n    this._keySize = 160; // bits\n\n    // prettier-ignore\n    this._rcon = new Uint8Array([\n      0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c,\n      0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a,\n      0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd,\n      0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a,\n      0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,\n      0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6,\n      0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72,\n      0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc,\n      0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10,\n      0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e,\n      0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5,\n      0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94,\n      0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02,\n      0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d,\n      0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d,\n      0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f,\n      0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb,\n      0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c,\n      0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a,\n      0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd,\n      0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a,\n      0x74, 0xe8, 0xcb, 0x8d,\n    ]);\n\n    this._key = this._expandKey(key);\n  }\n\n  _expandKey(cipherKey) {\n    const b = 176;\n    const s = this._s;\n    const rcon = this._rcon;\n\n    const result = new Uint8Array(b);\n    result.set(cipherKey);\n\n    for (let j = 16, i = 1; j < b; ++i) {\n      // RotWord\n      let t1 = result[j - 3];\n      let t2 = result[j - 2];\n      let t3 = result[j - 1];\n      let t4 = result[j - 4];\n      // SubWord\n      t1 = s[t1];\n      t2 = s[t2];\n      t3 = s[t3];\n      t4 = s[t4];\n      // Rcon\n      t1 = t1 ^ rcon[i];\n      for (let n = 0; n < 4; ++n) {\n        result[j] = t1 ^= result[j - 16];\n        j++;\n        result[j] = t2 ^= result[j - 16];\n        j++;\n        result[j] = t3 ^= result[j - 16];\n        j++;\n        result[j] = t4 ^= result[j - 16];\n        j++;\n      }\n    }\n    return result;\n  }\n}\n\nclass AES256Cipher extends AESBaseCipher {\n  constructor(key) {\n    super();\n\n    this._cyclesOfRepetition = 14;\n    this._keySize = 224; // bits\n\n    this._key = this._expandKey(key);\n  }\n\n  _expandKey(cipherKey) {\n    const b = 240;\n    const s = this._s;\n\n    const result = new Uint8Array(b);\n    result.set(cipherKey);\n\n    let r = 1;\n    let t1, t2, t3, t4;\n    for (let j = 32, i = 1; j < b; ++i) {\n      if (j % 32 === 16) {\n        t1 = s[t1];\n        t2 = s[t2];\n        t3 = s[t3];\n        t4 = s[t4];\n      } else if (j % 32 === 0) {\n        // RotWord\n        t1 = result[j - 3];\n        t2 = result[j - 2];\n        t3 = result[j - 1];\n        t4 = result[j - 4];\n        // SubWord\n        t1 = s[t1];\n        t2 = s[t2];\n        t3 = s[t3];\n        t4 = s[t4];\n        // Rcon\n        t1 = t1 ^ r;\n        if ((r <<= 1) >= 256) {\n          r = (r ^ 0x1b) & 0xff;\n        }\n      }\n\n      for (let n = 0; n < 4; ++n) {\n        result[j] = t1 ^= result[j - 32];\n        j++;\n        result[j] = t2 ^= result[j - 32];\n        j++;\n        result[j] = t3 ^= result[j - 32];\n        j++;\n        result[j] = t4 ^= result[j - 32];\n        j++;\n      }\n    }\n    return result;\n  }\n}\n\nvar PDF17 = (function PDF17Closure() {\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  function PDF17() {}\n\n  PDF17.prototype = {\n    checkOwnerPassword: function PDF17_checkOwnerPassword(\n      password,\n      ownerValidationSalt,\n      userBytes,\n      ownerPassword\n    ) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF17_checkUserPassword(\n      password,\n      userValidationSalt,\n      userPassword\n    ) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF17_getOwnerKey(\n      password,\n      ownerKeySalt,\n      userBytes,\n      ownerEncryption\n    ) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF17_getUserKey(\n      password,\n      userKeySalt,\n      userEncryption\n    ) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      // `key` is the decryption key for the UE string.\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    },\n  };\n  return PDF17;\n})();\n\nvar PDF20 = (function PDF20Closure() {\n  function concatArrays(array1, array2) {\n    var t = new Uint8Array(array1.length + array2.length);\n    t.set(array1, 0);\n    t.set(array2, array1.length);\n    return t;\n  }\n\n  function calculatePDF20Hash(password, input, userBytes) {\n    // This refers to Algorithm 2.B as defined in ISO 32000-2.\n    var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n    var e = [0];\n    var i = 0;\n    while (i < 64 || e[e.length - 1] > i - 32) {\n      var arrayLength = password.length + k.length + userBytes.length;\n\n      var k1 = new Uint8Array(arrayLength * 64);\n      var array = concatArrays(password, k);\n      array = concatArrays(array, userBytes);\n      for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n        k1.set(array, pos);\n      }\n      // AES128 CBC NO PADDING with first 16 bytes of k as the key\n      // and the second 16 as the iv.\n      var cipher = new AES128Cipher(k.subarray(0, 16));\n      e = cipher.encrypt(k1, k.subarray(16, 32));\n      // Now we have to take the first 16 bytes of an unsigned big endian\n      // integer and compute the remainder modulo 3. That is a fairly large\n      // number and JavaScript isn't going to handle that well, so we're using\n      // a trick that allows us to perform modulo math byte by byte.\n      var remainder = 0;\n      for (var z = 0; z < 16; z++) {\n        remainder *= 256 % 3;\n        remainder %= 3;\n        remainder += (e[z] >>> 0) % 3;\n        remainder %= 3;\n      }\n      if (remainder === 0) {\n        k = calculateSHA256(e, 0, e.length);\n      } else if (remainder === 1) {\n        k = calculateSHA384(e, 0, e.length);\n      } else if (remainder === 2) {\n        k = calculateSHA512(e, 0, e.length);\n      }\n      i++;\n    }\n    return k.subarray(0, 32);\n  }\n\n  function PDF20() {}\n\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  PDF20.prototype = {\n    hash: function PDF20_hash(password, concatBytes, userBytes) {\n      return calculatePDF20Hash(password, concatBytes, userBytes);\n    },\n    checkOwnerPassword: function PDF20_checkOwnerPassword(\n      password,\n      ownerValidationSalt,\n      userBytes,\n      ownerPassword\n    ) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculatePDF20Hash(password, hashData, userBytes);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF20_checkUserPassword(\n      password,\n      userValidationSalt,\n      userPassword\n    ) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculatePDF20Hash(password, hashData, []);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF20_getOwnerKey(\n      password,\n      ownerKeySalt,\n      userBytes,\n      ownerEncryption\n    ) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculatePDF20Hash(password, hashData, userBytes);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF20_getUserKey(\n      password,\n      userKeySalt,\n      userEncryption\n    ) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      // `key` is the decryption key for the UE string.\n      var key = calculatePDF20Hash(password, hashData, []);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    },\n  };\n  return PDF20;\n})();\n\nvar CipherTransform = (function CipherTransformClosure() {\n  function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n    this.StringCipherConstructor = stringCipherConstructor;\n    this.StreamCipherConstructor = streamCipherConstructor;\n  }\n\n  CipherTransform.prototype = {\n    createStream: function CipherTransform_createStream(stream, length) {\n      var cipher = new this.StreamCipherConstructor();\n      return new DecryptStream(\n        stream,\n        length,\n        function cipherTransformDecryptStream(data, finalize) {\n          return cipher.decryptBlock(data, finalize);\n        }\n      );\n    },\n    decryptString: function CipherTransform_decryptString(s) {\n      var cipher = new this.StringCipherConstructor();\n      var data = stringToBytes(s);\n      data = cipher.decryptBlock(data, true);\n      return bytesToString(data);\n    },\n  };\n  return CipherTransform;\n})();\n\nvar CipherTransformFactory = (function CipherTransformFactoryClosure() {\n  // prettier-ignore\n  var defaultPasswordBytes = new Uint8Array([\n    0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41,\n    0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08,\n    0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80,\n    0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n  function createEncryptionKey20(\n    revision,\n    password,\n    ownerPassword,\n    ownerValidationSalt,\n    ownerKeySalt,\n    uBytes,\n    userPassword,\n    userValidationSalt,\n    userKeySalt,\n    ownerEncryption,\n    userEncryption,\n    perms\n  ) {\n    if (password) {\n      var passwordLength = Math.min(127, password.length);\n      password = password.subarray(0, passwordLength);\n    } else {\n      password = [];\n    }\n    var pdfAlgorithm;\n    if (revision === 6) {\n      pdfAlgorithm = new PDF20();\n    } else {\n      pdfAlgorithm = new PDF17();\n    }\n\n    if (\n      pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)\n    ) {\n      return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n    } else if (\n      password.length &&\n      pdfAlgorithm.checkOwnerPassword(\n        password,\n        ownerValidationSalt,\n        uBytes,\n        ownerPassword\n      )\n    ) {\n      return pdfAlgorithm.getOwnerKey(\n        password,\n        ownerKeySalt,\n        uBytes,\n        ownerEncryption\n      );\n    }\n\n    return null;\n  }\n\n  function prepareKeyData(\n    fileId,\n    password,\n    ownerPassword,\n    userPassword,\n    flags,\n    revision,\n    keyLength,\n    encryptMetadata\n  ) {\n    var hashDataSize = 40 + ownerPassword.length + fileId.length;\n    var hashData = new Uint8Array(hashDataSize),\n      i = 0,\n      j,\n      n;\n    if (password) {\n      n = Math.min(32, password.length);\n      for (; i < n; ++i) {\n        hashData[i] = password[i];\n      }\n    }\n    j = 0;\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n    // as now the padded password in the hashData[0..i]\n    for (j = 0, n = ownerPassword.length; j < n; ++j) {\n      hashData[i++] = ownerPassword[j];\n    }\n    hashData[i++] = flags & 0xff;\n    hashData[i++] = (flags >> 8) & 0xff;\n    hashData[i++] = (flags >> 16) & 0xff;\n    hashData[i++] = (flags >>> 24) & 0xff;\n    for (j = 0, n = fileId.length; j < n; ++j) {\n      hashData[i++] = fileId[j];\n    }\n    if (revision >= 4 && !encryptMetadata) {\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n    }\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, keyLengthInBytes);\n      }\n    }\n    var encryptionKey = hash.subarray(0, keyLengthInBytes);\n    var cipher, checkData;\n\n    if (revision >= 3) {\n      for (i = 0; i < 32; ++i) {\n        hashData[i] = defaultPasswordBytes[i];\n      }\n      for (j = 0, n = fileId.length; j < n; ++j) {\n        hashData[i++] = fileId[j];\n      }\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n      n = encryptionKey.length;\n      var derivedKey = new Uint8Array(n),\n        k;\n      for (j = 1; j <= 19; ++j) {\n        for (k = 0; k < n; ++k) {\n          derivedKey[k] = encryptionKey[k] ^ j;\n        }\n        cipher = new ARCFourCipher(derivedKey);\n        checkData = cipher.encryptBlock(checkData);\n      }\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    } else {\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(defaultPasswordBytes);\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    }\n    return encryptionKey;\n  }\n\n  function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n    var hashData = new Uint8Array(32),\n      i = 0,\n      j,\n      n;\n    n = Math.min(32, password.length);\n    for (; i < n; ++i) {\n      hashData[i] = password[i];\n    }\n    j = 0;\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, hash.length);\n      }\n    }\n\n    var cipher, userPassword;\n    if (revision >= 3) {\n      userPassword = ownerPassword;\n      var derivedKey = new Uint8Array(keyLengthInBytes),\n        k;\n      for (j = 19; j >= 0; j--) {\n        for (k = 0; k < keyLengthInBytes; ++k) {\n          derivedKey[k] = hash[k] ^ j;\n        }\n        cipher = new ARCFourCipher(derivedKey);\n        userPassword = cipher.encryptBlock(userPassword);\n      }\n    } else {\n      cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n      userPassword = cipher.encryptBlock(ownerPassword);\n    }\n    return userPassword;\n  }\n\n  var identityName = Name.get(\"Identity\");\n\n  function CipherTransformFactory(dict, fileId, password) {\n    var filter = dict.get(\"Filter\");\n    if (!isName(filter, \"Standard\")) {\n      throw new FormatError(\"unknown encryption method\");\n    }\n    this.dict = dict;\n    var algorithm = dict.get(\"V\");\n    if (\n      !Number.isInteger(algorithm) ||\n      (algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5)\n    ) {\n      throw new FormatError(\"unsupported encryption algorithm\");\n    }\n    this.algorithm = algorithm;\n    var keyLength = dict.get(\"Length\");\n    if (!keyLength) {\n      // Spec asks to rely on encryption dictionary's Length entry, however\n      // some PDFs don't have it. Trying to recover.\n      if (algorithm <= 3) {\n        // For 1 and 2 it's fixed to 40-bit, for 3 40-bit is a minimal value.\n        keyLength = 40;\n      } else {\n        // Trying to find default handler -- it usually has Length.\n        var cfDict = dict.get(\"CF\");\n        var streamCryptoName = dict.get(\"StmF\");\n        if (isDict(cfDict) && isName(streamCryptoName)) {\n          cfDict.suppressEncryption = true; // See comment below.\n          var handlerDict = cfDict.get(streamCryptoName.name);\n          keyLength = (handlerDict && handlerDict.get(\"Length\")) || 128;\n          if (keyLength < 40) {\n            // Sometimes it's incorrect value of bits, generators specify bytes.\n            keyLength <<= 3;\n          }\n        }\n      }\n    }\n    if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n      throw new FormatError(\"invalid key length\");\n    }\n\n    // prepare keys\n    var ownerPassword = stringToBytes(dict.get(\"O\")).subarray(0, 32);\n    var userPassword = stringToBytes(dict.get(\"U\")).subarray(0, 32);\n    var flags = dict.get(\"P\");\n    var revision = dict.get(\"R\");\n    // meaningful when V is 4 or 5\n    var encryptMetadata =\n      (algorithm === 4 || algorithm === 5) &&\n      dict.get(\"EncryptMetadata\") !== false;\n    this.encryptMetadata = encryptMetadata;\n\n    var fileIdBytes = stringToBytes(fileId);\n    var passwordBytes;\n    if (password) {\n      if (revision === 6) {\n        try {\n          password = utf8StringToString(password);\n        } catch (ex) {\n          warn(\n            \"CipherTransformFactory: \" +\n              \"Unable to convert UTF8 encoded password.\"\n          );\n        }\n      }\n      passwordBytes = stringToBytes(password);\n    }\n\n    var encryptionKey;\n    if (algorithm !== 5) {\n      encryptionKey = prepareKeyData(\n        fileIdBytes,\n        passwordBytes,\n        ownerPassword,\n        userPassword,\n        flags,\n        revision,\n        keyLength,\n        encryptMetadata\n      );\n    } else {\n      var ownerValidationSalt = stringToBytes(dict.get(\"O\")).subarray(32, 40);\n      var ownerKeySalt = stringToBytes(dict.get(\"O\")).subarray(40, 48);\n      var uBytes = stringToBytes(dict.get(\"U\")).subarray(0, 48);\n      var userValidationSalt = stringToBytes(dict.get(\"U\")).subarray(32, 40);\n      var userKeySalt = stringToBytes(dict.get(\"U\")).subarray(40, 48);\n      var ownerEncryption = stringToBytes(dict.get(\"OE\"));\n      var userEncryption = stringToBytes(dict.get(\"UE\"));\n      var perms = stringToBytes(dict.get(\"Perms\"));\n      encryptionKey = createEncryptionKey20(\n        revision,\n        passwordBytes,\n        ownerPassword,\n        ownerValidationSalt,\n        ownerKeySalt,\n        uBytes,\n        userPassword,\n        userValidationSalt,\n        userKeySalt,\n        ownerEncryption,\n        userEncryption,\n        perms\n      );\n    }\n    if (!encryptionKey && !password) {\n      throw new PasswordException(\n        \"No password given\",\n        PasswordResponses.NEED_PASSWORD\n      );\n    } else if (!encryptionKey && password) {\n      // Attempting use the password as an owner password\n      var decodedPassword = decodeUserPassword(\n        passwordBytes,\n        ownerPassword,\n        revision,\n        keyLength\n      );\n      encryptionKey = prepareKeyData(\n        fileIdBytes,\n        decodedPassword,\n        ownerPassword,\n        userPassword,\n        flags,\n        revision,\n        keyLength,\n        encryptMetadata\n      );\n    }\n\n    if (!encryptionKey) {\n      throw new PasswordException(\n        \"Incorrect Password\",\n        PasswordResponses.INCORRECT_PASSWORD\n      );\n    }\n\n    this.encryptionKey = encryptionKey;\n\n    if (algorithm >= 4) {\n      var cf = dict.get(\"CF\");\n      if (isDict(cf)) {\n        // The 'CF' dictionary itself should not be encrypted, and by setting\n        // `suppressEncryption` we can prevent an infinite loop inside of\n        // `XRef_fetchUncompressed` if the dictionary contains indirect objects\n        // (fixes issue7665.pdf).\n        cf.suppressEncryption = true;\n      }\n      this.cf = cf;\n      this.stmf = dict.get(\"StmF\") || identityName;\n      this.strf = dict.get(\"StrF\") || identityName;\n      this.eff = dict.get(\"EFF\") || this.stmf;\n    }\n  }\n\n  function buildObjectKey(num, gen, encryptionKey, isAes) {\n    var key = new Uint8Array(encryptionKey.length + 9),\n      i,\n      n;\n    for (i = 0, n = encryptionKey.length; i < n; ++i) {\n      key[i] = encryptionKey[i];\n    }\n    key[i++] = num & 0xff;\n    key[i++] = (num >> 8) & 0xff;\n    key[i++] = (num >> 16) & 0xff;\n    key[i++] = gen & 0xff;\n    key[i++] = (gen >> 8) & 0xff;\n    if (isAes) {\n      key[i++] = 0x73;\n      key[i++] = 0x41;\n      key[i++] = 0x6c;\n      key[i++] = 0x54;\n    }\n    var hash = calculateMD5(key, 0, i);\n    return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n  }\n\n  function buildCipherConstructor(cf, name, num, gen, key) {\n    if (!isName(name)) {\n      throw new FormatError(\"Invalid crypt filter name.\");\n    }\n    var cryptFilter = cf.get(name.name);\n    var cfm;\n    if (cryptFilter !== null && cryptFilter !== undefined) {\n      cfm = cryptFilter.get(\"CFM\");\n    }\n    if (!cfm || cfm.name === \"None\") {\n      return function cipherTransformFactoryBuildCipherConstructorNone() {\n        return new NullCipher();\n      };\n    }\n    if (cfm.name === \"V2\") {\n      return function cipherTransformFactoryBuildCipherConstructorV2() {\n        return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n      };\n    }\n    if (cfm.name === \"AESV2\") {\n      return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n        return new AES128Cipher(buildObjectKey(num, gen, key, true));\n      };\n    }\n    if (cfm.name === \"AESV3\") {\n      return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n        return new AES256Cipher(key);\n      };\n    }\n    throw new FormatError(\"Unknown crypto method\");\n  }\n\n  CipherTransformFactory.prototype = {\n    createCipherTransform: function CipherTransformFactory_createCipherTransform(\n      num,\n      gen\n    ) {\n      if (this.algorithm === 4 || this.algorithm === 5) {\n        return new CipherTransform(\n          buildCipherConstructor(\n            this.cf,\n            this.stmf,\n            num,\n            gen,\n            this.encryptionKey\n          ),\n          buildCipherConstructor(\n            this.cf,\n            this.strf,\n            num,\n            gen,\n            this.encryptionKey\n          )\n        );\n      }\n      // algorithms 1 and 2\n      var key = buildObjectKey(num, gen, this.encryptionKey, false);\n      var cipherConstructor = function buildCipherCipherConstructor() {\n        return new ARCFourCipher(key);\n      };\n      return new CipherTransform(cipherConstructor, cipherConstructor);\n    },\n  };\n\n  return CipherTransformFactory;\n})();\n\nexport {\n  AES128Cipher,\n  AES256Cipher,\n  ARCFourCipher,\n  CipherTransformFactory,\n  PDF17,\n  PDF20,\n  calculateMD5,\n  calculateSHA256,\n  calculateSHA384,\n  calculateSHA512,\n};\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  assert,\n  FormatError,\n  info,\n  isString,\n  shadow,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport { isDict, isName, isStream } from \"./primitives.js\";\n\n/**\n * Resizes an RGB image with 3 components.\n * @param {TypedArray} src - The source buffer.\n * @param {TypedArray} dest - The destination buffer.\n * @param {number} w1 - Original width.\n * @param {number} h1 - Original height.\n * @param {number} w2 - New width.\n * @param {number} h2 - New height.\n * @param {number} alpha01 - Size reserved for the alpha channel.\n */\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n  const COMPONENTS = 3;\n  alpha01 = alpha01 !== 1 ? 0 : alpha01;\n  const xRatio = w1 / w2;\n  const yRatio = h1 / h2;\n  let newIndex = 0,\n    oldIndex;\n  const xScaled = new Uint16Array(w2);\n  const w1Scanline = w1 * COMPONENTS;\n\n  for (let i = 0; i < w2; i++) {\n    xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n  }\n  for (let i = 0; i < h2; i++) {\n    const py = Math.floor(i * yRatio) * w1Scanline;\n    for (let j = 0; j < w2; j++) {\n      oldIndex = py + xScaled[j];\n      dest[newIndex++] = src[oldIndex++];\n      dest[newIndex++] = src[oldIndex++];\n      dest[newIndex++] = src[oldIndex++];\n      newIndex += alpha01;\n    }\n  }\n}\n\nclass ColorSpace {\n  constructor(name, numComps) {\n    if (this.constructor === ColorSpace) {\n      unreachable(\"Cannot initialize ColorSpace.\");\n    }\n    this.name = name;\n    this.numComps = numComps;\n  }\n\n  /**\n   * Converts the color value to the RGB color. The color components are\n   * located in the src array starting from the srcOffset. Returns the array\n   * of the rgb components, each value ranging from [0,255].\n   */\n  getRgb(src, srcOffset) {\n    const rgb = new Uint8ClampedArray(3);\n    this.getRgbItem(src, srcOffset, rgb, 0);\n    return rgb;\n  }\n\n  /**\n   * Converts the color value to the RGB color, similar to the getRgb method.\n   * The result placed into the dest array starting from the destOffset.\n   */\n  getRgbItem(src, srcOffset, dest, destOffset) {\n    unreachable(\"Should not call ColorSpace.getRgbItem\");\n  }\n\n  /**\n   * Converts the specified number of the color values to the RGB colors.\n   * The colors are located in the src array starting from the srcOffset.\n   * The result is placed into the dest array starting from the destOffset.\n   * The src array items shall be in [0,2^bits) range, the dest array items\n   * will be in [0,255] range. alpha01 indicates how many alpha components\n   * there are in the dest array; it will be either 0 (RGB array) or 1 (RGBA\n   * array).\n   */\n  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n    unreachable(\"Should not call ColorSpace.getRgbBuffer\");\n  }\n\n  /**\n   * Determines the number of bytes required to store the result of the\n   * conversion done by the getRgbBuffer method. As in getRgbBuffer,\n   * |alpha01| is either 0 (RGB output) or 1 (RGBA output).\n   */\n  getOutputLength(inputLength, alpha01) {\n    unreachable(\"Should not call ColorSpace.getOutputLength\");\n  }\n\n  /**\n   * Returns true if source data will be equal the result/output data.\n   */\n  isPassthrough(bits) {\n    return false;\n  }\n\n  /**\n   * Refer to the static `ColorSpace.isDefaultDecode` method below.\n   */\n  isDefaultDecode(decodeMap, bpc) {\n    return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n  }\n\n  /**\n   * Fills in the RGB colors in the destination buffer.  alpha01 indicates\n   * how many alpha components there are in the dest array; it will be either\n   * 0 (RGB array) or 1 (RGBA array).\n   */\n  fillRgb(\n    dest,\n    originalWidth,\n    originalHeight,\n    width,\n    height,\n    actualHeight,\n    bpc,\n    comps,\n    alpha01\n  ) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'ColorSpace.fillRgb: Unsupported \"dest\" type.'\n      );\n    }\n    const count = originalWidth * originalHeight;\n    let rgbBuf = null;\n    const numComponentColors = 1 << bpc;\n    const needsResizing = originalHeight !== height || originalWidth !== width;\n\n    if (this.isPassthrough(bpc)) {\n      rgbBuf = comps;\n    } else if (\n      this.numComps === 1 &&\n      count > numComponentColors &&\n      this.name !== \"DeviceGray\" &&\n      this.name !== \"DeviceRGB\"\n    ) {\n      // Optimization: create a color map when there is just one component and\n      // we are converting more colors than the size of the color map. We\n      // don't build the map if the colorspace is gray or rgb since those\n      // methods are faster than building a map. This mainly offers big speed\n      // ups for indexed and alternate colorspaces.\n      //\n      // TODO it may be worth while to cache the color map. While running\n      // testing I never hit a cache so I will leave that out for now (perhaps\n      // we are reparsing colorspaces too much?).\n      const allColors =\n        bpc <= 8\n          ? new Uint8Array(numComponentColors)\n          : new Uint16Array(numComponentColors);\n      for (let i = 0; i < numComponentColors; i++) {\n        allColors[i] = i;\n      }\n      const colorMap = new Uint8ClampedArray(numComponentColors * 3);\n      this.getRgbBuffer(\n        allColors,\n        0,\n        numComponentColors,\n        colorMap,\n        0,\n        bpc,\n        /* alpha01 = */ 0\n      );\n\n      if (!needsResizing) {\n        // Fill in the RGB values directly into |dest|.\n        let destPos = 0;\n        for (let i = 0; i < count; ++i) {\n          const key = comps[i] * 3;\n          dest[destPos++] = colorMap[key];\n          dest[destPos++] = colorMap[key + 1];\n          dest[destPos++] = colorMap[key + 2];\n          destPos += alpha01;\n        }\n      } else {\n        rgbBuf = new Uint8Array(count * 3);\n        let rgbPos = 0;\n        for (let i = 0; i < count; ++i) {\n          const key = comps[i] * 3;\n          rgbBuf[rgbPos++] = colorMap[key];\n          rgbBuf[rgbPos++] = colorMap[key + 1];\n          rgbBuf[rgbPos++] = colorMap[key + 2];\n        }\n      }\n    } else {\n      if (!needsResizing) {\n        // Fill in the RGB values directly into |dest|.\n        this.getRgbBuffer(\n          comps,\n          0,\n          width * actualHeight,\n          dest,\n          0,\n          bpc,\n          alpha01\n        );\n      } else {\n        rgbBuf = new Uint8ClampedArray(count * 3);\n        this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, /* alpha01 = */ 0);\n      }\n    }\n\n    if (rgbBuf) {\n      if (needsResizing) {\n        resizeRgbImage(\n          rgbBuf,\n          dest,\n          originalWidth,\n          originalHeight,\n          width,\n          height,\n          alpha01\n        );\n      } else {\n        let destPos = 0,\n          rgbPos = 0;\n        for (let i = 0, ii = width * actualHeight; i < ii; i++) {\n          dest[destPos++] = rgbBuf[rgbPos++];\n          dest[destPos++] = rgbBuf[rgbPos++];\n          dest[destPos++] = rgbBuf[rgbPos++];\n          destPos += alpha01;\n        }\n      }\n    }\n  }\n\n  /**\n   * True if the colorspace has components in the default range of [0, 1].\n   * This should be true for all colorspaces except for lab color spaces\n   * which are [0,100], [-128, 127], [-128, 127].\n   */\n  get usesZeroToOneRange() {\n    return shadow(this, \"usesZeroToOneRange\", true);\n  }\n\n  static parse(cs, xref, res, pdfFunctionFactory) {\n    const IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n    return this.fromIR(IR);\n  }\n\n  static fromIR(IR) {\n    const name = Array.isArray(IR) ? IR[0] : IR;\n    let whitePoint, blackPoint, gamma;\n\n    switch (name) {\n      case \"DeviceGrayCS\":\n        return this.singletons.gray;\n      case \"DeviceRgbCS\":\n        return this.singletons.rgb;\n      case \"DeviceCmykCS\":\n        return this.singletons.cmyk;\n      case \"CalGrayCS\":\n        whitePoint = IR[1];\n        blackPoint = IR[2];\n        gamma = IR[3];\n        return new CalGrayCS(whitePoint, blackPoint, gamma);\n      case \"CalRGBCS\":\n        whitePoint = IR[1];\n        blackPoint = IR[2];\n        gamma = IR[3];\n        const matrix = IR[4];\n        return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n      case \"PatternCS\":\n        let basePatternCS = IR[1];\n        if (basePatternCS) {\n          basePatternCS = this.fromIR(basePatternCS);\n        }\n        return new PatternCS(basePatternCS);\n      case \"IndexedCS\":\n        const baseIndexedCS = IR[1];\n        const hiVal = IR[2];\n        const lookup = IR[3];\n        return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n      case \"AlternateCS\":\n        const numComps = IR[1];\n        const alt = IR[2];\n        const tintFn = IR[3];\n        return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n      case \"LabCS\":\n        whitePoint = IR[1];\n        blackPoint = IR[2];\n        const range = IR[3];\n        return new LabCS(whitePoint, blackPoint, range);\n      default:\n        throw new FormatError(`Unknown colorspace name: ${name}`);\n    }\n  }\n\n  static parseToIR(cs, xref, res = null, pdfFunctionFactory) {\n    cs = xref.fetchIfRef(cs);\n    if (isName(cs)) {\n      switch (cs.name) {\n        case \"DeviceGray\":\n        case \"G\":\n          return \"DeviceGrayCS\";\n        case \"DeviceRGB\":\n        case \"RGB\":\n          return \"DeviceRgbCS\";\n        case \"DeviceCMYK\":\n        case \"CMYK\":\n          return \"DeviceCmykCS\";\n        case \"Pattern\":\n          return [\"PatternCS\", null];\n        default:\n          if (isDict(res)) {\n            const colorSpaces = res.get(\"ColorSpace\");\n            if (isDict(colorSpaces)) {\n              const resCS = colorSpaces.get(cs.name);\n              if (resCS) {\n                if (isName(resCS)) {\n                  return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n                }\n                cs = resCS;\n                break;\n              }\n            }\n          }\n          throw new FormatError(`unrecognized colorspace ${cs.name}`);\n      }\n    }\n    if (Array.isArray(cs)) {\n      const mode = xref.fetchIfRef(cs[0]).name;\n      let numComps, params, alt, whitePoint, blackPoint, gamma;\n\n      switch (mode) {\n        case \"DeviceGray\":\n        case \"G\":\n          return \"DeviceGrayCS\";\n        case \"DeviceRGB\":\n        case \"RGB\":\n          return \"DeviceRgbCS\";\n        case \"DeviceCMYK\":\n        case \"CMYK\":\n          return \"DeviceCmykCS\";\n        case \"CalGray\":\n          params = xref.fetchIfRef(cs[1]);\n          whitePoint = params.getArray(\"WhitePoint\");\n          blackPoint = params.getArray(\"BlackPoint\");\n          gamma = params.get(\"Gamma\");\n          return [\"CalGrayCS\", whitePoint, blackPoint, gamma];\n        case \"CalRGB\":\n          params = xref.fetchIfRef(cs[1]);\n          whitePoint = params.getArray(\"WhitePoint\");\n          blackPoint = params.getArray(\"BlackPoint\");\n          gamma = params.getArray(\"Gamma\");\n          const matrix = params.getArray(\"Matrix\");\n          return [\"CalRGBCS\", whitePoint, blackPoint, gamma, matrix];\n        case \"ICCBased\":\n          const stream = xref.fetchIfRef(cs[1]);\n          const dict = stream.dict;\n          numComps = dict.get(\"N\");\n          alt = dict.get(\"Alternate\");\n          if (alt) {\n            const altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n            // Parse the /Alternate CS to ensure that the number of components\n            // are correct, and also (indirectly) that it is not a PatternCS.\n            const altCS = this.fromIR(altIR, pdfFunctionFactory);\n            if (altCS.numComps === numComps) {\n              return altIR;\n            }\n            warn(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n          }\n          if (numComps === 1) {\n            return \"DeviceGrayCS\";\n          } else if (numComps === 3) {\n            return \"DeviceRgbCS\";\n          } else if (numComps === 4) {\n            return \"DeviceCmykCS\";\n          }\n          break;\n        case \"Pattern\":\n          let basePatternCS = cs[1] || null;\n          if (basePatternCS) {\n            basePatternCS = this.parseToIR(\n              basePatternCS,\n              xref,\n              res,\n              pdfFunctionFactory\n            );\n          }\n          return [\"PatternCS\", basePatternCS];\n        case \"Indexed\":\n        case \"I\":\n          const baseIndexedCS = this.parseToIR(\n            cs[1],\n            xref,\n            res,\n            pdfFunctionFactory\n          );\n          const hiVal = xref.fetchIfRef(cs[2]) + 1;\n          let lookup = xref.fetchIfRef(cs[3]);\n          if (isStream(lookup)) {\n            lookup = lookup.getBytes();\n          }\n          return [\"IndexedCS\", baseIndexedCS, hiVal, lookup];\n        case \"Separation\":\n        case \"DeviceN\":\n          const name = xref.fetchIfRef(cs[1]);\n          numComps = Array.isArray(name) ? name.length : 1;\n          alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n          const tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n          return [\"AlternateCS\", numComps, alt, tintFn];\n        case \"Lab\":\n          params = xref.fetchIfRef(cs[1]);\n          whitePoint = params.getArray(\"WhitePoint\");\n          blackPoint = params.getArray(\"BlackPoint\");\n          const range = params.getArray(\"Range\");\n          return [\"LabCS\", whitePoint, blackPoint, range];\n        default:\n          throw new FormatError(`unimplemented color space object \"${mode}\"`);\n      }\n    }\n    throw new FormatError(`unrecognized color space object: \"${cs}\"`);\n  }\n\n  /**\n   * Checks if a decode map matches the default decode map for a color space.\n   * This handles the general decode maps where there are two values per\n   * component, e.g. [0, 1, 0, 1, 0, 1] for a RGB color.\n   * This does not handle Lab, Indexed, or Pattern decode maps since they are\n   * slightly different.\n   * @param {Array} decode - Decode map (usually from an image).\n   * @param {number} numComps - Number of components the color space has.\n   */\n  static isDefaultDecode(decode, numComps) {\n    if (!Array.isArray(decode)) {\n      return true;\n    }\n    if (numComps * 2 !== decode.length) {\n      warn(\"The decode map is not the correct length\");\n      return true;\n    }\n    for (let i = 0, ii = decode.length; i < ii; i += 2) {\n      if (decode[i] !== 0 || decode[i + 1] !== 1) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  static get singletons() {\n    return shadow(this, \"singletons\", {\n      get gray() {\n        return shadow(this, \"gray\", new DeviceGrayCS());\n      },\n      get rgb() {\n        return shadow(this, \"rgb\", new DeviceRgbCS());\n      },\n      get cmyk() {\n        return shadow(this, \"cmyk\", new DeviceCmykCS());\n      },\n    });\n  }\n}\n\n/**\n * Alternate color space handles both Separation and DeviceN color spaces.  A\n * Separation color space is actually just a DeviceN with one color component.\n * Both color spaces use a tinting function to convert colors to a base color\n * space.\n *\n * The default color is `new Float32Array(new Array(numComps).fill(1))`.\n */\nclass AlternateCS extends ColorSpace {\n  constructor(numComps, base, tintFn) {\n    super(\"Alternate\", numComps);\n    this.base = base;\n    this.tintFn = tintFn;\n    this.tmpBuf = new Float32Array(base.numComps);\n  }\n\n  getRgbItem(src, srcOffset, dest, destOffset) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'AlternateCS.getRgbItem: Unsupported \"dest\" type.'\n      );\n    }\n    const tmpBuf = this.tmpBuf;\n    this.tintFn(src, srcOffset, tmpBuf, 0);\n    this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n  }\n\n  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'AlternateCS.getRgbBuffer: Unsupported \"dest\" type.'\n      );\n    }\n    const tintFn = this.tintFn;\n    const base = this.base;\n    const scale = 1 / ((1 << bits) - 1);\n    const baseNumComps = base.numComps;\n    const usesZeroToOneRange = base.usesZeroToOneRange;\n    const isPassthrough =\n      (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n    let pos = isPassthrough ? destOffset : 0;\n    const baseBuf = isPassthrough\n      ? dest\n      : new Uint8ClampedArray(baseNumComps * count);\n    const numComps = this.numComps;\n\n    const scaled = new Float32Array(numComps);\n    const tinted = new Float32Array(baseNumComps);\n    let i, j;\n\n    for (i = 0; i < count; i++) {\n      for (j = 0; j < numComps; j++) {\n        scaled[j] = src[srcOffset++] * scale;\n      }\n      tintFn(scaled, 0, tinted, 0);\n      if (usesZeroToOneRange) {\n        for (j = 0; j < baseNumComps; j++) {\n          baseBuf[pos++] = tinted[j] * 255;\n        }\n      } else {\n        base.getRgbItem(tinted, 0, baseBuf, pos);\n        pos += baseNumComps;\n      }\n    }\n\n    if (!isPassthrough) {\n      base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n    }\n  }\n\n  getOutputLength(inputLength, alpha01) {\n    return this.base.getOutputLength(\n      (inputLength * this.base.numComps) / this.numComps,\n      alpha01\n    );\n  }\n}\n\nclass PatternCS extends ColorSpace {\n  constructor(baseCS) {\n    super(\"Pattern\", null);\n    this.base = baseCS;\n  }\n\n  isDefaultDecode(decodeMap, bpc) {\n    unreachable(\"Should not call PatternCS.isDefaultDecode\");\n  }\n}\n\n/**\n * The default color is `new Uint8Array([0])`.\n */\nclass IndexedCS extends ColorSpace {\n  constructor(base, highVal, lookup) {\n    super(\"Indexed\", 1);\n    this.base = base;\n    this.highVal = highVal;\n\n    const baseNumComps = base.numComps;\n    const length = baseNumComps * highVal;\n\n    if (isStream(lookup)) {\n      this.lookup = new Uint8Array(length);\n      const bytes = lookup.getBytes(length);\n      this.lookup.set(bytes);\n    } else if (isString(lookup)) {\n      this.lookup = new Uint8Array(length);\n      for (let i = 0; i < length; ++i) {\n        this.lookup[i] = lookup.charCodeAt(i);\n      }\n    } else if (lookup instanceof Uint8Array) {\n      this.lookup = lookup;\n    } else {\n      throw new FormatError(`Unrecognized lookup table: ${lookup}`);\n    }\n  }\n\n  getRgbItem(src, srcOffset, dest, destOffset) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'IndexedCS.getRgbItem: Unsupported \"dest\" type.'\n      );\n    }\n    const numComps = this.base.numComps;\n    const start = src[srcOffset] * numComps;\n    this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n  }\n\n  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'IndexedCS.getRgbBuffer: Unsupported \"dest\" type.'\n      );\n    }\n    const base = this.base;\n    const numComps = base.numComps;\n    const outputDelta = base.getOutputLength(numComps, alpha01);\n    const lookup = this.lookup;\n\n    for (let i = 0; i < count; ++i) {\n      const lookupPos = src[srcOffset++] * numComps;\n      base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n      destOffset += outputDelta;\n    }\n  }\n\n  getOutputLength(inputLength, alpha01) {\n    return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n  }\n\n  isDefaultDecode(decodeMap, bpc) {\n    if (!Array.isArray(decodeMap)) {\n      return true;\n    }\n    if (decodeMap.length !== 2) {\n      warn(\"Decode map length is not correct\");\n      return true;\n    }\n    if (!Number.isInteger(bpc) || bpc < 1) {\n      warn(\"Bits per component is not correct\");\n      return true;\n    }\n    return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n  }\n}\n\n/**\n * The default color is `new Float32Array([0])`.\n */\nclass DeviceGrayCS extends ColorSpace {\n  constructor() {\n    super(\"DeviceGray\", 1);\n  }\n\n  getRgbItem(src, srcOffset, dest, destOffset) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'DeviceGrayCS.getRgbItem: Unsupported \"dest\" type.'\n      );\n    }\n    const c = src[srcOffset] * 255;\n    dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n  }\n\n  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'DeviceGrayCS.getRgbBuffer: Unsupported \"dest\" type.'\n      );\n    }\n    const scale = 255 / ((1 << bits) - 1);\n    let j = srcOffset,\n      q = destOffset;\n    for (let i = 0; i < count; ++i) {\n      const c = scale * src[j++];\n      dest[q++] = c;\n      dest[q++] = c;\n      dest[q++] = c;\n      q += alpha01;\n    }\n  }\n\n  getOutputLength(inputLength, alpha01) {\n    return inputLength * (3 + alpha01);\n  }\n}\n\n/**\n * The default color is `new Float32Array([0, 0, 0])`.\n */\nclass DeviceRgbCS extends ColorSpace {\n  constructor() {\n    super(\"DeviceRGB\", 3);\n  }\n\n  getRgbItem(src, srcOffset, dest, destOffset) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'DeviceRgbCS.getRgbItem: Unsupported \"dest\" type.'\n      );\n    }\n    dest[destOffset] = src[srcOffset] * 255;\n    dest[destOffset + 1] = src[srcOffset + 1] * 255;\n    dest[destOffset + 2] = src[srcOffset + 2] * 255;\n  }\n\n  getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        dest instanceof Uint8ClampedArray,\n        'DeviceRgbCS.getRgbBuffer: Unsupported \"dest\" type.'\n      );\n    }\n    if (bits === 8 && alpha01 === 0) {\n      dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n      return;\n    }\n    const scale = 255 / ((1 << bits) - 1);\n    let j = srcOffset,\n      q = destOffset;\n    for (let i = 0; i < count; ++i) {\n      dest[q++] = scale * src[j++];\n      dest[q++] = scale * src[j++];\n      dest[q++] = scale * src[j++];\n      q += alpha01;\n    }\n  }\n\n  getOutputLength(inputLength, alpha01) {\n    return ((inputLength * (3 + alpha01)) / 3) | 0;\n  }\n\n  isPassthrough(bits) {\n    return bits === 8;\n  }\n}\n\n/**\n * The default color is `new Float32Array([0, 0, 0, 1])`.\n */\nconst DeviceCmykCS = (function DeviceCmykCSClosure() {\n  // The coefficients below was found using numerical analysis: the method of\n  // steepest descent for the sum((f_i - color_value_i)^2) for r/g/b colors,\n  // where color_value is the tabular value from the table of sampled RGB colors\n  // from CMYK US Web Coated (SWOP) colorspace, and f_i is the corresponding\n  // CMYK color conversion using the estimation below:\n  //   f(A, B,.. N) = Acc+Bcm+Ccy+Dck+c+Fmm+Gmy+Hmk+Im+Jyy+Kyk+Ly+Mkk+Nk+255\n  function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n    const c = src[srcOffset] * srcScale;\n    const m = src[srcOffset + 1] * srcScale;\n    const y = src[srcOffset + 2] * srcScale;\n    const k = src[srcOffset + 3] * srcScale;\n\n    dest[destOffset] =\n      255 +\n      c *\n        (-4.387332384609988 * c +\n          54.48615194189176 * m +\n          18.82290502165302 * y +\n          212.25662451639585 * k +\n          -285.2331026137004) +\n      m *\n        (1.7149763477362134 * m -\n          5.6096736904047315 * y +\n          -17.873870861415444 * k -\n          5.497006427196366) +\n      y *\n        (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) +\n      k * (-21.86122147463605 * k - 189.48180835922747);\n\n    dest[destOffset + 1] =\n      255 +\n      c *\n        (8.841041422036149 * c +\n          60.118027045597366 * m +\n          6.871425592049007 * y +\n          31.159100130055922 * k +\n          -79.2970844816548) +\n      m *\n        (-15.310361306967817 * m +\n          17.575251261109482 * y +\n          131.35250912493976 * k -\n          190.9453302588951) +\n      y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) +\n      k * (-20.737325471181034 * k - 187.80453709719578);\n\n    dest[destOffset + 2] =\n      255 +\n      c *\n        (0.8842522430003296 * c +\n          8.078677503112928 * m +\n          30.89978309703729 * y -\n          0.23883238689178934 * k +\n          -14.183576799673286) +\n      m *\n        (10.49593273432072 * m +\n          63.02378494754052 * y +\n          50.606957656360734 * k -\n          112.23884253719248) +\n      y *\n        (0.03296041114873217 * y +\n          115.60384449646641 * k +\n          -193.58209356861505) +\n      k * (-22.33816807309886 * k - 180.12613974708367);\n  }\n\n  class DeviceCmykCS extends ColorSpace {\n    constructor() {\n      super(\"DeviceCMYK\", 4);\n    }\n\n    getRgbItem(src, srcOffset, dest, destOffset) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'DeviceCmykCS.getRgbItem: Unsupported \"dest\" type.'\n        );\n      }\n      convertToRgb(src, srcOffset, 1, dest, destOffset);\n    }\n\n    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'DeviceCmykCS.getRgbBuffer: Unsupported \"dest\" type.'\n        );\n      }\n      const scale = 1 / ((1 << bits) - 1);\n      for (let i = 0; i < count; i++) {\n        convertToRgb(src, srcOffset, scale, dest, destOffset);\n        srcOffset += 4;\n        destOffset += 3 + alpha01;\n      }\n    }\n\n    getOutputLength(inputLength, alpha01) {\n      return ((inputLength / 4) * (3 + alpha01)) | 0;\n    }\n  }\n  return DeviceCmykCS;\n})();\n\n/**\n * CalGrayCS: Based on \"PDF Reference, Sixth Ed\", p.245\n *\n * The default color is `new Float32Array([0])`.\n */\nconst CalGrayCS = (function CalGrayCSClosure() {\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    // A represents a gray component of a calibrated gray space.\n    // A <---> AG in the spec\n    const A = src[srcOffset] * scale;\n    const AG = A ** cs.G;\n\n    // Computes L as per spec. ( = cs.YW * AG )\n    // Except if other than default BlackPoint values are used.\n    const L = cs.YW * AG;\n    // http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html, Ch 4.\n    // Convert values to rgb range [0, 255].\n    const val = Math.max(295.8 * L ** 0.333333333333333333 - 40.8, 0);\n    dest[destOffset] = val;\n    dest[destOffset + 1] = val;\n    dest[destOffset + 2] = val;\n  }\n\n  class CalGrayCS extends ColorSpace {\n    constructor(whitePoint, blackPoint, gamma) {\n      super(\"CalGray\", 1);\n\n      if (!whitePoint) {\n        throw new FormatError(\n          \"WhitePoint missing - required for color space CalGray\"\n        );\n      }\n      blackPoint = blackPoint || [0, 0, 0];\n      gamma = gamma || 1;\n\n      // Translate arguments to spec variables.\n      this.XW = whitePoint[0];\n      this.YW = whitePoint[1];\n      this.ZW = whitePoint[2];\n\n      this.XB = blackPoint[0];\n      this.YB = blackPoint[1];\n      this.ZB = blackPoint[2];\n\n      this.G = gamma;\n\n      // Validate variables as per spec.\n      if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n        throw new FormatError(\n          `Invalid WhitePoint components for ${this.name}` +\n            \", no fallback available\"\n        );\n      }\n\n      if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n        info(`Invalid BlackPoint for ${this.name}, falling back to default.`);\n        this.XB = this.YB = this.ZB = 0;\n      }\n\n      if (this.XB !== 0 || this.YB !== 0 || this.ZB !== 0) {\n        warn(\n          `${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ` +\n            `ZB: ${this.ZB}, only default values are supported.`\n        );\n      }\n\n      if (this.G < 1) {\n        info(\n          `Invalid Gamma: ${this.G} for ${this.name}, ` +\n            \"falling back to default.\"\n        );\n        this.G = 1;\n      }\n    }\n\n    getRgbItem(src, srcOffset, dest, destOffset) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'CalGrayCS.getRgbItem: Unsupported \"dest\" type.'\n        );\n      }\n      convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n    }\n\n    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'CalGrayCS.getRgbBuffer: Unsupported \"dest\" type.'\n        );\n      }\n      const scale = 1 / ((1 << bits) - 1);\n\n      for (let i = 0; i < count; ++i) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n        srcOffset += 1;\n        destOffset += 3 + alpha01;\n      }\n    }\n\n    getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01);\n    }\n  }\n  return CalGrayCS;\n})();\n\n/**\n * CalRGBCS: Based on \"PDF Reference, Sixth Ed\", p.247\n *\n * The default color is `new Float32Array([0, 0, 0])`.\n */\nconst CalRGBCS = (function CalRGBCSClosure() {\n  // See http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html for these\n  // matrices.\n  // prettier-ignore\n  const BRADFORD_SCALE_MATRIX = new Float32Array([\n    0.8951, 0.2664, -0.1614,\n    -0.7502, 1.7135, 0.0367,\n    0.0389, -0.0685, 1.0296]);\n\n  // prettier-ignore\n  const BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([\n    0.9869929, -0.1470543, 0.1599627,\n    0.4323053, 0.5183603, 0.0492912,\n    -0.0085287, 0.0400428, 0.9684867]);\n\n  // See http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html.\n  // prettier-ignore\n  const SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([\n    3.2404542, -1.5371385, -0.4985314,\n    -0.9692660, 1.8760108, 0.0415560,\n    0.0556434, -0.2040259, 1.0572252]);\n\n  const FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n\n  const tempNormalizeMatrix = new Float32Array(3);\n  const tempConvertMatrix1 = new Float32Array(3);\n  const tempConvertMatrix2 = new Float32Array(3);\n\n  const DECODE_L_CONSTANT = ((8 + 16) / 116) ** 3 / 8.0;\n\n  function matrixProduct(a, b, result) {\n    result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n    result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n    result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n  }\n\n  function convertToFlat(sourceWhitePoint, LMS, result) {\n    result[0] = (LMS[0] * 1) / sourceWhitePoint[0];\n    result[1] = (LMS[1] * 1) / sourceWhitePoint[1];\n    result[2] = (LMS[2] * 1) / sourceWhitePoint[2];\n  }\n\n  function convertToD65(sourceWhitePoint, LMS, result) {\n    const D65X = 0.95047;\n    const D65Y = 1;\n    const D65Z = 1.08883;\n\n    result[0] = (LMS[0] * D65X) / sourceWhitePoint[0];\n    result[1] = (LMS[1] * D65Y) / sourceWhitePoint[1];\n    result[2] = (LMS[2] * D65Z) / sourceWhitePoint[2];\n  }\n\n  function sRGBTransferFunction(color) {\n    // See http://en.wikipedia.org/wiki/SRGB.\n    if (color <= 0.0031308) {\n      return adjustToRange(0, 1, 12.92 * color);\n    }\n    return adjustToRange(0, 1, (1 + 0.055) * color ** (1 / 2.4) - 0.055);\n  }\n\n  function adjustToRange(min, max, value) {\n    return Math.max(min, Math.min(max, value));\n  }\n\n  function decodeL(L) {\n    if (L < 0) {\n      return -decodeL(-L);\n    }\n    if (L > 8.0) {\n      return ((L + 16) / 116) ** 3;\n    }\n    return L * DECODE_L_CONSTANT;\n  }\n\n  function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n    // In case the blackPoint is already the default blackPoint then there is\n    // no need to do compensation.\n    if (\n      sourceBlackPoint[0] === 0 &&\n      sourceBlackPoint[1] === 0 &&\n      sourceBlackPoint[2] === 0\n    ) {\n      result[0] = XYZ_Flat[0];\n      result[1] = XYZ_Flat[1];\n      result[2] = XYZ_Flat[2];\n      return;\n    }\n\n    // For the blackPoint calculation details, please see\n    // http://www.adobe.com/content/dam/Adobe/en/devnet/photoshop/sdk/\n    // AdobeBPC.pdf.\n    // The destination blackPoint is the default blackPoint [0, 0, 0].\n    const zeroDecodeL = decodeL(0);\n\n    const X_DST = zeroDecodeL;\n    const X_SRC = decodeL(sourceBlackPoint[0]);\n\n    const Y_DST = zeroDecodeL;\n    const Y_SRC = decodeL(sourceBlackPoint[1]);\n\n    const Z_DST = zeroDecodeL;\n    const Z_SRC = decodeL(sourceBlackPoint[2]);\n\n    const X_Scale = (1 - X_DST) / (1 - X_SRC);\n    const X_Offset = 1 - X_Scale;\n\n    const Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n    const Y_Offset = 1 - Y_Scale;\n\n    const Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n    const Z_Offset = 1 - Z_Scale;\n\n    result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n    result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n    result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n  }\n\n  function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n    // In case the whitePoint is already flat then there is no need to do\n    // normalization.\n    if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n      result[0] = XYZ_In[0];\n      result[1] = XYZ_In[1];\n      result[2] = XYZ_In[2];\n      return;\n    }\n\n    const LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n\n    const LMS_Flat = tempNormalizeMatrix;\n    convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n  }\n\n  function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n    const LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n\n    const LMS_D65 = tempNormalizeMatrix;\n    convertToD65(sourceWhitePoint, LMS, LMS_D65);\n\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n  }\n\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    // A, B and C represent a red, green and blue components of a calibrated\n    // rgb space.\n    const A = adjustToRange(0, 1, src[srcOffset] * scale);\n    const B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n    const C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n\n    // A <---> AGR in the spec\n    // B <---> BGG in the spec\n    // C <---> CGB in the spec\n    const AGR = A ** cs.GR;\n    const BGG = B ** cs.GG;\n    const CGB = C ** cs.GB;\n\n    // Computes intermediate variables L, M, N as per spec.\n    // To decode X, Y, Z values map L, M, N directly to them.\n    const X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n    const Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n    const Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n\n    // The following calculations are based on this document:\n    // http://www.adobe.com/content/dam/Adobe/en/devnet/photoshop/sdk/\n    // AdobeBPC.pdf.\n    const XYZ = tempConvertMatrix1;\n    XYZ[0] = X;\n    XYZ[1] = Y;\n    XYZ[2] = Z;\n    const XYZ_Flat = tempConvertMatrix2;\n\n    normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n\n    const XYZ_Black = tempConvertMatrix1;\n    compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n\n    const XYZ_D65 = tempConvertMatrix2;\n    normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n\n    const SRGB = tempConvertMatrix1;\n    matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n\n    // Convert the values to rgb range [0, 255].\n    dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n    dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n    dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n  }\n\n  class CalRGBCS extends ColorSpace {\n    constructor(whitePoint, blackPoint, gamma, matrix) {\n      super(\"CalRGB\", 3);\n\n      if (!whitePoint) {\n        throw new FormatError(\n          \"WhitePoint missing - required for color space CalRGB\"\n        );\n      }\n      blackPoint = blackPoint || new Float32Array(3);\n      gamma = gamma || new Float32Array([1, 1, 1]);\n      matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n\n      // Translate arguments to spec variables.\n      const XW = whitePoint[0];\n      const YW = whitePoint[1];\n      const ZW = whitePoint[2];\n      this.whitePoint = whitePoint;\n\n      const XB = blackPoint[0];\n      const YB = blackPoint[1];\n      const ZB = blackPoint[2];\n      this.blackPoint = blackPoint;\n\n      this.GR = gamma[0];\n      this.GG = gamma[1];\n      this.GB = gamma[2];\n\n      this.MXA = matrix[0];\n      this.MYA = matrix[1];\n      this.MZA = matrix[2];\n      this.MXB = matrix[3];\n      this.MYB = matrix[4];\n      this.MZB = matrix[5];\n      this.MXC = matrix[6];\n      this.MYC = matrix[7];\n      this.MZC = matrix[8];\n\n      // Validate variables as per spec.\n      if (XW < 0 || ZW < 0 || YW !== 1) {\n        throw new FormatError(\n          `Invalid WhitePoint components for ${this.name}` +\n            \", no fallback available\"\n        );\n      }\n\n      if (XB < 0 || YB < 0 || ZB < 0) {\n        info(\n          `Invalid BlackPoint for ${this.name} [${XB}, ${YB}, ${ZB}], ` +\n            \"falling back to default.\"\n        );\n        this.blackPoint = new Float32Array(3);\n      }\n\n      if (this.GR < 0 || this.GG < 0 || this.GB < 0) {\n        info(\n          `Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ` +\n            `${this.name}, falling back to default.`\n        );\n        this.GR = this.GG = this.GB = 1;\n      }\n    }\n\n    getRgbItem(src, srcOffset, dest, destOffset) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'CalRGBCS.getRgbItem: Unsupported \"dest\" type.'\n        );\n      }\n      convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n    }\n\n    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'CalRGBCS.getRgbBuffer: Unsupported \"dest\" type.'\n        );\n      }\n      const scale = 1 / ((1 << bits) - 1);\n\n      for (let i = 0; i < count; ++i) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n        srcOffset += 3;\n        destOffset += 3 + alpha01;\n      }\n    }\n\n    getOutputLength(inputLength, alpha01) {\n      return ((inputLength * (3 + alpha01)) / 3) | 0;\n    }\n  }\n  return CalRGBCS;\n})();\n\n/**\n * LabCS: Based on \"PDF Reference, Sixth Ed\", p.250\n *\n * The default color is `new Float32Array([0, 0, 0])`.\n */\nconst LabCS = (function LabCSClosure() {\n  // Function g(x) from spec\n  function fn_g(x) {\n    let result;\n    if (x >= 6 / 29) {\n      result = x * x * x;\n    } else {\n      result = (108 / 841) * (x - 4 / 29);\n    }\n    return result;\n  }\n\n  function decode(value, high1, low2, high2) {\n    return low2 + (value * (high2 - low2)) / high1;\n  }\n\n  // If decoding is needed maxVal should be 2^bits per component - 1.\n  function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n    // XXX: Lab input is in the range of [0, 100], [amin, amax], [bmin, bmax]\n    // not the usual [0, 1]. If a command like setFillColor is used the src\n    // values will already be within the correct range. However, if we are\n    // converting an image we have to map the values to the correct range given\n    // above.\n    // Ls,as,bs <---> L*,a*,b* in the spec\n    let Ls = src[srcOffset];\n    let as = src[srcOffset + 1];\n    let bs = src[srcOffset + 2];\n    if (maxVal !== false) {\n      Ls = decode(Ls, maxVal, 0, 100);\n      as = decode(as, maxVal, cs.amin, cs.amax);\n      bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n    }\n\n    // Adjust limits of 'as' and 'bs'\n    if (as > cs.amax) {\n      as = cs.amax;\n    } else if (as < cs.amin) {\n      as = cs.amin;\n    }\n    if (bs > cs.bmax) {\n      bs = cs.bmax;\n    } else if (bs < cs.bmin) {\n      bs = cs.bmin;\n    }\n\n    // Computes intermediate variables X,Y,Z as per spec\n    const M = (Ls + 16) / 116;\n    const L = M + as / 500;\n    const N = M - bs / 200;\n\n    const X = cs.XW * fn_g(L);\n    const Y = cs.YW * fn_g(M);\n    const Z = cs.ZW * fn_g(N);\n\n    let r, g, b;\n    // Using different conversions for D50 and D65 white points,\n    // per http://www.color.org/srgb.pdf\n    if (cs.ZW < 1) {\n      // Assuming D50 (X=0.9642, Y=1.00, Z=0.8249)\n      r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n      g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n      b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n    } else {\n      // Assuming D65 (X=0.9505, Y=1.00, Z=1.0888)\n      r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n      g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n      b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n    }\n    // Convert the color values to the [0,255] range (clamping is automatic).\n    dest[destOffset] = Math.sqrt(r) * 255;\n    dest[destOffset + 1] = Math.sqrt(g) * 255;\n    dest[destOffset + 2] = Math.sqrt(b) * 255;\n  }\n\n  class LabCS extends ColorSpace {\n    constructor(whitePoint, blackPoint, range) {\n      super(\"Lab\", 3);\n\n      if (!whitePoint) {\n        throw new FormatError(\n          \"WhitePoint missing - required for color space Lab\"\n        );\n      }\n      blackPoint = blackPoint || [0, 0, 0];\n      range = range || [-100, 100, -100, 100];\n\n      // Translate args to spec variables\n      this.XW = whitePoint[0];\n      this.YW = whitePoint[1];\n      this.ZW = whitePoint[2];\n      this.amin = range[0];\n      this.amax = range[1];\n      this.bmin = range[2];\n      this.bmax = range[3];\n\n      // These are here just for completeness - the spec doesn't offer any\n      // formulas that use BlackPoint in Lab\n      this.XB = blackPoint[0];\n      this.YB = blackPoint[1];\n      this.ZB = blackPoint[2];\n\n      // Validate vars as per spec\n      if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) {\n        throw new FormatError(\n          \"Invalid WhitePoint components, no fallback available\"\n        );\n      }\n\n      if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {\n        info(\"Invalid BlackPoint, falling back to default\");\n        this.XB = this.YB = this.ZB = 0;\n      }\n\n      if (this.amin > this.amax || this.bmin > this.bmax) {\n        info(\"Invalid Range, falling back to defaults\");\n        this.amin = -100;\n        this.amax = 100;\n        this.bmin = -100;\n        this.bmax = 100;\n      }\n    }\n\n    getRgbItem(src, srcOffset, dest, destOffset) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'LabCS.getRgbItem: Unsupported \"dest\" type.'\n        );\n      }\n      convertToRgb(this, src, srcOffset, false, dest, destOffset);\n    }\n\n    getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          dest instanceof Uint8ClampedArray,\n          'LabCS.getRgbBuffer: Unsupported \"dest\" type.'\n        );\n      }\n      const maxVal = (1 << bits) - 1;\n      for (let i = 0; i < count; i++) {\n        convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n        srcOffset += 3;\n        destOffset += 3 + alpha01;\n      }\n    }\n\n    getOutputLength(inputLength, alpha01) {\n      return ((inputLength * (3 + alpha01)) / 3) | 0;\n    }\n\n    isDefaultDecode(decodeMap, bpc) {\n      // XXX: Decoding is handled with the lab conversion because of the strange\n      // ranges that are used.\n      return true;\n    }\n\n    get usesZeroToOneRange() {\n      return shadow(this, \"usesZeroToOneRange\", false);\n    }\n  }\n  return LabCS;\n})();\n\nexport { ColorSpace };\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\nimport {\n  AnnotationBorderStyleType,\n  AnnotationFieldFlag,\n  AnnotationFlag,\n  AnnotationReplyType,\n  AnnotationType,\n  assert,\n  isString,\n  OPS,\n  stringToBytes,\n  stringToPDFString,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport { Catalog, FileSpec, ObjectLoader } from \"./obj.js\";\nimport { Dict, isDict, isName, isRef, isStream } from \"./primitives.js\";\nimport { ColorSpace } from \"./colorspace.js\";\nimport { getInheritableProperty } from \"./core_utils.js\";\nimport { OperatorList } from \"./operator_list.js\";\nimport { Stream } from \"./stream.js\";\n\nclass AnnotationFactory {\n  /**\n   * Create an `Annotation` object of the correct type for the given reference\n   * to an annotation dictionary. This yields a promise that is resolved when\n   * the `Annotation` object is constructed.\n   *\n   * @param {XRef} xref\n   * @param {Object} ref\n   * @param {PDFManager} pdfManager\n   * @param {Object} idFactory\n   * @returns {Promise} A promise that is resolved with an {Annotation}\n   *   instance.\n   */\n  static create(xref, ref, pdfManager, idFactory) {\n    return pdfManager.ensure(this, \"_create\", [\n      xref,\n      ref,\n      pdfManager,\n      idFactory,\n    ]);\n  }\n\n  /**\n   * @private\n   */\n  static _create(xref, ref, pdfManager, idFactory) {\n    const dict = xref.fetchIfRef(ref);\n    if (!isDict(dict)) {\n      return undefined;\n    }\n    const id = isRef(ref) ? ref.toString() : `annot_${idFactory.createObjId()}`;\n\n    // Determine the annotation's subtype.\n    let subtype = dict.get(\"Subtype\");\n    subtype = isName(subtype) ? subtype.name : null;\n\n    // Return the right annotation object based on the subtype and field type.\n    const parameters = {\n      xref,\n      dict,\n      subtype,\n      id,\n      pdfManager,\n    };\n\n    switch (subtype) {\n      case \"Link\":\n        return new LinkAnnotation(parameters);\n\n      case \"Text\":\n        return new TextAnnotation(parameters);\n\n      case \"Widget\":\n        let fieldType = getInheritableProperty({ dict, key: \"FT\" });\n        fieldType = isName(fieldType) ? fieldType.name : null;\n\n        switch (fieldType) {\n          case \"Tx\":\n            return new TextWidgetAnnotation(parameters);\n          case \"Btn\":\n            return new ButtonWidgetAnnotation(parameters);\n          case \"Ch\":\n            return new ChoiceWidgetAnnotation(parameters);\n        }\n        warn(\n          'Unimplemented widget field type \"' +\n            fieldType +\n            '\", ' +\n            \"falling back to base field type.\"\n        );\n        return new WidgetAnnotation(parameters);\n\n      case \"Popup\":\n        return new PopupAnnotation(parameters);\n\n      case \"FreeText\":\n        return new FreeTextAnnotation(parameters);\n\n      case \"Line\":\n        return new LineAnnotation(parameters);\n\n      case \"Square\":\n        return new SquareAnnotation(parameters);\n\n      case \"Circle\":\n        return new CircleAnnotation(parameters);\n\n      case \"PolyLine\":\n        return new PolylineAnnotation(parameters);\n\n      case \"Polygon\":\n        return new PolygonAnnotation(parameters);\n\n      case \"Caret\":\n        return new CaretAnnotation(parameters);\n\n      case \"Ink\":\n        return new InkAnnotation(parameters);\n\n      case \"Highlight\":\n        return new HighlightAnnotation(parameters);\n\n      case \"Underline\":\n        return new UnderlineAnnotation(parameters);\n\n      case \"Squiggly\":\n        return new SquigglyAnnotation(parameters);\n\n      case \"StrikeOut\":\n        return new StrikeOutAnnotation(parameters);\n\n      case \"Stamp\":\n        return new StampAnnotation(parameters);\n\n      case \"FileAttachment\":\n        return new FileAttachmentAnnotation(parameters);\n\n      default:\n        if (!subtype) {\n          warn(\"Annotation is missing the required /Subtype.\");\n        } else {\n          warn(\n            'Unimplemented annotation type \"' +\n              subtype +\n              '\", ' +\n              \"falling back to base annotation.\"\n          );\n        }\n        return new Annotation(parameters);\n    }\n  }\n}\n\nfunction getQuadPoints(dict, rect) {\n  if (!dict.has(\"QuadPoints\")) {\n    return null;\n  }\n\n  // The region is described as a number of quadrilaterals.\n  // Each quadrilateral must consist of eight coordinates.\n  const quadPoints = dict.getArray(\"QuadPoints\");\n  if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n    return null;\n  }\n\n  const quadPointsLists = [];\n  for (let i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n    // Each series of eight numbers represents the coordinates for one\n    // quadrilateral in the order [x1, y1, x2, y2, x3, y3, x4, y4].\n    // Convert this to an array of objects with x and y coordinates.\n    quadPointsLists.push([]);\n    for (let j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n      const x = quadPoints[j];\n      const y = quadPoints[j + 1];\n\n      // The quadpoints should be ignored if any coordinate in the array\n      // lies outside the region specified by the rectangle.\n      if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n        return null;\n      }\n      quadPointsLists[i].push({ x, y });\n    }\n  }\n  return quadPointsLists;\n}\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n  // 12.5.5: Algorithm: Appearance streams\n  const [minX, minY, maxX, maxY] = Util.getAxialAlignedBoundingBox(\n    bbox,\n    matrix\n  );\n  if (minX === maxX || minY === maxY) {\n    // From real-life file, bbox was [0, 0, 0, 0]. In this case,\n    // just apply the transform for rect\n    return [1, 0, 0, 1, rect[0], rect[1]];\n  }\n\n  const xRatio = (rect[2] - rect[0]) / (maxX - minX);\n  const yRatio = (rect[3] - rect[1]) / (maxY - minY);\n  return [\n    xRatio,\n    0,\n    0,\n    yRatio,\n    rect[0] - minX * xRatio,\n    rect[1] - minY * yRatio,\n  ];\n}\n\nclass Annotation {\n  constructor(params) {\n    const dict = params.dict;\n\n    this.setContents(dict.get(\"Contents\"));\n    this.setModificationDate(dict.get(\"M\"));\n    this.setFlags(dict.get(\"F\"));\n    this.setRectangle(dict.getArray(\"Rect\"));\n    this.setColor(dict.getArray(\"C\"));\n    this.setBorderStyle(dict);\n    this.setAppearance(dict);\n\n    // Expose public properties using a data object.\n    this.data = {\n      annotationFlags: this.flags,\n      borderStyle: this.borderStyle,\n      color: this.color,\n      contents: this.contents,\n      hasAppearance: !!this.appearance,\n      id: params.id,\n      modificationDate: this.modificationDate,\n      rect: this.rectangle,\n      subtype: params.subtype,\n    };\n  }\n\n  /**\n   * @private\n   */\n  _hasFlag(flags, flag) {\n    return !!(flags & flag);\n  }\n\n  /**\n   * @private\n   */\n  _isViewable(flags) {\n    return (\n      !this._hasFlag(flags, AnnotationFlag.INVISIBLE) &&\n      !this._hasFlag(flags, AnnotationFlag.HIDDEN) &&\n      !this._hasFlag(flags, AnnotationFlag.NOVIEW)\n    );\n  }\n\n  /**\n   * @private\n   */\n  _isPrintable(flags) {\n    return (\n      this._hasFlag(flags, AnnotationFlag.PRINT) &&\n      !this._hasFlag(flags, AnnotationFlag.INVISIBLE) &&\n      !this._hasFlag(flags, AnnotationFlag.HIDDEN)\n    );\n  }\n\n  /**\n   * @type {boolean}\n   */\n  get viewable() {\n    if (this.flags === 0) {\n      return true;\n    }\n    return this._isViewable(this.flags);\n  }\n\n  /**\n   * @type {boolean}\n   */\n  get printable() {\n    if (this.flags === 0) {\n      return false;\n    }\n    return this._isPrintable(this.flags);\n  }\n\n  /**\n   * Set the contents.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {string} contents - Text to display for the annotation or, if the\n   *                            type of annotation does not display text, a\n   *                            description of the annotation's contents\n   */\n  setContents(contents) {\n    this.contents = stringToPDFString(contents || \"\");\n  }\n\n  /**\n   * Set the modification date.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {string} modificationDate - PDF date string that indicates when the\n   *                                    annotation was last modified\n   */\n  setModificationDate(modificationDate) {\n    this.modificationDate = isString(modificationDate)\n      ? modificationDate\n      : null;\n  }\n\n  /**\n   * Set the flags.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {number} flags - Unsigned 32-bit integer specifying annotation\n   *                         characteristics\n   * @see {@link shared/util.js}\n   */\n  setFlags(flags) {\n    this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n  }\n\n  /**\n   * Check if a provided flag is set.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {number} flag - Hexadecimal representation for an annotation\n   *                        characteristic\n   * @returns {boolean}\n   * @see {@link shared/util.js}\n   */\n  hasFlag(flag) {\n    return this._hasFlag(this.flags, flag);\n  }\n\n  /**\n   * Set the rectangle.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {Array} rectangle - The rectangle array with exactly four entries\n   */\n  setRectangle(rectangle) {\n    if (Array.isArray(rectangle) && rectangle.length === 4) {\n      this.rectangle = Util.normalizeRect(rectangle);\n    } else {\n      this.rectangle = [0, 0, 0, 0];\n    }\n  }\n\n  /**\n   * Set the color and take care of color space conversion.\n   * The default value is black, in RGB color space.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {Array} color - The color array containing either 0\n   *                        (transparent), 1 (grayscale), 3 (RGB) or\n   *                        4 (CMYK) elements\n   */\n  setColor(color) {\n    const rgbColor = new Uint8ClampedArray(3);\n    if (!Array.isArray(color)) {\n      this.color = rgbColor;\n      return;\n    }\n\n    switch (color.length) {\n      case 0: // Transparent, which we indicate with a null value\n        this.color = null;\n        break;\n\n      case 1: // Convert grayscale to RGB\n        ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n        this.color = rgbColor;\n        break;\n\n      case 3: // Convert RGB percentages to RGB\n        ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n        this.color = rgbColor;\n        break;\n\n      case 4: // Convert CMYK to RGB\n        ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n        this.color = rgbColor;\n        break;\n\n      default:\n        this.color = rgbColor;\n        break;\n    }\n  }\n\n  /**\n   * Set the border style (as AnnotationBorderStyle object).\n   *\n   * @public\n   * @memberof Annotation\n   * @param {Dict} borderStyle - The border style dictionary\n   */\n  setBorderStyle(borderStyle) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(this.rectangle, \"setRectangle must have been called previously.\");\n    }\n\n    this.borderStyle = new AnnotationBorderStyle();\n    if (!isDict(borderStyle)) {\n      return;\n    }\n    if (borderStyle.has(\"BS\")) {\n      const dict = borderStyle.get(\"BS\");\n      const dictType = dict.get(\"Type\");\n\n      if (!dictType || isName(dictType, \"Border\")) {\n        this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n        this.borderStyle.setStyle(dict.get(\"S\"));\n        this.borderStyle.setDashArray(dict.getArray(\"D\"));\n      }\n    } else if (borderStyle.has(\"Border\")) {\n      const array = borderStyle.getArray(\"Border\");\n      if (Array.isArray(array) && array.length >= 3) {\n        this.borderStyle.setHorizontalCornerRadius(array[0]);\n        this.borderStyle.setVerticalCornerRadius(array[1]);\n        this.borderStyle.setWidth(array[2], this.rectangle);\n\n        if (array.length === 4) {\n          // Dash array available\n          this.borderStyle.setDashArray(array[3]);\n        }\n      }\n    } else {\n      // There are no border entries in the dictionary. According to the\n      // specification, we should draw a solid border of width 1 in that\n      // case, but Adobe Reader did not implement that part of the\n      // specification and instead draws no border at all, so we do the same.\n      // See also https://github.com/mozilla/pdf.js/issues/6179.\n      this.borderStyle.setWidth(0);\n    }\n  }\n\n  /**\n   * Set the (normal) appearance.\n   *\n   * @public\n   * @memberof Annotation\n   * @param {Dict} dict - The annotation's data dictionary\n   */\n  setAppearance(dict) {\n    this.appearance = null;\n\n    const appearanceStates = dict.get(\"AP\");\n    if (!isDict(appearanceStates)) {\n      return;\n    }\n\n    // In case the normal appearance is a stream, then it is used directly.\n    const normalAppearanceState = appearanceStates.get(\"N\");\n    if (isStream(normalAppearanceState)) {\n      this.appearance = normalAppearanceState;\n      return;\n    }\n    if (!isDict(normalAppearanceState)) {\n      return;\n    }\n\n    // In case the normal appearance is a dictionary, the `AS` entry provides\n    // the key of the stream in this dictionary.\n    const as = dict.get(\"AS\");\n    if (!isName(as) || !normalAppearanceState.has(as.name)) {\n      return;\n    }\n    this.appearance = normalAppearanceState.get(as.name);\n  }\n\n  loadResources(keys) {\n    return this.appearance.dict.getAsync(\"Resources\").then(resources => {\n      if (!resources) {\n        return undefined;\n      }\n\n      const objectLoader = new ObjectLoader(resources, keys, resources.xref);\n      return objectLoader.load().then(function() {\n        return resources;\n      });\n    });\n  }\n\n  getOperatorList(evaluator, task, renderForms) {\n    if (!this.appearance) {\n      return Promise.resolve(new OperatorList());\n    }\n\n    const data = this.data;\n    const appearanceDict = this.appearance.dict;\n    const resourcesPromise = this.loadResources([\n      \"ExtGState\",\n      \"ColorSpace\",\n      \"Pattern\",\n      \"Shading\",\n      \"XObject\",\n      \"Font\",\n    ]);\n    const bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n    const matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n    const transform = getTransformMatrix(data.rect, bbox, matrix);\n\n    return resourcesPromise.then(resources => {\n      const opList = new OperatorList();\n      opList.addOp(OPS.beginAnnotation, [data.rect, transform, matrix]);\n      return evaluator\n        .getOperatorList({\n          stream: this.appearance,\n          task,\n          resources,\n          operatorList: opList,\n        })\n        .then(() => {\n          opList.addOp(OPS.endAnnotation, []);\n          this.appearance.reset();\n          return opList;\n        });\n    });\n  }\n}\n\n/**\n * Contains all data regarding an annotation's border style.\n */\nclass AnnotationBorderStyle {\n  constructor() {\n    this.width = 1;\n    this.style = AnnotationBorderStyleType.SOLID;\n    this.dashArray = [3];\n    this.horizontalCornerRadius = 0;\n    this.verticalCornerRadius = 0;\n  }\n\n  /**\n   * Set the width.\n   *\n   * @public\n   * @memberof AnnotationBorderStyle\n   * @param {number} width - The width.\n   * @param {Array} rect - The annotation `Rect` entry.\n   */\n  setWidth(width, rect = [0, 0, 0, 0]) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        Array.isArray(rect) && rect.length === 4,\n        \"A valid `rect` parameter must be provided.\"\n      );\n    }\n\n    // Some corrupt PDF generators may provide the width as a `Name`,\n    // rather than as a number (fixes issue 10385).\n    if (isName(width)) {\n      this.width = 0; // This is consistent with the behaviour in Adobe Reader.\n      return;\n    }\n    if (Number.isInteger(width)) {\n      if (width > 0) {\n        const maxWidth = (rect[2] - rect[0]) / 2;\n        const maxHeight = (rect[3] - rect[1]) / 2;\n\n        // Ignore large `width`s, since they lead to the Annotation overflowing\n        // the size set by the `Rect` entry thus causing the `annotationLayer`\n        // to render it over the surrounding document (fixes bug1552113.pdf).\n        if (\n          maxWidth > 0 &&\n          maxHeight > 0 &&\n          (width > maxWidth || width > maxHeight)\n        ) {\n          warn(`AnnotationBorderStyle.setWidth - ignoring width: ${width}`);\n          width = 1;\n        }\n      }\n      this.width = width;\n    }\n  }\n\n  /**\n   * Set the style.\n   *\n   * @public\n   * @memberof AnnotationBorderStyle\n   * @param {Name} style - The annotation style.\n   * @see {@link shared/util.js}\n   */\n  setStyle(style) {\n    if (!isName(style)) {\n      return;\n    }\n    switch (style.name) {\n      case \"S\":\n        this.style = AnnotationBorderStyleType.SOLID;\n        break;\n\n      case \"D\":\n        this.style = AnnotationBorderStyleType.DASHED;\n        break;\n\n      case \"B\":\n        this.style = AnnotationBorderStyleType.BEVELED;\n        break;\n\n      case \"I\":\n        this.style = AnnotationBorderStyleType.INSET;\n        break;\n\n      case \"U\":\n        this.style = AnnotationBorderStyleType.UNDERLINE;\n        break;\n\n      default:\n        break;\n    }\n  }\n\n  /**\n   * Set the dash array.\n   *\n   * @public\n   * @memberof AnnotationBorderStyle\n   * @param {Array} dashArray - The dash array with at least one element\n   */\n  setDashArray(dashArray) {\n    // We validate the dash array, but we do not use it because CSS does not\n    // allow us to change spacing of dashes. For more information, visit\n    // http://www.w3.org/TR/css3-background/#the-border-style.\n    if (Array.isArray(dashArray) && dashArray.length > 0) {\n      // According to the PDF specification: the elements in `dashArray`\n      // shall be numbers that are nonnegative and not all equal to zero.\n      let isValid = true;\n      let allZeros = true;\n      for (const element of dashArray) {\n        const validNumber = +element >= 0;\n        if (!validNumber) {\n          isValid = false;\n          break;\n        } else if (element > 0) {\n          allZeros = false;\n        }\n      }\n      if (isValid && !allZeros) {\n        this.dashArray = dashArray;\n      } else {\n        this.width = 0; // Adobe behavior when the array is invalid.\n      }\n    } else if (dashArray) {\n      this.width = 0; // Adobe behavior when the array is invalid.\n    }\n  }\n\n  /**\n   * Set the horizontal corner radius (from a Border dictionary).\n   *\n   * @public\n   * @memberof AnnotationBorderStyle\n   * @param {number} radius - The horizontal corner radius.\n   */\n  setHorizontalCornerRadius(radius) {\n    if (Number.isInteger(radius)) {\n      this.horizontalCornerRadius = radius;\n    }\n  }\n\n  /**\n   * Set the vertical corner radius (from a Border dictionary).\n   *\n   * @public\n   * @memberof AnnotationBorderStyle\n   * @param {number} radius - The vertical corner radius.\n   */\n  setVerticalCornerRadius(radius) {\n    if (Number.isInteger(radius)) {\n      this.verticalCornerRadius = radius;\n    }\n  }\n}\n\nclass MarkupAnnotation extends Annotation {\n  constructor(parameters) {\n    super(parameters);\n\n    const dict = parameters.dict;\n\n    if (dict.has(\"IRT\")) {\n      const rawIRT = dict.getRaw(\"IRT\");\n      this.data.inReplyTo = isRef(rawIRT) ? rawIRT.toString() : null;\n\n      const rt = dict.get(\"RT\");\n      this.data.replyType = isName(rt) ? rt.name : AnnotationReplyType.REPLY;\n    }\n\n    if (this.data.replyType === AnnotationReplyType.GROUP) {\n      // Subordinate annotations in a group should inherit\n      // the group attributes from the primary annotation.\n      const parent = dict.get(\"IRT\");\n\n      this.data.title = stringToPDFString(parent.get(\"T\") || \"\");\n\n      this.setContents(parent.get(\"Contents\"));\n      this.data.contents = this.contents;\n\n      if (!parent.has(\"CreationDate\")) {\n        this.data.creationDate = null;\n      } else {\n        this.setCreationDate(parent.get(\"CreationDate\"));\n        this.data.creationDate = this.creationDate;\n      }\n\n      if (!parent.has(\"M\")) {\n        this.data.modificationDate = null;\n      } else {\n        this.setModificationDate(parent.get(\"M\"));\n        this.data.modificationDate = this.modificationDate;\n      }\n\n      this.data.hasPopup = parent.has(\"Popup\");\n\n      if (!parent.has(\"C\")) {\n        // Fall back to the default background color.\n        this.data.color = null;\n      } else {\n        this.setColor(parent.getArray(\"C\"));\n        this.data.color = this.color;\n      }\n    } else {\n      this.data.title = stringToPDFString(dict.get(\"T\") || \"\");\n\n      this.setCreationDate(dict.get(\"CreationDate\"));\n      this.data.creationDate = this.creationDate;\n\n      this.data.hasPopup = dict.has(\"Popup\");\n\n      if (!dict.has(\"C\")) {\n        // Fall back to the default background color.\n        this.data.color = null;\n      }\n    }\n  }\n\n  /**\n   * Set the creation date.\n   *\n   * @public\n   * @memberof MarkupAnnotation\n   * @param {string} creationDate - PDF date string that indicates when the\n   *                                annotation was originally created\n   */\n  setCreationDate(creationDate) {\n    this.creationDate = isString(creationDate) ? creationDate : null;\n  }\n}\n\nclass WidgetAnnotation extends Annotation {\n  constructor(params) {\n    super(params);\n\n    const dict = params.dict;\n    const data = this.data;\n\n    data.annotationType = AnnotationType.WIDGET;\n    data.fieldName = this._constructFieldName(dict);\n    data.fieldValue = getInheritableProperty({\n      dict,\n      key: \"V\",\n      getArray: true,\n    });\n    data.alternativeText = stringToPDFString(dict.get(\"TU\") || \"\");\n    data.defaultAppearance = getInheritableProperty({ dict, key: \"DA\" }) || \"\";\n    const fieldType = getInheritableProperty({ dict, key: \"FT\" });\n    data.fieldType = isName(fieldType) ? fieldType.name : null;\n    this.fieldResources =\n      getInheritableProperty({ dict, key: \"DR\" }) || Dict.empty;\n\n    data.fieldFlags = getInheritableProperty({ dict, key: \"Ff\" });\n    if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n      data.fieldFlags = 0;\n    }\n\n    data.readOnly = this.hasFieldFlag(AnnotationFieldFlag.READONLY);\n\n    // Hide signatures because we cannot validate them, and unset the fieldValue\n    // since it's (most likely) a `Dict` which is non-serializable and will thus\n    // cause errors when sending annotations to the main-thread (issue 10347).\n    if (data.fieldType === \"Sig\") {\n      data.fieldValue = null;\n      this.setFlags(AnnotationFlag.HIDDEN);\n    }\n  }\n\n  /**\n   * Construct the (fully qualified) field name from the (partial) field\n   * names of the field and its ancestors.\n   *\n   * @private\n   * @memberof WidgetAnnotation\n   * @param {Dict} dict - Complete widget annotation dictionary\n   * @returns {string}\n   */\n  _constructFieldName(dict) {\n    // Both the `Parent` and `T` fields are optional. While at least one of\n    // them should be provided, bad PDF generators may fail to do so.\n    if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n      warn(\"Unknown field name, falling back to empty field name.\");\n      return \"\";\n    }\n\n    // If no parent exists, the partial and fully qualified names are equal.\n    if (!dict.has(\"Parent\")) {\n      return stringToPDFString(dict.get(\"T\"));\n    }\n\n    // Form the fully qualified field name by appending the partial name to\n    // the parent's fully qualified name, separated by a period.\n    const fieldName = [];\n    if (dict.has(\"T\")) {\n      fieldName.unshift(stringToPDFString(dict.get(\"T\")));\n    }\n\n    let loopDict = dict;\n    while (loopDict.has(\"Parent\")) {\n      loopDict = loopDict.get(\"Parent\");\n      if (!isDict(loopDict)) {\n        // Even though it is not allowed according to the PDF specification,\n        // bad PDF generators may provide a `Parent` entry that is not a\n        // dictionary, but `null` for example (issue 8143).\n        break;\n      }\n\n      if (loopDict.has(\"T\")) {\n        fieldName.unshift(stringToPDFString(loopDict.get(\"T\")));\n      }\n    }\n    return fieldName.join(\".\");\n  }\n\n  /**\n   * Check if a provided field flag is set.\n   *\n   * @public\n   * @memberof WidgetAnnotation\n   * @param {number} flag - Hexadecimal representation for an annotation\n   *                        field characteristic\n   * @returns {boolean}\n   * @see {@link shared/util.js}\n   */\n  hasFieldFlag(flag) {\n    return !!(this.data.fieldFlags & flag);\n  }\n\n  getOperatorList(evaluator, task, renderForms) {\n    // Do not render form elements on the canvas when interactive forms are\n    // enabled. The display layer is responsible for rendering them instead.\n    if (renderForms) {\n      return Promise.resolve(new OperatorList());\n    }\n    return super.getOperatorList(evaluator, task, renderForms);\n  }\n}\n\nclass TextWidgetAnnotation extends WidgetAnnotation {\n  constructor(params) {\n    super(params);\n\n    const dict = params.dict;\n\n    // The field value is always a string.\n    this.data.fieldValue = stringToPDFString(this.data.fieldValue || \"\");\n\n    // Determine the alignment of text in the field.\n    let alignment = getInheritableProperty({ dict, key: \"Q\" });\n    if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n      alignment = null;\n    }\n    this.data.textAlignment = alignment;\n\n    // Determine the maximum length of text in the field.\n    let maximumLength = getInheritableProperty({ dict, key: \"MaxLen\" });\n    if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n      maximumLength = null;\n    }\n    this.data.maxLen = maximumLength;\n\n    // Process field flags for the display layer.\n    this.data.multiLine = this.hasFieldFlag(AnnotationFieldFlag.MULTILINE);\n    this.data.comb =\n      this.hasFieldFlag(AnnotationFieldFlag.COMB) &&\n      !this.hasFieldFlag(AnnotationFieldFlag.MULTILINE) &&\n      !this.hasFieldFlag(AnnotationFieldFlag.PASSWORD) &&\n      !this.hasFieldFlag(AnnotationFieldFlag.FILESELECT) &&\n      this.data.maxLen !== null;\n  }\n\n  getOperatorList(evaluator, task, renderForms) {\n    if (renderForms || this.appearance) {\n      return super.getOperatorList(evaluator, task, renderForms);\n    }\n\n    const operatorList = new OperatorList();\n\n    // Even if there is an appearance stream, ignore it. This is the\n    // behaviour used by Adobe Reader.\n    if (!this.data.defaultAppearance) {\n      return Promise.resolve(operatorList);\n    }\n\n    const stream = new Stream(stringToBytes(this.data.defaultAppearance));\n    return evaluator\n      .getOperatorList({\n        stream,\n        task,\n        resources: this.fieldResources,\n        operatorList,\n      })\n      .then(function() {\n        return operatorList;\n      });\n  }\n}\n\nclass ButtonWidgetAnnotation extends WidgetAnnotation {\n  constructor(params) {\n    super(params);\n\n    this.data.checkBox =\n      !this.hasFieldFlag(AnnotationFieldFlag.RADIO) &&\n      !this.hasFieldFlag(AnnotationFieldFlag.PUSHBUTTON);\n    this.data.radioButton =\n      this.hasFieldFlag(AnnotationFieldFlag.RADIO) &&\n      !this.hasFieldFlag(AnnotationFieldFlag.PUSHBUTTON);\n    this.data.pushButton = this.hasFieldFlag(AnnotationFieldFlag.PUSHBUTTON);\n\n    if (this.data.checkBox) {\n      this._processCheckBox(params);\n    } else if (this.data.radioButton) {\n      this._processRadioButton(params);\n    } else if (this.data.pushButton) {\n      this._processPushButton(params);\n    } else {\n      warn(\"Invalid field flags for button widget annotation\");\n    }\n  }\n\n  _processCheckBox(params) {\n    if (isName(this.data.fieldValue)) {\n      this.data.fieldValue = this.data.fieldValue.name;\n    }\n\n    const customAppearance = params.dict.get(\"AP\");\n    if (!isDict(customAppearance)) {\n      return;\n    }\n\n    const exportValueOptionsDict = customAppearance.get(\"D\");\n    if (!isDict(exportValueOptionsDict)) {\n      return;\n    }\n\n    const exportValues = exportValueOptionsDict.getKeys();\n    const hasCorrectOptionCount = exportValues.length === 2;\n    if (!hasCorrectOptionCount) {\n      return;\n    }\n\n    this.data.exportValue =\n      exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n  }\n\n  _processRadioButton(params) {\n    this.data.fieldValue = this.data.buttonValue = null;\n\n    // The parent field's `V` entry holds a `Name` object with the appearance\n    // state of whichever child field is currently in the \"on\" state.\n    const fieldParent = params.dict.get(\"Parent\");\n    if (isDict(fieldParent) && fieldParent.has(\"V\")) {\n      const fieldParentValue = fieldParent.get(\"V\");\n      if (isName(fieldParentValue)) {\n        this.data.fieldValue = fieldParentValue.name;\n      }\n    }\n\n    // The button's value corresponds to its appearance state.\n    const appearanceStates = params.dict.get(\"AP\");\n    if (!isDict(appearanceStates)) {\n      return;\n    }\n    const normalAppearanceState = appearanceStates.get(\"N\");\n    if (!isDict(normalAppearanceState)) {\n      return;\n    }\n    for (const key of normalAppearanceState.getKeys()) {\n      if (key !== \"Off\") {\n        this.data.buttonValue = key;\n        break;\n      }\n    }\n  }\n\n  _processPushButton(params) {\n    if (!params.dict.has(\"A\")) {\n      warn(\"Push buttons without action dictionaries are not supported\");\n      return;\n    }\n\n    Catalog.parseDestDictionary({\n      destDict: params.dict,\n      resultObj: this.data,\n      docBaseUrl: params.pdfManager.docBaseUrl,\n    });\n  }\n}\n\nclass ChoiceWidgetAnnotation extends WidgetAnnotation {\n  constructor(params) {\n    super(params);\n\n    // Determine the options. The options array may consist of strings or\n    // arrays. If the array consists of arrays, then the first element of\n    // each array is the export value and the second element of each array is\n    // the display value. If the array consists of strings, then these\n    // represent both the export and display value. In this case, we convert\n    // it to an array of arrays as well for convenience in the display layer.\n    // Note that the specification does not state that the `Opt` field is\n    // inheritable, but in practice PDF generators do make annotations\n    // inherit the options from a parent annotation (issue 8094).\n    this.data.options = [];\n\n    const options = getInheritableProperty({ dict: params.dict, key: \"Opt\" });\n    if (Array.isArray(options)) {\n      const xref = params.xref;\n      for (let i = 0, ii = options.length; i < ii; i++) {\n        const option = xref.fetchIfRef(options[i]);\n        const isOptionArray = Array.isArray(option);\n\n        this.data.options[i] = {\n          exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n          displayValue: stringToPDFString(\n            isOptionArray ? xref.fetchIfRef(option[1]) : option\n          ),\n        };\n      }\n    }\n\n    // Determine the field value. In this case, it may be a string or an\n    // array of strings. For convenience in the display layer, convert the\n    // string to an array of one string as well.\n    if (!Array.isArray(this.data.fieldValue)) {\n      this.data.fieldValue = [this.data.fieldValue];\n    }\n\n    // Process field flags for the display layer.\n    this.data.combo = this.hasFieldFlag(AnnotationFieldFlag.COMBO);\n    this.data.multiSelect = this.hasFieldFlag(AnnotationFieldFlag.MULTISELECT);\n  }\n}\n\nclass TextAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    const DEFAULT_ICON_SIZE = 22; // px\n\n    super(parameters);\n\n    const dict = parameters.dict;\n    this.data.annotationType = AnnotationType.TEXT;\n\n    if (this.data.hasAppearance) {\n      this.data.name = \"NoIcon\";\n    } else {\n      this.data.rect[1] = this.data.rect[3] - DEFAULT_ICON_SIZE;\n      this.data.rect[2] = this.data.rect[0] + DEFAULT_ICON_SIZE;\n      this.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n    }\n\n    if (dict.has(\"State\")) {\n      this.data.state = dict.get(\"State\") || null;\n      this.data.stateModel = dict.get(\"StateModel\") || null;\n    } else {\n      this.data.state = null;\n      this.data.stateModel = null;\n    }\n  }\n}\n\nclass LinkAnnotation extends Annotation {\n  constructor(params) {\n    super(params);\n\n    this.data.annotationType = AnnotationType.LINK;\n\n    const quadPoints = getQuadPoints(params.dict, this.rectangle);\n    if (quadPoints) {\n      this.data.quadPoints = quadPoints;\n    }\n\n    Catalog.parseDestDictionary({\n      destDict: params.dict,\n      resultObj: this.data,\n      docBaseUrl: params.pdfManager.docBaseUrl,\n    });\n  }\n}\n\nclass PopupAnnotation extends Annotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.POPUP;\n\n    let parentItem = parameters.dict.get(\"Parent\");\n    if (!parentItem) {\n      warn(\"Popup annotation has a missing or invalid parent annotation.\");\n      return;\n    }\n\n    const parentSubtype = parentItem.get(\"Subtype\");\n    this.data.parentType = isName(parentSubtype) ? parentSubtype.name : null;\n    const rawParent = parameters.dict.getRaw(\"Parent\");\n    this.data.parentId = isRef(rawParent) ? rawParent.toString() : null;\n\n    const rt = parentItem.get(\"RT\");\n    if (isName(rt, AnnotationReplyType.GROUP)) {\n      // Subordinate annotations in a group should inherit\n      // the group attributes from the primary annotation.\n      parentItem = parentItem.get(\"IRT\");\n    }\n\n    if (!parentItem.has(\"M\")) {\n      this.data.modificationDate = null;\n    } else {\n      this.setModificationDate(parentItem.get(\"M\"));\n      this.data.modificationDate = this.modificationDate;\n    }\n\n    if (!parentItem.has(\"C\")) {\n      // Fall back to the default background color.\n      this.data.color = null;\n    } else {\n      this.setColor(parentItem.getArray(\"C\"));\n      this.data.color = this.color;\n    }\n\n    // If the Popup annotation is not viewable, but the parent annotation is,\n    // that is most likely a bug. Fallback to inherit the flags from the parent\n    // annotation (this is consistent with the behaviour in Adobe Reader).\n    if (!this.viewable) {\n      const parentFlags = parentItem.get(\"F\");\n      if (this._isViewable(parentFlags)) {\n        this.setFlags(parentFlags);\n      }\n    }\n\n    this.data.title = stringToPDFString(parentItem.get(\"T\") || \"\");\n    this.data.contents = stringToPDFString(parentItem.get(\"Contents\") || \"\");\n  }\n}\n\nclass FreeTextAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.FREETEXT;\n  }\n}\n\nclass LineAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.LINE;\n\n    this.data.lineCoordinates = Util.normalizeRect(\n      parameters.dict.getArray(\"L\")\n    );\n  }\n}\n\nclass SquareAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.SQUARE;\n  }\n}\n\nclass CircleAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.CIRCLE;\n  }\n}\n\nclass PolylineAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.POLYLINE;\n\n    // The vertices array is an array of numbers representing the alternating\n    // horizontal and vertical coordinates, respectively, of each vertex.\n    // Convert this to an array of objects with x and y coordinates.\n    const rawVertices = parameters.dict.getArray(\"Vertices\");\n    this.data.vertices = [];\n    for (let i = 0, ii = rawVertices.length; i < ii; i += 2) {\n      this.data.vertices.push({\n        x: rawVertices[i],\n        y: rawVertices[i + 1],\n      });\n    }\n  }\n}\n\nclass PolygonAnnotation extends PolylineAnnotation {\n  constructor(parameters) {\n    // Polygons are specific forms of polylines, so reuse their logic.\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.POLYGON;\n  }\n}\n\nclass CaretAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.CARET;\n  }\n}\n\nclass InkAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.INK;\n\n    const xref = parameters.xref;\n    const originalInkLists = parameters.dict.getArray(\"InkList\");\n    this.data.inkLists = [];\n    for (let i = 0, ii = originalInkLists.length; i < ii; ++i) {\n      // The raw ink lists array contains arrays of numbers representing\n      // the alternating horizontal and vertical coordinates, respectively,\n      // of each vertex. Convert this to an array of objects with x and y\n      // coordinates.\n      this.data.inkLists.push([]);\n      for (let j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n        this.data.inkLists[i].push({\n          x: xref.fetchIfRef(originalInkLists[i][j]),\n          y: xref.fetchIfRef(originalInkLists[i][j + 1]),\n        });\n      }\n    }\n  }\n}\n\nclass HighlightAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.HIGHLIGHT;\n\n    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n    if (quadPoints) {\n      this.data.quadPoints = quadPoints;\n    }\n  }\n}\n\nclass UnderlineAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.UNDERLINE;\n\n    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n    if (quadPoints) {\n      this.data.quadPoints = quadPoints;\n    }\n  }\n}\n\nclass SquigglyAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.SQUIGGLY;\n\n    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n    if (quadPoints) {\n      this.data.quadPoints = quadPoints;\n    }\n  }\n}\n\nclass StrikeOutAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.STRIKEOUT;\n\n    const quadPoints = getQuadPoints(parameters.dict, this.rectangle);\n    if (quadPoints) {\n      this.data.quadPoints = quadPoints;\n    }\n  }\n}\n\nclass StampAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    this.data.annotationType = AnnotationType.STAMP;\n  }\n}\n\nclass FileAttachmentAnnotation extends MarkupAnnotation {\n  constructor(parameters) {\n    super(parameters);\n\n    const file = new FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n\n    this.data.annotationType = AnnotationType.FILEATTACHMENT;\n    this.data.file = file.serializable;\n  }\n}\n\nexport {\n  Annotation,\n  AnnotationBorderStyle,\n  AnnotationFactory,\n  MarkupAnnotation,\n  getQuadPoints,\n};\n","/* Copyright 2017 Mozilla Foundation\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/* eslint-disable no-unsanitized/method */\n\nimport { assert, ImageKind, OPS } from \"../shared/util.js\";\n\nvar QueueOptimizer = (function QueueOptimizerClosure() {\n  function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n    var state = parentState;\n    for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n      var item = pattern[i];\n      state = state[item] || (state[item] = []);\n    }\n    state[pattern[pattern.length - 1]] = {\n      checkFn,\n      iterateFn,\n      processFn,\n    };\n  }\n\n  function handlePaintSolidColorImageMask(\n    iFirstSave,\n    count,\n    fnArray,\n    argsArray\n  ) {\n    // Handles special case of mainly LaTeX documents which use image masks to\n    // draw lines with the current fill style.\n    // 'count' groups of (save, transform, paintImageMaskXObject, restore)+\n    // have been found at iFirstSave.\n    var iFirstPIMXO = iFirstSave + 2;\n    for (var i = 0; i < count; i++) {\n      var arg = argsArray[iFirstPIMXO + 4 * i];\n      var imageMask = arg.length === 1 && arg[0];\n      if (\n        imageMask &&\n        imageMask.width === 1 &&\n        imageMask.height === 1 &&\n        (!imageMask.data.length ||\n          (imageMask.data.length === 1 && imageMask.data[0] === 0))\n      ) {\n        fnArray[iFirstPIMXO + 4 * i] = OPS.paintSolidColorImageMask;\n        continue;\n      }\n      break;\n    }\n    return count - i;\n  }\n\n  var InitialState = [];\n\n  // This replaces (save, transform, paintInlineImageXObject, restore)+\n  // sequences with one |paintInlineImageXObjectGroup| operation.\n  addState(\n    InitialState,\n    [OPS.save, OPS.transform, OPS.paintInlineImageXObject, OPS.restore],\n    null,\n    function iterateInlineImageGroup(context, i) {\n      var fnArray = context.fnArray;\n      var iFirstSave = context.iCurr - 3;\n      var pos = (i - iFirstSave) % 4;\n      switch (pos) {\n        case 0:\n          return fnArray[i] === OPS.save;\n        case 1:\n          return fnArray[i] === OPS.transform;\n        case 2:\n          return fnArray[i] === OPS.paintInlineImageXObject;\n        case 3:\n          return fnArray[i] === OPS.restore;\n      }\n      throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);\n    },\n    function foundInlineImageGroup(context, i) {\n      var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n      var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n      var MAX_WIDTH = 1000;\n      var IMAGE_PADDING = 1;\n\n      var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n      var curr = context.iCurr;\n      var iFirstSave = curr - 3;\n      var iFirstTransform = curr - 2;\n      var iFirstPIIXO = curr - 1;\n\n      var count = Math.min(\n        Math.floor((i - iFirstSave) / 4),\n        MAX_IMAGES_IN_INLINE_IMAGES_BLOCK\n      );\n      if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n        return i - ((i - iFirstSave) % 4);\n      }\n\n      // assuming that heights of those image is too small (~1 pixel)\n      // packing as much as possible by lines\n      var maxX = 0;\n      var map = [],\n        maxLineHeight = 0;\n      var currentX = IMAGE_PADDING,\n        currentY = IMAGE_PADDING;\n      var q;\n      for (q = 0; q < count; q++) {\n        var transform = argsArray[iFirstTransform + (q << 2)];\n        var img = argsArray[iFirstPIIXO + (q << 2)][0];\n        if (currentX + img.width > MAX_WIDTH) {\n          // starting new line\n          maxX = Math.max(maxX, currentX);\n          currentY += maxLineHeight + 2 * IMAGE_PADDING;\n          currentX = 0;\n          maxLineHeight = 0;\n        }\n        map.push({\n          transform,\n          x: currentX,\n          y: currentY,\n          w: img.width,\n          h: img.height,\n        });\n        currentX += img.width + 2 * IMAGE_PADDING;\n        maxLineHeight = Math.max(maxLineHeight, img.height);\n      }\n      var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n      var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n      var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n      var imgRowSize = imgWidth << 2;\n      for (q = 0; q < count; q++) {\n        var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n        // Copy image by lines and extends pixels into padding.\n        var rowSize = map[q].w << 2;\n        var dataOffset = 0;\n        var offset = (map[q].x + map[q].y * imgWidth) << 2;\n        imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n        for (var k = 0, kk = map[q].h; k < kk; k++) {\n          imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n          dataOffset += rowSize;\n          offset += imgRowSize;\n        }\n        imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n        while (offset >= 0) {\n          data[offset - 4] = data[offset];\n          data[offset - 3] = data[offset + 1];\n          data[offset - 2] = data[offset + 2];\n          data[offset - 1] = data[offset + 3];\n          data[offset + rowSize] = data[offset + rowSize - 4];\n          data[offset + rowSize + 1] = data[offset + rowSize - 3];\n          data[offset + rowSize + 2] = data[offset + rowSize - 2];\n          data[offset + rowSize + 3] = data[offset + rowSize - 1];\n          offset -= imgRowSize;\n        }\n      }\n\n      // Replace queue items.\n      fnArray.splice(iFirstSave, count * 4, OPS.paintInlineImageXObjectGroup);\n      argsArray.splice(iFirstSave, count * 4, [\n        {\n          width: imgWidth,\n          height: imgHeight,\n          kind: ImageKind.RGBA_32BPP,\n          data: imgData,\n        },\n        map,\n      ]);\n\n      return iFirstSave + 1;\n    }\n  );\n\n  // This replaces (save, transform, paintImageMaskXObject, restore)+\n  // sequences with one |paintImageMaskXObjectGroup| or one\n  // |paintImageMaskXObjectRepeat| operation.\n  addState(\n    InitialState,\n    [OPS.save, OPS.transform, OPS.paintImageMaskXObject, OPS.restore],\n    null,\n    function iterateImageMaskGroup(context, i) {\n      var fnArray = context.fnArray;\n      var iFirstSave = context.iCurr - 3;\n      var pos = (i - iFirstSave) % 4;\n      switch (pos) {\n        case 0:\n          return fnArray[i] === OPS.save;\n        case 1:\n          return fnArray[i] === OPS.transform;\n        case 2:\n          return fnArray[i] === OPS.paintImageMaskXObject;\n        case 3:\n          return fnArray[i] === OPS.restore;\n      }\n      throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);\n    },\n    function foundImageMaskGroup(context, i) {\n      var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n      var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n      var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n\n      var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n      var curr = context.iCurr;\n      var iFirstSave = curr - 3;\n      var iFirstTransform = curr - 2;\n      var iFirstPIMXO = curr - 1;\n\n      // At this point, i is the index of the first op past the last valid\n      // quartet.\n      var count = Math.floor((i - iFirstSave) / 4);\n      count = handlePaintSolidColorImageMask(\n        iFirstSave,\n        count,\n        fnArray,\n        argsArray\n      );\n      if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n        return i - ((i - iFirstSave) % 4);\n      }\n\n      var q;\n      var isSameImage = false;\n      var iTransform, transformArgs;\n      var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n      if (\n        argsArray[iFirstTransform][1] === 0 &&\n        argsArray[iFirstTransform][2] === 0\n      ) {\n        isSameImage = true;\n        var firstTransformArg0 = argsArray[iFirstTransform][0];\n        var firstTransformArg3 = argsArray[iFirstTransform][3];\n        iTransform = iFirstTransform + 4;\n        var iPIMXO = iFirstPIMXO + 4;\n        for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n          transformArgs = argsArray[iTransform];\n          if (\n            argsArray[iPIMXO][0] !== firstPIMXOArg0 ||\n            transformArgs[0] !== firstTransformArg0 ||\n            transformArgs[1] !== 0 ||\n            transformArgs[2] !== 0 ||\n            transformArgs[3] !== firstTransformArg3\n          ) {\n            if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n              isSameImage = false;\n            } else {\n              count = q;\n            }\n            break; // different image or transform\n          }\n        }\n      }\n\n      if (isSameImage) {\n        count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n        var positions = new Float32Array(count * 2);\n        iTransform = iFirstTransform;\n        for (q = 0; q < count; q++, iTransform += 4) {\n          transformArgs = argsArray[iTransform];\n          positions[q << 1] = transformArgs[4];\n          positions[(q << 1) + 1] = transformArgs[5];\n        }\n\n        // Replace queue items.\n        fnArray.splice(iFirstSave, count * 4, OPS.paintImageMaskXObjectRepeat);\n        argsArray.splice(iFirstSave, count * 4, [\n          firstPIMXOArg0,\n          firstTransformArg0,\n          firstTransformArg3,\n          positions,\n        ]);\n      } else {\n        count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n        var images = [];\n        for (q = 0; q < count; q++) {\n          transformArgs = argsArray[iFirstTransform + (q << 2)];\n          var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n          images.push({\n            data: maskParams.data,\n            width: maskParams.width,\n            height: maskParams.height,\n            transform: transformArgs,\n          });\n        }\n\n        // Replace queue items.\n        fnArray.splice(iFirstSave, count * 4, OPS.paintImageMaskXObjectGroup);\n        argsArray.splice(iFirstSave, count * 4, [images]);\n      }\n\n      return iFirstSave + 1;\n    }\n  );\n\n  // This replaces (save, transform, paintImageXObject, restore)+ sequences\n  // with one paintImageXObjectRepeat operation, if the |transform| and\n  // |paintImageXObjectRepeat| ops are appropriate.\n  addState(\n    InitialState,\n    [OPS.save, OPS.transform, OPS.paintImageXObject, OPS.restore],\n    function(context) {\n      var argsArray = context.argsArray;\n      var iFirstTransform = context.iCurr - 2;\n      return (\n        argsArray[iFirstTransform][1] === 0 &&\n        argsArray[iFirstTransform][2] === 0\n      );\n    },\n    function iterateImageGroup(context, i) {\n      var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n      var iFirstSave = context.iCurr - 3;\n      var pos = (i - iFirstSave) % 4;\n      switch (pos) {\n        case 0:\n          return fnArray[i] === OPS.save;\n        case 1:\n          if (fnArray[i] !== OPS.transform) {\n            return false;\n          }\n          var iFirstTransform = context.iCurr - 2;\n          var firstTransformArg0 = argsArray[iFirstTransform][0];\n          var firstTransformArg3 = argsArray[iFirstTransform][3];\n          if (\n            argsArray[i][0] !== firstTransformArg0 ||\n            argsArray[i][1] !== 0 ||\n            argsArray[i][2] !== 0 ||\n            argsArray[i][3] !== firstTransformArg3\n          ) {\n            return false; // transforms don't match\n          }\n          return true;\n        case 2:\n          if (fnArray[i] !== OPS.paintImageXObject) {\n            return false;\n          }\n          var iFirstPIXO = context.iCurr - 1;\n          var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n          if (argsArray[i][0] !== firstPIXOArg0) {\n            return false; // images don't match\n          }\n          return true;\n        case 3:\n          return fnArray[i] === OPS.restore;\n      }\n      throw new Error(`iterateImageGroup - invalid pos: ${pos}`);\n    },\n    function(context, i) {\n      var MIN_IMAGES_IN_BLOCK = 3;\n      var MAX_IMAGES_IN_BLOCK = 1000;\n\n      var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n      var curr = context.iCurr;\n      var iFirstSave = curr - 3;\n      var iFirstTransform = curr - 2;\n      var iFirstPIXO = curr - 1;\n      var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n      var firstTransformArg0 = argsArray[iFirstTransform][0];\n      var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n      // At this point, i is the index of the first op past the last valid\n      // quartet.\n      var count = Math.min(\n        Math.floor((i - iFirstSave) / 4),\n        MAX_IMAGES_IN_BLOCK\n      );\n      if (count < MIN_IMAGES_IN_BLOCK) {\n        return i - ((i - iFirstSave) % 4);\n      }\n\n      // Extract the (x,y) positions from all of the matching transforms.\n      var positions = new Float32Array(count * 2);\n      var iTransform = iFirstTransform;\n      for (var q = 0; q < count; q++, iTransform += 4) {\n        var transformArgs = argsArray[iTransform];\n        positions[q << 1] = transformArgs[4];\n        positions[(q << 1) + 1] = transformArgs[5];\n      }\n\n      // Replace queue items.\n      var args = [\n        firstPIXOArg0,\n        firstTransformArg0,\n        firstTransformArg3,\n        positions,\n      ];\n      fnArray.splice(iFirstSave, count * 4, OPS.paintImageXObjectRepeat);\n      argsArray.splice(iFirstSave, count * 4, args);\n\n      return iFirstSave + 1;\n    }\n  );\n\n  // This replaces (beginText, setFont, setTextMatrix, showText, endText)+\n  // sequences with (beginText, setFont, (setTextMatrix, showText)+, endText)+\n  // sequences, if the font for each one is the same.\n  addState(\n    InitialState,\n    [OPS.beginText, OPS.setFont, OPS.setTextMatrix, OPS.showText, OPS.endText],\n    null,\n    function iterateShowTextGroup(context, i) {\n      var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n      var iFirstSave = context.iCurr - 4;\n      var pos = (i - iFirstSave) % 5;\n      switch (pos) {\n        case 0:\n          return fnArray[i] === OPS.beginText;\n        case 1:\n          return fnArray[i] === OPS.setFont;\n        case 2:\n          return fnArray[i] === OPS.setTextMatrix;\n        case 3:\n          if (fnArray[i] !== OPS.showText) {\n            return false;\n          }\n          var iFirstSetFont = context.iCurr - 3;\n          var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n          var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n          if (\n            argsArray[i][0] !== firstSetFontArg0 ||\n            argsArray[i][1] !== firstSetFontArg1\n          ) {\n            return false; // fonts don't match\n          }\n          return true;\n        case 4:\n          return fnArray[i] === OPS.endText;\n      }\n      throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);\n    },\n    function(context, i) {\n      var MIN_CHARS_IN_BLOCK = 3;\n      var MAX_CHARS_IN_BLOCK = 1000;\n\n      var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n      var curr = context.iCurr;\n      var iFirstBeginText = curr - 4;\n      var iFirstSetFont = curr - 3;\n      var iFirstSetTextMatrix = curr - 2;\n      var iFirstShowText = curr - 1;\n      var iFirstEndText = curr;\n      var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n      var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n      // At this point, i is the index of the first op past the last valid\n      // quintet.\n      var count = Math.min(\n        Math.floor((i - iFirstBeginText) / 5),\n        MAX_CHARS_IN_BLOCK\n      );\n      if (count < MIN_CHARS_IN_BLOCK) {\n        return i - ((i - iFirstBeginText) % 5);\n      }\n\n      // If the preceding quintet is (<something>, setFont, setTextMatrix,\n      // showText, endText), include that as well. (E.g. <something> might be\n      // |dependency|.)\n      var iFirst = iFirstBeginText;\n      if (\n        iFirstBeginText >= 4 &&\n        fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] &&\n        fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] &&\n        fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] &&\n        fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] &&\n        argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 &&\n        argsArray[iFirstBeginText - 4][1] === firstSetFontArg1\n      ) {\n        count++;\n        iFirst -= 5;\n      }\n\n      // Remove (endText, beginText, setFont) trios.\n      var iEndText = iFirst + 4;\n      for (var q = 1; q < count; q++) {\n        fnArray.splice(iEndText, 3);\n        argsArray.splice(iEndText, 3);\n        iEndText += 2;\n      }\n\n      return iEndText + 1;\n    }\n  );\n\n  function QueueOptimizer(queue) {\n    this.queue = queue;\n    this.state = null;\n    this.context = {\n      iCurr: 0,\n      fnArray: queue.fnArray,\n      argsArray: queue.argsArray,\n    };\n    this.match = null;\n    this.lastProcessed = 0;\n  }\n\n  QueueOptimizer.prototype = {\n    _optimize() {\n      // Process new fnArray item(s) chunk.\n      const fnArray = this.queue.fnArray;\n      let i = this.lastProcessed,\n        ii = fnArray.length;\n      let state = this.state;\n      let match = this.match;\n      if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n        // Micro-optimization for the common case: last item is not\n        // optimizable, just skipping it.\n        this.lastProcessed = ii;\n        return;\n      }\n\n      const context = this.context;\n      while (i < ii) {\n        if (match) {\n          // Already find a block of potentially optimizable items, iterating...\n          const iterate = (0, match.iterateFn)(context, i);\n          if (iterate) {\n            i++;\n            continue;\n          }\n          // Found last items for the block, processing...\n          i = (0, match.processFn)(context, i + 1);\n          ii = fnArray.length;\n          match = null;\n          state = null;\n          if (i >= ii) {\n            break;\n          }\n        }\n        // Find the potentially optimizable items.\n        state = (state || InitialState)[fnArray[i]];\n        if (!state || Array.isArray(state)) {\n          i++;\n          continue;\n        }\n        // Found a start of the block based on addState rules.\n        context.iCurr = i;\n        i++;\n        if (state.checkFn && !(0, state.checkFn)(context)) {\n          // Check failed, continue search...\n          state = null;\n          continue;\n        }\n        match = state;\n        state = null;\n      }\n      this.state = state;\n      this.match = match;\n      this.lastProcessed = i;\n    },\n\n    push(fn, args) {\n      this.queue.fnArray.push(fn);\n      this.queue.argsArray.push(args);\n      this._optimize();\n    },\n\n    flush() {\n      while (this.match) {\n        const length = this.queue.fnArray.length;\n        this.lastProcessed = (0, this.match.processFn)(this.context, length);\n        this.match = null;\n        this.state = null;\n        // Repeat optimization until all chunks are exhausted.\n        this._optimize();\n      }\n    },\n\n    reset() {\n      this.state = null;\n      this.match = null;\n      this.lastProcessed = 0;\n    },\n  };\n  return QueueOptimizer;\n})();\n\nvar NullOptimizer = (function NullOptimizerClosure() {\n  function NullOptimizer(queue) {\n    this.queue = queue;\n  }\n\n  NullOptimizer.prototype = {\n    push(fn, args) {\n      this.queue.fnArray.push(fn);\n      this.queue.argsArray.push(args);\n    },\n\n    flush() {},\n\n    reset() {},\n  };\n\n  return NullOptimizer;\n})();\n\nvar OperatorList = (function OperatorListClosure() {\n  var CHUNK_SIZE = 1000;\n  var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5; // close to chunk size\n\n  function OperatorList(intent, streamSink, pageIndex) {\n    this._streamSink = streamSink;\n    this.fnArray = [];\n    this.argsArray = [];\n    if (streamSink && intent !== \"oplist\") {\n      this.optimizer = new QueueOptimizer(this);\n    } else {\n      this.optimizer = new NullOptimizer(this);\n    }\n    this.dependencies = Object.create(null);\n    this._totalLength = 0;\n    this.pageIndex = pageIndex;\n    this.intent = intent;\n    this.weight = 0;\n    this._resolved = streamSink ? null : Promise.resolve();\n  }\n\n  OperatorList.prototype = {\n    get length() {\n      return this.argsArray.length;\n    },\n\n    get ready() {\n      return this._resolved || this._streamSink.ready;\n    },\n\n    /**\n     * @type {number} The total length of the entire operator list, since\n     *                `this.length === 0` after flushing.\n     */\n    get totalLength() {\n      return this._totalLength + this.length;\n    },\n\n    addOp(fn, args) {\n      this.optimizer.push(fn, args);\n      this.weight++;\n      if (this._streamSink) {\n        if (this.weight >= CHUNK_SIZE) {\n          this.flush();\n        } else if (\n          this.weight >= CHUNK_SIZE_ABOUT &&\n          (fn === OPS.restore || fn === OPS.endText)\n        ) {\n          // heuristic to flush on boundary of restore or endText\n          this.flush();\n        }\n      }\n    },\n\n    addDependency(dependency) {\n      if (dependency in this.dependencies) {\n        return;\n      }\n      this.dependencies[dependency] = true;\n      this.addOp(OPS.dependency, [dependency]);\n    },\n\n    addDependencies(dependencies) {\n      for (var key in dependencies) {\n        this.addDependency(key);\n      }\n    },\n\n    addOpList(opList) {\n      Object.assign(this.dependencies, opList.dependencies);\n      for (var i = 0, ii = opList.length; i < ii; i++) {\n        this.addOp(opList.fnArray[i], opList.argsArray[i]);\n      }\n    },\n\n    getIR() {\n      return {\n        fnArray: this.fnArray,\n        argsArray: this.argsArray,\n        length: this.length,\n      };\n    },\n\n    get _transfers() {\n      const transfers = [];\n      const { fnArray, argsArray, length } = this;\n      for (let i = 0; i < length; i++) {\n        switch (fnArray[i]) {\n          case OPS.paintInlineImageXObject:\n          case OPS.paintInlineImageXObjectGroup:\n          case OPS.paintImageMaskXObject:\n            const arg = argsArray[i][0]; // first param in imgData\n\n            if (\n              typeof PDFJSDev === \"undefined\" ||\n              PDFJSDev.test(\"!PRODUCTION || TESTING\")\n            ) {\n              assert(\n                arg.data instanceof Uint8ClampedArray,\n                'OperatorList._transfers: Unsupported \"arg.data\" type.'\n              );\n            }\n            if (!arg.cached) {\n              transfers.push(arg.data.buffer);\n            }\n            break;\n        }\n      }\n      return transfers;\n    },\n\n    flush(lastChunk = false) {\n      this.optimizer.flush();\n      const length = this.length;\n      this._totalLength += length;\n\n      this._streamSink.enqueue(\n        {\n          fnArray: this.fnArray,\n          argsArray: this.argsArray,\n          lastChunk,\n          length,\n        },\n        1,\n        this._transfers\n      );\n\n      this.dependencies = Object.create(null);\n      this.fnArray.length = 0;\n      this.argsArray.length = 0;\n      this.weight = 0;\n      this.optimizer.reset();\n    },\n  };\n\n  return OperatorList;\n})();\n\nexport { OperatorList };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  AbortException,\n  assert,\n  CMapCompressionType,\n  createPromiseCapability,\n  FONT_IDENTITY_MATRIX,\n  FormatError,\n  IDENTITY_MATRIX,\n  info,\n  isArrayEqual,\n  isNum,\n  isString,\n  NativeImageDecoding,\n  OPS,\n  stringToPDFString,\n  TextRenderingMode,\n  UNSUPPORTED_FEATURES,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport { CMapFactory, IdentityCMap } from \"./cmap.js\";\nimport {\n  Cmd,\n  Dict,\n  EOF,\n  isDict,\n  isName,\n  isRef,\n  isStream,\n  Name,\n  Ref,\n} from \"./primitives.js\";\nimport {\n  ErrorFont,\n  Font,\n  FontFlags,\n  getFontType,\n  IdentityToUnicodeMap,\n  ToUnicodeMap,\n} from \"./fonts.js\";\nimport {\n  getEncoding,\n  MacRomanEncoding,\n  StandardEncoding,\n  SymbolSetEncoding,\n  WinAnsiEncoding,\n  ZapfDingbatsEncoding,\n} from \"./encodings.js\";\nimport { getLookupTableFactory, MissingDataException } from \"./core_utils.js\";\nimport {\n  getNormalizedUnicodes,\n  getUnicodeForGlyph,\n  reverseIfRtl,\n} from \"./unicode.js\";\nimport {\n  getSerifFonts,\n  getStdFontMap,\n  getSymbolsFonts,\n} from \"./standard_fonts.js\";\nimport { getTilingPatternIR, Pattern } from \"./pattern.js\";\nimport { Lexer, Parser } from \"./parser.js\";\nimport { bidi } from \"./bidi.js\";\nimport { ColorSpace } from \"./colorspace.js\";\nimport { DecodeStream } from \"./stream.js\";\nimport { getGlyphsUnicode } from \"./glyphlist.js\";\nimport { getMetrics } from \"./metrics.js\";\nimport { isPDFFunction } from \"./function.js\";\nimport { JpegStream } from \"./jpeg_stream.js\";\nimport { MurmurHash3_64 } from \"./murmurhash3.js\";\nimport { NativeImageDecoder } from \"./image_utils.js\";\nimport { OperatorList } from \"./operator_list.js\";\nimport { PDFImage } from \"./image.js\";\n\nvar PartialEvaluator = (function PartialEvaluatorClosure() {\n  const DefaultPartialEvaluatorOptions = {\n    forceDataSchema: false,\n    maxImageSize: -1,\n    disableFontFace: false,\n    nativeImageDecoderSupport: NativeImageDecoding.DECODE,\n    ignoreErrors: false,\n    isEvalSupported: true,\n  };\n\n  function PartialEvaluator({\n    xref,\n    handler,\n    pageIndex,\n    idFactory,\n    fontCache,\n    builtInCMapCache,\n    options = null,\n    pdfFunctionFactory,\n  }) {\n    this.xref = xref;\n    this.handler = handler;\n    this.pageIndex = pageIndex;\n    this.idFactory = idFactory;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.options = options || DefaultPartialEvaluatorOptions;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n    this.parsingType3Font = false;\n\n    this.fetchBuiltInCMap = async name => {\n      if (this.builtInCMapCache.has(name)) {\n        return this.builtInCMapCache.get(name);\n      }\n      const readableStream = this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n        name,\n      });\n      const reader = readableStream.getReader();\n\n      const data = await new Promise(function(resolve, reject) {\n        function pump() {\n          reader.read().then(function({ value, done }) {\n            if (done) {\n              return;\n            }\n            resolve(value);\n            pump();\n          }, reject);\n        }\n        pump();\n      });\n\n      if (data.compressionType !== CMapCompressionType.NONE) {\n        // Given the size of uncompressed CMaps, only cache compressed ones.\n        this.builtInCMapCache.set(name, data);\n      }\n      return data;\n    };\n  }\n\n  // Trying to minimize Date.now() usage and check every 100 time\n  var TIME_SLOT_DURATION_MS = 20;\n  var CHECK_TIME_EVERY = 100;\n  function TimeSlotManager() {\n    this.reset();\n  }\n  TimeSlotManager.prototype = {\n    check: function TimeSlotManager_check() {\n      if (++this.checked < CHECK_TIME_EVERY) {\n        return false;\n      }\n      this.checked = 0;\n      return this.endTime <= Date.now();\n    },\n    reset: function TimeSlotManager_reset() {\n      this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n      this.checked = 0;\n    },\n  };\n\n  // Convert PDF blend mode names to HTML5 blend mode names.\n  function normalizeBlendMode(value, parsingArray = false) {\n    if (Array.isArray(value)) {\n      // Use the first *supported* BM value in the Array (fixes issue11279.pdf).\n      for (let i = 0, ii = value.length; i < ii; i++) {\n        const maybeBM = normalizeBlendMode(value[i], /* parsingArray = */ true);\n        if (maybeBM) {\n          return maybeBM;\n        }\n      }\n      warn(`Unsupported blend mode Array: ${value}`);\n      return \"source-over\";\n    }\n\n    if (!isName(value)) {\n      if (parsingArray) {\n        return null;\n      }\n      return \"source-over\";\n    }\n    switch (value.name) {\n      case \"Normal\":\n      case \"Compatible\":\n        return \"source-over\";\n      case \"Multiply\":\n        return \"multiply\";\n      case \"Screen\":\n        return \"screen\";\n      case \"Overlay\":\n        return \"overlay\";\n      case \"Darken\":\n        return \"darken\";\n      case \"Lighten\":\n        return \"lighten\";\n      case \"ColorDodge\":\n        return \"color-dodge\";\n      case \"ColorBurn\":\n        return \"color-burn\";\n      case \"HardLight\":\n        return \"hard-light\";\n      case \"SoftLight\":\n        return \"soft-light\";\n      case \"Difference\":\n        return \"difference\";\n      case \"Exclusion\":\n        return \"exclusion\";\n      case \"Hue\":\n        return \"hue\";\n      case \"Saturation\":\n        return \"saturation\";\n      case \"Color\":\n        return \"color\";\n      case \"Luminosity\":\n        return \"luminosity\";\n    }\n    if (parsingArray) {\n      return null;\n    }\n    warn(`Unsupported blend mode: ${value.name}`);\n    return \"source-over\";\n  }\n\n  var deferred = Promise.resolve();\n\n  var TILING_PATTERN = 1,\n    SHADING_PATTERN = 2;\n\n  PartialEvaluator.prototype = {\n    clone(newOptions = DefaultPartialEvaluatorOptions) {\n      var newEvaluator = Object.create(this);\n      newEvaluator.options = newOptions;\n      return newEvaluator;\n    },\n\n    hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n      if (!(resources instanceof Dict)) {\n        return false;\n      }\n\n      var processed = Object.create(null);\n      if (resources.objId) {\n        processed[resources.objId] = true;\n      }\n\n      var nodes = [resources],\n        xref = this.xref;\n      while (nodes.length) {\n        var node = nodes.shift();\n        // First check the current resources for blend modes.\n        var graphicStates = node.get(\"ExtGState\");\n        if (graphicStates instanceof Dict) {\n          var graphicStatesKeys = graphicStates.getKeys();\n          for (let i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n            const key = graphicStatesKeys[i];\n\n            let graphicState = graphicStates.getRaw(key);\n            if (graphicState instanceof Ref) {\n              if (processed[graphicState.toString()]) {\n                continue; // The ExtGState has already been processed.\n              }\n              try {\n                graphicState = xref.fetch(graphicState);\n              } catch (ex) {\n                if (ex instanceof MissingDataException) {\n                  throw ex;\n                }\n                if (this.options.ignoreErrors) {\n                  if (graphicState instanceof Ref) {\n                    // Avoid parsing a corrupt ExtGState more than once.\n                    processed[graphicState.toString()] = true;\n                  }\n                  // Error(s) in the ExtGState -- sending unsupported feature\n                  // notification and allow parsing/rendering to continue.\n                  this.handler.send(\"UnsupportedFeature\", {\n                    featureId: UNSUPPORTED_FEATURES.unknown,\n                  });\n                  warn(`hasBlendModes - ignoring ExtGState: \"${ex}\".`);\n                  continue;\n                }\n                throw ex;\n              }\n            }\n            if (!(graphicState instanceof Dict)) {\n              continue;\n            }\n            if (graphicState.objId) {\n              processed[graphicState.objId] = true;\n            }\n\n            const bm = graphicState.get(\"BM\");\n            if (bm instanceof Name) {\n              if (bm.name !== \"Normal\") {\n                return true;\n              }\n              continue;\n            }\n            if (bm !== undefined && Array.isArray(bm)) {\n              for (let j = 0, jj = bm.length; j < jj; j++) {\n                if (bm[j] instanceof Name && bm[j].name !== \"Normal\") {\n                  return true;\n                }\n              }\n            }\n          }\n        }\n        // Descend into the XObjects to look for more resources and blend modes.\n        var xObjects = node.get(\"XObject\");\n        if (!(xObjects instanceof Dict)) {\n          continue;\n        }\n        var xObjectsKeys = xObjects.getKeys();\n        for (let i = 0, ii = xObjectsKeys.length; i < ii; i++) {\n          const key = xObjectsKeys[i];\n\n          var xObject = xObjects.getRaw(key);\n          if (xObject instanceof Ref) {\n            if (processed[xObject.toString()]) {\n              // The XObject has already been processed, and by avoiding a\n              // redundant `xref.fetch` we can *significantly* reduce the load\n              // time for badly generated PDF files (fixes issue6961.pdf).\n              continue;\n            }\n            try {\n              xObject = xref.fetch(xObject);\n            } catch (ex) {\n              if (ex instanceof MissingDataException) {\n                throw ex;\n              }\n              if (this.options.ignoreErrors) {\n                if (xObject instanceof Ref) {\n                  // Avoid parsing a corrupt XObject more than once.\n                  processed[xObject.toString()] = true;\n                }\n                // Error(s) in the XObject -- sending unsupported feature\n                // notification and allow parsing/rendering to continue.\n                this.handler.send(\"UnsupportedFeature\", {\n                  featureId: UNSUPPORTED_FEATURES.unknown,\n                });\n                warn(`hasBlendModes - ignoring XObject: \"${ex}\".`);\n                continue;\n              }\n              throw ex;\n            }\n          }\n          if (!isStream(xObject)) {\n            continue;\n          }\n          if (xObject.dict.objId) {\n            if (processed[xObject.dict.objId]) {\n              continue; // Stream has objId and was processed already.\n            }\n            processed[xObject.dict.objId] = true;\n          }\n          var xResources = xObject.dict.get(\"Resources\");\n          // Checking objId to detect an infinite loop.\n          if (\n            xResources instanceof Dict &&\n            (!xResources.objId || !processed[xResources.objId])\n          ) {\n            nodes.push(xResources);\n            if (xResources.objId) {\n              processed[xResources.objId] = true;\n            }\n          }\n        }\n      }\n      return false;\n    },\n\n    async buildFormXObject(\n      resources,\n      xobj,\n      smask,\n      operatorList,\n      task,\n      initialState\n    ) {\n      var dict = xobj.dict;\n      var matrix = dict.getArray(\"Matrix\");\n      var bbox = dict.getArray(\"BBox\");\n      if (Array.isArray(bbox) && bbox.length === 4) {\n        bbox = Util.normalizeRect(bbox);\n      } else {\n        bbox = null;\n      }\n      var group = dict.get(\"Group\");\n      if (group) {\n        var groupOptions = {\n          matrix,\n          bbox,\n          smask,\n          isolated: false,\n          knockout: false,\n        };\n\n        var groupSubtype = group.get(\"S\");\n        var colorSpace = null;\n        if (isName(groupSubtype, \"Transparency\")) {\n          groupOptions.isolated = group.get(\"I\") || false;\n          groupOptions.knockout = group.get(\"K\") || false;\n          if (group.has(\"CS\")) {\n            colorSpace = await this.parseColorSpace({\n              cs: group.get(\"CS\"),\n              resources,\n            });\n          }\n        }\n\n        if (smask && smask.backdrop) {\n          colorSpace = colorSpace || ColorSpace.singletons.rgb;\n          smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n        }\n\n        operatorList.addOp(OPS.beginGroup, [groupOptions]);\n      }\n\n      operatorList.addOp(OPS.paintFormXObjectBegin, [matrix, bbox]);\n\n      return this.getOperatorList({\n        stream: xobj,\n        task,\n        resources: dict.get(\"Resources\") || resources,\n        operatorList,\n        initialState,\n      }).then(function() {\n        operatorList.addOp(OPS.paintFormXObjectEnd, []);\n\n        if (group) {\n          operatorList.addOp(OPS.endGroup, [groupOptions]);\n        }\n      });\n    },\n\n    async buildPaintImageXObject({\n      resources,\n      image,\n      isInline = false,\n      operatorList,\n      cacheKey,\n      imageCache,\n      forceDisableNativeImageDecoder = false,\n    }) {\n      var dict = image.dict;\n      var w = dict.get(\"Width\", \"W\");\n      var h = dict.get(\"Height\", \"H\");\n\n      if (!(w && isNum(w)) || !(h && isNum(h))) {\n        warn(\"Image dimensions are missing, or not numbers.\");\n        return undefined;\n      }\n      var maxImageSize = this.options.maxImageSize;\n      if (maxImageSize !== -1 && w * h > maxImageSize) {\n        warn(\"Image exceeded maximum allowed size and was removed.\");\n        return undefined;\n      }\n\n      var imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n      var imgData, args;\n      if (imageMask) {\n        // This depends on a tmpCanvas being filled with the\n        // current fillStyle, such that processing the pixel\n        // data can't be done here. Instead of creating a\n        // complete PDFImage, only read the information needed\n        // for later.\n\n        var width = dict.get(\"Width\", \"W\");\n        var height = dict.get(\"Height\", \"H\");\n        var bitStrideLength = (width + 7) >> 3;\n        var imgArray = image.getBytes(\n          bitStrideLength * height,\n          /* forceClamped = */ true\n        );\n        var decode = dict.getArray(\"Decode\", \"D\");\n\n        imgData = PDFImage.createMask({\n          imgArray,\n          width,\n          height,\n          imageIsFromDecodeStream: image instanceof DecodeStream,\n          inverseDecode: !!decode && decode[0] > 0,\n        });\n        imgData.cached = !!cacheKey;\n        args = [imgData];\n\n        operatorList.addOp(OPS.paintImageMaskXObject, args);\n        if (cacheKey) {\n          imageCache[cacheKey] = {\n            fn: OPS.paintImageMaskXObject,\n            args,\n          };\n        }\n        return undefined;\n      }\n\n      var softMask = dict.get(\"SMask\", \"SM\") || false;\n      var mask = dict.get(\"Mask\") || false;\n\n      var SMALL_IMAGE_DIMENSIONS = 200;\n      // Inlining small images into the queue as RGB data\n      if (\n        isInline &&\n        !softMask &&\n        !mask &&\n        !(image instanceof JpegStream) &&\n        w + h < SMALL_IMAGE_DIMENSIONS\n      ) {\n        const imageObj = new PDFImage({\n          xref: this.xref,\n          res: resources,\n          image,\n          isInline,\n          pdfFunctionFactory: this.pdfFunctionFactory,\n        });\n        // We force the use of RGBA_32BPP images here, because we can't handle\n        // any other kind.\n        imgData = imageObj.createImageData(/* forceRGBA = */ true);\n        operatorList.addOp(OPS.paintInlineImageXObject, [imgData]);\n        return undefined;\n      }\n\n      const nativeImageDecoderSupport = forceDisableNativeImageDecoder\n        ? NativeImageDecoding.NONE\n        : this.options.nativeImageDecoderSupport;\n      // If there is no imageMask, create the PDFImage and a lot\n      // of image processing can be done here.\n      let objId = `img_${this.idFactory.createObjId()}`;\n\n      if (this.parsingType3Font) {\n        assert(\n          nativeImageDecoderSupport === NativeImageDecoding.NONE,\n          \"Type3 image resources should be completely decoded in the worker.\"\n        );\n\n        objId = `${this.idFactory.getDocId()}_type3res_${objId}`;\n      }\n\n      if (\n        nativeImageDecoderSupport !== NativeImageDecoding.NONE &&\n        !softMask &&\n        !mask &&\n        image instanceof JpegStream &&\n        NativeImageDecoder.isSupported(\n          image,\n          this.xref,\n          resources,\n          this.pdfFunctionFactory\n        ) &&\n        image.maybeValidDimensions\n      ) {\n        // These JPEGs don't need any more processing so we can just send it.\n        return this.handler\n          .sendWithPromise(\"obj\", [\n            objId,\n            this.pageIndex,\n            \"JpegStream\",\n            image.getIR(this.options.forceDataSchema),\n          ])\n          .then(\n            function() {\n              // Only add the dependency once we know that the native JPEG\n              // decoding succeeded, to ensure that rendering will always\n              // complete.\n              operatorList.addDependency(objId);\n              args = [objId, w, h];\n\n              operatorList.addOp(OPS.paintJpegXObject, args);\n              if (cacheKey) {\n                imageCache[cacheKey] = {\n                  fn: OPS.paintJpegXObject,\n                  args,\n                };\n              }\n            },\n            reason => {\n              warn(\n                \"Native JPEG decoding failed -- trying to recover: \" +\n                  (reason && reason.message)\n              );\n              // Try to decode the JPEG image with the built-in decoder instead.\n              return this.buildPaintImageXObject({\n                resources,\n                image,\n                isInline,\n                operatorList,\n                cacheKey,\n                imageCache,\n                forceDisableNativeImageDecoder: true,\n              });\n            }\n          );\n      }\n\n      // Creates native image decoder only if a JPEG image or mask is present.\n      var nativeImageDecoder = null;\n      if (\n        nativeImageDecoderSupport === NativeImageDecoding.DECODE &&\n        (image instanceof JpegStream ||\n          mask instanceof JpegStream ||\n          softMask instanceof JpegStream)\n      ) {\n        nativeImageDecoder = new NativeImageDecoder({\n          xref: this.xref,\n          resources,\n          handler: this.handler,\n          forceDataSchema: this.options.forceDataSchema,\n          pdfFunctionFactory: this.pdfFunctionFactory,\n        });\n      }\n\n      // Ensure that the dependency is added before the image is decoded.\n      operatorList.addDependency(objId);\n      args = [objId, w, h];\n\n      const imgPromise = PDFImage.buildImage({\n        handler: this.handler,\n        xref: this.xref,\n        res: resources,\n        image,\n        isInline,\n        nativeDecoder: nativeImageDecoder,\n        pdfFunctionFactory: this.pdfFunctionFactory,\n      })\n        .then(imageObj => {\n          var imgData = imageObj.createImageData(/* forceRGBA = */ false);\n\n          if (this.parsingType3Font) {\n            return this.handler.sendWithPromise(\n              \"commonobj\",\n              [objId, \"FontType3Res\", imgData],\n              [imgData.data.buffer]\n            );\n          }\n          this.handler.send(\n            \"obj\",\n            [objId, this.pageIndex, \"Image\", imgData],\n            [imgData.data.buffer]\n          );\n          return undefined;\n        })\n        .catch(reason => {\n          warn(\"Unable to decode image: \" + reason);\n\n          if (this.parsingType3Font) {\n            return this.handler.sendWithPromise(\"commonobj\", [\n              objId,\n              \"FontType3Res\",\n              null,\n            ]);\n          }\n          this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", null]);\n          return undefined;\n        });\n\n      if (this.parsingType3Font) {\n        // In the very rare case where a Type3 image resource is being parsed,\n        // wait for the image to be both decoded *and* sent to simplify the\n        // rendering code on the main-thread (see issue10717.pdf).\n        await imgPromise;\n      }\n\n      operatorList.addOp(OPS.paintImageXObject, args);\n      if (cacheKey) {\n        imageCache[cacheKey] = {\n          fn: OPS.paintImageXObject,\n          args,\n        };\n      }\n      return undefined;\n    },\n\n    handleSMask: function PartialEvaluator_handleSmask(\n      smask,\n      resources,\n      operatorList,\n      task,\n      stateManager\n    ) {\n      var smaskContent = smask.get(\"G\");\n      var smaskOptions = {\n        subtype: smask.get(\"S\").name,\n        backdrop: smask.get(\"BC\"),\n      };\n\n      // The SMask might have a alpha/luminosity value transfer function --\n      // we will build a map of integer values in range 0..255 to be fast.\n      var transferObj = smask.get(\"TR\");\n      if (isPDFFunction(transferObj)) {\n        const transferFn = this.pdfFunctionFactory.create(transferObj);\n        var transferMap = new Uint8Array(256);\n        var tmp = new Float32Array(1);\n        for (var i = 0; i < 256; i++) {\n          tmp[0] = i / 255;\n          transferFn(tmp, 0, tmp, 0);\n          transferMap[i] = (tmp[0] * 255) | 0;\n        }\n        smaskOptions.transferMap = transferMap;\n      }\n\n      return this.buildFormXObject(\n        resources,\n        smaskContent,\n        smaskOptions,\n        operatorList,\n        task,\n        stateManager.state.clone()\n      );\n    },\n\n    handleTilingType(\n      fn,\n      args,\n      resources,\n      pattern,\n      patternDict,\n      operatorList,\n      task\n    ) {\n      // Create an IR of the pattern code.\n      const tilingOpList = new OperatorList();\n      // Merge the available resources, to prevent issues when the patternDict\n      // is missing some /Resources entries (fixes issue6541.pdf).\n      const resourcesArray = [patternDict.get(\"Resources\"), resources];\n      const patternResources = Dict.merge(this.xref, resourcesArray);\n\n      return this.getOperatorList({\n        stream: pattern,\n        task,\n        resources: patternResources,\n        operatorList: tilingOpList,\n      })\n        .then(function() {\n          return getTilingPatternIR(\n            {\n              fnArray: tilingOpList.fnArray,\n              argsArray: tilingOpList.argsArray,\n            },\n            patternDict,\n            args\n          );\n        })\n        .then(\n          function(tilingPatternIR) {\n            // Add the dependencies to the parent operator list so they are\n            // resolved before the sub operator list is executed synchronously.\n            operatorList.addDependencies(tilingOpList.dependencies);\n            operatorList.addOp(fn, tilingPatternIR);\n          },\n          reason => {\n            if (reason instanceof AbortException) {\n              return;\n            }\n            if (this.options.ignoreErrors) {\n              // Error(s) in the TilingPattern -- sending unsupported feature\n              // notification and allow rendering to continue.\n              this.handler.send(\"UnsupportedFeature\", {\n                featureId: UNSUPPORTED_FEATURES.unknown,\n              });\n              warn(`handleTilingType - ignoring pattern: \"${reason}\".`);\n              return;\n            }\n            throw reason;\n          }\n        );\n    },\n\n    handleSetFont: function PartialEvaluator_handleSetFont(\n      resources,\n      fontArgs,\n      fontRef,\n      operatorList,\n      task,\n      state\n    ) {\n      // TODO(mack): Not needed?\n      var fontName;\n      if (fontArgs) {\n        fontArgs = fontArgs.slice();\n        fontName = fontArgs[0].name;\n      }\n\n      return this.loadFont(fontName, fontRef, resources)\n        .then(translated => {\n          if (!translated.font.isType3Font) {\n            return translated;\n          }\n          return translated\n            .loadType3Data(this, resources, operatorList, task)\n            .then(function() {\n              return translated;\n            })\n            .catch(reason => {\n              // Error in the font data -- sending unsupported feature\n              // notification.\n              this.handler.send(\"UnsupportedFeature\", {\n                featureId: UNSUPPORTED_FEATURES.font,\n              });\n              return new TranslatedFont(\n                \"g_font_error\",\n                new ErrorFont(\"Type3 font load error: \" + reason),\n                translated.font\n              );\n            });\n        })\n        .then(translated => {\n          state.font = translated.font;\n          translated.send(this.handler);\n          return translated.loadedName;\n        });\n    },\n\n    handleText(chars, state) {\n      const font = state.font;\n      const glyphs = font.charsToGlyphs(chars);\n\n      if (font.data) {\n        const isAddToPathSet = !!(\n          state.textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG\n        );\n        if (\n          isAddToPathSet ||\n          state.fillColorSpace.name === \"Pattern\" ||\n          font.disableFontFace ||\n          this.options.disableFontFace\n        ) {\n          PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n        }\n      }\n      return glyphs;\n    },\n\n    ensureStateFont(state) {\n      if (state.font) {\n        return;\n      }\n      const reason = new FormatError(\n        \"Missing setFont (Tf) operator before text rendering operator.\"\n      );\n\n      if (this.options.ignoreErrors) {\n        // Missing setFont operator before text rendering operator -- sending\n        // unsupported feature notification and allow rendering to continue.\n        this.handler.send(\"UnsupportedFeature\", {\n          featureId: UNSUPPORTED_FEATURES.font,\n        });\n        warn(`ensureStateFont: \"${reason}\".`);\n        return;\n      }\n      throw reason;\n    },\n\n    setGState: function PartialEvaluator_setGState(\n      resources,\n      gState,\n      operatorList,\n      task,\n      stateManager\n    ) {\n      // This array holds the converted/processed state data.\n      var gStateObj = [];\n      var gStateKeys = gState.getKeys();\n      var promise = Promise.resolve();\n      for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n        const key = gStateKeys[i];\n        const value = gState.get(key);\n        switch (key) {\n          case \"Type\":\n            break;\n          case \"LW\":\n          case \"LC\":\n          case \"LJ\":\n          case \"ML\":\n          case \"D\":\n          case \"RI\":\n          case \"FL\":\n          case \"CA\":\n          case \"ca\":\n            gStateObj.push([key, value]);\n            break;\n          case \"Font\":\n            promise = promise.then(() => {\n              return this.handleSetFont(\n                resources,\n                null,\n                value[0],\n                operatorList,\n                task,\n                stateManager.state\n              ).then(function(loadedName) {\n                operatorList.addDependency(loadedName);\n                gStateObj.push([key, [loadedName, value[1]]]);\n              });\n            });\n            break;\n          case \"BM\":\n            gStateObj.push([key, normalizeBlendMode(value)]);\n            break;\n          case \"SMask\":\n            if (isName(value, \"None\")) {\n              gStateObj.push([key, false]);\n              break;\n            }\n            if (isDict(value)) {\n              promise = promise.then(() => {\n                return this.handleSMask(\n                  value,\n                  resources,\n                  operatorList,\n                  task,\n                  stateManager\n                );\n              });\n              gStateObj.push([key, true]);\n            } else {\n              warn(\"Unsupported SMask type\");\n            }\n\n            break;\n          // Only generate info log messages for the following since\n          // they are unlikely to have a big impact on the rendering.\n          case \"OP\":\n          case \"op\":\n          case \"OPM\":\n          case \"BG\":\n          case \"BG2\":\n          case \"UCR\":\n          case \"UCR2\":\n          case \"TR\":\n          case \"TR2\":\n          case \"HT\":\n          case \"SM\":\n          case \"SA\":\n          case \"AIS\":\n          case \"TK\":\n            // TODO implement these operators.\n            info(\"graphic state operator \" + key);\n            break;\n          default:\n            info(\"Unknown graphic state operator \" + key);\n            break;\n        }\n      }\n      return promise.then(function() {\n        if (gStateObj.length > 0) {\n          operatorList.addOp(OPS.setGState, [gStateObj]);\n        }\n      });\n    },\n\n    loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n      function errorFont() {\n        return Promise.resolve(\n          new TranslatedFont(\n            \"g_font_error\",\n            new ErrorFont(\"Font \" + fontName + \" is not available\"),\n            font\n          )\n        );\n      }\n\n      var fontRef,\n        xref = this.xref;\n      if (font) {\n        // Loading by ref.\n        if (!isRef(font)) {\n          throw new FormatError('The \"font\" object should be a reference.');\n        }\n        fontRef = font;\n      } else {\n        // Loading by name.\n        var fontRes = resources.get(\"Font\");\n        if (fontRes) {\n          fontRef = fontRes.getRaw(fontName);\n        }\n      }\n      if (!fontRef) {\n        const partialMsg = `Font \"${fontName ||\n          (font && font.toString())}\" is not available`;\n\n        if (!this.options.ignoreErrors && !this.parsingType3Font) {\n          warn(`${partialMsg}.`);\n          return errorFont();\n        }\n        // Font not found -- sending unsupported feature notification.\n        this.handler.send(\"UnsupportedFeature\", {\n          featureId: UNSUPPORTED_FEATURES.font,\n        });\n        warn(`${partialMsg} -- attempting to fallback to a default font.`);\n\n        // Falling back to a default font to avoid completely broken rendering,\n        // but note that there're no guarantees that things will look \"correct\".\n        fontRef = PartialEvaluator.getFallbackFontDict();\n      }\n\n      if (this.fontCache.has(fontRef)) {\n        return this.fontCache.get(fontRef);\n      }\n\n      font = xref.fetchIfRef(fontRef);\n      if (!isDict(font)) {\n        return errorFont();\n      }\n\n      // We are holding `font.translated` references just for `fontRef`s that\n      // are not actually `Ref`s, but rather `Dict`s. See explanation below.\n      if (font.translated) {\n        return font.translated;\n      }\n\n      var fontCapability = createPromiseCapability();\n\n      var preEvaluatedFont = this.preEvaluateFont(font);\n      const { descriptor, hash } = preEvaluatedFont;\n\n      var fontRefIsRef = isRef(fontRef),\n        fontID;\n      if (fontRefIsRef) {\n        fontID = fontRef.toString();\n      }\n\n      if (hash && isDict(descriptor)) {\n        if (!descriptor.fontAliases) {\n          descriptor.fontAliases = Object.create(null);\n        }\n        var fontAliases = descriptor.fontAliases;\n\n        if (fontAliases[hash]) {\n          var aliasFontRef = fontAliases[hash].aliasRef;\n          if (\n            fontRefIsRef &&\n            aliasFontRef &&\n            this.fontCache.has(aliasFontRef)\n          ) {\n            this.fontCache.putAlias(fontRef, aliasFontRef);\n            return this.fontCache.get(fontRef);\n          }\n        } else {\n          fontAliases[hash] = {\n            fontID: Font.getFontID(),\n          };\n        }\n\n        if (fontRefIsRef) {\n          fontAliases[hash].aliasRef = fontRef;\n        }\n        fontID = fontAliases[hash].fontID;\n      }\n\n      // Workaround for bad PDF generators that reference fonts incorrectly,\n      // where `fontRef` is a `Dict` rather than a `Ref` (fixes bug946506.pdf).\n      // In this case we should not put the font into `this.fontCache` (which is\n      // a `RefSetCache`), since it's not meaningful to use a `Dict` as a key.\n      //\n      // However, if we don't cache the font it's not possible to remove it\n      // when `cleanup` is triggered from the API, which causes issues on\n      // subsequent rendering operations (see issue7403.pdf).\n      // A simple workaround would be to just not hold `font.translated`\n      // references in this case, but this would force us to unnecessarily load\n      // the same fonts over and over.\n      //\n      // Instead, we cheat a bit by attempting to use a modified `fontID` as a\n      // key in `this.fontCache`, to allow the font to be cached.\n      // NOTE: This works because `RefSetCache` calls `toString()` on provided\n      //       keys. Also, since `fontRef` is used when getting cached fonts,\n      //       we'll not accidentally match fonts cached with the `fontID`.\n      if (fontRefIsRef) {\n        this.fontCache.put(fontRef, fontCapability.promise);\n      } else {\n        if (!fontID) {\n          fontID = this.idFactory.createObjId();\n        }\n        this.fontCache.put(`id_${fontID}`, fontCapability.promise);\n      }\n      assert(fontID, 'The \"fontID\" must be defined.');\n\n      // Keep track of each font we translated so the caller can\n      // load them asynchronously before calling display on a page.\n      font.loadedName = `${this.idFactory.getDocId()}_f${fontID}`;\n\n      font.translated = fontCapability.promise;\n\n      // TODO move promises into translate font\n      var translatedPromise;\n      try {\n        translatedPromise = this.translateFont(preEvaluatedFont);\n      } catch (e) {\n        translatedPromise = Promise.reject(e);\n      }\n\n      translatedPromise\n        .then(function(translatedFont) {\n          if (translatedFont.fontType !== undefined) {\n            var xrefFontStats = xref.stats.fontTypes;\n            xrefFontStats[translatedFont.fontType] = true;\n          }\n\n          fontCapability.resolve(\n            new TranslatedFont(font.loadedName, translatedFont, font)\n          );\n        })\n        .catch(reason => {\n          // TODO fontCapability.reject?\n          // Error in the font data -- sending unsupported feature notification.\n          this.handler.send(\"UnsupportedFeature\", {\n            featureId: UNSUPPORTED_FEATURES.font,\n          });\n\n          try {\n            // error, but it's still nice to have font type reported\n            var fontFile3 = descriptor && descriptor.get(\"FontFile3\");\n            var subtype = fontFile3 && fontFile3.get(\"Subtype\");\n            var fontType = getFontType(\n              preEvaluatedFont.type,\n              subtype && subtype.name\n            );\n            var xrefFontStats = xref.stats.fontTypes;\n            xrefFontStats[fontType] = true;\n          } catch (ex) {}\n\n          fontCapability.resolve(\n            new TranslatedFont(\n              font.loadedName,\n              new ErrorFont(reason instanceof Error ? reason.message : reason),\n              font\n            )\n          );\n        });\n      return fontCapability.promise;\n    },\n\n    buildPath(operatorList, fn, args, parsingText = false) {\n      var lastIndex = operatorList.length - 1;\n      if (!args) {\n        args = [];\n      }\n      if (\n        lastIndex < 0 ||\n        operatorList.fnArray[lastIndex] !== OPS.constructPath\n      ) {\n        // Handle corrupt PDF documents that contains path operators inside of\n        // text objects, which may shift subsequent text, by enclosing the path\n        // operator in save/restore operators (fixes issue10542_reduced.pdf).\n        //\n        // Note that this will effectively disable the optimization in the\n        // `else` branch below, but given that this type of corruption is\n        // *extremely* rare that shouldn't really matter much in practice.\n        if (parsingText) {\n          warn(`Encountered path operator \"${fn}\" inside of a text object.`);\n          operatorList.addOp(OPS.save, null);\n        }\n\n        operatorList.addOp(OPS.constructPath, [[fn], args]);\n\n        if (parsingText) {\n          operatorList.addOp(OPS.restore, null);\n        }\n      } else {\n        var opArgs = operatorList.argsArray[lastIndex];\n        opArgs[0].push(fn);\n        Array.prototype.push.apply(opArgs[1], args);\n      }\n    },\n\n    parseColorSpace({ cs, resources }) {\n      return new Promise(resolve => {\n        resolve(\n          ColorSpace.parse(cs, this.xref, resources, this.pdfFunctionFactory)\n        );\n      }).catch(reason => {\n        if (reason instanceof AbortException) {\n          return null;\n        }\n        if (this.options.ignoreErrors) {\n          // Error(s) in the ColorSpace -- sending unsupported feature\n          // notification and allow rendering to continue.\n          this.handler.send(\"UnsupportedFeature\", {\n            featureId: UNSUPPORTED_FEATURES.unknown,\n          });\n          warn(`parseColorSpace - ignoring ColorSpace: \"${reason}\".`);\n          return null;\n        }\n        throw reason;\n      });\n    },\n\n    async handleColorN(operatorList, fn, args, cs, patterns, resources, task) {\n      // compile tiling patterns\n      var patternName = args[args.length - 1];\n      // SCN/scn applies patterns along with normal colors\n      var pattern;\n      if (isName(patternName) && (pattern = patterns.get(patternName.name))) {\n        var dict = isStream(pattern) ? pattern.dict : pattern;\n        var typeNum = dict.get(\"PatternType\");\n\n        if (typeNum === TILING_PATTERN) {\n          var color = cs.base ? cs.base.getRgb(args, 0) : null;\n          return this.handleTilingType(\n            fn,\n            color,\n            resources,\n            pattern,\n            dict,\n            operatorList,\n            task\n          );\n        } else if (typeNum === SHADING_PATTERN) {\n          var shading = dict.get(\"Shading\");\n          var matrix = dict.getArray(\"Matrix\");\n          pattern = Pattern.parseShading(\n            shading,\n            matrix,\n            this.xref,\n            resources,\n            this.handler,\n            this.pdfFunctionFactory\n          );\n          operatorList.addOp(fn, pattern.getIR());\n          return undefined;\n        }\n        throw new FormatError(`Unknown PatternType: ${typeNum}`);\n      }\n      throw new FormatError(`Unknown PatternName: ${patternName}`);\n    },\n\n    getOperatorList({\n      stream,\n      task,\n      resources,\n      operatorList,\n      initialState = null,\n    }) {\n      // Ensure that `resources`/`initialState` is correctly initialized,\n      // even if the provided parameter is e.g. `null`.\n      resources = resources || Dict.empty;\n      initialState = initialState || new EvalState();\n\n      if (!operatorList) {\n        throw new Error('getOperatorList: missing \"operatorList\" parameter');\n      }\n\n      var self = this;\n      var xref = this.xref;\n      let parsingText = false;\n      var imageCache = Object.create(null);\n\n      var xobjs = resources.get(\"XObject\") || Dict.empty;\n      var patterns = resources.get(\"Pattern\") || Dict.empty;\n      var stateManager = new StateManager(initialState);\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var timeSlotManager = new TimeSlotManager();\n\n      function closePendingRestoreOPS(argument) {\n        for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n          operatorList.addOp(OPS.restore, []);\n        }\n      }\n\n      return new Promise(function promiseBody(resolve, reject) {\n        const next = function(promise) {\n          Promise.all([promise, operatorList.ready]).then(function() {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n          operation = {},\n          i,\n          ii,\n          cs;\n        while (!(stop = timeSlotManager.check())) {\n          // The arguments parsed by read() are used beyond this loop, so we\n          // cannot reuse the same array on each iteration. Therefore we pass\n          // in |null| as the initial value (see the comment on\n          // EvaluatorPreprocessor_read() for why).\n          operation.args = null;\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n          var args = operation.args;\n          var fn = operation.fn;\n\n          switch (fn | 0) {\n            case OPS.paintXObject:\n              // eagerly compile XForm objects\n              var name = args[0].name;\n              if (name && imageCache[name] !== undefined) {\n                operatorList.addOp(imageCache[name].fn, imageCache[name].args);\n                args = null;\n                continue;\n              }\n\n              next(\n                new Promise(function(resolveXObject, rejectXObject) {\n                  if (!name) {\n                    throw new FormatError(\n                      \"XObject must be referred to by name.\"\n                    );\n                  }\n\n                  const xobj = xobjs.get(name);\n                  if (!xobj) {\n                    operatorList.addOp(fn, args);\n                    resolveXObject();\n                    return;\n                  }\n                  if (!isStream(xobj)) {\n                    throw new FormatError(\"XObject should be a stream\");\n                  }\n\n                  const type = xobj.dict.get(\"Subtype\");\n                  if (!isName(type)) {\n                    throw new FormatError(\"XObject should have a Name subtype\");\n                  }\n\n                  if (type.name === \"Form\") {\n                    stateManager.save();\n                    self\n                      .buildFormXObject(\n                        resources,\n                        xobj,\n                        null,\n                        operatorList,\n                        task,\n                        stateManager.state.clone()\n                      )\n                      .then(function() {\n                        stateManager.restore();\n                        resolveXObject();\n                      }, rejectXObject);\n                    return;\n                  } else if (type.name === \"Image\") {\n                    self\n                      .buildPaintImageXObject({\n                        resources,\n                        image: xobj,\n                        operatorList,\n                        cacheKey: name,\n                        imageCache,\n                      })\n                      .then(resolveXObject, rejectXObject);\n                    return;\n                  } else if (type.name === \"PS\") {\n                    // PostScript XObjects are unused when viewing documents.\n                    // See section 4.7.1 of Adobe's PDF reference.\n                    info(\"Ignored XObject subtype PS\");\n                  } else {\n                    throw new FormatError(\n                      `Unhandled XObject subtype ${type.name}`\n                    );\n                  }\n                  resolveXObject();\n                }).catch(function(reason) {\n                  if (reason instanceof AbortException) {\n                    return;\n                  }\n                  if (self.options.ignoreErrors) {\n                    // Error(s) in the XObject -- sending unsupported feature\n                    // notification and allow rendering to continue.\n                    self.handler.send(\"UnsupportedFeature\", {\n                      featureId: UNSUPPORTED_FEATURES.unknown,\n                    });\n                    warn(`getOperatorList - ignoring XObject: \"${reason}\".`);\n                    return;\n                  }\n                  throw reason;\n                })\n              );\n              return;\n            case OPS.setFont:\n              var fontSize = args[1];\n              // eagerly collect all fonts\n              next(\n                self\n                  .handleSetFont(\n                    resources,\n                    args,\n                    null,\n                    operatorList,\n                    task,\n                    stateManager.state\n                  )\n                  .then(function(loadedName) {\n                    operatorList.addDependency(loadedName);\n                    operatorList.addOp(OPS.setFont, [loadedName, fontSize]);\n                  })\n              );\n              return;\n            case OPS.beginText:\n              parsingText = true;\n              break;\n            case OPS.endText:\n              parsingText = false;\n              break;\n            case OPS.endInlineImage:\n              var cacheKey = args[0].cacheKey;\n              if (cacheKey) {\n                var cacheEntry = imageCache[cacheKey];\n                if (cacheEntry !== undefined) {\n                  operatorList.addOp(cacheEntry.fn, cacheEntry.args);\n                  args = null;\n                  continue;\n                }\n              }\n              next(\n                self.buildPaintImageXObject({\n                  resources,\n                  image: args[0],\n                  isInline: true,\n                  operatorList,\n                  cacheKey,\n                  imageCache,\n                })\n              );\n              return;\n            case OPS.showText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              args[0] = self.handleText(args[0], stateManager.state);\n              break;\n            case OPS.showSpacedText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              var arr = args[0];\n              var combinedGlyphs = [];\n              var arrLength = arr.length;\n              var state = stateManager.state;\n              for (i = 0; i < arrLength; ++i) {\n                var arrItem = arr[i];\n                if (isString(arrItem)) {\n                  Array.prototype.push.apply(\n                    combinedGlyphs,\n                    self.handleText(arrItem, state)\n                  );\n                } else if (isNum(arrItem)) {\n                  combinedGlyphs.push(arrItem);\n                }\n              }\n              args[0] = combinedGlyphs;\n              fn = OPS.showText;\n              break;\n            case OPS.nextLineShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              operatorList.addOp(OPS.nextLine);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = OPS.showText;\n              break;\n            case OPS.nextLineSetSpacingShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              operatorList.addOp(OPS.nextLine);\n              operatorList.addOp(OPS.setWordSpacing, [args.shift()]);\n              operatorList.addOp(OPS.setCharSpacing, [args.shift()]);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = OPS.showText;\n              break;\n            case OPS.setTextRenderingMode:\n              stateManager.state.textRenderingMode = args[0];\n              break;\n\n            case OPS.setFillColorSpace:\n              next(\n                self\n                  .parseColorSpace({\n                    cs: args[0],\n                    resources,\n                  })\n                  .then(function(colorSpace) {\n                    if (colorSpace) {\n                      stateManager.state.fillColorSpace = colorSpace;\n                    }\n                  })\n              );\n              return;\n            case OPS.setStrokeColorSpace:\n              next(\n                self\n                  .parseColorSpace({\n                    cs: args[0],\n                    resources,\n                  })\n                  .then(function(colorSpace) {\n                    if (colorSpace) {\n                      stateManager.state.strokeColorSpace = colorSpace;\n                    }\n                  })\n              );\n              return;\n            case OPS.setFillColor:\n              cs = stateManager.state.fillColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = OPS.setFillRGBColor;\n              break;\n            case OPS.setStrokeColor:\n              cs = stateManager.state.strokeColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = OPS.setStrokeRGBColor;\n              break;\n            case OPS.setFillGray:\n              stateManager.state.fillColorSpace = ColorSpace.singletons.gray;\n              args = ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = OPS.setFillRGBColor;\n              break;\n            case OPS.setStrokeGray:\n              stateManager.state.strokeColorSpace = ColorSpace.singletons.gray;\n              args = ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = OPS.setStrokeRGBColor;\n              break;\n            case OPS.setFillCMYKColor:\n              stateManager.state.fillColorSpace = ColorSpace.singletons.cmyk;\n              args = ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = OPS.setFillRGBColor;\n              break;\n            case OPS.setStrokeCMYKColor:\n              stateManager.state.strokeColorSpace = ColorSpace.singletons.cmyk;\n              args = ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = OPS.setStrokeRGBColor;\n              break;\n            case OPS.setFillRGBColor:\n              stateManager.state.fillColorSpace = ColorSpace.singletons.rgb;\n              args = ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n            case OPS.setStrokeRGBColor:\n              stateManager.state.strokeColorSpace = ColorSpace.singletons.rgb;\n              args = ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n            case OPS.setFillColorN:\n              cs = stateManager.state.fillColorSpace;\n              if (cs.name === \"Pattern\") {\n                next(\n                  self.handleColorN(\n                    operatorList,\n                    OPS.setFillColorN,\n                    args,\n                    cs,\n                    patterns,\n                    resources,\n                    task\n                  )\n                );\n                return;\n              }\n              args = cs.getRgb(args, 0);\n              fn = OPS.setFillRGBColor;\n              break;\n            case OPS.setStrokeColorN:\n              cs = stateManager.state.strokeColorSpace;\n              if (cs.name === \"Pattern\") {\n                next(\n                  self.handleColorN(\n                    operatorList,\n                    OPS.setStrokeColorN,\n                    args,\n                    cs,\n                    patterns,\n                    resources,\n                    task\n                  )\n                );\n                return;\n              }\n              args = cs.getRgb(args, 0);\n              fn = OPS.setStrokeRGBColor;\n              break;\n\n            case OPS.shadingFill:\n              var shadingRes = resources.get(\"Shading\");\n              if (!shadingRes) {\n                throw new FormatError(\"No shading resource found\");\n              }\n\n              var shading = shadingRes.get(args[0].name);\n              if (!shading) {\n                throw new FormatError(\"No shading object found\");\n              }\n\n              var shadingFill = Pattern.parseShading(\n                shading,\n                null,\n                xref,\n                resources,\n                self.handler,\n                self.pdfFunctionFactory\n              );\n              var patternIR = shadingFill.getIR();\n              args = [patternIR];\n              fn = OPS.shadingFill;\n              break;\n            case OPS.setGState:\n              var dictName = args[0];\n              var extGState = resources.get(\"ExtGState\");\n\n              if (!isDict(extGState) || !extGState.has(dictName.name)) {\n                break;\n              }\n\n              var gState = extGState.get(dictName.name);\n              next(\n                self.setGState(\n                  resources,\n                  gState,\n                  operatorList,\n                  task,\n                  stateManager\n                )\n              );\n              return;\n            case OPS.moveTo:\n            case OPS.lineTo:\n            case OPS.curveTo:\n            case OPS.curveTo2:\n            case OPS.curveTo3:\n            case OPS.closePath:\n            case OPS.rectangle:\n              self.buildPath(operatorList, fn, args, parsingText);\n              continue;\n            case OPS.markPoint:\n            case OPS.markPointProps:\n            case OPS.beginMarkedContent:\n            case OPS.beginMarkedContentProps:\n            case OPS.endMarkedContent:\n            case OPS.beginCompat:\n            case OPS.endCompat:\n              // Ignore operators where the corresponding handlers are known to\n              // be no-op in CanvasGraphics (display/canvas.js). This prevents\n              // serialization errors and is also a bit more efficient.\n              // We could also try to serialize all objects in a general way,\n              // e.g. as done in https://github.com/mozilla/pdf.js/pull/6266,\n              // but doing so is meaningless without knowing the semantics.\n              continue;\n            default:\n              // Note: Ignore the operator if it has `Dict` arguments, since\n              // those are non-serializable, otherwise postMessage will throw\n              // \"An object could not be cloned.\".\n              if (args !== null) {\n                for (i = 0, ii = args.length; i < ii; i++) {\n                  if (args[i] instanceof Dict) {\n                    break;\n                  }\n                }\n                if (i < ii) {\n                  warn(\"getOperatorList - ignoring operator: \" + fn);\n                  continue;\n                }\n              }\n          }\n          operatorList.addOp(fn, args);\n        }\n        if (stop) {\n          next(deferred);\n          return;\n        }\n        // Some PDFs don't close all restores inside object/form.\n        // Closing those for them.\n        closePendingRestoreOPS();\n        resolve();\n      }).catch(reason => {\n        if (reason instanceof AbortException) {\n          return;\n        }\n        if (this.options.ignoreErrors) {\n          // Error(s) in the OperatorList -- sending unsupported feature\n          // notification and allow rendering to continue.\n          this.handler.send(\"UnsupportedFeature\", {\n            featureId: UNSUPPORTED_FEATURES.unknown,\n          });\n          warn(\n            `getOperatorList - ignoring errors during \"${task.name}\" ` +\n              `task: \"${reason}\".`\n          );\n\n          closePendingRestoreOPS();\n          return;\n        }\n        throw reason;\n      });\n    },\n\n    getTextContent({\n      stream,\n      task,\n      resources,\n      stateManager = null,\n      normalizeWhitespace = false,\n      combineTextItems = false,\n      sink,\n      seenStyles = Object.create(null),\n    }) {\n      // Ensure that `resources`/`stateManager` is correctly initialized,\n      // even if the provided parameter is e.g. `null`.\n      resources = resources || Dict.empty;\n      stateManager = stateManager || new StateManager(new TextState());\n\n      var WhitespaceRegexp = /\\s/g;\n\n      var textContent = {\n        items: [],\n        styles: Object.create(null),\n      };\n      var textContentItem = {\n        initialized: false,\n        str: [],\n        width: 0,\n        height: 0,\n        vertical: false,\n        lastAdvanceWidth: 0,\n        lastAdvanceHeight: 0,\n        textAdvanceScale: 0,\n        spaceWidth: 0,\n        fakeSpaceMin: Infinity,\n        fakeMultiSpaceMin: Infinity,\n        fakeMultiSpaceMax: -0,\n        textRunBreakAllowed: false,\n        transform: null,\n        fontName: null,\n      };\n      var SPACE_FACTOR = 0.3;\n      var MULTI_SPACE_FACTOR = 1.5;\n      var MULTI_SPACE_FACTOR_MAX = 4;\n\n      var self = this;\n      var xref = this.xref;\n\n      // The xobj is parsed iff it's needed, e.g. if there is a `DO` cmd.\n      var xobjs = null;\n      var skipEmptyXObjs = Object.create(null);\n\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n\n      var textState;\n\n      function ensureTextContentItem() {\n        if (textContentItem.initialized) {\n          return textContentItem;\n        }\n        var font = textState.font;\n        if (!(font.loadedName in seenStyles)) {\n          seenStyles[font.loadedName] = true;\n          textContent.styles[font.loadedName] = {\n            fontFamily: font.fallbackName,\n            ascent: font.ascent,\n            descent: font.descent,\n            vertical: !!font.vertical,\n          };\n        }\n        textContentItem.fontName = font.loadedName;\n\n        // 9.4.4 Text Space Details\n        var tsm = [\n          textState.fontSize * textState.textHScale,\n          0,\n          0,\n          textState.fontSize,\n          0,\n          textState.textRise,\n        ];\n\n        if (\n          font.isType3Font &&\n          textState.fontSize <= 1 &&\n          !isArrayEqual(textState.fontMatrix, FONT_IDENTITY_MATRIX)\n        ) {\n          const glyphHeight = font.bbox[3] - font.bbox[1];\n          if (glyphHeight > 0) {\n            tsm[3] *= glyphHeight * textState.fontMatrix[3];\n          }\n        }\n\n        var trm = Util.transform(\n          textState.ctm,\n          Util.transform(textState.textMatrix, tsm)\n        );\n        textContentItem.transform = trm;\n        if (!font.vertical) {\n          textContentItem.width = 0;\n          textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n          textContentItem.vertical = false;\n        } else {\n          textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n          textContentItem.height = 0;\n          textContentItem.vertical = true;\n        }\n\n        var a = textState.textLineMatrix[0];\n        var b = textState.textLineMatrix[1];\n        var scaleLineX = Math.sqrt(a * a + b * b);\n        a = textState.ctm[0];\n        b = textState.ctm[1];\n        var scaleCtmX = Math.sqrt(a * a + b * b);\n        textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n        textContentItem.lastAdvanceWidth = 0;\n        textContentItem.lastAdvanceHeight = 0;\n\n        var spaceWidth = (font.spaceWidth / 1000) * textState.fontSize;\n        if (spaceWidth) {\n          textContentItem.spaceWidth = spaceWidth;\n          textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMax =\n            spaceWidth * MULTI_SPACE_FACTOR_MAX;\n          // It's okay for monospace fonts to fake as much space as needed.\n          textContentItem.textRunBreakAllowed = !font.isMonospace;\n        } else {\n          textContentItem.spaceWidth = 0;\n          textContentItem.fakeSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMax = 0;\n          textContentItem.textRunBreakAllowed = false;\n        }\n\n        textContentItem.initialized = true;\n        return textContentItem;\n      }\n\n      function replaceWhitespace(str) {\n        // Replaces all whitespaces with standard spaces (0x20), to avoid\n        // alignment issues between the textLayer and the canvas if the text\n        // contains e.g. tabs (fixes issue6612.pdf).\n        var i = 0,\n          ii = str.length,\n          code;\n        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {\n          i++;\n        }\n        return i < ii ? str.replace(WhitespaceRegexp, \" \") : str;\n      }\n\n      function runBidiTransform(textChunk) {\n        var str = textChunk.str.join(\"\");\n        var bidiResult = bidi(str, -1, textChunk.vertical);\n        return {\n          str: normalizeWhitespace\n            ? replaceWhitespace(bidiResult.str)\n            : bidiResult.str,\n          dir: bidiResult.dir,\n          width: textChunk.width,\n          height: textChunk.height,\n          transform: textChunk.transform,\n          fontName: textChunk.fontName,\n        };\n      }\n\n      function handleSetFont(fontName, fontRef) {\n        return self\n          .loadFont(fontName, fontRef, resources)\n          .then(function(translated) {\n            textState.font = translated.font;\n            textState.fontMatrix =\n              translated.font.fontMatrix || FONT_IDENTITY_MATRIX;\n          });\n      }\n\n      function buildTextContentItem(chars) {\n        var font = textState.font;\n        var textChunk = ensureTextContentItem();\n        var width = 0;\n        var height = 0;\n        var glyphs = font.charsToGlyphs(chars);\n        for (var i = 0; i < glyphs.length; i++) {\n          var glyph = glyphs[i];\n          var glyphWidth = null;\n          if (font.vertical && glyph.vmetric) {\n            glyphWidth = glyph.vmetric[0];\n          } else {\n            glyphWidth = glyph.width;\n          }\n\n          var glyphUnicode = glyph.unicode;\n          var NormalizedUnicodes = getNormalizedUnicodes();\n          if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n            glyphUnicode = NormalizedUnicodes[glyphUnicode];\n          }\n          glyphUnicode = reverseIfRtl(glyphUnicode);\n\n          var charSpacing = textState.charSpacing;\n          if (glyph.isSpace) {\n            var wordSpacing = textState.wordSpacing;\n            charSpacing += wordSpacing;\n            if (wordSpacing > 0) {\n              addFakeSpaces(wordSpacing, textChunk.str);\n            }\n          }\n\n          var tx = 0;\n          var ty = 0;\n          if (!font.vertical) {\n            var w0 = glyphWidth * textState.fontMatrix[0];\n            tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n            width += tx;\n          } else {\n            var w1 = glyphWidth * textState.fontMatrix[0];\n            ty = w1 * textState.fontSize + charSpacing;\n            height += ty;\n          }\n          textState.translateTextMatrix(tx, ty);\n\n          textChunk.str.push(glyphUnicode);\n        }\n\n        if (!font.vertical) {\n          textChunk.lastAdvanceWidth = width;\n          textChunk.width += width;\n        } else {\n          textChunk.lastAdvanceHeight = height;\n          textChunk.height += Math.abs(height);\n        }\n\n        return textChunk;\n      }\n\n      function addFakeSpaces(width, strBuf) {\n        if (width < textContentItem.fakeSpaceMin) {\n          return;\n        }\n        if (width < textContentItem.fakeMultiSpaceMin) {\n          strBuf.push(\" \");\n          return;\n        }\n        var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n        while (fakeSpaces-- > 0) {\n          strBuf.push(\" \");\n        }\n      }\n\n      function flushTextContentItem() {\n        if (!textContentItem.initialized) {\n          return;\n        }\n\n        // Do final text scaling.\n        if (!textContentItem.vertical) {\n          textContentItem.width *= textContentItem.textAdvanceScale;\n        } else {\n          textContentItem.height *= textContentItem.textAdvanceScale;\n        }\n        textContent.items.push(runBidiTransform(textContentItem));\n\n        textContentItem.initialized = false;\n        textContentItem.str.length = 0;\n      }\n\n      function enqueueChunk() {\n        const length = textContent.items.length;\n        if (length > 0) {\n          sink.enqueue(textContent, length);\n          textContent.items = [];\n          textContent.styles = Object.create(null);\n        }\n      }\n\n      var timeSlotManager = new TimeSlotManager();\n\n      return new Promise(function promiseBody(resolve, reject) {\n        const next = function(promise) {\n          enqueueChunk();\n          Promise.all([promise, sink.ready]).then(function() {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n          operation = {},\n          args = [];\n        while (!(stop = timeSlotManager.check())) {\n          // The arguments parsed by read() are not used beyond this loop, so\n          // we can reuse the same array on every iteration, thus avoiding\n          // unnecessary allocations.\n          args.length = 0;\n          operation.args = args;\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n          textState = stateManager.state;\n          var fn = operation.fn;\n          args = operation.args;\n          var advance, diff;\n\n          switch (fn | 0) {\n            case OPS.setFont:\n              // Optimization to ignore multiple identical Tf commands.\n              var fontNameArg = args[0].name,\n                fontSizeArg = args[1];\n              if (\n                textState.font &&\n                fontNameArg === textState.fontName &&\n                fontSizeArg === textState.fontSize\n              ) {\n                break;\n              }\n\n              flushTextContentItem();\n              textState.fontName = fontNameArg;\n              textState.fontSize = fontSizeArg;\n              next(handleSetFont(fontNameArg, null));\n              return;\n            case OPS.setTextRise:\n              flushTextContentItem();\n              textState.textRise = args[0];\n              break;\n            case OPS.setHScale:\n              flushTextContentItem();\n              textState.textHScale = args[0] / 100;\n              break;\n            case OPS.setLeading:\n              flushTextContentItem();\n              textState.leading = args[0];\n              break;\n            case OPS.moveText:\n              // Optimization to treat same line movement as advance\n              var isSameTextLine = !textState.font\n                ? false\n                : (textState.font.vertical ? args[0] : args[1]) === 0;\n              advance = args[0] - args[1];\n              if (\n                combineTextItems &&\n                isSameTextLine &&\n                textContentItem.initialized &&\n                advance > 0 &&\n                advance <= textContentItem.fakeMultiSpaceMax\n              ) {\n                textState.translateTextLineMatrix(args[0], args[1]);\n                textContentItem.width +=\n                  args[0] - textContentItem.lastAdvanceWidth;\n                textContentItem.height +=\n                  args[1] - textContentItem.lastAdvanceHeight;\n                diff =\n                  args[0] -\n                  textContentItem.lastAdvanceWidth -\n                  (args[1] - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n\n              flushTextContentItem();\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n            case OPS.setLeadingMoveText:\n              flushTextContentItem();\n              textState.leading = -args[1];\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n            case OPS.nextLine:\n              flushTextContentItem();\n              textState.carriageReturn();\n              break;\n            case OPS.setTextMatrix:\n              // Optimization to treat same line movement as advance.\n              advance = textState.calcTextLineMatrixAdvance(\n                args[0],\n                args[1],\n                args[2],\n                args[3],\n                args[4],\n                args[5]\n              );\n              if (\n                combineTextItems &&\n                advance !== null &&\n                textContentItem.initialized &&\n                advance.value > 0 &&\n                advance.value <= textContentItem.fakeMultiSpaceMax\n              ) {\n                textState.translateTextLineMatrix(\n                  advance.width,\n                  advance.height\n                );\n                textContentItem.width +=\n                  advance.width - textContentItem.lastAdvanceWidth;\n                textContentItem.height +=\n                  advance.height - textContentItem.lastAdvanceHeight;\n                diff =\n                  advance.width -\n                  textContentItem.lastAdvanceWidth -\n                  (advance.height - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n\n              flushTextContentItem();\n              textState.setTextMatrix(\n                args[0],\n                args[1],\n                args[2],\n                args[3],\n                args[4],\n                args[5]\n              );\n              textState.setTextLineMatrix(\n                args[0],\n                args[1],\n                args[2],\n                args[3],\n                args[4],\n                args[5]\n              );\n              break;\n            case OPS.setCharSpacing:\n              textState.charSpacing = args[0];\n              break;\n            case OPS.setWordSpacing:\n              textState.wordSpacing = args[0];\n              break;\n            case OPS.beginText:\n              flushTextContentItem();\n              textState.textMatrix = IDENTITY_MATRIX.slice();\n              textState.textLineMatrix = IDENTITY_MATRIX.slice();\n              break;\n            case OPS.showSpacedText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              var items = args[0];\n              var offset;\n              for (var j = 0, jj = items.length; j < jj; j++) {\n                if (typeof items[j] === \"string\") {\n                  buildTextContentItem(items[j]);\n                } else if (isNum(items[j])) {\n                  ensureTextContentItem();\n\n                  // PDF Specification 5.3.2 states:\n                  // The number is expressed in thousandths of a unit of text\n                  // space.\n                  // This amount is subtracted from the current horizontal or\n                  // vertical coordinate, depending on the writing mode.\n                  // In the default coordinate system, a positive adjustment\n                  // has the effect of moving the next glyph painted either to\n                  // the left or down by the given amount.\n                  advance = (items[j] * textState.fontSize) / 1000;\n                  var breakTextRun = false;\n                  if (textState.font.vertical) {\n                    offset = advance;\n                    textState.translateTextMatrix(0, offset);\n                    breakTextRun =\n                      textContentItem.textRunBreakAllowed &&\n                      advance > textContentItem.fakeMultiSpaceMax;\n                    if (!breakTextRun) {\n                      // Value needs to be added to height to paint down.\n                      textContentItem.height += offset;\n                    }\n                  } else {\n                    advance = -advance;\n                    offset = advance * textState.textHScale;\n                    textState.translateTextMatrix(offset, 0);\n                    breakTextRun =\n                      textContentItem.textRunBreakAllowed &&\n                      advance > textContentItem.fakeMultiSpaceMax;\n                    if (!breakTextRun) {\n                      // Value needs to be subtracted from width to paint left.\n                      textContentItem.width += offset;\n                    }\n                  }\n                  if (breakTextRun) {\n                    flushTextContentItem();\n                  } else if (advance > 0) {\n                    addFakeSpaces(advance, textContentItem.str);\n                  }\n                }\n              }\n              break;\n            case OPS.showText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              buildTextContentItem(args[0]);\n              break;\n            case OPS.nextLineShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              flushTextContentItem();\n              textState.carriageReturn();\n              buildTextContentItem(args[0]);\n              break;\n            case OPS.nextLineSetSpacingShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n              flushTextContentItem();\n              textState.wordSpacing = args[0];\n              textState.charSpacing = args[1];\n              textState.carriageReturn();\n              buildTextContentItem(args[2]);\n              break;\n            case OPS.paintXObject:\n              flushTextContentItem();\n              if (!xobjs) {\n                xobjs = resources.get(\"XObject\") || Dict.empty;\n              }\n\n              var name = args[0].name;\n              if (name && skipEmptyXObjs[name] !== undefined) {\n                break;\n              }\n\n              next(\n                new Promise(function(resolveXObject, rejectXObject) {\n                  if (!name) {\n                    throw new FormatError(\n                      \"XObject must be referred to by name.\"\n                    );\n                  }\n\n                  const xobj = xobjs.get(name);\n                  if (!xobj) {\n                    resolveXObject();\n                    return;\n                  }\n                  if (!isStream(xobj)) {\n                    throw new FormatError(\"XObject should be a stream\");\n                  }\n\n                  const type = xobj.dict.get(\"Subtype\");\n                  if (!isName(type)) {\n                    throw new FormatError(\"XObject should have a Name subtype\");\n                  }\n\n                  if (type.name !== \"Form\") {\n                    skipEmptyXObjs[name] = true;\n                    resolveXObject();\n                    return;\n                  }\n\n                  // Use a new `StateManager` to prevent incorrect positioning\n                  // of textItems *after* the Form XObject, since errors in the\n                  // data can otherwise prevent `restore` operators from\n                  // executing.\n                  // NOTE: Only an issue when `options.ignoreErrors === true`.\n                  const currentState = stateManager.state.clone();\n                  const xObjStateManager = new StateManager(currentState);\n\n                  const matrix = xobj.dict.getArray(\"Matrix\");\n                  if (Array.isArray(matrix) && matrix.length === 6) {\n                    xObjStateManager.transform(matrix);\n                  }\n\n                  // Enqueue the `textContent` chunk before parsing the /Form\n                  // XObject.\n                  enqueueChunk();\n                  const sinkWrapper = {\n                    enqueueInvoked: false,\n\n                    enqueue(chunk, size) {\n                      this.enqueueInvoked = true;\n                      sink.enqueue(chunk, size);\n                    },\n\n                    get desiredSize() {\n                      return sink.desiredSize;\n                    },\n\n                    get ready() {\n                      return sink.ready;\n                    },\n                  };\n\n                  self\n                    .getTextContent({\n                      stream: xobj,\n                      task,\n                      resources: xobj.dict.get(\"Resources\") || resources,\n                      stateManager: xObjStateManager,\n                      normalizeWhitespace,\n                      combineTextItems,\n                      sink: sinkWrapper,\n                      seenStyles,\n                    })\n                    .then(function() {\n                      if (!sinkWrapper.enqueueInvoked) {\n                        skipEmptyXObjs[name] = true;\n                      }\n                      resolveXObject();\n                    }, rejectXObject);\n                }).catch(function(reason) {\n                  if (reason instanceof AbortException) {\n                    return;\n                  }\n                  if (self.options.ignoreErrors) {\n                    // Error(s) in the XObject -- allow text-extraction to\n                    // continue.\n                    warn(`getTextContent - ignoring XObject: \"${reason}\".`);\n                    return;\n                  }\n                  throw reason;\n                })\n              );\n              return;\n            case OPS.setGState:\n              flushTextContentItem();\n              var dictName = args[0];\n              var extGState = resources.get(\"ExtGState\");\n\n              if (!isDict(extGState) || !isName(dictName)) {\n                break;\n              }\n              var gState = extGState.get(dictName.name);\n              if (!isDict(gState)) {\n                break;\n              }\n              var gStateFont = gState.get(\"Font\");\n              if (gStateFont) {\n                textState.fontName = null;\n                textState.fontSize = gStateFont[1];\n                next(handleSetFont(null, gStateFont[0]));\n                return;\n              }\n              break;\n          } // switch\n          if (textContent.items.length >= sink.desiredSize) {\n            // Wait for ready, if we reach highWaterMark.\n            stop = true;\n            break;\n          }\n        } // while\n        if (stop) {\n          next(deferred);\n          return;\n        }\n        flushTextContentItem();\n        enqueueChunk();\n        resolve();\n      }).catch(reason => {\n        if (reason instanceof AbortException) {\n          return;\n        }\n        if (this.options.ignoreErrors) {\n          // Error(s) in the TextContent -- allow text-extraction to continue.\n          warn(\n            `getTextContent - ignoring errors during \"${task.name}\" ` +\n              `task: \"${reason}\".`\n          );\n\n          flushTextContentItem();\n          enqueueChunk();\n          return;\n        }\n        throw reason;\n      });\n    },\n\n    extractDataStructures: function PartialEvaluator_extractDataStructures(\n      dict,\n      baseDict,\n      properties\n    ) {\n      const xref = this.xref;\n      let cidToGidBytes;\n      // 9.10.2\n      var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n      var toUnicodePromise = toUnicode\n        ? this.readToUnicode(toUnicode)\n        : Promise.resolve(undefined);\n\n      if (properties.composite) {\n        // CIDSystemInfo helps to match CID to glyphs\n        var cidSystemInfo = dict.get(\"CIDSystemInfo\");\n        if (isDict(cidSystemInfo)) {\n          properties.cidSystemInfo = {\n            registry: stringToPDFString(cidSystemInfo.get(\"Registry\")),\n            ordering: stringToPDFString(cidSystemInfo.get(\"Ordering\")),\n            supplement: cidSystemInfo.get(\"Supplement\"),\n          };\n        }\n\n        var cidToGidMap = dict.get(\"CIDToGIDMap\");\n        if (isStream(cidToGidMap)) {\n          cidToGidBytes = cidToGidMap.getBytes();\n        }\n      }\n\n      // Based on 9.6.6 of the spec the encoding can come from multiple places\n      // and depends on the font type. The base encoding and differences are\n      // read here, but the encoding that is actually used is chosen during\n      // glyph mapping in the font.\n      // TODO: Loading the built in encoding in the font would allow the\n      // differences to be merged in here not require us to hold on to it.\n      var differences = [];\n      var baseEncodingName = null;\n      var encoding;\n      if (dict.has(\"Encoding\")) {\n        encoding = dict.get(\"Encoding\");\n        if (isDict(encoding)) {\n          baseEncodingName = encoding.get(\"BaseEncoding\");\n          baseEncodingName = isName(baseEncodingName)\n            ? baseEncodingName.name\n            : null;\n          // Load the differences between the base and original\n          if (encoding.has(\"Differences\")) {\n            var diffEncoding = encoding.get(\"Differences\");\n            var index = 0;\n            for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n              var data = xref.fetchIfRef(diffEncoding[j]);\n              if (isNum(data)) {\n                index = data;\n              } else if (isName(data)) {\n                differences[index++] = data.name;\n              } else {\n                throw new FormatError(\n                  `Invalid entry in 'Differences' array: ${data}`\n                );\n              }\n            }\n          }\n        } else if (isName(encoding)) {\n          baseEncodingName = encoding.name;\n        } else {\n          throw new FormatError(\"Encoding is not a Name nor a Dict\");\n        }\n        // According to table 114 if the encoding is a named encoding it must be\n        // one of these predefined encodings.\n        if (\n          baseEncodingName !== \"MacRomanEncoding\" &&\n          baseEncodingName !== \"MacExpertEncoding\" &&\n          baseEncodingName !== \"WinAnsiEncoding\"\n        ) {\n          baseEncodingName = null;\n        }\n      }\n\n      if (baseEncodingName) {\n        properties.defaultEncoding = getEncoding(baseEncodingName).slice();\n      } else {\n        var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n        var isNonsymbolicFont = !!(properties.flags & FontFlags.Nonsymbolic);\n        // According to \"Table 114\" in section \"9.6.6.1 General\" (under\n        // \"9.6.6 Character Encoding\") of the PDF specification, a Nonsymbolic\n        // font should use the `StandardEncoding` if no encoding is specified.\n        encoding = StandardEncoding;\n        if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n          encoding = WinAnsiEncoding;\n        }\n        // The Symbolic attribute can be misused for regular fonts\n        // Heuristic: we have to check if the font is a standard one also\n        if (isSymbolicFont) {\n          encoding = MacRomanEncoding;\n          if (!properties.file) {\n            if (/Symbol/i.test(properties.name)) {\n              encoding = SymbolSetEncoding;\n            } else if (/Dingbats|Wingdings/i.test(properties.name)) {\n              encoding = ZapfDingbatsEncoding;\n            }\n          }\n        }\n        properties.defaultEncoding = encoding;\n      }\n\n      properties.differences = differences;\n      properties.baseEncodingName = baseEncodingName;\n      properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n      properties.dict = dict;\n      return toUnicodePromise\n        .then(toUnicode => {\n          properties.toUnicode = toUnicode;\n          return this.buildToUnicode(properties);\n        })\n        .then(toUnicode => {\n          properties.toUnicode = toUnicode;\n          if (cidToGidBytes) {\n            properties.cidToGidMap = this.readCidToGidMap(\n              cidToGidBytes,\n              toUnicode\n            );\n          }\n          return properties;\n        });\n    },\n\n    /**\n     * @returns {ToUnicodeMap}\n     * @private\n     */\n    _buildSimpleFontToUnicode(properties, forceGlyphs = false) {\n      assert(!properties.composite, \"Must be a simple font.\");\n\n      const toUnicode = [];\n      const encoding = properties.defaultEncoding.slice();\n      const baseEncodingName = properties.baseEncodingName;\n      // Merge in the differences array.\n      const differences = properties.differences;\n      for (const charcode in differences) {\n        const glyphName = differences[charcode];\n        if (glyphName === \".notdef\") {\n          // Skip .notdef to prevent rendering errors, e.g. boxes appearing\n          // where there should be spaces (fixes issue5256.pdf).\n          continue;\n        }\n        encoding[charcode] = glyphName;\n      }\n      const glyphsUnicodeMap = getGlyphsUnicode();\n      for (const charcode in encoding) {\n        // a) Map the character code to a character name.\n        let glyphName = encoding[charcode];\n        // b) Look up the character name in the Adobe Glyph List (see the\n        //    Bibliography) to obtain the corresponding Unicode value.\n        if (glyphName === \"\") {\n          continue;\n        } else if (glyphsUnicodeMap[glyphName] === undefined) {\n          // (undocumented) c) Few heuristics to recognize unknown glyphs\n          // NOTE: Adobe Reader does not do this step, but OSX Preview does\n          let code = 0;\n          switch (glyphName[0]) {\n            case \"G\": // Gxx glyph\n              if (glyphName.length === 3) {\n                code = parseInt(glyphName.substring(1), 16);\n              }\n              break;\n            case \"g\": // g00xx glyph\n              if (glyphName.length === 5) {\n                code = parseInt(glyphName.substring(1), 16);\n              }\n              break;\n            case \"C\": // Cdd{d} glyph\n            case \"c\": // cdd{d} glyph\n              if (glyphName.length >= 3 && glyphName.length <= 4) {\n                const codeStr = glyphName.substring(1);\n\n                if (forceGlyphs) {\n                  code = parseInt(codeStr, 16);\n                  break;\n                }\n                // Normally the Cdd{d}/cdd{d} glyphName format will contain\n                // regular, i.e. base 10, charCodes (see issue4550.pdf)...\n                code = +codeStr;\n\n                // ... however some PDF generators violate that assumption by\n                // containing glyph, i.e. base 16, codes instead.\n                // In that case we need to re-parse the *entire* encoding to\n                // prevent broken text-selection (fixes issue9655_reduced.pdf).\n                if (\n                  Number.isNaN(code) &&\n                  Number.isInteger(parseInt(codeStr, 16))\n                ) {\n                  return this._buildSimpleFontToUnicode(\n                    properties,\n                    /* forceGlyphs */ true\n                  );\n                }\n              }\n              break;\n            default:\n              // 'uniXXXX'/'uXXXX{XX}' glyphs\n              const unicode = getUnicodeForGlyph(glyphName, glyphsUnicodeMap);\n              if (unicode !== -1) {\n                code = unicode;\n              }\n          }\n          if (code > 0 && Number.isInteger(code)) {\n            // If `baseEncodingName` is one the predefined encodings, and `code`\n            // equals `charcode`, using the glyph defined in the baseEncoding\n            // seems to yield a better `toUnicode` mapping (fixes issue 5070).\n            if (baseEncodingName && code === +charcode) {\n              const baseEncoding = getEncoding(baseEncodingName);\n              if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n                toUnicode[charcode] = String.fromCharCode(\n                  glyphsUnicodeMap[glyphName]\n                );\n                continue;\n              }\n            }\n            toUnicode[charcode] = String.fromCodePoint(code);\n          }\n          continue;\n        }\n        toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n      }\n      return new ToUnicodeMap(toUnicode);\n    },\n\n    /**\n     * Builds a char code to unicode map based on section 9.10 of the spec.\n     * @param {Object} properties Font properties object.\n     * @returns {Promise} A Promise that is resolved with a\n     *   {ToUnicodeMap|IdentityToUnicodeMap} object.\n     */\n    buildToUnicode(properties) {\n      properties.hasIncludedToUnicodeMap =\n        !!properties.toUnicode && properties.toUnicode.length > 0;\n\n      // Section 9.10.2 Mapping Character Codes to Unicode Values\n      if (properties.hasIncludedToUnicodeMap) {\n        // Some fonts contain incomplete ToUnicode data, causing issues with\n        // text-extraction. For simple fonts, containing encoding information,\n        // use a fallback ToUnicode map to improve this (fixes issue8229.pdf).\n        if (!properties.composite && properties.hasEncoding) {\n          properties.fallbackToUnicode = this._buildSimpleFontToUnicode(\n            properties\n          );\n        }\n\n        return Promise.resolve(properties.toUnicode);\n      }\n\n      // According to the spec if the font is a simple font we should only map\n      // to unicode if the base encoding is MacRoman, MacExpert, or WinAnsi or\n      // the differences array only contains adobe standard or symbol set names,\n      // in pratice it seems better to always try to create a toUnicode map\n      // based of the default encoding.\n      if (!properties.composite /* is simple font */) {\n        return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n      }\n\n      // If the font is a composite font that uses one of the predefined CMaps\n      // listed in Table 118 (except Identity–H and Identity–V) or whose\n      // descendant CIDFont uses the Adobe-GB1, Adobe-CNS1, Adobe-Japan1, or\n      // Adobe-Korea1 character collection:\n      if (\n        properties.composite &&\n        ((properties.cMap.builtInCMap &&\n          !(properties.cMap instanceof IdentityCMap)) ||\n          (properties.cidSystemInfo.registry === \"Adobe\" &&\n            (properties.cidSystemInfo.ordering === \"GB1\" ||\n              properties.cidSystemInfo.ordering === \"CNS1\" ||\n              properties.cidSystemInfo.ordering === \"Japan1\" ||\n              properties.cidSystemInfo.ordering === \"Korea1\")))\n      ) {\n        // Then:\n        // a) Map the character code to a character identifier (CID) according\n        // to the font’s CMap.\n        // b) Obtain the registry and ordering of the character collection used\n        // by the font’s CMap (for example, Adobe and Japan1) from its\n        // CIDSystemInfo dictionary.\n        const registry = properties.cidSystemInfo.registry;\n        const ordering = properties.cidSystemInfo.ordering;\n        // c) Construct a second CMap name by concatenating the registry and\n        // ordering obtained in step (b) in the format registry–ordering–UCS2\n        // (for example, Adobe–Japan1–UCS2).\n        const ucs2CMapName = Name.get(registry + \"-\" + ordering + \"-UCS2\");\n        // d) Obtain the CMap with the name constructed in step (c) (available\n        // from the ASN Web site; see the Bibliography).\n        return CMapFactory.create({\n          encoding: ucs2CMapName,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null,\n        }).then(function(ucs2CMap) {\n          const cMap = properties.cMap;\n          const toUnicode = [];\n          cMap.forEach(function(charcode, cid) {\n            if (cid > 0xffff) {\n              throw new FormatError(\"Max size of CID is 65,535\");\n            }\n            // e) Map the CID obtained in step (a) according to the CMap\n            // obtained in step (d), producing a Unicode value.\n            const ucs2 = ucs2CMap.lookup(cid);\n            if (ucs2) {\n              toUnicode[charcode] = String.fromCharCode(\n                (ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1)\n              );\n            }\n          });\n          return new ToUnicodeMap(toUnicode);\n        });\n      }\n\n      // The viewer's choice, just use an identity map.\n      return Promise.resolve(\n        new IdentityToUnicodeMap(properties.firstChar, properties.lastChar)\n      );\n    },\n\n    readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n      var cmapObj = toUnicode;\n      if (isName(cmapObj)) {\n        return CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null,\n        }).then(function(cmap) {\n          if (cmap instanceof IdentityCMap) {\n            return new IdentityToUnicodeMap(0, 0xffff);\n          }\n          return new ToUnicodeMap(cmap.getMap());\n        });\n      } else if (isStream(cmapObj)) {\n        return CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null,\n        }).then(\n          function(cmap) {\n            if (cmap instanceof IdentityCMap) {\n              return new IdentityToUnicodeMap(0, 0xffff);\n            }\n            var map = new Array(cmap.length);\n            // Convert UTF-16BE\n            // NOTE: cmap can be a sparse array, so use forEach instead of\n            // `for(;;)` to iterate over all keys.\n            cmap.forEach(function(charCode, token) {\n              var str = [];\n              for (var k = 0; k < token.length; k += 2) {\n                var w1 = (token.charCodeAt(k) << 8) | token.charCodeAt(k + 1);\n                if ((w1 & 0xf800) !== 0xd800) {\n                  // w1 < 0xD800 || w1 > 0xDFFF\n                  str.push(w1);\n                  continue;\n                }\n                k += 2;\n                var w2 = (token.charCodeAt(k) << 8) | token.charCodeAt(k + 1);\n                str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n              }\n              map[charCode] = String.fromCodePoint.apply(String, str);\n            });\n            return new ToUnicodeMap(map);\n          },\n          reason => {\n            if (reason instanceof AbortException) {\n              return null;\n            }\n            if (this.options.ignoreErrors) {\n              // Error in the ToUnicode data -- sending unsupported feature\n              // notification and allow font parsing to continue.\n              this.handler.send(\"UnsupportedFeature\", {\n                featureId: UNSUPPORTED_FEATURES.font,\n              });\n              warn(`readToUnicode - ignoring ToUnicode data: \"${reason}\".`);\n              return null;\n            }\n            throw reason;\n          }\n        );\n      }\n      return Promise.resolve(null);\n    },\n\n    readCidToGidMap(glyphsData, toUnicode) {\n      // Extract the encoding from the CIDToGIDMap\n\n      // Set encoding 0 to later verify the font has an encoding\n      var result = [];\n      for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n        var glyphID = (glyphsData[j++] << 8) | glyphsData[j];\n        const code = j >> 1;\n        if (glyphID === 0 && !toUnicode.has(code)) {\n          continue;\n        }\n        result[code] = glyphID;\n      }\n      return result;\n    },\n\n    extractWidths: function PartialEvaluator_extractWidths(\n      dict,\n      descriptor,\n      properties\n    ) {\n      var xref = this.xref;\n      var glyphsWidths = [];\n      var defaultWidth = 0;\n      var glyphsVMetrics = [];\n      var defaultVMetrics;\n      var i, ii, j, jj, start, code, widths;\n      if (properties.composite) {\n        defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n\n        widths = dict.get(\"W\");\n        if (widths) {\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            start = xref.fetchIfRef(widths[i++]);\n            code = xref.fetchIfRef(widths[i]);\n            if (Array.isArray(code)) {\n              for (j = 0, jj = code.length; j < jj; j++) {\n                glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n              }\n            } else {\n              var width = xref.fetchIfRef(widths[++i]);\n              for (j = start; j <= code; j++) {\n                glyphsWidths[j] = width;\n              }\n            }\n          }\n        }\n\n        if (properties.vertical) {\n          var vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n          defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n          vmetrics = dict.get(\"W2\");\n          if (vmetrics) {\n            for (i = 0, ii = vmetrics.length; i < ii; i++) {\n              start = xref.fetchIfRef(vmetrics[i++]);\n              code = xref.fetchIfRef(vmetrics[i]);\n              if (Array.isArray(code)) {\n                for (j = 0, jj = code.length; j < jj; j++) {\n                  glyphsVMetrics[start++] = [\n                    xref.fetchIfRef(code[j++]),\n                    xref.fetchIfRef(code[j++]),\n                    xref.fetchIfRef(code[j]),\n                  ];\n                }\n              } else {\n                var vmetric = [\n                  xref.fetchIfRef(vmetrics[++i]),\n                  xref.fetchIfRef(vmetrics[++i]),\n                  xref.fetchIfRef(vmetrics[++i]),\n                ];\n                for (j = start; j <= code; j++) {\n                  glyphsVMetrics[j] = vmetric;\n                }\n              }\n            }\n          }\n        }\n      } else {\n        var firstChar = properties.firstChar;\n        widths = dict.get(\"Widths\");\n        if (widths) {\n          j = firstChar;\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n          }\n          defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n        } else {\n          // Trying get the BaseFont metrics (see comment above).\n          var baseFontName = dict.get(\"BaseFont\");\n          if (isName(baseFontName)) {\n            var metrics = this.getBaseFontMetrics(baseFontName.name);\n\n            glyphsWidths = this.buildCharCodeToWidth(\n              metrics.widths,\n              properties\n            );\n            defaultWidth = metrics.defaultWidth;\n          }\n        }\n      }\n\n      // Heuristic: detection of monospace font by checking all non-zero widths\n      var isMonospace = true;\n      var firstWidth = defaultWidth;\n      for (var glyph in glyphsWidths) {\n        var glyphWidth = glyphsWidths[glyph];\n        if (!glyphWidth) {\n          continue;\n        }\n        if (!firstWidth) {\n          firstWidth = glyphWidth;\n          continue;\n        }\n        if (firstWidth !== glyphWidth) {\n          isMonospace = false;\n          break;\n        }\n      }\n      if (isMonospace) {\n        properties.flags |= FontFlags.FixedPitch;\n      }\n\n      properties.defaultWidth = defaultWidth;\n      properties.widths = glyphsWidths;\n      properties.defaultVMetrics = defaultVMetrics;\n      properties.vmetrics = glyphsVMetrics;\n    },\n\n    isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n      // Simulating descriptor flags attribute\n      var fontNameWoStyle = baseFontName.split(\"-\")[0];\n      return (\n        fontNameWoStyle in getSerifFonts() ||\n        fontNameWoStyle.search(/serif/gi) !== -1\n      );\n    },\n\n    getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n      var defaultWidth = 0;\n      var widths = [];\n      var monospace = false;\n      var stdFontMap = getStdFontMap();\n      var lookupName = stdFontMap[name] || name;\n      var Metrics = getMetrics();\n\n      if (!(lookupName in Metrics)) {\n        // Use default fonts for looking up font metrics if the passed\n        // font is not a base font\n        if (this.isSerifFont(name)) {\n          lookupName = \"Times-Roman\";\n        } else {\n          lookupName = \"Helvetica\";\n        }\n      }\n      var glyphWidths = Metrics[lookupName];\n\n      if (isNum(glyphWidths)) {\n        defaultWidth = glyphWidths;\n        monospace = true;\n      } else {\n        widths = glyphWidths(); // expand lazy widths array\n      }\n\n      return {\n        defaultWidth,\n        monospace,\n        widths,\n      };\n    },\n\n    buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(\n      widthsByGlyphName,\n      properties\n    ) {\n      var widths = Object.create(null);\n      var differences = properties.differences;\n      var encoding = properties.defaultEncoding;\n      for (var charCode = 0; charCode < 256; charCode++) {\n        if (\n          charCode in differences &&\n          widthsByGlyphName[differences[charCode]]\n        ) {\n          widths[charCode] = widthsByGlyphName[differences[charCode]];\n          continue;\n        }\n        if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n          widths[charCode] = widthsByGlyphName[encoding[charCode]];\n          continue;\n        }\n      }\n      return widths;\n    },\n\n    preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n      var baseDict = dict;\n      var type = dict.get(\"Subtype\");\n      if (!isName(type)) {\n        throw new FormatError(\"invalid font Subtype\");\n      }\n\n      var composite = false;\n      var uint8array;\n      if (type.name === \"Type0\") {\n        // If font is a composite\n        //  - get the descendant font\n        //  - set the type according to the descendant font\n        //  - get the FontDescriptor from the descendant font\n        var df = dict.get(\"DescendantFonts\");\n        if (!df) {\n          throw new FormatError(\"Descendant fonts are not specified\");\n        }\n        dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n\n        type = dict.get(\"Subtype\");\n        if (!isName(type)) {\n          throw new FormatError(\"invalid font Subtype\");\n        }\n        composite = true;\n      }\n\n      var descriptor = dict.get(\"FontDescriptor\");\n      if (descriptor) {\n        var hash = new MurmurHash3_64();\n        var encoding = baseDict.getRaw(\"Encoding\");\n        if (isName(encoding)) {\n          hash.update(encoding.name);\n        } else if (isRef(encoding)) {\n          hash.update(encoding.toString());\n        } else if (isDict(encoding)) {\n          var keys = encoding.getKeys();\n          for (var i = 0, ii = keys.length; i < ii; i++) {\n            var entry = encoding.getRaw(keys[i]);\n            if (isName(entry)) {\n              hash.update(entry.name);\n            } else if (isRef(entry)) {\n              hash.update(entry.toString());\n            } else if (Array.isArray(entry)) {\n              // 'Differences' array (fixes bug1157493.pdf).\n              var diffLength = entry.length,\n                diffBuf = new Array(diffLength);\n\n              for (var j = 0; j < diffLength; j++) {\n                var diffEntry = entry[j];\n                if (isName(diffEntry)) {\n                  diffBuf[j] = diffEntry.name;\n                } else if (isNum(diffEntry) || isRef(diffEntry)) {\n                  diffBuf[j] = diffEntry.toString();\n                }\n              }\n              hash.update(diffBuf.join());\n            }\n          }\n        }\n\n        const firstChar = dict.get(\"FirstChar\") || 0;\n        const lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n        hash.update(`${firstChar}-${lastChar}`);\n\n        var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n        if (isStream(toUnicode)) {\n          var stream = toUnicode.str || toUnicode;\n          uint8array = stream.buffer\n            ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength)\n            : new Uint8Array(\n                stream.bytes.buffer,\n                stream.start,\n                stream.end - stream.start\n              );\n          hash.update(uint8array);\n        } else if (isName(toUnicode)) {\n          hash.update(toUnicode.name);\n        }\n\n        var widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n        if (widths) {\n          uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n          hash.update(uint8array);\n        }\n      }\n\n      return {\n        descriptor,\n        dict,\n        baseDict,\n        composite,\n        type: type.name,\n        hash: hash ? hash.hexdigest() : \"\",\n      };\n    },\n\n    translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n      var baseDict = preEvaluatedFont.baseDict;\n      var dict = preEvaluatedFont.dict;\n      var composite = preEvaluatedFont.composite;\n      var descriptor = preEvaluatedFont.descriptor;\n      var type = preEvaluatedFont.type;\n      var maxCharIndex = composite ? 0xffff : 0xff;\n      var properties;\n      const firstChar = dict.get(\"FirstChar\") || 0;\n      const lastChar = dict.get(\"LastChar\") || maxCharIndex;\n\n      if (!descriptor) {\n        if (type === \"Type3\") {\n          // FontDescriptor is only required for Type3 fonts when the document\n          // is a tagged pdf. Create a barbebones one to get by.\n          descriptor = new Dict(null);\n          descriptor.set(\"FontName\", Name.get(type));\n          descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n        } else {\n          // Before PDF 1.5 if the font was one of the base 14 fonts, having a\n          // FontDescriptor was not required.\n          // This case is here for compatibility.\n          var baseFontName = dict.get(\"BaseFont\");\n          if (!isName(baseFontName)) {\n            throw new FormatError(\"Base font is not specified\");\n          }\n\n          // Using base font name as a font name.\n          baseFontName = baseFontName.name.replace(/[,_]/g, \"-\");\n          var metrics = this.getBaseFontMetrics(baseFontName);\n\n          // Simulating descriptor flags attribute\n          var fontNameWoStyle = baseFontName.split(\"-\")[0];\n          var flags =\n            (this.isSerifFont(fontNameWoStyle) ? FontFlags.Serif : 0) |\n            (metrics.monospace ? FontFlags.FixedPitch : 0) |\n            (getSymbolsFonts()[fontNameWoStyle]\n              ? FontFlags.Symbolic\n              : FontFlags.Nonsymbolic);\n\n          properties = {\n            type,\n            name: baseFontName,\n            widths: metrics.widths,\n            defaultWidth: metrics.defaultWidth,\n            flags,\n            firstChar,\n            lastChar,\n          };\n          const widths = dict.get(\"Widths\");\n          return this.extractDataStructures(dict, dict, properties).then(\n            properties => {\n              if (widths) {\n                const glyphWidths = [];\n                let j = firstChar;\n                for (let i = 0, ii = widths.length; i < ii; i++) {\n                  glyphWidths[j++] = this.xref.fetchIfRef(widths[i]);\n                }\n                properties.widths = glyphWidths;\n              } else {\n                properties.widths = this.buildCharCodeToWidth(\n                  metrics.widths,\n                  properties\n                );\n              }\n              return new Font(baseFontName, null, properties);\n            }\n          );\n        }\n      }\n\n      // According to the spec if 'FontDescriptor' is declared, 'FirstChar',\n      // 'LastChar' and 'Widths' should exist too, but some PDF encoders seem\n      // to ignore this rule when a variant of a standard font is used.\n      // TODO Fill the width array depending on which of the base font this is\n      // a variant.\n\n      var fontName = descriptor.get(\"FontName\");\n      var baseFont = dict.get(\"BaseFont\");\n      // Some bad PDFs have a string as the font name.\n      if (isString(fontName)) {\n        fontName = Name.get(fontName);\n      }\n      if (isString(baseFont)) {\n        baseFont = Name.get(baseFont);\n      }\n\n      if (type !== \"Type3\") {\n        var fontNameStr = fontName && fontName.name;\n        var baseFontStr = baseFont && baseFont.name;\n        if (fontNameStr !== baseFontStr) {\n          info(\n            `The FontDescriptor\\'s FontName is \"${fontNameStr}\" but ` +\n              `should be the same as the Font\\'s BaseFont \"${baseFontStr}\".`\n          );\n          // Workaround for cases where e.g. fontNameStr = 'Arial' and\n          // baseFontStr = 'Arial,Bold' (needed when no font file is embedded).\n          if (\n            fontNameStr &&\n            baseFontStr &&\n            baseFontStr.startsWith(fontNameStr)\n          ) {\n            fontName = baseFont;\n          }\n        }\n      }\n      fontName = fontName || baseFont;\n\n      if (!isName(fontName)) {\n        throw new FormatError(\"invalid font name\");\n      }\n\n      var fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n      if (fontFile) {\n        if (fontFile.dict) {\n          var subtype = fontFile.dict.get(\"Subtype\");\n          if (subtype) {\n            subtype = subtype.name;\n          }\n          var length1 = fontFile.dict.get(\"Length1\");\n          var length2 = fontFile.dict.get(\"Length2\");\n          var length3 = fontFile.dict.get(\"Length3\");\n        }\n      }\n\n      properties = {\n        type,\n        name: fontName.name,\n        subtype,\n        file: fontFile,\n        length1,\n        length2,\n        length3,\n        loadedName: baseDict.loadedName,\n        composite,\n        wideChars: composite,\n        fixedPitch: false,\n        fontMatrix: dict.getArray(\"FontMatrix\") || FONT_IDENTITY_MATRIX,\n        firstChar: firstChar || 0,\n        lastChar: lastChar || maxCharIndex,\n        bbox: descriptor.getArray(\"FontBBox\"),\n        ascent: descriptor.get(\"Ascent\"),\n        descent: descriptor.get(\"Descent\"),\n        xHeight: descriptor.get(\"XHeight\"),\n        capHeight: descriptor.get(\"CapHeight\"),\n        flags: descriptor.get(\"Flags\"),\n        italicAngle: descriptor.get(\"ItalicAngle\"),\n        isType3Font: false,\n      };\n\n      var cMapPromise;\n      if (composite) {\n        var cidEncoding = baseDict.get(\"Encoding\");\n        if (isName(cidEncoding)) {\n          properties.cidEncoding = cidEncoding.name;\n        }\n        cMapPromise = CMapFactory.create({\n          encoding: cidEncoding,\n          fetchBuiltInCMap: this.fetchBuiltInCMap,\n          useCMap: null,\n        }).then(function(cMap) {\n          properties.cMap = cMap;\n          properties.vertical = properties.cMap.vertical;\n        });\n      } else {\n        cMapPromise = Promise.resolve(undefined);\n      }\n\n      return cMapPromise\n        .then(() => {\n          return this.extractDataStructures(dict, baseDict, properties);\n        })\n        .then(properties => {\n          this.extractWidths(dict, descriptor, properties);\n\n          if (type === \"Type3\") {\n            properties.isType3Font = true;\n          }\n          return new Font(fontName.name, fontFile, properties);\n        });\n    },\n  };\n\n  PartialEvaluator.buildFontPaths = function(font, glyphs, handler) {\n    function buildPath(fontChar) {\n      if (font.renderer.hasBuiltPath(fontChar)) {\n        return;\n      }\n      handler.send(\"commonobj\", [\n        `${font.loadedName}_path_${fontChar}`,\n        \"FontPath\",\n        font.renderer.getPathJs(fontChar),\n      ]);\n    }\n\n    for (const glyph of glyphs) {\n      buildPath(glyph.fontChar);\n\n      // If the glyph has an accent we need to build a path for its\n      // fontChar too, otherwise CanvasGraphics_paintChar will fail.\n      const accent = glyph.accent;\n      if (accent && accent.fontChar) {\n        buildPath(accent.fontChar);\n      }\n    }\n  };\n\n  // TODO: Change this to a `static` getter, using shadowing, once\n  //       `PartialEvaluator` is converted to a proper class.\n  PartialEvaluator.getFallbackFontDict = function() {\n    if (this._fallbackFontDict) {\n      return this._fallbackFontDict;\n    }\n    const dict = new Dict();\n    dict.set(\"BaseFont\", Name.get(\"PDFJS-FallbackFont\"));\n    dict.set(\"Type\", Name.get(\"FallbackType\"));\n    dict.set(\"Subtype\", Name.get(\"FallbackType\"));\n    dict.set(\"Encoding\", Name.get(\"WinAnsiEncoding\"));\n\n    return (this._fallbackFontDict = dict);\n  };\n\n  return PartialEvaluator;\n})();\n\nvar TranslatedFont = (function TranslatedFontClosure() {\n  function TranslatedFont(loadedName, font, dict) {\n    this.loadedName = loadedName;\n    this.font = font;\n    this.dict = dict;\n    this.type3Loaded = null;\n    this.sent = false;\n  }\n  TranslatedFont.prototype = {\n    send(handler) {\n      if (this.sent) {\n        return;\n      }\n      this.sent = true;\n\n      handler.send(\"commonobj\", [\n        this.loadedName,\n        \"Font\",\n        this.font.exportData(),\n      ]);\n    },\n\n    fallback(handler) {\n      if (!this.font.data) {\n        return;\n      }\n      // When font loading failed, fall back to the built-in font renderer.\n      this.font.disableFontFace = true;\n      // An arbitrary number of text rendering operators could have been\n      // encountered between the point in time when the 'Font' message was sent\n      // to the main-thread, and the point in time when the 'FontFallback'\n      // message was received on the worker-thread.\n      // To ensure that all 'FontPath's are available on the main-thread, when\n      // font loading failed, attempt to resend *all* previously parsed glyphs.\n      const glyphs = this.font.glyphCacheValues;\n      PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n    },\n\n    loadType3Data(evaluator, resources, parentOperatorList, task) {\n      if (!this.font.isType3Font) {\n        throw new Error(\"Must be a Type3 font.\");\n      }\n\n      if (this.type3Loaded) {\n        return this.type3Loaded;\n      }\n      // When parsing Type3 glyphs, always ignore them if there are errors.\n      // Compared to the parsing of e.g. an entire page, it doesn't really\n      // make sense to only be able to render a Type3 glyph partially.\n      //\n      // Also, ensure that any Type3 image resources (which should be very rare\n      // in practice) are completely decoded on the worker-thread, to simplify\n      // the rendering code on the main-thread (see issue10717.pdf).\n      var type3Options = Object.create(evaluator.options);\n      type3Options.ignoreErrors = false;\n      type3Options.nativeImageDecoderSupport = NativeImageDecoding.NONE;\n      var type3Evaluator = evaluator.clone(type3Options);\n      type3Evaluator.parsingType3Font = true;\n\n      var translatedFont = this.font;\n      var loadCharProcsPromise = Promise.resolve();\n      var charProcs = this.dict.get(\"CharProcs\");\n      var fontResources = this.dict.get(\"Resources\") || resources;\n      var charProcKeys = charProcs.getKeys();\n      var charProcOperatorList = Object.create(null);\n\n      for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n        const key = charProcKeys[i];\n        loadCharProcsPromise = loadCharProcsPromise.then(function() {\n          var glyphStream = charProcs.get(key);\n          var operatorList = new OperatorList();\n          return type3Evaluator\n            .getOperatorList({\n              stream: glyphStream,\n              task,\n              resources: fontResources,\n              operatorList,\n            })\n            .then(function() {\n              charProcOperatorList[key] = operatorList.getIR();\n\n              // Add the dependencies to the parent operator list so they are\n              // resolved before sub operator list is executed synchronously.\n              parentOperatorList.addDependencies(operatorList.dependencies);\n            })\n            .catch(function(reason) {\n              warn(`Type3 font resource \"${key}\" is not available.`);\n              var operatorList = new OperatorList();\n              charProcOperatorList[key] = operatorList.getIR();\n            });\n        });\n      }\n      this.type3Loaded = loadCharProcsPromise.then(function() {\n        translatedFont.charProcOperatorList = charProcOperatorList;\n      });\n      return this.type3Loaded;\n    },\n  };\n  return TranslatedFont;\n})();\n\nvar StateManager = (function StateManagerClosure() {\n  function StateManager(initialState) {\n    this.state = initialState;\n    this.stateStack = [];\n  }\n  StateManager.prototype = {\n    save() {\n      var old = this.state;\n      this.stateStack.push(this.state);\n      this.state = old.clone();\n    },\n    restore() {\n      var prev = this.stateStack.pop();\n      if (prev) {\n        this.state = prev;\n      }\n    },\n    transform(args) {\n      this.state.ctm = Util.transform(this.state.ctm, args);\n    },\n  };\n  return StateManager;\n})();\n\nvar TextState = (function TextStateClosure() {\n  function TextState() {\n    this.ctm = new Float32Array(IDENTITY_MATRIX);\n    this.fontName = null;\n    this.fontSize = 0;\n    this.font = null;\n    this.fontMatrix = FONT_IDENTITY_MATRIX;\n    this.textMatrix = IDENTITY_MATRIX.slice();\n    this.textLineMatrix = IDENTITY_MATRIX.slice();\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.leading = 0;\n    this.textHScale = 1;\n    this.textRise = 0;\n  }\n\n  TextState.prototype = {\n    setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    },\n    setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textLineMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    },\n    translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n      var m = this.textMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    },\n    translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n      var m = this.textLineMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    },\n    calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(\n      a,\n      b,\n      c,\n      d,\n      e,\n      f\n    ) {\n      var font = this.font;\n      if (!font) {\n        return null;\n      }\n      var m = this.textLineMatrix;\n      if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n        return null;\n      }\n      var txDiff = e - m[4],\n        tyDiff = f - m[5];\n      if ((font.vertical && txDiff !== 0) || (!font.vertical && tyDiff !== 0)) {\n        return null;\n      }\n      var tx,\n        ty,\n        denominator = a * d - b * c;\n      if (font.vertical) {\n        tx = (-tyDiff * c) / denominator;\n        ty = (tyDiff * a) / denominator;\n      } else {\n        tx = (txDiff * d) / denominator;\n        ty = (-txDiff * b) / denominator;\n      }\n      return { width: tx, height: ty, value: font.vertical ? ty : tx };\n    },\n    calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n      // 9.4.4 Text Space Details\n      var tsm = [\n        this.fontSize * this.textHScale,\n        0,\n        0,\n        this.fontSize,\n        0,\n        this.textRise,\n      ];\n      return Util.transform(ctm, Util.transform(this.textMatrix, tsm));\n    },\n    carriageReturn: function TextState_carriageReturn() {\n      this.translateTextLineMatrix(0, -this.leading);\n      this.textMatrix = this.textLineMatrix.slice();\n    },\n    clone: function TextState_clone() {\n      var clone = Object.create(this);\n      clone.textMatrix = this.textMatrix.slice();\n      clone.textLineMatrix = this.textLineMatrix.slice();\n      clone.fontMatrix = this.fontMatrix.slice();\n      return clone;\n    },\n  };\n  return TextState;\n})();\n\nvar EvalState = (function EvalStateClosure() {\n  function EvalState() {\n    this.ctm = new Float32Array(IDENTITY_MATRIX);\n    this.font = null;\n    this.textRenderingMode = TextRenderingMode.FILL;\n    this.fillColorSpace = ColorSpace.singletons.gray;\n    this.strokeColorSpace = ColorSpace.singletons.gray;\n  }\n  EvalState.prototype = {\n    clone: function CanvasExtraState_clone() {\n      return Object.create(this);\n    },\n  };\n  return EvalState;\n})();\n\nvar EvaluatorPreprocessor = (function EvaluatorPreprocessorClosure() {\n  // Specifies properties for each command\n  //\n  // If variableArgs === true: [0, `numArgs`] expected\n  // If variableArgs === false: exactly `numArgs` expected\n  var getOPMap = getLookupTableFactory(function(t) {\n    // Graphic state\n    t[\"w\"] = { id: OPS.setLineWidth, numArgs: 1, variableArgs: false };\n    t[\"J\"] = { id: OPS.setLineCap, numArgs: 1, variableArgs: false };\n    t[\"j\"] = { id: OPS.setLineJoin, numArgs: 1, variableArgs: false };\n    t[\"M\"] = { id: OPS.setMiterLimit, numArgs: 1, variableArgs: false };\n    t[\"d\"] = { id: OPS.setDash, numArgs: 2, variableArgs: false };\n    t[\"ri\"] = { id: OPS.setRenderingIntent, numArgs: 1, variableArgs: false };\n    t[\"i\"] = { id: OPS.setFlatness, numArgs: 1, variableArgs: false };\n    t[\"gs\"] = { id: OPS.setGState, numArgs: 1, variableArgs: false };\n    t[\"q\"] = { id: OPS.save, numArgs: 0, variableArgs: false };\n    t[\"Q\"] = { id: OPS.restore, numArgs: 0, variableArgs: false };\n    t[\"cm\"] = { id: OPS.transform, numArgs: 6, variableArgs: false };\n\n    // Path\n    t[\"m\"] = { id: OPS.moveTo, numArgs: 2, variableArgs: false };\n    t[\"l\"] = { id: OPS.lineTo, numArgs: 2, variableArgs: false };\n    t[\"c\"] = { id: OPS.curveTo, numArgs: 6, variableArgs: false };\n    t[\"v\"] = { id: OPS.curveTo2, numArgs: 4, variableArgs: false };\n    t[\"y\"] = { id: OPS.curveTo3, numArgs: 4, variableArgs: false };\n    t[\"h\"] = { id: OPS.closePath, numArgs: 0, variableArgs: false };\n    t[\"re\"] = { id: OPS.rectangle, numArgs: 4, variableArgs: false };\n    t[\"S\"] = { id: OPS.stroke, numArgs: 0, variableArgs: false };\n    t[\"s\"] = { id: OPS.closeStroke, numArgs: 0, variableArgs: false };\n    t[\"f\"] = { id: OPS.fill, numArgs: 0, variableArgs: false };\n    t[\"F\"] = { id: OPS.fill, numArgs: 0, variableArgs: false };\n    t[\"f*\"] = { id: OPS.eoFill, numArgs: 0, variableArgs: false };\n    t[\"B\"] = { id: OPS.fillStroke, numArgs: 0, variableArgs: false };\n    t[\"B*\"] = { id: OPS.eoFillStroke, numArgs: 0, variableArgs: false };\n    t[\"b\"] = { id: OPS.closeFillStroke, numArgs: 0, variableArgs: false };\n    t[\"b*\"] = { id: OPS.closeEOFillStroke, numArgs: 0, variableArgs: false };\n    t[\"n\"] = { id: OPS.endPath, numArgs: 0, variableArgs: false };\n\n    // Clipping\n    t[\"W\"] = { id: OPS.clip, numArgs: 0, variableArgs: false };\n    t[\"W*\"] = { id: OPS.eoClip, numArgs: 0, variableArgs: false };\n\n    // Text\n    t[\"BT\"] = { id: OPS.beginText, numArgs: 0, variableArgs: false };\n    t[\"ET\"] = { id: OPS.endText, numArgs: 0, variableArgs: false };\n    t[\"Tc\"] = { id: OPS.setCharSpacing, numArgs: 1, variableArgs: false };\n    t[\"Tw\"] = { id: OPS.setWordSpacing, numArgs: 1, variableArgs: false };\n    t[\"Tz\"] = { id: OPS.setHScale, numArgs: 1, variableArgs: false };\n    t[\"TL\"] = { id: OPS.setLeading, numArgs: 1, variableArgs: false };\n    t[\"Tf\"] = { id: OPS.setFont, numArgs: 2, variableArgs: false };\n    t[\"Tr\"] = { id: OPS.setTextRenderingMode, numArgs: 1, variableArgs: false };\n    t[\"Ts\"] = { id: OPS.setTextRise, numArgs: 1, variableArgs: false };\n    t[\"Td\"] = { id: OPS.moveText, numArgs: 2, variableArgs: false };\n    t[\"TD\"] = { id: OPS.setLeadingMoveText, numArgs: 2, variableArgs: false };\n    t[\"Tm\"] = { id: OPS.setTextMatrix, numArgs: 6, variableArgs: false };\n    t[\"T*\"] = { id: OPS.nextLine, numArgs: 0, variableArgs: false };\n    t[\"Tj\"] = { id: OPS.showText, numArgs: 1, variableArgs: false };\n    t[\"TJ\"] = { id: OPS.showSpacedText, numArgs: 1, variableArgs: false };\n    t[\"'\"] = { id: OPS.nextLineShowText, numArgs: 1, variableArgs: false };\n    t['\"'] = {\n      id: OPS.nextLineSetSpacingShowText,\n      numArgs: 3,\n      variableArgs: false,\n    };\n\n    // Type3 fonts\n    t[\"d0\"] = { id: OPS.setCharWidth, numArgs: 2, variableArgs: false };\n    t[\"d1\"] = {\n      id: OPS.setCharWidthAndBounds,\n      numArgs: 6,\n      variableArgs: false,\n    };\n\n    // Color\n    t[\"CS\"] = { id: OPS.setStrokeColorSpace, numArgs: 1, variableArgs: false };\n    t[\"cs\"] = { id: OPS.setFillColorSpace, numArgs: 1, variableArgs: false };\n    t[\"SC\"] = { id: OPS.setStrokeColor, numArgs: 4, variableArgs: true };\n    t[\"SCN\"] = { id: OPS.setStrokeColorN, numArgs: 33, variableArgs: true };\n    t[\"sc\"] = { id: OPS.setFillColor, numArgs: 4, variableArgs: true };\n    t[\"scn\"] = { id: OPS.setFillColorN, numArgs: 33, variableArgs: true };\n    t[\"G\"] = { id: OPS.setStrokeGray, numArgs: 1, variableArgs: false };\n    t[\"g\"] = { id: OPS.setFillGray, numArgs: 1, variableArgs: false };\n    t[\"RG\"] = { id: OPS.setStrokeRGBColor, numArgs: 3, variableArgs: false };\n    t[\"rg\"] = { id: OPS.setFillRGBColor, numArgs: 3, variableArgs: false };\n    t[\"K\"] = { id: OPS.setStrokeCMYKColor, numArgs: 4, variableArgs: false };\n    t[\"k\"] = { id: OPS.setFillCMYKColor, numArgs: 4, variableArgs: false };\n\n    // Shading\n    t[\"sh\"] = { id: OPS.shadingFill, numArgs: 1, variableArgs: false };\n\n    // Images\n    t[\"BI\"] = { id: OPS.beginInlineImage, numArgs: 0, variableArgs: false };\n    t[\"ID\"] = { id: OPS.beginImageData, numArgs: 0, variableArgs: false };\n    t[\"EI\"] = { id: OPS.endInlineImage, numArgs: 1, variableArgs: false };\n\n    // XObjects\n    t[\"Do\"] = { id: OPS.paintXObject, numArgs: 1, variableArgs: false };\n    t[\"MP\"] = { id: OPS.markPoint, numArgs: 1, variableArgs: false };\n    t[\"DP\"] = { id: OPS.markPointProps, numArgs: 2, variableArgs: false };\n    t[\"BMC\"] = { id: OPS.beginMarkedContent, numArgs: 1, variableArgs: false };\n    t[\"BDC\"] = {\n      id: OPS.beginMarkedContentProps,\n      numArgs: 2,\n      variableArgs: false,\n    };\n    t[\"EMC\"] = { id: OPS.endMarkedContent, numArgs: 0, variableArgs: false };\n\n    // Compatibility\n    t[\"BX\"] = { id: OPS.beginCompat, numArgs: 0, variableArgs: false };\n    t[\"EX\"] = { id: OPS.endCompat, numArgs: 0, variableArgs: false };\n\n    // (reserved partial commands for the lexer)\n    t[\"BM\"] = null;\n    t[\"BD\"] = null;\n    t[\"true\"] = null;\n    t[\"fa\"] = null;\n    t[\"fal\"] = null;\n    t[\"fals\"] = null;\n    t[\"false\"] = null;\n    t[\"nu\"] = null;\n    t[\"nul\"] = null;\n    t[\"null\"] = null;\n  });\n\n  const MAX_INVALID_PATH_OPS = 20;\n\n  function EvaluatorPreprocessor(stream, xref, stateManager) {\n    this.opMap = getOPMap();\n    // TODO(mduan): pass array of knownCommands rather than this.opMap\n    // dictionary\n    this.parser = new Parser({\n      lexer: new Lexer(stream, this.opMap),\n      xref,\n    });\n    this.stateManager = stateManager;\n    this.nonProcessedArgs = [];\n    this._numInvalidPathOPS = 0;\n  }\n\n  EvaluatorPreprocessor.prototype = {\n    get savedStatesDepth() {\n      return this.stateManager.stateStack.length;\n    },\n\n    // |operation| is an object with two fields:\n    //\n    // - |fn| is an out param.\n    //\n    // - |args| is an inout param. On entry, it should have one of two values.\n    //\n    //   - An empty array. This indicates that the caller is providing the\n    //     array in which the args will be stored in. The caller should use\n    //     this value if it can reuse a single array for each call to read().\n    //\n    //   - |null|. This indicates that the caller needs this function to create\n    //     the array in which any args are stored in. If there are zero args,\n    //     this function will leave |operation.args| as |null| (thus avoiding\n    //     allocations that would occur if we used an empty array to represent\n    //     zero arguments). Otherwise, it will replace |null| with a new array\n    //     containing the arguments. The caller should use this value if it\n    //     cannot reuse an array for each call to read().\n    //\n    // These two modes are present because this function is very hot and so\n    // avoiding allocations where possible is worthwhile.\n    //\n    read: function EvaluatorPreprocessor_read(operation) {\n      var args = operation.args;\n      while (true) {\n        var obj = this.parser.getObj();\n        if (obj instanceof Cmd) {\n          var cmd = obj.cmd;\n          // Check that the command is valid\n          var opSpec = this.opMap[cmd];\n          if (!opSpec) {\n            warn(`Unknown command \"${cmd}\".`);\n            continue;\n          }\n\n          var fn = opSpec.id;\n          var numArgs = opSpec.numArgs;\n          var argsLength = args !== null ? args.length : 0;\n\n          if (!opSpec.variableArgs) {\n            // Postscript commands can be nested, e.g. /F2 /GS2 gs 5.711 Tf\n            if (argsLength !== numArgs) {\n              var nonProcessedArgs = this.nonProcessedArgs;\n              while (argsLength > numArgs) {\n                nonProcessedArgs.push(args.shift());\n                argsLength--;\n              }\n              while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n                if (args === null) {\n                  args = [];\n                }\n                args.unshift(nonProcessedArgs.pop());\n                argsLength++;\n              }\n            }\n\n            if (argsLength < numArgs) {\n              const partialMsg =\n                `command ${cmd}: expected ${numArgs} args, ` +\n                `but received ${argsLength} args.`;\n\n              // Incomplete path operators, in particular, can result in fairly\n              // chaotic rendering artifacts. Hence the following heuristics is\n              // used to error, rather than just warn, once a number of invalid\n              // path operators have been encountered (fixes bug1443140.pdf).\n              if (\n                fn >= OPS.moveTo &&\n                fn <= OPS.endPath && // Path operator\n                ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS\n              ) {\n                throw new FormatError(`Invalid ${partialMsg}`);\n              }\n              // If we receive too few arguments, it's not possible to execute\n              // the command, hence we skip the command.\n              warn(`Skipping ${partialMsg}`);\n              if (args !== null) {\n                args.length = 0;\n              }\n              continue;\n            }\n          } else if (argsLength > numArgs) {\n            info(\n              `Command ${cmd}: expected [0, ${numArgs}] args, ` +\n                `but received ${argsLength} args.`\n            );\n          }\n\n          // TODO figure out how to type-check vararg functions\n          this.preprocessCommand(fn, args);\n\n          operation.fn = fn;\n          operation.args = args;\n          return true;\n        }\n        if (obj === EOF) {\n          return false; // no more commands\n        }\n        // argument\n        if (obj !== null) {\n          if (args === null) {\n            args = [];\n          }\n          args.push(obj);\n          if (args.length > 33) {\n            throw new FormatError(\"Too many arguments\");\n          }\n        }\n      }\n    },\n\n    preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(\n      fn,\n      args\n    ) {\n      switch (fn | 0) {\n        case OPS.save:\n          this.stateManager.save();\n          break;\n        case OPS.restore:\n          this.stateManager.restore();\n          break;\n        case OPS.transform:\n          this.stateManager.transform(args);\n          break;\n      }\n    },\n  };\n  return EvaluatorPreprocessor;\n})();\n\nexport { PartialEvaluator };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  CMapCompressionType,\n  FormatError,\n  isString,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport { isCmd, isEOF, isName, isStream } from \"./primitives.js\";\nimport { Lexer } from \"./parser.js\";\nimport { MissingDataException } from \"./core_utils.js\";\nimport { Stream } from \"./stream.js\";\n\nvar BUILT_IN_CMAPS = [\n  // << Start unicode maps.\n  \"Adobe-GB1-UCS2\",\n  \"Adobe-CNS1-UCS2\",\n  \"Adobe-Japan1-UCS2\",\n  \"Adobe-Korea1-UCS2\",\n  // >> End unicode maps.\n  \"78-EUC-H\",\n  \"78-EUC-V\",\n  \"78-H\",\n  \"78-RKSJ-H\",\n  \"78-RKSJ-V\",\n  \"78-V\",\n  \"78ms-RKSJ-H\",\n  \"78ms-RKSJ-V\",\n  \"83pv-RKSJ-H\",\n  \"90ms-RKSJ-H\",\n  \"90ms-RKSJ-V\",\n  \"90msp-RKSJ-H\",\n  \"90msp-RKSJ-V\",\n  \"90pv-RKSJ-H\",\n  \"90pv-RKSJ-V\",\n  \"Add-H\",\n  \"Add-RKSJ-H\",\n  \"Add-RKSJ-V\",\n  \"Add-V\",\n  \"Adobe-CNS1-0\",\n  \"Adobe-CNS1-1\",\n  \"Adobe-CNS1-2\",\n  \"Adobe-CNS1-3\",\n  \"Adobe-CNS1-4\",\n  \"Adobe-CNS1-5\",\n  \"Adobe-CNS1-6\",\n  \"Adobe-GB1-0\",\n  \"Adobe-GB1-1\",\n  \"Adobe-GB1-2\",\n  \"Adobe-GB1-3\",\n  \"Adobe-GB1-4\",\n  \"Adobe-GB1-5\",\n  \"Adobe-Japan1-0\",\n  \"Adobe-Japan1-1\",\n  \"Adobe-Japan1-2\",\n  \"Adobe-Japan1-3\",\n  \"Adobe-Japan1-4\",\n  \"Adobe-Japan1-5\",\n  \"Adobe-Japan1-6\",\n  \"Adobe-Korea1-0\",\n  \"Adobe-Korea1-1\",\n  \"Adobe-Korea1-2\",\n  \"B5-H\",\n  \"B5-V\",\n  \"B5pc-H\",\n  \"B5pc-V\",\n  \"CNS-EUC-H\",\n  \"CNS-EUC-V\",\n  \"CNS1-H\",\n  \"CNS1-V\",\n  \"CNS2-H\",\n  \"CNS2-V\",\n  \"ETHK-B5-H\",\n  \"ETHK-B5-V\",\n  \"ETen-B5-H\",\n  \"ETen-B5-V\",\n  \"ETenms-B5-H\",\n  \"ETenms-B5-V\",\n  \"EUC-H\",\n  \"EUC-V\",\n  \"Ext-H\",\n  \"Ext-RKSJ-H\",\n  \"Ext-RKSJ-V\",\n  \"Ext-V\",\n  \"GB-EUC-H\",\n  \"GB-EUC-V\",\n  \"GB-H\",\n  \"GB-V\",\n  \"GBK-EUC-H\",\n  \"GBK-EUC-V\",\n  \"GBK2K-H\",\n  \"GBK2K-V\",\n  \"GBKp-EUC-H\",\n  \"GBKp-EUC-V\",\n  \"GBT-EUC-H\",\n  \"GBT-EUC-V\",\n  \"GBT-H\",\n  \"GBT-V\",\n  \"GBTpc-EUC-H\",\n  \"GBTpc-EUC-V\",\n  \"GBpc-EUC-H\",\n  \"GBpc-EUC-V\",\n  \"H\",\n  \"HKdla-B5-H\",\n  \"HKdla-B5-V\",\n  \"HKdlb-B5-H\",\n  \"HKdlb-B5-V\",\n  \"HKgccs-B5-H\",\n  \"HKgccs-B5-V\",\n  \"HKm314-B5-H\",\n  \"HKm314-B5-V\",\n  \"HKm471-B5-H\",\n  \"HKm471-B5-V\",\n  \"HKscs-B5-H\",\n  \"HKscs-B5-V\",\n  \"Hankaku\",\n  \"Hiragana\",\n  \"KSC-EUC-H\",\n  \"KSC-EUC-V\",\n  \"KSC-H\",\n  \"KSC-Johab-H\",\n  \"KSC-Johab-V\",\n  \"KSC-V\",\n  \"KSCms-UHC-H\",\n  \"KSCms-UHC-HW-H\",\n  \"KSCms-UHC-HW-V\",\n  \"KSCms-UHC-V\",\n  \"KSCpc-EUC-H\",\n  \"KSCpc-EUC-V\",\n  \"Katakana\",\n  \"NWP-H\",\n  \"NWP-V\",\n  \"RKSJ-H\",\n  \"RKSJ-V\",\n  \"Roman\",\n  \"UniCNS-UCS2-H\",\n  \"UniCNS-UCS2-V\",\n  \"UniCNS-UTF16-H\",\n  \"UniCNS-UTF16-V\",\n  \"UniCNS-UTF32-H\",\n  \"UniCNS-UTF32-V\",\n  \"UniCNS-UTF8-H\",\n  \"UniCNS-UTF8-V\",\n  \"UniGB-UCS2-H\",\n  \"UniGB-UCS2-V\",\n  \"UniGB-UTF16-H\",\n  \"UniGB-UTF16-V\",\n  \"UniGB-UTF32-H\",\n  \"UniGB-UTF32-V\",\n  \"UniGB-UTF8-H\",\n  \"UniGB-UTF8-V\",\n  \"UniJIS-UCS2-H\",\n  \"UniJIS-UCS2-HW-H\",\n  \"UniJIS-UCS2-HW-V\",\n  \"UniJIS-UCS2-V\",\n  \"UniJIS-UTF16-H\",\n  \"UniJIS-UTF16-V\",\n  \"UniJIS-UTF32-H\",\n  \"UniJIS-UTF32-V\",\n  \"UniJIS-UTF8-H\",\n  \"UniJIS-UTF8-V\",\n  \"UniJIS2004-UTF16-H\",\n  \"UniJIS2004-UTF16-V\",\n  \"UniJIS2004-UTF32-H\",\n  \"UniJIS2004-UTF32-V\",\n  \"UniJIS2004-UTF8-H\",\n  \"UniJIS2004-UTF8-V\",\n  \"UniJISPro-UCS2-HW-V\",\n  \"UniJISPro-UCS2-V\",\n  \"UniJISPro-UTF8-V\",\n  \"UniJISX0213-UTF32-H\",\n  \"UniJISX0213-UTF32-V\",\n  \"UniJISX02132004-UTF32-H\",\n  \"UniJISX02132004-UTF32-V\",\n  \"UniKS-UCS2-H\",\n  \"UniKS-UCS2-V\",\n  \"UniKS-UTF16-H\",\n  \"UniKS-UTF16-V\",\n  \"UniKS-UTF32-H\",\n  \"UniKS-UTF32-V\",\n  \"UniKS-UTF8-H\",\n  \"UniKS-UTF8-V\",\n  \"V\",\n  \"WP-Symbol\",\n];\n\n// CMap, not to be confused with TrueType's cmap.\nclass CMap {\n  constructor(builtInCMap = false) {\n    // Codespace ranges are stored as follows:\n    // [[1BytePairs], [2BytePairs], [3BytePairs], [4BytePairs]]\n    // where nBytePairs are ranges e.g. [low1, high1, low2, high2, ...]\n    this.codespaceRanges = [[], [], [], []];\n    this.numCodespaceRanges = 0;\n    // Map entries have one of two forms.\n    // - cid chars are 16-bit unsigned integers, stored as integers.\n    // - bf chars are variable-length byte sequences, stored as strings, with\n    //   one byte per character.\n    this._map = [];\n    this.name = \"\";\n    this.vertical = false;\n    this.useCMap = null;\n    this.builtInCMap = builtInCMap;\n  }\n\n  addCodespaceRange(n, low, high) {\n    this.codespaceRanges[n - 1].push(low, high);\n    this.numCodespaceRanges++;\n  }\n\n  mapCidRange(low, high, dstLow) {\n    while (low <= high) {\n      this._map[low++] = dstLow++;\n    }\n  }\n\n  mapBfRange(low, high, dstLow) {\n    var lastByte = dstLow.length - 1;\n    while (low <= high) {\n      this._map[low++] = dstLow;\n      // Only the last byte has to be incremented.\n      dstLow =\n        dstLow.substring(0, lastByte) +\n        String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n    }\n  }\n\n  mapBfRangeToArray(low, high, array) {\n    const ii = array.length;\n    let i = 0;\n    while (low <= high && i < ii) {\n      this._map[low] = array[i++];\n      ++low;\n    }\n  }\n\n  // This is used for both bf and cid chars.\n  mapOne(src, dst) {\n    this._map[src] = dst;\n  }\n\n  lookup(code) {\n    return this._map[code];\n  }\n\n  contains(code) {\n    return this._map[code] !== undefined;\n  }\n\n  forEach(callback) {\n    // Most maps have fewer than 65536 entries, and for those we use normal\n    // array iteration. But really sparse tables are possible -- e.g. with\n    // indices in the *billions*. For such tables we use for..in, which isn't\n    // ideal because it stringifies the indices for all present elements, but\n    // it does avoid iterating over every undefined entry.\n    const map = this._map;\n    const length = map.length;\n    if (length <= 0x10000) {\n      for (let i = 0; i < length; i++) {\n        if (map[i] !== undefined) {\n          callback(i, map[i]);\n        }\n      }\n    } else {\n      for (const i in map) {\n        callback(i, map[i]);\n      }\n    }\n  }\n\n  charCodeOf(value) {\n    // `Array.prototype.indexOf` is *extremely* inefficient for arrays which\n    // are both very sparse and very large (see issue8372.pdf).\n    const map = this._map;\n    if (map.length <= 0x10000) {\n      return map.indexOf(value);\n    }\n    for (const charCode in map) {\n      if (map[charCode] === value) {\n        return charCode | 0;\n      }\n    }\n    return -1;\n  }\n\n  getMap() {\n    return this._map;\n  }\n\n  readCharCode(str, offset, out) {\n    let c = 0;\n    const codespaceRanges = this.codespaceRanges;\n    // 9.7.6.2 CMap Mapping\n    // The code length is at most 4.\n    for (let n = 0, nn = codespaceRanges.length; n < nn; n++) {\n      c = ((c << 8) | str.charCodeAt(offset + n)) >>> 0;\n      // Check each codespace range to see if it falls within.\n      const codespaceRange = codespaceRanges[n];\n      for (let k = 0, kk = codespaceRange.length; k < kk; ) {\n        const low = codespaceRange[k++];\n        const high = codespaceRange[k++];\n        if (c >= low && c <= high) {\n          out.charcode = c;\n          out.length = n + 1;\n          return;\n        }\n      }\n    }\n    out.charcode = 0;\n    out.length = 1;\n  }\n\n  get length() {\n    return this._map.length;\n  }\n\n  get isIdentityCMap() {\n    if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n      return false;\n    }\n    if (this._map.length !== 0x10000) {\n      return false;\n    }\n    for (let i = 0; i < 0x10000; i++) {\n      if (this._map[i] !== i) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\n// A special case of CMap, where the _map array implicitly has a length of\n// 65536 and each element is equal to its index.\nclass IdentityCMap extends CMap {\n  constructor(vertical, n) {\n    super();\n\n    this.vertical = vertical;\n    this.addCodespaceRange(n, 0, 0xffff);\n  }\n\n  mapCidRange(low, high, dstLow) {\n    unreachable(\"should not call mapCidRange\");\n  }\n\n  mapBfRange(low, high, dstLow) {\n    unreachable(\"should not call mapBfRange\");\n  }\n\n  mapBfRangeToArray(low, high, array) {\n    unreachable(\"should not call mapBfRangeToArray\");\n  }\n\n  mapOne(src, dst) {\n    unreachable(\"should not call mapCidOne\");\n  }\n\n  lookup(code) {\n    return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n  }\n\n  contains(code) {\n    return Number.isInteger(code) && code <= 0xffff;\n  }\n\n  forEach(callback) {\n    for (let i = 0; i <= 0xffff; i++) {\n      callback(i, i);\n    }\n  }\n\n  charCodeOf(value) {\n    return Number.isInteger(value) && value <= 0xffff ? value : -1;\n  }\n\n  getMap() {\n    // Sometimes identity maps must be instantiated, but it's rare.\n    const map = new Array(0x10000);\n    for (let i = 0; i <= 0xffff; i++) {\n      map[i] = i;\n    }\n    return map;\n  }\n\n  get length() {\n    return 0x10000;\n  }\n\n  // eslint-disable-next-line getter-return\n  get isIdentityCMap() {\n    unreachable(\"should not access .isIdentityCMap\");\n  }\n}\n\nvar BinaryCMapReader = (function BinaryCMapReaderClosure() {\n  function hexToInt(a, size) {\n    var n = 0;\n    for (var i = 0; i <= size; i++) {\n      n = (n << 8) | a[i];\n    }\n    return n >>> 0;\n  }\n\n  function hexToStr(a, size) {\n    // This code is hot. Special-case some common values to avoid creating an\n    // object with subarray().\n    if (size === 1) {\n      return String.fromCharCode(a[0], a[1]);\n    }\n    if (size === 3) {\n      return String.fromCharCode(a[0], a[1], a[2], a[3]);\n    }\n    return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n  }\n\n  function addHex(a, b, size) {\n    var c = 0;\n    for (var i = size; i >= 0; i--) {\n      c += a[i] + b[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n\n  function incHex(a, size) {\n    var c = 1;\n    for (var i = size; i >= 0 && c > 0; i--) {\n      c += a[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n\n  var MAX_NUM_SIZE = 16;\n  var MAX_ENCODED_NUM_SIZE = 19; // ceil(MAX_NUM_SIZE * 7 / 8)\n\n  function BinaryCMapStream(data) {\n    this.buffer = data;\n    this.pos = 0;\n    this.end = data.length;\n    this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n  }\n\n  BinaryCMapStream.prototype = {\n    readByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n      return this.buffer[this.pos++];\n    },\n    readNumber() {\n      var n = 0;\n      var last;\n      do {\n        var b = this.readByte();\n        if (b < 0) {\n          throw new FormatError(\"unexpected EOF in bcmap\");\n        }\n        last = !(b & 0x80);\n        n = (n << 7) | (b & 0x7f);\n      } while (!last);\n      return n;\n    },\n    readSigned() {\n      var n = this.readNumber();\n      return n & 1 ? ~(n >>> 1) : n >>> 1;\n    },\n    readHex(num, size) {\n      num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n      this.pos += size + 1;\n    },\n    readHexNumber(num, size) {\n      var last;\n      var stack = this.tmpBuf,\n        sp = 0;\n      do {\n        var b = this.readByte();\n        if (b < 0) {\n          throw new FormatError(\"unexpected EOF in bcmap\");\n        }\n        last = !(b & 0x80);\n        stack[sp++] = b & 0x7f;\n      } while (!last);\n      var i = size,\n        buffer = 0,\n        bufferSize = 0;\n      while (i >= 0) {\n        while (bufferSize < 8 && stack.length > 0) {\n          buffer = (stack[--sp] << bufferSize) | buffer;\n          bufferSize += 7;\n        }\n        num[i] = buffer & 255;\n        i--;\n        buffer >>= 8;\n        bufferSize -= 8;\n      }\n    },\n    readHexSigned(num, size) {\n      this.readHexNumber(num, size);\n      var sign = num[size] & 1 ? 255 : 0;\n      var c = 0;\n      for (var i = 0; i <= size; i++) {\n        c = ((c & 1) << 8) | num[i];\n        num[i] = (c >> 1) ^ sign;\n      }\n    },\n    readString() {\n      var len = this.readNumber();\n      var s = \"\";\n      for (var i = 0; i < len; i++) {\n        s += String.fromCharCode(this.readNumber());\n      }\n      return s;\n    },\n  };\n\n  function processBinaryCMap(data, cMap, extend) {\n    return new Promise(function(resolve, reject) {\n      var stream = new BinaryCMapStream(data);\n      var header = stream.readByte();\n      cMap.vertical = !!(header & 1);\n\n      var useCMap = null;\n      var start = new Uint8Array(MAX_NUM_SIZE);\n      var end = new Uint8Array(MAX_NUM_SIZE);\n      var char = new Uint8Array(MAX_NUM_SIZE);\n      var charCode = new Uint8Array(MAX_NUM_SIZE);\n      var tmp = new Uint8Array(MAX_NUM_SIZE);\n      var code;\n\n      var b;\n      while ((b = stream.readByte()) >= 0) {\n        var type = b >> 5;\n        if (type === 7) {\n          // metadata, e.g. comment or usecmap\n          switch (b & 0x1f) {\n            case 0:\n              stream.readString(); // skipping comment\n              break;\n            case 1:\n              useCMap = stream.readString();\n              break;\n          }\n          continue;\n        }\n        var sequence = !!(b & 0x10);\n        var dataSize = b & 15;\n\n        if (dataSize + 1 > MAX_NUM_SIZE) {\n          throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n        }\n\n        var ucs2DataSize = 1;\n        var subitemsCount = stream.readNumber();\n        var i;\n        switch (type) {\n          case 0: // codespacerange\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            cMap.addCodespaceRange(\n              dataSize + 1,\n              hexToInt(start, dataSize),\n              hexToInt(end, dataSize)\n            );\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              cMap.addCodespaceRange(\n                dataSize + 1,\n                hexToInt(start, dataSize),\n                hexToInt(end, dataSize)\n              );\n            }\n            break;\n          case 1: // notdefrange\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            stream.readNumber(); // code\n            // undefined range, skipping\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              stream.readNumber(); // code\n              // nop\n            }\n            break;\n          case 2: // cidchar\n            stream.readHex(char, dataSize);\n            code = stream.readNumber();\n            cMap.mapOne(hexToInt(char, dataSize), code);\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(char, dataSize);\n              if (!sequence) {\n                stream.readHexNumber(tmp, dataSize);\n                addHex(char, tmp, dataSize);\n              }\n              code = stream.readSigned() + (code + 1);\n              cMap.mapOne(hexToInt(char, dataSize), code);\n            }\n            break;\n          case 3: // cidrange\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            code = stream.readNumber();\n            cMap.mapCidRange(\n              hexToInt(start, dataSize),\n              hexToInt(end, dataSize),\n              code\n            );\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              if (!sequence) {\n                stream.readHexNumber(start, dataSize);\n                addHex(start, end, dataSize);\n              } else {\n                start.set(end);\n              }\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              code = stream.readNumber();\n              cMap.mapCidRange(\n                hexToInt(start, dataSize),\n                hexToInt(end, dataSize),\n                code\n              );\n            }\n            break;\n          case 4: // bfchar\n            stream.readHex(char, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapOne(\n              hexToInt(char, ucs2DataSize),\n              hexToStr(charCode, dataSize)\n            );\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(char, ucs2DataSize);\n              if (!sequence) {\n                stream.readHexNumber(tmp, ucs2DataSize);\n                addHex(char, tmp, ucs2DataSize);\n              }\n              incHex(charCode, dataSize);\n              stream.readHexSigned(tmp, dataSize);\n              addHex(charCode, tmp, dataSize);\n              cMap.mapOne(\n                hexToInt(char, ucs2DataSize),\n                hexToStr(charCode, dataSize)\n              );\n            }\n            break;\n          case 5: // bfrange\n            stream.readHex(start, ucs2DataSize);\n            stream.readHexNumber(end, ucs2DataSize);\n            addHex(end, start, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapBfRange(\n              hexToInt(start, ucs2DataSize),\n              hexToInt(end, ucs2DataSize),\n              hexToStr(charCode, dataSize)\n            );\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, ucs2DataSize);\n              if (!sequence) {\n                stream.readHexNumber(start, ucs2DataSize);\n                addHex(start, end, ucs2DataSize);\n              } else {\n                start.set(end);\n              }\n              stream.readHexNumber(end, ucs2DataSize);\n              addHex(end, start, ucs2DataSize);\n              stream.readHex(charCode, dataSize);\n              cMap.mapBfRange(\n                hexToInt(start, ucs2DataSize),\n                hexToInt(end, ucs2DataSize),\n                hexToStr(charCode, dataSize)\n              );\n            }\n            break;\n          default:\n            reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n            return;\n        }\n      }\n\n      if (useCMap) {\n        resolve(extend(useCMap));\n        return;\n      }\n      resolve(cMap);\n    });\n  }\n\n  function BinaryCMapReader() {}\n\n  BinaryCMapReader.prototype = {\n    process: processBinaryCMap,\n  };\n\n  return BinaryCMapReader;\n})();\n\nvar CMapFactory = (function CMapFactoryClosure() {\n  function strToInt(str) {\n    var a = 0;\n    for (var i = 0; i < str.length; i++) {\n      a = (a << 8) | str.charCodeAt(i);\n    }\n    return a >>> 0;\n  }\n\n  function expectString(obj) {\n    if (!isString(obj)) {\n      throw new FormatError(\"Malformed CMap: expected string.\");\n    }\n  }\n\n  function expectInt(obj) {\n    if (!Number.isInteger(obj)) {\n      throw new FormatError(\"Malformed CMap: expected int.\");\n    }\n  }\n\n  function parseBfChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if (isEOF(obj)) {\n        break;\n      }\n      if (isCmd(obj, \"endbfchar\")) {\n        return;\n      }\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      // TODO are /dstName used?\n      expectString(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n\n  function parseBfRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if (isEOF(obj)) {\n        break;\n      }\n      if (isCmd(obj, \"endbfrange\")) {\n        return;\n      }\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n      if (Number.isInteger(obj) || isString(obj)) {\n        var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n        cMap.mapBfRange(low, high, dstLow);\n      } else if (isCmd(obj, \"[\")) {\n        obj = lexer.getObj();\n        var array = [];\n        while (!isCmd(obj, \"]\") && !isEOF(obj)) {\n          array.push(obj);\n          obj = lexer.getObj();\n        }\n        cMap.mapBfRangeToArray(low, high, array);\n      } else {\n        break;\n      }\n    }\n    throw new FormatError(\"Invalid bf range.\");\n  }\n\n  function parseCidChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if (isEOF(obj)) {\n        break;\n      }\n      if (isCmd(obj, \"endcidchar\")) {\n        return;\n      }\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n\n  function parseCidRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if (isEOF(obj)) {\n        break;\n      }\n      if (isCmd(obj, \"endcidrange\")) {\n        return;\n      }\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dstLow = obj;\n      cMap.mapCidRange(low, high, dstLow);\n    }\n  }\n\n  function parseCodespaceRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n      if (isEOF(obj)) {\n        break;\n      }\n      if (isCmd(obj, \"endcodespacerange\")) {\n        return;\n      }\n      if (!isString(obj)) {\n        break;\n      }\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      if (!isString(obj)) {\n        break;\n      }\n      var high = strToInt(obj);\n      cMap.addCodespaceRange(obj.length, low, high);\n    }\n    throw new FormatError(\"Invalid codespace range.\");\n  }\n\n  function parseWMode(cMap, lexer) {\n    var obj = lexer.getObj();\n    if (Number.isInteger(obj)) {\n      cMap.vertical = !!obj;\n    }\n  }\n\n  function parseCMapName(cMap, lexer) {\n    var obj = lexer.getObj();\n    if (isName(obj) && isString(obj.name)) {\n      cMap.name = obj.name;\n    }\n  }\n\n  function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n    var previous;\n    var embeddedUseCMap;\n    objLoop: while (true) {\n      try {\n        var obj = lexer.getObj();\n        if (isEOF(obj)) {\n          break;\n        } else if (isName(obj)) {\n          if (obj.name === \"WMode\") {\n            parseWMode(cMap, lexer);\n          } else if (obj.name === \"CMapName\") {\n            parseCMapName(cMap, lexer);\n          }\n          previous = obj;\n        } else if (isCmd(obj)) {\n          switch (obj.cmd) {\n            case \"endcmap\":\n              break objLoop;\n            case \"usecmap\":\n              if (isName(previous)) {\n                embeddedUseCMap = previous.name;\n              }\n              break;\n            case \"begincodespacerange\":\n              parseCodespaceRange(cMap, lexer);\n              break;\n            case \"beginbfchar\":\n              parseBfChar(cMap, lexer);\n              break;\n            case \"begincidchar\":\n              parseCidChar(cMap, lexer);\n              break;\n            case \"beginbfrange\":\n              parseBfRange(cMap, lexer);\n              break;\n            case \"begincidrange\":\n              parseCidRange(cMap, lexer);\n              break;\n          }\n        }\n      } catch (ex) {\n        if (ex instanceof MissingDataException) {\n          throw ex;\n        }\n        warn(\"Invalid cMap data: \" + ex);\n        continue;\n      }\n    }\n\n    if (!useCMap && embeddedUseCMap) {\n      // Load the useCMap definition from the file only if there wasn't one\n      // specified.\n      useCMap = embeddedUseCMap;\n    }\n    if (useCMap) {\n      return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n    }\n    return Promise.resolve(cMap);\n  }\n\n  function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n    return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function(newCMap) {\n      cMap.useCMap = newCMap;\n      // If there aren't any code space ranges defined clone all the parent ones\n      // into this cMap.\n      if (cMap.numCodespaceRanges === 0) {\n        var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n        for (var i = 0; i < useCodespaceRanges.length; i++) {\n          cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n        }\n        cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n      }\n      // Merge the map into the current one, making sure not to override\n      // any previously defined entries.\n      cMap.useCMap.forEach(function(key, value) {\n        if (!cMap.contains(key)) {\n          cMap.mapOne(key, cMap.useCMap.lookup(key));\n        }\n      });\n\n      return cMap;\n    });\n  }\n\n  function createBuiltInCMap(name, fetchBuiltInCMap) {\n    if (name === \"Identity-H\") {\n      return Promise.resolve(new IdentityCMap(false, 2));\n    } else if (name === \"Identity-V\") {\n      return Promise.resolve(new IdentityCMap(true, 2));\n    }\n    if (!BUILT_IN_CMAPS.includes(name)) {\n      return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n    }\n    if (!fetchBuiltInCMap) {\n      return Promise.reject(\n        new Error(\"Built-in CMap parameters are not provided.\")\n      );\n    }\n\n    return fetchBuiltInCMap(name).then(function(data) {\n      var cMapData = data.cMapData,\n        compressionType = data.compressionType;\n      var cMap = new CMap(true);\n\n      if (compressionType === CMapCompressionType.BINARY) {\n        return new BinaryCMapReader().process(cMapData, cMap, function(\n          useCMap\n        ) {\n          return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n        });\n      }\n      if (compressionType === CMapCompressionType.NONE) {\n        var lexer = new Lexer(new Stream(cMapData));\n        return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n      }\n      return Promise.reject(\n        new Error(\n          \"TODO: Only BINARY/NONE CMap compression is currently supported.\"\n        )\n      );\n    });\n  }\n\n  return {\n    async create(params) {\n      var encoding = params.encoding;\n      var fetchBuiltInCMap = params.fetchBuiltInCMap;\n      var useCMap = params.useCMap;\n\n      if (isName(encoding)) {\n        return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n      } else if (isStream(encoding)) {\n        var cMap = new CMap();\n        var lexer = new Lexer(encoding);\n        return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function(\n          parsedCMap\n        ) {\n          if (parsedCMap.isIdentityCMap) {\n            return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n          }\n          return parsedCMap;\n        });\n      }\n      throw new Error(\"Encoding required.\");\n    },\n  };\n})();\n\nexport { CMap, IdentityCMap, CMapFactory };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  assert,\n  bytesToString,\n  FONT_IDENTITY_MATRIX,\n  FontType,\n  FormatError,\n  info,\n  isNum,\n  shadow,\n  string32,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport {\n  CFF,\n  CFFCharset,\n  CFFCompiler,\n  CFFHeader,\n  CFFIndex,\n  CFFParser,\n  CFFPrivateDict,\n  CFFStandardStrings,\n  CFFStrings,\n  CFFTopDict,\n} from \"./cff_parser.js\";\nimport { getDingbatsGlyphsUnicode, getGlyphsUnicode } from \"./glyphlist.js\";\nimport {\n  getEncoding,\n  MacRomanEncoding,\n  StandardEncoding,\n  SymbolSetEncoding,\n  ZapfDingbatsEncoding,\n} from \"./encodings.js\";\nimport {\n  getGlyphMapForStandardFonts,\n  getNonStdFontMap,\n  getStdFontMap,\n  getSupplementalGlyphMapForArialBlack,\n  getSupplementalGlyphMapForCalibri,\n} from \"./standard_fonts.js\";\nimport {\n  getUnicodeForGlyph,\n  getUnicodeRangeFor,\n  mapSpecialUnicodeValues,\n} from \"./unicode.js\";\nimport {\n  isWhiteSpace,\n  MissingDataException,\n  readUint32,\n} from \"./core_utils.js\";\nimport { FontRendererFactory } from \"./font_renderer.js\";\nimport { IdentityCMap } from \"./cmap.js\";\nimport { Stream } from \"./stream.js\";\nimport { Type1Parser } from \"./type1_parser.js\";\n\n// Unicode Private Use Areas:\nconst PRIVATE_USE_AREAS = [\n  [0xe000, 0xf8ff], // BMP (0)\n  [0x100000, 0x10fffd], // PUP (16)\n];\n\n// PDF Glyph Space Units are one Thousandth of a TextSpace Unit\n// except for Type 3 fonts\nvar PDF_GLYPH_SPACE_UNITS = 1000;\n\n// Accented characters have issues on Windows and Linux. When this flag is\n// enabled glyphs that use seac and seac style endchar operators are truncated\n// and we instead just store the glyph id's of the base glyph and its accent to\n// be drawn individually.\n// Linux (freetype) requires that when a seac style endchar is used\n// that the charset must be a predefined one, however we build a\n// custom one. Windows just refuses to draw glyphs with seac operators.\nvar SEAC_ANALYSIS_ENABLED = true;\n\nvar FontFlags = {\n  FixedPitch: 1,\n  Serif: 2,\n  Symbolic: 4,\n  Script: 8,\n  Nonsymbolic: 32,\n  Italic: 64,\n  AllCap: 65536,\n  SmallCap: 131072,\n  ForceBold: 262144,\n};\n\n// prettier-ignore\nvar MacStandardGlyphOrdering = [\n  \".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\",\n  \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\",\n  \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\",\n  \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\",\n  \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\",\n  \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\",\n  \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\",\n  \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\",\n  \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\",\n  \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\",\n  \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\",\n  \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\",\n  \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\",\n  \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\",\n  \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\",\n  \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\",\n  \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\",\n  \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\",\n  \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\",\n  \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\",\n  \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\",\n  \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\",\n  \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\",\n  \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\",\n  \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\",\n  \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\",\n  \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\",\n  \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\",\n  \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\",\n  \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\",\n  \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\",\n  \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\",\n  \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\",\n  \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\",\n  \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\",\n  \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n\nfunction adjustWidths(properties) {\n  if (!properties.fontMatrix) {\n    return;\n  }\n  if (properties.fontMatrix[0] === FONT_IDENTITY_MATRIX[0]) {\n    return;\n  }\n  // adjusting width to fontMatrix scale\n  var scale = 0.001 / properties.fontMatrix[0];\n  var glyphsWidths = properties.widths;\n  for (var glyph in glyphsWidths) {\n    glyphsWidths[glyph] *= scale;\n  }\n  properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n  if (properties.hasIncludedToUnicodeMap) {\n    return; // The font dictionary has a `ToUnicode` entry.\n  }\n  if (properties.hasEncoding) {\n    return; // The font dictionary has an `Encoding` entry.\n  }\n  if (builtInEncoding === properties.defaultEncoding) {\n    return; // No point in trying to adjust `toUnicode` if the encodings match.\n  }\n  if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n    return;\n  }\n  var toUnicode = [],\n    glyphsUnicodeMap = getGlyphsUnicode();\n  for (var charCode in builtInEncoding) {\n    var glyphName = builtInEncoding[charCode];\n    var unicode = getUnicodeForGlyph(glyphName, glyphsUnicodeMap);\n    if (unicode !== -1) {\n      toUnicode[charCode] = String.fromCharCode(unicode);\n    }\n  }\n  properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n  switch (type) {\n    case \"Type1\":\n      return subtype === \"Type1C\" ? FontType.TYPE1C : FontType.TYPE1;\n    case \"CIDFontType0\":\n      return subtype === \"CIDFontType0C\"\n        ? FontType.CIDFONTTYPE0C\n        : FontType.CIDFONTTYPE0;\n    case \"OpenType\":\n      return FontType.OPENTYPE;\n    case \"TrueType\":\n      return FontType.TRUETYPE;\n    case \"CIDFontType2\":\n      return FontType.CIDFONTTYPE2;\n    case \"MMType1\":\n      return FontType.MMTYPE1;\n    case \"Type0\":\n      return FontType.TYPE0;\n    default:\n      return FontType.UNKNOWN;\n  }\n}\n\n// Some bad PDF generators, e.g. Scribus PDF, include glyph names\n// in a 'uniXXXX' format -- attempting to recover proper ones.\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n  if (glyphsUnicodeMap[name] !== undefined) {\n    return name;\n  }\n  // The glyph name is non-standard, trying to recover.\n  var unicode = getUnicodeForGlyph(name, glyphsUnicodeMap);\n  if (unicode !== -1) {\n    for (var key in glyphsUnicodeMap) {\n      if (glyphsUnicodeMap[key] === unicode) {\n        return key;\n      }\n    }\n  }\n  info(\"Unable to recover a standard glyph name for: \" + name);\n  return name;\n}\n\nvar Glyph = (function GlyphClosure() {\n  function Glyph(\n    fontChar,\n    unicode,\n    accent,\n    width,\n    vmetric,\n    operatorListId,\n    isSpace,\n    isInFont\n  ) {\n    this.fontChar = fontChar;\n    this.unicode = unicode;\n    this.accent = accent;\n    this.width = width;\n    this.vmetric = vmetric;\n    this.operatorListId = operatorListId;\n    this.isSpace = isSpace;\n    this.isInFont = isInFont;\n  }\n\n  Glyph.prototype.matchesForCache = function(\n    fontChar,\n    unicode,\n    accent,\n    width,\n    vmetric,\n    operatorListId,\n    isSpace,\n    isInFont\n  ) {\n    return (\n      this.fontChar === fontChar &&\n      this.unicode === unicode &&\n      this.accent === accent &&\n      this.width === width &&\n      this.vmetric === vmetric &&\n      this.operatorListId === operatorListId &&\n      this.isSpace === isSpace &&\n      this.isInFont === isInFont\n    );\n  };\n\n  return Glyph;\n})();\n\nvar ToUnicodeMap = (function ToUnicodeMapClosure() {\n  function ToUnicodeMap(cmap = []) {\n    // The elements of this._map can be integers or strings, depending on how\n    // `cmap` was created.\n    this._map = cmap;\n  }\n\n  ToUnicodeMap.prototype = {\n    get length() {\n      return this._map.length;\n    },\n\n    forEach(callback) {\n      for (var charCode in this._map) {\n        callback(charCode, this._map[charCode].charCodeAt(0));\n      }\n    },\n\n    has(i) {\n      return this._map[i] !== undefined;\n    },\n\n    get(i) {\n      return this._map[i];\n    },\n\n    charCodeOf(value) {\n      // `Array.prototype.indexOf` is *extremely* inefficient for arrays which\n      // are both very sparse and very large (see issue8372.pdf).\n      const map = this._map;\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n      for (const charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n      return -1;\n    },\n\n    amend(map) {\n      for (var charCode in map) {\n        this._map[charCode] = map[charCode];\n      }\n    },\n  };\n\n  return ToUnicodeMap;\n})();\n\nvar IdentityToUnicodeMap = (function IdentityToUnicodeMapClosure() {\n  function IdentityToUnicodeMap(firstChar, lastChar) {\n    this.firstChar = firstChar;\n    this.lastChar = lastChar;\n  }\n\n  IdentityToUnicodeMap.prototype = {\n    get length() {\n      return this.lastChar + 1 - this.firstChar;\n    },\n\n    forEach(callback) {\n      for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n        callback(i, i);\n      }\n    },\n\n    has(i) {\n      return this.firstChar <= i && i <= this.lastChar;\n    },\n\n    get(i) {\n      if (this.firstChar <= i && i <= this.lastChar) {\n        return String.fromCharCode(i);\n      }\n      return undefined;\n    },\n\n    charCodeOf(v) {\n      return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar\n        ? v\n        : -1;\n    },\n\n    amend(map) {\n      unreachable(\"Should not call amend()\");\n    },\n  };\n\n  return IdentityToUnicodeMap;\n})();\n\nvar OpenTypeFileBuilder = (function OpenTypeFileBuilderClosure() {\n  function writeInt16(dest, offset, num) {\n    dest[offset] = (num >> 8) & 0xff;\n    dest[offset + 1] = num & 0xff;\n  }\n\n  function writeInt32(dest, offset, num) {\n    dest[offset] = (num >> 24) & 0xff;\n    dest[offset + 1] = (num >> 16) & 0xff;\n    dest[offset + 2] = (num >> 8) & 0xff;\n    dest[offset + 3] = num & 0xff;\n  }\n\n  function writeData(dest, offset, data) {\n    var i, ii;\n    if (data instanceof Uint8Array) {\n      dest.set(data, offset);\n    } else if (typeof data === \"string\") {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data.charCodeAt(i) & 0xff;\n      }\n    } else {\n      // treating everything else as array\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data[i] & 0xff;\n      }\n    }\n  }\n\n  function OpenTypeFileBuilder(sfnt) {\n    this.sfnt = sfnt;\n    this.tables = Object.create(null);\n  }\n\n  OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(\n    entriesCount,\n    entrySize\n  ) {\n    var maxPower2 = 1,\n      log2 = 0;\n    while ((maxPower2 ^ entriesCount) > maxPower2) {\n      maxPower2 <<= 1;\n      log2++;\n    }\n    var searchRange = maxPower2 * entrySize;\n    return {\n      range: searchRange,\n      entry: log2,\n      rangeShift: entrySize * entriesCount - searchRange,\n    };\n  };\n\n  var OTF_HEADER_SIZE = 12;\n  var OTF_TABLE_ENTRY_SIZE = 16;\n\n  OpenTypeFileBuilder.prototype = {\n    toArray: function OpenTypeFileBuilder_toArray() {\n      var sfnt = this.sfnt;\n\n      // Tables needs to be written by ascendant alphabetic order\n      var tables = this.tables;\n      var tablesNames = Object.keys(tables);\n      tablesNames.sort();\n      var numTables = tablesNames.length;\n\n      var i, j, jj, table, tableName;\n      // layout the tables data\n      var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n      var tableOffsets = [offset];\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        var paddedLength = ((table.length + 3) & ~3) >>> 0;\n        offset += paddedLength;\n        tableOffsets.push(offset);\n      }\n\n      var file = new Uint8Array(offset);\n      // write the table data first (mostly for checksum)\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        writeData(file, tableOffsets[i], table);\n      }\n\n      // sfnt version (4 bytes)\n      if (sfnt === \"true\") {\n        // Windows hates the Mac TrueType sfnt version number\n        sfnt = string32(0x00010000);\n      }\n      file[0] = sfnt.charCodeAt(0) & 0xff;\n      file[1] = sfnt.charCodeAt(1) & 0xff;\n      file[2] = sfnt.charCodeAt(2) & 0xff;\n      file[3] = sfnt.charCodeAt(3) & 0xff;\n\n      // numTables (2 bytes)\n      writeInt16(file, 4, numTables);\n\n      var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n\n      // searchRange (2 bytes)\n      writeInt16(file, 6, searchParams.range);\n      // entrySelector (2 bytes)\n      writeInt16(file, 8, searchParams.entry);\n      // rangeShift (2 bytes)\n      writeInt16(file, 10, searchParams.rangeShift);\n\n      offset = OTF_HEADER_SIZE;\n      // writing table entries\n      for (i = 0; i < numTables; i++) {\n        tableName = tablesNames[i];\n        file[offset] = tableName.charCodeAt(0) & 0xff;\n        file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n        file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n        file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n\n        // checksum\n        var checksum = 0;\n        for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n          var quad = readUint32(file, j);\n          checksum = (checksum + quad) >>> 0;\n        }\n        writeInt32(file, offset + 4, checksum);\n\n        // offset\n        writeInt32(file, offset + 8, tableOffsets[i]);\n        // length\n        writeInt32(file, offset + 12, tables[tableName].length);\n\n        offset += OTF_TABLE_ENTRY_SIZE;\n      }\n      return file;\n    },\n\n    addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n      if (tag in this.tables) {\n        throw new Error(\"Table \" + tag + \" already exists\");\n      }\n      this.tables[tag] = data;\n    },\n  };\n\n  return OpenTypeFileBuilder;\n})();\n\n/**\n * 'Font' is the class the outside world should use, it encapsulate all the font\n * decoding logics whatever type it is (assuming the font type is supported).\n *\n * For example to read a Type1 font and to attach it to the document:\n *   var type1Font = new Font(\"MyFontName\", binaryFile, propertiesObject);\n *   type1Font.bind();\n */\nvar Font = (function FontClosure() {\n  function Font(name, file, properties) {\n    var charCode;\n\n    this.name = name;\n    this.loadedName = properties.loadedName;\n    this.isType3Font = properties.isType3Font;\n    this.sizes = [];\n    this.missingFile = false;\n\n    this.glyphCache = Object.create(null);\n\n    this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n    this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n    this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n\n    var type = properties.type;\n    var subtype = properties.subtype;\n    this.type = type;\n    this.subtype = subtype;\n\n    let fallbackName = \"sans-serif\";\n    if (this.isMonospace) {\n      fallbackName = \"monospace\";\n    } else if (this.isSerifFont) {\n      fallbackName = \"serif\";\n    }\n    this.fallbackName = fallbackName;\n\n    this.differences = properties.differences;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.composite = properties.composite;\n    this.wideChars = properties.wideChars;\n    this.cMap = properties.cMap;\n    this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n    this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n    this.fontMatrix = properties.fontMatrix;\n    this.bbox = properties.bbox;\n    this.defaultEncoding = properties.defaultEncoding;\n\n    this.toUnicode = properties.toUnicode;\n    this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n\n    this.toFontChar = [];\n\n    if (properties.type === \"Type3\") {\n      for (charCode = 0; charCode < 256; charCode++) {\n        this.toFontChar[charCode] =\n          this.differences[charCode] || properties.defaultEncoding[charCode];\n      }\n      this.fontType = FontType.TYPE3;\n      return;\n    }\n\n    this.cidEncoding = properties.cidEncoding;\n    this.vertical = properties.vertical;\n    if (this.vertical) {\n      this.vmetrics = properties.vmetrics;\n      this.defaultVMetrics = properties.defaultVMetrics;\n    }\n\n    if (!file || file.isEmpty) {\n      if (file) {\n        // Some bad PDF generators will include empty font files,\n        // attempting to recover by assuming that no file exists.\n        warn('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n      }\n      this.fallbackToSystemFont();\n      return;\n    }\n\n    // Parse the font file to determine the correct type/subtype, rather than\n    // relying on the (often incorrect) data in the font dictionary; (see e.g.\n    //  issue6782.pdf, issue7598.pdf, and issue9949.pdf).\n    [type, subtype] = getFontFileType(file, properties);\n\n    if (type !== this.type || subtype !== this.subtype) {\n      info(\n        \"Inconsistent font file Type/SubType, expected: \" +\n          `${this.type}/${this.subtype} but found: ${type}/${subtype}.`\n      );\n    }\n\n    try {\n      var data;\n      switch (type) {\n        case \"MMType1\":\n          info(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n        /* falls through */\n        case \"Type1\":\n        case \"CIDFontType0\":\n          this.mimetype = \"font/opentype\";\n\n          var cff =\n            subtype === \"Type1C\" || subtype === \"CIDFontType0C\"\n              ? new CFFFont(file, properties)\n              : new Type1Font(name, file, properties);\n\n          adjustWidths(properties);\n\n          // Wrap the CFF data inside an OTF font file\n          data = this.convert(name, cff, properties);\n          break;\n\n        case \"OpenType\":\n        case \"TrueType\":\n        case \"CIDFontType2\":\n          this.mimetype = \"font/opentype\";\n\n          // Repair the TrueType file. It is can be damaged in the point of\n          // view of the sanitizer\n          data = this.checkAndRepair(name, file, properties);\n          if (this.isOpenType) {\n            adjustWidths(properties);\n\n            type = \"OpenType\";\n          }\n          break;\n\n        default:\n          throw new FormatError(`Font ${type} is not supported`);\n      }\n    } catch (e) {\n      warn(e);\n      this.fallbackToSystemFont();\n      return;\n    }\n\n    this.data = data;\n    this.fontType = getFontType(type, subtype);\n\n    // Transfer some properties again that could change during font conversion\n    this.fontMatrix = properties.fontMatrix;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.toUnicode = properties.toUnicode;\n    this.encoding = properties.baseEncoding;\n    this.seacMap = properties.seacMap;\n  }\n\n  Font.getFontID = (function() {\n    var ID = 1;\n    return function Font_getFontID() {\n      return String(ID++);\n    };\n  })();\n\n  function int16(b0, b1) {\n    return (b0 << 8) + b1;\n  }\n\n  function writeSignedInt16(bytes, index, value) {\n    bytes[index + 1] = value;\n    bytes[index] = value >>> 8;\n  }\n\n  function signedInt16(b0, b1) {\n    var value = (b0 << 8) + b1;\n    return value & (1 << 15) ? value - 0x10000 : value;\n  }\n\n  function int32(b0, b1, b2, b3) {\n    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n  }\n\n  function string16(value) {\n    return String.fromCharCode((value >> 8) & 0xff, value & 0xff);\n  }\n\n  function safeString16(value) {\n    // clamp value to the 16-bit int range\n    if (value > 0x7fff) {\n      value = 0x7fff;\n    } else if (value < -0x8000) {\n      value = -0x8000;\n    }\n    return String.fromCharCode((value >> 8) & 0xff, value & 0xff);\n  }\n\n  function isTrueTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (\n      readUint32(header, 0) === 0x00010000 || bytesToString(header) === \"true\"\n    );\n  }\n\n  function isTrueTypeCollectionFile(file) {\n    const header = file.peekBytes(4);\n    return bytesToString(header) === \"ttcf\";\n  }\n\n  function isOpenTypeFile(file) {\n    var header = file.peekBytes(4);\n    return bytesToString(header) === \"OTTO\";\n  }\n\n  function isType1File(file) {\n    var header = file.peekBytes(2);\n    // All Type1 font programs must begin with the comment '%!' (0x25 + 0x21).\n    if (header[0] === 0x25 && header[1] === 0x21) {\n      return true;\n    }\n    // ... obviously some fonts violate that part of the specification,\n    // please refer to the comment in |Type1Font| below (pfb file header).\n    if (header[0] === 0x80 && header[1] === 0x01) {\n      return true;\n    }\n    return false;\n  }\n\n  /**\n   * Compared to other font formats, the header in CFF files is not constant\n   * but contains version numbers. To reduce the possibility of misclassifying\n   * font files as CFF, it's recommended to check for other font formats first.\n   */\n  function isCFFFile(file) {\n    const header = file.peekBytes(4);\n    if (\n      /* major version, [1, 255] */ header[0] >= 1 &&\n      /* minor version, [0, 255]; header[1] */\n      /* header size, [0, 255]; header[2] */\n      /* offset(0) size, [1, 4] */ header[3] >= 1 &&\n      header[3] <= 4\n    ) {\n      return true;\n    }\n    return false;\n  }\n\n  function getFontFileType(file, { type, subtype, composite }) {\n    let fileType, fileSubtype;\n\n    if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType2\";\n      } else {\n        fileType = \"TrueType\";\n      }\n    } else if (isOpenTypeFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType2\";\n      } else {\n        fileType = \"OpenType\";\n      }\n    } else if (isType1File(file)) {\n      if (composite) {\n        fileType = \"CIDFontType0\";\n      } else {\n        fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n      }\n    } else if (isCFFFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType0\";\n        fileSubtype = \"CIDFontType0C\";\n      } else {\n        fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n        fileSubtype = \"Type1C\";\n      }\n    } else {\n      warn(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n      fileType = type;\n      fileSubtype = subtype;\n    }\n\n    return [fileType, fileSubtype];\n  }\n\n  function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n    var toFontChar = [],\n      unicode;\n    for (var i = 0, ii = encoding.length; i < ii; i++) {\n      unicode = getUnicodeForGlyph(encoding[i], glyphsUnicodeMap);\n      if (unicode !== -1) {\n        toFontChar[i] = unicode;\n      }\n    }\n    for (var charCode in differences) {\n      unicode = getUnicodeForGlyph(differences[charCode], glyphsUnicodeMap);\n      if (unicode !== -1) {\n        toFontChar[+charCode] = unicode;\n      }\n    }\n    return toFontChar;\n  }\n\n  /**\n   * Rebuilds the char code to glyph ID map by moving all char codes to the\n   * private use area. This is done to avoid issues with various problematic\n   * unicode areas where either a glyph won't be drawn or is deformed by a\n   * shaper.\n   * @returns {Object} Two properties:\n   * 'toFontChar' - maps original char codes(the value that will be read\n   * from commands such as show text) to the char codes that will be used in the\n   * font that we build\n   * 'charCodeToGlyphId' - maps the new font char codes to glyph ids\n   */\n  function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n    var newMap = Object.create(null);\n    var toFontChar = [];\n    var privateUseAreaIndex = 0;\n    var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n    var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n    for (var originalCharCode in charCodeToGlyphId) {\n      originalCharCode |= 0;\n      var glyphId = charCodeToGlyphId[originalCharCode];\n      // For missing glyphs don't create the mappings so the glyph isn't\n      // drawn.\n      if (!hasGlyph(glyphId)) {\n        continue;\n      }\n      if (nextAvailableFontCharCode > privateUseOffetEnd) {\n        privateUseAreaIndex++;\n        if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n          warn(\"Ran out of space in font private use area.\");\n          break;\n        }\n        nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n        privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n      }\n      var fontCharCode = nextAvailableFontCharCode++;\n      if (glyphId === 0) {\n        glyphId = newGlyphZeroId;\n      }\n\n      newMap[fontCharCode] = glyphId;\n      toFontChar[originalCharCode] = fontCharCode;\n    }\n    return {\n      toFontChar,\n      charCodeToGlyphId: newMap,\n      nextAvailableFontCharCode,\n    };\n  }\n\n  function getRanges(glyphs, numGlyphs) {\n    // Array.sort() sorts by characters, not numerically, so convert to an\n    // array of characters.\n    var codes = [];\n    for (var charCode in glyphs) {\n      // Remove an invalid glyph ID mappings to make OTS happy.\n      if (glyphs[charCode] >= numGlyphs) {\n        continue;\n      }\n      codes.push({ fontCharCode: charCode | 0, glyphId: glyphs[charCode] });\n    }\n    // Some fonts have zero glyphs and are used only for text selection, but\n    // there needs to be at least one to build a valid cmap table.\n    if (codes.length === 0) {\n      codes.push({ fontCharCode: 0, glyphId: 0 });\n    }\n    codes.sort(function fontGetRangesSort(a, b) {\n      return a.fontCharCode - b.fontCharCode;\n    });\n\n    // Split the sorted codes into ranges.\n    var ranges = [];\n    var length = codes.length;\n    for (var n = 0; n < length; ) {\n      var start = codes[n].fontCharCode;\n      var codeIndices = [codes[n].glyphId];\n      ++n;\n      var end = start;\n      while (n < length && end + 1 === codes[n].fontCharCode) {\n        codeIndices.push(codes[n].glyphId);\n        ++end;\n        ++n;\n        if (end === 0xffff) {\n          break;\n        }\n      }\n      ranges.push([start, end, codeIndices]);\n    }\n\n    return ranges;\n  }\n\n  function createCmapTable(glyphs, numGlyphs) {\n    var ranges = getRanges(glyphs, numGlyphs);\n    var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;\n    var cmap =\n      \"\\x00\\x00\" + // version\n      string16(numTables) + // numTables\n      \"\\x00\\x03\" + // platformID\n      \"\\x00\\x01\" + // encodingID\n      string32(4 + numTables * 8); // start of the table record\n\n    var i, ii, j, jj;\n    for (i = ranges.length - 1; i >= 0; --i) {\n      if (ranges[i][0] <= 0xffff) {\n        break;\n      }\n    }\n    var bmpLength = i + 1;\n\n    if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n      ranges[i][1] = 0xfffe;\n    }\n    var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n    var segCount = bmpLength + trailingRangesCount;\n    var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n\n    // Fill up the 4 parallel arrays describing the segments.\n    var startCount = \"\";\n    var endCount = \"\";\n    var idDeltas = \"\";\n    var idRangeOffsets = \"\";\n    var glyphsIds = \"\";\n    var bias = 0;\n\n    var range, start, end, codes;\n    for (i = 0, ii = bmpLength; i < ii; i++) {\n      range = ranges[i];\n      start = range[0];\n      end = range[1];\n      startCount += string16(start);\n      endCount += string16(end);\n      codes = range[2];\n      var contiguous = true;\n      for (j = 1, jj = codes.length; j < jj; ++j) {\n        if (codes[j] !== codes[j - 1] + 1) {\n          contiguous = false;\n          break;\n        }\n      }\n      if (!contiguous) {\n        var offset = (segCount - i) * 2 + bias * 2;\n        bias += end - start + 1;\n\n        idDeltas += string16(0);\n        idRangeOffsets += string16(offset);\n\n        for (j = 0, jj = codes.length; j < jj; ++j) {\n          glyphsIds += string16(codes[j]);\n        }\n      } else {\n        var startCode = codes[0];\n\n        idDeltas += string16((startCode - start) & 0xffff);\n        idRangeOffsets += string16(0);\n      }\n    }\n\n    if (trailingRangesCount > 0) {\n      endCount += \"\\xFF\\xFF\";\n      startCount += \"\\xFF\\xFF\";\n      idDeltas += \"\\x00\\x01\";\n      idRangeOffsets += \"\\x00\\x00\";\n    }\n\n    var format314 =\n      \"\\x00\\x00\" + // language\n      string16(2 * segCount) +\n      string16(searchParams.range) +\n      string16(searchParams.entry) +\n      string16(searchParams.rangeShift) +\n      endCount +\n      \"\\x00\\x00\" +\n      startCount +\n      idDeltas +\n      idRangeOffsets +\n      glyphsIds;\n\n    var format31012 = \"\";\n    var header31012 = \"\";\n    if (numTables > 1) {\n      cmap +=\n        \"\\x00\\x03\" + // platformID\n        \"\\x00\\x0A\" + // encodingID\n        string32(4 + numTables * 8 + 4 + format314.length); // start of the table record\n      format31012 = \"\";\n      for (i = 0, ii = ranges.length; i < ii; i++) {\n        range = ranges[i];\n        start = range[0];\n        codes = range[2];\n        var code = codes[0];\n        for (j = 1, jj = codes.length; j < jj; ++j) {\n          if (codes[j] !== codes[j - 1] + 1) {\n            end = range[0] + j - 1;\n            format31012 +=\n              string32(start) + // startCharCode\n              string32(end) + // endCharCode\n              string32(code); // startGlyphID\n            start = end + 1;\n            code = codes[j];\n          }\n        }\n        format31012 +=\n          string32(start) + // startCharCode\n          string32(range[1]) + // endCharCode\n          string32(code); // startGlyphID\n      }\n      header31012 =\n        \"\\x00\\x0C\" + // format\n        \"\\x00\\x00\" + // reserved\n        string32(format31012.length + 16) + // length\n        \"\\x00\\x00\\x00\\x00\" + // language\n        string32(format31012.length / 12); // nGroups\n    }\n\n    return (\n      cmap +\n      \"\\x00\\x04\" + // format\n      string16(format314.length + 4) + // length\n      format314 +\n      header31012 +\n      format31012\n    );\n  }\n\n  function validateOS2Table(os2) {\n    var stream = new Stream(os2.data);\n    var version = stream.getUint16();\n    // TODO verify all OS/2 tables fields, but currently we validate only those\n    // that give us issues\n    stream.getBytes(60); // skipping type, misc sizes, panose, unicode ranges\n    var selection = stream.getUint16();\n    if (version < 4 && selection & 0x0300) {\n      return false;\n    }\n    var firstChar = stream.getUint16();\n    var lastChar = stream.getUint16();\n    if (firstChar > lastChar) {\n      return false;\n    }\n    stream.getBytes(6); // skipping sTypoAscender/Descender/LineGap\n    var usWinAscent = stream.getUint16();\n    if (usWinAscent === 0) {\n      // makes font unreadable by windows\n      return false;\n    }\n\n    // OS/2 appears to be valid, resetting some fields\n    os2.data[8] = os2.data[9] = 0; // IE rejects fonts if fsType != 0\n    return true;\n  }\n\n  function createOS2Table(properties, charstrings, override) {\n    override = override || {\n      unitsPerEm: 0,\n      yMax: 0,\n      yMin: 0,\n      ascent: 0,\n      descent: 0,\n    };\n\n    var ulUnicodeRange1 = 0;\n    var ulUnicodeRange2 = 0;\n    var ulUnicodeRange3 = 0;\n    var ulUnicodeRange4 = 0;\n\n    var firstCharIndex = null;\n    var lastCharIndex = 0;\n\n    if (charstrings) {\n      for (var code in charstrings) {\n        code |= 0;\n        if (firstCharIndex > code || !firstCharIndex) {\n          firstCharIndex = code;\n        }\n        if (lastCharIndex < code) {\n          lastCharIndex = code;\n        }\n\n        var position = getUnicodeRangeFor(code);\n        if (position < 32) {\n          ulUnicodeRange1 |= 1 << position;\n        } else if (position < 64) {\n          ulUnicodeRange2 |= 1 << (position - 32);\n        } else if (position < 96) {\n          ulUnicodeRange3 |= 1 << (position - 64);\n        } else if (position < 123) {\n          ulUnicodeRange4 |= 1 << (position - 96);\n        } else {\n          throw new FormatError(\n            \"Unicode ranges Bits > 123 are reserved for internal usage\"\n          );\n        }\n      }\n      if (lastCharIndex > 0xffff) {\n        // OS2 only supports a 16 bit int. The spec says if supplementary\n        // characters are used the field should just be set to 0xFFFF.\n        lastCharIndex = 0xffff;\n      }\n    } else {\n      // TODO\n      firstCharIndex = 0;\n      lastCharIndex = 255;\n    }\n\n    var bbox = properties.bbox || [0, 0, 0, 0];\n    var unitsPerEm =\n      override.unitsPerEm ||\n      1 / (properties.fontMatrix || FONT_IDENTITY_MATRIX)[0];\n\n    // if the font units differ to the PDF glyph space units\n    // then scale up the values\n    var scale = properties.ascentScaled\n      ? 1.0\n      : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n\n    var typoAscent =\n      override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n    var typoDescent =\n      override.descent || Math.round(scale * (properties.descent || bbox[1]));\n    if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n      typoDescent = -typoDescent; // fixing incorrect descent\n    }\n    var winAscent = override.yMax || typoAscent;\n    var winDescent = -override.yMin || -typoDescent;\n\n    return (\n      \"\\x00\\x03\" + // version\n      \"\\x02\\x24\" + // xAvgCharWidth\n      \"\\x01\\xF4\" + // usWeightClass\n      \"\\x00\\x05\" + // usWidthClass\n      \"\\x00\\x00\" + // fstype (0 to let the font loads via font-face on IE)\n      \"\\x02\\x8A\" + // ySubscriptXSize\n      \"\\x02\\xBB\" + // ySubscriptYSize\n      \"\\x00\\x00\" + // ySubscriptXOffset\n      \"\\x00\\x8C\" + // ySubscriptYOffset\n      \"\\x02\\x8A\" + // ySuperScriptXSize\n      \"\\x02\\xBB\" + // ySuperScriptYSize\n      \"\\x00\\x00\" + // ySuperScriptXOffset\n      \"\\x01\\xDF\" + // ySuperScriptYOffset\n      \"\\x00\\x31\" + // yStrikeOutSize\n      \"\\x01\\x02\" + // yStrikeOutPosition\n      \"\\x00\\x00\" + // sFamilyClass\n      \"\\x00\\x00\\x06\" +\n      String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) +\n      \"\\x00\\x00\\x00\\x00\\x00\\x00\" + // Panose\n      string32(ulUnicodeRange1) + // ulUnicodeRange1 (Bits 0-31)\n      string32(ulUnicodeRange2) + // ulUnicodeRange2 (Bits 32-63)\n      string32(ulUnicodeRange3) + // ulUnicodeRange3 (Bits 64-95)\n      string32(ulUnicodeRange4) + // ulUnicodeRange4 (Bits 96-127)\n      \"\\x2A\\x32\\x31\\x2A\" + // achVendID\n      string16(properties.italicAngle ? 1 : 0) + // fsSelection\n      string16(firstCharIndex || properties.firstChar) + // usFirstCharIndex\n      string16(lastCharIndex || properties.lastChar) + // usLastCharIndex\n      string16(typoAscent) + // sTypoAscender\n      string16(typoDescent) + // sTypoDescender\n      \"\\x00\\x64\" + // sTypoLineGap (7%-10% of the unitsPerEM value)\n      string16(winAscent) + // usWinAscent\n      string16(winDescent) + // usWinDescent\n      \"\\x00\\x00\\x00\\x00\" + // ulCodePageRange1 (Bits 0-31)\n      \"\\x00\\x00\\x00\\x00\" + // ulCodePageRange2 (Bits 32-63)\n      string16(properties.xHeight) + // sxHeight\n      string16(properties.capHeight) + // sCapHeight\n      string16(0) + // usDefaultChar\n      string16(firstCharIndex || properties.firstChar) + // usBreakChar\n      \"\\x00\\x03\"\n    ); // usMaxContext\n  }\n\n  function createPostTable(properties) {\n    var angle = Math.floor(properties.italicAngle * 2 ** 16);\n    return (\n      \"\\x00\\x03\\x00\\x00\" + // Version number\n      string32(angle) + // italicAngle\n      \"\\x00\\x00\" + // underlinePosition\n      \"\\x00\\x00\" + // underlineThickness\n      string32(properties.fixedPitch) + // isFixedPitch\n      \"\\x00\\x00\\x00\\x00\" + // minMemType42\n      \"\\x00\\x00\\x00\\x00\" + // maxMemType42\n      \"\\x00\\x00\\x00\\x00\" + // minMemType1\n      \"\\x00\\x00\\x00\\x00\"\n    ); // maxMemType1\n  }\n\n  function createNameTable(name, proto) {\n    if (!proto) {\n      proto = [[], []]; // no strings and unicode strings\n    }\n\n    var strings = [\n      proto[0][0] || \"Original licence\", // 0.Copyright\n      proto[0][1] || name, // 1.Font family\n      proto[0][2] || \"Unknown\", // 2.Font subfamily (font weight)\n      proto[0][3] || \"uniqueID\", // 3.Unique ID\n      proto[0][4] || name, // 4.Full font name\n      proto[0][5] || \"Version 0.11\", // 5.Version\n      proto[0][6] || \"\", // 6.Postscript name\n      proto[0][7] || \"Unknown\", // 7.Trademark\n      proto[0][8] || \"Unknown\", // 8.Manufacturer\n      proto[0][9] || \"Unknown\", // 9.Designer\n    ];\n\n    // Mac want 1-byte per character strings while Windows want\n    // 2-bytes per character, so duplicate the names table\n    var stringsUnicode = [];\n    var i, ii, j, jj, str;\n    for (i = 0, ii = strings.length; i < ii; i++) {\n      str = proto[1][i] || strings[i];\n\n      var strBufUnicode = [];\n      for (j = 0, jj = str.length; j < jj; j++) {\n        strBufUnicode.push(string16(str.charCodeAt(j)));\n      }\n      stringsUnicode.push(strBufUnicode.join(\"\"));\n    }\n\n    var names = [strings, stringsUnicode];\n    var platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n    var encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n    var languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n\n    var namesRecordCount = strings.length * platforms.length;\n    var nameTable =\n      \"\\x00\\x00\" + // format\n      string16(namesRecordCount) + // Number of names Record\n      string16(namesRecordCount * 12 + 6); // Storage\n\n    // Build the name records field\n    var strOffset = 0;\n    for (i = 0, ii = platforms.length; i < ii; i++) {\n      var strs = names[i];\n      for (j = 0, jj = strs.length; j < jj; j++) {\n        str = strs[j];\n        var nameRecord =\n          platforms[i] + // platform ID\n          encodings[i] + // encoding ID\n          languages[i] + // language ID\n          string16(j) + // name ID\n          string16(str.length) +\n          string16(strOffset);\n        nameTable += nameRecord;\n        strOffset += str.length;\n      }\n    }\n\n    nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n    return nameTable;\n  }\n\n  Font.prototype = {\n    name: null,\n    font: null,\n    mimetype: null,\n    encoding: null,\n    disableFontFace: false,\n\n    get renderer() {\n      var renderer = FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n      return shadow(this, \"renderer\", renderer);\n    },\n\n    exportData: function Font_exportData() {\n      // TODO remove enumerating of the properties, e.g. hardcode exact names.\n      var data = {};\n      for (var i in this) {\n        if (this.hasOwnProperty(i)) {\n          data[i] = this[i];\n        }\n      }\n      return data;\n    },\n\n    fallbackToSystemFont: function Font_fallbackToSystemFont() {\n      this.missingFile = true;\n      var charCode, unicode;\n      // The file data is not specified. Trying to fix the font name\n      // to be used with the canvas.font.\n      var name = this.name;\n      var type = this.type;\n      var subtype = this.subtype;\n      let fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/g, \"\");\n      var stdFontMap = getStdFontMap(),\n        nonStdFontMap = getNonStdFontMap();\n      var isStandardFont =\n        !!stdFontMap[fontName] ||\n        !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n      fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n\n      this.bold = fontName.search(/bold/gi) !== -1;\n      this.italic =\n        fontName.search(/oblique/gi) !== -1 ||\n        fontName.search(/italic/gi) !== -1;\n\n      // Use 'name' instead of 'fontName' here because the original\n      // name ArialBlack for example will be replaced by Helvetica.\n      this.black = name.search(/Black/g) !== -1;\n\n      // if at least one width is present, remeasure all chars when exists\n      this.remeasure = Object.keys(this.widths).length > 0;\n      if (\n        isStandardFont &&\n        type === \"CIDFontType2\" &&\n        this.cidEncoding.startsWith(\"Identity-\")\n      ) {\n        const GlyphMapForStandardFonts = getGlyphMapForStandardFonts();\n        // Standard fonts might be embedded as CID font without glyph mapping.\n        // Building one based on GlyphMapForStandardFonts.\n        const map = [];\n        for (charCode in GlyphMapForStandardFonts) {\n          map[+charCode] = GlyphMapForStandardFonts[charCode];\n        }\n        if (/Arial-?Black/i.test(name)) {\n          var SupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack();\n          for (charCode in SupplementalGlyphMapForArialBlack) {\n            map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n          }\n        } else if (/Calibri/i.test(name)) {\n          const SupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri();\n          for (charCode in SupplementalGlyphMapForCalibri) {\n            map[+charCode] = SupplementalGlyphMapForCalibri[charCode];\n          }\n        }\n\n        var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n        if (!isIdentityUnicode) {\n          this.toUnicode.forEach(function(charCode, unicodeCharCode) {\n            map[+charCode] = unicodeCharCode;\n          });\n        }\n        this.toFontChar = map;\n        this.toUnicode = new ToUnicodeMap(map);\n      } else if (/Symbol/i.test(fontName)) {\n        this.toFontChar = buildToFontChar(\n          SymbolSetEncoding,\n          getGlyphsUnicode(),\n          this.differences\n        );\n      } else if (/Dingbats/i.test(fontName)) {\n        if (/Wingdings/i.test(name)) {\n          warn(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");\n        }\n        this.toFontChar = buildToFontChar(\n          ZapfDingbatsEncoding,\n          getDingbatsGlyphsUnicode(),\n          this.differences\n        );\n      } else if (isStandardFont) {\n        this.toFontChar = buildToFontChar(\n          this.defaultEncoding,\n          getGlyphsUnicode(),\n          this.differences\n        );\n      } else {\n        const glyphsUnicodeMap = getGlyphsUnicode();\n        const map = [];\n        this.toUnicode.forEach((charCode, unicodeCharCode) => {\n          if (!this.composite) {\n            var glyphName =\n              this.differences[charCode] || this.defaultEncoding[charCode];\n            unicode = getUnicodeForGlyph(glyphName, glyphsUnicodeMap);\n            if (unicode !== -1) {\n              unicodeCharCode = unicode;\n            }\n          }\n          map[+charCode] = unicodeCharCode;\n        });\n\n        // Attempt to improve the glyph mapping for (some) composite fonts that\n        // appear to lack meaningful ToUnicode data.\n        if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n          if (/Verdana/i.test(name)) {\n            // Fixes issue11242_reduced.pdf\n            const GlyphMapForStandardFonts = getGlyphMapForStandardFonts();\n            for (charCode in GlyphMapForStandardFonts) {\n              map[+charCode] = GlyphMapForStandardFonts[charCode];\n            }\n          }\n        }\n        this.toFontChar = map;\n      }\n      this.loadedName = fontName.split(\"-\")[0];\n      this.fontType = getFontType(type, subtype);\n    },\n\n    checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n      const VALID_TABLES = [\n        \"OS/2\",\n        \"cmap\",\n        \"head\",\n        \"hhea\",\n        \"hmtx\",\n        \"maxp\",\n        \"name\",\n        \"post\",\n        \"loca\",\n        \"glyf\",\n        \"fpgm\",\n        \"prep\",\n        \"cvt \",\n        \"CFF \",\n      ];\n\n      function readTables(file, numTables) {\n        const tables = Object.create(null);\n        tables[\"OS/2\"] = null;\n        tables[\"cmap\"] = null;\n        tables[\"head\"] = null;\n        tables[\"hhea\"] = null;\n        tables[\"hmtx\"] = null;\n        tables[\"maxp\"] = null;\n        tables[\"name\"] = null;\n        tables[\"post\"] = null;\n\n        for (let i = 0; i < numTables; i++) {\n          const table = readTableEntry(font);\n          if (!VALID_TABLES.includes(table.tag)) {\n            continue; // skipping table if it's not a required or optional table\n          }\n          if (table.length === 0) {\n            continue; // skipping empty tables\n          }\n          tables[table.tag] = table;\n        }\n        return tables;\n      }\n\n      function readTableEntry(file) {\n        var tag = bytesToString(file.getBytes(4));\n\n        var checksum = file.getInt32() >>> 0;\n        var offset = file.getInt32() >>> 0;\n        var length = file.getInt32() >>> 0;\n\n        // Read the table associated data\n        var previousPosition = file.pos;\n        file.pos = file.start ? file.start : 0;\n        file.skip(offset);\n        var data = file.getBytes(length);\n        file.pos = previousPosition;\n\n        if (tag === \"head\") {\n          // clearing checksum adjustment\n          data[8] = data[9] = data[10] = data[11] = 0;\n          data[17] |= 0x20; // Set font optimized for cleartype flag.\n        }\n\n        return {\n          tag,\n          checksum,\n          length,\n          offset,\n          data,\n        };\n      }\n\n      function readOpenTypeHeader(ttf) {\n        return {\n          version: bytesToString(ttf.getBytes(4)),\n          numTables: ttf.getUint16(),\n          searchRange: ttf.getUint16(),\n          entrySelector: ttf.getUint16(),\n          rangeShift: ttf.getUint16(),\n        };\n      }\n\n      function readTrueTypeCollectionHeader(ttc) {\n        const ttcTag = bytesToString(ttc.getBytes(4));\n        assert(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n\n        const majorVersion = ttc.getUint16();\n        const minorVersion = ttc.getUint16();\n        const numFonts = ttc.getInt32() >>> 0;\n        const offsetTable = [];\n        for (let i = 0; i < numFonts; i++) {\n          offsetTable.push(ttc.getInt32() >>> 0);\n        }\n\n        const header = {\n          ttcTag,\n          majorVersion,\n          minorVersion,\n          numFonts,\n          offsetTable,\n        };\n        switch (majorVersion) {\n          case 1:\n            return header;\n          case 2:\n            header.dsigTag = ttc.getInt32() >>> 0;\n            header.dsigLength = ttc.getInt32() >>> 0;\n            header.dsigOffset = ttc.getInt32() >>> 0;\n            return header;\n        }\n        throw new FormatError(\n          `Invalid TrueType Collection majorVersion: ${majorVersion}.`\n        );\n      }\n\n      function readTrueTypeCollectionData(ttc, fontName) {\n        const { numFonts, offsetTable } = readTrueTypeCollectionHeader(ttc);\n\n        for (let i = 0; i < numFonts; i++) {\n          ttc.pos = (ttc.start || 0) + offsetTable[i];\n          const potentialHeader = readOpenTypeHeader(ttc);\n          const potentialTables = readTables(ttc, potentialHeader.numTables);\n\n          if (!potentialTables[\"name\"]) {\n            throw new FormatError(\n              'TrueType Collection font must contain a \"name\" table.'\n            );\n          }\n          const nameTable = readNameTable(potentialTables[\"name\"]);\n\n          for (let j = 0, jj = nameTable.length; j < jj; j++) {\n            for (let k = 0, kk = nameTable[j].length; k < kk; k++) {\n              const nameEntry = nameTable[j][k];\n              if (nameEntry && nameEntry.replace(/\\s/g, \"\") === fontName) {\n                return {\n                  header: potentialHeader,\n                  tables: potentialTables,\n                };\n              }\n            }\n          }\n        }\n        throw new FormatError(\n          `TrueType Collection does not contain \"${fontName}\" font.`\n        );\n      }\n\n      /**\n       * Read the appropriate subtable from the cmap according to 9.6.6.4 from\n       * PDF spec\n       */\n      function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {\n        if (!cmap) {\n          warn(\"No cmap table available.\");\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false,\n          };\n        }\n        var segment;\n        var start = (font.start ? font.start : 0) + cmap.offset;\n        font.pos = start;\n\n        font.getUint16(); // version\n        var numTables = font.getUint16();\n\n        var potentialTable;\n        var canBreak = false;\n        // There's an order of preference in terms of which cmap subtable to\n        // use:\n        // - non-symbolic fonts the preference is a 3,1 table then a 1,0 table\n        // - symbolic fonts the preference is a 3,0 table then a 1,0 table\n        // The following takes advantage of the fact that the tables are sorted\n        // to work.\n        for (var i = 0; i < numTables; i++) {\n          var platformId = font.getUint16();\n          var encodingId = font.getUint16();\n          var offset = font.getInt32() >>> 0;\n          var useTable = false;\n\n          // Sometimes there are multiple of the same type of table. Default\n          // to choosing the first table and skip the rest.\n          if (\n            potentialTable &&\n            potentialTable.platformId === platformId &&\n            potentialTable.encodingId === encodingId\n          ) {\n            continue;\n          }\n\n          if (platformId === 0 && encodingId === 0) {\n            useTable = true;\n            // Continue the loop since there still may be a higher priority\n            // table.\n          } else if (platformId === 1 && encodingId === 0) {\n            useTable = true;\n            // Continue the loop since there still may be a higher priority\n            // table.\n          } else if (\n            platformId === 3 &&\n            encodingId === 1 &&\n            (hasEncoding || !potentialTable)\n          ) {\n            useTable = true;\n            if (!isSymbolicFont) {\n              canBreak = true;\n            }\n          } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n            useTable = true;\n            canBreak = true;\n          }\n\n          if (useTable) {\n            potentialTable = {\n              platformId,\n              encodingId,\n              offset,\n            };\n          }\n          if (canBreak) {\n            break;\n          }\n        }\n\n        if (potentialTable) {\n          font.pos = start + potentialTable.offset;\n        }\n        if (!potentialTable || font.peekByte() === -1) {\n          warn(\"Could not find a preferred cmap table.\");\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false,\n          };\n        }\n\n        var format = font.getUint16();\n        font.getUint16(); // length\n        font.getUint16(); // language\n\n        var hasShortCmap = false;\n        var mappings = [];\n        var j, glyphId;\n\n        // TODO(mack): refactor this cmap subtable reading logic out\n        if (format === 0) {\n          for (j = 0; j < 256; j++) {\n            var index = font.getByte();\n            if (!index) {\n              continue;\n            }\n            mappings.push({\n              charCode: j,\n              glyphId: index,\n            });\n          }\n          hasShortCmap = true;\n        } else if (format === 4) {\n          // re-creating the table in format 4 since the encoding\n          // might be changed\n          var segCount = font.getUint16() >> 1;\n          font.getBytes(6); // skipping range fields\n          var segIndex,\n            segments = [];\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments.push({ end: font.getUint16() });\n          }\n          font.getUint16();\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].start = font.getUint16();\n          }\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].delta = font.getUint16();\n          }\n\n          var offsetsCount = 0;\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            var rangeOffset = font.getUint16();\n            if (!rangeOffset) {\n              segment.offsetIndex = -1;\n              continue;\n            }\n\n            var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n            segment.offsetIndex = offsetIndex;\n            offsetsCount = Math.max(\n              offsetsCount,\n              offsetIndex + segment.end - segment.start + 1\n            );\n          }\n\n          var offsets = [];\n          for (j = 0; j < offsetsCount; j++) {\n            offsets.push(font.getUint16());\n          }\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            start = segment.start;\n            var end = segment.end;\n            var delta = segment.delta;\n            offsetIndex = segment.offsetIndex;\n\n            for (j = start; j <= end; j++) {\n              if (j === 0xffff) {\n                continue;\n              }\n\n              glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n              glyphId = (glyphId + delta) & 0xffff;\n              mappings.push({\n                charCode: j,\n                glyphId,\n              });\n            }\n          }\n        } else if (format === 6) {\n          // Format 6 is a 2-bytes dense mapping, which means the font data\n          // lives glue together even if they are pretty far in the unicode\n          // table. (This looks weird, so I can have missed something), this\n          // works on Linux but seems to fails on Mac so let's rewrite the\n          // cmap table to a 3-1-4 style\n          var firstCode = font.getUint16();\n          var entryCount = font.getUint16();\n\n          for (j = 0; j < entryCount; j++) {\n            glyphId = font.getUint16();\n            var charCode = firstCode + j;\n\n            mappings.push({\n              charCode,\n              glyphId,\n            });\n          }\n        } else {\n          warn(\"cmap table has unsupported format: \" + format);\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false,\n          };\n        }\n\n        // removing duplicate entries\n        mappings.sort(function(a, b) {\n          return a.charCode - b.charCode;\n        });\n        for (i = 1; i < mappings.length; i++) {\n          if (mappings[i - 1].charCode === mappings[i].charCode) {\n            mappings.splice(i, 1);\n            i--;\n          }\n        }\n\n        return {\n          platformId: potentialTable.platformId,\n          encodingId: potentialTable.encodingId,\n          mappings,\n          hasShortCmap,\n        };\n      }\n\n      function sanitizeMetrics(\n        font,\n        header,\n        metrics,\n        numGlyphs,\n        dupFirstEntry\n      ) {\n        if (!header) {\n          if (metrics) {\n            metrics.data = null;\n          }\n          return;\n        }\n\n        font.pos = (font.start ? font.start : 0) + header.offset;\n        font.pos += 4; // version\n        font.pos += 2; // ascent\n        font.pos += 2; // descent\n        font.pos += 2; // linegap\n        font.pos += 2; // adv_width_max\n        font.pos += 2; // min_sb1\n        font.pos += 2; // min_sb2\n        font.pos += 2; // max_extent\n        font.pos += 2; // caret_slope_rise\n        font.pos += 2; // caret_slope_run\n        font.pos += 2; // caret_offset\n        font.pos += 8; // reserved\n        font.pos += 2; // format\n        var numOfMetrics = font.getUint16();\n\n        if (numOfMetrics > numGlyphs) {\n          info(\n            \"The numOfMetrics (\" +\n              numOfMetrics +\n              \") should not be \" +\n              \"greater than the numGlyphs (\" +\n              numGlyphs +\n              \")\"\n          );\n          // Reduce numOfMetrics if it is greater than numGlyphs\n          numOfMetrics = numGlyphs;\n          header.data[34] = (numOfMetrics & 0xff00) >> 8;\n          header.data[35] = numOfMetrics & 0x00ff;\n        }\n\n        var numOfSidebearings = numGlyphs - numOfMetrics;\n        var numMissing =\n          numOfSidebearings - ((metrics.length - numOfMetrics * 4) >> 1);\n\n        if (numMissing > 0) {\n          // For each missing glyph, we set both the width and lsb to 0 (zero).\n          // Since we need to add two properties for each glyph, this explains\n          // the use of |numMissing * 2| when initializing the typed array.\n          var entries = new Uint8Array(metrics.length + numMissing * 2);\n          entries.set(metrics.data);\n          if (dupFirstEntry) {\n            // Set the sidebearing value of the duplicated glyph.\n            entries[metrics.length] = metrics.data[2];\n            entries[metrics.length + 1] = metrics.data[3];\n          }\n          metrics.data = entries;\n        }\n      }\n\n      function sanitizeGlyph(\n        source,\n        sourceStart,\n        sourceEnd,\n        dest,\n        destStart,\n        hintsValid\n      ) {\n        var glyphProfile = {\n          length: 0,\n          sizeOfInstructions: 0,\n        };\n        if (sourceEnd - sourceStart <= 12) {\n          // glyph with data less than 12 is invalid one\n          return glyphProfile;\n        }\n        var glyf = source.subarray(sourceStart, sourceEnd);\n        var contoursCount = signedInt16(glyf[0], glyf[1]);\n        if (contoursCount < 0) {\n          // OTS doesn't like contour count to be less than -1.\n          contoursCount = -1;\n          writeSignedInt16(glyf, 0, contoursCount);\n          // complex glyph, writing as is\n          dest.set(glyf, destStart);\n          glyphProfile.length = glyf.length;\n          return glyphProfile;\n        }\n\n        var i,\n          j = 10,\n          flagsCount = 0;\n        for (i = 0; i < contoursCount; i++) {\n          var endPoint = (glyf[j] << 8) | glyf[j + 1];\n          flagsCount = endPoint + 1;\n          j += 2;\n        }\n        // skipping instructions\n        var instructionsStart = j;\n        var instructionsLength = (glyf[j] << 8) | glyf[j + 1];\n        glyphProfile.sizeOfInstructions = instructionsLength;\n        j += 2 + instructionsLength;\n        var instructionsEnd = j;\n        // validating flags\n        var coordinatesLength = 0;\n        for (i = 0; i < flagsCount; i++) {\n          var flag = glyf[j++];\n          if (flag & 0xc0) {\n            // reserved flags must be zero, cleaning up\n            glyf[j - 1] = flag & 0x3f;\n          }\n          let xLength = 2;\n          if (flag & 2) {\n            xLength = 1;\n          } else if (flag & 16) {\n            xLength = 0;\n          }\n          let yLength = 2;\n          if (flag & 4) {\n            yLength = 1;\n          } else if (flag & 32) {\n            yLength = 0;\n          }\n          const xyLength = xLength + yLength;\n          coordinatesLength += xyLength;\n          if (flag & 8) {\n            var repeat = glyf[j++];\n            i += repeat;\n            coordinatesLength += repeat * xyLength;\n          }\n        }\n        // glyph without coordinates will be rejected\n        if (coordinatesLength === 0) {\n          return glyphProfile;\n        }\n        var glyphDataLength = j + coordinatesLength;\n        if (glyphDataLength > glyf.length) {\n          // not enough data for coordinates\n          return glyphProfile;\n        }\n        if (!hintsValid && instructionsLength > 0) {\n          dest.set(glyf.subarray(0, instructionsStart), destStart);\n          dest.set([0, 0], destStart + instructionsStart);\n          dest.set(\n            glyf.subarray(instructionsEnd, glyphDataLength),\n            destStart + instructionsStart + 2\n          );\n          glyphDataLength -= instructionsLength;\n          if (glyf.length - glyphDataLength > 3) {\n            glyphDataLength = (glyphDataLength + 3) & ~3;\n          }\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n        if (glyf.length - glyphDataLength > 3) {\n          // truncating and aligning to 4 bytes the long glyph data\n          glyphDataLength = (glyphDataLength + 3) & ~3;\n          dest.set(glyf.subarray(0, glyphDataLength), destStart);\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n        // glyph data is fine\n        dest.set(glyf, destStart);\n        glyphProfile.length = glyf.length;\n        return glyphProfile;\n      }\n\n      function sanitizeHead(head, numGlyphs, locaLength) {\n        var data = head.data;\n\n        // Validate version:\n        // Should always be 0x00010000\n        var version = int32(data[0], data[1], data[2], data[3]);\n        if (version >> 16 !== 1) {\n          info(\"Attempting to fix invalid version in head table: \" + version);\n          data[0] = 0;\n          data[1] = 1;\n          data[2] = 0;\n          data[3] = 0;\n        }\n\n        var indexToLocFormat = int16(data[50], data[51]);\n        if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n          info(\n            \"Attempting to fix invalid indexToLocFormat in head table: \" +\n              indexToLocFormat\n          );\n\n          // The value of indexToLocFormat should be 0 if the loca table\n          // consists of short offsets, and should be 1 if the loca table\n          // consists of long offsets.\n          //\n          // The number of entries in the loca table should be numGlyphs + 1.\n          //\n          // Using this information, we can work backwards to deduce if the\n          // size of each offset in the loca table, and thus figure out the\n          // appropriate value for indexToLocFormat.\n\n          var numGlyphsPlusOne = numGlyphs + 1;\n          if (locaLength === numGlyphsPlusOne << 1) {\n            // 0x0000 indicates the loca table consists of short offsets\n            data[50] = 0;\n            data[51] = 0;\n          } else if (locaLength === numGlyphsPlusOne << 2) {\n            // 0x0001 indicates the loca table consists of long offsets\n            data[50] = 0;\n            data[51] = 1;\n          } else {\n            throw new FormatError(\n              \"Could not fix indexToLocFormat: \" + indexToLocFormat\n            );\n          }\n        }\n      }\n\n      function sanitizeGlyphLocations(\n        loca,\n        glyf,\n        numGlyphs,\n        isGlyphLocationsLong,\n        hintsValid,\n        dupFirstEntry,\n        maxSizeOfInstructions\n      ) {\n        var itemSize, itemDecode, itemEncode;\n        if (isGlyphLocationsLong) {\n          itemSize = 4;\n          itemDecode = function fontItemDecodeLong(data, offset) {\n            return (\n              (data[offset] << 24) |\n              (data[offset + 1] << 16) |\n              (data[offset + 2] << 8) |\n              data[offset + 3]\n            );\n          };\n          itemEncode = function fontItemEncodeLong(data, offset, value) {\n            data[offset] = (value >>> 24) & 0xff;\n            data[offset + 1] = (value >> 16) & 0xff;\n            data[offset + 2] = (value >> 8) & 0xff;\n            data[offset + 3] = value & 0xff;\n          };\n        } else {\n          itemSize = 2;\n          itemDecode = function fontItemDecode(data, offset) {\n            return (data[offset] << 9) | (data[offset + 1] << 1);\n          };\n          itemEncode = function fontItemEncode(data, offset, value) {\n            data[offset] = (value >> 9) & 0xff;\n            data[offset + 1] = (value >> 1) & 0xff;\n          };\n        }\n        // The first glyph is duplicated.\n        var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n        var locaDataSize = itemSize * (1 + numGlyphsOut);\n        // Resize loca table to account for duplicated glyph.\n        var locaData = new Uint8Array(locaDataSize);\n        locaData.set(loca.data.subarray(0, locaDataSize));\n        loca.data = locaData;\n        // removing the invalid glyphs\n        var oldGlyfData = glyf.data;\n        var oldGlyfDataLength = oldGlyfData.length;\n        var newGlyfData = new Uint8Array(oldGlyfDataLength);\n        var startOffset = itemDecode(locaData, 0);\n        var writeOffset = 0;\n        var missingGlyphs = Object.create(null);\n        itemEncode(locaData, 0, writeOffset);\n        var i, j;\n        for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n          var endOffset = itemDecode(locaData, j);\n          // The spec says the offsets should be in ascending order, however\n          // some fonts use the offset of 0 to mark a glyph as missing.\n          if (endOffset === 0) {\n            endOffset = startOffset;\n          }\n          if (\n            endOffset > oldGlyfDataLength &&\n            ((oldGlyfDataLength + 3) & ~3) === endOffset\n          ) {\n            // Aspose breaks fonts by aligning the glyphs to the qword, but not\n            // the glyf table size, which makes last glyph out of range.\n            endOffset = oldGlyfDataLength;\n          }\n          if (endOffset > oldGlyfDataLength) {\n            // glyph end offset points outside glyf data, rejecting the glyph\n            startOffset = endOffset;\n          }\n\n          var glyphProfile = sanitizeGlyph(\n            oldGlyfData,\n            startOffset,\n            endOffset,\n            newGlyfData,\n            writeOffset,\n            hintsValid\n          );\n          var newLength = glyphProfile.length;\n          if (newLength === 0) {\n            missingGlyphs[i] = true;\n          }\n          if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n            maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n          }\n          writeOffset += newLength;\n          itemEncode(locaData, j, writeOffset);\n          startOffset = endOffset;\n        }\n\n        if (writeOffset === 0) {\n          // glyf table cannot be empty -- redoing the glyf and loca tables\n          // to have single glyph with one point\n          var simpleGlyph = new Uint8Array([\n            0,\n            1,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            49,\n            0,\n          ]);\n          for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n            itemEncode(locaData, j, simpleGlyph.length);\n          }\n          glyf.data = simpleGlyph;\n        } else if (dupFirstEntry) {\n          // Browsers will not display a glyph at position 0. Typically glyph 0\n          // is notdef, but a number of fonts put a valid glyph there so it must\n          // be duplicated and appended.\n          var firstEntryLength = itemDecode(locaData, itemSize);\n          if (newGlyfData.length > firstEntryLength + writeOffset) {\n            glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n          } else {\n            glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n            glyf.data.set(newGlyfData.subarray(0, writeOffset));\n          }\n          glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n          itemEncode(\n            loca.data,\n            locaData.length - itemSize,\n            writeOffset + firstEntryLength\n          );\n        } else {\n          glyf.data = newGlyfData.subarray(0, writeOffset);\n        }\n        return {\n          missingGlyphs,\n          maxSizeOfInstructions,\n        };\n      }\n\n      function readPostScriptTable(post, properties, maxpNumGlyphs) {\n        var start = (font.start ? font.start : 0) + post.offset;\n        font.pos = start;\n\n        var length = post.length,\n          end = start + length;\n        var version = font.getInt32();\n        // skip rest to the tables\n        font.getBytes(28);\n\n        var glyphNames;\n        var valid = true;\n        var i;\n\n        switch (version) {\n          case 0x00010000:\n            glyphNames = MacStandardGlyphOrdering;\n            break;\n          case 0x00020000:\n            var numGlyphs = font.getUint16();\n            if (numGlyphs !== maxpNumGlyphs) {\n              valid = false;\n              break;\n            }\n            var glyphNameIndexes = [];\n            for (i = 0; i < numGlyphs; ++i) {\n              var index = font.getUint16();\n              if (index >= 32768) {\n                valid = false;\n                break;\n              }\n              glyphNameIndexes.push(index);\n            }\n            if (!valid) {\n              break;\n            }\n            var customNames = [];\n            var strBuf = [];\n            while (font.pos < end) {\n              var stringLength = font.getByte();\n              strBuf.length = stringLength;\n              for (i = 0; i < stringLength; ++i) {\n                strBuf[i] = String.fromCharCode(font.getByte());\n              }\n              customNames.push(strBuf.join(\"\"));\n            }\n            glyphNames = [];\n            for (i = 0; i < numGlyphs; ++i) {\n              var j = glyphNameIndexes[i];\n              if (j < 258) {\n                glyphNames.push(MacStandardGlyphOrdering[j]);\n                continue;\n              }\n              glyphNames.push(customNames[j - 258]);\n            }\n            break;\n          case 0x00030000:\n            break;\n          default:\n            warn(\"Unknown/unsupported post table version \" + version);\n            valid = false;\n            if (properties.defaultEncoding) {\n              glyphNames = properties.defaultEncoding;\n            }\n            break;\n        }\n        properties.glyphNames = glyphNames;\n        return valid;\n      }\n\n      function readNameTable(nameTable) {\n        var start = (font.start ? font.start : 0) + nameTable.offset;\n        font.pos = start;\n\n        var names = [[], []];\n        var length = nameTable.length,\n          end = start + length;\n        var format = font.getUint16();\n        var FORMAT_0_HEADER_LENGTH = 6;\n        if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n          // unsupported name table format or table \"too\" small\n          return names;\n        }\n        var numRecords = font.getUint16();\n        var stringsStart = font.getUint16();\n        var records = [];\n        var NAME_RECORD_LENGTH = 12;\n        var i, ii;\n\n        for (\n          i = 0;\n          i < numRecords && font.pos + NAME_RECORD_LENGTH <= end;\n          i++\n        ) {\n          var r = {\n            platform: font.getUint16(),\n            encoding: font.getUint16(),\n            language: font.getUint16(),\n            name: font.getUint16(),\n            length: font.getUint16(),\n            offset: font.getUint16(),\n          };\n          // using only Macintosh and Windows platform/encoding names\n          if (\n            (r.platform === 1 && r.encoding === 0 && r.language === 0) ||\n            (r.platform === 3 && r.encoding === 1 && r.language === 0x409)\n          ) {\n            records.push(r);\n          }\n        }\n        for (i = 0, ii = records.length; i < ii; i++) {\n          var record = records[i];\n          if (record.length <= 0) {\n            continue; // Nothing to process, ignoring.\n          }\n          var pos = start + stringsStart + record.offset;\n          if (pos + record.length > end) {\n            continue; // outside of name table, ignoring\n          }\n          font.pos = pos;\n          var nameIndex = record.name;\n          if (record.encoding) {\n            // unicode\n            var str = \"\";\n            for (var j = 0, jj = record.length; j < jj; j += 2) {\n              str += String.fromCharCode(font.getUint16());\n            }\n            names[1][nameIndex] = str;\n          } else {\n            names[0][nameIndex] = bytesToString(font.getBytes(record.length));\n          }\n        }\n        return names;\n      }\n\n      // prettier-ignore\n      var TTOpsStackDeltas = [\n        0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5,\n        -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1,\n        1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1,\n        0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2,\n        0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1,\n        -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1,\n        -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n        -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1,\n        -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n      // 0xC0-DF == -1 and 0xE0-FF == -2\n\n      function sanitizeTTProgram(table, ttContext) {\n        var data = table.data;\n        var i = 0,\n          j,\n          n,\n          b,\n          funcId,\n          pc,\n          lastEndf = 0,\n          lastDeff = 0;\n        var stack = [];\n        var callstack = [];\n        var functionsCalled = [];\n        var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n        var inFDEF = false,\n          ifLevel = 0,\n          inELSE = 0;\n        for (var ii = data.length; i < ii; ) {\n          var op = data[i++];\n          // The TrueType instruction set docs can be found at\n          // https://developer.apple.com/fonts/TTRefMan/RM05/Chap5.html\n          if (op === 0x40) {\n            // NPUSHB - pushes n bytes\n            n = data[i++];\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if (op === 0x41) {\n            // NPUSHW - pushes n words\n            n = data[i++];\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push((b << 8) | data[i++]);\n              }\n            }\n          } else if ((op & 0xf8) === 0xb0) {\n            // PUSHB - pushes bytes\n            n = op - 0xb0 + 1;\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if ((op & 0xf8) === 0xb8) {\n            // PUSHW - pushes words\n            n = op - 0xb8 + 1;\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push((b << 8) | data[i++]);\n              }\n            }\n          } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n            // CALL\n            if (!inFDEF && !inELSE) {\n              // collecting information about which functions are used\n              funcId = stack[stack.length - 1];\n              if (isNaN(funcId)) {\n                info(\"TT: CALL empty stack (or invalid entry).\");\n              } else {\n                ttContext.functionsUsed[funcId] = true;\n                if (funcId in ttContext.functionsStackDeltas) {\n                  const newStackLength =\n                    stack.length + ttContext.functionsStackDeltas[funcId];\n                  if (newStackLength < 0) {\n                    warn(\"TT: CALL invalid functions stack delta.\");\n                    ttContext.hintsValid = false;\n                    return;\n                  }\n                  stack.length = newStackLength;\n                } else if (\n                  funcId in ttContext.functionsDefined &&\n                  !functionsCalled.includes(funcId)\n                ) {\n                  callstack.push({ data, i, stackTop: stack.length - 1 });\n                  functionsCalled.push(funcId);\n                  pc = ttContext.functionsDefined[funcId];\n                  if (!pc) {\n                    warn(\"TT: CALL non-existent function\");\n                    ttContext.hintsValid = false;\n                    return;\n                  }\n                  data = pc.data;\n                  i = pc.i;\n                }\n              }\n            }\n          } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n            // FDEF\n            if (inFDEF || inELSE) {\n              warn(\"TT: nested FDEFs not allowed\");\n              tooComplexToFollowFunctions = true;\n            }\n            inFDEF = true;\n            // collecting information about which functions are defined\n            lastDeff = i;\n            funcId = stack.pop();\n            ttContext.functionsDefined[funcId] = { data, i };\n          } else if (op === 0x2d) {\n            // ENDF - end of function\n            if (inFDEF) {\n              inFDEF = false;\n              lastEndf = i;\n            } else {\n              pc = callstack.pop();\n              if (!pc) {\n                warn(\"TT: ENDF bad stack\");\n                ttContext.hintsValid = false;\n                return;\n              }\n              funcId = functionsCalled.pop();\n              data = pc.data;\n              i = pc.i;\n              ttContext.functionsStackDeltas[funcId] =\n                stack.length - pc.stackTop;\n            }\n          } else if (op === 0x89) {\n            // IDEF - instruction definition\n            if (inFDEF || inELSE) {\n              warn(\"TT: nested IDEFs not allowed\");\n              tooComplexToFollowFunctions = true;\n            }\n            inFDEF = true;\n            // recording it as a function to track ENDF\n            lastDeff = i;\n          } else if (op === 0x58) {\n            // IF\n            ++ifLevel;\n          } else if (op === 0x1b) {\n            // ELSE\n            inELSE = ifLevel;\n          } else if (op === 0x59) {\n            // EIF\n            if (inELSE === ifLevel) {\n              inELSE = 0;\n            }\n            --ifLevel;\n          } else if (op === 0x1c) {\n            // JMPR\n            if (!inFDEF && !inELSE) {\n              var offset = stack[stack.length - 1];\n              // only jumping forward to prevent infinite loop\n              if (offset > 0) {\n                i += offset - 1;\n              }\n            }\n          }\n          // Adjusting stack not extactly, but just enough to get function id\n          if (!inFDEF && !inELSE) {\n            let stackDelta = 0;\n            if (op <= 0x8e) {\n              stackDelta = TTOpsStackDeltas[op];\n            } else if (op >= 0xc0 && op <= 0xdf) {\n              stackDelta = -1;\n            } else if (op >= 0xe0) {\n              stackDelta = -2;\n            }\n            if (op >= 0x71 && op <= 0x75) {\n              n = stack.pop();\n              if (!isNaN(n)) {\n                stackDelta = -n * 2;\n              }\n            }\n            while (stackDelta < 0 && stack.length > 0) {\n              stack.pop();\n              stackDelta++;\n            }\n            while (stackDelta > 0) {\n              stack.push(NaN); // pushing any number into stack\n              stackDelta--;\n            }\n          }\n        }\n        ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n        var content = [data];\n        if (i > data.length) {\n          content.push(new Uint8Array(i - data.length));\n        }\n        if (lastDeff > lastEndf) {\n          warn(\"TT: complementing a missing function tail\");\n          // new function definition started, but not finished\n          // complete function by [CLEAR, ENDF]\n          content.push(new Uint8Array([0x22, 0x2d]));\n        }\n        foldTTTable(table, content);\n      }\n\n      function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n        if (ttContext.tooComplexToFollowFunctions) {\n          return;\n        }\n        if (ttContext.functionsDefined.length > maxFunctionDefs) {\n          warn(\"TT: more functions defined than expected\");\n          ttContext.hintsValid = false;\n          return;\n        }\n        for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n          if (j > maxFunctionDefs) {\n            warn(\"TT: invalid function id: \" + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n          if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n            warn(\"TT: undefined function: \" + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n        }\n      }\n\n      function foldTTTable(table, content) {\n        if (content.length > 1) {\n          // concatenating the content items\n          var newLength = 0;\n          var j, jj;\n          for (j = 0, jj = content.length; j < jj; j++) {\n            newLength += content[j].length;\n          }\n          newLength = (newLength + 3) & ~3;\n          var result = new Uint8Array(newLength);\n          var pos = 0;\n          for (j = 0, jj = content.length; j < jj; j++) {\n            result.set(content[j], pos);\n            pos += content[j].length;\n          }\n          table.data = result;\n          table.length = newLength;\n        }\n      }\n\n      function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n        var ttContext = {\n          functionsDefined: [],\n          functionsUsed: [],\n          functionsStackDeltas: [],\n          tooComplexToFollowFunctions: false,\n          hintsValid: true,\n        };\n        if (fpgm) {\n          sanitizeTTProgram(fpgm, ttContext);\n        }\n        if (prep) {\n          sanitizeTTProgram(prep, ttContext);\n        }\n        if (fpgm) {\n          checkInvalidFunctions(ttContext, maxFunctionDefs);\n        }\n        if (cvt && cvt.length & 1) {\n          var cvtData = new Uint8Array(cvt.length + 1);\n          cvtData.set(cvt.data);\n          cvt.data = cvtData;\n        }\n        return ttContext.hintsValid;\n      }\n\n      // The following steps modify the original font data, making copy\n      font = new Stream(new Uint8Array(font.getBytes()));\n\n      let header, tables;\n      if (isTrueTypeCollectionFile(font)) {\n        const ttcData = readTrueTypeCollectionData(font, this.name);\n        header = ttcData.header;\n        tables = ttcData.tables;\n      } else {\n        header = readOpenTypeHeader(font);\n        tables = readTables(font, header.numTables);\n      }\n      let cff, cffFile;\n\n      var isTrueType = !tables[\"CFF \"];\n      if (!isTrueType) {\n        const isComposite =\n          properties.composite &&\n          ((properties.cidToGidMap || []).length > 0 ||\n            !(properties.cMap instanceof IdentityCMap));\n        // OpenType font (skip composite fonts with non-default glyph mapping).\n        if (\n          (header.version === \"OTTO\" && !isComposite) ||\n          !tables[\"head\"] ||\n          !tables[\"hhea\"] ||\n          !tables[\"maxp\"] ||\n          !tables[\"post\"]\n        ) {\n          // No major tables: throwing everything at `CFFFont`.\n          cffFile = new Stream(tables[\"CFF \"].data);\n          cff = new CFFFont(cffFile, properties);\n\n          adjustWidths(properties);\n\n          return this.convert(name, cff, properties);\n        }\n\n        delete tables[\"glyf\"];\n        delete tables[\"loca\"];\n        delete tables[\"fpgm\"];\n        delete tables[\"prep\"];\n        delete tables[\"cvt \"];\n        this.isOpenType = true;\n      } else {\n        if (!tables[\"loca\"]) {\n          throw new FormatError('Required \"loca\" table is not found');\n        }\n        if (!tables[\"glyf\"]) {\n          warn('Required \"glyf\" table is not found -- trying to recover.');\n          // Note: We use `sanitizeGlyphLocations` to add dummy glyf data below.\n          tables[\"glyf\"] = {\n            tag: \"glyf\",\n            data: new Uint8Array(0),\n          };\n        }\n        this.isOpenType = false;\n      }\n\n      if (!tables[\"maxp\"]) {\n        throw new FormatError('Required \"maxp\" table is not found');\n      }\n\n      font.pos = (font.start || 0) + tables[\"maxp\"].offset;\n      var version = font.getInt32();\n      const numGlyphs = font.getUint16();\n      // Glyph 0 is duplicated and appended.\n      let numGlyphsOut = numGlyphs + 1;\n      let dupFirstEntry = true;\n      if (numGlyphsOut > 0xffff) {\n        dupFirstEntry = false;\n        numGlyphsOut = numGlyphs;\n        warn(\"Not enough space in glyfs to duplicate first glyph.\");\n      }\n      var maxFunctionDefs = 0;\n      var maxSizeOfInstructions = 0;\n      if (version >= 0x00010000 && tables[\"maxp\"].length >= 22) {\n        // maxZones can be invalid\n        font.pos += 8;\n        var maxZones = font.getUint16();\n        if (maxZones > 2) {\n          // reset to 2 if font has invalid maxZones\n          tables[\"maxp\"].data[14] = 0;\n          tables[\"maxp\"].data[15] = 2;\n        }\n        font.pos += 4;\n        maxFunctionDefs = font.getUint16();\n        font.pos += 4;\n        maxSizeOfInstructions = font.getUint16();\n      }\n\n      tables[\"maxp\"].data[4] = numGlyphsOut >> 8;\n      tables[\"maxp\"].data[5] = numGlyphsOut & 255;\n\n      var hintsValid = sanitizeTTPrograms(\n        tables[\"fpgm\"],\n        tables[\"prep\"],\n        tables[\"cvt \"],\n        maxFunctionDefs\n      );\n      if (!hintsValid) {\n        delete tables[\"fpgm\"];\n        delete tables[\"prep\"];\n        delete tables[\"cvt \"];\n      }\n\n      // Ensure the hmtx table contains the advance width and\n      // sidebearings information for numGlyphs in the maxp table\n      sanitizeMetrics(\n        font,\n        tables[\"hhea\"],\n        tables[\"hmtx\"],\n        numGlyphsOut,\n        dupFirstEntry\n      );\n\n      if (!tables[\"head\"]) {\n        throw new FormatError('Required \"head\" table is not found');\n      }\n\n      sanitizeHead(\n        tables[\"head\"],\n        numGlyphs,\n        isTrueType ? tables[\"loca\"].length : 0\n      );\n\n      var missingGlyphs = Object.create(null);\n      if (isTrueType) {\n        var isGlyphLocationsLong = int16(\n          tables[\"head\"].data[50],\n          tables[\"head\"].data[51]\n        );\n        var glyphsInfo = sanitizeGlyphLocations(\n          tables[\"loca\"],\n          tables[\"glyf\"],\n          numGlyphs,\n          isGlyphLocationsLong,\n          hintsValid,\n          dupFirstEntry,\n          maxSizeOfInstructions\n        );\n        missingGlyphs = glyphsInfo.missingGlyphs;\n\n        // Some fonts have incorrect maxSizeOfInstructions values, so we use\n        // the computed value instead.\n        if (version >= 0x00010000 && tables[\"maxp\"].length >= 22) {\n          tables[\"maxp\"].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n          tables[\"maxp\"].data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n        }\n      }\n      if (!tables[\"hhea\"]) {\n        throw new FormatError('Required \"hhea\" table is not found');\n      }\n\n      // Sanitizer reduces the glyph advanceWidth to the maxAdvanceWidth\n      // Sometimes it's 0. That needs to be fixed\n      if (tables[\"hhea\"].data[10] === 0 && tables[\"hhea\"].data[11] === 0) {\n        tables[\"hhea\"].data[10] = 0xff;\n        tables[\"hhea\"].data[11] = 0xff;\n      }\n\n      // Extract some more font properties from the OpenType head and\n      // hhea tables; yMin and descent value are always negative.\n      var metricsOverride = {\n        unitsPerEm: int16(tables[\"head\"].data[18], tables[\"head\"].data[19]),\n        yMax: int16(tables[\"head\"].data[42], tables[\"head\"].data[43]),\n        yMin: signedInt16(tables[\"head\"].data[38], tables[\"head\"].data[39]),\n        ascent: int16(tables[\"hhea\"].data[4], tables[\"hhea\"].data[5]),\n        descent: signedInt16(tables[\"hhea\"].data[6], tables[\"hhea\"].data[7]),\n      };\n\n      // PDF FontDescriptor metrics lie -- using data from actual font.\n      this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n      this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n      // The 'post' table has glyphs names.\n      if (tables[\"post\"]) {\n        readPostScriptTable(tables[\"post\"], properties, numGlyphs);\n      }\n\n      // The original 'post' table is not needed, replace it.\n      tables[\"post\"] = {\n        tag: \"post\",\n        data: createPostTable(properties),\n      };\n\n      var charCodeToGlyphId = [],\n        charCode;\n\n      // Helper function to try to skip mapping of empty glyphs.\n      function hasGlyph(glyphId) {\n        return !missingGlyphs[glyphId];\n      }\n\n      if (properties.composite) {\n        var cidToGidMap = properties.cidToGidMap || [];\n        var isCidToGidMapEmpty = cidToGidMap.length === 0;\n\n        properties.cMap.forEach(function(charCode, cid) {\n          if (cid > 0xffff) {\n            throw new FormatError(\"Max size of CID is 65,535\");\n          }\n          var glyphId = -1;\n          if (isCidToGidMapEmpty) {\n            glyphId = cid;\n          } else if (cidToGidMap[cid] !== undefined) {\n            glyphId = cidToGidMap[cid];\n          }\n\n          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        });\n      } else {\n        // Most of the following logic in this code branch is based on the\n        // 9.6.6.4 of the PDF spec.\n        var cmapTable = readCmapTable(\n          tables[\"cmap\"],\n          font,\n          this.isSymbolicFont,\n          properties.hasEncoding\n        );\n        var cmapPlatformId = cmapTable.platformId;\n        var cmapEncodingId = cmapTable.encodingId;\n        var cmapMappings = cmapTable.mappings;\n        var cmapMappingsLength = cmapMappings.length;\n\n        // The spec seems to imply that if the font is symbolic the encoding\n        // should be ignored, this doesn't appear to work for 'preistabelle.pdf'\n        // where the the font is symbolic and it has an encoding.\n        if (\n          (properties.hasEncoding &&\n            ((cmapPlatformId === 3 && cmapEncodingId === 1) ||\n              (cmapPlatformId === 1 && cmapEncodingId === 0))) ||\n          (cmapPlatformId === -1 &&\n          cmapEncodingId === -1 && // Temporary hack\n            !!getEncoding(properties.baseEncodingName))\n        ) {\n          // Temporary hack\n          // When no preferred cmap table was found and |baseEncodingName| is\n          // one of the predefined encodings, we seem to obtain a better\n          // |charCodeToGlyphId| map from the code below (fixes bug 1057544).\n          // TODO: Note that this is a hack which should be removed as soon as\n          //       we have proper support for more exotic cmap tables.\n\n          var baseEncoding = [];\n          if (\n            properties.baseEncodingName === \"MacRomanEncoding\" ||\n            properties.baseEncodingName === \"WinAnsiEncoding\"\n          ) {\n            baseEncoding = getEncoding(properties.baseEncodingName);\n          }\n          var glyphsUnicodeMap = getGlyphsUnicode();\n          for (charCode = 0; charCode < 256; charCode++) {\n            var glyphName, standardGlyphName;\n            if (this.differences && charCode in this.differences) {\n              glyphName = this.differences[charCode];\n            } else if (\n              charCode in baseEncoding &&\n              baseEncoding[charCode] !== \"\"\n            ) {\n              glyphName = baseEncoding[charCode];\n            } else {\n              glyphName = StandardEncoding[charCode];\n            }\n            if (!glyphName) {\n              continue;\n            }\n            // Ensure that non-standard glyph names are resolved to valid ones.\n            standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n            var unicodeOrCharCode;\n            if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n              unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n            } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n              // TODO: the encoding needs to be updated with mac os table.\n              unicodeOrCharCode = MacRomanEncoding.indexOf(standardGlyphName);\n            }\n\n            var found = false;\n            for (let i = 0; i < cmapMappingsLength; ++i) {\n              if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n                continue;\n              }\n              charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n              found = true;\n              break;\n            }\n            if (!found && properties.glyphNames) {\n              // Try to map using the post table.\n              var glyphId = properties.glyphNames.indexOf(glyphName);\n              // The post table ought to use the same kind of glyph names as the\n              // `differences` array, but check the standard ones as a fallback.\n              if (glyphId === -1 && standardGlyphName !== glyphName) {\n                glyphId = properties.glyphNames.indexOf(standardGlyphName);\n              }\n              if (glyphId > 0 && hasGlyph(glyphId)) {\n                charCodeToGlyphId[charCode] = glyphId;\n              }\n            }\n          }\n        } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n          // Default Unicode semantics, use the charcodes as is.\n          for (let i = 0; i < cmapMappingsLength; ++i) {\n            charCodeToGlyphId[cmapMappings[i].charCode] =\n              cmapMappings[i].glyphId;\n          }\n        } else {\n          // When there is only a (1, 0) cmap table, the char code is a single\n          // byte and it is used directly as the char code.\n\n          // When a (3, 0) cmap table is present, it is used instead but the\n          // spec has special rules for char codes in the range of 0xF000 to\n          // 0xF0FF and it says the (3, 0) table should map the values from\n          // the (1, 0) table by prepending 0xF0 to the char codes. To reverse\n          // this, the upper bits of the char code are cleared, but only for the\n          // special range since some PDFs have char codes outside of this range\n          // (e.g. 0x2013) which when masked would overwrite other values in the\n          // cmap.\n          for (let i = 0; i < cmapMappingsLength; ++i) {\n            charCode = cmapMappings[i].charCode;\n            if (\n              cmapPlatformId === 3 &&\n              charCode >= 0xf000 &&\n              charCode <= 0xf0ff\n            ) {\n              charCode &= 0xff;\n            }\n            charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n          }\n        }\n      }\n\n      if (charCodeToGlyphId.length === 0) {\n        // defines at least one glyph\n        charCodeToGlyphId[0] = 0;\n      }\n\n      // Typically glyph 0 is duplicated and the mapping must be updated, but if\n      // there isn't enough room to duplicate, the glyph id is left the same. In\n      // this case, glyph 0 may not work correctly, but that is better than\n      // having the whole font fail.\n      let glyphZeroId = numGlyphsOut - 1;\n      if (!dupFirstEntry) {\n        glyphZeroId = 0;\n      }\n\n      // Converting glyphs and ids into font's cmap table\n      var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n      this.toFontChar = newMapping.toFontChar;\n      tables[\"cmap\"] = {\n        tag: \"cmap\",\n        data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut),\n      };\n\n      if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"])) {\n        tables[\"OS/2\"] = {\n          tag: \"OS/2\",\n          data: createOS2Table(\n            properties,\n            newMapping.charCodeToGlyphId,\n            metricsOverride\n          ),\n        };\n      }\n\n      if (!isTrueType) {\n        try {\n          // Trying to repair CFF file\n          cffFile = new Stream(tables[\"CFF \"].data);\n          var parser = new CFFParser(\n            cffFile,\n            properties,\n            SEAC_ANALYSIS_ENABLED\n          );\n          cff = parser.parse();\n          cff.duplicateFirstGlyph();\n          var compiler = new CFFCompiler(cff);\n          tables[\"CFF \"].data = compiler.compile();\n        } catch (e) {\n          warn(\"Failed to compile font \" + properties.loadedName);\n        }\n      }\n\n      // Re-creating 'name' table\n      if (!tables[\"name\"]) {\n        tables[\"name\"] = {\n          tag: \"name\",\n          data: createNameTable(this.name),\n        };\n      } else {\n        // ... using existing 'name' table as prototype\n        var namePrototype = readNameTable(tables[\"name\"]);\n        tables[\"name\"].data = createNameTable(name, namePrototype);\n      }\n\n      var builder = new OpenTypeFileBuilder(header.version);\n      for (var tableTag in tables) {\n        builder.addTable(tableTag, tables[tableTag].data);\n      }\n      return builder.toArray();\n    },\n\n    convert: function Font_convert(fontName, font, properties) {\n      // TODO: Check the charstring widths to determine this.\n      properties.fixedPitch = false;\n\n      if (properties.builtInEncoding) {\n        // For Type1 fonts that do not include either `ToUnicode` or `Encoding`\n        // data, attempt to use the `builtInEncoding` to improve text selection.\n        adjustToUnicode(properties, properties.builtInEncoding);\n      }\n\n      // Type 1 fonts have a notdef inserted at the beginning, so glyph 0\n      // becomes glyph 1. In a CFF font glyph 0 is appended to the end of the\n      // char strings.\n      let glyphZeroId = 1;\n      if (font instanceof CFFFont) {\n        glyphZeroId = font.numGlyphs - 1;\n      }\n      var mapping = font.getGlyphMapping(properties);\n      var newMapping = adjustMapping(\n        mapping,\n        font.hasGlyphId.bind(font),\n        glyphZeroId\n      );\n      this.toFontChar = newMapping.toFontChar;\n      var numGlyphs = font.numGlyphs;\n\n      function getCharCodes(charCodeToGlyphId, glyphId) {\n        var charCodes = null;\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            if (!charCodes) {\n              charCodes = [];\n            }\n            charCodes.push(charCode | 0);\n          }\n        }\n        return charCodes;\n      }\n\n      function createCharCode(charCodeToGlyphId, glyphId) {\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            return charCode | 0;\n          }\n        }\n        newMapping.charCodeToGlyphId[\n          newMapping.nextAvailableFontCharCode\n        ] = glyphId;\n        return newMapping.nextAvailableFontCharCode++;\n      }\n\n      var seacs = font.seacs;\n      if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n        var matrix = properties.fontMatrix || FONT_IDENTITY_MATRIX;\n        var charset = font.getCharset();\n        var seacMap = Object.create(null);\n        for (var glyphId in seacs) {\n          glyphId |= 0;\n          var seac = seacs[glyphId];\n          var baseGlyphName = StandardEncoding[seac[2]];\n          var accentGlyphName = StandardEncoding[seac[3]];\n          var baseGlyphId = charset.indexOf(baseGlyphName);\n          var accentGlyphId = charset.indexOf(accentGlyphName);\n          if (baseGlyphId < 0 || accentGlyphId < 0) {\n            continue;\n          }\n          var accentOffset = {\n            x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n            y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5],\n          };\n\n          var charCodes = getCharCodes(mapping, glyphId);\n          if (!charCodes) {\n            // There's no point in mapping it if the char code was never mapped\n            // to begin with.\n            continue;\n          }\n          for (var i = 0, ii = charCodes.length; i < ii; i++) {\n            var charCode = charCodes[i];\n            // Find a fontCharCode that maps to the base and accent glyphs.\n            // If one doesn't exists, create it.\n            var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n            var baseFontCharCode = createCharCode(\n              charCodeToGlyphId,\n              baseGlyphId\n            );\n            var accentFontCharCode = createCharCode(\n              charCodeToGlyphId,\n              accentGlyphId\n            );\n            seacMap[charCode] = {\n              baseFontCharCode,\n              accentFontCharCode,\n              accentOffset,\n            };\n          }\n        }\n        properties.seacMap = seacMap;\n      }\n\n      var unitsPerEm = 1 / (properties.fontMatrix || FONT_IDENTITY_MATRIX)[0];\n\n      var builder = new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n      // PostScript Font Program\n      builder.addTable(\"CFF \", font.data);\n      // OS/2 and Windows Specific metrics\n      builder.addTable(\n        \"OS/2\",\n        createOS2Table(properties, newMapping.charCodeToGlyphId)\n      );\n      // Character to glyphs mapping\n      builder.addTable(\n        \"cmap\",\n        createCmapTable(newMapping.charCodeToGlyphId, numGlyphs)\n      );\n      // Font header\n      builder.addTable(\n        \"head\",\n        \"\\x00\\x01\\x00\\x00\" + // Version number\n        \"\\x00\\x00\\x10\\x00\" + // fontRevision\n        \"\\x00\\x00\\x00\\x00\" + // checksumAdjustement\n        \"\\x5F\\x0F\\x3C\\xF5\" + // magicNumber\n        \"\\x00\\x00\" + // Flags\n        safeString16(unitsPerEm) + // unitsPerEM\n        \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + // creation date\n        \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + // modifification date\n        \"\\x00\\x00\" + // xMin\n        safeString16(properties.descent) + // yMin\n        \"\\x0F\\xFF\" + // xMax\n        safeString16(properties.ascent) + // yMax\n        string16(properties.italicAngle ? 2 : 0) + // macStyle\n        \"\\x00\\x11\" + // lowestRecPPEM\n        \"\\x00\\x00\" + // fontDirectionHint\n        \"\\x00\\x00\" + // indexToLocFormat\n          \"\\x00\\x00\"\n      ); // glyphDataFormat\n\n      // Horizontal header\n      builder.addTable(\n        \"hhea\",\n        \"\\x00\\x01\\x00\\x00\" + // Version number\n        safeString16(properties.ascent) + // Typographic Ascent\n        safeString16(properties.descent) + // Typographic Descent\n        \"\\x00\\x00\" + // Line Gap\n        \"\\xFF\\xFF\" + // advanceWidthMax\n        \"\\x00\\x00\" + // minLeftSidebearing\n        \"\\x00\\x00\" + // minRightSidebearing\n        \"\\x00\\x00\" + // xMaxExtent\n        safeString16(properties.capHeight) + // caretSlopeRise\n        safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + // caretSlopeRun\n        \"\\x00\\x00\" + // caretOffset\n        \"\\x00\\x00\" + // -reserved-\n        \"\\x00\\x00\" + // -reserved-\n        \"\\x00\\x00\" + // -reserved-\n        \"\\x00\\x00\" + // -reserved-\n        \"\\x00\\x00\" + // metricDataFormat\n          string16(numGlyphs)\n      ); // Number of HMetrics\n\n      // Horizontal metrics\n      builder.addTable(\n        \"hmtx\",\n        (function fontFieldsHmtx() {\n          var charstrings = font.charstrings;\n          var cffWidths = font.cff ? font.cff.widths : null;\n          var hmtx = \"\\x00\\x00\\x00\\x00\"; // Fake .notdef\n          for (var i = 1, ii = numGlyphs; i < ii; i++) {\n            var width = 0;\n            if (charstrings) {\n              var charstring = charstrings[i - 1];\n              width = \"width\" in charstring ? charstring.width : 0;\n            } else if (cffWidths) {\n              width = Math.ceil(cffWidths[i] || 0);\n            }\n            hmtx += string16(width) + string16(0);\n          }\n          return hmtx;\n        })()\n      );\n\n      // Maximum profile\n      builder.addTable(\n        \"maxp\",\n        \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs) // Version number\n      ); // Num of glyphs\n\n      // Naming tables\n      builder.addTable(\"name\", createNameTable(fontName));\n\n      // PostScript information\n      builder.addTable(\"post\", createPostTable(properties));\n\n      return builder.toArray();\n    },\n\n    get spaceWidth() {\n      if (\"_shadowWidth\" in this) {\n        return this._shadowWidth;\n      }\n\n      // trying to estimate space character width\n      var possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n      var width;\n      for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n        var glyphName = possibleSpaceReplacements[i];\n        // if possible, getting width by glyph name\n        if (glyphName in this.widths) {\n          width = this.widths[glyphName];\n          break;\n        }\n        var glyphsUnicodeMap = getGlyphsUnicode();\n        var glyphUnicode = glyphsUnicodeMap[glyphName];\n        // finding the charcode via unicodeToCID map\n        var charcode = 0;\n        if (this.composite) {\n          if (this.cMap.contains(glyphUnicode)) {\n            charcode = this.cMap.lookup(glyphUnicode);\n          }\n        }\n        // ... via toUnicode map\n        if (!charcode && this.toUnicode) {\n          charcode = this.toUnicode.charCodeOf(glyphUnicode);\n        }\n        // setting it to unicode if negative or undefined\n        if (charcode <= 0) {\n          charcode = glyphUnicode;\n        }\n        // trying to get width via charcode\n        width = this.widths[charcode];\n        if (width) {\n          break; // the non-zero width found\n        }\n      }\n      width = width || this.defaultWidth;\n      // Do not shadow the property here. See discussion:\n      // https://github.com/mozilla/pdf.js/pull/2127#discussion_r1662280\n      this._shadowWidth = width;\n      return width;\n    },\n\n    charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n      var fontCharCode, width, operatorListId;\n\n      var widthCode = charcode;\n      if (this.cMap && this.cMap.contains(charcode)) {\n        widthCode = this.cMap.lookup(charcode);\n      }\n      width = this.widths[widthCode];\n      width = isNum(width) ? width : this.defaultWidth;\n      var vmetric = this.vmetrics && this.vmetrics[widthCode];\n\n      let unicode =\n        this.toUnicode.get(charcode) ||\n        this.fallbackToUnicode.get(charcode) ||\n        charcode;\n      if (typeof unicode === \"number\") {\n        unicode = String.fromCharCode(unicode);\n      }\n\n      var isInFont = charcode in this.toFontChar;\n      // First try the toFontChar map, if it's not there then try falling\n      // back to the char code.\n      fontCharCode = this.toFontChar[charcode] || charcode;\n      if (this.missingFile) {\n        const glyphName =\n          this.differences[charcode] || this.defaultEncoding[charcode];\n        if (\n          (glyphName === \".notdef\" || glyphName === \"\") &&\n          this.type === \"Type1\"\n        ) {\n          // .notdef glyphs should be invisible in non-embedded Type1 fonts, so\n          // replace them with spaces.\n          fontCharCode = 0x20;\n        }\n        fontCharCode = mapSpecialUnicodeValues(fontCharCode);\n      }\n\n      if (this.isType3Font) {\n        // Font char code in this case is actually a glyph name.\n        operatorListId = fontCharCode;\n      }\n\n      var accent = null;\n      if (this.seacMap && this.seacMap[charcode]) {\n        isInFont = true;\n        var seac = this.seacMap[charcode];\n        fontCharCode = seac.baseFontCharCode;\n        accent = {\n          fontChar: String.fromCodePoint(seac.accentFontCharCode),\n          offset: seac.accentOffset,\n        };\n      }\n\n      var fontChar =\n        typeof fontCharCode === \"number\"\n          ? String.fromCodePoint(fontCharCode)\n          : \"\";\n\n      var glyph = this.glyphCache[charcode];\n      if (\n        !glyph ||\n        !glyph.matchesForCache(\n          fontChar,\n          unicode,\n          accent,\n          width,\n          vmetric,\n          operatorListId,\n          isSpace,\n          isInFont\n        )\n      ) {\n        glyph = new Glyph(\n          fontChar,\n          unicode,\n          accent,\n          width,\n          vmetric,\n          operatorListId,\n          isSpace,\n          isInFont\n        );\n        this.glyphCache[charcode] = glyph;\n      }\n      return glyph;\n    },\n\n    charsToGlyphs: function Font_charsToGlyphs(chars) {\n      var charsCache = this.charsCache;\n      var glyphs, glyph, charcode;\n\n      // if we translated this string before, just grab it from the cache\n      if (charsCache) {\n        glyphs = charsCache[chars];\n        if (glyphs) {\n          return glyphs;\n        }\n      }\n\n      // lazily create the translation cache\n      if (!charsCache) {\n        charsCache = this.charsCache = Object.create(null);\n      }\n\n      glyphs = [];\n      var charsCacheKey = chars;\n      var i = 0,\n        ii;\n\n      if (this.cMap) {\n        // composite fonts have multi-byte strings convert the string from\n        // single-byte to multi-byte\n        var c = Object.create(null);\n        while (i < chars.length) {\n          this.cMap.readCharCode(chars, i, c);\n          charcode = c.charcode;\n          var length = c.length;\n          i += length;\n          // Space is char with code 0x20 and length 1 in multiple-byte codes.\n          var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n          glyph = this.charToGlyph(charcode, isSpace);\n          glyphs.push(glyph);\n        }\n      } else {\n        for (i = 0, ii = chars.length; i < ii; ++i) {\n          charcode = chars.charCodeAt(i);\n          glyph = this.charToGlyph(charcode, charcode === 0x20);\n          glyphs.push(glyph);\n        }\n      }\n\n      // Enter the translated string into the cache\n      return (charsCache[charsCacheKey] = glyphs);\n    },\n\n    get glyphCacheValues() {\n      return Object.values(this.glyphCache);\n    },\n  };\n\n  return Font;\n})();\n\nvar ErrorFont = (function ErrorFontClosure() {\n  function ErrorFont(error) {\n    this.error = error;\n    this.loadedName = \"g_font_error\";\n    this.missingFile = true;\n  }\n\n  ErrorFont.prototype = {\n    charsToGlyphs: function ErrorFont_charsToGlyphs() {\n      return [];\n    },\n    exportData: function ErrorFont_exportData() {\n      return { error: this.error };\n    },\n  };\n\n  return ErrorFont;\n})();\n\n/**\n * Shared logic for building a char code to glyph id mapping for Type1 and\n * simple CFF fonts. See section 9.6.6.2 of the spec.\n * @param {Object} properties Font properties object.\n * @param {Object} builtInEncoding The encoding contained within the actual font\n * data.\n * @param {Array} glyphNames Array of glyph names where the index is the\n * glyph ID.\n * @returns {Object} A char code to glyph ID map.\n */\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n  var charCodeToGlyphId = Object.create(null);\n  var glyphId, charCode, baseEncoding;\n  var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n  if (properties.baseEncodingName) {\n    // If a valid base encoding name was used, the mapping is initialized with\n    // that.\n    baseEncoding = getEncoding(properties.baseEncodingName);\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0; // notdef\n      }\n    }\n  } else if (isSymbolicFont) {\n    // For a symbolic font the encoding should be the fonts built-in encoding.\n    for (charCode in builtInEncoding) {\n      charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n    }\n  } else {\n    // For non-symbolic fonts that don't have a base encoding the standard\n    // encoding should be used.\n    baseEncoding = StandardEncoding;\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0; // notdef\n      }\n    }\n  }\n\n  // Lastly, merge in the differences.\n  var differences = properties.differences,\n    glyphsUnicodeMap;\n  if (differences) {\n    for (charCode in differences) {\n      var glyphName = differences[charCode];\n      glyphId = glyphNames.indexOf(glyphName);\n\n      if (glyphId === -1) {\n        if (!glyphsUnicodeMap) {\n          glyphsUnicodeMap = getGlyphsUnicode();\n        }\n        var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n        if (standardGlyphName !== glyphName) {\n          glyphId = glyphNames.indexOf(standardGlyphName);\n        }\n      }\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0; // notdef\n      }\n    }\n  }\n  return charCodeToGlyphId;\n}\n\n// Type1Font is also a CIDFontType0.\nvar Type1Font = (function Type1FontClosure() {\n  function findBlock(streamBytes, signature, startIndex) {\n    var streamBytesLength = streamBytes.length;\n    var signatureLength = signature.length;\n    var scanLength = streamBytesLength - signatureLength;\n\n    var i = startIndex,\n      j,\n      found = false;\n    while (i < scanLength) {\n      j = 0;\n      while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n        j++;\n      }\n      if (j >= signatureLength) {\n        // `signature` found, skip over whitespace.\n        i += j;\n        while (i < streamBytesLength && isWhiteSpace(streamBytes[i])) {\n          i++;\n        }\n        found = true;\n        break;\n      }\n      i++;\n    }\n    return {\n      found,\n      length: i,\n    };\n  }\n\n  function getHeaderBlock(stream, suggestedLength) {\n    var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n\n    var streamStartPos = stream.pos; // Save the initial stream position.\n    var headerBytes, headerBytesLength, block;\n    try {\n      headerBytes = stream.getBytes(suggestedLength);\n      headerBytesLength = headerBytes.length;\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      // Ignore errors if the `suggestedLength` is huge enough that a Uint8Array\n      // cannot hold the result of `getBytes`, and fallback to simply checking\n      // the entire stream (fixes issue3928.pdf).\n    }\n\n    if (headerBytesLength === suggestedLength) {\n      // Most of the time `suggestedLength` is correct, so to speed things up we\n      // initially only check the last few bytes to see if the header was found.\n      // Otherwise we (potentially) check the entire stream to prevent errors in\n      // `Type1Parser` (fixes issue5686.pdf).\n      block = findBlock(\n        headerBytes,\n        EEXEC_SIGNATURE,\n        suggestedLength - 2 * EEXEC_SIGNATURE.length\n      );\n\n      if (block.found && block.length === suggestedLength) {\n        return {\n          stream: new Stream(headerBytes),\n          length: suggestedLength,\n        };\n      }\n    }\n    warn('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n    stream.pos = streamStartPos; // Reset the stream position.\n\n    var SCAN_BLOCK_LENGTH = 2048;\n    var actualLength;\n    while (true) {\n      var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n      block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n      if (block.length === 0) {\n        break;\n      }\n      stream.pos += block.length; // Update the stream position.\n\n      if (block.found) {\n        actualLength = stream.pos - streamStartPos;\n        break;\n      }\n    }\n    stream.pos = streamStartPos; // Reset the stream position.\n\n    if (actualLength) {\n      return {\n        stream: new Stream(stream.getBytes(actualLength)),\n        length: actualLength,\n      };\n    }\n    warn('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n    return {\n      stream: new Stream(stream.getBytes(suggestedLength)),\n      length: suggestedLength,\n    };\n  }\n\n  function getEexecBlock(stream, suggestedLength) {\n    // We should ideally parse the eexec block to ensure that `suggestedLength`\n    // is correct, so we don't truncate the block data if it's too small.\n    // However, this would also require checking if the fixed-content portion\n    // exists (using the 'Length3' property), and ensuring that it's valid.\n    //\n    // Given that `suggestedLength` almost always is correct, all the validation\n    // would require a great deal of unnecessary parsing for most fonts.\n    // To save time, we always fetch the entire stream instead, which also avoid\n    // issues if `suggestedLength` is huge (see comment in `getHeaderBlock`).\n    //\n    // NOTE: This means that the function can include the fixed-content portion\n    // in the returned eexec block. In practice this does *not* seem to matter,\n    // since `Type1Parser_extractFontProgram` will skip over any non-commands.\n    var eexecBytes = stream.getBytes();\n    return {\n      stream: new Stream(eexecBytes),\n      length: eexecBytes.length,\n    };\n  }\n\n  function Type1Font(name, file, properties) {\n    // Some bad generators embed pfb file as is, we have to strip 6-byte header.\n    // Also, length1 and length2 might be off by 6 bytes as well.\n    // http://www.math.ubc.ca/~cass/piscript/type1.pdf\n    var PFB_HEADER_SIZE = 6;\n    var headerBlockLength = properties.length1;\n    var eexecBlockLength = properties.length2;\n    var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n    var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n    if (pfbHeaderPresent) {\n      file.skip(PFB_HEADER_SIZE);\n      headerBlockLength =\n        (pfbHeader[5] << 24) |\n        (pfbHeader[4] << 16) |\n        (pfbHeader[3] << 8) |\n        pfbHeader[2];\n    }\n\n    // Get the data block containing glyphs and subrs information\n    var headerBlock = getHeaderBlock(file, headerBlockLength);\n    var headerBlockParser = new Type1Parser(\n      headerBlock.stream,\n      false,\n      SEAC_ANALYSIS_ENABLED\n    );\n    headerBlockParser.extractFontHeader(properties);\n\n    if (pfbHeaderPresent) {\n      pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n      eexecBlockLength =\n        (pfbHeader[5] << 24) |\n        (pfbHeader[4] << 16) |\n        (pfbHeader[3] << 8) |\n        pfbHeader[2];\n    }\n\n    // Decrypt the data blocks and retrieve it's content\n    var eexecBlock = getEexecBlock(file, eexecBlockLength);\n    var eexecBlockParser = new Type1Parser(\n      eexecBlock.stream,\n      true,\n      SEAC_ANALYSIS_ENABLED\n    );\n    var data = eexecBlockParser.extractFontProgram(properties);\n    for (var info in data.properties) {\n      properties[info] = data.properties[info];\n    }\n\n    var charstrings = data.charstrings;\n    var type2Charstrings = this.getType2Charstrings(charstrings);\n    var subrs = this.getType2Subrs(data.subrs);\n\n    this.charstrings = charstrings;\n    this.data = this.wrap(\n      name,\n      type2Charstrings,\n      this.charstrings,\n      subrs,\n      properties\n    );\n    this.seacs = this.getSeacs(data.charstrings);\n  }\n\n  Type1Font.prototype = {\n    get numGlyphs() {\n      return this.charstrings.length + 1;\n    },\n\n    getCharset: function Type1Font_getCharset() {\n      var charset = [\".notdef\"];\n      var charstrings = this.charstrings;\n      for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        charset.push(charstrings[glyphId].glyphName);\n      }\n      return charset;\n    },\n\n    getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n      var charstrings = this.charstrings;\n      var glyphNames = [\".notdef\"],\n        glyphId;\n      for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        glyphNames.push(charstrings[glyphId].glyphName);\n      }\n      var encoding = properties.builtInEncoding;\n      if (encoding) {\n        var builtInEncoding = Object.create(null);\n        for (var charCode in encoding) {\n          glyphId = glyphNames.indexOf(encoding[charCode]);\n          if (glyphId >= 0) {\n            builtInEncoding[charCode] = glyphId;\n          }\n        }\n      }\n\n      return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n    },\n\n    hasGlyphId: function Type1Font_hasGlyphID(id) {\n      if (id < 0 || id >= this.numGlyphs) {\n        return false;\n      }\n      if (id === 0) {\n        // notdef is always defined.\n        return true;\n      }\n      var glyph = this.charstrings[id - 1];\n      return glyph.charstring.length > 0;\n    },\n\n    getSeacs: function Type1Font_getSeacs(charstrings) {\n      var i, ii;\n      var seacMap = [];\n      for (i = 0, ii = charstrings.length; i < ii; i++) {\n        var charstring = charstrings[i];\n        if (charstring.seac) {\n          // Offset by 1 for .notdef\n          seacMap[i + 1] = charstring.seac;\n        }\n      }\n      return seacMap;\n    },\n\n    getType2Charstrings: function Type1Font_getType2Charstrings(\n      type1Charstrings\n    ) {\n      var type2Charstrings = [];\n      for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n        type2Charstrings.push(type1Charstrings[i].charstring);\n      }\n      return type2Charstrings;\n    },\n\n    getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n      var bias = 0;\n      var count = type1Subrs.length;\n      if (count < 1133) {\n        bias = 107;\n      } else if (count < 33769) {\n        bias = 1131;\n      } else {\n        bias = 32768;\n      }\n\n      // Add a bunch of empty subrs to deal with the Type2 bias\n      var type2Subrs = [];\n      var i;\n      for (i = 0; i < bias; i++) {\n        type2Subrs.push([0x0b]);\n      }\n\n      for (i = 0; i < count; i++) {\n        type2Subrs.push(type1Subrs[i]);\n      }\n\n      return type2Subrs;\n    },\n\n    wrap: function Type1Font_wrap(\n      name,\n      glyphs,\n      charstrings,\n      subrs,\n      properties\n    ) {\n      var cff = new CFF();\n      cff.header = new CFFHeader(1, 0, 4, 4);\n\n      cff.names = [name];\n\n      var topDict = new CFFTopDict();\n      // CFF strings IDs 0...390 are predefined names, so refering\n      // to entries in our own String INDEX starts at SID 391.\n      topDict.setByName(\"version\", 391);\n      topDict.setByName(\"Notice\", 392);\n      topDict.setByName(\"FullName\", 393);\n      topDict.setByName(\"FamilyName\", 394);\n      topDict.setByName(\"Weight\", 395);\n      topDict.setByName(\"Encoding\", null); // placeholder\n      topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n      topDict.setByName(\"FontBBox\", properties.bbox);\n      topDict.setByName(\"charset\", null); // placeholder\n      topDict.setByName(\"CharStrings\", null); // placeholder\n      topDict.setByName(\"Private\", null); // placeholder\n      cff.topDict = topDict;\n\n      var strings = new CFFStrings();\n      strings.add(\"Version 0.11\"); // Version\n      strings.add(\"See original notice\"); // Notice\n      strings.add(name); // FullName\n      strings.add(name); // FamilyName\n      strings.add(\"Medium\"); // Weight\n      cff.strings = strings;\n\n      cff.globalSubrIndex = new CFFIndex();\n\n      var count = glyphs.length;\n      var charsetArray = [\".notdef\"];\n      var i, ii;\n      for (i = 0; i < count; i++) {\n        const glyphName = charstrings[i].glyphName;\n        const index = CFFStandardStrings.indexOf(glyphName);\n        if (index === -1) {\n          strings.add(glyphName);\n        }\n        charsetArray.push(glyphName);\n      }\n      cff.charset = new CFFCharset(false, 0, charsetArray);\n\n      var charStringsIndex = new CFFIndex();\n      charStringsIndex.add([0x8b, 0x0e]); // .notdef\n      for (i = 0; i < count; i++) {\n        charStringsIndex.add(glyphs[i]);\n      }\n      cff.charStrings = charStringsIndex;\n\n      var privateDict = new CFFPrivateDict();\n      privateDict.setByName(\"Subrs\", null); // placeholder\n      var fields = [\n        \"BlueValues\",\n        \"OtherBlues\",\n        \"FamilyBlues\",\n        \"FamilyOtherBlues\",\n        \"StemSnapH\",\n        \"StemSnapV\",\n        \"BlueShift\",\n        \"BlueFuzz\",\n        \"BlueScale\",\n        \"LanguageGroup\",\n        \"ExpansionFactor\",\n        \"ForceBold\",\n        \"StdHW\",\n        \"StdVW\",\n      ];\n      for (i = 0, ii = fields.length; i < ii; i++) {\n        var field = fields[i];\n        if (!(field in properties.privateData)) {\n          continue;\n        }\n        var value = properties.privateData[field];\n        if (Array.isArray(value)) {\n          // All of the private dictionary array data in CFF must be stored as\n          // \"delta-encoded\" numbers.\n          for (var j = value.length - 1; j > 0; j--) {\n            value[j] -= value[j - 1]; // ... difference from previous value\n          }\n        }\n        privateDict.setByName(field, value);\n      }\n      cff.topDict.privateDict = privateDict;\n\n      var subrIndex = new CFFIndex();\n      for (i = 0, ii = subrs.length; i < ii; i++) {\n        subrIndex.add(subrs[i]);\n      }\n      privateDict.subrsIndex = subrIndex;\n\n      var compiler = new CFFCompiler(cff);\n      return compiler.compile();\n    },\n  };\n\n  return Type1Font;\n})();\n\nvar CFFFont = (function CFFFontClosure() {\n  function CFFFont(file, properties) {\n    this.properties = properties;\n\n    var parser = new CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n    this.cff = parser.parse();\n    this.cff.duplicateFirstGlyph();\n    var compiler = new CFFCompiler(this.cff);\n    this.seacs = this.cff.seacs;\n    try {\n      this.data = compiler.compile();\n    } catch (e) {\n      warn(\"Failed to compile font \" + properties.loadedName);\n      // There may have just been an issue with the compiler, set the data\n      // anyway and hope the font loaded.\n      this.data = file;\n    }\n  }\n\n  CFFFont.prototype = {\n    get numGlyphs() {\n      return this.cff.charStrings.count;\n    },\n    getCharset: function CFFFont_getCharset() {\n      return this.cff.charset.charset;\n    },\n    getGlyphMapping: function CFFFont_getGlyphMapping() {\n      var cff = this.cff;\n      var properties = this.properties;\n      var charsets = cff.charset.charset;\n      var charCodeToGlyphId;\n      var glyphId;\n\n      if (properties.composite) {\n        charCodeToGlyphId = Object.create(null);\n        let charCode;\n        if (cff.isCIDFont) {\n          // If the font is actually a CID font then we should use the charset\n          // to map CIDs to GIDs.\n          for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n            var cid = charsets[glyphId];\n            charCode = properties.cMap.charCodeOf(cid);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        } else {\n          // If it is NOT actually a CID font then CIDs should be mapped\n          // directly to GIDs.\n          for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n            charCode = properties.cMap.charCodeOf(glyphId);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        }\n        return charCodeToGlyphId;\n      }\n\n      var encoding = cff.encoding ? cff.encoding.encoding : null;\n      charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n      return charCodeToGlyphId;\n    },\n    hasGlyphId: function CFFFont_hasGlyphID(id) {\n      return this.cff.hasGlyphId(id);\n    },\n  };\n\n  return CFFFont;\n})();\n\nexport {\n  SEAC_ANALYSIS_ENABLED,\n  ErrorFont,\n  Font,\n  FontFlags,\n  ToUnicodeMap,\n  IdentityToUnicodeMap,\n  getFontType,\n};\n","/* Copyright 2016 Mozilla Foundation\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\nimport {\n  bytesToString,\n  FormatError,\n  info,\n  stringToBytes,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport {\n  ExpertCharset,\n  ExpertSubsetCharset,\n  ISOAdobeCharset,\n} from \"./charsets.js\";\nimport { ExpertEncoding, StandardEncoding } from \"./encodings.js\";\n\n// Maximum subroutine call depth of type 2 chartrings. Matches OTS.\nvar MAX_SUBR_NESTING = 10;\n\n/**\n * The CFF class takes a Type1 file and wrap it into a\n * 'Compact Font Format' which itself embed Type2 charstrings.\n */\n// prettier-ignore\nvar CFFStandardStrings = [\n  \".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\",\n  \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\",\n  \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\",\n  \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\",\n  \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\",\n  \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\",\n  \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\",\n  \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\",\n  \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\",\n  \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\",\n  \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\",\n  \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\",\n  \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\",\n  \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\",\n  \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\",\n  \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\",\n  \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\",\n  \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\",\n  \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\",\n  \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\",\n  \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\",\n  \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\",\n  \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\",\n  \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\",\n  \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\",\n  \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\",\n  \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\",\n  \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\",\n  \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\",\n  \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\",\n  \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\",\n  \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\",\n  \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\",\n  \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\",\n  \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\",\n  \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\",\n  \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\",\n  \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\",\n  \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\",\n  \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\",\n  \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\",\n  \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\",\n  \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\",\n  \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\",\n  \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\",\n  \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\",\n  \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\",\n  \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\",\n  \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\",\n  \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\",\n  \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\",\n  \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\",\n  \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\",\n  \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\",\n  \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\",\n  \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\",\n  \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\",\n  \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\",\n  \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\",\n  \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\",\n  \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\",\n  \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\",\n  \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\",\n  \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\",\n  \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"\n];\n\nconst NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = (function CFFParserClosure() {\n  var CharstringValidationData = [\n    null,\n    { id: \"hstem\", min: 2, stackClearing: true, stem: true },\n    null,\n    { id: \"vstem\", min: 2, stackClearing: true, stem: true },\n    { id: \"vmoveto\", min: 1, stackClearing: true },\n    { id: \"rlineto\", min: 2, resetStack: true },\n    { id: \"hlineto\", min: 1, resetStack: true },\n    { id: \"vlineto\", min: 1, resetStack: true },\n    { id: \"rrcurveto\", min: 6, resetStack: true },\n    null,\n    { id: \"callsubr\", min: 1, undefStack: true },\n    { id: \"return\", min: 0, undefStack: true },\n    null, // 12\n    null,\n    { id: \"endchar\", min: 0, stackClearing: true },\n    null,\n    null,\n    null,\n    { id: \"hstemhm\", min: 2, stackClearing: true, stem: true },\n    { id: \"hintmask\", min: 0, stackClearing: true },\n    { id: \"cntrmask\", min: 0, stackClearing: true },\n    { id: \"rmoveto\", min: 2, stackClearing: true },\n    { id: \"hmoveto\", min: 1, stackClearing: true },\n    { id: \"vstemhm\", min: 2, stackClearing: true, stem: true },\n    { id: \"rcurveline\", min: 8, resetStack: true },\n    { id: \"rlinecurve\", min: 8, resetStack: true },\n    { id: \"vvcurveto\", min: 4, resetStack: true },\n    { id: \"hhcurveto\", min: 4, resetStack: true },\n    null, // shortint\n    { id: \"callgsubr\", min: 1, undefStack: true },\n    { id: \"vhcurveto\", min: 4, resetStack: true },\n    { id: \"hvcurveto\", min: 4, resetStack: true },\n  ];\n  var CharstringValidationData12 = [\n    null,\n    null,\n    null,\n    { id: \"and\", min: 2, stackDelta: -1 },\n    { id: \"or\", min: 2, stackDelta: -1 },\n    { id: \"not\", min: 1, stackDelta: 0 },\n    null,\n    null,\n    null,\n    { id: \"abs\", min: 1, stackDelta: 0 },\n    {\n      id: \"add\",\n      min: 2,\n      stackDelta: -1,\n      stackFn: function stack_div(stack, index) {\n        stack[index - 2] = stack[index - 2] + stack[index - 1];\n      },\n    },\n    {\n      id: \"sub\",\n      min: 2,\n      stackDelta: -1,\n      stackFn: function stack_div(stack, index) {\n        stack[index - 2] = stack[index - 2] - stack[index - 1];\n      },\n    },\n    {\n      id: \"div\",\n      min: 2,\n      stackDelta: -1,\n      stackFn: function stack_div(stack, index) {\n        stack[index - 2] = stack[index - 2] / stack[index - 1];\n      },\n    },\n    null,\n    {\n      id: \"neg\",\n      min: 1,\n      stackDelta: 0,\n      stackFn: function stack_div(stack, index) {\n        stack[index - 1] = -stack[index - 1];\n      },\n    },\n    { id: \"eq\", min: 2, stackDelta: -1 },\n    null,\n    null,\n    { id: \"drop\", min: 1, stackDelta: -1 },\n    null,\n    { id: \"put\", min: 2, stackDelta: -2 },\n    { id: \"get\", min: 1, stackDelta: 0 },\n    { id: \"ifelse\", min: 4, stackDelta: -3 },\n    { id: \"random\", min: 0, stackDelta: 1 },\n    {\n      id: \"mul\",\n      min: 2,\n      stackDelta: -1,\n      stackFn: function stack_div(stack, index) {\n        stack[index - 2] = stack[index - 2] * stack[index - 1];\n      },\n    },\n    null,\n    { id: \"sqrt\", min: 1, stackDelta: 0 },\n    { id: \"dup\", min: 1, stackDelta: 1 },\n    { id: \"exch\", min: 2, stackDelta: 0 },\n    { id: \"index\", min: 2, stackDelta: 0 },\n    { id: \"roll\", min: 3, stackDelta: -2 },\n    null,\n    null,\n    null,\n    { id: \"hflex\", min: 7, resetStack: true },\n    { id: \"flex\", min: 13, resetStack: true },\n    { id: \"hflex1\", min: 9, resetStack: true },\n    { id: \"flex1\", min: 11, resetStack: true },\n  ];\n\n  function CFFParser(file, properties, seacAnalysisEnabled) {\n    this.bytes = file.getBytes();\n    this.properties = properties;\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n  }\n  CFFParser.prototype = {\n    parse: function CFFParser_parse() {\n      var properties = this.properties;\n      var cff = new CFF();\n      this.cff = cff;\n\n      // The first five sections must be in order, all the others are reached\n      // via offsets contained in one of the below.\n      var header = this.parseHeader();\n      var nameIndex = this.parseIndex(header.endPos);\n      var topDictIndex = this.parseIndex(nameIndex.endPos);\n      var stringIndex = this.parseIndex(topDictIndex.endPos);\n      var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n\n      var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n      var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n\n      cff.header = header.obj;\n      cff.names = this.parseNameIndex(nameIndex.obj);\n      cff.strings = this.parseStringIndex(stringIndex.obj);\n      cff.topDict = topDict;\n      cff.globalSubrIndex = globalSubrIndex.obj;\n\n      this.parsePrivateDict(cff.topDict);\n\n      cff.isCIDFont = topDict.hasName(\"ROS\");\n\n      var charStringOffset = topDict.getByName(\"CharStrings\");\n      var charStringIndex = this.parseIndex(charStringOffset).obj;\n\n      var fontMatrix = topDict.getByName(\"FontMatrix\");\n      if (fontMatrix) {\n        properties.fontMatrix = fontMatrix;\n      }\n\n      var fontBBox = topDict.getByName(\"FontBBox\");\n      if (fontBBox) {\n        // adjusting ascent/descent\n        properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n        properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n        properties.ascentScaled = true;\n      }\n\n      var charset, encoding;\n      if (cff.isCIDFont) {\n        var fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n        for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n          var dictRaw = fdArrayIndex.get(i);\n          var fontDict = this.createDict(\n            CFFTopDict,\n            this.parseDict(dictRaw),\n            cff.strings\n          );\n          this.parsePrivateDict(fontDict);\n          cff.fdArray.push(fontDict);\n        }\n        // cid fonts don't have an encoding\n        encoding = null;\n        charset = this.parseCharsets(\n          topDict.getByName(\"charset\"),\n          charStringIndex.count,\n          cff.strings,\n          true\n        );\n        cff.fdSelect = this.parseFDSelect(\n          topDict.getByName(\"FDSelect\"),\n          charStringIndex.count\n        );\n      } else {\n        charset = this.parseCharsets(\n          topDict.getByName(\"charset\"),\n          charStringIndex.count,\n          cff.strings,\n          false\n        );\n        encoding = this.parseEncoding(\n          topDict.getByName(\"Encoding\"),\n          properties,\n          cff.strings,\n          charset.charset\n        );\n      }\n\n      cff.charset = charset;\n      cff.encoding = encoding;\n\n      var charStringsAndSeacs = this.parseCharStrings({\n        charStrings: charStringIndex,\n        localSubrIndex: topDict.privateDict.subrsIndex,\n        globalSubrIndex: globalSubrIndex.obj,\n        fdSelect: cff.fdSelect,\n        fdArray: cff.fdArray,\n        privateDict: topDict.privateDict,\n      });\n      cff.charStrings = charStringsAndSeacs.charStrings;\n      cff.seacs = charStringsAndSeacs.seacs;\n      cff.widths = charStringsAndSeacs.widths;\n\n      return cff;\n    },\n    parseHeader: function CFFParser_parseHeader() {\n      var bytes = this.bytes;\n      var bytesLength = bytes.length;\n      var offset = 0;\n\n      // Prevent an infinite loop, by checking that the offset is within the\n      // bounds of the bytes array. Necessary in empty, or invalid, font files.\n      while (offset < bytesLength && bytes[offset] !== 1) {\n        ++offset;\n      }\n      if (offset >= bytesLength) {\n        throw new FormatError(\"Invalid CFF header\");\n      }\n      if (offset !== 0) {\n        info(\"cff data is shifted\");\n        bytes = bytes.subarray(offset);\n        this.bytes = bytes;\n      }\n      var major = bytes[0];\n      var minor = bytes[1];\n      var hdrSize = bytes[2];\n      var offSize = bytes[3];\n      var header = new CFFHeader(major, minor, hdrSize, offSize);\n      return { obj: header, endPos: hdrSize };\n    },\n    parseDict: function CFFParser_parseDict(dict) {\n      var pos = 0;\n\n      function parseOperand() {\n        var value = dict[pos++];\n        if (value === 30) {\n          return parseFloatOperand();\n        } else if (value === 28) {\n          value = dict[pos++];\n          value = ((value << 24) | (dict[pos++] << 16)) >> 16;\n          return value;\n        } else if (value === 29) {\n          value = dict[pos++];\n          value = (value << 8) | dict[pos++];\n          value = (value << 8) | dict[pos++];\n          value = (value << 8) | dict[pos++];\n          return value;\n        } else if (value >= 32 && value <= 246) {\n          return value - 139;\n        } else if (value >= 247 && value <= 250) {\n          return (value - 247) * 256 + dict[pos++] + 108;\n        } else if (value >= 251 && value <= 254) {\n          return -((value - 251) * 256) - dict[pos++] - 108;\n        }\n        warn('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n        return NaN;\n      }\n\n      function parseFloatOperand() {\n        var str = \"\";\n        var eof = 15;\n        // prettier-ignore\n        const lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\",\n                        \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n        var length = dict.length;\n        while (pos < length) {\n          var b = dict[pos++];\n          var b1 = b >> 4;\n          var b2 = b & 15;\n\n          if (b1 === eof) {\n            break;\n          }\n          str += lookup[b1];\n\n          if (b2 === eof) {\n            break;\n          }\n          str += lookup[b2];\n        }\n        return parseFloat(str);\n      }\n\n      var operands = [];\n      var entries = [];\n\n      pos = 0;\n      var end = dict.length;\n      while (pos < end) {\n        var b = dict[pos];\n        if (b <= 21) {\n          if (b === 12) {\n            b = (b << 8) | dict[++pos];\n          }\n          entries.push([b, operands]);\n          operands = [];\n          ++pos;\n        } else {\n          operands.push(parseOperand());\n        }\n      }\n      return entries;\n    },\n    parseIndex: function CFFParser_parseIndex(pos) {\n      var cffIndex = new CFFIndex();\n      var bytes = this.bytes;\n      var count = (bytes[pos++] << 8) | bytes[pos++];\n      var offsets = [];\n      var end = pos;\n      var i, ii;\n\n      if (count !== 0) {\n        var offsetSize = bytes[pos++];\n        // add 1 for offset to determine size of last object\n        var startPos = pos + (count + 1) * offsetSize - 1;\n\n        for (i = 0, ii = count + 1; i < ii; ++i) {\n          var offset = 0;\n          for (var j = 0; j < offsetSize; ++j) {\n            offset <<= 8;\n            offset += bytes[pos++];\n          }\n          offsets.push(startPos + offset);\n        }\n        end = offsets[count];\n      }\n      for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n        var offsetStart = offsets[i];\n        var offsetEnd = offsets[i + 1];\n        cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n      }\n      return { obj: cffIndex, endPos: end };\n    },\n    parseNameIndex: function CFFParser_parseNameIndex(index) {\n      var names = [];\n      for (var i = 0, ii = index.count; i < ii; ++i) {\n        var name = index.get(i);\n        names.push(bytesToString(name));\n      }\n      return names;\n    },\n    parseStringIndex: function CFFParser_parseStringIndex(index) {\n      var strings = new CFFStrings();\n      for (var i = 0, ii = index.count; i < ii; ++i) {\n        var data = index.get(i);\n        strings.add(bytesToString(data));\n      }\n      return strings;\n    },\n    createDict: function CFFParser_createDict(Type, dict, strings) {\n      var cffDict = new Type(strings);\n      for (var i = 0, ii = dict.length; i < ii; ++i) {\n        var pair = dict[i];\n        var key = pair[0];\n        var value = pair[1];\n        cffDict.setByKey(key, value);\n      }\n      return cffDict;\n    },\n    parseCharString: function CFFParser_parseCharString(\n      state,\n      data,\n      localSubrIndex,\n      globalSubrIndex\n    ) {\n      if (!data || state.callDepth > MAX_SUBR_NESTING) {\n        return false;\n      }\n      var stackSize = state.stackSize;\n      var stack = state.stack;\n\n      var length = data.length;\n\n      for (var j = 0; j < length; ) {\n        var value = data[j++];\n        var validationCommand = null;\n        if (value === 12) {\n          var q = data[j++];\n          if (q === 0) {\n            // The CFF specification state that the 'dotsection' command\n            // (12, 0) is deprecated and treated as a no-op, but all Type2\n            // charstrings processors should support them. Unfortunately\n            // the font sanitizer don't. As a workaround the sequence (12, 0)\n            // is replaced by a useless (0, hmoveto).\n            data[j - 2] = 139;\n            data[j - 1] = 22;\n            stackSize = 0;\n          } else {\n            validationCommand = CharstringValidationData12[q];\n          }\n        } else if (value === 28) {\n          // number (16 bit)\n          stack[stackSize] = ((data[j] << 24) | (data[j + 1] << 16)) >> 16;\n          j += 2;\n          stackSize++;\n        } else if (value === 14) {\n          if (stackSize >= 4) {\n            stackSize -= 4;\n            if (this.seacAnalysisEnabled) {\n              state.seac = stack.slice(stackSize, stackSize + 4);\n              return false;\n            }\n          }\n          validationCommand = CharstringValidationData[value];\n        } else if (value >= 32 && value <= 246) {\n          // number\n          stack[stackSize] = value - 139;\n          stackSize++;\n        } else if (value >= 247 && value <= 254) {\n          // number (+1 bytes)\n          stack[stackSize] =\n            value < 251\n              ? ((value - 247) << 8) + data[j] + 108\n              : -((value - 251) << 8) - data[j] - 108;\n          j++;\n          stackSize++;\n        } else if (value === 255) {\n          // number (32 bit)\n          stack[stackSize] =\n            ((data[j] << 24) |\n              (data[j + 1] << 16) |\n              (data[j + 2] << 8) |\n              data[j + 3]) /\n            65536;\n          j += 4;\n          stackSize++;\n        } else if (value === 19 || value === 20) {\n          state.hints += stackSize >> 1;\n          // skipping right amount of hints flag data\n          j += (state.hints + 7) >> 3;\n          stackSize %= 2;\n          validationCommand = CharstringValidationData[value];\n        } else if (value === 10 || value === 29) {\n          var subrsIndex;\n          if (value === 10) {\n            subrsIndex = localSubrIndex;\n          } else {\n            subrsIndex = globalSubrIndex;\n          }\n          if (!subrsIndex) {\n            validationCommand = CharstringValidationData[value];\n            warn(\"Missing subrsIndex for \" + validationCommand.id);\n            return false;\n          }\n          var bias = 32768;\n          if (subrsIndex.count < 1240) {\n            bias = 107;\n          } else if (subrsIndex.count < 33900) {\n            bias = 1131;\n          }\n          var subrNumber = stack[--stackSize] + bias;\n          if (\n            subrNumber < 0 ||\n            subrNumber >= subrsIndex.count ||\n            isNaN(subrNumber)\n          ) {\n            validationCommand = CharstringValidationData[value];\n            warn(\"Out of bounds subrIndex for \" + validationCommand.id);\n            return false;\n          }\n          state.stackSize = stackSize;\n          state.callDepth++;\n          var valid = this.parseCharString(\n            state,\n            subrsIndex.get(subrNumber),\n            localSubrIndex,\n            globalSubrIndex\n          );\n          if (!valid) {\n            return false;\n          }\n          state.callDepth--;\n          stackSize = state.stackSize;\n          continue;\n        } else if (value === 11) {\n          state.stackSize = stackSize;\n          return true;\n        } else {\n          validationCommand = CharstringValidationData[value];\n        }\n        if (validationCommand) {\n          if (validationCommand.stem) {\n            state.hints += stackSize >> 1;\n            if (value === 3 || value === 23) {\n              // vstem or vstemhm.\n              state.hasVStems = true;\n            } else if (state.hasVStems && (value === 1 || value === 18)) {\n              // Some browsers don't draw glyphs that specify vstems before\n              // hstems. As a workaround, replace hstem (1) and hstemhm (18)\n              // with a pointless vstem (3) or vstemhm (23).\n              warn(\"CFF stem hints are in wrong order\");\n              data[j - 1] = value === 1 ? 3 : 23;\n            }\n          }\n          if (\"min\" in validationCommand) {\n            if (!state.undefStack && stackSize < validationCommand.min) {\n              warn(\n                \"Not enough parameters for \" +\n                  validationCommand.id +\n                  \"; actual: \" +\n                  stackSize +\n                  \", expected: \" +\n                  validationCommand.min\n              );\n              return false;\n            }\n          }\n          if (state.firstStackClearing && validationCommand.stackClearing) {\n            state.firstStackClearing = false;\n            // the optional character width can be found before the first\n            // stack-clearing command arguments\n            stackSize -= validationCommand.min;\n            if (stackSize >= 2 && validationCommand.stem) {\n              // there are even amount of arguments for stem commands\n              stackSize %= 2;\n            } else if (stackSize > 1) {\n              warn(\"Found too many parameters for stack-clearing command\");\n            }\n            if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n              state.width = stack[stackSize - 1];\n            }\n          }\n          if (\"stackDelta\" in validationCommand) {\n            if (\"stackFn\" in validationCommand) {\n              validationCommand.stackFn(stack, stackSize);\n            }\n            stackSize += validationCommand.stackDelta;\n          } else if (validationCommand.stackClearing) {\n            stackSize = 0;\n          } else if (validationCommand.resetStack) {\n            stackSize = 0;\n            state.undefStack = false;\n          } else if (validationCommand.undefStack) {\n            stackSize = 0;\n            state.undefStack = true;\n            state.firstStackClearing = false;\n          }\n        }\n      }\n      state.stackSize = stackSize;\n      return true;\n    },\n    parseCharStrings({\n      charStrings,\n      localSubrIndex,\n      globalSubrIndex,\n      fdSelect,\n      fdArray,\n      privateDict,\n    }) {\n      var seacs = [];\n      var widths = [];\n      var count = charStrings.count;\n      for (var i = 0; i < count; i++) {\n        var charstring = charStrings.get(i);\n        var state = {\n          callDepth: 0,\n          stackSize: 0,\n          stack: [],\n          undefStack: true,\n          hints: 0,\n          firstStackClearing: true,\n          seac: null,\n          width: null,\n          hasVStems: false,\n        };\n        var valid = true;\n        var localSubrToUse = null;\n        var privateDictToUse = privateDict;\n        if (fdSelect && fdArray.length) {\n          var fdIndex = fdSelect.getFDIndex(i);\n          if (fdIndex === -1) {\n            warn(\"Glyph index is not in fd select.\");\n            valid = false;\n          }\n          if (fdIndex >= fdArray.length) {\n            warn(\"Invalid fd index for glyph index.\");\n            valid = false;\n          }\n          if (valid) {\n            privateDictToUse = fdArray[fdIndex].privateDict;\n            localSubrToUse = privateDictToUse.subrsIndex;\n          }\n        } else if (localSubrIndex) {\n          localSubrToUse = localSubrIndex;\n        }\n        if (valid) {\n          valid = this.parseCharString(\n            state,\n            charstring,\n            localSubrToUse,\n            globalSubrIndex\n          );\n        }\n        if (state.width !== null) {\n          const nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n          widths[i] = nominalWidth + state.width;\n        } else {\n          const defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n          widths[i] = defaultWidth;\n        }\n        if (state.seac !== null) {\n          seacs[i] = state.seac;\n        }\n        if (!valid) {\n          // resetting invalid charstring to single 'endchar'\n          charStrings.set(i, new Uint8Array([14]));\n        }\n      }\n      return { charStrings, seacs, widths };\n    },\n    emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(\n      parentDict\n    ) {\n      var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n      parentDict.setByKey(18, [0, 0]);\n      parentDict.privateDict = privateDict;\n    },\n    parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n      // no private dict, do nothing\n      if (!parentDict.hasName(\"Private\")) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n      var privateOffset = parentDict.getByName(\"Private\");\n      // make sure the params are formatted correctly\n      if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n        parentDict.removeByName(\"Private\");\n        return;\n      }\n      var size = privateOffset[0];\n      var offset = privateOffset[1];\n      // remove empty dicts or ones that refer to invalid location\n      if (size === 0 || offset >= this.bytes.length) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n\n      var privateDictEnd = offset + size;\n      var dictData = this.bytes.subarray(offset, privateDictEnd);\n      var dict = this.parseDict(dictData);\n      var privateDict = this.createDict(\n        CFFPrivateDict,\n        dict,\n        parentDict.strings\n      );\n      parentDict.privateDict = privateDict;\n\n      // Parse the Subrs index also since it's relative to the private dict.\n      if (!privateDict.getByName(\"Subrs\")) {\n        return;\n      }\n      var subrsOffset = privateDict.getByName(\"Subrs\");\n      var relativeOffset = offset + subrsOffset;\n      // Validate the offset.\n      if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n        this.emptyPrivateDictionary(parentDict);\n        return;\n      }\n      var subrsIndex = this.parseIndex(relativeOffset);\n      privateDict.subrsIndex = subrsIndex.obj;\n    },\n    parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n      if (pos === 0) {\n        return new CFFCharset(\n          true,\n          CFFCharsetPredefinedTypes.ISO_ADOBE,\n          ISOAdobeCharset\n        );\n      } else if (pos === 1) {\n        return new CFFCharset(\n          true,\n          CFFCharsetPredefinedTypes.EXPERT,\n          ExpertCharset\n        );\n      } else if (pos === 2) {\n        return new CFFCharset(\n          true,\n          CFFCharsetPredefinedTypes.EXPERT_SUBSET,\n          ExpertSubsetCharset\n        );\n      }\n\n      var bytes = this.bytes;\n      var start = pos;\n      var format = bytes[pos++];\n      var charset = [\".notdef\"];\n      var id, count, i;\n\n      // subtract 1 for the .notdef glyph\n      length -= 1;\n\n      switch (format) {\n        case 0:\n          for (i = 0; i < length; i++) {\n            id = (bytes[pos++] << 8) | bytes[pos++];\n            charset.push(cid ? id : strings.get(id));\n          }\n          break;\n        case 1:\n          while (charset.length <= length) {\n            id = (bytes[pos++] << 8) | bytes[pos++];\n            count = bytes[pos++];\n            for (i = 0; i <= count; i++) {\n              charset.push(cid ? id++ : strings.get(id++));\n            }\n          }\n          break;\n        case 2:\n          while (charset.length <= length) {\n            id = (bytes[pos++] << 8) | bytes[pos++];\n            count = (bytes[pos++] << 8) | bytes[pos++];\n            for (i = 0; i <= count; i++) {\n              charset.push(cid ? id++ : strings.get(id++));\n            }\n          }\n          break;\n        default:\n          throw new FormatError(\"Unknown charset format\");\n      }\n      // Raw won't be needed if we actually compile the charset.\n      var end = pos;\n      var raw = bytes.subarray(start, end);\n\n      return new CFFCharset(false, format, charset, raw);\n    },\n    parseEncoding: function CFFParser_parseEncoding(\n      pos,\n      properties,\n      strings,\n      charset\n    ) {\n      var encoding = Object.create(null);\n      var bytes = this.bytes;\n      var predefined = false;\n      var format, i, ii;\n      var raw = null;\n\n      function readSupplement() {\n        var supplementsCount = bytes[pos++];\n        for (i = 0; i < supplementsCount; i++) {\n          var code = bytes[pos++];\n          var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n          encoding[code] = charset.indexOf(strings.get(sid));\n        }\n      }\n\n      if (pos === 0 || pos === 1) {\n        predefined = true;\n        format = pos;\n        var baseEncoding = pos ? ExpertEncoding : StandardEncoding;\n        for (i = 0, ii = charset.length; i < ii; i++) {\n          var index = baseEncoding.indexOf(charset[i]);\n          if (index !== -1) {\n            encoding[index] = i;\n          }\n        }\n      } else {\n        var dataStart = pos;\n        format = bytes[pos++];\n        switch (format & 0x7f) {\n          case 0:\n            var glyphsCount = bytes[pos++];\n            for (i = 1; i <= glyphsCount; i++) {\n              encoding[bytes[pos++]] = i;\n            }\n            break;\n\n          case 1:\n            var rangesCount = bytes[pos++];\n            var gid = 1;\n            for (i = 0; i < rangesCount; i++) {\n              var start = bytes[pos++];\n              var left = bytes[pos++];\n              for (var j = start; j <= start + left; j++) {\n                encoding[j] = gid++;\n              }\n            }\n            break;\n\n          default:\n            throw new FormatError(`Unknown encoding format: ${format} in CFF`);\n        }\n        var dataEnd = pos;\n        if (format & 0x80) {\n          // hasSupplement\n          // The font sanitizer does not support CFF encoding with a\n          // supplement, since the encoding is not really used to map\n          // between gid to glyph, let's overwrite what is declared in\n          // the top dictionary to let the sanitizer think the font use\n          // StandardEncoding, that's a lie but that's ok.\n          bytes[dataStart] &= 0x7f;\n          readSupplement();\n        }\n        raw = bytes.subarray(dataStart, dataEnd);\n      }\n      format = format & 0x7f;\n      return new CFFEncoding(predefined, format, encoding, raw);\n    },\n    parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n      var bytes = this.bytes;\n      var format = bytes[pos++];\n      var fdSelect = [];\n      var i;\n\n      switch (format) {\n        case 0:\n          for (i = 0; i < length; ++i) {\n            var id = bytes[pos++];\n            fdSelect.push(id);\n          }\n          break;\n        case 3:\n          var rangesCount = (bytes[pos++] << 8) | bytes[pos++];\n          for (i = 0; i < rangesCount; ++i) {\n            var first = (bytes[pos++] << 8) | bytes[pos++];\n            if (i === 0 && first !== 0) {\n              warn(\n                \"parseFDSelect: The first range must have a first GID of 0\" +\n                  \" -- trying to recover.\"\n              );\n              first = 0;\n            }\n            var fdIndex = bytes[pos++];\n            var next = (bytes[pos] << 8) | bytes[pos + 1];\n            for (var j = first; j < next; ++j) {\n              fdSelect.push(fdIndex);\n            }\n          }\n          // Advance past the sentinel(next).\n          pos += 2;\n          break;\n        default:\n          throw new FormatError(`parseFDSelect: Unknown format \"${format}\".`);\n      }\n      if (fdSelect.length !== length) {\n        throw new FormatError(\"parseFDSelect: Invalid font data.\");\n      }\n\n      return new CFFFDSelect(format, fdSelect);\n    },\n  };\n  return CFFParser;\n})();\n\n// Compact Font Format\nvar CFF = (function CFFClosure() {\n  function CFF() {\n    this.header = null;\n    this.names = [];\n    this.topDict = null;\n    this.strings = new CFFStrings();\n    this.globalSubrIndex = null;\n\n    // The following could really be per font, but since we only have one font\n    // store them here.\n    this.encoding = null;\n    this.charset = null;\n    this.charStrings = null;\n    this.fdArray = [];\n    this.fdSelect = null;\n\n    this.isCIDFont = false;\n  }\n  CFF.prototype = {\n    duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n      // Browsers will not display a glyph at position 0. Typically glyph 0 is\n      // notdef, but a number of fonts put a valid glyph there so it must be\n      // duplicated and appended.\n      if (this.charStrings.count >= 65535) {\n        warn(\"Not enough space in charstrings to duplicate first glyph.\");\n        return;\n      }\n      var glyphZero = this.charStrings.get(0);\n      this.charStrings.add(glyphZero);\n      if (this.isCIDFont) {\n        this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n      }\n    },\n    hasGlyphId: function CFF_hasGlyphID(id) {\n      if (id < 0 || id >= this.charStrings.count) {\n        return false;\n      }\n      var glyph = this.charStrings.get(id);\n      return glyph.length > 0;\n    },\n  };\n\n  return CFF;\n})();\n\nvar CFFHeader = (function CFFHeaderClosure() {\n  function CFFHeader(major, minor, hdrSize, offSize) {\n    this.major = major;\n    this.minor = minor;\n    this.hdrSize = hdrSize;\n    this.offSize = offSize;\n  }\n  return CFFHeader;\n})();\n\nvar CFFStrings = (function CFFStringsClosure() {\n  function CFFStrings() {\n    this.strings = [];\n  }\n  CFFStrings.prototype = {\n    get: function CFFStrings_get(index) {\n      if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n        return CFFStandardStrings[index];\n      }\n      if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n        return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n      }\n      return CFFStandardStrings[0];\n    },\n    getSID: function CFFStrings_getSID(str) {\n      let index = CFFStandardStrings.indexOf(str);\n      if (index !== -1) {\n        return index;\n      }\n      index = this.strings.indexOf(str);\n      if (index !== -1) {\n        return index + NUM_STANDARD_CFF_STRINGS;\n      }\n      return -1;\n    },\n    add: function CFFStrings_add(value) {\n      this.strings.push(value);\n    },\n    get count() {\n      return this.strings.length;\n    },\n  };\n  return CFFStrings;\n})();\n\nvar CFFIndex = (function CFFIndexClosure() {\n  function CFFIndex() {\n    this.objects = [];\n    this.length = 0;\n  }\n  CFFIndex.prototype = {\n    add: function CFFIndex_add(data) {\n      this.length += data.length;\n      this.objects.push(data);\n    },\n    set: function CFFIndex_set(index, data) {\n      this.length += data.length - this.objects[index].length;\n      this.objects[index] = data;\n    },\n    get: function CFFIndex_get(index) {\n      return this.objects[index];\n    },\n    get count() {\n      return this.objects.length;\n    },\n  };\n  return CFFIndex;\n})();\n\nvar CFFDict = (function CFFDictClosure() {\n  function CFFDict(tables, strings) {\n    this.keyToNameMap = tables.keyToNameMap;\n    this.nameToKeyMap = tables.nameToKeyMap;\n    this.defaults = tables.defaults;\n    this.types = tables.types;\n    this.opcodes = tables.opcodes;\n    this.order = tables.order;\n    this.strings = strings;\n    this.values = Object.create(null);\n  }\n  CFFDict.prototype = {\n    // value should always be an array\n    setByKey: function CFFDict_setByKey(key, value) {\n      if (!(key in this.keyToNameMap)) {\n        return false;\n      }\n      var valueLength = value.length;\n      // ignore empty values\n      if (valueLength === 0) {\n        return true;\n      }\n      // Ignore invalid values (fixes bug1068432.pdf and bug1308536.pdf).\n      for (var i = 0; i < valueLength; i++) {\n        if (isNaN(value[i])) {\n          warn('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n          return true;\n        }\n      }\n      var type = this.types[key];\n      // remove the array wrapping these types of values\n      if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n        value = value[0];\n      }\n      this.values[key] = value;\n      return true;\n    },\n    setByName: function CFFDict_setByName(name, value) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new FormatError(`Invalid dictionary name \"${name}\"`);\n      }\n      this.values[this.nameToKeyMap[name]] = value;\n    },\n    hasName: function CFFDict_hasName(name) {\n      return this.nameToKeyMap[name] in this.values;\n    },\n    getByName: function CFFDict_getByName(name) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new FormatError(`Invalid dictionary name ${name}\"`);\n      }\n      var key = this.nameToKeyMap[name];\n      if (!(key in this.values)) {\n        return this.defaults[key];\n      }\n      return this.values[key];\n    },\n    removeByName: function CFFDict_removeByName(name) {\n      delete this.values[this.nameToKeyMap[name]];\n    },\n  };\n  CFFDict.createTables = function CFFDict_createTables(layout) {\n    var tables = {\n      keyToNameMap: {},\n      nameToKeyMap: {},\n      defaults: {},\n      types: {},\n      opcodes: {},\n      order: [],\n    };\n    for (var i = 0, ii = layout.length; i < ii; ++i) {\n      var entry = layout[i];\n      var key = Array.isArray(entry[0])\n        ? (entry[0][0] << 8) + entry[0][1]\n        : entry[0];\n      tables.keyToNameMap[key] = entry[1];\n      tables.nameToKeyMap[entry[1]] = key;\n      tables.types[key] = entry[2];\n      tables.defaults[key] = entry[3];\n      tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n      tables.order.push(key);\n    }\n    return tables;\n  };\n  return CFFDict;\n})();\n\nvar CFFTopDict = (function CFFTopDictClosure() {\n  var layout = [\n    [[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null],\n    [[12, 20], \"SyntheticBase\", \"num\", null],\n    [0, \"version\", \"sid\", null],\n    [1, \"Notice\", \"sid\", null],\n    [[12, 0], \"Copyright\", \"sid\", null],\n    [2, \"FullName\", \"sid\", null],\n    [3, \"FamilyName\", \"sid\", null],\n    [4, \"Weight\", \"sid\", null],\n    [[12, 1], \"isFixedPitch\", \"num\", 0],\n    [[12, 2], \"ItalicAngle\", \"num\", 0],\n    [[12, 3], \"UnderlinePosition\", \"num\", -100],\n    [[12, 4], \"UnderlineThickness\", \"num\", 50],\n    [[12, 5], \"PaintType\", \"num\", 0],\n    [[12, 6], \"CharstringType\", \"num\", 2],\n    // prettier-ignore\n    [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"],\n                            [0.001, 0, 0, 0.001, 0, 0]],\n    [13, \"UniqueID\", \"num\", null],\n    [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]],\n    [[12, 8], \"StrokeWidth\", \"num\", 0],\n    [14, \"XUID\", \"array\", null],\n    [15, \"charset\", \"offset\", 0],\n    [16, \"Encoding\", \"offset\", 0],\n    [17, \"CharStrings\", \"offset\", 0],\n    [18, \"Private\", [\"offset\", \"offset\"], null],\n    [[12, 21], \"PostScript\", \"sid\", null],\n    [[12, 22], \"BaseFontName\", \"sid\", null],\n    [[12, 23], \"BaseFontBlend\", \"delta\", null],\n    [[12, 31], \"CIDFontVersion\", \"num\", 0],\n    [[12, 32], \"CIDFontRevision\", \"num\", 0],\n    [[12, 33], \"CIDFontType\", \"num\", 0],\n    [[12, 34], \"CIDCount\", \"num\", 8720],\n    [[12, 35], \"UIDBase\", \"num\", null],\n    // XXX: CID Fonts on DirectWrite 6.1 only seem to work if FDSelect comes\n    // before FDArray.\n    [[12, 37], \"FDSelect\", \"offset\", null],\n    [[12, 36], \"FDArray\", \"offset\", null],\n    [[12, 38], \"FontName\", \"sid\", null],\n  ];\n  var tables = null;\n  function CFFTopDict(strings) {\n    if (tables === null) {\n      tables = CFFDict.createTables(layout);\n    }\n    CFFDict.call(this, tables, strings);\n    this.privateDict = null;\n  }\n  CFFTopDict.prototype = Object.create(CFFDict.prototype);\n  return CFFTopDict;\n})();\n\nvar CFFPrivateDict = (function CFFPrivateDictClosure() {\n  var layout = [\n    [6, \"BlueValues\", \"delta\", null],\n    [7, \"OtherBlues\", \"delta\", null],\n    [8, \"FamilyBlues\", \"delta\", null],\n    [9, \"FamilyOtherBlues\", \"delta\", null],\n    [[12, 9], \"BlueScale\", \"num\", 0.039625],\n    [[12, 10], \"BlueShift\", \"num\", 7],\n    [[12, 11], \"BlueFuzz\", \"num\", 1],\n    [10, \"StdHW\", \"num\", null],\n    [11, \"StdVW\", \"num\", null],\n    [[12, 12], \"StemSnapH\", \"delta\", null],\n    [[12, 13], \"StemSnapV\", \"delta\", null],\n    [[12, 14], \"ForceBold\", \"num\", 0],\n    [[12, 17], \"LanguageGroup\", \"num\", 0],\n    [[12, 18], \"ExpansionFactor\", \"num\", 0.06],\n    [[12, 19], \"initialRandomSeed\", \"num\", 0],\n    [20, \"defaultWidthX\", \"num\", 0],\n    [21, \"nominalWidthX\", \"num\", 0],\n    [19, \"Subrs\", \"offset\", null],\n  ];\n  var tables = null;\n  function CFFPrivateDict(strings) {\n    if (tables === null) {\n      tables = CFFDict.createTables(layout);\n    }\n    CFFDict.call(this, tables, strings);\n    this.subrsIndex = null;\n  }\n  CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n  return CFFPrivateDict;\n})();\n\nvar CFFCharsetPredefinedTypes = {\n  ISO_ADOBE: 0,\n  EXPERT: 1,\n  EXPERT_SUBSET: 2,\n};\nvar CFFCharset = (function CFFCharsetClosure() {\n  function CFFCharset(predefined, format, charset, raw) {\n    this.predefined = predefined;\n    this.format = format;\n    this.charset = charset;\n    this.raw = raw;\n  }\n  return CFFCharset;\n})();\n\nvar CFFEncoding = (function CFFEncodingClosure() {\n  function CFFEncoding(predefined, format, encoding, raw) {\n    this.predefined = predefined;\n    this.format = format;\n    this.encoding = encoding;\n    this.raw = raw;\n  }\n  return CFFEncoding;\n})();\n\nvar CFFFDSelect = (function CFFFDSelectClosure() {\n  function CFFFDSelect(format, fdSelect) {\n    this.format = format;\n    this.fdSelect = fdSelect;\n  }\n  CFFFDSelect.prototype = {\n    getFDIndex: function CFFFDSelect_get(glyphIndex) {\n      if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n        return -1;\n      }\n      return this.fdSelect[glyphIndex];\n    },\n  };\n  return CFFFDSelect;\n})();\n\n// Helper class to keep track of where an offset is within the data and helps\n// filling in that offset once it's known.\nvar CFFOffsetTracker = (function CFFOffsetTrackerClosure() {\n  function CFFOffsetTracker() {\n    this.offsets = Object.create(null);\n  }\n  CFFOffsetTracker.prototype = {\n    isTracking: function CFFOffsetTracker_isTracking(key) {\n      return key in this.offsets;\n    },\n    track: function CFFOffsetTracker_track(key, location) {\n      if (key in this.offsets) {\n        throw new FormatError(`Already tracking location of ${key}`);\n      }\n      this.offsets[key] = location;\n    },\n    offset: function CFFOffsetTracker_offset(value) {\n      for (var key in this.offsets) {\n        this.offsets[key] += value;\n      }\n    },\n    setEntryLocation: function CFFOffsetTracker_setEntryLocation(\n      key,\n      values,\n      output\n    ) {\n      if (!(key in this.offsets)) {\n        throw new FormatError(`Not tracking location of ${key}`);\n      }\n      var data = output.data;\n      var dataOffset = this.offsets[key];\n      var size = 5;\n      for (var i = 0, ii = values.length; i < ii; ++i) {\n        var offset0 = i * size + dataOffset;\n        var offset1 = offset0 + 1;\n        var offset2 = offset0 + 2;\n        var offset3 = offset0 + 3;\n        var offset4 = offset0 + 4;\n        // It's easy to screw up offsets so perform this sanity check.\n        if (\n          data[offset0] !== 0x1d ||\n          data[offset1] !== 0 ||\n          data[offset2] !== 0 ||\n          data[offset3] !== 0 ||\n          data[offset4] !== 0\n        ) {\n          throw new FormatError(\"writing to an offset that is not empty\");\n        }\n        var value = values[i];\n        data[offset0] = 0x1d;\n        data[offset1] = (value >> 24) & 0xff;\n        data[offset2] = (value >> 16) & 0xff;\n        data[offset3] = (value >> 8) & 0xff;\n        data[offset4] = value & 0xff;\n      }\n    },\n  };\n  return CFFOffsetTracker;\n})();\n\n// Takes a CFF and converts it to the binary representation.\nvar CFFCompiler = (function CFFCompilerClosure() {\n  function CFFCompiler(cff) {\n    this.cff = cff;\n  }\n  CFFCompiler.prototype = {\n    compile: function CFFCompiler_compile() {\n      var cff = this.cff;\n      var output = {\n        data: [],\n        length: 0,\n        add: function CFFCompiler_add(data) {\n          this.data = this.data.concat(data);\n          this.length = this.data.length;\n        },\n      };\n\n      // Compile the five entries that must be in order.\n      var header = this.compileHeader(cff.header);\n      output.add(header);\n\n      var nameIndex = this.compileNameIndex(cff.names);\n      output.add(nameIndex);\n\n      if (cff.isCIDFont) {\n        // The spec is unclear on how font matrices should relate to each other\n        // when there is one in the main top dict and the sub top dicts.\n        // Windows handles this differently than linux and osx so we have to\n        // normalize to work on all.\n        // Rules based off of some mailing list discussions:\n        // - If main font has a matrix and subfont doesn't, use the main matrix.\n        // - If no main font matrix and there is a subfont matrix, use the\n        //   subfont matrix.\n        // - If both have matrices, concat together.\n        // - If neither have matrices, use default.\n        // To make this work on all platforms we move the top matrix into each\n        // sub top dict and concat if necessary.\n        if (cff.topDict.hasName(\"FontMatrix\")) {\n          var base = cff.topDict.getByName(\"FontMatrix\");\n          cff.topDict.removeByName(\"FontMatrix\");\n          for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n            var subDict = cff.fdArray[i];\n            var matrix = base.slice(0);\n            if (subDict.hasName(\"FontMatrix\")) {\n              matrix = Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n            }\n            subDict.setByName(\"FontMatrix\", matrix);\n          }\n        }\n      }\n\n      cff.topDict.setByName(\"charset\", 0);\n      var compiled = this.compileTopDicts(\n        [cff.topDict],\n        output.length,\n        cff.isCIDFont\n      );\n      output.add(compiled.output);\n      var topDictTracker = compiled.trackers[0];\n\n      var stringIndex = this.compileStringIndex(cff.strings.strings);\n      output.add(stringIndex);\n\n      var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n      output.add(globalSubrIndex);\n\n      // Now start on the other entries that have no specific order.\n      if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n        if (cff.encoding.predefined) {\n          topDictTracker.setEntryLocation(\n            \"Encoding\",\n            [cff.encoding.format],\n            output\n          );\n        } else {\n          var encoding = this.compileEncoding(cff.encoding);\n          topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n          output.add(encoding);\n        }\n      }\n      var charset = this.compileCharset(\n        cff.charset,\n        cff.charStrings.count,\n        cff.strings,\n        cff.isCIDFont\n      );\n      topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n      output.add(charset);\n\n      var charStrings = this.compileCharStrings(cff.charStrings);\n      topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n      output.add(charStrings);\n\n      if (cff.isCIDFont) {\n        // For some reason FDSelect must be in front of FDArray on windows. OSX\n        // and linux don't seem to care.\n        topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n        var fdSelect = this.compileFDSelect(cff.fdSelect);\n        output.add(fdSelect);\n        // It is unclear if the sub font dictionary can have CID related\n        // dictionary keys, but the sanitizer doesn't like them so remove them.\n        compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n        topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n        output.add(compiled.output);\n        var fontDictTrackers = compiled.trackers;\n\n        this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n      }\n\n      this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n\n      // If the font data ends with INDEX whose object data is zero-length,\n      // the sanitizer will bail out. Add a dummy byte to avoid that.\n      output.add([0]);\n\n      return output.data;\n    },\n    encodeNumber: function CFFCompiler_encodeNumber(value) {\n      if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n        // isInt\n        return this.encodeInteger(value);\n      }\n      return this.encodeFloat(value);\n    },\n    encodeFloat: function CFFCompiler_encodeFloat(num) {\n      var value = num.toString();\n\n      // rounding inaccurate doubles\n      var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n      if (m) {\n        var epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n        value = (Math.round(num * epsilon) / epsilon).toString();\n      }\n\n      var nibbles = \"\";\n      var i, ii;\n      for (i = 0, ii = value.length; i < ii; ++i) {\n        var a = value[i];\n        if (a === \"e\") {\n          nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n        } else if (a === \".\") {\n          nibbles += \"a\";\n        } else if (a === \"-\") {\n          nibbles += \"e\";\n        } else {\n          nibbles += a;\n        }\n      }\n      nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n      var out = [30];\n      for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n        out.push(parseInt(nibbles.substring(i, i + 2), 16));\n      }\n      return out;\n    },\n    encodeInteger: function CFFCompiler_encodeInteger(value) {\n      var code;\n      if (value >= -107 && value <= 107) {\n        code = [value + 139];\n      } else if (value >= 108 && value <= 1131) {\n        value = value - 108;\n        code = [(value >> 8) + 247, value & 0xff];\n      } else if (value >= -1131 && value <= -108) {\n        value = -value - 108;\n        code = [(value >> 8) + 251, value & 0xff];\n      } else if (value >= -32768 && value <= 32767) {\n        code = [0x1c, (value >> 8) & 0xff, value & 0xff];\n      } else {\n        code = [\n          0x1d,\n          (value >> 24) & 0xff,\n          (value >> 16) & 0xff,\n          (value >> 8) & 0xff,\n          value & 0xff,\n        ];\n      }\n      return code;\n    },\n    compileHeader: function CFFCompiler_compileHeader(header) {\n      return [header.major, header.minor, header.hdrSize, header.offSize];\n    },\n    compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n      var nameIndex = new CFFIndex();\n      for (var i = 0, ii = names.length; i < ii; ++i) {\n        var name = names[i];\n        // OTS doesn't allow names to be over 127 characters.\n        var length = Math.min(name.length, 127);\n        var sanitizedName = new Array(length);\n        for (var j = 0; j < length; j++) {\n          // OTS requires chars to be between a range and not certain other\n          // chars.\n          var char = name[j];\n          if (\n            char < \"!\" ||\n            char > \"~\" ||\n            char === \"[\" ||\n            char === \"]\" ||\n            char === \"(\" ||\n            char === \")\" ||\n            char === \"{\" ||\n            char === \"}\" ||\n            char === \"<\" ||\n            char === \">\" ||\n            char === \"/\" ||\n            char === \"%\"\n          ) {\n            char = \"_\";\n          }\n          sanitizedName[j] = char;\n        }\n        sanitizedName = sanitizedName.join(\"\");\n\n        if (sanitizedName === \"\") {\n          sanitizedName = \"Bad_Font_Name\";\n        }\n        nameIndex.add(stringToBytes(sanitizedName));\n      }\n      return this.compileIndex(nameIndex);\n    },\n    compileTopDicts: function CFFCompiler_compileTopDicts(\n      dicts,\n      length,\n      removeCidKeys\n    ) {\n      var fontDictTrackers = [];\n      var fdArrayIndex = new CFFIndex();\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n        if (removeCidKeys) {\n          fontDict.removeByName(\"CIDFontVersion\");\n          fontDict.removeByName(\"CIDFontRevision\");\n          fontDict.removeByName(\"CIDFontType\");\n          fontDict.removeByName(\"CIDCount\");\n          fontDict.removeByName(\"UIDBase\");\n        }\n        var fontDictTracker = new CFFOffsetTracker();\n        var fontDictData = this.compileDict(fontDict, fontDictTracker);\n        fontDictTrackers.push(fontDictTracker);\n        fdArrayIndex.add(fontDictData);\n        fontDictTracker.offset(length);\n      }\n      fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n      return {\n        trackers: fontDictTrackers,\n        output: fdArrayIndex,\n      };\n    },\n    compilePrivateDicts: function CFFCompiler_compilePrivateDicts(\n      dicts,\n      trackers,\n      output\n    ) {\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n        var privateDict = fontDict.privateDict;\n        if (!privateDict || !fontDict.hasName(\"Private\")) {\n          throw new FormatError(\"There must be a private dictionary.\");\n        }\n        var privateDictTracker = new CFFOffsetTracker();\n        var privateDictData = this.compileDict(privateDict, privateDictTracker);\n\n        var outputLength = output.length;\n        privateDictTracker.offset(outputLength);\n        if (!privateDictData.length) {\n          // The private dictionary was empty, set the output length to zero to\n          // ensure the offset length isn't out of bounds in the eyes of the\n          // sanitizer.\n          outputLength = 0;\n        }\n\n        trackers[i].setEntryLocation(\n          \"Private\",\n          [privateDictData.length, outputLength],\n          output\n        );\n        output.add(privateDictData);\n\n        if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n          var subrs = this.compileIndex(privateDict.subrsIndex);\n          privateDictTracker.setEntryLocation(\n            \"Subrs\",\n            [privateDictData.length],\n            output\n          );\n          output.add(subrs);\n        }\n      }\n    },\n    compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n      var out = [];\n      // The dictionary keys must be in a certain order.\n      var order = dict.order;\n      for (var i = 0; i < order.length; ++i) {\n        var key = order[i];\n        if (!(key in dict.values)) {\n          continue;\n        }\n        var values = dict.values[key];\n        var types = dict.types[key];\n        if (!Array.isArray(types)) {\n          types = [types];\n        }\n        if (!Array.isArray(values)) {\n          values = [values];\n        }\n\n        // Remove any empty dict values.\n        if (values.length === 0) {\n          continue;\n        }\n\n        for (var j = 0, jj = types.length; j < jj; ++j) {\n          var type = types[j];\n          var value = values[j];\n          switch (type) {\n            case \"num\":\n            case \"sid\":\n              out = out.concat(this.encodeNumber(value));\n              break;\n            case \"offset\":\n              // For offsets we just insert a 32bit integer so we don't have to\n              // deal with figuring out the length of the offset when it gets\n              // replaced later on by the compiler.\n              var name = dict.keyToNameMap[key];\n              // Some offsets have the offset and the length, so just record the\n              // position of the first one.\n              if (!offsetTracker.isTracking(name)) {\n                offsetTracker.track(name, out.length);\n              }\n              out = out.concat([0x1d, 0, 0, 0, 0]);\n              break;\n            case \"array\":\n            case \"delta\":\n              out = out.concat(this.encodeNumber(value));\n              for (var k = 1, kk = values.length; k < kk; ++k) {\n                out = out.concat(this.encodeNumber(values[k]));\n              }\n              break;\n            default:\n              throw new FormatError(`Unknown data type of ${type}`);\n          }\n        }\n        out = out.concat(dict.opcodes[key]);\n      }\n      return out;\n    },\n    compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n      var stringIndex = new CFFIndex();\n      for (var i = 0, ii = strings.length; i < ii; ++i) {\n        stringIndex.add(stringToBytes(strings[i]));\n      }\n      return this.compileIndex(stringIndex);\n    },\n    compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n      var globalSubrIndex = this.cff.globalSubrIndex;\n      this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n    },\n    compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n      var charStringsIndex = new CFFIndex();\n      for (var i = 0; i < charStrings.count; i++) {\n        var glyph = charStrings.get(i);\n        // If the CharString outline is empty, replace it with .notdef to\n        // prevent OTS from rejecting the font (fixes bug1252420.pdf).\n        if (glyph.length === 0) {\n          charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n          continue;\n        }\n        charStringsIndex.add(glyph);\n      }\n      return this.compileIndex(charStringsIndex);\n    },\n    compileCharset: function CFFCompiler_compileCharset(\n      charset,\n      numGlyphs,\n      strings,\n      isCIDFont\n    ) {\n      // Freetype requires the number of charset strings be correct and MacOS\n      // requires a valid mapping for printing.\n      let out;\n      const numGlyphsLessNotDef = numGlyphs - 1;\n      if (isCIDFont) {\n        // In a CID font, the charset is a mapping of CIDs not SIDs so just\n        // create an identity mapping.\n        out = new Uint8Array([\n          2, // format\n          0, // first CID upper byte\n          0, // first CID lower byte\n          (numGlyphsLessNotDef >> 8) & 0xff,\n          numGlyphsLessNotDef & 0xff,\n        ]);\n      } else {\n        const length = 1 + numGlyphsLessNotDef * 2;\n        out = new Uint8Array(length);\n        out[0] = 0; // format 0\n        let charsetIndex = 0;\n        const numCharsets = charset.charset.length;\n        let warned = false;\n        for (let i = 1; i < out.length; i += 2) {\n          let sid = 0;\n          if (charsetIndex < numCharsets) {\n            const name = charset.charset[charsetIndex++];\n            sid = strings.getSID(name);\n            if (sid === -1) {\n              sid = 0;\n              if (!warned) {\n                warned = true;\n                warn(`Couldn't find ${name} in CFF strings`);\n              }\n            }\n          }\n          out[i] = (sid >> 8) & 0xff;\n          out[i + 1] = sid & 0xff;\n        }\n      }\n      return this.compileTypedArray(out);\n    },\n    compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n      return this.compileTypedArray(encoding.raw);\n    },\n    compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n      const format = fdSelect.format;\n      let out, i;\n      switch (format) {\n        case 0:\n          out = new Uint8Array(1 + fdSelect.fdSelect.length);\n          out[0] = format;\n          for (i = 0; i < fdSelect.fdSelect.length; i++) {\n            out[i + 1] = fdSelect.fdSelect[i];\n          }\n          break;\n        case 3:\n          const start = 0;\n          let lastFD = fdSelect.fdSelect[0];\n          const ranges = [\n            format,\n            0, // nRanges place holder\n            0, // nRanges place holder\n            (start >> 8) & 0xff,\n            start & 0xff,\n            lastFD,\n          ];\n          for (i = 1; i < fdSelect.fdSelect.length; i++) {\n            const currentFD = fdSelect.fdSelect[i];\n            if (currentFD !== lastFD) {\n              ranges.push((i >> 8) & 0xff, i & 0xff, currentFD);\n              lastFD = currentFD;\n            }\n          }\n          // 3 bytes are pushed for every range and there are 3 header bytes.\n          const numRanges = (ranges.length - 3) / 3;\n          ranges[1] = (numRanges >> 8) & 0xff;\n          ranges[2] = numRanges & 0xff;\n          // sentinel\n          ranges.push((i >> 8) & 0xff, i & 0xff);\n          out = new Uint8Array(ranges);\n          break;\n      }\n      return this.compileTypedArray(out);\n    },\n    compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n      var out = [];\n      for (var i = 0, ii = data.length; i < ii; ++i) {\n        out[i] = data[i];\n      }\n      return out;\n    },\n    compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n      trackers = trackers || [];\n      var objects = index.objects;\n      // First 2 bytes contains the number of objects contained into this index\n      var count = objects.length;\n\n      // If there is no object, just create an index. This technically\n      // should just be [0, 0] but OTS has an issue with that.\n      if (count === 0) {\n        return [0, 0, 0];\n      }\n\n      var data = [(count >> 8) & 0xff, count & 0xff];\n\n      var lastOffset = 1,\n        i;\n      for (i = 0; i < count; ++i) {\n        lastOffset += objects[i].length;\n      }\n\n      var offsetSize;\n      if (lastOffset < 0x100) {\n        offsetSize = 1;\n      } else if (lastOffset < 0x10000) {\n        offsetSize = 2;\n      } else if (lastOffset < 0x1000000) {\n        offsetSize = 3;\n      } else {\n        offsetSize = 4;\n      }\n\n      // Next byte contains the offset size use to reference object in the file\n      data.push(offsetSize);\n\n      // Add another offset after this one because we need a new offset\n      var relativeOffset = 1;\n      for (i = 0; i < count + 1; i++) {\n        if (offsetSize === 1) {\n          data.push(relativeOffset & 0xff);\n        } else if (offsetSize === 2) {\n          data.push((relativeOffset >> 8) & 0xff, relativeOffset & 0xff);\n        } else if (offsetSize === 3) {\n          data.push(\n            (relativeOffset >> 16) & 0xff,\n            (relativeOffset >> 8) & 0xff,\n            relativeOffset & 0xff\n          );\n        } else {\n          data.push(\n            (relativeOffset >>> 24) & 0xff,\n            (relativeOffset >> 16) & 0xff,\n            (relativeOffset >> 8) & 0xff,\n            relativeOffset & 0xff\n          );\n        }\n\n        if (objects[i]) {\n          relativeOffset += objects[i].length;\n        }\n      }\n\n      for (i = 0; i < count; i++) {\n        // Notify the tracker where the object will be offset in the data.\n        if (trackers[i]) {\n          trackers[i].offset(data.length);\n        }\n        for (var j = 0, jj = objects[i].length; j < jj; j++) {\n          data.push(objects[i][j]);\n        }\n      }\n      return data;\n    },\n  };\n  return CFFCompiler;\n})();\n\nexport {\n  CFFStandardStrings,\n  CFFParser,\n  CFF,\n  CFFHeader,\n  CFFStrings,\n  CFFIndex,\n  CFFCharset,\n  CFFTopDict,\n  CFFPrivateDict,\n  CFFCompiler,\n  CFFFDSelect,\n};\n","/* Copyright 2012 Mozilla Foundation\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/* eslint no-var: error */\n\n// prettier-ignore\nconst ISOAdobeCharset = [\n  \".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\",\n  \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\",\n  \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\",\n  \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\",\n  \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\",\n  \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\",\n  \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\",\n  \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\",\n  \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\",\n  \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\",\n  \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\",\n  \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\",\n  \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\",\n  \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\",\n  \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\",\n  \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\",\n  \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\",\n  \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\",\n  \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\",\n  \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\",\n  \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\",\n  \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\",\n  \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\",\n  \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\",\n  \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\",\n  \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\",\n  \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\",\n  \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\",\n  \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\",\n  \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\",\n  \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\",\n  \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\",\n  \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\",\n  \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"\n];\n\n// prettier-ignore\nconst ExpertCharset = [\n  \".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\",\n  \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\",\n  \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\",\n  \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\",\n  \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\",\n  \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\",\n  \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\",\n  \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\",\n  \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\",\n  \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\",\n  \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\",\n  \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\",\n  \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\",\n  \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\",\n  \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\",\n  \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\",\n  \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\",\n  \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\",\n  \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\",\n  \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\",\n  \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\",\n  \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\",\n  \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\",\n  \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\",\n  \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\",\n  \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\",\n  \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\",\n  \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\",\n  \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\",\n  \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\",\n  \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\",\n  \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\",\n  \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\",\n  \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\",\n  \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\",\n  \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\",\n  \"Ydieresissmall\"\n];\n\n// prettier-ignore\nconst ExpertSubsetCharset = [\n  \".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\",\n  \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\",\n  \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\",\n  \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\",\n  \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\",\n  \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\",\n  \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\",\n  \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\",\n  \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\",\n  \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\",\n  \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\",\n  \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\",\n  \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\",\n  \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\",\n  \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\",\n  \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\",\n  \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\",\n  \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\",\n  \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\",\n  \"periodinferior\", \"commainferior\"\n];\n\nexport { ISOAdobeCharset, ExpertCharset, ExpertSubsetCharset };\n","/* Copyright 2012 Mozilla Foundation\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\n// prettier-ignore\nconst ExpertEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\",\n  \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\",\n  \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\",\n  \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\",\n  \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\",\n  \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\",\n  \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\",\n  \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\",\n  \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\",\n  \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\",\n  \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\",\n  \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\",\n  \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\",\n  \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\",\n  \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\",\n  \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\",\n  \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\",\n  \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\",\n  \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\",\n  \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\",\n  \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\",\n  \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\",\n  \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\",\n  \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\",\n  \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\",\n  \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\",\n  \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\",\n  \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\",\n  \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\",\n  \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\",\n  \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\",\n  \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\",\n  \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\",\n  \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\",\n  \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\",\n  \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\",\n  \"Ydieresissmall\"];\n\n// prettier-ignore\nconst MacExpertEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\",\n  \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\",\n  \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\",\n  \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\",\n  \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\",\n  \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\",\n  \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\",\n  \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\",\n  \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\",\n  \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\",\n  \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\",\n  \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\",\n  \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\",\n  \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\",\n  \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\",\n  \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\",\n  \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\",\n  \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\",\n  \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\",\n  \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\",\n  \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\",\n  \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\",\n  \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\",\n  \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\",\n  \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\",\n  \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\",\n  \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\",\n  \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\",\n  \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\",\n  \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\",\n  \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\",\n  \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\",\n  \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\",\n  \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\",\n  \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\",\n  \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\",\n  \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\",\n  \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\n\n// prettier-ignore\nconst MacRomanEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\",\n  \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\",\n  \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\",\n  \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\",\n  \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\",\n  \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\",\n  \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\",\n  \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\",\n  \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\",\n  \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\",\n  \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\",\n  \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\",\n  \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\",\n  \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\",\n  \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\",\n  \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\",\n  \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\",\n  \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\",\n  \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\",\n  \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\",\n  \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\",\n  \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\",\n  \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\",\n  \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\",\n  \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\",\n  \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\",\n  \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\",\n  \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\",\n  \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\",\n  \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\",\n  \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\",\n  \"ogonek\", \"caron\"];\n\n// prettier-ignore\nconst StandardEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\",\n  \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\",\n  \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\",\n  \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\",\n  \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\",\n  \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\",\n  \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\",\n  \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\",\n  \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\",\n  \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\",\n  \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\",\n  \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\",\n  \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\",\n  \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\",\n  \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\",\n  \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\",\n  \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\",\n  \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\",\n  \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\",\n  \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\",\n  \"\", \"\", \"\"];\n\n// prettier-ignore\nconst WinAnsiEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\",\n  \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\",\n  \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\",\n  \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\",\n  \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\",\n  \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\",\n  \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\",\n  \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\",\n  \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\",\n  \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\",\n  \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\",\n  \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\",\n  \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\",\n  \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\",\n  \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\",\n  \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\",\n  \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\",\n  \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\",\n  \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\",\n  \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\",\n  \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\",\n  \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\",\n  \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\",\n  \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\",\n  \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\",\n  \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\",\n  \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\",\n  \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\",\n  \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\",\n  \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\",\n  \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\",\n  \"ydieresis\"];\n\n// prettier-ignore\nconst SymbolSetEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\",\n  \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\",\n  \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\",\n  \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\",\n  \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\",\n  \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\",\n  \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\",\n  \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\",\n  \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\",\n  \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\",\n  \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\",\n  \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\",\n  \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\",\n  \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\",\n  \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\",\n  \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\",\n  \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\",\n  \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\",\n  \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\",\n  \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\",\n  \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\",\n  \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\",\n  \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\",\n  \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\",\n  \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\",\n  \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\",\n  \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\",\n  \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\",\n  \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\",\n  \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\",\n  \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\",\n  \"bracerightbt\", \"\"];\n\n// prettier-ignore\nconst ZapfDingbatsEncoding = [\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\",\n  \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\",\n  \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\",\n  \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\",\n  \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\",\n  \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\",\n  \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\",\n  \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\",\n  \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\",\n  \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\",\n  \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\",\n  \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\",\n  \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\",\n  \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\",\n  \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\",\n  \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\",\n  \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\",\n  \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\",\n  \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\",\n  \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\",\n  \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\",\n  \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\n\nfunction getEncoding(encodingName) {\n  switch (encodingName) {\n    case \"WinAnsiEncoding\":\n      return WinAnsiEncoding;\n    case \"StandardEncoding\":\n      return StandardEncoding;\n    case \"MacRomanEncoding\":\n      return MacRomanEncoding;\n    case \"SymbolSetEncoding\":\n      return SymbolSetEncoding;\n    case \"ZapfDingbatsEncoding\":\n      return ZapfDingbatsEncoding;\n    case \"ExpertEncoding\":\n      return ExpertEncoding;\n    case \"MacExpertEncoding\":\n      return MacExpertEncoding;\n    default:\n      return null;\n  }\n}\n\nexport {\n  WinAnsiEncoding,\n  StandardEncoding,\n  MacRomanEncoding,\n  SymbolSetEncoding,\n  ZapfDingbatsEncoding,\n  ExpertEncoding,\n  getEncoding,\n};\n","/* Copyright 2012 Mozilla Foundation\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/* no-babel-preset */\n\nvar getLookupTableFactory = require(\"./core_utils.js\").getLookupTableFactory;\n\nvar getGlyphsUnicode = getLookupTableFactory(function(t) {\n  t[\"A\"] = 0x0041;\n  t[\"AE\"] = 0x00c6;\n  t[\"AEacute\"] = 0x01fc;\n  t[\"AEmacron\"] = 0x01e2;\n  t[\"AEsmall\"] = 0xf7e6;\n  t[\"Aacute\"] = 0x00c1;\n  t[\"Aacutesmall\"] = 0xf7e1;\n  t[\"Abreve\"] = 0x0102;\n  t[\"Abreveacute\"] = 0x1eae;\n  t[\"Abrevecyrillic\"] = 0x04d0;\n  t[\"Abrevedotbelow\"] = 0x1eb6;\n  t[\"Abrevegrave\"] = 0x1eb0;\n  t[\"Abrevehookabove\"] = 0x1eb2;\n  t[\"Abrevetilde\"] = 0x1eb4;\n  t[\"Acaron\"] = 0x01cd;\n  t[\"Acircle\"] = 0x24b6;\n  t[\"Acircumflex\"] = 0x00c2;\n  t[\"Acircumflexacute\"] = 0x1ea4;\n  t[\"Acircumflexdotbelow\"] = 0x1eac;\n  t[\"Acircumflexgrave\"] = 0x1ea6;\n  t[\"Acircumflexhookabove\"] = 0x1ea8;\n  t[\"Acircumflexsmall\"] = 0xf7e2;\n  t[\"Acircumflextilde\"] = 0x1eaa;\n  t[\"Acute\"] = 0xf6c9;\n  t[\"Acutesmall\"] = 0xf7b4;\n  t[\"Acyrillic\"] = 0x0410;\n  t[\"Adblgrave\"] = 0x0200;\n  t[\"Adieresis\"] = 0x00c4;\n  t[\"Adieresiscyrillic\"] = 0x04d2;\n  t[\"Adieresismacron\"] = 0x01de;\n  t[\"Adieresissmall\"] = 0xf7e4;\n  t[\"Adotbelow\"] = 0x1ea0;\n  t[\"Adotmacron\"] = 0x01e0;\n  t[\"Agrave\"] = 0x00c0;\n  t[\"Agravesmall\"] = 0xf7e0;\n  t[\"Ahookabove\"] = 0x1ea2;\n  t[\"Aiecyrillic\"] = 0x04d4;\n  t[\"Ainvertedbreve\"] = 0x0202;\n  t[\"Alpha\"] = 0x0391;\n  t[\"Alphatonos\"] = 0x0386;\n  t[\"Amacron\"] = 0x0100;\n  t[\"Amonospace\"] = 0xff21;\n  t[\"Aogonek\"] = 0x0104;\n  t[\"Aring\"] = 0x00c5;\n  t[\"Aringacute\"] = 0x01fa;\n  t[\"Aringbelow\"] = 0x1e00;\n  t[\"Aringsmall\"] = 0xf7e5;\n  t[\"Asmall\"] = 0xf761;\n  t[\"Atilde\"] = 0x00c3;\n  t[\"Atildesmall\"] = 0xf7e3;\n  t[\"Aybarmenian\"] = 0x0531;\n  t[\"B\"] = 0x0042;\n  t[\"Bcircle\"] = 0x24b7;\n  t[\"Bdotaccent\"] = 0x1e02;\n  t[\"Bdotbelow\"] = 0x1e04;\n  t[\"Becyrillic\"] = 0x0411;\n  t[\"Benarmenian\"] = 0x0532;\n  t[\"Beta\"] = 0x0392;\n  t[\"Bhook\"] = 0x0181;\n  t[\"Blinebelow\"] = 0x1e06;\n  t[\"Bmonospace\"] = 0xff22;\n  t[\"Brevesmall\"] = 0xf6f4;\n  t[\"Bsmall\"] = 0xf762;\n  t[\"Btopbar\"] = 0x0182;\n  t[\"C\"] = 0x0043;\n  t[\"Caarmenian\"] = 0x053e;\n  t[\"Cacute\"] = 0x0106;\n  t[\"Caron\"] = 0xf6ca;\n  t[\"Caronsmall\"] = 0xf6f5;\n  t[\"Ccaron\"] = 0x010c;\n  t[\"Ccedilla\"] = 0x00c7;\n  t[\"Ccedillaacute\"] = 0x1e08;\n  t[\"Ccedillasmall\"] = 0xf7e7;\n  t[\"Ccircle\"] = 0x24b8;\n  t[\"Ccircumflex\"] = 0x0108;\n  t[\"Cdot\"] = 0x010a;\n  t[\"Cdotaccent\"] = 0x010a;\n  t[\"Cedillasmall\"] = 0xf7b8;\n  t[\"Chaarmenian\"] = 0x0549;\n  t[\"Cheabkhasiancyrillic\"] = 0x04bc;\n  t[\"Checyrillic\"] = 0x0427;\n  t[\"Chedescenderabkhasiancyrillic\"] = 0x04be;\n  t[\"Chedescendercyrillic\"] = 0x04b6;\n  t[\"Chedieresiscyrillic\"] = 0x04f4;\n  t[\"Cheharmenian\"] = 0x0543;\n  t[\"Chekhakassiancyrillic\"] = 0x04cb;\n  t[\"Cheverticalstrokecyrillic\"] = 0x04b8;\n  t[\"Chi\"] = 0x03a7;\n  t[\"Chook\"] = 0x0187;\n  t[\"Circumflexsmall\"] = 0xf6f6;\n  t[\"Cmonospace\"] = 0xff23;\n  t[\"Coarmenian\"] = 0x0551;\n  t[\"Csmall\"] = 0xf763;\n  t[\"D\"] = 0x0044;\n  t[\"DZ\"] = 0x01f1;\n  t[\"DZcaron\"] = 0x01c4;\n  t[\"Daarmenian\"] = 0x0534;\n  t[\"Dafrican\"] = 0x0189;\n  t[\"Dcaron\"] = 0x010e;\n  t[\"Dcedilla\"] = 0x1e10;\n  t[\"Dcircle\"] = 0x24b9;\n  t[\"Dcircumflexbelow\"] = 0x1e12;\n  t[\"Dcroat\"] = 0x0110;\n  t[\"Ddotaccent\"] = 0x1e0a;\n  t[\"Ddotbelow\"] = 0x1e0c;\n  t[\"Decyrillic\"] = 0x0414;\n  t[\"Deicoptic\"] = 0x03ee;\n  t[\"Delta\"] = 0x2206;\n  t[\"Deltagreek\"] = 0x0394;\n  t[\"Dhook\"] = 0x018a;\n  t[\"Dieresis\"] = 0xf6cb;\n  t[\"DieresisAcute\"] = 0xf6cc;\n  t[\"DieresisGrave\"] = 0xf6cd;\n  t[\"Dieresissmall\"] = 0xf7a8;\n  t[\"Digammagreek\"] = 0x03dc;\n  t[\"Djecyrillic\"] = 0x0402;\n  t[\"Dlinebelow\"] = 0x1e0e;\n  t[\"Dmonospace\"] = 0xff24;\n  t[\"Dotaccentsmall\"] = 0xf6f7;\n  t[\"Dslash\"] = 0x0110;\n  t[\"Dsmall\"] = 0xf764;\n  t[\"Dtopbar\"] = 0x018b;\n  t[\"Dz\"] = 0x01f2;\n  t[\"Dzcaron\"] = 0x01c5;\n  t[\"Dzeabkhasiancyrillic\"] = 0x04e0;\n  t[\"Dzecyrillic\"] = 0x0405;\n  t[\"Dzhecyrillic\"] = 0x040f;\n  t[\"E\"] = 0x0045;\n  t[\"Eacute\"] = 0x00c9;\n  t[\"Eacutesmall\"] = 0xf7e9;\n  t[\"Ebreve\"] = 0x0114;\n  t[\"Ecaron\"] = 0x011a;\n  t[\"Ecedillabreve\"] = 0x1e1c;\n  t[\"Echarmenian\"] = 0x0535;\n  t[\"Ecircle\"] = 0x24ba;\n  t[\"Ecircumflex\"] = 0x00ca;\n  t[\"Ecircumflexacute\"] = 0x1ebe;\n  t[\"Ecircumflexbelow\"] = 0x1e18;\n  t[\"Ecircumflexdotbelow\"] = 0x1ec6;\n  t[\"Ecircumflexgrave\"] = 0x1ec0;\n  t[\"Ecircumflexhookabove\"] = 0x1ec2;\n  t[\"Ecircumflexsmall\"] = 0xf7ea;\n  t[\"Ecircumflextilde\"] = 0x1ec4;\n  t[\"Ecyrillic\"] = 0x0404;\n  t[\"Edblgrave\"] = 0x0204;\n  t[\"Edieresis\"] = 0x00cb;\n  t[\"Edieresissmall\"] = 0xf7eb;\n  t[\"Edot\"] = 0x0116;\n  t[\"Edotaccent\"] = 0x0116;\n  t[\"Edotbelow\"] = 0x1eb8;\n  t[\"Efcyrillic\"] = 0x0424;\n  t[\"Egrave\"] = 0x00c8;\n  t[\"Egravesmall\"] = 0xf7e8;\n  t[\"Eharmenian\"] = 0x0537;\n  t[\"Ehookabove\"] = 0x1eba;\n  t[\"Eightroman\"] = 0x2167;\n  t[\"Einvertedbreve\"] = 0x0206;\n  t[\"Eiotifiedcyrillic\"] = 0x0464;\n  t[\"Elcyrillic\"] = 0x041b;\n  t[\"Elevenroman\"] = 0x216a;\n  t[\"Emacron\"] = 0x0112;\n  t[\"Emacronacute\"] = 0x1e16;\n  t[\"Emacrongrave\"] = 0x1e14;\n  t[\"Emcyrillic\"] = 0x041c;\n  t[\"Emonospace\"] = 0xff25;\n  t[\"Encyrillic\"] = 0x041d;\n  t[\"Endescendercyrillic\"] = 0x04a2;\n  t[\"Eng\"] = 0x014a;\n  t[\"Enghecyrillic\"] = 0x04a4;\n  t[\"Enhookcyrillic\"] = 0x04c7;\n  t[\"Eogonek\"] = 0x0118;\n  t[\"Eopen\"] = 0x0190;\n  t[\"Epsilon\"] = 0x0395;\n  t[\"Epsilontonos\"] = 0x0388;\n  t[\"Ercyrillic\"] = 0x0420;\n  t[\"Ereversed\"] = 0x018e;\n  t[\"Ereversedcyrillic\"] = 0x042d;\n  t[\"Escyrillic\"] = 0x0421;\n  t[\"Esdescendercyrillic\"] = 0x04aa;\n  t[\"Esh\"] = 0x01a9;\n  t[\"Esmall\"] = 0xf765;\n  t[\"Eta\"] = 0x0397;\n  t[\"Etarmenian\"] = 0x0538;\n  t[\"Etatonos\"] = 0x0389;\n  t[\"Eth\"] = 0x00d0;\n  t[\"Ethsmall\"] = 0xf7f0;\n  t[\"Etilde\"] = 0x1ebc;\n  t[\"Etildebelow\"] = 0x1e1a;\n  t[\"Euro\"] = 0x20ac;\n  t[\"Ezh\"] = 0x01b7;\n  t[\"Ezhcaron\"] = 0x01ee;\n  t[\"Ezhreversed\"] = 0x01b8;\n  t[\"F\"] = 0x0046;\n  t[\"Fcircle\"] = 0x24bb;\n  t[\"Fdotaccent\"] = 0x1e1e;\n  t[\"Feharmenian\"] = 0x0556;\n  t[\"Feicoptic\"] = 0x03e4;\n  t[\"Fhook\"] = 0x0191;\n  t[\"Fitacyrillic\"] = 0x0472;\n  t[\"Fiveroman\"] = 0x2164;\n  t[\"Fmonospace\"] = 0xff26;\n  t[\"Fourroman\"] = 0x2163;\n  t[\"Fsmall\"] = 0xf766;\n  t[\"G\"] = 0x0047;\n  t[\"GBsquare\"] = 0x3387;\n  t[\"Gacute\"] = 0x01f4;\n  t[\"Gamma\"] = 0x0393;\n  t[\"Gammaafrican\"] = 0x0194;\n  t[\"Gangiacoptic\"] = 0x03ea;\n  t[\"Gbreve\"] = 0x011e;\n  t[\"Gcaron\"] = 0x01e6;\n  t[\"Gcedilla\"] = 0x0122;\n  t[\"Gcircle\"] = 0x24bc;\n  t[\"Gcircumflex\"] = 0x011c;\n  t[\"Gcommaaccent\"] = 0x0122;\n  t[\"Gdot\"] = 0x0120;\n  t[\"Gdotaccent\"] = 0x0120;\n  t[\"Gecyrillic\"] = 0x0413;\n  t[\"Ghadarmenian\"] = 0x0542;\n  t[\"Ghemiddlehookcyrillic\"] = 0x0494;\n  t[\"Ghestrokecyrillic\"] = 0x0492;\n  t[\"Gheupturncyrillic\"] = 0x0490;\n  t[\"Ghook\"] = 0x0193;\n  t[\"Gimarmenian\"] = 0x0533;\n  t[\"Gjecyrillic\"] = 0x0403;\n  t[\"Gmacron\"] = 0x1e20;\n  t[\"Gmonospace\"] = 0xff27;\n  t[\"Grave\"] = 0xf6ce;\n  t[\"Gravesmall\"] = 0xf760;\n  t[\"Gsmall\"] = 0xf767;\n  t[\"Gsmallhook\"] = 0x029b;\n  t[\"Gstroke\"] = 0x01e4;\n  t[\"H\"] = 0x0048;\n  t[\"H18533\"] = 0x25cf;\n  t[\"H18543\"] = 0x25aa;\n  t[\"H18551\"] = 0x25ab;\n  t[\"H22073\"] = 0x25a1;\n  t[\"HPsquare\"] = 0x33cb;\n  t[\"Haabkhasiancyrillic\"] = 0x04a8;\n  t[\"Hadescendercyrillic\"] = 0x04b2;\n  t[\"Hardsigncyrillic\"] = 0x042a;\n  t[\"Hbar\"] = 0x0126;\n  t[\"Hbrevebelow\"] = 0x1e2a;\n  t[\"Hcedilla\"] = 0x1e28;\n  t[\"Hcircle\"] = 0x24bd;\n  t[\"Hcircumflex\"] = 0x0124;\n  t[\"Hdieresis\"] = 0x1e26;\n  t[\"Hdotaccent\"] = 0x1e22;\n  t[\"Hdotbelow\"] = 0x1e24;\n  t[\"Hmonospace\"] = 0xff28;\n  t[\"Hoarmenian\"] = 0x0540;\n  t[\"Horicoptic\"] = 0x03e8;\n  t[\"Hsmall\"] = 0xf768;\n  t[\"Hungarumlaut\"] = 0xf6cf;\n  t[\"Hungarumlautsmall\"] = 0xf6f8;\n  t[\"Hzsquare\"] = 0x3390;\n  t[\"I\"] = 0x0049;\n  t[\"IAcyrillic\"] = 0x042f;\n  t[\"IJ\"] = 0x0132;\n  t[\"IUcyrillic\"] = 0x042e;\n  t[\"Iacute\"] = 0x00cd;\n  t[\"Iacutesmall\"] = 0xf7ed;\n  t[\"Ibreve\"] = 0x012c;\n  t[\"Icaron\"] = 0x01cf;\n  t[\"Icircle\"] = 0x24be;\n  t[\"Icircumflex\"] = 0x00ce;\n  t[\"Icircumflexsmall\"] = 0xf7ee;\n  t[\"Icyrillic\"] = 0x0406;\n  t[\"Idblgrave\"] = 0x0208;\n  t[\"Idieresis\"] = 0x00cf;\n  t[\"Idieresisacute\"] = 0x1e2e;\n  t[\"Idieresiscyrillic\"] = 0x04e4;\n  t[\"Idieresissmall\"] = 0xf7ef;\n  t[\"Idot\"] = 0x0130;\n  t[\"Idotaccent\"] = 0x0130;\n  t[\"Idotbelow\"] = 0x1eca;\n  t[\"Iebrevecyrillic\"] = 0x04d6;\n  t[\"Iecyrillic\"] = 0x0415;\n  t[\"Ifraktur\"] = 0x2111;\n  t[\"Igrave\"] = 0x00cc;\n  t[\"Igravesmall\"] = 0xf7ec;\n  t[\"Ihookabove\"] = 0x1ec8;\n  t[\"Iicyrillic\"] = 0x0418;\n  t[\"Iinvertedbreve\"] = 0x020a;\n  t[\"Iishortcyrillic\"] = 0x0419;\n  t[\"Imacron\"] = 0x012a;\n  t[\"Imacroncyrillic\"] = 0x04e2;\n  t[\"Imonospace\"] = 0xff29;\n  t[\"Iniarmenian\"] = 0x053b;\n  t[\"Iocyrillic\"] = 0x0401;\n  t[\"Iogonek\"] = 0x012e;\n  t[\"Iota\"] = 0x0399;\n  t[\"Iotaafrican\"] = 0x0196;\n  t[\"Iotadieresis\"] = 0x03aa;\n  t[\"Iotatonos\"] = 0x038a;\n  t[\"Ismall\"] = 0xf769;\n  t[\"Istroke\"] = 0x0197;\n  t[\"Itilde\"] = 0x0128;\n  t[\"Itildebelow\"] = 0x1e2c;\n  t[\"Izhitsacyrillic\"] = 0x0474;\n  t[\"Izhitsadblgravecyrillic\"] = 0x0476;\n  t[\"J\"] = 0x004a;\n  t[\"Jaarmenian\"] = 0x0541;\n  t[\"Jcircle\"] = 0x24bf;\n  t[\"Jcircumflex\"] = 0x0134;\n  t[\"Jecyrillic\"] = 0x0408;\n  t[\"Jheharmenian\"] = 0x054b;\n  t[\"Jmonospace\"] = 0xff2a;\n  t[\"Jsmall\"] = 0xf76a;\n  t[\"K\"] = 0x004b;\n  t[\"KBsquare\"] = 0x3385;\n  t[\"KKsquare\"] = 0x33cd;\n  t[\"Kabashkircyrillic\"] = 0x04a0;\n  t[\"Kacute\"] = 0x1e30;\n  t[\"Kacyrillic\"] = 0x041a;\n  t[\"Kadescendercyrillic\"] = 0x049a;\n  t[\"Kahookcyrillic\"] = 0x04c3;\n  t[\"Kappa\"] = 0x039a;\n  t[\"Kastrokecyrillic\"] = 0x049e;\n  t[\"Kaverticalstrokecyrillic\"] = 0x049c;\n  t[\"Kcaron\"] = 0x01e8;\n  t[\"Kcedilla\"] = 0x0136;\n  t[\"Kcircle\"] = 0x24c0;\n  t[\"Kcommaaccent\"] = 0x0136;\n  t[\"Kdotbelow\"] = 0x1e32;\n  t[\"Keharmenian\"] = 0x0554;\n  t[\"Kenarmenian\"] = 0x053f;\n  t[\"Khacyrillic\"] = 0x0425;\n  t[\"Kheicoptic\"] = 0x03e6;\n  t[\"Khook\"] = 0x0198;\n  t[\"Kjecyrillic\"] = 0x040c;\n  t[\"Klinebelow\"] = 0x1e34;\n  t[\"Kmonospace\"] = 0xff2b;\n  t[\"Koppacyrillic\"] = 0x0480;\n  t[\"Koppagreek\"] = 0x03de;\n  t[\"Ksicyrillic\"] = 0x046e;\n  t[\"Ksmall\"] = 0xf76b;\n  t[\"L\"] = 0x004c;\n  t[\"LJ\"] = 0x01c7;\n  t[\"LL\"] = 0xf6bf;\n  t[\"Lacute\"] = 0x0139;\n  t[\"Lambda\"] = 0x039b;\n  t[\"Lcaron\"] = 0x013d;\n  t[\"Lcedilla\"] = 0x013b;\n  t[\"Lcircle\"] = 0x24c1;\n  t[\"Lcircumflexbelow\"] = 0x1e3c;\n  t[\"Lcommaaccent\"] = 0x013b;\n  t[\"Ldot\"] = 0x013f;\n  t[\"Ldotaccent\"] = 0x013f;\n  t[\"Ldotbelow\"] = 0x1e36;\n  t[\"Ldotbelowmacron\"] = 0x1e38;\n  t[\"Liwnarmenian\"] = 0x053c;\n  t[\"Lj\"] = 0x01c8;\n  t[\"Ljecyrillic\"] = 0x0409;\n  t[\"Llinebelow\"] = 0x1e3a;\n  t[\"Lmonospace\"] = 0xff2c;\n  t[\"Lslash\"] = 0x0141;\n  t[\"Lslashsmall\"] = 0xf6f9;\n  t[\"Lsmall\"] = 0xf76c;\n  t[\"M\"] = 0x004d;\n  t[\"MBsquare\"] = 0x3386;\n  t[\"Macron\"] = 0xf6d0;\n  t[\"Macronsmall\"] = 0xf7af;\n  t[\"Macute\"] = 0x1e3e;\n  t[\"Mcircle\"] = 0x24c2;\n  t[\"Mdotaccent\"] = 0x1e40;\n  t[\"Mdotbelow\"] = 0x1e42;\n  t[\"Menarmenian\"] = 0x0544;\n  t[\"Mmonospace\"] = 0xff2d;\n  t[\"Msmall\"] = 0xf76d;\n  t[\"Mturned\"] = 0x019c;\n  t[\"Mu\"] = 0x039c;\n  t[\"N\"] = 0x004e;\n  t[\"NJ\"] = 0x01ca;\n  t[\"Nacute\"] = 0x0143;\n  t[\"Ncaron\"] = 0x0147;\n  t[\"Ncedilla\"] = 0x0145;\n  t[\"Ncircle\"] = 0x24c3;\n  t[\"Ncircumflexbelow\"] = 0x1e4a;\n  t[\"Ncommaaccent\"] = 0x0145;\n  t[\"Ndotaccent\"] = 0x1e44;\n  t[\"Ndotbelow\"] = 0x1e46;\n  t[\"Nhookleft\"] = 0x019d;\n  t[\"Nineroman\"] = 0x2168;\n  t[\"Nj\"] = 0x01cb;\n  t[\"Njecyrillic\"] = 0x040a;\n  t[\"Nlinebelow\"] = 0x1e48;\n  t[\"Nmonospace\"] = 0xff2e;\n  t[\"Nowarmenian\"] = 0x0546;\n  t[\"Nsmall\"] = 0xf76e;\n  t[\"Ntilde\"] = 0x00d1;\n  t[\"Ntildesmall\"] = 0xf7f1;\n  t[\"Nu\"] = 0x039d;\n  t[\"O\"] = 0x004f;\n  t[\"OE\"] = 0x0152;\n  t[\"OEsmall\"] = 0xf6fa;\n  t[\"Oacute\"] = 0x00d3;\n  t[\"Oacutesmall\"] = 0xf7f3;\n  t[\"Obarredcyrillic\"] = 0x04e8;\n  t[\"Obarreddieresiscyrillic\"] = 0x04ea;\n  t[\"Obreve\"] = 0x014e;\n  t[\"Ocaron\"] = 0x01d1;\n  t[\"Ocenteredtilde\"] = 0x019f;\n  t[\"Ocircle\"] = 0x24c4;\n  t[\"Ocircumflex\"] = 0x00d4;\n  t[\"Ocircumflexacute\"] = 0x1ed0;\n  t[\"Ocircumflexdotbelow\"] = 0x1ed8;\n  t[\"Ocircumflexgrave\"] = 0x1ed2;\n  t[\"Ocircumflexhookabove\"] = 0x1ed4;\n  t[\"Ocircumflexsmall\"] = 0xf7f4;\n  t[\"Ocircumflextilde\"] = 0x1ed6;\n  t[\"Ocyrillic\"] = 0x041e;\n  t[\"Odblacute\"] = 0x0150;\n  t[\"Odblgrave\"] = 0x020c;\n  t[\"Odieresis\"] = 0x00d6;\n  t[\"Odieresiscyrillic\"] = 0x04e6;\n  t[\"Odieresissmall\"] = 0xf7f6;\n  t[\"Odotbelow\"] = 0x1ecc;\n  t[\"Ogoneksmall\"] = 0xf6fb;\n  t[\"Ograve\"] = 0x00d2;\n  t[\"Ogravesmall\"] = 0xf7f2;\n  t[\"Oharmenian\"] = 0x0555;\n  t[\"Ohm\"] = 0x2126;\n  t[\"Ohookabove\"] = 0x1ece;\n  t[\"Ohorn\"] = 0x01a0;\n  t[\"Ohornacute\"] = 0x1eda;\n  t[\"Ohorndotbelow\"] = 0x1ee2;\n  t[\"Ohorngrave\"] = 0x1edc;\n  t[\"Ohornhookabove\"] = 0x1ede;\n  t[\"Ohorntilde\"] = 0x1ee0;\n  t[\"Ohungarumlaut\"] = 0x0150;\n  t[\"Oi\"] = 0x01a2;\n  t[\"Oinvertedbreve\"] = 0x020e;\n  t[\"Omacron\"] = 0x014c;\n  t[\"Omacronacute\"] = 0x1e52;\n  t[\"Omacrongrave\"] = 0x1e50;\n  t[\"Omega\"] = 0x2126;\n  t[\"Omegacyrillic\"] = 0x0460;\n  t[\"Omegagreek\"] = 0x03a9;\n  t[\"Omegaroundcyrillic\"] = 0x047a;\n  t[\"Omegatitlocyrillic\"] = 0x047c;\n  t[\"Omegatonos\"] = 0x038f;\n  t[\"Omicron\"] = 0x039f;\n  t[\"Omicrontonos\"] = 0x038c;\n  t[\"Omonospace\"] = 0xff2f;\n  t[\"Oneroman\"] = 0x2160;\n  t[\"Oogonek\"] = 0x01ea;\n  t[\"Oogonekmacron\"] = 0x01ec;\n  t[\"Oopen\"] = 0x0186;\n  t[\"Oslash\"] = 0x00d8;\n  t[\"Oslashacute\"] = 0x01fe;\n  t[\"Oslashsmall\"] = 0xf7f8;\n  t[\"Osmall\"] = 0xf76f;\n  t[\"Ostrokeacute\"] = 0x01fe;\n  t[\"Otcyrillic\"] = 0x047e;\n  t[\"Otilde\"] = 0x00d5;\n  t[\"Otildeacute\"] = 0x1e4c;\n  t[\"Otildedieresis\"] = 0x1e4e;\n  t[\"Otildesmall\"] = 0xf7f5;\n  t[\"P\"] = 0x0050;\n  t[\"Pacute\"] = 0x1e54;\n  t[\"Pcircle\"] = 0x24c5;\n  t[\"Pdotaccent\"] = 0x1e56;\n  t[\"Pecyrillic\"] = 0x041f;\n  t[\"Peharmenian\"] = 0x054a;\n  t[\"Pemiddlehookcyrillic\"] = 0x04a6;\n  t[\"Phi\"] = 0x03a6;\n  t[\"Phook\"] = 0x01a4;\n  t[\"Pi\"] = 0x03a0;\n  t[\"Piwrarmenian\"] = 0x0553;\n  t[\"Pmonospace\"] = 0xff30;\n  t[\"Psi\"] = 0x03a8;\n  t[\"Psicyrillic\"] = 0x0470;\n  t[\"Psmall\"] = 0xf770;\n  t[\"Q\"] = 0x0051;\n  t[\"Qcircle\"] = 0x24c6;\n  t[\"Qmonospace\"] = 0xff31;\n  t[\"Qsmall\"] = 0xf771;\n  t[\"R\"] = 0x0052;\n  t[\"Raarmenian\"] = 0x054c;\n  t[\"Racute\"] = 0x0154;\n  t[\"Rcaron\"] = 0x0158;\n  t[\"Rcedilla\"] = 0x0156;\n  t[\"Rcircle\"] = 0x24c7;\n  t[\"Rcommaaccent\"] = 0x0156;\n  t[\"Rdblgrave\"] = 0x0210;\n  t[\"Rdotaccent\"] = 0x1e58;\n  t[\"Rdotbelow\"] = 0x1e5a;\n  t[\"Rdotbelowmacron\"] = 0x1e5c;\n  t[\"Reharmenian\"] = 0x0550;\n  t[\"Rfraktur\"] = 0x211c;\n  t[\"Rho\"] = 0x03a1;\n  t[\"Ringsmall\"] = 0xf6fc;\n  t[\"Rinvertedbreve\"] = 0x0212;\n  t[\"Rlinebelow\"] = 0x1e5e;\n  t[\"Rmonospace\"] = 0xff32;\n  t[\"Rsmall\"] = 0xf772;\n  t[\"Rsmallinverted\"] = 0x0281;\n  t[\"Rsmallinvertedsuperior\"] = 0x02b6;\n  t[\"S\"] = 0x0053;\n  t[\"SF010000\"] = 0x250c;\n  t[\"SF020000\"] = 0x2514;\n  t[\"SF030000\"] = 0x2510;\n  t[\"SF040000\"] = 0x2518;\n  t[\"SF050000\"] = 0x253c;\n  t[\"SF060000\"] = 0x252c;\n  t[\"SF070000\"] = 0x2534;\n  t[\"SF080000\"] = 0x251c;\n  t[\"SF090000\"] = 0x2524;\n  t[\"SF100000\"] = 0x2500;\n  t[\"SF110000\"] = 0x2502;\n  t[\"SF190000\"] = 0x2561;\n  t[\"SF200000\"] = 0x2562;\n  t[\"SF210000\"] = 0x2556;\n  t[\"SF220000\"] = 0x2555;\n  t[\"SF230000\"] = 0x2563;\n  t[\"SF240000\"] = 0x2551;\n  t[\"SF250000\"] = 0x2557;\n  t[\"SF260000\"] = 0x255d;\n  t[\"SF270000\"] = 0x255c;\n  t[\"SF280000\"] = 0x255b;\n  t[\"SF360000\"] = 0x255e;\n  t[\"SF370000\"] = 0x255f;\n  t[\"SF380000\"] = 0x255a;\n  t[\"SF390000\"] = 0x2554;\n  t[\"SF400000\"] = 0x2569;\n  t[\"SF410000\"] = 0x2566;\n  t[\"SF420000\"] = 0x2560;\n  t[\"SF430000\"] = 0x2550;\n  t[\"SF440000\"] = 0x256c;\n  t[\"SF450000\"] = 0x2567;\n  t[\"SF460000\"] = 0x2568;\n  t[\"SF470000\"] = 0x2564;\n  t[\"SF480000\"] = 0x2565;\n  t[\"SF490000\"] = 0x2559;\n  t[\"SF500000\"] = 0x2558;\n  t[\"SF510000\"] = 0x2552;\n  t[\"SF520000\"] = 0x2553;\n  t[\"SF530000\"] = 0x256b;\n  t[\"SF540000\"] = 0x256a;\n  t[\"Sacute\"] = 0x015a;\n  t[\"Sacutedotaccent\"] = 0x1e64;\n  t[\"Sampigreek\"] = 0x03e0;\n  t[\"Scaron\"] = 0x0160;\n  t[\"Scarondotaccent\"] = 0x1e66;\n  t[\"Scaronsmall\"] = 0xf6fd;\n  t[\"Scedilla\"] = 0x015e;\n  t[\"Schwa\"] = 0x018f;\n  t[\"Schwacyrillic\"] = 0x04d8;\n  t[\"Schwadieresiscyrillic\"] = 0x04da;\n  t[\"Scircle\"] = 0x24c8;\n  t[\"Scircumflex\"] = 0x015c;\n  t[\"Scommaaccent\"] = 0x0218;\n  t[\"Sdotaccent\"] = 0x1e60;\n  t[\"Sdotbelow\"] = 0x1e62;\n  t[\"Sdotbelowdotaccent\"] = 0x1e68;\n  t[\"Seharmenian\"] = 0x054d;\n  t[\"Sevenroman\"] = 0x2166;\n  t[\"Shaarmenian\"] = 0x0547;\n  t[\"Shacyrillic\"] = 0x0428;\n  t[\"Shchacyrillic\"] = 0x0429;\n  t[\"Sheicoptic\"] = 0x03e2;\n  t[\"Shhacyrillic\"] = 0x04ba;\n  t[\"Shimacoptic\"] = 0x03ec;\n  t[\"Sigma\"] = 0x03a3;\n  t[\"Sixroman\"] = 0x2165;\n  t[\"Smonospace\"] = 0xff33;\n  t[\"Softsigncyrillic\"] = 0x042c;\n  t[\"Ssmall\"] = 0xf773;\n  t[\"Stigmagreek\"] = 0x03da;\n  t[\"T\"] = 0x0054;\n  t[\"Tau\"] = 0x03a4;\n  t[\"Tbar\"] = 0x0166;\n  t[\"Tcaron\"] = 0x0164;\n  t[\"Tcedilla\"] = 0x0162;\n  t[\"Tcircle\"] = 0x24c9;\n  t[\"Tcircumflexbelow\"] = 0x1e70;\n  t[\"Tcommaaccent\"] = 0x0162;\n  t[\"Tdotaccent\"] = 0x1e6a;\n  t[\"Tdotbelow\"] = 0x1e6c;\n  t[\"Tecyrillic\"] = 0x0422;\n  t[\"Tedescendercyrillic\"] = 0x04ac;\n  t[\"Tenroman\"] = 0x2169;\n  t[\"Tetsecyrillic\"] = 0x04b4;\n  t[\"Theta\"] = 0x0398;\n  t[\"Thook\"] = 0x01ac;\n  t[\"Thorn\"] = 0x00de;\n  t[\"Thornsmall\"] = 0xf7fe;\n  t[\"Threeroman\"] = 0x2162;\n  t[\"Tildesmall\"] = 0xf6fe;\n  t[\"Tiwnarmenian\"] = 0x054f;\n  t[\"Tlinebelow\"] = 0x1e6e;\n  t[\"Tmonospace\"] = 0xff34;\n  t[\"Toarmenian\"] = 0x0539;\n  t[\"Tonefive\"] = 0x01bc;\n  t[\"Tonesix\"] = 0x0184;\n  t[\"Tonetwo\"] = 0x01a7;\n  t[\"Tretroflexhook\"] = 0x01ae;\n  t[\"Tsecyrillic\"] = 0x0426;\n  t[\"Tshecyrillic\"] = 0x040b;\n  t[\"Tsmall\"] = 0xf774;\n  t[\"Twelveroman\"] = 0x216b;\n  t[\"Tworoman\"] = 0x2161;\n  t[\"U\"] = 0x0055;\n  t[\"Uacute\"] = 0x00da;\n  t[\"Uacutesmall\"] = 0xf7fa;\n  t[\"Ubreve\"] = 0x016c;\n  t[\"Ucaron\"] = 0x01d3;\n  t[\"Ucircle\"] = 0x24ca;\n  t[\"Ucircumflex\"] = 0x00db;\n  t[\"Ucircumflexbelow\"] = 0x1e76;\n  t[\"Ucircumflexsmall\"] = 0xf7fb;\n  t[\"Ucyrillic\"] = 0x0423;\n  t[\"Udblacute\"] = 0x0170;\n  t[\"Udblgrave\"] = 0x0214;\n  t[\"Udieresis\"] = 0x00dc;\n  t[\"Udieresisacute\"] = 0x01d7;\n  t[\"Udieresisbelow\"] = 0x1e72;\n  t[\"Udieresiscaron\"] = 0x01d9;\n  t[\"Udieresiscyrillic\"] = 0x04f0;\n  t[\"Udieresisgrave\"] = 0x01db;\n  t[\"Udieresismacron\"] = 0x01d5;\n  t[\"Udieresissmall\"] = 0xf7fc;\n  t[\"Udotbelow\"] = 0x1ee4;\n  t[\"Ugrave\"] = 0x00d9;\n  t[\"Ugravesmall\"] = 0xf7f9;\n  t[\"Uhookabove\"] = 0x1ee6;\n  t[\"Uhorn\"] = 0x01af;\n  t[\"Uhornacute\"] = 0x1ee8;\n  t[\"Uhorndotbelow\"] = 0x1ef0;\n  t[\"Uhorngrave\"] = 0x1eea;\n  t[\"Uhornhookabove\"] = 0x1eec;\n  t[\"Uhorntilde\"] = 0x1eee;\n  t[\"Uhungarumlaut\"] = 0x0170;\n  t[\"Uhungarumlautcyrillic\"] = 0x04f2;\n  t[\"Uinvertedbreve\"] = 0x0216;\n  t[\"Ukcyrillic\"] = 0x0478;\n  t[\"Umacron\"] = 0x016a;\n  t[\"Umacroncyrillic\"] = 0x04ee;\n  t[\"Umacrondieresis\"] = 0x1e7a;\n  t[\"Umonospace\"] = 0xff35;\n  t[\"Uogonek\"] = 0x0172;\n  t[\"Upsilon\"] = 0x03a5;\n  t[\"Upsilon1\"] = 0x03d2;\n  t[\"Upsilonacutehooksymbolgreek\"] = 0x03d3;\n  t[\"Upsilonafrican\"] = 0x01b1;\n  t[\"Upsilondieresis\"] = 0x03ab;\n  t[\"Upsilondieresishooksymbolgreek\"] = 0x03d4;\n  t[\"Upsilonhooksymbol\"] = 0x03d2;\n  t[\"Upsilontonos\"] = 0x038e;\n  t[\"Uring\"] = 0x016e;\n  t[\"Ushortcyrillic\"] = 0x040e;\n  t[\"Usmall\"] = 0xf775;\n  t[\"Ustraightcyrillic\"] = 0x04ae;\n  t[\"Ustraightstrokecyrillic\"] = 0x04b0;\n  t[\"Utilde\"] = 0x0168;\n  t[\"Utildeacute\"] = 0x1e78;\n  t[\"Utildebelow\"] = 0x1e74;\n  t[\"V\"] = 0x0056;\n  t[\"Vcircle\"] = 0x24cb;\n  t[\"Vdotbelow\"] = 0x1e7e;\n  t[\"Vecyrillic\"] = 0x0412;\n  t[\"Vewarmenian\"] = 0x054e;\n  t[\"Vhook\"] = 0x01b2;\n  t[\"Vmonospace\"] = 0xff36;\n  t[\"Voarmenian\"] = 0x0548;\n  t[\"Vsmall\"] = 0xf776;\n  t[\"Vtilde\"] = 0x1e7c;\n  t[\"W\"] = 0x0057;\n  t[\"Wacute\"] = 0x1e82;\n  t[\"Wcircle\"] = 0x24cc;\n  t[\"Wcircumflex\"] = 0x0174;\n  t[\"Wdieresis\"] = 0x1e84;\n  t[\"Wdotaccent\"] = 0x1e86;\n  t[\"Wdotbelow\"] = 0x1e88;\n  t[\"Wgrave\"] = 0x1e80;\n  t[\"Wmonospace\"] = 0xff37;\n  t[\"Wsmall\"] = 0xf777;\n  t[\"X\"] = 0x0058;\n  t[\"Xcircle\"] = 0x24cd;\n  t[\"Xdieresis\"] = 0x1e8c;\n  t[\"Xdotaccent\"] = 0x1e8a;\n  t[\"Xeharmenian\"] = 0x053d;\n  t[\"Xi\"] = 0x039e;\n  t[\"Xmonospace\"] = 0xff38;\n  t[\"Xsmall\"] = 0xf778;\n  t[\"Y\"] = 0x0059;\n  t[\"Yacute\"] = 0x00dd;\n  t[\"Yacutesmall\"] = 0xf7fd;\n  t[\"Yatcyrillic\"] = 0x0462;\n  t[\"Ycircle\"] = 0x24ce;\n  t[\"Ycircumflex\"] = 0x0176;\n  t[\"Ydieresis\"] = 0x0178;\n  t[\"Ydieresissmall\"] = 0xf7ff;\n  t[\"Ydotaccent\"] = 0x1e8e;\n  t[\"Ydotbelow\"] = 0x1ef4;\n  t[\"Yericyrillic\"] = 0x042b;\n  t[\"Yerudieresiscyrillic\"] = 0x04f8;\n  t[\"Ygrave\"] = 0x1ef2;\n  t[\"Yhook\"] = 0x01b3;\n  t[\"Yhookabove\"] = 0x1ef6;\n  t[\"Yiarmenian\"] = 0x0545;\n  t[\"Yicyrillic\"] = 0x0407;\n  t[\"Yiwnarmenian\"] = 0x0552;\n  t[\"Ymonospace\"] = 0xff39;\n  t[\"Ysmall\"] = 0xf779;\n  t[\"Ytilde\"] = 0x1ef8;\n  t[\"Yusbigcyrillic\"] = 0x046a;\n  t[\"Yusbigiotifiedcyrillic\"] = 0x046c;\n  t[\"Yuslittlecyrillic\"] = 0x0466;\n  t[\"Yuslittleiotifiedcyrillic\"] = 0x0468;\n  t[\"Z\"] = 0x005a;\n  t[\"Zaarmenian\"] = 0x0536;\n  t[\"Zacute\"] = 0x0179;\n  t[\"Zcaron\"] = 0x017d;\n  t[\"Zcaronsmall\"] = 0xf6ff;\n  t[\"Zcircle\"] = 0x24cf;\n  t[\"Zcircumflex\"] = 0x1e90;\n  t[\"Zdot\"] = 0x017b;\n  t[\"Zdotaccent\"] = 0x017b;\n  t[\"Zdotbelow\"] = 0x1e92;\n  t[\"Zecyrillic\"] = 0x0417;\n  t[\"Zedescendercyrillic\"] = 0x0498;\n  t[\"Zedieresiscyrillic\"] = 0x04de;\n  t[\"Zeta\"] = 0x0396;\n  t[\"Zhearmenian\"] = 0x053a;\n  t[\"Zhebrevecyrillic\"] = 0x04c1;\n  t[\"Zhecyrillic\"] = 0x0416;\n  t[\"Zhedescendercyrillic\"] = 0x0496;\n  t[\"Zhedieresiscyrillic\"] = 0x04dc;\n  t[\"Zlinebelow\"] = 0x1e94;\n  t[\"Zmonospace\"] = 0xff3a;\n  t[\"Zsmall\"] = 0xf77a;\n  t[\"Zstroke\"] = 0x01b5;\n  t[\"a\"] = 0x0061;\n  t[\"aabengali\"] = 0x0986;\n  t[\"aacute\"] = 0x00e1;\n  t[\"aadeva\"] = 0x0906;\n  t[\"aagujarati\"] = 0x0a86;\n  t[\"aagurmukhi\"] = 0x0a06;\n  t[\"aamatragurmukhi\"] = 0x0a3e;\n  t[\"aarusquare\"] = 0x3303;\n  t[\"aavowelsignbengali\"] = 0x09be;\n  t[\"aavowelsigndeva\"] = 0x093e;\n  t[\"aavowelsigngujarati\"] = 0x0abe;\n  t[\"abbreviationmarkarmenian\"] = 0x055f;\n  t[\"abbreviationsigndeva\"] = 0x0970;\n  t[\"abengali\"] = 0x0985;\n  t[\"abopomofo\"] = 0x311a;\n  t[\"abreve\"] = 0x0103;\n  t[\"abreveacute\"] = 0x1eaf;\n  t[\"abrevecyrillic\"] = 0x04d1;\n  t[\"abrevedotbelow\"] = 0x1eb7;\n  t[\"abrevegrave\"] = 0x1eb1;\n  t[\"abrevehookabove\"] = 0x1eb3;\n  t[\"abrevetilde\"] = 0x1eb5;\n  t[\"acaron\"] = 0x01ce;\n  t[\"acircle\"] = 0x24d0;\n  t[\"acircumflex\"] = 0x00e2;\n  t[\"acircumflexacute\"] = 0x1ea5;\n  t[\"acircumflexdotbelow\"] = 0x1ead;\n  t[\"acircumflexgrave\"] = 0x1ea7;\n  t[\"acircumflexhookabove\"] = 0x1ea9;\n  t[\"acircumflextilde\"] = 0x1eab;\n  t[\"acute\"] = 0x00b4;\n  t[\"acutebelowcmb\"] = 0x0317;\n  t[\"acutecmb\"] = 0x0301;\n  t[\"acutecomb\"] = 0x0301;\n  t[\"acutedeva\"] = 0x0954;\n  t[\"acutelowmod\"] = 0x02cf;\n  t[\"acutetonecmb\"] = 0x0341;\n  t[\"acyrillic\"] = 0x0430;\n  t[\"adblgrave\"] = 0x0201;\n  t[\"addakgurmukhi\"] = 0x0a71;\n  t[\"adeva\"] = 0x0905;\n  t[\"adieresis\"] = 0x00e4;\n  t[\"adieresiscyrillic\"] = 0x04d3;\n  t[\"adieresismacron\"] = 0x01df;\n  t[\"adotbelow\"] = 0x1ea1;\n  t[\"adotmacron\"] = 0x01e1;\n  t[\"ae\"] = 0x00e6;\n  t[\"aeacute\"] = 0x01fd;\n  t[\"aekorean\"] = 0x3150;\n  t[\"aemacron\"] = 0x01e3;\n  t[\"afii00208\"] = 0x2015;\n  t[\"afii08941\"] = 0x20a4;\n  t[\"afii10017\"] = 0x0410;\n  t[\"afii10018\"] = 0x0411;\n  t[\"afii10019\"] = 0x0412;\n  t[\"afii10020\"] = 0x0413;\n  t[\"afii10021\"] = 0x0414;\n  t[\"afii10022\"] = 0x0415;\n  t[\"afii10023\"] = 0x0401;\n  t[\"afii10024\"] = 0x0416;\n  t[\"afii10025\"] = 0x0417;\n  t[\"afii10026\"] = 0x0418;\n  t[\"afii10027\"] = 0x0419;\n  t[\"afii10028\"] = 0x041a;\n  t[\"afii10029\"] = 0x041b;\n  t[\"afii10030\"] = 0x041c;\n  t[\"afii10031\"] = 0x041d;\n  t[\"afii10032\"] = 0x041e;\n  t[\"afii10033\"] = 0x041f;\n  t[\"afii10034\"] = 0x0420;\n  t[\"afii10035\"] = 0x0421;\n  t[\"afii10036\"] = 0x0422;\n  t[\"afii10037\"] = 0x0423;\n  t[\"afii10038\"] = 0x0424;\n  t[\"afii10039\"] = 0x0425;\n  t[\"afii10040\"] = 0x0426;\n  t[\"afii10041\"] = 0x0427;\n  t[\"afii10042\"] = 0x0428;\n  t[\"afii10043\"] = 0x0429;\n  t[\"afii10044\"] = 0x042a;\n  t[\"afii10045\"] = 0x042b;\n  t[\"afii10046\"] = 0x042c;\n  t[\"afii10047\"] = 0x042d;\n  t[\"afii10048\"] = 0x042e;\n  t[\"afii10049\"] = 0x042f;\n  t[\"afii10050\"] = 0x0490;\n  t[\"afii10051\"] = 0x0402;\n  t[\"afii10052\"] = 0x0403;\n  t[\"afii10053\"] = 0x0404;\n  t[\"afii10054\"] = 0x0405;\n  t[\"afii10055\"] = 0x0406;\n  t[\"afii10056\"] = 0x0407;\n  t[\"afii10057\"] = 0x0408;\n  t[\"afii10058\"] = 0x0409;\n  t[\"afii10059\"] = 0x040a;\n  t[\"afii10060\"] = 0x040b;\n  t[\"afii10061\"] = 0x040c;\n  t[\"afii10062\"] = 0x040e;\n  t[\"afii10063\"] = 0xf6c4;\n  t[\"afii10064\"] = 0xf6c5;\n  t[\"afii10065\"] = 0x0430;\n  t[\"afii10066\"] = 0x0431;\n  t[\"afii10067\"] = 0x0432;\n  t[\"afii10068\"] = 0x0433;\n  t[\"afii10069\"] = 0x0434;\n  t[\"afii10070\"] = 0x0435;\n  t[\"afii10071\"] = 0x0451;\n  t[\"afii10072\"] = 0x0436;\n  t[\"afii10073\"] = 0x0437;\n  t[\"afii10074\"] = 0x0438;\n  t[\"afii10075\"] = 0x0439;\n  t[\"afii10076\"] = 0x043a;\n  t[\"afii10077\"] = 0x043b;\n  t[\"afii10078\"] = 0x043c;\n  t[\"afii10079\"] = 0x043d;\n  t[\"afii10080\"] = 0x043e;\n  t[\"afii10081\"] = 0x043f;\n  t[\"afii10082\"] = 0x0440;\n  t[\"afii10083\"] = 0x0441;\n  t[\"afii10084\"] = 0x0442;\n  t[\"afii10085\"] = 0x0443;\n  t[\"afii10086\"] = 0x0444;\n  t[\"afii10087\"] = 0x0445;\n  t[\"afii10088\"] = 0x0446;\n  t[\"afii10089\"] = 0x0447;\n  t[\"afii10090\"] = 0x0448;\n  t[\"afii10091\"] = 0x0449;\n  t[\"afii10092\"] = 0x044a;\n  t[\"afii10093\"] = 0x044b;\n  t[\"afii10094\"] = 0x044c;\n  t[\"afii10095\"] = 0x044d;\n  t[\"afii10096\"] = 0x044e;\n  t[\"afii10097\"] = 0x044f;\n  t[\"afii10098\"] = 0x0491;\n  t[\"afii10099\"] = 0x0452;\n  t[\"afii10100\"] = 0x0453;\n  t[\"afii10101\"] = 0x0454;\n  t[\"afii10102\"] = 0x0455;\n  t[\"afii10103\"] = 0x0456;\n  t[\"afii10104\"] = 0x0457;\n  t[\"afii10105\"] = 0x0458;\n  t[\"afii10106\"] = 0x0459;\n  t[\"afii10107\"] = 0x045a;\n  t[\"afii10108\"] = 0x045b;\n  t[\"afii10109\"] = 0x045c;\n  t[\"afii10110\"] = 0x045e;\n  t[\"afii10145\"] = 0x040f;\n  t[\"afii10146\"] = 0x0462;\n  t[\"afii10147\"] = 0x0472;\n  t[\"afii10148\"] = 0x0474;\n  t[\"afii10192\"] = 0xf6c6;\n  t[\"afii10193\"] = 0x045f;\n  t[\"afii10194\"] = 0x0463;\n  t[\"afii10195\"] = 0x0473;\n  t[\"afii10196\"] = 0x0475;\n  t[\"afii10831\"] = 0xf6c7;\n  t[\"afii10832\"] = 0xf6c8;\n  t[\"afii10846\"] = 0x04d9;\n  t[\"afii299\"] = 0x200e;\n  t[\"afii300\"] = 0x200f;\n  t[\"afii301\"] = 0x200d;\n  t[\"afii57381\"] = 0x066a;\n  t[\"afii57388\"] = 0x060c;\n  t[\"afii57392\"] = 0x0660;\n  t[\"afii57393\"] = 0x0661;\n  t[\"afii57394\"] = 0x0662;\n  t[\"afii57395\"] = 0x0663;\n  t[\"afii57396\"] = 0x0664;\n  t[\"afii57397\"] = 0x0665;\n  t[\"afii57398\"] = 0x0666;\n  t[\"afii57399\"] = 0x0667;\n  t[\"afii57400\"] = 0x0668;\n  t[\"afii57401\"] = 0x0669;\n  t[\"afii57403\"] = 0x061b;\n  t[\"afii57407\"] = 0x061f;\n  t[\"afii57409\"] = 0x0621;\n  t[\"afii57410\"] = 0x0622;\n  t[\"afii57411\"] = 0x0623;\n  t[\"afii57412\"] = 0x0624;\n  t[\"afii57413\"] = 0x0625;\n  t[\"afii57414\"] = 0x0626;\n  t[\"afii57415\"] = 0x0627;\n  t[\"afii57416\"] = 0x0628;\n  t[\"afii57417\"] = 0x0629;\n  t[\"afii57418\"] = 0x062a;\n  t[\"afii57419\"] = 0x062b;\n  t[\"afii57420\"] = 0x062c;\n  t[\"afii57421\"] = 0x062d;\n  t[\"afii57422\"] = 0x062e;\n  t[\"afii57423\"] = 0x062f;\n  t[\"afii57424\"] = 0x0630;\n  t[\"afii57425\"] = 0x0631;\n  t[\"afii57426\"] = 0x0632;\n  t[\"afii57427\"] = 0x0633;\n  t[\"afii57428\"] = 0x0634;\n  t[\"afii57429\"] = 0x0635;\n  t[\"afii57430\"] = 0x0636;\n  t[\"afii57431\"] = 0x0637;\n  t[\"afii57432\"] = 0x0638;\n  t[\"afii57433\"] = 0x0639;\n  t[\"afii57434\"] = 0x063a;\n  t[\"afii57440\"] = 0x0640;\n  t[\"afii57441\"] = 0x0641;\n  t[\"afii57442\"] = 0x0642;\n  t[\"afii57443\"] = 0x0643;\n  t[\"afii57444\"] = 0x0644;\n  t[\"afii57445\"] = 0x0645;\n  t[\"afii57446\"] = 0x0646;\n  t[\"afii57448\"] = 0x0648;\n  t[\"afii57449\"] = 0x0649;\n  t[\"afii57450\"] = 0x064a;\n  t[\"afii57451\"] = 0x064b;\n  t[\"afii57452\"] = 0x064c;\n  t[\"afii57453\"] = 0x064d;\n  t[\"afii57454\"] = 0x064e;\n  t[\"afii57455\"] = 0x064f;\n  t[\"afii57456\"] = 0x0650;\n  t[\"afii57457\"] = 0x0651;\n  t[\"afii57458\"] = 0x0652;\n  t[\"afii57470\"] = 0x0647;\n  t[\"afii57505\"] = 0x06a4;\n  t[\"afii57506\"] = 0x067e;\n  t[\"afii57507\"] = 0x0686;\n  t[\"afii57508\"] = 0x0698;\n  t[\"afii57509\"] = 0x06af;\n  t[\"afii57511\"] = 0x0679;\n  t[\"afii57512\"] = 0x0688;\n  t[\"afii57513\"] = 0x0691;\n  t[\"afii57514\"] = 0x06ba;\n  t[\"afii57519\"] = 0x06d2;\n  t[\"afii57534\"] = 0x06d5;\n  t[\"afii57636\"] = 0x20aa;\n  t[\"afii57645\"] = 0x05be;\n  t[\"afii57658\"] = 0x05c3;\n  t[\"afii57664\"] = 0x05d0;\n  t[\"afii57665\"] = 0x05d1;\n  t[\"afii57666\"] = 0x05d2;\n  t[\"afii57667\"] = 0x05d3;\n  t[\"afii57668\"] = 0x05d4;\n  t[\"afii57669\"] = 0x05d5;\n  t[\"afii57670\"] = 0x05d6;\n  t[\"afii57671\"] = 0x05d7;\n  t[\"afii57672\"] = 0x05d8;\n  t[\"afii57673\"] = 0x05d9;\n  t[\"afii57674\"] = 0x05da;\n  t[\"afii57675\"] = 0x05db;\n  t[\"afii57676\"] = 0x05dc;\n  t[\"afii57677\"] = 0x05dd;\n  t[\"afii57678\"] = 0x05de;\n  t[\"afii57679\"] = 0x05df;\n  t[\"afii57680\"] = 0x05e0;\n  t[\"afii57681\"] = 0x05e1;\n  t[\"afii57682\"] = 0x05e2;\n  t[\"afii57683\"] = 0x05e3;\n  t[\"afii57684\"] = 0x05e4;\n  t[\"afii57685\"] = 0x05e5;\n  t[\"afii57686\"] = 0x05e6;\n  t[\"afii57687\"] = 0x05e7;\n  t[\"afii57688\"] = 0x05e8;\n  t[\"afii57689\"] = 0x05e9;\n  t[\"afii57690\"] = 0x05ea;\n  t[\"afii57694\"] = 0xfb2a;\n  t[\"afii57695\"] = 0xfb2b;\n  t[\"afii57700\"] = 0xfb4b;\n  t[\"afii57705\"] = 0xfb1f;\n  t[\"afii57716\"] = 0x05f0;\n  t[\"afii57717\"] = 0x05f1;\n  t[\"afii57718\"] = 0x05f2;\n  t[\"afii57723\"] = 0xfb35;\n  t[\"afii57793\"] = 0x05b4;\n  t[\"afii57794\"] = 0x05b5;\n  t[\"afii57795\"] = 0x05b6;\n  t[\"afii57796\"] = 0x05bb;\n  t[\"afii57797\"] = 0x05b8;\n  t[\"afii57798\"] = 0x05b7;\n  t[\"afii57799\"] = 0x05b0;\n  t[\"afii57800\"] = 0x05b2;\n  t[\"afii57801\"] = 0x05b1;\n  t[\"afii57802\"] = 0x05b3;\n  t[\"afii57803\"] = 0x05c2;\n  t[\"afii57804\"] = 0x05c1;\n  t[\"afii57806\"] = 0x05b9;\n  t[\"afii57807\"] = 0x05bc;\n  t[\"afii57839\"] = 0x05bd;\n  t[\"afii57841\"] = 0x05bf;\n  t[\"afii57842\"] = 0x05c0;\n  t[\"afii57929\"] = 0x02bc;\n  t[\"afii61248\"] = 0x2105;\n  t[\"afii61289\"] = 0x2113;\n  t[\"afii61352\"] = 0x2116;\n  t[\"afii61573\"] = 0x202c;\n  t[\"afii61574\"] = 0x202d;\n  t[\"afii61575\"] = 0x202e;\n  t[\"afii61664\"] = 0x200c;\n  t[\"afii63167\"] = 0x066d;\n  t[\"afii64937\"] = 0x02bd;\n  t[\"agrave\"] = 0x00e0;\n  t[\"agujarati\"] = 0x0a85;\n  t[\"agurmukhi\"] = 0x0a05;\n  t[\"ahiragana\"] = 0x3042;\n  t[\"ahookabove\"] = 0x1ea3;\n  t[\"aibengali\"] = 0x0990;\n  t[\"aibopomofo\"] = 0x311e;\n  t[\"aideva\"] = 0x0910;\n  t[\"aiecyrillic\"] = 0x04d5;\n  t[\"aigujarati\"] = 0x0a90;\n  t[\"aigurmukhi\"] = 0x0a10;\n  t[\"aimatragurmukhi\"] = 0x0a48;\n  t[\"ainarabic\"] = 0x0639;\n  t[\"ainfinalarabic\"] = 0xfeca;\n  t[\"aininitialarabic\"] = 0xfecb;\n  t[\"ainmedialarabic\"] = 0xfecc;\n  t[\"ainvertedbreve\"] = 0x0203;\n  t[\"aivowelsignbengali\"] = 0x09c8;\n  t[\"aivowelsigndeva\"] = 0x0948;\n  t[\"aivowelsigngujarati\"] = 0x0ac8;\n  t[\"akatakana\"] = 0x30a2;\n  t[\"akatakanahalfwidth\"] = 0xff71;\n  t[\"akorean\"] = 0x314f;\n  t[\"alef\"] = 0x05d0;\n  t[\"alefarabic\"] = 0x0627;\n  t[\"alefdageshhebrew\"] = 0xfb30;\n  t[\"aleffinalarabic\"] = 0xfe8e;\n  t[\"alefhamzaabovearabic\"] = 0x0623;\n  t[\"alefhamzaabovefinalarabic\"] = 0xfe84;\n  t[\"alefhamzabelowarabic\"] = 0x0625;\n  t[\"alefhamzabelowfinalarabic\"] = 0xfe88;\n  t[\"alefhebrew\"] = 0x05d0;\n  t[\"aleflamedhebrew\"] = 0xfb4f;\n  t[\"alefmaddaabovearabic\"] = 0x0622;\n  t[\"alefmaddaabovefinalarabic\"] = 0xfe82;\n  t[\"alefmaksuraarabic\"] = 0x0649;\n  t[\"alefmaksurafinalarabic\"] = 0xfef0;\n  t[\"alefmaksurainitialarabic\"] = 0xfef3;\n  t[\"alefmaksuramedialarabic\"] = 0xfef4;\n  t[\"alefpatahhebrew\"] = 0xfb2e;\n  t[\"alefqamatshebrew\"] = 0xfb2f;\n  t[\"aleph\"] = 0x2135;\n  t[\"allequal\"] = 0x224c;\n  t[\"alpha\"] = 0x03b1;\n  t[\"alphatonos\"] = 0x03ac;\n  t[\"amacron\"] = 0x0101;\n  t[\"amonospace\"] = 0xff41;\n  t[\"ampersand\"] = 0x0026;\n  t[\"ampersandmonospace\"] = 0xff06;\n  t[\"ampersandsmall\"] = 0xf726;\n  t[\"amsquare\"] = 0x33c2;\n  t[\"anbopomofo\"] = 0x3122;\n  t[\"angbopomofo\"] = 0x3124;\n  t[\"angbracketleft\"] = 0x3008; // Glyph is missing from Adobe's original list.\n  t[\"angbracketright\"] = 0x3009; // Glyph is missing from Adobe's original list.\n  t[\"angkhankhuthai\"] = 0x0e5a;\n  t[\"angle\"] = 0x2220;\n  t[\"anglebracketleft\"] = 0x3008;\n  t[\"anglebracketleftvertical\"] = 0xfe3f;\n  t[\"anglebracketright\"] = 0x3009;\n  t[\"anglebracketrightvertical\"] = 0xfe40;\n  t[\"angleleft\"] = 0x2329;\n  t[\"angleright\"] = 0x232a;\n  t[\"angstrom\"] = 0x212b;\n  t[\"anoteleia\"] = 0x0387;\n  t[\"anudattadeva\"] = 0x0952;\n  t[\"anusvarabengali\"] = 0x0982;\n  t[\"anusvaradeva\"] = 0x0902;\n  t[\"anusvaragujarati\"] = 0x0a82;\n  t[\"aogonek\"] = 0x0105;\n  t[\"apaatosquare\"] = 0x3300;\n  t[\"aparen\"] = 0x249c;\n  t[\"apostrophearmenian\"] = 0x055a;\n  t[\"apostrophemod\"] = 0x02bc;\n  t[\"apple\"] = 0xf8ff;\n  t[\"approaches\"] = 0x2250;\n  t[\"approxequal\"] = 0x2248;\n  t[\"approxequalorimage\"] = 0x2252;\n  t[\"approximatelyequal\"] = 0x2245;\n  t[\"araeaekorean\"] = 0x318e;\n  t[\"araeakorean\"] = 0x318d;\n  t[\"arc\"] = 0x2312;\n  t[\"arighthalfring\"] = 0x1e9a;\n  t[\"aring\"] = 0x00e5;\n  t[\"aringacute\"] = 0x01fb;\n  t[\"aringbelow\"] = 0x1e01;\n  t[\"arrowboth\"] = 0x2194;\n  t[\"arrowdashdown\"] = 0x21e3;\n  t[\"arrowdashleft\"] = 0x21e0;\n  t[\"arrowdashright\"] = 0x21e2;\n  t[\"arrowdashup\"] = 0x21e1;\n  t[\"arrowdblboth\"] = 0x21d4;\n  t[\"arrowdbldown\"] = 0x21d3;\n  t[\"arrowdblleft\"] = 0x21d0;\n  t[\"arrowdblright\"] = 0x21d2;\n  t[\"arrowdblup\"] = 0x21d1;\n  t[\"arrowdown\"] = 0x2193;\n  t[\"arrowdownleft\"] = 0x2199;\n  t[\"arrowdownright\"] = 0x2198;\n  t[\"arrowdownwhite\"] = 0x21e9;\n  t[\"arrowheaddownmod\"] = 0x02c5;\n  t[\"arrowheadleftmod\"] = 0x02c2;\n  t[\"arrowheadrightmod\"] = 0x02c3;\n  t[\"arrowheadupmod\"] = 0x02c4;\n  t[\"arrowhorizex\"] = 0xf8e7;\n  t[\"arrowleft\"] = 0x2190;\n  t[\"arrowleftdbl\"] = 0x21d0;\n  t[\"arrowleftdblstroke\"] = 0x21cd;\n  t[\"arrowleftoverright\"] = 0x21c6;\n  t[\"arrowleftwhite\"] = 0x21e6;\n  t[\"arrowright\"] = 0x2192;\n  t[\"arrowrightdblstroke\"] = 0x21cf;\n  t[\"arrowrightheavy\"] = 0x279e;\n  t[\"arrowrightoverleft\"] = 0x21c4;\n  t[\"arrowrightwhite\"] = 0x21e8;\n  t[\"arrowtableft\"] = 0x21e4;\n  t[\"arrowtabright\"] = 0x21e5;\n  t[\"arrowup\"] = 0x2191;\n  t[\"arrowupdn\"] = 0x2195;\n  t[\"arrowupdnbse\"] = 0x21a8;\n  t[\"arrowupdownbase\"] = 0x21a8;\n  t[\"arrowupleft\"] = 0x2196;\n  t[\"arrowupleftofdown\"] = 0x21c5;\n  t[\"arrowupright\"] = 0x2197;\n  t[\"arrowupwhite\"] = 0x21e7;\n  t[\"arrowvertex\"] = 0xf8e6;\n  t[\"asciicircum\"] = 0x005e;\n  t[\"asciicircummonospace\"] = 0xff3e;\n  t[\"asciitilde\"] = 0x007e;\n  t[\"asciitildemonospace\"] = 0xff5e;\n  t[\"ascript\"] = 0x0251;\n  t[\"ascriptturned\"] = 0x0252;\n  t[\"asmallhiragana\"] = 0x3041;\n  t[\"asmallkatakana\"] = 0x30a1;\n  t[\"asmallkatakanahalfwidth\"] = 0xff67;\n  t[\"asterisk\"] = 0x002a;\n  t[\"asteriskaltonearabic\"] = 0x066d;\n  t[\"asteriskarabic\"] = 0x066d;\n  t[\"asteriskmath\"] = 0x2217;\n  t[\"asteriskmonospace\"] = 0xff0a;\n  t[\"asterisksmall\"] = 0xfe61;\n  t[\"asterism\"] = 0x2042;\n  t[\"asuperior\"] = 0xf6e9;\n  t[\"asymptoticallyequal\"] = 0x2243;\n  t[\"at\"] = 0x0040;\n  t[\"atilde\"] = 0x00e3;\n  t[\"atmonospace\"] = 0xff20;\n  t[\"atsmall\"] = 0xfe6b;\n  t[\"aturned\"] = 0x0250;\n  t[\"aubengali\"] = 0x0994;\n  t[\"aubopomofo\"] = 0x3120;\n  t[\"audeva\"] = 0x0914;\n  t[\"augujarati\"] = 0x0a94;\n  t[\"augurmukhi\"] = 0x0a14;\n  t[\"aulengthmarkbengali\"] = 0x09d7;\n  t[\"aumatragurmukhi\"] = 0x0a4c;\n  t[\"auvowelsignbengali\"] = 0x09cc;\n  t[\"auvowelsigndeva\"] = 0x094c;\n  t[\"auvowelsigngujarati\"] = 0x0acc;\n  t[\"avagrahadeva\"] = 0x093d;\n  t[\"aybarmenian\"] = 0x0561;\n  t[\"ayin\"] = 0x05e2;\n  t[\"ayinaltonehebrew\"] = 0xfb20;\n  t[\"ayinhebrew\"] = 0x05e2;\n  t[\"b\"] = 0x0062;\n  t[\"babengali\"] = 0x09ac;\n  t[\"backslash\"] = 0x005c;\n  t[\"backslashmonospace\"] = 0xff3c;\n  t[\"badeva\"] = 0x092c;\n  t[\"bagujarati\"] = 0x0aac;\n  t[\"bagurmukhi\"] = 0x0a2c;\n  t[\"bahiragana\"] = 0x3070;\n  t[\"bahtthai\"] = 0x0e3f;\n  t[\"bakatakana\"] = 0x30d0;\n  t[\"bar\"] = 0x007c;\n  t[\"barmonospace\"] = 0xff5c;\n  t[\"bbopomofo\"] = 0x3105;\n  t[\"bcircle\"] = 0x24d1;\n  t[\"bdotaccent\"] = 0x1e03;\n  t[\"bdotbelow\"] = 0x1e05;\n  t[\"beamedsixteenthnotes\"] = 0x266c;\n  t[\"because\"] = 0x2235;\n  t[\"becyrillic\"] = 0x0431;\n  t[\"beharabic\"] = 0x0628;\n  t[\"behfinalarabic\"] = 0xfe90;\n  t[\"behinitialarabic\"] = 0xfe91;\n  t[\"behiragana\"] = 0x3079;\n  t[\"behmedialarabic\"] = 0xfe92;\n  t[\"behmeeminitialarabic\"] = 0xfc9f;\n  t[\"behmeemisolatedarabic\"] = 0xfc08;\n  t[\"behnoonfinalarabic\"] = 0xfc6d;\n  t[\"bekatakana\"] = 0x30d9;\n  t[\"benarmenian\"] = 0x0562;\n  t[\"bet\"] = 0x05d1;\n  t[\"beta\"] = 0x03b2;\n  t[\"betasymbolgreek\"] = 0x03d0;\n  t[\"betdagesh\"] = 0xfb31;\n  t[\"betdageshhebrew\"] = 0xfb31;\n  t[\"bethebrew\"] = 0x05d1;\n  t[\"betrafehebrew\"] = 0xfb4c;\n  t[\"bhabengali\"] = 0x09ad;\n  t[\"bhadeva\"] = 0x092d;\n  t[\"bhagujarati\"] = 0x0aad;\n  t[\"bhagurmukhi\"] = 0x0a2d;\n  t[\"bhook\"] = 0x0253;\n  t[\"bihiragana\"] = 0x3073;\n  t[\"bikatakana\"] = 0x30d3;\n  t[\"bilabialclick\"] = 0x0298;\n  t[\"bindigurmukhi\"] = 0x0a02;\n  t[\"birusquare\"] = 0x3331;\n  t[\"blackcircle\"] = 0x25cf;\n  t[\"blackdiamond\"] = 0x25c6;\n  t[\"blackdownpointingtriangle\"] = 0x25bc;\n  t[\"blackleftpointingpointer\"] = 0x25c4;\n  t[\"blackleftpointingtriangle\"] = 0x25c0;\n  t[\"blacklenticularbracketleft\"] = 0x3010;\n  t[\"blacklenticularbracketleftvertical\"] = 0xfe3b;\n  t[\"blacklenticularbracketright\"] = 0x3011;\n  t[\"blacklenticularbracketrightvertical\"] = 0xfe3c;\n  t[\"blacklowerlefttriangle\"] = 0x25e3;\n  t[\"blacklowerrighttriangle\"] = 0x25e2;\n  t[\"blackrectangle\"] = 0x25ac;\n  t[\"blackrightpointingpointer\"] = 0x25ba;\n  t[\"blackrightpointingtriangle\"] = 0x25b6;\n  t[\"blacksmallsquare\"] = 0x25aa;\n  t[\"blacksmilingface\"] = 0x263b;\n  t[\"blacksquare\"] = 0x25a0;\n  t[\"blackstar\"] = 0x2605;\n  t[\"blackupperlefttriangle\"] = 0x25e4;\n  t[\"blackupperrighttriangle\"] = 0x25e5;\n  t[\"blackuppointingsmalltriangle\"] = 0x25b4;\n  t[\"blackuppointingtriangle\"] = 0x25b2;\n  t[\"blank\"] = 0x2423;\n  t[\"blinebelow\"] = 0x1e07;\n  t[\"block\"] = 0x2588;\n  t[\"bmonospace\"] = 0xff42;\n  t[\"bobaimaithai\"] = 0x0e1a;\n  t[\"bohiragana\"] = 0x307c;\n  t[\"bokatakana\"] = 0x30dc;\n  t[\"bparen\"] = 0x249d;\n  t[\"bqsquare\"] = 0x33c3;\n  t[\"braceex\"] = 0xf8f4;\n  t[\"braceleft\"] = 0x007b;\n  t[\"braceleftbt\"] = 0xf8f3;\n  t[\"braceleftmid\"] = 0xf8f2;\n  t[\"braceleftmonospace\"] = 0xff5b;\n  t[\"braceleftsmall\"] = 0xfe5b;\n  t[\"bracelefttp\"] = 0xf8f1;\n  t[\"braceleftvertical\"] = 0xfe37;\n  t[\"braceright\"] = 0x007d;\n  t[\"bracerightbt\"] = 0xf8fe;\n  t[\"bracerightmid\"] = 0xf8fd;\n  t[\"bracerightmonospace\"] = 0xff5d;\n  t[\"bracerightsmall\"] = 0xfe5c;\n  t[\"bracerighttp\"] = 0xf8fc;\n  t[\"bracerightvertical\"] = 0xfe38;\n  t[\"bracketleft\"] = 0x005b;\n  t[\"bracketleftbt\"] = 0xf8f0;\n  t[\"bracketleftex\"] = 0xf8ef;\n  t[\"bracketleftmonospace\"] = 0xff3b;\n  t[\"bracketlefttp\"] = 0xf8ee;\n  t[\"bracketright\"] = 0x005d;\n  t[\"bracketrightbt\"] = 0xf8fb;\n  t[\"bracketrightex\"] = 0xf8fa;\n  t[\"bracketrightmonospace\"] = 0xff3d;\n  t[\"bracketrighttp\"] = 0xf8f9;\n  t[\"breve\"] = 0x02d8;\n  t[\"brevebelowcmb\"] = 0x032e;\n  t[\"brevecmb\"] = 0x0306;\n  t[\"breveinvertedbelowcmb\"] = 0x032f;\n  t[\"breveinvertedcmb\"] = 0x0311;\n  t[\"breveinverteddoublecmb\"] = 0x0361;\n  t[\"bridgebelowcmb\"] = 0x032a;\n  t[\"bridgeinvertedbelowcmb\"] = 0x033a;\n  t[\"brokenbar\"] = 0x00a6;\n  t[\"bstroke\"] = 0x0180;\n  t[\"bsuperior\"] = 0xf6ea;\n  t[\"btopbar\"] = 0x0183;\n  t[\"buhiragana\"] = 0x3076;\n  t[\"bukatakana\"] = 0x30d6;\n  t[\"bullet\"] = 0x2022;\n  t[\"bulletinverse\"] = 0x25d8;\n  t[\"bulletoperator\"] = 0x2219;\n  t[\"bullseye\"] = 0x25ce;\n  t[\"c\"] = 0x0063;\n  t[\"caarmenian\"] = 0x056e;\n  t[\"cabengali\"] = 0x099a;\n  t[\"cacute\"] = 0x0107;\n  t[\"cadeva\"] = 0x091a;\n  t[\"cagujarati\"] = 0x0a9a;\n  t[\"cagurmukhi\"] = 0x0a1a;\n  t[\"calsquare\"] = 0x3388;\n  t[\"candrabindubengali\"] = 0x0981;\n  t[\"candrabinducmb\"] = 0x0310;\n  t[\"candrabindudeva\"] = 0x0901;\n  t[\"candrabindugujarati\"] = 0x0a81;\n  t[\"capslock\"] = 0x21ea;\n  t[\"careof\"] = 0x2105;\n  t[\"caron\"] = 0x02c7;\n  t[\"caronbelowcmb\"] = 0x032c;\n  t[\"caroncmb\"] = 0x030c;\n  t[\"carriagereturn\"] = 0x21b5;\n  t[\"cbopomofo\"] = 0x3118;\n  t[\"ccaron\"] = 0x010d;\n  t[\"ccedilla\"] = 0x00e7;\n  t[\"ccedillaacute\"] = 0x1e09;\n  t[\"ccircle\"] = 0x24d2;\n  t[\"ccircumflex\"] = 0x0109;\n  t[\"ccurl\"] = 0x0255;\n  t[\"cdot\"] = 0x010b;\n  t[\"cdotaccent\"] = 0x010b;\n  t[\"cdsquare\"] = 0x33c5;\n  t[\"cedilla\"] = 0x00b8;\n  t[\"cedillacmb\"] = 0x0327;\n  t[\"cent\"] = 0x00a2;\n  t[\"centigrade\"] = 0x2103;\n  t[\"centinferior\"] = 0xf6df;\n  t[\"centmonospace\"] = 0xffe0;\n  t[\"centoldstyle\"] = 0xf7a2;\n  t[\"centsuperior\"] = 0xf6e0;\n  t[\"chaarmenian\"] = 0x0579;\n  t[\"chabengali\"] = 0x099b;\n  t[\"chadeva\"] = 0x091b;\n  t[\"chagujarati\"] = 0x0a9b;\n  t[\"chagurmukhi\"] = 0x0a1b;\n  t[\"chbopomofo\"] = 0x3114;\n  t[\"cheabkhasiancyrillic\"] = 0x04bd;\n  t[\"checkmark\"] = 0x2713;\n  t[\"checyrillic\"] = 0x0447;\n  t[\"chedescenderabkhasiancyrillic\"] = 0x04bf;\n  t[\"chedescendercyrillic\"] = 0x04b7;\n  t[\"chedieresiscyrillic\"] = 0x04f5;\n  t[\"cheharmenian\"] = 0x0573;\n  t[\"chekhakassiancyrillic\"] = 0x04cc;\n  t[\"cheverticalstrokecyrillic\"] = 0x04b9;\n  t[\"chi\"] = 0x03c7;\n  t[\"chieuchacirclekorean\"] = 0x3277;\n  t[\"chieuchaparenkorean\"] = 0x3217;\n  t[\"chieuchcirclekorean\"] = 0x3269;\n  t[\"chieuchkorean\"] = 0x314a;\n  t[\"chieuchparenkorean\"] = 0x3209;\n  t[\"chochangthai\"] = 0x0e0a;\n  t[\"chochanthai\"] = 0x0e08;\n  t[\"chochingthai\"] = 0x0e09;\n  t[\"chochoethai\"] = 0x0e0c;\n  t[\"chook\"] = 0x0188;\n  t[\"cieucacirclekorean\"] = 0x3276;\n  t[\"cieucaparenkorean\"] = 0x3216;\n  t[\"cieuccirclekorean\"] = 0x3268;\n  t[\"cieuckorean\"] = 0x3148;\n  t[\"cieucparenkorean\"] = 0x3208;\n  t[\"cieucuparenkorean\"] = 0x321c;\n  t[\"circle\"] = 0x25cb;\n  t[\"circlecopyrt\"] = 0x00a9; // Glyph is missing from Adobe's original list.\n  t[\"circlemultiply\"] = 0x2297;\n  t[\"circleot\"] = 0x2299;\n  t[\"circleplus\"] = 0x2295;\n  t[\"circlepostalmark\"] = 0x3036;\n  t[\"circlewithlefthalfblack\"] = 0x25d0;\n  t[\"circlewithrighthalfblack\"] = 0x25d1;\n  t[\"circumflex\"] = 0x02c6;\n  t[\"circumflexbelowcmb\"] = 0x032d;\n  t[\"circumflexcmb\"] = 0x0302;\n  t[\"clear\"] = 0x2327;\n  t[\"clickalveolar\"] = 0x01c2;\n  t[\"clickdental\"] = 0x01c0;\n  t[\"clicklateral\"] = 0x01c1;\n  t[\"clickretroflex\"] = 0x01c3;\n  t[\"club\"] = 0x2663;\n  t[\"clubsuitblack\"] = 0x2663;\n  t[\"clubsuitwhite\"] = 0x2667;\n  t[\"cmcubedsquare\"] = 0x33a4;\n  t[\"cmonospace\"] = 0xff43;\n  t[\"cmsquaredsquare\"] = 0x33a0;\n  t[\"coarmenian\"] = 0x0581;\n  t[\"colon\"] = 0x003a;\n  t[\"colonmonetary\"] = 0x20a1;\n  t[\"colonmonospace\"] = 0xff1a;\n  t[\"colonsign\"] = 0x20a1;\n  t[\"colonsmall\"] = 0xfe55;\n  t[\"colontriangularhalfmod\"] = 0x02d1;\n  t[\"colontriangularmod\"] = 0x02d0;\n  t[\"comma\"] = 0x002c;\n  t[\"commaabovecmb\"] = 0x0313;\n  t[\"commaaboverightcmb\"] = 0x0315;\n  t[\"commaaccent\"] = 0xf6c3;\n  t[\"commaarabic\"] = 0x060c;\n  t[\"commaarmenian\"] = 0x055d;\n  t[\"commainferior\"] = 0xf6e1;\n  t[\"commamonospace\"] = 0xff0c;\n  t[\"commareversedabovecmb\"] = 0x0314;\n  t[\"commareversedmod\"] = 0x02bd;\n  t[\"commasmall\"] = 0xfe50;\n  t[\"commasuperior\"] = 0xf6e2;\n  t[\"commaturnedabovecmb\"] = 0x0312;\n  t[\"commaturnedmod\"] = 0x02bb;\n  t[\"compass\"] = 0x263c;\n  t[\"congruent\"] = 0x2245;\n  t[\"contourintegral\"] = 0x222e;\n  t[\"control\"] = 0x2303;\n  t[\"controlACK\"] = 0x0006;\n  t[\"controlBEL\"] = 0x0007;\n  t[\"controlBS\"] = 0x0008;\n  t[\"controlCAN\"] = 0x0018;\n  t[\"controlCR\"] = 0x000d;\n  t[\"controlDC1\"] = 0x0011;\n  t[\"controlDC2\"] = 0x0012;\n  t[\"controlDC3\"] = 0x0013;\n  t[\"controlDC4\"] = 0x0014;\n  t[\"controlDEL\"] = 0x007f;\n  t[\"controlDLE\"] = 0x0010;\n  t[\"controlEM\"] = 0x0019;\n  t[\"controlENQ\"] = 0x0005;\n  t[\"controlEOT\"] = 0x0004;\n  t[\"controlESC\"] = 0x001b;\n  t[\"controlETB\"] = 0x0017;\n  t[\"controlETX\"] = 0x0003;\n  t[\"controlFF\"] = 0x000c;\n  t[\"controlFS\"] = 0x001c;\n  t[\"controlGS\"] = 0x001d;\n  t[\"controlHT\"] = 0x0009;\n  t[\"controlLF\"] = 0x000a;\n  t[\"controlNAK\"] = 0x0015;\n  t[\"controlNULL\"] = 0x0000; // Glyph is missing from Adobe's original list.\n  t[\"controlRS\"] = 0x001e;\n  t[\"controlSI\"] = 0x000f;\n  t[\"controlSO\"] = 0x000e;\n  t[\"controlSOT\"] = 0x0002;\n  t[\"controlSTX\"] = 0x0001;\n  t[\"controlSUB\"] = 0x001a;\n  t[\"controlSYN\"] = 0x0016;\n  t[\"controlUS\"] = 0x001f;\n  t[\"controlVT\"] = 0x000b;\n  t[\"copyright\"] = 0x00a9;\n  t[\"copyrightsans\"] = 0xf8e9;\n  t[\"copyrightserif\"] = 0xf6d9;\n  t[\"cornerbracketleft\"] = 0x300c;\n  t[\"cornerbracketlefthalfwidth\"] = 0xff62;\n  t[\"cornerbracketleftvertical\"] = 0xfe41;\n  t[\"cornerbracketright\"] = 0x300d;\n  t[\"cornerbracketrighthalfwidth\"] = 0xff63;\n  t[\"cornerbracketrightvertical\"] = 0xfe42;\n  t[\"corporationsquare\"] = 0x337f;\n  t[\"cosquare\"] = 0x33c7;\n  t[\"coverkgsquare\"] = 0x33c6;\n  t[\"cparen\"] = 0x249e;\n  t[\"cruzeiro\"] = 0x20a2;\n  t[\"cstretched\"] = 0x0297;\n  t[\"curlyand\"] = 0x22cf;\n  t[\"curlyor\"] = 0x22ce;\n  t[\"currency\"] = 0x00a4;\n  t[\"cyrBreve\"] = 0xf6d1;\n  t[\"cyrFlex\"] = 0xf6d2;\n  t[\"cyrbreve\"] = 0xf6d4;\n  t[\"cyrflex\"] = 0xf6d5;\n  t[\"d\"] = 0x0064;\n  t[\"daarmenian\"] = 0x0564;\n  t[\"dabengali\"] = 0x09a6;\n  t[\"dadarabic\"] = 0x0636;\n  t[\"dadeva\"] = 0x0926;\n  t[\"dadfinalarabic\"] = 0xfebe;\n  t[\"dadinitialarabic\"] = 0xfebf;\n  t[\"dadmedialarabic\"] = 0xfec0;\n  t[\"dagesh\"] = 0x05bc;\n  t[\"dageshhebrew\"] = 0x05bc;\n  t[\"dagger\"] = 0x2020;\n  t[\"daggerdbl\"] = 0x2021;\n  t[\"dagujarati\"] = 0x0aa6;\n  t[\"dagurmukhi\"] = 0x0a26;\n  t[\"dahiragana\"] = 0x3060;\n  t[\"dakatakana\"] = 0x30c0;\n  t[\"dalarabic\"] = 0x062f;\n  t[\"dalet\"] = 0x05d3;\n  t[\"daletdagesh\"] = 0xfb33;\n  t[\"daletdageshhebrew\"] = 0xfb33;\n  t[\"dalethebrew\"] = 0x05d3;\n  t[\"dalfinalarabic\"] = 0xfeaa;\n  t[\"dammaarabic\"] = 0x064f;\n  t[\"dammalowarabic\"] = 0x064f;\n  t[\"dammatanaltonearabic\"] = 0x064c;\n  t[\"dammatanarabic\"] = 0x064c;\n  t[\"danda\"] = 0x0964;\n  t[\"dargahebrew\"] = 0x05a7;\n  t[\"dargalefthebrew\"] = 0x05a7;\n  t[\"dasiapneumatacyrilliccmb\"] = 0x0485;\n  t[\"dblGrave\"] = 0xf6d3;\n  t[\"dblanglebracketleft\"] = 0x300a;\n  t[\"dblanglebracketleftvertical\"] = 0xfe3d;\n  t[\"dblanglebracketright\"] = 0x300b;\n  t[\"dblanglebracketrightvertical\"] = 0xfe3e;\n  t[\"dblarchinvertedbelowcmb\"] = 0x032b;\n  t[\"dblarrowleft\"] = 0x21d4;\n  t[\"dblarrowright\"] = 0x21d2;\n  t[\"dbldanda\"] = 0x0965;\n  t[\"dblgrave\"] = 0xf6d6;\n  t[\"dblgravecmb\"] = 0x030f;\n  t[\"dblintegral\"] = 0x222c;\n  t[\"dbllowline\"] = 0x2017;\n  t[\"dbllowlinecmb\"] = 0x0333;\n  t[\"dbloverlinecmb\"] = 0x033f;\n  t[\"dblprimemod\"] = 0x02ba;\n  t[\"dblverticalbar\"] = 0x2016;\n  t[\"dblverticallineabovecmb\"] = 0x030e;\n  t[\"dbopomofo\"] = 0x3109;\n  t[\"dbsquare\"] = 0x33c8;\n  t[\"dcaron\"] = 0x010f;\n  t[\"dcedilla\"] = 0x1e11;\n  t[\"dcircle\"] = 0x24d3;\n  t[\"dcircumflexbelow\"] = 0x1e13;\n  t[\"dcroat\"] = 0x0111;\n  t[\"ddabengali\"] = 0x09a1;\n  t[\"ddadeva\"] = 0x0921;\n  t[\"ddagujarati\"] = 0x0aa1;\n  t[\"ddagurmukhi\"] = 0x0a21;\n  t[\"ddalarabic\"] = 0x0688;\n  t[\"ddalfinalarabic\"] = 0xfb89;\n  t[\"dddhadeva\"] = 0x095c;\n  t[\"ddhabengali\"] = 0x09a2;\n  t[\"ddhadeva\"] = 0x0922;\n  t[\"ddhagujarati\"] = 0x0aa2;\n  t[\"ddhagurmukhi\"] = 0x0a22;\n  t[\"ddotaccent\"] = 0x1e0b;\n  t[\"ddotbelow\"] = 0x1e0d;\n  t[\"decimalseparatorarabic\"] = 0x066b;\n  t[\"decimalseparatorpersian\"] = 0x066b;\n  t[\"decyrillic\"] = 0x0434;\n  t[\"degree\"] = 0x00b0;\n  t[\"dehihebrew\"] = 0x05ad;\n  t[\"dehiragana\"] = 0x3067;\n  t[\"deicoptic\"] = 0x03ef;\n  t[\"dekatakana\"] = 0x30c7;\n  t[\"deleteleft\"] = 0x232b;\n  t[\"deleteright\"] = 0x2326;\n  t[\"delta\"] = 0x03b4;\n  t[\"deltaturned\"] = 0x018d;\n  t[\"denominatorminusonenumeratorbengali\"] = 0x09f8;\n  t[\"dezh\"] = 0x02a4;\n  t[\"dhabengali\"] = 0x09a7;\n  t[\"dhadeva\"] = 0x0927;\n  t[\"dhagujarati\"] = 0x0aa7;\n  t[\"dhagurmukhi\"] = 0x0a27;\n  t[\"dhook\"] = 0x0257;\n  t[\"dialytikatonos\"] = 0x0385;\n  t[\"dialytikatonoscmb\"] = 0x0344;\n  t[\"diamond\"] = 0x2666;\n  t[\"diamondsuitwhite\"] = 0x2662;\n  t[\"dieresis\"] = 0x00a8;\n  t[\"dieresisacute\"] = 0xf6d7;\n  t[\"dieresisbelowcmb\"] = 0x0324;\n  t[\"dieresiscmb\"] = 0x0308;\n  t[\"dieresisgrave\"] = 0xf6d8;\n  t[\"dieresistonos\"] = 0x0385;\n  t[\"dihiragana\"] = 0x3062;\n  t[\"dikatakana\"] = 0x30c2;\n  t[\"dittomark\"] = 0x3003;\n  t[\"divide\"] = 0x00f7;\n  t[\"divides\"] = 0x2223;\n  t[\"divisionslash\"] = 0x2215;\n  t[\"djecyrillic\"] = 0x0452;\n  t[\"dkshade\"] = 0x2593;\n  t[\"dlinebelow\"] = 0x1e0f;\n  t[\"dlsquare\"] = 0x3397;\n  t[\"dmacron\"] = 0x0111;\n  t[\"dmonospace\"] = 0xff44;\n  t[\"dnblock\"] = 0x2584;\n  t[\"dochadathai\"] = 0x0e0e;\n  t[\"dodekthai\"] = 0x0e14;\n  t[\"dohiragana\"] = 0x3069;\n  t[\"dokatakana\"] = 0x30c9;\n  t[\"dollar\"] = 0x0024;\n  t[\"dollarinferior\"] = 0xf6e3;\n  t[\"dollarmonospace\"] = 0xff04;\n  t[\"dollaroldstyle\"] = 0xf724;\n  t[\"dollarsmall\"] = 0xfe69;\n  t[\"dollarsuperior\"] = 0xf6e4;\n  t[\"dong\"] = 0x20ab;\n  t[\"dorusquare\"] = 0x3326;\n  t[\"dotaccent\"] = 0x02d9;\n  t[\"dotaccentcmb\"] = 0x0307;\n  t[\"dotbelowcmb\"] = 0x0323;\n  t[\"dotbelowcomb\"] = 0x0323;\n  t[\"dotkatakana\"] = 0x30fb;\n  t[\"dotlessi\"] = 0x0131;\n  t[\"dotlessj\"] = 0xf6be;\n  t[\"dotlessjstrokehook\"] = 0x0284;\n  t[\"dotmath\"] = 0x22c5;\n  t[\"dottedcircle\"] = 0x25cc;\n  t[\"doubleyodpatah\"] = 0xfb1f;\n  t[\"doubleyodpatahhebrew\"] = 0xfb1f;\n  t[\"downtackbelowcmb\"] = 0x031e;\n  t[\"downtackmod\"] = 0x02d5;\n  t[\"dparen\"] = 0x249f;\n  t[\"dsuperior\"] = 0xf6eb;\n  t[\"dtail\"] = 0x0256;\n  t[\"dtopbar\"] = 0x018c;\n  t[\"duhiragana\"] = 0x3065;\n  t[\"dukatakana\"] = 0x30c5;\n  t[\"dz\"] = 0x01f3;\n  t[\"dzaltone\"] = 0x02a3;\n  t[\"dzcaron\"] = 0x01c6;\n  t[\"dzcurl\"] = 0x02a5;\n  t[\"dzeabkhasiancyrillic\"] = 0x04e1;\n  t[\"dzecyrillic\"] = 0x0455;\n  t[\"dzhecyrillic\"] = 0x045f;\n  t[\"e\"] = 0x0065;\n  t[\"eacute\"] = 0x00e9;\n  t[\"earth\"] = 0x2641;\n  t[\"ebengali\"] = 0x098f;\n  t[\"ebopomofo\"] = 0x311c;\n  t[\"ebreve\"] = 0x0115;\n  t[\"ecandradeva\"] = 0x090d;\n  t[\"ecandragujarati\"] = 0x0a8d;\n  t[\"ecandravowelsigndeva\"] = 0x0945;\n  t[\"ecandravowelsigngujarati\"] = 0x0ac5;\n  t[\"ecaron\"] = 0x011b;\n  t[\"ecedillabreve\"] = 0x1e1d;\n  t[\"echarmenian\"] = 0x0565;\n  t[\"echyiwnarmenian\"] = 0x0587;\n  t[\"ecircle\"] = 0x24d4;\n  t[\"ecircumflex\"] = 0x00ea;\n  t[\"ecircumflexacute\"] = 0x1ebf;\n  t[\"ecircumflexbelow\"] = 0x1e19;\n  t[\"ecircumflexdotbelow\"] = 0x1ec7;\n  t[\"ecircumflexgrave\"] = 0x1ec1;\n  t[\"ecircumflexhookabove\"] = 0x1ec3;\n  t[\"ecircumflextilde\"] = 0x1ec5;\n  t[\"ecyrillic\"] = 0x0454;\n  t[\"edblgrave\"] = 0x0205;\n  t[\"edeva\"] = 0x090f;\n  t[\"edieresis\"] = 0x00eb;\n  t[\"edot\"] = 0x0117;\n  t[\"edotaccent\"] = 0x0117;\n  t[\"edotbelow\"] = 0x1eb9;\n  t[\"eegurmukhi\"] = 0x0a0f;\n  t[\"eematragurmukhi\"] = 0x0a47;\n  t[\"efcyrillic\"] = 0x0444;\n  t[\"egrave\"] = 0x00e8;\n  t[\"egujarati\"] = 0x0a8f;\n  t[\"eharmenian\"] = 0x0567;\n  t[\"ehbopomofo\"] = 0x311d;\n  t[\"ehiragana\"] = 0x3048;\n  t[\"ehookabove\"] = 0x1ebb;\n  t[\"eibopomofo\"] = 0x311f;\n  t[\"eight\"] = 0x0038;\n  t[\"eightarabic\"] = 0x0668;\n  t[\"eightbengali\"] = 0x09ee;\n  t[\"eightcircle\"] = 0x2467;\n  t[\"eightcircleinversesansserif\"] = 0x2791;\n  t[\"eightdeva\"] = 0x096e;\n  t[\"eighteencircle\"] = 0x2471;\n  t[\"eighteenparen\"] = 0x2485;\n  t[\"eighteenperiod\"] = 0x2499;\n  t[\"eightgujarati\"] = 0x0aee;\n  t[\"eightgurmukhi\"] = 0x0a6e;\n  t[\"eighthackarabic\"] = 0x0668;\n  t[\"eighthangzhou\"] = 0x3028;\n  t[\"eighthnotebeamed\"] = 0x266b;\n  t[\"eightideographicparen\"] = 0x3227;\n  t[\"eightinferior\"] = 0x2088;\n  t[\"eightmonospace\"] = 0xff18;\n  t[\"eightoldstyle\"] = 0xf738;\n  t[\"eightparen\"] = 0x247b;\n  t[\"eightperiod\"] = 0x248f;\n  t[\"eightpersian\"] = 0x06f8;\n  t[\"eightroman\"] = 0x2177;\n  t[\"eightsuperior\"] = 0x2078;\n  t[\"eightthai\"] = 0x0e58;\n  t[\"einvertedbreve\"] = 0x0207;\n  t[\"eiotifiedcyrillic\"] = 0x0465;\n  t[\"ekatakana\"] = 0x30a8;\n  t[\"ekatakanahalfwidth\"] = 0xff74;\n  t[\"ekonkargurmukhi\"] = 0x0a74;\n  t[\"ekorean\"] = 0x3154;\n  t[\"elcyrillic\"] = 0x043b;\n  t[\"element\"] = 0x2208;\n  t[\"elevencircle\"] = 0x246a;\n  t[\"elevenparen\"] = 0x247e;\n  t[\"elevenperiod\"] = 0x2492;\n  t[\"elevenroman\"] = 0x217a;\n  t[\"ellipsis\"] = 0x2026;\n  t[\"ellipsisvertical\"] = 0x22ee;\n  t[\"emacron\"] = 0x0113;\n  t[\"emacronacute\"] = 0x1e17;\n  t[\"emacrongrave\"] = 0x1e15;\n  t[\"emcyrillic\"] = 0x043c;\n  t[\"emdash\"] = 0x2014;\n  t[\"emdashvertical\"] = 0xfe31;\n  t[\"emonospace\"] = 0xff45;\n  t[\"emphasismarkarmenian\"] = 0x055b;\n  t[\"emptyset\"] = 0x2205;\n  t[\"enbopomofo\"] = 0x3123;\n  t[\"encyrillic\"] = 0x043d;\n  t[\"endash\"] = 0x2013;\n  t[\"endashvertical\"] = 0xfe32;\n  t[\"endescendercyrillic\"] = 0x04a3;\n  t[\"eng\"] = 0x014b;\n  t[\"engbopomofo\"] = 0x3125;\n  t[\"enghecyrillic\"] = 0x04a5;\n  t[\"enhookcyrillic\"] = 0x04c8;\n  t[\"enspace\"] = 0x2002;\n  t[\"eogonek\"] = 0x0119;\n  t[\"eokorean\"] = 0x3153;\n  t[\"eopen\"] = 0x025b;\n  t[\"eopenclosed\"] = 0x029a;\n  t[\"eopenreversed\"] = 0x025c;\n  t[\"eopenreversedclosed\"] = 0x025e;\n  t[\"eopenreversedhook\"] = 0x025d;\n  t[\"eparen\"] = 0x24a0;\n  t[\"epsilon\"] = 0x03b5;\n  t[\"epsilontonos\"] = 0x03ad;\n  t[\"equal\"] = 0x003d;\n  t[\"equalmonospace\"] = 0xff1d;\n  t[\"equalsmall\"] = 0xfe66;\n  t[\"equalsuperior\"] = 0x207c;\n  t[\"equivalence\"] = 0x2261;\n  t[\"erbopomofo\"] = 0x3126;\n  t[\"ercyrillic\"] = 0x0440;\n  t[\"ereversed\"] = 0x0258;\n  t[\"ereversedcyrillic\"] = 0x044d;\n  t[\"escyrillic\"] = 0x0441;\n  t[\"esdescendercyrillic\"] = 0x04ab;\n  t[\"esh\"] = 0x0283;\n  t[\"eshcurl\"] = 0x0286;\n  t[\"eshortdeva\"] = 0x090e;\n  t[\"eshortvowelsigndeva\"] = 0x0946;\n  t[\"eshreversedloop\"] = 0x01aa;\n  t[\"eshsquatreversed\"] = 0x0285;\n  t[\"esmallhiragana\"] = 0x3047;\n  t[\"esmallkatakana\"] = 0x30a7;\n  t[\"esmallkatakanahalfwidth\"] = 0xff6a;\n  t[\"estimated\"] = 0x212e;\n  t[\"esuperior\"] = 0xf6ec;\n  t[\"eta\"] = 0x03b7;\n  t[\"etarmenian\"] = 0x0568;\n  t[\"etatonos\"] = 0x03ae;\n  t[\"eth\"] = 0x00f0;\n  t[\"etilde\"] = 0x1ebd;\n  t[\"etildebelow\"] = 0x1e1b;\n  t[\"etnahtafoukhhebrew\"] = 0x0591;\n  t[\"etnahtafoukhlefthebrew\"] = 0x0591;\n  t[\"etnahtahebrew\"] = 0x0591;\n  t[\"etnahtalefthebrew\"] = 0x0591;\n  t[\"eturned\"] = 0x01dd;\n  t[\"eukorean\"] = 0x3161;\n  t[\"euro\"] = 0x20ac;\n  t[\"evowelsignbengali\"] = 0x09c7;\n  t[\"evowelsigndeva\"] = 0x0947;\n  t[\"evowelsigngujarati\"] = 0x0ac7;\n  t[\"exclam\"] = 0x0021;\n  t[\"exclamarmenian\"] = 0x055c;\n  t[\"exclamdbl\"] = 0x203c;\n  t[\"exclamdown\"] = 0x00a1;\n  t[\"exclamdownsmall\"] = 0xf7a1;\n  t[\"exclammonospace\"] = 0xff01;\n  t[\"exclamsmall\"] = 0xf721;\n  t[\"existential\"] = 0x2203;\n  t[\"ezh\"] = 0x0292;\n  t[\"ezhcaron\"] = 0x01ef;\n  t[\"ezhcurl\"] = 0x0293;\n  t[\"ezhreversed\"] = 0x01b9;\n  t[\"ezhtail\"] = 0x01ba;\n  t[\"f\"] = 0x0066;\n  t[\"fadeva\"] = 0x095e;\n  t[\"fagurmukhi\"] = 0x0a5e;\n  t[\"fahrenheit\"] = 0x2109;\n  t[\"fathaarabic\"] = 0x064e;\n  t[\"fathalowarabic\"] = 0x064e;\n  t[\"fathatanarabic\"] = 0x064b;\n  t[\"fbopomofo\"] = 0x3108;\n  t[\"fcircle\"] = 0x24d5;\n  t[\"fdotaccent\"] = 0x1e1f;\n  t[\"feharabic\"] = 0x0641;\n  t[\"feharmenian\"] = 0x0586;\n  t[\"fehfinalarabic\"] = 0xfed2;\n  t[\"fehinitialarabic\"] = 0xfed3;\n  t[\"fehmedialarabic\"] = 0xfed4;\n  t[\"feicoptic\"] = 0x03e5;\n  t[\"female\"] = 0x2640;\n  t[\"ff\"] = 0xfb00;\n  t[\"f_f\"] = 0xfb00; // Fixes issue 11016.\n  t[\"ffi\"] = 0xfb03;\n  t[\"ffl\"] = 0xfb04;\n  t[\"fi\"] = 0xfb01;\n  t[\"fifteencircle\"] = 0x246e;\n  t[\"fifteenparen\"] = 0x2482;\n  t[\"fifteenperiod\"] = 0x2496;\n  t[\"figuredash\"] = 0x2012;\n  t[\"filledbox\"] = 0x25a0;\n  t[\"filledrect\"] = 0x25ac;\n  t[\"finalkaf\"] = 0x05da;\n  t[\"finalkafdagesh\"] = 0xfb3a;\n  t[\"finalkafdageshhebrew\"] = 0xfb3a;\n  t[\"finalkafhebrew\"] = 0x05da;\n  t[\"finalmem\"] = 0x05dd;\n  t[\"finalmemhebrew\"] = 0x05dd;\n  t[\"finalnun\"] = 0x05df;\n  t[\"finalnunhebrew\"] = 0x05df;\n  t[\"finalpe\"] = 0x05e3;\n  t[\"finalpehebrew\"] = 0x05e3;\n  t[\"finaltsadi\"] = 0x05e5;\n  t[\"finaltsadihebrew\"] = 0x05e5;\n  t[\"firsttonechinese\"] = 0x02c9;\n  t[\"fisheye\"] = 0x25c9;\n  t[\"fitacyrillic\"] = 0x0473;\n  t[\"five\"] = 0x0035;\n  t[\"fivearabic\"] = 0x0665;\n  t[\"fivebengali\"] = 0x09eb;\n  t[\"fivecircle\"] = 0x2464;\n  t[\"fivecircleinversesansserif\"] = 0x278e;\n  t[\"fivedeva\"] = 0x096b;\n  t[\"fiveeighths\"] = 0x215d;\n  t[\"fivegujarati\"] = 0x0aeb;\n  t[\"fivegurmukhi\"] = 0x0a6b;\n  t[\"fivehackarabic\"] = 0x0665;\n  t[\"fivehangzhou\"] = 0x3025;\n  t[\"fiveideographicparen\"] = 0x3224;\n  t[\"fiveinferior\"] = 0x2085;\n  t[\"fivemonospace\"] = 0xff15;\n  t[\"fiveoldstyle\"] = 0xf735;\n  t[\"fiveparen\"] = 0x2478;\n  t[\"fiveperiod\"] = 0x248c;\n  t[\"fivepersian\"] = 0x06f5;\n  t[\"fiveroman\"] = 0x2174;\n  t[\"fivesuperior\"] = 0x2075;\n  t[\"fivethai\"] = 0x0e55;\n  t[\"fl\"] = 0xfb02;\n  t[\"florin\"] = 0x0192;\n  t[\"fmonospace\"] = 0xff46;\n  t[\"fmsquare\"] = 0x3399;\n  t[\"fofanthai\"] = 0x0e1f;\n  t[\"fofathai\"] = 0x0e1d;\n  t[\"fongmanthai\"] = 0x0e4f;\n  t[\"forall\"] = 0x2200;\n  t[\"four\"] = 0x0034;\n  t[\"fourarabic\"] = 0x0664;\n  t[\"fourbengali\"] = 0x09ea;\n  t[\"fourcircle\"] = 0x2463;\n  t[\"fourcircleinversesansserif\"] = 0x278d;\n  t[\"fourdeva\"] = 0x096a;\n  t[\"fourgujarati\"] = 0x0aea;\n  t[\"fourgurmukhi\"] = 0x0a6a;\n  t[\"fourhackarabic\"] = 0x0664;\n  t[\"fourhangzhou\"] = 0x3024;\n  t[\"fourideographicparen\"] = 0x3223;\n  t[\"fourinferior\"] = 0x2084;\n  t[\"fourmonospace\"] = 0xff14;\n  t[\"fournumeratorbengali\"] = 0x09f7;\n  t[\"fouroldstyle\"] = 0xf734;\n  t[\"fourparen\"] = 0x2477;\n  t[\"fourperiod\"] = 0x248b;\n  t[\"fourpersian\"] = 0x06f4;\n  t[\"fourroman\"] = 0x2173;\n  t[\"foursuperior\"] = 0x2074;\n  t[\"fourteencircle\"] = 0x246d;\n  t[\"fourteenparen\"] = 0x2481;\n  t[\"fourteenperiod\"] = 0x2495;\n  t[\"fourthai\"] = 0x0e54;\n  t[\"fourthtonechinese\"] = 0x02cb;\n  t[\"fparen\"] = 0x24a1;\n  t[\"fraction\"] = 0x2044;\n  t[\"franc\"] = 0x20a3;\n  t[\"g\"] = 0x0067;\n  t[\"gabengali\"] = 0x0997;\n  t[\"gacute\"] = 0x01f5;\n  t[\"gadeva\"] = 0x0917;\n  t[\"gafarabic\"] = 0x06af;\n  t[\"gaffinalarabic\"] = 0xfb93;\n  t[\"gafinitialarabic\"] = 0xfb94;\n  t[\"gafmedialarabic\"] = 0xfb95;\n  t[\"gagujarati\"] = 0x0a97;\n  t[\"gagurmukhi\"] = 0x0a17;\n  t[\"gahiragana\"] = 0x304c;\n  t[\"gakatakana\"] = 0x30ac;\n  t[\"gamma\"] = 0x03b3;\n  t[\"gammalatinsmall\"] = 0x0263;\n  t[\"gammasuperior\"] = 0x02e0;\n  t[\"gangiacoptic\"] = 0x03eb;\n  t[\"gbopomofo\"] = 0x310d;\n  t[\"gbreve\"] = 0x011f;\n  t[\"gcaron\"] = 0x01e7;\n  t[\"gcedilla\"] = 0x0123;\n  t[\"gcircle\"] = 0x24d6;\n  t[\"gcircumflex\"] = 0x011d;\n  t[\"gcommaaccent\"] = 0x0123;\n  t[\"gdot\"] = 0x0121;\n  t[\"gdotaccent\"] = 0x0121;\n  t[\"gecyrillic\"] = 0x0433;\n  t[\"gehiragana\"] = 0x3052;\n  t[\"gekatakana\"] = 0x30b2;\n  t[\"geometricallyequal\"] = 0x2251;\n  t[\"gereshaccenthebrew\"] = 0x059c;\n  t[\"gereshhebrew\"] = 0x05f3;\n  t[\"gereshmuqdamhebrew\"] = 0x059d;\n  t[\"germandbls\"] = 0x00df;\n  t[\"gershayimaccenthebrew\"] = 0x059e;\n  t[\"gershayimhebrew\"] = 0x05f4;\n  t[\"getamark\"] = 0x3013;\n  t[\"ghabengali\"] = 0x0998;\n  t[\"ghadarmenian\"] = 0x0572;\n  t[\"ghadeva\"] = 0x0918;\n  t[\"ghagujarati\"] = 0x0a98;\n  t[\"ghagurmukhi\"] = 0x0a18;\n  t[\"ghainarabic\"] = 0x063a;\n  t[\"ghainfinalarabic\"] = 0xfece;\n  t[\"ghaininitialarabic\"] = 0xfecf;\n  t[\"ghainmedialarabic\"] = 0xfed0;\n  t[\"ghemiddlehookcyrillic\"] = 0x0495;\n  t[\"ghestrokecyrillic\"] = 0x0493;\n  t[\"gheupturncyrillic\"] = 0x0491;\n  t[\"ghhadeva\"] = 0x095a;\n  t[\"ghhagurmukhi\"] = 0x0a5a;\n  t[\"ghook\"] = 0x0260;\n  t[\"ghzsquare\"] = 0x3393;\n  t[\"gihiragana\"] = 0x304e;\n  t[\"gikatakana\"] = 0x30ae;\n  t[\"gimarmenian\"] = 0x0563;\n  t[\"gimel\"] = 0x05d2;\n  t[\"gimeldagesh\"] = 0xfb32;\n  t[\"gimeldageshhebrew\"] = 0xfb32;\n  t[\"gimelhebrew\"] = 0x05d2;\n  t[\"gjecyrillic\"] = 0x0453;\n  t[\"glottalinvertedstroke\"] = 0x01be;\n  t[\"glottalstop\"] = 0x0294;\n  t[\"glottalstopinverted\"] = 0x0296;\n  t[\"glottalstopmod\"] = 0x02c0;\n  t[\"glottalstopreversed\"] = 0x0295;\n  t[\"glottalstopreversedmod\"] = 0x02c1;\n  t[\"glottalstopreversedsuperior\"] = 0x02e4;\n  t[\"glottalstopstroke\"] = 0x02a1;\n  t[\"glottalstopstrokereversed\"] = 0x02a2;\n  t[\"gmacron\"] = 0x1e21;\n  t[\"gmonospace\"] = 0xff47;\n  t[\"gohiragana\"] = 0x3054;\n  t[\"gokatakana\"] = 0x30b4;\n  t[\"gparen\"] = 0x24a2;\n  t[\"gpasquare\"] = 0x33ac;\n  t[\"gradient\"] = 0x2207;\n  t[\"grave\"] = 0x0060;\n  t[\"gravebelowcmb\"] = 0x0316;\n  t[\"gravecmb\"] = 0x0300;\n  t[\"gravecomb\"] = 0x0300;\n  t[\"gravedeva\"] = 0x0953;\n  t[\"gravelowmod\"] = 0x02ce;\n  t[\"gravemonospace\"] = 0xff40;\n  t[\"gravetonecmb\"] = 0x0340;\n  t[\"greater\"] = 0x003e;\n  t[\"greaterequal\"] = 0x2265;\n  t[\"greaterequalorless\"] = 0x22db;\n  t[\"greatermonospace\"] = 0xff1e;\n  t[\"greaterorequivalent\"] = 0x2273;\n  t[\"greaterorless\"] = 0x2277;\n  t[\"greateroverequal\"] = 0x2267;\n  t[\"greatersmall\"] = 0xfe65;\n  t[\"gscript\"] = 0x0261;\n  t[\"gstroke\"] = 0x01e5;\n  t[\"guhiragana\"] = 0x3050;\n  t[\"guillemotleft\"] = 0x00ab;\n  t[\"guillemotright\"] = 0x00bb;\n  t[\"guilsinglleft\"] = 0x2039;\n  t[\"guilsinglright\"] = 0x203a;\n  t[\"gukatakana\"] = 0x30b0;\n  t[\"guramusquare\"] = 0x3318;\n  t[\"gysquare\"] = 0x33c9;\n  t[\"h\"] = 0x0068;\n  t[\"haabkhasiancyrillic\"] = 0x04a9;\n  t[\"haaltonearabic\"] = 0x06c1;\n  t[\"habengali\"] = 0x09b9;\n  t[\"hadescendercyrillic\"] = 0x04b3;\n  t[\"hadeva\"] = 0x0939;\n  t[\"hagujarati\"] = 0x0ab9;\n  t[\"hagurmukhi\"] = 0x0a39;\n  t[\"haharabic\"] = 0x062d;\n  t[\"hahfinalarabic\"] = 0xfea2;\n  t[\"hahinitialarabic\"] = 0xfea3;\n  t[\"hahiragana\"] = 0x306f;\n  t[\"hahmedialarabic\"] = 0xfea4;\n  t[\"haitusquare\"] = 0x332a;\n  t[\"hakatakana\"] = 0x30cf;\n  t[\"hakatakanahalfwidth\"] = 0xff8a;\n  t[\"halantgurmukhi\"] = 0x0a4d;\n  t[\"hamzaarabic\"] = 0x0621;\n  t[\"hamzalowarabic\"] = 0x0621;\n  t[\"hangulfiller\"] = 0x3164;\n  t[\"hardsigncyrillic\"] = 0x044a;\n  t[\"harpoonleftbarbup\"] = 0x21bc;\n  t[\"harpoonrightbarbup\"] = 0x21c0;\n  t[\"hasquare\"] = 0x33ca;\n  t[\"hatafpatah\"] = 0x05b2;\n  t[\"hatafpatah16\"] = 0x05b2;\n  t[\"hatafpatah23\"] = 0x05b2;\n  t[\"hatafpatah2f\"] = 0x05b2;\n  t[\"hatafpatahhebrew\"] = 0x05b2;\n  t[\"hatafpatahnarrowhebrew\"] = 0x05b2;\n  t[\"hatafpatahquarterhebrew\"] = 0x05b2;\n  t[\"hatafpatahwidehebrew\"] = 0x05b2;\n  t[\"hatafqamats\"] = 0x05b3;\n  t[\"hatafqamats1b\"] = 0x05b3;\n  t[\"hatafqamats28\"] = 0x05b3;\n  t[\"hatafqamats34\"] = 0x05b3;\n  t[\"hatafqamatshebrew\"] = 0x05b3;\n  t[\"hatafqamatsnarrowhebrew\"] = 0x05b3;\n  t[\"hatafqamatsquarterhebrew\"] = 0x05b3;\n  t[\"hatafqamatswidehebrew\"] = 0x05b3;\n  t[\"hatafsegol\"] = 0x05b1;\n  t[\"hatafsegol17\"] = 0x05b1;\n  t[\"hatafsegol24\"] = 0x05b1;\n  t[\"hatafsegol30\"] = 0x05b1;\n  t[\"hatafsegolhebrew\"] = 0x05b1;\n  t[\"hatafsegolnarrowhebrew\"] = 0x05b1;\n  t[\"hatafsegolquarterhebrew\"] = 0x05b1;\n  t[\"hatafsegolwidehebrew\"] = 0x05b1;\n  t[\"hbar\"] = 0x0127;\n  t[\"hbopomofo\"] = 0x310f;\n  t[\"hbrevebelow\"] = 0x1e2b;\n  t[\"hcedilla\"] = 0x1e29;\n  t[\"hcircle\"] = 0x24d7;\n  t[\"hcircumflex\"] = 0x0125;\n  t[\"hdieresis\"] = 0x1e27;\n  t[\"hdotaccent\"] = 0x1e23;\n  t[\"hdotbelow\"] = 0x1e25;\n  t[\"he\"] = 0x05d4;\n  t[\"heart\"] = 0x2665;\n  t[\"heartsuitblack\"] = 0x2665;\n  t[\"heartsuitwhite\"] = 0x2661;\n  t[\"hedagesh\"] = 0xfb34;\n  t[\"hedageshhebrew\"] = 0xfb34;\n  t[\"hehaltonearabic\"] = 0x06c1;\n  t[\"heharabic\"] = 0x0647;\n  t[\"hehebrew\"] = 0x05d4;\n  t[\"hehfinalaltonearabic\"] = 0xfba7;\n  t[\"hehfinalalttwoarabic\"] = 0xfeea;\n  t[\"hehfinalarabic\"] = 0xfeea;\n  t[\"hehhamzaabovefinalarabic\"] = 0xfba5;\n  t[\"hehhamzaaboveisolatedarabic\"] = 0xfba4;\n  t[\"hehinitialaltonearabic\"] = 0xfba8;\n  t[\"hehinitialarabic\"] = 0xfeeb;\n  t[\"hehiragana\"] = 0x3078;\n  t[\"hehmedialaltonearabic\"] = 0xfba9;\n  t[\"hehmedialarabic\"] = 0xfeec;\n  t[\"heiseierasquare\"] = 0x337b;\n  t[\"hekatakana\"] = 0x30d8;\n  t[\"hekatakanahalfwidth\"] = 0xff8d;\n  t[\"hekutaarusquare\"] = 0x3336;\n  t[\"henghook\"] = 0x0267;\n  t[\"herutusquare\"] = 0x3339;\n  t[\"het\"] = 0x05d7;\n  t[\"hethebrew\"] = 0x05d7;\n  t[\"hhook\"] = 0x0266;\n  t[\"hhooksuperior\"] = 0x02b1;\n  t[\"hieuhacirclekorean\"] = 0x327b;\n  t[\"hieuhaparenkorean\"] = 0x321b;\n  t[\"hieuhcirclekorean\"] = 0x326d;\n  t[\"hieuhkorean\"] = 0x314e;\n  t[\"hieuhparenkorean\"] = 0x320d;\n  t[\"hihiragana\"] = 0x3072;\n  t[\"hikatakana\"] = 0x30d2;\n  t[\"hikatakanahalfwidth\"] = 0xff8b;\n  t[\"hiriq\"] = 0x05b4;\n  t[\"hiriq14\"] = 0x05b4;\n  t[\"hiriq21\"] = 0x05b4;\n  t[\"hiriq2d\"] = 0x05b4;\n  t[\"hiriqhebrew\"] = 0x05b4;\n  t[\"hiriqnarrowhebrew\"] = 0x05b4;\n  t[\"hiriqquarterhebrew\"] = 0x05b4;\n  t[\"hiriqwidehebrew\"] = 0x05b4;\n  t[\"hlinebelow\"] = 0x1e96;\n  t[\"hmonospace\"] = 0xff48;\n  t[\"hoarmenian\"] = 0x0570;\n  t[\"hohipthai\"] = 0x0e2b;\n  t[\"hohiragana\"] = 0x307b;\n  t[\"hokatakana\"] = 0x30db;\n  t[\"hokatakanahalfwidth\"] = 0xff8e;\n  t[\"holam\"] = 0x05b9;\n  t[\"holam19\"] = 0x05b9;\n  t[\"holam26\"] = 0x05b9;\n  t[\"holam32\"] = 0x05b9;\n  t[\"holamhebrew\"] = 0x05b9;\n  t[\"holamnarrowhebrew\"] = 0x05b9;\n  t[\"holamquarterhebrew\"] = 0x05b9;\n  t[\"holamwidehebrew\"] = 0x05b9;\n  t[\"honokhukthai\"] = 0x0e2e;\n  t[\"hookabovecomb\"] = 0x0309;\n  t[\"hookcmb\"] = 0x0309;\n  t[\"hookpalatalizedbelowcmb\"] = 0x0321;\n  t[\"hookretroflexbelowcmb\"] = 0x0322;\n  t[\"hoonsquare\"] = 0x3342;\n  t[\"horicoptic\"] = 0x03e9;\n  t[\"horizontalbar\"] = 0x2015;\n  t[\"horncmb\"] = 0x031b;\n  t[\"hotsprings\"] = 0x2668;\n  t[\"house\"] = 0x2302;\n  t[\"hparen\"] = 0x24a3;\n  t[\"hsuperior\"] = 0x02b0;\n  t[\"hturned\"] = 0x0265;\n  t[\"huhiragana\"] = 0x3075;\n  t[\"huiitosquare\"] = 0x3333;\n  t[\"hukatakana\"] = 0x30d5;\n  t[\"hukatakanahalfwidth\"] = 0xff8c;\n  t[\"hungarumlaut\"] = 0x02dd;\n  t[\"hungarumlautcmb\"] = 0x030b;\n  t[\"hv\"] = 0x0195;\n  t[\"hyphen\"] = 0x002d;\n  t[\"hypheninferior\"] = 0xf6e5;\n  t[\"hyphenmonospace\"] = 0xff0d;\n  t[\"hyphensmall\"] = 0xfe63;\n  t[\"hyphensuperior\"] = 0xf6e6;\n  t[\"hyphentwo\"] = 0x2010;\n  t[\"i\"] = 0x0069;\n  t[\"iacute\"] = 0x00ed;\n  t[\"iacyrillic\"] = 0x044f;\n  t[\"ibengali\"] = 0x0987;\n  t[\"ibopomofo\"] = 0x3127;\n  t[\"ibreve\"] = 0x012d;\n  t[\"icaron\"] = 0x01d0;\n  t[\"icircle\"] = 0x24d8;\n  t[\"icircumflex\"] = 0x00ee;\n  t[\"icyrillic\"] = 0x0456;\n  t[\"idblgrave\"] = 0x0209;\n  t[\"ideographearthcircle\"] = 0x328f;\n  t[\"ideographfirecircle\"] = 0x328b;\n  t[\"ideographicallianceparen\"] = 0x323f;\n  t[\"ideographiccallparen\"] = 0x323a;\n  t[\"ideographiccentrecircle\"] = 0x32a5;\n  t[\"ideographicclose\"] = 0x3006;\n  t[\"ideographiccomma\"] = 0x3001;\n  t[\"ideographiccommaleft\"] = 0xff64;\n  t[\"ideographiccongratulationparen\"] = 0x3237;\n  t[\"ideographiccorrectcircle\"] = 0x32a3;\n  t[\"ideographicearthparen\"] = 0x322f;\n  t[\"ideographicenterpriseparen\"] = 0x323d;\n  t[\"ideographicexcellentcircle\"] = 0x329d;\n  t[\"ideographicfestivalparen\"] = 0x3240;\n  t[\"ideographicfinancialcircle\"] = 0x3296;\n  t[\"ideographicfinancialparen\"] = 0x3236;\n  t[\"ideographicfireparen\"] = 0x322b;\n  t[\"ideographichaveparen\"] = 0x3232;\n  t[\"ideographichighcircle\"] = 0x32a4;\n  t[\"ideographiciterationmark\"] = 0x3005;\n  t[\"ideographiclaborcircle\"] = 0x3298;\n  t[\"ideographiclaborparen\"] = 0x3238;\n  t[\"ideographicleftcircle\"] = 0x32a7;\n  t[\"ideographiclowcircle\"] = 0x32a6;\n  t[\"ideographicmedicinecircle\"] = 0x32a9;\n  t[\"ideographicmetalparen\"] = 0x322e;\n  t[\"ideographicmoonparen\"] = 0x322a;\n  t[\"ideographicnameparen\"] = 0x3234;\n  t[\"ideographicperiod\"] = 0x3002;\n  t[\"ideographicprintcircle\"] = 0x329e;\n  t[\"ideographicreachparen\"] = 0x3243;\n  t[\"ideographicrepresentparen\"] = 0x3239;\n  t[\"ideographicresourceparen\"] = 0x323e;\n  t[\"ideographicrightcircle\"] = 0x32a8;\n  t[\"ideographicsecretcircle\"] = 0x3299;\n  t[\"ideographicselfparen\"] = 0x3242;\n  t[\"ideographicsocietyparen\"] = 0x3233;\n  t[\"ideographicspace\"] = 0x3000;\n  t[\"ideographicspecialparen\"] = 0x3235;\n  t[\"ideographicstockparen\"] = 0x3231;\n  t[\"ideographicstudyparen\"] = 0x323b;\n  t[\"ideographicsunparen\"] = 0x3230;\n  t[\"ideographicsuperviseparen\"] = 0x323c;\n  t[\"ideographicwaterparen\"] = 0x322c;\n  t[\"ideographicwoodparen\"] = 0x322d;\n  t[\"ideographiczero\"] = 0x3007;\n  t[\"ideographmetalcircle\"] = 0x328e;\n  t[\"ideographmooncircle\"] = 0x328a;\n  t[\"ideographnamecircle\"] = 0x3294;\n  t[\"ideographsuncircle\"] = 0x3290;\n  t[\"ideographwatercircle\"] = 0x328c;\n  t[\"ideographwoodcircle\"] = 0x328d;\n  t[\"ideva\"] = 0x0907;\n  t[\"idieresis\"] = 0x00ef;\n  t[\"idieresisacute\"] = 0x1e2f;\n  t[\"idieresiscyrillic\"] = 0x04e5;\n  t[\"idotbelow\"] = 0x1ecb;\n  t[\"iebrevecyrillic\"] = 0x04d7;\n  t[\"iecyrillic\"] = 0x0435;\n  t[\"ieungacirclekorean\"] = 0x3275;\n  t[\"ieungaparenkorean\"] = 0x3215;\n  t[\"ieungcirclekorean\"] = 0x3267;\n  t[\"ieungkorean\"] = 0x3147;\n  t[\"ieungparenkorean\"] = 0x3207;\n  t[\"igrave\"] = 0x00ec;\n  t[\"igujarati\"] = 0x0a87;\n  t[\"igurmukhi\"] = 0x0a07;\n  t[\"ihiragana\"] = 0x3044;\n  t[\"ihookabove\"] = 0x1ec9;\n  t[\"iibengali\"] = 0x0988;\n  t[\"iicyrillic\"] = 0x0438;\n  t[\"iideva\"] = 0x0908;\n  t[\"iigujarati\"] = 0x0a88;\n  t[\"iigurmukhi\"] = 0x0a08;\n  t[\"iimatragurmukhi\"] = 0x0a40;\n  t[\"iinvertedbreve\"] = 0x020b;\n  t[\"iishortcyrillic\"] = 0x0439;\n  t[\"iivowelsignbengali\"] = 0x09c0;\n  t[\"iivowelsigndeva\"] = 0x0940;\n  t[\"iivowelsigngujarati\"] = 0x0ac0;\n  t[\"ij\"] = 0x0133;\n  t[\"ikatakana\"] = 0x30a4;\n  t[\"ikatakanahalfwidth\"] = 0xff72;\n  t[\"ikorean\"] = 0x3163;\n  t[\"ilde\"] = 0x02dc;\n  t[\"iluyhebrew\"] = 0x05ac;\n  t[\"imacron\"] = 0x012b;\n  t[\"imacroncyrillic\"] = 0x04e3;\n  t[\"imageorapproximatelyequal\"] = 0x2253;\n  t[\"imatragurmukhi\"] = 0x0a3f;\n  t[\"imonospace\"] = 0xff49;\n  t[\"increment\"] = 0x2206;\n  t[\"infinity\"] = 0x221e;\n  t[\"iniarmenian\"] = 0x056b;\n  t[\"integral\"] = 0x222b;\n  t[\"integralbottom\"] = 0x2321;\n  t[\"integralbt\"] = 0x2321;\n  t[\"integralex\"] = 0xf8f5;\n  t[\"integraltop\"] = 0x2320;\n  t[\"integraltp\"] = 0x2320;\n  t[\"intersection\"] = 0x2229;\n  t[\"intisquare\"] = 0x3305;\n  t[\"invbullet\"] = 0x25d8;\n  t[\"invcircle\"] = 0x25d9;\n  t[\"invsmileface\"] = 0x263b;\n  t[\"iocyrillic\"] = 0x0451;\n  t[\"iogonek\"] = 0x012f;\n  t[\"iota\"] = 0x03b9;\n  t[\"iotadieresis\"] = 0x03ca;\n  t[\"iotadieresistonos\"] = 0x0390;\n  t[\"iotalatin\"] = 0x0269;\n  t[\"iotatonos\"] = 0x03af;\n  t[\"iparen\"] = 0x24a4;\n  t[\"irigurmukhi\"] = 0x0a72;\n  t[\"ismallhiragana\"] = 0x3043;\n  t[\"ismallkatakana\"] = 0x30a3;\n  t[\"ismallkatakanahalfwidth\"] = 0xff68;\n  t[\"issharbengali\"] = 0x09fa;\n  t[\"istroke\"] = 0x0268;\n  t[\"isuperior\"] = 0xf6ed;\n  t[\"iterationhiragana\"] = 0x309d;\n  t[\"iterationkatakana\"] = 0x30fd;\n  t[\"itilde\"] = 0x0129;\n  t[\"itildebelow\"] = 0x1e2d;\n  t[\"iubopomofo\"] = 0x3129;\n  t[\"iucyrillic\"] = 0x044e;\n  t[\"ivowelsignbengali\"] = 0x09bf;\n  t[\"ivowelsigndeva\"] = 0x093f;\n  t[\"ivowelsigngujarati\"] = 0x0abf;\n  t[\"izhitsacyrillic\"] = 0x0475;\n  t[\"izhitsadblgravecyrillic\"] = 0x0477;\n  t[\"j\"] = 0x006a;\n  t[\"jaarmenian\"] = 0x0571;\n  t[\"jabengali\"] = 0x099c;\n  t[\"jadeva\"] = 0x091c;\n  t[\"jagujarati\"] = 0x0a9c;\n  t[\"jagurmukhi\"] = 0x0a1c;\n  t[\"jbopomofo\"] = 0x3110;\n  t[\"jcaron\"] = 0x01f0;\n  t[\"jcircle\"] = 0x24d9;\n  t[\"jcircumflex\"] = 0x0135;\n  t[\"jcrossedtail\"] = 0x029d;\n  t[\"jdotlessstroke\"] = 0x025f;\n  t[\"jecyrillic\"] = 0x0458;\n  t[\"jeemarabic\"] = 0x062c;\n  t[\"jeemfinalarabic\"] = 0xfe9e;\n  t[\"jeeminitialarabic\"] = 0xfe9f;\n  t[\"jeemmedialarabic\"] = 0xfea0;\n  t[\"jeharabic\"] = 0x0698;\n  t[\"jehfinalarabic\"] = 0xfb8b;\n  t[\"jhabengali\"] = 0x099d;\n  t[\"jhadeva\"] = 0x091d;\n  t[\"jhagujarati\"] = 0x0a9d;\n  t[\"jhagurmukhi\"] = 0x0a1d;\n  t[\"jheharmenian\"] = 0x057b;\n  t[\"jis\"] = 0x3004;\n  t[\"jmonospace\"] = 0xff4a;\n  t[\"jparen\"] = 0x24a5;\n  t[\"jsuperior\"] = 0x02b2;\n  t[\"k\"] = 0x006b;\n  t[\"kabashkircyrillic\"] = 0x04a1;\n  t[\"kabengali\"] = 0x0995;\n  t[\"kacute\"] = 0x1e31;\n  t[\"kacyrillic\"] = 0x043a;\n  t[\"kadescendercyrillic\"] = 0x049b;\n  t[\"kadeva\"] = 0x0915;\n  t[\"kaf\"] = 0x05db;\n  t[\"kafarabic\"] = 0x0643;\n  t[\"kafdagesh\"] = 0xfb3b;\n  t[\"kafdageshhebrew\"] = 0xfb3b;\n  t[\"kaffinalarabic\"] = 0xfeda;\n  t[\"kafhebrew\"] = 0x05db;\n  t[\"kafinitialarabic\"] = 0xfedb;\n  t[\"kafmedialarabic\"] = 0xfedc;\n  t[\"kafrafehebrew\"] = 0xfb4d;\n  t[\"kagujarati\"] = 0x0a95;\n  t[\"kagurmukhi\"] = 0x0a15;\n  t[\"kahiragana\"] = 0x304b;\n  t[\"kahookcyrillic\"] = 0x04c4;\n  t[\"kakatakana\"] = 0x30ab;\n  t[\"kakatakanahalfwidth\"] = 0xff76;\n  t[\"kappa\"] = 0x03ba;\n  t[\"kappasymbolgreek\"] = 0x03f0;\n  t[\"kapyeounmieumkorean\"] = 0x3171;\n  t[\"kapyeounphieuphkorean\"] = 0x3184;\n  t[\"kapyeounpieupkorean\"] = 0x3178;\n  t[\"kapyeounssangpieupkorean\"] = 0x3179;\n  t[\"karoriisquare\"] = 0x330d;\n  t[\"kashidaautoarabic\"] = 0x0640;\n  t[\"kashidaautonosidebearingarabic\"] = 0x0640;\n  t[\"kasmallkatakana\"] = 0x30f5;\n  t[\"kasquare\"] = 0x3384;\n  t[\"kasraarabic\"] = 0x0650;\n  t[\"kasratanarabic\"] = 0x064d;\n  t[\"kastrokecyrillic\"] = 0x049f;\n  t[\"katahiraprolongmarkhalfwidth\"] = 0xff70;\n  t[\"kaverticalstrokecyrillic\"] = 0x049d;\n  t[\"kbopomofo\"] = 0x310e;\n  t[\"kcalsquare\"] = 0x3389;\n  t[\"kcaron\"] = 0x01e9;\n  t[\"kcedilla\"] = 0x0137;\n  t[\"kcircle\"] = 0x24da;\n  t[\"kcommaaccent\"] = 0x0137;\n  t[\"kdotbelow\"] = 0x1e33;\n  t[\"keharmenian\"] = 0x0584;\n  t[\"kehiragana\"] = 0x3051;\n  t[\"kekatakana\"] = 0x30b1;\n  t[\"kekatakanahalfwidth\"] = 0xff79;\n  t[\"kenarmenian\"] = 0x056f;\n  t[\"kesmallkatakana\"] = 0x30f6;\n  t[\"kgreenlandic\"] = 0x0138;\n  t[\"khabengali\"] = 0x0996;\n  t[\"khacyrillic\"] = 0x0445;\n  t[\"khadeva\"] = 0x0916;\n  t[\"khagujarati\"] = 0x0a96;\n  t[\"khagurmukhi\"] = 0x0a16;\n  t[\"khaharabic\"] = 0x062e;\n  t[\"khahfinalarabic\"] = 0xfea6;\n  t[\"khahinitialarabic\"] = 0xfea7;\n  t[\"khahmedialarabic\"] = 0xfea8;\n  t[\"kheicoptic\"] = 0x03e7;\n  t[\"khhadeva\"] = 0x0959;\n  t[\"khhagurmukhi\"] = 0x0a59;\n  t[\"khieukhacirclekorean\"] = 0x3278;\n  t[\"khieukhaparenkorean\"] = 0x3218;\n  t[\"khieukhcirclekorean\"] = 0x326a;\n  t[\"khieukhkorean\"] = 0x314b;\n  t[\"khieukhparenkorean\"] = 0x320a;\n  t[\"khokhaithai\"] = 0x0e02;\n  t[\"khokhonthai\"] = 0x0e05;\n  t[\"khokhuatthai\"] = 0x0e03;\n  t[\"khokhwaithai\"] = 0x0e04;\n  t[\"khomutthai\"] = 0x0e5b;\n  t[\"khook\"] = 0x0199;\n  t[\"khorakhangthai\"] = 0x0e06;\n  t[\"khzsquare\"] = 0x3391;\n  t[\"kihiragana\"] = 0x304d;\n  t[\"kikatakana\"] = 0x30ad;\n  t[\"kikatakanahalfwidth\"] = 0xff77;\n  t[\"kiroguramusquare\"] = 0x3315;\n  t[\"kiromeetorusquare\"] = 0x3316;\n  t[\"kirosquare\"] = 0x3314;\n  t[\"kiyeokacirclekorean\"] = 0x326e;\n  t[\"kiyeokaparenkorean\"] = 0x320e;\n  t[\"kiyeokcirclekorean\"] = 0x3260;\n  t[\"kiyeokkorean\"] = 0x3131;\n  t[\"kiyeokparenkorean\"] = 0x3200;\n  t[\"kiyeoksioskorean\"] = 0x3133;\n  t[\"kjecyrillic\"] = 0x045c;\n  t[\"klinebelow\"] = 0x1e35;\n  t[\"klsquare\"] = 0x3398;\n  t[\"kmcubedsquare\"] = 0x33a6;\n  t[\"kmonospace\"] = 0xff4b;\n  t[\"kmsquaredsquare\"] = 0x33a2;\n  t[\"kohiragana\"] = 0x3053;\n  t[\"kohmsquare\"] = 0x33c0;\n  t[\"kokaithai\"] = 0x0e01;\n  t[\"kokatakana\"] = 0x30b3;\n  t[\"kokatakanahalfwidth\"] = 0xff7a;\n  t[\"kooposquare\"] = 0x331e;\n  t[\"koppacyrillic\"] = 0x0481;\n  t[\"koreanstandardsymbol\"] = 0x327f;\n  t[\"koroniscmb\"] = 0x0343;\n  t[\"kparen\"] = 0x24a6;\n  t[\"kpasquare\"] = 0x33aa;\n  t[\"ksicyrillic\"] = 0x046f;\n  t[\"ktsquare\"] = 0x33cf;\n  t[\"kturned\"] = 0x029e;\n  t[\"kuhiragana\"] = 0x304f;\n  t[\"kukatakana\"] = 0x30af;\n  t[\"kukatakanahalfwidth\"] = 0xff78;\n  t[\"kvsquare\"] = 0x33b8;\n  t[\"kwsquare\"] = 0x33be;\n  t[\"l\"] = 0x006c;\n  t[\"labengali\"] = 0x09b2;\n  t[\"lacute\"] = 0x013a;\n  t[\"ladeva\"] = 0x0932;\n  t[\"lagujarati\"] = 0x0ab2;\n  t[\"lagurmukhi\"] = 0x0a32;\n  t[\"lakkhangyaothai\"] = 0x0e45;\n  t[\"lamaleffinalarabic\"] = 0xfefc;\n  t[\"lamalefhamzaabovefinalarabic\"] = 0xfef8;\n  t[\"lamalefhamzaaboveisolatedarabic\"] = 0xfef7;\n  t[\"lamalefhamzabelowfinalarabic\"] = 0xfefa;\n  t[\"lamalefhamzabelowisolatedarabic\"] = 0xfef9;\n  t[\"lamalefisolatedarabic\"] = 0xfefb;\n  t[\"lamalefmaddaabovefinalarabic\"] = 0xfef6;\n  t[\"lamalefmaddaaboveisolatedarabic\"] = 0xfef5;\n  t[\"lamarabic\"] = 0x0644;\n  t[\"lambda\"] = 0x03bb;\n  t[\"lambdastroke\"] = 0x019b;\n  t[\"lamed\"] = 0x05dc;\n  t[\"lameddagesh\"] = 0xfb3c;\n  t[\"lameddageshhebrew\"] = 0xfb3c;\n  t[\"lamedhebrew\"] = 0x05dc;\n  t[\"lamfinalarabic\"] = 0xfede;\n  t[\"lamhahinitialarabic\"] = 0xfcca;\n  t[\"laminitialarabic\"] = 0xfedf;\n  t[\"lamjeeminitialarabic\"] = 0xfcc9;\n  t[\"lamkhahinitialarabic\"] = 0xfccb;\n  t[\"lamlamhehisolatedarabic\"] = 0xfdf2;\n  t[\"lammedialarabic\"] = 0xfee0;\n  t[\"lammeemhahinitialarabic\"] = 0xfd88;\n  t[\"lammeeminitialarabic\"] = 0xfccc;\n  t[\"largecircle\"] = 0x25ef;\n  t[\"lbar\"] = 0x019a;\n  t[\"lbelt\"] = 0x026c;\n  t[\"lbopomofo\"] = 0x310c;\n  t[\"lcaron\"] = 0x013e;\n  t[\"lcedilla\"] = 0x013c;\n  t[\"lcircle\"] = 0x24db;\n  t[\"lcircumflexbelow\"] = 0x1e3d;\n  t[\"lcommaaccent\"] = 0x013c;\n  t[\"ldot\"] = 0x0140;\n  t[\"ldotaccent\"] = 0x0140;\n  t[\"ldotbelow\"] = 0x1e37;\n  t[\"ldotbelowmacron\"] = 0x1e39;\n  t[\"leftangleabovecmb\"] = 0x031a;\n  t[\"lefttackbelowcmb\"] = 0x0318;\n  t[\"less\"] = 0x003c;\n  t[\"lessequal\"] = 0x2264;\n  t[\"lessequalorgreater\"] = 0x22da;\n  t[\"lessmonospace\"] = 0xff1c;\n  t[\"lessorequivalent\"] = 0x2272;\n  t[\"lessorgreater\"] = 0x2276;\n  t[\"lessoverequal\"] = 0x2266;\n  t[\"lesssmall\"] = 0xfe64;\n  t[\"lezh\"] = 0x026e;\n  t[\"lfblock\"] = 0x258c;\n  t[\"lhookretroflex\"] = 0x026d;\n  t[\"lira\"] = 0x20a4;\n  t[\"liwnarmenian\"] = 0x056c;\n  t[\"lj\"] = 0x01c9;\n  t[\"ljecyrillic\"] = 0x0459;\n  t[\"ll\"] = 0xf6c0;\n  t[\"lladeva\"] = 0x0933;\n  t[\"llagujarati\"] = 0x0ab3;\n  t[\"llinebelow\"] = 0x1e3b;\n  t[\"llladeva\"] = 0x0934;\n  t[\"llvocalicbengali\"] = 0x09e1;\n  t[\"llvocalicdeva\"] = 0x0961;\n  t[\"llvocalicvowelsignbengali\"] = 0x09e3;\n  t[\"llvocalicvowelsigndeva\"] = 0x0963;\n  t[\"lmiddletilde\"] = 0x026b;\n  t[\"lmonospace\"] = 0xff4c;\n  t[\"lmsquare\"] = 0x33d0;\n  t[\"lochulathai\"] = 0x0e2c;\n  t[\"logicaland\"] = 0x2227;\n  t[\"logicalnot\"] = 0x00ac;\n  t[\"logicalnotreversed\"] = 0x2310;\n  t[\"logicalor\"] = 0x2228;\n  t[\"lolingthai\"] = 0x0e25;\n  t[\"longs\"] = 0x017f;\n  t[\"lowlinecenterline\"] = 0xfe4e;\n  t[\"lowlinecmb\"] = 0x0332;\n  t[\"lowlinedashed\"] = 0xfe4d;\n  t[\"lozenge\"] = 0x25ca;\n  t[\"lparen\"] = 0x24a7;\n  t[\"lslash\"] = 0x0142;\n  t[\"lsquare\"] = 0x2113;\n  t[\"lsuperior\"] = 0xf6ee;\n  t[\"ltshade\"] = 0x2591;\n  t[\"luthai\"] = 0x0e26;\n  t[\"lvocalicbengali\"] = 0x098c;\n  t[\"lvocalicdeva\"] = 0x090c;\n  t[\"lvocalicvowelsignbengali\"] = 0x09e2;\n  t[\"lvocalicvowelsigndeva\"] = 0x0962;\n  t[\"lxsquare\"] = 0x33d3;\n  t[\"m\"] = 0x006d;\n  t[\"mabengali\"] = 0x09ae;\n  t[\"macron\"] = 0x00af;\n  t[\"macronbelowcmb\"] = 0x0331;\n  t[\"macroncmb\"] = 0x0304;\n  t[\"macronlowmod\"] = 0x02cd;\n  t[\"macronmonospace\"] = 0xffe3;\n  t[\"macute\"] = 0x1e3f;\n  t[\"madeva\"] = 0x092e;\n  t[\"magujarati\"] = 0x0aae;\n  t[\"magurmukhi\"] = 0x0a2e;\n  t[\"mahapakhhebrew\"] = 0x05a4;\n  t[\"mahapakhlefthebrew\"] = 0x05a4;\n  t[\"mahiragana\"] = 0x307e;\n  t[\"maichattawalowleftthai\"] = 0xf895;\n  t[\"maichattawalowrightthai\"] = 0xf894;\n  t[\"maichattawathai\"] = 0x0e4b;\n  t[\"maichattawaupperleftthai\"] = 0xf893;\n  t[\"maieklowleftthai\"] = 0xf88c;\n  t[\"maieklowrightthai\"] = 0xf88b;\n  t[\"maiekthai\"] = 0x0e48;\n  t[\"maiekupperleftthai\"] = 0xf88a;\n  t[\"maihanakatleftthai\"] = 0xf884;\n  t[\"maihanakatthai\"] = 0x0e31;\n  t[\"maitaikhuleftthai\"] = 0xf889;\n  t[\"maitaikhuthai\"] = 0x0e47;\n  t[\"maitholowleftthai\"] = 0xf88f;\n  t[\"maitholowrightthai\"] = 0xf88e;\n  t[\"maithothai\"] = 0x0e49;\n  t[\"maithoupperleftthai\"] = 0xf88d;\n  t[\"maitrilowleftthai\"] = 0xf892;\n  t[\"maitrilowrightthai\"] = 0xf891;\n  t[\"maitrithai\"] = 0x0e4a;\n  t[\"maitriupperleftthai\"] = 0xf890;\n  t[\"maiyamokthai\"] = 0x0e46;\n  t[\"makatakana\"] = 0x30de;\n  t[\"makatakanahalfwidth\"] = 0xff8f;\n  t[\"male\"] = 0x2642;\n  t[\"mansyonsquare\"] = 0x3347;\n  t[\"maqafhebrew\"] = 0x05be;\n  t[\"mars\"] = 0x2642;\n  t[\"masoracirclehebrew\"] = 0x05af;\n  t[\"masquare\"] = 0x3383;\n  t[\"mbopomofo\"] = 0x3107;\n  t[\"mbsquare\"] = 0x33d4;\n  t[\"mcircle\"] = 0x24dc;\n  t[\"mcubedsquare\"] = 0x33a5;\n  t[\"mdotaccent\"] = 0x1e41;\n  t[\"mdotbelow\"] = 0x1e43;\n  t[\"meemarabic\"] = 0x0645;\n  t[\"meemfinalarabic\"] = 0xfee2;\n  t[\"meeminitialarabic\"] = 0xfee3;\n  t[\"meemmedialarabic\"] = 0xfee4;\n  t[\"meemmeeminitialarabic\"] = 0xfcd1;\n  t[\"meemmeemisolatedarabic\"] = 0xfc48;\n  t[\"meetorusquare\"] = 0x334d;\n  t[\"mehiragana\"] = 0x3081;\n  t[\"meizierasquare\"] = 0x337e;\n  t[\"mekatakana\"] = 0x30e1;\n  t[\"mekatakanahalfwidth\"] = 0xff92;\n  t[\"mem\"] = 0x05de;\n  t[\"memdagesh\"] = 0xfb3e;\n  t[\"memdageshhebrew\"] = 0xfb3e;\n  t[\"memhebrew\"] = 0x05de;\n  t[\"menarmenian\"] = 0x0574;\n  t[\"merkhahebrew\"] = 0x05a5;\n  t[\"merkhakefulahebrew\"] = 0x05a6;\n  t[\"merkhakefulalefthebrew\"] = 0x05a6;\n  t[\"merkhalefthebrew\"] = 0x05a5;\n  t[\"mhook\"] = 0x0271;\n  t[\"mhzsquare\"] = 0x3392;\n  t[\"middledotkatakanahalfwidth\"] = 0xff65;\n  t[\"middot\"] = 0x00b7;\n  t[\"mieumacirclekorean\"] = 0x3272;\n  t[\"mieumaparenkorean\"] = 0x3212;\n  t[\"mieumcirclekorean\"] = 0x3264;\n  t[\"mieumkorean\"] = 0x3141;\n  t[\"mieumpansioskorean\"] = 0x3170;\n  t[\"mieumparenkorean\"] = 0x3204;\n  t[\"mieumpieupkorean\"] = 0x316e;\n  t[\"mieumsioskorean\"] = 0x316f;\n  t[\"mihiragana\"] = 0x307f;\n  t[\"mikatakana\"] = 0x30df;\n  t[\"mikatakanahalfwidth\"] = 0xff90;\n  t[\"minus\"] = 0x2212;\n  t[\"minusbelowcmb\"] = 0x0320;\n  t[\"minuscircle\"] = 0x2296;\n  t[\"minusmod\"] = 0x02d7;\n  t[\"minusplus\"] = 0x2213;\n  t[\"minute\"] = 0x2032;\n  t[\"miribaarusquare\"] = 0x334a;\n  t[\"mirisquare\"] = 0x3349;\n  t[\"mlonglegturned\"] = 0x0270;\n  t[\"mlsquare\"] = 0x3396;\n  t[\"mmcubedsquare\"] = 0x33a3;\n  t[\"mmonospace\"] = 0xff4d;\n  t[\"mmsquaredsquare\"] = 0x339f;\n  t[\"mohiragana\"] = 0x3082;\n  t[\"mohmsquare\"] = 0x33c1;\n  t[\"mokatakana\"] = 0x30e2;\n  t[\"mokatakanahalfwidth\"] = 0xff93;\n  t[\"molsquare\"] = 0x33d6;\n  t[\"momathai\"] = 0x0e21;\n  t[\"moverssquare\"] = 0x33a7;\n  t[\"moverssquaredsquare\"] = 0x33a8;\n  t[\"mparen\"] = 0x24a8;\n  t[\"mpasquare\"] = 0x33ab;\n  t[\"mssquare\"] = 0x33b3;\n  t[\"msuperior\"] = 0xf6ef;\n  t[\"mturned\"] = 0x026f;\n  t[\"mu\"] = 0x00b5;\n  t[\"mu1\"] = 0x00b5;\n  t[\"muasquare\"] = 0x3382;\n  t[\"muchgreater\"] = 0x226b;\n  t[\"muchless\"] = 0x226a;\n  t[\"mufsquare\"] = 0x338c;\n  t[\"mugreek\"] = 0x03bc;\n  t[\"mugsquare\"] = 0x338d;\n  t[\"muhiragana\"] = 0x3080;\n  t[\"mukatakana\"] = 0x30e0;\n  t[\"mukatakanahalfwidth\"] = 0xff91;\n  t[\"mulsquare\"] = 0x3395;\n  t[\"multiply\"] = 0x00d7;\n  t[\"mumsquare\"] = 0x339b;\n  t[\"munahhebrew\"] = 0x05a3;\n  t[\"munahlefthebrew\"] = 0x05a3;\n  t[\"musicalnote\"] = 0x266a;\n  t[\"musicalnotedbl\"] = 0x266b;\n  t[\"musicflatsign\"] = 0x266d;\n  t[\"musicsharpsign\"] = 0x266f;\n  t[\"mussquare\"] = 0x33b2;\n  t[\"muvsquare\"] = 0x33b6;\n  t[\"muwsquare\"] = 0x33bc;\n  t[\"mvmegasquare\"] = 0x33b9;\n  t[\"mvsquare\"] = 0x33b7;\n  t[\"mwmegasquare\"] = 0x33bf;\n  t[\"mwsquare\"] = 0x33bd;\n  t[\"n\"] = 0x006e;\n  t[\"nabengali\"] = 0x09a8;\n  t[\"nabla\"] = 0x2207;\n  t[\"nacute\"] = 0x0144;\n  t[\"nadeva\"] = 0x0928;\n  t[\"nagujarati\"] = 0x0aa8;\n  t[\"nagurmukhi\"] = 0x0a28;\n  t[\"nahiragana\"] = 0x306a;\n  t[\"nakatakana\"] = 0x30ca;\n  t[\"nakatakanahalfwidth\"] = 0xff85;\n  t[\"napostrophe\"] = 0x0149;\n  t[\"nasquare\"] = 0x3381;\n  t[\"nbopomofo\"] = 0x310b;\n  t[\"nbspace\"] = 0x00a0;\n  t[\"ncaron\"] = 0x0148;\n  t[\"ncedilla\"] = 0x0146;\n  t[\"ncircle\"] = 0x24dd;\n  t[\"ncircumflexbelow\"] = 0x1e4b;\n  t[\"ncommaaccent\"] = 0x0146;\n  t[\"ndotaccent\"] = 0x1e45;\n  t[\"ndotbelow\"] = 0x1e47;\n  t[\"nehiragana\"] = 0x306d;\n  t[\"nekatakana\"] = 0x30cd;\n  t[\"nekatakanahalfwidth\"] = 0xff88;\n  t[\"newsheqelsign\"] = 0x20aa;\n  t[\"nfsquare\"] = 0x338b;\n  t[\"ngabengali\"] = 0x0999;\n  t[\"ngadeva\"] = 0x0919;\n  t[\"ngagujarati\"] = 0x0a99;\n  t[\"ngagurmukhi\"] = 0x0a19;\n  t[\"ngonguthai\"] = 0x0e07;\n  t[\"nhiragana\"] = 0x3093;\n  t[\"nhookleft\"] = 0x0272;\n  t[\"nhookretroflex\"] = 0x0273;\n  t[\"nieunacirclekorean\"] = 0x326f;\n  t[\"nieunaparenkorean\"] = 0x320f;\n  t[\"nieuncieuckorean\"] = 0x3135;\n  t[\"nieuncirclekorean\"] = 0x3261;\n  t[\"nieunhieuhkorean\"] = 0x3136;\n  t[\"nieunkorean\"] = 0x3134;\n  t[\"nieunpansioskorean\"] = 0x3168;\n  t[\"nieunparenkorean\"] = 0x3201;\n  t[\"nieunsioskorean\"] = 0x3167;\n  t[\"nieuntikeutkorean\"] = 0x3166;\n  t[\"nihiragana\"] = 0x306b;\n  t[\"nikatakana\"] = 0x30cb;\n  t[\"nikatakanahalfwidth\"] = 0xff86;\n  t[\"nikhahitleftthai\"] = 0xf899;\n  t[\"nikhahitthai\"] = 0x0e4d;\n  t[\"nine\"] = 0x0039;\n  t[\"ninearabic\"] = 0x0669;\n  t[\"ninebengali\"] = 0x09ef;\n  t[\"ninecircle\"] = 0x2468;\n  t[\"ninecircleinversesansserif\"] = 0x2792;\n  t[\"ninedeva\"] = 0x096f;\n  t[\"ninegujarati\"] = 0x0aef;\n  t[\"ninegurmukhi\"] = 0x0a6f;\n  t[\"ninehackarabic\"] = 0x0669;\n  t[\"ninehangzhou\"] = 0x3029;\n  t[\"nineideographicparen\"] = 0x3228;\n  t[\"nineinferior\"] = 0x2089;\n  t[\"ninemonospace\"] = 0xff19;\n  t[\"nineoldstyle\"] = 0xf739;\n  t[\"nineparen\"] = 0x247c;\n  t[\"nineperiod\"] = 0x2490;\n  t[\"ninepersian\"] = 0x06f9;\n  t[\"nineroman\"] = 0x2178;\n  t[\"ninesuperior\"] = 0x2079;\n  t[\"nineteencircle\"] = 0x2472;\n  t[\"nineteenparen\"] = 0x2486;\n  t[\"nineteenperiod\"] = 0x249a;\n  t[\"ninethai\"] = 0x0e59;\n  t[\"nj\"] = 0x01cc;\n  t[\"njecyrillic\"] = 0x045a;\n  t[\"nkatakana\"] = 0x30f3;\n  t[\"nkatakanahalfwidth\"] = 0xff9d;\n  t[\"nlegrightlong\"] = 0x019e;\n  t[\"nlinebelow\"] = 0x1e49;\n  t[\"nmonospace\"] = 0xff4e;\n  t[\"nmsquare\"] = 0x339a;\n  t[\"nnabengali\"] = 0x09a3;\n  t[\"nnadeva\"] = 0x0923;\n  t[\"nnagujarati\"] = 0x0aa3;\n  t[\"nnagurmukhi\"] = 0x0a23;\n  t[\"nnnadeva\"] = 0x0929;\n  t[\"nohiragana\"] = 0x306e;\n  t[\"nokatakana\"] = 0x30ce;\n  t[\"nokatakanahalfwidth\"] = 0xff89;\n  t[\"nonbreakingspace\"] = 0x00a0;\n  t[\"nonenthai\"] = 0x0e13;\n  t[\"nonuthai\"] = 0x0e19;\n  t[\"noonarabic\"] = 0x0646;\n  t[\"noonfinalarabic\"] = 0xfee6;\n  t[\"noonghunnaarabic\"] = 0x06ba;\n  t[\"noonghunnafinalarabic\"] = 0xfb9f;\n  t[\"nooninitialarabic\"] = 0xfee7;\n  t[\"noonjeeminitialarabic\"] = 0xfcd2;\n  t[\"noonjeemisolatedarabic\"] = 0xfc4b;\n  t[\"noonmedialarabic\"] = 0xfee8;\n  t[\"noonmeeminitialarabic\"] = 0xfcd5;\n  t[\"noonmeemisolatedarabic\"] = 0xfc4e;\n  t[\"noonnoonfinalarabic\"] = 0xfc8d;\n  t[\"notcontains\"] = 0x220c;\n  t[\"notelement\"] = 0x2209;\n  t[\"notelementof\"] = 0x2209;\n  t[\"notequal\"] = 0x2260;\n  t[\"notgreater\"] = 0x226f;\n  t[\"notgreaternorequal\"] = 0x2271;\n  t[\"notgreaternorless\"] = 0x2279;\n  t[\"notidentical\"] = 0x2262;\n  t[\"notless\"] = 0x226e;\n  t[\"notlessnorequal\"] = 0x2270;\n  t[\"notparallel\"] = 0x2226;\n  t[\"notprecedes\"] = 0x2280;\n  t[\"notsubset\"] = 0x2284;\n  t[\"notsucceeds\"] = 0x2281;\n  t[\"notsuperset\"] = 0x2285;\n  t[\"nowarmenian\"] = 0x0576;\n  t[\"nparen\"] = 0x24a9;\n  t[\"nssquare\"] = 0x33b1;\n  t[\"nsuperior\"] = 0x207f;\n  t[\"ntilde\"] = 0x00f1;\n  t[\"nu\"] = 0x03bd;\n  t[\"nuhiragana\"] = 0x306c;\n  t[\"nukatakana\"] = 0x30cc;\n  t[\"nukatakanahalfwidth\"] = 0xff87;\n  t[\"nuktabengali\"] = 0x09bc;\n  t[\"nuktadeva\"] = 0x093c;\n  t[\"nuktagujarati\"] = 0x0abc;\n  t[\"nuktagurmukhi\"] = 0x0a3c;\n  t[\"numbersign\"] = 0x0023;\n  t[\"numbersignmonospace\"] = 0xff03;\n  t[\"numbersignsmall\"] = 0xfe5f;\n  t[\"numeralsigngreek\"] = 0x0374;\n  t[\"numeralsignlowergreek\"] = 0x0375;\n  t[\"numero\"] = 0x2116;\n  t[\"nun\"] = 0x05e0;\n  t[\"nundagesh\"] = 0xfb40;\n  t[\"nundageshhebrew\"] = 0xfb40;\n  t[\"nunhebrew\"] = 0x05e0;\n  t[\"nvsquare\"] = 0x33b5;\n  t[\"nwsquare\"] = 0x33bb;\n  t[\"nyabengali\"] = 0x099e;\n  t[\"nyadeva\"] = 0x091e;\n  t[\"nyagujarati\"] = 0x0a9e;\n  t[\"nyagurmukhi\"] = 0x0a1e;\n  t[\"o\"] = 0x006f;\n  t[\"oacute\"] = 0x00f3;\n  t[\"oangthai\"] = 0x0e2d;\n  t[\"obarred\"] = 0x0275;\n  t[\"obarredcyrillic\"] = 0x04e9;\n  t[\"obarreddieresiscyrillic\"] = 0x04eb;\n  t[\"obengali\"] = 0x0993;\n  t[\"obopomofo\"] = 0x311b;\n  t[\"obreve\"] = 0x014f;\n  t[\"ocandradeva\"] = 0x0911;\n  t[\"ocandragujarati\"] = 0x0a91;\n  t[\"ocandravowelsigndeva\"] = 0x0949;\n  t[\"ocandravowelsigngujarati\"] = 0x0ac9;\n  t[\"ocaron\"] = 0x01d2;\n  t[\"ocircle\"] = 0x24de;\n  t[\"ocircumflex\"] = 0x00f4;\n  t[\"ocircumflexacute\"] = 0x1ed1;\n  t[\"ocircumflexdotbelow\"] = 0x1ed9;\n  t[\"ocircumflexgrave\"] = 0x1ed3;\n  t[\"ocircumflexhookabove\"] = 0x1ed5;\n  t[\"ocircumflextilde\"] = 0x1ed7;\n  t[\"ocyrillic\"] = 0x043e;\n  t[\"odblacute\"] = 0x0151;\n  t[\"odblgrave\"] = 0x020d;\n  t[\"odeva\"] = 0x0913;\n  t[\"odieresis\"] = 0x00f6;\n  t[\"odieresiscyrillic\"] = 0x04e7;\n  t[\"odotbelow\"] = 0x1ecd;\n  t[\"oe\"] = 0x0153;\n  t[\"oekorean\"] = 0x315a;\n  t[\"ogonek\"] = 0x02db;\n  t[\"ogonekcmb\"] = 0x0328;\n  t[\"ograve\"] = 0x00f2;\n  t[\"ogujarati\"] = 0x0a93;\n  t[\"oharmenian\"] = 0x0585;\n  t[\"ohiragana\"] = 0x304a;\n  t[\"ohookabove\"] = 0x1ecf;\n  t[\"ohorn\"] = 0x01a1;\n  t[\"ohornacute\"] = 0x1edb;\n  t[\"ohorndotbelow\"] = 0x1ee3;\n  t[\"ohorngrave\"] = 0x1edd;\n  t[\"ohornhookabove\"] = 0x1edf;\n  t[\"ohorntilde\"] = 0x1ee1;\n  t[\"ohungarumlaut\"] = 0x0151;\n  t[\"oi\"] = 0x01a3;\n  t[\"oinvertedbreve\"] = 0x020f;\n  t[\"okatakana\"] = 0x30aa;\n  t[\"okatakanahalfwidth\"] = 0xff75;\n  t[\"okorean\"] = 0x3157;\n  t[\"olehebrew\"] = 0x05ab;\n  t[\"omacron\"] = 0x014d;\n  t[\"omacronacute\"] = 0x1e53;\n  t[\"omacrongrave\"] = 0x1e51;\n  t[\"omdeva\"] = 0x0950;\n  t[\"omega\"] = 0x03c9;\n  t[\"omega1\"] = 0x03d6;\n  t[\"omegacyrillic\"] = 0x0461;\n  t[\"omegalatinclosed\"] = 0x0277;\n  t[\"omegaroundcyrillic\"] = 0x047b;\n  t[\"omegatitlocyrillic\"] = 0x047d;\n  t[\"omegatonos\"] = 0x03ce;\n  t[\"omgujarati\"] = 0x0ad0;\n  t[\"omicron\"] = 0x03bf;\n  t[\"omicrontonos\"] = 0x03cc;\n  t[\"omonospace\"] = 0xff4f;\n  t[\"one\"] = 0x0031;\n  t[\"onearabic\"] = 0x0661;\n  t[\"onebengali\"] = 0x09e7;\n  t[\"onecircle\"] = 0x2460;\n  t[\"onecircleinversesansserif\"] = 0x278a;\n  t[\"onedeva\"] = 0x0967;\n  t[\"onedotenleader\"] = 0x2024;\n  t[\"oneeighth\"] = 0x215b;\n  t[\"onefitted\"] = 0xf6dc;\n  t[\"onegujarati\"] = 0x0ae7;\n  t[\"onegurmukhi\"] = 0x0a67;\n  t[\"onehackarabic\"] = 0x0661;\n  t[\"onehalf\"] = 0x00bd;\n  t[\"onehangzhou\"] = 0x3021;\n  t[\"oneideographicparen\"] = 0x3220;\n  t[\"oneinferior\"] = 0x2081;\n  t[\"onemonospace\"] = 0xff11;\n  t[\"onenumeratorbengali\"] = 0x09f4;\n  t[\"oneoldstyle\"] = 0xf731;\n  t[\"oneparen\"] = 0x2474;\n  t[\"oneperiod\"] = 0x2488;\n  t[\"onepersian\"] = 0x06f1;\n  t[\"onequarter\"] = 0x00bc;\n  t[\"oneroman\"] = 0x2170;\n  t[\"onesuperior\"] = 0x00b9;\n  t[\"onethai\"] = 0x0e51;\n  t[\"onethird\"] = 0x2153;\n  t[\"oogonek\"] = 0x01eb;\n  t[\"oogonekmacron\"] = 0x01ed;\n  t[\"oogurmukhi\"] = 0x0a13;\n  t[\"oomatragurmukhi\"] = 0x0a4b;\n  t[\"oopen\"] = 0x0254;\n  t[\"oparen\"] = 0x24aa;\n  t[\"openbullet\"] = 0x25e6;\n  t[\"option\"] = 0x2325;\n  t[\"ordfeminine\"] = 0x00aa;\n  t[\"ordmasculine\"] = 0x00ba;\n  t[\"orthogonal\"] = 0x221f;\n  t[\"oshortdeva\"] = 0x0912;\n  t[\"oshortvowelsigndeva\"] = 0x094a;\n  t[\"oslash\"] = 0x00f8;\n  t[\"oslashacute\"] = 0x01ff;\n  t[\"osmallhiragana\"] = 0x3049;\n  t[\"osmallkatakana\"] = 0x30a9;\n  t[\"osmallkatakanahalfwidth\"] = 0xff6b;\n  t[\"ostrokeacute\"] = 0x01ff;\n  t[\"osuperior\"] = 0xf6f0;\n  t[\"otcyrillic\"] = 0x047f;\n  t[\"otilde\"] = 0x00f5;\n  t[\"otildeacute\"] = 0x1e4d;\n  t[\"otildedieresis\"] = 0x1e4f;\n  t[\"oubopomofo\"] = 0x3121;\n  t[\"overline\"] = 0x203e;\n  t[\"overlinecenterline\"] = 0xfe4a;\n  t[\"overlinecmb\"] = 0x0305;\n  t[\"overlinedashed\"] = 0xfe49;\n  t[\"overlinedblwavy\"] = 0xfe4c;\n  t[\"overlinewavy\"] = 0xfe4b;\n  t[\"overscore\"] = 0x00af;\n  t[\"ovowelsignbengali\"] = 0x09cb;\n  t[\"ovowelsigndeva\"] = 0x094b;\n  t[\"ovowelsigngujarati\"] = 0x0acb;\n  t[\"p\"] = 0x0070;\n  t[\"paampssquare\"] = 0x3380;\n  t[\"paasentosquare\"] = 0x332b;\n  t[\"pabengali\"] = 0x09aa;\n  t[\"pacute\"] = 0x1e55;\n  t[\"padeva\"] = 0x092a;\n  t[\"pagedown\"] = 0x21df;\n  t[\"pageup\"] = 0x21de;\n  t[\"pagujarati\"] = 0x0aaa;\n  t[\"pagurmukhi\"] = 0x0a2a;\n  t[\"pahiragana\"] = 0x3071;\n  t[\"paiyannoithai\"] = 0x0e2f;\n  t[\"pakatakana\"] = 0x30d1;\n  t[\"palatalizationcyrilliccmb\"] = 0x0484;\n  t[\"palochkacyrillic\"] = 0x04c0;\n  t[\"pansioskorean\"] = 0x317f;\n  t[\"paragraph\"] = 0x00b6;\n  t[\"parallel\"] = 0x2225;\n  t[\"parenleft\"] = 0x0028;\n  t[\"parenleftaltonearabic\"] = 0xfd3e;\n  t[\"parenleftbt\"] = 0xf8ed;\n  t[\"parenleftex\"] = 0xf8ec;\n  t[\"parenleftinferior\"] = 0x208d;\n  t[\"parenleftmonospace\"] = 0xff08;\n  t[\"parenleftsmall\"] = 0xfe59;\n  t[\"parenleftsuperior\"] = 0x207d;\n  t[\"parenlefttp\"] = 0xf8eb;\n  t[\"parenleftvertical\"] = 0xfe35;\n  t[\"parenright\"] = 0x0029;\n  t[\"parenrightaltonearabic\"] = 0xfd3f;\n  t[\"parenrightbt\"] = 0xf8f8;\n  t[\"parenrightex\"] = 0xf8f7;\n  t[\"parenrightinferior\"] = 0x208e;\n  t[\"parenrightmonospace\"] = 0xff09;\n  t[\"parenrightsmall\"] = 0xfe5a;\n  t[\"parenrightsuperior\"] = 0x207e;\n  t[\"parenrighttp\"] = 0xf8f6;\n  t[\"parenrightvertical\"] = 0xfe36;\n  t[\"partialdiff\"] = 0x2202;\n  t[\"paseqhebrew\"] = 0x05c0;\n  t[\"pashtahebrew\"] = 0x0599;\n  t[\"pasquare\"] = 0x33a9;\n  t[\"patah\"] = 0x05b7;\n  t[\"patah11\"] = 0x05b7;\n  t[\"patah1d\"] = 0x05b7;\n  t[\"patah2a\"] = 0x05b7;\n  t[\"patahhebrew\"] = 0x05b7;\n  t[\"patahnarrowhebrew\"] = 0x05b7;\n  t[\"patahquarterhebrew\"] = 0x05b7;\n  t[\"patahwidehebrew\"] = 0x05b7;\n  t[\"pazerhebrew\"] = 0x05a1;\n  t[\"pbopomofo\"] = 0x3106;\n  t[\"pcircle\"] = 0x24df;\n  t[\"pdotaccent\"] = 0x1e57;\n  t[\"pe\"] = 0x05e4;\n  t[\"pecyrillic\"] = 0x043f;\n  t[\"pedagesh\"] = 0xfb44;\n  t[\"pedageshhebrew\"] = 0xfb44;\n  t[\"peezisquare\"] = 0x333b;\n  t[\"pefinaldageshhebrew\"] = 0xfb43;\n  t[\"peharabic\"] = 0x067e;\n  t[\"peharmenian\"] = 0x057a;\n  t[\"pehebrew\"] = 0x05e4;\n  t[\"pehfinalarabic\"] = 0xfb57;\n  t[\"pehinitialarabic\"] = 0xfb58;\n  t[\"pehiragana\"] = 0x307a;\n  t[\"pehmedialarabic\"] = 0xfb59;\n  t[\"pekatakana\"] = 0x30da;\n  t[\"pemiddlehookcyrillic\"] = 0x04a7;\n  t[\"perafehebrew\"] = 0xfb4e;\n  t[\"percent\"] = 0x0025;\n  t[\"percentarabic\"] = 0x066a;\n  t[\"percentmonospace\"] = 0xff05;\n  t[\"percentsmall\"] = 0xfe6a;\n  t[\"period\"] = 0x002e;\n  t[\"periodarmenian\"] = 0x0589;\n  t[\"periodcentered\"] = 0x00b7;\n  t[\"periodhalfwidth\"] = 0xff61;\n  t[\"periodinferior\"] = 0xf6e7;\n  t[\"periodmonospace\"] = 0xff0e;\n  t[\"periodsmall\"] = 0xfe52;\n  t[\"periodsuperior\"] = 0xf6e8;\n  t[\"perispomenigreekcmb\"] = 0x0342;\n  t[\"perpendicular\"] = 0x22a5;\n  t[\"perthousand\"] = 0x2030;\n  t[\"peseta\"] = 0x20a7;\n  t[\"pfsquare\"] = 0x338a;\n  t[\"phabengali\"] = 0x09ab;\n  t[\"phadeva\"] = 0x092b;\n  t[\"phagujarati\"] = 0x0aab;\n  t[\"phagurmukhi\"] = 0x0a2b;\n  t[\"phi\"] = 0x03c6;\n  t[\"phi1\"] = 0x03d5;\n  t[\"phieuphacirclekorean\"] = 0x327a;\n  t[\"phieuphaparenkorean\"] = 0x321a;\n  t[\"phieuphcirclekorean\"] = 0x326c;\n  t[\"phieuphkorean\"] = 0x314d;\n  t[\"phieuphparenkorean\"] = 0x320c;\n  t[\"philatin\"] = 0x0278;\n  t[\"phinthuthai\"] = 0x0e3a;\n  t[\"phisymbolgreek\"] = 0x03d5;\n  t[\"phook\"] = 0x01a5;\n  t[\"phophanthai\"] = 0x0e1e;\n  t[\"phophungthai\"] = 0x0e1c;\n  t[\"phosamphaothai\"] = 0x0e20;\n  t[\"pi\"] = 0x03c0;\n  t[\"pieupacirclekorean\"] = 0x3273;\n  t[\"pieupaparenkorean\"] = 0x3213;\n  t[\"pieupcieuckorean\"] = 0x3176;\n  t[\"pieupcirclekorean\"] = 0x3265;\n  t[\"pieupkiyeokkorean\"] = 0x3172;\n  t[\"pieupkorean\"] = 0x3142;\n  t[\"pieupparenkorean\"] = 0x3205;\n  t[\"pieupsioskiyeokkorean\"] = 0x3174;\n  t[\"pieupsioskorean\"] = 0x3144;\n  t[\"pieupsiostikeutkorean\"] = 0x3175;\n  t[\"pieupthieuthkorean\"] = 0x3177;\n  t[\"pieuptikeutkorean\"] = 0x3173;\n  t[\"pihiragana\"] = 0x3074;\n  t[\"pikatakana\"] = 0x30d4;\n  t[\"pisymbolgreek\"] = 0x03d6;\n  t[\"piwrarmenian\"] = 0x0583;\n  t[\"plus\"] = 0x002b;\n  t[\"plusbelowcmb\"] = 0x031f;\n  t[\"pluscircle\"] = 0x2295;\n  t[\"plusminus\"] = 0x00b1;\n  t[\"plusmod\"] = 0x02d6;\n  t[\"plusmonospace\"] = 0xff0b;\n  t[\"plussmall\"] = 0xfe62;\n  t[\"plussuperior\"] = 0x207a;\n  t[\"pmonospace\"] = 0xff50;\n  t[\"pmsquare\"] = 0x33d8;\n  t[\"pohiragana\"] = 0x307d;\n  t[\"pointingindexdownwhite\"] = 0x261f;\n  t[\"pointingindexleftwhite\"] = 0x261c;\n  t[\"pointingindexrightwhite\"] = 0x261e;\n  t[\"pointingindexupwhite\"] = 0x261d;\n  t[\"pokatakana\"] = 0x30dd;\n  t[\"poplathai\"] = 0x0e1b;\n  t[\"postalmark\"] = 0x3012;\n  t[\"postalmarkface\"] = 0x3020;\n  t[\"pparen\"] = 0x24ab;\n  t[\"precedes\"] = 0x227a;\n  t[\"prescription\"] = 0x211e;\n  t[\"primemod\"] = 0x02b9;\n  t[\"primereversed\"] = 0x2035;\n  t[\"product\"] = 0x220f;\n  t[\"projective\"] = 0x2305;\n  t[\"prolongedkana\"] = 0x30fc;\n  t[\"propellor\"] = 0x2318;\n  t[\"propersubset\"] = 0x2282;\n  t[\"propersuperset\"] = 0x2283;\n  t[\"proportion\"] = 0x2237;\n  t[\"proportional\"] = 0x221d;\n  t[\"psi\"] = 0x03c8;\n  t[\"psicyrillic\"] = 0x0471;\n  t[\"psilipneumatacyrilliccmb\"] = 0x0486;\n  t[\"pssquare\"] = 0x33b0;\n  t[\"puhiragana\"] = 0x3077;\n  t[\"pukatakana\"] = 0x30d7;\n  t[\"pvsquare\"] = 0x33b4;\n  t[\"pwsquare\"] = 0x33ba;\n  t[\"q\"] = 0x0071;\n  t[\"qadeva\"] = 0x0958;\n  t[\"qadmahebrew\"] = 0x05a8;\n  t[\"qafarabic\"] = 0x0642;\n  t[\"qaffinalarabic\"] = 0xfed6;\n  t[\"qafinitialarabic\"] = 0xfed7;\n  t[\"qafmedialarabic\"] = 0xfed8;\n  t[\"qamats\"] = 0x05b8;\n  t[\"qamats10\"] = 0x05b8;\n  t[\"qamats1a\"] = 0x05b8;\n  t[\"qamats1c\"] = 0x05b8;\n  t[\"qamats27\"] = 0x05b8;\n  t[\"qamats29\"] = 0x05b8;\n  t[\"qamats33\"] = 0x05b8;\n  t[\"qamatsde\"] = 0x05b8;\n  t[\"qamatshebrew\"] = 0x05b8;\n  t[\"qamatsnarrowhebrew\"] = 0x05b8;\n  t[\"qamatsqatanhebrew\"] = 0x05b8;\n  t[\"qamatsqatannarrowhebrew\"] = 0x05b8;\n  t[\"qamatsqatanquarterhebrew\"] = 0x05b8;\n  t[\"qamatsqatanwidehebrew\"] = 0x05b8;\n  t[\"qamatsquarterhebrew\"] = 0x05b8;\n  t[\"qamatswidehebrew\"] = 0x05b8;\n  t[\"qarneyparahebrew\"] = 0x059f;\n  t[\"qbopomofo\"] = 0x3111;\n  t[\"qcircle\"] = 0x24e0;\n  t[\"qhook\"] = 0x02a0;\n  t[\"qmonospace\"] = 0xff51;\n  t[\"qof\"] = 0x05e7;\n  t[\"qofdagesh\"] = 0xfb47;\n  t[\"qofdageshhebrew\"] = 0xfb47;\n  t[\"qofhebrew\"] = 0x05e7;\n  t[\"qparen\"] = 0x24ac;\n  t[\"quarternote\"] = 0x2669;\n  t[\"qubuts\"] = 0x05bb;\n  t[\"qubuts18\"] = 0x05bb;\n  t[\"qubuts25\"] = 0x05bb;\n  t[\"qubuts31\"] = 0x05bb;\n  t[\"qubutshebrew\"] = 0x05bb;\n  t[\"qubutsnarrowhebrew\"] = 0x05bb;\n  t[\"qubutsquarterhebrew\"] = 0x05bb;\n  t[\"qubutswidehebrew\"] = 0x05bb;\n  t[\"question\"] = 0x003f;\n  t[\"questionarabic\"] = 0x061f;\n  t[\"questionarmenian\"] = 0x055e;\n  t[\"questiondown\"] = 0x00bf;\n  t[\"questiondownsmall\"] = 0xf7bf;\n  t[\"questiongreek\"] = 0x037e;\n  t[\"questionmonospace\"] = 0xff1f;\n  t[\"questionsmall\"] = 0xf73f;\n  t[\"quotedbl\"] = 0x0022;\n  t[\"quotedblbase\"] = 0x201e;\n  t[\"quotedblleft\"] = 0x201c;\n  t[\"quotedblmonospace\"] = 0xff02;\n  t[\"quotedblprime\"] = 0x301e;\n  t[\"quotedblprimereversed\"] = 0x301d;\n  t[\"quotedblright\"] = 0x201d;\n  t[\"quoteleft\"] = 0x2018;\n  t[\"quoteleftreversed\"] = 0x201b;\n  t[\"quotereversed\"] = 0x201b;\n  t[\"quoteright\"] = 0x2019;\n  t[\"quoterightn\"] = 0x0149;\n  t[\"quotesinglbase\"] = 0x201a;\n  t[\"quotesingle\"] = 0x0027;\n  t[\"quotesinglemonospace\"] = 0xff07;\n  t[\"r\"] = 0x0072;\n  t[\"raarmenian\"] = 0x057c;\n  t[\"rabengali\"] = 0x09b0;\n  t[\"racute\"] = 0x0155;\n  t[\"radeva\"] = 0x0930;\n  t[\"radical\"] = 0x221a;\n  t[\"radicalex\"] = 0xf8e5;\n  t[\"radoverssquare\"] = 0x33ae;\n  t[\"radoverssquaredsquare\"] = 0x33af;\n  t[\"radsquare\"] = 0x33ad;\n  t[\"rafe\"] = 0x05bf;\n  t[\"rafehebrew\"] = 0x05bf;\n  t[\"ragujarati\"] = 0x0ab0;\n  t[\"ragurmukhi\"] = 0x0a30;\n  t[\"rahiragana\"] = 0x3089;\n  t[\"rakatakana\"] = 0x30e9;\n  t[\"rakatakanahalfwidth\"] = 0xff97;\n  t[\"ralowerdiagonalbengali\"] = 0x09f1;\n  t[\"ramiddlediagonalbengali\"] = 0x09f0;\n  t[\"ramshorn\"] = 0x0264;\n  t[\"ratio\"] = 0x2236;\n  t[\"rbopomofo\"] = 0x3116;\n  t[\"rcaron\"] = 0x0159;\n  t[\"rcedilla\"] = 0x0157;\n  t[\"rcircle\"] = 0x24e1;\n  t[\"rcommaaccent\"] = 0x0157;\n  t[\"rdblgrave\"] = 0x0211;\n  t[\"rdotaccent\"] = 0x1e59;\n  t[\"rdotbelow\"] = 0x1e5b;\n  t[\"rdotbelowmacron\"] = 0x1e5d;\n  t[\"referencemark\"] = 0x203b;\n  t[\"reflexsubset\"] = 0x2286;\n  t[\"reflexsuperset\"] = 0x2287;\n  t[\"registered\"] = 0x00ae;\n  t[\"registersans\"] = 0xf8e8;\n  t[\"registerserif\"] = 0xf6da;\n  t[\"reharabic\"] = 0x0631;\n  t[\"reharmenian\"] = 0x0580;\n  t[\"rehfinalarabic\"] = 0xfeae;\n  t[\"rehiragana\"] = 0x308c;\n  t[\"rekatakana\"] = 0x30ec;\n  t[\"rekatakanahalfwidth\"] = 0xff9a;\n  t[\"resh\"] = 0x05e8;\n  t[\"reshdageshhebrew\"] = 0xfb48;\n  t[\"reshhebrew\"] = 0x05e8;\n  t[\"reversedtilde\"] = 0x223d;\n  t[\"reviahebrew\"] = 0x0597;\n  t[\"reviamugrashhebrew\"] = 0x0597;\n  t[\"revlogicalnot\"] = 0x2310;\n  t[\"rfishhook\"] = 0x027e;\n  t[\"rfishhookreversed\"] = 0x027f;\n  t[\"rhabengali\"] = 0x09dd;\n  t[\"rhadeva\"] = 0x095d;\n  t[\"rho\"] = 0x03c1;\n  t[\"rhook\"] = 0x027d;\n  t[\"rhookturned\"] = 0x027b;\n  t[\"rhookturnedsuperior\"] = 0x02b5;\n  t[\"rhosymbolgreek\"] = 0x03f1;\n  t[\"rhotichookmod\"] = 0x02de;\n  t[\"rieulacirclekorean\"] = 0x3271;\n  t[\"rieulaparenkorean\"] = 0x3211;\n  t[\"rieulcirclekorean\"] = 0x3263;\n  t[\"rieulhieuhkorean\"] = 0x3140;\n  t[\"rieulkiyeokkorean\"] = 0x313a;\n  t[\"rieulkiyeoksioskorean\"] = 0x3169;\n  t[\"rieulkorean\"] = 0x3139;\n  t[\"rieulmieumkorean\"] = 0x313b;\n  t[\"rieulpansioskorean\"] = 0x316c;\n  t[\"rieulparenkorean\"] = 0x3203;\n  t[\"rieulphieuphkorean\"] = 0x313f;\n  t[\"rieulpieupkorean\"] = 0x313c;\n  t[\"rieulpieupsioskorean\"] = 0x316b;\n  t[\"rieulsioskorean\"] = 0x313d;\n  t[\"rieulthieuthkorean\"] = 0x313e;\n  t[\"rieultikeutkorean\"] = 0x316a;\n  t[\"rieulyeorinhieuhkorean\"] = 0x316d;\n  t[\"rightangle\"] = 0x221f;\n  t[\"righttackbelowcmb\"] = 0x0319;\n  t[\"righttriangle\"] = 0x22bf;\n  t[\"rihiragana\"] = 0x308a;\n  t[\"rikatakana\"] = 0x30ea;\n  t[\"rikatakanahalfwidth\"] = 0xff98;\n  t[\"ring\"] = 0x02da;\n  t[\"ringbelowcmb\"] = 0x0325;\n  t[\"ringcmb\"] = 0x030a;\n  t[\"ringhalfleft\"] = 0x02bf;\n  t[\"ringhalfleftarmenian\"] = 0x0559;\n  t[\"ringhalfleftbelowcmb\"] = 0x031c;\n  t[\"ringhalfleftcentered\"] = 0x02d3;\n  t[\"ringhalfright\"] = 0x02be;\n  t[\"ringhalfrightbelowcmb\"] = 0x0339;\n  t[\"ringhalfrightcentered\"] = 0x02d2;\n  t[\"rinvertedbreve\"] = 0x0213;\n  t[\"rittorusquare\"] = 0x3351;\n  t[\"rlinebelow\"] = 0x1e5f;\n  t[\"rlongleg\"] = 0x027c;\n  t[\"rlonglegturned\"] = 0x027a;\n  t[\"rmonospace\"] = 0xff52;\n  t[\"rohiragana\"] = 0x308d;\n  t[\"rokatakana\"] = 0x30ed;\n  t[\"rokatakanahalfwidth\"] = 0xff9b;\n  t[\"roruathai\"] = 0x0e23;\n  t[\"rparen\"] = 0x24ad;\n  t[\"rrabengali\"] = 0x09dc;\n  t[\"rradeva\"] = 0x0931;\n  t[\"rragurmukhi\"] = 0x0a5c;\n  t[\"rreharabic\"] = 0x0691;\n  t[\"rrehfinalarabic\"] = 0xfb8d;\n  t[\"rrvocalicbengali\"] = 0x09e0;\n  t[\"rrvocalicdeva\"] = 0x0960;\n  t[\"rrvocalicgujarati\"] = 0x0ae0;\n  t[\"rrvocalicvowelsignbengali\"] = 0x09c4;\n  t[\"rrvocalicvowelsigndeva\"] = 0x0944;\n  t[\"rrvocalicvowelsigngujarati\"] = 0x0ac4;\n  t[\"rsuperior\"] = 0xf6f1;\n  t[\"rtblock\"] = 0x2590;\n  t[\"rturned\"] = 0x0279;\n  t[\"rturnedsuperior\"] = 0x02b4;\n  t[\"ruhiragana\"] = 0x308b;\n  t[\"rukatakana\"] = 0x30eb;\n  t[\"rukatakanahalfwidth\"] = 0xff99;\n  t[\"rupeemarkbengali\"] = 0x09f2;\n  t[\"rupeesignbengali\"] = 0x09f3;\n  t[\"rupiah\"] = 0xf6dd;\n  t[\"ruthai\"] = 0x0e24;\n  t[\"rvocalicbengali\"] = 0x098b;\n  t[\"rvocalicdeva\"] = 0x090b;\n  t[\"rvocalicgujarati\"] = 0x0a8b;\n  t[\"rvocalicvowelsignbengali\"] = 0x09c3;\n  t[\"rvocalicvowelsigndeva\"] = 0x0943;\n  t[\"rvocalicvowelsigngujarati\"] = 0x0ac3;\n  t[\"s\"] = 0x0073;\n  t[\"sabengali\"] = 0x09b8;\n  t[\"sacute\"] = 0x015b;\n  t[\"sacutedotaccent\"] = 0x1e65;\n  t[\"sadarabic\"] = 0x0635;\n  t[\"sadeva\"] = 0x0938;\n  t[\"sadfinalarabic\"] = 0xfeba;\n  t[\"sadinitialarabic\"] = 0xfebb;\n  t[\"sadmedialarabic\"] = 0xfebc;\n  t[\"sagujarati\"] = 0x0ab8;\n  t[\"sagurmukhi\"] = 0x0a38;\n  t[\"sahiragana\"] = 0x3055;\n  t[\"sakatakana\"] = 0x30b5;\n  t[\"sakatakanahalfwidth\"] = 0xff7b;\n  t[\"sallallahoualayhewasallamarabic\"] = 0xfdfa;\n  t[\"samekh\"] = 0x05e1;\n  t[\"samekhdagesh\"] = 0xfb41;\n  t[\"samekhdageshhebrew\"] = 0xfb41;\n  t[\"samekhhebrew\"] = 0x05e1;\n  t[\"saraaathai\"] = 0x0e32;\n  t[\"saraaethai\"] = 0x0e41;\n  t[\"saraaimaimalaithai\"] = 0x0e44;\n  t[\"saraaimaimuanthai\"] = 0x0e43;\n  t[\"saraamthai\"] = 0x0e33;\n  t[\"saraathai\"] = 0x0e30;\n  t[\"saraethai\"] = 0x0e40;\n  t[\"saraiileftthai\"] = 0xf886;\n  t[\"saraiithai\"] = 0x0e35;\n  t[\"saraileftthai\"] = 0xf885;\n  t[\"saraithai\"] = 0x0e34;\n  t[\"saraothai\"] = 0x0e42;\n  t[\"saraueeleftthai\"] = 0xf888;\n  t[\"saraueethai\"] = 0x0e37;\n  t[\"saraueleftthai\"] = 0xf887;\n  t[\"sarauethai\"] = 0x0e36;\n  t[\"sarauthai\"] = 0x0e38;\n  t[\"sarauuthai\"] = 0x0e39;\n  t[\"sbopomofo\"] = 0x3119;\n  t[\"scaron\"] = 0x0161;\n  t[\"scarondotaccent\"] = 0x1e67;\n  t[\"scedilla\"] = 0x015f;\n  t[\"schwa\"] = 0x0259;\n  t[\"schwacyrillic\"] = 0x04d9;\n  t[\"schwadieresiscyrillic\"] = 0x04db;\n  t[\"schwahook\"] = 0x025a;\n  t[\"scircle\"] = 0x24e2;\n  t[\"scircumflex\"] = 0x015d;\n  t[\"scommaaccent\"] = 0x0219;\n  t[\"sdotaccent\"] = 0x1e61;\n  t[\"sdotbelow\"] = 0x1e63;\n  t[\"sdotbelowdotaccent\"] = 0x1e69;\n  t[\"seagullbelowcmb\"] = 0x033c;\n  t[\"second\"] = 0x2033;\n  t[\"secondtonechinese\"] = 0x02ca;\n  t[\"section\"] = 0x00a7;\n  t[\"seenarabic\"] = 0x0633;\n  t[\"seenfinalarabic\"] = 0xfeb2;\n  t[\"seeninitialarabic\"] = 0xfeb3;\n  t[\"seenmedialarabic\"] = 0xfeb4;\n  t[\"segol\"] = 0x05b6;\n  t[\"segol13\"] = 0x05b6;\n  t[\"segol1f\"] = 0x05b6;\n  t[\"segol2c\"] = 0x05b6;\n  t[\"segolhebrew\"] = 0x05b6;\n  t[\"segolnarrowhebrew\"] = 0x05b6;\n  t[\"segolquarterhebrew\"] = 0x05b6;\n  t[\"segoltahebrew\"] = 0x0592;\n  t[\"segolwidehebrew\"] = 0x05b6;\n  t[\"seharmenian\"] = 0x057d;\n  t[\"sehiragana\"] = 0x305b;\n  t[\"sekatakana\"] = 0x30bb;\n  t[\"sekatakanahalfwidth\"] = 0xff7e;\n  t[\"semicolon\"] = 0x003b;\n  t[\"semicolonarabic\"] = 0x061b;\n  t[\"semicolonmonospace\"] = 0xff1b;\n  t[\"semicolonsmall\"] = 0xfe54;\n  t[\"semivoicedmarkkana\"] = 0x309c;\n  t[\"semivoicedmarkkanahalfwidth\"] = 0xff9f;\n  t[\"sentisquare\"] = 0x3322;\n  t[\"sentosquare\"] = 0x3323;\n  t[\"seven\"] = 0x0037;\n  t[\"sevenarabic\"] = 0x0667;\n  t[\"sevenbengali\"] = 0x09ed;\n  t[\"sevencircle\"] = 0x2466;\n  t[\"sevencircleinversesansserif\"] = 0x2790;\n  t[\"sevendeva\"] = 0x096d;\n  t[\"seveneighths\"] = 0x215e;\n  t[\"sevengujarati\"] = 0x0aed;\n  t[\"sevengurmukhi\"] = 0x0a6d;\n  t[\"sevenhackarabic\"] = 0x0667;\n  t[\"sevenhangzhou\"] = 0x3027;\n  t[\"sevenideographicparen\"] = 0x3226;\n  t[\"seveninferior\"] = 0x2087;\n  t[\"sevenmonospace\"] = 0xff17;\n  t[\"sevenoldstyle\"] = 0xf737;\n  t[\"sevenparen\"] = 0x247a;\n  t[\"sevenperiod\"] = 0x248e;\n  t[\"sevenpersian\"] = 0x06f7;\n  t[\"sevenroman\"] = 0x2176;\n  t[\"sevensuperior\"] = 0x2077;\n  t[\"seventeencircle\"] = 0x2470;\n  t[\"seventeenparen\"] = 0x2484;\n  t[\"seventeenperiod\"] = 0x2498;\n  t[\"seventhai\"] = 0x0e57;\n  t[\"sfthyphen\"] = 0x00ad;\n  t[\"shaarmenian\"] = 0x0577;\n  t[\"shabengali\"] = 0x09b6;\n  t[\"shacyrillic\"] = 0x0448;\n  t[\"shaddaarabic\"] = 0x0651;\n  t[\"shaddadammaarabic\"] = 0xfc61;\n  t[\"shaddadammatanarabic\"] = 0xfc5e;\n  t[\"shaddafathaarabic\"] = 0xfc60;\n  t[\"shaddakasraarabic\"] = 0xfc62;\n  t[\"shaddakasratanarabic\"] = 0xfc5f;\n  t[\"shade\"] = 0x2592;\n  t[\"shadedark\"] = 0x2593;\n  t[\"shadelight\"] = 0x2591;\n  t[\"shademedium\"] = 0x2592;\n  t[\"shadeva\"] = 0x0936;\n  t[\"shagujarati\"] = 0x0ab6;\n  t[\"shagurmukhi\"] = 0x0a36;\n  t[\"shalshelethebrew\"] = 0x0593;\n  t[\"shbopomofo\"] = 0x3115;\n  t[\"shchacyrillic\"] = 0x0449;\n  t[\"sheenarabic\"] = 0x0634;\n  t[\"sheenfinalarabic\"] = 0xfeb6;\n  t[\"sheeninitialarabic\"] = 0xfeb7;\n  t[\"sheenmedialarabic\"] = 0xfeb8;\n  t[\"sheicoptic\"] = 0x03e3;\n  t[\"sheqel\"] = 0x20aa;\n  t[\"sheqelhebrew\"] = 0x20aa;\n  t[\"sheva\"] = 0x05b0;\n  t[\"sheva115\"] = 0x05b0;\n  t[\"sheva15\"] = 0x05b0;\n  t[\"sheva22\"] = 0x05b0;\n  t[\"sheva2e\"] = 0x05b0;\n  t[\"shevahebrew\"] = 0x05b0;\n  t[\"shevanarrowhebrew\"] = 0x05b0;\n  t[\"shevaquarterhebrew\"] = 0x05b0;\n  t[\"shevawidehebrew\"] = 0x05b0;\n  t[\"shhacyrillic\"] = 0x04bb;\n  t[\"shimacoptic\"] = 0x03ed;\n  t[\"shin\"] = 0x05e9;\n  t[\"shindagesh\"] = 0xfb49;\n  t[\"shindageshhebrew\"] = 0xfb49;\n  t[\"shindageshshindot\"] = 0xfb2c;\n  t[\"shindageshshindothebrew\"] = 0xfb2c;\n  t[\"shindageshsindot\"] = 0xfb2d;\n  t[\"shindageshsindothebrew\"] = 0xfb2d;\n  t[\"shindothebrew\"] = 0x05c1;\n  t[\"shinhebrew\"] = 0x05e9;\n  t[\"shinshindot\"] = 0xfb2a;\n  t[\"shinshindothebrew\"] = 0xfb2a;\n  t[\"shinsindot\"] = 0xfb2b;\n  t[\"shinsindothebrew\"] = 0xfb2b;\n  t[\"shook\"] = 0x0282;\n  t[\"sigma\"] = 0x03c3;\n  t[\"sigma1\"] = 0x03c2;\n  t[\"sigmafinal\"] = 0x03c2;\n  t[\"sigmalunatesymbolgreek\"] = 0x03f2;\n  t[\"sihiragana\"] = 0x3057;\n  t[\"sikatakana\"] = 0x30b7;\n  t[\"sikatakanahalfwidth\"] = 0xff7c;\n  t[\"siluqhebrew\"] = 0x05bd;\n  t[\"siluqlefthebrew\"] = 0x05bd;\n  t[\"similar\"] = 0x223c;\n  t[\"sindothebrew\"] = 0x05c2;\n  t[\"siosacirclekorean\"] = 0x3274;\n  t[\"siosaparenkorean\"] = 0x3214;\n  t[\"sioscieuckorean\"] = 0x317e;\n  t[\"sioscirclekorean\"] = 0x3266;\n  t[\"sioskiyeokkorean\"] = 0x317a;\n  t[\"sioskorean\"] = 0x3145;\n  t[\"siosnieunkorean\"] = 0x317b;\n  t[\"siosparenkorean\"] = 0x3206;\n  t[\"siospieupkorean\"] = 0x317d;\n  t[\"siostikeutkorean\"] = 0x317c;\n  t[\"six\"] = 0x0036;\n  t[\"sixarabic\"] = 0x0666;\n  t[\"sixbengali\"] = 0x09ec;\n  t[\"sixcircle\"] = 0x2465;\n  t[\"sixcircleinversesansserif\"] = 0x278f;\n  t[\"sixdeva\"] = 0x096c;\n  t[\"sixgujarati\"] = 0x0aec;\n  t[\"sixgurmukhi\"] = 0x0a6c;\n  t[\"sixhackarabic\"] = 0x0666;\n  t[\"sixhangzhou\"] = 0x3026;\n  t[\"sixideographicparen\"] = 0x3225;\n  t[\"sixinferior\"] = 0x2086;\n  t[\"sixmonospace\"] = 0xff16;\n  t[\"sixoldstyle\"] = 0xf736;\n  t[\"sixparen\"] = 0x2479;\n  t[\"sixperiod\"] = 0x248d;\n  t[\"sixpersian\"] = 0x06f6;\n  t[\"sixroman\"] = 0x2175;\n  t[\"sixsuperior\"] = 0x2076;\n  t[\"sixteencircle\"] = 0x246f;\n  t[\"sixteencurrencydenominatorbengali\"] = 0x09f9;\n  t[\"sixteenparen\"] = 0x2483;\n  t[\"sixteenperiod\"] = 0x2497;\n  t[\"sixthai\"] = 0x0e56;\n  t[\"slash\"] = 0x002f;\n  t[\"slashmonospace\"] = 0xff0f;\n  t[\"slong\"] = 0x017f;\n  t[\"slongdotaccent\"] = 0x1e9b;\n  t[\"smileface\"] = 0x263a;\n  t[\"smonospace\"] = 0xff53;\n  t[\"sofpasuqhebrew\"] = 0x05c3;\n  t[\"softhyphen\"] = 0x00ad;\n  t[\"softsigncyrillic\"] = 0x044c;\n  t[\"sohiragana\"] = 0x305d;\n  t[\"sokatakana\"] = 0x30bd;\n  t[\"sokatakanahalfwidth\"] = 0xff7f;\n  t[\"soliduslongoverlaycmb\"] = 0x0338;\n  t[\"solidusshortoverlaycmb\"] = 0x0337;\n  t[\"sorusithai\"] = 0x0e29;\n  t[\"sosalathai\"] = 0x0e28;\n  t[\"sosothai\"] = 0x0e0b;\n  t[\"sosuathai\"] = 0x0e2a;\n  t[\"space\"] = 0x0020;\n  t[\"spacehackarabic\"] = 0x0020;\n  t[\"spade\"] = 0x2660;\n  t[\"spadesuitblack\"] = 0x2660;\n  t[\"spadesuitwhite\"] = 0x2664;\n  t[\"sparen\"] = 0x24ae;\n  t[\"squarebelowcmb\"] = 0x033b;\n  t[\"squarecc\"] = 0x33c4;\n  t[\"squarecm\"] = 0x339d;\n  t[\"squarediagonalcrosshatchfill\"] = 0x25a9;\n  t[\"squarehorizontalfill\"] = 0x25a4;\n  t[\"squarekg\"] = 0x338f;\n  t[\"squarekm\"] = 0x339e;\n  t[\"squarekmcapital\"] = 0x33ce;\n  t[\"squareln\"] = 0x33d1;\n  t[\"squarelog\"] = 0x33d2;\n  t[\"squaremg\"] = 0x338e;\n  t[\"squaremil\"] = 0x33d5;\n  t[\"squaremm\"] = 0x339c;\n  t[\"squaremsquared\"] = 0x33a1;\n  t[\"squareorthogonalcrosshatchfill\"] = 0x25a6;\n  t[\"squareupperlefttolowerrightfill\"] = 0x25a7;\n  t[\"squareupperrighttolowerleftfill\"] = 0x25a8;\n  t[\"squareverticalfill\"] = 0x25a5;\n  t[\"squarewhitewithsmallblack\"] = 0x25a3;\n  t[\"srsquare\"] = 0x33db;\n  t[\"ssabengali\"] = 0x09b7;\n  t[\"ssadeva\"] = 0x0937;\n  t[\"ssagujarati\"] = 0x0ab7;\n  t[\"ssangcieuckorean\"] = 0x3149;\n  t[\"ssanghieuhkorean\"] = 0x3185;\n  t[\"ssangieungkorean\"] = 0x3180;\n  t[\"ssangkiyeokkorean\"] = 0x3132;\n  t[\"ssangnieunkorean\"] = 0x3165;\n  t[\"ssangpieupkorean\"] = 0x3143;\n  t[\"ssangsioskorean\"] = 0x3146;\n  t[\"ssangtikeutkorean\"] = 0x3138;\n  t[\"ssuperior\"] = 0xf6f2;\n  t[\"sterling\"] = 0x00a3;\n  t[\"sterlingmonospace\"] = 0xffe1;\n  t[\"strokelongoverlaycmb\"] = 0x0336;\n  t[\"strokeshortoverlaycmb\"] = 0x0335;\n  t[\"subset\"] = 0x2282;\n  t[\"subsetnotequal\"] = 0x228a;\n  t[\"subsetorequal\"] = 0x2286;\n  t[\"succeeds\"] = 0x227b;\n  t[\"suchthat\"] = 0x220b;\n  t[\"suhiragana\"] = 0x3059;\n  t[\"sukatakana\"] = 0x30b9;\n  t[\"sukatakanahalfwidth\"] = 0xff7d;\n  t[\"sukunarabic\"] = 0x0652;\n  t[\"summation\"] = 0x2211;\n  t[\"sun\"] = 0x263c;\n  t[\"superset\"] = 0x2283;\n  t[\"supersetnotequal\"] = 0x228b;\n  t[\"supersetorequal\"] = 0x2287;\n  t[\"svsquare\"] = 0x33dc;\n  t[\"syouwaerasquare\"] = 0x337c;\n  t[\"t\"] = 0x0074;\n  t[\"tabengali\"] = 0x09a4;\n  t[\"tackdown\"] = 0x22a4;\n  t[\"tackleft\"] = 0x22a3;\n  t[\"tadeva\"] = 0x0924;\n  t[\"tagujarati\"] = 0x0aa4;\n  t[\"tagurmukhi\"] = 0x0a24;\n  t[\"taharabic\"] = 0x0637;\n  t[\"tahfinalarabic\"] = 0xfec2;\n  t[\"tahinitialarabic\"] = 0xfec3;\n  t[\"tahiragana\"] = 0x305f;\n  t[\"tahmedialarabic\"] = 0xfec4;\n  t[\"taisyouerasquare\"] = 0x337d;\n  t[\"takatakana\"] = 0x30bf;\n  t[\"takatakanahalfwidth\"] = 0xff80;\n  t[\"tatweelarabic\"] = 0x0640;\n  t[\"tau\"] = 0x03c4;\n  t[\"tav\"] = 0x05ea;\n  t[\"tavdages\"] = 0xfb4a;\n  t[\"tavdagesh\"] = 0xfb4a;\n  t[\"tavdageshhebrew\"] = 0xfb4a;\n  t[\"tavhebrew\"] = 0x05ea;\n  t[\"tbar\"] = 0x0167;\n  t[\"tbopomofo\"] = 0x310a;\n  t[\"tcaron\"] = 0x0165;\n  t[\"tccurl\"] = 0x02a8;\n  t[\"tcedilla\"] = 0x0163;\n  t[\"tcheharabic\"] = 0x0686;\n  t[\"tchehfinalarabic\"] = 0xfb7b;\n  t[\"tchehinitialarabic\"] = 0xfb7c;\n  t[\"tchehmedialarabic\"] = 0xfb7d;\n  t[\"tcircle\"] = 0x24e3;\n  t[\"tcircumflexbelow\"] = 0x1e71;\n  t[\"tcommaaccent\"] = 0x0163;\n  t[\"tdieresis\"] = 0x1e97;\n  t[\"tdotaccent\"] = 0x1e6b;\n  t[\"tdotbelow\"] = 0x1e6d;\n  t[\"tecyrillic\"] = 0x0442;\n  t[\"tedescendercyrillic\"] = 0x04ad;\n  t[\"teharabic\"] = 0x062a;\n  t[\"tehfinalarabic\"] = 0xfe96;\n  t[\"tehhahinitialarabic\"] = 0xfca2;\n  t[\"tehhahisolatedarabic\"] = 0xfc0c;\n  t[\"tehinitialarabic\"] = 0xfe97;\n  t[\"tehiragana\"] = 0x3066;\n  t[\"tehjeeminitialarabic\"] = 0xfca1;\n  t[\"tehjeemisolatedarabic\"] = 0xfc0b;\n  t[\"tehmarbutaarabic\"] = 0x0629;\n  t[\"tehmarbutafinalarabic\"] = 0xfe94;\n  t[\"tehmedialarabic\"] = 0xfe98;\n  t[\"tehmeeminitialarabic\"] = 0xfca4;\n  t[\"tehmeemisolatedarabic\"] = 0xfc0e;\n  t[\"tehnoonfinalarabic\"] = 0xfc73;\n  t[\"tekatakana\"] = 0x30c6;\n  t[\"tekatakanahalfwidth\"] = 0xff83;\n  t[\"telephone\"] = 0x2121;\n  t[\"telephoneblack\"] = 0x260e;\n  t[\"telishagedolahebrew\"] = 0x05a0;\n  t[\"telishaqetanahebrew\"] = 0x05a9;\n  t[\"tencircle\"] = 0x2469;\n  t[\"tenideographicparen\"] = 0x3229;\n  t[\"tenparen\"] = 0x247d;\n  t[\"tenperiod\"] = 0x2491;\n  t[\"tenroman\"] = 0x2179;\n  t[\"tesh\"] = 0x02a7;\n  t[\"tet\"] = 0x05d8;\n  t[\"tetdagesh\"] = 0xfb38;\n  t[\"tetdageshhebrew\"] = 0xfb38;\n  t[\"tethebrew\"] = 0x05d8;\n  t[\"tetsecyrillic\"] = 0x04b5;\n  t[\"tevirhebrew\"] = 0x059b;\n  t[\"tevirlefthebrew\"] = 0x059b;\n  t[\"thabengali\"] = 0x09a5;\n  t[\"thadeva\"] = 0x0925;\n  t[\"thagujarati\"] = 0x0aa5;\n  t[\"thagurmukhi\"] = 0x0a25;\n  t[\"thalarabic\"] = 0x0630;\n  t[\"thalfinalarabic\"] = 0xfeac;\n  t[\"thanthakhatlowleftthai\"] = 0xf898;\n  t[\"thanthakhatlowrightthai\"] = 0xf897;\n  t[\"thanthakhatthai\"] = 0x0e4c;\n  t[\"thanthakhatupperleftthai\"] = 0xf896;\n  t[\"theharabic\"] = 0x062b;\n  t[\"thehfinalarabic\"] = 0xfe9a;\n  t[\"thehinitialarabic\"] = 0xfe9b;\n  t[\"thehmedialarabic\"] = 0xfe9c;\n  t[\"thereexists\"] = 0x2203;\n  t[\"therefore\"] = 0x2234;\n  t[\"theta\"] = 0x03b8;\n  t[\"theta1\"] = 0x03d1;\n  t[\"thetasymbolgreek\"] = 0x03d1;\n  t[\"thieuthacirclekorean\"] = 0x3279;\n  t[\"thieuthaparenkorean\"] = 0x3219;\n  t[\"thieuthcirclekorean\"] = 0x326b;\n  t[\"thieuthkorean\"] = 0x314c;\n  t[\"thieuthparenkorean\"] = 0x320b;\n  t[\"thirteencircle\"] = 0x246c;\n  t[\"thirteenparen\"] = 0x2480;\n  t[\"thirteenperiod\"] = 0x2494;\n  t[\"thonangmonthothai\"] = 0x0e11;\n  t[\"thook\"] = 0x01ad;\n  t[\"thophuthaothai\"] = 0x0e12;\n  t[\"thorn\"] = 0x00fe;\n  t[\"thothahanthai\"] = 0x0e17;\n  t[\"thothanthai\"] = 0x0e10;\n  t[\"thothongthai\"] = 0x0e18;\n  t[\"thothungthai\"] = 0x0e16;\n  t[\"thousandcyrillic\"] = 0x0482;\n  t[\"thousandsseparatorarabic\"] = 0x066c;\n  t[\"thousandsseparatorpersian\"] = 0x066c;\n  t[\"three\"] = 0x0033;\n  t[\"threearabic\"] = 0x0663;\n  t[\"threebengali\"] = 0x09e9;\n  t[\"threecircle\"] = 0x2462;\n  t[\"threecircleinversesansserif\"] = 0x278c;\n  t[\"threedeva\"] = 0x0969;\n  t[\"threeeighths\"] = 0x215c;\n  t[\"threegujarati\"] = 0x0ae9;\n  t[\"threegurmukhi\"] = 0x0a69;\n  t[\"threehackarabic\"] = 0x0663;\n  t[\"threehangzhou\"] = 0x3023;\n  t[\"threeideographicparen\"] = 0x3222;\n  t[\"threeinferior\"] = 0x2083;\n  t[\"threemonospace\"] = 0xff13;\n  t[\"threenumeratorbengali\"] = 0x09f6;\n  t[\"threeoldstyle\"] = 0xf733;\n  t[\"threeparen\"] = 0x2476;\n  t[\"threeperiod\"] = 0x248a;\n  t[\"threepersian\"] = 0x06f3;\n  t[\"threequarters\"] = 0x00be;\n  t[\"threequartersemdash\"] = 0xf6de;\n  t[\"threeroman\"] = 0x2172;\n  t[\"threesuperior\"] = 0x00b3;\n  t[\"threethai\"] = 0x0e53;\n  t[\"thzsquare\"] = 0x3394;\n  t[\"tihiragana\"] = 0x3061;\n  t[\"tikatakana\"] = 0x30c1;\n  t[\"tikatakanahalfwidth\"] = 0xff81;\n  t[\"tikeutacirclekorean\"] = 0x3270;\n  t[\"tikeutaparenkorean\"] = 0x3210;\n  t[\"tikeutcirclekorean\"] = 0x3262;\n  t[\"tikeutkorean\"] = 0x3137;\n  t[\"tikeutparenkorean\"] = 0x3202;\n  t[\"tilde\"] = 0x02dc;\n  t[\"tildebelowcmb\"] = 0x0330;\n  t[\"tildecmb\"] = 0x0303;\n  t[\"tildecomb\"] = 0x0303;\n  t[\"tildedoublecmb\"] = 0x0360;\n  t[\"tildeoperator\"] = 0x223c;\n  t[\"tildeoverlaycmb\"] = 0x0334;\n  t[\"tildeverticalcmb\"] = 0x033e;\n  t[\"timescircle\"] = 0x2297;\n  t[\"tipehahebrew\"] = 0x0596;\n  t[\"tipehalefthebrew\"] = 0x0596;\n  t[\"tippigurmukhi\"] = 0x0a70;\n  t[\"titlocyrilliccmb\"] = 0x0483;\n  t[\"tiwnarmenian\"] = 0x057f;\n  t[\"tlinebelow\"] = 0x1e6f;\n  t[\"tmonospace\"] = 0xff54;\n  t[\"toarmenian\"] = 0x0569;\n  t[\"tohiragana\"] = 0x3068;\n  t[\"tokatakana\"] = 0x30c8;\n  t[\"tokatakanahalfwidth\"] = 0xff84;\n  t[\"tonebarextrahighmod\"] = 0x02e5;\n  t[\"tonebarextralowmod\"] = 0x02e9;\n  t[\"tonebarhighmod\"] = 0x02e6;\n  t[\"tonebarlowmod\"] = 0x02e8;\n  t[\"tonebarmidmod\"] = 0x02e7;\n  t[\"tonefive\"] = 0x01bd;\n  t[\"tonesix\"] = 0x0185;\n  t[\"tonetwo\"] = 0x01a8;\n  t[\"tonos\"] = 0x0384;\n  t[\"tonsquare\"] = 0x3327;\n  t[\"topatakthai\"] = 0x0e0f;\n  t[\"tortoiseshellbracketleft\"] = 0x3014;\n  t[\"tortoiseshellbracketleftsmall\"] = 0xfe5d;\n  t[\"tortoiseshellbracketleftvertical\"] = 0xfe39;\n  t[\"tortoiseshellbracketright\"] = 0x3015;\n  t[\"tortoiseshellbracketrightsmall\"] = 0xfe5e;\n  t[\"tortoiseshellbracketrightvertical\"] = 0xfe3a;\n  t[\"totaothai\"] = 0x0e15;\n  t[\"tpalatalhook\"] = 0x01ab;\n  t[\"tparen\"] = 0x24af;\n  t[\"trademark\"] = 0x2122;\n  t[\"trademarksans\"] = 0xf8ea;\n  t[\"trademarkserif\"] = 0xf6db;\n  t[\"tretroflexhook\"] = 0x0288;\n  t[\"triagdn\"] = 0x25bc;\n  t[\"triaglf\"] = 0x25c4;\n  t[\"triagrt\"] = 0x25ba;\n  t[\"triagup\"] = 0x25b2;\n  t[\"ts\"] = 0x02a6;\n  t[\"tsadi\"] = 0x05e6;\n  t[\"tsadidagesh\"] = 0xfb46;\n  t[\"tsadidageshhebrew\"] = 0xfb46;\n  t[\"tsadihebrew\"] = 0x05e6;\n  t[\"tsecyrillic\"] = 0x0446;\n  t[\"tsere\"] = 0x05b5;\n  t[\"tsere12\"] = 0x05b5;\n  t[\"tsere1e\"] = 0x05b5;\n  t[\"tsere2b\"] = 0x05b5;\n  t[\"tserehebrew\"] = 0x05b5;\n  t[\"tserenarrowhebrew\"] = 0x05b5;\n  t[\"tserequarterhebrew\"] = 0x05b5;\n  t[\"tserewidehebrew\"] = 0x05b5;\n  t[\"tshecyrillic\"] = 0x045b;\n  t[\"tsuperior\"] = 0xf6f3;\n  t[\"ttabengali\"] = 0x099f;\n  t[\"ttadeva\"] = 0x091f;\n  t[\"ttagujarati\"] = 0x0a9f;\n  t[\"ttagurmukhi\"] = 0x0a1f;\n  t[\"tteharabic\"] = 0x0679;\n  t[\"ttehfinalarabic\"] = 0xfb67;\n  t[\"ttehinitialarabic\"] = 0xfb68;\n  t[\"ttehmedialarabic\"] = 0xfb69;\n  t[\"tthabengali\"] = 0x09a0;\n  t[\"tthadeva\"] = 0x0920;\n  t[\"tthagujarati\"] = 0x0aa0;\n  t[\"tthagurmukhi\"] = 0x0a20;\n  t[\"tturned\"] = 0x0287;\n  t[\"tuhiragana\"] = 0x3064;\n  t[\"tukatakana\"] = 0x30c4;\n  t[\"tukatakanahalfwidth\"] = 0xff82;\n  t[\"tusmallhiragana\"] = 0x3063;\n  t[\"tusmallkatakana\"] = 0x30c3;\n  t[\"tusmallkatakanahalfwidth\"] = 0xff6f;\n  t[\"twelvecircle\"] = 0x246b;\n  t[\"twelveparen\"] = 0x247f;\n  t[\"twelveperiod\"] = 0x2493;\n  t[\"twelveroman\"] = 0x217b;\n  t[\"twentycircle\"] = 0x2473;\n  t[\"twentyhangzhou\"] = 0x5344;\n  t[\"twentyparen\"] = 0x2487;\n  t[\"twentyperiod\"] = 0x249b;\n  t[\"two\"] = 0x0032;\n  t[\"twoarabic\"] = 0x0662;\n  t[\"twobengali\"] = 0x09e8;\n  t[\"twocircle\"] = 0x2461;\n  t[\"twocircleinversesansserif\"] = 0x278b;\n  t[\"twodeva\"] = 0x0968;\n  t[\"twodotenleader\"] = 0x2025;\n  t[\"twodotleader\"] = 0x2025;\n  t[\"twodotleadervertical\"] = 0xfe30;\n  t[\"twogujarati\"] = 0x0ae8;\n  t[\"twogurmukhi\"] = 0x0a68;\n  t[\"twohackarabic\"] = 0x0662;\n  t[\"twohangzhou\"] = 0x3022;\n  t[\"twoideographicparen\"] = 0x3221;\n  t[\"twoinferior\"] = 0x2082;\n  t[\"twomonospace\"] = 0xff12;\n  t[\"twonumeratorbengali\"] = 0x09f5;\n  t[\"twooldstyle\"] = 0xf732;\n  t[\"twoparen\"] = 0x2475;\n  t[\"twoperiod\"] = 0x2489;\n  t[\"twopersian\"] = 0x06f2;\n  t[\"tworoman\"] = 0x2171;\n  t[\"twostroke\"] = 0x01bb;\n  t[\"twosuperior\"] = 0x00b2;\n  t[\"twothai\"] = 0x0e52;\n  t[\"twothirds\"] = 0x2154;\n  t[\"u\"] = 0x0075;\n  t[\"uacute\"] = 0x00fa;\n  t[\"ubar\"] = 0x0289;\n  t[\"ubengali\"] = 0x0989;\n  t[\"ubopomofo\"] = 0x3128;\n  t[\"ubreve\"] = 0x016d;\n  t[\"ucaron\"] = 0x01d4;\n  t[\"ucircle\"] = 0x24e4;\n  t[\"ucircumflex\"] = 0x00fb;\n  t[\"ucircumflexbelow\"] = 0x1e77;\n  t[\"ucyrillic\"] = 0x0443;\n  t[\"udattadeva\"] = 0x0951;\n  t[\"udblacute\"] = 0x0171;\n  t[\"udblgrave\"] = 0x0215;\n  t[\"udeva\"] = 0x0909;\n  t[\"udieresis\"] = 0x00fc;\n  t[\"udieresisacute\"] = 0x01d8;\n  t[\"udieresisbelow\"] = 0x1e73;\n  t[\"udieresiscaron\"] = 0x01da;\n  t[\"udieresiscyrillic\"] = 0x04f1;\n  t[\"udieresisgrave\"] = 0x01dc;\n  t[\"udieresismacron\"] = 0x01d6;\n  t[\"udotbelow\"] = 0x1ee5;\n  t[\"ugrave\"] = 0x00f9;\n  t[\"ugujarati\"] = 0x0a89;\n  t[\"ugurmukhi\"] = 0x0a09;\n  t[\"uhiragana\"] = 0x3046;\n  t[\"uhookabove\"] = 0x1ee7;\n  t[\"uhorn\"] = 0x01b0;\n  t[\"uhornacute\"] = 0x1ee9;\n  t[\"uhorndotbelow\"] = 0x1ef1;\n  t[\"uhorngrave\"] = 0x1eeb;\n  t[\"uhornhookabove\"] = 0x1eed;\n  t[\"uhorntilde\"] = 0x1eef;\n  t[\"uhungarumlaut\"] = 0x0171;\n  t[\"uhungarumlautcyrillic\"] = 0x04f3;\n  t[\"uinvertedbreve\"] = 0x0217;\n  t[\"ukatakana\"] = 0x30a6;\n  t[\"ukatakanahalfwidth\"] = 0xff73;\n  t[\"ukcyrillic\"] = 0x0479;\n  t[\"ukorean\"] = 0x315c;\n  t[\"umacron\"] = 0x016b;\n  t[\"umacroncyrillic\"] = 0x04ef;\n  t[\"umacrondieresis\"] = 0x1e7b;\n  t[\"umatragurmukhi\"] = 0x0a41;\n  t[\"umonospace\"] = 0xff55;\n  t[\"underscore\"] = 0x005f;\n  t[\"underscoredbl\"] = 0x2017;\n  t[\"underscoremonospace\"] = 0xff3f;\n  t[\"underscorevertical\"] = 0xfe33;\n  t[\"underscorewavy\"] = 0xfe4f;\n  t[\"union\"] = 0x222a;\n  t[\"universal\"] = 0x2200;\n  t[\"uogonek\"] = 0x0173;\n  t[\"uparen\"] = 0x24b0;\n  t[\"upblock\"] = 0x2580;\n  t[\"upperdothebrew\"] = 0x05c4;\n  t[\"upsilon\"] = 0x03c5;\n  t[\"upsilondieresis\"] = 0x03cb;\n  t[\"upsilondieresistonos\"] = 0x03b0;\n  t[\"upsilonlatin\"] = 0x028a;\n  t[\"upsilontonos\"] = 0x03cd;\n  t[\"uptackbelowcmb\"] = 0x031d;\n  t[\"uptackmod\"] = 0x02d4;\n  t[\"uragurmukhi\"] = 0x0a73;\n  t[\"uring\"] = 0x016f;\n  t[\"ushortcyrillic\"] = 0x045e;\n  t[\"usmallhiragana\"] = 0x3045;\n  t[\"usmallkatakana\"] = 0x30a5;\n  t[\"usmallkatakanahalfwidth\"] = 0xff69;\n  t[\"ustraightcyrillic\"] = 0x04af;\n  t[\"ustraightstrokecyrillic\"] = 0x04b1;\n  t[\"utilde\"] = 0x0169;\n  t[\"utildeacute\"] = 0x1e79;\n  t[\"utildebelow\"] = 0x1e75;\n  t[\"uubengali\"] = 0x098a;\n  t[\"uudeva\"] = 0x090a;\n  t[\"uugujarati\"] = 0x0a8a;\n  t[\"uugurmukhi\"] = 0x0a0a;\n  t[\"uumatragurmukhi\"] = 0x0a42;\n  t[\"uuvowelsignbengali\"] = 0x09c2;\n  t[\"uuvowelsigndeva\"] = 0x0942;\n  t[\"uuvowelsigngujarati\"] = 0x0ac2;\n  t[\"uvowelsignbengali\"] = 0x09c1;\n  t[\"uvowelsigndeva\"] = 0x0941;\n  t[\"uvowelsigngujarati\"] = 0x0ac1;\n  t[\"v\"] = 0x0076;\n  t[\"vadeva\"] = 0x0935;\n  t[\"vagujarati\"] = 0x0ab5;\n  t[\"vagurmukhi\"] = 0x0a35;\n  t[\"vakatakana\"] = 0x30f7;\n  t[\"vav\"] = 0x05d5;\n  t[\"vavdagesh\"] = 0xfb35;\n  t[\"vavdagesh65\"] = 0xfb35;\n  t[\"vavdageshhebrew\"] = 0xfb35;\n  t[\"vavhebrew\"] = 0x05d5;\n  t[\"vavholam\"] = 0xfb4b;\n  t[\"vavholamhebrew\"] = 0xfb4b;\n  t[\"vavvavhebrew\"] = 0x05f0;\n  t[\"vavyodhebrew\"] = 0x05f1;\n  t[\"vcircle\"] = 0x24e5;\n  t[\"vdotbelow\"] = 0x1e7f;\n  t[\"vecyrillic\"] = 0x0432;\n  t[\"veharabic\"] = 0x06a4;\n  t[\"vehfinalarabic\"] = 0xfb6b;\n  t[\"vehinitialarabic\"] = 0xfb6c;\n  t[\"vehmedialarabic\"] = 0xfb6d;\n  t[\"vekatakana\"] = 0x30f9;\n  t[\"venus\"] = 0x2640;\n  t[\"verticalbar\"] = 0x007c;\n  t[\"verticallineabovecmb\"] = 0x030d;\n  t[\"verticallinebelowcmb\"] = 0x0329;\n  t[\"verticallinelowmod\"] = 0x02cc;\n  t[\"verticallinemod\"] = 0x02c8;\n  t[\"vewarmenian\"] = 0x057e;\n  t[\"vhook\"] = 0x028b;\n  t[\"vikatakana\"] = 0x30f8;\n  t[\"viramabengali\"] = 0x09cd;\n  t[\"viramadeva\"] = 0x094d;\n  t[\"viramagujarati\"] = 0x0acd;\n  t[\"visargabengali\"] = 0x0983;\n  t[\"visargadeva\"] = 0x0903;\n  t[\"visargagujarati\"] = 0x0a83;\n  t[\"vmonospace\"] = 0xff56;\n  t[\"voarmenian\"] = 0x0578;\n  t[\"voicediterationhiragana\"] = 0x309e;\n  t[\"voicediterationkatakana\"] = 0x30fe;\n  t[\"voicedmarkkana\"] = 0x309b;\n  t[\"voicedmarkkanahalfwidth\"] = 0xff9e;\n  t[\"vokatakana\"] = 0x30fa;\n  t[\"vparen\"] = 0x24b1;\n  t[\"vtilde\"] = 0x1e7d;\n  t[\"vturned\"] = 0x028c;\n  t[\"vuhiragana\"] = 0x3094;\n  t[\"vukatakana\"] = 0x30f4;\n  t[\"w\"] = 0x0077;\n  t[\"wacute\"] = 0x1e83;\n  t[\"waekorean\"] = 0x3159;\n  t[\"wahiragana\"] = 0x308f;\n  t[\"wakatakana\"] = 0x30ef;\n  t[\"wakatakanahalfwidth\"] = 0xff9c;\n  t[\"wakorean\"] = 0x3158;\n  t[\"wasmallhiragana\"] = 0x308e;\n  t[\"wasmallkatakana\"] = 0x30ee;\n  t[\"wattosquare\"] = 0x3357;\n  t[\"wavedash\"] = 0x301c;\n  t[\"wavyunderscorevertical\"] = 0xfe34;\n  t[\"wawarabic\"] = 0x0648;\n  t[\"wawfinalarabic\"] = 0xfeee;\n  t[\"wawhamzaabovearabic\"] = 0x0624;\n  t[\"wawhamzaabovefinalarabic\"] = 0xfe86;\n  t[\"wbsquare\"] = 0x33dd;\n  t[\"wcircle\"] = 0x24e6;\n  t[\"wcircumflex\"] = 0x0175;\n  t[\"wdieresis\"] = 0x1e85;\n  t[\"wdotaccent\"] = 0x1e87;\n  t[\"wdotbelow\"] = 0x1e89;\n  t[\"wehiragana\"] = 0x3091;\n  t[\"weierstrass\"] = 0x2118;\n  t[\"wekatakana\"] = 0x30f1;\n  t[\"wekorean\"] = 0x315e;\n  t[\"weokorean\"] = 0x315d;\n  t[\"wgrave\"] = 0x1e81;\n  t[\"whitebullet\"] = 0x25e6;\n  t[\"whitecircle\"] = 0x25cb;\n  t[\"whitecircleinverse\"] = 0x25d9;\n  t[\"whitecornerbracketleft\"] = 0x300e;\n  t[\"whitecornerbracketleftvertical\"] = 0xfe43;\n  t[\"whitecornerbracketright\"] = 0x300f;\n  t[\"whitecornerbracketrightvertical\"] = 0xfe44;\n  t[\"whitediamond\"] = 0x25c7;\n  t[\"whitediamondcontainingblacksmalldiamond\"] = 0x25c8;\n  t[\"whitedownpointingsmalltriangle\"] = 0x25bf;\n  t[\"whitedownpointingtriangle\"] = 0x25bd;\n  t[\"whiteleftpointingsmalltriangle\"] = 0x25c3;\n  t[\"whiteleftpointingtriangle\"] = 0x25c1;\n  t[\"whitelenticularbracketleft\"] = 0x3016;\n  t[\"whitelenticularbracketright\"] = 0x3017;\n  t[\"whiterightpointingsmalltriangle\"] = 0x25b9;\n  t[\"whiterightpointingtriangle\"] = 0x25b7;\n  t[\"whitesmallsquare\"] = 0x25ab;\n  t[\"whitesmilingface\"] = 0x263a;\n  t[\"whitesquare\"] = 0x25a1;\n  t[\"whitestar\"] = 0x2606;\n  t[\"whitetelephone\"] = 0x260f;\n  t[\"whitetortoiseshellbracketleft\"] = 0x3018;\n  t[\"whitetortoiseshellbracketright\"] = 0x3019;\n  t[\"whiteuppointingsmalltriangle\"] = 0x25b5;\n  t[\"whiteuppointingtriangle\"] = 0x25b3;\n  t[\"wihiragana\"] = 0x3090;\n  t[\"wikatakana\"] = 0x30f0;\n  t[\"wikorean\"] = 0x315f;\n  t[\"wmonospace\"] = 0xff57;\n  t[\"wohiragana\"] = 0x3092;\n  t[\"wokatakana\"] = 0x30f2;\n  t[\"wokatakanahalfwidth\"] = 0xff66;\n  t[\"won\"] = 0x20a9;\n  t[\"wonmonospace\"] = 0xffe6;\n  t[\"wowaenthai\"] = 0x0e27;\n  t[\"wparen\"] = 0x24b2;\n  t[\"wring\"] = 0x1e98;\n  t[\"wsuperior\"] = 0x02b7;\n  t[\"wturned\"] = 0x028d;\n  t[\"wynn\"] = 0x01bf;\n  t[\"x\"] = 0x0078;\n  t[\"xabovecmb\"] = 0x033d;\n  t[\"xbopomofo\"] = 0x3112;\n  t[\"xcircle\"] = 0x24e7;\n  t[\"xdieresis\"] = 0x1e8d;\n  t[\"xdotaccent\"] = 0x1e8b;\n  t[\"xeharmenian\"] = 0x056d;\n  t[\"xi\"] = 0x03be;\n  t[\"xmonospace\"] = 0xff58;\n  t[\"xparen\"] = 0x24b3;\n  t[\"xsuperior\"] = 0x02e3;\n  t[\"y\"] = 0x0079;\n  t[\"yaadosquare\"] = 0x334e;\n  t[\"yabengali\"] = 0x09af;\n  t[\"yacute\"] = 0x00fd;\n  t[\"yadeva\"] = 0x092f;\n  t[\"yaekorean\"] = 0x3152;\n  t[\"yagujarati\"] = 0x0aaf;\n  t[\"yagurmukhi\"] = 0x0a2f;\n  t[\"yahiragana\"] = 0x3084;\n  t[\"yakatakana\"] = 0x30e4;\n  t[\"yakatakanahalfwidth\"] = 0xff94;\n  t[\"yakorean\"] = 0x3151;\n  t[\"yamakkanthai\"] = 0x0e4e;\n  t[\"yasmallhiragana\"] = 0x3083;\n  t[\"yasmallkatakana\"] = 0x30e3;\n  t[\"yasmallkatakanahalfwidth\"] = 0xff6c;\n  t[\"yatcyrillic\"] = 0x0463;\n  t[\"ycircle\"] = 0x24e8;\n  t[\"ycircumflex\"] = 0x0177;\n  t[\"ydieresis\"] = 0x00ff;\n  t[\"ydotaccent\"] = 0x1e8f;\n  t[\"ydotbelow\"] = 0x1ef5;\n  t[\"yeharabic\"] = 0x064a;\n  t[\"yehbarreearabic\"] = 0x06d2;\n  t[\"yehbarreefinalarabic\"] = 0xfbaf;\n  t[\"yehfinalarabic\"] = 0xfef2;\n  t[\"yehhamzaabovearabic\"] = 0x0626;\n  t[\"yehhamzaabovefinalarabic\"] = 0xfe8a;\n  t[\"yehhamzaaboveinitialarabic\"] = 0xfe8b;\n  t[\"yehhamzaabovemedialarabic\"] = 0xfe8c;\n  t[\"yehinitialarabic\"] = 0xfef3;\n  t[\"yehmedialarabic\"] = 0xfef4;\n  t[\"yehmeeminitialarabic\"] = 0xfcdd;\n  t[\"yehmeemisolatedarabic\"] = 0xfc58;\n  t[\"yehnoonfinalarabic\"] = 0xfc94;\n  t[\"yehthreedotsbelowarabic\"] = 0x06d1;\n  t[\"yekorean\"] = 0x3156;\n  t[\"yen\"] = 0x00a5;\n  t[\"yenmonospace\"] = 0xffe5;\n  t[\"yeokorean\"] = 0x3155;\n  t[\"yeorinhieuhkorean\"] = 0x3186;\n  t[\"yerahbenyomohebrew\"] = 0x05aa;\n  t[\"yerahbenyomolefthebrew\"] = 0x05aa;\n  t[\"yericyrillic\"] = 0x044b;\n  t[\"yerudieresiscyrillic\"] = 0x04f9;\n  t[\"yesieungkorean\"] = 0x3181;\n  t[\"yesieungpansioskorean\"] = 0x3183;\n  t[\"yesieungsioskorean\"] = 0x3182;\n  t[\"yetivhebrew\"] = 0x059a;\n  t[\"ygrave\"] = 0x1ef3;\n  t[\"yhook\"] = 0x01b4;\n  t[\"yhookabove\"] = 0x1ef7;\n  t[\"yiarmenian\"] = 0x0575;\n  t[\"yicyrillic\"] = 0x0457;\n  t[\"yikorean\"] = 0x3162;\n  t[\"yinyang\"] = 0x262f;\n  t[\"yiwnarmenian\"] = 0x0582;\n  t[\"ymonospace\"] = 0xff59;\n  t[\"yod\"] = 0x05d9;\n  t[\"yoddagesh\"] = 0xfb39;\n  t[\"yoddageshhebrew\"] = 0xfb39;\n  t[\"yodhebrew\"] = 0x05d9;\n  t[\"yodyodhebrew\"] = 0x05f2;\n  t[\"yodyodpatahhebrew\"] = 0xfb1f;\n  t[\"yohiragana\"] = 0x3088;\n  t[\"yoikorean\"] = 0x3189;\n  t[\"yokatakana\"] = 0x30e8;\n  t[\"yokatakanahalfwidth\"] = 0xff96;\n  t[\"yokorean\"] = 0x315b;\n  t[\"yosmallhiragana\"] = 0x3087;\n  t[\"yosmallkatakana\"] = 0x30e7;\n  t[\"yosmallkatakanahalfwidth\"] = 0xff6e;\n  t[\"yotgreek\"] = 0x03f3;\n  t[\"yoyaekorean\"] = 0x3188;\n  t[\"yoyakorean\"] = 0x3187;\n  t[\"yoyakthai\"] = 0x0e22;\n  t[\"yoyingthai\"] = 0x0e0d;\n  t[\"yparen\"] = 0x24b4;\n  t[\"ypogegrammeni\"] = 0x037a;\n  t[\"ypogegrammenigreekcmb\"] = 0x0345;\n  t[\"yr\"] = 0x01a6;\n  t[\"yring\"] = 0x1e99;\n  t[\"ysuperior\"] = 0x02b8;\n  t[\"ytilde\"] = 0x1ef9;\n  t[\"yturned\"] = 0x028e;\n  t[\"yuhiragana\"] = 0x3086;\n  t[\"yuikorean\"] = 0x318c;\n  t[\"yukatakana\"] = 0x30e6;\n  t[\"yukatakanahalfwidth\"] = 0xff95;\n  t[\"yukorean\"] = 0x3160;\n  t[\"yusbigcyrillic\"] = 0x046b;\n  t[\"yusbigiotifiedcyrillic\"] = 0x046d;\n  t[\"yuslittlecyrillic\"] = 0x0467;\n  t[\"yuslittleiotifiedcyrillic\"] = 0x0469;\n  t[\"yusmallhiragana\"] = 0x3085;\n  t[\"yusmallkatakana\"] = 0x30e5;\n  t[\"yusmallkatakanahalfwidth\"] = 0xff6d;\n  t[\"yuyekorean\"] = 0x318b;\n  t[\"yuyeokorean\"] = 0x318a;\n  t[\"yyabengali\"] = 0x09df;\n  t[\"yyadeva\"] = 0x095f;\n  t[\"z\"] = 0x007a;\n  t[\"zaarmenian\"] = 0x0566;\n  t[\"zacute\"] = 0x017a;\n  t[\"zadeva\"] = 0x095b;\n  t[\"zagurmukhi\"] = 0x0a5b;\n  t[\"zaharabic\"] = 0x0638;\n  t[\"zahfinalarabic\"] = 0xfec6;\n  t[\"zahinitialarabic\"] = 0xfec7;\n  t[\"zahiragana\"] = 0x3056;\n  t[\"zahmedialarabic\"] = 0xfec8;\n  t[\"zainarabic\"] = 0x0632;\n  t[\"zainfinalarabic\"] = 0xfeb0;\n  t[\"zakatakana\"] = 0x30b6;\n  t[\"zaqefgadolhebrew\"] = 0x0595;\n  t[\"zaqefqatanhebrew\"] = 0x0594;\n  t[\"zarqahebrew\"] = 0x0598;\n  t[\"zayin\"] = 0x05d6;\n  t[\"zayindagesh\"] = 0xfb36;\n  t[\"zayindageshhebrew\"] = 0xfb36;\n  t[\"zayinhebrew\"] = 0x05d6;\n  t[\"zbopomofo\"] = 0x3117;\n  t[\"zcaron\"] = 0x017e;\n  t[\"zcircle\"] = 0x24e9;\n  t[\"zcircumflex\"] = 0x1e91;\n  t[\"zcurl\"] = 0x0291;\n  t[\"zdot\"] = 0x017c;\n  t[\"zdotaccent\"] = 0x017c;\n  t[\"zdotbelow\"] = 0x1e93;\n  t[\"zecyrillic\"] = 0x0437;\n  t[\"zedescendercyrillic\"] = 0x0499;\n  t[\"zedieresiscyrillic\"] = 0x04df;\n  t[\"zehiragana\"] = 0x305c;\n  t[\"zekatakana\"] = 0x30bc;\n  t[\"zero\"] = 0x0030;\n  t[\"zeroarabic\"] = 0x0660;\n  t[\"zerobengali\"] = 0x09e6;\n  t[\"zerodeva\"] = 0x0966;\n  t[\"zerogujarati\"] = 0x0ae6;\n  t[\"zerogurmukhi\"] = 0x0a66;\n  t[\"zerohackarabic\"] = 0x0660;\n  t[\"zeroinferior\"] = 0x2080;\n  t[\"zeromonospace\"] = 0xff10;\n  t[\"zerooldstyle\"] = 0xf730;\n  t[\"zeropersian\"] = 0x06f0;\n  t[\"zerosuperior\"] = 0x2070;\n  t[\"zerothai\"] = 0x0e50;\n  t[\"zerowidthjoiner\"] = 0xfeff;\n  t[\"zerowidthnonjoiner\"] = 0x200c;\n  t[\"zerowidthspace\"] = 0x200b;\n  t[\"zeta\"] = 0x03b6;\n  t[\"zhbopomofo\"] = 0x3113;\n  t[\"zhearmenian\"] = 0x056a;\n  t[\"zhebrevecyrillic\"] = 0x04c2;\n  t[\"zhecyrillic\"] = 0x0436;\n  t[\"zhedescendercyrillic\"] = 0x0497;\n  t[\"zhedieresiscyrillic\"] = 0x04dd;\n  t[\"zihiragana\"] = 0x3058;\n  t[\"zikatakana\"] = 0x30b8;\n  t[\"zinorhebrew\"] = 0x05ae;\n  t[\"zlinebelow\"] = 0x1e95;\n  t[\"zmonospace\"] = 0xff5a;\n  t[\"zohiragana\"] = 0x305e;\n  t[\"zokatakana\"] = 0x30be;\n  t[\"zparen\"] = 0x24b5;\n  t[\"zretroflexhook\"] = 0x0290;\n  t[\"zstroke\"] = 0x01b6;\n  t[\"zuhiragana\"] = 0x305a;\n  t[\"zukatakana\"] = 0x30ba;\n  t[\".notdef\"] = 0x0000;\n\n  // TeX-specific glyph names.\n  t[\"angbracketleftbig\"] = 0x2329;\n  t[\"angbracketleftBig\"] = 0x2329;\n  t[\"angbracketleftbigg\"] = 0x2329;\n  t[\"angbracketleftBigg\"] = 0x2329;\n  t[\"angbracketrightBig\"] = 0x232a;\n  t[\"angbracketrightbig\"] = 0x232a;\n  t[\"angbracketrightBigg\"] = 0x232a;\n  t[\"angbracketrightbigg\"] = 0x232a;\n  t[\"arrowhookleft\"] = 0x21aa;\n  t[\"arrowhookright\"] = 0x21a9;\n  t[\"arrowlefttophalf\"] = 0x21bc;\n  t[\"arrowleftbothalf\"] = 0x21bd;\n  t[\"arrownortheast\"] = 0x2197;\n  t[\"arrownorthwest\"] = 0x2196;\n  t[\"arrowrighttophalf\"] = 0x21c0;\n  t[\"arrowrightbothalf\"] = 0x21c1;\n  t[\"arrowsoutheast\"] = 0x2198;\n  t[\"arrowsouthwest\"] = 0x2199;\n  t[\"backslashbig\"] = 0x2216;\n  t[\"backslashBig\"] = 0x2216;\n  t[\"backslashBigg\"] = 0x2216;\n  t[\"backslashbigg\"] = 0x2216;\n  t[\"bardbl\"] = 0x2016;\n  t[\"bracehtipdownleft\"] = 0xfe37;\n  t[\"bracehtipdownright\"] = 0xfe37;\n  t[\"bracehtipupleft\"] = 0xfe38;\n  t[\"bracehtipupright\"] = 0xfe38;\n  t[\"braceleftBig\"] = 0x007b;\n  t[\"braceleftbig\"] = 0x007b;\n  t[\"braceleftbigg\"] = 0x007b;\n  t[\"braceleftBigg\"] = 0x007b;\n  t[\"bracerightBig\"] = 0x007d;\n  t[\"bracerightbig\"] = 0x007d;\n  t[\"bracerightbigg\"] = 0x007d;\n  t[\"bracerightBigg\"] = 0x007d;\n  t[\"bracketleftbig\"] = 0x005b;\n  t[\"bracketleftBig\"] = 0x005b;\n  t[\"bracketleftbigg\"] = 0x005b;\n  t[\"bracketleftBigg\"] = 0x005b;\n  t[\"bracketrightBig\"] = 0x005d;\n  t[\"bracketrightbig\"] = 0x005d;\n  t[\"bracketrightbigg\"] = 0x005d;\n  t[\"bracketrightBigg\"] = 0x005d;\n  t[\"ceilingleftbig\"] = 0x2308;\n  t[\"ceilingleftBig\"] = 0x2308;\n  t[\"ceilingleftBigg\"] = 0x2308;\n  t[\"ceilingleftbigg\"] = 0x2308;\n  t[\"ceilingrightbig\"] = 0x2309;\n  t[\"ceilingrightBig\"] = 0x2309;\n  t[\"ceilingrightbigg\"] = 0x2309;\n  t[\"ceilingrightBigg\"] = 0x2309;\n  t[\"circledotdisplay\"] = 0x2299;\n  t[\"circledottext\"] = 0x2299;\n  t[\"circlemultiplydisplay\"] = 0x2297;\n  t[\"circlemultiplytext\"] = 0x2297;\n  t[\"circleplusdisplay\"] = 0x2295;\n  t[\"circleplustext\"] = 0x2295;\n  t[\"contintegraldisplay\"] = 0x222e;\n  t[\"contintegraltext\"] = 0x222e;\n  t[\"coproductdisplay\"] = 0x2210;\n  t[\"coproducttext\"] = 0x2210;\n  t[\"floorleftBig\"] = 0x230a;\n  t[\"floorleftbig\"] = 0x230a;\n  t[\"floorleftbigg\"] = 0x230a;\n  t[\"floorleftBigg\"] = 0x230a;\n  t[\"floorrightbig\"] = 0x230b;\n  t[\"floorrightBig\"] = 0x230b;\n  t[\"floorrightBigg\"] = 0x230b;\n  t[\"floorrightbigg\"] = 0x230b;\n  t[\"hatwide\"] = 0x0302;\n  t[\"hatwider\"] = 0x0302;\n  t[\"hatwidest\"] = 0x0302;\n  t[\"intercal\"] = 0x1d40;\n  t[\"integraldisplay\"] = 0x222b;\n  t[\"integraltext\"] = 0x222b;\n  t[\"intersectiondisplay\"] = 0x22c2;\n  t[\"intersectiontext\"] = 0x22c2;\n  t[\"logicalanddisplay\"] = 0x2227;\n  t[\"logicalandtext\"] = 0x2227;\n  t[\"logicalordisplay\"] = 0x2228;\n  t[\"logicalortext\"] = 0x2228;\n  t[\"parenleftBig\"] = 0x0028;\n  t[\"parenleftbig\"] = 0x0028;\n  t[\"parenleftBigg\"] = 0x0028;\n  t[\"parenleftbigg\"] = 0x0028;\n  t[\"parenrightBig\"] = 0x0029;\n  t[\"parenrightbig\"] = 0x0029;\n  t[\"parenrightBigg\"] = 0x0029;\n  t[\"parenrightbigg\"] = 0x0029;\n  t[\"prime\"] = 0x2032;\n  t[\"productdisplay\"] = 0x220f;\n  t[\"producttext\"] = 0x220f;\n  t[\"radicalbig\"] = 0x221a;\n  t[\"radicalBig\"] = 0x221a;\n  t[\"radicalBigg\"] = 0x221a;\n  t[\"radicalbigg\"] = 0x221a;\n  t[\"radicalbt\"] = 0x221a;\n  t[\"radicaltp\"] = 0x221a;\n  t[\"radicalvertex\"] = 0x221a;\n  t[\"slashbig\"] = 0x002f;\n  t[\"slashBig\"] = 0x002f;\n  t[\"slashBigg\"] = 0x002f;\n  t[\"slashbigg\"] = 0x002f;\n  t[\"summationdisplay\"] = 0x2211;\n  t[\"summationtext\"] = 0x2211;\n  t[\"tildewide\"] = 0x02dc;\n  t[\"tildewider\"] = 0x02dc;\n  t[\"tildewidest\"] = 0x02dc;\n  t[\"uniondisplay\"] = 0x22c3;\n  t[\"unionmultidisplay\"] = 0x228e;\n  t[\"unionmultitext\"] = 0x228e;\n  t[\"unionsqdisplay\"] = 0x2294;\n  t[\"unionsqtext\"] = 0x2294;\n  t[\"uniontext\"] = 0x22c3;\n  t[\"vextenddouble\"] = 0x2225;\n  t[\"vextendsingle\"] = 0x2223;\n});\n\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function(t) {\n  t[\"space\"] = 0x0020;\n  t[\"a1\"] = 0x2701;\n  t[\"a2\"] = 0x2702;\n  t[\"a202\"] = 0x2703;\n  t[\"a3\"] = 0x2704;\n  t[\"a4\"] = 0x260e;\n  t[\"a5\"] = 0x2706;\n  t[\"a119\"] = 0x2707;\n  t[\"a118\"] = 0x2708;\n  t[\"a117\"] = 0x2709;\n  t[\"a11\"] = 0x261b;\n  t[\"a12\"] = 0x261e;\n  t[\"a13\"] = 0x270c;\n  t[\"a14\"] = 0x270d;\n  t[\"a15\"] = 0x270e;\n  t[\"a16\"] = 0x270f;\n  t[\"a105\"] = 0x2710;\n  t[\"a17\"] = 0x2711;\n  t[\"a18\"] = 0x2712;\n  t[\"a19\"] = 0x2713;\n  t[\"a20\"] = 0x2714;\n  t[\"a21\"] = 0x2715;\n  t[\"a22\"] = 0x2716;\n  t[\"a23\"] = 0x2717;\n  t[\"a24\"] = 0x2718;\n  t[\"a25\"] = 0x2719;\n  t[\"a26\"] = 0x271a;\n  t[\"a27\"] = 0x271b;\n  t[\"a28\"] = 0x271c;\n  t[\"a6\"] = 0x271d;\n  t[\"a7\"] = 0x271e;\n  t[\"a8\"] = 0x271f;\n  t[\"a9\"] = 0x2720;\n  t[\"a10\"] = 0x2721;\n  t[\"a29\"] = 0x2722;\n  t[\"a30\"] = 0x2723;\n  t[\"a31\"] = 0x2724;\n  t[\"a32\"] = 0x2725;\n  t[\"a33\"] = 0x2726;\n  t[\"a34\"] = 0x2727;\n  t[\"a35\"] = 0x2605;\n  t[\"a36\"] = 0x2729;\n  t[\"a37\"] = 0x272a;\n  t[\"a38\"] = 0x272b;\n  t[\"a39\"] = 0x272c;\n  t[\"a40\"] = 0x272d;\n  t[\"a41\"] = 0x272e;\n  t[\"a42\"] = 0x272f;\n  t[\"a43\"] = 0x2730;\n  t[\"a44\"] = 0x2731;\n  t[\"a45\"] = 0x2732;\n  t[\"a46\"] = 0x2733;\n  t[\"a47\"] = 0x2734;\n  t[\"a48\"] = 0x2735;\n  t[\"a49\"] = 0x2736;\n  t[\"a50\"] = 0x2737;\n  t[\"a51\"] = 0x2738;\n  t[\"a52\"] = 0x2739;\n  t[\"a53\"] = 0x273a;\n  t[\"a54\"] = 0x273b;\n  t[\"a55\"] = 0x273c;\n  t[\"a56\"] = 0x273d;\n  t[\"a57\"] = 0x273e;\n  t[\"a58\"] = 0x273f;\n  t[\"a59\"] = 0x2740;\n  t[\"a60\"] = 0x2741;\n  t[\"a61\"] = 0x2742;\n  t[\"a62\"] = 0x2743;\n  t[\"a63\"] = 0x2744;\n  t[\"a64\"] = 0x2745;\n  t[\"a65\"] = 0x2746;\n  t[\"a66\"] = 0x2747;\n  t[\"a67\"] = 0x2748;\n  t[\"a68\"] = 0x2749;\n  t[\"a69\"] = 0x274a;\n  t[\"a70\"] = 0x274b;\n  t[\"a71\"] = 0x25cf;\n  t[\"a72\"] = 0x274d;\n  t[\"a73\"] = 0x25a0;\n  t[\"a74\"] = 0x274f;\n  t[\"a203\"] = 0x2750;\n  t[\"a75\"] = 0x2751;\n  t[\"a204\"] = 0x2752;\n  t[\"a76\"] = 0x25b2;\n  t[\"a77\"] = 0x25bc;\n  t[\"a78\"] = 0x25c6;\n  t[\"a79\"] = 0x2756;\n  t[\"a81\"] = 0x25d7;\n  t[\"a82\"] = 0x2758;\n  t[\"a83\"] = 0x2759;\n  t[\"a84\"] = 0x275a;\n  t[\"a97\"] = 0x275b;\n  t[\"a98\"] = 0x275c;\n  t[\"a99\"] = 0x275d;\n  t[\"a100\"] = 0x275e;\n  t[\"a101\"] = 0x2761;\n  t[\"a102\"] = 0x2762;\n  t[\"a103\"] = 0x2763;\n  t[\"a104\"] = 0x2764;\n  t[\"a106\"] = 0x2765;\n  t[\"a107\"] = 0x2766;\n  t[\"a108\"] = 0x2767;\n  t[\"a112\"] = 0x2663;\n  t[\"a111\"] = 0x2666;\n  t[\"a110\"] = 0x2665;\n  t[\"a109\"] = 0x2660;\n  t[\"a120\"] = 0x2460;\n  t[\"a121\"] = 0x2461;\n  t[\"a122\"] = 0x2462;\n  t[\"a123\"] = 0x2463;\n  t[\"a124\"] = 0x2464;\n  t[\"a125\"] = 0x2465;\n  t[\"a126\"] = 0x2466;\n  t[\"a127\"] = 0x2467;\n  t[\"a128\"] = 0x2468;\n  t[\"a129\"] = 0x2469;\n  t[\"a130\"] = 0x2776;\n  t[\"a131\"] = 0x2777;\n  t[\"a132\"] = 0x2778;\n  t[\"a133\"] = 0x2779;\n  t[\"a134\"] = 0x277a;\n  t[\"a135\"] = 0x277b;\n  t[\"a136\"] = 0x277c;\n  t[\"a137\"] = 0x277d;\n  t[\"a138\"] = 0x277e;\n  t[\"a139\"] = 0x277f;\n  t[\"a140\"] = 0x2780;\n  t[\"a141\"] = 0x2781;\n  t[\"a142\"] = 0x2782;\n  t[\"a143\"] = 0x2783;\n  t[\"a144\"] = 0x2784;\n  t[\"a145\"] = 0x2785;\n  t[\"a146\"] = 0x2786;\n  t[\"a147\"] = 0x2787;\n  t[\"a148\"] = 0x2788;\n  t[\"a149\"] = 0x2789;\n  t[\"a150\"] = 0x278a;\n  t[\"a151\"] = 0x278b;\n  t[\"a152\"] = 0x278c;\n  t[\"a153\"] = 0x278d;\n  t[\"a154\"] = 0x278e;\n  t[\"a155\"] = 0x278f;\n  t[\"a156\"] = 0x2790;\n  t[\"a157\"] = 0x2791;\n  t[\"a158\"] = 0x2792;\n  t[\"a159\"] = 0x2793;\n  t[\"a160\"] = 0x2794;\n  t[\"a161\"] = 0x2192;\n  t[\"a163\"] = 0x2194;\n  t[\"a164\"] = 0x2195;\n  t[\"a196\"] = 0x2798;\n  t[\"a165\"] = 0x2799;\n  t[\"a192\"] = 0x279a;\n  t[\"a166\"] = 0x279b;\n  t[\"a167\"] = 0x279c;\n  t[\"a168\"] = 0x279d;\n  t[\"a169\"] = 0x279e;\n  t[\"a170\"] = 0x279f;\n  t[\"a171\"] = 0x27a0;\n  t[\"a172\"] = 0x27a1;\n  t[\"a173\"] = 0x27a2;\n  t[\"a162\"] = 0x27a3;\n  t[\"a174\"] = 0x27a4;\n  t[\"a175\"] = 0x27a5;\n  t[\"a176\"] = 0x27a6;\n  t[\"a177\"] = 0x27a7;\n  t[\"a178\"] = 0x27a8;\n  t[\"a179\"] = 0x27a9;\n  t[\"a193\"] = 0x27aa;\n  t[\"a180\"] = 0x27ab;\n  t[\"a199\"] = 0x27ac;\n  t[\"a181\"] = 0x27ad;\n  t[\"a200\"] = 0x27ae;\n  t[\"a182\"] = 0x27af;\n  t[\"a201\"] = 0x27b1;\n  t[\"a183\"] = 0x27b2;\n  t[\"a184\"] = 0x27b3;\n  t[\"a197\"] = 0x27b4;\n  t[\"a185\"] = 0x27b5;\n  t[\"a194\"] = 0x27b6;\n  t[\"a198\"] = 0x27b7;\n  t[\"a186\"] = 0x27b8;\n  t[\"a195\"] = 0x27b9;\n  t[\"a187\"] = 0x27ba;\n  t[\"a188\"] = 0x27bb;\n  t[\"a189\"] = 0x27bc;\n  t[\"a190\"] = 0x27bd;\n  t[\"a191\"] = 0x27be;\n  t[\"a89\"] = 0x2768; // 0xF8D7\n  t[\"a90\"] = 0x2769; // 0xF8D8\n  t[\"a93\"] = 0x276a; // 0xF8D9\n  t[\"a94\"] = 0x276b; // 0xF8DA\n  t[\"a91\"] = 0x276c; // 0xF8DB\n  t[\"a92\"] = 0x276d; // 0xF8DC\n  t[\"a205\"] = 0x276e; // 0xF8DD\n  t[\"a85\"] = 0x276f; // 0xF8DE\n  t[\"a206\"] = 0x2770; // 0xF8DF\n  t[\"a86\"] = 0x2771; // 0xF8E0\n  t[\"a87\"] = 0x2772; // 0xF8E1\n  t[\"a88\"] = 0x2773; // 0xF8E2\n  t[\"a95\"] = 0x2774; // 0xF8E3\n  t[\"a96\"] = 0x2775; // 0xF8E4\n  t[\".notdef\"] = 0x0000;\n});\n\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n","/* Copyright 2015 Mozilla Foundation\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/* eslint no-var: error */\n\nimport { getLookupTableFactory } from \"./core_utils.js\";\n\n/**\n * Hold a map of decoded fonts and of the standard fourteen Type1\n * fonts and their acronyms.\n */\nconst getStdFontMap = getLookupTableFactory(function(t) {\n  t[\"ArialNarrow\"] = \"Helvetica\";\n  t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n  t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n  t[\"ArialBlack\"] = \"Helvetica\";\n  t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n  t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial-Black\"] = \"Helvetica\";\n  t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n  t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial\"] = \"Helvetica\";\n  t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n  t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n  t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n  t[\"ArialMT\"] = \"Helvetica\";\n  t[\"Courier-Bold\"] = \"Courier-Bold\";\n  t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"Courier-Italic\"] = \"Courier-Oblique\";\n  t[\"CourierNew\"] = \"Courier\";\n  t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n  t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n  t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n  t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n  t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n  t[\"CourierNewPSMT\"] = \"Courier\";\n  t[\"Helvetica\"] = \"Helvetica\";\n  t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n  t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n  t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n  t[\"Symbol-Bold\"] = \"Symbol\";\n  t[\"Symbol-BoldItalic\"] = \"Symbol\";\n  t[\"Symbol-Italic\"] = \"Symbol\";\n  t[\"TimesNewRoman\"] = \"Times-Roman\";\n  t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n  t[\"TimesNewRomanPS\"] = \"Times-Roman\";\n  t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n  t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n  t[\"TimesNewRomanPSMT\"] = \"Times-Roman\";\n  t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\n\n/**\n * Holds the map of the non-standard fonts that might be included as\n * a standard fonts without glyph data.\n */\nconst getNonStdFontMap = getLookupTableFactory(function(t) {\n  t[\"Calibri\"] = \"Helvetica\";\n  t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n  t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n  t[\"CenturyGothic\"] = \"Helvetica\";\n  t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n  t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n  t[\"ComicSansMS\"] = \"Comic Sans MS\";\n  t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n  t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n  t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n  t[\"LucidaConsole\"] = \"Courier\";\n  t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n  t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n  t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n  t[\"MS-Gothic\"] = \"MS Gothic\";\n  t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n  t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n  t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n  t[\"MS-Mincho\"] = \"MS Mincho\";\n  t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n  t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n  t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n  t[\"MS-PGothic\"] = \"MS PGothic\";\n  t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n  t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n  t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n  t[\"MS-PMincho\"] = \"MS PMincho\";\n  t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n  t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n  t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n  t[\"NuptialScript\"] = \"Times-Italic\";\n  t[\"SegoeUISymbol\"] = \"Helvetica\";\n  t[\"Wingdings\"] = \"ZapfDingbats\";\n  t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n});\n\nconst getSerifFonts = getLookupTableFactory(function(t) {\n  t[\"Adobe Jenson\"] = true;\n  t[\"Adobe Text\"] = true;\n  t[\"Albertus\"] = true;\n  t[\"Aldus\"] = true;\n  t[\"Alexandria\"] = true;\n  t[\"Algerian\"] = true;\n  t[\"American Typewriter\"] = true;\n  t[\"Antiqua\"] = true;\n  t[\"Apex\"] = true;\n  t[\"Arno\"] = true;\n  t[\"Aster\"] = true;\n  t[\"Aurora\"] = true;\n  t[\"Baskerville\"] = true;\n  t[\"Bell\"] = true;\n  t[\"Bembo\"] = true;\n  t[\"Bembo Schoolbook\"] = true;\n  t[\"Benguiat\"] = true;\n  t[\"Berkeley Old Style\"] = true;\n  t[\"Bernhard Modern\"] = true;\n  t[\"Berthold City\"] = true;\n  t[\"Bodoni\"] = true;\n  t[\"Bauer Bodoni\"] = true;\n  t[\"Book Antiqua\"] = true;\n  t[\"Bookman\"] = true;\n  t[\"Bordeaux Roman\"] = true;\n  t[\"Californian FB\"] = true;\n  t[\"Calisto\"] = true;\n  t[\"Calvert\"] = true;\n  t[\"Capitals\"] = true;\n  t[\"Cambria\"] = true;\n  t[\"Cartier\"] = true;\n  t[\"Caslon\"] = true;\n  t[\"Catull\"] = true;\n  t[\"Centaur\"] = true;\n  t[\"Century Old Style\"] = true;\n  t[\"Century Schoolbook\"] = true;\n  t[\"Chaparral\"] = true;\n  t[\"Charis SIL\"] = true;\n  t[\"Cheltenham\"] = true;\n  t[\"Cholla Slab\"] = true;\n  t[\"Clarendon\"] = true;\n  t[\"Clearface\"] = true;\n  t[\"Cochin\"] = true;\n  t[\"Colonna\"] = true;\n  t[\"Computer Modern\"] = true;\n  t[\"Concrete Roman\"] = true;\n  t[\"Constantia\"] = true;\n  t[\"Cooper Black\"] = true;\n  t[\"Corona\"] = true;\n  t[\"Ecotype\"] = true;\n  t[\"Egyptienne\"] = true;\n  t[\"Elephant\"] = true;\n  t[\"Excelsior\"] = true;\n  t[\"Fairfield\"] = true;\n  t[\"FF Scala\"] = true;\n  t[\"Folkard\"] = true;\n  t[\"Footlight\"] = true;\n  t[\"FreeSerif\"] = true;\n  t[\"Friz Quadrata\"] = true;\n  t[\"Garamond\"] = true;\n  t[\"Gentium\"] = true;\n  t[\"Georgia\"] = true;\n  t[\"Gloucester\"] = true;\n  t[\"Goudy Old Style\"] = true;\n  t[\"Goudy Schoolbook\"] = true;\n  t[\"Goudy Pro Font\"] = true;\n  t[\"Granjon\"] = true;\n  t[\"Guardian Egyptian\"] = true;\n  t[\"Heather\"] = true;\n  t[\"Hercules\"] = true;\n  t[\"High Tower Text\"] = true;\n  t[\"Hiroshige\"] = true;\n  t[\"Hoefler Text\"] = true;\n  t[\"Humana Serif\"] = true;\n  t[\"Imprint\"] = true;\n  t[\"Ionic No. 5\"] = true;\n  t[\"Janson\"] = true;\n  t[\"Joanna\"] = true;\n  t[\"Korinna\"] = true;\n  t[\"Lexicon\"] = true;\n  t[\"Liberation Serif\"] = true;\n  t[\"Linux Libertine\"] = true;\n  t[\"Literaturnaya\"] = true;\n  t[\"Lucida\"] = true;\n  t[\"Lucida Bright\"] = true;\n  t[\"Melior\"] = true;\n  t[\"Memphis\"] = true;\n  t[\"Miller\"] = true;\n  t[\"Minion\"] = true;\n  t[\"Modern\"] = true;\n  t[\"Mona Lisa\"] = true;\n  t[\"Mrs Eaves\"] = true;\n  t[\"MS Serif\"] = true;\n  t[\"Museo Slab\"] = true;\n  t[\"New York\"] = true;\n  t[\"Nimbus Roman\"] = true;\n  t[\"NPS Rawlinson Roadway\"] = true;\n  t[\"NuptialScript\"] = true;\n  t[\"Palatino\"] = true;\n  t[\"Perpetua\"] = true;\n  t[\"Plantin\"] = true;\n  t[\"Plantin Schoolbook\"] = true;\n  t[\"Playbill\"] = true;\n  t[\"Poor Richard\"] = true;\n  t[\"Rawlinson Roadway\"] = true;\n  t[\"Renault\"] = true;\n  t[\"Requiem\"] = true;\n  t[\"Rockwell\"] = true;\n  t[\"Roman\"] = true;\n  t[\"Rotis Serif\"] = true;\n  t[\"Sabon\"] = true;\n  t[\"Scala\"] = true;\n  t[\"Seagull\"] = true;\n  t[\"Sistina\"] = true;\n  t[\"Souvenir\"] = true;\n  t[\"STIX\"] = true;\n  t[\"Stone Informal\"] = true;\n  t[\"Stone Serif\"] = true;\n  t[\"Sylfaen\"] = true;\n  t[\"Times\"] = true;\n  t[\"Trajan\"] = true;\n  t[\"Trinité\"] = true;\n  t[\"Trump Mediaeval\"] = true;\n  t[\"Utopia\"] = true;\n  t[\"Vale Type\"] = true;\n  t[\"Bitstream Vera\"] = true;\n  t[\"Vera Serif\"] = true;\n  t[\"Versailles\"] = true;\n  t[\"Wanted\"] = true;\n  t[\"Weiss\"] = true;\n  t[\"Wide Latin\"] = true;\n  t[\"Windsor\"] = true;\n  t[\"XITS\"] = true;\n});\n\nconst getSymbolsFonts = getLookupTableFactory(function(t) {\n  t[\"Dingbats\"] = true;\n  t[\"Symbol\"] = true;\n  t[\"ZapfDingbats\"] = true;\n});\n\n// Glyph map for well-known standard fonts. Sometimes Ghostscript uses CID\n// fonts, but does not embed the CID to GID mapping. The mapping is incomplete\n// for all glyphs, but common for some set of the standard fonts.\nconst getGlyphMapForStandardFonts = getLookupTableFactory(function(t) {\n  t[2] = 10;\n  t[3] = 32;\n  t[4] = 33;\n  t[5] = 34;\n  t[6] = 35;\n  t[7] = 36;\n  t[8] = 37;\n  t[9] = 38;\n  t[10] = 39;\n  t[11] = 40;\n  t[12] = 41;\n  t[13] = 42;\n  t[14] = 43;\n  t[15] = 44;\n  t[16] = 45;\n  t[17] = 46;\n  t[18] = 47;\n  t[19] = 48;\n  t[20] = 49;\n  t[21] = 50;\n  t[22] = 51;\n  t[23] = 52;\n  t[24] = 53;\n  t[25] = 54;\n  t[26] = 55;\n  t[27] = 56;\n  t[28] = 57;\n  t[29] = 58;\n  t[30] = 894;\n  t[31] = 60;\n  t[32] = 61;\n  t[33] = 62;\n  t[34] = 63;\n  t[35] = 64;\n  t[36] = 65;\n  t[37] = 66;\n  t[38] = 67;\n  t[39] = 68;\n  t[40] = 69;\n  t[41] = 70;\n  t[42] = 71;\n  t[43] = 72;\n  t[44] = 73;\n  t[45] = 74;\n  t[46] = 75;\n  t[47] = 76;\n  t[48] = 77;\n  t[49] = 78;\n  t[50] = 79;\n  t[51] = 80;\n  t[52] = 81;\n  t[53] = 82;\n  t[54] = 83;\n  t[55] = 84;\n  t[56] = 85;\n  t[57] = 86;\n  t[58] = 87;\n  t[59] = 88;\n  t[60] = 89;\n  t[61] = 90;\n  t[62] = 91;\n  t[63] = 92;\n  t[64] = 93;\n  t[65] = 94;\n  t[66] = 95;\n  t[67] = 96;\n  t[68] = 97;\n  t[69] = 98;\n  t[70] = 99;\n  t[71] = 100;\n  t[72] = 101;\n  t[73] = 102;\n  t[74] = 103;\n  t[75] = 104;\n  t[76] = 105;\n  t[77] = 106;\n  t[78] = 107;\n  t[79] = 108;\n  t[80] = 109;\n  t[81] = 110;\n  t[82] = 111;\n  t[83] = 112;\n  t[84] = 113;\n  t[85] = 114;\n  t[86] = 115;\n  t[87] = 116;\n  t[88] = 117;\n  t[89] = 118;\n  t[90] = 119;\n  t[91] = 120;\n  t[92] = 121;\n  t[93] = 122;\n  t[94] = 123;\n  t[95] = 124;\n  t[96] = 125;\n  t[97] = 126;\n  t[98] = 196;\n  t[99] = 197;\n  t[100] = 199;\n  t[101] = 201;\n  t[102] = 209;\n  t[103] = 214;\n  t[104] = 220;\n  t[105] = 225;\n  t[106] = 224;\n  t[107] = 226;\n  t[108] = 228;\n  t[109] = 227;\n  t[110] = 229;\n  t[111] = 231;\n  t[112] = 233;\n  t[113] = 232;\n  t[114] = 234;\n  t[115] = 235;\n  t[116] = 237;\n  t[117] = 236;\n  t[118] = 238;\n  t[119] = 239;\n  t[120] = 241;\n  t[121] = 243;\n  t[122] = 242;\n  t[123] = 244;\n  t[124] = 246;\n  t[125] = 245;\n  t[126] = 250;\n  t[127] = 249;\n  t[128] = 251;\n  t[129] = 252;\n  t[130] = 8224;\n  t[131] = 176;\n  t[132] = 162;\n  t[133] = 163;\n  t[134] = 167;\n  t[135] = 8226;\n  t[136] = 182;\n  t[137] = 223;\n  t[138] = 174;\n  t[139] = 169;\n  t[140] = 8482;\n  t[141] = 180;\n  t[142] = 168;\n  t[143] = 8800;\n  t[144] = 198;\n  t[145] = 216;\n  t[146] = 8734;\n  t[147] = 177;\n  t[148] = 8804;\n  t[149] = 8805;\n  t[150] = 165;\n  t[151] = 181;\n  t[152] = 8706;\n  t[153] = 8721;\n  t[154] = 8719;\n  t[156] = 8747;\n  t[157] = 170;\n  t[158] = 186;\n  t[159] = 8486;\n  t[160] = 230;\n  t[161] = 248;\n  t[162] = 191;\n  t[163] = 161;\n  t[164] = 172;\n  t[165] = 8730;\n  t[166] = 402;\n  t[167] = 8776;\n  t[168] = 8710;\n  t[169] = 171;\n  t[170] = 187;\n  t[171] = 8230;\n  t[210] = 218;\n  t[223] = 711;\n  t[224] = 321;\n  t[225] = 322;\n  t[227] = 353;\n  t[229] = 382;\n  t[234] = 253;\n  t[252] = 263;\n  t[253] = 268;\n  t[254] = 269;\n  t[258] = 258;\n  t[260] = 260;\n  t[261] = 261;\n  t[265] = 280;\n  t[266] = 281;\n  t[268] = 283;\n  t[269] = 313;\n  t[275] = 323;\n  t[276] = 324;\n  t[278] = 328;\n  t[284] = 345;\n  t[285] = 346;\n  t[286] = 347;\n  t[292] = 367;\n  t[295] = 377;\n  t[296] = 378;\n  t[298] = 380;\n  t[305] = 963;\n  t[306] = 964;\n  t[307] = 966;\n  t[308] = 8215;\n  t[309] = 8252;\n  t[310] = 8319;\n  t[311] = 8359;\n  t[312] = 8592;\n  t[313] = 8593;\n  t[337] = 9552;\n  t[493] = 1039;\n  t[494] = 1040;\n  t[705] = 1524;\n  t[706] = 8362;\n  t[710] = 64288;\n  t[711] = 64298;\n  t[759] = 1617;\n  t[761] = 1776;\n  t[763] = 1778;\n  t[775] = 1652;\n  t[777] = 1764;\n  t[778] = 1780;\n  t[779] = 1781;\n  t[780] = 1782;\n  t[782] = 771;\n  t[783] = 64726;\n  t[786] = 8363;\n  t[788] = 8532;\n  t[790] = 768;\n  t[791] = 769;\n  t[792] = 768;\n  t[795] = 803;\n  t[797] = 64336;\n  t[798] = 64337;\n  t[799] = 64342;\n  t[800] = 64343;\n  t[801] = 64344;\n  t[802] = 64345;\n  t[803] = 64362;\n  t[804] = 64363;\n  t[805] = 64364;\n  t[2424] = 7821;\n  t[2425] = 7822;\n  t[2426] = 7823;\n  t[2427] = 7824;\n  t[2428] = 7825;\n  t[2429] = 7826;\n  t[2430] = 7827;\n  t[2433] = 7682;\n  t[2678] = 8045;\n  t[2679] = 8046;\n  t[2830] = 1552;\n  t[2838] = 686;\n  t[2840] = 751;\n  t[2842] = 753;\n  t[2843] = 754;\n  t[2844] = 755;\n  t[2846] = 757;\n  t[2856] = 767;\n  t[2857] = 848;\n  t[2858] = 849;\n  t[2862] = 853;\n  t[2863] = 854;\n  t[2864] = 855;\n  t[2865] = 861;\n  t[2866] = 862;\n  t[2906] = 7460;\n  t[2908] = 7462;\n  t[2909] = 7463;\n  t[2910] = 7464;\n  t[2912] = 7466;\n  t[2913] = 7467;\n  t[2914] = 7468;\n  t[2916] = 7470;\n  t[2917] = 7471;\n  t[2918] = 7472;\n  t[2920] = 7474;\n  t[2921] = 7475;\n  t[2922] = 7476;\n  t[2924] = 7478;\n  t[2925] = 7479;\n  t[2926] = 7480;\n  t[2928] = 7482;\n  t[2929] = 7483;\n  t[2930] = 7484;\n  t[2932] = 7486;\n  t[2933] = 7487;\n  t[2934] = 7488;\n  t[2936] = 7490;\n  t[2937] = 7491;\n  t[2938] = 7492;\n  t[2940] = 7494;\n  t[2941] = 7495;\n  t[2942] = 7496;\n  t[2944] = 7498;\n  t[2946] = 7500;\n  t[2948] = 7502;\n  t[2950] = 7504;\n  t[2951] = 7505;\n  t[2952] = 7506;\n  t[2954] = 7508;\n  t[2955] = 7509;\n  t[2956] = 7510;\n  t[2958] = 7512;\n  t[2959] = 7513;\n  t[2960] = 7514;\n  t[2962] = 7516;\n  t[2963] = 7517;\n  t[2964] = 7518;\n  t[2966] = 7520;\n  t[2967] = 7521;\n  t[2968] = 7522;\n  t[2970] = 7524;\n  t[2971] = 7525;\n  t[2972] = 7526;\n  t[2974] = 7528;\n  t[2975] = 7529;\n  t[2976] = 7530;\n  t[2978] = 1537;\n  t[2979] = 1538;\n  t[2980] = 1539;\n  t[2982] = 1549;\n  t[2983] = 1551;\n  t[2984] = 1552;\n  t[2986] = 1554;\n  t[2987] = 1555;\n  t[2988] = 1556;\n  t[2990] = 1623;\n  t[2991] = 1624;\n  t[2995] = 1775;\n  t[2999] = 1791;\n  t[3002] = 64290;\n  t[3003] = 64291;\n  t[3004] = 64292;\n  t[3006] = 64294;\n  t[3007] = 64295;\n  t[3008] = 64296;\n  t[3011] = 1900;\n  t[3014] = 8223;\n  t[3015] = 8244;\n  t[3017] = 7532;\n  t[3018] = 7533;\n  t[3019] = 7534;\n  t[3075] = 7590;\n  t[3076] = 7591;\n  t[3079] = 7594;\n  t[3080] = 7595;\n  t[3083] = 7598;\n  t[3084] = 7599;\n  t[3087] = 7602;\n  t[3088] = 7603;\n  t[3091] = 7606;\n  t[3092] = 7607;\n  t[3095] = 7610;\n  t[3096] = 7611;\n  t[3099] = 7614;\n  t[3100] = 7615;\n  t[3103] = 7618;\n  t[3104] = 7619;\n  t[3107] = 8337;\n  t[3108] = 8338;\n  t[3116] = 1884;\n  t[3119] = 1885;\n  t[3120] = 1885;\n  t[3123] = 1886;\n  t[3124] = 1886;\n  t[3127] = 1887;\n  t[3128] = 1887;\n  t[3131] = 1888;\n  t[3132] = 1888;\n  t[3135] = 1889;\n  t[3136] = 1889;\n  t[3139] = 1890;\n  t[3140] = 1890;\n  t[3143] = 1891;\n  t[3144] = 1891;\n  t[3147] = 1892;\n  t[3148] = 1892;\n  t[3153] = 580;\n  t[3154] = 581;\n  t[3157] = 584;\n  t[3158] = 585;\n  t[3161] = 588;\n  t[3162] = 589;\n  t[3165] = 891;\n  t[3166] = 892;\n  t[3169] = 1274;\n  t[3170] = 1275;\n  t[3173] = 1278;\n  t[3174] = 1279;\n  t[3181] = 7622;\n  t[3182] = 7623;\n  t[3282] = 11799;\n  t[3316] = 578;\n  t[3379] = 42785;\n  t[3393] = 1159;\n  t[3416] = 8377;\n});\n\n// The glyph map for ArialBlack differs slightly from the glyph map used for\n// other well-known standard fonts. Hence we use this (incomplete) CID to GID\n// mapping to adjust the glyph map for non-embedded ArialBlack fonts.\nconst getSupplementalGlyphMapForArialBlack = getLookupTableFactory(function(t) {\n  t[227] = 322;\n  t[264] = 261;\n  t[291] = 346;\n});\n\n// The glyph map for Calibri (a Windows font) differs from the glyph map used\n// in the standard fonts. Hence we use this (incomplete) CID to GID mapping to\n// adjust the glyph map for non-embedded Calibri fonts.\nconst getSupplementalGlyphMapForCalibri = getLookupTableFactory(function(t) {\n  t[1] = 32;\n  t[4] = 65;\n  t[17] = 66;\n  t[18] = 67;\n  t[24] = 68;\n  t[28] = 69;\n  t[38] = 70;\n  t[39] = 71;\n  t[44] = 72;\n  t[47] = 73;\n  t[58] = 74;\n  t[60] = 75;\n  t[62] = 76;\n  t[68] = 77;\n  t[69] = 78;\n  t[75] = 79;\n  t[87] = 80;\n  t[89] = 81;\n  t[90] = 82;\n  t[94] = 83;\n  t[100] = 84;\n  t[104] = 85;\n  t[115] = 86;\n  t[116] = 87;\n  t[121] = 88;\n  t[122] = 89;\n  t[127] = 90;\n  t[258] = 97;\n  t[268] = 261;\n  t[271] = 98;\n  t[272] = 99;\n  t[273] = 263;\n  t[282] = 100;\n  t[286] = 101;\n  t[295] = 281;\n  t[296] = 102;\n  t[336] = 103;\n  t[346] = 104;\n  t[349] = 105;\n  t[361] = 106;\n  t[364] = 107;\n  t[367] = 108;\n  t[371] = 322;\n  t[373] = 109;\n  t[374] = 110;\n  t[381] = 111;\n  t[383] = 243;\n  t[393] = 112;\n  t[395] = 113;\n  t[396] = 114;\n  t[400] = 115;\n  t[401] = 347;\n  t[410] = 116;\n  t[437] = 117;\n  t[448] = 118;\n  t[449] = 119;\n  t[454] = 120;\n  t[455] = 121;\n  t[460] = 122;\n  t[463] = 380;\n  t[853] = 44;\n  t[855] = 58;\n  t[856] = 46;\n  t[876] = 47;\n  t[878] = 45;\n  t[882] = 45;\n  t[894] = 40;\n  t[895] = 41;\n  t[896] = 91;\n  t[897] = 93;\n  t[923] = 64;\n  t[1004] = 48;\n  t[1005] = 49;\n  t[1006] = 50;\n  t[1007] = 51;\n  t[1008] = 52;\n  t[1009] = 53;\n  t[1010] = 54;\n  t[1011] = 55;\n  t[1012] = 56;\n  t[1013] = 57;\n  t[1081] = 37;\n  t[1085] = 43;\n  t[1086] = 45;\n});\n\nexport {\n  getStdFontMap,\n  getNonStdFontMap,\n  getSerifFonts,\n  getSymbolsFonts,\n  getGlyphMapForStandardFonts,\n  getSupplementalGlyphMapForArialBlack,\n  getSupplementalGlyphMapForCalibri,\n};\n","/* Copyright 2016 Mozilla Foundation\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/* no-babel-preset */\n\nvar getLookupTableFactory = require(\"./core_utils.js\").getLookupTableFactory;\n\n// Some characters, e.g. copyrightserif, are mapped to the private use area\n// and might not be displayed using standard fonts. Mapping/hacking well-known\n// chars to the similar equivalents in the normal characters range.\nvar getSpecialPUASymbols = getLookupTableFactory(function(t) {\n  t[63721] = 0x00a9; // copyrightsans (0xF8E9) => copyright\n  t[63193] = 0x00a9; // copyrightserif (0xF6D9) => copyright\n  t[63720] = 0x00ae; // registersans (0xF8E8) => registered\n  t[63194] = 0x00ae; // registerserif (0xF6DA) => registered\n  t[63722] = 0x2122; // trademarksans (0xF8EA) => trademark\n  t[63195] = 0x2122; // trademarkserif (0xF6DB) => trademark\n  t[63729] = 0x23a7; // bracelefttp (0xF8F1)\n  t[63730] = 0x23a8; // braceleftmid (0xF8F2)\n  t[63731] = 0x23a9; // braceleftbt (0xF8F3)\n  t[63740] = 0x23ab; // bracerighttp (0xF8FC)\n  t[63741] = 0x23ac; // bracerightmid (0xF8FD)\n  t[63742] = 0x23ad; // bracerightbt (0xF8FE)\n  t[63726] = 0x23a1; // bracketlefttp (0xF8EE)\n  t[63727] = 0x23a2; // bracketleftex (0xF8EF)\n  t[63728] = 0x23a3; // bracketleftbt (0xF8F0)\n  t[63737] = 0x23a4; // bracketrighttp (0xF8F9)\n  t[63738] = 0x23a5; // bracketrightex (0xF8FA)\n  t[63739] = 0x23a6; // bracketrightbt (0xF8FB)\n  t[63723] = 0x239b; // parenlefttp (0xF8EB)\n  t[63724] = 0x239c; // parenleftex (0xF8EC)\n  t[63725] = 0x239d; // parenleftbt (0xF8ED)\n  t[63734] = 0x239e; // parenrighttp (0xF8F6)\n  t[63735] = 0x239f; // parenrightex (0xF8F7)\n  t[63736] = 0x23a0; // parenrightbt (0xF8F8)\n});\n\nfunction mapSpecialUnicodeValues(code) {\n  if (code >= 0xfff0 && code <= 0xffff) {\n    // Specials unicode block.\n    return 0;\n  } else if (code >= 0xf600 && code <= 0xf8ff) {\n    return getSpecialPUASymbols()[code] || code;\n  } else if (code === /* softhyphen = */ 0x00ad) {\n    return 0x002d; // hyphen\n  }\n  return code;\n}\n\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n  var unicode = glyphsUnicodeMap[name];\n  if (unicode !== undefined) {\n    return unicode;\n  }\n  if (!name) {\n    return -1;\n  }\n  // Try to recover valid Unicode values from 'uniXXXX'/'uXXXX{XX}' glyphs.\n  if (name[0] === \"u\") {\n    var nameLen = name.length,\n      hexStr;\n\n    if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n      // 'uniXXXX'\n      hexStr = name.substring(3);\n    } else if (nameLen >= 5 && nameLen <= 7) {\n      // 'uXXXX{XX}'\n      hexStr = name.substring(1);\n    } else {\n      return -1;\n    }\n    // Check for upper-case hexadecimal characters, to avoid false positives.\n    if (hexStr === hexStr.toUpperCase()) {\n      unicode = parseInt(hexStr, 16);\n      if (unicode >= 0) {\n        return unicode;\n      }\n    }\n  }\n  return -1;\n}\n\nvar UnicodeRanges = [\n  { begin: 0x0000, end: 0x007f }, // Basic Latin\n  { begin: 0x0080, end: 0x00ff }, // Latin-1 Supplement\n  { begin: 0x0100, end: 0x017f }, // Latin Extended-A\n  { begin: 0x0180, end: 0x024f }, // Latin Extended-B\n  { begin: 0x0250, end: 0x02af }, // IPA Extensions\n  { begin: 0x02b0, end: 0x02ff }, // Spacing Modifier Letters\n  { begin: 0x0300, end: 0x036f }, // Combining Diacritical Marks\n  { begin: 0x0370, end: 0x03ff }, // Greek and Coptic\n  { begin: 0x2c80, end: 0x2cff }, // Coptic\n  { begin: 0x0400, end: 0x04ff }, // Cyrillic\n  { begin: 0x0530, end: 0x058f }, // Armenian\n  { begin: 0x0590, end: 0x05ff }, // Hebrew\n  { begin: 0xa500, end: 0xa63f }, // Vai\n  { begin: 0x0600, end: 0x06ff }, // Arabic\n  { begin: 0x07c0, end: 0x07ff }, // NKo\n  { begin: 0x0900, end: 0x097f }, // Devanagari\n  { begin: 0x0980, end: 0x09ff }, // Bengali\n  { begin: 0x0a00, end: 0x0a7f }, // Gurmukhi\n  { begin: 0x0a80, end: 0x0aff }, // Gujarati\n  { begin: 0x0b00, end: 0x0b7f }, // Oriya\n  { begin: 0x0b80, end: 0x0bff }, // Tamil\n  { begin: 0x0c00, end: 0x0c7f }, // Telugu\n  { begin: 0x0c80, end: 0x0cff }, // Kannada\n  { begin: 0x0d00, end: 0x0d7f }, // Malayalam\n  { begin: 0x0e00, end: 0x0e7f }, // Thai\n  { begin: 0x0e80, end: 0x0eff }, // Lao\n  { begin: 0x10a0, end: 0x10ff }, // Georgian\n  { begin: 0x1b00, end: 0x1b7f }, // Balinese\n  { begin: 0x1100, end: 0x11ff }, // Hangul Jamo\n  { begin: 0x1e00, end: 0x1eff }, // Latin Extended Additional\n  { begin: 0x1f00, end: 0x1fff }, // Greek Extended\n  { begin: 0x2000, end: 0x206f }, // General Punctuation\n  { begin: 0x2070, end: 0x209f }, // Superscripts And Subscripts\n  { begin: 0x20a0, end: 0x20cf }, // Currency Symbol\n  { begin: 0x20d0, end: 0x20ff }, // Combining Diacritical Marks\n  { begin: 0x2100, end: 0x214f }, // Letterlike Symbols\n  { begin: 0x2150, end: 0x218f }, // Number Forms\n  { begin: 0x2190, end: 0x21ff }, // Arrows\n  { begin: 0x2200, end: 0x22ff }, // Mathematical Operators\n  { begin: 0x2300, end: 0x23ff }, // Miscellaneous Technical\n  { begin: 0x2400, end: 0x243f }, // Control Pictures\n  { begin: 0x2440, end: 0x245f }, // Optical Character Recognition\n  { begin: 0x2460, end: 0x24ff }, // Enclosed Alphanumerics\n  { begin: 0x2500, end: 0x257f }, // Box Drawing\n  { begin: 0x2580, end: 0x259f }, // Block Elements\n  { begin: 0x25a0, end: 0x25ff }, // Geometric Shapes\n  { begin: 0x2600, end: 0x26ff }, // Miscellaneous Symbols\n  { begin: 0x2700, end: 0x27bf }, // Dingbats\n  { begin: 0x3000, end: 0x303f }, // CJK Symbols And Punctuation\n  { begin: 0x3040, end: 0x309f }, // Hiragana\n  { begin: 0x30a0, end: 0x30ff }, // Katakana\n  { begin: 0x3100, end: 0x312f }, // Bopomofo\n  { begin: 0x3130, end: 0x318f }, // Hangul Compatibility Jamo\n  { begin: 0xa840, end: 0xa87f }, // Phags-pa\n  { begin: 0x3200, end: 0x32ff }, // Enclosed CJK Letters And Months\n  { begin: 0x3300, end: 0x33ff }, // CJK Compatibility\n  { begin: 0xac00, end: 0xd7af }, // Hangul Syllables\n  { begin: 0xd800, end: 0xdfff }, // Non-Plane 0 *\n  { begin: 0x10900, end: 0x1091f }, // Phoenicia\n  { begin: 0x4e00, end: 0x9fff }, // CJK Unified Ideographs\n  { begin: 0xe000, end: 0xf8ff }, // Private Use Area (plane 0)\n  { begin: 0x31c0, end: 0x31ef }, // CJK Strokes\n  { begin: 0xfb00, end: 0xfb4f }, // Alphabetic Presentation Forms\n  { begin: 0xfb50, end: 0xfdff }, // Arabic Presentation Forms-A\n  { begin: 0xfe20, end: 0xfe2f }, // Combining Half Marks\n  { begin: 0xfe10, end: 0xfe1f }, // Vertical Forms\n  { begin: 0xfe50, end: 0xfe6f }, // Small Form Variants\n  { begin: 0xfe70, end: 0xfeff }, // Arabic Presentation Forms-B\n  { begin: 0xff00, end: 0xffef }, // Halfwidth And Fullwidth Forms\n  { begin: 0xfff0, end: 0xffff }, // Specials\n  { begin: 0x0f00, end: 0x0fff }, // Tibetan\n  { begin: 0x0700, end: 0x074f }, // Syriac\n  { begin: 0x0780, end: 0x07bf }, // Thaana\n  { begin: 0x0d80, end: 0x0dff }, // Sinhala\n  { begin: 0x1000, end: 0x109f }, // Myanmar\n  { begin: 0x1200, end: 0x137f }, // Ethiopic\n  { begin: 0x13a0, end: 0x13ff }, // Cherokee\n  { begin: 0x1400, end: 0x167f }, // Unified Canadian Aboriginal Syllabics\n  { begin: 0x1680, end: 0x169f }, // Ogham\n  { begin: 0x16a0, end: 0x16ff }, // Runic\n  { begin: 0x1780, end: 0x17ff }, // Khmer\n  { begin: 0x1800, end: 0x18af }, // Mongolian\n  { begin: 0x2800, end: 0x28ff }, // Braille Patterns\n  { begin: 0xa000, end: 0xa48f }, // Yi Syllables\n  { begin: 0x1700, end: 0x171f }, // Tagalog\n  { begin: 0x10300, end: 0x1032f }, // Old Italic\n  { begin: 0x10330, end: 0x1034f }, // Gothic\n  { begin: 0x10400, end: 0x1044f }, // Deseret\n  { begin: 0x1d000, end: 0x1d0ff }, // Byzantine Musical Symbols\n  { begin: 0x1d400, end: 0x1d7ff }, // Mathematical Alphanumeric Symbols\n  { begin: 0xff000, end: 0xffffd }, // Private Use (plane 15)\n  { begin: 0xfe00, end: 0xfe0f }, // Variation Selectors\n  { begin: 0xe0000, end: 0xe007f }, // Tags\n  { begin: 0x1900, end: 0x194f }, // Limbu\n  { begin: 0x1950, end: 0x197f }, // Tai Le\n  { begin: 0x1980, end: 0x19df }, // New Tai Lue\n  { begin: 0x1a00, end: 0x1a1f }, // Buginese\n  { begin: 0x2c00, end: 0x2c5f }, // Glagolitic\n  { begin: 0x2d30, end: 0x2d7f }, // Tifinagh\n  { begin: 0x4dc0, end: 0x4dff }, // Yijing Hexagram Symbols\n  { begin: 0xa800, end: 0xa82f }, // Syloti Nagri\n  { begin: 0x10000, end: 0x1007f }, // Linear B Syllabary\n  { begin: 0x10140, end: 0x1018f }, // Ancient Greek Numbers\n  { begin: 0x10380, end: 0x1039f }, // Ugaritic\n  { begin: 0x103a0, end: 0x103df }, // Old Persian\n  { begin: 0x10450, end: 0x1047f }, // Shavian\n  { begin: 0x10480, end: 0x104af }, // Osmanya\n  { begin: 0x10800, end: 0x1083f }, // Cypriot Syllabary\n  { begin: 0x10a00, end: 0x10a5f }, // Kharoshthi\n  { begin: 0x1d300, end: 0x1d35f }, // Tai Xuan Jing Symbols\n  { begin: 0x12000, end: 0x123ff }, // Cuneiform\n  { begin: 0x1d360, end: 0x1d37f }, // Counting Rod Numerals\n  { begin: 0x1b80, end: 0x1bbf }, // Sundanese\n  { begin: 0x1c00, end: 0x1c4f }, // Lepcha\n  { begin: 0x1c50, end: 0x1c7f }, // Ol Chiki\n  { begin: 0xa880, end: 0xa8df }, // Saurashtra\n  { begin: 0xa900, end: 0xa92f }, // Kayah Li\n  { begin: 0xa930, end: 0xa95f }, // Rejang\n  { begin: 0xaa00, end: 0xaa5f }, // Cham\n  { begin: 0x10190, end: 0x101cf }, // Ancient Symbols\n  { begin: 0x101d0, end: 0x101ff }, // Phaistos Disc\n  { begin: 0x102a0, end: 0x102df }, // Carian\n  { begin: 0x1f030, end: 0x1f09f }, // Domino Tiles\n];\n\nfunction getUnicodeRangeFor(value) {\n  for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n    var range = UnicodeRanges[i];\n    if (value >= range.begin && value < range.end) {\n      return i;\n    }\n  }\n  return -1;\n}\n\nfunction isRTLRangeFor(value) {\n  var range = UnicodeRanges[13];\n  if (value >= range.begin && value < range.end) {\n    return true;\n  }\n  range = UnicodeRanges[11];\n  if (value >= range.begin && value < range.end) {\n    return true;\n  }\n  return false;\n}\n\n// The normalization table is obtained by filtering the Unicode characters\n// database with <compat> entries.\nvar getNormalizedUnicodes = getLookupTableFactory(function(t) {\n  t[\"\\u00A8\"] = \"\\u0020\\u0308\";\n  t[\"\\u00AF\"] = \"\\u0020\\u0304\";\n  t[\"\\u00B4\"] = \"\\u0020\\u0301\";\n  t[\"\\u00B5\"] = \"\\u03BC\";\n  t[\"\\u00B8\"] = \"\\u0020\\u0327\";\n  t[\"\\u0132\"] = \"\\u0049\\u004A\";\n  t[\"\\u0133\"] = \"\\u0069\\u006A\";\n  t[\"\\u013F\"] = \"\\u004C\\u00B7\";\n  t[\"\\u0140\"] = \"\\u006C\\u00B7\";\n  t[\"\\u0149\"] = \"\\u02BC\\u006E\";\n  t[\"\\u017F\"] = \"\\u0073\";\n  t[\"\\u01C4\"] = \"\\u0044\\u017D\";\n  t[\"\\u01C5\"] = \"\\u0044\\u017E\";\n  t[\"\\u01C6\"] = \"\\u0064\\u017E\";\n  t[\"\\u01C7\"] = \"\\u004C\\u004A\";\n  t[\"\\u01C8\"] = \"\\u004C\\u006A\";\n  t[\"\\u01C9\"] = \"\\u006C\\u006A\";\n  t[\"\\u01CA\"] = \"\\u004E\\u004A\";\n  t[\"\\u01CB\"] = \"\\u004E\\u006A\";\n  t[\"\\u01CC\"] = \"\\u006E\\u006A\";\n  t[\"\\u01F1\"] = \"\\u0044\\u005A\";\n  t[\"\\u01F2\"] = \"\\u0044\\u007A\";\n  t[\"\\u01F3\"] = \"\\u0064\\u007A\";\n  t[\"\\u02D8\"] = \"\\u0020\\u0306\";\n  t[\"\\u02D9\"] = \"\\u0020\\u0307\";\n  t[\"\\u02DA\"] = \"\\u0020\\u030A\";\n  t[\"\\u02DB\"] = \"\\u0020\\u0328\";\n  t[\"\\u02DC\"] = \"\\u0020\\u0303\";\n  t[\"\\u02DD\"] = \"\\u0020\\u030B\";\n  t[\"\\u037A\"] = \"\\u0020\\u0345\";\n  t[\"\\u0384\"] = \"\\u0020\\u0301\";\n  t[\"\\u03D0\"] = \"\\u03B2\";\n  t[\"\\u03D1\"] = \"\\u03B8\";\n  t[\"\\u03D2\"] = \"\\u03A5\";\n  t[\"\\u03D5\"] = \"\\u03C6\";\n  t[\"\\u03D6\"] = \"\\u03C0\";\n  t[\"\\u03F0\"] = \"\\u03BA\";\n  t[\"\\u03F1\"] = \"\\u03C1\";\n  t[\"\\u03F2\"] = \"\\u03C2\";\n  t[\"\\u03F4\"] = \"\\u0398\";\n  t[\"\\u03F5\"] = \"\\u03B5\";\n  t[\"\\u03F9\"] = \"\\u03A3\";\n  t[\"\\u0587\"] = \"\\u0565\\u0582\";\n  t[\"\\u0675\"] = \"\\u0627\\u0674\";\n  t[\"\\u0676\"] = \"\\u0648\\u0674\";\n  t[\"\\u0677\"] = \"\\u06C7\\u0674\";\n  t[\"\\u0678\"] = \"\\u064A\\u0674\";\n  t[\"\\u0E33\"] = \"\\u0E4D\\u0E32\";\n  t[\"\\u0EB3\"] = \"\\u0ECD\\u0EB2\";\n  t[\"\\u0EDC\"] = \"\\u0EAB\\u0E99\";\n  t[\"\\u0EDD\"] = \"\\u0EAB\\u0EA1\";\n  t[\"\\u0F77\"] = \"\\u0FB2\\u0F81\";\n  t[\"\\u0F79\"] = \"\\u0FB3\\u0F81\";\n  t[\"\\u1E9A\"] = \"\\u0061\\u02BE\";\n  t[\"\\u1FBD\"] = \"\\u0020\\u0313\";\n  t[\"\\u1FBF\"] = \"\\u0020\\u0313\";\n  t[\"\\u1FC0\"] = \"\\u0020\\u0342\";\n  t[\"\\u1FFE\"] = \"\\u0020\\u0314\";\n  t[\"\\u2002\"] = \"\\u0020\";\n  t[\"\\u2003\"] = \"\\u0020\";\n  t[\"\\u2004\"] = \"\\u0020\";\n  t[\"\\u2005\"] = \"\\u0020\";\n  t[\"\\u2006\"] = \"\\u0020\";\n  t[\"\\u2008\"] = \"\\u0020\";\n  t[\"\\u2009\"] = \"\\u0020\";\n  t[\"\\u200A\"] = \"\\u0020\";\n  t[\"\\u2017\"] = \"\\u0020\\u0333\";\n  t[\"\\u2024\"] = \"\\u002E\";\n  t[\"\\u2025\"] = \"\\u002E\\u002E\";\n  t[\"\\u2026\"] = \"\\u002E\\u002E\\u002E\";\n  t[\"\\u2033\"] = \"\\u2032\\u2032\";\n  t[\"\\u2034\"] = \"\\u2032\\u2032\\u2032\";\n  t[\"\\u2036\"] = \"\\u2035\\u2035\";\n  t[\"\\u2037\"] = \"\\u2035\\u2035\\u2035\";\n  t[\"\\u203C\"] = \"\\u0021\\u0021\";\n  t[\"\\u203E\"] = \"\\u0020\\u0305\";\n  t[\"\\u2047\"] = \"\\u003F\\u003F\";\n  t[\"\\u2048\"] = \"\\u003F\\u0021\";\n  t[\"\\u2049\"] = \"\\u0021\\u003F\";\n  t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n  t[\"\\u205F\"] = \"\\u0020\";\n  t[\"\\u20A8\"] = \"\\u0052\\u0073\";\n  t[\"\\u2100\"] = \"\\u0061\\u002F\\u0063\";\n  t[\"\\u2101\"] = \"\\u0061\\u002F\\u0073\";\n  t[\"\\u2103\"] = \"\\u00B0\\u0043\";\n  t[\"\\u2105\"] = \"\\u0063\\u002F\\u006F\";\n  t[\"\\u2106\"] = \"\\u0063\\u002F\\u0075\";\n  t[\"\\u2107\"] = \"\\u0190\";\n  t[\"\\u2109\"] = \"\\u00B0\\u0046\";\n  t[\"\\u2116\"] = \"\\u004E\\u006F\";\n  t[\"\\u2121\"] = \"\\u0054\\u0045\\u004C\";\n  t[\"\\u2135\"] = \"\\u05D0\";\n  t[\"\\u2136\"] = \"\\u05D1\";\n  t[\"\\u2137\"] = \"\\u05D2\";\n  t[\"\\u2138\"] = \"\\u05D3\";\n  t[\"\\u213B\"] = \"\\u0046\\u0041\\u0058\";\n  t[\"\\u2160\"] = \"\\u0049\";\n  t[\"\\u2161\"] = \"\\u0049\\u0049\";\n  t[\"\\u2162\"] = \"\\u0049\\u0049\\u0049\";\n  t[\"\\u2163\"] = \"\\u0049\\u0056\";\n  t[\"\\u2164\"] = \"\\u0056\";\n  t[\"\\u2165\"] = \"\\u0056\\u0049\";\n  t[\"\\u2166\"] = \"\\u0056\\u0049\\u0049\";\n  t[\"\\u2167\"] = \"\\u0056\\u0049\\u0049\\u0049\";\n  t[\"\\u2168\"] = \"\\u0049\\u0058\";\n  t[\"\\u2169\"] = \"\\u0058\";\n  t[\"\\u216A\"] = \"\\u0058\\u0049\";\n  t[\"\\u216B\"] = \"\\u0058\\u0049\\u0049\";\n  t[\"\\u216C\"] = \"\\u004C\";\n  t[\"\\u216D\"] = \"\\u0043\";\n  t[\"\\u216E\"] = \"\\u0044\";\n  t[\"\\u216F\"] = \"\\u004D\";\n  t[\"\\u2170\"] = \"\\u0069\";\n  t[\"\\u2171\"] = \"\\u0069\\u0069\";\n  t[\"\\u2172\"] = \"\\u0069\\u0069\\u0069\";\n  t[\"\\u2173\"] = \"\\u0069\\u0076\";\n  t[\"\\u2174\"] = \"\\u0076\";\n  t[\"\\u2175\"] = \"\\u0076\\u0069\";\n  t[\"\\u2176\"] = \"\\u0076\\u0069\\u0069\";\n  t[\"\\u2177\"] = \"\\u0076\\u0069\\u0069\\u0069\";\n  t[\"\\u2178\"] = \"\\u0069\\u0078\";\n  t[\"\\u2179\"] = \"\\u0078\";\n  t[\"\\u217A\"] = \"\\u0078\\u0069\";\n  t[\"\\u217B\"] = \"\\u0078\\u0069\\u0069\";\n  t[\"\\u217C\"] = \"\\u006C\";\n  t[\"\\u217D\"] = \"\\u0063\";\n  t[\"\\u217E\"] = \"\\u0064\";\n  t[\"\\u217F\"] = \"\\u006D\";\n  t[\"\\u222C\"] = \"\\u222B\\u222B\";\n  t[\"\\u222D\"] = \"\\u222B\\u222B\\u222B\";\n  t[\"\\u222F\"] = \"\\u222E\\u222E\";\n  t[\"\\u2230\"] = \"\\u222E\\u222E\\u222E\";\n  t[\"\\u2474\"] = \"\\u0028\\u0031\\u0029\";\n  t[\"\\u2475\"] = \"\\u0028\\u0032\\u0029\";\n  t[\"\\u2476\"] = \"\\u0028\\u0033\\u0029\";\n  t[\"\\u2477\"] = \"\\u0028\\u0034\\u0029\";\n  t[\"\\u2478\"] = \"\\u0028\\u0035\\u0029\";\n  t[\"\\u2479\"] = \"\\u0028\\u0036\\u0029\";\n  t[\"\\u247A\"] = \"\\u0028\\u0037\\u0029\";\n  t[\"\\u247B\"] = \"\\u0028\\u0038\\u0029\";\n  t[\"\\u247C\"] = \"\\u0028\\u0039\\u0029\";\n  t[\"\\u247D\"] = \"\\u0028\\u0031\\u0030\\u0029\";\n  t[\"\\u247E\"] = \"\\u0028\\u0031\\u0031\\u0029\";\n  t[\"\\u247F\"] = \"\\u0028\\u0031\\u0032\\u0029\";\n  t[\"\\u2480\"] = \"\\u0028\\u0031\\u0033\\u0029\";\n  t[\"\\u2481\"] = \"\\u0028\\u0031\\u0034\\u0029\";\n  t[\"\\u2482\"] = \"\\u0028\\u0031\\u0035\\u0029\";\n  t[\"\\u2483\"] = \"\\u0028\\u0031\\u0036\\u0029\";\n  t[\"\\u2484\"] = \"\\u0028\\u0031\\u0037\\u0029\";\n  t[\"\\u2485\"] = \"\\u0028\\u0031\\u0038\\u0029\";\n  t[\"\\u2486\"] = \"\\u0028\\u0031\\u0039\\u0029\";\n  t[\"\\u2487\"] = \"\\u0028\\u0032\\u0030\\u0029\";\n  t[\"\\u2488\"] = \"\\u0031\\u002E\";\n  t[\"\\u2489\"] = \"\\u0032\\u002E\";\n  t[\"\\u248A\"] = \"\\u0033\\u002E\";\n  t[\"\\u248B\"] = \"\\u0034\\u002E\";\n  t[\"\\u248C\"] = \"\\u0035\\u002E\";\n  t[\"\\u248D\"] = \"\\u0036\\u002E\";\n  t[\"\\u248E\"] = \"\\u0037\\u002E\";\n  t[\"\\u248F\"] = \"\\u0038\\u002E\";\n  t[\"\\u2490\"] = \"\\u0039\\u002E\";\n  t[\"\\u2491\"] = \"\\u0031\\u0030\\u002E\";\n  t[\"\\u2492\"] = \"\\u0031\\u0031\\u002E\";\n  t[\"\\u2493\"] = \"\\u0031\\u0032\\u002E\";\n  t[\"\\u2494\"] = \"\\u0031\\u0033\\u002E\";\n  t[\"\\u2495\"] = \"\\u0031\\u0034\\u002E\";\n  t[\"\\u2496\"] = \"\\u0031\\u0035\\u002E\";\n  t[\"\\u2497\"] = \"\\u0031\\u0036\\u002E\";\n  t[\"\\u2498\"] = \"\\u0031\\u0037\\u002E\";\n  t[\"\\u2499\"] = \"\\u0031\\u0038\\u002E\";\n  t[\"\\u249A\"] = \"\\u0031\\u0039\\u002E\";\n  t[\"\\u249B\"] = \"\\u0032\\u0030\\u002E\";\n  t[\"\\u249C\"] = \"\\u0028\\u0061\\u0029\";\n  t[\"\\u249D\"] = \"\\u0028\\u0062\\u0029\";\n  t[\"\\u249E\"] = \"\\u0028\\u0063\\u0029\";\n  t[\"\\u249F\"] = \"\\u0028\\u0064\\u0029\";\n  t[\"\\u24A0\"] = \"\\u0028\\u0065\\u0029\";\n  t[\"\\u24A1\"] = \"\\u0028\\u0066\\u0029\";\n  t[\"\\u24A2\"] = \"\\u0028\\u0067\\u0029\";\n  t[\"\\u24A3\"] = \"\\u0028\\u0068\\u0029\";\n  t[\"\\u24A4\"] = \"\\u0028\\u0069\\u0029\";\n  t[\"\\u24A5\"] = \"\\u0028\\u006A\\u0029\";\n  t[\"\\u24A6\"] = \"\\u0028\\u006B\\u0029\";\n  t[\"\\u24A7\"] = \"\\u0028\\u006C\\u0029\";\n  t[\"\\u24A8\"] = \"\\u0028\\u006D\\u0029\";\n  t[\"\\u24A9\"] = \"\\u0028\\u006E\\u0029\";\n  t[\"\\u24AA\"] = \"\\u0028\\u006F\\u0029\";\n  t[\"\\u24AB\"] = \"\\u0028\\u0070\\u0029\";\n  t[\"\\u24AC\"] = \"\\u0028\\u0071\\u0029\";\n  t[\"\\u24AD\"] = \"\\u0028\\u0072\\u0029\";\n  t[\"\\u24AE\"] = \"\\u0028\\u0073\\u0029\";\n  t[\"\\u24AF\"] = \"\\u0028\\u0074\\u0029\";\n  t[\"\\u24B0\"] = \"\\u0028\\u0075\\u0029\";\n  t[\"\\u24B1\"] = \"\\u0028\\u0076\\u0029\";\n  t[\"\\u24B2\"] = \"\\u0028\\u0077\\u0029\";\n  t[\"\\u24B3\"] = \"\\u0028\\u0078\\u0029\";\n  t[\"\\u24B4\"] = \"\\u0028\\u0079\\u0029\";\n  t[\"\\u24B5\"] = \"\\u0028\\u007A\\u0029\";\n  t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n  t[\"\\u2A74\"] = \"\\u003A\\u003A\\u003D\";\n  t[\"\\u2A75\"] = \"\\u003D\\u003D\";\n  t[\"\\u2A76\"] = \"\\u003D\\u003D\\u003D\";\n  t[\"\\u2E9F\"] = \"\\u6BCD\";\n  t[\"\\u2EF3\"] = \"\\u9F9F\";\n  t[\"\\u2F00\"] = \"\\u4E00\";\n  t[\"\\u2F01\"] = \"\\u4E28\";\n  t[\"\\u2F02\"] = \"\\u4E36\";\n  t[\"\\u2F03\"] = \"\\u4E3F\";\n  t[\"\\u2F04\"] = \"\\u4E59\";\n  t[\"\\u2F05\"] = \"\\u4E85\";\n  t[\"\\u2F06\"] = \"\\u4E8C\";\n  t[\"\\u2F07\"] = \"\\u4EA0\";\n  t[\"\\u2F08\"] = \"\\u4EBA\";\n  t[\"\\u2F09\"] = \"\\u513F\";\n  t[\"\\u2F0A\"] = \"\\u5165\";\n  t[\"\\u2F0B\"] = \"\\u516B\";\n  t[\"\\u2F0C\"] = \"\\u5182\";\n  t[\"\\u2F0D\"] = \"\\u5196\";\n  t[\"\\u2F0E\"] = \"\\u51AB\";\n  t[\"\\u2F0F\"] = \"\\u51E0\";\n  t[\"\\u2F10\"] = \"\\u51F5\";\n  t[\"\\u2F11\"] = \"\\u5200\";\n  t[\"\\u2F12\"] = \"\\u529B\";\n  t[\"\\u2F13\"] = \"\\u52F9\";\n  t[\"\\u2F14\"] = \"\\u5315\";\n  t[\"\\u2F15\"] = \"\\u531A\";\n  t[\"\\u2F16\"] = \"\\u5338\";\n  t[\"\\u2F17\"] = \"\\u5341\";\n  t[\"\\u2F18\"] = \"\\u535C\";\n  t[\"\\u2F19\"] = \"\\u5369\";\n  t[\"\\u2F1A\"] = \"\\u5382\";\n  t[\"\\u2F1B\"] = \"\\u53B6\";\n  t[\"\\u2F1C\"] = \"\\u53C8\";\n  t[\"\\u2F1D\"] = \"\\u53E3\";\n  t[\"\\u2F1E\"] = \"\\u56D7\";\n  t[\"\\u2F1F\"] = \"\\u571F\";\n  t[\"\\u2F20\"] = \"\\u58EB\";\n  t[\"\\u2F21\"] = \"\\u5902\";\n  t[\"\\u2F22\"] = \"\\u590A\";\n  t[\"\\u2F23\"] = \"\\u5915\";\n  t[\"\\u2F24\"] = \"\\u5927\";\n  t[\"\\u2F25\"] = \"\\u5973\";\n  t[\"\\u2F26\"] = \"\\u5B50\";\n  t[\"\\u2F27\"] = \"\\u5B80\";\n  t[\"\\u2F28\"] = \"\\u5BF8\";\n  t[\"\\u2F29\"] = \"\\u5C0F\";\n  t[\"\\u2F2A\"] = \"\\u5C22\";\n  t[\"\\u2F2B\"] = \"\\u5C38\";\n  t[\"\\u2F2C\"] = \"\\u5C6E\";\n  t[\"\\u2F2D\"] = \"\\u5C71\";\n  t[\"\\u2F2E\"] = \"\\u5DDB\";\n  t[\"\\u2F2F\"] = \"\\u5DE5\";\n  t[\"\\u2F30\"] = \"\\u5DF1\";\n  t[\"\\u2F31\"] = \"\\u5DFE\";\n  t[\"\\u2F32\"] = \"\\u5E72\";\n  t[\"\\u2F33\"] = \"\\u5E7A\";\n  t[\"\\u2F34\"] = \"\\u5E7F\";\n  t[\"\\u2F35\"] = \"\\u5EF4\";\n  t[\"\\u2F36\"] = \"\\u5EFE\";\n  t[\"\\u2F37\"] = \"\\u5F0B\";\n  t[\"\\u2F38\"] = \"\\u5F13\";\n  t[\"\\u2F39\"] = \"\\u5F50\";\n  t[\"\\u2F3A\"] = \"\\u5F61\";\n  t[\"\\u2F3B\"] = \"\\u5F73\";\n  t[\"\\u2F3C\"] = \"\\u5FC3\";\n  t[\"\\u2F3D\"] = \"\\u6208\";\n  t[\"\\u2F3E\"] = \"\\u6236\";\n  t[\"\\u2F3F\"] = \"\\u624B\";\n  t[\"\\u2F40\"] = \"\\u652F\";\n  t[\"\\u2F41\"] = \"\\u6534\";\n  t[\"\\u2F42\"] = \"\\u6587\";\n  t[\"\\u2F43\"] = \"\\u6597\";\n  t[\"\\u2F44\"] = \"\\u65A4\";\n  t[\"\\u2F45\"] = \"\\u65B9\";\n  t[\"\\u2F46\"] = \"\\u65E0\";\n  t[\"\\u2F47\"] = \"\\u65E5\";\n  t[\"\\u2F48\"] = \"\\u66F0\";\n  t[\"\\u2F49\"] = \"\\u6708\";\n  t[\"\\u2F4A\"] = \"\\u6728\";\n  t[\"\\u2F4B\"] = \"\\u6B20\";\n  t[\"\\u2F4C\"] = \"\\u6B62\";\n  t[\"\\u2F4D\"] = \"\\u6B79\";\n  t[\"\\u2F4E\"] = \"\\u6BB3\";\n  t[\"\\u2F4F\"] = \"\\u6BCB\";\n  t[\"\\u2F50\"] = \"\\u6BD4\";\n  t[\"\\u2F51\"] = \"\\u6BDB\";\n  t[\"\\u2F52\"] = \"\\u6C0F\";\n  t[\"\\u2F53\"] = \"\\u6C14\";\n  t[\"\\u2F54\"] = \"\\u6C34\";\n  t[\"\\u2F55\"] = \"\\u706B\";\n  t[\"\\u2F56\"] = \"\\u722A\";\n  t[\"\\u2F57\"] = \"\\u7236\";\n  t[\"\\u2F58\"] = \"\\u723B\";\n  t[\"\\u2F59\"] = \"\\u723F\";\n  t[\"\\u2F5A\"] = \"\\u7247\";\n  t[\"\\u2F5B\"] = \"\\u7259\";\n  t[\"\\u2F5C\"] = \"\\u725B\";\n  t[\"\\u2F5D\"] = \"\\u72AC\";\n  t[\"\\u2F5E\"] = \"\\u7384\";\n  t[\"\\u2F5F\"] = \"\\u7389\";\n  t[\"\\u2F60\"] = \"\\u74DC\";\n  t[\"\\u2F61\"] = \"\\u74E6\";\n  t[\"\\u2F62\"] = \"\\u7518\";\n  t[\"\\u2F63\"] = \"\\u751F\";\n  t[\"\\u2F64\"] = \"\\u7528\";\n  t[\"\\u2F65\"] = \"\\u7530\";\n  t[\"\\u2F66\"] = \"\\u758B\";\n  t[\"\\u2F67\"] = \"\\u7592\";\n  t[\"\\u2F68\"] = \"\\u7676\";\n  t[\"\\u2F69\"] = \"\\u767D\";\n  t[\"\\u2F6A\"] = \"\\u76AE\";\n  t[\"\\u2F6B\"] = \"\\u76BF\";\n  t[\"\\u2F6C\"] = \"\\u76EE\";\n  t[\"\\u2F6D\"] = \"\\u77DB\";\n  t[\"\\u2F6E\"] = \"\\u77E2\";\n  t[\"\\u2F6F\"] = \"\\u77F3\";\n  t[\"\\u2F70\"] = \"\\u793A\";\n  t[\"\\u2F71\"] = \"\\u79B8\";\n  t[\"\\u2F72\"] = \"\\u79BE\";\n  t[\"\\u2F73\"] = \"\\u7A74\";\n  t[\"\\u2F74\"] = \"\\u7ACB\";\n  t[\"\\u2F75\"] = \"\\u7AF9\";\n  t[\"\\u2F76\"] = \"\\u7C73\";\n  t[\"\\u2F77\"] = \"\\u7CF8\";\n  t[\"\\u2F78\"] = \"\\u7F36\";\n  t[\"\\u2F79\"] = \"\\u7F51\";\n  t[\"\\u2F7A\"] = \"\\u7F8A\";\n  t[\"\\u2F7B\"] = \"\\u7FBD\";\n  t[\"\\u2F7C\"] = \"\\u8001\";\n  t[\"\\u2F7D\"] = \"\\u800C\";\n  t[\"\\u2F7E\"] = \"\\u8012\";\n  t[\"\\u2F7F\"] = \"\\u8033\";\n  t[\"\\u2F80\"] = \"\\u807F\";\n  t[\"\\u2F81\"] = \"\\u8089\";\n  t[\"\\u2F82\"] = \"\\u81E3\";\n  t[\"\\u2F83\"] = \"\\u81EA\";\n  t[\"\\u2F84\"] = \"\\u81F3\";\n  t[\"\\u2F85\"] = \"\\u81FC\";\n  t[\"\\u2F86\"] = \"\\u820C\";\n  t[\"\\u2F87\"] = \"\\u821B\";\n  t[\"\\u2F88\"] = \"\\u821F\";\n  t[\"\\u2F89\"] = \"\\u826E\";\n  t[\"\\u2F8A\"] = \"\\u8272\";\n  t[\"\\u2F8B\"] = \"\\u8278\";\n  t[\"\\u2F8C\"] = \"\\u864D\";\n  t[\"\\u2F8D\"] = \"\\u866B\";\n  t[\"\\u2F8E\"] = \"\\u8840\";\n  t[\"\\u2F8F\"] = \"\\u884C\";\n  t[\"\\u2F90\"] = \"\\u8863\";\n  t[\"\\u2F91\"] = \"\\u897E\";\n  t[\"\\u2F92\"] = \"\\u898B\";\n  t[\"\\u2F93\"] = \"\\u89D2\";\n  t[\"\\u2F94\"] = \"\\u8A00\";\n  t[\"\\u2F95\"] = \"\\u8C37\";\n  t[\"\\u2F96\"] = \"\\u8C46\";\n  t[\"\\u2F97\"] = \"\\u8C55\";\n  t[\"\\u2F98\"] = \"\\u8C78\";\n  t[\"\\u2F99\"] = \"\\u8C9D\";\n  t[\"\\u2F9A\"] = \"\\u8D64\";\n  t[\"\\u2F9B\"] = \"\\u8D70\";\n  t[\"\\u2F9C\"] = \"\\u8DB3\";\n  t[\"\\u2F9D\"] = \"\\u8EAB\";\n  t[\"\\u2F9E\"] = \"\\u8ECA\";\n  t[\"\\u2F9F\"] = \"\\u8F9B\";\n  t[\"\\u2FA0\"] = \"\\u8FB0\";\n  t[\"\\u2FA1\"] = \"\\u8FB5\";\n  t[\"\\u2FA2\"] = \"\\u9091\";\n  t[\"\\u2FA3\"] = \"\\u9149\";\n  t[\"\\u2FA4\"] = \"\\u91C6\";\n  t[\"\\u2FA5\"] = \"\\u91CC\";\n  t[\"\\u2FA6\"] = \"\\u91D1\";\n  t[\"\\u2FA7\"] = \"\\u9577\";\n  t[\"\\u2FA8\"] = \"\\u9580\";\n  t[\"\\u2FA9\"] = \"\\u961C\";\n  t[\"\\u2FAA\"] = \"\\u96B6\";\n  t[\"\\u2FAB\"] = \"\\u96B9\";\n  t[\"\\u2FAC\"] = \"\\u96E8\";\n  t[\"\\u2FAD\"] = \"\\u9751\";\n  t[\"\\u2FAE\"] = \"\\u975E\";\n  t[\"\\u2FAF\"] = \"\\u9762\";\n  t[\"\\u2FB0\"] = \"\\u9769\";\n  t[\"\\u2FB1\"] = \"\\u97CB\";\n  t[\"\\u2FB2\"] = \"\\u97ED\";\n  t[\"\\u2FB3\"] = \"\\u97F3\";\n  t[\"\\u2FB4\"] = \"\\u9801\";\n  t[\"\\u2FB5\"] = \"\\u98A8\";\n  t[\"\\u2FB6\"] = \"\\u98DB\";\n  t[\"\\u2FB7\"] = \"\\u98DF\";\n  t[\"\\u2FB8\"] = \"\\u9996\";\n  t[\"\\u2FB9\"] = \"\\u9999\";\n  t[\"\\u2FBA\"] = \"\\u99AC\";\n  t[\"\\u2FBB\"] = \"\\u9AA8\";\n  t[\"\\u2FBC\"] = \"\\u9AD8\";\n  t[\"\\u2FBD\"] = \"\\u9ADF\";\n  t[\"\\u2FBE\"] = \"\\u9B25\";\n  t[\"\\u2FBF\"] = \"\\u9B2F\";\n  t[\"\\u2FC0\"] = \"\\u9B32\";\n  t[\"\\u2FC1\"] = \"\\u9B3C\";\n  t[\"\\u2FC2\"] = \"\\u9B5A\";\n  t[\"\\u2FC3\"] = \"\\u9CE5\";\n  t[\"\\u2FC4\"] = \"\\u9E75\";\n  t[\"\\u2FC5\"] = \"\\u9E7F\";\n  t[\"\\u2FC6\"] = \"\\u9EA5\";\n  t[\"\\u2FC7\"] = \"\\u9EBB\";\n  t[\"\\u2FC8\"] = \"\\u9EC3\";\n  t[\"\\u2FC9\"] = \"\\u9ECD\";\n  t[\"\\u2FCA\"] = \"\\u9ED1\";\n  t[\"\\u2FCB\"] = \"\\u9EF9\";\n  t[\"\\u2FCC\"] = \"\\u9EFD\";\n  t[\"\\u2FCD\"] = \"\\u9F0E\";\n  t[\"\\u2FCE\"] = \"\\u9F13\";\n  t[\"\\u2FCF\"] = \"\\u9F20\";\n  t[\"\\u2FD0\"] = \"\\u9F3B\";\n  t[\"\\u2FD1\"] = \"\\u9F4A\";\n  t[\"\\u2FD2\"] = \"\\u9F52\";\n  t[\"\\u2FD3\"] = \"\\u9F8D\";\n  t[\"\\u2FD4\"] = \"\\u9F9C\";\n  t[\"\\u2FD5\"] = \"\\u9FA0\";\n  t[\"\\u3036\"] = \"\\u3012\";\n  t[\"\\u3038\"] = \"\\u5341\";\n  t[\"\\u3039\"] = \"\\u5344\";\n  t[\"\\u303A\"] = \"\\u5345\";\n  t[\"\\u309B\"] = \"\\u0020\\u3099\";\n  t[\"\\u309C\"] = \"\\u0020\\u309A\";\n  t[\"\\u3131\"] = \"\\u1100\";\n  t[\"\\u3132\"] = \"\\u1101\";\n  t[\"\\u3133\"] = \"\\u11AA\";\n  t[\"\\u3134\"] = \"\\u1102\";\n  t[\"\\u3135\"] = \"\\u11AC\";\n  t[\"\\u3136\"] = \"\\u11AD\";\n  t[\"\\u3137\"] = \"\\u1103\";\n  t[\"\\u3138\"] = \"\\u1104\";\n  t[\"\\u3139\"] = \"\\u1105\";\n  t[\"\\u313A\"] = \"\\u11B0\";\n  t[\"\\u313B\"] = \"\\u11B1\";\n  t[\"\\u313C\"] = \"\\u11B2\";\n  t[\"\\u313D\"] = \"\\u11B3\";\n  t[\"\\u313E\"] = \"\\u11B4\";\n  t[\"\\u313F\"] = \"\\u11B5\";\n  t[\"\\u3140\"] = \"\\u111A\";\n  t[\"\\u3141\"] = \"\\u1106\";\n  t[\"\\u3142\"] = \"\\u1107\";\n  t[\"\\u3143\"] = \"\\u1108\";\n  t[\"\\u3144\"] = \"\\u1121\";\n  t[\"\\u3145\"] = \"\\u1109\";\n  t[\"\\u3146\"] = \"\\u110A\";\n  t[\"\\u3147\"] = \"\\u110B\";\n  t[\"\\u3148\"] = \"\\u110C\";\n  t[\"\\u3149\"] = \"\\u110D\";\n  t[\"\\u314A\"] = \"\\u110E\";\n  t[\"\\u314B\"] = \"\\u110F\";\n  t[\"\\u314C\"] = \"\\u1110\";\n  t[\"\\u314D\"] = \"\\u1111\";\n  t[\"\\u314E\"] = \"\\u1112\";\n  t[\"\\u314F\"] = \"\\u1161\";\n  t[\"\\u3150\"] = \"\\u1162\";\n  t[\"\\u3151\"] = \"\\u1163\";\n  t[\"\\u3152\"] = \"\\u1164\";\n  t[\"\\u3153\"] = \"\\u1165\";\n  t[\"\\u3154\"] = \"\\u1166\";\n  t[\"\\u3155\"] = \"\\u1167\";\n  t[\"\\u3156\"] = \"\\u1168\";\n  t[\"\\u3157\"] = \"\\u1169\";\n  t[\"\\u3158\"] = \"\\u116A\";\n  t[\"\\u3159\"] = \"\\u116B\";\n  t[\"\\u315A\"] = \"\\u116C\";\n  t[\"\\u315B\"] = \"\\u116D\";\n  t[\"\\u315C\"] = \"\\u116E\";\n  t[\"\\u315D\"] = \"\\u116F\";\n  t[\"\\u315E\"] = \"\\u1170\";\n  t[\"\\u315F\"] = \"\\u1171\";\n  t[\"\\u3160\"] = \"\\u1172\";\n  t[\"\\u3161\"] = \"\\u1173\";\n  t[\"\\u3162\"] = \"\\u1174\";\n  t[\"\\u3163\"] = \"\\u1175\";\n  t[\"\\u3164\"] = \"\\u1160\";\n  t[\"\\u3165\"] = \"\\u1114\";\n  t[\"\\u3166\"] = \"\\u1115\";\n  t[\"\\u3167\"] = \"\\u11C7\";\n  t[\"\\u3168\"] = \"\\u11C8\";\n  t[\"\\u3169\"] = \"\\u11CC\";\n  t[\"\\u316A\"] = \"\\u11CE\";\n  t[\"\\u316B\"] = \"\\u11D3\";\n  t[\"\\u316C\"] = \"\\u11D7\";\n  t[\"\\u316D\"] = \"\\u11D9\";\n  t[\"\\u316E\"] = \"\\u111C\";\n  t[\"\\u316F\"] = \"\\u11DD\";\n  t[\"\\u3170\"] = \"\\u11DF\";\n  t[\"\\u3171\"] = \"\\u111D\";\n  t[\"\\u3172\"] = \"\\u111E\";\n  t[\"\\u3173\"] = \"\\u1120\";\n  t[\"\\u3174\"] = \"\\u1122\";\n  t[\"\\u3175\"] = \"\\u1123\";\n  t[\"\\u3176\"] = \"\\u1127\";\n  t[\"\\u3177\"] = \"\\u1129\";\n  t[\"\\u3178\"] = \"\\u112B\";\n  t[\"\\u3179\"] = \"\\u112C\";\n  t[\"\\u317A\"] = \"\\u112D\";\n  t[\"\\u317B\"] = \"\\u112E\";\n  t[\"\\u317C\"] = \"\\u112F\";\n  t[\"\\u317D\"] = \"\\u1132\";\n  t[\"\\u317E\"] = \"\\u1136\";\n  t[\"\\u317F\"] = \"\\u1140\";\n  t[\"\\u3180\"] = \"\\u1147\";\n  t[\"\\u3181\"] = \"\\u114C\";\n  t[\"\\u3182\"] = \"\\u11F1\";\n  t[\"\\u3183\"] = \"\\u11F2\";\n  t[\"\\u3184\"] = \"\\u1157\";\n  t[\"\\u3185\"] = \"\\u1158\";\n  t[\"\\u3186\"] = \"\\u1159\";\n  t[\"\\u3187\"] = \"\\u1184\";\n  t[\"\\u3188\"] = \"\\u1185\";\n  t[\"\\u3189\"] = \"\\u1188\";\n  t[\"\\u318A\"] = \"\\u1191\";\n  t[\"\\u318B\"] = \"\\u1192\";\n  t[\"\\u318C\"] = \"\\u1194\";\n  t[\"\\u318D\"] = \"\\u119E\";\n  t[\"\\u318E\"] = \"\\u11A1\";\n  t[\"\\u3200\"] = \"\\u0028\\u1100\\u0029\";\n  t[\"\\u3201\"] = \"\\u0028\\u1102\\u0029\";\n  t[\"\\u3202\"] = \"\\u0028\\u1103\\u0029\";\n  t[\"\\u3203\"] = \"\\u0028\\u1105\\u0029\";\n  t[\"\\u3204\"] = \"\\u0028\\u1106\\u0029\";\n  t[\"\\u3205\"] = \"\\u0028\\u1107\\u0029\";\n  t[\"\\u3206\"] = \"\\u0028\\u1109\\u0029\";\n  t[\"\\u3207\"] = \"\\u0028\\u110B\\u0029\";\n  t[\"\\u3208\"] = \"\\u0028\\u110C\\u0029\";\n  t[\"\\u3209\"] = \"\\u0028\\u110E\\u0029\";\n  t[\"\\u320A\"] = \"\\u0028\\u110F\\u0029\";\n  t[\"\\u320B\"] = \"\\u0028\\u1110\\u0029\";\n  t[\"\\u320C\"] = \"\\u0028\\u1111\\u0029\";\n  t[\"\\u320D\"] = \"\\u0028\\u1112\\u0029\";\n  t[\"\\u320E\"] = \"\\u0028\\u1100\\u1161\\u0029\";\n  t[\"\\u320F\"] = \"\\u0028\\u1102\\u1161\\u0029\";\n  t[\"\\u3210\"] = \"\\u0028\\u1103\\u1161\\u0029\";\n  t[\"\\u3211\"] = \"\\u0028\\u1105\\u1161\\u0029\";\n  t[\"\\u3212\"] = \"\\u0028\\u1106\\u1161\\u0029\";\n  t[\"\\u3213\"] = \"\\u0028\\u1107\\u1161\\u0029\";\n  t[\"\\u3214\"] = \"\\u0028\\u1109\\u1161\\u0029\";\n  t[\"\\u3215\"] = \"\\u0028\\u110B\\u1161\\u0029\";\n  t[\"\\u3216\"] = \"\\u0028\\u110C\\u1161\\u0029\";\n  t[\"\\u3217\"] = \"\\u0028\\u110E\\u1161\\u0029\";\n  t[\"\\u3218\"] = \"\\u0028\\u110F\\u1161\\u0029\";\n  t[\"\\u3219\"] = \"\\u0028\\u1110\\u1161\\u0029\";\n  t[\"\\u321A\"] = \"\\u0028\\u1111\\u1161\\u0029\";\n  t[\"\\u321B\"] = \"\\u0028\\u1112\\u1161\\u0029\";\n  t[\"\\u321C\"] = \"\\u0028\\u110C\\u116E\\u0029\";\n  t[\"\\u321D\"] = \"\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029\";\n  t[\"\\u321E\"] = \"\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029\";\n  t[\"\\u3220\"] = \"\\u0028\\u4E00\\u0029\";\n  t[\"\\u3221\"] = \"\\u0028\\u4E8C\\u0029\";\n  t[\"\\u3222\"] = \"\\u0028\\u4E09\\u0029\";\n  t[\"\\u3223\"] = \"\\u0028\\u56DB\\u0029\";\n  t[\"\\u3224\"] = \"\\u0028\\u4E94\\u0029\";\n  t[\"\\u3225\"] = \"\\u0028\\u516D\\u0029\";\n  t[\"\\u3226\"] = \"\\u0028\\u4E03\\u0029\";\n  t[\"\\u3227\"] = \"\\u0028\\u516B\\u0029\";\n  t[\"\\u3228\"] = \"\\u0028\\u4E5D\\u0029\";\n  t[\"\\u3229\"] = \"\\u0028\\u5341\\u0029\";\n  t[\"\\u322A\"] = \"\\u0028\\u6708\\u0029\";\n  t[\"\\u322B\"] = \"\\u0028\\u706B\\u0029\";\n  t[\"\\u322C\"] = \"\\u0028\\u6C34\\u0029\";\n  t[\"\\u322D\"] = \"\\u0028\\u6728\\u0029\";\n  t[\"\\u322E\"] = \"\\u0028\\u91D1\\u0029\";\n  t[\"\\u322F\"] = \"\\u0028\\u571F\\u0029\";\n  t[\"\\u3230\"] = \"\\u0028\\u65E5\\u0029\";\n  t[\"\\u3231\"] = \"\\u0028\\u682A\\u0029\";\n  t[\"\\u3232\"] = \"\\u0028\\u6709\\u0029\";\n  t[\"\\u3233\"] = \"\\u0028\\u793E\\u0029\";\n  t[\"\\u3234\"] = \"\\u0028\\u540D\\u0029\";\n  t[\"\\u3235\"] = \"\\u0028\\u7279\\u0029\";\n  t[\"\\u3236\"] = \"\\u0028\\u8CA1\\u0029\";\n  t[\"\\u3237\"] = \"\\u0028\\u795D\\u0029\";\n  t[\"\\u3238\"] = \"\\u0028\\u52B4\\u0029\";\n  t[\"\\u3239\"] = \"\\u0028\\u4EE3\\u0029\";\n  t[\"\\u323A\"] = \"\\u0028\\u547C\\u0029\";\n  t[\"\\u323B\"] = \"\\u0028\\u5B66\\u0029\";\n  t[\"\\u323C\"] = \"\\u0028\\u76E3\\u0029\";\n  t[\"\\u323D\"] = \"\\u0028\\u4F01\\u0029\";\n  t[\"\\u323E\"] = \"\\u0028\\u8CC7\\u0029\";\n  t[\"\\u323F\"] = \"\\u0028\\u5354\\u0029\";\n  t[\"\\u3240\"] = \"\\u0028\\u796D\\u0029\";\n  t[\"\\u3241\"] = \"\\u0028\\u4F11\\u0029\";\n  t[\"\\u3242\"] = \"\\u0028\\u81EA\\u0029\";\n  t[\"\\u3243\"] = \"\\u0028\\u81F3\\u0029\";\n  t[\"\\u32C0\"] = \"\\u0031\\u6708\";\n  t[\"\\u32C1\"] = \"\\u0032\\u6708\";\n  t[\"\\u32C2\"] = \"\\u0033\\u6708\";\n  t[\"\\u32C3\"] = \"\\u0034\\u6708\";\n  t[\"\\u32C4\"] = \"\\u0035\\u6708\";\n  t[\"\\u32C5\"] = \"\\u0036\\u6708\";\n  t[\"\\u32C6\"] = \"\\u0037\\u6708\";\n  t[\"\\u32C7\"] = \"\\u0038\\u6708\";\n  t[\"\\u32C8\"] = \"\\u0039\\u6708\";\n  t[\"\\u32C9\"] = \"\\u0031\\u0030\\u6708\";\n  t[\"\\u32CA\"] = \"\\u0031\\u0031\\u6708\";\n  t[\"\\u32CB\"] = \"\\u0031\\u0032\\u6708\";\n  t[\"\\u3358\"] = \"\\u0030\\u70B9\";\n  t[\"\\u3359\"] = \"\\u0031\\u70B9\";\n  t[\"\\u335A\"] = \"\\u0032\\u70B9\";\n  t[\"\\u335B\"] = \"\\u0033\\u70B9\";\n  t[\"\\u335C\"] = \"\\u0034\\u70B9\";\n  t[\"\\u335D\"] = \"\\u0035\\u70B9\";\n  t[\"\\u335E\"] = \"\\u0036\\u70B9\";\n  t[\"\\u335F\"] = \"\\u0037\\u70B9\";\n  t[\"\\u3360\"] = \"\\u0038\\u70B9\";\n  t[\"\\u3361\"] = \"\\u0039\\u70B9\";\n  t[\"\\u3362\"] = \"\\u0031\\u0030\\u70B9\";\n  t[\"\\u3363\"] = \"\\u0031\\u0031\\u70B9\";\n  t[\"\\u3364\"] = \"\\u0031\\u0032\\u70B9\";\n  t[\"\\u3365\"] = \"\\u0031\\u0033\\u70B9\";\n  t[\"\\u3366\"] = \"\\u0031\\u0034\\u70B9\";\n  t[\"\\u3367\"] = \"\\u0031\\u0035\\u70B9\";\n  t[\"\\u3368\"] = \"\\u0031\\u0036\\u70B9\";\n  t[\"\\u3369\"] = \"\\u0031\\u0037\\u70B9\";\n  t[\"\\u336A\"] = \"\\u0031\\u0038\\u70B9\";\n  t[\"\\u336B\"] = \"\\u0031\\u0039\\u70B9\";\n  t[\"\\u336C\"] = \"\\u0032\\u0030\\u70B9\";\n  t[\"\\u336D\"] = \"\\u0032\\u0031\\u70B9\";\n  t[\"\\u336E\"] = \"\\u0032\\u0032\\u70B9\";\n  t[\"\\u336F\"] = \"\\u0032\\u0033\\u70B9\";\n  t[\"\\u3370\"] = \"\\u0032\\u0034\\u70B9\";\n  t[\"\\u33E0\"] = \"\\u0031\\u65E5\";\n  t[\"\\u33E1\"] = \"\\u0032\\u65E5\";\n  t[\"\\u33E2\"] = \"\\u0033\\u65E5\";\n  t[\"\\u33E3\"] = \"\\u0034\\u65E5\";\n  t[\"\\u33E4\"] = \"\\u0035\\u65E5\";\n  t[\"\\u33E5\"] = \"\\u0036\\u65E5\";\n  t[\"\\u33E6\"] = \"\\u0037\\u65E5\";\n  t[\"\\u33E7\"] = \"\\u0038\\u65E5\";\n  t[\"\\u33E8\"] = \"\\u0039\\u65E5\";\n  t[\"\\u33E9\"] = \"\\u0031\\u0030\\u65E5\";\n  t[\"\\u33EA\"] = \"\\u0031\\u0031\\u65E5\";\n  t[\"\\u33EB\"] = \"\\u0031\\u0032\\u65E5\";\n  t[\"\\u33EC\"] = \"\\u0031\\u0033\\u65E5\";\n  t[\"\\u33ED\"] = \"\\u0031\\u0034\\u65E5\";\n  t[\"\\u33EE\"] = \"\\u0031\\u0035\\u65E5\";\n  t[\"\\u33EF\"] = \"\\u0031\\u0036\\u65E5\";\n  t[\"\\u33F0\"] = \"\\u0031\\u0037\\u65E5\";\n  t[\"\\u33F1\"] = \"\\u0031\\u0038\\u65E5\";\n  t[\"\\u33F2\"] = \"\\u0031\\u0039\\u65E5\";\n  t[\"\\u33F3\"] = \"\\u0032\\u0030\\u65E5\";\n  t[\"\\u33F4\"] = \"\\u0032\\u0031\\u65E5\";\n  t[\"\\u33F5\"] = \"\\u0032\\u0032\\u65E5\";\n  t[\"\\u33F6\"] = \"\\u0032\\u0033\\u65E5\";\n  t[\"\\u33F7\"] = \"\\u0032\\u0034\\u65E5\";\n  t[\"\\u33F8\"] = \"\\u0032\\u0035\\u65E5\";\n  t[\"\\u33F9\"] = \"\\u0032\\u0036\\u65E5\";\n  t[\"\\u33FA\"] = \"\\u0032\\u0037\\u65E5\";\n  t[\"\\u33FB\"] = \"\\u0032\\u0038\\u65E5\";\n  t[\"\\u33FC\"] = \"\\u0032\\u0039\\u65E5\";\n  t[\"\\u33FD\"] = \"\\u0033\\u0030\\u65E5\";\n  t[\"\\u33FE\"] = \"\\u0033\\u0031\\u65E5\";\n  t[\"\\uFB00\"] = \"\\u0066\\u0066\";\n  t[\"\\uFB01\"] = \"\\u0066\\u0069\";\n  t[\"\\uFB02\"] = \"\\u0066\\u006C\";\n  t[\"\\uFB03\"] = \"\\u0066\\u0066\\u0069\";\n  t[\"\\uFB04\"] = \"\\u0066\\u0066\\u006C\";\n  t[\"\\uFB05\"] = \"\\u017F\\u0074\";\n  t[\"\\uFB06\"] = \"\\u0073\\u0074\";\n  t[\"\\uFB13\"] = \"\\u0574\\u0576\";\n  t[\"\\uFB14\"] = \"\\u0574\\u0565\";\n  t[\"\\uFB15\"] = \"\\u0574\\u056B\";\n  t[\"\\uFB16\"] = \"\\u057E\\u0576\";\n  t[\"\\uFB17\"] = \"\\u0574\\u056D\";\n  t[\"\\uFB4F\"] = \"\\u05D0\\u05DC\";\n  t[\"\\uFB50\"] = \"\\u0671\";\n  t[\"\\uFB51\"] = \"\\u0671\";\n  t[\"\\uFB52\"] = \"\\u067B\";\n  t[\"\\uFB53\"] = \"\\u067B\";\n  t[\"\\uFB54\"] = \"\\u067B\";\n  t[\"\\uFB55\"] = \"\\u067B\";\n  t[\"\\uFB56\"] = \"\\u067E\";\n  t[\"\\uFB57\"] = \"\\u067E\";\n  t[\"\\uFB58\"] = \"\\u067E\";\n  t[\"\\uFB59\"] = \"\\u067E\";\n  t[\"\\uFB5A\"] = \"\\u0680\";\n  t[\"\\uFB5B\"] = \"\\u0680\";\n  t[\"\\uFB5C\"] = \"\\u0680\";\n  t[\"\\uFB5D\"] = \"\\u0680\";\n  t[\"\\uFB5E\"] = \"\\u067A\";\n  t[\"\\uFB5F\"] = \"\\u067A\";\n  t[\"\\uFB60\"] = \"\\u067A\";\n  t[\"\\uFB61\"] = \"\\u067A\";\n  t[\"\\uFB62\"] = \"\\u067F\";\n  t[\"\\uFB63\"] = \"\\u067F\";\n  t[\"\\uFB64\"] = \"\\u067F\";\n  t[\"\\uFB65\"] = \"\\u067F\";\n  t[\"\\uFB66\"] = \"\\u0679\";\n  t[\"\\uFB67\"] = \"\\u0679\";\n  t[\"\\uFB68\"] = \"\\u0679\";\n  t[\"\\uFB69\"] = \"\\u0679\";\n  t[\"\\uFB6A\"] = \"\\u06A4\";\n  t[\"\\uFB6B\"] = \"\\u06A4\";\n  t[\"\\uFB6C\"] = \"\\u06A4\";\n  t[\"\\uFB6D\"] = \"\\u06A4\";\n  t[\"\\uFB6E\"] = \"\\u06A6\";\n  t[\"\\uFB6F\"] = \"\\u06A6\";\n  t[\"\\uFB70\"] = \"\\u06A6\";\n  t[\"\\uFB71\"] = \"\\u06A6\";\n  t[\"\\uFB72\"] = \"\\u0684\";\n  t[\"\\uFB73\"] = \"\\u0684\";\n  t[\"\\uFB74\"] = \"\\u0684\";\n  t[\"\\uFB75\"] = \"\\u0684\";\n  t[\"\\uFB76\"] = \"\\u0683\";\n  t[\"\\uFB77\"] = \"\\u0683\";\n  t[\"\\uFB78\"] = \"\\u0683\";\n  t[\"\\uFB79\"] = \"\\u0683\";\n  t[\"\\uFB7A\"] = \"\\u0686\";\n  t[\"\\uFB7B\"] = \"\\u0686\";\n  t[\"\\uFB7C\"] = \"\\u0686\";\n  t[\"\\uFB7D\"] = \"\\u0686\";\n  t[\"\\uFB7E\"] = \"\\u0687\";\n  t[\"\\uFB7F\"] = \"\\u0687\";\n  t[\"\\uFB80\"] = \"\\u0687\";\n  t[\"\\uFB81\"] = \"\\u0687\";\n  t[\"\\uFB82\"] = \"\\u068D\";\n  t[\"\\uFB83\"] = \"\\u068D\";\n  t[\"\\uFB84\"] = \"\\u068C\";\n  t[\"\\uFB85\"] = \"\\u068C\";\n  t[\"\\uFB86\"] = \"\\u068E\";\n  t[\"\\uFB87\"] = \"\\u068E\";\n  t[\"\\uFB88\"] = \"\\u0688\";\n  t[\"\\uFB89\"] = \"\\u0688\";\n  t[\"\\uFB8A\"] = \"\\u0698\";\n  t[\"\\uFB8B\"] = \"\\u0698\";\n  t[\"\\uFB8C\"] = \"\\u0691\";\n  t[\"\\uFB8D\"] = \"\\u0691\";\n  t[\"\\uFB8E\"] = \"\\u06A9\";\n  t[\"\\uFB8F\"] = \"\\u06A9\";\n  t[\"\\uFB90\"] = \"\\u06A9\";\n  t[\"\\uFB91\"] = \"\\u06A9\";\n  t[\"\\uFB92\"] = \"\\u06AF\";\n  t[\"\\uFB93\"] = \"\\u06AF\";\n  t[\"\\uFB94\"] = \"\\u06AF\";\n  t[\"\\uFB95\"] = \"\\u06AF\";\n  t[\"\\uFB96\"] = \"\\u06B3\";\n  t[\"\\uFB97\"] = \"\\u06B3\";\n  t[\"\\uFB98\"] = \"\\u06B3\";\n  t[\"\\uFB99\"] = \"\\u06B3\";\n  t[\"\\uFB9A\"] = \"\\u06B1\";\n  t[\"\\uFB9B\"] = \"\\u06B1\";\n  t[\"\\uFB9C\"] = \"\\u06B1\";\n  t[\"\\uFB9D\"] = \"\\u06B1\";\n  t[\"\\uFB9E\"] = \"\\u06BA\";\n  t[\"\\uFB9F\"] = \"\\u06BA\";\n  t[\"\\uFBA0\"] = \"\\u06BB\";\n  t[\"\\uFBA1\"] = \"\\u06BB\";\n  t[\"\\uFBA2\"] = \"\\u06BB\";\n  t[\"\\uFBA3\"] = \"\\u06BB\";\n  t[\"\\uFBA4\"] = \"\\u06C0\";\n  t[\"\\uFBA5\"] = \"\\u06C0\";\n  t[\"\\uFBA6\"] = \"\\u06C1\";\n  t[\"\\uFBA7\"] = \"\\u06C1\";\n  t[\"\\uFBA8\"] = \"\\u06C1\";\n  t[\"\\uFBA9\"] = \"\\u06C1\";\n  t[\"\\uFBAA\"] = \"\\u06BE\";\n  t[\"\\uFBAB\"] = \"\\u06BE\";\n  t[\"\\uFBAC\"] = \"\\u06BE\";\n  t[\"\\uFBAD\"] = \"\\u06BE\";\n  t[\"\\uFBAE\"] = \"\\u06D2\";\n  t[\"\\uFBAF\"] = \"\\u06D2\";\n  t[\"\\uFBB0\"] = \"\\u06D3\";\n  t[\"\\uFBB1\"] = \"\\u06D3\";\n  t[\"\\uFBD3\"] = \"\\u06AD\";\n  t[\"\\uFBD4\"] = \"\\u06AD\";\n  t[\"\\uFBD5\"] = \"\\u06AD\";\n  t[\"\\uFBD6\"] = \"\\u06AD\";\n  t[\"\\uFBD7\"] = \"\\u06C7\";\n  t[\"\\uFBD8\"] = \"\\u06C7\";\n  t[\"\\uFBD9\"] = \"\\u06C6\";\n  t[\"\\uFBDA\"] = \"\\u06C6\";\n  t[\"\\uFBDB\"] = \"\\u06C8\";\n  t[\"\\uFBDC\"] = \"\\u06C8\";\n  t[\"\\uFBDD\"] = \"\\u0677\";\n  t[\"\\uFBDE\"] = \"\\u06CB\";\n  t[\"\\uFBDF\"] = \"\\u06CB\";\n  t[\"\\uFBE0\"] = \"\\u06C5\";\n  t[\"\\uFBE1\"] = \"\\u06C5\";\n  t[\"\\uFBE2\"] = \"\\u06C9\";\n  t[\"\\uFBE3\"] = \"\\u06C9\";\n  t[\"\\uFBE4\"] = \"\\u06D0\";\n  t[\"\\uFBE5\"] = \"\\u06D0\";\n  t[\"\\uFBE6\"] = \"\\u06D0\";\n  t[\"\\uFBE7\"] = \"\\u06D0\";\n  t[\"\\uFBE8\"] = \"\\u0649\";\n  t[\"\\uFBE9\"] = \"\\u0649\";\n  t[\"\\uFBEA\"] = \"\\u0626\\u0627\";\n  t[\"\\uFBEB\"] = \"\\u0626\\u0627\";\n  t[\"\\uFBEC\"] = \"\\u0626\\u06D5\";\n  t[\"\\uFBED\"] = \"\\u0626\\u06D5\";\n  t[\"\\uFBEE\"] = \"\\u0626\\u0648\";\n  t[\"\\uFBEF\"] = \"\\u0626\\u0648\";\n  t[\"\\uFBF0\"] = \"\\u0626\\u06C7\";\n  t[\"\\uFBF1\"] = \"\\u0626\\u06C7\";\n  t[\"\\uFBF2\"] = \"\\u0626\\u06C6\";\n  t[\"\\uFBF3\"] = \"\\u0626\\u06C6\";\n  t[\"\\uFBF4\"] = \"\\u0626\\u06C8\";\n  t[\"\\uFBF5\"] = \"\\u0626\\u06C8\";\n  t[\"\\uFBF6\"] = \"\\u0626\\u06D0\";\n  t[\"\\uFBF7\"] = \"\\u0626\\u06D0\";\n  t[\"\\uFBF8\"] = \"\\u0626\\u06D0\";\n  t[\"\\uFBF9\"] = \"\\u0626\\u0649\";\n  t[\"\\uFBFA\"] = \"\\u0626\\u0649\";\n  t[\"\\uFBFB\"] = \"\\u0626\\u0649\";\n  t[\"\\uFBFC\"] = \"\\u06CC\";\n  t[\"\\uFBFD\"] = \"\\u06CC\";\n  t[\"\\uFBFE\"] = \"\\u06CC\";\n  t[\"\\uFBFF\"] = \"\\u06CC\";\n  t[\"\\uFC00\"] = \"\\u0626\\u062C\";\n  t[\"\\uFC01\"] = \"\\u0626\\u062D\";\n  t[\"\\uFC02\"] = \"\\u0626\\u0645\";\n  t[\"\\uFC03\"] = \"\\u0626\\u0649\";\n  t[\"\\uFC04\"] = \"\\u0626\\u064A\";\n  t[\"\\uFC05\"] = \"\\u0628\\u062C\";\n  t[\"\\uFC06\"] = \"\\u0628\\u062D\";\n  t[\"\\uFC07\"] = \"\\u0628\\u062E\";\n  t[\"\\uFC08\"] = \"\\u0628\\u0645\";\n  t[\"\\uFC09\"] = \"\\u0628\\u0649\";\n  t[\"\\uFC0A\"] = \"\\u0628\\u064A\";\n  t[\"\\uFC0B\"] = \"\\u062A\\u062C\";\n  t[\"\\uFC0C\"] = \"\\u062A\\u062D\";\n  t[\"\\uFC0D\"] = \"\\u062A\\u062E\";\n  t[\"\\uFC0E\"] = \"\\u062A\\u0645\";\n  t[\"\\uFC0F\"] = \"\\u062A\\u0649\";\n  t[\"\\uFC10\"] = \"\\u062A\\u064A\";\n  t[\"\\uFC11\"] = \"\\u062B\\u062C\";\n  t[\"\\uFC12\"] = \"\\u062B\\u0645\";\n  t[\"\\uFC13\"] = \"\\u062B\\u0649\";\n  t[\"\\uFC14\"] = \"\\u062B\\u064A\";\n  t[\"\\uFC15\"] = \"\\u062C\\u062D\";\n  t[\"\\uFC16\"] = \"\\u062C\\u0645\";\n  t[\"\\uFC17\"] = \"\\u062D\\u062C\";\n  t[\"\\uFC18\"] = \"\\u062D\\u0645\";\n  t[\"\\uFC19\"] = \"\\u062E\\u062C\";\n  t[\"\\uFC1A\"] = \"\\u062E\\u062D\";\n  t[\"\\uFC1B\"] = \"\\u062E\\u0645\";\n  t[\"\\uFC1C\"] = \"\\u0633\\u062C\";\n  t[\"\\uFC1D\"] = \"\\u0633\\u062D\";\n  t[\"\\uFC1E\"] = \"\\u0633\\u062E\";\n  t[\"\\uFC1F\"] = \"\\u0633\\u0645\";\n  t[\"\\uFC20\"] = \"\\u0635\\u062D\";\n  t[\"\\uFC21\"] = \"\\u0635\\u0645\";\n  t[\"\\uFC22\"] = \"\\u0636\\u062C\";\n  t[\"\\uFC23\"] = \"\\u0636\\u062D\";\n  t[\"\\uFC24\"] = \"\\u0636\\u062E\";\n  t[\"\\uFC25\"] = \"\\u0636\\u0645\";\n  t[\"\\uFC26\"] = \"\\u0637\\u062D\";\n  t[\"\\uFC27\"] = \"\\u0637\\u0645\";\n  t[\"\\uFC28\"] = \"\\u0638\\u0645\";\n  t[\"\\uFC29\"] = \"\\u0639\\u062C\";\n  t[\"\\uFC2A\"] = \"\\u0639\\u0645\";\n  t[\"\\uFC2B\"] = \"\\u063A\\u062C\";\n  t[\"\\uFC2C\"] = \"\\u063A\\u0645\";\n  t[\"\\uFC2D\"] = \"\\u0641\\u062C\";\n  t[\"\\uFC2E\"] = \"\\u0641\\u062D\";\n  t[\"\\uFC2F\"] = \"\\u0641\\u062E\";\n  t[\"\\uFC30\"] = \"\\u0641\\u0645\";\n  t[\"\\uFC31\"] = \"\\u0641\\u0649\";\n  t[\"\\uFC32\"] = \"\\u0641\\u064A\";\n  t[\"\\uFC33\"] = \"\\u0642\\u062D\";\n  t[\"\\uFC34\"] = \"\\u0642\\u0645\";\n  t[\"\\uFC35\"] = \"\\u0642\\u0649\";\n  t[\"\\uFC36\"] = \"\\u0642\\u064A\";\n  t[\"\\uFC37\"] = \"\\u0643\\u0627\";\n  t[\"\\uFC38\"] = \"\\u0643\\u062C\";\n  t[\"\\uFC39\"] = \"\\u0643\\u062D\";\n  t[\"\\uFC3A\"] = \"\\u0643\\u062E\";\n  t[\"\\uFC3B\"] = \"\\u0643\\u0644\";\n  t[\"\\uFC3C\"] = \"\\u0643\\u0645\";\n  t[\"\\uFC3D\"] = \"\\u0643\\u0649\";\n  t[\"\\uFC3E\"] = \"\\u0643\\u064A\";\n  t[\"\\uFC3F\"] = \"\\u0644\\u062C\";\n  t[\"\\uFC40\"] = \"\\u0644\\u062D\";\n  t[\"\\uFC41\"] = \"\\u0644\\u062E\";\n  t[\"\\uFC42\"] = \"\\u0644\\u0645\";\n  t[\"\\uFC43\"] = \"\\u0644\\u0649\";\n  t[\"\\uFC44\"] = \"\\u0644\\u064A\";\n  t[\"\\uFC45\"] = \"\\u0645\\u062C\";\n  t[\"\\uFC46\"] = \"\\u0645\\u062D\";\n  t[\"\\uFC47\"] = \"\\u0645\\u062E\";\n  t[\"\\uFC48\"] = \"\\u0645\\u0645\";\n  t[\"\\uFC49\"] = \"\\u0645\\u0649\";\n  t[\"\\uFC4A\"] = \"\\u0645\\u064A\";\n  t[\"\\uFC4B\"] = \"\\u0646\\u062C\";\n  t[\"\\uFC4C\"] = \"\\u0646\\u062D\";\n  t[\"\\uFC4D\"] = \"\\u0646\\u062E\";\n  t[\"\\uFC4E\"] = \"\\u0646\\u0645\";\n  t[\"\\uFC4F\"] = \"\\u0646\\u0649\";\n  t[\"\\uFC50\"] = \"\\u0646\\u064A\";\n  t[\"\\uFC51\"] = \"\\u0647\\u062C\";\n  t[\"\\uFC52\"] = \"\\u0647\\u0645\";\n  t[\"\\uFC53\"] = \"\\u0647\\u0649\";\n  t[\"\\uFC54\"] = \"\\u0647\\u064A\";\n  t[\"\\uFC55\"] = \"\\u064A\\u062C\";\n  t[\"\\uFC56\"] = \"\\u064A\\u062D\";\n  t[\"\\uFC57\"] = \"\\u064A\\u062E\";\n  t[\"\\uFC58\"] = \"\\u064A\\u0645\";\n  t[\"\\uFC59\"] = \"\\u064A\\u0649\";\n  t[\"\\uFC5A\"] = \"\\u064A\\u064A\";\n  t[\"\\uFC5B\"] = \"\\u0630\\u0670\";\n  t[\"\\uFC5C\"] = \"\\u0631\\u0670\";\n  t[\"\\uFC5D\"] = \"\\u0649\\u0670\";\n  t[\"\\uFC5E\"] = \"\\u0020\\u064C\\u0651\";\n  t[\"\\uFC5F\"] = \"\\u0020\\u064D\\u0651\";\n  t[\"\\uFC60\"] = \"\\u0020\\u064E\\u0651\";\n  t[\"\\uFC61\"] = \"\\u0020\\u064F\\u0651\";\n  t[\"\\uFC62\"] = \"\\u0020\\u0650\\u0651\";\n  t[\"\\uFC63\"] = \"\\u0020\\u0651\\u0670\";\n  t[\"\\uFC64\"] = \"\\u0626\\u0631\";\n  t[\"\\uFC65\"] = \"\\u0626\\u0632\";\n  t[\"\\uFC66\"] = \"\\u0626\\u0645\";\n  t[\"\\uFC67\"] = \"\\u0626\\u0646\";\n  t[\"\\uFC68\"] = \"\\u0626\\u0649\";\n  t[\"\\uFC69\"] = \"\\u0626\\u064A\";\n  t[\"\\uFC6A\"] = \"\\u0628\\u0631\";\n  t[\"\\uFC6B\"] = \"\\u0628\\u0632\";\n  t[\"\\uFC6C\"] = \"\\u0628\\u0645\";\n  t[\"\\uFC6D\"] = \"\\u0628\\u0646\";\n  t[\"\\uFC6E\"] = \"\\u0628\\u0649\";\n  t[\"\\uFC6F\"] = \"\\u0628\\u064A\";\n  t[\"\\uFC70\"] = \"\\u062A\\u0631\";\n  t[\"\\uFC71\"] = \"\\u062A\\u0632\";\n  t[\"\\uFC72\"] = \"\\u062A\\u0645\";\n  t[\"\\uFC73\"] = \"\\u062A\\u0646\";\n  t[\"\\uFC74\"] = \"\\u062A\\u0649\";\n  t[\"\\uFC75\"] = \"\\u062A\\u064A\";\n  t[\"\\uFC76\"] = \"\\u062B\\u0631\";\n  t[\"\\uFC77\"] = \"\\u062B\\u0632\";\n  t[\"\\uFC78\"] = \"\\u062B\\u0645\";\n  t[\"\\uFC79\"] = \"\\u062B\\u0646\";\n  t[\"\\uFC7A\"] = \"\\u062B\\u0649\";\n  t[\"\\uFC7B\"] = \"\\u062B\\u064A\";\n  t[\"\\uFC7C\"] = \"\\u0641\\u0649\";\n  t[\"\\uFC7D\"] = \"\\u0641\\u064A\";\n  t[\"\\uFC7E\"] = \"\\u0642\\u0649\";\n  t[\"\\uFC7F\"] = \"\\u0642\\u064A\";\n  t[\"\\uFC80\"] = \"\\u0643\\u0627\";\n  t[\"\\uFC81\"] = \"\\u0643\\u0644\";\n  t[\"\\uFC82\"] = \"\\u0643\\u0645\";\n  t[\"\\uFC83\"] = \"\\u0643\\u0649\";\n  t[\"\\uFC84\"] = \"\\u0643\\u064A\";\n  t[\"\\uFC85\"] = \"\\u0644\\u0645\";\n  t[\"\\uFC86\"] = \"\\u0644\\u0649\";\n  t[\"\\uFC87\"] = \"\\u0644\\u064A\";\n  t[\"\\uFC88\"] = \"\\u0645\\u0627\";\n  t[\"\\uFC89\"] = \"\\u0645\\u0645\";\n  t[\"\\uFC8A\"] = \"\\u0646\\u0631\";\n  t[\"\\uFC8B\"] = \"\\u0646\\u0632\";\n  t[\"\\uFC8C\"] = \"\\u0646\\u0645\";\n  t[\"\\uFC8D\"] = \"\\u0646\\u0646\";\n  t[\"\\uFC8E\"] = \"\\u0646\\u0649\";\n  t[\"\\uFC8F\"] = \"\\u0646\\u064A\";\n  t[\"\\uFC90\"] = \"\\u0649\\u0670\";\n  t[\"\\uFC91\"] = \"\\u064A\\u0631\";\n  t[\"\\uFC92\"] = \"\\u064A\\u0632\";\n  t[\"\\uFC93\"] = \"\\u064A\\u0645\";\n  t[\"\\uFC94\"] = \"\\u064A\\u0646\";\n  t[\"\\uFC95\"] = \"\\u064A\\u0649\";\n  t[\"\\uFC96\"] = \"\\u064A\\u064A\";\n  t[\"\\uFC97\"] = \"\\u0626\\u062C\";\n  t[\"\\uFC98\"] = \"\\u0626\\u062D\";\n  t[\"\\uFC99\"] = \"\\u0626\\u062E\";\n  t[\"\\uFC9A\"] = \"\\u0626\\u0645\";\n  t[\"\\uFC9B\"] = \"\\u0626\\u0647\";\n  t[\"\\uFC9C\"] = \"\\u0628\\u062C\";\n  t[\"\\uFC9D\"] = \"\\u0628\\u062D\";\n  t[\"\\uFC9E\"] = \"\\u0628\\u062E\";\n  t[\"\\uFC9F\"] = \"\\u0628\\u0645\";\n  t[\"\\uFCA0\"] = \"\\u0628\\u0647\";\n  t[\"\\uFCA1\"] = \"\\u062A\\u062C\";\n  t[\"\\uFCA2\"] = \"\\u062A\\u062D\";\n  t[\"\\uFCA3\"] = \"\\u062A\\u062E\";\n  t[\"\\uFCA4\"] = \"\\u062A\\u0645\";\n  t[\"\\uFCA5\"] = \"\\u062A\\u0647\";\n  t[\"\\uFCA6\"] = \"\\u062B\\u0645\";\n  t[\"\\uFCA7\"] = \"\\u062C\\u062D\";\n  t[\"\\uFCA8\"] = \"\\u062C\\u0645\";\n  t[\"\\uFCA9\"] = \"\\u062D\\u062C\";\n  t[\"\\uFCAA\"] = \"\\u062D\\u0645\";\n  t[\"\\uFCAB\"] = \"\\u062E\\u062C\";\n  t[\"\\uFCAC\"] = \"\\u062E\\u0645\";\n  t[\"\\uFCAD\"] = \"\\u0633\\u062C\";\n  t[\"\\uFCAE\"] = \"\\u0633\\u062D\";\n  t[\"\\uFCAF\"] = \"\\u0633\\u062E\";\n  t[\"\\uFCB0\"] = \"\\u0633\\u0645\";\n  t[\"\\uFCB1\"] = \"\\u0635\\u062D\";\n  t[\"\\uFCB2\"] = \"\\u0635\\u062E\";\n  t[\"\\uFCB3\"] = \"\\u0635\\u0645\";\n  t[\"\\uFCB4\"] = \"\\u0636\\u062C\";\n  t[\"\\uFCB5\"] = \"\\u0636\\u062D\";\n  t[\"\\uFCB6\"] = \"\\u0636\\u062E\";\n  t[\"\\uFCB7\"] = \"\\u0636\\u0645\";\n  t[\"\\uFCB8\"] = \"\\u0637\\u062D\";\n  t[\"\\uFCB9\"] = \"\\u0638\\u0645\";\n  t[\"\\uFCBA\"] = \"\\u0639\\u062C\";\n  t[\"\\uFCBB\"] = \"\\u0639\\u0645\";\n  t[\"\\uFCBC\"] = \"\\u063A\\u062C\";\n  t[\"\\uFCBD\"] = \"\\u063A\\u0645\";\n  t[\"\\uFCBE\"] = \"\\u0641\\u062C\";\n  t[\"\\uFCBF\"] = \"\\u0641\\u062D\";\n  t[\"\\uFCC0\"] = \"\\u0641\\u062E\";\n  t[\"\\uFCC1\"] = \"\\u0641\\u0645\";\n  t[\"\\uFCC2\"] = \"\\u0642\\u062D\";\n  t[\"\\uFCC3\"] = \"\\u0642\\u0645\";\n  t[\"\\uFCC4\"] = \"\\u0643\\u062C\";\n  t[\"\\uFCC5\"] = \"\\u0643\\u062D\";\n  t[\"\\uFCC6\"] = \"\\u0643\\u062E\";\n  t[\"\\uFCC7\"] = \"\\u0643\\u0644\";\n  t[\"\\uFCC8\"] = \"\\u0643\\u0645\";\n  t[\"\\uFCC9\"] = \"\\u0644\\u062C\";\n  t[\"\\uFCCA\"] = \"\\u0644\\u062D\";\n  t[\"\\uFCCB\"] = \"\\u0644\\u062E\";\n  t[\"\\uFCCC\"] = \"\\u0644\\u0645\";\n  t[\"\\uFCCD\"] = \"\\u0644\\u0647\";\n  t[\"\\uFCCE\"] = \"\\u0645\\u062C\";\n  t[\"\\uFCCF\"] = \"\\u0645\\u062D\";\n  t[\"\\uFCD0\"] = \"\\u0645\\u062E\";\n  t[\"\\uFCD1\"] = \"\\u0645\\u0645\";\n  t[\"\\uFCD2\"] = \"\\u0646\\u062C\";\n  t[\"\\uFCD3\"] = \"\\u0646\\u062D\";\n  t[\"\\uFCD4\"] = \"\\u0646\\u062E\";\n  t[\"\\uFCD5\"] = \"\\u0646\\u0645\";\n  t[\"\\uFCD6\"] = \"\\u0646\\u0647\";\n  t[\"\\uFCD7\"] = \"\\u0647\\u062C\";\n  t[\"\\uFCD8\"] = \"\\u0647\\u0645\";\n  t[\"\\uFCD9\"] = \"\\u0647\\u0670\";\n  t[\"\\uFCDA\"] = \"\\u064A\\u062C\";\n  t[\"\\uFCDB\"] = \"\\u064A\\u062D\";\n  t[\"\\uFCDC\"] = \"\\u064A\\u062E\";\n  t[\"\\uFCDD\"] = \"\\u064A\\u0645\";\n  t[\"\\uFCDE\"] = \"\\u064A\\u0647\";\n  t[\"\\uFCDF\"] = \"\\u0626\\u0645\";\n  t[\"\\uFCE0\"] = \"\\u0626\\u0647\";\n  t[\"\\uFCE1\"] = \"\\u0628\\u0645\";\n  t[\"\\uFCE2\"] = \"\\u0628\\u0647\";\n  t[\"\\uFCE3\"] = \"\\u062A\\u0645\";\n  t[\"\\uFCE4\"] = \"\\u062A\\u0647\";\n  t[\"\\uFCE5\"] = \"\\u062B\\u0645\";\n  t[\"\\uFCE6\"] = \"\\u062B\\u0647\";\n  t[\"\\uFCE7\"] = \"\\u0633\\u0645\";\n  t[\"\\uFCE8\"] = \"\\u0633\\u0647\";\n  t[\"\\uFCE9\"] = \"\\u0634\\u0645\";\n  t[\"\\uFCEA\"] = \"\\u0634\\u0647\";\n  t[\"\\uFCEB\"] = \"\\u0643\\u0644\";\n  t[\"\\uFCEC\"] = \"\\u0643\\u0645\";\n  t[\"\\uFCED\"] = \"\\u0644\\u0645\";\n  t[\"\\uFCEE\"] = \"\\u0646\\u0645\";\n  t[\"\\uFCEF\"] = \"\\u0646\\u0647\";\n  t[\"\\uFCF0\"] = \"\\u064A\\u0645\";\n  t[\"\\uFCF1\"] = \"\\u064A\\u0647\";\n  t[\"\\uFCF2\"] = \"\\u0640\\u064E\\u0651\";\n  t[\"\\uFCF3\"] = \"\\u0640\\u064F\\u0651\";\n  t[\"\\uFCF4\"] = \"\\u0640\\u0650\\u0651\";\n  t[\"\\uFCF5\"] = \"\\u0637\\u0649\";\n  t[\"\\uFCF6\"] = \"\\u0637\\u064A\";\n  t[\"\\uFCF7\"] = \"\\u0639\\u0649\";\n  t[\"\\uFCF8\"] = \"\\u0639\\u064A\";\n  t[\"\\uFCF9\"] = \"\\u063A\\u0649\";\n  t[\"\\uFCFA\"] = \"\\u063A\\u064A\";\n  t[\"\\uFCFB\"] = \"\\u0633\\u0649\";\n  t[\"\\uFCFC\"] = \"\\u0633\\u064A\";\n  t[\"\\uFCFD\"] = \"\\u0634\\u0649\";\n  t[\"\\uFCFE\"] = \"\\u0634\\u064A\";\n  t[\"\\uFCFF\"] = \"\\u062D\\u0649\";\n  t[\"\\uFD00\"] = \"\\u062D\\u064A\";\n  t[\"\\uFD01\"] = \"\\u062C\\u0649\";\n  t[\"\\uFD02\"] = \"\\u062C\\u064A\";\n  t[\"\\uFD03\"] = \"\\u062E\\u0649\";\n  t[\"\\uFD04\"] = \"\\u062E\\u064A\";\n  t[\"\\uFD05\"] = \"\\u0635\\u0649\";\n  t[\"\\uFD06\"] = \"\\u0635\\u064A\";\n  t[\"\\uFD07\"] = \"\\u0636\\u0649\";\n  t[\"\\uFD08\"] = \"\\u0636\\u064A\";\n  t[\"\\uFD09\"] = \"\\u0634\\u062C\";\n  t[\"\\uFD0A\"] = \"\\u0634\\u062D\";\n  t[\"\\uFD0B\"] = \"\\u0634\\u062E\";\n  t[\"\\uFD0C\"] = \"\\u0634\\u0645\";\n  t[\"\\uFD0D\"] = \"\\u0634\\u0631\";\n  t[\"\\uFD0E\"] = \"\\u0633\\u0631\";\n  t[\"\\uFD0F\"] = \"\\u0635\\u0631\";\n  t[\"\\uFD10\"] = \"\\u0636\\u0631\";\n  t[\"\\uFD11\"] = \"\\u0637\\u0649\";\n  t[\"\\uFD12\"] = \"\\u0637\\u064A\";\n  t[\"\\uFD13\"] = \"\\u0639\\u0649\";\n  t[\"\\uFD14\"] = \"\\u0639\\u064A\";\n  t[\"\\uFD15\"] = \"\\u063A\\u0649\";\n  t[\"\\uFD16\"] = \"\\u063A\\u064A\";\n  t[\"\\uFD17\"] = \"\\u0633\\u0649\";\n  t[\"\\uFD18\"] = \"\\u0633\\u064A\";\n  t[\"\\uFD19\"] = \"\\u0634\\u0649\";\n  t[\"\\uFD1A\"] = \"\\u0634\\u064A\";\n  t[\"\\uFD1B\"] = \"\\u062D\\u0649\";\n  t[\"\\uFD1C\"] = \"\\u062D\\u064A\";\n  t[\"\\uFD1D\"] = \"\\u062C\\u0649\";\n  t[\"\\uFD1E\"] = \"\\u062C\\u064A\";\n  t[\"\\uFD1F\"] = \"\\u062E\\u0649\";\n  t[\"\\uFD20\"] = \"\\u062E\\u064A\";\n  t[\"\\uFD21\"] = \"\\u0635\\u0649\";\n  t[\"\\uFD22\"] = \"\\u0635\\u064A\";\n  t[\"\\uFD23\"] = \"\\u0636\\u0649\";\n  t[\"\\uFD24\"] = \"\\u0636\\u064A\";\n  t[\"\\uFD25\"] = \"\\u0634\\u062C\";\n  t[\"\\uFD26\"] = \"\\u0634\\u062D\";\n  t[\"\\uFD27\"] = \"\\u0634\\u062E\";\n  t[\"\\uFD28\"] = \"\\u0634\\u0645\";\n  t[\"\\uFD29\"] = \"\\u0634\\u0631\";\n  t[\"\\uFD2A\"] = \"\\u0633\\u0631\";\n  t[\"\\uFD2B\"] = \"\\u0635\\u0631\";\n  t[\"\\uFD2C\"] = \"\\u0636\\u0631\";\n  t[\"\\uFD2D\"] = \"\\u0634\\u062C\";\n  t[\"\\uFD2E\"] = \"\\u0634\\u062D\";\n  t[\"\\uFD2F\"] = \"\\u0634\\u062E\";\n  t[\"\\uFD30\"] = \"\\u0634\\u0645\";\n  t[\"\\uFD31\"] = \"\\u0633\\u0647\";\n  t[\"\\uFD32\"] = \"\\u0634\\u0647\";\n  t[\"\\uFD33\"] = \"\\u0637\\u0645\";\n  t[\"\\uFD34\"] = \"\\u0633\\u062C\";\n  t[\"\\uFD35\"] = \"\\u0633\\u062D\";\n  t[\"\\uFD36\"] = \"\\u0633\\u062E\";\n  t[\"\\uFD37\"] = \"\\u0634\\u062C\";\n  t[\"\\uFD38\"] = \"\\u0634\\u062D\";\n  t[\"\\uFD39\"] = \"\\u0634\\u062E\";\n  t[\"\\uFD3A\"] = \"\\u0637\\u0645\";\n  t[\"\\uFD3B\"] = \"\\u0638\\u0645\";\n  t[\"\\uFD3C\"] = \"\\u0627\\u064B\";\n  t[\"\\uFD3D\"] = \"\\u0627\\u064B\";\n  t[\"\\uFD50\"] = \"\\u062A\\u062C\\u0645\";\n  t[\"\\uFD51\"] = \"\\u062A\\u062D\\u062C\";\n  t[\"\\uFD52\"] = \"\\u062A\\u062D\\u062C\";\n  t[\"\\uFD53\"] = \"\\u062A\\u062D\\u0645\";\n  t[\"\\uFD54\"] = \"\\u062A\\u062E\\u0645\";\n  t[\"\\uFD55\"] = \"\\u062A\\u0645\\u062C\";\n  t[\"\\uFD56\"] = \"\\u062A\\u0645\\u062D\";\n  t[\"\\uFD57\"] = \"\\u062A\\u0645\\u062E\";\n  t[\"\\uFD58\"] = \"\\u062C\\u0645\\u062D\";\n  t[\"\\uFD59\"] = \"\\u062C\\u0645\\u062D\";\n  t[\"\\uFD5A\"] = \"\\u062D\\u0645\\u064A\";\n  t[\"\\uFD5B\"] = \"\\u062D\\u0645\\u0649\";\n  t[\"\\uFD5C\"] = \"\\u0633\\u062D\\u062C\";\n  t[\"\\uFD5D\"] = \"\\u0633\\u062C\\u062D\";\n  t[\"\\uFD5E\"] = \"\\u0633\\u062C\\u0649\";\n  t[\"\\uFD5F\"] = \"\\u0633\\u0645\\u062D\";\n  t[\"\\uFD60\"] = \"\\u0633\\u0645\\u062D\";\n  t[\"\\uFD61\"] = \"\\u0633\\u0645\\u062C\";\n  t[\"\\uFD62\"] = \"\\u0633\\u0645\\u0645\";\n  t[\"\\uFD63\"] = \"\\u0633\\u0645\\u0645\";\n  t[\"\\uFD64\"] = \"\\u0635\\u062D\\u062D\";\n  t[\"\\uFD65\"] = \"\\u0635\\u062D\\u062D\";\n  t[\"\\uFD66\"] = \"\\u0635\\u0645\\u0645\";\n  t[\"\\uFD67\"] = \"\\u0634\\u062D\\u0645\";\n  t[\"\\uFD68\"] = \"\\u0634\\u062D\\u0645\";\n  t[\"\\uFD69\"] = \"\\u0634\\u062C\\u064A\";\n  t[\"\\uFD6A\"] = \"\\u0634\\u0645\\u062E\";\n  t[\"\\uFD6B\"] = \"\\u0634\\u0645\\u062E\";\n  t[\"\\uFD6C\"] = \"\\u0634\\u0645\\u0645\";\n  t[\"\\uFD6D\"] = \"\\u0634\\u0645\\u0645\";\n  t[\"\\uFD6E\"] = \"\\u0636\\u062D\\u0649\";\n  t[\"\\uFD6F\"] = \"\\u0636\\u062E\\u0645\";\n  t[\"\\uFD70\"] = \"\\u0636\\u062E\\u0645\";\n  t[\"\\uFD71\"] = \"\\u0637\\u0645\\u062D\";\n  t[\"\\uFD72\"] = \"\\u0637\\u0645\\u062D\";\n  t[\"\\uFD73\"] = \"\\u0637\\u0645\\u0645\";\n  t[\"\\uFD74\"] = \"\\u0637\\u0645\\u064A\";\n  t[\"\\uFD75\"] = \"\\u0639\\u062C\\u0645\";\n  t[\"\\uFD76\"] = \"\\u0639\\u0645\\u0645\";\n  t[\"\\uFD77\"] = \"\\u0639\\u0645\\u0645\";\n  t[\"\\uFD78\"] = \"\\u0639\\u0645\\u0649\";\n  t[\"\\uFD79\"] = \"\\u063A\\u0645\\u0645\";\n  t[\"\\uFD7A\"] = \"\\u063A\\u0645\\u064A\";\n  t[\"\\uFD7B\"] = \"\\u063A\\u0645\\u0649\";\n  t[\"\\uFD7C\"] = \"\\u0641\\u062E\\u0645\";\n  t[\"\\uFD7D\"] = \"\\u0641\\u062E\\u0645\";\n  t[\"\\uFD7E\"] = \"\\u0642\\u0645\\u062D\";\n  t[\"\\uFD7F\"] = \"\\u0642\\u0645\\u0645\";\n  t[\"\\uFD80\"] = \"\\u0644\\u062D\\u0645\";\n  t[\"\\uFD81\"] = \"\\u0644\\u062D\\u064A\";\n  t[\"\\uFD82\"] = \"\\u0644\\u062D\\u0649\";\n  t[\"\\uFD83\"] = \"\\u0644\\u062C\\u062C\";\n  t[\"\\uFD84\"] = \"\\u0644\\u062C\\u062C\";\n  t[\"\\uFD85\"] = \"\\u0644\\u062E\\u0645\";\n  t[\"\\uFD86\"] = \"\\u0644\\u062E\\u0645\";\n  t[\"\\uFD87\"] = \"\\u0644\\u0645\\u062D\";\n  t[\"\\uFD88\"] = \"\\u0644\\u0645\\u062D\";\n  t[\"\\uFD89\"] = \"\\u0645\\u062D\\u062C\";\n  t[\"\\uFD8A\"] = \"\\u0645\\u062D\\u0645\";\n  t[\"\\uFD8B\"] = \"\\u0645\\u062D\\u064A\";\n  t[\"\\uFD8C\"] = \"\\u0645\\u062C\\u062D\";\n  t[\"\\uFD8D\"] = \"\\u0645\\u062C\\u0645\";\n  t[\"\\uFD8E\"] = \"\\u0645\\u062E\\u062C\";\n  t[\"\\uFD8F\"] = \"\\u0645\\u062E\\u0645\";\n  t[\"\\uFD92\"] = \"\\u0645\\u062C\\u062E\";\n  t[\"\\uFD93\"] = \"\\u0647\\u0645\\u062C\";\n  t[\"\\uFD94\"] = \"\\u0647\\u0645\\u0645\";\n  t[\"\\uFD95\"] = \"\\u0646\\u062D\\u0645\";\n  t[\"\\uFD96\"] = \"\\u0646\\u062D\\u0649\";\n  t[\"\\uFD97\"] = \"\\u0646\\u062C\\u0645\";\n  t[\"\\uFD98\"] = \"\\u0646\\u062C\\u0645\";\n  t[\"\\uFD99\"] = \"\\u0646\\u062C\\u0649\";\n  t[\"\\uFD9A\"] = \"\\u0646\\u0645\\u064A\";\n  t[\"\\uFD9B\"] = \"\\u0646\\u0645\\u0649\";\n  t[\"\\uFD9C\"] = \"\\u064A\\u0645\\u0645\";\n  t[\"\\uFD9D\"] = \"\\u064A\\u0645\\u0645\";\n  t[\"\\uFD9E\"] = \"\\u0628\\u062E\\u064A\";\n  t[\"\\uFD9F\"] = \"\\u062A\\u062C\\u064A\";\n  t[\"\\uFDA0\"] = \"\\u062A\\u062C\\u0649\";\n  t[\"\\uFDA1\"] = \"\\u062A\\u062E\\u064A\";\n  t[\"\\uFDA2\"] = \"\\u062A\\u062E\\u0649\";\n  t[\"\\uFDA3\"] = \"\\u062A\\u0645\\u064A\";\n  t[\"\\uFDA4\"] = \"\\u062A\\u0645\\u0649\";\n  t[\"\\uFDA5\"] = \"\\u062C\\u0645\\u064A\";\n  t[\"\\uFDA6\"] = \"\\u062C\\u062D\\u0649\";\n  t[\"\\uFDA7\"] = \"\\u062C\\u0645\\u0649\";\n  t[\"\\uFDA8\"] = \"\\u0633\\u062E\\u0649\";\n  t[\"\\uFDA9\"] = \"\\u0635\\u062D\\u064A\";\n  t[\"\\uFDAA\"] = \"\\u0634\\u062D\\u064A\";\n  t[\"\\uFDAB\"] = \"\\u0636\\u062D\\u064A\";\n  t[\"\\uFDAC\"] = \"\\u0644\\u062C\\u064A\";\n  t[\"\\uFDAD\"] = \"\\u0644\\u0645\\u064A\";\n  t[\"\\uFDAE\"] = \"\\u064A\\u062D\\u064A\";\n  t[\"\\uFDAF\"] = \"\\u064A\\u062C\\u064A\";\n  t[\"\\uFDB0\"] = \"\\u064A\\u0645\\u064A\";\n  t[\"\\uFDB1\"] = \"\\u0645\\u0645\\u064A\";\n  t[\"\\uFDB2\"] = \"\\u0642\\u0645\\u064A\";\n  t[\"\\uFDB3\"] = \"\\u0646\\u062D\\u064A\";\n  t[\"\\uFDB4\"] = \"\\u0642\\u0645\\u062D\";\n  t[\"\\uFDB5\"] = \"\\u0644\\u062D\\u0645\";\n  t[\"\\uFDB6\"] = \"\\u0639\\u0645\\u064A\";\n  t[\"\\uFDB7\"] = \"\\u0643\\u0645\\u064A\";\n  t[\"\\uFDB8\"] = \"\\u0646\\u062C\\u062D\";\n  t[\"\\uFDB9\"] = \"\\u0645\\u062E\\u064A\";\n  t[\"\\uFDBA\"] = \"\\u0644\\u062C\\u0645\";\n  t[\"\\uFDBB\"] = \"\\u0643\\u0645\\u0645\";\n  t[\"\\uFDBC\"] = \"\\u0644\\u062C\\u0645\";\n  t[\"\\uFDBD\"] = \"\\u0646\\u062C\\u062D\";\n  t[\"\\uFDBE\"] = \"\\u062C\\u062D\\u064A\";\n  t[\"\\uFDBF\"] = \"\\u062D\\u062C\\u064A\";\n  t[\"\\uFDC0\"] = \"\\u0645\\u062C\\u064A\";\n  t[\"\\uFDC1\"] = \"\\u0641\\u0645\\u064A\";\n  t[\"\\uFDC2\"] = \"\\u0628\\u062D\\u064A\";\n  t[\"\\uFDC3\"] = \"\\u0643\\u0645\\u0645\";\n  t[\"\\uFDC4\"] = \"\\u0639\\u062C\\u0645\";\n  t[\"\\uFDC5\"] = \"\\u0635\\u0645\\u0645\";\n  t[\"\\uFDC6\"] = \"\\u0633\\u062E\\u064A\";\n  t[\"\\uFDC7\"] = \"\\u0646\\u062C\\u064A\";\n  t[\"\\uFE49\"] = \"\\u203E\";\n  t[\"\\uFE4A\"] = \"\\u203E\";\n  t[\"\\uFE4B\"] = \"\\u203E\";\n  t[\"\\uFE4C\"] = \"\\u203E\";\n  t[\"\\uFE4D\"] = \"\\u005F\";\n  t[\"\\uFE4E\"] = \"\\u005F\";\n  t[\"\\uFE4F\"] = \"\\u005F\";\n  t[\"\\uFE80\"] = \"\\u0621\";\n  t[\"\\uFE81\"] = \"\\u0622\";\n  t[\"\\uFE82\"] = \"\\u0622\";\n  t[\"\\uFE83\"] = \"\\u0623\";\n  t[\"\\uFE84\"] = \"\\u0623\";\n  t[\"\\uFE85\"] = \"\\u0624\";\n  t[\"\\uFE86\"] = \"\\u0624\";\n  t[\"\\uFE87\"] = \"\\u0625\";\n  t[\"\\uFE88\"] = \"\\u0625\";\n  t[\"\\uFE89\"] = \"\\u0626\";\n  t[\"\\uFE8A\"] = \"\\u0626\";\n  t[\"\\uFE8B\"] = \"\\u0626\";\n  t[\"\\uFE8C\"] = \"\\u0626\";\n  t[\"\\uFE8D\"] = \"\\u0627\";\n  t[\"\\uFE8E\"] = \"\\u0627\";\n  t[\"\\uFE8F\"] = \"\\u0628\";\n  t[\"\\uFE90\"] = \"\\u0628\";\n  t[\"\\uFE91\"] = \"\\u0628\";\n  t[\"\\uFE92\"] = \"\\u0628\";\n  t[\"\\uFE93\"] = \"\\u0629\";\n  t[\"\\uFE94\"] = \"\\u0629\";\n  t[\"\\uFE95\"] = \"\\u062A\";\n  t[\"\\uFE96\"] = \"\\u062A\";\n  t[\"\\uFE97\"] = \"\\u062A\";\n  t[\"\\uFE98\"] = \"\\u062A\";\n  t[\"\\uFE99\"] = \"\\u062B\";\n  t[\"\\uFE9A\"] = \"\\u062B\";\n  t[\"\\uFE9B\"] = \"\\u062B\";\n  t[\"\\uFE9C\"] = \"\\u062B\";\n  t[\"\\uFE9D\"] = \"\\u062C\";\n  t[\"\\uFE9E\"] = \"\\u062C\";\n  t[\"\\uFE9F\"] = \"\\u062C\";\n  t[\"\\uFEA0\"] = \"\\u062C\";\n  t[\"\\uFEA1\"] = \"\\u062D\";\n  t[\"\\uFEA2\"] = \"\\u062D\";\n  t[\"\\uFEA3\"] = \"\\u062D\";\n  t[\"\\uFEA4\"] = \"\\u062D\";\n  t[\"\\uFEA5\"] = \"\\u062E\";\n  t[\"\\uFEA6\"] = \"\\u062E\";\n  t[\"\\uFEA7\"] = \"\\u062E\";\n  t[\"\\uFEA8\"] = \"\\u062E\";\n  t[\"\\uFEA9\"] = \"\\u062F\";\n  t[\"\\uFEAA\"] = \"\\u062F\";\n  t[\"\\uFEAB\"] = \"\\u0630\";\n  t[\"\\uFEAC\"] = \"\\u0630\";\n  t[\"\\uFEAD\"] = \"\\u0631\";\n  t[\"\\uFEAE\"] = \"\\u0631\";\n  t[\"\\uFEAF\"] = \"\\u0632\";\n  t[\"\\uFEB0\"] = \"\\u0632\";\n  t[\"\\uFEB1\"] = \"\\u0633\";\n  t[\"\\uFEB2\"] = \"\\u0633\";\n  t[\"\\uFEB3\"] = \"\\u0633\";\n  t[\"\\uFEB4\"] = \"\\u0633\";\n  t[\"\\uFEB5\"] = \"\\u0634\";\n  t[\"\\uFEB6\"] = \"\\u0634\";\n  t[\"\\uFEB7\"] = \"\\u0634\";\n  t[\"\\uFEB8\"] = \"\\u0634\";\n  t[\"\\uFEB9\"] = \"\\u0635\";\n  t[\"\\uFEBA\"] = \"\\u0635\";\n  t[\"\\uFEBB\"] = \"\\u0635\";\n  t[\"\\uFEBC\"] = \"\\u0635\";\n  t[\"\\uFEBD\"] = \"\\u0636\";\n  t[\"\\uFEBE\"] = \"\\u0636\";\n  t[\"\\uFEBF\"] = \"\\u0636\";\n  t[\"\\uFEC0\"] = \"\\u0636\";\n  t[\"\\uFEC1\"] = \"\\u0637\";\n  t[\"\\uFEC2\"] = \"\\u0637\";\n  t[\"\\uFEC3\"] = \"\\u0637\";\n  t[\"\\uFEC4\"] = \"\\u0637\";\n  t[\"\\uFEC5\"] = \"\\u0638\";\n  t[\"\\uFEC6\"] = \"\\u0638\";\n  t[\"\\uFEC7\"] = \"\\u0638\";\n  t[\"\\uFEC8\"] = \"\\u0638\";\n  t[\"\\uFEC9\"] = \"\\u0639\";\n  t[\"\\uFECA\"] = \"\\u0639\";\n  t[\"\\uFECB\"] = \"\\u0639\";\n  t[\"\\uFECC\"] = \"\\u0639\";\n  t[\"\\uFECD\"] = \"\\u063A\";\n  t[\"\\uFECE\"] = \"\\u063A\";\n  t[\"\\uFECF\"] = \"\\u063A\";\n  t[\"\\uFED0\"] = \"\\u063A\";\n  t[\"\\uFED1\"] = \"\\u0641\";\n  t[\"\\uFED2\"] = \"\\u0641\";\n  t[\"\\uFED3\"] = \"\\u0641\";\n  t[\"\\uFED4\"] = \"\\u0641\";\n  t[\"\\uFED5\"] = \"\\u0642\";\n  t[\"\\uFED6\"] = \"\\u0642\";\n  t[\"\\uFED7\"] = \"\\u0642\";\n  t[\"\\uFED8\"] = \"\\u0642\";\n  t[\"\\uFED9\"] = \"\\u0643\";\n  t[\"\\uFEDA\"] = \"\\u0643\";\n  t[\"\\uFEDB\"] = \"\\u0643\";\n  t[\"\\uFEDC\"] = \"\\u0643\";\n  t[\"\\uFEDD\"] = \"\\u0644\";\n  t[\"\\uFEDE\"] = \"\\u0644\";\n  t[\"\\uFEDF\"] = \"\\u0644\";\n  t[\"\\uFEE0\"] = \"\\u0644\";\n  t[\"\\uFEE1\"] = \"\\u0645\";\n  t[\"\\uFEE2\"] = \"\\u0645\";\n  t[\"\\uFEE3\"] = \"\\u0645\";\n  t[\"\\uFEE4\"] = \"\\u0645\";\n  t[\"\\uFEE5\"] = \"\\u0646\";\n  t[\"\\uFEE6\"] = \"\\u0646\";\n  t[\"\\uFEE7\"] = \"\\u0646\";\n  t[\"\\uFEE8\"] = \"\\u0646\";\n  t[\"\\uFEE9\"] = \"\\u0647\";\n  t[\"\\uFEEA\"] = \"\\u0647\";\n  t[\"\\uFEEB\"] = \"\\u0647\";\n  t[\"\\uFEEC\"] = \"\\u0647\";\n  t[\"\\uFEED\"] = \"\\u0648\";\n  t[\"\\uFEEE\"] = \"\\u0648\";\n  t[\"\\uFEEF\"] = \"\\u0649\";\n  t[\"\\uFEF0\"] = \"\\u0649\";\n  t[\"\\uFEF1\"] = \"\\u064A\";\n  t[\"\\uFEF2\"] = \"\\u064A\";\n  t[\"\\uFEF3\"] = \"\\u064A\";\n  t[\"\\uFEF4\"] = \"\\u064A\";\n  t[\"\\uFEF5\"] = \"\\u0644\\u0622\";\n  t[\"\\uFEF6\"] = \"\\u0644\\u0622\";\n  t[\"\\uFEF7\"] = \"\\u0644\\u0623\";\n  t[\"\\uFEF8\"] = \"\\u0644\\u0623\";\n  t[\"\\uFEF9\"] = \"\\u0644\\u0625\";\n  t[\"\\uFEFA\"] = \"\\u0644\\u0625\";\n  t[\"\\uFEFB\"] = \"\\u0644\\u0627\";\n  t[\"\\uFEFC\"] = \"\\u0644\\u0627\";\n});\n\nfunction reverseIfRtl(chars) {\n  var charsLength = chars.length;\n  // Reverse an arabic ligature.\n  if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n    return chars;\n  }\n  var s = \"\";\n  for (var ii = charsLength - 1; ii >= 0; ii--) {\n    s += chars[ii];\n  }\n  return s;\n}\n\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  bytesToString,\n  FONT_IDENTITY_MATRIX,\n  FormatError,\n  unreachable,\n  warn,\n} from \"../shared/util.js\";\nimport { CFFParser } from \"./cff_parser.js\";\nimport { getGlyphsUnicode } from \"./glyphlist.js\";\nimport { StandardEncoding } from \"./encodings.js\";\nimport { Stream } from \"./stream.js\";\n\nvar FontRendererFactory = (function FontRendererFactoryClosure() {\n  function getLong(data, offset) {\n    return (\n      (data[offset] << 24) |\n      (data[offset + 1] << 16) |\n      (data[offset + 2] << 8) |\n      data[offset + 3]\n    );\n  }\n\n  function getUshort(data, offset) {\n    return (data[offset] << 8) | data[offset + 1];\n  }\n\n  function getSubroutineBias(subrs) {\n    const numSubrs = subrs.length;\n    let bias = 32768;\n    if (numSubrs < 1240) {\n      bias = 107;\n    } else if (numSubrs < 33900) {\n      bias = 1131;\n    }\n    return bias;\n  }\n\n  function parseCmap(data, start, end) {\n    var offset =\n      getUshort(data, start + 2) === 1\n        ? getLong(data, start + 8)\n        : getLong(data, start + 16);\n    var format = getUshort(data, start + offset);\n    var ranges, p, i;\n    if (format === 4) {\n      getUshort(data, start + offset + 2); // length\n      var segCount = getUshort(data, start + offset + 6) >> 1;\n      p = start + offset + 14;\n      ranges = [];\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i] = { end: getUshort(data, p) };\n      }\n      p += 2;\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].start = getUshort(data, p);\n      }\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].idDelta = getUshort(data, p);\n      }\n      for (i = 0; i < segCount; i++, p += 2) {\n        var idOffset = getUshort(data, p);\n        if (idOffset === 0) {\n          continue;\n        }\n        ranges[i].ids = [];\n        for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n          ranges[i].ids[j] = getUshort(data, p + idOffset);\n          idOffset += 2;\n        }\n      }\n      return ranges;\n    } else if (format === 12) {\n      getLong(data, start + offset + 4); // length\n      var groups = getLong(data, start + offset + 12);\n      p = start + offset + 16;\n      ranges = [];\n      for (i = 0; i < groups; i++) {\n        ranges.push({\n          start: getLong(data, p),\n          end: getLong(data, p + 4),\n          idDelta: getLong(data, p + 8) - getLong(data, p),\n        });\n        p += 12;\n      }\n      return ranges;\n    }\n    throw new FormatError(`unsupported cmap: ${format}`);\n  }\n\n  function parseCff(data, start, end, seacAnalysisEnabled) {\n    var properties = {};\n    var parser = new CFFParser(\n      new Stream(data, start, end - start),\n      properties,\n      seacAnalysisEnabled\n    );\n    var cff = parser.parse();\n    return {\n      glyphs: cff.charStrings.objects,\n      subrs:\n        cff.topDict.privateDict &&\n        cff.topDict.privateDict.subrsIndex &&\n        cff.topDict.privateDict.subrsIndex.objects,\n      gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n      isCFFCIDFont: cff.isCIDFont,\n      fdSelect: cff.fdSelect,\n      fdArray: cff.fdArray,\n    };\n  }\n\n  function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n    var itemSize, itemDecode;\n    if (isGlyphLocationsLong) {\n      itemSize = 4;\n      itemDecode = function fontItemDecodeLong(data, offset) {\n        return (\n          (data[offset] << 24) |\n          (data[offset + 1] << 16) |\n          (data[offset + 2] << 8) |\n          data[offset + 3]\n        );\n      };\n    } else {\n      itemSize = 2;\n      itemDecode = function fontItemDecode(data, offset) {\n        return (data[offset] << 9) | (data[offset + 1] << 1);\n      };\n    }\n    var glyphs = [];\n    var startOffset = itemDecode(loca, 0);\n    for (var j = itemSize; j < loca.length; j += itemSize) {\n      var endOffset = itemDecode(loca, j);\n      glyphs.push(glyf.subarray(startOffset, endOffset));\n      startOffset = endOffset;\n    }\n    return glyphs;\n  }\n\n  function lookupCmap(ranges, unicode) {\n    var code = unicode.codePointAt(0),\n      gid = 0;\n    var l = 0,\n      r = ranges.length - 1;\n    while (l < r) {\n      var c = (l + r + 1) >> 1;\n      if (code < ranges[c].start) {\n        r = c - 1;\n      } else {\n        l = c;\n      }\n    }\n    if (ranges[l].start <= code && code <= ranges[l].end) {\n      gid =\n        (ranges[l].idDelta +\n          (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code)) &\n        0xffff;\n    }\n    return {\n      charCode: code,\n      glyphId: gid,\n    };\n  }\n\n  function compileGlyf(code, cmds, font) {\n    function moveTo(x, y) {\n      cmds.push({ cmd: \"moveTo\", args: [x, y] });\n    }\n    function lineTo(x, y) {\n      cmds.push({ cmd: \"lineTo\", args: [x, y] });\n    }\n    function quadraticCurveTo(xa, ya, x, y) {\n      cmds.push({ cmd: \"quadraticCurveTo\", args: [xa, ya, x, y] });\n    }\n\n    var i = 0;\n    var numberOfContours = ((code[i] << 24) | (code[i + 1] << 16)) >> 16;\n    var flags;\n    var x = 0,\n      y = 0;\n    i += 10;\n    if (numberOfContours < 0) {\n      // composite glyph\n      do {\n        flags = (code[i] << 8) | code[i + 1];\n        var glyphIndex = (code[i + 2] << 8) | code[i + 3];\n        i += 4;\n        var arg1, arg2;\n        if (flags & 0x01) {\n          arg1 = ((code[i] << 24) | (code[i + 1] << 16)) >> 16;\n          arg2 = ((code[i + 2] << 24) | (code[i + 3] << 16)) >> 16;\n          i += 4;\n        } else {\n          arg1 = code[i++];\n          arg2 = code[i++];\n        }\n        if (flags & 0x02) {\n          x = arg1;\n          y = arg2;\n        } else {\n          x = 0;\n          y = 0; // TODO \"they are points\" ?\n        }\n        var scaleX = 1,\n          scaleY = 1,\n          scale01 = 0,\n          scale10 = 0;\n        if (flags & 0x08) {\n          scaleX = scaleY =\n            ((code[i] << 24) | (code[i + 1] << 16)) / 1073741824;\n          i += 2;\n        } else if (flags & 0x40) {\n          scaleX = ((code[i] << 24) | (code[i + 1] << 16)) / 1073741824;\n          scaleY = ((code[i + 2] << 24) | (code[i + 3] << 16)) / 1073741824;\n          i += 4;\n        } else if (flags & 0x80) {\n          scaleX = ((code[i] << 24) | (code[i + 1] << 16)) / 1073741824;\n          scale01 = ((code[i + 2] << 24) | (code[i + 3] << 16)) / 1073741824;\n          scale10 = ((code[i + 4] << 24) | (code[i + 5] << 16)) / 1073741824;\n          scaleY = ((code[i + 6] << 24) | (code[i + 7] << 16)) / 1073741824;\n          i += 8;\n        }\n        var subglyph = font.glyphs[glyphIndex];\n        if (subglyph) {\n          cmds.push({ cmd: \"save\" });\n          cmds.push({\n            cmd: \"transform\",\n            args: [scaleX, scale01, scale10, scaleY, x, y],\n          });\n          compileGlyf(subglyph, cmds, font);\n          cmds.push({ cmd: \"restore\" });\n        }\n      } while (flags & 0x20);\n    } else {\n      // simple glyph\n      var endPtsOfContours = [];\n      var j, jj;\n      for (j = 0; j < numberOfContours; j++) {\n        endPtsOfContours.push((code[i] << 8) | code[i + 1]);\n        i += 2;\n      }\n      var instructionLength = (code[i] << 8) | code[i + 1];\n      i += 2 + instructionLength; // skipping the instructions\n      var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n      var points = [];\n      while (points.length < numberOfPoints) {\n        flags = code[i++];\n        var repeat = 1;\n        if (flags & 0x08) {\n          repeat += code[i++];\n        }\n        while (repeat-- > 0) {\n          points.push({ flags });\n        }\n      }\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x12) {\n          case 0x00:\n            x += ((code[i] << 24) | (code[i + 1] << 16)) >> 16;\n            i += 2;\n            break;\n          case 0x02:\n            x -= code[i++];\n            break;\n          case 0x12:\n            x += code[i++];\n            break;\n        }\n        points[j].x = x;\n      }\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x24) {\n          case 0x00:\n            y += ((code[i] << 24) | (code[i + 1] << 16)) >> 16;\n            i += 2;\n            break;\n          case 0x04:\n            y -= code[i++];\n            break;\n          case 0x24:\n            y += code[i++];\n            break;\n        }\n        points[j].y = y;\n      }\n\n      var startPoint = 0;\n      for (i = 0; i < numberOfContours; i++) {\n        var endPoint = endPtsOfContours[i];\n        // contours might have implicit points, which is located in the middle\n        // between two neighboring off-curve points\n        var contour = points.slice(startPoint, endPoint + 1);\n        if (contour[0].flags & 1) {\n          contour.push(contour[0]); // using start point at the contour end\n        } else if (contour[contour.length - 1].flags & 1) {\n          // first is off-curve point, trying to use one from the end\n          contour.unshift(contour[contour.length - 1]);\n        } else {\n          // start and end are off-curve points, creating implicit one\n          var p = {\n            flags: 1,\n            x: (contour[0].x + contour[contour.length - 1].x) / 2,\n            y: (contour[0].y + contour[contour.length - 1].y) / 2,\n          };\n          contour.unshift(p);\n          contour.push(p);\n        }\n        moveTo(contour[0].x, contour[0].y);\n        for (j = 1, jj = contour.length; j < jj; j++) {\n          if (contour[j].flags & 1) {\n            lineTo(contour[j].x, contour[j].y);\n          } else if (contour[j + 1].flags & 1) {\n            quadraticCurveTo(\n              contour[j].x,\n              contour[j].y,\n              contour[j + 1].x,\n              contour[j + 1].y\n            );\n            j++;\n          } else {\n            quadraticCurveTo(\n              contour[j].x,\n              contour[j].y,\n              (contour[j].x + contour[j + 1].x) / 2,\n              (contour[j].y + contour[j + 1].y) / 2\n            );\n          }\n        }\n        startPoint = endPoint + 1;\n      }\n    }\n  }\n\n  function compileCharString(code, cmds, font, glyphId) {\n    var stack = [];\n    var x = 0,\n      y = 0;\n    var stems = 0;\n\n    function moveTo(x, y) {\n      cmds.push({ cmd: \"moveTo\", args: [x, y] });\n    }\n    function lineTo(x, y) {\n      cmds.push({ cmd: \"lineTo\", args: [x, y] });\n    }\n    function bezierCurveTo(x1, y1, x2, y2, x, y) {\n      cmds.push({ cmd: \"bezierCurveTo\", args: [x1, y1, x2, y2, x, y] });\n    }\n\n    function parse(code) {\n      var i = 0;\n      while (i < code.length) {\n        var stackClean = false;\n        var v = code[i++];\n        var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n        switch (v) {\n          case 1: // hstem\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 3: // vstem\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 4: // vmoveto\n            y += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n          case 5: // rlineto\n            while (stack.length > 0) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n            break;\n          case 6: // hlineto\n            while (stack.length > 0) {\n              x += stack.shift();\n              lineTo(x, y);\n              if (stack.length === 0) {\n                break;\n              }\n              y += stack.shift();\n              lineTo(x, y);\n            }\n            break;\n          case 7: // vlineto\n            while (stack.length > 0) {\n              y += stack.shift();\n              lineTo(x, y);\n              if (stack.length === 0) {\n                break;\n              }\n              x += stack.shift();\n              lineTo(x, y);\n            }\n            break;\n          case 8: // rrcurveto\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 10: // callsubr\n            n = stack.pop();\n            subrCode = null;\n            if (font.isCFFCIDFont) {\n              const fdIndex = font.fdSelect.getFDIndex(glyphId);\n              if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n                const fontDict = font.fdArray[fdIndex];\n                let subrs;\n                if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n                  subrs = fontDict.privateDict.subrsIndex.objects;\n                }\n                if (subrs) {\n                  // Add subroutine bias.\n                  n += getSubroutineBias(subrs);\n                  subrCode = subrs[n];\n                }\n              } else {\n                warn(\"Invalid fd index for glyph index.\");\n              }\n            } else {\n              subrCode = font.subrs[n + font.subrsBias];\n            }\n            if (subrCode) {\n              parse(subrCode);\n            }\n            break;\n          case 11: // return\n            return;\n          case 12:\n            v = code[i++];\n            switch (v) {\n              case 34: // flex\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y1 = y + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y, xb, y1, x, y1);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y, x, y);\n                break;\n              case 35: // flex\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                stack.pop(); // fd\n                break;\n              case 36: // hflex1\n                xa = x + stack.shift();\n                y1 = y + stack.shift();\n                xb = xa + stack.shift();\n                y2 = y1 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y2, x, y2);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y3 = y2 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y2, xb, y3, x, y);\n                break;\n              case 37: // flex1\n                var x0 = x,\n                  y0 = y;\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb;\n                y = yb;\n                if (Math.abs(x - x0) > Math.abs(y - y0)) {\n                  x += stack.shift();\n                } else {\n                  y += stack.shift();\n                }\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                break;\n              default:\n                throw new FormatError(`unknown operator: 12 ${v}`);\n            }\n            break;\n          case 14: // endchar\n            if (stack.length >= 4) {\n              var achar = stack.pop();\n              var bchar = stack.pop();\n              y = stack.pop();\n              x = stack.pop();\n              cmds.push({ cmd: \"save\" });\n              cmds.push({ cmd: \"translate\", args: [x, y] });\n              var cmap = lookupCmap(\n                font.cmap,\n                String.fromCharCode(font.glyphNameMap[StandardEncoding[achar]])\n              );\n              compileCharString(\n                font.glyphs[cmap.glyphId],\n                cmds,\n                font,\n                cmap.glyphId\n              );\n              cmds.push({ cmd: \"restore\" });\n\n              cmap = lookupCmap(\n                font.cmap,\n                String.fromCharCode(font.glyphNameMap[StandardEncoding[bchar]])\n              );\n              compileCharString(\n                font.glyphs[cmap.glyphId],\n                cmds,\n                font,\n                cmap.glyphId\n              );\n            }\n            return;\n          case 18: // hstemhm\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 19: // hintmask\n            stems += stack.length >> 1;\n            i += (stems + 7) >> 3;\n            stackClean = true;\n            break;\n          case 20: // cntrmask\n            stems += stack.length >> 1;\n            i += (stems + 7) >> 3;\n            stackClean = true;\n            break;\n          case 21: // rmoveto\n            y += stack.pop();\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n          case 22: // hmoveto\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n          case 23: // vstemhm\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n          case 24: // rcurveline\n            while (stack.length > 2) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            x += stack.shift();\n            y += stack.shift();\n            lineTo(x, y);\n            break;\n          case 25: // rlinecurve\n            while (stack.length > 6) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n            xa = x + stack.shift();\n            ya = y + stack.shift();\n            xb = xa + stack.shift();\n            yb = ya + stack.shift();\n            x = xb + stack.shift();\n            y = yb + stack.shift();\n            bezierCurveTo(xa, ya, xb, yb, x, y);\n            break;\n          case 26: // vvcurveto\n            if (stack.length % 2) {\n              x += stack.shift();\n            }\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb;\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 27: // hhcurveto\n            if (stack.length % 2) {\n              y += stack.shift();\n            }\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb;\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 28:\n            stack.push(((code[i] << 24) | (code[i + 1] << 16)) >> 16);\n            i += 2;\n            break;\n          case 29: // callgsubr\n            n = stack.pop() + font.gsubrsBias;\n            subrCode = font.gsubrs[n];\n            if (subrCode) {\n              parse(subrCode);\n            }\n            break;\n          case 30: // vhcurveto\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n              if (stack.length === 0) {\n                break;\n              }\n\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          case 31: // hvcurveto\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n              if (stack.length === 0) {\n                break;\n              }\n\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n            break;\n          default:\n            if (v < 32) {\n              throw new FormatError(`unknown operator: ${v}`);\n            }\n            if (v < 247) {\n              stack.push(v - 139);\n            } else if (v < 251) {\n              stack.push((v - 247) * 256 + code[i++] + 108);\n            } else if (v < 255) {\n              stack.push(-(v - 251) * 256 - code[i++] - 108);\n            } else {\n              stack.push(\n                ((code[i] << 24) |\n                  (code[i + 1] << 16) |\n                  (code[i + 2] << 8) |\n                  code[i + 3]) /\n                  65536\n              );\n              i += 4;\n            }\n            break;\n        }\n        if (stackClean) {\n          stack.length = 0;\n        }\n      }\n    }\n    parse(code);\n  }\n\n  const NOOP = [];\n\n  class CompiledFont {\n    constructor(fontMatrix) {\n      if (this.constructor === CompiledFont) {\n        unreachable(\"Cannot initialize CompiledFont.\");\n      }\n      this.fontMatrix = fontMatrix;\n\n      this.compiledGlyphs = Object.create(null);\n      this.compiledCharCodeToGlyphId = Object.create(null);\n    }\n\n    getPathJs(unicode) {\n      const cmap = lookupCmap(this.cmap, unicode);\n      let fn = this.compiledGlyphs[cmap.glyphId];\n      if (!fn) {\n        fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n        this.compiledGlyphs[cmap.glyphId] = fn;\n      }\n      if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n        this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n      }\n      return fn;\n    }\n\n    compileGlyph(code, glyphId) {\n      if (!code || code.length === 0 || code[0] === 14) {\n        return NOOP;\n      }\n\n      let fontMatrix = this.fontMatrix;\n      if (this.isCFFCIDFont) {\n        // Top DICT's FontMatrix can be ignored because CFFCompiler always\n        // removes it and copies to FDArray DICTs.\n        const fdIndex = this.fdSelect.getFDIndex(glyphId);\n        if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n          const fontDict = this.fdArray[fdIndex];\n          fontMatrix = fontDict.getByName(\"FontMatrix\") || FONT_IDENTITY_MATRIX;\n        } else {\n          warn(\"Invalid fd index for glyph index.\");\n        }\n      }\n\n      const cmds = [];\n      cmds.push({ cmd: \"save\" });\n      cmds.push({ cmd: \"transform\", args: fontMatrix.slice() });\n      cmds.push({ cmd: \"scale\", args: [\"size\", \"-size\"] });\n\n      this.compileGlyphImpl(code, cmds, glyphId);\n\n      cmds.push({ cmd: \"restore\" });\n\n      return cmds;\n    }\n\n    compileGlyphImpl() {\n      unreachable(\"Children classes should implement this.\");\n    }\n\n    hasBuiltPath(unicode) {\n      const cmap = lookupCmap(this.cmap, unicode);\n      return (\n        this.compiledGlyphs[cmap.glyphId] !== undefined &&\n        this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined\n      );\n    }\n  }\n\n  class TrueTypeCompiled extends CompiledFont {\n    constructor(glyphs, cmap, fontMatrix) {\n      super(fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n\n      this.glyphs = glyphs;\n      this.cmap = cmap;\n    }\n\n    compileGlyphImpl(code, cmds) {\n      compileGlyf(code, cmds, this);\n    }\n  }\n\n  class Type2Compiled extends CompiledFont {\n    constructor(cffInfo, cmap, fontMatrix, glyphNameMap) {\n      super(fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n\n      this.glyphs = cffInfo.glyphs;\n      this.gsubrs = cffInfo.gsubrs || [];\n      this.subrs = cffInfo.subrs || [];\n      this.cmap = cmap;\n      this.glyphNameMap = glyphNameMap || getGlyphsUnicode();\n\n      this.gsubrsBias = getSubroutineBias(this.gsubrs);\n      this.subrsBias = getSubroutineBias(this.subrs);\n\n      this.isCFFCIDFont = cffInfo.isCFFCIDFont;\n      this.fdSelect = cffInfo.fdSelect;\n      this.fdArray = cffInfo.fdArray;\n    }\n\n    compileGlyphImpl(code, cmds, glyphId) {\n      compileCharString(code, cmds, this, glyphId);\n    }\n  }\n\n  return {\n    create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n      var data = new Uint8Array(font.data);\n      var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n      var numTables = getUshort(data, 4);\n      for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n        var tag = bytesToString(data.subarray(p, p + 4));\n        var offset = getLong(data, p + 8);\n        var length = getLong(data, p + 12);\n        switch (tag) {\n          case \"cmap\":\n            cmap = parseCmap(data, offset, offset + length);\n            break;\n          case \"glyf\":\n            glyf = data.subarray(offset, offset + length);\n            break;\n          case \"loca\":\n            loca = data.subarray(offset, offset + length);\n            break;\n          case \"head\":\n            unitsPerEm = getUshort(data, offset + 18);\n            indexToLocFormat = getUshort(data, offset + 50);\n            break;\n          case \"CFF \":\n            cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n            break;\n        }\n      }\n\n      if (glyf) {\n        var fontMatrix = !unitsPerEm\n          ? font.fontMatrix\n          : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n        return new TrueTypeCompiled(\n          parseGlyfTable(glyf, loca, indexToLocFormat),\n          cmap,\n          fontMatrix\n        );\n      }\n      return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n    },\n  };\n})();\n\nexport { FontRendererFactory };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { getEncoding } from \"./encodings.js\";\nimport { isWhiteSpace } from \"./core_utils.js\";\nimport { Stream } from \"./stream.js\";\nimport { warn } from \"../shared/util.js\";\n\n// Hinting is currently disabled due to unknown problems on windows\n// in tracemonkey and various other pdfs with type1 fonts.\nvar HINTING_ENABLED = false;\n\n/*\n * CharStrings are encoded following the the CharString Encoding sequence\n * describe in Chapter 6 of the \"Adobe Type1 Font Format\" specification.\n * The value in a byte indicates a command, a number, or subsequent bytes\n * that are to be interpreted in a special way.\n *\n * CharString Number Encoding:\n *  A CharString byte containing the values from 32 through 255 inclusive\n *  indicate an integer. These values are decoded in four ranges.\n *\n * 1. A CharString byte containing a value, v, between 32 and 246 inclusive,\n * indicate the integer v - 139. Thus, the integer values from -107 through\n * 107 inclusive may be encoded in single byte.\n *\n * 2. A CharString byte containing a value, v, between 247 and 250 inclusive,\n * indicates an integer involving the next byte, w, according to the formula:\n * [(v - 247) x 256] + w + 108\n *\n * 3. A CharString byte containing a value, v, between 251 and 254 inclusive,\n * indicates an integer involving the next byte, w, according to the formula:\n * -[(v - 251) * 256] - w - 108\n *\n * 4. A CharString containing the value 255 indicates that the next 4 bytes\n * are a two complement signed integer. The first of these bytes contains the\n * highest order bits, the second byte contains the next higher order bits\n * and the fourth byte contain the lowest order bits.\n *\n *\n * CharString Command Encoding:\n *  CharStrings commands are encoded in 1 or 2 bytes.\n *\n *  Single byte commands are encoded in 1 byte that contains a value between\n *  0 and 31 inclusive.\n *  If a command byte contains the value 12, then the value in the next byte\n *  indicates a command. This \"escape\" mechanism allows many extra commands\n * to be encoded and this encoding technique helps to minimize the length of\n * the charStrings.\n */\nvar Type1CharString = (function Type1CharStringClosure() {\n  var COMMAND_MAP = {\n    hstem: [1],\n    vstem: [3],\n    vmoveto: [4],\n    rlineto: [5],\n    hlineto: [6],\n    vlineto: [7],\n    rrcurveto: [8],\n    callsubr: [10],\n    flex: [12, 35],\n    drop: [12, 18],\n    endchar: [14],\n    rmoveto: [21],\n    hmoveto: [22],\n    vhcurveto: [30],\n    hvcurveto: [31],\n  };\n\n  function Type1CharString() {\n    this.width = 0;\n    this.lsb = 0;\n    this.flexing = false;\n    this.output = [];\n    this.stack = [];\n  }\n\n  Type1CharString.prototype = {\n    convert: function Type1CharString_convert(\n      encoded,\n      subrs,\n      seacAnalysisEnabled\n    ) {\n      var count = encoded.length;\n      var error = false;\n      var wx, sbx, subrNumber;\n      for (var i = 0; i < count; i++) {\n        var value = encoded[i];\n        if (value < 32) {\n          if (value === 12) {\n            value = (value << 8) + encoded[++i];\n          }\n          switch (value) {\n            case 1: // hstem\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n            case 3: // vstem\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n            case 4: // vmoveto\n              if (this.flexing) {\n                if (this.stack.length < 1) {\n                  error = true;\n                  break;\n                }\n                // Add the dx for flex and but also swap the values so they are\n                // the right order.\n                var dy = this.stack.pop();\n                this.stack.push(0, dy);\n                break;\n              }\n              error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n              break;\n            case 5: // rlineto\n              error = this.executeCommand(2, COMMAND_MAP.rlineto);\n              break;\n            case 6: // hlineto\n              error = this.executeCommand(1, COMMAND_MAP.hlineto);\n              break;\n            case 7: // vlineto\n              error = this.executeCommand(1, COMMAND_MAP.vlineto);\n              break;\n            case 8: // rrcurveto\n              error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n              break;\n            case 9: // closepath\n              // closepath is a Type1 command that does not take argument and is\n              // useless in Type2 and it can simply be ignored.\n              this.stack = [];\n              break;\n            case 10: // callsubr\n              if (this.stack.length < 1) {\n                error = true;\n                break;\n              }\n              subrNumber = this.stack.pop();\n              if (!subrs[subrNumber]) {\n                error = true;\n                break;\n              }\n              error = this.convert(\n                subrs[subrNumber],\n                subrs,\n                seacAnalysisEnabled\n              );\n              break;\n            case 11: // return\n              return error;\n            case 13: // hsbw\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n              // To convert to type2 we have to move the width value to the\n              // first part of the charstring and then use hmoveto with lsb.\n              wx = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx);\n              error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n              break;\n            case 14: // endchar\n              this.output.push(COMMAND_MAP.endchar[0]);\n              break;\n            case 21: // rmoveto\n              if (this.flexing) {\n                break;\n              }\n              error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n              break;\n            case 22: // hmoveto\n              if (this.flexing) {\n                // Add the dy for flex.\n                this.stack.push(0);\n                break;\n              }\n              error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n              break;\n            case 30: // vhcurveto\n              error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n              break;\n            case 31: // hvcurveto\n              error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n              break;\n            case (12 << 8) + 0: // dotsection\n              // dotsection is a Type1 command to specify some hinting feature\n              // for dots that do not take a parameter and it can safely be\n              // ignored for Type2.\n              this.stack = [];\n              break;\n            case (12 << 8) + 1: // vstem3\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              // [vh]stem3 are Type1 only and Type2 supports [vh]stem with\n              // multiple parameters, so instead of returning [vh]stem3 take a\n              // shortcut and return [vhstem] instead.\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n            case (12 << 8) + 2: // hstem3\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n              // See vstem3.\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n            case (12 << 8) + 6: // seac\n              // seac is like type 2's special endchar but it doesn't use the\n              // first argument asb, so remove it.\n              if (seacAnalysisEnabled) {\n                this.seac = this.stack.splice(-4, 4);\n                error = this.executeCommand(0, COMMAND_MAP.endchar);\n              } else {\n                error = this.executeCommand(4, COMMAND_MAP.endchar);\n              }\n              break;\n            case (12 << 8) + 7: // sbw\n              if (this.stack.length < 4) {\n                error = true;\n                break;\n              }\n              // To convert to type2 we have to move the width value to the\n              // first part of the charstring and then use rmoveto with\n              // (dx, dy). The height argument will not be used for vmtx and\n              // vhea tables reconstruction -- ignoring it.\n              this.stack.pop(); // wy\n              wx = this.stack.pop();\n              var sby = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx, sby);\n              error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n              break;\n            case (12 << 8) + 12: // div\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n              var num2 = this.stack.pop();\n              var num1 = this.stack.pop();\n              this.stack.push(num1 / num2);\n              break;\n            case (12 << 8) + 16: // callothersubr\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n              subrNumber = this.stack.pop();\n              var numArgs = this.stack.pop();\n              if (subrNumber === 0 && numArgs === 3) {\n                var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n                this.stack.push(\n                  flexArgs[2] + flexArgs[0], // bcp1x + rpx\n                  flexArgs[3] + flexArgs[1], // bcp1y + rpy\n                  flexArgs[4], // bcp2x\n                  flexArgs[5], // bcp2y\n                  flexArgs[6], // p2x\n                  flexArgs[7], // p2y\n                  flexArgs[8], // bcp3x\n                  flexArgs[9], // bcp3y\n                  flexArgs[10], // bcp4x\n                  flexArgs[11], // bcp4y\n                  flexArgs[12], // p3x\n                  flexArgs[13], // p3y\n                  flexArgs[14] // flexDepth\n                  // 15 = finalx unused by flex\n                  // 16 = finaly unused by flex\n                );\n                error = this.executeCommand(13, COMMAND_MAP.flex, true);\n                this.flexing = false;\n                this.stack.push(flexArgs[15], flexArgs[16]);\n              } else if (subrNumber === 1 && numArgs === 0) {\n                this.flexing = true;\n              }\n              break;\n            case (12 << 8) + 17: // pop\n              // Ignore this since it is only used with othersubr.\n              break;\n            case (12 << 8) + 33: // setcurrentpoint\n              // Ignore for now.\n              this.stack = [];\n              break;\n            default:\n              warn('Unknown type 1 charstring command of \"' + value + '\"');\n              break;\n          }\n          if (error) {\n            break;\n          }\n          continue;\n        } else if (value <= 246) {\n          value = value - 139;\n        } else if (value <= 250) {\n          value = (value - 247) * 256 + encoded[++i] + 108;\n        } else if (value <= 254) {\n          value = -((value - 251) * 256) - encoded[++i] - 108;\n        } else {\n          value =\n            ((encoded[++i] & 0xff) << 24) |\n            ((encoded[++i] & 0xff) << 16) |\n            ((encoded[++i] & 0xff) << 8) |\n            ((encoded[++i] & 0xff) << 0);\n        }\n        this.stack.push(value);\n      }\n      return error;\n    },\n\n    executeCommand(howManyArgs, command, keepStack) {\n      var stackLength = this.stack.length;\n      if (howManyArgs > stackLength) {\n        return true;\n      }\n      var start = stackLength - howManyArgs;\n      for (var i = start; i < stackLength; i++) {\n        var value = this.stack[i];\n        if (Number.isInteger(value)) {\n          this.output.push(28, (value >> 8) & 0xff, value & 0xff);\n        } else {\n          // fixed point\n          value = (65536 * value) | 0;\n          this.output.push(\n            255,\n            (value >> 24) & 0xff,\n            (value >> 16) & 0xff,\n            (value >> 8) & 0xff,\n            value & 0xff\n          );\n        }\n      }\n      this.output.push.apply(this.output, command);\n      if (keepStack) {\n        this.stack.splice(start, howManyArgs);\n      } else {\n        this.stack.length = 0;\n      }\n      return false;\n    },\n  };\n\n  return Type1CharString;\n})();\n\n/*\n * Type1Parser encapsulate the needed code for parsing a Type1 font\n * program. Some of its logic depends on the Type2 charstrings\n * structure.\n * Note: this doesn't really parse the font since that would require evaluation\n * of PostScript, but it is possible in most cases to extract what we need\n * without a full parse.\n */\nvar Type1Parser = (function Type1ParserClosure() {\n  /*\n   * Decrypt a Sequence of Ciphertext Bytes to Produce the Original Sequence\n   * of Plaintext Bytes. The function took a key as a parameter which can be\n   * for decrypting the eexec block of for decoding charStrings.\n   */\n  var EEXEC_ENCRYPT_KEY = 55665;\n  var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n  function isHexDigit(code) {\n    return (\n      (code >= 48 && code <= 57) || // '0'-'9'\n      (code >= 65 && code <= 70) || // 'A'-'F'\n      (code >= 97 && code <= 102) // 'a'-'f'\n    );\n  }\n\n  function decrypt(data, key, discardNumber) {\n    if (discardNumber >= data.length) {\n      return new Uint8Array(0);\n    }\n    var r = key | 0,\n      c1 = 52845,\n      c2 = 22719,\n      i,\n      j;\n    for (i = 0; i < discardNumber; i++) {\n      r = ((data[i] + r) * c1 + c2) & ((1 << 16) - 1);\n    }\n    var count = data.length - discardNumber;\n    var decrypted = new Uint8Array(count);\n    for (i = discardNumber, j = 0; j < count; i++, j++) {\n      var value = data[i];\n      decrypted[j] = value ^ (r >> 8);\n      r = ((value + r) * c1 + c2) & ((1 << 16) - 1);\n    }\n    return decrypted;\n  }\n\n  function decryptAscii(data, key, discardNumber) {\n    var r = key | 0,\n      c1 = 52845,\n      c2 = 22719;\n    var count = data.length,\n      maybeLength = count >>> 1;\n    var decrypted = new Uint8Array(maybeLength);\n    var i, j;\n    for (i = 0, j = 0; i < count; i++) {\n      var digit1 = data[i];\n      if (!isHexDigit(digit1)) {\n        continue;\n      }\n      i++;\n      var digit2;\n      while (i < count && !isHexDigit((digit2 = data[i]))) {\n        i++;\n      }\n      if (i < count) {\n        var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n        decrypted[j++] = value ^ (r >> 8);\n        r = ((value + r) * c1 + c2) & ((1 << 16) - 1);\n      }\n    }\n    return Array.prototype.slice.call(decrypted, discardNumber, j);\n  }\n\n  function isSpecial(c) {\n    return (\n      c === /* '/' = */ 0x2f ||\n      c === /* '[' = */ 0x5b ||\n      c === /* ']' = */ 0x5d ||\n      c === /* '{' = */ 0x7b ||\n      c === /* '}' = */ 0x7d ||\n      c === /* '(' = */ 0x28 ||\n      c === /* ')' = */ 0x29\n    );\n  }\n\n  function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n    if (encrypted) {\n      var data = stream.getBytes();\n      var isBinary = !(\n        isHexDigit(data[0]) &&\n        isHexDigit(data[1]) &&\n        isHexDigit(data[2]) &&\n        isHexDigit(data[3])\n      );\n      stream = new Stream(\n        isBinary\n          ? decrypt(data, EEXEC_ENCRYPT_KEY, 4)\n          : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4)\n      );\n    }\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n\n    this.stream = stream;\n    this.nextChar();\n  }\n\n  Type1Parser.prototype = {\n    readNumberArray: function Type1Parser_readNumberArray() {\n      this.getToken(); // read '[' or '{' (arrays can start with either)\n      var array = [];\n      while (true) {\n        var token = this.getToken();\n        if (token === null || token === \"]\" || token === \"}\") {\n          break;\n        }\n        array.push(parseFloat(token || 0));\n      }\n      return array;\n    },\n\n    readNumber: function Type1Parser_readNumber() {\n      var token = this.getToken();\n      return parseFloat(token || 0);\n    },\n\n    readInt: function Type1Parser_readInt() {\n      // Use '| 0' to prevent setting a double into length such as the double\n      // does not flow into the loop variable.\n      var token = this.getToken();\n      return parseInt(token || 0, 10) | 0;\n    },\n\n    readBoolean: function Type1Parser_readBoolean() {\n      var token = this.getToken();\n\n      // Use 1 and 0 since that's what type2 charstrings use.\n      return token === \"true\" ? 1 : 0;\n    },\n\n    nextChar: function Type1_nextChar() {\n      return (this.currentChar = this.stream.getByte());\n    },\n\n    getToken: function Type1Parser_getToken() {\n      // Eat whitespace and comments.\n      var comment = false;\n      var ch = this.currentChar;\n      while (true) {\n        if (ch === -1) {\n          return null;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === /* '%' = */ 0x25) {\n          comment = true;\n        } else if (!isWhiteSpace(ch)) {\n          break;\n        }\n        ch = this.nextChar();\n      }\n      if (isSpecial(ch)) {\n        this.nextChar();\n        return String.fromCharCode(ch);\n      }\n      var token = \"\";\n      do {\n        token += String.fromCharCode(ch);\n        ch = this.nextChar();\n      } while (ch >= 0 && !isWhiteSpace(ch) && !isSpecial(ch));\n      return token;\n    },\n\n    readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n      if (lenIV === -1) {\n        // This isn't in the spec, but Adobe's tx program handles -1\n        // as plain text.\n        return bytes;\n      }\n      return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n    },\n\n    /*\n     * Returns an object containing a Subrs array and a CharStrings\n     * array extracted from and eexec encrypted block of data\n     */\n    extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n      var stream = this.stream;\n\n      var subrs = [],\n        charstrings = [];\n      var privateData = Object.create(null);\n      privateData[\"lenIV\"] = 4;\n      var program = {\n        subrs: [],\n        charstrings: [],\n        properties: {\n          privateData,\n        },\n      };\n      var token, length, data, lenIV, encoded;\n      while ((token = this.getToken()) !== null) {\n        if (token !== \"/\") {\n          continue;\n        }\n        token = this.getToken();\n        switch (token) {\n          case \"CharStrings\":\n            // The number immediately following CharStrings must be greater or\n            // equal to the number of CharStrings.\n            this.getToken();\n            this.getToken(); // read in 'dict'\n            this.getToken(); // read in 'dup'\n            this.getToken(); // read in 'begin'\n            while (true) {\n              token = this.getToken();\n              if (token === null || token === \"end\") {\n                break;\n              }\n\n              if (token !== \"/\") {\n                continue;\n              }\n              var glyph = this.getToken();\n              length = this.readInt();\n              this.getToken(); // read in 'RD' or '-|'\n              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n              lenIV = program.properties.privateData[\"lenIV\"];\n              encoded = this.readCharStrings(data, lenIV);\n              this.nextChar();\n              token = this.getToken(); // read in 'ND' or '|-'\n              if (token === \"noaccess\") {\n                this.getToken(); // read in 'def'\n              }\n              charstrings.push({\n                glyph,\n                encoded,\n              });\n            }\n            break;\n          case \"Subrs\":\n            this.readInt(); // num\n            this.getToken(); // read in 'array'\n            while (this.getToken() === \"dup\") {\n              var index = this.readInt();\n              length = this.readInt();\n              this.getToken(); // read in 'RD' or '-|'\n              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n              lenIV = program.properties.privateData[\"lenIV\"];\n              encoded = this.readCharStrings(data, lenIV);\n              this.nextChar();\n              token = this.getToken(); // read in 'NP' or '|'\n              if (token === \"noaccess\") {\n                this.getToken(); // read in 'put'\n              }\n              subrs[index] = encoded;\n            }\n            break;\n          case \"BlueValues\":\n          case \"OtherBlues\":\n          case \"FamilyBlues\":\n          case \"FamilyOtherBlues\":\n            var blueArray = this.readNumberArray();\n            // *Blue* values may contain invalid data: disables reading of\n            // those values when hinting is disabled.\n            if (\n              blueArray.length > 0 &&\n              blueArray.length % 2 === 0 &&\n              HINTING_ENABLED\n            ) {\n              program.properties.privateData[token] = blueArray;\n            }\n            break;\n          case \"StemSnapH\":\n          case \"StemSnapV\":\n            program.properties.privateData[token] = this.readNumberArray();\n            break;\n          case \"StdHW\":\n          case \"StdVW\":\n            program.properties.privateData[token] = this.readNumberArray()[0];\n            break;\n          case \"BlueShift\":\n          case \"lenIV\":\n          case \"BlueFuzz\":\n          case \"BlueScale\":\n          case \"LanguageGroup\":\n          case \"ExpansionFactor\":\n            program.properties.privateData[token] = this.readNumber();\n            break;\n          case \"ForceBold\":\n            program.properties.privateData[token] = this.readBoolean();\n            break;\n        }\n      }\n\n      for (var i = 0; i < charstrings.length; i++) {\n        glyph = charstrings[i].glyph;\n        encoded = charstrings[i].encoded;\n        var charString = new Type1CharString();\n        var error = charString.convert(\n          encoded,\n          subrs,\n          this.seacAnalysisEnabled\n        );\n        var output = charString.output;\n        if (error) {\n          // It seems when FreeType encounters an error while evaluating a glyph\n          // that it completely ignores the glyph so we'll mimic that behaviour\n          // here and put an endchar to make the validator happy.\n          output = [14];\n        }\n        const charStringObject = {\n          glyphName: glyph,\n          charstring: output,\n          width: charString.width,\n          lsb: charString.lsb,\n          seac: charString.seac,\n        };\n        if (glyph === \".notdef\") {\n          // Make sure .notdef is at index zero (issue #11477).\n          program.charstrings.unshift(charStringObject);\n        } else {\n          program.charstrings.push(charStringObject);\n        }\n\n        // Attempt to replace missing widths, from the font dictionary /Widths\n        // entry, with ones from the font data (fixes issue11150_reduced.pdf).\n        if (properties.builtInEncoding) {\n          const index = properties.builtInEncoding.indexOf(glyph);\n          if (\n            index > -1 &&\n            properties.widths[index] === undefined &&\n            index >= properties.firstChar &&\n            index <= properties.lastChar\n          ) {\n            properties.widths[index] = charString.width;\n          }\n        }\n      }\n\n      return program;\n    },\n\n    extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n      var token;\n      while ((token = this.getToken()) !== null) {\n        if (token !== \"/\") {\n          continue;\n        }\n        token = this.getToken();\n        switch (token) {\n          case \"FontMatrix\":\n            var matrix = this.readNumberArray();\n            properties.fontMatrix = matrix;\n            break;\n          case \"Encoding\":\n            var encodingArg = this.getToken();\n            var encoding;\n            if (!/^\\d+$/.test(encodingArg)) {\n              // encoding name is specified\n              encoding = getEncoding(encodingArg);\n            } else {\n              encoding = [];\n              var size = parseInt(encodingArg, 10) | 0;\n              this.getToken(); // read in 'array'\n\n              for (var j = 0; j < size; j++) {\n                token = this.getToken();\n                // skipping till first dup or def (e.g. ignoring for statement)\n                while (token !== \"dup\" && token !== \"def\") {\n                  token = this.getToken();\n                  if (token === null) {\n                    return; // invalid header\n                  }\n                }\n                if (token === \"def\") {\n                  break; // read all array data\n                }\n                var index = this.readInt();\n                this.getToken(); // read in '/'\n                var glyph = this.getToken();\n                encoding[index] = glyph;\n                this.getToken(); // read the in 'put'\n              }\n            }\n            properties.builtInEncoding = encoding;\n            break;\n          case \"FontBBox\":\n            var fontBBox = this.readNumberArray();\n            // adjusting ascent/descent\n            properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n            properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n            properties.ascentScaled = true;\n            break;\n        }\n      }\n    },\n  };\n\n  return Type1Parser;\n})();\n\nexport { Type1Parser };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  assert,\n  FormatError,\n  info,\n  unreachable,\n  UNSUPPORTED_FEATURES,\n  Util,\n  warn,\n} from \"../shared/util.js\";\nimport { ColorSpace } from \"./colorspace.js\";\nimport { isStream } from \"./primitives.js\";\nimport { MissingDataException } from \"./core_utils.js\";\n\nvar ShadingType = {\n  FUNCTION_BASED: 1,\n  AXIAL: 2,\n  RADIAL: 3,\n  FREE_FORM_MESH: 4,\n  LATTICE_FORM_MESH: 5,\n  COONS_PATCH_MESH: 6,\n  TENSOR_PATCH_MESH: 7,\n};\n\nvar Pattern = (function PatternClosure() {\n  // Constructor should define this.getPattern\n  function Pattern() {\n    unreachable(\"should not call Pattern constructor\");\n  }\n\n  Pattern.prototype = {\n    // Input: current Canvas context\n    // Output: the appropriate fillStyle or strokeStyle\n    getPattern: function Pattern_getPattern(ctx) {\n      unreachable(`Should not call Pattern.getStyle: ${ctx}`);\n    },\n  };\n\n  Pattern.parseShading = function(\n    shading,\n    matrix,\n    xref,\n    res,\n    handler,\n    pdfFunctionFactory\n  ) {\n    var dict = isStream(shading) ? shading.dict : shading;\n    var type = dict.get(\"ShadingType\");\n\n    try {\n      switch (type) {\n        case ShadingType.AXIAL:\n        case ShadingType.RADIAL:\n          // Both radial and axial shadings are handled by RadialAxial shading.\n          return new Shadings.RadialAxial(\n            dict,\n            matrix,\n            xref,\n            res,\n            pdfFunctionFactory\n          );\n        case ShadingType.FREE_FORM_MESH:\n        case ShadingType.LATTICE_FORM_MESH:\n        case ShadingType.COONS_PATCH_MESH:\n        case ShadingType.TENSOR_PATCH_MESH:\n          return new Shadings.Mesh(\n            shading,\n            matrix,\n            xref,\n            res,\n            pdfFunctionFactory\n          );\n        default:\n          throw new FormatError(\"Unsupported ShadingType: \" + type);\n      }\n    } catch (ex) {\n      if (ex instanceof MissingDataException) {\n        throw ex;\n      }\n      handler.send(\"UnsupportedFeature\", {\n        featureId: UNSUPPORTED_FEATURES.shadingPattern,\n      });\n      warn(ex);\n      return new Shadings.Dummy();\n    }\n  };\n  return Pattern;\n})();\n\nvar Shadings = {};\n\n// A small number to offset the first/last color stops so we can insert ones to\n// support extend. Number.MIN_VALUE is too small and breaks the extend.\nShadings.SMALL_NUMBER = 1e-6;\n\n// Radial and axial shading have very similar implementations\n// If needed, the implementations can be broken into two classes\nShadings.RadialAxial = (function RadialAxialClosure() {\n  function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n    this.matrix = matrix;\n    this.coordsArr = dict.getArray(\"Coords\");\n    this.shadingType = dict.get(\"ShadingType\");\n    this.type = \"Pattern\";\n    var cs = dict.get(\"ColorSpace\", \"CS\");\n    cs = ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n    this.cs = cs;\n    const bbox = dict.getArray(\"BBox\");\n    if (Array.isArray(bbox) && bbox.length === 4) {\n      this.bbox = Util.normalizeRect(bbox);\n    } else {\n      this.bbox = null;\n    }\n\n    var t0 = 0.0,\n      t1 = 1.0;\n    if (dict.has(\"Domain\")) {\n      var domainArr = dict.getArray(\"Domain\");\n      t0 = domainArr[0];\n      t1 = domainArr[1];\n    }\n\n    var extendStart = false,\n      extendEnd = false;\n    if (dict.has(\"Extend\")) {\n      var extendArr = dict.getArray(\"Extend\");\n      extendStart = extendArr[0];\n      extendEnd = extendArr[1];\n    }\n\n    if (\n      this.shadingType === ShadingType.RADIAL &&\n      (!extendStart || !extendEnd)\n    ) {\n      // Radial gradient only currently works if either circle is fully within\n      // the other circle.\n      var x1 = this.coordsArr[0];\n      var y1 = this.coordsArr[1];\n      var r1 = this.coordsArr[2];\n      var x2 = this.coordsArr[3];\n      var y2 = this.coordsArr[4];\n      var r2 = this.coordsArr[5];\n      var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n      if (r1 <= r2 + distance && r2 <= r1 + distance) {\n        warn(\"Unsupported radial gradient.\");\n      }\n    }\n\n    this.extendStart = extendStart;\n    this.extendEnd = extendEnd;\n\n    var fnObj = dict.get(\"Function\");\n    var fn = pdfFunctionFactory.createFromArray(fnObj);\n\n    // 10 samples seems good enough for now, but probably won't work\n    // if there are sharp color changes. Ideally, we would implement\n    // the spec faithfully and add lossless optimizations.\n    const NUMBER_OF_SAMPLES = 10;\n    const step = (t1 - t0) / NUMBER_OF_SAMPLES;\n\n    var colorStops = (this.colorStops = []);\n\n    // Protect against bad domains.\n    if (t0 >= t1 || step <= 0) {\n      // Acrobat doesn't seem to handle these cases so we'll ignore for\n      // now.\n      info(\"Bad shading domain.\");\n      return;\n    }\n\n    var color = new Float32Array(cs.numComps),\n      ratio = new Float32Array(1);\n    var rgbColor;\n    for (let i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n      ratio[0] = t0 + i * step;\n      fn(ratio, 0, color, 0);\n      rgbColor = cs.getRgb(color, 0);\n      var cssColor = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n      colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n    }\n\n    var background = \"transparent\";\n    if (dict.has(\"Background\")) {\n      rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n      background = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n    }\n\n    if (!extendStart) {\n      // Insert a color stop at the front and offset the first real color stop\n      // so it doesn't conflict with the one we insert.\n      colorStops.unshift([0, background]);\n      colorStops[1][0] += Shadings.SMALL_NUMBER;\n    }\n    if (!extendEnd) {\n      // Same idea as above in extendStart but for the end.\n      colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n      colorStops.push([1, background]);\n    }\n\n    this.colorStops = colorStops;\n  }\n\n  RadialAxial.prototype = {\n    getIR: function RadialAxial_getIR() {\n      var coordsArr = this.coordsArr;\n      var shadingType = this.shadingType;\n      var type, p0, p1, r0, r1;\n      if (shadingType === ShadingType.AXIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[2], coordsArr[3]];\n        r0 = null;\n        r1 = null;\n        type = \"axial\";\n      } else if (shadingType === ShadingType.RADIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[3], coordsArr[4]];\n        r0 = coordsArr[2];\n        r1 = coordsArr[5];\n        type = \"radial\";\n      } else {\n        unreachable(`getPattern type unknown: ${shadingType}`);\n      }\n\n      var matrix = this.matrix;\n      if (matrix) {\n        p0 = Util.applyTransform(p0, matrix);\n        p1 = Util.applyTransform(p1, matrix);\n        if (shadingType === ShadingType.RADIAL) {\n          var scale = Util.singularValueDecompose2dScale(matrix);\n          r0 *= scale[0];\n          r1 *= scale[1];\n        }\n      }\n\n      return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n    },\n  };\n\n  return RadialAxial;\n})();\n\n// All mesh shading. For now, they will be presented as set of the triangles\n// to be drawn on the canvas and rgb color for each vertex.\nShadings.Mesh = (function MeshClosure() {\n  function MeshStreamReader(stream, context) {\n    this.stream = stream;\n    this.context = context;\n    this.buffer = 0;\n    this.bufferLength = 0;\n\n    var numComps = context.numComps;\n    this.tmpCompsBuf = new Float32Array(numComps);\n    var csNumComps = context.colorSpace.numComps;\n    this.tmpCsCompsBuf = context.colorFn\n      ? new Float32Array(csNumComps)\n      : this.tmpCompsBuf;\n  }\n  MeshStreamReader.prototype = {\n    get hasData() {\n      if (this.stream.end) {\n        return this.stream.pos < this.stream.end;\n      }\n      if (this.bufferLength > 0) {\n        return true;\n      }\n      var nextByte = this.stream.getByte();\n      if (nextByte < 0) {\n        return false;\n      }\n      this.buffer = nextByte;\n      this.bufferLength = 8;\n      return true;\n    },\n    readBits: function MeshStreamReader_readBits(n) {\n      var buffer = this.buffer;\n      var bufferLength = this.bufferLength;\n      if (n === 32) {\n        if (bufferLength === 0) {\n          return (\n            ((this.stream.getByte() << 24) |\n              (this.stream.getByte() << 16) |\n              (this.stream.getByte() << 8) |\n              this.stream.getByte()) >>>\n            0\n          );\n        }\n        buffer =\n          (buffer << 24) |\n          (this.stream.getByte() << 16) |\n          (this.stream.getByte() << 8) |\n          this.stream.getByte();\n        var nextByte = this.stream.getByte();\n        this.buffer = nextByte & ((1 << bufferLength) - 1);\n        return (\n          ((buffer << (8 - bufferLength)) |\n            ((nextByte & 0xff) >> bufferLength)) >>>\n          0\n        );\n      }\n      if (n === 8 && bufferLength === 0) {\n        return this.stream.getByte();\n      }\n      while (bufferLength < n) {\n        buffer = (buffer << 8) | this.stream.getByte();\n        bufferLength += 8;\n      }\n      bufferLength -= n;\n      this.bufferLength = bufferLength;\n      this.buffer = buffer & ((1 << bufferLength) - 1);\n      return buffer >> bufferLength;\n    },\n    align: function MeshStreamReader_align() {\n      this.buffer = 0;\n      this.bufferLength = 0;\n    },\n    readFlag: function MeshStreamReader_readFlag() {\n      return this.readBits(this.context.bitsPerFlag);\n    },\n    readCoordinate: function MeshStreamReader_readCoordinate() {\n      var bitsPerCoordinate = this.context.bitsPerCoordinate;\n      var xi = this.readBits(bitsPerCoordinate);\n      var yi = this.readBits(bitsPerCoordinate);\n      var decode = this.context.decode;\n      var scale =\n        bitsPerCoordinate < 32\n          ? 1 / ((1 << bitsPerCoordinate) - 1)\n          : 2.3283064365386963e-10; // 2 ^ -32\n      return [\n        xi * scale * (decode[1] - decode[0]) + decode[0],\n        yi * scale * (decode[3] - decode[2]) + decode[2],\n      ];\n    },\n    readComponents: function MeshStreamReader_readComponents() {\n      var numComps = this.context.numComps;\n      var bitsPerComponent = this.context.bitsPerComponent;\n      var scale =\n        bitsPerComponent < 32\n          ? 1 / ((1 << bitsPerComponent) - 1)\n          : 2.3283064365386963e-10; // 2 ^ -32\n      var decode = this.context.decode;\n      var components = this.tmpCompsBuf;\n      for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n        var ci = this.readBits(bitsPerComponent);\n        components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n      }\n      var color = this.tmpCsCompsBuf;\n      if (this.context.colorFn) {\n        this.context.colorFn(components, 0, color, 0);\n      }\n      return this.context.colorSpace.getRgb(color, 0);\n    },\n  };\n\n  function decodeType4Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var operators = [];\n    var ps = []; // not maintaining cs since that will match ps\n    var verticesLeft = 0; // assuming we have all data to start a new triangle\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n      if (verticesLeft === 0) {\n        // ignoring flags if we started a triangle\n        if (!(0 <= f && f <= 2)) {\n          throw new FormatError(\"Unknown type4 flag\");\n        }\n        switch (f) {\n          case 0:\n            verticesLeft = 3;\n            break;\n          case 1:\n            ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n          case 2:\n            ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n        }\n        operators.push(f);\n      }\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n      verticesLeft--;\n\n      reader.align();\n    }\n    mesh.figures.push({\n      type: \"triangles\",\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps),\n    });\n  }\n\n  function decodeType5Shading(mesh, reader, verticesPerRow) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = []; // not maintaining cs since that will match ps\n    while (reader.hasData) {\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n    }\n    mesh.figures.push({\n      type: \"lattice\",\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps),\n      verticesPerRow,\n    });\n  }\n\n  var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n  var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n\n  var TRIANGLE_DENSITY = 20; // count of triangles per entire mesh bounds\n\n  var getB = (function getBClosure() {\n    function buildB(count) {\n      var lut = [];\n      for (var i = 0; i <= count; i++) {\n        var t = i / count,\n          t_ = 1 - t;\n        lut.push(\n          new Float32Array([\n            t_ * t_ * t_,\n            3 * t * t_ * t_,\n            3 * t * t * t_,\n            t * t * t,\n          ])\n        );\n      }\n      return lut;\n    }\n    var cache = [];\n    return function getB(count) {\n      if (!cache[count]) {\n        cache[count] = buildB(count);\n      }\n      return cache[count];\n    };\n  })();\n\n  function buildFigureFromPatch(mesh, index) {\n    var figure = mesh.figures[index];\n    assert(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n\n    var coords = mesh.coords,\n      colors = mesh.colors;\n    var pi = figure.coords;\n    var ci = figure.colors;\n\n    var figureMinX = Math.min(\n      coords[pi[0]][0],\n      coords[pi[3]][0],\n      coords[pi[12]][0],\n      coords[pi[15]][0]\n    );\n    var figureMinY = Math.min(\n      coords[pi[0]][1],\n      coords[pi[3]][1],\n      coords[pi[12]][1],\n      coords[pi[15]][1]\n    );\n    var figureMaxX = Math.max(\n      coords[pi[0]][0],\n      coords[pi[3]][0],\n      coords[pi[12]][0],\n      coords[pi[15]][0]\n    );\n    var figureMaxY = Math.max(\n      coords[pi[0]][1],\n      coords[pi[3]][1],\n      coords[pi[12]][1],\n      coords[pi[15]][1]\n    );\n    var splitXBy = Math.ceil(\n      ((figureMaxX - figureMinX) * TRIANGLE_DENSITY) /\n        (mesh.bounds[2] - mesh.bounds[0])\n    );\n    splitXBy = Math.max(\n      MIN_SPLIT_PATCH_CHUNKS_AMOUNT,\n      Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy)\n    );\n    var splitYBy = Math.ceil(\n      ((figureMaxY - figureMinY) * TRIANGLE_DENSITY) /\n        (mesh.bounds[3] - mesh.bounds[1])\n    );\n    splitYBy = Math.max(\n      MIN_SPLIT_PATCH_CHUNKS_AMOUNT,\n      Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy)\n    );\n\n    var verticesPerRow = splitXBy + 1;\n    var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var k = 0;\n    var cl = new Uint8Array(3),\n      cr = new Uint8Array(3);\n    var c0 = colors[ci[0]],\n      c1 = colors[ci[1]],\n      c2 = colors[ci[2]],\n      c3 = colors[ci[3]];\n    var bRow = getB(splitYBy),\n      bCol = getB(splitXBy);\n    for (var row = 0; row <= splitYBy; row++) {\n      cl[0] = ((c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy) | 0;\n      cl[1] = ((c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy) | 0;\n      cl[2] = ((c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy) | 0;\n\n      cr[0] = ((c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy) | 0;\n      cr[1] = ((c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy) | 0;\n      cr[2] = ((c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy) | 0;\n\n      for (var col = 0; col <= splitXBy; col++, k++) {\n        if (\n          (row === 0 || row === splitYBy) &&\n          (col === 0 || col === splitXBy)\n        ) {\n          continue;\n        }\n        var x = 0,\n          y = 0;\n        var q = 0;\n        for (var i = 0; i <= 3; i++) {\n          for (var j = 0; j <= 3; j++, q++) {\n            var m = bRow[row][i] * bCol[col][j];\n            x += coords[pi[q]][0] * m;\n            y += coords[pi[q]][1] * m;\n          }\n        }\n        figureCoords[k] = coords.length;\n        coords.push([x, y]);\n        figureColors[k] = colors.length;\n        var newColor = new Uint8Array(3);\n        newColor[0] = ((cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy) | 0;\n        newColor[1] = ((cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy) | 0;\n        newColor[2] = ((cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy) | 0;\n        colors.push(newColor);\n      }\n    }\n    figureCoords[0] = pi[0];\n    figureColors[0] = ci[0];\n    figureCoords[splitXBy] = pi[3];\n    figureColors[splitXBy] = ci[1];\n    figureCoords[verticesPerRow * splitYBy] = pi[12];\n    figureColors[verticesPerRow * splitYBy] = ci[2];\n    figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n    figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n\n    mesh.figures[index] = {\n      type: \"lattice\",\n      coords: figureCoords,\n      colors: figureColors,\n      verticesPerRow,\n    };\n  }\n\n  function decodeType6Shading(mesh, reader) {\n    // A special case of Type 7. The p11, p12, p21, p22 automatically filled\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16); // p00, p10, ..., p30, p01, ..., p33\n    var cs = new Int32Array(4); // c00, c30, c03, c33\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      if (!(0 <= f && f <= 3)) {\n        throw new FormatError(\"Unknown type6 flag\");\n      }\n      var i, ii;\n      var pi = coords.length;\n      for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n      var ci = colors.length;\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n      var tmp1, tmp2, tmp3, tmp4;\n      switch (f) {\n        // prettier-ignore\n        case 0:\n          ps[12] = pi + 3; ps[13] = pi + 4;  ps[14] = pi + 5;  ps[15] = pi + 6;\n          ps[ 8] = pi + 2; /* values for 5, 6, 9, 10 are    */ ps[11] = pi + 7;\n          ps[ 4] = pi + 1; /* calculated below              */ ps[ 7] = pi + 8;\n          ps[ 0] = pi;     ps[ 1] = pi + 11; ps[ 2] = pi + 10; ps[ 3] = pi + 9;\n          cs[2] = ci + 1; cs[3] = ci + 2;\n          cs[0] = ci;     cs[1] = ci + 3;\n          break;\n        // prettier-ignore\n        case 1:\n          tmp1 = ps[12]; tmp2 = ps[13]; tmp3 = ps[14]; tmp4 = ps[15];\n          ps[12] = tmp4; ps[13] = pi + 0;  ps[14] = pi + 1;  ps[15] = pi + 2;\n          ps[ 8] = tmp3; /* values for 5, 6, 9, 10 are    */ ps[11] = pi + 3;\n          ps[ 4] = tmp2; /* calculated below              */ ps[ 7] = pi + 4;\n          ps[ 0] = tmp1; ps[ 1] = pi + 7;   ps[ 2] = pi + 6; ps[ 3] = pi + 5;\n          tmp1 = cs[2]; tmp2 = cs[3];\n          cs[2] = tmp2;   cs[3] = ci;\n          cs[0] = tmp1;   cs[1] = ci + 1;\n          break;\n        // prettier-ignore\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];  ps[13] = pi + 0; ps[14] = pi + 1;   ps[15] = pi + 2;\n          ps[ 8] = ps[7];  /* values for 5, 6, 9, 10 are    */ ps[11] = pi + 3;\n          ps[ 4] = tmp2;   /* calculated below              */ ps[ 7] = pi + 4;\n          ps[ 0] = tmp1;  ps[ 1] = pi + 7;   ps[ 2] = pi + 6;  ps[ 3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1]; cs[3] = ci;\n          cs[0] = tmp1;  cs[1] = ci + 1;\n          break;\n        // prettier-ignore\n        case 3:\n          ps[12] = ps[0];  ps[13] = pi + 0;   ps[14] = pi + 1; ps[15] = pi + 2;\n          ps[ 8] = ps[1];  /* values for 5, 6, 9, 10 are    */ ps[11] = pi + 3;\n          ps[ 4] = ps[2];  /* calculated below              */ ps[ 7] = pi + 4;\n          ps[ 0] = ps[3];  ps[ 1] = pi + 7;   ps[ 2] = pi + 6; ps[ 3] = pi + 5;\n          cs[2] = cs[0]; cs[3] = ci;\n          cs[0] = cs[1]; cs[1] = ci + 1;\n          break;\n      }\n      // set p11, p12, p21, p22\n      ps[5] = coords.length;\n      coords.push([\n        (-4 * coords[ps[0]][0] -\n          coords[ps[15]][0] +\n          6 * (coords[ps[4]][0] + coords[ps[1]][0]) -\n          2 * (coords[ps[12]][0] + coords[ps[3]][0]) +\n          3 * (coords[ps[13]][0] + coords[ps[7]][0])) /\n          9,\n        (-4 * coords[ps[0]][1] -\n          coords[ps[15]][1] +\n          6 * (coords[ps[4]][1] + coords[ps[1]][1]) -\n          2 * (coords[ps[12]][1] + coords[ps[3]][1]) +\n          3 * (coords[ps[13]][1] + coords[ps[7]][1])) /\n          9,\n      ]);\n      ps[6] = coords.length;\n      coords.push([\n        (-4 * coords[ps[3]][0] -\n          coords[ps[12]][0] +\n          6 * (coords[ps[2]][0] + coords[ps[7]][0]) -\n          2 * (coords[ps[0]][0] + coords[ps[15]][0]) +\n          3 * (coords[ps[4]][0] + coords[ps[14]][0])) /\n          9,\n        (-4 * coords[ps[3]][1] -\n          coords[ps[12]][1] +\n          6 * (coords[ps[2]][1] + coords[ps[7]][1]) -\n          2 * (coords[ps[0]][1] + coords[ps[15]][1]) +\n          3 * (coords[ps[4]][1] + coords[ps[14]][1])) /\n          9,\n      ]);\n      ps[9] = coords.length;\n      coords.push([\n        (-4 * coords[ps[12]][0] -\n          coords[ps[3]][0] +\n          6 * (coords[ps[8]][0] + coords[ps[13]][0]) -\n          2 * (coords[ps[0]][0] + coords[ps[15]][0]) +\n          3 * (coords[ps[11]][0] + coords[ps[1]][0])) /\n          9,\n        (-4 * coords[ps[12]][1] -\n          coords[ps[3]][1] +\n          6 * (coords[ps[8]][1] + coords[ps[13]][1]) -\n          2 * (coords[ps[0]][1] + coords[ps[15]][1]) +\n          3 * (coords[ps[11]][1] + coords[ps[1]][1])) /\n          9,\n      ]);\n      ps[10] = coords.length;\n      coords.push([\n        (-4 * coords[ps[15]][0] -\n          coords[ps[0]][0] +\n          6 * (coords[ps[11]][0] + coords[ps[14]][0]) -\n          2 * (coords[ps[12]][0] + coords[ps[3]][0]) +\n          3 * (coords[ps[2]][0] + coords[ps[8]][0])) /\n          9,\n        (-4 * coords[ps[15]][1] -\n          coords[ps[0]][1] +\n          6 * (coords[ps[11]][1] + coords[ps[14]][1]) -\n          2 * (coords[ps[12]][1] + coords[ps[3]][1]) +\n          3 * (coords[ps[2]][1] + coords[ps[8]][1])) /\n          9,\n      ]);\n      mesh.figures.push({\n        type: \"patch\",\n        coords: new Int32Array(ps), // making copies of ps and cs\n        colors: new Int32Array(cs),\n      });\n    }\n  }\n\n  function decodeType7Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16); // p00, p10, ..., p30, p01, ..., p33\n    var cs = new Int32Array(4); // c00, c30, c03, c33\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      if (!(0 <= f && f <= 3)) {\n        throw new FormatError(\"Unknown type7 flag\");\n      }\n      var i, ii;\n      var pi = coords.length;\n      for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n      var ci = colors.length;\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n      var tmp1, tmp2, tmp3, tmp4;\n      switch (f) {\n        // prettier-ignore\n        case 0:\n          ps[12] = pi + 3; ps[13] = pi + 4;  ps[14] = pi + 5;  ps[15] = pi + 6;\n          ps[ 8] = pi + 2; ps[ 9] = pi + 13; ps[10] = pi + 14; ps[11] = pi + 7;\n          ps[ 4] = pi + 1; ps[ 5] = pi + 12; ps[ 6] = pi + 15; ps[ 7] = pi + 8;\n          ps[ 0] = pi;     ps[ 1] = pi + 11; ps[ 2] = pi + 10; ps[ 3] = pi + 9;\n          cs[2] = ci + 1; cs[3] = ci + 2;\n          cs[0] = ci;     cs[1] = ci + 3;\n          break;\n        // prettier-ignore\n        case 1:\n          tmp1 = ps[12]; tmp2 = ps[13]; tmp3 = ps[14]; tmp4 = ps[15];\n          ps[12] = tmp4;   ps[13] = pi + 0;  ps[14] = pi + 1;  ps[15] = pi + 2;\n          ps[ 8] = tmp3;   ps[ 9] = pi + 9;  ps[10] = pi + 10; ps[11] = pi + 3;\n          ps[ 4] = tmp2;   ps[ 5] = pi + 8;  ps[ 6] = pi + 11; ps[ 7] = pi + 4;\n          ps[ 0] = tmp1;   ps[ 1] = pi + 7;  ps[ 2] = pi + 6;  ps[ 3] = pi + 5;\n          tmp1 = cs[2]; tmp2 = cs[3];\n          cs[2] = tmp2;   cs[3] = ci;\n          cs[0] = tmp1;   cs[1] = ci + 1;\n          break;\n        // prettier-ignore\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3]; ps[13] = pi + 0; ps[14] = pi + 1;  ps[15] = pi + 2;\n          ps[ 8] = ps[7]; ps[ 9] = pi + 9; ps[10] = pi + 10; ps[11] = pi + 3;\n          ps[ 4] = tmp2;  ps[ 5] = pi + 8; ps[ 6] = pi + 11; ps[ 7] = pi + 4;\n          ps[ 0] = tmp1;  ps[ 1] = pi + 7; ps[ 2] = pi + 6;  ps[ 3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1]; cs[3] = ci;\n          cs[0] = tmp1;  cs[1] = ci + 1;\n          break;\n        // prettier-ignore\n        case 3:\n          ps[12] = ps[0];  ps[13] = pi + 0;  ps[14] = pi + 1;  ps[15] = pi + 2;\n          ps[ 8] = ps[1];  ps[ 9] = pi + 9;  ps[10] = pi + 10; ps[11] = pi + 3;\n          ps[ 4] = ps[2];  ps[ 5] = pi + 8;  ps[ 6] = pi + 11; ps[ 7] = pi + 4;\n          ps[ 0] = ps[3];  ps[ 1] = pi + 7;  ps[ 2] = pi + 6;  ps[ 3] = pi + 5;\n          cs[2] = cs[0]; cs[3] = ci;\n          cs[0] = cs[1]; cs[1] = ci + 1;\n          break;\n      }\n      mesh.figures.push({\n        type: \"patch\",\n        coords: new Int32Array(ps), // making copies of ps and cs\n        colors: new Int32Array(cs),\n      });\n    }\n  }\n\n  function updateBounds(mesh) {\n    var minX = mesh.coords[0][0],\n      minY = mesh.coords[0][1],\n      maxX = minX,\n      maxY = minY;\n    for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n      var x = mesh.coords[i][0],\n        y = mesh.coords[i][1];\n      minX = minX > x ? x : minX;\n      minY = minY > y ? y : minY;\n      maxX = maxX < x ? x : maxX;\n      maxY = maxY < y ? y : maxY;\n    }\n    mesh.bounds = [minX, minY, maxX, maxY];\n  }\n\n  function packData(mesh) {\n    var i, ii, j, jj;\n\n    var coords = mesh.coords;\n    var coordsPacked = new Float32Array(coords.length * 2);\n    for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n      var xy = coords[i];\n      coordsPacked[j++] = xy[0];\n      coordsPacked[j++] = xy[1];\n    }\n    mesh.coords = coordsPacked;\n\n    var colors = mesh.colors;\n    var colorsPacked = new Uint8Array(colors.length * 3);\n    for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n      var c = colors[i];\n      colorsPacked[j++] = c[0];\n      colorsPacked[j++] = c[1];\n      colorsPacked[j++] = c[2];\n    }\n    mesh.colors = colorsPacked;\n\n    var figures = mesh.figures;\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n        ps = figure.coords,\n        cs = figure.colors;\n      for (j = 0, jj = ps.length; j < jj; j++) {\n        ps[j] *= 2;\n        cs[j] *= 3;\n      }\n    }\n  }\n\n  function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n    if (!isStream(stream)) {\n      throw new FormatError(\"Mesh data is not a stream\");\n    }\n    var dict = stream.dict;\n    this.matrix = matrix;\n    this.shadingType = dict.get(\"ShadingType\");\n    this.type = \"Pattern\";\n    const bbox = dict.getArray(\"BBox\");\n    if (Array.isArray(bbox) && bbox.length === 4) {\n      this.bbox = Util.normalizeRect(bbox);\n    } else {\n      this.bbox = null;\n    }\n    var cs = dict.get(\"ColorSpace\", \"CS\");\n    cs = ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n    this.cs = cs;\n    this.background = dict.has(\"Background\")\n      ? cs.getRgb(dict.get(\"Background\"), 0)\n      : null;\n\n    var fnObj = dict.get(\"Function\");\n    var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n\n    this.coords = [];\n    this.colors = [];\n    this.figures = [];\n\n    var decodeContext = {\n      bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n      bitsPerComponent: dict.get(\"BitsPerComponent\"),\n      bitsPerFlag: dict.get(\"BitsPerFlag\"),\n      decode: dict.getArray(\"Decode\"),\n      colorFn: fn,\n      colorSpace: cs,\n      numComps: fn ? 1 : cs.numComps,\n    };\n    var reader = new MeshStreamReader(stream, decodeContext);\n\n    var patchMesh = false;\n    switch (this.shadingType) {\n      case ShadingType.FREE_FORM_MESH:\n        decodeType4Shading(this, reader);\n        break;\n      case ShadingType.LATTICE_FORM_MESH:\n        var verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n        if (verticesPerRow < 2) {\n          throw new FormatError(\"Invalid VerticesPerRow\");\n        }\n        decodeType5Shading(this, reader, verticesPerRow);\n        break;\n      case ShadingType.COONS_PATCH_MESH:\n        decodeType6Shading(this, reader);\n        patchMesh = true;\n        break;\n      case ShadingType.TENSOR_PATCH_MESH:\n        decodeType7Shading(this, reader);\n        patchMesh = true;\n        break;\n      default:\n        unreachable(\"Unsupported mesh type.\");\n        break;\n    }\n\n    if (patchMesh) {\n      // dirty bounds calculation for determining, how dense shall be triangles\n      updateBounds(this);\n      for (var i = 0, ii = this.figures.length; i < ii; i++) {\n        buildFigureFromPatch(this, i);\n      }\n    }\n    // calculate bounds\n    updateBounds(this);\n\n    packData(this);\n  }\n\n  Mesh.prototype = {\n    getIR: function Mesh_getIR() {\n      return [\n        \"Mesh\",\n        this.shadingType,\n        this.coords,\n        this.colors,\n        this.figures,\n        this.bounds,\n        this.matrix,\n        this.bbox,\n        this.background,\n      ];\n    },\n  };\n\n  return Mesh;\n})();\n\nShadings.Dummy = (function DummyClosure() {\n  function Dummy() {\n    this.type = \"Pattern\";\n  }\n\n  Dummy.prototype = {\n    getIR: function Dummy_getIR() {\n      return [\"Dummy\"];\n    },\n  };\n  return Dummy;\n})();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n  const matrix = dict.getArray(\"Matrix\");\n  const bbox = Util.normalizeRect(dict.getArray(\"BBox\"));\n  const xstep = dict.get(\"XStep\");\n  const ystep = dict.get(\"YStep\");\n  const paintType = dict.get(\"PaintType\");\n  const tilingType = dict.get(\"TilingType\");\n\n  // Ensure that the pattern has a non-zero width and height, to prevent errors\n  // in `pattern_helper.js` (fixes issue8330.pdf).\n  if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n    throw new FormatError(`Invalid getTilingPatternIR /BBox array: [${bbox}].`);\n  }\n\n  return [\n    \"TilingPattern\",\n    args,\n    operatorList,\n    matrix,\n    bbox,\n    xstep,\n    ystep,\n    paintType,\n    tilingType,\n  ];\n}\n\nexport { Pattern, getTilingPatternIR };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { warn } from \"../shared/util.js\";\n\n// Character types for symbols from 0000 to 00FF.\n// Source: ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt\n// prettier-ignore\nvar baseTypes = [\n  \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\",\n  \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\",\n  \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\",\n  \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\",\n  \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\",\n  \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\",\n  \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\",\n  \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\",\n  \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\",\n  \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\",\n  \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\",\n  \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\",\n  \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"\n];\n\n// Character types for symbols from 0600 to 06FF.\n// Source: ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt\n// Note that 061D does not exist in the Unicode standard (see\n// http://unicode.org/charts/PDF/U0600.pdf), so we replace it with an\n// empty string and issue a warning if we encounter this character. The\n// empty string is required to properly index the items after it.\n// prettier-ignore\nvar arabicTypes = [\n  \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\",\n  \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\",\n  \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\",\n  \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\",\n  \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\",\n  \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\",\n  \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\",\n  \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\",\n  \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\",\n  \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"\n];\n\nfunction isOdd(i) {\n  return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n  return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n  for (var j = start, jj = arr.length; j < jj; ++j) {\n    if (arr[j] !== value) {\n      return j;\n    }\n  }\n  return j;\n}\n\nfunction setValues(arr, start, end, value) {\n  for (var j = start; j < end; ++j) {\n    arr[j] = value;\n  }\n}\n\nfunction reverseValues(arr, start, end) {\n  for (var i = start, j = end - 1; i < j; ++i, --j) {\n    var temp = arr[i];\n    arr[i] = arr[j];\n    arr[j] = temp;\n  }\n}\n\nfunction createBidiText(str, isLTR, vertical = false) {\n  let dir = \"ltr\";\n  if (vertical) {\n    dir = \"ttb\";\n  } else if (!isLTR) {\n    dir = \"rtl\";\n  }\n  return { str, dir };\n}\n\n// These are used in bidi(), which is called frequently. We re-use them on\n// each call to avoid unnecessary allocations.\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n  var isLTR = true;\n  var strLength = str.length;\n  if (strLength === 0 || vertical) {\n    return createBidiText(str, isLTR, vertical);\n  }\n\n  // Get types and fill arrays\n  chars.length = strLength;\n  types.length = strLength;\n  var numBidi = 0;\n\n  var i, ii;\n  for (i = 0; i < strLength; ++i) {\n    chars[i] = str.charAt(i);\n\n    var charCode = str.charCodeAt(i);\n    var charType = \"L\";\n    if (charCode <= 0x00ff) {\n      charType = baseTypes[charCode];\n    } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n      charType = \"R\";\n    } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n      charType = arabicTypes[charCode & 0xff];\n      if (!charType) {\n        warn(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n      }\n    } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n      charType = \"AL\";\n    }\n    if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n      numBidi++;\n    }\n    types[i] = charType;\n  }\n\n  // Detect the bidi method\n  // - If there are no rtl characters then no bidi needed\n  // - If less than 30% chars are rtl then string is primarily ltr\n  // - If more than 30% chars are rtl then string is primarily rtl\n  if (numBidi === 0) {\n    isLTR = true;\n    return createBidiText(str, isLTR);\n  }\n\n  if (startLevel === -1) {\n    if (numBidi / strLength < 0.3) {\n      isLTR = true;\n      startLevel = 0;\n    } else {\n      isLTR = false;\n      startLevel = 1;\n    }\n  }\n\n  var levels = [];\n  for (i = 0; i < strLength; ++i) {\n    levels[i] = startLevel;\n  }\n\n  /*\n   X1-X10: skip most of this, since we are NOT doing the embeddings.\n   */\n  var e = isOdd(startLevel) ? \"R\" : \"L\";\n  var sor = e;\n  var eor = sor;\n\n  /*\n   W1. Examine each non-spacing mark (NSM) in the level run, and change the\n   type of the NSM to the type of the previous character. If the NSM is at the\n   start of the level run, it will get the type of sor.\n   */\n  var lastType = sor;\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"NSM\") {\n      types[i] = lastType;\n    } else {\n      lastType = types[i];\n    }\n  }\n\n  /*\n   W2. Search backwards from each instance of a European number until the\n   first strong type (R, L, AL, or sor) is found.  If an AL is found, change\n   the type of the European number to Arabic number.\n   */\n  lastType = sor;\n  var t;\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === \"EN\") {\n      types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n    } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n      lastType = t;\n    }\n  }\n\n  /*\n   W3. Change all ALs to R.\n   */\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === \"AL\") {\n      types[i] = \"R\";\n    }\n  }\n\n  /*\n   W4. A single European separator between two European numbers changes to a\n   European number. A single common separator between two numbers of the same\n   type changes to that type:\n   */\n  for (i = 1; i < strLength - 1; ++i) {\n    if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n      types[i] = \"EN\";\n    }\n    if (\n      types[i] === \"CS\" &&\n      (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") &&\n      types[i + 1] === types[i - 1]\n    ) {\n      types[i] = types[i - 1];\n    }\n  }\n\n  /*\n   W5. A sequence of European terminators adjacent to European numbers changes\n   to all European numbers:\n   */\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"EN\") {\n      // do before\n      var j;\n      for (j = i - 1; j >= 0; --j) {\n        if (types[j] !== \"ET\") {\n          break;\n        }\n        types[j] = \"EN\";\n      }\n      // do after\n      for (j = i + 1; j < strLength; ++j) {\n        if (types[j] !== \"ET\") {\n          break;\n        }\n        types[j] = \"EN\";\n      }\n    }\n  }\n\n  /*\n   W6. Otherwise, separators and terminators change to Other Neutral:\n   */\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n      types[i] = \"ON\";\n    }\n  }\n\n  /*\n   W7. Search backwards from each instance of a European number until the\n   first strong type (R, L, or sor) is found. If an L is found,  then change\n   the type of the European number to L.\n   */\n  lastType = sor;\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (t === \"EN\") {\n      types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n    } else if (t === \"R\" || t === \"L\") {\n      lastType = t;\n    }\n  }\n\n  /*\n   N1. A sequence of neutrals takes the direction of the surrounding strong\n   text if the text on both sides has the same direction. European and Arabic\n   numbers are treated as though they were R. Start-of-level-run (sor) and\n   end-of-level-run (eor) are used at level run boundaries.\n   */\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"ON\") {\n      var end = findUnequal(types, i + 1, \"ON\");\n      var before = sor;\n      if (i > 0) {\n        before = types[i - 1];\n      }\n\n      var after = eor;\n      if (end + 1 < strLength) {\n        after = types[end + 1];\n      }\n      if (before !== \"L\") {\n        before = \"R\";\n      }\n      if (after !== \"L\") {\n        after = \"R\";\n      }\n      if (before === after) {\n        setValues(types, i, end, before);\n      }\n      i = end - 1; // reset to end (-1 so next iteration is ok)\n    }\n  }\n\n  /*\n   N2. Any remaining neutrals take the embedding direction.\n   */\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"ON\") {\n      types[i] = e;\n    }\n  }\n\n  /*\n   I1. For all characters with an even (left-to-right) embedding direction,\n   those of type R go up one level and those of type AN or EN go up two\n   levels.\n   I2. For all characters with an odd (right-to-left) embedding direction,\n   those of type L, EN or AN go up one level.\n   */\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n    if (isEven(levels[i])) {\n      if (t === \"R\") {\n        levels[i] += 1;\n      } else if (t === \"AN\" || t === \"EN\") {\n        levels[i] += 2;\n      }\n    } else {\n      // isOdd\n      if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n        levels[i] += 1;\n      }\n    }\n  }\n\n  /*\n   L1. On each line, reset the embedding level of the following characters to\n   the paragraph embedding level:\n\n   segment separators,\n   paragraph separators,\n   any sequence of whitespace characters preceding a segment separator or\n   paragraph separator, and any sequence of white space characters at the end\n   of the line.\n   */\n\n  // don't bother as text is only single line\n\n  /*\n   L2. From the highest level found in the text to the lowest odd level on\n   each line, reverse any contiguous sequence of characters that are at that\n   level or higher.\n   */\n\n  // find highest level & lowest odd level\n  var highestLevel = -1;\n  var lowestOddLevel = 99;\n  var level;\n  for (i = 0, ii = levels.length; i < ii; ++i) {\n    level = levels[i];\n    if (highestLevel < level) {\n      highestLevel = level;\n    }\n    if (lowestOddLevel > level && isOdd(level)) {\n      lowestOddLevel = level;\n    }\n  }\n\n  // now reverse between those limits\n  for (level = highestLevel; level >= lowestOddLevel; --level) {\n    // find segments to reverse\n    var start = -1;\n    for (i = 0, ii = levels.length; i < ii; ++i) {\n      if (levels[i] < level) {\n        if (start >= 0) {\n          reverseValues(chars, start, i);\n          start = -1;\n        }\n      } else if (start < 0) {\n        start = i;\n      }\n    }\n    if (start >= 0) {\n      reverseValues(chars, start, levels.length);\n    }\n  }\n\n  /*\n   L3. Combining marks applied to a right-to-left base character will at this\n   point precede their base character. If the rendering engine expects them to\n   follow the base characters in the final display process, then the ordering\n   of the marks and the base character must be reversed.\n   */\n\n  // don't bother for now\n\n  /*\n   L4. A character that possesses the mirrored property as specified by\n   Section 4.7, Mirrored, must be depicted by a mirrored glyph if the resolved\n   directionality of that character is R.\n   */\n\n  // don't mirror as characters are already mirrored in the pdf\n\n  // Finally, return string\n  for (i = 0, ii = chars.length; i < ii; ++i) {\n    var ch = chars[i];\n    if (ch === \"<\" || ch === \">\") {\n      chars[i] = \"\";\n    }\n  }\n  return createBidiText(chars.join(\"\"), isLTR);\n}\n\nexport { bidi };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { getLookupTableFactory } from \"./core_utils.js\";\n\n// The Metrics object contains glyph widths (in glyph space units).\n// As per PDF spec, for most fonts (Type 3 being an exception) a glyph\n// space unit corresponds to 1/1000th of text space unit.\nvar getMetrics = getLookupTableFactory(function(t) {\n  t[\"Courier\"] = 600;\n  t[\"Courier-Bold\"] = 600;\n  t[\"Courier-BoldOblique\"] = 600;\n  t[\"Courier-Oblique\"] = 600;\n  t[\"Helvetica\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 278;\n    t[\"exclam\"] = 278;\n    t[\"quotedbl\"] = 355;\n    t[\"numbersign\"] = 556;\n    t[\"dollar\"] = 556;\n    t[\"percent\"] = 889;\n    t[\"ampersand\"] = 667;\n    t[\"quoteright\"] = 222;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 389;\n    t[\"plus\"] = 584;\n    t[\"comma\"] = 278;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 278;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 556;\n    t[\"one\"] = 556;\n    t[\"two\"] = 556;\n    t[\"three\"] = 556;\n    t[\"four\"] = 556;\n    t[\"five\"] = 556;\n    t[\"six\"] = 556;\n    t[\"seven\"] = 556;\n    t[\"eight\"] = 556;\n    t[\"nine\"] = 556;\n    t[\"colon\"] = 278;\n    t[\"semicolon\"] = 278;\n    t[\"less\"] = 584;\n    t[\"equal\"] = 584;\n    t[\"greater\"] = 584;\n    t[\"question\"] = 556;\n    t[\"at\"] = 1015;\n    t[\"A\"] = 667;\n    t[\"B\"] = 667;\n    t[\"C\"] = 722;\n    t[\"D\"] = 722;\n    t[\"E\"] = 667;\n    t[\"F\"] = 611;\n    t[\"G\"] = 778;\n    t[\"H\"] = 722;\n    t[\"I\"] = 278;\n    t[\"J\"] = 500;\n    t[\"K\"] = 667;\n    t[\"L\"] = 556;\n    t[\"M\"] = 833;\n    t[\"N\"] = 722;\n    t[\"O\"] = 778;\n    t[\"P\"] = 667;\n    t[\"Q\"] = 778;\n    t[\"R\"] = 722;\n    t[\"S\"] = 667;\n    t[\"T\"] = 611;\n    t[\"U\"] = 722;\n    t[\"V\"] = 667;\n    t[\"W\"] = 944;\n    t[\"X\"] = 667;\n    t[\"Y\"] = 667;\n    t[\"Z\"] = 611;\n    t[\"bracketleft\"] = 278;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 278;\n    t[\"asciicircum\"] = 469;\n    t[\"underscore\"] = 556;\n    t[\"quoteleft\"] = 222;\n    t[\"a\"] = 556;\n    t[\"b\"] = 556;\n    t[\"c\"] = 500;\n    t[\"d\"] = 556;\n    t[\"e\"] = 556;\n    t[\"f\"] = 278;\n    t[\"g\"] = 556;\n    t[\"h\"] = 556;\n    t[\"i\"] = 222;\n    t[\"j\"] = 222;\n    t[\"k\"] = 500;\n    t[\"l\"] = 222;\n    t[\"m\"] = 833;\n    t[\"n\"] = 556;\n    t[\"o\"] = 556;\n    t[\"p\"] = 556;\n    t[\"q\"] = 556;\n    t[\"r\"] = 333;\n    t[\"s\"] = 500;\n    t[\"t\"] = 278;\n    t[\"u\"] = 556;\n    t[\"v\"] = 500;\n    t[\"w\"] = 722;\n    t[\"x\"] = 500;\n    t[\"y\"] = 500;\n    t[\"z\"] = 500;\n    t[\"braceleft\"] = 334;\n    t[\"bar\"] = 260;\n    t[\"braceright\"] = 334;\n    t[\"asciitilde\"] = 584;\n    t[\"exclamdown\"] = 333;\n    t[\"cent\"] = 556;\n    t[\"sterling\"] = 556;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 556;\n    t[\"florin\"] = 556;\n    t[\"section\"] = 556;\n    t[\"currency\"] = 556;\n    t[\"quotesingle\"] = 191;\n    t[\"quotedblleft\"] = 333;\n    t[\"guillemotleft\"] = 556;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 500;\n    t[\"fl\"] = 500;\n    t[\"endash\"] = 556;\n    t[\"dagger\"] = 556;\n    t[\"daggerdbl\"] = 556;\n    t[\"periodcentered\"] = 278;\n    t[\"paragraph\"] = 537;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 222;\n    t[\"quotedblbase\"] = 333;\n    t[\"quotedblright\"] = 333;\n    t[\"guillemotright\"] = 556;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 611;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 1000;\n    t[\"ordfeminine\"] = 370;\n    t[\"Lslash\"] = 556;\n    t[\"Oslash\"] = 778;\n    t[\"OE\"] = 1000;\n    t[\"ordmasculine\"] = 365;\n    t[\"ae\"] = 889;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 222;\n    t[\"oslash\"] = 611;\n    t[\"oe\"] = 944;\n    t[\"germandbls\"] = 611;\n    t[\"Idieresis\"] = 278;\n    t[\"eacute\"] = 556;\n    t[\"abreve\"] = 556;\n    t[\"uhungarumlaut\"] = 556;\n    t[\"ecaron\"] = 556;\n    t[\"Ydieresis\"] = 667;\n    t[\"divide\"] = 584;\n    t[\"Yacute\"] = 667;\n    t[\"Acircumflex\"] = 667;\n    t[\"aacute\"] = 556;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 500;\n    t[\"scommaaccent\"] = 500;\n    t[\"ecircumflex\"] = 556;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 556;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 556;\n    t[\"Edieresis\"] = 667;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 737;\n    t[\"Emacron\"] = 667;\n    t[\"ccaron\"] = 500;\n    t[\"aring\"] = 556;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 222;\n    t[\"agrave\"] = 556;\n    t[\"Tcommaaccent\"] = 611;\n    t[\"Cacute\"] = 722;\n    t[\"atilde\"] = 556;\n    t[\"Edotaccent\"] = 667;\n    t[\"scaron\"] = 500;\n    t[\"scedilla\"] = 500;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 471;\n    t[\"Rcaron\"] = 722;\n    t[\"Gcommaaccent\"] = 778;\n    t[\"ucircumflex\"] = 556;\n    t[\"acircumflex\"] = 556;\n    t[\"Amacron\"] = 667;\n    t[\"rcaron\"] = 333;\n    t[\"ccedilla\"] = 500;\n    t[\"Zdotaccent\"] = 611;\n    t[\"Thorn\"] = 667;\n    t[\"Omacron\"] = 778;\n    t[\"Racute\"] = 722;\n    t[\"Sacute\"] = 667;\n    t[\"dcaron\"] = 643;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 556;\n    t[\"threesuperior\"] = 333;\n    t[\"Ograve\"] = 778;\n    t[\"Agrave\"] = 667;\n    t[\"Abreve\"] = 667;\n    t[\"multiply\"] = 584;\n    t[\"uacute\"] = 556;\n    t[\"Tcaron\"] = 611;\n    t[\"partialdiff\"] = 476;\n    t[\"ydieresis\"] = 500;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 667;\n    t[\"adieresis\"] = 556;\n    t[\"edieresis\"] = 556;\n    t[\"cacute\"] = 500;\n    t[\"nacute\"] = 556;\n    t[\"umacron\"] = 556;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 278;\n    t[\"plusminus\"] = 584;\n    t[\"brokenbar\"] = 260;\n    t[\"registered\"] = 737;\n    t[\"Gbreve\"] = 778;\n    t[\"Idotaccent\"] = 278;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 667;\n    t[\"racute\"] = 333;\n    t[\"omacron\"] = 556;\n    t[\"Zacute\"] = 611;\n    t[\"Zcaron\"] = 611;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 722;\n    t[\"lcommaaccent\"] = 222;\n    t[\"tcaron\"] = 317;\n    t[\"eogonek\"] = 556;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 667;\n    t[\"Adieresis\"] = 667;\n    t[\"egrave\"] = 556;\n    t[\"zacute\"] = 500;\n    t[\"iogonek\"] = 222;\n    t[\"Oacute\"] = 778;\n    t[\"oacute\"] = 556;\n    t[\"amacron\"] = 556;\n    t[\"sacute\"] = 500;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 778;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 556;\n    t[\"twosuperior\"] = 333;\n    t[\"Odieresis\"] = 778;\n    t[\"mu\"] = 556;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 556;\n    t[\"Eogonek\"] = 667;\n    t[\"dcroat\"] = 556;\n    t[\"threequarters\"] = 834;\n    t[\"Scedilla\"] = 667;\n    t[\"lcaron\"] = 299;\n    t[\"Kcommaaccent\"] = 667;\n    t[\"Lacute\"] = 556;\n    t[\"trademark\"] = 1000;\n    t[\"edotaccent\"] = 556;\n    t[\"Igrave\"] = 278;\n    t[\"Imacron\"] = 278;\n    t[\"Lcaron\"] = 556;\n    t[\"onehalf\"] = 834;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 556;\n    t[\"ntilde\"] = 556;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 667;\n    t[\"emacron\"] = 556;\n    t[\"gbreve\"] = 556;\n    t[\"onequarter\"] = 834;\n    t[\"Scaron\"] = 667;\n    t[\"Scommaaccent\"] = 667;\n    t[\"Ohungarumlaut\"] = 778;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 556;\n    t[\"Ccaron\"] = 722;\n    t[\"ugrave\"] = 556;\n    t[\"radical\"] = 453;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 333;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 556;\n    t[\"Rcommaaccent\"] = 722;\n    t[\"Lcommaaccent\"] = 556;\n    t[\"Atilde\"] = 667;\n    t[\"Aogonek\"] = 667;\n    t[\"Aring\"] = 667;\n    t[\"Otilde\"] = 778;\n    t[\"zdotaccent\"] = 500;\n    t[\"Ecaron\"] = 667;\n    t[\"Iogonek\"] = 278;\n    t[\"kcommaaccent\"] = 500;\n    t[\"minus\"] = 584;\n    t[\"Icircumflex\"] = 278;\n    t[\"ncaron\"] = 556;\n    t[\"tcommaaccent\"] = 278;\n    t[\"logicalnot\"] = 584;\n    t[\"odieresis\"] = 556;\n    t[\"udieresis\"] = 556;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 556;\n    t[\"eth\"] = 556;\n    t[\"zcaron\"] = 500;\n    t[\"ncommaaccent\"] = 556;\n    t[\"onesuperior\"] = 333;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 556;\n  });\n  t[\"Helvetica-Bold\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 278;\n    t[\"exclam\"] = 333;\n    t[\"quotedbl\"] = 474;\n    t[\"numbersign\"] = 556;\n    t[\"dollar\"] = 556;\n    t[\"percent\"] = 889;\n    t[\"ampersand\"] = 722;\n    t[\"quoteright\"] = 278;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 389;\n    t[\"plus\"] = 584;\n    t[\"comma\"] = 278;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 278;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 556;\n    t[\"one\"] = 556;\n    t[\"two\"] = 556;\n    t[\"three\"] = 556;\n    t[\"four\"] = 556;\n    t[\"five\"] = 556;\n    t[\"six\"] = 556;\n    t[\"seven\"] = 556;\n    t[\"eight\"] = 556;\n    t[\"nine\"] = 556;\n    t[\"colon\"] = 333;\n    t[\"semicolon\"] = 333;\n    t[\"less\"] = 584;\n    t[\"equal\"] = 584;\n    t[\"greater\"] = 584;\n    t[\"question\"] = 611;\n    t[\"at\"] = 975;\n    t[\"A\"] = 722;\n    t[\"B\"] = 722;\n    t[\"C\"] = 722;\n    t[\"D\"] = 722;\n    t[\"E\"] = 667;\n    t[\"F\"] = 611;\n    t[\"G\"] = 778;\n    t[\"H\"] = 722;\n    t[\"I\"] = 278;\n    t[\"J\"] = 556;\n    t[\"K\"] = 722;\n    t[\"L\"] = 611;\n    t[\"M\"] = 833;\n    t[\"N\"] = 722;\n    t[\"O\"] = 778;\n    t[\"P\"] = 667;\n    t[\"Q\"] = 778;\n    t[\"R\"] = 722;\n    t[\"S\"] = 667;\n    t[\"T\"] = 611;\n    t[\"U\"] = 722;\n    t[\"V\"] = 667;\n    t[\"W\"] = 944;\n    t[\"X\"] = 667;\n    t[\"Y\"] = 667;\n    t[\"Z\"] = 611;\n    t[\"bracketleft\"] = 333;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 333;\n    t[\"asciicircum\"] = 584;\n    t[\"underscore\"] = 556;\n    t[\"quoteleft\"] = 278;\n    t[\"a\"] = 556;\n    t[\"b\"] = 611;\n    t[\"c\"] = 556;\n    t[\"d\"] = 611;\n    t[\"e\"] = 556;\n    t[\"f\"] = 333;\n    t[\"g\"] = 611;\n    t[\"h\"] = 611;\n    t[\"i\"] = 278;\n    t[\"j\"] = 278;\n    t[\"k\"] = 556;\n    t[\"l\"] = 278;\n    t[\"m\"] = 889;\n    t[\"n\"] = 611;\n    t[\"o\"] = 611;\n    t[\"p\"] = 611;\n    t[\"q\"] = 611;\n    t[\"r\"] = 389;\n    t[\"s\"] = 556;\n    t[\"t\"] = 333;\n    t[\"u\"] = 611;\n    t[\"v\"] = 556;\n    t[\"w\"] = 778;\n    t[\"x\"] = 556;\n    t[\"y\"] = 556;\n    t[\"z\"] = 500;\n    t[\"braceleft\"] = 389;\n    t[\"bar\"] = 280;\n    t[\"braceright\"] = 389;\n    t[\"asciitilde\"] = 584;\n    t[\"exclamdown\"] = 333;\n    t[\"cent\"] = 556;\n    t[\"sterling\"] = 556;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 556;\n    t[\"florin\"] = 556;\n    t[\"section\"] = 556;\n    t[\"currency\"] = 556;\n    t[\"quotesingle\"] = 238;\n    t[\"quotedblleft\"] = 500;\n    t[\"guillemotleft\"] = 556;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 611;\n    t[\"fl\"] = 611;\n    t[\"endash\"] = 556;\n    t[\"dagger\"] = 556;\n    t[\"daggerdbl\"] = 556;\n    t[\"periodcentered\"] = 278;\n    t[\"paragraph\"] = 556;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 278;\n    t[\"quotedblbase\"] = 500;\n    t[\"quotedblright\"] = 500;\n    t[\"guillemotright\"] = 556;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 611;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 1000;\n    t[\"ordfeminine\"] = 370;\n    t[\"Lslash\"] = 611;\n    t[\"Oslash\"] = 778;\n    t[\"OE\"] = 1000;\n    t[\"ordmasculine\"] = 365;\n    t[\"ae\"] = 889;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 278;\n    t[\"oslash\"] = 611;\n    t[\"oe\"] = 944;\n    t[\"germandbls\"] = 611;\n    t[\"Idieresis\"] = 278;\n    t[\"eacute\"] = 556;\n    t[\"abreve\"] = 556;\n    t[\"uhungarumlaut\"] = 611;\n    t[\"ecaron\"] = 556;\n    t[\"Ydieresis\"] = 667;\n    t[\"divide\"] = 584;\n    t[\"Yacute\"] = 667;\n    t[\"Acircumflex\"] = 722;\n    t[\"aacute\"] = 556;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 556;\n    t[\"scommaaccent\"] = 556;\n    t[\"ecircumflex\"] = 556;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 556;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 611;\n    t[\"Edieresis\"] = 667;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 737;\n    t[\"Emacron\"] = 667;\n    t[\"ccaron\"] = 556;\n    t[\"aring\"] = 556;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 278;\n    t[\"agrave\"] = 556;\n    t[\"Tcommaaccent\"] = 611;\n    t[\"Cacute\"] = 722;\n    t[\"atilde\"] = 556;\n    t[\"Edotaccent\"] = 667;\n    t[\"scaron\"] = 556;\n    t[\"scedilla\"] = 556;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 494;\n    t[\"Rcaron\"] = 722;\n    t[\"Gcommaaccent\"] = 778;\n    t[\"ucircumflex\"] = 611;\n    t[\"acircumflex\"] = 556;\n    t[\"Amacron\"] = 722;\n    t[\"rcaron\"] = 389;\n    t[\"ccedilla\"] = 556;\n    t[\"Zdotaccent\"] = 611;\n    t[\"Thorn\"] = 667;\n    t[\"Omacron\"] = 778;\n    t[\"Racute\"] = 722;\n    t[\"Sacute\"] = 667;\n    t[\"dcaron\"] = 743;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 611;\n    t[\"threesuperior\"] = 333;\n    t[\"Ograve\"] = 778;\n    t[\"Agrave\"] = 722;\n    t[\"Abreve\"] = 722;\n    t[\"multiply\"] = 584;\n    t[\"uacute\"] = 611;\n    t[\"Tcaron\"] = 611;\n    t[\"partialdiff\"] = 494;\n    t[\"ydieresis\"] = 556;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 667;\n    t[\"adieresis\"] = 556;\n    t[\"edieresis\"] = 556;\n    t[\"cacute\"] = 556;\n    t[\"nacute\"] = 611;\n    t[\"umacron\"] = 611;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 278;\n    t[\"plusminus\"] = 584;\n    t[\"brokenbar\"] = 280;\n    t[\"registered\"] = 737;\n    t[\"Gbreve\"] = 778;\n    t[\"Idotaccent\"] = 278;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 667;\n    t[\"racute\"] = 389;\n    t[\"omacron\"] = 611;\n    t[\"Zacute\"] = 611;\n    t[\"Zcaron\"] = 611;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 722;\n    t[\"lcommaaccent\"] = 278;\n    t[\"tcaron\"] = 389;\n    t[\"eogonek\"] = 556;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 722;\n    t[\"Adieresis\"] = 722;\n    t[\"egrave\"] = 556;\n    t[\"zacute\"] = 500;\n    t[\"iogonek\"] = 278;\n    t[\"Oacute\"] = 778;\n    t[\"oacute\"] = 611;\n    t[\"amacron\"] = 556;\n    t[\"sacute\"] = 556;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 778;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 611;\n    t[\"twosuperior\"] = 333;\n    t[\"Odieresis\"] = 778;\n    t[\"mu\"] = 611;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 611;\n    t[\"Eogonek\"] = 667;\n    t[\"dcroat\"] = 611;\n    t[\"threequarters\"] = 834;\n    t[\"Scedilla\"] = 667;\n    t[\"lcaron\"] = 400;\n    t[\"Kcommaaccent\"] = 722;\n    t[\"Lacute\"] = 611;\n    t[\"trademark\"] = 1000;\n    t[\"edotaccent\"] = 556;\n    t[\"Igrave\"] = 278;\n    t[\"Imacron\"] = 278;\n    t[\"Lcaron\"] = 611;\n    t[\"onehalf\"] = 834;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 611;\n    t[\"ntilde\"] = 611;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 667;\n    t[\"emacron\"] = 556;\n    t[\"gbreve\"] = 611;\n    t[\"onequarter\"] = 834;\n    t[\"Scaron\"] = 667;\n    t[\"Scommaaccent\"] = 667;\n    t[\"Ohungarumlaut\"] = 778;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 611;\n    t[\"Ccaron\"] = 722;\n    t[\"ugrave\"] = 611;\n    t[\"radical\"] = 549;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 389;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 611;\n    t[\"Rcommaaccent\"] = 722;\n    t[\"Lcommaaccent\"] = 611;\n    t[\"Atilde\"] = 722;\n    t[\"Aogonek\"] = 722;\n    t[\"Aring\"] = 722;\n    t[\"Otilde\"] = 778;\n    t[\"zdotaccent\"] = 500;\n    t[\"Ecaron\"] = 667;\n    t[\"Iogonek\"] = 278;\n    t[\"kcommaaccent\"] = 556;\n    t[\"minus\"] = 584;\n    t[\"Icircumflex\"] = 278;\n    t[\"ncaron\"] = 611;\n    t[\"tcommaaccent\"] = 333;\n    t[\"logicalnot\"] = 584;\n    t[\"odieresis\"] = 611;\n    t[\"udieresis\"] = 611;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 611;\n    t[\"eth\"] = 611;\n    t[\"zcaron\"] = 500;\n    t[\"ncommaaccent\"] = 611;\n    t[\"onesuperior\"] = 333;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 556;\n  });\n  t[\"Helvetica-BoldOblique\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 278;\n    t[\"exclam\"] = 333;\n    t[\"quotedbl\"] = 474;\n    t[\"numbersign\"] = 556;\n    t[\"dollar\"] = 556;\n    t[\"percent\"] = 889;\n    t[\"ampersand\"] = 722;\n    t[\"quoteright\"] = 278;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 389;\n    t[\"plus\"] = 584;\n    t[\"comma\"] = 278;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 278;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 556;\n    t[\"one\"] = 556;\n    t[\"two\"] = 556;\n    t[\"three\"] = 556;\n    t[\"four\"] = 556;\n    t[\"five\"] = 556;\n    t[\"six\"] = 556;\n    t[\"seven\"] = 556;\n    t[\"eight\"] = 556;\n    t[\"nine\"] = 556;\n    t[\"colon\"] = 333;\n    t[\"semicolon\"] = 333;\n    t[\"less\"] = 584;\n    t[\"equal\"] = 584;\n    t[\"greater\"] = 584;\n    t[\"question\"] = 611;\n    t[\"at\"] = 975;\n    t[\"A\"] = 722;\n    t[\"B\"] = 722;\n    t[\"C\"] = 722;\n    t[\"D\"] = 722;\n    t[\"E\"] = 667;\n    t[\"F\"] = 611;\n    t[\"G\"] = 778;\n    t[\"H\"] = 722;\n    t[\"I\"] = 278;\n    t[\"J\"] = 556;\n    t[\"K\"] = 722;\n    t[\"L\"] = 611;\n    t[\"M\"] = 833;\n    t[\"N\"] = 722;\n    t[\"O\"] = 778;\n    t[\"P\"] = 667;\n    t[\"Q\"] = 778;\n    t[\"R\"] = 722;\n    t[\"S\"] = 667;\n    t[\"T\"] = 611;\n    t[\"U\"] = 722;\n    t[\"V\"] = 667;\n    t[\"W\"] = 944;\n    t[\"X\"] = 667;\n    t[\"Y\"] = 667;\n    t[\"Z\"] = 611;\n    t[\"bracketleft\"] = 333;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 333;\n    t[\"asciicircum\"] = 584;\n    t[\"underscore\"] = 556;\n    t[\"quoteleft\"] = 278;\n    t[\"a\"] = 556;\n    t[\"b\"] = 611;\n    t[\"c\"] = 556;\n    t[\"d\"] = 611;\n    t[\"e\"] = 556;\n    t[\"f\"] = 333;\n    t[\"g\"] = 611;\n    t[\"h\"] = 611;\n    t[\"i\"] = 278;\n    t[\"j\"] = 278;\n    t[\"k\"] = 556;\n    t[\"l\"] = 278;\n    t[\"m\"] = 889;\n    t[\"n\"] = 611;\n    t[\"o\"] = 611;\n    t[\"p\"] = 611;\n    t[\"q\"] = 611;\n    t[\"r\"] = 389;\n    t[\"s\"] = 556;\n    t[\"t\"] = 333;\n    t[\"u\"] = 611;\n    t[\"v\"] = 556;\n    t[\"w\"] = 778;\n    t[\"x\"] = 556;\n    t[\"y\"] = 556;\n    t[\"z\"] = 500;\n    t[\"braceleft\"] = 389;\n    t[\"bar\"] = 280;\n    t[\"braceright\"] = 389;\n    t[\"asciitilde\"] = 584;\n    t[\"exclamdown\"] = 333;\n    t[\"cent\"] = 556;\n    t[\"sterling\"] = 556;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 556;\n    t[\"florin\"] = 556;\n    t[\"section\"] = 556;\n    t[\"currency\"] = 556;\n    t[\"quotesingle\"] = 238;\n    t[\"quotedblleft\"] = 500;\n    t[\"guillemotleft\"] = 556;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 611;\n    t[\"fl\"] = 611;\n    t[\"endash\"] = 556;\n    t[\"dagger\"] = 556;\n    t[\"daggerdbl\"] = 556;\n    t[\"periodcentered\"] = 278;\n    t[\"paragraph\"] = 556;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 278;\n    t[\"quotedblbase\"] = 500;\n    t[\"quotedblright\"] = 500;\n    t[\"guillemotright\"] = 556;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 611;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 1000;\n    t[\"ordfeminine\"] = 370;\n    t[\"Lslash\"] = 611;\n    t[\"Oslash\"] = 778;\n    t[\"OE\"] = 1000;\n    t[\"ordmasculine\"] = 365;\n    t[\"ae\"] = 889;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 278;\n    t[\"oslash\"] = 611;\n    t[\"oe\"] = 944;\n    t[\"germandbls\"] = 611;\n    t[\"Idieresis\"] = 278;\n    t[\"eacute\"] = 556;\n    t[\"abreve\"] = 556;\n    t[\"uhungarumlaut\"] = 611;\n    t[\"ecaron\"] = 556;\n    t[\"Ydieresis\"] = 667;\n    t[\"divide\"] = 584;\n    t[\"Yacute\"] = 667;\n    t[\"Acircumflex\"] = 722;\n    t[\"aacute\"] = 556;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 556;\n    t[\"scommaaccent\"] = 556;\n    t[\"ecircumflex\"] = 556;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 556;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 611;\n    t[\"Edieresis\"] = 667;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 737;\n    t[\"Emacron\"] = 667;\n    t[\"ccaron\"] = 556;\n    t[\"aring\"] = 556;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 278;\n    t[\"agrave\"] = 556;\n    t[\"Tcommaaccent\"] = 611;\n    t[\"Cacute\"] = 722;\n    t[\"atilde\"] = 556;\n    t[\"Edotaccent\"] = 667;\n    t[\"scaron\"] = 556;\n    t[\"scedilla\"] = 556;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 494;\n    t[\"Rcaron\"] = 722;\n    t[\"Gcommaaccent\"] = 778;\n    t[\"ucircumflex\"] = 611;\n    t[\"acircumflex\"] = 556;\n    t[\"Amacron\"] = 722;\n    t[\"rcaron\"] = 389;\n    t[\"ccedilla\"] = 556;\n    t[\"Zdotaccent\"] = 611;\n    t[\"Thorn\"] = 667;\n    t[\"Omacron\"] = 778;\n    t[\"Racute\"] = 722;\n    t[\"Sacute\"] = 667;\n    t[\"dcaron\"] = 743;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 611;\n    t[\"threesuperior\"] = 333;\n    t[\"Ograve\"] = 778;\n    t[\"Agrave\"] = 722;\n    t[\"Abreve\"] = 722;\n    t[\"multiply\"] = 584;\n    t[\"uacute\"] = 611;\n    t[\"Tcaron\"] = 611;\n    t[\"partialdiff\"] = 494;\n    t[\"ydieresis\"] = 556;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 667;\n    t[\"adieresis\"] = 556;\n    t[\"edieresis\"] = 556;\n    t[\"cacute\"] = 556;\n    t[\"nacute\"] = 611;\n    t[\"umacron\"] = 611;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 278;\n    t[\"plusminus\"] = 584;\n    t[\"brokenbar\"] = 280;\n    t[\"registered\"] = 737;\n    t[\"Gbreve\"] = 778;\n    t[\"Idotaccent\"] = 278;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 667;\n    t[\"racute\"] = 389;\n    t[\"omacron\"] = 611;\n    t[\"Zacute\"] = 611;\n    t[\"Zcaron\"] = 611;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 722;\n    t[\"lcommaaccent\"] = 278;\n    t[\"tcaron\"] = 389;\n    t[\"eogonek\"] = 556;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 722;\n    t[\"Adieresis\"] = 722;\n    t[\"egrave\"] = 556;\n    t[\"zacute\"] = 500;\n    t[\"iogonek\"] = 278;\n    t[\"Oacute\"] = 778;\n    t[\"oacute\"] = 611;\n    t[\"amacron\"] = 556;\n    t[\"sacute\"] = 556;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 778;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 611;\n    t[\"twosuperior\"] = 333;\n    t[\"Odieresis\"] = 778;\n    t[\"mu\"] = 611;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 611;\n    t[\"Eogonek\"] = 667;\n    t[\"dcroat\"] = 611;\n    t[\"threequarters\"] = 834;\n    t[\"Scedilla\"] = 667;\n    t[\"lcaron\"] = 400;\n    t[\"Kcommaaccent\"] = 722;\n    t[\"Lacute\"] = 611;\n    t[\"trademark\"] = 1000;\n    t[\"edotaccent\"] = 556;\n    t[\"Igrave\"] = 278;\n    t[\"Imacron\"] = 278;\n    t[\"Lcaron\"] = 611;\n    t[\"onehalf\"] = 834;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 611;\n    t[\"ntilde\"] = 611;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 667;\n    t[\"emacron\"] = 556;\n    t[\"gbreve\"] = 611;\n    t[\"onequarter\"] = 834;\n    t[\"Scaron\"] = 667;\n    t[\"Scommaaccent\"] = 667;\n    t[\"Ohungarumlaut\"] = 778;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 611;\n    t[\"Ccaron\"] = 722;\n    t[\"ugrave\"] = 611;\n    t[\"radical\"] = 549;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 389;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 611;\n    t[\"Rcommaaccent\"] = 722;\n    t[\"Lcommaaccent\"] = 611;\n    t[\"Atilde\"] = 722;\n    t[\"Aogonek\"] = 722;\n    t[\"Aring\"] = 722;\n    t[\"Otilde\"] = 778;\n    t[\"zdotaccent\"] = 500;\n    t[\"Ecaron\"] = 667;\n    t[\"Iogonek\"] = 278;\n    t[\"kcommaaccent\"] = 556;\n    t[\"minus\"] = 584;\n    t[\"Icircumflex\"] = 278;\n    t[\"ncaron\"] = 611;\n    t[\"tcommaaccent\"] = 333;\n    t[\"logicalnot\"] = 584;\n    t[\"odieresis\"] = 611;\n    t[\"udieresis\"] = 611;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 611;\n    t[\"eth\"] = 611;\n    t[\"zcaron\"] = 500;\n    t[\"ncommaaccent\"] = 611;\n    t[\"onesuperior\"] = 333;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 556;\n  });\n  t[\"Helvetica-Oblique\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 278;\n    t[\"exclam\"] = 278;\n    t[\"quotedbl\"] = 355;\n    t[\"numbersign\"] = 556;\n    t[\"dollar\"] = 556;\n    t[\"percent\"] = 889;\n    t[\"ampersand\"] = 667;\n    t[\"quoteright\"] = 222;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 389;\n    t[\"plus\"] = 584;\n    t[\"comma\"] = 278;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 278;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 556;\n    t[\"one\"] = 556;\n    t[\"two\"] = 556;\n    t[\"three\"] = 556;\n    t[\"four\"] = 556;\n    t[\"five\"] = 556;\n    t[\"six\"] = 556;\n    t[\"seven\"] = 556;\n    t[\"eight\"] = 556;\n    t[\"nine\"] = 556;\n    t[\"colon\"] = 278;\n    t[\"semicolon\"] = 278;\n    t[\"less\"] = 584;\n    t[\"equal\"] = 584;\n    t[\"greater\"] = 584;\n    t[\"question\"] = 556;\n    t[\"at\"] = 1015;\n    t[\"A\"] = 667;\n    t[\"B\"] = 667;\n    t[\"C\"] = 722;\n    t[\"D\"] = 722;\n    t[\"E\"] = 667;\n    t[\"F\"] = 611;\n    t[\"G\"] = 778;\n    t[\"H\"] = 722;\n    t[\"I\"] = 278;\n    t[\"J\"] = 500;\n    t[\"K\"] = 667;\n    t[\"L\"] = 556;\n    t[\"M\"] = 833;\n    t[\"N\"] = 722;\n    t[\"O\"] = 778;\n    t[\"P\"] = 667;\n    t[\"Q\"] = 778;\n    t[\"R\"] = 722;\n    t[\"S\"] = 667;\n    t[\"T\"] = 611;\n    t[\"U\"] = 722;\n    t[\"V\"] = 667;\n    t[\"W\"] = 944;\n    t[\"X\"] = 667;\n    t[\"Y\"] = 667;\n    t[\"Z\"] = 611;\n    t[\"bracketleft\"] = 278;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 278;\n    t[\"asciicircum\"] = 469;\n    t[\"underscore\"] = 556;\n    t[\"quoteleft\"] = 222;\n    t[\"a\"] = 556;\n    t[\"b\"] = 556;\n    t[\"c\"] = 500;\n    t[\"d\"] = 556;\n    t[\"e\"] = 556;\n    t[\"f\"] = 278;\n    t[\"g\"] = 556;\n    t[\"h\"] = 556;\n    t[\"i\"] = 222;\n    t[\"j\"] = 222;\n    t[\"k\"] = 500;\n    t[\"l\"] = 222;\n    t[\"m\"] = 833;\n    t[\"n\"] = 556;\n    t[\"o\"] = 556;\n    t[\"p\"] = 556;\n    t[\"q\"] = 556;\n    t[\"r\"] = 333;\n    t[\"s\"] = 500;\n    t[\"t\"] = 278;\n    t[\"u\"] = 556;\n    t[\"v\"] = 500;\n    t[\"w\"] = 722;\n    t[\"x\"] = 500;\n    t[\"y\"] = 500;\n    t[\"z\"] = 500;\n    t[\"braceleft\"] = 334;\n    t[\"bar\"] = 260;\n    t[\"braceright\"] = 334;\n    t[\"asciitilde\"] = 584;\n    t[\"exclamdown\"] = 333;\n    t[\"cent\"] = 556;\n    t[\"sterling\"] = 556;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 556;\n    t[\"florin\"] = 556;\n    t[\"section\"] = 556;\n    t[\"currency\"] = 556;\n    t[\"quotesingle\"] = 191;\n    t[\"quotedblleft\"] = 333;\n    t[\"guillemotleft\"] = 556;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 500;\n    t[\"fl\"] = 500;\n    t[\"endash\"] = 556;\n    t[\"dagger\"] = 556;\n    t[\"daggerdbl\"] = 556;\n    t[\"periodcentered\"] = 278;\n    t[\"paragraph\"] = 537;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 222;\n    t[\"quotedblbase\"] = 333;\n    t[\"quotedblright\"] = 333;\n    t[\"guillemotright\"] = 556;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 611;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 1000;\n    t[\"ordfeminine\"] = 370;\n    t[\"Lslash\"] = 556;\n    t[\"Oslash\"] = 778;\n    t[\"OE\"] = 1000;\n    t[\"ordmasculine\"] = 365;\n    t[\"ae\"] = 889;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 222;\n    t[\"oslash\"] = 611;\n    t[\"oe\"] = 944;\n    t[\"germandbls\"] = 611;\n    t[\"Idieresis\"] = 278;\n    t[\"eacute\"] = 556;\n    t[\"abreve\"] = 556;\n    t[\"uhungarumlaut\"] = 556;\n    t[\"ecaron\"] = 556;\n    t[\"Ydieresis\"] = 667;\n    t[\"divide\"] = 584;\n    t[\"Yacute\"] = 667;\n    t[\"Acircumflex\"] = 667;\n    t[\"aacute\"] = 556;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 500;\n    t[\"scommaaccent\"] = 500;\n    t[\"ecircumflex\"] = 556;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 556;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 556;\n    t[\"Edieresis\"] = 667;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 737;\n    t[\"Emacron\"] = 667;\n    t[\"ccaron\"] = 500;\n    t[\"aring\"] = 556;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 222;\n    t[\"agrave\"] = 556;\n    t[\"Tcommaaccent\"] = 611;\n    t[\"Cacute\"] = 722;\n    t[\"atilde\"] = 556;\n    t[\"Edotaccent\"] = 667;\n    t[\"scaron\"] = 500;\n    t[\"scedilla\"] = 500;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 471;\n    t[\"Rcaron\"] = 722;\n    t[\"Gcommaaccent\"] = 778;\n    t[\"ucircumflex\"] = 556;\n    t[\"acircumflex\"] = 556;\n    t[\"Amacron\"] = 667;\n    t[\"rcaron\"] = 333;\n    t[\"ccedilla\"] = 500;\n    t[\"Zdotaccent\"] = 611;\n    t[\"Thorn\"] = 667;\n    t[\"Omacron\"] = 778;\n    t[\"Racute\"] = 722;\n    t[\"Sacute\"] = 667;\n    t[\"dcaron\"] = 643;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 556;\n    t[\"threesuperior\"] = 333;\n    t[\"Ograve\"] = 778;\n    t[\"Agrave\"] = 667;\n    t[\"Abreve\"] = 667;\n    t[\"multiply\"] = 584;\n    t[\"uacute\"] = 556;\n    t[\"Tcaron\"] = 611;\n    t[\"partialdiff\"] = 476;\n    t[\"ydieresis\"] = 500;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 667;\n    t[\"adieresis\"] = 556;\n    t[\"edieresis\"] = 556;\n    t[\"cacute\"] = 500;\n    t[\"nacute\"] = 556;\n    t[\"umacron\"] = 556;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 278;\n    t[\"plusminus\"] = 584;\n    t[\"brokenbar\"] = 260;\n    t[\"registered\"] = 737;\n    t[\"Gbreve\"] = 778;\n    t[\"Idotaccent\"] = 278;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 667;\n    t[\"racute\"] = 333;\n    t[\"omacron\"] = 556;\n    t[\"Zacute\"] = 611;\n    t[\"Zcaron\"] = 611;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 722;\n    t[\"lcommaaccent\"] = 222;\n    t[\"tcaron\"] = 317;\n    t[\"eogonek\"] = 556;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 667;\n    t[\"Adieresis\"] = 667;\n    t[\"egrave\"] = 556;\n    t[\"zacute\"] = 500;\n    t[\"iogonek\"] = 222;\n    t[\"Oacute\"] = 778;\n    t[\"oacute\"] = 556;\n    t[\"amacron\"] = 556;\n    t[\"sacute\"] = 500;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 778;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 556;\n    t[\"twosuperior\"] = 333;\n    t[\"Odieresis\"] = 778;\n    t[\"mu\"] = 556;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 556;\n    t[\"Eogonek\"] = 667;\n    t[\"dcroat\"] = 556;\n    t[\"threequarters\"] = 834;\n    t[\"Scedilla\"] = 667;\n    t[\"lcaron\"] = 299;\n    t[\"Kcommaaccent\"] = 667;\n    t[\"Lacute\"] = 556;\n    t[\"trademark\"] = 1000;\n    t[\"edotaccent\"] = 556;\n    t[\"Igrave\"] = 278;\n    t[\"Imacron\"] = 278;\n    t[\"Lcaron\"] = 556;\n    t[\"onehalf\"] = 834;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 556;\n    t[\"ntilde\"] = 556;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 667;\n    t[\"emacron\"] = 556;\n    t[\"gbreve\"] = 556;\n    t[\"onequarter\"] = 834;\n    t[\"Scaron\"] = 667;\n    t[\"Scommaaccent\"] = 667;\n    t[\"Ohungarumlaut\"] = 778;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 556;\n    t[\"Ccaron\"] = 722;\n    t[\"ugrave\"] = 556;\n    t[\"radical\"] = 453;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 333;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 556;\n    t[\"Rcommaaccent\"] = 722;\n    t[\"Lcommaaccent\"] = 556;\n    t[\"Atilde\"] = 667;\n    t[\"Aogonek\"] = 667;\n    t[\"Aring\"] = 667;\n    t[\"Otilde\"] = 778;\n    t[\"zdotaccent\"] = 500;\n    t[\"Ecaron\"] = 667;\n    t[\"Iogonek\"] = 278;\n    t[\"kcommaaccent\"] = 500;\n    t[\"minus\"] = 584;\n    t[\"Icircumflex\"] = 278;\n    t[\"ncaron\"] = 556;\n    t[\"tcommaaccent\"] = 278;\n    t[\"logicalnot\"] = 584;\n    t[\"odieresis\"] = 556;\n    t[\"udieresis\"] = 556;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 556;\n    t[\"eth\"] = 556;\n    t[\"zcaron\"] = 500;\n    t[\"ncommaaccent\"] = 556;\n    t[\"onesuperior\"] = 333;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 556;\n  });\n  t[\"Symbol\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 250;\n    t[\"exclam\"] = 333;\n    t[\"universal\"] = 713;\n    t[\"numbersign\"] = 500;\n    t[\"existential\"] = 549;\n    t[\"percent\"] = 833;\n    t[\"ampersand\"] = 778;\n    t[\"suchthat\"] = 439;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asteriskmath\"] = 500;\n    t[\"plus\"] = 549;\n    t[\"comma\"] = 250;\n    t[\"minus\"] = 549;\n    t[\"period\"] = 250;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 500;\n    t[\"one\"] = 500;\n    t[\"two\"] = 500;\n    t[\"three\"] = 500;\n    t[\"four\"] = 500;\n    t[\"five\"] = 500;\n    t[\"six\"] = 500;\n    t[\"seven\"] = 500;\n    t[\"eight\"] = 500;\n    t[\"nine\"] = 500;\n    t[\"colon\"] = 278;\n    t[\"semicolon\"] = 278;\n    t[\"less\"] = 549;\n    t[\"equal\"] = 549;\n    t[\"greater\"] = 549;\n    t[\"question\"] = 444;\n    t[\"congruent\"] = 549;\n    t[\"Alpha\"] = 722;\n    t[\"Beta\"] = 667;\n    t[\"Chi\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"Epsilon\"] = 611;\n    t[\"Phi\"] = 763;\n    t[\"Gamma\"] = 603;\n    t[\"Eta\"] = 722;\n    t[\"Iota\"] = 333;\n    t[\"theta1\"] = 631;\n    t[\"Kappa\"] = 722;\n    t[\"Lambda\"] = 686;\n    t[\"Mu\"] = 889;\n    t[\"Nu\"] = 722;\n    t[\"Omicron\"] = 722;\n    t[\"Pi\"] = 768;\n    t[\"Theta\"] = 741;\n    t[\"Rho\"] = 556;\n    t[\"Sigma\"] = 592;\n    t[\"Tau\"] = 611;\n    t[\"Upsilon\"] = 690;\n    t[\"sigma1\"] = 439;\n    t[\"Omega\"] = 768;\n    t[\"Xi\"] = 645;\n    t[\"Psi\"] = 795;\n    t[\"Zeta\"] = 611;\n    t[\"bracketleft\"] = 333;\n    t[\"therefore\"] = 863;\n    t[\"bracketright\"] = 333;\n    t[\"perpendicular\"] = 658;\n    t[\"underscore\"] = 500;\n    t[\"radicalex\"] = 500;\n    t[\"alpha\"] = 631;\n    t[\"beta\"] = 549;\n    t[\"chi\"] = 549;\n    t[\"delta\"] = 494;\n    t[\"epsilon\"] = 439;\n    t[\"phi\"] = 521;\n    t[\"gamma\"] = 411;\n    t[\"eta\"] = 603;\n    t[\"iota\"] = 329;\n    t[\"phi1\"] = 603;\n    t[\"kappa\"] = 549;\n    t[\"lambda\"] = 549;\n    t[\"mu\"] = 576;\n    t[\"nu\"] = 521;\n    t[\"omicron\"] = 549;\n    t[\"pi\"] = 549;\n    t[\"theta\"] = 521;\n    t[\"rho\"] = 549;\n    t[\"sigma\"] = 603;\n    t[\"tau\"] = 439;\n    t[\"upsilon\"] = 576;\n    t[\"omega1\"] = 713;\n    t[\"omega\"] = 686;\n    t[\"xi\"] = 493;\n    t[\"psi\"] = 686;\n    t[\"zeta\"] = 494;\n    t[\"braceleft\"] = 480;\n    t[\"bar\"] = 200;\n    t[\"braceright\"] = 480;\n    t[\"similar\"] = 549;\n    t[\"Euro\"] = 750;\n    t[\"Upsilon1\"] = 620;\n    t[\"minute\"] = 247;\n    t[\"lessequal\"] = 549;\n    t[\"fraction\"] = 167;\n    t[\"infinity\"] = 713;\n    t[\"florin\"] = 500;\n    t[\"club\"] = 753;\n    t[\"diamond\"] = 753;\n    t[\"heart\"] = 753;\n    t[\"spade\"] = 753;\n    t[\"arrowboth\"] = 1042;\n    t[\"arrowleft\"] = 987;\n    t[\"arrowup\"] = 603;\n    t[\"arrowright\"] = 987;\n    t[\"arrowdown\"] = 603;\n    t[\"degree\"] = 400;\n    t[\"plusminus\"] = 549;\n    t[\"second\"] = 411;\n    t[\"greaterequal\"] = 549;\n    t[\"multiply\"] = 549;\n    t[\"proportional\"] = 713;\n    t[\"partialdiff\"] = 494;\n    t[\"bullet\"] = 460;\n    t[\"divide\"] = 549;\n    t[\"notequal\"] = 549;\n    t[\"equivalence\"] = 549;\n    t[\"approxequal\"] = 549;\n    t[\"ellipsis\"] = 1000;\n    t[\"arrowvertex\"] = 603;\n    t[\"arrowhorizex\"] = 1000;\n    t[\"carriagereturn\"] = 658;\n    t[\"aleph\"] = 823;\n    t[\"Ifraktur\"] = 686;\n    t[\"Rfraktur\"] = 795;\n    t[\"weierstrass\"] = 987;\n    t[\"circlemultiply\"] = 768;\n    t[\"circleplus\"] = 768;\n    t[\"emptyset\"] = 823;\n    t[\"intersection\"] = 768;\n    t[\"union\"] = 768;\n    t[\"propersuperset\"] = 713;\n    t[\"reflexsuperset\"] = 713;\n    t[\"notsubset\"] = 713;\n    t[\"propersubset\"] = 713;\n    t[\"reflexsubset\"] = 713;\n    t[\"element\"] = 713;\n    t[\"notelement\"] = 713;\n    t[\"angle\"] = 768;\n    t[\"gradient\"] = 713;\n    t[\"registerserif\"] = 790;\n    t[\"copyrightserif\"] = 790;\n    t[\"trademarkserif\"] = 890;\n    t[\"product\"] = 823;\n    t[\"radical\"] = 549;\n    t[\"dotmath\"] = 250;\n    t[\"logicalnot\"] = 713;\n    t[\"logicaland\"] = 603;\n    t[\"logicalor\"] = 603;\n    t[\"arrowdblboth\"] = 1042;\n    t[\"arrowdblleft\"] = 987;\n    t[\"arrowdblup\"] = 603;\n    t[\"arrowdblright\"] = 987;\n    t[\"arrowdbldown\"] = 603;\n    t[\"lozenge\"] = 494;\n    t[\"angleleft\"] = 329;\n    t[\"registersans\"] = 790;\n    t[\"copyrightsans\"] = 790;\n    t[\"trademarksans\"] = 786;\n    t[\"summation\"] = 713;\n    t[\"parenlefttp\"] = 384;\n    t[\"parenleftex\"] = 384;\n    t[\"parenleftbt\"] = 384;\n    t[\"bracketlefttp\"] = 384;\n    t[\"bracketleftex\"] = 384;\n    t[\"bracketleftbt\"] = 384;\n    t[\"bracelefttp\"] = 494;\n    t[\"braceleftmid\"] = 494;\n    t[\"braceleftbt\"] = 494;\n    t[\"braceex\"] = 494;\n    t[\"angleright\"] = 329;\n    t[\"integral\"] = 274;\n    t[\"integraltp\"] = 686;\n    t[\"integralex\"] = 686;\n    t[\"integralbt\"] = 686;\n    t[\"parenrighttp\"] = 384;\n    t[\"parenrightex\"] = 384;\n    t[\"parenrightbt\"] = 384;\n    t[\"bracketrighttp\"] = 384;\n    t[\"bracketrightex\"] = 384;\n    t[\"bracketrightbt\"] = 384;\n    t[\"bracerighttp\"] = 494;\n    t[\"bracerightmid\"] = 494;\n    t[\"bracerightbt\"] = 494;\n    t[\"apple\"] = 790;\n  });\n  t[\"Times-Roman\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 250;\n    t[\"exclam\"] = 333;\n    t[\"quotedbl\"] = 408;\n    t[\"numbersign\"] = 500;\n    t[\"dollar\"] = 500;\n    t[\"percent\"] = 833;\n    t[\"ampersand\"] = 778;\n    t[\"quoteright\"] = 333;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 500;\n    t[\"plus\"] = 564;\n    t[\"comma\"] = 250;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 250;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 500;\n    t[\"one\"] = 500;\n    t[\"two\"] = 500;\n    t[\"three\"] = 500;\n    t[\"four\"] = 500;\n    t[\"five\"] = 500;\n    t[\"six\"] = 500;\n    t[\"seven\"] = 500;\n    t[\"eight\"] = 500;\n    t[\"nine\"] = 500;\n    t[\"colon\"] = 278;\n    t[\"semicolon\"] = 278;\n    t[\"less\"] = 564;\n    t[\"equal\"] = 564;\n    t[\"greater\"] = 564;\n    t[\"question\"] = 444;\n    t[\"at\"] = 921;\n    t[\"A\"] = 722;\n    t[\"B\"] = 667;\n    t[\"C\"] = 667;\n    t[\"D\"] = 722;\n    t[\"E\"] = 611;\n    t[\"F\"] = 556;\n    t[\"G\"] = 722;\n    t[\"H\"] = 722;\n    t[\"I\"] = 333;\n    t[\"J\"] = 389;\n    t[\"K\"] = 722;\n    t[\"L\"] = 611;\n    t[\"M\"] = 889;\n    t[\"N\"] = 722;\n    t[\"O\"] = 722;\n    t[\"P\"] = 556;\n    t[\"Q\"] = 722;\n    t[\"R\"] = 667;\n    t[\"S\"] = 556;\n    t[\"T\"] = 611;\n    t[\"U\"] = 722;\n    t[\"V\"] = 722;\n    t[\"W\"] = 944;\n    t[\"X\"] = 722;\n    t[\"Y\"] = 722;\n    t[\"Z\"] = 611;\n    t[\"bracketleft\"] = 333;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 333;\n    t[\"asciicircum\"] = 469;\n    t[\"underscore\"] = 500;\n    t[\"quoteleft\"] = 333;\n    t[\"a\"] = 444;\n    t[\"b\"] = 500;\n    t[\"c\"] = 444;\n    t[\"d\"] = 500;\n    t[\"e\"] = 444;\n    t[\"f\"] = 333;\n    t[\"g\"] = 500;\n    t[\"h\"] = 500;\n    t[\"i\"] = 278;\n    t[\"j\"] = 278;\n    t[\"k\"] = 500;\n    t[\"l\"] = 278;\n    t[\"m\"] = 778;\n    t[\"n\"] = 500;\n    t[\"o\"] = 500;\n    t[\"p\"] = 500;\n    t[\"q\"] = 500;\n    t[\"r\"] = 333;\n    t[\"s\"] = 389;\n    t[\"t\"] = 278;\n    t[\"u\"] = 500;\n    t[\"v\"] = 500;\n    t[\"w\"] = 722;\n    t[\"x\"] = 500;\n    t[\"y\"] = 500;\n    t[\"z\"] = 444;\n    t[\"braceleft\"] = 480;\n    t[\"bar\"] = 200;\n    t[\"braceright\"] = 480;\n    t[\"asciitilde\"] = 541;\n    t[\"exclamdown\"] = 333;\n    t[\"cent\"] = 500;\n    t[\"sterling\"] = 500;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 500;\n    t[\"florin\"] = 500;\n    t[\"section\"] = 500;\n    t[\"currency\"] = 500;\n    t[\"quotesingle\"] = 180;\n    t[\"quotedblleft\"] = 444;\n    t[\"guillemotleft\"] = 500;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 556;\n    t[\"fl\"] = 556;\n    t[\"endash\"] = 500;\n    t[\"dagger\"] = 500;\n    t[\"daggerdbl\"] = 500;\n    t[\"periodcentered\"] = 250;\n    t[\"paragraph\"] = 453;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 333;\n    t[\"quotedblbase\"] = 444;\n    t[\"quotedblright\"] = 444;\n    t[\"guillemotright\"] = 500;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 444;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 889;\n    t[\"ordfeminine\"] = 276;\n    t[\"Lslash\"] = 611;\n    t[\"Oslash\"] = 722;\n    t[\"OE\"] = 889;\n    t[\"ordmasculine\"] = 310;\n    t[\"ae\"] = 667;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 278;\n    t[\"oslash\"] = 500;\n    t[\"oe\"] = 722;\n    t[\"germandbls\"] = 500;\n    t[\"Idieresis\"] = 333;\n    t[\"eacute\"] = 444;\n    t[\"abreve\"] = 444;\n    t[\"uhungarumlaut\"] = 500;\n    t[\"ecaron\"] = 444;\n    t[\"Ydieresis\"] = 722;\n    t[\"divide\"] = 564;\n    t[\"Yacute\"] = 722;\n    t[\"Acircumflex\"] = 722;\n    t[\"aacute\"] = 444;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 500;\n    t[\"scommaaccent\"] = 389;\n    t[\"ecircumflex\"] = 444;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 444;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 500;\n    t[\"Edieresis\"] = 611;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 760;\n    t[\"Emacron\"] = 611;\n    t[\"ccaron\"] = 444;\n    t[\"aring\"] = 444;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 278;\n    t[\"agrave\"] = 444;\n    t[\"Tcommaaccent\"] = 611;\n    t[\"Cacute\"] = 667;\n    t[\"atilde\"] = 444;\n    t[\"Edotaccent\"] = 611;\n    t[\"scaron\"] = 389;\n    t[\"scedilla\"] = 389;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 471;\n    t[\"Rcaron\"] = 667;\n    t[\"Gcommaaccent\"] = 722;\n    t[\"ucircumflex\"] = 500;\n    t[\"acircumflex\"] = 444;\n    t[\"Amacron\"] = 722;\n    t[\"rcaron\"] = 333;\n    t[\"ccedilla\"] = 444;\n    t[\"Zdotaccent\"] = 611;\n    t[\"Thorn\"] = 556;\n    t[\"Omacron\"] = 722;\n    t[\"Racute\"] = 667;\n    t[\"Sacute\"] = 556;\n    t[\"dcaron\"] = 588;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 500;\n    t[\"threesuperior\"] = 300;\n    t[\"Ograve\"] = 722;\n    t[\"Agrave\"] = 722;\n    t[\"Abreve\"] = 722;\n    t[\"multiply\"] = 564;\n    t[\"uacute\"] = 500;\n    t[\"Tcaron\"] = 611;\n    t[\"partialdiff\"] = 476;\n    t[\"ydieresis\"] = 500;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 611;\n    t[\"adieresis\"] = 444;\n    t[\"edieresis\"] = 444;\n    t[\"cacute\"] = 444;\n    t[\"nacute\"] = 500;\n    t[\"umacron\"] = 500;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 333;\n    t[\"plusminus\"] = 564;\n    t[\"brokenbar\"] = 200;\n    t[\"registered\"] = 760;\n    t[\"Gbreve\"] = 722;\n    t[\"Idotaccent\"] = 333;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 611;\n    t[\"racute\"] = 333;\n    t[\"omacron\"] = 500;\n    t[\"Zacute\"] = 611;\n    t[\"Zcaron\"] = 611;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 667;\n    t[\"lcommaaccent\"] = 278;\n    t[\"tcaron\"] = 326;\n    t[\"eogonek\"] = 444;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 722;\n    t[\"Adieresis\"] = 722;\n    t[\"egrave\"] = 444;\n    t[\"zacute\"] = 444;\n    t[\"iogonek\"] = 278;\n    t[\"Oacute\"] = 722;\n    t[\"oacute\"] = 500;\n    t[\"amacron\"] = 444;\n    t[\"sacute\"] = 389;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 722;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 500;\n    t[\"twosuperior\"] = 300;\n    t[\"Odieresis\"] = 722;\n    t[\"mu\"] = 500;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 500;\n    t[\"Eogonek\"] = 611;\n    t[\"dcroat\"] = 500;\n    t[\"threequarters\"] = 750;\n    t[\"Scedilla\"] = 556;\n    t[\"lcaron\"] = 344;\n    t[\"Kcommaaccent\"] = 722;\n    t[\"Lacute\"] = 611;\n    t[\"trademark\"] = 980;\n    t[\"edotaccent\"] = 444;\n    t[\"Igrave\"] = 333;\n    t[\"Imacron\"] = 333;\n    t[\"Lcaron\"] = 611;\n    t[\"onehalf\"] = 750;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 500;\n    t[\"ntilde\"] = 500;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 611;\n    t[\"emacron\"] = 444;\n    t[\"gbreve\"] = 500;\n    t[\"onequarter\"] = 750;\n    t[\"Scaron\"] = 556;\n    t[\"Scommaaccent\"] = 556;\n    t[\"Ohungarumlaut\"] = 722;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 500;\n    t[\"Ccaron\"] = 667;\n    t[\"ugrave\"] = 500;\n    t[\"radical\"] = 453;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 333;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 500;\n    t[\"Rcommaaccent\"] = 667;\n    t[\"Lcommaaccent\"] = 611;\n    t[\"Atilde\"] = 722;\n    t[\"Aogonek\"] = 722;\n    t[\"Aring\"] = 722;\n    t[\"Otilde\"] = 722;\n    t[\"zdotaccent\"] = 444;\n    t[\"Ecaron\"] = 611;\n    t[\"Iogonek\"] = 333;\n    t[\"kcommaaccent\"] = 500;\n    t[\"minus\"] = 564;\n    t[\"Icircumflex\"] = 333;\n    t[\"ncaron\"] = 500;\n    t[\"tcommaaccent\"] = 278;\n    t[\"logicalnot\"] = 564;\n    t[\"odieresis\"] = 500;\n    t[\"udieresis\"] = 500;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 500;\n    t[\"eth\"] = 500;\n    t[\"zcaron\"] = 444;\n    t[\"ncommaaccent\"] = 500;\n    t[\"onesuperior\"] = 300;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 500;\n  });\n  t[\"Times-Bold\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 250;\n    t[\"exclam\"] = 333;\n    t[\"quotedbl\"] = 555;\n    t[\"numbersign\"] = 500;\n    t[\"dollar\"] = 500;\n    t[\"percent\"] = 1000;\n    t[\"ampersand\"] = 833;\n    t[\"quoteright\"] = 333;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 500;\n    t[\"plus\"] = 570;\n    t[\"comma\"] = 250;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 250;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 500;\n    t[\"one\"] = 500;\n    t[\"two\"] = 500;\n    t[\"three\"] = 500;\n    t[\"four\"] = 500;\n    t[\"five\"] = 500;\n    t[\"six\"] = 500;\n    t[\"seven\"] = 500;\n    t[\"eight\"] = 500;\n    t[\"nine\"] = 500;\n    t[\"colon\"] = 333;\n    t[\"semicolon\"] = 333;\n    t[\"less\"] = 570;\n    t[\"equal\"] = 570;\n    t[\"greater\"] = 570;\n    t[\"question\"] = 500;\n    t[\"at\"] = 930;\n    t[\"A\"] = 722;\n    t[\"B\"] = 667;\n    t[\"C\"] = 722;\n    t[\"D\"] = 722;\n    t[\"E\"] = 667;\n    t[\"F\"] = 611;\n    t[\"G\"] = 778;\n    t[\"H\"] = 778;\n    t[\"I\"] = 389;\n    t[\"J\"] = 500;\n    t[\"K\"] = 778;\n    t[\"L\"] = 667;\n    t[\"M\"] = 944;\n    t[\"N\"] = 722;\n    t[\"O\"] = 778;\n    t[\"P\"] = 611;\n    t[\"Q\"] = 778;\n    t[\"R\"] = 722;\n    t[\"S\"] = 556;\n    t[\"T\"] = 667;\n    t[\"U\"] = 722;\n    t[\"V\"] = 722;\n    t[\"W\"] = 1000;\n    t[\"X\"] = 722;\n    t[\"Y\"] = 722;\n    t[\"Z\"] = 667;\n    t[\"bracketleft\"] = 333;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 333;\n    t[\"asciicircum\"] = 581;\n    t[\"underscore\"] = 500;\n    t[\"quoteleft\"] = 333;\n    t[\"a\"] = 500;\n    t[\"b\"] = 556;\n    t[\"c\"] = 444;\n    t[\"d\"] = 556;\n    t[\"e\"] = 444;\n    t[\"f\"] = 333;\n    t[\"g\"] = 500;\n    t[\"h\"] = 556;\n    t[\"i\"] = 278;\n    t[\"j\"] = 333;\n    t[\"k\"] = 556;\n    t[\"l\"] = 278;\n    t[\"m\"] = 833;\n    t[\"n\"] = 556;\n    t[\"o\"] = 500;\n    t[\"p\"] = 556;\n    t[\"q\"] = 556;\n    t[\"r\"] = 444;\n    t[\"s\"] = 389;\n    t[\"t\"] = 333;\n    t[\"u\"] = 556;\n    t[\"v\"] = 500;\n    t[\"w\"] = 722;\n    t[\"x\"] = 500;\n    t[\"y\"] = 500;\n    t[\"z\"] = 444;\n    t[\"braceleft\"] = 394;\n    t[\"bar\"] = 220;\n    t[\"braceright\"] = 394;\n    t[\"asciitilde\"] = 520;\n    t[\"exclamdown\"] = 333;\n    t[\"cent\"] = 500;\n    t[\"sterling\"] = 500;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 500;\n    t[\"florin\"] = 500;\n    t[\"section\"] = 500;\n    t[\"currency\"] = 500;\n    t[\"quotesingle\"] = 278;\n    t[\"quotedblleft\"] = 500;\n    t[\"guillemotleft\"] = 500;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 556;\n    t[\"fl\"] = 556;\n    t[\"endash\"] = 500;\n    t[\"dagger\"] = 500;\n    t[\"daggerdbl\"] = 500;\n    t[\"periodcentered\"] = 250;\n    t[\"paragraph\"] = 540;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 333;\n    t[\"quotedblbase\"] = 500;\n    t[\"quotedblright\"] = 500;\n    t[\"guillemotright\"] = 500;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 500;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 1000;\n    t[\"ordfeminine\"] = 300;\n    t[\"Lslash\"] = 667;\n    t[\"Oslash\"] = 778;\n    t[\"OE\"] = 1000;\n    t[\"ordmasculine\"] = 330;\n    t[\"ae\"] = 722;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 278;\n    t[\"oslash\"] = 500;\n    t[\"oe\"] = 722;\n    t[\"germandbls\"] = 556;\n    t[\"Idieresis\"] = 389;\n    t[\"eacute\"] = 444;\n    t[\"abreve\"] = 500;\n    t[\"uhungarumlaut\"] = 556;\n    t[\"ecaron\"] = 444;\n    t[\"Ydieresis\"] = 722;\n    t[\"divide\"] = 570;\n    t[\"Yacute\"] = 722;\n    t[\"Acircumflex\"] = 722;\n    t[\"aacute\"] = 500;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 500;\n    t[\"scommaaccent\"] = 389;\n    t[\"ecircumflex\"] = 444;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 500;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 556;\n    t[\"Edieresis\"] = 667;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 747;\n    t[\"Emacron\"] = 667;\n    t[\"ccaron\"] = 444;\n    t[\"aring\"] = 500;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 278;\n    t[\"agrave\"] = 500;\n    t[\"Tcommaaccent\"] = 667;\n    t[\"Cacute\"] = 722;\n    t[\"atilde\"] = 500;\n    t[\"Edotaccent\"] = 667;\n    t[\"scaron\"] = 389;\n    t[\"scedilla\"] = 389;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 494;\n    t[\"Rcaron\"] = 722;\n    t[\"Gcommaaccent\"] = 778;\n    t[\"ucircumflex\"] = 556;\n    t[\"acircumflex\"] = 500;\n    t[\"Amacron\"] = 722;\n    t[\"rcaron\"] = 444;\n    t[\"ccedilla\"] = 444;\n    t[\"Zdotaccent\"] = 667;\n    t[\"Thorn\"] = 611;\n    t[\"Omacron\"] = 778;\n    t[\"Racute\"] = 722;\n    t[\"Sacute\"] = 556;\n    t[\"dcaron\"] = 672;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 556;\n    t[\"threesuperior\"] = 300;\n    t[\"Ograve\"] = 778;\n    t[\"Agrave\"] = 722;\n    t[\"Abreve\"] = 722;\n    t[\"multiply\"] = 570;\n    t[\"uacute\"] = 556;\n    t[\"Tcaron\"] = 667;\n    t[\"partialdiff\"] = 494;\n    t[\"ydieresis\"] = 500;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 667;\n    t[\"adieresis\"] = 500;\n    t[\"edieresis\"] = 444;\n    t[\"cacute\"] = 444;\n    t[\"nacute\"] = 556;\n    t[\"umacron\"] = 556;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 389;\n    t[\"plusminus\"] = 570;\n    t[\"brokenbar\"] = 220;\n    t[\"registered\"] = 747;\n    t[\"Gbreve\"] = 778;\n    t[\"Idotaccent\"] = 389;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 667;\n    t[\"racute\"] = 444;\n    t[\"omacron\"] = 500;\n    t[\"Zacute\"] = 667;\n    t[\"Zcaron\"] = 667;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 722;\n    t[\"lcommaaccent\"] = 278;\n    t[\"tcaron\"] = 416;\n    t[\"eogonek\"] = 444;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 722;\n    t[\"Adieresis\"] = 722;\n    t[\"egrave\"] = 444;\n    t[\"zacute\"] = 444;\n    t[\"iogonek\"] = 278;\n    t[\"Oacute\"] = 778;\n    t[\"oacute\"] = 500;\n    t[\"amacron\"] = 500;\n    t[\"sacute\"] = 389;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 778;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 556;\n    t[\"twosuperior\"] = 300;\n    t[\"Odieresis\"] = 778;\n    t[\"mu\"] = 556;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 500;\n    t[\"Eogonek\"] = 667;\n    t[\"dcroat\"] = 556;\n    t[\"threequarters\"] = 750;\n    t[\"Scedilla\"] = 556;\n    t[\"lcaron\"] = 394;\n    t[\"Kcommaaccent\"] = 778;\n    t[\"Lacute\"] = 667;\n    t[\"trademark\"] = 1000;\n    t[\"edotaccent\"] = 444;\n    t[\"Igrave\"] = 389;\n    t[\"Imacron\"] = 389;\n    t[\"Lcaron\"] = 667;\n    t[\"onehalf\"] = 750;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 500;\n    t[\"ntilde\"] = 556;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 667;\n    t[\"emacron\"] = 444;\n    t[\"gbreve\"] = 500;\n    t[\"onequarter\"] = 750;\n    t[\"Scaron\"] = 556;\n    t[\"Scommaaccent\"] = 556;\n    t[\"Ohungarumlaut\"] = 778;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 500;\n    t[\"Ccaron\"] = 722;\n    t[\"ugrave\"] = 556;\n    t[\"radical\"] = 549;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 444;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 500;\n    t[\"Rcommaaccent\"] = 722;\n    t[\"Lcommaaccent\"] = 667;\n    t[\"Atilde\"] = 722;\n    t[\"Aogonek\"] = 722;\n    t[\"Aring\"] = 722;\n    t[\"Otilde\"] = 778;\n    t[\"zdotaccent\"] = 444;\n    t[\"Ecaron\"] = 667;\n    t[\"Iogonek\"] = 389;\n    t[\"kcommaaccent\"] = 556;\n    t[\"minus\"] = 570;\n    t[\"Icircumflex\"] = 389;\n    t[\"ncaron\"] = 556;\n    t[\"tcommaaccent\"] = 333;\n    t[\"logicalnot\"] = 570;\n    t[\"odieresis\"] = 500;\n    t[\"udieresis\"] = 556;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 500;\n    t[\"eth\"] = 500;\n    t[\"zcaron\"] = 444;\n    t[\"ncommaaccent\"] = 556;\n    t[\"onesuperior\"] = 300;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 500;\n  });\n  t[\"Times-BoldItalic\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 250;\n    t[\"exclam\"] = 389;\n    t[\"quotedbl\"] = 555;\n    t[\"numbersign\"] = 500;\n    t[\"dollar\"] = 500;\n    t[\"percent\"] = 833;\n    t[\"ampersand\"] = 778;\n    t[\"quoteright\"] = 333;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 500;\n    t[\"plus\"] = 570;\n    t[\"comma\"] = 250;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 250;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 500;\n    t[\"one\"] = 500;\n    t[\"two\"] = 500;\n    t[\"three\"] = 500;\n    t[\"four\"] = 500;\n    t[\"five\"] = 500;\n    t[\"six\"] = 500;\n    t[\"seven\"] = 500;\n    t[\"eight\"] = 500;\n    t[\"nine\"] = 500;\n    t[\"colon\"] = 333;\n    t[\"semicolon\"] = 333;\n    t[\"less\"] = 570;\n    t[\"equal\"] = 570;\n    t[\"greater\"] = 570;\n    t[\"question\"] = 500;\n    t[\"at\"] = 832;\n    t[\"A\"] = 667;\n    t[\"B\"] = 667;\n    t[\"C\"] = 667;\n    t[\"D\"] = 722;\n    t[\"E\"] = 667;\n    t[\"F\"] = 667;\n    t[\"G\"] = 722;\n    t[\"H\"] = 778;\n    t[\"I\"] = 389;\n    t[\"J\"] = 500;\n    t[\"K\"] = 667;\n    t[\"L\"] = 611;\n    t[\"M\"] = 889;\n    t[\"N\"] = 722;\n    t[\"O\"] = 722;\n    t[\"P\"] = 611;\n    t[\"Q\"] = 722;\n    t[\"R\"] = 667;\n    t[\"S\"] = 556;\n    t[\"T\"] = 611;\n    t[\"U\"] = 722;\n    t[\"V\"] = 667;\n    t[\"W\"] = 889;\n    t[\"X\"] = 667;\n    t[\"Y\"] = 611;\n    t[\"Z\"] = 611;\n    t[\"bracketleft\"] = 333;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 333;\n    t[\"asciicircum\"] = 570;\n    t[\"underscore\"] = 500;\n    t[\"quoteleft\"] = 333;\n    t[\"a\"] = 500;\n    t[\"b\"] = 500;\n    t[\"c\"] = 444;\n    t[\"d\"] = 500;\n    t[\"e\"] = 444;\n    t[\"f\"] = 333;\n    t[\"g\"] = 500;\n    t[\"h\"] = 556;\n    t[\"i\"] = 278;\n    t[\"j\"] = 278;\n    t[\"k\"] = 500;\n    t[\"l\"] = 278;\n    t[\"m\"] = 778;\n    t[\"n\"] = 556;\n    t[\"o\"] = 500;\n    t[\"p\"] = 500;\n    t[\"q\"] = 500;\n    t[\"r\"] = 389;\n    t[\"s\"] = 389;\n    t[\"t\"] = 278;\n    t[\"u\"] = 556;\n    t[\"v\"] = 444;\n    t[\"w\"] = 667;\n    t[\"x\"] = 500;\n    t[\"y\"] = 444;\n    t[\"z\"] = 389;\n    t[\"braceleft\"] = 348;\n    t[\"bar\"] = 220;\n    t[\"braceright\"] = 348;\n    t[\"asciitilde\"] = 570;\n    t[\"exclamdown\"] = 389;\n    t[\"cent\"] = 500;\n    t[\"sterling\"] = 500;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 500;\n    t[\"florin\"] = 500;\n    t[\"section\"] = 500;\n    t[\"currency\"] = 500;\n    t[\"quotesingle\"] = 278;\n    t[\"quotedblleft\"] = 500;\n    t[\"guillemotleft\"] = 500;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 556;\n    t[\"fl\"] = 556;\n    t[\"endash\"] = 500;\n    t[\"dagger\"] = 500;\n    t[\"daggerdbl\"] = 500;\n    t[\"periodcentered\"] = 250;\n    t[\"paragraph\"] = 500;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 333;\n    t[\"quotedblbase\"] = 500;\n    t[\"quotedblright\"] = 500;\n    t[\"guillemotright\"] = 500;\n    t[\"ellipsis\"] = 1000;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 500;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 1000;\n    t[\"AE\"] = 944;\n    t[\"ordfeminine\"] = 266;\n    t[\"Lslash\"] = 611;\n    t[\"Oslash\"] = 722;\n    t[\"OE\"] = 944;\n    t[\"ordmasculine\"] = 300;\n    t[\"ae\"] = 722;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 278;\n    t[\"oslash\"] = 500;\n    t[\"oe\"] = 722;\n    t[\"germandbls\"] = 500;\n    t[\"Idieresis\"] = 389;\n    t[\"eacute\"] = 444;\n    t[\"abreve\"] = 500;\n    t[\"uhungarumlaut\"] = 556;\n    t[\"ecaron\"] = 444;\n    t[\"Ydieresis\"] = 611;\n    t[\"divide\"] = 570;\n    t[\"Yacute\"] = 611;\n    t[\"Acircumflex\"] = 667;\n    t[\"aacute\"] = 500;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 444;\n    t[\"scommaaccent\"] = 389;\n    t[\"ecircumflex\"] = 444;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 500;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 556;\n    t[\"Edieresis\"] = 667;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 747;\n    t[\"Emacron\"] = 667;\n    t[\"ccaron\"] = 444;\n    t[\"aring\"] = 500;\n    t[\"Ncommaaccent\"] = 722;\n    t[\"lacute\"] = 278;\n    t[\"agrave\"] = 500;\n    t[\"Tcommaaccent\"] = 611;\n    t[\"Cacute\"] = 667;\n    t[\"atilde\"] = 500;\n    t[\"Edotaccent\"] = 667;\n    t[\"scaron\"] = 389;\n    t[\"scedilla\"] = 389;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 494;\n    t[\"Rcaron\"] = 667;\n    t[\"Gcommaaccent\"] = 722;\n    t[\"ucircumflex\"] = 556;\n    t[\"acircumflex\"] = 500;\n    t[\"Amacron\"] = 667;\n    t[\"rcaron\"] = 389;\n    t[\"ccedilla\"] = 444;\n    t[\"Zdotaccent\"] = 611;\n    t[\"Thorn\"] = 611;\n    t[\"Omacron\"] = 722;\n    t[\"Racute\"] = 667;\n    t[\"Sacute\"] = 556;\n    t[\"dcaron\"] = 608;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 556;\n    t[\"threesuperior\"] = 300;\n    t[\"Ograve\"] = 722;\n    t[\"Agrave\"] = 667;\n    t[\"Abreve\"] = 667;\n    t[\"multiply\"] = 570;\n    t[\"uacute\"] = 556;\n    t[\"Tcaron\"] = 611;\n    t[\"partialdiff\"] = 494;\n    t[\"ydieresis\"] = 444;\n    t[\"Nacute\"] = 722;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 667;\n    t[\"adieresis\"] = 500;\n    t[\"edieresis\"] = 444;\n    t[\"cacute\"] = 444;\n    t[\"nacute\"] = 556;\n    t[\"umacron\"] = 556;\n    t[\"Ncaron\"] = 722;\n    t[\"Iacute\"] = 389;\n    t[\"plusminus\"] = 570;\n    t[\"brokenbar\"] = 220;\n    t[\"registered\"] = 747;\n    t[\"Gbreve\"] = 722;\n    t[\"Idotaccent\"] = 389;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 667;\n    t[\"racute\"] = 389;\n    t[\"omacron\"] = 500;\n    t[\"Zacute\"] = 611;\n    t[\"Zcaron\"] = 611;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 667;\n    t[\"lcommaaccent\"] = 278;\n    t[\"tcaron\"] = 366;\n    t[\"eogonek\"] = 444;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 667;\n    t[\"Adieresis\"] = 667;\n    t[\"egrave\"] = 444;\n    t[\"zacute\"] = 389;\n    t[\"iogonek\"] = 278;\n    t[\"Oacute\"] = 722;\n    t[\"oacute\"] = 500;\n    t[\"amacron\"] = 500;\n    t[\"sacute\"] = 389;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 722;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 500;\n    t[\"twosuperior\"] = 300;\n    t[\"Odieresis\"] = 722;\n    t[\"mu\"] = 576;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 500;\n    t[\"Eogonek\"] = 667;\n    t[\"dcroat\"] = 500;\n    t[\"threequarters\"] = 750;\n    t[\"Scedilla\"] = 556;\n    t[\"lcaron\"] = 382;\n    t[\"Kcommaaccent\"] = 667;\n    t[\"Lacute\"] = 611;\n    t[\"trademark\"] = 1000;\n    t[\"edotaccent\"] = 444;\n    t[\"Igrave\"] = 389;\n    t[\"Imacron\"] = 389;\n    t[\"Lcaron\"] = 611;\n    t[\"onehalf\"] = 750;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 500;\n    t[\"ntilde\"] = 556;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 667;\n    t[\"emacron\"] = 444;\n    t[\"gbreve\"] = 500;\n    t[\"onequarter\"] = 750;\n    t[\"Scaron\"] = 556;\n    t[\"Scommaaccent\"] = 556;\n    t[\"Ohungarumlaut\"] = 722;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 500;\n    t[\"Ccaron\"] = 667;\n    t[\"ugrave\"] = 556;\n    t[\"radical\"] = 549;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 389;\n    t[\"Ntilde\"] = 722;\n    t[\"otilde\"] = 500;\n    t[\"Rcommaaccent\"] = 667;\n    t[\"Lcommaaccent\"] = 611;\n    t[\"Atilde\"] = 667;\n    t[\"Aogonek\"] = 667;\n    t[\"Aring\"] = 667;\n    t[\"Otilde\"] = 722;\n    t[\"zdotaccent\"] = 389;\n    t[\"Ecaron\"] = 667;\n    t[\"Iogonek\"] = 389;\n    t[\"kcommaaccent\"] = 500;\n    t[\"minus\"] = 606;\n    t[\"Icircumflex\"] = 389;\n    t[\"ncaron\"] = 556;\n    t[\"tcommaaccent\"] = 278;\n    t[\"logicalnot\"] = 606;\n    t[\"odieresis\"] = 500;\n    t[\"udieresis\"] = 556;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 500;\n    t[\"eth\"] = 500;\n    t[\"zcaron\"] = 389;\n    t[\"ncommaaccent\"] = 556;\n    t[\"onesuperior\"] = 300;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 500;\n  });\n  t[\"Times-Italic\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 250;\n    t[\"exclam\"] = 333;\n    t[\"quotedbl\"] = 420;\n    t[\"numbersign\"] = 500;\n    t[\"dollar\"] = 500;\n    t[\"percent\"] = 833;\n    t[\"ampersand\"] = 778;\n    t[\"quoteright\"] = 333;\n    t[\"parenleft\"] = 333;\n    t[\"parenright\"] = 333;\n    t[\"asterisk\"] = 500;\n    t[\"plus\"] = 675;\n    t[\"comma\"] = 250;\n    t[\"hyphen\"] = 333;\n    t[\"period\"] = 250;\n    t[\"slash\"] = 278;\n    t[\"zero\"] = 500;\n    t[\"one\"] = 500;\n    t[\"two\"] = 500;\n    t[\"three\"] = 500;\n    t[\"four\"] = 500;\n    t[\"five\"] = 500;\n    t[\"six\"] = 500;\n    t[\"seven\"] = 500;\n    t[\"eight\"] = 500;\n    t[\"nine\"] = 500;\n    t[\"colon\"] = 333;\n    t[\"semicolon\"] = 333;\n    t[\"less\"] = 675;\n    t[\"equal\"] = 675;\n    t[\"greater\"] = 675;\n    t[\"question\"] = 500;\n    t[\"at\"] = 920;\n    t[\"A\"] = 611;\n    t[\"B\"] = 611;\n    t[\"C\"] = 667;\n    t[\"D\"] = 722;\n    t[\"E\"] = 611;\n    t[\"F\"] = 611;\n    t[\"G\"] = 722;\n    t[\"H\"] = 722;\n    t[\"I\"] = 333;\n    t[\"J\"] = 444;\n    t[\"K\"] = 667;\n    t[\"L\"] = 556;\n    t[\"M\"] = 833;\n    t[\"N\"] = 667;\n    t[\"O\"] = 722;\n    t[\"P\"] = 611;\n    t[\"Q\"] = 722;\n    t[\"R\"] = 611;\n    t[\"S\"] = 500;\n    t[\"T\"] = 556;\n    t[\"U\"] = 722;\n    t[\"V\"] = 611;\n    t[\"W\"] = 833;\n    t[\"X\"] = 611;\n    t[\"Y\"] = 556;\n    t[\"Z\"] = 556;\n    t[\"bracketleft\"] = 389;\n    t[\"backslash\"] = 278;\n    t[\"bracketright\"] = 389;\n    t[\"asciicircum\"] = 422;\n    t[\"underscore\"] = 500;\n    t[\"quoteleft\"] = 333;\n    t[\"a\"] = 500;\n    t[\"b\"] = 500;\n    t[\"c\"] = 444;\n    t[\"d\"] = 500;\n    t[\"e\"] = 444;\n    t[\"f\"] = 278;\n    t[\"g\"] = 500;\n    t[\"h\"] = 500;\n    t[\"i\"] = 278;\n    t[\"j\"] = 278;\n    t[\"k\"] = 444;\n    t[\"l\"] = 278;\n    t[\"m\"] = 722;\n    t[\"n\"] = 500;\n    t[\"o\"] = 500;\n    t[\"p\"] = 500;\n    t[\"q\"] = 500;\n    t[\"r\"] = 389;\n    t[\"s\"] = 389;\n    t[\"t\"] = 278;\n    t[\"u\"] = 500;\n    t[\"v\"] = 444;\n    t[\"w\"] = 667;\n    t[\"x\"] = 444;\n    t[\"y\"] = 444;\n    t[\"z\"] = 389;\n    t[\"braceleft\"] = 400;\n    t[\"bar\"] = 275;\n    t[\"braceright\"] = 400;\n    t[\"asciitilde\"] = 541;\n    t[\"exclamdown\"] = 389;\n    t[\"cent\"] = 500;\n    t[\"sterling\"] = 500;\n    t[\"fraction\"] = 167;\n    t[\"yen\"] = 500;\n    t[\"florin\"] = 500;\n    t[\"section\"] = 500;\n    t[\"currency\"] = 500;\n    t[\"quotesingle\"] = 214;\n    t[\"quotedblleft\"] = 556;\n    t[\"guillemotleft\"] = 500;\n    t[\"guilsinglleft\"] = 333;\n    t[\"guilsinglright\"] = 333;\n    t[\"fi\"] = 500;\n    t[\"fl\"] = 500;\n    t[\"endash\"] = 500;\n    t[\"dagger\"] = 500;\n    t[\"daggerdbl\"] = 500;\n    t[\"periodcentered\"] = 250;\n    t[\"paragraph\"] = 523;\n    t[\"bullet\"] = 350;\n    t[\"quotesinglbase\"] = 333;\n    t[\"quotedblbase\"] = 556;\n    t[\"quotedblright\"] = 556;\n    t[\"guillemotright\"] = 500;\n    t[\"ellipsis\"] = 889;\n    t[\"perthousand\"] = 1000;\n    t[\"questiondown\"] = 500;\n    t[\"grave\"] = 333;\n    t[\"acute\"] = 333;\n    t[\"circumflex\"] = 333;\n    t[\"tilde\"] = 333;\n    t[\"macron\"] = 333;\n    t[\"breve\"] = 333;\n    t[\"dotaccent\"] = 333;\n    t[\"dieresis\"] = 333;\n    t[\"ring\"] = 333;\n    t[\"cedilla\"] = 333;\n    t[\"hungarumlaut\"] = 333;\n    t[\"ogonek\"] = 333;\n    t[\"caron\"] = 333;\n    t[\"emdash\"] = 889;\n    t[\"AE\"] = 889;\n    t[\"ordfeminine\"] = 276;\n    t[\"Lslash\"] = 556;\n    t[\"Oslash\"] = 722;\n    t[\"OE\"] = 944;\n    t[\"ordmasculine\"] = 310;\n    t[\"ae\"] = 667;\n    t[\"dotlessi\"] = 278;\n    t[\"lslash\"] = 278;\n    t[\"oslash\"] = 500;\n    t[\"oe\"] = 667;\n    t[\"germandbls\"] = 500;\n    t[\"Idieresis\"] = 333;\n    t[\"eacute\"] = 444;\n    t[\"abreve\"] = 500;\n    t[\"uhungarumlaut\"] = 500;\n    t[\"ecaron\"] = 444;\n    t[\"Ydieresis\"] = 556;\n    t[\"divide\"] = 675;\n    t[\"Yacute\"] = 556;\n    t[\"Acircumflex\"] = 611;\n    t[\"aacute\"] = 500;\n    t[\"Ucircumflex\"] = 722;\n    t[\"yacute\"] = 444;\n    t[\"scommaaccent\"] = 389;\n    t[\"ecircumflex\"] = 444;\n    t[\"Uring\"] = 722;\n    t[\"Udieresis\"] = 722;\n    t[\"aogonek\"] = 500;\n    t[\"Uacute\"] = 722;\n    t[\"uogonek\"] = 500;\n    t[\"Edieresis\"] = 611;\n    t[\"Dcroat\"] = 722;\n    t[\"commaaccent\"] = 250;\n    t[\"copyright\"] = 760;\n    t[\"Emacron\"] = 611;\n    t[\"ccaron\"] = 444;\n    t[\"aring\"] = 500;\n    t[\"Ncommaaccent\"] = 667;\n    t[\"lacute\"] = 278;\n    t[\"agrave\"] = 500;\n    t[\"Tcommaaccent\"] = 556;\n    t[\"Cacute\"] = 667;\n    t[\"atilde\"] = 500;\n    t[\"Edotaccent\"] = 611;\n    t[\"scaron\"] = 389;\n    t[\"scedilla\"] = 389;\n    t[\"iacute\"] = 278;\n    t[\"lozenge\"] = 471;\n    t[\"Rcaron\"] = 611;\n    t[\"Gcommaaccent\"] = 722;\n    t[\"ucircumflex\"] = 500;\n    t[\"acircumflex\"] = 500;\n    t[\"Amacron\"] = 611;\n    t[\"rcaron\"] = 389;\n    t[\"ccedilla\"] = 444;\n    t[\"Zdotaccent\"] = 556;\n    t[\"Thorn\"] = 611;\n    t[\"Omacron\"] = 722;\n    t[\"Racute\"] = 611;\n    t[\"Sacute\"] = 500;\n    t[\"dcaron\"] = 544;\n    t[\"Umacron\"] = 722;\n    t[\"uring\"] = 500;\n    t[\"threesuperior\"] = 300;\n    t[\"Ograve\"] = 722;\n    t[\"Agrave\"] = 611;\n    t[\"Abreve\"] = 611;\n    t[\"multiply\"] = 675;\n    t[\"uacute\"] = 500;\n    t[\"Tcaron\"] = 556;\n    t[\"partialdiff\"] = 476;\n    t[\"ydieresis\"] = 444;\n    t[\"Nacute\"] = 667;\n    t[\"icircumflex\"] = 278;\n    t[\"Ecircumflex\"] = 611;\n    t[\"adieresis\"] = 500;\n    t[\"edieresis\"] = 444;\n    t[\"cacute\"] = 444;\n    t[\"nacute\"] = 500;\n    t[\"umacron\"] = 500;\n    t[\"Ncaron\"] = 667;\n    t[\"Iacute\"] = 333;\n    t[\"plusminus\"] = 675;\n    t[\"brokenbar\"] = 275;\n    t[\"registered\"] = 760;\n    t[\"Gbreve\"] = 722;\n    t[\"Idotaccent\"] = 333;\n    t[\"summation\"] = 600;\n    t[\"Egrave\"] = 611;\n    t[\"racute\"] = 389;\n    t[\"omacron\"] = 500;\n    t[\"Zacute\"] = 556;\n    t[\"Zcaron\"] = 556;\n    t[\"greaterequal\"] = 549;\n    t[\"Eth\"] = 722;\n    t[\"Ccedilla\"] = 667;\n    t[\"lcommaaccent\"] = 278;\n    t[\"tcaron\"] = 300;\n    t[\"eogonek\"] = 444;\n    t[\"Uogonek\"] = 722;\n    t[\"Aacute\"] = 611;\n    t[\"Adieresis\"] = 611;\n    t[\"egrave\"] = 444;\n    t[\"zacute\"] = 389;\n    t[\"iogonek\"] = 278;\n    t[\"Oacute\"] = 722;\n    t[\"oacute\"] = 500;\n    t[\"amacron\"] = 500;\n    t[\"sacute\"] = 389;\n    t[\"idieresis\"] = 278;\n    t[\"Ocircumflex\"] = 722;\n    t[\"Ugrave\"] = 722;\n    t[\"Delta\"] = 612;\n    t[\"thorn\"] = 500;\n    t[\"twosuperior\"] = 300;\n    t[\"Odieresis\"] = 722;\n    t[\"mu\"] = 500;\n    t[\"igrave\"] = 278;\n    t[\"ohungarumlaut\"] = 500;\n    t[\"Eogonek\"] = 611;\n    t[\"dcroat\"] = 500;\n    t[\"threequarters\"] = 750;\n    t[\"Scedilla\"] = 500;\n    t[\"lcaron\"] = 300;\n    t[\"Kcommaaccent\"] = 667;\n    t[\"Lacute\"] = 556;\n    t[\"trademark\"] = 980;\n    t[\"edotaccent\"] = 444;\n    t[\"Igrave\"] = 333;\n    t[\"Imacron\"] = 333;\n    t[\"Lcaron\"] = 611;\n    t[\"onehalf\"] = 750;\n    t[\"lessequal\"] = 549;\n    t[\"ocircumflex\"] = 500;\n    t[\"ntilde\"] = 500;\n    t[\"Uhungarumlaut\"] = 722;\n    t[\"Eacute\"] = 611;\n    t[\"emacron\"] = 444;\n    t[\"gbreve\"] = 500;\n    t[\"onequarter\"] = 750;\n    t[\"Scaron\"] = 500;\n    t[\"Scommaaccent\"] = 500;\n    t[\"Ohungarumlaut\"] = 722;\n    t[\"degree\"] = 400;\n    t[\"ograve\"] = 500;\n    t[\"Ccaron\"] = 667;\n    t[\"ugrave\"] = 500;\n    t[\"radical\"] = 453;\n    t[\"Dcaron\"] = 722;\n    t[\"rcommaaccent\"] = 389;\n    t[\"Ntilde\"] = 667;\n    t[\"otilde\"] = 500;\n    t[\"Rcommaaccent\"] = 611;\n    t[\"Lcommaaccent\"] = 556;\n    t[\"Atilde\"] = 611;\n    t[\"Aogonek\"] = 611;\n    t[\"Aring\"] = 611;\n    t[\"Otilde\"] = 722;\n    t[\"zdotaccent\"] = 389;\n    t[\"Ecaron\"] = 611;\n    t[\"Iogonek\"] = 333;\n    t[\"kcommaaccent\"] = 444;\n    t[\"minus\"] = 675;\n    t[\"Icircumflex\"] = 333;\n    t[\"ncaron\"] = 500;\n    t[\"tcommaaccent\"] = 278;\n    t[\"logicalnot\"] = 675;\n    t[\"odieresis\"] = 500;\n    t[\"udieresis\"] = 500;\n    t[\"notequal\"] = 549;\n    t[\"gcommaaccent\"] = 500;\n    t[\"eth\"] = 500;\n    t[\"zcaron\"] = 389;\n    t[\"ncommaaccent\"] = 500;\n    t[\"onesuperior\"] = 300;\n    t[\"imacron\"] = 278;\n    t[\"Euro\"] = 500;\n  });\n  t[\"ZapfDingbats\"] = getLookupTableFactory(function(t) {\n    t[\"space\"] = 278;\n    t[\"a1\"] = 974;\n    t[\"a2\"] = 961;\n    t[\"a202\"] = 974;\n    t[\"a3\"] = 980;\n    t[\"a4\"] = 719;\n    t[\"a5\"] = 789;\n    t[\"a119\"] = 790;\n    t[\"a118\"] = 791;\n    t[\"a117\"] = 690;\n    t[\"a11\"] = 960;\n    t[\"a12\"] = 939;\n    t[\"a13\"] = 549;\n    t[\"a14\"] = 855;\n    t[\"a15\"] = 911;\n    t[\"a16\"] = 933;\n    t[\"a105\"] = 911;\n    t[\"a17\"] = 945;\n    t[\"a18\"] = 974;\n    t[\"a19\"] = 755;\n    t[\"a20\"] = 846;\n    t[\"a21\"] = 762;\n    t[\"a22\"] = 761;\n    t[\"a23\"] = 571;\n    t[\"a24\"] = 677;\n    t[\"a25\"] = 763;\n    t[\"a26\"] = 760;\n    t[\"a27\"] = 759;\n    t[\"a28\"] = 754;\n    t[\"a6\"] = 494;\n    t[\"a7\"] = 552;\n    t[\"a8\"] = 537;\n    t[\"a9\"] = 577;\n    t[\"a10\"] = 692;\n    t[\"a29\"] = 786;\n    t[\"a30\"] = 788;\n    t[\"a31\"] = 788;\n    t[\"a32\"] = 790;\n    t[\"a33\"] = 793;\n    t[\"a34\"] = 794;\n    t[\"a35\"] = 816;\n    t[\"a36\"] = 823;\n    t[\"a37\"] = 789;\n    t[\"a38\"] = 841;\n    t[\"a39\"] = 823;\n    t[\"a40\"] = 833;\n    t[\"a41\"] = 816;\n    t[\"a42\"] = 831;\n    t[\"a43\"] = 923;\n    t[\"a44\"] = 744;\n    t[\"a45\"] = 723;\n    t[\"a46\"] = 749;\n    t[\"a47\"] = 790;\n    t[\"a48\"] = 792;\n    t[\"a49\"] = 695;\n    t[\"a50\"] = 776;\n    t[\"a51\"] = 768;\n    t[\"a52\"] = 792;\n    t[\"a53\"] = 759;\n    t[\"a54\"] = 707;\n    t[\"a55\"] = 708;\n    t[\"a56\"] = 682;\n    t[\"a57\"] = 701;\n    t[\"a58\"] = 826;\n    t[\"a59\"] = 815;\n    t[\"a60\"] = 789;\n    t[\"a61\"] = 789;\n    t[\"a62\"] = 707;\n    t[\"a63\"] = 687;\n    t[\"a64\"] = 696;\n    t[\"a65\"] = 689;\n    t[\"a66\"] = 786;\n    t[\"a67\"] = 787;\n    t[\"a68\"] = 713;\n    t[\"a69\"] = 791;\n    t[\"a70\"] = 785;\n    t[\"a71\"] = 791;\n    t[\"a72\"] = 873;\n    t[\"a73\"] = 761;\n    t[\"a74\"] = 762;\n    t[\"a203\"] = 762;\n    t[\"a75\"] = 759;\n    t[\"a204\"] = 759;\n    t[\"a76\"] = 892;\n    t[\"a77\"] = 892;\n    t[\"a78\"] = 788;\n    t[\"a79\"] = 784;\n    t[\"a81\"] = 438;\n    t[\"a82\"] = 138;\n    t[\"a83\"] = 277;\n    t[\"a84\"] = 415;\n    t[\"a97\"] = 392;\n    t[\"a98\"] = 392;\n    t[\"a99\"] = 668;\n    t[\"a100\"] = 668;\n    t[\"a89\"] = 390;\n    t[\"a90\"] = 390;\n    t[\"a93\"] = 317;\n    t[\"a94\"] = 317;\n    t[\"a91\"] = 276;\n    t[\"a92\"] = 276;\n    t[\"a205\"] = 509;\n    t[\"a85\"] = 509;\n    t[\"a206\"] = 410;\n    t[\"a86\"] = 410;\n    t[\"a87\"] = 234;\n    t[\"a88\"] = 234;\n    t[\"a95\"] = 334;\n    t[\"a96\"] = 334;\n    t[\"a101\"] = 732;\n    t[\"a102\"] = 544;\n    t[\"a103\"] = 544;\n    t[\"a104\"] = 910;\n    t[\"a106\"] = 667;\n    t[\"a107\"] = 760;\n    t[\"a108\"] = 760;\n    t[\"a112\"] = 776;\n    t[\"a111\"] = 595;\n    t[\"a110\"] = 694;\n    t[\"a109\"] = 626;\n    t[\"a120\"] = 788;\n    t[\"a121\"] = 788;\n    t[\"a122\"] = 788;\n    t[\"a123\"] = 788;\n    t[\"a124\"] = 788;\n    t[\"a125\"] = 788;\n    t[\"a126\"] = 788;\n    t[\"a127\"] = 788;\n    t[\"a128\"] = 788;\n    t[\"a129\"] = 788;\n    t[\"a130\"] = 788;\n    t[\"a131\"] = 788;\n    t[\"a132\"] = 788;\n    t[\"a133\"] = 788;\n    t[\"a134\"] = 788;\n    t[\"a135\"] = 788;\n    t[\"a136\"] = 788;\n    t[\"a137\"] = 788;\n    t[\"a138\"] = 788;\n    t[\"a139\"] = 788;\n    t[\"a140\"] = 788;\n    t[\"a141\"] = 788;\n    t[\"a142\"] = 788;\n    t[\"a143\"] = 788;\n    t[\"a144\"] = 788;\n    t[\"a145\"] = 788;\n    t[\"a146\"] = 788;\n    t[\"a147\"] = 788;\n    t[\"a148\"] = 788;\n    t[\"a149\"] = 788;\n    t[\"a150\"] = 788;\n    t[\"a151\"] = 788;\n    t[\"a152\"] = 788;\n    t[\"a153\"] = 788;\n    t[\"a154\"] = 788;\n    t[\"a155\"] = 788;\n    t[\"a156\"] = 788;\n    t[\"a157\"] = 788;\n    t[\"a158\"] = 788;\n    t[\"a159\"] = 788;\n    t[\"a160\"] = 894;\n    t[\"a161\"] = 838;\n    t[\"a163\"] = 1016;\n    t[\"a164\"] = 458;\n    t[\"a196\"] = 748;\n    t[\"a165\"] = 924;\n    t[\"a192\"] = 748;\n    t[\"a166\"] = 918;\n    t[\"a167\"] = 927;\n    t[\"a168\"] = 928;\n    t[\"a169\"] = 928;\n    t[\"a170\"] = 834;\n    t[\"a171\"] = 873;\n    t[\"a172\"] = 828;\n    t[\"a173\"] = 924;\n    t[\"a162\"] = 924;\n    t[\"a174\"] = 917;\n    t[\"a175\"] = 930;\n    t[\"a176\"] = 931;\n    t[\"a177\"] = 463;\n    t[\"a178\"] = 883;\n    t[\"a179\"] = 836;\n    t[\"a193\"] = 836;\n    t[\"a180\"] = 867;\n    t[\"a199\"] = 867;\n    t[\"a181\"] = 696;\n    t[\"a200\"] = 696;\n    t[\"a182\"] = 874;\n    t[\"a201\"] = 874;\n    t[\"a183\"] = 760;\n    t[\"a184\"] = 946;\n    t[\"a197\"] = 771;\n    t[\"a185\"] = 865;\n    t[\"a194\"] = 771;\n    t[\"a198\"] = 888;\n    t[\"a186\"] = 967;\n    t[\"a195\"] = 888;\n    t[\"a187\"] = 831;\n    t[\"a188\"] = 873;\n    t[\"a189\"] = 927;\n    t[\"a190\"] = 970;\n    t[\"a191\"] = 918;\n  });\n});\n\nexport { getMetrics };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  FormatError,\n  info,\n  isBool,\n  IsEvalSupportedCached,\n  unreachable,\n} from \"../shared/util.js\";\nimport { isDict, isStream } from \"./primitives.js\";\nimport { PostScriptLexer, PostScriptParser } from \"./ps_parser.js\";\n\nclass PDFFunctionFactory {\n  constructor({ xref, isEvalSupported = true }) {\n    this.xref = xref;\n    this.isEvalSupported = isEvalSupported !== false;\n  }\n\n  create(fn) {\n    return PDFFunction.parse({\n      xref: this.xref,\n      isEvalSupported: this.isEvalSupported,\n      fn,\n    });\n  }\n\n  createFromArray(fnObj) {\n    return PDFFunction.parseArray({\n      xref: this.xref,\n      isEvalSupported: this.isEvalSupported,\n      fnObj,\n    });\n  }\n}\n\nfunction toNumberArray(arr) {\n  if (!Array.isArray(arr)) {\n    return null;\n  }\n  const length = arr.length;\n  for (let i = 0; i < length; i++) {\n    if (typeof arr[i] !== \"number\") {\n      // Non-number is found -- convert all items to numbers.\n      const result = new Array(length);\n      for (let i = 0; i < length; i++) {\n        result[i] = +arr[i];\n      }\n      return result;\n    }\n  }\n  return arr;\n}\n\nvar PDFFunction = (function PDFFunctionClosure() {\n  const CONSTRUCT_SAMPLED = 0;\n  const CONSTRUCT_INTERPOLATED = 2;\n  const CONSTRUCT_STICHED = 3;\n  const CONSTRUCT_POSTSCRIPT = 4;\n\n  return {\n    getSampleArray(size, outputSize, bps, stream) {\n      var i, ii;\n      var length = 1;\n      for (i = 0, ii = size.length; i < ii; i++) {\n        length *= size[i];\n      }\n      length *= outputSize;\n\n      var array = new Array(length);\n      var codeSize = 0;\n      var codeBuf = 0;\n      // 32 is a valid bps so shifting won't work\n      var sampleMul = 1.0 / (2.0 ** bps - 1);\n\n      var strBytes = stream.getBytes((length * bps + 7) / 8);\n      var strIdx = 0;\n      for (i = 0; i < length; i++) {\n        while (codeSize < bps) {\n          codeBuf <<= 8;\n          codeBuf |= strBytes[strIdx++];\n          codeSize += 8;\n        }\n        codeSize -= bps;\n        array[i] = (codeBuf >> codeSize) * sampleMul;\n        codeBuf &= (1 << codeSize) - 1;\n      }\n      return array;\n    },\n\n    getIR({ xref, isEvalSupported, fn }) {\n      var dict = fn.dict;\n      if (!dict) {\n        dict = fn;\n      }\n\n      var types = [\n        this.constructSampled,\n        null,\n        this.constructInterpolated,\n        this.constructStiched,\n        this.constructPostScript,\n      ];\n\n      var typeNum = dict.get(\"FunctionType\");\n      var typeFn = types[typeNum];\n      if (!typeFn) {\n        throw new FormatError(\"Unknown type of function\");\n      }\n\n      return typeFn.call(this, { xref, isEvalSupported, fn, dict });\n    },\n\n    fromIR({ xref, isEvalSupported, IR }) {\n      var type = IR[0];\n      switch (type) {\n        case CONSTRUCT_SAMPLED:\n          return this.constructSampledFromIR({ xref, isEvalSupported, IR });\n        case CONSTRUCT_INTERPOLATED:\n          return this.constructInterpolatedFromIR({\n            xref,\n            isEvalSupported,\n            IR,\n          });\n        case CONSTRUCT_STICHED:\n          return this.constructStichedFromIR({ xref, isEvalSupported, IR });\n        // case CONSTRUCT_POSTSCRIPT:\n        default:\n          return this.constructPostScriptFromIR({ xref, isEvalSupported, IR });\n      }\n    },\n\n    parse({ xref, isEvalSupported, fn }) {\n      const IR = this.getIR({ xref, isEvalSupported, fn });\n      return this.fromIR({ xref, isEvalSupported, IR });\n    },\n\n    parseArray({ xref, isEvalSupported, fnObj }) {\n      if (!Array.isArray(fnObj)) {\n        // not an array -- parsing as regular function\n        return this.parse({ xref, isEvalSupported, fn: fnObj });\n      }\n\n      var fnArray = [];\n      for (var j = 0, jj = fnObj.length; j < jj; j++) {\n        fnArray.push(\n          this.parse({ xref, isEvalSupported, fn: xref.fetchIfRef(fnObj[j]) })\n        );\n      }\n      return function(src, srcOffset, dest, destOffset) {\n        for (var i = 0, ii = fnArray.length; i < ii; i++) {\n          fnArray[i](src, srcOffset, dest, destOffset + i);\n        }\n      };\n    },\n\n    constructSampled({ xref, isEvalSupported, fn, dict }) {\n      function toMultiArray(arr) {\n        var inputLength = arr.length;\n        var out = [];\n        var index = 0;\n        for (var i = 0; i < inputLength; i += 2) {\n          out[index] = [arr[i], arr[i + 1]];\n          ++index;\n        }\n        return out;\n      }\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n      var range = toNumberArray(dict.getArray(\"Range\"));\n\n      if (!domain || !range) {\n        throw new FormatError(\"No domain or range\");\n      }\n\n      var inputSize = domain.length / 2;\n      var outputSize = range.length / 2;\n\n      domain = toMultiArray(domain);\n      range = toMultiArray(range);\n\n      var size = toNumberArray(dict.getArray(\"Size\"));\n      var bps = dict.get(\"BitsPerSample\");\n      var order = dict.get(\"Order\") || 1;\n      if (order !== 1) {\n        // No description how cubic spline interpolation works in PDF32000:2008\n        // As in poppler, ignoring order, linear interpolation may work as good\n        info(\"No support for cubic spline interpolation: \" + order);\n      }\n\n      var encode = toNumberArray(dict.getArray(\"Encode\"));\n      if (!encode) {\n        encode = [];\n        for (var i = 0; i < inputSize; ++i) {\n          encode.push([0, size[i] - 1]);\n        }\n      } else {\n        encode = toMultiArray(encode);\n      }\n\n      var decode = toNumberArray(dict.getArray(\"Decode\"));\n      if (!decode) {\n        decode = range;\n      } else {\n        decode = toMultiArray(decode);\n      }\n\n      var samples = this.getSampleArray(size, outputSize, bps, fn);\n\n      return [\n        CONSTRUCT_SAMPLED,\n        inputSize,\n        domain,\n        encode,\n        decode,\n        samples,\n        size,\n        outputSize,\n        2 ** bps - 1,\n        range,\n      ];\n    },\n\n    constructSampledFromIR({ xref, isEvalSupported, IR }) {\n      // See chapter 3, page 109 of the PDF reference\n      function interpolate(x, xmin, xmax, ymin, ymax) {\n        return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n      }\n\n      return function constructSampledFromIRResult(\n        src,\n        srcOffset,\n        dest,\n        destOffset\n      ) {\n        // See chapter 3, page 110 of the PDF reference.\n        var m = IR[1];\n        var domain = IR[2];\n        var encode = IR[3];\n        var decode = IR[4];\n        var samples = IR[5];\n        var size = IR[6];\n        var n = IR[7];\n        // var mask = IR[8];\n        var range = IR[9];\n\n        // Building the cube vertices: its part and sample index\n        // http://rjwagner49.com/Mathematics/Interpolation.pdf\n        var cubeVertices = 1 << m;\n        var cubeN = new Float64Array(cubeVertices);\n        var cubeVertex = new Uint32Array(cubeVertices);\n        var i, j;\n        for (j = 0; j < cubeVertices; j++) {\n          cubeN[j] = 1;\n        }\n\n        var k = n,\n          pos = 1;\n        // Map x_i to y_j for 0 <= i < m using the sampled function.\n        for (i = 0; i < m; ++i) {\n          // x_i' = min(max(x_i, Domain_2i), Domain_2i+1)\n          var domain_2i = domain[i][0];\n          var domain_2i_1 = domain[i][1];\n          var xi = Math.min(\n            Math.max(src[srcOffset + i], domain_2i),\n            domain_2i_1\n          );\n\n          // e_i = Interpolate(x_i', Domain_2i, Domain_2i+1,\n          //                   Encode_2i, Encode_2i+1)\n          var e = interpolate(\n            xi,\n            domain_2i,\n            domain_2i_1,\n            encode[i][0],\n            encode[i][1]\n          );\n\n          // e_i' = min(max(e_i, 0), Size_i - 1)\n          var size_i = size[i];\n          e = Math.min(Math.max(e, 0), size_i - 1);\n\n          // Adjusting the cube: N and vertex sample index\n          var e0 = e < size_i - 1 ? Math.floor(e) : e - 1; // e1 = e0 + 1;\n          var n0 = e0 + 1 - e; // (e1 - e) / (e1 - e0);\n          var n1 = e - e0; // (e - e0) / (e1 - e0);\n          var offset0 = e0 * k;\n          var offset1 = offset0 + k; // e1 * k\n          for (j = 0; j < cubeVertices; j++) {\n            if (j & pos) {\n              cubeN[j] *= n1;\n              cubeVertex[j] += offset1;\n            } else {\n              cubeN[j] *= n0;\n              cubeVertex[j] += offset0;\n            }\n          }\n\n          k *= size_i;\n          pos <<= 1;\n        }\n\n        for (j = 0; j < n; ++j) {\n          // Sum all cube vertices' samples portions\n          var rj = 0;\n          for (i = 0; i < cubeVertices; i++) {\n            rj += samples[cubeVertex[i] + j] * cubeN[i];\n          }\n\n          // r_j' = Interpolate(r_j, 0, 2^BitsPerSample - 1,\n          //                    Decode_2j, Decode_2j+1)\n          rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n\n          // y_j = min(max(r_j, range_2j), range_2j+1)\n          dest[destOffset + j] = Math.min(\n            Math.max(rj, range[j][0]),\n            range[j][1]\n          );\n        }\n      };\n    },\n\n    constructInterpolated({ xref, isEvalSupported, fn, dict }) {\n      var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n      var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n      var n = dict.get(\"N\");\n\n      var length = c0.length;\n      var diff = [];\n      for (var i = 0; i < length; ++i) {\n        diff.push(c1[i] - c0[i]);\n      }\n\n      return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n    },\n\n    constructInterpolatedFromIR({ xref, isEvalSupported, IR }) {\n      var c0 = IR[1];\n      var diff = IR[2];\n      var n = IR[3];\n\n      var length = diff.length;\n\n      return function constructInterpolatedFromIRResult(\n        src,\n        srcOffset,\n        dest,\n        destOffset\n      ) {\n        var x = n === 1 ? src[srcOffset] : src[srcOffset] ** n;\n\n        for (var j = 0; j < length; ++j) {\n          dest[destOffset + j] = c0[j] + x * diff[j];\n        }\n      };\n    },\n\n    constructStiched({ xref, isEvalSupported, fn, dict }) {\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n      if (!domain) {\n        throw new FormatError(\"No domain\");\n      }\n\n      var inputSize = domain.length / 2;\n      if (inputSize !== 1) {\n        throw new FormatError(\"Bad domain for stiched function\");\n      }\n\n      var fnRefs = dict.get(\"Functions\");\n      var fns = [];\n      for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n        fns.push(\n          this.parse({ xref, isEvalSupported, fn: xref.fetchIfRef(fnRefs[i]) })\n        );\n      }\n\n      var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n      var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n      return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n    },\n\n    constructStichedFromIR({ xref, isEvalSupported, IR }) {\n      var domain = IR[1];\n      var bounds = IR[2];\n      var encode = IR[3];\n      var fns = IR[4];\n      var tmpBuf = new Float32Array(1);\n\n      return function constructStichedFromIRResult(\n        src,\n        srcOffset,\n        dest,\n        destOffset\n      ) {\n        var clip = function constructStichedFromIRClip(v, min, max) {\n          if (v > max) {\n            v = max;\n          } else if (v < min) {\n            v = min;\n          }\n          return v;\n        };\n\n        // clip to domain\n        var v = clip(src[srcOffset], domain[0], domain[1]);\n        // calculate which bound the value is in\n        for (var i = 0, ii = bounds.length; i < ii; ++i) {\n          if (v < bounds[i]) {\n            break;\n          }\n        }\n\n        // encode value into domain of function\n        var dmin = domain[0];\n        if (i > 0) {\n          dmin = bounds[i - 1];\n        }\n        var dmax = domain[1];\n        if (i < bounds.length) {\n          dmax = bounds[i];\n        }\n\n        var rmin = encode[2 * i];\n        var rmax = encode[2 * i + 1];\n\n        // Prevent the value from becoming NaN as a result\n        // of division by zero (fixes issue6113.pdf).\n        tmpBuf[0] =\n          dmin === dmax\n            ? rmin\n            : rmin + ((v - dmin) * (rmax - rmin)) / (dmax - dmin);\n\n        // call the appropriate function\n        fns[i](tmpBuf, 0, dest, destOffset);\n      };\n    },\n\n    constructPostScript({ xref, isEvalSupported, fn, dict }) {\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n      var range = toNumberArray(dict.getArray(\"Range\"));\n\n      if (!domain) {\n        throw new FormatError(\"No domain.\");\n      }\n\n      if (!range) {\n        throw new FormatError(\"No range.\");\n      }\n\n      var lexer = new PostScriptLexer(fn);\n      var parser = new PostScriptParser(lexer);\n      var code = parser.parse();\n\n      return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n    },\n\n    constructPostScriptFromIR({ xref, isEvalSupported, IR }) {\n      var domain = IR[1];\n      var range = IR[2];\n      var code = IR[3];\n\n      if (isEvalSupported && IsEvalSupportedCached.value) {\n        const compiled = new PostScriptCompiler().compile(code, domain, range);\n        if (compiled) {\n          // Compiled function consists of simple expressions such as addition,\n          // subtraction, Math.max, and also contains 'var' and 'return'\n          // statements. See the generation in the PostScriptCompiler below.\n          // eslint-disable-next-line no-new-func\n          return new Function(\n            \"src\",\n            \"srcOffset\",\n            \"dest\",\n            \"destOffset\",\n            compiled\n          );\n        }\n      }\n      info(\"Unable to compile PS function\");\n\n      var numOutputs = range.length >> 1;\n      var numInputs = domain.length >> 1;\n      var evaluator = new PostScriptEvaluator(code);\n      // Cache the values for a big speed up, the cache size is limited though\n      // since the number of possible values can be huge from a PS function.\n      var cache = Object.create(null);\n      // The MAX_CACHE_SIZE is set to ~4x the maximum number of distinct values\n      // seen in our tests.\n      var MAX_CACHE_SIZE = 2048 * 4;\n      var cache_available = MAX_CACHE_SIZE;\n      var tmpBuf = new Float32Array(numInputs);\n\n      return function constructPostScriptFromIRResult(\n        src,\n        srcOffset,\n        dest,\n        destOffset\n      ) {\n        var i, value;\n        var key = \"\";\n        var input = tmpBuf;\n        for (i = 0; i < numInputs; i++) {\n          value = src[srcOffset + i];\n          input[i] = value;\n          key += value + \"_\";\n        }\n\n        var cachedValue = cache[key];\n        if (cachedValue !== undefined) {\n          dest.set(cachedValue, destOffset);\n          return;\n        }\n\n        var output = new Float32Array(numOutputs);\n        var stack = evaluator.execute(input);\n        var stackIndex = stack.length - numOutputs;\n        for (i = 0; i < numOutputs; i++) {\n          value = stack[stackIndex + i];\n          var bound = range[i * 2];\n          if (value < bound) {\n            value = bound;\n          } else {\n            bound = range[i * 2 + 1];\n            if (value > bound) {\n              value = bound;\n            }\n          }\n          output[i] = value;\n        }\n        if (cache_available > 0) {\n          cache_available--;\n          cache[key] = output;\n        }\n        dest.set(output, destOffset);\n      };\n    },\n  };\n})();\n\nfunction isPDFFunction(v) {\n  var fnDict;\n  if (typeof v !== \"object\") {\n    return false;\n  } else if (isDict(v)) {\n    fnDict = v;\n  } else if (isStream(v)) {\n    fnDict = v.dict;\n  } else {\n    return false;\n  }\n  return fnDict.has(\"FunctionType\");\n}\n\nvar PostScriptStack = (function PostScriptStackClosure() {\n  var MAX_STACK_SIZE = 100;\n  function PostScriptStack(initialStack) {\n    this.stack = !initialStack\n      ? []\n      : Array.prototype.slice.call(initialStack, 0);\n  }\n\n  PostScriptStack.prototype = {\n    push: function PostScriptStack_push(value) {\n      if (this.stack.length >= MAX_STACK_SIZE) {\n        throw new Error(\"PostScript function stack overflow.\");\n      }\n      this.stack.push(value);\n    },\n    pop: function PostScriptStack_pop() {\n      if (this.stack.length <= 0) {\n        throw new Error(\"PostScript function stack underflow.\");\n      }\n      return this.stack.pop();\n    },\n    copy: function PostScriptStack_copy(n) {\n      if (this.stack.length + n >= MAX_STACK_SIZE) {\n        throw new Error(\"PostScript function stack overflow.\");\n      }\n      var stack = this.stack;\n      for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n        stack.push(stack[i]);\n      }\n    },\n    index: function PostScriptStack_index(n) {\n      this.push(this.stack[this.stack.length - n - 1]);\n    },\n    // rotate the last n stack elements p times\n    roll: function PostScriptStack_roll(n, p) {\n      var stack = this.stack;\n      var l = stack.length - n;\n      var r = stack.length - 1,\n        c = l + (p - Math.floor(p / n) * n),\n        i,\n        j,\n        t;\n      for (i = l, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n      for (i = l, j = c - 1; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n      for (i = c, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n    },\n  };\n  return PostScriptStack;\n})();\nvar PostScriptEvaluator = (function PostScriptEvaluatorClosure() {\n  function PostScriptEvaluator(operators) {\n    this.operators = operators;\n  }\n  PostScriptEvaluator.prototype = {\n    execute: function PostScriptEvaluator_execute(initialStack) {\n      var stack = new PostScriptStack(initialStack);\n      var counter = 0;\n      var operators = this.operators;\n      var length = operators.length;\n      var operator, a, b;\n      while (counter < length) {\n        operator = operators[counter++];\n        if (typeof operator === \"number\") {\n          // Operator is really an operand and should be pushed to the stack.\n          stack.push(operator);\n          continue;\n        }\n        switch (operator) {\n          // non standard ps operators\n          case \"jz\": // jump if false\n            b = stack.pop();\n            a = stack.pop();\n            if (!a) {\n              counter = b;\n            }\n            break;\n          case \"j\": // jump\n            a = stack.pop();\n            counter = a;\n            break;\n\n          // all ps operators in alphabetical order (excluding if/ifelse)\n          case \"abs\":\n            a = stack.pop();\n            stack.push(Math.abs(a));\n            break;\n          case \"add\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a + b);\n            break;\n          case \"and\":\n            b = stack.pop();\n            a = stack.pop();\n            if (isBool(a) && isBool(b)) {\n              stack.push(a && b);\n            } else {\n              stack.push(a & b);\n            }\n            break;\n          case \"atan\":\n            a = stack.pop();\n            stack.push(Math.atan(a));\n            break;\n          case \"bitshift\":\n            b = stack.pop();\n            a = stack.pop();\n            if (a > 0) {\n              stack.push(a << b);\n            } else {\n              stack.push(a >> b);\n            }\n            break;\n          case \"ceiling\":\n            a = stack.pop();\n            stack.push(Math.ceil(a));\n            break;\n          case \"copy\":\n            a = stack.pop();\n            stack.copy(a);\n            break;\n          case \"cos\":\n            a = stack.pop();\n            stack.push(Math.cos(a));\n            break;\n          case \"cvi\":\n            a = stack.pop() | 0;\n            stack.push(a);\n            break;\n          case \"cvr\":\n            // noop\n            break;\n          case \"div\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b);\n            break;\n          case \"dup\":\n            stack.copy(1);\n            break;\n          case \"eq\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a === b);\n            break;\n          case \"exch\":\n            stack.roll(2, 1);\n            break;\n          case \"exp\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a ** b);\n            break;\n          case \"false\":\n            stack.push(false);\n            break;\n          case \"floor\":\n            a = stack.pop();\n            stack.push(Math.floor(a));\n            break;\n          case \"ge\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a >= b);\n            break;\n          case \"gt\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a > b);\n            break;\n          case \"idiv\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push((a / b) | 0);\n            break;\n          case \"index\":\n            a = stack.pop();\n            stack.index(a);\n            break;\n          case \"le\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a <= b);\n            break;\n          case \"ln\":\n            a = stack.pop();\n            stack.push(Math.log(a));\n            break;\n          case \"log\":\n            a = stack.pop();\n            stack.push(Math.log(a) / Math.LN10);\n            break;\n          case \"lt\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a < b);\n            break;\n          case \"mod\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a % b);\n            break;\n          case \"mul\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a * b);\n            break;\n          case \"ne\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a !== b);\n            break;\n          case \"neg\":\n            a = stack.pop();\n            stack.push(-a);\n            break;\n          case \"not\":\n            a = stack.pop();\n            if (isBool(a)) {\n              stack.push(!a);\n            } else {\n              stack.push(~a);\n            }\n            break;\n          case \"or\":\n            b = stack.pop();\n            a = stack.pop();\n            if (isBool(a) && isBool(b)) {\n              stack.push(a || b);\n            } else {\n              stack.push(a | b);\n            }\n            break;\n          case \"pop\":\n            stack.pop();\n            break;\n          case \"roll\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.roll(a, b);\n            break;\n          case \"round\":\n            a = stack.pop();\n            stack.push(Math.round(a));\n            break;\n          case \"sin\":\n            a = stack.pop();\n            stack.push(Math.sin(a));\n            break;\n          case \"sqrt\":\n            a = stack.pop();\n            stack.push(Math.sqrt(a));\n            break;\n          case \"sub\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a - b);\n            break;\n          case \"true\":\n            stack.push(true);\n            break;\n          case \"truncate\":\n            a = stack.pop();\n            a = a < 0 ? Math.ceil(a) : Math.floor(a);\n            stack.push(a);\n            break;\n          case \"xor\":\n            b = stack.pop();\n            a = stack.pop();\n            if (isBool(a) && isBool(b)) {\n              stack.push(a !== b);\n            } else {\n              stack.push(a ^ b);\n            }\n            break;\n          default:\n            throw new FormatError(`Unknown operator ${operator}`);\n        }\n      }\n      return stack.stack;\n    },\n  };\n  return PostScriptEvaluator;\n})();\n\n// Most of the PDFs functions consist of simple operations such as:\n//   roll, exch, sub, cvr, pop, index, dup, mul, if, gt, add.\n//\n// We can compile most of such programs, and at the same moment, we can\n// optimize some expressions using basic math properties. Keeping track of\n// min/max values will allow us to avoid extra Math.min/Math.max calls.\nvar PostScriptCompiler = (function PostScriptCompilerClosure() {\n  function AstNode(type) {\n    this.type = type;\n  }\n  AstNode.prototype.visit = function(visitor) {\n    unreachable(\"abstract method\");\n  };\n\n  function AstArgument(index, min, max) {\n    AstNode.call(this, \"args\");\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n  AstArgument.prototype = Object.create(AstNode.prototype);\n  AstArgument.prototype.visit = function(visitor) {\n    visitor.visitArgument(this);\n  };\n\n  function AstLiteral(number) {\n    AstNode.call(this, \"literal\");\n    this.number = number;\n    this.min = number;\n    this.max = number;\n  }\n  AstLiteral.prototype = Object.create(AstNode.prototype);\n  AstLiteral.prototype.visit = function(visitor) {\n    visitor.visitLiteral(this);\n  };\n\n  function AstBinaryOperation(op, arg1, arg2, min, max) {\n    AstNode.call(this, \"binary\");\n    this.op = op;\n    this.arg1 = arg1;\n    this.arg2 = arg2;\n    this.min = min;\n    this.max = max;\n  }\n  AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n  AstBinaryOperation.prototype.visit = function(visitor) {\n    visitor.visitBinaryOperation(this);\n  };\n\n  function AstMin(arg, max) {\n    AstNode.call(this, \"max\");\n    this.arg = arg;\n    this.min = arg.min;\n    this.max = max;\n  }\n  AstMin.prototype = Object.create(AstNode.prototype);\n  AstMin.prototype.visit = function(visitor) {\n    visitor.visitMin(this);\n  };\n\n  function AstVariable(index, min, max) {\n    AstNode.call(this, \"var\");\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n  AstVariable.prototype = Object.create(AstNode.prototype);\n  AstVariable.prototype.visit = function(visitor) {\n    visitor.visitVariable(this);\n  };\n\n  function AstVariableDefinition(variable, arg) {\n    AstNode.call(this, \"definition\");\n    this.variable = variable;\n    this.arg = arg;\n  }\n  AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n  AstVariableDefinition.prototype.visit = function(visitor) {\n    visitor.visitVariableDefinition(this);\n  };\n\n  function ExpressionBuilderVisitor() {\n    this.parts = [];\n  }\n  ExpressionBuilderVisitor.prototype = {\n    visitArgument(arg) {\n      this.parts.push(\n        \"Math.max(\",\n        arg.min,\n        \", Math.min(\",\n        arg.max,\n        \", src[srcOffset + \",\n        arg.index,\n        \"]))\"\n      );\n    },\n    visitVariable(variable) {\n      this.parts.push(\"v\", variable.index);\n    },\n    visitLiteral(literal) {\n      this.parts.push(literal.number);\n    },\n    visitBinaryOperation(operation) {\n      this.parts.push(\"(\");\n      operation.arg1.visit(this);\n      this.parts.push(\" \", operation.op, \" \");\n      operation.arg2.visit(this);\n      this.parts.push(\")\");\n    },\n    visitVariableDefinition(definition) {\n      this.parts.push(\"var \");\n      definition.variable.visit(this);\n      this.parts.push(\" = \");\n      definition.arg.visit(this);\n      this.parts.push(\";\");\n    },\n    visitMin(max) {\n      this.parts.push(\"Math.min(\");\n      max.arg.visit(this);\n      this.parts.push(\", \", max.max, \")\");\n    },\n    toString() {\n      return this.parts.join(\"\");\n    },\n  };\n\n  function buildAddOperation(num1, num2) {\n    if (num2.type === \"literal\" && num2.number === 0) {\n      // optimization: second operand is 0\n      return num1;\n    }\n    if (num1.type === \"literal\" && num1.number === 0) {\n      // optimization: first operand is 0\n      return num2;\n    }\n    if (num2.type === \"literal\" && num1.type === \"literal\") {\n      // optimization: operands operand are literals\n      return new AstLiteral(num1.number + num2.number);\n    }\n    return new AstBinaryOperation(\n      \"+\",\n      num1,\n      num2,\n      num1.min + num2.min,\n      num1.max + num2.max\n    );\n  }\n\n  function buildMulOperation(num1, num2) {\n    if (num2.type === \"literal\") {\n      // optimization: second operands is a literal...\n      if (num2.number === 0) {\n        return new AstLiteral(0); // and it's 0\n      } else if (num2.number === 1) {\n        return num1; // and it's 1\n      } else if (num1.type === \"literal\") {\n        // ... and first operands is a literal too\n        return new AstLiteral(num1.number * num2.number);\n      }\n    }\n    if (num1.type === \"literal\") {\n      // optimization: first operands is a literal...\n      if (num1.number === 0) {\n        return new AstLiteral(0); // and it's 0\n      } else if (num1.number === 1) {\n        return num2; // and it's 1\n      }\n    }\n    var min = Math.min(\n      num1.min * num2.min,\n      num1.min * num2.max,\n      num1.max * num2.min,\n      num1.max * num2.max\n    );\n    var max = Math.max(\n      num1.min * num2.min,\n      num1.min * num2.max,\n      num1.max * num2.min,\n      num1.max * num2.max\n    );\n    return new AstBinaryOperation(\"*\", num1, num2, min, max);\n  }\n\n  function buildSubOperation(num1, num2) {\n    if (num2.type === \"literal\") {\n      // optimization: second operands is a literal...\n      if (num2.number === 0) {\n        return num1; // ... and it's 0\n      } else if (num1.type === \"literal\") {\n        // ... and first operands is a literal too\n        return new AstLiteral(num1.number - num2.number);\n      }\n    }\n    if (\n      num2.type === \"binary\" &&\n      num2.op === \"-\" &&\n      num1.type === \"literal\" &&\n      num1.number === 1 &&\n      num2.arg1.type === \"literal\" &&\n      num2.arg1.number === 1\n    ) {\n      // optimization for case: 1 - (1 - x)\n      return num2.arg2;\n    }\n    return new AstBinaryOperation(\n      \"-\",\n      num1,\n      num2,\n      num1.min - num2.max,\n      num1.max - num2.min\n    );\n  }\n\n  function buildMinOperation(num1, max) {\n    if (num1.min >= max) {\n      // optimization: num1 min value is not less than required max\n      return new AstLiteral(max); // just returning max\n    } else if (num1.max <= max) {\n      // optimization: num1 max value is not greater than required max\n      return num1; // just returning an argument\n    }\n    return new AstMin(num1, max);\n  }\n\n  function PostScriptCompiler() {}\n  PostScriptCompiler.prototype = {\n    compile: function PostScriptCompiler_compile(code, domain, range) {\n      var stack = [];\n      var i, ii;\n      var instructions = [];\n      var inputSize = domain.length >> 1,\n        outputSize = range.length >> 1;\n      var lastRegister = 0;\n      var n, j;\n      var num1, num2, ast1, ast2, tmpVar, item;\n      for (i = 0; i < inputSize; i++) {\n        stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n      }\n\n      for (i = 0, ii = code.length; i < ii; i++) {\n        item = code[i];\n        if (typeof item === \"number\") {\n          stack.push(new AstLiteral(item));\n          continue;\n        }\n\n        switch (item) {\n          case \"add\":\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildAddOperation(num1, num2));\n            break;\n          case \"cvr\":\n            if (stack.length < 1) {\n              return null;\n            }\n            break;\n          case \"mul\":\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildMulOperation(num1, num2));\n            break;\n          case \"sub\":\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildSubOperation(num1, num2));\n            break;\n          case \"exch\":\n            if (stack.length < 2) {\n              return null;\n            }\n            ast1 = stack.pop();\n            ast2 = stack.pop();\n            stack.push(ast1, ast2);\n            break;\n          case \"pop\":\n            if (stack.length < 1) {\n              return null;\n            }\n            stack.pop();\n            break;\n          case \"index\":\n            if (stack.length < 1) {\n              return null;\n            }\n            num1 = stack.pop();\n            if (num1.type !== \"literal\") {\n              return null;\n            }\n            n = num1.number;\n            if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n              return null;\n            }\n            ast1 = stack[stack.length - n - 1];\n            if (ast1.type === \"literal\" || ast1.type === \"var\") {\n              stack.push(ast1);\n              break;\n            }\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - n - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n          case \"dup\":\n            if (stack.length < 1) {\n              return null;\n            }\n            if (\n              typeof code[i + 1] === \"number\" &&\n              code[i + 2] === \"gt\" &&\n              code[i + 3] === i + 7 &&\n              code[i + 4] === \"jz\" &&\n              code[i + 5] === \"pop\" &&\n              code[i + 6] === code[i + 1]\n            ) {\n              // special case of the commands sequence for the min operation\n              num1 = stack.pop();\n              stack.push(buildMinOperation(num1, code[i + 1]));\n              i += 6;\n              break;\n            }\n            ast1 = stack[stack.length - 1];\n            if (ast1.type === \"literal\" || ast1.type === \"var\") {\n              // we don't have to save into intermediate variable a literal or\n              // variable.\n              stack.push(ast1);\n              break;\n            }\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n          case \"roll\":\n            if (stack.length < 2) {\n              return null;\n            }\n            num2 = stack.pop();\n            num1 = stack.pop();\n            if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n              // both roll operands must be numbers\n              return null;\n            }\n            j = num2.number;\n            n = num1.number;\n            if (\n              n <= 0 ||\n              !Number.isInteger(n) ||\n              !Number.isInteger(j) ||\n              stack.length < n\n            ) {\n              // ... and integers\n              return null;\n            }\n            j = ((j % n) + n) % n;\n            if (j === 0) {\n              break; // just skipping -- there are nothing to rotate\n            }\n            Array.prototype.push.apply(\n              stack,\n              stack.splice(stack.length - n, n - j)\n            );\n            break;\n          default:\n            return null; // unsupported operator\n        }\n      }\n\n      if (stack.length !== outputSize) {\n        return null;\n      }\n\n      var result = [];\n      instructions.forEach(function(instruction) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        instruction.visit(statementBuilder);\n        result.push(statementBuilder.toString());\n      });\n      stack.forEach(function(expr, i) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        expr.visit(statementBuilder);\n        var min = range[i * 2],\n          max = range[i * 2 + 1];\n        var out = [statementBuilder.toString()];\n        if (min > expr.min) {\n          out.unshift(\"Math.max(\", min, \", \");\n          out.push(\")\");\n        }\n        if (max < expr.max) {\n          out.unshift(\"Math.min(\", max, \", \");\n          out.push(\")\");\n        }\n        out.unshift(\"dest[destOffset + \", i, \"] = \");\n        out.push(\";\");\n        result.push(out.join(\"\"));\n      });\n      return result.join(\"\\n\");\n    },\n  };\n\n  return PostScriptCompiler;\n})();\n\nexport {\n  isPDFFunction,\n  PDFFunctionFactory,\n  PostScriptEvaluator,\n  PostScriptCompiler,\n};\n","/* Copyright 2014 Mozilla Foundation\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/* eslint no-var: error */\n\nimport { FormatError, shadow } from \"../shared/util.js\";\nimport { EOF } from \"./primitives.js\";\nimport { isWhiteSpace } from \"./core_utils.js\";\n\nclass PostScriptParser {\n  constructor(lexer) {\n    this.lexer = lexer;\n    this.operators = [];\n    this.token = null;\n    this.prev = null;\n  }\n\n  nextToken() {\n    this.prev = this.token;\n    this.token = this.lexer.getToken();\n  }\n\n  accept(type) {\n    if (this.token.type === type) {\n      this.nextToken();\n      return true;\n    }\n    return false;\n  }\n\n  expect(type) {\n    if (this.accept(type)) {\n      return true;\n    }\n    throw new FormatError(\n      `Unexpected symbol: found ${this.token.type} expected ${type}.`\n    );\n  }\n\n  parse() {\n    this.nextToken();\n    this.expect(PostScriptTokenTypes.LBRACE);\n    this.parseBlock();\n    this.expect(PostScriptTokenTypes.RBRACE);\n    return this.operators;\n  }\n\n  parseBlock() {\n    while (true) {\n      if (this.accept(PostScriptTokenTypes.NUMBER)) {\n        this.operators.push(this.prev.value);\n      } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n        this.operators.push(this.prev.value);\n      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n        this.parseCondition();\n      } else {\n        return;\n      }\n    }\n  }\n\n  parseCondition() {\n    // Add two place holders that will be updated later\n    const conditionLocation = this.operators.length;\n    this.operators.push(null, null);\n\n    this.parseBlock();\n    this.expect(PostScriptTokenTypes.RBRACE);\n    if (this.accept(PostScriptTokenTypes.IF)) {\n      // The true block is right after the 'if' so it just falls through on true\n      // else it jumps and skips the true block.\n      this.operators[conditionLocation] = this.operators.length;\n      this.operators[conditionLocation + 1] = \"jz\";\n    } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n      const jumpLocation = this.operators.length;\n      this.operators.push(null, null);\n      const endOfTrue = this.operators.length;\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n      this.expect(PostScriptTokenTypes.IFELSE);\n      // The jump is added at the end of the true block to skip the false block.\n      this.operators[jumpLocation] = this.operators.length;\n      this.operators[jumpLocation + 1] = \"j\";\n\n      this.operators[conditionLocation] = endOfTrue;\n      this.operators[conditionLocation + 1] = \"jz\";\n    } else {\n      throw new FormatError(\"PS Function: error parsing conditional.\");\n    }\n  }\n}\n\nconst PostScriptTokenTypes = {\n  LBRACE: 0,\n  RBRACE: 1,\n  NUMBER: 2,\n  OPERATOR: 3,\n  IF: 4,\n  IFELSE: 5,\n};\n\nconst PostScriptToken = (function PostScriptTokenClosure() {\n  const opCache = Object.create(null);\n\n  class PostScriptToken {\n    constructor(type, value) {\n      this.type = type;\n      this.value = value;\n    }\n\n    static getOperator(op) {\n      const opValue = opCache[op];\n      if (opValue) {\n        return opValue;\n      }\n      return (opCache[op] = new PostScriptToken(\n        PostScriptTokenTypes.OPERATOR,\n        op\n      ));\n    }\n\n    static get LBRACE() {\n      return shadow(\n        this,\n        \"LBRACE\",\n        new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\")\n      );\n    }\n\n    static get RBRACE() {\n      return shadow(\n        this,\n        \"RBRACE\",\n        new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\")\n      );\n    }\n\n    static get IF() {\n      return shadow(\n        this,\n        \"IF\",\n        new PostScriptToken(PostScriptTokenTypes.IF, \"IF\")\n      );\n    }\n\n    static get IFELSE() {\n      return shadow(\n        this,\n        \"IFELSE\",\n        new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\")\n      );\n    }\n  }\n  return PostScriptToken;\n})();\n\nclass PostScriptLexer {\n  constructor(stream) {\n    this.stream = stream;\n    this.nextChar();\n\n    this.strBuf = [];\n  }\n\n  nextChar() {\n    return (this.currentChar = this.stream.getByte());\n  }\n\n  getToken() {\n    let comment = false;\n    let ch = this.currentChar;\n\n    // skip comments\n    while (true) {\n      if (ch < 0) {\n        return EOF;\n      }\n\n      if (comment) {\n        if (ch === 0x0a || ch === 0x0d) {\n          comment = false;\n        }\n      } else if (ch === /* '%' = */ 0x25) {\n        comment = true;\n      } else if (!isWhiteSpace(ch)) {\n        break;\n      }\n      ch = this.nextChar();\n    }\n    switch (ch | 0) {\n      case 0x30: // '0'\n      case 0x31: // '1'\n      case 0x32: // '2'\n      case 0x33: // '3'\n      case 0x34: // '4'\n      case 0x35: // '5'\n      case 0x36: // '6'\n      case 0x37: // '7'\n      case 0x38: // '8'\n      case 0x39: // '9'\n      case 0x2b: // '+'\n      case 0x2d: // '-'\n      case 0x2e: // '.'\n        return new PostScriptToken(\n          PostScriptTokenTypes.NUMBER,\n          this.getNumber()\n        );\n      case 0x7b: // '{'\n        this.nextChar();\n        return PostScriptToken.LBRACE;\n      case 0x7d: // '}'\n        this.nextChar();\n        return PostScriptToken.RBRACE;\n    }\n    // operator\n    const strBuf = this.strBuf;\n    strBuf.length = 0;\n    strBuf[0] = String.fromCharCode(ch);\n\n    while (\n      (ch = this.nextChar()) >= 0 &&\n      ((ch >= /* 'A' = */ 0x41 && ch <= /* 'Z' = */ 0x5a) ||\n        (ch >= /* 'a' = */ 0x61 && ch <= /* 'z' = */ 0x7a))\n    ) {\n      strBuf.push(String.fromCharCode(ch));\n    }\n    const str = strBuf.join(\"\");\n    switch (str.toLowerCase()) {\n      case \"if\":\n        return PostScriptToken.IF;\n      case \"ifelse\":\n        return PostScriptToken.IFELSE;\n      default:\n        return PostScriptToken.getOperator(str);\n    }\n  }\n\n  getNumber() {\n    let ch = this.currentChar;\n    const strBuf = this.strBuf;\n    strBuf.length = 0;\n    strBuf[0] = String.fromCharCode(ch);\n\n    while ((ch = this.nextChar()) >= 0) {\n      if (\n        (ch >= /* '0' = */ 0x30 && ch <= /* '9' = */ 0x39) ||\n        ch === /* '-' = */ 0x2d ||\n        ch === /* '.' = */ 0x2e\n      ) {\n        strBuf.push(String.fromCharCode(ch));\n      } else {\n        break;\n      }\n    }\n    const value = parseFloat(strBuf.join(\"\"));\n    if (isNaN(value)) {\n      throw new FormatError(`Invalid floating point number: ${value}`);\n    }\n    return value;\n  }\n}\n\nexport { PostScriptLexer, PostScriptParser };\n","/* Copyright 2014 Opera Software ASA\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 *\n * Based on https://code.google.com/p/smhasher/wiki/MurmurHash3.\n * Hashes roughly 100 KB per millisecond on i7 3.4 GHz.\n */\n/* eslint no-var: error */\n\nimport { isArrayBuffer, isString } from \"../shared/util.js\";\n\nconst SEED = 0xc3d2e1f0;\n// Workaround for missing math precision in JS.\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\n\nclass MurmurHash3_64 {\n  constructor(seed) {\n    this.h1 = seed ? seed & 0xffffffff : SEED;\n    this.h2 = seed ? seed & 0xffffffff : SEED;\n  }\n\n  update(input) {\n    let data, length;\n    if (isString(input)) {\n      data = new Uint8Array(input.length * 2);\n      length = 0;\n      for (let i = 0, ii = input.length; i < ii; i++) {\n        const code = input.charCodeAt(i);\n        if (code <= 0xff) {\n          data[length++] = code;\n        } else {\n          data[length++] = code >>> 8;\n          data[length++] = code & 0xff;\n        }\n      }\n    } else if (isArrayBuffer(input)) {\n      data = input;\n      length = data.byteLength;\n    } else {\n      throw new Error(\n        \"Wrong data format in MurmurHash3_64_update. \" +\n          \"Input must be a string or array.\"\n      );\n    }\n\n    const blockCounts = length >> 2;\n    const tailLength = length - blockCounts * 4;\n    // We don't care about endianness here.\n    const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n    let k1 = 0,\n      k2 = 0;\n    let h1 = this.h1,\n      h2 = this.h2;\n    const C1 = 0xcc9e2d51,\n      C2 = 0x1b873593;\n    const C1_LOW = C1 & MASK_LOW,\n      C2_LOW = C2 & MASK_LOW;\n\n    for (let i = 0; i < blockCounts; i++) {\n      if (i & 1) {\n        k1 = dataUint32[i];\n        k1 = ((k1 * C1) & MASK_HIGH) | ((k1 * C1_LOW) & MASK_LOW);\n        k1 = (k1 << 15) | (k1 >>> 17);\n        k1 = ((k1 * C2) & MASK_HIGH) | ((k1 * C2_LOW) & MASK_LOW);\n        h1 ^= k1;\n        h1 = (h1 << 13) | (h1 >>> 19);\n        h1 = h1 * 5 + 0xe6546b64;\n      } else {\n        k2 = dataUint32[i];\n        k2 = ((k2 * C1) & MASK_HIGH) | ((k2 * C1_LOW) & MASK_LOW);\n        k2 = (k2 << 15) | (k2 >>> 17);\n        k2 = ((k2 * C2) & MASK_HIGH) | ((k2 * C2_LOW) & MASK_LOW);\n        h2 ^= k2;\n        h2 = (h2 << 13) | (h2 >>> 19);\n        h2 = h2 * 5 + 0xe6546b64;\n      }\n    }\n\n    k1 = 0;\n\n    switch (tailLength) {\n      case 3:\n        k1 ^= data[blockCounts * 4 + 2] << 16;\n      /* falls through */\n      case 2:\n        k1 ^= data[blockCounts * 4 + 1] << 8;\n      /* falls through */\n      case 1:\n        k1 ^= data[blockCounts * 4];\n        /* falls through */\n\n        k1 = ((k1 * C1) & MASK_HIGH) | ((k1 * C1_LOW) & MASK_LOW);\n        k1 = (k1 << 15) | (k1 >>> 17);\n        k1 = ((k1 * C2) & MASK_HIGH) | ((k1 * C2_LOW) & MASK_LOW);\n        if (blockCounts & 1) {\n          h1 ^= k1;\n        } else {\n          h2 ^= k1;\n        }\n    }\n\n    this.h1 = h1;\n    this.h2 = h2;\n  }\n\n  hexdigest() {\n    let h1 = this.h1,\n      h2 = this.h2;\n\n    h1 ^= h2 >>> 1;\n    h1 = ((h1 * 0xed558ccd) & MASK_HIGH) | ((h1 * 0x8ccd) & MASK_LOW);\n    h2 =\n      ((h2 * 0xff51afd7) & MASK_HIGH) |\n      (((((h2 << 16) | (h1 >>> 16)) * 0xafd7ed55) & MASK_HIGH) >>> 16);\n    h1 ^= h2 >>> 1;\n    h1 = ((h1 * 0x1a85ec53) & MASK_HIGH) | ((h1 * 0xec53) & MASK_LOW);\n    h2 =\n      ((h2 * 0xc4ceb9fe) & MASK_HIGH) |\n      (((((h2 << 16) | (h1 >>> 16)) * 0xb9fe1a85) & MASK_HIGH) >>> 16);\n    h1 ^= h2 >>> 1;\n\n    const hex1 = (h1 >>> 0).toString(16),\n      hex2 = (h2 >>> 0).toString(16);\n    return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n  }\n}\n\nexport { MurmurHash3_64 };\n","/* Copyright 2019 Mozilla Foundation\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/* eslint no-var: error */\n\nimport { ColorSpace } from \"./colorspace.js\";\nimport { JpegStream } from \"./jpeg_stream.js\";\nimport { Stream } from \"./stream.js\";\n\nclass NativeImageDecoder {\n  constructor({\n    xref,\n    resources,\n    handler,\n    forceDataSchema = false,\n    pdfFunctionFactory,\n  }) {\n    this.xref = xref;\n    this.resources = resources;\n    this.handler = handler;\n    this.forceDataSchema = forceDataSchema;\n    this.pdfFunctionFactory = pdfFunctionFactory;\n  }\n\n  canDecode(image) {\n    return (\n      image instanceof JpegStream &&\n      NativeImageDecoder.isDecodable(\n        image,\n        this.xref,\n        this.resources,\n        this.pdfFunctionFactory\n      ) &&\n      image.maybeValidDimensions\n    );\n  }\n\n  decode(image) {\n    // For natively supported JPEGs send them to the main thread for decoding.\n    const dict = image.dict;\n    let colorSpace = dict.get(\"ColorSpace\", \"CS\");\n    colorSpace = ColorSpace.parse(\n      colorSpace,\n      this.xref,\n      this.resources,\n      this.pdfFunctionFactory\n    );\n\n    return this.handler\n      .sendWithPromise(\"JpegDecode\", [\n        image.getIR(this.forceDataSchema),\n        colorSpace.numComps,\n      ])\n      .then(function({ data, width, height }) {\n        return new Stream(data, 0, data.length, dict);\n      });\n  }\n\n  /**\n   * Checks if the image can be decoded and displayed by the browser without any\n   * further processing such as color space conversions.\n   */\n  static isSupported(image, xref, res, pdfFunctionFactory) {\n    const dict = image.dict;\n    if (dict.has(\"DecodeParms\") || dict.has(\"DP\")) {\n      return false;\n    }\n    const cs = ColorSpace.parse(\n      dict.get(\"ColorSpace\", \"CS\"),\n      xref,\n      res,\n      pdfFunctionFactory\n    );\n    // isDefaultDecode() of DeviceGray and DeviceRGB needs no `bpc` argument.\n    return (\n      (cs.name === \"DeviceGray\" || cs.name === \"DeviceRGB\") &&\n      cs.isDefaultDecode(dict.getArray(\"Decode\", \"D\"))\n    );\n  }\n\n  /**\n   * Checks if the image can be decoded by the browser.\n   */\n  static isDecodable(image, xref, res, pdfFunctionFactory) {\n    const dict = image.dict;\n    if (dict.has(\"DecodeParms\") || dict.has(\"DP\")) {\n      return false;\n    }\n    const cs = ColorSpace.parse(\n      dict.get(\"ColorSpace\", \"CS\"),\n      xref,\n      res,\n      pdfFunctionFactory\n    );\n    const bpc = dict.get(\"BitsPerComponent\", \"BPC\") || 1;\n    return (\n      (cs.numComps === 1 || cs.numComps === 3) &&\n      cs.isDefaultDecode(dict.getArray(\"Decode\", \"D\"), bpc)\n    );\n  }\n}\n\nexport { NativeImageDecoder };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { assert, FormatError, ImageKind, info, warn } from \"../shared/util.js\";\nimport { isName, isStream, Name } from \"./primitives.js\";\nimport { ColorSpace } from \"./colorspace.js\";\nimport { DecodeStream } from \"./stream.js\";\nimport { JpegStream } from \"./jpeg_stream.js\";\nimport { JpxImage } from \"./jpx.js\";\n\nvar PDFImage = (function PDFImageClosure() {\n  /**\n   * Decodes the image using native decoder if possible. Resolves the promise\n   * when the image data is ready.\n   */\n  function handleImageData(image, nativeDecoder) {\n    if (nativeDecoder && nativeDecoder.canDecode(image)) {\n      return nativeDecoder.decode(image).catch(reason => {\n        warn(\n          \"Native image decoding failed -- trying to recover: \" +\n            (reason && reason.message)\n        );\n        return image;\n      });\n    }\n    return Promise.resolve(image);\n  }\n\n  /**\n   * Decode and clamp a value. The formula is different from the spec because we\n   * don't decode to float range [0,1], we decode it in the [0,max] range.\n   */\n  function decodeAndClamp(value, addend, coefficient, max) {\n    value = addend + value * coefficient;\n    // Clamp the value to the range\n    if (value < 0) {\n      value = 0;\n    } else if (value > max) {\n      value = max;\n    }\n    return value;\n  }\n\n  /**\n   * Resizes an image mask with 1 component.\n   * @param {TypedArray} src - The source buffer.\n   * @param {number} bpc - Number of bits per component.\n   * @param {number} w1 - Original width.\n   * @param {number} h1 - Original height.\n   * @param {number} w2 - New width.\n   * @param {number} h2 - New height.\n   * @returns {TypedArray} The resized image mask buffer.\n   */\n  function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n    var length = w2 * h2;\n    let dest;\n    if (bpc <= 8) {\n      dest = new Uint8Array(length);\n    } else if (bpc <= 16) {\n      dest = new Uint16Array(length);\n    } else {\n      dest = new Uint32Array(length);\n    }\n    var xRatio = w1 / w2;\n    var yRatio = h1 / h2;\n    var i,\n      j,\n      py,\n      newIndex = 0,\n      oldIndex;\n    var xScaled = new Uint16Array(w2);\n    var w1Scanline = w1;\n\n    for (i = 0; i < w2; i++) {\n      xScaled[i] = Math.floor(i * xRatio);\n    }\n    for (i = 0; i < h2; i++) {\n      py = Math.floor(i * yRatio) * w1Scanline;\n      for (j = 0; j < w2; j++) {\n        oldIndex = py + xScaled[j];\n        dest[newIndex++] = src[oldIndex];\n      }\n    }\n    return dest;\n  }\n\n  function PDFImage({\n    xref,\n    res,\n    image,\n    isInline = false,\n    smask = null,\n    mask = null,\n    isMask = false,\n    pdfFunctionFactory,\n  }) {\n    this.image = image;\n    var dict = image.dict;\n\n    const filter = dict.get(\"Filter\");\n    if (isName(filter)) {\n      switch (filter.name) {\n        case \"JPXDecode\":\n          var jpxImage = new JpxImage();\n          jpxImage.parseImageProperties(image.stream);\n          image.stream.reset();\n\n          image.width = jpxImage.width;\n          image.height = jpxImage.height;\n          image.bitsPerComponent = jpxImage.bitsPerComponent;\n          image.numComps = jpxImage.componentsCount;\n          break;\n        case \"JBIG2Decode\":\n          image.bitsPerComponent = 1;\n          image.numComps = 1;\n          break;\n      }\n    }\n    // TODO cache rendered images?\n\n    let width = dict.get(\"Width\", \"W\");\n    let height = dict.get(\"Height\", \"H\");\n\n    if (\n      Number.isInteger(image.width) &&\n      image.width > 0 &&\n      Number.isInteger(image.height) &&\n      image.height > 0 &&\n      (image.width !== width || image.height !== height)\n    ) {\n      warn(\n        \"PDFImage - using the Width/Height of the image data, \" +\n          \"rather than the image dictionary.\"\n      );\n      width = image.width;\n      height = image.height;\n    }\n    if (width < 1 || height < 1) {\n      throw new FormatError(\n        `Invalid image width: ${width} or height: ${height}`\n      );\n    }\n    this.width = width;\n    this.height = height;\n\n    this.interpolate = dict.get(\"Interpolate\", \"I\") || false;\n    this.imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n    this.matte = dict.get(\"Matte\") || false;\n\n    var bitsPerComponent = image.bitsPerComponent;\n    if (!bitsPerComponent) {\n      bitsPerComponent = dict.get(\"BitsPerComponent\", \"BPC\");\n      if (!bitsPerComponent) {\n        if (this.imageMask) {\n          bitsPerComponent = 1;\n        } else {\n          throw new FormatError(\n            `Bits per component missing in image: ${this.imageMask}`\n          );\n        }\n      }\n    }\n    this.bpc = bitsPerComponent;\n\n    if (!this.imageMask) {\n      var colorSpace = dict.get(\"ColorSpace\", \"CS\");\n      if (!colorSpace) {\n        info(\"JPX images (which do not require color spaces)\");\n        switch (image.numComps) {\n          case 1:\n            colorSpace = Name.get(\"DeviceGray\");\n            break;\n          case 3:\n            colorSpace = Name.get(\"DeviceRGB\");\n            break;\n          case 4:\n            colorSpace = Name.get(\"DeviceCMYK\");\n            break;\n          default:\n            throw new Error(\n              `JPX images with ${image.numComps} ` +\n                \"color components not supported.\"\n            );\n        }\n      }\n      const resources = isInline ? res : null;\n      this.colorSpace = ColorSpace.parse(\n        colorSpace,\n        xref,\n        resources,\n        pdfFunctionFactory\n      );\n      this.numComps = this.colorSpace.numComps;\n    }\n\n    this.decode = dict.getArray(\"Decode\", \"D\");\n    this.needsDecode = false;\n    if (\n      this.decode &&\n      ((this.colorSpace &&\n        !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent)) ||\n        (isMask &&\n          !ColorSpace.isDefaultDecode(this.decode, /* numComps = */ 1)))\n    ) {\n      this.needsDecode = true;\n      // Do some preprocessing to avoid more math.\n      var max = (1 << bitsPerComponent) - 1;\n      this.decodeCoefficients = [];\n      this.decodeAddends = [];\n      const isIndexed = this.colorSpace && this.colorSpace.name === \"Indexed\";\n      for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n        var dmin = this.decode[i];\n        var dmax = this.decode[i + 1];\n        this.decodeCoefficients[j] = isIndexed\n          ? (dmax - dmin) / max\n          : dmax - dmin;\n        this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n      }\n    }\n\n    if (smask) {\n      this.smask = new PDFImage({\n        xref,\n        res,\n        image: smask,\n        isInline,\n        pdfFunctionFactory,\n      });\n    } else if (mask) {\n      if (isStream(mask)) {\n        var maskDict = mask.dict,\n          imageMask = maskDict.get(\"ImageMask\", \"IM\");\n        if (!imageMask) {\n          warn(\"Ignoring /Mask in image without /ImageMask.\");\n        } else {\n          this.mask = new PDFImage({\n            xref,\n            res,\n            image: mask,\n            isInline,\n            isMask: true,\n            pdfFunctionFactory,\n          });\n        }\n      } else {\n        // Color key mask (just an array).\n        this.mask = mask;\n      }\n    }\n  }\n  /**\n   * Handles processing of image data and returns the Promise that is resolved\n   * with a PDFImage when the image is ready to be used.\n   */\n  PDFImage.buildImage = function({\n    handler,\n    xref,\n    res,\n    image,\n    isInline = false,\n    nativeDecoder = null,\n    pdfFunctionFactory,\n  }) {\n    var imagePromise = handleImageData(image, nativeDecoder);\n    var smaskPromise;\n    var maskPromise;\n\n    var smask = image.dict.get(\"SMask\");\n    var mask = image.dict.get(\"Mask\");\n\n    if (smask) {\n      smaskPromise = handleImageData(smask, nativeDecoder);\n      maskPromise = Promise.resolve(null);\n    } else {\n      smaskPromise = Promise.resolve(null);\n      if (mask) {\n        if (isStream(mask)) {\n          maskPromise = handleImageData(mask, nativeDecoder);\n        } else if (Array.isArray(mask)) {\n          maskPromise = Promise.resolve(mask);\n        } else {\n          warn(\"Unsupported mask format.\");\n          maskPromise = Promise.resolve(null);\n        }\n      } else {\n        maskPromise = Promise.resolve(null);\n      }\n    }\n    return Promise.all([imagePromise, smaskPromise, maskPromise]).then(\n      function([imageData, smaskData, maskData]) {\n        return new PDFImage({\n          xref,\n          res,\n          image: imageData,\n          isInline,\n          smask: smaskData,\n          mask: maskData,\n          pdfFunctionFactory,\n        });\n      }\n    );\n  };\n\n  PDFImage.createMask = function({\n    imgArray,\n    width,\n    height,\n    imageIsFromDecodeStream,\n    inverseDecode,\n  }) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        imgArray instanceof Uint8ClampedArray,\n        'PDFImage.createMask: Unsupported \"imgArray\" type.'\n      );\n    }\n    // |imgArray| might not contain full data for every pixel of the mask, so\n    // we need to distinguish between |computedLength| and |actualLength|.\n    // In particular, if inverseDecode is true, then the array we return must\n    // have a length of |computedLength|.\n\n    var computedLength = ((width + 7) >> 3) * height;\n    var actualLength = imgArray.byteLength;\n    var haveFullData = computedLength === actualLength;\n    var data, i;\n\n    if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n      // imgArray came from a DecodeStream and its data is in an appropriate\n      // form, so we can just transfer it.\n      data = imgArray;\n    } else if (!inverseDecode) {\n      data = new Uint8ClampedArray(actualLength);\n      data.set(imgArray);\n    } else {\n      data = new Uint8ClampedArray(computedLength);\n      data.set(imgArray);\n      for (i = actualLength; i < computedLength; i++) {\n        data[i] = 0xff;\n      }\n    }\n\n    // If necessary, invert the original mask data (but not any extra we might\n    // have added above). It's safe to modify the array -- whether it's the\n    // original or a copy, we're about to transfer it anyway, so nothing else\n    // in this thread can be relying on its contents.\n    if (inverseDecode) {\n      for (i = 0; i < actualLength; i++) {\n        data[i] ^= 0xff;\n      }\n    }\n\n    return { data, width, height };\n  };\n\n  PDFImage.prototype = {\n    get drawWidth() {\n      return Math.max(\n        this.width,\n        (this.smask && this.smask.width) || 0,\n        (this.mask && this.mask.width) || 0\n      );\n    },\n\n    get drawHeight() {\n      return Math.max(\n        this.height,\n        (this.smask && this.smask.height) || 0,\n        (this.mask && this.mask.height) || 0\n      );\n    },\n\n    decodeBuffer(buffer) {\n      var bpc = this.bpc;\n      var numComps = this.numComps;\n\n      var decodeAddends = this.decodeAddends;\n      var decodeCoefficients = this.decodeCoefficients;\n      var max = (1 << bpc) - 1;\n      var i, ii;\n\n      if (bpc === 1) {\n        // If the buffer needed decode that means it just needs to be inverted.\n        for (i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = +!buffer[i];\n        }\n        return;\n      }\n      var index = 0;\n      for (i = 0, ii = this.width * this.height; i < ii; i++) {\n        for (var j = 0; j < numComps; j++) {\n          buffer[index] = decodeAndClamp(\n            buffer[index],\n            decodeAddends[j],\n            decodeCoefficients[j],\n            max\n          );\n          index++;\n        }\n      }\n    },\n\n    getComponents(buffer) {\n      var bpc = this.bpc;\n\n      // This image doesn't require any extra work.\n      if (bpc === 8) {\n        return buffer;\n      }\n\n      var width = this.width;\n      var height = this.height;\n      var numComps = this.numComps;\n\n      var length = width * height * numComps;\n      var bufferPos = 0;\n      let output;\n      if (bpc <= 8) {\n        output = new Uint8Array(length);\n      } else if (bpc <= 16) {\n        output = new Uint16Array(length);\n      } else {\n        output = new Uint32Array(length);\n      }\n      var rowComps = width * numComps;\n\n      var max = (1 << bpc) - 1;\n      var i = 0,\n        ii,\n        buf;\n\n      if (bpc === 1) {\n        // Optimization for reading 1 bpc images.\n        var mask, loop1End, loop2End;\n        for (var j = 0; j < height; j++) {\n          loop1End = i + (rowComps & ~7);\n          loop2End = i + rowComps;\n\n          // unroll loop for all full bytes\n          while (i < loop1End) {\n            buf = buffer[bufferPos++];\n            output[i] = (buf >> 7) & 1;\n            output[i + 1] = (buf >> 6) & 1;\n            output[i + 2] = (buf >> 5) & 1;\n            output[i + 3] = (buf >> 4) & 1;\n            output[i + 4] = (buf >> 3) & 1;\n            output[i + 5] = (buf >> 2) & 1;\n            output[i + 6] = (buf >> 1) & 1;\n            output[i + 7] = buf & 1;\n            i += 8;\n          }\n\n          // handle remaining bits\n          if (i < loop2End) {\n            buf = buffer[bufferPos++];\n            mask = 128;\n            while (i < loop2End) {\n              output[i++] = +!!(buf & mask);\n              mask >>= 1;\n            }\n          }\n        }\n      } else {\n        // The general case that handles all other bpc values.\n        var bits = 0;\n        buf = 0;\n        for (i = 0, ii = length; i < ii; ++i) {\n          if (i % rowComps === 0) {\n            buf = 0;\n            bits = 0;\n          }\n\n          while (bits < bpc) {\n            buf = (buf << 8) | buffer[bufferPos++];\n            bits += 8;\n          }\n\n          var remainingBits = bits - bpc;\n          let value = buf >> remainingBits;\n          if (value < 0) {\n            value = 0;\n          } else if (value > max) {\n            value = max;\n          }\n          output[i] = value;\n          buf = buf & ((1 << remainingBits) - 1);\n          bits = remainingBits;\n        }\n      }\n      return output;\n    },\n\n    fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          rgbaBuf instanceof Uint8ClampedArray,\n          'PDFImage.fillOpacity: Unsupported \"rgbaBuf\" type.'\n        );\n      }\n      var smask = this.smask;\n      var mask = this.mask;\n      var alphaBuf, sw, sh, i, ii, j;\n\n      if (smask) {\n        sw = smask.width;\n        sh = smask.height;\n        alphaBuf = new Uint8ClampedArray(sw * sh);\n        smask.fillGrayBuffer(alphaBuf);\n        if (sw !== width || sh !== height) {\n          alphaBuf = resizeImageMask(\n            alphaBuf,\n            smask.bpc,\n            sw,\n            sh,\n            width,\n            height\n          );\n        }\n      } else if (mask) {\n        if (mask instanceof PDFImage) {\n          sw = mask.width;\n          sh = mask.height;\n          alphaBuf = new Uint8ClampedArray(sw * sh);\n          mask.numComps = 1;\n          mask.fillGrayBuffer(alphaBuf);\n\n          // Need to invert values in rgbaBuf\n          for (i = 0, ii = sw * sh; i < ii; ++i) {\n            alphaBuf[i] = 255 - alphaBuf[i];\n          }\n\n          if (sw !== width || sh !== height) {\n            alphaBuf = resizeImageMask(\n              alphaBuf,\n              mask.bpc,\n              sw,\n              sh,\n              width,\n              height\n            );\n          }\n        } else if (Array.isArray(mask)) {\n          // Color key mask: if any of the components are outside the range\n          // then they should be painted.\n          alphaBuf = new Uint8ClampedArray(width * height);\n          var numComps = this.numComps;\n          for (i = 0, ii = width * height; i < ii; ++i) {\n            var opacity = 0;\n            var imageOffset = i * numComps;\n            for (j = 0; j < numComps; ++j) {\n              var color = image[imageOffset + j];\n              var maskOffset = j * 2;\n              if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n                opacity = 255;\n                break;\n              }\n            }\n            alphaBuf[i] = opacity;\n          }\n        } else {\n          throw new FormatError(\"Unknown mask format.\");\n        }\n      }\n\n      if (alphaBuf) {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = alphaBuf[i];\n        }\n      } else {\n        // No mask.\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = 255;\n        }\n      }\n    },\n\n    undoPreblend(buffer, width, height) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          buffer instanceof Uint8ClampedArray,\n          'PDFImage.undoPreblend: Unsupported \"buffer\" type.'\n        );\n      }\n      var matte = this.smask && this.smask.matte;\n      if (!matte) {\n        return;\n      }\n      var matteRgb = this.colorSpace.getRgb(matte, 0);\n      var matteR = matteRgb[0];\n      var matteG = matteRgb[1];\n      var matteB = matteRgb[2];\n      var length = width * height * 4;\n      for (var i = 0; i < length; i += 4) {\n        var alpha = buffer[i + 3];\n        if (alpha === 0) {\n          // according formula we have to get Infinity in all components\n          // making it white (typical paper color) should be okay\n          buffer[i] = 255;\n          buffer[i + 1] = 255;\n          buffer[i + 2] = 255;\n          continue;\n        }\n        var k = 255 / alpha;\n        buffer[i] = (buffer[i] - matteR) * k + matteR;\n        buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n        buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n      }\n    },\n\n    createImageData(forceRGBA = false) {\n      var drawWidth = this.drawWidth;\n      var drawHeight = this.drawHeight;\n      var imgData = {\n        width: drawWidth,\n        height: drawHeight,\n        kind: 0,\n        data: null,\n        // Other fields are filled in below.\n      };\n\n      var numComps = this.numComps;\n      var originalWidth = this.width;\n      var originalHeight = this.height;\n      var bpc = this.bpc;\n\n      // Rows start at byte boundary.\n      var rowBytes = (originalWidth * numComps * bpc + 7) >> 3;\n      var imgArray;\n\n      if (!forceRGBA) {\n        // If it is a 1-bit-per-pixel grayscale (i.e. black-and-white) image\n        // without any complications, we pass a same-sized copy to the main\n        // thread rather than expanding by 32x to RGBA form. This saves *lots*\n        // of memory for many scanned documents. It's also much faster.\n        //\n        // Similarly, if it is a 24-bit-per pixel RGB image without any\n        // complications, we avoid expanding by 1.333x to RGBA form.\n        var kind;\n        if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n          kind = ImageKind.GRAYSCALE_1BPP;\n        } else if (\n          this.colorSpace.name === \"DeviceRGB\" &&\n          bpc === 8 &&\n          !this.needsDecode\n        ) {\n          kind = ImageKind.RGB_24BPP;\n        }\n        if (\n          kind &&\n          !this.smask &&\n          !this.mask &&\n          drawWidth === originalWidth &&\n          drawHeight === originalHeight\n        ) {\n          imgData.kind = kind;\n\n          imgArray = this.getImageBytes(originalHeight * rowBytes);\n          // If imgArray came from a DecodeStream, we're safe to transfer it\n          // (and thus detach its underlying buffer) because it will constitute\n          // the entire DecodeStream's data.  But if it came from a Stream, we\n          // need to copy it because it'll only be a portion of the Stream's\n          // data, and the rest will be read later on.\n          if (this.image instanceof DecodeStream) {\n            imgData.data = imgArray;\n          } else {\n            var newArray = new Uint8ClampedArray(imgArray.length);\n            newArray.set(imgArray);\n            imgData.data = newArray;\n          }\n          if (this.needsDecode) {\n            // Invert the buffer (which must be grayscale if we reached here).\n            assert(\n              kind === ImageKind.GRAYSCALE_1BPP,\n              \"PDFImage.createImageData: The image must be grayscale.\"\n            );\n            var buffer = imgData.data;\n            for (var i = 0, ii = buffer.length; i < ii; i++) {\n              buffer[i] ^= 0xff;\n            }\n          }\n          return imgData;\n        }\n        if (this.image instanceof JpegStream && !this.smask && !this.mask) {\n          let imageLength = originalHeight * rowBytes;\n          switch (this.colorSpace.name) {\n            case \"DeviceGray\":\n              // Avoid truncating the image, since `JpegImage.getData`\n              // will expand the image data when `forceRGB === true`.\n              imageLength *= 3;\n            /* falls through */\n            case \"DeviceRGB\":\n            case \"DeviceCMYK\":\n              imgData.kind = ImageKind.RGB_24BPP;\n              imgData.data = this.getImageBytes(\n                imageLength,\n                drawWidth,\n                drawHeight,\n                /* forceRGB = */ true\n              );\n              return imgData;\n          }\n        }\n      }\n\n      imgArray = this.getImageBytes(originalHeight * rowBytes);\n      // imgArray can be incomplete (e.g. after CCITT fax encoding).\n      var actualHeight =\n        0 | (((imgArray.length / rowBytes) * drawHeight) / originalHeight);\n\n      var comps = this.getComponents(imgArray);\n\n      // If opacity data is present, use RGBA_32BPP form. Otherwise, use the\n      // more compact RGB_24BPP form if allowable.\n      var alpha01, maybeUndoPreblend;\n      if (!forceRGBA && !this.smask && !this.mask) {\n        imgData.kind = ImageKind.RGB_24BPP;\n        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n        alpha01 = 0;\n        maybeUndoPreblend = false;\n      } else {\n        imgData.kind = ImageKind.RGBA_32BPP;\n        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n        alpha01 = 1;\n        maybeUndoPreblend = true;\n\n        // Color key masking (opacity) must be performed before decoding.\n        this.fillOpacity(\n          imgData.data,\n          drawWidth,\n          drawHeight,\n          actualHeight,\n          comps\n        );\n      }\n\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n      this.colorSpace.fillRgb(\n        imgData.data,\n        originalWidth,\n        originalHeight,\n        drawWidth,\n        drawHeight,\n        actualHeight,\n        bpc,\n        comps,\n        alpha01\n      );\n      if (maybeUndoPreblend) {\n        this.undoPreblend(imgData.data, drawWidth, actualHeight);\n      }\n\n      return imgData;\n    },\n\n    fillGrayBuffer(buffer) {\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || TESTING\")\n      ) {\n        assert(\n          buffer instanceof Uint8ClampedArray,\n          'PDFImage.fillGrayBuffer: Unsupported \"buffer\" type.'\n        );\n      }\n      var numComps = this.numComps;\n      if (numComps !== 1) {\n        throw new FormatError(\n          `Reading gray scale from a color image: ${numComps}`\n        );\n      }\n\n      var width = this.width;\n      var height = this.height;\n      var bpc = this.bpc;\n\n      // rows start at byte boundary\n      var rowBytes = (width * numComps * bpc + 7) >> 3;\n      var imgArray = this.getImageBytes(height * rowBytes);\n\n      var comps = this.getComponents(imgArray);\n      var i, length;\n\n      if (bpc === 1) {\n        // inline decoding (= inversion) for 1 bpc images\n        length = width * height;\n        if (this.needsDecode) {\n          // invert and scale to {0, 255}\n          for (i = 0; i < length; ++i) {\n            buffer[i] = (comps[i] - 1) & 255;\n          }\n        } else {\n          // scale to {0, 255}\n          for (i = 0; i < length; ++i) {\n            buffer[i] = -comps[i] & 255;\n          }\n        }\n        return;\n      }\n\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n      length = width * height;\n      // we aren't using a colorspace so we need to scale the value\n      var scale = 255 / ((1 << bpc) - 1);\n      for (i = 0; i < length; ++i) {\n        buffer[i] = scale * comps[i];\n      }\n    },\n\n    getImageBytes(length, drawWidth, drawHeight, forceRGB = false) {\n      this.image.reset();\n      this.image.drawWidth = drawWidth || this.width;\n      this.image.drawHeight = drawHeight || this.height;\n      this.image.forceRGB = !!forceRGB;\n      return this.image.getBytes(length, /* forceClamped = */ true);\n    },\n  };\n  return PDFImage;\n})();\n\nexport { PDFImage };\n","/* Copyright 2018 Mozilla Foundation\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/* eslint no-var: error, prefer-const: error */\n\nimport {\n  AbortException,\n  assert,\n  createPromiseCapability,\n  MissingPDFException,\n  UnexpectedResponseException,\n  UnknownErrorException,\n} from \"./util.js\";\n\nconst CallbackKind = {\n  UNKNOWN: 0,\n  DATA: 1,\n  ERROR: 2,\n};\n\nconst StreamKind = {\n  UNKNOWN: 0,\n  CANCEL: 1,\n  CANCEL_COMPLETE: 2,\n  CLOSE: 3,\n  ENQUEUE: 4,\n  ERROR: 5,\n  PULL: 6,\n  PULL_COMPLETE: 7,\n  START_COMPLETE: 8,\n};\n\nfunction wrapReason(reason) {\n  if (\n    typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"!PRODUCTION || TESTING\")\n  ) {\n    assert(\n      reason instanceof Error ||\n        (typeof reason === \"object\" && reason !== null),\n      'wrapReason: Expected \"reason\" to be a (possibly cloned) Error.'\n    );\n  } else {\n    if (typeof reason !== \"object\" || reason === null) {\n      return reason;\n    }\n  }\n  switch (reason.name) {\n    case \"AbortException\":\n      return new AbortException(reason.message);\n    case \"MissingPDFException\":\n      return new MissingPDFException(reason.message);\n    case \"UnexpectedResponseException\":\n      return new UnexpectedResponseException(reason.message, reason.status);\n    case \"UnknownErrorException\":\n      return new UnknownErrorException(reason.message, reason.details);\n    default:\n      return new UnknownErrorException(reason.message, reason.toString());\n  }\n}\n\nclass MessageHandler {\n  constructor(sourceName, targetName, comObj) {\n    this.sourceName = sourceName;\n    this.targetName = targetName;\n    this.comObj = comObj;\n    this.callbackId = 1;\n    this.streamId = 1;\n    this.postMessageTransfers = true;\n    this.streamSinks = Object.create(null);\n    this.streamControllers = Object.create(null);\n    this.callbackCapabilities = Object.create(null);\n    this.actionHandler = Object.create(null);\n\n    this._onComObjOnMessage = event => {\n      const data = event.data;\n      if (data.targetName !== this.sourceName) {\n        return;\n      }\n      if (data.stream) {\n        this._processStreamMessage(data);\n        return;\n      }\n      if (data.callback) {\n        const callbackId = data.callbackId;\n        const capability = this.callbackCapabilities[callbackId];\n        if (!capability) {\n          throw new Error(`Cannot resolve callback ${callbackId}`);\n        }\n        delete this.callbackCapabilities[callbackId];\n\n        if (data.callback === CallbackKind.DATA) {\n          capability.resolve(data.data);\n        } else if (data.callback === CallbackKind.ERROR) {\n          capability.reject(wrapReason(data.reason));\n        } else {\n          throw new Error(\"Unexpected callback case\");\n        }\n        return;\n      }\n      const action = this.actionHandler[data.action];\n      if (!action) {\n        throw new Error(`Unknown action from worker: ${data.action}`);\n      }\n      if (data.callbackId) {\n        const sourceName = this.sourceName;\n        const targetName = data.sourceName;\n        new Promise(function(resolve) {\n          resolve(action(data.data));\n        }).then(\n          function(result) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              callback: CallbackKind.DATA,\n              callbackId: data.callbackId,\n              data: result,\n            });\n          },\n          function(reason) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              callback: CallbackKind.ERROR,\n              callbackId: data.callbackId,\n              reason: wrapReason(reason),\n            });\n          }\n        );\n        return;\n      }\n      if (data.streamId) {\n        this._createStreamSink(data);\n        return;\n      }\n      action(data.data);\n    };\n    comObj.addEventListener(\"message\", this._onComObjOnMessage);\n  }\n\n  on(actionName, handler) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"!PRODUCTION || TESTING\")\n    ) {\n      assert(\n        typeof handler === \"function\",\n        'MessageHandler.on: Expected \"handler\" to be a function.'\n      );\n    }\n    const ah = this.actionHandler;\n    if (ah[actionName]) {\n      throw new Error(`There is already an actionName called \"${actionName}\"`);\n    }\n    ah[actionName] = handler;\n  }\n\n  /**\n   * Sends a message to the comObj to invoke the action with the supplied data.\n   * @param {string} actionName - Action to call.\n   * @param {JSON} data - JSON data to send.\n   * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n   */\n  send(actionName, data, transfers) {\n    this._postMessage(\n      {\n        sourceName: this.sourceName,\n        targetName: this.targetName,\n        action: actionName,\n        data,\n      },\n      transfers\n    );\n  }\n\n  /**\n   * Sends a message to the comObj to invoke the action with the supplied data.\n   * Expects that the other side will callback with the response.\n   * @param {string} actionName - Action to call.\n   * @param {JSON} data - JSON data to send.\n   * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n   * @returns {Promise} Promise to be resolved with response data.\n   */\n  sendWithPromise(actionName, data, transfers) {\n    const callbackId = this.callbackId++;\n    const capability = createPromiseCapability();\n    this.callbackCapabilities[callbackId] = capability;\n    try {\n      this._postMessage(\n        {\n          sourceName: this.sourceName,\n          targetName: this.targetName,\n          action: actionName,\n          callbackId,\n          data,\n        },\n        transfers\n      );\n    } catch (ex) {\n      capability.reject(ex);\n    }\n    return capability.promise;\n  }\n\n  /**\n   * Sends a message to the comObj to invoke the action with the supplied data.\n   * Expect that the other side will callback to signal 'start_complete'.\n   * @param {string} actionName - Action to call.\n   * @param {JSON} data - JSON data to send.\n   * @param {Object} queueingStrategy - Strategy to signal backpressure based on\n   *                 internal queue.\n   * @param {Array} [transfers] - List of transfers/ArrayBuffers.\n   * @returns {ReadableStream} ReadableStream to read data in chunks.\n   */\n  sendWithStream(actionName, data, queueingStrategy, transfers) {\n    const streamId = this.streamId++;\n    const sourceName = this.sourceName;\n    const targetName = this.targetName;\n    const comObj = this.comObj;\n\n    return new ReadableStream(\n      {\n        start: controller => {\n          const startCapability = createPromiseCapability();\n          this.streamControllers[streamId] = {\n            controller,\n            startCall: startCapability,\n            pullCall: null,\n            cancelCall: null,\n            isClosed: false,\n          };\n          this._postMessage(\n            {\n              sourceName,\n              targetName,\n              action: actionName,\n              streamId,\n              data,\n              desiredSize: controller.desiredSize,\n            },\n            transfers\n          );\n          // Return Promise for Async process, to signal success/failure.\n          return startCapability.promise;\n        },\n\n        pull: controller => {\n          const pullCapability = createPromiseCapability();\n          this.streamControllers[streamId].pullCall = pullCapability;\n          comObj.postMessage({\n            sourceName,\n            targetName,\n            stream: StreamKind.PULL,\n            streamId,\n            desiredSize: controller.desiredSize,\n          });\n          // Returning Promise will not call \"pull\"\n          // again until current pull is resolved.\n          return pullCapability.promise;\n        },\n\n        cancel: reason => {\n          assert(reason instanceof Error, \"cancel must have a valid reason\");\n          const cancelCapability = createPromiseCapability();\n          this.streamControllers[streamId].cancelCall = cancelCapability;\n          this.streamControllers[streamId].isClosed = true;\n          comObj.postMessage({\n            sourceName,\n            targetName,\n            stream: StreamKind.CANCEL,\n            streamId,\n            reason: wrapReason(reason),\n          });\n          // Return Promise to signal success or failure.\n          return cancelCapability.promise;\n        },\n      },\n      queueingStrategy\n    );\n  }\n\n  /**\n   * @private\n   */\n  _createStreamSink(data) {\n    const self = this;\n    const action = this.actionHandler[data.action];\n    const streamId = data.streamId;\n    const sourceName = this.sourceName;\n    const targetName = data.sourceName;\n    const comObj = this.comObj;\n\n    const streamSink = {\n      enqueue(chunk, size = 1, transfers) {\n        if (this.isCancelled) {\n          return;\n        }\n        const lastDesiredSize = this.desiredSize;\n        this.desiredSize -= size;\n        // Enqueue decreases the desiredSize property of sink,\n        // so when it changes from positive to negative,\n        // set ready as unresolved promise.\n        if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n          this.sinkCapability = createPromiseCapability();\n          this.ready = this.sinkCapability.promise;\n        }\n        self._postMessage(\n          {\n            sourceName,\n            targetName,\n            stream: StreamKind.ENQUEUE,\n            streamId,\n            chunk,\n          },\n          transfers\n        );\n      },\n\n      close() {\n        if (this.isCancelled) {\n          return;\n        }\n        this.isCancelled = true;\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.CLOSE,\n          streamId,\n        });\n        delete self.streamSinks[streamId];\n      },\n\n      error(reason) {\n        assert(reason instanceof Error, \"error must have a valid reason\");\n        if (this.isCancelled) {\n          return;\n        }\n        this.isCancelled = true;\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.ERROR,\n          streamId,\n          reason: wrapReason(reason),\n        });\n      },\n\n      sinkCapability: createPromiseCapability(),\n      onPull: null,\n      onCancel: null,\n      isCancelled: false,\n      desiredSize: data.desiredSize,\n      ready: null,\n    };\n\n    streamSink.sinkCapability.resolve();\n    streamSink.ready = streamSink.sinkCapability.promise;\n    this.streamSinks[streamId] = streamSink;\n    new Promise(function(resolve) {\n      resolve(action(data.data, streamSink));\n    }).then(\n      function() {\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId,\n          success: true,\n        });\n      },\n      function(reason) {\n        comObj.postMessage({\n          sourceName,\n          targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId,\n          reason: wrapReason(reason),\n        });\n      }\n    );\n  }\n\n  /**\n   * @private\n   */\n  _processStreamMessage(data) {\n    const streamId = data.streamId;\n    const sourceName = this.sourceName;\n    const targetName = data.sourceName;\n    const comObj = this.comObj;\n\n    switch (data.stream) {\n      case StreamKind.START_COMPLETE:\n        if (data.success) {\n          this.streamControllers[streamId].startCall.resolve();\n        } else {\n          this.streamControllers[streamId].startCall.reject(\n            wrapReason(data.reason)\n          );\n        }\n        break;\n      case StreamKind.PULL_COMPLETE:\n        if (data.success) {\n          this.streamControllers[streamId].pullCall.resolve();\n        } else {\n          this.streamControllers[streamId].pullCall.reject(\n            wrapReason(data.reason)\n          );\n        }\n        break;\n      case StreamKind.PULL:\n        // Ignore any pull after close is called.\n        if (!this.streamSinks[streamId]) {\n          comObj.postMessage({\n            sourceName,\n            targetName,\n            stream: StreamKind.PULL_COMPLETE,\n            streamId,\n            success: true,\n          });\n          break;\n        }\n        // Pull increases the desiredSize property of sink,\n        // so when it changes from negative to positive,\n        // set ready property as resolved promise.\n        if (\n          this.streamSinks[streamId].desiredSize <= 0 &&\n          data.desiredSize > 0\n        ) {\n          this.streamSinks[streamId].sinkCapability.resolve();\n        }\n        // Reset desiredSize property of sink on every pull.\n        this.streamSinks[streamId].desiredSize = data.desiredSize;\n        const { onPull } = this.streamSinks[data.streamId];\n        new Promise(function(resolve) {\n          resolve(onPull && onPull());\n        }).then(\n          function() {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId,\n              success: true,\n            });\n          },\n          function(reason) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId,\n              reason: wrapReason(reason),\n            });\n          }\n        );\n        break;\n      case StreamKind.ENQUEUE:\n        assert(\n          this.streamControllers[streamId],\n          \"enqueue should have stream controller\"\n        );\n        if (this.streamControllers[streamId].isClosed) {\n          break;\n        }\n        this.streamControllers[streamId].controller.enqueue(data.chunk);\n        break;\n      case StreamKind.CLOSE:\n        assert(\n          this.streamControllers[streamId],\n          \"close should have stream controller\"\n        );\n        if (this.streamControllers[streamId].isClosed) {\n          break;\n        }\n        this.streamControllers[streamId].isClosed = true;\n        this.streamControllers[streamId].controller.close();\n        this._deleteStreamController(streamId);\n        break;\n      case StreamKind.ERROR:\n        assert(\n          this.streamControllers[streamId],\n          \"error should have stream controller\"\n        );\n        this.streamControllers[streamId].controller.error(\n          wrapReason(data.reason)\n        );\n        this._deleteStreamController(streamId);\n        break;\n      case StreamKind.CANCEL_COMPLETE:\n        if (data.success) {\n          this.streamControllers[streamId].cancelCall.resolve();\n        } else {\n          this.streamControllers[streamId].cancelCall.reject(\n            wrapReason(data.reason)\n          );\n        }\n        this._deleteStreamController(streamId);\n        break;\n      case StreamKind.CANCEL:\n        if (!this.streamSinks[streamId]) {\n          break;\n        }\n        const { onCancel } = this.streamSinks[data.streamId];\n        new Promise(function(resolve) {\n          resolve(onCancel && onCancel(wrapReason(data.reason)));\n        }).then(\n          function() {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId,\n              success: true,\n            });\n          },\n          function(reason) {\n            comObj.postMessage({\n              sourceName,\n              targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId,\n              reason: wrapReason(reason),\n            });\n          }\n        );\n        this.streamSinks[streamId].sinkCapability.reject(\n          wrapReason(data.reason)\n        );\n        this.streamSinks[streamId].isCancelled = true;\n        delete this.streamSinks[streamId];\n        break;\n      default:\n        throw new Error(\"Unexpected stream case\");\n    }\n  }\n\n  /**\n   * @private\n   */\n  async _deleteStreamController(streamId) {\n    // Delete the `streamController` only when the start, pull, and cancel\n    // capabilities have settled, to prevent `TypeError`s.\n    await Promise.allSettled(\n      [\n        this.streamControllers[streamId].startCall,\n        this.streamControllers[streamId].pullCall,\n        this.streamControllers[streamId].cancelCall,\n      ].map(function(capability) {\n        return capability && capability.promise;\n      })\n    );\n    delete this.streamControllers[streamId];\n  }\n\n  /**\n   * Sends raw message to the comObj.\n   * @param {Object} message - Raw message.\n   * @param transfers List of transfers/ArrayBuffers, or undefined.\n   * @private\n   */\n  _postMessage(message, transfers) {\n    if (transfers && this.postMessageTransfers) {\n      this.comObj.postMessage(message, transfers);\n    } else {\n      this.comObj.postMessage(message);\n    }\n  }\n\n  destroy() {\n    this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n  }\n}\n\nexport { MessageHandler };\n","/* Copyright 2019 Mozilla Foundation\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/* eslint no-var: error */\n\nimport { assert } from \"../shared/util.js\";\n\n/** @implements {IPDFStream} */\nclass PDFWorkerStream {\n  constructor(msgHandler) {\n    this._msgHandler = msgHandler;\n    this._contentLength = null;\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  getFullReader() {\n    assert(!this._fullRequestReader);\n    this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n    return this._fullRequestReader;\n  }\n\n  getRangeReader(begin, end) {\n    const reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n    this._rangeRequestReaders.push(reader);\n    return reader;\n  }\n\n  cancelAllRequests(reason) {\n    if (this._fullRequestReader) {\n      this._fullRequestReader.cancel(reason);\n    }\n    const readers = this._rangeRequestReaders.slice(0);\n    readers.forEach(function(reader) {\n      reader.cancel(reason);\n    });\n  }\n}\n\n/** @implements {IPDFStreamReader} */\nclass PDFWorkerStreamReader {\n  constructor(msgHandler) {\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n\n    this._contentLength = null;\n    this._isRangeSupported = false;\n    this._isStreamingSupported = false;\n\n    const readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n    this._reader = readableStream.getReader();\n\n    this._headersReady = this._msgHandler\n      .sendWithPromise(\"ReaderHeadersReady\")\n      .then(data => {\n        this._isStreamingSupported = data.isStreamingSupported;\n        this._isRangeSupported = data.isRangeSupported;\n        this._contentLength = data.contentLength;\n      });\n  }\n\n  get headersReady() {\n    return this._headersReady;\n  }\n\n  get contentLength() {\n    return this._contentLength;\n  }\n\n  get isStreamingSupported() {\n    return this._isStreamingSupported;\n  }\n\n  get isRangeSupported() {\n    return this._isRangeSupported;\n  }\n\n  async read() {\n    const { value, done } = await this._reader.read();\n    if (done) {\n      return { value: undefined, done: true };\n    }\n    // `value` is wrapped into Uint8Array, we need to\n    // unwrap it to ArrayBuffer for further processing.\n    return { value: value.buffer, done: false };\n  }\n\n  cancel(reason) {\n    this._reader.cancel(reason);\n  }\n}\n\n/** @implements {IPDFStreamRangeReader} */\nclass PDFWorkerStreamRangeReader {\n  constructor(begin, end, msgHandler) {\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n\n    const readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n      begin,\n      end,\n    });\n    this._reader = readableStream.getReader();\n  }\n\n  get isStreamingSupported() {\n    return false;\n  }\n\n  async read() {\n    const { value, done } = await this._reader.read();\n    if (done) {\n      return { value: undefined, done: true };\n    }\n    return { value: value.buffer, done: false };\n  }\n\n  cancel(reason) {\n    this._reader.cancel(reason);\n  }\n}\n\nexport { PDFWorkerStream };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78-EUC-H.bcmap
deleted file mode 100644
index 2655fc7..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78-EUC-V.bcmap
deleted file mode 100644
index f1ed853..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78-H.bcmap
deleted file mode 100644
index 39e89d3..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78-RKSJ-H.bcmap
deleted file mode 100644
index e4167cb..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78-RKSJ-V.bcmap
deleted file mode 100644
index 50b1646..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78-V.bcmap
deleted file mode 100644
index d7af99b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap
deleted file mode 100644
index 37077d0..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap
deleted file mode 100644
index acf2323..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap
deleted file mode 100644
index 2359bc5..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap
deleted file mode 100644
index af82938..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap
deleted file mode 100644
index 780549d..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap
deleted file mode 100644
index bfd3119..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap
deleted file mode 100644
index 25ef14a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap
deleted file mode 100644
index 02f713b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap
deleted file mode 100644
index d08e0cc..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Add-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Add-H.bcmap
deleted file mode 100644
index 59442ac..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Add-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Add-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Add-RKSJ-H.bcmap
deleted file mode 100644
index a3065e4..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Add-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Add-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Add-RKSJ-V.bcmap
deleted file mode 100644
index 040014c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Add-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Add-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Add-V.bcmap
deleted file mode 100644
index 2f816d3..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Add-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap
deleted file mode 100644
index 88ec04a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap
deleted file mode 100644
index 03a5014..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap
deleted file mode 100644
index 2aa9514..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap
deleted file mode 100644
index 86d8b8c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap
deleted file mode 100644
index f50fc6c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap
deleted file mode 100644
index 6caf4a8..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap
deleted file mode 100644
index b77fb07..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap
deleted file mode 100644
index 69d79a2..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-0.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-0.bcmap
deleted file mode 100644
index 3610108..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-0.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-1.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-1.bcmap
deleted file mode 100644
index 707bb10..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-1.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-2.bcmap
deleted file mode 100644
index f7648cc..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-3.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-3.bcmap
deleted file mode 100644
index 8521458..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-3.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-4.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-4.bcmap
deleted file mode 100644
index e40c63a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-4.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-5.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-5.bcmap
deleted file mode 100644
index d7623b5..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-5.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap
deleted file mode 100644
index 7586525..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap
deleted file mode 100644
index f0e94ec..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap
deleted file mode 100644
index dad42c5..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap
deleted file mode 100644
index 090819a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap
deleted file mode 100644
index 087dfc1..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap
deleted file mode 100644
index 46aa9bf..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap
deleted file mode 100644
index 5b4b65c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap
deleted file mode 100644
index e77d699..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap
deleted file mode 100644
index 128a141..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap
deleted file mode 100644
index cef1a99..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap
deleted file mode 100644
index 11ffa36..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap
deleted file mode 100644
index 3172308..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap
deleted file mode 100644
index f3371c0..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/B5-H.bcmap
deleted file mode 100644
index beb4d22..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/B5-V.bcmap
deleted file mode 100644
index 2d4f87d..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/B5pc-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/B5pc-H.bcmap
deleted file mode 100644
index ce00131..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/B5pc-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/B5pc-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/B5pc-V.bcmap
deleted file mode 100644
index 73b99ff..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/B5pc-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/CNS-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/CNS-EUC-H.bcmap
deleted file mode 100644
index 61d1d0c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/CNS-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/CNS-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/CNS-EUC-V.bcmap
deleted file mode 100644
index 1a393a5..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/CNS-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/CNS1-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/CNS1-H.bcmap
deleted file mode 100644
index f738e21..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/CNS1-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/CNS1-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/CNS1-V.bcmap
deleted file mode 100644
index 9c3169f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/CNS1-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/CNS2-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/CNS2-H.bcmap
deleted file mode 100644
index c89b352..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/CNS2-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/CNS2-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/CNS2-V.bcmap
deleted file mode 100644
index 7588cec..0000000
--- a/server/target/classes/static/pdfjs/web/cmaps/CNS2-V.bcmap
+++ /dev/null
@@ -1,3 +0,0 @@
-�RCopyright 1990-2009 Adobe Systems Incorporated.
-All rights reserved.
-See ./LICENSE�CNS2-H
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/web/cmaps/ETHK-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/ETHK-B5-H.bcmap
deleted file mode 100644
index cb29415..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/ETHK-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/ETHK-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/ETHK-B5-V.bcmap
deleted file mode 100644
index f09aec6..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/ETHK-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/ETen-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/ETen-B5-H.bcmap
deleted file mode 100644
index c2d7746..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/ETen-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/ETen-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/ETen-B5-V.bcmap
deleted file mode 100644
index 89bff15..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/ETen-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/ETenms-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/ETenms-B5-H.bcmap
deleted file mode 100644
index a7d69db..0000000
--- a/server/target/classes/static/pdfjs/web/cmaps/ETenms-B5-H.bcmap
+++ /dev/null
@@ -1,3 +0,0 @@
-�RCopyright 1990-2009 Adobe Systems Incorporated.
-All rights reserved.
-See ./LICENSE�	ETen-B5-H` ^
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/web/cmaps/ETenms-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/ETenms-B5-V.bcmap
deleted file mode 100644
index adc5d61..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/ETenms-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/EUC-H.bcmap
deleted file mode 100644
index e92ea5b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/EUC-V.bcmap
deleted file mode 100644
index 7a7c183..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Ext-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Ext-H.bcmap
deleted file mode 100644
index 3b5cde4..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Ext-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap
deleted file mode 100644
index ea4d2d9..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap
deleted file mode 100644
index 3457c27..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Ext-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Ext-V.bcmap
deleted file mode 100644
index 4999ca4..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Ext-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GB-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GB-EUC-H.bcmap
deleted file mode 100644
index e39908b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GB-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GB-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GB-EUC-V.bcmap
deleted file mode 100644
index d5be544..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GB-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GB-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GB-H.bcmap
deleted file mode 100644
index 39189c5..0000000
--- a/server/target/classes/static/pdfjs/web/cmaps/GB-H.bcmap
+++ /dev/null
@@ -1,4 +0,0 @@
-�RCopyright 1990-2009 Adobe Systems Incorporated.
-All rights reserved.
-See ./LICENSE!!��]aX!!]`�21�>	�p�z�$]��"R�d�-U�7�*�
4�%�+ �Z �{�/�%�<�9K�b�1]�.�"��`]�,�"]�
-�"]�h�"]�F�"]�$�"]��"]�`�"]�>�"]��"]�z�"]�X�"]�6�"]��"]�r�"]�P�"]�.�"]��"]�j�"]�H�"]�&�"]��"]�b�"]�@�"]��"]�|�"]�Z�"]�8�"]��"]�t�"]�R�"]�0�"]��"]�l�"]�J�"]�(�"]��"]�d�"]�B�"]� �"X�~�']�W�"]�5�"]��"]�q�"]�O�"]�-�"]��"]�i�"]�G�"]�%�"]��"]�a�"]�?�"]��"]�{�"]�Y�"]�7�"]��"]�s�"]�Q�"]�/�"]�
�"]�k�"]�I�"]�'�"]��"]�c�"]�A�"]��"]�}�"]�[�"]�9
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GB-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GB-V.bcmap
deleted file mode 100644
index 3108345..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GB-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBK-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBK-EUC-H.bcmap
deleted file mode 100644
index 05fff7e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBK-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBK-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBK-EUC-V.bcmap
deleted file mode 100644
index 0cdf6be..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBK-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBK2K-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBK2K-H.bcmap
deleted file mode 100644
index 46f6ba5..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBK2K-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBK2K-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBK2K-V.bcmap
deleted file mode 100644
index d9a9479..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBK2K-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBKp-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBKp-EUC-H.bcmap
deleted file mode 100644
index 5cb0af6..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBKp-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBKp-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBKp-EUC-V.bcmap
deleted file mode 100644
index bca93b8..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBKp-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBT-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBT-EUC-H.bcmap
deleted file mode 100644
index 4b4e2d3..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBT-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBT-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBT-EUC-V.bcmap
deleted file mode 100644
index 38f7066..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBT-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBT-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBT-H.bcmap
deleted file mode 100644
index 8437ac3..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBT-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBT-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBT-V.bcmap
deleted file mode 100644
index 697ab4a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBT-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap
deleted file mode 100644
index f6e50e8..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap
deleted file mode 100644
index 6c0d71a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBpc-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBpc-EUC-H.bcmap
deleted file mode 100644
index c9edf67..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBpc-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/GBpc-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/GBpc-EUC-V.bcmap
deleted file mode 100644
index 31450c9..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/GBpc-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/H.bcmap
deleted file mode 100644
index 7b24ea4..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKdla-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKdla-B5-H.bcmap
deleted file mode 100644
index 7d30c05..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKdla-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKdla-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKdla-B5-V.bcmap
deleted file mode 100644
index 7894694..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKdla-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKdlb-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKdlb-B5-H.bcmap
deleted file mode 100644
index d829a23..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKdlb-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKdlb-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKdlb-B5-V.bcmap
deleted file mode 100644
index 2b572b5..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKdlb-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKgccs-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKgccs-B5-H.bcmap
deleted file mode 100644
index 971a4f2..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKgccs-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKgccs-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKgccs-B5-V.bcmap
deleted file mode 100644
index d353ca2..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKgccs-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKm314-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKm314-B5-H.bcmap
deleted file mode 100644
index 576dc01..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKm314-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKm314-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKm314-B5-V.bcmap
deleted file mode 100644
index 0e96d0e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKm314-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKm471-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKm471-B5-H.bcmap
deleted file mode 100644
index 11d170c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKm471-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKm471-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKm471-B5-V.bcmap
deleted file mode 100644
index 54959bf..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKm471-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKscs-B5-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKscs-B5-H.bcmap
deleted file mode 100644
index 6ef7857..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKscs-B5-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/HKscs-B5-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/HKscs-B5-V.bcmap
deleted file mode 100644
index 1fb2fa2..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/HKscs-B5-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Hankaku.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Hankaku.bcmap
deleted file mode 100644
index 4b8ec7f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Hankaku.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Hiragana.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Hiragana.bcmap
deleted file mode 100644
index 17e983e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Hiragana.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSC-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSC-EUC-H.bcmap
deleted file mode 100644
index a45c65f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSC-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSC-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSC-EUC-V.bcmap
deleted file mode 100644
index 0e7b21f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSC-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSC-H.bcmap
deleted file mode 100644
index b9b22b6..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSC-Johab-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSC-Johab-H.bcmap
deleted file mode 100644
index 2531ffc..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSC-Johab-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSC-Johab-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSC-Johab-V.bcmap
deleted file mode 100644
index 367ceb2..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSC-Johab-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSC-V.bcmap
deleted file mode 100644
index 6ae2f0b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-H.bcmap
deleted file mode 100644
index a8d4240..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap
deleted file mode 100644
index 8b4ae18..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap
deleted file mode 100644
index b655dbc..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-V.bcmap
deleted file mode 100644
index 21f97f6..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSCms-UHC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap
deleted file mode 100644
index e06f361..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap
deleted file mode 100644
index f3c9113..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Katakana.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Katakana.bcmap
deleted file mode 100644
index 524303c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Katakana.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/LICENSE b/server/target/classes/static/pdfjs/web/cmaps/LICENSE
deleted file mode 100644
index b1ad168..0000000
--- a/server/target/classes/static/pdfjs/web/cmaps/LICENSE
+++ /dev/null
@@ -1,36 +0,0 @@
-%%Copyright: -----------------------------------------------------------
-%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated.
-%%Copyright: All rights reserved.
-%%Copyright:
-%%Copyright: Redistribution and use in source and binary forms, with or
-%%Copyright: without modification, are permitted provided that the
-%%Copyright: following conditions are met:
-%%Copyright:
-%%Copyright: Redistributions of source code must retain the above
-%%Copyright: copyright notice, this list of conditions and the following
-%%Copyright: disclaimer.
-%%Copyright:
-%%Copyright: Redistributions in binary form must reproduce the above
-%%Copyright: copyright notice, this list of conditions and the following
-%%Copyright: disclaimer in the documentation and/or other materials
-%%Copyright: provided with the distribution. 
-%%Copyright:
-%%Copyright: Neither the name of Adobe Systems Incorporated nor the names
-%%Copyright: of its contributors may be used to endorse or promote
-%%Copyright: products derived from this software without specific prior
-%%Copyright: written permission. 
-%%Copyright:
-%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
-%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-%%Copyright: -----------------------------------------------------------
diff --git a/server/target/classes/static/pdfjs/web/cmaps/NWP-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/NWP-H.bcmap
deleted file mode 100644
index afc5e4b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/NWP-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/NWP-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/NWP-V.bcmap
deleted file mode 100644
index bb5785e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/NWP-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/RKSJ-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/RKSJ-H.bcmap
deleted file mode 100644
index fb8d298..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/RKSJ-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/RKSJ-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/RKSJ-V.bcmap
deleted file mode 100644
index a2555a6..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/RKSJ-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/Roman.bcmap b/server/target/classes/static/pdfjs/web/cmaps/Roman.bcmap
deleted file mode 100644
index f896dcf..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/Roman.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap
deleted file mode 100644
index d5db27c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap
deleted file mode 100644
index 1dc9b7a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap
deleted file mode 100644
index 961afef..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap
deleted file mode 100644
index df0cffe..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap
deleted file mode 100644
index 1ab18a1..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap
deleted file mode 100644
index ad14662..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap
deleted file mode 100644
index 83c6bd7..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap
deleted file mode 100644
index 22a27e4..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap
deleted file mode 100644
index 5bd6228..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap
deleted file mode 100644
index 53c534b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap
deleted file mode 100644
index b95045b..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap
deleted file mode 100644
index 51f023e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap
deleted file mode 100644
index f0dbd14..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap
deleted file mode 100644
index ce9c30a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap
deleted file mode 100644
index 982ca46..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap
deleted file mode 100644
index f78020d..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap
deleted file mode 100644
index 7daf56a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap
deleted file mode 100644
index ac9975c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap
deleted file mode 100644
index 3da0a1c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap
deleted file mode 100644
index c50b9dd..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap
deleted file mode 100644
index 6761344..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap
deleted file mode 100644
index 70bf90c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap
deleted file mode 100644
index 7a83d53..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap
deleted file mode 100644
index 7a87135..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap
deleted file mode 100644
index 9f0334c..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap
deleted file mode 100644
index 808a94f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap
deleted file mode 100644
index d768bf8..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap
deleted file mode 100644
index 3d5bf6f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap
deleted file mode 100644
index 09eee10..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap
deleted file mode 100644
index 6c54600..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap
deleted file mode 100644
index 1b1a64f..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap
deleted file mode 100644
index 994aa9e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap
deleted file mode 100644
index 643f921..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap
deleted file mode 100644
index c148f67..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap
deleted file mode 100644
index 1849d80..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap
deleted file mode 100644
index a83a677..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap
deleted file mode 100644
index f527248..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap
deleted file mode 100644
index e1a988d..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap
deleted file mode 100644
index 47e054a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap
deleted file mode 100644
index b5b9485..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap
deleted file mode 100644
index 026adca..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap
deleted file mode 100644
index fd4e66e..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap
deleted file mode 100644
index 075efb7..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap
deleted file mode 100644
index 769d214..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap
deleted file mode 100644
index bdab208..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap
deleted file mode 100644
index 6ff8674..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap
deleted file mode 100644
index 8dfa76a..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/V.bcmap b/server/target/classes/static/pdfjs/web/cmaps/V.bcmap
deleted file mode 100644
index fdec990..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/V.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/cmaps/WP-Symbol.bcmap b/server/target/classes/static/pdfjs/web/cmaps/WP-Symbol.bcmap
deleted file mode 100644
index 46729bb..0000000
Binary files a/server/target/classes/static/pdfjs/web/cmaps/WP-Symbol.bcmap and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/compressed.tracemonkey-pldi-09.pdf b/server/target/classes/static/pdfjs/web/compressed.tracemonkey-pldi-09.pdf
deleted file mode 100644
index 6557018..0000000
--- a/server/target/classes/static/pdfjs/web/compressed.tracemonkey-pldi-09.pdf
+++ /dev/null
@@ -1,1000 +0,0 @@
-  Trace-based Just-in-Time Type Specialization for Dynamic
-                                 Languages
-
-              Andreas Gal∗+, Brendan Eich∗, Mike Shaver∗, David Anderson∗, David Mandelin∗,
-      Mohammad R. Haghighat$, Blake Kaplan∗, Graydon Hoare∗, Boris Zbarsky∗, Jason Orendorff∗,
-Jesse Ruderman∗, Edwin Smith#, Rick Reitmaier#, Michael Bebenita+, Mason Chang+#, Michael Franz+
-
-                                                                  Mozilla Corporation∗
-       {gal,brendan,shaver,danderson,dmandelin,mrbkap,graydon,bz,jorendorff,jruderman}@mozilla.com
-
-                                                                   Adobe Corporation#
-                                                        {edwsmith,rreitmai}@adobe.com
-
-                                                                    Intel Corporation$
-                                                      {mohammad.r.haghighat}@intel.com
-
-                                                            University of California, Irvine+
-                                                       {mbebenit,changm,franz}@uci.edu
-
-Abstract                                                                                  and is used for the application logic of browser-based productivity
-                                                                                          applications such as Google Mail, Google Docs and Zimbra Col-
-Dynamic languages such as JavaScript are more difﬁcult to com-                            laboration Suite. In this domain, in order to provide a ﬂuid user
-pile than statically typed ones. Since no concrete type information                       experience and enable a new generation of applications, virtual ma-
-is available, traditional compilers need to emit generic code that can                    chines must provide a low startup time and high performance.
-handle all possible type combinations at runtime. We present an al-
-ternative compilation technique for dynamically-typed languages                               Compilers for statically typed languages rely on type informa-
-that identiﬁes frequently executed loop traces at run-time and then                       tion to generate efﬁcient machine code. In a dynamically typed pro-
-generates machine code on the ﬂy that is specialized for the ac-                          gramming language such as JavaScript, the types of expressions
-tual dynamic types occurring on each path through the loop. Our                           may vary at runtime. This means that the compiler can no longer
-method provides cheap inter-procedural type specialization, and an                        easily transform operations into machine instructions that operate
-elegant and efﬁcient way of incrementally compiling lazily discov-                        on one speciﬁc type. Without exact type information, the compiler
-ered alternative paths through nested loops. We have implemented                          must emit slower generalized machine code that can deal with all
-a dynamic compiler for JavaScript based on our technique and we                           potential type combinations. While compile-time static type infer-
-have measured speedups of 10x and more for certain benchmark                              ence might be able to gather type information to generate opti-
-programs.                                                                                 mized machine code, traditional static analysis is very expensive
-                                                                                          and hence not well suited for the highly interactive environment of
-Categories and Subject Descriptors D.3.4 [Programming Lan-                                a web browser.
-guages]: Processors — Incremental compilers, code generation.
-                                                                                              We present a trace-based compilation technique for dynamic
-General Terms Design, Experimentation, Measurement, Perfor-                               languages that reconciles speed of compilation with excellent per-
-mance.                                                                                    formance of the generated machine code. Our system uses a mixed-
-                                                                                          mode execution approach: the system starts running JavaScript in a
-Keywords JavaScript, just-in-time compilation, trace trees.                               fast-starting bytecode interpreter. As the program runs, the system
-                                                                                          identiﬁes hot (frequently executed) bytecode sequences, records
-1. Introduction                                                                           them, and compiles them to fast native code. We call such a se-
-                                                                                          quence of instructions a trace.
-Dynamic languages such as JavaScript, Python, and Ruby, are pop-
-ular since they are expressive, accessible to non-experts, and make                           Unlike method-based dynamic compilers, our dynamic com-
-deployment as easy as distributing a source ﬁle. They are used for                        piler operates at the granularity of individual loops. This design
-small scripts as well as for complex applications. JavaScript, for                        choice is based on the expectation that programs spend most of
-example, is the de facto standard for client-side web programming                         their time in hot loops. Even in dynamically typed languages, we
-                                                                                          expect hot loops to be mostly type-stable, meaning that the types of
-Permission to make digital or hard copies of all or part of this work for personal or     values are invariant. (12) For example, we would expect loop coun-
-classroom use is granted without fee provided that copies are not made or distributed     ters that start as integers to remain integers for all iterations. When
-for proﬁt or commercial advantage and that copies bear this notice and the full citation  both of these expectations hold, a trace-based compiler can cover
-on the ﬁrst page. To copy otherwise, to republish, to post on servers or to redistribute  the program execution with a small number of type-specialized, ef-
-to lists, requires prior speciﬁc permission and/or a fee.                                 ﬁciently compiled traces.
-PLDI’09, June 15–20, 2009, Dublin, Ireland.
-Copyright c 2009 ACM 978-1-60558-392-1/09/06. . . $5.00                                       Each compiled trace covers one path through the program with
-                                                                                          one mapping of values to types. When the VM executes a compiled
-                                                                                          trace, it cannot guarantee that the same path will be followed
-                                                                                          or that the same types will occur in subsequent loop iterations.
-Hence, recording and compiling a trace speculates that the path and      1 for (var i = 2; i < 100; ++i) {
-typing will be exactly as they were during recording for subsequent
-iterations of the loop.                                                  2 if (!primes[i])
-
-    Every compiled trace contains all the guards (checks) required       3   continue;
-to validate the speculation. If one of the guards fails (if control
-ﬂow is different, or a value of a different type is generated), the      4 for (var k = i + i; i < 100; k += i)
-trace exits. If an exit becomes hot, the VM can record a branch
-trace starting at the exit to cover the new path. In this way, the VM    5   primes[k] = false;
-records a trace tree covering all the hot paths through the loop.
-                                                                         6}
-    Nested loops can be difﬁcult to optimize for tracing VMs. In
-a na¨ıve implementation, inner loops would become hot ﬁrst, and          Figure 1. Sample program: sieve of Eratosthenes. primes is
-the VM would start tracing there. When the inner loop exits, the         initialized to an array of 100 false values on entry to this code
-VM would detect that a different branch was taken. The VM would          snippet.
-try to record a branch trace, and ﬁnd that the trace reaches not the
-inner loop header, but the outer loop header. At this point, the VM                                    Interpret  cold/blacklisted            Symbol Key
-could continue tracing until it reaches the inner loop header again,                                  Bytecodes       loop/exit                Overhead
-thus tracing the outer loop inside a trace tree for the inner loop.                                                                           Interpreting
-But this requires tracing a copy of the outer loop for every side exit                               loop
-and type combination in the inner loop. In essence, this is a form                                   edge                                        Native
-of unintended tail duplication, which can easily overﬂow the code
-cache. Alternatively, the VM could simply stop tracing, and give up           abort                  Monitor      compiled trace
-on ever tracing outer loops.                                                recording                                   ready
-                                                                                             hot
-    We solve the nested loop problem by recording nested trace                  Record    loop/exit                                 Enter
-trees. Our system traces the inner loop exactly as the na¨ıve version.        LIR Trace                                       Compiled Trace
-The system stops extending the inner tree when it reaches an outer
-loop, but then it starts a new trace at the outer loop header. When            ﬁnish at              loop edge with
-the outer loop reaches the inner loop header, the system tries to call       loop header               same types
-the trace tree for the inner loop. If the call succeeds, the VM records
-the call to the inner tree as part of the outer trace and ﬁnishes            Compile                                        Execute
-the outer trace as normal. In this way, our system can trace any             LIR Trace                                  Compiled Trace
-number of loops nested to any depth without causing excessive tail
-duplication.                                                                                              side exit,                           side exit to
-                                                                                                     no existing trace                        existing trace
-    These techniques allow a VM to dynamically translate a pro-
-gram to nested, type-specialized trace trees. Because traces can                                                              Leave
-cross function call boundaries, our techniques also achieve the ef-                                                     Compiled Trace
-fects of inlining. Because traces have no internal control-ﬂow joins,
-they can be optimized in linear time by a simple compiler (10).          Figure 2. State machine describing the major activities of Trace-
-Thus, our tracing VM efﬁciently performs the same kind of op-            Monkey and the conditions that cause transitions to a new activ-
-timizations that would require interprocedural analysis in a static      ity. In the dark box, TM executes JS as compiled traces. In the
-optimization setting. This makes tracing an attractive and effective     light gray boxes, TM executes JS in the standard interpreter. White
-tool to type specialize even complex function call-rich code.            boxes are overhead. Thus, to maximize performance, we need to
-                                                                         maximize time spent in the darkest box and minimize time spent in
-    We implemented these techniques for an existing JavaScript in-       the white boxes. The best case is a loop where the types at the loop
-terpreter, SpiderMonkey. We call the resulting tracing VM Trace-         edge are the same as the types on entry–then TM can stay in native
-Monkey. TraceMonkey supports all the JavaScript features of Spi-         code until the loop is done.
-derMonkey, with a 2x-20x speedup for traceable programs.
-                                                                         a set of industry benchmarks. The paper ends with conclusions in
-    This paper makes the following contributions:                        Section 9 and an outlook on future work is presented in Section 10.
-
- • We explain an algorithm for dynamically forming trace trees to        2. Overview: Example Tracing Run
-    cover a program, representing nested loops as nested trace trees.
-                                                                         This section provides an overview of our system by describing
- • We explain how to speculatively generate efﬁcient type-specialized    how TraceMonkey executes an example program. The example
-    code for traces from dynamic language programs.                      program, shown in Figure 1, computes the ﬁrst 100 prime numbers
-                                                                         with nested loops. The narrative should be read along with Figure 2,
- • We validate our tracing techniques in an implementation based         which describes the activities TraceMonkey performs and when it
-    on the SpiderMonkey JavaScript interpreter, achieving 2x-20x         transitions between the loops.
-    speedups on many programs.
-                                                                             TraceMonkey always begins executing a program in the byte-
-    The remainder of this paper is organized as follows. Section 3 is    code interpreter. Every loop back edge is a potential trace point.
-a general overview of trace tree based compilation we use to cap-        When the interpreter crosses a loop edge, TraceMonkey invokes
-ture and compile frequently executed code regions. In Section 4          the trace monitor, which may decide to record or execute a native
-we describe our approach of covering nested loops using a num-           trace. At the start of execution, there are no compiled traces yet, so
-ber of individual trace trees. In Section 5 we describe our trace-       the trace monitor counts the number of times each loop back edge is
-compilation based speculative type specialization approach we use        executed until a loop becomes hot, currently after 2 crossings. Note
-to generate efﬁcient machine code from recorded bytecode traces.         that the way our loops are compiled, the loop edge is crossed before
-Our implementation of a dynamic type-specializing compiler for           entering the loop, so the second crossing occurs immediately after
-JavaScript is described in Section 6. Related work is discussed in       the ﬁrst iteration.
-Section 8. In Section 7 we evaluate our dynamic compiler based on
-                                                                             Here is the sequence of events broken down by outer loop
-                                                                         iteration:
-v0 := ld state[748]  // load primes from the trace activation record
-
-st sp[0], v0         // store primes to interpreter stack
-
-v1 := ld state[764]  // load k from the trace activation record
-
-v2 := i2f(v1)        // convert k from int to double
-
-st sp[8], v1         // store k to interpreter stack
-
-st sp[16], 0         // store false to interpreter stack
-
-v3 := ld v0[4]       // load class word for primes
-
-v4 := and v3, -4     // mask out object class tag for primes
-
-v5 := eq v4, Array   // test whether primes is an array
-
-xf v5                // side exit if v5 is false
-
-v6 := js_Array_set(v0, v2, false) // call function to set array element
-
-v7 := eq v6, 0       // test return value from call
-
-xt v7                // side exit if js_Array_set returns false.
-
-Figure 3. LIR snippet for sample program. This is the LIR recorded for line 5 of the sample program in Figure 1. The LIR encodes
-the semantics in SSA form using temporary variables. The LIR also encodes all the stores that the interpreter would do to its data stack.
-Sometimes these stores can be optimized away as the stack locations are live only on exits to the interpreter. Finally, the LIR records guards
-and side exits to verify the assumptions made in this recording: that primes is an array and that the call to set its element succeeds.
-
-mov edx, ebx(748)    // load primes from the trace activation record
-mov edi(0), edx      // (*) store primes to interpreter stack
-mov esi, ebx(764)    // load k from the trace activation record
-mov edi(8), esi      // (*) store k to interpreter stack
-mov edi(16), 0       // (*) store false to interpreter stack
-mov eax, edx(4)      // (*) load object class word for primes
-and eax, -4          // (*) mask out object class tag for primes
-cmp eax, Array       // (*) test whether primes is an array
-jne side_exit_1      // (*) side exit if primes is not an array
-sub esp, 8           // bump stack for call alignment convention
-push false           // push last argument for call
-push esi             // push first argument for call
-call js_Array_set    // call function to set array element
-add esp, 8           // clean up extra stack space
-mov ecx, ebx         // (*) created by register allocator
-test eax, eax        // (*) test return value of js_Array_set
-je side_exit_2       // (*) side exit if call failed
-...
-side_exit_1:         // restore ecx
-mov ecx, ebp(-4)     // restore esp
-mov esp, ebp         // jump to ret statement
-jmp epilog
-
-Figure 4. x86 snippet for sample program. This is the x86 code compiled from the LIR snippet in Figure 3. Most LIR instructions compile
-to a single x86 instruction. Instructions marked with (*) would be omitted by an idealized compiler that knew that none of the side exits
-would ever be taken. The 17 instructions generated by the compiler compare favorably with the 100+ instructions that the interpreter would
-execute for the same code snippet, including 4 indirect jumps.
-
-    i=2. This is the ﬁrst iteration of the outer loop. The loop on     interpreter PC and the types of values match those observed when
-lines 4-5 becomes hot on its second iteration, so TraceMonkey en-      trace recording was started. The ﬁrst trace in our example, T45,
-ters recording mode on line 4. In recording mode, TraceMonkey          covers lines 4 and 5. This trace can be entered if the PC is at line 4,
-records the code along the trace in a low-level compiler intermedi-    i and k are integers, and primes is an object. After compiling T45,
-ate representation we call LIR. The LIR trace encodes all the oper-    TraceMonkey returns to the interpreter and loops back to line 1.
-ations performed and the types of all operands. The LIR trace also
-encodes guards, which are checks that verify that the control ﬂow          i=3. Now the loop header at line 1 has become hot, so Trace-
-and types are identical to those observed during trace recording.      Monkey starts recording. When recording reaches line 4, Trace-
-Thus, on later executions, if and only if all guards are passed, the   Monkey observes that it has reached an inner loop header that al-
-trace has the required program semantics.                              ready has a compiled trace, so TraceMonkey attempts to nest the
-                                                                       inner loop inside the current trace. The ﬁrst step is to call the inner
-    TraceMonkey stops recording when execution returns to the          trace as a subroutine. This executes the loop on line 4 to completion
-loop header or exits the loop. In this case, execution returns to the  and then returns to the recorder. TraceMonkey veriﬁes that the call
-loop header on line 4.                                                 was successful and then records the call to the inner trace as part of
-                                                                       the current trace. Recording continues until execution reaches line
-    After recording is ﬁnished, TraceMonkey compiles the trace to      1, and at which point TraceMonkey ﬁnishes and compiles a trace
-native code using the recorded type information for optimization.      for the outer loop, T16.
-The result is a native code fragment that can be entered if the
-    i=4. On this iteration, TraceMonkey calls T16. Because i=4, the           A trace records all its intermediate values in a small activation
-if statement on line 2 is taken. This branch was not taken in the         record area. To make variable accesses fast on trace, the trace also
-original trace, so this causes T16 to fail a guard and take a side exit.  imports local and global variables by unboxing them and copying
-The exit is not yet hot, so TraceMonkey returns to the interpreter,       them to its activation record. Thus, the trace can read and write
-which executes the continue statement.                                    these variables with simple loads and stores from a native activation
-                                                                          recording, independently of the boxing mechanism used by the
-    i=5. TraceMonkey calls T16, which in turn calls the nested trace      interpreter. When the trace exits, the VM boxes the values from
-T45. T16 loops back to its own header, starting the next iteration        this native storage location and copies them back to the interpreter
-without ever returning to the monitor.                                    structures.
-
-    i=6. On this iteration, the side exit on line 2 is taken again. This      For every control-ﬂow branch in the source program, the
-time, the side exit becomes hot, so a trace T23,1 is recorded that        recorder generates conditional exit LIR instructions. These instruc-
-covers line 3 and returns to the loop header. Thus, the end of T23,1      tions exit from the trace if required control ﬂow is different from
-jumps directly to the start of T16. The side exit is patched so that      what it was at trace recording, ensuring that the trace instructions
-on future iterations, it jumps directly to T23,1.                         are run only if they are supposed to. We call these instructions
-                                                                          guard instructions.
-    At this point, TraceMonkey has compiled enough traces to cover
-the entire nested loop structure, so the rest of the program runs             Most of our traces represent loops and end with the special loop
-entirely as native code.                                                  LIR instruction. This is just an unconditional branch to the top of
-                                                                          the trace. Such traces return only via guards.
-3. Trace Trees
-                                                                              Now, we describe the key optimizations that are performed as
-In this section, we describe traces, trace trees, and how they are        part of recording LIR. All of these optimizations reduce complex
-formed at run time. Although our techniques apply to any dynamic          dynamic language constructs to simple typed constructs by spe-
-language interpreter, we will describe them assuming a bytecode           cializing for the current trace. Each optimization requires guard in-
-interpreter to keep the exposition simple.                                structions to verify their assumptions about the state and exit the
-                                                                          trace if necessary.
-3.1 Traces
-                                                                              Type specialization.
-A trace is simply a program path, which may cross function call               All LIR primitives apply to operands of speciﬁc types. Thus,
-boundaries. TraceMonkey focuses on loop traces, that originate at         LIR traces are necessarily type-specialized, and a compiler can
-a loop edge and represent a single iteration through the associated       easily produce a translation that requires no type dispatches. A
-loop.                                                                     typical bytecode interpreter carries tag bits along with each value,
-                                                                          and to perform any operation, must check the tag bits, dynamically
-    Similar to an extended basic block, a trace is only entered at        dispatch, mask out the tag bits to recover the untagged value,
-the top, but may have many exits. In contrast to an extended basic        perform the operation, and then reapply tags. LIR omits everything
-block, a trace can contain join nodes. Since a trace always only          except the operation itself.
-follows one single path through the original program, however, join           A potential problem is that some operations can produce values
-nodes are not recognizable as such in a trace and have a single           of unpredictable types. For example, reading a property from an
-predecessor node like regular nodes.                                      object could yield a value of any type, not necessarily the type
-                                                                          observed during recording. The recorder emits guard instructions
-    A typed trace is a trace annotated with a type for every variable     that conditionally exit if the operation yields a value of a different
-(including temporaries) on the trace. A typed trace also has an entry     type from that seen during recording. These guard instructions
-type map giving the required types for variables used on the trace        guarantee that as long as execution is on trace, the types of values
-before they are deﬁned. For example, a trace could have a type map        match those of the typed trace. When the VM observes a side exit
-(x: int, b: boolean), meaning that the trace may be entered               along such a type guard, a new typed trace is recorded originating
-only if the value of the variable x is of type int and the value of b     at the side exit location, capturing the new type of the operation in
-is of type boolean. The entry type map is much like the signature         question.
-of a function.                                                                Representation specialization: objects. In JavaScript, name
-                                                                          lookup semantics are complex and potentially expensive because
-    In this paper, we only discuss typed loop traces, and we will         they include features like object inheritance and eval. To evaluate
-refer to them simply as “traces”. The key property of typed loop          an object property read expression like o.x, the interpreter must
-traces is that they can be compiled to efﬁcient machine code using        search the property map of o and all of its prototypes and parents.
-the same techniques used for typed languages.                             Property maps can be implemented with different data structures
-                                                                          (e.g., per-object hash tables or shared hash tables), so the search
-    In TraceMonkey, traces are recorded in trace-ﬂavored SSA LIR          process also must dispatch on the representation of each object
-(low-level intermediate representation). In trace-ﬂavored SSA (or         found during search. TraceMonkey can simply observe the result of
-TSSA), phi nodes appear only at the entry point, which is reached         the search process and record the simplest possible LIR to access
-both on entry and via loop edges. The important LIR primitives            the property value. For example, the search might ﬁnds the value of
-are constant values, memory loads and stores (by address and              o.x in the prototype of o, which uses a shared hash-table represen-
-offset), integer operators, ﬂoating-point operators, function calls,      tation that places x in slot 2 of a property vector. Then the recorded
-and conditional exits. Type conversions, such as integer to double,       can generate LIR that reads o.x with just two or three loads: one to
-are represented by function calls. This makes the LIR used by             get the prototype, possibly one to get the property value vector, and
-TraceMonkey independent of the concrete type system and type              one more to get slot 2 from the vector. This is a vast simpliﬁcation
-conversion rules of the source language. The LIR operations are           and speedup compared to the original interpreter code. Inheritance
-generic enough that the backend compiler is language independent.         relationships and object representations can change during execu-
-Figure 3 shows an example LIR trace.                                      tion, so the simpliﬁed code requires guard instructions that ensure
-                                                                          the object representation is the same. In TraceMonkey, objects’ rep-
-    Bytecode interpreters typically represent values in a various
-complex data structures (e.g., hash tables) in a boxed format (i.e.,
-with attached type tag bits). Since a trace is intended to represent
-efﬁcient code that eliminates all that complexity, our traces oper-
-ate on unboxed values in simple variables and arrays as much as
-possible.
-resentations are assigned an integer key called the object shape.                   Starting a tree. Tree trees always start at loop headers, because
-Thus, the guard is a simple equality check on the object shape.                 they are a natural place to look for hot paths. In TraceMonkey, loop
-                                                                                headers are easy to detect–the bytecode compiler ensures that a
-    Representation specialization: numbers. JavaScript has no                   bytecode is a loop header iff it is the target of a backward branch.
-integer type, only a Number type that is the set of 64-bit IEEE-                TraceMonkey starts a tree when a given loop header has been exe-
-754 ﬂoating-pointer numbers (“doubles”). But many JavaScript                    cuted a certain number of times (2 in the current implementation).
-operators, in particular array accesses and bitwise operators, really           Starting a tree just means starting recording a trace for the current
-operate on integers, so they ﬁrst convert the number to an integer,             point and type map and marking the trace as the root of a tree. Each
-and then convert any integer result back to a double.1 Clearly, a               tree is associated with a loop header and type map, so there may be
-JavaScript VM that wants to be fast must ﬁnd a way to operate on                several trees for a given loop header.
-integers directly and avoid these conversions.
-                                                                                    Closing the loop. Trace recording can end in several ways.
-    In TraceMonkey, we support two representations for numbers:                     Ideally, the trace reaches the loop header where it started with
-integers and doubles. The interpreter uses integer representations              the same type map as on entry. This is called a type-stable loop
-as much as it can, switching for results that can only be represented           iteration. In this case, the end of the trace can jump right to the
-as doubles. When a trace is started, some values may be imported                beginning, as all the value representations are exactly as needed to
-and represented as integers. Some operations on integers require                enter the trace. The jump can even skip the usual code that would
-guards. For example, adding two integers can produce a value too                copy out the state at the end of the trace and copy it back in to the
-large for the integer representation.                                           trace activation record to enter a trace.
-                                                                                    In certain cases the trace might reach the loop header with a
-    Function inlining. LIR traces can cross function boundaries                 different type map. This scenario is sometime observed for the ﬁrst
-in either direction, achieving function inlining. Move instructions             iteration of a loop. Some variables inside the loop might initially be
-need to be recorded for function entry and exit to copy arguments               undeﬁned, before they are set to a concrete type during the ﬁrst loop
-in and return values out. These move statements are then optimized              iteration. When recording such an iteration, the recorder cannot
-away by the compiler using copy propagation. In order to be able                link the trace back to its own loop header since it is type-unstable.
-to return to the interpreter, the trace must also generate LIR to               Instead, the iteration is terminated with a side exit that will always
-record that a call frame has been entered and exited. The frame                 fail and return to the interpreter. At the same time a new trace is
-entry and exit LIR saves just enough information to allow the                   recorded with the new type map. Every time an additional type-
-intepreter call stack to be restored later and is much simpler than             unstable trace is added to a region, its exit type map is compared to
-the interpreter’s standard call code. If the function being entered             the entry map of all existing traces in case they complement each
-is not constant (which in JavaScript includes any call by function              other. With this approach we are able to cover type-unstable loop
-name), the recorder must also emit LIR to guard that the function               iterations as long they eventually form a stable equilibrium.
-is the same.                                                                        Finally, the trace might exit the loop before reaching the loop
-                                                                                header, for example because execution reaches a break or return
-    Guards and side exits. Each optimization described above                    statement. In this case, the VM simply ends the trace with an exit
-requires one or more guards to verify the assumptions made in                   to the trace monitor.
-doing the optimization. A guard is just a group of LIR instructions                 As mentioned previously, we may speculatively chose to rep-
-that performs a test and conditional exit. The exit branches to a               resent certain Number-typed values as integers on trace. We do so
-side exit, a small off-trace piece of LIR that returns a pointer to             when we observe that Number-typed variables contain an integer
-a structure that describes the reason for the exit along with the               value at trace entry. If during trace recording the variable is unex-
-interpreter PC at the exit point and any other data needed to restore           pectedly assigned a non-integer value, we have to widen the type
-the interpreter’s state structures.                                             of the variable to a double. As a result, the recorded trace becomes
-                                                                                inherently type-unstable since it starts with an integer value but
-    Aborts. Some constructs are difﬁcult to record in LIR traces.               ends with a double value. This represents a mis-speculation, since
-For example, eval or calls to external functions can change the                 at trace entry we specialized the Number-typed value to an integer,
-program state in unpredictable ways, making it difﬁcult for the                 assuming that at the loop edge we would again ﬁnd an integer value
-tracer to know the current type map in order to continue tracing.               in the variable, allowing us to close the loop. To avoid future spec-
-A tracing implementation can also have any number of other limi-                ulative failures involving this variable, and to obtain a type-stable
-tations, e.g.,a small-memory device may limit the length of traces.             trace we note the fact that the variable in question as been observed
-When any situation occurs that prevents the implementation from                 to sometimes hold non-integer values in an advisory data structure
-continuing trace recording, the implementation aborts trace record-             which we call the “oracle”.
-ing and returns to the trace monitor.                                               When compiling loops, we consult the oracle before specializ-
-                                                                                ing values to integers. Speculation towards integers is performed
-3.2 Trace Trees                                                                 only if no adverse information is known to the oracle about that
-                                                                                particular variable. Whenever we accidentally compile a loop that
-Especially simple loops, namely those where control ﬂow, value                  is type-unstable due to mis-speculation of a Number-typed vari-
-types, value representations, and inlined functions are all invariant,          able, we immediately trigger the recording of a new trace, which
-can be represented by a single trace. But most loops have at least              based on the now updated oracle information will start with a dou-
-some variation, and so the program will take side exits from the                ble value and thus become type stable.
-main trace. When a side exit becomes hot, TraceMonkey starts a                      Extending a tree. Side exits lead to different paths through
-new branch trace from that point and patches the side exit to jump              the loop, or paths with different types or representations. Thus, to
-directly to that trace. In this way, a single trace expands on demand           completely cover the loop, the VM must record traces starting at all
-to a single-entry, multiple-exit trace tree.                                    side exits. These traces are recorded much like root traces: there is
-                                                                                a counter for each side exit, and when the counter reaches a hotness
-    This section explains how trace trees are formed during execu-              threshold, recording starts. Recording stops exactly as for the root
-tion. The goal is to form trace trees during execution that cover all           trace, using the loop header of the root trace as the target to reach.
-the hot paths of the program.
-
-1 Arrays are actually worse than this: if the index value is a number, it must
-be converted from a double to a string for the property access operator, and
-then to an integer internally to the array implementation.
-    Our implementation does not extend at all side exits. It extends                          T
-only if the side exit is for a control-ﬂow branch, and only if the side
-exit does not leave the loop. In particular we do not want to extend                                                     Tree Anchor
-a trace tree along a path that leads to an outer loop, because we                                                         Trunk Trace
-want to cover such paths in an outer tree through tree nesting.                                                          Trace Anchor
-                                                                                                                         Branch Trace
-3.3 Blacklisting
-                                                                                                                             Guard
-Sometimes, a program follows a path that cannot be compiled                                                                 Side Exit
-into a trace, usually because of limitations in the implementation.
-TraceMonkey does not currently support recording throwing and              Figure 5. A tree with two traces, a trunk trace and one branch
-catching of arbitrary exceptions. This design trade off was chosen,        trace. The trunk trace contains a guard to which a branch trace was
-because exceptions are usually rare in JavaScript. However, if a           attached. The branch trace contain a guard that may fail and trigger
-program opts to use exceptions intensively, we would suddenly              a side exit. Both the trunk and the branch trace loop back to the tree
-incur a punishing runtime overhead if we repeatedly try to record          anchor, which is the beginning of the trace tree.
-a trace for this path and repeatedly fail to do so, since we abort
-tracing every time we observe an exception being thrown.                        Trace 1       Trace 2                       Trace 1         Trace 2
-                                                                           Number                    Boolean           Number                      Boolean
-    As a result, if a hot loop contains traces that always fail, the VM
-could potentially run much more slowly than the base interpreter:          Number             Number                   Boolean                      Number
-the VM repeatedly spends time trying to record traces, but is never
-able to run any. To avoid this problem, whenever the VM is about           Closed             Linked                   Linked               Linked
-to start tracing, it must try to predict whether it will ﬁnish the trace.
-                                                                                         (a)                                           (b)
-    Our prediction algorithm is based on blacklisting traces that
-have been tried and failed. When the VM fails to ﬁnish a trace start-      Trace 1                            Trace 2                       Trace 3
-ing at a given point, the VM records that a failure has occurred. The
-VM also sets a counter so that it will not try to record a trace starting  Number                             Boolean                       String
-at that point until it is passed a few more times (32 in our imple-
-mentation). This backoff counter gives temporary conditions that                              Number          String                        String
-prevent tracing a chance to end. For example, a loop may behave                                                                               Closed
-differently during startup than during its steady-state execution. Af-     String             Linked          Linked
-ter a given number of failures (2 in our implementation), the VM              Linked
-marks the fragment as blacklisted, which means the VM will never                                                (c)
-again start recording at that point.
-                                                                           Figure 6. We handle type-unstable loops by allowing traces to
-    After implementing this basic strategy, we observed that for           compile that cannot loop back to themselves due to a type mis-
-small loops that get blacklisted, the system can spend a noticeable        match. As such traces accumulate, we attempt to connect their loop
-amount of time just ﬁnding the loop fragment and determining that          edges to form groups of trace trees that can execute without having
-it has been blacklisted. We now avoid that problem by patching the         to side-exit to the interpreter to cover odd type cases. This is par-
-bytecode. We deﬁne an extra no-op bytecode that indicates a loop           ticularly important for nested trace trees where an outer tree tries to
-header. The VM calls into the trace monitor every time the inter-          call an inner tree (or in this case a forest of inner trees), since inner
-preter executes a loop header no-op. To blacklist a fragment, we           loops frequently have initially undeﬁned values which change type
-simply replace the loop header no-op with a regular no-op. Thus,           to a concrete value after the ﬁrst iteration.
-the interpreter will never again even call into the trace monitor.
-                                                                           through the inner loop, {i2, i3, i5, α}. The α symbol is used to
-    There is a related problem we have not yet solved, which occurs        indicate that the trace loops back the tree anchor.
-when a loop meets all of these conditions:
-                                                                               When execution leaves the inner loop, the basic design has two
- • The VM can form at least one root trace for the loop.                   choices. First, the system can stop tracing and give up on compiling
-                                                                           the outer loop, clearly an undesirable solution. The other choice is
- • There is at least one hot side exit for which the VM cannot             to continue tracing, compiling traces for the outer loop inside the
-    complete a trace.                                                      inner loop’s trace tree.
-
- • The loop body is short.                                                     For example, the program might exit at i5 and record a branch
-                                                                           trace that incorporates the outer loop: {i5, i7, i1, i6, i7, i1, α}.
-    In this case, the VM will repeatedly pass the loop header, search      Later, the program might take the other branch at i2 and then
-for a trace, ﬁnd it, execute it, and fall back to the interpreter.         exit, recording another branch trace incorporating the outer loop:
-With a short loop body, the overhead of ﬁnding and calling the             {i2, i4, i5, i7, i1, i6, i7, i1, α}. Thus, the outer loop is recorded and
-trace is high, and causes performance to be even slower than the           compiled twice, and both copies must be retained in the trace cache.
-basic interpreter. So far, in this situation we have improved the
-implementation so that the VM can complete the branch trace.
-But it is hard to guarantee that this situation will never happen.
-As future work, this situation could be avoided by detecting and
-blacklisting loops for which the average trace call executes few
-bytecodes before returning to the interpreter.
-
-4. Nested Trace Tree Formation
-
-Figure 7 shows basic trace tree compilation (11) applied to a nested
-loop where the inner loop contains two paths. Usually, the inner
-loop (with header at i2) becomes hot ﬁrst, and a trace tree is rooted
-at that point. For example, the ﬁrst recorded trace may be a cycle
-        i1                               Outer Tree                          i1  t1
-        i2       t1
-                                                                                         Nested Tree
-                                                 Tree Call
-                                                 Nested Tree                 i2      t2
-                                    t2
-                                                                             i3
-                                                  Exit Guard
-i6  i3       i4
-
-                                                                                         Exit Guard
-
-                                                                             i4      t4
-
-        i5
-
-                                                                             i5
-
-        i7
-
-                                                                             i6
-
-        (a)      (b)
-
-Figure 7. Control ﬂow graph of a nested loop with an if statement            Figure 8. Control ﬂow graph of a loop with two nested loops (left)
-inside the inner most loop (a). An inner tree captures the inner             and its nested trace tree conﬁguration (right). The outer tree calls
-loop, and is nested inside an outer tree which “calls” the inner tree.       the two inner nested trace trees and places guards at their side exit
-The inner tree returns to the outer tree once it exits along its loop        locations.
-condition guard (b).
-                                                                             loop is entered with m different type maps (on geometric average),
-In general, if loops are nested to depth k, and each loop has n paths        then we compile O(mk) copies of the innermost loop. As long as
-(on geometric average), this na¨ıve strategy yields O(nk) traces,            m is close to 1, the resulting trace trees will be tractable.
-which can easily ﬁll the trace cache.
-                                                                                 An important detail is that the call to the inner trace tree must act
-    In order to execute programs with nested loops efﬁciently, a             like a function call site: it must return to the same point every time.
-tracing system needs a technique for covering the nested loops with          The goal of nesting is to make inner and outer loops independent;
-native code without exponential trace duplication.                           thus when the inner tree is called, it must exit to the same point
-                                                                             in the outer tree every time with the same type map. Because we
-4.1 Nesting Algorithm                                                        cannot actually guarantee this property, we must guard on it after
-                                                                             the call, and side exit if the property does not hold. A common
-The key insight is that if each loop is represented by its own trace         reason for the inner tree not to return to the same point would
-tree, the code for each loop can be contained only in its own tree,          be if the inner tree took a new side exit for which it had never
-and outer loop paths will not be duplicated. Another key fact is that        compiled a trace. At this point, the interpreter PC is in the inner
-we are not tracing arbitrary bytecodes that might have irreduceable          tree, so we cannot continue recording or executing the outer tree.
-control ﬂow graphs, but rather bytecodes produced by a compiler              If this happens during recording, we abort the outer trace, to give
-for a language with structured control ﬂow. Thus, given two loop             the inner tree a chance to ﬁnish growing. A future execution of the
-edges, the system can easily determine whether they are nested               outer tree would then be able to properly ﬁnish and record a call to
-and which is the inner loop. Using this knowledge, the system can            the inner tree. If an inner tree side exit happens during execution of
-compile inner and outer loops separately, and make the outer loop’s          a compiled trace for the outer tree, we simply exit the outer trace
-traces call the inner loop’s trace tree.                                     and start recording a new branch in the inner tree.
-
-    The algorithm for building nested trace trees is as follows. We          4.2 Blacklisting with Nesting
-start tracing at loop headers exactly as in the basic tracing system.
-When we exit a loop (detected by comparing the interpreter PC                The blacklisting algorithm needs modiﬁcation to work well with
-with the range given by the loop edge), we stop the trace. The               nesting. The problem is that outer loop traces often abort during
-key step of the algorithm occurs when we are recording a trace               startup (because the inner tree is not available or takes a side exit),
-for loop LR (R for loop being recorded) and we reach the header              which would lead to their being quickly blacklisted by the basic
-of a different loop LO (O for other loop). Note that LO must be an           algorithm.
-inner loop of LR because we stop the trace when we exit a loop.
-                                                                                 The key observation is that when an outer trace aborts because
- • If LO has a type-matching compiled trace tree, we call LO as              the inner tree is not ready, this is probably a temporary condition.
-    a nested trace tree. If the call succeeds, then we record the call       Thus, we should not count such aborts toward blacklisting as long
-    in the trace for LR. On future executions, the trace for LR will         as we are able to build up more traces for the inner tree.
-    call the inner trace directly.
-                                                                                 In our implementation, when an outer tree aborts on the inner
- • If LO does not have a type-matching compiled trace tree yet,              tree, we increment the outer tree’s blacklist counter as usual and
-    we have to obtain it before we are able to proceed. In order             back off on compiling it. When the inner tree ﬁnishes a trace, we
-    to do this, we simply abort recording the ﬁrst trace. The trace          decrement the blacklist counter on the outer loop, “forgiving” the
-    monitor will see the inner loop header, and will immediately             outer loop for aborting previously. We also undo the backoff so that
-    start recording the inner loop. 2                                        the outer tree can start immediately trying to compile the next time
-                                                                             we reach it.
-    If all the loops in a nest are type-stable, then loop nesting creates
-no duplication. Otherwise, if loops are nested to a depth k, and each        5. Trace Tree Optimization
-
-2 Instead of aborting the outer recording, we could principally merely sus-  This section explains how a recorded trace is translated to an
-pend the recording, but that would require the implementation to be able     optimized machine code trace. The trace compilation subsystem,
-to record several traces simultaneously, complicating the implementation,    NANOJIT, is separate from the VM and can be used for other
-while saving only a few iterations in the interpreter.                       applications.
-5.1 Optimizations                                                          Tag JS Type Description
-
-Because traces are in SSA form and have no join points or φ-               xx1 number 31-bit integer representation
-nodes, certain optimizations are easy to implement. In order to
-get good startup performance, the optimizations must run quickly,          000 object  pointer to JSObject handle
-so we chose a small set of optimizations. We implemented the
-optimizations as pipelined ﬁlters so that they can be turned on and        010 number pointer to double handle
-off independently, and yet all run in just two loop passes over the
-trace: one forward and one backward.                                       100 string  pointer to JSString handle
-
-    Every time the trace recorder emits a LIR instruction, the in-         110 boolean enumeration for null, undeﬁned, true, false
-struction is immediately passed to the ﬁrst ﬁlter in the forward
-pipeline. Thus, forward ﬁlter optimizations are performed as the           null, or
-trace is recorded. Each ﬁlter may pass each instruction to the next
-ﬁlter unchanged, write a different instruction to the next ﬁlter, or       undeﬁned
-write no instruction at all. For example, the constant folding ﬁlter
-can replace a multiply instruction like v13 := mul3, 1000 with a           Figure 9. Tagged values in the SpiderMonkey JS interpreter.
-constant instruction v13 = 3000.                                           Testing tags, unboxing (extracting the untagged value) and boxing
-                                                                           (creating tagged values) are signiﬁcant costs. Avoiding these costs
-    We currently apply four forward ﬁlters:                                is a key beneﬁt of tracing.
-
- • On ISAs without ﬂoating-point instructions, a soft-ﬂoat ﬁlter           heuristic selects v with minimum vm. The motivation is that this
-    converts ﬂoating-point LIR instructions to sequences of integer        frees up a register for as long as possible given a single spill.
-    instructions.
-                                                                               If we need to spill a value vs at this point, we generate the
- • CSE (constant subexpression elimination),                               restore code just after the code for the current instruction. The
-                                                                           corresponding spill code is generated just after the last point where
- • expression simpliﬁcation, including constant folding and a few          vs was used. The register that was assigned to vs is marked free for
-    algebraic identities (e.g., a − a = 0), and                            the preceding code, because that register can now be used freely
-                                                                           without affecting the following code
- • source language semantic-speciﬁc expression simpliﬁcation,
-    primarily algebraic identities that allow DOUBLE to be replaced        6. Implementation
-    with INT. For example, LIR that converts an INT to a DOUBLE
-    and then back again would be removed by this ﬁlter.                    To demonstrate the effectiveness of our approach, we have im-
-                                                                           plemented a trace-based dynamic compiler for the SpiderMonkey
-    When trace recording is completed, nanojit runs the backward           JavaScript Virtual Machine (4). SpiderMonkey is the JavaScript
-optimization ﬁlters. These are used for optimizations that require         VM embedded in Mozilla’s Firefox open-source web browser (2),
-backward program analysis. When running the backward ﬁlters,               which is used by more than 200 million users world-wide. The core
-nanojit reads one LIR instruction at a time, and the reads are passed      of SpiderMonkey is a bytecode interpreter implemented in C++.
-through the pipeline.
-                                                                               In SpiderMonkey, all JavaScript values are represented by the
-    We currently apply three backward ﬁlters:                              type jsval. A jsval is machine word in which up to the 3 of the
-                                                                           least signiﬁcant bits are a type tag, and the remaining bits are data.
- • Dead data-stack store elimination. The LIR trace encodes many           See Figure 6 for details. All pointers contained in jsvals point to
-    stores to locations in the interpreter stack. But these values are     GC-controlled blocks aligned on 8-byte boundaries.
-    never read back before exiting the trace (by the interpreter or
-    another trace). Thus, stores to the stack that are overwritten             JavaScript object values are mappings of string-valued property
-    before the next exit are dead. Stores to locations that are off        names to arbitrary values. They are represented in one of two ways
-    the top of the interpreter stack at future exits are also dead.        in SpiderMonkey. Most objects are represented by a shared struc-
-                                                                           tural description, called the object shape, that maps property names
- • Dead call-stack store elimination. This is the same optimization        to array indexes using a hash table. The object stores a pointer to
-    as above, except applied to the interpreter’s call stack used for      the shape and the array of its own property values. Objects with
-    function call inlining.                                                large, unique sets of property names store their properties directly
-                                                                           in a hash table.
- • Dead code elimination. This eliminates any operation that
-    stores to a value that is never used.                                      The garbage collector is an exact, non-generational, stop-the-
-                                                                           world mark-and-sweep collector.
-    After a LIR instruction is successfully read (“pulled”) from
-the backward ﬁlter pipeline, nanojit’s code generator emits native             In the rest of this section we discuss key areas of the TraceMon-
-machine instruction(s) for it.                                             key implementation.
-
-5.2 Register Allocation                                                    6.1 Calling Compiled Traces
-
-We use a simple greedy register allocator that makes a single              Compiled traces are stored in a trace cache, indexed by intepreter
-backward pass over the trace (it is integrated with the code gen-          PC and type map. Traces are compiled so that they may be
-erator). By the time the allocator has reached an instruction like         called as functions using standard native calling conventions (e.g.,
-v3 = add v1, v2, it has already assigned a register to v3. If v1 and       FASTCALL on x86).
-v2 have not yet been assigned registers, the allocator assigns a free
-register to each. If there are no free registers, a value is selected for      The interpreter must hit a loop edge and enter the monitor in
-spilling. We use a class heuristic that selects the “oldest” register-     order to call a native trace for the ﬁrst time. The monitor computes
-carried value (6).                                                         the current type map, checks the trace cache for a trace for the
-                                                                           current PC and type map, and if it ﬁnds one, executes the trace.
-    The heuristic considers the set R of values v in registers imme-
-diately after the current instruction for spilling. Let vm be the last         To execute a trace, the monitor must build a trace activation
-instruction before the current where each v is referred to. Then the       record containing imported local and global variables, temporary
-                                                                           stack space, and space for arguments to native calls. The local and
-                                                                           global values are then copied from the interpreter state to the trace
-                                                                           activation record. Then, the trace is called like a normal C function
-                                                                           pointer.
-    When a trace call returns, the monitor restores the interpreter          Recording is activated by a pointer swap that sets the inter-
-state. First, the monitor checks the reason for the trace exit and       preter’s dispatch table to call a single “interrupt” routine for ev-
-applies blacklisting if needed. Then, it pops or synthesizes inter-      ery bytecode. The interrupt routine ﬁrst calls a bytecode-speciﬁc
-preter JavaScript call stack frames as needed. Finally, it copies the    recording routine. Then, it turns off recording if necessary (e.g.,
-imported variables back from the trace activation record to the in-      the trace ended). Finally, it jumps to the standard interpreter byte-
-terpreter state.                                                         code implementation. Some bytecodes have effects on the type map
-                                                                         that cannot be predicted before executing the bytecode (e.g., call-
-    At least in the current implementation, these steps have a non-      ing String.charCodeAt, which returns an integer or NaN if the
-negligible runtime cost, so minimizing the number of interpreter-        index argument is out of range). For these, we arrange for the inter-
-to-trace and trace-to-interpreter transitions is essential for perfor-   preter to call into the recorder again after executing the bytecode.
-mance. (see also Section 3.3). Our experiments (see Figure 12)           Since such hooks are relatively rare, we embed them directly into
-show that for programs we can trace well such transitions hap-           the interpreter, with an additional runtime check to see whether a
-pen infrequently and hence do not contribute signiﬁcantly to total       recorder is currently active.
-runtime. In a few programs, where the system is prevented from
-recording branch traces for hot side exits by aborts, this cost can          While separating the interpreter from the recorder reduces indi-
-rise to up to 10% of total execution time.                               vidual code complexity, it also requires careful implementation and
-                                                                         extensive testing to achieve semantic equivalence.
-6.2 Trace Stitching
-                                                                             In some cases achieving this equivalence is difﬁcult since Spi-
-Transitions from a trace to a branch trace at a side exit avoid the      derMonkey follows a fat-bytecode design, which was found to be
-costs of calling traces from the monitor, in a feature called trace      beneﬁcial to pure interpreter performance.
-stitching. At a side exit, the exiting trace only needs to write live
-register-carried values back to its trace activation record. In our im-      In fat-bytecode designs, individual bytecodes can implement
-plementation, identical type maps yield identical activation record      complex processing (e.g., the getprop bytecode, which imple-
-layouts, so the trace activation record can be reused immediately        ments full JavaScript property value access, including special cases
-by the branch trace.                                                     for cached and dense array access).
-
-    In programs with branchy trace trees with small traces, trace            Fat bytecodes have two advantages: fewer bytecodes means
-stitching has a noticeable cost. Although writing to memory and          lower dispatch cost, and bigger bytecode implementations give the
-then soon reading back would be expected to have a high L1               compiler more opportunities to optimize the interpreter.
-cache hit rate, for small traces the increased instruction count has
-a noticeable cost. Also, if the writes and reads are very close              Fat bytecodes are a problem for TraceMonkey because they
-in the dynamic instruction stream, we have found that current            require the recorder to reimplement the same special case logic
-x86 processors often incur penalties of 6 cycles or more (e.g., if       in the same way. Also, the advantages are reduced because (a)
-the instructions use different base registers with equal values, the     dispatch costs are eliminated entirely in compiled traces, (b) the
-processor may not be able to detect that the addresses are the same      traces contain only one special case, not the interpreter’s large
-right away).                                                             chunk of code, and (c) TraceMonkey spends less time running the
-                                                                         base interpreter.
-    The alternate solution is to recompile an entire trace tree, thus
-achieving inter-trace register allocation (10). The disadvantage is          One way we have mitigated these problems is by implementing
-that tree recompilation takes time quadratic in the number of traces.    certain complex bytecodes in the recorder as sequences of simple
-We believe that the cost of recompiling a trace tree every time          bytecodes. Expressing the original semantics this way is not too dif-
-a branch is added would be prohibitive. That problem might be            ﬁcult, and recording simple bytecodes is much easier. This enables
-mitigated by recompiling only at certain points, or only for very        us to retain the advantages of fat bytecodes while avoiding some of
-hot, stable trees.                                                       their problems for trace recording. This is particularly effective for
-                                                                         fat bytecodes that recurse back into the interpreter, for example to
-    In the future, multicore hardware is expected to be common,          convert an object into a primitive value by invoking a well-known
-making background tree recompilation attractive. In a closely re-        method on the object, since it lets us inline this function call.
-lated project (13) background recompilation yielded speedups of
-up to 1.25x on benchmarks with many branch traces. We plan to                It is important to note that we split fat opcodes into thinner op-
-apply this technique to TraceMonkey as future work.                      codes only during recording. When running purely interpretatively
-                                                                         (i.e. code that has been blacklisted), the interpreter directly and ef-
-6.3 Trace Recording                                                      ﬁciently executes the fat opcodes.
-
-The job of the trace recorder is to emit LIR with identical semantics    6.4 Preemption
-to the currently running interpreter bytecode trace. A good imple-
-mentation should have low impact on non-tracing interpreter per-         SpiderMonkey, like many VMs, needs to preempt the user program
-formance and a convenient way for implementers to maintain se-           periodically. The main reasons are to prevent inﬁnitely looping
-mantic equivalence.                                                      scripts from locking up the host system and to schedule GC.
-
-    In our implementation, the only direct modiﬁcation to the inter-         In the interpreter, this had been implemented by setting a “pre-
-preter is a call to the trace monitor at loop edges. In our benchmark    empt now” ﬂag that was checked on every backward jump. This
-results (see Figure 12) the total time spent in the monitor (for all     strategy carried over into TraceMonkey: the VM inserts a guard on
-activities) is usually less than 5%, so we consider the interpreter      the preemption ﬂag at every loop edge. We measured less than a
-impact requirement met. Incrementing the loop hit counter is ex-         1% increase in runtime on most benchmarks for this extra guard.
-pensive because it requires us to look up the loop in the trace cache,   In practice, the cost is detectable only for programs with very short
-but we have tuned our loops to become hot and trace very quickly         loops.
-(on the second iteration). The hit counter implementation could be
-improved, which might give us a small increase in overall perfor-            We tested and rejected a solution that avoided the guards by
-mance, as well as more ﬂexibility with tuning hotness thresholds.        compiling the loop edge as an unconditional jump, and patching
-Once a loop is blacklisted we never call into the trace monitor for      the jump target to an exit routine when preemption is required.
-that loop (see Section 3.3).                                             This solution can make the normal case slightly faster, but then
-                                                                         preemption becomes very slow. The implementation was also very
-                                                                         complex, especially trying to restart execution after the preemption.
-6.5 Calling External Functions                                              ?>9@AJ.D<F@-<>2.@A:0>#3$4,56#
-                                                                              ?>9@AJ.0A:</C./8-2#3$4%56#
-Like most interpreters, SpiderMonkey has a foreign function inter-
-face (FFI) that allows it to call C builtins and host system functions             ?>9@AJ.><J/F80-#3$4$56#
-(e.g., web browser control and DOM access). The FFI has a stan-                         ?>9@AJ.B<?><#3$4(56#
-dard signature for JS-callable functions, the key argument of which
-is an array of boxed values. External functions called through the                   ?>9@AJ.1<?2)'#3%4(56#
-FFI interact with the program state through an interpreter API (e.g.,                  92J25:.-A<#3'4%56#
-to read a property from an argument). There are also certain inter-
-preter builtins that do not use the FFI, but interact with the program       7<>;.?:2/>9<F.A897#3*4$56#
-state in the same way, such as the CallIteratorNext function                   7<>;.:<9I<F.?07?#3(4,56#
-used with iterator objects. TraceMonkey must support this FFI in                       7<>;./89-@/#3'4,56#
-order to speed up code that interacts with the host system inside hot          -<>2.B897<>.5:<91#3$4!56#
-loops.                                                                          -<>2.B897<>.>8H2#3$4$56#
-                                                                                       /9=:>8.?;<$#3(4,56#
-    Calling external functions from TraceMonkey is potentially dif-                    /9=:>8.7-(#3%4&56#
-ﬁcult because traces do not update the interpreter state until exit-                    /9=:>8.<2?#3$4)56#
-ing. In particular, external functions may need the call stack or the
-global variables, but they may be out of date.                             /8A>98FG8E.92/09?@D2#3$4!56#
-                                                                                1@>8:?.A?@2D2.1@>?#3%4*56#
-    For the out-of-date call stack problem, we refactored some of
-the interpreter API implementation functions to re-materialize the           1@>8:?.1@>E@?2.<A-#3%(4%56#
-interpreter call stack on demand.                                              1@>8:?.1@>?.@A.1=>2#3+4*56#
-
-    We developed a C++ static analysis and annotated some inter-        1@>8:?.&1@>.1@>?.@A.1=>2#3%(4(56#
-preter functions in order to verify that the call stack is refreshed                 <//2??.A?@2D2#3&4!56#
-at any point it needs to be used. In order to access the call stack,                 <//2??.A18-=#3'4%56#
-a function must be annotated as either FORCESSTACK or RE-
-QUIRESSTACK. These annotations are also required in order to call                <//2??.B<AAC0/;#3%4%56#
-REQUIRESSTACK functions, which are presumed to access the call                <//2??.1@A<9=.>922?#3!4,56#
-stack transitively. FORCESSTACK is a trusted annotation, applied
-to only 5 functions, that means the function refreshes the call stack.                 &-.9<=>9</2#3$4%56#
-REQUIRESSTACK is an untrusted annotation that means the func-                            &-.789:;#3%4,56#
-tion may only be called if the call stack has already been refreshed.                      &-./012#3%4%56#
-
-    Similarly, we detect when host functions attempt to directly                                      !"# $!"# %!"# &!"# '!"# (!"# )!"# *!"# +!"# ,!"# $!!"#
-read or write global variables, and force the currently running trace
-to side exit. This is necessary since we cache and unbox global         KA>29:92>#  L<ID2#
-variables into the activation record during trace execution.
-                                                                        Figure 11. Fraction of dynamic bytecodes executed by inter-
-    Since both call-stack access and global variable access are         preter and on native traces. The speedup vs. interpreter is shown
-rarely performed by host functions, performance is not signiﬁcantly     in parentheses next to each test. The fraction of bytecodes exe-
-affected by these safety mechanisms.                                    cuted while recording is too small to see in this ﬁgure, except
-                                                                        for crypto-md5, where fully 3% of bytecodes are executed while
-    Another problem is that external functions can reenter the inter-   recording. In most of the tests, almost all the bytecodes are exe-
-preter by calling scripts, which in turn again might want to access     cuted by compiled traces. Three of the benchmarks are not traced
-the call stack or global variables. To address this problem, we made    at all and run in the interpreter.
-the VM set a ﬂag whenever the interpreter is reentered while a com-
-piled trace is running.                                                 loops and heavily branching code, and a specialized fuzz tester in-
-                                                                        deed revealed several regressions which we subsequently corrected.
-    Every call to an external function then checks this ﬂag and exits
-the trace immediately after returning from the external function call   7. Evaluation
-if it is set. There are many external functions that seldom or never
-reenter, and they can be called without problem, and will cause         We evaluated our JavaScript tracing implementation using Sun-
-trace exit only if necessary.                                           Spider, the industry standard JavaScript benchmark suite. SunSpi-
-                                                                        der consists of 26 short-running (less than 250ms, average 26ms)
-    The FFI’s boxed value array requirement has a performance           JavaScript programs. This is in stark contrast to benchmark suites
-cost, so we deﬁned a new FFI that allows C functions to be an-          such as SpecJVM98 (3) used to evaluate desktop and server Java
-notated with their argument types so that the tracer can call them      VMs. Many programs in those benchmarks use large data sets and
-directly, without unnecessary argument conversions.                     execute for minutes. The SunSpider programs carry out a variety of
-                                                                        tasks, primarily 3d rendering, bit-bashing, cryptographic encoding,
-    Currently, we do not support calling native property get and set    math kernels, and string processing.
-override functions or DOM functions directly from trace. Support
-is planned future work.                                                     All experiments were performed on a MacBook Pro with 2.2
-                                                                        GHz Core 2 processor and 2 GB RAM running MacOS 10.5.
-6.6 Correctness
-                                                                            Benchmark results. The main question is whether programs
-During development, we had access to existing JavaScript test           run faster with tracing. For this, we ran the standard SunSpider test
-suites, but most of them were not designed with tracing VMs in          driver, which starts a JavaScript interpreter, loads and runs each
-mind and contained few loops.                                           program once for warmup, then loads and runs each program 10
-                                                                        times and reports the average time taken by each. We ran 4 differ-
-    One tool that helped us greatly was Mozilla’s JavaScript fuzz       ent conﬁgurations for comparison: (a) SpiderMonkey, the baseline
-tester, JSFUNFUZZ, which generates random JavaScript programs           interpreter, (b) TraceMonkey, (d) SquirrelFish Extreme (SFX), the
-by nesting random language elements. We modiﬁed JSFUNFUZZ               call-threaded JavaScript interpreter used in Apple’s WebKit, and
-to generate loops, and also to test more heavily certain constructs     (e) V8, the method-compiling JavaScript VM from Google.
-we suspected would reveal ﬂaws in our implementation. For exam-
-ple, we suspected bugs in TraceMonkey’s handling of type-unstable           Figure 10 shows the relative speedups achieved by tracing, SFX,
-                                                                        and V8 against the baseline (SpiderMonkey). Tracing achieves the
-                                                                        best speedups in integer-heavy benchmarks, up to the 25x speedup
-                                                                        on bitops-bitwise-and.
-
-                                                                            TraceMonkey is the fastest VM on 9 of the 26 benchmarks
-                                                                        (3d-morph, bitops-3bit-bits-in-byte, bitops-bitwise-
-                                                                        and, crypto-sha1, math-cordic, math-partial-sums, math-
-                                                                        spectral-norm, string-base64, string-validate-input).
-%#"
-
-                                                                       &'()*+,"
-
-%!"                                                                    -./"
-
-                                                                                                                                     01"
-$#"
-
-$!"
-
-#"
-
-!"
-
-Figure 10. Speedup vs. a baseline JavaScript interpreter (SpiderMonkey) for our trace-based JIT compiler, Apple’s SquirrelFish Extreme
-inline threading interpreter and Google’s V8 JS compiler. Our system generates particularly efﬁcient code for programs that beneﬁt most from
-type specialization, which includes SunSpider Benchmark programs that perform bit manipulation. We type-specialize the code in question
-to use integer arithmetic, which substantially improves performance. For one of the benchmark programs we execute 25 times faster than
-the SpiderMonkey interpreter, and almost 5 times faster than V8 and SFX. For a large number of benchmarks all three VMs produce similar
-results. We perform worst on benchmark programs that we do not trace and instead fall back onto the interpreter. This includes the recursive
-benchmarks access-binary-trees and control-flow-recursive, for which we currently don’t generate any native code.
-
-In particular, the bitops benchmarks are short programs that per-       • Two programs trace well, but have a long compilation time.
-form many bitwise operations, so TraceMonkey can cover the en-             access-nbody forms a large number of traces (81). crypto-md5
-tire program with 1 or 2 traces that operate on integers. TraceMon-        forms one very long trace. We expect to improve performance
-key runs all the other programs in this set almost entirely as native      on this programs by improving the compilation speed of nano-
-code.                                                                      jit.
-
-    regexp-dna is dominated by regular expression matching,             • Some programs trace very well, and speed up compared to
-which is implemented in all 3 VMs by a special regular expression          the interpreter, but are not as fast as SFX and/or V8, namely
-compiler. Thus, performance on this benchmark has little relation          bitops-bits-in-byte, bitops-nsieve-bits, access-
-to the trace compilation approach discussed in this paper.                 fannkuch, access-nsieve, and crypto-aes. The reason is
-                                                                           not clear, but all of these programs have nested loops with
-    TraceMonkey’s smaller speedups on the other benchmarks can             small bodies, so we suspect that the implementation has a rela-
-be attributed to a few speciﬁc causes:                                     tively high cost for calling nested traces. string-fasta traces
-                                                                           well, but its run time is dominated by string processing builtins,
- • The implementation does not currently trace recursion, so               which are unaffected by tracing and seem to be less efﬁcient in
-    TraceMonkey achieves a small speedup or no speedup on                  SpiderMonkey than in the two other VMs.
-    benchmarks that use recursion extensively: 3d-cube, 3d-
-    raytrace, access-binary-trees, string-tagcloud, and                    Detailed performance metrics. In Figure 11 we show the frac-
-    controlflow-recursive.                                             tion of instructions interpreted and the fraction of instructions exe-
-                                                                       cuted as native code. This ﬁgure shows that for many programs, we
- • The implementation does not currently trace eval and some           are able to execute almost all the code natively.
-    other functions implemented in C. Because date-format-
-    tofte and date-format-xparb use such functions in their                Figure 12 breaks down the total execution time into four activ-
-    main loops, we do not trace them.                                  ities: interpreting bytecodes while not recording, recording traces
-                                                                       (including time taken to interpret the recorded trace), compiling
- • The implementation does not currently trace through regular         traces to native code, and executing native code traces.
-    expression replace operations. The replace function can be
-    passed a function object used to compute the replacement text.         These detailed metrics allow us to estimate parameters for a
-    Our implementation currently does not trace functions called       simple model of tracing performance. These estimates should be
-    as replace functions. The run time of string-unpack-code is        considered very rough, as the values observed on the individual
-    dominated by such a replace call.                                  benchmarks have large standard deviations (on the order of the
-3d-cube                   Loops    Trees   Traces   Aborts              Flushes   Trees/Loop     Traces/Tree     Traces/Loop      Speedup
-3d-morph                      25      27       29         3                    0            1.1            1.1              1.2      2.20x
-3d-raytrace                     5       8        8        2                    0            1.6            1.0              1.6      2.86x
-access-binary-trees           10      25                                       1            2.5            4.0                       1.18x
-access-fannkuch                 0       0     100        10                    0              -               -           10.0       0.93x
-access-nbody                  10      34         0        5                    0            3.4            1.7                 -     2.20x
-access-nsieve                   8     16                                       0            2.0            1.1                       4.19x
-bitops-3bit-bits-in-byte        3       6      57        24                    0            2.0            1.3              5.7      3.05x
-bitops-bits-in-byte             2       2      18         5                    0            1.0            1.0              2.3     25.47x
-bitops-bitwise-and              3       3                 3                    0            1.0            1.3              2.7      8.67x
-bitops-nsieve-bits              1       1        8        0                    0            1.0            1.0              1.0     25.20x
-controlﬂow-recursive            3       3        2        1                    0            1.0            1.7              1.3      2.75x
-crypto-aes                      0       0        4        0                    0              -               -             1.0      0.98x
-crypto-md5                    50      72         1        0                    0            1.4            1.1              1.7      1.64x
-crypto-sha1                     4       4        5        1                    0            1.0            1.3                       2.30x
-date-format-tofte               5       5        0                             0            1.0            2.0                 -     5.95x
-date-format-xparb               3       3      78        19                    0            1.0            1.3              1.6      1.07x
-math-cordic                     3       3        5        0                    0            1.0            3.7              1.3      0.98x
-math-partial-sums               2       4      10         0                    0            2.0            1.3              2.0      4.92x
-math-spectral-norm              2       4        4        7                    0            2.0            1.0              1.3      5.90x
-regexp-dna                    15      20       11         3                    0            1.3            1.0              3.7      7.12x
-string-base64                   2       2        5        1                    0            1.0            1.0              2.5      4.21x
-string-fasta                    3       5        4        1                    0            1.7            1.4              2.0      2.53x
-string-tagcloud                 5     11       20         0                    0            2.2            1.4              1.3      1.49x
-string-unpack-code              3       6        2        0                    0            2.0            1.0              1.0      1.09x
-string-validate-input           4       4        7        0                    0            1.0            9.3              2.3      1.20x
-                                6     10       15         6                    0            1.7            1.3              3.0      1.86x
-                                                 6        5                                                                 2.0
-                                               37         0                                                                 9.3
-                                               13         1                                                                 2.2
-
-                          Figure 13. Detailed trace recording statistics for the SunSpider benchmark set.
-
-mean). We exclude regexp-dna from the following calculations,           fastest available JavaScript inline threaded interpreter (SFX) on 9
-because most of its time is spent in the regular expression matcher,    of 26 benchmarks.
-which has much different performance characteristics from the
-other programs. (Note that this only makes a difference of about        8. Related Work
-10% in the results.) Dividing the total execution time in processor
-clock cycles by the number of bytecodes executed in the base            Trace optimization for dynamic languages. The closest area of
-interpreter shows that on average, a bytecode executes in about         related work is on applying trace optimization to type-specialize
-35 cycles. Native traces take about 9 cycles per bytecode, a 3.9x       dynamic languages. Existing work shares the idea of generating
-speedup over the interpreter.                                           type-specialized code speculatively with guards along interpreter
-                                                                        traces.
-    Using similar computations, we ﬁnd that trace recording takes
-about 3800 cycles per bytecode, and compilation 3150 cycles per             To our knowledge, Rigo’s Psyco (16) is the only published
-bytecode. Hence, during recording and compiling the VM runs at          type-specializing trace compiler for a dynamic language (Python).
-1/200 the speed of the interpreter. Because it costs 6950 cycles to     Psyco does not attempt to identify hot loops or inline function calls.
-compile a bytecode, and we save 26 cycles each time that code is        Instead, Psyco transforms loops to mutual recursion before running
-run natively, we break even after running a trace 270 times.            and traces all operations.
-
-    The other VMs we compared with achieve an overall speedup               Pall’s LuaJIT is a Lua VM in development that uses trace com-
-of 3.0x relative to our baseline interpreter. Our estimated native      pilation ideas. (1). There are no publications on LuaJIT but the cre-
-code speedup of 3.9x is signiﬁcantly better. This suggests that         ator has told us that LuaJIT has a similar design to our system, but
-our compilation techniques can generate more efﬁcient native code       will use a less aggressive type speculation (e.g., using a ﬂoating-
-than any other current JavaScript VM.                                   point representation for all number values) and does not generate
-                                                                        nested traces for nested loops.
-    These estimates also indicate that our startup performance could
-be substantially better if we improved the speed of trace recording         General trace optimization. General trace optimization has
-and compilation. The estimated 200x slowdown for recording and          a longer history that has treated mostly native code and typed
-compilation is very rough, and may be inﬂuenced by startup factors      languages like Java. Thus, these systems have focused less on type
-in the interpreter (e.g., caches that have not warmed up yet during     specialization and more on other optimizations.
-recording). One observation supporting this conjecture is that in
-the tracer, interpreted bytecodes take about 180 cycles to run. Still,      Dynamo (7) by Bala et al, introduced native code tracing as a
-recording and compilation are clearly both expensive, and a better      replacement for proﬁle-guided optimization (PGO). A major goal
-implementation, possibly including redesign of the LIR abstract         was to perform PGO online so that the proﬁle was speciﬁc to
-syntax or encoding, would improve startup performance.                  the current execution. Dynamo used loop headers as candidate hot
-                                                                        traces, but did not try to create loop traces speciﬁcally.
-    Our performance results conﬁrm that type specialization using
-trace trees substantially improves performance. We are able to              Trace trees were originally proposed by Gal et al. (11) in the
-outperform the fastest available JavaScript compiler (V8) and the       context of Java, a statically typed language. Their trace trees ac-
-                                                                        tually inlined parts of outer loops within the inner loops (because
-    =<6>?J+B:F>*:</+>?7-<#0(1923#     $!"#  %!"#  &!"#         '!"#        (!!"#  erate native code with nearly the same structure but better perfor-
-      =<6>?J+-?7:,A+,5*/#0(1$23#                  N:FF#O6:,/#                     mance.
-
-           =<6>?J+<:J,F5-*#0(1(23#                                                    Call threading, also known as context threading (8), compiles
-                =<6>?J+@:=<:#0(1C23#                                              methods by generating a native call instruction to an interpreter
-                                                                                  method for each interpreter bytecode. A call-return pair has been
-             =<6>?J+.:=/&%#0$1C23#                                                shown to be a potentially much more efﬁcient dispatch mechanism
-               6/J/27+*?:#0%1$23#                                                 than the indirect jumps used in standard bytecode interpreters.
-
-     4:<8+=7/,<6:F+?564#0D1(23#                                                       Inline threading (15) copies chunks of interpreter native code
-       4:<8+7:6I:F+=-4=#0C1923#                                                   which implement the required bytecodes into a native code cache,
-               4:<8+,56*>,#0%1923#                                                thus acting as a simple per-method JIT compiler that eliminates the
-       *:</+@564:<+27:6.#0(1!23#                                                  dispatch overhead.
-        *:</+@564:<+<5H/#0(1(23#
-               ,6;7<5+=8:(#0C1923#                                                    Neither call threading nor inline threading perform type special-
-               ,6;7<5+4*C#0$1)23#                                                 ization.
-                ,6;7<5+:/=#0(1&23#
-                                                                                      Apple’s SquirrelFish Extreme (5) is a JavaScript implementa-
-   ,5?<65FG5E+6/,-6=>B/#0(1!23#                                                   tion based on call threading with selective inline threading. Com-
-        .><57=+?=>/B/+.><=#0$1D23#                                                bined with efﬁcient interpreter engineering, these threading tech-
-                                                                                  niques have given SFX excellent performance on the standard Sun-
-     .><57=+.><E>=/+:?*#0$C1$23#                                                  Spider benchmarks.
-       .><57=+.><=+>?+.;</#0'1D23#
-                                                                                      Google’s V8 is a JavaScript implementation primarily based
-.><57=+).><+.><=+>?+.;</#0$C1C23#                                                 on inline threading, with call threading only for very complex
-             :,,/==+?=>/B/#0)1!23#                                                operations.
-             :,,/==+?.5*;#0%1$23#
-                                                                                  9. Conclusions
-         :,,/==+@:??A-,8#0$1$23#
-      :,,/==+.>?:6;+<6//=#0!1923#                                                 This paper described how to run dynamic languages efﬁciently by
-                                                                                  recording hot traces and generating type-specialized native code.
-               )*+6:;<6:,/#0(1$23#                                                Our technique focuses on aggressively inlined loops, and for each
-                 )*+45678#0$1923#                                                 loop, it generates a tree of native code traces representing the
-                   )*+,-./#0$1$23#                                                paths and value types through the loop observed at run time. We
-                                                                                  explained how to identify loop nesting relationships and generate
-                              !"#                                                 nested traces in order to avoid excessive code duplication due
-                                                                                  to the many paths through a loop nest. We described our type
-K?</676/<# L5?><56# M/,56*# N547>F/#                           M-?#O6:,/#         specialization algorithm. We also described our trace compiler,
-                                                                                  which translates a trace from an intermediate representation to
-Figure 12. Fraction of time spent on major VM activities. The                     optimized native code in two linear passes.
-speedup vs. interpreter is shown in parentheses next to each test.
-Most programs where the VM spends the majority of its time run-                       Our experimental results show that in practice loops typically
-ning native code have a good speedup. Recording and compilation                   are entered with only a few different combinations of value types
-costs can be substantial; speeding up those parts of the implemen-                of variables. Thus, a small number of traces per loop is sufﬁcient
-tation would improve SunSpider performance.                                       to run a program efﬁciently. Our experiments also show that on
-                                                                                  programs amenable to tracing, we achieve speedups of 2x to 20x.
-inner loops become hot ﬁrst), leading to much greater tail duplica-
-tion.                                                                             10. Future Work
-
-    YETI, from Zaleski et al. (19) applied Dynamo-style tracing                   Work is underway in a number of areas to further improve the
-to Java in order to achieve inlining, indirect jump elimination,                  performance of our trace-based JavaScript compiler. We currently
-and other optimizations. Their primary focus was on designing an                  do not trace across recursive function calls, but plan to add the
-interpreter that could easily be gradually re-engineered as a tracing             support for this capability in the near term. We are also exploring
-VM.                                                                               adoption of the existing work on tree recompilation in the context
-                                                                                  of the presented dynamic compiler in order to minimize JIT pause
-    Suganuma et al. (18) described region-based compilation (RBC),                times and obtain the best of both worlds, fast tree stitching as well
-a relative of tracing. A region is an subprogram worth optimizing                 as the improved code quality due to tree recompilation.
-that can include subsets of any number of methods. Thus, the com-
-piler has more ﬂexibility and can potentially generate better code,                   We also plan on adding support for tracing across regular ex-
-but the proﬁling and compilation systems are correspondingly more                 pression substitutions using lambda functions, function applica-
-complex.                                                                          tions and expression evaluation using eval. All these language
-                                                                                  constructs are currently executed via interpretation, which limits
-    Type specialization for dynamic languages. Dynamic lan-                       our performance for applications that use those features.
-guage implementors have long recognized the importance of type
-specialization for performance. Most previous work has focused on                 Acknowledgments
-methods instead of traces.
-                                                                                  Parts of this effort have been sponsored by the National Science
-    Chambers et. al (9) pioneered the idea of compiling multiple                  Foundation under grants CNS-0615443 and CNS-0627747, as well
-versions of a procedure specialized for the input types in the lan-               as by the California MICRO Program and industrial sponsor Sun
-guage Self. In one implementation, they generated a specialized                   Microsystems under Project No. 07-127.
-method online each time a method was called with new input types.
-In another, they used an ofﬂine whole-program static analysis to                      The U.S. Government is authorized to reproduce and distribute
-infer input types and constant receiver types at call sites. Interest-            reprints for Governmental purposes notwithstanding any copyright
-ingly, the two techniques produced nearly the same performance.                   annotation thereon. Any opinions, ﬁndings, and conclusions or rec-
-                                                                                  ommendations expressed here are those of the author and should
-    Salib (17) designed a type inference algorithm for Python based
-on the Cartesian Product Algorithm and used the results to special-
-ize on types and translate the program to C++.
-
-    McCloskey (14) has work in progress based on a language-
-independent type inference that is used to generate efﬁcient C
-implementations of JavaScript and Python programs.
-
-    Native code generation by interpreters. The traditional inter-
-preter design is a virtual machine that directly executes ASTs or
-machine-code-like bytecodes. Researchers have shown how to gen-
-not be interpreted as necessarily representing the ofﬁcial views,       [10] A. Gal. Efﬁcient Bytecode Veriﬁcation and Compilation in a Virtual
-policies or endorsements, either expressed or implied, of the Na-             Machine Dissertation. PhD thesis, University Of California, Irvine,
-tional Science foundation (NSF), any other agency of the U.S. Gov-            2006.
-ernment, or any of the companies mentioned above.
-                                                                        [11] A. Gal, C. W. Probst, and M. Franz. HotpathVM: An effective JIT
-References                                                                    compiler for resource-constrained devices. In Proceedings of the
-                                                                              International Conference on Virtual Execution Environments, pages
-[1] LuaJIT roadmap 2008 - http://lua-users.org/lists/lua-l/2008-              144–153. ACM Press, 2006.
-    02/msg00051.html.
-                                                                        [12] C. Garrett, J. Dean, D. Grove, and C. Chambers. Measurement and
-[2] Mozilla — Firefox web browser and Thunderbird email client -              Application of Dynamic Receiver Class Distributions. 1994.
-    http://www.mozilla.com.
-                                                                        [13] J. Ha, M. R. Haghighat, S. Cong, and K. S. McKinley. A concurrent
-[3] SPECJVM98 - http://www.spec.org/jvm98/.                                   trace-based just-in-time compiler for javascript. Dept.of Computer
-                                                                              Sciences, The University of Texas at Austin, TR-09-06, 2009.
-[4] SpiderMonkey  (JavaScript-C)             Engine  -
-                                                                        [14] B. McCloskey. Personal communication.
-http://www.mozilla.org/js/spidermonkey/.
-                                                                        [15] I. Piumarta and F. Riccardi. Optimizing direct threaded code by selec-
-[5] Surﬁn’ Safari - Blog Archive - Announcing SquirrelFish Extreme -          tive inlining. In Proceedings of the ACM SIGPLAN 1998 conference
-    http://webkit.org/blog/214/introducing-squirrelﬁsh-extreme/.              on Programming language design and implementation, pages 291–
-                                                                              300. ACM New York, NY, USA, 1998.
-[6] A. Aho, R. Sethi, J. Ullman, and M. Lam. Compilers: Principles,
-    techniques, and tools, 2006.                                        [16] A. Rigo. Representation-Based Just-In-time Specialization and the
-                                                                              Psyco Prototype for Python. In PEPM, 2004.
-[7] V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: A transparent
-    dynamic optimization system. In Proceedings of the ACM SIGPLAN      [17] M. Salib. Starkiller: A Static Type Inferencer and Compiler for
-    Conference on Programming Language Design and Implementation,             Python. In Master’s Thesis, 2004.
-    pages 1–12. ACM Press, 2000.
-                                                                        [18] T. Suganuma, T. Yasue, and T. Nakatani. A Region-Based Compila-
-[8] M. Berndl, B. Vitale, M. Zaleski, and A. Brown. Context Threading:        tion Technique for Dynamic Compilers. ACM Transactions on Pro-
-    a Flexible and Efﬁcient Dispatch Technique for Virtual Machine In-        gramming Languages and Systems (TOPLAS), 28(1):134–174, 2006.
-    terpreters. In Code Generation and Optimization, 2005. CGO 2005.
-    International Symposium on, pages 15–26, 2005.                      [19] M. Zaleski, A. D. Brown, and K. Stoodley. YETI: A graduallY
-                                                                              Extensible Trace Interpreter. In Proceedings of the International
-[9] C. Chambers and D. Ungar. Customization: Optimizing Compiler              Conference on Virtual Execution Environments, pages 83–93. ACM
-    Technology for SELF, a Dynamically-Typed O bject-Oriented Pro-            Press, 2007.
-    gramming Language. In Proceedings of the ACM SIGPLAN 1989
-    Conference on Programming Language Design and Implementation,
-    pages 146–160. ACM New York, NY, USA, 1989.
-
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/web/debugger.js b/server/target/classes/static/pdfjs/web/debugger.js
deleted file mode 100644
index 39b1e00..0000000
--- a/server/target/classes/static/pdfjs/web/debugger.js
+++ /dev/null
@@ -1,623 +0,0 @@
-/* Copyright 2012 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/* eslint-disable no-var */
-
-"use strict";
-
-var FontInspector = (function FontInspectorClosure() {
-  var fonts;
-  var active = false;
-  var fontAttribute = "data-font-name";
-  function removeSelection() {
-    const divs = document.querySelectorAll(`span[${fontAttribute}]`);
-    for (const div of divs) {
-      div.className = "";
-    }
-  }
-  function resetSelection() {
-    const divs = document.querySelectorAll(`span[${fontAttribute}]`);
-    for (const div of divs) {
-      div.className = "debuggerHideText";
-    }
-  }
-  function selectFont(fontName, show) {
-    const divs = document.querySelectorAll(
-      `span[${fontAttribute}=${fontName}]`
-    );
-    for (const div of divs) {
-      div.className = show ? "debuggerShowText" : "debuggerHideText";
-    }
-  }
-  function textLayerClick(e) {
-    if (
-      !e.target.dataset.fontName ||
-      e.target.tagName.toUpperCase() !== "SPAN"
-    ) {
-      return;
-    }
-    var fontName = e.target.dataset.fontName;
-    var selects = document.getElementsByTagName("input");
-    for (var i = 0; i < selects.length; ++i) {
-      var select = selects[i];
-      if (select.dataset.fontName !== fontName) {
-        continue;
-      }
-      select.checked = !select.checked;
-      selectFont(fontName, select.checked);
-      select.scrollIntoView();
-    }
-  }
-  return {
-    // Properties/functions needed by PDFBug.
-    id: "FontInspector",
-    name: "Font Inspector",
-    panel: null,
-    manager: null,
-    init: function init(pdfjsLib) {
-      var panel = this.panel;
-      var tmp = document.createElement("button");
-      tmp.addEventListener("click", resetSelection);
-      tmp.textContent = "Refresh";
-      panel.appendChild(tmp);
-
-      fonts = document.createElement("div");
-      panel.appendChild(fonts);
-    },
-    cleanup: function cleanup() {
-      fonts.textContent = "";
-    },
-    enabled: false,
-    get active() {
-      return active;
-    },
-    set active(value) {
-      active = value;
-      if (active) {
-        document.body.addEventListener("click", textLayerClick, true);
-        resetSelection();
-      } else {
-        document.body.removeEventListener("click", textLayerClick, true);
-        removeSelection();
-      }
-    },
-    // FontInspector specific functions.
-    fontAdded: function fontAdded(fontObj, url) {
-      function properties(obj, list) {
-        var moreInfo = document.createElement("table");
-        for (var i = 0; i < list.length; i++) {
-          var tr = document.createElement("tr");
-          var td1 = document.createElement("td");
-          td1.textContent = list[i];
-          tr.appendChild(td1);
-          var td2 = document.createElement("td");
-          td2.textContent = obj[list[i]].toString();
-          tr.appendChild(td2);
-          moreInfo.appendChild(tr);
-        }
-        return moreInfo;
-      }
-      var moreInfo = properties(fontObj, ["name", "type"]);
-      const fontName = fontObj.loadedName;
-      var font = document.createElement("div");
-      var name = document.createElement("span");
-      name.textContent = fontName;
-      var download = document.createElement("a");
-      if (url) {
-        url = /url\(['"]?([^\)"']+)/.exec(url);
-        download.href = url[1];
-      } else if (fontObj.data) {
-        download.href = URL.createObjectURL(
-          new Blob([fontObj.data], { type: fontObj.mimeType })
-        );
-      }
-      download.textContent = "Download";
-      var logIt = document.createElement("a");
-      logIt.href = "";
-      logIt.textContent = "Log";
-      logIt.addEventListener("click", function(event) {
-        event.preventDefault();
-        console.log(fontObj);
-      });
-      const select = document.createElement("input");
-      select.setAttribute("type", "checkbox");
-      select.dataset.fontName = fontName;
-      select.addEventListener("click", function() {
-        selectFont(fontName, select.checked);
-      });
-      font.appendChild(select);
-      font.appendChild(name);
-      font.appendChild(document.createTextNode(" "));
-      font.appendChild(download);
-      font.appendChild(document.createTextNode(" "));
-      font.appendChild(logIt);
-      font.appendChild(moreInfo);
-      fonts.appendChild(font);
-      // Somewhat of a hack, should probably add a hook for when the text layer
-      // is done rendering.
-      setTimeout(() => {
-        if (this.active) {
-          resetSelection();
-        }
-      }, 2000);
-    },
-  };
-})();
-
-var opMap;
-
-// Manages all the page steppers.
-var StepperManager = (function StepperManagerClosure() {
-  var steppers = [];
-  var stepperDiv = null;
-  var stepperControls = null;
-  var stepperChooser = null;
-  var breakPoints = Object.create(null);
-  return {
-    // Properties/functions needed by PDFBug.
-    id: "Stepper",
-    name: "Stepper",
-    panel: null,
-    manager: null,
-    init: function init(pdfjsLib) {
-      var self = this;
-      stepperControls = document.createElement("div");
-      stepperChooser = document.createElement("select");
-      stepperChooser.addEventListener("change", function(event) {
-        self.selectStepper(this.value);
-      });
-      stepperControls.appendChild(stepperChooser);
-      stepperDiv = document.createElement("div");
-      this.panel.appendChild(stepperControls);
-      this.panel.appendChild(stepperDiv);
-      if (sessionStorage.getItem("pdfjsBreakPoints")) {
-        breakPoints = JSON.parse(sessionStorage.getItem("pdfjsBreakPoints"));
-      }
-
-      opMap = Object.create(null);
-      for (var key in pdfjsLib.OPS) {
-        opMap[pdfjsLib.OPS[key]] = key;
-      }
-    },
-    cleanup: function cleanup() {
-      stepperChooser.textContent = "";
-      stepperDiv.textContent = "";
-      steppers = [];
-    },
-    enabled: false,
-    active: false,
-    // Stepper specific functions.
-    create: function create(pageIndex) {
-      var debug = document.createElement("div");
-      debug.id = "stepper" + pageIndex;
-      debug.setAttribute("hidden", true);
-      debug.className = "stepper";
-      stepperDiv.appendChild(debug);
-      var b = document.createElement("option");
-      b.textContent = "Page " + (pageIndex + 1);
-      b.value = pageIndex;
-      stepperChooser.appendChild(b);
-      var initBreakPoints = breakPoints[pageIndex] || [];
-      var stepper = new Stepper(debug, pageIndex, initBreakPoints);
-      steppers.push(stepper);
-      if (steppers.length === 1) {
-        this.selectStepper(pageIndex, false);
-      }
-      return stepper;
-    },
-    selectStepper: function selectStepper(pageIndex, selectPanel) {
-      var i;
-      pageIndex = pageIndex | 0;
-      if (selectPanel) {
-        this.manager.selectPanel(this);
-      }
-      for (i = 0; i < steppers.length; ++i) {
-        var stepper = steppers[i];
-        if (stepper.pageIndex === pageIndex) {
-          stepper.panel.removeAttribute("hidden");
-        } else {
-          stepper.panel.setAttribute("hidden", true);
-        }
-      }
-      var options = stepperChooser.options;
-      for (i = 0; i < options.length; ++i) {
-        var option = options[i];
-        option.selected = (option.value | 0) === pageIndex;
-      }
-    },
-    saveBreakPoints: function saveBreakPoints(pageIndex, bps) {
-      breakPoints[pageIndex] = bps;
-      sessionStorage.setItem("pdfjsBreakPoints", JSON.stringify(breakPoints));
-    },
-  };
-})();
-
-// The stepper for each page's IRQueue.
-var Stepper = (function StepperClosure() {
-  // Shorter way to create element and optionally set textContent.
-  function c(tag, textContent) {
-    var d = document.createElement(tag);
-    if (textContent) {
-      d.textContent = textContent;
-    }
-    return d;
-  }
-
-  function simplifyArgs(args) {
-    if (typeof args === "string") {
-      var MAX_STRING_LENGTH = 75;
-      return args.length <= MAX_STRING_LENGTH
-        ? args
-        : args.substring(0, MAX_STRING_LENGTH) + "...";
-    }
-    if (typeof args !== "object" || args === null) {
-      return args;
-    }
-    if ("length" in args) {
-      // array
-      var simpleArgs = [],
-        i,
-        ii;
-      var MAX_ITEMS = 10;
-      for (i = 0, ii = Math.min(MAX_ITEMS, args.length); i < ii; i++) {
-        simpleArgs.push(simplifyArgs(args[i]));
-      }
-      if (i < args.length) {
-        simpleArgs.push("...");
-      }
-      return simpleArgs;
-    }
-    var simpleObj = {};
-    for (var key in args) {
-      simpleObj[key] = simplifyArgs(args[key]);
-    }
-    return simpleObj;
-  }
-
-  function Stepper(panel, pageIndex, initialBreakPoints) {
-    this.panel = panel;
-    this.breakPoint = 0;
-    this.nextBreakPoint = null;
-    this.pageIndex = pageIndex;
-    this.breakPoints = initialBreakPoints;
-    this.currentIdx = -1;
-    this.operatorListIdx = 0;
-  }
-  Stepper.prototype = {
-    init: function init(operatorList) {
-      var panel = this.panel;
-      var content = c("div", "c=continue, s=step");
-      var table = c("table");
-      content.appendChild(table);
-      table.cellSpacing = 0;
-      var headerRow = c("tr");
-      table.appendChild(headerRow);
-      headerRow.appendChild(c("th", "Break"));
-      headerRow.appendChild(c("th", "Idx"));
-      headerRow.appendChild(c("th", "fn"));
-      headerRow.appendChild(c("th", "args"));
-      panel.appendChild(content);
-      this.table = table;
-      this.updateOperatorList(operatorList);
-    },
-    updateOperatorList: function updateOperatorList(operatorList) {
-      var self = this;
-
-      function cboxOnClick() {
-        var x = +this.dataset.idx;
-        if (this.checked) {
-          self.breakPoints.push(x);
-        } else {
-          self.breakPoints.splice(self.breakPoints.indexOf(x), 1);
-        }
-        StepperManager.saveBreakPoints(self.pageIndex, self.breakPoints);
-      }
-
-      var MAX_OPERATORS_COUNT = 15000;
-      if (this.operatorListIdx > MAX_OPERATORS_COUNT) {
-        return;
-      }
-
-      var chunk = document.createDocumentFragment();
-      var operatorsToDisplay = Math.min(
-        MAX_OPERATORS_COUNT,
-        operatorList.fnArray.length
-      );
-      for (var i = this.operatorListIdx; i < operatorsToDisplay; i++) {
-        var line = c("tr");
-        line.className = "line";
-        line.dataset.idx = i;
-        chunk.appendChild(line);
-        var checked = this.breakPoints.includes(i);
-        var args = operatorList.argsArray[i] || [];
-
-        var breakCell = c("td");
-        var cbox = c("input");
-        cbox.type = "checkbox";
-        cbox.className = "points";
-        cbox.checked = checked;
-        cbox.dataset.idx = i;
-        cbox.onclick = cboxOnClick;
-
-        breakCell.appendChild(cbox);
-        line.appendChild(breakCell);
-        line.appendChild(c("td", i.toString()));
-        var fn = opMap[operatorList.fnArray[i]];
-        var decArgs = args;
-        if (fn === "showText") {
-          var glyphs = args[0];
-          var newArgs = [];
-          var str = [];
-          for (var j = 0; j < glyphs.length; j++) {
-            var glyph = glyphs[j];
-            if (typeof glyph === "object" && glyph !== null) {
-              str.push(glyph.fontChar);
-            } else {
-              if (str.length > 0) {
-                newArgs.push(str.join(""));
-                str = [];
-              }
-              newArgs.push(glyph); // null or number
-            }
-          }
-          if (str.length > 0) {
-            newArgs.push(str.join(""));
-          }
-          decArgs = [newArgs];
-        }
-        line.appendChild(c("td", fn));
-        line.appendChild(c("td", JSON.stringify(simplifyArgs(decArgs))));
-      }
-      if (operatorsToDisplay < operatorList.fnArray.length) {
-        line = c("tr");
-        var lastCell = c("td", "...");
-        lastCell.colspan = 4;
-        chunk.appendChild(lastCell);
-      }
-      this.operatorListIdx = operatorList.fnArray.length;
-      this.table.appendChild(chunk);
-    },
-    getNextBreakPoint: function getNextBreakPoint() {
-      this.breakPoints.sort(function(a, b) {
-        return a - b;
-      });
-      for (var i = 0; i < this.breakPoints.length; i++) {
-        if (this.breakPoints[i] > this.currentIdx) {
-          return this.breakPoints[i];
-        }
-      }
-      return null;
-    },
-    breakIt: function breakIt(idx, callback) {
-      StepperManager.selectStepper(this.pageIndex, true);
-      var self = this;
-      var dom = document;
-      self.currentIdx = idx;
-      var listener = function(e) {
-        switch (e.keyCode) {
-          case 83: // step
-            dom.removeEventListener("keydown", listener);
-            self.nextBreakPoint = self.currentIdx + 1;
-            self.goTo(-1);
-            callback();
-            break;
-          case 67: // continue
-            dom.removeEventListener("keydown", listener);
-            var breakPoint = self.getNextBreakPoint();
-            self.nextBreakPoint = breakPoint;
-            self.goTo(-1);
-            callback();
-            break;
-        }
-      };
-      dom.addEventListener("keydown", listener);
-      self.goTo(idx);
-    },
-    goTo: function goTo(idx) {
-      var allRows = this.panel.getElementsByClassName("line");
-      for (var x = 0, xx = allRows.length; x < xx; ++x) {
-        var row = allRows[x];
-        if ((row.dataset.idx | 0) === idx) {
-          row.style.backgroundColor = "rgb(251,250,207)";
-          row.scrollIntoView();
-        } else {
-          row.style.backgroundColor = null;
-        }
-      }
-    },
-  };
-  return Stepper;
-})();
-
-var Stats = (function Stats() {
-  var stats = [];
-  function clear(node) {
-    while (node.hasChildNodes()) {
-      node.removeChild(node.lastChild);
-    }
-  }
-  function getStatIndex(pageNumber) {
-    for (var i = 0, ii = stats.length; i < ii; ++i) {
-      if (stats[i].pageNumber === pageNumber) {
-        return i;
-      }
-    }
-    return false;
-  }
-  return {
-    // Properties/functions needed by PDFBug.
-    id: "Stats",
-    name: "Stats",
-    panel: null,
-    manager: null,
-    init(pdfjsLib) {},
-    enabled: false,
-    active: false,
-    // Stats specific functions.
-    add(pageNumber, stat) {
-      if (!stat) {
-        return;
-      }
-      var statsIndex = getStatIndex(pageNumber);
-      if (statsIndex !== false) {
-        const b = stats[statsIndex];
-        this.panel.removeChild(b.div);
-        stats.splice(statsIndex, 1);
-      }
-      var wrapper = document.createElement("div");
-      wrapper.className = "stats";
-      var title = document.createElement("div");
-      title.className = "title";
-      title.textContent = "Page: " + pageNumber;
-      var statsDiv = document.createElement("div");
-      statsDiv.textContent = stat.toString();
-      wrapper.appendChild(title);
-      wrapper.appendChild(statsDiv);
-      stats.push({ pageNumber, div: wrapper });
-      stats.sort(function(a, b) {
-        return a.pageNumber - b.pageNumber;
-      });
-      clear(this.panel);
-      for (var i = 0, ii = stats.length; i < ii; ++i) {
-        this.panel.appendChild(stats[i].div);
-      }
-    },
-    cleanup() {
-      stats = [];
-      clear(this.panel);
-    },
-  };
-})();
-
-// Manages all the debugging tools.
-window.PDFBug = (function PDFBugClosure() {
-  var panelWidth = 300;
-  var buttons = [];
-  var activePanel = null;
-
-  return {
-    tools: [FontInspector, StepperManager, Stats],
-    enable(ids) {
-      var all = false,
-        tools = this.tools;
-      if (ids.length === 1 && ids[0] === "all") {
-        all = true;
-      }
-      for (var i = 0; i < tools.length; ++i) {
-        var tool = tools[i];
-        if (all || ids.includes(tool.id)) {
-          tool.enabled = true;
-        }
-      }
-      if (!all) {
-        // Sort the tools by the order they are enabled.
-        tools.sort(function(a, b) {
-          var indexA = ids.indexOf(a.id);
-          indexA = indexA < 0 ? tools.length : indexA;
-          var indexB = ids.indexOf(b.id);
-          indexB = indexB < 0 ? tools.length : indexB;
-          return indexA - indexB;
-        });
-      }
-    },
-    init(pdfjsLib, container) {
-      /*
-       * Basic Layout:
-       * PDFBug
-       *  Controls
-       *  Panels
-       *    Panel
-       *    Panel
-       *    ...
-       */
-      var ui = document.createElement("div");
-      ui.id = "PDFBug";
-
-      var controls = document.createElement("div");
-      controls.setAttribute("class", "controls");
-      ui.appendChild(controls);
-
-      var panels = document.createElement("div");
-      panels.setAttribute("class", "panels");
-      ui.appendChild(panels);
-
-      container.appendChild(ui);
-      container.style.right = panelWidth + "px";
-
-      // Initialize all the debugging tools.
-      var tools = this.tools;
-      var self = this;
-      for (var i = 0; i < tools.length; ++i) {
-        var tool = tools[i];
-        var panel = document.createElement("div");
-        var panelButton = document.createElement("button");
-        panelButton.textContent = tool.name;
-        panelButton.addEventListener(
-          "click",
-          (function(selected) {
-            return function(event) {
-              event.preventDefault();
-              self.selectPanel(selected);
-            };
-          })(i)
-        );
-        controls.appendChild(panelButton);
-        panels.appendChild(panel);
-        tool.panel = panel;
-        tool.manager = this;
-        if (tool.enabled) {
-          tool.init(pdfjsLib);
-        } else {
-          panel.textContent =
-            tool.name +
-            " is disabled. To enable add " +
-            ' "' +
-            tool.id +
-            '" to the pdfBug parameter ' +
-            "and refresh (separate multiple by commas).";
-        }
-        buttons.push(panelButton);
-      }
-      this.selectPanel(0);
-    },
-    cleanup() {
-      for (var i = 0, ii = this.tools.length; i < ii; i++) {
-        if (this.tools[i].enabled) {
-          this.tools[i].cleanup();
-        }
-      }
-    },
-    selectPanel(index) {
-      if (typeof index !== "number") {
-        index = this.tools.indexOf(index);
-      }
-      if (index === activePanel) {
-        return;
-      }
-      activePanel = index;
-      var tools = this.tools;
-      for (var j = 0; j < tools.length; ++j) {
-        if (j === index) {
-          buttons[j].setAttribute("class", "active");
-          tools[j].active = true;
-          tools[j].panel.removeAttribute("hidden");
-        } else {
-          buttons[j].setAttribute("class", "");
-          tools[j].active = false;
-          tools[j].panel.setAttribute("hidden", "true");
-        }
-      }
-    },
-  };
-})();
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-check.svg b/server/target/classes/static/pdfjs/web/images/annotation-check.svg
deleted file mode 100644
index 71cd16d..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-check.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="40"
-   height="40"
-   viewBox="0 0 40 40">
-  <path
-     d="M 1.5006714,23.536225 6.8925879,18.994244 14.585721,26.037937 34.019683,4.5410479 38.499329,9.2235032 14.585721,35.458952 z"
-     id="path4"
-     style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:1.25402856;stroke-opacity:1" />
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-comment.svg b/server/target/classes/static/pdfjs/web/images/annotation-comment.svg
deleted file mode 100644
index 86f1f17..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-comment.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   height="40"
-   width="40"
-   viewBox="0 0 40 40">
-  <rect
-     style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-     width="33.76017"
-     height="33.76017"
-     x="3.119915"
-     y="3.119915" />
-  <path
-     d="m 20.677967,8.54499 c -7.342801,0 -13.295293,4.954293 -13.295293,11.065751 0,2.088793 0.3647173,3.484376 1.575539,5.150563 L 6.0267418,31.45501 13.560595,29.011117 c 2.221262,1.387962 4.125932,1.665377 7.117372,1.665377 7.3428,0 13.295291,-4.954295 13.295291,-11.065753 0,-6.111458 -5.952491,-11.065751 -13.295291,-11.065751 z"
-     style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.93031836;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"/>
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-help.svg b/server/target/classes/static/pdfjs/web/images/annotation-help.svg
deleted file mode 100644
index 00938fe..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-help.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="40"
-   height="40"
-   viewBox="0 0 40 40">
-  <g
-     transform="translate(0,-60)"
-     id="layer1">
-    <rect
-       width="36.460953"
-       height="34.805603"
-       x="1.7695236"
-       y="62.597198"
-       style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.30826771;stroke-opacity:1" />
-    <g
-       transform="matrix(0.88763677,0,0,0.88763677,2.2472646,8.9890584)">
-      <path
-         d="M 20,64.526342 C 11.454135,64.526342 4.5263421,71.454135 4.5263421,80 4.5263421,88.545865 11.454135,95.473658 20,95.473658 28.545865,95.473658 35.473658,88.545865 35.473658,80 35.473658,71.454135 28.545865,64.526342 20,64.526342 z m -0.408738,9.488564 c 3.527079,0 6.393832,2.84061 6.393832,6.335441 0,3.494831 -2.866753,6.335441 -6.393832,6.335441 -3.527079,0 -6.393832,-2.84061 -6.393832,-6.335441 0,-3.494831 2.866753,-6.335441 6.393832,-6.335441 z"
-         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.02768445;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-      <path
-         d="m 7.2335209,71.819938 4.9702591,4.161823 c -1.679956,2.581606 -1.443939,6.069592 0.159325,8.677725 l -5.1263071,3.424463 c 0.67516,1.231452 3.0166401,3.547686 4.2331971,4.194757 l 3.907728,-4.567277 c 2.541952,1.45975 5.730694,1.392161 8.438683,-0.12614 l 3.469517,6.108336 c 1.129779,-0.44367 4.742234,-3.449633 5.416358,-5.003859 l -5.46204,-4.415541 c 1.44319,-2.424098 1.651175,-5.267515 0.557303,-7.748623 l 5.903195,-3.833951 C 33.14257,71.704996 30.616217,69.018606 29.02952,67.99296 l -4.118813,4.981678 C 22.411934,71.205099 18.900853,70.937534 16.041319,72.32916 l -3.595408,-5.322091 c -1.345962,0.579488 -4.1293881,2.921233 -5.2123901,4.812869 z m 8.1010311,3.426672 c 2.75284,-2.446266 6.769149,-2.144694 9.048998,0.420874 2.279848,2.56557 2.113919,6.596919 -0.638924,9.043185 -2.752841,2.446267 -6.775754,2.13726 -9.055604,-0.428308 -2.279851,-2.565568 -2.107313,-6.589485 0.64553,-9.035751 z"
-         style="fill:#000000;fill-opacity:1;stroke:none" />
-    </g>
-  </g>
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-insert.svg b/server/target/classes/static/pdfjs/web/images/annotation-insert.svg
deleted file mode 100644
index 519ef68..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-insert.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="64"
-   height="64"
-   viewBox="0 0 64 64">
-  <path
-     d="M 32.003143,1.4044602 57.432701,62.632577 6.5672991,62.627924 z"
-     style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:1.00493038;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-key.svg b/server/target/classes/static/pdfjs/web/images/annotation-key.svg
deleted file mode 100644
index 8d09d53..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-key.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="64"
-   height="64"
-   viewBox="0 0 64 64">
-  <path
-     d="M 25.470843,9.4933766 C 25.30219,12.141818 30.139101,14.445969 34.704831,13.529144 40.62635,12.541995 41.398833,7.3856498 35.97505,5.777863 31.400921,4.1549155 25.157674,6.5445892 25.470843,9.4933766 z M 4.5246282,17.652051 C 4.068249,11.832873 9.2742983,5.9270407 18.437379,3.0977088 29.751911,-0.87185184 45.495663,1.4008022 53.603953,7.1104009 c 9.275765,6.1889221 7.158128,16.2079421 -3.171076,21.5939521 -1.784316,1.635815 -6.380222,1.21421 -7.068351,3.186186 -1.04003,0.972427 -1.288046,2.050158 -1.232864,3.168203 1.015111,2.000108 -3.831548,1.633216 -3.270553,3.759574 0.589477,5.264544 -0.179276,10.53738 -0.362842,15.806257 -0.492006,2.184998 1.163456,4.574232 -0.734888,6.610642 -2.482919,2.325184 -7.30604,2.189143 -9.193497,-0.274767 -2.733688,-1.740626 -8.254447,-3.615254 -6.104247,-6.339626 3.468112,-1.708686 -2.116197,-3.449897 0.431242,-5.080274 5.058402,-1.39256 -2.393215,-2.304318 -0.146889,-4.334645 3.069198,-0.977415 2.056986,-2.518352 -0.219121,-3.540397 1.876567,-1.807151 1.484149,-4.868919 -2.565455,-5.942205 0.150866,-1.805474 2.905737,-4.136876 -1.679967,-5.20493 C 10.260902,27.882167 4.6872697,22.95045 4.5245945,17.652051 z"
-     id="path604"
-     style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:1.72665179;stroke-opacity:1" />
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-newparagraph.svg b/server/target/classes/static/pdfjs/web/images/annotation-newparagraph.svg
deleted file mode 100644
index 38d2497..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-newparagraph.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="64"
-   height="64"
-   viewBox="0 0 64 64">
-  <path
-     d="M 32.003143,10.913072 57.432701,53.086929 6.567299,53.083723 z"
-     id="path2985"
-     style="fill:#ffff00;fill-opacity:0.94117647;fill-rule:nonzero;stroke:#000000;stroke-width:0.83403099;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-noicon.svg b/server/target/classes/static/pdfjs/web/images/annotation-noicon.svg
deleted file mode 100644
index c07d108..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-noicon.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="40"
-   height="40"
-   viewBox="0 0 40 40">
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-note.svg b/server/target/classes/static/pdfjs/web/images/annotation-note.svg
deleted file mode 100644
index 7017365..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-note.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="40"
-   height="40"
-   viewBox="0 0 40 40">
-  <rect
-     width="36.075428"
-     height="31.096582"
-     x="1.962286"
-     y="4.4517088"
-     id="rect4"
-     style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.23004246;stroke-opacity:1" />
-  <rect
-     width="27.96859"
-     height="1.5012145"
-     x="6.0157046"
-     y="10.285"
-     id="rect6"
-     style="fill:#000000;fill-opacity:1;stroke:none" />
-  <rect
-     width="27.96859"
-     height="0.85783684"
-     x="6.0157056"
-     y="23.21689"
-     id="rect8"
-     style="fill:#000000;fill-opacity:1;stroke:none" />
-  <rect
-     width="27.96859"
-     height="0.85783684"
-     x="5.8130345"
-     y="28.964394"
-     id="rect10"
-     style="fill:#000000;fill-opacity:1;stroke:none" />
-  <rect
-     width="27.96859"
-     height="0.85783684"
-     x="6.0157046"
-     y="17.426493"
-     id="rect12"
-     style="fill:#000000;fill-opacity:1;stroke:none" />
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/annotation-paragraph.svg b/server/target/classes/static/pdfjs/web/images/annotation-paragraph.svg
deleted file mode 100644
index 6ae5212..0000000
--- a/server/target/classes/static/pdfjs/web/images/annotation-paragraph.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns="http://www.w3.org/2000/svg"
-   width="40"
-   height="40"
-   viewBox="0 0 40 40">
-  <rect
-     width="33.76017"
-     height="33.76017"
-     x="3.119915"
-     y="3.119915"
-     style="fill:#ffff00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-  <path
-     d="m 17.692678,34.50206 0,-16.182224 c -1.930515,-0.103225 -3.455824,-0.730383 -4.57593,-1.881473 -1.12011,-1.151067 -1.680164,-2.619596 -1.680164,-4.405591 0,-1.992435 0.621995,-3.5796849 1.865988,-4.7617553 1.243989,-1.1820288 3.06352,-1.7730536 5.458598,-1.7730764 l 9.802246,0 0,2.6789711 -2.229895,0 0,26.3251486 -2.632515,0 0,-26.3251486 -3.45324,0 0,26.3251486 z"
-     style="font-size:29.42051125px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.07795751;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" />
-</svg>
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-next-rtl.png b/server/target/classes/static/pdfjs/web/images/findbarButton-next-rtl.png
deleted file mode 100644
index bef0274..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-next-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-next-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/findbarButton-next-rtl@2x.png
deleted file mode 100644
index 1da6dc9..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-next-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-next.png b/server/target/classes/static/pdfjs/web/images/findbarButton-next.png
deleted file mode 100644
index de1d0fc..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-next.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-next@2x.png b/server/target/classes/static/pdfjs/web/images/findbarButton-next@2x.png
deleted file mode 100644
index 0250307..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-next@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-previous-rtl.png b/server/target/classes/static/pdfjs/web/images/findbarButton-previous-rtl.png
deleted file mode 100644
index de1d0fc..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-previous-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-previous-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/findbarButton-previous-rtl@2x.png
deleted file mode 100644
index 0250307..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-previous-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-previous.png b/server/target/classes/static/pdfjs/web/images/findbarButton-previous.png
deleted file mode 100644
index bef0274..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-previous.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/findbarButton-previous@2x.png b/server/target/classes/static/pdfjs/web/images/findbarButton-previous@2x.png
deleted file mode 100644
index 1da6dc9..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/findbarButton-previous@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/grab.cur b/server/target/classes/static/pdfjs/web/images/grab.cur
deleted file mode 100644
index db7ad5a..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/grab.cur and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/grabbing.cur b/server/target/classes/static/pdfjs/web/images/grabbing.cur
deleted file mode 100644
index e0dfd04..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/grabbing.cur and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/loading-icon.gif b/server/target/classes/static/pdfjs/web/images/loading-icon.gif
deleted file mode 100644
index 1c72ebb..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/loading-icon.gif and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/loading-small.png b/server/target/classes/static/pdfjs/web/images/loading-small.png
deleted file mode 100644
index 8831a80..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/loading-small.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/loading-small@2x.png b/server/target/classes/static/pdfjs/web/images/loading-small@2x.png
deleted file mode 100644
index b25b445..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/loading-small@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-documentProperties.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-documentProperties.png
deleted file mode 100644
index 40925e2..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-documentProperties.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-documentProperties@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-documentProperties@2x.png
deleted file mode 100644
index adb240e..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-documentProperties@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-firstPage.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-firstPage.png
deleted file mode 100644
index e68846a..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-firstPage.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-firstPage@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-firstPage@2x.png
deleted file mode 100644
index 3ad8af5..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-firstPage@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-handTool.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-handTool.png
deleted file mode 100644
index cb85a84..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-handTool.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-handTool@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-handTool@2x.png
deleted file mode 100644
index 5c13f77..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-handTool@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-lastPage.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-lastPage.png
deleted file mode 100644
index be763e0..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-lastPage.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-lastPage@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-lastPage@2x.png
deleted file mode 100644
index 8570984..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-lastPage@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw.png
deleted file mode 100644
index 675d6da..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw@2x.png
deleted file mode 100644
index b9e7431..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCcw@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCw.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCw.png
deleted file mode 100644
index e1c7598..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCw.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCw@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCw@2x.png
deleted file mode 100644
index cb257b4..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-rotateCw@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.png
deleted file mode 100644
index cb702fc..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal@2x.png
deleted file mode 100644
index 7f05289..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical.png
deleted file mode 100644
index 0b8427a..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical@2x.png
deleted file mode 100644
index 72ab55e..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollVertical@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.png
deleted file mode 100644
index 165fc8b..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped@2x.png
deleted file mode 100644
index 4246141..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-scrollWrapped@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-selectTool.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-selectTool.png
deleted file mode 100644
index 25520a6..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-selectTool.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png
deleted file mode 100644
index a58aaef..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-selectTool@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadEven.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadEven.png
deleted file mode 100644
index 3fa07e7..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadEven.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadEven@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadEven@2x.png
deleted file mode 100644
index 32e5033..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadEven@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadNone.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadNone.png
deleted file mode 100644
index 1611473..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadNone.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadNone@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadNone@2x.png
deleted file mode 100644
index 8e51cf3..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadNone@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd.png
deleted file mode 100644
index 5126313..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd@2x.png b/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd@2x.png
deleted file mode 100644
index 5996b74..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/secondaryToolbarButton-spreadOdd@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/shadow.png b/server/target/classes/static/pdfjs/web/images/shadow.png
deleted file mode 100644
index 31d3bdb..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/shadow.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/texture.png b/server/target/classes/static/pdfjs/web/images/texture.png
deleted file mode 100644
index 12bae83..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/texture.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-bookmark.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-bookmark.png
deleted file mode 100644
index a187be6..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-bookmark.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-bookmark@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-bookmark@2x.png
deleted file mode 100644
index 4efbaa6..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-bookmark@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-download.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-download.png
deleted file mode 100644
index eaab35f..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-download.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-download@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-download@2x.png
deleted file mode 100644
index 896face..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-download@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-menuArrows.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-menuArrows.png
deleted file mode 100644
index e50ca4e..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-menuArrows.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-menuArrows@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-menuArrows@2x.png
deleted file mode 100644
index f7570bc..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-menuArrows@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-openFile.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-openFile.png
deleted file mode 100644
index b5cf1bd..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-openFile.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-openFile@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-openFile@2x.png
deleted file mode 100644
index 91ab765..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-openFile@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown-rtl.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown-rtl.png
deleted file mode 100644
index 1957f79..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown-rtl@2x.png
deleted file mode 100644
index 16ebcb8..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown.png
deleted file mode 100644
index 8219ecf..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown@2x.png
deleted file mode 100644
index 758c01d..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageDown@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp-rtl.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp-rtl.png
deleted file mode 100644
index 98e7ce4..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp-rtl@2x.png
deleted file mode 100644
index a01b023..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp.png
deleted file mode 100644
index fb9daa3..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp@2x.png
deleted file mode 100644
index a5cfd75..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-pageUp@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-presentationMode.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-presentationMode.png
deleted file mode 100644
index 3ac2124..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-presentationMode.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-presentationMode@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-presentationMode@2x.png
deleted file mode 100644
index cada9e7..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-presentationMode@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-print.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-print.png
deleted file mode 100644
index 51275e5..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-print.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-print@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-print@2x.png
deleted file mode 100644
index 53d18da..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-print@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-search.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-search.png
deleted file mode 100644
index f9b7557..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-search.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-search@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-search@2x.png
deleted file mode 100644
index 456b133..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-search@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl.png
deleted file mode 100644
index 8437095..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png
deleted file mode 100644
index 9d9bfa4..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.png
deleted file mode 100644
index 1f90f83..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle@2x.png
deleted file mode 100644
index b066fe5..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-secondaryToolbarToggle@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle-rtl.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle-rtl.png
deleted file mode 100644
index 6f85ec0..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle-rtl@2x.png
deleted file mode 100644
index 291e006..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle.png
deleted file mode 100644
index 025dc90..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle@2x.png
deleted file mode 100644
index 7f834df..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-sidebarToggle@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewAttachments.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewAttachments.png
deleted file mode 100644
index fcd0b26..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewAttachments.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewAttachments@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewAttachments@2x.png
deleted file mode 100644
index 4a5e2b8..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewAttachments@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline-rtl.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline-rtl.png
deleted file mode 100644
index aaa9430..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline-rtl@2x.png
deleted file mode 100644
index 3410f70..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline.png
deleted file mode 100644
index 976365a..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline@2x.png
deleted file mode 100644
index b6a197f..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewOutline@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewThumbnail.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewThumbnail.png
deleted file mode 100644
index 584ba55..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewThumbnail.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewThumbnail@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-viewThumbnail@2x.png
deleted file mode 100644
index a0208b4..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-viewThumbnail@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomIn.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomIn.png
deleted file mode 100644
index 513d081..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomIn.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomIn@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomIn@2x.png
deleted file mode 100644
index d5d49d5..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomIn@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomOut.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomOut.png
deleted file mode 100644
index 156c26b..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomOut.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomOut@2x.png b/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomOut@2x.png
deleted file mode 100644
index 959e191..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/toolbarButton-zoomOut@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed-rtl.png b/server/target/classes/static/pdfjs/web/images/treeitem-collapsed-rtl.png
deleted file mode 100644
index 0496b35..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed-rtl.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed-rtl@2x.png b/server/target/classes/static/pdfjs/web/images/treeitem-collapsed-rtl@2x.png
deleted file mode 100644
index 6ad9ebc..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed-rtl@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed.png b/server/target/classes/static/pdfjs/web/images/treeitem-collapsed.png
deleted file mode 100644
index 06d4d37..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed@2x.png b/server/target/classes/static/pdfjs/web/images/treeitem-collapsed@2x.png
deleted file mode 100644
index eec1e58..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/treeitem-collapsed@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/treeitem-expanded.png b/server/target/classes/static/pdfjs/web/images/treeitem-expanded.png
deleted file mode 100644
index c8d5573..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/treeitem-expanded.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/images/treeitem-expanded@2x.png b/server/target/classes/static/pdfjs/web/images/treeitem-expanded@2x.png
deleted file mode 100644
index 3b3b610..0000000
Binary files a/server/target/classes/static/pdfjs/web/images/treeitem-expanded@2x.png and /dev/null differ
diff --git a/server/target/classes/static/pdfjs/web/locale/ach/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ach/viewer.properties
deleted file mode 100644
index 57c6a91..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ach/viewer.properties
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pot buk mukato
-previous_label=Mukato
-next.title=Pot buk malubo
-next_label=Malubo
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pot buk
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=pi {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} me {{pagesCount}})
-
-zoom_out.title=Jwik Matidi
-zoom_out_label=Jwik Matidi
-zoom_in.title=Kwot Madit
-zoom_in_label=Kwot Madit
-zoom.title=Kwoti
-presentation_mode.title=Lokke i kit me tyer
-presentation_mode_label=Kit me tyer
-open_file.title=Yab Pwail
-open_file_label=Yab
-print.title=Go
-print_label=Go
-download.title=Gam
-download_label=Gam
-bookmark.title=Neno ma kombedi (lok onyo yab i dirica manyen)
-bookmark_label=Neno ma kombedi
-
-# Secondary toolbar and context menu
-tools.title=Gintic
-tools_label=Gintic
-first_page.title=Cit i pot buk mukwongo
-first_page.label=Cit i pot buk mukwongo
-first_page_label=Cit i pot buk mukwongo
-last_page.title=Cit i pot buk magiko
-last_page.label=Cit i pot buk magiko
-last_page_label=Cit i pot buk magiko
-page_rotate_cw.title=Wire i tung lacuc
-page_rotate_cw.label=Wire i tung lacuc
-page_rotate_cw_label=Wire i tung lacuc
-page_rotate_ccw.title=Wire i tung lacam
-page_rotate_ccw.label=Wire i tung lacam
-page_rotate_ccw_label=Wire i tung lacam
-
-cursor_text_select_tool.title=Cak gitic me yero coc
-cursor_text_select_tool_label=Gitic me yero coc
-cursor_hand_tool.title=Cak gitic me cing
-cursor_hand_tool_label=Gitic cing
-
-
-
-# Document properties dialog box
-document_properties.title=Jami me gin acoya…
-document_properties_label=Jami me gin acoya…
-document_properties_file_name=Nying pwail:
-document_properties_file_size=Dit pa pwail:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Wiye:
-document_properties_author=Ngat mucoyo:
-document_properties_subject=Subjek:
-document_properties_keywords=Lok mapire tek:
-document_properties_creation_date=Nino dwe me cwec:
-document_properties_modification_date=Nino dwe me yub:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Lacwec:
-document_properties_producer=Layub PDF:
-document_properties_version=Kit PDF:
-document_properties_page_count=Kwan me pot buk:
-document_properties_page_size=Dit pa potbuk:
-document_properties_page_size_unit_inches=i
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=atir
-document_properties_page_size_orientation_landscape=arii
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Waraga
-document_properties_page_size_name_legal=Cik
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=Eyo
-document_properties_linearized_no=Pe
-document_properties_close=Lor
-
-print_progress_message=Yubo coc me agoya…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Juki
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Lok gintic ma inget
-toggle_sidebar_notification.title=Lok lanyut me nget (wiyewiye tye i gin acoya/attachments)
-toggle_sidebar_label=Lok gintic ma inget
-document_outline.title=Nyut Wiyewiye me Gin acoya (dii-kiryo me yaro/kano jami weng)
-document_outline_label=Pek pa gin acoya
-attachments.title=Nyut twec
-attachments_label=Twec
-thumbs.title=Nyut cal
-thumbs_label=Cal
-findbar.title=Nong iye gin acoya
-findbar_label=Nong
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pot buk {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Cal me pot buk {{page}}
-
-# Find panel button title and messages
-find_input.title=Nong
-find_input.placeholder=Nong i dokumen…
-find_previous.title=Nong timme pa lok mukato
-find_previous_label=Mukato
-find_next.title=Nong timme pa lok malubo
-find_next_label=Malubo
-find_highlight=Wer weng
-find_match_case_label=Lok marwate
-find_reached_top=Oo iwi gin acoya, omede ki i tere
-find_reached_bottom=Oo i agiki me gin acoya, omede ki iwiye
-find_not_found=Lok pe ononge
-
-# Error panel labels
-error_more_info=Ngec Mukene
-error_less_info=Ngec Manok
-error_close=Lor
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Kwena: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Can kikore {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Pwail: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rek: {{line}}
-rendering_error=Bal otime i kare me nyuto pot buk.
-
-# Predefined zoom values
-page_scale_width=Lac me iye pot buk
-page_scale_fit=Porre me pot buk
-page_scale_auto=Kwot pire kene
-page_scale_actual=Dite kikome
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Bal
-loading_error=Bal otime kun cano PDF.
-invalid_file_error=Pwail me PDF ma pe atir onyo obale woko.
-missing_file_error=Pwail me PDF tye ka rem.
-unexpected_response_error=Lagam mape kigeno pa lapok tic.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Lok angea manok]
-password_label=Ket mung me donyo me yabo pwail me PDF man.
-password_invalid=Mung me donyo pe atir. Tim ber i tem doki.
-password_ok=OK
-password_cancel=Juki
-
-printing_not_supported=Ciko: Layeny ma pe teno goyo liweng.
-printing_not_ready=Ciko: PDF pe ocane weng me agoya.
-web_fonts_disabled=Kijuko dit pa coc me kakube woko: pe romo tic ki dit pa coc me PDF ma kiketo i kine.
-document_colors_not_allowed=Pe ki yee ki gin acoya me PDF me tic ki rangi gi kengi: Kijuko woko “Yee pot buk me yero rangi mamegi kengi” ki i layeny.
diff --git a/server/target/classes/static/pdfjs/web/locale/af/viewer.properties b/server/target/classes/static/pdfjs/web/locale/af/viewer.properties
deleted file mode 100644
index 8cf0880..0000000
--- a/server/target/classes/static/pdfjs/web/locale/af/viewer.properties
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Vorige bladsy
-previous_label=Vorige
-next.title=Volgende bladsy
-next_label=Volgende
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Bladsy
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=van {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} van {{pagesCount}})
-
-zoom_out.title=Zoem uit
-zoom_out_label=Zoem uit
-zoom_in.title=Zoem in
-zoom_in_label=Zoem in
-zoom.title=Zoem
-presentation_mode.title=Wissel na voorleggingsmodus
-presentation_mode_label=Voorleggingsmodus
-open_file.title=Open lêer
-open_file_label=Open
-print.title=Druk
-print_label=Druk
-download.title=Laai af
-download_label=Laai af
-bookmark.title=Huidige aansig (kopieer of open in nuwe venster)
-bookmark_label=Huidige aansig
-
-# Secondary toolbar and context menu
-tools.title=Nutsgoed
-tools_label=Nutsgoed
-first_page.title=Gaan na eerste bladsy
-first_page.label=Gaan na eerste bladsy
-first_page_label=Gaan na eerste bladsy
-last_page.title=Gaan na laaste bladsy
-last_page.label=Gaan na laaste bladsy
-last_page_label=Gaan na laaste bladsy
-page_rotate_cw.title=Roteer kloksgewys
-page_rotate_cw.label=Roteer kloksgewys
-page_rotate_cw_label=Roteer kloksgewys
-page_rotate_ccw.title=Roteer anti-kloksgewys
-page_rotate_ccw.label=Roteer anti-kloksgewys
-page_rotate_ccw_label=Roteer anti-kloksgewys
-
-cursor_text_select_tool.title=Aktiveer gereedskap om teks te merk
-cursor_text_select_tool_label=Teksmerkgereedskap
-cursor_hand_tool.title=Aktiveer handjie
-cursor_hand_tool_label=Handjie
-
-# Document properties dialog box
-document_properties.title=Dokumenteienskappe…
-document_properties_label=Dokumenteienskappe…
-document_properties_file_name=Lêernaam:
-document_properties_file_size=Lêergrootte:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kG ({{size_b}} grepe)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MG ({{size_b}} grepe)
-document_properties_title=Titel:
-document_properties_author=Outeur:
-document_properties_subject=Onderwerp:
-document_properties_keywords=Sleutelwoorde:
-document_properties_creation_date=Skeppingsdatum:
-document_properties_modification_date=Wysigingsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Skepper:
-document_properties_producer=PDF-vervaardiger:
-document_properties_version=PDF-weergawe:
-document_properties_page_count=Aantal bladsye:
-document_properties_close=Sluit
-
-print_progress_message=Berei tans dokument voor om te druk…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Kanselleer
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sypaneel aan/af
-toggle_sidebar_notification.title=Sypaneel aan/af (dokument bevat skema/aanhegsels)
-toggle_sidebar_label=Sypaneel aan/af
-document_outline.title=Wys dokumentskema (dubbelklik om alle items oop/toe te vou)
-document_outline_label=Dokumentoorsig
-attachments.title=Wys aanhegsels
-attachments_label=Aanhegsels
-thumbs.title=Wys duimnaels
-thumbs_label=Duimnaels
-findbar.title=Soek in dokument
-findbar_label=Vind
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Bladsy {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Duimnael van bladsy {{page}}
-
-# Find panel button title and messages
-find_input.title=Vind
-find_input.placeholder=Soek in dokument…
-find_previous.title=Vind die vorige voorkoms van die frase
-find_previous_label=Vorige
-find_next.title=Vind die volgende voorkoms van die frase
-find_next_label=Volgende
-find_highlight=Verlig almal
-find_match_case_label=Kassensitief
-find_reached_top=Bokant van dokument is bereik; gaan voort van onder af
-find_reached_bottom=Einde van dokument is bereik; gaan voort van bo af
-find_not_found=Frase nie gevind nie
-
-# Error panel labels
-error_more_info=Meer inligting
-error_less_info=Minder inligting
-error_close=Sluit
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (ID: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Boodskap: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stapel: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Lêer: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lyn: {{line}}
-rendering_error='n Fout het voorgekom toe die bladsy weergegee is.
-
-# Predefined zoom values
-page_scale_width=Bladsywydte
-page_scale_fit=Pas bladsy
-page_scale_auto=Outomatiese zoem
-page_scale_actual=Werklike grootte
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Fout
-loading_error='n Fout het voorgekom met die laai van die PDF.
-invalid_file_error=Ongeldige of korrupte PDF-lêer.
-missing_file_error=PDF-lêer is weg.
-unexpected_response_error=Onverwagse antwoord van bediener.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-annotasie]
-password_label=Gee die wagwoord om dié PDF-lêer mee te open.
-password_invalid=Ongeldige wagwoord. Probeer gerus weer.
-password_ok=OK
-password_cancel=Kanselleer
-
-printing_not_supported=Waarskuwing: Dié blaaier ondersteun nie drukwerk ten volle nie.
-printing_not_ready=Waarskuwing: Die PDF is nog nie volledig gelaai vir drukwerk nie.
-web_fonts_disabled=Webfonte is gedeaktiveer: kan nie PDF-fonte wat ingebed is, gebruik nie.
-document_colors_not_allowed=PDF-dokumente word nie toegelaat om hul eie kleure te gebruik nie: “Laat bladsye toe om hul eie kleure te kies” is gedeaktiveer in die blaaier.
diff --git a/server/target/classes/static/pdfjs/web/locale/an/viewer.properties b/server/target/classes/static/pdfjs/web/locale/an/viewer.properties
deleted file mode 100644
index 3576134..0000000
--- a/server/target/classes/static/pdfjs/web/locale/an/viewer.properties
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pachina anterior
-previous_label=Anterior
-next.title=Pachina siguient
-next_label=Siguient
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pachina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Achiquir
-zoom_out_label=Achiquir
-zoom_in.title=Agrandir
-zoom_in_label=Agrandir
-zoom.title=Grandaria
-presentation_mode.title=Cambear t'o modo de presentación
-presentation_mode_label=Modo de presentación
-open_file.title=Ubrir o fichero
-open_file_label=Ubrir
-print.title=Imprentar
-print_label=Imprentar
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar u ubrir en una nueva finestra)
-bookmark_label=Anvista actual
-
-# Secondary toolbar and context menu
-tools.title=Ferramientas
-tools_label=Ferramientas
-first_page.title=Ir ta la primer pachina
-first_page.label=Ir ta la primer pachina
-first_page_label=Ir ta la primer pachina
-last_page.title=Ir ta la zaguer pachina
-last_page.label=Ir ta la zaguera pachina
-last_page_label=Ir ta la zaguer pachina
-page_rotate_cw.title=Chirar enta la dreita
-page_rotate_cw.label=Chirar enta la dreita
-page_rotate_cw_label=Chira enta la dreita
-page_rotate_ccw.title=Chirar enta la zurda
-page_rotate_ccw.label=Chirar en sentiu antihorario
-page_rotate_ccw_label=Chirar enta la zurda
-
-cursor_text_select_tool.title=Activar la ferramienta de selección de texto
-cursor_text_select_tool_label=Ferramienta de selección de texto
-cursor_hand_tool.title=Activar la ferramienta man
-cursor_hand_tool_label=Ferramienta man
-
-# Document properties dialog box
-document_properties.title=Propiedatz d'o documento...
-document_properties_label=Propiedatz d'o documento...
-document_properties_file_name=Nombre de fichero:
-document_properties_file_size=Grandaria d'o fichero:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titol:
-document_properties_author=Autor:
-document_properties_subject=Afer:
-document_properties_keywords=Parolas clau:
-document_properties_creation_date=Calendata de creyación:
-document_properties_modification_date=Calendata de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creyador:
-document_properties_producer=Creyador de PDF:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Numero de pachinas:
-document_properties_close=Zarrar
-
-print_progress_message=Se ye preparando la documentación pa imprentar…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Amostrar u amagar a barra lateral
-toggle_sidebar_notification.title=Cambiar barra lateral (lo documento contiene esquema/adchuntos)
-toggle_sidebar_label=Amostrar a barra lateral
-document_outline.title=Amostrar esquema d'o documento (fer doble clic pa expandir/compactar totz los items)
-document_outline_label=Esquema d'o documento
-attachments.title=Amostrar os adchuntos
-attachments_label=Adchuntos
-thumbs.title=Amostrar as miniaturas
-thumbs_label=Miniaturas
-findbar.title=Trobar en o documento
-findbar_label=Trobar
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pachina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura d'a pachina {{page}}
-
-# Find panel button title and messages
-find_input.title=Trobar
-find_input.placeholder=Trobar en o documento…
-find_previous.title=Trobar l'anterior coincidencia d'a frase
-find_previous_label=Anterior
-find_next.title=Trobar a siguient coincidencia d'a frase
-find_next_label=Siguient
-find_highlight=Resaltar-lo tot
-find_match_case_label=Coincidencia de mayusclas/minusclas
-find_reached_top=S'ha plegau a l'inicio d'o documento, se contina dende baixo
-find_reached_bottom=S'ha plegau a la fin d'o documento, se contina dende alto
-find_not_found=No s'ha trobau a frase
-
-# Error panel labels
-error_more_info=Mas información
-error_less_info=Menos información
-error_close=Zarrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensache: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fichero: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linia: {{line}}
-rendering_error=Ha ocurriu una error en renderizar a pachina.
-
-# Predefined zoom values
-page_scale_width=Amplaria d'a pachina
-page_scale_fit=Achuste d'a pachina
-page_scale_auto=Grandaria automatica
-page_scale_actual=Grandaria actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=S'ha produciu una error en cargar o PDF.
-invalid_file_error=O PDF no ye valido u ye estorbau.
-missing_file_error=No i ha fichero PDF.
-unexpected_response_error=Respuesta a lo servicio inasperada.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Introduzca a clau ta ubrir iste fichero PDF.
-password_invalid=Clau invalida. Torna a intentar-lo.
-password_ok=Acceptar
-password_cancel=Cancelar
-
-printing_not_supported=Pare cuenta: Iste navegador no maneya totalment as impresions.
-printing_not_ready=Aviso: Encara no se ha cargau completament o PDF ta imprentar-lo.
-web_fonts_disabled=As fuents web son desactivadas: no se puet incrustar fichers PDF.
-document_colors_not_allowed=Los documentos PDF no pueden fer servir las suyas propias colors: 'Permitir que as pachinas triguen as suyas propias colors' ye desactivau en o navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/ar/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ar/viewer.properties
deleted file mode 100644
index b42ba74..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ar/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=الصفحة السابقة
-previous_label=السابقة
-next.title=الصفحة التالية
-next_label=التالية
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=صفحة
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=من {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} من {{pagesCount}})
-
-zoom_out.title=بعّد
-zoom_out_label=بعّد
-zoom_in.title=قرّب
-zoom_in_label=قرّب
-zoom.title=التقريب
-presentation_mode.title=انتقل لوضع العرض التقديمي
-presentation_mode_label=وضع العرض التقديمي
-open_file.title=افتح ملفًا
-open_file_label=افتح
-print.title=اطبع
-print_label=اطبع
-download.title=نزّل
-download_label=نزّل
-bookmark.title=المنظور الحالي (انسخ أو افتح في نافذة جديدة)
-bookmark_label=المنظور الحالي
-
-# Secondary toolbar and context menu
-tools.title=الأدوات
-tools_label=الأدوات
-first_page.title=اذهب إلى الصفحة الأولى
-first_page.label=اذهب إلى الصفحة الأولى
-first_page_label=اذهب إلى الصفحة الأولى
-last_page.title=اذهب إلى الصفحة الأخيرة
-last_page.label=اذهب إلى الصفحة الأخيرة
-last_page_label=اذهب إلى الصفحة الأخيرة
-page_rotate_cw.title=أدر باتجاه عقارب الساعة
-page_rotate_cw.label=أدر باتجاه عقارب الساعة
-page_rotate_cw_label=أدر باتجاه عقارب الساعة
-page_rotate_ccw.title=أدر بعكس اتجاه عقارب الساعة
-page_rotate_ccw.label=أدر بعكس اتجاه عقارب الساعة
-page_rotate_ccw_label=أدر بعكس اتجاه عقارب الساعة
-
-cursor_text_select_tool.title=فعّل أداة اختيار النص
-cursor_text_select_tool_label=أداة اختيار النص
-cursor_hand_tool.title=فعّل أداة اليد
-cursor_hand_tool_label=أداة اليد
-
-scroll_vertical.title=استخدم التمرير الرأسي
-scroll_vertical_label=التمرير الرأسي
-scroll_horizontal.title=استخدم التمرير الأفقي
-scroll_horizontal_label=التمرير الأفقي
-scroll_wrapped.title=استخدم التمرير الملتف
-scroll_wrapped_label=التمرير الملتف
-
-spread_none.title=لا تدمج هوامش الصفحات مع بعضها البعض
-spread_none_label=بلا هوامش
-spread_odd.title=ادمج هوامش الصفحات الفردية
-spread_odd_label=هوامش الصفحات الفردية
-spread_even.title=ادمج هوامش الصفحات الزوجية
-spread_even_label=هوامش الصفحات الزوجية
-
-# Document properties dialog box
-document_properties.title=خصائص المستند…
-document_properties_label=خصائص المستند…
-document_properties_file_name=اسم الملف:
-document_properties_file_size=حجم الملف:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ك.بايت ({{size_b}} بايت)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} م.بايت ({{size_b}} بايت)
-document_properties_title=العنوان:
-document_properties_author=المؤلف:
-document_properties_subject=الموضوع:
-document_properties_keywords=الكلمات الأساسية:
-document_properties_creation_date=تاريخ الإنشاء:
-document_properties_modification_date=تاريخ التعديل:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}، {{time}}
-document_properties_creator=المنشئ:
-document_properties_producer=منتج PDF:
-document_properties_version=إصدارة PDF:
-document_properties_page_count=عدد الصفحات:
-document_properties_page_size=مقاس الورقة:
-document_properties_page_size_unit_inches=بوصة
-document_properties_page_size_unit_millimeters=ملم
-document_properties_page_size_orientation_portrait=طوليّ
-document_properties_page_size_orientation_landscape=عرضيّ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=خطاب
-document_properties_page_size_name_legal=قانونيّ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string=‏{{width}} × ‏{{height}} ‏{{unit}} (‏{{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string=‏{{width}} × ‏{{height}} ‏{{unit}} (‏{{name}}، {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=العرض السريع عبر الوِب:
-document_properties_linearized_yes=نعم
-document_properties_linearized_no=لا
-document_properties_close=أغلق
-
-print_progress_message=يُحضّر المستند للطباعة…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}٪
-print_progress_close=ألغِ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=بدّل ظهور الشريط الجانبي
-toggle_sidebar_notification.title=بدّل ظهور الشريط الجانبي (يحتوي المستند على مخطط أو مرفقات)
-toggle_sidebar_label=بدّل ظهور الشريط الجانبي
-document_outline.title=اعرض فهرس المستند (نقر مزدوج لتمديد أو تقليص كل العناصر)
-document_outline_label=مخطط المستند
-attachments.title=اعرض المرفقات
-attachments_label=المُرفقات
-thumbs.title=اعرض مُصغرات
-thumbs_label=مُصغّرات
-findbar.title=ابحث في المستند
-findbar_label=ابحث
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=صفحة {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=مصغّرة صفحة {{page}}
-
-# Find panel button title and messages
-find_input.title=ابحث
-find_input.placeholder=ابحث في المستند…
-find_previous.title=ابحث عن التّواجد السّابق للعبارة
-find_previous_label=السابق
-find_next.title=ابحث عن التّواجد التّالي للعبارة
-find_next_label=التالي
-find_highlight=أبرِز الكل
-find_match_case_label=طابق حالة الأحرف
-find_entire_word_label=كلمات كاملة
-find_reached_top=تابعت من الأسفل بعدما وصلت إلى بداية المستند
-find_reached_bottom=تابعت من الأعلى بعدما وصلت إلى نهاية المستند
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} من أصل مطابقة واحدة
-find_match_count[two]={{current}} من أصل مطابقتين
-find_match_count[few]={{current}} من أصل {{total}} مطابقات
-find_match_count[many]={{current}} من أصل {{total}} مطابقة
-find_match_count[other]={{current}} من أصل {{total}} مطابقة
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=فقط
-find_match_count_limit[one]=أكثر من مطابقة واحدة
-find_match_count_limit[two]=أكثر من مطابقتين
-find_match_count_limit[few]=أكثر من {{limit}} مطابقات
-find_match_count_limit[many]=أكثر من {{limit}} مطابقة
-find_match_count_limit[other]=أكثر من {{limit}} مطابقة
-find_not_found=لا وجود للعبارة
-
-# Error panel labels
-error_more_info=معلومات أكثر
-error_less_info=معلومات أقل
-error_close=أغلق
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=‏PDF.js ن{{version}} ‏(بناء: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=الرسالة: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=الرصّة: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=الملف: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=السطر: {{line}}
-rendering_error=حدث خطأ أثناء عرض الصفحة.
-
-# Predefined zoom values
-page_scale_width=عرض الصفحة
-page_scale_fit=ملائمة الصفحة
-page_scale_auto=تقريب تلقائي
-page_scale_actual=الحجم الفعلي
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}٪
-
-# Loading indicator messages
-loading_error_indicator=عطل
-loading_error=حدث عطل أثناء تحميل ملف PDF.
-invalid_file_error=ملف PDF تالف أو غير صحيح.
-missing_file_error=ملف PDF غير موجود.
-unexpected_response_error=استجابة خادوم غير متوقعة.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}، {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[تعليق {{type}}]
-password_label=أدخل لكلمة السر لفتح هذا الملف.
-password_invalid=كلمة سر خطأ. من فضلك أعد المحاولة.
-password_ok=حسنا
-password_cancel=ألغِ
-
-printing_not_supported=تحذير: لا يدعم هذا المتصفح الطباعة بشكل كامل.
-printing_not_ready=تحذير: ملف PDF لم يُحمّل كاملًا للطباعة.
-web_fonts_disabled=خطوط الوب مُعطّلة: تعذّر استخدام خطوط PDF المُضمّنة.
-document_colors_not_allowed=ليس مسموحًا لملفات PDF باستخدام ألوانها الخاصة: خيار ”اسمح للصفحات باختيار ألوانها الخاصة“ ليس مُفعّلًا في المتصفح.
diff --git a/server/target/classes/static/pdfjs/web/locale/ast/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ast/viewer.properties
deleted file mode 100644
index db66a56..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ast/viewer.properties
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Páxina anterior
-previous_label=Anterior
-next.title=Páxina siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Páxina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Aumentar
-zoom_in_label=Aumentar
-zoom.title=Tamañu
-open_file.title=Abrir ficheru
-open_file_label=Abrir
-print.title=Imprentar
-print_label=Imprentar
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir nuna nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Ferramientes
-tools_label=Ferramientes
-first_page.title=Dir a la primer páxina
-first_page.label=Dir a la primer páxina
-first_page_label=Dir a la primer páxina
-last_page.title=Dir a la postrer páxina
-last_page.label=Dir a la cabera páxina
-last_page_label=Dir a la postrer páxina
-page_rotate_cw.title=Xirar en sen horariu
-page_rotate_cw_label=Xirar en sen horariu
-page_rotate_ccw.title=Xirar en sen antihorariu
-page_rotate_ccw_label=Xirar en sen antihorariu
-
-
-scroll_vertical_label=Desplazamientu vertical
-scroll_horizontal_label=Desplazamientu horizontal
-
-
-# Document properties dialog box
-document_properties.title=Propiedaes del documentu…
-document_properties_label=Propiedaes del documentu…
-document_properties_file_name=Nome de ficheru:
-document_properties_file_size=Tamañu de ficheru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Títulu:
-document_properties_author=Autor:
-document_properties_subject=Asuntu:
-document_properties_keywords=Pallabres clave:
-document_properties_creation_date=Data de creación:
-document_properties_modification_date=Data de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor PDF:
-document_properties_version=Versión PDF:
-document_properties_page_count=Númberu de páxines:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=Sí
-document_properties_linearized_no=Non
-document_properties_close=Zarrar
-
-print_progress_message=Tresnando documentu pa imprentar…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Encaboxar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Camudar barra llateral
-toggle_sidebar_label=Camudar barra llateral
-document_outline.title=Amosar esquema del documentu (duble clic pa espander/contrayer tolos elementos)
-document_outline_label=Esquema del documentu
-attachments.title=Amosar axuntos
-attachments_label=Axuntos
-thumbs.title=Amosar miniatures
-thumbs_label=Miniatures
-findbar.title=Guetar nel documentu
-findbar_label=Guetar
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Páxina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la páxina {{page}}
-
-# Find panel button title and messages
-find_input.title=Guetar
-find_input.placeholder=Guetar nel documentu…
-find_previous.title=Alcontrar l'anterior apaición de la fras
-find_previous_label=Anterior
-find_next.title=Alcontrar la siguiente apaición d'esta fras
-find_next_label=Siguiente
-find_highlight=Remarcar toos
-find_match_case_label=Coincidencia de mayús./minús.
-find_entire_word_label=Pallabres enteres
-find_reached_top=Algamóse'l principiu del documentu, siguir dende'l final
-find_reached_bottom=Algamóse'l final del documentu, siguir dende'l principiu
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=Frase non atopada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Zarrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaxe: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ficheru: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Llinia: {{line}}
-rendering_error=Hebo un fallu al renderizar la páxina.
-
-# Predefined zoom values
-page_scale_width=Anchor de la páxina
-page_scale_fit=Axuste de la páxina
-page_scale_auto=Tamañu automáticu
-page_scale_actual=Tamañu actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Fallu
-loading_error=Hebo un fallu al cargar el PDF.
-invalid_file_error=Ficheru PDF inválidu o corruptu.
-missing_file_error=Nun hai ficheru PDF.
-unexpected_response_error=Rempuesta inesperada del sirvidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Introduz la contraseña p'abrir esti ficheru PDF
-password_invalid=Contraseña non válida. Vuelvi a intentalo.
-password_ok=Aceutar
-password_cancel=Encaboxar
-
-printing_not_supported=Alvertencia: La imprentación entá nun ta sofitada dafechu nesti restolador.
-printing_not_ready=Avisu: Esti PDF nun se cargó completamente pa poder imprentase.
-web_fonts_disabled=Les fontes web tán desactivaes: ye imposible usar les fontes PDF embebíes.
-document_colors_not_allowed=Los documentos PDF nun tienen permisu pa usar les sos colores: «Permitir que les páxines escueyan les sos colores» ta desactivao nel restolador.
diff --git a/server/target/classes/static/pdfjs/web/locale/az/viewer.properties b/server/target/classes/static/pdfjs/web/locale/az/viewer.properties
deleted file mode 100644
index 2c27d12..0000000
--- a/server/target/classes/static/pdfjs/web/locale/az/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Əvvəlki səhifə
-previous_label=Əvvəlkini tap
-next.title=Növbəti səhifə
-next_label=İrəli
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Səhifə
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=Uzaqlaş
-zoom_out_label=Uzaqlaş
-zoom_in.title=Yaxınlaş
-zoom_in_label=Yaxınlaş
-zoom.title=Yaxınlaşdırma
-presentation_mode.title=Təqdimat Rejiminə Keç
-presentation_mode_label=Təqdimat Rejimi
-open_file.title=Fayl Aç
-open_file_label=Aç
-print.title=Yazdır
-print_label=Yazdır
-download.title=Yüklə
-download_label=Yüklə
-bookmark.title=Hazırkı görünüş (köçür və ya yeni pəncərədə aç)
-bookmark_label=Hazırkı görünüş
-
-# Secondary toolbar and context menu
-tools.title=Alətlər
-tools_label=Alətlər
-first_page.title=İlk Səhifəyə get
-first_page.label=İlk Səhifəyə get
-first_page_label=İlk Səhifəyə get
-last_page.title=Son Səhifəyə get
-last_page.label=Son Səhifəyə get
-last_page_label=Son Səhifəyə get
-page_rotate_cw.title=Saat İstiqamətində Fırlat
-page_rotate_cw.label=Saat İstiqamətində Fırlat
-page_rotate_cw_label=Saat İstiqamətində Fırlat
-page_rotate_ccw.title=Saat İstiqamətinin Əksinə Fırlat
-page_rotate_ccw.label=Saat İstiqamətinin Əksinə Fırlat
-page_rotate_ccw_label=Saat İstiqamətinin Əksinə Fırlat
-
-cursor_text_select_tool.title=Yazı seçmə alətini aktivləşdir
-cursor_text_select_tool_label=Yazı seçmə aləti
-cursor_hand_tool.title=Əl alətini aktivləşdir
-cursor_hand_tool_label=Əl aləti
-
-scroll_vertical.title=Şaquli sürüşdürmə işlət
-scroll_vertical_label=Şaquli sürüşdürmə
-scroll_horizontal.title=Üfüqi sürüşdürmə işlət
-scroll_horizontal_label=Üfüqi sürüşdürmə
-scroll_wrapped.title=Bükülü sürüşdürmə işlət
-scroll_wrapped_label=Bükülü sürüşdürmə
-
-spread_none.title=Yan-yana birləşdirilmiş səhifələri işlətmə
-spread_none_label=Birləşdirmə
-spread_odd.title=Yan-yana birləşdirilmiş səhifələri tək nömrəli səhifələrdən başlat
-spread_odd_label=Tək nömrəli
-spread_even.title=Yan-yana birləşdirilmiş səhifələri cüt nömrəli səhifələrdən başlat
-spread_even_label=Cüt nömrəli
-
-# Document properties dialog box
-document_properties.title=Sənəd xüsusiyyətləri…
-document_properties_label=Sənəd xüsusiyyətləri…
-document_properties_file_name=Fayl adı:
-document_properties_file_size=Fayl ölçüsü:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bayt)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bayt)
-document_properties_title=Başlık:
-document_properties_author=Müəllif:
-document_properties_subject=Mövzu:
-document_properties_keywords=Açar sözlər:
-document_properties_creation_date=Yaradılış Tarixi :
-document_properties_modification_date=Dəyişdirilmə Tarixi :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Yaradan:
-document_properties_producer=PDF yaradıcısı:
-document_properties_version=PDF versiyası:
-document_properties_page_count=Səhifə sayı:
-document_properties_page_size=Səhifə Ölçüsü:
-document_properties_page_size_unit_inches=inç
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portret
-document_properties_page_size_orientation_landscape=albom
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Məktub
-document_properties_page_size_name_legal=Hüquqi
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Bəli
-document_properties_linearized_no=Xeyr
-document_properties_close=Qapat
-
-print_progress_message=Sənəd çap üçün hazırlanır…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Ləğv et
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Yan Paneli Aç/Bağla
-toggle_sidebar_notification.title=Yan paneli çevir (sənəddə icmal/bağlama var)
-toggle_sidebar_label=Yan Paneli Aç/Bağla
-document_outline.title=Sənədin eskizini göstər (bütün bəndləri açmaq/yığmaq üçün iki dəfə klikləyin)
-document_outline_label=Sənəd strukturu
-attachments.title=Bağlamaları göstər
-attachments_label=Bağlamalar
-thumbs.title=Kiçik şəkilləri göstər
-thumbs_label=Kiçik şəkillər
-findbar.title=Sənəddə Tap
-findbar_label=Tap
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Səhifə {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Səhifə{{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} səhifəsinin kiçik vəziyyəti
-
-# Find panel button title and messages
-find_input.title=Tap
-find_input.placeholder=Sənəddə tap…
-find_previous.title=Bir öncəki uyğun gələn sözü tapır
-find_previous_label=Geri
-find_next.title=Bir sonrakı uyğun gələn sözü tapır
-find_next_label=İrəli
-find_highlight=İşarələ
-find_match_case_label=Böyük/kiçik hərfə həssaslıq
-find_entire_word_label=Tam sözlər
-find_reached_top=Sənədin yuxarısına çatdı, aşağıdan davam edir
-find_reached_bottom=Sənədin sonuna çatdı, yuxarıdan davam edir
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} uyğunluq
-find_match_count[two]={{current}} / {{total}} uyğunluq
-find_match_count[few]={{current}} / {{total}} uyğunluq
-find_match_count[many]={{current}} / {{total}} uyğunluq
-find_match_count[other]={{current}} / {{total}} uyğunluq
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}}-dan çox uyğunluq
-find_match_count_limit[one]={{limit}}-dən çox uyğunluq
-find_match_count_limit[two]={{limit}}-dən çox uyğunluq
-find_match_count_limit[few]={{limit}} uyğunluqdan daha çox
-find_match_count_limit[many]={{limit}} uyğunluqdan daha çox
-find_match_count_limit[other]={{limit}} uyğunluqdan daha çox
-find_not_found=Uyğunlaşma tapılmadı
-
-# Error panel labels
-error_more_info=Daha çox məlumati
-error_less_info=Daha az məlumat
-error_close=Qapat
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (yığma: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=İsmarıc: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stek: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fayl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Sətir: {{line}}
-rendering_error=Səhifə göstərilərkən səhv yarandı.
-
-# Predefined zoom values
-page_scale_width=Səhifə genişliyi
-page_scale_fit=Səhifəni sığdır
-page_scale_auto=Avtomatik yaxınlaşdır
-page_scale_actual=Hazırkı Həcm
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Səhv
-loading_error=PDF yüklenərkən bir səhv yarandı.
-invalid_file_error=Səhv və ya zədələnmiş olmuş PDF fayl.
-missing_file_error=PDF fayl yoxdur.
-unexpected_response_error=Gözlənilməz server cavabı.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotasiyası]
-password_label=Bu PDF faylı açmaq üçün parolu daxil edin.
-password_invalid=Parol səhvdir. Bir daha yoxlayın.
-password_ok=Tamam
-password_cancel=Ləğv et
-
-printing_not_supported=Xəbərdarlıq: Çap bu səyyah tərəfindən tam olaraq dəstəklənmir.
-printing_not_ready=Xəbərdarlıq: PDF çap üçün tam yüklənməyib.
-web_fonts_disabled=Web Şriftlər söndürülüb: yerləşdirilmiş PDF şriftlərini istifadə etmək mümkün deyil.
-document_colors_not_allowed=PDF sənədlərə öz rənglərini işlətməyə icazə verilmir: “Səhifələrə öz rənglərini istifadə etməyə icazə ver”mə səyyahda söndürülüb.
diff --git a/server/target/classes/static/pdfjs/web/locale/be/viewer.properties b/server/target/classes/static/pdfjs/web/locale/be/viewer.properties
deleted file mode 100644
index 67cd012..0000000
--- a/server/target/classes/static/pdfjs/web/locale/be/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Папярэдняя старонка
-previous_label=Папярэдняя
-next.title=Наступная старонка
-next_label=Наступная
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Старонка
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=з {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} з {{pagesCount}})
-
-zoom_out.title=Паменшыць
-zoom_out_label=Паменшыць
-zoom_in.title=Павялічыць
-zoom_in_label=Павялічыць
-zoom.title=Павялічэнне тэксту
-presentation_mode.title=Пераключыцца ў рэжым паказу
-presentation_mode_label=Рэжым паказу
-open_file.title=Адкрыць файл
-open_file_label=Адкрыць
-print.title=Друкаваць
-print_label=Друкаваць
-download.title=Сцягнуць
-download_label=Сцягнуць
-bookmark.title=Цяперашняя праява (скапіяваць або адчыніць у новым акне)
-bookmark_label=Цяперашняя праява
-
-# Secondary toolbar and context menu
-tools.title=Прылады
-tools_label=Прылады
-first_page.title=Перайсці на першую старонку
-first_page.label=Перайсці на першую старонку
-first_page_label=Перайсці на першую старонку
-last_page.title=Перайсці на апошнюю старонку
-last_page.label=Перайсці на апошнюю старонку
-last_page_label=Перайсці на апошнюю старонку
-page_rotate_cw.title=Павярнуць па сонцу
-page_rotate_cw.label=Павярнуць па сонцу
-page_rotate_cw_label=Павярнуць па сонцу
-page_rotate_ccw.title=Павярнуць супраць сонца
-page_rotate_ccw.label=Павярнуць супраць сонца
-page_rotate_ccw_label=Павярнуць супраць сонца
-
-cursor_text_select_tool.title=Уключыць прыладу выбару тэксту
-cursor_text_select_tool_label=Прылада выбару тэксту
-cursor_hand_tool.title=Уключыць ручную прыладу
-cursor_hand_tool_label=Ручная прылада
-
-scroll_vertical.title=Ужываць вертыкальную пракрутку
-scroll_vertical_label=Вертыкальная пракрутка
-scroll_horizontal.title=Ужываць гарызантальную пракрутку
-scroll_horizontal_label=Гарызантальная пракрутка
-scroll_wrapped.title=Ужываць маштабавальную пракрутку
-scroll_wrapped_label=Маштабавальная пракрутка
-
-spread_none.title=Не выкарыстоўваць разгорнутыя старонкі
-spread_none_label=Без разгорнутых старонак
-spread_odd.title=Разгорнутыя старонкі пачынаючы з няцотных нумароў
-spread_odd_label=Няцотныя старонкі злева
-spread_even.title=Разгорнутыя старонкі пачынаючы з цотных нумароў
-spread_even_label=Цотныя старонкі злева
-
-# Document properties dialog box
-document_properties.title=Уласцівасці дакумента…
-document_properties_label=Уласцівасці дакумента…
-document_properties_file_name=Назва файла:
-document_properties_file_size=Памер файла:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Загаловак:
-document_properties_author=Аўтар:
-document_properties_subject=Тэма:
-document_properties_keywords=Ключавыя словы:
-document_properties_creation_date=Дата стварэння:
-document_properties_modification_date=Дата змянення:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Стваральнік:
-document_properties_producer=Вырабнік PDF:
-document_properties_version=Версія PDF:
-document_properties_page_count=Колькасць старонак:
-document_properties_page_size=Памер старонкі:
-document_properties_page_size_unit_inches=цаляў
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=кніжная
-document_properties_page_size_orientation_landscape=альбомная
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Хуткі прагляд у Інтэрнэце:
-document_properties_linearized_yes=Так
-document_properties_linearized_no=Не
-document_properties_close=Закрыць
-
-print_progress_message=Падрыхтоўка дакумента да друку…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Скасаваць
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Паказаць/схаваць бакавую панэль
-toggle_sidebar_notification.title=Паказаць/схаваць бакавую панэль (дакумент мае змест/укладанні)
-toggle_sidebar_label=Паказаць/схаваць бакавую панэль
-document_outline.title=Паказаць структуру дакумента (двайная пстрычка, каб разгарнуць /згарнуць усе элементы)
-document_outline_label=Структура дакумента
-attachments.title=Паказаць далучэнні
-attachments_label=Далучэнні
-thumbs.title=Паказ мініяцюр
-thumbs_label=Мініяцюры
-findbar.title=Пошук у дакуменце
-findbar_label=Знайсці
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Старонка {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Старонка {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Мініяцюра старонкі {{page}}
-
-# Find panel button title and messages
-find_input.title=Шукаць
-find_input.placeholder=Шукаць у дакуменце…
-find_previous.title=Знайсці папярэдні выпадак выразу
-find_previous_label=Папярэдні
-find_next.title=Знайсці наступны выпадак выразу
-find_next_label=Наступны
-find_highlight=Падфарбаваць усе
-find_match_case_label=Адрозніваць вялікія/малыя літары
-find_entire_word_label=Словы цалкам
-find_reached_top=Дасягнуты пачатак дакумента, працяг з канца
-find_reached_bottom=Дасягнуты канец дакумента, працяг з пачатку
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} з {{total}} супадзення
-find_match_count[two]={{current}} з {{total}} супадзенняў
-find_match_count[few]={{current}} з {{total}} супадзенняў
-find_match_count[many]={{current}} з {{total}} супадзенняў
-find_match_count[other]={{current}} з {{total}} супадзенняў
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Больш за {{limit}} супадзенняў
-find_match_count_limit[one]=Больш за {{limit}} супадзенне
-find_match_count_limit[two]=Больш за {{limit}} супадзенняў
-find_match_count_limit[few]=Больш за {{limit}} супадзенняў
-find_match_count_limit[many]=Больш за {{limit}} супадзенняў
-find_match_count_limit[other]=Больш за {{limit}} супадзенняў
-find_not_found=Выраз не знойдзены
-
-# Error panel labels
-error_more_info=Падрабязней
-error_less_info=Сцісла
-error_close=Закрыць
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js в{{version}} (зборка: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Паведамленне: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стос: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Радок: {{line}}
-rendering_error=Здарылася памылка падчас адлюстравання старонкі.
-
-# Predefined zoom values
-page_scale_width=Шырыня старонкі
-page_scale_fit=Уцісненне старонкі
-page_scale_auto=Аўтаматычнае павелічэнне
-page_scale_actual=Сапраўдны памер
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Памылка
-loading_error=Здарылася памылка падчас загрузкі PDF.
-invalid_file_error=Няспраўны або пашкоджаны файл PDF.
-missing_file_error=Адсутны файл PDF.
-unexpected_response_error=Нечаканы адказ сервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Увядзіце пароль, каб адкрыць гэты файл PDF.
-password_invalid=Нядзейсны пароль. Паспрабуйце зноў.
-password_ok=Добра
-password_cancel=Скасаваць
-
-printing_not_supported=Папярэджанне: друк не падтрымліваецца цалкам гэтым браўзерам.
-printing_not_ready=Увага: PDF не сцягнуты цалкам для друкавання.
-web_fonts_disabled=Шрыфты Сеціва забаронены: немагчыма ўжываць укладзеныя шрыфты PDF.
-document_colors_not_allowed=PDF-дакументам не дазволена выкарыстоўваць свае колеры: у браўзеры адключаны параметр "Дазволіць вэб-сайтам выкарыстоўваць свае колеры".
diff --git a/server/target/classes/static/pdfjs/web/locale/bg/viewer.properties b/server/target/classes/static/pdfjs/web/locale/bg/viewer.properties
deleted file mode 100644
index 713b113..0000000
--- a/server/target/classes/static/pdfjs/web/locale/bg/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Предишна страница
-previous_label=Предишна
-next.title=Следваща страница
-next_label=Следваща
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Страница
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=от {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} от {{pagesCount}})
-
-zoom_out.title=Намаляване
-zoom_out_label=Намаляване
-zoom_in.title=Увеличаване
-zoom_in_label=Увеличаване
-zoom.title=Мащабиране
-presentation_mode.title=Превключване към режим на представяне
-presentation_mode_label=Режим на представяне
-open_file.title=Отваряне на файл
-open_file_label=Отваряне
-print.title=Отпечатване
-print_label=Отпечатване
-download.title=Изтегляне
-download_label=Изтегляне
-bookmark.title=Текущ изглед (копиране или отваряне в нов прозорец)
-bookmark_label=Текущ изглед
-
-# Secondary toolbar and context menu
-tools.title=Инструменти
-tools_label=Инструменти
-first_page.title=Към първата страница
-first_page.label=Към първата страница
-first_page_label=Към първата страница
-last_page.title=Към последната страница
-last_page.label=Към последната страница
-last_page_label=Към последната страница
-page_rotate_cw.title=Завъртане по час. стрелка
-page_rotate_cw.label=Завъртане по часовниковата стрелка
-page_rotate_cw_label=Завъртане по часовниковата стрелка
-page_rotate_ccw.title=Завъртане обратно на час. стрелка
-page_rotate_ccw.label=Завъртане обратно на часовниковата стрелка
-page_rotate_ccw_label=Завъртане обратно на часовниковата стрелка
-
-cursor_text_select_tool.title=Включване на инструмента за избор на текст
-cursor_text_select_tool_label=Инструмент за избор на текст
-cursor_hand_tool.title=Включване на инструмента ръка
-cursor_hand_tool_label=Инструмент ръка
-
-scroll_vertical.title=Използване на вертикално плъзгане
-scroll_vertical_label=Вертикално плъзгане
-scroll_horizontal.title=Използване на хоризонтално
-scroll_horizontal_label=Хоризонтално плъзгане
-scroll_wrapped.title=Използване на мащабируемо плъзгане
-scroll_wrapped_label=Мащабируемо плъзгане
-
-spread_none.title=Режимът на сдвояване е изключен
-spread_none_label=Без сдвояване
-spread_odd.title=Сдвояване, започвайки от нечетните страници
-spread_odd_label=Нечетните отляво
-spread_even.title=Сдвояване, започвайки от четните страници
-spread_even_label=Четните отляво
-
-# Document properties dialog box
-document_properties.title=Свойства на документа…
-document_properties_label=Свойства на документа…
-document_properties_file_name=Име на файл:
-document_properties_file_size=Големина на файл:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байта)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байта)
-document_properties_title=Заглавие:
-document_properties_author=Автор:
-document_properties_subject=Тема:
-document_properties_keywords=Ключови думи:
-document_properties_creation_date=Дата на създаване:
-document_properties_modification_date=Дата на промяна:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Създател:
-document_properties_producer=PDF произведен от:
-document_properties_version=Издание на PDF:
-document_properties_page_count=Брой страници:
-document_properties_page_size=Размер на страницата:
-document_properties_page_size_unit_inches=инч
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=портрет
-document_properties_page_size_orientation_landscape=пейзаж
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Правни въпроси
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Бърз преглед:
-document_properties_linearized_yes=Да
-document_properties_linearized_no=Не
-document_properties_close=Затваряне
-
-print_progress_message=Подготвяне на документа за отпечатване…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Отказ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Превключване на страничната лента
-toggle_sidebar_notification.title=Превключване на страничната лента (документи със структура/прикачени файлове)
-toggle_sidebar_label=Превключване на страничната лента
-document_outline.title=Показване на структурата на документа (двукратно щракване за свиване/разгъване на всичко)
-document_outline_label=Структура на документа
-attachments.title=Показване на притурките
-attachments_label=Притурки
-thumbs.title=Показване на миниатюрите
-thumbs_label=Миниатюри
-findbar.title=Намиране в документа
-findbar_label=Търсене
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Миниатюра на страница {{page}}
-
-# Find panel button title and messages
-find_input.title=Търсене
-find_input.placeholder=Търсене в документа…
-find_previous.title=Намиране на предишно съвпадение на фразата
-find_previous_label=Предишна
-find_next.title=Намиране на следващо съвпадение на фразата
-find_next_label=Следваща
-find_highlight=Открояване на всички
-find_match_case_label=Съвпадение на регистъра
-find_entire_word_label=Цели думи
-find_reached_top=Достигнато е началото на документа, продължаване от края
-find_reached_bottom=Достигнат е краят на документа, продължаване от началото
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} от {{total}} съвпадение
-find_match_count[two]={{current}} от {{total}} съвпадения
-find_match_count[few]={{current}} от {{total}} съвпадения
-find_match_count[many]={{current}} от {{total}} съвпадения
-find_match_count[other]={{current}} от {{total}} съвпадения
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Повече от {{limit}} съвпадения
-find_match_count_limit[one]=Повече от {{limit}} съвпадение
-find_match_count_limit[two]=Повече от {{limit}} съвпадения
-find_match_count_limit[few]=Повече от {{limit}} съвпадения
-find_match_count_limit[many]=Повече от {{limit}} съвпадения
-find_match_count_limit[other]=Повече от {{limit}} съвпадения
-find_not_found=Фразата не е намерена
-
-# Error panel labels
-error_more_info=Повече информация
-error_less_info=По-малко информация
-error_close=Затваряне
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=Издание на PDF.js {{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Съобщение: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ред: {{line}}
-rendering_error=Грешка при изчертаване на страницата.
-
-# Predefined zoom values
-page_scale_width=Ширина на страницата
-page_scale_fit=Вместване в страницата
-page_scale_auto=Автоматично мащабиране
-page_scale_actual=Действителен размер
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Грешка
-loading_error=Получи се грешка при зареждане на PDF-а.
-invalid_file_error=Невалиден или повреден PDF файл.
-missing_file_error=Липсващ PDF файл.
-unexpected_response_error=Неочакван отговор от сървъра.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Анотация {{type}}]
-password_label=Въведете парола за отваряне на този PDF файл.
-password_invalid=Невалидна парола. Моля, опитайте отново.
-password_ok=Добре
-password_cancel=Отказ
-
-printing_not_supported=Внимание: Този четец няма пълна поддръжка на отпечатване.
-printing_not_ready=Внимание: Този PDF файл не е напълно зареден за печат.
-web_fonts_disabled=Уеб-шрифтовете са забранени: разрешаване на използването на вградените PDF шрифтове.
-document_colors_not_allowed=На документите от вид PDF не е разрешено да използват собствени цветове: „Разрешаване на страниците да избират собствени цветове“ е изключено в четеца.
diff --git a/server/target/classes/static/pdfjs/web/locale/bn/viewer.properties b/server/target/classes/static/pdfjs/web/locale/bn/viewer.properties
deleted file mode 100644
index 52fec2c..0000000
--- a/server/target/classes/static/pdfjs/web/locale/bn/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=পূর্ববর্তী পাতা
-previous_label=পূর্ববর্তী
-next.title=পরবর্তী পাতা
-next_label=পরবর্তী
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=পাতা
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} এর
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} এর {{pageNumber}})
-
-zoom_out.title=ছোট আকারে প্রদর্শন
-zoom_out_label=ছোট আকারে প্রদর্শন
-zoom_in.title=বড় আকারে প্রদর্শন
-zoom_in_label=বড় আকারে প্রদর্শন
-zoom.title=বড় আকারে প্রদর্শন
-presentation_mode.title=উপস্থাপনা মোডে স্যুইচ করুন
-presentation_mode_label=উপস্থাপনা মোড
-open_file.title=ফাইল খুলুন
-open_file_label=খুলুন
-print.title=মুদ্রণ
-print_label=মুদ্রণ
-download.title=ডাউনলোড
-download_label=ডাউনলোড
-bookmark.title=বর্তমান অবস্থা (অনুলিপি অথবা নতুন উইন্ডো তে খুলুন)
-bookmark_label=বর্তমান অবস্থা
-
-# Secondary toolbar and context menu
-tools.title=টুল
-tools_label=টুল
-first_page.title=প্রথম পাতায় যাও
-first_page.label=প্রথম পাতায় যাও
-first_page_label=প্রথম পাতায় যাও
-last_page.title=শেষ পাতায় যাও
-last_page.label=শেষ পাতায় যাও
-last_page_label=শেষ পাতায় যাও
-page_rotate_cw.title=ঘড়ির কাঁটার দিকে ঘোরাও
-page_rotate_cw.label=ঘড়ির কাঁটার দিকে ঘোরাও
-page_rotate_cw_label=ঘড়ির কাঁটার দিকে ঘোরাও
-page_rotate_ccw.title=ঘড়ির কাঁটার বিপরীতে ঘোরাও
-page_rotate_ccw.label=ঘড়ির কাঁটার বিপরীতে ঘোরাও
-page_rotate_ccw_label=ঘড়ির কাঁটার বিপরীতে ঘোরাও
-
-cursor_text_select_tool.title=লেখা নির্বাচক টুল সক্রিয় করুন
-cursor_text_select_tool_label=লেখা নির্বাচক টুল
-cursor_hand_tool.title=হ্যান্ড টুল সক্রিয় করুন
-cursor_hand_tool_label=হ্যান্ড টুল
-
-scroll_vertical.title=উলম্ব স্ক্রলিং ব্যবহার করুন
-scroll_vertical_label=উলম্ব স্ক্রলিং
-scroll_horizontal.title=অনুভূমিক স্ক্রলিং ব্যবহার করুন
-scroll_horizontal_label=অনুভূমিক স্ক্রলিং
-scroll_wrapped.title=Wrapped স্ক্রোলিং ব্যবহার করুন
-scroll_wrapped_label=Wrapped স্ক্রোলিং
-
-spread_none.title=পেজ স্প্রেডগুলোতে যোগদান করবেন না
-spread_none_label=Spreads নেই
-spread_odd_label=বিজোড় Spreads
-spread_even_label=জোড় Spreads
-
-# Document properties dialog box
-document_properties.title=নথি বৈশিষ্ট্য…
-document_properties_label=নথি বৈশিষ্ট্য…
-document_properties_file_name=ফাইলের নাম:
-document_properties_file_size=ফাইলের আকার:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} কেবি ({{size_b}} বাইট)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} এমবি ({{size_b}} বাইট)
-document_properties_title=শিরোনাম:
-document_properties_author=লেখক:
-document_properties_subject=বিষয়:
-document_properties_keywords=কীওয়ার্ড:
-document_properties_creation_date=তৈরির তারিখ:
-document_properties_modification_date=পরিবর্তনের তারিখ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=প্রস্তুতকারক:
-document_properties_producer=পিডিএফ প্রস্তুতকারক:
-document_properties_version=পিডিএফ সংষ্করণ:
-document_properties_page_count=মোট পাতা:
-document_properties_page_size=পাতার সাইজ:
-document_properties_page_size_unit_inches=এর মধ্যে
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=উলম্ব
-document_properties_page_size_orientation_landscape=অনুভূমিক
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=লেটার
-document_properties_page_size_name_legal=লীগাল
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=হ্যাঁ
-document_properties_linearized_no=না
-document_properties_close=বন্ধ
-
-print_progress_message=মুদ্রণের জন্য নথি প্রস্তুত করা হচ্ছে…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=বাতিল
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=সাইডবার টগল করুন
-toggle_sidebar_notification.title=সাইডবার টগল (নথিতে আউটলাইন/এটাচমেন্ট রয়েছে)
-toggle_sidebar_label=সাইডবার টগল করুন
-document_outline.title=নথির আউটলাইন দেখাও (সব আইটেম প্রসারিত/সঙ্কুচিত করতে ডবল ক্লিক করুন)
-document_outline_label=নথির রূপরেখা
-attachments.title=সংযুক্তি দেখাও
-attachments_label=সংযুক্তি
-thumbs.title=থাম্বনেইল সমূহ প্রদর্শন করুন
-thumbs_label=থাম্বনেইল সমূহ
-findbar.title=নথির মধ্যে খুঁজুন
-findbar_label=খুঁজুন
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=পাতা {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=পাতা {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} পাতার থাম্বনেইল
-
-# Find panel button title and messages
-find_input.title=খুঁজুন
-find_input.placeholder=নথির মধ্যে খুঁজুন…
-find_previous.title=বাক্যাংশের পূর্ববর্তী উপস্থিতি অনুসন্ধান
-find_previous_label=পূর্ববর্তী
-find_next.title=বাক্যাংশের পরবর্তী উপস্থিতি অনুসন্ধান
-find_next_label=পরবর্তী
-find_highlight=সব হাইলাইট করা হবে
-find_match_case_label=অক্ষরের ছাঁদ মেলানো
-find_entire_word_label=সম্পূর্ণ শব্দ
-find_reached_top=পাতার শুরুতে পৌছে গেছে, নীচ থেকে আরম্ভ করা হয়েছে
-find_reached_bottom=পাতার শেষে পৌছে গেছে, উপর থেকে আরম্ভ করা হয়েছে
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} এর {{current}} মিল
-find_match_count[two]={{total}} এর {{current}} মিল
-find_match_count[few]={{total}} এর {{current}} মিল
-find_match_count[many]={{total}} এর {{current}} মিল
-find_match_count[other]={{total}} এর {{current}} মিল
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} এর বেশি মিল
-find_match_count_limit[one]={{limit}} এর বেশি মিল
-find_match_count_limit[two]={{limit}} এর বেশি মিল
-find_match_count_limit[few]={{limit}} এর বেশি মিল
-find_match_count_limit[many]={{limit}} এর বেশি মিল
-find_match_count_limit[other]={{limit}} এর বেশি মিল
-find_not_found=বাক্যাংশ পাওয়া যায়নি
-
-# Error panel labels
-error_more_info=আরও তথ্য
-error_less_info=কম তথ্য
-error_close=বন্ধ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=বার্তা: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=নথি: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=লাইন: {{line}}
-rendering_error=পাতা উপস্থাপনার সময় ত্রুটি দেখা দিয়েছে।
-
-# Predefined zoom values
-page_scale_width=পাতার প্রস্থ
-page_scale_fit=পাতা ফিট করুন
-page_scale_auto=স্বয়ংক্রিয় জুম
-page_scale_actual=প্রকৃত আকার
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=ত্রুটি
-loading_error=পিডিএফ লোড করার সময় ত্রুটি দেখা দিয়েছে।
-invalid_file_error=অকার্যকর অথবা ক্ষতিগ্রস্ত পিডিএফ ফাইল।
-missing_file_error=নিখোঁজ PDF ফাইল।
-unexpected_response_error=অপ্রত্যাশীত সার্ভার প্রতিক্রিয়া।
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} টীকা]
-password_label=পিডিএফ ফাইলটি ওপেন করতে পাসওয়ার্ড দিন।
-password_invalid=ভুল পাসওয়ার্ড। অনুগ্রহ করে আবার চেষ্টা করুন।
-password_ok=ঠিক আছে
-password_cancel=বাতিল
-
-printing_not_supported=সতর্কতা: এই ব্রাউজারে মুদ্রণ সম্পূর্ণভাবে সমর্থিত নয়।
-printing_not_ready=সতর্কীকরণ: পিডিএফটি মুদ্রণের জন্য সম্পূর্ণ লোড হয়নি।
-web_fonts_disabled=ওয়েব ফন্ট নিষ্ক্রিয়: সংযুক্ত পিডিএফ ফন্ট ব্যবহার করা যাচ্ছে না।
-document_colors_not_allowed=পিডিএফ ডকুমেন্টকে তাদের নিজস্ব রঙ ব্যবহারে অনুমতি নেই: 'পাতা তাদের নিজেস্ব রঙ নির্বাচন করতে অনুমতি দিন' এই ব্রাউজারে নিষ্ক্রিয় রয়েছে।
diff --git a/server/target/classes/static/pdfjs/web/locale/bo/viewer.properties b/server/target/classes/static/pdfjs/web/locale/bo/viewer.properties
deleted file mode 100644
index d35c453..0000000
--- a/server/target/classes/static/pdfjs/web/locale/bo/viewer.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=དྲ་ངོས་སྔོན་མ
-previous_label=སྔོན་མ
-next.title=དྲ་ངོས་རྗེས་མ
-next_label=རྗེས་མ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ཤོག་ངོས
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page.label=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page.label=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw.label=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Counterclockwise
-page_rotate_ccw.label=Rotate Counterclockwise
-page_rotate_ccw_label=Rotate Counterclockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-findbar.title=Find in Document
-findbar_label=Find
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight all
-find_match_case_label=Match case
-find_entire_word_label=Whole words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-document_colors_not_allowed=PDF documents are not allowed to use their own colors: “Allow pages to choose their own colors” is deactivated in the browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/br/viewer.properties b/server/target/classes/static/pdfjs/web/locale/br/viewer.properties
deleted file mode 100644
index ac2558e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/br/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pajenn a-raok
-previous_label=A-raok
-next.title=Pajenn war-lerc'h
-next_label=War-lerc'h
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pajenn
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=eus {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} war {{pagesCount}})
-
-zoom_out.title=Zoum bihanaat
-zoom_out_label=Zoum bihanaat
-zoom_in.title=Zoum brasaat
-zoom_in_label=Zoum brasaat
-zoom.title=Zoum
-presentation_mode.title=Trec'haoliñ etrezek ar mod kinnigadenn
-presentation_mode_label=Mod kinnigadenn
-open_file.title=Digeriñ ur restr
-open_file_label=Digeriñ ur restr
-print.title=Moullañ
-print_label=Moullañ
-download.title=Pellgargañ
-download_label=Pellgargañ
-bookmark.title=Gwel bremanel (eilañ pe zigeriñ e-barzh ur prenestr nevez)
-bookmark_label=Gwel bremanel
-
-# Secondary toolbar and context menu
-tools.title=Ostilhoù
-tools_label=Ostilhoù
-first_page.title=Mont d'ar bajenn gentañ
-first_page.label=Mont d'ar bajenn gentañ
-first_page_label=Mont d'ar bajenn gentañ
-last_page.title=Mont d'ar bajenn diwezhañ
-last_page.label=Mont d'ar bajenn diwezhañ
-last_page_label=Mont d'ar bajenn diwezhañ
-page_rotate_cw.title=C'hwelañ gant roud ar bizied
-page_rotate_cw.label=C'hwelañ gant roud ar bizied
-page_rotate_cw_label=C'hwelañ gant roud ar bizied
-page_rotate_ccw.title=C'hwelañ gant roud gin ar bizied
-page_rotate_ccw.label=C'hwelañ gant roud gin ar bizied
-page_rotate_ccw_label=C'hwelañ gant roud gin ar bizied
-
-cursor_text_select_tool.title=Gweredekaat an ostilh diuzañ testenn
-cursor_text_select_tool_label=Ostilh diuzañ testenn
-cursor_hand_tool.title=Gweredekaat an ostilh dorn
-cursor_hand_tool_label=Ostilh dorn
-
-scroll_vertical.title=Arverañ an dibunañ a-blom
-scroll_vertical_label=Dibunañ a-serzh
-scroll_horizontal.title=Arverañ an dibunañ a-blaen
-scroll_horizontal_label=Dibunañ a-blaen
-scroll_wrapped.title=Arverañ an dibunañ paket
-scroll_wrapped_label=Dibunañ paket
-
-spread_none.title=Chom hep stagañ ar skignadurioù
-spread_none_label=Skignadenn ebet
-spread_odd.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù ampar
-spread_odd_label=Pajennoù ampar
-spread_even.title=Lakaat ar pajennadoù en ur gregiñ gant ar pajennoù par
-spread_even_label=Pajennoù par
-
-# Document properties dialog box
-document_properties.title=Perzhioù an teul…
-document_properties_label=Perzhioù an teul…
-document_properties_file_name=Anv restr :
-document_properties_file_size=Ment ar restr :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ke ({{size_b}} eizhbit)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Me ({{size_b}} eizhbit)
-document_properties_title=Titl :
-document_properties_author=Aozer :
-document_properties_subject=Danvez :
-document_properties_keywords=Gerioù-alc'hwez :
-document_properties_creation_date=Deiziad krouiñ :
-document_properties_modification_date=Deiziad kemmañ :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Krouer :
-document_properties_producer=Kenderc'her PDF :
-document_properties_version=Handelv PDF :
-document_properties_page_count=Niver a bajennoù :
-document_properties_page_size=Ment ar bajenn:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=poltred
-document_properties_page_size_orientation_landscape=gweledva
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Lizher
-document_properties_page_size_name_legal=Lezennel
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Gwel Web Herrek:
-document_properties_linearized_yes=Ya
-document_properties_linearized_no=Ket
-document_properties_close=Serriñ
-
-print_progress_message=O prientiñ an teul evit moullañ...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Nullañ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Diskouez/kuzhat ar varrenn gostez
-toggle_sidebar_notification.title=Trec'haoliñ ar verrenn-gostez (ur steuñv pe stagadennoù a zo en teul)
-toggle_sidebar_label=Diskouez/kuzhat ar varrenn gostez
-document_outline.title=Diskouez steuñv an teul (daouglikit evit brasaat/bihanaat an holl elfennoù)
-document_outline_label=Sinedoù an teuliad
-attachments.title=Diskouez ar c'henstagadurioù
-attachments_label=Kenstagadurioù
-thumbs.title=Diskouez ar melvennoù
-thumbs_label=Melvennoù
-findbar.title=Klask e-barzh an teuliad
-findbar_label=Klask
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pajenn {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Melvenn ar bajenn {{page}}
-
-# Find panel button title and messages
-find_input.title=Klask
-find_input.placeholder=Klask e-barzh an teuliad
-find_previous.title=Kavout an tamm frazenn kent o klotañ ganti
-find_previous_label=Kent
-find_next.title=Kavout an tamm frazenn war-lerc'h o klotañ ganti
-find_next_label=War-lerc'h
-find_highlight=Usskediñ pep tra
-find_match_case_label=Teurel evezh ouzh ar pennlizherennoù
-find_entire_word_label=Gerioù a-bezh
-find_reached_top=Tizhet eo bet derou ar bajenn, kenderc'hel diouzh an diaz
-find_reached_bottom=Tizhet eo bet dibenn ar bajenn, kenderc'hel diouzh ar c'hrec'h
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Klotadenn {{current}} war {{total}}
-find_match_count[two]=Klotadenn {{current}} war {{total}}
-find_match_count[few]=Klotadenn {{current}} war {{total}}
-find_match_count[many]=Klotadenn {{current}} war {{total}}
-find_match_count[other]=Klotadenn {{current}} war {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[one]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[two]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[few]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[many]=Muioc'h eget {{limit}} a glotadennoù
-find_match_count_limit[other]=Muioc'h eget {{limit}} a glotadennoù
-find_not_found=N'haller ket kavout ar frazenn
-
-# Error panel labels
-error_more_info=Muioc'h a ditouroù
-error_less_info=Nebeutoc'h a ditouroù
-error_close=Serriñ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js handelv {{version}} (kempunadur : {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Kemennadenn : {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Torn : {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Restr : {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linenn : {{line}}
-rendering_error=Degouezhet ez eus bet ur fazi e-pad skrammañ ar bajennad.
-
-# Predefined zoom values
-page_scale_width=Led ar bajenn
-page_scale_fit=Pajenn a-bezh
-page_scale_auto=Zoum emgefreek
-page_scale_actual=Ment wir
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Fazi
-loading_error=Degouezhet ez eus bet ur fazi e-pad kargañ ar PDF.
-invalid_file_error=Restr PDF didalvoudek pe kontronet.
-missing_file_error=Restr PDF o vankout.
-unexpected_response_error=Respont dic'hortoz a-berzh an dafariad
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Notennañ]
-password_label=Enankit ar ger-tremen evit digeriñ ar restr PDF-mañ.
-password_invalid=Ger-tremen didalvoudek. Klaskit en-dro mar plij.
-password_ok=Mat eo
-password_cancel=Nullañ
-
-printing_not_supported=Kemenn : N'eo ket skoret penn-da-benn ar moullañ gant ar merdeer-mañ.
-printing_not_ready=Kemenn : N'hall ket bezañ moullet ar restr PDF rak n'eo ket karget penn-da-benn.
-web_fonts_disabled=Diweredekaet eo an nodrezhoù web : n'haller ket arverañ an nodrezhoù PDF enframmet.
-document_colors_not_allowed=N'eo ket aotreet an teuliadoù PDF da arverañ o livioù dezho : diweredekaet eo “Aotren ar pajennoù da zibab o livioù dezho” e-barzh ar merdeer.
diff --git a/server/target/classes/static/pdfjs/web/locale/brx/viewer.properties b/server/target/classes/static/pdfjs/web/locale/brx/viewer.properties
deleted file mode 100644
index 234bca1..0000000
--- a/server/target/classes/static/pdfjs/web/locale/brx/viewer.properties
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=आगोलनि बिलाइ
-previous_label=आगोलनि
-next.title=उननि बिलाइ
-next_label=उननि
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=बिलाइ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} नि
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} नि {{pageNumber}})
-
-zoom_out.title=फिसायै जुम खालाम
-zoom_out_label=फिसायै जुम खालाम
-zoom_in.title=गेदेरै जुम खालाम
-zoom_in_label=गेदेरै जुम खालाम
-zoom.title=जुम खालाम
-presentation_mode.title=दिन्थिफुंनाय म'डआव थां
-presentation_mode_label=दिन्थिफुंनाय म'ड
-open_file.title=फाइलखौ खेव
-open_file_label=खेव
-print.title=साफाय
-print_label=साफाय
-download.title=डाउनल'ड खालाम
-download_label=डाउनल'ड खालाम
-bookmark.title=दानि नुथाय (गोदान उइन्ड'आव कपि खालाम एबा खेव)
-bookmark_label=दानि नुथाय
-
-# Secondary toolbar and context menu
-tools.title=टुल
-tools_label=टुल
-first_page.title=गिबि बिलाइआव थां
-first_page.label=गिबि बिलाइआव थां
-first_page_label=गिबि बिलाइआव थां
-last_page.title=जोबथा बिलाइआव थां
-last_page.label=जोबथा बिलाइआव थां
-last_page_label=जोबथा बिलाइआव थां
-page_rotate_cw.title=घरि गिदिंनाय फार्से फिदिं
-page_rotate_cw.label=घरि गिदिंनाय फार्से फिदिं
-page_rotate_cw_label=घरि गिदिंनाय फार्से फिदिं
-page_rotate_ccw.title=घरि गिदिंनाय उल्था फार्से फिदिं
-page_rotate_ccw.label=घरि गिदिंनाय उल्था फार्से फिदिं
-page_rotate_ccw_label=घरि गिदिंनाय उल्था फार्से फिदिं
-
-
-
-
-# Document properties dialog box
-document_properties.title=फोरमान बिलाइनि आखुथाय...
-document_properties_label=फोरमान बिलाइनि आखुथाय...
-document_properties_file_name=फाइलनि मुं:
-document_properties_file_size=फाइलनि महर:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} बाइट)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} बाइट)
-document_properties_title=बिमुं:
-document_properties_author=लिरगिरि:
-document_properties_subject=आयदा:
-document_properties_keywords=गाहाय सोदोब:
-document_properties_creation_date=सोरजिनाय अक्ट':
-document_properties_modification_date=सुद्रायनाय अक्ट':
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=सोरजिग्रा:
-document_properties_producer=PDF दिहुनग्रा:
-document_properties_version=PDF बिसान:
-document_properties_page_count=बिलाइनि हिसाब:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=प'र्ट्रेट
-document_properties_page_size_orientation_landscape=लेण्डस्केप
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=लायजाम
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=नंगौ
-document_properties_linearized_no=नङा
-document_properties_close=बन्द खालाम
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=नेवसि
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=टग्गल साइडबार
-toggle_sidebar_label=टग्गल साइडबार
-document_outline_label=फोरमान बिलाइ सिमा हांखो
-attachments.title=नांजाब होनायखौ दिन्थि
-attachments_label=नांजाब होनाय
-thumbs.title=थामनेइलखौ दिन्थि
-thumbs_label=थामनेइल
-findbar.title=फोरमान बिलाइआव नागिरना दिहुन
-findbar_label=नायगिरना दिहुन
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=बिलाइ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=बिलाइ {{page}} नि थामनेइल
-
-# Find panel button title and messages
-find_input.title=नायगिरना दिहुन
-find_input.placeholder=फोरमान बिलाइआव नागिरना दिहुन...
-find_previous.title=बाथ्रा खोन्दोबनि सिगांनि नुजाथिनायखौ नागिर
-find_previous_label=आगोलनि
-find_next.title=बाथ्रा खोन्दोबनि उननि नुजाथिनायखौ नागिर
-find_next_label=उननि
-find_highlight=गासैखौबो हाइलाइट खालाम
-find_match_case_label=गोरोबनाय केस
-find_reached_top=थालो निफ्राय जागायनानै फोरमान बिलाइनि बिजौआव सौहैबाय
-find_reached_bottom=बिजौ निफ्राय जागायनानै फोरमान बिलाइनि बिजौआव सौहैबाय
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_not_found=बाथ्रा खोन्दोब मोनाखै
-
-# Error panel labels
-error_more_info=गोबां फोरमायथिहोग्रा
-error_less_info=खम फोरमायथिहोग्रा
-error_close=बन्द खालाम
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=खौरां: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=स्टेक: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=सारि: {{line}}
-rendering_error=बिलाइखौ राव सोलायनाय समाव मोनसे गोरोन्थि जादों।
-
-# Predefined zoom values
-page_scale_width=बिलाइनि गुवार
-page_scale_fit=बिलाइ गोरोबनाय
-page_scale_auto=गावनोगाव जुम
-page_scale_actual=थार महर
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=गोरोन्थि
-loading_error=PDF ल'ड खालामनाय समाव मोनसे गोरोन्थि जाबाय।
-invalid_file_error=बाहायजायै एबा गाज्रि जानाय PDF फाइल
-missing_file_error=गोमानाय PDF फाइल
-unexpected_response_error=मिजिंथियै सार्भार फिननाय।
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} सोदोब बेखेवनाय]
-password_label=बे PDF फाइलखौ खेवनो पासवार्ड हाबहो।
-password_invalid=बाहायजायै पासवार्ड। अननानै फिन नाजा।
-password_ok=OK
-password_cancel=नेवसि
-
-printing_not_supported=सांग्रांथि: साफायनाया बे ब्राउजारजों आबुङै हेफाजाब होजाया।
-printing_not_ready=सांग्रांथि: PDF खौ साफायनायनि थाखाय फुरायै ल'ड खालामाखै।
-web_fonts_disabled=वेब फन्टखौ लोरबां खालामबाय: अरजाबहोनाय PDF फन्टखौ बाहायनो हायाखै।
-document_colors_not_allowed=PDF फोरमान बिलाइखौ बिसोरनि निजि गाब बाहायनो गनायथि होनाय जाया: 'बिसोरनि निजि गाब बासिखनो बिलाइखौ गनायथि हो'-खौ ब्राउजारआव लोरबां खालामनाय जायो।
diff --git a/server/target/classes/static/pdfjs/web/locale/bs/viewer.properties b/server/target/classes/static/pdfjs/web/locale/bs/viewer.properties
deleted file mode 100644
index 6c2122b..0000000
--- a/server/target/classes/static/pdfjs/web/locale/bs/viewer.properties
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Prethodna strana
-previous_label=Prethodna
-next.title=Sljedeća strna
-next_label=Sljedeća
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strana
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=od {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} od {{pagesCount}})
-
-zoom_out.title=Umanji
-zoom_out_label=Umanji
-zoom_in.title=Uvećaj
-zoom_in_label=Uvećaj
-zoom.title=Uvećanje
-presentation_mode.title=Prebaci se u prezentacijski režim
-presentation_mode_label=Prezentacijski režim
-open_file.title=Otvori fajl
-open_file_label=Otvori
-print.title=Štampaj
-print_label=Štampaj
-download.title=Preuzmi
-download_label=Preuzmi
-bookmark.title=Trenutni prikaz (kopiraj ili otvori u novom prozoru)
-bookmark_label=Trenutni prikaz
-
-# Secondary toolbar and context menu
-tools.title=Alati
-tools_label=Alati
-first_page.title=Idi na prvu stranu
-first_page.label=Idi na prvu stranu
-first_page_label=Idi na prvu stranu
-last_page.title=Idi na zadnju stranu
-last_page.label=Idi na zadnju stranu
-last_page_label=Idi na zadnju stranu
-page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu
-page_rotate_cw.label=Rotiraj u smjeru kazaljke na satu
-page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu
-page_rotate_ccw.title=Rotiraj suprotno smjeru kazaljke na satu
-page_rotate_ccw.label=Rotiraj suprotno smjeru kazaljke na satu
-page_rotate_ccw_label=Rotiraj suprotno smjeru kazaljke na satu
-
-cursor_text_select_tool.title=Omogući alat za označavanje teksta
-cursor_text_select_tool_label=Alat za označavanje teksta
-cursor_hand_tool.title=Omogući ručni alat
-cursor_hand_tool_label=Ručni alat
-
-# Document properties dialog box
-document_properties.title=Svojstva dokumenta...
-document_properties_label=Svojstva dokumenta...
-document_properties_file_name=Naziv fajla:
-document_properties_file_size=Veličina fajla:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajta)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajta)
-document_properties_title=Naslov:
-document_properties_author=Autor:
-document_properties_subject=Predmet:
-document_properties_keywords=Ključne riječi:
-document_properties_creation_date=Datum kreiranja:
-document_properties_modification_date=Datum promjene:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Kreator:
-document_properties_producer=PDF stvaratelj:
-document_properties_version=PDF verzija:
-document_properties_page_count=Broj stranica:
-document_properties_page_size=Veličina stranice:
-document_properties_page_size_unit_inches=u
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=uspravno
-document_properties_page_size_orientation_landscape=vodoravno
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Pismo
-document_properties_page_size_name_legal=Pravni
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-document_properties_close=Zatvori
-
-print_progress_message=Pripremam dokument za štampu…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Otkaži
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Uključi/isključi bočnu traku
-toggle_sidebar_notification.title=Uključi/isključi sidebar (dokument sadrži outline/priloge)
-toggle_sidebar_label=Uključi/isključi bočnu traku
-document_outline.title=Prikaži outline dokumenta (dvoklik za skupljanje/širenje svih stavki)
-document_outline_label=Konture dokumenta
-attachments.title=Prikaži priloge
-attachments_label=Prilozi
-thumbs.title=Prikaži thumbnailove
-thumbs_label=Thumbnailovi
-findbar.title=Pronađi u dokumentu
-findbar_label=Pronađi
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strana {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail strane {{page}}
-
-# Find panel button title and messages
-find_input.title=Pronađi
-find_input.placeholder=Pronađi u dokumentu…
-find_previous.title=Pronađi prethodno pojavljivanje fraze
-find_previous_label=Prethodno
-find_next.title=Pronađi sljedeće pojavljivanje fraze
-find_next_label=Sljedeće
-find_highlight=Označi sve
-find_match_case_label=Osjetljivost na karaktere
-find_reached_top=Dostigao sam vrh dokumenta, nastavljam sa dna
-find_reached_bottom=Dostigao sam kraj dokumenta, nastavljam sa vrha
-find_not_found=Fraza nije pronađena
-
-# Error panel labels
-error_more_info=Više informacija
-error_less_info=Manje informacija
-error_close=Zatvori
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Poruka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fajl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linija: {{line}}
-rendering_error=Došlo je do greške prilikom renderiranja strane.
-
-# Predefined zoom values
-page_scale_width=Širina strane
-page_scale_fit=Uklopi stranu
-page_scale_auto=Automatsko uvećanje
-page_scale_actual=Stvarna veličina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Greška
-loading_error=Došlo je do greške prilikom učitavanja PDF-a.
-invalid_file_error=Neispravan ili oštećen PDF fajl.
-missing_file_error=Nedostaje PDF fajl.
-unexpected_response_error=Neočekivani odgovor servera.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} pribilješka]
-password_label=Upišite lozinku da biste otvorili ovaj PDF fajl.
-password_invalid=Pogrešna lozinka. Pokušajte ponovo.
-password_ok=OK
-password_cancel=Otkaži
-
-printing_not_supported=Upozorenje: Štampanje nije u potpunosti podržano u ovom browseru.
-printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za štampanje.
-web_fonts_disabled=Web fontovi su onemogućeni: nemoguće koristiti ubačene PDF fontove.
-document_colors_not_allowed=PDF dokumentima nije dozvoljeno da koriste vlastite boje: 'Dozvoli stranicama da izaberu vlastite boje' je deaktivirano u browseru.
diff --git a/server/target/classes/static/pdfjs/web/locale/ca/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ca/viewer.properties
deleted file mode 100644
index 924637a..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ca/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pàgina anterior
-previous_label=Anterior
-next.title=Pàgina següent
-next_label=Següent
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pàgina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Redueix
-zoom_out_label=Redueix
-zoom_in.title=Amplia
-zoom_in_label=Amplia
-zoom.title=Escala
-presentation_mode.title=Canvia al mode de presentació
-presentation_mode_label=Mode de presentació
-open_file.title=Obre el fitxer
-open_file_label=Obre
-print.title=Imprimeix
-print_label=Imprimeix
-download.title=Baixa
-download_label=Baixa
-bookmark.title=Vista actual (copia o obre en una finestra nova)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Eines
-tools_label=Eines
-first_page.title=Vés a la primera pàgina
-first_page.label=Vés a la primera pàgina
-first_page_label=Vés a la primera pàgina
-last_page.title=Vés a l'última pàgina
-last_page.label=Vés a l'última pàgina
-last_page_label=Vés a l'última pàgina
-page_rotate_cw.title=Gira cap a la dreta
-page_rotate_cw.label=Gira cap a la dreta
-page_rotate_cw_label=Gira cap a la dreta
-page_rotate_ccw.title=Gira cap a l'esquerra
-page_rotate_ccw.label=Gira cap a l'esquerra
-page_rotate_ccw_label=Gira cap a l'esquerra
-
-cursor_text_select_tool.title=Habilita l'eina de selecció de text
-cursor_text_select_tool_label=Eina de selecció de text
-cursor_hand_tool.title=Habilita l'eina de mà
-cursor_hand_tool_label=Eina de mà
-
-scroll_vertical.title=Utilitza el desplaçament vertical
-scroll_vertical_label=Desplaçament vertical
-scroll_horizontal.title=Utilitza el desplaçament horitzontal
-scroll_horizontal_label=Desplaçament horitzontal
-scroll_wrapped.title=Activa el desplaçament continu
-scroll_wrapped_label=Desplaçament continu
-
-spread_none.title=No agrupis les pàgines de dues en dues
-spread_none_label=Una sola pàgina
-spread_odd.title=Mostra dues pàgines començant per les pàgines de numeració senar
-spread_odd_label=Doble pàgina (senar)
-spread_even.title=Mostra dues pàgines començant per les pàgines de numeració parell
-spread_even_label=Doble pàgina (parell)
-
-# Document properties dialog box
-document_properties.title=Propietats del document…
-document_properties_label=Propietats del document…
-document_properties_file_name=Nom del fitxer:
-document_properties_file_size=Mida del fitxer:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Títol:
-document_properties_author=Autor:
-document_properties_subject=Assumpte:
-document_properties_keywords=Paraules clau:
-document_properties_creation_date=Data de creació:
-document_properties_modification_date=Data de modificació:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Generador de PDF:
-document_properties_version=Versió de PDF:
-document_properties_page_count=Nombre de pàgines:
-document_properties_page_size=Mida de la pàgina:
-document_properties_page_size_unit_inches=polzades
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=apaïsat
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web ràpida:
-document_properties_linearized_yes=Sí
-document_properties_linearized_no=No
-document_properties_close=Tanca
-
-print_progress_message=S'està preparant la impressió del document…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel·la
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Mostra/amaga la barra lateral
-toggle_sidebar_notification.title=Mostra/amaga la barra lateral (el document conté un esquema o adjuncions)
-toggle_sidebar_label=Mostra/amaga la barra lateral
-document_outline.title=Mostra l'esquema del document (doble clic per ampliar/reduir tots els elements)
-document_outline_label=Contorn del document
-attachments.title=Mostra les adjuncions
-attachments_label=Adjuncions
-thumbs.title=Mostra les miniatures
-thumbs_label=Miniatures
-findbar.title=Cerca al document
-findbar_label=Cerca
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pàgina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pàgina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la pàgina {{page}}
-
-# Find panel button title and messages
-find_input.title=Cerca
-find_input.placeholder=Cerca al document…
-find_previous.title=Cerca l'anterior coincidència de l'expressió
-find_previous_label=Anterior
-find_next.title=Cerca la següent coincidència de l'expressió
-find_next_label=Següent
-find_highlight=Ressalta-ho tot
-find_match_case_label=Distingeix entre majúscules i minúscules
-find_entire_word_label=Paraules senceres
-find_reached_top=S'ha arribat al principi del document, es continua pel final
-find_reached_bottom=S'ha arribat al final del document, es continua pel principi
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidència
-find_match_count[two]={{current}} de {{total}} coincidències
-find_match_count[few]={{current}} de {{total}} coincidències
-find_match_count[many]={{current}} de {{total}} coincidències
-find_match_count[other]={{current}} de {{total}} coincidències
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Més de {{limit}} coincidències
-find_match_count_limit[one]=Més d'{{limit}} coincidència
-find_match_count_limit[two]=Més de {{limit}} coincidències
-find_match_count_limit[few]=Més de {{limit}} coincidències
-find_match_count_limit[many]=Més de {{limit}} coincidències
-find_match_count_limit[other]=Més de {{limit}} coincidències
-find_not_found=No s'ha trobat l'expressió
-
-# Error panel labels
-error_more_info=Més informació
-error_less_info=Menys informació
-error_close=Tanca
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (muntatge: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Missatge: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fitxer: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Línia: {{line}}
-rendering_error=S'ha produït un error mentre es renderitzava la pàgina.
-
-# Predefined zoom values
-page_scale_width=Amplària de la pàgina
-page_scale_fit=Ajusta la pàgina
-page_scale_auto=Zoom automàtic
-page_scale_actual=Mida real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=S'ha produït un error en carregar el PDF.
-invalid_file_error=El fitxer PDF no és vàlid o està malmès.
-missing_file_error=Falta el fitxer PDF.
-unexpected_response_error=Resposta inesperada del servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotació {{type}}]
-password_label=Introduïu la contrasenya per obrir aquest fitxer PDF.
-password_invalid=La contrasenya no és vàlida. Torneu-ho a provar.
-password_ok=D'acord
-password_cancel=Cancel·la
-
-printing_not_supported=Avís: la impressió no és plenament funcional en aquest navegador.
-printing_not_ready=Atenció: el PDF no s'ha acabat de carregar per imprimir-lo.
-web_fonts_disabled=Els tipus de lletra web estan desactivats: no es poden utilitzar els tipus de lletra incrustats al PDF.
-document_colors_not_allowed=Els documents PDF no poden usar els seus colors propis: «Permet a les pàgines triar els colors propis» es troba desactivat al navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/cak/viewer.properties b/server/target/classes/static/pdfjs/web/locale/cak/viewer.properties
deleted file mode 100644
index c105d82..0000000
--- a/server/target/classes/static/pdfjs/web/locale/cak/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Jun kan ruxaq
-previous_label=Chuwäch
-next.title=Jun chik ruxaq
-next_label=Jun chik
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Ruxaq
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=richin {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} richin {{pagesCount}})
-
-zoom_out.title=Tich'utinirisäx
-zoom_out_label=Tich'utinirisäx
-zoom_in.title=Tinimirisäx
-zoom_in_label=Tinimirisäx
-zoom.title=Sum
-presentation_mode.title=Tijal ri rub'anikil niwachin
-presentation_mode_label=Pa rub'eyal niwachin
-open_file.title=Tijaq yakb'äl
-open_file_label=Tijaq
-print.title=Titz'ajb'äx
-print_label=Titz'ajb'äx
-download.title=Tiqasäx
-download_label=Tiqasäx
-bookmark.title=Rutz'etik wakami (tiwachib'ëx o tijaq pa jun k'ak'a' tzuwäch)
-bookmark_label=Rutzub'al wakami
-
-# Secondary toolbar and context menu
-tools.title=Samajib'äl
-tools_label=Samajib'äl
-first_page.title=Tib'e pa nab'ey ruxaq
-first_page.label=Tib'e pa nab'ey ruxaq
-first_page_label=Tib'e pa nab'ey ruxaq
-last_page.title=Tib'e pa ruk'isib'äl ruxaq
-last_page.label=Tib'e pa ruk'isib'äl ruxaq
-last_page_label=Tib'e pa ruk'isib'äl ruxaq
-page_rotate_cw.title=Tisutïx pan ajkiq'a'
-page_rotate_cw.label=Tisutïx pan ajkiq'a'
-page_rotate_cw_label=Tisutïx pan ajkiq'a'
-page_rotate_ccw.title=Tisutïx pan ajxokon
-page_rotate_ccw.label=Tisutïx pan ajxokon
-page_rotate_ccw_label=Tisutïx pan ajxokon
-
-cursor_text_select_tool.title=Titzij ri rusamajib'al Rucha'ik Rucholajem Tzij
-cursor_text_select_tool_label=Rusamajib'al Rucha'ik Rucholajem Tzij
-cursor_hand_tool.title=Titzij ri q'ab'aj samajib'äl
-cursor_hand_tool_label=Q'ab'aj Samajib'äl
-
-scroll_vertical.title=Tokisäx Pa'äl Q'axanem
-scroll_vertical_label=Pa'äl Q'axanem
-scroll_horizontal.title=Tokisäx Kotz'öl Q'axanem
-scroll_horizontal_label=Kotz'öl Q'axanem
-scroll_wrapped.title=Tokisäx Tzub'aj Q'axanem
-scroll_wrapped_label=Tzub'aj Q'axanem
-
-spread_none.title=Man ketun taq ruxaq pa rub'eyal wuj
-spread_none_label=Majun Rub'eyal
-spread_odd.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun man k'ulaj ta rajilab'al
-spread_odd_label=Man K'ulaj Ta Rub'eyal
-spread_even.title=Ke'atunu' ri taq ruxaq rik'in natikirisaj rik'in jun k'ulaj rajilab'al
-spread_even_label=K'ulaj Rub'eyal
-
-# Document properties dialog box
-document_properties.title=Taq richinil wuj…
-document_properties_label=Taq richinil wuj…
-document_properties_file_name=Rub'i' yakb'äl:
-document_properties_file_size=Runimilem yakb'äl:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=B'i'aj:
-document_properties_author=B'anel:
-document_properties_subject=Taqikil:
-document_properties_keywords=Kixe'el taq tzij:
-document_properties_creation_date=Ruq'ijul xtz'uk:
-document_properties_modification_date=Ruq'ijul xjalwachïx:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Q'inonel:
-document_properties_producer=PDF b'anöy:
-document_properties_version=PDF ruwäch:
-document_properties_page_count=Jarupe' ruxaq:
-document_properties_page_size=Runimilem ri Ruxaq:
-document_properties_page_size_unit_inches=pa
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=rupalem
-document_properties_page_size_orientation_landscape=rukotz'olem
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Loman wuj
-document_properties_page_size_name_legal=Nïm wuj
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Anin Rutz'etik Ajk'amaya'l:
-document_properties_linearized_yes=Ja'
-document_properties_linearized_no=Mani
-document_properties_close=Titz'apïx
-
-print_progress_message=Ruchojmirisaxik wuj richin nitz'ajb'äx…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Tiq'at
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Tijal ri ajxikin kajtz'ik
-toggle_sidebar_notification.title=Tik'ex ri ajxikin yuqkajtz'ik (ri wuj eruk'wan taq ruchi'/taqoj taq yakb'äl)
-toggle_sidebar_label=Tijal ri ajxikin kajtz'ik
-document_outline.title=Tik'ut pe ruch'akulal wuj (kamul-pitz'oj richin nirik'/nich'utinirisäx ronojel ruch'akulal)
-document_outline_label=Ruch'akulal wuj
-attachments.title=Kek'ut pe ri taq taqoj
-attachments_label=Taq taqoj
-thumbs.title=Kek'ut pe taq ch'utiq
-thumbs_label=Koköj
-findbar.title=Tikanöx chupam ri wuj
-findbar_label=Tikanöx
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Ruxaq {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Ruxaq {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ruch'utinirisaxik ruxaq {{page}}
-
-# Find panel button title and messages
-find_input.title=Tikanöx
-find_input.placeholder=Tikanöx pa wuj…
-find_previous.title=Tib'an b'enam pa ri jun kan q'aptzij xilitäj
-find_previous_label=Jun kan
-find_next.title=Tib'e pa ri jun chik pajtzij xilitäj
-find_next_label=Jun chik
-find_highlight=Tiya' retal ronojel
-find_match_case_label=Tuk'äm ri' kik'in taq nimatz'ib' chuqa' taq ch'utitz'ib'
-find_entire_word_label=Tz'aqät taq tzij
-find_reached_top=Xb'eq'i' ri rutikirib'al wuj, xtikanöx k'a pa ruk'isib'äl
-find_reached_bottom=Xb'eq'i' ri ruk'isib'äl wuj, xtikanöx pa rutikirib'al
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} richin {{total}} nuk'äm ri'
-find_match_count[two]={{current}} richin {{total}} nikik'äm ki'
-find_match_count[few]={{current}} richin {{total}} nikik'äm ki'
-find_match_count[many]={{current}} richin {{total}} nikik'äm ki'
-find_match_count[other]={{current}} richin {{total}} nikik'äm ki'
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[one]=K'ïy chi re {{limit}} nuk'äm ri'
-find_match_count_limit[two]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[few]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[many]=K'ïy chi re {{limit}} nikik'äm ki'
-find_match_count_limit[other]=K'ïy chi re {{limit}} nikik'äm ki'
-find_not_found=Man xilitäj ta ri pajtzij
-
-# Error panel labels
-error_more_info=Ch'aqa' chik rutzijol
-error_less_info=Jub'a' ok rutzijol
-error_close=Titz'apïx
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Uqxa'n: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Tzub'aj: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Yakb'äl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=B'ey: {{line}}
-rendering_error=Xk'ulwachitäj jun sachoj toq ninuk'wachij ri ruxaq.
-
-# Predefined zoom values
-page_scale_width=Ruwa ruxaq
-page_scale_fit=Tinuk' ruxaq
-page_scale_auto=Yonil chi nimilem
-page_scale_actual=Runimilem
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Sachoj
-loading_error=\u0020Xk'ulwachitäj jun sach'oj toq xnuk'ux ri PDF .
-invalid_file_error=Man oke ta o yujtajinäq ri PDF yakb'äl.
-missing_file_error=Man xilitäj ta ri PDF yakb'äl.
-unexpected_response_error=Man oyob'en ta tz'olin rutzij ruk'u'x samaj.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Tz'ib'anïk]
-password_label=Tatz'ib'aj ri ewan tzij richin najäq re yakb'äl re' pa PDF.
-password_invalid=Man okel ta ri ewan tzij: Tatojtob'ej chik.
-password_ok=Ütz
-password_cancel=Tiq'at
-
-printing_not_supported=Rutzijol k'ayewal: Ri rutz'ajb'axik man koch'el ta ronojel pa re okik'amaya'l re'.
-printing_not_ready=Rutzijol k'ayewal: Ri PDF man xusamajij ta ronojel richin nitz'ajb'äx.
-web_fonts_disabled=E chupül ri taq ajk'amaya'l tz'ib': man tikirel ta nokisäx ri taq tz'ib' PDF pa ch'ikenïk
-document_colors_not_allowed=Ri taq wuj pa PDF man ya'on ta q'ij chi ke richin nikokisaj ri taq kib'onil: “Tiya' q'ij chi ke ri taq ruxaq chi kekicha' ri taq kib'onil” chupun pa ri awokik'amaya'l.
diff --git a/server/target/classes/static/pdfjs/web/locale/cs/viewer.properties b/server/target/classes/static/pdfjs/web/locale/cs/viewer.properties
deleted file mode 100644
index 6310f63..0000000
--- a/server/target/classes/static/pdfjs/web/locale/cs/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Přejde na předchozí stránku
-previous_label=Předchozí
-next.title=Přejde na následující stránku
-next_label=Další
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Stránka
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Zmenší velikost
-zoom_out_label=Zmenšit
-zoom_in.title=Zvětší velikost
-zoom_in_label=Zvětšit
-zoom.title=Nastaví velikost
-presentation_mode.title=Přepne do režimu prezentace
-presentation_mode_label=Režim prezentace
-open_file.title=Otevře soubor
-open_file_label=Otevřít
-print.title=Vytiskne dokument
-print_label=Vytisknout
-download.title=Stáhne dokument
-download_label=Stáhnout
-bookmark.title=Současný pohled (kopírovat nebo otevřít v novém okně)
-bookmark_label=Současný pohled
-
-# Secondary toolbar and context menu
-tools.title=Nástroje
-tools_label=Nástroje
-first_page.title=Přejde na první stránku
-first_page.label=Přejít na první stránku
-first_page_label=Přejít na první stránku
-last_page.title=Přejde na poslední stránku
-last_page.label=Přejít na poslední stránku
-last_page_label=Přejít na poslední stránku
-page_rotate_cw.title=Otočí po směru hodin
-page_rotate_cw.label=Otočit po směru hodin
-page_rotate_cw_label=Otočit po směru hodin
-page_rotate_ccw.title=Otočí proti směru hodin
-page_rotate_ccw.label=Otočit proti směru hodin
-page_rotate_ccw_label=Otočit proti směru hodin
-
-cursor_text_select_tool.title=Povolí výběr textu
-cursor_text_select_tool_label=Výběr textu
-cursor_hand_tool.title=Povolí nástroj ručička
-cursor_hand_tool_label=Nástroj ručička
-
-scroll_vertical.title=Použít svislé posouvání
-scroll_vertical_label=Svislé posouvání
-scroll_horizontal.title=Použít vodorovné posouvání
-scroll_horizontal_label=Vodorovné posouvání
-scroll_wrapped.title=Použít postupné posouvání
-scroll_wrapped_label=Postupné posouvání
-
-spread_none.title=Nesdružovat stránky
-spread_none_label=Žádné sdružení
-spread_odd.title=Sdruží stránky s umístěním lichých vlevo
-spread_odd_label=Sdružení stránek (liché vlevo)
-spread_even.title=Sdruží stránky s umístěním sudých vlevo
-spread_even_label=Sdružení stránek (sudé vlevo)
-
-# Document properties dialog box
-document_properties.title=Vlastnosti dokumentu…
-document_properties_label=Vlastnosti dokumentu…
-document_properties_file_name=Název souboru:
-document_properties_file_size=Velikost souboru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtů)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtů)
-document_properties_title=Název stránky:
-document_properties_author=Autor:
-document_properties_subject=Předmět:
-document_properties_keywords=Klíčová slova:
-document_properties_creation_date=Datum vytvoření:
-document_properties_modification_date=Datum úpravy:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Vytvořil:
-document_properties_producer=Tvůrce PDF:
-document_properties_version=Verze PDF:
-document_properties_page_count=Počet stránek:
-document_properties_page_size=Velikost stránky:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=na výšku
-document_properties_page_size_orientation_landscape=na šířku
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Dopis
-document_properties_page_size_name_legal=Právní dokument
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rychlé zobrazování z webu:
-document_properties_linearized_yes=Ano
-document_properties_linearized_no=Ne
-document_properties_close=Zavřít
-
-print_progress_message=Příprava dokumentu pro tisk…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Zrušit
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Postranní lišta
-toggle_sidebar_notification.title=Přepne postranní lištu (dokument obsahuje osnovu/přílohy)
-toggle_sidebar_label=Postranní lišta
-document_outline.title=Zobrazí osnovu dokumentu (dvojité klepnutí rozbalí/sbalí všechny položky)
-document_outline_label=Osnova dokumentu
-attachments.title=Zobrazí přílohy
-attachments_label=Přílohy
-thumbs.title=Zobrazí náhledy
-thumbs_label=Náhledy
-findbar.title=Najde v dokumentu
-findbar_label=Najít
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Strana {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strana {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Náhled strany {{page}}
-
-# Find panel button title and messages
-find_input.title=Najít
-find_input.placeholder=Najít v dokumentu…
-find_previous.title=Najde předchozí výskyt hledaného textu
-find_previous_label=Předchozí
-find_next.title=Najde další výskyt hledaného textu
-find_next_label=Další
-find_highlight=Zvýraznit
-find_match_case_label=Rozlišovat velikost
-find_entire_word_label=Celá slova
-find_reached_top=Dosažen začátek dokumentu, pokračuje se od konce
-find_reached_bottom=Dosažen konec dokumentu, pokračuje se od začátku
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}}. z {{total}} výskytu
-find_match_count[two]={{current}}. z {{total}} výskytů
-find_match_count[few]={{current}}. z {{total}} výskytů
-find_match_count[many]={{current}}. z {{total}} výskytů
-find_match_count[other]={{current}}. z {{total}} výskytů
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Více než {{limit}} výskytů
-find_match_count_limit[one]=Více než {{limit}} výskyt
-find_match_count_limit[two]=Více než {{limit}} výskyty
-find_match_count_limit[few]=Více než {{limit}} výskyty
-find_match_count_limit[many]=Více než {{limit}} výskytů
-find_match_count_limit[other]=Více než {{limit}} výskytů
-find_not_found=Hledaný text nenalezen
-
-# Error panel labels
-error_more_info=Více informací
-error_less_info=Méně informací
-error_close=Zavřít
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (sestavení: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Zpráva: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Zásobník: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Soubor: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Řádek: {{line}}
-rendering_error=Při vykreslování stránky nastala chyba.
-
-# Predefined zoom values
-page_scale_width=Podle šířky
-page_scale_fit=Podle výšky
-page_scale_auto=Automatická velikost
-page_scale_actual=Skutečná velikost
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Chyba
-loading_error=Při nahrávání PDF nastala chyba.
-invalid_file_error=Neplatný nebo chybný soubor PDF.
-missing_file_error=Chybí soubor PDF.
-unexpected_response_error=Neočekávaná odpověď serveru.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotace typu {{type}}]
-password_label=Pro otevření PDF souboru vložte heslo.
-password_invalid=Neplatné heslo. Zkuste to znovu.
-password_ok=OK
-password_cancel=Zrušit
-
-printing_not_supported=Upozornění: Tisk není v tomto prohlížeči plně podporován.
-printing_not_ready=Upozornění: Dokument PDF není kompletně načten.
-web_fonts_disabled=Webová písma jsou zakázána, proto není možné použít vložená písma PDF.
-document_colors_not_allowed=PDF dokumenty nemají povoleno používat vlastní barvy: volba 'Povolit stránkám používat vlastní barvy' je v prohlížeči deaktivována.
diff --git a/server/target/classes/static/pdfjs/web/locale/cy/viewer.properties b/server/target/classes/static/pdfjs/web/locale/cy/viewer.properties
deleted file mode 100644
index dc4fb2e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/cy/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Tudalen Flaenorol
-previous_label=Blaenorol
-next.title=Tudalen Nesaf
-next_label=Nesaf
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Tudalen
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=o {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} o {{pagesCount}})
-
-zoom_out.title=Chwyddo Allan
-zoom_out_label=Chwyddo Allan
-zoom_in.title=Chwyddo Mewn
-zoom_in_label=Chwyddo Mewn
-zoom.title=Chwyddo
-presentation_mode.title=Newid i'r Modd Cyflwyno
-presentation_mode_label=Modd Cyflwyno
-open_file.title=Agor Ffeil
-open_file_label=Agor
-print.title=Argraffu
-print_label=Argraffu
-download.title=Llwyth
-download_label=Llwytho i Lawr
-bookmark.title=Golwg cyfredol (copïo neu agor ffenestr newydd)
-bookmark_label=Golwg Gyfredol
-
-# Secondary toolbar and context menu
-tools.title=Offer
-tools_label=Offer
-first_page.title=Mynd i'r Dudalen Gyntaf
-first_page.label=Mynd i'r Dudalen Gyntaf
-first_page_label=Mynd i'r Dudalen Gyntaf
-last_page.title=Mynd i'r Dudalen Olaf
-last_page.label=Mynd i'r Dudalen Olaf
-last_page_label=Mynd i'r Dudalen Olaf
-page_rotate_cw.title=Cylchdroi Clocwedd
-page_rotate_cw.label=Cylchdroi Clocwedd
-page_rotate_cw_label=Cylchdroi Clocwedd
-page_rotate_ccw.title=Cylchdroi Gwrthglocwedd
-page_rotate_ccw.label=Cylchdroi Gwrthglocwedd
-page_rotate_ccw_label=Cylchdroi Gwrthglocwedd
-
-cursor_text_select_tool.title=Galluogi Dewis Offeryn Testun
-cursor_text_select_tool_label=Offeryn Dewis Testun
-cursor_hand_tool.title=Galluogi Offeryn Llaw
-cursor_hand_tool_label=Offeryn Llaw
-
-scroll_vertical.title=Defnyddio Sgrolio Fertigol
-scroll_vertical_label=Sgrolio Fertigol
-scroll_horizontal.title=Defnyddio Sgrolio Fertigol
-scroll_horizontal_label=Sgrolio Fertigol
-scroll_wrapped.title=Defnyddio Sgrolio Amlapio
-scroll_wrapped_label=Sgrolio Amlapio
-
-spread_none.title=Peidio uno taeniadau canol
-spread_none_label=Dim Taeniadau
-spread_odd.title=Uno taeniadau tudalen yn cychwyn gyda thudalennau odrif
-spread_odd_label=Taeniadau Odrifau
-spread_even.title=Uno taeniadau tudalen yn cychwyn gyda thudalennau eilrif
-spread_even_label=Taeniadau Eilrif
-
-# Document properties dialog box
-document_properties.title=Priodweddau Dogfen…
-document_properties_label=Priodweddau Dogfen…
-document_properties_file_name=Enw ffeil:
-document_properties_file_size=Maint ffeil:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} beit)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} beit)
-document_properties_title=Teitl:
-document_properties_author=Awdur:
-document_properties_subject=Pwnc:
-document_properties_keywords=Allweddair:
-document_properties_creation_date=Dyddiad Creu:
-document_properties_modification_date=Dyddiad Addasu:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Crewr:
-document_properties_producer=Cynhyrchydd PDF:
-document_properties_version=Fersiwn PDF:
-document_properties_page_count=Cyfrif Tudalen:
-document_properties_page_size=Maint Tudalen:
-document_properties_page_size_unit_inches=o fewn
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portread
-document_properties_page_size_orientation_landscape=tirlun
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Llythyr
-document_properties_page_size_name_legal=Cyfreithiol
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Golwg Gwe Cyflym:
-document_properties_linearized_yes=Iawn
-document_properties_linearized_no=Na
-document_properties_close=Cau
-
-print_progress_message=Paratoi dogfen ar gyfer ei hargraffu…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Diddymu
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toglo'r Bar Ochr
-toggle_sidebar_notification.title=Toglo'r Bar Ochr (mae'r ddogfen yn cynnwys outline/attachments)
-toggle_sidebar_label=Toglo'r Bar Ochr
-document_outline.title=Dangos Amlinell Dogfen (clic dwbl i ymestyn/cau pob eitem)
-document_outline_label=Amlinelliad Dogfen
-attachments.title=Dangos Atodiadau
-attachments_label=Atodiadau
-thumbs.title=Dangos Lluniau Bach
-thumbs_label=Lluniau Bach
-findbar.title=Canfod yn y Ddogfen
-findbar_label=Canfod
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Tudalen {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Tudalen {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Llun Bach Tudalen {{page}}
-
-# Find panel button title and messages
-find_input.title=Canfod
-find_input.placeholder=Canfod yn y ddogfen…
-find_previous.title=Canfod enghraifft flaenorol o'r ymadrodd
-find_previous_label=Blaenorol
-find_next.title=Canfod enghraifft nesaf yr ymadrodd
-find_next_label=Nesaf
-find_highlight=Amlygu popeth
-find_match_case_label=Cydweddu maint
-find_entire_word_label=Geiriau cyfan
-find_reached_top=Wedi cyrraedd brig y dudalen, parhau o'r gwaelod
-find_reached_bottom=Wedi cyrraedd diwedd y dudalen, parhau o'r brig
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} o {{total}} cydweddiad
-find_match_count[two]={{current}} o {{total}} cydweddiad
-find_match_count[few]={{current}} o {{total}} cydweddiad
-find_match_count[many]={{current}} o {{total}} cydweddiad
-find_match_count[other]={{current}} o {{total}} cydweddiad
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[one]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[two]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[few]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[many]=Mwy na {{limit}} cydweddiad
-find_match_count_limit[other]=Mwy na {{limit}} cydweddiad
-find_not_found=Heb ganfod ymadrodd
-
-# Error panel labels
-error_more_info=Rhagor o Wybodaeth
-error_less_info=Llai o wybodaeth
-error_close=Cau
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Neges: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stac: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ffeil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Llinell: {{line}}
-rendering_error=Digwyddodd gwall wrth adeiladu'r dudalen.
-
-# Predefined zoom values
-page_scale_width=Lled Tudalen
-page_scale_fit=Ffit Tudalen
-page_scale_auto=Chwyddo Awtomatig
-page_scale_actual=Maint Gwirioneddol
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Gwall
-loading_error=Digwyddodd gwall wrth lwytho'r PDF.
-invalid_file_error=Ffeil PDF annilys neu llwgr.
-missing_file_error=Ffeil PDF coll.
-unexpected_response_error=Ymateb annisgwyl gan y gweinydd.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anodiad {{type}} ]
-password_label=Rhowch gyfrinair i agor y PDF.
-password_invalid=Cyfrinair annilys. Ceisiwch eto.
-password_ok=Iawn
-password_cancel=Diddymu
-
-printing_not_supported=Rhybudd: Nid yw argraffu yn cael ei gynnal yn llawn gan y porwr.
-printing_not_ready=Rhybudd: Nid yw'r PDF wedi ei lwytho'n llawn ar gyfer argraffu.
-web_fonts_disabled=Ffontiau gwe wedi eu hanalluogi: methu defnyddio ffontiau PDF mewnblanedig.
-document_colors_not_allowed=Nid oes caniatâd i ddogfennau PDF i ddefnyddio eu lliwiau eu hunain: Mae “Caniatáu i dudalennau ddefnyddio eu lliwiau eu hunain” wedi ei atal yn y porwr.
diff --git a/server/target/classes/static/pdfjs/web/locale/da/viewer.properties b/server/target/classes/static/pdfjs/web/locale/da/viewer.properties
deleted file mode 100644
index 4f05fd9..0000000
--- a/server/target/classes/static/pdfjs/web/locale/da/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Forrige side
-previous_label=Forrige
-next.title=Næste side
-next_label=Næste
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=af {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} af {{pagesCount}})
-
-zoom_out.title=Zoom ud
-zoom_out_label=Zoom ud
-zoom_in.title=Zoom ind
-zoom_in_label=Zoom ind
-zoom.title=Zoom
-print.title=Udskriv
-print_label=Udskriv
-presentation_mode.title=Skift til fuldskærmsvisning
-presentation_mode_label=Fuldskærmsvisning
-open_file.title=Åbn fil
-open_file_label=Åbn
-download.title=Hent
-download_label=Hent
-bookmark.title=Aktuel visning (kopier eller åbn i et nyt vindue)
-bookmark_label=Aktuel visning
-
-# Secondary toolbar and context menu
-tools.title=Funktioner
-tools_label=Funktioner
-first_page.title=Gå til første side
-first_page.label=Gå til første side
-first_page_label=Gå til første side
-last_page.title=Gå til sidste side
-last_page.label=Gå til sidste side
-last_page_label=Gå til sidste side
-page_rotate_cw.title=Roter med uret
-page_rotate_cw.label=Roter med uret
-page_rotate_cw_label=Roter med uret
-page_rotate_ccw.title=Roter mod uret
-page_rotate_ccw.label=Roter mod uret
-page_rotate_ccw_label=Roter mod uret
-
-cursor_text_select_tool.title=Aktiver markeringsværktøj
-cursor_text_select_tool_label=Markeringsværktøj
-cursor_hand_tool.title=Aktiver håndværktøj
-cursor_hand_tool_label=Håndværktøj
-
-scroll_vertical.title=Brug vertikal scrolling
-scroll_vertical_label=Vertikal scrolling
-scroll_horizontal.title=Brug horisontal scrolling
-scroll_horizontal_label=Horisontal scrolling
-scroll_wrapped.title=Brug ombrudt scrolling
-scroll_wrapped_label=Ombrudt scrolling
-
-spread_none.title=Vis enkeltsider
-spread_none_label=Enkeltsider
-spread_odd.title=Vis opslag med ulige sidenumre til venstre
-spread_odd_label=Opslag med forside
-spread_even.title=Vis opslag med lige sidenumre til venstre
-spread_even_label=Opslag uden forside
-
-# Document properties dialog box
-document_properties.title=Dokumentegenskaber…
-document_properties_label=Dokumentegenskaber…
-document_properties_file_name=Filnavn:
-document_properties_file_size=Filstørrelse:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Forfatter:
-document_properties_subject=Emne:
-document_properties_keywords=Nøgleord:
-document_properties_creation_date=Oprettet:
-document_properties_modification_date=Redigeret:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Program:
-document_properties_producer=PDF-producent:
-document_properties_version=PDF-version:
-document_properties_page_count=Antal sider:
-document_properties_page_size=Sidestørrelse:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=stående
-document_properties_page_size_orientation_landscape=liggende
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hurtig web-visning:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nej
-document_properties_close=Luk
-
-print_progress_message=Forbereder dokument til udskrivning…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Annuller
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Slå sidepanel til eller fra
-toggle_sidebar_notification.title=Slå sidepanel til eller fra (dokumentet indeholder disposition/vedhæftede filer)
-toggle_sidebar_label=Slå sidepanel til eller fra
-document_outline.title=Vis dokumentets disposition (dobbeltklik for at vise/skjule alle elementer)
-document_outline_label=Dokument-disposition
-attachments.title=Vis vedhæftede filer
-attachments_label=Vedhæftede filer
-thumbs.title=Vis miniaturer
-thumbs_label=Miniaturer
-findbar.title=Find i dokument
-findbar_label=Find
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniature af side {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find i dokument…
-find_previous.title=Find den forrige forekomst
-find_previous_label=Forrige
-find_next.title=Find den næste forekomst
-find_next_label=Næste
-find_highlight=Fremhæv alle
-find_match_case_label=Forskel på store og små bogstaver
-find_entire_word_label=Hele ord
-find_reached_top=Toppen af siden blev nået, fortsatte fra bunden
-find_reached_bottom=Bunden af siden blev nået, fortsatte fra toppen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} af {{total}} forekomst
-find_match_count[two]={{current}} af {{total}} forekomster
-find_match_count[few]={{current}} af {{total}} forekomster
-find_match_count[many]={{current}} af {{total}} forekomster
-find_match_count[other]={{current}} af {{total}} forekomster
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mere end {{limit}} forekomster
-find_match_count_limit[one]=Mere end {{limit}} forekomst
-find_match_count_limit[two]=Mere end {{limit}} forekomster
-find_match_count_limit[few]=Mere end {{limit}} forekomster
-find_match_count_limit[many]=Mere end {{limit}} forekomster
-find_match_count_limit[other]=Mere end {{limit}} forekomster
-find_not_found=Der blev ikke fundet noget
-
-# Error panel labels
-error_more_info=Mere information
-error_less_info=Mindre information
-error_close=Luk
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Fejlmeddelelse: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linje: {{line}}
-rendering_error=Der opstod en fejl ved generering af siden.
-
-# Predefined zoom values
-page_scale_width=Sidebredde
-page_scale_fit=Tilpas til side
-page_scale_auto=Automatisk zoom
-page_scale_actual=Faktisk størrelse
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Fejl
-loading_error=Der opstod en fejl ved indlæsning af PDF-filen.
-invalid_file_error=PDF-filen er ugyldig eller ødelagt.
-missing_file_error=Manglende PDF-fil.
-unexpected_response_error=Uventet svar fra serveren.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}kommentar]
-password_label=Angiv adgangskode til at åbne denne PDF-fil.
-password_invalid=Ugyldig adgangskode. Prøv igen.
-password_ok=OK
-password_cancel=Fortryd
-
-printing_not_supported=Advarsel: Udskrivning er ikke fuldt understøttet af browseren.
-printing_not_ready=Advarsel: PDF-filen er ikke fuldt indlæst til udskrivning.
-web_fonts_disabled=Webskrifttyper er deaktiverede. De indlejrede skrifttyper i PDF-filen kan ikke anvendes.
-document_colors_not_allowed=PDF-dokumenter må ikke bruge deres egne farver: 'Tillad sider at vælge deres egne farver' er deaktiveret i browseren.
diff --git a/server/target/classes/static/pdfjs/web/locale/de/viewer.properties b/server/target/classes/static/pdfjs/web/locale/de/viewer.properties
deleted file mode 100644
index 84240bb..0000000
--- a/server/target/classes/static/pdfjs/web/locale/de/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Eine Seite zurück
-previous_label=Zurück
-next.title=Eine Seite vor
-next_label=Vor
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Seite
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=von {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} von {{pagesCount}})
-
-zoom_out.title=Verkleinern
-zoom_out_label=Verkleinern
-zoom_in.title=Vergrößern
-zoom_in_label=Vergrößern
-zoom.title=Zoom
-presentation_mode.title=In Präsentationsmodus wechseln
-presentation_mode_label=Präsentationsmodus
-open_file.title=Datei öffnen
-open_file_label=Öffnen
-print.title=Drucken
-print_label=Drucken
-download.title=Dokument speichern
-download_label=Speichern
-bookmark.title=Aktuelle Ansicht (zum Kopieren oder Öffnen in einem neuen Fenster)
-bookmark_label=Aktuelle Ansicht
-
-# Secondary toolbar and context menu
-tools.title=Werkzeuge
-tools_label=Werkzeuge
-first_page.title=Erste Seite anzeigen
-first_page.label=Erste Seite anzeigen
-first_page_label=Erste Seite anzeigen
-last_page.title=Letzte Seite anzeigen
-last_page.label=Letzte Seite anzeigen
-last_page_label=Letzte Seite anzeigen
-page_rotate_cw.title=Im Uhrzeigersinn drehen
-page_rotate_cw.label=Im Uhrzeigersinn drehen
-page_rotate_cw_label=Im Uhrzeigersinn drehen
-page_rotate_ccw.title=Gegen Uhrzeigersinn drehen
-page_rotate_ccw.label=Gegen Uhrzeigersinn drehen
-page_rotate_ccw_label=Gegen Uhrzeigersinn drehen
-
-cursor_text_select_tool.title=Textauswahl-Werkzeug aktivieren
-cursor_text_select_tool_label=Textauswahl-Werkzeug
-cursor_hand_tool.title=Hand-Werkzeug aktivieren
-cursor_hand_tool_label=Hand-Werkzeug
-
-scroll_vertical.title=Seiten übereinander anordnen
-scroll_vertical_label=Vertikale Seitenanordnung
-scroll_horizontal.title=Seiten nebeneinander anordnen
-scroll_horizontal_label=Horizontale Seitenanordnung
-scroll_wrapped.title=Seiten neben- und übereinander anordnen, anhängig vom Platz
-scroll_wrapped_label=Kombinierte Seitenanordnung
-
-spread_none.title=Seiten nicht nebeneinander anzeigen
-spread_none_label=Einzelne Seiten
-spread_odd.title=Jeweils eine ungerade und eine gerade Seite nebeneinander anzeigen
-spread_odd_label=Ungerade + gerade Seite
-spread_even.title=Jeweils eine gerade und eine ungerade Seite nebeneinander anzeigen
-spread_even_label=Gerade + ungerade Seite
-
-# Document properties dialog box
-document_properties.title=Dokumenteigenschaften
-document_properties_label=Dokumenteigenschaften…
-document_properties_file_name=Dateiname:
-document_properties_file_size=Dateigröße:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} Bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} Bytes)
-document_properties_title=Titel:
-document_properties_author=Autor:
-document_properties_subject=Thema:
-document_properties_keywords=Stichwörter:
-document_properties_creation_date=Erstelldatum:
-document_properties_modification_date=Bearbeitungsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Anwendung:
-document_properties_producer=PDF erstellt mit:
-document_properties_version=PDF-Version:
-document_properties_page_count=Seitenzahl:
-document_properties_page_size=Seitengröße:
-document_properties_page_size_unit_inches=Zoll
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Hochformat
-document_properties_page_size_orientation_landscape=Querformat
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Schnelle Webanzeige:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nein
-document_properties_close=Schließen
-
-print_progress_message=Dokument wird für Drucken vorbereitet…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Abbrechen
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sidebar umschalten
-toggle_sidebar_notification.title=Sidebar umschalten (Dokument enthält Dokumentstruktur/Anhänge)
-toggle_sidebar_label=Sidebar umschalten
-document_outline.title=Dokumentstruktur anzeigen (Doppelklicken, um alle Einträge aus- bzw. einzuklappen)
-document_outline_label=Dokumentstruktur
-attachments.title=Anhänge anzeigen
-attachments_label=Anhänge
-thumbs.title=Miniaturansichten anzeigen
-thumbs_label=Miniaturansichten
-findbar.title=Dokument durchsuchen
-findbar_label=Suchen
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Seite {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Seite {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniaturansicht von Seite {{page}}
-
-# Find panel button title and messages
-find_input.title=Suchen
-find_input.placeholder=Im Dokument suchen…
-find_previous.title=Vorheriges Vorkommen des Suchbegriffs finden
-find_previous_label=Zurück
-find_next.title=Nächstes Vorkommen des Suchbegriffs finden
-find_next_label=Weiter
-find_highlight=Alle hervorheben
-find_match_case_label=Groß-/Kleinschreibung beachten
-find_entire_word_label=Ganze Wörter
-find_reached_top=Anfang des Dokuments erreicht, fahre am Ende fort
-find_reached_bottom=Ende des Dokuments erreicht, fahre am Anfang fort
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} von {{total}} Übereinstimmung
-find_match_count[two]={{current}} von {{total}} Übereinstimmungen
-find_match_count[few]={{current}} von {{total}} Übereinstimmungen
-find_match_count[many]={{current}} von {{total}} Übereinstimmungen
-find_match_count[other]={{current}} von {{total}} Übereinstimmungen
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[one]=Mehr als {{limit}} Übereinstimmung
-find_match_count_limit[two]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[few]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[many]=Mehr als {{limit}} Übereinstimmungen
-find_match_count_limit[other]=Mehr als {{limit}} Übereinstimmungen
-find_not_found=Suchbegriff nicht gefunden
-
-# Error panel labels
-error_more_info=Mehr Informationen
-error_less_info=Weniger Informationen
-error_close=Schließen
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js Version {{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Nachricht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Aufrufliste: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datei: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Zeile: {{line}}
-rendering_error=Beim Darstellen der Seite trat ein Fehler auf.
-
-# Predefined zoom values
-page_scale_width=Seitenbreite
-page_scale_fit=Seitengröße
-page_scale_auto=Automatischer Zoom
-page_scale_actual=Originalgröße
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Fehler
-loading_error=Beim Laden der PDF-Datei trat ein Fehler auf.
-invalid_file_error=Ungültige oder beschädigte PDF-Datei
-missing_file_error=Fehlende PDF-Datei
-unexpected_response_error=Unerwartete Antwort des Servers
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anlage: {{type}}]
-password_label=Geben Sie zum Öffnen der PDF-Datei deren Passwort ein.
-password_invalid=Falsches Passwort. Bitte versuchen Sie es erneut.
-password_ok=OK
-password_cancel=Abbrechen
-
-printing_not_supported=Warnung: Die Drucken-Funktion wird durch diesen Browser nicht vollständig unterstützt.
-printing_not_ready=Warnung: Die PDF-Datei ist nicht vollständig geladen, dies ist für das Drucken aber empfohlen.
-web_fonts_disabled=Web-Schriftarten sind deaktiviert: Eingebettete PDF-Schriftarten konnten nicht geladen werden.
-document_colors_not_allowed=PDF-Dokumenten ist es nicht erlaubt, ihre eigenen Farben zu verwenden: 'Seiten das Verwenden von eigenen Farben erlauben' ist im Browser deaktiviert.
diff --git a/server/target/classes/static/pdfjs/web/locale/dsb/viewer.properties b/server/target/classes/static/pdfjs/web/locale/dsb/viewer.properties
deleted file mode 100644
index eb567ec..0000000
--- a/server/target/classes/static/pdfjs/web/locale/dsb/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pjerwjejšny bok
-previous_label=Slědk
-next.title=Pśiducy bok
-next_label=Dalej
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Bok
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Pómjeńšyś
-zoom_out_label=Pómjeńšyś
-zoom_in.title=Pówětšyś
-zoom_in_label=Pówětšyś
-zoom.title=Skalěrowanje
-presentation_mode.title=Do prezentaciskego modusa pśejś
-presentation_mode_label=Prezentaciski modus
-open_file.title=Dataju wócyniś
-open_file_label=Wócyniś
-print.title=Śišćaś
-print_label=Śišćaś
-download.title=Ześěgnuś
-download_label=Ześěgnuś
-bookmark.title=Aktualny naglěd (kopěrowaś abo w nowem woknje wócyniś)
-bookmark_label=Aktualny naglěd
-
-# Secondary toolbar and context menu
-tools.title=Rědy
-tools_label=Rědy
-first_page.title=K prědnemu bokoju
-first_page.label=K prědnemu bokoju
-first_page_label=K prědnemu bokoju
-last_page.title=K slědnemu bokoju
-last_page.label=K slědnemu bokoju
-last_page_label=K slědnemu bokoju
-page_rotate_cw.title=Wobwjertnuś ako špěra źo
-page_rotate_cw.label=Wobwjertnuś ako špěra źo
-page_rotate_cw_label=Wobwjertnuś ako špěra źo
-page_rotate_ccw.title=Wobwjertnuś nawopaki ako špěra źo
-page_rotate_ccw.label=Wobwjertnuś nawopaki ako špěra źo
-page_rotate_ccw_label=Wobwjertnuś nawopaki ako špěra źo
-
-cursor_text_select_tool.title=Rěd za wuběranje teksta zmóžniś
-cursor_text_select_tool_label=Rěd za wuběranje teksta
-cursor_hand_tool.title=Rucny rěd zmóžniś
-cursor_hand_tool_label=Rucny rěd
-
-scroll_vertical.title=Wertikalne suwanje wužywaś
-scroll_vertical_label=Wertikalnje suwanje
-scroll_horizontal.title=Horicontalne suwanje wužywaś
-scroll_horizontal_label=Horicontalne suwanje
-scroll_wrapped.title=Pózlažke suwanje wužywaś
-scroll_wrapped_label=Pózlažke suwanje
-
-spread_none.title=Boki njezwězaś
-spread_none_label=Žeden dwójny bok
-spread_odd.title=Boki zachopinajucy z njerownymi bokami zwězaś
-spread_odd_label=Njerowne boki
-spread_even.title=Boki zachopinajucy z rownymi bokami zwězaś
-spread_even_label=Rowne boki
-
-# Document properties dialog box
-document_properties.title=Dokumentowe kakosći…
-document_properties_label=Dokumentowe kakosći…
-document_properties_file_name=Mě dataje:
-document_properties_file_size=Wjelikosć dataje:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtow)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtow)
-document_properties_title=Titel:
-document_properties_author=Awtor:
-document_properties_subject=Tema:
-document_properties_keywords=Klucowe słowa:
-document_properties_creation_date=Datum napóranja:
-document_properties_modification_date=Datum změny:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Awtor:
-document_properties_producer=PDF-gótowaŕ:
-document_properties_version=PDF-wersija:
-document_properties_page_count=Licba bokow:
-document_properties_page_size=Wjelikosć boka:
-document_properties_page_size_unit_inches=col
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=wusoki format
-document_properties_page_size_orientation_landscape=prěcny format
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Jo
-document_properties_linearized_no=Ně
-document_properties_close=Zacyniś
-
-print_progress_message=Dokument pśigótujo se za śišćanje…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Pśetergnuś
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Bócnicu pokazaś/schowaś
-toggle_sidebar_notification.title=Bocnicu pśešaltowaś (dokument wopśimujo pśeglěd/pśipiski)
-toggle_sidebar_label=Bócnicu pokazaś/schowaś
-document_outline.title=Dokumentowe naraźenje pokazaś (dwójne kliknjenje, aby se wšykne zapiski pokazali/schowali)
-document_outline_label=Dokumentowa struktura
-attachments.title=Pśidanki pokazaś
-attachments_label=Pśidanki
-thumbs.title=Miniatury pokazaś
-thumbs_label=Miniatury
-findbar.title=W dokumenśe pytaś
-findbar_label=Pytaś
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Bok {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Bok {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura boka {{page}}
-
-# Find panel button title and messages
-find_input.title=Pytaś
-find_input.placeholder=W dokumenśe pytaś…
-find_previous.title=Pjerwjejšne wustupowanje pytańskego wuraza pytaś
-find_previous_label=Slědk
-find_next.title=Pśidujuce wustupowanje pytańskego wuraza pytaś
-find_next_label=Dalej
-find_highlight=Wšykne wuzwignuś
-find_match_case_label=Na wjelikopisanje źiwaś
-find_entire_word_label=Cełe słowa
-find_reached_top=Zachopjeńk dokumenta dostany, pókšacujo se z kóńcom
-find_reached_bottom=Kóńc dokumenta dostany, pókšacujo se ze zachopjeńkom
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} z {{total}} wótpowědnika
-find_match_count[two]={{current}} z {{total}} wótpowědnikowu
-find_match_count[few]={{current}} z {{total}} wótpowědnikow
-find_match_count[many]={{current}} z {{total}} wótpowědnikow
-find_match_count[other]={{current}} z {{total}} wótpowědnikow
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Wěcej ako {{limit}} wótpowědnikow
-find_match_count_limit[one]=Wěcej ako {{limit}} wótpowědnik
-find_match_count_limit[two]=Wěcej ako {{limit}} wótpowědnika
-find_match_count_limit[few]=Wěcej ako {{limit}} wótpowědniki
-find_match_count_limit[many]=Wěcej ako {{limit}} wótpowědnikow
-find_match_count_limit[other]=Wěcej ako {{limit}} wótpowědnikow
-find_not_found=Pytański wuraz njejo se namakał
-
-# Error panel labels
-error_more_info=Wěcej informacijow
-error_less_info=Mjenjej informacijow
-error_close=Zacyniś
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Powěźenka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Lisćina zawołanjow: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dataja: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Smužka: {{line}}
-rendering_error=Pśi zwobraznjanju boka jo zmólka nastała.
-
-# Predefined zoom values
-page_scale_width=Šyrokosć boka
-page_scale_fit=Wjelikosć boka
-page_scale_auto=Awtomatiske skalěrowanje
-page_scale_actual=Aktualna wjelikosć
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Zmólka
-loading_error=Pśi zacytowanju PDF jo zmólka nastała.
-invalid_file_error=Njepłaśiwa abo wobškóźona PDF-dataja.
-missing_file_error=Felujuca PDF-dataja.
-unexpected_response_error=Njewócakane serwerowe wótegrono.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Typ pśipiskow: {{type}}]
-password_label=Zapódajśo gronidło, aby PDF-dataju wócynił.
-password_invalid=Njepłaśiwe gronidło. Pšosym wopytajśo hyšći raz.
-password_ok=W pórěźe
-password_cancel=Pśetergnuś
-
-printing_not_supported=Warnowanje: Śišćanje njepódpěra se połnje pśez toś ten wobglědowak.
-printing_not_ready=Warnowanje: PDF njejo se za śišćanje dopołnje zacytał.
-web_fonts_disabled=Webpisma su znjemóžnjone: njejo móžno, zasajźone PDF-pisma wužywaś.
-document_colors_not_allowed=PDF-dokumenty njesměju swóje barwy wužywaś: 'Bokam dowóliś, swóje barwy wužywaś' jo we wobglědowaku znjemóžnjone.
diff --git a/server/target/classes/static/pdfjs/web/locale/el/viewer.properties b/server/target/classes/static/pdfjs/web/locale/el/viewer.properties
deleted file mode 100644
index d7a6abc..0000000
--- a/server/target/classes/static/pdfjs/web/locale/el/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Προηγούμενη σελίδα
-previous_label=Προηγούμενη
-next.title=Επόμενη σελίδα
-next_label=Επόμενη
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Σελίδα
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=από {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} από {{pagesCount}})
-
-zoom_out.title=Σμίκρυνση
-zoom_out_label=Σμίκρυνση
-zoom_in.title=Μεγέθυνση
-zoom_in_label=Μεγέθυνση
-zoom.title=Ζουμ
-presentation_mode.title=Εναλλαγή σε λειτουργία παρουσίασης
-presentation_mode_label=Λειτουργία παρουσίασης
-open_file.title=Άνοιγμα αρχείου
-open_file_label=Άνοιγμα
-print.title=Εκτύπωση
-print_label=Εκτύπωση
-download.title=Λήψη
-download_label=Λήψη
-bookmark.title=Τρέχουσα προβολή (αντιγραφή ή άνοιγμα σε νέο παράθυρο)
-bookmark_label=Τρέχουσα προβολή
-
-# Secondary toolbar and context menu
-tools.title=Εργαλεία
-tools_label=Εργαλεία
-first_page.title=Μετάβαση στην πρώτη σελίδα
-first_page.label=Μετάβαση στην πρώτη σελίδα
-first_page_label=Μετάβαση στην πρώτη σελίδα
-last_page.title=Μετάβαση στην τελευταία σελίδα
-last_page.label=Μετάβαση στην τελευταία σελίδα
-last_page_label=Μετάβαση στην τελευταία σελίδα
-page_rotate_cw.title=Δεξιόστροφη περιστροφή
-page_rotate_cw.label=Δεξιόστροφη περιστροφή
-page_rotate_cw_label=Δεξιόστροφη περιστροφή
-page_rotate_ccw.title=Αριστερόστροφη περιστροφή
-page_rotate_ccw.label=Αριστερόστροφη περιστροφή
-page_rotate_ccw_label=Αριστερόστροφη περιστροφή
-
-cursor_text_select_tool.title=Ενεργοποίηση εργαλείου επιλογής κειμένου
-cursor_text_select_tool_label=Εργαλείο επιλογής κειμένου
-cursor_hand_tool.title=Ενεργοποίηση εργαλείου χεριού
-cursor_hand_tool_label=Εργαλείο χεριού
-
-scroll_vertical.title=Χρήση κάθετης κύλισης
-scroll_vertical_label=Κάθετη κύλιση
-scroll_horizontal.title=Χρήση οριζόντιας κύλισης
-scroll_horizontal_label=Οριζόντια κύλιση
-scroll_wrapped.title=Χρήση κυκλικής κύλισης
-scroll_wrapped_label=Κυκλική κύλιση
-
-spread_none.title=Να μην γίνει σύνδεση επεκτάσεων σελίδων
-spread_none_label=Χωρίς επεκτάσεις
-spread_odd.title=Σύνδεση επεκτάσεων σελίδων ξεκινώντας από τις μονές σελίδες
-spread_odd_label=Μονές επεκτάσεις
-spread_even.title=Σύνδεση επεκτάσεων σελίδων ξεκινώντας από τις ζυγές σελίδες
-spread_even_label=Ζυγές επεκτάσεις
-
-# Document properties dialog box
-document_properties.title=Ιδιότητες εγγράφου…
-document_properties_label=Ιδιότητες εγγράφου…
-document_properties_file_name=Όνομα αρχείου:
-document_properties_file_size=Μέγεθος αρχείου:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Τίτλος:
-document_properties_author=Συγγραφέας:
-document_properties_subject=Θέμα:
-document_properties_keywords=Λέξεις κλειδιά:
-document_properties_creation_date=Ημερομηνία δημιουργίας:
-document_properties_modification_date=Ημερομηνία τροποποίησης:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Δημιουργός:
-document_properties_producer=Παραγωγός PDF:
-document_properties_version=Έκδοση PDF:
-document_properties_page_count=Αριθμός σελίδων:
-document_properties_page_size=Μέγεθος σελίδας:
-document_properties_page_size_unit_inches=ίντσες
-document_properties_page_size_unit_millimeters=χιλιοστά
-document_properties_page_size_orientation_portrait=κατακόρυφα
-document_properties_page_size_orientation_landscape=οριζόντια
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Επιστολή
-document_properties_page_size_name_legal=Τύπου Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ταχεία προβολή ιστού:
-document_properties_linearized_yes=Ναι
-document_properties_linearized_no=Όχι
-document_properties_close=Κλείσιμο
-
-print_progress_message=Προετοιμασία του εγγράφου για εκτύπωση…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Άκυρο
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=(Απ)ενεργοποίηση πλευρικής στήλης
-toggle_sidebar_notification.title=(Απ)ενεργοποίηση πλευρικής στήλης (το έγγραφο περιέχει περίγραμμα/συνημμένα)
-toggle_sidebar_label=(Απ)ενεργοποίηση πλευρικής στήλης
-document_outline.title=Εμφάνιση διάρθρωσης εγγράφου (διπλό κλικ για ανάπτυξη/σύμπτυξη όλων των στοιχείων)
-document_outline_label=Διάρθρωση εγγράφου
-attachments.title=Προβολή συνημμένων
-attachments_label=Συνημμένα
-thumbs.title=Προβολή μικρογραφιών
-thumbs_label=Μικρογραφίες
-findbar.title=Εύρεση στο έγγραφο
-findbar_label=Εύρεση
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Σελίδα {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Μικρογραφία της σελίδας {{page}}
-
-# Find panel button title and messages
-find_input.title=Εύρεση
-find_input.placeholder=Εύρεση στο έγγραφο…
-find_previous.title=Εύρεση της προηγούμενης εμφάνισης της φράσης
-find_previous_label=Προηγούμενο
-find_next.title=Εύρεση της επόμενης εμφάνισης της φράσης
-find_next_label=Επόμενο
-find_highlight=Επισήμανση όλων
-find_match_case_label=Ταίριασμα χαρακτήρα
-find_entire_word_label=Ολόκληρες λέξεις
-find_reached_top=Έλευση στην αρχή του εγγράφου, συνέχεια από το τέλος
-find_reached_bottom=Έλευση στο τέλος του εγγράφου, συνέχεια από την αρχή
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} από {{total}} αντιστοιχία
-find_match_count[two]={{current}} από {{total}} αντιστοιχίες
-find_match_count[few]={{current}} από {{total}} αντιστοιχίες
-find_match_count[many]={{current}} από {{total}} αντιστοιχίες
-find_match_count[other]={{current}} από {{total}} αντιστοιχίες
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Περισσότερες από {{limit}} αντιστοιχίες
-find_match_count_limit[one]=Περισσότερες από {{limit}} αντιστοιχία
-find_match_count_limit[two]=Περισσότερες από {{limit}} αντιστοιχίες
-find_match_count_limit[few]=Περισσότερες από {{limit}} αντιστοιχίες
-find_match_count_limit[many]=Περισσότερες από {{limit}} αντιστοιχίες
-find_match_count_limit[other]=Περισσότερες από {{limit}} αντιστοιχίες
-find_not_found=Η φράση δεν βρέθηκε
-
-# Error panel labels
-error_more_info=Περισσότερες πληροφορίες
-error_less_info=Λιγότερες πληροφορίες
-error_close=Κλείσιμο
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Μήνυμα: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Στοίβα: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Αρχείο: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Γραμμή: {{line}}
-rendering_error=Προέκυψε σφάλμα κατά την ανάλυση της σελίδας.
-
-# Predefined zoom values
-page_scale_width=Πλάτος σελίδας
-page_scale_fit=Μέγεθος σελίδας
-page_scale_auto=Αυτόματο ζουμ
-page_scale_actual=Πραγματικό μέγεθος
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Σφάλμα
-loading_error=Προέκυψε ένα σφάλμα κατά τη φόρτωση του PDF.
-invalid_file_error=Μη έγκυρο ή κατεστραμμένο αρχείο PDF.
-missing_file_error=Λείπει αρχείο PDF.
-unexpected_response_error=Μη αναμενόμενη απόκριση από το διακομιστή.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Σχόλιο]
-password_label=Εισαγωγή κωδικού για το άνοιγμα του PDF αρχείου.
-password_invalid=Μη έγκυρος κωδικός. Προσπαθείστε ξανά.
-password_ok=ΟΚ
-password_cancel=Ακύρωση
-
-printing_not_supported=Προειδοποίηση: Η εκτύπωση δεν υποστηρίζεται πλήρως από αυτόν τον περιηγητή.
-printing_not_ready=Προειδοποίηση: Το PDF δεν φορτώθηκε πλήρως για εκτύπωση.
-web_fonts_disabled=Οι γραμματοσειρές Web απενεργοποιημένες: αδυναμία χρήσης των ενσωματωμένων γραμματοσειρών PDF.
-document_colors_not_allowed=Στα PDF έγγραφα δεν επιτρέπεται να χρησιμοποιούν τα δικά τους χρώματα: Το “Να επιτρέπεται στις σελίδες να επιλέγουν τα δικά τους χρώματα” είναι απενεργοποιημένο στον περιηγητή.
diff --git a/server/target/classes/static/pdfjs/web/locale/en-CA/viewer.properties b/server/target/classes/static/pdfjs/web/locale/en-CA/viewer.properties
deleted file mode 100644
index df7a687..0000000
--- a/server/target/classes/static/pdfjs/web/locale/en-CA/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Previous Page
-previous_label=Previous
-next.title=Next Page
-next_label=Next
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page.label=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page.label=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw.label=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Anti-Clockwise
-page_rotate_ccw.label=Rotate Anti-Clockwise
-page_rotate_ccw_label=Rotate Anti-Clockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-findbar.title=Find in Document
-findbar_label=Find
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight all
-find_match_case_label=Match case
-find_entire_word_label=Whole words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-document_colors_not_allowed=PDF documents are not allowed to use their own colours: “Allow pages to choose their own colours” is deactivated in the browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/en-GB/viewer.properties b/server/target/classes/static/pdfjs/web/locale/en-GB/viewer.properties
deleted file mode 100644
index df7a687..0000000
--- a/server/target/classes/static/pdfjs/web/locale/en-GB/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Previous Page
-previous_label=Previous
-next.title=Next Page
-next_label=Next
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page.label=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page.label=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw.label=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Anti-Clockwise
-page_rotate_ccw.label=Rotate Anti-Clockwise
-page_rotate_ccw_label=Rotate Anti-Clockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-findbar.title=Find in Document
-findbar_label=Find
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight all
-find_match_case_label=Match case
-find_entire_word_label=Whole words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-document_colors_not_allowed=PDF documents are not allowed to use their own colours: “Allow pages to choose their own colours” is deactivated in the browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/en-US/viewer.properties b/server/target/classes/static/pdfjs/web/locale/en-US/viewer.properties
deleted file mode 100644
index 6f7598e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/en-US/viewer.properties
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Previous Page
-previous_label=Previous
-next.title=Next Page
-next_label=Next
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=of {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Zoom Out
-zoom_out_label=Zoom Out
-zoom_in.title=Zoom In
-zoom_in_label=Zoom In
-zoom.title=Zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Open File
-open_file_label=Open
-print.title=Print
-print_label=Print
-download.title=Download
-download_label=Download
-bookmark.title=Current view (copy or open in new window)
-bookmark_label=Current View
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Go to First Page
-first_page.label=Go to First Page
-first_page_label=Go to First Page
-last_page.title=Go to Last Page
-last_page.label=Go to Last Page
-last_page_label=Go to Last Page
-page_rotate_cw.title=Rotate Clockwise
-page_rotate_cw.label=Rotate Clockwise
-page_rotate_cw_label=Rotate Clockwise
-page_rotate_ccw.title=Rotate Counterclockwise
-page_rotate_ccw.label=Rotate Counterclockwise
-page_rotate_ccw_label=Rotate Counterclockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Title:
-document_properties_author=Author:
-document_properties_subject=Subject:
-document_properties_keywords=Keywords:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Yes
-document_properties_linearized_no=No
-document_properties_close=Close
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancel
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Show Thumbnails
-thumbs_label=Thumbnails
-findbar.title=Find in Document
-findbar_label=Find
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail of Page {{page}}
-
-# Find panel button title and messages
-find_input.title=Find
-find_input.placeholder=Find in document…
-find_previous.title=Find the previous occurrence of the phrase
-find_previous_label=Previous
-find_next.title=Find the next occurrence of the phrase
-find_next_label=Next
-find_highlight=Highlight all
-find_match_case_label=Match case
-find_entire_word_label=Whole words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Phrase not found
-
-# Error panel labels
-error_more_info=More Information
-error_less_info=Less Information
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Line: {{line}}
-rendering_error=An error occurred while rendering the page.
-
-# Predefined zoom values
-page_scale_width=Page Width
-page_scale_fit=Page Fit
-page_scale_auto=Automatic Zoom
-page_scale_actual=Actual Size
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=An error occurred while loading the PDF.
-invalid_file_error=Invalid or corrupted PDF file.
-missing_file_error=Missing PDF file.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Enter the password to open this PDF file.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Cancel
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
diff --git a/server/target/classes/static/pdfjs/web/locale/eo/viewer.properties b/server/target/classes/static/pdfjs/web/locale/eo/viewer.properties
deleted file mode 100644
index bca7c45..0000000
--- a/server/target/classes/static/pdfjs/web/locale/eo/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Antaŭa paĝo
-previous_label=Malantaŭen
-next.title=Venonta paĝo
-next_label=Antaŭen
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Paĝo
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=el {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} el {{pagesCount}})
-
-zoom_out.title=Malpligrandigi
-zoom_out_label=Malpligrandigi
-zoom_in.title=Pligrandigi
-zoom_in_label=Pligrandigi
-zoom.title=Pligrandigilo
-presentation_mode.title=Iri al prezenta reĝimo
-presentation_mode_label=Prezenta reĝimo
-open_file.title=Malfermi dosieron
-open_file_label=Malfermi
-print.title=Presi
-print_label=Presi
-download.title=Elŝuti
-download_label=Elŝuti
-bookmark.title=Nuna vido (kopii aŭ malfermi en nova fenestro)
-bookmark_label=Nuna vido
-
-# Secondary toolbar and context menu
-tools.title=Iloj
-tools_label=Iloj
-first_page.title=Iri al la unua paĝo
-first_page.label=Iri al la unua paĝo
-first_page_label=Iri al la unua paĝo
-last_page.title=Iri al la lasta paĝo
-last_page.label=Iri al la lasta paĝo
-last_page_label=Iri al la lasta paĝo
-page_rotate_cw.title=Rotaciigi dekstrume
-page_rotate_cw.label=Rotaciigi dekstrume
-page_rotate_cw_label=Rotaciigi dekstrume
-page_rotate_ccw.title=Rotaciigi maldekstrume
-page_rotate_ccw.label=Rotaciigi maldekstrume
-page_rotate_ccw_label=Rotaciigi maldekstrume
-
-cursor_text_select_tool.title=Aktivigi tekstan elektilon
-cursor_text_select_tool_label=Teksta elektilo
-cursor_hand_tool.title=Aktivigi ilon de mano
-cursor_hand_tool_label=Ilo de mano
-
-scroll_vertical.title=Uzi vertikalan ŝovadon
-scroll_vertical_label=Vertikala ŝovado
-scroll_horizontal.title=Uzi horizontalan ŝovadon
-scroll_horizontal_label=Horizontala ŝovado
-scroll_wrapped.title=Uzi ambaŭdirektan ŝovadon
-scroll_wrapped_label=Ambaŭdirekta ŝovado
-
-spread_none.title=Ne montri paĝojn po du
-spread_none_label=Unupaĝa vido
-spread_odd.title=Kunigi paĝojn komencante per nepara paĝo
-spread_odd_label=Po du paĝoj, neparaj maldekstre
-spread_even.title=Kunigi paĝojn komencante per para paĝo
-spread_even_label=Po du paĝoj, paraj maldekstre
-
-# Document properties dialog box
-document_properties.title=Atributoj de dokumento…
-document_properties_label=Atributoj de dokumento…
-document_properties_file_name=Nomo de dosiero:
-document_properties_file_size=Grando de dosiero:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KO ({{size_b}} oktetoj)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MO ({{size_b}} oktetoj)
-document_properties_title=Titolo:
-document_properties_author=Aŭtoro:
-document_properties_subject=Temo:
-document_properties_keywords=Ŝlosilvorto:
-document_properties_creation_date=Dato de kreado:
-document_properties_modification_date=Dato de modifo:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Kreinto:
-document_properties_producer=Produktinto de PDF:
-document_properties_version=Versio de PDF:
-document_properties_page_count=Nombro de paĝoj:
-document_properties_page_size=Grando de paĝo:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertikala
-document_properties_page_size_orientation_landscape=horizontala
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letera
-document_properties_page_size_name_legal=Jura
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rapida tekstaĵa vido:
-document_properties_linearized_yes=Jes
-document_properties_linearized_no=Ne
-document_properties_close=Fermi
-
-print_progress_message=Preparo de dokumento por presi ĝin …
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Nuligi
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Montri/kaŝi flankan strion
-toggle_sidebar_notification.title=Montri/kaŝi flankan strion (la dokumento enhavas konturon/aneksaĵojn)
-toggle_sidebar_label=Montri/kaŝi flankan strion
-document_outline.title=Montri la konturon de dokumento (alklaku duoble por faldi/malfaldi ĉiujn elementojn)
-document_outline_label=Konturo de dokumento
-attachments.title=Montri kunsendaĵojn
-attachments_label=Kunsendaĵojn
-thumbs.title=Montri miniaturojn
-thumbs_label=Miniaturoj
-findbar.title=Serĉi en dokumento
-findbar_label=Serĉi
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Paĝo {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Paĝo {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniaturo de paĝo {{page}}
-
-# Find panel button title and messages
-find_input.title=Serĉi
-find_input.placeholder=Serĉi en dokumento…
-find_previous.title=Serĉi la antaŭan aperon de la frazo
-find_previous_label=Malantaŭen
-find_next.title=Serĉi la venontan aperon de la frazo
-find_next_label=Antaŭen
-find_highlight=Elstarigi ĉiujn
-find_match_case_label=Distingi inter majuskloj kaj minuskloj
-find_entire_word_label=Tutaj vortoj
-find_reached_top=Komenco de la dokumento atingita, daŭrigado ekde la fino
-find_reached_bottom=Fino de la dokumento atingita, daŭrigado ekde la komenco
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} el {{total}} kongruo
-find_match_count[two]={{current}} el {{total}} kongruoj
-find_match_count[few]={{current}} el {{total}} kongruoj
-find_match_count[many]={{current}} el {{total}} kongruoj
-find_match_count[other]={{current}} el {{total}} kongruoj
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Pli ol {{limit}} kongruoj
-find_match_count_limit[one]=Pli ol {{limit}} kongruo
-find_match_count_limit[two]=Pli ol {{limit}} kongruoj
-find_match_count_limit[few]=Pli ol {{limit}} kongruoj
-find_match_count_limit[many]=Pli ol {{limit}} kongruoj
-find_match_count_limit[other]=Pli ol {{limit}} kongruoj
-find_not_found=Frazo ne trovita
-
-# Error panel labels
-error_more_info=Pli da informo
-error_less_info=Malpli da informo
-error_close=Fermi
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesaĝo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stako: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dosiero: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linio: {{line}}
-rendering_error=Okazis eraro dum la montro de la paĝo.
-
-# Predefined zoom values
-page_scale_width=Larĝo de paĝo
-page_scale_fit=Adapti paĝon
-page_scale_auto=Aŭtomata skalo
-page_scale_actual=Reala grando
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Eraro
-loading_error=Okazis eraro dum la ŝargado de la PDF dosiero.
-invalid_file_error=Nevalida aŭ difektita PDF dosiero.
-missing_file_error=Mankas dosiero PDF.
-unexpected_response_error=Neatendita respondo de servilo.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Prinoto: {{type}}]
-password_label=Tajpu pasvorton por malfermi tiun ĉi dosieron PDF.
-password_invalid=Nevalida pasvorto. Bonvolu provi denove.
-password_ok=Akcepti
-password_cancel=Nuligi
-
-printing_not_supported=Averto: tiu ĉi retumilo ne plene subtenas presadon.
-printing_not_ready=Averto: la PDF dosiero ne estas plene ŝargita por presado.
-web_fonts_disabled=Neaktivaj teksaĵaj tiparoj: ne elbas uzi enmetitajn tiparojn de PDF.
-document_colors_not_allowed=PDF dokumentoj ne rajtas uzi siajn proprajn kolorojn: 'Permesi al paĝoj uzi siajn proprajn kolorojn' ne estas aktiva en la retumilo.
diff --git a/server/target/classes/static/pdfjs/web/locale/es-AR/viewer.properties b/server/target/classes/static/pdfjs/web/locale/es-AR/viewer.properties
deleted file mode 100644
index 1d22fba..0000000
--- a/server/target/classes/static/pdfjs/web/locale/es-AR/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=( {{pageNumber}} de {{pagesCount}} )
-
-zoom_out.title=Alejar
-zoom_out_label=Alejar
-zoom_in.title=Acercar
-zoom_in_label=Acercar
-zoom.title=Zoom
-presentation_mode.title=Cambiar a modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a primera página
-first_page.label=Ir a primera página
-first_page_label=Ir a primera página
-last_page.title=Ir a última página
-last_page.label=Ir a última página
-last_page_label=Ir a última página
-page_rotate_cw.title=Rotar horario
-page_rotate_cw.label=Rotar horario
-page_rotate_cw_label=Rotar horario
-page_rotate_ccw.title=Rotar antihorario
-page_rotate_ccw.label=Rotar antihorario
-page_rotate_ccw_label=Rotar antihorario
-
-cursor_text_select_tool.title=Habilitar herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Habilitar herramienta mano
-cursor_hand_tool_label=Herramienta mano
-
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento vertical
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento encapsulado
-scroll_wrapped_label=Desplazamiento encapsulado
-
-spread_none.title=No unir páginas dobles
-spread_none_label=Sin dobles
-spread_odd.title=Unir páginas dobles comenzando con las impares
-spread_odd_label=Dobles impares
-spread_even.title=Unir páginas dobles comenzando con las pares
-spread_even_label=Dobles pares
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre de archivo:
-document_properties_file_size=Tamaño de archovo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=PDF Productor:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Cantidad de páginas:
-document_properties_page_size=Tamaño de página:
-document_properties_page_size_unit_inches=en
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=normal
-document_properties_page_size_orientation_landscape=apaisado
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida de la Web:
-document_properties_linearized_yes=Sí
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para imprimir…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Alternar barra lateral
-toggle_sidebar_notification.title=Intercambiar barra lateral (el documento contiene esquema/adjuntos)
-toggle_sidebar_label=Alternar barra lateral
-document_outline.title=Mostrar esquema del documento (doble clic para expandir/colapsar todos los ítems)
-document_outline_label=Esquema del documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Buscar en documento
-findbar_label=Buscar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de página {{page}}
-
-# Find panel button title and messages
-find_input.title=Buscar
-find_input.placeholder=Buscar en documento…
-find_previous.title=Buscar la aparición anterior de la frase
-find_previous_label=Anterior
-find_next.title=Buscar la siguiente aparición de la frase
-find_next_label=Siguiente
-find_highlight=Resaltar todo
-find_match_case_label=Coincidir mayúsculas
-find_entire_word_label=Palabras completas
-find_reached_top=Inicio de documento alcanzado, continuando desde abajo
-find_reached_bottom=Fin de documento alcanzando, continuando desde arriba
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencias
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coinciden
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=Frase no encontrada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Línea: {{line}}
-rendering_error=Ocurrió un error al dibujar la página.
-
-# Predefined zoom values
-page_scale_width=Ancho de página
-page_scale_fit=Ajustar página
-page_scale_auto=Zoom automático
-page_scale_actual=Tamaño real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Ocurrió un error al cargar el PDF.
-invalid_file_error=Archivo PDF no válido o cocrrupto.
-missing_file_error=Archivo PDF faltante.
-unexpected_response_error=Respuesta del servidor inesperada.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Anotación]
-password_label=Ingrese la contraseña para abrir este archivo PDF
-password_invalid=Contraseña inválida. Intente nuevamente.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: La impresión no está totalmente soportada por este navegador.
-printing_not_ready=Advertencia: El PDF no está completamente cargado para impresión.
-web_fonts_disabled=Tipografía web deshabilitada: no se pueden usar tipos incrustados en PDF.
-document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/es-CL/viewer.properties b/server/target/classes/static/pdfjs/web/locale/es-CL/viewer.properties
deleted file mode 100644
index f7f621f..0000000
--- a/server/target/classes/static/pdfjs/web/locale/es-CL/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Alejar
-zoom_out_label=Alejar
-zoom_in.title=Acercar
-zoom_in_label=Acercar
-zoom.title=Ampliación
-presentation_mode.title=Cambiar al modo de presentación
-presentation_mode_label=Modo de presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a la primera página
-first_page.label=Ir a la primera página
-first_page_label=Ir a la primera página
-last_page.title=Ir a la última página
-last_page.label=Ir a la última página
-last_page_label=Ir a la última página
-page_rotate_cw.title=Girar a la derecha
-page_rotate_cw.label=Girar a la derecha
-page_rotate_cw_label=Girar a la derecha
-page_rotate_ccw.title=Girar a la izquierda
-page_rotate_ccw.label=Girar a la izquierda
-page_rotate_ccw_label=Girar a la izquierda
-
-cursor_text_select_tool.title=Activar la herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Activar la herramienta de mano
-cursor_hand_tool_label=Herramienta de mano
-
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento en bloque
-scroll_wrapped_label=Desplazamiento en bloque
-
-spread_none.title=No juntar páginas a modo de libro
-spread_none_label=Vista de una página
-spread_odd.title=Junta las páginas partiendo con una de número impar
-spread_odd_label=Vista de libro impar
-spread_even.title=Junta las páginas partiendo con una de número par
-spread_even_label=Vista de libro par
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre de archivo:
-document_properties_file_size=Tamaño del archivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor del PDF:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Cantidad de páginas:
-document_properties_page_size=Tamaño de la página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Oficio
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida en Web:
-document_properties_linearized_yes=Sí
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para impresión…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Barra lateral
-toggle_sidebar_notification.title=Cambiar barra lateral (índice de contenidos del documento/adjuntos)
-toggle_sidebar_label=Mostrar u ocultar la barra lateral
-document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
-document_outline_label=Esquema del documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Buscar en el documento
-findbar_label=Buscar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la página {{page}}
-
-# Find panel button title and messages
-find_input.title=Encontrar
-find_input.placeholder=Encontrar en el documento…
-find_previous.title=Buscar la aparición anterior de la frase
-find_previous_label=Previo
-find_next.title=Buscar la siguiente aparición de la frase
-find_next_label=Siguiente
-find_highlight=Destacar todos
-find_match_case_label=Coincidir mayús./minús.
-find_entire_word_label=Palabras completas
-find_reached_top=Se alcanzó el inicio del documento, continuando desde el final
-find_reached_bottom=Se alcanzó el final del documento, continuando desde el inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coincidencia
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=Frase no encontrada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilación: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Línea: {{line}}
-rendering_error=Ha ocurrido un error al renderizar la página.
-
-# Predefined zoom values
-page_scale_width=Ancho de página
-page_scale_fit=Ajuste de página
-page_scale_auto=Aumento automático
-page_scale_actual=Tamaño actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Ha ocurrido un error al cargar el PDF.
-invalid_file_error=Archivo PDF inválido o corrupto.
-missing_file_error=Falta el archivo PDF.
-unexpected_response_error=Respuesta del servidor inesperada.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Anotación]
-password_label=Ingrese la contraseña para abrir este archivo PDF.
-password_invalid=Contraseña inválida. Por favor, vuelve a intentarlo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: Imprimir no está soportado completamente por este navegador.
-printing_not_ready=Advertencia: El PDF no está completamente cargado para ser impreso.
-web_fonts_disabled=Las tipografías web están desactivadas: imposible usar las fuentes PDF embebidas.
-document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/es-ES/viewer.properties b/server/target/classes/static/pdfjs/web/locale/es-ES/viewer.properties
deleted file mode 100644
index cef373a..0000000
--- a/server/target/classes/static/pdfjs/web/locale/es-ES/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Aumentar
-zoom_in_label=Aumentar
-zoom.title=Tamaño
-presentation_mode.title=Cambiar al modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en una nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a la primera página
-first_page.label=Ir a la primera página
-first_page_label=Ir a la primera página
-last_page.title=Ir a la última página
-last_page.label=Ir a la última página
-last_page_label=Ir a la última página
-page_rotate_cw.title=Rotar en sentido horario
-page_rotate_cw.label=Rotar en sentido horario
-page_rotate_cw_label=Rotar en sentido horario
-page_rotate_ccw.title=Rotar en sentido antihorario
-page_rotate_ccw.label=Rotar en sentido antihorario
-page_rotate_ccw_label=Rotar en sentido antihorario
-
-cursor_text_select_tool.title=Activar herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Activar herramienta de mano
-cursor_hand_tool_label=Herramienta de mano
-
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento en bloque
-scroll_wrapped_label=Desplazamiento en bloque
-
-spread_none.title=No juntar páginas en vista de libro
-spread_none_label=Vista de libro
-spread_odd.title=Juntar las páginas partiendo de una con número impar
-spread_odd_label=Vista de libro impar
-spread_even.title=Juntar las páginas partiendo de una con número par
-spread_even_label=Vista de libro par
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre de archivo:
-document_properties_file_size=Tamaño de archivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor PDF:
-document_properties_version=Versión PDF:
-document_properties_page_count=Número de páginas:
-document_properties_page_size=Tamaño de la página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida de la web:
-document_properties_linearized_yes=Sí
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para impresión…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Cambiar barra lateral
-toggle_sidebar_notification.title=Alternar panel lateral (el documento contiene un esquema o adjuntos)
-toggle_sidebar_label=Cambiar barra lateral
-document_outline.title=Mostrar resumen del documento (doble clic para expandir/contraer todos los elementos)
-document_outline_label=Resumen de documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Buscar en el documento
-findbar_label=Buscar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la página {{page}}
-
-# Find panel button title and messages
-find_input.title=Buscar
-find_input.placeholder=Buscar en el documento…
-find_previous.title=Encontrar la anterior aparición de la frase
-find_previous_label=Anterior
-find_next.title=Encontrar la siguiente aparición de esta frase
-find_next_label=Siguiente
-find_highlight=Resaltar todos
-find_match_case_label=Coincidencia de mayús./minús.
-find_entire_word_label=Palabras completas
-find_reached_top=Se alcanzó el inicio del documento, se continúa desde el final
-find_reached_bottom=Se alcanzó el final del documento, se continúa desde el inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coincidencia
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=Frase no encontrada
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Línea: {{line}}
-rendering_error=Ocurrió un error al renderizar la página.
-
-# Predefined zoom values
-page_scale_width=Anchura de la página
-page_scale_fit=Ajuste de la página
-page_scale_auto=Tamaño automático
-page_scale_actual=Tamaño real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Ocurrió un error al cargar el PDF.
-invalid_file_error=Fichero PDF no válido o corrupto.
-missing_file_error=No hay fichero PDF.
-unexpected_response_error=Respuesta inesperada del servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Introduzca la contraseña para abrir este archivo PDF.
-password_invalid=Contraseña no válida. Vuelva a intentarlo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: Imprimir no está totalmente soportado por este navegador.
-printing_not_ready=Advertencia: Este PDF no se ha cargado completamente para poder imprimirse.
-web_fonts_disabled=Las tipografías web están desactivadas: es imposible usar las tipografías PDF embebidas.
-document_colors_not_allowed=Los documentos PDF no tienen permitido usar sus propios colores: 'Permitir a las páginas elegir sus propios colores' está desactivado en el navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/es-MX/viewer.properties b/server/target/classes/static/pdfjs/web/locale/es-MX/viewer.properties
deleted file mode 100644
index 88a8282..0000000
--- a/server/target/classes/static/pdfjs/web/locale/es-MX/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página siguiente
-next_label=Siguiente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Aumentar
-zoom_in_label=Aumentar
-zoom.title=Zoom
-presentation_mode.title=Cambiar al modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir archivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar o abrir en una nueva ventana)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Herramientas
-tools_label=Herramientas
-first_page.title=Ir a la primera página
-first_page.label=Ir a la primera página
-first_page_label=Ir a la primera página
-last_page.title=Ir a la última página
-last_page.label=Ir a la última página
-last_page_label=Ir a la última página
-page_rotate_cw.title=Girar a la derecha
-page_rotate_cw.label=Girar a la derecha
-page_rotate_cw_label=Girar a la derecha
-page_rotate_ccw.title=Girar a la izquierda
-page_rotate_ccw.label=Girar a la izquierda
-page_rotate_ccw_label=Girar a la izquierda
-
-cursor_text_select_tool.title=Activar la herramienta de selección de texto
-cursor_text_select_tool_label=Herramienta de selección de texto
-cursor_hand_tool.title=Activar la herramienta de mano
-cursor_hand_tool_label=Herramienta de mano
-
-scroll_vertical.title=Usar desplazamiento vertical
-scroll_vertical_label=Desplazamiento vertical
-scroll_horizontal.title=Usar desplazamiento horizontal
-scroll_horizontal_label=Desplazamiento horizontal
-scroll_wrapped.title=Usar desplazamiento encapsulado
-scroll_wrapped_label=Desplazamiento encapsulado
-
-spread_none.title=No unir páginas separadas
-spread_none_label=Vista de una página
-spread_odd.title=Unir las páginas partiendo con una de número impar
-spread_odd_label=Vista de libro impar
-spread_even.title=Juntar las páginas partiendo con una de número par
-spread_even_label=Vista de libro par
-
-# Document properties dialog box
-document_properties.title=Propiedades del documento…
-document_properties_label=Propiedades del documento…
-document_properties_file_name=Nombre del archivo:
-document_properties_file_size=Tamaño del archivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras claves:
-document_properties_creation_date=Fecha de creación:
-document_properties_modification_date=Fecha de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creador:
-document_properties_producer=Productor PDF:
-document_properties_version=Versión PDF:
-document_properties_page_count=Número de páginas:
-document_properties_page_size=Tamaño de la página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Oficio
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida de la web:
-document_properties_linearized_yes=Sí
-document_properties_linearized_no=No
-document_properties_close=Cerrar
-
-print_progress_message=Preparando documento para impresión…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Cambiar barra lateral
-toggle_sidebar_notification.title=Cambiar barra lateral (índice de contenidos del documento/adjuntos)
-toggle_sidebar_label=Cambiar barra lateral
-document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
-document_outline_label=Esquema del documento
-attachments.title=Mostrar adjuntos
-attachments_label=Adjuntos
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Buscar en el documento
-findbar_label=Buscar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura de la página {{page}}
-
-# Find panel button title and messages
-find_input.title=Buscar
-find_input.placeholder=Buscar en el documento…
-find_previous.title=Ir a la anterior frase encontrada
-find_previous_label=Anterior
-find_next.title=Ir a la siguiente frase encontrada
-find_next_label=Siguiente
-find_highlight=Resaltar todo
-find_match_case_label=Coincidir con mayúsculas y minúsculas
-find_entire_word_label=Palabras completas
-find_reached_top=Se alcanzó el inicio del documento, se buscará al final
-find_reached_bottom=Se alcanzó el final del documento, se buscará al inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Más de {{limit}} coincidencias
-find_match_count_limit[one]=Más de {{limit}} coinciden
-find_match_count_limit[two]=Más de {{limit}} coincidencias
-find_match_count_limit[few]=Más de {{limit}} coincidencias
-find_match_count_limit[many]=Más de {{limit}} coincidencias
-find_match_count_limit[other]=Más de {{limit}} coincidencias
-find_not_found=No se encontró la frase
-
-# Error panel labels
-error_more_info=Más información
-error_less_info=Menos información
-error_close=Cerrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaje: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Línea: {{line}}
-rendering_error=Un error ocurrió al renderizar la página.
-
-# Predefined zoom values
-page_scale_width=Ancho de página
-page_scale_fit=Ajustar página
-page_scale_auto=Zoom automático
-page_scale_actual=Tamaño real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Un error ocurrió al cargar el PDF.
-invalid_file_error=Archivo PDF invalido o dañado.
-missing_file_error=Archivo PDF no encontrado.
-unexpected_response_error=Respuesta inesperada del servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} anotación]
-password_label=Ingresa la contraseña para abrir este archivo PDF.
-password_invalid=Contraseña inválida. Por favor intenta de nuevo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Advertencia: La impresión no esta completamente soportada por este navegador.
-printing_not_ready=Advertencia: El PDF no cargo completamente para impresión.
-web_fonts_disabled=Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas.
-document_colors_not_allowed=Los documentos PDF no tienen permiso de usar sus propios colores: 'Permitir que las páginas elijan sus propios colores' esta desactivada en el navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/et/viewer.properties b/server/target/classes/static/pdfjs/web/locale/et/viewer.properties
deleted file mode 100644
index 11f47c1..0000000
--- a/server/target/classes/static/pdfjs/web/locale/et/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Eelmine lehekülg
-previous_label=Eelmine
-next.title=Järgmine lehekülg
-next_label=Järgmine
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Leht
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}/{{pagesCount}})
-
-zoom_out.title=Vähenda
-zoom_out_label=Vähenda
-zoom_in.title=Suurenda
-zoom_in_label=Suurenda
-zoom.title=Suurendamine
-presentation_mode.title=Lülitu esitlusrežiimi
-presentation_mode_label=Esitlusrežiim
-open_file.title=Ava fail
-open_file_label=Ava
-print.title=Prindi
-print_label=Prindi
-download.title=Laadi alla
-download_label=Laadi alla
-bookmark.title=Praegune vaade (kopeeri või ava uues aknas)
-bookmark_label=Praegune vaade
-
-# Secondary toolbar and context menu
-tools.title=Tööriistad
-tools_label=Tööriistad
-first_page.title=Mine esimesele leheküljele
-first_page.label=Mine esimesele leheküljele
-first_page_label=Mine esimesele leheküljele
-last_page.title=Mine viimasele leheküljele
-last_page.label=Mine viimasele leheküljele
-last_page_label=Mine viimasele leheküljele
-page_rotate_cw.title=Pööra päripäeva
-page_rotate_cw.label=Pööra päripäeva
-page_rotate_cw_label=Pööra päripäeva
-page_rotate_ccw.title=Pööra vastupäeva
-page_rotate_ccw.label=Pööra vastupäeva
-page_rotate_ccw_label=Pööra vastupäeva
-
-cursor_text_select_tool.title=Luba teksti valimise tööriist
-cursor_text_select_tool_label=Teksti valimise tööriist
-cursor_hand_tool.title=Luba sirvimistööriist
-cursor_hand_tool_label=Sirvimistööriist
-
-scroll_vertical.title=Kasuta vertikaalset kerimist
-scroll_vertical_label=Vertikaalne kerimine
-scroll_horizontal.title=Kasuta horisontaalset kerimist
-scroll_horizontal_label=Horisontaalne kerimine
-scroll_wrapped.title=Kasuta rohkem mahutavat kerimist
-scroll_wrapped_label=Rohkem mahutav kerimine
-
-spread_none.title=Ära kõrvuta lehekülgi
-spread_none_label=Lehtede kõrvutamine puudub
-spread_odd.title=Kõrvuta leheküljed, alustades paaritute numbritega lehekülgedega
-spread_odd_label=Kõrvutamine paaritute numbritega alustades
-spread_even.title=Kõrvuta leheküljed, alustades paarisnumbritega lehekülgedega
-spread_even_label=Kõrvutamine paarisnumbritega alustades
-
-# Document properties dialog box
-document_properties.title=Dokumendi omadused…
-document_properties_label=Dokumendi omadused…
-document_properties_file_name=Faili nimi:
-document_properties_file_size=Faili suurus:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KiB ({{size_b}} baiti)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MiB ({{size_b}} baiti)
-document_properties_title=Pealkiri:
-document_properties_author=Autor:
-document_properties_subject=Teema:
-document_properties_keywords=Märksõnad:
-document_properties_creation_date=Loodud:
-document_properties_modification_date=Muudetud:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Looja:
-document_properties_producer=Generaator:
-document_properties_version=Generaatori versioon:
-document_properties_page_count=Lehekülgi:
-document_properties_page_size=Lehe suurus:
-document_properties_page_size_unit_inches=tolli
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertikaalpaigutus
-document_properties_page_size_orientation_landscape=rõhtpaigutus
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized="Fast Web View" tugi:
-document_properties_linearized_yes=Jah
-document_properties_linearized_no=Ei
-document_properties_close=Sulge
-
-print_progress_message=Dokumendi ettevalmistamine printimiseks…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Loobu
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Näita külgriba
-toggle_sidebar_notification.title=Näita külgriba (dokument sisaldab sisukorda/manuseid)
-toggle_sidebar_label=Näita külgriba
-document_outline.title=Näita sisukorda (kõigi punktide laiendamiseks/ahendamiseks topeltklõpsa)
-document_outline_label=Näita sisukorda
-attachments.title=Näita manuseid
-attachments_label=Manused
-thumbs.title=Näita pisipilte
-thumbs_label=Pisipildid
-findbar.title=Otsi dokumendist
-findbar_label=Otsi
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. lehekülg
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. lehekülje pisipilt
-
-# Find panel button title and messages
-find_input.title=Otsi
-find_input.placeholder=Otsi dokumendist…
-find_previous.title=Otsi fraasi eelmine esinemiskoht
-find_previous_label=Eelmine
-find_next.title=Otsi fraasi järgmine esinemiskoht
-find_next_label=Järgmine
-find_highlight=Too kõik esile
-find_match_case_label=Tõstutundlik
-find_entire_word_label=Täissõnad
-find_reached_top=Jõuti dokumendi algusesse, jätkati lõpust
-find_reached_bottom=Jõuti dokumendi lõppu, jätkati algusest
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=vaste {{current}}/{{total}}
-find_match_count[two]=vaste {{current}}/{{total}}
-find_match_count[few]=vaste {{current}}/{{total}}
-find_match_count[many]=vaste {{current}}/{{total}}
-find_match_count[other]=vaste {{current}}/{{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Rohkem kui {{limit}} vastet
-find_match_count_limit[one]=Rohkem kui {{limit}} vaste
-find_match_count_limit[two]=Rohkem kui {{limit}} vastet
-find_match_count_limit[few]=Rohkem kui {{limit}} vastet
-find_match_count_limit[many]=Rohkem kui {{limit}} vastet
-find_match_count_limit[other]=Rohkem kui {{limit}} vastet
-find_not_found=Fraasi ei leitud
-
-# Error panel labels
-error_more_info=Rohkem teavet
-error_less_info=Vähem teavet
-error_close=Sulge
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Teade: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fail: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rida: {{line}}
-rendering_error=Lehe renderdamisel esines viga.
-
-# Predefined zoom values
-page_scale_width=Mahuta laiusele
-page_scale_fit=Mahuta leheküljele
-page_scale_auto=Automaatne suurendamine
-page_scale_actual=Tegelik suurus
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Viga
-loading_error=PDFi laadimisel esines viga.
-invalid_file_error=Vigane või rikutud PDF-fail.
-missing_file_error=PDF-fail puudub.
-unexpected_response_error=Ootamatu vastus serverilt.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=PDF-faili avamiseks sisesta parool.
-password_invalid=Vigane parool. Palun proovi uuesti.
-password_ok=Sobib
-password_cancel=Loobu
-
-printing_not_supported=Hoiatus: printimine pole selle brauseri poolt täielikult toetatud.
-printing_not_ready=Hoiatus: PDF pole printimiseks täielikult laaditud.
-web_fonts_disabled=Veebifondid on keelatud: PDFiga kaasatud fonte pole võimalik kasutada.
-document_colors_not_allowed=PDF-dokumentidel pole oma värvide kasutamine lubatud: “Veebilehtedel on lubatud kasutada oma värve” on brauseris deaktiveeritud.
diff --git a/server/target/classes/static/pdfjs/web/locale/eu/viewer.properties b/server/target/classes/static/pdfjs/web/locale/eu/viewer.properties
deleted file mode 100644
index e14f5cd..0000000
--- a/server/target/classes/static/pdfjs/web/locale/eu/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Aurreko orria
-previous_label=Aurrekoa
-next.title=Hurrengo orria
-next_label=Hurrengoa
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Orria
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages={{pagesCount}}/{{pageNumber}}
-
-zoom_out.title=Urrundu zooma
-zoom_out_label=Urrundu zooma
-zoom_in.title=Gerturatu zooma
-zoom_in_label=Gerturatu zooma
-zoom.title=Zooma
-presentation_mode.title=Aldatu aurkezpen modura
-presentation_mode_label=Arkezpen modua
-open_file.title=Ireki fitxategia
-open_file_label=Ireki
-print.title=Inprimatu
-print_label=Inprimatu
-download.title=Deskargatu
-download_label=Deskargatu
-bookmark.title=Uneko ikuspegia (kopiatu edo ireki leiho berrian)
-bookmark_label=Uneko ikuspegia
-
-# Secondary toolbar and context menu
-tools.title=Tresnak
-tools_label=Tresnak
-first_page.title=Joan lehen orrira
-first_page.label=Joan lehen orrira
-first_page_label=Joan lehen orrira
-last_page.title=Joan azken orrira
-last_page.label=Joan azken orrira
-last_page_label=Joan azken orrira
-page_rotate_cw.title=Biratu erlojuaren norantzan
-page_rotate_cw.label=Biratu erlojuaren norantzan
-page_rotate_cw_label=Biratu erlojuaren norantzan
-page_rotate_ccw.title=Biratu erlojuaren aurkako norantzan
-page_rotate_ccw.label=Biratu erlojuaren aurkako norantzan
-page_rotate_ccw_label=Biratu erlojuaren aurkako norantzan
-
-cursor_text_select_tool.title=Gaitu testuaren hautapen tresna
-cursor_text_select_tool_label=Testuaren hautapen tresna
-cursor_hand_tool.title=Gaitu eskuaren tresna
-cursor_hand_tool_label=Eskuaren tresna
-
-scroll_vertical.title=Erabili korritze bertikala
-scroll_vertical_label=Korritze bertikala
-scroll_horizontal.title=Erabili korritze horizontala
-scroll_horizontal_label=Korritze horizontala
-scroll_wrapped.title=Erabili korritze egokitua
-scroll_wrapped_label=Korritze egokitua
-
-spread_none.title=Ez elkartu barreiatutako orriak
-spread_none_label=Barreiatzerik ez
-spread_odd.title=Elkartu barreiatutako orriak bakoiti zenbakidunekin hasita
-spread_odd_label=Barreiatze bakoitia
-spread_even.title=Elkartu barreiatutako orriak bikoiti zenbakidunekin hasita
-spread_even_label=Barreiatze bikoitia
-
-# Document properties dialog box
-document_properties.title=Dokumentuaren propietateak…
-document_properties_label=Dokumentuaren propietateak…
-document_properties_file_name=Fitxategi-izena:
-document_properties_file_size=Fitxategiaren tamaina:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Izenburua:
-document_properties_author=Egilea:
-document_properties_subject=Gaia:
-document_properties_keywords=Gako-hitzak:
-document_properties_creation_date=Sortze-data:
-document_properties_modification_date=Aldatze-data:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Sortzailea:
-document_properties_producer=PDFaren ekoizlea:
-document_properties_version=PDF bertsioa:
-document_properties_page_count=Orrialde kopurua:
-document_properties_page_size=Orriaren tamaina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=bertikala
-document_properties_page_size_orientation_landscape=horizontala
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Gutuna
-document_properties_page_size_name_legal=Legala
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Webeko ikuspegi bizkorra:
-document_properties_linearized_yes=Bai
-document_properties_linearized_no=Ez
-document_properties_close=Itxi
-
-print_progress_message=Dokumentua inprimatzeko prestatzen…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent=%{{progress}}
-print_progress_close=Utzi
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Txandakatu alboko barra
-toggle_sidebar_notification.title=Txandakatu alboko barra (dokumentuak eskema/eranskinak ditu)
-toggle_sidebar_label=Txandakatu alboko barra
-document_outline.title=Erakutsi dokumentuaren eskema (klik bikoitza elementu guztiak zabaltzeko/tolesteko)
-document_outline_label=Dokumentuaren eskema
-attachments.title=Erakutsi eranskinak
-attachments_label=Eranskinak
-thumbs.title=Erakutsi koadro txikiak
-thumbs_label=Koadro txikiak
-findbar.title=Bilatu dokumentuan
-findbar_label=Bilatu
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas={{page}}. orria
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. orria
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. orriaren koadro txikia
-
-# Find panel button title and messages
-find_input.title=Bilatu
-find_input.placeholder=Bilatu dokumentuan…
-find_previous.title=Bilatu esaldiaren aurreko parekatzea
-find_previous_label=Aurrekoa
-find_next.title=Bilatu esaldiaren hurrengo parekatzea
-find_next_label=Hurrengoa
-find_highlight=Nabarmendu guztia
-find_match_case_label=Bat etorri maiuskulekin/minuskulekin
-find_entire_word_label=Hitz osoak
-find_reached_top=Dokumentuaren hasierara heldu da, bukaeratik jarraitzen
-find_reached_bottom=Dokumentuaren bukaerara heldu da, hasieratik jarraitzen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}}/{{current}}. bat etortzea
-find_match_count[two]={{total}}/{{current}}. bat etortzea
-find_match_count[few]={{total}}/{{current}}. bat etortzea
-find_match_count[many]={{total}}/{{current}}. bat etortzea
-find_match_count[other]={{total}}/{{current}}. bat etortzea
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[one]=Bat-etortze {{limit}} baino gehiago
-find_match_count_limit[two]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[few]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[many]={{limit}} bat-etortze baino gehiago
-find_match_count_limit[other]={{limit}} bat-etortze baino gehiago
-find_not_found=Esaldia ez da aurkitu
-
-# Error panel labels
-error_more_info=Informazio gehiago
-error_less_info=Informazio gutxiago
-error_close=Itxi
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (eraikuntza: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mezua: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fitxategia: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lerroa: {{line}}
-rendering_error=Errorea gertatu da orria errendatzean.
-
-# Predefined zoom values
-page_scale_width=Orriaren zabalera
-page_scale_fit=Doitu orrira
-page_scale_auto=Zoom automatikoa
-page_scale_actual=Benetako tamaina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent=%{{scale}}
-
-# Loading indicator messages
-loading_error_indicator=Errorea
-loading_error=Errorea gertatu da PDFa kargatzean.
-invalid_file_error=PDF fitxategi baliogabe edo hondatua.
-missing_file_error=PDF fitxategia falta da.
-unexpected_response_error=Espero gabeko zerbitzariaren erantzuna.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ohartarazpena]
-password_label=Idatzi PDF fitxategi hau irekitzeko pasahitza.
-password_invalid=Pasahitz baliogabea. Saiatu berriro mesedez.
-password_ok=Ados
-password_cancel=Utzi
-
-printing_not_supported=Abisua: inprimatzeko euskarria ez da erabatekoa nabigatzaile honetan.
-printing_not_ready=Abisua: PDFa ez dago erabat kargatuta inprimatzeko.
-web_fonts_disabled=Webeko letra-tipoak desgaituta daude: ezin dira kapsulatutako PDF letra-tipoak erabili.
-document_colors_not_allowed=PDF dokumentuek ez dute beraien koloreak erabiltzeko baimenik: 'Baimendu orriak beraien letra-tipoak aukeratzea' desaktibatuta dago nabigatzailean.
diff --git a/server/target/classes/static/pdfjs/web/locale/fa/viewer.properties b/server/target/classes/static/pdfjs/web/locale/fa/viewer.properties
deleted file mode 100644
index e95738c..0000000
--- a/server/target/classes/static/pdfjs/web/locale/fa/viewer.properties
+++ /dev/null
@@ -1,223 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=صفحهٔ قبلی
-previous_label=قبلی
-next.title=صفحهٔ بعدی
-next_label=بعدی
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=صفحه
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=از {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}از {{pagesCount}})
-
-zoom_out.title=کوچک‌نمایی
-zoom_out_label=کوچک‌نمایی
-zoom_in.title=بزرگ‌نمایی
-zoom_in_label=بزرگ‌نمایی
-zoom.title=زوم
-presentation_mode.title=تغییر به حالت ارائه
-presentation_mode_label=حالت ارائه
-open_file.title=باز کردن پرونده
-open_file_label=باز کردن
-print.title=چاپ
-print_label=چاپ
-download.title=بارگیری
-download_label=بارگیری
-bookmark.title=نمای فعلی (رونوشت و یا نشان دادن در پنجره جدید)
-bookmark_label=نمای فعلی
-
-# Secondary toolbar and context menu
-tools.title=ابزارها
-tools_label=ابزارها
-first_page.title=برو به اولین صفحه
-first_page.label=برو یه اولین صفحه
-first_page_label=برو به اولین صفحه
-last_page.title=برو به آخرین صفحه
-last_page.label=برو به آخرین صفحه
-last_page_label=برو به آخرین صفحه
-page_rotate_cw.title=چرخش ساعتگرد
-page_rotate_cw.label=چرخش ساعتگرد
-page_rotate_cw_label=چرخش ساعتگرد
-page_rotate_ccw.title=چرخش پاد ساعتگرد
-page_rotate_ccw.label=چرخش پاد ساعتگرد
-page_rotate_ccw_label=چرخش پاد ساعتگرد
-
-cursor_text_select_tool.title=فعال کردن ابزارِ انتخابِ متن
-cursor_text_select_tool_label=ابزارِ انتخابِ متن
-cursor_hand_tool.title=فعال کردن ابزارِ دست
-cursor_hand_tool_label=ابزار دست
-
-scroll_vertical.title=استفاده از پیمایش عمودی
-scroll_vertical_label=پیمایش عمودی
-scroll_horizontal.title=استفاده از پیمایش افقی
-scroll_horizontal_label=پیمایش افقی
-
-
-# Document properties dialog box
-document_properties.title=خصوصیات سند...
-document_properties_label=خصوصیات سند...
-document_properties_file_name=نام فایل:
-document_properties_file_size=حجم پرونده:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} کیلوبایت ({{size_b}} بایت)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} مگابایت ({{size_b}} بایت)
-document_properties_title=عنوان:
-document_properties_author=نویسنده:
-document_properties_subject=موضوع:
-document_properties_keywords=کلیدواژه‌ها:
-document_properties_creation_date=تاریخ ایجاد:
-document_properties_modification_date=تاریخ ویرایش:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}، {{time}}
-document_properties_creator=ایجاد کننده:
-document_properties_producer=ایجاد کننده PDF:
-document_properties_version=نسخه PDF:
-document_properties_page_count=تعداد صفحات:
-document_properties_page_size=اندازه صفحه:
-document_properties_page_size_unit_inches=اینچ
-document_properties_page_size_unit_millimeters=میلی‌متر
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=نامه
-document_properties_page_size_name_legal=حقوقی
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=بله
-document_properties_linearized_no=خیر
-document_properties_close=بستن
-
-print_progress_message=آماده سازی مدارک برای چاپ کردن…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=لغو
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=باز و بسته کردن نوار کناری
-toggle_sidebar_notification.title=تغییر وضعیت نوار کناری (سند حاوی طرح/پیوست است)
-toggle_sidebar_label=تغییرحالت نوارکناری
-document_outline.title=نمایش رئوس مطالب مدارک(برای بازشدن/جمع شدن همه موارد دوبار کلیک کنید)
-document_outline_label=طرح نوشتار
-attachments.title=نمایش پیوست‌ها
-attachments_label=پیوست‌ها
-thumbs.title=نمایش تصاویر بندانگشتی
-thumbs_label=تصاویر بندانگشتی
-findbar.title=جستجو در سند
-findbar_label=پیدا کردن
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=صفحه {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=تصویر بند‌ انگشتی صفحه {{page}}
-
-# Find panel button title and messages
-find_input.title=پیدا کردن
-find_input.placeholder=پیدا کردن در سند…
-find_previous.title=پیدا کردن رخداد قبلی عبارت
-find_previous_label=قبلی
-find_next.title=پیدا کردن رخداد بعدی عبارت
-find_next_label=بعدی
-find_highlight=برجسته و هایلایت کردن همه موارد
-find_match_case_label=تطبیق کوچکی و بزرگی حروف
-find_entire_word_label=تمام کلمه‌ها
-find_reached_top=به بالای صفحه رسیدیم، از پایین ادامه می‌دهیم
-find_reached_bottom=به آخر صفحه رسیدیم، از بالا ادامه می‌دهیم
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count[one]={{current}} از {{total}} مطابقت دارد
-find_match_count[two]={{current}} از {{total}} مطابقت دارد
-find_match_count[few]={{current}} از {{total}} مطابقت دارد
-find_match_count[many]={{current}} از {{total}} مطابقت دارد
-find_match_count[other]={{current}} از {{total}} مطابقت دارد
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=عبارت پیدا نشد
-
-# Error panel labels
-error_more_info=اطلاعات بیشتر
-error_less_info=اطلاعات کمتر
-error_close=بستن
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=‏PDF.js ورژن{{version}} ‏(ساخت: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=پیام: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=توده: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=پرونده: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=سطر: {{line}}
-rendering_error=هنگام بارگیری صفحه خطایی رخ داد.
-
-# Predefined zoom values
-page_scale_width=عرض صفحه
-page_scale_fit=اندازه کردن صفحه
-page_scale_auto=بزرگنمایی خودکار
-page_scale_actual=اندازه واقعی‌
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=خطا
-loading_error=هنگام بارگیری پرونده PDF خطایی رخ داد.
-invalid_file_error=پرونده PDF نامعتبر یامعیوب می‌باشد.
-missing_file_error=پرونده PDF یافت نشد.
-unexpected_response_error=پاسخ پیش بینی نشده سرور
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=جهت باز کردن پرونده PDF گذرواژه را وارد نمائید.
-password_invalid=گذرواژه نامعتبر. لطفا مجددا تلاش کنید.
-password_ok=تأیید
-password_cancel=لغو
-
-printing_not_supported=هشدار: قابلیت چاپ به‌طور کامل در این مرورگر پشتیبانی نمی‌شود.
-printing_not_ready=اخطار: پرونده PDF بطور کامل بارگیری نشده و امکان چاپ وجود ندارد.
-web_fonts_disabled=فونت های تحت وب غیر فعال شده اند: امکان استفاده از نمایش دهنده داخلی PDF وجود ندارد.
-document_colors_not_allowed=فایلهای PDF اجازه ندارند تا از رنگ‌های خود استفاده کنند: گزینه «به صفحات اجازه بده تا از رنگ‌های خود استفاده کنند» در مرورگر غیر فعال است.
diff --git a/server/target/classes/static/pdfjs/web/locale/ff/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ff/viewer.properties
deleted file mode 100644
index 2e94346..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ff/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Hello Ɓennungo
-previous_label=Ɓennuɗo
-next.title=Hello faango
-next_label=Yeeso
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Hello
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=e nder {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Lonngo Woɗɗa
-zoom_out_label=Lonngo Woɗɗa
-zoom_in.title=Lonngo Ara
-zoom_in_label=Lonngo Ara
-zoom.title=Lonngo
-presentation_mode.title=Faytu to  Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Uddit Fiilde
-open_file_label=Uddit
-print.title=Winndito
-print_label=Winndito
-download.title=Aawto
-download_label=Aawto
-bookmark.title=Jiytol gonangol (natto walla uddit e henorde)
-bookmark_label=Jiytol Gonangol
-
-# Secondary toolbar and context menu
-tools.title=Kuutorɗe
-tools_label=Kuutorɗe
-first_page.title=Yah to hello adanngo
-first_page.label=Yah to hello adanngo
-first_page_label=Yah to hello adanngo
-last_page.title=Yah to hello wattindiingo
-last_page.label=Yah to hello wattindiingo
-last_page_label=Yah to hello wattindiingo
-page_rotate_cw.title=Yiiltu Faya Ñaamo
-page_rotate_cw.label=Yiiltu Faya Ñaamo
-page_rotate_cw_label=Yiiltu Faya Ñaamo
-page_rotate_ccw.title=Yiiltu Faya Nano
-page_rotate_ccw.label=Yiiltu Faya Nano
-page_rotate_ccw_label=Yiiltu Faya Nano
-
-cursor_text_select_tool.title=Gollin kaɓirgel cuɓirgel binndi
-cursor_text_select_tool_label=Kaɓirgel cuɓirgel binndi
-cursor_hand_tool.title=Hurmin kuutorgal junngo
-cursor_hand_tool_label=Kaɓirgel junngo
-
-scroll_vertical.title=Huutoro gorwitol daringol
-scroll_vertical_label=Gorwitol daringol
-scroll_horizontal.title=Huutoro gorwitol lelingol
-scroll_horizontal_label=Gorwitol daringol
-scroll_wrapped.title=Huutoro gorwitol coomingol
-scroll_wrapped_label=Gorwitol coomingol
-
-spread_none.title=Hoto tawtu kelle kelle
-spread_none_label=Alaa Spreads
-spread_odd.title=Tawtu kelle puɗɗortooɗe kelle teelɗe
-spread_odd_label=Kelle teelɗe
-spread_even.title=Tawtu ɗereeji kelle puɗɗoriiɗi kelle teeltuɗe
-spread_even_label=Kelle teeltuɗe
-
-# Document properties dialog box
-document_properties.title=Keeroraaɗi Winndannde…
-document_properties_label=Keeroraaɗi Winndannde…
-document_properties_file_name=Innde fiilde:
-document_properties_file_size=Ɓetol fiilde:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bite)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bite)
-document_properties_title=Tiitoonde:
-document_properties_author=Binnduɗo:
-document_properties_subject=Toɓɓere:
-document_properties_keywords=Kelmekele jiytirɗe:
-document_properties_creation_date=Ñalnde Sosaa:
-document_properties_modification_date=Ñalnde Waylaa:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Cosɗo:
-document_properties_producer=Paggiiɗo PDF:
-document_properties_version=Yamre PDF:
-document_properties_page_count=Limoore Kelle:
-document_properties_page_size=Ɓeto Hello:
-document_properties_page_size_unit_inches=nder
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=dariingo
-document_properties_page_size_orientation_landscape=wertiingo
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Ɓataake
-document_properties_page_size_name_legal=Laawol
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ɗisngo geese yaawngo:
-document_properties_linearized_yes=Eey
-document_properties_linearized_no=Alaa
-document_properties_close=Uddu
-
-print_progress_message=Nana heboo winnditaade fiilannde…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Haaytu
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggilo Palal Sawndo
-toggle_sidebar_notification.title=Palal sawndo (dokimaa oo ina waɗi taarngo/cinnde)
-toggle_sidebar_label=Toggilo Palal Sawndo
-document_outline.title=Hollu Ƴiyal Fiilannde (dobdobo ngam wertude/taggude teme fof)
-document_outline_label=Toɓɓe Fiilannde
-attachments.title=Hollu Ɗisanɗe
-attachments_label=Ɗisanɗe
-thumbs.title=Hollu Dooɓe
-thumbs_label=Dooɓe
-findbar.title=Yiylo e fiilannde
-findbar_label=Yiytu
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Hello {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Dooɓre Hello {{page}}
-
-# Find panel button title and messages
-find_input.title=Yiytu
-find_input.placeholder=Yiylo nder dokimaa
-find_previous.title=Yiylo cilol ɓennugol konngol ngol
-find_previous_label=Ɓennuɗo
-find_next.title=Yiylo cilol garowol konngol ngol
-find_next_label=Yeeso
-find_highlight=Jalbin fof
-find_match_case_label=Jaaɓnu darnde
-find_entire_word_label=Kelme timmuɗe tan
-find_reached_top=Heɓii fuɗɗorde fiilannde, jokku faya les
-find_reached_bottom=Heɓii hoore fiilannde, jokku faya les
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} wonande laabi {{total}}
-find_match_count[two]={{current}} wonande laabi {{total}}
-find_match_count[few]={{current}} wonande laabi {{total}}
-find_match_count[many]={{current}} wonande laabi {{total}}
-find_match_count[other]={{current}} wonande laabi {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[one]=Ko ɓuri laani {{limit}}
-find_match_count_limit[two]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[few]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[many]=Ko ɓuri laabi {{limit}}
-find_match_count_limit[other]=Ko ɓuri laabi {{limit}}
-find_not_found=Konngi njiyataa
-
-# Error panel labels
-error_more_info=Ɓeydu Humpito
-error_less_info=Ustu Humpito
-error_close=Uddu
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ɓatakuure: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fiilde: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Gorol: {{line}}
-rendering_error=Juumre waɗii tuma nde yoŋkittoo hello.
-
-# Predefined zoom values
-page_scale_width=Njaajeendi Hello
-page_scale_fit=Keƴeendi Hello
-page_scale_auto=Loongorde Jaajol
-page_scale_actual=Ɓetol Jaati
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Juumre
-loading_error=Juumre waɗii tuma nde loowata PDF oo.
-invalid_file_error=Fiilde PDF moƴƴaani walla jiibii.
-missing_file_error=Fiilde PDF ena ŋakki.
-unexpected_response_error=Jaabtol sarworde tijjinooka.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Siiftannde]
-password_label=Naatu finnde ngam uddite ndee fiilde PDF.
-password_invalid=Finnde moƴƴaani. Tiiɗno eto kadi.
-password_ok=OK
-password_cancel=Haaytu
-
-printing_not_supported=Reentino: Winnditagol tammbitaaka no feewi e ndee wanngorde.
-printing_not_ready=Reentino: PDF oo loowaaki haa timmi ngam winnditagol.
-web_fonts_disabled=Ponte geese ko daaƴaaɗe: horiima huutoraade ponte PDF coomtoraaɗe.
-document_colors_not_allowed=Piilanɗe PDF njamiraaka yoo kuutoro goobuuji mum'en keeriiɗi: 'Yamir kello yoo kuutoro goobuuki keeriiɗi' koko daaƴaa e wanngorde ndee.
diff --git a/server/target/classes/static/pdfjs/web/locale/fi/viewer.properties b/server/target/classes/static/pdfjs/web/locale/fi/viewer.properties
deleted file mode 100644
index 76bfa13..0000000
--- a/server/target/classes/static/pdfjs/web/locale/fi/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Edellinen sivu
-previous_label=Edellinen
-next.title=Seuraava sivu
-next_label=Seuraava
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Sivu
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=Loitonna
-zoom_out_label=Loitonna
-zoom_in.title=Lähennä
-zoom_in_label=Lähennä
-zoom.title=Suurennus
-presentation_mode.title=Siirry esitystilaan
-presentation_mode_label=Esitystila
-open_file.title=Avaa tiedosto
-open_file_label=Avaa
-print.title=Tulosta
-print_label=Tulosta
-download.title=Lataa
-download_label=Lataa
-bookmark.title=Avoin ikkuna (kopioi tai avaa uuteen ikkunaan)
-bookmark_label=Avoin ikkuna
-
-# Secondary toolbar and context menu
-tools.title=Tools
-tools_label=Tools
-first_page.title=Siirry ensimmäiselle sivulle
-first_page.label=Siirry ensimmäiselle sivulle
-first_page_label=Siirry ensimmäiselle sivulle
-last_page.title=Siirry viimeiselle sivulle
-last_page.label=Siirry viimeiselle sivulle
-last_page_label=Siirry viimeiselle sivulle
-page_rotate_cw.title=Kierrä oikealle
-page_rotate_cw.label=Kierrä oikealle
-page_rotate_cw_label=Kierrä oikealle
-page_rotate_ccw.title=Kierrä vasemmalle
-page_rotate_ccw.label=Kierrä vasemmalle
-page_rotate_ccw_label=Kierrä vasemmalle
-
-cursor_text_select_tool.title=Käytä tekstinvalintatyökalua
-cursor_text_select_tool_label=Tekstinvalintatyökalu
-cursor_hand_tool.title=Käytä käsityökalua
-cursor_hand_tool_label=Käsityökalu
-
-scroll_vertical.title=Käytä pystysuuntaista vieritystä
-scroll_vertical_label=Pystysuuntainen vieritys
-scroll_horizontal.title=Käytä vaakasuuntaista vieritystä
-scroll_horizontal_label=Vaakasuuntainen vieritys
-scroll_wrapped.title=Käytä rivittyvää vieritystä
-scroll_wrapped_label=Rivittyvä vieritys
-
-spread_none.title=Älä yhdistä sivuja aukeamiksi
-spread_none_label=Ei aukeamia
-spread_odd.title=Yhdistä sivut aukeamiksi alkaen parittomalta sivulta
-spread_odd_label=Parittomalta alkavat aukeamat
-spread_even.title=Yhdistä sivut aukeamiksi alkaen parilliselta sivulta
-spread_even_label=Parilliselta alkavat aukeamat
-
-# Document properties dialog box
-document_properties.title=Dokumentin ominaisuudet…
-document_properties_label=Dokumentin ominaisuudet…
-document_properties_file_name=Tiedostonimi:
-document_properties_file_size=Tiedoston koko:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kt ({{size_b}} tavua)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Mt ({{size_b}} tavua)
-document_properties_title=Otsikko:
-document_properties_author=Tekijä:
-document_properties_subject=Aihe:
-document_properties_keywords=Avainsanat:
-document_properties_creation_date=Luomispäivämäärä:
-document_properties_modification_date=Muokkauspäivämäärä:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Luoja:
-document_properties_producer=PDF-tuottaja:
-document_properties_version=PDF-versio:
-document_properties_page_count=Sivujen määrä:
-document_properties_page_size=Sivun koko:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=pysty
-document_properties_page_size_orientation_landscape=vaaka
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Nopea web-katselu:
-document_properties_linearized_yes=Kyllä
-document_properties_linearized_no=Ei
-document_properties_close=Sulje
-
-print_progress_message=Valmistellaan dokumenttia tulostamista varten…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Peruuta
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Näytä/piilota sivupaneeli
-toggle_sidebar_notification.title=Näytä/piilota sivupaneeli (dokumentissa on sisällys tai liitteitä)
-toggle_sidebar_label=Näytä/piilota sivupaneeli
-document_outline.title=Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla)
-document_outline_label=Dokumentin sisällys
-attachments.title=Näytä liitteet
-attachments_label=Liitteet
-thumbs.title=Näytä pienoiskuvat
-thumbs_label=Pienoiskuvat
-findbar.title=Etsi dokumentista
-findbar_label=Etsi
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Sivu {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Sivu {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Pienoiskuva sivusta {{page}}
-
-# Find panel button title and messages
-find_input.title=Etsi
-find_input.placeholder=Etsi dokumentista…
-find_previous.title=Etsi hakusanan edellinen osuma
-find_previous_label=Edellinen
-find_next.title=Etsi hakusanan seuraava osuma
-find_next_label=Seuraava
-find_highlight=Korosta kaikki
-find_match_case_label=Huomioi kirjainkoko
-find_entire_word_label=Kokonaiset sanat
-find_reached_top=Päästiin dokumentin alkuun, jatketaan lopusta
-find_reached_bottom=Päästiin sivun loppuun, jatketaan alusta
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} osuma
-find_match_count[two]={{current}} / {{total}} osumaa
-find_match_count[few]={{current}} / {{total}} osumaa
-find_match_count[many]={{current}} / {{total}} osumaa
-find_match_count[other]={{current}} / {{total}} osumaa
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[one]=Enemmän kuin {{limit}} osuma
-find_match_count_limit[two]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[few]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[many]=Enemmän kuin {{limit}} osumaa
-find_match_count_limit[other]=Enemmän kuin {{limit}} osumaa
-find_not_found=Hakusanaa ei löytynyt
-
-# Error panel labels
-error_more_info=Lisätietoja
-error_less_info=Lisätietoja
-error_close=Sulje
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (kooste: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Virheilmoitus: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pino: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Tiedosto: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rivi: {{line}}
-rendering_error=Tapahtui virhe piirrettäessä sivua.
-
-# Predefined zoom values
-page_scale_width=Sivun leveys
-page_scale_fit=Koko sivu
-page_scale_auto=Automaattinen suurennus
-page_scale_actual=Todellinen koko
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Virhe
-loading_error=Tapahtui virhe ladattaessa PDF-tiedostoa.
-invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto.
-missing_file_error=Puuttuva PDF-tiedosto.
-unexpected_response_error=Odottamaton vastaus palvelimelta.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Kirjoita PDF-tiedoston salasana.
-password_invalid=Virheellinen salasana. Yritä uudestaan.
-password_ok=OK
-password_cancel=Peruuta
-
-printing_not_supported=Varoitus: Selain ei tue kaikkia tulostustapoja.
-printing_not_ready=Varoitus: PDF-tiedosto ei ole vielä latautunut kokonaan, eikä sitä voi vielä tulostaa.
-web_fonts_disabled=Verkkosivujen omat kirjasinlajit on estetty: ei voida käyttää upotettuja PDF-kirjasinlajeja.
-document_colors_not_allowed=PDF-dokumenttien ei ole sallittua käyttää omia värejään: Asetusta ”Sivut saavat käyttää omia värejään oletusten sijaan” ei ole valittu selaimen asetuksissa.
diff --git a/server/target/classes/static/pdfjs/web/locale/fr/viewer.properties b/server/target/classes/static/pdfjs/web/locale/fr/viewer.properties
deleted file mode 100644
index 7df1d3d..0000000
--- a/server/target/classes/static/pdfjs/web/locale/fr/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Page précédente
-previous_label=Précédent
-next.title=Page suivante
-next_label=Suivant
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Page
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=sur {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} sur {{pagesCount}})
-
-zoom_out.title=Zoom arrière
-zoom_out_label=Zoom arrière
-zoom_in.title=Zoom avant
-zoom_in_label=Zoom avant
-zoom.title=Zoom
-presentation_mode.title=Basculer en mode présentation
-presentation_mode_label=Mode présentation
-open_file.title=Ouvrir le fichier
-open_file_label=Ouvrir le fichier
-print.title=Imprimer
-print_label=Imprimer
-download.title=Télécharger
-download_label=Télécharger
-bookmark.title=Affichage courant (copier ou ouvrir dans une nouvelle fenêtre)
-bookmark_label=Affichage actuel
-
-# Secondary toolbar and context menu
-tools.title=Outils
-tools_label=Outils
-first_page.title=Aller à la première page
-first_page.label=Aller à la première page
-first_page_label=Aller à la première page
-last_page.title=Aller à la dernière page
-last_page.label=Aller à la dernière page
-last_page_label=Aller à la dernière page
-page_rotate_cw.title=Rotation horaire
-page_rotate_cw.label=Rotation horaire
-page_rotate_cw_label=Rotation horaire
-page_rotate_ccw.title=Rotation antihoraire
-page_rotate_ccw.label=Rotation antihoraire
-page_rotate_ccw_label=Rotation antihoraire
-
-cursor_text_select_tool.title=Activer l’outil de sélection de texte
-cursor_text_select_tool_label=Outil de sélection de texte
-cursor_hand_tool.title=Activer l’outil main
-cursor_hand_tool_label=Outil main
-
-scroll_vertical.title=Utiliser le défilement vertical
-scroll_vertical_label=Défilement vertical
-scroll_horizontal.title=Utiliser le défilement horizontal
-scroll_horizontal_label=Défilement horizontal
-scroll_wrapped.title=Utiliser le défilement par bloc
-scroll_wrapped_label=Défilement par bloc
-
-spread_none.title=Ne pas afficher les pages deux à deux
-spread_none_label=Pas de double affichage
-spread_odd.title=Afficher les pages par deux, impaires à gauche
-spread_odd_label=Doubles pages, impaires à gauche
-spread_even.title=Afficher les pages par deux, paires à gauche
-spread_even_label=Doubles pages, paires à gauche
-
-# Document properties dialog box
-document_properties.title=Propriétés du document…
-document_properties_label=Propriétés du document…
-document_properties_file_name=Nom du fichier :
-document_properties_file_size=Taille du fichier :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ko ({{size_b}} octets)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Mo ({{size_b}} octets)
-document_properties_title=Titre :
-document_properties_author=Auteur :
-document_properties_subject=Sujet :
-document_properties_keywords=Mots-clés :
-document_properties_creation_date=Date de création :
-document_properties_modification_date=Modifié le :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} à {{time}}
-document_properties_creator=Créé par :
-document_properties_producer=Outil de conversion PDF :
-document_properties_version=Version PDF :
-document_properties_page_count=Nombre de pages :
-document_properties_page_size=Taille de la page :
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=paysage
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=lettre
-document_properties_page_size_name_legal=document juridique
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Affichage rapide des pages web :
-document_properties_linearized_yes=Oui
-document_properties_linearized_no=Non
-document_properties_close=Fermer
-
-print_progress_message=Préparation du document pour l’impression…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Annuler
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Afficher/Masquer le panneau latéral
-toggle_sidebar_notification.title=Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes)
-toggle_sidebar_label=Afficher/Masquer le panneau latéral
-document_outline.title=Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments)
-document_outline_label=Signets du document
-attachments.title=Afficher les pièces jointes
-attachments_label=Pièces jointes
-thumbs.title=Afficher les vignettes
-thumbs_label=Vignettes
-findbar.title=Rechercher dans le document
-findbar_label=Rechercher
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Page {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Page {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Vignette de la page {{page}}
-
-# Find panel button title and messages
-find_input.title=Rechercher
-find_input.placeholder=Rechercher dans le document…
-find_previous.title=Trouver l’occurrence précédente de l’expression
-find_previous_label=Précédent
-find_next.title=Trouver la prochaine occurrence de l’expression
-find_next_label=Suivant
-find_highlight=Tout surligner
-find_match_case_label=Respecter la casse
-find_entire_word_label=Mots entiers
-find_reached_top=Haut de la page atteint, poursuite depuis la fin
-find_reached_bottom=Bas de la page atteint, poursuite au début
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Occurrence {{current}} sur {{total}}
-find_match_count[two]=Occurrence {{current}} sur {{total}}
-find_match_count[few]=Occurrence {{current}} sur {{total}}
-find_match_count[many]=Occurrence {{current}} sur {{total}}
-find_match_count[other]=Occurrence {{current}} sur {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Plus de {{limit}} correspondances
-find_match_count_limit[one]=Plus de {{limit}} correspondance
-find_match_count_limit[two]=Plus de {{limit}} correspondances
-find_match_count_limit[few]=Plus de {{limit}} correspondances
-find_match_count_limit[many]=Plus de {{limit}} correspondances
-find_match_count_limit[other]=Plus de {{limit}} correspondances
-find_not_found=Expression non trouvée
-
-# Error panel labels
-error_more_info=Plus d’informations
-error_less_info=Moins d’informations
-error_close=Fermer
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (identifiant de compilation : {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message : {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pile : {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fichier : {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ligne : {{line}}
-rendering_error=Une erreur s’est produite lors de l’affichage de la page.
-
-# Predefined zoom values
-page_scale_width=Pleine largeur
-page_scale_fit=Page entière
-page_scale_auto=Zoom automatique
-page_scale_actual=Taille réelle
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Erreur
-loading_error=Une erreur s’est produite lors du chargement du fichier PDF.
-invalid_file_error=Fichier PDF invalide ou corrompu.
-missing_file_error=Fichier PDF manquant.
-unexpected_response_error=Réponse inattendue du serveur.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} à {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Annotation {{type}}]
-password_label=Veuillez saisir le mot de passe pour ouvrir ce fichier PDF.
-password_invalid=Mot de passe incorrect. Veuillez réessayer.
-password_ok=OK
-password_cancel=Annuler
-
-printing_not_supported=Attention : l’impression n’est pas totalement prise en charge par ce navigateur.
-printing_not_ready=Attention : le PDF n’est pas entièrement chargé pour pouvoir l’imprimer.
-web_fonts_disabled=Les polices web sont désactivées : impossible d’utiliser les polices intégrées au PDF.
-document_colors_not_allowed=Les documents PDF ne peuvent pas utiliser leurs propres couleurs : « Autoriser les pages web à utiliser leurs propres couleurs » est désactivé dans le navigateur.
diff --git a/server/target/classes/static/pdfjs/web/locale/fy-NL/viewer.properties b/server/target/classes/static/pdfjs/web/locale/fy-NL/viewer.properties
deleted file mode 100644
index 4d6b18c..0000000
--- a/server/target/classes/static/pdfjs/web/locale/fy-NL/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Foarige side
-previous_label=Foarige
-next.title=Folgjende side
-next_label=Folgjende
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=fa {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} fan {{pagesCount}})
-
-zoom_out.title=Utzoome
-zoom_out_label=Utzoome
-zoom_in.title=Ynzoome
-zoom_in_label=Ynzoome
-zoom.title=Zoome
-presentation_mode.title=Wikselje nei presintaasjemodus
-presentation_mode_label=Presintaasjemodus
-open_file.title=Bestân iepenje
-open_file_label=Iepenje
-print.title=Ofdrukke
-print_label=Ofdrukke
-download.title=Downloade
-download_label=Downloade
-bookmark.title=Aktuele finster (kopiearje of iepenje yn nij finster)
-bookmark_label=Aktuele finster
-
-# Secondary toolbar and context menu
-tools.title=Ark
-tools_label=Ark
-first_page.title=Gean nei earste side
-first_page.label=Nei earste side gean
-first_page_label=Gean nei earste side
-last_page.title=Gean nei lêste side
-last_page.label=Nei lêste side gean
-last_page_label=Gean nei lêste side
-page_rotate_cw.title=Rjochtsom draaie
-page_rotate_cw.label=Rjochtsom draaie
-page_rotate_cw_label=Rjochtsom draaie
-page_rotate_ccw.title=Loftsom draaie
-page_rotate_ccw.label=Loftsom draaie
-page_rotate_ccw_label=Loftsom draaie
-
-cursor_text_select_tool.title=Tekstseleksjehelpmiddel ynskeakelje
-cursor_text_select_tool_label=Tekstseleksjehelpmiddel
-cursor_hand_tool.title=Hânhelpmiddel ynskeakelje
-cursor_hand_tool_label=Hânhelpmiddel
-
-scroll_vertical.title=Fertikaal skowe brûke
-scroll_vertical_label=Fertikaal skowe
-scroll_horizontal.title=Horizontaal skowe brûke
-scroll_horizontal_label=Horizontaal skowe
-scroll_wrapped.title=Skowe mei oersjoch brûke
-scroll_wrapped_label=Skowe mei oersjoch
-
-spread_none.title=Sidesprieding net gearfetsje
-spread_none_label=Gjin sprieding
-spread_odd.title=Sidesprieding gearfetsje te starten mei ûneven nûmers
-spread_odd_label=Uneven sprieding
-spread_even.title=Sidesprieding gearfetsje te starten mei even nûmers
-spread_even_label=Even sprieding
-
-# Document properties dialog box
-document_properties.title=Dokuminteigenskippen…
-document_properties_label=Dokuminteigenskippen…
-document_properties_file_name=Bestânsnamme:
-document_properties_file_size=Bestânsgrutte:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Auteur:
-document_properties_subject=Underwerp:
-document_properties_keywords=Kaaiwurden:
-document_properties_creation_date=Oanmaakdatum:
-document_properties_modification_date=Bewurkingsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Makker:
-document_properties_producer=PDF-makker:
-document_properties_version=PDF-ferzje:
-document_properties_page_count=Siden:
-document_properties_page_size=Sideformaat:
-document_properties_page_size_unit_inches=yn
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=steand
-document_properties_page_size_orientation_landscape=lizzend
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Juridysk
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Flugge webwerjefte:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nee
-document_properties_close=Slute
-
-print_progress_message=Dokumint tariede oar ôfdrukken…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Annulearje
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sidebalke yn-/útskeakelje
-toggle_sidebar_notification.title=Sidebalke yn-/útskeakelje (dokumint befettet outline/bylagen)
-toggle_sidebar_label=Sidebalke yn-/útskeakelje
-document_outline.title=Dokumintoersjoch toane (dûbelklik om alle items út/yn te klappen)
-document_outline_label=Dokumintoersjoch
-attachments.title=Bylagen toane
-attachments_label=Bylagen
-thumbs.title=Foarbylden toane
-thumbs_label=Foarbylden
-findbar.title=Sykje yn dokumint
-findbar_label=Sykje
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Foarbyld fan side {{page}}
-
-# Find panel button title and messages
-find_input.title=Sykje
-find_input.placeholder=Sykje yn dokumint…
-find_previous.title=It foarige foarkommen fan de tekst sykje
-find_previous_label=Foarige
-find_next.title=It folgjende foarkommen fan de tekst sykje
-find_next_label=Folgjende
-find_highlight=Alles markearje
-find_match_case_label=Haadlettergefoelich
-find_entire_word_label=Hiele wurden
-find_reached_top=Boppekant fan dokumint berikt, trochgien fan ûnder ôf
-find_reached_bottom=Ein fan dokumint berikt, trochgien fan boppe ôf
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} fan {{total}} oerienkomst
-find_match_count[two]={{current}} fan {{total}} oerienkomsten
-find_match_count[few]={{current}} fan {{total}} oerienkomsten
-find_match_count[many]={{current}} fan {{total}} oerienkomsten
-find_match_count[other]={{current}} fan {{total}} oerienkomsten
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[one]=Mear as {{limit}} oerienkomst
-find_match_count_limit[two]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[few]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[many]=Mear as {{limit}} oerienkomsten
-find_match_count_limit[other]=Mear as {{limit}} oerienkomsten
-find_not_found=Tekst net fûn
-
-# Error panel labels
-error_more_info=Mear ynformaasje
-error_less_info=Minder ynformaasje
-error_close=Slute
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js f{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Berjocht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Bestân: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rigel: {{line}}
-rendering_error=Der is in flater bard by it renderjen fan de side.
-
-# Predefined zoom values
-page_scale_width=Sidebreedte
-page_scale_fit=Hiele side
-page_scale_auto=Automatysk zoome
-page_scale_actual=Werklike grutte
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Flater
-loading_error=Der is in flater bard by it laden fan de PDF.
-invalid_file_error=Ynfalide of korruptearre PDF-bestân.
-missing_file_error=PDF-bestân ûntbrekt.
-unexpected_response_error=Unferwacht serverantwurd.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-annotaasje]
-password_label=Jou it wachtwurd om dit PDF-bestân te iepenjen.
-password_invalid=Ferkeard wachtwurd. Probearje opnij.
-password_ok=OK
-password_cancel=Annulearje
-
-printing_not_supported=Warning: Printen is net folslein stipe troch dizze browser.
-printing_not_ready=Warning: PDF is net folslein laden om ôf te drukken.
-web_fonts_disabled=Weblettertypen binne útskeakele: gebrûk fan ynsluten PDF-lettertypen is net mooglik.
-document_colors_not_allowed=PDF-dokuminten meie harren eigen kleuren net brûke: ‘Siden tastean om harren eigen kleuren te kiezen’ is útskeakele yn de browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/ga-IE/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ga-IE/viewer.properties
deleted file mode 100644
index 62f1a55..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ga-IE/viewer.properties
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=An Leathanach Roimhe Seo
-previous_label=Roimhe Seo
-next.title=An Chéad Leathanach Eile
-next_label=Ar Aghaidh
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Leathanach
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=as {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} as {{pagesCount}})
-
-zoom_out.title=Súmáil Amach
-zoom_out_label=Súmáil Amach
-zoom_in.title=Súmáil Isteach
-zoom_in_label=Súmáil Isteach
-zoom.title=Súmáil
-presentation_mode.title=Úsáid an Mód Láithreoireachta
-presentation_mode_label=Mód Láithreoireachta
-open_file.title=Oscail Comhad
-open_file_label=Oscail
-print.title=Priontáil
-print_label=Priontáil
-download.title=Íoslódáil
-download_label=Íoslódáil
-bookmark.title=An t-amharc reatha (cóipeáil nó oscail i bhfuinneog nua)
-bookmark_label=An tAmharc Reatha
-
-# Secondary toolbar and context menu
-tools.title=Uirlisí
-tools_label=Uirlisí
-first_page.title=Go dtí an chéad leathanach
-first_page.label=Go dtí an chéad leathanach
-first_page_label=Go dtí an chéad leathanach
-last_page.title=Go dtí an leathanach deiridh
-last_page.label=Go dtí an leathanach deiridh
-last_page_label=Go dtí an leathanach deiridh
-page_rotate_cw.title=Rothlaigh ar deiseal
-page_rotate_cw.label=Rothlaigh ar deiseal
-page_rotate_cw_label=Rothlaigh ar deiseal
-page_rotate_ccw.title=Rothlaigh ar tuathal
-page_rotate_ccw.label=Rothlaigh ar tuathal
-page_rotate_ccw_label=Rothlaigh ar tuathal
-
-cursor_text_select_tool.title=Cumasaigh an Uirlis Roghnaithe Téacs
-cursor_text_select_tool_label=Uirlis Roghnaithe Téacs
-cursor_hand_tool.title=Cumasaigh an Uirlis Láimhe
-cursor_hand_tool_label=Uirlis Láimhe
-
-# Document properties dialog box
-document_properties.title=Airíonna na Cáipéise…
-document_properties_label=Airíonna na Cáipéise…
-document_properties_file_name=Ainm an chomhaid:
-document_properties_file_size=Méid an chomhaid:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} beart)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} beart)
-document_properties_title=Teideal:
-document_properties_author=Údar:
-document_properties_subject=Ábhar:
-document_properties_keywords=Eochairfhocail:
-document_properties_creation_date=Dáta Cruthaithe:
-document_properties_modification_date=Dáta Athraithe:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Cruthaitheoir:
-document_properties_producer=Cruthaitheoir an PDF:
-document_properties_version=Leagan PDF:
-document_properties_page_count=Líon Leathanach:
-document_properties_close=Dún
-
-print_progress_message=Cáipéis á hullmhú le priontáil…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cealaigh
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Scoránaigh an Barra Taoibh
-toggle_sidebar_notification.title=Scoránaigh an Barra Taoibh (achoimre/iatáin sa cháipéis)
-toggle_sidebar_label=Scoránaigh an Barra Taoibh
-document_outline.title=Taispeáin Imlíne na Cáipéise (déchliceáil chun chuile rud a leathnú nó a laghdú)
-document_outline_label=Creatlach na Cáipéise
-attachments.title=Taispeáin Iatáin
-attachments_label=Iatáin
-thumbs.title=Taispeáin Mionsamhlacha
-thumbs_label=Mionsamhlacha
-findbar.title=Aimsigh sa Cháipéis
-findbar_label=Aimsigh
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Leathanach {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Mionsamhail Leathanaigh {{page}}
-
-# Find panel button title and messages
-find_input.title=Aimsigh
-find_input.placeholder=Aimsigh sa cháipéis…
-find_previous.title=Aimsigh an sampla roimhe seo den nath seo
-find_previous_label=Roimhe seo
-find_next.title=Aimsigh an chéad sampla eile den nath sin
-find_next_label=Ar aghaidh
-find_highlight=Aibhsigh uile
-find_match_case_label=Cásíogair
-find_reached_top=Ag barr na cáipéise, ag leanúint ón mbun
-find_reached_bottom=Ag bun na cáipéise, ag leanúint ón mbarr
-find_not_found=Frása gan aimsiú
-
-# Error panel labels
-error_more_info=Tuilleadh Eolais
-error_less_info=Níos Lú Eolais
-error_close=Dún
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Teachtaireacht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Cruach: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Comhad: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Líne: {{line}}
-rendering_error=Tharla earráid agus an leathanach á leagan amach.
-
-# Predefined zoom values
-page_scale_width=Leithead Leathanaigh
-page_scale_fit=Laghdaigh go dtí an Leathanach
-page_scale_auto=Súmáil Uathoibríoch
-page_scale_actual=Fíormhéid
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Earráid
-loading_error=Tharla earráid agus an cháipéis PDF á lódáil.
-invalid_file_error=Comhad neamhbhailí nó truaillithe PDF.
-missing_file_error=Comhad PDF ar iarraidh.
-unexpected_response_error=Freagra ón bhfreastalaí nach rabhthas ag súil leis.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anótáil {{type}}]
-password_label=Cuir an focal faire isteach chun an comhad PDF seo a oscailt.
-password_invalid=Focal faire mícheart. Déan iarracht eile.
-password_ok=OK
-password_cancel=Cealaigh
-
-printing_not_supported=Rabhadh: Ní thacaíonn an brabhsálaí le priontáil go hiomlán.
-printing_not_ready=Rabhadh: Ní féidir an PDF a phriontáil go dtí go mbeidh an cháipéis iomlán lódáilte.
-web_fonts_disabled=Tá clófhoirne Gréasáin díchumasaithe: ní féidir clófhoirne leabaithe PDF a úsáid.
-document_colors_not_allowed=Níl cead ag cáipéisí PDF a ndathanna féin a roghnú: tá “Tabhair cead do leathanaigh a ndathanna féin a roghnú” díchumasaithe sa mbrabhsálaí.
diff --git a/server/target/classes/static/pdfjs/web/locale/gd/viewer.properties b/server/target/classes/static/pdfjs/web/locale/gd/viewer.properties
deleted file mode 100644
index 2712568..0000000
--- a/server/target/classes/static/pdfjs/web/locale/gd/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=An duilleag roimhe
-previous_label=Air ais
-next.title=An ath-dhuilleag
-next_label=Air adhart
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Duilleag
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=à {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} à {{pagesCount}})
-
-zoom_out.title=Sùm a-mach
-zoom_out_label=Sùm a-mach
-zoom_in.title=Sùm a-steach
-zoom_in_label=Sùm a-steach
-zoom.title=Sùm
-presentation_mode.title=Gearr leum dhan mhodh taisbeanaidh
-presentation_mode_label=Am modh taisbeanaidh
-open_file.title=Fosgail faidhle
-open_file_label=Fosgail
-print.title=Clò-bhuail
-print_label=Clò-bhuail
-download.title=Luchdaich a-nuas
-download_label=Luchdaich a-nuas
-bookmark.title=An sealladh làithreach (dèan lethbhreac no fosgail e ann an uinneag ùr)
-bookmark_label=An sealladh làithreach
-
-# Secondary toolbar and context menu
-tools.title=Innealan
-tools_label=Innealan
-first_page.title=Rach gun chiad duilleag
-first_page.label=Rach gun chiad duilleag
-first_page_label=Rach gun chiad duilleag
-last_page.title=Rach gun duilleag mu dheireadh
-last_page.label=Rach gun duilleag mu dheireadh
-last_page_label=Rach gun duilleag mu dheireadh
-page_rotate_cw.title=Cuairtich gu deiseil
-page_rotate_cw.label=Cuairtich gu deiseil
-page_rotate_cw_label=Cuairtich gu deiseil
-page_rotate_ccw.title=Cuairtich gu tuathail
-page_rotate_ccw.label=Cuairtich gu tuathail
-page_rotate_ccw_label=Cuairtich gu tuathail
-
-cursor_text_select_tool.title=Cuir an comas inneal taghadh an teacsa
-cursor_text_select_tool_label=Inneal taghadh an teacsa
-cursor_hand_tool.title=Cuir inneal na làimhe an comas
-cursor_hand_tool_label=Inneal na làimhe
-
-scroll_vertical.title=Cleachd sgroladh inghearach
-scroll_vertical_label=Sgroladh inghearach
-scroll_horizontal.title=Cleachd sgroladh còmhnard
-scroll_horizontal_label=Sgroladh còmhnard
-scroll_wrapped.title=Cleachd sgroladh paisgte
-scroll_wrapped_label=Sgroladh paisgte
-
-spread_none.title=Na cuir còmhla sgoileadh dhuilleagan
-spread_none_label=Gun sgaoileadh dhuilleagan
-spread_odd.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chorr
-spread_odd_label=Sgaoileadh dhuilleagan corra
-spread_even.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chothrom
-spread_even_label=Sgaoileadh dhuilleagan cothrom
-
-# Document properties dialog box
-document_properties.title=Roghainnean na sgrìobhainne…
-document_properties_label=Roghainnean na sgrìobhainne…
-document_properties_file_name=Ainm an fhaidhle:
-document_properties_file_size=Meud an fhaidhle:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Tiotal:
-document_properties_author=Ùghdar:
-document_properties_subject=Cuspair:
-document_properties_keywords=Faclan-luirg:
-document_properties_creation_date=Latha a chruthachaidh:
-document_properties_modification_date=Latha atharrachaidh:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Cruthadair:
-document_properties_producer=Saothraiche a' PDF:
-document_properties_version=Tionndadh a' PDF:
-document_properties_page_count=Àireamh de dhuilleagan:
-document_properties_page_size=Meud na duilleige:
-document_properties_page_size_unit_inches=ann an
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portraid
-document_properties_page_size_orientation_landscape=dreach-tìre
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Litir
-document_properties_page_size_name_legal=Laghail
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Grad shealladh-lìn:
-document_properties_linearized_yes=Tha
-document_properties_linearized_no=Chan eil
-document_properties_close=Dùin
-
-print_progress_message=Ag ullachadh na sgrìobhainn airson clò-bhualadh…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Sguir dheth
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toglaich am bàr-taoibh
-toggle_sidebar_notification.title=Toglaich am bàr-taoibh (tha oir-loidhne/ceanglachain aig an sgrìobhainn)
-toggle_sidebar_label=Toglaich am bàr-taoibh
-document_outline.title=Seall oir-loidhne na sgrìobhainn (dèan briogadh dùbailte airson a h-uile nì a leudachadh/a cho-theannadh)
-document_outline_label=Oir-loidhne na sgrìobhainne
-attachments.title=Seall na ceanglachain
-attachments_label=Ceanglachain
-thumbs.title=Seall na dealbhagan
-thumbs_label=Dealbhagan
-findbar.title=Lorg san sgrìobhainn
-findbar_label=Lorg
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Duilleag a {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Dealbhag duilleag a {{page}}
-
-# Find panel button title and messages
-find_input.title=Lorg
-find_input.placeholder=Lorg san sgrìobhainn...
-find_previous.title=Lorg làthair roimhe na h-abairt seo
-find_previous_label=Air ais
-find_next.title=Lorg ath-làthair na h-abairt seo
-find_next_label=Air adhart
-find_highlight=Soillsich a h-uile
-find_match_case_label=Aire do litrichean mòra is beaga
-find_entire_word_label=Faclan-slàna
-find_reached_top=Ràinig sinn barr na duilleige, a' leantainn air adhart o bhonn na duilleige
-find_reached_bottom=Ràinig sinn bonn na duilleige, a' leantainn air adhart o bharr na duilleige
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} à {{total}} mhaids
-find_match_count[two]={{current}} à {{total}} mhaids
-find_match_count[few]={{current}} à {{total}} maidsichean
-find_match_count[many]={{current}} à {{total}} maids
-find_match_count[other]={{current}} à {{total}} maids
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Barrachd air {{limit}} maids
-find_match_count_limit[one]=Barrachd air {{limit}} mhaids
-find_match_count_limit[two]=Barrachd air {{limit}} mhaids
-find_match_count_limit[few]=Barrachd air {{limit}} maidsichean
-find_match_count_limit[many]=Barrachd air {{limit}} maids
-find_match_count_limit[other]=Barrachd air {{limit}} maids
-find_not_found=Cha deach an abairt a lorg
-
-# Error panel labels
-error_more_info=Barrachd fiosrachaidh
-error_less_info=Nas lugha de dh'fhiosrachadh
-error_close=Dùin
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Teachdaireachd: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stac: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Faidhle: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Loidhne: {{line}}
-rendering_error=Thachair mearachd rè reandaradh na duilleige.
-
-# Predefined zoom values
-page_scale_width=Leud na duilleige
-page_scale_fit=Freagair ri meud na duilleige
-page_scale_auto=Sùm fèin-obrachail
-page_scale_actual=Am fìor-mheud
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Mearachd
-loading_error=Thachair mearachd rè luchdadh a' PDF.
-invalid_file_error=Faidhle PDF a tha mì-dhligheach no coirbte.
-missing_file_error=Faidhle PDF a tha a dhìth.
-unexpected_response_error=Freagairt on fhrithealaiche ris nach robh dùil.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Nòtachadh {{type}}]
-password_label=Cuir a-steach am facal-faire gus am faidhle PDF seo fhosgladh.
-password_invalid=Tha am facal-faire cearr. Nach fheuch thu ris a-rithist?
-password_ok=Ceart ma-tha
-password_cancel=Sguir dheth
-
-printing_not_supported=Rabhadh: Chan eil am brabhsair seo a' cur làn-taic ri clò-bhualadh.
-printing_not_ready=Rabhadh: Cha deach am PDF a luchdadh gu tur airson clò-bhualadh.
-web_fonts_disabled=Tha cruthan-clò lìn à comas: Chan urrainn dhuinn cruthan-clò PDF leabaichte a chleachdadh.
-document_colors_not_allowed=Chan fhaod sgrìobhainnean PDF na dathan aca fhèin a chleachdadh: Tha “Leig le duilleagan na dathan aca fhèin a chleachdadh” à comas sa bhrabhsair.
diff --git a/server/target/classes/static/pdfjs/web/locale/gl/viewer.properties b/server/target/classes/static/pdfjs/web/locale/gl/viewer.properties
deleted file mode 100644
index 187dbf1..0000000
--- a/server/target/classes/static/pdfjs/web/locale/gl/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Páxina anterior
-previous_label=Anterior
-next.title=Seguinte páxina
-next_label=Seguinte
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Páxina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reducir
-zoom_out_label=Reducir
-zoom_in.title=Ampliar
-zoom_in_label=Ampliar
-zoom.title=Zoom
-presentation_mode.title=Cambiar ao modo presentación
-presentation_mode_label=Modo presentación
-open_file.title=Abrir ficheiro
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Descargar
-download_label=Descargar
-bookmark.title=Vista actual (copiar ou abrir nunha nova xanela)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Ferramentas
-tools_label=Ferramentas
-first_page.title=Ir á primeira páxina
-first_page.label=Ir á primeira páxina
-first_page_label=Ir á primeira páxina
-last_page.title=Ir á última páxina
-last_page.label=Ir á última páxina
-last_page_label=Ir á última páxina
-page_rotate_cw.title=Rotar no sentido das agullas do reloxo
-page_rotate_cw.label=Rotar no sentido das agullas do reloxo
-page_rotate_cw_label=Rotar no sentido das agullas do reloxo
-page_rotate_ccw.title=Rotar no sentido contrario ás agullas do reloxo
-page_rotate_ccw.label=Rotar no sentido contrario ás agullas do reloxo
-page_rotate_ccw_label=Rotar no sentido contrario ás agullas do reloxo
-
-cursor_text_select_tool.title=Activar a ferramenta de selección de texto
-cursor_text_select_tool_label=Ferramenta de selección de texto
-cursor_hand_tool.title=Activar a ferramenta man
-cursor_hand_tool_label=Ferramenta man
-
-scroll_vertical.title=Usar o desprazamento vertical
-scroll_vertical_label=Desprazamento vertical
-scroll_horizontal.title=Usar o desprazamento horizontal
-scroll_horizontal_label=Desprazamento horizontal
-scroll_wrapped.title=Usar desprazamento en bloque
-scroll_wrapped_label=Desprazamento en bloque
-
-spread_none.title=Non agrupar páxinas
-spread_none_label=Ningún agrupamento
-spread_odd.title=Crea grupo de páxinas que comezan con números de páxina impares
-spread_odd_label=Agrupamento impar
-spread_even.title=Crea grupo de páxinas que comezan con números de páxina pares
-spread_even_label=Agrupamento par
-
-# Document properties dialog box
-document_properties.title=Propiedades do documento…
-document_properties_label=Propiedades do documento…
-document_properties_file_name=Nome do ficheiro:
-document_properties_file_size=Tamaño do ficheiro:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Asunto:
-document_properties_keywords=Palabras clave:
-document_properties_creation_date=Data de creación:
-document_properties_modification_date=Data de modificación:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creado por:
-document_properties_producer=Xenerador do PDF:
-document_properties_version=Versión de PDF:
-document_properties_page_count=Número de páxinas:
-document_properties_page_size=Tamaño da páxina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Vertical
-document_properties_page_size_orientation_landscape=Horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Visualización rápida das páxinas web:
-document_properties_linearized_yes=Si
-document_properties_linearized_no=Non
-document_properties_close=Pechar
-
-print_progress_message=Preparando documento para imprimir…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Amosar/agochar a barra lateral
-toggle_sidebar_notification.title=Amosar/agochar a barra lateral (o documento contén un esquema ou anexos)
-toggle_sidebar_label=Amosar/agochar a barra lateral
-document_outline.title=Amosar o esquema do documento (prema dúas veces para expandir/contraer todos os elementos)
-document_outline_label=Esquema do documento
-attachments.title=Amosar anexos
-attachments_label=Anexos
-thumbs.title=Amosar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Atopar no documento
-findbar_label=Atopar
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Páxina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da páxina {{page}}
-
-# Find panel button title and messages
-find_input.title=Atopar
-find_input.placeholder=Atopar no documento…
-find_previous.title=Atopar a anterior aparición da frase
-find_previous_label=Anterior
-find_next.title=Atopar a seguinte aparición da frase
-find_next_label=Seguinte
-find_highlight=Realzar todo
-find_match_case_label=Diferenciar maiúsculas de minúsculas
-find_entire_word_label=Palabras completas
-find_reached_top=Chegouse ao inicio do documento, continuar desde o final
-find_reached_bottom=Chegouse ao final do documento, continuar desde o inicio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} coincidencia
-find_match_count[two]={{current}} de {{total}} coincidencias
-find_match_count[few]={{current}} de {{total}} coincidencias
-find_match_count[many]={{current}} de {{total}} coincidencias
-find_match_count[other]={{current}} de {{total}} coincidencias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Máis de {{limit}} coincidencias
-find_match_count_limit[one]=Máis de {{limit}} coincidencia
-find_match_count_limit[two]=Máis de {{limit}} coincidencias
-find_match_count_limit[few]=Máis de {{limit}} coincidencias
-find_match_count_limit[many]=Máis de {{limit}} coincidencias
-find_match_count_limit[other]=Máis de {{limit}} coincidencias
-find_not_found=Non se atopou a frase
-
-# Error panel labels
-error_more_info=Máis información
-error_less_info=Menos información
-error_close=Pechar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (Identificador da compilación: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensaxe: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ficheiro: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Liña: {{line}}
-rendering_error=Produciuse un erro ao representar a páxina.
-
-# Predefined zoom values
-page_scale_width=Largura da páxina
-page_scale_fit=Axuste de páxina
-page_scale_auto=Zoom automático
-page_scale_actual=Tamaño actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Erro
-loading_error=Produciuse un erro ao cargar o PDF.
-invalid_file_error=Ficheiro PDF danado ou non válido.
-missing_file_error=Falta o ficheiro PDF.
-unexpected_response_error=Resposta inesperada do servidor.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotación {{type}}]
-password_label=Escriba o contrasinal para abrir este ficheiro PDF.
-password_invalid=Contrasinal incorrecto. Tente de novo.
-password_ok=Aceptar
-password_cancel=Cancelar
-
-printing_not_supported=Aviso: A impresión non é compatíbel de todo con este navegador.
-printing_not_ready=Aviso: O PDF non se cargou completamente para imprimirse.
-web_fonts_disabled=Desactiváronse as fontes web:  foi imposíbel usar as fontes incrustadas no PDF.
-document_colors_not_allowed=Os documentos PDF non poden usar as súas propias cores: «Permitir que as páxinas escollan as súas propias cores» está desactivado no navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/gn/viewer.properties b/server/target/classes/static/pdfjs/web/locale/gn/viewer.properties
deleted file mode 100644
index e5652d7..0000000
--- a/server/target/classes/static/pdfjs/web/locale/gn/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Kuatiarogue mboyvegua
-previous_label=Mboyvegua
-next.title=Kuatiarogue upeigua
-next_label=Upeigua
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Kuatiarogue
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} gui
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Momichĩ
-zoom_out_label=Momichĩ
-zoom_in.title=Mbotuicha
-zoom_in_label=Mbotuicha
-zoom.title=Tuichakue
-presentation_mode.title=Jehechauka reko moambue
-presentation_mode_label=Jehechauka reko
-open_file.title=Marandurendápe jeike
-open_file_label=Jeike
-print.title=Monguatia
-print_label=Monguatia
-download.title=Mboguejy
-download_label=Mboguejy
-bookmark.title=Ag̃agua jehecha (mbohasarã térã eike peteĩ ovetã pyahúpe)
-bookmark_label=Ag̃agua jehecha
-
-# Secondary toolbar and context menu
-tools.title=Tembipuru
-tools_label=Tembipuru
-first_page.title=Kuatiarogue ñepyrũme jeho
-first_page.label=Kuatiarogue ñepyrũme jeho
-first_page_label=Kuatiarogue ñepyrũme jeho
-last_page.title=Kuatiarogue pahápe jeho
-last_page.label=Kuatiarogue pahápe jeho
-last_page_label=Kuatiarogue pahápe jeho
-page_rotate_cw.title=Aravóicha mbojere
-page_rotate_cw.label=Aravóicha mbojere
-page_rotate_cw_label=Aravóicha mbojere
-page_rotate_ccw.title=Aravo rapykue gotyo mbojere
-page_rotate_ccw.label=Aravo rapykue gotyo mbojere
-page_rotate_ccw_label=Aravo rapykue gotyo mbojere
-
-cursor_text_select_tool.title=Emyandy moñe'ẽrã jeporavo rembipuru
-cursor_text_select_tool_label=Moñe'ẽrã jeporavo rembipuru
-cursor_hand_tool.title=Tembipuru po pegua myandy
-cursor_hand_tool_label=Tembipuru po pegua
-
-scroll_vertical.title=Eipuru jeku’e ykeguáva
-scroll_vertical_label=Jeku’e ykeguáva
-scroll_horizontal.title=Eipuru jeku’e yvate gotyo
-scroll_horizontal_label=Jeku’e yvate gotyo
-scroll_wrapped.title=Eipuru jeku’e mbohyrupyre
-scroll_wrapped_label=Jeku’e mbohyrupyre
-
-spread_none.title=Ani ejuaju spreads kuatiarogue ndive
-spread_none_label=Spreads ỹre
-spread_odd.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue impar-vagui
-spread_odd_label=Spreads impar
-spread_even.title=Embojuaju kuatiarogue jepysokue eñepyrũvo kuatiarogue par-vagui
-spread_even_label=Ipukuve uvei
-
-# Document properties dialog box
-document_properties.title=Kuatia mba'etee…
-document_properties_label=Kuatia mba'etee…
-document_properties_file_name=Marandurenda réra:
-document_properties_file_size=Marandurenda tuichakue:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Teratee:
-document_properties_author=Apohára:
-document_properties_subject=Mba'egua:
-document_properties_keywords=Jehero:
-document_properties_creation_date=Teñoihague arange:
-document_properties_modification_date=Iñambue hague arange:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Apo'ypyha:
-document_properties_producer=PDF mbosako'iha:
-document_properties_version=PDF mbojuehegua:
-document_properties_page_count=Kuatiarogue papapy:
-document_properties_page_size=Kuatiarogue tuichakue:
-document_properties_page_size_unit_inches=Amo
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=Oĩháicha
-document_properties_page_size_orientation_landscape=apaisado
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Kuatiañe'ẽ
-document_properties_page_size_name_legal=Tee
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ñanduti jahecha pya’e:
-document_properties_linearized_yes=Añete
-document_properties_linearized_no=Ahániri
-document_properties_close=Mboty
-
-print_progress_message=Embosako'i kuatia emonguatia hag̃ua…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Heja
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Tenda yke moambue
-toggle_sidebar_notification.title=Embojopyru tenda ykegua (kuatia oguereko kora/marandurenda moirũha)
-toggle_sidebar_label=Tenda yke moambue
-document_outline.title=Ehechauka kuatia rape (eikutu mokõi jey embotuicha/emomichĩ hag̃ua opavavete mba'epuru)
-document_outline_label=Kuatia apopyre
-attachments.title=Moirũha jehechauka
-attachments_label=Moirũha
-thumbs.title=Mba'emirĩ jehechauka
-thumbs_label=Mba'emirĩ
-findbar.title=Kuatiápe jeheka
-findbar_label=Juhu
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Kuatiarogue {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Kuatiarogue {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Kuatiarogue mba'emirĩ {{page}}
-
-# Find panel button title and messages
-find_input.title=Juhu
-find_input.placeholder=Kuatiápe jejuhu…
-find_previous.title=Ejuhu ñe'ẽrysýi osẽ'ypy hague
-find_previous_label=Mboyvegua
-find_next.title=Eho ñe'ẽ juhupyre upeiguávape
-find_next_label=Upeigua
-find_highlight=Embojekuaavepa
-find_match_case_label=Ejesareko taiguasu/taimichĩre
-find_entire_word_label=Ñe’ẽ oĩmbáva 
-find_reached_top=Ojehupyty kuatia ñepyrũ, oku'ejeýta kuatia paha guive
-find_reached_bottom=Ojehupyty kuatia paha, oku'ejeýta kuatia ñepyrũ guive
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} {{total}} ojojoguáva
-find_match_count[two]={{current}} {{total}} ojojoguáva
-find_match_count[few]={{current}} {{total}} ojojoguáva
-find_match_count[many]={{current}} {{total}} ojojoguáva
-find_match_count[other]={{current}} {{total}} ojojoguáva
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[one]=Hetave {{limit}} ojojogua
-find_match_count_limit[two]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[few]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[many]=Hetave {{limit}} ojojoguáva
-find_match_count_limit[other]=Hetave {{limit}} ojojoguáva
-find_not_found=Ñe'ẽrysýi ojejuhu'ỹva
-
-# Error panel labels
-error_more_info=Maranduve
-error_less_info=Sa'ive marandu
-error_close=Mboty
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ñe'ẽmondo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Mbojo'apy: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Marandurenda: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Tairenda: {{line}}
-rendering_error=Oiko jejavy ehechaukasévo kuatiarogue.
-
-# Predefined zoom values
-page_scale_width=Kuatiarogue pekue
-page_scale_fit=Kuatiarogue ñemoĩporã
-page_scale_auto=Tuichakue ijeheguíva
-page_scale_actual=Tuichakue ag̃agua
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Oĩvaíva
-loading_error=Oiko jejavy PDF oñemyeñyhẽnguévo.
-invalid_file_error=PDF marandurenda ndoikóiva térã ivaipyréva.
-missing_file_error=Ndaipóri PDF marandurenda
-unexpected_response_error=Mohendahavusu mbohovái ñeha'arõ'ỹva.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Jehaipy {{type}}]
-password_label=Emoinge ñe'ẽñemi eipe'a hag̃ua ko marandurenda PDF.
-password_invalid=Ñe'ẽñemi ndoikóiva. Eha'ã jey.
-password_ok=MONEĨ
-password_cancel=Heja
-
-printing_not_supported=Kyhyjerã: Ñembokuatia ndojokupytypái ko kundahára ndive.
-printing_not_ready=Kyhyjerã: Ko PDF nahenyhẽmbái oñembokuatia hag̃uáicha.
-web_fonts_disabled=Ñanduti taity oñemongéma: ndaikatumo'ãi eipuru PDF jehai'íva taity.
-document_colors_not_allowed=Kuatiakuéra PDF ndaikatúi oipuru isa'ykuéra tee: “Emoneĩ kuatiaroguépe toiporavo isa'ykuéra tee” oñemongehína kundahárape.
diff --git a/server/target/classes/static/pdfjs/web/locale/gu-IN/viewer.properties b/server/target/classes/static/pdfjs/web/locale/gu-IN/viewer.properties
deleted file mode 100644
index cce4bec..0000000
--- a/server/target/classes/static/pdfjs/web/locale/gu-IN/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=પહેલાનુ પાનું
-previous_label=પહેલાનુ
-next.title=આગળનુ પાનું
-next_label=આગળનું
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=પાનું
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=નો {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} નો {{pagesCount}})
-
-zoom_out.title=મોટુ કરો
-zoom_out_label=મોટુ કરો
-zoom_in.title=નાનું કરો
-zoom_in_label=નાનું કરો
-zoom.title=નાનું મોટુ કરો
-presentation_mode.title=રજૂઆત સ્થિતિમાં જાવ
-presentation_mode_label=રજૂઆત સ્થિતિ
-open_file.title=ફાઇલ ખોલો
-open_file_label=ખોલો
-print.title=છાપો
-print_label=છારો
-download.title=ડાઉનલોડ
-download_label=ડાઉનલોડ
-bookmark.title=વર્તમાન દૃશ્ય (નવી વિન્ડોમાં નકલ કરો અથવા ખોલો)
-bookmark_label=વર્તમાન દૃશ્ય
-
-# Secondary toolbar and context menu
-tools.title=સાધનો
-tools_label=સાધનો
-first_page.title=પહેલાં પાનામાં જાવ
-first_page.label=પહેલાં પાનામાં જાવ
-first_page_label=પ્રથમ પાનાં પર જાવ
-last_page.title=છેલ્લા પાનાં પર જાવ
-last_page.label=છેલ્લા પાનામાં જાવ
-last_page_label=છેલ્લા પાનાં પર જાવ
-page_rotate_cw.title=ઘડિયાળનાં કાંટા તરફ ફેરવો
-page_rotate_cw.label=ઘડિયાળનાં કાંટાની જેમ ફેરવો
-page_rotate_cw_label=ઘડિયાળનાં કાંટા તરફ ફેરવો
-page_rotate_ccw.title=ઘડિયાળનાં કાંટાની ઉલટી દિશામાં ફેરવો
-page_rotate_ccw.label=ઘડિયાળનાં કાંટાની ઉલટી દિશામાં ફેરવો
-page_rotate_ccw_label=ઘડિયાળનાં કાંટાની વિરુદ્દ ફેરવો
-
-cursor_text_select_tool.title=ટેક્સ્ટ પસંદગી ટૂલ સક્ષમ કરો
-cursor_text_select_tool_label=ટેક્સ્ટ પસંદગી ટૂલ
-cursor_hand_tool.title=હાથનાં સાધનને સક્રિય કરો
-cursor_hand_tool_label=હેન્ડ ટૂલ
-
-scroll_vertical.title=ઊભી સ્ક્રોલિંગનો ઉપયોગ કરો
-scroll_vertical_label=ઊભી સ્ક્રોલિંગ
-scroll_horizontal.title=આડી સ્ક્રોલિંગનો ઉપયોગ કરો
-scroll_horizontal_label=આડી સ્ક્રોલિંગ
-scroll_wrapped.title=આવરિત સ્ક્રોલિંગનો ઉપયોગ કરો
-scroll_wrapped_label=આવરિત સ્ક્રોલિંગ
-
-spread_none.title=પૃષ્ઠ સ્પ્રેડમાં જોડાવશો નહીં
-spread_none_label=કોઈ સ્પ્રેડ નથી
-spread_odd.title=એકી-ક્રમાંકિત પૃષ્ઠો સાથે પ્રારંભ થતાં પૃષ્ઠ સ્પ્રેડમાં જોડાઓ
-spread_odd_label=એકી સ્પ્રેડ્સ
-spread_even.title=નંબર-ક્રમાંકિત પૃષ્ઠોથી શરૂ થતાં પૃષ્ઠ સ્પ્રેડમાં જોડાઓ
-spread_even_label=સરખું ફેલાવવું
-
-# Document properties dialog box
-document_properties.title=દસ્તાવેજ ગુણધર્મો…
-document_properties_label=દસ્તાવેજ ગુણધર્મો…
-document_properties_file_name=ફાઇલ નામ:
-document_properties_file_size=ફાઇલ માપ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} બાઇટ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} બાઇટ)
-document_properties_title=શીર્ષક:
-document_properties_author=લેખક:
-document_properties_subject=વિષય:
-document_properties_keywords=કિવર્ડ:
-document_properties_creation_date=નિર્માણ તારીખ:
-document_properties_modification_date=ફેરફાર તારીખ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=નિર્માતા:
-document_properties_producer=PDF નિર્માતા:
-document_properties_version=PDF આવૃત્તિ:
-document_properties_page_count=પાનાં ગણતરી:
-document_properties_page_size=પૃષ્ઠનું કદ:
-document_properties_page_size_unit_inches=ઇંચ
-document_properties_page_size_unit_millimeters=મીમી
-document_properties_page_size_orientation_portrait=ઉભું
-document_properties_page_size_orientation_landscape=આડુ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=પત્ર
-document_properties_page_size_name_legal=કાયદાકીય
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ઝડપી વૅબ દૃશ્ય:
-document_properties_linearized_yes=હા
-document_properties_linearized_no=ના
-document_properties_close=બંધ કરો
-
-print_progress_message=છાપકામ માટે દસ્તાવેજ તૈયાર કરી રહ્યા છે…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=રદ કરો
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ટૉગલ બાજુપટ્ટી
-toggle_sidebar_notification.title=સાઇડબારને ટૉગલ કરો(દસ્તાવેજની રૂપરેખા/જોડાણો શામેલ છે)
-toggle_sidebar_label=ટૉગલ બાજુપટ્ટી
-document_outline.title=દસ્તાવેજની રૂપરેખા બતાવો(બધી આઇટમ્સને વિસ્તૃત/સંકુચિત કરવા માટે ડબલ-ક્લિક કરો)
-document_outline_label=દસ્તાવેજ રૂપરેખા
-attachments.title=જોડાણોને બતાવો
-attachments_label=જોડાણો
-thumbs.title=થંબનેલ્સ બતાવો
-thumbs_label=થંબનેલ્સ
-findbar.title=દસ્તાવેજમાં શોધો
-findbar_label=શોધો
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=પાનું {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=પાનાં {{page}} નું થંબનેલ્સ
-
-# Find panel button title and messages
-find_input.title=શોધો
-find_input.placeholder=દસ્તાવેજમાં શોધો…
-find_previous.title=શબ્દસમૂહની પાછલી ઘટનાને શોધો
-find_previous_label=પહેલાંનુ
-find_next.title=શબ્દસમૂહની આગળની ઘટનાને શોધો
-find_next_label=આગળનું
-find_highlight=બધુ પ્રકાશિત કરો
-find_match_case_label=કેસ બંધબેસાડો
-find_entire_word_label=સંપૂર્ણ શબ્દો
-find_reached_top=દસ્તાવેજનાં ટોચે પહોંચી ગયા, તળિયેથી ચાલુ કરેલ હતુ
-find_reached_bottom=દસ્તાવેજનાં અંતે પહોંચી ગયા, ઉપરથી ચાલુ કરેલ હતુ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} માંથી {{current}} સરખું મળ્યું
-find_match_count[two]={{total}} માંથી {{current}} સરખા મળ્યાં
-find_match_count[few]={{total}} માંથી {{current}} સરખા મળ્યાં
-find_match_count[many]={{total}} માંથી {{current}} સરખા મળ્યાં
-find_match_count[other]={{total}} માંથી {{current}} સરખા મળ્યાં
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} કરતાં વધુ સરખા મળ્યાં
-find_match_count_limit[one]={{limit}} કરતાં વધુ સરખું મળ્યું
-find_match_count_limit[two]={{limit}} કરતાં વધુ સરખા મળ્યાં
-find_match_count_limit[few]={{limit}} કરતાં વધુ સરખા મળ્યાં
-find_match_count_limit[many]={{limit}} કરતાં વધુ સરખા મળ્યાં
-find_match_count_limit[other]={{limit}} કરતાં વધુ સરખા મળ્યાં
-find_not_found=શબ્દસમૂહ મળ્યુ નથી
-
-# Error panel labels
-error_more_info=વધારે જાણકારી
-error_less_info=ઓછી જાણકારી
-error_close=બંધ કરો
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=સંદેશો: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=સ્ટેક: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ફાઇલ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=વાક્ય: {{line}}
-rendering_error=ભૂલ ઉદ્ભવી જ્યારે પાનાંનુ રેન્ડ કરી રહ્યા હોય.
-
-# Predefined zoom values
-page_scale_width=પાનાની પહોળાઇ
-page_scale_fit=પાનું બંધબેસતુ
-page_scale_auto=આપમેળે નાનુંમોટુ કરો
-page_scale_actual=ચોક્કસ માપ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=ભૂલ
-loading_error=ભૂલ ઉદ્ભવી જ્યારે PDF ને લાવી રહ્યા હોય.
-invalid_file_error=અયોગ્ય અથવા ભાંગેલ PDF ફાઇલ.
-missing_file_error=ગુમ થયેલ PDF ફાઇલ.
-unexpected_response_error=અનપેક્ષિત સર્વર પ્રતિસાદ.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=આ PDF ફાઇલને ખોલવા પાસવર્ડને દાખલ કરો.
-password_invalid=અયોગ્ય પાસવર્ડ. મહેરબાની કરીને ફરી પ્રયત્ન કરો.
-password_ok=બરાબર
-password_cancel=રદ કરો
-
-printing_not_supported=ચેતવણી: છાપવાનું આ બ્રાઉઝર દ્દારા સંપૂર્ણપણે આધારભૂત નથી.
-printing_not_ready=Warning: PDF એ છાપવા માટે સંપૂર્ણપણે લાવેલ છે.
-web_fonts_disabled=વેબ ફોન્ટ નિષ્ક્રિય થયેલ છે: ઍમ્બેડ થયેલ PDF ફોન્ટને વાપરવાનું અસમર્થ.
-document_colors_not_allowed=PDF દસ્તાવેજો તેનાં પોતાના રંગોને વાપરવા પરવાનગી આપતા નથી: 'તેનાં પોતાનાં રંગોને પસંદ કરવા માટે પાનાંને પરવાનગી આપો' બ્રાઉઝરમાં નિષ્ક્રિય થયેલ છે.
diff --git a/server/target/classes/static/pdfjs/web/locale/he/viewer.properties b/server/target/classes/static/pdfjs/web/locale/he/viewer.properties
deleted file mode 100644
index e3d197e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/he/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=דף קודם
-previous_label=קודם
-next.title=דף הבא
-next_label=הבא
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=דף
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=מתוך {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} מתוך {{pagesCount}})
-
-zoom_out.title=התרחקות
-zoom_out_label=התרחקות
-zoom_in.title=התקרבות
-zoom_in_label=התקרבות
-zoom.title=מרחק מתצוגה
-presentation_mode.title=מעבר למצב מצגת
-presentation_mode_label=מצב מצגת
-open_file.title=פתיחת קובץ
-open_file_label=פתיחה
-print.title=הדפסה
-print_label=הדפסה
-download.title=הורדה
-download_label=הורדה
-bookmark.title=תצוגה נוכחית (העתקה או פתיחה בחלון חדש)
-bookmark_label=תצוגה נוכחית
-
-# Secondary toolbar and context menu
-tools.title=כלים
-tools_label=כלים
-first_page.title=מעבר לעמוד הראשון
-first_page.label=מעבר לעמוד הראשון
-first_page_label=מעבר לעמוד הראשון
-last_page.title=מעבר לעמוד האחרון
-last_page.label=מעבר לעמוד האחרון
-last_page_label=מעבר לעמוד האחרון
-page_rotate_cw.title=הטיה עם כיוון השעון
-page_rotate_cw.label=הטיה עם כיוון השעון
-page_rotate_cw_label=הטיה עם כיוון השעון
-page_rotate_ccw.title=הטיה כנגד כיוון השעון
-page_rotate_ccw.label=הטיה כנגד כיוון השעון
-page_rotate_ccw_label=הטיה כנגד כיוון השעון
-
-cursor_text_select_tool.title=הפעלת כלי בחירת טקסט
-cursor_text_select_tool_label=כלי בחירת טקסט
-cursor_hand_tool.title=הפעלת כלי היד
-cursor_hand_tool_label=כלי יד
-
-scroll_vertical.title=שימוש בגלילה אנכית
-scroll_vertical_label=גלילה אנכית
-scroll_horizontal.title=שימוש בגלילה אופקית
-scroll_horizontal_label=גלילה אופקית
-scroll_wrapped.title=שימוש בגלילה רציפה
-scroll_wrapped_label=גלילה רציפה
-
-spread_none.title=לא לצרף מפתחי עמודים
-spread_none_label=ללא מפתחים
-spread_odd.title=צירוף מפתחי עמודים שמתחילים בדפים עם מספרים אי־זוגיים
-spread_odd_label=מפתחים אי־זוגיים
-spread_even.title=צירוף מפתחי עמודים שמתחילים בדפים עם מספרים זוגיים
-spread_even_label=מפתחים זוגיים
-
-# Document properties dialog box
-document_properties.title=מאפייני מסמך…
-document_properties_label=מאפייני מסמך…
-document_properties_file_name=שם קובץ:
-document_properties_file_size=גודל הקובץ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ק״ב ({{size_b}} בתים)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} מ״ב ({{size_b}} בתים)
-document_properties_title=כותרת:
-document_properties_author=מחבר:
-document_properties_subject=נושא:
-document_properties_keywords=מילות מפתח:
-document_properties_creation_date=תאריך יצירה:
-document_properties_modification_date=תאריך שינוי:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=יוצר:
-document_properties_producer=יצרן PDF:
-document_properties_version=גרסת PDF:
-document_properties_page_count=מספר דפים:
-document_properties_page_size=גודל העמוד:
-document_properties_page_size_unit_inches=אינ׳
-document_properties_page_size_unit_millimeters=מ״מ
-document_properties_page_size_orientation_portrait=לאורך
-document_properties_page_size_orientation_landscape=לרוחב
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=מכתב
-document_properties_page_size_name_legal=דף משפטי
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=תצוגת דף מהירה:
-document_properties_linearized_yes=כן
-document_properties_linearized_no=לא
-document_properties_close=סגירה
-
-print_progress_message=מסמך בהכנה להדפסה…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ביטול
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=הצגה/הסתרה של סרגל הצד
-toggle_sidebar_notification.title=החלפת תצוגת סרגל צד (מסמך שמכיל מתאר/צרופות)
-toggle_sidebar_label=הצגה/הסתרה של סרגל הצד
-document_outline.title=הצגת מתאר מסמך (לחיצה כפולה כדי להרחיב או לצמצם את כל הפריטים)
-document_outline_label=מתאר מסמך
-attachments.title=הצגת צרופות
-attachments_label=צרופות
-thumbs.title=הצגת תצוגה מקדימה
-thumbs_label=תצוגה מקדימה
-findbar.title=חיפוש במסמך
-findbar_label=חיפוש
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=עמוד {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=עמוד {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=תצוגה מקדימה של עמוד {{page}}
-
-# Find panel button title and messages
-find_input.title=חיפוש
-find_input.placeholder=חיפוש במסמך…
-find_previous.title=מציאת המופע הקודם של הביטוי
-find_previous_label=קודם
-find_next.title=מציאת המופע הבא של הביטוי
-find_next_label=הבא
-find_highlight=הדגשת הכול
-find_match_case_label=התאמת אותיות
-find_entire_word_label=מילים שלמות
-find_reached_top=הגיע לראש הדף, ממשיך מלמטה
-find_reached_bottom=הגיע לסוף הדף, ממשיך מלמעלה
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=תוצאה {{current}} מתוך {{total}}
-find_match_count[two]={{current}} מתוך {{total}} תוצאות
-find_match_count[few]={{current}} מתוך {{total}} תוצאות
-find_match_count[many]={{current}} מתוך {{total}} תוצאות
-find_match_count[other]={{current}} מתוך {{total}} תוצאות
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=יותר מ־{{limit}} תוצאות
-find_match_count_limit[one]=יותר מתוצאה אחת
-find_match_count_limit[two]=יותר מ־{{limit}} תוצאות
-find_match_count_limit[few]=יותר מ־{{limit}} תוצאות
-find_match_count_limit[many]=יותר מ־{{limit}} תוצאות
-find_match_count_limit[other]=יותר מ־{{limit}} תוצאות
-find_not_found=הביטוי לא נמצא
-
-# Error panel labels
-error_more_info=מידע נוסף
-error_less_info=פחות מידע
-error_close=סגירה
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js גרסה {{version}} (בנייה: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=הודעה: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=תוכן מחסנית: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=קובץ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=שורה: {{line}}
-rendering_error=אירעה שגיאה בעת עיבוד הדף.
-
-# Predefined zoom values
-page_scale_width=רוחב העמוד
-page_scale_fit=התאמה לעמוד
-page_scale_auto=מרחק מתצוגה אוטומטי
-page_scale_actual=גודל אמיתי
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=שגיאה
-loading_error=אירעה שגיאה בעת טעינת ה־PDF.
-invalid_file_error=קובץ PDF פגום או לא תקין.
-missing_file_error=קובץ PDF חסר.
-unexpected_response_error=תגובת שרת לא צפויה.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[הערת {{type}}]
-password_label=נא להכניס את הססמה לפתיחת קובץ PDF זה.
-password_invalid=ססמה שגויה. נא לנסות שנית.
-password_ok=אישור
-password_cancel=ביטול
-
-printing_not_supported=אזהרה: הדפסה אינה נתמכת במלואה בדפדפן זה.
-printing_not_ready=אזהרה: ה־PDF לא ניתן לחלוטין עד מצב שמאפשר הדפסה.
-web_fonts_disabled=גופני רשת מנוטרלים: לא ניתן להשתמש בגופני PDF מוטבעים.
-document_colors_not_allowed=מסמכי PDF אינם מורשים להשתמש בצבעים משלהם: האפשרות „אפשר לעמודים לבחור צבעים משלהם” אינה פעילה בדפדפן.
diff --git a/server/target/classes/static/pdfjs/web/locale/hi-IN/viewer.properties b/server/target/classes/static/pdfjs/web/locale/hi-IN/viewer.properties
deleted file mode 100644
index 3005180..0000000
--- a/server/target/classes/static/pdfjs/web/locale/hi-IN/viewer.properties
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=पिछला पृष्ठ
-previous_label=पिछला
-next.title=अगला पृष्ठ
-next_label=आगे
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=पृष्ठ:
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} का
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=\u0020छोटा करें
-zoom_out_label=\u0020छोटा करें
-zoom_in.title=बड़ा करें
-zoom_in_label=बड़ा करें
-zoom.title=बड़ा-छोटा करें
-presentation_mode.title=प्रस्तुति अवस्था में जाएँ
-presentation_mode_label=\u0020प्रस्तुति अवस्था
-open_file.title=फ़ाइल खोलें
-open_file_label=\u0020खोलें
-print.title=छापें
-print_label=\u0020छापें
-download.title=डाउनलोड
-download_label=डाउनलोड
-bookmark.title=मौजूदा दृश्य (नए विंडो में नक़ल लें या खोलें)
-bookmark_label=\u0020मौजूदा दृश्य
-
-# Secondary toolbar and context menu
-tools.title=औज़ार
-tools_label=औज़ार
-first_page.title=प्रथम पृष्ठ पर जाएँ
-first_page.label=\u0020प्रथम पृष्ठ पर जाएँ
-first_page_label=प्रथम पृष्ठ पर जाएँ
-last_page.title=अंतिम पृष्ठ पर जाएँ
-last_page.label=\u0020अंतिम पृष्ठ पर जाएँ
-last_page_label=\u0020अंतिम पृष्ठ पर जाएँ
-page_rotate_cw.title=घड़ी की दिशा में घुमाएँ
-page_rotate_cw.label=घड़ी की दिशा में घुमाएँ
-page_rotate_cw_label=घड़ी की दिशा में घुमाएँ
-page_rotate_ccw.title=घड़ी की दिशा से उल्टा घुमाएँ
-page_rotate_ccw.label=घड़ी की दिशा से उल्टा घुमाएँ
-page_rotate_ccw_label=\u0020घड़ी की दिशा से उल्टा घुमाएँ
-
-cursor_text_select_tool.title=पाठ चयन उपकरण सक्षम करें
-cursor_text_select_tool_label=पाठ चयन उपकरण
-cursor_hand_tool.title=हस्त उपकरण सक्षम करें
-cursor_hand_tool_label=हस्त उपकरण
-
-scroll_vertical.title=लंबवत स्क्रॉलिंग का उपयोग करें
-scroll_vertical_label=लंबवत स्क्रॉलिंग
-scroll_horizontal.title=क्षितिजिय स्क्रॉलिंग का उपयोग करें
-scroll_horizontal_label=क्षितिजिय स्क्रॉलिंग
-scroll_wrapped.title=व्राप्पेड स्क्रॉलिंग का उपयोग करें
-
-spread_none_label=कोई स्प्रेड उपलब्ध नहीं
-spread_odd.title=विषम-क्रमांकित पृष्ठों से प्रारंभ होने वाले पृष्ठ स्प्रेड में शामिल हों
-spread_odd_label=विषम फैलाव
-
-# Document properties dialog box
-document_properties.title=दस्तावेज़ विशेषता...
-document_properties_label=दस्तावेज़ विशेषता...
-document_properties_file_name=फ़ाइल नाम:
-document_properties_file_size=फाइल आकारः
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=शीर्षक:
-document_properties_author=लेखकः
-document_properties_subject=विषय:
-document_properties_keywords=कुंजी-शब्द:
-document_properties_creation_date=निर्माण दिनांक:
-document_properties_modification_date=संशोधन दिनांक:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=निर्माता:
-document_properties_producer=PDF उत्पादक:
-document_properties_version=PDF संस्करण:
-document_properties_page_count=पृष्ठ गिनती:
-document_properties_page_size=पृष्ठ आकार:
-document_properties_page_size_unit_inches=इंच
-document_properties_page_size_unit_millimeters=मिमी
-document_properties_page_size_orientation_portrait=पोर्ट्रेट
-document_properties_page_size_orientation_landscape=लैंडस्केप
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=पत्र
-document_properties_page_size_name_legal=क़ानूनी
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=तीव्र वेब व्यू:
-document_properties_linearized_yes=हाँ
-document_properties_linearized_no=नहीं
-document_properties_close=बंद करें
-
-print_progress_message=छपाई के लिए दस्तावेज़ को तैयार किया जा रहा है...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=रद्द करें
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=\u0020स्लाइडर टॉगल करें
-toggle_sidebar_notification.title=साइडबार टॉगल करें (दस्तावेज़ में रूपरेखा शामिल है/attachments)
-toggle_sidebar_label=स्लाइडर टॉगल करें
-document_outline.title=दस्तावेज़ की रूपरेखा दिखाइए (सारी वस्तुओं को फलने अथवा समेटने के लिए दो बार क्लिक करें)
-document_outline_label=दस्तावेज़ आउटलाइन
-attachments.title=संलग्नक दिखायें
-attachments_label=संलग्नक
-thumbs.title=लघुछवियाँ दिखाएँ
-thumbs_label=लघु छवि
-findbar.title=\u0020दस्तावेज़ में ढूँढ़ें
-findbar_label=ढूँढें
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=पृष्ठ {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=पृष्ठ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=पृष्ठ {{page}} की लघु-छवि
-
-# Find panel button title and messages
-find_input.title=ढूँढें
-find_input.placeholder=दस्तावेज़ में खोजें...
-find_previous.title=वाक्यांश की पिछली उपस्थिति ढूँढ़ें
-find_previous_label=पिछला
-find_next.title=वाक्यांश की अगली उपस्थिति ढूँढ़ें
-find_next_label=अगला
-find_highlight=\u0020सभी आलोकित करें
-find_match_case_label=मिलान स्थिति
-find_entire_word_label=संपूर्ण शब्द
-find_reached_top=पृष्ठ के ऊपर पहुंच गया, नीचे से जारी रखें
-find_reached_bottom=पृष्ठ के नीचे में जा पहुँचा, ऊपर से जारी
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} में {{current}} मेल
-find_match_count[two]={{total}} में {{current}} मेल
-find_match_count[few]={{total}} में {{current}} मेल
-find_match_count[many]={{total}} में {{current}} मेल
-find_match_count[other]={{total}} में {{current}} मेल
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} से अधिक मेल
-find_match_count_limit[one]={{limit}} से अधिक मेल
-find_match_count_limit[two]={{limit}} से अधिक मेल
-find_match_count_limit[few]={{limit}} से अधिक मेल
-find_match_count_limit[many]={{limit}} से अधिक मेल
-find_match_count_limit[other]={{limit}} से अधिक मेल
-find_not_found=वाक्यांश नहीं मिला
-
-# Error panel labels
-error_more_info=अधिक सूचना
-error_less_info=कम सूचना
-error_close=बंद करें
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=\u0020संदेश: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=स्टैक: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फ़ाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=पंक्ति: {{line}}
-rendering_error=पृष्ठ रेंडरिंग के दौरान त्रुटि आई.
-
-# Predefined zoom values
-page_scale_width=\u0020पृष्ठ चौड़ाई
-page_scale_fit=पृष्ठ फिट
-page_scale_auto=स्वचालित जूम
-page_scale_actual=वास्तविक आकार
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=त्रुटि
-loading_error=PDF लोड करते समय एक त्रुटि हुई.
-invalid_file_error=अमान्य या भ्रष्ट PDF फ़ाइल.
-missing_file_error=\u0020अनुपस्थित PDF फ़ाइल.
-unexpected_response_error=अप्रत्याशित सर्वर प्रतिक्रिया.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=\u0020[{{type}} Annotation]
-password_label=इस PDF फ़ाइल को खोलने के लिए कृपया कूटशब्द भरें.
-password_invalid=अवैध कूटशब्द, कृपया फिर कोशिश करें.
-password_ok=OK
-password_cancel=रद्द करें
-
-printing_not_supported=चेतावनी: इस ब्राउज़र पर छपाई पूरी तरह से समर्थित नहीं है.
-printing_not_ready=चेतावनी: PDF छपाई के लिए पूरी तरह से लोड नहीं है.
-web_fonts_disabled=वेब फॉन्ट्स निष्क्रिय हैं: अंतःस्थापित PDF फॉन्टस के उपयोग में असमर्थ.
-document_colors_not_allowed=PDF दस्तावेज़ उनके अपने रंग को उपयोग करने के लिए अनुमति प्राप्त नहीं है: "पृष्ठों को उनके अपने रंग को चुनने के लिए स्वीकृति दें" कि वह उस ब्राउज़र में निष्क्रिय है.
diff --git a/server/target/classes/static/pdfjs/web/locale/hr/viewer.properties b/server/target/classes/static/pdfjs/web/locale/hr/viewer.properties
deleted file mode 100644
index da85475..0000000
--- a/server/target/classes/static/pdfjs/web/locale/hr/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Prethodna stranica
-previous_label=Prethodna
-next.title=Sljedeća stranica
-next_label=Sljedeća
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Stranica
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=od {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} od {{pagesCount}})
-
-zoom_out.title=Umanji
-zoom_out_label=Umanji
-zoom_in.title=Uvećaj
-zoom_in_label=Uvećaj
-zoom.title=Zumiranje
-presentation_mode.title=Prebaci u prezentacijski način rada
-presentation_mode_label=Prezentacijski način rada
-open_file.title=Otvori datoteku
-open_file_label=Otvori
-print.title=Ispiši
-print_label=Ispiši
-download.title=Preuzmi
-download_label=Preuzmi
-bookmark.title=Trenutačni prikaz (kopiraj ili otvori u novom prozoru)
-bookmark_label=Trenutačni prikaz
-
-# Secondary toolbar and context menu
-tools.title=Alati
-tools_label=Alati
-first_page.title=Idi na prvu stranicu
-first_page.label=Idi na prvu stranicu
-first_page_label=Idi na prvu stranicu
-last_page.title=Idi na posljednju stranicu
-last_page.label=Idi na posljednju stranicu
-last_page_label=Idi na posljednju stranicu
-page_rotate_cw.title=Rotiraj u smjeru kazaljke na satu
-page_rotate_cw.label=Rotiraj u smjeru kazaljke na satu
-page_rotate_cw_label=Rotiraj u smjeru kazaljke na satu
-page_rotate_ccw.title=Rotiraj obrnutno od smjera kazaljke na satu
-page_rotate_ccw.label=Rotiraj obrnutno od smjera kazaljke na satu
-page_rotate_ccw_label=Rotiraj obrnutno od smjera kazaljke na satu
-
-cursor_text_select_tool.title=Omogući alat za označavanje teksta
-cursor_text_select_tool_label=Alat za označavanje teksta
-cursor_hand_tool.title=Omogući ručni alat
-cursor_hand_tool_label=Ručni alat
-
-scroll_vertical.title=Koristi okomito pomicanje
-scroll_vertical_label=Okomito pomicanje
-scroll_horizontal.title=Koristi vodoravno pomicanje
-scroll_horizontal_label=Vodoravno pomicanje
-scroll_wrapped.title=Koristi kontinuirani raspored stranica
-scroll_wrapped_label=Kontinuirani raspored stranica
-
-spread_none.title=Ne izrađuj duplerice
-spread_none_label=Pojedinačne stranice
-spread_odd.title=Izradi duplerice koje počinju s neparnim stranicama
-spread_odd_label=Neparne duplerice
-spread_even.title=Izradi duplerice koje počinju s parnim stranicama
-spread_even_label=Parne duplerice
-
-# Document properties dialog box
-document_properties.title=Svojstva dokumenta...
-document_properties_label=Svojstva dokumenta...
-document_properties_file_name=Naziv datoteke:
-document_properties_file_size=Veličina datoteke:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtova)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtova)
-document_properties_title=Naslov:
-document_properties_author=Autor:
-document_properties_subject=Predmet:
-document_properties_keywords=Ključne riječi:
-document_properties_creation_date=Datum stvaranja:
-document_properties_modification_date=Datum promjene:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Stvaratelj:
-document_properties_producer=PDF stvaratelj:
-document_properties_version=PDF verzija:
-document_properties_page_count=Broj stranica:
-document_properties_page_size=Dimenzije stranice:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=uspravno
-document_properties_page_size_orientation_landscape=položeno
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Brzi web pregled:
-document_properties_linearized_yes=Da
-document_properties_linearized_no=Ne
-document_properties_close=Zatvori
-
-print_progress_message=Pripremanje dokumenta za ispis…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Odustani
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Prikaži/sakrij bočnu traku
-toggle_sidebar_notification.title=Prikazivanje i sklanjanje bočne trake (dokument sadrži konturu/privitke)
-toggle_sidebar_label=Prikaži/sakrij bočnu traku
-document_outline.title=Prikaži strukturu dokumenta (dvostruki klik za rasklapanje/sklapanje svih stavki)
-document_outline_label=Struktura dokumenta
-attachments.title=Prikaži privitke
-attachments_label=Privitci
-thumbs.title=Prikaži minijature
-thumbs_label=Minijature
-findbar.title=Traži u dokumentu
-findbar_label=Traži
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Stranica br. {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Stranica {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Minijatura stranice {{page}}
-
-# Find panel button title and messages
-find_input.title=Traži
-find_input.placeholder=Traži u dokumentu…
-find_previous.title=Traži prethodno pojavljivanje ovog izraza
-find_previous_label=Prethodno
-find_next.title=Traži sljedeće pojavljivanje ovog izraza
-find_next_label=Sljedeće
-find_highlight=Istankni sve
-find_match_case_label=Razlikovanje velikih i malih slova
-find_entire_word_label=Cijele riječi
-find_reached_top=Dosegnut početak dokumenta, nastavak s kraja
-find_reached_bottom=Dosegnut kraj dokumenta, nastavak s početka
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} od {{total}} se podudara
-find_match_count[two]={{current}} od {{total}} se podudara
-find_match_count[few]={{current}} od {{total}} se podudara
-find_match_count[many]={{current}} od {{total}} se podudara
-find_match_count[other]={{current}} od {{total}} se podudara
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Više od {{limit}} podudaranja
-find_match_count_limit[one]=Više od {{limit}} podudaranja
-find_match_count_limit[two]=Više od {{limit}} podudaranja
-find_match_count_limit[few]=Više od {{limit}} podudaranja
-find_match_count_limit[many]=Više od {{limit}} podudaranja
-find_match_count_limit[other]=Više od {{limit}} podudaranja
-find_not_found=Izraz nije pronađen
-
-# Error panel labels
-error_more_info=Više informacija
-error_less_info=Manje informacija
-error_close=Zatvori
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Poruka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stog: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datoteka: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Redak: {{line}}
-rendering_error=Došlo je do greške prilikom iscrtavanja stranice.
-
-# Predefined zoom values
-page_scale_width=Prilagodi širini prozora
-page_scale_fit=Prilagodi veličini prozora
-page_scale_auto=Automatsko zumiranje
-page_scale_actual=Stvarna veličina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Greška
-loading_error=Došlo je do greške pri učitavanju PDF-a.
-invalid_file_error=Neispravna ili oštećena PDF datoteka.
-missing_file_error=Nedostaje PDF datoteka.
-unexpected_response_error=Neočekivani odgovor poslužitelja.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Bilješka]
-password_label=Za otvoranje ove PDF datoteku upiši lozinku.
-password_invalid=Neispravna lozinka. Pokušaj ponovo.
-password_ok=U redu
-password_cancel=Odustani
-
-printing_not_supported=Upozorenje: Ovaj preglednik ne podržava u potpunosti ispisivanje.
-printing_not_ready=Upozorenje: PDF nije u potpunosti učitan za ispis.
-web_fonts_disabled=Web fontovi su onemogućeni: nije moguće koristiti umetnute PDF fontove.
-document_colors_not_allowed=PDF dokumentima nije dozvoljeno koristiti vlastite boje: opcija „Dozvoli stranicama koristiti vlastite boje” je deaktivirana u pregledniku.
diff --git a/server/target/classes/static/pdfjs/web/locale/hsb/viewer.properties b/server/target/classes/static/pdfjs/web/locale/hsb/viewer.properties
deleted file mode 100644
index a8f31f1..0000000
--- a/server/target/classes/static/pdfjs/web/locale/hsb/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Předchadna strona
-previous_label=Wróćo
-next.title=Přichodna strona
-next_label=Dale
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strona
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Pomjeńšić
-zoom_out_label=Pomjeńšić
-zoom_in.title=Powjetšić
-zoom_in_label=Powjetšić
-zoom.title=Skalowanje
-presentation_mode.title=Do prezentaciskeho modusa přeńć
-presentation_mode_label=Prezentaciski modus
-open_file.title=Dataju wočinić
-open_file_label=Wočinić
-print.title=Ćišćeć
-print_label=Ćišćeć
-download.title=Sćahnyć
-download_label=Sćahnyć
-bookmark.title=Aktualny napohlad (kopěrować abo w nowym woknje wočinić)
-bookmark_label=Aktualny napohlad
-
-# Secondary toolbar and context menu
-tools.title=Nastroje
-tools_label=Nastroje
-first_page.title=K prěnjej stronje
-first_page.label=K prěnjej stronje
-first_page_label=K prěnjej stronje
-last_page.title=K poslednjej stronje
-last_page.label=K poslednjej stronje
-last_page_label=K poslednjej stronje
-page_rotate_cw.title=K směrej časnika wjerćeć
-page_rotate_cw.label=K směrej časnika wjerćeć
-page_rotate_cw_label=K směrej časnika wjerćeć
-page_rotate_ccw.title=Přećiwo směrej časnika wjerćeć
-page_rotate_ccw.label=Přećiwo směrej časnika wjerćeć
-page_rotate_ccw_label=Přećiwo směrej časnika wjerćeć
-
-cursor_text_select_tool.title=Nastroj za wuběranje teksta zmóžnić
-cursor_text_select_tool_label=Nastroj za wuběranje teksta
-cursor_hand_tool.title=Ručny nastroj zmóžnić
-cursor_hand_tool_label=Ručny nastroj
-
-scroll_vertical.title=Wertikalne suwanje wužiwać
-scroll_vertical_label=Wertikalnje suwanje
-scroll_horizontal.title=Horicontalne suwanje wužiwać
-scroll_horizontal_label=Horicontalne suwanje
-scroll_wrapped.title=Postupne suwanje wužiwać
-scroll_wrapped_label=Postupne suwanje
-
-spread_none.title=Strony njezwjazać
-spread_none_label=Žana dwójna strona
-spread_odd.title=Strony započinajo z njerunymi stronami zwjazać
-spread_odd_label=Njerune strony
-spread_even.title=Strony započinajo z runymi stronami zwjazać
-spread_even_label=Rune strony
-
-# Document properties dialog box
-document_properties.title=Dokumentowe kajkosće…
-document_properties_label=Dokumentowe kajkosće…
-document_properties_file_name=Mjeno dataje:
-document_properties_file_size=Wulkosć dataje:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtow)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtow)
-document_properties_title=Titul:
-document_properties_author=Awtor:
-document_properties_subject=Předmjet:
-document_properties_keywords=Klučowe słowa:
-document_properties_creation_date=Datum wutworjenja:
-document_properties_modification_date=Datum změny:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Awtor:
-document_properties_producer=PDF-zhotowjer:
-document_properties_version=PDF-wersija:
-document_properties_page_count=Ličba stronow:
-document_properties_page_size=Wulkosć strony:
-document_properties_page_size_unit_inches=cól
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=wysoki format
-document_properties_page_size_orientation_landscape=prěčny format
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Haj
-document_properties_linearized_no=Ně
-document_properties_close=Začinić
-
-print_progress_message=Dokument so za ćišćenje přihotuje…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Přetorhnyć
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Bóčnicu pokazać/schować
-toggle_sidebar_notification.title=Bóčnicu přepinać (dokument wobsahuje wobrys/přiwěški)
-toggle_sidebar_label=Bóčnicu pokazać/schować
-document_outline.title=Dokumentowy naćisk pokazać (dwójne kliknjenje, zo bychu so wšě zapiski pokazali/schowali)
-document_outline_label=Dokumentowa struktura
-attachments.title=Přiwěški pokazać
-attachments_label=Přiwěški
-thumbs.title=Miniatury pokazać
-thumbs_label=Miniatury
-findbar.title=W dokumenće pytać
-findbar_label=Pytać
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Strona {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strona {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura strony {{page}}
-
-# Find panel button title and messages
-find_input.title=Pytać
-find_input.placeholder=W dokumenće pytać…
-find_previous.title=Předchadne wustupowanje pytanskeho wuraza pytać
-find_previous_label=Wróćo
-find_next.title=Přichodne wustupowanje pytanskeho wuraza pytać
-find_next_label=Dale
-find_highlight=Wšě wuzběhnyć
-find_match_case_label=Wulkopisanje wobkedźbować
-find_entire_word_label=Cyłe słowa
-find_reached_top=Spočatk dokumenta docpěty, pokročuje so z kóncom
-find_reached_bottom=Kónc dokument docpěty, pokročuje so ze spočatkom
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} z {{total}} wotpowědnika
-find_match_count[two]={{current}} z {{total}} wotpowědnikow
-find_match_count[few]={{current}} z {{total}} wotpowědnikow
-find_match_count[many]={{current}} z {{total}} wotpowědnikow
-find_match_count[other]={{current}} z {{total}} wotpowědnikow
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Wjace hač {{limit}} wotpowědnikow
-find_match_count_limit[one]=Wjace hač {{limit}} wotpowědnik
-find_match_count_limit[two]=Wjace hač {{limit}} wotpowědnikaj
-find_match_count_limit[few]=Wjace hač {{limit}} wotpowědniki
-find_match_count_limit[many]=Wjace hač {{limit}} wotpowědnikow
-find_match_count_limit[other]=Wjace hač {{limit}} wotpowědnikow
-find_not_found=Pytanski wuraz njeje so namakał
-
-# Error panel labels
-error_more_info=Wjace informacijow
-error_less_info=Mjenje informacijow
-error_close=Začinić
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Zdźělenka: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Lisćina zawołanjow: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dataja: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linka: {{line}}
-rendering_error=Při zwobraznjenju strony je zmylk wustupił.
-
-# Predefined zoom values
-page_scale_width=Šěrokosć strony
-page_scale_fit=Wulkosć strony
-page_scale_auto=Awtomatiske skalowanje
-page_scale_actual=Aktualna wulkosć
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Zmylk
-loading_error=Při začitowanju PDF je zmylk wustupił.
-invalid_file_error=Njepłaćiwa abo wobškodźena PDF-dataja.
-missing_file_error=Falowaca PDF-dataja.
-unexpected_response_error=Njewočakowana serwerowa wotmołwa.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Typ přispomnjenki: {{type}}]
-password_label=Zapodajće hesło, zo byšće PDF-dataju wočinił.
-password_invalid=Njepłaćiwe hesło. Prošu spytajće hišće raz.
-password_ok=W porjadku
-password_cancel=Přetorhnyć
-
-printing_not_supported=Warnowanje: Ćišćenje so přez tutón wobhladowak połnje njepodpěruje.
-printing_not_ready=Warnowanje: PDF njeje so za ćišćenje dospołnje začitał.
-web_fonts_disabled=Webpisma su znjemóžnjene: njeje móžno, zasadźene PDF-pisma wužiwać.
-document_colors_not_allowed=PDF-dokumenty njesmědźa swoje barby wužiwać: 'Stronam dowolić, swoje barby wužiwać' je we wobhladowaku znjemóžnjene.
diff --git a/server/target/classes/static/pdfjs/web/locale/hu/viewer.properties b/server/target/classes/static/pdfjs/web/locale/hu/viewer.properties
deleted file mode 100644
index cba69f0..0000000
--- a/server/target/classes/static/pdfjs/web/locale/hu/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Előző oldal
-previous_label=Előző
-next.title=Következő oldal
-next_label=Tovább
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Oldal
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=összesen: {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=Kicsinyítés
-zoom_out_label=Kicsinyítés
-zoom_in.title=Nagyítás
-zoom_in_label=Nagyítás
-zoom.title=Nagyítás
-presentation_mode.title=Váltás bemutató módba
-presentation_mode_label=Bemutató mód
-open_file.title=Fájl megnyitása
-open_file_label=Megnyitás
-print.title=Nyomtatás
-print_label=Nyomtatás
-download.title=Letöltés
-download_label=Letöltés
-bookmark.title=Jelenlegi nézet (másolás vagy megnyitás új ablakban)
-bookmark_label=Aktuális nézet
-
-# Secondary toolbar and context menu
-tools.title=Eszközök
-tools_label=Eszközök
-first_page.title=Ugrás az első oldalra
-first_page.label=Ugrás az első oldalra
-first_page_label=Ugrás az első oldalra
-last_page.title=Ugrás az utolsó oldalra
-last_page.label=Ugrás az utolsó oldalra
-last_page_label=Ugrás az utolsó oldalra
-page_rotate_cw.title=Forgatás az óramutató járásával egyezően
-page_rotate_cw.label=Forgatás az óramutató járásával egyezően
-page_rotate_cw_label=Forgatás az óramutató járásával egyezően
-page_rotate_ccw.title=Forgatás az óramutató járásával ellentétesen
-page_rotate_ccw.label=Forgatás az óramutató járásával ellentétesen
-page_rotate_ccw_label=Forgatás az óramutató járásával ellentétesen
-
-cursor_text_select_tool.title=Szövegkijelölő eszköz bekapcsolása
-cursor_text_select_tool_label=Szövegkijelölő eszköz
-cursor_hand_tool.title=Kéz eszköz bekapcsolása
-cursor_hand_tool_label=Kéz eszköz
-
-scroll_vertical.title=Függőleges görgetés használata
-scroll_vertical_label=Függőleges görgetés
-scroll_horizontal.title=Vízszintes görgetés használata
-scroll_horizontal_label=Vízszintes görgetés
-scroll_wrapped.title=Rácsos elrendezés használata
-scroll_wrapped_label=Rácsos elrendezés
-
-spread_none.title=Ne tapassza össze az oldalakat
-spread_none_label=Nincs összetapasztás
-spread_odd.title=Lapok összetapasztása, a páratlan számú oldalakkal kezdve
-spread_odd_label=Összetapasztás: páratlan
-spread_even.title=Lapok összetapasztása, a páros számú oldalakkal kezdve
-spread_even_label=Összetapasztás: páros
-
-# Document properties dialog box
-document_properties.title=Dokumentum tulajdonságai…
-document_properties_label=Dokumentum tulajdonságai…
-document_properties_file_name=Fájlnév:
-document_properties_file_size=Fájlméret:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bájt)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bájt)
-document_properties_title=Cím:
-document_properties_author=Szerző:
-document_properties_subject=Tárgy:
-document_properties_keywords=Kulcsszavak:
-document_properties_creation_date=Létrehozás dátuma:
-document_properties_modification_date=Módosítás dátuma:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Létrehozta:
-document_properties_producer=PDF előállító:
-document_properties_version=PDF verzió:
-document_properties_page_count=Oldalszám:
-document_properties_page_size=Lapméret:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=álló
-document_properties_page_size_orientation_landscape=fekvő
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Jogi információk
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Gyors webes nézet:
-document_properties_linearized_yes=Igen
-document_properties_linearized_no=Nem
-document_properties_close=Bezárás
-
-print_progress_message=Dokumentum előkészítése nyomtatáshoz…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Mégse
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Oldalsáv be/ki
-toggle_sidebar_notification.title=Oldalsáv be/ki (a dokumentum vázlatot/mellékleteket tartalmaz)
-toggle_sidebar_label=Oldalsáv be/ki
-document_outline.title=Dokumentum megjelenítése online (dupla kattintás minden elem kinyitásához/összecsukásához)
-document_outline_label=Dokumentumvázlat
-attachments.title=Mellékletek megjelenítése
-attachments_label=Van melléklet
-thumbs.title=Bélyegképek megjelenítése
-thumbs_label=Bélyegképek
-findbar.title=Keresés a dokumentumban
-findbar_label=Keresés
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas={{page}}. oldal
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. oldal
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. oldal bélyegképe
-
-# Find panel button title and messages
-find_input.title=Keresés
-find_input.placeholder=Keresés a dokumentumban…
-find_previous.title=A kifejezés előző előfordulásának keresése
-find_previous_label=Előző
-find_next.title=A kifejezés következő előfordulásának keresése
-find_next_label=Tovább
-find_highlight=Összes kiemelése
-find_match_case_label=Kis- és nagybetűk megkülönböztetése
-find_entire_word_label=Teljes szavak
-find_reached_top=A dokumentum eleje elérve, folytatás a végétől
-find_reached_bottom=A dokumentum vége elérve, folytatás az elejétől
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} találat
-find_match_count[two]={{current}} / {{total}} találat
-find_match_count[few]={{current}} / {{total}} találat
-find_match_count[many]={{current}} / {{total}} találat
-find_match_count[other]={{current}} / {{total}} találat
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Több mint {{limit}} találat
-find_match_count_limit[one]=Több mint {{limit}} találat
-find_match_count_limit[two]=Több mint {{limit}} találat
-find_match_count_limit[few]=Több mint {{limit}} találat
-find_match_count_limit[many]=Több mint {{limit}} találat
-find_match_count_limit[other]=Több mint {{limit}} találat
-find_not_found=A kifejezés nem található
-
-# Error panel labels
-error_more_info=További tudnivalók
-error_less_info=Kevesebb információ
-error_close=Bezárás
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Üzenet: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Verem: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fájl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Sor: {{line}}
-rendering_error=Hiba történt az oldal feldolgozása közben.
-
-# Predefined zoom values
-page_scale_width=Oldalszélesség
-page_scale_fit=Teljes oldal
-page_scale_auto=Automatikus nagyítás
-page_scale_actual=Valódi méret
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Hiba
-loading_error=Hiba történt a PDF betöltésekor.
-invalid_file_error=Érvénytelen vagy sérült PDF fájl.
-missing_file_error=Hiányzó PDF fájl.
-unexpected_response_error=Váratlan kiszolgálóválasz.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} megjegyzés]
-password_label=Adja meg a jelszót a PDF fájl megnyitásához.
-password_invalid=Helytelen jelszó. Próbálja újra.
-password_ok=OK
-password_cancel=Mégse
-
-printing_not_supported=Figyelmeztetés: Ez a böngésző nem teljesen támogatja a nyomtatást.
-printing_not_ready=Figyelmeztetés: A PDF nincs teljesen betöltve a nyomtatáshoz.
-web_fonts_disabled=Webes betűkészletek letiltva: nem használhatók a beágyazott PDF betűkészletek.
-document_colors_not_allowed=A PDF dokumentumok nem használhatják saját színeiket: „Az oldalak a saját maguk által kiválasztott színeket használhatják” beállítás ki van kapcsolva a böngészőben.
diff --git a/server/target/classes/static/pdfjs/web/locale/hy-AM/viewer.properties b/server/target/classes/static/pdfjs/web/locale/hy-AM/viewer.properties
deleted file mode 100644
index bf79954..0000000
--- a/server/target/classes/static/pdfjs/web/locale/hy-AM/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Նախորդ էջը
-previous_label=Նախորդը
-next.title=Հաջորդ էջը
-next_label=Հաջորդը
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Էջ.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}-ից\u0020
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}}-ը {{pagesCount}})-ից
-
-zoom_out.title=Փոքրացնել
-zoom_out_label=Փոքրացնել
-zoom_in.title=Խոշորացնել
-zoom_in_label=Խոշորացնել
-zoom.title=Մասշտաբը\u0020
-presentation_mode.title=Անցնել Ներկայացման եղանակին
-presentation_mode_label=Ներկայացման եղանակ
-open_file.title=Բացել Ֆայլ
-open_file_label=Բացել
-print.title=Տպել
-print_label=Տպել
-download.title=Բեռնել
-download_label=Բեռնել
-bookmark.title=Ընթացիկ տեսքով (պատճենել կամ բացել նոր պատուհանում)
-bookmark_label=Ընթացիկ տեսքը
-
-# Secondary toolbar and context menu
-tools.title=Գործիքներ
-tools_label=Գործիքներ
-first_page.title=Անցնել առաջին էջին
-first_page.label=Անցնել առաջին էջին
-first_page_label=Անցնել առաջին էջին
-last_page.title=Անցնել վերջին էջին
-last_page.label=Անցնել վերջին էջին
-last_page_label=Անցնել վերջին էջին
-page_rotate_cw.title=Պտտել ըստ ժամացույցի սլաքի
-page_rotate_cw.label=Պտտել ըստ ժամացույցի սլաքի
-page_rotate_cw_label=Պտտել ըստ ժամացույցի սլաքի
-page_rotate_ccw.title=Պտտել հակառակ ժամացույցի սլաքի
-page_rotate_ccw.label=Պտտել հակառակ ժամացույցի սլաքի
-page_rotate_ccw_label=Պտտել հակառակ ժամացույցի սլաքի
-
-cursor_text_select_tool.title=Միացնել Տեքստը ընտրելու գործիքը
-cursor_text_select_tool_label=Տեքստը ընտրելու գործիք
-cursor_hand_tool.title=Միացնել Ձեռքի գործիքը
-cursor_hand_tool_label=Ձեռքի գործիք
-
-scroll_vertical.title=Օգտագործել ուղղահայաց ոլորում
-scroll_vertical_label=Ուղղահայաց ոլորում
-scroll_horizontal.title=Օգտագործել հորիզոնական ոլորում
-scroll_horizontal_label=Հորիզոնական ոլորում
-scroll_wrapped.title=Օգտագործել փաթաթված ոլորում
-scroll_wrapped_label=Փաթաթված ոլորում
-
-spread_none.title=Մի միացեք էջի վերածածկերին
-spread_none_label=Չկա վերածածկեր
-spread_odd.title=Միացեք էջի վերածածկերին սկսելով՝ կենտ համարակալված էջերով
-spread_odd_label=Կենտ վերածածկեր
-spread_even.title=Միացեք էջի վերածածկերին սկսելով՝ զույգ համարակալված էջերով
-spread_even_label=Զույգ վերածածկեր
-
-# Document properties dialog box
-document_properties.title=Փաստաթղթի հատկությունները...
-document_properties_label=Փաստաթղթի հատկությունները...
-document_properties_file_name=Ֆայլի անունը.
-document_properties_file_size=Ֆայլի չափը.
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ԿԲ ({{size_b}} բայթ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} ՄԲ ({{size_b}} բայթ)
-document_properties_title=Վերնագիր.
-document_properties_author=Հեղինակ․
-document_properties_subject=Վերնագիր.
-document_properties_keywords=Հիմնաբառ.
-document_properties_creation_date=Ստեղծելու ամսաթիվը.
-document_properties_modification_date=Փոփոխելու ամսաթիվը.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Ստեղծող.
-document_properties_producer=PDF-ի հեղինակը.
-document_properties_version=PDF-ի տարբերակը.
-document_properties_page_count=Էջերի քանակը.
-document_properties_page_size=Էջի չափը.
-document_properties_page_size_unit_inches=դյ.
-document_properties_page_size_unit_millimeters=մմ
-document_properties_page_size_orientation_portrait=ուղղաձիգ
-document_properties_page_size_orientation_landscape=հորիզոնական
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Նամակ
-document_properties_page_size_name_legal=Օրինական
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Արագ վեբ դիտում․
-document_properties_linearized_yes=Այո
-document_properties_linearized_no=Ոչ
-document_properties_close=Փակել
-
-print_progress_message=Նախապատրաստում է փաստաթուղթը տպելուն...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Չեղարկել
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Բացել/Փակել Կողային վահանակը
-toggle_sidebar_notification.title=Փոխանջատել Կողային գոտին (փաստաթուղթը պարունակում է ուրվագիծ/կցորդ)
-toggle_sidebar_label=Բացել/Փակել Կողային վահանակը
-document_outline.title=Ցուցադրել փաստաթղթի ուրվագիծը (կրկնակի սեղմեք՝ միույթները ընդարձակելու/կոծկելու համար)
-document_outline_label=Փաստաթղթի բովանդակությունը
-attachments.title=Ցուցադրել կցորդները
-attachments_label=Կցորդներ
-thumbs.title=Ցուցադրել Մանրապատկերը
-thumbs_label=Մանրապատկերը
-findbar.title=Գտնել փաստաթղթում
-findbar_label=Որոնում
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Էջ {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Էջը {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Էջի մանրապատկերը {{page}}
-
-# Find panel button title and messages
-find_input.title=Որոնում
-find_input.placeholder=Գտնել փաստաթղթում...
-find_previous.title=Գտնել անրահայտության նախորդ հանդիպումը
-find_previous_label=Նախորդը
-find_next.title=Գտիր արտահայտության հաջորդ հանդիպումը
-find_next_label=Հաջորդը
-find_highlight=Գունանշել բոլորը
-find_match_case_label=Մեծ(փոքր)ատառ հաշվի առնել
-find_entire_word_label=Ամբողջ բառերը
-find_reached_top=Հասել եք փաստաթղթի վերևին, կշարունակվի ներքևից
-find_reached_bottom=Հասել եք փաստաթղթի վերջին, կշարունակվի վերևից
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ հոգնակի(ընդհանուր) ]}
-find_match_count[one]={{current}} {{total}}-ի համընկնումից
-find_match_count[two]={{current}} {{total}}-ի համընկնումներից
-find_match_count[few]={{current}} {{total}}-ի համընկնումներից
-find_match_count[many]={{current}} {{total}}-ի համընկնումներից
-find_match_count[other]={{current}} {{total}}-ի համընկնումներից
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ հոգնակի (սահմանը) ]}
-find_match_count_limit[zero]=Ավելին քան {{limit}} համընկնումները
-find_match_count_limit[one]=Ավելին քան {{limit}} համընկնումը
-find_match_count_limit[two]=Ավելին քան {{limit}} համընկնումներները
-find_match_count_limit[few]=Ավելին քան {{limit}} համընկնումներները
-find_match_count_limit[many]=Ավելին քան {{limit}} համընկնումներները
-find_match_count_limit[other]=Ավելին քան {{limit}} համընկնումներները
-find_not_found=Արտահայտությունը չգտնվեց
-
-# Error panel labels
-error_more_info=Ավելի շատ տեղեկություն
-error_less_info=Քիչ տեղեկություն
-error_close=Փակել
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (կառուցումը. {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Գրությունը. {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Շեղջ. {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ֆայլ. {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Տողը. {{line}}
-rendering_error=Սխալ՝ էջը ստեղծելիս:
-
-# Predefined zoom values
-page_scale_width=Էջի լայնքը
-page_scale_fit=Ձգել էջը
-page_scale_auto=Ինքնաշխատ
-page_scale_actual=Իրական չափը
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Սխալ
-loading_error=Սխալ՝ PDF ֆայլը բացելիս։
-invalid_file_error=Սխալ կամ բնասված PDF ֆայլ:
-missing_file_error=PDF ֆայլը բացակայում է:
-unexpected_response_error=Սպասարկիչի անսպասելի պատասխան:
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Ծանոթություն]
-password_label=Մուտքագրեք PDF-ի գաղտնաբառը:
-password_invalid=Գաղտնաբառը սխալ է: Կրկին փորձեք:
-password_ok=Լավ
-password_cancel=Չեղարկել
-
-printing_not_supported=Զգուշացում. Տպելը ամբողջությամբ չի աջակցվում դիտարկիչի կողմից։
-printing_not_ready=Զգուշացում. PDF-ը ամբողջությամբ չի բեռնավորվել տպելու համար:
-web_fonts_disabled=Վեբ-տառատեսակները անջատված են. հնարավոր չէ օգտագործել ներկառուցված PDF տառատեսակները:
-document_colors_not_allowed=PDF փաստաթղթերին թույլատրված չէ օգտագործել իրենց սեփական գույները: “Թույլատրել էջերին ընտրել իրենց սեփական գույները“ ընտրանքը անջատված է դիտարկիչում:
diff --git a/server/target/classes/static/pdfjs/web/locale/ia/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ia/viewer.properties
deleted file mode 100644
index f69b26e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ia/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina previe
-previous_label=Previe
-next.title=Pagina sequente
-next_label=Sequente
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Distantiar
-zoom_out_label=Distantiar
-zoom_in.title=Approximar
-zoom_in_label=Approximar
-zoom.title=Zoom
-presentation_mode.title=Excambiar a modo presentation
-presentation_mode_label=Modo presentation
-open_file.title=Aperir le file
-open_file_label=Aperir
-print.title=Imprimer
-print_label=Imprimer
-download.title=Discargar
-download_label=Discargar
-bookmark.title=Vista actual (copiar o aperir in un nove fenestra)
-bookmark_label=Vista actual
-
-# Secondary toolbar and context menu
-tools.title=Instrumentos
-tools_label=Instrumentos
-first_page.title=Ir al prime pagina
-first_page.label=Ir al prime pagina
-first_page_label=Ir al prime pagina
-last_page.title=Ir al prime pagina
-last_page.label=Ir al prime pagina
-last_page_label=Ir al prime pagina
-page_rotate_cw.title=Rotar in senso horari
-page_rotate_cw.label=Rotar in senso horari
-page_rotate_cw_label=Rotar in senso horari
-page_rotate_ccw.title=Rotar in senso antihorari
-page_rotate_ccw.label=Rotar in senso antihorari
-page_rotate_ccw_label=Rotar in senso antihorari
-
-cursor_text_select_tool.title=Activar le instrumento de selection de texto
-cursor_text_select_tool_label=Instrumento de selection de texto
-cursor_hand_tool.title=Activar le instrumento mano
-cursor_hand_tool_label=Instrumento mano
-
-scroll_vertical.title=Usar rolamento vertical
-scroll_vertical_label=Rolamento vertical
-scroll_horizontal.title=Usar rolamento horizontal
-scroll_horizontal_label=Rolamento horizontal
-scroll_wrapped.title=Usar rolamento incapsulate
-scroll_wrapped_label=Rolamento incapsulate
-
-spread_none.title=Non junger paginas dual
-spread_none_label=Sin paginas dual
-spread_odd.title=Junger paginas dual a partir de paginas con numeros impar
-spread_odd_label=Paginas dual impar
-spread_even.title=Junger paginas dual a partir de paginas con numeros par
-spread_even_label=Paginas dual par
-
-# Document properties dialog box
-document_properties.title=Proprietates del documento…
-document_properties_label=Proprietates del documento…
-document_properties_file_name=Nomine del file:
-document_properties_file_size=Dimension de file:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titulo:
-document_properties_author=Autor:
-document_properties_subject=Subjecto:
-document_properties_keywords=Parolas clave:
-document_properties_creation_date=Data de creation:
-document_properties_modification_date=Data de modification:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=Productor PDF:
-document_properties_version=Version PDF:
-document_properties_page_count=Numero de paginas:
-document_properties_page_size=Dimension del pagina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=horizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Littera
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rapide:
-document_properties_linearized_yes=Si
-document_properties_linearized_no=No
-document_properties_close=Clauder
-
-print_progress_message=Preparation del documento pro le impression…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancellar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Monstrar/celar le barra lateral
-toggle_sidebar_notification.title=Monstrar/celar le barra lateral (le documento contine structura/attachamentos)
-toggle_sidebar_label=Monstrar/celar le barra lateral
-document_outline.title=Monstrar le schema del documento (clic duple pro expander/contraher tote le elementos)
-document_outline_label=Schema del documento
-attachments.title=Monstrar le annexos
-attachments_label=Annexos
-thumbs.title=Monstrar le vignettes
-thumbs_label=Vignettes
-findbar.title=Cercar in le documento
-findbar_label=Cercar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Vignette del pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Cercar
-find_input.placeholder=Cercar in le documento…
-find_previous.title=Trovar le previe occurrentia del phrase
-find_previous_label=Previe
-find_next.title=Trovar le successive occurrentia del phrase
-find_next_label=Sequente
-find_highlight=Evidentiar toto
-find_match_case_label=Distinguer majusculas/minusculas
-find_entire_word_label=Parolas integre
-find_reached_top=Initio del documento attingite, continuation ab fin
-find_reached_bottom=Fin del documento attingite, continuation ab initio
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} concordantia
-find_match_count[two]={{current}} de {{total}} concordantias
-find_match_count[few]={{current}} de {{total}} concordantias
-find_match_count[many]={{current}} de {{total}} concordantias
-find_match_count[other]={{current}} de {{total}} concordantias
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Plus de {{limit}} concordantias
-find_match_count_limit[one]=Plus de {{limit}} concordantia
-find_match_count_limit[two]=Plus de {{limit}} concordantias
-find_match_count_limit[few]=Plus de {{limit}} concordantias
-find_match_count_limit[many]=Plus de {{limit}} correspondentias
-find_match_count_limit[other]=Plus de {{limit}} concordantias
-find_not_found=Phrase non trovate
-
-# Error panel labels
-error_more_info=Plus de informationes
-error_less_info=Minus de informationes
-error_close=Clauder
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linea: {{line}}
-rendering_error=Un error occurreva durante que on processava le pagina.
-
-# Predefined zoom values
-page_scale_width=Largessa pagina plen
-page_scale_fit=Pagina integre
-page_scale_auto=Zoom automatic
-page_scale_actual=Dimension actual
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Un error occurreva durante que on cargava le file PDF.
-invalid_file_error=File PDF corrumpite o non valide.
-missing_file_error=File PDF mancante.
-unexpected_response_error=Responsa del servitor inexpectate.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Insere le contrasigno pro aperir iste file PDF.
-password_invalid=Contrasigno invalide. Per favor retenta.
-password_ok=OK
-password_cancel=Cancellar
-
-printing_not_supported=Attention : le impression non es totalmente supportate per ce navigator.
-printing_not_ready=Attention: le file PDF non es integremente cargate pro lo poter imprimer.
-web_fonts_disabled=Le typos de litteras web es disactivate: impossibile usar le typos de litteras PDF incorporate.
-document_colors_not_allowed=Le documentos PDF non pote utilisar lor proprie colores: “Autorisar le paginas web a utilisar lor proprie colores” es disactivate in le navigator.
diff --git a/server/target/classes/static/pdfjs/web/locale/id/viewer.properties b/server/target/classes/static/pdfjs/web/locale/id/viewer.properties
deleted file mode 100644
index 0a904e1..0000000
--- a/server/target/classes/static/pdfjs/web/locale/id/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Laman Sebelumnya
-previous_label=Sebelumnya
-next.title=Laman Selanjutnya
-next_label=Selanjutnya
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Halaman
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=dari {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} dari {{pagesCount}})
-
-zoom_out.title=Perkecil
-zoom_out_label=Perkecil
-zoom_in.title=Perbesar
-zoom_in_label=Perbesar
-zoom.title=Perbesaran
-presentation_mode.title=Ganti ke Mode Presentasi
-presentation_mode_label=Mode Presentasi
-open_file.title=Buka Berkas
-open_file_label=Buka
-print.title=Cetak
-print_label=Cetak
-download.title=Unduh
-download_label=Unduh
-bookmark.title=Tampilan Sekarang (salin atau buka di jendela baru)
-bookmark_label=Tampilan Sekarang
-
-# Secondary toolbar and context menu
-tools.title=Alat
-tools_label=Alat
-first_page.title=Buka Halaman Pertama
-first_page.label=Ke Halaman Pertama
-first_page_label=Buka Halaman Pertama
-last_page.title=Buka Halaman Terakhir
-last_page.label=Ke Halaman Terakhir
-last_page_label=Buka Halaman Terakhir
-page_rotate_cw.title=Putar Searah Jarum Jam
-page_rotate_cw.label=Putar Searah Jarum Jam
-page_rotate_cw_label=Putar Searah Jarum Jam
-page_rotate_ccw.title=Putar Berlawanan Arah Jarum Jam
-page_rotate_ccw.label=Putar Berlawanan Arah Jarum Jam
-page_rotate_ccw_label=Putar Berlawanan Arah Jarum Jam
-
-cursor_text_select_tool.title=Aktifkan Alat Seleksi Teks
-cursor_text_select_tool_label=Alat Seleksi Teks
-cursor_hand_tool.title=Aktifkan Alat Tangan
-cursor_hand_tool_label=Alat Tangan
-
-scroll_vertical.title=Gunakan Penggeseran Vertikal
-scroll_vertical_label=Penggeseran Vertikal
-scroll_horizontal.title=Gunakan Penggeseran Horizontal
-scroll_horizontal_label=Penggeseran Horizontal
-scroll_wrapped.title=Gunakan Penggeseran Terapit
-scroll_wrapped_label=Penggeseran Terapit
-
-spread_none.title=Jangan gabungkan lembar halaman
-spread_none_label=Tidak Ada Lembaran
-spread_odd.title=Gabungkan lembar lamanan mulai dengan halaman ganjil
-spread_odd_label=Lembaran Ganjil
-spread_even.title=Gabungkan lembar halaman dimulai dengan halaman genap
-spread_even_label=Lembaran Genap
-
-# Document properties dialog box
-document_properties.title=Properti Dokumen…
-document_properties_label=Properti Dokumen…
-document_properties_file_name=Nama berkas:
-document_properties_file_size=Ukuran berkas:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Judul:
-document_properties_author=Penyusun:
-document_properties_subject=Subjek:
-document_properties_keywords=Kata Kunci:
-document_properties_creation_date=Tanggal Dibuat:
-document_properties_modification_date=Tanggal Dimodifikasi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Pembuat:
-document_properties_producer=Pemroduksi PDF:
-document_properties_version=Versi PDF:
-document_properties_page_count=Jumlah Halaman:
-document_properties_page_size=Ukuran Laman:
-document_properties_page_size_unit_inches=inci
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=tegak
-document_properties_page_size_orientation_landscape=mendatar
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Tampilan Web Kilat:
-document_properties_linearized_yes=Ya
-document_properties_linearized_no=Tidak
-document_properties_close=Tutup
-
-print_progress_message=Menyiapkan dokumen untuk pencetakan…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Batalkan
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Aktif/Nonaktifkan Bilah Samping
-toggle_sidebar_notification.title=Aktif/Nonaktifkan Bilah Samping (dokumen berisi kerangka/lampiran)
-toggle_sidebar_label=Aktif/Nonaktifkan Bilah Samping
-document_outline.title=Tampilkan Kerangka Dokumen (klik ganda untuk membentangkan/menciutkan semua item)
-document_outline_label=Kerangka Dokumen
-attachments.title=Tampilkan Lampiran
-attachments_label=Lampiran
-thumbs.title=Tampilkan Miniatur
-thumbs_label=Miniatur
-findbar.title=Temukan di Dokumen
-findbar_label=Temukan
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Laman {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Laman {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatur Laman {{page}}
-
-# Find panel button title and messages
-find_input.title=Temukan
-find_input.placeholder=Temukan di dokumen…
-find_previous.title=Temukan kata sebelumnya
-find_previous_label=Sebelumnya
-find_next.title=Temukan lebih lanjut
-find_next_label=Selanjutnya
-find_highlight=Sorot semuanya
-find_match_case_label=Cocokkan BESAR/kecil
-find_entire_word_label=Seluruh teks
-find_reached_top=Sampai di awal dokumen, dilanjutkan dari bawah
-find_reached_bottom=Sampai di akhir dokumen, dilanjutkan dari atas
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} dari {{total}} hasil
-find_match_count[two]={{current}} dari {{total}} hasil
-find_match_count[few]={{current}} dari {{total}} hasil
-find_match_count[many]={{current}} dari {{total}} hasil
-find_match_count[other]={{current}} dari {{total}} hasil
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[one]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[two]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[few]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[many]=Ditemukan lebih dari {{limit}}
-find_match_count_limit[other]=Ditemukan lebih dari {{limit}}
-find_not_found=Frasa tidak ditemukan
-
-# Error panel labels
-error_more_info=Lebih Banyak Informasi
-error_less_info=Lebih Sedikit Informasi
-error_close=Tutup
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Pesan: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Berkas: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Baris: {{line}}
-rendering_error=Galat terjadi saat merender laman.
-
-# Predefined zoom values
-page_scale_width=Lebar Laman
-page_scale_fit=Muat Laman
-page_scale_auto=Perbesaran Otomatis
-page_scale_actual=Ukuran Asli
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Galat
-loading_error=Galat terjadi saat memuat PDF.
-invalid_file_error=Berkas PDF tidak valid atau rusak.
-missing_file_error=Berkas PDF tidak ada.
-unexpected_response_error=Balasan server yang tidak diharapkan.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotasi {{type}}]
-password_label=Masukkan sandi untuk membuka berkas PDF ini.
-password_invalid=Sandi tidak valid. Silakan coba lagi.
-password_ok=Oke
-password_cancel=Batal
-
-printing_not_supported=Peringatan: Pencetakan tidak didukung secara lengkap pada peramban ini.
-printing_not_ready=Peringatan: Berkas PDF masih belum dimuat secara lengkap untuk dapat dicetak.
-web_fonts_disabled=Font web dinonaktifkan: tidak dapat menggunakan font PDF yang tersemat.
-document_colors_not_allowed=Dokumen PDF tidak diizinkan untuk menggunakan warnanya sendiri karena setelan 'Izinkan laman memilih warna sendiri' dinonaktifkan pada pengaturan.
diff --git a/server/target/classes/static/pdfjs/web/locale/is/viewer.properties b/server/target/classes/static/pdfjs/web/locale/is/viewer.properties
deleted file mode 100644
index d24c2ad..0000000
--- a/server/target/classes/static/pdfjs/web/locale/is/viewer.properties
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Fyrri síða
-previous_label=Fyrri
-next.title=Næsta síða
-next_label=Næsti
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Síða
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=af {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} af {{pagesCount}})
-
-zoom_out.title=Minnka
-zoom_out_label=Minnka
-zoom_in.title=Stækka
-zoom_in_label=Stækka
-zoom.title=Aðdráttur
-presentation_mode.title=Skipta yfir á kynningarham
-presentation_mode_label=Kynningarhamur
-open_file.title=Opna skrá
-open_file_label=Opna
-print.title=Prenta
-print_label=Prenta
-download.title=Hala niður
-download_label=Hala niður
-bookmark.title=Núverandi sýn (afritaðu eða opnaðu í nýjum glugga)
-bookmark_label=Núverandi sýn
-
-# Secondary toolbar and context menu
-tools.title=Verkfæri
-tools_label=Verkfæri
-first_page.title=Fara á fyrstu síðu
-first_page.label=Fara á fyrstu síðu
-first_page_label=Fara á fyrstu síðu
-last_page.title=Fara á síðustu síðu
-last_page.label=Fara á síðustu síðu
-last_page_label=Fara á síðustu síðu
-page_rotate_cw.title=Snúa réttsælis
-page_rotate_cw.label=Snúa réttsælis
-page_rotate_cw_label=Snúa réttsælis
-page_rotate_ccw.title=Snúa rangsælis
-page_rotate_ccw.label=Snúa rangsælis
-page_rotate_ccw_label=Snúa rangsælis
-
-cursor_text_select_tool.title=Virkja textavalsáhald
-cursor_text_select_tool_label=Textavalsáhald
-cursor_hand_tool.title=Virkja handarverkfæri
-cursor_hand_tool_label=Handarverkfæri
-
-scroll_vertical.title=Nota lóðrétt skrun
-scroll_vertical_label=Lóðrétt skrun
-scroll_horizontal.title=Nota lárétt skrun
-scroll_horizontal_label=Lárétt skrun
-
-spread_none.title=Ekki taka þátt í dreifingu síðna
-spread_none_label=Engin dreifing
-spread_odd.title=Taka þátt í dreifingu síðna með oddatölum
-spread_odd_label=Oddatöludreifing
-spread_even.title=Taktu þátt í dreifingu síðna með jöfnuntölum
-spread_even_label=Jafnatöludreifing
-
-# Document properties dialog box
-document_properties.title=Eiginleikar skjals…
-document_properties_label=Eiginleikar skjals…
-document_properties_file_name=Skráarnafn:
-document_properties_file_size=Skrárstærð:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titill:
-document_properties_author=Hönnuður:
-document_properties_subject=Efni:
-document_properties_keywords=Stikkorð:
-document_properties_creation_date=Búið til:
-document_properties_modification_date=Dags breytingar:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Höfundur:
-document_properties_producer=PDF framleiðandi:
-document_properties_version=PDF útgáfa:
-document_properties_page_count=Blaðsíðufjöldi:
-document_properties_page_size=Stærð síðu:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=skammsnið
-document_properties_page_size_orientation_landscape=langsnið
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=Já
-document_properties_linearized_no=Nei
-document_properties_close=Loka
-
-print_progress_message=Undirbý skjal fyrir prentun…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Hætta við
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Víxla hliðslá
-toggle_sidebar_notification.title=Víxla hliðarslá (skjal inniheldur yfirlit/viðhengi)
-toggle_sidebar_label=Víxla hliðslá
-document_outline.title=Sýna yfirlit skjals (tvísmelltu til að opna/loka öllum hlutum)
-document_outline_label=Efnisskipan skjals
-attachments.title=Sýna viðhengi
-attachments_label=Viðhengi
-thumbs.title=Sýna smámyndir
-thumbs_label=Smámyndir
-findbar.title=Leita í skjali
-findbar_label=Leita
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Síða {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Smámynd af síðu {{page}}
-
-# Find panel button title and messages
-find_input.title=Leita
-find_input.placeholder=Leita í skjali…
-find_previous.title=Leita að fyrra tilfelli þessara orða
-find_previous_label=Fyrri
-find_next.title=Leita að næsta tilfelli þessara orða
-find_next_label=Næsti
-find_highlight=Lita allt
-find_match_case_label=Passa við stafstöðu
-find_entire_word_label=Heil orð
-find_reached_top=Náði efst í skjal, held áfram neðst
-find_reached_bottom=Náði enda skjals, held áfram efst
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} af {{total}} niðurstöðu
-find_match_count[two]={{current}} af {{total}} niðurstöðum
-find_match_count[few]={{current}} af {{total}} niðurstöðum
-find_match_count[many]={{current}} af {{total}} niðurstöðum
-find_match_count[other]={{current}} af {{total}} niðurstöðum
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[one]=Fleiri en {{limit}} niðurstaða
-find_match_count_limit[two]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[few]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[many]=Fleiri en {{limit}} niðurstöður
-find_match_count_limit[other]=Fleiri en {{limit}} niðurstöður
-find_not_found=Fann ekki orðið
-
-# Error panel labels
-error_more_info=Meiri upplýsingar
-error_less_info=Minni upplýsingar
-error_close=Loka
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Skilaboð: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stafli: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Skrá: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lína: {{line}}
-rendering_error=Upp kom villa við að birta síðuna.
-
-# Predefined zoom values
-page_scale_width=Síðubreidd
-page_scale_fit=Passa á síðu
-page_scale_auto=Sjálfvirkur aðdráttur
-page_scale_actual=Raunstærð
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Villa
-loading_error=Villa kom upp við að hlaða inn PDF.
-invalid_file_error=Ógild eða skemmd PDF skrá.
-missing_file_error=Vantar PDF skrá.
-unexpected_response_error=Óvænt svar frá netþjóni.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Skýring]
-password_label=Sláðu inn lykilorð til að opna þessa PDF skrá.
-password_invalid=Ógilt lykilorð. Reyndu aftur.
-password_ok=Í lagi
-password_cancel=Hætta við
-
-printing_not_supported=Aðvörun: Prentun er ekki með fyllilegan stuðning á þessum vafra.
-printing_not_ready=Aðvörun: Ekki er búið að hlaða inn allri PDF skránni fyrir prentun.
-web_fonts_disabled=Vef leturgerðir eru óvirkar: get ekki notað innbyggðar PDF leturgerðir.
-document_colors_not_allowed=PDF skjöl hafa ekki leyfi til að nota sína eigin liti: “Leyfa síðum að velja eigin liti” er óvirkt í vafranum.
diff --git a/server/target/classes/static/pdfjs/web/locale/it/viewer.properties b/server/target/classes/static/pdfjs/web/locale/it/viewer.properties
deleted file mode 100644
index 1f0a20a..0000000
--- a/server/target/classes/static/pdfjs/web/locale/it/viewer.properties
+++ /dev/null
@@ -1,159 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-previous.title = Pagina precedente
-previous_label = Precedente
-next.title = Pagina successiva
-next_label = Successiva
-page.title = Pagina
-of_pages = di {{pagesCount}}
-page_of_pages = ({{pageNumber}} di {{pagesCount}})
-zoom_out.title = Riduci zoom
-zoom_out_label = Riduci zoom
-zoom_in.title = Aumenta zoom
-zoom_in_label = Aumenta zoom
-zoom.title = Zoom
-presentation_mode.title = Passa alla modalità presentazione
-presentation_mode_label = Modalità presentazione
-open_file.title = Apri file
-open_file_label = Apri
-print.title = Stampa
-print_label = Stampa
-download.title = Scarica questo documento
-download_label = Download
-bookmark.title = Visualizzazione corrente (copia o apri in una nuova finestra)
-bookmark_label = Visualizzazione corrente
-tools.title = Strumenti
-tools_label = Strumenti
-first_page.title = Vai alla prima pagina
-first_page.label = Vai alla prima pagina
-first_page_label = Vai alla prima pagina
-last_page.title = Vai all’ultima pagina
-last_page.label = Vai all’ultima pagina
-last_page_label = Vai all’ultima pagina
-page_rotate_cw.title = Ruota in senso orario
-page_rotate_cw.label = Ruota in senso orario
-page_rotate_cw_label = Ruota in senso orario
-page_rotate_ccw.title = Ruota in senso antiorario
-page_rotate_ccw.label = Ruota in senso antiorario
-page_rotate_ccw_label = Ruota in senso antiorario
-cursor_text_select_tool.title = Attiva strumento di selezione testo
-cursor_text_select_tool_label = Strumento di selezione testo
-cursor_hand_tool.title = Attiva strumento mano
-cursor_hand_tool_label = Strumento mano
-scroll_vertical.title = Scorri le pagine in verticale
-scroll_vertical_label = Scorrimento verticale
-scroll_horizontal.title = Scorri le pagine in orizzontale
-scroll_horizontal_label = Scorrimento orizzontale
-scroll_wrapped.title = Scorri le pagine in verticale, disponendole da sinistra a destra e andando a capo automaticamente
-scroll_wrapped_label = Scorrimento con a capo automatico
-spread_none.title = Non raggruppare pagine
-spread_none_label = Nessun raggruppamento
-spread_odd.title = Crea gruppi di pagine che iniziano con numeri di pagina dispari
-spread_odd_label = Raggruppamento dispari
-spread_even.title = Crea gruppi di pagine che iniziano con numeri di pagina pari
-spread_even_label = Raggruppamento pari
-document_properties.title = Proprietà del documento…
-document_properties_label = Proprietà del documento…
-document_properties_file_name = Nome file:
-document_properties_file_size = Dimensione file:
-document_properties_kb = {{size_kb}} kB ({{size_b}} byte)
-document_properties_mb = {{size_mb}} MB ({{size_b}} byte)
-document_properties_title = Titolo:
-document_properties_author = Autore:
-document_properties_subject = Oggetto:
-document_properties_keywords = Parole chiave:
-document_properties_creation_date = Data creazione:
-document_properties_modification_date = Data modifica:
-document_properties_date_string = {{date}}, {{time}}
-document_properties_creator = Autore originale:
-document_properties_producer = Produttore PDF:
-document_properties_version = Versione PDF:
-document_properties_page_count = Conteggio pagine:
-document_properties_page_size = Dimensioni pagina:
-document_properties_page_size_unit_inches = in
-document_properties_page_size_unit_millimeters = mm
-document_properties_page_size_orientation_portrait = verticale
-document_properties_page_size_orientation_landscape = orizzontale
-document_properties_page_size_name_a3 = A3
-document_properties_page_size_name_a4 = A4
-document_properties_page_size_name_letter = Lettera
-document_properties_page_size_name_legal = Legale
-document_properties_page_size_dimension_string = {{width}} × {{height}} {{unit}} ({{orientation}})
-document_properties_page_size_dimension_name_string = {{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-document_properties_linearized = Visualizzazione web veloce:
-document_properties_linearized_yes = Sì
-document_properties_linearized_no = No
-document_properties_close = Chiudi
-print_progress_message = Preparazione documento per la stampa…
-print_progress_percent = {{progress}}%
-print_progress_close = Annulla
-toggle_sidebar.title = Attiva/disattiva barra laterale
-toggle_sidebar_notification.title = Attiva/disattiva barra laterale (il documento contiene struttura/allegati)
-toggle_sidebar_label = Attiva/disattiva barra laterale
-document_outline.title = Visualizza la struttura del documento (doppio clic per visualizzare/comprimere tutti gli elementi)
-document_outline_label = Struttura documento
-attachments.title = Visualizza allegati
-attachments_label = Allegati
-thumbs.title = Mostra le miniature
-thumbs_label = Miniature
-findbar.title = Trova nel documento
-findbar_label = Trova
-page_canvas = Pagina {{page}}
-thumb_page_title = Pagina {{page}}
-thumb_page_canvas = Miniatura della pagina {{page}}
-find_input.title = Trova
-find_input.placeholder = Trova nel documento…
-find_previous.title = Trova l’occorrenza precedente del testo da cercare
-find_previous_label = Precedente
-find_next.title = Trova l’occorrenza successiva del testo da cercare
-find_next_label = Successivo
-find_highlight = Evidenzia
-find_match_case_label = Maiuscole/minuscole
-find_entire_word_label = Parole intere
-find_reached_top = Raggiunto l’inizio della pagina, continua dalla fine
-find_reached_bottom = Raggiunta la fine della pagina, continua dall’inizio
-find_match_count = {[ plural(total) ]}
-find_match_count[one] = {{current}} di {{total}} corrispondenza
-find_match_count[two] = {{current}} di {{total}} corrispondenze
-find_match_count[few] = {{current}} di {{total}} corrispondenze
-find_match_count[many] = {{current}} di {{total}} corrispondenze
-find_match_count[other] = {{current}} di {{total}} corrispondenze
-find_match_count_limit = {[ plural(limit) ]}
-find_match_count_limit[zero] = Più di {{limit}} corrispondenze
-find_match_count_limit[one] = Più di {{limit}} corrispondenza
-find_match_count_limit[two] = Più di {{limit}} corrispondenze
-find_match_count_limit[few] = Più di {{limit}} corrispondenze
-find_match_count_limit[many] = Più di {{limit}} corrispondenze
-find_match_count_limit[other] = Più di {{limit}} corrispondenze
-find_not_found = Testo non trovato
-error_more_info = Ulteriori informazioni
-error_less_info = Nascondi dettagli
-error_close = Chiudi
-error_version_info = PDF.js v{{version}} (build: {{build}})
-error_message = Messaggio: {{message}}
-error_stack = Stack: {{stack}}
-error_file = File: {{file}}
-error_line = Riga: {{line}}
-rendering_error = Si è verificato un errore durante il rendering della pagina.
-page_scale_width = Larghezza pagina
-page_scale_fit = Adatta a una pagina
-page_scale_auto = Zoom automatico
-page_scale_actual = Dimensioni effettive
-page_scale_percent = {{scale}}%
-loading_error_indicator = Errore
-loading_error = Si è verificato un errore durante il caricamento del PDF.
-invalid_file_error = File PDF non valido o danneggiato.
-missing_file_error = File PDF non disponibile.
-unexpected_response_error = Risposta imprevista del server
-annotation_date_string = {{date}}, {{time}}
-text_annotation_type.alt = [Annotazione: {{type}}]
-password_label = Inserire la password per aprire questo file PDF.
-password_invalid = Password non corretta. Riprovare.
-password_ok = OK
-password_cancel = Annulla
-printing_not_supported = Attenzione: la stampa non è completamente supportata da questo browser.
-printing_not_ready = Attenzione: il PDF non è ancora stato caricato completamente per la stampa.
-web_fonts_disabled = I web font risultano disattivati: impossibile utilizzare i caratteri incorporati nel PDF.
-document_colors_not_allowed = Non è possibile visualizzare i colori originali definiti nel file PDF: l’opzione del browser “Consenti alle pagine di scegliere i propri colori invece di quelli impostati” è disattivata.
diff --git a/server/target/classes/static/pdfjs/web/locale/ja/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ja/viewer.properties
deleted file mode 100644
index 95732a0..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ja/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=前のページへ戻ります
-previous_label=前へ
-next.title=次のページへ進みます
-next_label=次へ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ページ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=表示を縮小します
-zoom_out_label=縮小
-zoom_in.title=表示を拡大します
-zoom_in_label=拡大
-zoom.title=拡大/縮小
-presentation_mode.title=プレゼンテーションモードに切り替えます
-presentation_mode_label=プレゼンテーションモード
-open_file.title=ファイルを開きます
-open_file_label=開く
-print.title=印刷します
-print_label=印刷
-download.title=ダウンロードします
-download_label=ダウンロード
-bookmark.title=現在のビューの URL です (コピーまたは新しいウィンドウに開く)
-bookmark_label=現在のビュー
-
-# Secondary toolbar and context menu
-tools.title=ツール
-tools_label=ツール
-first_page.title=最初のページへ移動します
-first_page.label=最初のページへ移動
-first_page_label=最初のページへ移動
-last_page.title=最後のページへ移動します
-last_page.label=最後のページへ移動
-last_page_label=最後のページへ移動
-page_rotate_cw.title=ページを右へ回転します
-page_rotate_cw.label=右回転
-page_rotate_cw_label=右回転
-page_rotate_ccw.title=ページを左へ回転します
-page_rotate_ccw.label=左回転
-page_rotate_ccw_label=左回転
-
-cursor_text_select_tool.title=テキスト選択ツールを有効にする
-cursor_text_select_tool_label=テキスト選択ツール
-cursor_hand_tool.title=手のひらツールを有効にする
-cursor_hand_tool_label=手のひらツール
-
-scroll_vertical.title=縦スクロールにする
-scroll_vertical_label=縦スクロール
-scroll_horizontal.title=横スクロールにする
-scroll_horizontal_label=横スクロール
-scroll_wrapped.title=折り返しスクロールにする
-scroll_wrapped_label=折り返しスクロール
-
-spread_none.title=見開きにしない
-spread_none_label=見開きにしない
-spread_odd.title=奇数ページ開始で見開きにする
-spread_odd_label=奇数ページ見開き
-spread_even.title=偶数ページ開始で見開きにする
-spread_even_label=偶数ページ見開き
-
-# Document properties dialog box
-document_properties.title=文書のプロパティ...
-document_properties_label=文書のプロパティ...
-document_properties_file_name=ファイル名:
-document_properties_file_size=ファイルサイズ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=タイトル:
-document_properties_author=作成者:
-document_properties_subject=件名:
-document_properties_keywords=キーワード:
-document_properties_creation_date=作成日:
-document_properties_modification_date=更新日:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=アプリケーション:
-document_properties_producer=PDF 作成:
-document_properties_version=PDF のバージョン:
-document_properties_page_count=ページ数:
-document_properties_page_size=ページサイズ:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=縦
-document_properties_page_size_orientation_landscape=横
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=レター
-document_properties_page_size_name_legal=リーガル
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ウェブ表示用に最適化:
-document_properties_linearized_yes=はい
-document_properties_linearized_no=いいえ
-document_properties_close=閉じる
-
-print_progress_message=文書の印刷を準備しています...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=キャンセル
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=サイドバー表示を切り替えます
-toggle_sidebar_notification.title=サイドバー表示を切り替えます (文書に含まれるアウトライン / 添付)
-toggle_sidebar_label=サイドバーの切り替え
-document_outline.title=文書の目次を表示します (ダブルクリックで項目を開閉します)
-document_outline_label=文書の目次
-attachments.title=添付ファイルを表示します
-attachments_label=添付ファイル
-thumbs.title=縮小版を表示します
-thumbs_label=縮小版
-findbar.title=文書内を検索します
-findbar_label=検索
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas={{page}} ページ
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} ページ
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} ページの縮小版
-
-# Find panel button title and messages
-find_input.title=検索
-find_input.placeholder=文書内を検索...
-find_previous.title=現在より前の位置で指定文字列が現れる部分を検索します
-find_previous_label=前へ
-find_next.title=現在より後の位置で指定文字列が現れる部分を検索します
-find_next_label=次へ
-find_highlight=すべて強調表示
-find_match_case_label=大文字/小文字を区別
-find_entire_word_label=単語一致
-find_reached_top=文書先頭に到達したので末尾から続けて検索します
-find_reached_bottom=文書末尾に到達したので先頭から続けて検索します
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} 件中 {{current}} 件目
-find_match_count[two]={{total}} 件中 {{current}} 件目
-find_match_count[few]={{total}} 件中 {{current}} 件目
-find_match_count[many]={{total}} 件中 {{current}} 件目
-find_match_count[other]={{total}} 件中 {{current}} 件目
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} 件以上一致
-find_match_count_limit[one]={{limit}} 件以上一致
-find_match_count_limit[two]={{limit}} 件以上一致
-find_match_count_limit[few]={{limit}} 件以上一致
-find_match_count_limit[many]={{limit}} 件以上一致
-find_match_count_limit[other]={{limit}} 件以上一致
-find_not_found=見つかりませんでした
-
-# Error panel labels
-error_more_info=詳細情報
-error_less_info=詳細情報を隠す
-error_close=閉じる
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (ビルド: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=メッセージ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=スタック: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ファイル: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=行: {{line}}
-rendering_error=ページのレンダリング中にエラーが発生しました。
-
-# Predefined zoom values
-page_scale_width=幅に合わせる
-page_scale_fit=ページのサイズに合わせる
-page_scale_auto=自動ズーム
-page_scale_actual=実際のサイズ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=エラー
-loading_error=PDF の読み込み中にエラーが発生しました。
-invalid_file_error=無効または破損した PDF ファイル。
-missing_file_error=PDF ファイルが見つかりません。
-unexpected_response_error=サーバーから予期せぬ応答がありました。
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 注釈]
-password_label=この PDF ファイルを開くためのパスワードを入力してください。
-password_invalid=無効なパスワードです。もう一度やり直してください。
-password_ok=OK
-password_cancel=キャンセル
-
-printing_not_supported=警告: このブラウザーでは印刷が完全にサポートされていません。
-printing_not_ready=警告: PDF を印刷するための読み込みが終了していません。
-web_fonts_disabled=ウェブフォントが無効になっています: 埋め込まれた PDF のフォントを使用できません。
-document_colors_not_allowed=PDF 文書は、ウェブページが指定した配色を使用することができません: 'ウェブページが指定した配色' はブラウザーで無効になっています。
diff --git a/server/target/classes/static/pdfjs/web/locale/ka/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ka/viewer.properties
deleted file mode 100644
index d7a8f7a..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ka/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=წინა გვერდი
-previous_label=წინა
-next.title=შემდეგი გვერდი
-next_label=შემდეგი
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=გვერდი
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}-დან
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} {{pagesCount}}-დან)
-
-zoom_out.title=ზომის შემცირება
-zoom_out_label=დაშორება
-zoom_in.title=ზომის გაზრდა
-zoom_in_label=მოახლოება
-zoom.title=ზომა
-presentation_mode.title=ჩვენების რეჟიმზე გადართვა
-presentation_mode_label=ჩვენების რეჟიმი
-open_file.title=ფაილის გახსნა
-open_file_label=გახსნა
-print.title=ამობეჭდვა
-print_label=ამობეჭდვა
-download.title=ჩამოტვირთვა
-download_label=ჩამოტვირთვა
-bookmark.title=მიმდინარე ხედი (ასლის აღება ან გახსნა ახალ ფანჯარაში)
-bookmark_label=მიმდინარე ხედი
-
-# Secondary toolbar and context menu
-tools.title=ხელსაწყოები
-tools_label=ხელსაწყოები
-first_page.title=პირველ გვერდზე გადასვლა
-first_page.label=პირველ გვერდზე გადასვლა
-first_page_label=პირველ გვერდზე გადასვლა
-last_page.title=ბოლო გვერდზე გადასვლა
-last_page.label=ბოლო გვერდზე გადასვლა
-last_page_label=ბოლო გვერდზე გადასვლა
-page_rotate_cw.title=საათის ისრის მიმართულებით შებრუნება
-page_rotate_cw.label=მარჯვნივ გადაბრუნება
-page_rotate_cw_label=მარჯვნივ გადაბრუნება
-page_rotate_ccw.title=საათის ისრის საპირისპიროდ შებრუნება
-page_rotate_ccw.label=მარცხნივ გადაბრუნება
-page_rotate_ccw_label=მარცხნივ გადაბრუნება
-
-cursor_text_select_tool.title=მოსანიშნი მაჩვენებლის გამოყენება
-cursor_text_select_tool_label=მოსანიშნი მაჩვენებელი
-cursor_hand_tool.title=გადასაადგილებელი მაჩვენებლის გამოყენება
-cursor_hand_tool_label=გადასაადგილებელი
-
-scroll_vertical.title=გვერდების შვეულად ჩვენება
-scroll_vertical_label=შვეული გადაადგილება
-scroll_horizontal.title=გვერდების თარაზულად ჩვენება
-scroll_horizontal_label=განივი გადაადგილება
-scroll_wrapped.title=გვერდების ცხრილურად ჩვენება
-scroll_wrapped_label=ცხრილური გადაადგილება
-
-spread_none.title=ორ გვერდზე გაშლის გარეშე
-spread_none_label=ცალგვერდიანი ჩვენება
-spread_odd.title=ორ გვერდზე გაშლა, კენტი გვერდიდან დაწყებული
-spread_odd_label=ორ გვერდზე კენტიდან
-spread_even.title=ორ გვერდზე გაშლა, ლუწი გვერდიდან დაწყებული
-spread_even_label=ორ გვერდზე ლუწიდან
-
-# Document properties dialog box
-document_properties.title=დოკუმენტის შესახებ…
-document_properties_label=დოკუმენტის შესახებ…
-document_properties_file_name=ფაილის სახელი:
-document_properties_file_size=ფაილის მოცულობა:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} კბ ({{size_b}} ბაიტი)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} მბ ({{size_b}} ბაიტი)
-document_properties_title=სათაური:
-document_properties_author=შემდგენი:
-document_properties_subject=თემა:
-document_properties_keywords=საკვანძო სიტყვები:
-document_properties_creation_date=შექმნის თარიღი:
-document_properties_modification_date=ჩასწორების თარიღი:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=შემქმნელი:
-document_properties_producer=PDF-შემქმნელი:
-document_properties_version=PDF-ვერსია:
-document_properties_page_count=გვერდების რაოდენობა:
-document_properties_page_size=გვერდის ზომა:
-document_properties_page_size_unit_inches=დუიმი
-document_properties_page_size_unit_millimeters=მმ
-document_properties_page_size_orientation_portrait=შვეულად
-document_properties_page_size_orientation_landscape=თარაზულად
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=სწრაფი შეთვალიერება:
-document_properties_linearized_yes=დიახ
-document_properties_linearized_no=არა
-document_properties_close=დახურვა
-
-print_progress_message=დოკუმენტი მზადდება ამოსაბეჭდად…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=გაუქმება
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=გვერდითა ზოლის გამოჩენა/დამალვა
-toggle_sidebar_notification.title=გვერდითა ზოლის ჩართვა/გამორთვა (დოკუმენტი შეიცავს სარჩევს/დანართს)
-toggle_sidebar_label=გვერდითა ზოლის გამოჩენა/დამალვა
-document_outline.title=დოკუმენტის სარჩევის ჩვენება (ორჯერ დაწკაპებით ყველა ელემენტის ჩამოშლა/აკეცვა)
-document_outline_label=დოკუმენტის სარჩევი
-attachments.title=დანართების ჩვენება
-attachments_label=დანართები
-thumbs.title=შეთვალიერება
-thumbs_label=ესკიზები
-findbar.title=პოვნა დოკუმენტში
-findbar_label=ძიება
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=გვერდი {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=გვერდი {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=გვერდის შეთვალიერება {{page}}
-
-# Find panel button title and messages
-find_input.title=ძიება
-find_input.placeholder=პოვნა დოკუმენტში…
-find_previous.title=ფრაზის წინა კონტექსტის პოვნა
-find_previous_label=წინა
-find_next.title=ფრაზის შემდეგი კონტექსტის პოვნა
-find_next_label=შემდეგი
-find_highlight=ყველას მონიშვნა
-find_match_case_label=ემთხვევა მთავრული
-find_entire_word_label=მთლიანი სიტყვები
-find_reached_top=მიღწეულია დოკუმენტის დასაწყისი, გრძელდება ბოლოდან
-find_reached_bottom=მიღწეულია დოკუმენტის ბოლო, გრძელდება დასაწყისიდან
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} თანხვედრიდან
-find_match_count[two]={{current}} / {{total}} თანხვედრიდან
-find_match_count[few]={{current}} / {{total}} თანხვედრიდან
-find_match_count[many]={{current}} / {{total}} თანხვედრიდან
-find_match_count[other]={{current}} / {{total}} თანხვედრიდან
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}}-ზე მეტი თანხვედრა
-find_match_count_limit[one]={{limit}}-ზე მეტი თანხვედრა
-find_match_count_limit[two]={{limit}}-ზე მეტი თანხვედრა
-find_match_count_limit[few]={{limit}}-ზე მეტი თანხვედრა
-find_match_count_limit[many]={{limit}}-ზე მეტი თანხვედრა
-find_match_count_limit[other]={{limit}}-ზე მეტი თანხვედრა
-find_not_found=ფრაზა ვერ მოიძებნა
-
-# Error panel labels
-error_more_info=ვრცლად
-error_less_info=შემოკლებულად
-error_close=დახურვა
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=შეტყობინება: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=სტეკი: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ფაილი: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ხაზი: {{line}}
-rendering_error=შეცდომა, გვერდის ჩვენებისას.
-
-# Predefined zoom values
-page_scale_width=გვერდის სიგანეზე
-page_scale_fit=მთლიანი გვერდი
-page_scale_auto=ავტომატური
-page_scale_actual=საწყისი ზომა
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=შეცდომა
-loading_error=შეცდომა, PDF-ფაილის ჩატვირთვისას.
-invalid_file_error=არამართებული ან დაზიანებული PDF-ფაილი.
-missing_file_error=ნაკლული PDF-ფაილი.
-unexpected_response_error=სერვერის მოულოდნელი პასუხი.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} შენიშვნა]
-password_label=შეიყვანეთ პაროლი PDF-ფაილის გასახსნელად.
-password_invalid=არასწორი პაროლი. გთხოვთ, სცადოთ ხელახლა.
-password_ok=კარგი
-password_cancel=გაუქმება
-
-printing_not_supported=გაფრთხილება: ამობეჭდვა ამ ბრაუზერში არაა სრულად მხარდაჭერილი.
-printing_not_ready=გაფრთხილება: PDF სრულად ჩატვირთული არაა, ამობეჭდვის დასაწყებად.
-web_fonts_disabled=ვებშრიფტები გამორთულია: ჩაშენებული PDF-შრიფტების გამოყენება ვერ ხერხდება.
-document_colors_not_allowed=PDF-დოკუმენტებს არ აქვს საკუთარი ფერების გამოყენების ნებართვა: ბრაუზერში გამორთულია „გვერდებისთვის საკუთარი ფერების გამოყენების უფლება“.
diff --git a/server/target/classes/static/pdfjs/web/locale/kab/viewer.properties b/server/target/classes/static/pdfjs/web/locale/kab/viewer.properties
deleted file mode 100644
index e3d0dc4..0000000
--- a/server/target/classes/static/pdfjs/web/locale/kab/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Asebter azewwar
-previous_label=Azewwar
-next.title=Asebter d-iteddun
-next_label=Ddu ɣer zdat
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Asebter
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ɣef {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} n {{pagesCount}})
-
-zoom_out.title=Semẓi
-zoom_out_label=Semẓi
-zoom_in.title=Semɣeṛ
-zoom_in_label=Semɣeṛ
-zoom.title=Semɣeṛ/Semẓi
-presentation_mode.title=Uɣal ɣer Uskar Tihawt
-presentation_mode_label=Askar Tihawt
-open_file.title=Ldi Afaylu
-open_file_label=Ldi
-print.title=Siggez
-print_label=Siggez
-download.title=Sider
-download_label=Azdam
-bookmark.title=Timeẓri tamirant (nɣel neɣ ldi ɣef usfaylu amaynut)
-bookmark_label=Askan amiran
-
-# Secondary toolbar and context menu
-tools.title=Ifecka
-tools_label=Ifecka
-first_page.title=Ddu ɣer usebter amezwaru
-first_page.label=Ddu ɣer usebter amezwaru
-first_page_label=Ddu ɣer usebter amezwaru
-last_page.title=Ddu ɣer usebter aneggaru
-last_page.label=Ddu ɣer usebter aneggaru
-last_page_label=Ddu ɣer usebter aneggaru
-page_rotate_cw.title=Tuzzya tusrigt
-page_rotate_cw.label=Tuzzya tusrigt
-page_rotate_cw_label=Tuzzya tusrigt
-page_rotate_ccw.title=Tuzzya amgal-usrig
-page_rotate_ccw.label=Tuzzya amgal-usrig
-page_rotate_ccw_label=Tuzzya amgal-usrig
-
-cursor_text_select_tool.title=Rmed afecku n tefrant n uḍris
-cursor_text_select_tool_label=Afecku n tefrant n uḍris
-cursor_hand_tool.title=Rmed afecku afus
-cursor_hand_tool_label=Afecku afus
-
-scroll_vertical.title=Seqdec adrurem ubdid
-scroll_vertical_label=Adrurem ubdid
-scroll_horizontal.title=Seqdec adrurem aglawan
-scroll_horizontal_label=Adrurem aglawan
-scroll_wrapped.title=Seqdec adrurem yuẓen
-scroll_wrapped_label=Adrurem yuẓen
-
-spread_none.title=Ur sedday ara isiɣzaf n usebter
-spread_none_label=Ulac isiɣzaf
-spread_odd.title=Seddu isiɣzaf n usebter ibeddun s yisebtar irayuganen
-spread_odd_label=Isiɣzaf irayuganen
-spread_even.title=Seddu isiɣzaf n usebter ibeddun s yisebtar iyuganen
-spread_even_label=Isiɣzaf iyuganen
-
-# Document properties dialog box
-document_properties.title=Taɣaṛa n isemli…
-document_properties_label=Taɣaṛa n isemli…
-document_properties_file_name=Isem n ufaylu:
-document_properties_file_size=Teɣzi n ufaylu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KAṬ ({{size_b}} ibiten)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MAṬ ({{size_b}} iṭamḍanen)
-document_properties_title=Azwel:
-document_properties_author=Ameskar:
-document_properties_subject=Amgay:
-document_properties_keywords=Awalen n tsaruţ
-document_properties_creation_date=Azemz n tmerna:
-document_properties_modification_date=Azemz n usnifel:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Yerna-t:
-document_properties_producer=Afecku n uselket PDF:
-document_properties_version=Lqem PDF:
-document_properties_page_count=Amḍan n isebtar:
-document_properties_page_size=Tuγzi n usebter:
-document_properties_page_size_unit_inches=deg
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=s teɣzi
-document_properties_page_size_orientation_landscape=s tehri
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Asekkil
-document_properties_page_size_name_legal=Usḍif
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Taskant Web taruradt:
-document_properties_linearized_yes=Ih
-document_properties_linearized_no=Ala
-document_properties_close=Mdel
-
-print_progress_message=Aheggi i usiggez n isemli…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Sefsex
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Sken/Fer agalis adisan
-toggle_sidebar_notification.title=Ffer/Sken agalis adisan (isemli yegber aɣawas/imeddayen)
-toggle_sidebar_label=Sken/Fer agalis adisan
-document_outline.title=Sken isemli (Senned snat tikal i wesemɣer/Afneẓ n iferdisen meṛṛa)
-document_outline_label=Isɣalen n isebtar
-attachments.title=Sken ticeqqufin yeddan
-attachments_label=Ticeqqufin yeddan
-thumbs.title=Sken tanfult.
-thumbs_label=Tinfulin
-findbar.title=Nadi deg isemli
-findbar_label=Nadi
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Asebter {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Asebter {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Tanfult n usebter {{page}}
-
-# Find panel button title and messages
-find_input.title=Nadi
-find_input.placeholder=Nadi deg isemli…
-find_previous.title=Aff-d tamseḍriwt n twinest n deffir
-find_previous_label=Azewwar
-find_next.title=Aff-d timseḍriwt n twinest d-iteddun
-find_next_label=Ddu ɣer zdat
-find_highlight=Err izirig imaṛṛa
-find_match_case_label=Qadeṛ amasal n isekkilen
-find_entire_word_label=Awalen iččuranen
-find_reached_top=Yabbeḍ s afella n usebter, tuɣalin s wadda
-find_reached_bottom=Tebḍeḍ s adda n usebter, tuɣalin s afella
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} seg {{total}} n tmeɣṛuḍin
-find_match_count[two]={{current}} seg {{total}} n tmeɣṛuḍin
-find_match_count[few]={{current}} seg {{total}} n tmeɣṛuḍin
-find_match_count[many]={{current}} seg {{total}} n tmeɣṛuḍin
-find_match_count[other]={{current}} seg {{total}} n tmeɣṛuḍin
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ugar n {{limit}} n tmeɣṛuḍin
-find_match_count_limit[one]=Ugar n {{limit}} n tmeɣṛuḍin
-find_match_count_limit[two]=Ugar n {{limit}} n tmeɣṛuḍin
-find_match_count_limit[few]=Ugar n {{limit}} n tmeɣṛuḍin
-find_match_count_limit[many]=Ugar n {{limit}} n tmeɣṛuḍin
-find_match_count_limit[other]=Ugar n {{limit}} n tmeɣṛuḍin
-find_not_found=Ulac tawinest
-
-# Error panel labels
-error_more_info=Ugar n telɣut
-error_less_info=Drus n isalen
-error_close=Mdel
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Izen: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Tanebdant: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Afaylu: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Izirig: {{line}}
-rendering_error=Teḍra-d tuccḍa deg uskan n usebter.
-
-# Predefined zoom values
-page_scale_width=Tehri n usebter
-page_scale_fit=Asebter imaṛṛa
-page_scale_auto=Asemɣeṛ/Asemẓi awurman
-page_scale_actual=Teɣzi tilawt
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Teḍra-d tuccḍa deg alluy n PDF:
-invalid_file_error=Afaylu PDF arameɣtu neɣ yexṣeṛ.
-missing_file_error=Ulac afaylu PDF.
-unexpected_response_error=Aqeddac yerra-d yir tiririt ur nettwaṛǧi ara.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Tabzimt {{type}}]
-password_label=Sekcem awal uffir akken ad ldiḍ afaylu-yagi PDF
-password_invalid=Awal uffir mačči d ameɣtu, Ɛreḍ tikelt-nniḍen.
-password_ok=IH
-password_cancel=Sefsex
-
-printing_not_supported=Ɣuṛ-k: Asiggez ur ittusefrak ara yakan imaṛṛa deg iminig-a.
-printing_not_ready=Ɣuṛ-k: Afaylu PDF ur d-yuli ara imeṛṛa akken ad ittusiggez.
-web_fonts_disabled=Tisefsiyin web ttwassensent; D awezɣi useqdec n tsefsiyin yettwarnan ɣer PDF.
-document_colors_not_allowed=Isemliyen PDF ur zmiren ara ad sqedcen initen-nsen: 'Sireg isebtar akken ad fernen initen-nsen' ur yermid ara deg iminig.
diff --git a/server/target/classes/static/pdfjs/web/locale/kk/viewer.properties b/server/target/classes/static/pdfjs/web/locale/kk/viewer.properties
deleted file mode 100644
index 389b854..0000000
--- a/server/target/classes/static/pdfjs/web/locale/kk/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Алдыңғы парақ
-previous_label=Алдыңғысы
-next.title=Келесі парақ
-next_label=Келесі
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Парақ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ішінен
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=(парақ {{pageNumber}}, {{pagesCount}} ішінен)
-
-zoom_out.title=Кішірейту
-zoom_out_label=Кішірейту
-zoom_in.title=Үлкейту
-zoom_in_label=Үлкейту
-zoom.title=Масштаб
-presentation_mode.title=Презентация режиміне ауысу
-presentation_mode_label=Презентация режимі
-open_file.title=Файлды ашу
-open_file_label=Ашу
-print.title=Баспаға шығару
-print_label=Баспаға шығару
-download.title=Жүктеп алу
-download_label=Жүктеп алу
-bookmark.title=Ағымдағы көрініс (көшіру не жаңа терезеде ашу)
-bookmark_label=Ағымдағы көрініс
-
-# Secondary toolbar and context menu
-tools.title=Құралдар
-tools_label=Құралдар
-first_page.title=Алғашқы параққа өту
-first_page.label=Алғашқы параққа өту
-first_page_label=Алғашқы параққа өту
-last_page.title=Соңғы параққа өту
-last_page.label=Соңғы параққа өту
-last_page_label=Соңғы параққа өту
-page_rotate_cw.title=Сағат тілі бағытымен айналдыру
-page_rotate_cw.label=Сағат тілі бағытымен бұру
-page_rotate_cw_label=Сағат тілі бағытымен бұру
-page_rotate_ccw.title=Сағат тілі бағытына қарсы бұру
-page_rotate_ccw.label=Сағат тілі бағытына қарсы бұру
-page_rotate_ccw_label=Сағат тілі бағытына қарсы бұру
-
-cursor_text_select_tool.title=Мәтінді таңдау құралын іске қосу
-cursor_text_select_tool_label=Мәтінді таңдау құралы
-cursor_hand_tool.title=Қол құралын іске қосу
-cursor_hand_tool_label=Қол құралы
-
-scroll_vertical.title=Вертикалды айналдыруды қолдану
-scroll_vertical_label=Вертикалды айналдыру
-scroll_horizontal.title=Горизонталды айналдыруды қолдану
-scroll_horizontal_label=Горизонталды айналдыру
-scroll_wrapped.title=Масштабталатын айналдыруды қолдану
-scroll_wrapped_label=Масштабталатын айналдыру
-
-spread_none.title=Жазық беттер режимін қолданбау
-spread_none_label=Жазық беттер режимсіз
-spread_odd.title=Жазық беттер тақ нөмірлі беттерден басталады
-spread_odd_label=Тақ нөмірлі беттер сол жақтан
-spread_even.title=Жазық беттер жұп нөмірлі беттерден басталады
-spread_even_label=Жұп нөмірлі беттер сол жақтан
-
-# Document properties dialog box
-document_properties.title=Құжат қасиеттері…
-document_properties_label=Құжат қасиеттері…
-document_properties_file_name=Файл аты:
-document_properties_file_size=Файл өлшемі:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Тақырыбы:
-document_properties_author=Авторы:
-document_properties_subject=Тақырыбы:
-document_properties_keywords=Кілт сөздер:
-document_properties_creation_date=Жасалған күні:
-document_properties_modification_date=Түзету күні:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Жасаған:
-document_properties_producer=PDF өндірген:
-document_properties_version=PDF нұсқасы:
-document_properties_page_count=Беттер саны:
-document_properties_page_size=Бет өлшемі:
-document_properties_page_size_unit_inches=дюйм
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=тік
-document_properties_page_size_orientation_landscape=жатық
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Жылдам Web көрінісі:
-document_properties_linearized_yes=Иә
-document_properties_linearized_no=Жоқ
-document_properties_close=Жабу
-
-print_progress_message=Құжатты баспаға шығару үшін дайындау…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Бас тарту
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Бүйір панелін көрсету/жасыру
-toggle_sidebar_notification.title=Бүйір панелін көрсету/жасыру (құжатта құрылымы/салынымдар бар)
-toggle_sidebar_label=Бүйір панелін көрсету/жасыру
-document_outline.title=Құжат құрылымын көрсету (барлық нәрселерді жазық қылу/жинау үшін қос шерту керек)
-document_outline_label=Құжат құрамасы
-attachments.title=Салынымдарды көрсету
-attachments_label=Салынымдар
-thumbs.title=Кіші көріністерді көрсету
-thumbs_label=Кіші көріністер
-findbar.title=Құжаттан табу
-findbar_label=Табу
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Бет {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} парағы
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} парағы үшін кіші көрінісі
-
-# Find panel button title and messages
-find_input.title=Табу
-find_input.placeholder=Құжаттан табу…
-find_previous.title=Осы сөздердің мәтіннен алдыңғы кездесуін табу
-find_previous_label=Алдыңғысы
-find_next.title=Осы сөздердің мәтіннен келесі кездесуін табу
-find_next_label=Келесі
-find_highlight=Барлығын түспен ерекшелеу
-find_match_case_label=Регистрді ескеру
-find_entire_word_label=Сөздер толығымен
-find_reached_top=Құжаттың басына жеттік, соңынан бастап жалғастырамыз
-find_reached_bottom=Құжаттың соңына жеттік, басынан бастап жалғастырамыз
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} / {{total}} сәйкестік
-find_match_count[two]={{current}} / {{total}} сәйкестік
-find_match_count[few]={{current}} / {{total}} сәйкестік
-find_match_count[many]={{current}} / {{total}} сәйкестік
-find_match_count[other]={{current}} / {{total}} сәйкестік
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} сәйкестіктен көп
-find_match_count_limit[one]={{limit}} сәйкестіктен көп
-find_match_count_limit[two]={{limit}} сәйкестіктен көп
-find_match_count_limit[few]={{limit}} сәйкестіктен көп
-find_match_count_limit[many]={{limit}} сәйкестіктен көп
-find_match_count_limit[other]={{limit}} сәйкестіктен көп
-find_not_found=Сөз(дер) табылмады
-
-# Error panel labels
-error_more_info=Көбірек ақпарат
-error_less_info=Азырақ ақпарат
-error_close=Жабу
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (жинақ: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Хабарлама: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Жол: {{line}}
-rendering_error=Парақты өңдеу кезінде қате кетті.
-
-# Predefined zoom values
-page_scale_width=Парақ ені
-page_scale_fit=Парақты сыйдыру
-page_scale_auto=Автомасштабтау
-page_scale_actual=Нақты өлшемі
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Қате
-loading_error=PDF жүктеу кезінде қате кетті.
-invalid_file_error=Зақымдалған немесе қате PDF файл.
-missing_file_error=PDF файлы жоқ.
-unexpected_response_error=Сервердің күтпеген жауабы.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} аңдатпасы]
-password_label=Бұл PDF файлын ашу үшін парольді енгізіңіз.
-password_invalid=Пароль дұрыс емес. Қайталап көріңіз.
-password_ok=ОК
-password_cancel=Бас тарту
-
-printing_not_supported=Ескерту: Баспаға шығаруды бұл браузер толығымен қолдамайды.
-printing_not_ready=Ескерту: Баспаға шығару үшін, бұл PDF толығымен жүктеліп алынбады.
-web_fonts_disabled=Веб қаріптері сөндірілген: құрамына енгізілген PDF қаріптерін қолдану мүмкін емес.
-document_colors_not_allowed=PDF құжаттарына өздік түстерді қолдану рұқсат етілмеген: бұл браузерде 'Веб-сайттарға өздерінің түстерін қолдануға рұқсат беру' мүмкіндігі сөндірулі тұр.
diff --git a/server/target/classes/static/pdfjs/web/locale/km/viewer.properties b/server/target/classes/static/pdfjs/web/locale/km/viewer.properties
deleted file mode 100644
index e5403cc..0000000
--- a/server/target/classes/static/pdfjs/web/locale/km/viewer.properties
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ទំព័រ​មុន
-previous_label=មុន
-next.title=ទំព័រ​បន្ទាប់
-next_label=បន្ទាប់
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ទំព័រ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=នៃ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} នៃ {{pagesCount}})
-
-zoom_out.title=​បង្រួម
-zoom_out_label=​បង្រួម
-zoom_in.title=​ពង្រីក
-zoom_in_label=​ពង្រីក
-zoom.title=ពង្រីក
-presentation_mode.title=ប្ដូរ​ទៅ​របៀប​បទ​បង្ហាញ
-presentation_mode_label=របៀប​បទ​បង្ហាញ
-open_file.title=បើក​ឯកសារ
-open_file_label=បើក
-print.title=បោះពុម្ព
-print_label=បោះពុម្ព
-download.title=ទាញ​យក
-download_label=ទាញ​យក
-bookmark.title=ទិដ្ឋភាព​បច្ចុប្បន្ន (ចម្លង ឬ​បើក​នៅ​ក្នុង​បង្អួច​ថ្មី)
-bookmark_label=ទិដ្ឋភាព​បច្ចុប្បន្ន
-
-# Secondary toolbar and context menu
-tools.title=ឧបករណ៍
-tools_label=ឧបករណ៍
-first_page.title=ទៅកាន់​ទំព័រ​ដំបូង​
-first_page.label=ទៅកាន់​ទំព័រ​ដំបូង​
-first_page_label=ទៅកាន់​ទំព័រ​ដំបូង​
-last_page.title=ទៅកាន់​ទំព័រ​ចុងក្រោយ​
-last_page.label=ទៅកាន់​ទំព័រ​ចុងក្រោយ​
-last_page_label=ទៅកាន់​ទំព័រ​ចុងក្រោយ
-page_rotate_cw.title=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា
-page_rotate_cw.label=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា
-page_rotate_cw_label=បង្វិល​ស្រប​ទ្រនិច​នាឡិកា
-page_rotate_ccw.title=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​
-page_rotate_ccw.label=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​
-page_rotate_ccw_label=បង្វិល​ច្រាស​ទ្រនិច​នាឡិកា​​
-
-cursor_text_select_tool.title=បើក​ឧបករណ៍​ជ្រើស​អត្ថបទ
-cursor_text_select_tool_label=ឧបករណ៍​ជ្រើស​អត្ថបទ
-cursor_hand_tool.title=បើក​ឧបករណ៍​ដៃ
-cursor_hand_tool_label=ឧបករណ៍​ដៃ
-
-# Document properties dialog box
-document_properties.title=លក្ខណ​សម្បត្តិ​ឯកសារ…
-document_properties_label=លក្ខណ​សម្បត្តិ​ឯកសារ…
-document_properties_file_name=ឈ្មោះ​ឯកសារ៖
-document_properties_file_size=ទំហំ​ឯកសារ៖
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} បៃ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} បៃ)
-document_properties_title=ចំណងជើង៖
-document_properties_author=អ្នក​និពន្ធ៖
-document_properties_subject=ប្រធានបទ៖
-document_properties_keywords=ពាក្យ​គន្លឹះ៖
-document_properties_creation_date=កាលបរិច្ឆេទ​បង្កើត៖
-document_properties_modification_date=កាលបរិច្ឆេទ​កែប្រែ៖
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=អ្នក​បង្កើត៖
-document_properties_producer=កម្មវិធី​បង្កើត PDF ៖
-document_properties_version=កំណែ PDF ៖
-document_properties_page_count=ចំនួន​ទំព័រ៖
-document_properties_close=បិទ
-
-print_progress_message=កំពុង​រៀបចំ​ឯកសារ​សម្រាប់​បោះពុម្ព…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=បោះបង់
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=បិទ/បើក​គ្រាប់​រំកិល
-toggle_sidebar_notification.title=បិទ/បើក​របារ​ចំហៀង (ឯកសារ​មាន​មាតិកា​នៅ​ក្រៅ/attachments)
-toggle_sidebar_label=បិទ/បើក​គ្រាប់​រំកិល
-document_outline.title=បង្ហាញ​គ្រោង​ឯកសារ (ចុច​ទ្វេ​ដង​ដើម្បី​ពង្រីក/បង្រួម​ធាតុ​ទាំងអស់)
-document_outline_label=គ្រោង​ឯកសារ
-attachments.title=បង្ហាញ​ឯកសារ​ភ្ជាប់
-attachments_label=ឯកសារ​ភ្ជាប់
-thumbs.title=បង្ហាញ​រូបភាព​តូចៗ
-thumbs_label=រួបភាព​តូចៗ
-findbar.title=រក​នៅ​ក្នុង​ឯកសារ
-findbar_label=រក
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ទំព័រ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=រូបភាព​តូច​របស់​ទំព័រ {{page}}
-
-# Find panel button title and messages
-find_input.title=រក
-find_input.placeholder=រក​នៅ​ក្នុង​ឯកសារ...
-find_previous.title=រក​ពាក្យ ឬ​ឃ្លា​ដែល​បាន​ជួប​មុន
-find_previous_label=មុន
-find_next.title=រក​ពាក្យ ឬ​ឃ្លា​ដែល​បាន​ជួប​បន្ទាប់
-find_next_label=បន្ទាប់
-find_highlight=បន្លិច​ទាំងអស់
-find_match_case_label=ករណី​ដំណូច
-find_reached_top=បាន​បន្ត​ពី​ខាង​ក្រោម ទៅ​ដល់​ខាង​​លើ​នៃ​ឯកសារ
-find_reached_bottom=បាន​បន្ត​ពី​ខាងលើ ទៅដល់​ចុង​​នៃ​ឯកសារ
-find_not_found=រក​មិន​ឃើញ​ពាក្យ ឬ​ឃ្លា
-
-# Error panel labels
-error_more_info=ព័ត៌មាន​បន្ថែម
-error_less_info=ព័ត៌មាន​តិចតួច
-error_close=បិទ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=សារ ៖ {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ជង់ ៖ {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ឯកសារ ៖ {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ជួរ ៖ {{line}}
-rendering_error=មាន​កំហុស​បាន​កើតឡើង​ពេល​បង្ហាញ​ទំព័រ ។
-
-# Predefined zoom values
-page_scale_width=ទទឹង​ទំព័រ
-page_scale_fit=សម​ទំព័រ
-page_scale_auto=ពង្រីក​ស្វ័យប្រវត្តិ
-page_scale_actual=ទំហំ​ជាក់ស្ដែង
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=កំហុស
-loading_error=មាន​កំហុស​បាន​កើតឡើង​ពេល​កំពុង​ផ្ទុក PDF ។
-invalid_file_error=ឯកសារ PDF ខូច ឬ​មិន​ត្រឹមត្រូវ ។
-missing_file_error=បាត់​ឯកសារ PDF
-unexpected_response_error=ការ​ឆ្លើយ​តម​ម៉ាស៊ីន​មេ​ដែល​មិន​បាន​រំពឹង។
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ចំណារ​ពន្យល់]
-password_label=បញ្ចូល​ពាក្យសម្ងាត់​ដើម្បី​បើក​ឯកសារ PDF នេះ។
-password_invalid=ពាក្យសម្ងាត់​មិន​ត្រឹមត្រូវ។ សូម​ព្យាយាម​ម្ដងទៀត។
-password_ok=យល់​ព្រម
-password_cancel=បោះបង់
-
-printing_not_supported=ការ​ព្រមាន ៖ កា​រ​បោះពុម្ព​មិន​ត្រូវ​បាន​គាំទ្រ​ពេញលេញ​ដោយ​កម្មវិធី​រុករក​នេះ​ទេ ។
-printing_not_ready=ព្រមាន៖ PDF មិន​ត្រូវ​បាន​ផ្ទុក​ទាំងស្រុង​ដើម្បី​បោះពុម្ព​ទេ។
-web_fonts_disabled=បាន​បិទ​ពុម្ពអក្សរ​បណ្ដាញ ៖ មិន​អាច​ប្រើ​ពុម្ពអក្សរ PDF ដែល​បាន​បង្កប់​បាន​ទេ ។
-document_colors_not_allowed=ឯកសារ PDF មិន​ត្រូវ​បាន​អនុញ្ញាត​ឲ្យ​ប្រើ​ពណ៌​ផ្ទាល់​របស់​វា​ទេ៖ 'អនុញ្ញាត​​ឲ្យ​ទំព័រ​ជ្រើស​ពណ៌​ផ្ទាល់​ខ្លួន' ត្រូវ​បាន​ធ្វើ​ឲ្យ​អសកម្ម​ក្នុង​​កម្មវិធី​រុករក។
diff --git a/server/target/classes/static/pdfjs/web/locale/kn/viewer.properties b/server/target/classes/static/pdfjs/web/locale/kn/viewer.properties
deleted file mode 100644
index cf3d004..0000000
--- a/server/target/classes/static/pdfjs/web/locale/kn/viewer.properties
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ಹಿಂದಿನ ಪುಟ
-previous_label=ಹಿಂದಿನ
-next.title=ಮುಂದಿನ ಪುಟ
-next_label=ಮುಂದಿನ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ಪುಟ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ರಲ್ಲಿ
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} ರಲ್ಲಿ {{pageNumber}})
-
-zoom_out.title=ಕಿರಿದಾಗಿಸು
-zoom_out_label=ಕಿರಿದಾಗಿಸಿ
-zoom_in.title=ಹಿರಿದಾಗಿಸು
-zoom_in_label=ಹಿರಿದಾಗಿಸಿ
-zoom.title=ಗಾತ್ರಬದಲಿಸು
-presentation_mode.title=ಪ್ರಸ್ತುತಿ (ಪ್ರಸೆಂಟೇಶನ್) ಕ್ರಮಕ್ಕೆ ಬದಲಾಯಿಸು
-presentation_mode_label=ಪ್ರಸ್ತುತಿ (ಪ್ರಸೆಂಟೇಶನ್) ಕ್ರಮ
-open_file.title=ಕಡತವನ್ನು ತೆರೆ
-open_file_label=ತೆರೆಯಿರಿ
-print.title=ಮುದ್ರಿಸು
-print_label=ಮುದ್ರಿಸಿ
-download.title=ಇಳಿಸು
-download_label=ಇಳಿಸಿಕೊಳ್ಳಿ
-bookmark.title=ಪ್ರಸಕ್ತ ನೋಟ (ಪ್ರತಿ ಮಾಡು ಅಥವ ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆ)
-bookmark_label=ಪ್ರಸಕ್ತ ನೋಟ
-
-# Secondary toolbar and context menu
-tools.title=ಉಪಕರಣಗಳು
-tools_label=ಉಪಕರಣಗಳು
-first_page.title=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು
-first_page.label=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು
-first_page_label=ಮೊದಲ ಪುಟಕ್ಕೆ ತೆರಳು
-last_page.title=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು
-last_page.label=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು
-last_page_label=ಕೊನೆಯ ಪುಟಕ್ಕೆ ತೆರಳು
-page_rotate_cw.title=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು
-page_rotate_cw.label=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು
-page_rotate_cw_label=ಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು
-page_rotate_ccw.title=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು
-page_rotate_ccw.label=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು
-page_rotate_ccw_label=ಅಪ್ರದಕ್ಷಿಣೆಯಲ್ಲಿ ತಿರುಗಿಸು
-
-cursor_text_select_tool.title=ಪಠ್ಯ ಆಯ್ಕೆ ಉಪಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ
-cursor_text_select_tool_label=ಪಠ್ಯ ಆಯ್ಕೆಯ ಉಪಕರಣ
-cursor_hand_tool.title=ಕೈ ಉಪಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ
-cursor_hand_tool_label=ಕೈ ಉಪಕರಣ
-
-
-
-# Document properties dialog box
-document_properties.title=ಡಾಕ್ಯುಮೆಂಟ್‌ ಗುಣಗಳು...
-document_properties_label=ಡಾಕ್ಯುಮೆಂಟ್‌ ಗುಣಗಳು...
-document_properties_file_name=ಕಡತದ ಹೆಸರು:
-document_properties_file_size=ಕಡತದ ಗಾತ್ರ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ಬೈಟ್‍ಗಳು)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ಬೈಟ್‍ಗಳು)
-document_properties_title=ಶೀರ್ಷಿಕೆ:
-document_properties_author=ಕರ್ತೃ:
-document_properties_subject=ವಿಷಯ:
-document_properties_keywords=ಮುಖ್ಯಪದಗಳು:
-document_properties_creation_date=ರಚಿಸಿದ ದಿನಾಂಕ:
-document_properties_modification_date=ಮಾರ್ಪಡಿಸಲಾದ ದಿನಾಂಕ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ರಚಿಸಿದವರು:
-document_properties_producer=PDF ಉತ್ಪಾದಕ:
-document_properties_version=PDF ಆವೃತ್ತಿ:
-document_properties_page_count=ಪುಟದ ಎಣಿಕೆ:
-document_properties_page_size_unit_inches=ಇದರಲ್ಲಿ
-document_properties_page_size_orientation_portrait=ಭಾವಚಿತ್ರ
-document_properties_page_size_orientation_landscape=ಪ್ರಕೃತಿ ಚಿತ್ರ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_close=ಮುಚ್ಚು
-
-print_progress_message=ಮುದ್ರಿಸುವುದಕ್ಕಾಗಿ ದಸ್ತಾವೇಜನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗುತ್ತಿದೆ…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ರದ್ದು ಮಾಡು
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ಬದಿಪಟ್ಟಿಯನ್ನು ಹೊರಳಿಸು
-toggle_sidebar_label=ಬದಿಪಟ್ಟಿಯನ್ನು ಹೊರಳಿಸು
-document_outline_label=ದಸ್ತಾವೇಜಿನ ಹೊರರೇಖೆ
-attachments.title=ಲಗತ್ತುಗಳನ್ನು ತೋರಿಸು
-attachments_label=ಲಗತ್ತುಗಳು
-thumbs.title=ಚಿಕ್ಕಚಿತ್ರದಂತೆ ತೋರಿಸು
-thumbs_label=ಚಿಕ್ಕಚಿತ್ರಗಳು
-findbar.title=ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು
-findbar_label=ಹುಡುಕು
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ಪುಟ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ಪುಟವನ್ನು ಚಿಕ್ಕಚಿತ್ರದಂತೆ ತೋರಿಸು {{page}}
-
-# Find panel button title and messages
-find_input.title=ಹುಡುಕು
-find_input.placeholder=ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಹುಡುಕು…
-find_previous.title=ವಾಕ್ಯದ ಹಿಂದಿನ ಇರುವಿಕೆಯನ್ನು ಹುಡುಕು
-find_previous_label=ಹಿಂದಿನ
-find_next.title=ವಾಕ್ಯದ ಮುಂದಿನ ಇರುವಿಕೆಯನ್ನು ಹುಡುಕು
-find_next_label=ಮುಂದಿನ
-find_highlight=ಎಲ್ಲವನ್ನು ಹೈಲೈಟ್ ಮಾಡು
-find_match_case_label=ಕೇಸನ್ನು ಹೊಂದಿಸು
-find_reached_top=ದಸ್ತಾವೇಜಿನ ಮೇಲ್ಭಾಗವನ್ನು ತಲುಪಿದೆ, ಕೆಳಗಿನಿಂದ ಆರಂಭಿಸು
-find_reached_bottom=ದಸ್ತಾವೇಜಿನ ಕೊನೆಯನ್ನು ತಲುಪಿದೆ, ಮೇಲಿನಿಂದ ಆರಂಭಿಸು
-find_not_found=ವಾಕ್ಯವು ಕಂಡು ಬಂದಿಲ್ಲ
-
-# Error panel labels
-error_more_info=ಹೆಚ್ಚಿನ ಮಾಹಿತಿ
-error_less_info=ಕಡಿಮೆ ಮಾಹಿತಿ
-error_close=ಮುಚ್ಚು
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ಸಂದೇಶ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ರಾಶಿ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ಕಡತ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ಸಾಲು: {{line}}
-rendering_error=ಪುಟವನ್ನು ನಿರೂಪಿಸುವಾಗ ಒಂದು ದೋಷ ಎದುರಾಗಿದೆ.
-
-# Predefined zoom values
-page_scale_width=ಪುಟದ ಅಗಲ
-page_scale_fit=ಪುಟದ ಸರಿಹೊಂದಿಕೆ
-page_scale_auto=ಸ್ವಯಂಚಾಲಿತ ಗಾತ್ರಬದಲಾವಣೆ
-page_scale_actual=ನಿಜವಾದ ಗಾತ್ರ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=ದೋಷ
-loading_error=PDF ಅನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ ಒಂದು ದೋಷ ಎದುರಾಗಿದೆ.
-invalid_file_error=ಅಮಾನ್ಯವಾದ ಅಥವ ಹಾಳಾದ PDF ಕಡತ.
-missing_file_error=PDF ಕಡತ ಇಲ್ಲ.
-unexpected_response_error=ಅನಿರೀಕ್ಷಿತವಾದ ಪೂರೈಕೆಗಣಕದ ಪ್ರತಿಕ್ರಿಯೆ.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ಟಿಪ್ಪಣಿ]
-password_label=PDF ಅನ್ನು ತೆರೆಯಲು ಗುಪ್ತಪದವನ್ನು ನಮೂದಿಸಿ.
-password_invalid=ಅಮಾನ್ಯವಾದ ಗುಪ್ತಪದ, ದಯವಿಟ್ಟು ಇನ್ನೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ.
-password_ok=OK
-password_cancel=ರದ್ದು ಮಾಡು
-
-printing_not_supported=ಎಚ್ಚರಿಕೆ: ಈ ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ಮುದ್ರಣಕ್ಕೆ ಸಂಪೂರ್ಣ ಬೆಂಬಲವಿಲ್ಲ.
-printing_not_ready=ಎಚ್ಚರಿಕೆ: PDF ಕಡತವು ಮುದ್ರಿಸಲು ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗಿಲ್ಲ.
-web_fonts_disabled=ಜಾಲ ಅಕ್ಷರಶೈಲಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ: ಅಡಕಗೊಳಿಸಿದ PDF ಅಕ್ಷರಶೈಲಿಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.
-document_colors_not_allowed=PDF ದಸ್ತಾವೇಜುಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣಗಳನ್ನು ಬಳಸಲು ಅನುಮತಿ ಇರುವುದಿಲ್ಲ: 'ಪುಟಗಳು ತಮ್ಮದೆ ಆದ ಬಣ್ಣವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅನುಮತಿಸು' ಅನ್ನು ಜಾಲವೀಕ್ಷಕದಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿರುತ್ತದೆ.
diff --git a/server/target/classes/static/pdfjs/web/locale/ko/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ko/viewer.properties
deleted file mode 100644
index ef688a9..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ko/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=이전 페이지
-previous_label=이전
-next.title=다음 페이지
-next_label=다음
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=페이지
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=축소
-zoom_out_label=축소
-zoom_in.title=확대
-zoom_in_label=확대
-zoom.title=확대/축소
-presentation_mode.title=프레젠테이션 모드로 전환
-presentation_mode_label=프레젠테이션 모드
-open_file.title=파일 열기
-open_file_label=열기
-print.title=인쇄
-print_label=인쇄
-download.title=다운로드
-download_label=다운로드
-bookmark.title=현재 뷰 (복사하거나 새 창에 열기)
-bookmark_label=현재 뷰
-
-# Secondary toolbar and context menu
-tools.title=도구
-tools_label=도구
-first_page.title=첫 페이지로 이동
-first_page.label=첫 페이지로 이동
-first_page_label=첫 페이지로 이동
-last_page.title=마지막 페이지로 이동
-last_page.label=마지막 페이지로 이동
-last_page_label=마지막 페이지로 이동
-page_rotate_cw.title=시계방향으로 회전
-page_rotate_cw.label=시계방향으로 회전
-page_rotate_cw_label=시계방향으로 회전
-page_rotate_ccw.title=시계 반대방향으로 회전
-page_rotate_ccw.label=시계 반대방향으로 회전
-page_rotate_ccw_label=시계 반대방향으로 회전
-
-cursor_text_select_tool.title=텍스트 선택 도구 활성화
-cursor_text_select_tool_label=텍스트 선택 도구
-cursor_hand_tool.title=손 도구 활성화
-cursor_hand_tool_label=손 도구
-
-scroll_vertical.title=세로 스크롤 사용
-scroll_vertical_label=세로 스크롤
-scroll_horizontal.title=가로 스크롤 사용
-scroll_horizontal_label=가로 스크롤
-scroll_wrapped.title=감싼 스크롤 사용
-scroll_wrapped_label=감싼 스크롤
-
-spread_none.title=펼쳐진 페이지를 합치지 않음
-spread_none_label=펼쳐짐 없음
-spread_odd.title=홀수 페이지로 시작하게 펼쳐진 페이지 합침
-spread_odd_label=홀수 펼쳐짐
-spread_even.title=짝수 페이지로 시작하게 펼쳐진 페이지 합침
-spread_even_label=짝수 펼쳐짐
-
-# Document properties dialog box
-document_properties.title=문서 속성…
-document_properties_label=문서 속성…
-document_properties_file_name=파일 이름:
-document_properties_file_size=파일 크기:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}}바이트)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}}바이트)
-document_properties_title=제목:
-document_properties_author=작성자:
-document_properties_subject=주제:
-document_properties_keywords=키워드:
-document_properties_creation_date=작성 날짜:
-document_properties_modification_date=수정 날짜:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=작성 프로그램:
-document_properties_producer=PDF 변환 소프트웨어:
-document_properties_version=PDF 버전:
-document_properties_page_count=페이지 수:
-document_properties_page_size=페이지 크기:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=세로 방향
-document_properties_page_size_orientation_landscape=가로 방향
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=레터
-document_properties_page_size_name_legal=리걸
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=빠른 웹 보기:
-document_properties_linearized_yes=예
-document_properties_linearized_no=아니오
-document_properties_close=닫기
-
-print_progress_message=인쇄 문서 준비 중…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=취소
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=탐색창 표시/숨기기
-toggle_sidebar_notification.title=탐색창 표시/숨기기 (문서에 아웃라인/첨부파일 포함)
-toggle_sidebar_label=탐색창 표시/숨기기
-document_outline.title=문서 아웃라인 보기(더블 클릭해서 모든 항목 펼치기/접기)
-document_outline_label=문서 아웃라인
-attachments.title=첨부파일 보기
-attachments_label=첨부파일
-thumbs.title=미리보기
-thumbs_label=미리보기
-findbar.title=검색
-findbar_label=검색
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas={{page}} 페이지
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} 페이지
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} 페이지 미리보기
-
-# Find panel button title and messages
-find_input.title=찾기
-find_input.placeholder=문서에서 찾기…
-find_previous.title=지정 문자열에 일치하는 1개 부분을 검색
-find_previous_label=이전
-find_next.title=지정 문자열에 일치하는 다음 부분을 검색
-find_next_label=다음
-find_highlight=모두 강조 표시
-find_match_case_label=대/소문자 구분
-find_entire_word_label=단어 단위로
-find_reached_top=문서 처음까지 검색하고 끝으로 돌아와 검색했습니다.
-find_reached_bottom=문서 끝까지 검색하고 앞으로 돌아와 검색했습니다.
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} 중 {{current}} 일치
-find_match_count[two]={{total}} 중 {{current}} 일치
-find_match_count[few]={{total}} 중 {{current}} 일치
-find_match_count[many]={{total}} 중 {{current}} 일치
-find_match_count[other]={{total}} 중 {{current}} 일치
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} 이상 일치
-find_match_count_limit[one]={{limit}} 이상 일치
-find_match_count_limit[two]={{limit}} 이상 일치
-find_match_count_limit[few]={{limit}} 이상 일치
-find_match_count_limit[many]={{limit}} 이상 일치
-find_match_count_limit[other]={{limit}} 이상 일치
-find_not_found=검색 결과 없음
-
-# Error panel labels
-error_more_info=정보 더 보기
-error_less_info=정보 간단히 보기
-error_close=닫기
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (빌드: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=메시지: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=스택: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=파일: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=줄 번호: {{line}}
-rendering_error=페이지를 렌더링하는 동안 오류가 발생했습니다.
-
-# Predefined zoom values
-page_scale_width=페이지 너비에 맞춤
-page_scale_fit=페이지에 맞춤
-page_scale_auto=자동 맞춤
-page_scale_actual=실제 크기에 맞춤
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=오류
-loading_error=PDF를 로드하는 동안 오류가 발생했습니다.
-invalid_file_error=잘못되었거나 손상된 PDF 파일.
-missing_file_error=PDF 파일 없음.
-unexpected_response_error=예상치 못한 서버 응답입니다.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 주석]
-password_label=이 PDF 파일을 열 수 있는 비밀번호를 입력하세요.
-password_invalid=잘못된 비밀번호입니다. 다시 시도하세요.
-password_ok=확인
-password_cancel=취소
-
-printing_not_supported=경고: 이 브라우저는 인쇄를 완전히 지원하지 않습니다.
-printing_not_ready=경고: 이 PDF를 인쇄를 할 수 있을 정도로 읽어들이지 못했습니다.
-web_fonts_disabled=웹 폰트가 비활성화됨: 내장된 PDF 글꼴을 사용할 수 없습니다.
-document_colors_not_allowed=PDF 문서의 자체 색상 허용 안됨: “페이지 자체 색상 허용”이 브라우저에서 비활성화 되어 있습니다.
diff --git a/server/target/classes/static/pdfjs/web/locale/lij/viewer.properties b/server/target/classes/static/pdfjs/web/locale/lij/viewer.properties
deleted file mode 100644
index 71a5306..0000000
--- a/server/target/classes/static/pdfjs/web/locale/lij/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina primma
-previous_label=Precedente
-next.title=Pagina dòppo
-next_label=Pròscima
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Diminoisci zoom
-zoom_out_label=Diminoisci zoom
-zoom_in.title=Aomenta zoom
-zoom_in_label=Aomenta zoom
-zoom.title=Zoom
-presentation_mode.title=Vanni into mòddo de prezentaçion
-presentation_mode_label=Mòddo de prezentaçion
-open_file.title=Arvi file
-open_file_label=Arvi
-print.title=Stanpa
-print_label=Stanpa
-download.title=Descaregamento
-download_label=Descaregamento
-bookmark.title=Vixon corente (còpia ò arvi inte 'n neuvo barcon)
-bookmark_label=Vixon corente
-
-# Secondary toolbar and context menu
-tools.title=Atressi
-tools_label=Atressi
-first_page.title=Vanni a-a primma pagina
-first_page.label=Vanni a-a primma pagina
-first_page_label=Vanni a-a primma pagina
-last_page.title=Vanni a l'urtima pagina
-last_page.label=Vanni a l'urtima pagina
-last_page_label=Vanni a l'urtima pagina
-page_rotate_cw.title=Gia into verso oraio
-page_rotate_cw.label=Gia in senso do releuio
-page_rotate_cw_label=Gia into verso oraio
-page_rotate_ccw.title=Gia into verso antioraio
-page_rotate_ccw.label=Gia in senso do releuio a-a reversa
-page_rotate_ccw_label=Gia into verso antioraio
-
-cursor_text_select_tool.title=Abilita strumento de seleçion do testo
-cursor_text_select_tool_label=Strumento de seleçion do testo
-cursor_hand_tool.title=Abilita strumento man
-cursor_hand_tool_label=Strumento man
-
-scroll_vertical.title=Deuvia rebelamento verticale
-scroll_vertical_label=Rebelamento verticale
-scroll_horizontal.title=Deuvia rebelamento orizontâ
-scroll_horizontal_label=Rebelamento orizontâ
-scroll_wrapped.title=Deuvia rebelamento incapsolou
-scroll_wrapped_label=Rebelamento incapsolou
-
-spread_none.title=No unite a-a difuxon de pagina
-spread_none_label=No difuxon
-spread_odd.title=Uniscite a-a difuxon de pagina co-o numero dèspa
-spread_odd_label=Difuxon dèspa
-spread_even.title=Uniscite a-a difuxon de pagina co-o numero pari
-spread_even_label=Difuxon pari
-
-# Document properties dialog box
-document_properties.title=Propietæ do documento…
-document_properties_label=Propietæ do documento…
-document_properties_file_name=Nomme schedaio:
-document_properties_file_size=Dimenscion schedaio:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Titolo:
-document_properties_author=Aoto:
-document_properties_subject=Ogetto:
-document_properties_keywords=Paròlle ciave:
-document_properties_creation_date=Dæta creaçion:
-document_properties_modification_date=Dæta cangiamento:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Aotô originale:
-document_properties_producer=Produtô PDF:
-document_properties_version=Verscion PDF:
-document_properties_page_count=Contezzo pagine:
-document_properties_page_size=Dimenscion da pagina:
-document_properties_page_size_unit_inches=dii gròsci
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=drito
-document_properties_page_size_orientation_landscape=desteizo
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letia
-document_properties_page_size_name_legal=Lezze
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista veloce do Web:
-document_properties_linearized_yes=Sci
-document_properties_linearized_no=No
-document_properties_close=Særa
-
-print_progress_message=Praparo o documento pe-a stanpa…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anulla
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Ativa/dizativa bara de scianco
-toggle_sidebar_notification.title=Cangia bara de löo (o documento o contegne di alegæ)
-toggle_sidebar_label=Ativa/dizativa bara de scianco
-document_outline.title=Fanni vedde o contorno do documento (scicca doggio pe espande/ridue tutti i elementi)
-document_outline_label=Contorno do documento
-attachments.title=Fanni vedde alegæ
-attachments_label=Alegæ
-thumbs.title=Mostra miniatue
-thumbs_label=Miniatue
-findbar.title=Treuva into documento
-findbar_label=Treuva
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatua da pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Treuva
-find_input.placeholder=Treuva into documento…
-find_previous.title=Treuva a ripetiçion precedente do testo da çercâ
-find_previous_label=Precedente
-find_next.title=Treuva a ripetiçion dòppo do testo da çercâ
-find_next_label=Segoente
-find_highlight=Evidençia
-find_match_case_label=Maioscole/minoscole
-find_entire_word_label=Poula intrega
-find_reached_top=Razonto a fin da pagina, continoa da l'iniçio
-find_reached_bottom=Razonto l'iniçio da pagina, continoa da-a fin
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} corispondensa
-find_match_count[two]={{current}} de {{total}} corispondense
-find_match_count[few]={{current}} de {{total}} corispondense
-find_match_count[many]={{current}} de {{total}} corispondense
-find_match_count[other]={{current}} de {{total}} corispondense
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Ciù de {{limit}} corispondense
-find_match_count_limit[one]=Ciù de {{limit}} corispondensa
-find_match_count_limit[two]=Ciù de {{limit}} corispondense
-find_match_count_limit[few]=Ciù de {{limit}} corispondense
-find_match_count_limit[many]=Ciù de {{limit}} corispondense
-find_match_count_limit[other]=Ciù de {{limit}} corispondense
-find_not_found=Testo no trovou
-
-# Error panel labels
-error_more_info=Ciù informaçioin
-error_less_info=Meno informaçioin
-error_close=Særa
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesaggio: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Schedaio: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linia: {{line}}
-rendering_error=Gh'é stæto 'n'erô itno rendering da pagina.
-
-# Predefined zoom values
-page_scale_width=Larghessa pagina
-page_scale_fit=Adatta a una pagina
-page_scale_auto=Zoom aotomatico
-page_scale_actual=Dimenscioin efetive
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Erô
-loading_error=S'é verificou 'n'erô itno caregamento do PDF.
-invalid_file_error=O schedaio PDF o l'é no valido ò aroinou.
-missing_file_error=O schedaio PDF o no gh'é.
-unexpected_response_error=Risposta inprevista do-u server
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotaçion: {{type}}]
-password_label=Dimme a paròlla segreta pe arvî sto schedaio PDF.
-password_invalid=Paròlla segreta sbalia. Preuva torna.
-password_ok=Va ben
-password_cancel=Anulla
-
-printing_not_supported=Atençion: a stanpa a no l'é conpletamente soportâ da sto navegatô.
-printing_not_ready=Atençion: o PDF o no l'é ancon caregou conpletamente pe-a stanpa.
-web_fonts_disabled=I font do web en dizativæ: inposcibile adeuviâ i carateri do PDF.
-document_colors_not_allowed=No l'é poscibile adeuviâ i pròpi coî pe-i documenti PDF: l'opçion do navegatô  “Permetti a-e pagine de çerne i pròpi coî in cangio de quelli inpostæ” a l'é dizativâ.
diff --git a/server/target/classes/static/pdfjs/web/locale/lo/viewer.properties b/server/target/classes/static/pdfjs/web/locale/lo/viewer.properties
deleted file mode 100644
index 00d3309..0000000
--- a/server/target/classes/static/pdfjs/web/locale/lo/viewer.properties
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ຫນ້າກ່ອນຫນ້າ
-previous_label=ກ່ອນຫນ້າ
-next.title=ຫນ້າຖັດໄປ
-next_label=ຖັດໄປ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ຫນ້າ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ຈາກ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ຈາກ {{pagesCount}})
-
-zoom_out.title=ຂະຫຍາຍອອກ
-zoom_out_label=ຂະຫຍາຍອອກ
-zoom_in.title=ຂະຫຍາຍເຂົ້າ
-zoom_in_label=ຂະຫຍາຍເຂົ້າ
-zoom.title=ຂະຫຍາຍ
-presentation_mode.title=ສັບປ່ຽນເປັນໂຫມດການນຳສະເຫນີ
-presentation_mode_label=ໂຫມດການນຳສະເຫນີ
-open_file.title=ເປີດໄຟລ໌
-open_file_label=ເປີດ
-print.title=ພິມ
-print_label=ພິມ
-download.title=ດາວໂຫລດ
-download_label=ດາວໂຫລດ
-bookmark.title=ມຸມມອງປະຈຸບັນ (ສຳເນົາ ຫລື ເປີດໃນວິນໂດໃຫມ່)
-bookmark_label=ມຸມມອງປະຈຸບັນ
-
-# Secondary toolbar and context menu
-tools.title=ເຄື່ອງມື
-tools_label=ເຄື່ອງມື
-first_page.title=ໄປທີ່ຫນ້າທຳອິດ
-first_page.label=ໄປທີ່ຫນ້າທຳອິດ
-first_page_label=ໄປທີ່ຫນ້າທຳອິດ
-last_page.title=ໄປທີ່ຫນ້າສຸດທ້າຍ
-last_page.label=ໄປທີ່ຫນ້າສຸດທ້າຍ
-last_page_label=ໄປທີ່ຫນ້າສຸດທ້າຍ
-page_rotate_cw.title=ຫມູນຕາມເຂັມໂມງ
-page_rotate_cw.label=ຫມູນຕາມເຂັມໂມງ
-page_rotate_cw_label=ຫມູນຕາມເຂັມໂມງ
-page_rotate_ccw.title=ຫມູນທວນເຂັມໂມງ
-page_rotate_ccw.label=ຫມູນທວນເຂັມໂມງ
-page_rotate_ccw_label=ຫມູນທວນເຂັມໂມງ
-
-
-
-
-# Document properties dialog box
-document_properties_file_name=ຊື່ໄຟລ໌:
-document_properties_file_size=ຂະຫນາດໄຟລ໌:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=ລວງຕັ້ງ
-document_properties_page_size_orientation_landscape=ລວງນອນ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=ຈົດໝາຍ
-document_properties_page_size_name_legal=ຂໍ້ກົດຫມາຍ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_close=ປິດ
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_close=ຍົກເລີກ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ເປີດ/ປິດແຖບຂ້າງ
-toggle_sidebar_notification.title=ເປີດ/ປິດແຖບຂ້າງ (ເອກະສານມີເຄົ້າຮ່າງ/ໄຟລ໌ແນບ)
-toggle_sidebar_label=ເປີດ/ປິດແຖບຂ້າງ
-document_outline_label=ເຄົ້າຮ່າງເອກະສານ
-findbar_label=ຄົ້ນຫາ
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-find_input.title=ຄົ້ນຫາ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-
-# Error panel labels
-error_more_info=ຂໍ້ມູນເພີ່ມເຕີມ
-error_less_info=ຂໍ້ມູນນ້ອຍລົງ
-error_close=ປິດ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-rendering_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງເຣັນເດີຫນ້າ.
-
-# Predefined zoom values
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-# Loading indicator messages
-loading_error_indicator=ຂໍ້ຜິດພາດ
-loading_error=ມີຂໍ້ຜິດພາດເກີດຂື້ນຂະນະທີ່ກຳລັງໂຫລດ PDF.
-invalid_file_error=ໄຟລ໌ PDF ບໍ່ຖືກຕ້ອງຫລືເສຍຫາຍ.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_ok=ຕົກລົງ
-password_cancel=ຍົກເລີກ
-
diff --git a/server/target/classes/static/pdfjs/web/locale/locale.properties b/server/target/classes/static/pdfjs/web/locale/locale.properties
deleted file mode 100644
index aa43d40..0000000
--- a/server/target/classes/static/pdfjs/web/locale/locale.properties
+++ /dev/null
@@ -1,303 +0,0 @@
-[ach]
-@import url(ach/viewer.properties)
-
-[af]
-@import url(af/viewer.properties)
-
-[an]
-@import url(an/viewer.properties)
-
-[ar]
-@import url(ar/viewer.properties)
-
-[ast]
-@import url(ast/viewer.properties)
-
-[az]
-@import url(az/viewer.properties)
-
-[be]
-@import url(be/viewer.properties)
-
-[bg]
-@import url(bg/viewer.properties)
-
-[bn]
-@import url(bn/viewer.properties)
-
-[bo]
-@import url(bo/viewer.properties)
-
-[br]
-@import url(br/viewer.properties)
-
-[brx]
-@import url(brx/viewer.properties)
-
-[bs]
-@import url(bs/viewer.properties)
-
-[ca]
-@import url(ca/viewer.properties)
-
-[cak]
-@import url(cak/viewer.properties)
-
-[cs]
-@import url(cs/viewer.properties)
-
-[cy]
-@import url(cy/viewer.properties)
-
-[da]
-@import url(da/viewer.properties)
-
-[de]
-@import url(de/viewer.properties)
-
-[dsb]
-@import url(dsb/viewer.properties)
-
-[el]
-@import url(el/viewer.properties)
-
-[en-CA]
-@import url(en-CA/viewer.properties)
-
-[en-GB]
-@import url(en-GB/viewer.properties)
-
-[en-US]
-@import url(en-US/viewer.properties)
-
-[eo]
-@import url(eo/viewer.properties)
-
-[es-AR]
-@import url(es-AR/viewer.properties)
-
-[es-CL]
-@import url(es-CL/viewer.properties)
-
-[es-ES]
-@import url(es-ES/viewer.properties)
-
-[es-MX]
-@import url(es-MX/viewer.properties)
-
-[et]
-@import url(et/viewer.properties)
-
-[eu]
-@import url(eu/viewer.properties)
-
-[fa]
-@import url(fa/viewer.properties)
-
-[ff]
-@import url(ff/viewer.properties)
-
-[fi]
-@import url(fi/viewer.properties)
-
-[fr]
-@import url(fr/viewer.properties)
-
-[fy-NL]
-@import url(fy-NL/viewer.properties)
-
-[ga-IE]
-@import url(ga-IE/viewer.properties)
-
-[gd]
-@import url(gd/viewer.properties)
-
-[gl]
-@import url(gl/viewer.properties)
-
-[gn]
-@import url(gn/viewer.properties)
-
-[gu-IN]
-@import url(gu-IN/viewer.properties)
-
-[he]
-@import url(he/viewer.properties)
-
-[hi-IN]
-@import url(hi-IN/viewer.properties)
-
-[hr]
-@import url(hr/viewer.properties)
-
-[hsb]
-@import url(hsb/viewer.properties)
-
-[hu]
-@import url(hu/viewer.properties)
-
-[hy-AM]
-@import url(hy-AM/viewer.properties)
-
-[ia]
-@import url(ia/viewer.properties)
-
-[id]
-@import url(id/viewer.properties)
-
-[is]
-@import url(is/viewer.properties)
-
-[it]
-@import url(it/viewer.properties)
-
-[ja]
-@import url(ja/viewer.properties)
-
-[ka]
-@import url(ka/viewer.properties)
-
-[kab]
-@import url(kab/viewer.properties)
-
-[kk]
-@import url(kk/viewer.properties)
-
-[km]
-@import url(km/viewer.properties)
-
-[kn]
-@import url(kn/viewer.properties)
-
-[ko]
-@import url(ko/viewer.properties)
-
-[lij]
-@import url(lij/viewer.properties)
-
-[lo]
-@import url(lo/viewer.properties)
-
-[lt]
-@import url(lt/viewer.properties)
-
-[ltg]
-@import url(ltg/viewer.properties)
-
-[lv]
-@import url(lv/viewer.properties)
-
-[mk]
-@import url(mk/viewer.properties)
-
-[mr]
-@import url(mr/viewer.properties)
-
-[ms]
-@import url(ms/viewer.properties)
-
-[my]
-@import url(my/viewer.properties)
-
-[nb-NO]
-@import url(nb-NO/viewer.properties)
-
-[ne-NP]
-@import url(ne-NP/viewer.properties)
-
-[nl]
-@import url(nl/viewer.properties)
-
-[nn-NO]
-@import url(nn-NO/viewer.properties)
-
-[oc]
-@import url(oc/viewer.properties)
-
-[pa-IN]
-@import url(pa-IN/viewer.properties)
-
-[pl]
-@import url(pl/viewer.properties)
-
-[pt-BR]
-@import url(pt-BR/viewer.properties)
-
-[pt-PT]
-@import url(pt-PT/viewer.properties)
-
-[rm]
-@import url(rm/viewer.properties)
-
-[ro]
-@import url(ro/viewer.properties)
-
-[ru]
-@import url(ru/viewer.properties)
-
-[scn]
-@import url(scn/viewer.properties)
-
-[si]
-@import url(si/viewer.properties)
-
-[sk]
-@import url(sk/viewer.properties)
-
-[sl]
-@import url(sl/viewer.properties)
-
-[son]
-@import url(son/viewer.properties)
-
-[sq]
-@import url(sq/viewer.properties)
-
-[sr]
-@import url(sr/viewer.properties)
-
-[sv-SE]
-@import url(sv-SE/viewer.properties)
-
-[ta]
-@import url(ta/viewer.properties)
-
-[te]
-@import url(te/viewer.properties)
-
-[th]
-@import url(th/viewer.properties)
-
-[tl]
-@import url(tl/viewer.properties)
-
-[tr]
-@import url(tr/viewer.properties)
-
-[trs]
-@import url(trs/viewer.properties)
-
-[uk]
-@import url(uk/viewer.properties)
-
-[ur]
-@import url(ur/viewer.properties)
-
-[uz]
-@import url(uz/viewer.properties)
-
-[vi]
-@import url(vi/viewer.properties)
-
-[wo]
-@import url(wo/viewer.properties)
-
-[xh]
-@import url(xh/viewer.properties)
-
-[zh-CN]
-@import url(zh-CN/viewer.properties)
-
-[zh-TW]
-@import url(zh-TW/viewer.properties)
-
diff --git a/server/target/classes/static/pdfjs/web/locale/lt/viewer.properties b/server/target/classes/static/pdfjs/web/locale/lt/viewer.properties
deleted file mode 100644
index dbdc821..0000000
--- a/server/target/classes/static/pdfjs/web/locale/lt/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Ankstesnis puslapis
-previous_label=Ankstesnis
-next.title=Kitas puslapis
-next_label=Kitas
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Puslapis
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=iš {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} iš {{pagesCount}})
-
-zoom_out.title=Sumažinti
-zoom_out_label=Sumažinti
-zoom_in.title=Padidinti
-zoom_in_label=Padidinti
-zoom.title=Mastelis
-presentation_mode.title=Pereiti į pateikties veikseną
-presentation_mode_label=Pateikties veiksena
-open_file.title=Atverti failą
-open_file_label=Atverti
-print.title=Spausdinti
-print_label=Spausdinti
-download.title=Parsiųsti
-download_label=Parsiųsti
-bookmark.title=Esamojo rodinio saitas (kopijavimui ar atvėrimui kitame lange)
-bookmark_label=Esamasis rodinys
-
-# Secondary toolbar and context menu
-tools.title=Priemonės
-tools_label=Priemonės
-first_page.title=Eiti į pirmą puslapį
-first_page.label=Eiti į pirmą puslapį
-first_page_label=Eiti į pirmą puslapį
-last_page.title=Eiti į paskutinį puslapį
-last_page.label=Eiti į paskutinį puslapį
-last_page_label=Eiti į paskutinį puslapį
-page_rotate_cw.title=Pasukti pagal laikrodžio rodyklę
-page_rotate_cw.label=Pasukti pagal laikrodžio rodyklę
-page_rotate_cw_label=Pasukti pagal laikrodžio rodyklę
-page_rotate_ccw.title=Pasukti prieš laikrodžio rodyklę
-page_rotate_ccw.label=Pasukti prieš laikrodžio rodyklę
-page_rotate_ccw_label=Pasukti prieš laikrodžio rodyklę
-
-cursor_text_select_tool.title=Įjungti teksto žymėjimo įrankį
-cursor_text_select_tool_label=Teksto žymėjimo įrankis
-cursor_hand_tool.title=Įjungti vilkimo įrankį
-cursor_hand_tool_label=Vilkimo įrankis
-
-scroll_vertical.title=Naudoti vertikalų slinkimą
-scroll_vertical_label=Vertikalus slinkimas
-scroll_horizontal.title=Naudoti horizontalų slinkimą
-scroll_horizontal_label=Horizontalus slinkimas
-scroll_wrapped.title=Naudoti išklotą slinkimą
-scroll_wrapped_label=Išklotas slinkimas
-
-spread_none.title=Nesujungti puslapių sklaidų
-spread_none_label=Be sklaidų
-spread_odd.title=Sujungti puslapių sklaidas pradedant nelyginiais puslapiais
-spread_odd_label=Nelyginės sklaidos
-spread_even.title=Sujungti puslapių sklaidas pradedant lyginiais puslapiais
-spread_even_label=Lyginės sklaidos
-
-# Document properties dialog box
-document_properties.title=Dokumento savybės…
-document_properties_label=Dokumento savybės…
-document_properties_file_name=Failo vardas:
-document_properties_file_size=Failo dydis:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} B)
-document_properties_title=Antraštė:
-document_properties_author=Autorius:
-document_properties_subject=Tema:
-document_properties_keywords=Reikšminiai žodžiai:
-document_properties_creation_date=Sukūrimo data:
-document_properties_modification_date=Modifikavimo data:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Kūrėjas:
-document_properties_producer=PDF generatorius:
-document_properties_version=PDF versija:
-document_properties_page_count=Puslapių skaičius:
-document_properties_page_size=Puslapio dydis:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=stačias
-document_properties_page_size_orientation_landscape=gulsčias
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Laiškas
-document_properties_page_size_name_legal=Dokumentas
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Spartus žiniatinklio rodinys:
-document_properties_linearized_yes=Taip
-document_properties_linearized_no=Ne
-document_properties_close=Užverti
-
-print_progress_message=Dokumentas ruošiamas spausdinimui…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Atsisakyti
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Rodyti / slėpti šoninį polangį
-toggle_sidebar_notification.title=Parankinė (dokumentas turi struktūrą / priedų)
-toggle_sidebar_label=Šoninis polangis
-document_outline.title=Rodyti dokumento struktūrą (spustelėkite dukart norėdami išplėsti/suskleisti visus elementus)
-document_outline_label=Dokumento struktūra
-attachments.title=Rodyti priedus
-attachments_label=Priedai
-thumbs.title=Rodyti puslapių miniatiūras
-thumbs_label=Miniatiūros
-findbar.title=Ieškoti dokumente
-findbar_label=Rasti
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas={{page}} puslapis
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} puslapis
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} puslapio miniatiūra
-
-# Find panel button title and messages
-find_input.title=Rasti
-find_input.placeholder=Rasti dokumente…
-find_previous.title=Ieškoti ankstesnio frazės egzemplioriaus
-find_previous_label=Ankstesnis
-find_next.title=Ieškoti tolesnio frazės egzemplioriaus
-find_next_label=Tolesnis
-find_highlight=Viską paryškinti
-find_match_case_label=Skirti didžiąsias ir mažąsias raides
-find_entire_word_label=Ištisi žodžiai
-find_reached_top=Pasiekus dokumento pradžią, paieška pratęsta nuo pabaigos
-find_reached_bottom=Pasiekus dokumento pabaigą, paieška pratęsta nuo pradžios
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} iš {{total}} atitikmens
-find_match_count[two]={{current}} iš {{total}} atitikmenų
-find_match_count[few]={{current}} iš {{total}} atitikmenų
-find_match_count[many]={{current}} iš {{total}} atitikmenų
-find_match_count[other]={{current}} iš {{total}} atitikmens
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Daugiau nei {{limit}} atitikmenų
-find_match_count_limit[one]=Daugiau nei {{limit}} atitikmuo
-find_match_count_limit[two]=Daugiau nei {{limit}} atitikmenys
-find_match_count_limit[few]=Daugiau nei {{limit}} atitikmenys
-find_match_count_limit[many]=Daugiau nei {{limit}} atitikmenų
-find_match_count_limit[other]=Daugiau nei {{limit}} atitikmuo
-find_not_found=Ieškoma frazė nerasta
-
-# Error panel labels
-error_more_info=Išsamiau
-error_less_info=Glausčiau
-error_close=Užverti
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v. {{version}} (darinys: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Pranešimas: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Dėklas: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Failas: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Eilutė: {{line}}
-rendering_error=Atvaizduojant puslapį įvyko klaida.
-
-# Predefined zoom values
-page_scale_width=Priderinti prie lapo pločio
-page_scale_fit=Pritaikyti prie lapo dydžio
-page_scale_auto=Automatinis mastelis
-page_scale_actual=Tikras dydis
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Klaida
-loading_error=Įkeliant PDF failą įvyko klaida.
-invalid_file_error=Tai nėra PDF failas arba jis yra sugadintas.
-missing_file_error=PDF failas nerastas.
-unexpected_response_error=Netikėtas serverio atsakas.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[„{{type}}“ tipo anotacija]
-password_label=Įveskite slaptažodį šiam PDF failui atverti.
-password_invalid=Slaptažodis neteisingas. Bandykite dar kartą.
-password_ok=Gerai
-password_cancel=Atsisakyti
-
-printing_not_supported=Dėmesio! Spausdinimas šioje naršyklėje nėra pilnai realizuotas.
-printing_not_ready=Dėmesio! PDF failas dar nėra pilnai įkeltas spausdinimui.
-web_fonts_disabled=Saityno šriftai išjungti – PDF faile esančių šriftų naudoti negalima.
-document_colors_not_allowed=PDF dokumentams neleidžiama nurodyti savo spalvų, nes išjungta naršyklės nuostata „Leisti tinklalapiams nurodyti spalvas“.
diff --git a/server/target/classes/static/pdfjs/web/locale/ltg/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ltg/viewer.properties
deleted file mode 100644
index ecdb723..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ltg/viewer.properties
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Īprīkšejā lopa
-previous_label=Īprīkšejā
-next.title=Nuokomuo lopa
-next_label=Nuokomuo
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Lopa
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=nu {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} nu {{pagesCount}})
-
-zoom_out.title=Attuolynuot 
-zoom_out_label=Attuolynuot
-zoom_in.title=Pītuvynuot
-zoom_in_label=Pītuvynuot
-zoom.title=Palelynuojums
-presentation_mode.title=Puorslēgtīs iz Prezentacejis režymu
-presentation_mode_label=Prezentacejis režyms
-open_file.title=Attaiseit failu
-open_file_label=Attaiseit
-print.title=Drukuošona
-print_label=Drukōt
-download.title=Lejupīluode
-download_label=Lejupīluodeit
-bookmark.title=Pošreizejais skots (kopēt voi attaiseit jaunā lūgā)
-bookmark_label=Pošreizejais skots
-
-# Secondary toolbar and context menu
-tools.title=Reiki
-tools_label=Reiki
-first_page.title=Īt iz pyrmū lopu
-first_page.label=Īt iz pyrmū lopu
-first_page_label=Īt iz pyrmū lopu
-last_page.title=Īt iz piedejū lopu
-last_page.label=Īt iz piedejū lopu
-last_page_label=Īt iz piedejū lopu
-page_rotate_cw.title=Pagrīzt pa pulksteni
-page_rotate_cw.label=Pagrīzt pa pulksteni
-page_rotate_cw_label=Pagrīzt pa pulksteni
-page_rotate_ccw.title=Pagrīzt pret pulksteni
-page_rotate_ccw.label=Pagrīzt pret pulksteni
-page_rotate_ccw_label=Pagrīzt pret pulksteni
-
-cursor_text_select_tool.title=Aktivizēt teksta izvieles reiku
-cursor_text_select_tool_label=Teksta izvieles reiks
-cursor_hand_tool.title=Aktivēt rūkys reiku
-cursor_hand_tool_label=Rūkys reiks
-
-scroll_vertical.title=Izmontōt vertikalū ritinōšonu
-scroll_vertical_label=Vertikalō ritinōšona
-scroll_horizontal.title=Izmontōt horizontalū ritinōšonu
-scroll_horizontal_label=Horizontalō ritinōšona
-scroll_wrapped.title=Izmontōt mārūgojamū ritinōšonu
-scroll_wrapped_label=Mārūgojamō ritinōšona
-
-spread_none.title=Naizmontōt lopu atvāruma režimu
-spread_none_label=Bez atvārumim
-spread_odd.title=Izmontōt lopu atvārumus sōkut nu napōra numeru lopom
-spread_odd_label=Napōra lopys pa kreisi
-spread_even.title=Izmontōt lopu atvārumus sōkut nu pōra numeru lopom
-spread_even_label=Pōra lopys pa kreisi
-
-# Document properties dialog box
-document_properties.title=Dokumenta īstatiejumi…
-document_properties_label=Dokumenta īstatiejumi…
-document_properties_file_name=Faila nūsaukums:
-document_properties_file_size=Faila izmārs:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} biti)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} biti)
-document_properties_title=Nūsaukums:
-document_properties_author=Autors:
-document_properties_subject=Tema:
-document_properties_keywords=Atslāgi vuordi:
-document_properties_creation_date=Izveides datums:
-document_properties_modification_date=lobuošonys datums:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Radeituojs:
-document_properties_producer=PDF producents:
-document_properties_version=PDF verseja:
-document_properties_page_count=Lopu skaits:
-document_properties_page_size=Lopas izmārs:
-document_properties_page_size_unit_inches=collas
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portreta orientaceja
-document_properties_page_size_orientation_landscape=ainovys orientaceja
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Jā
-document_properties_linearized_no=Nā
-document_properties_close=Aiztaiseit
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Atceļt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Puorslēgt suonu jūslu
-toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments)
-toggle_sidebar_label=Puorslēgt suonu jūslu
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Dokumenta saturs
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Paruodeit seiktālus
-thumbs_label=Seiktāli
-findbar.title=Mekleit dokumentā
-findbar_label=Mekleit
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Lopa {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Lopys {{page}} seiktāls
-
-# Find panel button title and messages
-find_input.title=Mekleit
-find_input.placeholder=Mekleit dokumentā…
-find_previous.title=Atrast īprīkšejū
-find_previous_label=Īprīkšejā
-find_next.title=Atrast nuokamū
-find_next_label=Nuokomuo
-find_highlight=Īkruosuot vysys
-find_match_case_label=Lelū, mozū burtu jiuteigs
-find_reached_top=Sasnīgts dokumenta suokums, turpynojom nu beigom
-find_reached_bottom=Sasnīgtys dokumenta beigys, turpynojom nu suokuma
-find_not_found=Frāze nav atrosta
-
-# Error panel labels
-error_more_info=Vairuok informacejis
-error_less_info=mozuok informacejis
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ziņuojums: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Steks: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Ryndeņa: {{line}}
-rendering_error=Attālojūt lopu rodās klaida
-
-# Predefined zoom values
-page_scale_width=Lopys plotumā
-page_scale_fit=Ītylpynūt lopu
-page_scale_auto=Automatiskais izmārs
-page_scale_actual=Patīsais izmārs
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Klaida
-loading_error=Īluodejūt PDF nūtyka klaida.
-invalid_file_error=Nadereigs voi būjuots PDF fails.
-missing_file_error=PDF fails nav atrosts.
-unexpected_response_error=Unexpected server response.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Īvodit paroli, kab attaiseitu PDF failu.
-password_invalid=Napareiza parole, raugit vēļreiz.
-password_ok=Labi
-password_cancel=Atceļt
-
-printing_not_supported=Uzmaneibu: Drukuošona nu itei puorlūka dorbojās tikai daleji.
-printing_not_ready=Uzmaneibu: PDF nav pilneibā īluodeits drukuošonai.
-web_fonts_disabled=Šķārsteikla fonti nav aktivizāti: Navar īgult PDF fontus.
-document_colors_not_allowed=PDF dokumentym nav atļauts izmantuot pošym sovys kruosys: „Atļaut lopom izavieleit pošom sovys kruosys“ ir deaktiveits puorlyukā.
diff --git a/server/target/classes/static/pdfjs/web/locale/lv/viewer.properties b/server/target/classes/static/pdfjs/web/locale/lv/viewer.properties
deleted file mode 100644
index 18ed55e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/lv/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Iepriekšējā lapa
-previous_label=Iepriekšējā
-next.title=Nākamā lapa
-next_label=Nākamā
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Lapa
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=no {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} no {{pagesCount}})
-
-zoom_out.title=Attālināt\u0020
-zoom_out_label=Attālināt
-zoom_in.title=Pietuvināt
-zoom_in_label=Pietuvināt
-zoom.title=Palielinājums
-presentation_mode.title=Pārslēgties uz Prezentācijas režīmu
-presentation_mode_label=Prezentācijas režīms
-open_file.title=Atvērt failu
-open_file_label=Atvērt
-print.title=Drukāšana
-print_label=Drukāt
-download.title=Lejupielāde
-download_label=Lejupielādēt
-bookmark.title=Pašreizējais skats (kopēt vai atvērt jaunā logā)
-bookmark_label=Pašreizējais skats
-
-# Secondary toolbar and context menu
-tools.title=Rīki
-tools_label=Rīki
-first_page.title=Iet uz pirmo lapu
-first_page.label=Iet uz pirmo lapu
-first_page_label=Iet uz pirmo lapu
-last_page.title=Iet uz pēdējo lapu
-last_page.label=Iet uz pēdējo lapu
-last_page_label=Iet uz pēdējo lapu
-page_rotate_cw.title=Pagriezt pa pulksteni
-page_rotate_cw.label=Pagriezt pa pulksteni
-page_rotate_cw_label=Pagriezt pa pulksteni
-page_rotate_ccw.title=Pagriezt pret pulksteni
-page_rotate_ccw.label=Pagriezt pret pulksteni
-page_rotate_ccw_label=Pagriezt pret pulksteni
-
-cursor_text_select_tool.title=Aktivizēt teksta izvēles rīku
-cursor_text_select_tool_label=Teksta izvēles rīks
-cursor_hand_tool.title=Aktivēt rokas rīku
-cursor_hand_tool_label=Rokas rīks
-
-scroll_vertical.title=Izmantot vertikālo ritināšanu
-scroll_vertical_label=Vertikālā ritināšana
-scroll_horizontal.title=Izmantot horizontālo ritināšanu
-scroll_horizontal_label=Horizontālā ritināšana
-scroll_wrapped.title=Izmantot apkļauto ritināšanu
-scroll_wrapped_label=Apkļautā ritināšana
-
-spread_none.title=Nepievienoties lapu izpletumiem
-spread_none_label=Neizmantot izpletumus
-spread_odd.title=Izmantot lapu izpletumus sākot ar nepāra numuru lapām
-spread_odd_label=Nepāra izpletumi
-spread_even.title=Izmantot lapu izpletumus sākot ar pāra numuru lapām
-spread_even_label=Pāra izpletumi
-
-# Document properties dialog box
-document_properties.title=Dokumenta iestatījumi…
-document_properties_label=Dokumenta iestatījumi…
-document_properties_file_name=Faila nosaukums:
-document_properties_file_size=Faila izmērs:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} biti)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} biti)
-document_properties_title=Nosaukums:
-document_properties_author=Autors:
-document_properties_subject=Tēma:
-document_properties_keywords=Atslēgas vārdi:
-document_properties_creation_date=Izveides datums:
-document_properties_modification_date=LAbošanas datums:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Radītājs:
-document_properties_producer=PDF producents:
-document_properties_version=PDF versija:
-document_properties_page_count=Lapu skaits:
-document_properties_page_size=Papīra izmērs:
-document_properties_page_size_unit_inches=collas
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portretorientācija
-document_properties_page_size_orientation_landscape=ainavorientācija
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Vēstule
-document_properties_page_size_name_legal=Juridiskie teksti
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Ātrā tīmekļa skats:
-document_properties_linearized_yes=Jā
-document_properties_linearized_no=Nē
-document_properties_close=Aizvērt
-
-print_progress_message=Gatavo dokumentu drukāšanai...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Atcelt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Pārslēgt sānu joslu
-toggle_sidebar_notification.title=Pārslēgt sānu joslu (dokumenta saturu un pielikumus)
-toggle_sidebar_label=Pārslēgt sānu joslu
-document_outline.title=Rādīt dokumenta struktūru (veiciet dubultklikšķi lai izvērstu/sakļautu visus vienumus)
-document_outline_label=Dokumenta saturs
-attachments.title=Rādīt pielikumus
-attachments_label=Pielikumi
-thumbs.title=Parādīt sīktēlus
-thumbs_label=Sīktēli
-findbar.title=Meklēt dokumentā
-findbar_label=Meklēt
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Lapa {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Lapas {{page}} sīktēls
-
-# Find panel button title and messages
-find_input.title=Meklēt
-find_input.placeholder=Meklēt dokumentā…
-find_previous.title=Atrast iepriekšējo
-find_previous_label=Iepriekšējā
-find_next.title=Atrast nākamo
-find_next_label=Nākamā
-find_highlight=Iekrāsot visas
-find_match_case_label=Lielo, mazo burtu jutīgs
-find_entire_word_label=Veselus vārdus
-find_reached_top=Sasniegts dokumenta sākums, turpinām no beigām
-find_reached_bottom=Sasniegtas dokumenta beigas, turpinām no sākuma
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} no {{total}} rezultāta
-find_match_count[two]={{current}} no {{total}} rezultātiem
-find_match_count[few]={{current}} no {{total}} rezultātiem
-find_match_count[many]={{current}} no {{total}} rezultātiem
-find_match_count[other]={{current}} no {{total}} rezultātiem
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Vairāk nekā {{limit}} rezultāti
-find_match_count_limit[one]=Vairāk nekā {{limit}} rezultāti
-find_match_count_limit[two]=Vairāk nekā {{limit}} rezultāti
-find_match_count_limit[few]=Vairāk nekā {{limit}} rezultāti
-find_match_count_limit[many]=Vairāk nekā {{limit}} rezultāti
-find_match_count_limit[other]=Vairāk nekā {{limit}} rezultāti
-find_not_found=Frāze nav atrasta
-
-# Error panel labels
-error_more_info=Vairāk informācijas
-error_less_info=MAzāk informācijas
-error_close=Close
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Ziņojums: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Steks: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rindiņa: {{line}}
-rendering_error=Attēlojot lapu radās kļūda
-
-# Predefined zoom values
-page_scale_width=Lapas platumā
-page_scale_fit=Ietilpinot lapu
-page_scale_auto=Automātiskais izmērs
-page_scale_actual=Patiesais izmērs
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Kļūda
-loading_error=Ielādējot PDF notika kļūda.
-invalid_file_error=Nederīgs vai bojāts PDF fails.
-missing_file_error=PDF fails nav atrasts.
-unexpected_response_error=Negaidīa servera atbilde.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} anotācija]
-password_label=Ievadiet paroli, lai atvērtu PDF failu.
-password_invalid=Nepareiza parole, mēģiniet vēlreiz.
-password_ok=Labi
-password_cancel=Atcelt
-
-printing_not_supported=Uzmanību: Drukāšana no šī pārlūka darbojas tikai daļēji.
-printing_not_ready=Uzmanību: PDF nav pilnībā ielādēts drukāšanai.
-web_fonts_disabled=Tīmekļa fonti nav aktivizēti: Nevar iegult PDF fontus.
-document_colors_not_allowed=PDF dokumentiem nav atļauts izmantot pašiem savas krāsas: „Atļaut lapām izvēlēties pašām savas krāsas“ ir deaktivēts pārlūkā.
diff --git a/server/target/classes/static/pdfjs/web/locale/mk/viewer.properties b/server/target/classes/static/pdfjs/web/locale/mk/viewer.properties
deleted file mode 100644
index 8535025..0000000
--- a/server/target/classes/static/pdfjs/web/locale/mk/viewer.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Претходна страница
-previous_label=Претходна
-next.title=Следна страница
-next_label=Следна
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Намалување
-zoom_out_label=Намали
-zoom_in.title=Зголемување
-zoom_in_label=Зголеми
-zoom.title=Променување на големина
-presentation_mode.title=Премини во презентациски режим
-presentation_mode_label=Презентациски режим
-open_file.title=Отворање датотека
-open_file_label=Отвори
-print.title=Печатење
-print_label=Печати
-download.title=Преземање
-download_label=Преземи
-bookmark.title=Овој преглед (копирај или отвори во нов прозорец)
-bookmark_label=Овој преглед
-
-# Secondary toolbar and context menu
-tools.title=Алатки
-first_page.label=Оди до првата страница
-last_page.label=Оди до последната страница
-page_rotate_cw.label=Ротирај по стрелките на часовникот
-page_rotate_ccw.label=Ротирај спротивно од стрелките на часовникот
-
-
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_close=Откажи
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Вклучи странична лента
-toggle_sidebar_label=Вклучи странична лента
-thumbs.title=Прикажување на икони
-thumbs_label=Икони
-findbar.title=Најди во документот
-findbar_label=Најди
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Икона од страница {{page}}
-
-# Find panel button title and messages
-find_previous.title=Најди ја предходната појава на фразата
-find_previous_label=Претходно
-find_next.title=Најди ја следната појава на фразата
-find_next_label=Следно
-find_highlight=Означи сѐ
-find_match_case_label=Токму така
-find_reached_top=Барањето стигна до почетокот на документот и почнува од крајот
-find_reached_bottom=Барањето стигна до крајот на документот и почнува од почеток
-find_not_found=Фразата не е пронајдена
-
-# Error panel labels
-error_more_info=Повеќе информации
-error_less_info=Помалку информации
-error_close=Затвори
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Порака: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Датотека: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Линија: {{line}}
-rendering_error=Настана грешка при прикажувањето на страницата.
-
-# Predefined zoom values
-page_scale_width=Ширина на страница
-page_scale_fit=Цела страница
-page_scale_auto=Автоматска големина
-page_scale_actual=Вистинска големина
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-# Loading indicator messages
-loading_error_indicator=Грешка
-loading_error=Настана грешка при вчитувањето на PDF-от.
-invalid_file_error=Невалидна или корумпирана PDF датотека.
-missing_file_error=Недостасува PDF документ.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_cancel=Откажи
-
-printing_not_supported=Предупредување: Печатењето не е целосно поддржано во овој прелистувач.
-printing_not_ready=Предупредување: PDF документот не е целосно вчитан за печатење.
-web_fonts_disabled=Интернет фонтовите се оневозможени: не може да се користат вградените PDF фонтови.
-document_colors_not_allowed=PDF-документите немаат дозвола да користат сопствени бои: Поставката „Дозволи страниците сами да ги избираат своите бои“ е деактивирана од прелистувачот.
diff --git a/server/target/classes/static/pdfjs/web/locale/mr/viewer.properties b/server/target/classes/static/pdfjs/web/locale/mr/viewer.properties
deleted file mode 100644
index 25229ea..0000000
--- a/server/target/classes/static/pdfjs/web/locale/mr/viewer.properties
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=मागील पृष्ठ
-previous_label=मागील
-next.title=पुढील पृष्ठ
-next_label=पुढील
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=पृष्ठ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}}पैकी
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} पैकी {{pageNumber}})
-
-zoom_out.title=छोटे करा
-zoom_out_label=छोटे करा
-zoom_in.title=मोठे करा
-zoom_in_label=मोठे करा
-zoom.title=लहान किंवा मोठे करा
-presentation_mode.title=प्रस्तुतिकरण मोडचा वापर करा
-presentation_mode_label=प्रस्तुतिकरण मोड
-open_file.title=फाइल उघडा
-open_file_label=उघडा
-print.title=छपाई करा
-print_label=छपाई करा
-download.title=डाउनलोड करा
-download_label=डाउनलोड करा
-bookmark.title=सध्याचे अवलोकन (नवीन पटलात प्रत बनवा किंवा उघडा)
-bookmark_label=सध्याचे अवलोकन
-
-# Secondary toolbar and context menu
-tools.title=साधने
-tools_label=साधने
-first_page.title=पहिल्या पृष्ठावर जा
-first_page.label=पहिल्या पृष्ठावर जा
-first_page_label=पहिल्या पृष्ठावर जा
-last_page.title=शेवटच्या पृष्ठावर जा
-last_page.label=शेवटच्या पृष्ठावर जा
-last_page_label=शेवटच्या पृष्ठावर जा
-page_rotate_cw.title=घड्याळाच्या काट्याच्या दिशेने फिरवा
-page_rotate_cw.label=घड्याळाच्या काट्याच्या दिशेने फिरवा
-page_rotate_cw_label=घड्याळाच्या काट्याच्या दिशेने फिरवा
-page_rotate_ccw.title=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा
-page_rotate_ccw.label=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा
-page_rotate_ccw_label=घड्याळाच्या काट्याच्या उलट दिशेने फिरवा
-
-cursor_text_select_tool.title=मजकूर निवड साधन कार्यान्वयीत करा
-cursor_text_select_tool_label=मजकूर निवड साधन
-cursor_hand_tool.title=हात साधन कार्यान्वित करा
-cursor_hand_tool_label=हस्त साधन
-
-scroll_vertical.title=अनुलंब स्क्रोलिंग वापरा
-scroll_vertical_label=अनुलंब स्क्रोलिंग
-scroll_horizontal.title=क्षैतिज स्क्रोलिंग वापरा
-scroll_horizontal_label=क्षैतिज स्क्रोलिंग
-
-
-# Document properties dialog box
-document_properties.title=दस्तऐवज गुणधर्म…
-document_properties_label=दस्तऐवज गुणधर्म…
-document_properties_file_name=फाइलचे नाव:
-document_properties_file_size=फाइल आकार:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} बाइट्स)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} बाइट्स)
-document_properties_title=शिर्षक:
-document_properties_author=लेखक:
-document_properties_subject=विषय:
-document_properties_keywords=मुख्यशब्द:
-document_properties_creation_date=निर्माण दिनांक:
-document_properties_modification_date=दुरूस्ती दिनांक:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=निर्माता:
-document_properties_producer=PDF निर्माता:
-document_properties_version=PDF आवृत्ती:
-document_properties_page_count=पृष्ठ संख्या:
-document_properties_page_size=पृष्ठ आकार:
-document_properties_page_size_unit_inches=इंच
-document_properties_page_size_unit_millimeters=मीमी
-document_properties_page_size_orientation_portrait=उभी मांडणी
-document_properties_page_size_orientation_landscape=आडवे
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=जलद वेब दृष्य:
-document_properties_linearized_yes=हो
-document_properties_linearized_no=नाही
-document_properties_close=बंद करा
-
-print_progress_message=छपाई करीता पृष्ठ तयार करीत आहे…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=रद्द करा
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=बाजूचीपट्टी टॉगल करा
-toggle_sidebar_notification.title=बाजूची पट्टी टॉगल करा (दस्तऐवजामध्ये रुपरेषा/जोडण्या आहेत)
-toggle_sidebar_label=बाजूचीपट्टी टॉगल करा
-document_outline.title=दस्तऐवज बाह्यरेखा दर्शवा (विस्तृत करण्यासाठी दोनवेळा क्लिक करा /सर्व घटक दाखवा)
-document_outline_label=दस्तऐवज रूपरेषा
-attachments.title=जोडपत्र दाखवा
-attachments_label=जोडपत्र
-thumbs.title=थंबनेल्स् दाखवा
-thumbs_label=थंबनेल्स्
-findbar.title=दस्तऐवजात शोधा
-findbar_label=शोधा
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=पृष्ठ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=पृष्ठाचे थंबनेल {{page}}
-
-# Find panel button title and messages
-find_input.title=शोधा
-find_input.placeholder=दस्तऐवजात शोधा…
-find_previous.title=वाकप्रयोगची मागील घटना शोधा
-find_previous_label=मागील
-find_next.title=वाकप्रयोगची पुढील घटना शोधा
-find_next_label=पुढील
-find_highlight=सर्व ठळक करा
-find_match_case_label=आकार जुळवा
-find_entire_word_label=संपूर्ण शब्द
-find_reached_top=दस्तऐवजाच्या शीर्षकास पोहचले, तळपासून पुढे
-find_reached_bottom=दस्तऐवजाच्या तळाला पोहचले, शीर्षकापासून पुढे
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} पैकी {{current}} सुसंगत
-find_match_count[two]={{total}} पैकी {{current}} सुसंगत
-find_match_count[few]={{total}} पैकी {{current}} सुसंगत
-find_match_count[many]={{total}} पैकी {{current}} सुसंगत
-find_match_count[other]={{total}} पैकी {{current}} सुसंगत
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} पेक्षा अधिक जुळण्या
-find_match_count_limit[one]={{limit}} पेक्षा अधिक जुळण्या
-find_match_count_limit[two]={{limit}} पेक्षा अधिक जुळण्या
-find_match_count_limit[few]={{limit}} पेक्षा अधिक जुळण्या
-find_match_count_limit[many]={{limit}} पेक्षा अधिक जुळण्या
-find_match_count_limit[other]={{limit}} पेक्षा अधिक जुळण्या
-find_not_found=वाकप्रयोग आढळले नाही
-
-# Error panel labels
-error_more_info=आणखी माहिती
-error_less_info=कमी माहिती
-error_close=बंद करा
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=संदेश: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=स्टॅक: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=रेष: {{line}}
-rendering_error=पृष्ठ दाखवतेवेळी त्रुटी आढळली.
-
-# Predefined zoom values
-page_scale_width=पृष्ठाची रूंदी
-page_scale_fit=पृष्ठ बसवा
-page_scale_auto=स्वयं लाहन किंवा मोठे करणे
-page_scale_actual=प्रत्यक्ष आकार
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=त्रुटी
-loading_error=PDF लोड करतेवेळी त्रुटी आढळली.
-invalid_file_error=अवैध किंवा दोषीत PDF फाइल.
-missing_file_error=न आढळणारी PDF फाइल.
-unexpected_response_error=अनपेक्षित सर्व्हर प्रतिसाद.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} टिपण्णी]
-password_label=ही PDF फाइल उघडण्याकरिता पासवर्ड द्या.
-password_invalid=अवैध पासवर्ड. कृपया पुन्हा प्रयत्न करा.
-password_ok=ठीक आहे
-password_cancel=रद्द करा
-
-printing_not_supported=सावधानता: या ब्राउझरतर्फे छपाइ पूर्णपणे समर्थीत नाही.
-printing_not_ready=सावधानता: छपाईकरिता PDF पूर्णतया लोड झाले नाही.
-web_fonts_disabled=वेब टंक असमर्थीत आहेत: एम्बेडेड PDF टंक वापर अशक्य.
-document_colors_not_allowed=PDF दस्तऐवजांना त्यांचे रंग वापरण्यास अनुमती नाही: ब्राउझरमध्ये ' पृष्ठांना त्यांचे रंग निवडण्यास अनुमती द्या' बंद केले आहे.
diff --git a/server/target/classes/static/pdfjs/web/locale/ms/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ms/viewer.properties
deleted file mode 100644
index 3bc7907..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ms/viewer.properties
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Halaman Dahulu
-previous_label=Dahulu
-next.title=Halaman Berikut
-next_label=Berikut
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Halaman
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=daripada {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} daripada {{pagesCount}})
-
-zoom_out.title=Zum Keluar
-zoom_out_label=Zum Keluar
-zoom_in.title=Zum Masuk
-zoom_in_label=Zum Masuk
-zoom.title=Zum
-presentation_mode.title=Tukar ke Mod Persembahan
-presentation_mode_label=Mod Persembahan
-open_file.title=Buka Fail
-open_file_label=Buka
-print.title=Cetak
-print_label=Cetak
-download.title=Muat turun
-download_label=Muat turun
-bookmark.title=Paparan semasa (salin atau buka dalam tetingkap baru)
-bookmark_label=Paparan Semasa
-
-# Secondary toolbar and context menu
-tools.title=Alatan
-tools_label=Alatan
-first_page.title=Pergi ke Halaman Pertama
-first_page.label=Pergi ke Halaman Pertama
-first_page_label=Pergi ke Halaman Pertama
-last_page.title=Pergi ke Halaman Terakhir
-last_page.label=Pergi ke Halaman Terakhir
-last_page_label=Pergi ke Halaman Terakhir
-page_rotate_cw.title=Berputar ikut arah Jam
-page_rotate_cw.label=Berputar ikut arah Jam
-page_rotate_cw_label=Berputar ikut arah Jam
-page_rotate_ccw.title=Pusing berlawan arah jam
-page_rotate_ccw.label=Pusing berlawan arah jam
-page_rotate_ccw_label=Pusing berlawan arah jam
-
-cursor_text_select_tool.title=Dayakan Alatan Pilihan Teks
-cursor_text_select_tool_label=Alatan Pilihan Teks
-cursor_hand_tool.title=Dayakan Alatan Tangan
-cursor_hand_tool_label=Alatan Tangan
-
-scroll_vertical.title=Guna Skrol Menegak
-scroll_vertical_label=Skrol Menegak
-scroll_horizontal.title=Guna Skrol Mengufuk
-scroll_horizontal_label=Skrol Mengufuk
-scroll_wrapped.title=Guna Skrol Berbalut
-scroll_wrapped_label=Skrol Berbalut
-
-spread_none.title=Jangan hubungkan hamparan halaman
-spread_none_label=Tanpa Hamparan
-spread_odd.title=Hubungkan hamparan halaman dengan halaman nombor ganjil
-spread_odd_label=Hamparan Ganjil
-spread_even.title=Hubungkan hamparan halaman dengan halaman nombor genap
-spread_even_label=Hamparan Seimbang
-
-# Document properties dialog box
-document_properties.title=Sifat Dokumen…
-document_properties_label=Sifat Dokumen…
-document_properties_file_name=Nama fail:
-document_properties_file_size=Saiz fail:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bait)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bait)
-document_properties_title=Tajuk:
-document_properties_author=Pengarang:
-document_properties_subject=Subjek:
-document_properties_keywords=Kata kunci:
-document_properties_creation_date=Masa Dicipta:
-document_properties_modification_date=Tarikh Ubahsuai:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Pencipta:
-document_properties_producer=Pengeluar PDF:
-document_properties_version=Versi PDF:
-document_properties_page_count=Kiraan Laman:
-document_properties_page_size=Saiz Halaman:
-document_properties_page_size_unit_inches=dalam
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=potret
-document_properties_page_size_orientation_landscape=landskap
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Paparan Web Pantas:
-document_properties_linearized_yes=Ya
-document_properties_linearized_no=Tidak
-document_properties_close=Tutup
-
-print_progress_message=Menyediakan dokumen untuk dicetak…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Batal
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Togol Bar Sisi
-toggle_sidebar_notification.title=Togol Sidebar (dokumen mengandungi rangka/attachments)
-toggle_sidebar_label=Togol Bar Sisi
-document_outline.title=Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item)
-document_outline_label=Rangka Dokumen
-attachments.title=Papar Lampiran
-attachments_label=Lampiran
-thumbs.title=Papar Thumbnails
-thumbs_label=Imej kecil
-findbar.title=Cari didalam Dokumen
-findbar_label=Cari
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Halaman {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Halaman Imej kecil {{page}}
-
-# Find panel button title and messages
-find_input.title=Cari
-find_input.placeholder=Cari dalam dokumen…
-find_previous.title=Cari teks frasa berkenaan yang terdahulu
-find_previous_label=Dahulu
-find_next.title=Cari teks frasa berkenaan yang berikut
-find_next_label=Berikut
-find_highlight=Serlahkan semua
-find_match_case_label=Huruf sepadan
-find_entire_word_label=Seluruh perkataan
-find_reached_top=Mencapai teratas daripada dokumen, sambungan daripada bawah
-find_reached_bottom=Mencapai terakhir daripada dokumen, sambungan daripada atas
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} daripada {{total}} padanan
-find_match_count[two]={{current}} daripada {{total}} padanan
-find_match_count[few]={{current}} daripada {{total}} padanan
-find_match_count[many]={{current}} daripada {{total}} padanan
-find_match_count[other]={{current}} daripada {{total}} padanan
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Lebih daripada {{limit}} padanan
-find_match_count_limit[one]=Lebih daripada {{limit}} padanan
-find_match_count_limit[two]=Lebih daripada {{limit}} padanan
-find_match_count_limit[few]=Lebih daripada {{limit}} padanan
-find_match_count_limit[many]=Lebih daripada {{limit}} padanan
-find_match_count_limit[other]=Lebih daripada {{limit}} padanan
-find_not_found=Frasa tidak ditemui
-
-# Error panel labels
-error_more_info=Maklumat Lanjut
-error_less_info=Kurang Informasi
-error_close=Tutup
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesej: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Timbun: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fail: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Garis: {{line}}
-rendering_error=Ralat berlaku ketika memberikan halaman.
-
-# Predefined zoom values
-page_scale_width=Lebar Halaman
-page_scale_fit=Muat Halaman
-page_scale_auto=Zoom Automatik
-page_scale_actual=Saiz Sebenar
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Ralat
-loading_error=Masalah berlaku semasa menuatkan sebuah PDF.
-invalid_file_error=Tidak sah atau fail PDF rosak.
-missing_file_error=Fail PDF Hilang.
-unexpected_response_error=Respon pelayan yang tidak dijangka.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Anotasi]
-password_label=Masukan kata kunci untuk membuka fail PDF ini.
-password_invalid=Kata laluan salah. Cuba lagi.
-password_ok=OK
-password_cancel=Batal
-
-printing_not_supported=Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini.
-printing_not_ready=Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak.
-web_fonts_disabled=Fon web dinyahdayakan: tidak dapat menggunakan fon terbenam PDF.
-document_colors_not_allowed=Dokumen PDF tidak dibenarkan untuk menggunakan warna sendiri: “Izinkan halaman untuk memilih warna sendiri” telah dinyahaktifkan dalam pelayar.
diff --git a/server/target/classes/static/pdfjs/web/locale/my/viewer.properties b/server/target/classes/static/pdfjs/web/locale/my/viewer.properties
deleted file mode 100644
index f567619..0000000
--- a/server/target/classes/static/pdfjs/web/locale/my/viewer.properties
+++ /dev/null
@@ -1,198 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=အရင် စာမျက်နှာ
-previous_label=အရင်နေရာ
-next.title=ရှေ့ စာမျက်နှာ
-next_label=နောက်တခု
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=စာမျက်နှာ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ၏
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} ၏ {{pageNumber}})
-
-zoom_out.title=ချုံ့ပါ
-zoom_out_label=ချုံ့ပါ
-zoom_in.title=ချဲ့ပါ
-zoom_in_label=ချဲ့ပါ
-zoom.title=ချုံ့/ချဲ့ပါ
-presentation_mode.title=ဆွေးနွေးတင်ပြစနစ်သို့ ကူးပြောင်းပါ
-presentation_mode_label=ဆွေးနွေးတင်ပြစနစ်
-open_file.title=ဖိုင်အားဖွင့်ပါ။
-open_file_label=ဖွင့်ပါ
-print.title=ပုံနှိုပ်ပါ
-print_label=ပုံနှိုပ်ပါ
-download.title=ကူးဆွဲ
-download_label=ကူးဆွဲ
-bookmark.title=လက်ရှိ မြင်ကွင်း (ဝင်းဒိုးအသစ်မှာ ကူးပါ သို့မဟုတ် ဖွင့်ပါ)
-bookmark_label=လက်ရှိ မြင်ကွင်း
-
-# Secondary toolbar and context menu
-tools.title=ကိရိယာများ
-tools_label=ကိရိယာများ
-first_page.title=ပထမ စာမျက်နှာသို့
-first_page.label=ပထမ စာမျက်နှာသို့
-first_page_label=ပထမ စာမျက်နှာသို့
-last_page.title=နောက်ဆုံး စာမျက်နှာသို့
-last_page.label=နောက်ဆုံး စာမျက်နှာသို့
-last_page_label=နောက်ဆုံး စာမျက်နှာသို့
-page_rotate_cw.title=နာရီလက်တံ အတိုင်း
-page_rotate_cw.label=နာရီလက်တံ အတိုင်း
-page_rotate_cw_label=နာရီလက်တံ အတိုင်း
-page_rotate_ccw.title=နာရီလက်တံ ပြောင်းပြန်
-page_rotate_ccw.label=နာရီလက်တံ ပြောင်းပြန်
-page_rotate_ccw_label=နာရီလက်တံ ပြောင်းပြန်
-
-
-
-
-# Document properties dialog box
-document_properties.title=မှတ်တမ်းမှတ်ရာ ဂုဏ်သတ္တိများ
-document_properties_label=မှတ်တမ်းမှတ်ရာ ဂုဏ်သတ္တိများ
-document_properties_file_name=ဖိုင် :
-document_properties_file_size=ဖိုင်ဆိုဒ် :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} ကီလိုဘိုတ် ({{size_b}}ဘိုတ်)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=ခေါင်းစဉ်‌ -
-document_properties_author=ရေးသားသူ:
-document_properties_subject=အကြောင်းအရာ:\u0020
-document_properties_keywords=သော့ချက် စာလုံး:
-document_properties_creation_date=ထုတ်လုပ်ရက်စွဲ:
-document_properties_modification_date=ပြင်ဆင်ရက်စွဲ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ဖန်တီးသူ:
-document_properties_producer=PDF ထုတ်လုပ်သူ:
-document_properties_version=PDF ဗားရှင်း:
-document_properties_page_count=စာမျက်နှာအရေအတွက်:
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_close=ပိတ်
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ပယ်​ဖျက်ပါ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ဘေးတန်းဖွင့်ပိတ်
-toggle_sidebar_notification.title=ဘေးဘားတန်းကို အဖွင့်/အပိတ် လုပ်ရန် (စာတမ်းတွင် outline/attachments ပါဝင်နိုင်သည်)
-toggle_sidebar_label=ဖွင့်ပိတ် ဆလိုက်ဒါ
-document_outline.title=စာတမ်းအကျဉ်းချုပ်ကို ပြပါ (စာရင်းအားလုံးကို ချုံ့/ချဲ့ရန် ကလစ်နှစ်ချက်နှိပ်ပါ)
-document_outline_label=စာတမ်းအကျဉ်းချုပ်
-attachments.title=တွဲချက်များ ပြပါ
-attachments_label=တွဲထားချက်များ
-thumbs.title=ပုံရိပ်ငယ်များကို ပြပါ
-thumbs_label=ပုံရိပ်ငယ်များ
-findbar.title=Find in Document
-findbar_label=ရှာဖွေပါ
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=စာမျက်နှာ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=စာမျက်နှာရဲ့ ပုံရိပ်ငယ် {{page}}
-
-# Find panel button title and messages
-find_input.title=ရှာဖွေပါ
-find_input.placeholder=စာတမ်းထဲတွင် ရှာဖွေရန်…
-find_previous.title=စကားစုရဲ့ အရင် ​ဖြစ်ပွားမှုကို ရှာဖွေပါ
-find_previous_label=နောက်သို့
-find_next.title=စကားစုရဲ့ နောက်ထပ် ​ဖြစ်ပွားမှုကို ရှာဖွေပါ
-find_next_label=ရှေ့သို့
-find_highlight=အားလုံးကို မျဉ်းသားပါ
-find_match_case_label=စာလုံး တိုက်ဆိုင်ပါ
-find_reached_top=စာမျက်နှာထိပ် ရောက်နေပြီ၊ အဆုံးကနေ ပြန်စပါ
-find_reached_bottom=စာမျက်နှာအဆုံး ရောက်နေပြီ၊ ထိပ်ကနေ ပြန်စပါ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=စကားစု မတွေ့ရဘူး
-
-# Error panel labels
-error_more_info=နောက်ထပ်အချက်အလက်များ
-error_less_info=အနည်းငယ်မျှသော သတင်းအချက်အလက်
-error_close=ပိတ်
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=မက်ဆေ့ - {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=အထပ် - {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ဖိုင် {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=လိုင်း - {{line}}
-rendering_error=စာမျက်နှာကို ပုံဖော်နေချိန်မှာ အမှားတစ်ခုတွေ့ရပါတယ်။
-
-# Predefined zoom values
-page_scale_width=စာမျက်နှာ အကျယ်
-page_scale_fit=စာမျက်နှာ ကွက်တိ
-page_scale_auto=အလိုအလျောက် ချုံ့ချဲ့
-page_scale_actual=အမှန်တကယ်ရှိတဲ့ အရွယ်
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=အမှား
-loading_error=PDF ဖိုင် ကိုဆွဲတင်နေချိန်မှာ အမှားတစ်ခုတွေ့ရပါတယ်။
-invalid_file_error=မရသော သို့ ပျက်နေသော PDF ဖိုင်
-missing_file_error=PDF ပျောက်ဆုံး
-unexpected_response_error=မမျှော်လင့်ထားသော ဆာဗာမှ ပြန်ကြားချက်
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} အဓိပ္ပာယ်ဖွင့်ဆိုချက်]
-password_label=ယခု PDF ကို ဖွင့်ရန် စကားဝှက်ကို ရိုက်ပါ။
-password_invalid=စာဝှက် မှားသည်။ ထပ်ကြိုးစားကြည့်ပါ။
-password_ok=OK
-password_cancel=ပယ်​ဖျက်ပါ
-
-printing_not_supported=သတိပေးချက်၊ပရင့်ထုတ်ခြင်းကိုဤဘယောက်ဆာသည် ပြည့်ဝစွာထောက်ပံ့မထားပါ ။
-printing_not_ready=သတိပေးချက်: ယခု PDF ဖိုင်သည် ပုံနှိပ်ရန် မပြည့်စုံပါ
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-document_colors_not_allowed=PDF ဖိုင်အား ၎င်းဤ ကိုယ်ပိုင်အရောင်များကို အသုံးပြုခွင့်မပေးထားပါ ။ 'စာမျက်နှာအားလုံးအားအရောင်ရွေးချယ်ခွင့်' အား ယခု ဘယောက်ဆာတွင် ပိတ်ထားခြင်းကြောင့်ဖြစ် သှ်
diff --git a/server/target/classes/static/pdfjs/web/locale/nb-NO/viewer.properties b/server/target/classes/static/pdfjs/web/locale/nb-NO/viewer.properties
deleted file mode 100644
index 5612abb..0000000
--- a/server/target/classes/static/pdfjs/web/locale/nb-NO/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Forrige side
-previous_label=Forrige
-next.title=Neste side
-next_label=Neste
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=av {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} av {{pagesCount}})
-
-zoom_out.title=Zoom ut
-zoom_out_label=Zoom ut
-zoom_in.title=Zoom inn
-zoom_in_label=Zoom inn
-zoom.title=Zoom
-presentation_mode.title=Bytt til presentasjonsmodus
-presentation_mode_label=Presentasjonsmodus
-open_file.title=Åpne fil
-open_file_label=Åpne
-print.title=Skriv ut
-print_label=Skriv ut
-download.title=Last ned
-download_label=Last ned
-bookmark.title=Nåværende visning (kopier eller åpne i et nytt vindu)
-bookmark_label=Nåværende visning
-
-# Secondary toolbar and context menu
-tools.title=Verktøy
-tools_label=Verktøy
-first_page.title=Gå til første side
-first_page.label=Gå til første side
-first_page_label=Gå til første side
-last_page.title=Gå til siste side
-last_page.label=Gå til siste side
-last_page_label=Gå til siste side
-page_rotate_cw.title=Roter med klokken
-page_rotate_cw.label=Roter med klokken
-page_rotate_cw_label=Roter med klokken
-page_rotate_ccw.title=Roter mot klokken
-page_rotate_ccw.label=Roter mot klokken
-page_rotate_ccw_label=Roter mot klokken
-
-cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy
-cursor_text_select_tool_label=Tekstmarkeringsverktøy
-cursor_hand_tool.title=Aktiver handverktøy
-cursor_hand_tool_label=Handverktøy
-
-scroll_vertical.title=Bruk vertikal rulling
-scroll_vertical_label=Vertikal rulling
-scroll_horizontal.title=Bruk horisontal rulling
-scroll_horizontal_label=Horisontal rulling
-scroll_wrapped.title=Bruk flersiderulling
-scroll_wrapped_label=Flersiderulling
-
-spread_none.title=Vis enkeltsider
-spread_none_label=Enkeltsider
-spread_odd.title=Vis oppslag med ulike sidenumre til venstre
-spread_odd_label=Oppslag med forside
-spread_even.title=Vis oppslag med like sidenumre til venstre
-spread_even_label=Oppslag uten forside
-
-# Document properties dialog box
-document_properties.title=Dokumentegenskaper …
-document_properties_label=Dokumentegenskaper …
-document_properties_file_name=Filnavn:
-document_properties_file_size=Filstørrelse:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Dokumentegenskaper …
-document_properties_author=Forfatter:
-document_properties_subject=Emne:
-document_properties_keywords=Nøkkelord:
-document_properties_creation_date=Opprettet dato:
-document_properties_modification_date=Endret dato:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Opprettet av:
-document_properties_producer=PDF-verktøy:
-document_properties_version=PDF-versjon:
-document_properties_page_count=Sideantall:
-document_properties_page_size=Sidestørrelse:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=stående
-document_properties_page_size_orientation_landscape=liggende
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hurtig nettvisning:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nei
-document_properties_close=Lukk
-
-print_progress_message=Forbereder dokument for utskrift …
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Avbryt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Slå av/på sidestolpe
-toggle_sidebar_notification.title=Vis/gjem sidestolpe (dokumentet inneholder oversikt/vedlegg)
-toggle_sidebar_label=Slå av/på sidestolpe
-document_outline.title=Vis dokumentdisposisjonen (dobbeltklikk for å utvide/skjule alle elementer)
-document_outline_label=Dokumentdisposisjon
-attachments.title=Vis vedlegg
-attachments_label=Vedlegg
-thumbs.title=Vis miniatyrbilde
-thumbs_label=Miniatyrbilde
-findbar.title=Finn i dokumentet
-findbar_label=Finn
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatyrbilde av side {{page}}
-
-# Find panel button title and messages
-find_input.title=Søk
-find_input.placeholder=Søk i dokument…
-find_previous.title=Finn forrige forekomst av frasen
-find_previous_label=Forrige
-find_next.title=Finn neste forekomst av frasen
-find_next_label=Neste
-find_highlight=Uthev alle
-find_match_case_label=Skill store/små bokstaver
-find_entire_word_label=Hele ord
-find_reached_top=Nådde toppen av dokumentet, fortsetter fra bunnen
-find_reached_bottom=Nådde bunnen av dokumentet, fortsetter fra toppen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} av {{total}} treff
-find_match_count[two]={{current}} av {{total}} treff
-find_match_count[few]={{current}} av {{total}} treff
-find_match_count[many]={{current}} av {{total}} treff
-find_match_count[other]={{current}} av {{total}} treff
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mer enn {{limit}} treff
-find_match_count_limit[one]=Mer enn {{limit}} treff
-find_match_count_limit[two]=Mer enn {{limit}} treff
-find_match_count_limit[few]=Mer enn {{limit}} treff
-find_match_count_limit[many]=Mer enn {{limit}} treff
-find_match_count_limit[other]=Mer enn {{limit}} treff
-find_not_found=Fant ikke teksten
-
-# Error panel labels
-error_more_info=Mer info
-error_less_info=Mindre info
-error_close=Lukk
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (bygg: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Melding: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stakk: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linje: {{line}}
-rendering_error=En feil oppstod ved opptegning av siden.
-
-# Predefined zoom values
-page_scale_width=Sidebredde
-page_scale_fit=Tilpass til siden
-page_scale_auto=Automatisk zoom
-page_scale_actual=Virkelig størrelse
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Feil
-loading_error=En feil oppstod ved lasting av PDF.
-invalid_file_error=Ugyldig eller skadet PDF-fil.
-missing_file_error=Manglende PDF-fil.
-unexpected_response_error=Uventet serverrespons.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} annotasjon]
-password_label=Skriv inn passordet for å åpne denne PDF-filen.
-password_invalid=Ugyldig passord. Prøv igjen.
-password_ok=OK
-password_cancel=Avbryt
-
-printing_not_supported=Advarsel: Utskrift er ikke fullstendig støttet av denne nettleseren.
-printing_not_ready=Advarsel: PDF er ikke fullstendig innlastet for utskrift.
-web_fonts_disabled=Web-fonter er avslått: Kan ikke bruke innbundne PDF-fonter.
-document_colors_not_allowed=PDF-dokumenter tillates ikke å bruke deres egne farger: "Tillat sider å velge egne farger" er deaktivert i nettleseren.
diff --git a/server/target/classes/static/pdfjs/web/locale/ne-NP/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ne-NP/viewer.properties
deleted file mode 100644
index 13bf69b..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ne-NP/viewer.properties
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=अघिल्लो पृष्ठ
-previous_label=अघिल्लो
-next.title=पछिल्लो पृष्ठ
-next_label=पछिल्लो
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=पृष्ठ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} मध्ये
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pagesCount}} को {{pageNumber}})
-
-zoom_out.title=जुम घटाउनुहोस्
-zoom_out_label=जुम घटाउनुहोस्
-zoom_in.title=जुम बढाउनुहोस्
-zoom_in_label=जुम बढाउनुहोस्
-zoom.title=जुम गर्नुहोस्
-presentation_mode.title=प्रस्तुति मोडमा जानुहोस्
-presentation_mode_label=प्रस्तुति मोड
-open_file.title=फाइल खोल्नुहोस्
-open_file_label=खोल्नुहोस्
-print.title=मुद्रण गर्नुहोस्
-print_label=मुद्रण गर्नुहोस्
-download.title=डाउनलोडहरू
-download_label=डाउनलोडहरू
-bookmark.title=वर्तमान दृश्य (प्रतिलिपि गर्नुहोस् वा नयाँ सञ्झ्यालमा खुल्नुहोस्)
-bookmark_label=हालको दृश्य
-
-# Secondary toolbar and context menu
-tools.title=औजारहरू
-tools_label=औजारहरू
-first_page.title=पहिलो पृष्ठमा जानुहोस्
-first_page.label=पहिलो पृष्ठमा जानुहोस्
-first_page_label=पहिलो पृष्ठमा जानुहोस्
-last_page.title=पछिल्लो पृष्ठमा जानुहोस्
-last_page.label=पछिल्लो पृष्ठमा जानुहोस्
-last_page_label=पछिल्लो पृष्ठमा जानुहोस्
-page_rotate_cw.title=घडीको दिशामा घुमाउनुहोस्
-page_rotate_cw.label=घडीको दिशामा घुमाउनुहोस्
-page_rotate_cw_label=घडीको दिशामा घुमाउनुहोस्
-page_rotate_ccw.title=घडीको विपरित दिशामा घुमाउनुहोस्
-page_rotate_ccw.label=घडीको विपरित दिशामा घुमाउनुहोस्
-page_rotate_ccw_label=घडीको विपरित दिशामा घुमाउनुहोस्
-
-cursor_text_select_tool.title=पाठ चयन उपकरण सक्षम गर्नुहोस्
-cursor_text_select_tool_label=पाठ चयन उपकरण
-cursor_hand_tool.title=हाते उपकरण सक्षम गर्नुहोस्
-cursor_hand_tool_label=हाते उपकरण
-
-# Document properties dialog box
-document_properties.title=कागजात विशेषताहरू...
-document_properties_label=कागजात विशेषताहरू...
-document_properties_file_name=फाइल नाम:
-document_properties_file_size=फाइल आकार:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=शीर्षक:
-document_properties_author=लेखक:
-document_properties_subject=विषयः
-document_properties_keywords=शब्दकुञ्जीः
-document_properties_creation_date=सिर्जना गरिएको मिति:
-document_properties_modification_date=परिमार्जित मिति:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=सर्जक:
-document_properties_producer=PDF निर्माता:
-document_properties_version=PDF संस्करण
-document_properties_page_count=पृष्ठ गणना:
-document_properties_close=बन्द गर्नुहोस्
-
-print_progress_message=मुद्रणका लागि कागजात तयारी गरिदै…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=रद्द गर्नुहोस्
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=टगल साइडबार
-toggle_sidebar_notification.title=साइडबार टगल गर्नुहोस् (कागजातमा समावेश भएको कुराहरू रूपरेखा/attachments)
-toggle_sidebar_label=टगल साइडबार
-document_outline.title=कागजातको रूपरेखा देखाउनुहोस् (सबै वस्तुहरू विस्तार/पतन गर्न डबल-क्लिक गर्नुहोस्)
-document_outline_label=दस्तावेजको रूपरेखा
-attachments.title=संलग्नहरू देखाउनुहोस्
-attachments_label=संलग्नकहरू
-thumbs.title=थम्बनेलहरू देखाउनुहोस्
-thumbs_label=थम्बनेलहरू
-findbar.title=कागजातमा फेला पार्नुहोस्
-findbar_label=फेला पार्नुहोस्
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=पृष्ठ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} पृष्ठको थम्बनेल
-
-# Find panel button title and messages
-find_input.title=फेला पार्नुहोस्
-find_input.placeholder=कागजातमा फेला पार्नुहोस्…
-find_previous.title=यस वाक्यांशको अघिल्लो घटना फेला पार्नुहोस्
-find_previous_label=अघिल्लो
-find_next.title=यस वाक्यांशको पछिल्लो घटना फेला पार्नुहोस्
-find_next_label=अर्को
-find_highlight=सबै हाइलाइट गर्ने
-find_match_case_label=केस जोडा मिलाउनुहोस्
-find_reached_top=पृष्ठको शिर्षमा पुगीयो, तलबाट जारी गरिएको थियो
-find_reached_bottom=पृष्ठको अन्त्यमा पुगीयो, शिर्षबाट जारी गरिएको थियो
-find_not_found=वाक्यांश फेला परेन
-
-# Error panel labels
-error_more_info=थप जानकारी
-error_less_info=कम जानकारी
-error_close=बन्द गर्नुहोस्
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=सन्देश: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=स्ट्याक: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=फाइल: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=लाइन: {{line}}
-rendering_error=पृष्ठ प्रतिपादन गर्दा एउटा त्रुटि देखापर्‍यो।
-
-# Predefined zoom values
-page_scale_width=पृष्ठ चौडाइ
-page_scale_fit=पृष्ठ ठिक्क मिल्ने
-page_scale_auto=स्वचालित जुम
-page_scale_actual=वास्तविक आकार
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=त्रुटि
-loading_error=यो PDF लोड गर्दा एउटा त्रुटि देखापर्‍यो।
-invalid_file_error=अवैध वा दुषित PDF फाइल।
-missing_file_error=हराईरहेको PDF फाइल।
-unexpected_response_error=अप्रत्याशित सर्भर प्रतिक्रिया।
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=यस PDF फाइललाई खोल्न गोप्यशब्द प्रविष्ट गर्नुहोस्।
-password_invalid=अवैध गोप्यशब्द। पुनः प्रयास गर्नुहोस्।
-password_ok=ठिक छ
-password_cancel=रद्द गर्नुहोस्
-
-printing_not_supported=चेतावनी: यो ब्राउजरमा मुद्रण पूर्णतया समर्थित छैन।
-printing_not_ready=चेतावनी: PDF मुद्रणका लागि पूर्णतया लोड भएको छैन।
-web_fonts_disabled=वेब फन्ट असक्षम छन्: एम्बेडेड PDF फन्ट प्रयोग गर्न असमर्थ।
-document_colors_not_allowed=PDF कागजातहरूलाई आफ्नै रङ प्रयोग गर्न अनुमति छैन: 'पृष्ठलाई आफ्नै रङ चयन गर्न अनुमति दिने' ब्राउजरमा निष्क्रिय गरिएको छ।
diff --git a/server/target/classes/static/pdfjs/web/locale/nl/viewer.properties b/server/target/classes/static/pdfjs/web/locale/nl/viewer.properties
deleted file mode 100644
index af8fb68..0000000
--- a/server/target/classes/static/pdfjs/web/locale/nl/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Vorige pagina
-previous_label=Vorige
-next.title=Volgende pagina
-next_label=Volgende
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=van {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} van {{pagesCount}})
-
-zoom_out.title=Uitzoomen
-zoom_out_label=Uitzoomen
-zoom_in.title=Inzoomen
-zoom_in_label=Inzoomen
-zoom.title=Zoomen
-presentation_mode.title=Wisselen naar presentatiemodus
-presentation_mode_label=Presentatiemodus
-open_file.title=Bestand openen
-open_file_label=Openen
-print.title=Afdrukken
-print_label=Afdrukken
-download.title=Downloaden
-download_label=Downloaden
-bookmark.title=Huidige weergave (kopiëren of openen in nieuw venster)
-bookmark_label=Huidige weergave
-
-# Secondary toolbar and context menu
-tools.title=Hulpmiddelen
-tools_label=Hulpmiddelen
-first_page.title=Naar eerste pagina gaan
-first_page.label=Naar eerste pagina gaan
-first_page_label=Naar eerste pagina gaan
-last_page.title=Naar laatste pagina gaan
-last_page.label=Naar laatste pagina gaan
-last_page_label=Naar laatste pagina gaan
-page_rotate_cw.title=Rechtsom draaien
-page_rotate_cw.label=Rechtsom draaien
-page_rotate_cw_label=Rechtsom draaien
-page_rotate_ccw.title=Linksom draaien
-page_rotate_ccw.label=Linksom draaien
-page_rotate_ccw_label=Linksom draaien
-
-cursor_text_select_tool.title=Tekstselectiehulpmiddel inschakelen
-cursor_text_select_tool_label=Tekstselectiehulpmiddel
-cursor_hand_tool.title=Handhulpmiddel inschakelen
-cursor_hand_tool_label=Handhulpmiddel
-
-scroll_vertical.title=Verticaal scrollen gebruiken
-scroll_vertical_label=Verticaal scrollen
-scroll_horizontal.title=Horizontaal scrollen gebruiken
-scroll_horizontal_label=Horizontaal scrollen
-scroll_wrapped.title=Scrollen met terugloop gebruiken
-scroll_wrapped_label=Scrollen met terugloop
-
-spread_none.title=Dubbele pagina’s niet samenvoegen
-spread_none_label=Geen dubbele pagina’s
-spread_odd.title=Dubbele pagina’s samenvoegen vanaf oneven pagina’s
-spread_odd_label=Oneven dubbele pagina’s
-spread_even.title=Dubbele pagina’s samenvoegen vanaf even pagina’s
-spread_even_label=Even dubbele pagina’s
-
-# Document properties dialog box
-document_properties.title=Documenteigenschappen…
-document_properties_label=Documenteigenschappen…
-document_properties_file_name=Bestandsnaam:
-document_properties_file_size=Bestandsgrootte:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Auteur:
-document_properties_subject=Onderwerp:
-document_properties_keywords=Trefwoorden:
-document_properties_creation_date=Aanmaakdatum:
-document_properties_modification_date=Wijzigingsdatum:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Maker:
-document_properties_producer=PDF-producent:
-document_properties_version=PDF-versie:
-document_properties_page_count=Aantal pagina’s:
-document_properties_page_size=Paginagrootte:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=staand
-document_properties_page_size_orientation_landscape=liggend
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Snelle webweergave:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nee
-document_properties_close=Sluiten
-
-print_progress_message=Document voorbereiden voor afdrukken…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Annuleren
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Zijbalk in-/uitschakelen
-toggle_sidebar_notification.title=Zijbalk in-/uitschakelen (document bevat overzicht/bijlagen)
-toggle_sidebar_label=Zijbalk in-/uitschakelen
-document_outline.title=Documentoverzicht tonen (dubbelklik om alle items uit/samen te vouwen)
-document_outline_label=Documentoverzicht
-attachments.title=Bijlagen tonen
-attachments_label=Bijlagen
-thumbs.title=Miniaturen tonen
-thumbs_label=Miniaturen
-findbar.title=Zoeken in document
-findbar_label=Zoeken
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatuur van pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Zoeken
-find_input.placeholder=Zoeken in document…
-find_previous.title=De vorige overeenkomst van de tekst zoeken
-find_previous_label=Vorige
-find_next.title=De volgende overeenkomst van de tekst zoeken
-find_next_label=Volgende
-find_highlight=Alles markeren
-find_match_case_label=Hoofdlettergevoelig
-find_entire_word_label=Hele woorden
-find_reached_top=Bovenkant van document bereikt, doorgegaan vanaf onderkant
-find_reached_bottom=Onderkant van document bereikt, doorgegaan vanaf bovenkant
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} van {{total}} overeenkomst
-find_match_count[two]={{current}} van {{total}} overeenkomsten
-find_match_count[few]={{current}} van {{total}} overeenkomsten
-find_match_count[many]={{current}} van {{total}} overeenkomsten
-find_match_count[other]={{current}} van {{total}} overeenkomsten
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[one]=Meer dan {{limit}} overeenkomst
-find_match_count_limit[two]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[few]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[many]=Meer dan {{limit}} overeenkomsten
-find_match_count_limit[other]=Meer dan {{limit}} overeenkomsten
-find_not_found=Tekst niet gevonden
-
-# Error panel labels
-error_more_info=Meer informatie
-error_less_info=Minder informatie
-error_close=Sluiten
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Bericht: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Bestand: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Regel: {{line}}
-rendering_error=Er is een fout opgetreden bij het weergeven van de pagina.
-
-# Predefined zoom values
-page_scale_width=Paginabreedte
-page_scale_fit=Hele pagina
-page_scale_auto=Automatisch zoomen
-page_scale_actual=Werkelijke grootte
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Fout
-loading_error=Er is een fout opgetreden bij het laden van de PDF.
-invalid_file_error=Ongeldig of beschadigd PDF-bestand.
-missing_file_error=PDF-bestand ontbreekt. 
-unexpected_response_error=Onverwacht serverantwoord.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-aantekening]
-password_label=Voer het wachtwoord in om dit PDF-bestand te openen.
-password_invalid=Ongeldig wachtwoord. Probeer het opnieuw.
-password_ok=OK
-password_cancel=Annuleren
-
-printing_not_supported=Waarschuwing: afdrukken wordt niet volledig ondersteund door deze browser.
-printing_not_ready=Waarschuwing: de PDF is niet volledig geladen voor afdrukken.
-web_fonts_disabled=Weblettertypen zijn uitgeschakeld: gebruik van ingebedde PDF-lettertypen is niet mogelijk.
-document_colors_not_allowed=PDF-documenten mogen hun eigen kleuren niet gebruiken: ‘Pagina’s toestaan om hun eigen kleuren te kiezen’ is uitgeschakeld in de browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/nn-NO/viewer.properties b/server/target/classes/static/pdfjs/web/locale/nn-NO/viewer.properties
deleted file mode 100644
index ad6de8f..0000000
--- a/server/target/classes/static/pdfjs/web/locale/nn-NO/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Føregåande side
-previous_label=Føregåande
-next.title=Neste side
-next_label=Neste
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Side
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=av {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} av {{pagesCount}})
-
-zoom_out.title=Zoom ut
-zoom_out_label=Zoom ut
-zoom_in.title=Zoom inn
-zoom_in_label=Zoom inn
-zoom.title=Zoom
-presentation_mode.title=Byt til presentasjonsmodus
-presentation_mode_label=Presentasjonsmodus
-open_file.title=Opne fil
-open_file_label=Opne
-print.title=Skriv ut
-print_label=Skriv ut
-download.title=Last ned
-download_label=Last ned
-bookmark.title=Gjeldande vising (kopier eller opne i nytt vindauge)
-bookmark_label=Gjeldande vising
-
-# Secondary toolbar and context menu
-tools.title=Verktøy
-tools_label=Verktøy
-first_page.title=Gå til første side
-first_page.label=Gå til første side
-first_page_label=Gå til første side
-last_page.title=Gå til siste side
-last_page.label=Gå til siste side
-last_page_label=Gå til siste side
-page_rotate_cw.title=Roter med klokka
-page_rotate_cw.label=Roter med klokka
-page_rotate_cw_label=Roter med klokka
-page_rotate_ccw.title=Roter mot klokka
-page_rotate_ccw.label=Roter mot klokka
-page_rotate_ccw_label=Roter mot klokka
-
-cursor_text_select_tool.title=Aktiver tekstmarkeringsverktøy
-cursor_text_select_tool_label=Tekstmarkeringsverktøy
-cursor_hand_tool.title=Aktiver handverktøy
-cursor_hand_tool_label=Handverktøy
-
-scroll_vertical.title=Bruk vertikal rulling
-scroll_vertical_label=Vertikal rulling
-scroll_horizontal.title=Bruk horisontal rulling
-scroll_horizontal_label=Horisontal rulling
-scroll_wrapped.title=Bruk fleirsiderulling
-scroll_wrapped_label=Fleirsiderulling
-
-spread_none.title=Vis enkeltsider
-spread_none_label=Enkeltside
-spread_odd.title=Vis oppslag med ulike sidenummer til venstre
-spread_odd_label=Oppslag med framside
-spread_even.title=Vis oppslag med like sidenummmer til venstre
-spread_even_label=Oppslag utan framside
-
-# Document properties dialog box
-document_properties.title=Dokumenteigenskapar…
-document_properties_label=Dokumenteigenskapar…
-document_properties_file_name=Filnamn:
-document_properties_file_size=Filstorleik:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Tittel:
-document_properties_author=Forfattar:
-document_properties_subject=Emne:
-document_properties_keywords=Stikkord:
-document_properties_creation_date=Dato oppretta:
-document_properties_modification_date=Dato endra:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Oppretta av:
-document_properties_producer=PDF-verktøy:
-document_properties_version=PDF-versjon:
-document_properties_page_count=Sidetal:
-document_properties_page_size=Sidestørrelse:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=ståande
-document_properties_page_size_orientation_landscape=liggande
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Brev
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rask nettvising:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nei
-document_properties_close=Lat att
-
-print_progress_message=Førebur dokumentet for utskrift…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Avbryt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Slå av/på sidestolpe
-toggle_sidebar_notification.title=Vis/gøym sidestolpen (dokumentet inneheld oversikt/vedlegg)
-toggle_sidebar_label=Slå av/på sidestolpe
-document_outline.title=Vis dokumentdisposisjonen (dobbelklikk for å utvide/gøyme alle elementa)
-document_outline_label=Dokumentdisposisjon
-attachments.title=Vis vedlegg
-attachments_label=Vedlegg
-thumbs.title=Vis miniatyrbilde
-thumbs_label=Miniatyrbilde
-findbar.title=Finn i dokumentet
-findbar_label=Finn
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Side {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Side {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatyrbilde av side {{page}}
-
-# Find panel button title and messages
-find_input.title=Søk
-find_input.placeholder=Søk i dokument…
-find_previous.title=Finn førre førekomst av frasen
-find_previous_label=Førre
-find_next.title=Finn neste førekomst av frasen
-find_next_label=Neste
-find_highlight=Uthev alle
-find_match_case_label=Skil store/små bokstavar
-find_entire_word_label=Heile ord
-find_reached_top=Nådde toppen av dokumentet, fortset frå botnen
-find_reached_bottom=Nådde botnen av dokumentet, fortset frå toppen
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} av {{total}} treff
-find_match_count[two]={{current}} av {{total}} treff
-find_match_count[few]={{current}} av {{total}} treff
-find_match_count[many]={{current}} av {{total}} treff
-find_match_count[other]={{current}} av {{total}} treff
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Meir enn {{limit}} treff
-find_match_count_limit[one]=Meir enn {{limit}} treff
-find_match_count_limit[two]=Meir enn {{limit}} treff
-find_match_count_limit[few]=Meir enn {{limit}} treff
-find_match_count_limit[many]=Meir enn {{limit}} treff
-find_match_count_limit[other]=Meir enn {{limit}} treff
-find_not_found=Fann ikkje teksten
-
-# Error panel labels
-error_more_info=Meir info
-error_less_info=Mindre info
-error_close=Lat att
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (bygg: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Melding: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stakk: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linje: {{line}}
-rendering_error=Ein feil oppstod under vising av sida.
-
-# Predefined zoom values
-page_scale_width=Sidebreidde
-page_scale_fit=Tilpass til sida
-page_scale_auto=Automatisk skalering
-page_scale_actual=Verkeleg storleik
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Feil
-loading_error=Ein feil oppstod ved lasting av PDF.
-invalid_file_error=Ugyldig eller korrupt PDF-fil.
-missing_file_error=Manglande PDF-fil.
-unexpected_response_error=Uventa tenarrespons.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} annotasjon]
-password_label=Skriv inn passordet for å opne denne PDF-fila.
-password_invalid=Ugyldig passord. Prøv igjen.
-password_ok=OK
-password_cancel=Avbryt
-
-printing_not_supported=Åtvaring: Utskrift er ikkje fullstendig støtta av denne nettlesaren.
-printing_not_ready=Åtvaring: PDF ikkje fullstendig innlasta for utskrift.
-web_fonts_disabled=Web-skrifter er slått av: Kan ikkje bruke innbundne PDF-skrifter.
-document_colors_not_allowed=PDF-dokument kan ikkje bruke eigne fargar: «Tillat sider å velje eigne fargar» er deaktivert i nettlesaren.
diff --git a/server/target/classes/static/pdfjs/web/locale/oc/viewer.properties b/server/target/classes/static/pdfjs/web/locale/oc/viewer.properties
deleted file mode 100644
index ebc7886..0000000
--- a/server/target/classes/static/pdfjs/web/locale/oc/viewer.properties
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina precedenta
-previous_label=Precedent
-next.title=Pagina seguenta
-next_label=Seguent
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=sus {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} sus {{pagesCount}})
-
-zoom_out.title=Zoom arrièr
-zoom_out_label=Zoom arrièr
-zoom_in.title=Zoom avant
-zoom_in_label=Zoom avant
-zoom.title=Zoom
-presentation_mode.title=Bascular en mòde presentacion
-presentation_mode_label=Mòde Presentacion
-open_file.title=Dobrir lo fichièr
-open_file_label=Dobrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Telecargar
-download_label=Telecargar
-bookmark.title=Afichatge corrent (copiar o dobrir dins una fenèstra novèla)
-bookmark_label=Afichatge actual
-
-# Secondary toolbar and context menu
-tools.title=Aisinas
-tools_label=Aisinas
-first_page.title=Anar a la primièra pagina
-first_page.label=Anar a la primièra pagina
-first_page_label=Anar a la primièra pagina
-last_page.title=Anar a la darrièra pagina
-last_page.label=Anar a la darrièra pagina
-last_page_label=Anar a la darrièra pagina
-page_rotate_cw.title=Rotacion orària
-page_rotate_cw.label=Rotacion orària
-page_rotate_cw_label=Rotacion orària
-page_rotate_ccw.title=Rotacion antiorària
-page_rotate_ccw.label=Rotacion antiorària
-page_rotate_ccw_label=Rotacion antiorària
-
-cursor_text_select_tool.title=Activar l'aisina de seleccion de tèxte
-cursor_text_select_tool_label=Aisina de seleccion de tèxte
-cursor_hand_tool.title=Activar l’aisina man
-cursor_hand_tool_label=Aisina man
-
-scroll_vertical.title=Utilizar lo desfilament vertical
-scroll_vertical_label=Desfilament vertical
-scroll_horizontal.title=Utilizar lo desfilament orizontal
-scroll_horizontal_label=Desfilament orizontal
-scroll_wrapped.title=Activar lo desfilament continú
-scroll_wrapped_label=Desfilament continú
-
-spread_none.title=Agropar pas las paginas doas a doas
-spread_none_label=Una sola pagina
-spread_odd.title=Mostrar doas paginas en començar per las paginas imparas a esquèrra
-spread_odd_label=Dobla pagina, impara a drecha
-spread_even.title=Mostrar doas paginas en començar per las paginas paras a esquèrra
-spread_even_label=Dobla pagina, para a drecha
-
-# Document properties dialog box
-document_properties.title=Proprietats del document…
-document_properties_label=Proprietats del document…
-document_properties_file_name=Nom del fichièr :
-document_properties_file_size=Talha del fichièr :
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} Ko ({{size_b}} octets)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} Mo ({{size_b}} octets)
-document_properties_title=Títol :
-document_properties_author=Autor :
-document_properties_subject=Subjècte :
-document_properties_keywords=Mots claus :
-document_properties_creation_date=Data de creacion :
-document_properties_modification_date=Data de modificacion :
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator :
-document_properties_producer=Aisina de conversion PDF :
-document_properties_version=Version PDF :
-document_properties_page_count=Nombre de paginas :
-document_properties_page_size=Talha de la pagina :
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=retrait
-document_properties_page_size_orientation_landscape=païsatge
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letra
-document_properties_page_size_name_legal=Document juridic
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web rapida :
-document_properties_linearized_yes=Òc
-document_properties_linearized_no=Non
-document_properties_close=Tampar
-
-print_progress_message=Preparacion del document per l’impression…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anullar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Afichar/amagar lo panèl lateral
-toggle_sidebar_notification.title=Afichar/amagar lo panèl lateral (lo document conten esquèmas/pèças juntas)
-toggle_sidebar_label=Afichar/amagar lo panèl lateral
-document_outline.title=Mostrar los esquèmas del document (dobleclicar per espandre/reduire totes los elements)
-document_outline_label=Marcapaginas del document
-attachments.title=Visualizar las pèças juntas
-attachments_label=Pèças juntas
-thumbs.title=Afichar las vinhetas
-thumbs_label=Vinhetas
-findbar.title=Trobar dins lo document
-findbar_label=Recercar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Vinheta de la pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Recercar
-find_input.placeholder=Cercar dins lo document…
-find_previous.title=Tròba l'ocurréncia precedenta de la frasa
-find_previous_label=Precedent
-find_next.title=Tròba l'ocurréncia venenta de la frasa
-find_next_label=Seguent
-find_highlight=Suslinhar tot
-find_match_case_label=Respectar la cassa
-find_entire_word_label=Mots entièrs
-find_reached_top=Naut de la pagina atenh, perseguida del bas
-find_reached_bottom=Bas de la pagina atench, perseguida al començament
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Occuréncia {{current}} sus {{total}}
-find_match_count[two]=Occuréncia {{current}} sus {{total}}
-find_match_count[few]=Occuréncia {{current}} sus {{total}}
-find_match_count[many]=Occuréncia {{current}} sus {{total}}
-find_match_count[other]=Occuréncia {{current}} sus {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mai de {{limit}} occuréncias
-find_match_count_limit[one]=Mai de {{limit}} occuréncia
-find_match_count_limit[two]=Mai de {{limit}} occuréncias
-find_match_count_limit[few]=Mai de {{limit}} occuréncias
-find_match_count_limit[many]=Mai de {{limit}} occuréncias
-find_match_count_limit[other]=Mai de {{limit}} occuréncias
-find_not_found=Frasa pas trobada
-
-# Error panel labels
-error_more_info=Mai de detalhs
-error_less_info=Mens d'informacions
-error_close=Tampar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (identificant de compilacion : {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Messatge : {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pila : {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fichièr : {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linha : {{line}}
-rendering_error=Una error s'es produita pendent l'afichatge de la pagina.
-
-# Predefined zoom values
-page_scale_width=Largor plena
-page_scale_fit=Pagina entièra
-page_scale_auto=Zoom automatic
-page_scale_actual=Talha vertadièra
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=Una error s'es produita pendent lo cargament del fichièr PDF.
-invalid_file_error=Fichièr PDF invalid o corromput.
-missing_file_error=Fichièr PDF mancant.
-unexpected_response_error=Responsa de servidor imprevista.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} a {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotacion {{type}}]
-password_label=Picatz lo senhal per dobrir aqueste fichièr PDF.
-password_invalid=Senhal incorrècte. Tornatz ensajar.
-password_ok=D'acòrdi
-password_cancel=Anullar
-
-printing_not_supported=Atencion : l'impression es pas completament gerida per aqueste navegador.
-printing_not_ready=Atencion : lo PDF es pas entièrament cargat per lo poder imprimir.
-web_fonts_disabled=Las poliças web son desactivadas : impossible d'utilizar las poliças integradas al PDF.
-document_colors_not_allowed=Los documents PDF pòdon pas utilizar lors pròprias colors : « Autorizar las paginas web d'utilizar lors pròprias colors » es desactivat dins lo navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/pa-IN/viewer.properties b/server/target/classes/static/pdfjs/web/locale/pa-IN/viewer.properties
deleted file mode 100644
index e1ccb65..0000000
--- a/server/target/classes/static/pdfjs/web/locale/pa-IN/viewer.properties
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=ਪਿਛਲਾ ਸਫ਼ਾ
-previous_label=ਪਿੱਛੇ
-next.title=ਅਗਲਾ ਸਫ਼ਾ
-next_label=ਅੱਗੇ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=ਸਫ਼ਾ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ਵਿੱਚੋਂ
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages={{pagesCount}}) ਵਿੱਚੋਂ ({{pageNumber}}
-
-zoom_out.title=ਜ਼ੂਮ ਆਉਟ
-zoom_out_label=ਜ਼ੂਮ ਆਉਟ
-zoom_in.title=ਜ਼ੂਮ ਇਨ
-zoom_in_label=ਜ਼ੂਮ ਇਨ
-zoom.title=ਜ਼ੂਨ
-presentation_mode.title=ਪਰਿਜੈਂਟੇਸ਼ਨ ਮੋਡ ਵਿੱਚ ਜਾਓ
-presentation_mode_label=ਪਰਿਜੈਂਟੇਸ਼ਨ ਮੋਡ
-open_file.title=ਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹੋ
-open_file_label=ਖੋਲ੍ਹੋ
-print.title=ਪਰਿੰਟ
-print_label=ਪਰਿੰਟ
-download.title=ਡਾਊਨਲੋਡ
-download_label=ਡਾਊਨਲੋਡ
-bookmark.title=ਮੌਜੂਦਾ ਝਲਕ (ਨਵੀਂ ਵਿੰਡੋ ਵਿੱਚ ਕਾਪੀ ਕਰੋ ਜਾਂ ਖੋਲ੍ਹੋ)
-bookmark_label=ਮੌਜੂਦਾ ਝਲਕ
-
-# Secondary toolbar and context menu
-tools.title=ਟੂਲ
-tools_label=ਟੂਲ
-first_page.title=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-first_page.label=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-first_page_label=ਪਹਿਲੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-last_page.title=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-last_page.label=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-last_page_label=ਆਖਰੀ ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ
-page_rotate_cw.title=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਓ
-page_rotate_cw.label=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਉ
-page_rotate_cw_label=ਸੱਜੇ ਦਾਅ ਘੁੰਮਾਓ
-page_rotate_ccw.title=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਓ
-page_rotate_ccw.label=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਉ
-page_rotate_ccw_label=ਖੱਬੇ ਦਾਅ ਘੁੰਮਾਓ
-
-cursor_text_select_tool.title=ਲਿਖਤ ਚੋਣ ਟੂਲ ਸਮਰੱਥ ਕਰੋ
-cursor_text_select_tool_label=ਲਿਖਤ ਚੋਣ ਟੂਲ
-cursor_hand_tool.title=ਹੱਥ ਟੂਲ ਸਮਰੱਥ ਕਰੋ
-cursor_hand_tool_label=ਹੱਥ ਟੂਲ
-
-scroll_vertical.title=ਖੜ੍ਹਵੇਂ ਸਕਰਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_vertical_label=ਖੜ੍ਹਵਾਂ ਸਰਕਾਉਣਾ
-scroll_horizontal.title=ਲੇਟਵੇਂ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_horizontal_label=ਲੇਟਵਾਂ ਸਰਕਾਉਣਾ
-scroll_wrapped.title=ਸਮੇਟੇ ਸਰਕਾਉਣ ਨੂੰ ਵਰਤੋਂ
-scroll_wrapped_label=ਸਮੇਟਿਆ ਸਰਕਾਉਣਾ
-
-spread_none.title=ਸਫ਼ਾ ਫੈਲਾਅ ਵਿੱਚ ਸ਼ਾਮਲ ਨਾ ਹੋਵੋ
-spread_none_label=ਕੋਈ ਫੈਲਾਅ ਨਹੀਂ
-spread_odd.title=ਅਜੀਬ-ਨੰਬਰ ਵਾਲੇ ਪੰਨਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਪੰਨੇ ਸਪਰਸ਼ਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ
-spread_even.title=ਜਿਸਤ ਨੰਬਰ ਵਾਲੇ ਸਫ਼ਿਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਸਫਿਆਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ
-
-# Document properties dialog box
-document_properties.title=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ
-document_properties_label=…ਦਸਤਾਵੇਜ਼ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ
-document_properties_file_name=ਫਾਈਲ ਦਾ ਨਾਂ:
-document_properties_file_size=ਫਾਈਲ ਦਾ ਆਕਾਰ:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ਬਾਈਟ)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ਬਾਈਟ)
-document_properties_title=ਟਾਈਟਲ:
-document_properties_author=ਲੇਖਕ:
-document_properties_subject=ਵਿਸ਼ਾ:
-document_properties_keywords=ਸ਼ਬਦ:
-document_properties_creation_date=ਬਣਾਉਣ ਦੀ ਮਿਤੀ:
-document_properties_modification_date=ਸੋਧ ਦੀ ਮਿਤੀ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ਨਿਰਮਾਤਾ:
-document_properties_producer=PDF ਪ੍ਰੋਡਿਊਸਰ:
-document_properties_version=PDF ਵਰਜਨ:
-document_properties_page_count=ਸਫ਼ੇ ਦੀ ਗਿਣਤੀ:
-document_properties_page_size=ਸਫ਼ਾ ਆਕਾਰ:
-document_properties_page_size_unit_inches=ਇੰਚ
-document_properties_page_size_unit_millimeters=ਮਿਮੀ
-document_properties_page_size_orientation_portrait=ਪੋਰਟਰੇਟ
-document_properties_page_size_orientation_landscape=ਲੈਂਡਸਕੇਪ
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=ਲੈਟਰ
-document_properties_page_size_name_legal=ਕਨੂੰਨੀ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=ਤੇਜ਼ ਵੈੱਬ ਝਲਕ:
-document_properties_linearized_yes=ਹਾਂ
-document_properties_linearized_no=ਨਹੀਂ
-document_properties_close=ਬੰਦ ਕਰੋ
-
-print_progress_message=…ਪਰਿੰਟ ਕਰਨ ਲਈ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ਰੱਦ ਕਰੋ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=ਬਾਹੀ ਬਦਲੋ
-toggle_sidebar_notification.title=ਬਾਹੀ ਨੂੰ ਬਦਲੋ (ਦਸਤਾਵੇਜ਼ ਖਾਕਾ/ਅਟੈਚਮੈਂਟਾਂ ਰੱਖਦਾ ਹੈ)
-toggle_sidebar_label=ਬਾਹੀ ਬਦਲੋ
-document_outline.title=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ ਦਿਖਾਓ (ਸਾਰੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਫੈਲਾਉਣ/ਸਮੇਟਣ ਲਈ ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰੋ)
-document_outline_label=ਦਸਤਾਵੇਜ਼ ਖਾਕਾ
-attachments.title=ਅਟੈਚਮੈਂਟ ਵੇਖਾਓ
-attachments_label=ਅਟੈਚਮੈਂਟਾਂ
-thumbs.title=ਥੰਮਨੇਲ ਨੂੰ ਵੇਖਾਓ
-thumbs_label=ਥੰਮਨੇਲ
-findbar.title=ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਲੱਭੋ
-findbar_label=ਲੱਭੋ
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=ਸਫ਼ਾ {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=ਸਫ਼ਾ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} ਸਫ਼ੇ ਦਾ ਥੰਮਨੇਲ
-
-# Find panel button title and messages
-find_input.title=ਲੱਭੋ
-find_input.placeholder=…ਦਸਤਾਵੇਜ਼ 'ਚ ਲੱਭੋ
-find_previous.title=ਵਾਕ ਦੀ ਪਿਛਲੀ ਮੌਜੂਦਗੀ ਲੱਭੋ
-find_previous_label=ਪਿੱਛੇ
-find_next.title=ਵਾਕ ਦੀ ਅਗਲੀ ਮੌਜੂਦਗੀ ਲੱਭੋ
-find_next_label=ਅੱਗੇ
-find_highlight=ਸਭ ਉਭਾਰੋ
-find_match_case_label=ਅੱਖਰ ਆਕਾਰ ਨੂੰ ਮਿਲਾਉ
-find_entire_word_label=ਪੂਰੇ ਸ਼ਬਦ
-find_reached_top=ਦਸਤਾਵੇਜ਼ ਦੇ ਉੱਤੇ ਆ ਗਏ ਹਾਂ, ਥੱਲੇ ਤੋਂ ਜਾਰੀ ਰੱਖਿਆ ਹੈ
-find_reached_bottom=ਦਸਤਾਵੇਜ਼ ਦੇ ਅੰਤ ਉੱਤੇ ਆ ਗਏ ਹਾਂ, ਉੱਤੇ ਤੋਂ ਜਾਰੀ ਰੱਖਿਆ ਹੈ
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[two]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[few]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[many]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-find_match_count[other]={{total}} ਵਿੱਚੋਂ {{current}} ਮੇਲ
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[one]={{limit}} ਮੇਲ ਤੋਂ ਵੱਧ
-find_match_count_limit[two]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[few]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[many]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_match_count_limit[other]={{limit}} ਮੇਲਾਂ ਤੋਂ ਵੱਧ
-find_not_found=ਵਾਕ ਨਹੀਂ ਲੱਭਿਆ
-
-# Error panel labels
-error_more_info=ਹੋਰ ਜਾਣਕਾਰੀ
-error_less_info=ਘੱਟ ਜਾਣਕਾਰੀ
-error_close=ਬੰਦ ਕਰੋ
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (ਬਿਲਡ: {{build}}
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ਸੁਨੇਹਾ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ਸਟੈਕ: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ਫਾਈਲ: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=ਲਾਈਨ: {{line}}
-rendering_error=ਸਫ਼ਾ ਰੈਡਰ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ।
-
-# Predefined zoom values
-page_scale_width=ਸਫ਼ੇ ਦੀ ਚੌੜਾਈ
-page_scale_fit=ਸਫ਼ਾ ਫਿੱਟ
-page_scale_auto=ਆਟੋਮੈਟਿਕ ਜ਼ੂਮ ਕਰੋ
-page_scale_actual=ਆਟੋਮੈਟਿਕ ਆਕਾਰ
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=ਗਲਤੀ
-loading_error=PDF ਲੋਡ ਕਰਨ ਦੇ ਦੌਰਾਨ ਗਲਤੀ ਆਈ ਹੈ।
-invalid_file_error=ਗਲਤ ਜਾਂ ਨਿਕਾਰਾ PDF ਫਾਈਲ ਹੈ।
-missing_file_error=ਨਾ-ਮੌਜੂਦ PDF ਫਾਈਲ।
-unexpected_response_error=ਅਣਜਾਣ ਸਰਵਰ ਜਵਾਬ।
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} ਵਿਆਖਿਆ]
-password_label=ਇਹ PDF ਫਾਈਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਪਾਸਵਰਡ ਦਿਉ।
-password_invalid=ਗਲਤ ਪਾਸਵਰਡ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।
-password_ok=ਠੀਕ ਹੈ
-password_cancel=ਰੱਦ ਕਰੋ
-
-printing_not_supported=ਸਾਵਧਾਨ: ਇਹ ਬਰਾਊਜ਼ਰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਹਾਇਕ ਨਹੀਂ ਹੈ।
-printing_not_ready=ਸਾਵਧਾਨ: PDF ਨੂੰ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੋਡ ਨਹੀਂ ਹੈ।
-web_fonts_disabled=ਵੈਬ ਫੋਂਟ ਬੰਦ ਹਨ: ਇੰਬੈਡ PDF ਫੋਂਟ ਨੂੰ ਵਰਤਣ ਲਈ ਅਸਮਰੱਥ ਹੈ।
-document_colors_not_allowed=PDF ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਆਪਣੇ ਰੰਗ ਵਰਤਣ ਦੀ ਇਜ਼ਾਜ਼ਤ ਨਹੀਂ ਹੈ।: ਬਰਾਊਜ਼ਰ ਵਿੱਚ “ਸਫ਼ਿਆਂ ਨੂੰ ਆਪਣੇ ਰੰਗ ਚੁਣਨ ਦੀ ਇਜ਼ਾਜ਼ਤ ਦਿਓ” ਨਾ-ਸਰਗਰਮ ਹੈ।
diff --git a/server/target/classes/static/pdfjs/web/locale/pl/viewer.properties b/server/target/classes/static/pdfjs/web/locale/pl/viewer.properties
deleted file mode 100644
index c18ea5e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/pl/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Poprzednia strona
-previous_label=Poprzednia
-next.title=Następna strona
-next_label=Następna
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strona
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Pomniejsz
-zoom_out_label=Pomniejsz
-zoom_in.title=Powiększ
-zoom_in_label=Powiększ
-zoom.title=Skala
-presentation_mode.title=Przełącz na tryb prezentacji
-presentation_mode_label=Tryb prezentacji
-open_file.title=Otwórz plik
-open_file_label=Otwórz
-print.title=Drukuj
-print_label=Drukuj
-download.title=Pobierz
-download_label=Pobierz
-bookmark.title=Bieżąca pozycja (skopiuj lub otwórz jako odnośnik w nowym oknie)
-bookmark_label=Bieżąca pozycja
-
-# Secondary toolbar and context menu
-tools.title=Narzędzia
-tools_label=Narzędzia
-first_page.title=Przejdź do pierwszej strony
-first_page.label=Przejdź do pierwszej strony
-first_page_label=Przejdź do pierwszej strony
-last_page.title=Przejdź do ostatniej strony
-last_page.label=Przejdź do ostatniej strony
-last_page_label=Przejdź do ostatniej strony
-page_rotate_cw.title=Obróć zgodnie z ruchem wskazówek zegara
-page_rotate_cw.label=Obróć zgodnie z ruchem wskazówek zegara
-page_rotate_cw_label=Obróć zgodnie z ruchem wskazówek zegara
-page_rotate_ccw.title=Obróć przeciwnie do ruchu wskazówek zegara
-page_rotate_ccw.label=Obróć przeciwnie do ruchu wskazówek zegara
-page_rotate_ccw_label=Obróć przeciwnie do ruchu wskazówek zegara
-
-cursor_text_select_tool.title=Włącz narzędzie zaznaczania tekstu
-cursor_text_select_tool_label=Narzędzie zaznaczania tekstu
-cursor_hand_tool.title=Włącz narzędzie rączka
-cursor_hand_tool_label=Narzędzie rączka
-
-scroll_vertical.title=Przewijaj dokument w pionie
-scroll_vertical_label=Przewijanie pionowe
-scroll_horizontal.title=Przewijaj dokument w poziomie
-scroll_horizontal_label=Przewijanie poziome
-scroll_wrapped.title=Strony dokumentu wyświetlaj i przewijaj w kolumnach
-scroll_wrapped_label=Widok dwóch stron
-
-spread_none.title=Nie ustawiaj stron obok siebie
-spread_none_label=Brak kolumn
-spread_odd.title=Strony nieparzyste ustawiaj na lewo od parzystych
-spread_odd_label=Nieparzyste po lewej
-spread_even.title=Strony parzyste ustawiaj na lewo od nieparzystych
-spread_even_label=Parzyste po lewej
-
-# Document properties dialog box
-document_properties.title=Właściwości dokumentu…
-document_properties_label=Właściwości dokumentu…
-document_properties_file_name=Nazwa pliku:
-document_properties_file_size=Rozmiar pliku:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} B)
-document_properties_title=Tytuł:
-document_properties_author=Autor:
-document_properties_subject=Temat:
-document_properties_keywords=Słowa kluczowe:
-document_properties_creation_date=Data utworzenia:
-document_properties_modification_date=Data modyfikacji:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Utworzony przez:
-document_properties_producer=PDF wyprodukowany przez:
-document_properties_version=Wersja PDF:
-document_properties_page_count=Liczba stron:
-document_properties_page_size=Wymiary strony:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=pionowa
-document_properties_page_size_orientation_landscape=pozioma
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=US Letter
-document_properties_page_size_name_legal=US Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}}×{{height}} {{unit}} (orientacja {{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}}×{{height}} {{unit}} ({{name}}, orientacja {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Szybki podgląd w Internecie:
-document_properties_linearized_yes=tak
-document_properties_linearized_no=nie
-document_properties_close=Zamknij
-
-print_progress_message=Przygotowywanie dokumentu do druku…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anuluj
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Przełącz panel boczny
-toggle_sidebar_notification.title=Przełącz panel boczny (dokument zawiera konspekt/załączniki)
-toggle_sidebar_label=Przełącz panel boczny
-document_outline.title=Konspekt dokumentu (podwójne kliknięcie rozwija lub zwija wszystkie pozycje)
-document_outline_label=Konspekt dokumentu
-attachments.title=Załączniki
-attachments_label=Załączniki
-thumbs.title=Miniatury
-thumbs_label=Miniatury
-findbar.title=Znajdź w dokumencie
-findbar_label=Znajdź
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas={{page}}. strona
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}}. strona
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura {{page}}. strony
-
-# Find panel button title and messages
-find_input.title=Znajdź
-find_input.placeholder=Znajdź w dokumencie…
-find_previous.title=Znajdź poprzednie wystąpienie tekstu
-find_previous_label=Poprzednie
-find_next.title=Znajdź następne wystąpienie tekstu
-find_next_label=Następne
-find_highlight=Wyróżnianie wszystkich
-find_match_case_label=Rozróżnianie wielkości liter
-find_entire_word_label=Całe słowa
-find_reached_top=Początek dokumentu. Wyszukiwanie od końca.
-find_reached_bottom=Koniec dokumentu. Wyszukiwanie od początku.
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Pierwsze z {{total}} trafień
-find_match_count[two]=Drugie z {{total}} trafień
-find_match_count[few]={{current}}. z {{total}} trafień
-find_match_count[many]={{current}}. z {{total}} trafień
-find_match_count[other]={{current}}. z {{total}} trafień
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Brak trafień.
-find_match_count_limit[one]=Więcej niż jedno trafienie.
-find_match_count_limit[two]=Więcej niż dwa trafienia.
-find_match_count_limit[few]=Więcej niż {{limit}} trafienia.
-find_match_count_limit[many]=Więcej niż {{limit}} trafień.
-find_match_count_limit[other]=Więcej niż {{limit}} trafień.
-find_not_found=Nie znaleziono tekstu
-
-# Error panel labels
-error_more_info=Więcej informacji
-error_less_info=Mniej informacji
-error_close=Zamknij
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (kompilacja: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Komunikat: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stos: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Plik: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Wiersz: {{line}}
-rendering_error=Podczas renderowania strony wystąpił błąd.
-
-# Predefined zoom values
-page_scale_width=Szerokość strony
-page_scale_fit=Dopasowanie strony
-page_scale_auto=Skala automatyczna
-page_scale_actual=Rozmiar oryginalny
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Błąd
-loading_error=Podczas wczytywania dokumentu PDF wystąpił błąd.
-invalid_file_error=Nieprawidłowy lub uszkodzony plik PDF.
-missing_file_error=Brak pliku PDF.
-unexpected_response_error=Nieoczekiwana odpowiedź serwera.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Adnotacja: {{type}}]
-password_label=Wprowadź hasło, aby otworzyć ten dokument PDF.
-password_invalid=Nieprawidłowe hasło. Proszę spróbować ponownie.
-password_ok=OK
-password_cancel=Anuluj
-
-printing_not_supported=Ostrzeżenie: drukowanie nie jest w pełni obsługiwane przez tę przeglądarkę.
-printing_not_ready=Ostrzeżenie: dokument PDF nie jest całkowicie wczytany, więc nie można go wydrukować.
-web_fonts_disabled=Czcionki sieciowe są wyłączone: nie można użyć osadzonych czcionek PDF.
-document_colors_not_allowed=Dokumenty PDF nie mogą używać własnych kolorów: opcja „Pozwalaj stronom stosować inne kolory” w przeglądarce jest nieaktywna.
diff --git a/server/target/classes/static/pdfjs/web/locale/pt-BR/viewer.properties b/server/target/classes/static/pdfjs/web/locale/pt-BR/viewer.properties
deleted file mode 100644
index 5947d2d..0000000
--- a/server/target/classes/static/pdfjs/web/locale/pt-BR/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Próxima página
-next_label=Próxima
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reduzir
-zoom_out_label=Reduzir
-zoom_in.title=Ampliar
-zoom_in_label=Ampliar
-zoom.title=Zoom
-presentation_mode.title=Alternar para o modo de apresentação
-presentation_mode_label=Modo de apresentação
-open_file.title=Abrir arquivo
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Download
-download_label=Download
-bookmark.title=Visualização atual (copiar ou abrir em uma nova janela)
-bookmark_label=Visualização atual
-
-# Secondary toolbar and context menu
-tools.title=Ferramentas
-tools_label=Ferramentas
-first_page.title=Ir para a primeira página
-first_page.label=Ir para a primeira página
-first_page_label=Ir para a primeira página
-last_page.title=Ir para a última página
-last_page.label=Ir para a última página
-last_page_label=Ir para a última página
-page_rotate_cw.title=Girar no sentido horário
-page_rotate_cw.label=Girar no sentido horário
-page_rotate_cw_label=Girar no sentido horário
-page_rotate_ccw.title=Girar no sentido anti-horário
-page_rotate_ccw.label=Girar no sentido anti-horário
-page_rotate_ccw_label=Girar no sentido anti-horário
-
-cursor_text_select_tool.title=Ativar a ferramenta de seleção de texto
-cursor_text_select_tool_label=Ferramenta de seleção de texto
-cursor_hand_tool.title=Ativar ferramenta de mão
-cursor_hand_tool_label=Ferramenta de mão
-
-scroll_vertical.title=Usar rolagem vertical
-scroll_vertical_label=Rolagem vertical
-scroll_horizontal.title=Usar rolagem horizontal
-scroll_horizontal_label=Rolagem horizontal
-scroll_wrapped.title=Usar rolagem contida
-scroll_wrapped_label=Rolagem contida
-
-spread_none.title=Não reagrupar páginas
-spread_none_label=Não estender
-spread_odd.title=Agrupar páginas começando em páginas com números ímpares
-spread_odd_label=Estender ímpares
-spread_even.title=Agrupar páginas começando em páginas com números pares
-spread_even_label=Estender pares
-
-# Document properties dialog box
-document_properties.title=Propriedades do documento…
-document_properties_label=Propriedades do documento…
-document_properties_file_name=Nome do arquivo:
-document_properties_file_size=Tamanho do arquivo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Assunto:
-document_properties_keywords=Palavras-chave:
-document_properties_creation_date=Data da criação:
-document_properties_modification_date=Data da modificação:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Criação:
-document_properties_producer=Criador do PDF:
-document_properties_version=Versão do PDF:
-document_properties_page_count=Número de páginas:
-document_properties_page_size=Tamanho da página:
-document_properties_page_size_unit_inches=pol.
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=retrato
-document_properties_page_size_orientation_landscape=paisagem
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Jurídico
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Visualização rápida da Web:
-document_properties_linearized_yes=Sim
-document_properties_linearized_no=Não
-document_properties_close=Fechar
-
-print_progress_message=Preparando documento para impressão…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Alternar painel
-toggle_sidebar_notification.title=Alternar o painel (documento contém marcadores e anexos)
-toggle_sidebar_label=Alternar painel
-document_outline.title=Mostrar a estrutura do documento (duplo-clique para expandir/recolher todos os ítens)
-document_outline_label=Estrutura do documento
-attachments.title=Mostrar anexos
-attachments_label=Anexos
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Procurar no documento
-findbar_label=Procurar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da página {{page}}
-
-# Find panel button title and messages
-find_input.title=Procurar
-find_input.placeholder=Procurar no documento…
-find_previous.title=Procurar a ocorrência anterior da frase
-find_previous_label=Anterior
-find_next.title=Procurar a próxima ocorrência da frase
-find_next_label=Próxima
-find_highlight=Realçar tudo
-find_match_case_label=Diferenciar maiúsculas/minúsculas
-find_entire_word_label=Palavras completas
-find_reached_top=Início do documento alcançado, continuando do fim
-find_reached_bottom=Fim do documento alcançado, continuando do início
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} ocorrência
-find_match_count[two]={{current}} de {{total}} ocorrências
-find_match_count[few]={{current}} de {{total}} ocorrências
-find_match_count[many]={{current}} de {{total}} ocorrências
-find_match_count[other]={{current}} de {{total}} ocorrências
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mais de {{limit}} ocorrências
-find_match_count_limit[one]=Mais de {{limit}} ocorrência
-find_match_count_limit[two]=Mais de {{limit}} ocorrências
-find_match_count_limit[few]=Mais de {{limit}} ocorrências
-find_match_count_limit[many]=Mais de {{limit}} ocorrências
-find_match_count_limit[other]=Mais de {{limit}} ocorrências
-find_not_found=Frase não encontrada
-
-# Error panel labels
-error_more_info=Mais informações
-error_less_info=Menos informações
-error_close=Fechar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilação: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensagem: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Pilha: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Arquivo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linha: {{line}}
-rendering_error=Ocorreu um erro ao renderizar a página.
-
-# Predefined zoom values
-page_scale_width=Largura da página
-page_scale_fit=Ajustar à janela
-page_scale_auto=Zoom automático
-page_scale_actual=Tamanho real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Erro
-loading_error=Ocorreu um erro ao carregar o PDF.
-invalid_file_error=Arquivo PDF corrompido ou inválido.
-missing_file_error=Arquivo PDF ausente.
-unexpected_response_error=Resposta inesperada do servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotação {{type}}]
-password_label=Forneça a senha para abrir este arquivo PDF.
-password_invalid=Senha inválida. Tente novamente.
-password_ok=OK
-password_cancel=Cancelar
-
-printing_not_supported=Aviso: a impressão não é totalmente suportada neste navegador.
-printing_not_ready=Aviso: o PDF não está totalmente carregado para impressão.
-web_fonts_disabled=As fontes web estão desativadas: não foi possível usar fontes incorporadas do PDF.
-document_colors_not_allowed=Documentos PDF não estão autorizados a usar as próprias cores: a opção “Permitir que as páginas escolham suas próprias cores” está desativada no navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/pt-PT/viewer.properties b/server/target/classes/static/pdfjs/web/locale/pt-PT/viewer.properties
deleted file mode 100644
index 5129a52..0000000
--- a/server/target/classes/static/pdfjs/web/locale/pt-PT/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Página anterior
-previous_label=Anterior
-next.title=Página seguinte
-next_label=Seguinte
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Página
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=de {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} de {{pagesCount}})
-
-zoom_out.title=Reduzir
-zoom_out_label=Reduzir
-zoom_in.title=Ampliar
-zoom_in_label=Ampliar
-zoom.title=Zoom
-presentation_mode.title=Trocar para o modo de apresentação
-presentation_mode_label=Modo de apresentação
-open_file.title=Abrir ficheiro
-open_file_label=Abrir
-print.title=Imprimir
-print_label=Imprimir
-download.title=Transferir
-download_label=Transferir
-bookmark.title=Vista atual (copiar ou abrir numa nova janela)
-bookmark_label=Visão atual
-
-# Secondary toolbar and context menu
-tools.title=Ferramentas
-tools_label=Ferramentas
-first_page.title=Ir para a primeira página
-first_page.label=Ir para a primeira página
-first_page_label=Ir para a primeira página
-last_page.title=Ir para a última página
-last_page.label=Ir para a última página
-last_page_label=Ir para a última página
-page_rotate_cw.title=Rodar à direita
-page_rotate_cw.label=Rodar à direita
-page_rotate_cw_label=Rodar à direita
-page_rotate_ccw.title=Rodar à esquerda
-page_rotate_ccw.label=Rodar à esquerda
-page_rotate_ccw_label=Rodar à esquerda
-
-cursor_text_select_tool.title=Ativar ferramenta de seleção de texto
-cursor_text_select_tool_label=Ferramenta de seleção de texto
-cursor_hand_tool.title=Ativar ferramenta de mão
-cursor_hand_tool_label=Ferramenta de mão
-
-scroll_vertical.title=Utilizar deslocação vertical
-scroll_vertical_label=Deslocação vertical
-scroll_horizontal.title=Utilizar deslocação horizontal
-scroll_horizontal_label=Deslocação horizontal
-scroll_wrapped.title=Utilizar deslocação encapsulada
-scroll_wrapped_label=Deslocação encapsulada
-
-spread_none.title=Não juntar páginas dispersas
-spread_none_label=Sem spreads
-spread_odd.title=Juntar páginas dispersas a partir de páginas com números ímpares
-spread_odd_label=Spreads ímpares
-spread_even.title=Juntar páginas dispersas a partir de páginas com números pares
-spread_even_label=Spreads pares
-
-# Document properties dialog box
-document_properties.title=Propriedades do documento…
-document_properties_label=Propriedades do documento…
-document_properties_file_name=Nome do ficheiro:
-document_properties_file_size=Tamanho do ficheiro:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Título:
-document_properties_author=Autor:
-document_properties_subject=Assunto:
-document_properties_keywords=Palavras-chave:
-document_properties_creation_date=Data de criação:
-document_properties_modification_date=Data de modificação:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Criador:
-document_properties_producer=Produtor de PDF:
-document_properties_version=Versão do PDF:
-document_properties_page_count=N.º de páginas:
-document_properties_page_size=Tamanho da página:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=retrato
-document_properties_page_size_orientation_landscape=paisagem
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Carta
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista rápida web:
-document_properties_linearized_yes=Sim
-document_properties_linearized_no=Não
-document_properties_close=Fechar
-
-print_progress_message=A preparar o documento para impressão…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Cancelar
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Alternar barra lateral
-toggle_sidebar_notification.title=Alternar barra lateral (documento contém contorno/anexos)
-toggle_sidebar_label=Alternar barra lateral
-document_outline.title=Mostrar esquema do documento (duplo clique para expandir/colapsar todos os itens)
-document_outline_label=Esquema do documento
-attachments.title=Mostrar anexos
-attachments_label=Anexos
-thumbs.title=Mostrar miniaturas
-thumbs_label=Miniaturas
-findbar.title=Localizar em documento
-findbar_label=Localizar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Página {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Página {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da página {{page}}
-
-# Find panel button title and messages
-find_input.title=Localizar
-find_input.placeholder=Localizar em documento…
-find_previous.title=Localizar ocorrência anterior da frase
-find_previous_label=Anterior
-find_next.title=Localizar ocorrência seguinte da frase
-find_next_label=Seguinte
-find_highlight=Destacar tudo
-find_match_case_label=Correspondência
-find_entire_word_label=Palavras completas
-find_reached_top=Topo do documento atingido, a continuar a partir do fundo
-find_reached_bottom=Fim do documento atingido, a continuar a partir do topo
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} de {{total}} correspondência
-find_match_count[two]={{current}} de {{total}} correspondências
-find_match_count[few]={{current}} de {{total}} correspondências
-find_match_count[many]={{current}} de {{total}} correspondências
-find_match_count[other]={{current}} de {{total}} correspondências
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mais de {{limit}} correspondências
-find_match_count_limit[one]=Mais de {{limit}} correspondência
-find_match_count_limit[two]=Mais de {{limit}} correspondências
-find_match_count_limit[few]=Mais de {{limit}} correspondências
-find_match_count_limit[many]=Mais de {{limit}} correspondências
-find_match_count_limit[other]=Mais de {{limit}} correspondências
-find_not_found=Frase não encontrada
-
-# Error panel labels
-error_more_info=Mais informação
-error_less_info=Menos informação
-error_close=Fechar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (compilação: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensagem: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ficheiro: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linha: {{line}}
-rendering_error=Ocorreu um erro ao processar a página.
-
-# Predefined zoom values
-page_scale_width=Ajustar à largura
-page_scale_fit=Ajustar à página
-page_scale_auto=Zoom automático
-page_scale_actual=Tamanho real
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Erro
-loading_error=Ocorreu um erro ao carregar o PDF.
-invalid_file_error=Ficheiro PDF inválido ou danificado.
-missing_file_error=Ficheiro PDF inexistente.
-unexpected_response_error=Resposta inesperada do servidor.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotação {{type}}]
-password_label=Introduza a palavra-passe para abrir este ficheiro PDF.
-password_invalid=Palavra-passe inválida. Por favor, tente novamente.
-password_ok=OK
-password_cancel=Cancelar
-
-printing_not_supported=Aviso: a impressão não é totalmente suportada por este navegador.
-printing_not_ready=Aviso: o PDF ainda não está totalmente carregado.
-web_fonts_disabled=Os tipos de letra web estão desativados: não é possível utilizar os tipos de letra PDF embutidos.
-document_colors_not_allowed=Os documentos PDF não permitem a utilização das suas próprias cores: “Permitir às páginas escolher as suas próprias cores” está desativado no navegador.
diff --git a/server/target/classes/static/pdfjs/web/locale/rm/viewer.properties b/server/target/classes/static/pdfjs/web/locale/rm/viewer.properties
deleted file mode 100644
index 99aca5c..0000000
--- a/server/target/classes/static/pdfjs/web/locale/rm/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina precedenta
-previous_label=Enavos
-next.title=Proxima pagina
-next_label=Enavant
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=da {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} da {{pagesCount}})
-
-zoom_out.title=Empitschnir
-zoom_out_label=Empitschnir
-zoom_in.title=Engrondir
-zoom_in_label=Engrondir
-zoom.title=Zoom
-presentation_mode.title=Midar en il modus da preschentaziun
-presentation_mode_label=Modus da preschentaziun
-open_file.title=Avrir datoteca
-open_file_label=Avrir
-print.title=Stampar
-print_label=Stampar
-download.title=Telechargiar
-download_label=Telechargiar
-bookmark.title=Vista actuala (copiar u avrir en ina nova fanestra)
-bookmark_label=Vista actuala
-
-# Secondary toolbar and context menu
-tools.title=Utensils
-tools_label=Utensils
-first_page.title=Siglir a l'emprima pagina
-first_page.label=Siglir a l'emprima pagina
-first_page_label=Siglir a l'emprima pagina
-last_page.title=Siglir a la davosa pagina
-last_page.label=Siglir a la davosa pagina
-last_page_label=Siglir a la davosa pagina
-page_rotate_cw.title=Rotar en direcziun da l'ura
-page_rotate_cw.label=Rotar en direcziun da l'ura
-page_rotate_cw_label=Rotar en direcziun da l'ura
-page_rotate_ccw.title=Rotar en direcziun cuntraria a l'ura
-page_rotate_ccw.label=Rotar en direcziun cuntraria a l'ura
-page_rotate_ccw_label=Rotar en direcziun cuntraria a l'ura
-
-cursor_text_select_tool.title=Activar l'utensil per selecziunar text
-cursor_text_select_tool_label=Utensil per selecziunar text
-cursor_hand_tool.title=Activar l'utensil da maun
-cursor_hand_tool_label=Utensil da maun
-
-scroll_vertical.title=Utilisar il defilar vertical
-scroll_vertical_label=Defilar vertical
-scroll_horizontal.title=Utilisar il defilar orizontal
-scroll_horizontal_label=Defilar orizontal
-scroll_wrapped.title=Utilisar il defilar en colonnas
-scroll_wrapped_label=Defilar en colonnas
-
-spread_none.title=Betg parallelisar las paginas
-spread_none_label=Betg parallel
-spread_odd.title=Parallelisar las paginas cun cumenzar cun paginas spèras
-spread_odd_label=Parallel spèr
-spread_even.title=Parallelisar las paginas cun cumenzar cun paginas pèras
-spread_even_label=Parallel pèr
-
-# Document properties dialog box
-document_properties.title=Caracteristicas dal document…
-document_properties_label=Caracteristicas dal document…
-document_properties_file_name=Num da la datoteca:
-document_properties_file_size=Grondezza da la datoteca:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Titel:
-document_properties_author=Autur:
-document_properties_subject=Tema:
-document_properties_keywords=Chavazzins:
-document_properties_creation_date=Data da creaziun:
-document_properties_modification_date=Data da modificaziun:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Creà da:
-document_properties_producer=Creà il PDF cun:
-document_properties_version=Versiun da PDF:
-document_properties_page_count=Dumber da paginas:
-document_properties_page_size=Grondezza da la pagina:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=vertical
-document_properties_page_size_orientation_landscape=orizontal
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Gea
-document_properties_linearized_no=Na
-document_properties_close=Serrar
-
-print_progress_message=Preparar il document per stampar…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Interrumper
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Activar/deactivar la trav laterala
-toggle_sidebar_notification.title=Activar/deactivar la trav laterala (structura dal document/agiuntas)
-toggle_sidebar_label=Activar/deactivar la trav laterala
-document_outline.title=Mussar la structura dal document (cliccar duas giadas per extender/cumprimer tut ils elements)
-document_outline_label=Structura dal document
-attachments.title=Mussar agiuntas
-attachments_label=Agiuntas
-thumbs.title=Mussar las miniaturas
-thumbs_label=Miniaturas
-findbar.title=Tschertgar en il document
-findbar_label=Tschertgar
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura da la pagina {{page}}
-
-# Find panel button title and messages
-find_input.title=Tschertgar
-find_input.placeholder=Tschertgar en il document…
-find_previous.title=Tschertgar la posiziun precedenta da l'expressiun
-find_previous_label=Enavos
-find_next.title=Tschertgar la proxima posiziun da l'expressiun
-find_next_label=Enavant
-find_highlight=Relevar tuts
-find_match_case_label=Resguardar maiusclas/minusclas
-find_entire_word_label=Pleds entirs
-find_reached_top=Il cumenzament dal document è cuntanschì, la tschertga cuntinuescha a la fin dal document
-find_reached_bottom=La fin dal document è cuntanschì, la tschertga cuntinuescha al cumenzament dal document
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} dad {{total}} correspundenza
-find_match_count[two]={{current}} da {{total}} correspundenzas
-find_match_count[few]={{current}} da {{total}} correspundenzas
-find_match_count[many]={{current}} da {{total}} correspundenzas
-find_match_count[other]={{current}} da {{total}} correspundenzas
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[one]=Dapli che {{limit}} correspundenza
-find_match_count_limit[two]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[few]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[many]=Dapli che {{limit}} correspundenzas
-find_match_count_limit[other]=Dapli che {{limit}} correspundenzas
-find_not_found=Impussibel da chattar l'expressiun
-
-# Error panel labels
-error_more_info=Dapli infurmaziuns
-error_less_info=Damain infurmaziuns
-error_close=Serrar
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Messadi: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datoteca: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lingia: {{line}}
-rendering_error=Ina errur è cumparida cun visualisar questa pagina.
-
-# Predefined zoom values
-page_scale_width=Ladezza da la pagina
-page_scale_fit=Entira pagina
-page_scale_auto=Zoom automatic
-page_scale_actual=Grondezza actuala
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Errur
-loading_error=Ina errur è cumparida cun chargiar il PDF.
-invalid_file_error=Datoteca PDF nunvalida u donnegiada.
-missing_file_error=Datoteca PDF manconta.
-unexpected_response_error=Resposta nunspetgada dal server.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Annotaziun da {{type}}]
-password_label=Endatescha il pled-clav per avrir questa datoteca da PDF.
-password_invalid=Pled-clav nunvalid. Emprova anc ina giada.
-password_ok=OK
-password_cancel=Interrumper
-
-printing_not_supported=Attenziun: Il stampar na funcziunescha anc betg dal tut en quest navigatur.
-printing_not_ready=Attenziun: Il PDF n'è betg chargià cumplettamain per stampar.
-web_fonts_disabled=Scrittiras dal web èn deactivadas: impussibel dad utilisar las scrittiras integradas en il PDF.
-document_colors_not_allowed=Documents da PDF na dastgan betg duvrar las atgnas colurs: 'Permetter a paginas da tscherner lur atgna colur' è deactivà en il navigatur.
diff --git a/server/target/classes/static/pdfjs/web/locale/ro/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ro/viewer.properties
deleted file mode 100644
index 8f10f7e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ro/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pagina precedentă
-previous_label=Înapoi
-next.title=Pagina următoare
-next_label=Înainte
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pagina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=din {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} din {{pagesCount}})
-
-zoom_out.title=Micșorează
-zoom_out_label=Micșorează
-zoom_in.title=Mărește
-zoom_in_label=Mărește
-zoom.title=Zoom
-presentation_mode.title=Comută la modul de prezentare
-presentation_mode_label=Mod de prezentare
-open_file.title=Deschide un fișier
-open_file_label=Deschide
-print.title=Tipărește
-print_label=Tipărește
-download.title=Descarcă
-download_label=Descarcă
-bookmark.title=Vizualizare actuală (copiază sau deschide într-o fereastră nouă)
-bookmark_label=Vizualizare actuală
-
-# Secondary toolbar and context menu
-tools.title=Instrumente
-tools_label=Instrumente
-first_page.title=Mergi la prima pagină
-first_page.label=Mergi la prima pagină
-first_page_label=Mergi la prima pagină
-last_page.title=Mergi la ultima pagină
-last_page.label=Mergi la ultima pagină
-last_page_label=Mergi la ultima pagină
-page_rotate_cw.title=Rotește în sensul acelor de ceasornic
-page_rotate_cw.label=Rotește în sensul acelor de ceasornic
-page_rotate_cw_label=Rotește în sensul acelor de ceasornic
-page_rotate_ccw.title=Rotește în sens invers al acelor de ceasornic
-page_rotate_ccw.label=Rotește în sens invers al acelor de ceasornic
-page_rotate_ccw_label=Rotește în sens invers al acelor de ceasornic
-
-cursor_text_select_tool.title=Activează instrumentul de selecție a textului
-cursor_text_select_tool_label=Instrumentul de selecție a textului
-cursor_hand_tool.title=Activează instrumentul mână
-cursor_hand_tool_label=Unealta mână
-
-scroll_vertical.title=Folosește derularea verticală
-scroll_vertical_label=Derulare verticală
-scroll_horizontal.title=Folosește derularea orizontală
-scroll_horizontal_label=Derulare orizontală
-scroll_wrapped.title=Folosește derularea încadrată
-scroll_wrapped_label=Derulare încadrată
-
-spread_none.title=Nu uni paginile broșate
-spread_none_label=Fără pagini broșate
-spread_odd.title=Unește paginile broșate începând cu cele impare
-spread_odd_label=Broșare pagini impare
-spread_even.title=Unește paginile broșate începând cu cele pare
-spread_even_label=Broșare pagini pare
-
-# Document properties dialog box
-document_properties.title=Proprietățile documentului…
-document_properties_label=Proprietățile documentului…
-document_properties_file_name=Numele fișierului:
-document_properties_file_size=Mărimea fișierului:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byți)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byți)
-document_properties_title=Titlu:
-document_properties_author=Autor:
-document_properties_subject=Subiect:
-document_properties_keywords=Cuvinte cheie:
-document_properties_creation_date=Data creării:
-document_properties_modification_date=Data modificării:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Autor:
-document_properties_producer=Producător PDF:
-document_properties_version=Versiune PDF:
-document_properties_page_count=Număr de pagini:
-document_properties_page_size=Mărimea paginii:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portret
-document_properties_page_size_orientation_landscape=peisaj
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Literă
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vizualizare web rapidă:
-document_properties_linearized_yes=Da
-document_properties_linearized_no=Nu
-document_properties_close=Închide
-
-print_progress_message=Se pregătește documentul pentru tipărire…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Renunță
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Comută bara laterală
-toggle_sidebar_notification.title=Comută bara laterală (documentul conține schițe/atașamente)
-toggle_sidebar_label=Comută bara laterală
-document_outline.title=Afișează schița documentului (dublu-clic pentru a extinde/restrânge toate elementele)
-document_outline_label=Schița documentului
-attachments.title=Afișează atașamentele
-attachments_label=Atașamente
-thumbs.title=Afișează miniaturi
-thumbs_label=Miniaturi
-findbar.title=Găsește în document
-findbar_label=Caută
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pagina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pagina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatura paginii {{page}}
-
-# Find panel button title and messages
-find_input.title=Caută
-find_input.placeholder=Caută în document…
-find_previous.title=Găsește instanța anterioară în frază
-find_previous_label=Anterior
-find_next.title=Găsește instanța următoare în frază
-find_next_label=Următor
-find_highlight=Evidențiază toate aparițiile
-find_match_case_label=Corelează literele mari și mici
-find_entire_word_label=Cuvinte întregi
-find_reached_top=Am ajuns la începutul documentului, continuă de la sfârșit
-find_reached_bottom=Am ajuns la sfârșitul documentului, continuă de la început
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} din {{total}} rezultat
-find_match_count[two]={{current}} din {{total}} rezultate
-find_match_count[few]={{current}} din {{total}} rezultate
-find_match_count[many]={{current}} din {{total}} de rezultate
-find_match_count[other]={{current}} din {{total}} de rezultate
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Peste {{limit}} rezultate
-find_match_count_limit[one]=Peste {{limit}} rezultat
-find_match_count_limit[two]=Peste {{limit}} rezultate
-find_match_count_limit[few]=Peste {{limit}} rezultate
-find_match_count_limit[many]=Peste {{limit}} de rezultate
-find_match_count_limit[other]=Peste {{limit}} de rezultate
-find_not_found=Nu s-a găsit textul
-
-# Error panel labels
-error_more_info=Mai multe informații
-error_less_info=Mai puține informații
-error_close=Închide
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (versiunea compilată: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesaj: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stivă: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fișier: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rând: {{line}}
-rendering_error=A intervenit o eroare la randarea paginii.
-
-# Predefined zoom values
-page_scale_width=Lățimea paginii
-page_scale_fit=Potrivire la pagină
-page_scale_auto=Zoom automat
-page_scale_actual=Mărime reală
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Eroare
-loading_error=A intervenit o eroare la încărcarea PDF-ului.
-invalid_file_error=Fișier PDF nevalid sau corupt.
-missing_file_error=Fișier PDF lipsă.
-unexpected_response_error=Răspuns neașteptat de la server.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Adnotare {{type}}]
-password_label=Introdu parola pentru a deschide acest fișier PDF.
-password_invalid=Parolă nevalidă. Te rugăm să încerci din nou.
-password_ok=Ok
-password_cancel=Renunță
-
-printing_not_supported=Avertisment: Tipărirea nu este suportată în totalitate de acest browser.
-printing_not_ready=Avertisment: PDF-ul nu este încărcat complet pentru tipărire.
-web_fonts_disabled=Fonturile web sunt dezactivate: nu se pot folosi fonturile PDF încorporate.
-document_colors_not_allowed=Documentele PDF nu sunt autorizate să folosească propriile culori: „Permite paginilor să aleagă propriile culori” este dezactivat în browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/ru/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ru/viewer.properties
deleted file mode 100644
index bf417bc..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ru/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Предыдущая страница
-previous_label=Предыдущая
-next.title=Следующая страница
-next_label=Следующая
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Страница
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=из {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} из {{pagesCount}})
-
-zoom_out.title=Уменьшить
-zoom_out_label=Уменьшить
-zoom_in.title=Увеличить
-zoom_in_label=Увеличить
-zoom.title=Масштаб
-presentation_mode.title=Перейти в режим презентации
-presentation_mode_label=Режим презентации
-open_file.title=Открыть файл
-open_file_label=Открыть
-print.title=Печать
-print_label=Печать
-download.title=Загрузить
-download_label=Загрузить
-bookmark.title=Ссылка на текущий вид (скопировать или открыть в новом окне)
-bookmark_label=Текущий вид
-
-# Secondary toolbar and context menu
-tools.title=Инструменты
-tools_label=Инструменты
-first_page.title=Перейти на первую страницу
-first_page.label=Перейти на первую страницу
-first_page_label=Перейти на первую страницу
-last_page.title=Перейти на последнюю страницу
-last_page.label=Перейти на последнюю страницу
-last_page_label=Перейти на последнюю страницу
-page_rotate_cw.title=Повернуть по часовой стрелке
-page_rotate_cw.label=Повернуть по часовой стрелке
-page_rotate_cw_label=Повернуть по часовой стрелке
-page_rotate_ccw.title=Повернуть против часовой стрелки
-page_rotate_ccw.label=Повернуть против часовой стрелки
-page_rotate_ccw_label=Повернуть против часовой стрелки
-
-cursor_text_select_tool.title=Включить Инструмент «Выделение текста»
-cursor_text_select_tool_label=Инструмент «Выделение текста»
-cursor_hand_tool.title=Включить Инструмент «Рука»
-cursor_hand_tool_label=Инструмент «Рука»
-
-scroll_vertical.title=Использовать вертикальную прокрутку
-scroll_vertical_label=Вертикальная прокрутка
-scroll_horizontal.title=Использовать горизонтальную прокрутку
-scroll_horizontal_label=Горизонтальная прокрутка
-scroll_wrapped.title=Использовать масштабируемую прокрутку
-scroll_wrapped_label=Масштабируемая прокрутка
-
-spread_none.title=Не использовать режим разворотов страниц
-spread_none_label=Без разворотов страниц
-spread_odd.title=Развороты начинаются с нечётных номеров страниц
-spread_odd_label=Нечётные страницы слева
-spread_even.title=Развороты начинаются с чётных номеров страниц
-spread_even_label=Чётные страницы слева
-
-# Document properties dialog box
-document_properties.title=Свойства документа…
-document_properties_label=Свойства документа…
-document_properties_file_name=Имя файла:
-document_properties_file_size=Размер файла:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} байт)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} байт)
-document_properties_title=Заголовок:
-document_properties_author=Автор:
-document_properties_subject=Тема:
-document_properties_keywords=Ключевые слова:
-document_properties_creation_date=Дата создания:
-document_properties_modification_date=Дата изменения:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Приложение:
-document_properties_producer=Производитель PDF:
-document_properties_version=Версия PDF:
-document_properties_page_count=Число страниц:
-document_properties_page_size=Размер страницы:
-document_properties_page_size_unit_inches=дюймов
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=книжная
-document_properties_page_size_orientation_landscape=альбомная
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Быстрый просмотр в Web:
-document_properties_linearized_yes=Да
-document_properties_linearized_no=Нет
-document_properties_close=Закрыть
-
-print_progress_message=Подготовка документа к печати…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Отмена
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Показать/скрыть боковую панель
-toggle_sidebar_notification.title=Показать/скрыть боковую панель (документ имеет содержание/вложения)
-toggle_sidebar_label=Показать/скрыть боковую панель
-document_outline.title=Показать содержание документа (двойной щелчок, чтобы развернуть/свернуть все элементы)
-document_outline_label=Содержание документа
-attachments.title=Показать вложения
-attachments_label=Вложения
-thumbs.title=Показать миниатюры
-thumbs_label=Миниатюры
-findbar.title=Найти в документе
-findbar_label=Найти
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Страница {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Миниатюра страницы {{page}}
-
-# Find panel button title and messages
-find_input.title=Найти
-find_input.placeholder=Найти в документе…
-find_previous.title=Найти предыдущее вхождение фразы в текст
-find_previous_label=Назад
-find_next.title=Найти следующее вхождение фразы в текст
-find_next_label=Далее
-find_highlight=Подсветить все
-find_match_case_label=С учётом регистра
-find_entire_word_label=Слова целиком
-find_reached_top=Достигнут верх документа, продолжено снизу
-find_reached_bottom=Достигнут конец документа, продолжено сверху
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} из {{total}} совпадения
-find_match_count[two]={{current}} из {{total}} совпадений
-find_match_count[few]={{current}} из {{total}} совпадений
-find_match_count[many]={{current}} из {{total}} совпадений
-find_match_count[other]={{current}} из {{total}} совпадений
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Более {{limit}} совпадений
-find_match_count_limit[one]=Более {{limit}} совпадения
-find_match_count_limit[two]=Более {{limit}} совпадений
-find_match_count_limit[few]=Более {{limit}} совпадений
-find_match_count_limit[many]=Более {{limit}} совпадений
-find_match_count_limit[other]=Более {{limit}} совпадений
-find_not_found=Фраза не найдена
-
-# Error panel labels
-error_more_info=Детали
-error_less_info=Скрыть детали
-error_close=Закрыть
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (сборка: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Сообщение: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стeк: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Строка: {{line}}
-rendering_error=При создании страницы произошла ошибка.
-
-# Predefined zoom values
-page_scale_width=По ширине страницы
-page_scale_fit=По размеру страницы
-page_scale_auto=Автоматически
-page_scale_actual=Реальный размер
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Ошибка
-loading_error=При загрузке PDF произошла ошибка.
-invalid_file_error=Некорректный или повреждённый PDF-файл.
-missing_file_error=PDF-файл отсутствует.
-unexpected_response_error=Неожиданный ответ сервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Аннотация {{type}}]
-password_label=Введите пароль, чтобы открыть этот PDF-файл.
-password_invalid=Неверный пароль. Пожалуйста, попробуйте снова.
-password_ok=OK
-password_cancel=Отмена
-
-printing_not_supported=Предупреждение: В этом браузере не полностью поддерживается печать.
-printing_not_ready=Предупреждение: PDF не полностью загружен для печати.
-web_fonts_disabled=Веб-шрифты отключены: невозможно использовать встроенные PDF-шрифты.
-document_colors_not_allowed=PDF-документам не разрешено использовать свои цвета: в браузере отключён параметр «Разрешить веб-сайтам использовать свои цвета».
diff --git a/server/target/classes/static/pdfjs/web/locale/scn/viewer.properties b/server/target/classes/static/pdfjs/web/locale/scn/viewer.properties
deleted file mode 100644
index e9a650a..0000000
--- a/server/target/classes/static/pdfjs/web/locale/scn/viewer.properties
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Cchiù nicu
-zoom_out_label=Cchiù nicu
-zoom_in.title=Cchiù granni
-zoom_in_label=Cchiù granni
-
-# Secondary toolbar and context menu
-
-
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Vista web lesta:
-document_properties_linearized_yes=Se
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_close=Sfai
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-
-# Error panel labels
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-
-# Predefined zoom values
-page_scale_width=Larghizza dâ pàggina
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-# Loading indicator messages
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_cancel=Sfai
-
diff --git a/server/target/classes/static/pdfjs/web/locale/si/viewer.properties b/server/target/classes/static/pdfjs/web/locale/si/viewer.properties
deleted file mode 100644
index 9a1d1e8..0000000
--- a/server/target/classes/static/pdfjs/web/locale/si/viewer.properties
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=මීට පෙර පිටුව
-previous_label=පෙර
-next.title=මීළඟ පිටුව
-next_label=මීළඟ
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=පිටුව
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=කුඩා කරන්න
-zoom_out_label=කුඩා කරන්න
-zoom_in.title=විශාල කරන්න
-zoom_in_label=විශාල කරන්න
-zoom.title=විශාලණය
-presentation_mode.title=ඉදිරිපත්කිරීම් ප්‍රකාරය වෙත මාරුවන්න
-presentation_mode_label=ඉදිරිපත්කිරීම් ප්‍රකාරය
-open_file.title=ගොනුව විවෘත කරන්න
-open_file_label=විවෘත කරන්න
-print.title=මුද්‍රණය
-print_label=මුද්‍රණය
-download.title=බාගන්න
-download_label=බාගන්න
-bookmark.title=දැනට ඇති දසුන (පිටපත් කරන්න හෝ නව කවුළුවක විවෘත කරන්න)
-bookmark_label=දැනට ඇති දසුන
-
-# Secondary toolbar and context menu
-tools.title=මෙවලම්
-tools_label=මෙවලම්
-first_page.title=මුල් පිටුවට යන්න
-first_page.label=මුල් පිටුවට යන්න
-first_page_label=මුල් පිටුවට යන්න
-last_page.title=අවසන් පිටුවට යන්න
-last_page.label=අවසන් පිටුවට යන්න
-last_page_label=අවසන් පිටුවට යන්න
-page_rotate_cw.title=දක්ශිණාවර්තව භ්‍රමණය
-page_rotate_cw.label=දක්ශිණාවර්තව භ්‍රමණය
-page_rotate_cw_label=දක්ශිණාවර්තව භ්‍රමණය
-page_rotate_ccw.title=වාමාවර්තව භ්‍රමණය
-page_rotate_ccw.label=වාමාවර්තව භ්‍රමණය
-page_rotate_ccw_label=වාමාවර්තව භ්‍රමණය
-
-cursor_hand_tool_label=අත් මෙවලම
-
-
-
-# Document properties dialog box
-document_properties.title=ලේඛන වත්කම්...
-document_properties_label=ලේඛන වත්කම්...
-document_properties_file_name=ගොනු නම:
-document_properties_file_size=ගොනු ප්‍රමාණය:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} බයිට)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} බයිට)
-document_properties_title=සිරස්තලය:
-document_properties_author=කතෲ
-document_properties_subject=මාතෘකාව:
-document_properties_keywords=යතුරු වදන්:
-document_properties_creation_date=නිර්මිත දිනය:
-document_properties_modification_date=වෙනස්කල දිනය:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=නිර්මාපක:
-document_properties_producer=PDF නිශ්පාදක:
-document_properties_version=PDF නිකුතුව:
-document_properties_page_count=පිටු ගණන:
-document_properties_page_size=පිටුවේ විශාලත්වය:
-document_properties_page_size_unit_inches=අඟල්
-document_properties_page_size_unit_millimeters=මිමි
-document_properties_page_size_orientation_portrait=සිරස්
-document_properties_page_size_orientation_landscape=තිරස්
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}}×{{height}}{{unit}}{{name}}{{orientation}}
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=වේගවත් ජාල දසුන:
-document_properties_linearized_yes=ඔව්
-document_properties_linearized_no=නැහැ
-document_properties_close=වසන්න
-
-print_progress_message=ලේඛනය මුද්‍රණය සඳහා සූදානම් කරමින්…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=අවලංගු කරන්න
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=පැති තීරුවට මාරුවන්න
-toggle_sidebar_label=පැති තීරුවට මාරුවන්න
-document_outline_label=ලේඛනයේ පිට මායිම
-attachments.title=ඇමිණුම් පෙන්වන්න
-attachments_label=ඇමිණුම්
-thumbs.title=සිඟිති රූ පෙන්වන්න
-thumbs_label=සිඟිති රූ
-findbar.title=ලේඛනය තුළ සොයන්න
-findbar_label=සොයන්න
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=පිටුව {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=පිටුවෙ සිඟිත රූව {{page}}
-
-# Find panel button title and messages
-find_input.title=සොයන්න
-find_previous.title=මේ වාක්‍ය ඛණ්ඩය මීට පෙර යෙදුණු ස්ථානය සොයන්න
-find_previous_label=පෙර:
-find_next.title=මේ වාක්‍ය ඛණ්ඩය මීළඟට යෙදෙන ස්ථානය සොයන්න
-find_next_label=මීළඟ
-find_highlight=සියල්ල උද්දීපනය
-find_match_case_label=අකුරු ගළපන්න
-find_entire_word_label=සම්පූර්ණ වචන
-find_reached_top=පිටුවේ ඉහළ කෙළවරට ලගාවිය, පහළ සිට ඉදිරියට යමින්
-find_reached_bottom=පිටුවේ පහළ කෙළවරට ලගාවිය, ඉහළ සිට ඉදිරියට යමින්
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit[zero]=ගැලපුම් {{limit}} ට වඩා
-find_not_found=ඔබ සෙව් වචන හමු නොවීය
-
-# Error panel labels
-error_more_info=බොහෝ තොරතුරු
-error_less_info=අවම තොරතුරු
-error_close=වසන්න
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (නිකුතුව: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=පණිවිඩය: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ගොනුව: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=පේළිය: {{line}}
-rendering_error=පිටුව රෙන්ඩර් විමේදි ගැටලුවක් හට ගැනුණි.
-
-# Predefined zoom values
-page_scale_width=පිටුවේ පළල
-page_scale_fit=පිටුවට සුදුසු ලෙස
-page_scale_auto=ස්වයංක්‍රීය විශාලණය
-page_scale_actual=නියමිත ප්‍රමාණය
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=දෝෂය
-loading_error=PDF පූරණය විමේදි දෝෂයක් හට ගැනුණි.
-invalid_file_error=දූශිත හෝ සාවද්‍ය PDF ගොනුව.
-missing_file_error=නැතිවූ PDF ගොනුව.
-unexpected_response_error=බලාපොරොත්තු නොවූ සේවාදායක ප්‍රතිචාරය.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} විස්තරය]
-password_label=මෙම PDF ගොනුව විවෘත කිරීමට මුරපදය ඇතුළත් කරන්න.
-password_invalid=වැරදි මුරපදයක්. කරුණාකර නැවත උත්සහ කරන්න.
-password_ok=හරි
-password_cancel=එපා
-
-printing_not_supported=අවවාදයයි: මෙම ගවේශකය මුද්‍රණය සඳහා සම්පූර්ණයෙන් සහය නොදක්වයි.
-printing_not_ready=අවවාදයයි: මුද්‍රණය සඳහා PDF සම්පූර්ණයෙන් පූර්ණය වී නොමැත.
-web_fonts_disabled=ජාල අකුරු අක්‍රීයයි: තිළැලි PDF අකුරු භාවිත කළ නොහැක.
diff --git a/server/target/classes/static/pdfjs/web/locale/sk/viewer.properties b/server/target/classes/static/pdfjs/web/locale/sk/viewer.properties
deleted file mode 100644
index a08911b..0000000
--- a/server/target/classes/static/pdfjs/web/locale/sk/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Predchádzajúca strana
-previous_label=Predchádzajúca
-next.title=Nasledujúca strana
-next_label=Nasledujúca
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Strana
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=z {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} z {{pagesCount}})
-
-zoom_out.title=Zmenšiť veľkosť
-zoom_out_label=Zmenšiť veľkosť
-zoom_in.title=Zväčšiť veľkosť
-zoom_in_label=Zväčšiť veľkosť
-zoom.title=Nastavenie veľkosti
-presentation_mode.title=Prepnúť na režim prezentácie
-presentation_mode_label=Režim prezentácie
-open_file.title=Otvoriť súbor
-open_file_label=Otvoriť
-print.title=Tlačiť
-print_label=Tlačiť
-download.title=Prevziať
-download_label=Prevziať
-bookmark.title=Aktuálne zobrazenie (kopírovať alebo otvoriť v novom okne)
-bookmark_label=Aktuálne zobrazenie
-
-# Secondary toolbar and context menu
-tools.title=Nástroje
-tools_label=Nástroje
-first_page.title=Prejsť na prvú stranu
-first_page.label=Prejsť na prvú stranu
-first_page_label=Prejsť na prvú stranu
-last_page.title=Prejsť na poslednú stranu
-last_page.label=Prejsť na poslednú stranu
-last_page_label=Prejsť na poslednú stranu
-page_rotate_cw.title=Otočiť v smere hodinových ručičiek
-page_rotate_cw.label=Otočiť v smere hodinových ručičiek
-page_rotate_cw_label=Otočiť v smere hodinových ručičiek
-page_rotate_ccw.title=Otočiť proti smeru hodinových ručičiek
-page_rotate_ccw.label=Otočiť proti smeru hodinových ručičiek
-page_rotate_ccw_label=Otočiť proti smeru hodinových ručičiek
-
-cursor_text_select_tool.title=Povoliť výber textu
-cursor_text_select_tool_label=Výber textu
-cursor_hand_tool.title=Povoliť nástroj ruka
-cursor_hand_tool_label=Nástroj ruka
-
-scroll_vertical.title=Používať zvislé posúvanie
-scroll_vertical_label=Zvislé posúvanie
-scroll_horizontal.title=Používať vodorovné posúvanie
-scroll_horizontal_label=Vodorovné posúvanie
-scroll_wrapped.title=Použiť postupné posúvanie
-scroll_wrapped_label=Postupné posúvanie
-
-spread_none.title=Nezdružovať stránky
-spread_none_label=Žiadne združovanie
-spread_odd.title=Združí stránky a umiestni nepárne stránky vľavo
-spread_odd_label=Združiť stránky (nepárne vľavo)
-spread_even.title=Združí stránky a umiestni párne stránky vľavo
-spread_even_label=Združiť stránky (párne vľavo)
-
-# Document properties dialog box
-document_properties.title=Vlastnosti dokumentu…
-document_properties_label=Vlastnosti dokumentu…
-document_properties_file_name=Názov súboru:
-document_properties_file_size=Veľkosť súboru:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} bajtov)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtov)
-document_properties_title=Názov:
-document_properties_author=Autor:
-document_properties_subject=Predmet:
-document_properties_keywords=Kľúčové slová:
-document_properties_creation_date=Dátum vytvorenia:
-document_properties_modification_date=Dátum úpravy:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Vytvoril:
-document_properties_producer=Tvorca PDF:
-document_properties_version=Verzia PDF:
-document_properties_page_count=Počet strán:
-document_properties_page_size=Veľkosť stránky:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=na výšku
-document_properties_page_size_orientation_landscape=na šírku
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=List
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Rýchle Web View:
-document_properties_linearized_yes=Áno
-document_properties_linearized_no=Nie
-document_properties_close=Zavrieť
-
-print_progress_message=Príprava dokumentu na tlač…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Zrušiť
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Prepnúť bočný panel
-toggle_sidebar_notification.title=Prepnúť bočný panel (dokument obsahuje osnovu/prílohy)
-toggle_sidebar_label=Prepnúť bočný panel
-document_outline.title=Zobraziť osnovu dokumentu (dvojitým kliknutím rozbalíte/zbalíte všetky položky)
-document_outline_label=Osnova dokumentu
-attachments.title=Zobraziť prílohy
-attachments_label=Prílohy
-thumbs.title=Zobraziť miniatúry
-thumbs_label=Miniatúry
-findbar.title=Hľadať v dokumente
-findbar_label=Hľadať
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Strana {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Strana {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatúra strany {{page}}
-
-# Find panel button title and messages
-find_input.title=Hľadať
-find_input.placeholder=Hľadať v dokumente…
-find_previous.title=Vyhľadať predchádzajúci výskyt reťazca
-find_previous_label=Predchádzajúce
-find_next.title=Vyhľadať ďalší výskyt reťazca
-find_next_label=Ďalšie
-find_highlight=Zvýrazniť všetky
-find_match_case_label=Rozlišovať veľkosť písmen
-find_entire_word_label=Celé slová
-find_reached_top=Bol dosiahnutý začiatok stránky, pokračuje sa od konca
-find_reached_bottom=Bol dosiahnutý koniec stránky, pokračuje sa od začiatku
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}}. z {{total}} výsledku
-find_match_count[two]={{current}}. z {{total}} výsledkov
-find_match_count[few]={{current}}. z {{total}} výsledkov
-find_match_count[many]={{current}}. z {{total}} výsledkov
-find_match_count[other]={{current}}. z {{total}} výsledkov
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Viac než {{limit}} výsledkov
-find_match_count_limit[one]=Viac než {{limit}} výsledok
-find_match_count_limit[two]=Viac než {{limit}} výsledky
-find_match_count_limit[few]=Viac než {{limit}} výsledky
-find_match_count_limit[many]=Viac než {{limit}} výsledkov
-find_match_count_limit[other]=Viac než {{limit}} výsledkov
-find_not_found=Výraz nebol nájdený
-
-# Error panel labels
-error_more_info=Viac informácií
-error_less_info=Menej informácií
-error_close=Zavrieť
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (zostavenie: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Správa: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Zásobník: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Súbor: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Riadok: {{line}}
-rendering_error=Pri vykresľovaní stránky sa vyskytla chyba.
-
-# Predefined zoom values
-page_scale_width=Na šírku strany
-page_scale_fit=Na veľkosť strany
-page_scale_auto=Automatická veľkosť
-page_scale_actual=Skutočná veľkosť
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Chyba
-loading_error=Počas načítavania dokumentu PDF sa vyskytla chyba.
-invalid_file_error=Neplatný alebo poškodený súbor PDF.
-missing_file_error=Chýbajúci súbor PDF.
-unexpected_response_error=Neočakávaná odpoveď zo servera.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Anotácia typu {{type}}]
-password_label=Ak chcete otvoriť tento súbor PDF, zadajte jeho heslo.
-password_invalid=Heslo nie je platné. Skúste to znova.
-password_ok=OK
-password_cancel=Zrušiť
-
-printing_not_supported=Upozornenie: tlač nie je v tomto prehliadači plne podporovaná.
-printing_not_ready=Upozornenie: súbor PDF nie je plne načítaný pre tlač.
-web_fonts_disabled=Webové písma sú vypnuté: nie je možné použiť písma vložené do súboru PDF.
-document_colors_not_allowed=Dokumenty PDF nemajú povolené používať vlastné farby, pretože voľba "Povoliť stránkam používať vlastné farby" je v nastaveniach prehliadača vypnutá.
diff --git a/server/target/classes/static/pdfjs/web/locale/sl/viewer.properties b/server/target/classes/static/pdfjs/web/locale/sl/viewer.properties
deleted file mode 100644
index 86db2d9..0000000
--- a/server/target/classes/static/pdfjs/web/locale/sl/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Prejšnja stran
-previous_label=Nazaj
-next.title=Naslednja stran
-next_label=Naprej
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Stran
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=od {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} od {{pagesCount}})
-
-zoom_out.title=Pomanjšaj
-zoom_out_label=Pomanjšaj
-zoom_in.title=Povečaj
-zoom_in_label=Povečaj
-zoom.title=Povečava
-presentation_mode.title=Preklopi v način predstavitve
-presentation_mode_label=Način predstavitve
-open_file.title=Odpri datoteko
-open_file_label=Odpri
-print.title=Natisni
-print_label=Natisni
-download.title=Prenesi
-download_label=Prenesi
-bookmark.title=Trenutni pogled (kopiraj ali odpri v novem oknu)
-bookmark_label=Trenutni pogled
-
-# Secondary toolbar and context menu
-tools.title=Orodja
-tools_label=Orodja
-first_page.title=Pojdi na prvo stran
-first_page.label=Pojdi na prvo stran
-first_page_label=Pojdi na prvo stran
-last_page.title=Pojdi na zadnjo stran
-last_page.label=Pojdi na zadnjo stran
-last_page_label=Pojdi na zadnjo stran
-page_rotate_cw.title=Zavrti v smeri urnega kazalca
-page_rotate_cw.label=Zavrti v smeri urnega kazalca
-page_rotate_cw_label=Zavrti v smeri urnega kazalca
-page_rotate_ccw.title=Zavrti v nasprotni smeri urnega kazalca
-page_rotate_ccw.label=Zavrti v nasprotni smeri urnega kazalca
-page_rotate_ccw_label=Zavrti v nasprotni smeri urnega kazalca
-
-cursor_text_select_tool.title=Omogoči orodje za izbor besedila
-cursor_text_select_tool_label=Orodje za izbor besedila
-cursor_hand_tool.title=Omogoči roko
-cursor_hand_tool_label=Roka
-
-scroll_vertical.title=Uporabi navpično drsenje
-scroll_vertical_label=Navpično drsenje
-scroll_horizontal.title=Uporabi vodoravno drsenje
-scroll_horizontal_label=Vodoravno drsenje
-scroll_wrapped.title=Uporabi ovito drsenje
-scroll_wrapped_label=Ovito drsenje
-
-spread_none.title=Ne združuj razponov strani
-spread_none_label=Brez razponov
-spread_odd.title=Združuj razpone strani z začetkom pri lihih straneh
-spread_odd_label=Lihi razponi
-spread_even.title=Združuj razpone strani z začetkom pri sodih straneh
-spread_even_label=Sodi razponi
-
-# Document properties dialog box
-document_properties.title=Lastnosti dokumenta …
-document_properties_label=Lastnosti dokumenta …
-document_properties_file_name=Ime datoteke:
-document_properties_file_size=Velikost datoteke:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajtov)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajtov)
-document_properties_title=Ime:
-document_properties_author=Avtor:
-document_properties_subject=Tema:
-document_properties_keywords=Ključne besede:
-document_properties_creation_date=Datum nastanka:
-document_properties_modification_date=Datum spremembe:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Ustvaril:
-document_properties_producer=Izdelovalec PDF:
-document_properties_version=Različica PDF:
-document_properties_page_count=Število strani:
-document_properties_page_size=Velikost strani:
-document_properties_page_size_unit_inches=palcev
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=pokončno
-document_properties_page_size_orientation_landscape=ležeče
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Pismo
-document_properties_page_size_name_legal=Pravno
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hitri spletni ogled:
-document_properties_linearized_yes=Da
-document_properties_linearized_no=Ne
-document_properties_close=Zapri
-
-print_progress_message=Priprava dokumenta na tiskanje …
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}} %
-print_progress_close=Prekliči
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Preklopi stransko vrstico
-toggle_sidebar_notification.title=Preklopi stransko vrstico (dokument vsebuje oris/priponke)
-toggle_sidebar_label=Preklopi stransko vrstico
-document_outline.title=Prikaži oris dokumenta (dvokliknite za razširitev/strnitev vseh predmetov)
-document_outline_label=Oris dokumenta
-attachments.title=Prikaži priponke
-attachments_label=Priponke
-thumbs.title=Prikaži sličice
-thumbs_label=Sličice
-findbar.title=Iskanje po dokumentu
-findbar_label=Najdi
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Stran {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Stran {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Sličica strani {{page}}
-
-# Find panel button title and messages
-find_input.title=Najdi
-find_input.placeholder=Najdi v dokumentu …
-find_previous.title=Najdi prejšnjo ponovitev iskanega
-find_previous_label=Najdi nazaj
-find_next.title=Najdi naslednjo ponovitev iskanega
-find_next_label=Najdi naprej
-find_highlight=Označi vse
-find_match_case_label=Razlikuj velike/male črke
-find_entire_word_label=Cele besede
-find_reached_top=Dosežen začetek dokumenta iz smeri konca
-find_reached_bottom=Doseženo konec dokumenta iz smeri začetka
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=Zadetek {{current}} od {{total}}
-find_match_count[two]=Zadetek {{current}} od {{total}}
-find_match_count[few]=Zadetek {{current}} od {{total}}
-find_match_count[many]=Zadetek {{current}} od {{total}}
-find_match_count[other]=Zadetek {{current}} od {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Več kot {{limit}} zadetkov
-find_match_count_limit[one]=Več kot {{limit}} zadetek
-find_match_count_limit[two]=Več kot {{limit}} zadetka
-find_match_count_limit[few]=Več kot {{limit}} zadetki
-find_match_count_limit[many]=Več kot {{limit}} zadetkov
-find_match_count_limit[other]=Več kot {{limit}} zadetkov
-find_not_found=Iskanega ni mogoče najti
-
-# Error panel labels
-error_more_info=Več informacij
-error_less_info=Manj informacij
-error_close=Zapri
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js r{{version}} (graditev: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Sporočilo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Sklad: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Datoteka: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Vrstica: {{line}}
-rendering_error=Med pripravljanjem strani je prišlo do napake!
-
-# Predefined zoom values
-page_scale_width=Širina strani
-page_scale_fit=Prilagodi stran
-page_scale_auto=Samodejno
-page_scale_actual=Dejanska velikost
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}} %
-
-# Loading indicator messages
-loading_error_indicator=Napaka
-loading_error=Med nalaganjem datoteke PDF je prišlo do napake.
-invalid_file_error=Neveljavna ali pokvarjena datoteka PDF.
-missing_file_error=Ni datoteke PDF.
-unexpected_response_error=Nepričakovan odgovor strežnika.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Opomba vrste {{type}}]
-password_label=Vnesite geslo za odpiranje te datoteke PDF.
-password_invalid=Neveljavno geslo. Poskusite znova.
-password_ok=V redu
-password_cancel=Prekliči
-
-printing_not_supported=Opozorilo: ta brskalnik ne podpira vseh možnosti tiskanja.
-printing_not_ready=Opozorilo: PDF ni v celoti naložen za tiskanje.
-web_fonts_disabled=Spletne pisave so onemogočene: vgradnih pisav za PDF ni mogoče uporabiti.
-document_colors_not_allowed=Dokumenti PDF ne smejo uporabljati svojih lastnih barv: možnost 'Dovoli stranem uporabo lastnih barv' je v brskalniku onemogočena.
diff --git a/server/target/classes/static/pdfjs/web/locale/son/viewer.properties b/server/target/classes/static/pdfjs/web/locale/son/viewer.properties
deleted file mode 100644
index f5c1b46..0000000
--- a/server/target/classes/static/pdfjs/web/locale/son/viewer.properties
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Moo bisante
-previous_label=Bisante
-next.title=Jinehere moo
-next_label=Jine
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Moo
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} ra
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ka hun {{pagesCount}}) ra
-
-zoom_out.title=Nakasandi
-zoom_out_label=Nakasandi
-zoom_in.title=Bebbeerandi
-zoom_in_label=Bebbeerandi
-zoom.title=Bebbeerandi
-presentation_mode.title=Bere cebeyan alhaali
-presentation_mode_label=Cebeyan alhaali
-open_file.title=Tuku feeri
-open_file_label=Feeri
-print.title=Kar
-print_label=Kar
-download.title=Zumandi
-download_label=Zumandi
-bookmark.title=Sohõ gunarro (bere wala feeri zanfun taaga ra)
-bookmark_label=Sohõ gunaroo
-
-# Secondary toolbar and context menu
-tools.title=Goyjinawey
-tools_label=Goyjinawey
-first_page.title=Koy moo jinaa ga
-first_page.label=Koy moo jinaa ga
-first_page_label=Koy moo jinaa ga
-last_page.title=Koy moo koraa ga
-last_page.label=Koy moo koraa ga
-last_page_label=Koy moo koraa ga
-page_rotate_cw.title=Kuubi kanbe guma here
-page_rotate_cw.label=Kuubi kanbe guma here
-page_rotate_cw_label=Kuubi kanbe guma here
-page_rotate_ccw.title=Kuubi kanbe wowa here
-page_rotate_ccw.label=Kuubi kanbe wowa here
-page_rotate_ccw_label=Kuubi kanbe wowa here
-
-
-# Document properties dialog box
-document_properties.title=Takadda mayrawey…
-document_properties_label=Takadda mayrawey…
-document_properties_file_name=Tuku maa:
-document_properties_file_size=Tuku adadu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb=KB {{size_kb}} (cebsu-ize {{size_b}})
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb=MB {{size_mb}} (cebsu-ize {{size_b}})
-document_properties_title=Tiiramaa:
-document_properties_author=Hantumkaw:
-document_properties_subject=Dalil:
-document_properties_keywords=Kufalkalimawey:
-document_properties_creation_date=Teeyan han:
-document_properties_modification_date=Barmayan han:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Teekaw:
-document_properties_producer=PDF berandikaw:
-document_properties_version=PDF dumi:
-document_properties_page_count=Moo hinna:
-document_properties_close=Daabu
-
-print_progress_message=Goo ma takaddaa soolu k'a kar se…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Naŋ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Kanjari ceraw zuu
-toggle_sidebar_notification.title=Kanjari ceraw-zuu (takaddaa goo nda filla-boŋ/hangandiyaŋ)
-toggle_sidebar_label=Kanjari ceraw zuu
-document_outline.title=Takaddaa korfur alhaaloo cebe (naagu cee hinka ka haya-izey kul hayandi/kankamandi)
-document_outline_label=Takadda filla-boŋ
-attachments.title=Hangarey cebe
-attachments_label=Hangarey
-thumbs.title=Kabeboy biyey cebe
-thumbs_label=Kabeboy biyey
-findbar.title=Ceeci takaddaa ra
-findbar_label=Ceeci
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} moo
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Kabeboy bii {{page}} moo še
-
-# Find panel button title and messages
-find_input.title=Ceeci
-find_input.placeholder=Ceeci takaddaa ra…
-find_previous.title=Kalimaɲaŋoo bangayri bisantaa ceeci
-find_previous_label=Bisante
-find_next.title=Kalimaɲaŋoo hiino bangayroo ceeci
-find_next_label=Jine
-find_highlight=Ikul šilbay
-find_match_case_label=Harfu-beeriyan hawgay
-find_reached_top=A too moŋoo boŋoo, koy jine ka šinitin nda cewoo
-find_reached_bottom=A too moɲoo cewoo, koy jine šintioo ga
-find_not_found=Kalimaɲaa mana duwandi
-
-# Error panel labels
-error_more_info=Alhabar tontoni
-error_less_info=Alhabar tontoni
-error_close=Daabu
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Alhabar: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Dekeri: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Tuku: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Žeeri: {{line}}
-rendering_error=Firka bangay kaŋ moɲoo goo ma willandi.
-
-# Predefined zoom values
-page_scale_width=Mooo hayyan
-page_scale_fit=Moo sawayan
-page_scale_auto=Boŋše azzaati barmayyan
-page_scale_actual=Adadu cimi
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Firka
-loading_error=Firka bangay kaŋ PDF goo ma zumandi.
-invalid_file_error=PDF tuku laala wala laybante.
-missing_file_error=PDF tuku kumante.
-unexpected_response_error=Manti feršikaw tuuruyan maatante.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt={{type}} maasa-caw]
-password_label=Šennikufal dam ka PDF tukoo woo feeri.
-password_invalid=Šennikufal laalo. Ceeci koyne taare.
-password_ok=Ayyo
-password_cancel=Naŋ
-
-printing_not_supported=Yaamar: Karyan ši tee ka timme nda ceecikaa woo.
-printing_not_ready=Yaamar: PDF ši zunbu ka timme karyan še.
-web_fonts_disabled=Interneti šigirawey kay: ši hin ka goy nda PDF šigira hurantey.
-document_colors_not_allowed=PDF takaddawey ši duu fondo ka ngey boŋ noonawey zaa: “Naŋ moɲey ma ngey boŋ noonawey suuba” ši dira ceecikaa ga.
diff --git a/server/target/classes/static/pdfjs/web/locale/sq/viewer.properties b/server/target/classes/static/pdfjs/web/locale/sq/viewer.properties
deleted file mode 100644
index d786ae0..0000000
--- a/server/target/classes/static/pdfjs/web/locale/sq/viewer.properties
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Faqja e Mëparshme
-previous_label=E mëparshmja
-next.title=Faqja Pasuese
-next_label=Pasuesja
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Faqe
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=nga {{pagesCount}} gjithsej
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} nga {{pagesCount}})
-
-zoom_out.title=Zvogëlojeni
-zoom_out_label=Zvogëlojeni
-zoom_in.title=Zmadhojeni
-zoom_in_label=Zmadhojini
-zoom.title=Zoom
-presentation_mode.title=Kalo te Mënyra Paraqitje
-presentation_mode_label=Mënyra Paraqitje
-open_file.title=Hapni Kartelë
-open_file_label=Hape
-print.title=Shtypje
-print_label=Shtype
-download.title=Shkarkim
-download_label=Shkarkoje
-bookmark.title=Pamja e tanishme (kopjojeni ose hapeni në dritare të re)
-bookmark_label=Pamja e Tanishme
-
-# Secondary toolbar and context menu
-tools.title=Mjete
-tools_label=Mjete
-first_page.title=Kaloni te Faqja e Parë
-first_page.label=Kaloni te Faqja e Parë
-first_page_label=Kaloni te Faqja e Parë
-last_page.title=Kaloni te Faqja e Fundit
-last_page.label=Kaloni te Faqja e Fundit
-last_page_label=Kaloni te Faqja e Fundit
-page_rotate_cw.title=Rrotullojeni Në Kahun Orar
-page_rotate_cw.label=Rrotulloje Në Kahun Orar
-page_rotate_cw_label=Rrotulloje Në Kahun Orar
-page_rotate_ccw.title=Rrotullojeni Në Kahun Kundërorar
-page_rotate_ccw.label=Rrotulloje Në Kahun Kundërorar
-page_rotate_ccw_label=Rrotulloje Në Kahun Kundërorar
-
-cursor_text_select_tool.title=Aktivizo Mjet Përzgjedhjeje Teksti
-cursor_text_select_tool_label=Mjet Përzgjedhjeje Teksti
-cursor_hand_tool.title=Aktivizo Mjetin Dorë
-cursor_hand_tool_label=Mjeti Dorë
-
-scroll_vertical.title=Përdor Rrëshqitje Vertikale
-scroll_vertical_label=Rrëshqitje Vertikale
-scroll_horizontal.title=Përdor Rrëshqitje Horizontale
-scroll_horizontal_label=Rrëshqitje Horizontale
-scroll_wrapped.title=Përdor Rrëshqitje Me Mbështjellje
-scroll_wrapped_label=Rrëshqitje Me Mbështjellje
-
-
-# Document properties dialog box
-document_properties.title=Veti Dokumenti…
-document_properties_label=Veti Dokumenti…
-document_properties_file_name=Emër kartele:
-document_properties_file_size=Madhësi kartele:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bajte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bajte)
-document_properties_title=Titull:
-document_properties_author=Autor:
-document_properties_subject=Subjekt:
-document_properties_keywords=Fjalëkyçe:
-document_properties_creation_date=Datë Krijimi:
-document_properties_modification_date=Datë Ndryshimi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Krijues:
-document_properties_producer=Prodhues PDF-je:
-document_properties_version=Version PDF-je:
-document_properties_page_count=Numër Faqesh:
-document_properties_page_size=Madhësi Faqeje:
-document_properties_page_size_unit_inches=inç
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portret
-document_properties_page_size_orientation_landscape=së gjeri
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=Po
-document_properties_linearized_no=Jo
-document_properties_close=Mbylleni
-
-print_progress_message=Po përgatitet dokumenti për shtypje…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Anuloje
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Shfaqni/Fshihni Anështyllën
-toggle_sidebar_notification.title=Shfaqni Anështyllën (dokumenti përmban përvijim/bashkëngjitje)
-toggle_sidebar_label=Shfaq/Fshih Anështyllën
-document_outline.title=Shfaqni Përvijim Dokumenti (dyklikoni që të shfaqen/fshihen krejt elementët)
-document_outline_label=Përvijim Dokumenti
-attachments.title=Shfaqni Bashkëngjitje
-attachments_label=Bashkëngjitje
-thumbs.title=Shfaqni Miniatura
-thumbs_label=Miniatura
-findbar.title=Gjeni në Dokument
-findbar_label=Gjej
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Faqja {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniaturë e Faqes {{page}}
-
-# Find panel button title and messages
-find_input.title=Gjej
-find_input.placeholder=Gjeni në dokument…
-find_previous.title=Gjeni hasjen e mëparshme të togfjalëshit
-find_previous_label=E mëparshmja
-find_next.title=Gjeni hasjen pasuese të togfjalëshit
-find_next_label=Pasuesja
-find_highlight=Theksoji të tëra
-find_match_case_label=Siç është shkruar
-find_entire_word_label=Krejt fjalët
-find_reached_top=U mbërrit në krye të dokumentit, vazhduar prej fundit
-find_reached_bottom=U mbërrit në fund të dokumentit, vazhduar prej kreut
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[two]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[few]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[many]={{current}} nga {{total}} përputhje gjithsej
-find_match_count[other]={{current}} nga {{total}} përputhje gjithsej
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Më shumë se {{limit}} përputhje
-find_match_count_limit[one]=Më shumë se {{limit}} përputhje
-find_match_count_limit[two]=Më shumë se {{limit}} përputhje
-find_match_count_limit[few]=Më shumë se {{limit}} përputhje
-find_match_count_limit[many]=Më shumë se {{limit}} përputhje
-find_match_count_limit[other]=Më shumë se {{limit}} përputhje
-find_not_found=Togfjalësh që s’gjendet
-
-# Error panel labels
-error_more_info=Më Tepër të Dhëna
-error_less_info=Më Pak të Dhëna
-error_close=Mbylleni
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mesazh: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Kartelë: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rresht: {{line}}
-rendering_error=Ndodhi një gabim gjatë riprodhimit të faqes.
-
-# Predefined zoom values
-page_scale_width=Gjerësi Faqeje
-page_scale_fit=Sa Nxë Faqja
-page_scale_auto=Zoom i Vetvetishëm
-page_scale_actual=Madhësia Faktike
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Gabim
-loading_error=Ndodhi një gabim gjatë ngarkimit të PDF-së.
-invalid_file_error=Kartelë PDF e pavlefshme ose e dëmtuar.
-missing_file_error=Kartelë PDF që mungon.
-unexpected_response_error=Përgjigje shërbyesi e papritur.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Nënvizim {{type}}]
-password_label=Jepni fjalëkalimin që të hapet kjo kartelë PDF.
-password_invalid=Fjalëkalim i pavlefshëm. Ju lutemi, riprovoni.
-password_ok=OK
-password_cancel=Anuloje
-
-printing_not_supported=Kujdes: Shtypja s’mbulohet plotësisht nga ky shfletues.
-printing_not_ready=Kujdes: PDF-ja s’është ngarkuar plotësisht që ta shtypni.
-web_fonts_disabled=Shkronjat Web janë të çaktivizuara: s’arrihet të përdoren shkronja të trupëzuara në PDF.
-document_colors_not_allowed=Dokumenteve PDF s’u lejohet të përdorin ngjyrat e tyre: 'Lejoji faqet t’i zgjedhin vetë ngjyrat' është e çaktivizuar te shfletuesi.
diff --git a/server/target/classes/static/pdfjs/web/locale/sr/viewer.properties b/server/target/classes/static/pdfjs/web/locale/sr/viewer.properties
deleted file mode 100644
index 72f4cd9..0000000
--- a/server/target/classes/static/pdfjs/web/locale/sr/viewer.properties
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Претходна страница
-previous_label=Претходна
-next.title=Следећа страница
-next_label=Следећа
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Страница
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=од {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} од {{pagesCount}})
-
-zoom_out.title=Умањи
-zoom_out_label=Умањи
-zoom_in.title=Увеличај
-zoom_in_label=Увеличај
-zoom.title=Увеличавање
-presentation_mode.title=Промени на приказ у режиму презентације
-presentation_mode_label=Режим презентације
-open_file.title=Отвори датотеку
-open_file_label=Отвори
-print.title=Штампај
-print_label=Штампај
-download.title=Преузми
-download_label=Преузми
-bookmark.title=Тренутни приказ (копирај или отвори нови прозор)
-bookmark_label=Тренутни приказ
-
-# Secondary toolbar and context menu
-tools.title=Алатке
-tools_label=Алатке
-first_page.title=Иди на прву страницу
-first_page.label=Иди на прву страницу
-first_page_label=Иди на прву страницу
-last_page.title=Иди на последњу страницу
-last_page.label=Иди на последњу страницу
-last_page_label=Иди на последњу страницу
-page_rotate_cw.title=Ротирај у смеру казаљке на сату
-page_rotate_cw.label=Ротирај у смеру казаљке на сату
-page_rotate_cw_label=Ротирај у смеру казаљке на сату
-page_rotate_ccw.title=Ротирај у смеру супротном од казаљке на сату
-page_rotate_ccw.label=Ротирај у смеру супротном од казаљке на сату
-page_rotate_ccw_label=Ротирај у смеру супротном од казаљке на сату
-
-cursor_text_select_tool.title=Омогући алат за селектовање текста
-cursor_text_select_tool_label=Алат за селектовање текста
-cursor_hand_tool.title=Омогући алат за померање
-cursor_hand_tool_label=Алат за померање
-
-scroll_vertical.title=Користи вертикално скроловање
-scroll_vertical_label=Вертикално скроловање
-scroll_horizontal.title=Користи хоризонтално скроловање
-scroll_horizontal_label=Хоризонтално скроловање
-scroll_wrapped.title=Користи скроловање по омоту
-scroll_wrapped_label=Скроловање по омоту
-
-spread_none.title=Немој спајати ширења страница
-spread_none_label=Без распростирања
-spread_odd.title=Споји ширења страница које почињу непарним бројем
-spread_odd_label=Непарна распростирања
-spread_even.title=Споји ширења страница које почињу парним бројем
-spread_even_label=Парна распростирања
-
-# Document properties dialog box
-document_properties.title=Параметри документа…
-document_properties_label=Параметри документа…
-document_properties_file_name=Име датотеке:
-document_properties_file_size=Величина датотеке:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} B)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} B)
-document_properties_title=Наслов:
-document_properties_author=Аутор:
-document_properties_subject=Тема:
-document_properties_keywords=Кључне речи:
-document_properties_creation_date=Датум креирања:
-document_properties_modification_date=Датум модификације:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Стваралац:
-document_properties_producer=PDF произвођач:
-document_properties_version=PDF верзија:
-document_properties_page_count=Број страница:
-document_properties_page_size=Величина странице:
-document_properties_page_size_unit_inches=ин
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=усправно
-document_properties_page_size_orientation_landscape=водоравно
-document_properties_page_size_name_a3=А3
-document_properties_page_size_name_a4=А4
-document_properties_page_size_name_letter=Слово
-document_properties_page_size_name_legal=Права
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Брз веб приказ:
-document_properties_linearized_yes=Да
-document_properties_linearized_no=Не
-document_properties_close=Затвори
-
-print_progress_message=Припремам документ за штампање…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Откажи
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Прикажи додатну палету
-toggle_sidebar_notification.title=Прикажи додатну траку (докуменат садржи оквире/прилоге)
-toggle_sidebar_label=Прикажи додатну палету
-document_outline.title=Прикажи контуру документа (дупли клик за проширење/скупљање елемената)
-document_outline_label=Контура документа
-attachments.title=Прикажи прилоге
-attachments_label=Прилози
-thumbs.title=Прикажи сличице
-thumbs_label=Сличице
-findbar.title=Пронађи у документу
-findbar_label=Пронађи
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Страница {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Сличица од странице {{page}}
-
-# Find panel button title and messages
-find_input.title=Пронађи
-find_input.placeholder=Пронађи у документу…
-find_previous.title=Пронађи претходну појаву фразе
-find_previous_label=Претходна
-find_next.title=Пронађи следећу појаву фразе
-find_next_label=Следећа
-find_highlight=Истакнути све
-find_match_case_label=Подударања
-find_entire_word_label=Целе речи
-find_reached_top=Достигнут врх документа, наставио са дна
-find_reached_bottom=Достигнуто дно документа, наставио са врха
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=Фраза није пронађена
-
-# Error panel labels
-error_more_info=Више информација
-error_less_info=Мање информација
-error_close=Затвори
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Порука: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Датотека: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Линија: {{line}}
-rendering_error=Дошло је до грешке приликом рендеровања ове странице.
-
-# Predefined zoom values
-page_scale_width=Ширина странице
-page_scale_fit=Прилагоди страницу
-page_scale_auto=Аутоматско увеличавање
-page_scale_actual=Стварна величина
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Грешка
-loading_error=Дошло је до грешке приликом учитавања PDF-а.
-invalid_file_error=PDF датотека је оштећена или је неисправна.
-missing_file_error=PDF датотека није пронађена.
-unexpected_response_error=Неочекиван одговор од сервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} коментар]
-password_label=Унесите лозинку да бисте отворили овај PDF докуменат.
-password_invalid=Неисправна лозинка. Покушајте поново.
-password_ok=У реду
-password_cancel=Откажи
-
-printing_not_supported=Упозорење: Штампање није у потпуности подржано у овом прегледачу.
-printing_not_ready=Упозорење: PDF није у потпуности учитан за штампу.
-web_fonts_disabled=Веб фонтови су онемогућени: не могу користити уграђене PDF фонтове.
-document_colors_not_allowed=PDF документи не могу да користе сопствене боје: “Дозволи страницама да изаберу своје боје” је деактивирано у прегледачу.
diff --git a/server/target/classes/static/pdfjs/web/locale/sv-SE/viewer.properties b/server/target/classes/static/pdfjs/web/locale/sv-SE/viewer.properties
deleted file mode 100644
index 3d2f0cf..0000000
--- a/server/target/classes/static/pdfjs/web/locale/sv-SE/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Föregående sida
-previous_label=Föregående
-next.title=Nästa sida
-next_label=Nästa
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Sida
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=av {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} av {{pagesCount}})
-
-zoom_out.title=Zooma ut
-zoom_out_label=Zooma ut
-zoom_in.title=Zooma in
-zoom_in_label=Zooma in
-zoom.title=Zoom
-presentation_mode.title=Byt till presentationsläge
-presentation_mode_label=Presentationsläge
-open_file.title=Öppna fil
-open_file_label=Öppna
-print.title=Skriv ut
-print_label=Skriv ut
-download.title=Hämta
-download_label=Hämta
-bookmark.title=Aktuell vy (kopiera eller öppna i nytt fönster)
-bookmark_label=Aktuell vy
-
-# Secondary toolbar and context menu
-tools.title=Verktyg
-tools_label=Verktyg
-first_page.title=Gå till första sidan
-first_page.label=Gå till första sidan
-first_page_label=Gå till första sidan
-last_page.title=Gå till sista sidan
-last_page.label=Gå till sista sidan
-last_page_label=Gå till sista sidan
-page_rotate_cw.title=Rotera medurs
-page_rotate_cw.label=Rotera medurs
-page_rotate_cw_label=Rotera medurs
-page_rotate_ccw.title=Rotera moturs
-page_rotate_ccw.label=Rotera moturs
-page_rotate_ccw_label=Rotera moturs
-
-cursor_text_select_tool.title=Aktivera textmarkeringsverktyg
-cursor_text_select_tool_label=Textmarkeringsverktyg
-cursor_hand_tool.title=Aktivera handverktyg
-cursor_hand_tool_label=Handverktyg
-
-scroll_vertical.title=Använd vertikal rullning
-scroll_vertical_label=Vertikal rullning
-scroll_horizontal.title=Använd horisontell rullning
-scroll_horizontal_label=Horisontell rullning
-scroll_wrapped.title=Använd överlappande rullning
-scroll_wrapped_label=Överlappande rullning
-
-spread_none.title=Visa enkelsidor
-spread_none_label=Enkelsidor
-spread_odd.title=Visa uppslag med olika sidnummer till vänster
-spread_odd_label=Uppslag med framsida
-spread_even.title=Visa uppslag med lika sidnummer till vänster
-spread_even_label=Uppslag utan framsida
-
-# Document properties dialog box
-document_properties.title=Dokumentegenskaper…
-document_properties_label=Dokumentegenskaper…
-document_properties_file_name=Filnamn:
-document_properties_file_size=Filstorlek:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} kB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Titel:
-document_properties_author=Författare:
-document_properties_subject=Ämne:
-document_properties_keywords=Nyckelord:
-document_properties_creation_date=Skapades:
-document_properties_modification_date=Ändrades:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Skapare:
-document_properties_producer=PDF-producent:
-document_properties_version=PDF-version:
-document_properties_page_count=Sidantal:
-document_properties_page_size=Pappersstorlek:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=porträtt
-document_properties_page_size_orientation_landscape=landskap
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Snabb webbvisning:
-document_properties_linearized_yes=Ja
-document_properties_linearized_no=Nej
-document_properties_close=Stäng
-
-print_progress_message=Förbereder sidor för utskrift…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Avbryt
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Visa/dölj sidofält
-toggle_sidebar_notification.title=Visa/dölj sidofält (dokument innehåller översikt/bilagor)
-toggle_sidebar_label=Visa/dölj sidofält
-document_outline.title=Visa dokumentdisposition (dubbelklicka för att expandera/komprimera alla objekt)
-document_outline_label=Dokumentöversikt
-attachments.title=Visa Bilagor
-attachments_label=Bilagor
-thumbs.title=Visa miniatyrer
-thumbs_label=Miniatyrer
-findbar.title=Sök i dokument
-findbar_label=Sök
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Sida {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Sida {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Miniatyr av sida {{page}}
-
-# Find panel button title and messages
-find_input.title=Sök
-find_input.placeholder=Sök i dokument…
-find_previous.title=Hitta föregående förekomst av frasen
-find_previous_label=Föregående
-find_next.title=Hitta nästa förekomst av frasen
-find_next_label=Nästa
-find_highlight=Markera alla
-find_match_case_label=Matcha versal/gemen
-find_entire_word_label=Hela ord
-find_reached_top=Nådde början av dokumentet, började från slutet
-find_reached_bottom=Nådde slutet på dokumentet, började från början
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} av {{total}} träff
-find_match_count[two]={{current}} av {{total}} träffar
-find_match_count[few]={{current}} av {{total}} träffar
-find_match_count[many]={{current}} av {{total}} träffar
-find_match_count[other]={{current}} av {{total}} träffar
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Mer än {{limit}} träffar
-find_match_count_limit[one]=Mer än {{limit}} träff
-find_match_count_limit[two]=Mer än {{limit}} träffar
-find_match_count_limit[few]=Mer än {{limit}} träffar
-find_match_count_limit[many]=Mer än {{limit}} träffar
-find_match_count_limit[other]=Mer än {{limit}} träffar
-find_not_found=Frasen hittades inte
-
-# Error panel labels
-error_more_info=Mer information
-error_less_info=Mindre information
-error_close=Stäng
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Meddelande: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fil: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rad: {{line}}
-rendering_error=Ett fel uppstod vid visning av sidan.
-
-# Predefined zoom values
-page_scale_width=Sidbredd
-page_scale_fit=Anpassa sida
-page_scale_auto=Automatisk zoom
-page_scale_actual=Verklig storlek
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Fel
-loading_error=Ett fel uppstod vid laddning av PDF-filen.
-invalid_file_error=Ogiltig eller korrupt PDF-fil.
-missing_file_error=Saknad PDF-fil.
-unexpected_response_error=Oväntat svar från servern.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-annotering]
-password_label=Skriv in lösenordet för att öppna PDF-filen.
-password_invalid=Ogiltigt lösenord. Försök igen.
-password_ok=OK
-password_cancel=Avbryt
-
-printing_not_supported=Varning: Utskrifter stöds inte helt av den här webbläsaren.
-printing_not_ready=Varning: PDF:en är inte klar för utskrift.
-web_fonts_disabled=Webbtypsnitt är inaktiverade: kan inte använda inbäddade PDF-typsnitt.
-document_colors_not_allowed=PDF-dokument tillåts inte använda egna färger: “Låt sidor använda egna färger” är inaktiverat i webbläsaren.
diff --git a/server/target/classes/static/pdfjs/web/locale/ta/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ta/viewer.properties
deleted file mode 100644
index 19a8de4..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ta/viewer.properties
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=முந்தைய பக்கம்
-previous_label=முந்தையது
-next.title=அடுத்த பக்கம்
-next_label=அடுத்து
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=பக்கம்
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} இல்
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages={{pagesCount}}) இல் ({{pageNumber}}
-
-zoom_out.title=சிறிதாக்கு
-zoom_out_label=சிறிதாக்கு
-zoom_in.title=பெரிதாக்கு
-zoom_in_label=பெரிதாக்கு
-zoom.title=பெரிதாக்கு
-presentation_mode.title=விளக்ககாட்சி பயன்முறைக்கு மாறு
-presentation_mode_label=விளக்ககாட்சி பயன்முறை
-open_file.title=கோப்பினை திற
-open_file_label=திற
-print.title=அச்சிடு
-print_label=அச்சிடு
-download.title=பதிவிறக்கு
-download_label=பதிவிறக்கு
-bookmark.title=தற்போதைய காட்சி (புதிய சாளரத்திற்கு நகலெடு அல்லது புதிய சாளரத்தில் திற)
-bookmark_label=தற்போதைய காட்சி
-
-# Secondary toolbar and context menu
-tools.title=கருவிகள்
-tools_label=கருவிகள்
-first_page.title=முதல் பக்கத்திற்கு செல்லவும்
-first_page.label=முதல் பக்கத்திற்கு செல்லவும்
-first_page_label=முதல் பக்கத்திற்கு செல்லவும்
-last_page.title=கடைசி பக்கத்திற்கு செல்லவும்
-last_page.label=கடைசி பக்கத்திற்கு செல்லவும்
-last_page_label=கடைசி பக்கத்திற்கு செல்லவும்
-page_rotate_cw.title=வலஞ்சுழியாக சுழற்று
-page_rotate_cw.label=வலஞ்சுழியாக சுழற்று
-page_rotate_cw_label=வலஞ்சுழியாக சுழற்று
-page_rotate_ccw.title=இடஞ்சுழியாக சுழற்று
-page_rotate_ccw.label=இடஞ்சுழியாக சுழற்று
-page_rotate_ccw_label=இடஞ்சுழியாக சுழற்று
-
-cursor_text_select_tool.title=உரைத் தெரிவு கருவியைச் செயல்படுத்து
-cursor_text_select_tool_label=உரைத் தெரிவு கருவி
-cursor_hand_tool.title=கைக் கருவிக்ச் செயற்படுத்து
-cursor_hand_tool_label=கைக்குருவி
-
-# Document properties dialog box
-document_properties.title=ஆவண பண்புகள்...
-document_properties_label=ஆவண பண்புகள்...
-document_properties_file_name=கோப்பு பெயர்:
-document_properties_file_size=கோப்பின் அளவு:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} கிபை ({{size_b}} பைட்டுகள்)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} மெபை ({{size_b}} பைட்டுகள்)
-document_properties_title=தலைப்பு:
-document_properties_author=எழுதியவர்
-document_properties_subject=பொருள்:
-document_properties_keywords=முக்கிய வார்த்தைகள்:
-document_properties_creation_date=படைத்த தேதி :
-document_properties_modification_date=திருத்திய தேதி:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=உருவாக்குபவர்:
-document_properties_producer=பிடிஎஃப் தயாரிப்பாளர்:
-document_properties_version=PDF பதிப்பு:
-document_properties_page_count=பக்க எண்ணிக்கை:
-document_properties_page_size=பக்க அளவு:
-document_properties_page_size_unit_inches=இதில்
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=நிலைபதிப்பு
-document_properties_page_size_orientation_landscape=நிலைபரப்பு
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=கடிதம்
-document_properties_page_size_name_legal=சட்டபூர்வ
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-document_properties_close=மூடுக
-
-print_progress_message=அச்சிடுவதற்கான ஆவணம் தயாராகிறது...
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ரத்து
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=பக்கப் பட்டியை நிலைமாற்று
-toggle_sidebar_notification.title=பக்கப்பட்டையை நிலைமாற்று (வெளிக்கோடு/இணைப்புகளை ஆவணம் கொண்டுள்ளது)
-toggle_sidebar_label=பக்கப் பட்டியை நிலைமாற்று
-document_outline.title=ஆவண அடக்கத்தைக் காட்டு (இருமுறைச் சொடுக்கி அனைத்து உறுப்பிடிகளையும் விரி/சேர்)
-document_outline_label=ஆவண வெளிவரை
-attachments.title=இணைப்புகளை காண்பி
-attachments_label=இணைப்புகள்
-thumbs.title=சிறுபடங்களைக் காண்பி
-thumbs_label=சிறுபடங்கள்
-findbar.title=ஆவணத்தில் கண்டறி
-findbar_label=தேடு
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=பக்கம் {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=பக்கத்தின் சிறுபடம் {{page}}
-
-# Find panel button title and messages
-find_input.title=கண்டுபிடி
-find_input.placeholder=ஆவணத்தில் கண்டறி…
-find_previous.title=இந்த சொற்றொடரின் முந்தைய நிகழ்வை தேடு
-find_previous_label=முந்தையது
-find_next.title=இந்த சொற்றொடரின் அடுத்த நிகழ்வை தேடு
-find_next_label=அடுத்து
-find_highlight=அனைத்தையும் தனிப்படுத்து
-find_match_case_label=பேரெழுத்தாக்கத்தை உணர்
-find_reached_top=ஆவணத்தின் மேல் பகுதியை அடைந்தது, அடிப்பக்கத்திலிருந்து தொடர்ந்தது
-find_reached_bottom=ஆவணத்தின் முடிவை அடைந்தது, மேலிருந்து தொடர்ந்தது
-find_not_found=சொற்றொடர் காணவில்லை
-
-# Error panel labels
-error_more_info=கூடுதல் தகவல்
-error_less_info=குறைந்த தகவல்
-error_close=மூடுக
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=செய்தி: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=ஸ்டேக்: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=கோப்பு: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=வரி: {{line}}
-rendering_error=இந்தப் பக்கத்தை காட்சிப்படுத்தும் போது ஒரு பிழை ஏற்பட்டது.
-
-# Predefined zoom values
-page_scale_width=பக்க அகலம்
-page_scale_fit=பக்கப் பொருத்தம்
-page_scale_auto=தானியக்க பெரிதாக்கல்
-page_scale_actual=உண்மையான அளவு
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=பிழை
-loading_error=PDF ஐ ஏற்றும் போது ஒரு பிழை ஏற்பட்டது.
-invalid_file_error=செல்லுபடியாகாத அல்லது சிதைந்த PDF கோப்பு.
-missing_file_error=PDF கோப்பு காணவில்லை.
-unexpected_response_error=சேவகன் பதில் எதிர்பாரதது.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} விளக்கம்]
-password_label=இந்த PDF கோப்பை திறக்க கடவுச்சொல்லை உள்ளிடவும்.
-password_invalid=செல்லுபடியாகாத கடவுச்சொல், தயை செய்து மீண்டும் முயற்சி செய்க.
-password_ok=சரி
-password_cancel=ரத்து
-
-printing_not_supported=எச்சரிக்கை: இந்த உலாவி அச்சிடுதலை முழுமையாக ஆதரிக்கவில்லை.
-printing_not_ready=எச்சரிக்கை: PDF அச்சிட முழுவதுமாக ஏற்றப்படவில்லை.
-web_fonts_disabled=வலை எழுத்துருக்கள் முடக்கப்பட்டுள்ளன: உட்பொதிக்கப்பட்ட PDF எழுத்துருக்களைப் பயன்படுத்த முடியவில்லை.
-document_colors_not_allowed=PDF ஆவணங்களுக்குச் சொந்த நிறங்களைப் பயன்படுத்த அனுமதியில்லை: உலாவியில் "பக்கங்கள் தங்கள் சொந்த நிறங்களைத் தேர்வு செய்துகொள்ள அனுமதி" என்னும் விருப்பம் முடக்கப்பட்டுள்ளது.
diff --git a/server/target/classes/static/pdfjs/web/locale/te/viewer.properties b/server/target/classes/static/pdfjs/web/locale/te/viewer.properties
deleted file mode 100644
index 56f954d..0000000
--- a/server/target/classes/static/pdfjs/web/locale/te/viewer.properties
+++ /dev/null
@@ -1,222 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=మునుపటి పేజీ
-previous_label=క్రితం
-next.title=తరువాత పేజీ
-next_label=తరువాత
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=పేజీ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=మొత్తం {{pagesCount}} లో
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=(మొత్తం {{pagesCount}} లో {{pageNumber}}వది)
-
-zoom_out.title=జూమ్ తగ్గించు
-zoom_out_label=జూమ్ తగ్గించు
-zoom_in.title=జూమ్ చేయి
-zoom_in_label=జూమ్ చేయి
-zoom.title=జూమ్
-presentation_mode.title=ప్రదర్శనా రీతికి మారు
-presentation_mode_label=ప్రదర్శనా రీతి
-open_file.title=ఫైల్ తెరువు
-open_file_label=తెరువు
-print.title=ముద్రించు
-print_label=ముద్రించు
-download.title=దింపుకోళ్ళు
-download_label=దింపుకోళ్ళు
-bookmark.title=ప్రస్తుత దర్శనం (కాపీ చేయి లేదా కొత్త విండోలో తెరువు)
-bookmark_label=ప్రస్తుత దర్శనం
-
-# Secondary toolbar and context menu
-tools.title=పనిముట్లు
-tools_label=పనిముట్లు
-first_page.title=మొదటి పేజీకి వెళ్ళు
-first_page.label=మొదటి పేజీకి వెళ్ళు
-first_page_label=మొదటి పేజీకి వెళ్ళు
-last_page.title=చివరి పేజీకి వెళ్ళు
-last_page.label=చివరి పేజీకి వెళ్ళు
-last_page_label=చివరి పేజీకి వెళ్ళు
-page_rotate_cw.title=సవ్యదిశలో తిప్పు
-page_rotate_cw.label=సవ్యదిశలో తిప్పు
-page_rotate_cw_label=సవ్యదిశలో తిప్పు
-page_rotate_ccw.title=అపసవ్యదిశలో తిప్పు
-page_rotate_ccw.label=అపసవ్యదిశలో తిప్పు
-page_rotate_ccw_label=అపసవ్యదిశలో తిప్పు
-
-cursor_text_select_tool.title=టెక్స్ట్ ఎంపిక సాధనాన్ని ప్రారంభించండి
-cursor_text_select_tool_label=టెక్స్ట్ ఎంపిక సాధనం
-cursor_hand_tool.title=చేతి సాధనం చేతనించు
-cursor_hand_tool_label=చేతి సాధనం
-
-scroll_vertical_label=నిలువు స్క్రోలింగు
-
-
-# Document properties dialog box
-document_properties.title=పత్రము లక్షణాలు...
-document_properties_label=పత్రము లక్షణాలు...
-document_properties_file_name=దస్త్రం పేరు:
-document_properties_file_size=దస్త్రం పరిమాణం:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=శీర్షిక:
-document_properties_author=మూలకర్త:
-document_properties_subject=విషయం:
-document_properties_keywords=కీ పదాలు:
-document_properties_creation_date=సృష్టించిన తేదీ:
-document_properties_modification_date=సవరించిన తేదీ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=సృష్టికర్త:
-document_properties_producer=PDF ఉత్పాదకి:
-document_properties_version=PDF వర్షన్:
-document_properties_page_count=పేజీల సంఖ్య:
-document_properties_page_size=కాగితం పరిమాణం:
-document_properties_page_size_unit_inches=లో
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=నిలువుచిత్రం
-document_properties_page_size_orientation_landscape=అడ్డచిత్రం
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=లేఖ
-document_properties_page_size_name_legal=చట్టపరమైన
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=అవును
-document_properties_linearized_no=కాదు
-document_properties_close=మూసివేయి
-
-print_progress_message=ముద్రించడానికి పత్రము సిద్ధమవుతున్నది…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=రద్దుచేయి
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=పక్కపట్టీ మార్చు
-toggle_sidebar_label=పక్కపట్టీ మార్చు
-document_outline.title=పత్రము రూపము చూపించు (డబుల్ క్లిక్ చేసి అన్ని అంశాలను విస్తరించు/కూల్చు)
-document_outline_label=పత్రము అవుట్‌లైన్
-attachments.title=అనుబంధాలు చూపు
-attachments_label=అనుబంధాలు
-thumbs.title=థంబ్‌నైల్స్ చూపు
-thumbs_label=థంబ్‌నైల్స్
-findbar.title=పత్రములో కనుగొనుము
-findbar_label=కనుగొను
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=పేజీ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} పేజీ నఖచిత్రం
-
-# Find panel button title and messages
-find_input.title=కనుగొను
-find_input.placeholder=పత్రములో కనుగొను…
-find_previous.title=పదం యొక్క ముందు సంభవాన్ని కనుగొను
-find_previous_label=మునుపటి
-find_next.title=పదం యొక్క తర్వాతి సంభవాన్ని కనుగొను
-find_next_label=తరువాత
-find_highlight=అన్నిటిని ఉద్దీపనం చేయుము
-find_match_case_label=అక్షరముల తేడాతో పోల్చు
-find_entire_word_label=పూర్తి పదాలు
-find_reached_top=పేజీ పైకి చేరుకున్నది, క్రింది నుండి కొనసాగించండి
-find_reached_bottom=పేజీ చివరకు చేరుకున్నది, పైనుండి కొనసాగించండి
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_not_found=పదబంధం కనబడలేదు
-
-# Error panel labels
-error_more_info=మరింత సమాచారం
-error_less_info=తక్కువ సమాచారం
-error_close=మూసివేయి
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=సందేశం: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=స్టాక్: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ఫైలు: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=వరుస: {{line}}
-rendering_error=పేజీను రెండర్ చేయుటలో ఒక దోషం ఎదురైంది.
-
-# Predefined zoom values
-page_scale_width=పేజీ వెడల్పు
-page_scale_fit=పేజీ అమర్పు
-page_scale_auto=స్వయంచాలక జూమ్
-page_scale_actual=యథార్ధ పరిమాణం
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=దోషం
-loading_error=PDF లోడవుచున్నప్పుడు ఒక దోషం ఎదురైంది.
-invalid_file_error=చెల్లని లేదా పాడైన PDF ఫైలు.
-missing_file_error=దొరకని PDF ఫైలు.
-unexpected_response_error=అనుకోని సర్వర్ స్పందన.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} టీకా]
-password_label=ఈ PDF ఫైల్ తెరుచుటకు సంకేతపదం ప్రవేశపెట్టుము.
-password_invalid=సంకేతపదం చెల్లదు. దయచేసి మళ్ళీ ప్రయత్నించండి.
-password_ok=సరే
-password_cancel=రద్దుచేయి
-
-printing_not_supported=హెచ్చరిక: ఈ విహారిణి చేత ముద్రణ పూర్తిగా తోడ్పాటు లేదు.
-printing_not_ready=హెచ్చరిక: ముద్రణ కొరకు ఈ PDF పూర్తిగా లోడవలేదు.
-web_fonts_disabled=వెబ్ ఫాంట్లు అచేతనించబడెను: ఎంబెడెడ్ PDF ఫాంట్లు ఉపయోగించలేక పోయింది.
-document_colors_not_allowed=PDF పత్రాలు వాటి స్వంత రంగులను ఉపయోగించుకొనుటకు అనుమతించబడవు: విహరణి నందు “పేజీలను వాటి స్వంత రంగులను ఎంచుకొనుటకు అనుమతించు” అచేతనం చేయబడివుంది.
diff --git a/server/target/classes/static/pdfjs/web/locale/th/viewer.properties b/server/target/classes/static/pdfjs/web/locale/th/viewer.properties
deleted file mode 100644
index b66865f..0000000
--- a/server/target/classes/static/pdfjs/web/locale/th/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=หน้าก่อนหน้า
-previous_label=ก่อนหน้า
-next.title=หน้าถัดไป
-next_label=ถัดไป
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=หน้า
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=จาก {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} จาก {{pagesCount}})
-
-zoom_out.title=ซูมออก
-zoom_out_label=ซูมออก
-zoom_in.title=ซูมเข้า
-zoom_in_label=ซูมเข้า
-zoom.title=ซูม
-presentation_mode.title=สลับเป็นโหมดการนำเสนอ
-presentation_mode_label=โหมดการนำเสนอ
-open_file.title=เปิดไฟล์
-open_file_label=เปิด
-print.title=พิมพ์
-print_label=พิมพ์
-download.title=ดาวน์โหลด
-download_label=ดาวน์โหลด
-bookmark.title=มุมมองปัจจุบัน (คัดลอกหรือเปิดในหน้าต่างใหม่)
-bookmark_label=มุมมองปัจจุบัน
-
-# Secondary toolbar and context menu
-tools.title=เครื่องมือ
-tools_label=เครื่องมือ
-first_page.title=ไปยังหน้าแรก
-first_page.label=ไปยังหน้าแรก
-first_page_label=ไปยังหน้าแรก
-last_page.title=ไปยังหน้าสุดท้าย
-last_page.label=ไปยังหน้าสุดท้าย
-last_page_label=ไปยังหน้าสุดท้าย
-page_rotate_cw.title=หมุนตามเข็มนาฬิกา
-page_rotate_cw.label=หมุนตามเข็มนาฬิกา
-page_rotate_cw_label=หมุนตามเข็มนาฬิกา
-page_rotate_ccw.title=หมุนทวนเข็มนาฬิกา
-page_rotate_ccw.label=หมุนทวนเข็มนาฬิกา
-page_rotate_ccw_label=หมุนทวนเข็มนาฬิกา
-
-cursor_text_select_tool.title=เปิดใช้งานเครื่องมือการเลือกข้อความ
-cursor_text_select_tool_label=เครื่องมือการเลือกข้อความ
-cursor_hand_tool.title=เปิดใช้งานเครื่องมือมือ
-cursor_hand_tool_label=เครื่องมือมือ
-
-scroll_vertical.title=ใช้การเลื่อนแนวตั้ง
-scroll_vertical_label=การเลื่อนแนวตั้ง
-scroll_horizontal.title=ใช้การเลื่อนแนวนอน
-scroll_horizontal_label=การเลื่อนแนวนอน
-scroll_wrapped.title=ใช้การเลื่อนแบบคลุม
-scroll_wrapped_label=เลื่อนแบบคลุม
-
-spread_none.title=ไม่ต้องรวมการกระจายหน้า
-spread_none_label=ไม่กระจาย
-spread_odd.title=รวมการกระจายหน้าเริ่มจากหน้าคี่
-spread_odd_label=กระจายอย่างเหลือเศษ
-spread_even.title=รวมการกระจายหน้าเริ่มจากหน้าคู่
-spread_even_label=กระจายอย่างเท่าเทียม
-
-# Document properties dialog box
-document_properties.title=คุณสมบัติเอกสาร…
-document_properties_label=คุณสมบัติเอกสาร…
-document_properties_file_name=ชื่อไฟล์:
-document_properties_file_size=ขนาดไฟล์:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} ไบต์)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} ไบต์)
-document_properties_title=ชื่อเรื่อง:
-document_properties_author=ผู้สร้าง:
-document_properties_subject=ชื่อเรื่อง:
-document_properties_keywords=คำสำคัญ:
-document_properties_creation_date=วันที่สร้าง:
-document_properties_modification_date=วันที่แก้ไข:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=ผู้สร้าง:
-document_properties_producer=ผู้ผลิต PDF:
-document_properties_version=รุ่น PDF:
-document_properties_page_count=จำนวนหน้า:
-document_properties_page_size=ขนาดหน้า:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=แนวตั้ง
-document_properties_page_size_orientation_landscape=แนวนอน
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=จดหมาย
-document_properties_page_size_name_legal=ข้อกฎหมาย
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=มุมมองเว็บแบบรวดเร็ว:
-document_properties_linearized_yes=ใช่
-document_properties_linearized_no=ไม่
-document_properties_close=ปิด
-
-print_progress_message=กำลังเตรียมเอกสารสำหรับการพิมพ์…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=ยกเลิก
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=เปิด/ปิดแถบข้าง
-toggle_sidebar_notification.title=เปิด/ปิดแถบข้าง (เอกสารมีเค้าร่าง/ไฟล์แนบ)
-toggle_sidebar_label=เปิด/ปิดแถบข้าง
-document_outline.title=แสดงเค้าร่างเอกสาร (คลิกสองครั้งเพื่อขยาย/ยุบรายการทั้งหมด)
-document_outline_label=เค้าร่างเอกสาร
-attachments.title=แสดงไฟล์แนบ
-attachments_label=ไฟล์แนบ
-thumbs.title=แสดงภาพขนาดย่อ
-thumbs_label=ภาพขนาดย่อ
-findbar.title=ค้นหาในเอกสาร
-findbar_label=ค้นหา
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=หน้า {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=หน้า {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=ภาพขนาดย่อของหน้า {{page}}
-
-# Find panel button title and messages
-find_input.title=ค้นหา
-find_input.placeholder=ค้นหาในเอกสาร…
-find_previous.title=หาตำแหน่งก่อนหน้าของวลี
-find_previous_label=ก่อนหน้า
-find_next.title=หาตำแหน่งถัดไปของวลี
-find_next_label=ถัดไป
-find_highlight=เน้นสีทั้งหมด
-find_match_case_label=ตัวพิมพ์ใหญ่เล็กตรงกัน
-find_entire_word_label=ทั้งคำ
-find_reached_top=ค้นหาถึงจุดเริ่มต้นของหน้า เริ่มค้นต่อจากด้านล่าง
-find_reached_bottom=ค้นหาถึงจุดสิ้นสุดหน้า เริ่มค้นต่อจากด้านบน
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} จาก {{total}} ที่ตรงกัน
-find_match_count[two]={{current}} จาก {{total}} ที่ตรงกัน
-find_match_count[few]={{current}} จาก {{total}} ที่ตรงกัน
-find_match_count[many]={{current}} จาก {{total}} ที่ตรงกัน
-find_match_count[other]={{current}} จาก {{total}} ที่ตรงกัน
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=มากกว่า {{limit}} ที่ตรงกัน
-find_match_count_limit[one]=มากกว่า {{limit}} ที่ตรงกัน
-find_match_count_limit[two]=มากกว่า {{limit}} ที่ตรงกัน
-find_match_count_limit[few]=มากกว่า {{limit}} ที่ตรงกัน
-find_match_count_limit[many]=มากกว่า {{limit}} ที่ตรงกัน
-find_match_count_limit[other]=มากกว่า {{limit}} ที่ตรงกัน
-find_not_found=ไม่พบวลี
-
-# Error panel labels
-error_more_info=ข้อมูลเพิ่มเติม
-error_less_info=ข้อมูลน้อยลง
-error_close=ปิด
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=ข้อความ: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=สแตก: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=ไฟล์: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=บรรทัด: {{line}}
-rendering_error=เกิดข้อผิดพลาดขณะเรนเดอร์หน้า
-
-# Predefined zoom values
-page_scale_width=ความกว้างหน้า
-page_scale_fit=พอดีหน้า
-page_scale_auto=ซูมอัตโนมัติ
-page_scale_actual=ขนาดจริง
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=ข้อผิดพลาด
-loading_error=เกิดข้อผิดพลาดขณะโหลด PDF
-invalid_file_error=ไฟล์ PDF ไม่ถูกต้องหรือเสียหาย
-missing_file_error=ไฟล์ PDF หายไป
-unexpected_response_error=การตอบสนองของเซิร์ฟเวอร์ที่ไม่คาดคิด
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[คำอธิบายประกอบ {{type}}]
-password_label=ป้อนรหัสผ่านเพื่อเปิดไฟล์ PDF นี้
-password_invalid=รหัสผ่านไม่ถูกต้อง โปรดลองอีกครั้ง
-password_ok=ตกลง
-password_cancel=ยกเลิก
-
-printing_not_supported=คำเตือน: เบราว์เซอร์นี้ไม่ได้สนับสนุนการพิมพ์อย่างเต็มที่
-printing_not_ready=คำเตือน: PDF ไม่ได้รับการโหลดอย่างเต็มที่สำหรับการพิมพ์
-web_fonts_disabled=แบบอักษรเว็บถูกปิดใช้งาน: ไม่สามารถใช้แบบอักษร PDF ฝังตัว
-document_colors_not_allowed=เอกสาร PDF ไม่ได้รับอนุญาตให้ใช้สีของตัวเอง: "อนุญาตให้หน้าเอกสารสามารถเลือกสีของตัวเอง" ถูกปิดใช้งานในเบราว์เซอร์
diff --git a/server/target/classes/static/pdfjs/web/locale/tl/viewer.properties b/server/target/classes/static/pdfjs/web/locale/tl/viewer.properties
deleted file mode 100644
index 32b3483..0000000
--- a/server/target/classes/static/pdfjs/web/locale/tl/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Naunang Pahina
-previous_label=Nakaraan
-next.title=Sunod na Pahina
-next_label=Sunod
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Pahina
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=ng {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} ng {{pagesCount}})
-
-zoom_out.title=Paliitin
-zoom_out_label=Paliitin
-zoom_in.title=Palakihin
-zoom_in_label=Palakihin
-zoom.title=Mag-zoom
-presentation_mode.title=Switch to Presentation Mode
-presentation_mode_label=Presentation Mode
-open_file.title=Magbukas ng file
-open_file_label=Buksan
-print.title=i-Print
-print_label=i-Print
-download.title=Download
-download_label=Download
-bookmark.title=Kasalukuyang tingin (kopyahin o buksan sa bagong window)
-bookmark_label=Kasalukuyang tingin
-
-# Secondary toolbar and context menu
-tools.title=Mga Kagamitan
-tools_label=Mga Kagamitan
-first_page.title=Pumunta sa Unang Pahina
-first_page.label=Pumunta sa Unang Pahina
-first_page_label=Pumunta sa Unang Pahina
-last_page.title=Pumunta sa Huling Pahina
-last_page.label=Pumunta sa Huling Pahina
-last_page_label=Pumunta sa Huling Pahina
-page_rotate_cw.title=Paikutin ang Clockwise
-page_rotate_cw.label=Paikutin ang Clockwise
-page_rotate_cw_label=Paikutin ang Clockwise
-page_rotate_ccw.title=Paikutin ang Counterclockwise
-page_rotate_ccw.label=Paikutin ang Counterclockwise
-page_rotate_ccw_label=Paikutin ang Counterclockwise
-
-cursor_text_select_tool.title=Enable Text Selection Tool
-cursor_text_select_tool_label=Text Selection Tool
-cursor_hand_tool.title=Enable Hand Tool
-cursor_hand_tool_label=Hand Tool
-
-scroll_vertical.title=Use Vertical Scrolling
-scroll_vertical_label=Vertical Scrolling
-scroll_horizontal.title=Use Horizontal Scrolling
-scroll_horizontal_label=Horizontal Scrolling
-scroll_wrapped.title=Use Wrapped Scrolling
-scroll_wrapped_label=Wrapped Scrolling
-
-spread_none.title=Do not join page spreads
-spread_none_label=No Spreads
-spread_odd.title=Join page spreads starting with odd-numbered pages
-spread_odd_label=Odd Spreads
-spread_even.title=Join page spreads starting with even-numbered pages
-spread_even_label=Even Spreads
-
-# Document properties dialog box
-document_properties.title=Document Properties…
-document_properties_label=Document Properties…
-document_properties_file_name=File name:
-document_properties_file_size=File size:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Pamagat:
-document_properties_author=May Akda:
-document_properties_subject=Subject:
-document_properties_keywords=Mga keyword:
-document_properties_creation_date=Creation Date:
-document_properties_modification_date=Modification Date:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Creator:
-document_properties_producer=PDF Producer:
-document_properties_version=PDF Version:
-document_properties_page_count=Page Count:
-document_properties_page_size=Page Size:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=portrait
-document_properties_page_size_orientation_landscape=landscape
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Fast Web View:
-document_properties_linearized_yes=Oo
-document_properties_linearized_no=Hindi
-document_properties_close=Isara
-
-print_progress_message=Preparing document for printing…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Kanselahin
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Toggle Sidebar
-toggle_sidebar_notification.title=Toggle Sidebar (document contains outline/attachments)
-toggle_sidebar_label=Toggle Sidebar
-document_outline.title=Show Document Outline (double-click to expand/collapse all items)
-document_outline_label=Document Outline
-attachments.title=Show Attachments
-attachments_label=Attachments
-thumbs.title=Ipakita ang mga Thumbnails
-thumbs_label=Thumbnails
-findbar.title=Find in Document
-findbar_label=Hanapin
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Pahina {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Pahina {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Thumbnail ng Pahina {{page}}
-
-# Find panel button title and messages
-find_input.title=Hanapin
-find_input.placeholder=Find in document…
-find_previous.title=Hanapin ang nakaraang pangyayari ng parirala
-find_previous_label=Nakaraang
-find_next.title=Hanapin ang susunod na pangyayari ng parirala
-find_next_label=Susunod
-find_highlight=I-highlight lahat
-find_match_case_label=Match case
-find_entire_word_label=Whole words
-find_reached_top=Reached top of document, continued from bottom
-find_reached_bottom=Reached end of document, continued from top
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} of {{total}} match
-find_match_count[two]={{current}} of {{total}} matches
-find_match_count[few]={{current}} of {{total}} matches
-find_match_count[many]={{current}} of {{total}} matches
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=More than {{limit}} matches
-find_match_count_limit[one]=More than {{limit}} match
-find_match_count_limit[two]=More than {{limit}} matches
-find_match_count_limit[few]=More than {{limit}} matches
-find_match_count_limit[many]=More than {{limit}} matches
-find_match_count_limit[other]=More than {{limit}} matches
-find_not_found=Hindi nakita ang prasko
-
-# Error panel labels
-error_more_info=Karagdagang Impormasyon
-error_less_info=Mas Kaunting Impormasyon
-error_close=Sarado
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Mensahe: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=File: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Linya: {{line}}
-rendering_error=May naganap na pagkakamali habang pagsasalin sa pahina.
-
-# Predefined zoom values
-page_scale_width=Lapad ng Pahina
-page_scale_fit=ang pahina ay angkop
-page_scale_auto=Automatic Zoom
-page_scale_actual=Totoong sukat
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Error
-loading_error=May maling nangyari habang kinakarga ang PDF.
-invalid_file_error=Di-wasto o masira ang PDF file.
-missing_file_error=Nawawalang PDF file.
-unexpected_response_error=Hindi inaasahang tugon ng server.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=Ipasok ang password upang buksan ang PDF file na ito.
-password_invalid=Invalid password. Please try again.
-password_ok=OK
-password_cancel=Kanselahin
-
-printing_not_supported=Warning: Printing is not fully supported by this browser.
-printing_not_ready=Warning: The PDF is not fully loaded for printing.
-web_fonts_disabled=Web fonts are disabled: unable to use embedded PDF fonts.
-document_colors_not_allowed=PDF documents are not allowed to use their own colors: “Allow pages to choose their own colors” is deactivated in the browser.
diff --git a/server/target/classes/static/pdfjs/web/locale/tr/viewer.properties b/server/target/classes/static/pdfjs/web/locale/tr/viewer.properties
deleted file mode 100644
index f398fc9..0000000
--- a/server/target/classes/static/pdfjs/web/locale/tr/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Önceki sayfa
-previous_label=Önceki
-next.title=Sonraki sayfa
-next_label=Sonraki
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Sayfa
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=Uzaklaştır
-zoom_out_label=Uzaklaştır
-zoom_in.title=Yaklaştır
-zoom_in_label=Yaklaştır
-zoom.title=Yakınlaştırma
-presentation_mode.title=Sunum moduna geç
-presentation_mode_label=Sunum Modu
-open_file.title=Dosya aç
-open_file_label=Aç
-print.title=Yazdır
-print_label=Yazdır
-download.title=İndir
-download_label=İndir
-bookmark.title=Geçerli görünüm (kopyala veya yeni pencerede aç)
-bookmark_label=Geçerli görünüm
-
-# Secondary toolbar and context menu
-tools.title=Araçlar
-tools_label=Araçlar
-first_page.title=İlk sayfaya git
-first_page.label=İlk sayfaya git
-first_page_label=İlk sayfaya git
-last_page.title=Son sayfaya git
-last_page.label=Son sayfaya git
-last_page_label=Son sayfaya git
-page_rotate_cw.title=Saat yönünde döndür
-page_rotate_cw.label=Saat yönünde döndür
-page_rotate_cw_label=Saat yönünde döndür
-page_rotate_ccw.title=Saat yönünün tersine döndür
-page_rotate_ccw.label=Saat yönünün tersine döndür
-page_rotate_ccw_label=Saat yönünün tersine döndür
-
-cursor_text_select_tool.title=Metin seçme aracını etkinleştir
-cursor_text_select_tool_label=Metin seçme aracı
-cursor_hand_tool.title=El aracını etkinleştir
-cursor_hand_tool_label=El aracı
-
-scroll_vertical.title=Dikey kaydırma kullan
-scroll_vertical_label=Dikey kaydırma
-scroll_horizontal.title=Yatay kaydırma kullan
-scroll_horizontal_label=Yatay kaydırma
-scroll_wrapped.title=Yan yana kaydırmayı kullan
-scroll_wrapped_label=Yan yana kaydırma
-
-spread_none.title=Yan yana sayfaları birleştirme
-spread_none_label=Birleştirme
-spread_odd.title=Yan yana sayfaları tek numaralı sayfalardan başlayarak birleştir
-spread_odd_label=Tek numaralı
-spread_even.title=Yan yana sayfaları çift numaralı sayfalardan başlayarak birleştir
-spread_even_label=Çift numaralı
-
-# Document properties dialog box
-document_properties.title=Belge özellikleri…
-document_properties_label=Belge özellikleri…
-document_properties_file_name=Dosya adı:
-document_properties_file_size=Dosya boyutu:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bayt)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bayt)
-document_properties_title=Başlık:
-document_properties_author=Yazar:
-document_properties_subject=Konu:
-document_properties_keywords=Anahtar kelimeler:
-document_properties_creation_date=Oluturma tarihi:
-document_properties_modification_date=Değiştirme tarihi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=Oluşturan:
-document_properties_producer=PDF üreticisi:
-document_properties_version=PDF sürümü:
-document_properties_page_count=Sayfa sayısı:
-document_properties_page_size=Sayfa boyutu:
-document_properties_page_size_unit_inches=inç
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=dikey
-document_properties_page_size_orientation_landscape=yatay
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Hızlı web görünümü:
-document_properties_linearized_yes=Evet
-document_properties_linearized_no=Hayır
-document_properties_close=Kapat
-
-print_progress_message=Belge yazdırılmaya hazırlanıyor…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent=%{{progress}}
-print_progress_close=İptal
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Kenar çubuğunu aç/kapat
-toggle_sidebar_notification.title=Kenar çubuğunu aç/kapat (Belge ana hat/ekler içeriyor)
-toggle_sidebar_label=Kenar çubuğunu aç/kapat
-document_outline.title=Belge ana hatlarını göster (Tüm öğeleri genişletmek/daraltmak için çift tıklayın)
-document_outline_label=Belge ana hatları
-attachments.title=Ekleri göster
-attachments_label=Ekler
-thumbs.title=Küçük resimleri göster
-thumbs_label=Küçük resimler
-findbar.title=Belgede bul
-findbar_label=Bul
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Sayfa {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Sayfa {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}}. sayfanın küçük hâli
-
-# Find panel button title and messages
-find_input.title=Bul
-find_input.placeholder=Belgede bul…
-find_previous.title=Önceki eşleşmeyi bul
-find_previous_label=Önceki
-find_next.title=Sonraki eşleşmeyi bul
-find_next_label=Sonraki
-find_highlight=Tümünü vurgula
-find_match_case_label=Büyük-küçük harfe duyarlı
-find_entire_word_label=Tam sözcükler
-find_reached_top=Belgenin başına ulaşıldı, sonundan devam edildi
-find_reached_bottom=Belgenin sonuna ulaşıldı, başından devam edildi
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{total}} eşleşmeden {{current}}. eşleşme
-find_match_count[two]={{total}} eşleşmeden {{current}}. eşleşme
-find_match_count[few]={{total}} eşleşmeden {{current}}. eşleşme
-find_match_count[many]={{total}} eşleşmeden {{current}}. eşleşme
-find_match_count[other]={{total}} eşleşmeden {{current}}. eşleşme
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]={{limit}} eşleşmeden fazla
-find_match_count_limit[one]={{limit}} eşleşmeden fazla
-find_match_count_limit[two]={{limit}} eşleşmeden fazla
-find_match_count_limit[few]={{limit}} eşleşmeden fazla
-find_match_count_limit[many]={{limit}} eşleşmeden fazla
-find_match_count_limit[other]={{limit}} eşleşmeden fazla
-find_not_found=Eşleşme bulunamadı
-
-# Error panel labels
-error_more_info=Daha fazla bilgi al
-error_less_info=Daha az bilgi
-error_close=Kapat
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js sürüm {{version}} (yapı: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=İleti: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Yığın: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dosya: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Satır: {{line}}
-rendering_error=Sayfa yorumlanırken bir hata oluştu.
-
-# Predefined zoom values
-page_scale_width=Sayfa genişliği
-page_scale_fit=Sayfayı sığdır
-page_scale_auto=Otomatik yakınlaştır
-page_scale_actual=Gerçek boyut
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent=%{{scale}}
-
-# Loading indicator messages
-loading_error_indicator=Hata
-loading_error=PDF yüklenirken bir hata oluştu.
-invalid_file_error=Geçersiz veya bozulmuş PDF dosyası.
-missing_file_error=PDF dosyası eksik.
-unexpected_response_error=Beklenmeyen sunucu yanıtı.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} işareti]
-password_label=Bu PDF dosyasını açmak için parolasını yazın.
-password_invalid=Geçersiz parola. Lütfen yeniden deneyin.
-password_ok=Tamam
-password_cancel=İptal
-
-printing_not_supported=Uyarı: Yazdırma bu tarayıcı tarafından tam olarak desteklenmemektedir.
-printing_not_ready=Uyarı: PDF tamamen yüklenmedi ve yazdırmaya hazır değil.
-web_fonts_disabled=Web fontları devre dışı: Gömülü PDF fontları kullanılamıyor.
-document_colors_not_allowed=PDF belgelerinin kendi renklerini kullanması için izin verilmiyor: “Sayfalara kendi renklerini seçmesi için izin ver” tarayıcıda etkinleştirilmemiş.
diff --git a/server/target/classes/static/pdfjs/web/locale/trs/viewer.properties b/server/target/classes/static/pdfjs/web/locale/trs/viewer.properties
deleted file mode 100644
index 65252f7..0000000
--- a/server/target/classes/static/pdfjs/web/locale/trs/viewer.properties
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Pajinâ gunâj rukùu
-previous_label=Sa gachin
-next.title=Pajinâ 'na' ñaan
-next_label=Ne' ñaan
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Ñanj
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=si'iaj {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} of {{pagesCount}})
-
-zoom_out.title=Nagi'iaj li'
-zoom_out_label=Nagi'iaj li'
-zoom_in.title=Nagi'iaj niko'
-zoom_in_label=Nagi'iaj niko'
-zoom.title=dàj nìko ma'an
-presentation_mode.title=Naduno' daj ga ma
-presentation_mode_label=Daj gà ma
-open_file.title=Na'nïn' chrû ñanj
-open_file_label=Na'nïn
-print.title=Nari' ña du'ua
-print_label=Nari' ñadu'ua
-download.title=Nadunïnj
-download_label=Nadunïnj
-bookmark.title=Daj hua ma (Guxun' nej na'nïn' riña ventana nakàa)
-bookmark_label=Daj hua ma
-
-# Secondary toolbar and context menu
-tools.title=Rasun
-tools_label=Nej rasùun
-first_page.title=gun' riña pajina asiniin
-first_page.label=Gun' riña pajina asiniin
-first_page_label=Gun' riña pajina asiniin
-last_page.title=Gun' riña pajina rukù ni'in
-last_page.label=Gun' riña pajina rukù ni'inj
-last_page_label=Gun' riña pajina rukù ni'inj
-page_rotate_cw.title=Tanikaj ne' huat
-page_rotate_cw.label=Tanikaj ne' huat
-page_rotate_cw_label=Tanikaj ne' huat
-page_rotate_ccw.title=Tanikaj ne' chînt'
-page_rotate_ccw.label=Tanikaj ne' chint
-page_rotate_ccw_label=Tanikaj ne' chint
-
-cursor_text_select_tool.title=Dugi'iaj sun' sa ganahui texto
-cursor_text_select_tool_label=Nej rasun arajsun' da' nahui' texto
-cursor_hand_tool.title=Nachrun' nej rasun
-cursor_hand_tool_label=Sa rajsun ro'o'
-
-scroll_vertical.title=Garasun' dukuán runūu
-scroll_vertical_label=Dukuán runūu
-scroll_horizontal.title=Garasun' dukuán nikin' nahui
-scroll_horizontal_label=Dukuán nikin' nahui
-scroll_wrapped.title=Garasun' sa nachree
-scroll_wrapped_label=Sa nachree
-
-spread_none.title=Si nagi'iaj nugun'un' nej pagina hua ninin
-spread_none_label=Ni'io daj hua pagina
-spread_odd.title=Nagi'iaj nugua'ant nej pajina
-spread_odd_label=Ni'io' daj hua libro gurin
-spread_even.title=Nakāj dugui' ngà nej pajinâ ayi'ì ngà da' hùi hùi
-spread_even_label=Nahuin nìko nej
-
-# Document properties dialog box
-document_properties.title=Nej sa nikāj ñanj…
-document_properties_label=Nej sa nikāj ñanj…
-document_properties_file_name=Si yugui archîbo:
-document_properties_file_size=Dàj yachìj archîbo:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Si yugui:
-document_properties_author=Sí girirà:
-document_properties_subject=Dugui':
-document_properties_keywords=Nej nuguan' huìi:
-document_properties_creation_date=Gui gurugui' man:
-document_properties_modification_date=Nuguan' nahuin nakà:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Guiri ro'
-document_properties_producer=Sa ri PDF:
-document_properties_version=PDF Version:
-document_properties_page_count=Si Guendâ Pâjina:
-document_properties_page_size=Dàj yachìj pâjina:
-document_properties_page_size_unit_inches=riña
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=nadu'ua
-document_properties_page_size_orientation_landscape=dàj huaj
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Da'ngà'a
-document_properties_page_size_name_legal=Nuguan' a'nï'ïn
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Nanèt chre ni'iajt riña Web:
-document_properties_linearized_yes=Ga'ue
-document_properties_linearized_no=Si ga'ue
-document_properties_close=Narán
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Duyichin'
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Nadunā barrâ nù yi'nïn
-toggle_sidebar_label=Nadunā barrâ nù yi'nïn
-findbar_label=Narì'
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-
-# Find panel button title and messages
-find_input.title=Narì'
-find_previous_label=Sa gachîn
-find_next_label=Ne' ñaan
-find_highlight=Daran' sa ña'an 
-find_match_case_label=Match case
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[two]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[few]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[many]={{current}} si'iaj {{total}} guña gè huaj
-find_match_count[other]={{current}} of {{total}} matches
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[one]=Doj ngà da' {{limit}} sa nari' dugui'i
-find_match_count_limit[two]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[few]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[many]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_match_count_limit[other]=Doj ngà da' {{limit}} nej sa nari' dugui'i
-find_not_found=Nu narì'ij nugua'anj
-
-# Error panel labels
-error_more_info=Doj nuguan' a'min rayi'î nan
-error_less_info=Dòj nuguan' a'min rayi'î nan
-error_close=Narán
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Message: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Naru'ui': {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Archîbo: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Lînia: {{line}}
-
-# Predefined zoom values
-page_scale_actual=Dàj yàchi akuan' nín
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Nitaj si hua hue'ej
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-password_ok=Ga'ue
-password_cancel=Duyichin'
-
diff --git a/server/target/classes/static/pdfjs/web/locale/uk/viewer.properties b/server/target/classes/static/pdfjs/web/locale/uk/viewer.properties
deleted file mode 100644
index 599c8f9..0000000
--- a/server/target/classes/static/pdfjs/web/locale/uk/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Попередня сторінка
-previous_label=Попередня
-next.title=Наступна сторінка
-next_label=Наступна
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Сторінка
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=із {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} із {{pagesCount}})
-
-zoom_out.title=Зменшити
-zoom_out_label=Зменшити
-zoom_in.title=Збільшити
-zoom_in_label=Збільшити
-zoom.title=Масштаб
-presentation_mode.title=Перейти в режим презентації
-presentation_mode_label=Режим презентації
-open_file.title=Відкрити файл
-open_file_label=Відкрити
-print.title=Друк
-print_label=Друк
-download.title=Завантажити
-download_label=Завантажити
-bookmark.title=Поточний вигляд (копіювати чи відкрити в новому вікні)
-bookmark_label=Поточний вигляд
-
-# Secondary toolbar and context menu
-tools.title=Інструменти
-tools_label=Інструменти
-first_page.title=На першу сторінку
-first_page.label=На першу сторінку
-first_page_label=На першу сторінку
-last_page.title=На останню сторінку
-last_page.label=На останню сторінку
-last_page_label=На останню сторінку
-page_rotate_cw.title=Повернути за годинниковою стрілкою
-page_rotate_cw.label=Повернути за годинниковою стрілкою
-page_rotate_cw_label=Повернути за годинниковою стрілкою
-page_rotate_ccw.title=Повернути проти годинникової стрілки
-page_rotate_ccw.label=Повернути проти годинникової стрілки
-page_rotate_ccw_label=Повернути проти годинникової стрілки
-
-cursor_text_select_tool.title=Увімкнути інструмент вибору тексту
-cursor_text_select_tool_label=Інструмент вибору тексту
-cursor_hand_tool.title=Увімкнути інструмент «Рука»
-cursor_hand_tool_label=Інструмент «Рука»
-
-scroll_vertical.title=Використовувати вертикальне прокручування
-scroll_vertical_label=Вертикальне прокручування
-scroll_horizontal.title=Використовувати горизонтальне прокручування
-scroll_horizontal_label=Горизонтальне прокручування
-scroll_wrapped.title=Використовувати масштабоване прокручування
-scroll_wrapped_label=Масштабоване прокручування
-
-spread_none.title=Не використовувати розгорнуті сторінки
-spread_none_label=Без розгорнутих сторінок
-spread_odd.title=Розгорнуті сторінки починаються з непарних номерів
-spread_odd_label=Непарні сторінки зліва
-spread_even.title=Розгорнуті сторінки починаються з парних номерів
-spread_even_label=Парні сторінки зліва
-
-# Document properties dialog box
-document_properties.title=Властивості документа…
-document_properties_label=Властивості документа…
-document_properties_file_name=Назва файла:
-document_properties_file_size=Розмір файла:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} КБ ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} МБ ({{size_b}} bytes)
-document_properties_title=Заголовок:
-document_properties_author=Автор:
-document_properties_subject=Тема:
-document_properties_keywords=Ключові слова:
-document_properties_creation_date=Дата створення:
-document_properties_modification_date=Дата зміни:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Створено:
-document_properties_producer=Виробник PDF:
-document_properties_version=Версія PDF:
-document_properties_page_count=Кількість сторінок:
-document_properties_page_size=Розмір сторінки:
-document_properties_page_size_unit_inches=дюймів
-document_properties_page_size_unit_millimeters=мм
-document_properties_page_size_orientation_portrait=книжкова
-document_properties_page_size_orientation_landscape=альбомна
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Швидкий перегляд в Інтернеті:
-document_properties_linearized_yes=Так
-document_properties_linearized_no=Ні
-document_properties_close=Закрити
-
-print_progress_message=Підготовка документу до друку…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Скасувати
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Бічна панель
-toggle_sidebar_notification.title=Перемкнути бічну панель (документ має вміст/вкладення)
-toggle_sidebar_label=Перемкнути бічну панель
-document_outline.title=Показати схему документу (подвійний клік для розгортання/згортання елементів)
-document_outline_label=Схема документа
-attachments.title=Показати прикріплення
-attachments_label=Прикріплення
-thumbs.title=Показувати ескізи
-thumbs_label=Ескізи
-findbar.title=Знайти в документі
-findbar_label=Пошук
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Сторінка {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Сторінка {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ескіз сторінки {{page}}
-
-# Find panel button title and messages
-find_input.title=Знайти
-find_input.placeholder=Знайти в документі…
-find_previous.title=Знайти попереднє входження фрази
-find_previous_label=Попереднє
-find_next.title=Знайти наступне входження фрази
-find_next_label=Наступне
-find_highlight=Підсвітити все
-find_match_case_label=З урахуванням регістру
-find_entire_word_label=Цілі слова
-find_reached_top=Досягнуто початку документу, продовжено з кінця
-find_reached_bottom=Досягнуто кінця документу, продовжено з початку
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} збіг із {{total}}
-find_match_count[two]={{current}} збіги з {{total}}
-find_match_count[few]={{current}} збігів із {{total}}
-find_match_count[many]={{current}} збігів із {{total}}
-find_match_count[other]={{current}} збігів із {{total}}
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Понад {{limit}} збігів
-find_match_count_limit[one]=Більше, ніж {{limit}} збіг
-find_match_count_limit[two]=Більше, ніж {{limit}} збіги
-find_match_count_limit[few]=Більше, ніж {{limit}} збігів
-find_match_count_limit[many]=Понад {{limit}} збігів
-find_match_count_limit[other]=Понад {{limit}} збігів
-find_not_found=Фразу не знайдено
-
-# Error panel labels
-error_more_info=Більше інформації
-error_less_info=Менше інформації
-error_close=Закрити
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Повідомлення: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Стек: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Файл: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Рядок: {{line}}
-rendering_error=Під час виведення сторінки сталася помилка.
-
-# Predefined zoom values
-page_scale_width=За шириною
-page_scale_fit=Умістити
-page_scale_auto=Авто-масштаб
-page_scale_actual=Дійсний розмір
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Помилка
-loading_error=Під час завантаження PDF сталася помилка.
-invalid_file_error=Недійсний або пошкоджений PDF-файл.
-missing_file_error=Відсутній PDF-файл.
-unexpected_response_error=Неочікувана відповідь сервера.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}}-аннотація]
-password_label=Введіть пароль для відкриття цього PDF-файла.
-password_invalid=Невірний пароль. Спробуйте ще.
-password_ok=Гаразд
-password_cancel=Скасувати
-
-printing_not_supported=Попередження: Цей браузер не повністю підтримує друк.
-printing_not_ready=Попередження: PDF не повністю завантажений для друку.
-web_fonts_disabled=Веб-шрифти вимкнено: неможливо використати вбудовані у PDF шрифти.
-document_colors_not_allowed=PDF-документам не дозволено використовувати власні кольори: в браузері вимкнено параметр «Дозволити сторінкам використовувати власні кольори».
diff --git a/server/target/classes/static/pdfjs/web/locale/ur/viewer.properties b/server/target/classes/static/pdfjs/web/locale/ur/viewer.properties
deleted file mode 100644
index d7e360e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/ur/viewer.properties
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=پچھلا صفحہ
-previous_label=پچھلا
-next.title=اگلا صفحہ
-next_label=آگے
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=صفحہ
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages={{pagesCount}} کا
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} کا {{pagesCount}})
-
-zoom_out.title=باہر زوم کریں
-zoom_out_label=باہر زوم کریں
-zoom_in.title=اندر زوم کریں
-zoom_in_label=اندر زوم کریں
-zoom.title=زوم
-presentation_mode.title=پیشکش موڈ میں چلے جائیں
-presentation_mode_label=پیشکش موڈ
-open_file.title=مسل کھولیں
-open_file_label=کھولیں
-print.title=چھاپیں
-print_label=چھاپیں
-download.title=ڈاؤن لوڈ
-download_label=ڈاؤن لوڈ
-bookmark.title=حالیہ نظارہ (نۓ دریچہ میں نقل کریں یا کھولیں)
-bookmark_label=حالیہ نظارہ
-
-# Secondary toolbar and context menu
-tools.title=آلات
-tools_label=آلات
-first_page.title=پہلے صفحہ پر جائیں
-first_page.label=پہلے صفحہ پر جائیں
-first_page_label=پہلے صفحہ پر جائیں
-last_page.title=آخری صفحہ پر جائیں
-last_page.label=آخری صفحہ پر جائیں
-last_page_label=آخری صفحہ پر جائیں
-page_rotate_cw.title=گھڑی وار گھمائیں
-page_rotate_cw.label=گھڑی وار گھمائیں
-page_rotate_cw_label=گھڑی وار گھمائیں
-page_rotate_ccw.title=ضد گھڑی وار گھمائیں
-page_rotate_ccw.label=ضد گھڑی وار گھمائیں
-page_rotate_ccw_label=ضد گھڑی وار گھمائیں
-
-cursor_text_select_tool.title=متن کے انتخاب کے ٹول کو فعال بناے
-cursor_text_select_tool_label=متن کے انتخاب کا آلہ
-cursor_hand_tool_label=ہاتھ کا آلہ
-
-scroll_vertical.title=عمودی اسکرولنگ کا استعمال کریں
-scroll_vertical_label=عمودی اسکرولنگ
-
-spread_none_label=کوئی پھیلاؤ نہیں
-spread_odd_label=تاک پھیلاؤ
-spread_even_label=جفت پھیلاؤ
-
-# Document properties dialog box
-document_properties.title=دستاویز خواص…
-document_properties_label=دستاویز خواص…\u0020
-document_properties_file_name=نام مسل:
-document_properties_file_size=مسل سائز:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=عنوان:
-document_properties_author=تخلیق کار:
-document_properties_subject=موضوع:
-document_properties_keywords=کلیدی الفاظ:
-document_properties_creation_date=تخلیق کی تاریخ:
-document_properties_modification_date=ترمیم کی تاریخ:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}، {{time}}
-document_properties_creator=تخلیق کار:
-document_properties_producer=PDF پیدا کار:
-document_properties_version=PDF ورژن:
-document_properties_page_count=صفحہ شمار:
-document_properties_page_size=صفہ کی لمبائ:
-document_properties_page_size_unit_inches=میں
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=عمودی انداز
-document_properties_page_size_orientation_landscape=افقى انداز
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=خط
-document_properties_page_size_name_legal=قانونی
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized_yes=ہاں
-document_properties_linearized_no=نہیں
-document_properties_close=بند کریں
-
-print_progress_message=چھاپنے کرنے کے لیے دستاویز تیار کیے جا رھے ھیں
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent=*{{progress}}%*
-print_progress_close=منسوخ کریں
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=سلائیڈ ٹوگل کریں
-toggle_sidebar_label=سلائیڈ ٹوگل کریں
-document_outline.title=دستاویز کی سرخیاں دکھایں (تمام اشیاء وسیع / غائب کرنے کے لیے ڈبل کلک کریں)
-document_outline_label=دستاویز آؤٹ لائن
-attachments.title=منسلکات دکھائیں
-attachments_label=منسلکات
-thumbs.title=تھمبنیل دکھائیں
-thumbs_label=مجمل
-findbar.title=دستاویز میں ڈھونڈیں
-findbar_label=ڈھونڈیں
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=صفحہ {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=صفحے کا مجمل {{page}}
-
-# Find panel button title and messages
-find_input.title=ڈھونڈیں
-find_input.placeholder=دستاویز… میں ڈھونڈیں
-find_previous.title=فقرے کا پچھلا وقوع ڈھونڈیں
-find_previous_label=پچھلا
-find_next.title=فقرے کا اگلہ وقوع ڈھونڈیں
-find_next_label=آگے
-find_highlight=تمام نمایاں کریں
-find_match_case_label=حروف مشابہ کریں
-find_entire_word_label=تمام الفاظ
-find_reached_top=صفحہ کے شروع پر پہنچ گیا، نیچے سے جاری کیا
-find_reached_bottom=صفحہ کے اختتام پر پہنچ گیا، اوپر سے جاری کیا
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_not_found=فقرا نہیں ملا
-
-# Error panel labels
-error_more_info=مزید معلومات
-error_less_info=کم معلومات
-error_close=بند کریں
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=پیغام: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=سٹیک: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=مسل: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=لائن: {{line}}
-rendering_error=صفحہ بناتے ہوئے نقص آ گیا۔
-
-# Predefined zoom values
-page_scale_width=صفحہ چوڑائی
-page_scale_fit=صفحہ فٹنگ
-page_scale_auto=خودکار زوم
-page_scale_actual=اصل سائز
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=نقص
-loading_error=PDF لوڈ کرتے وقت نقص آ گیا۔
-invalid_file_error=ناجائز یا خراب PDF مسل
-missing_file_error=PDF مسل غائب ہے۔
-unexpected_response_error=غیرمتوقع پیش کار جواب
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} نوٹ]
-password_label=PDF مسل کھولنے کے لیے پاس ورڈ داخل کریں.
-password_invalid=ناجائز پاس ورڈ. براےؑ کرم دوبارہ کوشش کریں.
-password_ok=سہی
-password_cancel=منسوخ کریں
-
-printing_not_supported=تنبیہ:چھاپنا اس براؤزر پر پوری طرح معاونت شدہ نہیں ہے۔
-printing_not_ready=تنبیہ: PDF چھپائی کے لیے پوری طرح لوڈ نہیں ہوئی۔
-web_fonts_disabled=ویب فانٹ نا اہل ہیں: شامل PDF فانٹ استعمال کرنے میں ناکام۔
-document_colors_not_allowed=PDF دستاویزات کو اپنے رنگ استعمال کرنے کی اجازت نہیں: 'صفحات کو اپنے رنگ چنیں' کی اِجازت براؤزر میں بے عمل ہے۔
diff --git a/server/target/classes/static/pdfjs/web/locale/uz/viewer.properties b/server/target/classes/static/pdfjs/web/locale/uz/viewer.properties
deleted file mode 100644
index e451c74..0000000
--- a/server/target/classes/static/pdfjs/web/locale/uz/viewer.properties
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Oldingi sahifa
-previous_label=Oldingi
-next.title=Keyingi sahifa
-next_label=Keyingi
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/{{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Kichiklashtirish
-zoom_out_label=Kichiklashtirish
-zoom_in.title=Kattalashtirish
-zoom_in_label=Kattalashtirish
-zoom.title=Masshtab
-presentation_mode.title=Namoyish usuliga oʻtish
-presentation_mode_label=Namoyish usuli
-open_file.title=Faylni ochish
-open_file_label=Ochish
-print.title=Chop qilish
-print_label=Chop qilish
-download.title=Yuklab olish
-download_label=Yuklab olish
-bookmark.title=Joriy koʻrinish (nusxa oling yoki yangi oynada oching)
-bookmark_label=Joriy koʻrinish
-
-# Secondary toolbar and context menu
-tools.title=Vositalar
-tools_label=Vositalar
-first_page.title=Birinchi sahifaga oʻtish
-first_page.label=Birinchi sahifaga oʻtish
-first_page_label=Birinchi sahifaga oʻtish
-last_page.title=Soʻnggi sahifaga oʻtish
-last_page.label=Soʻnggi sahifaga oʻtish
-last_page_label=Soʻnggi sahifaga oʻtish
-page_rotate_cw.title=Soat yoʻnalishi boʻyicha burish
-page_rotate_cw.label=Soat yoʻnalishi boʻyicha burish
-page_rotate_cw_label=Soat yoʻnalishi boʻyicha burish
-page_rotate_ccw.title=Soat yoʻnalishiga qarshi burish
-page_rotate_ccw.label=Soat yoʻnalishiga qarshi burish
-page_rotate_ccw_label=Soat yoʻnalishiga qarshi burish
-
-
-# Document properties dialog box
-document_properties.title=Hujjat xossalari
-document_properties_label=Hujjat xossalari
-document_properties_file_name=Fayl nomi:
-document_properties_file_size=Fayl hajmi:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
-document_properties_title=Nomi:
-document_properties_author=Muallifi:
-document_properties_subject=Mavzusi:
-document_properties_keywords=Kalit so‘zlar
-document_properties_creation_date=Yaratilgan sanasi:
-document_properties_modification_date=O‘zgartirilgan sanasi
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Yaratuvchi:
-document_properties_producer=PDF ishlab chiqaruvchi:
-document_properties_version=PDF versiyasi:
-document_properties_page_count=Sahifa soni:
-document_properties_close=Yopish
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Yon panelni yoqib/oʻchirib qoʻyish
-toggle_sidebar_label=Yon panelni yoqib/oʻchirib qoʻyish
-document_outline_label=Hujjat tuzilishi
-attachments.title=Ilovalarni ko‘rsatish
-attachments_label=Ilovalar
-thumbs.title=Nishonchalarni koʻrsatish
-thumbs_label=Nishoncha
-findbar.title=Hujjat ichidan topish
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title={{page}} sahifa
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas={{page}} sahifa nishonchasi
-
-# Find panel button title and messages
-find_previous.title=Soʻzlardagi oldingi hodisani topish
-find_previous_label=Oldingi
-find_next.title=Iboradagi keyingi hodisani topish
-find_next_label=Keyingi
-find_highlight=Barchasini ajratib koʻrsatish
-find_match_case_label=Katta-kichik harflarni farqlash
-find_reached_top=Hujjatning boshigacha yetib keldik, pastdan davom ettiriladi
-find_reached_bottom=Hujjatning oxiriga yetib kelindi, yuqoridan davom ettirladi
-find_not_found=Soʻzlar topilmadi
-
-# Error panel labels
-error_more_info=Koʻproq ma`lumot
-error_less_info=Kamroq ma`lumot
-error_close=Yopish
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Xabar: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Toʻplam: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Fayl: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Satr: {{line}}
-rendering_error=Sahifa renderlanayotganda xato yuz berdi.
-
-# Predefined zoom values
-page_scale_width=Sahifa eni
-page_scale_fit=Sahifani moslashtirish
-page_scale_auto=Avtomatik masshtab
-page_scale_actual=Haqiqiy hajmi
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Xato
-loading_error=PDF yuklanayotganda xato yuz berdi.
-invalid_file_error=Xato yoki buzuq PDF fayli.
-missing_file_error=PDF fayl kerak.
-unexpected_response_error=Kutilmagan server javobi.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Annotation]
-password_label=PDF faylni ochish uchun parolni kiriting.
-password_invalid=Parol - notoʻgʻri. Qaytadan urinib koʻring.
-password_ok=OK
-
-printing_not_supported=Diqqat: chop qilish bruzer tomonidan toʻliq qoʻllab-quvvatlanmaydi.
-printing_not_ready=Diqqat: PDF fayl chop qilish uchun toʻliq yuklanmadi.
-web_fonts_disabled=Veb shriftlar oʻchirilgan: ichki PDF shriftlardan foydalanib boʻlmmaydi.
-document_colors_not_allowed=PDF hujjat oʻzining ranglaridan foydalanishga ruxsat bermaydi: 'Sahifalarga oʻzining rangidan foydalanishga ruxsat berish' ushbu brauzerda oʻchirib qoʻyilgan.
diff --git a/server/target/classes/static/pdfjs/web/locale/vi/viewer.properties b/server/target/classes/static/pdfjs/web/locale/vi/viewer.properties
deleted file mode 100644
index b8ee16e..0000000
--- a/server/target/classes/static/pdfjs/web/locale/vi/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Trang trước
-previous_label=Trước
-next.title=Trang Sau
-next_label=Tiếp
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Trang
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=trên {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} trên {{pagesCount}})
-
-zoom_out.title=Thu nhỏ
-zoom_out_label=Thu nhỏ
-zoom_in.title=Phóng to
-zoom_in_label=Phóng to
-zoom.title=Thu phóng
-presentation_mode.title=Chuyển sang chế độ trình chiếu
-presentation_mode_label=Chế độ trình chiếu
-open_file.title=Mở tập tin
-open_file_label=Mở tập tin
-print.title=In
-print_label=In
-download.title=Tải xuống
-download_label=Tải xuống
-bookmark.title=Chế độ xem hiện tại (sao chép hoặc mở trong cửa sổ mới)
-bookmark_label=Chế độ xem hiện tại
-
-# Secondary toolbar and context menu
-tools.title=Công cụ
-tools_label=Công cụ
-first_page.title=Về trang đầu
-first_page.label=Về trang đầu
-first_page_label=Về trang đầu
-last_page.title=Đến trang cuối
-last_page.label=Đến trang cuối
-last_page_label=Đến trang cuối
-page_rotate_cw.title=Xoay theo chiều kim đồng hồ
-page_rotate_cw.label=Xoay theo chiều kim đồng hồ
-page_rotate_cw_label=Xoay theo chiều kim đồng hồ
-page_rotate_ccw.title=Xoay ngược chiều kim đồng hồ
-page_rotate_ccw.label=Xoay ngược chiều kim đồng hồ
-page_rotate_ccw_label=Xoay ngược chiều kim đồng hồ
-
-cursor_text_select_tool.title=Kích hoạt công cụ chọn vùng văn bản
-cursor_text_select_tool_label=Công cụ chọn vùng văn bản
-cursor_hand_tool.title=Kích hoạt công cụ con trỏ
-cursor_hand_tool_label=Công cụ con trỏ
-
-scroll_vertical.title=Sử dụng cuộn dọc
-scroll_vertical_label=Cuộn dọc
-scroll_horizontal.title=Sử dụng cuộn ngang
-scroll_horizontal_label=Cuộn ngang
-scroll_wrapped.title=Sử dụng cuộn ngắt dòng
-scroll_wrapped_label=Cuộn ngắt dòng
-
-spread_none.title=Không nối rộng trang
-spread_none_label=Không có phân cách
-spread_odd.title=Nối trang bài bắt đầu với các trang được đánh số lẻ
-spread_odd_label=Phân cách theo số lẻ
-spread_even.title=Nối trang bài bắt đầu với các trang được đánh số chẵn
-spread_even_label=Phân cách theo số chẵn
-
-# Document properties dialog box
-document_properties.title=Thuộc tính của tài liệu…
-document_properties_label=Thuộc tính của tài liệu…
-document_properties_file_name=Tên tập tin:
-document_properties_file_size=Kích thước:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} byte)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} byte)
-document_properties_title=Tiêu đề:
-document_properties_author=Tác giả:
-document_properties_subject=Chủ đề:
-document_properties_keywords=Từ khóa:
-document_properties_creation_date=Ngày tạo:
-document_properties_modification_date=Ngày sửa đổi:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Người tạo:
-document_properties_producer=Phần mềm tạo PDF:
-document_properties_version=Phiên bản PDF:
-document_properties_page_count=Tổng số trang:
-document_properties_page_size=Kích thước trang:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=khổ dọc
-document_properties_page_size_orientation_landscape=khổ ngang
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Thư
-document_properties_page_size_name_legal=Pháp lý
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=Xem nhanh trên web:
-document_properties_linearized_yes=Có
-document_properties_linearized_no=Không
-document_properties_close=Ðóng
-
-print_progress_message=Chuẩn bị trang để in…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Hủy bỏ
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Bật/Tắt thanh lề
-toggle_sidebar_notification.title=Bật tắt thanh lề (tài liệu bao gồm bản phác thảo/tập tin đính kèm)
-toggle_sidebar_label=Bật/Tắt thanh lề
-document_outline.title=Hiện tài liệu phác thảo (nhấp đúp vào để mở rộng/thu gọn tất cả các mục)
-document_outline_label=Bản phác tài liệu
-attachments.title=Hiện nội dung đính kèm
-attachments_label=Nội dung đính kèm
-thumbs.title=Hiển thị ảnh thu nhỏ
-thumbs_label=Ảnh thu nhỏ
-findbar.title=Tìm trong tài liệu
-findbar_label=Tìm
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=Trang {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Trang {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ảnh thu nhỏ của trang {{page}}
-
-# Find panel button title and messages
-find_input.title=Tìm
-find_input.placeholder=Tìm trong tài liệu…
-find_previous.title=Tìm cụm từ ở phần trước
-find_previous_label=Trước
-find_next.title=Tìm cụm từ ở phần sau
-find_next_label=Tiếp
-find_highlight=Tô sáng tất cả
-find_match_case_label=Phân biệt hoa, thường
-find_entire_word_label=Toàn bộ từ
-find_reached_top=Đã đến phần đầu tài liệu, quay trở lại từ cuối
-find_reached_bottom=Đã đến phần cuối của tài liệu, quay trở lại từ đầu
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]={{current}} của {{total}} đã trùng
-find_match_count[two]={{current}} của {{total}} đã trùng
-find_match_count[few]={{current}} của {{total}} đã trùng
-find_match_count[many]={{current}} của {{total}} đã trùng
-find_match_count[other]={{current}} của {{total}} đã trùng
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=Nhiều hơn {{limit}} đã trùng
-find_match_count_limit[one]=Nhiều hơn {{limit}} đã trùng
-find_match_count_limit[two]=Nhiều hơn {{limit}} đã trùng
-find_match_count_limit[few]=Nhiều hơn {{limit}} đã trùng
-find_match_count_limit[many]=Nhiều hơn {{limit}} đã trùng
-find_match_count_limit[other]=Nhiều hơn {{limit}} đã trùng
-find_not_found=Không tìm thấy cụm từ này
-
-# Error panel labels
-error_more_info=Thông tin thêm
-error_less_info=Hiển thị ít thông tin hơn
-error_close=Đóng
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Thông điệp: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Stack: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Tập tin: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Dòng: {{line}}
-rendering_error=Lỗi khi hiển thị trang.
-
-# Predefined zoom values
-page_scale_width=Vừa chiều rộng
-page_scale_fit=Vừa chiều cao
-page_scale_auto=Tự động chọn kích thước
-page_scale_actual=Kích thước thực
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Lỗi
-loading_error=Lỗi khi tải tài liệu PDF.
-invalid_file_error=Tập tin PDF hỏng hoặc không hợp lệ.
-missing_file_error=Thiếu tập tin PDF.
-unexpected_response_error=Máy chủ có phản hồi lạ.
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}, {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Chú thích]
-password_label=Nhập mật khẩu để mở tập tin PDF này.
-password_invalid=Mật khẩu không đúng. Vui lòng thử lại.
-password_ok=OK
-password_cancel=Hủy bỏ
-
-printing_not_supported=Cảnh báo: In ấn không được hỗ trợ đầy đủ ở trình duyệt này.
-printing_not_ready=Cảnh báo: PDF chưa được tải hết để in.
-web_fonts_disabled=Phông chữ Web bị vô hiệu hóa: không thể sử dụng các phông chữ PDF được nhúng.
-document_colors_not_allowed=Tài liệu PDF không được cho phép dùng màu riêng: 'Cho phép trang chọn màu riêng' đã bị tắt trên trình duyệt.
diff --git a/server/target/classes/static/pdfjs/web/locale/wo/viewer.properties b/server/target/classes/static/pdfjs/web/locale/wo/viewer.properties
deleted file mode 100644
index 38c7bc1..0000000
--- a/server/target/classes/static/pdfjs/web/locale/wo/viewer.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Xët wi jiitu
-previous_label=Bi jiitu
-next.title=Xët wi ci topp
-next_label=Bi ci topp
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-
-zoom_out.title=Wàññi
-zoom_out_label=Wàññi
-zoom_in.title=Yaatal
-zoom_in_label=Yaatal
-zoom.title=Yambalaŋ
-presentation_mode.title=Wañarñil ci anamu wone
-presentation_mode_label=Anamu Wone
-open_file.title=Ubbi benn dencukaay
-open_file_label=Ubbi
-print.title=Móol
-print_label=Móol
-download.title=Yeb yi
-download_label=Yeb yi
-bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees)
-bookmark_label=Wone bi feeñ
-
-# Secondary toolbar and context menu
-
-
-# Document properties dialog box
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_title=Bopp:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-thumbs.title=Wone nataal yu ndaw yi
-thumbs_label=Nataal yu ndaw yi
-findbar.title=Gis ci biir jukki bi
-findbar_label=Wut
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Xët {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Wiñet bu xët {{page}}
-
-# Find panel button title and messages
-find_previous.title=Seet beneen kaddu bu ni mel te jiitu
-find_previous_label=Bi jiitu
-find_next.title=Seet beneen kaddu bu ni mel
-find_next_label=Bi ci topp
-find_highlight=Melaxal lépp
-find_match_case_label=Sàmm jëmmalin wi
-find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf
-find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte
-find_not_found=Gisiñu kaddu gi
-
-# Error panel labels
-error_more_info=Xibaar yu gën bari
-error_less_info=Xibaar yu gën bari
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Bataaxal: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Juug: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Dencukaay: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Rëdd : {{line}}
-rendering_error=Am njumte bu am bi xët bi di wonewu.
-
-# Predefined zoom values
-page_scale_width=Yaatuwaay bu mët
-page_scale_fit=Xët lëmm
-page_scale_auto=Yambalaŋ ci saa si
-page_scale_actual=Dayo bi am
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-
-# Loading indicator messages
-loading_error_indicator=Njumte
-loading_error=Am na njumte ci yebum dencukaay PDF bi.
-invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[Karmat {{type}}]
-password_ok=OK
-password_cancel=Neenal
-
-printing_not_supported=Artu: Joowkat bii nanguwul lool mool.
diff --git a/server/target/classes/static/pdfjs/web/locale/xh/viewer.properties b/server/target/classes/static/pdfjs/web/locale/xh/viewer.properties
deleted file mode 100644
index 1fa394b..0000000
--- a/server/target/classes/static/pdfjs/web/locale/xh/viewer.properties
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=Iphepha langaphambili
-previous_label=Okwangaphambili
-next.title=Iphepha elilandelayo
-next_label=Okulandelayo
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=Iphepha
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=kwali- {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} kwali {{pagesCount}})
-
-zoom_out.title=Bhekelisela Kudana
-zoom_out_label=Bhekelisela Kudana
-zoom_in.title=Sondeza Kufuphi
-zoom_in_label=Sondeza Kufuphi
-zoom.title=Yandisa / Nciphisa
-presentation_mode.title=Tshintshela kwimo yonikezelo
-presentation_mode_label=Imo yonikezelo
-open_file.title=Vula Ifayile
-open_file_label=Vula
-print.title=Printa
-print_label=Printa
-download.title=Khuphela
-download_label=Khuphela
-bookmark.title=Imbonakalo ekhoyo (kopa okanye vula kwifestile entsha)
-bookmark_label=Imbonakalo ekhoyo
-
-# Secondary toolbar and context menu
-tools.title=Izixhobo zemiyalelo
-tools_label=Izixhobo zemiyalelo
-first_page.title=Yiya kwiphepha lokuqala
-first_page.label=Yiya kwiphepha lokuqala
-first_page_label=Yiya kwiphepha lokuqala
-last_page.title=Yiya kwiphepha lokugqibela
-last_page.label=Yiya kwiphepha lokugqibela
-last_page_label=Yiya kwiphepha lokugqibela
-page_rotate_cw.title=Jikelisa ngasekunene
-page_rotate_cw.label=Jikelisa ngasekunene
-page_rotate_cw_label=Jikelisa ngasekunene
-page_rotate_ccw.title=Jikelisa ngasekhohlo
-page_rotate_ccw.label=Jikelisa ngasekhohlo
-page_rotate_ccw_label=Jikelisa ngasekhohlo
-
-cursor_text_select_tool.title=Vumela iSixhobo sokuKhetha iTeksti
-cursor_text_select_tool_label=ISixhobo sokuKhetha iTeksti
-cursor_hand_tool.title=Yenza iSixhobo seSandla siSebenze
-cursor_hand_tool_label=ISixhobo seSandla
-
-# Document properties dialog box
-document_properties.title=Iipropati zoxwebhu…
-document_properties_label=Iipropati zoxwebhu…
-document_properties_file_name=Igama lefayile:
-document_properties_file_size=Isayizi yefayile:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB (iibhayiti{{size_b}})
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB (iibhayithi{{size_b}})
-document_properties_title=Umxholo:
-document_properties_author=Umbhali:
-document_properties_subject=Umbandela:
-document_properties_keywords=Amagama aphambili:
-document_properties_creation_date=Umhla wokwenziwa kwayo:
-document_properties_modification_date=Umhla wokulungiswa kwayo:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=Umntu oyenzileyo:
-document_properties_producer=Umvelisi we-PDF:
-document_properties_version=Uhlelo lwe-PDF:
-document_properties_page_count=Inani lamaphepha:
-document_properties_close=Vala
-
-print_progress_message=Ilungisa uxwebhu ukuze iprinte…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=Rhoxisa
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=Togola ngebha eseCaleni
-toggle_sidebar_notification.title=ISidebar yeQhosha (uxwebhu lunolwandlalo/iziqhotyoshelwa)
-toggle_sidebar_label=Togola ngebha eseCaleni
-document_outline.title=Bonisa uLwandlalo loXwebhu (cofa kabini ukuze wandise/diliza zonke izinto)
-document_outline_label=Isishwankathelo soxwebhu
-attachments.title=Bonisa iziqhotyoshelwa
-attachments_label=Iziqhoboshelo
-thumbs.title=Bonisa ukrobiso kumfanekiso
-thumbs_label=Ukrobiso kumfanekiso
-findbar.title=Fumana kuXwebhu
-findbar_label=Fumana
-
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=Iphepha {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=Ukrobiso kumfanekiso wephepha {{page}}
-
-# Find panel button title and messages
-find_input.title=Fumana
-find_input.placeholder=Fumana kuXwebhu…
-find_previous.title=Fumanisa isenzeko sangaphambili sebinzana lamagama
-find_previous_label=Okwangaphambili
-find_next.title=Fumanisa isenzeko esilandelayo sebinzana lamagama
-find_next_label=Okulandelayo
-find_highlight=Qaqambisa konke
-find_match_case_label=Tshatisa ngobukhulu bukanobumba
-find_reached_top=Ufike ngaphezulu ephepheni, kusukwa ngezantsi
-find_reached_bottom=Ufike ekupheleni kwephepha, kusukwa ngaphezulu
-find_not_found=Ibinzana alifunyenwanga
-
-# Error panel labels
-error_more_info=Inkcazelo Engakumbi
-error_less_info=Inkcazelo Encinane
-error_close=Vala
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=I-PDF.js v{{version}} (yakha: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=Umyalezo: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=Imfumba: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=Ifayile: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=Umgca: {{line}}
-rendering_error=Imposiso yenzekile xa bekunikezelwa iphepha.
-
-# Predefined zoom values
-page_scale_width=Ububanzi bephepha
-page_scale_fit=Ukulinganiswa kwephepha
-page_scale_auto=Ukwandisa/Ukunciphisa Ngokwayo
-page_scale_actual=Ubungakanani bokwenene
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=Imposiso
-loading_error=Imposiso yenzekile xa kulayishwa i-PDF.
-invalid_file_error=Ifayile ye-PDF engeyiyo okanye eyonakalisiweyo.
-missing_file_error=Ifayile ye-PDF edukileyo.
-unexpected_response_error=Impendulo yeseva engalindelekanga.
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} Ubhalo-nqaku]
-password_label=Faka ipasiwedi ukuze uvule le fayile yePDF.
-password_invalid=Ipasiwedi ayisebenzi. Nceda uzame kwakhona.
-password_ok=KULUNGILE
-password_cancel=Rhoxisa
-
-printing_not_supported=Isilumkiso: Ukuprinta akuxhaswa ngokupheleleyo yile bhrawuza.
-printing_not_ready=Isilumkiso: IPDF ayihlohlwanga ngokupheleleyo ukwenzela ukuprinta.
-web_fonts_disabled=Iifonti zewebhu ziqhwalelisiwe: ayikwazi ukusebenzisa iifonti ze-PDF ezincanyathelisiweyo.
-document_colors_not_allowed=Amaxwebhu ePDF akavumelekanga ukuba asebenzise imibala yawo: 'Ukuvumela amaphepha ukuba asebenzise eyawo imibala' kuvaliwe ukuba kungasebenzi kwibhrawuza.
diff --git a/server/target/classes/static/pdfjs/web/locale/zh-CN/viewer.properties b/server/target/classes/static/pdfjs/web/locale/zh-CN/viewer.properties
deleted file mode 100644
index 2dc609b..0000000
--- a/server/target/classes/static/pdfjs/web/locale/zh-CN/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=上一页
-previous_label=上一页
-next.title=下一页
-next_label=下一页
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=页面
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=/ {{pagesCount}}
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=({{pageNumber}} / {{pagesCount}})
-
-zoom_out.title=缩小
-zoom_out_label=缩小
-zoom_in.title=放大
-zoom_in_label=放大
-zoom.title=缩放
-presentation_mode.title=切换到演示模式
-presentation_mode_label=演示模式
-open_file.title=打开文件
-open_file_label=打开
-print.title=打印
-print_label=打印
-download.title=下载
-download_label=下载
-bookmark.title=当前在看的内容（复制或在新窗口中打开）
-bookmark_label=当前在看
-
-# Secondary toolbar and context menu
-tools.title=工具
-tools_label=工具
-first_page.title=转到第一页
-first_page.label=转到第一页
-first_page_label=转到第一页
-last_page.title=转到最后一页
-last_page.label=转到最后一页
-last_page_label=转到最后一页
-page_rotate_cw.title=顺时针旋转
-page_rotate_cw.label=顺时针旋转
-page_rotate_cw_label=顺时针旋转
-page_rotate_ccw.title=逆时针旋转
-page_rotate_ccw.label=逆时针旋转
-page_rotate_ccw_label=逆时针旋转
-
-cursor_text_select_tool.title=启用文本选择工具
-cursor_text_select_tool_label=文本选择工具
-cursor_hand_tool.title=启用手形工具
-cursor_hand_tool_label=手形工具
-
-scroll_vertical.title=使用垂直滚动
-scroll_vertical_label=垂直滚动
-scroll_horizontal.title=使用水平滚动
-scroll_horizontal_label=水平滚动
-scroll_wrapped.title=使用平铺滚动
-scroll_wrapped_label=平铺滚动
-
-spread_none.title=不加入衔接页
-spread_none_label=单页视图
-spread_odd.title=加入衔接页使奇数页作为起始页
-spread_odd_label=双页视图
-spread_even.title=加入衔接页使偶数页作为起始页
-spread_even_label=书籍视图
-
-# Document properties dialog box
-document_properties.title=文档属性…
-document_properties_label=文档属性…
-document_properties_file_name=文件名:
-document_properties_file_size=文件大小:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB ({{size_b}} 字节)
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB ({{size_b}} 字节)
-document_properties_title=标题:
-document_properties_author=作者:
-document_properties_subject=主题:
-document_properties_keywords=关键词:
-document_properties_creation_date=创建日期:
-document_properties_modification_date=修改日期:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}}, {{time}}
-document_properties_creator=创建者:
-document_properties_producer=PDF 生成器：
-document_properties_version=PDF 版本:
-document_properties_page_count=页数:
-document_properties_page_size=页面大小：
-document_properties_page_size_unit_inches=英寸
-document_properties_page_size_unit_millimeters=毫米
-document_properties_page_size_orientation_portrait=纵向
-document_properties_page_size_orientation_landscape=横向
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=文本
-document_properties_page_size_name_legal=法律
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}（{{orientation}}）
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}（{{name}}，{{orientation}}）
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=快速 Web 视图：
-document_properties_linearized_yes=是
-document_properties_linearized_no=否
-document_properties_close=关闭
-
-print_progress_message=正在准备打印文档…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=取消
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=切换侧栏
-toggle_sidebar_notification.title=切换侧栏（文档所含的大纲/附件）
-toggle_sidebar_label=切换侧栏
-document_outline.title=显示文档大纲（双击展开/折叠所有项）
-document_outline_label=文档大纲
-attachments.title=显示附件
-attachments_label=附件
-thumbs.title=显示缩略图
-thumbs_label=缩略图
-findbar.title=在文档中查找
-findbar_label=查找
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=页码 {{page}}
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=页码 {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=页面 {{page}} 的缩略图
-
-# Find panel button title and messages
-find_input.title=查找
-find_input.placeholder=在文档中查找…
-find_previous.title=查找词语上一次出现的位置
-find_previous_label=上一页
-find_next.title=查找词语后一次出现的位置
-find_next_label=下一页
-find_highlight=全部高亮显示
-find_match_case_label=区分大小写
-find_entire_word_label=字词匹配
-find_reached_top=到达文档开头，从末尾继续
-find_reached_bottom=到达文档末尾，从开头继续
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=第 {{current}} 项，共匹配 {{total}} 项
-find_match_count[two]=第 {{current}} 项，共匹配 {{total}} 项
-find_match_count[few]=第 {{current}} 项，共匹配 {{total}} 项
-find_match_count[many]=第 {{current}} 项，共匹配 {{total}} 项
-find_match_count[other]=第 {{current}} 项，共匹配 {{total}} 项
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=超过 {{limit}} 项匹配
-find_match_count_limit[one]=超过 {{limit}} 项匹配
-find_match_count_limit[two]=超过 {{limit}} 项匹配
-find_match_count_limit[few]=超过 {{limit}} 项匹配
-find_match_count_limit[many]=超过 {{limit}} 项匹配
-find_match_count_limit[other]=超过 {{limit}} 项匹配
-find_not_found=找不到指定词语
-
-# Error panel labels
-error_more_info=更多信息
-error_less_info=更少信息
-error_close=关闭
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=信息：{{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=堆栈：{{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=文件：{{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=行号：{{line}}
-rendering_error=渲染页面时发生错误。
-
-# Predefined zoom values
-page_scale_width=适合页宽
-page_scale_fit=适合页面
-page_scale_auto=自动缩放
-page_scale_actual=实际大小
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=错误
-loading_error=载入 PDF 时发生错误。
-invalid_file_error=无效或损坏的 PDF 文件。
-missing_file_error=缺少 PDF 文件。
-unexpected_response_error=意外的服务器响应。
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}}，{{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 注释]
-password_label=输入密码以打开此 PDF 文件。
-password_invalid=密码无效。请重试。
-password_ok=确定
-password_cancel=取消
-
-printing_not_supported=警告：此浏览器尚未完整支持打印功能。
-printing_not_ready=警告：此 PDF 未完成载入，无法打印。
-web_fonts_disabled=Web 字体已被禁用：无法使用嵌入的 PDF 字体。
-document_colors_not_allowed=PDF 文档无法使用自己的颜色：浏览器中“允许页面选择自己的颜色”的选项未被勾选。
diff --git a/server/target/classes/static/pdfjs/web/locale/zh-TW/viewer.properties b/server/target/classes/static/pdfjs/web/locale/zh-TW/viewer.properties
deleted file mode 100644
index eb764db..0000000
--- a/server/target/classes/static/pdfjs/web/locale/zh-TW/viewer.properties
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 2012 Mozilla Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Main toolbar buttons (tooltips and alt text for images)
-previous.title=上一頁
-previous_label=上一頁
-next.title=下一頁
-next_label=下一頁
-
-# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
-page.title=第
-# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
-# representing the total number of pages in the document.
-of_pages=頁，共 {{pagesCount}} 頁
-# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
-# will be replaced by a number representing the currently visible page,
-# respectively a number representing the total number of pages in the document.
-page_of_pages=（第 {{pageNumber}} 頁，共 {{pagesCount}} 頁）
-
-zoom_out.title=縮小
-zoom_out_label=縮小
-zoom_in.title=放大
-zoom_in_label=放大
-zoom.title=縮放
-presentation_mode.title=切換至簡報模式
-presentation_mode_label=簡報模式
-open_file.title=開啟檔案
-open_file_label=開啟
-print.title=列印
-print_label=列印
-download.title=下載
-download_label=下載
-bookmark.title=目前檢視的內容（複製或開啟於新視窗）
-bookmark_label=目前檢視
-
-# Secondary toolbar and context menu
-tools.title=工具
-tools_label=工具
-first_page.title=跳到第一頁
-first_page.label=跳到第一頁
-first_page_label=跳到第一頁
-last_page.title=跳到最後一頁
-last_page.label=跳到最後一頁
-last_page_label=跳到最後一頁
-page_rotate_cw.title=順時針旋轉
-page_rotate_cw.label=順時針旋轉
-page_rotate_cw_label=順時針旋轉
-page_rotate_ccw.title=逆時針旋轉
-page_rotate_ccw.label=逆時針旋轉
-page_rotate_ccw_label=逆時針旋轉
-
-cursor_text_select_tool.title=開啟文字選擇工具
-cursor_text_select_tool_label=文字選擇工具
-cursor_hand_tool.title=開啟頁面移動工具
-cursor_hand_tool_label=頁面移動工具
-
-scroll_vertical.title=使用垂直捲動版面
-scroll_vertical_label=垂直捲動
-scroll_horizontal.title=使用水平捲動版面
-scroll_horizontal_label=水平捲動
-scroll_wrapped.title=使用多頁捲動版面
-scroll_wrapped_label=多頁捲動
-
-spread_none.title=不要進行跨頁顯示
-spread_none_label=不跨頁
-spread_odd.title=從奇數頁開始跨頁
-spread_odd_label=奇數跨頁
-spread_even.title=從偶數頁開始跨頁
-spread_even_label=偶數跨頁
-
-# Document properties dialog box
-document_properties.title=文件內容…
-document_properties_label=文件內容…
-document_properties_file_name=檔案名稱:
-document_properties_file_size=檔案大小:
-# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in kilobytes, respectively in bytes.
-document_properties_kb={{size_kb}} KB（{{size_b}} 位元組）
-# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
-# will be replaced by the PDF file size in megabytes, respectively in bytes.
-document_properties_mb={{size_mb}} MB（{{size_b}} 位元組）
-document_properties_title=標題:
-document_properties_author=作者:
-document_properties_subject=主旨:
-document_properties_keywords=關鍵字:
-document_properties_creation_date=建立日期:
-document_properties_modification_date=修改日期:
-# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
-# will be replaced by the creation/modification date, and time, of the PDF file.
-document_properties_date_string={{date}} {{time}}
-document_properties_creator=建立者:
-document_properties_producer=PDF 產生器:
-document_properties_version=PDF 版本:
-document_properties_page_count=頁數:
-document_properties_page_size=頁面大小:
-document_properties_page_size_unit_inches=in
-document_properties_page_size_unit_millimeters=mm
-document_properties_page_size_orientation_portrait=垂直
-document_properties_page_size_orientation_landscape=水平
-document_properties_page_size_name_a3=A3
-document_properties_page_size_name_a4=A4
-document_properties_page_size_name_letter=Letter
-document_properties_page_size_name_legal=Legal
-# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
-# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement and orientation, of the (current) page.
-document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}（{{orientation}}）
-# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
-# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
-# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
-document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}（{{name}}，{{orientation}}）
-# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
-# the document; usually called "Fast Web View" in English locales of Adobe software.
-document_properties_linearized=快速 Web 檢視:
-document_properties_linearized_yes=是
-document_properties_linearized_no=否
-document_properties_close=關閉
-
-print_progress_message=正在準備列印文件…
-# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
-# a numerical per cent value.
-print_progress_percent={{progress}}%
-print_progress_close=取消
-
-# Tooltips and alt text for side panel toolbar buttons
-# (the _label strings are alt text for the buttons, the .title strings are
-# tooltips)
-toggle_sidebar.title=切換側邊欄
-toggle_sidebar_notification.title=切換側邊攔（文件包含大綱或附件）
-toggle_sidebar_label=切換側邊欄
-document_outline.title=顯示文件大綱（雙擊展開/摺疊所有項目）
-document_outline_label=文件大綱
-attachments.title=顯示附件
-attachments_label=附件
-thumbs.title=顯示縮圖
-thumbs_label=縮圖
-findbar.title=在文件中尋找
-findbar_label=尋找
-
-# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
-page_canvas=第 {{page}} 頁
-# Thumbnails panel item (tooltip and alt text for images)
-# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
-# number.
-thumb_page_title=頁 {{page}}
-# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
-# number.
-thumb_page_canvas=頁 {{page}} 的縮圖
-
-# Find panel button title and messages
-find_input.title=尋找
-find_input.placeholder=在文件中搜尋…
-find_previous.title=尋找文字前次出現的位置
-find_previous_label=上一個
-find_next.title=尋找文字下次出現的位置
-find_next_label=下一個
-find_highlight=全部強調標示
-find_match_case_label=區分大小寫
-find_entire_word_label=符合整個字
-find_reached_top=已搜尋至文件頂端，自底端繼續搜尋
-find_reached_bottom=已搜尋至文件底端，自頂端繼續搜尋
-# LOCALIZATION NOTE (find_match_count): The supported plural forms are
-# [one|two|few|many|other], with [other] as the default value.
-# "{{current}}" and "{{total}}" will be replaced by a number representing the
-# index of the currently active find result, respectively a number representing
-# the total number of matches in the document.
-find_match_count={[ plural(total) ]}
-find_match_count[one]=第 {{current}} 筆，共找到 {{total}} 筆
-find_match_count[two]=第 {{current}} 筆，共找到 {{total}} 筆
-find_match_count[few]=第 {{current}} 筆，共找到 {{total}} 筆
-find_match_count[many]=第 {{current}} 筆，共找到 {{total}} 筆
-find_match_count[other]=第 {{current}} 筆，共找到 {{total}} 筆
-# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
-# [zero|one|two|few|many|other], with [other] as the default value.
-# "{{limit}}" will be replaced by a numerical value.
-find_match_count_limit={[ plural(limit) ]}
-find_match_count_limit[zero]=找到超過 {{limit}} 筆
-find_match_count_limit[one]=找到超過 {{limit}} 筆
-find_match_count_limit[two]=找到超過 {{limit}} 筆
-find_match_count_limit[few]=找到超過 {{limit}} 筆
-find_match_count_limit[many]=找到超過 {{limit}} 筆
-find_match_count_limit[other]=找到超過 {{limit}} 筆
-find_not_found=找不到指定文字
-
-# Error panel labels
-error_more_info=更多資訊
-error_less_info=更少資訊
-error_close=關閉
-# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
-# replaced by the PDF.JS version and build ID.
-error_version_info=PDF.js v{{version}} (build: {{build}})
-# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
-# english string describing the error.
-error_message=訊息: {{message}}
-# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
-# trace.
-error_stack=堆疊: {{stack}}
-# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
-error_file=檔案: {{file}}
-# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
-error_line=行: {{line}}
-rendering_error=描繪頁面時發生錯誤。
-
-# Predefined zoom values
-page_scale_width=頁面寬度
-page_scale_fit=縮放至頁面大小
-page_scale_auto=自動縮放
-page_scale_actual=實際大小
-# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
-# numerical scale value.
-page_scale_percent={{scale}}%
-
-# Loading indicator messages
-loading_error_indicator=錯誤
-loading_error=載入 PDF 時發生錯誤。
-invalid_file_error=無效或毀損的 PDF 檔案。
-missing_file_error=找不到 PDF 檔案。
-unexpected_response_error=伺服器回應未預期的內容。
-
-# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
-# replaced by the modification date, and time, of the annotation.
-annotation_date_string={{date}} {{time}}
-
-# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
-# "{{type}}" will be replaced with an annotation type from a list defined in
-# the PDF spec (32000-1:2008 Table 169 – Annotation types).
-# Some common types are e.g.: "Check", "Text", "Comment", "Note"
-text_annotation_type.alt=[{{type}} 註解]
-password_label=請輸入用來開啟此 PDF 檔案的密碼。
-password_invalid=密碼不正確，請再試一次。
-password_ok=確定
-password_cancel=取消
-
-printing_not_supported=警告: 此瀏覽器未完整支援列印功能。
-printing_not_ready=警告: 此 PDF 未完成下載以供列印。
-web_fonts_disabled=已停用網路字型 (Web fonts): 無法使用 PDF 內嵌字型。
-document_colors_not_allowed=瀏覽器的「優先使用網頁指定的色彩」未被勾選，PDF 文件無法使用自己的色彩。
diff --git a/server/target/classes/static/pdfjs/web/viewer.css b/server/target/classes/static/pdfjs/web/viewer.css
deleted file mode 100644
index f25b2e0..0000000
--- a/server/target/classes/static/pdfjs/web/viewer.css
+++ /dev/null
@@ -1,2442 +0,0 @@
-/* Copyright 2014 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-.textLayer {
-  position: absolute;
-  left: 0;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  overflow: hidden;
-  opacity: 0.2;
-  line-height: 1.0;
-}
-
-.textLayer > span {
-  color: transparent;
-  position: absolute;
-  white-space: pre;
-  cursor: text;
-  -webkit-transform-origin: 0% 0%;
-          transform-origin: 0% 0%;
-}
-
-.textLayer .highlight {
-  margin: -1px;
-  padding: 1px;
-  background-color: rgba(180, 0, 170, 1);
-  border-radius: 4px;
-}
-
-.textLayer .highlight.begin {
-  border-radius: 4px 0px 0px 4px;
-}
-
-.textLayer .highlight.end {
-  border-radius: 0px 4px 4px 0px;
-}
-
-.textLayer .highlight.middle {
-  border-radius: 0px;
-}
-
-.textLayer .highlight.selected {
-  background-color: rgba(0, 100, 0, 1);
-}
-
-.textLayer ::-moz-selection {
-  background: rgba(0, 0, 255, 1);
-}
-
-.textLayer ::selection {
-  background: rgba(0, 0, 255, 1);
-}
-
-.textLayer .endOfContent {
-  display: block;
-  position: absolute;
-  left: 0px;
-  top: 100%;
-  right: 0px;
-  bottom: 0px;
-  z-index: -1;
-  cursor: default;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-.textLayer .endOfContent.active {
-  top: 0px;
-}
-
-
-.annotationLayer section {
-  position: absolute;
-}
-
-.annotationLayer .linkAnnotation > a,
-.annotationLayer .buttonWidgetAnnotation.pushButton > a {
-  position: absolute;
-  font-size: 1em;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-}
-
-.annotationLayer .linkAnnotation > a:hover,
-.annotationLayer .buttonWidgetAnnotation.pushButton > a:hover {
-  opacity: 0.2;
-  background: rgba(255, 255, 0, 1);
-  box-shadow: 0px 2px 10px rgba(255, 255, 0, 1);
-}
-
-.annotationLayer .textAnnotation img {
-  position: absolute;
-  cursor: pointer;
-}
-
-.annotationLayer .textWidgetAnnotation input,
-.annotationLayer .textWidgetAnnotation textarea,
-.annotationLayer .choiceWidgetAnnotation select,
-.annotationLayer .buttonWidgetAnnotation.checkBox input,
-.annotationLayer .buttonWidgetAnnotation.radioButton input {
-  background-color: rgba(0, 54, 255, 0.13);
-  border: 1px solid transparent;
-  box-sizing: border-box;
-  font-size: 9px;
-  height: 100%;
-  margin: 0;
-  padding: 0 3px;
-  vertical-align: top;
-  width: 100%;
-}
-
-.annotationLayer .choiceWidgetAnnotation select option {
-  padding: 0;
-}
-
-.annotationLayer .buttonWidgetAnnotation.radioButton input {
-  border-radius: 50%;
-}
-
-.annotationLayer .textWidgetAnnotation textarea {
-  font: message-box;
-  font-size: 9px;
-  resize: none;
-}
-
-.annotationLayer .textWidgetAnnotation input[disabled],
-.annotationLayer .textWidgetAnnotation textarea[disabled],
-.annotationLayer .choiceWidgetAnnotation select[disabled],
-.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],
-.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled] {
-  background: none;
-  border: 1px solid transparent;
-  cursor: not-allowed;
-}
-
-.annotationLayer .textWidgetAnnotation input:hover,
-.annotationLayer .textWidgetAnnotation textarea:hover,
-.annotationLayer .choiceWidgetAnnotation select:hover,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
-.annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
-  border: 1px solid rgba(0, 0, 0, 1);
-}
-
-.annotationLayer .textWidgetAnnotation input:focus,
-.annotationLayer .textWidgetAnnotation textarea:focus,
-.annotationLayer .choiceWidgetAnnotation select:focus {
-  background: none;
-  border: 1px solid transparent;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,
-.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
-  background-color: rgba(0, 0, 0, 1);
-  content: '';
-  display: block;
-  position: absolute;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
-  height: 80%;
-  left: 45%;
-  width: 1px;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
-}
-
-.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
-  border-radius: 50%;
-  height: 50%;
-  left: 30%;
-  top: 20%;
-  width: 50%;
-}
-
-.annotationLayer .textWidgetAnnotation input.comb {
-  font-family: monospace;
-  padding-left: 2px;
-  padding-right: 0;
-}
-
-.annotationLayer .textWidgetAnnotation input.comb:focus {
-  /*
-   * Letter spacing is placed on the right side of each character. Hence, the
-   * letter spacing of the last character may be placed outside the visible
-   * area, causing horizontal scrolling. We avoid this by extending the width
-   * when the element has focus and revert this when it loses focus.
-   */
-  width: 115%;
-}
-
-.annotationLayer .buttonWidgetAnnotation.checkBox input,
-.annotationLayer .buttonWidgetAnnotation.radioButton input {
-  -webkit-appearance: none;
-     -moz-appearance: none;
-          appearance: none;
-  padding: 0;
-}
-
-.annotationLayer .popupWrapper {
-  position: absolute;
-  width: 20em;
-}
-
-.annotationLayer .popup {
-  position: absolute;
-  z-index: 200;
-  max-width: 20em;
-  background-color: rgba(255, 255, 153, 1);
-  box-shadow: 0px 2px 5px rgba(136, 136, 136, 1);
-  border-radius: 2px;
-  padding: 6px;
-  margin-left: 5px;
-  cursor: pointer;
-  font: message-box;
-  font-size: 9px;
-  word-wrap: break-word;
-}
-
-.annotationLayer .popup > * {
-  font-size: 9px;
-}
-
-.annotationLayer .popup h1 {
-  display: inline-block;
-}
-
-.annotationLayer .popup span {
-  display: inline-block;
-  margin-left: 5px;
-}
-
-.annotationLayer .popup p {
-  border-top: 1px solid rgba(51, 51, 51, 1);
-  margin-top: 2px;
-  padding-top: 2px;
-}
-
-.annotationLayer .highlightAnnotation,
-.annotationLayer .underlineAnnotation,
-.annotationLayer .squigglyAnnotation,
-.annotationLayer .strikeoutAnnotation,
-.annotationLayer .freeTextAnnotation,
-.annotationLayer .lineAnnotation svg line,
-.annotationLayer .squareAnnotation svg rect,
-.annotationLayer .circleAnnotation svg ellipse,
-.annotationLayer .polylineAnnotation svg polyline,
-.annotationLayer .polygonAnnotation svg polygon,
-.annotationLayer .caretAnnotation,
-.annotationLayer .inkAnnotation svg polyline,
-.annotationLayer .stampAnnotation,
-.annotationLayer .fileAttachmentAnnotation {
-  cursor: pointer;
-}
-
-.pdfViewer .canvasWrapper {
-  overflow: hidden;
-}
-
-.pdfViewer .page {
-  direction: ltr;
-  width: 816px;
-  height: 1056px;
-  margin: 1px auto -8px auto;
-  position: relative;
-  overflow: visible;
-  border: 9px solid transparent;
-  background-clip: content-box;
-  -webkit-border-image: url(images/shadow.png) 9 9 repeat;
-       -o-border-image: url(images/shadow.png) 9 9 repeat;
-          border-image: url(images/shadow.png) 9 9 repeat;
-  background-color: rgba(255, 255, 255, 1);
-}
-
-.pdfViewer.removePageBorders .page {
-  margin: 0px auto 10px auto;
-  border: none;
-}
-
-.pdfViewer.singlePageView {
-  display: inline-block;
-}
-
-.pdfViewer.singlePageView .page {
-  margin: 0;
-  border: none;
-}
-
-.pdfViewer.scrollHorizontal, .pdfViewer.scrollWrapped, .spread {
-  margin-left: 3.5px;
-  margin-right: 3.5px;
-  text-align: center;
-}
-
-.pdfViewer.scrollHorizontal, .spread {
-  white-space: nowrap;
-}
-
-.pdfViewer.removePageBorders,
-.pdfViewer.scrollHorizontal .spread,
-.pdfViewer.scrollWrapped .spread {
-  margin-left: 0;
-  margin-right: 0;
-}
-
-.spread .page,
-.pdfViewer.scrollHorizontal .page,
-.pdfViewer.scrollWrapped .page,
-.pdfViewer.scrollHorizontal .spread,
-.pdfViewer.scrollWrapped .spread {
-  display: inline-block;
-  vertical-align: middle;
-}
-
-.spread .page,
-.pdfViewer.scrollHorizontal .page,
-.pdfViewer.scrollWrapped .page {
-  margin-left: -3.5px;
-  margin-right: -3.5px;
-}
-
-.pdfViewer.removePageBorders .spread .page,
-.pdfViewer.removePageBorders.scrollHorizontal .page,
-.pdfViewer.removePageBorders.scrollWrapped .page {
-  margin-left: 5px;
-  margin-right: 5px;
-}
-
-.pdfViewer .page canvas {
-  margin: 0;
-  display: block;
-}
-
-.pdfViewer .page canvas[hidden] {
-  display: none;
-}
-
-.pdfViewer .page .loadingIcon {
-  position: absolute;
-  display: block;
-  left: 0;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  background: url('images/loading-icon.gif') center no-repeat;
-}
-
-.pdfPresentationMode .pdfViewer {
-  margin-left: 0;
-  margin-right: 0;
-}
-
-.pdfPresentationMode .pdfViewer .page,
-.pdfPresentationMode .pdfViewer .spread {
-  display: block;
-}
-
-.pdfPresentationMode .pdfViewer .page,
-.pdfPresentationMode .pdfViewer.removePageBorders .page {
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.pdfPresentationMode:-ms-fullscreen .pdfViewer .page {
-  margin-bottom: 100% !important;
-}
-
-.pdfPresentationMode:-webkit-full-screen .pdfViewer .page {
-  margin-bottom: 100%;
-  border: 0;
-}
-
-.pdfPresentationMode:-moz-full-screen .pdfViewer .page {
-  margin-bottom: 100%;
-  border: 0;
-}
-
-.pdfPresentationMode:fullscreen .pdfViewer .page {
-  margin-bottom: 100%;
-  border: 0;
-}
-
-:root {
-  --sidebar-width: 200px;
-  --sidebar-transition-duration: 200ms;
-  --sidebar-transition-timing-function: ease;
-}
-
-* {
-  padding: 0;
-  margin: 0;
-}
-
-html {
-  height: 100%;
-  width: 100%;
-  /* Font size is needed to make the activity bar the correct size. */
-  font-size: 10px;
-}
-
-body {
-  height: 100%;
-  width: 100%;
-  background-color: rgba(64, 64, 64, 1);
-  background-image: url(images/texture.png);
-}
-
-body,
-input,
-button,
-select {
-  font: message-box;
-  outline: none;
-}
-
-.hidden {
-  display: none !important;
-}
-[hidden] {
-  display: none !important;
-}
-
-#viewerContainer.pdfPresentationMode:-ms-fullscreen {
-  top: 0px !important;
-  overflow: hidden !important;
-}
-
-#viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop {
-  background-color: rgba(0, 0, 0, 1);
-}
-
-#viewerContainer.pdfPresentationMode:-webkit-full-screen {
-  top: 0px;
-  border-top: 2px solid rgba(0, 0, 0, 0);
-  background-color: rgba(0, 0, 0, 1);
-  width: 100%;
-  height: 100%;
-  overflow: hidden;
-  cursor: none;
-  -webkit-user-select: none;
-          user-select: none;
-}
-
-#viewerContainer.pdfPresentationMode:-moz-full-screen {
-  top: 0px;
-  border-top: 2px solid rgba(0, 0, 0, 0);
-  background-color: rgba(0, 0, 0, 1);
-  width: 100%;
-  height: 100%;
-  overflow: hidden;
-  cursor: none;
-  -moz-user-select: none;
-       user-select: none;
-}
-
-#viewerContainer.pdfPresentationMode:-ms-fullscreen {
-  top: 0px;
-  border-top: 2px solid rgba(0, 0, 0, 0);
-  background-color: rgba(0, 0, 0, 1);
-  width: 100%;
-  height: 100%;
-  overflow: hidden;
-  cursor: none;
-  -ms-user-select: none;
-      user-select: none;
-}
-
-#viewerContainer.pdfPresentationMode:fullscreen {
-  top: 0px;
-  border-top: 2px solid rgba(0, 0, 0, 0);
-  background-color: rgba(0, 0, 0, 1);
-  width: 100%;
-  height: 100%;
-  overflow: hidden;
-  cursor: none;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-.pdfPresentationMode:-webkit-full-screen a:not(.internalLink) {
-  display: none;
-}
-
-.pdfPresentationMode:-moz-full-screen a:not(.internalLink) {
-  display: none;
-}
-
-.pdfPresentationMode:-ms-fullscreen a:not(.internalLink) {
-  display: none;
-}
-
-.pdfPresentationMode:fullscreen a:not(.internalLink) {
-  display: none;
-}
-
-.pdfPresentationMode:-webkit-full-screen .textLayer > span {
-  cursor: none;
-}
-
-.pdfPresentationMode:-moz-full-screen .textLayer > span {
-  cursor: none;
-}
-
-.pdfPresentationMode:-ms-fullscreen .textLayer > span {
-  cursor: none;
-}
-
-.pdfPresentationMode:fullscreen .textLayer > span {
-  cursor: none;
-}
-
-.pdfPresentationMode.pdfPresentationModeControls > *,
-.pdfPresentationMode.pdfPresentationModeControls .textLayer > span {
-  cursor: default;
-}
-
-#outerContainer {
-  width: 100%;
-  height: 100%;
-  position: relative;
-}
-
-#sidebarContainer {
-  position: absolute;
-  top: 32px;
-  bottom: 0;
-  width: 200px;
-  width: var(--sidebar-width);
-  visibility: hidden;
-  z-index: 100;
-  border-top: 1px solid rgba(51, 51, 51, 1);
-  -webkit-transition-duration: 200ms;
-          transition-duration: 200ms;
-  -webkit-transition-duration: var(--sidebar-transition-duration);
-          transition-duration: var(--sidebar-transition-duration);
-  -webkit-transition-timing-function: ease;
-          transition-timing-function: ease;
-  -webkit-transition-timing-function: var(--sidebar-transition-timing-function);
-          transition-timing-function: var(--sidebar-transition-timing-function);
-}
-html[dir='ltr'] #sidebarContainer {
-  -webkit-transition-property: left;
-  transition-property: left;
-  left: -200px;
-  left: calc(0px - var(--sidebar-width));
-}
-html[dir='rtl'] #sidebarContainer {
-  -webkit-transition-property: right;
-  transition-property: right;
-  right: -200px;
-  right: calc(0px - var(--sidebar-width));
-}
-
-.loadingInProgress #sidebarContainer {
-  top: 36px;
-}
-
-#outerContainer.sidebarResizing #sidebarContainer {
-  /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
-  -webkit-transition-duration: 0s;
-          transition-duration: 0s;
-  /* Prevent e.g. the thumbnails being selected when the sidebar is resized. */
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-#outerContainer.sidebarMoving #sidebarContainer,
-#outerContainer.sidebarOpen #sidebarContainer {
-  visibility: visible;
-}
-html[dir='ltr'] #outerContainer.sidebarOpen #sidebarContainer {
-  left: 0px;
-}
-html[dir='rtl'] #outerContainer.sidebarOpen #sidebarContainer {
-  right: 0px;
-}
-
-#mainContainer {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  min-width: 320px;
-}
-
-#sidebarContent {
-  top: 32px;
-  bottom: 0;
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-  position: absolute;
-  width: 100%;
-  background-color: rgba(0, 0, 0, 0.1);
-}
-html[dir='ltr'] #sidebarContent {
-  left: 0;
-  box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25);
-}
-html[dir='rtl'] #sidebarContent {
-  right: 0;
-  box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25);
-}
-
-#viewerContainer {
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-  position: absolute;
-  top: 32px;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  outline: none;
-}
-#viewerContainer:not(.pdfPresentationMode) {
-  -webkit-transition-duration: 200ms;
-          transition-duration: 200ms;
-  -webkit-transition-duration: var(--sidebar-transition-duration);
-          transition-duration: var(--sidebar-transition-duration);
-  -webkit-transition-timing-function: ease;
-          transition-timing-function: ease;
-  -webkit-transition-timing-function: var(--sidebar-transition-timing-function);
-          transition-timing-function: var(--sidebar-transition-timing-function);
-}
-html[dir='ltr'] #viewerContainer {
-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.05);
-}
-html[dir='rtl'] #viewerContainer {
-  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.05);
-}
-
-#outerContainer.sidebarResizing #viewerContainer {
-  /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
-  -webkit-transition-duration: 0s;
-          transition-duration: 0s;
-}
-
-html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
-  -webkit-transition-property: left;
-  transition-property: left;
-  left: 200px;
-  left: var(--sidebar-width);
-}
-html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
-  -webkit-transition-property: right;
-  transition-property: right;
-  right: 200px;
-  right: var(--sidebar-width);
-}
-
-.toolbar {
-  position: relative;
-  left: 0;
-  right: 0;
-  z-index: 9999;
-  cursor: default;
-}
-
-#toolbarContainer {
-  width: 100%;
-}
-
-#toolbarSidebar {
-  width: 100%;
-  height: 32px;
-  background-color: rgba(66, 66, 66, 1); /* fallback */
-  background-image: url(images/texture.png),
-                    -webkit-gradient(linear, left top, left bottom, from(rgba(77, 77, 77, 0.99)), to(rgba(64, 64, 64, 0.95)));
-  background-image: url(images/texture.png),
-                    linear-gradient(rgba(77, 77, 77, 0.99), rgba(64, 64, 64, 0.95));
-}
-html[dir='ltr'] #toolbarSidebar {
-  box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25),
-              inset 0 -1px 0 rgba(255, 255, 255, 0.05),
-              0 1px 0 rgba(0, 0, 0, 0.15),
-              0 0 1px rgba(0, 0, 0, 0.1);
-}
-html[dir='rtl'] #toolbarSidebar {
-  box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25),
-              inset 0 1px 0 rgba(255, 255, 255, 0.05),
-              0 1px 0 rgba(0, 0, 0, 0.15),
-              0 0 1px rgba(0, 0, 0, 0.1);
-}
-
-#sidebarResizer {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  width: 6px;
-  z-index: 200;
-  cursor: ew-resize;
-}
-html[dir='ltr'] #sidebarResizer {
-  right: -6px;
-}
-html[dir='rtl'] #sidebarResizer {
-  left: -6px;
-}
-
-#toolbarContainer, .findbar, .secondaryToolbar {
-  position: relative;
-  height: 32px;
-  background-color: rgba(71, 71, 71, 1); /* fallback */
-  background-image: url(images/texture.png),
-                    -webkit-gradient(linear, left top, left bottom, from(rgba(82, 82, 82, 0.99)), to(rgba(69, 69, 69, 0.95)));
-  background-image: url(images/texture.png),
-                    linear-gradient(rgba(82, 82, 82, 0.99), rgba(69, 69, 69, 0.95));
-}
-html[dir='ltr'] #toolbarContainer, .findbar, .secondaryToolbar {
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15),
-              inset 0 -1px 0 rgba(255, 255, 255, 0.05),
-              0 1px 0 rgba(0, 0, 0, 0.15),
-              0 1px 1px rgba(0, 0, 0, 0.1);
-}
-html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15),
-              inset 0 -1px 0 rgba(255, 255, 255, 0.05),
-              0 1px 0 rgba(0, 0, 0, 0.15),
-              0 1px 1px rgba(0, 0, 0, 0.1);
-}
-
-#toolbarViewer {
-  height: 32px;
-}
-
-#loadingBar {
-  position: relative;
-  width: 100%;
-  height: 4px;
-  background-color: rgba(51, 51, 51, 1);
-  border-bottom: 1px solid rgba(51, 51, 51, 1);
-}
-
-#loadingBar .progress {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 0%;
-  height: 100%;
-  background-color: rgba(221, 221, 221, 1);
-  overflow: hidden;
-  -webkit-transition: width 200ms;
-  transition: width 200ms;
-}
-
-@-webkit-keyframes progressIndeterminate {
-  0% { left: -142px; }
-  100% { left: 0; }
-}
-
-@keyframes progressIndeterminate {
-  0% { left: -142px; }
-  100% { left: 0; }
-}
-
-#loadingBar .progress.indeterminate {
-  background-color: rgba(153, 153, 153, 1);
-  -webkit-transition: none;
-  transition: none;
-}
-
-#loadingBar .progress.indeterminate .glimmer {
-  position: absolute;
-  top: 0;
-  left: 0;
-  height: 100%;
-  width: calc(100% + 150px);
-  background: repeating-linear-gradient(135deg,
-                                        rgba(187, 187, 187, 1) 0, rgba(153, 153, 153, 1) 5px,
-                                        rgba(153, 153, 153, 1) 45px, rgba(221, 221, 221, 1) 55px,
-                                        rgba(221, 221, 221, 1) 95px, rgba(187, 187, 187, 1) 100px);
-  -webkit-animation: progressIndeterminate 950ms linear infinite;
-          animation: progressIndeterminate 950ms linear infinite;
-}
-
-.findbar, .secondaryToolbar {
-  top: 32px;
-  position: absolute;
-  z-index: 10000;
-  height: auto;
-  min-width: 16px;
-  padding: 0px 6px 0px 6px;
-  margin: 4px 2px 4px 2px;
-  color: rgba(217, 217, 217, 1);
-  font-size: 12px;
-  line-height: 14px;
-  text-align: left;
-  cursor: default;
-}
-
-.findbar {
-  min-width: 300px;
-}
-.findbar > div {
-  height: 32px;
-}
-.findbar.wrapContainers > div {
-  clear: both;
-}
-.findbar.wrapContainers > div#findbarMessageContainer {
-  height: auto;
-}
-html[dir='ltr'] .findbar {
-  left: 68px;
-}
-html[dir='rtl'] .findbar {
-  right: 68px;
-}
-
-.findbar label {
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-#findInput {
-  width: 200px;
-}
-#findInput::-webkit-input-placeholder {
-  color: rgba(191, 191, 191, 1);
-}
-#findInput::-moz-placeholder {
-  font-style: italic;
-}
-#findInput:-ms-input-placeholder {
-  font-style: italic;
-}
-#findInput::-ms-input-placeholder {
-  font-style: italic;
-}
-#findInput::placeholder {
-  font-style: italic;
-}
-#findInput[data-status="pending"] {
-  background-image: url(images/loading-small.png);
-  background-repeat: no-repeat;
-  background-position: right;
-}
-html[dir='rtl'] #findInput[data-status="pending"] {
-  background-position: left;
-}
-
-.secondaryToolbar {
-  padding: 6px;
-  height: auto;
-  z-index: 30000;
-}
-html[dir='ltr'] .secondaryToolbar {
-  right: 4px;
-}
-html[dir='rtl'] .secondaryToolbar {
-  left: 4px;
-}
-
-#secondaryToolbarButtonContainer {
-  max-width: 200px;
-  max-height: 400px;
-  overflow-y: auto;
-  -webkit-overflow-scrolling: touch;
-  margin-bottom: -4px;
-}
-
-#secondaryToolbarButtonContainer.hiddenScrollModeButtons > .scrollModeButtons,
-#secondaryToolbarButtonContainer.hiddenSpreadModeButtons > .spreadModeButtons {
-  display: none !important;
-}
-
-.doorHanger,
-.doorHangerRight {
-  border: 1px solid rgba(0, 0, 0, 0.5);
-  border-radius: 2px;
-  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-}
-.doorHanger:after, .doorHanger:before,
-.doorHangerRight:after, .doorHangerRight:before {
-  bottom: 100%;
-  border: solid rgba(0, 0, 0, 0);
-  content: " ";
-  height: 0;
-  width: 0;
-  position: absolute;
-  pointer-events: none;
-}
-.doorHanger:after,
-.doorHangerRight:after {
-  border-bottom-color: rgba(82, 82, 82, 0.99);
-  border-width: 8px;
-}
-.doorHanger:before,
-.doorHangerRight:before {
-  border-bottom-color: rgba(0, 0, 0, 0.5);
-  border-width: 9px;
-}
-
-html[dir='ltr'] .doorHanger:after,
-html[dir='rtl'] .doorHangerRight:after {
-  left: 13px;
-  margin-left: -8px;
-}
-
-html[dir='ltr'] .doorHanger:before,
-html[dir='rtl'] .doorHangerRight:before {
-  left: 13px;
-  margin-left: -9px;
-}
-
-html[dir='rtl'] .doorHanger:after,
-html[dir='ltr'] .doorHangerRight:after {
-  right: 13px;
-  margin-right: -8px;
-}
-
-html[dir='rtl'] .doorHanger:before,
-html[dir='ltr'] .doorHangerRight:before {
-  right: 13px;
-  margin-right: -9px;
-}
-
-#findResultsCount {
-  background-color: rgba(217, 217, 217, 1);
-  color: rgba(82, 82, 82, 1);
-  text-align: center;
-  padding: 3px 4px;
-}
-
-#findMsg {
-  font-style: italic;
-  color: rgba(166, 183, 208, 1);
-}
-#findMsg:empty {
-  display: none;
-}
-
-#findInput.notFound {
-  background-color: rgba(255, 102, 102, 1);
-}
-
-#toolbarViewerMiddle {
-  position: absolute;
-  left: 50%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
-}
-
-html[dir='ltr'] #toolbarViewerLeft,
-html[dir='rtl'] #toolbarViewerRight {
-  float: left;
-}
-html[dir='ltr'] #toolbarViewerRight,
-html[dir='rtl'] #toolbarViewerLeft {
-  float: right;
-}
-html[dir='ltr'] #toolbarViewerLeft > *,
-html[dir='ltr'] #toolbarViewerMiddle > *,
-html[dir='ltr'] #toolbarViewerRight > *,
-html[dir='ltr'] .findbar * {
-  position: relative;
-  float: left;
-}
-html[dir='rtl'] #toolbarViewerLeft > *,
-html[dir='rtl'] #toolbarViewerMiddle > *,
-html[dir='rtl'] #toolbarViewerRight > *,
-html[dir='rtl'] .findbar * {
-  position: relative;
-  float: right;
-}
-
-html[dir='ltr'] .splitToolbarButton {
-  margin: 3px 2px 4px 0;
-  display: inline-block;
-}
-html[dir='rtl'] .splitToolbarButton {
-  margin: 3px 0 4px 2px;
-  display: inline-block;
-}
-html[dir='ltr'] .splitToolbarButton > .toolbarButton {
-  border-radius: 0;
-  float: left;
-}
-html[dir='rtl'] .splitToolbarButton > .toolbarButton {
-  border-radius: 0;
-  float: right;
-}
-
-.toolbarButton,
-.secondaryToolbarButton,
-.overlayButton {
-  border: 0 none;
-  background: none;
-  width: 32px;
-  height: 25px;
-}
-
-.toolbarButton > span {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  overflow: hidden;
-}
-
-.toolbarButton[disabled],
-.secondaryToolbarButton[disabled],
-.overlayButton[disabled] {
-  opacity: .5;
-}
-
-.splitToolbarButton.toggled .toolbarButton {
-  margin: 0;
-}
-
-.splitToolbarButton:hover > .toolbarButton,
-.splitToolbarButton:focus > .toolbarButton,
-.splitToolbarButton.toggled > .toolbarButton,
-.toolbarButton.textButton {
-  background-color: rgba(0, 0, 0, 0.12);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  border: 1px solid rgba(0, 0, 0, 0.35);
-  border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.15) inset,
-              0 1px 0 rgba(255, 255, 255, 0.05);
-}
-.splitToolbarButton > .toolbarButton:hover,
-.splitToolbarButton > .toolbarButton:focus,
-.dropdownToolbarButton:hover,
-.overlayButton:hover,
-.overlayButton:focus,
-.toolbarButton.textButton:hover,
-.toolbarButton.textButton:focus {
-  background-color: rgba(0,0,0,0.2);
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.15) inset,
-              0 0 1px rgba(0, 0, 0, 0.05);
-  z-index: 199;
-}
-.dropdownToolbarButton:hover {
-  background-color: rgba(0, 0, 0, 0.26);
-}
-.splitToolbarButton > .toolbarButton {
-  position: relative;
-}
-html[dir='ltr'] .splitToolbarButton > .toolbarButton:first-child,
-html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child {
-  position: relative;
-  margin: 0;
-  margin-right: -1px;
-  border-top-left-radius: 2px;
-  border-bottom-left-radius: 2px;
-  border-right-color: rgba(0, 0, 0, 0);
-}
-html[dir='ltr'] .splitToolbarButton > .toolbarButton:last-child,
-html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child {
-  position: relative;
-  margin: 0;
-  margin-left: -1px;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-left-color: rgba(0, 0, 0, 0);
-}
-.splitToolbarButtonSeparator {
-  padding: 8px 0;
-  width: 1px;
-  background-color: rgba(0, 0, 0, 0.5);
-  z-index: 99;
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
-  display: inline-block;
-  margin: 5px 0;
-}
-html[dir='ltr'] .splitToolbarButtonSeparator {
-  float: left;
-}
-html[dir='rtl'] .splitToolbarButtonSeparator {
-  float: right;
-}
-.splitToolbarButton:hover > .splitToolbarButtonSeparator,
-.splitToolbarButton.toggled > .splitToolbarButtonSeparator {
-  padding: 12px 0;
-  margin: 1px 0;
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.03);
-}
-
-.toolbarButton,
-.dropdownToolbarButton,
-.secondaryToolbarButton,
-.overlayButton {
-  min-width: 16px;
-  padding: 2px 6px 0;
-  border: 1px solid rgba(0, 0, 0, 0);
-  border-radius: 2px;
-  color: rgba(255, 255, 255, 0.8);
-  font-size: 12px;
-  line-height: 14px;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  /* Opera does not support user-select, use <... unselectable="on"> instead */
-  cursor: default;
-}
-
-html[dir='ltr'] .toolbarButton,
-html[dir='ltr'] .overlayButton,
-html[dir='ltr'] .dropdownToolbarButton {
-  margin: 3px 2px 4px 0;
-}
-html[dir='rtl'] .toolbarButton,
-html[dir='rtl'] .overlayButton,
-html[dir='rtl'] .dropdownToolbarButton {
-  margin: 3px 0 4px 2px;
-}
-
-.toolbarButton:hover,
-.toolbarButton:focus,
-.dropdownToolbarButton,
-.overlayButton,
-.secondaryToolbarButton:hover,
-.secondaryToolbarButton:focus {
-  background-color: rgba(0, 0, 0, 0.12);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  border: 1px solid rgba(0, 0, 0, 0.35);
-  border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.15) inset,
-              0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.toolbarButton:hover:active,
-.overlayButton:hover:active,
-.dropdownToolbarButton:hover:active,
-.secondaryToolbarButton:hover:active {
-  background-color: rgba(0, 0, 0, 0.2);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  border-color: rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.45);
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset,
-              0 0 1px rgba(0, 0, 0, 0.2) inset,
-              0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.toolbarButton.toggled,
-.splitToolbarButton.toggled > .toolbarButton.toggled,
-.secondaryToolbarButton.toggled {
-  background-color: rgba(0, 0, 0, 0.3);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.45) rgba(0, 0, 0, 0.5);
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset,
-              0 0 1px rgba(0, 0, 0, 0.2) inset,
-              0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.toolbarButton.toggled:hover:active,
-.splitToolbarButton.toggled > .toolbarButton.toggled:hover:active,
-.secondaryToolbarButton.toggled:hover:active {
-  background-color: rgba(0, 0, 0, 0.4);
-  border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.5) rgba(0, 0, 0, 0.55);
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) inset,
-              0 0 1px rgba(0, 0, 0, 0.3) inset,
-              0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.dropdownToolbarButton {
-  width: 140px;
-  padding: 0;
-  overflow: hidden;
-}
-.dropdownToolbarButton::after {
-  position: absolute;
-  display: inline-block;
-  top: 4px;
-  content: url(images/toolbarButton-menuArrows.png);
-}
-html[dir='ltr'] .dropdownToolbarButton::after {
-  right: 8px;
-}
-html[dir='rtl'] .dropdownToolbarButton::after {
-  left: 8px;
-}
-
-.dropdownToolbarButton > select {
-  width: 162px;
-  height: 23px;
-  font-size: 12px;
-  color: rgba(242, 242, 242, 1);
-  margin: 0;
-  padding: 3px 2px 2px;
-  border: none;
-  background: rgba(0,0,0,0); /* Opera does not support 'transparent' <select> background */
-}
-
-.dropdownToolbarButton > select > option {
-  background: rgba(61, 61, 61, 1);
-}
-
-#customScaleOption {
-  display: none;
-}
-
-#pageWidthOption {
-  border-bottom: 1px rgba(255, 255, 255, 0.5) solid;
-}
-
-html[dir='ltr'] .splitToolbarButton:first-child,
-html[dir='ltr'] .toolbarButton:first-child,
-html[dir='rtl'] .splitToolbarButton:last-child,
-html[dir='rtl'] .toolbarButton:last-child {
-  margin-left: 4px;
-}
-html[dir='ltr'] .splitToolbarButton:last-child,
-html[dir='ltr'] .toolbarButton:last-child,
-html[dir='rtl'] .splitToolbarButton:first-child,
-html[dir='rtl'] .toolbarButton:first-child {
-  margin-right: 4px;
-}
-
-.toolbarButtonSpacer {
-  width: 30px;
-  display: inline-block;
-  height: 1px;
-}
-
-html[dir='ltr'] #findPrevious {
-  margin-left: 3px;
-}
-html[dir='ltr'] #findNext {
-  margin-right: 3px;
-}
-
-html[dir='rtl'] #findPrevious {
-  margin-right: 3px;
-}
-html[dir='rtl'] #findNext {
-  margin-left: 3px;
-}
-
-.toolbarButton::before,
-.secondaryToolbarButton::before {
-  /* All matching images have a size of 16x16
-   * All relevant containers have a size of 32x25 */
-  position: absolute;
-  display: inline-block;
-  top: 4px;
-  left: 7px;
-}
-
-html[dir="ltr"] .secondaryToolbarButton::before {
-  left: 4px;
-}
-html[dir="rtl"] .secondaryToolbarButton::before {
-  right: 4px;
-}
-
-html[dir='ltr'] .toolbarButton#sidebarToggle::before {
-  content: url(images/toolbarButton-sidebarToggle.png);
-}
-html[dir='rtl'] .toolbarButton#sidebarToggle::before {
-  content: url(images/toolbarButton-sidebarToggle-rtl.png);
-}
-
-html[dir='ltr'] .toolbarButton#secondaryToolbarToggle::before {
-  content: url(images/toolbarButton-secondaryToolbarToggle.png);
-}
-html[dir='rtl'] .toolbarButton#secondaryToolbarToggle::before {
-  content: url(images/toolbarButton-secondaryToolbarToggle-rtl.png);
-}
-
-html[dir='ltr'] .toolbarButton.findPrevious::before {
-  content: url(images/findbarButton-previous.png);
-}
-html[dir='rtl'] .toolbarButton.findPrevious::before {
-  content: url(images/findbarButton-previous-rtl.png);
-}
-
-html[dir='ltr'] .toolbarButton.findNext::before {
-  content: url(images/findbarButton-next.png);
-}
-html[dir='rtl'] .toolbarButton.findNext::before {
-  content: url(images/findbarButton-next-rtl.png);
-}
-
-html[dir='ltr'] .toolbarButton.pageUp::before {
-  content: url(images/toolbarButton-pageUp.png);
-}
-html[dir='rtl'] .toolbarButton.pageUp::before {
-  content: url(images/toolbarButton-pageUp-rtl.png);
-}
-
-html[dir='ltr'] .toolbarButton.pageDown::before {
-  content: url(images/toolbarButton-pageDown.png);
-}
-html[dir='rtl'] .toolbarButton.pageDown::before {
-  content: url(images/toolbarButton-pageDown-rtl.png);
-}
-
-.toolbarButton.zoomOut::before {
-  content: url(images/toolbarButton-zoomOut.png);
-}
-
-.toolbarButton.zoomIn::before {
-  content: url(images/toolbarButton-zoomIn.png);
-}
-
-.toolbarButton.presentationMode::before,
-.secondaryToolbarButton.presentationMode::before {
-  content: url(images/toolbarButton-presentationMode.png);
-}
-
-.toolbarButton.print::before,
-.secondaryToolbarButton.print::before {
-  content: url(images/toolbarButton-print.png);
-}
-
-.toolbarButton.openFile::before,
-.secondaryToolbarButton.openFile::before {
-  content: url(images/toolbarButton-openFile.png);
-}
-
-.toolbarButton.download::before,
-.secondaryToolbarButton.download::before {
-  content: url(images/toolbarButton-download.png);
-}
-
-.toolbarButton.bookmark,
-.secondaryToolbarButton.bookmark {
-  box-sizing: border-box;
-  outline: none;
-  padding-top: 4px;
-  text-decoration: none;
-}
-.secondaryToolbarButton.bookmark {
-  padding-top: 5px;
-}
-
-.bookmark[href='#'] {
-  opacity: .5;
-  pointer-events: none;
-}
-
-.toolbarButton.bookmark::before,
-.secondaryToolbarButton.bookmark::before {
-  content: url(images/toolbarButton-bookmark.png);
-}
-
-#viewThumbnail.toolbarButton::before {
-  content: url(images/toolbarButton-viewThumbnail.png);
-}
-
-html[dir="ltr"] #viewOutline.toolbarButton::before {
-  content: url(images/toolbarButton-viewOutline.png);
-}
-html[dir="rtl"] #viewOutline.toolbarButton::before {
-  content: url(images/toolbarButton-viewOutline-rtl.png);
-}
-
-#viewAttachments.toolbarButton::before {
-  content: url(images/toolbarButton-viewAttachments.png);
-}
-
-#viewFind.toolbarButton::before {
-  content: url(images/toolbarButton-search.png);
-}
-
-.toolbarButton.pdfSidebarNotification::after {
-  position: absolute;
-  display: inline-block;
-  top: 1px;
-  /* Create a filled circle, with a diameter of 9 pixels, using only CSS: */
-  content: '';
-  background-color: rgba(112, 219, 85, 1);
-  height: 9px;
-  width: 9px;
-  border-radius: 50%;
-}
-html[dir='ltr'] .toolbarButton.pdfSidebarNotification::after {
-  left: 17px;
-}
-html[dir='rtl'] .toolbarButton.pdfSidebarNotification::after {
-  right: 17px;
-}
-
-.secondaryToolbarButton {
-  position: relative;
-  margin: 0 0 4px 0;
-  padding: 3px 0 1px 0;
-  height: auto;
-  min-height: 25px;
-  width: auto;
-  min-width: 100%;
-  white-space: normal;
-}
-html[dir="ltr"] .secondaryToolbarButton {
-  padding-left: 24px;
-  text-align: left;
-}
-html[dir="rtl"] .secondaryToolbarButton {
-  padding-right: 24px;
-  text-align: right;
-}
-html[dir="ltr"] .secondaryToolbarButton.bookmark {
-  padding-left: 27px;
-}
-html[dir="rtl"] .secondaryToolbarButton.bookmark {
-  padding-right: 27px;
-}
-
-html[dir="ltr"] .secondaryToolbarButton > span {
-  padding-right: 4px;
-}
-html[dir="rtl"] .secondaryToolbarButton > span {
-  padding-left: 4px;
-}
-
-.secondaryToolbarButton.firstPage::before {
-  content: url(images/secondaryToolbarButton-firstPage.png);
-}
-
-.secondaryToolbarButton.lastPage::before {
-  content: url(images/secondaryToolbarButton-lastPage.png);
-}
-
-.secondaryToolbarButton.rotateCcw::before {
-  content: url(images/secondaryToolbarButton-rotateCcw.png);
-}
-
-.secondaryToolbarButton.rotateCw::before {
-  content: url(images/secondaryToolbarButton-rotateCw.png);
-}
-
-.secondaryToolbarButton.selectTool::before {
-  content: url(images/secondaryToolbarButton-selectTool.png);
-}
-
-.secondaryToolbarButton.handTool::before {
-  content: url(images/secondaryToolbarButton-handTool.png);
-}
-
-.secondaryToolbarButton.scrollVertical::before {
-  content: url(images/secondaryToolbarButton-scrollVertical.png);
-}
-
-.secondaryToolbarButton.scrollHorizontal::before {
-  content: url(images/secondaryToolbarButton-scrollHorizontal.png);
-}
-
-.secondaryToolbarButton.scrollWrapped::before {
-  content: url(images/secondaryToolbarButton-scrollWrapped.png);
-}
-
-.secondaryToolbarButton.spreadNone::before {
-  content: url(images/secondaryToolbarButton-spreadNone.png);
-}
-
-.secondaryToolbarButton.spreadOdd::before {
-  content: url(images/secondaryToolbarButton-spreadOdd.png);
-}
-
-.secondaryToolbarButton.spreadEven::before {
-  content: url(images/secondaryToolbarButton-spreadEven.png);
-}
-
-.secondaryToolbarButton.documentProperties::before {
-  content: url(images/secondaryToolbarButton-documentProperties.png);
-}
-
-.verticalToolbarSeparator {
-  display: block;
-  padding: 8px 0;
-  margin: 8px 4px;
-  width: 1px;
-  background-color: rgba(0, 0, 0, 0.5);
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
-}
-html[dir='ltr'] .verticalToolbarSeparator {
-  margin-left: 2px;
-}
-html[dir='rtl'] .verticalToolbarSeparator {
-  margin-right: 2px;
-}
-
-.horizontalToolbarSeparator {
-  display: block;
-  margin: 0 0 4px 0;
-  height: 1px;
-  width: 100%;
-  background-color: rgba(0, 0, 0, 0.5);
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
-}
-
-.toolbarField {
-  padding: 3px 6px;
-  margin: 4px 0 4px 0;
-  border-radius: 2px;
-  background-color: rgba(255, 255, 255, 0.09);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  border-width: 1px;
-  border-style: solid;
-  border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42);
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) inset,
-              0 1px 0 rgba(255, 255, 255, 0.05);
-  color: rgba(242, 242, 242, 1);
-  font-size: 12px;
-  line-height: 14px;
-  outline-style: none;
-}
-
-.toolbarField[type=checkbox] {
-  display: inline-block;
-  margin: 8px 0px;
-}
-
-.toolbarField.pageNumber {
-  -moz-appearance: textfield; /* hides the spinner in moz */
-  min-width: 16px;
-  text-align: right;
-  width: 40px;
-}
-
-.toolbarField.pageNumber.visiblePageIsLoading {
-  background-image: url(images/loading-small.png);
-  background-repeat: no-repeat;
-  background-position: 1px;
-}
-
-.toolbarField.pageNumber::-webkit-inner-spin-button,
-.toolbarField.pageNumber::-webkit-outer-spin-button {
-    -webkit-appearance: none;
-    margin: 0;
-}
-
-.toolbarField:hover {
-  background-color: rgba(255, 255, 255, 0.11);
-  border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.43) rgba(0, 0, 0, 0.45);
-}
-
-.toolbarField:focus {
-  background-color: rgba(255, 255, 255, 0.15);
-  border-color: rgba(77, 184, 255, 0.8) rgba(77, 184, 255, 0.85) rgba(77, 184, 255, 0.9);
-}
-
-.toolbarLabel {
-  min-width: 16px;
-  padding: 3px 6px 3px 2px;
-  margin: 4px 2px 4px 0;
-  border: 1px solid rgba(0, 0, 0, 0);
-  border-radius: 2px;
-  color: rgba(217, 217, 217, 1);
-  font-size: 12px;
-  line-height: 14px;
-  text-align: left;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  cursor: default;
-}
-
-#thumbnailView {
-  position: absolute;
-  width: calc(100% - 60px);
-  top: 0;
-  bottom: 0;
-  padding: 10px 30px 0;
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-}
-
-#thumbnailView > a:active,
-#thumbnailView > a:focus {
-  outline: 0;
-}
-
-.thumbnail {
-  margin: 0 10px 5px 10px;
-}
-html[dir='ltr'] .thumbnail {
-  float: left;
-}
-html[dir='rtl'] .thumbnail {
-  float: right;
-}
-
-#thumbnailView > a:last-of-type > .thumbnail {
-  margin-bottom: 10px;
-}
-
-#thumbnailView > a:last-of-type > .thumbnail:not([data-loaded]) {
-  margin-bottom: 9px;
-}
-
-.thumbnail:not([data-loaded]) {
-  border: 1px dashed rgba(255, 255, 255, 0.5);
-  margin: -1px 9px 4px 9px;
-}
-
-.thumbnailImage {
-  border: 1px solid rgba(0, 0, 0, 0);
-  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
-  opacity: 0.8;
-  z-index: 99;
-  background-color: rgba(255, 255, 255, 1);
-  background-clip: content-box;
-}
-
-.thumbnailSelectionRing {
-  border-radius: 2px;
-  padding: 7px;
-}
-
-a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage,
-.thumbnail:hover > .thumbnailSelectionRing > .thumbnailImage {
-  opacity: .9;
-}
-
-a:focus > .thumbnail > .thumbnailSelectionRing,
-.thumbnail:hover > .thumbnailSelectionRing {
-  background-color: rgba(255, 255, 255, 0.15);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.2) inset,
-              0 0 1px rgba(0, 0, 0, 0.2);
-  color: rgba(255, 255, 255, 0.9);
-}
-
-.thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage {
-  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
-  opacity: 1;
-}
-
-.thumbnail.selected > .thumbnailSelectionRing {
-  background-color: rgba(255, 255, 255, 0.3);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.1) inset,
-              0 0 1px rgba(0, 0, 0, 0.2);
-  color: rgba(255, 255, 255,1);
-}
-
-#outlineView,
-#attachmentsView {
-  position: absolute;
-  width: calc(100% - 8px);
-  top: 0;
-  bottom: 0;
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-}
-
-#outlineView {
-  padding: 4px 4px 0;
-}
-#attachmentsView {
-  padding: 3px 4px 0;
-}
-
-html[dir='ltr'] .outlineWithDeepNesting > .outlineItem,
-html[dir='ltr'] .outlineItem > .outlineItems {
-  margin-left: 20px;
-}
-
-html[dir='rtl'] .outlineWithDeepNesting > .outlineItem,
-html[dir='rtl'] .outlineItem > .outlineItems {
-  margin-right: 20px;
-}
-
-.outlineItem > a,
-.attachmentsItem > button {
-  text-decoration: none;
-  display: inline-block;
-  min-width: 95%;
-  min-width: calc(100% - 4px); /* Subtract the right padding (left, in RTL mode)
-                                  of the container. */
-  height: auto;
-  margin-bottom: 1px;
-  border-radius: 2px;
-  color: rgba(255, 255, 255, 0.8);
-  font-size: 13px;
-  line-height: 15px;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  white-space: normal;
-}
-
-.attachmentsItem > button {
-  border: 0 none;
-  background: none;
-  cursor: pointer;
-  width: 100%;
-}
-
-html[dir='ltr'] .outlineItem > a {
-  padding: 2px 0 5px 4px;
-}
-html[dir='ltr'] .attachmentsItem > button {
-  padding: 2px 0 3px 7px;
-  text-align: left;
-}
-
-html[dir='rtl'] .outlineItem > a {
-  padding: 2px 4px 5px 0;
-}
-html[dir='rtl'] .attachmentsItem > button {
-  padding: 2px 7px 3px 0;
-  text-align: right;
-}
-
-.outlineItemToggler {
-  position: relative;
-  height: 0;
-  width: 0;
-  color: rgba(255, 255, 255, 0.5);
-}
-.outlineItemToggler::before {
-  content: url(images/treeitem-expanded.png);
-  display: inline-block;
-  position: absolute;
-}
-html[dir='ltr'] .outlineItemToggler.outlineItemsHidden::before {
-  content: url(images/treeitem-collapsed.png);
-}
-html[dir='rtl'] .outlineItemToggler.outlineItemsHidden::before {
-  content: url(images/treeitem-collapsed-rtl.png);
-}
-.outlineItemToggler.outlineItemsHidden ~ .outlineItems {
-  display: none;
-}
-html[dir='ltr'] .outlineItemToggler {
-  float: left;
-}
-html[dir='rtl'] .outlineItemToggler {
-  float: right;
-}
-html[dir='ltr'] .outlineItemToggler::before {
-  right: 4px;
-}
-html[dir='rtl'] .outlineItemToggler::before {
-  left: 4px;
-}
-
-.outlineItemToggler:hover,
-.outlineItemToggler:hover + a,
-.outlineItemToggler:hover ~ .outlineItems,
-.outlineItem > a:hover,
-.attachmentsItem > button:hover {
-  background-color: rgba(255, 255, 255, 0.02);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.2) inset,
-              0 0 1px rgba(0, 0, 0, 0.2);
-  border-radius: 2px;
-  color: rgba(255, 255, 255, 0.9);
-}
-
-.outlineItem.selected {
-  background-color: rgba(255, 255, 255, 0.08);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), to(rgba(255, 255, 255, 0)));
-  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
-  background-clip: padding-box;
-  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset,
-              0 0 1px rgba(255, 255, 255, 0.1) inset,
-              0 0 1px rgba(0, 0, 0, 0.2);
-  color: rgba(255, 255, 255, 1);
-}
-
-.noResults {
-  font-size: 12px;
-  color: rgba(255, 255, 255, 0.8);
-  font-style: italic;
-  cursor: default;
-}
-
-/* TODO: file FF bug to support ::-moz-selection:window-inactive
-   so we can override the opaque grey background when the window is inactive;
-   see https://bugzilla.mozilla.org/show_bug.cgi?id=706209 */
-::-moz-selection {
-  background: rgba(0, 0, 255, 0.3);
-}
-::selection {
-  background: rgba(0, 0, 255, 0.3);
-}
-
-#errorWrapper {
-  background: none repeat scroll 0 0 rgba(255, 85, 85, 1);
-  color: rgba(255, 255, 255, 1);
-  left: 0;
-  position: absolute;
-  right: 0;
-  z-index: 1000;
-  padding: 3px;
-  font-size: 0.8em;
-}
-.loadingInProgress #errorWrapper {
-  top: 37px;
-}
-
-#errorMessageLeft {
-  float: left;
-}
-
-#errorMessageRight {
-  float: right;
-}
-
-#errorMoreInfo {
-  background-color: rgba(255, 255, 255, 1);
-  color: rgba(0, 0, 0, 1);
-  padding: 3px;
-  margin: 3px;
-  width: 98%;
-}
-
-.overlayButton {
-  width: auto;
-  margin: 3px 4px 2px 4px !important;
-  padding: 2px 6px 3px 6px;
-}
-
-#overlayContainer {
-  display: table;
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0, 0, 0, 0.2);
-  z-index: 40000;
-}
-#overlayContainer > * {
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-}
-
-#overlayContainer > .container {
-  display: table-cell;
-  vertical-align: middle;
-  text-align: center;
-}
-
-#overlayContainer > .container > .dialog {
-  display: inline-block;
-  padding: 15px;
-  border-spacing: 4px;
-  color: rgba(217, 217, 217, 1);
-  font-size: 12px;
-  line-height: 14px;
-  background-color: rgba(71, 71, 71, 1); /* fallback */
-  background-image: url(images/texture.png),
-                    -webkit-gradient(linear, left top, left bottom, from(rgba(82, 82, 82,0.99)), to(rgba(69, 69, 69, 0.95)));
-  background-image: url(images/texture.png),
-                    linear-gradient(rgba(82, 82, 82,0.99), rgba(69, 69, 69, 0.95));
-  border: 1px solid rgba(0, 0, 0, 0.5);
-  border-radius: 4px;
-  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-}
-
-.dialog > .row {
-  display: table-row;
-}
-
-.dialog > .row > * {
-  display: table-cell;
-}
-
-.dialog .toolbarField {
-  margin: 5px 0;
-}
-
-.dialog .separator {
-  display: block;
-  margin: 4px 0 4px 0;
-  height: 1px;
-  width: 100%;
-  background-color: rgba(0, 0, 0, 0.5);
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
-}
-
-.dialog .buttonRow {
-  text-align: center;
-  vertical-align: middle;
-}
-
-.dialog :link {
-  color: rgba(255, 255, 255, 1);
-}
-
-#passwordOverlay > .dialog {
-  text-align: center;
-}
-#passwordOverlay .toolbarField {
-  width: 200px;
-}
-
-#documentPropertiesOverlay > .dialog {
-  text-align: left;
-}
-#documentPropertiesOverlay .row > * {
-  min-width: 100px;
-}
-html[dir='ltr'] #documentPropertiesOverlay .row > * {
-  text-align: left;
-}
-html[dir='rtl'] #documentPropertiesOverlay .row > * {
-  text-align: right;
-}
-#documentPropertiesOverlay .row > span {
-  width: 125px;
-  word-wrap: break-word;
-}
-#documentPropertiesOverlay .row > p {
-  max-width: 225px;
-  word-wrap: break-word;
-}
-#documentPropertiesOverlay .buttonRow {
-  margin-top: 10px;
-}
-
-.clearBoth {
-  clear: both;
-}
-
-.fileInput {
-  background: rgba(255, 255, 255, 1);
-  color: rgba(0, 0, 0, 1);
-  margin-top: 5px;
-  visibility: hidden;
-  position: fixed;
-  right: 0;
-  top: 0;
-}
-
-#PDFBug {
-  background: none repeat scroll 0 0 rgba(255, 255, 255, 1);
-  border: 1px solid rgba(102, 102, 102, 1);
-  position: fixed;
-  top: 32px;
-  right: 0;
-  bottom: 0;
-  font-size: 10px;
-  padding: 0;
-  width: 300px;
-}
-#PDFBug .controls {
-  background: rgba(238, 238, 238, 1);
-  border-bottom: 1px solid rgba(102, 102, 102, 1);
-  padding: 3px;
-}
-#PDFBug .panels {
-  bottom: 0;
-  left: 0;
-  overflow: auto;
-  -webkit-overflow-scrolling: touch;
-  position: absolute;
-  right: 0;
-  top: 27px;
-}
-#PDFBug .panels > div {
-  padding: 5px;
-}
-#PDFBug button.active {
-  font-weight: bold;
-}
-.debuggerShowText {
-  background: none repeat scroll 0 0 rgba(255, 255, 0, 1);
-  color: rgba(0, 0, 255, 1);
-}
-.debuggerHideText:hover {
-  background: none repeat scroll 0 0 rgba(255, 255, 0, 1);
-}
-#PDFBug .stats {
-  font-family: courier;
-  font-size: 10px;
-  white-space: pre;
-}
-#PDFBug .stats .title {
-    font-weight: bold;
-}
-#PDFBug table {
-  font-size: 10px;
-}
-
-#viewer.textLayer-visible .textLayer {
-  opacity: 1.0;
-}
-
-#viewer.textLayer-visible .canvasWrapper {
-  background-color: rgba(128, 255, 128, 1);
-}
-
-#viewer.textLayer-visible .canvasWrapper canvas {
-  mix-blend-mode: screen;
-}
-
-#viewer.textLayer-visible .textLayer > span {
-  background-color: rgba(255, 255, 0, 0.1);
-  color: rgba(0, 0, 0, 1);
-  border: solid 1px rgba(255, 0, 0, 0.5);
-  box-sizing: border-box;
-}
-
-#viewer.textLayer-hover .textLayer > span:hover {
-  background-color: rgba(255, 255, 255, 1);
-  color: rgba(0, 0, 0, 1);
-}
-
-#viewer.textLayer-shadow .textLayer > span {
-  background-color: rgba(255, 255, 255, 0.6);
-  color: rgba(0, 0, 0, 1);
-}
-
-.grab-to-pan-grab {
-  cursor: url("images/grab.cur"), move !important;
-  cursor: -webkit-grab !important;
-  cursor: grab !important;
-}
-.grab-to-pan-grab *:not(input):not(textarea):not(button):not(select):not(:link) {
-  cursor: inherit !important;
-}
-.grab-to-pan-grab:active,
-.grab-to-pan-grabbing {
-  cursor: url("images/grabbing.cur"), move !important;
-  cursor: -webkit-grabbing !important;
-  cursor: grabbing !important;
-  position: fixed;
-  background: rgba(0, 0, 0, 0);
-  display: block;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  overflow: hidden;
-  z-index: 50000; /* should be higher than anything else in PDF.js! */
-}
-
-@page {
-  margin: 0;
-}
-
-#printContainer {
-  display: none;
-}
-
-@media screen and (-webkit-min-device-pixel-ratio: 1.1), screen and (min-resolution: 1.1dppx) {
-  /* Rules for Retina screens */
-  .toolbarButton::before {
-    -webkit-transform: scale(0.5);
-            transform: scale(0.5);
-    top: -5px;
-  }
-
-  .secondaryToolbarButton::before {
-    -webkit-transform: scale(0.5);
-            transform: scale(0.5);
-    top: -4px;
-  }
-
-  html[dir='ltr'] .toolbarButton::before,
-  html[dir='rtl'] .toolbarButton::before {
-    left: -1px;
-  }
-
-  html[dir='ltr'] .secondaryToolbarButton::before {
-    left: -2px;
-  }
-  html[dir='rtl'] .secondaryToolbarButton::before {
-    left: 186px;
-  }
-
-  .toolbarField.pageNumber.visiblePageIsLoading,
-  #findInput[data-status="pending"] {
-    background-image: url(images/loading-small@2x.png);
-    background-size: 16px 17px;
-  }
-
-  .dropdownToolbarButton::after {
-    -webkit-transform: scale(0.5);
-            transform: scale(0.5);
-    top: -5px;
-    content: url(images/toolbarButton-menuArrows@2x.png);
-  }
-  html[dir='ltr'] .dropdownToolbarButton::after {
-    right: 4px;
-  }
-  html[dir='rtl'] .dropdownToolbarButton::after {
-    left: 4px;
-  }
-
-  html[dir='ltr'] .toolbarButton#sidebarToggle::before {
-    content: url(images/toolbarButton-sidebarToggle@2x.png);
-  }
-  html[dir='rtl'] .toolbarButton#sidebarToggle::before {
-    content: url(images/toolbarButton-sidebarToggle-rtl@2x.png);
-  }
-
-  html[dir='ltr'] .toolbarButton#secondaryToolbarToggle::before {
-    content: url(images/toolbarButton-secondaryToolbarToggle@2x.png);
-  }
-  html[dir='rtl'] .toolbarButton#secondaryToolbarToggle::before {
-    content: url(images/toolbarButton-secondaryToolbarToggle-rtl@2x.png);
-  }
-
-  html[dir='ltr'] .toolbarButton.findPrevious::before {
-    content: url(images/findbarButton-previous@2x.png);
-  }
-  html[dir='rtl'] .toolbarButton.findPrevious::before {
-    content: url(images/findbarButton-previous-rtl@2x.png);
-  }
-
-  html[dir='ltr'] .toolbarButton.findNext::before {
-    content: url(images/findbarButton-next@2x.png);
-  }
-  html[dir='rtl'] .toolbarButton.findNext::before {
-    content: url(images/findbarButton-next-rtl@2x.png);
-  }
-
-  html[dir='ltr'] .toolbarButton.pageUp::before {
-    content: url(images/toolbarButton-pageUp@2x.png);
-  }
-  html[dir='rtl'] .toolbarButton.pageUp::before {
-    content: url(images/toolbarButton-pageUp-rtl@2x.png);
-  }
-
-  html[dir='ltr'] .toolbarButton.pageDown::before {
-    content: url(images/toolbarButton-pageDown@2x.png);
-  }
-  html[dir='rtl'] .toolbarButton.pageDown::before {
-    content: url(images/toolbarButton-pageDown-rtl@2x.png);
-  }
-
-  .toolbarButton.zoomIn::before {
-    content: url(images/toolbarButton-zoomIn@2x.png);
-  }
-
-  .toolbarButton.zoomOut::before {
-    content: url(images/toolbarButton-zoomOut@2x.png);
-  }
-
-  .toolbarButton.presentationMode::before,
-  .secondaryToolbarButton.presentationMode::before {
-    content: url(images/toolbarButton-presentationMode@2x.png);
-  }
-
-  .toolbarButton.print::before,
-  .secondaryToolbarButton.print::before {
-    content: url(images/toolbarButton-print@2x.png);
-  }
-
-  .toolbarButton.openFile::before,
-  .secondaryToolbarButton.openFile::before {
-    content: url(images/toolbarButton-openFile@2x.png);
-  }
-
-  .toolbarButton.download::before,
-  .secondaryToolbarButton.download::before {
-    content: url(images/toolbarButton-download@2x.png);
-  }
-
-  .toolbarButton.bookmark::before,
-  .secondaryToolbarButton.bookmark::before {
-    content: url(images/toolbarButton-bookmark@2x.png);
-  }
-
-  #viewThumbnail.toolbarButton::before {
-    content: url(images/toolbarButton-viewThumbnail@2x.png);
-  }
-
-  html[dir="ltr"] #viewOutline.toolbarButton::before {
-    content: url(images/toolbarButton-viewOutline@2x.png);
-  }
-  html[dir="rtl"] #viewOutline.toolbarButton::before {
-    content: url(images/toolbarButton-viewOutline-rtl@2x.png);
-  }
-
-  #viewAttachments.toolbarButton::before {
-    content: url(images/toolbarButton-viewAttachments@2x.png);
-  }
-
-  #viewFind.toolbarButton::before {
-    content: url(images/toolbarButton-search@2x.png);
-  }
-
-  .secondaryToolbarButton.firstPage::before {
-    content: url(images/secondaryToolbarButton-firstPage@2x.png);
-  }
-
-  .secondaryToolbarButton.lastPage::before {
-    content: url(images/secondaryToolbarButton-lastPage@2x.png);
-  }
-
-  .secondaryToolbarButton.rotateCcw::before {
-    content: url(images/secondaryToolbarButton-rotateCcw@2x.png);
-  }
-
-  .secondaryToolbarButton.rotateCw::before {
-    content: url(images/secondaryToolbarButton-rotateCw@2x.png);
-  }
-
-  .secondaryToolbarButton.selectTool::before {
-    content: url(images/secondaryToolbarButton-selectTool@2x.png);
-  }
-
-  .secondaryToolbarButton.handTool::before {
-    content: url(images/secondaryToolbarButton-handTool@2x.png);
-  }
-
-  .secondaryToolbarButton.scrollVertical::before {
-    content: url(images/secondaryToolbarButton-scrollVertical@2x.png);
-  }
-
-  .secondaryToolbarButton.scrollHorizontal::before {
-    content: url(images/secondaryToolbarButton-scrollHorizontal@2x.png);
-  }
-
-  .secondaryToolbarButton.scrollWrapped::before {
-    content: url(images/secondaryToolbarButton-scrollWrapped@2x.png);
-  }
-
-  .secondaryToolbarButton.spreadNone::before {
-    content: url(images/secondaryToolbarButton-spreadNone@2x.png);
-  }
-
-  .secondaryToolbarButton.spreadOdd::before {
-    content: url(images/secondaryToolbarButton-spreadOdd@2x.png);
-  }
-
-  .secondaryToolbarButton.spreadEven::before {
-    content: url(images/secondaryToolbarButton-spreadEven@2x.png);
-  }
-
-  .secondaryToolbarButton.documentProperties::before {
-    content: url(images/secondaryToolbarButton-documentProperties@2x.png);
-  }
-
-  .outlineItemToggler::before {
-    -webkit-transform: scale(0.5);
-            transform: scale(0.5);
-    top: -1px;
-    content: url(images/treeitem-expanded@2x.png);
-  }
-  html[dir='ltr'] .outlineItemToggler.outlineItemsHidden::before {
-    content: url(images/treeitem-collapsed@2x.png);
-  }
-  html[dir='rtl'] .outlineItemToggler.outlineItemsHidden::before {
-    content: url(images/treeitem-collapsed-rtl@2x.png);
-  }
-  html[dir='ltr'] .outlineItemToggler::before {
-    right: 0;
-  }
-  html[dir='rtl'] .outlineItemToggler::before {
-    left: 0;
-  }
-}
-
-@media print {
-  /* General rules for printing. */
-  body {
-    background: rgba(0, 0, 0, 0) none;
-  }
-
-  /* Rules for browsers that don't support mozPrintCallback. */
-  #sidebarContainer, #secondaryToolbar, .toolbar, #loadingBox, #errorWrapper, .textLayer {
-    display: none;
-  }
-  #viewerContainer {
-    overflow: visible;
-  }
-
-  #mainContainer, #viewerContainer, .page, .page canvas {
-    position: static;
-    padding: 0;
-    margin: 0;
-  }
-
-  .page {
-    float: left;
-    display: none;
-    border: none;
-    box-shadow: none;
-    background-clip: content-box;
-    background-color: rgba(255, 255, 255, 1);
-  }
-
-  .page[data-loaded] {
-    display: block;
-  }
-
-  .fileInput {
-    display: none;
-  }
-
-  /* Rules for browsers that support PDF.js printing */
-  body[data-pdfjsprinting] #outerContainer {
-    display: none;
-  }
-  body[data-pdfjsprinting] #printContainer {
-    display: block;
-  }
-  #printContainer {
-    height: 100%;
-  }
-  /* wrapper around (scaled) print canvas elements */
-  #printContainer > div {
-    position: relative;
-    top: 0;
-    left: 0;
-    width: 1px;
-    height: 1px;
-    overflow: visible;
-    page-break-after: always;
-    page-break-inside: avoid;
-  }
-  #printContainer canvas,
-  #printContainer img {
-    display: block;
-  }
-}
-
-.visibleLargeView,
-.visibleMediumView,
-.visibleSmallView {
-  display: none;
-}
-
-@media all and (max-width: 900px) {
-  #toolbarViewerMiddle {
-    display: table;
-    margin: auto;
-    left: auto;
-    position: inherit;
-    -webkit-transform: none;
-            transform: none;
-  }
-}
-
-@media all and (max-width: 840px) {
-  #sidebarContent {
-    background-color: rgba(0, 0, 0, 0.7);
-  }
-
-  html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {
-    left: 0px !important;
-  }
-  html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer {
-    right: 0px !important;
-  }
-
-  #outerContainer .hiddenLargeView,
-  #outerContainer .hiddenMediumView {
-    display: inherit;
-  }
-  #outerContainer .visibleLargeView,
-  #outerContainer .visibleMediumView {
-    display: none;
-  }
-}
-
-@media all and (max-width: 770px) {
-  #outerContainer .hiddenLargeView {
-    display: none;
-  }
-  #outerContainer .visibleLargeView {
-    display: inherit;
-  }
-}
-
-@media all and (max-width: 700px) {
-  #outerContainer .hiddenMediumView {
-    display: none;
-  }
-  #outerContainer .visibleMediumView {
-    display: inherit;
-  }
-}
-
-@media all and (max-width: 640px) {
-  .hiddenSmallView, .hiddenSmallView * {
-    display: none;
-  }
-  .visibleSmallView {
-    display: inherit;
-  }
-  .toolbarButtonSpacer {
-    width: 0;
-  }
-  html[dir='ltr'] .findbar {
-    left: 38px;
-  }
-  html[dir='rtl'] .findbar {
-    right: 38px;
-  }
-}
-
-@media all and (max-width: 535px) {
-  #scaleSelectContainer {
-    display: none;
-  }
-}
diff --git a/server/target/classes/static/pdfjs/web/viewer.html b/server/target/classes/static/pdfjs/web/viewer.html
deleted file mode 100644
index 7670ff5..0000000
--- a/server/target/classes/static/pdfjs/web/viewer.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<!DOCTYPE html>
-<!--
-Copyright 2012 Mozilla Foundation
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-Adobe CMap resources are covered by their own copyright but the same license:
-
-    Copyright 1990-2015 Adobe Systems Incorporated.
-
-See https://github.com/adobe-type-tools/cmap-resources
--->
-<html dir="ltr" mozdisallowselectionprint>
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
-    <meta name="google" content="notranslate">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>PDF.js viewer</title>
-
-
-    <link rel="stylesheet" href="viewer.css">
-
-
-<!-- This snippet is used in production (included from viewer.html) -->
-<link rel="resource" type="application/l10n" href="locale/locale.properties">
-<script src="../build/pdf.js"></script>
-
-
-    <script src="viewer.js"></script>
-
-  </head>
-
-  <body tabindex="1" class="loadingInProgress">
-    <div id="outerContainer">
-
-      <div id="sidebarContainer">
-        <div id="toolbarSidebar">
-          <div class="splitToolbarButton toggled">
-            <button id="viewThumbnail" class="toolbarButton toggled" title="Show Thumbnails" tabindex="2" data-l10n-id="thumbs">
-               <span data-l10n-id="thumbs_label">Thumbnails</span>
-            </button>
-            <button id="viewOutline" class="toolbarButton" title="Show Document Outline (double-click to expand/collapse all items)" tabindex="3" data-l10n-id="document_outline">
-               <span data-l10n-id="document_outline_label">Document Outline</span>
-            </button>
-            <button id="viewAttachments" class="toolbarButton" title="Show Attachments" tabindex="4" data-l10n-id="attachments">
-               <span data-l10n-id="attachments_label">Attachments</span>
-            </button>
-          </div>
-        </div>
-        <div id="sidebarContent">
-          <div id="thumbnailView">
-          </div>
-          <div id="outlineView" class="hidden">
-          </div>
-          <div id="attachmentsView" class="hidden">
-          </div>
-        </div>
-        <div id="sidebarResizer" class="hidden"></div>
-      </div>  <!-- sidebarContainer -->
-
-      <div id="mainContainer">
-        <div class="findbar hidden doorHanger" id="findbar">
-          <div id="findbarInputContainer">
-            <input id="findInput" class="toolbarField" title="Find" placeholder="Find in document…" tabindex="91" data-l10n-id="find_input">
-            <div class="splitToolbarButton">
-              <button id="findPrevious" class="toolbarButton findPrevious" title="Find the previous occurrence of the phrase" tabindex="92" data-l10n-id="find_previous">
-                <span data-l10n-id="find_previous_label">Previous</span>
-              </button>
-              <div class="splitToolbarButtonSeparator"></div>
-              <button id="findNext" class="toolbarButton findNext" title="Find the next occurrence of the phrase" tabindex="93" data-l10n-id="find_next">
-                <span data-l10n-id="find_next_label">Next</span>
-              </button>
-            </div>
-          </div>
-
-          <div id="findbarOptionsOneContainer">
-            <input type="checkbox" id="findHighlightAll" class="toolbarField" tabindex="94">
-            <label for="findHighlightAll" class="toolbarLabel" data-l10n-id="find_highlight">Highlight all</label>
-            <input type="checkbox" id="findMatchCase" class="toolbarField" tabindex="95">
-            <label for="findMatchCase" class="toolbarLabel" data-l10n-id="find_match_case_label">Match case</label>
-          </div>
-          <div id="findbarOptionsTwoContainer">
-            <input type="checkbox" id="findEntireWord" class="toolbarField" tabindex="96">
-            <label for="findEntireWord" class="toolbarLabel" data-l10n-id="find_entire_word_label">Whole words</label>
-            <span id="findResultsCount" class="toolbarLabel hidden"></span>
-          </div>
-
-          <div id="findbarMessageContainer">
-            <span id="findMsg" class="toolbarLabel"></span>
-          </div>
-        </div>  <!-- findbar -->
-
-        <div id="secondaryToolbar" class="secondaryToolbar hidden doorHangerRight">
-          <div id="secondaryToolbarButtonContainer">
-            <button id="secondaryPresentationMode" class="secondaryToolbarButton presentationMode visibleLargeView" title="Switch to Presentation Mode" tabindex="51" data-l10n-id="presentation_mode">
-              <span data-l10n-id="presentation_mode_label">Presentation Mode</span>
-            </button>
-
-            <button id="secondaryOpenFile" class="secondaryToolbarButton openFile visibleLargeView" title="Open File" tabindex="52" data-l10n-id="open_file">
-              <span data-l10n-id="open_file_label">Open</span>
-            </button>
-
-            <button id="secondaryPrint" class="secondaryToolbarButton print visibleMediumView" title="Print" tabindex="53" data-l10n-id="print">
-              <span data-l10n-id="print_label">Print</span>
-            </button>
-
-            <button id="secondaryDownload" class="secondaryToolbarButton download visibleMediumView" title="Download" tabindex="54" data-l10n-id="download">
-              <span data-l10n-id="download_label">Download</span>
-            </button>
-
-            <a href="#" id="secondaryViewBookmark" class="secondaryToolbarButton bookmark visibleSmallView" title="Current view (copy or open in new window)" tabindex="55" data-l10n-id="bookmark">
-              <span data-l10n-id="bookmark_label">Current View</span>
-            </a>
-
-            <div class="horizontalToolbarSeparator visibleLargeView"></div>
-
-            <button id="firstPage" class="secondaryToolbarButton firstPage" title="Go to First Page" tabindex="56" data-l10n-id="first_page">
-              <span data-l10n-id="first_page_label">Go to First Page</span>
-            </button>
-            <button id="lastPage" class="secondaryToolbarButton lastPage" title="Go to Last Page" tabindex="57" data-l10n-id="last_page">
-              <span data-l10n-id="last_page_label">Go to Last Page</span>
-            </button>
-
-            <div class="horizontalToolbarSeparator"></div>
-
-            <button id="pageRotateCw" class="secondaryToolbarButton rotateCw" title="Rotate Clockwise" tabindex="58" data-l10n-id="page_rotate_cw">
-              <span data-l10n-id="page_rotate_cw_label">Rotate Clockwise</span>
-            </button>
-            <button id="pageRotateCcw" class="secondaryToolbarButton rotateCcw" title="Rotate Counterclockwise" tabindex="59" data-l10n-id="page_rotate_ccw">
-              <span data-l10n-id="page_rotate_ccw_label">Rotate Counterclockwise</span>
-            </button>
-
-            <div class="horizontalToolbarSeparator"></div>
-
-            <button id="cursorSelectTool" class="secondaryToolbarButton selectTool toggled" title="Enable Text Selection Tool" tabindex="60" data-l10n-id="cursor_text_select_tool">
-              <span data-l10n-id="cursor_text_select_tool_label">Text Selection Tool</span>
-            </button>
-            <button id="cursorHandTool" class="secondaryToolbarButton handTool" title="Enable Hand Tool" tabindex="61" data-l10n-id="cursor_hand_tool">
-              <span data-l10n-id="cursor_hand_tool_label">Hand Tool</span>
-            </button>
-
-            <div class="horizontalToolbarSeparator"></div>
-
-            <button id="scrollVertical" class="secondaryToolbarButton scrollModeButtons scrollVertical toggled" title="Use Vertical Scrolling" tabindex="62" data-l10n-id="scroll_vertical">
-              <span data-l10n-id="scroll_vertical_label">Vertical Scrolling</span>
-            </button>
-            <button id="scrollHorizontal" class="secondaryToolbarButton scrollModeButtons scrollHorizontal" title="Use Horizontal Scrolling" tabindex="63" data-l10n-id="scroll_horizontal">
-              <span data-l10n-id="scroll_horizontal_label">Horizontal Scrolling</span>
-            </button>
-            <button id="scrollWrapped" class="secondaryToolbarButton scrollModeButtons scrollWrapped" title="Use Wrapped Scrolling" tabindex="64" data-l10n-id="scroll_wrapped">
-              <span data-l10n-id="scroll_wrapped_label">Wrapped Scrolling</span>
-            </button>
-
-            <div class="horizontalToolbarSeparator scrollModeButtons"></div>
-
-            <button id="spreadNone" class="secondaryToolbarButton spreadModeButtons spreadNone toggled" title="Do not join page spreads" tabindex="65" data-l10n-id="spread_none">
-              <span data-l10n-id="spread_none_label">No Spreads</span>
-            </button>
-            <button id="spreadOdd" class="secondaryToolbarButton spreadModeButtons spreadOdd" title="Join page spreads starting with odd-numbered pages" tabindex="66" data-l10n-id="spread_odd">
-              <span data-l10n-id="spread_odd_label">Odd Spreads</span>
-            </button>
-            <button id="spreadEven" class="secondaryToolbarButton spreadModeButtons spreadEven" title="Join page spreads starting with even-numbered pages" tabindex="67" data-l10n-id="spread_even">
-              <span data-l10n-id="spread_even_label">Even Spreads</span>
-            </button>
-
-            <div class="horizontalToolbarSeparator spreadModeButtons"></div>
-
-            <button id="documentProperties" class="secondaryToolbarButton documentProperties" title="Document Properties…" tabindex="68" data-l10n-id="document_properties">
-              <span data-l10n-id="document_properties_label">Document Properties…</span>
-            </button>
-          </div>
-        </div>  <!-- secondaryToolbar -->
-
-        <div class="toolbar">
-          <div id="toolbarContainer">
-            <div id="toolbarViewer">
-              <div id="toolbarViewerLeft">
-                <button id="sidebarToggle" class="toolbarButton" title="Toggle Sidebar" tabindex="11" data-l10n-id="toggle_sidebar">
-                  <span data-l10n-id="toggle_sidebar_label">Toggle Sidebar</span>
-                </button>
-                <div class="toolbarButtonSpacer"></div>
-                <button id="viewFind" class="toolbarButton" title="Find in Document" tabindex="12" data-l10n-id="findbar">
-                  <span data-l10n-id="findbar_label">Find</span>
-                </button>
-                <div class="splitToolbarButton hiddenSmallView">
-                  <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="13" data-l10n-id="previous">
-                    <span data-l10n-id="previous_label">Previous</span>
-                  </button>
-                  <div class="splitToolbarButtonSeparator"></div>
-                  <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="14" data-l10n-id="next">
-                    <span data-l10n-id="next_label">Next</span>
-                  </button>
-                </div>
-                <input type="number" id="pageNumber" class="toolbarField pageNumber" title="Page" value="1" size="4" min="1" tabindex="15" data-l10n-id="page">
-                <span id="numPages" class="toolbarLabel"></span>
-              </div>
-              <div id="toolbarViewerRight">
-                <button id="presentationMode" class="toolbarButton presentationMode hiddenLargeView" title="Switch to Presentation Mode" tabindex="31" data-l10n-id="presentation_mode">
-                  <span data-l10n-id="presentation_mode_label">Presentation Mode</span>
-                </button>
-
-                <button id="openFile" class="toolbarButton openFile hiddenLargeView" title="Open File" tabindex="32" data-l10n-id="open_file">
-                  <span data-l10n-id="open_file_label">Open</span>
-                </button>
-
-                <button id="print" class="toolbarButton print hiddenMediumView" title="Print" tabindex="33" data-l10n-id="print">
-                  <span data-l10n-id="print_label">Print</span>
-                </button>
-
-                <button id="download" class="toolbarButton download hiddenMediumView" title="Download" tabindex="34" data-l10n-id="download">
-                  <span data-l10n-id="download_label">Download</span>
-                </button>
-                <a href="#" id="viewBookmark" class="toolbarButton bookmark hiddenSmallView" title="Current view (copy or open in new window)" tabindex="35" data-l10n-id="bookmark">
-                  <span data-l10n-id="bookmark_label">Current View</span>
-                </a>
-
-                <div class="verticalToolbarSeparator hiddenSmallView"></div>
-
-                <button id="secondaryToolbarToggle" class="toolbarButton" title="Tools" tabindex="36" data-l10n-id="tools">
-                  <span data-l10n-id="tools_label">Tools</span>
-                </button>
-              </div>
-              <div id="toolbarViewerMiddle">
-                <div class="splitToolbarButton">
-                  <button id="zoomOut" class="toolbarButton zoomOut" title="Zoom Out" tabindex="21" data-l10n-id="zoom_out">
-                    <span data-l10n-id="zoom_out_label">Zoom Out</span>
-                  </button>
-                  <div class="splitToolbarButtonSeparator"></div>
-                  <button id="zoomIn" class="toolbarButton zoomIn" title="Zoom In" tabindex="22" data-l10n-id="zoom_in">
-                    <span data-l10n-id="zoom_in_label">Zoom In</span>
-                   </button>
-                </div>
-                <span id="scaleSelectContainer" class="dropdownToolbarButton">
-                  <select id="scaleSelect" title="Zoom" tabindex="23" data-l10n-id="zoom">
-                    <option id="pageAutoOption" title="" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option>
-                    <option id="pageActualOption" title="" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option>
-                    <option id="pageFitOption" title="" value="page-fit" data-l10n-id="page_scale_fit">Page Fit</option>
-                    <option id="pageWidthOption" title="" value="page-width" data-l10n-id="page_scale_width">Page Width</option>
-                    <option id="customScaleOption" title="" value="custom" disabled="disabled" hidden="true"></option>
-                    <option title="" value="0.5" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 50 }'>50%</option>
-                    <option title="" value="0.75" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 75 }'>75%</option>
-                    <option title="" value="1" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 100 }'>100%</option>
-                    <option title="" value="1.25" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 125 }'>125%</option>
-                    <option title="" value="1.5" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 150 }'>150%</option>
-                    <option title="" value="2" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 200 }'>200%</option>
-                    <option title="" value="3" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 300 }'>300%</option>
-                    <option title="" value="4" data-l10n-id="page_scale_percent" data-l10n-args='{ "scale": 400 }'>400%</option>
-                  </select>
-                </span>
-              </div>
-            </div>
-            <div id="loadingBar">
-              <div class="progress">
-                <div class="glimmer">
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-
-        <menu type="context" id="viewerContextMenu">
-          <menuitem id="contextFirstPage" label="First Page"
-                    data-l10n-id="first_page"></menuitem>
-          <menuitem id="contextLastPage" label="Last Page"
-                    data-l10n-id="last_page"></menuitem>
-          <menuitem id="contextPageRotateCw" label="Rotate Clockwise"
-                    data-l10n-id="page_rotate_cw"></menuitem>
-          <menuitem id="contextPageRotateCcw" label="Rotate Counter-Clockwise"
-                    data-l10n-id="page_rotate_ccw"></menuitem>
-        </menu>
-
-        <div id="viewerContainer" tabindex="0">
-          <div id="viewer" class="pdfViewer"></div>
-        </div>
-
-        <div id="errorWrapper" hidden='true'>
-          <div id="errorMessageLeft">
-            <span id="errorMessage"></span>
-            <button id="errorShowMore" data-l10n-id="error_more_info">
-              More Information
-            </button>
-            <button id="errorShowLess" data-l10n-id="error_less_info" hidden='true'>
-              Less Information
-            </button>
-          </div>
-          <div id="errorMessageRight">
-            <button id="errorClose" data-l10n-id="error_close">
-              Close
-            </button>
-          </div>
-          <div class="clearBoth"></div>
-          <textarea id="errorMoreInfo" hidden='true' readonly="readonly"></textarea>
-        </div>
-      </div> <!-- mainContainer -->
-
-      <div id="overlayContainer" class="hidden">
-        <div id="passwordOverlay" class="container hidden">
-          <div class="dialog">
-            <div class="row">
-              <p id="passwordText" data-l10n-id="password_label">Enter the password to open this PDF file:</p>
-            </div>
-            <div class="row">
-              <input type="password" id="password" class="toolbarField">
-            </div>
-            <div class="buttonRow">
-              <button id="passwordCancel" class="overlayButton"><span data-l10n-id="password_cancel">Cancel</span></button>
-              <button id="passwordSubmit" class="overlayButton"><span data-l10n-id="password_ok">OK</span></button>
-            </div>
-          </div>
-        </div>
-        <div id="documentPropertiesOverlay" class="container hidden">
-          <div class="dialog">
-            <div class="row">
-              <span data-l10n-id="document_properties_file_name">File name:</span> <p id="fileNameField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_file_size">File size:</span> <p id="fileSizeField">-</p>
-            </div>
-            <div class="separator"></div>
-            <div class="row">
-              <span data-l10n-id="document_properties_title">Title:</span> <p id="titleField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_author">Author:</span> <p id="authorField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_subject">Subject:</span> <p id="subjectField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_keywords">Keywords:</span> <p id="keywordsField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_creation_date">Creation Date:</span> <p id="creationDateField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_modification_date">Modification Date:</span> <p id="modificationDateField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_creator">Creator:</span> <p id="creatorField">-</p>
-            </div>
-            <div class="separator"></div>
-            <div class="row">
-              <span data-l10n-id="document_properties_producer">PDF Producer:</span> <p id="producerField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_version">PDF Version:</span> <p id="versionField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_page_count">Page Count:</span> <p id="pageCountField">-</p>
-            </div>
-            <div class="row">
-              <span data-l10n-id="document_properties_page_size">Page Size:</span> <p id="pageSizeField">-</p>
-            </div>
-            <div class="separator"></div>
-            <div class="row">
-              <span data-l10n-id="document_properties_linearized">Fast Web View:</span> <p id="linearizedField">-</p>
-            </div>
-            <div class="buttonRow">
-              <button id="documentPropertiesClose" class="overlayButton"><span data-l10n-id="document_properties_close">Close</span></button>
-            </div>
-          </div>
-        </div>
-        <div id="printServiceOverlay" class="container hidden">
-          <div class="dialog">
-            <div class="row">
-              <span data-l10n-id="print_progress_message">Preparing document for printing…</span>
-            </div>
-            <div class="row">
-              <progress value="0" max="100"></progress>
-              <span data-l10n-id="print_progress_percent" data-l10n-args='{ "progress": 0 }' class="relative-progress">0%</span>
-            </div>
-            <div class="buttonRow">
-              <button id="printCancel" class="overlayButton"><span data-l10n-id="print_progress_close">Cancel</span></button>
-            </div>
-          </div>
-        </div>
-      </div>  <!-- overlayContainer -->
-
-    </div> <!-- outerContainer -->
-    <div id="printContainer"></div>
-  </body>
-</html>
-
diff --git a/server/target/classes/static/pdfjs/web/viewer.js b/server/target/classes/static/pdfjs/web/viewer.js
deleted file mode 100644
index 1ae7fd3..0000000
--- a/server/target/classes/static/pdfjs/web/viewer.js
+++ /dev/null
@@ -1,16181 +0,0 @@
-/**
- * @licstart The following is the entire license notice for the
- * Javascript code in this page
- *
- * Copyright 2020 Mozilla Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * @licend The above is the entire license notice for the
- * Javascript code in this page
- */
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-/******/
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-/******/
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId]) {
-/******/ 			return installedModules[moduleId].exports;
-/******/ 		}
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			i: moduleId,
-/******/ 			l: false,
-/******/ 			exports: {}
-/******/ 		};
-/******/
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ 		// Flag the module as loaded
-/******/ 		module.l = true;
-/******/
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-/******/
-/******/
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-/******/
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-/******/
-/******/ 	// define getter function for harmony exports
-/******/ 	__webpack_require__.d = function(exports, name, getter) {
-/******/ 		if(!__webpack_require__.o(exports, name)) {
-/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ 		}
-/******/ 	};
-/******/
-/******/ 	// define __esModule on exports
-/******/ 	__webpack_require__.r = function(exports) {
-/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ 		}
-/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
-/******/ 	};
-/******/
-/******/ 	// create a fake namespace object
-/******/ 	// mode & 1: value is a module id, require it
-/******/ 	// mode & 2: merge all properties of value into the ns
-/******/ 	// mode & 4: return value when already ns object
-/******/ 	// mode & 8|1: behave like require
-/******/ 	__webpack_require__.t = function(value, mode) {
-/******/ 		if(mode & 1) value = __webpack_require__(value);
-/******/ 		if(mode & 8) return value;
-/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ 		var ns = Object.create(null);
-/******/ 		__webpack_require__.r(ns);
-/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ 		return ns;
-/******/ 	};
-/******/
-/******/ 	// getDefaultExport function for compatibility with non-harmony modules
-/******/ 	__webpack_require__.n = function(module) {
-/******/ 		var getter = module && module.__esModule ?
-/******/ 			function getDefault() { return module['default']; } :
-/******/ 			function getModuleExports() { return module; };
-/******/ 		__webpack_require__.d(getter, 'a', getter);
-/******/ 		return getter;
-/******/ 	};
-/******/
-/******/ 	// Object.prototype.hasOwnProperty.call
-/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-/******/
-/******/
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-;
-var pdfjsWebApp, pdfjsWebAppOptions;
-{
-  pdfjsWebApp = __webpack_require__(1);
-  pdfjsWebAppOptions = __webpack_require__(6);
-}
-;
-{
-  __webpack_require__(36);
-}
-;
-{
-  __webpack_require__(41);
-}
-
-function getViewerConfiguration() {
-  return {
-    appContainer: document.body,
-    mainContainer: document.getElementById("viewerContainer"),
-    viewerContainer: document.getElementById("viewer"),
-    eventBus: null,
-    toolbar: {
-      container: document.getElementById("toolbarViewer"),
-      numPages: document.getElementById("numPages"),
-      pageNumber: document.getElementById("pageNumber"),
-      scaleSelectContainer: document.getElementById("scaleSelectContainer"),
-      scaleSelect: document.getElementById("scaleSelect"),
-      customScaleOption: document.getElementById("customScaleOption"),
-      previous: document.getElementById("previous"),
-      next: document.getElementById("next"),
-      zoomIn: document.getElementById("zoomIn"),
-      zoomOut: document.getElementById("zoomOut"),
-      viewFind: document.getElementById("viewFind"),
-      openFile: document.getElementById("openFile"),
-      print: document.getElementById("print"),
-      presentationModeButton: document.getElementById("presentationMode"),
-      download: document.getElementById("download"),
-      viewBookmark: document.getElementById("viewBookmark")
-    },
-    secondaryToolbar: {
-      toolbar: document.getElementById("secondaryToolbar"),
-      toggleButton: document.getElementById("secondaryToolbarToggle"),
-      toolbarButtonContainer: document.getElementById("secondaryToolbarButtonContainer"),
-      presentationModeButton: document.getElementById("secondaryPresentationMode"),
-      openFileButton: document.getElementById("secondaryOpenFile"),
-      printButton: document.getElementById("secondaryPrint"),
-      downloadButton: document.getElementById("secondaryDownload"),
-      viewBookmarkButton: document.getElementById("secondaryViewBookmark"),
-      firstPageButton: document.getElementById("firstPage"),
-      lastPageButton: document.getElementById("lastPage"),
-      pageRotateCwButton: document.getElementById("pageRotateCw"),
-      pageRotateCcwButton: document.getElementById("pageRotateCcw"),
-      cursorSelectToolButton: document.getElementById("cursorSelectTool"),
-      cursorHandToolButton: document.getElementById("cursorHandTool"),
-      scrollVerticalButton: document.getElementById("scrollVertical"),
-      scrollHorizontalButton: document.getElementById("scrollHorizontal"),
-      scrollWrappedButton: document.getElementById("scrollWrapped"),
-      spreadNoneButton: document.getElementById("spreadNone"),
-      spreadOddButton: document.getElementById("spreadOdd"),
-      spreadEvenButton: document.getElementById("spreadEven"),
-      documentPropertiesButton: document.getElementById("documentProperties")
-    },
-    fullscreen: {
-      contextFirstPage: document.getElementById("contextFirstPage"),
-      contextLastPage: document.getElementById("contextLastPage"),
-      contextPageRotateCw: document.getElementById("contextPageRotateCw"),
-      contextPageRotateCcw: document.getElementById("contextPageRotateCcw")
-    },
-    sidebar: {
-      outerContainer: document.getElementById("outerContainer"),
-      viewerContainer: document.getElementById("viewerContainer"),
-      toggleButton: document.getElementById("sidebarToggle"),
-      thumbnailButton: document.getElementById("viewThumbnail"),
-      outlineButton: document.getElementById("viewOutline"),
-      attachmentsButton: document.getElementById("viewAttachments"),
-      thumbnailView: document.getElementById("thumbnailView"),
-      outlineView: document.getElementById("outlineView"),
-      attachmentsView: document.getElementById("attachmentsView")
-    },
-    sidebarResizer: {
-      outerContainer: document.getElementById("outerContainer"),
-      resizer: document.getElementById("sidebarResizer")
-    },
-    findBar: {
-      bar: document.getElementById("findbar"),
-      toggleButton: document.getElementById("viewFind"),
-      findField: document.getElementById("findInput"),
-      highlightAllCheckbox: document.getElementById("findHighlightAll"),
-      caseSensitiveCheckbox: document.getElementById("findMatchCase"),
-      entireWordCheckbox: document.getElementById("findEntireWord"),
-      findMsg: document.getElementById("findMsg"),
-      findResultsCount: document.getElementById("findResultsCount"),
-      findPreviousButton: document.getElementById("findPrevious"),
-      findNextButton: document.getElementById("findNext")
-    },
-    passwordOverlay: {
-      overlayName: "passwordOverlay",
-      container: document.getElementById("passwordOverlay"),
-      label: document.getElementById("passwordText"),
-      input: document.getElementById("password"),
-      submitButton: document.getElementById("passwordSubmit"),
-      cancelButton: document.getElementById("passwordCancel")
-    },
-    documentProperties: {
-      overlayName: "documentPropertiesOverlay",
-      container: document.getElementById("documentPropertiesOverlay"),
-      closeButton: document.getElementById("documentPropertiesClose"),
-      fields: {
-        fileName: document.getElementById("fileNameField"),
-        fileSize: document.getElementById("fileSizeField"),
-        title: document.getElementById("titleField"),
-        author: document.getElementById("authorField"),
-        subject: document.getElementById("subjectField"),
-        keywords: document.getElementById("keywordsField"),
-        creationDate: document.getElementById("creationDateField"),
-        modificationDate: document.getElementById("modificationDateField"),
-        creator: document.getElementById("creatorField"),
-        producer: document.getElementById("producerField"),
-        version: document.getElementById("versionField"),
-        pageCount: document.getElementById("pageCountField"),
-        pageSize: document.getElementById("pageSizeField"),
-        linearized: document.getElementById("linearizedField")
-      }
-    },
-    errorWrapper: {
-      container: document.getElementById("errorWrapper"),
-      errorMessage: document.getElementById("errorMessage"),
-      closeButton: document.getElementById("errorClose"),
-      errorMoreInfo: document.getElementById("errorMoreInfo"),
-      moreInfoButton: document.getElementById("errorShowMore"),
-      lessInfoButton: document.getElementById("errorShowLess")
-    },
-    printContainer: document.getElementById("printContainer"),
-    openFileInputName: "fileInput",
-    debuggerScriptPath: "./debugger.js"
-  };
-}
-
-function webViewerLoad() {
-  var config = getViewerConfiguration();
-  window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication;
-  window.PDFViewerApplicationOptions = pdfjsWebAppOptions.AppOptions;
-  var event = document.createEvent("CustomEvent");
-  event.initCustomEvent("webviewerloaded", true, true, {});
-  document.dispatchEvent(event);
-  pdfjsWebApp.PDFViewerApplication.run(config);
-}
-
-if (document.readyState === "interactive" || document.readyState === "complete") {
-  webViewerLoad();
-} else {
-  document.addEventListener("DOMContentLoaded", webViewerLoad, true);
-}
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFPrintServiceFactory = exports.DefaultExternalServices = exports.PDFViewerApplication = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _ui_utils = __webpack_require__(5);
-
-var _app_options = __webpack_require__(6);
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _pdf_cursor_tools = __webpack_require__(9);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-var _pdf_sidebar = __webpack_require__(12);
-
-var _overlay_manager = __webpack_require__(13);
-
-var _password_prompt = __webpack_require__(14);
-
-var _pdf_attachment_viewer = __webpack_require__(15);
-
-var _pdf_document_properties = __webpack_require__(16);
-
-var _pdf_find_bar = __webpack_require__(17);
-
-var _pdf_find_controller = __webpack_require__(18);
-
-var _pdf_history = __webpack_require__(20);
-
-var _pdf_link_service = __webpack_require__(21);
-
-var _pdf_outline_viewer = __webpack_require__(22);
-
-var _pdf_presentation_mode = __webpack_require__(23);
-
-var _pdf_sidebar_resizer = __webpack_require__(24);
-
-var _pdf_thumbnail_viewer = __webpack_require__(25);
-
-var _pdf_viewer = __webpack_require__(27);
-
-var _secondary_toolbar = __webpack_require__(32);
-
-var _toolbar = __webpack_require__(34);
-
-var _view_history = __webpack_require__(35);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_SCALE_DELTA = 1.1;
-var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000;
-var FORCE_PAGES_LOADED_TIMEOUT = 10000;
-var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000;
-var ViewOnLoad = {
-  UNKNOWN: -1,
-  PREVIOUS: 0,
-  INITIAL: 1
-};
-
-var DefaultExternalServices = /*#__PURE__*/function () {
-  function DefaultExternalServices() {
-    _classCallCheck(this, DefaultExternalServices);
-
-    throw new Error("Cannot initialize DefaultExternalServices.");
-  }
-
-  _createClass(DefaultExternalServices, null, [{
-    key: "updateFindControlState",
-    value: function updateFindControlState(data) {}
-  }, {
-    key: "updateFindMatchesCount",
-    value: function updateFindMatchesCount(data) {}
-  }, {
-    key: "initPassiveLoading",
-    value: function initPassiveLoading(callbacks) {}
-  }, {
-    key: "fallback",
-    value: function fallback(data, callback) {}
-  }, {
-    key: "reportTelemetry",
-    value: function reportTelemetry(data) {}
-  }, {
-    key: "createDownloadManager",
-    value: function createDownloadManager(options) {
-      throw new Error("Not implemented: createDownloadManager");
-    }
-  }, {
-    key: "createPreferences",
-    value: function createPreferences() {
-      throw new Error("Not implemented: createPreferences");
-    }
-  }, {
-    key: "createL10n",
-    value: function createL10n(options) {
-      throw new Error("Not implemented: createL10n");
-    }
-  }, {
-    key: "supportsIntegratedFind",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false);
-    }
-  }, {
-    key: "supportsDocumentFonts",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true);
-    }
-  }, {
-    key: "supportedMouseWheelZoomModifierKeys",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", {
-        ctrlKey: true,
-        metaKey: true
-      });
-    }
-  }]);
-
-  return DefaultExternalServices;
-}();
-
-exports.DefaultExternalServices = DefaultExternalServices;
-var PDFViewerApplication = {
-  initialBookmark: document.location.hash.substring(1),
-  _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(),
-  fellback: false,
-  appConfig: null,
-  pdfDocument: null,
-  pdfLoadingTask: null,
-  printService: null,
-  pdfViewer: null,
-  pdfThumbnailViewer: null,
-  pdfRenderingQueue: null,
-  pdfPresentationMode: null,
-  pdfDocumentProperties: null,
-  pdfLinkService: null,
-  pdfHistory: null,
-  pdfSidebar: null,
-  pdfSidebarResizer: null,
-  pdfOutlineViewer: null,
-  pdfAttachmentViewer: null,
-  pdfCursorTools: null,
-  store: null,
-  downloadManager: null,
-  overlayManager: null,
-  preferences: null,
-  toolbar: null,
-  secondaryToolbar: null,
-  eventBus: null,
-  l10n: null,
-  isInitialViewSet: false,
-  downloadComplete: false,
-  isViewerEmbedded: window.parent !== window,
-  url: "",
-  baseUrl: "",
-  externalServices: DefaultExternalServices,
-  _boundEvents: {},
-  contentDispositionFilename: null,
-  initialize: function initialize(appConfig) {
-    var _this = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-      var appContainer;
-      return _regenerator["default"].wrap(function _callee$(_context) {
-        while (1) {
-          switch (_context.prev = _context.next) {
-            case 0:
-              _this.preferences = _this.externalServices.createPreferences();
-              _this.appConfig = appConfig;
-              _context.next = 4;
-              return _this._readPreferences();
-
-            case 4:
-              _context.next = 6;
-              return _this._parseHashParameters();
-
-            case 6:
-              _context.next = 8;
-              return _this._initializeL10n();
-
-            case 8:
-              if (_this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdfjsLib.LinkTarget.NONE) {
-                _app_options.AppOptions.set("externalLinkTarget", _pdfjsLib.LinkTarget.TOP);
-              }
-
-              _context.next = 11;
-              return _this._initializeViewerComponents();
-
-            case 11:
-              _this.bindEvents();
-
-              _this.bindWindowEvents();
-
-              appContainer = appConfig.appContainer || document.documentElement;
-
-              _this.l10n.translate(appContainer).then(function () {
-                _this.eventBus.dispatch("localized", {
-                  source: _this
-                });
-              });
-
-              _this._initializedCapability.resolve();
-
-            case 16:
-            case "end":
-              return _context.stop();
-          }
-        }
-      }, _callee);
-    }))();
-  },
-  _readPreferences: function _readPreferences() {
-    var _this2 = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-      var prefs, name;
-      return _regenerator["default"].wrap(function _callee2$(_context2) {
-        while (1) {
-          switch (_context2.prev = _context2.next) {
-            case 0:
-              if (!(_app_options.AppOptions.get("disablePreferences") === true)) {
-                _context2.next = 2;
-                break;
-              }
-
-              return _context2.abrupt("return");
-
-            case 2:
-              _context2.prev = 2;
-              _context2.next = 5;
-              return _this2.preferences.getAll();
-
-            case 5:
-              prefs = _context2.sent;
-
-              for (name in prefs) {
-                _app_options.AppOptions.set(name, prefs[name]);
-              }
-
-              _context2.next = 12;
-              break;
-
-            case 9:
-              _context2.prev = 9;
-              _context2.t0 = _context2["catch"](2);
-              console.error("_readPreferences: \"".concat(_context2.t0.message, "\"."));
-
-            case 12:
-            case "end":
-              return _context2.stop();
-          }
-        }
-      }, _callee2, null, [[2, 9]]);
-    }))();
-  },
-  _parseHashParameters: function _parseHashParameters() {
-    var _this3 = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
-      var hash, hashParams, waitOn, viewer, enabled;
-      return _regenerator["default"].wrap(function _callee3$(_context3) {
-        while (1) {
-          switch (_context3.prev = _context3.next) {
-            case 0:
-              if (_app_options.AppOptions.get("pdfBugEnabled")) {
-                _context3.next = 2;
-                break;
-              }
-
-              return _context3.abrupt("return", undefined);
-
-            case 2:
-              hash = document.location.hash.substring(1);
-
-              if (hash) {
-                _context3.next = 5;
-                break;
-              }
-
-              return _context3.abrupt("return", undefined);
-
-            case 5:
-              hashParams = (0, _ui_utils.parseQueryString)(hash), waitOn = [];
-
-              if ("disableworker" in hashParams && hashParams["disableworker"] === "true") {
-                waitOn.push(loadFakeWorker());
-              }
-
-              if ("disablerange" in hashParams) {
-                _app_options.AppOptions.set("disableRange", hashParams["disablerange"] === "true");
-              }
-
-              if ("disablestream" in hashParams) {
-                _app_options.AppOptions.set("disableStream", hashParams["disablestream"] === "true");
-              }
-
-              if ("disableautofetch" in hashParams) {
-                _app_options.AppOptions.set("disableAutoFetch", hashParams["disableautofetch"] === "true");
-              }
-
-              if ("disablefontface" in hashParams) {
-                _app_options.AppOptions.set("disableFontFace", hashParams["disablefontface"] === "true");
-              }
-
-              if ("disablehistory" in hashParams) {
-                _app_options.AppOptions.set("disableHistory", hashParams["disablehistory"] === "true");
-              }
-
-              if ("webgl" in hashParams) {
-                _app_options.AppOptions.set("enableWebGL", hashParams["webgl"] === "true");
-              }
-
-              if ("verbosity" in hashParams) {
-                _app_options.AppOptions.set("verbosity", hashParams["verbosity"] | 0);
-              }
-
-              if (!("textlayer" in hashParams)) {
-                _context3.next = 23;
-                break;
-              }
-
-              _context3.t0 = hashParams["textlayer"];
-              _context3.next = _context3.t0 === "off" ? 18 : _context3.t0 === "visible" ? 20 : _context3.t0 === "shadow" ? 20 : _context3.t0 === "hover" ? 20 : 23;
-              break;
-
-            case 18:
-              _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE);
-
-              return _context3.abrupt("break", 23);
-
-            case 20:
-              viewer = _this3.appConfig.viewerContainer;
-              viewer.classList.add("textLayer-" + hashParams["textlayer"]);
-              return _context3.abrupt("break", 23);
-
-            case 23:
-              if ("pdfbug" in hashParams) {
-                _app_options.AppOptions.set("pdfBug", true);
-
-                enabled = hashParams["pdfbug"].split(",");
-                waitOn.push(loadAndEnablePDFBug(enabled));
-              }
-
-              if ("locale" in hashParams) {
-                _app_options.AppOptions.set("locale", hashParams["locale"]);
-              }
-
-              return _context3.abrupt("return", Promise.all(waitOn)["catch"](function (reason) {
-                console.error("_parseHashParameters: \"".concat(reason.message, "\"."));
-              }));
-
-            case 26:
-            case "end":
-              return _context3.stop();
-          }
-        }
-      }, _callee3);
-    }))();
-  },
-  _initializeL10n: function _initializeL10n() {
-    var _this4 = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
-      var dir;
-      return _regenerator["default"].wrap(function _callee4$(_context4) {
-        while (1) {
-          switch (_context4.prev = _context4.next) {
-            case 0:
-              _this4.l10n = _this4.externalServices.createL10n({
-                locale: _app_options.AppOptions.get("locale")
-              });
-              _context4.next = 3;
-              return _this4.l10n.getDirection();
-
-            case 3:
-              dir = _context4.sent;
-              document.getElementsByTagName("html")[0].dir = dir;
-
-            case 5:
-            case "end":
-              return _context4.stop();
-          }
-        }
-      }, _callee4);
-    }))();
-  },
-  _initializeViewerComponents: function _initializeViewerComponents() {
-    var _this5 = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
-      var appConfig, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, container, viewer;
-      return _regenerator["default"].wrap(function _callee5$(_context5) {
-        while (1) {
-          switch (_context5.prev = _context5.next) {
-            case 0:
-              appConfig = _this5.appConfig;
-              _this5.overlayManager = new _overlay_manager.OverlayManager();
-              eventBus = appConfig.eventBus || new _ui_utils.EventBus({
-                dispatchToDOM: _app_options.AppOptions.get("eventBusDispatchToDOM")
-              });
-              _this5.eventBus = eventBus;
-              pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
-              pdfRenderingQueue.onIdle = _this5.cleanup.bind(_this5);
-              _this5.pdfRenderingQueue = pdfRenderingQueue;
-              pdfLinkService = new _pdf_link_service.PDFLinkService({
-                eventBus: eventBus,
-                externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"),
-                externalLinkRel: _app_options.AppOptions.get("externalLinkRel"),
-                ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom")
-              });
-              _this5.pdfLinkService = pdfLinkService;
-              downloadManager = _this5.externalServices.createDownloadManager({
-                disableCreateObjectURL: _app_options.AppOptions.get("disableCreateObjectURL")
-              });
-              _this5.downloadManager = downloadManager;
-              findController = new _pdf_find_controller.PDFFindController({
-                linkService: pdfLinkService,
-                eventBus: eventBus
-              });
-              _this5.findController = findController;
-              container = appConfig.mainContainer;
-              viewer = appConfig.viewerContainer;
-              _this5.pdfViewer = new _pdf_viewer.PDFViewer({
-                container: container,
-                viewer: viewer,
-                eventBus: eventBus,
-                renderingQueue: pdfRenderingQueue,
-                linkService: pdfLinkService,
-                downloadManager: downloadManager,
-                findController: findController,
-                renderer: _app_options.AppOptions.get("renderer"),
-                enableWebGL: _app_options.AppOptions.get("enableWebGL"),
-                l10n: _this5.l10n,
-                textLayerMode: _app_options.AppOptions.get("textLayerMode"),
-                imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"),
-                renderInteractiveForms: _app_options.AppOptions.get("renderInteractiveForms"),
-                enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"),
-                useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"),
-                maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels")
-              });
-              pdfRenderingQueue.setViewer(_this5.pdfViewer);
-              pdfLinkService.setViewer(_this5.pdfViewer);
-              _this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({
-                container: appConfig.sidebar.thumbnailView,
-                renderingQueue: pdfRenderingQueue,
-                linkService: pdfLinkService,
-                l10n: _this5.l10n
-              });
-              pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer);
-              _this5.pdfHistory = new _pdf_history.PDFHistory({
-                linkService: pdfLinkService,
-                eventBus: eventBus
-              });
-              pdfLinkService.setHistory(_this5.pdfHistory);
-
-              if (!_this5.supportsIntegratedFind) {
-                _this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n);
-              }
-
-              _this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n);
-              _this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({
-                container: container,
-                eventBus: eventBus,
-                cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad")
-              });
-              _this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n);
-              _this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus);
-
-              if (_this5.supportsFullscreen) {
-                _this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({
-                  container: container,
-                  pdfViewer: _this5.pdfViewer,
-                  eventBus: eventBus,
-                  contextMenuItems: appConfig.fullscreen
-                });
-              }
-
-              _this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n);
-              _this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({
-                container: appConfig.sidebar.outlineView,
-                eventBus: eventBus,
-                linkService: pdfLinkService
-              });
-              _this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({
-                container: appConfig.sidebar.attachmentsView,
-                eventBus: eventBus,
-                downloadManager: downloadManager
-              });
-              _this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({
-                elements: appConfig.sidebar,
-                pdfViewer: _this5.pdfViewer,
-                pdfThumbnailViewer: _this5.pdfThumbnailViewer,
-                eventBus: eventBus,
-                l10n: _this5.l10n
-              });
-              _this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5);
-              _this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n);
-
-            case 34:
-            case "end":
-              return _context5.stop();
-          }
-        }
-      }, _callee5);
-    }))();
-  },
-  run: function run(config) {
-    this.initialize(config).then(webViewerInitialized);
-  },
-
-  get initialized() {
-    return this._initializedCapability.settled;
-  },
-
-  get initializedPromise() {
-    return this._initializedCapability.promise;
-  },
-
-  zoomIn: function zoomIn(ticks) {
-    if (this.pdfViewer.isInPresentationMode) {
-      return;
-    }
-
-    var newScale = this.pdfViewer.currentScale;
-
-    do {
-      newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);
-      newScale = Math.ceil(newScale * 10) / 10;
-      newScale = Math.min(_ui_utils.MAX_SCALE, newScale);
-    } while (--ticks > 0 && newScale < _ui_utils.MAX_SCALE);
-
-    this.pdfViewer.currentScaleValue = newScale;
-  },
-  zoomOut: function zoomOut(ticks) {
-    if (this.pdfViewer.isInPresentationMode) {
-      return;
-    }
-
-    var newScale = this.pdfViewer.currentScale;
-
-    do {
-      newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);
-      newScale = Math.floor(newScale * 10) / 10;
-      newScale = Math.max(_ui_utils.MIN_SCALE, newScale);
-    } while (--ticks > 0 && newScale > _ui_utils.MIN_SCALE);
-
-    this.pdfViewer.currentScaleValue = newScale;
-  },
-  zoomReset: function zoomReset() {
-    if (this.pdfViewer.isInPresentationMode) {
-      return;
-    }
-
-    this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
-  },
-
-  get pagesCount() {
-    return this.pdfDocument ? this.pdfDocument.numPages : 0;
-  },
-
-  set page(val) {
-    this.pdfViewer.currentPageNumber = val;
-  },
-
-  get page() {
-    return this.pdfViewer.currentPageNumber;
-  },
-
-  get printing() {
-    return !!this.printService;
-  },
-
-  get supportsPrinting() {
-    return PDFPrintServiceFactory.instance.supportsPrinting;
-  },
-
-  get supportsFullscreen() {
-    var support;
-    var doc = document.documentElement;
-    support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen || doc.msRequestFullscreen);
-
-    if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || document.webkitFullscreenEnabled === false || document.msFullscreenEnabled === false) {
-      support = false;
-    }
-
-    return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", support);
-  },
-
-  get supportsIntegratedFind() {
-    return this.externalServices.supportsIntegratedFind;
-  },
-
-  get supportsDocumentFonts() {
-    return this.externalServices.supportsDocumentFonts;
-  },
-
-  get loadingBar() {
-    var bar = new _ui_utils.ProgressBar("#loadingBar");
-    return (0, _pdfjsLib.shadow)(this, "loadingBar", bar);
-  },
-
-  get supportedMouseWheelZoomModifierKeys() {
-    return this.externalServices.supportedMouseWheelZoomModifierKeys;
-  },
-
-  initPassiveLoading: function initPassiveLoading() {
-    throw new Error("Not implemented: initPassiveLoading");
-  },
-  setTitleUsingUrl: function setTitleUsingUrl() {
-    var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
-    this.url = url;
-    this.baseUrl = url.split("#")[0];
-    var title = (0, _ui_utils.getPDFFileNameFromURL)(url, "");
-
-    if (!title) {
-      try {
-        title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url;
-      } catch (ex) {
-        title = url;
-      }
-    }
-
-    this.setTitle(title);
-  },
-  setTitle: function setTitle(title) {
-    if (this.isViewerEmbedded) {
-      return;
-    }
-
-    document.title = title;
-  },
-  close: function close() {
-    var _this6 = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
-      var errorWrapper, promise;
-      return _regenerator["default"].wrap(function _callee6$(_context6) {
-        while (1) {
-          switch (_context6.prev = _context6.next) {
-            case 0:
-              errorWrapper = _this6.appConfig.errorWrapper.container;
-              errorWrapper.setAttribute("hidden", "true");
-
-              if (_this6.pdfLoadingTask) {
-                _context6.next = 4;
-                break;
-              }
-
-              return _context6.abrupt("return", undefined);
-
-            case 4:
-              promise = _this6.pdfLoadingTask.destroy();
-              _this6.pdfLoadingTask = null;
-
-              if (_this6.pdfDocument) {
-                _this6.pdfDocument = null;
-
-                _this6.pdfThumbnailViewer.setDocument(null);
-
-                _this6.pdfViewer.setDocument(null);
-
-                _this6.pdfLinkService.setDocument(null);
-
-                _this6.pdfDocumentProperties.setDocument(null);
-              }
-
-              _this6.store = null;
-              _this6.isInitialViewSet = false;
-              _this6.downloadComplete = false;
-              _this6.url = "";
-              _this6.baseUrl = "";
-              _this6.contentDispositionFilename = null;
-
-              _this6.pdfSidebar.reset();
-
-              _this6.pdfOutlineViewer.reset();
-
-              _this6.pdfAttachmentViewer.reset();
-
-              if (_this6.pdfHistory) {
-                _this6.pdfHistory.reset();
-              }
-
-              if (_this6.findBar) {
-                _this6.findBar.reset();
-              }
-
-              _this6.toolbar.reset();
-
-              _this6.secondaryToolbar.reset();
-
-              if (typeof PDFBug !== "undefined") {
-                PDFBug.cleanup();
-              }
-
-              return _context6.abrupt("return", promise);
-
-            case 22:
-            case "end":
-              return _context6.stop();
-          }
-        }
-      }, _callee6);
-    }))();
-  },
-  open: function open(file, args) {
-    var _this7 = this;
-
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
-      var workerParameters, key, parameters, apiParameters, _key, value, _key2, _value, loadingTask;
-
-      return _regenerator["default"].wrap(function _callee7$(_context7) {
-        while (1) {
-          switch (_context7.prev = _context7.next) {
-            case 0:
-              if (!_this7.pdfLoadingTask) {
-                _context7.next = 3;
-                break;
-              }
-
-              _context7.next = 3;
-              return _this7.close();
-
-            case 3:
-              workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER);
-
-              for (key in workerParameters) {
-                _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key];
-              }
-
-              parameters = Object.create(null);
-
-              if (typeof file === "string") {
-                _this7.setTitleUsingUrl(file);
-
-                parameters.url = file;
-              } else if (file && "byteLength" in file) {
-                parameters.data = file;
-              } else if (file.url && file.originalUrl) {
-                _this7.setTitleUsingUrl(file.originalUrl);
-
-                parameters.url = file.url;
-              }
-
-              apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API);
-
-              for (_key in apiParameters) {
-                value = apiParameters[_key];
-
-                if (_key === "docBaseUrl" && !value) {}
-
-                parameters[_key] = value;
-              }
-
-              if (args) {
-                for (_key2 in args) {
-                  _value = args[_key2];
-
-                  if (_key2 === "length") {
-                    _this7.pdfDocumentProperties.setFileSize(_value);
-                  }
-
-                  parameters[_key2] = _value;
-                }
-              }
-
-              loadingTask = (0, _pdfjsLib.getDocument)(parameters);
-              _this7.pdfLoadingTask = loadingTask;
-
-              loadingTask.onPassword = function (updateCallback, reason) {
-                _this7.pdfLinkService.externalLinkEnabled = false;
-
-                _this7.passwordPrompt.setUpdateCallback(updateCallback, reason);
-
-                _this7.passwordPrompt.open();
-              };
-
-              loadingTask.onProgress = function (_ref) {
-                var loaded = _ref.loaded,
-                    total = _ref.total;
-
-                _this7.progress(loaded / total);
-              };
-
-              loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7);
-              return _context7.abrupt("return", loadingTask.promise.then(function (pdfDocument) {
-                _this7.load(pdfDocument);
-              }, function (exception) {
-                if (loadingTask !== _this7.pdfLoadingTask) {
-                  return undefined;
-                }
-
-                var message = exception && exception.message;
-                var loadingErrorMessage;
-
-                if (exception instanceof _pdfjsLib.InvalidPDFException) {
-                  loadingErrorMessage = _this7.l10n.get("invalid_file_error", null, "Invalid or corrupted PDF file.");
-                } else if (exception instanceof _pdfjsLib.MissingPDFException) {
-                  loadingErrorMessage = _this7.l10n.get("missing_file_error", null, "Missing PDF file.");
-                } else if (exception instanceof _pdfjsLib.UnexpectedResponseException) {
-                  loadingErrorMessage = _this7.l10n.get("unexpected_response_error", null, "Unexpected server response.");
-                } else {
-                  loadingErrorMessage = _this7.l10n.get("loading_error", null, "An error occurred while loading the PDF.");
-                }
-
-                return loadingErrorMessage.then(function (msg) {
-                  _this7.error(msg, {
-                    message: message
-                  });
-
-                  throw new Error(msg);
-                });
-              }));
-
-            case 16:
-            case "end":
-              return _context7.stop();
-          }
-        }
-      }, _callee7);
-    }))();
-  },
-  download: function download() {
-    var _this8 = this;
-
-    function downloadByUrl() {
-      downloadManager.downloadUrl(url, filename);
-    }
-
-    var url = this.baseUrl;
-    var filename = this.contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(this.url);
-    var downloadManager = this.downloadManager;
-
-    downloadManager.onerror = function (err) {
-      _this8.error("PDF failed to download: ".concat(err));
-    };
-
-    if (!this.pdfDocument || !this.downloadComplete) {
-      downloadByUrl();
-      return;
-    }
-
-    this.pdfDocument.getData().then(function (data) {
-      var blob = new Blob([data], {
-        type: "application/pdf"
-      });
-      downloadManager.download(blob, url, filename);
-    })["catch"](downloadByUrl);
-  },
-  fallback: function fallback(featureId) {
-    if (this.fellback) {
-      return;
-    }
-
-    this.fellback = true;
-    this.externalServices.fallback({
-      featureId: featureId,
-      url: this.baseUrl
-    }, function response(download) {
-      if (!download) {
-        return;
-      }
-
-      PDFViewerApplication.download();
-    });
-  },
-  error: function error(message, moreInfo) {
-    var moreInfoText = [this.l10n.get("error_version_info", {
-      version: _pdfjsLib.version || "?",
-      build: _pdfjsLib.build || "?"
-    }, "PDF.js v{{version}} (build: {{build}})")];
-
-    if (moreInfo) {
-      moreInfoText.push(this.l10n.get("error_message", {
-        message: moreInfo.message
-      }, "Message: {{message}}"));
-
-      if (moreInfo.stack) {
-        moreInfoText.push(this.l10n.get("error_stack", {
-          stack: moreInfo.stack
-        }, "Stack: {{stack}}"));
-      } else {
-        if (moreInfo.filename) {
-          moreInfoText.push(this.l10n.get("error_file", {
-            file: moreInfo.filename
-          }, "File: {{file}}"));
-        }
-
-        if (moreInfo.lineNumber) {
-          moreInfoText.push(this.l10n.get("error_line", {
-            line: moreInfo.lineNumber
-          }, "Line: {{line}}"));
-        }
-      }
-    }
-
-    var errorWrapperConfig = this.appConfig.errorWrapper;
-    var errorWrapper = errorWrapperConfig.container;
-    errorWrapper.removeAttribute("hidden");
-    var errorMessage = errorWrapperConfig.errorMessage;
-    errorMessage.textContent = message;
-    var closeButton = errorWrapperConfig.closeButton;
-
-    closeButton.onclick = function () {
-      errorWrapper.setAttribute("hidden", "true");
-    };
-
-    var errorMoreInfo = errorWrapperConfig.errorMoreInfo;
-    var moreInfoButton = errorWrapperConfig.moreInfoButton;
-    var lessInfoButton = errorWrapperConfig.lessInfoButton;
-
-    moreInfoButton.onclick = function () {
-      errorMoreInfo.removeAttribute("hidden");
-      moreInfoButton.setAttribute("hidden", "true");
-      lessInfoButton.removeAttribute("hidden");
-      errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px";
-    };
-
-    lessInfoButton.onclick = function () {
-      errorMoreInfo.setAttribute("hidden", "true");
-      moreInfoButton.removeAttribute("hidden");
-      lessInfoButton.setAttribute("hidden", "true");
-    };
-
-    moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
-    lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler;
-    closeButton.oncontextmenu = _ui_utils.noContextMenuHandler;
-    moreInfoButton.removeAttribute("hidden");
-    lessInfoButton.setAttribute("hidden", "true");
-    Promise.all(moreInfoText).then(function (parts) {
-      errorMoreInfo.value = parts.join("\n");
-    });
-  },
-  progress: function progress(level) {
-    var _this9 = this;
-
-    if (this.downloadComplete) {
-      return;
-    }
-
-    var percent = Math.round(level * 100);
-
-    if (percent > this.loadingBar.percent || isNaN(percent)) {
-      this.loadingBar.percent = percent;
-      var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams["disableAutoFetch"] : _app_options.AppOptions.get("disableAutoFetch");
-
-      if (disableAutoFetch && percent) {
-        if (this.disableAutoFetchLoadingBarTimeout) {
-          clearTimeout(this.disableAutoFetchLoadingBarTimeout);
-          this.disableAutoFetchLoadingBarTimeout = null;
-        }
-
-        this.loadingBar.show();
-        this.disableAutoFetchLoadingBarTimeout = setTimeout(function () {
-          _this9.loadingBar.hide();
-
-          _this9.disableAutoFetchLoadingBarTimeout = null;
-        }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);
-      }
-    }
-  },
-  load: function load(pdfDocument) {
-    var _this10 = this;
-
-    this.pdfDocument = pdfDocument;
-    pdfDocument.getDownloadInfo().then(function () {
-      _this10.downloadComplete = true;
-
-      _this10.loadingBar.hide();
-
-      firstPagePromise.then(function () {
-        _this10.eventBus.dispatch("documentloaded", {
-          source: _this10
-        });
-      });
-    });
-    var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {});
-    var pageModePromise = pdfDocument.getPageMode()["catch"](function () {});
-    var openActionPromise = pdfDocument.getOpenAction()["catch"](function () {});
-    this.toolbar.setPagesCount(pdfDocument.numPages, false);
-    this.secondaryToolbar.setPagesCount(pdfDocument.numPages);
-    var store = this.store = new _view_history.ViewHistory(pdfDocument.fingerprint);
-    var baseDocumentUrl;
-    baseDocumentUrl = null;
-    this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);
-    this.pdfDocumentProperties.setDocument(pdfDocument, this.url);
-    var pdfViewer = this.pdfViewer;
-    pdfViewer.setDocument(pdfDocument);
-    var firstPagePromise = pdfViewer.firstPagePromise,
-        onePageRendered = pdfViewer.onePageRendered,
-        pagesPromise = pdfViewer.pagesPromise;
-    var pdfThumbnailViewer = this.pdfThumbnailViewer;
-    pdfThumbnailViewer.setDocument(pdfDocument);
-    firstPagePromise.then(function (pdfPage) {
-      _this10.loadingBar.setWidth(_this10.appConfig.viewerContainer);
-
-      var storePromise = store.getMultiple({
-        page: null,
-        zoom: _ui_utils.DEFAULT_SCALE_VALUE,
-        scrollLeft: "0",
-        scrollTop: "0",
-        rotation: null,
-        sidebarView: _pdf_sidebar.SidebarView.UNKNOWN,
-        scrollMode: _ui_utils.ScrollMode.UNKNOWN,
-        spreadMode: _ui_utils.SpreadMode.UNKNOWN
-      })["catch"](function () {});
-      Promise.all([_ui_utils.animationStarted, storePromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () {
-        var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8(_ref3) {
-          var _ref4, timeStamp, _ref4$, values, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode;
-
-          return _regenerator["default"].wrap(function _callee8$(_context8) {
-            while (1) {
-              switch (_context8.prev = _context8.next) {
-                case 0:
-                  _ref4 = _slicedToArray(_ref3, 5), timeStamp = _ref4[0], _ref4$ = _ref4[1], values = _ref4$ === void 0 ? {} : _ref4$, pageLayout = _ref4[2], pageMode = _ref4[3], openAction = _ref4[4];
-                  viewOnLoad = _app_options.AppOptions.get("viewOnLoad");
-
-                  _this10._initializePdfHistory({
-                    fingerprint: pdfDocument.fingerprint,
-                    viewOnLoad: viewOnLoad,
-                    initialDest: openAction && openAction.dest
-                  });
-
-                  initialBookmark = _this10.initialBookmark;
-                  zoom = _app_options.AppOptions.get("defaultZoomValue");
-                  hash = zoom ? "zoom=".concat(zoom) : null;
-                  rotation = null;
-                  sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad");
-                  scrollMode = _app_options.AppOptions.get("scrollModeOnLoad");
-                  spreadMode = _app_options.AppOptions.get("spreadModeOnLoad");
-
-                  if (values.page && viewOnLoad !== ViewOnLoad.INITIAL) {
-                    hash = "page=".concat(values.page, "&zoom=").concat(zoom || values.zoom, ",") + "".concat(values.scrollLeft, ",").concat(values.scrollTop);
-                    rotation = parseInt(values.rotation, 10);
-
-                    if (sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {
-                      sidebarView = values.sidebarView | 0;
-                    }
-
-                    if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) {
-                      scrollMode = values.scrollMode | 0;
-                    }
-
-                    if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
-                      spreadMode = values.spreadMode | 0;
-                    }
-                  }
-
-                  if (pageMode && sidebarView === _pdf_sidebar.SidebarView.UNKNOWN) {
-                    sidebarView = apiPageModeToSidebarView(pageMode);
-                  }
-
-                  if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) {
-                    spreadMode = apiPageLayoutToSpreadMode(pageLayout);
-                  }
-
-                  _this10.setInitialView(hash, {
-                    rotation: rotation,
-                    sidebarView: sidebarView,
-                    scrollMode: scrollMode,
-                    spreadMode: spreadMode
-                  });
-
-                  _this10.eventBus.dispatch("documentinit", {
-                    source: _this10
-                  });
-
-                  if (!_this10.isViewerEmbedded) {
-                    pdfViewer.focus();
-                  }
-
-                  _context8.next = 18;
-                  return Promise.race([pagesPromise, new Promise(function (resolve) {
-                    setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);
-                  })]);
-
-                case 18:
-                  if (!(!initialBookmark && !hash)) {
-                    _context8.next = 20;
-                    break;
-                  }
-
-                  return _context8.abrupt("return");
-
-                case 20:
-                  if (!pdfViewer.hasEqualPageSizes) {
-                    _context8.next = 22;
-                    break;
-                  }
-
-                  return _context8.abrupt("return");
-
-                case 22:
-                  _this10.initialBookmark = initialBookmark;
-                  pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;
-
-                  _this10.setInitialView(hash);
-
-                case 25:
-                case "end":
-                  return _context8.stop();
-              }
-            }
-          }, _callee8);
-        }));
-
-        return function (_x) {
-          return _ref2.apply(this, arguments);
-        };
-      }())["catch"](function () {
-        _this10.setInitialView();
-      }).then(function () {
-        pdfViewer.update();
-      });
-    });
-    pdfDocument.getPageLabels().then(function (labels) {
-      if (!labels || _app_options.AppOptions.get("disablePageLabels")) {
-        return;
-      }
-
-      var numLabels = labels.length;
-
-      if (numLabels !== _this10.pagesCount) {
-        console.error("The number of Page Labels does not match " + "the number of pages in the document.");
-        return;
-      }
-
-      var i = 0;
-
-      while (i < numLabels && labels[i] === (i + 1).toString()) {
-        i++;
-      }
-
-      if (i === numLabels) {
-        return;
-      }
-
-      pdfViewer.setPageLabels(labels);
-      pdfThumbnailViewer.setPageLabels(labels);
-
-      _this10.toolbar.setPagesCount(pdfDocument.numPages, true);
-
-      _this10.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
-    });
-    pagesPromise.then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
-      var _ref6, _ref7, openAction, javaScript, triggerAutoPrint, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, js;
-
-      return _regenerator["default"].wrap(function _callee9$(_context9) {
-        while (1) {
-          switch (_context9.prev = _context9.next) {
-            case 0:
-              _context9.next = 2;
-              return Promise.all([openActionPromise, pdfDocument.getJavaScript()]);
-
-            case 2:
-              _ref6 = _context9.sent;
-              _ref7 = _slicedToArray(_ref6, 2);
-              openAction = _ref7[0];
-              javaScript = _ref7[1];
-              triggerAutoPrint = false;
-
-              if (openAction && openAction.action === "Print") {
-                triggerAutoPrint = true;
-              }
-
-              if (!javaScript) {
-                _context9.next = 38;
-                break;
-              }
-
-              javaScript.some(function (js) {
-                if (!js) {
-                  return false;
-                }
-
-                console.warn("Warning: JavaScript is not supported");
-
-                _this10.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript);
-
-                return true;
-              });
-
-              if (triggerAutoPrint) {
-                _context9.next = 38;
-                break;
-              }
-
-              _iteratorNormalCompletion = true;
-              _didIteratorError = false;
-              _iteratorError = undefined;
-              _context9.prev = 14;
-              _iterator = javaScript[Symbol.iterator]();
-
-            case 16:
-              if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {
-                _context9.next = 24;
-                break;
-              }
-
-              js = _step.value;
-
-              if (!(js && _ui_utils.AutoPrintRegExp.test(js))) {
-                _context9.next = 21;
-                break;
-              }
-
-              triggerAutoPrint = true;
-              return _context9.abrupt("break", 24);
-
-            case 21:
-              _iteratorNormalCompletion = true;
-              _context9.next = 16;
-              break;
-
-            case 24:
-              _context9.next = 30;
-              break;
-
-            case 26:
-              _context9.prev = 26;
-              _context9.t0 = _context9["catch"](14);
-              _didIteratorError = true;
-              _iteratorError = _context9.t0;
-
-            case 30:
-              _context9.prev = 30;
-              _context9.prev = 31;
-
-              if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-                _iterator["return"]();
-              }
-
-            case 33:
-              _context9.prev = 33;
-
-              if (!_didIteratorError) {
-                _context9.next = 36;
-                break;
-              }
-
-              throw _iteratorError;
-
-            case 36:
-              return _context9.finish(33);
-
-            case 37:
-              return _context9.finish(30);
-
-            case 38:
-              if (_this10.supportsPrinting) {
-                _context9.next = 40;
-                break;
-              }
-
-              return _context9.abrupt("return");
-
-            case 40:
-              if (triggerAutoPrint) {
-                setTimeout(function () {
-                  window.print();
-                });
-              }
-
-            case 41:
-            case "end":
-              return _context9.stop();
-          }
-        }
-      }, _callee9, null, [[14, 26, 30, 38], [31,, 33, 37]]);
-    })));
-    onePageRendered.then(function () {
-      pdfDocument.getOutline().then(function (outline) {
-        _this10.pdfOutlineViewer.render({
-          outline: outline
-        });
-      });
-      pdfDocument.getAttachments().then(function (attachments) {
-        _this10.pdfAttachmentViewer.render({
-          attachments: attachments
-        });
-      });
-    });
-    pdfDocument.getMetadata().then(function (_ref8) {
-      var info = _ref8.info,
-          metadata = _ref8.metadata,
-          contentDispositionFilename = _ref8.contentDispositionFilename;
-      _this10.documentInfo = info;
-      _this10.metadata = metadata;
-      _this10.contentDispositionFilename = contentDispositionFilename;
-      console.log("PDF " + pdfDocument.fingerprint + " [" + info.PDFFormatVersion + " " + (info.Producer || "-").trim() + " / " + (info.Creator || "-").trim() + "]" + " (PDF.js: " + (_pdfjsLib.version || "-") + (_app_options.AppOptions.get("enableWebGL") ? " [WebGL]" : "") + ")");
-      var pdfTitle;
-      var infoTitle = info && info["Title"];
-
-      if (infoTitle) {
-        pdfTitle = infoTitle;
-      }
-
-      var metadataTitle = metadata && metadata.get("dc:title");
-
-      if (metadataTitle) {
-        if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) {
-          pdfTitle = metadataTitle;
-        }
-      }
-
-      if (pdfTitle) {
-        _this10.setTitle("".concat(pdfTitle, " - ").concat(contentDispositionFilename || document.title));
-      } else if (contentDispositionFilename) {
-        _this10.setTitle(contentDispositionFilename);
-      }
-
-      if (info.IsAcroFormPresent) {
-        console.warn("Warning: AcroForm/XFA is not supported");
-
-        _this10.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms);
-      }
-
-      var versionId = "other";
-      var KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"];
-
-      if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {
-        versionId = "v".concat(info.PDFFormatVersion.replace(".", "_"));
-      }
-
-      var generatorId = "other";
-      var KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"];
-
-      if (info.Producer) {
-        var producer = info.Producer.toLowerCase();
-        KNOWN_GENERATORS.some(function (generator) {
-          if (!producer.includes(generator)) {
-            return false;
-          }
-
-          generatorId = generator.replace(/[ .\-]/g, "_");
-          return true;
-        });
-      }
-
-      var formType = null;
-
-      if (info.IsAcroFormPresent) {
-        formType = info.IsXFAPresent ? "xfa" : "acroform";
-      }
-
-      _this10.externalServices.reportTelemetry({
-        type: "documentInfo",
-        version: versionId,
-        generator: generatorId,
-        formType: formType
-      });
-    });
-  },
-  _initializePdfHistory: function _initializePdfHistory(_ref9) {
-    var fingerprint = _ref9.fingerprint,
-        viewOnLoad = _ref9.viewOnLoad,
-        _ref9$initialDest = _ref9.initialDest,
-        initialDest = _ref9$initialDest === void 0 ? null : _ref9$initialDest;
-
-    if (_app_options.AppOptions.get("disableHistory") || this.isViewerEmbedded) {
-      return;
-    }
-
-    this.pdfHistory.initialize({
-      fingerprint: fingerprint,
-      resetHistory: viewOnLoad === ViewOnLoad.INITIAL,
-      updateUrl: _app_options.AppOptions.get("historyUpdateUrl")
-    });
-
-    if (this.pdfHistory.initialBookmark) {
-      this.initialBookmark = this.pdfHistory.initialBookmark;
-      this.initialRotation = this.pdfHistory.initialRotation;
-    }
-
-    if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) {
-      this.initialBookmark = JSON.stringify(initialDest);
-      this.pdfHistory.push({
-        explicitDest: initialDest,
-        pageNumber: null
-      });
-    }
-  },
-  setInitialView: function setInitialView(storedHash) {
-    var _this11 = this;
-
-    var _ref10 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-        rotation = _ref10.rotation,
-        sidebarView = _ref10.sidebarView,
-        scrollMode = _ref10.scrollMode,
-        spreadMode = _ref10.spreadMode;
-
-    var setRotation = function setRotation(angle) {
-      if ((0, _ui_utils.isValidRotation)(angle)) {
-        _this11.pdfViewer.pagesRotation = angle;
-      }
-    };
-
-    var setViewerModes = function setViewerModes(scroll, spread) {
-      if ((0, _ui_utils.isValidScrollMode)(scroll)) {
-        _this11.pdfViewer.scrollMode = scroll;
-      }
-
-      if ((0, _ui_utils.isValidSpreadMode)(spread)) {
-        _this11.pdfViewer.spreadMode = spread;
-      }
-    };
-
-    this.isInitialViewSet = true;
-    this.pdfSidebar.setInitialView(sidebarView);
-    setViewerModes(scrollMode, spreadMode);
-
-    if (this.initialBookmark) {
-      setRotation(this.initialRotation);
-      delete this.initialRotation;
-      this.pdfLinkService.setHash(this.initialBookmark);
-      this.initialBookmark = null;
-    } else if (storedHash) {
-      setRotation(rotation);
-      this.pdfLinkService.setHash(storedHash);
-    }
-
-    this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel);
-    this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber);
-
-    if (!this.pdfViewer.currentScaleValue) {
-      this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
-    }
-  },
-  cleanup: function cleanup() {
-    if (!this.pdfDocument) {
-      return;
-    }
-
-    this.pdfViewer.cleanup();
-    this.pdfThumbnailViewer.cleanup();
-
-    if (this.pdfViewer.renderer !== _ui_utils.RendererType.SVG) {
-      this.pdfDocument.cleanup();
-    }
-  },
-  forceRendering: function forceRendering() {
-    this.pdfRenderingQueue.printing = this.printing;
-    this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible;
-    this.pdfRenderingQueue.renderHighestPriority();
-  },
-  beforePrint: function beforePrint() {
-    var _this12 = this;
-
-    if (this.printService) {
-      return;
-    }
-
-    if (!this.supportsPrinting) {
-      this.l10n.get("printing_not_supported", null, "Warning: Printing is not fully supported by this browser.").then(function (printMessage) {
-        _this12.error(printMessage);
-      });
-      return;
-    }
-
-    if (!this.pdfViewer.pageViewsReady) {
-      this.l10n.get("printing_not_ready", null, "Warning: The PDF is not fully loaded for printing.").then(function (notReadyMessage) {
-        window.alert(notReadyMessage);
-      });
-      return;
-    }
-
-    var pagesOverview = this.pdfViewer.getPagesOverview();
-    var printContainer = this.appConfig.printContainer;
-    var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, this.l10n);
-    this.printService = printService;
-    this.forceRendering();
-    printService.layout();
-    this.externalServices.reportTelemetry({
-      type: "print"
-    });
-  },
-  afterPrint: function afterPrint() {
-    if (this.printService) {
-      this.printService.destroy();
-      this.printService = null;
-    }
-
-    this.forceRendering();
-  },
-  rotatePages: function rotatePages(delta) {
-    if (!this.pdfDocument) {
-      return;
-    }
-
-    var newRotation = (this.pdfViewer.pagesRotation + 360 + delta) % 360;
-    this.pdfViewer.pagesRotation = newRotation;
-  },
-  requestPresentationMode: function requestPresentationMode() {
-    if (!this.pdfPresentationMode) {
-      return;
-    }
-
-    this.pdfPresentationMode.request();
-  },
-  bindEvents: function bindEvents() {
-    var eventBus = this.eventBus,
-        _boundEvents = this._boundEvents;
-    _boundEvents.beforePrint = this.beforePrint.bind(this);
-    _boundEvents.afterPrint = this.afterPrint.bind(this);
-
-    eventBus._on("resize", webViewerResize);
-
-    eventBus._on("hashchange", webViewerHashchange);
-
-    eventBus._on("beforeprint", _boundEvents.beforePrint);
-
-    eventBus._on("afterprint", _boundEvents.afterPrint);
-
-    eventBus._on("pagerendered", webViewerPageRendered);
-
-    eventBus._on("updateviewarea", webViewerUpdateViewarea);
-
-    eventBus._on("pagechanging", webViewerPageChanging);
-
-    eventBus._on("scalechanging", webViewerScaleChanging);
-
-    eventBus._on("rotationchanging", webViewerRotationChanging);
-
-    eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged);
-
-    eventBus._on("pagemode", webViewerPageMode);
-
-    eventBus._on("namedaction", webViewerNamedAction);
-
-    eventBus._on("presentationmodechanged", webViewerPresentationModeChanged);
-
-    eventBus._on("presentationmode", webViewerPresentationMode);
-
-    eventBus._on("print", webViewerPrint);
-
-    eventBus._on("download", webViewerDownload);
-
-    eventBus._on("firstpage", webViewerFirstPage);
-
-    eventBus._on("lastpage", webViewerLastPage);
-
-    eventBus._on("nextpage", webViewerNextPage);
-
-    eventBus._on("previouspage", webViewerPreviousPage);
-
-    eventBus._on("zoomin", webViewerZoomIn);
-
-    eventBus._on("zoomout", webViewerZoomOut);
-
-    eventBus._on("zoomreset", webViewerZoomReset);
-
-    eventBus._on("pagenumberchanged", webViewerPageNumberChanged);
-
-    eventBus._on("scalechanged", webViewerScaleChanged);
-
-    eventBus._on("rotatecw", webViewerRotateCw);
-
-    eventBus._on("rotateccw", webViewerRotateCcw);
-
-    eventBus._on("switchscrollmode", webViewerSwitchScrollMode);
-
-    eventBus._on("scrollmodechanged", webViewerScrollModeChanged);
-
-    eventBus._on("switchspreadmode", webViewerSwitchSpreadMode);
-
-    eventBus._on("spreadmodechanged", webViewerSpreadModeChanged);
-
-    eventBus._on("documentproperties", webViewerDocumentProperties);
-
-    eventBus._on("find", webViewerFind);
-
-    eventBus._on("findfromurlhash", webViewerFindFromUrlHash);
-
-    eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount);
-
-    eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState);
-
-    eventBus._on("fileinputchange", webViewerFileInputChange);
-
-    eventBus._on("openfile", webViewerOpenFile);
-  },
-  bindWindowEvents: function bindWindowEvents() {
-    var eventBus = this.eventBus,
-        _boundEvents = this._boundEvents;
-
-    _boundEvents.windowResize = function () {
-      eventBus.dispatch("resize", {
-        source: window
-      });
-    };
-
-    _boundEvents.windowHashChange = function () {
-      eventBus.dispatch("hashchange", {
-        source: window,
-        hash: document.location.hash.substring(1)
-      });
-    };
-
-    _boundEvents.windowBeforePrint = function () {
-      eventBus.dispatch("beforeprint", {
-        source: window
-      });
-    };
-
-    _boundEvents.windowAfterPrint = function () {
-      eventBus.dispatch("afterprint", {
-        source: window
-      });
-    };
-
-    window.addEventListener("visibilitychange", webViewerVisibilityChange);
-    window.addEventListener("wheel", webViewerWheel, {
-      passive: false
-    });
-    window.addEventListener("click", webViewerClick);
-    window.addEventListener("keydown", webViewerKeyDown);
-    window.addEventListener("resize", _boundEvents.windowResize);
-    window.addEventListener("hashchange", _boundEvents.windowHashChange);
-    window.addEventListener("beforeprint", _boundEvents.windowBeforePrint);
-    window.addEventListener("afterprint", _boundEvents.windowAfterPrint);
-  },
-  unbindEvents: function unbindEvents() {
-    var eventBus = this.eventBus,
-        _boundEvents = this._boundEvents;
-
-    eventBus._off("resize", webViewerResize);
-
-    eventBus._off("hashchange", webViewerHashchange);
-
-    eventBus._off("beforeprint", _boundEvents.beforePrint);
-
-    eventBus._off("afterprint", _boundEvents.afterPrint);
-
-    eventBus._off("pagerendered", webViewerPageRendered);
-
-    eventBus._off("updateviewarea", webViewerUpdateViewarea);
-
-    eventBus._off("pagechanging", webViewerPageChanging);
-
-    eventBus._off("scalechanging", webViewerScaleChanging);
-
-    eventBus._off("rotationchanging", webViewerRotationChanging);
-
-    eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged);
-
-    eventBus._off("pagemode", webViewerPageMode);
-
-    eventBus._off("namedaction", webViewerNamedAction);
-
-    eventBus._off("presentationmodechanged", webViewerPresentationModeChanged);
-
-    eventBus._off("presentationmode", webViewerPresentationMode);
-
-    eventBus._off("print", webViewerPrint);
-
-    eventBus._off("download", webViewerDownload);
-
-    eventBus._off("firstpage", webViewerFirstPage);
-
-    eventBus._off("lastpage", webViewerLastPage);
-
-    eventBus._off("nextpage", webViewerNextPage);
-
-    eventBus._off("previouspage", webViewerPreviousPage);
-
-    eventBus._off("zoomin", webViewerZoomIn);
-
-    eventBus._off("zoomout", webViewerZoomOut);
-
-    eventBus._off("zoomreset", webViewerZoomReset);
-
-    eventBus._off("pagenumberchanged", webViewerPageNumberChanged);
-
-    eventBus._off("scalechanged", webViewerScaleChanged);
-
-    eventBus._off("rotatecw", webViewerRotateCw);
-
-    eventBus._off("rotateccw", webViewerRotateCcw);
-
-    eventBus._off("switchscrollmode", webViewerSwitchScrollMode);
-
-    eventBus._off("scrollmodechanged", webViewerScrollModeChanged);
-
-    eventBus._off("switchspreadmode", webViewerSwitchSpreadMode);
-
-    eventBus._off("spreadmodechanged", webViewerSpreadModeChanged);
-
-    eventBus._off("documentproperties", webViewerDocumentProperties);
-
-    eventBus._off("find", webViewerFind);
-
-    eventBus._off("findfromurlhash", webViewerFindFromUrlHash);
-
-    eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount);
-
-    eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState);
-
-    eventBus._off("fileinputchange", webViewerFileInputChange);
-
-    eventBus._off("openfile", webViewerOpenFile);
-
-    _boundEvents.beforePrint = null;
-    _boundEvents.afterPrint = null;
-  },
-  unbindWindowEvents: function unbindWindowEvents() {
-    var _boundEvents = this._boundEvents;
-    window.removeEventListener("visibilitychange", webViewerVisibilityChange);
-    window.removeEventListener("wheel", webViewerWheel);
-    window.removeEventListener("click", webViewerClick);
-    window.removeEventListener("keydown", webViewerKeyDown);
-    window.removeEventListener("resize", _boundEvents.windowResize);
-    window.removeEventListener("hashchange", _boundEvents.windowHashChange);
-    window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint);
-    window.removeEventListener("afterprint", _boundEvents.windowAfterPrint);
-    _boundEvents.windowResize = null;
-    _boundEvents.windowHashChange = null;
-    _boundEvents.windowBeforePrint = null;
-    _boundEvents.windowAfterPrint = null;
-  }
-};
-exports.PDFViewerApplication = PDFViewerApplication;
-var validateFileURL;
-{
-  var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"];
-
-  validateFileURL = function validateFileURL(file) {
-    if (file === undefined) {
-      return;
-    }
-
-    try {
-      var viewerOrigin = new URL(window.location.href).origin || "null";
-
-      if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {
-        return;
-      }
-
-      var _ref11 = new URL(file, window.location.href),
-          origin = _ref11.origin,
-          protocol = _ref11.protocol;
-
-      if (origin !== viewerOrigin && protocol !== "blob:") {
-        throw new Error("file origin does not match viewer's");
-      }
-    } catch (ex) {
-      var message = ex && ex.message;
-      PDFViewerApplication.l10n.get("loading_error", null, "An error occurred while loading the PDF.").then(function (loadingErrorMessage) {
-        PDFViewerApplication.error(loadingErrorMessage, {
-          message: message
-        });
-      });
-      throw ex;
-    }
-  };
-}
-
-function loadFakeWorker() {
-  return _loadFakeWorker.apply(this, arguments);
-}
-
-function _loadFakeWorker() {
-  _loadFakeWorker = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
-    return _regenerator["default"].wrap(function _callee10$(_context10) {
-      while (1) {
-        switch (_context10.prev = _context10.next) {
-          case 0:
-            if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) {
-              _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc");
-            }
-
-            return _context10.abrupt("return", (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.getWorkerSrc()));
-
-          case 2:
-          case "end":
-            return _context10.stop();
-        }
-      }
-    }, _callee10);
-  }));
-  return _loadFakeWorker.apply(this, arguments);
-}
-
-function loadAndEnablePDFBug(enabledTabs) {
-  var appConfig = PDFViewerApplication.appConfig;
-  return (0, _pdfjsLib.loadScript)(appConfig.debuggerScriptPath).then(function () {
-    PDFBug.enable(enabledTabs);
-    PDFBug.init({
-      OPS: _pdfjsLib.OPS
-    }, appConfig.mainContainer);
-  });
-}
-
-function webViewerInitialized() {
-  var appConfig = PDFViewerApplication.appConfig;
-  var file;
-  var disableDownload;
-  var queryString = document.location.search.substring(1);
-  var params = (0, _ui_utils.parseQueryString)(queryString);
-  file = "file" in params ? params.file : _app_options.AppOptions.get("defaultUrl");
-  disableDownload = 'disabledownload' in params ? params.disabledownload : 'false';
-  validateFileURL(file);
-  var fileInput = document.createElement("input");
-  fileInput.id = appConfig.openFileInputName;
-  fileInput.className = "fileInput";
-  fileInput.setAttribute("type", "file");
-  fileInput.oncontextmenu = _ui_utils.noContextMenuHandler;
-  document.body.appendChild(fileInput);
-
-  if (!window.File || !window.FileReader || !window.FileList || !window.Blob) {
-    appConfig.toolbar.openFile.setAttribute("hidden", "true");
-    appConfig.secondaryToolbar.openFileButton.setAttribute("hidden", "true");
-  } else {
-    fileInput.value = null;
-  }
-
-  fileInput.addEventListener("change", function (evt) {
-    var files = evt.target.files;
-
-    if (!files || files.length === 0) {
-      return;
-    }
-
-    PDFViewerApplication.eventBus.dispatch("fileinputchange", {
-      source: this,
-      fileInput: evt.target
-    });
-  });
-  appConfig.mainContainer.addEventListener("dragover", function (evt) {
-    evt.preventDefault();
-    evt.dataTransfer.dropEffect = "move";
-  });
-  appConfig.mainContainer.addEventListener("drop", function (evt) {
-    evt.preventDefault();
-    var files = evt.dataTransfer.files;
-
-    if (!files || files.length === 0) {
-      return;
-    }
-
-    PDFViewerApplication.eventBus.dispatch("fileinputchange", {
-      source: this,
-      fileInput: evt.dataTransfer
-    });
-  });
-
-  if (!PDFViewerApplication.supportsDocumentFonts) {
-    _app_options.AppOptions.set("disableFontFace", true);
-
-    PDFViewerApplication.l10n.get("web_fonts_disabled", null, "Web fonts are disabled: unable to use embedded PDF fonts.").then(function (msg) {
-      console.warn(msg);
-    });
-  }
-
-  if (!PDFViewerApplication.supportsPrinting) {
-    appConfig.toolbar.print.classList.add("hidden");
-    appConfig.secondaryToolbar.printButton.classList.add("hidden");
-  }
-
-  if (!PDFViewerApplication.supportsFullscreen) {
-    appConfig.toolbar.presentationModeButton.classList.add("hidden");
-    appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden");
-  }
-
-  if (PDFViewerApplication.supportsIntegratedFind) {
-    appConfig.toolbar.viewFind.classList.add("hidden");
-  }
-
-  appConfig.mainContainer.addEventListener("transitionend", function (evt) {
-    if (evt.target === this) {
-      PDFViewerApplication.eventBus.dispatch("resize", {
-        source: this
-      });
-    }
-  }, true);
-
-  try {
-    webViewerOpenFileViaURL(file);
-  } catch (reason) {
-    PDFViewerApplication.l10n.get("loading_error", null, "An error occurred while loading the PDF.").then(function (msg) {
-      PDFViewerApplication.error(msg, reason);
-    });
-  }
-  if ('true' === disableDownload) {
-    document.getElementById("download").style.display='none';
-  }
-}
-
-var webViewerOpenFileViaURL;
-{
-  webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) {
-    if (file && file.lastIndexOf("file:", 0) === 0) {
-      PDFViewerApplication.setTitleUsingUrl(file);
-      var xhr = new XMLHttpRequest();
-
-      xhr.onload = function () {
-        PDFViewerApplication.open(new Uint8Array(xhr.response));
-      };
-
-      xhr.open("GET", file);
-      xhr.responseType = "arraybuffer";
-      xhr.send();
-      return;
-    }
-
-    if (file) {
-      PDFViewerApplication.open(file);
-    }
-  };
-}
-
-function webViewerPageRendered(evt) {
-  var pageNumber = evt.pageNumber;
-  var pageIndex = pageNumber - 1;
-  var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);
-
-  if (pageNumber === PDFViewerApplication.page) {
-    PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);
-  }
-
-  if (!pageView) {
-    return;
-  }
-
-  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
-    var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageIndex);
-    thumbnailView.setImage(pageView);
-  }
-
-  if (typeof Stats !== "undefined" && Stats.enabled && pageView.stats) {
-    Stats.add(pageNumber, pageView.stats);
-  }
-
-  if (pageView.error) {
-    PDFViewerApplication.l10n.get("rendering_error", null, "An error occurred while rendering the page.").then(function (msg) {
-      PDFViewerApplication.error(msg, pageView.error);
-    });
-  }
-
-  PDFViewerApplication.externalServices.reportTelemetry({
-    type: "pageInfo",
-    timestamp: evt.timestamp
-  });
-  PDFViewerApplication.pdfDocument.getStats().then(function (stats) {
-    PDFViewerApplication.externalServices.reportTelemetry({
-      type: "documentStats",
-      stats: stats
-    });
-  });
-}
-
-function webViewerPageMode(_ref12) {
-  var mode = _ref12.mode;
-  var view;
-
-  switch (mode) {
-    case "thumbs":
-      view = _pdf_sidebar.SidebarView.THUMBS;
-      break;
-
-    case "bookmarks":
-    case "outline":
-      view = _pdf_sidebar.SidebarView.OUTLINE;
-      break;
-
-    case "attachments":
-      view = _pdf_sidebar.SidebarView.ATTACHMENTS;
-      break;
-
-    case "none":
-      view = _pdf_sidebar.SidebarView.NONE;
-      break;
-
-    default:
-      console.error('Invalid "pagemode" hash parameter: ' + mode);
-      return;
-  }
-
-  PDFViewerApplication.pdfSidebar.switchView(view, true);
-}
-
-function webViewerNamedAction(evt) {
-  var action = evt.action;
-
-  switch (action) {
-    case "GoToPage":
-      PDFViewerApplication.appConfig.toolbar.pageNumber.select();
-      break;
-
-    case "Find":
-      if (!PDFViewerApplication.supportsIntegratedFind) {
-        PDFViewerApplication.findBar.toggle();
-      }
-
-      break;
-  }
-}
-
-function webViewerPresentationModeChanged(_ref13) {
-  var active = _ref13.active,
-      switchInProgress = _ref13.switchInProgress;
-  var state = _ui_utils.PresentationModeState.NORMAL;
-
-  if (switchInProgress) {
-    state = _ui_utils.PresentationModeState.CHANGING;
-  } else if (active) {
-    state = _ui_utils.PresentationModeState.FULLSCREEN;
-  }
-
-  PDFViewerApplication.pdfViewer.presentationModeState = state;
-}
-
-function webViewerSidebarViewChanged(evt) {
-  PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;
-  var store = PDFViewerApplication.store;
-
-  if (store && PDFViewerApplication.isInitialViewSet) {
-    store.set("sidebarView", evt.view)["catch"](function () {});
-  }
-}
-
-function webViewerUpdateViewarea(evt) {
-  var location = evt.location,
-      store = PDFViewerApplication.store;
-
-  if (store && PDFViewerApplication.isInitialViewSet) {
-    store.setMultiple({
-      page: location.pageNumber,
-      zoom: location.scale,
-      scrollLeft: location.left,
-      scrollTop: location.top,
-      rotation: location.rotation
-    })["catch"](function () {});
-  }
-
-  var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams);
-  PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;
-  PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;
-  var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1);
-  var loading = currentPage.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED;
-  PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);
-}
-
-function webViewerScrollModeChanged(evt) {
-  var store = PDFViewerApplication.store;
-
-  if (store && PDFViewerApplication.isInitialViewSet) {
-    store.set("scrollMode", evt.mode)["catch"](function () {});
-  }
-}
-
-function webViewerSpreadModeChanged(evt) {
-  var store = PDFViewerApplication.store;
-
-  if (store && PDFViewerApplication.isInitialViewSet) {
-    store.set("spreadMode", evt.mode)["catch"](function () {});
-  }
-}
-
-function webViewerResize() {
-  var pdfDocument = PDFViewerApplication.pdfDocument,
-      pdfViewer = PDFViewerApplication.pdfViewer;
-
-  if (!pdfDocument) {
-    return;
-  }
-
-  var currentScaleValue = pdfViewer.currentScaleValue;
-
-  if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") {
-    pdfViewer.currentScaleValue = currentScaleValue;
-  }
-
-  pdfViewer.update();
-}
-
-function webViewerHashchange(evt) {
-  var hash = evt.hash;
-
-  if (!hash) {
-    return;
-  }
-
-  if (!PDFViewerApplication.isInitialViewSet) {
-    PDFViewerApplication.initialBookmark = hash;
-  } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) {
-    PDFViewerApplication.pdfLinkService.setHash(hash);
-  }
-}
-
-var webViewerFileInputChange, webViewerOpenFile;
-{
-  webViewerFileInputChange = function webViewerFileInputChange(evt) {
-    if (PDFViewerApplication.pdfViewer && PDFViewerApplication.pdfViewer.isInPresentationMode) {
-      return;
-    }
-
-    var file = evt.fileInput.files[0];
-
-    if (URL.createObjectURL && !_app_options.AppOptions.get("disableCreateObjectURL")) {
-      var url = URL.createObjectURL(file);
-
-      if (file.name) {
-        url = {
-          url: url,
-          originalUrl: file.name
-        };
-      }
-
-      PDFViewerApplication.open(url);
-    } else {
-      PDFViewerApplication.setTitleUsingUrl(file.name);
-      var fileReader = new FileReader();
-
-      fileReader.onload = function webViewerChangeFileReaderOnload(event) {
-        var buffer = event.target.result;
-        PDFViewerApplication.open(new Uint8Array(buffer));
-      };
-
-      fileReader.readAsArrayBuffer(file);
-    }
-
-    var appConfig = PDFViewerApplication.appConfig;
-    appConfig.toolbar.viewBookmark.setAttribute("hidden", "true");
-    appConfig.secondaryToolbar.viewBookmarkButton.setAttribute("hidden", "true");
-    appConfig.toolbar.download.setAttribute("hidden", "true");
-    appConfig.secondaryToolbar.downloadButton.setAttribute("hidden", "true");
-  };
-
-  webViewerOpenFile = function webViewerOpenFile(evt) {
-    var openFileInputName = PDFViewerApplication.appConfig.openFileInputName;
-    document.getElementById(openFileInputName).click();
-  };
-}
-
-function webViewerPresentationMode() {
-  PDFViewerApplication.requestPresentationMode();
-}
-
-function webViewerPrint() {
-  window.print();
-}
-
-function webViewerDownload() {
-  PDFViewerApplication.download();
-}
-
-function webViewerFirstPage() {
-  if (PDFViewerApplication.pdfDocument) {
-    PDFViewerApplication.page = 1;
-  }
-}
-
-function webViewerLastPage() {
-  if (PDFViewerApplication.pdfDocument) {
-    PDFViewerApplication.page = PDFViewerApplication.pagesCount;
-  }
-}
-
-function webViewerNextPage() {
-  PDFViewerApplication.page++;
-}
-
-function webViewerPreviousPage() {
-  PDFViewerApplication.page--;
-}
-
-function webViewerZoomIn() {
-  PDFViewerApplication.zoomIn();
-}
-
-function webViewerZoomOut() {
-  PDFViewerApplication.zoomOut();
-}
-
-function webViewerZoomReset() {
-  PDFViewerApplication.zoomReset();
-}
-
-function webViewerPageNumberChanged(evt) {
-  var pdfViewer = PDFViewerApplication.pdfViewer;
-
-  if (evt.value !== "") {
-    pdfViewer.currentPageLabel = evt.value;
-  }
-
-  if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) {
-    PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel);
-  }
-}
-
-function webViewerScaleChanged(evt) {
-  PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;
-}
-
-function webViewerRotateCw() {
-  PDFViewerApplication.rotatePages(90);
-}
-
-function webViewerRotateCcw() {
-  PDFViewerApplication.rotatePages(-90);
-}
-
-function webViewerSwitchScrollMode(evt) {
-  PDFViewerApplication.pdfViewer.scrollMode = evt.mode;
-}
-
-function webViewerSwitchSpreadMode(evt) {
-  PDFViewerApplication.pdfViewer.spreadMode = evt.mode;
-}
-
-function webViewerDocumentProperties() {
-  PDFViewerApplication.pdfDocumentProperties.open();
-}
-
-function webViewerFind(evt) {
-  PDFViewerApplication.findController.executeCommand("find" + evt.type, {
-    query: evt.query,
-    phraseSearch: evt.phraseSearch,
-    caseSensitive: evt.caseSensitive,
-    entireWord: evt.entireWord,
-    highlightAll: evt.highlightAll,
-    findPrevious: evt.findPrevious
-  });
-}
-
-function webViewerFindFromUrlHash(evt) {
-  PDFViewerApplication.findController.executeCommand("find", {
-    query: evt.query,
-    phraseSearch: evt.phraseSearch,
-    caseSensitive: false,
-    entireWord: false,
-    highlightAll: true,
-    findPrevious: false
-  });
-}
-
-function webViewerUpdateFindMatchesCount(_ref14) {
-  var matchesCount = _ref14.matchesCount;
-
-  if (PDFViewerApplication.supportsIntegratedFind) {
-    PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);
-  } else {
-    PDFViewerApplication.findBar.updateResultsCount(matchesCount);
-  }
-}
-
-function webViewerUpdateFindControlState(_ref15) {
-  var state = _ref15.state,
-      previous = _ref15.previous,
-      matchesCount = _ref15.matchesCount;
-
-  if (PDFViewerApplication.supportsIntegratedFind) {
-    PDFViewerApplication.externalServices.updateFindControlState({
-      result: state,
-      findPrevious: previous,
-      matchesCount: matchesCount
-    });
-  } else {
-    PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);
-  }
-}
-
-function webViewerScaleChanging(evt) {
-  PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);
-  PDFViewerApplication.pdfViewer.update();
-}
-
-function webViewerRotationChanging(evt) {
-  PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation;
-  PDFViewerApplication.forceRendering();
-  PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber;
-}
-
-function webViewerPageChanging(evt) {
-  var page = evt.pageNumber;
-  PDFViewerApplication.toolbar.setPageNumber(page, evt.pageLabel || null);
-  PDFViewerApplication.secondaryToolbar.setPageNumber(page);
-
-  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {
-    PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(page);
-  }
-
-  if (typeof Stats !== "undefined" && Stats.enabled) {
-    var pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);
-
-    if (pageView && pageView.stats) {
-      Stats.add(page, pageView.stats);
-    }
-  }
-}
-
-function webViewerVisibilityChange(evt) {
-  if (document.visibilityState === "visible") {
-    setZoomDisabledTimeout();
-  }
-}
-
-var zoomDisabledTimeout = null;
-
-function setZoomDisabledTimeout() {
-  if (zoomDisabledTimeout) {
-    clearTimeout(zoomDisabledTimeout);
-  }
-
-  zoomDisabledTimeout = setTimeout(function () {
-    zoomDisabledTimeout = null;
-  }, WHEEL_ZOOM_DISABLED_TIMEOUT);
-}
-
-function webViewerWheel(evt) {
-  var pdfViewer = PDFViewerApplication.pdfViewer,
-      supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
-
-  if (pdfViewer.isInPresentationMode) {
-    return;
-  }
-
-  if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) {
-    evt.preventDefault();
-
-    if (zoomDisabledTimeout || document.visibilityState === "hidden") {
-      return;
-    }
-
-    var previousScale = pdfViewer.currentScale;
-    var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
-    var MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;
-    var ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;
-
-    if (ticks < 0) {
-      PDFViewerApplication.zoomOut(-ticks);
-    } else {
-      PDFViewerApplication.zoomIn(ticks);
-    }
-
-    var currentScale = pdfViewer.currentScale;
-
-    if (previousScale !== currentScale) {
-      var scaleCorrectionFactor = currentScale / previousScale - 1;
-      var rect = pdfViewer.container.getBoundingClientRect();
-      var dx = evt.clientX - rect.left;
-      var dy = evt.clientY - rect.top;
-      pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;
-      pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;
-    }
-  } else {
-    setZoomDisabledTimeout();
-  }
-}
-
-function webViewerClick(evt) {
-  if (!PDFViewerApplication.secondaryToolbar.isOpen) {
-    return;
-  }
-
-  var appConfig = PDFViewerApplication.appConfig;
-
-  if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) {
-    PDFViewerApplication.secondaryToolbar.close();
-  }
-}
-
-function webViewerKeyDown(evt) {
-  if (PDFViewerApplication.overlayManager.active) {
-    return;
-  }
-
-  var handled = false,
-      ensureViewerFocused = false;
-  var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0);
-  var pdfViewer = PDFViewerApplication.pdfViewer;
-  var isViewerInPresentationMode = pdfViewer && pdfViewer.isInPresentationMode;
-
-  if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {
-    switch (evt.keyCode) {
-      case 70:
-        if (!PDFViewerApplication.supportsIntegratedFind) {
-          PDFViewerApplication.findBar.open();
-          handled = true;
-        }
-
-        break;
-
-      case 71:
-        if (!PDFViewerApplication.supportsIntegratedFind) {
-          var findState = PDFViewerApplication.findController.state;
-
-          if (findState) {
-            PDFViewerApplication.findController.executeCommand("findagain", {
-              query: findState.query,
-              phraseSearch: findState.phraseSearch,
-              caseSensitive: findState.caseSensitive,
-              entireWord: findState.entireWord,
-              highlightAll: findState.highlightAll,
-              findPrevious: cmd === 5 || cmd === 12
-            });
-          }
-
-          handled = true;
-        }
-
-        break;
-
-      case 61:
-      case 107:
-      case 187:
-      case 171:
-        if (!isViewerInPresentationMode) {
-          PDFViewerApplication.zoomIn();
-        }
-
-        handled = true;
-        break;
-
-      case 173:
-      case 109:
-      case 189:
-        if (!isViewerInPresentationMode) {
-          PDFViewerApplication.zoomOut();
-        }
-
-        handled = true;
-        break;
-
-      case 48:
-      case 96:
-        if (!isViewerInPresentationMode) {
-          setTimeout(function () {
-            PDFViewerApplication.zoomReset();
-          });
-          handled = false;
-        }
-
-        break;
-
-      case 38:
-        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
-          PDFViewerApplication.page = 1;
-          handled = true;
-          ensureViewerFocused = true;
-        }
-
-        break;
-
-      case 40:
-        if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
-          PDFViewerApplication.page = PDFViewerApplication.pagesCount;
-          handled = true;
-          ensureViewerFocused = true;
-        }
-
-        break;
-    }
-  }
-
-  if (cmd === 1 || cmd === 8) {
-    switch (evt.keyCode) {
-      case 83:
-        PDFViewerApplication.download();
-        handled = true;
-        break;
-    }
-  }
-
-  if (cmd === 3 || cmd === 10) {
-    switch (evt.keyCode) {
-      case 80:
-        PDFViewerApplication.requestPresentationMode();
-        handled = true;
-        break;
-
-      case 71:
-        PDFViewerApplication.appConfig.toolbar.pageNumber.select();
-        handled = true;
-        break;
-    }
-  }
-
-  if (handled) {
-    if (ensureViewerFocused && !isViewerInPresentationMode) {
-      pdfViewer.focus();
-    }
-
-    evt.preventDefault();
-    return;
-  }
-
-  var curElement = document.activeElement || document.querySelector(":focus");
-  var curElementTagName = curElement && curElement.tagName.toUpperCase();
-
-  if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement && curElement.isContentEditable) {
-    if (evt.keyCode !== 27) {
-      return;
-    }
-  }
-
-  if (cmd === 0) {
-    var turnPage = 0,
-        turnOnlyIfPageFit = false;
-
-    switch (evt.keyCode) {
-      case 38:
-      case 33:
-        if (pdfViewer.isVerticalScrollbarEnabled) {
-          turnOnlyIfPageFit = true;
-        }
-
-        turnPage = -1;
-        break;
-
-      case 8:
-        if (!isViewerInPresentationMode) {
-          turnOnlyIfPageFit = true;
-        }
-
-        turnPage = -1;
-        break;
-
-      case 37:
-        if (pdfViewer.isHorizontalScrollbarEnabled) {
-          turnOnlyIfPageFit = true;
-        }
-
-      case 75:
-      case 80:
-        turnPage = -1;
-        break;
-
-      case 27:
-        if (PDFViewerApplication.secondaryToolbar.isOpen) {
-          PDFViewerApplication.secondaryToolbar.close();
-          handled = true;
-        }
-
-        if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) {
-          PDFViewerApplication.findBar.close();
-          handled = true;
-        }
-
-        break;
-
-      case 40:
-      case 34:
-        if (pdfViewer.isVerticalScrollbarEnabled) {
-          turnOnlyIfPageFit = true;
-        }
-
-        turnPage = 1;
-        break;
-
-      case 13:
-      case 32:
-        if (!isViewerInPresentationMode) {
-          turnOnlyIfPageFit = true;
-        }
-
-        turnPage = 1;
-        break;
-
-      case 39:
-        if (pdfViewer.isHorizontalScrollbarEnabled) {
-          turnOnlyIfPageFit = true;
-        }
-
-      case 74:
-      case 78:
-        turnPage = 1;
-        break;
-
-      case 36:
-        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {
-          PDFViewerApplication.page = 1;
-          handled = true;
-          ensureViewerFocused = true;
-        }
-
-        break;
-
-      case 35:
-        if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
-          PDFViewerApplication.page = PDFViewerApplication.pagesCount;
-          handled = true;
-          ensureViewerFocused = true;
-        }
-
-        break;
-
-      case 83:
-        PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT);
-        break;
-
-      case 72:
-        PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND);
-        break;
-
-      case 82:
-        PDFViewerApplication.rotatePages(90);
-        break;
-
-      case 115:
-        PDFViewerApplication.pdfSidebar.toggle();
-        break;
-    }
-
-    if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) {
-      if (turnPage > 0) {
-        if (PDFViewerApplication.page < PDFViewerApplication.pagesCount) {
-          PDFViewerApplication.page++;
-        }
-      } else {
-        if (PDFViewerApplication.page > 1) {
-          PDFViewerApplication.page--;
-        }
-      }
-
-      handled = true;
-    }
-  }
-
-  if (cmd === 4) {
-    switch (evt.keyCode) {
-      case 13:
-      case 32:
-        if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") {
-          break;
-        }
-
-        if (PDFViewerApplication.page > 1) {
-          PDFViewerApplication.page--;
-        }
-
-        handled = true;
-        break;
-
-      case 82:
-        PDFViewerApplication.rotatePages(-90);
-        break;
-    }
-  }
-
-  if (!handled && !isViewerInPresentationMode) {
-    if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") {
-      ensureViewerFocused = true;
-    }
-  }
-
-  if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {
-    pdfViewer.focus();
-  }
-
-  if (handled) {
-    evt.preventDefault();
-  }
-}
-
-function apiPageLayoutToSpreadMode(layout) {
-  switch (layout) {
-    case "SinglePage":
-    case "OneColumn":
-      return _ui_utils.SpreadMode.NONE;
-
-    case "TwoColumnLeft":
-    case "TwoPageLeft":
-      return _ui_utils.SpreadMode.ODD;
-
-    case "TwoColumnRight":
-    case "TwoPageRight":
-      return _ui_utils.SpreadMode.EVEN;
-  }
-
-  return _ui_utils.SpreadMode.NONE;
-}
-
-function apiPageModeToSidebarView(mode) {
-  switch (mode) {
-    case "UseNone":
-      return _pdf_sidebar.SidebarView.NONE;
-
-    case "UseThumbs":
-      return _pdf_sidebar.SidebarView.THUMBS;
-
-    case "UseOutlines":
-      return _pdf_sidebar.SidebarView.OUTLINE;
-
-    case "UseAttachments":
-      return _pdf_sidebar.SidebarView.ATTACHMENTS;
-
-    case "UseOC":
-  }
-
-  return _pdf_sidebar.SidebarView.NONE;
-}
-
-var PDFPrintServiceFactory = {
-  instance: {
-    supportsPrinting: false,
-    createPrintService: function createPrintService() {
-      throw new Error("Not implemented: createPrintService");
-    }
-  }
-};
-exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = __webpack_require__(3);
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-var runtime = function (exports) {
-  "use strict";
-
-  var Op = Object.prototype;
-  var hasOwn = Op.hasOwnProperty;
-  var undefined;
-  var $Symbol = typeof Symbol === "function" ? Symbol : {};
-  var iteratorSymbol = $Symbol.iterator || "@@iterator";
-  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
-  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
-  function wrap(innerFn, outerFn, self, tryLocsList) {
-    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
-    var generator = Object.create(protoGenerator.prototype);
-    var context = new Context(tryLocsList || []);
-    generator._invoke = makeInvokeMethod(innerFn, self, context);
-    return generator;
-  }
-
-  exports.wrap = wrap;
-
-  function tryCatch(fn, obj, arg) {
-    try {
-      return {
-        type: "normal",
-        arg: fn.call(obj, arg)
-      };
-    } catch (err) {
-      return {
-        type: "throw",
-        arg: err
-      };
-    }
-  }
-
-  var GenStateSuspendedStart = "suspendedStart";
-  var GenStateSuspendedYield = "suspendedYield";
-  var GenStateExecuting = "executing";
-  var GenStateCompleted = "completed";
-  var ContinueSentinel = {};
-
-  function Generator() {}
-
-  function GeneratorFunction() {}
-
-  function GeneratorFunctionPrototype() {}
-
-  var IteratorPrototype = {};
-
-  IteratorPrototype[iteratorSymbol] = function () {
-    return this;
-  };
-
-  var getProto = Object.getPrototypeOf;
-  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-
-  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
-    IteratorPrototype = NativeIteratorPrototype;
-  }
-
-  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
-  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
-  GeneratorFunctionPrototype.constructor = GeneratorFunction;
-  GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
-
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function (method) {
-      prototype[method] = function (arg) {
-        return this._invoke(method, arg);
-      };
-    });
-  }
-
-  exports.isGeneratorFunction = function (genFun) {
-    var ctor = typeof genFun === "function" && genFun.constructor;
-    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
-  };
-
-  exports.mark = function (genFun) {
-    if (Object.setPrototypeOf) {
-      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
-    } else {
-      genFun.__proto__ = GeneratorFunctionPrototype;
-
-      if (!(toStringTagSymbol in genFun)) {
-        genFun[toStringTagSymbol] = "GeneratorFunction";
-      }
-    }
-
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
-
-  exports.awrap = function (arg) {
-    return {
-      __await: arg
-    };
-  };
-
-  function AsyncIterator(generator, PromiseImpl) {
-    function invoke(method, arg, resolve, reject) {
-      var record = tryCatch(generator[method], generator, arg);
-
-      if (record.type === "throw") {
-        reject(record.arg);
-      } else {
-        var result = record.arg;
-        var value = result.value;
-
-        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
-          return PromiseImpl.resolve(value.__await).then(function (value) {
-            invoke("next", value, resolve, reject);
-          }, function (err) {
-            invoke("throw", err, resolve, reject);
-          });
-        }
-
-        return PromiseImpl.resolve(value).then(function (unwrapped) {
-          result.value = unwrapped;
-          resolve(result);
-        }, function (error) {
-          return invoke("throw", error, resolve, reject);
-        });
-      }
-    }
-
-    var previousPromise;
-
-    function enqueue(method, arg) {
-      function callInvokeWithMethodAndArg() {
-        return new PromiseImpl(function (resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
-      }
-
-      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
-    }
-
-    this._invoke = enqueue;
-  }
-
-  defineIteratorMethods(AsyncIterator.prototype);
-
-  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
-    return this;
-  };
-
-  exports.AsyncIterator = AsyncIterator;
-
-  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
-    if (PromiseImpl === void 0) PromiseImpl = Promise;
-    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
-    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
-      return result.done ? result.value : iter.next();
-    });
-  };
-
-  function makeInvokeMethod(innerFn, self, context) {
-    var state = GenStateSuspendedStart;
-    return function invoke(method, arg) {
-      if (state === GenStateExecuting) {
-        throw new Error("Generator is already running");
-      }
-
-      if (state === GenStateCompleted) {
-        if (method === "throw") {
-          throw arg;
-        }
-
-        return doneResult();
-      }
-
-      context.method = method;
-      context.arg = arg;
-
-      while (true) {
-        var delegate = context.delegate;
-
-        if (delegate) {
-          var delegateResult = maybeInvokeDelegate(delegate, context);
-
-          if (delegateResult) {
-            if (delegateResult === ContinueSentinel) continue;
-            return delegateResult;
-          }
-        }
-
-        if (context.method === "next") {
-          context.sent = context._sent = context.arg;
-        } else if (context.method === "throw") {
-          if (state === GenStateSuspendedStart) {
-            state = GenStateCompleted;
-            throw context.arg;
-          }
-
-          context.dispatchException(context.arg);
-        } else if (context.method === "return") {
-          context.abrupt("return", context.arg);
-        }
-
-        state = GenStateExecuting;
-        var record = tryCatch(innerFn, self, context);
-
-        if (record.type === "normal") {
-          state = context.done ? GenStateCompleted : GenStateSuspendedYield;
-
-          if (record.arg === ContinueSentinel) {
-            continue;
-          }
-
-          return {
-            value: record.arg,
-            done: context.done
-          };
-        } else if (record.type === "throw") {
-          state = GenStateCompleted;
-          context.method = "throw";
-          context.arg = record.arg;
-        }
-      }
-    };
-  }
-
-  function maybeInvokeDelegate(delegate, context) {
-    var method = delegate.iterator[context.method];
-
-    if (method === undefined) {
-      context.delegate = null;
-
-      if (context.method === "throw") {
-        if (delegate.iterator["return"]) {
-          context.method = "return";
-          context.arg = undefined;
-          maybeInvokeDelegate(delegate, context);
-
-          if (context.method === "throw") {
-            return ContinueSentinel;
-          }
-        }
-
-        context.method = "throw";
-        context.arg = new TypeError("The iterator does not provide a 'throw' method");
-      }
-
-      return ContinueSentinel;
-    }
-
-    var record = tryCatch(method, delegate.iterator, context.arg);
-
-    if (record.type === "throw") {
-      context.method = "throw";
-      context.arg = record.arg;
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    var info = record.arg;
-
-    if (!info) {
-      context.method = "throw";
-      context.arg = new TypeError("iterator result is not an object");
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    if (info.done) {
-      context[delegate.resultName] = info.value;
-      context.next = delegate.nextLoc;
-
-      if (context.method !== "return") {
-        context.method = "next";
-        context.arg = undefined;
-      }
-    } else {
-      return info;
-    }
-
-    context.delegate = null;
-    return ContinueSentinel;
-  }
-
-  defineIteratorMethods(Gp);
-  Gp[toStringTagSymbol] = "Generator";
-
-  Gp[iteratorSymbol] = function () {
-    return this;
-  };
-
-  Gp.toString = function () {
-    return "[object Generator]";
-  };
-
-  function pushTryEntry(locs) {
-    var entry = {
-      tryLoc: locs[0]
-    };
-
-    if (1 in locs) {
-      entry.catchLoc = locs[1];
-    }
-
-    if (2 in locs) {
-      entry.finallyLoc = locs[2];
-      entry.afterLoc = locs[3];
-    }
-
-    this.tryEntries.push(entry);
-  }
-
-  function resetTryEntry(entry) {
-    var record = entry.completion || {};
-    record.type = "normal";
-    delete record.arg;
-    entry.completion = record;
-  }
-
-  function Context(tryLocsList) {
-    this.tryEntries = [{
-      tryLoc: "root"
-    }];
-    tryLocsList.forEach(pushTryEntry, this);
-    this.reset(true);
-  }
-
-  exports.keys = function (object) {
-    var keys = [];
-
-    for (var key in object) {
-      keys.push(key);
-    }
-
-    keys.reverse();
-    return function next() {
-      while (keys.length) {
-        var key = keys.pop();
-
-        if (key in object) {
-          next.value = key;
-          next.done = false;
-          return next;
-        }
-      }
-
-      next.done = true;
-      return next;
-    };
-  };
-
-  function values(iterable) {
-    if (iterable) {
-      var iteratorMethod = iterable[iteratorSymbol];
-
-      if (iteratorMethod) {
-        return iteratorMethod.call(iterable);
-      }
-
-      if (typeof iterable.next === "function") {
-        return iterable;
-      }
-
-      if (!isNaN(iterable.length)) {
-        var i = -1,
-            next = function next() {
-          while (++i < iterable.length) {
-            if (hasOwn.call(iterable, i)) {
-              next.value = iterable[i];
-              next.done = false;
-              return next;
-            }
-          }
-
-          next.value = undefined;
-          next.done = true;
-          return next;
-        };
-
-        return next.next = next;
-      }
-    }
-
-    return {
-      next: doneResult
-    };
-  }
-
-  exports.values = values;
-
-  function doneResult() {
-    return {
-      value: undefined,
-      done: true
-    };
-  }
-
-  Context.prototype = {
-    constructor: Context,
-    reset: function reset(skipTempReset) {
-      this.prev = 0;
-      this.next = 0;
-      this.sent = this._sent = undefined;
-      this.done = false;
-      this.delegate = null;
-      this.method = "next";
-      this.arg = undefined;
-      this.tryEntries.forEach(resetTryEntry);
-
-      if (!skipTempReset) {
-        for (var name in this) {
-          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
-            this[name] = undefined;
-          }
-        }
-      }
-    },
-    stop: function stop() {
-      this.done = true;
-      var rootEntry = this.tryEntries[0];
-      var rootRecord = rootEntry.completion;
-
-      if (rootRecord.type === "throw") {
-        throw rootRecord.arg;
-      }
-
-      return this.rval;
-    },
-    dispatchException: function dispatchException(exception) {
-      if (this.done) {
-        throw exception;
-      }
-
-      var context = this;
-
-      function handle(loc, caught) {
-        record.type = "throw";
-        record.arg = exception;
-        context.next = loc;
-
-        if (caught) {
-          context.method = "next";
-          context.arg = undefined;
-        }
-
-        return !!caught;
-      }
-
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        var record = entry.completion;
-
-        if (entry.tryLoc === "root") {
-          return handle("end");
-        }
-
-        if (entry.tryLoc <= this.prev) {
-          var hasCatch = hasOwn.call(entry, "catchLoc");
-          var hasFinally = hasOwn.call(entry, "finallyLoc");
-
-          if (hasCatch && hasFinally) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            } else if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-          } else if (hasCatch) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            }
-          } else if (hasFinally) {
-            if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-          } else {
-            throw new Error("try statement without catch or finally");
-          }
-        }
-      }
-    },
-    abrupt: function abrupt(type, arg) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
-          var finallyEntry = entry;
-          break;
-        }
-      }
-
-      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
-        finallyEntry = null;
-      }
-
-      var record = finallyEntry ? finallyEntry.completion : {};
-      record.type = type;
-      record.arg = arg;
-
-      if (finallyEntry) {
-        this.method = "next";
-        this.next = finallyEntry.finallyLoc;
-        return ContinueSentinel;
-      }
-
-      return this.complete(record);
-    },
-    complete: function complete(record, afterLoc) {
-      if (record.type === "throw") {
-        throw record.arg;
-      }
-
-      if (record.type === "break" || record.type === "continue") {
-        this.next = record.arg;
-      } else if (record.type === "return") {
-        this.rval = this.arg = record.arg;
-        this.method = "return";
-        this.next = "end";
-      } else if (record.type === "normal" && afterLoc) {
-        this.next = afterLoc;
-      }
-
-      return ContinueSentinel;
-    },
-    finish: function finish(finallyLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.finallyLoc === finallyLoc) {
-          this.complete(entry.completion, entry.afterLoc);
-          resetTryEntry(entry);
-          return ContinueSentinel;
-        }
-      }
-    },
-    "catch": function _catch(tryLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-
-        if (entry.tryLoc === tryLoc) {
-          var record = entry.completion;
-
-          if (record.type === "throw") {
-            var thrown = record.arg;
-            resetTryEntry(entry);
-          }
-
-          return thrown;
-        }
-      }
-
-      throw new Error("illegal catch attempt");
-    },
-    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
-      this.delegate = {
-        iterator: values(iterable),
-        resultName: resultName,
-        nextLoc: nextLoc
-      };
-
-      if (this.method === "next") {
-        this.arg = undefined;
-      }
-
-      return ContinueSentinel;
-    }
-  };
-  return exports;
-}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});
-
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4)(module)))
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function (module) {
-  if (!module.webpackPolyfill) {
-    module.deprecate = function () {};
-
-    module.paths = [];
-    if (!module.children) module.children = [];
-    Object.defineProperty(module, "loaded", {
-      enumerable: true,
-      get: function get() {
-        return module.l;
-      }
-    });
-    Object.defineProperty(module, "id", {
-      enumerable: true,
-      get: function get() {
-        return module.i;
-      }
-    });
-    module.webpackPolyfill = 1;
-  }
-
-  return module;
-};
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.isValidRotation = isValidRotation;
-exports.isValidScrollMode = isValidScrollMode;
-exports.isValidSpreadMode = isValidSpreadMode;
-exports.isPortraitOrientation = isPortraitOrientation;
-exports.getGlobalEventBus = getGlobalEventBus;
-exports.clamp = clamp;
-exports.getPDFFileNameFromURL = getPDFFileNameFromURL;
-exports.noContextMenuHandler = noContextMenuHandler;
-exports.parseQueryString = parseQueryString;
-exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
-exports.getVisibleElements = getVisibleElements;
-exports.roundToDivide = roundToDivide;
-exports.getPageSizeInches = getPageSizeInches;
-exports.approximateFraction = approximateFraction;
-exports.getOutputScale = getOutputScale;
-exports.scrollIntoView = scrollIntoView;
-exports.watchScroll = watchScroll;
-exports.binarySearchFirstItem = binarySearchFirstItem;
-exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
-exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
-exports.moveToEndOfArray = moveToEndOfArray;
-exports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-var CSS_UNITS = 96.0 / 72.0;
-exports.CSS_UNITS = CSS_UNITS;
-var DEFAULT_SCALE_VALUE = "auto";
-exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
-var DEFAULT_SCALE = 1.0;
-exports.DEFAULT_SCALE = DEFAULT_SCALE;
-var MIN_SCALE = 0.1;
-exports.MIN_SCALE = MIN_SCALE;
-var MAX_SCALE = 10.0;
-exports.MAX_SCALE = MAX_SCALE;
-var UNKNOWN_SCALE = 0;
-exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
-var MAX_AUTO_SCALE = 1.25;
-exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
-var SCROLLBAR_PADDING = 40;
-exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
-var VERTICAL_PADDING = 5;
-exports.VERTICAL_PADDING = VERTICAL_PADDING;
-var PresentationModeState = {
-  UNKNOWN: 0,
-  NORMAL: 1,
-  CHANGING: 2,
-  FULLSCREEN: 3
-};
-exports.PresentationModeState = PresentationModeState;
-var RendererType = {
-  CANVAS: "canvas",
-  SVG: "svg"
-};
-exports.RendererType = RendererType;
-var TextLayerMode = {
-  DISABLE: 0,
-  ENABLE: 1,
-  ENABLE_ENHANCE: 2
-};
-exports.TextLayerMode = TextLayerMode;
-var ScrollMode = {
-  UNKNOWN: -1,
-  VERTICAL: 0,
-  HORIZONTAL: 1,
-  WRAPPED: 2
-};
-exports.ScrollMode = ScrollMode;
-var SpreadMode = {
-  UNKNOWN: -1,
-  NONE: 0,
-  ODD: 1,
-  EVEN: 2
-};
-exports.SpreadMode = SpreadMode;
-var AutoPrintRegExp = /\bprint\s*\(/;
-exports.AutoPrintRegExp = AutoPrintRegExp;
-
-function formatL10nValue(text, args) {
-  if (!args) {
-    return text;
-  }
-
-  return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) {
-    return name in args ? args[name] : "{{" + name + "}}";
-  });
-}
-
-var NullL10n = {
-  getLanguage: function getLanguage() {
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-      return _regenerator["default"].wrap(function _callee$(_context) {
-        while (1) {
-          switch (_context.prev = _context.next) {
-            case 0:
-              return _context.abrupt("return", "en-us");
-
-            case 1:
-            case "end":
-              return _context.stop();
-          }
-        }
-      }, _callee);
-    }))();
-  },
-  getDirection: function getDirection() {
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-      return _regenerator["default"].wrap(function _callee2$(_context2) {
-        while (1) {
-          switch (_context2.prev = _context2.next) {
-            case 0:
-              return _context2.abrupt("return", "ltr");
-
-            case 1:
-            case "end":
-              return _context2.stop();
-          }
-        }
-      }, _callee2);
-    }))();
-  },
-  get: function get(property, args, fallback) {
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
-      return _regenerator["default"].wrap(function _callee3$(_context3) {
-        while (1) {
-          switch (_context3.prev = _context3.next) {
-            case 0:
-              return _context3.abrupt("return", formatL10nValue(fallback, args));
-
-            case 1:
-            case "end":
-              return _context3.stop();
-          }
-        }
-      }, _callee3);
-    }))();
-  },
-  translate: function translate(element) {
-    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
-      return _regenerator["default"].wrap(function _callee4$(_context4) {
-        while (1) {
-          switch (_context4.prev = _context4.next) {
-            case 0:
-            case "end":
-              return _context4.stop();
-          }
-        }
-      }, _callee4);
-    }))();
-  }
-};
-exports.NullL10n = NullL10n;
-
-function getOutputScale(ctx) {
-  var devicePixelRatio = window.devicePixelRatio || 1;
-  var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
-  var pixelRatio = devicePixelRatio / backingStoreRatio;
-  return {
-    sx: pixelRatio,
-    sy: pixelRatio,
-    scaled: pixelRatio !== 1
-  };
-}
-
-function scrollIntoView(element, spot) {
-  var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-  var parent = element.offsetParent;
-
-  if (!parent) {
-    console.error("offsetParent is not set -- cannot scroll");
-    return;
-  }
-
-  var offsetY = element.offsetTop + element.clientTop;
-  var offsetX = element.offsetLeft + element.clientLeft;
-
-  while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === "hidden") {
-    if (parent.dataset._scaleY) {
-      offsetY /= parent.dataset._scaleY;
-      offsetX /= parent.dataset._scaleX;
-    }
-
-    offsetY += parent.offsetTop;
-    offsetX += parent.offsetLeft;
-    parent = parent.offsetParent;
-
-    if (!parent) {
-      return;
-    }
-  }
-
-  if (spot) {
-    if (spot.top !== undefined) {
-      offsetY += spot.top;
-    }
-
-    if (spot.left !== undefined) {
-      offsetX += spot.left;
-      parent.scrollLeft = offsetX;
-    }
-  }
-
-  parent.scrollTop = offsetY;
-}
-
-function watchScroll(viewAreaElement, callback) {
-  var debounceScroll = function debounceScroll(evt) {
-    if (rAF) {
-      return;
-    }
-
-    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
-      rAF = null;
-      var currentX = viewAreaElement.scrollLeft;
-      var lastX = state.lastX;
-
-      if (currentX !== lastX) {
-        state.right = currentX > lastX;
-      }
-
-      state.lastX = currentX;
-      var currentY = viewAreaElement.scrollTop;
-      var lastY = state.lastY;
-
-      if (currentY !== lastY) {
-        state.down = currentY > lastY;
-      }
-
-      state.lastY = currentY;
-      callback(state);
-    });
-  };
-
-  var state = {
-    right: true,
-    down: true,
-    lastX: viewAreaElement.scrollLeft,
-    lastY: viewAreaElement.scrollTop,
-    _eventHandler: debounceScroll
-  };
-  var rAF = null;
-  viewAreaElement.addEventListener("scroll", debounceScroll, true);
-  return state;
-}
-
-function parseQueryString(query) {
-  var parts = query.split("&");
-  var params = Object.create(null);
-
-  for (var i = 0, ii = parts.length; i < ii; ++i) {
-    var param = parts[i].split("=");
-    var key = param[0].toLowerCase();
-    var value = param.length > 1 ? param[1] : null;
-    params[decodeURIComponent(key)] = decodeURIComponent(value);
-  }
-
-  return params;
-}
-
-function binarySearchFirstItem(items, condition) {
-  var minIndex = 0;
-  var maxIndex = items.length - 1;
-
-  if (items.length === 0 || !condition(items[maxIndex])) {
-    return items.length;
-  }
-
-  if (condition(items[minIndex])) {
-    return minIndex;
-  }
-
-  while (minIndex < maxIndex) {
-    var currentIndex = minIndex + maxIndex >> 1;
-    var currentItem = items[currentIndex];
-
-    if (condition(currentItem)) {
-      maxIndex = currentIndex;
-    } else {
-      minIndex = currentIndex + 1;
-    }
-  }
-
-  return minIndex;
-}
-
-function approximateFraction(x) {
-  if (Math.floor(x) === x) {
-    return [x, 1];
-  }
-
-  var xinv = 1 / x;
-  var limit = 8;
-
-  if (xinv > limit) {
-    return [1, limit];
-  } else if (Math.floor(xinv) === xinv) {
-    return [1, xinv];
-  }
-
-  var x_ = x > 1 ? xinv : x;
-  var a = 0,
-      b = 1,
-      c = 1,
-      d = 1;
-
-  while (true) {
-    var p = a + c,
-        q = b + d;
-
-    if (q > limit) {
-      break;
-    }
-
-    if (x_ <= p / q) {
-      c = p;
-      d = q;
-    } else {
-      a = p;
-      b = q;
-    }
-  }
-
-  var result;
-
-  if (x_ - a / b < c / d - x_) {
-    result = x_ === x ? [a, b] : [b, a];
-  } else {
-    result = x_ === x ? [c, d] : [d, c];
-  }
-
-  return result;
-}
-
-function roundToDivide(x, div) {
-  var r = x % div;
-  return r === 0 ? x : Math.round(x - r + div);
-}
-
-function getPageSizeInches(_ref) {
-  var view = _ref.view,
-      userUnit = _ref.userUnit,
-      rotate = _ref.rotate;
-
-  var _view = _slicedToArray(view, 4),
-      x1 = _view[0],
-      y1 = _view[1],
-      x2 = _view[2],
-      y2 = _view[3];
-
-  var changeOrientation = rotate % 180 !== 0;
-  var width = (x2 - x1) / 72 * userUnit;
-  var height = (y2 - y1) / 72 * userUnit;
-  return {
-    width: changeOrientation ? height : width,
-    height: changeOrientation ? width : height
-  };
-}
-
-function backtrackBeforeAllVisibleElements(index, views, top) {
-  if (index < 2) {
-    return index;
-  }
-
-  var elt = views[index].div;
-  var pageTop = elt.offsetTop + elt.clientTop;
-
-  if (pageTop >= top) {
-    elt = views[index - 1].div;
-    pageTop = elt.offsetTop + elt.clientTop;
-  }
-
-  for (var i = index - 2; i >= 0; --i) {
-    elt = views[i].div;
-
-    if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
-      break;
-    }
-
-    index = i;
-  }
-
-  return index;
-}
-
-function getVisibleElements(scrollEl, views) {
-  var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-  var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-  var top = scrollEl.scrollTop,
-      bottom = top + scrollEl.clientHeight;
-  var left = scrollEl.scrollLeft,
-      right = left + scrollEl.clientWidth;
-
-  function isElementBottomAfterViewTop(view) {
-    var element = view.div;
-    var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
-    return elementBottom > top;
-  }
-
-  function isElementRightAfterViewLeft(view) {
-    var element = view.div;
-    var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;
-    return elementRight > left;
-  }
-
-  var visible = [],
-      numViews = views.length;
-  var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);
-
-  if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
-    firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
-  }
-
-  var lastEdge = horizontal ? right : -1;
-
-  for (var i = firstVisibleElementInd; i < numViews; i++) {
-    var view = views[i],
-        element = view.div;
-    var currentWidth = element.offsetLeft + element.clientLeft;
-    var currentHeight = element.offsetTop + element.clientTop;
-    var viewWidth = element.clientWidth,
-        viewHeight = element.clientHeight;
-    var viewRight = currentWidth + viewWidth;
-    var viewBottom = currentHeight + viewHeight;
-
-    if (lastEdge === -1) {
-      if (viewBottom >= bottom) {
-        lastEdge = viewBottom;
-      }
-    } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
-      break;
-    }
-
-    if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
-      continue;
-    }
-
-    var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
-    var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
-    var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;
-    visible.push({
-      id: view.id,
-      x: currentWidth,
-      y: currentHeight,
-      view: view,
-      percent: percent
-    });
-  }
-
-  var first = visible[0],
-      last = visible[visible.length - 1];
-
-  if (sortByVisibility) {
-    visible.sort(function (a, b) {
-      var pc = a.percent - b.percent;
-
-      if (Math.abs(pc) > 0.001) {
-        return -pc;
-      }
-
-      return a.id - b.id;
-    });
-  }
-
-  return {
-    first: first,
-    last: last,
-    views: visible
-  };
-}
-
-function noContextMenuHandler(evt) {
-  evt.preventDefault();
-}
-
-function isDataSchema(url) {
-  var i = 0;
-  var ii = url.length;
-
-  while (i < ii && url[i].trim() === "") {
-    i++;
-  }
-
-  return url.substring(i, i + 5).toLowerCase() === "data:";
-}
-
-function getPDFFileNameFromURL(url) {
-  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf";
-
-  if (typeof url !== "string") {
-    return defaultFilename;
-  }
-
-  if (isDataSchema(url)) {
-    console.warn("getPDFFileNameFromURL: " + 'ignoring "data:" URL for performance reasons.');
-    return defaultFilename;
-  }
-
-  var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
-  var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
-  var splitURI = reURI.exec(url);
-  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);
-
-  if (suggestedFilename) {
-    suggestedFilename = suggestedFilename[0];
-
-    if (suggestedFilename.includes("%")) {
-      try {
-        suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
-      } catch (ex) {}
-    }
-  }
-
-  return suggestedFilename || defaultFilename;
-}
-
-function normalizeWheelEventDelta(evt) {
-  var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
-  var angle = Math.atan2(evt.deltaY, evt.deltaX);
-
-  if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
-    delta = -delta;
-  }
-
-  var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
-  var MOUSE_DOM_DELTA_LINE_MODE = 1;
-  var MOUSE_PIXELS_PER_LINE = 30;
-  var MOUSE_LINES_PER_PAGE = 30;
-
-  if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
-    delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
-  } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
-    delta /= MOUSE_LINES_PER_PAGE;
-  }
-
-  return delta;
-}
-
-function isValidRotation(angle) {
-  return Number.isInteger(angle) && angle % 90 === 0;
-}
-
-function isValidScrollMode(mode) {
-  return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
-}
-
-function isValidSpreadMode(mode) {
-  return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
-}
-
-function isPortraitOrientation(size) {
-  return size.width <= size.height;
-}
-
-var WaitOnType = {
-  EVENT: "event",
-  TIMEOUT: "timeout"
-};
-exports.WaitOnType = WaitOnType;
-
-function waitOnEventOrTimeout(_ref2) {
-  var target = _ref2.target,
-      name = _ref2.name,
-      _ref2$delay = _ref2.delay,
-      delay = _ref2$delay === void 0 ? 0 : _ref2$delay;
-  return new Promise(function (resolve, reject) {
-    if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
-      throw new Error("waitOnEventOrTimeout - invalid parameters.");
-    }
-
-    function handler(type) {
-      if (target instanceof EventBus) {
-        target._off(name, eventHandler);
-      } else {
-        target.removeEventListener(name, eventHandler);
-      }
-
-      if (timeout) {
-        clearTimeout(timeout);
-      }
-
-      resolve(type);
-    }
-
-    var eventHandler = handler.bind(null, WaitOnType.EVENT);
-
-    if (target instanceof EventBus) {
-      target._on(name, eventHandler);
-    } else {
-      target.addEventListener(name, eventHandler);
-    }
-
-    var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
-    var timeout = setTimeout(timeoutHandler, delay);
-  });
-}
-
-var animationStarted = new Promise(function (resolve) {
-  window.requestAnimationFrame(resolve);
-});
-exports.animationStarted = animationStarted;
-
-function dispatchDOMEvent(eventName) {
-  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-  var details = Object.create(null);
-
-  if (args && args.length > 0) {
-    var obj = args[0];
-
-    for (var key in obj) {
-      var value = obj[key];
-
-      if (key === "source") {
-        if (value === window || value === document) {
-          return;
-        }
-
-        continue;
-      }
-
-      details[key] = value;
-    }
-  }
-
-  var event = document.createEvent("CustomEvent");
-  event.initCustomEvent(eventName, true, true, details);
-  document.dispatchEvent(event);
-}
-
-var EventBus = /*#__PURE__*/function () {
-  function EventBus() {
-    var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-        _ref3$dispatchToDOM = _ref3.dispatchToDOM,
-        dispatchToDOM = _ref3$dispatchToDOM === void 0 ? false : _ref3$dispatchToDOM;
-
-    _classCallCheck(this, EventBus);
-
-    this._listeners = Object.create(null);
-    this._dispatchToDOM = dispatchToDOM === true;
-
-    if (dispatchToDOM) {
-      console.error("The `eventBusDispatchToDOM` option/preference is deprecated, " + "add event listeners to the EventBus instance rather than the DOM.");
-    }
-  }
-
-  _createClass(EventBus, [{
-    key: "on",
-    value: function on(eventName, listener) {
-      this._on(eventName, listener, {
-        external: true
-      });
-    }
-  }, {
-    key: "off",
-    value: function off(eventName, listener) {
-      this._off(eventName, listener, {
-        external: true
-      });
-    }
-  }, {
-    key: "dispatch",
-    value: function dispatch(eventName) {
-      var eventListeners = this._listeners[eventName];
-
-      if (!eventListeners || eventListeners.length === 0) {
-        if (this._dispatchToDOM) {
-          var _args5 = Array.prototype.slice.call(arguments, 1);
-
-          dispatchDOMEvent(eventName, _args5);
-        }
-
-        return;
-      }
-
-      var args = Array.prototype.slice.call(arguments, 1);
-      var externalListeners;
-      eventListeners.slice(0).forEach(function (_ref4) {
-        var listener = _ref4.listener,
-            external = _ref4.external;
-
-        if (external) {
-          if (!externalListeners) {
-            externalListeners = [];
-          }
-
-          externalListeners.push(listener);
-          return;
-        }
-
-        listener.apply(null, args);
-      });
-
-      if (externalListeners) {
-        externalListeners.forEach(function (listener) {
-          listener.apply(null, args);
-        });
-        externalListeners = null;
-      }
-
-      if (this._dispatchToDOM) {
-        dispatchDOMEvent(eventName, args);
-      }
-    }
-  }, {
-    key: "_on",
-    value: function _on(eventName, listener) {
-      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
-      var eventListeners = this._listeners[eventName];
-
-      if (!eventListeners) {
-        this._listeners[eventName] = eventListeners = [];
-      }
-
-      eventListeners.push({
-        listener: listener,
-        external: (options && options.external) === true
-      });
-    }
-  }, {
-    key: "_off",
-    value: function _off(eventName, listener) {
-      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
-      var eventListeners = this._listeners[eventName];
-
-      if (!eventListeners) {
-        return;
-      }
-
-      for (var i = 0, ii = eventListeners.length; i < ii; i++) {
-        if (eventListeners[i].listener === listener) {
-          eventListeners.splice(i, 1);
-          return;
-        }
-      }
-    }
-  }]);
-
-  return EventBus;
-}();
-
-exports.EventBus = EventBus;
-var globalEventBus = null;
-
-function getGlobalEventBus() {
-  var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  console.error("getGlobalEventBus is deprecated, use a manually created EventBus instance instead.");
-
-  if (!globalEventBus) {
-    globalEventBus = new EventBus({
-      dispatchToDOM: dispatchToDOM
-    });
-  }
-
-  return globalEventBus;
-}
-
-function clamp(v, min, max) {
-  return Math.min(Math.max(v, min), max);
-}
-
-var ProgressBar = /*#__PURE__*/function () {
-  function ProgressBar(id) {
-    var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
-        height = _ref5.height,
-        width = _ref5.width,
-        units = _ref5.units;
-
-    _classCallCheck(this, ProgressBar);
-
-    this.visible = true;
-    this.div = document.querySelector(id + " .progress");
-    this.bar = this.div.parentNode;
-    this.height = height || 100;
-    this.width = width || 100;
-    this.units = units || "%";
-    this.div.style.height = this.height + this.units;
-    this.percent = 0;
-  }
-
-  _createClass(ProgressBar, [{
-    key: "_updateBar",
-    value: function _updateBar() {
-      if (this._indeterminate) {
-        this.div.classList.add("indeterminate");
-        this.div.style.width = this.width + this.units;
-        return;
-      }
-
-      this.div.classList.remove("indeterminate");
-      var progressSize = this.width * this._percent / 100;
-      this.div.style.width = progressSize + this.units;
-    }
-  }, {
-    key: "setWidth",
-    value: function setWidth(viewer) {
-      if (!viewer) {
-        return;
-      }
-
-      var container = viewer.parentNode;
-      var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
-
-      if (scrollbarWidth > 0) {
-        this.bar.style.width = "calc(100% - ".concat(scrollbarWidth, "px)");
-      }
-    }
-  }, {
-    key: "hide",
-    value: function hide() {
-      if (!this.visible) {
-        return;
-      }
-
-      this.visible = false;
-      this.bar.classList.add("hidden");
-      document.body.classList.remove("loadingInProgress");
-    }
-  }, {
-    key: "show",
-    value: function show() {
-      if (this.visible) {
-        return;
-      }
-
-      this.visible = true;
-      document.body.classList.add("loadingInProgress");
-      this.bar.classList.remove("hidden");
-    }
-  }, {
-    key: "percent",
-    get: function get() {
-      return this._percent;
-    },
-    set: function set(val) {
-      this._indeterminate = isNaN(val);
-      this._percent = clamp(val, 0, 100);
-
-      this._updateBar();
-    }
-  }]);
-
-  return ProgressBar;
-}();
-
-exports.ProgressBar = ProgressBar;
-
-function moveToEndOfArray(arr, condition) {
-  var moved = [],
-      len = arr.length;
-  var write = 0;
-
-  for (var read = 0; read < len; ++read) {
-    if (condition(arr[read])) {
-      moved.push(arr[read]);
-    } else {
-      arr[write] = arr[read];
-      ++write;
-    }
-  }
-
-  for (var _read = 0; write < len; ++_read, ++write) {
-    arr[write] = moved[_read];
-  }
-}
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.OptionKind = exports.AppOptions = void 0;
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _viewer_compatibility = __webpack_require__(8);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var OptionKind = {
-  VIEWER: 0x02,
-  API: 0x04,
-  WORKER: 0x08,
-  PREFERENCE: 0x80
-};
-exports.OptionKind = OptionKind;
-var defaultOptions = {
-  cursorToolOnLoad: {
-    value: 0,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  defaultUrl: {
-    value: "compressed.tracemonkey-pldi-09.pdf",
-    kind: OptionKind.VIEWER
-  },
-  defaultZoomValue: {
-    value: "",
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  disableHistory: {
-    value: false,
-    kind: OptionKind.VIEWER
-  },
-  disablePageLabels: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  enablePrintAutoRotate: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  enableWebGL: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  eventBusDispatchToDOM: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  externalLinkRel: {
-    value: "noopener noreferrer nofollow",
-    kind: OptionKind.VIEWER
-  },
-  externalLinkTarget: {
-    value: 0,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  historyUpdateUrl: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  ignoreDestinationZoom: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  imageResourcesPath: {
-    value: "./images/",
-    kind: OptionKind.VIEWER
-  },
-  maxCanvasPixels: {
-    value: 16777216,
-    compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels,
-    kind: OptionKind.VIEWER
-  },
-  pdfBugEnabled: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  renderer: {
-    value: "canvas",
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  renderInteractiveForms: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  sidebarViewOnLoad: {
-    value: -1,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  scrollModeOnLoad: {
-    value: -1,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  spreadModeOnLoad: {
-    value: -1,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  textLayerMode: {
-    value: 1,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  useOnlyCssZoom: {
-    value: false,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  viewOnLoad: {
-    value: 0,
-    kind: OptionKind.VIEWER + OptionKind.PREFERENCE
-  },
-  cMapPacked: {
-    value: true,
-    kind: OptionKind.API
-  },
-  cMapUrl: {
-    value: "../web/cmaps/",
-    kind: OptionKind.API
-  },
-  disableAutoFetch: {
-    value: false,
-    kind: OptionKind.API + OptionKind.PREFERENCE
-  },
-  disableCreateObjectURL: {
-    value: false,
-    compatibility: _pdfjsLib.apiCompatibilityParams.disableCreateObjectURL,
-    kind: OptionKind.API
-  },
-  disableFontFace: {
-    value: false,
-    kind: OptionKind.API + OptionKind.PREFERENCE
-  },
-  disableRange: {
-    value: false,
-    kind: OptionKind.API + OptionKind.PREFERENCE
-  },
-  disableStream: {
-    value: false,
-    kind: OptionKind.API + OptionKind.PREFERENCE
-  },
-  docBaseUrl: {
-    value: "",
-    kind: OptionKind.API
-  },
-  isEvalSupported: {
-    value: true,
-    kind: OptionKind.API
-  },
-  maxImageSize: {
-    value: -1,
-    kind: OptionKind.API
-  },
-  pdfBug: {
-    value: false,
-    kind: OptionKind.API
-  },
-  verbosity: {
-    value: 1,
-    kind: OptionKind.API
-  },
-  workerPort: {
-    value: null,
-    kind: OptionKind.WORKER
-  },
-  workerSrc: {
-    value: "../build/pdf.worker.js",
-    kind: OptionKind.WORKER
-  }
-};
-{
-  defaultOptions.disablePreferences = {
-    value: false,
-    kind: OptionKind.VIEWER
-  };
-  defaultOptions.locale = {
-    value: typeof navigator !== "undefined" ? navigator.language : "en-US",
-    kind: OptionKind.VIEWER
-  };
-  defaultOptions.printResolution = {
-    value: 150,
-    kind: OptionKind.VIEWER
-  };
-}
-var userOptions = Object.create(null);
-
-var AppOptions = /*#__PURE__*/function () {
-  function AppOptions() {
-    _classCallCheck(this, AppOptions);
-
-    throw new Error("Cannot initialize AppOptions.");
-  }
-
-  _createClass(AppOptions, null, [{
-    key: "get",
-    value: function get(name) {
-      var userOption = userOptions[name];
-
-      if (userOption !== undefined) {
-        return userOption;
-      }
-
-      var defaultOption = defaultOptions[name];
-
-      if (defaultOption !== undefined) {
-        return defaultOption.compatibility || defaultOption.value;
-      }
-
-      return undefined;
-    }
-  }, {
-    key: "getAll",
-    value: function getAll() {
-      var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-      var options = Object.create(null);
-
-      for (var name in defaultOptions) {
-        var defaultOption = defaultOptions[name];
-
-        if (kind) {
-          if ((kind & defaultOption.kind) === 0) {
-            continue;
-          }
-
-          if (kind === OptionKind.PREFERENCE) {
-            var value = defaultOption.value,
-                valueType = _typeof(value);
-
-            if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) {
-              options[name] = value;
-              continue;
-            }
-
-            throw new Error("Invalid type for preference: ".concat(name));
-          }
-        }
-
-        var userOption = userOptions[name];
-        options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || defaultOption.value;
-      }
-
-      return options;
-    }
-  }, {
-    key: "set",
-    value: function set(name, value) {
-      userOptions[name] = value;
-    }
-  }, {
-    key: "remove",
-    value: function remove(name) {
-      delete userOptions[name];
-    }
-  }]);
-
-  return AppOptions;
-}();
-
-exports.AppOptions = AppOptions;
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var pdfjsLib;
-
-if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
-  pdfjsLib = window["pdfjs-dist/build/pdf"];
-} else {
-  pdfjsLib = require("../build/pdf.js");
-}
-
-module.exports = pdfjsLib;
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var compatibilityParams = Object.create(null);
-{
-  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
-  var platform = typeof navigator !== "undefined" && navigator.platform || "";
-  var maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1;
-  var isAndroid = /Android/.test(userAgent);
-  var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
-
-  (function checkCanvasSizeLimitation() {
-    if (isIOS || isAndroid) {
-      compatibilityParams.maxCanvasPixels = 5242880;
-    }
-  })();
-}
-exports.viewerCompatibilityParams = Object.freeze(compatibilityParams);
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFCursorTools = exports.CursorTool = void 0;
-
-var _grab_to_pan = __webpack_require__(10);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var CursorTool = {
-  SELECT: 0,
-  HAND: 1,
-  ZOOM: 2
-};
-exports.CursorTool = CursorTool;
-
-var PDFCursorTools = /*#__PURE__*/function () {
-  function PDFCursorTools(_ref) {
-    var _this = this;
-
-    var container = _ref.container,
-        eventBus = _ref.eventBus,
-        _ref$cursorToolOnLoad = _ref.cursorToolOnLoad,
-        cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad;
-
-    _classCallCheck(this, PDFCursorTools);
-
-    this.container = container;
-    this.eventBus = eventBus;
-    this.active = CursorTool.SELECT;
-    this.activeBeforePresentationMode = null;
-    this.handTool = new _grab_to_pan.GrabToPan({
-      element: this.container
-    });
-
-    this._addEventListeners();
-
-    Promise.resolve().then(function () {
-      _this.switchTool(cursorToolOnLoad);
-    });
-  }
-
-  _createClass(PDFCursorTools, [{
-    key: "switchTool",
-    value: function switchTool(tool) {
-      var _this2 = this;
-
-      if (this.activeBeforePresentationMode !== null) {
-        return;
-      }
-
-      if (tool === this.active) {
-        return;
-      }
-
-      var disableActiveTool = function disableActiveTool() {
-        switch (_this2.active) {
-          case CursorTool.SELECT:
-            break;
-
-          case CursorTool.HAND:
-            _this2.handTool.deactivate();
-
-            break;
-
-          case CursorTool.ZOOM:
-        }
-      };
-
-      switch (tool) {
-        case CursorTool.SELECT:
-          disableActiveTool();
-          break;
-
-        case CursorTool.HAND:
-          disableActiveTool();
-          this.handTool.activate();
-          break;
-
-        case CursorTool.ZOOM:
-        default:
-          console.error("switchTool: \"".concat(tool, "\" is an unsupported value."));
-          return;
-      }
-
-      this.active = tool;
-
-      this._dispatchEvent();
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent() {
-      this.eventBus.dispatch("cursortoolchanged", {
-        source: this,
-        tool: this.active
-      });
-    }
-  }, {
-    key: "_addEventListeners",
-    value: function _addEventListeners() {
-      var _this3 = this;
-
-      this.eventBus._on("switchcursortool", function (evt) {
-        _this3.switchTool(evt.tool);
-      });
-
-      this.eventBus._on("presentationmodechanged", function (evt) {
-        if (evt.switchInProgress) {
-          return;
-        }
-
-        var previouslyActive;
-
-        if (evt.active) {
-          previouslyActive = _this3.active;
-
-          _this3.switchTool(CursorTool.SELECT);
-
-          _this3.activeBeforePresentationMode = previouslyActive;
-        } else {
-          previouslyActive = _this3.activeBeforePresentationMode;
-          _this3.activeBeforePresentationMode = null;
-
-          _this3.switchTool(previouslyActive);
-        }
-      });
-    }
-  }, {
-    key: "activeTool",
-    get: function get() {
-      return this.active;
-    }
-  }]);
-
-  return PDFCursorTools;
-}();
-
-exports.PDFCursorTools = PDFCursorTools;
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.GrabToPan = GrabToPan;
-
-function GrabToPan(options) {
-  this.element = options.element;
-  this.document = options.element.ownerDocument;
-
-  if (typeof options.ignoreTarget === "function") {
-    this.ignoreTarget = options.ignoreTarget;
-  }
-
-  this.onActiveChanged = options.onActiveChanged;
-  this.activate = this.activate.bind(this);
-  this.deactivate = this.deactivate.bind(this);
-  this.toggle = this.toggle.bind(this);
-  this._onmousedown = this._onmousedown.bind(this);
-  this._onmousemove = this._onmousemove.bind(this);
-  this._endPan = this._endPan.bind(this);
-  var overlay = this.overlay = document.createElement("div");
-  overlay.className = "grab-to-pan-grabbing";
-}
-
-GrabToPan.prototype = {
-  CSS_CLASS_GRAB: "grab-to-pan-grab",
-  activate: function GrabToPan_activate() {
-    if (!this.active) {
-      this.active = true;
-      this.element.addEventListener("mousedown", this._onmousedown, true);
-      this.element.classList.add(this.CSS_CLASS_GRAB);
-
-      if (this.onActiveChanged) {
-        this.onActiveChanged(true);
-      }
-    }
-  },
-  deactivate: function GrabToPan_deactivate() {
-    if (this.active) {
-      this.active = false;
-      this.element.removeEventListener("mousedown", this._onmousedown, true);
-
-      this._endPan();
-
-      this.element.classList.remove(this.CSS_CLASS_GRAB);
-
-      if (this.onActiveChanged) {
-        this.onActiveChanged(false);
-      }
-    }
-  },
-  toggle: function GrabToPan_toggle() {
-    if (this.active) {
-      this.deactivate();
-    } else {
-      this.activate();
-    }
-  },
-  ignoreTarget: function GrabToPan_ignoreTarget(node) {
-    return node[matchesSelector]("a[href], a[href] *, input, textarea, button, button *, select, option");
-  },
-  _onmousedown: function GrabToPan__onmousedown(event) {
-    if (event.button !== 0 || this.ignoreTarget(event.target)) {
-      return;
-    }
-
-    if (event.originalTarget) {
-      try {
-        event.originalTarget.tagName;
-      } catch (e) {
-        return;
-      }
-    }
-
-    this.scrollLeftStart = this.element.scrollLeft;
-    this.scrollTopStart = this.element.scrollTop;
-    this.clientXStart = event.clientX;
-    this.clientYStart = event.clientY;
-    this.document.addEventListener("mousemove", this._onmousemove, true);
-    this.document.addEventListener("mouseup", this._endPan, true);
-    this.element.addEventListener("scroll", this._endPan, true);
-    event.preventDefault();
-    event.stopPropagation();
-    var focusedElement = document.activeElement;
-
-    if (focusedElement && !focusedElement.contains(event.target)) {
-      focusedElement.blur();
-    }
-  },
-  _onmousemove: function GrabToPan__onmousemove(event) {
-    this.element.removeEventListener("scroll", this._endPan, true);
-
-    if (isLeftMouseReleased(event)) {
-      this._endPan();
-
-      return;
-    }
-
-    var xDiff = event.clientX - this.clientXStart;
-    var yDiff = event.clientY - this.clientYStart;
-    var scrollTop = this.scrollTopStart - yDiff;
-    var scrollLeft = this.scrollLeftStart - xDiff;
-
-    if (this.element.scrollTo) {
-      this.element.scrollTo({
-        top: scrollTop,
-        left: scrollLeft,
-        behavior: "instant"
-      });
-    } else {
-      this.element.scrollTop = scrollTop;
-      this.element.scrollLeft = scrollLeft;
-    }
-
-    if (!this.overlay.parentNode) {
-      document.body.appendChild(this.overlay);
-    }
-  },
-  _endPan: function GrabToPan__endPan() {
-    this.element.removeEventListener("scroll", this._endPan, true);
-    this.document.removeEventListener("mousemove", this._onmousemove, true);
-    this.document.removeEventListener("mouseup", this._endPan, true);
-    this.overlay.remove();
-  }
-};
-var matchesSelector;
-["webkitM", "mozM", "msM", "oM", "m"].some(function (prefix) {
-  var name = prefix + "atches";
-
-  if (name in document.documentElement) {
-    matchesSelector = name;
-  }
-
-  name += "Selector";
-
-  if (name in document.documentElement) {
-    matchesSelector = name;
-  }
-
-  return matchesSelector;
-});
-var isNotIEorIsIE10plus = !document.documentMode || document.documentMode > 9;
-var chrome = window.chrome;
-var isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app);
-var isSafari6plus = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent);
-
-function isLeftMouseReleased(event) {
-  if ("buttons" in event && isNotIEorIsIE10plus) {
-    return !(event.buttons & 1);
-  }
-
-  if (isChrome15OrOpera15plus || isSafari6plus) {
-    return event.which === 0;
-  }
-
-  return false;
-}
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFRenderingQueue = exports.RenderingStates = void 0;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var CLEANUP_TIMEOUT = 30000;
-var RenderingStates = {
-  INITIAL: 0,
-  RUNNING: 1,
-  PAUSED: 2,
-  FINISHED: 3
-};
-exports.RenderingStates = RenderingStates;
-
-var PDFRenderingQueue = /*#__PURE__*/function () {
-  function PDFRenderingQueue() {
-    _classCallCheck(this, PDFRenderingQueue);
-
-    this.pdfViewer = null;
-    this.pdfThumbnailViewer = null;
-    this.onIdle = null;
-    this.highestPriorityPage = null;
-    this.idleTimeout = null;
-    this.printing = false;
-    this.isThumbnailViewEnabled = false;
-  }
-
-  _createClass(PDFRenderingQueue, [{
-    key: "setViewer",
-    value: function setViewer(pdfViewer) {
-      this.pdfViewer = pdfViewer;
-    }
-  }, {
-    key: "setThumbnailViewer",
-    value: function setThumbnailViewer(pdfThumbnailViewer) {
-      this.pdfThumbnailViewer = pdfThumbnailViewer;
-    }
-  }, {
-    key: "isHighestPriority",
-    value: function isHighestPriority(view) {
-      return this.highestPriorityPage === view.renderingId;
-    }
-  }, {
-    key: "renderHighestPriority",
-    value: function renderHighestPriority(currentlyVisiblePages) {
-      if (this.idleTimeout) {
-        clearTimeout(this.idleTimeout);
-        this.idleTimeout = null;
-      }
-
-      if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
-        return;
-      }
-
-      if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
-        if (this.pdfThumbnailViewer.forceRendering()) {
-          return;
-        }
-      }
-
-      if (this.printing) {
-        return;
-      }
-
-      if (this.onIdle) {
-        this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
-      }
-    }
-  }, {
-    key: "getHighestPriority",
-    value: function getHighestPriority(visible, views, scrolledDown) {
-      var visibleViews = visible.views;
-      var numVisible = visibleViews.length;
-
-      if (numVisible === 0) {
-        return null;
-      }
-
-      for (var i = 0; i < numVisible; ++i) {
-        var view = visibleViews[i].view;
-
-        if (!this.isViewFinished(view)) {
-          return view;
-        }
-      }
-
-      if (scrolledDown) {
-        var nextPageIndex = visible.last.id;
-
-        if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
-          return views[nextPageIndex];
-        }
-      } else {
-        var previousPageIndex = visible.first.id - 2;
-
-        if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
-          return views[previousPageIndex];
-        }
-      }
-
-      return null;
-    }
-  }, {
-    key: "isViewFinished",
-    value: function isViewFinished(view) {
-      return view.renderingState === RenderingStates.FINISHED;
-    }
-  }, {
-    key: "renderView",
-    value: function renderView(view) {
-      var _this = this;
-
-      switch (view.renderingState) {
-        case RenderingStates.FINISHED:
-          return false;
-
-        case RenderingStates.PAUSED:
-          this.highestPriorityPage = view.renderingId;
-          view.resume();
-          break;
-
-        case RenderingStates.RUNNING:
-          this.highestPriorityPage = view.renderingId;
-          break;
-
-        case RenderingStates.INITIAL:
-          this.highestPriorityPage = view.renderingId;
-          view.draw()["finally"](function () {
-            _this.renderHighestPriority();
-          })["catch"](function (reason) {
-            console.error("renderView: \"".concat(reason, "\""));
-          });
-          break;
-      }
-
-      return true;
-    }
-  }]);
-
-  return PDFRenderingQueue;
-}();
-
-exports.PDFRenderingQueue = PDFRenderingQueue;
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFSidebar = exports.SidebarView = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
-var SidebarView = {
-  UNKNOWN: -1,
-  NONE: 0,
-  THUMBS: 1,
-  OUTLINE: 2,
-  ATTACHMENTS: 3,
-  LAYERS: 4
-};
-exports.SidebarView = SidebarView;
-
-var PDFSidebar = /*#__PURE__*/function () {
-  function PDFSidebar(_ref) {
-    var elements = _ref.elements,
-        pdfViewer = _ref.pdfViewer,
-        pdfThumbnailViewer = _ref.pdfThumbnailViewer,
-        eventBus = _ref.eventBus,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n,
-        _ref$disableNotificat = _ref.disableNotification,
-        disableNotification = _ref$disableNotificat === void 0 ? false : _ref$disableNotificat;
-
-    _classCallCheck(this, PDFSidebar);
-
-    this.isOpen = false;
-    this.active = SidebarView.THUMBS;
-    this.isInitialViewSet = false;
-    this.onToggled = null;
-    this.pdfViewer = pdfViewer;
-    this.pdfThumbnailViewer = pdfThumbnailViewer;
-    this.outerContainer = elements.outerContainer;
-    this.viewerContainer = elements.viewerContainer;
-    this.toggleButton = elements.toggleButton;
-    this.thumbnailButton = elements.thumbnailButton;
-    this.outlineButton = elements.outlineButton;
-    this.attachmentsButton = elements.attachmentsButton;
-    this.thumbnailView = elements.thumbnailView;
-    this.outlineView = elements.outlineView;
-    this.attachmentsView = elements.attachmentsView;
-    this.eventBus = eventBus;
-    this.l10n = l10n;
-    this._disableNotification = disableNotification;
-
-    this._addEventListeners();
-  }
-
-  _createClass(PDFSidebar, [{
-    key: "reset",
-    value: function reset() {
-      this.isInitialViewSet = false;
-
-      this._hideUINotification(null);
-
-      this.switchView(SidebarView.THUMBS);
-      this.outlineButton.disabled = false;
-      this.attachmentsButton.disabled = false;
-    }
-  }, {
-    key: "setInitialView",
-    value: function setInitialView() {
-      var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SidebarView.NONE;
-
-      if (this.isInitialViewSet) {
-        return;
-      }
-
-      this.isInitialViewSet = true;
-
-      if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {
-        this._dispatchEvent();
-
-        return;
-      }
-
-      if (!this._switchView(view, true)) {
-        this._dispatchEvent();
-      }
-    }
-  }, {
-    key: "switchView",
-    value: function switchView(view) {
-      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
-      this._switchView(view, forceOpen);
-    }
-  }, {
-    key: "_switchView",
-    value: function _switchView(view) {
-      var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var isViewChanged = view !== this.active;
-      var shouldForceRendering = false;
-
-      switch (view) {
-        case SidebarView.NONE:
-          if (this.isOpen) {
-            this.close();
-            return true;
-          }
-
-          return false;
-
-        case SidebarView.THUMBS:
-          if (this.isOpen && isViewChanged) {
-            shouldForceRendering = true;
-          }
-
-          break;
-
-        case SidebarView.OUTLINE:
-          if (this.outlineButton.disabled) {
-            return false;
-          }
-
-          break;
-
-        case SidebarView.ATTACHMENTS:
-          if (this.attachmentsButton.disabled) {
-            return false;
-          }
-
-          break;
-
-        default:
-          console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view."));
-          return false;
-      }
-
-      this.active = view;
-      this.thumbnailButton.classList.toggle("toggled", view === SidebarView.THUMBS);
-      this.outlineButton.classList.toggle("toggled", view === SidebarView.OUTLINE);
-      this.attachmentsButton.classList.toggle("toggled", view === SidebarView.ATTACHMENTS);
-      this.thumbnailView.classList.toggle("hidden", view !== SidebarView.THUMBS);
-      this.outlineView.classList.toggle("hidden", view !== SidebarView.OUTLINE);
-      this.attachmentsView.classList.toggle("hidden", view !== SidebarView.ATTACHMENTS);
-
-      if (forceOpen && !this.isOpen) {
-        this.open();
-        return true;
-      }
-
-      if (shouldForceRendering) {
-        this._updateThumbnailViewer();
-
-        this._forceRendering();
-      }
-
-      if (isViewChanged) {
-        this._dispatchEvent();
-      }
-
-      this._hideUINotification(this.active);
-
-      return isViewChanged;
-    }
-  }, {
-    key: "open",
-    value: function open() {
-      if (this.isOpen) {
-        return;
-      }
-
-      this.isOpen = true;
-      this.toggleButton.classList.add("toggled");
-      this.outerContainer.classList.add("sidebarMoving", "sidebarOpen");
-
-      if (this.active === SidebarView.THUMBS) {
-        this._updateThumbnailViewer();
-      }
-
-      this._forceRendering();
-
-      this._dispatchEvent();
-
-      this._hideUINotification(this.active);
-    }
-  }, {
-    key: "close",
-    value: function close() {
-      if (!this.isOpen) {
-        return;
-      }
-
-      this.isOpen = false;
-      this.toggleButton.classList.remove("toggled");
-      this.outerContainer.classList.add("sidebarMoving");
-      this.outerContainer.classList.remove("sidebarOpen");
-
-      this._forceRendering();
-
-      this._dispatchEvent();
-    }
-  }, {
-    key: "toggle",
-    value: function toggle() {
-      if (this.isOpen) {
-        this.close();
-      } else {
-        this.open();
-      }
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent() {
-      this.eventBus.dispatch("sidebarviewchanged", {
-        source: this,
-        view: this.visibleView
-      });
-    }
-  }, {
-    key: "_forceRendering",
-    value: function _forceRendering() {
-      if (this.onToggled) {
-        this.onToggled();
-      } else {
-        this.pdfViewer.forceRendering();
-        this.pdfThumbnailViewer.forceRendering();
-      }
-    }
-  }, {
-    key: "_updateThumbnailViewer",
-    value: function _updateThumbnailViewer() {
-      var pdfViewer = this.pdfViewer,
-          pdfThumbnailViewer = this.pdfThumbnailViewer;
-      var pagesCount = pdfViewer.pagesCount;
-
-      for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
-        var pageView = pdfViewer.getPageView(pageIndex);
-
-        if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) {
-          var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
-          thumbnailView.setImage(pageView);
-        }
-      }
-
-      pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
-    }
-  }, {
-    key: "_showUINotification",
-    value: function _showUINotification(view) {
-      var _this = this;
-
-      if (this._disableNotification) {
-        return;
-      }
-
-      this.l10n.get("toggle_sidebar_notification.title", null, "Toggle Sidebar (document contains outline/attachments)").then(function (msg) {
-        _this.toggleButton.title = msg;
-      });
-
-      if (!this.isOpen) {
-        this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
-      } else if (view === this.active) {
-        return;
-      }
-
-      switch (view) {
-        case SidebarView.OUTLINE:
-          this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);
-          break;
-
-        case SidebarView.ATTACHMENTS:
-          this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);
-          break;
-      }
-    }
-  }, {
-    key: "_hideUINotification",
-    value: function _hideUINotification(view) {
-      var _this2 = this;
-
-      if (this._disableNotification) {
-        return;
-      }
-
-      var removeNotification = function removeNotification(sidebarView) {
-        switch (sidebarView) {
-          case SidebarView.OUTLINE:
-            _this2.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);
-
-            break;
-
-          case SidebarView.ATTACHMENTS:
-            _this2.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);
-
-            break;
-        }
-      };
-
-      if (!this.isOpen && view !== null) {
-        return;
-      }
-
-      this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
-
-      if (view !== null) {
-        removeNotification(view);
-        return;
-      }
-
-      for (view in SidebarView) {
-        removeNotification(SidebarView[view]);
-      }
-
-      this.l10n.get("toggle_sidebar.title", null, "Toggle Sidebar").then(function (msg) {
-        _this2.toggleButton.title = msg;
-      });
-    }
-  }, {
-    key: "_addEventListeners",
-    value: function _addEventListeners() {
-      var _this3 = this;
-
-      this.viewerContainer.addEventListener("transitionend", function (evt) {
-        if (evt.target === _this3.viewerContainer) {
-          _this3.outerContainer.classList.remove("sidebarMoving");
-        }
-      });
-      this.toggleButton.addEventListener("click", function () {
-        _this3.toggle();
-      });
-      this.thumbnailButton.addEventListener("click", function () {
-        _this3.switchView(SidebarView.THUMBS);
-      });
-      this.outlineButton.addEventListener("click", function () {
-        _this3.switchView(SidebarView.OUTLINE);
-      });
-      this.outlineButton.addEventListener("dblclick", function () {
-        _this3.eventBus.dispatch("toggleoutlinetree", {
-          source: _this3
-        });
-      });
-      this.attachmentsButton.addEventListener("click", function () {
-        _this3.switchView(SidebarView.ATTACHMENTS);
-      });
-
-      this.eventBus._on("outlineloaded", function (evt) {
-        var outlineCount = evt.outlineCount;
-        _this3.outlineButton.disabled = !outlineCount;
-
-        if (outlineCount) {
-          _this3._showUINotification(SidebarView.OUTLINE);
-        } else if (_this3.active === SidebarView.OUTLINE) {
-          _this3.switchView(SidebarView.THUMBS);
-        }
-      });
-
-      this.eventBus._on("attachmentsloaded", function (evt) {
-        if (evt.attachmentsCount) {
-          _this3.attachmentsButton.disabled = false;
-
-          _this3._showUINotification(SidebarView.ATTACHMENTS);
-
-          return;
-        }
-
-        Promise.resolve().then(function () {
-          if (_this3.attachmentsView.hasChildNodes()) {
-            return;
-          }
-
-          _this3.attachmentsButton.disabled = true;
-
-          if (_this3.active === SidebarView.ATTACHMENTS) {
-            _this3.switchView(SidebarView.THUMBS);
-          }
-        });
-      });
-
-      this.eventBus._on("presentationmodechanged", function (evt) {
-        if (!evt.active && !evt.switchInProgress && _this3.isThumbnailViewVisible) {
-          _this3._updateThumbnailViewer();
-        }
-      });
-    }
-  }, {
-    key: "visibleView",
-    get: function get() {
-      return this.isOpen ? this.active : SidebarView.NONE;
-    }
-  }, {
-    key: "isThumbnailViewVisible",
-    get: function get() {
-      return this.isOpen && this.active === SidebarView.THUMBS;
-    }
-  }, {
-    key: "isOutlineViewVisible",
-    get: function get() {
-      return this.isOpen && this.active === SidebarView.OUTLINE;
-    }
-  }, {
-    key: "isAttachmentsViewVisible",
-    get: function get() {
-      return this.isOpen && this.active === SidebarView.ATTACHMENTS;
-    }
-  }]);
-
-  return PDFSidebar;
-}();
-
-exports.PDFSidebar = PDFSidebar;
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.OverlayManager = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var OverlayManager = /*#__PURE__*/function () {
-  function OverlayManager() {
-    _classCallCheck(this, OverlayManager);
-
-    this._overlays = {};
-    this._active = null;
-    this._keyDownBound = this._keyDown.bind(this);
-  }
-
-  _createClass(OverlayManager, [{
-    key: "register",
-    value: function () {
-      var _register = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, element) {
-        var callerCloseMethod,
-            canForceClose,
-            container,
-            _args = arguments;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;
-                canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false;
-
-                if (!(!name || !element || !(container = element.parentNode))) {
-                  _context.next = 6;
-                  break;
-                }
-
-                throw new Error("Not enough parameters.");
-
-              case 6:
-                if (!this._overlays[name]) {
-                  _context.next = 8;
-                  break;
-                }
-
-                throw new Error("The overlay is already registered.");
-
-              case 8:
-                this._overlays[name] = {
-                  element: element,
-                  container: container,
-                  callerCloseMethod: callerCloseMethod,
-                  canForceClose: canForceClose
-                };
-
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function register(_x, _x2) {
-        return _register.apply(this, arguments);
-      }
-
-      return register;
-    }()
-  }, {
-    key: "unregister",
-    value: function () {
-      var _unregister = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(name) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (this._overlays[name]) {
-                  _context2.next = 4;
-                  break;
-                }
-
-                throw new Error("The overlay does not exist.");
-
-              case 4:
-                if (!(this._active === name)) {
-                  _context2.next = 6;
-                  break;
-                }
-
-                throw new Error("The overlay cannot be removed while it is active.");
-
-              case 6:
-                delete this._overlays[name];
-
-              case 7:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function unregister(_x3) {
-        return _unregister.apply(this, arguments);
-      }
-
-      return unregister;
-    }()
-  }, {
-    key: "open",
-    value: function () {
-      var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                if (this._overlays[name]) {
-                  _context3.next = 4;
-                  break;
-                }
-
-                throw new Error("The overlay does not exist.");
-
-              case 4:
-                if (!this._active) {
-                  _context3.next = 14;
-                  break;
-                }
-
-                if (!this._overlays[name].canForceClose) {
-                  _context3.next = 9;
-                  break;
-                }
-
-                this._closeThroughCaller();
-
-                _context3.next = 14;
-                break;
-
-              case 9:
-                if (!(this._active === name)) {
-                  _context3.next = 13;
-                  break;
-                }
-
-                throw new Error("The overlay is already active.");
-
-              case 13:
-                throw new Error("Another overlay is currently active.");
-
-              case 14:
-                this._active = name;
-
-                this._overlays[this._active].element.classList.remove("hidden");
-
-                this._overlays[this._active].container.classList.remove("hidden");
-
-                window.addEventListener("keydown", this._keyDownBound);
-
-              case 18:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function open(_x4) {
-        return _open.apply(this, arguments);
-      }
-
-      return open;
-    }()
-  }, {
-    key: "close",
-    value: function () {
-      var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name) {
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                if (this._overlays[name]) {
-                  _context4.next = 4;
-                  break;
-                }
-
-                throw new Error("The overlay does not exist.");
-
-              case 4:
-                if (this._active) {
-                  _context4.next = 8;
-                  break;
-                }
-
-                throw new Error("The overlay is currently not active.");
-
-              case 8:
-                if (!(this._active !== name)) {
-                  _context4.next = 10;
-                  break;
-                }
-
-                throw new Error("Another overlay is currently active.");
-
-              case 10:
-                this._overlays[this._active].container.classList.add("hidden");
-
-                this._overlays[this._active].element.classList.add("hidden");
-
-                this._active = null;
-                window.removeEventListener("keydown", this._keyDownBound);
-
-              case 14:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
-
-      function close(_x5) {
-        return _close.apply(this, arguments);
-      }
-
-      return close;
-    }()
-  }, {
-    key: "_keyDown",
-    value: function _keyDown(evt) {
-      if (this._active && evt.keyCode === 27) {
-        this._closeThroughCaller();
-
-        evt.preventDefault();
-      }
-    }
-  }, {
-    key: "_closeThroughCaller",
-    value: function _closeThroughCaller() {
-      if (this._overlays[this._active].callerCloseMethod) {
-        this._overlays[this._active].callerCloseMethod();
-      }
-
-      if (this._active) {
-        this.close(this._active);
-      }
-    }
-  }, {
-    key: "active",
-    get: function get() {
-      return this._active;
-    }
-  }]);
-
-  return OverlayManager;
-}();
-
-exports.OverlayManager = OverlayManager;
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PasswordPrompt = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PasswordPrompt = /*#__PURE__*/function () {
-  function PasswordPrompt(options, overlayManager) {
-    var _this = this;
-
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, PasswordPrompt);
-
-    this.overlayName = options.overlayName;
-    this.container = options.container;
-    this.label = options.label;
-    this.input = options.input;
-    this.submitButton = options.submitButton;
-    this.cancelButton = options.cancelButton;
-    this.overlayManager = overlayManager;
-    this.l10n = l10n;
-    this.updateCallback = null;
-    this.reason = null;
-    this.submitButton.addEventListener("click", this.verify.bind(this));
-    this.cancelButton.addEventListener("click", this.close.bind(this));
-    this.input.addEventListener("keydown", function (e) {
-      if (e.keyCode === 13) {
-        _this.verify();
-      }
-    });
-    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true);
-  }
-
-  _createClass(PasswordPrompt, [{
-    key: "open",
-    value: function open() {
-      var _this2 = this;
-
-      this.overlayManager.open(this.overlayName).then(function () {
-        _this2.input.focus();
-
-        var promptString;
-
-        if (_this2.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD) {
-          promptString = _this2.l10n.get("password_invalid", null, "Invalid password. Please try again.");
-        } else {
-          promptString = _this2.l10n.get("password_label", null, "Enter the password to open this PDF file.");
-        }
-
-        promptString.then(function (msg) {
-          _this2.label.textContent = msg;
-        });
-      });
-    }
-  }, {
-    key: "close",
-    value: function close() {
-      var _this3 = this;
-
-      this.overlayManager.close(this.overlayName).then(function () {
-        _this3.input.value = "";
-      });
-    }
-  }, {
-    key: "verify",
-    value: function verify() {
-      var password = this.input.value;
-
-      if (password && password.length > 0) {
-        this.close();
-        this.updateCallback(password);
-      }
-    }
-  }, {
-    key: "setUpdateCallback",
-    value: function setUpdateCallback(updateCallback, reason) {
-      this.updateCallback = updateCallback;
-      this.reason = reason;
-    }
-  }]);
-
-  return PasswordPrompt;
-}();
-
-exports.PasswordPrompt = PasswordPrompt;
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFAttachmentViewer = void 0;
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PDFAttachmentViewer = /*#__PURE__*/function () {
-  function PDFAttachmentViewer(_ref) {
-    var container = _ref.container,
-        eventBus = _ref.eventBus,
-        downloadManager = _ref.downloadManager;
-
-    _classCallCheck(this, PDFAttachmentViewer);
-
-    this.container = container;
-    this.eventBus = eventBus;
-    this.downloadManager = downloadManager;
-    this.reset();
-
-    this.eventBus._on("fileattachmentannotation", this._appendAttachment.bind(this));
-  }
-
-  _createClass(PDFAttachmentViewer, [{
-    key: "reset",
-    value: function reset() {
-      var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      this.attachments = null;
-      this.container.textContent = "";
-
-      if (!keepRenderedCapability) {
-        this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)();
-      }
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent(attachmentsCount) {
-      this._renderedCapability.resolve();
-
-      this.eventBus.dispatch("attachmentsloaded", {
-        source: this,
-        attachmentsCount: attachmentsCount
-      });
-    }
-  }, {
-    key: "_bindPdfLink",
-    value: function _bindPdfLink(button, content, filename) {
-      if (this.downloadManager.disableCreateObjectURL) {
-        throw new Error('bindPdfLink: Unsupported "disableCreateObjectURL" value.');
-      }
-
-      var blobUrl;
-
-      button.onclick = function () {
-        if (!blobUrl) {
-          blobUrl = (0, _pdfjsLib.createObjectURL)(content, "application/pdf");
-        }
-
-        var viewerUrl;
-        viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename);
-        window.open(viewerUrl);
-        return false;
-      };
-    }
-  }, {
-    key: "_bindLink",
-    value: function _bindLink(button, content, filename) {
-      var _this = this;
-
-      button.onclick = function () {
-        _this.downloadManager.downloadData(content, filename, "");
-
-        return false;
-      };
-    }
-  }, {
-    key: "render",
-    value: function render(_ref2) {
-      var attachments = _ref2.attachments,
-          _ref2$keepRenderedCap = _ref2.keepRenderedCapability,
-          keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap;
-      var attachmentsCount = 0;
-
-      if (this.attachments) {
-        this.reset(keepRenderedCapability === true);
-      }
-
-      this.attachments = attachments || null;
-
-      if (!attachments) {
-        this._dispatchEvent(attachmentsCount);
-
-        return;
-      }
-
-      var names = Object.keys(attachments).sort(function (a, b) {
-        return a.toLowerCase().localeCompare(b.toLowerCase());
-      });
-      attachmentsCount = names.length;
-
-      for (var i = 0; i < attachmentsCount; i++) {
-        var item = attachments[names[i]];
-        var filename = (0, _pdfjsLib.removeNullCharacters)((0, _pdfjsLib.getFilenameFromUrl)(item.filename));
-        var div = document.createElement("div");
-        div.className = "attachmentsItem";
-        var button = document.createElement("button");
-        button.textContent = filename;
-
-        if (/\.pdf$/i.test(filename) && !this.downloadManager.disableCreateObjectURL) {
-          this._bindPdfLink(button, item.content, filename);
-        } else {
-          this._bindLink(button, item.content, filename);
-        }
-
-        div.appendChild(button);
-        this.container.appendChild(div);
-      }
-
-      this._dispatchEvent(attachmentsCount);
-    }
-  }, {
-    key: "_appendAttachment",
-    value: function _appendAttachment(_ref3) {
-      var _this2 = this;
-
-      var id = _ref3.id,
-          filename = _ref3.filename,
-          content = _ref3.content;
-
-      this._renderedCapability.promise.then(function () {
-        var attachments = _this2.attachments;
-
-        if (!attachments) {
-          attachments = Object.create(null);
-        } else {
-          for (var name in attachments) {
-            if (id === name) {
-              return;
-            }
-          }
-        }
-
-        attachments[id] = {
-          filename: filename,
-          content: content
-        };
-
-        _this2.render({
-          attachments: attachments,
-          keepRenderedCapability: true
-        });
-      });
-    }
-  }]);
-
-  return PDFAttachmentViewer;
-}();
-
-exports.PDFAttachmentViewer = PDFAttachmentViewer;
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFDocumentProperties = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _ui_utils = __webpack_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_FIELD_CONTENT = "-";
-var NON_METRIC_LOCALES = ["en-us", "en-lr", "my"];
-var US_PAGE_NAMES = {
-  "8.5x11": "Letter",
-  "8.5x14": "Legal"
-};
-var METRIC_PAGE_NAMES = {
-  "297x420": "A3",
-  "210x297": "A4"
-};
-
-function getPageName(size, isPortrait, pageNames) {
-  var width = isPortrait ? size.width : size.height;
-  var height = isPortrait ? size.height : size.width;
-  return pageNames["".concat(width, "x").concat(height)];
-}
-
-var PDFDocumentProperties = /*#__PURE__*/function () {
-  function PDFDocumentProperties(_ref, overlayManager, eventBus) {
-    var _this = this;
-
-    var overlayName = _ref.overlayName,
-        fields = _ref.fields,
-        container = _ref.container,
-        closeButton = _ref.closeButton;
-    var l10n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, PDFDocumentProperties);
-
-    this.overlayName = overlayName;
-    this.fields = fields;
-    this.container = container;
-    this.overlayManager = overlayManager;
-    this.l10n = l10n;
-
-    this._reset();
-
-    if (closeButton) {
-      closeButton.addEventListener("click", this.close.bind(this));
-    }
-
-    this.overlayManager.register(this.overlayName, this.container, this.close.bind(this));
-
-    if (eventBus) {
-      eventBus._on("pagechanging", function (evt) {
-        _this._currentPageNumber = evt.pageNumber;
-      });
-
-      eventBus._on("rotationchanging", function (evt) {
-        _this._pagesRotation = evt.pagesRotation;
-      });
-    }
-
-    this._isNonMetricLocale = true;
-    l10n.getLanguage().then(function (locale) {
-      _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);
-    });
-  }
-
-  _createClass(PDFDocumentProperties, [{
-    key: "open",
-    value: function open() {
-      var _this2 = this;
-
-      var freezeFieldData = function freezeFieldData(data) {
-        Object.defineProperty(_this2, "fieldData", {
-          value: Object.freeze(data),
-          writable: false,
-          enumerable: true,
-          configurable: true
-        });
-      };
-
-      Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]).then(function () {
-        var currentPageNumber = _this2._currentPageNumber;
-        var pagesRotation = _this2._pagesRotation;
-
-        if (_this2.fieldData && currentPageNumber === _this2.fieldData["_currentPageNumber"] && pagesRotation === _this2.fieldData["_pagesRotation"]) {
-          _this2._updateUI();
-
-          return;
-        }
-
-        _this2.pdfDocument.getMetadata().then(function (_ref2) {
-          var info = _ref2.info,
-              metadata = _ref2.metadata,
-              contentDispositionFilename = _ref2.contentDispositionFilename;
-          return Promise.all([info, metadata, contentDispositionFilename || (0, _ui_utils.getPDFFileNameFromURL)(_this2.url || ""), _this2._parseFileSize(_this2.maybeFileSize), _this2._parseDate(info.CreationDate), _this2._parseDate(info.ModDate), _this2.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) {
-            return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation);
-          }), _this2._parseLinearization(info.IsLinearized)]);
-        }).then(function (_ref3) {
-          var _ref4 = _slicedToArray(_ref3, 8),
-              info = _ref4[0],
-              metadata = _ref4[1],
-              fileName = _ref4[2],
-              fileSize = _ref4[3],
-              creationDate = _ref4[4],
-              modDate = _ref4[5],
-              pageSize = _ref4[6],
-              isLinearized = _ref4[7];
-
-          freezeFieldData({
-            fileName: fileName,
-            fileSize: fileSize,
-            title: info.Title,
-            author: info.Author,
-            subject: info.Subject,
-            keywords: info.Keywords,
-            creationDate: creationDate,
-            modificationDate: modDate,
-            creator: info.Creator,
-            producer: info.Producer,
-            version: info.PDFFormatVersion,
-            pageCount: _this2.pdfDocument.numPages,
-            pageSize: pageSize,
-            linearized: isLinearized,
-            _currentPageNumber: currentPageNumber,
-            _pagesRotation: pagesRotation
-          });
-
-          _this2._updateUI();
-
-          return _this2.pdfDocument.getDownloadInfo();
-        }).then(function (_ref5) {
-          var length = _ref5.length;
-          _this2.maybeFileSize = length;
-          return _this2._parseFileSize(length);
-        }).then(function (fileSize) {
-          if (fileSize === _this2.fieldData["fileSize"]) {
-            return;
-          }
-
-          var data = Object.assign(Object.create(null), _this2.fieldData);
-          data["fileSize"] = fileSize;
-          freezeFieldData(data);
-
-          _this2._updateUI();
-        });
-      });
-    }
-  }, {
-    key: "close",
-    value: function close() {
-      this.overlayManager.close(this.overlayName);
-    }
-  }, {
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-
-      if (this.pdfDocument) {
-        this._reset();
-
-        this._updateUI(true);
-      }
-
-      if (!pdfDocument) {
-        return;
-      }
-
-      this.pdfDocument = pdfDocument;
-      this.url = url;
-
-      this._dataAvailableCapability.resolve();
-    }
-  }, {
-    key: "setFileSize",
-    value: function setFileSize(fileSize) {
-      if (Number.isInteger(fileSize) && fileSize > 0) {
-        this.maybeFileSize = fileSize;
-      }
-    }
-  }, {
-    key: "_reset",
-    value: function _reset() {
-      this.pdfDocument = null;
-      this.url = null;
-      this.maybeFileSize = 0;
-      delete this.fieldData;
-      this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this._currentPageNumber = 1;
-      this._pagesRotation = 0;
-    }
-  }, {
-    key: "_updateUI",
-    value: function _updateUI() {
-      var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (reset || !this.fieldData) {
-        for (var id in this.fields) {
-          this.fields[id].textContent = DEFAULT_FIELD_CONTENT;
-        }
-
-        return;
-      }
-
-      if (this.overlayManager.active !== this.overlayName) {
-        return;
-      }
-
-      for (var _id in this.fields) {
-        var content = this.fieldData[_id];
-        this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT;
-      }
-    }
-  }, {
-    key: "_parseFileSize",
-    value: function () {
-      var _parseFileSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var fileSize,
-            kb,
-            _args = arguments;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                fileSize = _args.length > 0 && _args[0] !== undefined ? _args[0] : 0;
-                kb = fileSize / 1024;
-
-                if (kb) {
-                  _context.next = 6;
-                  break;
-                }
-
-                return _context.abrupt("return", undefined);
-
-              case 6:
-                if (!(kb < 1024)) {
-                  _context.next = 8;
-                  break;
-                }
-
-                return _context.abrupt("return", this.l10n.get("document_properties_kb", {
-                  size_kb: (+kb.toPrecision(3)).toLocaleString(),
-                  size_b: fileSize.toLocaleString()
-                }, "{{size_kb}} KB ({{size_b}} bytes)"));
-
-              case 8:
-                return _context.abrupt("return", this.l10n.get("document_properties_mb", {
-                  size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),
-                  size_b: fileSize.toLocaleString()
-                }, "{{size_mb}} MB ({{size_b}} bytes)"));
-
-              case 9:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function _parseFileSize() {
-        return _parseFileSize2.apply(this, arguments);
-      }
-
-      return _parseFileSize;
-    }()
-  }, {
-    key: "_parsePageSize",
-    value: function () {
-      var _parsePageSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pageSizeInches, pagesRotation) {
-        var _this3 = this;
-
-        var isPortrait, sizeInches, sizeMillimeters, pageName, rawName, exactMillimeters, intMillimeters;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                if (pageSizeInches) {
-                  _context2.next = 2;
-                  break;
-                }
-
-                return _context2.abrupt("return", undefined);
-
-              case 2:
-                if (pagesRotation % 180 !== 0) {
-                  pageSizeInches = {
-                    width: pageSizeInches.height,
-                    height: pageSizeInches.width
-                  };
-                }
-
-                isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches);
-                sizeInches = {
-                  width: Math.round(pageSizeInches.width * 100) / 100,
-                  height: Math.round(pageSizeInches.height * 100) / 100
-                };
-                sizeMillimeters = {
-                  width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,
-                  height: Math.round(pageSizeInches.height * 25.4 * 10) / 10
-                };
-                pageName = null;
-                rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);
-
-                if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) {
-                  exactMillimeters = {
-                    width: pageSizeInches.width * 25.4,
-                    height: pageSizeInches.height * 25.4
-                  };
-                  intMillimeters = {
-                    width: Math.round(sizeMillimeters.width),
-                    height: Math.round(sizeMillimeters.height)
-                  };
-
-                  if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) {
-                    rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);
-
-                    if (rawName) {
-                      sizeInches = {
-                        width: Math.round(intMillimeters.width / 25.4 * 100) / 100,
-                        height: Math.round(intMillimeters.height / 25.4 * 100) / 100
-                      };
-                      sizeMillimeters = intMillimeters;
-                    }
-                  }
-                }
-
-                if (rawName) {
-                  pageName = this.l10n.get("document_properties_page_size_name_" + rawName.toLowerCase(), null, rawName);
-                }
-
-                return _context2.abrupt("return", Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_" + (this._isNonMetricLocale ? "inches" : "millimeters"), null, this._isNonMetricLocale ? "in" : "mm"), pageName, this.l10n.get("document_properties_page_size_orientation_" + (isPortrait ? "portrait" : "landscape"), null, isPortrait ? "portrait" : "landscape")]).then(function (_ref6) {
-                  var _ref7 = _slicedToArray(_ref6, 4),
-                      _ref7$ = _ref7[0],
-                      width = _ref7$.width,
-                      height = _ref7$.height,
-                      unit = _ref7[1],
-                      name = _ref7[2],
-                      orientation = _ref7[3];
-
-                  return _this3.l10n.get("document_properties_page_size_dimension_" + (name ? "name_" : "") + "string", {
-                    width: width.toLocaleString(),
-                    height: height.toLocaleString(),
-                    unit: unit,
-                    name: name,
-                    orientation: orientation
-                  }, "{{width}} × {{height}} {{unit}} (" + (name ? "{{name}}, " : "") + "{{orientation}})");
-                }));
-
-              case 11:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function _parsePageSize(_x, _x2) {
-        return _parsePageSize2.apply(this, arguments);
-      }
-
-      return _parsePageSize;
-    }()
-  }, {
-    key: "_parseDate",
-    value: function () {
-      var _parseDate2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(inputDate) {
-        var dateObject;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate);
-
-                if (dateObject) {
-                  _context3.next = 3;
-                  break;
-                }
-
-                return _context3.abrupt("return", undefined);
-
-              case 3:
-                return _context3.abrupt("return", this.l10n.get("document_properties_date_string", {
-                  date: dateObject.toLocaleDateString(),
-                  time: dateObject.toLocaleTimeString()
-                }, "{{date}}, {{time}}"));
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function _parseDate(_x3) {
-        return _parseDate2.apply(this, arguments);
-      }
-
-      return _parseDate;
-    }()
-  }, {
-    key: "_parseLinearization",
-    value: function _parseLinearization(isLinearized) {
-      return this.l10n.get("document_properties_linearized_" + (isLinearized ? "yes" : "no"), null, isLinearized ? "Yes" : "No");
-    }
-  }]);
-
-  return PDFDocumentProperties;
-}();
-
-exports.PDFDocumentProperties = PDFDocumentProperties;
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFFindBar = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_find_controller = __webpack_require__(18);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var MATCHES_COUNT_LIMIT = 1000;
-
-var PDFFindBar = /*#__PURE__*/function () {
-  function PDFFindBar(options, eventBus) {
-    var _this = this;
-
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, PDFFindBar);
-
-    this.opened = false;
-    this.bar = options.bar || null;
-    this.toggleButton = options.toggleButton || null;
-    this.findField = options.findField || null;
-    this.highlightAll = options.highlightAllCheckbox || null;
-    this.caseSensitive = options.caseSensitiveCheckbox || null;
-    this.entireWord = options.entireWordCheckbox || null;
-    this.findMsg = options.findMsg || null;
-    this.findResultsCount = options.findResultsCount || null;
-    this.findPreviousButton = options.findPreviousButton || null;
-    this.findNextButton = options.findNextButton || null;
-    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.l10n = l10n;
-    this.toggleButton.addEventListener("click", function () {
-      _this.toggle();
-    });
-    this.findField.addEventListener("input", function () {
-      _this.dispatchEvent("");
-    });
-    this.bar.addEventListener("keydown", function (e) {
-      switch (e.keyCode) {
-        case 13:
-          if (e.target === _this.findField) {
-            _this.dispatchEvent("again", e.shiftKey);
-          }
-
-          break;
-
-        case 27:
-          _this.close();
-
-          break;
-      }
-    });
-    this.findPreviousButton.addEventListener("click", function () {
-      _this.dispatchEvent("again", true);
-    });
-    this.findNextButton.addEventListener("click", function () {
-      _this.dispatchEvent("again", false);
-    });
-    this.highlightAll.addEventListener("click", function () {
-      _this.dispatchEvent("highlightallchange");
-    });
-    this.caseSensitive.addEventListener("click", function () {
-      _this.dispatchEvent("casesensitivitychange");
-    });
-    this.entireWord.addEventListener("click", function () {
-      _this.dispatchEvent("entirewordchange");
-    });
-
-    this.eventBus._on("resize", this._adjustWidth.bind(this));
-  }
-
-  _createClass(PDFFindBar, [{
-    key: "reset",
-    value: function reset() {
-      this.updateUIState();
-    }
-  }, {
-    key: "dispatchEvent",
-    value: function dispatchEvent(type, findPrev) {
-      this.eventBus.dispatch("find", {
-        source: this,
-        type: type,
-        query: this.findField.value,
-        phraseSearch: true,
-        caseSensitive: this.caseSensitive.checked,
-        entireWord: this.entireWord.checked,
-        highlightAll: this.highlightAll.checked,
-        findPrevious: findPrev
-      });
-    }
-  }, {
-    key: "updateUIState",
-    value: function updateUIState(state, previous, matchesCount) {
-      var _this2 = this;
-
-      var notFound = false;
-      var findMsg = "";
-      var status = "";
-
-      switch (state) {
-        case _pdf_find_controller.FindState.FOUND:
-          break;
-
-        case _pdf_find_controller.FindState.PENDING:
-          status = "pending";
-          break;
-
-        case _pdf_find_controller.FindState.NOT_FOUND:
-          findMsg = this.l10n.get("find_not_found", null, "Phrase not found");
-          notFound = true;
-          break;
-
-        case _pdf_find_controller.FindState.WRAPPED:
-          if (previous) {
-            findMsg = this.l10n.get("find_reached_top", null, "Reached top of document, continued from bottom");
-          } else {
-            findMsg = this.l10n.get("find_reached_bottom", null, "Reached end of document, continued from top");
-          }
-
-          break;
-      }
-
-      this.findField.classList.toggle("notFound", notFound);
-      this.findField.setAttribute("data-status", status);
-      Promise.resolve(findMsg).then(function (msg) {
-        _this2.findMsg.textContent = msg;
-
-        _this2._adjustWidth();
-      });
-      this.updateResultsCount(matchesCount);
-    }
-  }, {
-    key: "updateResultsCount",
-    value: function updateResultsCount() {
-      var _this3 = this;
-
-      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-          _ref$current = _ref.current,
-          current = _ref$current === void 0 ? 0 : _ref$current,
-          _ref$total = _ref.total,
-          total = _ref$total === void 0 ? 0 : _ref$total;
-
-      if (!this.findResultsCount) {
-        return;
-      }
-
-      var limit = MATCHES_COUNT_LIMIT;
-      var matchesCountMsg = "";
-
-      if (total > 0) {
-        if (total > limit) {
-          matchesCountMsg = this.l10n.get("find_match_count_limit", {
-            limit: limit
-          }, "More than {{limit}} match" + (limit !== 1 ? "es" : ""));
-        } else {
-          matchesCountMsg = this.l10n.get("find_match_count", {
-            current: current,
-            total: total
-          }, "{{current}} of {{total}} match" + (total !== 1 ? "es" : ""));
-        }
-      }
-
-      Promise.resolve(matchesCountMsg).then(function (msg) {
-        _this3.findResultsCount.textContent = msg;
-
-        _this3.findResultsCount.classList.toggle("hidden", !total);
-
-        _this3._adjustWidth();
-      });
-    }
-  }, {
-    key: "open",
-    value: function open() {
-      if (!this.opened) {
-        this.opened = true;
-        this.toggleButton.classList.add("toggled");
-        this.bar.classList.remove("hidden");
-      }
-
-      this.findField.select();
-      this.findField.focus();
-
-      this._adjustWidth();
-    }
-  }, {
-    key: "close",
-    value: function close() {
-      if (!this.opened) {
-        return;
-      }
-
-      this.opened = false;
-      this.toggleButton.classList.remove("toggled");
-      this.bar.classList.add("hidden");
-      this.eventBus.dispatch("findbarclose", {
-        source: this
-      });
-    }
-  }, {
-    key: "toggle",
-    value: function toggle() {
-      if (this.opened) {
-        this.close();
-      } else {
-        this.open();
-      }
-    }
-  }, {
-    key: "_adjustWidth",
-    value: function _adjustWidth() {
-      if (!this.opened) {
-        return;
-      }
-
-      this.bar.classList.remove("wrapContainers");
-      var findbarHeight = this.bar.clientHeight;
-      var inputContainerHeight = this.bar.firstElementChild.clientHeight;
-
-      if (findbarHeight > inputContainerHeight) {
-        this.bar.classList.add("wrapContainers");
-      }
-    }
-  }]);
-
-  return PDFFindBar;
-}();
-
-exports.PDFFindBar = PDFFindBar;
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFFindController = exports.FindState = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _pdf_find_utils = __webpack_require__(19);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var FindState = {
-  FOUND: 0,
-  NOT_FOUND: 1,
-  WRAPPED: 2,
-  PENDING: 3
-};
-exports.FindState = FindState;
-var FIND_TIMEOUT = 250;
-var MATCH_SCROLL_OFFSET_TOP = -50;
-var MATCH_SCROLL_OFFSET_LEFT = -400;
-var CHARACTERS_TO_NORMALIZE = {
-  "\u2018": "'",
-  "\u2019": "'",
-  "\u201A": "'",
-  "\u201B": "'",
-  "\u201C": '"',
-  "\u201D": '"',
-  "\u201E": '"',
-  "\u201F": '"',
-  "\xBC": "1/4",
-  "\xBD": "1/2",
-  "\xBE": "3/4"
-};
-var normalizationRegex = null;
-
-function normalize(text) {
-  if (!normalizationRegex) {
-    var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
-    normalizationRegex = new RegExp("[".concat(replace, "]"), "g");
-  }
-
-  return text.replace(normalizationRegex, function (ch) {
-    return CHARACTERS_TO_NORMALIZE[ch];
-  });
-}
-
-var PDFFindController = /*#__PURE__*/function () {
-  function PDFFindController(_ref) {
-    var linkService = _ref.linkService,
-        eventBus = _ref.eventBus;
-
-    _classCallCheck(this, PDFFindController);
-
-    this._linkService = linkService;
-    this._eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
-
-    this._reset();
-
-    eventBus._on("findbarclose", this._onFindBarClose.bind(this));
-  }
-
-  _createClass(PDFFindController, [{
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      if (this._pdfDocument) {
-        this._reset();
-      }
-
-      if (!pdfDocument) {
-        return;
-      }
-
-      this._pdfDocument = pdfDocument;
-
-      this._firstPageCapability.resolve();
-    }
-  }, {
-    key: "executeCommand",
-    value: function executeCommand(cmd, state) {
-      var _this = this;
-
-      if (!state) {
-        return;
-      }
-
-      var pdfDocument = this._pdfDocument;
-
-      if (this._state === null || this._shouldDirtyMatch(cmd, state)) {
-        this._dirtyMatch = true;
-      }
-
-      this._state = state;
-
-      if (cmd !== "findhighlightallchange") {
-        this._updateUIState(FindState.PENDING);
-      }
-
-      this._firstPageCapability.promise.then(function () {
-        if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {
-          return;
-        }
-
-        _this._extractText();
-
-        var findbarClosed = !_this._highlightMatches;
-        var pendingTimeout = !!_this._findTimeout;
-
-        if (_this._findTimeout) {
-          clearTimeout(_this._findTimeout);
-          _this._findTimeout = null;
-        }
-
-        if (cmd === "find") {
-          _this._findTimeout = setTimeout(function () {
-            _this._nextMatch();
-
-            _this._findTimeout = null;
-          }, FIND_TIMEOUT);
-        } else if (_this._dirtyMatch) {
-          _this._nextMatch();
-        } else if (cmd === "findagain") {
-          _this._nextMatch();
-
-          if (findbarClosed && _this._state.highlightAll) {
-            _this._updateAllPages();
-          }
-        } else if (cmd === "findhighlightallchange") {
-          if (pendingTimeout) {
-            _this._nextMatch();
-          } else {
-            _this._highlightMatches = true;
-          }
-
-          _this._updateAllPages();
-        } else {
-          _this._nextMatch();
-        }
-      });
-    }
-  }, {
-    key: "scrollMatchIntoView",
-    value: function scrollMatchIntoView(_ref2) {
-      var _ref2$element = _ref2.element,
-          element = _ref2$element === void 0 ? null : _ref2$element,
-          _ref2$pageIndex = _ref2.pageIndex,
-          pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,
-          _ref2$matchIndex = _ref2.matchIndex,
-          matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;
-
-      if (!this._scrollMatches || !element) {
-        return;
-      } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
-        return;
-      } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
-        return;
-      }
-
-      this._scrollMatches = false;
-      var spot = {
-        top: MATCH_SCROLL_OFFSET_TOP,
-        left: MATCH_SCROLL_OFFSET_LEFT
-      };
-      (0, _ui_utils.scrollIntoView)(element, spot, true);
-    }
-  }, {
-    key: "_reset",
-    value: function _reset() {
-      this._highlightMatches = false;
-      this._scrollMatches = false;
-      this._pdfDocument = null;
-      this._pageMatches = [];
-      this._pageMatchesLength = [];
-      this._state = null;
-      this._selected = {
-        pageIdx: -1,
-        matchIdx: -1
-      };
-      this._offset = {
-        pageIdx: null,
-        matchIdx: null,
-        wrapped: false
-      };
-      this._extractTextPromises = [];
-      this._pageContents = [];
-      this._matchesCountTotal = 0;
-      this._pagesToSearch = null;
-      this._pendingFindMatches = Object.create(null);
-      this._resumePageIdx = null;
-      this._dirtyMatch = false;
-      clearTimeout(this._findTimeout);
-      this._findTimeout = null;
-      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
-    }
-  }, {
-    key: "_shouldDirtyMatch",
-    value: function _shouldDirtyMatch(cmd, state) {
-      if (state.query !== this._state.query) {
-        return true;
-      }
-
-      switch (cmd) {
-        case "findagain":
-          var pageNumber = this._selected.pageIdx + 1;
-          var linkService = this._linkService;
-
-          if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {
-            return true;
-          }
-
-          return false;
-
-        case "findhighlightallchange":
-          return false;
-      }
-
-      return true;
-    }
-  }, {
-    key: "_prepareMatches",
-    value: function _prepareMatches(matchesWithLength, matches, matchesLength) {
-      function isSubTerm(currentIndex) {
-        var currentElem = matchesWithLength[currentIndex];
-        var nextElem = matchesWithLength[currentIndex + 1];
-
-        if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {
-          currentElem.skipped = true;
-          return true;
-        }
-
-        for (var i = currentIndex - 1; i >= 0; i--) {
-          var prevElem = matchesWithLength[i];
-
-          if (prevElem.skipped) {
-            continue;
-          }
-
-          if (prevElem.match + prevElem.matchLength < currentElem.match) {
-            break;
-          }
-
-          if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {
-            currentElem.skipped = true;
-            return true;
-          }
-        }
-
-        return false;
-      }
-
-      matchesWithLength.sort(function (a, b) {
-        return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;
-      });
-
-      for (var i = 0, len = matchesWithLength.length; i < len; i++) {
-        if (isSubTerm(i)) {
-          continue;
-        }
-
-        matches.push(matchesWithLength[i].match);
-        matchesLength.push(matchesWithLength[i].matchLength);
-      }
-    }
-  }, {
-    key: "_isEntireWord",
-    value: function _isEntireWord(content, startIdx, length) {
-      if (startIdx > 0) {
-        var first = content.charCodeAt(startIdx);
-        var limit = content.charCodeAt(startIdx - 1);
-
-        if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
-          return false;
-        }
-      }
-
-      var endIdx = startIdx + length - 1;
-
-      if (endIdx < content.length - 1) {
-        var last = content.charCodeAt(endIdx);
-
-        var _limit = content.charCodeAt(endIdx + 1);
-
-        if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {
-          return false;
-        }
-      }
-
-      return true;
-    }
-  }, {
-    key: "_calculatePhraseMatch",
-    value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {
-      var matches = [];
-      var queryLen = query.length;
-      var matchIdx = -queryLen;
-
-      while (true) {
-        matchIdx = pageContent.indexOf(query, matchIdx + queryLen);
-
-        if (matchIdx === -1) {
-          break;
-        }
-
-        if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {
-          continue;
-        }
-
-        matches.push(matchIdx);
-      }
-
-      this._pageMatches[pageIndex] = matches;
-    }
-  }, {
-    key: "_calculateWordMatch",
-    value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {
-      var matchesWithLength = [];
-      var queryArray = query.match(/\S+/g);
-
-      for (var i = 0, len = queryArray.length; i < len; i++) {
-        var subquery = queryArray[i];
-        var subqueryLen = subquery.length;
-        var matchIdx = -subqueryLen;
-
-        while (true) {
-          matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);
-
-          if (matchIdx === -1) {
-            break;
-          }
-
-          if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {
-            continue;
-          }
-
-          matchesWithLength.push({
-            match: matchIdx,
-            matchLength: subqueryLen,
-            skipped: false
-          });
-        }
-      }
-
-      this._pageMatchesLength[pageIndex] = [];
-      this._pageMatches[pageIndex] = [];
-
-      this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);
-    }
-  }, {
-    key: "_calculateMatch",
-    value: function _calculateMatch(pageIndex) {
-      var pageContent = this._pageContents[pageIndex];
-      var query = this._query;
-      var _this$_state = this._state,
-          caseSensitive = _this$_state.caseSensitive,
-          entireWord = _this$_state.entireWord,
-          phraseSearch = _this$_state.phraseSearch;
-
-      if (query.length === 0) {
-        return;
-      }
-
-      if (!caseSensitive) {
-        pageContent = pageContent.toLowerCase();
-        query = query.toLowerCase();
-      }
-
-      if (phraseSearch) {
-        this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);
-      } else {
-        this._calculateWordMatch(query, pageIndex, pageContent, entireWord);
-      }
-
-      if (this._state.highlightAll) {
-        this._updatePage(pageIndex);
-      }
-
-      if (this._resumePageIdx === pageIndex) {
-        this._resumePageIdx = null;
-
-        this._nextPageMatch();
-      }
-
-      var pageMatchesCount = this._pageMatches[pageIndex].length;
-
-      if (pageMatchesCount > 0) {
-        this._matchesCountTotal += pageMatchesCount;
-
-        this._updateUIResultsCount();
-      }
-    }
-  }, {
-    key: "_extractText",
-    value: function _extractText() {
-      var _this2 = this;
-
-      if (this._extractTextPromises.length > 0) {
-        return;
-      }
-
-      var promise = Promise.resolve();
-
-      var _loop = function _loop(i, ii) {
-        var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
-        _this2._extractTextPromises[i] = extractTextCapability.promise;
-        promise = promise.then(function () {
-          return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {
-            return pdfPage.getTextContent({
-              normalizeWhitespace: true
-            });
-          }).then(function (textContent) {
-            var textItems = textContent.items;
-            var strBuf = [];
-
-            for (var j = 0, jj = textItems.length; j < jj; j++) {
-              strBuf.push(textItems[j].str);
-            }
-
-            _this2._pageContents[i] = normalize(strBuf.join(""));
-            extractTextCapability.resolve(i);
-          }, function (reason) {
-            console.error("Unable to get text content for page ".concat(i + 1), reason);
-            _this2._pageContents[i] = "";
-            extractTextCapability.resolve(i);
-          });
-        });
-      };
-
-      for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
-        _loop(i, ii);
-      }
-    }
-  }, {
-    key: "_updatePage",
-    value: function _updatePage(index) {
-      if (this._scrollMatches && this._selected.pageIdx === index) {
-        this._linkService.page = index + 1;
-      }
-
-      this._eventBus.dispatch("updatetextlayermatches", {
-        source: this,
-        pageIndex: index
-      });
-    }
-  }, {
-    key: "_updateAllPages",
-    value: function _updateAllPages() {
-      this._eventBus.dispatch("updatetextlayermatches", {
-        source: this,
-        pageIndex: -1
-      });
-    }
-  }, {
-    key: "_nextMatch",
-    value: function _nextMatch() {
-      var _this3 = this;
-
-      var previous = this._state.findPrevious;
-      var currentPageIndex = this._linkService.page - 1;
-      var numPages = this._linkService.pagesCount;
-      this._highlightMatches = true;
-
-      if (this._dirtyMatch) {
-        this._dirtyMatch = false;
-        this._selected.pageIdx = this._selected.matchIdx = -1;
-        this._offset.pageIdx = currentPageIndex;
-        this._offset.matchIdx = null;
-        this._offset.wrapped = false;
-        this._resumePageIdx = null;
-        this._pageMatches.length = 0;
-        this._pageMatchesLength.length = 0;
-        this._matchesCountTotal = 0;
-
-        this._updateAllPages();
-
-        for (var i = 0; i < numPages; i++) {
-          if (this._pendingFindMatches[i] === true) {
-            continue;
-          }
-
-          this._pendingFindMatches[i] = true;
-
-          this._extractTextPromises[i].then(function (pageIdx) {
-            delete _this3._pendingFindMatches[pageIdx];
-
-            _this3._calculateMatch(pageIdx);
-          });
-        }
-      }
-
-      if (this._query === "") {
-        this._updateUIState(FindState.FOUND);
-
-        return;
-      }
-
-      if (this._resumePageIdx) {
-        return;
-      }
-
-      var offset = this._offset;
-      this._pagesToSearch = numPages;
-
-      if (offset.matchIdx !== null) {
-        var numPageMatches = this._pageMatches[offset.pageIdx].length;
-
-        if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
-          offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;
-
-          this._updateMatch(true);
-
-          return;
-        }
-
-        this._advanceOffsetPage(previous);
-      }
-
-      this._nextPageMatch();
-    }
-  }, {
-    key: "_matchesReady",
-    value: function _matchesReady(matches) {
-      var offset = this._offset;
-      var numMatches = matches.length;
-      var previous = this._state.findPrevious;
-
-      if (numMatches) {
-        offset.matchIdx = previous ? numMatches - 1 : 0;
-
-        this._updateMatch(true);
-
-        return true;
-      }
-
-      this._advanceOffsetPage(previous);
-
-      if (offset.wrapped) {
-        offset.matchIdx = null;
-
-        if (this._pagesToSearch < 0) {
-          this._updateMatch(false);
-
-          return true;
-        }
-      }
-
-      return false;
-    }
-  }, {
-    key: "_nextPageMatch",
-    value: function _nextPageMatch() {
-      if (this._resumePageIdx !== null) {
-        console.error("There can only be one pending page.");
-      }
-
-      var matches = null;
-
-      do {
-        var pageIdx = this._offset.pageIdx;
-        matches = this._pageMatches[pageIdx];
-
-        if (!matches) {
-          this._resumePageIdx = pageIdx;
-          break;
-        }
-      } while (!this._matchesReady(matches));
-    }
-  }, {
-    key: "_advanceOffsetPage",
-    value: function _advanceOffsetPage(previous) {
-      var offset = this._offset;
-      var numPages = this._linkService.pagesCount;
-      offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
-      offset.matchIdx = null;
-      this._pagesToSearch--;
-
-      if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
-        offset.pageIdx = previous ? numPages - 1 : 0;
-        offset.wrapped = true;
-      }
-    }
-  }, {
-    key: "_updateMatch",
-    value: function _updateMatch() {
-      var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var state = FindState.NOT_FOUND;
-      var wrapped = this._offset.wrapped;
-      this._offset.wrapped = false;
-
-      if (found) {
-        var previousPage = this._selected.pageIdx;
-        this._selected.pageIdx = this._offset.pageIdx;
-        this._selected.matchIdx = this._offset.matchIdx;
-        state = wrapped ? FindState.WRAPPED : FindState.FOUND;
-
-        if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
-          this._updatePage(previousPage);
-        }
-      }
-
-      this._updateUIState(state, this._state.findPrevious);
-
-      if (this._selected.pageIdx !== -1) {
-        this._scrollMatches = true;
-
-        this._updatePage(this._selected.pageIdx);
-      }
-    }
-  }, {
-    key: "_onFindBarClose",
-    value: function _onFindBarClose(evt) {
-      var _this4 = this;
-
-      var pdfDocument = this._pdfDocument;
-
-      this._firstPageCapability.promise.then(function () {
-        if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {
-          return;
-        }
-
-        if (_this4._findTimeout) {
-          clearTimeout(_this4._findTimeout);
-          _this4._findTimeout = null;
-        }
-
-        if (_this4._resumePageIdx) {
-          _this4._resumePageIdx = null;
-          _this4._dirtyMatch = true;
-        }
-
-        _this4._updateUIState(FindState.FOUND);
-
-        _this4._highlightMatches = false;
-
-        _this4._updateAllPages();
-      });
-    }
-  }, {
-    key: "_requestMatchesCount",
-    value: function _requestMatchesCount() {
-      var _this$_selected = this._selected,
-          pageIdx = _this$_selected.pageIdx,
-          matchIdx = _this$_selected.matchIdx;
-      var current = 0,
-          total = this._matchesCountTotal;
-
-      if (matchIdx !== -1) {
-        for (var i = 0; i < pageIdx; i++) {
-          current += this._pageMatches[i] && this._pageMatches[i].length || 0;
-        }
-
-        current += matchIdx + 1;
-      }
-
-      if (current < 1 || current > total) {
-        current = total = 0;
-      }
-
-      return {
-        current: current,
-        total: total
-      };
-    }
-  }, {
-    key: "_updateUIResultsCount",
-    value: function _updateUIResultsCount() {
-      this._eventBus.dispatch("updatefindmatchescount", {
-        source: this,
-        matchesCount: this._requestMatchesCount()
-      });
-    }
-  }, {
-    key: "_updateUIState",
-    value: function _updateUIState(state, previous) {
-      this._eventBus.dispatch("updatefindcontrolstate", {
-        source: this,
-        state: state,
-        previous: previous,
-        matchesCount: this._requestMatchesCount()
-      });
-    }
-  }, {
-    key: "highlightMatches",
-    get: function get() {
-      return this._highlightMatches;
-    }
-  }, {
-    key: "pageMatches",
-    get: function get() {
-      return this._pageMatches;
-    }
-  }, {
-    key: "pageMatchesLength",
-    get: function get() {
-      return this._pageMatchesLength;
-    }
-  }, {
-    key: "selected",
-    get: function get() {
-      return this._selected;
-    }
-  }, {
-    key: "state",
-    get: function get() {
-      return this._state;
-    }
-  }, {
-    key: "_query",
-    get: function get() {
-      if (this._state.query !== this._rawQuery) {
-        this._rawQuery = this._state.query;
-        this._normalizedQuery = normalize(this._state.query);
-      }
-
-      return this._normalizedQuery;
-    }
-  }]);
-
-  return PDFFindController;
-}();
-
-exports.PDFFindController = PDFFindController;
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getCharacterType = getCharacterType;
-exports.CharacterType = void 0;
-var CharacterType = {
-  SPACE: 0,
-  ALPHA_LETTER: 1,
-  PUNCT: 2,
-  HAN_LETTER: 3,
-  KATAKANA_LETTER: 4,
-  HIRAGANA_LETTER: 5,
-  HALFWIDTH_KATAKANA_LETTER: 6,
-  THAI_LETTER: 7
-};
-exports.CharacterType = CharacterType;
-
-function isAlphabeticalScript(charCode) {
-  return charCode < 0x2e80;
-}
-
-function isAscii(charCode) {
-  return (charCode & 0xff80) === 0;
-}
-
-function isAsciiAlpha(charCode) {
-  return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
-}
-
-function isAsciiDigit(charCode) {
-  return charCode >= 0x30 && charCode <= 0x39;
-}
-
-function isAsciiSpace(charCode) {
-  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
-}
-
-function isHan(charCode) {
-  return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
-}
-
-function isKatakana(charCode) {
-  return charCode >= 0x30a0 && charCode <= 0x30ff;
-}
-
-function isHiragana(charCode) {
-  return charCode >= 0x3040 && charCode <= 0x309f;
-}
-
-function isHalfwidthKatakana(charCode) {
-  return charCode >= 0xff60 && charCode <= 0xff9f;
-}
-
-function isThai(charCode) {
-  return (charCode & 0xff80) === 0x0e00;
-}
-
-function getCharacterType(charCode) {
-  if (isAlphabeticalScript(charCode)) {
-    if (isAscii(charCode)) {
-      if (isAsciiSpace(charCode)) {
-        return CharacterType.SPACE;
-      } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
-        return CharacterType.ALPHA_LETTER;
-      }
-
-      return CharacterType.PUNCT;
-    } else if (isThai(charCode)) {
-      return CharacterType.THAI_LETTER;
-    } else if (charCode === 0xa0) {
-      return CharacterType.SPACE;
-    }
-
-    return CharacterType.ALPHA_LETTER;
-  }
-
-  if (isHan(charCode)) {
-    return CharacterType.HAN_LETTER;
-  } else if (isKatakana(charCode)) {
-    return CharacterType.KATAKANA_LETTER;
-  } else if (isHiragana(charCode)) {
-    return CharacterType.HIRAGANA_LETTER;
-  } else if (isHalfwidthKatakana(charCode)) {
-    return CharacterType.HALFWIDTH_KATAKANA_LETTER;
-  }
-
-  return CharacterType.ALPHA_LETTER;
-}
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.isDestHashesEqual = isDestHashesEqual;
-exports.isDestArraysEqual = isDestArraysEqual;
-exports.PDFHistory = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } 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; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var HASH_CHANGE_TIMEOUT = 1000;
-var POSITION_UPDATED_THRESHOLD = 50;
-var UPDATE_VIEWAREA_TIMEOUT = 1000;
-
-function getCurrentHash() {
-  return document.location.hash;
-}
-
-var PDFHistory = /*#__PURE__*/function () {
-  function PDFHistory(_ref) {
-    var _this = this;
-
-    var linkService = _ref.linkService,
-        eventBus = _ref.eventBus;
-
-    _classCallCheck(this, PDFHistory);
-
-    this.linkService = linkService;
-    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this._initialized = false;
-    this._fingerprint = "";
-    this.reset();
-    this._boundEvents = null;
-    this._isViewerInPresentationMode = false;
-
-    this.eventBus._on("presentationmodechanged", function (evt) {
-      _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;
-    });
-
-    this.eventBus._on("pagesinit", function () {
-      _this._isPagesLoaded = false;
-
-      var onPagesLoaded = function onPagesLoaded(evt) {
-        _this.eventBus._off("pagesloaded", onPagesLoaded);
-
-        _this._isPagesLoaded = !!evt.pagesCount;
-      };
-
-      _this.eventBus._on("pagesloaded", onPagesLoaded);
-    });
-  }
-
-  _createClass(PDFHistory, [{
-    key: "initialize",
-    value: function initialize(_ref2) {
-      var fingerprint = _ref2.fingerprint,
-          _ref2$resetHistory = _ref2.resetHistory,
-          resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,
-          _ref2$updateUrl = _ref2.updateUrl,
-          updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;
-
-      if (!fingerprint || typeof fingerprint !== "string") {
-        console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
-        return;
-      }
-
-      if (this._initialized) {
-        this.reset();
-      }
-
-      var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
-      this._fingerprint = fingerprint;
-      this._updateUrl = updateUrl === true;
-      this._initialized = true;
-
-      this._bindEvents();
-
-      var state = window.history.state;
-      this._popStateInProgress = false;
-      this._blockHashChange = 0;
-      this._currentHash = getCurrentHash();
-      this._numPositionUpdates = 0;
-      this._uid = this._maxUid = 0;
-      this._destination = null;
-      this._position = null;
-
-      if (!this._isValidState(state, true) || resetHistory) {
-        var _this$_parseCurrentHa = this._parseCurrentHash(),
-            hash = _this$_parseCurrentHa.hash,
-            page = _this$_parseCurrentHa.page,
-            rotation = _this$_parseCurrentHa.rotation;
-
-        if (!hash || reInitialized || resetHistory) {
-          this._pushOrReplaceState(null, true);
-
-          return;
-        }
-
-        this._pushOrReplaceState({
-          hash: hash,
-          page: page,
-          rotation: rotation
-        }, true);
-
-        return;
-      }
-
-      var destination = state.destination;
-
-      this._updateInternalState(destination, state.uid, true);
-
-      if (this._uid > this._maxUid) {
-        this._maxUid = this._uid;
-      }
-
-      if (destination.rotation !== undefined) {
-        this._initialRotation = destination.rotation;
-      }
-
-      if (destination.dest) {
-        this._initialBookmark = JSON.stringify(destination.dest);
-        this._destination.page = null;
-      } else if (destination.hash) {
-        this._initialBookmark = destination.hash;
-      } else if (destination.page) {
-        this._initialBookmark = "page=".concat(destination.page);
-      }
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      if (this._initialized) {
-        this._pageHide();
-
-        this._initialized = false;
-
-        this._unbindEvents();
-      }
-
-      if (this._updateViewareaTimeout) {
-        clearTimeout(this._updateViewareaTimeout);
-        this._updateViewareaTimeout = null;
-      }
-
-      this._initialBookmark = null;
-      this._initialRotation = null;
-    }
-  }, {
-    key: "push",
-    value: function push(_ref3) {
-      var _this2 = this;
-
-      var _ref3$namedDest = _ref3.namedDest,
-          namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,
-          explicitDest = _ref3.explicitDest,
-          pageNumber = _ref3.pageNumber;
-
-      if (!this._initialized) {
-        return;
-      }
-
-      if (namedDest && typeof namedDest !== "string") {
-        console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter."));
-        return;
-      } else if (!Array.isArray(explicitDest)) {
-        console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter."));
-        return;
-      } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {
-        if (pageNumber !== null || this._destination) {
-          console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
-          return;
-        }
-      }
-
-      var hash = namedDest || JSON.stringify(explicitDest);
-
-      if (!hash) {
-        return;
-      }
-
-      var forceReplace = false;
-
-      if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {
-        if (this._destination.page) {
-          return;
-        }
-
-        forceReplace = true;
-      }
-
-      if (this._popStateInProgress && !forceReplace) {
-        return;
-      }
-
-      this._pushOrReplaceState({
-        dest: explicitDest,
-        hash: hash,
-        page: pageNumber,
-        rotation: this.linkService.rotation
-      }, forceReplace);
-
-      if (!this._popStateInProgress) {
-        this._popStateInProgress = true;
-        Promise.resolve().then(function () {
-          _this2._popStateInProgress = false;
-        });
-      }
-    }
-  }, {
-    key: "pushCurrentPosition",
-    value: function pushCurrentPosition() {
-      if (!this._initialized || this._popStateInProgress) {
-        return;
-      }
-
-      this._tryPushCurrentPosition();
-    }
-  }, {
-    key: "back",
-    value: function back() {
-      if (!this._initialized || this._popStateInProgress) {
-        return;
-      }
-
-      var state = window.history.state;
-
-      if (this._isValidState(state) && state.uid > 0) {
-        window.history.back();
-      }
-    }
-  }, {
-    key: "forward",
-    value: function forward() {
-      if (!this._initialized || this._popStateInProgress) {
-        return;
-      }
-
-      var state = window.history.state;
-
-      if (this._isValidState(state) && state.uid < this._maxUid) {
-        window.history.forward();
-      }
-    }
-  }, {
-    key: "_pushOrReplaceState",
-    value: function _pushOrReplaceState(destination) {
-      var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var shouldReplace = forceReplace || !this._destination;
-      var newState = {
-        fingerprint: this._fingerprint,
-        uid: shouldReplace ? this._uid : this._uid + 1,
-        destination: destination
-      };
-
-      this._updateInternalState(destination, newState.uid);
-
-      var newUrl;
-
-      if (this._updateUrl && destination && destination.hash) {
-        var baseUrl = document.location.href.split("#")[0];
-
-        if (!baseUrl.startsWith("file://")) {
-          newUrl = "".concat(baseUrl, "#").concat(destination.hash);
-        }
-      }
-
-      if (shouldReplace) {
-        window.history.replaceState(newState, "", newUrl);
-      } else {
-        this._maxUid = this._uid;
-        window.history.pushState(newState, "", newUrl);
-      }
-    }
-  }, {
-    key: "_tryPushCurrentPosition",
-    value: function _tryPushCurrentPosition() {
-      var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (!this._position) {
-        return;
-      }
-
-      var position = this._position;
-
-      if (temporary) {
-        position = Object.assign(Object.create(null), this._position);
-        position.temporary = true;
-      }
-
-      if (!this._destination) {
-        this._pushOrReplaceState(position);
-
-        return;
-      }
-
-      if (this._destination.temporary) {
-        this._pushOrReplaceState(position, true);
-
-        return;
-      }
-
-      if (this._destination.hash === position.hash) {
-        return;
-      }
-
-      if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {
-        return;
-      }
-
-      var forceReplace = false;
-
-      if (this._destination.page >= position.first && this._destination.page <= position.page) {
-        if (this._destination.dest || !this._destination.first) {
-          return;
-        }
-
-        forceReplace = true;
-      }
-
-      this._pushOrReplaceState(position, forceReplace);
-    }
-  }, {
-    key: "_isValidState",
-    value: function _isValidState(state) {
-      var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
-      if (!state) {
-        return false;
-      }
-
-      if (state.fingerprint !== this._fingerprint) {
-        if (checkReload) {
-          if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) {
-            return false;
-          }
-
-          var _performance$getEntri = performance.getEntriesByType("navigation"),
-              _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),
-              perfEntry = _performance$getEntri2[0];
-
-          if (!perfEntry || perfEntry.type !== "reload") {
-            return false;
-          }
-        } else {
-          return false;
-        }
-      }
-
-      if (!Number.isInteger(state.uid) || state.uid < 0) {
-        return false;
-      }
-
-      if (state.destination === null || _typeof(state.destination) !== "object") {
-        return false;
-      }
-
-      return true;
-    }
-  }, {
-    key: "_updateInternalState",
-    value: function _updateInternalState(destination, uid) {
-      var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-      if (this._updateViewareaTimeout) {
-        clearTimeout(this._updateViewareaTimeout);
-        this._updateViewareaTimeout = null;
-      }
-
-      if (removeTemporary && destination && destination.temporary) {
-        delete destination.temporary;
-      }
-
-      this._destination = destination;
-      this._uid = uid;
-      this._numPositionUpdates = 0;
-    }
-  }, {
-    key: "_parseCurrentHash",
-    value: function _parseCurrentHash() {
-      var hash = unescape(getCurrentHash()).substring(1);
-      var page = (0, _ui_utils.parseQueryString)(hash).page | 0;
-
-      if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount)) {
-        page = null;
-      }
-
-      return {
-        hash: hash,
-        page: page,
-        rotation: this.linkService.rotation
-      };
-    }
-  }, {
-    key: "_updateViewarea",
-    value: function _updateViewarea(_ref4) {
-      var _this3 = this;
-
-      var location = _ref4.location;
-
-      if (this._updateViewareaTimeout) {
-        clearTimeout(this._updateViewareaTimeout);
-        this._updateViewareaTimeout = null;
-      }
-
-      this._position = {
-        hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1),
-        page: this.linkService.page,
-        first: location.pageNumber,
-        rotation: location.rotation
-      };
-
-      if (this._popStateInProgress) {
-        return;
-      }
-
-      if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {
-        this._numPositionUpdates++;
-      }
-
-      if (UPDATE_VIEWAREA_TIMEOUT > 0) {
-        this._updateViewareaTimeout = setTimeout(function () {
-          if (!_this3._popStateInProgress) {
-            _this3._tryPushCurrentPosition(true);
-          }
-
-          _this3._updateViewareaTimeout = null;
-        }, UPDATE_VIEWAREA_TIMEOUT);
-      }
-    }
-  }, {
-    key: "_popState",
-    value: function _popState(_ref5) {
-      var _this4 = this;
-
-      var state = _ref5.state;
-      var newHash = getCurrentHash(),
-          hashChanged = this._currentHash !== newHash;
-      this._currentHash = newHash;
-
-      if (!state) {
-        this._uid++;
-
-        var _this$_parseCurrentHa2 = this._parseCurrentHash(),
-            hash = _this$_parseCurrentHa2.hash,
-            page = _this$_parseCurrentHa2.page,
-            rotation = _this$_parseCurrentHa2.rotation;
-
-        this._pushOrReplaceState({
-          hash: hash,
-          page: page,
-          rotation: rotation
-        }, true);
-
-        return;
-      }
-
-      if (!this._isValidState(state)) {
-        return;
-      }
-
-      this._popStateInProgress = true;
-
-      if (hashChanged) {
-        this._blockHashChange++;
-        (0, _ui_utils.waitOnEventOrTimeout)({
-          target: window,
-          name: "hashchange",
-          delay: HASH_CHANGE_TIMEOUT
-        }).then(function () {
-          _this4._blockHashChange--;
-        });
-      }
-
-      var destination = state.destination;
-
-      this._updateInternalState(destination, state.uid, true);
-
-      if (this._uid > this._maxUid) {
-        this._maxUid = this._uid;
-      }
-
-      if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
-        this.linkService.rotation = destination.rotation;
-      }
-
-      if (destination.dest) {
-        this.linkService.navigateTo(destination.dest);
-      } else if (destination.hash) {
-        this.linkService.setHash(destination.hash);
-      } else if (destination.page) {
-        this.linkService.page = destination.page;
-      }
-
-      Promise.resolve().then(function () {
-        _this4._popStateInProgress = false;
-      });
-    }
-  }, {
-    key: "_pageHide",
-    value: function _pageHide() {
-      if (!this._destination || this._destination.temporary) {
-        this._tryPushCurrentPosition();
-      }
-    }
-  }, {
-    key: "_bindEvents",
-    value: function _bindEvents() {
-      if (this._boundEvents) {
-        return;
-      }
-
-      this._boundEvents = {
-        updateViewarea: this._updateViewarea.bind(this),
-        popState: this._popState.bind(this),
-        pageHide: this._pageHide.bind(this)
-      };
-
-      this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea);
-
-      window.addEventListener("popstate", this._boundEvents.popState);
-      window.addEventListener("pagehide", this._boundEvents.pageHide);
-    }
-  }, {
-    key: "_unbindEvents",
-    value: function _unbindEvents() {
-      if (!this._boundEvents) {
-        return;
-      }
-
-      this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);
-
-      window.removeEventListener("popstate", this._boundEvents.popState);
-      window.removeEventListener("pagehide", this._boundEvents.pageHide);
-      this._boundEvents = null;
-    }
-  }, {
-    key: "popStateInProgress",
-    get: function get() {
-      return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
-    }
-  }, {
-    key: "initialBookmark",
-    get: function get() {
-      return this._initialized ? this._initialBookmark : null;
-    }
-  }, {
-    key: "initialRotation",
-    get: function get() {
-      return this._initialized ? this._initialRotation : null;
-    }
-  }]);
-
-  return PDFHistory;
-}();
-
-exports.PDFHistory = PDFHistory;
-
-function isDestHashesEqual(destHash, pushHash) {
-  if (typeof destHash !== "string" || typeof pushHash !== "string") {
-    return false;
-  }
-
-  if (destHash === pushHash) {
-    return true;
-  }
-
-  var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),
-      nameddest = _parseQueryString.nameddest;
-
-  if (nameddest === pushHash) {
-    return true;
-  }
-
-  return false;
-}
-
-function isDestArraysEqual(firstDest, secondDest) {
-  function isEntryEqual(first, second) {
-    if (_typeof(first) !== _typeof(second)) {
-      return false;
-    }
-
-    if (Array.isArray(first) || Array.isArray(second)) {
-      return false;
-    }
-
-    if (first !== null && _typeof(first) === "object" && second !== null) {
-      if (Object.keys(first).length !== Object.keys(second).length) {
-        return false;
-      }
-
-      for (var key in first) {
-        if (!isEntryEqual(first[key], second[key])) {
-          return false;
-        }
-      }
-
-      return true;
-    }
-
-    return first === second || Number.isNaN(first) && Number.isNaN(second);
-  }
-
-  if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {
-    return false;
-  }
-
-  if (firstDest.length !== secondDest.length) {
-    return false;
-  }
-
-  for (var i = 0, ii = firstDest.length; i < ii; i++) {
-    if (!isEntryEqual(firstDest[i], secondDest[i])) {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.SimpleLinkService = exports.PDFLinkService = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PDFLinkService = /*#__PURE__*/function () {
-  function PDFLinkService() {
-    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-        eventBus = _ref.eventBus,
-        _ref$externalLinkTarg = _ref.externalLinkTarget,
-        externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
-        _ref$externalLinkRel = _ref.externalLinkRel,
-        externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,
-        _ref$externalLinkEnab = _ref.externalLinkEnabled,
-        externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,
-        _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,
-        ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;
-
-    _classCallCheck(this, PDFLinkService);
-
-    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.externalLinkTarget = externalLinkTarget;
-    this.externalLinkRel = externalLinkRel;
-    this.externalLinkEnabled = externalLinkEnabled;
-    this._ignoreDestinationZoom = ignoreDestinationZoom;
-    this.baseUrl = null;
-    this.pdfDocument = null;
-    this.pdfViewer = null;
-    this.pdfHistory = null;
-    this._pagesRefCache = null;
-  }
-
-  _createClass(PDFLinkService, [{
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
-      this.baseUrl = baseUrl;
-      this.pdfDocument = pdfDocument;
-      this._pagesRefCache = Object.create(null);
-    }
-  }, {
-    key: "setViewer",
-    value: function setViewer(pdfViewer) {
-      this.pdfViewer = pdfViewer;
-    }
-  }, {
-    key: "setHistory",
-    value: function setHistory(pdfHistory) {
-      this.pdfHistory = pdfHistory;
-    }
-  }, {
-    key: "navigateTo",
-    value: function navigateTo(dest) {
-      var _this = this;
-
-      var goToDestination = function goToDestination(_ref2) {
-        var namedDest = _ref2.namedDest,
-            explicitDest = _ref2.explicitDest;
-        var destRef = explicitDest[0];
-        var pageNumber;
-
-        if (destRef instanceof Object) {
-          pageNumber = _this._cachedPageNumber(destRef);
-
-          if (pageNumber === null) {
-            _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
-              _this.cachePageRef(pageIndex + 1, destRef);
-
-              goToDestination({
-                namedDest: namedDest,
-                explicitDest: explicitDest
-              });
-            })["catch"](function () {
-              console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(dest, "\"."));
-            });
-
-            return;
-          }
-        } else if (Number.isInteger(destRef)) {
-          pageNumber = destRef + 1;
-        } else {
-          console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(dest, "\"."));
-          return;
-        }
-
-        if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {
-          console.error("PDFLinkService.navigateTo: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(dest, "\"."));
-          return;
-        }
-
-        if (_this.pdfHistory) {
-          _this.pdfHistory.pushCurrentPosition();
-
-          _this.pdfHistory.push({
-            namedDest: namedDest,
-            explicitDest: explicitDest,
-            pageNumber: pageNumber
-          });
-        }
-
-        _this.pdfViewer.scrollPageIntoView({
-          pageNumber: pageNumber,
-          destArray: explicitDest,
-          ignoreDestinationZoom: _this._ignoreDestinationZoom
-        });
-      };
-
-      new Promise(function (resolve, reject) {
-        if (typeof dest === "string") {
-          _this.pdfDocument.getDestination(dest).then(function (destArray) {
-            resolve({
-              namedDest: dest,
-              explicitDest: destArray
-            });
-          });
-
-          return;
-        }
-
-        resolve({
-          namedDest: "",
-          explicitDest: dest
-        });
-      }).then(function (data) {
-        if (!Array.isArray(data.explicitDest)) {
-          console.error("PDFLinkService.navigateTo: \"".concat(data.explicitDest, "\" is") + " not a valid destination array, for dest=\"".concat(dest, "\"."));
-          return;
-        }
-
-        goToDestination(data);
-      });
-    }
-  }, {
-    key: "getDestinationHash",
-    value: function getDestinationHash(dest) {
-      if (typeof dest === "string") {
-        return this.getAnchorUrl("#" + escape(dest));
-      }
-
-      if (Array.isArray(dest)) {
-        var str = JSON.stringify(dest);
-        return this.getAnchorUrl("#" + escape(str));
-      }
-
-      return this.getAnchorUrl("");
-    }
-  }, {
-    key: "getAnchorUrl",
-    value: function getAnchorUrl(anchor) {
-      return (this.baseUrl || "") + anchor;
-    }
-  }, {
-    key: "setHash",
-    value: function setHash(hash) {
-      var pageNumber, dest;
-
-      if (hash.includes("=")) {
-        var params = (0, _ui_utils.parseQueryString)(hash);
-
-        if ("search" in params) {
-          this.eventBus.dispatch("findfromurlhash", {
-            source: this,
-            query: params["search"].replace(/"/g, ""),
-            phraseSearch: params["phrase"] === "true"
-          });
-        }
-
-        if ("nameddest" in params) {
-          this.navigateTo(params.nameddest);
-          return;
-        }
-
-        if ("page" in params) {
-          pageNumber = params.page | 0 || 1;
-        }
-
-        if ("zoom" in params) {
-          var zoomArgs = params.zoom.split(",");
-          var zoomArg = zoomArgs[0];
-          var zoomArgNumber = parseFloat(zoomArg);
-
-          if (!zoomArg.includes("Fit")) {
-            dest = [null, {
-              name: "XYZ"
-            }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
-          } else {
-            if (zoomArg === "Fit" || zoomArg === "FitB") {
-              dest = [null, {
-                name: zoomArg
-              }];
-            } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
-              dest = [null, {
-                name: zoomArg
-              }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
-            } else if (zoomArg === "FitR") {
-              if (zoomArgs.length !== 5) {
-                console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
-              } else {
-                dest = [null, {
-                  name: zoomArg
-                }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
-              }
-            } else {
-              console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + "a valid zoom value.");
-            }
-          }
-        }
-
-        if (dest) {
-          this.pdfViewer.scrollPageIntoView({
-            pageNumber: pageNumber || this.page,
-            destArray: dest,
-            allowNegativeOffset: true
-          });
-        } else if (pageNumber) {
-          this.page = pageNumber;
-        }
-
-        if ("pagemode" in params) {
-          this.eventBus.dispatch("pagemode", {
-            source: this,
-            mode: params.pagemode
-          });
-        }
-      } else {
-        dest = unescape(hash);
-
-        try {
-          dest = JSON.parse(dest);
-
-          if (!Array.isArray(dest)) {
-            dest = dest.toString();
-          }
-        } catch (ex) {}
-
-        if (typeof dest === "string" || isValidExplicitDestination(dest)) {
-          this.navigateTo(dest);
-          return;
-        }
-
-        console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + "a valid destination.");
-      }
-    }
-  }, {
-    key: "executeNamedAction",
-    value: function executeNamedAction(action) {
-      switch (action) {
-        case "GoBack":
-          if (this.pdfHistory) {
-            this.pdfHistory.back();
-          }
-
-          break;
-
-        case "GoForward":
-          if (this.pdfHistory) {
-            this.pdfHistory.forward();
-          }
-
-          break;
-
-        case "NextPage":
-          if (this.page < this.pagesCount) {
-            this.page++;
-          }
-
-          break;
-
-        case "PrevPage":
-          if (this.page > 1) {
-            this.page--;
-          }
-
-          break;
-
-        case "LastPage":
-          this.page = this.pagesCount;
-          break;
-
-        case "FirstPage":
-          this.page = 1;
-          break;
-
-        default:
-          break;
-      }
-
-      this.eventBus.dispatch("namedaction", {
-        source: this,
-        action: action
-      });
-    }
-  }, {
-    key: "cachePageRef",
-    value: function cachePageRef(pageNum, pageRef) {
-      if (!pageRef) {
-        return;
-      }
-
-      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
-      this._pagesRefCache[refStr] = pageNum;
-    }
-  }, {
-    key: "_cachedPageNumber",
-    value: function _cachedPageNumber(pageRef) {
-      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
-      return this._pagesRefCache && this._pagesRefCache[refStr] || null;
-    }
-  }, {
-    key: "isPageVisible",
-    value: function isPageVisible(pageNumber) {
-      return this.pdfViewer.isPageVisible(pageNumber);
-    }
-  }, {
-    key: "pagesCount",
-    get: function get() {
-      return this.pdfDocument ? this.pdfDocument.numPages : 0;
-    }
-  }, {
-    key: "page",
-    get: function get() {
-      return this.pdfViewer.currentPageNumber;
-    },
-    set: function set(value) {
-      this.pdfViewer.currentPageNumber = value;
-    }
-  }, {
-    key: "rotation",
-    get: function get() {
-      return this.pdfViewer.pagesRotation;
-    },
-    set: function set(value) {
-      this.pdfViewer.pagesRotation = value;
-    }
-  }]);
-
-  return PDFLinkService;
-}();
-
-exports.PDFLinkService = PDFLinkService;
-
-function isValidExplicitDestination(dest) {
-  if (!Array.isArray(dest)) {
-    return false;
-  }
-
-  var destLength = dest.length;
-
-  if (destLength < 2) {
-    return false;
-  }
-
-  var page = dest[0];
-
-  if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
-    return false;
-  }
-
-  var zoom = dest[1];
-
-  if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) {
-    return false;
-  }
-
-  var allowNull = true;
-
-  switch (zoom.name) {
-    case "XYZ":
-      if (destLength !== 5) {
-        return false;
-      }
-
-      break;
-
-    case "Fit":
-    case "FitB":
-      return destLength === 2;
-
-    case "FitH":
-    case "FitBH":
-    case "FitV":
-    case "FitBV":
-      if (destLength !== 3) {
-        return false;
-      }
-
-      break;
-
-    case "FitR":
-      if (destLength !== 6) {
-        return false;
-      }
-
-      allowNull = false;
-      break;
-
-    default:
-      return false;
-  }
-
-  for (var i = 2; i < destLength; i++) {
-    var param = dest[i];
-
-    if (!(typeof param === "number" || allowNull && param === null)) {
-      return false;
-    }
-  }
-
-  return true;
-}
-
-var SimpleLinkService = /*#__PURE__*/function () {
-  function SimpleLinkService() {
-    _classCallCheck(this, SimpleLinkService);
-
-    this.externalLinkTarget = null;
-    this.externalLinkRel = null;
-    this.externalLinkEnabled = true;
-    this._ignoreDestinationZoom = false;
-  }
-
-  _createClass(SimpleLinkService, [{
-    key: "navigateTo",
-    value: function navigateTo(dest) {}
-  }, {
-    key: "getDestinationHash",
-    value: function getDestinationHash(dest) {
-      return "#";
-    }
-  }, {
-    key: "getAnchorUrl",
-    value: function getAnchorUrl(hash) {
-      return "#";
-    }
-  }, {
-    key: "setHash",
-    value: function setHash(hash) {}
-  }, {
-    key: "executeNamedAction",
-    value: function executeNamedAction(action) {}
-  }, {
-    key: "cachePageRef",
-    value: function cachePageRef(pageNum, pageRef) {}
-  }, {
-    key: "isPageVisible",
-    value: function isPageVisible(pageNumber) {
-      return true;
-    }
-  }, {
-    key: "pagesCount",
-    get: function get() {
-      return 0;
-    }
-  }, {
-    key: "page",
-    get: function get() {
-      return 0;
-    },
-    set: function set(value) {}
-  }, {
-    key: "rotation",
-    get: function get() {
-      return 0;
-    },
-    set: function set(value) {}
-  }]);
-
-  return SimpleLinkService;
-}();
-
-exports.SimpleLinkService = SimpleLinkService;
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFOutlineViewer = void 0;
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_TITLE = "\u2013";
-
-var PDFOutlineViewer = /*#__PURE__*/function () {
-  function PDFOutlineViewer(_ref) {
-    var container = _ref.container,
-        linkService = _ref.linkService,
-        eventBus = _ref.eventBus;
-
-    _classCallCheck(this, PDFOutlineViewer);
-
-    this.container = container;
-    this.linkService = linkService;
-    this.eventBus = eventBus;
-    this.reset();
-
-    eventBus._on("toggleoutlinetree", this.toggleOutlineTree.bind(this));
-  }
-
-  _createClass(PDFOutlineViewer, [{
-    key: "reset",
-    value: function reset() {
-      this.outline = null;
-      this.lastToggleIsShow = true;
-      this.container.textContent = "";
-      this.container.classList.remove("outlineWithDeepNesting");
-    }
-  }, {
-    key: "_dispatchEvent",
-    value: function _dispatchEvent(outlineCount) {
-      this.eventBus.dispatch("outlineloaded", {
-        source: this,
-        outlineCount: outlineCount
-      });
-    }
-  }, {
-    key: "_bindLink",
-    value: function _bindLink(element, _ref2) {
-      var url = _ref2.url,
-          newWindow = _ref2.newWindow,
-          dest = _ref2.dest;
-      var linkService = this.linkService;
-
-      if (url) {
-        (0, _pdfjsLib.addLinkAttributes)(element, {
-          url: url,
-          target: newWindow ? _pdfjsLib.LinkTarget.BLANK : linkService.externalLinkTarget,
-          rel: linkService.externalLinkRel,
-          enabled: linkService.externalLinkEnabled
-        });
-        return;
-      }
-
-      element.href = linkService.getDestinationHash(dest);
-
-      element.onclick = function () {
-        if (dest) {
-          linkService.navigateTo(dest);
-        }
-
-        return false;
-      };
-    }
-  }, {
-    key: "_setStyles",
-    value: function _setStyles(element, _ref3) {
-      var bold = _ref3.bold,
-          italic = _ref3.italic;
-
-      if (bold) {
-        element.style.fontWeight = "bold";
-      }
-
-      if (italic) {
-        element.style.fontStyle = "italic";
-      }
-    }
-  }, {
-    key: "_addToggleButton",
-    value: function _addToggleButton(div, _ref4) {
-      var _this = this;
-
-      var count = _ref4.count,
-          items = _ref4.items;
-      var toggler = document.createElement("div");
-      toggler.className = "outlineItemToggler";
-
-      if (count < 0 && Math.abs(count) === items.length) {
-        toggler.classList.add("outlineItemsHidden");
-      }
-
-      toggler.onclick = function (evt) {
-        evt.stopPropagation();
-        toggler.classList.toggle("outlineItemsHidden");
-
-        if (evt.shiftKey) {
-          var shouldShowAll = !toggler.classList.contains("outlineItemsHidden");
-
-          _this._toggleOutlineItem(div, shouldShowAll);
-        }
-      };
-
-      div.insertBefore(toggler, div.firstChild);
-    }
-  }, {
-    key: "_toggleOutlineItem",
-    value: function _toggleOutlineItem(root) {
-      var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      this.lastToggleIsShow = show;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = root.querySelectorAll(".outlineItemToggler")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var toggler = _step.value;
-          toggler.classList.toggle("outlineItemsHidden", !show);
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-    }
-  }, {
-    key: "toggleOutlineTree",
-    value: function toggleOutlineTree() {
-      if (!this.outline) {
-        return;
-      }
-
-      this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
-    }
-  }, {
-    key: "render",
-    value: function render(_ref5) {
-      var outline = _ref5.outline;
-      var outlineCount = 0;
-
-      if (this.outline) {
-        this.reset();
-      }
-
-      this.outline = outline || null;
-
-      if (!outline) {
-        this._dispatchEvent(outlineCount);
-
-        return;
-      }
-
-      var fragment = document.createDocumentFragment();
-      var queue = [{
-        parent: fragment,
-        items: this.outline
-      }];
-      var hasAnyNesting = false;
-
-      while (queue.length > 0) {
-        var levelData = queue.shift();
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
-
-        try {
-          for (var _iterator2 = levelData.items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var item = _step2.value;
-            var div = document.createElement("div");
-            div.className = "outlineItem";
-            var element = document.createElement("a");
-
-            this._bindLink(element, item);
-
-            this._setStyles(element, item);
-
-            element.textContent = (0, _pdfjsLib.removeNullCharacters)(item.title) || DEFAULT_TITLE;
-            div.appendChild(element);
-
-            if (item.items.length > 0) {
-              hasAnyNesting = true;
-
-              this._addToggleButton(div, item);
-
-              var itemsDiv = document.createElement("div");
-              itemsDiv.className = "outlineItems";
-              div.appendChild(itemsDiv);
-              queue.push({
-                parent: itemsDiv,
-                items: item.items
-              });
-            }
-
-            levelData.parent.appendChild(div);
-            outlineCount++;
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
-        }
-      }
-
-      if (hasAnyNesting) {
-        this.container.classList.add("outlineWithDeepNesting");
-        this.lastToggleIsShow = fragment.querySelectorAll(".outlineItemsHidden").length === 0;
-      }
-
-      this.container.appendChild(fragment);
-
-      this._dispatchEvent(outlineCount);
-    }
-  }]);
-
-  return PDFOutlineViewer;
-}();
-
-exports.PDFOutlineViewer = PDFOutlineViewer;
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFPresentationMode = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500;
-var DELAY_BEFORE_HIDING_CONTROLS = 3000;
-var ACTIVE_SELECTOR = "pdfPresentationMode";
-var CONTROLS_SELECTOR = "pdfPresentationModeControls";
-var MOUSE_SCROLL_COOLDOWN_TIME = 50;
-var PAGE_SWITCH_THRESHOLD = 0.1;
-var SWIPE_MIN_DISTANCE_THRESHOLD = 50;
-var SWIPE_ANGLE_THRESHOLD = Math.PI / 6;
-
-var PDFPresentationMode = /*#__PURE__*/function () {
-  function PDFPresentationMode(_ref) {
-    var _this = this;
-
-    var container = _ref.container,
-        pdfViewer = _ref.pdfViewer,
-        eventBus = _ref.eventBus,
-        _ref$contextMenuItems = _ref.contextMenuItems,
-        contextMenuItems = _ref$contextMenuItems === void 0 ? null : _ref$contextMenuItems;
-
-    _classCallCheck(this, PDFPresentationMode);
-
-    this.container = container;
-    this.pdfViewer = pdfViewer;
-    this.eventBus = eventBus;
-    this.active = false;
-    this.args = null;
-    this.contextMenuOpen = false;
-    this.mouseScrollTimeStamp = 0;
-    this.mouseScrollDelta = 0;
-    this.touchSwipeState = null;
-
-    if (contextMenuItems) {
-      contextMenuItems.contextFirstPage.addEventListener("click", function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch("firstpage", {
-          source: _this
-        });
-      });
-      contextMenuItems.contextLastPage.addEventListener("click", function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch("lastpage", {
-          source: _this
-        });
-      });
-      contextMenuItems.contextPageRotateCw.addEventListener("click", function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch("rotatecw", {
-          source: _this
-        });
-      });
-      contextMenuItems.contextPageRotateCcw.addEventListener("click", function () {
-        _this.contextMenuOpen = false;
-
-        _this.eventBus.dispatch("rotateccw", {
-          source: _this
-        });
-      });
-    }
-  }
-
-  _createClass(PDFPresentationMode, [{
-    key: "request",
-    value: function request() {
-      if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) {
-        return false;
-      }
-
-      this._addFullscreenChangeListeners();
-
-      this._setSwitchInProgress();
-
-      this._notifyStateChange();
-
-      if (this.container.requestFullscreen) {
-        this.container.requestFullscreen();
-      } else if (this.container.mozRequestFullScreen) {
-        this.container.mozRequestFullScreen();
-      } else if (this.container.webkitRequestFullscreen) {
-        this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
-      } else if (this.container.msRequestFullscreen) {
-        this.container.msRequestFullscreen();
-      } else {
-        return false;
-      }
-
-      this.args = {
-        page: this.pdfViewer.currentPageNumber,
-        previousScale: this.pdfViewer.currentScaleValue
-      };
-      return true;
-    }
-  }, {
-    key: "_mouseWheel",
-    value: function _mouseWheel(evt) {
-      if (!this.active) {
-        return;
-      }
-
-      evt.preventDefault();
-      var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt);
-      var currentTime = new Date().getTime();
-      var storedTime = this.mouseScrollTimeStamp;
-
-      if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) {
-        return;
-      }
-
-      if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) {
-        this._resetMouseScrollState();
-      }
-
-      this.mouseScrollDelta += delta;
-
-      if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {
-        var totalDelta = this.mouseScrollDelta;
-
-        this._resetMouseScrollState();
-
-        var success = totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();
-
-        if (success) {
-          this.mouseScrollTimeStamp = currentTime;
-        }
-      }
-    }
-  }, {
-    key: "_goToPreviousPage",
-    value: function _goToPreviousPage() {
-      var page = this.pdfViewer.currentPageNumber;
-
-      if (page <= 1) {
-        return false;
-      }
-
-      this.pdfViewer.currentPageNumber = page - 1;
-      return true;
-    }
-  }, {
-    key: "_goToNextPage",
-    value: function _goToNextPage() {
-      var page = this.pdfViewer.currentPageNumber;
-
-      if (page >= this.pdfViewer.pagesCount) {
-        return false;
-      }
-
-      this.pdfViewer.currentPageNumber = page + 1;
-      return true;
-    }
-  }, {
-    key: "_notifyStateChange",
-    value: function _notifyStateChange() {
-      this.eventBus.dispatch("presentationmodechanged", {
-        source: this,
-        active: this.active,
-        switchInProgress: !!this.switchInProgress
-      });
-    }
-  }, {
-    key: "_setSwitchInProgress",
-    value: function _setSwitchInProgress() {
-      var _this2 = this;
-
-      if (this.switchInProgress) {
-        clearTimeout(this.switchInProgress);
-      }
-
-      this.switchInProgress = setTimeout(function () {
-        _this2._removeFullscreenChangeListeners();
-
-        delete _this2.switchInProgress;
-
-        _this2._notifyStateChange();
-      }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);
-    }
-  }, {
-    key: "_resetSwitchInProgress",
-    value: function _resetSwitchInProgress() {
-      if (this.switchInProgress) {
-        clearTimeout(this.switchInProgress);
-        delete this.switchInProgress;
-      }
-    }
-  }, {
-    key: "_enter",
-    value: function _enter() {
-      var _this3 = this;
-
-      this.active = true;
-
-      this._resetSwitchInProgress();
-
-      this._notifyStateChange();
-
-      this.container.classList.add(ACTIVE_SELECTOR);
-      setTimeout(function () {
-        _this3.pdfViewer.currentPageNumber = _this3.args.page;
-        _this3.pdfViewer.currentScaleValue = "page-fit";
-      }, 0);
-
-      this._addWindowListeners();
-
-      this._showControls();
-
-      this.contextMenuOpen = false;
-      this.container.setAttribute("contextmenu", "viewerContextMenu");
-      window.getSelection().removeAllRanges();
-    }
-  }, {
-    key: "_exit",
-    value: function _exit() {
-      var _this4 = this;
-
-      var page = this.pdfViewer.currentPageNumber;
-      this.container.classList.remove(ACTIVE_SELECTOR);
-      setTimeout(function () {
-        _this4.active = false;
-
-        _this4._removeFullscreenChangeListeners();
-
-        _this4._notifyStateChange();
-
-        _this4.pdfViewer.currentScaleValue = _this4.args.previousScale;
-        _this4.pdfViewer.currentPageNumber = page;
-        _this4.args = null;
-      }, 0);
-
-      this._removeWindowListeners();
-
-      this._hideControls();
-
-      this._resetMouseScrollState();
-
-      this.container.removeAttribute("contextmenu");
-      this.contextMenuOpen = false;
-    }
-  }, {
-    key: "_mouseDown",
-    value: function _mouseDown(evt) {
-      if (this.contextMenuOpen) {
-        this.contextMenuOpen = false;
-        evt.preventDefault();
-        return;
-      }
-
-      if (evt.button === 0) {
-        var isInternalLink = evt.target.href && evt.target.classList.contains("internalLink");
-
-        if (!isInternalLink) {
-          evt.preventDefault();
-
-          if (evt.shiftKey) {
-            this._goToPreviousPage();
-          } else {
-            this._goToNextPage();
-          }
-        }
-      }
-    }
-  }, {
-    key: "_contextMenu",
-    value: function _contextMenu() {
-      this.contextMenuOpen = true;
-    }
-  }, {
-    key: "_showControls",
-    value: function _showControls() {
-      var _this5 = this;
-
-      if (this.controlsTimeout) {
-        clearTimeout(this.controlsTimeout);
-      } else {
-        this.container.classList.add(CONTROLS_SELECTOR);
-      }
-
-      this.controlsTimeout = setTimeout(function () {
-        _this5.container.classList.remove(CONTROLS_SELECTOR);
-
-        delete _this5.controlsTimeout;
-      }, DELAY_BEFORE_HIDING_CONTROLS);
-    }
-  }, {
-    key: "_hideControls",
-    value: function _hideControls() {
-      if (!this.controlsTimeout) {
-        return;
-      }
-
-      clearTimeout(this.controlsTimeout);
-      this.container.classList.remove(CONTROLS_SELECTOR);
-      delete this.controlsTimeout;
-    }
-  }, {
-    key: "_resetMouseScrollState",
-    value: function _resetMouseScrollState() {
-      this.mouseScrollTimeStamp = 0;
-      this.mouseScrollDelta = 0;
-    }
-  }, {
-    key: "_touchSwipe",
-    value: function _touchSwipe(evt) {
-      if (!this.active) {
-        return;
-      }
-
-      if (evt.touches.length > 1) {
-        this.touchSwipeState = null;
-        return;
-      }
-
-      switch (evt.type) {
-        case "touchstart":
-          this.touchSwipeState = {
-            startX: evt.touches[0].pageX,
-            startY: evt.touches[0].pageY,
-            endX: evt.touches[0].pageX,
-            endY: evt.touches[0].pageY
-          };
-          break;
-
-        case "touchmove":
-          if (this.touchSwipeState === null) {
-            return;
-          }
-
-          this.touchSwipeState.endX = evt.touches[0].pageX;
-          this.touchSwipeState.endY = evt.touches[0].pageY;
-          evt.preventDefault();
-          break;
-
-        case "touchend":
-          if (this.touchSwipeState === null) {
-            return;
-          }
-
-          var delta = 0;
-          var dx = this.touchSwipeState.endX - this.touchSwipeState.startX;
-          var dy = this.touchSwipeState.endY - this.touchSwipeState.startY;
-          var absAngle = Math.abs(Math.atan2(dy, dx));
-
-          if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) {
-            delta = dx;
-          } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) {
-            delta = dy;
-          }
-
-          if (delta > 0) {
-            this._goToPreviousPage();
-          } else if (delta < 0) {
-            this._goToNextPage();
-          }
-
-          break;
-      }
-    }
-  }, {
-    key: "_addWindowListeners",
-    value: function _addWindowListeners() {
-      this.showControlsBind = this._showControls.bind(this);
-      this.mouseDownBind = this._mouseDown.bind(this);
-      this.mouseWheelBind = this._mouseWheel.bind(this);
-      this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);
-      this.contextMenuBind = this._contextMenu.bind(this);
-      this.touchSwipeBind = this._touchSwipe.bind(this);
-      window.addEventListener("mousemove", this.showControlsBind);
-      window.addEventListener("mousedown", this.mouseDownBind);
-      window.addEventListener("wheel", this.mouseWheelBind);
-      window.addEventListener("keydown", this.resetMouseScrollStateBind);
-      window.addEventListener("contextmenu", this.contextMenuBind);
-      window.addEventListener("touchstart", this.touchSwipeBind);
-      window.addEventListener("touchmove", this.touchSwipeBind);
-      window.addEventListener("touchend", this.touchSwipeBind);
-    }
-  }, {
-    key: "_removeWindowListeners",
-    value: function _removeWindowListeners() {
-      window.removeEventListener("mousemove", this.showControlsBind);
-      window.removeEventListener("mousedown", this.mouseDownBind);
-      window.removeEventListener("wheel", this.mouseWheelBind);
-      window.removeEventListener("keydown", this.resetMouseScrollStateBind);
-      window.removeEventListener("contextmenu", this.contextMenuBind);
-      window.removeEventListener("touchstart", this.touchSwipeBind);
-      window.removeEventListener("touchmove", this.touchSwipeBind);
-      window.removeEventListener("touchend", this.touchSwipeBind);
-      delete this.showControlsBind;
-      delete this.mouseDownBind;
-      delete this.mouseWheelBind;
-      delete this.resetMouseScrollStateBind;
-      delete this.contextMenuBind;
-      delete this.touchSwipeBind;
-    }
-  }, {
-    key: "_fullscreenChange",
-    value: function _fullscreenChange() {
-      if (this.isFullscreen) {
-        this._enter();
-      } else {
-        this._exit();
-      }
-    }
-  }, {
-    key: "_addFullscreenChangeListeners",
-    value: function _addFullscreenChangeListeners() {
-      this.fullscreenChangeBind = this._fullscreenChange.bind(this);
-      window.addEventListener("fullscreenchange", this.fullscreenChangeBind);
-      window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind);
-      window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
-      window.addEventListener("MSFullscreenChange", this.fullscreenChangeBind);
-    }
-  }, {
-    key: "_removeFullscreenChangeListeners",
-    value: function _removeFullscreenChangeListeners() {
-      window.removeEventListener("fullscreenchange", this.fullscreenChangeBind);
-      window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind);
-      window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind);
-      window.removeEventListener("MSFullscreenChange", this.fullscreenChangeBind);
-      delete this.fullscreenChangeBind;
-    }
-  }, {
-    key: "isFullscreen",
-    get: function get() {
-      return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement);
-    }
-  }]);
-
-  return PDFPresentationMode;
-}();
-
-exports.PDFPresentationMode = PDFPresentationMode;
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFSidebarResizer = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var SIDEBAR_WIDTH_VAR = "--sidebar-width";
-var SIDEBAR_MIN_WIDTH = 200;
-var SIDEBAR_RESIZING_CLASS = "sidebarResizing";
-
-var PDFSidebarResizer = /*#__PURE__*/function () {
-  function PDFSidebarResizer(options, eventBus) {
-    var _this = this;
-
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, PDFSidebarResizer);
-
-    this.enabled = false;
-    this.isRTL = false;
-    this.sidebarOpen = false;
-    this.doc = document.documentElement;
-    this._width = null;
-    this._outerContainerWidth = null;
-    this._boundEvents = Object.create(null);
-    this.outerContainer = options.outerContainer;
-    this.resizer = options.resizer;
-    this.eventBus = eventBus;
-    this.l10n = l10n;
-
-    if (typeof CSS === "undefined" || typeof CSS.supports !== "function" || !CSS.supports(SIDEBAR_WIDTH_VAR, "calc(-1 * ".concat(SIDEBAR_MIN_WIDTH, "px)"))) {
-      console.warn("PDFSidebarResizer: " + "The browser does not support resizing of the sidebar.");
-      return;
-    }
-
-    this.enabled = true;
-    this.resizer.classList.remove("hidden");
-    this.l10n.getDirection().then(function (dir) {
-      _this.isRTL = dir === "rtl";
-    });
-
-    this._addEventListeners();
-  }
-
-  _createClass(PDFSidebarResizer, [{
-    key: "_updateWidth",
-    value: function _updateWidth() {
-      var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
-
-      if (!this.enabled) {
-        return false;
-      }
-
-      var newWidth = (0, _ui_utils.clamp)(width, SIDEBAR_MIN_WIDTH, Math.floor(this.outerContainerWidth / 2));
-
-      if (newWidth === this._width) {
-        return false;
-      }
-
-      this._width = newWidth;
-      this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(newWidth, "px"));
-      return true;
-    }
-  }, {
-    key: "_mouseMove",
-    value: function _mouseMove(evt) {
-      var width = evt.clientX;
-
-      if (this.isRTL) {
-        width = this.outerContainerWidth - width;
-      }
-
-      this._updateWidth(width);
-    }
-  }, {
-    key: "_mouseUp",
-    value: function _mouseUp(evt) {
-      this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
-      this.eventBus.dispatch("resize", {
-        source: this
-      });
-      var _boundEvents = this._boundEvents;
-      window.removeEventListener("mousemove", _boundEvents.mouseMove);
-      window.removeEventListener("mouseup", _boundEvents.mouseUp);
-    }
-  }, {
-    key: "_addEventListeners",
-    value: function _addEventListeners() {
-      var _this2 = this;
-
-      if (!this.enabled) {
-        return;
-      }
-
-      var _boundEvents = this._boundEvents;
-      _boundEvents.mouseMove = this._mouseMove.bind(this);
-      _boundEvents.mouseUp = this._mouseUp.bind(this);
-      this.resizer.addEventListener("mousedown", function (evt) {
-        if (evt.button !== 0) {
-          return;
-        }
-
-        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
-
-        window.addEventListener("mousemove", _boundEvents.mouseMove);
-        window.addEventListener("mouseup", _boundEvents.mouseUp);
-      });
-
-      this.eventBus._on("sidebarviewchanged", function (evt) {
-        _this2.sidebarOpen = !!(evt && evt.view);
-      });
-
-      this.eventBus._on("resize", function (evt) {
-        if (!evt || evt.source !== window) {
-          return;
-        }
-
-        _this2._outerContainerWidth = null;
-
-        if (!_this2._width) {
-          return;
-        }
-
-        if (!_this2.sidebarOpen) {
-          _this2._updateWidth(_this2._width);
-
-          return;
-        }
-
-        _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);
-
-        var updated = _this2._updateWidth(_this2._width);
-
-        Promise.resolve().then(function () {
-          _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);
-
-          if (updated) {
-            _this2.eventBus.dispatch("resize", {
-              source: _this2
-            });
-          }
-        });
-      });
-    }
-  }, {
-    key: "outerContainerWidth",
-    get: function get() {
-      if (!this._outerContainerWidth) {
-        this._outerContainerWidth = this.outerContainer.clientWidth;
-      }
-
-      return this._outerContainerWidth;
-    }
-  }]);
-
-  return PDFSidebarResizer;
-}();
-
-exports.PDFSidebarResizer = PDFSidebarResizer;
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFThumbnailViewer = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_thumbnail_view = __webpack_require__(26);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var THUMBNAIL_SCROLL_MARGIN = -19;
-var THUMBNAIL_SELECTED_CLASS = "selected";
-
-var PDFThumbnailViewer = /*#__PURE__*/function () {
-  function PDFThumbnailViewer(_ref) {
-    var container = _ref.container,
-        linkService = _ref.linkService,
-        renderingQueue = _ref.renderingQueue,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
-
-    _classCallCheck(this, PDFThumbnailViewer);
-
-    this.container = container;
-    this.linkService = linkService;
-    this.renderingQueue = renderingQueue;
-    this.l10n = l10n;
-    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this));
-
-    this._resetView();
-  }
-
-  _createClass(PDFThumbnailViewer, [{
-    key: "_scrollUpdated",
-    value: function _scrollUpdated() {
-      this.renderingQueue.renderHighestPriority();
-    }
-  }, {
-    key: "getThumbnail",
-    value: function getThumbnail(index) {
-      return this._thumbnails[index];
-    }
-  }, {
-    key: "_getVisibleThumbs",
-    value: function _getVisibleThumbs() {
-      return (0, _ui_utils.getVisibleElements)(this.container, this._thumbnails);
-    }
-  }, {
-    key: "scrollThumbnailIntoView",
-    value: function scrollThumbnailIntoView(pageNumber) {
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      var thumbnailView = this._thumbnails[pageNumber - 1];
-
-      if (!thumbnailView) {
-        console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');
-        return;
-      }
-
-      if (pageNumber !== this._currentPageNumber) {
-        var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];
-        prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);
-        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
-      }
-
-      var visibleThumbs = this._getVisibleThumbs();
-
-      var numVisibleThumbs = visibleThumbs.views.length;
-
-      if (numVisibleThumbs > 0) {
-        var first = visibleThumbs.first.id;
-        var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;
-        var shouldScroll = false;
-
-        if (pageNumber <= first || pageNumber >= last) {
-          shouldScroll = true;
-        } else {
-          visibleThumbs.views.some(function (view) {
-            if (view.id !== pageNumber) {
-              return false;
-            }
-
-            shouldScroll = view.percent < 100;
-            return true;
-          });
-        }
-
-        if (shouldScroll) {
-          (0, _ui_utils.scrollIntoView)(thumbnailView.div, {
-            top: THUMBNAIL_SCROLL_MARGIN
-          });
-        }
-      }
-
-      this._currentPageNumber = pageNumber;
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      _pdf_thumbnail_view.PDFThumbnailView.cleanup();
-    }
-  }, {
-    key: "_resetView",
-    value: function _resetView() {
-      this._thumbnails = [];
-      this._currentPageNumber = 1;
-      this._pageLabels = null;
-      this._pagesRotation = 0;
-      this._pagesRequests = new WeakMap();
-      this.container.textContent = "";
-    }
-  }, {
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var _this = this;
-
-      if (this.pdfDocument) {
-        this._cancelRendering();
-
-        this._resetView();
-      }
-
-      this.pdfDocument = pdfDocument;
-
-      if (!pdfDocument) {
-        return;
-      }
-
-      pdfDocument.getPage(1).then(function (firstPdfPage) {
-        var pagesCount = pdfDocument.numPages;
-        var viewport = firstPdfPage.getViewport({
-          scale: 1
-        });
-
-        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
-          var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({
-            container: _this.container,
-            id: pageNum,
-            defaultViewport: viewport.clone(),
-            linkService: _this.linkService,
-            renderingQueue: _this.renderingQueue,
-            disableCanvasToImageConversion: false,
-            l10n: _this.l10n
-          });
-
-          _this._thumbnails.push(thumbnail);
-        }
-
-        var firstThumbnailView = _this._thumbnails[0];
-
-        if (firstThumbnailView) {
-          firstThumbnailView.setPdfPage(firstPdfPage);
-        }
-
-        var thumbnailView = _this._thumbnails[_this._currentPageNumber - 1];
-        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);
-      })["catch"](function (reason) {
-        console.error("Unable to initialize thumbnail viewer", reason);
-      });
-    }
-  }, {
-    key: "_cancelRendering",
-    value: function _cancelRendering() {
-      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
-        if (this._thumbnails[i]) {
-          this._thumbnails[i].cancelRendering();
-        }
-      }
-    }
-  }, {
-    key: "setPageLabels",
-    value: function setPageLabels(labels) {
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      if (!labels) {
-        this._pageLabels = null;
-      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
-        this._pageLabels = null;
-        console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.");
-      } else {
-        this._pageLabels = labels;
-      }
-
-      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
-        var label = this._pageLabels && this._pageLabels[i];
-
-        this._thumbnails[i].setPageLabel(label);
-      }
-    }
-  }, {
-    key: "_ensurePdfPageLoaded",
-    value: function _ensurePdfPageLoaded(thumbView) {
-      var _this2 = this;
-
-      if (thumbView.pdfPage) {
-        return Promise.resolve(thumbView.pdfPage);
-      }
-
-      if (this._pagesRequests.has(thumbView)) {
-        return this._pagesRequests.get(thumbView);
-      }
-
-      var promise = this.pdfDocument.getPage(thumbView.id).then(function (pdfPage) {
-        if (!thumbView.pdfPage) {
-          thumbView.setPdfPage(pdfPage);
-        }
-
-        _this2._pagesRequests["delete"](thumbView);
-
-        return pdfPage;
-      })["catch"](function (reason) {
-        console.error("Unable to get page for thumb view", reason);
-
-        _this2._pagesRequests["delete"](thumbView);
-      });
-
-      this._pagesRequests.set(thumbView, promise);
-
-      return promise;
-    }
-  }, {
-    key: "forceRendering",
-    value: function forceRendering() {
-      var _this3 = this;
-
-      var visibleThumbs = this._getVisibleThumbs();
-
-      var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down);
-
-      if (thumbView) {
-        this._ensurePdfPageLoaded(thumbView).then(function () {
-          _this3.renderingQueue.renderView(thumbView);
-        });
-
-        return true;
-      }
-
-      return false;
-    }
-  }, {
-    key: "pagesRotation",
-    get: function get() {
-      return this._pagesRotation;
-    },
-    set: function set(rotation) {
-      if (!(0, _ui_utils.isValidRotation)(rotation)) {
-        throw new Error("Invalid thumbnails rotation angle.");
-      }
-
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      if (this._pagesRotation === rotation) {
-        return;
-      }
-
-      this._pagesRotation = rotation;
-
-      for (var i = 0, ii = this._thumbnails.length; i < ii; i++) {
-        this._thumbnails[i].update(rotation);
-      }
-    }
-  }]);
-
-  return PDFThumbnailViewer;
-}();
-
-exports.PDFThumbnailViewer = PDFThumbnailViewer;
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFThumbnailView = void 0;
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var MAX_NUM_SCALING_STEPS = 3;
-var THUMBNAIL_CANVAS_BORDER_WIDTH = 1;
-var THUMBNAIL_WIDTH = 98;
-
-var TempImageFactory = function TempImageFactoryClosure() {
-  var tempCanvasCache = null;
-  return {
-    getCanvas: function getCanvas(width, height) {
-      var tempCanvas = tempCanvasCache;
-
-      if (!tempCanvas) {
-        tempCanvas = document.createElement("canvas");
-        tempCanvasCache = tempCanvas;
-      }
-
-      tempCanvas.width = width;
-      tempCanvas.height = height;
-      tempCanvas.mozOpaque = true;
-      var ctx = tempCanvas.getContext("2d", {
-        alpha: false
-      });
-      ctx.save();
-      ctx.fillStyle = "rgb(255, 255, 255)";
-      ctx.fillRect(0, 0, width, height);
-      ctx.restore();
-      return tempCanvas;
-    },
-    destroyCanvas: function destroyCanvas() {
-      var tempCanvas = tempCanvasCache;
-
-      if (tempCanvas) {
-        tempCanvas.width = 0;
-        tempCanvas.height = 0;
-      }
-
-      tempCanvasCache = null;
-    }
-  };
-}();
-
-var PDFThumbnailView = /*#__PURE__*/function () {
-  function PDFThumbnailView(_ref) {
-    var container = _ref.container,
-        id = _ref.id,
-        defaultViewport = _ref.defaultViewport,
-        linkService = _ref.linkService,
-        renderingQueue = _ref.renderingQueue,
-        _ref$disableCanvasToI = _ref.disableCanvasToImageConversion,
-        disableCanvasToImageConversion = _ref$disableCanvasToI === void 0 ? false : _ref$disableCanvasToI,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
-
-    _classCallCheck(this, PDFThumbnailView);
-
-    this.id = id;
-    this.renderingId = "thumbnail" + id;
-    this.pageLabel = null;
-    this.pdfPage = null;
-    this.rotation = 0;
-    this.viewport = defaultViewport;
-    this.pdfPageRotate = defaultViewport.rotation;
-    this.linkService = linkService;
-    this.renderingQueue = renderingQueue;
-    this.renderTask = null;
-    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
-    this.resume = null;
-    this.disableCanvasToImageConversion = disableCanvasToImageConversion;
-    this.pageWidth = this.viewport.width;
-    this.pageHeight = this.viewport.height;
-    this.pageRatio = this.pageWidth / this.pageHeight;
-    this.canvasWidth = THUMBNAIL_WIDTH;
-    this.canvasHeight = this.canvasWidth / this.pageRatio | 0;
-    this.scale = this.canvasWidth / this.pageWidth;
-    this.l10n = l10n;
-    var anchor = document.createElement("a");
-    anchor.href = linkService.getAnchorUrl("#page=" + id);
-
-    this._thumbPageTitle.then(function (msg) {
-      anchor.title = msg;
-    });
-
-    anchor.onclick = function () {
-      linkService.page = id;
-      return false;
-    };
-
-    this.anchor = anchor;
-    var div = document.createElement("div");
-    div.className = "thumbnail";
-    div.setAttribute("data-page-number", this.id);
-    this.div = div;
-    var ring = document.createElement("div");
-    ring.className = "thumbnailSelectionRing";
-    var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
-    ring.style.width = this.canvasWidth + borderAdjustment + "px";
-    ring.style.height = this.canvasHeight + borderAdjustment + "px";
-    this.ring = ring;
-    div.appendChild(ring);
-    anchor.appendChild(div);
-    container.appendChild(anchor);
-  }
-
-  _createClass(PDFThumbnailView, [{
-    key: "setPdfPage",
-    value: function setPdfPage(pdfPage) {
-      this.pdfPage = pdfPage;
-      this.pdfPageRotate = pdfPage.rotate;
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = pdfPage.getViewport({
-        scale: 1,
-        rotation: totalRotation
-      });
-      this.reset();
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.cancelRendering();
-      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
-      this.pageWidth = this.viewport.width;
-      this.pageHeight = this.viewport.height;
-      this.pageRatio = this.pageWidth / this.pageHeight;
-      this.canvasHeight = this.canvasWidth / this.pageRatio | 0;
-      this.scale = this.canvasWidth / this.pageWidth;
-      this.div.removeAttribute("data-loaded");
-      var ring = this.ring;
-      var childNodes = ring.childNodes;
-
-      for (var i = childNodes.length - 1; i >= 0; i--) {
-        ring.removeChild(childNodes[i]);
-      }
-
-      var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;
-      ring.style.width = this.canvasWidth + borderAdjustment + "px";
-      ring.style.height = this.canvasHeight + borderAdjustment + "px";
-
-      if (this.canvas) {
-        this.canvas.width = 0;
-        this.canvas.height = 0;
-        delete this.canvas;
-      }
-
-      if (this.image) {
-        this.image.removeAttribute("src");
-        delete this.image;
-      }
-    }
-  }, {
-    key: "update",
-    value: function update(rotation) {
-      if (typeof rotation !== "undefined") {
-        this.rotation = rotation;
-      }
-
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = this.viewport.clone({
-        scale: 1,
-        rotation: totalRotation
-      });
-      this.reset();
-    }
-  }, {
-    key: "cancelRendering",
-    value: function cancelRendering() {
-      if (this.renderTask) {
-        this.renderTask.cancel();
-        this.renderTask = null;
-      }
-
-      this.resume = null;
-    }
-  }, {
-    key: "_getPageDrawContext",
-    value: function _getPageDrawContext() {
-      var noCtxScale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var canvas = document.createElement("canvas");
-      this.canvas = canvas;
-      canvas.mozOpaque = true;
-      var ctx = canvas.getContext("2d", {
-        alpha: false
-      });
-      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
-      canvas.width = this.canvasWidth * outputScale.sx | 0;
-      canvas.height = this.canvasHeight * outputScale.sy | 0;
-      canvas.style.width = this.canvasWidth + "px";
-      canvas.style.height = this.canvasHeight + "px";
-
-      if (!noCtxScale && outputScale.scaled) {
-        ctx.scale(outputScale.sx, outputScale.sy);
-      }
-
-      return ctx;
-    }
-  }, {
-    key: "_convertCanvasToImage",
-    value: function _convertCanvasToImage() {
-      var _this = this;
-
-      if (!this.canvas) {
-        return;
-      }
-
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
-        return;
-      }
-
-      var className = "thumbnailImage";
-
-      if (this.disableCanvasToImageConversion) {
-        this.canvas.className = className;
-
-        this._thumbPageCanvas.then(function (msg) {
-          _this.canvas.setAttribute("aria-label", msg);
-        });
-
-        this.div.setAttribute("data-loaded", true);
-        this.ring.appendChild(this.canvas);
-        return;
-      }
-
-      var image = document.createElement("img");
-      image.className = className;
-
-      this._thumbPageCanvas.then(function (msg) {
-        image.setAttribute("aria-label", msg);
-      });
-
-      image.style.width = this.canvasWidth + "px";
-      image.style.height = this.canvasHeight + "px";
-      image.src = this.canvas.toDataURL();
-      this.image = image;
-      this.div.setAttribute("data-loaded", true);
-      this.ring.appendChild(image);
-      this.canvas.width = 0;
-      this.canvas.height = 0;
-      delete this.canvas;
-    }
-  }, {
-    key: "draw",
-    value: function draw() {
-      var _this2 = this;
-
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
-        console.error("Must be in new state before drawing");
-        return Promise.resolve(undefined);
-      }
-
-      var pdfPage = this.pdfPage;
-
-      if (!pdfPage) {
-        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-        return Promise.reject(new Error("pdfPage is not loaded"));
-      }
-
-      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-      var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
-
-      var finishRenderTask = function finishRenderTask(error) {
-        if (renderTask === _this2.renderTask) {
-          _this2.renderTask = null;
-        }
-
-        if (error instanceof _pdfjsLib.RenderingCancelledException) {
-          renderCapability.resolve(undefined);
-          return;
-        }
-
-        _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-
-        _this2._convertCanvasToImage();
-
-        if (!error) {
-          renderCapability.resolve(undefined);
-        } else {
-          renderCapability.reject(error);
-        }
-      };
-
-      var ctx = this._getPageDrawContext();
-
-      var drawViewport = this.viewport.clone({
-        scale: this.scale
-      });
-
-      var renderContinueCallback = function renderContinueCallback(cont) {
-        if (!_this2.renderingQueue.isHighestPriority(_this2)) {
-          _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
-
-          _this2.resume = function () {
-            _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-            cont();
-          };
-
-          return;
-        }
-
-        cont();
-      };
-
-      var renderContext = {
-        canvasContext: ctx,
-        viewport: drawViewport
-      };
-      var renderTask = this.renderTask = pdfPage.render(renderContext);
-      renderTask.onContinue = renderContinueCallback;
-      renderTask.promise.then(function () {
-        finishRenderTask(null);
-      }, function (error) {
-        finishRenderTask(error);
-      });
-      return renderCapability.promise;
-    }
-  }, {
-    key: "setImage",
-    value: function setImage(pageView) {
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
-        return;
-      }
-
-      var img = pageView.canvas;
-
-      if (!img) {
-        return;
-      }
-
-      if (!this.pdfPage) {
-        this.setPdfPage(pageView.pdfPage);
-      }
-
-      this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-
-      var ctx = this._getPageDrawContext(true);
-
-      var canvas = ctx.canvas;
-
-      if (img.width <= 2 * canvas.width) {
-        ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height);
-
-        this._convertCanvasToImage();
-
-        return;
-      }
-
-      var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;
-      var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;
-      var reducedImage = TempImageFactory.getCanvas(reducedWidth, reducedHeight);
-      var reducedImageCtx = reducedImage.getContext("2d");
-
-      while (reducedWidth > img.width || reducedHeight > img.height) {
-        reducedWidth >>= 1;
-        reducedHeight >>= 1;
-      }
-
-      reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight);
-
-      while (reducedWidth > 2 * canvas.width) {
-        reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1);
-        reducedWidth >>= 1;
-        reducedHeight >>= 1;
-      }
-
-      ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height);
-
-      this._convertCanvasToImage();
-    }
-  }, {
-    key: "setPageLabel",
-    value: function setPageLabel(label) {
-      var _this3 = this;
-
-      this.pageLabel = typeof label === "string" ? label : null;
-
-      this._thumbPageTitle.then(function (msg) {
-        _this3.anchor.title = msg;
-      });
-
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
-        return;
-      }
-
-      this._thumbPageCanvas.then(function (msg) {
-        if (_this3.image) {
-          _this3.image.setAttribute("aria-label", msg);
-        } else if (_this3.disableCanvasToImageConversion && _this3.canvas) {
-          _this3.canvas.setAttribute("aria-label", msg);
-        }
-      });
-    }
-  }, {
-    key: "_thumbPageTitle",
-    get: function get() {
-      return this.l10n.get("thumb_page_title", {
-        page: this.pageLabel !== null ? this.pageLabel : this.id
-      }, "Page {{page}}");
-    }
-  }, {
-    key: "_thumbPageCanvas",
-    get: function get() {
-      return this.l10n.get("thumb_page_canvas", {
-        page: this.pageLabel !== null ? this.pageLabel : this.id
-      }, "Thumbnail of Page {{page}}");
-    }
-  }], [{
-    key: "cleanup",
-    value: function cleanup() {
-      TempImageFactory.destroyCanvas();
-    }
-  }]);
-
-  return PDFThumbnailView;
-}();
-
-exports.PDFThumbnailView = PDFThumbnailView;
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFViewer = void 0;
-
-var _base_viewer = __webpack_require__(28);
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var PDFViewer = /*#__PURE__*/function (_BaseViewer) {
-  _inherits(PDFViewer, _BaseViewer);
-
-  function PDFViewer() {
-    _classCallCheck(this, PDFViewer);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(PDFViewer).apply(this, arguments));
-  }
-
-  _createClass(PDFViewer, [{
-    key: "_scrollIntoView",
-    value: function _scrollIntoView(_ref) {
-      var pageDiv = _ref.pageDiv,
-          _ref$pageSpot = _ref.pageSpot,
-          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
-          _ref$pageNumber = _ref.pageNumber,
-          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
-
-      if (!pageSpot && !this.isInPresentationMode) {
-        var left = pageDiv.offsetLeft + pageDiv.clientLeft;
-        var right = left + pageDiv.clientWidth;
-        var _this$container = this.container,
-            scrollLeft = _this$container.scrollLeft,
-            clientWidth = _this$container.clientWidth;
-
-        if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
-          pageSpot = {
-            left: 0,
-            top: 0
-          };
-        }
-      }
-
-      _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
-        pageDiv: pageDiv,
-        pageSpot: pageSpot,
-        pageNumber: pageNumber
-      });
-    }
-  }, {
-    key: "_getVisiblePages",
-    value: function _getVisiblePages() {
-      if (this.isInPresentationMode) {
-        return this._getCurrentVisiblePage();
-      }
-
-      return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
-    }
-  }, {
-    key: "_updateHelper",
-    value: function _updateHelper(visiblePages) {
-      if (this.isInPresentationMode) {
-        return;
-      }
-
-      var currentId = this._currentPageNumber;
-      var stillFullyVisible = false;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        for (var _iterator = visiblePages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          var page = _step.value;
-
-          if (page.percent < 100) {
-            break;
-          }
-
-          if (page.id === currentId) {
-            stillFullyVisible = true;
-            break;
-          }
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-
-      if (!stillFullyVisible) {
-        currentId = visiblePages[0].id;
-      }
-
-      this._setCurrentPageNumber(currentId);
-    }
-  }, {
-    key: "_setDocumentViewerElement",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, "_setDocumentViewerElement", this.viewer);
-    }
-  }]);
-
-  return PDFViewer;
-}(_base_viewer.BaseViewer);
-
-exports.PDFViewer = PDFViewer;
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.BaseViewer = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-var _annotation_layer_builder = __webpack_require__(29);
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _pdf_page_view = __webpack_require__(30);
-
-var _pdf_link_service = __webpack_require__(21);
-
-var _text_layer_builder = __webpack_require__(31);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_CACHE_SIZE = 10;
-
-function PDFPageViewBuffer(size) {
-  var data = [];
-
-  this.push = function (view) {
-    var i = data.indexOf(view);
-
-    if (i >= 0) {
-      data.splice(i, 1);
-    }
-
-    data.push(view);
-
-    if (data.length > size) {
-      data.shift().destroy();
-    }
-  };
-
-  this.resize = function (newSize, pagesToKeep) {
-    size = newSize;
-
-    if (pagesToKeep) {
-      var pageIdsToKeep = new Set();
-
-      for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
-        pageIdsToKeep.add(pagesToKeep[i].id);
-      }
-
-      (0, _ui_utils.moveToEndOfArray)(data, function (page) {
-        return pageIdsToKeep.has(page.id);
-      });
-    }
-
-    while (data.length > size) {
-      data.shift().destroy();
-    }
-  };
-}
-
-function isSameScale(oldScale, newScale) {
-  if (newScale === oldScale) {
-    return true;
-  }
-
-  if (Math.abs(newScale - oldScale) < 1e-15) {
-    return true;
-  }
-
-  return false;
-}
-
-var BaseViewer = /*#__PURE__*/function () {
-  function BaseViewer(options) {
-    var _this = this;
-
-    _classCallCheck(this, BaseViewer);
-
-    if (this.constructor === BaseViewer) {
-      throw new Error("Cannot initialize BaseViewer.");
-    }
-
-    this._name = this.constructor.name;
-    this.container = options.container;
-    this.viewer = options.viewer || options.container.firstElementChild;
-    this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
-    this.downloadManager = options.downloadManager || null;
-    this.findController = options.findController || null;
-    this.removePageBorders = options.removePageBorders || false;
-    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
-    this.imageResourcesPath = options.imageResourcesPath || "";
-    this.renderInteractiveForms = options.renderInteractiveForms || false;
-    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
-    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
-    this.enableWebGL = options.enableWebGL || false;
-    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
-    this.maxCanvasPixels = options.maxCanvasPixels;
-    this.l10n = options.l10n || _ui_utils.NullL10n;
-    this.defaultRenderingQueue = !options.renderingQueue;
-
-    if (this.defaultRenderingQueue) {
-      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
-      this.renderingQueue.setViewer(this);
-    } else {
-      this.renderingQueue = options.renderingQueue;
-    }
-
-    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
-    this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
-    this._onBeforeDraw = this._onAfterDraw = null;
-
-    this._resetView();
-
-    if (this.removePageBorders) {
-      this.viewer.classList.add("removePageBorders");
-    }
-
-    Promise.resolve().then(function () {
-      _this.eventBus.dispatch("baseviewerinit", {
-        source: _this
-      });
-    });
-  }
-
-  _createClass(BaseViewer, [{
-    key: "getPageView",
-    value: function getPageView(index) {
-      return this._pages[index];
-    }
-  }, {
-    key: "_setCurrentPageNumber",
-    value: function _setCurrentPageNumber(val) {
-      var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
-      if (this._currentPageNumber === val) {
-        if (resetCurrentPageView) {
-          this._resetCurrentPageView();
-        }
-
-        return true;
-      }
-
-      if (!(0 < val && val <= this.pagesCount)) {
-        return false;
-      }
-
-      this._currentPageNumber = val;
-      this.eventBus.dispatch("pagechanging", {
-        source: this,
-        pageNumber: val,
-        pageLabel: this._pageLabels && this._pageLabels[val - 1]
-      });
-
-      if (resetCurrentPageView) {
-        this._resetCurrentPageView();
-      }
-
-      return true;
-    }
-  }, {
-    key: "setDocument",
-    value: function setDocument(pdfDocument) {
-      var _this2 = this;
-
-      if (this.pdfDocument) {
-        this._cancelRendering();
-
-        this._resetView();
-
-        if (this.findController) {
-          this.findController.setDocument(null);
-        }
-      }
-
-      this.pdfDocument = pdfDocument;
-
-      if (!pdfDocument) {
-        return;
-      }
-
-      var pagesCount = pdfDocument.numPages;
-      var firstPagePromise = pdfDocument.getPage(1);
-
-      this._pagesCapability.promise.then(function () {
-        _this2.eventBus.dispatch("pagesloaded", {
-          source: _this2,
-          pagesCount: pagesCount
-        });
-      });
-
-      this._onBeforeDraw = function (evt) {
-        var pageView = _this2._pages[evt.pageNumber - 1];
-
-        if (!pageView) {
-          return;
-        }
-
-        _this2._buffer.push(pageView);
-      };
-
-      this.eventBus._on("pagerender", this._onBeforeDraw);
-
-      this._onAfterDraw = function (evt) {
-        if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {
-          return;
-        }
-
-        _this2._onePageRenderedCapability.resolve();
-
-        _this2.eventBus._off("pagerendered", _this2._onAfterDraw);
-
-        _this2._onAfterDraw = null;
-      };
-
-      this.eventBus._on("pagerendered", this._onAfterDraw);
-
-      firstPagePromise.then(function (firstPdfPage) {
-        _this2._firstPageCapability.resolve(firstPdfPage);
-
-        var scale = _this2.currentScale;
-        var viewport = firstPdfPage.getViewport({
-          scale: scale * _ui_utils.CSS_UNITS
-        });
-        var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;
-
-        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
-          var pageView = new _pdf_page_view.PDFPageView({
-            container: _this2._setDocumentViewerElement,
-            eventBus: _this2.eventBus,
-            id: pageNum,
-            scale: scale,
-            defaultViewport: viewport.clone(),
-            renderingQueue: _this2.renderingQueue,
-            textLayerFactory: textLayerFactory,
-            textLayerMode: _this2.textLayerMode,
-            annotationLayerFactory: _this2,
-            imageResourcesPath: _this2.imageResourcesPath,
-            renderInteractiveForms: _this2.renderInteractiveForms,
-            renderer: _this2.renderer,
-            enableWebGL: _this2.enableWebGL,
-            useOnlyCssZoom: _this2.useOnlyCssZoom,
-            maxCanvasPixels: _this2.maxCanvasPixels,
-            l10n: _this2.l10n
-          });
-
-          _this2._pages.push(pageView);
-        }
-
-        var firstPageView = _this2._pages[0];
-
-        if (firstPageView) {
-          firstPageView.setPdfPage(firstPdfPage);
-
-          _this2.linkService.cachePageRef(1, firstPdfPage.ref);
-        }
-
-        if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
-          _this2._updateSpreadMode();
-        }
-
-        _this2._onePageRenderedCapability.promise.then(function () {
-          if (_this2.findController) {
-            _this2.findController.setDocument(pdfDocument);
-          }
-
-          if (pdfDocument.loadingParams["disableAutoFetch"] || pagesCount > 7500) {
-            _this2._pagesCapability.resolve();
-
-            return;
-          }
-
-          var getPagesLeft = pagesCount - 1;
-
-          if (getPagesLeft <= 0) {
-            _this2._pagesCapability.resolve();
-
-            return;
-          }
-
-          var _loop = function _loop(_pageNum) {
-            pdfDocument.getPage(_pageNum).then(function (pdfPage) {
-              var pageView = _this2._pages[_pageNum - 1];
-
-              if (!pageView.pdfPage) {
-                pageView.setPdfPage(pdfPage);
-              }
-
-              _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);
-
-              if (--getPagesLeft === 0) {
-                _this2._pagesCapability.resolve();
-              }
-            }, function (reason) {
-              console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);
-
-              if (--getPagesLeft === 0) {
-                _this2._pagesCapability.resolve();
-              }
-            });
-          };
-
-          for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {
-            _loop(_pageNum);
-          }
-        });
-
-        _this2.eventBus.dispatch("pagesinit", {
-          source: _this2
-        });
-
-        if (_this2.defaultRenderingQueue) {
-          _this2.update();
-        }
-      })["catch"](function (reason) {
-        console.error("Unable to initialize viewer", reason);
-      });
-    }
-  }, {
-    key: "setPageLabels",
-    value: function setPageLabels(labels) {
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      if (!labels) {
-        this._pageLabels = null;
-      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
-        this._pageLabels = null;
-        console.error("".concat(this._name, ".setPageLabels: Invalid page labels."));
-      } else {
-        this._pageLabels = labels;
-      }
-
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        var pageView = this._pages[i];
-        var label = this._pageLabels && this._pageLabels[i];
-        pageView.setPageLabel(label);
-      }
-    }
-  }, {
-    key: "_resetView",
-    value: function _resetView() {
-      this._pages = [];
-      this._currentPageNumber = 1;
-      this._currentScale = _ui_utils.UNKNOWN_SCALE;
-      this._currentScaleValue = null;
-      this._pageLabels = null;
-      this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
-      this._location = null;
-      this._pagesRotation = 0;
-      this._pagesRequests = new WeakMap();
-      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
-      this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
-      this._spreadMode = _ui_utils.SpreadMode.NONE;
-
-      if (this._onBeforeDraw) {
-        this.eventBus._off("pagerender", this._onBeforeDraw);
-
-        this._onBeforeDraw = null;
-      }
-
-      if (this._onAfterDraw) {
-        this.eventBus._off("pagerendered", this._onAfterDraw);
-
-        this._onAfterDraw = null;
-      }
-
-      this.viewer.textContent = "";
-
-      this._updateScrollMode();
-    }
-  }, {
-    key: "_scrollUpdate",
-    value: function _scrollUpdate() {
-      if (this.pagesCount === 0) {
-        return;
-      }
-
-      this.update();
-    }
-  }, {
-    key: "_scrollIntoView",
-    value: function _scrollIntoView(_ref) {
-      var pageDiv = _ref.pageDiv,
-          _ref$pageSpot = _ref.pageSpot,
-          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
-          _ref$pageNumber = _ref.pageNumber,
-          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
-      (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
-    }
-  }, {
-    key: "_setScaleUpdatePages",
-    value: function _setScaleUpdatePages(newScale, newValue) {
-      var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-      var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      this._currentScaleValue = newValue.toString();
-
-      if (isSameScale(this._currentScale, newScale)) {
-        if (preset) {
-          this.eventBus.dispatch("scalechanging", {
-            source: this,
-            scale: newScale,
-            presetValue: newValue
-          });
-        }
-
-        return;
-      }
-
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        this._pages[i].update(newScale);
-      }
-
-      this._currentScale = newScale;
-
-      if (!noScroll) {
-        var page = this._currentPageNumber,
-            dest;
-
-        if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
-          page = this._location.pageNumber;
-          dest = [null, {
-            name: "XYZ"
-          }, this._location.left, this._location.top, null];
-        }
-
-        this.scrollPageIntoView({
-          pageNumber: page,
-          destArray: dest,
-          allowNegativeOffset: true
-        });
-      }
-
-      this.eventBus.dispatch("scalechanging", {
-        source: this,
-        scale: newScale,
-        presetValue: preset ? newValue : undefined
-      });
-
-      if (this.defaultRenderingQueue) {
-        this.update();
-      }
-    }
-  }, {
-    key: "_setScale",
-    value: function _setScale(value) {
-      var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var scale = parseFloat(value);
-
-      if (scale > 0) {
-        this._setScaleUpdatePages(scale, value, noScroll, false);
-      } else {
-        var currentPage = this._pages[this._currentPageNumber - 1];
-
-        if (!currentPage) {
-          return;
-        }
-
-        var noPadding = this.isInPresentationMode || this.removePageBorders;
-        var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
-        var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;
-
-        if (!noPadding && this._isScrollModeHorizontal) {
-          var _ref2 = [vPadding, hPadding];
-          hPadding = _ref2[0];
-          vPadding = _ref2[1];
-        }
-
-        var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;
-        var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;
-
-        switch (value) {
-          case "page-actual":
-            scale = 1;
-            break;
-
-          case "page-width":
-            scale = pageWidthScale;
-            break;
-
-          case "page-height":
-            scale = pageHeightScale;
-            break;
-
-          case "page-fit":
-            scale = Math.min(pageWidthScale, pageHeightScale);
-            break;
-
-          case "auto":
-            var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
-            scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
-            break;
-
-          default:
-            console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value."));
-            return;
-        }
-
-        this._setScaleUpdatePages(scale, value, noScroll, true);
-      }
-    }
-  }, {
-    key: "_resetCurrentPageView",
-    value: function _resetCurrentPageView() {
-      if (this.isInPresentationMode) {
-        this._setScale(this._currentScaleValue, true);
-      }
-
-      var pageView = this._pages[this._currentPageNumber - 1];
-
-      this._scrollIntoView({
-        pageDiv: pageView.div
-      });
-    }
-  }, {
-    key: "scrollPageIntoView",
-    value: function scrollPageIntoView(_ref3) {
-      var pageNumber = _ref3.pageNumber,
-          _ref3$destArray = _ref3.destArray,
-          destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,
-          _ref3$allowNegativeOf = _ref3.allowNegativeOffset,
-          allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,
-          _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,
-          ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;
-
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];
-
-      if (!pageView) {
-        console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
-        return;
-      }
-
-      if (this.isInPresentationMode || !destArray) {
-        this._setCurrentPageNumber(pageNumber, true);
-
-        return;
-      }
-
-      var x = 0,
-          y = 0;
-      var width = 0,
-          height = 0,
-          widthScale,
-          heightScale;
-      var changeOrientation = pageView.rotation % 180 !== 0;
-      var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;
-      var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;
-      var scale = 0;
-
-      switch (destArray[1].name) {
-        case "XYZ":
-          x = destArray[2];
-          y = destArray[3];
-          scale = destArray[4];
-          x = x !== null ? x : 0;
-          y = y !== null ? y : pageHeight;
-          break;
-
-        case "Fit":
-        case "FitB":
-          scale = "page-fit";
-          break;
-
-        case "FitH":
-        case "FitBH":
-          y = destArray[2];
-          scale = "page-width";
-
-          if (y === null && this._location) {
-            x = this._location.left;
-            y = this._location.top;
-          }
-
-          break;
-
-        case "FitV":
-        case "FitBV":
-          x = destArray[2];
-          width = pageWidth;
-          height = pageHeight;
-          scale = "page-height";
-          break;
-
-        case "FitR":
-          x = destArray[2];
-          y = destArray[3];
-          width = destArray[4] - x;
-          height = destArray[5] - y;
-          var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
-          var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
-          widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;
-          heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
-          scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
-          break;
-
-        default:
-          console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type."));
-          return;
-      }
-
-      if (!ignoreDestinationZoom) {
-        if (scale && scale !== this._currentScale) {
-          this.currentScaleValue = scale;
-        } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
-          this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
-        }
-      }
-
-      if (scale === "page-fit" && !destArray[4]) {
-        this._scrollIntoView({
-          pageDiv: pageView.div,
-          pageNumber: pageNumber
-        });
-
-        return;
-      }
-
-      var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
-      var left = Math.min(boundingRect[0][0], boundingRect[1][0]);
-      var top = Math.min(boundingRect[0][1], boundingRect[1][1]);
-
-      if (!allowNegativeOffset) {
-        left = Math.max(left, 0);
-        top = Math.max(top, 0);
-      }
-
-      this._scrollIntoView({
-        pageDiv: pageView.div,
-        pageSpot: {
-          left: left,
-          top: top
-        },
-        pageNumber: pageNumber
-      });
-    }
-  }, {
-    key: "_updateLocation",
-    value: function _updateLocation(firstPage) {
-      var currentScale = this._currentScale;
-      var currentScaleValue = this._currentScaleValue;
-      var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
-      var pageNumber = firstPage.id;
-      var pdfOpenParams = "#page=" + pageNumber;
-      pdfOpenParams += "&zoom=" + normalizedScaleValue;
-      var currentPageView = this._pages[pageNumber - 1];
-      var container = this.container;
-      var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
-      var intLeft = Math.round(topLeft[0]);
-      var intTop = Math.round(topLeft[1]);
-      pdfOpenParams += "," + intLeft + "," + intTop;
-      this._location = {
-        pageNumber: pageNumber,
-        scale: normalizedScaleValue,
-        top: intTop,
-        left: intLeft,
-        rotation: this._pagesRotation,
-        pdfOpenParams: pdfOpenParams
-      };
-    }
-  }, {
-    key: "_updateHelper",
-    value: function _updateHelper(visiblePages) {
-      throw new Error("Not implemented: _updateHelper");
-    }
-  }, {
-    key: "update",
-    value: function update() {
-      var visible = this._getVisiblePages();
-
-      var visiblePages = visible.views,
-          numVisiblePages = visiblePages.length;
-
-      if (numVisiblePages === 0) {
-        return;
-      }
-
-      var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);
-
-      this._buffer.resize(newCacheSize, visiblePages);
-
-      this.renderingQueue.renderHighestPriority(visible);
-
-      this._updateHelper(visiblePages);
-
-      this._updateLocation(visible.first);
-
-      this.eventBus.dispatch("updateviewarea", {
-        source: this,
-        location: this._location
-      });
-    }
-  }, {
-    key: "containsElement",
-    value: function containsElement(element) {
-      return this.container.contains(element);
-    }
-  }, {
-    key: "focus",
-    value: function focus() {
-      this.container.focus();
-    }
-  }, {
-    key: "_getCurrentVisiblePage",
-    value: function _getCurrentVisiblePage() {
-      if (!this.pagesCount) {
-        return {
-          views: []
-        };
-      }
-
-      var pageView = this._pages[this._currentPageNumber - 1];
-      var element = pageView.div;
-      var view = {
-        id: pageView.id,
-        x: element.offsetLeft + element.clientLeft,
-        y: element.offsetTop + element.clientTop,
-        view: pageView
-      };
-      return {
-        first: view,
-        last: view,
-        views: [view]
-      };
-    }
-  }, {
-    key: "_getVisiblePages",
-    value: function _getVisiblePages() {
-      return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);
-    }
-  }, {
-    key: "isPageVisible",
-    value: function isPageVisible(pageNumber) {
-      if (!this.pdfDocument) {
-        return false;
-      }
-
-      if (pageNumber < 1 || pageNumber > this.pagesCount) {
-        console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is out of bounds."));
-        return false;
-      }
-
-      return this._getVisiblePages().views.some(function (view) {
-        return view.id === pageNumber;
-      });
-    }
-  }, {
-    key: "cleanup",
-    value: function cleanup() {
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
-          this._pages[i].reset();
-        }
-      }
-    }
-  }, {
-    key: "_cancelRendering",
-    value: function _cancelRendering() {
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        if (this._pages[i]) {
-          this._pages[i].cancelRendering();
-        }
-      }
-    }
-  }, {
-    key: "_ensurePdfPageLoaded",
-    value: function _ensurePdfPageLoaded(pageView) {
-      var _this3 = this;
-
-      if (pageView.pdfPage) {
-        return Promise.resolve(pageView.pdfPage);
-      }
-
-      if (this._pagesRequests.has(pageView)) {
-        return this._pagesRequests.get(pageView);
-      }
-
-      var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {
-        if (!pageView.pdfPage) {
-          pageView.setPdfPage(pdfPage);
-        }
-
-        _this3._pagesRequests["delete"](pageView);
-
-        return pdfPage;
-      })["catch"](function (reason) {
-        console.error("Unable to get page for page view", reason);
-
-        _this3._pagesRequests["delete"](pageView);
-      });
-
-      this._pagesRequests.set(pageView, promise);
-
-      return promise;
-    }
-  }, {
-    key: "forceRendering",
-    value: function forceRendering(currentlyVisiblePages) {
-      var _this4 = this;
-
-      var visiblePages = currentlyVisiblePages || this._getVisiblePages();
-
-      var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
-      var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);
-
-      if (pageView) {
-        this._ensurePdfPageLoaded(pageView).then(function () {
-          _this4.renderingQueue.renderView(pageView);
-        });
-
-        return true;
-      }
-
-      return false;
-    }
-  }, {
-    key: "createTextLayerBuilder",
-    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
-      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
-      return new _text_layer_builder.TextLayerBuilder({
-        textLayerDiv: textLayerDiv,
-        eventBus: eventBus,
-        pageIndex: pageIndex,
-        viewport: viewport,
-        findController: this.isInPresentationMode ? null : this.findController,
-        enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection
-      });
-    }
-  }, {
-    key: "createAnnotationLayerBuilder",
-    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
-      var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
-      var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;
-      return new _annotation_layer_builder.AnnotationLayerBuilder({
-        pageDiv: pageDiv,
-        pdfPage: pdfPage,
-        imageResourcesPath: imageResourcesPath,
-        renderInteractiveForms: renderInteractiveForms,
-        linkService: this.linkService,
-        downloadManager: this.downloadManager,
-        l10n: l10n
-      });
-    }
-  }, {
-    key: "getPagesOverview",
-    value: function getPagesOverview() {
-      var pagesOverview = this._pages.map(function (pageView) {
-        var viewport = pageView.pdfPage.getViewport({
-          scale: 1
-        });
-        return {
-          width: viewport.width,
-          height: viewport.height,
-          rotation: viewport.rotation
-        };
-      });
-
-      if (!this.enablePrintAutoRotate) {
-        return pagesOverview;
-      }
-
-      var isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);
-      return pagesOverview.map(function (size) {
-        if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {
-          return size;
-        }
-
-        return {
-          width: size.height,
-          height: size.width,
-          rotation: (size.rotation + 90) % 360
-        };
-      });
-    }
-  }, {
-    key: "_updateScrollMode",
-    value: function _updateScrollMode() {
-      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-      var scrollMode = this._scrollMode,
-          viewer = this.viewer;
-      viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
-      viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED);
-
-      if (!this.pdfDocument || !pageNumber) {
-        return;
-      }
-
-      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
-        this._setScale(this._currentScaleValue, true);
-      }
-
-      this._setCurrentPageNumber(pageNumber, true);
-
-      this.update();
-    }
-  }, {
-    key: "_updateSpreadMode",
-    value: function _updateSpreadMode() {
-      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      var viewer = this.viewer,
-          pages = this._pages;
-      viewer.textContent = "";
-
-      if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
-        for (var i = 0, iMax = pages.length; i < iMax; ++i) {
-          viewer.appendChild(pages[i].div);
-        }
-      } else {
-        var parity = this._spreadMode - 1;
-        var spread = null;
-
-        for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {
-          if (spread === null) {
-            spread = document.createElement("div");
-            spread.className = "spread";
-            viewer.appendChild(spread);
-          } else if (_i % 2 === parity) {
-            spread = spread.cloneNode(false);
-            viewer.appendChild(spread);
-          }
-
-          spread.appendChild(pages[_i].div);
-        }
-      }
-
-      if (!pageNumber) {
-        return;
-      }
-
-      this._setCurrentPageNumber(pageNumber, true);
-
-      this.update();
-    }
-  }, {
-    key: "pagesCount",
-    get: function get() {
-      return this._pages.length;
-    }
-  }, {
-    key: "pageViewsReady",
-    get: function get() {
-      if (!this._pagesCapability.settled) {
-        return false;
-      }
-
-      return this._pages.every(function (pageView) {
-        return pageView && pageView.pdfPage;
-      });
-    }
-  }, {
-    key: "currentPageNumber",
-    get: function get() {
-      return this._currentPageNumber;
-    },
-    set: function set(val) {
-      if (!Number.isInteger(val)) {
-        throw new Error("Invalid page number.");
-      }
-
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      if (!this._setCurrentPageNumber(val, true)) {
-        console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page."));
-      }
-    }
-  }, {
-    key: "currentPageLabel",
-    get: function get() {
-      return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];
-    },
-    set: function set(val) {
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      var page = val | 0;
-
-      if (this._pageLabels) {
-        var i = this._pageLabels.indexOf(val);
-
-        if (i >= 0) {
-          page = i + 1;
-        }
-      }
-
-      if (!this._setCurrentPageNumber(page, true)) {
-        console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page."));
-      }
-    }
-  }, {
-    key: "currentScale",
-    get: function get() {
-      return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
-    },
-    set: function set(val) {
-      if (isNaN(val)) {
-        throw new Error("Invalid numeric scale.");
-      }
-
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      this._setScale(val, false);
-    }
-  }, {
-    key: "currentScaleValue",
-    get: function get() {
-      return this._currentScaleValue;
-    },
-    set: function set(val) {
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      this._setScale(val, false);
-    }
-  }, {
-    key: "pagesRotation",
-    get: function get() {
-      return this._pagesRotation;
-    },
-    set: function set(rotation) {
-      if (!(0, _ui_utils.isValidRotation)(rotation)) {
-        throw new Error("Invalid pages rotation angle.");
-      }
-
-      if (!this.pdfDocument) {
-        return;
-      }
-
-      if (this._pagesRotation === rotation) {
-        return;
-      }
-
-      this._pagesRotation = rotation;
-      var pageNumber = this._currentPageNumber;
-
-      for (var i = 0, ii = this._pages.length; i < ii; i++) {
-        var pageView = this._pages[i];
-        pageView.update(pageView.scale, rotation);
-      }
-
-      if (this._currentScaleValue) {
-        this._setScale(this._currentScaleValue, true);
-      }
-
-      this.eventBus.dispatch("rotationchanging", {
-        source: this,
-        pagesRotation: rotation,
-        pageNumber: pageNumber
-      });
-
-      if (this.defaultRenderingQueue) {
-        this.update();
-      }
-    }
-  }, {
-    key: "firstPagePromise",
-    get: function get() {
-      return this.pdfDocument ? this._firstPageCapability.promise : null;
-    }
-  }, {
-    key: "onePageRendered",
-    get: function get() {
-      return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
-    }
-  }, {
-    key: "pagesPromise",
-    get: function get() {
-      return this.pdfDocument ? this._pagesCapability.promise : null;
-    }
-  }, {
-    key: "_setDocumentViewerElement",
-    get: function get() {
-      throw new Error("Not implemented: _setDocumentViewerElement");
-    }
-  }, {
-    key: "_isScrollModeHorizontal",
-    get: function get() {
-      return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
-    }
-  }, {
-    key: "isInPresentationMode",
-    get: function get() {
-      return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
-    }
-  }, {
-    key: "isChangingPresentationMode",
-    get: function get() {
-      return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
-    }
-  }, {
-    key: "isHorizontalScrollbarEnabled",
-    get: function get() {
-      return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
-    }
-  }, {
-    key: "isVerticalScrollbarEnabled",
-    get: function get() {
-      return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
-    }
-  }, {
-    key: "hasEqualPageSizes",
-    get: function get() {
-      var firstPageView = this._pages[0];
-
-      for (var i = 1, ii = this._pages.length; i < ii; ++i) {
-        var pageView = this._pages[i];
-
-        if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
-          return false;
-        }
-      }
-
-      return true;
-    }
-  }, {
-    key: "scrollMode",
-    get: function get() {
-      return this._scrollMode;
-    },
-    set: function set(mode) {
-      if (this._scrollMode === mode) {
-        return;
-      }
-
-      if (!(0, _ui_utils.isValidScrollMode)(mode)) {
-        throw new Error("Invalid scroll mode: ".concat(mode));
-      }
-
-      this._scrollMode = mode;
-      this.eventBus.dispatch("scrollmodechanged", {
-        source: this,
-        mode: mode
-      });
-
-      this._updateScrollMode(this._currentPageNumber);
-    }
-  }, {
-    key: "spreadMode",
-    get: function get() {
-      return this._spreadMode;
-    },
-    set: function set(mode) {
-      if (this._spreadMode === mode) {
-        return;
-      }
-
-      if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
-        throw new Error("Invalid spread mode: ".concat(mode));
-      }
-
-      this._spreadMode = mode;
-      this.eventBus.dispatch("spreadmodechanged", {
-        source: this,
-        mode: mode
-      });
-
-      this._updateSpreadMode(this._currentPageNumber);
-    }
-  }]);
-
-  return BaseViewer;
-}();
-
-exports.BaseViewer = BaseViewer;
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_link_service = __webpack_require__(21);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var AnnotationLayerBuilder = /*#__PURE__*/function () {
-  function AnnotationLayerBuilder(_ref) {
-    var pageDiv = _ref.pageDiv,
-        pdfPage = _ref.pdfPage,
-        linkService = _ref.linkService,
-        downloadManager = _ref.downloadManager,
-        _ref$imageResourcesPa = _ref.imageResourcesPath,
-        imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa,
-        _ref$renderInteractiv = _ref.renderInteractiveForms,
-        renderInteractiveForms = _ref$renderInteractiv === void 0 ? false : _ref$renderInteractiv,
-        _ref$l10n = _ref.l10n,
-        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;
-
-    _classCallCheck(this, AnnotationLayerBuilder);
-
-    this.pageDiv = pageDiv;
-    this.pdfPage = pdfPage;
-    this.linkService = linkService;
-    this.downloadManager = downloadManager;
-    this.imageResourcesPath = imageResourcesPath;
-    this.renderInteractiveForms = renderInteractiveForms;
-    this.l10n = l10n;
-    this.div = null;
-    this._cancelled = false;
-  }
-
-  _createClass(AnnotationLayerBuilder, [{
-    key: "render",
-    value: function render(viewport) {
-      var _this = this;
-
-      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display";
-      this.pdfPage.getAnnotations({
-        intent: intent
-      }).then(function (annotations) {
-        if (_this._cancelled) {
-          return;
-        }
-
-        var parameters = {
-          viewport: viewport.clone({
-            dontFlip: true
-          }),
-          div: _this.div,
-          annotations: annotations,
-          page: _this.pdfPage,
-          imageResourcesPath: _this.imageResourcesPath,
-          renderInteractiveForms: _this.renderInteractiveForms,
-          linkService: _this.linkService,
-          downloadManager: _this.downloadManager
-        };
-
-        if (_this.div) {
-          _pdfjsLib.AnnotationLayer.update(parameters);
-        } else {
-          if (annotations.length === 0) {
-            return;
-          }
-
-          _this.div = document.createElement("div");
-          _this.div.className = "annotationLayer";
-
-          _this.pageDiv.appendChild(_this.div);
-
-          parameters.div = _this.div;
-
-          _pdfjsLib.AnnotationLayer.render(parameters);
-
-          _this.l10n.translate(_this.div);
-        }
-      });
-    }
-  }, {
-    key: "cancel",
-    value: function cancel() {
-      this._cancelled = true;
-    }
-  }, {
-    key: "hide",
-    value: function hide() {
-      if (!this.div) {
-        return;
-      }
-
-      this.div.setAttribute("hidden", "true");
-    }
-  }]);
-
-  return AnnotationLayerBuilder;
-}();
-
-exports.AnnotationLayerBuilder = AnnotationLayerBuilder;
-
-var DefaultAnnotationLayerFactory = /*#__PURE__*/function () {
-  function DefaultAnnotationLayerFactory() {
-    _classCallCheck(this, DefaultAnnotationLayerFactory);
-  }
-
-  _createClass(DefaultAnnotationLayerFactory, [{
-    key: "createAnnotationLayerBuilder",
-    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
-      var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
-      var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n;
-      return new AnnotationLayerBuilder({
-        pageDiv: pageDiv,
-        pdfPage: pdfPage,
-        imageResourcesPath: imageResourcesPath,
-        renderInteractiveForms: renderInteractiveForms,
-        linkService: new _pdf_link_service.SimpleLinkService(),
-        l10n: l10n
-      });
-    }
-  }]);
-
-  return DefaultAnnotationLayerFactory;
-}();
-
-exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFPageView = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-var _pdf_rendering_queue = __webpack_require__(11);
-
-var _viewer_compatibility = __webpack_require__(8);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;
-
-var PDFPageView = /*#__PURE__*/function () {
-  function PDFPageView(options) {
-    _classCallCheck(this, PDFPageView);
-
-    var container = options.container;
-    var defaultViewport = options.defaultViewport;
-    this.id = options.id;
-    this.renderingId = "page" + this.id;
-    this.pdfPage = null;
-    this.pageLabel = null;
-    this.rotation = 0;
-    this.scale = options.scale || _ui_utils.DEFAULT_SCALE;
-    this.viewport = defaultViewport;
-    this.pdfPageRotate = defaultViewport.rotation;
-    this.hasRestrictedScaling = false;
-    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
-    this.imageResourcesPath = options.imageResourcesPath || "";
-    this.renderInteractiveForms = options.renderInteractiveForms || false;
-    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
-    this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
-    this.eventBus = options.eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.renderingQueue = options.renderingQueue;
-    this.textLayerFactory = options.textLayerFactory;
-    this.annotationLayerFactory = options.annotationLayerFactory;
-    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
-    this.enableWebGL = options.enableWebGL || false;
-    this.l10n = options.l10n || _ui_utils.NullL10n;
-    this.paintTask = null;
-    this.paintedViewportMap = new WeakMap();
-    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
-    this.resume = null;
-    this.error = null;
-    this.annotationLayer = null;
-    this.textLayer = null;
-    this.zoomLayer = null;
-    var div = document.createElement("div");
-    div.className = "page";
-    div.style.width = Math.floor(this.viewport.width) + "px";
-    div.style.height = Math.floor(this.viewport.height) + "px";
-    div.setAttribute("data-page-number", this.id);
-    this.div = div;
-    container.appendChild(div);
-  }
-
-  _createClass(PDFPageView, [{
-    key: "setPdfPage",
-    value: function setPdfPage(pdfPage) {
-      this.pdfPage = pdfPage;
-      this.pdfPageRotate = pdfPage.rotate;
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = pdfPage.getViewport({
-        scale: this.scale * _ui_utils.CSS_UNITS,
-        rotation: totalRotation
-      });
-      this.stats = pdfPage.stats;
-      this.reset();
-    }
-  }, {
-    key: "destroy",
-    value: function destroy() {
-      this.reset();
-
-      if (this.pdfPage) {
-        this.pdfPage.cleanup();
-      }
-    }
-  }, {
-    key: "_resetZoomLayer",
-    value: function _resetZoomLayer() {
-      var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (!this.zoomLayer) {
-        return;
-      }
-
-      var zoomLayerCanvas = this.zoomLayer.firstChild;
-      this.paintedViewportMap["delete"](zoomLayerCanvas);
-      zoomLayerCanvas.width = 0;
-      zoomLayerCanvas.height = 0;
-
-      if (removeFromDOM) {
-        this.zoomLayer.remove();
-      }
-
-      this.zoomLayer = null;
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      this.cancelRendering(keepAnnotations);
-      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
-      var div = this.div;
-      div.style.width = Math.floor(this.viewport.width) + "px";
-      div.style.height = Math.floor(this.viewport.height) + "px";
-      var childNodes = div.childNodes;
-      var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;
-      var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;
-
-      for (var i = childNodes.length - 1; i >= 0; i--) {
-        var node = childNodes[i];
-
-        if (currentZoomLayerNode === node || currentAnnotationNode === node) {
-          continue;
-        }
-
-        div.removeChild(node);
-      }
-
-      div.removeAttribute("data-loaded");
-
-      if (currentAnnotationNode) {
-        this.annotationLayer.hide();
-      } else if (this.annotationLayer) {
-        this.annotationLayer.cancel();
-        this.annotationLayer = null;
-      }
-
-      if (!currentZoomLayerNode) {
-        if (this.canvas) {
-          this.paintedViewportMap["delete"](this.canvas);
-          this.canvas.width = 0;
-          this.canvas.height = 0;
-          delete this.canvas;
-        }
-
-        this._resetZoomLayer();
-      }
-
-      if (this.svg) {
-        this.paintedViewportMap["delete"](this.svg);
-        delete this.svg;
-      }
-
-      this.loadingIconDiv = document.createElement("div");
-      this.loadingIconDiv.className = "loadingIcon";
-      div.appendChild(this.loadingIconDiv);
-    }
-  }, {
-    key: "update",
-    value: function update(scale, rotation) {
-      this.scale = scale || this.scale;
-
-      if (typeof rotation !== "undefined") {
-        this.rotation = rotation;
-      }
-
-      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
-      this.viewport = this.viewport.clone({
-        scale: this.scale * _ui_utils.CSS_UNITS,
-        rotation: totalRotation
-      });
-
-      if (this.svg) {
-        this.cssTransform(this.svg, true);
-        this.eventBus.dispatch("pagerendered", {
-          source: this,
-          pageNumber: this.id,
-          cssTransform: true,
-          timestamp: performance.now()
-        });
-        return;
-      }
-
-      var isScalingRestricted = false;
-
-      if (this.canvas && this.maxCanvasPixels > 0) {
-        var outputScale = this.outputScale;
-
-        if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {
-          isScalingRestricted = true;
-        }
-      }
-
-      if (this.canvas) {
-        if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
-          this.cssTransform(this.canvas, true);
-          this.eventBus.dispatch("pagerendered", {
-            source: this,
-            pageNumber: this.id,
-            cssTransform: true,
-            timestamp: performance.now()
-          });
-          return;
-        }
-
-        if (!this.zoomLayer && !this.canvas.hasAttribute("hidden")) {
-          this.zoomLayer = this.canvas.parentNode;
-          this.zoomLayer.style.position = "absolute";
-        }
-      }
-
-      if (this.zoomLayer) {
-        this.cssTransform(this.zoomLayer.firstChild);
-      }
-
-      this.reset(true, true);
-    }
-  }, {
-    key: "cancelRendering",
-    value: function cancelRendering() {
-      var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (this.paintTask) {
-        this.paintTask.cancel();
-        this.paintTask = null;
-      }
-
-      this.resume = null;
-
-      if (this.textLayer) {
-        this.textLayer.cancel();
-        this.textLayer = null;
-      }
-
-      if (!keepAnnotations && this.annotationLayer) {
-        this.annotationLayer.cancel();
-        this.annotationLayer = null;
-      }
-    }
-  }, {
-    key: "cssTransform",
-    value: function cssTransform(target) {
-      var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-      var width = this.viewport.width;
-      var height = this.viewport.height;
-      var div = this.div;
-      target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px";
-      target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px";
-      var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
-      var absRotation = Math.abs(relativeRotation);
-      var scaleX = 1,
-          scaleY = 1;
-
-      if (absRotation === 90 || absRotation === 270) {
-        scaleX = height / width;
-        scaleY = width / height;
-      }
-
-      var cssTransform = "rotate(" + relativeRotation + "deg) " + "scale(" + scaleX + "," + scaleY + ")";
-      target.style.transform = cssTransform;
-
-      if (this.textLayer) {
-        var textLayerViewport = this.textLayer.viewport;
-        var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
-        var textAbsRotation = Math.abs(textRelativeRotation);
-        var scale = width / textLayerViewport.width;
-
-        if (textAbsRotation === 90 || textAbsRotation === 270) {
-          scale = width / textLayerViewport.height;
-        }
-
-        var textLayerDiv = this.textLayer.textLayerDiv;
-        var transX, transY;
-
-        switch (textAbsRotation) {
-          case 0:
-            transX = transY = 0;
-            break;
-
-          case 90:
-            transX = 0;
-            transY = "-" + textLayerDiv.style.height;
-            break;
-
-          case 180:
-            transX = "-" + textLayerDiv.style.width;
-            transY = "-" + textLayerDiv.style.height;
-            break;
-
-          case 270:
-            transX = "-" + textLayerDiv.style.width;
-            transY = 0;
-            break;
-
-          default:
-            console.error("Bad rotation value.");
-            break;
-        }
-
-        textLayerDiv.style.transform = "rotate(" + textAbsRotation + "deg) " + "scale(" + scale + ", " + scale + ") " + "translate(" + transX + ", " + transY + ")";
-        textLayerDiv.style.transformOrigin = "0% 0%";
-      }
-
-      if (redrawAnnotations && this.annotationLayer) {
-        this.annotationLayer.render(this.viewport, "display");
-      }
-    }
-  }, {
-    key: "getPagePoint",
-    value: function getPagePoint(x, y) {
-      return this.viewport.convertToPdfPoint(x, y);
-    }
-  }, {
-    key: "draw",
-    value: function draw() {
-      var _this = this;
-
-      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
-        console.error("Must be in new state before drawing");
-        this.reset();
-      }
-
-      var div = this.div,
-          pdfPage = this.pdfPage;
-
-      if (!pdfPage) {
-        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-
-        if (this.loadingIconDiv) {
-          div.removeChild(this.loadingIconDiv);
-          delete this.loadingIconDiv;
-        }
-
-        return Promise.reject(new Error("pdfPage is not loaded"));
-      }
-
-      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-      var canvasWrapper = document.createElement("div");
-      canvasWrapper.style.width = div.style.width;
-      canvasWrapper.style.height = div.style.height;
-      canvasWrapper.classList.add("canvasWrapper");
-
-      if (this.annotationLayer && this.annotationLayer.div) {
-        div.insertBefore(canvasWrapper, this.annotationLayer.div);
-      } else {
-        div.appendChild(canvasWrapper);
-      }
-
-      var textLayer = null;
-
-      if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
-        var textLayerDiv = document.createElement("div");
-        textLayerDiv.className = "textLayer";
-        textLayerDiv.style.width = canvasWrapper.style.width;
-        textLayerDiv.style.height = canvasWrapper.style.height;
-
-        if (this.annotationLayer && this.annotationLayer.div) {
-          div.insertBefore(textLayerDiv, this.annotationLayer.div);
-        } else {
-          div.appendChild(textLayerDiv);
-        }
-
-        textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);
-      }
-
-      this.textLayer = textLayer;
-      var renderContinueCallback = null;
-
-      if (this.renderingQueue) {
-        renderContinueCallback = function renderContinueCallback(cont) {
-          if (!_this.renderingQueue.isHighestPriority(_this)) {
-            _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;
-
-            _this.resume = function () {
-              _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
-              cont();
-            };
-
-            return;
-          }
-
-          cont();
-        };
-      }
-
-      var finishPaintTask = /*#__PURE__*/function () {
-        var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(error) {
-          return _regenerator["default"].wrap(function _callee$(_context) {
-            while (1) {
-              switch (_context.prev = _context.next) {
-                case 0:
-                  if (paintTask === _this.paintTask) {
-                    _this.paintTask = null;
-                  }
-
-                  if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
-                    _context.next = 4;
-                    break;
-                  }
-
-                  _this.error = null;
-                  return _context.abrupt("return");
-
-                case 4:
-                  _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-
-                  if (_this.loadingIconDiv) {
-                    div.removeChild(_this.loadingIconDiv);
-                    delete _this.loadingIconDiv;
-                  }
-
-                  _this._resetZoomLayer(true);
-
-                  _this.error = error;
-                  _this.stats = pdfPage.stats;
-
-                  _this.eventBus.dispatch("pagerendered", {
-                    source: _this,
-                    pageNumber: _this.id,
-                    cssTransform: false,
-                    timestamp: performance.now()
-                  });
-
-                  if (!error) {
-                    _context.next = 12;
-                    break;
-                  }
-
-                  throw error;
-
-                case 12:
-                case "end":
-                  return _context.stop();
-              }
-            }
-          }, _callee);
-        }));
-
-        return function finishPaintTask(_x) {
-          return _ref.apply(this, arguments);
-        };
-      }();
-
-      var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
-      paintTask.onRenderContinue = renderContinueCallback;
-      this.paintTask = paintTask;
-      var resultPromise = paintTask.promise.then(function () {
-        return finishPaintTask(null).then(function () {
-          if (textLayer) {
-            var readableStream = pdfPage.streamTextContent({
-              normalizeWhitespace: true
-            });
-            textLayer.setTextContentStream(readableStream);
-            textLayer.render();
-          }
-        });
-      }, function (reason) {
-        return finishPaintTask(reason);
-      });
-
-      if (this.annotationLayerFactory) {
-        if (!this.annotationLayer) {
-          this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);
-        }
-
-        this.annotationLayer.render(this.viewport, "display");
-      }
-
-      div.setAttribute("data-loaded", true);
-      this.eventBus.dispatch("pagerender", {
-        source: this,
-        pageNumber: this.id
-      });
-      return resultPromise;
-    }
-  }, {
-    key: "paintOnCanvas",
-    value: function paintOnCanvas(canvasWrapper) {
-      var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
-      var result = {
-        promise: renderCapability.promise,
-        onRenderContinue: function onRenderContinue(cont) {
-          cont();
-        },
-        cancel: function cancel() {
-          renderTask.cancel();
-        }
-      };
-      var viewport = this.viewport;
-      var canvas = document.createElement("canvas");
-      this.l10n.get("page_canvas", {
-        page: this.id
-      }, "Page {{page}}").then(function (msg) {
-        canvas.setAttribute("aria-label", msg);
-      });
-      canvas.setAttribute("hidden", "hidden");
-      var isCanvasHidden = true;
-
-      var showCanvas = function showCanvas() {
-        if (isCanvasHidden) {
-          canvas.removeAttribute("hidden");
-          isCanvasHidden = false;
-        }
-      };
-
-      canvasWrapper.appendChild(canvas);
-      this.canvas = canvas;
-      canvas.mozOpaque = true;
-      var ctx = canvas.getContext("2d", {
-        alpha: false
-      });
-      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
-      this.outputScale = outputScale;
-
-      if (this.useOnlyCssZoom) {
-        var actualSizeViewport = viewport.clone({
-          scale: _ui_utils.CSS_UNITS
-        });
-        outputScale.sx *= actualSizeViewport.width / viewport.width;
-        outputScale.sy *= actualSizeViewport.height / viewport.height;
-        outputScale.scaled = true;
-      }
-
-      if (this.maxCanvasPixels > 0) {
-        var pixelsInViewport = viewport.width * viewport.height;
-        var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);
-
-        if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
-          outputScale.sx = maxScale;
-          outputScale.sy = maxScale;
-          outputScale.scaled = true;
-          this.hasRestrictedScaling = true;
-        } else {
-          this.hasRestrictedScaling = false;
-        }
-      }
-
-      var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
-      var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);
-      canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);
-      canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);
-      canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px";
-      canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px";
-      this.paintedViewportMap.set(canvas, viewport);
-      var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];
-      var renderContext = {
-        canvasContext: ctx,
-        transform: transform,
-        viewport: this.viewport,
-        enableWebGL: this.enableWebGL,
-        renderInteractiveForms: this.renderInteractiveForms
-      };
-      var renderTask = this.pdfPage.render(renderContext);
-
-      renderTask.onContinue = function (cont) {
-        showCanvas();
-
-        if (result.onRenderContinue) {
-          result.onRenderContinue(cont);
-        } else {
-          cont();
-        }
-      };
-
-      renderTask.promise.then(function () {
-        showCanvas();
-        renderCapability.resolve(undefined);
-      }, function (error) {
-        showCanvas();
-        renderCapability.reject(error);
-      });
-      return result;
-    }
-  }, {
-    key: "paintOnSvg",
-    value: function paintOnSvg(wrapper) {
-      var _this2 = this;
-
-      var cancelled = false;
-
-      var ensureNotCancelled = function ensureNotCancelled() {
-        if (cancelled) {
-          throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this2.id), "svg");
-        }
-      };
-
-      var pdfPage = this.pdfPage;
-      var actualSizeViewport = this.viewport.clone({
-        scale: _ui_utils.CSS_UNITS
-      });
-      var promise = pdfPage.getOperatorList().then(function (opList) {
-        ensureNotCancelled();
-        var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
-        return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {
-          ensureNotCancelled();
-          _this2.svg = svg;
-
-          _this2.paintedViewportMap.set(svg, actualSizeViewport);
-
-          svg.style.width = wrapper.style.width;
-          svg.style.height = wrapper.style.height;
-          _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
-          wrapper.appendChild(svg);
-        });
-      });
-      return {
-        promise: promise,
-        onRenderContinue: function onRenderContinue(cont) {
-          cont();
-        },
-        cancel: function cancel() {
-          cancelled = true;
-        }
-      };
-    }
-  }, {
-    key: "setPageLabel",
-    value: function setPageLabel(label) {
-      this.pageLabel = typeof label === "string" ? label : null;
-
-      if (this.pageLabel !== null) {
-        this.div.setAttribute("data-page-label", this.pageLabel);
-      } else {
-        this.div.removeAttribute("data-page-label");
-      }
-    }
-  }, {
-    key: "width",
-    get: function get() {
-      return this.viewport.width;
-    }
-  }, {
-    key: "height",
-    get: function get() {
-      return this.viewport.height;
-    }
-  }]);
-
-  return PDFPageView;
-}();
-
-exports.PDFPageView = PDFPageView;
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var EXPAND_DIVS_TIMEOUT = 300;
-
-var TextLayerBuilder = /*#__PURE__*/function () {
-  function TextLayerBuilder(_ref) {
-    var textLayerDiv = _ref.textLayerDiv,
-        eventBus = _ref.eventBus,
-        pageIndex = _ref.pageIndex,
-        viewport = _ref.viewport,
-        _ref$findController = _ref.findController,
-        findController = _ref$findController === void 0 ? null : _ref$findController,
-        _ref$enhanceTextSelec = _ref.enhanceTextSelection,
-        enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;
-
-    _classCallCheck(this, TextLayerBuilder);
-
-    this.textLayerDiv = textLayerDiv;
-    this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
-    this.textContent = null;
-    this.textContentItemsStr = [];
-    this.textContentStream = null;
-    this.renderingDone = false;
-    this.pageIdx = pageIndex;
-    this.pageNumber = this.pageIdx + 1;
-    this.matches = [];
-    this.viewport = viewport;
-    this.textDivs = [];
-    this.findController = findController;
-    this.textLayerRenderTask = null;
-    this.enhanceTextSelection = enhanceTextSelection;
-    this._onUpdateTextLayerMatches = null;
-
-    this._bindMouse();
-  }
-
-  _createClass(TextLayerBuilder, [{
-    key: "_finishRendering",
-    value: function _finishRendering() {
-      this.renderingDone = true;
-
-      if (!this.enhanceTextSelection) {
-        var endOfContent = document.createElement("div");
-        endOfContent.className = "endOfContent";
-        this.textLayerDiv.appendChild(endOfContent);
-      }
-
-      this.eventBus.dispatch("textlayerrendered", {
-        source: this,
-        pageNumber: this.pageNumber,
-        numTextDivs: this.textDivs.length
-      });
-    }
-  }, {
-    key: "render",
-    value: function render() {
-      var _this = this;
-
-      var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
-
-      if (!(this.textContent || this.textContentStream) || this.renderingDone) {
-        return;
-      }
-
-      this.cancel();
-      this.textDivs = [];
-      var textLayerFrag = document.createDocumentFragment();
-      this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({
-        textContent: this.textContent,
-        textContentStream: this.textContentStream,
-        container: textLayerFrag,
-        viewport: this.viewport,
-        textDivs: this.textDivs,
-        textContentItemsStr: this.textContentItemsStr,
-        timeout: timeout,
-        enhanceTextSelection: this.enhanceTextSelection
-      });
-      this.textLayerRenderTask.promise.then(function () {
-        _this.textLayerDiv.appendChild(textLayerFrag);
-
-        _this._finishRendering();
-
-        _this._updateMatches();
-      }, function (reason) {});
-
-      if (!this._onUpdateTextLayerMatches) {
-        this._onUpdateTextLayerMatches = function (evt) {
-          if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {
-            _this._updateMatches();
-          }
-        };
-
-        this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
-      }
-    }
-  }, {
-    key: "cancel",
-    value: function cancel() {
-      if (this.textLayerRenderTask) {
-        this.textLayerRenderTask.cancel();
-        this.textLayerRenderTask = null;
-      }
-
-      if (this._onUpdateTextLayerMatches) {
-        this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);
-
-        this._onUpdateTextLayerMatches = null;
-      }
-    }
-  }, {
-    key: "setTextContentStream",
-    value: function setTextContentStream(readableStream) {
-      this.cancel();
-      this.textContentStream = readableStream;
-    }
-  }, {
-    key: "setTextContent",
-    value: function setTextContent(textContent) {
-      this.cancel();
-      this.textContent = textContent;
-    }
-  }, {
-    key: "_convertMatches",
-    value: function _convertMatches(matches, matchesLength) {
-      if (!matches) {
-        return [];
-      }
-
-      var findController = this.findController,
-          textContentItemsStr = this.textContentItemsStr;
-      var i = 0,
-          iIndex = 0;
-      var end = textContentItemsStr.length - 1;
-      var queryLen = findController.state.query.length;
-      var result = [];
-
-      for (var m = 0, mm = matches.length; m < mm; m++) {
-        var matchIdx = matches[m];
-
-        while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
-          iIndex += textContentItemsStr[i].length;
-          i++;
-        }
-
-        if (i === textContentItemsStr.length) {
-          console.error("Could not find a matching mapping");
-        }
-
-        var match = {
-          begin: {
-            divIdx: i,
-            offset: matchIdx - iIndex
-          }
-        };
-
-        if (matchesLength) {
-          matchIdx += matchesLength[m];
-        } else {
-          matchIdx += queryLen;
-        }
-
-        while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
-          iIndex += textContentItemsStr[i].length;
-          i++;
-        }
-
-        match.end = {
-          divIdx: i,
-          offset: matchIdx - iIndex
-        };
-        result.push(match);
-      }
-
-      return result;
-    }
-  }, {
-    key: "_renderMatches",
-    value: function _renderMatches(matches) {
-      if (matches.length === 0) {
-        return;
-      }
-
-      var findController = this.findController,
-          pageIdx = this.pageIdx,
-          textContentItemsStr = this.textContentItemsStr,
-          textDivs = this.textDivs;
-      var isSelectedPage = pageIdx === findController.selected.pageIdx;
-      var selectedMatchIdx = findController.selected.matchIdx;
-      var highlightAll = findController.state.highlightAll;
-      var prevEnd = null;
-      var infinity = {
-        divIdx: -1,
-        offset: undefined
-      };
-
-      function beginText(begin, className) {
-        var divIdx = begin.divIdx;
-        textDivs[divIdx].textContent = "";
-        appendTextToDiv(divIdx, 0, begin.offset, className);
-      }
-
-      function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
-        var div = textDivs[divIdx];
-        var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
-        var node = document.createTextNode(content);
-
-        if (className) {
-          var span = document.createElement("span");
-          span.className = className;
-          span.appendChild(node);
-          div.appendChild(span);
-          return;
-        }
-
-        div.appendChild(node);
-      }
-
-      var i0 = selectedMatchIdx,
-          i1 = i0 + 1;
-
-      if (highlightAll) {
-        i0 = 0;
-        i1 = matches.length;
-      } else if (!isSelectedPage) {
-        return;
-      }
-
-      for (var i = i0; i < i1; i++) {
-        var match = matches[i];
-        var begin = match.begin;
-        var end = match.end;
-        var isSelected = isSelectedPage && i === selectedMatchIdx;
-        var highlightSuffix = isSelected ? " selected" : "";
-
-        if (isSelected) {
-          findController.scrollMatchIntoView({
-            element: textDivs[begin.divIdx],
-            pageIndex: pageIdx,
-            matchIndex: selectedMatchIdx
-          });
-        }
-
-        if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
-          if (prevEnd !== null) {
-            appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
-          }
-
-          beginText(begin);
-        } else {
-          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
-        }
-
-        if (begin.divIdx === end.divIdx) {
-          appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
-        } else {
-          appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);
-
-          for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
-            textDivs[n0].className = "highlight middle" + highlightSuffix;
-          }
-
-          beginText(end, "highlight end" + highlightSuffix);
-        }
-
-        prevEnd = end;
-      }
-
-      if (prevEnd) {
-        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
-      }
-    }
-  }, {
-    key: "_updateMatches",
-    value: function _updateMatches() {
-      if (!this.renderingDone) {
-        return;
-      }
-
-      var findController = this.findController,
-          matches = this.matches,
-          pageIdx = this.pageIdx,
-          textContentItemsStr = this.textContentItemsStr,
-          textDivs = this.textDivs;
-      var clearedUntilDivIdx = -1;
-
-      for (var i = 0, ii = matches.length; i < ii; i++) {
-        var match = matches[i];
-        var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
-
-        for (var n = begin, end = match.end.divIdx; n <= end; n++) {
-          var div = textDivs[n];
-          div.textContent = textContentItemsStr[n];
-          div.className = "";
-        }
-
-        clearedUntilDivIdx = match.end.divIdx + 1;
-      }
-
-      if (!findController || !findController.highlightMatches) {
-        return;
-      }
-
-      var pageMatches = findController.pageMatches[pageIdx] || null;
-      var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
-      this.matches = this._convertMatches(pageMatches, pageMatchesLength);
-
-      this._renderMatches(this.matches);
-    }
-  }, {
-    key: "_bindMouse",
-    value: function _bindMouse() {
-      var _this2 = this;
-
-      var div = this.textLayerDiv;
-      var expandDivsTimer = null;
-      div.addEventListener("mousedown", function (evt) {
-        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
-          _this2.textLayerRenderTask.expandTextDivs(true);
-
-          if (expandDivsTimer) {
-            clearTimeout(expandDivsTimer);
-            expandDivsTimer = null;
-          }
-
-          return;
-        }
-
-        var end = div.querySelector(".endOfContent");
-
-        if (!end) {
-          return;
-        }
-
-        var adjustTop = evt.target !== div;
-        adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";
-
-        if (adjustTop) {
-          var divBounds = div.getBoundingClientRect();
-          var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
-          end.style.top = (r * 100).toFixed(2) + "%";
-        }
-
-        end.classList.add("active");
-      });
-      div.addEventListener("mouseup", function () {
-        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
-          expandDivsTimer = setTimeout(function () {
-            if (_this2.textLayerRenderTask) {
-              _this2.textLayerRenderTask.expandTextDivs(false);
-            }
-
-            expandDivsTimer = null;
-          }, EXPAND_DIVS_TIMEOUT);
-          return;
-        }
-
-        var end = div.querySelector(".endOfContent");
-
-        if (!end) {
-          return;
-        }
-
-        end.style.top = "";
-        end.classList.remove("active");
-      });
-    }
-  }]);
-
-  return TextLayerBuilder;
-}();
-
-exports.TextLayerBuilder = TextLayerBuilder;
-
-var DefaultTextLayerFactory = /*#__PURE__*/function () {
-  function DefaultTextLayerFactory() {
-    _classCallCheck(this, DefaultTextLayerFactory);
-  }
-
-  _createClass(DefaultTextLayerFactory, [{
-    key: "createTextLayerBuilder",
-    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
-      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
-      return new TextLayerBuilder({
-        textLayerDiv: textLayerDiv,
-        pageIndex: pageIndex,
-        viewport: viewport,
-        enhanceTextSelection: enhanceTextSelection,
-        eventBus: eventBus
-      });
-    }
-  }]);
-
-  return DefaultTextLayerFactory;
-}();
-
-exports.DefaultTextLayerFactory = DefaultTextLayerFactory;
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.SecondaryToolbar = void 0;
-
-var _ui_utils = __webpack_require__(5);
-
-var _pdf_cursor_tools = __webpack_require__(9);
-
-var _pdf_single_page_viewer = __webpack_require__(33);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var SecondaryToolbar = /*#__PURE__*/function () {
-  function SecondaryToolbar(options, mainContainer, eventBus) {
-    var _this = this;
-
-    _classCallCheck(this, SecondaryToolbar);
-
-    this.toolbar = options.toolbar;
-    this.toggleButton = options.toggleButton;
-    this.toolbarButtonContainer = options.toolbarButtonContainer;
-    this.buttons = [{
-      element: options.presentationModeButton,
-      eventName: "presentationmode",
-      close: true
-    }, {
-      element: options.openFileButton,
-      eventName: "openfile",
-      close: true
-    }, {
-      element: options.printButton,
-      eventName: "print",
-      close: true
-    }, {
-      element: options.downloadButton,
-      eventName: "download",
-      close: true
-    }, {
-      element: options.viewBookmarkButton,
-      eventName: null,
-      close: true
-    }, {
-      element: options.firstPageButton,
-      eventName: "firstpage",
-      close: true
-    }, {
-      element: options.lastPageButton,
-      eventName: "lastpage",
-      close: true
-    }, {
-      element: options.pageRotateCwButton,
-      eventName: "rotatecw",
-      close: false
-    }, {
-      element: options.pageRotateCcwButton,
-      eventName: "rotateccw",
-      close: false
-    }, {
-      element: options.cursorSelectToolButton,
-      eventName: "switchcursortool",
-      eventDetails: {
-        tool: _pdf_cursor_tools.CursorTool.SELECT
-      },
-      close: true
-    }, {
-      element: options.cursorHandToolButton,
-      eventName: "switchcursortool",
-      eventDetails: {
-        tool: _pdf_cursor_tools.CursorTool.HAND
-      },
-      close: true
-    }, {
-      element: options.scrollVerticalButton,
-      eventName: "switchscrollmode",
-      eventDetails: {
-        mode: _ui_utils.ScrollMode.VERTICAL
-      },
-      close: true
-    }, {
-      element: options.scrollHorizontalButton,
-      eventName: "switchscrollmode",
-      eventDetails: {
-        mode: _ui_utils.ScrollMode.HORIZONTAL
-      },
-      close: true
-    }, {
-      element: options.scrollWrappedButton,
-      eventName: "switchscrollmode",
-      eventDetails: {
-        mode: _ui_utils.ScrollMode.WRAPPED
-      },
-      close: true
-    }, {
-      element: options.spreadNoneButton,
-      eventName: "switchspreadmode",
-      eventDetails: {
-        mode: _ui_utils.SpreadMode.NONE
-      },
-      close: true
-    }, {
-      element: options.spreadOddButton,
-      eventName: "switchspreadmode",
-      eventDetails: {
-        mode: _ui_utils.SpreadMode.ODD
-      },
-      close: true
-    }, {
-      element: options.spreadEvenButton,
-      eventName: "switchspreadmode",
-      eventDetails: {
-        mode: _ui_utils.SpreadMode.EVEN
-      },
-      close: true
-    }, {
-      element: options.documentPropertiesButton,
-      eventName: "documentproperties",
-      close: true
-    }];
-    this.items = {
-      firstPage: options.firstPageButton,
-      lastPage: options.lastPageButton,
-      pageRotateCw: options.pageRotateCwButton,
-      pageRotateCcw: options.pageRotateCcwButton
-    };
-    this.mainContainer = mainContainer;
-    this.eventBus = eventBus;
-    this.opened = false;
-    this.containerHeight = null;
-    this.previousContainerHeight = null;
-    this.reset();
-
-    this._bindClickListeners();
-
-    this._bindCursorToolsListener(options);
-
-    this._bindScrollModeListener(options);
-
-    this._bindSpreadModeListener(options);
-
-    this.eventBus._on("resize", this._setMaxHeight.bind(this));
-
-    this.eventBus._on("baseviewerinit", function (evt) {
-      if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) {
-        _this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
-      } else {
-        _this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
-      }
-    });
-  }
-
-  _createClass(SecondaryToolbar, [{
-    key: "setPageNumber",
-    value: function setPageNumber(pageNumber) {
-      this.pageNumber = pageNumber;
-
-      this._updateUIState();
-    }
-  }, {
-    key: "setPagesCount",
-    value: function setPagesCount(pagesCount) {
-      this.pagesCount = pagesCount;
-
-      this._updateUIState();
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.pageNumber = 0;
-      this.pagesCount = 0;
-
-      this._updateUIState();
-
-      this.eventBus.dispatch("secondarytoolbarreset", {
-        source: this
-      });
-    }
-  }, {
-    key: "_updateUIState",
-    value: function _updateUIState() {
-      this.items.firstPage.disabled = this.pageNumber <= 1;
-      this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
-      this.items.pageRotateCw.disabled = this.pagesCount === 0;
-      this.items.pageRotateCcw.disabled = this.pagesCount === 0;
-    }
-  }, {
-    key: "_bindClickListeners",
-    value: function _bindClickListeners() {
-      var _this2 = this;
-
-      this.toggleButton.addEventListener("click", this.toggle.bind(this));
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        var _loop = function _loop() {
-          var _step$value = _step.value,
-              element = _step$value.element,
-              eventName = _step$value.eventName,
-              close = _step$value.close,
-              eventDetails = _step$value.eventDetails;
-          element.addEventListener("click", function (evt) {
-            if (eventName !== null) {
-              var details = {
-                source: _this2
-              };
-
-              for (var property in eventDetails) {
-                details[property] = eventDetails[property];
-              }
-
-              _this2.eventBus.dispatch(eventName, details);
-            }
-
-            if (close) {
-              _this2.close();
-            }
-          });
-        };
-
-        for (var _iterator = this.buttons[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          _loop();
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-    }
-  }, {
-    key: "_bindCursorToolsListener",
-    value: function _bindCursorToolsListener(buttons) {
-      this.eventBus._on("cursortoolchanged", function (_ref) {
-        var tool = _ref.tool;
-        buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT);
-        buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND);
-      });
-    }
-  }, {
-    key: "_bindScrollModeListener",
-    value: function _bindScrollModeListener(buttons) {
-      var _this3 = this;
-
-      function scrollModeChanged(_ref2) {
-        var mode = _ref2.mode;
-        buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL);
-        buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL);
-        buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED);
-        var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
-        buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
-        buttons.spreadOddButton.disabled = isScrollModeHorizontal;
-        buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
-      }
-
-      this.eventBus._on("scrollmodechanged", scrollModeChanged);
-
-      this.eventBus._on("secondarytoolbarreset", function (evt) {
-        if (evt.source === _this3) {
-          scrollModeChanged({
-            mode: _ui_utils.ScrollMode.VERTICAL
-          });
-        }
-      });
-    }
-  }, {
-    key: "_bindSpreadModeListener",
-    value: function _bindSpreadModeListener(buttons) {
-      var _this4 = this;
-
-      function spreadModeChanged(_ref3) {
-        var mode = _ref3.mode;
-        buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE);
-        buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD);
-        buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN);
-      }
-
-      this.eventBus._on("spreadmodechanged", spreadModeChanged);
-
-      this.eventBus._on("secondarytoolbarreset", function (evt) {
-        if (evt.source === _this4) {
-          spreadModeChanged({
-            mode: _ui_utils.SpreadMode.NONE
-          });
-        }
-      });
-    }
-  }, {
-    key: "open",
-    value: function open() {
-      if (this.opened) {
-        return;
-      }
-
-      this.opened = true;
-
-      this._setMaxHeight();
-
-      this.toggleButton.classList.add("toggled");
-      this.toolbar.classList.remove("hidden");
-    }
-  }, {
-    key: "close",
-    value: function close() {
-      if (!this.opened) {
-        return;
-      }
-
-      this.opened = false;
-      this.toolbar.classList.add("hidden");
-      this.toggleButton.classList.remove("toggled");
-    }
-  }, {
-    key: "toggle",
-    value: function toggle() {
-      if (this.opened) {
-        this.close();
-      } else {
-        this.open();
-      }
-    }
-  }, {
-    key: "_setMaxHeight",
-    value: function _setMaxHeight() {
-      if (!this.opened) {
-        return;
-      }
-
-      this.containerHeight = this.mainContainer.clientHeight;
-
-      if (this.containerHeight === this.previousContainerHeight) {
-        return;
-      }
-
-      this.toolbarButtonContainer.style.maxHeight = "".concat(this.containerHeight - _ui_utils.SCROLLBAR_PADDING, "px");
-      this.previousContainerHeight = this.containerHeight;
-    }
-  }, {
-    key: "isOpen",
-    get: function get() {
-      return this.opened;
-    }
-  }]);
-
-  return SecondaryToolbar;
-}();
-
-exports.SecondaryToolbar = SecondaryToolbar;
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFSinglePageViewer = void 0;
-
-var _base_viewer = __webpack_require__(28);
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {
-  _inherits(PDFSinglePageViewer, _BaseViewer);
-
-  function PDFSinglePageViewer(options) {
-    var _this;
-
-    _classCallCheck(this, PDFSinglePageViewer);
-
-    _this = _possibleConstructorReturn(this, _getPrototypeOf(PDFSinglePageViewer).call(this, options));
-
-    _this.eventBus._on("pagesinit", function (evt) {
-      _this._ensurePageViewVisible();
-    });
-
-    return _this;
-  }
-
-  _createClass(PDFSinglePageViewer, [{
-    key: "_resetView",
-    value: function _resetView() {
-      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this);
-
-      this._previousPageNumber = 1;
-      this._shadowViewer = document.createDocumentFragment();
-      this._updateScrollDown = null;
-    }
-  }, {
-    key: "_ensurePageViewVisible",
-    value: function _ensurePageViewVisible() {
-      var pageView = this._pages[this._currentPageNumber - 1];
-      var previousPageView = this._pages[this._previousPageNumber - 1];
-      var viewerNodes = this.viewer.childNodes;
-
-      switch (viewerNodes.length) {
-        case 0:
-          this.viewer.appendChild(pageView.div);
-          break;
-
-        case 1:
-          if (viewerNodes[0] !== previousPageView.div) {
-            throw new Error("_ensurePageViewVisible: Unexpected previously visible page.");
-          }
-
-          if (pageView === previousPageView) {
-            break;
-          }
-
-          this._shadowViewer.appendChild(previousPageView.div);
-
-          this.viewer.appendChild(pageView.div);
-          this.container.scrollTop = 0;
-          break;
-
-        default:
-          throw new Error("_ensurePageViewVisible: Only one page should be visible at a time.");
-      }
-
-      this._previousPageNumber = this._currentPageNumber;
-    }
-  }, {
-    key: "_scrollUpdate",
-    value: function _scrollUpdate() {
-      if (this._updateScrollDown) {
-        this._updateScrollDown();
-      }
-
-      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this);
-    }
-  }, {
-    key: "_scrollIntoView",
-    value: function _scrollIntoView(_ref) {
-      var _this2 = this;
-
-      var pageDiv = _ref.pageDiv,
-          _ref$pageSpot = _ref.pageSpot,
-          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
-          _ref$pageNumber = _ref.pageNumber,
-          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
-
-      if (pageNumber) {
-        this._setCurrentPageNumber(pageNumber);
-      }
-
-      var scrolledDown = this._currentPageNumber >= this._previousPageNumber;
-
-      this._ensurePageViewVisible();
-
-      this.update();
-
-      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, {
-        pageDiv: pageDiv,
-        pageSpot: pageSpot,
-        pageNumber: pageNumber
-      });
-
-      this._updateScrollDown = function () {
-        _this2.scroll.down = scrolledDown;
-        _this2._updateScrollDown = null;
-      };
-    }
-  }, {
-    key: "_getVisiblePages",
-    value: function _getVisiblePages() {
-      return this._getCurrentVisiblePage();
-    }
-  }, {
-    key: "_updateHelper",
-    value: function _updateHelper(visiblePages) {}
-  }, {
-    key: "_updateScrollMode",
-    value: function _updateScrollMode() {}
-  }, {
-    key: "_updateSpreadMode",
-    value: function _updateSpreadMode() {}
-  }, {
-    key: "_setDocumentViewerElement",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, "_setDocumentViewerElement", this._shadowViewer);
-    }
-  }, {
-    key: "_isScrollModeHorizontal",
-    get: function get() {
-      return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false);
-    }
-  }]);
-
-  return PDFSinglePageViewer;
-}(_base_viewer.BaseViewer);
-
-exports.PDFSinglePageViewer = PDFSinglePageViewer;
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Toolbar = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _ui_utils = __webpack_require__(5);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading";
-var SCALE_SELECT_CONTAINER_WIDTH = 140;
-var SCALE_SELECT_WIDTH = 162;
-
-var Toolbar = /*#__PURE__*/function () {
-  function Toolbar(options, eventBus) {
-    var l10n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _ui_utils.NullL10n;
-
-    _classCallCheck(this, Toolbar);
-
-    this.toolbar = options.container;
-    this.eventBus = eventBus;
-    this.l10n = l10n;
-    this.buttons = [{
-      element: options.previous,
-      eventName: "previouspage"
-    }, {
-      element: options.next,
-      eventName: "nextpage"
-    }, {
-      element: options.zoomIn,
-      eventName: "zoomin"
-    }, {
-      element: options.zoomOut,
-      eventName: "zoomout"
-    }, {
-      element: options.openFile,
-      eventName: "openfile"
-    }, {
-      element: options.print,
-      eventName: "print"
-    }, {
-      element: options.presentationModeButton,
-      eventName: "presentationmode"
-    }, {
-      element: options.download,
-      eventName: "download"
-    }, {
-      element: options.viewBookmark,
-      eventName: null
-    }];
-    this.items = {
-      numPages: options.numPages,
-      pageNumber: options.pageNumber,
-      scaleSelectContainer: options.scaleSelectContainer,
-      scaleSelect: options.scaleSelect,
-      customScaleOption: options.customScaleOption,
-      previous: options.previous,
-      next: options.next,
-      zoomIn: options.zoomIn,
-      zoomOut: options.zoomOut
-    };
-    this._wasLocalized = false;
-    this.reset();
-
-    this._bindListeners();
-  }
-
-  _createClass(Toolbar, [{
-    key: "setPageNumber",
-    value: function setPageNumber(pageNumber, pageLabel) {
-      this.pageNumber = pageNumber;
-      this.pageLabel = pageLabel;
-
-      this._updateUIState(false);
-    }
-  }, {
-    key: "setPagesCount",
-    value: function setPagesCount(pagesCount, hasPageLabels) {
-      this.pagesCount = pagesCount;
-      this.hasPageLabels = hasPageLabels;
-
-      this._updateUIState(true);
-    }
-  }, {
-    key: "setPageScale",
-    value: function setPageScale(pageScaleValue, pageScale) {
-      this.pageScaleValue = (pageScaleValue || pageScale).toString();
-      this.pageScale = pageScale;
-
-      this._updateUIState(false);
-    }
-  }, {
-    key: "reset",
-    value: function reset() {
-      this.pageNumber = 0;
-      this.pageLabel = null;
-      this.hasPageLabels = false;
-      this.pagesCount = 0;
-      this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
-      this.pageScale = _ui_utils.DEFAULT_SCALE;
-
-      this._updateUIState(true);
-
-      this.updateLoadingIndicatorState();
-    }
-  }, {
-    key: "_bindListeners",
-    value: function _bindListeners() {
-      var _this = this;
-
-      var _this$items = this.items,
-          pageNumber = _this$items.pageNumber,
-          scaleSelect = _this$items.scaleSelect;
-      var self = this;
-      var _iteratorNormalCompletion = true;
-      var _didIteratorError = false;
-      var _iteratorError = undefined;
-
-      try {
-        var _loop = function _loop() {
-          var _step$value = _step.value,
-              element = _step$value.element,
-              eventName = _step$value.eventName;
-          element.addEventListener("click", function (evt) {
-            if (eventName !== null) {
-              _this.eventBus.dispatch(eventName, {
-                source: _this
-              });
-            }
-          });
-        };
-
-        for (var _iterator = this.buttons[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-          _loop();
-        }
-      } catch (err) {
-        _didIteratorError = true;
-        _iteratorError = err;
-      } finally {
-        try {
-          if (!_iteratorNormalCompletion && _iterator["return"] != null) {
-            _iterator["return"]();
-          }
-        } finally {
-          if (_didIteratorError) {
-            throw _iteratorError;
-          }
-        }
-      }
-
-      pageNumber.addEventListener("click", function () {
-        this.select();
-      });
-      pageNumber.addEventListener("change", function () {
-        self.eventBus.dispatch("pagenumberchanged", {
-          source: self,
-          value: this.value
-        });
-      });
-      scaleSelect.addEventListener("change", function () {
-        if (this.value === "custom") {
-          return;
-        }
-
-        self.eventBus.dispatch("scalechanged", {
-          source: self,
-          value: this.value
-        });
-      });
-      scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler;
-
-      this.eventBus._on("localized", function () {
-        _this._wasLocalized = true;
-
-        _this._adjustScaleWidth();
-
-        _this._updateUIState(true);
-      });
-    }
-  }, {
-    key: "_updateUIState",
-    value: function _updateUIState() {
-      var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
-      if (!this._wasLocalized) {
-        return;
-      }
-
-      var pageNumber = this.pageNumber,
-          pagesCount = this.pagesCount,
-          pageScaleValue = this.pageScaleValue,
-          pageScale = this.pageScale,
-          items = this.items;
-
-      if (resetNumPages) {
-        if (this.hasPageLabels) {
-          items.pageNumber.type = "text";
-        } else {
-          items.pageNumber.type = "number";
-          this.l10n.get("of_pages", {
-            pagesCount: pagesCount
-          }, "of {{pagesCount}}").then(function (msg) {
-            items.numPages.textContent = msg;
-          });
-        }
-
-        items.pageNumber.max = pagesCount;
-      }
-
-      if (this.hasPageLabels) {
-        items.pageNumber.value = this.pageLabel;
-        this.l10n.get("page_of_pages", {
-          pageNumber: pageNumber,
-          pagesCount: pagesCount
-        }, "({{pageNumber}} of {{pagesCount}})").then(function (msg) {
-          items.numPages.textContent = msg;
-        });
-      } else {
-        items.pageNumber.value = pageNumber;
-      }
-
-      items.previous.disabled = pageNumber <= 1;
-      items.next.disabled = pageNumber >= pagesCount;
-      items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE;
-      items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE;
-      var customScale = Math.round(pageScale * 10000) / 100;
-      this.l10n.get("page_scale_percent", {
-        scale: customScale
-      }, "{{scale}}%").then(function (msg) {
-        var predefinedValueFound = false;
-        var _iteratorNormalCompletion2 = true;
-        var _didIteratorError2 = false;
-        var _iteratorError2 = undefined;
-
-        try {
-          for (var _iterator2 = items.scaleSelect.options[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-            var option = _step2.value;
-
-            if (option.value !== pageScaleValue) {
-              option.selected = false;
-              continue;
-            }
-
-            option.selected = true;
-            predefinedValueFound = true;
-          }
-        } catch (err) {
-          _didIteratorError2 = true;
-          _iteratorError2 = err;
-        } finally {
-          try {
-            if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
-              _iterator2["return"]();
-            }
-          } finally {
-            if (_didIteratorError2) {
-              throw _iteratorError2;
-            }
-          }
-        }
-
-        if (!predefinedValueFound) {
-          items.customScaleOption.textContent = msg;
-          items.customScaleOption.selected = true;
-        }
-      });
-    }
-  }, {
-    key: "updateLoadingIndicatorState",
-    value: function updateLoadingIndicatorState() {
-      var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-      var pageNumberInput = this.items.pageNumber;
-      pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);
-    }
-  }, {
-    key: "_adjustScaleWidth",
-    value: function () {
-      var _adjustScaleWidth2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var items, l10n, predefinedValuesPromise, canvas, ctx, _getComputedStyle, fontSize, fontFamily, maxWidth, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _iterator3, _step3, predefinedValue, _ctx$measureText, width, overflow;
-
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                items = this.items, l10n = this.l10n;
-                predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto", null, "Automatic Zoom"), l10n.get("page_scale_actual", null, "Actual Size"), l10n.get("page_scale_fit", null, "Page Fit"), l10n.get("page_scale_width", null, "Page Width")]);
-                canvas = document.createElement("canvas");
-                canvas.mozOpaque = true;
-                ctx = canvas.getContext("2d", {
-                  alpha: false
-                });
-                _context.next = 7;
-                return _ui_utils.animationStarted;
-
-              case 7:
-                _getComputedStyle = getComputedStyle(items.scaleSelect), fontSize = _getComputedStyle.fontSize, fontFamily = _getComputedStyle.fontFamily;
-                ctx.font = "".concat(fontSize, " ").concat(fontFamily);
-                maxWidth = 0;
-                _iteratorNormalCompletion3 = true;
-                _didIteratorError3 = false;
-                _iteratorError3 = undefined;
-                _context.prev = 13;
-                _context.next = 16;
-                return predefinedValuesPromise;
-
-              case 16:
-                _context.t0 = Symbol.iterator;
-                _iterator3 = _context.sent[_context.t0]();
-
-              case 18:
-                if (_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done) {
-                  _context.next = 25;
-                  break;
-                }
-
-                predefinedValue = _step3.value;
-                _ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width;
-
-                if (width > maxWidth) {
-                  maxWidth = width;
-                }
-
-              case 22:
-                _iteratorNormalCompletion3 = true;
-                _context.next = 18;
-                break;
-
-              case 25:
-                _context.next = 31;
-                break;
-
-              case 27:
-                _context.prev = 27;
-                _context.t1 = _context["catch"](13);
-                _didIteratorError3 = true;
-                _iteratorError3 = _context.t1;
-
-              case 31:
-                _context.prev = 31;
-                _context.prev = 32;
-
-                if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
-                  _iterator3["return"]();
-                }
-
-              case 34:
-                _context.prev = 34;
-
-                if (!_didIteratorError3) {
-                  _context.next = 37;
-                  break;
-                }
-
-                throw _iteratorError3;
-
-              case 37:
-                return _context.finish(34);
-
-              case 38:
-                return _context.finish(31);
-
-              case 39:
-                overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH;
-                maxWidth += 1.5 * overflow;
-
-                if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) {
-                  items.scaleSelect.style.width = "".concat(maxWidth + overflow, "px");
-                  items.scaleSelectContainer.style.width = "".concat(maxWidth, "px");
-                }
-
-                canvas.width = 0;
-                canvas.height = 0;
-                canvas = ctx = null;
-
-              case 45:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this, [[13, 27, 31, 39], [32,, 34, 38]]);
-      }));
-
-      function _adjustScaleWidth() {
-        return _adjustScaleWidth2.apply(this, arguments);
-      }
-
-      return _adjustScaleWidth;
-    }()
-  }]);
-
-  return Toolbar;
-}();
-
-exports.Toolbar = Toolbar;
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.ViewHistory = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;
-
-var ViewHistory = /*#__PURE__*/function () {
-  function ViewHistory(fingerprint) {
-    var _this = this;
-
-    var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE;
-
-    _classCallCheck(this, ViewHistory);
-
-    this.fingerprint = fingerprint;
-    this.cacheSize = cacheSize;
-    this._initializedPromise = this._readFromStorage().then(function (databaseStr) {
-      var database = JSON.parse(databaseStr || "{}");
-
-      if (!("files" in database)) {
-        database.files = [];
-      } else {
-        while (database.files.length >= _this.cacheSize) {
-          database.files.shift();
-        }
-      }
-
-      var index = -1;
-
-      for (var i = 0, length = database.files.length; i < length; i++) {
-        var branch = database.files[i];
-
-        if (branch.fingerprint === _this.fingerprint) {
-          index = i;
-          break;
-        }
-      }
-
-      if (index === -1) {
-        index = database.files.push({
-          fingerprint: _this.fingerprint
-        }) - 1;
-      }
-
-      _this.file = database.files[index];
-      _this.database = database;
-    });
-  }
-
-  _createClass(ViewHistory, [{
-    key: "_writeToStorage",
-    value: function () {
-      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var databaseStr;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                databaseStr = JSON.stringify(this.database);
-                localStorage.setItem("pdfjs.history", databaseStr);
-
-              case 2:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function _writeToStorage() {
-        return _writeToStorage2.apply(this, arguments);
-      }
-
-      return _writeToStorage;
-    }()
-  }, {
-    key: "_readFromStorage",
-    value: function () {
-      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                return _context2.abrupt("return", localStorage.getItem("pdfjs.history"));
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function _readFromStorage() {
-        return _readFromStorage2.apply(this, arguments);
-      }
-
-      return _readFromStorage;
-    }()
-  }, {
-    key: "set",
-    value: function () {
-      var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, val) {
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                this.file[name] = val;
-                return _context3.abrupt("return", this._writeToStorage());
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function set(_x, _x2) {
-        return _set.apply(this, arguments);
-      }
-
-      return set;
-    }()
-  }, {
-    key: "setMultiple",
-    value: function () {
-      var _setMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(properties) {
-        var name;
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                _context4.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                for (name in properties) {
-                  this.file[name] = properties[name];
-                }
-
-                return _context4.abrupt("return", this._writeToStorage());
-
-              case 4:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
-
-      function setMultiple(_x3) {
-        return _setMultiple.apply(this, arguments);
-      }
-
-      return setMultiple;
-    }()
-  }, {
-    key: "get",
-    value: function () {
-      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name, defaultValue) {
-        var val;
-        return _regenerator["default"].wrap(function _callee5$(_context5) {
-          while (1) {
-            switch (_context5.prev = _context5.next) {
-              case 0:
-                _context5.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                val = this.file[name];
-                return _context5.abrupt("return", val !== undefined ? val : defaultValue);
-
-              case 4:
-              case "end":
-                return _context5.stop();
-            }
-          }
-        }, _callee5, this);
-      }));
-
-      function get(_x4, _x5) {
-        return _get.apply(this, arguments);
-      }
-
-      return get;
-    }()
-  }, {
-    key: "getMultiple",
-    value: function () {
-      var _getMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(properties) {
-        var values, name, val;
-        return _regenerator["default"].wrap(function _callee6$(_context6) {
-          while (1) {
-            switch (_context6.prev = _context6.next) {
-              case 0:
-                _context6.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                values = Object.create(null);
-
-                for (name in properties) {
-                  val = this.file[name];
-                  values[name] = val !== undefined ? val : properties[name];
-                }
-
-                return _context6.abrupt("return", values);
-
-              case 5:
-              case "end":
-                return _context6.stop();
-            }
-          }
-        }, _callee6, this);
-      }));
-
-      function getMultiple(_x6) {
-        return _getMultiple.apply(this, arguments);
-      }
-
-      return getMultiple;
-    }()
-  }]);
-
-  return ViewHistory;
-}();
-
-exports.ViewHistory = ViewHistory;
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.GenericCom = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-var _app = __webpack_require__(1);
-
-var _preferences = __webpack_require__(37);
-
-var _download_manager = __webpack_require__(38);
-
-var _genericl10n = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _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); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-;
-var GenericCom = {};
-exports.GenericCom = GenericCom;
-
-var GenericPreferences = /*#__PURE__*/function (_BasePreferences) {
-  _inherits(GenericPreferences, _BasePreferences);
-
-  function GenericPreferences() {
-    _classCallCheck(this, GenericPreferences);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(GenericPreferences).apply(this, arguments));
-  }
-
-  _createClass(GenericPreferences, [{
-    key: "_writeToStorage",
-    value: function () {
-      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj));
-
-              case 1:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      function _writeToStorage(_x) {
-        return _writeToStorage2.apply(this, arguments);
-      }
-
-      return _writeToStorage;
-    }()
-  }, {
-    key: "_readFromStorage",
-    value: function () {
-      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                return _context2.abrupt("return", JSON.parse(localStorage.getItem("pdfjs.preferences")));
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function _readFromStorage(_x2) {
-        return _readFromStorage2.apply(this, arguments);
-      }
-
-      return _readFromStorage;
-    }()
-  }]);
-
-  return GenericPreferences;
-}(_preferences.BasePreferences);
-
-var GenericExternalServices = /*#__PURE__*/function (_DefaultExternalServi) {
-  _inherits(GenericExternalServices, _DefaultExternalServi);
-
-  function GenericExternalServices() {
-    _classCallCheck(this, GenericExternalServices);
-
-    return _possibleConstructorReturn(this, _getPrototypeOf(GenericExternalServices).apply(this, arguments));
-  }
-
-  _createClass(GenericExternalServices, null, [{
-    key: "createDownloadManager",
-    value: function createDownloadManager(options) {
-      return new _download_manager.DownloadManager(options);
-    }
-  }, {
-    key: "createPreferences",
-    value: function createPreferences() {
-      return new GenericPreferences();
-    }
-  }, {
-    key: "createL10n",
-    value: function createL10n(_ref) {
-      var _ref$locale = _ref.locale,
-          locale = _ref$locale === void 0 ? "en-US" : _ref$locale;
-      return new _genericl10n.GenericL10n(locale);
-    }
-  }]);
-
-  return GenericExternalServices;
-}(_app.DefaultExternalServices);
-
-_app.PDFViewerApplication.externalServices = GenericExternalServices;
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.BasePreferences = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _typeof(obj) { "@babel/helpers - typeof"; 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var defaultPreferences = null;
-
-function getDefaultPreferences() {
-  if (!defaultPreferences) {
-    defaultPreferences = Promise.resolve({
-      "cursorToolOnLoad": 0,
-      "defaultZoomValue": "",
-      "disablePageLabels": false,
-      "enablePrintAutoRotate": false,
-      "enableWebGL": false,
-      "eventBusDispatchToDOM": false,
-      "externalLinkTarget": 0,
-      "historyUpdateUrl": false,
-      "ignoreDestinationZoom": false,
-      "pdfBugEnabled": false,
-      "renderer": "canvas",
-      "renderInteractiveForms": false,
-      "sidebarViewOnLoad": -1,
-      "scrollModeOnLoad": -1,
-      "spreadModeOnLoad": -1,
-      "textLayerMode": 1,
-      "useOnlyCssZoom": false,
-      "viewOnLoad": 0,
-      "disableAutoFetch": false,
-      "disableFontFace": false,
-      "disableRange": false,
-      "disableStream": false
-    });
-  }
-
-  return defaultPreferences;
-}
-
-var BasePreferences = /*#__PURE__*/function () {
-  function BasePreferences() {
-    var _this = this;
-
-    _classCallCheck(this, BasePreferences);
-
-    if (this.constructor === BasePreferences) {
-      throw new Error("Cannot initialize BasePreferences.");
-    }
-
-    this.prefs = null;
-    this._initializedPromise = getDefaultPreferences().then(function (defaults) {
-      Object.defineProperty(_this, "defaults", {
-        value: Object.freeze(defaults),
-        writable: false,
-        enumerable: true,
-        configurable: false
-      });
-      _this.prefs = Object.assign(Object.create(null), defaults);
-      return _this._readFromStorage(defaults);
-    }).then(function (prefs) {
-      if (!prefs) {
-        return;
-      }
-
-      for (var name in prefs) {
-        var defaultValue = _this.defaults[name],
-            prefValue = prefs[name];
-
-        if (defaultValue === undefined || _typeof(prefValue) !== _typeof(defaultValue)) {
-          continue;
-        }
-
-        _this.prefs[name] = prefValue;
-      }
-    });
-  }
-
-  _createClass(BasePreferences, [{
-    key: "_writeToStorage",
-    value: function () {
-      var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) {
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                throw new Error("Not implemented: _writeToStorage");
-
-              case 1:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee);
-      }));
-
-      function _writeToStorage(_x) {
-        return _writeToStorage2.apply(this, arguments);
-      }
-
-      return _writeToStorage;
-    }()
-  }, {
-    key: "_readFromStorage",
-    value: function () {
-      var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) {
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                throw new Error("Not implemented: _readFromStorage");
-
-              case 1:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2);
-      }));
-
-      function _readFromStorage(_x2) {
-        return _readFromStorage2.apply(this, arguments);
-      }
-
-      return _readFromStorage;
-    }()
-  }, {
-    key: "reset",
-    value: function () {
-      var _reset = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                this.prefs = Object.assign(Object.create(null), this.defaults);
-                return _context3.abrupt("return", this._writeToStorage(this.defaults));
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function reset() {
-        return _reset.apply(this, arguments);
-      }
-
-      return reset;
-    }()
-  }, {
-    key: "set",
-    value: function () {
-      var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, value) {
-        var defaultValue, valueType, defaultType;
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                _context4.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                defaultValue = this.defaults[name];
-
-                if (!(defaultValue === undefined)) {
-                  _context4.next = 7;
-                  break;
-                }
-
-                throw new Error("Set preference: \"".concat(name, "\" is undefined."));
-
-              case 7:
-                if (!(value === undefined)) {
-                  _context4.next = 9;
-                  break;
-                }
-
-                throw new Error("Set preference: no value is specified.");
-
-              case 9:
-                valueType = _typeof(value);
-                defaultType = _typeof(defaultValue);
-
-                if (!(valueType !== defaultType)) {
-                  _context4.next = 19;
-                  break;
-                }
-
-                if (!(valueType === "number" && defaultType === "string")) {
-                  _context4.next = 16;
-                  break;
-                }
-
-                value = value.toString();
-                _context4.next = 17;
-                break;
-
-              case 16:
-                throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", ") + "expected a ".concat(defaultType, "."));
-
-              case 17:
-                _context4.next = 21;
-                break;
-
-              case 19:
-                if (!(valueType === "number" && !Number.isInteger(value))) {
-                  _context4.next = 21;
-                  break;
-                }
-
-                throw new Error("Set preference: \"".concat(value, "\" must be an integer."));
-
-              case 21:
-                this.prefs[name] = value;
-                return _context4.abrupt("return", this._writeToStorage(this.prefs));
-
-              case 23:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
-
-      function set(_x3, _x4) {
-        return _set.apply(this, arguments);
-      }
-
-      return set;
-    }()
-  }, {
-    key: "get",
-    value: function () {
-      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name) {
-        var defaultValue, prefValue;
-        return _regenerator["default"].wrap(function _callee5$(_context5) {
-          while (1) {
-            switch (_context5.prev = _context5.next) {
-              case 0:
-                _context5.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                defaultValue = this.defaults[name];
-
-                if (!(defaultValue === undefined)) {
-                  _context5.next = 7;
-                  break;
-                }
-
-                throw new Error("Get preference: \"".concat(name, "\" is undefined."));
-
-              case 7:
-                prefValue = this.prefs[name];
-
-                if (!(prefValue !== undefined)) {
-                  _context5.next = 10;
-                  break;
-                }
-
-                return _context5.abrupt("return", prefValue);
-
-              case 10:
-                return _context5.abrupt("return", defaultValue);
-
-              case 11:
-              case "end":
-                return _context5.stop();
-            }
-          }
-        }, _callee5, this);
-      }));
-
-      function get(_x5) {
-        return _get.apply(this, arguments);
-      }
-
-      return get;
-    }()
-  }, {
-    key: "getAll",
-    value: function () {
-      var _getAll = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
-        return _regenerator["default"].wrap(function _callee6$(_context6) {
-          while (1) {
-            switch (_context6.prev = _context6.next) {
-              case 0:
-                _context6.next = 2;
-                return this._initializedPromise;
-
-              case 2:
-                return _context6.abrupt("return", Object.assign(Object.create(null), this.defaults, this.prefs));
-
-              case 3:
-              case "end":
-                return _context6.stop();
-            }
-          }
-        }, _callee6, this);
-      }));
-
-      function getAll() {
-        return _getAll.apply(this, arguments);
-      }
-
-      return getAll;
-    }()
-  }]);
-
-  return BasePreferences;
-}();
-
-exports.BasePreferences = BasePreferences;
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.DownloadManager = void 0;
-
-var _pdfjsLib = __webpack_require__(7);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-;
-var DISABLE_CREATE_OBJECT_URL = _pdfjsLib.apiCompatibilityParams.disableCreateObjectURL || false;
-
-function _download(blobUrl, filename) {
-  var a = document.createElement("a");
-
-  if (!a.click) {
-    throw new Error('DownloadManager: "a.click()" is not supported.');
-  }
-
-  a.href = blobUrl;
-  a.target = "_parent";
-
-  if ("download" in a) {
-    a.download = filename;
-  }
-
-  (document.body || document.documentElement).appendChild(a);
-  a.click();
-  a.remove();
-}
-
-var DownloadManager = /*#__PURE__*/function () {
-  function DownloadManager(_ref) {
-    var _ref$disableCreateObj = _ref.disableCreateObjectURL,
-        disableCreateObjectURL = _ref$disableCreateObj === void 0 ? DISABLE_CREATE_OBJECT_URL : _ref$disableCreateObj;
-
-    _classCallCheck(this, DownloadManager);
-
-    this.disableCreateObjectURL = disableCreateObjectURL;
-  }
-
-  _createClass(DownloadManager, [{
-    key: "downloadUrl",
-    value: function downloadUrl(url, filename) {
-      if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) {
-        return;
-      }
-
-      _download(url + "#pdfjs.action=download", filename);
-    }
-  }, {
-    key: "downloadData",
-    value: function downloadData(data, filename, contentType) {
-      if (navigator.msSaveBlob) {
-        navigator.msSaveBlob(new Blob([data], {
-          type: contentType
-        }), filename);
-        return;
-      }
-
-      var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);
-
-      _download(blobUrl, filename);
-    }
-  }, {
-    key: "download",
-    value: function download(blob, url, filename) {
-      if (navigator.msSaveBlob) {
-        if (!navigator.msSaveBlob(blob, filename)) {
-          this.downloadUrl(url, filename);
-        }
-
-        return;
-      }
-
-      if (this.disableCreateObjectURL) {
-        this.downloadUrl(url, filename);
-        return;
-      }
-
-      var blobUrl = URL.createObjectURL(blob);
-
-      _download(blobUrl, filename);
-    }
-  }]);
-
-  return DownloadManager;
-}();
-
-exports.DownloadManager = DownloadManager;
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.GenericL10n = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__(2));
-
-__webpack_require__(40);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _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); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var webL10n = document.webL10n;
-
-var GenericL10n = /*#__PURE__*/function () {
-  function GenericL10n(lang) {
-    _classCallCheck(this, GenericL10n);
-
-    this._lang = lang;
-    this._ready = new Promise(function (resolve, reject) {
-      webL10n.setLanguage(lang, function () {
-        resolve(webL10n);
-      });
-    });
-  }
-
-  _createClass(GenericL10n, [{
-    key: "getLanguage",
-    value: function () {
-      var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
-        var l10n;
-        return _regenerator["default"].wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                _context.next = 2;
-                return this._ready;
-
-              case 2:
-                l10n = _context.sent;
-                return _context.abrupt("return", l10n.getLanguage());
-
-              case 4:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function getLanguage() {
-        return _getLanguage.apply(this, arguments);
-      }
-
-      return getLanguage;
-    }()
-  }, {
-    key: "getDirection",
-    value: function () {
-      var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
-        var l10n;
-        return _regenerator["default"].wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                _context2.next = 2;
-                return this._ready;
-
-              case 2:
-                l10n = _context2.sent;
-                return _context2.abrupt("return", l10n.getDirection());
-
-              case 4:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function getDirection() {
-        return _getDirection.apply(this, arguments);
-      }
-
-      return getDirection;
-    }()
-  }, {
-    key: "get",
-    value: function () {
-      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(property, args, fallback) {
-        var l10n;
-        return _regenerator["default"].wrap(function _callee3$(_context3) {
-          while (1) {
-            switch (_context3.prev = _context3.next) {
-              case 0:
-                _context3.next = 2;
-                return this._ready;
-
-              case 2:
-                l10n = _context3.sent;
-                return _context3.abrupt("return", l10n.get(property, args, fallback));
-
-              case 4:
-              case "end":
-                return _context3.stop();
-            }
-          }
-        }, _callee3, this);
-      }));
-
-      function get(_x, _x2, _x3) {
-        return _get.apply(this, arguments);
-      }
-
-      return get;
-    }()
-  }, {
-    key: "translate",
-    value: function () {
-      var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) {
-        var l10n;
-        return _regenerator["default"].wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                _context4.next = 2;
-                return this._ready;
-
-              case 2:
-                l10n = _context4.sent;
-                return _context4.abrupt("return", l10n.translate(element));
-
-              case 4:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, this);
-      }));
-
-      function translate(_x4) {
-        return _translate.apply(this, arguments);
-      }
-
-      return translate;
-    }()
-  }]);
-
-  return GenericL10n;
-}();
-
-exports.GenericL10n = GenericL10n;
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-document.webL10n = function (window, document, undefined) {
-  var gL10nData = {};
-  var gTextData = '';
-  var gTextProp = 'textContent';
-  var gLanguage = '';
-  var gMacros = {};
-  var gReadyState = 'loading';
-  var gAsyncResourceLoading = true;
-
-  function getL10nResourceLinks() {
-    return document.querySelectorAll('link[type="application/l10n"]');
-  }
-
-  function getL10nDictionary() {
-    var script = document.querySelector('script[type="application/l10n"]');
-    return script ? JSON.parse(script.innerHTML) : null;
-  }
-
-  function getTranslatableChildren(element) {
-    return element ? element.querySelectorAll('*[data-l10n-id]') : [];
-  }
-
-  function getL10nAttributes(element) {
-    if (!element) return {};
-    var l10nId = element.getAttribute('data-l10n-id');
-    var l10nArgs = element.getAttribute('data-l10n-args');
-    var args = {};
-
-    if (l10nArgs) {
-      try {
-        args = JSON.parse(l10nArgs);
-      } catch (e) {
-        console.warn('could not parse arguments for #' + l10nId);
-      }
-    }
-
-    return {
-      id: l10nId,
-      args: args
-    };
-  }
-
-  function xhrLoadText(url, onSuccess, onFailure) {
-    onSuccess = onSuccess || function _onSuccess(data) {};
-
-    onFailure = onFailure || function _onFailure() {};
-
-    var xhr = new XMLHttpRequest();
-    xhr.open('GET', url, gAsyncResourceLoading);
-
-    if (xhr.overrideMimeType) {
-      xhr.overrideMimeType('text/plain; charset=utf-8');
-    }
-
-    xhr.onreadystatechange = function () {
-      if (xhr.readyState == 4) {
-        if (xhr.status == 200 || xhr.status === 0) {
-          onSuccess(xhr.responseText);
-        } else {
-          onFailure();
-        }
-      }
-    };
-
-    xhr.onerror = onFailure;
-    xhr.ontimeout = onFailure;
-
-    try {
-      xhr.send(null);
-    } catch (e) {
-      onFailure();
-    }
-  }
-
-  function parseResource(href, lang, successCallback, failureCallback) {
-    var baseURL = href.replace(/[^\/]*$/, '') || './';
-
-    function evalString(text) {
-      if (text.lastIndexOf('\\') < 0) return text;
-      return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'");
-    }
-
-    function parseProperties(text, parsedPropertiesCallback) {
-      var dictionary = {};
-      var reBlank = /^\s*|\s*$/;
-      var reComment = /^\s*#|^\s*$/;
-      var reSection = /^\s*\[(.*)\]\s*$/;
-      var reImport = /^\s*@import\s+url\((.*)\)\s*$/i;
-      var reSplit = /^([^=\s]*)\s*=\s*(.+)$/;
-
-      function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {
-        var entries = rawText.replace(reBlank, '').split(/[\r\n]+/);
-        var currentLang = '*';
-        var genericLang = lang.split('-', 1)[0];
-        var skipLang = false;
-        var match = '';
-
-        function nextEntry() {
-          while (true) {
-            if (!entries.length) {
-              parsedRawLinesCallback();
-              return;
-            }
-
-            var line = entries.shift();
-            if (reComment.test(line)) continue;
-
-            if (extendedSyntax) {
-              match = reSection.exec(line);
-
-              if (match) {
-                currentLang = match[1].toLowerCase();
-                skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;
-                continue;
-              } else if (skipLang) {
-                continue;
-              }
-
-              match = reImport.exec(line);
-
-              if (match) {
-                loadImport(baseURL + match[1], nextEntry);
-                return;
-              }
-            }
-
-            var tmp = line.match(reSplit);
-
-            if (tmp && tmp.length == 3) {
-              dictionary[tmp[1]] = evalString(tmp[2]);
-            }
-          }
-        }
-
-        nextEntry();
-      }
-
-      function loadImport(url, callback) {
-        xhrLoadText(url, function (content) {
-          parseRawLines(content, false, callback);
-        }, function () {
-          console.warn(url + ' not found.');
-          callback();
-        });
-      }
-
-      parseRawLines(text, true, function () {
-        parsedPropertiesCallback(dictionary);
-      });
-    }
-
-    xhrLoadText(href, function (response) {
-      gTextData += response;
-      parseProperties(response, function (data) {
-        for (var key in data) {
-          var id,
-              prop,
-              index = key.lastIndexOf('.');
-
-          if (index > 0) {
-            id = key.substring(0, index);
-            prop = key.substring(index + 1);
-          } else {
-            id = key;
-            prop = gTextProp;
-          }
-
-          if (!gL10nData[id]) {
-            gL10nData[id] = {};
-          }
-
-          gL10nData[id][prop] = data[key];
-        }
-
-        if (successCallback) {
-          successCallback();
-        }
-      });
-    }, failureCallback);
-  }
-
-  function loadLocale(lang, callback) {
-    if (lang) {
-      lang = lang.toLowerCase();
-    }
-
-    callback = callback || function _callback() {};
-
-    clear();
-    gLanguage = lang;
-    var langLinks = getL10nResourceLinks();
-    var langCount = langLinks.length;
-
-    if (langCount === 0) {
-      var dict = getL10nDictionary();
-
-      if (dict && dict.locales && dict.default_locale) {
-        console.log('using the embedded JSON directory, early way out');
-        gL10nData = dict.locales[lang];
-
-        if (!gL10nData) {
-          var defaultLocale = dict.default_locale.toLowerCase();
-
-          for (var anyCaseLang in dict.locales) {
-            anyCaseLang = anyCaseLang.toLowerCase();
-
-            if (anyCaseLang === lang) {
-              gL10nData = dict.locales[lang];
-              break;
-            } else if (anyCaseLang === defaultLocale) {
-              gL10nData = dict.locales[defaultLocale];
-            }
-          }
-        }
-
-        callback();
-      } else {
-        console.log('no resource to load, early way out');
-      }
-
-      gReadyState = 'complete';
-      return;
-    }
-
-    var onResourceLoaded = null;
-    var gResourceCount = 0;
-
-    onResourceLoaded = function onResourceLoaded() {
-      gResourceCount++;
-
-      if (gResourceCount >= langCount) {
-        callback();
-        gReadyState = 'complete';
-      }
-    };
-
-    function L10nResourceLink(link) {
-      var href = link.href;
-
-      this.load = function (lang, callback) {
-        parseResource(href, lang, callback, function () {
-          console.warn(href + ' not found.');
-          console.warn('"' + lang + '" resource not found');
-          gLanguage = '';
-          callback();
-        });
-      };
-    }
-
-    for (var i = 0; i < langCount; i++) {
-      var resource = new L10nResourceLink(langLinks[i]);
-      resource.load(lang, onResourceLoaded);
-    }
-  }
-
-  function clear() {
-    gL10nData = {};
-    gTextData = '';
-    gLanguage = '';
-  }
-
-  function getPluralRules(lang) {
-    var locales2rules = {
-      'af': 3,
-      'ak': 4,
-      'am': 4,
-      'ar': 1,
-      'asa': 3,
-      'az': 0,
-      'be': 11,
-      'bem': 3,
-      'bez': 3,
-      'bg': 3,
-      'bh': 4,
-      'bm': 0,
-      'bn': 3,
-      'bo': 0,
-      'br': 20,
-      'brx': 3,
-      'bs': 11,
-      'ca': 3,
-      'cgg': 3,
-      'chr': 3,
-      'cs': 12,
-      'cy': 17,
-      'da': 3,
-      'de': 3,
-      'dv': 3,
-      'dz': 0,
-      'ee': 3,
-      'el': 3,
-      'en': 3,
-      'eo': 3,
-      'es': 3,
-      'et': 3,
-      'eu': 3,
-      'fa': 0,
-      'ff': 5,
-      'fi': 3,
-      'fil': 4,
-      'fo': 3,
-      'fr': 5,
-      'fur': 3,
-      'fy': 3,
-      'ga': 8,
-      'gd': 24,
-      'gl': 3,
-      'gsw': 3,
-      'gu': 3,
-      'guw': 4,
-      'gv': 23,
-      'ha': 3,
-      'haw': 3,
-      'he': 2,
-      'hi': 4,
-      'hr': 11,
-      'hu': 0,
-      'id': 0,
-      'ig': 0,
-      'ii': 0,
-      'is': 3,
-      'it': 3,
-      'iu': 7,
-      'ja': 0,
-      'jmc': 3,
-      'jv': 0,
-      'ka': 0,
-      'kab': 5,
-      'kaj': 3,
-      'kcg': 3,
-      'kde': 0,
-      'kea': 0,
-      'kk': 3,
-      'kl': 3,
-      'km': 0,
-      'kn': 0,
-      'ko': 0,
-      'ksb': 3,
-      'ksh': 21,
-      'ku': 3,
-      'kw': 7,
-      'lag': 18,
-      'lb': 3,
-      'lg': 3,
-      'ln': 4,
-      'lo': 0,
-      'lt': 10,
-      'lv': 6,
-      'mas': 3,
-      'mg': 4,
-      'mk': 16,
-      'ml': 3,
-      'mn': 3,
-      'mo': 9,
-      'mr': 3,
-      'ms': 0,
-      'mt': 15,
-      'my': 0,
-      'nah': 3,
-      'naq': 7,
-      'nb': 3,
-      'nd': 3,
-      'ne': 3,
-      'nl': 3,
-      'nn': 3,
-      'no': 3,
-      'nr': 3,
-      'nso': 4,
-      'ny': 3,
-      'nyn': 3,
-      'om': 3,
-      'or': 3,
-      'pa': 3,
-      'pap': 3,
-      'pl': 13,
-      'ps': 3,
-      'pt': 3,
-      'rm': 3,
-      'ro': 9,
-      'rof': 3,
-      'ru': 11,
-      'rwk': 3,
-      'sah': 0,
-      'saq': 3,
-      'se': 7,
-      'seh': 3,
-      'ses': 0,
-      'sg': 0,
-      'sh': 11,
-      'shi': 19,
-      'sk': 12,
-      'sl': 14,
-      'sma': 7,
-      'smi': 7,
-      'smj': 7,
-      'smn': 7,
-      'sms': 7,
-      'sn': 3,
-      'so': 3,
-      'sq': 3,
-      'sr': 11,
-      'ss': 3,
-      'ssy': 3,
-      'st': 3,
-      'sv': 3,
-      'sw': 3,
-      'syr': 3,
-      'ta': 3,
-      'te': 3,
-      'teo': 3,
-      'th': 0,
-      'ti': 4,
-      'tig': 3,
-      'tk': 3,
-      'tl': 4,
-      'tn': 3,
-      'to': 0,
-      'tr': 0,
-      'ts': 3,
-      'tzm': 22,
-      'uk': 11,
-      'ur': 3,
-      've': 3,
-      'vi': 0,
-      'vun': 3,
-      'wa': 4,
-      'wae': 3,
-      'wo': 0,
-      'xh': 3,
-      'xog': 3,
-      'yo': 0,
-      'zh': 0,
-      'zu': 3
-    };
-
-    function isIn(n, list) {
-      return list.indexOf(n) !== -1;
-    }
-
-    function isBetween(n, start, end) {
-      return start <= n && n <= end;
-    }
-
-    var pluralRules = {
-      '0': function _(n) {
-        return 'other';
-      },
-      '1': function _(n) {
-        if (isBetween(n % 100, 3, 10)) return 'few';
-        if (n === 0) return 'zero';
-        if (isBetween(n % 100, 11, 99)) return 'many';
-        if (n == 2) return 'two';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '2': function _(n) {
-        if (n !== 0 && n % 10 === 0) return 'many';
-        if (n == 2) return 'two';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '3': function _(n) {
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '4': function _(n) {
-        if (isBetween(n, 0, 1)) return 'one';
-        return 'other';
-      },
-      '5': function _(n) {
-        if (isBetween(n, 0, 2) && n != 2) return 'one';
-        return 'other';
-      },
-      '6': function _(n) {
-        if (n === 0) return 'zero';
-        if (n % 10 == 1 && n % 100 != 11) return 'one';
-        return 'other';
-      },
-      '7': function _(n) {
-        if (n == 2) return 'two';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '8': function _(n) {
-        if (isBetween(n, 3, 6)) return 'few';
-        if (isBetween(n, 7, 10)) return 'many';
-        if (n == 2) return 'two';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '9': function _(n) {
-        if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '10': function _(n) {
-        if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';
-        if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';
-        return 'other';
-      },
-      '11': function _(n) {
-        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
-        if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';
-        if (n % 10 == 1 && n % 100 != 11) return 'one';
-        return 'other';
-      },
-      '12': function _(n) {
-        if (isBetween(n, 2, 4)) return 'few';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '13': function _(n) {
-        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
-        if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '14': function _(n) {
-        if (isBetween(n % 100, 3, 4)) return 'few';
-        if (n % 100 == 2) return 'two';
-        if (n % 100 == 1) return 'one';
-        return 'other';
-      },
-      '15': function _(n) {
-        if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';
-        if (isBetween(n % 100, 11, 19)) return 'many';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '16': function _(n) {
-        if (n % 10 == 1 && n != 11) return 'one';
-        return 'other';
-      },
-      '17': function _(n) {
-        if (n == 3) return 'few';
-        if (n === 0) return 'zero';
-        if (n == 6) return 'many';
-        if (n == 2) return 'two';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '18': function _(n) {
-        if (n === 0) return 'zero';
-        if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
-        return 'other';
-      },
-      '19': function _(n) {
-        if (isBetween(n, 2, 10)) return 'few';
-        if (isBetween(n, 0, 1)) return 'one';
-        return 'other';
-      },
-      '20': function _(n) {
-        if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';
-        if (n % 1000000 === 0 && n !== 0) return 'many';
-        if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';
-        if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';
-        return 'other';
-      },
-      '21': function _(n) {
-        if (n === 0) return 'zero';
-        if (n == 1) return 'one';
-        return 'other';
-      },
-      '22': function _(n) {
-        if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
-        return 'other';
-      },
-      '23': function _(n) {
-        if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
-        return 'other';
-      },
-      '24': function _(n) {
-        if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';
-        if (isIn(n, [2, 12])) return 'two';
-        if (isIn(n, [1, 11])) return 'one';
-        return 'other';
-      }
-    };
-    var index = locales2rules[lang.replace(/-.*$/, '')];
-
-    if (!(index in pluralRules)) {
-      console.warn('plural form unknown for [' + lang + ']');
-      return function () {
-        return 'other';
-      };
-    }
-
-    return pluralRules[index];
-  }
-
-  gMacros.plural = function (str, param, key, prop) {
-    var n = parseFloat(param);
-    if (isNaN(n)) return str;
-    if (prop != gTextProp) return str;
-
-    if (!gMacros._pluralRules) {
-      gMacros._pluralRules = getPluralRules(gLanguage);
-    }
-
-    var index = '[' + gMacros._pluralRules(n) + ']';
-
-    if (n === 0 && key + '[zero]' in gL10nData) {
-      str = gL10nData[key + '[zero]'][prop];
-    } else if (n == 1 && key + '[one]' in gL10nData) {
-      str = gL10nData[key + '[one]'][prop];
-    } else if (n == 2 && key + '[two]' in gL10nData) {
-      str = gL10nData[key + '[two]'][prop];
-    } else if (key + index in gL10nData) {
-      str = gL10nData[key + index][prop];
-    } else if (key + '[other]' in gL10nData) {
-      str = gL10nData[key + '[other]'][prop];
-    }
-
-    return str;
-  };
-
-  function getL10nData(key, args, fallback) {
-    var data = gL10nData[key];
-
-    if (!data) {
-      console.warn('#' + key + ' is undefined.');
-
-      if (!fallback) {
-        return null;
-      }
-
-      data = fallback;
-    }
-
-    var rv = {};
-
-    for (var prop in data) {
-      var str = data[prop];
-      str = substIndexes(str, args, key, prop);
-      str = substArguments(str, args, key);
-      rv[prop] = str;
-    }
-
-    return rv;
-  }
-
-  function substIndexes(str, args, key, prop) {
-    var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/;
-    var reMatch = reIndex.exec(str);
-    if (!reMatch || !reMatch.length) return str;
-    var macroName = reMatch[1];
-    var paramName = reMatch[2];
-    var param;
-
-    if (args && paramName in args) {
-      param = args[paramName];
-    } else if (paramName in gL10nData) {
-      param = gL10nData[paramName];
-    }
-
-    if (macroName in gMacros) {
-      var macro = gMacros[macroName];
-      str = macro(str, param, key, prop);
-    }
-
-    return str;
-  }
-
-  function substArguments(str, args, key) {
-    var reArgs = /\{\{\s*(.+?)\s*\}\}/g;
-    return str.replace(reArgs, function (matched_text, arg) {
-      if (args && arg in args) {
-        return args[arg];
-      }
-
-      if (arg in gL10nData) {
-        return gL10nData[arg];
-      }
-
-      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
-      return matched_text;
-    });
-  }
-
-  function translateElement(element) {
-    var l10n = getL10nAttributes(element);
-    if (!l10n.id) return;
-    var data = getL10nData(l10n.id, l10n.args);
-
-    if (!data) {
-      console.warn('#' + l10n.id + ' is undefined.');
-      return;
-    }
-
-    if (data[gTextProp]) {
-      if (getChildElementCount(element) === 0) {
-        element[gTextProp] = data[gTextProp];
-      } else {
-        var children = element.childNodes;
-        var found = false;
-
-        for (var i = 0, l = children.length; i < l; i++) {
-          if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) {
-            if (found) {
-              children[i].nodeValue = '';
-            } else {
-              children[i].nodeValue = data[gTextProp];
-              found = true;
-            }
-          }
-        }
-
-        if (!found) {
-          var textNode = document.createTextNode(data[gTextProp]);
-          element.insertBefore(textNode, element.firstChild);
-        }
-      }
-
-      delete data[gTextProp];
-    }
-
-    for (var k in data) {
-      element[k] = data[k];
-    }
-  }
-
-  function getChildElementCount(element) {
-    if (element.children) {
-      return element.children.length;
-    }
-
-    if (typeof element.childElementCount !== 'undefined') {
-      return element.childElementCount;
-    }
-
-    var count = 0;
-
-    for (var i = 0; i < element.childNodes.length; i++) {
-      count += element.nodeType === 1 ? 1 : 0;
-    }
-
-    return count;
-  }
-
-  function translateFragment(element) {
-    element = element || document.documentElement;
-    var children = getTranslatableChildren(element);
-    var elementCount = children.length;
-
-    for (var i = 0; i < elementCount; i++) {
-      translateElement(children[i]);
-    }
-
-    translateElement(element);
-  }
-
-  return {
-    get: function get(key, args, fallbackString) {
-      var index = key.lastIndexOf('.');
-      var prop = gTextProp;
-
-      if (index > 0) {
-        prop = key.substring(index + 1);
-        key = key.substring(0, index);
-      }
-
-      var fallback;
-
-      if (fallbackString) {
-        fallback = {};
-        fallback[prop] = fallbackString;
-      }
-
-      var data = getL10nData(key, args, fallback);
-
-      if (data && prop in data) {
-        return data[prop];
-      }
-
-      return '{{' + key + '}}';
-    },
-    getData: function getData() {
-      return gL10nData;
-    },
-    getText: function getText() {
-      return gTextData;
-    },
-    getLanguage: function getLanguage() {
-      return gLanguage;
-    },
-    setLanguage: function setLanguage(lang, callback) {
-      loadLocale(lang, function () {
-        if (callback) callback();
-      });
-    },
-    getDirection: function getDirection() {
-      var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];
-      var shortCode = gLanguage.split('-', 1)[0];
-      return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';
-    },
-    translate: translateFragment,
-    getReadyState: function getReadyState() {
-      return gReadyState;
-    },
-    ready: function ready(callback) {
-      if (!callback) {
-        return;
-      } else if (gReadyState == 'complete' || gReadyState == 'interactive') {
-        window.setTimeout(function () {
-          callback();
-        });
-      } else if (document.addEventListener) {
-        document.addEventListener('localized', function once() {
-          document.removeEventListener('localized', once);
-          callback();
-        });
-      }
-    }
-  };
-}(window, document);
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.PDFPrintService = PDFPrintService;
-
-var _ui_utils = __webpack_require__(5);
-
-var _app = __webpack_require__(1);
-
-var _app_options = __webpack_require__(6);
-
-var activeService = null;
-var overlayManager = null;
-
-function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
-  var scratchCanvas = activeService.scratchCanvas;
-  var PRINT_RESOLUTION = 900;
-  var PRINT_UNITS = PRINT_RESOLUTION / 72.0;
-  scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);
-  scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);
-  var width = Math.floor(size.width * _ui_utils.CSS_UNITS) + "px";
-  var height = Math.floor(size.height * _ui_utils.CSS_UNITS) + "px";
-  var ctx = scratchCanvas.getContext("2d");
-  ctx.save();
-  ctx.fillStyle = "rgb(255, 255, 255)";
-  ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);
-  ctx.restore();
-  return pdfDocument.getPage(pageNumber).then(function (pdfPage) {
-    var renderContext = {
-      canvasContext: ctx,
-      transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
-      viewport: pdfPage.getViewport({
-        scale: 1,
-        rotation: size.rotation
-      }),
-      intent: "print"
-    };
-    return pdfPage.render(renderContext).promise;
-  }).then(function () {
-    return {
-      width: width,
-      height: height
-    };
-  });
-}
-
-function PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
-  this.pdfDocument = pdfDocument;
-  this.pagesOverview = pagesOverview;
-  this.printContainer = printContainer;
-  this.l10n = l10n || _ui_utils.NullL10n;
-  this.disableCreateObjectURL = pdfDocument.loadingParams["disableCreateObjectURL"];
-  this.currentPage = -1;
-  this.scratchCanvas = document.createElement("canvas");
-}
-
-PDFPrintService.prototype = {
-  layout: function layout() {
-    this.throwIfInactive();
-    var body = document.querySelector("body");
-    body.setAttribute("data-pdfjsprinting", true);
-    var hasEqualPageSizes = this.pagesOverview.every(function (size) {
-      return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height;
-    }, this);
-
-    if (!hasEqualPageSizes) {
-      console.warn("Not all pages have the same size. The printed " + "result may be incorrect!");
-    }
-
-    this.pageStyleSheet = document.createElement("style");
-    var pageSize = this.pagesOverview[0];
-    this.pageStyleSheet.textContent = "@supports ((size:A4) and (size:1pt 1pt)) {" + "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}" + "}";
-    body.appendChild(this.pageStyleSheet);
-  },
-  destroy: function destroy() {
-    if (activeService !== this) {
-      return;
-    }
-
-    this.printContainer.textContent = "";
-    var body = document.querySelector("body");
-    body.removeAttribute("data-pdfjsprinting");
-
-    if (this.pageStyleSheet) {
-      this.pageStyleSheet.remove();
-      this.pageStyleSheet = null;
-    }
-
-    this.scratchCanvas.width = this.scratchCanvas.height = 0;
-    this.scratchCanvas = null;
-    activeService = null;
-    ensureOverlay().then(function () {
-      if (overlayManager.active !== "printServiceOverlay") {
-        return;
-      }
-
-      overlayManager.close("printServiceOverlay");
-    });
-  },
-  renderPages: function renderPages() {
-    var _this = this;
-
-    var pageCount = this.pagesOverview.length;
-
-    var renderNextPage = function renderNextPage(resolve, reject) {
-      _this.throwIfInactive();
-
-      if (++_this.currentPage >= pageCount) {
-        renderProgress(pageCount, pageCount, _this.l10n);
-        resolve();
-        return;
-      }
-
-      var index = _this.currentPage;
-      renderProgress(index, pageCount, _this.l10n);
-      renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index]).then(_this.useRenderedPage.bind(_this)).then(function () {
-        renderNextPage(resolve, reject);
-      }, reject);
-    };
-
-    return new Promise(renderNextPage);
-  },
-  useRenderedPage: function useRenderedPage(printItem) {
-    this.throwIfInactive();
-    var img = document.createElement("img");
-    img.style.width = printItem.width;
-    img.style.height = printItem.height;
-    var scratchCanvas = this.scratchCanvas;
-
-    if ("toBlob" in scratchCanvas && !this.disableCreateObjectURL) {
-      scratchCanvas.toBlob(function (blob) {
-        img.src = URL.createObjectURL(blob);
-      });
-    } else {
-      img.src = scratchCanvas.toDataURL();
-    }
-
-    var wrapper = document.createElement("div");
-    wrapper.appendChild(img);
-    this.printContainer.appendChild(wrapper);
-    return new Promise(function (resolve, reject) {
-      img.onload = resolve;
-      img.onerror = reject;
-    });
-  },
-  performPrint: function performPrint() {
-    var _this2 = this;
-
-    this.throwIfInactive();
-    return new Promise(function (resolve) {
-      setTimeout(function () {
-        if (!_this2.active) {
-          resolve();
-          return;
-        }
-
-        print.call(window);
-        setTimeout(resolve, 20);
-      }, 0);
-    });
-  },
-
-  get active() {
-    return this === activeService;
-  },
-
-  throwIfInactive: function throwIfInactive() {
-    if (!this.active) {
-      throw new Error("This print request was cancelled or completed.");
-    }
-  }
-};
-var print = window.print;
-
-window.print = function () {
-  if (activeService) {
-    console.warn("Ignored window.print() because of a pending print job.");
-    return;
-  }
-
-  ensureOverlay().then(function () {
-    if (activeService) {
-      overlayManager.open("printServiceOverlay");
-    }
-  });
-
-  try {
-    dispatchEvent("beforeprint");
-  } finally {
-    if (!activeService) {
-      console.error("Expected print service to be initialized.");
-      ensureOverlay().then(function () {
-        if (overlayManager.active === "printServiceOverlay") {
-          overlayManager.close("printServiceOverlay");
-        }
-      });
-      return;
-    }
-
-    var activeServiceOnEntry = activeService;
-    activeService.renderPages().then(function () {
-      return activeServiceOnEntry.performPrint();
-    })["catch"](function () {}).then(function () {
-      if (activeServiceOnEntry.active) {
-        abort();
-      }
-    });
-  }
-};
-
-function dispatchEvent(eventType) {
-  var event = document.createEvent("CustomEvent");
-  event.initCustomEvent(eventType, false, false, "custom");
-  window.dispatchEvent(event);
-}
-
-function abort() {
-  if (activeService) {
-    activeService.destroy();
-    dispatchEvent("afterprint");
-  }
-}
-
-function renderProgress(index, total, l10n) {
-  var progressContainer = document.getElementById("printServiceOverlay");
-  var progress = Math.round(100 * index / total);
-  var progressBar = progressContainer.querySelector("progress");
-  var progressPerc = progressContainer.querySelector(".relative-progress");
-  progressBar.value = progress;
-  l10n.get("print_progress_percent", {
-    progress: progress
-  }, progress + "%").then(function (msg) {
-    progressPerc.textContent = msg;
-  });
-}
-
-window.addEventListener("keydown", function (event) {
-  if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
-    window.print();
-    event.preventDefault();
-
-    if (event.stopImmediatePropagation) {
-      event.stopImmediatePropagation();
-    } else {
-      event.stopPropagation();
-    }
-  }
-}, true);
-
-if ("onbeforeprint" in window) {
-  var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) {
-    if (event.detail !== "custom" && event.stopImmediatePropagation) {
-      event.stopImmediatePropagation();
-    }
-  };
-
-  window.addEventListener("beforeprint", stopPropagationIfNeeded);
-  window.addEventListener("afterprint", stopPropagationIfNeeded);
-}
-
-var overlayPromise;
-
-function ensureOverlay() {
-  if (!overlayPromise) {
-    overlayManager = _app.PDFViewerApplication.overlayManager;
-
-    if (!overlayManager) {
-      throw new Error("The overlay manager has not yet been initialized.");
-    }
-
-    overlayPromise = overlayManager.register("printServiceOverlay", document.getElementById("printServiceOverlay"), abort, true);
-    document.getElementById("printCancel").onclick = abort;
-  }
-
-  return overlayPromise;
-}
-
-_app.PDFPrintServiceFactory.instance = {
-  supportsPrinting: true,
-  createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {
-    if (activeService) {
-      throw new Error("The print service is created and active.");
-    }
-
-    activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n);
-    return activeService;
-  }
-};
-
-/***/ })
-/******/ ]);
-//# sourceMappingURL=viewer.js.map
\ No newline at end of file
diff --git a/server/target/classes/static/pdfjs/web/viewer.js.map b/server/target/classes/static/pdfjs/web/viewer.js.map
deleted file mode 100644
index b28759e..0000000
--- a/server/target/classes/static/pdfjs/web/viewer.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///web/viewer.js","webpack:///web/app.js","webpack:///node_modules/@babel/runtime/regenerator/index.js","webpack:///node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack:///node_modules/webpack/buildin/module.js","webpack:///web/ui_utils.js","webpack:///web/app_options.js","webpack:///web/pdfjs.js","webpack:///web/viewer_compatibility.js","webpack:///web/pdf_cursor_tools.js","webpack:///web/grab_to_pan.js","webpack:///web/pdf_rendering_queue.js","webpack:///web/pdf_sidebar.js","webpack:///web/overlay_manager.js","webpack:///web/password_prompt.js","webpack:///web/pdf_attachment_viewer.js","webpack:///web/pdf_document_properties.js","webpack:///web/pdf_find_bar.js","webpack:///web/pdf_find_controller.js","webpack:///web/pdf_find_utils.js","webpack:///web/pdf_history.js","webpack:///web/pdf_link_service.js","webpack:///web/pdf_outline_viewer.js","webpack:///web/pdf_presentation_mode.js","webpack:///web/pdf_sidebar_resizer.js","webpack:///web/pdf_thumbnail_viewer.js","webpack:///web/pdf_thumbnail_view.js","webpack:///web/pdf_viewer.js","webpack:///web/base_viewer.js","webpack:///web/annotation_layer_builder.js","webpack:///web/pdf_page_view.js","webpack:///web/text_layer_builder.js","webpack:///web/secondary_toolbar.js","webpack:///web/pdf_single_page_viewer.js","webpack:///web/toolbar.js","webpack:///web/view_history.js","webpack:///web/genericcom.js","webpack:///web/preferences.js","webpack:///web/download_manager.js","webpack:///web/genericl10n.js","webpack:///external/webL10n/l10n.js","webpack:///web/pdf_print_service.js"],"names":["pdfjsWebApp","require","pdfjsWebAppOptions","appContainer","document","mainContainer","viewerContainer","eventBus","toolbar","container","numPages","pageNumber","scaleSelectContainer","scaleSelect","customScaleOption","previous","next","zoomIn","zoomOut","viewFind","openFile","print","presentationModeButton","download","viewBookmark","secondaryToolbar","toggleButton","toolbarButtonContainer","openFileButton","printButton","downloadButton","viewBookmarkButton","firstPageButton","lastPageButton","pageRotateCwButton","pageRotateCcwButton","cursorSelectToolButton","cursorHandToolButton","scrollVerticalButton","scrollHorizontalButton","scrollWrappedButton","spreadNoneButton","spreadOddButton","spreadEvenButton","documentPropertiesButton","fullscreen","contextFirstPage","contextLastPage","contextPageRotateCw","contextPageRotateCcw","sidebar","outerContainer","thumbnailButton","outlineButton","attachmentsButton","thumbnailView","outlineView","attachmentsView","sidebarResizer","resizer","findBar","bar","findField","highlightAllCheckbox","caseSensitiveCheckbox","entireWordCheckbox","findMsg","findResultsCount","findPreviousButton","findNextButton","passwordOverlay","overlayName","label","input","submitButton","cancelButton","documentProperties","closeButton","fields","fileName","fileSize","title","author","subject","keywords","creationDate","modificationDate","creator","producer","version","pageCount","pageSize","linearized","errorWrapper","errorMessage","errorMoreInfo","moreInfoButton","lessInfoButton","printContainer","openFileInputName","debuggerScriptPath","config","getViewerConfiguration","window","event","webViewerLoad","DEFAULT_SCALE_DELTA","DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT","FORCE_PAGES_LOADED_TIMEOUT","WHEEL_ZOOM_DISABLED_TIMEOUT","ViewOnLoad","UNKNOWN","PREVIOUS","INITIAL","constructor","shadow","ctrlKey","metaKey","PDFViewerApplication","initialBookmark","_initializedCapability","fellback","appConfig","pdfDocument","pdfLoadingTask","printService","pdfViewer","pdfThumbnailViewer","pdfRenderingQueue","pdfPresentationMode","pdfDocumentProperties","pdfLinkService","pdfHistory","pdfSidebar","pdfSidebarResizer","pdfOutlineViewer","pdfAttachmentViewer","pdfCursorTools","store","downloadManager","overlayManager","preferences","l10n","isInitialViewSet","downloadComplete","isViewerEmbedded","url","baseUrl","externalServices","_boundEvents","contentDispositionFilename","AppOptions","LinkTarget","source","prefs","console","reason","hash","hashParams","parseQueryString","waitOn","loadFakeWorker","TextLayerMode","viewer","enabled","loadAndEnablePDFBug","locale","dir","dispatchToDOM","externalLinkTarget","externalLinkRel","ignoreDestinationZoom","disableCreateObjectURL","findController","linkService","renderingQueue","renderer","enableWebGL","textLayerMode","imageResourcesPath","renderInteractiveForms","enablePrintAutoRotate","useOnlyCssZoom","maxCanvasPixels","cursorToolOnLoad","contextMenuItems","elements","run","newScale","Math","zoomReset","PDFPrintServiceFactory","doc","support","initPassiveLoading","setTitleUsingUrl","getPDFFileNameFromURL","decodeURIComponent","getFilenameFromUrl","setTitle","promise","PDFBug","workerParameters","OptionKind","GlobalWorkerOptions","parameters","Object","file","apiParameters","value","key","args","loadingTask","getDocument","loaded","exception","message","loadingErrorMessage","msg","filename","err","downloadByUrl","blob","type","fallback","featureId","error","moreInfoText","build","moreInfo","stack","line","errorWrapperConfig","Promise","parts","progress","percent","level","isNaN","disableAutoFetch","clearTimeout","load","firstPagePromise","pageLayoutPromise","pageModePromise","openActionPromise","baseDocumentUrl","pdfPage","storePromise","page","zoom","scrollLeft","scrollTop","rotation","sidebarView","SidebarView","scrollMode","ScrollMode","spreadMode","SpreadMode","values","viewOnLoad","fingerprint","initialDest","openAction","parseInt","pageMode","apiPageModeToSidebarView","pageLayout","apiPageLayoutToSpreadMode","resolve","setTimeout","labels","numLabels","i","pagesPromise","triggerAutoPrint","javaScript","js","UNSUPPORTED_FEATURES","AutoPrintRegExp","onePageRendered","outline","attachments","info","infoTitle","pdfTitle","metadataTitle","metadata","versionId","KNOWN_VERSIONS","generatorId","KNOWN_GENERATORS","generator","formType","_initializePdfHistory","resetHistory","updateUrl","JSON","explicitDest","setInitialView","setRotation","angle","isValidRotation","setViewerModes","isValidScrollMode","isValidSpreadMode","cleanup","RendererType","forceRendering","beforePrint","printMessage","notReadyMessage","pagesOverview","afterPrint","rotatePages","newRotation","requestPresentationMode","bindEvents","bindWindowEvents","passive","unbindEvents","unbindWindowEvents","HOSTED_VIEWER_ORIGINS","validateFileURL","viewerOrigin","origin","protocol","ex","loadScript","PDFWorker","OPS","queryString","params","fileInput","files","evt","webViewerOpenFileViaURL","xhr","pageIndex","pageView","Stats","timestamp","stats","view","action","state","PresentationModeState","location","href","currentPage","loading","RenderingStates","currentScaleValue","webViewerFileInputChange","URL","originalUrl","fileReader","buffer","webViewerOpenFile","query","phraseSearch","caseSensitive","entireWord","highlightAll","findPrevious","result","matchesCount","setZoomDisabledTimeout","zoomDisabledTimeout","supportedMouseWheelZoomModifierKeys","previousScale","delta","normalizeWheelEventDelta","MOUSE_WHEEL_DELTA_PER_PAGE_SCALE","ticks","currentScale","scaleCorrectionFactor","rect","dx","dy","handled","ensureViewerFocused","cmd","isViewerInPresentationMode","findState","curElement","curElementTagName","turnPage","turnOnlyIfPageFit","CursorTool","instance","supportsPrinting","createPrintService","module","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","protoGenerator","outerFn","context","tryLocsList","makeInvokeMethod","exports","arg","fn","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","prototype","ctor","genFun","__await","record","tryCatch","reject","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","PromiseImpl","iter","wrap","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","done","entry","tryLoc","locs","keys","iteratorMethod","iterable","Context","reset","name","stop","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","complete","finish","resetTryEntry","thrown","delegateYield","iterator","resultName","nextLoc","regeneratorRuntime","Function","enumerable","get","CSS_UNITS","DEFAULT_SCALE_VALUE","DEFAULT_SCALE","MIN_SCALE","MAX_SCALE","UNKNOWN_SCALE","MAX_AUTO_SCALE","SCROLLBAR_PADDING","VERTICAL_PADDING","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","NONE","ODD","EVEN","NullL10n","formatL10nValue","devicePixelRatio","backingStoreRatio","ctx","pixelRatio","sx","sy","scaled","skipOverflowHiddenElements","parent","element","offsetY","offsetX","getComputedStyle","spot","debounceScroll","rAF","currentX","viewAreaElement","lastX","currentY","lastY","callback","right","down","_eventHandler","ii","param","minIndex","maxIndex","items","condition","currentIndex","currentItem","xinv","limit","x_","x","a","b","c","d","p","q","r","changeOrientation","rotate","width","height","index","elt","views","pageTop","sortByVisibility","horizontal","top","scrollEl","bottom","left","elementBottom","elementRight","visible","numViews","firstVisibleElementInd","binarySearchFirstItem","backtrackBeforeAllVisibleElements","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","id","y","first","last","pc","defaultFilename","isDataSchema","reURI","reFilename","splitURI","suggestedFilename","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","Number","mode","size","WaitOnType","EVENT","TIMEOUT","delay","target","eventHandler","handler","timeoutHandler","timeout","animationStarted","details","obj","on","external","off","dispatch","eventListeners","Array","dispatchDOMEvent","externalListeners","listener","_on","options","_off","globalEventBus","units","progressSize","setWidth","scrollbarWidth","clamp","moved","len","arr","write","read","VIEWER","API","WORKER","PREFERENCE","defaultOptions","kind","defaultUrl","defaultZoomValue","disableHistory","disablePageLabels","eventBusDispatchToDOM","historyUpdateUrl","compatibility","viewerCompatibilityParams","pdfBugEnabled","sidebarViewOnLoad","scrollModeOnLoad","spreadModeOnLoad","cMapPacked","cMapUrl","apiCompatibilityParams","disableFontFace","disableRange","disableStream","docBaseUrl","isEvalSupported","maxImageSize","pdfBug","verbosity","workerPort","workerSrc","navigator","userOptions","userOption","defaultOption","valueType","pdfjsLib","__non_webpack_require__","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIOS","SELECT","HAND","ZOOM","switchTool","tool","disableActiveTool","previouslyActive","overlay","GrabToPan","CSS_CLASS_GRAB","activate","deactivate","toggle","ignoreTarget","node","_onmousedown","focusedElement","_onmousemove","isLeftMouseReleased","xDiff","yDiff","behavior","_endPan","prefix","matchesSelector","isNotIEorIsIE10plus","chrome","isChrome15OrOpera15plus","isSafari6plus","CLEANUP_TIMEOUT","RUNNING","PAUSED","FINISHED","setViewer","setThumbnailViewer","isHighestPriority","renderHighestPriority","getHighestPriority","visibleViews","numVisible","nextPageIndex","previousPageIndex","isViewFinished","renderView","UI_NOTIFICATION_CLASS","THUMBS","OUTLINE","ATTACHMENTS","LAYERS","disableNotification","switchView","forceOpen","_switchView","isViewChanged","shouldForceRendering","pagesCount","_showUINotification","_hideUINotification","removeNotification","outlineCount","callerCloseMethod","canForceClose","_keyDown","e","PasswordResponses","promptString","password","setUpdateCallback","keepRenderedCapability","_dispatchEvent","attachmentsCount","_bindPdfLink","button","blobUrl","createObjectURL","viewerUrl","encodeURIComponent","_bindLink","render","names","item","removeNullCharacters","div","_appendAttachment","content","DEFAULT_FIELD_CONTENT","NON_METRIC_LOCALES","US_PAGE_NAMES","METRIC_PAGE_NAMES","isPortrait","pageNames","freezeFieldData","data","writable","configurable","currentPageNumber","pagesRotation","getPageSizeInches","_currentPageNumber","_pagesRotation","setDocument","setFileSize","_updateUI","kb","size_kb","size_b","size_mb","pageSizeInches","isPortraitOrientation","sizeInches","sizeMillimeters","pageName","rawName","getPageName","exactMillimeters","intMillimeters","unit","orientation","dateObject","PDFDateString","date","time","_parseLinearization","isLinearized","MATCHES_COUNT_LIMIT","dispatchEvent","updateUIState","notFound","status","FindState","updateResultsCount","current","total","matchesCountMsg","findbarHeight","inputContainerHeight","FOUND","NOT_FOUND","PENDING","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","replace","executeCommand","findbarClosed","pendingTimeout","matchIndex","scrollMatchIntoView","scrollIntoView","pageIdx","matchIdx","wrapped","_shouldDirtyMatch","_prepareMatches","currentElem","matchesWithLength","nextElem","prevElem","isSubTerm","matches","matchesLength","_isEntireWord","startIdx","getCharacterType","endIdx","_calculatePhraseMatch","queryLen","pageContent","_calculateWordMatch","queryArray","subquery","subqueryLen","match","matchLength","skipped","_calculateMatch","pageMatchesCount","extractTextCapability","normalizeWhitespace","textContent","textItems","strBuf","j","jj","normalize","_updatePage","currentPageIndex","offset","numPageMatches","_matchesReady","numMatches","_advanceOffsetPage","found","_updateMatch","previousPage","_onFindBarClose","_updateUIState","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","charCode","isAlphabeticalScript","isAscii","isAsciiSpace","isAsciiAlpha","isAsciiDigit","isThai","isHan","isKatakana","isHiragana","isHalfwidthKatakana","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","onPagesLoaded","initialize","reInitialized","getCurrentHash","destination","namedDest","push","forceReplace","isDestArraysEqual","dest","_pushOrReplaceState","shouldReplace","newState","uid","newUrl","temporary","_tryPushCurrentPosition","position","_isValidState","checkReload","performance","perfEntry","_updateInternalState","removeTemporary","unescape","_updateViewarea","_popState","newHash","hashChanged","waitOnEventOrTimeout","updateViewarea","popState","pageHide","destHash","nameddest","second","isEntryEqual","firstDest","secondDest","externalLinkEnabled","setHistory","navigateTo","goToDestination","destRef","destArray","getDestinationHash","escape","str","getAnchorUrl","setHash","zoomArgs","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","isValidExplicitDestination","executeNamedAction","cachePageRef","refStr","pageRef","_cachedPageNumber","isPageVisible","destLength","allowNull","DEFAULT_TITLE","addLinkAttributes","newWindow","rel","_setStyles","_addToggleButton","toggler","count","shouldShowAll","_toggleOutlineItem","show","root","fragment","queue","hasAnyNesting","levelData","itemsDiv","DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS","DELAY_BEFORE_HIDING_CONTROLS","ACTIVE_SELECTOR","CONTROLS_SELECTOR","MOUSE_SCROLL_COOLDOWN_TIME","PAGE_SWITCH_THRESHOLD","SWIPE_MIN_DISTANCE_THRESHOLD","SWIPE_ANGLE_THRESHOLD","Element","_mouseWheel","currentTime","storedTime","totalDelta","success","active","switchInProgress","_mouseDown","isInternalLink","_touchSwipe","startX","startY","endX","endY","absAngle","SIDEBAR_WIDTH_VAR","SIDEBAR_MIN_WIDTH","SIDEBAR_RESIZING_CLASS","CSS","_updateWidth","newWidth","_mouseMove","_mouseUp","updated","THUMBNAIL_SCROLL_MARGIN","THUMBNAIL_SELECTED_CLASS","watchScroll","getThumbnail","getVisibleElements","scrollThumbnailIntoView","prevThumbnailView","visibleThumbs","numVisibleThumbs","shouldScroll","PDFThumbnailView","firstPdfPage","viewport","scale","pageNum","thumbnail","defaultViewport","disableCanvasToImageConversion","firstThumbnailView","setPageLabels","_ensurePdfPageLoaded","thumbView","MAX_NUM_SCALING_STEPS","THUMBNAIL_CANVAS_BORDER_WIDTH","THUMBNAIL_WIDTH","TempImageFactory","tempCanvasCache","getCanvas","tempCanvas","alpha","destroyCanvas","anchor","ring","borderAdjustment","setPdfPage","totalRotation","childNodes","update","noCtxScale","_getPageDrawContext","canvas","outputScale","getOutputScale","className","image","renderCapability","finishRenderTask","renderTask","drawViewport","renderContinueCallback","cont","renderContext","canvasContext","setImage","img","reducedWidth","reducedHeight","reducedImage","reducedImageCtx","setPageLabel","pageSpot","_scrollIntoView","pageDiv","_updateHelper","currentId","stillFullyVisible","visiblePages","DEFAULT_CACHE_SIZE","pageIdsToKeep","iMax","pagesToKeep","moveToEndOfArray","getPageView","_setCurrentPageNumber","resetCurrentPageView","val","pageLabel","textLayerFactory","annotationLayerFactory","firstPageView","getPagesLeft","_setScaleUpdatePages","noScroll","preset","newValue","isSameScale","presetValue","_setScale","noPadding","hPadding","vPadding","pageWidthScale","pageHeightScale","horizontalScale","scrollPageIntoView","pageWidth","pageHeight","widthScale","heightScale","boundingRect","_updateLocation","normalizedScaleValue","firstPage","pdfOpenParams","currentPageView","topLeft","intLeft","intTop","numVisiblePages","newCacheSize","containsElement","currentlyVisiblePages","scrollAhead","createTextLayerBuilder","enhanceTextSelection","textLayerDiv","createAnnotationLayerBuilder","isFirstPagePortrait","_updateScrollMode","_updateSpreadMode","pages","parity","spread","intent","annotations","dontFlip","AnnotationLayer","MAX_CANVAS_PIXELS","removeFromDOM","_resetZoomLayer","zoomLayerCanvas","keepZoomLayer","keepAnnotations","currentZoomLayerNode","currentAnnotationNode","cssTransform","isScalingRestricted","cancelRendering","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","getPagePoint","canvasWrapper","textLayer","finishPaintTask","paintTask","resultPromise","readableStream","paintOnCanvas","onRenderContinue","cancel","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","approximateFraction","sfy","roundToDivide","transform","paintOnSvg","cancelled","ensureNotCancelled","opList","svgGfx","svg","wrapper","EXPAND_DIVS_TIMEOUT","endOfContent","numTextDivs","textLayerFrag","textContentStream","textDivs","textContentItemsStr","setTextContentStream","setTextContent","_convertMatches","iIndex","end","m","mm","begin","divIdx","_renderMatches","isSelectedPage","selectedMatchIdx","prevEnd","infinity","appendTextToDiv","span","i0","i1","isSelected","highlightSuffix","beginText","n0","n1","clearedUntilDivIdx","n","pageMatches","pageMatchesLength","expandDivsTimer","adjustTop","divBounds","eventName","close","eventDetails","lastPage","pageRotateCw","pageRotateCcw","setPageNumber","setPagesCount","_bindCursorToolsListener","buttons","_bindScrollModeListener","isScrollModeHorizontal","scrollModeChanged","_bindSpreadModeListener","spreadModeChanged","previousPageView","viewerNodes","scrolledDown","PAGE_NUMBER_LOADING_INDICATOR","SCALE_SELECT_CONTAINER_WIDTH","SCALE_SELECT_WIDTH","setPageScale","self","resetNumPages","pageScale","customScale","predefinedValueFound","option","updateLoadingIndicatorState","pageNumberInput","predefinedValuesPromise","maxWidth","overflow","DEFAULT_VIEW_HISTORY_CACHE_SIZE","cacheSize","databaseStr","database","length","branch","localStorage","properties","GenericCom","defaultPreferences","defaults","defaultValue","prefValue","defaultType","DISABLE_CREATE_OBJECT_URL","downloadUrl","createValidAbsoluteUrl","downloadData","webL10n","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","script","l10nId","l10nArgs","onSuccess","onFailure","baseURL","text","dictionary","reBlank","reComment","reSection","reImport","reSplit","entries","rawText","currentLang","genericLang","lang","skipLang","parsedRawLinesCallback","loadImport","tmp","evalString","nextEntry","xhrLoadText","parseRawLines","parsedPropertiesCallback","parseProperties","prop","successCallback","clear","langLinks","getL10nResourceLinks","langCount","dict","getL10nDictionary","defaultLocale","anyCaseLang","onResourceLoaded","gResourceCount","link","parseResource","resource","locales2rules","list","start","pluralRules","isBetween","getPluralRules","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","getL10nAttributes","getL10nData","getChildElementCount","children","l","textNode","getTranslatableChildren","elementCount","translateElement","getData","getText","getLanguage","setLanguage","loadLocale","getDirection","rtlList","shortCode","translate","getReadyState","ready","activeService","scratchCanvas","PRINT_RESOLUTION","PRINT_UNITS","PDFPrintService","layout","body","hasEqualPageSizes","destroy","ensureOverlay","renderPages","renderNextPage","renderProgress","renderPage","useRenderedPage","printItem","performPrint","throwIfInactive","activeServiceOnEntry","abort","progressContainer","progressBar","progressPerc","stopPropagationIfNeeded","overlayPromise"],"mappings":"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","file":"viewer.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","/* Copyright 2016 Mozilla Foundation\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\n\"use strict\";\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")) {\n  var defaultUrl; // eslint-disable-line no-var\n\n  (function rewriteUrlClosure() {\n    // Run this code outside DOMContentLoaded to make sure that the URL\n    // is rewritten as soon as possible.\n    const queryString = document.location.search.slice(1);\n    const m = /(^|&)file=([^&]*)/.exec(queryString);\n    defaultUrl = m ? decodeURIComponent(m[2]) : \"\";\n\n    // Example: chrome-extension://.../http://example.com/file.pdf\n    const humanReadableUrl = \"/\" + defaultUrl + location.hash;\n    history.replaceState(history.state, \"\", humanReadableUrl);\n    if (top === window) {\n      // eslint-disable-next-line no-undef\n      chrome.runtime.sendMessage(\"showPageAction\");\n    }\n  })();\n}\n\nlet pdfjsWebApp, pdfjsWebAppOptions;\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"PRODUCTION\")) {\n  pdfjsWebApp = require(\"./app.js\");\n  pdfjsWebAppOptions = require(\"./app_options.js\");\n}\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n  require(\"./firefoxcom.js\");\n  require(\"./firefox_print_service.js\");\n}\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n  require(\"./genericcom.js\");\n}\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")) {\n  require(\"./chromecom.js\");\n}\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME || GENERIC\")) {\n  require(\"./pdf_print_service.js\");\n}\n\nfunction getViewerConfiguration() {\n  return {\n    appContainer: document.body,\n    mainContainer: document.getElementById(\"viewerContainer\"),\n    viewerContainer: document.getElementById(\"viewer\"),\n    eventBus: null,\n    toolbar: {\n      container: document.getElementById(\"toolbarViewer\"),\n      numPages: document.getElementById(\"numPages\"),\n      pageNumber: document.getElementById(\"pageNumber\"),\n      scaleSelectContainer: document.getElementById(\"scaleSelectContainer\"),\n      scaleSelect: document.getElementById(\"scaleSelect\"),\n      customScaleOption: document.getElementById(\"customScaleOption\"),\n      previous: document.getElementById(\"previous\"),\n      next: document.getElementById(\"next\"),\n      zoomIn: document.getElementById(\"zoomIn\"),\n      zoomOut: document.getElementById(\"zoomOut\"),\n      viewFind: document.getElementById(\"viewFind\"),\n      openFile: document.getElementById(\"openFile\"),\n      print: document.getElementById(\"print\"),\n      presentationModeButton: document.getElementById(\"presentationMode\"),\n      download: document.getElementById(\"download\"),\n      viewBookmark: document.getElementById(\"viewBookmark\"),\n    },\n    secondaryToolbar: {\n      toolbar: document.getElementById(\"secondaryToolbar\"),\n      toggleButton: document.getElementById(\"secondaryToolbarToggle\"),\n      toolbarButtonContainer: document.getElementById(\n        \"secondaryToolbarButtonContainer\"\n      ),\n      presentationModeButton: document.getElementById(\n        \"secondaryPresentationMode\"\n      ),\n      openFileButton: document.getElementById(\"secondaryOpenFile\"),\n      printButton: document.getElementById(\"secondaryPrint\"),\n      downloadButton: document.getElementById(\"secondaryDownload\"),\n      viewBookmarkButton: document.getElementById(\"secondaryViewBookmark\"),\n      firstPageButton: document.getElementById(\"firstPage\"),\n      lastPageButton: document.getElementById(\"lastPage\"),\n      pageRotateCwButton: document.getElementById(\"pageRotateCw\"),\n      pageRotateCcwButton: document.getElementById(\"pageRotateCcw\"),\n      cursorSelectToolButton: document.getElementById(\"cursorSelectTool\"),\n      cursorHandToolButton: document.getElementById(\"cursorHandTool\"),\n      scrollVerticalButton: document.getElementById(\"scrollVertical\"),\n      scrollHorizontalButton: document.getElementById(\"scrollHorizontal\"),\n      scrollWrappedButton: document.getElementById(\"scrollWrapped\"),\n      spreadNoneButton: document.getElementById(\"spreadNone\"),\n      spreadOddButton: document.getElementById(\"spreadOdd\"),\n      spreadEvenButton: document.getElementById(\"spreadEven\"),\n      documentPropertiesButton: document.getElementById(\"documentProperties\"),\n    },\n    fullscreen: {\n      contextFirstPage: document.getElementById(\"contextFirstPage\"),\n      contextLastPage: document.getElementById(\"contextLastPage\"),\n      contextPageRotateCw: document.getElementById(\"contextPageRotateCw\"),\n      contextPageRotateCcw: document.getElementById(\"contextPageRotateCcw\"),\n    },\n    sidebar: {\n      // Divs (and sidebar button)\n      outerContainer: document.getElementById(\"outerContainer\"),\n      viewerContainer: document.getElementById(\"viewerContainer\"),\n      toggleButton: document.getElementById(\"sidebarToggle\"),\n      // Buttons\n      thumbnailButton: document.getElementById(\"viewThumbnail\"),\n      outlineButton: document.getElementById(\"viewOutline\"),\n      attachmentsButton: document.getElementById(\"viewAttachments\"),\n      // Views\n      thumbnailView: document.getElementById(\"thumbnailView\"),\n      outlineView: document.getElementById(\"outlineView\"),\n      attachmentsView: document.getElementById(\"attachmentsView\"),\n    },\n    sidebarResizer: {\n      outerContainer: document.getElementById(\"outerContainer\"),\n      resizer: document.getElementById(\"sidebarResizer\"),\n    },\n    findBar: {\n      bar: document.getElementById(\"findbar\"),\n      toggleButton: document.getElementById(\"viewFind\"),\n      findField: document.getElementById(\"findInput\"),\n      highlightAllCheckbox: document.getElementById(\"findHighlightAll\"),\n      caseSensitiveCheckbox: document.getElementById(\"findMatchCase\"),\n      entireWordCheckbox: document.getElementById(\"findEntireWord\"),\n      findMsg: document.getElementById(\"findMsg\"),\n      findResultsCount: document.getElementById(\"findResultsCount\"),\n      findPreviousButton: document.getElementById(\"findPrevious\"),\n      findNextButton: document.getElementById(\"findNext\"),\n    },\n    passwordOverlay: {\n      overlayName: \"passwordOverlay\",\n      container: document.getElementById(\"passwordOverlay\"),\n      label: document.getElementById(\"passwordText\"),\n      input: document.getElementById(\"password\"),\n      submitButton: document.getElementById(\"passwordSubmit\"),\n      cancelButton: document.getElementById(\"passwordCancel\"),\n    },\n    documentProperties: {\n      overlayName: \"documentPropertiesOverlay\",\n      container: document.getElementById(\"documentPropertiesOverlay\"),\n      closeButton: document.getElementById(\"documentPropertiesClose\"),\n      fields: {\n        fileName: document.getElementById(\"fileNameField\"),\n        fileSize: document.getElementById(\"fileSizeField\"),\n        title: document.getElementById(\"titleField\"),\n        author: document.getElementById(\"authorField\"),\n        subject: document.getElementById(\"subjectField\"),\n        keywords: document.getElementById(\"keywordsField\"),\n        creationDate: document.getElementById(\"creationDateField\"),\n        modificationDate: document.getElementById(\"modificationDateField\"),\n        creator: document.getElementById(\"creatorField\"),\n        producer: document.getElementById(\"producerField\"),\n        version: document.getElementById(\"versionField\"),\n        pageCount: document.getElementById(\"pageCountField\"),\n        pageSize: document.getElementById(\"pageSizeField\"),\n        linearized: document.getElementById(\"linearizedField\"),\n      },\n    },\n    errorWrapper: {\n      container: document.getElementById(\"errorWrapper\"),\n      errorMessage: document.getElementById(\"errorMessage\"),\n      closeButton: document.getElementById(\"errorClose\"),\n      errorMoreInfo: document.getElementById(\"errorMoreInfo\"),\n      moreInfoButton: document.getElementById(\"errorShowMore\"),\n      lessInfoButton: document.getElementById(\"errorShowLess\"),\n    },\n    printContainer: document.getElementById(\"printContainer\"),\n    openFileInputName: \"fileInput\",\n    debuggerScriptPath: \"./debugger.js\",\n  };\n}\n\nfunction webViewerLoad() {\n  const config = getViewerConfiguration();\n  if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n    Promise.all([\n      SystemJS.import(\"pdfjs-web/app.js\"),\n      SystemJS.import(\"pdfjs-web/app_options.js\"),\n      SystemJS.import(\"pdfjs-web/genericcom.js\"),\n      SystemJS.import(\"pdfjs-web/pdf_print_service.js\"),\n    ]).then(function([app, appOptions, ...otherModules]) {\n      window.PDFViewerApplication = app.PDFViewerApplication;\n      window.PDFViewerApplicationOptions = appOptions.AppOptions;\n      app.PDFViewerApplication.run(config);\n    });\n  } else {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")) {\n      pdfjsWebAppOptions.AppOptions.set(\"defaultUrl\", defaultUrl);\n    }\n\n    window.PDFViewerApplication = pdfjsWebApp.PDFViewerApplication;\n    window.PDFViewerApplicationOptions = pdfjsWebAppOptions.AppOptions;\n\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n      // Give custom implementations of the default viewer a simpler way to\n      // set various `AppOptions`, by dispatching an event once all viewer\n      // files are loaded but *before* the viewer initialization has run.\n      const event = document.createEvent(\"CustomEvent\");\n      event.initCustomEvent(\"webviewerloaded\", true, true, {});\n      document.dispatchEvent(event);\n    }\n\n    pdfjsWebApp.PDFViewerApplication.run(config);\n  }\n}\n\nif (\n  document.readyState === \"interactive\" ||\n  document.readyState === \"complete\"\n) {\n  webViewerLoad();\n} else {\n  document.addEventListener(\"DOMContentLoaded\", webViewerLoad, true);\n}\n","/* Copyright 2012 Mozilla Foundation\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/* globals PDFBug, Stats */\n\nimport {\n  animationStarted,\n  AutoPrintRegExp,\n  DEFAULT_SCALE_VALUE,\n  EventBus,\n  getPDFFileNameFromURL,\n  isValidRotation,\n  isValidScrollMode,\n  isValidSpreadMode,\n  MAX_SCALE,\n  MIN_SCALE,\n  noContextMenuHandler,\n  normalizeWheelEventDelta,\n  parseQueryString,\n  PresentationModeState,\n  ProgressBar,\n  RendererType,\n  ScrollMode,\n  SpreadMode,\n  TextLayerMode,\n} from \"./ui_utils.js\";\nimport { AppOptions, OptionKind } from \"./app_options.js\";\nimport {\n  build,\n  createPromiseCapability,\n  getDocument,\n  getFilenameFromUrl,\n  GlobalWorkerOptions,\n  InvalidPDFException,\n  LinkTarget,\n  loadScript,\n  MissingPDFException,\n  OPS,\n  PDFWorker,\n  shadow,\n  UnexpectedResponseException,\n  UNSUPPORTED_FEATURES,\n  version,\n} from \"pdfjs-lib\";\nimport { CursorTool, PDFCursorTools } from \"./pdf_cursor_tools.js\";\nimport { PDFRenderingQueue, RenderingStates } from \"./pdf_rendering_queue.js\";\nimport { PDFSidebar, SidebarView } from \"./pdf_sidebar.js\";\nimport { OverlayManager } from \"./overlay_manager.js\";\nimport { PasswordPrompt } from \"./password_prompt.js\";\nimport { PDFAttachmentViewer } from \"./pdf_attachment_viewer.js\";\nimport { PDFDocumentProperties } from \"./pdf_document_properties.js\";\nimport { PDFFindBar } from \"./pdf_find_bar.js\";\nimport { PDFFindController } from \"./pdf_find_controller.js\";\nimport { PDFHistory } from \"./pdf_history.js\";\nimport { PDFLinkService } from \"./pdf_link_service.js\";\nimport { PDFOutlineViewer } from \"./pdf_outline_viewer.js\";\nimport { PDFPresentationMode } from \"./pdf_presentation_mode.js\";\nimport { PDFSidebarResizer } from \"./pdf_sidebar_resizer.js\";\nimport { PDFThumbnailViewer } from \"./pdf_thumbnail_viewer.js\";\nimport { PDFViewer } from \"./pdf_viewer.js\";\nimport { SecondaryToolbar } from \"./secondary_toolbar.js\";\nimport { Toolbar } from \"./toolbar.js\";\nimport { ViewHistory } from \"./view_history.js\";\n\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; // ms\nconst FORCE_PAGES_LOADED_TIMEOUT = 10000; // ms\nconst WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; // ms\n\nconst ViewOnLoad = {\n  UNKNOWN: -1,\n  PREVIOUS: 0, // Default value.\n  INITIAL: 1,\n};\n\nclass DefaultExternalServices {\n  constructor() {\n    throw new Error(\"Cannot initialize DefaultExternalServices.\");\n  }\n\n  static updateFindControlState(data) {}\n\n  static updateFindMatchesCount(data) {}\n\n  static initPassiveLoading(callbacks) {}\n\n  static fallback(data, callback) {}\n\n  static reportTelemetry(data) {}\n\n  static createDownloadManager(options) {\n    throw new Error(\"Not implemented: createDownloadManager\");\n  }\n\n  static createPreferences() {\n    throw new Error(\"Not implemented: createPreferences\");\n  }\n\n  static createL10n(options) {\n    throw new Error(\"Not implemented: createL10n\");\n  }\n\n  static get supportsIntegratedFind() {\n    return shadow(this, \"supportsIntegratedFind\", false);\n  }\n\n  static get supportsDocumentFonts() {\n    return shadow(this, \"supportsDocumentFonts\", true);\n  }\n\n  static get supportedMouseWheelZoomModifierKeys() {\n    return shadow(this, \"supportedMouseWheelZoomModifierKeys\", {\n      ctrlKey: true,\n      metaKey: true,\n    });\n  }\n}\n\nconst PDFViewerApplication = {\n  initialBookmark: document.location.hash.substring(1),\n  _initializedCapability: createPromiseCapability(),\n  fellback: false,\n  appConfig: null,\n  pdfDocument: null,\n  pdfLoadingTask: null,\n  printService: null,\n  /** @type {PDFViewer} */\n  pdfViewer: null,\n  /** @type {PDFThumbnailViewer} */\n  pdfThumbnailViewer: null,\n  /** @type {PDFRenderingQueue} */\n  pdfRenderingQueue: null,\n  /** @type {PDFPresentationMode} */\n  pdfPresentationMode: null,\n  /** @type {PDFDocumentProperties} */\n  pdfDocumentProperties: null,\n  /** @type {PDFLinkService} */\n  pdfLinkService: null,\n  /** @type {PDFHistory} */\n  pdfHistory: null,\n  /** @type {PDFSidebar} */\n  pdfSidebar: null,\n  /** @type {PDFSidebarResizer} */\n  pdfSidebarResizer: null,\n  /** @type {PDFOutlineViewer} */\n  pdfOutlineViewer: null,\n  /** @type {PDFAttachmentViewer} */\n  pdfAttachmentViewer: null,\n  /** @type {PDFCursorTools} */\n  pdfCursorTools: null,\n  /** @type {ViewHistory} */\n  store: null,\n  /** @type {DownloadManager} */\n  downloadManager: null,\n  /** @type {OverlayManager} */\n  overlayManager: null,\n  /** @type {Preferences} */\n  preferences: null,\n  /** @type {Toolbar} */\n  toolbar: null,\n  /** @type {SecondaryToolbar} */\n  secondaryToolbar: null,\n  /** @type {EventBus} */\n  eventBus: null,\n  /** @type {IL10n} */\n  l10n: null,\n  isInitialViewSet: false,\n  downloadComplete: false,\n  isViewerEmbedded: window.parent !== window,\n  url: \"\",\n  baseUrl: \"\",\n  externalServices: DefaultExternalServices,\n  _boundEvents: {},\n  contentDispositionFilename: null,\n\n  // Called once when the document is loaded.\n  async initialize(appConfig) {\n    this.preferences = this.externalServices.createPreferences();\n    this.appConfig = appConfig;\n\n    await this._readPreferences();\n    await this._parseHashParameters();\n    await this._initializeL10n();\n\n    if (\n      this.isViewerEmbedded &&\n      AppOptions.get(\"externalLinkTarget\") === LinkTarget.NONE\n    ) {\n      // Prevent external links from \"replacing\" the viewer,\n      // when it's embedded in e.g. an <iframe> or an <object>.\n      AppOptions.set(\"externalLinkTarget\", LinkTarget.TOP);\n    }\n    await this._initializeViewerComponents();\n\n    // Bind the various event handlers *after* the viewer has been\n    // initialized, to prevent errors if an event arrives too soon.\n    this.bindEvents();\n    this.bindWindowEvents();\n\n    // We can start UI localization now.\n    const appContainer = appConfig.appContainer || document.documentElement;\n    this.l10n.translate(appContainer).then(() => {\n      // Dispatch the 'localized' event on the `eventBus` once the viewer\n      // has been fully initialized and translated.\n      this.eventBus.dispatch(\"localized\", { source: this });\n    });\n\n    this._initializedCapability.resolve();\n  },\n\n  /**\n   * @private\n   */\n  async _readPreferences() {\n    if (AppOptions.get(\"disablePreferences\") === true) {\n      // Give custom implementations of the default viewer a simpler way to\n      // opt-out of having the `Preferences` override existing `AppOptions`.\n      return;\n    }\n    try {\n      const prefs = await this.preferences.getAll();\n      for (const name in prefs) {\n        AppOptions.set(name, prefs[name]);\n      }\n    } catch (reason) {\n      console.error(`_readPreferences: \"${reason.message}\".`);\n    }\n  },\n\n  /**\n   * Potentially parse special debugging flags in the hash section of the URL.\n   * @private\n   */\n  async _parseHashParameters() {\n    if (\n      typeof PDFJSDev !== \"undefined\" &&\n      PDFJSDev.test(\"PRODUCTION\") &&\n      !AppOptions.get(\"pdfBugEnabled\")\n    ) {\n      return undefined;\n    }\n    const hash = document.location.hash.substring(1);\n    if (!hash) {\n      return undefined;\n    }\n    const hashParams = parseQueryString(hash),\n      waitOn = [];\n\n    if (\n      \"disableworker\" in hashParams &&\n      hashParams[\"disableworker\"] === \"true\"\n    ) {\n      waitOn.push(loadFakeWorker());\n    }\n    if (\"disablerange\" in hashParams) {\n      AppOptions.set(\"disableRange\", hashParams[\"disablerange\"] === \"true\");\n    }\n    if (\"disablestream\" in hashParams) {\n      AppOptions.set(\"disableStream\", hashParams[\"disablestream\"] === \"true\");\n    }\n    if (\"disableautofetch\" in hashParams) {\n      AppOptions.set(\n        \"disableAutoFetch\",\n        hashParams[\"disableautofetch\"] === \"true\"\n      );\n    }\n    if (\"disablefontface\" in hashParams) {\n      AppOptions.set(\n        \"disableFontFace\",\n        hashParams[\"disablefontface\"] === \"true\"\n      );\n    }\n    if (\"disablehistory\" in hashParams) {\n      AppOptions.set(\"disableHistory\", hashParams[\"disablehistory\"] === \"true\");\n    }\n    if (\"webgl\" in hashParams) {\n      AppOptions.set(\"enableWebGL\", hashParams[\"webgl\"] === \"true\");\n    }\n    if (\"verbosity\" in hashParams) {\n      AppOptions.set(\"verbosity\", hashParams[\"verbosity\"] | 0);\n    }\n    if (\"textlayer\" in hashParams) {\n      switch (hashParams[\"textlayer\"]) {\n        case \"off\":\n          AppOptions.set(\"textLayerMode\", TextLayerMode.DISABLE);\n          break;\n        case \"visible\":\n        case \"shadow\":\n        case \"hover\":\n          const viewer = this.appConfig.viewerContainer;\n          viewer.classList.add(\"textLayer-\" + hashParams[\"textlayer\"]);\n          break;\n      }\n    }\n    if (\"pdfbug\" in hashParams) {\n      AppOptions.set(\"pdfBug\", true);\n      const enabled = hashParams[\"pdfbug\"].split(\",\");\n      waitOn.push(loadAndEnablePDFBug(enabled));\n    }\n    // It is not possible to change locale for the (various) extension builds.\n    if (\n      (typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"!PRODUCTION || GENERIC\")) &&\n      \"locale\" in hashParams\n    ) {\n      AppOptions.set(\"locale\", hashParams[\"locale\"]);\n    }\n\n    return Promise.all(waitOn).catch(reason => {\n      console.error(`_parseHashParameters: \"${reason.message}\".`);\n    });\n  },\n\n  /**\n   * @private\n   */\n  async _initializeL10n() {\n    this.l10n = this.externalServices.createL10n({\n      locale: AppOptions.get(\"locale\"),\n    });\n    const dir = await this.l10n.getDirection();\n    document.getElementsByTagName(\"html\")[0].dir = dir;\n  },\n\n  /**\n   * @private\n   */\n  async _initializeViewerComponents() {\n    const appConfig = this.appConfig;\n\n    this.overlayManager = new OverlayManager();\n\n    const eventBus =\n      appConfig.eventBus ||\n      new EventBus({ dispatchToDOM: AppOptions.get(\"eventBusDispatchToDOM\") });\n    this.eventBus = eventBus;\n\n    const pdfRenderingQueue = new PDFRenderingQueue();\n    pdfRenderingQueue.onIdle = this.cleanup.bind(this);\n    this.pdfRenderingQueue = pdfRenderingQueue;\n\n    const pdfLinkService = new PDFLinkService({\n      eventBus,\n      externalLinkTarget: AppOptions.get(\"externalLinkTarget\"),\n      externalLinkRel: AppOptions.get(\"externalLinkRel\"),\n      ignoreDestinationZoom: AppOptions.get(\"ignoreDestinationZoom\"),\n    });\n    this.pdfLinkService = pdfLinkService;\n\n    const downloadManager = this.externalServices.createDownloadManager({\n      disableCreateObjectURL: AppOptions.get(\"disableCreateObjectURL\"),\n    });\n    this.downloadManager = downloadManager;\n\n    const findController = new PDFFindController({\n      linkService: pdfLinkService,\n      eventBus,\n    });\n    this.findController = findController;\n\n    const container = appConfig.mainContainer;\n    const viewer = appConfig.viewerContainer;\n    this.pdfViewer = new PDFViewer({\n      container,\n      viewer,\n      eventBus,\n      renderingQueue: pdfRenderingQueue,\n      linkService: pdfLinkService,\n      downloadManager,\n      findController,\n      renderer: AppOptions.get(\"renderer\"),\n      enableWebGL: AppOptions.get(\"enableWebGL\"),\n      l10n: this.l10n,\n      textLayerMode: AppOptions.get(\"textLayerMode\"),\n      imageResourcesPath: AppOptions.get(\"imageResourcesPath\"),\n      renderInteractiveForms: AppOptions.get(\"renderInteractiveForms\"),\n      enablePrintAutoRotate: AppOptions.get(\"enablePrintAutoRotate\"),\n      useOnlyCssZoom: AppOptions.get(\"useOnlyCssZoom\"),\n      maxCanvasPixels: AppOptions.get(\"maxCanvasPixels\"),\n    });\n    pdfRenderingQueue.setViewer(this.pdfViewer);\n    pdfLinkService.setViewer(this.pdfViewer);\n\n    this.pdfThumbnailViewer = new PDFThumbnailViewer({\n      container: appConfig.sidebar.thumbnailView,\n      renderingQueue: pdfRenderingQueue,\n      linkService: pdfLinkService,\n      l10n: this.l10n,\n    });\n    pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);\n\n    this.pdfHistory = new PDFHistory({\n      linkService: pdfLinkService,\n      eventBus,\n    });\n    pdfLinkService.setHistory(this.pdfHistory);\n\n    if (!this.supportsIntegratedFind) {\n      this.findBar = new PDFFindBar(appConfig.findBar, eventBus, this.l10n);\n    }\n\n    this.pdfDocumentProperties = new PDFDocumentProperties(\n      appConfig.documentProperties,\n      this.overlayManager,\n      eventBus,\n      this.l10n\n    );\n\n    this.pdfCursorTools = new PDFCursorTools({\n      container,\n      eventBus,\n      cursorToolOnLoad: AppOptions.get(\"cursorToolOnLoad\"),\n    });\n\n    this.toolbar = new Toolbar(appConfig.toolbar, eventBus, this.l10n);\n\n    this.secondaryToolbar = new SecondaryToolbar(\n      appConfig.secondaryToolbar,\n      container,\n      eventBus\n    );\n\n    if (this.supportsFullscreen) {\n      this.pdfPresentationMode = new PDFPresentationMode({\n        container,\n        pdfViewer: this.pdfViewer,\n        eventBus,\n        contextMenuItems: appConfig.fullscreen,\n      });\n    }\n\n    this.passwordPrompt = new PasswordPrompt(\n      appConfig.passwordOverlay,\n      this.overlayManager,\n      this.l10n\n    );\n\n    this.pdfOutlineViewer = new PDFOutlineViewer({\n      container: appConfig.sidebar.outlineView,\n      eventBus,\n      linkService: pdfLinkService,\n    });\n\n    this.pdfAttachmentViewer = new PDFAttachmentViewer({\n      container: appConfig.sidebar.attachmentsView,\n      eventBus,\n      downloadManager,\n    });\n\n    this.pdfSidebar = new PDFSidebar({\n      elements: appConfig.sidebar,\n      pdfViewer: this.pdfViewer,\n      pdfThumbnailViewer: this.pdfThumbnailViewer,\n      eventBus,\n      l10n: this.l10n,\n    });\n    this.pdfSidebar.onToggled = this.forceRendering.bind(this);\n\n    this.pdfSidebarResizer = new PDFSidebarResizer(\n      appConfig.sidebarResizer,\n      eventBus,\n      this.l10n\n    );\n  },\n\n  run(config) {\n    this.initialize(config).then(webViewerInitialized);\n  },\n\n  get initialized() {\n    return this._initializedCapability.settled;\n  },\n\n  get initializedPromise() {\n    return this._initializedCapability.promise;\n  },\n\n  zoomIn(ticks) {\n    if (this.pdfViewer.isInPresentationMode) {\n      return;\n    }\n    let newScale = this.pdfViewer.currentScale;\n    do {\n      newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2);\n      newScale = Math.ceil(newScale * 10) / 10;\n      newScale = Math.min(MAX_SCALE, newScale);\n    } while (--ticks > 0 && newScale < MAX_SCALE);\n    this.pdfViewer.currentScaleValue = newScale;\n  },\n\n  zoomOut(ticks) {\n    if (this.pdfViewer.isInPresentationMode) {\n      return;\n    }\n    let newScale = this.pdfViewer.currentScale;\n    do {\n      newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2);\n      newScale = Math.floor(newScale * 10) / 10;\n      newScale = Math.max(MIN_SCALE, newScale);\n    } while (--ticks > 0 && newScale > MIN_SCALE);\n    this.pdfViewer.currentScaleValue = newScale;\n  },\n\n  zoomReset() {\n    if (this.pdfViewer.isInPresentationMode) {\n      return;\n    }\n    this.pdfViewer.currentScaleValue = DEFAULT_SCALE_VALUE;\n  },\n\n  get pagesCount() {\n    return this.pdfDocument ? this.pdfDocument.numPages : 0;\n  },\n\n  set page(val) {\n    this.pdfViewer.currentPageNumber = val;\n  },\n\n  get page() {\n    return this.pdfViewer.currentPageNumber;\n  },\n\n  get printing() {\n    return !!this.printService;\n  },\n\n  get supportsPrinting() {\n    return PDFPrintServiceFactory.instance.supportsPrinting;\n  },\n\n  get supportsFullscreen() {\n    let support;\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n      support =\n        document.fullscreenEnabled === true ||\n        document.mozFullScreenEnabled === true;\n    } else {\n      const doc = document.documentElement;\n      support = !!(\n        doc.requestFullscreen ||\n        doc.mozRequestFullScreen ||\n        doc.webkitRequestFullScreen ||\n        doc.msRequestFullscreen\n      );\n\n      if (\n        document.fullscreenEnabled === false ||\n        document.mozFullScreenEnabled === false ||\n        document.webkitFullscreenEnabled === false ||\n        document.msFullscreenEnabled === false\n      ) {\n        support = false;\n      }\n    }\n    return shadow(this, \"supportsFullscreen\", support);\n  },\n\n  get supportsIntegratedFind() {\n    return this.externalServices.supportsIntegratedFind;\n  },\n\n  get supportsDocumentFonts() {\n    return this.externalServices.supportsDocumentFonts;\n  },\n\n  get loadingBar() {\n    const bar = new ProgressBar(\"#loadingBar\");\n    return shadow(this, \"loadingBar\", bar);\n  },\n\n  get supportedMouseWheelZoomModifierKeys() {\n    return this.externalServices.supportedMouseWheelZoomModifierKeys;\n  },\n\n  initPassiveLoading() {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      !PDFJSDev.test(\"MOZCENTRAL || CHROME\")\n    ) {\n      throw new Error(\"Not implemented: initPassiveLoading\");\n    }\n    this.externalServices.initPassiveLoading({\n      onOpenWithTransport(url, length, transport) {\n        PDFViewerApplication.open(url, { length, range: transport });\n      },\n      onOpenWithData(data) {\n        PDFViewerApplication.open(data);\n      },\n      onOpenWithURL(url, length, originalUrl) {\n        let file = url,\n          args = null;\n        if (length !== undefined) {\n          args = { length };\n        }\n        if (originalUrl !== undefined) {\n          file = { url, originalUrl };\n        }\n        PDFViewerApplication.open(file, args);\n      },\n      onError(err) {\n        PDFViewerApplication.l10n\n          .get(\n            \"loading_error\",\n            null,\n            \"An error occurred while loading the PDF.\"\n          )\n          .then(msg => {\n            PDFViewerApplication.error(msg, err);\n          });\n      },\n      onProgress(loaded, total) {\n        PDFViewerApplication.progress(loaded / total);\n      },\n    });\n  },\n\n  setTitleUsingUrl(url = \"\") {\n    this.url = url;\n    this.baseUrl = url.split(\"#\")[0];\n    let title = getPDFFileNameFromURL(url, \"\");\n    if (!title) {\n      try {\n        title = decodeURIComponent(getFilenameFromUrl(url)) || url;\n      } catch (ex) {\n        // decodeURIComponent may throw URIError,\n        // fall back to using the unprocessed url in that case\n        title = url;\n      }\n    }\n    this.setTitle(title);\n  },\n\n  setTitle(title) {\n    if (this.isViewerEmbedded) {\n      // Embedded PDF viewers should not be changing their parent page's title.\n      return;\n    }\n    document.title = title;\n  },\n\n  /**\n   * Closes opened PDF document.\n   * @returns {Promise} - Returns the promise, which is resolved when all\n   *                      destruction is completed.\n   */\n  async close() {\n    const errorWrapper = this.appConfig.errorWrapper.container;\n    errorWrapper.setAttribute(\"hidden\", \"true\");\n\n    if (!this.pdfLoadingTask) {\n      return undefined;\n    }\n\n    const promise = this.pdfLoadingTask.destroy();\n    this.pdfLoadingTask = null;\n\n    if (this.pdfDocument) {\n      this.pdfDocument = null;\n\n      this.pdfThumbnailViewer.setDocument(null);\n      this.pdfViewer.setDocument(null);\n      this.pdfLinkService.setDocument(null);\n      this.pdfDocumentProperties.setDocument(null);\n    }\n    this.store = null;\n    this.isInitialViewSet = false;\n    this.downloadComplete = false;\n    this.url = \"\";\n    this.baseUrl = \"\";\n    this.contentDispositionFilename = null;\n\n    this.pdfSidebar.reset();\n    this.pdfOutlineViewer.reset();\n    this.pdfAttachmentViewer.reset();\n\n    if (this.pdfHistory) {\n      this.pdfHistory.reset();\n    }\n    if (this.findBar) {\n      this.findBar.reset();\n    }\n    this.toolbar.reset();\n    this.secondaryToolbar.reset();\n\n    if (typeof PDFBug !== \"undefined\") {\n      PDFBug.cleanup();\n    }\n    return promise;\n  },\n\n  /**\n   * Opens PDF document specified by URL or array with additional arguments.\n   * @param {string|TypedArray|ArrayBuffer} file - PDF location or binary data.\n   * @param {Object} [args] - Additional arguments for the getDocument call,\n   *                          e.g. HTTP headers ('httpHeaders') or alternative\n   *                          data transport ('range').\n   * @returns {Promise} - Returns the promise, which is resolved when document\n   *                      is opened.\n   */\n  async open(file, args) {\n    if (this.pdfLoadingTask) {\n      // We need to destroy already opened document.\n      await this.close();\n    }\n    // Set the necessary global worker parameters, using the available options.\n    const workerParameters = AppOptions.getAll(OptionKind.WORKER);\n    for (const key in workerParameters) {\n      GlobalWorkerOptions[key] = workerParameters[key];\n    }\n\n    const parameters = Object.create(null);\n    if (typeof file === \"string\") {\n      // URL\n      this.setTitleUsingUrl(file);\n      parameters.url = file;\n    } else if (file && \"byteLength\" in file) {\n      // ArrayBuffer\n      parameters.data = file;\n    } else if (file.url && file.originalUrl) {\n      this.setTitleUsingUrl(file.originalUrl);\n      parameters.url = file.url;\n    }\n    // Set the necessary API parameters, using the available options.\n    const apiParameters = AppOptions.getAll(OptionKind.API);\n    for (const key in apiParameters) {\n      let value = apiParameters[key];\n\n      if (key === \"docBaseUrl\" && !value) {\n        if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n          value = document.URL.split(\"#\")[0];\n        } else if (PDFJSDev.test(\"MOZCENTRAL || CHROME\")) {\n          value = this.baseUrl;\n        }\n      }\n      parameters[key] = value;\n    }\n\n    if (args) {\n      for (const key in args) {\n        const value = args[key];\n\n        if (key === \"length\") {\n          this.pdfDocumentProperties.setFileSize(value);\n        }\n        parameters[key] = value;\n      }\n    }\n\n    const loadingTask = getDocument(parameters);\n    this.pdfLoadingTask = loadingTask;\n\n    loadingTask.onPassword = (updateCallback, reason) => {\n      this.pdfLinkService.externalLinkEnabled = false;\n      this.passwordPrompt.setUpdateCallback(updateCallback, reason);\n      this.passwordPrompt.open();\n    };\n\n    loadingTask.onProgress = ({ loaded, total }) => {\n      this.progress(loaded / total);\n    };\n\n    // Listen for unsupported features to trigger the fallback UI.\n    loadingTask.onUnsupportedFeature = this.fallback.bind(this);\n\n    return loadingTask.promise.then(\n      pdfDocument => {\n        this.load(pdfDocument);\n      },\n      exception => {\n        if (loadingTask !== this.pdfLoadingTask) {\n          return undefined; // Ignore errors for previously opened PDF files.\n        }\n\n        const message = exception && exception.message;\n        let loadingErrorMessage;\n        if (exception instanceof InvalidPDFException) {\n          // change error message also for other builds\n          loadingErrorMessage = this.l10n.get(\n            \"invalid_file_error\",\n            null,\n            \"Invalid or corrupted PDF file.\"\n          );\n        } else if (exception instanceof MissingPDFException) {\n          // special message for missing PDF's\n          loadingErrorMessage = this.l10n.get(\n            \"missing_file_error\",\n            null,\n            \"Missing PDF file.\"\n          );\n        } else if (exception instanceof UnexpectedResponseException) {\n          loadingErrorMessage = this.l10n.get(\n            \"unexpected_response_error\",\n            null,\n            \"Unexpected server response.\"\n          );\n        } else {\n          loadingErrorMessage = this.l10n.get(\n            \"loading_error\",\n            null,\n            \"An error occurred while loading the PDF.\"\n          );\n        }\n\n        return loadingErrorMessage.then(msg => {\n          this.error(msg, { message });\n          throw new Error(msg);\n        });\n      }\n    );\n  },\n\n  download() {\n    function downloadByUrl() {\n      downloadManager.downloadUrl(url, filename);\n    }\n\n    const url = this.baseUrl;\n    // Use this.url instead of this.baseUrl to perform filename detection based\n    // on the reference fragment as ultimate fallback if needed.\n    const filename =\n      this.contentDispositionFilename || getPDFFileNameFromURL(this.url);\n    const downloadManager = this.downloadManager;\n    downloadManager.onerror = err => {\n      // This error won't really be helpful because it's likely the\n      // fallback won't work either (or is already open).\n      this.error(`PDF failed to download: ${err}`);\n    };\n\n    // When the PDF document isn't ready, or the PDF file is still downloading,\n    // simply download using the URL.\n    if (!this.pdfDocument || !this.downloadComplete) {\n      downloadByUrl();\n      return;\n    }\n\n    this.pdfDocument\n      .getData()\n      .then(function(data) {\n        const blob = new Blob([data], { type: \"application/pdf\" });\n        downloadManager.download(blob, url, filename);\n      })\n      .catch(downloadByUrl); // Error occurred, try downloading with the URL.\n  },\n\n  fallback(featureId) {\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n    ) {\n      // Only trigger the fallback once so we don't spam the user with messages\n      // for one PDF.\n      if (this.fellback) {\n        return;\n      }\n      this.fellback = true;\n      this.externalServices.fallback(\n        {\n          featureId,\n          url: this.baseUrl,\n        },\n        function response(download) {\n          if (!download) {\n            return;\n          }\n          PDFViewerApplication.download();\n        }\n      );\n    }\n  },\n\n  /**\n   * Show the error box.\n   * @param {string} message - A message that is human readable.\n   * @param {Object} [moreInfo] - Further information about the error that is\n   *                              more technical.  Should have a 'message' and\n   *                              optionally a 'stack' property.\n   */\n  error(message, moreInfo) {\n    const moreInfoText = [\n      this.l10n.get(\n        \"error_version_info\",\n        { version: version || \"?\", build: build || \"?\" },\n        \"PDF.js v{{version}} (build: {{build}})\"\n      ),\n    ];\n    if (moreInfo) {\n      moreInfoText.push(\n        this.l10n.get(\n          \"error_message\",\n          { message: moreInfo.message },\n          \"Message: {{message}}\"\n        )\n      );\n      if (moreInfo.stack) {\n        moreInfoText.push(\n          this.l10n.get(\n            \"error_stack\",\n            { stack: moreInfo.stack },\n            \"Stack: {{stack}}\"\n          )\n        );\n      } else {\n        if (moreInfo.filename) {\n          moreInfoText.push(\n            this.l10n.get(\n              \"error_file\",\n              { file: moreInfo.filename },\n              \"File: {{file}}\"\n            )\n          );\n        }\n        if (moreInfo.lineNumber) {\n          moreInfoText.push(\n            this.l10n.get(\n              \"error_line\",\n              { line: moreInfo.lineNumber },\n              \"Line: {{line}}\"\n            )\n          );\n        }\n      }\n    }\n\n    if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n      const errorWrapperConfig = this.appConfig.errorWrapper;\n      const errorWrapper = errorWrapperConfig.container;\n      errorWrapper.removeAttribute(\"hidden\");\n\n      const errorMessage = errorWrapperConfig.errorMessage;\n      errorMessage.textContent = message;\n\n      const closeButton = errorWrapperConfig.closeButton;\n      closeButton.onclick = function() {\n        errorWrapper.setAttribute(\"hidden\", \"true\");\n      };\n\n      const errorMoreInfo = errorWrapperConfig.errorMoreInfo;\n      const moreInfoButton = errorWrapperConfig.moreInfoButton;\n      const lessInfoButton = errorWrapperConfig.lessInfoButton;\n      moreInfoButton.onclick = function() {\n        errorMoreInfo.removeAttribute(\"hidden\");\n        moreInfoButton.setAttribute(\"hidden\", \"true\");\n        lessInfoButton.removeAttribute(\"hidden\");\n        errorMoreInfo.style.height = errorMoreInfo.scrollHeight + \"px\";\n      };\n      lessInfoButton.onclick = function() {\n        errorMoreInfo.setAttribute(\"hidden\", \"true\");\n        moreInfoButton.removeAttribute(\"hidden\");\n        lessInfoButton.setAttribute(\"hidden\", \"true\");\n      };\n      moreInfoButton.oncontextmenu = noContextMenuHandler;\n      lessInfoButton.oncontextmenu = noContextMenuHandler;\n      closeButton.oncontextmenu = noContextMenuHandler;\n      moreInfoButton.removeAttribute(\"hidden\");\n      lessInfoButton.setAttribute(\"hidden\", \"true\");\n      Promise.all(moreInfoText).then(parts => {\n        errorMoreInfo.value = parts.join(\"\\n\");\n      });\n    } else {\n      Promise.all(moreInfoText).then(parts => {\n        console.error(message + \"\\n\" + parts.join(\"\\n\"));\n      });\n      this.fallback();\n    }\n  },\n\n  progress(level) {\n    if (this.downloadComplete) {\n      // Don't accidentally show the loading bar again when the entire file has\n      // already been fetched (only an issue when disableAutoFetch is enabled).\n      return;\n    }\n    const percent = Math.round(level * 100);\n    // When we transition from full request to range requests, it's possible\n    // that we discard some of the loaded data. This can cause the loading\n    // bar to move backwards. So prevent this by only updating the bar if it\n    // increases.\n    if (percent > this.loadingBar.percent || isNaN(percent)) {\n      this.loadingBar.percent = percent;\n\n      // When disableAutoFetch is enabled, it's not uncommon for the entire file\n      // to never be fetched (depends on e.g. the file structure). In this case\n      // the loading bar will not be completely filled, nor will it be hidden.\n      // To prevent displaying a partially filled loading bar permanently, we\n      // hide it when no data has been loaded during a certain amount of time.\n      const disableAutoFetch = this.pdfDocument\n        ? this.pdfDocument.loadingParams[\"disableAutoFetch\"]\n        : AppOptions.get(\"disableAutoFetch\");\n\n      if (disableAutoFetch && percent) {\n        if (this.disableAutoFetchLoadingBarTimeout) {\n          clearTimeout(this.disableAutoFetchLoadingBarTimeout);\n          this.disableAutoFetchLoadingBarTimeout = null;\n        }\n        this.loadingBar.show();\n\n        this.disableAutoFetchLoadingBarTimeout = setTimeout(() => {\n          this.loadingBar.hide();\n          this.disableAutoFetchLoadingBarTimeout = null;\n        }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT);\n      }\n    }\n  },\n\n  load(pdfDocument) {\n    this.pdfDocument = pdfDocument;\n\n    pdfDocument.getDownloadInfo().then(() => {\n      this.downloadComplete = true;\n      this.loadingBar.hide();\n\n      firstPagePromise.then(() => {\n        this.eventBus.dispatch(\"documentloaded\", { source: this });\n      });\n    });\n\n    // Since the `setInitialView` call below depends on this being resolved,\n    // fetch it early to avoid delaying initial rendering of the PDF document.\n    const pageLayoutPromise = pdfDocument.getPageLayout().catch(function() {\n      /* Avoid breaking initial rendering; ignoring errors. */\n    });\n    const pageModePromise = pdfDocument.getPageMode().catch(function() {\n      /* Avoid breaking initial rendering; ignoring errors. */\n    });\n    const openActionPromise = pdfDocument.getOpenAction().catch(function() {\n      /* Avoid breaking initial rendering; ignoring errors. */\n    });\n\n    this.toolbar.setPagesCount(pdfDocument.numPages, false);\n    this.secondaryToolbar.setPagesCount(pdfDocument.numPages);\n\n    const store = (this.store = new ViewHistory(pdfDocument.fingerprint));\n\n    let baseDocumentUrl;\n    if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n      baseDocumentUrl = null;\n    } else if (PDFJSDev.test(\"MOZCENTRAL\")) {\n      baseDocumentUrl = this.baseUrl;\n    } else if (PDFJSDev.test(\"CHROME\")) {\n      baseDocumentUrl = location.href.split(\"#\")[0];\n    }\n    this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl);\n    this.pdfDocumentProperties.setDocument(pdfDocument, this.url);\n\n    const pdfViewer = this.pdfViewer;\n    pdfViewer.setDocument(pdfDocument);\n    const { firstPagePromise, onePageRendered, pagesPromise } = pdfViewer;\n\n    const pdfThumbnailViewer = this.pdfThumbnailViewer;\n    pdfThumbnailViewer.setDocument(pdfDocument);\n\n    firstPagePromise.then(pdfPage => {\n      this.loadingBar.setWidth(this.appConfig.viewerContainer);\n\n      const storePromise = store\n        .getMultiple({\n          page: null,\n          zoom: DEFAULT_SCALE_VALUE,\n          scrollLeft: \"0\",\n          scrollTop: \"0\",\n          rotation: null,\n          sidebarView: SidebarView.UNKNOWN,\n          scrollMode: ScrollMode.UNKNOWN,\n          spreadMode: SpreadMode.UNKNOWN,\n        })\n        .catch(() => {\n          /* Unable to read from storage; ignoring errors. */\n        });\n\n      Promise.all([\n        animationStarted,\n        storePromise,\n        pageLayoutPromise,\n        pageModePromise,\n        openActionPromise,\n      ])\n        .then(\n          async ([\n            timeStamp,\n            values = {},\n            pageLayout,\n            pageMode,\n            openAction,\n          ]) => {\n            const viewOnLoad = AppOptions.get(\"viewOnLoad\");\n\n            this._initializePdfHistory({\n              fingerprint: pdfDocument.fingerprint,\n              viewOnLoad,\n              initialDest: openAction && openAction.dest,\n            });\n            const initialBookmark = this.initialBookmark;\n\n            // Initialize the default values, from user preferences.\n            const zoom = AppOptions.get(\"defaultZoomValue\");\n            let hash = zoom ? `zoom=${zoom}` : null;\n\n            let rotation = null;\n            let sidebarView = AppOptions.get(\"sidebarViewOnLoad\");\n            let scrollMode = AppOptions.get(\"scrollModeOnLoad\");\n            let spreadMode = AppOptions.get(\"spreadModeOnLoad\");\n\n            if (values.page && viewOnLoad !== ViewOnLoad.INITIAL) {\n              hash =\n                `page=${values.page}&zoom=${zoom || values.zoom},` +\n                `${values.scrollLeft},${values.scrollTop}`;\n\n              rotation = parseInt(values.rotation, 10);\n              // Always let user preferences take precedence over the view\n              // history.\n              if (sidebarView === SidebarView.UNKNOWN) {\n                sidebarView = values.sidebarView | 0;\n              }\n              if (scrollMode === ScrollMode.UNKNOWN) {\n                scrollMode = values.scrollMode | 0;\n              }\n              if (spreadMode === SpreadMode.UNKNOWN) {\n                spreadMode = values.spreadMode | 0;\n              }\n            }\n            // Always let the user preference/view history take precedence.\n            if (pageMode && sidebarView === SidebarView.UNKNOWN) {\n              sidebarView = apiPageModeToSidebarView(pageMode);\n            }\n            if (pageLayout && spreadMode === SpreadMode.UNKNOWN) {\n              spreadMode = apiPageLayoutToSpreadMode(pageLayout);\n            }\n\n            this.setInitialView(hash, {\n              rotation,\n              sidebarView,\n              scrollMode,\n              spreadMode,\n            });\n            this.eventBus.dispatch(\"documentinit\", { source: this });\n            // Make all navigation keys work on document load,\n            // unless the viewer is embedded in a web page.\n            if (!this.isViewerEmbedded) {\n              pdfViewer.focus();\n            }\n\n            // For documents with different page sizes, once all pages are\n            // resolved, ensure that the correct location becomes visible on\n            // load.\n            // (To reduce the risk, in very large and/or slow loading documents,\n            //  that the location changes *after* the user has started\n            //  interacting with the viewer, wait for either `pagesPromise` or\n            //  a timeout.)\n            await Promise.race([\n              pagesPromise,\n              new Promise(resolve => {\n                setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT);\n              }),\n            ]);\n            if (!initialBookmark && !hash) {\n              return;\n            }\n            if (pdfViewer.hasEqualPageSizes) {\n              return;\n            }\n            this.initialBookmark = initialBookmark;\n\n            // eslint-disable-next-line no-self-assign\n            pdfViewer.currentScaleValue = pdfViewer.currentScaleValue;\n            // Re-apply the initial document location.\n            this.setInitialView(hash);\n          }\n        )\n        .catch(() => {\n          // Ensure that the document is always completely initialized,\n          // even if there are any errors thrown above.\n          this.setInitialView();\n        })\n        .then(function() {\n          // At this point, rendering of the initial page(s) should always have\n          // started (and may even have completed).\n          // To prevent any future issues, e.g. the document being completely\n          // blank on load, always trigger rendering here.\n          pdfViewer.update();\n        });\n    });\n\n    pdfDocument.getPageLabels().then(labels => {\n      if (!labels || AppOptions.get(\"disablePageLabels\")) {\n        return;\n      }\n      const numLabels = labels.length;\n      if (numLabels !== this.pagesCount) {\n        console.error(\n          \"The number of Page Labels does not match \" +\n            \"the number of pages in the document.\"\n        );\n        return;\n      }\n      let i = 0;\n      // Ignore page labels that correspond to standard page numbering.\n      while (i < numLabels && labels[i] === (i + 1).toString()) {\n        i++;\n      }\n      if (i === numLabels) {\n        return;\n      }\n\n      pdfViewer.setPageLabels(labels);\n      pdfThumbnailViewer.setPageLabels(labels);\n\n      // Changing toolbar page display to use labels and we need to set\n      // the label of the current page.\n      this.toolbar.setPagesCount(pdfDocument.numPages, true);\n      this.toolbar.setPageNumber(\n        pdfViewer.currentPageNumber,\n        pdfViewer.currentPageLabel\n      );\n    });\n\n    pagesPromise.then(async () => {\n      const [openAction, javaScript] = await Promise.all([\n        openActionPromise,\n        pdfDocument.getJavaScript(),\n      ]);\n      let triggerAutoPrint = false;\n\n      if (openAction && openAction.action === \"Print\") {\n        triggerAutoPrint = true;\n      }\n      if (javaScript) {\n        javaScript.some(js => {\n          if (!js) {\n            // Don't warn/fallback for empty JavaScript actions.\n            return false;\n          }\n          console.warn(\"Warning: JavaScript is not supported\");\n          this.fallback(UNSUPPORTED_FEATURES.javaScript);\n          return true;\n        });\n\n        if (!triggerAutoPrint) {\n          // Hack to support auto printing.\n          for (const js of javaScript) {\n            if (js && AutoPrintRegExp.test(js)) {\n              triggerAutoPrint = true;\n              break;\n            }\n          }\n        }\n      }\n\n      if (!this.supportsPrinting) {\n        return;\n      }\n      if (triggerAutoPrint) {\n        setTimeout(function() {\n          window.print();\n        });\n      }\n    });\n\n    onePageRendered.then(() => {\n      pdfDocument.getOutline().then(outline => {\n        this.pdfOutlineViewer.render({ outline });\n      });\n      pdfDocument.getAttachments().then(attachments => {\n        this.pdfAttachmentViewer.render({ attachments });\n      });\n    });\n\n    pdfDocument\n      .getMetadata()\n      .then(({ info, metadata, contentDispositionFilename }) => {\n        this.documentInfo = info;\n        this.metadata = metadata;\n        this.contentDispositionFilename = contentDispositionFilename;\n\n        // Provides some basic debug information\n        console.log(\n          \"PDF \" +\n            pdfDocument.fingerprint +\n            \" [\" +\n            info.PDFFormatVersion +\n            \" \" +\n            (info.Producer || \"-\").trim() +\n            \" / \" +\n            (info.Creator || \"-\").trim() +\n            \"]\" +\n            \" (PDF.js: \" +\n            (version || \"-\") +\n            (AppOptions.get(\"enableWebGL\") ? \" [WebGL]\" : \"\") +\n            \")\"\n        );\n\n        let pdfTitle;\n\n        const infoTitle = info && info[\"Title\"];\n        if (infoTitle) {\n          pdfTitle = infoTitle;\n        }\n        const metadataTitle = metadata && metadata.get(\"dc:title\");\n        if (metadataTitle) {\n          // Ghostscript can produce invalid 'dc:title' Metadata entries:\n          //  - The title may be \"Untitled\" (fixes bug 1031612).\n          //  - The title may contain incorrectly encoded characters, which thus\n          //    looks broken, hence we ignore the Metadata entry when it\n          //    contains characters from the Specials Unicode block\n          //    (fixes bug 1605526).\n          if (\n            metadataTitle !== \"Untitled\" &&\n            !/[\\uFFF0-\\uFFFF]/g.test(metadataTitle)\n          ) {\n            pdfTitle = metadataTitle;\n          }\n        }\n\n        if (pdfTitle) {\n          this.setTitle(\n            `${pdfTitle} - ${contentDispositionFilename || document.title}`\n          );\n        } else if (contentDispositionFilename) {\n          this.setTitle(contentDispositionFilename);\n        }\n\n        if (info.IsAcroFormPresent) {\n          console.warn(\"Warning: AcroForm/XFA is not supported\");\n          this.fallback(UNSUPPORTED_FEATURES.forms);\n        }\n\n        if (\n          typeof PDFJSDev === \"undefined\" ||\n          PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n        ) {\n          // Telemetry labels must be C++ variable friendly.\n          let versionId = \"other\";\n          // Keep these in sync with mozilla central's Histograms.json.\n          const KNOWN_VERSIONS = [\n            \"1.0\",\n            \"1.1\",\n            \"1.2\",\n            \"1.3\",\n            \"1.4\",\n            \"1.5\",\n            \"1.6\",\n            \"1.7\",\n            \"1.8\",\n            \"1.9\",\n            \"2.0\",\n            \"2.1\",\n            \"2.2\",\n            \"2.3\",\n          ];\n          if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) {\n            versionId = `v${info.PDFFormatVersion.replace(\".\", \"_\")}`;\n          }\n\n          let generatorId = \"other\";\n          // Keep these in sync with mozilla central's Histograms.json.\n          const KNOWN_GENERATORS = [\n            \"acrobat distiller\",\n            \"acrobat pdfwriter\",\n            \"adobe livecycle\",\n            \"adobe pdf library\",\n            \"adobe photoshop\",\n            \"ghostscript\",\n            \"tcpdf\",\n            \"cairo\",\n            \"dvipdfm\",\n            \"dvips\",\n            \"pdftex\",\n            \"pdfkit\",\n            \"itext\",\n            \"prince\",\n            \"quarkxpress\",\n            \"mac os x\",\n            \"microsoft\",\n            \"openoffice\",\n            \"oracle\",\n            \"luradocument\",\n            \"pdf-xchange\",\n            \"antenna house\",\n            \"aspose.cells\",\n            \"fpdf\",\n          ];\n          if (info.Producer) {\n            const producer = info.Producer.toLowerCase();\n            KNOWN_GENERATORS.some(function(generator) {\n              if (!producer.includes(generator)) {\n                return false;\n              }\n              generatorId = generator.replace(/[ .\\-]/g, \"_\");\n              return true;\n            });\n          }\n\n          let formType = null;\n          if (info.IsAcroFormPresent) {\n            formType = info.IsXFAPresent ? \"xfa\" : \"acroform\";\n          }\n          this.externalServices.reportTelemetry({\n            type: \"documentInfo\",\n            version: versionId,\n            generator: generatorId,\n            formType,\n          });\n        }\n      });\n  },\n\n  /**\n   * @private\n   */\n  _initializePdfHistory({ fingerprint, viewOnLoad, initialDest = null }) {\n    if (AppOptions.get(\"disableHistory\") || this.isViewerEmbedded) {\n      // The browsing history is only enabled when the viewer is standalone,\n      // i.e. not when it is embedded in a web page.\n      return;\n    }\n    this.pdfHistory.initialize({\n      fingerprint,\n      resetHistory: viewOnLoad === ViewOnLoad.INITIAL,\n      updateUrl: AppOptions.get(\"historyUpdateUrl\"),\n    });\n\n    if (this.pdfHistory.initialBookmark) {\n      this.initialBookmark = this.pdfHistory.initialBookmark;\n\n      this.initialRotation = this.pdfHistory.initialRotation;\n    }\n\n    // Always let the browser history/document hash take precedence.\n    if (\n      initialDest &&\n      !this.initialBookmark &&\n      viewOnLoad === ViewOnLoad.UNKNOWN\n    ) {\n      this.initialBookmark = JSON.stringify(initialDest);\n      // TODO: Re-factor the `PDFHistory` initialization to remove this hack\n      // that's currently necessary to prevent weird initial history state.\n      this.pdfHistory.push({ explicitDest: initialDest, pageNumber: null });\n    }\n  },\n\n  setInitialView(\n    storedHash,\n    { rotation, sidebarView, scrollMode, spreadMode } = {}\n  ) {\n    const setRotation = angle => {\n      if (isValidRotation(angle)) {\n        this.pdfViewer.pagesRotation = angle;\n      }\n    };\n    const setViewerModes = (scroll, spread) => {\n      if (isValidScrollMode(scroll)) {\n        this.pdfViewer.scrollMode = scroll;\n      }\n      if (isValidSpreadMode(spread)) {\n        this.pdfViewer.spreadMode = spread;\n      }\n    };\n    this.isInitialViewSet = true;\n    this.pdfSidebar.setInitialView(sidebarView);\n\n    setViewerModes(scrollMode, spreadMode);\n\n    if (this.initialBookmark) {\n      setRotation(this.initialRotation);\n      delete this.initialRotation;\n\n      this.pdfLinkService.setHash(this.initialBookmark);\n      this.initialBookmark = null;\n    } else if (storedHash) {\n      setRotation(rotation);\n\n      this.pdfLinkService.setHash(storedHash);\n    }\n\n    // Ensure that the correct page number is displayed in the UI,\n    // even if the active page didn't change during document load.\n    this.toolbar.setPageNumber(\n      this.pdfViewer.currentPageNumber,\n      this.pdfViewer.currentPageLabel\n    );\n    this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber);\n\n    if (!this.pdfViewer.currentScaleValue) {\n      // Scale was not initialized: invalid bookmark or scale was not specified.\n      // Setting the default one.\n      this.pdfViewer.currentScaleValue = DEFAULT_SCALE_VALUE;\n    }\n  },\n\n  cleanup() {\n    if (!this.pdfDocument) {\n      return; // run cleanup when document is loaded\n    }\n    this.pdfViewer.cleanup();\n    this.pdfThumbnailViewer.cleanup();\n\n    // We don't want to remove fonts used by active page SVGs.\n    if (this.pdfViewer.renderer !== RendererType.SVG) {\n      this.pdfDocument.cleanup();\n    }\n  },\n\n  forceRendering() {\n    this.pdfRenderingQueue.printing = this.printing;\n    this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible;\n    this.pdfRenderingQueue.renderHighestPriority();\n  },\n\n  beforePrint() {\n    if (this.printService) {\n      // There is no way to suppress beforePrint/afterPrint events,\n      // but PDFPrintService may generate double events -- this will ignore\n      // the second event that will be coming from native window.print().\n      return;\n    }\n\n    if (!this.supportsPrinting) {\n      this.l10n\n        .get(\n          \"printing_not_supported\",\n          null,\n          \"Warning: Printing is not fully supported by this browser.\"\n        )\n        .then(printMessage => {\n          this.error(printMessage);\n        });\n      return;\n    }\n\n    // The beforePrint is a sync method and we need to know layout before\n    // returning from this method. Ensure that we can get sizes of the pages.\n    if (!this.pdfViewer.pageViewsReady) {\n      this.l10n\n        .get(\n          \"printing_not_ready\",\n          null,\n          \"Warning: The PDF is not fully loaded for printing.\"\n        )\n        .then(notReadyMessage => {\n          window.alert(notReadyMessage);\n        });\n      return;\n    }\n\n    const pagesOverview = this.pdfViewer.getPagesOverview();\n    const printContainer = this.appConfig.printContainer;\n    const printService = PDFPrintServiceFactory.instance.createPrintService(\n      this.pdfDocument,\n      pagesOverview,\n      printContainer,\n      this.l10n\n    );\n    this.printService = printService;\n    this.forceRendering();\n\n    printService.layout();\n\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n    ) {\n      this.externalServices.reportTelemetry({\n        type: \"print\",\n      });\n    }\n  },\n\n  afterPrint() {\n    if (this.printService) {\n      this.printService.destroy();\n      this.printService = null;\n    }\n    this.forceRendering();\n  },\n\n  rotatePages(delta) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    const newRotation = (this.pdfViewer.pagesRotation + 360 + delta) % 360;\n    this.pdfViewer.pagesRotation = newRotation;\n    // Note that the thumbnail viewer is updated, and rendering is triggered,\n    // in the 'rotationchanging' event handler.\n  },\n\n  requestPresentationMode() {\n    if (!this.pdfPresentationMode) {\n      return;\n    }\n    this.pdfPresentationMode.request();\n  },\n\n  bindEvents() {\n    const { eventBus, _boundEvents } = this;\n\n    _boundEvents.beforePrint = this.beforePrint.bind(this);\n    _boundEvents.afterPrint = this.afterPrint.bind(this);\n\n    eventBus._on(\"resize\", webViewerResize);\n    eventBus._on(\"hashchange\", webViewerHashchange);\n    eventBus._on(\"beforeprint\", _boundEvents.beforePrint);\n    eventBus._on(\"afterprint\", _boundEvents.afterPrint);\n    eventBus._on(\"pagerendered\", webViewerPageRendered);\n    eventBus._on(\"updateviewarea\", webViewerUpdateViewarea);\n    eventBus._on(\"pagechanging\", webViewerPageChanging);\n    eventBus._on(\"scalechanging\", webViewerScaleChanging);\n    eventBus._on(\"rotationchanging\", webViewerRotationChanging);\n    eventBus._on(\"sidebarviewchanged\", webViewerSidebarViewChanged);\n    eventBus._on(\"pagemode\", webViewerPageMode);\n    eventBus._on(\"namedaction\", webViewerNamedAction);\n    eventBus._on(\"presentationmodechanged\", webViewerPresentationModeChanged);\n    eventBus._on(\"presentationmode\", webViewerPresentationMode);\n    eventBus._on(\"print\", webViewerPrint);\n    eventBus._on(\"download\", webViewerDownload);\n    eventBus._on(\"firstpage\", webViewerFirstPage);\n    eventBus._on(\"lastpage\", webViewerLastPage);\n    eventBus._on(\"nextpage\", webViewerNextPage);\n    eventBus._on(\"previouspage\", webViewerPreviousPage);\n    eventBus._on(\"zoomin\", webViewerZoomIn);\n    eventBus._on(\"zoomout\", webViewerZoomOut);\n    eventBus._on(\"zoomreset\", webViewerZoomReset);\n    eventBus._on(\"pagenumberchanged\", webViewerPageNumberChanged);\n    eventBus._on(\"scalechanged\", webViewerScaleChanged);\n    eventBus._on(\"rotatecw\", webViewerRotateCw);\n    eventBus._on(\"rotateccw\", webViewerRotateCcw);\n    eventBus._on(\"switchscrollmode\", webViewerSwitchScrollMode);\n    eventBus._on(\"scrollmodechanged\", webViewerScrollModeChanged);\n    eventBus._on(\"switchspreadmode\", webViewerSwitchSpreadMode);\n    eventBus._on(\"spreadmodechanged\", webViewerSpreadModeChanged);\n    eventBus._on(\"documentproperties\", webViewerDocumentProperties);\n    eventBus._on(\"find\", webViewerFind);\n    eventBus._on(\"findfromurlhash\", webViewerFindFromUrlHash);\n    eventBus._on(\"updatefindmatchescount\", webViewerUpdateFindMatchesCount);\n    eventBus._on(\"updatefindcontrolstate\", webViewerUpdateFindControlState);\n    if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n      eventBus._on(\"fileinputchange\", webViewerFileInputChange);\n      eventBus._on(\"openfile\", webViewerOpenFile);\n    }\n  },\n\n  bindWindowEvents() {\n    const { eventBus, _boundEvents } = this;\n\n    _boundEvents.windowResize = () => {\n      eventBus.dispatch(\"resize\", { source: window });\n    };\n    _boundEvents.windowHashChange = () => {\n      eventBus.dispatch(\"hashchange\", {\n        source: window,\n        hash: document.location.hash.substring(1),\n      });\n    };\n    _boundEvents.windowBeforePrint = () => {\n      eventBus.dispatch(\"beforeprint\", { source: window });\n    };\n    _boundEvents.windowAfterPrint = () => {\n      eventBus.dispatch(\"afterprint\", { source: window });\n    };\n\n    window.addEventListener(\"visibilitychange\", webViewerVisibilityChange);\n    window.addEventListener(\"wheel\", webViewerWheel, { passive: false });\n    window.addEventListener(\"click\", webViewerClick);\n    window.addEventListener(\"keydown\", webViewerKeyDown);\n    window.addEventListener(\"resize\", _boundEvents.windowResize);\n    window.addEventListener(\"hashchange\", _boundEvents.windowHashChange);\n    window.addEventListener(\"beforeprint\", _boundEvents.windowBeforePrint);\n    window.addEventListener(\"afterprint\", _boundEvents.windowAfterPrint);\n  },\n\n  unbindEvents() {\n    const { eventBus, _boundEvents } = this;\n\n    eventBus._off(\"resize\", webViewerResize);\n    eventBus._off(\"hashchange\", webViewerHashchange);\n    eventBus._off(\"beforeprint\", _boundEvents.beforePrint);\n    eventBus._off(\"afterprint\", _boundEvents.afterPrint);\n    eventBus._off(\"pagerendered\", webViewerPageRendered);\n    eventBus._off(\"updateviewarea\", webViewerUpdateViewarea);\n    eventBus._off(\"pagechanging\", webViewerPageChanging);\n    eventBus._off(\"scalechanging\", webViewerScaleChanging);\n    eventBus._off(\"rotationchanging\", webViewerRotationChanging);\n    eventBus._off(\"sidebarviewchanged\", webViewerSidebarViewChanged);\n    eventBus._off(\"pagemode\", webViewerPageMode);\n    eventBus._off(\"namedaction\", webViewerNamedAction);\n    eventBus._off(\"presentationmodechanged\", webViewerPresentationModeChanged);\n    eventBus._off(\"presentationmode\", webViewerPresentationMode);\n    eventBus._off(\"print\", webViewerPrint);\n    eventBus._off(\"download\", webViewerDownload);\n    eventBus._off(\"firstpage\", webViewerFirstPage);\n    eventBus._off(\"lastpage\", webViewerLastPage);\n    eventBus._off(\"nextpage\", webViewerNextPage);\n    eventBus._off(\"previouspage\", webViewerPreviousPage);\n    eventBus._off(\"zoomin\", webViewerZoomIn);\n    eventBus._off(\"zoomout\", webViewerZoomOut);\n    eventBus._off(\"zoomreset\", webViewerZoomReset);\n    eventBus._off(\"pagenumberchanged\", webViewerPageNumberChanged);\n    eventBus._off(\"scalechanged\", webViewerScaleChanged);\n    eventBus._off(\"rotatecw\", webViewerRotateCw);\n    eventBus._off(\"rotateccw\", webViewerRotateCcw);\n    eventBus._off(\"switchscrollmode\", webViewerSwitchScrollMode);\n    eventBus._off(\"scrollmodechanged\", webViewerScrollModeChanged);\n    eventBus._off(\"switchspreadmode\", webViewerSwitchSpreadMode);\n    eventBus._off(\"spreadmodechanged\", webViewerSpreadModeChanged);\n    eventBus._off(\"documentproperties\", webViewerDocumentProperties);\n    eventBus._off(\"find\", webViewerFind);\n    eventBus._off(\"findfromurlhash\", webViewerFindFromUrlHash);\n    eventBus._off(\"updatefindmatchescount\", webViewerUpdateFindMatchesCount);\n    eventBus._off(\"updatefindcontrolstate\", webViewerUpdateFindControlState);\n    if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n      eventBus._off(\"fileinputchange\", webViewerFileInputChange);\n      eventBus._off(\"openfile\", webViewerOpenFile);\n    }\n\n    _boundEvents.beforePrint = null;\n    _boundEvents.afterPrint = null;\n  },\n\n  unbindWindowEvents() {\n    const { _boundEvents } = this;\n\n    window.removeEventListener(\"visibilitychange\", webViewerVisibilityChange);\n    window.removeEventListener(\"wheel\", webViewerWheel);\n    window.removeEventListener(\"click\", webViewerClick);\n    window.removeEventListener(\"keydown\", webViewerKeyDown);\n    window.removeEventListener(\"resize\", _boundEvents.windowResize);\n    window.removeEventListener(\"hashchange\", _boundEvents.windowHashChange);\n    window.removeEventListener(\"beforeprint\", _boundEvents.windowBeforePrint);\n    window.removeEventListener(\"afterprint\", _boundEvents.windowAfterPrint);\n\n    _boundEvents.windowResize = null;\n    _boundEvents.windowHashChange = null;\n    _boundEvents.windowBeforePrint = null;\n    _boundEvents.windowAfterPrint = null;\n  },\n};\n\nlet validateFileURL;\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  const HOSTED_VIEWER_ORIGINS = [\n    \"null\",\n    \"http://mozilla.github.io\",\n    \"https://mozilla.github.io\",\n  ];\n  validateFileURL = function(file) {\n    if (file === undefined) {\n      return;\n    }\n    try {\n      const viewerOrigin = new URL(window.location.href).origin || \"null\";\n      if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) {\n        // Hosted or local viewer, allow for any file locations\n        return;\n      }\n      const { origin, protocol } = new URL(file, window.location.href);\n      // Removing of the following line will not guarantee that the viewer will\n      // start accepting URLs from foreign origin -- CORS headers on the remote\n      // server must be properly configured.\n      // IE10 / IE11 does not include an origin in `blob:`-URLs. So don't block\n      // any blob:-URL. The browser's same-origin policy will block requests to\n      // blob:-URLs from other origins, so this is safe.\n      if (origin !== viewerOrigin && protocol !== \"blob:\") {\n        throw new Error(\"file origin does not match viewer's\");\n      }\n    } catch (ex) {\n      const message = ex && ex.message;\n      PDFViewerApplication.l10n\n        .get(\"loading_error\", null, \"An error occurred while loading the PDF.\")\n        .then(loadingErrorMessage => {\n          PDFViewerApplication.error(loadingErrorMessage, { message });\n        });\n      throw ex;\n    }\n  };\n}\n\nasync function loadFakeWorker() {\n  if (!GlobalWorkerOptions.workerSrc) {\n    GlobalWorkerOptions.workerSrc = AppOptions.get(\"workerSrc\");\n  }\n  if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")) {\n    if (typeof SystemJS !== \"object\") {\n      throw new Error(\"SystemJS must be used to load fake worker.\");\n    }\n    window.pdfjsWorker = await SystemJS.import(\"pdfjs/core/worker.js\");\n    return undefined;\n  }\n  return loadScript(PDFWorker.getWorkerSrc());\n}\n\nfunction loadAndEnablePDFBug(enabledTabs) {\n  const appConfig = PDFViewerApplication.appConfig;\n  return loadScript(appConfig.debuggerScriptPath).then(function() {\n    PDFBug.enable(enabledTabs);\n    PDFBug.init({ OPS }, appConfig.mainContainer);\n  });\n}\n\nfunction webViewerInitialized() {\n  const appConfig = PDFViewerApplication.appConfig;\n  let file;\n  if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n    const queryString = document.location.search.substring(1);\n    const params = parseQueryString(queryString);\n    file = \"file\" in params ? params.file : AppOptions.get(\"defaultUrl\");\n    validateFileURL(file);\n  } else if (PDFJSDev.test(\"MOZCENTRAL\")) {\n    file = window.location.href.split(\"#\")[0];\n  } else if (PDFJSDev.test(\"CHROME\")) {\n    file = AppOptions.get(\"defaultUrl\");\n  }\n\n  if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n    const fileInput = document.createElement(\"input\");\n    fileInput.id = appConfig.openFileInputName;\n    fileInput.className = \"fileInput\";\n    fileInput.setAttribute(\"type\", \"file\");\n    fileInput.oncontextmenu = noContextMenuHandler;\n    document.body.appendChild(fileInput);\n\n    if (\n      !window.File ||\n      !window.FileReader ||\n      !window.FileList ||\n      !window.Blob\n    ) {\n      appConfig.toolbar.openFile.setAttribute(\"hidden\", \"true\");\n      appConfig.secondaryToolbar.openFileButton.setAttribute(\"hidden\", \"true\");\n    } else {\n      fileInput.value = null;\n    }\n\n    fileInput.addEventListener(\"change\", function(evt) {\n      const files = evt.target.files;\n      if (!files || files.length === 0) {\n        return;\n      }\n      PDFViewerApplication.eventBus.dispatch(\"fileinputchange\", {\n        source: this,\n        fileInput: evt.target,\n      });\n    });\n\n    // Enable dragging-and-dropping a new PDF file onto the viewerContainer.\n    appConfig.mainContainer.addEventListener(\"dragover\", function(evt) {\n      evt.preventDefault();\n\n      evt.dataTransfer.dropEffect = \"move\";\n    });\n    appConfig.mainContainer.addEventListener(\"drop\", function(evt) {\n      evt.preventDefault();\n\n      const files = evt.dataTransfer.files;\n      if (!files || files.length === 0) {\n        return;\n      }\n      PDFViewerApplication.eventBus.dispatch(\"fileinputchange\", {\n        source: this,\n        fileInput: evt.dataTransfer,\n      });\n    });\n  } else {\n    appConfig.toolbar.openFile.setAttribute(\"hidden\", \"true\");\n    appConfig.secondaryToolbar.openFileButton.setAttribute(\"hidden\", \"true\");\n  }\n\n  if (\n    (typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"MOZCENTRAL || GENERIC\")) &&\n    !PDFViewerApplication.supportsDocumentFonts\n  ) {\n    AppOptions.set(\"disableFontFace\", true);\n    PDFViewerApplication.l10n\n      .get(\n        \"web_fonts_disabled\",\n        null,\n        \"Web fonts are disabled: unable to use embedded PDF fonts.\"\n      )\n      .then(msg => {\n        console.warn(msg);\n      });\n  }\n\n  if (!PDFViewerApplication.supportsPrinting) {\n    appConfig.toolbar.print.classList.add(\"hidden\");\n    appConfig.secondaryToolbar.printButton.classList.add(\"hidden\");\n  }\n\n  if (!PDFViewerApplication.supportsFullscreen) {\n    appConfig.toolbar.presentationModeButton.classList.add(\"hidden\");\n    appConfig.secondaryToolbar.presentationModeButton.classList.add(\"hidden\");\n  }\n\n  if (PDFViewerApplication.supportsIntegratedFind) {\n    appConfig.toolbar.viewFind.classList.add(\"hidden\");\n  }\n\n  appConfig.mainContainer.addEventListener(\n    \"transitionend\",\n    function(evt) {\n      if (evt.target === /* mainContainer */ this) {\n        PDFViewerApplication.eventBus.dispatch(\"resize\", { source: this });\n      }\n    },\n    true\n  );\n\n  try {\n    webViewerOpenFileViaURL(file);\n  } catch (reason) {\n    PDFViewerApplication.l10n\n      .get(\"loading_error\", null, \"An error occurred while loading the PDF.\")\n      .then(msg => {\n        PDFViewerApplication.error(msg, reason);\n      });\n  }\n}\n\nlet webViewerOpenFileViaURL;\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  webViewerOpenFileViaURL = function(file) {\n    if (file && file.lastIndexOf(\"file:\", 0) === 0) {\n      // file:-scheme. Load the contents in the main thread because QtWebKit\n      // cannot load file:-URLs in a Web Worker. file:-URLs are usually loaded\n      // very quickly, so there is no need to set up progress event listeners.\n      PDFViewerApplication.setTitleUsingUrl(file);\n      const xhr = new XMLHttpRequest();\n      xhr.onload = function() {\n        PDFViewerApplication.open(new Uint8Array(xhr.response));\n      };\n      xhr.open(\"GET\", file);\n      xhr.responseType = \"arraybuffer\";\n      xhr.send();\n      return;\n    }\n\n    if (file) {\n      PDFViewerApplication.open(file);\n    }\n  };\n} else if (PDFJSDev.test(\"MOZCENTRAL || CHROME\")) {\n  webViewerOpenFileViaURL = function(file) {\n    PDFViewerApplication.setTitleUsingUrl(file);\n    PDFViewerApplication.initPassiveLoading();\n  };\n} else {\n  webViewerOpenFileViaURL = function(file) {\n    if (file) {\n      throw new Error(\"Not implemented: webViewerOpenFileViaURL\");\n    }\n  };\n}\n\nfunction webViewerPageRendered(evt) {\n  const pageNumber = evt.pageNumber;\n  const pageIndex = pageNumber - 1;\n  const pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);\n\n  // If the page is still visible when it has finished rendering,\n  // ensure that the page number input loading indicator is hidden.\n  if (pageNumber === PDFViewerApplication.page) {\n    PDFViewerApplication.toolbar.updateLoadingIndicatorState(false);\n  }\n\n  // Prevent errors in the edge-case where the PDF document is removed *before*\n  // the 'pagerendered' event handler is invoked.\n  if (!pageView) {\n    return;\n  }\n\n  // Use the rendered page to set the corresponding thumbnail image.\n  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {\n    const thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(\n      pageIndex\n    );\n    thumbnailView.setImage(pageView);\n  }\n\n  if (typeof Stats !== \"undefined\" && Stats.enabled && pageView.stats) {\n    Stats.add(pageNumber, pageView.stats);\n  }\n\n  if (pageView.error) {\n    PDFViewerApplication.l10n\n      .get(\n        \"rendering_error\",\n        null,\n        \"An error occurred while rendering the page.\"\n      )\n      .then(msg => {\n        PDFViewerApplication.error(msg, pageView.error);\n      });\n  }\n\n  if (\n    typeof PDFJSDev === \"undefined\" ||\n    PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n  ) {\n    PDFViewerApplication.externalServices.reportTelemetry({\n      type: \"pageInfo\",\n      timestamp: evt.timestamp,\n    });\n    // It is a good time to report stream and font types.\n    PDFViewerApplication.pdfDocument.getStats().then(function(stats) {\n      PDFViewerApplication.externalServices.reportTelemetry({\n        type: \"documentStats\",\n        stats,\n      });\n    });\n  }\n}\n\nfunction webViewerPageMode({ mode }) {\n  // Handle the 'pagemode' hash parameter, see also `PDFLinkService_setHash`.\n  let view;\n  switch (mode) {\n    case \"thumbs\":\n      view = SidebarView.THUMBS;\n      break;\n    case \"bookmarks\":\n    case \"outline\":\n      view = SidebarView.OUTLINE;\n      break;\n    case \"attachments\":\n      view = SidebarView.ATTACHMENTS;\n      break;\n    case \"none\":\n      view = SidebarView.NONE;\n      break;\n    default:\n      console.error('Invalid \"pagemode\" hash parameter: ' + mode);\n      return;\n  }\n  PDFViewerApplication.pdfSidebar.switchView(view, /* forceOpen = */ true);\n}\n\nfunction webViewerNamedAction(evt) {\n  // Processing couple of named actions that might be useful.\n  // See also PDFLinkService.executeNamedAction\n  const action = evt.action;\n  switch (action) {\n    case \"GoToPage\":\n      PDFViewerApplication.appConfig.toolbar.pageNumber.select();\n      break;\n\n    case \"Find\":\n      if (!PDFViewerApplication.supportsIntegratedFind) {\n        PDFViewerApplication.findBar.toggle();\n      }\n      break;\n  }\n}\n\nfunction webViewerPresentationModeChanged({ active, switchInProgress }) {\n  let state = PresentationModeState.NORMAL;\n  if (switchInProgress) {\n    state = PresentationModeState.CHANGING;\n  } else if (active) {\n    state = PresentationModeState.FULLSCREEN;\n  }\n  PDFViewerApplication.pdfViewer.presentationModeState = state;\n}\n\nfunction webViewerSidebarViewChanged(evt) {\n  PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled =\n    PDFViewerApplication.pdfSidebar.isThumbnailViewVisible;\n\n  const store = PDFViewerApplication.store;\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    // Only update the storage when the document has been loaded *and* rendered.\n    store.set(\"sidebarView\", evt.view).catch(function() {});\n  }\n}\n\nfunction webViewerUpdateViewarea(evt) {\n  const location = evt.location,\n    store = PDFViewerApplication.store;\n\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    store\n      .setMultiple({\n        page: location.pageNumber,\n        zoom: location.scale,\n        scrollLeft: location.left,\n        scrollTop: location.top,\n        rotation: location.rotation,\n      })\n      .catch(function() {\n        /* unable to write to storage */\n      });\n  }\n  const href = PDFViewerApplication.pdfLinkService.getAnchorUrl(\n    location.pdfOpenParams\n  );\n  PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href;\n  PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href;\n\n  // Show/hide the loading indicator in the page number input element.\n  const currentPage = PDFViewerApplication.pdfViewer.getPageView(\n    PDFViewerApplication.page - 1\n  );\n  const loading = currentPage.renderingState !== RenderingStates.FINISHED;\n  PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading);\n}\n\nfunction webViewerScrollModeChanged(evt) {\n  const store = PDFViewerApplication.store;\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    // Only update the storage when the document has been loaded *and* rendered.\n    store.set(\"scrollMode\", evt.mode).catch(function() {});\n  }\n}\n\nfunction webViewerSpreadModeChanged(evt) {\n  const store = PDFViewerApplication.store;\n  if (store && PDFViewerApplication.isInitialViewSet) {\n    // Only update the storage when the document has been loaded *and* rendered.\n    store.set(\"spreadMode\", evt.mode).catch(function() {});\n  }\n}\n\nfunction webViewerResize() {\n  const { pdfDocument, pdfViewer } = PDFViewerApplication;\n  if (!pdfDocument) {\n    return;\n  }\n  const currentScaleValue = pdfViewer.currentScaleValue;\n  if (\n    currentScaleValue === \"auto\" ||\n    currentScaleValue === \"page-fit\" ||\n    currentScaleValue === \"page-width\"\n  ) {\n    // Note: the scale is constant for 'page-actual'.\n    pdfViewer.currentScaleValue = currentScaleValue;\n  }\n  pdfViewer.update();\n}\n\nfunction webViewerHashchange(evt) {\n  const hash = evt.hash;\n  if (!hash) {\n    return;\n  }\n  if (!PDFViewerApplication.isInitialViewSet) {\n    PDFViewerApplication.initialBookmark = hash;\n  } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) {\n    PDFViewerApplication.pdfLinkService.setHash(hash);\n  }\n}\n\nlet webViewerFileInputChange, webViewerOpenFile;\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  webViewerFileInputChange = function(evt) {\n    if (\n      PDFViewerApplication.pdfViewer &&\n      PDFViewerApplication.pdfViewer.isInPresentationMode\n    ) {\n      return; // Opening a new PDF file isn't supported in Presentation Mode.\n    }\n    const file = evt.fileInput.files[0];\n\n    if (URL.createObjectURL && !AppOptions.get(\"disableCreateObjectURL\")) {\n      let url = URL.createObjectURL(file);\n      if (file.name) {\n        url = { url, originalUrl: file.name };\n      }\n      PDFViewerApplication.open(url);\n    } else {\n      PDFViewerApplication.setTitleUsingUrl(file.name);\n      // Read the local file into a Uint8Array.\n      const fileReader = new FileReader();\n      fileReader.onload = function webViewerChangeFileReaderOnload(event) {\n        const buffer = event.target.result;\n        PDFViewerApplication.open(new Uint8Array(buffer));\n      };\n      fileReader.readAsArrayBuffer(file);\n    }\n\n    // URL does not reflect proper document location - hiding some icons.\n    const appConfig = PDFViewerApplication.appConfig;\n    appConfig.toolbar.viewBookmark.setAttribute(\"hidden\", \"true\");\n    appConfig.secondaryToolbar.viewBookmarkButton.setAttribute(\n      \"hidden\",\n      \"true\"\n    );\n    appConfig.toolbar.download.setAttribute(\"hidden\", \"true\");\n    appConfig.secondaryToolbar.downloadButton.setAttribute(\"hidden\", \"true\");\n  };\n\n  webViewerOpenFile = function(evt) {\n    const openFileInputName = PDFViewerApplication.appConfig.openFileInputName;\n    document.getElementById(openFileInputName).click();\n  };\n}\n\nfunction webViewerPresentationMode() {\n  PDFViewerApplication.requestPresentationMode();\n}\nfunction webViewerPrint() {\n  window.print();\n}\nfunction webViewerDownload() {\n  PDFViewerApplication.download();\n}\nfunction webViewerFirstPage() {\n  if (PDFViewerApplication.pdfDocument) {\n    PDFViewerApplication.page = 1;\n  }\n}\nfunction webViewerLastPage() {\n  if (PDFViewerApplication.pdfDocument) {\n    PDFViewerApplication.page = PDFViewerApplication.pagesCount;\n  }\n}\nfunction webViewerNextPage() {\n  PDFViewerApplication.page++;\n}\nfunction webViewerPreviousPage() {\n  PDFViewerApplication.page--;\n}\nfunction webViewerZoomIn() {\n  PDFViewerApplication.zoomIn();\n}\nfunction webViewerZoomOut() {\n  PDFViewerApplication.zoomOut();\n}\nfunction webViewerZoomReset() {\n  PDFViewerApplication.zoomReset();\n}\nfunction webViewerPageNumberChanged(evt) {\n  const pdfViewer = PDFViewerApplication.pdfViewer;\n  // Note that for `<input type=\"number\">` HTML elements, an empty string will\n  // be returned for non-number inputs; hence we simply do nothing in that case.\n  if (evt.value !== \"\") {\n    pdfViewer.currentPageLabel = evt.value;\n  }\n\n  // Ensure that the page number input displays the correct value, even if the\n  // value entered by the user was invalid (e.g. a floating point number).\n  if (\n    evt.value !== pdfViewer.currentPageNumber.toString() &&\n    evt.value !== pdfViewer.currentPageLabel\n  ) {\n    PDFViewerApplication.toolbar.setPageNumber(\n      pdfViewer.currentPageNumber,\n      pdfViewer.currentPageLabel\n    );\n  }\n}\nfunction webViewerScaleChanged(evt) {\n  PDFViewerApplication.pdfViewer.currentScaleValue = evt.value;\n}\nfunction webViewerRotateCw() {\n  PDFViewerApplication.rotatePages(90);\n}\nfunction webViewerRotateCcw() {\n  PDFViewerApplication.rotatePages(-90);\n}\nfunction webViewerSwitchScrollMode(evt) {\n  PDFViewerApplication.pdfViewer.scrollMode = evt.mode;\n}\nfunction webViewerSwitchSpreadMode(evt) {\n  PDFViewerApplication.pdfViewer.spreadMode = evt.mode;\n}\nfunction webViewerDocumentProperties() {\n  PDFViewerApplication.pdfDocumentProperties.open();\n}\n\nfunction webViewerFind(evt) {\n  PDFViewerApplication.findController.executeCommand(\"find\" + evt.type, {\n    query: evt.query,\n    phraseSearch: evt.phraseSearch,\n    caseSensitive: evt.caseSensitive,\n    entireWord: evt.entireWord,\n    highlightAll: evt.highlightAll,\n    findPrevious: evt.findPrevious,\n  });\n}\n\nfunction webViewerFindFromUrlHash(evt) {\n  PDFViewerApplication.findController.executeCommand(\"find\", {\n    query: evt.query,\n    phraseSearch: evt.phraseSearch,\n    caseSensitive: false,\n    entireWord: false,\n    highlightAll: true,\n    findPrevious: false,\n  });\n}\n\nfunction webViewerUpdateFindMatchesCount({ matchesCount }) {\n  if (PDFViewerApplication.supportsIntegratedFind) {\n    PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount);\n  } else {\n    PDFViewerApplication.findBar.updateResultsCount(matchesCount);\n  }\n}\n\nfunction webViewerUpdateFindControlState({ state, previous, matchesCount }) {\n  if (PDFViewerApplication.supportsIntegratedFind) {\n    PDFViewerApplication.externalServices.updateFindControlState({\n      result: state,\n      findPrevious: previous,\n      matchesCount,\n    });\n  } else {\n    PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount);\n  }\n}\n\nfunction webViewerScaleChanging(evt) {\n  PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale);\n\n  PDFViewerApplication.pdfViewer.update();\n}\n\nfunction webViewerRotationChanging(evt) {\n  PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation;\n\n  PDFViewerApplication.forceRendering();\n  // Ensure that the active page doesn't change during rotation.\n  PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber;\n}\n\nfunction webViewerPageChanging(evt) {\n  const page = evt.pageNumber;\n\n  PDFViewerApplication.toolbar.setPageNumber(page, evt.pageLabel || null);\n  PDFViewerApplication.secondaryToolbar.setPageNumber(page);\n\n  if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) {\n    PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(page);\n  }\n\n  // We need to update stats.\n  if (typeof Stats !== \"undefined\" && Stats.enabled) {\n    const pageView = PDFViewerApplication.pdfViewer.getPageView(page - 1);\n    if (pageView && pageView.stats) {\n      Stats.add(page, pageView.stats);\n    }\n  }\n}\n\nfunction webViewerVisibilityChange(evt) {\n  if (document.visibilityState === \"visible\") {\n    // Ignore mouse wheel zooming during tab switches (bug 1503412).\n    setZoomDisabledTimeout();\n  }\n}\n\nlet zoomDisabledTimeout = null;\nfunction setZoomDisabledTimeout() {\n  if (zoomDisabledTimeout) {\n    clearTimeout(zoomDisabledTimeout);\n  }\n  zoomDisabledTimeout = setTimeout(function() {\n    zoomDisabledTimeout = null;\n  }, WHEEL_ZOOM_DISABLED_TIMEOUT);\n}\n\nfunction webViewerWheel(evt) {\n  const {\n    pdfViewer,\n    supportedMouseWheelZoomModifierKeys,\n  } = PDFViewerApplication;\n\n  if (pdfViewer.isInPresentationMode) {\n    return;\n  }\n\n  if (\n    (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey) ||\n    (evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey)\n  ) {\n    // Only zoom the pages, not the entire viewer.\n    evt.preventDefault();\n    // NOTE: this check must be placed *after* preventDefault.\n    if (zoomDisabledTimeout || document.visibilityState === \"hidden\") {\n      return;\n    }\n\n    const previousScale = pdfViewer.currentScale;\n\n    const delta = normalizeWheelEventDelta(evt);\n\n    const MOUSE_WHEEL_DELTA_PER_PAGE_SCALE = 3.0;\n    const ticks = delta * MOUSE_WHEEL_DELTA_PER_PAGE_SCALE;\n    if (ticks < 0) {\n      PDFViewerApplication.zoomOut(-ticks);\n    } else {\n      PDFViewerApplication.zoomIn(ticks);\n    }\n\n    const currentScale = pdfViewer.currentScale;\n    if (previousScale !== currentScale) {\n      // After scaling the page via zoomIn/zoomOut, the position of the upper-\n      // left corner is restored. When the mouse wheel is used, the position\n      // under the cursor should be restored instead.\n      const scaleCorrectionFactor = currentScale / previousScale - 1;\n      const rect = pdfViewer.container.getBoundingClientRect();\n      const dx = evt.clientX - rect.left;\n      const dy = evt.clientY - rect.top;\n      pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor;\n      pdfViewer.container.scrollTop += dy * scaleCorrectionFactor;\n    }\n  } else {\n    setZoomDisabledTimeout();\n  }\n}\n\nfunction webViewerClick(evt) {\n  if (!PDFViewerApplication.secondaryToolbar.isOpen) {\n    return;\n  }\n  const appConfig = PDFViewerApplication.appConfig;\n  if (\n    PDFViewerApplication.pdfViewer.containsElement(evt.target) ||\n    (appConfig.toolbar.container.contains(evt.target) &&\n      evt.target !== appConfig.secondaryToolbar.toggleButton)\n  ) {\n    PDFViewerApplication.secondaryToolbar.close();\n  }\n}\n\nfunction webViewerKeyDown(evt) {\n  if (PDFViewerApplication.overlayManager.active) {\n    return;\n  }\n\n  let handled = false,\n    ensureViewerFocused = false;\n  const cmd =\n    (evt.ctrlKey ? 1 : 0) |\n    (evt.altKey ? 2 : 0) |\n    (evt.shiftKey ? 4 : 0) |\n    (evt.metaKey ? 8 : 0);\n\n  const pdfViewer = PDFViewerApplication.pdfViewer;\n  const isViewerInPresentationMode =\n    pdfViewer && pdfViewer.isInPresentationMode;\n\n  // First, handle the key bindings that are independent whether an input\n  // control is selected or not.\n  if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) {\n    // either CTRL or META key with optional SHIFT.\n    switch (evt.keyCode) {\n      case 70: // f\n        if (!PDFViewerApplication.supportsIntegratedFind) {\n          PDFViewerApplication.findBar.open();\n          handled = true;\n        }\n        break;\n      case 71: // g\n        if (!PDFViewerApplication.supportsIntegratedFind) {\n          const findState = PDFViewerApplication.findController.state;\n          if (findState) {\n            PDFViewerApplication.findController.executeCommand(\"findagain\", {\n              query: findState.query,\n              phraseSearch: findState.phraseSearch,\n              caseSensitive: findState.caseSensitive,\n              entireWord: findState.entireWord,\n              highlightAll: findState.highlightAll,\n              findPrevious: cmd === 5 || cmd === 12,\n            });\n          }\n          handled = true;\n        }\n        break;\n      case 61: // FF/Mac '='\n      case 107: // FF '+' and '='\n      case 187: // Chrome '+'\n      case 171: // FF with German keyboard\n        if (!isViewerInPresentationMode) {\n          PDFViewerApplication.zoomIn();\n        }\n        handled = true;\n        break;\n      case 173: // FF/Mac '-'\n      case 109: // FF '-'\n      case 189: // Chrome '-'\n        if (!isViewerInPresentationMode) {\n          PDFViewerApplication.zoomOut();\n        }\n        handled = true;\n        break;\n      case 48: // '0'\n      case 96: // '0' on Numpad of Swedish keyboard\n        if (!isViewerInPresentationMode) {\n          // keeping it unhandled (to restore page zoom to 100%)\n          setTimeout(function() {\n            // ... and resetting the scale after browser adjusts its scale\n            PDFViewerApplication.zoomReset();\n          });\n          handled = false;\n        }\n        break;\n\n      case 38: // up arrow\n        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page = 1;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n        break;\n      case 40: // down arrow\n        if (\n          isViewerInPresentationMode ||\n          PDFViewerApplication.page < PDFViewerApplication.pagesCount\n        ) {\n          PDFViewerApplication.page = PDFViewerApplication.pagesCount;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n        break;\n    }\n  }\n\n  if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n    // CTRL or META without shift\n    if (cmd === 1 || cmd === 8) {\n      switch (evt.keyCode) {\n        case 83: // s\n          PDFViewerApplication.download();\n          handled = true;\n          break;\n      }\n    }\n  }\n\n  // CTRL+ALT or Option+Command\n  if (cmd === 3 || cmd === 10) {\n    switch (evt.keyCode) {\n      case 80: // p\n        PDFViewerApplication.requestPresentationMode();\n        handled = true;\n        break;\n      case 71: // g\n        // focuses input#pageNumber field\n        PDFViewerApplication.appConfig.toolbar.pageNumber.select();\n        handled = true;\n        break;\n    }\n  }\n\n  if (handled) {\n    if (ensureViewerFocused && !isViewerInPresentationMode) {\n      pdfViewer.focus();\n    }\n    evt.preventDefault();\n    return;\n  }\n\n  // Some shortcuts should not get handled if a control/input element\n  // is selected.\n  const curElement = document.activeElement || document.querySelector(\":focus\");\n  const curElementTagName = curElement && curElement.tagName.toUpperCase();\n  if (\n    curElementTagName === \"INPUT\" ||\n    curElementTagName === \"TEXTAREA\" ||\n    curElementTagName === \"SELECT\" ||\n    (curElement && curElement.isContentEditable)\n  ) {\n    // Make sure that the secondary toolbar is closed when Escape is pressed.\n    if (evt.keyCode !== /* Esc = */ 27) {\n      return;\n    }\n  }\n\n  // No control key pressed at all.\n  if (cmd === 0) {\n    let turnPage = 0,\n      turnOnlyIfPageFit = false;\n    switch (evt.keyCode) {\n      case 38: // up arrow\n      case 33: // pg up\n        // vertical scrolling using arrow/pg keys\n        if (pdfViewer.isVerticalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n        turnPage = -1;\n        break;\n      case 8: // backspace\n        if (!isViewerInPresentationMode) {\n          turnOnlyIfPageFit = true;\n        }\n        turnPage = -1;\n        break;\n      case 37: // left arrow\n        // horizontal scrolling using arrow keys\n        if (pdfViewer.isHorizontalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n      /* falls through */\n      case 75: // 'k'\n      case 80: // 'p'\n        turnPage = -1;\n        break;\n      case 27: // esc key\n        if (PDFViewerApplication.secondaryToolbar.isOpen) {\n          PDFViewerApplication.secondaryToolbar.close();\n          handled = true;\n        }\n        if (\n          !PDFViewerApplication.supportsIntegratedFind &&\n          PDFViewerApplication.findBar.opened\n        ) {\n          PDFViewerApplication.findBar.close();\n          handled = true;\n        }\n        break;\n      case 40: // down arrow\n      case 34: // pg down\n        // vertical scrolling using arrow/pg keys\n        if (pdfViewer.isVerticalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n        turnPage = 1;\n        break;\n      case 13: // enter key\n      case 32: // spacebar\n        if (!isViewerInPresentationMode) {\n          turnOnlyIfPageFit = true;\n        }\n        turnPage = 1;\n        break;\n      case 39: // right arrow\n        // horizontal scrolling using arrow keys\n        if (pdfViewer.isHorizontalScrollbarEnabled) {\n          turnOnlyIfPageFit = true;\n        }\n      /* falls through */\n      case 74: // 'j'\n      case 78: // 'n'\n        turnPage = 1;\n        break;\n\n      case 36: // home\n        if (isViewerInPresentationMode || PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page = 1;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n        break;\n      case 35: // end\n        if (\n          isViewerInPresentationMode ||\n          PDFViewerApplication.page < PDFViewerApplication.pagesCount\n        ) {\n          PDFViewerApplication.page = PDFViewerApplication.pagesCount;\n          handled = true;\n          ensureViewerFocused = true;\n        }\n        break;\n\n      case 83: // 's'\n        PDFViewerApplication.pdfCursorTools.switchTool(CursorTool.SELECT);\n        break;\n      case 72: // 'h'\n        PDFViewerApplication.pdfCursorTools.switchTool(CursorTool.HAND);\n        break;\n\n      case 82: // 'r'\n        PDFViewerApplication.rotatePages(90);\n        break;\n\n      case 115: // F4\n        PDFViewerApplication.pdfSidebar.toggle();\n        break;\n    }\n\n    if (\n      turnPage !== 0 &&\n      (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === \"page-fit\")\n    ) {\n      if (turnPage > 0) {\n        if (PDFViewerApplication.page < PDFViewerApplication.pagesCount) {\n          PDFViewerApplication.page++;\n        }\n      } else {\n        if (PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page--;\n        }\n      }\n      handled = true;\n    }\n  }\n\n  // shift-key\n  if (cmd === 4) {\n    switch (evt.keyCode) {\n      case 13: // enter key\n      case 32: // spacebar\n        if (\n          !isViewerInPresentationMode &&\n          pdfViewer.currentScaleValue !== \"page-fit\"\n        ) {\n          break;\n        }\n        if (PDFViewerApplication.page > 1) {\n          PDFViewerApplication.page--;\n        }\n        handled = true;\n        break;\n\n      case 82: // 'r'\n        PDFViewerApplication.rotatePages(-90);\n        break;\n    }\n  }\n\n  if (!handled && !isViewerInPresentationMode) {\n    // 33=Page Up  34=Page Down  35=End    36=Home\n    // 37=Left     38=Up         39=Right  40=Down\n    // 32=Spacebar\n    if (\n      (evt.keyCode >= 33 && evt.keyCode <= 40) ||\n      (evt.keyCode === 32 && curElementTagName !== \"BUTTON\")\n    ) {\n      ensureViewerFocused = true;\n    }\n  }\n\n  if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {\n    // The page container is not focused, but a page navigation key has been\n    // pressed. Change the focus to the viewer container to make sure that\n    // navigation by keyboard works as expected.\n    pdfViewer.focus();\n  }\n\n  if (handled) {\n    evt.preventDefault();\n  }\n}\n\n/**\n * Converts API PageLayout values to the format used by `PDFViewer`.\n * NOTE: This is supported to the extent that the viewer implements the\n *       necessary Scroll/Spread modes (since SinglePage, TwoPageLeft,\n *       and TwoPageRight all suggests using non-continuous scrolling).\n * @param {string} mode - The API PageLayout value.\n * @returns {number} A value from {SpreadMode}.\n */\nfunction apiPageLayoutToSpreadMode(layout) {\n  switch (layout) {\n    case \"SinglePage\":\n    case \"OneColumn\":\n      return SpreadMode.NONE;\n    case \"TwoColumnLeft\":\n    case \"TwoPageLeft\":\n      return SpreadMode.ODD;\n    case \"TwoColumnRight\":\n    case \"TwoPageRight\":\n      return SpreadMode.EVEN;\n  }\n  return SpreadMode.NONE; // Default value.\n}\n\n/**\n * Converts API PageMode values to the format used by `PDFSidebar`.\n * NOTE: There's also a \"FullScreen\" parameter which is not possible to support,\n *       since the Fullscreen API used in browsers requires that entering\n *       fullscreen mode only occurs as a result of a user-initiated event.\n * @param {string} mode - The API PageMode value.\n * @returns {number} A value from {SidebarView}.\n */\nfunction apiPageModeToSidebarView(mode) {\n  switch (mode) {\n    case \"UseNone\":\n      return SidebarView.NONE;\n    case \"UseThumbs\":\n      return SidebarView.THUMBS;\n    case \"UseOutlines\":\n      return SidebarView.OUTLINE;\n    case \"UseAttachments\":\n      return SidebarView.ATTACHMENTS;\n    case \"UseOC\":\n    // Not implemented, since we don't support Optional Content Groups yet.\n  }\n  return SidebarView.NONE; // Default value.\n}\n\n/* Abstract factory for the print service. */\nconst PDFPrintServiceFactory = {\n  instance: {\n    supportsPrinting: false,\n    createPrintService() {\n      throw new Error(\"Not implemented: createPrintService\");\n    },\n  },\n};\n\nexport {\n  PDFViewerApplication,\n  DefaultExternalServices,\n  PDFPrintServiceFactory,\n};\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* Copyright 2012 Mozilla Foundation\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\nconst CSS_UNITS = 96.0 / 72.0;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\n\nconst PresentationModeState = {\n  UNKNOWN: 0,\n  NORMAL: 1,\n  CHANGING: 2,\n  FULLSCREEN: 3,\n};\n\nconst RendererType = {\n  CANVAS: \"canvas\",\n  SVG: \"svg\",\n};\n\nconst TextLayerMode = {\n  DISABLE: 0,\n  ENABLE: 1,\n  ENABLE_ENHANCE: 2,\n};\n\nconst ScrollMode = {\n  UNKNOWN: -1,\n  VERTICAL: 0, // Default value.\n  HORIZONTAL: 1,\n  WRAPPED: 2,\n};\n\nconst SpreadMode = {\n  UNKNOWN: -1,\n  NONE: 0, // Default value.\n  ODD: 1,\n  EVEN: 2,\n};\n\n// Used by `PDFViewerApplication`, and by the API unit-tests.\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\n\n// Replaces {{arguments}} with their values.\nfunction formatL10nValue(text, args) {\n  if (!args) {\n    return text;\n  }\n  return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n    return name in args ? args[name] : \"{{\" + name + \"}}\";\n  });\n}\n\n/**\n * No-op implementation of the localization service.\n * @implements {IL10n}\n */\nconst NullL10n = {\n  async getLanguage() {\n    return \"en-us\";\n  },\n\n  async getDirection() {\n    return \"ltr\";\n  },\n\n  async get(property, args, fallback) {\n    return formatL10nValue(fallback, args);\n  },\n\n  async translate(element) {},\n};\n\n/**\n * Returns scale factor for the canvas. It makes sense for the HiDPI displays.\n * @returns {Object} The object with horizontal (sx) and vertical (sy)\n *                   scales. The scaled property is set to false if scaling is\n *                   not required, true otherwise.\n */\nfunction getOutputScale(ctx) {\n  const devicePixelRatio = window.devicePixelRatio || 1;\n  const backingStoreRatio =\n    ctx.webkitBackingStorePixelRatio ||\n    ctx.mozBackingStorePixelRatio ||\n    ctx.msBackingStorePixelRatio ||\n    ctx.oBackingStorePixelRatio ||\n    ctx.backingStorePixelRatio ||\n    1;\n  const pixelRatio = devicePixelRatio / backingStoreRatio;\n  return {\n    sx: pixelRatio,\n    sy: pixelRatio,\n    scaled: pixelRatio !== 1,\n  };\n}\n\n/**\n * Scrolls specified element into view of its parent.\n * @param {Object} element - The element to be visible.\n * @param {Object} spot - An object with optional top and left properties,\n *   specifying the offset from the top left edge.\n * @param {boolean} skipOverflowHiddenElements - Ignore elements that have\n *   the CSS rule `overflow: hidden;` set. The default is false.\n */\nfunction scrollIntoView(element, spot, skipOverflowHiddenElements = false) {\n  // Assuming offsetParent is available (it's not available when viewer is in\n  // hidden iframe or object). We have to scroll: if the offsetParent is not set\n  // producing the error. See also animationStarted.\n  let parent = element.offsetParent;\n  if (!parent) {\n    console.error(\"offsetParent is not set -- cannot scroll\");\n    return;\n  }\n  let offsetY = element.offsetTop + element.clientTop;\n  let offsetX = element.offsetLeft + element.clientLeft;\n  while (\n    (parent.clientHeight === parent.scrollHeight &&\n      parent.clientWidth === parent.scrollWidth) ||\n    (skipOverflowHiddenElements &&\n      getComputedStyle(parent).overflow === \"hidden\")\n  ) {\n    if (parent.dataset._scaleY) {\n      offsetY /= parent.dataset._scaleY;\n      offsetX /= parent.dataset._scaleX;\n    }\n    offsetY += parent.offsetTop;\n    offsetX += parent.offsetLeft;\n    parent = parent.offsetParent;\n    if (!parent) {\n      return; // no need to scroll\n    }\n  }\n  if (spot) {\n    if (spot.top !== undefined) {\n      offsetY += spot.top;\n    }\n    if (spot.left !== undefined) {\n      offsetX += spot.left;\n      parent.scrollLeft = offsetX;\n    }\n  }\n  parent.scrollTop = offsetY;\n}\n\n/**\n * Helper function to start monitoring the scroll event and converting them into\n * PDF.js friendly one: with scroll debounce and scroll direction.\n */\nfunction watchScroll(viewAreaElement, callback) {\n  const debounceScroll = function(evt) {\n    if (rAF) {\n      return;\n    }\n    // schedule an invocation of scroll for next animation frame.\n    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n      rAF = null;\n\n      const currentX = viewAreaElement.scrollLeft;\n      const lastX = state.lastX;\n      if (currentX !== lastX) {\n        state.right = currentX > lastX;\n      }\n      state.lastX = currentX;\n      const currentY = viewAreaElement.scrollTop;\n      const lastY = state.lastY;\n      if (currentY !== lastY) {\n        state.down = currentY > lastY;\n      }\n      state.lastY = currentY;\n      callback(state);\n    });\n  };\n\n  const state = {\n    right: true,\n    down: true,\n    lastX: viewAreaElement.scrollLeft,\n    lastY: viewAreaElement.scrollTop,\n    _eventHandler: debounceScroll,\n  };\n\n  let rAF = null;\n  viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n  return state;\n}\n\n/**\n * Helper function to parse query string (e.g. ?param1=value&parm2=...).\n */\nfunction parseQueryString(query) {\n  const parts = query.split(\"&\");\n  const params = Object.create(null);\n  for (let i = 0, ii = parts.length; i < ii; ++i) {\n    const param = parts[i].split(\"=\");\n    const key = param[0].toLowerCase();\n    const value = param.length > 1 ? param[1] : null;\n    params[decodeURIComponent(key)] = decodeURIComponent(value);\n  }\n  return params;\n}\n\n/**\n * Use binary search to find the index of the first item in a given array which\n * passes a given condition. The items are expected to be sorted in the sense\n * that if the condition is true for one item in the array, then it is also true\n * for all following items.\n *\n * @returns {number} Index of the first array element to pass the test,\n *                   or |items.length| if no such element exists.\n */\nfunction binarySearchFirstItem(items, condition) {\n  let minIndex = 0;\n  let maxIndex = items.length - 1;\n\n  if (items.length === 0 || !condition(items[maxIndex])) {\n    return items.length;\n  }\n  if (condition(items[minIndex])) {\n    return minIndex;\n  }\n\n  while (minIndex < maxIndex) {\n    const currentIndex = (minIndex + maxIndex) >> 1;\n    const currentItem = items[currentIndex];\n    if (condition(currentItem)) {\n      maxIndex = currentIndex;\n    } else {\n      minIndex = currentIndex + 1;\n    }\n  }\n  return minIndex; /* === maxIndex */\n}\n\n/**\n *  Approximates float number as a fraction using Farey sequence (max order\n *  of 8).\n *  @param {number} x - Positive float number.\n *  @returns {Array} Estimated fraction: the first array item is a numerator,\n *                   the second one is a denominator.\n */\nfunction approximateFraction(x) {\n  // Fast paths for int numbers or their inversions.\n  if (Math.floor(x) === x) {\n    return [x, 1];\n  }\n  const xinv = 1 / x;\n  const limit = 8;\n  if (xinv > limit) {\n    return [1, limit];\n  } else if (Math.floor(xinv) === xinv) {\n    return [1, xinv];\n  }\n\n  const x_ = x > 1 ? xinv : x;\n  // a/b and c/d are neighbours in Farey sequence.\n  let a = 0,\n    b = 1,\n    c = 1,\n    d = 1;\n  // Limiting search to order 8.\n  while (true) {\n    // Generating next term in sequence (order of q).\n    const p = a + c,\n      q = b + d;\n    if (q > limit) {\n      break;\n    }\n    if (x_ <= p / q) {\n      c = p;\n      d = q;\n    } else {\n      a = p;\n      b = q;\n    }\n  }\n  let result;\n  // Select closest of the neighbours to x.\n  if (x_ - a / b < c / d - x_) {\n    result = x_ === x ? [a, b] : [b, a];\n  } else {\n    result = x_ === x ? [c, d] : [d, c];\n  }\n  return result;\n}\n\nfunction roundToDivide(x, div) {\n  const r = x % div;\n  return r === 0 ? x : Math.round(x - r + div);\n}\n\n/**\n * Gets the size of the specified page, converted from PDF units to inches.\n * @param {Object} An Object containing the properties: {Array} `view`,\n *   {number} `userUnit`, and {number} `rotate`.\n * @returns {Object} An Object containing the properties: {number} `width`\n *   and {number} `height`, given in inches.\n */\nfunction getPageSizeInches({ view, userUnit, rotate }) {\n  const [x1, y1, x2, y2] = view;\n  // We need to take the page rotation into account as well.\n  const changeOrientation = rotate % 180 !== 0;\n\n  const width = ((x2 - x1) / 72) * userUnit;\n  const height = ((y2 - y1) / 72) * userUnit;\n\n  return {\n    width: changeOrientation ? height : width,\n    height: changeOrientation ? width : height,\n  };\n}\n\n/**\n * Helper function for getVisibleElements.\n *\n * @param {number} index - initial guess at the first visible element\n * @param {Array} views - array of pages, into which `index` is an index\n * @param {number} top - the top of the scroll pane\n * @returns {number} less than or equal to `index` that is definitely at or\n *   before the first visible element in `views`, but not by too much. (Usually,\n *   this will be the first element in the first partially visible row in\n *   `views`, although sometimes it goes back one row further.)\n */\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n  // binarySearchFirstItem's assumption is that the input is ordered, with only\n  // one index where the conditions flips from false to true: [false ...,\n  // true...]. With vertical scrolling and spreads, it is possible to have\n  // [false ..., true, false, true ...]. With wrapped scrolling we can have a\n  // similar sequence, with many more mixed true and false in the middle.\n  //\n  // So there is no guarantee that the binary search yields the index of the\n  // first visible element. It could have been any of the other visible elements\n  // that were preceded by a hidden element.\n\n  // Of course, if either this element or the previous (hidden) element is also\n  // the first element, there's nothing to worry about.\n  if (index < 2) {\n    return index;\n  }\n\n  // That aside, the possible cases are represented below.\n  //\n  //     ****  = fully hidden\n  //     A*B*  = mix of partially visible and/or hidden pages\n  //     CDEF  = fully visible\n  //\n  // (1) Binary search could have returned A, in which case we can stop.\n  // (2) Binary search could also have returned B, in which case we need to\n  // check the whole row.\n  // (3) Binary search could also have returned C, in which case we need to\n  // check the whole previous row.\n  //\n  // There's one other possibility:\n  //\n  //     ****  = fully hidden\n  //     ABCD  = mix of fully and/or partially visible pages\n  //\n  // (4) Binary search could only have returned A.\n\n  // Initially assume that we need to find the beginning of the current row\n  // (case 1, 2, or 4), which means finding a page that is above the current\n  // page's top. If the found page is partially visible, we're definitely not in\n  // case 3, and this assumption is correct.\n  let elt = views[index].div;\n  let pageTop = elt.offsetTop + elt.clientTop;\n\n  if (pageTop >= top) {\n    // The found page is fully visible, so we're actually either in case 3 or 4,\n    // and unfortunately we can't tell the difference between them without\n    // scanning the entire previous row, so we just conservatively assume that\n    // we do need to backtrack to that row. In both cases, the previous page is\n    // in the previous row, so use its top instead.\n    elt = views[index - 1].div;\n    pageTop = elt.offsetTop + elt.clientTop;\n  }\n\n  // Now we backtrack to the first page that still has its bottom below\n  // `pageTop`, which is the top of a page in the first visible row (unless\n  // we're in case 4, in which case it's the row before that).\n  // `index` is found by binary search, so the page at `index - 1` is\n  // invisible and we can start looking for potentially visible pages from\n  // `index - 2`. (However, if this loop terminates on its first iteration,\n  // which is the case when pages are stacked vertically, `index` should remain\n  // unchanged, so we use a distinct loop variable.)\n  for (let i = index - 2; i >= 0; --i) {\n    elt = views[i].div;\n    if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n      // We have reached the previous row, so stop now.\n      // This loop is expected to terminate relatively quickly because the\n      // number of pages per row is expected to be small.\n      break;\n    }\n    index = i;\n  }\n  return index;\n}\n\n/**\n * Generic helper to find out what elements are visible within a scroll pane.\n *\n * Well, pretty generic. There are some assumptions placed on the elements\n * referenced by `views`:\n *   - If `horizontal`, no left of any earlier element is to the right of the\n *     left of any later element.\n *   - Otherwise, `views` can be split into contiguous rows where, within a row,\n *     no top of any element is below the bottom of any other element, and\n *     between rows, no bottom of any element in an earlier row is below the\n *     top of any element in a later row.\n *\n * (Here, top, left, etc. all refer to the padding edge of the element in\n * question. For pages, that ends up being equivalent to the bounding box of the\n * rendering canvas. Earlier and later refer to index in `views`, not page\n * layout.)\n *\n * @param scrollEl {HTMLElement} - a container that can possibly scroll\n * @param views {Array} - objects with a `div` property that contains an\n *   HTMLElement, which should all be descendents of `scrollEl` satisfying the\n *   above layout assumptions\n * @param sortByVisibility {boolean} - if true, the returned elements are sorted\n *   in descending order of the percent of their padding box that is visible\n * @param horizontal {boolean} - if true, the elements are assumed to be laid\n *   out horizontally instead of vertically\n * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }`\n */\nfunction getVisibleElements(\n  scrollEl,\n  views,\n  sortByVisibility = false,\n  horizontal = false\n) {\n  const top = scrollEl.scrollTop,\n    bottom = top + scrollEl.clientHeight;\n  const left = scrollEl.scrollLeft,\n    right = left + scrollEl.clientWidth;\n\n  // Throughout this \"generic\" function, comments will assume we're working with\n  // PDF document pages, which is the most important and complex case. In this\n  // case, the visible elements we're actually interested is the page canvas,\n  // which is contained in a wrapper which adds no padding/border/margin, which\n  // is itself contained in `view.div` which adds no padding (but does add a\n  // border). So, as specified in this function's doc comment, this function\n  // does all of its work on the padding edge of the provided views, starting at\n  // offsetLeft/Top (which includes margin) and adding clientLeft/Top (which is\n  // the border). Adding clientWidth/Height gets us the bottom-right corner of\n  // the padding edge.\n  function isElementBottomAfterViewTop(view) {\n    const element = view.div;\n    const elementBottom =\n      element.offsetTop + element.clientTop + element.clientHeight;\n    return elementBottom > top;\n  }\n  function isElementRightAfterViewLeft(view) {\n    const element = view.div;\n    const elementRight =\n      element.offsetLeft + element.clientLeft + element.clientWidth;\n    return elementRight > left;\n  }\n\n  const visible = [],\n    numViews = views.length;\n  let firstVisibleElementInd =\n    numViews === 0\n      ? 0\n      : binarySearchFirstItem(\n          views,\n          horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop\n        );\n\n  // Please note the return value of the `binarySearchFirstItem` function when\n  // no valid element is found (hence the `firstVisibleElementInd` check below).\n  if (\n    firstVisibleElementInd > 0 &&\n    firstVisibleElementInd < numViews &&\n    !horizontal\n  ) {\n    // In wrapped scrolling (or vertical scrolling with spreads), with some page\n    // sizes, isElementBottomAfterViewTop doesn't satisfy the binary search\n    // condition: there can be pages with bottoms above the view top between\n    // pages with bottoms below. This function detects and corrects that error;\n    // see it for more comments.\n    firstVisibleElementInd = backtrackBeforeAllVisibleElements(\n      firstVisibleElementInd,\n      views,\n      top\n    );\n  }\n\n  // lastEdge acts as a cutoff for us to stop looping, because we know all\n  // subsequent pages will be hidden.\n  //\n  // When using wrapped scrolling or vertical scrolling with spreads, we can't\n  // simply stop the first time we reach a page below the bottom of the view;\n  // the tops of subsequent pages on the same row could still be visible. In\n  // horizontal scrolling, we don't have that issue, so we can stop as soon as\n  // we pass `right`, without needing the code below that handles the -1 case.\n  let lastEdge = horizontal ? right : -1;\n\n  for (let i = firstVisibleElementInd; i < numViews; i++) {\n    const view = views[i],\n      element = view.div;\n    const currentWidth = element.offsetLeft + element.clientLeft;\n    const currentHeight = element.offsetTop + element.clientTop;\n    const viewWidth = element.clientWidth,\n      viewHeight = element.clientHeight;\n    const viewRight = currentWidth + viewWidth;\n    const viewBottom = currentHeight + viewHeight;\n\n    if (lastEdge === -1) {\n      // As commented above, this is only needed in non-horizontal cases.\n      // Setting lastEdge to the bottom of the first page that is partially\n      // visible ensures that the next page fully below lastEdge is on the\n      // next row, which has to be fully hidden along with all subsequent rows.\n      if (viewBottom >= bottom) {\n        lastEdge = viewBottom;\n      }\n    } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n      break;\n    }\n\n    if (\n      viewBottom <= top ||\n      currentHeight >= bottom ||\n      viewRight <= left ||\n      currentWidth >= right\n    ) {\n      continue;\n    }\n\n    const hiddenHeight =\n      Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n    const hiddenWidth =\n      Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n    const percent =\n      (((viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100) /\n        viewHeight /\n        viewWidth) |\n      0;\n    visible.push({\n      id: view.id,\n      x: currentWidth,\n      y: currentHeight,\n      view,\n      percent,\n    });\n  }\n\n  const first = visible[0],\n    last = visible[visible.length - 1];\n\n  if (sortByVisibility) {\n    visible.sort(function(a, b) {\n      const pc = a.percent - b.percent;\n      if (Math.abs(pc) > 0.001) {\n        return -pc;\n      }\n      return a.id - b.id; // ensure stability\n    });\n  }\n  return { first, last, views: visible };\n}\n\n/**\n * Event handler to suppress context menu.\n */\nfunction noContextMenuHandler(evt) {\n  evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n  let i = 0;\n  const ii = url.length;\n  while (i < ii && url[i].trim() === \"\") {\n    i++;\n  }\n  return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\n/**\n * Returns the filename or guessed filename from the url (see issue 3455).\n * @param {string} url - The original PDF location.\n * @param {string} defaultFilename - The value returned if the filename is\n *   unknown, or the protocol is unsupported.\n * @returns {string} Guessed PDF filename.\n */\nfunction getPDFFileNameFromURL(url, defaultFilename = \"document.pdf\") {\n  if (typeof url !== \"string\") {\n    return defaultFilename;\n  }\n  if (isDataSchema(url)) {\n    console.warn(\n      \"getPDFFileNameFromURL: \" +\n        'ignoring \"data:\" URL for performance reasons.'\n    );\n    return defaultFilename;\n  }\n  const reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n  //            SCHEME        HOST         1.PATH  2.QUERY   3.REF\n  // Pattern to get last matching NAME.pdf\n  const reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n  const splitURI = reURI.exec(url);\n  let suggestedFilename =\n    reFilename.exec(splitURI[1]) ||\n    reFilename.exec(splitURI[2]) ||\n    reFilename.exec(splitURI[3]);\n  if (suggestedFilename) {\n    suggestedFilename = suggestedFilename[0];\n    if (suggestedFilename.includes(\"%\")) {\n      // URL-encoded %2Fpath%2Fto%2Ffile.pdf should be file.pdf\n      try {\n        suggestedFilename = reFilename.exec(\n          decodeURIComponent(suggestedFilename)\n        )[0];\n      } catch (ex) {\n        // Possible (extremely rare) errors:\n        // URIError \"Malformed URI\", e.g. for \"%AA.pdf\"\n        // TypeError \"null has no properties\", e.g. for \"%2F.pdf\"\n      }\n    }\n  }\n  return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n  let delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n  const angle = Math.atan2(evt.deltaY, evt.deltaX);\n  if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n    // All that is left-up oriented has to change the sign.\n    delta = -delta;\n  }\n\n  const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n  const MOUSE_DOM_DELTA_LINE_MODE = 1;\n  const MOUSE_PIXELS_PER_LINE = 30;\n  const MOUSE_LINES_PER_PAGE = 30;\n\n  // Converts delta to per-page units\n  if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n    delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n  } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n    delta /= MOUSE_LINES_PER_PAGE;\n  }\n  return delta;\n}\n\nfunction isValidRotation(angle) {\n  return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n  return (\n    Number.isInteger(mode) &&\n    Object.values(ScrollMode).includes(mode) &&\n    mode !== ScrollMode.UNKNOWN\n  );\n}\n\nfunction isValidSpreadMode(mode) {\n  return (\n    Number.isInteger(mode) &&\n    Object.values(SpreadMode).includes(mode) &&\n    mode !== SpreadMode.UNKNOWN\n  );\n}\n\nfunction isPortraitOrientation(size) {\n  return size.width <= size.height;\n}\n\nconst WaitOnType = {\n  EVENT: \"event\",\n  TIMEOUT: \"timeout\",\n};\n\n/**\n * @typedef {Object} WaitOnEventOrTimeoutParameters\n * @property {Object} target - The event target, can for example be:\n *   `window`, `document`, a DOM element, or an {EventBus} instance.\n * @property {string} name - The name of the event.\n * @property {number} delay - The delay, in milliseconds, after which the\n *   timeout occurs (if the event wasn't already dispatched).\n */\n\n/**\n * Allows waiting for an event or a timeout, whichever occurs first.\n * Can be used to ensure that an action always occurs, even when an event\n * arrives late or not at all.\n *\n * @param {WaitOnEventOrTimeoutParameters}\n * @returns {Promise} A promise that is resolved with a {WaitOnType} value.\n */\nfunction waitOnEventOrTimeout({ target, name, delay = 0 }) {\n  return new Promise(function(resolve, reject) {\n    if (\n      typeof target !== \"object\" ||\n      !(name && typeof name === \"string\") ||\n      !(Number.isInteger(delay) && delay >= 0)\n    ) {\n      throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n    }\n\n    function handler(type) {\n      if (target instanceof EventBus) {\n        target._off(name, eventHandler);\n      } else {\n        target.removeEventListener(name, eventHandler);\n      }\n\n      if (timeout) {\n        clearTimeout(timeout);\n      }\n      resolve(type);\n    }\n\n    const eventHandler = handler.bind(null, WaitOnType.EVENT);\n    if (target instanceof EventBus) {\n      target._on(name, eventHandler);\n    } else {\n      target.addEventListener(name, eventHandler);\n    }\n\n    const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n    const timeout = setTimeout(timeoutHandler, delay);\n  });\n}\n\n/**\n * Promise that is resolved when DOM window becomes visible.\n */\nconst animationStarted = new Promise(function(resolve) {\n  if (\n    typeof PDFJSDev !== \"undefined\" &&\n    PDFJSDev.test(\"LIB && TESTING\") &&\n    typeof window === \"undefined\"\n  ) {\n    // Prevent \"ReferenceError: window is not defined\" errors when running the\n    // unit-tests in Node.js/Travis.\n    setTimeout(resolve, 20);\n    return;\n  }\n  window.requestAnimationFrame(resolve);\n});\n\n/**\n * NOTE: Only used to support various PDF viewer tests in `mozilla-central`.\n */\nfunction dispatchDOMEvent(eventName, args = null) {\n  const details = Object.create(null);\n  if (args && args.length > 0) {\n    const obj = args[0];\n    for (const key in obj) {\n      const value = obj[key];\n      if (key === \"source\") {\n        if (value === window || value === document) {\n          return; // No need to re-dispatch (already) global events.\n        }\n        continue; // Ignore the `source` property.\n      }\n      details[key] = value;\n    }\n  }\n  const event = document.createEvent(\"CustomEvent\");\n  event.initCustomEvent(eventName, true, true, details);\n  document.dispatchEvent(event);\n}\n\n/**\n * Simple event bus for an application. Listeners are attached using the `on`\n * and `off` methods. To raise an event, the `dispatch` method shall be used.\n */\nclass EventBus {\n  constructor({ dispatchToDOM = false } = {}) {\n    this._listeners = Object.create(null);\n    this._dispatchToDOM = dispatchToDOM === true;\n\n    if (\n      typeof PDFJSDev !== \"undefined\" &&\n      !PDFJSDev.test(\"MOZCENTRAL || TESTING\") &&\n      dispatchToDOM\n    ) {\n      console.error(\n        \"The `eventBusDispatchToDOM` option/preference is deprecated, \" +\n          \"add event listeners to the EventBus instance rather than the DOM.\"\n      );\n    }\n  }\n\n  /**\n   * @param {string} eventName\n   * @param {function} listener\n   */\n  on(eventName, listener) {\n    this._on(eventName, listener, { external: true });\n  }\n\n  /**\n   * @param {string} eventName\n   * @param {function} listener\n   */\n  off(eventName, listener) {\n    this._off(eventName, listener, { external: true });\n  }\n\n  dispatch(eventName) {\n    const eventListeners = this._listeners[eventName];\n    if (!eventListeners || eventListeners.length === 0) {\n      if (this._dispatchToDOM) {\n        const args = Array.prototype.slice.call(arguments, 1);\n        dispatchDOMEvent(eventName, args);\n      }\n      return;\n    }\n    // Passing all arguments after the eventName to the listeners.\n    const args = Array.prototype.slice.call(arguments, 1);\n    let externalListeners;\n    // Making copy of the listeners array in case if it will be modified\n    // during dispatch.\n    eventListeners.slice(0).forEach(function({ listener, external }) {\n      if (external) {\n        if (!externalListeners) {\n          externalListeners = [];\n        }\n        externalListeners.push(listener);\n        return;\n      }\n      listener.apply(null, args);\n    });\n    // Dispatch any \"external\" listeners *after* the internal ones, to give the\n    // viewer components time to handle events and update their state first.\n    if (externalListeners) {\n      externalListeners.forEach(function(listener) {\n        listener.apply(null, args);\n      });\n      externalListeners = null;\n    }\n    if (this._dispatchToDOM) {\n      dispatchDOMEvent(eventName, args);\n    }\n  }\n\n  /**\n   * @ignore\n   */\n  _on(eventName, listener, options = null) {\n    let eventListeners = this._listeners[eventName];\n    if (!eventListeners) {\n      this._listeners[eventName] = eventListeners = [];\n    }\n    eventListeners.push({\n      listener,\n      external: (options && options.external) === true,\n    });\n  }\n\n  /**\n   * @ignore\n   */\n  _off(eventName, listener, options = null) {\n    const eventListeners = this._listeners[eventName];\n    if (!eventListeners) {\n      return;\n    }\n    for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n      if (eventListeners[i].listener === listener) {\n        eventListeners.splice(i, 1);\n        return;\n      }\n    }\n  }\n}\n\nlet globalEventBus = null;\nfunction getGlobalEventBus(dispatchToDOM = false) {\n  console.error(\n    \"getGlobalEventBus is deprecated, use a manually created EventBus instance instead.\"\n  );\n  if (!globalEventBus) {\n    globalEventBus = new EventBus({ dispatchToDOM });\n  }\n  return globalEventBus;\n}\n\nfunction clamp(v, min, max) {\n  return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n  constructor(id, { height, width, units } = {}) {\n    this.visible = true;\n\n    // Fetch the sub-elements for later.\n    this.div = document.querySelector(id + \" .progress\");\n    // Get the loading bar element, so it can be resized to fit the viewer.\n    this.bar = this.div.parentNode;\n\n    // Get options, with sensible defaults.\n    this.height = height || 100;\n    this.width = width || 100;\n    this.units = units || \"%\";\n\n    // Initialize heights.\n    this.div.style.height = this.height + this.units;\n    this.percent = 0;\n  }\n\n  _updateBar() {\n    if (this._indeterminate) {\n      this.div.classList.add(\"indeterminate\");\n      this.div.style.width = this.width + this.units;\n      return;\n    }\n\n    this.div.classList.remove(\"indeterminate\");\n    const progressSize = (this.width * this._percent) / 100;\n    this.div.style.width = progressSize + this.units;\n  }\n\n  get percent() {\n    return this._percent;\n  }\n\n  set percent(val) {\n    this._indeterminate = isNaN(val);\n    this._percent = clamp(val, 0, 100);\n    this._updateBar();\n  }\n\n  setWidth(viewer) {\n    if (!viewer) {\n      return;\n    }\n    const container = viewer.parentNode;\n    const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n    if (scrollbarWidth > 0) {\n      this.bar.style.width = `calc(100% - ${scrollbarWidth}px)`;\n    }\n  }\n\n  hide() {\n    if (!this.visible) {\n      return;\n    }\n    this.visible = false;\n    this.bar.classList.add(\"hidden\");\n    document.body.classList.remove(\"loadingInProgress\");\n  }\n\n  show() {\n    if (this.visible) {\n      return;\n    }\n    this.visible = true;\n    document.body.classList.add(\"loadingInProgress\");\n    this.bar.classList.remove(\"hidden\");\n  }\n}\n\n/**\n * Moves all elements of an array that satisfy condition to the end of the\n * array, preserving the order of the rest.\n */\nfunction moveToEndOfArray(arr, condition) {\n  const moved = [],\n    len = arr.length;\n  let write = 0;\n  for (let read = 0; read < len; ++read) {\n    if (condition(arr[read])) {\n      moved.push(arr[read]);\n    } else {\n      arr[write] = arr[read];\n      ++write;\n    }\n  }\n  for (let read = 0; write < len; ++read, ++write) {\n    arr[write] = moved[read];\n  }\n}\n\nexport {\n  AutoPrintRegExp,\n  CSS_UNITS,\n  DEFAULT_SCALE_VALUE,\n  DEFAULT_SCALE,\n  MIN_SCALE,\n  MAX_SCALE,\n  UNKNOWN_SCALE,\n  MAX_AUTO_SCALE,\n  SCROLLBAR_PADDING,\n  VERTICAL_PADDING,\n  isValidRotation,\n  isValidScrollMode,\n  isValidSpreadMode,\n  isPortraitOrientation,\n  PresentationModeState,\n  RendererType,\n  TextLayerMode,\n  ScrollMode,\n  SpreadMode,\n  NullL10n,\n  EventBus,\n  getGlobalEventBus,\n  clamp,\n  ProgressBar,\n  getPDFFileNameFromURL,\n  noContextMenuHandler,\n  parseQueryString,\n  backtrackBeforeAllVisibleElements, // only exported for testing\n  getVisibleElements,\n  roundToDivide,\n  getPageSizeInches,\n  approximateFraction,\n  getOutputScale,\n  scrollIntoView,\n  watchScroll,\n  binarySearchFirstItem,\n  normalizeWheelEventDelta,\n  animationStarted,\n  WaitOnType,\n  waitOnEventOrTimeout,\n  moveToEndOfArray,\n};\n","/* Copyright 2018 Mozilla Foundation\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\nimport { apiCompatibilityParams } from \"pdfjs-lib\";\nimport { viewerCompatibilityParams } from \"./viewer_compatibility.js\";\n\nconst OptionKind = {\n  VIEWER: 0x02,\n  API: 0x04,\n  WORKER: 0x08,\n  PREFERENCE: 0x80,\n};\n\n/**\n * PLEASE NOTE: To avoid introducing unnecessary dependencies, we specify the\n *              values below *explicitly* rather than relying on imported types.\n */\nconst defaultOptions = {\n  cursorToolOnLoad: {\n    /** @type {number} */\n    value: 0,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  defaultUrl: {\n    /** @type {string} */\n    value: \"compressed.tracemonkey-pldi-09.pdf\",\n    kind: OptionKind.VIEWER,\n  },\n  defaultZoomValue: {\n    /** @type {string} */\n    value: \"\",\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  disableHistory: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER,\n  },\n  disablePageLabels: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  /**\n   * The `disablePreferences` is, conditionally, defined below.\n   */\n  enablePrintAutoRotate: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  enableWebGL: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  eventBusDispatchToDOM: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  externalLinkRel: {\n    /** @type {string} */\n    value: \"noopener noreferrer nofollow\",\n    kind: OptionKind.VIEWER,\n  },\n  externalLinkTarget: {\n    /** @type {number} */\n    value: 0,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  historyUpdateUrl: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  ignoreDestinationZoom: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  imageResourcesPath: {\n    /** @type {string} */\n    value: \"./images/\",\n    kind: OptionKind.VIEWER,\n  },\n  /**\n   * The `locale` is, conditionally, defined below.\n   */\n  maxCanvasPixels: {\n    /** @type {number} */\n    value: 16777216,\n    compatibility: viewerCompatibilityParams.maxCanvasPixels,\n    kind: OptionKind.VIEWER,\n  },\n  pdfBugEnabled: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  /**\n   * The `printResolution` is, conditionally, defined below.\n   */\n  renderer: {\n    /** @type {string} */\n    value: \"canvas\",\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  renderInteractiveForms: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  sidebarViewOnLoad: {\n    /** @type {number} */\n    value: -1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  scrollModeOnLoad: {\n    /** @type {number} */\n    value: -1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  spreadModeOnLoad: {\n    /** @type {number} */\n    value: -1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  textLayerMode: {\n    /** @type {number} */\n    value: 1,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  useOnlyCssZoom: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n  viewOnLoad: {\n    /** @type {boolean} */\n    value: 0,\n    kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n  },\n\n  cMapPacked: {\n    /** @type {boolean} */\n    value: true,\n    kind: OptionKind.API,\n  },\n  cMapUrl: {\n    /** @type {string} */\n    value:\n      (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n        ? \"../external/bcmaps/\"\n        : \"../web/cmaps/\"),\n    kind: OptionKind.API,\n  },\n  disableAutoFetch: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE,\n  },\n  disableCreateObjectURL: {\n    /** @type {boolean} */\n    value: false,\n    compatibility: apiCompatibilityParams.disableCreateObjectURL,\n    kind: OptionKind.API,\n  },\n  disableFontFace: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE,\n  },\n  disableRange: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE,\n  },\n  disableStream: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.API + OptionKind.PREFERENCE,\n  },\n  docBaseUrl: {\n    /** @type {string} */\n    value: \"\",\n    kind: OptionKind.API,\n  },\n  isEvalSupported: {\n    /** @type {boolean} */\n    value: true,\n    kind: OptionKind.API,\n  },\n  maxImageSize: {\n    /** @type {number} */\n    value: -1,\n    kind: OptionKind.API,\n  },\n  pdfBug: {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.API,\n  },\n  verbosity: {\n    /** @type {number} */\n    value: 1,\n    kind: OptionKind.API,\n  },\n\n  workerPort: {\n    /** @type {Object} */\n    value: null,\n    kind: OptionKind.WORKER,\n  },\n  workerSrc: {\n    /** @type {string} */\n    value:\n      (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n        ? \"../src/worker_loader.js\"\n        : \"../build/pdf.worker.js\"),\n    kind: OptionKind.WORKER,\n  },\n};\nif (\n  typeof PDFJSDev === \"undefined\" ||\n  PDFJSDev.test(\"!PRODUCTION || (GENERIC && !LIB)\")\n) {\n  defaultOptions.disablePreferences = {\n    /** @type {boolean} */\n    value: false,\n    kind: OptionKind.VIEWER,\n  };\n  defaultOptions.locale = {\n    /** @type {string} */\n    value: (typeof navigator !== \"undefined\" ? navigator.language : \"en-US\"),\n    kind: OptionKind.VIEWER,\n  };\n  defaultOptions.printResolution = {\n    /** @type {number} */\n    value: 150,\n    kind: OptionKind.VIEWER,\n  };\n}\n\nconst userOptions = Object.create(null);\n\nclass AppOptions {\n  constructor() {\n    throw new Error(\"Cannot initialize AppOptions.\");\n  }\n\n  static get(name) {\n    const userOption = userOptions[name];\n    if (userOption !== undefined) {\n      return userOption;\n    }\n    const defaultOption = defaultOptions[name];\n    if (defaultOption !== undefined) {\n      return defaultOption.compatibility || defaultOption.value;\n    }\n    return undefined;\n  }\n\n  static getAll(kind = null) {\n    const options = Object.create(null);\n    for (const name in defaultOptions) {\n      const defaultOption = defaultOptions[name];\n      if (kind) {\n        if ((kind & defaultOption.kind) === 0) {\n          continue;\n        }\n        if (kind === OptionKind.PREFERENCE) {\n          const value = defaultOption.value,\n            valueType = typeof value;\n\n          if (\n            valueType === \"boolean\" ||\n            valueType === \"string\" ||\n            (valueType === \"number\" && Number.isInteger(value))\n          ) {\n            options[name] = value;\n            continue;\n          }\n          throw new Error(`Invalid type for preference: ${name}`);\n        }\n      }\n      const userOption = userOptions[name];\n      options[name] =\n        userOption !== undefined\n          ? userOption\n          : defaultOption.compatibility || defaultOption.value;\n    }\n    return options;\n  }\n\n  static set(name, value) {\n    userOptions[name] = value;\n  }\n\n  static remove(name) {\n    delete userOptions[name];\n  }\n}\n\nexport { AppOptions, OptionKind };\n","/* Copyright 2016 Mozilla Foundation\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/* globals module, __non_webpack_require__ */\n\n\"use strict\";\n\nlet pdfjsLib;\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n  pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n  pdfjsLib = __non_webpack_require__(\"../build/pdf.js\");\n}\nmodule.exports = pdfjsLib;\n","/* Copyright 2018 Mozilla Foundation\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\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n  const userAgent =\n    (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n  const platform =\n    (typeof navigator !== \"undefined\" && navigator.platform) || \"\";\n  const maxTouchPoints =\n    (typeof navigator !== \"undefined\" && navigator.maxTouchPoints) || 1;\n\n  const isAndroid = /Android/.test(userAgent);\n  const isIOS =\n    /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) ||\n    (platform === \"MacIntel\" && maxTouchPoints > 1);\n\n  // Limit canvas size to 5 mega-pixels on mobile.\n  // Support: Android, iOS\n  (function checkCanvasSizeLimitation() {\n    if (isIOS || isAndroid) {\n      compatibilityParams.maxCanvasPixels = 5242880;\n    }\n  })();\n}\n\nexports.viewerCompatibilityParams = Object.freeze(compatibilityParams);\n","/* Copyright 2017 Mozilla Foundation\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\nimport { GrabToPan } from \"./grab_to_pan.js\";\n\nconst CursorTool = {\n  SELECT: 0, // The default value.\n  HAND: 1,\n  ZOOM: 2,\n};\n\n/**\n * @typedef {Object} PDFCursorToolsOptions\n * @property {HTMLDivElement} container - The document container.\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [cursorToolOnLoad] - The cursor tool that will be enabled\n *   on load; the constants from {CursorTool} should be used. The default value\n *   is `CursorTool.SELECT`.\n */\n\nclass PDFCursorTools {\n  /**\n   * @param {PDFCursorToolsOptions} options\n   */\n  constructor({ container, eventBus, cursorToolOnLoad = CursorTool.SELECT }) {\n    this.container = container;\n    this.eventBus = eventBus;\n\n    this.active = CursorTool.SELECT;\n    this.activeBeforePresentationMode = null;\n\n    this.handTool = new GrabToPan({\n      element: this.container,\n    });\n\n    this._addEventListeners();\n\n    // Defer the initial `switchTool` call, to give other viewer components\n    // time to initialize *and* register 'cursortoolchanged' event listeners.\n    Promise.resolve().then(() => {\n      this.switchTool(cursorToolOnLoad);\n    });\n  }\n\n  /**\n   * @type {number} One of the values in {CursorTool}.\n   */\n  get activeTool() {\n    return this.active;\n  }\n\n  /**\n   * NOTE: This method is ignored while Presentation Mode is active.\n   * @param {number} tool - The cursor mode that should be switched to,\n   *                        must be one of the values in {CursorTool}.\n   */\n  switchTool(tool) {\n    if (this.activeBeforePresentationMode !== null) {\n      return; // Cursor tools cannot be used in Presentation Mode.\n    }\n    if (tool === this.active) {\n      return; // The requested tool is already active.\n    }\n\n    const disableActiveTool = () => {\n      switch (this.active) {\n        case CursorTool.SELECT:\n          break;\n        case CursorTool.HAND:\n          this.handTool.deactivate();\n          break;\n        case CursorTool.ZOOM:\n        /* falls through */\n      }\n    };\n\n    // Enable the new cursor tool.\n    switch (tool) {\n      case CursorTool.SELECT:\n        disableActiveTool();\n        break;\n      case CursorTool.HAND:\n        disableActiveTool();\n        this.handTool.activate();\n        break;\n      case CursorTool.ZOOM:\n      /* falls through */\n      default:\n        console.error(`switchTool: \"${tool}\" is an unsupported value.`);\n        return;\n    }\n    // Update the active tool *after* it has been validated above,\n    // in order to prevent setting it to an invalid state.\n    this.active = tool;\n\n    this._dispatchEvent();\n  }\n\n  /**\n   * @private\n   */\n  _dispatchEvent() {\n    this.eventBus.dispatch(\"cursortoolchanged\", {\n      source: this,\n      tool: this.active,\n    });\n  }\n\n  /**\n   * @private\n   */\n  _addEventListeners() {\n    this.eventBus._on(\"switchcursortool\", evt => {\n      this.switchTool(evt.tool);\n    });\n\n    this.eventBus._on(\"presentationmodechanged\", evt => {\n      if (evt.switchInProgress) {\n        return;\n      }\n      let previouslyActive;\n\n      if (evt.active) {\n        previouslyActive = this.active;\n\n        this.switchTool(CursorTool.SELECT);\n        this.activeBeforePresentationMode = previouslyActive;\n      } else {\n        previouslyActive = this.activeBeforePresentationMode;\n\n        this.activeBeforePresentationMode = null;\n        this.switchTool(previouslyActive);\n      }\n    });\n  }\n}\n\nexport { CursorTool, PDFCursorTools };\n","/* Copyright 2013 Rob Wu <rob@robwu.nl>\n * https://github.com/Rob--W/grab-to-pan.js\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\n/**\n * Construct a GrabToPan instance for a given HTML element.\n * @param options.element {Element}\n * @param options.ignoreTarget {function} optional. See `ignoreTarget(node)`\n * @param options.onActiveChanged {function(boolean)} optional. Called\n *  when grab-to-pan is (de)activated. The first argument is a boolean that\n *  shows whether grab-to-pan is activated.\n */\nfunction GrabToPan(options) {\n  this.element = options.element;\n  this.document = options.element.ownerDocument;\n  if (typeof options.ignoreTarget === \"function\") {\n    this.ignoreTarget = options.ignoreTarget;\n  }\n  this.onActiveChanged = options.onActiveChanged;\n\n  // Bind the contexts to ensure that `this` always points to\n  // the GrabToPan instance.\n  this.activate = this.activate.bind(this);\n  this.deactivate = this.deactivate.bind(this);\n  this.toggle = this.toggle.bind(this);\n  this._onmousedown = this._onmousedown.bind(this);\n  this._onmousemove = this._onmousemove.bind(this);\n  this._endPan = this._endPan.bind(this);\n\n  // This overlay will be inserted in the document when the mouse moves during\n  // a grab operation, to ensure that the cursor has the desired appearance.\n  const overlay = (this.overlay = document.createElement(\"div\"));\n  overlay.className = \"grab-to-pan-grabbing\";\n}\nGrabToPan.prototype = {\n  /**\n   * Class name of element which can be grabbed\n   */\n  CSS_CLASS_GRAB: \"grab-to-pan-grab\",\n\n  /**\n   * Bind a mousedown event to the element to enable grab-detection.\n   */\n  activate: function GrabToPan_activate() {\n    if (!this.active) {\n      this.active = true;\n      this.element.addEventListener(\"mousedown\", this._onmousedown, true);\n      this.element.classList.add(this.CSS_CLASS_GRAB);\n      if (this.onActiveChanged) {\n        this.onActiveChanged(true);\n      }\n    }\n  },\n\n  /**\n   * Removes all events. Any pending pan session is immediately stopped.\n   */\n  deactivate: function GrabToPan_deactivate() {\n    if (this.active) {\n      this.active = false;\n      this.element.removeEventListener(\"mousedown\", this._onmousedown, true);\n      this._endPan();\n      this.element.classList.remove(this.CSS_CLASS_GRAB);\n      if (this.onActiveChanged) {\n        this.onActiveChanged(false);\n      }\n    }\n  },\n\n  toggle: function GrabToPan_toggle() {\n    if (this.active) {\n      this.deactivate();\n    } else {\n      this.activate();\n    }\n  },\n\n  /**\n   * Whether to not pan if the target element is clicked.\n   * Override this method to change the default behaviour.\n   *\n   * @param node {Element} The target of the event\n   * @returns {boolean} Whether to not react to the click event.\n   */\n  ignoreTarget: function GrabToPan_ignoreTarget(node) {\n    // Use matchesSelector to check whether the clicked element\n    // is (a child of) an input element / link\n    return node[matchesSelector](\n      \"a[href], a[href] *, input, textarea, button, button *, select, option\"\n    );\n  },\n\n  /**\n   * @private\n   */\n  _onmousedown: function GrabToPan__onmousedown(event) {\n    if (event.button !== 0 || this.ignoreTarget(event.target)) {\n      return;\n    }\n    if (event.originalTarget) {\n      try {\n        // eslint-disable-next-line no-unused-expressions\n        event.originalTarget.tagName;\n      } catch (e) {\n        // Mozilla-specific: element is a scrollbar (XUL element)\n        return;\n      }\n    }\n\n    this.scrollLeftStart = this.element.scrollLeft;\n    this.scrollTopStart = this.element.scrollTop;\n    this.clientXStart = event.clientX;\n    this.clientYStart = event.clientY;\n    this.document.addEventListener(\"mousemove\", this._onmousemove, true);\n    this.document.addEventListener(\"mouseup\", this._endPan, true);\n    // When a scroll event occurs before a mousemove, assume that the user\n    // dragged a scrollbar (necessary for Opera Presto, Safari and IE)\n    // (not needed for Chrome/Firefox)\n    this.element.addEventListener(\"scroll\", this._endPan, true);\n    event.preventDefault();\n    event.stopPropagation();\n\n    const focusedElement = document.activeElement;\n    if (focusedElement && !focusedElement.contains(event.target)) {\n      focusedElement.blur();\n    }\n  },\n\n  /**\n   * @private\n   */\n  _onmousemove: function GrabToPan__onmousemove(event) {\n    this.element.removeEventListener(\"scroll\", this._endPan, true);\n    if (isLeftMouseReleased(event)) {\n      this._endPan();\n      return;\n    }\n    const xDiff = event.clientX - this.clientXStart;\n    const yDiff = event.clientY - this.clientYStart;\n    const scrollTop = this.scrollTopStart - yDiff;\n    const scrollLeft = this.scrollLeftStart - xDiff;\n    if (this.element.scrollTo) {\n      this.element.scrollTo({\n        top: scrollTop,\n        left: scrollLeft,\n        behavior: \"instant\",\n      });\n    } else {\n      this.element.scrollTop = scrollTop;\n      this.element.scrollLeft = scrollLeft;\n    }\n    if (!this.overlay.parentNode) {\n      document.body.appendChild(this.overlay);\n    }\n  },\n\n  /**\n   * @private\n   */\n  _endPan: function GrabToPan__endPan() {\n    this.element.removeEventListener(\"scroll\", this._endPan, true);\n    this.document.removeEventListener(\"mousemove\", this._onmousemove, true);\n    this.document.removeEventListener(\"mouseup\", this._endPan, true);\n    // Note: ChildNode.remove doesn't throw if the parentNode is undefined.\n    this.overlay.remove();\n  },\n};\n\n// Get the correct (vendor-prefixed) name of the matches method.\nlet matchesSelector;\n[\"webkitM\", \"mozM\", \"msM\", \"oM\", \"m\"].some(function(prefix) {\n  let name = prefix + \"atches\";\n  if (name in document.documentElement) {\n    matchesSelector = name;\n  }\n  name += \"Selector\";\n  if (name in document.documentElement) {\n    matchesSelector = name;\n  }\n  return matchesSelector; // If found, then truthy, and [].some() ends.\n});\n\n// Browser sniffing because it's impossible to feature-detect\n// whether event.which for onmousemove is reliable\nconst isNotIEorIsIE10plus = !document.documentMode || document.documentMode > 9;\nconst chrome = window.chrome;\nconst isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app);\n//                                         ^ Chrome 15+       ^ Opera 15+\nconst isSafari6plus =\n  /Apple/.test(navigator.vendor) &&\n  /Version\\/([6-9]\\d*|[1-5]\\d+)/.test(navigator.userAgent);\n\n/**\n * Whether the left mouse is not pressed.\n * @param event {MouseEvent}\n * @returns {boolean} True if the left mouse button is not pressed,\n *                    False if unsure or if the left mouse button is pressed.\n */\nfunction isLeftMouseReleased(event) {\n  if (\"buttons\" in event && isNotIEorIsIE10plus) {\n    // http://www.w3.org/TR/DOM-Level-3-Events/#events-MouseEvent-buttons\n    // Firefox 15+\n    // Internet Explorer 10+\n    return !(event.buttons & 1);\n  }\n  if (isChrome15OrOpera15plus || isSafari6plus) {\n    // Chrome 14+\n    // Opera 15+\n    // Safari 6.0+\n    return event.which === 0;\n  }\n  return false;\n}\n\nexport { GrabToPan };\n","/* Copyright 2012 Mozilla Foundation\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\nconst CLEANUP_TIMEOUT = 30000;\n\nconst RenderingStates = {\n  INITIAL: 0,\n  RUNNING: 1,\n  PAUSED: 2,\n  FINISHED: 3,\n};\n\n/**\n * Controls rendering of the views for pages and thumbnails.\n */\nclass PDFRenderingQueue {\n  constructor() {\n    this.pdfViewer = null;\n    this.pdfThumbnailViewer = null;\n    this.onIdle = null;\n    this.highestPriorityPage = null;\n    this.idleTimeout = null;\n    this.printing = false;\n    this.isThumbnailViewEnabled = false;\n  }\n\n  /**\n   * @param {PDFViewer} pdfViewer\n   */\n  setViewer(pdfViewer) {\n    this.pdfViewer = pdfViewer;\n  }\n\n  /**\n   * @param {PDFThumbnailViewer} pdfThumbnailViewer\n   */\n  setThumbnailViewer(pdfThumbnailViewer) {\n    this.pdfThumbnailViewer = pdfThumbnailViewer;\n  }\n\n  /**\n   * @param {IRenderableView} view\n   * @returns {boolean}\n   */\n  isHighestPriority(view) {\n    return this.highestPriorityPage === view.renderingId;\n  }\n\n  /**\n   * @param {Object} currentlyVisiblePages\n   */\n  renderHighestPriority(currentlyVisiblePages) {\n    if (this.idleTimeout) {\n      clearTimeout(this.idleTimeout);\n      this.idleTimeout = null;\n    }\n\n    // Pages have a higher priority than thumbnails, so check them first.\n    if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n      return;\n    }\n    // No pages needed rendering, so check thumbnails.\n    if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n      if (this.pdfThumbnailViewer.forceRendering()) {\n        return;\n      }\n    }\n\n    if (this.printing) {\n      // If printing is currently ongoing do not reschedule cleanup.\n      return;\n    }\n\n    if (this.onIdle) {\n      this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n    }\n  }\n\n  /**\n   * @param {Object} visible\n   * @param {Array} views\n   * @param {boolean} scrolledDown\n   */\n  getHighestPriority(visible, views, scrolledDown) {\n    /**\n     * The state has changed. Figure out which page has the highest priority to\n     * render next (if any).\n     *\n     * Priority:\n     * 1. visible pages\n     * 2. if last scrolled down, the page after the visible pages, or\n     *    if last scrolled up, the page before the visible pages\n     */\n    const visibleViews = visible.views;\n\n    const numVisible = visibleViews.length;\n    if (numVisible === 0) {\n      return null;\n    }\n    for (let i = 0; i < numVisible; ++i) {\n      const view = visibleViews[i].view;\n      if (!this.isViewFinished(view)) {\n        return view;\n      }\n    }\n\n    // All the visible views have rendered; try to render next/previous pages.\n    if (scrolledDown) {\n      const nextPageIndex = visible.last.id;\n      // IDs start at 1, so no need to add 1.\n      if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n        return views[nextPageIndex];\n      }\n    } else {\n      const previousPageIndex = visible.first.id - 2;\n      if (\n        views[previousPageIndex] &&\n        !this.isViewFinished(views[previousPageIndex])\n      ) {\n        return views[previousPageIndex];\n      }\n    }\n    // Everything that needs to be rendered has been.\n    return null;\n  }\n\n  /**\n   * @param {IRenderableView} view\n   * @returns {boolean}\n   */\n  isViewFinished(view) {\n    return view.renderingState === RenderingStates.FINISHED;\n  }\n\n  /**\n   * Render a page or thumbnail view. This calls the appropriate function\n   * based on the views state. If the view is already rendered it will return\n   * `false`.\n   *\n   * @param {IRenderableView} view\n   */\n  renderView(view) {\n    switch (view.renderingState) {\n      case RenderingStates.FINISHED:\n        return false;\n      case RenderingStates.PAUSED:\n        this.highestPriorityPage = view.renderingId;\n        view.resume();\n        break;\n      case RenderingStates.RUNNING:\n        this.highestPriorityPage = view.renderingId;\n        break;\n      case RenderingStates.INITIAL:\n        this.highestPriorityPage = view.renderingId;\n        view\n          .draw()\n          .finally(() => {\n            this.renderHighestPriority();\n          })\n          .catch(reason => {\n            console.error(`renderView: \"${reason}\"`);\n          });\n        break;\n    }\n    return true;\n  }\n}\n\nexport { RenderingStates, PDFRenderingQueue };\n","/* Copyright 2016 Mozilla Foundation\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\nimport { NullL10n } from \"./ui_utils.js\";\nimport { RenderingStates } from \"./pdf_rendering_queue.js\";\n\nconst UI_NOTIFICATION_CLASS = \"pdfSidebarNotification\";\n\nconst SidebarView = {\n  UNKNOWN: -1,\n  NONE: 0,\n  THUMBS: 1, // Default value.\n  OUTLINE: 2,\n  ATTACHMENTS: 3,\n  LAYERS: 4,\n};\n\n/**\n * @typedef {Object} PDFSidebarOptions\n * @property {PDFSidebarElements} elements - The DOM elements.\n * @property {PDFViewer} pdfViewer - The document viewer.\n * @property {PDFThumbnailViewer} pdfThumbnailViewer - The thumbnail viewer.\n * @property {EventBus} eventBus - The application event bus.\n * @property {IL10n} l10n - The localization service.\n * @property {boolean} [disableNotification] - Disable the notification for\n *   documents containing outline/attachments. The default value is `false`.\n */\n\n/**\n * @typedef {Object} PDFSidebarElements\n * @property {HTMLDivElement} outerContainer - The outer container\n *   (encasing both the viewer and sidebar elements).\n * @property {HTMLDivElement} viewerContainer - The viewer container\n *   (in which the viewer element is placed).\n * @property {HTMLButtonElement} toggleButton - The button used for\n *   opening/closing the sidebar.\n * @property {HTMLButtonElement} thumbnailButton - The button used to show\n *   the thumbnail view.\n * @property {HTMLButtonElement} outlineButton - The button used to show\n *   the outline view.\n * @property {HTMLButtonElement} attachmentsButton - The button used to show\n *   the attachments view.\n * @property {HTMLDivElement} thumbnailView - The container in which\n *   the thumbnails are placed.\n * @property {HTMLDivElement} outlineView - The container in which\n *   the outline is placed.\n * @property {HTMLDivElement} attachmentsView - The container in which\n *   the attachments are placed.\n */\n\nclass PDFSidebar {\n  /**\n   * @param {PDFSidebarOptions} options\n   */\n  constructor({\n    elements,\n    pdfViewer,\n    pdfThumbnailViewer,\n    eventBus,\n    l10n = NullL10n,\n    disableNotification = false,\n  }) {\n    this.isOpen = false;\n    this.active = SidebarView.THUMBS;\n    this.isInitialViewSet = false;\n\n    /**\n     * Callback used when the sidebar has been opened/closed, to ensure that\n     * the viewers (PDFViewer/PDFThumbnailViewer) are updated correctly.\n     */\n    this.onToggled = null;\n\n    this.pdfViewer = pdfViewer;\n    this.pdfThumbnailViewer = pdfThumbnailViewer;\n\n    this.outerContainer = elements.outerContainer;\n    this.viewerContainer = elements.viewerContainer;\n    this.toggleButton = elements.toggleButton;\n\n    this.thumbnailButton = elements.thumbnailButton;\n    this.outlineButton = elements.outlineButton;\n    this.attachmentsButton = elements.attachmentsButton;\n\n    this.thumbnailView = elements.thumbnailView;\n    this.outlineView = elements.outlineView;\n    this.attachmentsView = elements.attachmentsView;\n\n    this.eventBus = eventBus;\n    this.l10n = l10n;\n    this._disableNotification = disableNotification;\n\n    this._addEventListeners();\n  }\n\n  reset() {\n    this.isInitialViewSet = false;\n\n    this._hideUINotification(null);\n    this.switchView(SidebarView.THUMBS);\n\n    this.outlineButton.disabled = false;\n    this.attachmentsButton.disabled = false;\n  }\n\n  /**\n   * @type {number} One of the values in {SidebarView}.\n   */\n  get visibleView() {\n    return this.isOpen ? this.active : SidebarView.NONE;\n  }\n\n  get isThumbnailViewVisible() {\n    return this.isOpen && this.active === SidebarView.THUMBS;\n  }\n\n  get isOutlineViewVisible() {\n    return this.isOpen && this.active === SidebarView.OUTLINE;\n  }\n\n  get isAttachmentsViewVisible() {\n    return this.isOpen && this.active === SidebarView.ATTACHMENTS;\n  }\n\n  /**\n   * @param {number} view - The sidebar view that should become visible,\n   *                        must be one of the values in {SidebarView}.\n   */\n  setInitialView(view = SidebarView.NONE) {\n    if (this.isInitialViewSet) {\n      return;\n    }\n    this.isInitialViewSet = true;\n\n    // If the user has already manually opened the sidebar, immediately closing\n    // it would be bad UX; also ignore the \"unknown\" sidebar view value.\n    if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {\n      this._dispatchEvent();\n      return;\n    }\n    // Prevent dispatching two back-to-back `sidebarviewchanged` events,\n    // since `this._switchView` dispatched the event if the view changed.\n    if (!this._switchView(view, /* forceOpen */ true)) {\n      this._dispatchEvent();\n    }\n  }\n\n  /**\n   * @param {number} view - The sidebar view that should be switched to,\n   *                        must be one of the values in {SidebarView}.\n   * @param {boolean} [forceOpen] - Ensure that the sidebar is open.\n   *                                The default value is `false`.\n   */\n  switchView(view, forceOpen = false) {\n    this._switchView(view, forceOpen);\n  }\n\n  /**\n   * @returns {boolean} Indicating if `this._dispatchEvent` was called.\n   * @private\n   */\n  _switchView(view, forceOpen = false) {\n    const isViewChanged = view !== this.active;\n    let shouldForceRendering = false;\n\n    switch (view) {\n      case SidebarView.NONE:\n        if (this.isOpen) {\n          this.close();\n          return true; // Closing will trigger rendering and dispatch the event.\n        }\n        return false;\n      case SidebarView.THUMBS:\n        if (this.isOpen && isViewChanged) {\n          shouldForceRendering = true;\n        }\n        break;\n      case SidebarView.OUTLINE:\n        if (this.outlineButton.disabled) {\n          return false;\n        }\n        break;\n      case SidebarView.ATTACHMENTS:\n        if (this.attachmentsButton.disabled) {\n          return false;\n        }\n        break;\n      default:\n        console.error(`PDFSidebar._switchView: \"${view}\" is not a valid view.`);\n        return false;\n    }\n    // Update the active view *after* it has been validated above,\n    // in order to prevent setting it to an invalid state.\n    this.active = view;\n\n    // Update the CSS classes, for all buttons...\n    this.thumbnailButton.classList.toggle(\n      \"toggled\",\n      view === SidebarView.THUMBS\n    );\n    this.outlineButton.classList.toggle(\n      \"toggled\",\n      view === SidebarView.OUTLINE\n    );\n    this.attachmentsButton.classList.toggle(\n      \"toggled\",\n      view === SidebarView.ATTACHMENTS\n    );\n    // ... and for all views.\n    this.thumbnailView.classList.toggle(\"hidden\", view !== SidebarView.THUMBS);\n    this.outlineView.classList.toggle(\"hidden\", view !== SidebarView.OUTLINE);\n    this.attachmentsView.classList.toggle(\n      \"hidden\",\n      view !== SidebarView.ATTACHMENTS\n    );\n\n    if (forceOpen && !this.isOpen) {\n      this.open();\n      return true; // Opening will trigger rendering and dispatch the event.\n    }\n    if (shouldForceRendering) {\n      this._updateThumbnailViewer();\n      this._forceRendering();\n    }\n    if (isViewChanged) {\n      this._dispatchEvent();\n    }\n    this._hideUINotification(this.active);\n    return isViewChanged;\n  }\n\n  open() {\n    if (this.isOpen) {\n      return;\n    }\n    this.isOpen = true;\n    this.toggleButton.classList.add(\"toggled\");\n\n    this.outerContainer.classList.add(\"sidebarMoving\", \"sidebarOpen\");\n\n    if (this.active === SidebarView.THUMBS) {\n      this._updateThumbnailViewer();\n    }\n    this._forceRendering();\n    this._dispatchEvent();\n\n    this._hideUINotification(this.active);\n  }\n\n  close() {\n    if (!this.isOpen) {\n      return;\n    }\n    this.isOpen = false;\n    this.toggleButton.classList.remove(\"toggled\");\n\n    this.outerContainer.classList.add(\"sidebarMoving\");\n    this.outerContainer.classList.remove(\"sidebarOpen\");\n\n    this._forceRendering();\n    this._dispatchEvent();\n  }\n\n  toggle() {\n    if (this.isOpen) {\n      this.close();\n    } else {\n      this.open();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _dispatchEvent() {\n    this.eventBus.dispatch(\"sidebarviewchanged\", {\n      source: this,\n      view: this.visibleView,\n    });\n  }\n\n  /**\n   * @private\n   */\n  _forceRendering() {\n    if (this.onToggled) {\n      this.onToggled();\n    } else {\n      // Fallback\n      this.pdfViewer.forceRendering();\n      this.pdfThumbnailViewer.forceRendering();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _updateThumbnailViewer() {\n    const { pdfViewer, pdfThumbnailViewer } = this;\n\n    // Use the rendered pages to set the corresponding thumbnail images.\n    const pagesCount = pdfViewer.pagesCount;\n    for (let pageIndex = 0; pageIndex < pagesCount; pageIndex++) {\n      const pageView = pdfViewer.getPageView(pageIndex);\n      if (pageView && pageView.renderingState === RenderingStates.FINISHED) {\n        const thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);\n        thumbnailView.setImage(pageView);\n      }\n    }\n    pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);\n  }\n\n  /**\n   * @private\n   */\n  _showUINotification(view) {\n    if (this._disableNotification) {\n      return;\n    }\n\n    this.l10n\n      .get(\n        \"toggle_sidebar_notification.title\",\n        null,\n        \"Toggle Sidebar (document contains outline/attachments)\"\n      )\n      .then(msg => {\n        this.toggleButton.title = msg;\n      });\n\n    if (!this.isOpen) {\n      // Only show the notification on the `toggleButton` if the sidebar is\n      // currently closed, to avoid unnecessarily bothering the user.\n      this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);\n    } else if (view === this.active) {\n      // If the sidebar is currently open *and* the `view` is visible, do not\n      // bother the user with a notification on the corresponding button.\n      return;\n    }\n\n    switch (view) {\n      case SidebarView.OUTLINE:\n        this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);\n        break;\n      case SidebarView.ATTACHMENTS:\n        this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);\n        break;\n    }\n  }\n\n  /**\n   * @private\n   */\n  _hideUINotification(view) {\n    if (this._disableNotification) {\n      return;\n    }\n\n    const removeNotification = sidebarView => {\n      switch (sidebarView) {\n        case SidebarView.OUTLINE:\n          this.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);\n          break;\n        case SidebarView.ATTACHMENTS:\n          this.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);\n          break;\n      }\n    };\n\n    if (!this.isOpen && view !== null) {\n      // Only hide the notifications when the sidebar is currently open,\n      // or when it is being reset (i.e. `view === null`).\n      return;\n    }\n    this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);\n\n    if (view !== null) {\n      removeNotification(view);\n      return;\n    }\n    // Remove all sidebar notifications on reset.\n    for (view in SidebarView) {\n      removeNotification(SidebarView[view]);\n    }\n\n    this.l10n.get(\"toggle_sidebar.title\", null, \"Toggle Sidebar\").then(msg => {\n      this.toggleButton.title = msg;\n    });\n  }\n\n  /**\n   * @private\n   */\n  _addEventListeners() {\n    this.viewerContainer.addEventListener(\"transitionend\", evt => {\n      if (evt.target === this.viewerContainer) {\n        this.outerContainer.classList.remove(\"sidebarMoving\");\n      }\n    });\n\n    this.toggleButton.addEventListener(\"click\", () => {\n      this.toggle();\n    });\n\n    // Buttons for switching views.\n    this.thumbnailButton.addEventListener(\"click\", () => {\n      this.switchView(SidebarView.THUMBS);\n    });\n\n    this.outlineButton.addEventListener(\"click\", () => {\n      this.switchView(SidebarView.OUTLINE);\n    });\n    this.outlineButton.addEventListener(\"dblclick\", () => {\n      this.eventBus.dispatch(\"toggleoutlinetree\", { source: this });\n    });\n\n    this.attachmentsButton.addEventListener(\"click\", () => {\n      this.switchView(SidebarView.ATTACHMENTS);\n    });\n\n    // Disable/enable views.\n    this.eventBus._on(\"outlineloaded\", evt => {\n      const outlineCount = evt.outlineCount;\n\n      this.outlineButton.disabled = !outlineCount;\n\n      if (outlineCount) {\n        this._showUINotification(SidebarView.OUTLINE);\n      } else if (this.active === SidebarView.OUTLINE) {\n        // If the outline view was opened during document load, switch away\n        // from it if it turns out that the document has no outline.\n        this.switchView(SidebarView.THUMBS);\n      }\n    });\n\n    this.eventBus._on(\"attachmentsloaded\", evt => {\n      if (evt.attachmentsCount) {\n        this.attachmentsButton.disabled = false;\n\n        this._showUINotification(SidebarView.ATTACHMENTS);\n        return;\n      }\n\n      // Attempt to avoid temporarily disabling, and switching away from, the\n      // attachment view for documents that do not contain proper attachments\n      // but *only* FileAttachment annotations. Hence we defer those operations\n      // slightly to allow time for parsing any FileAttachment annotations that\n      // may be present on the *initially* rendered page of the document.\n      Promise.resolve().then(() => {\n        if (this.attachmentsView.hasChildNodes()) {\n          // FileAttachment annotations were appended to the attachment view.\n          return;\n        }\n        this.attachmentsButton.disabled = true;\n\n        if (this.active === SidebarView.ATTACHMENTS) {\n          // If the attachment view was opened during document load, switch away\n          // from it if it turns out that the document has no attachments.\n          this.switchView(SidebarView.THUMBS);\n        }\n      });\n    });\n\n    // Update the thumbnailViewer, if visible, when exiting presentation mode.\n    this.eventBus._on(\"presentationmodechanged\", evt => {\n      if (!evt.active && !evt.switchInProgress && this.isThumbnailViewVisible) {\n        this._updateThumbnailViewer();\n      }\n    });\n  }\n}\n\nexport { SidebarView, PDFSidebar };\n","/* Copyright 2014 Mozilla Foundation\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\nclass OverlayManager {\n  constructor() {\n    this._overlays = {};\n    this._active = null;\n    this._keyDownBound = this._keyDown.bind(this);\n  }\n\n  get active() {\n    return this._active;\n  }\n\n  /**\n   * @param {string} name - The name of the overlay that is registered.\n   * @param {HTMLDivElement} element - The overlay's DOM element.\n   * @param {function} [callerCloseMethod] - The method that, if present, calls\n   *                   `OverlayManager.close` from the object registering the\n   *                   overlay. Access to this method is necessary in order to\n   *                   run cleanup code when e.g. the overlay is force closed.\n   *                   The default is `null`.\n   * @param {boolean} [canForceClose] - Indicates if opening the overlay closes\n   *                  an active overlay. The default is `false`.\n   * @returns {Promise} A promise that is resolved when the overlay has been\n   *                    registered.\n   */\n  async register(\n    name,\n    element,\n    callerCloseMethod = null,\n    canForceClose = false\n  ) {\n    let container;\n    if (!name || !element || !(container = element.parentNode)) {\n      throw new Error(\"Not enough parameters.\");\n    } else if (this._overlays[name]) {\n      throw new Error(\"The overlay is already registered.\");\n    }\n    this._overlays[name] = {\n      element,\n      container,\n      callerCloseMethod,\n      canForceClose,\n    };\n  }\n\n  /**\n   * @param {string} name - The name of the overlay that is unregistered.\n   * @returns {Promise} A promise that is resolved when the overlay has been\n   *                    unregistered.\n   */\n  async unregister(name) {\n    if (!this._overlays[name]) {\n      throw new Error(\"The overlay does not exist.\");\n    } else if (this._active === name) {\n      throw new Error(\"The overlay cannot be removed while it is active.\");\n    }\n    delete this._overlays[name];\n  }\n\n  /**\n   * @param {string} name - The name of the overlay that should be opened.\n   * @returns {Promise} A promise that is resolved when the overlay has been\n   *                    opened.\n   */\n  async open(name) {\n    if (!this._overlays[name]) {\n      throw new Error(\"The overlay does not exist.\");\n    } else if (this._active) {\n      if (this._overlays[name].canForceClose) {\n        this._closeThroughCaller();\n      } else if (this._active === name) {\n        throw new Error(\"The overlay is already active.\");\n      } else {\n        throw new Error(\"Another overlay is currently active.\");\n      }\n    }\n    this._active = name;\n    this._overlays[this._active].element.classList.remove(\"hidden\");\n    this._overlays[this._active].container.classList.remove(\"hidden\");\n\n    window.addEventListener(\"keydown\", this._keyDownBound);\n  }\n\n  /**\n   * @param {string} name - The name of the overlay that should be closed.\n   * @returns {Promise} A promise that is resolved when the overlay has been\n   *                    closed.\n   */\n  async close(name) {\n    if (!this._overlays[name]) {\n      throw new Error(\"The overlay does not exist.\");\n    } else if (!this._active) {\n      throw new Error(\"The overlay is currently not active.\");\n    } else if (this._active !== name) {\n      throw new Error(\"Another overlay is currently active.\");\n    }\n    this._overlays[this._active].container.classList.add(\"hidden\");\n    this._overlays[this._active].element.classList.add(\"hidden\");\n    this._active = null;\n\n    window.removeEventListener(\"keydown\", this._keyDownBound);\n  }\n\n  /**\n   * @private\n   */\n  _keyDown(evt) {\n    if (this._active && evt.keyCode === /* Esc = */ 27) {\n      this._closeThroughCaller();\n      evt.preventDefault();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _closeThroughCaller() {\n    if (this._overlays[this._active].callerCloseMethod) {\n      this._overlays[this._active].callerCloseMethod();\n    }\n    if (this._active) {\n      this.close(this._active);\n    }\n  }\n}\n\nexport { OverlayManager };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { NullL10n } from \"./ui_utils.js\";\nimport { PasswordResponses } from \"pdfjs-lib\";\n\n/**\n * @typedef {Object} PasswordPromptOptions\n * @property {string} overlayName - Name of the overlay for the overlay manager.\n * @property {HTMLDivElement} container - Div container for the overlay.\n * @property {HTMLParagraphElement} label - Label containing instructions for\n *                                          entering the password.\n * @property {HTMLInputElement} input - Input field for entering the password.\n * @property {HTMLButtonElement} submitButton - Button for submitting the\n *                                              password.\n * @property {HTMLButtonElement} cancelButton - Button for cancelling password\n *                                              entry.\n */\n\nclass PasswordPrompt {\n  /**\n   * @param {PasswordPromptOptions} options\n   * @param {OverlayManager} overlayManager - Manager for the viewer overlays.\n   * @param {IL10n} l10n - Localization service.\n   */\n  constructor(options, overlayManager, l10n = NullL10n) {\n    this.overlayName = options.overlayName;\n    this.container = options.container;\n    this.label = options.label;\n    this.input = options.input;\n    this.submitButton = options.submitButton;\n    this.cancelButton = options.cancelButton;\n    this.overlayManager = overlayManager;\n    this.l10n = l10n;\n\n    this.updateCallback = null;\n    this.reason = null;\n\n    // Attach the event listeners.\n    this.submitButton.addEventListener(\"click\", this.verify.bind(this));\n    this.cancelButton.addEventListener(\"click\", this.close.bind(this));\n    this.input.addEventListener(\"keydown\", e => {\n      if (e.keyCode === /* Enter = */ 13) {\n        this.verify();\n      }\n    });\n\n    this.overlayManager.register(\n      this.overlayName,\n      this.container,\n      this.close.bind(this),\n      true\n    );\n  }\n\n  open() {\n    this.overlayManager.open(this.overlayName).then(() => {\n      this.input.focus();\n\n      let promptString;\n      if (this.reason === PasswordResponses.INCORRECT_PASSWORD) {\n        promptString = this.l10n.get(\n          \"password_invalid\",\n          null,\n          \"Invalid password. Please try again.\"\n        );\n      } else {\n        promptString = this.l10n.get(\n          \"password_label\",\n          null,\n          \"Enter the password to open this PDF file.\"\n        );\n      }\n\n      promptString.then(msg => {\n        this.label.textContent = msg;\n      });\n    });\n  }\n\n  close() {\n    this.overlayManager.close(this.overlayName).then(() => {\n      this.input.value = \"\";\n    });\n  }\n\n  verify() {\n    const password = this.input.value;\n    if (password && password.length > 0) {\n      this.close();\n      this.updateCallback(password);\n    }\n  }\n\n  setUpdateCallback(updateCallback, reason) {\n    this.updateCallback = updateCallback;\n    this.reason = reason;\n  }\n}\n\nexport { PasswordPrompt };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  createObjectURL,\n  createPromiseCapability,\n  getFilenameFromUrl,\n  removeNullCharacters,\n} from \"pdfjs-lib\";\n\n/**\n * @typedef {Object} PDFAttachmentViewerOptions\n * @property {HTMLDivElement} container - The viewer element.\n * @property {EventBus} eventBus - The application event bus.\n * @property {DownloadManager} downloadManager - The download manager.\n */\n\n/**\n * @typedef {Object} PDFAttachmentViewerRenderParameters\n * @property {Object|null} attachments - A lookup table of attachment objects.\n */\n\nclass PDFAttachmentViewer {\n  /**\n   * @param {PDFAttachmentViewerOptions} options\n   */\n  constructor({ container, eventBus, downloadManager }) {\n    this.container = container;\n    this.eventBus = eventBus;\n    this.downloadManager = downloadManager;\n\n    this.reset();\n\n    this.eventBus._on(\n      \"fileattachmentannotation\",\n      this._appendAttachment.bind(this)\n    );\n  }\n\n  reset(keepRenderedCapability = false) {\n    this.attachments = null;\n\n    // Remove the attachments from the DOM.\n    this.container.textContent = \"\";\n\n    if (!keepRenderedCapability) {\n      // NOTE: The *only* situation in which the `_renderedCapability` should\n      //       not be replaced is when appending file attachment annotations.\n      this._renderedCapability = createPromiseCapability();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _dispatchEvent(attachmentsCount) {\n    this._renderedCapability.resolve();\n\n    this.eventBus.dispatch(\"attachmentsloaded\", {\n      source: this,\n      attachmentsCount,\n    });\n  }\n\n  /**\n   * @private\n   */\n  _bindPdfLink(button, content, filename) {\n    if (this.downloadManager.disableCreateObjectURL) {\n      throw new Error(\n        'bindPdfLink: Unsupported \"disableCreateObjectURL\" value.'\n      );\n    }\n    let blobUrl;\n    button.onclick = function() {\n      if (!blobUrl) {\n        blobUrl = createObjectURL(content, \"application/pdf\");\n      }\n      let viewerUrl;\n      if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n        // The current URL is the viewer, let's use it and append the file.\n        viewerUrl = \"?file=\" + encodeURIComponent(blobUrl + \"#\" + filename);\n      } else if (PDFJSDev.test(\"CHROME\")) {\n        // In the Chrome extension, the URL is rewritten using the history API\n        // in viewer.js, so an absolute URL must be generated.\n        viewerUrl =\n          // eslint-disable-next-line no-undef\n          chrome.runtime.getURL(\"/content/web/viewer.html\") +\n          \"?file=\" +\n          encodeURIComponent(blobUrl + \"#\" + filename);\n      } else if (PDFJSDev.test(\"MOZCENTRAL\")) {\n        // Let Firefox's content handler catch the URL and display the PDF.\n        viewerUrl = blobUrl + \"?\" + encodeURIComponent(filename);\n      }\n      window.open(viewerUrl);\n      return false;\n    };\n  }\n\n  /**\n   * @private\n   */\n  _bindLink(button, content, filename) {\n    button.onclick = () => {\n      this.downloadManager.downloadData(content, filename, \"\");\n      return false;\n    };\n  }\n\n  /**\n   * @param {PDFAttachmentViewerRenderParameters} params\n   */\n  render({ attachments, keepRenderedCapability = false }) {\n    let attachmentsCount = 0;\n\n    if (this.attachments) {\n      this.reset(keepRenderedCapability === true);\n    }\n    this.attachments = attachments || null;\n\n    if (!attachments) {\n      this._dispatchEvent(attachmentsCount);\n      return;\n    }\n\n    const names = Object.keys(attachments).sort(function(a, b) {\n      return a.toLowerCase().localeCompare(b.toLowerCase());\n    });\n    attachmentsCount = names.length;\n\n    for (let i = 0; i < attachmentsCount; i++) {\n      const item = attachments[names[i]];\n      const filename = removeNullCharacters(getFilenameFromUrl(item.filename));\n\n      const div = document.createElement(\"div\");\n      div.className = \"attachmentsItem\";\n      const button = document.createElement(\"button\");\n      button.textContent = filename;\n      if (\n        /\\.pdf$/i.test(filename) &&\n        !this.downloadManager.disableCreateObjectURL\n      ) {\n        this._bindPdfLink(button, item.content, filename);\n      } else {\n        this._bindLink(button, item.content, filename);\n      }\n\n      div.appendChild(button);\n      this.container.appendChild(div);\n    }\n\n    this._dispatchEvent(attachmentsCount);\n  }\n\n  /**\n   * Used to append FileAttachment annotations to the sidebar.\n   * @private\n   */\n  _appendAttachment({ id, filename, content }) {\n    this._renderedCapability.promise.then(() => {\n      let attachments = this.attachments;\n\n      if (!attachments) {\n        attachments = Object.create(null);\n      } else {\n        for (const name in attachments) {\n          if (id === name) {\n            return; // Ignore the new attachment if it already exists.\n          }\n        }\n      }\n      attachments[id] = {\n        filename,\n        content,\n      };\n      this.render({\n        attachments,\n        keepRenderedCapability: true,\n      });\n    });\n  }\n}\n\nexport { PDFAttachmentViewer };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { createPromiseCapability, PDFDateString } from \"pdfjs-lib\";\nimport {\n  getPageSizeInches,\n  getPDFFileNameFromURL,\n  isPortraitOrientation,\n  NullL10n,\n} from \"./ui_utils.js\";\n\nconst DEFAULT_FIELD_CONTENT = \"-\";\n\n// See https://en.wikibooks.org/wiki/Lentis/Conversion_to_the_Metric_Standard_in_the_United_States\nconst NON_METRIC_LOCALES = [\"en-us\", \"en-lr\", \"my\"];\n\n// Should use the format: `width x height`, in portrait orientation.\n// See https://en.wikipedia.org/wiki/Paper_size\nconst US_PAGE_NAMES = {\n  \"8.5x11\": \"Letter\",\n  \"8.5x14\": \"Legal\",\n};\nconst METRIC_PAGE_NAMES = {\n  \"297x420\": \"A3\",\n  \"210x297\": \"A4\",\n};\n\nfunction getPageName(size, isPortrait, pageNames) {\n  const width = isPortrait ? size.width : size.height;\n  const height = isPortrait ? size.height : size.width;\n\n  return pageNames[`${width}x${height}`];\n}\n\n/**\n * @typedef {Object} PDFDocumentPropertiesOptions\n * @property {string} overlayName - Name/identifier for the overlay.\n * @property {Object} fields - Names and elements of the overlay's fields.\n * @property {HTMLDivElement} container - Div container for the overlay.\n * @property {HTMLButtonElement} closeButton - Button for closing the overlay.\n */\n\nclass PDFDocumentProperties {\n  /**\n   * @param {PDFDocumentPropertiesOptions} options\n   * @param {OverlayManager} overlayManager - Manager for the viewer overlays.\n   * @param {EventBus} eventBus - The application event bus.\n   * @param {IL10n} l10n - Localization service.\n   */\n  constructor(\n    { overlayName, fields, container, closeButton },\n    overlayManager,\n    eventBus,\n    l10n = NullL10n\n  ) {\n    this.overlayName = overlayName;\n    this.fields = fields;\n    this.container = container;\n    this.overlayManager = overlayManager;\n    this.l10n = l10n;\n\n    this._reset();\n\n    if (closeButton) {\n      // Bind the event listener for the Close button.\n      closeButton.addEventListener(\"click\", this.close.bind(this));\n    }\n    this.overlayManager.register(\n      this.overlayName,\n      this.container,\n      this.close.bind(this)\n    );\n\n    if (eventBus) {\n      eventBus._on(\"pagechanging\", evt => {\n        this._currentPageNumber = evt.pageNumber;\n      });\n      eventBus._on(\"rotationchanging\", evt => {\n        this._pagesRotation = evt.pagesRotation;\n      });\n    }\n\n    this._isNonMetricLocale = true; // The default viewer locale is 'en-us'.\n    l10n.getLanguage().then(locale => {\n      this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale);\n    });\n  }\n\n  /**\n   * Open the document properties overlay.\n   */\n  open() {\n    const freezeFieldData = data => {\n      Object.defineProperty(this, \"fieldData\", {\n        value: Object.freeze(data),\n        writable: false,\n        enumerable: true,\n        configurable: true,\n      });\n    };\n\n    Promise.all([\n      this.overlayManager.open(this.overlayName),\n      this._dataAvailableCapability.promise,\n    ]).then(() => {\n      const currentPageNumber = this._currentPageNumber;\n      const pagesRotation = this._pagesRotation;\n\n      // If the document properties were previously fetched (for this PDF file),\n      // just update the dialog immediately to avoid redundant lookups.\n      if (\n        this.fieldData &&\n        currentPageNumber === this.fieldData[\"_currentPageNumber\"] &&\n        pagesRotation === this.fieldData[\"_pagesRotation\"]\n      ) {\n        this._updateUI();\n        return;\n      }\n\n      // Get the document properties.\n      this.pdfDocument\n        .getMetadata()\n        .then(({ info, metadata, contentDispositionFilename }) => {\n          return Promise.all([\n            info,\n            metadata,\n            contentDispositionFilename || getPDFFileNameFromURL(this.url || \"\"),\n            this._parseFileSize(this.maybeFileSize),\n            this._parseDate(info.CreationDate),\n            this._parseDate(info.ModDate),\n            this.pdfDocument.getPage(currentPageNumber).then(pdfPage => {\n              return this._parsePageSize(\n                getPageSizeInches(pdfPage),\n                pagesRotation\n              );\n            }),\n            this._parseLinearization(info.IsLinearized),\n          ]);\n        })\n        .then(\n          ([\n            info,\n            metadata,\n            fileName,\n            fileSize,\n            creationDate,\n            modDate,\n            pageSize,\n            isLinearized,\n          ]) => {\n            freezeFieldData({\n              fileName,\n              fileSize,\n              title: info.Title,\n              author: info.Author,\n              subject: info.Subject,\n              keywords: info.Keywords,\n              creationDate,\n              modificationDate: modDate,\n              creator: info.Creator,\n              producer: info.Producer,\n              version: info.PDFFormatVersion,\n              pageCount: this.pdfDocument.numPages,\n              pageSize,\n              linearized: isLinearized,\n              _currentPageNumber: currentPageNumber,\n              _pagesRotation: pagesRotation,\n            });\n            this._updateUI();\n\n            // Get the correct fileSize, since it may not have been set (if\n            // `this.setFileSize` wasn't called) or may be incorrectly set.\n            return this.pdfDocument.getDownloadInfo();\n          }\n        )\n        .then(({ length }) => {\n          this.maybeFileSize = length;\n          return this._parseFileSize(length);\n        })\n        .then(fileSize => {\n          if (fileSize === this.fieldData[\"fileSize\"]) {\n            return; // The fileSize has already been correctly set.\n          }\n          const data = Object.assign(Object.create(null), this.fieldData);\n          data[\"fileSize\"] = fileSize;\n\n          freezeFieldData(data);\n          this._updateUI();\n        });\n    });\n  }\n\n  /**\n   * Close the document properties overlay.\n   */\n  close() {\n    this.overlayManager.close(this.overlayName);\n  }\n\n  /**\n   * Set a reference to the PDF document and the URL in order\n   * to populate the overlay fields with the document properties.\n   * Note that the overlay will contain no information if this method\n   * is not called.\n   *\n   * @param {PDFDocumentProxy} pdfDocument - A reference to the PDF document.\n   * @param {string} url - The URL of the document.\n   */\n  setDocument(pdfDocument, url = null) {\n    if (this.pdfDocument) {\n      this._reset();\n      this._updateUI(true);\n    }\n    if (!pdfDocument) {\n      return;\n    }\n    this.pdfDocument = pdfDocument;\n    this.url = url;\n\n    this._dataAvailableCapability.resolve();\n  }\n\n  /**\n   * Set the file size of the PDF document. This method is used to\n   * update the file size in the document properties overlay once it\n   * is known so we do not have to wait until the entire file is loaded.\n   *\n   * @param {number} fileSize - The file size of the PDF document.\n   */\n  setFileSize(fileSize) {\n    if (Number.isInteger(fileSize) && fileSize > 0) {\n      this.maybeFileSize = fileSize;\n    }\n  }\n\n  /**\n   * @private\n   */\n  _reset() {\n    this.pdfDocument = null;\n    this.url = null;\n\n    this.maybeFileSize = 0;\n    delete this.fieldData;\n    this._dataAvailableCapability = createPromiseCapability();\n    this._currentPageNumber = 1;\n    this._pagesRotation = 0;\n  }\n\n  /**\n   * Always updates all of the dialog fields, to prevent inconsistent UI state.\n   * NOTE: If the contents of a particular field is neither a non-empty string,\n   *       nor a number, it will fall back to `DEFAULT_FIELD_CONTENT`.\n   * @private\n   */\n  _updateUI(reset = false) {\n    if (reset || !this.fieldData) {\n      for (const id in this.fields) {\n        this.fields[id].textContent = DEFAULT_FIELD_CONTENT;\n      }\n      return;\n    }\n    if (this.overlayManager.active !== this.overlayName) {\n      // Don't bother updating the dialog if has already been closed,\n      // since it will be updated the next time `this.open` is called.\n      return;\n    }\n    for (const id in this.fields) {\n      const content = this.fieldData[id];\n      this.fields[id].textContent =\n        content || content === 0 ? content : DEFAULT_FIELD_CONTENT;\n    }\n  }\n\n  /**\n   * @private\n   */\n  async _parseFileSize(fileSize = 0) {\n    const kb = fileSize / 1024;\n    if (!kb) {\n      return undefined;\n    } else if (kb < 1024) {\n      return this.l10n.get(\n        \"document_properties_kb\",\n        {\n          size_kb: (+kb.toPrecision(3)).toLocaleString(),\n          size_b: fileSize.toLocaleString(),\n        },\n        \"{{size_kb}} KB ({{size_b}} bytes)\"\n      );\n    }\n    return this.l10n.get(\n      \"document_properties_mb\",\n      {\n        size_mb: (+(kb / 1024).toPrecision(3)).toLocaleString(),\n        size_b: fileSize.toLocaleString(),\n      },\n      \"{{size_mb}} MB ({{size_b}} bytes)\"\n    );\n  }\n\n  /**\n   * @private\n   */\n  async _parsePageSize(pageSizeInches, pagesRotation) {\n    if (!pageSizeInches) {\n      return undefined;\n    }\n    // Take the viewer rotation into account as well; compare with Adobe Reader.\n    if (pagesRotation % 180 !== 0) {\n      pageSizeInches = {\n        width: pageSizeInches.height,\n        height: pageSizeInches.width,\n      };\n    }\n    const isPortrait = isPortraitOrientation(pageSizeInches);\n\n    let sizeInches = {\n      width: Math.round(pageSizeInches.width * 100) / 100,\n      height: Math.round(pageSizeInches.height * 100) / 100,\n    };\n    // 1in == 25.4mm; no need to round to 2 decimals for millimeters.\n    let sizeMillimeters = {\n      width: Math.round(pageSizeInches.width * 25.4 * 10) / 10,\n      height: Math.round(pageSizeInches.height * 25.4 * 10) / 10,\n    };\n\n    let pageName = null;\n    let rawName =\n      getPageName(sizeInches, isPortrait, US_PAGE_NAMES) ||\n      getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES);\n\n    if (\n      !rawName &&\n      !(\n        Number.isInteger(sizeMillimeters.width) &&\n        Number.isInteger(sizeMillimeters.height)\n      )\n    ) {\n      // Attempt to improve the page name detection by falling back to fuzzy\n      // matching of the metric dimensions, to account for e.g. rounding errors\n      // and/or PDF files that define the page sizes in an imprecise manner.\n      const exactMillimeters = {\n        width: pageSizeInches.width * 25.4,\n        height: pageSizeInches.height * 25.4,\n      };\n      const intMillimeters = {\n        width: Math.round(sizeMillimeters.width),\n        height: Math.round(sizeMillimeters.height),\n      };\n\n      // Try to avoid false positives, by only considering \"small\" differences.\n      if (\n        Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 &&\n        Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1\n      ) {\n        rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES);\n        if (rawName) {\n          // Update *both* sizes, computed above, to ensure that the displayed\n          // dimensions always correspond to the detected page name.\n          sizeInches = {\n            width: Math.round((intMillimeters.width / 25.4) * 100) / 100,\n            height: Math.round((intMillimeters.height / 25.4) * 100) / 100,\n          };\n          sizeMillimeters = intMillimeters;\n        }\n      }\n    }\n    if (rawName) {\n      pageName = this.l10n.get(\n        \"document_properties_page_size_name_\" + rawName.toLowerCase(),\n        null,\n        rawName\n      );\n    }\n\n    return Promise.all([\n      this._isNonMetricLocale ? sizeInches : sizeMillimeters,\n      this.l10n.get(\n        \"document_properties_page_size_unit_\" +\n          (this._isNonMetricLocale ? \"inches\" : \"millimeters\"),\n        null,\n        this._isNonMetricLocale ? \"in\" : \"mm\"\n      ),\n      pageName,\n      this.l10n.get(\n        \"document_properties_page_size_orientation_\" +\n          (isPortrait ? \"portrait\" : \"landscape\"),\n        null,\n        isPortrait ? \"portrait\" : \"landscape\"\n      ),\n    ]).then(([{ width, height }, unit, name, orientation]) => {\n      return this.l10n.get(\n        \"document_properties_page_size_dimension_\" +\n          (name ? \"name_\" : \"\") +\n          \"string\",\n        {\n          width: width.toLocaleString(),\n          height: height.toLocaleString(),\n          unit,\n          name,\n          orientation,\n        },\n        \"{{width}} × {{height}} {{unit}} (\" +\n          (name ? \"{{name}}, \" : \"\") +\n          \"{{orientation}})\"\n      );\n    });\n  }\n\n  /**\n   * @private\n   */\n  async _parseDate(inputDate) {\n    const dateObject = PDFDateString.toDateObject(inputDate);\n    if (!dateObject) {\n      return undefined;\n    }\n    return this.l10n.get(\n      \"document_properties_date_string\",\n      {\n        date: dateObject.toLocaleDateString(),\n        time: dateObject.toLocaleTimeString(),\n      },\n      \"{{date}}, {{time}}\"\n    );\n  }\n\n  /**\n   * @private\n   */\n  _parseLinearization(isLinearized) {\n    return this.l10n.get(\n      \"document_properties_linearized_\" + (isLinearized ? \"yes\" : \"no\"),\n      null,\n      isLinearized ? \"Yes\" : \"No\"\n    );\n  }\n}\n\nexport { PDFDocumentProperties };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { getGlobalEventBus, NullL10n } from \"./ui_utils.js\";\nimport { FindState } from \"./pdf_find_controller.js\";\n\nconst MATCHES_COUNT_LIMIT = 1000;\n\n/**\n * Creates a \"search bar\" given a set of DOM elements that act as controls\n * for searching or for setting search preferences in the UI. This object\n * also sets up the appropriate events for the controls. Actual searching\n * is done by PDFFindController.\n */\nclass PDFFindBar {\n  constructor(options, eventBus, l10n = NullL10n) {\n    this.opened = false;\n\n    this.bar = options.bar || null;\n    this.toggleButton = options.toggleButton || null;\n    this.findField = options.findField || null;\n    this.highlightAll = options.highlightAllCheckbox || null;\n    this.caseSensitive = options.caseSensitiveCheckbox || null;\n    this.entireWord = options.entireWordCheckbox || null;\n    this.findMsg = options.findMsg || null;\n    this.findResultsCount = options.findResultsCount || null;\n    this.findPreviousButton = options.findPreviousButton || null;\n    this.findNextButton = options.findNextButton || null;\n    this.eventBus = eventBus || getGlobalEventBus();\n    this.l10n = l10n;\n\n    // Add event listeners to the DOM elements.\n    this.toggleButton.addEventListener(\"click\", () => {\n      this.toggle();\n    });\n\n    this.findField.addEventListener(\"input\", () => {\n      this.dispatchEvent(\"\");\n    });\n\n    this.bar.addEventListener(\"keydown\", e => {\n      switch (e.keyCode) {\n        case 13: // Enter\n          if (e.target === this.findField) {\n            this.dispatchEvent(\"again\", e.shiftKey);\n          }\n          break;\n        case 27: // Escape\n          this.close();\n          break;\n      }\n    });\n\n    this.findPreviousButton.addEventListener(\"click\", () => {\n      this.dispatchEvent(\"again\", true);\n    });\n\n    this.findNextButton.addEventListener(\"click\", () => {\n      this.dispatchEvent(\"again\", false);\n    });\n\n    this.highlightAll.addEventListener(\"click\", () => {\n      this.dispatchEvent(\"highlightallchange\");\n    });\n\n    this.caseSensitive.addEventListener(\"click\", () => {\n      this.dispatchEvent(\"casesensitivitychange\");\n    });\n\n    this.entireWord.addEventListener(\"click\", () => {\n      this.dispatchEvent(\"entirewordchange\");\n    });\n\n    this.eventBus._on(\"resize\", this._adjustWidth.bind(this));\n  }\n\n  reset() {\n    this.updateUIState();\n  }\n\n  dispatchEvent(type, findPrev) {\n    this.eventBus.dispatch(\"find\", {\n      source: this,\n      type,\n      query: this.findField.value,\n      phraseSearch: true,\n      caseSensitive: this.caseSensitive.checked,\n      entireWord: this.entireWord.checked,\n      highlightAll: this.highlightAll.checked,\n      findPrevious: findPrev,\n    });\n  }\n\n  updateUIState(state, previous, matchesCount) {\n    let notFound = false;\n    let findMsg = \"\";\n    let status = \"\";\n\n    switch (state) {\n      case FindState.FOUND:\n        break;\n\n      case FindState.PENDING:\n        status = \"pending\";\n        break;\n\n      case FindState.NOT_FOUND:\n        findMsg = this.l10n.get(\"find_not_found\", null, \"Phrase not found\");\n        notFound = true;\n        break;\n\n      case FindState.WRAPPED:\n        if (previous) {\n          findMsg = this.l10n.get(\n            \"find_reached_top\",\n            null,\n            \"Reached top of document, continued from bottom\"\n          );\n        } else {\n          findMsg = this.l10n.get(\n            \"find_reached_bottom\",\n            null,\n            \"Reached end of document, continued from top\"\n          );\n        }\n        break;\n    }\n\n    this.findField.classList.toggle(\"notFound\", notFound);\n    this.findField.setAttribute(\"data-status\", status);\n\n    Promise.resolve(findMsg).then(msg => {\n      this.findMsg.textContent = msg;\n      this._adjustWidth();\n    });\n\n    this.updateResultsCount(matchesCount);\n  }\n\n  updateResultsCount({ current = 0, total = 0 } = {}) {\n    if (!this.findResultsCount) {\n      return; // No UI control is provided.\n    }\n    const limit = MATCHES_COUNT_LIMIT;\n    let matchesCountMsg = \"\";\n\n    if (total > 0) {\n      if (total > limit) {\n        if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n          // TODO: Remove this hard-coded `[other]` form once plural support has\n          // been implemented in the mozilla-central specific `l10n.js` file.\n          matchesCountMsg = this.l10n.get(\n            \"find_match_count_limit[other]\",\n            {\n              limit,\n            },\n            \"More than {{limit}} matches\"\n          );\n        } else {\n          matchesCountMsg = this.l10n.get(\n            \"find_match_count_limit\",\n            {\n              limit,\n            },\n            \"More than {{limit}} match\" + (limit !== 1 ? \"es\" : \"\")\n          );\n        }\n      } else {\n        if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n          // TODO: Remove this hard-coded `[other]` form once plural support has\n          // been implemented in the mozilla-central specific `l10n.js` file.\n          matchesCountMsg = this.l10n.get(\n            \"find_match_count[other]\",\n            {\n              current,\n              total,\n            },\n            \"{{current}} of {{total}} matches\"\n          );\n        } else {\n          matchesCountMsg = this.l10n.get(\n            \"find_match_count\",\n            {\n              current,\n              total,\n            },\n            \"{{current}} of {{total}} match\" + (total !== 1 ? \"es\" : \"\")\n          );\n        }\n      }\n    }\n    Promise.resolve(matchesCountMsg).then(msg => {\n      this.findResultsCount.textContent = msg;\n      this.findResultsCount.classList.toggle(\"hidden\", !total);\n      // Since `updateResultsCount` may be called from `PDFFindController`,\n      // ensure that the width of the findbar is always updated correctly.\n      this._adjustWidth();\n    });\n  }\n\n  open() {\n    if (!this.opened) {\n      this.opened = true;\n      this.toggleButton.classList.add(\"toggled\");\n      this.bar.classList.remove(\"hidden\");\n    }\n    this.findField.select();\n    this.findField.focus();\n\n    this._adjustWidth();\n  }\n\n  close() {\n    if (!this.opened) {\n      return;\n    }\n    this.opened = false;\n    this.toggleButton.classList.remove(\"toggled\");\n    this.bar.classList.add(\"hidden\");\n\n    this.eventBus.dispatch(\"findbarclose\", { source: this });\n  }\n\n  toggle() {\n    if (this.opened) {\n      this.close();\n    } else {\n      this.open();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _adjustWidth() {\n    if (!this.opened) {\n      return;\n    }\n\n    // The find bar has an absolute position and thus the browser extends\n    // its width to the maximum possible width once the find bar does not fit\n    // entirely within the window anymore (and its elements are automatically\n    // wrapped). Here we detect and fix that.\n    this.bar.classList.remove(\"wrapContainers\");\n\n    const findbarHeight = this.bar.clientHeight;\n    const inputContainerHeight = this.bar.firstElementChild.clientHeight;\n\n    if (findbarHeight > inputContainerHeight) {\n      // The findbar is taller than the input container, which means that\n      // the browser wrapped some of the elements. For a consistent look,\n      // wrap all of them to adjust the width of the find bar.\n      this.bar.classList.add(\"wrapContainers\");\n    }\n  }\n}\n\nexport { PDFFindBar };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { getGlobalEventBus, scrollIntoView } from \"./ui_utils.js\";\nimport { createPromiseCapability } from \"pdfjs-lib\";\nimport { getCharacterType } from \"./pdf_find_utils.js\";\n\nconst FindState = {\n  FOUND: 0,\n  NOT_FOUND: 1,\n  WRAPPED: 2,\n  PENDING: 3,\n};\n\nconst FIND_TIMEOUT = 250; // ms\nconst MATCH_SCROLL_OFFSET_TOP = -50; // px\nconst MATCH_SCROLL_OFFSET_LEFT = -400; // px\n\nconst CHARACTERS_TO_NORMALIZE = {\n  \"\\u2018\": \"'\", // Left single quotation mark\n  \"\\u2019\": \"'\", // Right single quotation mark\n  \"\\u201A\": \"'\", // Single low-9 quotation mark\n  \"\\u201B\": \"'\", // Single high-reversed-9 quotation mark\n  \"\\u201C\": '\"', // Left double quotation mark\n  \"\\u201D\": '\"', // Right double quotation mark\n  \"\\u201E\": '\"', // Double low-9 quotation mark\n  \"\\u201F\": '\"', // Double high-reversed-9 quotation mark\n  \"\\u00BC\": \"1/4\", // Vulgar fraction one quarter\n  \"\\u00BD\": \"1/2\", // Vulgar fraction one half\n  \"\\u00BE\": \"3/4\", // Vulgar fraction three quarters\n};\n\nlet normalizationRegex = null;\nfunction normalize(text) {\n  if (!normalizationRegex) {\n    // Compile the regular expression for text normalization once.\n    const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n    normalizationRegex = new RegExp(`[${replace}]`, \"g\");\n  }\n  return text.replace(normalizationRegex, function(ch) {\n    return CHARACTERS_TO_NORMALIZE[ch];\n  });\n}\n\n/**\n * @typedef {Object} PDFFindControllerOptions\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {EventBus} eventBus - The application event bus.\n */\n\n/**\n * Provides search functionality to find a given string in a PDF document.\n */\nclass PDFFindController {\n  /**\n   * @param {PDFFindControllerOptions} options\n   */\n  constructor({ linkService, eventBus }) {\n    this._linkService = linkService;\n    this._eventBus = eventBus || getGlobalEventBus();\n\n    this._reset();\n    eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n  }\n\n  get highlightMatches() {\n    return this._highlightMatches;\n  }\n\n  get pageMatches() {\n    return this._pageMatches;\n  }\n\n  get pageMatchesLength() {\n    return this._pageMatchesLength;\n  }\n\n  get selected() {\n    return this._selected;\n  }\n\n  get state() {\n    return this._state;\n  }\n\n  /**\n   * Set a reference to the PDF document in order to search it.\n   * Note that searching is not possible if this method is not called.\n   *\n   * @param {PDFDocumentProxy} pdfDocument - The PDF document to search.\n   */\n  setDocument(pdfDocument) {\n    if (this._pdfDocument) {\n      this._reset();\n    }\n    if (!pdfDocument) {\n      return;\n    }\n    this._pdfDocument = pdfDocument;\n    this._firstPageCapability.resolve();\n  }\n\n  executeCommand(cmd, state) {\n    if (!state) {\n      return;\n    }\n    const pdfDocument = this._pdfDocument;\n\n    if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n      this._dirtyMatch = true;\n    }\n    this._state = state;\n    if (cmd !== \"findhighlightallchange\") {\n      this._updateUIState(FindState.PENDING);\n    }\n\n    this._firstPageCapability.promise.then(() => {\n      // If the document was closed before searching began, or if the search\n      // operation was relevant for a previously opened document, do nothing.\n      if (\n        !this._pdfDocument ||\n        (pdfDocument && this._pdfDocument !== pdfDocument)\n      ) {\n        return;\n      }\n      this._extractText();\n\n      const findbarClosed = !this._highlightMatches;\n      const pendingTimeout = !!this._findTimeout;\n\n      if (this._findTimeout) {\n        clearTimeout(this._findTimeout);\n        this._findTimeout = null;\n      }\n      if (cmd === \"find\") {\n        // Trigger the find action with a small delay to avoid starting the\n        // search when the user is still typing (saving resources).\n        this._findTimeout = setTimeout(() => {\n          this._nextMatch();\n          this._findTimeout = null;\n        }, FIND_TIMEOUT);\n      } else if (this._dirtyMatch) {\n        // Immediately trigger searching for non-'find' operations, when the\n        // current state needs to be reset and matches re-calculated.\n        this._nextMatch();\n      } else if (cmd === \"findagain\") {\n        this._nextMatch();\n\n        // When the findbar was previously closed, and `highlightAll` is set,\n        // ensure that the matches on all active pages are highlighted again.\n        if (findbarClosed && this._state.highlightAll) {\n          this._updateAllPages();\n        }\n      } else if (cmd === \"findhighlightallchange\") {\n        // If there was a pending search operation, synchronously trigger a new\n        // search *first* to ensure that the correct matches are highlighted.\n        if (pendingTimeout) {\n          this._nextMatch();\n        } else {\n          this._highlightMatches = true;\n        }\n        this._updateAllPages(); // Update the highlighting on all active pages.\n      } else {\n        this._nextMatch();\n      }\n    });\n  }\n\n  scrollMatchIntoView({ element = null, pageIndex = -1, matchIndex = -1 }) {\n    if (!this._scrollMatches || !element) {\n      return;\n    } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n      return;\n    } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n      return;\n    }\n    this._scrollMatches = false; // Ensure that scrolling only happens once.\n\n    const spot = {\n      top: MATCH_SCROLL_OFFSET_TOP,\n      left: MATCH_SCROLL_OFFSET_LEFT,\n    };\n    scrollIntoView(element, spot, /* skipOverflowHiddenElements = */ true);\n  }\n\n  _reset() {\n    this._highlightMatches = false;\n    this._scrollMatches = false;\n    this._pdfDocument = null;\n    this._pageMatches = [];\n    this._pageMatchesLength = [];\n    this._state = null;\n    // Currently selected match.\n    this._selected = {\n      pageIdx: -1,\n      matchIdx: -1,\n    };\n    // Where the find algorithm currently is in the document.\n    this._offset = {\n      pageIdx: null,\n      matchIdx: null,\n      wrapped: false,\n    };\n    this._extractTextPromises = [];\n    this._pageContents = []; // Stores the normalized text for each page.\n    this._matchesCountTotal = 0;\n    this._pagesToSearch = null;\n    this._pendingFindMatches = Object.create(null);\n    this._resumePageIdx = null;\n    this._dirtyMatch = false;\n    clearTimeout(this._findTimeout);\n    this._findTimeout = null;\n\n    this._firstPageCapability = createPromiseCapability();\n  }\n\n  /**\n   * @type {string} The (current) normalized search query.\n   */\n  get _query() {\n    if (this._state.query !== this._rawQuery) {\n      this._rawQuery = this._state.query;\n      this._normalizedQuery = normalize(this._state.query);\n    }\n    return this._normalizedQuery;\n  }\n\n  _shouldDirtyMatch(cmd, state) {\n    // When the search query changes, regardless of the actual search command\n    // used, always re-calculate matches to avoid errors (fixes bug 1030622).\n    if (state.query !== this._state.query) {\n      return true;\n    }\n    switch (cmd) {\n      case \"findagain\":\n        const pageNumber = this._selected.pageIdx + 1;\n        const linkService = this._linkService;\n        // Only treat a 'findagain' event as a new search operation when it's\n        // *absolutely* certain that the currently selected match is no longer\n        // visible, e.g. as a result of the user scrolling in the document.\n        //\n        // NOTE: If only a simple `this._linkService.page` check was used here,\n        // there's a risk that consecutive 'findagain' operations could \"skip\"\n        // over matches at the top/bottom of pages thus making them completely\n        // inaccessible when there's multiple pages visible in the viewer.\n        if (\n          pageNumber >= 1 &&\n          pageNumber <= linkService.pagesCount &&\n          pageNumber !== linkService.page &&\n          !linkService.isPageVisible(pageNumber)\n        ) {\n          return true;\n        }\n        return false;\n      case \"findhighlightallchange\":\n        return false;\n    }\n    return true;\n  }\n\n  /**\n   * Helper for multi-term search that fills the `matchesWithLength` array\n   * and handles cases where one search term includes another search term (for\n   * example, \"tamed tame\" or \"this is\"). It looks for intersecting terms in\n   * the `matches` and keeps elements with a longer match length.\n   */\n  _prepareMatches(matchesWithLength, matches, matchesLength) {\n    function isSubTerm(currentIndex) {\n      const currentElem = matchesWithLength[currentIndex];\n      const nextElem = matchesWithLength[currentIndex + 1];\n\n      // Check for cases like \"TAMEd TAME\".\n      if (\n        currentIndex < matchesWithLength.length - 1 &&\n        currentElem.match === nextElem.match\n      ) {\n        currentElem.skipped = true;\n        return true;\n      }\n\n      // Check for cases like \"thIS IS\".\n      for (let i = currentIndex - 1; i >= 0; i--) {\n        const prevElem = matchesWithLength[i];\n        if (prevElem.skipped) {\n          continue;\n        }\n        if (prevElem.match + prevElem.matchLength < currentElem.match) {\n          break;\n        }\n        if (\n          prevElem.match + prevElem.matchLength >=\n          currentElem.match + currentElem.matchLength\n        ) {\n          currentElem.skipped = true;\n          return true;\n        }\n      }\n      return false;\n    }\n\n    // Sort the array of `{ match: <match>, matchLength: <matchLength> }`\n    // objects on increasing index first and on the length otherwise.\n    matchesWithLength.sort(function(a, b) {\n      return a.match === b.match\n        ? a.matchLength - b.matchLength\n        : a.match - b.match;\n    });\n    for (let i = 0, len = matchesWithLength.length; i < len; i++) {\n      if (isSubTerm(i)) {\n        continue;\n      }\n      matches.push(matchesWithLength[i].match);\n      matchesLength.push(matchesWithLength[i].matchLength);\n    }\n  }\n\n  /**\n   * Determine if the search query constitutes a \"whole word\", by comparing the\n   * first/last character type with the preceding/following character type.\n   */\n  _isEntireWord(content, startIdx, length) {\n    if (startIdx > 0) {\n      const first = content.charCodeAt(startIdx);\n      const limit = content.charCodeAt(startIdx - 1);\n      if (getCharacterType(first) === getCharacterType(limit)) {\n        return false;\n      }\n    }\n    const endIdx = startIdx + length - 1;\n    if (endIdx < content.length - 1) {\n      const last = content.charCodeAt(endIdx);\n      const limit = content.charCodeAt(endIdx + 1);\n      if (getCharacterType(last) === getCharacterType(limit)) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n    const matches = [];\n    const queryLen = query.length;\n\n    let matchIdx = -queryLen;\n    while (true) {\n      matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n      if (matchIdx === -1) {\n        break;\n      }\n      if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n        continue;\n      }\n      matches.push(matchIdx);\n    }\n    this._pageMatches[pageIndex] = matches;\n  }\n\n  _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n    const matchesWithLength = [];\n\n    // Divide the query into pieces and search for text in each piece.\n    const queryArray = query.match(/\\S+/g);\n    for (let i = 0, len = queryArray.length; i < len; i++) {\n      const subquery = queryArray[i];\n      const subqueryLen = subquery.length;\n\n      let matchIdx = -subqueryLen;\n      while (true) {\n        matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n        if (matchIdx === -1) {\n          break;\n        }\n        if (\n          entireWord &&\n          !this._isEntireWord(pageContent, matchIdx, subqueryLen)\n        ) {\n          continue;\n        }\n        // Other searches do not, so we store the length.\n        matchesWithLength.push({\n          match: matchIdx,\n          matchLength: subqueryLen,\n          skipped: false,\n        });\n      }\n    }\n\n    // Prepare arrays for storing the matches.\n    this._pageMatchesLength[pageIndex] = [];\n    this._pageMatches[pageIndex] = [];\n\n    // Sort `matchesWithLength`, remove intersecting terms and put the result\n    // into the two arrays.\n    this._prepareMatches(\n      matchesWithLength,\n      this._pageMatches[pageIndex],\n      this._pageMatchesLength[pageIndex]\n    );\n  }\n\n  _calculateMatch(pageIndex) {\n    let pageContent = this._pageContents[pageIndex];\n    let query = this._query;\n    const { caseSensitive, entireWord, phraseSearch } = this._state;\n\n    if (query.length === 0) {\n      // Do nothing: the matches should be wiped out already.\n      return;\n    }\n\n    if (!caseSensitive) {\n      pageContent = pageContent.toLowerCase();\n      query = query.toLowerCase();\n    }\n\n    if (phraseSearch) {\n      this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n    } else {\n      this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n    }\n\n    // When `highlightAll` is set, ensure that the matches on previously\n    // rendered (and still active) pages are correctly highlighted.\n    if (this._state.highlightAll) {\n      this._updatePage(pageIndex);\n    }\n    if (this._resumePageIdx === pageIndex) {\n      this._resumePageIdx = null;\n      this._nextPageMatch();\n    }\n\n    // Update the match count.\n    const pageMatchesCount = this._pageMatches[pageIndex].length;\n    if (pageMatchesCount > 0) {\n      this._matchesCountTotal += pageMatchesCount;\n      this._updateUIResultsCount();\n    }\n  }\n\n  _extractText() {\n    // Perform text extraction once if this method is called multiple times.\n    if (this._extractTextPromises.length > 0) {\n      return;\n    }\n\n    let promise = Promise.resolve();\n    for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n      const extractTextCapability = createPromiseCapability();\n      this._extractTextPromises[i] = extractTextCapability.promise;\n\n      promise = promise.then(() => {\n        return this._pdfDocument\n          .getPage(i + 1)\n          .then(pdfPage => {\n            return pdfPage.getTextContent({\n              normalizeWhitespace: true,\n            });\n          })\n          .then(\n            textContent => {\n              const textItems = textContent.items;\n              const strBuf = [];\n\n              for (let j = 0, jj = textItems.length; j < jj; j++) {\n                strBuf.push(textItems[j].str);\n              }\n\n              // Store the normalized page content (text items) as one string.\n              this._pageContents[i] = normalize(strBuf.join(\"\"));\n              extractTextCapability.resolve(i);\n            },\n            reason => {\n              console.error(\n                `Unable to get text content for page ${i + 1}`,\n                reason\n              );\n              // Page error -- assuming no text content.\n              this._pageContents[i] = \"\";\n              extractTextCapability.resolve(i);\n            }\n          );\n      });\n    }\n  }\n\n  _updatePage(index) {\n    if (this._scrollMatches && this._selected.pageIdx === index) {\n      // If the page is selected, scroll the page into view, which triggers\n      // rendering the page, which adds the text layer. Once the text layer\n      // is built, it will attempt to scroll the selected match into view.\n      this._linkService.page = index + 1;\n    }\n\n    this._eventBus.dispatch(\"updatetextlayermatches\", {\n      source: this,\n      pageIndex: index,\n    });\n  }\n\n  _updateAllPages() {\n    this._eventBus.dispatch(\"updatetextlayermatches\", {\n      source: this,\n      pageIndex: -1,\n    });\n  }\n\n  _nextMatch() {\n    const previous = this._state.findPrevious;\n    const currentPageIndex = this._linkService.page - 1;\n    const numPages = this._linkService.pagesCount;\n\n    this._highlightMatches = true;\n\n    if (this._dirtyMatch) {\n      // Need to recalculate the matches, reset everything.\n      this._dirtyMatch = false;\n      this._selected.pageIdx = this._selected.matchIdx = -1;\n      this._offset.pageIdx = currentPageIndex;\n      this._offset.matchIdx = null;\n      this._offset.wrapped = false;\n      this._resumePageIdx = null;\n      this._pageMatches.length = 0;\n      this._pageMatchesLength.length = 0;\n      this._matchesCountTotal = 0;\n\n      this._updateAllPages(); // Wipe out any previously highlighted matches.\n\n      for (let i = 0; i < numPages; i++) {\n        // Start finding the matches as soon as the text is extracted.\n        if (this._pendingFindMatches[i] === true) {\n          continue;\n        }\n        this._pendingFindMatches[i] = true;\n        this._extractTextPromises[i].then(pageIdx => {\n          delete this._pendingFindMatches[pageIdx];\n          this._calculateMatch(pageIdx);\n        });\n      }\n    }\n\n    // If there's no query there's no point in searching.\n    if (this._query === \"\") {\n      this._updateUIState(FindState.FOUND);\n      return;\n    }\n    // If we're waiting on a page, we return since we can't do anything else.\n    if (this._resumePageIdx) {\n      return;\n    }\n\n    const offset = this._offset;\n    // Keep track of how many pages we should maximally iterate through.\n    this._pagesToSearch = numPages;\n    // If there's already a `matchIdx` that means we are iterating through a\n    // page's matches.\n    if (offset.matchIdx !== null) {\n      const numPageMatches = this._pageMatches[offset.pageIdx].length;\n      if (\n        (!previous && offset.matchIdx + 1 < numPageMatches) ||\n        (previous && offset.matchIdx > 0)\n      ) {\n        // The simple case; we just have advance the matchIdx to select\n        // the next match on the page.\n        offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n        this._updateMatch(/* found = */ true);\n        return;\n      }\n      // We went beyond the current page's matches, so we advance to\n      // the next page.\n      this._advanceOffsetPage(previous);\n    }\n    // Start searching through the page.\n    this._nextPageMatch();\n  }\n\n  _matchesReady(matches) {\n    const offset = this._offset;\n    const numMatches = matches.length;\n    const previous = this._state.findPrevious;\n\n    if (numMatches) {\n      // There were matches for the page, so initialize `matchIdx`.\n      offset.matchIdx = previous ? numMatches - 1 : 0;\n      this._updateMatch(/* found = */ true);\n      return true;\n    }\n    // No matches, so attempt to search the next page.\n    this._advanceOffsetPage(previous);\n    if (offset.wrapped) {\n      offset.matchIdx = null;\n      if (this._pagesToSearch < 0) {\n        // No point in wrapping again, there were no matches.\n        this._updateMatch(/* found = */ false);\n        // While matches were not found, searching for a page\n        // with matches should nevertheless halt.\n        return true;\n      }\n    }\n    // Matches were not found (and searching is not done).\n    return false;\n  }\n\n  _nextPageMatch() {\n    if (this._resumePageIdx !== null) {\n      console.error(\"There can only be one pending page.\");\n    }\n\n    let matches = null;\n    do {\n      const pageIdx = this._offset.pageIdx;\n      matches = this._pageMatches[pageIdx];\n      if (!matches) {\n        // The matches don't exist yet for processing by `_matchesReady`,\n        // so set a resume point for when they do exist.\n        this._resumePageIdx = pageIdx;\n        break;\n      }\n    } while (!this._matchesReady(matches));\n  }\n\n  _advanceOffsetPage(previous) {\n    const offset = this._offset;\n    const numPages = this._linkService.pagesCount;\n    offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n    offset.matchIdx = null;\n\n    this._pagesToSearch--;\n\n    if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n      offset.pageIdx = previous ? numPages - 1 : 0;\n      offset.wrapped = true;\n    }\n  }\n\n  _updateMatch(found = false) {\n    let state = FindState.NOT_FOUND;\n    const wrapped = this._offset.wrapped;\n    this._offset.wrapped = false;\n\n    if (found) {\n      const previousPage = this._selected.pageIdx;\n      this._selected.pageIdx = this._offset.pageIdx;\n      this._selected.matchIdx = this._offset.matchIdx;\n      state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n      // Update the currently selected page to wipe out any selected matches.\n      if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n        this._updatePage(previousPage);\n      }\n    }\n\n    this._updateUIState(state, this._state.findPrevious);\n    if (this._selected.pageIdx !== -1) {\n      // Ensure that the match will be scrolled into view.\n      this._scrollMatches = true;\n\n      this._updatePage(this._selected.pageIdx);\n    }\n  }\n\n  _onFindBarClose(evt) {\n    const pdfDocument = this._pdfDocument;\n    // Since searching is asynchronous, ensure that the removal of highlighted\n    // matches (from the UI) is async too such that the 'updatetextlayermatches'\n    // events will always be dispatched in the expected order.\n    this._firstPageCapability.promise.then(() => {\n      // Only update the UI if the document is open, and is the current one.\n      if (\n        !this._pdfDocument ||\n        (pdfDocument && this._pdfDocument !== pdfDocument)\n      ) {\n        return;\n      }\n      // Ensure that a pending, not yet started, search operation is aborted.\n      if (this._findTimeout) {\n        clearTimeout(this._findTimeout);\n        this._findTimeout = null;\n      }\n      // Abort any long running searches, to avoid a match being scrolled into\n      // view *after* the findbar has been closed. In this case `this._offset`\n      // will most likely differ from `this._selected`, hence we also ensure\n      // that any new search operation will always start with a clean slate.\n      if (this._resumePageIdx) {\n        this._resumePageIdx = null;\n        this._dirtyMatch = true;\n      }\n      // Avoid the UI being in a pending state when the findbar is re-opened.\n      this._updateUIState(FindState.FOUND);\n\n      this._highlightMatches = false;\n      this._updateAllPages(); // Wipe out any previously highlighted matches.\n    });\n  }\n\n  _requestMatchesCount() {\n    const { pageIdx, matchIdx } = this._selected;\n    let current = 0,\n      total = this._matchesCountTotal;\n    if (matchIdx !== -1) {\n      for (let i = 0; i < pageIdx; i++) {\n        current += (this._pageMatches[i] && this._pageMatches[i].length) || 0;\n      }\n      current += matchIdx + 1;\n    }\n    // When searching starts, this method may be called before the `pageMatches`\n    // have been counted (in `_calculateMatch`). Ensure that the UI won't show\n    // temporarily broken state when the active find result doesn't make sense.\n    if (current < 1 || current > total) {\n      current = total = 0;\n    }\n    return { current, total };\n  }\n\n  _updateUIResultsCount() {\n    this._eventBus.dispatch(\"updatefindmatchescount\", {\n      source: this,\n      matchesCount: this._requestMatchesCount(),\n    });\n  }\n\n  _updateUIState(state, previous) {\n    this._eventBus.dispatch(\"updatefindcontrolstate\", {\n      source: this,\n      state,\n      previous,\n      matchesCount: this._requestMatchesCount(),\n    });\n  }\n}\n\nexport { FindState, PDFFindController };\n","/* Copyright 2018 Mozilla Foundation\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\nconst CharacterType = {\n  SPACE: 0,\n  ALPHA_LETTER: 1,\n  PUNCT: 2,\n  HAN_LETTER: 3,\n  KATAKANA_LETTER: 4,\n  HIRAGANA_LETTER: 5,\n  HALFWIDTH_KATAKANA_LETTER: 6,\n  THAI_LETTER: 7,\n};\n\nfunction isAlphabeticalScript(charCode) {\n  return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n  return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n  return (\n    (charCode >= /* a = */ 0x61 && charCode <= /* z = */ 0x7a) ||\n    (charCode >= /* A = */ 0x41 && charCode <= /* Z = */ 0x5a)\n  );\n}\n\nfunction isAsciiDigit(charCode) {\n  return charCode >= /* 0 = */ 0x30 && charCode <= /* 9 = */ 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n  return (\n    charCode === /* SPACE = */ 0x20 ||\n    charCode === /* TAB = */ 0x09 ||\n    charCode === /* CR = */ 0x0d ||\n    charCode === /* LF = */ 0x0a\n  );\n}\n\nfunction isHan(charCode) {\n  return (\n    (charCode >= 0x3400 && charCode <= 0x9fff) ||\n    (charCode >= 0xf900 && charCode <= 0xfaff)\n  );\n}\n\nfunction isKatakana(charCode) {\n  return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n  return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n  return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n  return (charCode & 0xff80) === 0x0e00;\n}\n\n/**\n * This function is based on the word-break detection implemented in:\n * https://hg.mozilla.org/mozilla-central/file/tip/intl/lwbrk/WordBreaker.cpp\n */\nfunction getCharacterType(charCode) {\n  if (isAlphabeticalScript(charCode)) {\n    if (isAscii(charCode)) {\n      if (isAsciiSpace(charCode)) {\n        return CharacterType.SPACE;\n      } else if (\n        isAsciiAlpha(charCode) ||\n        isAsciiDigit(charCode) ||\n        charCode === /* UNDERSCORE = */ 0x5f\n      ) {\n        return CharacterType.ALPHA_LETTER;\n      }\n      return CharacterType.PUNCT;\n    } else if (isThai(charCode)) {\n      return CharacterType.THAI_LETTER;\n    } else if (charCode === /* NBSP = */ 0xa0) {\n      return CharacterType.SPACE;\n    }\n    return CharacterType.ALPHA_LETTER;\n  }\n\n  if (isHan(charCode)) {\n    return CharacterType.HAN_LETTER;\n  } else if (isKatakana(charCode)) {\n    return CharacterType.KATAKANA_LETTER;\n  } else if (isHiragana(charCode)) {\n    return CharacterType.HIRAGANA_LETTER;\n  } else if (isHalfwidthKatakana(charCode)) {\n    return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n  }\n  return CharacterType.ALPHA_LETTER;\n}\n\nexport { CharacterType, getCharacterType };\n","/* Copyright 2017 Mozilla Foundation\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\nimport {\n  getGlobalEventBus,\n  isValidRotation,\n  parseQueryString,\n  waitOnEventOrTimeout,\n} from \"./ui_utils.js\";\n\n// Heuristic value used when force-resetting `this._blockHashChange`.\nconst HASH_CHANGE_TIMEOUT = 1000; // milliseconds\n// Heuristic value used when adding the current position to the browser history.\nconst POSITION_UPDATED_THRESHOLD = 50;\n// Heuristic value used when adding a temporary position to the browser history.\nconst UPDATE_VIEWAREA_TIMEOUT = 1000; // milliseconds\n\n/**\n * @typedef {Object} PDFHistoryOptions\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {EventBus} eventBus - The application event bus.\n */\n\n/**\n * @typedef {Object} InitializeParameters\n * @property {string} fingerprint - The PDF document's unique fingerprint.\n * @property {boolean} [resetHistory] - Reset the browsing history.\n * @property {boolean} [updateUrl] - Attempt to update the document URL, with\n *   the current hash, when pushing/replacing browser history entries.\n */\n\n/**\n * @typedef {Object} PushParameters\n * @property {string} [namedDest] - The named destination. If absent, a\n *   stringified version of `explicitDest` is used.\n * @property {Array} explicitDest - The explicit destination array.\n * @property {number} pageNumber - The page to which the destination points.\n */\n\nfunction getCurrentHash() {\n  return document.location.hash;\n}\n\nclass PDFHistory {\n  /**\n   * @param {PDFHistoryOptions} options\n   */\n  constructor({ linkService, eventBus }) {\n    this.linkService = linkService;\n    this.eventBus = eventBus || getGlobalEventBus();\n\n    this._initialized = false;\n    this._fingerprint = \"\";\n    this.reset();\n\n    this._boundEvents = null;\n    this._isViewerInPresentationMode = false;\n    // Ensure that we don't miss either a 'presentationmodechanged' or a\n    // 'pagesinit' event, by registering the listeners immediately.\n    this.eventBus._on(\"presentationmodechanged\", evt => {\n      this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n    });\n    this.eventBus._on(\"pagesinit\", () => {\n      this._isPagesLoaded = false;\n\n      const onPagesLoaded = evt => {\n        this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n        this._isPagesLoaded = !!evt.pagesCount;\n      };\n      this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n    });\n  }\n\n  /**\n   * Initialize the history for the PDF document, using either the current\n   * browser history entry or the document hash, whichever is present.\n   * @param {InitializeParameters} params\n   */\n  initialize({ fingerprint, resetHistory = false, updateUrl = false }) {\n    if (!fingerprint || typeof fingerprint !== \"string\") {\n      console.error(\n        'PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.'\n      );\n      return;\n    }\n    // Ensure that any old state is always reset upon initialization.\n    if (this._initialized) {\n      this.reset();\n    }\n    const reInitialized =\n      this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n    this._fingerprint = fingerprint;\n    this._updateUrl = updateUrl === true;\n\n    this._initialized = true;\n    this._bindEvents();\n    const state = window.history.state;\n\n    this._popStateInProgress = false;\n    this._blockHashChange = 0;\n    this._currentHash = getCurrentHash();\n    this._numPositionUpdates = 0;\n\n    this._uid = this._maxUid = 0;\n    this._destination = null;\n    this._position = null;\n\n    if (!this._isValidState(state, /* checkReload = */ true) || resetHistory) {\n      const { hash, page, rotation } = this._parseCurrentHash();\n\n      if (!hash || reInitialized || resetHistory) {\n        // Ensure that the browser history is reset on PDF document load.\n        this._pushOrReplaceState(null, /* forceReplace = */ true);\n        return;\n      }\n      // Ensure that the browser history is initialized correctly when\n      // the document hash is present on PDF document load.\n      this._pushOrReplaceState(\n        { hash, page, rotation },\n        /* forceReplace = */ true\n      );\n      return;\n    }\n\n    // The browser history contains a valid entry, ensure that the history is\n    // initialized correctly on PDF document load.\n    const destination = state.destination;\n    this._updateInternalState(\n      destination,\n      state.uid,\n      /* removeTemporary = */ true\n    );\n    if (this._uid > this._maxUid) {\n      this._maxUid = this._uid;\n    }\n\n    if (destination.rotation !== undefined) {\n      this._initialRotation = destination.rotation;\n    }\n    if (destination.dest) {\n      this._initialBookmark = JSON.stringify(destination.dest);\n\n      // If the history is updated, e.g. through the user changing the hash,\n      // before the initial destination has become visible, then we do *not*\n      // want to potentially add `this._position` to the browser history.\n      this._destination.page = null;\n    } else if (destination.hash) {\n      this._initialBookmark = destination.hash;\n    } else if (destination.page) {\n      // Fallback case; shouldn't be necessary, but better safe than sorry.\n      this._initialBookmark = `page=${destination.page}`;\n    }\n  }\n\n  /**\n   * Reset the current `PDFHistory` instance, and consequently prevent any\n   * further updates and/or navigation of the browser history.\n   */\n  reset() {\n    if (this._initialized) {\n      this._pageHide(); // Simulate a 'pagehide' event when resetting.\n\n      this._initialized = false;\n      this._unbindEvents();\n    }\n    if (this._updateViewareaTimeout) {\n      clearTimeout(this._updateViewareaTimeout);\n      this._updateViewareaTimeout = null;\n    }\n    this._initialBookmark = null;\n    this._initialRotation = null;\n  }\n\n  /**\n   * Push an internal destination to the browser history.\n   * @param {PushParameters}\n   */\n  push({ namedDest = null, explicitDest, pageNumber }) {\n    if (!this._initialized) {\n      return;\n    }\n    if (namedDest && typeof namedDest !== \"string\") {\n      console.error(\n        \"PDFHistory.push: \" +\n          `\"${namedDest}\" is not a valid namedDest parameter.`\n      );\n      return;\n    } else if (!Array.isArray(explicitDest)) {\n      console.error(\n        \"PDFHistory.push: \" +\n          `\"${explicitDest}\" is not a valid explicitDest parameter.`\n      );\n      return;\n    } else if (\n      !(\n        Number.isInteger(pageNumber) &&\n        pageNumber > 0 &&\n        pageNumber <= this.linkService.pagesCount\n      )\n    ) {\n      // Allow an unset `pageNumber` if and only if the history is still empty;\n      // please refer to the `this._destination.page = null;` comment above.\n      if (pageNumber !== null || this._destination) {\n        console.error(\n          \"PDFHistory.push: \" +\n            `\"${pageNumber}\" is not a valid pageNumber parameter.`\n        );\n        return;\n      }\n    }\n\n    const hash = namedDest || JSON.stringify(explicitDest);\n    if (!hash) {\n      // The hash *should* never be undefined, but if that were to occur,\n      // avoid any possible issues by not updating the browser history.\n      return;\n    }\n\n    let forceReplace = false;\n    if (\n      this._destination &&\n      (isDestHashesEqual(this._destination.hash, hash) ||\n        isDestArraysEqual(this._destination.dest, explicitDest))\n    ) {\n      // When the new destination is identical to `this._destination`, and\n      // its `page` is undefined, replace the current browser history entry.\n      // NOTE: This can only occur if `this._destination` was set either:\n      //  - through the document hash being specified on load.\n      //  - through the user changing the hash of the document.\n      if (this._destination.page) {\n        return;\n      }\n      forceReplace = true;\n    }\n    if (this._popStateInProgress && !forceReplace) {\n      return;\n    }\n\n    this._pushOrReplaceState(\n      {\n        dest: explicitDest,\n        hash,\n        page: pageNumber,\n        rotation: this.linkService.rotation,\n      },\n      forceReplace\n    );\n\n    if (!this._popStateInProgress) {\n      // Prevent the browser history from updating while the new destination is\n      // being scrolled into view, to avoid potentially inconsistent state.\n      this._popStateInProgress = true;\n      // We defer the resetting of `this._popStateInProgress`, to account for\n      // e.g. zooming occuring when the new destination is being navigated to.\n      Promise.resolve().then(() => {\n        this._popStateInProgress = false;\n      });\n    }\n  }\n\n  /**\n   * Push the current position to the browser history.\n   */\n  pushCurrentPosition() {\n    if (!this._initialized || this._popStateInProgress) {\n      return;\n    }\n    this._tryPushCurrentPosition();\n  }\n\n  /**\n   * Go back one step in the browser history.\n   * NOTE: Avoids navigating away from the document, useful for \"named actions\".\n   */\n  back() {\n    if (!this._initialized || this._popStateInProgress) {\n      return;\n    }\n    const state = window.history.state;\n    if (this._isValidState(state) && state.uid > 0) {\n      window.history.back();\n    }\n  }\n\n  /**\n   * Go forward one step in the browser history.\n   * NOTE: Avoids navigating away from the document, useful for \"named actions\".\n   */\n  forward() {\n    if (!this._initialized || this._popStateInProgress) {\n      return;\n    }\n    const state = window.history.state;\n    if (this._isValidState(state) && state.uid < this._maxUid) {\n      window.history.forward();\n    }\n  }\n\n  /**\n   * @type {boolean} Indicating if the user is currently moving through the\n   *   browser history, useful e.g. for skipping the next 'hashchange' event.\n   */\n  get popStateInProgress() {\n    return (\n      this._initialized &&\n      (this._popStateInProgress || this._blockHashChange > 0)\n    );\n  }\n\n  get initialBookmark() {\n    return this._initialized ? this._initialBookmark : null;\n  }\n\n  get initialRotation() {\n    return this._initialized ? this._initialRotation : null;\n  }\n\n  /**\n   * @private\n   */\n  _pushOrReplaceState(destination, forceReplace = false) {\n    const shouldReplace = forceReplace || !this._destination;\n    const newState = {\n      fingerprint: this._fingerprint,\n      uid: shouldReplace ? this._uid : this._uid + 1,\n      destination,\n    };\n\n    if (\n      typeof PDFJSDev !== \"undefined\" &&\n      PDFJSDev.test(\"CHROME\") &&\n      window.history.state &&\n      window.history.state.chromecomState\n    ) {\n      // history.state.chromecomState is managed by chromecom.js.\n      newState.chromecomState = window.history.state.chromecomState;\n    }\n    this._updateInternalState(destination, newState.uid);\n\n    let newUrl;\n    if (this._updateUrl && destination && destination.hash) {\n      const baseUrl = document.location.href.split(\"#\")[0];\n      // Prevent errors in Firefox.\n      if (!baseUrl.startsWith(\"file://\")) {\n        newUrl = `${baseUrl}#${destination.hash}`;\n      }\n    }\n    if (shouldReplace) {\n      window.history.replaceState(newState, \"\", newUrl);\n    } else {\n      this._maxUid = this._uid;\n      window.history.pushState(newState, \"\", newUrl);\n    }\n\n    if (\n      typeof PDFJSDev !== \"undefined\" &&\n      PDFJSDev.test(\"CHROME\") &&\n      top === window\n    ) {\n      // eslint-disable-next-line no-undef\n      chrome.runtime.sendMessage(\"showPageAction\");\n    }\n  }\n\n  /**\n   * @private\n   */\n  _tryPushCurrentPosition(temporary = false) {\n    if (!this._position) {\n      return;\n    }\n    let position = this._position;\n    if (temporary) {\n      position = Object.assign(Object.create(null), this._position);\n      position.temporary = true;\n    }\n\n    if (!this._destination) {\n      this._pushOrReplaceState(position);\n      return;\n    }\n    if (this._destination.temporary) {\n      // Always replace a previous *temporary* position.\n      this._pushOrReplaceState(position, /* forceReplace = */ true);\n      return;\n    }\n    if (this._destination.hash === position.hash) {\n      return; // The current document position has not changed.\n    }\n    if (\n      !this._destination.page &&\n      (POSITION_UPDATED_THRESHOLD <= 0 ||\n        this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)\n    ) {\n      // `this._destination` was set through the user changing the hash of\n      // the document. Do not add `this._position` to the browser history,\n      // to avoid \"flooding\" it with lots of (nearly) identical entries,\n      // since we cannot ensure that the document position has changed.\n      return;\n    }\n\n    let forceReplace = false;\n    if (\n      this._destination.page >= position.first &&\n      this._destination.page <= position.page\n    ) {\n      // When the `page` of `this._destination` is still visible, do not\n      // update the browsing history when `this._destination` either:\n      //  - contains an internal destination, since in this case we\n      //    cannot ensure that the document position has actually changed.\n      //  - was set through the user changing the hash of the document.\n      if (this._destination.dest || !this._destination.first) {\n        return;\n      }\n      // To avoid \"flooding\" the browser history, replace the current entry.\n      forceReplace = true;\n    }\n    this._pushOrReplaceState(position, forceReplace);\n  }\n\n  /**\n   * @private\n   */\n  _isValidState(state, checkReload = false) {\n    if (!state) {\n      return false;\n    }\n    if (state.fingerprint !== this._fingerprint) {\n      if (checkReload) {\n        // Potentially accept the history entry, even if the fingerprints don't\n        // match, when the viewer was reloaded (see issue 6847).\n        if (\n          typeof state.fingerprint !== \"string\" ||\n          state.fingerprint.length !== this._fingerprint.length\n        ) {\n          return false;\n        }\n        const [perfEntry] = performance.getEntriesByType(\"navigation\");\n        if (!perfEntry || perfEntry.type !== \"reload\") {\n          return false;\n        }\n      } else {\n        // This should only occur in viewers with support for opening more than\n        // one PDF document, e.g. the GENERIC viewer.\n        return false;\n      }\n    }\n    if (!Number.isInteger(state.uid) || state.uid < 0) {\n      return false;\n    }\n    if (state.destination === null || typeof state.destination !== \"object\") {\n      return false;\n    }\n    return true;\n  }\n\n  /**\n   * @private\n   */\n  _updateInternalState(destination, uid, removeTemporary = false) {\n    if (this._updateViewareaTimeout) {\n      // When updating `this._destination`, make sure that we always wait for\n      // the next 'updateviewarea' event before (potentially) attempting to\n      // push the current position to the browser history.\n      clearTimeout(this._updateViewareaTimeout);\n      this._updateViewareaTimeout = null;\n    }\n    if (removeTemporary && destination && destination.temporary) {\n      // When the `destination` comes from the browser history,\n      // we no longer treat it as a *temporary* position.\n      delete destination.temporary;\n    }\n    this._destination = destination;\n    this._uid = uid;\n    // This should always be reset when `this._destination` is updated.\n    this._numPositionUpdates = 0;\n  }\n\n  /**\n   * @private\n   */\n  _parseCurrentHash() {\n    const hash = unescape(getCurrentHash()).substring(1);\n    let page = parseQueryString(hash).page | 0;\n\n    if (\n      !(\n        Number.isInteger(page) &&\n        page > 0 &&\n        page <= this.linkService.pagesCount\n      )\n    ) {\n      page = null;\n    }\n    return { hash, page, rotation: this.linkService.rotation };\n  }\n\n  /**\n   * @private\n   */\n  _updateViewarea({ location }) {\n    if (this._updateViewareaTimeout) {\n      clearTimeout(this._updateViewareaTimeout);\n      this._updateViewareaTimeout = null;\n    }\n\n    this._position = {\n      hash: this._isViewerInPresentationMode\n        ? `page=${location.pageNumber}`\n        : location.pdfOpenParams.substring(1),\n      page: this.linkService.page,\n      first: location.pageNumber,\n      rotation: location.rotation,\n    };\n\n    if (this._popStateInProgress) {\n      return;\n    }\n\n    if (\n      POSITION_UPDATED_THRESHOLD > 0 &&\n      this._isPagesLoaded &&\n      this._destination &&\n      !this._destination.page\n    ) {\n      // If the current destination was set through the user changing the hash\n      // of the document, we will usually not try to push the current position\n      // to the browser history; see `this._tryPushCurrentPosition()`.\n      //\n      // To prevent `this._tryPushCurrentPosition()` from effectively being\n      // reduced to a no-op in this case, we will assume that the position\n      // *did* in fact change if the 'updateviewarea' event was dispatched\n      // more than `POSITION_UPDATED_THRESHOLD` times.\n      this._numPositionUpdates++;\n    }\n\n    if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n      // When closing the browser, a 'pagehide' event will be dispatched which\n      // *should* allow us to push the current position to the browser history.\n      // In practice, it seems that the event is arriving too late in order for\n      // the session history to be successfully updated.\n      // (For additional details, please refer to the discussion in\n      //  https://bugzilla.mozilla.org/show_bug.cgi?id=1153393.)\n      //\n      // To workaround this we attempt to *temporarily* add the current position\n      // to the browser history only when the viewer is *idle*,\n      // i.e. when scrolling and/or zooming does not occur.\n      //\n      // PLEASE NOTE: It's absolutely imperative that the browser history is\n      // *not* updated too often, since that would render the viewer more or\n      // less unusable. Hence the use of a timeout to delay the update until\n      // the viewer has been idle for `UPDATE_VIEWAREA_TIMEOUT` milliseconds.\n      this._updateViewareaTimeout = setTimeout(() => {\n        if (!this._popStateInProgress) {\n          this._tryPushCurrentPosition(/* temporary = */ true);\n        }\n        this._updateViewareaTimeout = null;\n      }, UPDATE_VIEWAREA_TIMEOUT);\n    }\n  }\n\n  /**\n   * @private\n   */\n  _popState({ state }) {\n    const newHash = getCurrentHash(),\n      hashChanged = this._currentHash !== newHash;\n    this._currentHash = newHash;\n\n    if (\n      (typeof PDFJSDev !== \"undefined\" &&\n        PDFJSDev.test(\"CHROME\") &&\n        state &&\n        state.chromecomState &&\n        !this._isValidState(state)) ||\n      !state\n    ) {\n      // This case corresponds to the user changing the hash of the document.\n      this._uid++;\n\n      const { hash, page, rotation } = this._parseCurrentHash();\n      this._pushOrReplaceState(\n        { hash, page, rotation },\n        /* forceReplace = */ true\n      );\n      return;\n    }\n    if (!this._isValidState(state)) {\n      // This should only occur in viewers with support for opening more than\n      // one PDF document, e.g. the GENERIC viewer.\n      return;\n    }\n\n    // Prevent the browser history from updating until the new destination,\n    // as stored in the browser history, has been scrolled into view.\n    this._popStateInProgress = true;\n\n    if (hashChanged) {\n      // When the hash changed, implying that the 'popstate' event will be\n      // followed by a 'hashchange' event, then we do *not* want to update the\n      // browser history when handling the 'hashchange' event (in web/app.js)\n      // since that would *overwrite* the new destination navigated to below.\n      //\n      // To avoid accidentally disabling all future user-initiated hash changes,\n      // if there's e.g. another 'hashchange' listener that stops the event\n      // propagation, we make sure to always force-reset `this._blockHashChange`\n      // after `HASH_CHANGE_TIMEOUT` milliseconds have passed.\n      this._blockHashChange++;\n      waitOnEventOrTimeout({\n        target: window,\n        name: \"hashchange\",\n        delay: HASH_CHANGE_TIMEOUT,\n      }).then(() => {\n        this._blockHashChange--;\n      });\n    }\n\n    // Navigate to the new destination.\n    const destination = state.destination;\n    this._updateInternalState(\n      destination,\n      state.uid,\n      /* removeTemporary = */ true\n    );\n    if (this._uid > this._maxUid) {\n      this._maxUid = this._uid;\n    }\n\n    if (isValidRotation(destination.rotation)) {\n      this.linkService.rotation = destination.rotation;\n    }\n    if (destination.dest) {\n      this.linkService.navigateTo(destination.dest);\n    } else if (destination.hash) {\n      this.linkService.setHash(destination.hash);\n    } else if (destination.page) {\n      // Fallback case; shouldn't be necessary, but better safe than sorry.\n      this.linkService.page = destination.page;\n    }\n\n    // Since `PDFLinkService.navigateTo` is asynchronous, we thus defer the\n    // resetting of `this._popStateInProgress` slightly.\n    Promise.resolve().then(() => {\n      this._popStateInProgress = false;\n    });\n  }\n\n  /**\n   * @private\n   */\n  _pageHide() {\n    // Attempt to push the `this._position` into the browser history when\n    // navigating away from the document. This is *only* done if the history\n    // is empty/temporary, since otherwise an existing browser history entry\n    // will end up being overwritten (given that new entries cannot be pushed\n    // into the browser history when the 'unload' event has already fired).\n    if (!this._destination || this._destination.temporary) {\n      this._tryPushCurrentPosition();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _bindEvents() {\n    if (this._boundEvents) {\n      return; // The event listeners were already added.\n    }\n    this._boundEvents = {\n      updateViewarea: this._updateViewarea.bind(this),\n      popState: this._popState.bind(this),\n      pageHide: this._pageHide.bind(this),\n    };\n\n    this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n    window.addEventListener(\"popstate\", this._boundEvents.popState);\n    window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n  }\n\n  /**\n   * @private\n   */\n  _unbindEvents() {\n    if (!this._boundEvents) {\n      return; // The event listeners were already removed.\n    }\n    this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n    window.removeEventListener(\"popstate\", this._boundEvents.popState);\n    window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n\n    this._boundEvents = null;\n  }\n}\n\nfunction isDestHashesEqual(destHash, pushHash) {\n  if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n    return false;\n  }\n  if (destHash === pushHash) {\n    return true;\n  }\n  const { nameddest } = parseQueryString(destHash);\n  if (nameddest === pushHash) {\n    return true;\n  }\n  return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n  function isEntryEqual(first, second) {\n    if (typeof first !== typeof second) {\n      return false;\n    }\n    if (Array.isArray(first) || Array.isArray(second)) {\n      return false;\n    }\n    if (first !== null && typeof first === \"object\" && second !== null) {\n      if (Object.keys(first).length !== Object.keys(second).length) {\n        return false;\n      }\n      for (const key in first) {\n        if (!isEntryEqual(first[key], second[key])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    return first === second || (Number.isNaN(first) && Number.isNaN(second));\n  }\n\n  if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n    return false;\n  }\n  if (firstDest.length !== secondDest.length) {\n    return false;\n  }\n  for (let i = 0, ii = firstDest.length; i < ii; i++) {\n    if (!isEntryEqual(firstDest[i], secondDest[i])) {\n      return false;\n    }\n  }\n  return true;\n}\n\nexport { PDFHistory, isDestHashesEqual, isDestArraysEqual };\n","/* Copyright 2015 Mozilla Foundation\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\nimport { getGlobalEventBus, parseQueryString } from \"./ui_utils.js\";\n\n/**\n * @typedef {Object} PDFLinkServiceOptions\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [externalLinkTarget] - Specifies the `target` attribute\n *   for external links. Must use one of the values from {LinkTarget}.\n *   Defaults to using no target.\n * @property {string} [externalLinkRel] - Specifies the `rel` attribute for\n *   external links. Defaults to stripping the referrer.\n * @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,\n *   thus preserving the current zoom level in the viewer, when navigating\n *   to internal destinations. The default value is `false`.\n */\n\n/**\n * Performs navigation functions inside PDF, such as opening specified page,\n * or destination.\n * @implements {IPDFLinkService}\n */\nclass PDFLinkService {\n  /**\n   * @param {PDFLinkServiceOptions} options\n   */\n  constructor({\n    eventBus,\n    externalLinkTarget = null,\n    externalLinkRel = null,\n    externalLinkEnabled = true,\n    ignoreDestinationZoom = false,\n  } = {}) {\n    this.eventBus = eventBus || getGlobalEventBus();\n    this.externalLinkTarget = externalLinkTarget;\n    this.externalLinkRel = externalLinkRel;\n    this.externalLinkEnabled = externalLinkEnabled;\n    this._ignoreDestinationZoom = ignoreDestinationZoom;\n\n    this.baseUrl = null;\n    this.pdfDocument = null;\n    this.pdfViewer = null;\n    this.pdfHistory = null;\n\n    this._pagesRefCache = null;\n  }\n\n  setDocument(pdfDocument, baseUrl = null) {\n    this.baseUrl = baseUrl;\n    this.pdfDocument = pdfDocument;\n    this._pagesRefCache = Object.create(null);\n  }\n\n  setViewer(pdfViewer) {\n    this.pdfViewer = pdfViewer;\n  }\n\n  setHistory(pdfHistory) {\n    this.pdfHistory = pdfHistory;\n  }\n\n  /**\n   * @type {number}\n   */\n  get pagesCount() {\n    return this.pdfDocument ? this.pdfDocument.numPages : 0;\n  }\n\n  /**\n   * @type {number}\n   */\n  get page() {\n    return this.pdfViewer.currentPageNumber;\n  }\n\n  /**\n   * @param {number} value\n   */\n  set page(value) {\n    this.pdfViewer.currentPageNumber = value;\n  }\n\n  /**\n   * @type {number}\n   */\n  get rotation() {\n    return this.pdfViewer.pagesRotation;\n  }\n\n  /**\n   * @param {number} value\n   */\n  set rotation(value) {\n    this.pdfViewer.pagesRotation = value;\n  }\n\n  /**\n   * @param {string|Array} dest - The named, or explicit, PDF destination.\n   */\n  navigateTo(dest) {\n    const goToDestination = ({ namedDest, explicitDest }) => {\n      // Dest array looks like that: <page-ref> </XYZ|/FitXXX> <args..>\n      const destRef = explicitDest[0];\n      let pageNumber;\n\n      if (destRef instanceof Object) {\n        pageNumber = this._cachedPageNumber(destRef);\n\n        if (pageNumber === null) {\n          // Fetch the page reference if it's not yet available. This could\n          // only occur during loading, before all pages have been resolved.\n          this.pdfDocument\n            .getPageIndex(destRef)\n            .then(pageIndex => {\n              this.cachePageRef(pageIndex + 1, destRef);\n              goToDestination({ namedDest, explicitDest });\n            })\n            .catch(() => {\n              console.error(\n                `PDFLinkService.navigateTo: \"${destRef}\" is not ` +\n                  `a valid page reference, for dest=\"${dest}\".`\n              );\n            });\n          return;\n        }\n      } else if (Number.isInteger(destRef)) {\n        pageNumber = destRef + 1;\n      } else {\n        console.error(\n          `PDFLinkService.navigateTo: \"${destRef}\" is not ` +\n            `a valid destination reference, for dest=\"${dest}\".`\n        );\n        return;\n      }\n      if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n        console.error(\n          `PDFLinkService.navigateTo: \"${pageNumber}\" is not ` +\n            `a valid page number, for dest=\"${dest}\".`\n        );\n        return;\n      }\n\n      if (this.pdfHistory) {\n        // Update the browser history before scrolling the new destination into\n        // view, to be able to accurately capture the current document position.\n        this.pdfHistory.pushCurrentPosition();\n        this.pdfHistory.push({ namedDest, explicitDest, pageNumber });\n      }\n\n      this.pdfViewer.scrollPageIntoView({\n        pageNumber,\n        destArray: explicitDest,\n        ignoreDestinationZoom: this._ignoreDestinationZoom,\n      });\n    };\n\n    new Promise((resolve, reject) => {\n      if (typeof dest === \"string\") {\n        this.pdfDocument.getDestination(dest).then(destArray => {\n          resolve({\n            namedDest: dest,\n            explicitDest: destArray,\n          });\n        });\n        return;\n      }\n      resolve({\n        namedDest: \"\",\n        explicitDest: dest,\n      });\n    }).then(data => {\n      if (!Array.isArray(data.explicitDest)) {\n        console.error(\n          `PDFLinkService.navigateTo: \"${data.explicitDest}\" is` +\n            ` not a valid destination array, for dest=\"${dest}\".`\n        );\n        return;\n      }\n      goToDestination(data);\n    });\n  }\n\n  /**\n   * @param {string|Array} dest - The PDF destination object.\n   * @returns {string} The hyperlink to the PDF object.\n   */\n  getDestinationHash(dest) {\n    if (typeof dest === \"string\") {\n      return this.getAnchorUrl(\"#\" + escape(dest));\n    }\n    if (Array.isArray(dest)) {\n      const str = JSON.stringify(dest);\n      return this.getAnchorUrl(\"#\" + escape(str));\n    }\n    return this.getAnchorUrl(\"\");\n  }\n\n  /**\n   * Prefix the full url on anchor links to make sure that links are resolved\n   * relative to the current URL instead of the one defined in <base href>.\n   * @param {string} anchor The anchor hash, including the #.\n   * @returns {string} The hyperlink to the PDF object.\n   */\n  getAnchorUrl(anchor) {\n    return (this.baseUrl || \"\") + anchor;\n  }\n\n  /**\n   * @param {string} hash\n   */\n  setHash(hash) {\n    let pageNumber, dest;\n    if (hash.includes(\"=\")) {\n      const params = parseQueryString(hash);\n      if (\"search\" in params) {\n        this.eventBus.dispatch(\"findfromurlhash\", {\n          source: this,\n          query: params[\"search\"].replace(/\"/g, \"\"),\n          phraseSearch: params[\"phrase\"] === \"true\",\n        });\n      }\n      // borrowing syntax from \"Parameters for Opening PDF Files\"\n      if (\"nameddest\" in params) {\n        this.navigateTo(params.nameddest);\n        return;\n      }\n      if (\"page\" in params) {\n        pageNumber = params.page | 0 || 1;\n      }\n      if (\"zoom\" in params) {\n        // Build the destination array.\n        const zoomArgs = params.zoom.split(\",\"); // scale,left,top\n        const zoomArg = zoomArgs[0];\n        const zoomArgNumber = parseFloat(zoomArg);\n\n        if (!zoomArg.includes(\"Fit\")) {\n          // If the zoomArg is a number, it has to get divided by 100. If it's\n          // a string, it should stay as it is.\n          dest = [\n            null,\n            { name: \"XYZ\" },\n            zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n            zoomArgs.length > 2 ? zoomArgs[2] | 0 : null,\n            zoomArgNumber ? zoomArgNumber / 100 : zoomArg,\n          ];\n        } else {\n          if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n            dest = [null, { name: zoomArg }];\n          } else if (\n            zoomArg === \"FitH\" ||\n            zoomArg === \"FitBH\" ||\n            zoomArg === \"FitV\" ||\n            zoomArg === \"FitBV\"\n          ) {\n            dest = [\n              null,\n              { name: zoomArg },\n              zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n            ];\n          } else if (zoomArg === \"FitR\") {\n            if (zoomArgs.length !== 5) {\n              console.error(\n                'PDFLinkService.setHash: Not enough parameters for \"FitR\".'\n              );\n            } else {\n              dest = [\n                null,\n                { name: zoomArg },\n                zoomArgs[1] | 0,\n                zoomArgs[2] | 0,\n                zoomArgs[3] | 0,\n                zoomArgs[4] | 0,\n              ];\n            }\n          } else {\n            console.error(\n              `PDFLinkService.setHash: \"${zoomArg}\" is not ` +\n                \"a valid zoom value.\"\n            );\n          }\n        }\n      }\n      if (dest) {\n        this.pdfViewer.scrollPageIntoView({\n          pageNumber: pageNumber || this.page,\n          destArray: dest,\n          allowNegativeOffset: true,\n        });\n      } else if (pageNumber) {\n        this.page = pageNumber; // simple page\n      }\n      if (\"pagemode\" in params) {\n        this.eventBus.dispatch(\"pagemode\", {\n          source: this,\n          mode: params.pagemode,\n        });\n      }\n    } else {\n      // Named (or explicit) destination.\n      dest = unescape(hash);\n      try {\n        dest = JSON.parse(dest);\n\n        if (!Array.isArray(dest)) {\n          // Avoid incorrectly rejecting a valid named destination, such as\n          // e.g. \"4.3\" or \"true\", because `JSON.parse` converted its type.\n          dest = dest.toString();\n        }\n      } catch (ex) {}\n\n      if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n        this.navigateTo(dest);\n        return;\n      }\n      console.error(\n        `PDFLinkService.setHash: \"${unescape(hash)}\" is not ` +\n          \"a valid destination.\"\n      );\n    }\n  }\n\n  /**\n   * @param {string} action\n   */\n  executeNamedAction(action) {\n    // See PDF reference, table 8.45 - Named action\n    switch (action) {\n      case \"GoBack\":\n        if (this.pdfHistory) {\n          this.pdfHistory.back();\n        }\n        break;\n\n      case \"GoForward\":\n        if (this.pdfHistory) {\n          this.pdfHistory.forward();\n        }\n        break;\n\n      case \"NextPage\":\n        if (this.page < this.pagesCount) {\n          this.page++;\n        }\n        break;\n\n      case \"PrevPage\":\n        if (this.page > 1) {\n          this.page--;\n        }\n        break;\n\n      case \"LastPage\":\n        this.page = this.pagesCount;\n        break;\n\n      case \"FirstPage\":\n        this.page = 1;\n        break;\n\n      default:\n        break; // No action according to spec\n    }\n\n    this.eventBus.dispatch(\"namedaction\", {\n      source: this,\n      action,\n    });\n  }\n\n  /**\n   * @param {number} pageNum - page number.\n   * @param {Object} pageRef - reference to the page.\n   */\n  cachePageRef(pageNum, pageRef) {\n    if (!pageRef) {\n      return;\n    }\n    const refStr =\n      pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n    this._pagesRefCache[refStr] = pageNum;\n  }\n\n  _cachedPageNumber(pageRef) {\n    const refStr =\n      pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n    return (this._pagesRefCache && this._pagesRefCache[refStr]) || null;\n  }\n\n  /**\n   * @param {number} pageNumber\n   */\n  isPageVisible(pageNumber) {\n    return this.pdfViewer.isPageVisible(pageNumber);\n  }\n}\n\nfunction isValidExplicitDestination(dest) {\n  if (!Array.isArray(dest)) {\n    return false;\n  }\n  const destLength = dest.length;\n  if (destLength < 2) {\n    return false;\n  }\n  const page = dest[0];\n  if (\n    !(\n      typeof page === \"object\" &&\n      Number.isInteger(page.num) &&\n      Number.isInteger(page.gen)\n    ) &&\n    !(Number.isInteger(page) && page >= 0)\n  ) {\n    return false;\n  }\n  const zoom = dest[1];\n  if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n    return false;\n  }\n  let allowNull = true;\n  switch (zoom.name) {\n    case \"XYZ\":\n      if (destLength !== 5) {\n        return false;\n      }\n      break;\n    case \"Fit\":\n    case \"FitB\":\n      return destLength === 2;\n    case \"FitH\":\n    case \"FitBH\":\n    case \"FitV\":\n    case \"FitBV\":\n      if (destLength !== 3) {\n        return false;\n      }\n      break;\n    case \"FitR\":\n      if (destLength !== 6) {\n        return false;\n      }\n      allowNull = false;\n      break;\n    default:\n      return false;\n  }\n  for (let i = 2; i < destLength; i++) {\n    const param = dest[i];\n    if (!(typeof param === \"number\" || (allowNull && param === null))) {\n      return false;\n    }\n  }\n  return true;\n}\n\n/**\n * @implements {IPDFLinkService}\n */\nclass SimpleLinkService {\n  constructor() {\n    this.externalLinkTarget = null;\n    this.externalLinkRel = null;\n    this.externalLinkEnabled = true;\n    this._ignoreDestinationZoom = false;\n  }\n\n  /**\n   * @type {number}\n   */\n  get pagesCount() {\n    return 0;\n  }\n\n  /**\n   * @type {number}\n   */\n  get page() {\n    return 0;\n  }\n\n  /**\n   * @param {number} value\n   */\n  set page(value) {}\n\n  /**\n   * @type {number}\n   */\n  get rotation() {\n    return 0;\n  }\n\n  /**\n   * @param {number} value\n   */\n  set rotation(value) {}\n\n  /**\n   * @param dest - The PDF destination object.\n   */\n  navigateTo(dest) {}\n\n  /**\n   * @param dest - The PDF destination object.\n   * @returns {string} The hyperlink to the PDF object.\n   */\n  getDestinationHash(dest) {\n    return \"#\";\n  }\n\n  /**\n   * @param hash - The PDF parameters/hash.\n   * @returns {string} The hyperlink to the PDF object.\n   */\n  getAnchorUrl(hash) {\n    return \"#\";\n  }\n\n  /**\n   * @param {string} hash\n   */\n  setHash(hash) {}\n\n  /**\n   * @param {string} action\n   */\n  executeNamedAction(action) {}\n\n  /**\n   * @param {number} pageNum - page number.\n   * @param {Object} pageRef - reference to the page.\n   */\n  cachePageRef(pageNum, pageRef) {}\n\n  /**\n   * @param {number} pageNumber\n   */\n  isPageVisible(pageNumber) {\n    return true;\n  }\n}\n\nexport { PDFLinkService, SimpleLinkService };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { addLinkAttributes, LinkTarget, removeNullCharacters } from \"pdfjs-lib\";\n\nconst DEFAULT_TITLE = \"\\u2013\";\n\n/**\n * @typedef {Object} PDFOutlineViewerOptions\n * @property {HTMLDivElement} container - The viewer element.\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {EventBus} eventBus - The application event bus.\n */\n\n/**\n * @typedef {Object} PDFOutlineViewerRenderParameters\n * @property {Array|null} outline - An array of outline objects.\n */\n\nclass PDFOutlineViewer {\n  /**\n   * @param {PDFOutlineViewerOptions} options\n   */\n  constructor({ container, linkService, eventBus }) {\n    this.container = container;\n    this.linkService = linkService;\n    this.eventBus = eventBus;\n\n    this.reset();\n\n    eventBus._on(\"toggleoutlinetree\", this.toggleOutlineTree.bind(this));\n  }\n\n  reset() {\n    this.outline = null;\n    this.lastToggleIsShow = true;\n\n    // Remove the outline from the DOM.\n    this.container.textContent = \"\";\n\n    // Ensure that the left (right in RTL locales) margin is always reset,\n    // to prevent incorrect outline alignment if a new document is opened.\n    this.container.classList.remove(\"outlineWithDeepNesting\");\n  }\n\n  /**\n   * @private\n   */\n  _dispatchEvent(outlineCount) {\n    this.eventBus.dispatch(\"outlineloaded\", {\n      source: this,\n      outlineCount,\n    });\n  }\n\n  /**\n   * @private\n   */\n  _bindLink(element, { url, newWindow, dest }) {\n    const { linkService } = this;\n\n    if (url) {\n      addLinkAttributes(element, {\n        url,\n        target: newWindow ? LinkTarget.BLANK : linkService.externalLinkTarget,\n        rel: linkService.externalLinkRel,\n        enabled: linkService.externalLinkEnabled,\n      });\n      return;\n    }\n\n    element.href = linkService.getDestinationHash(dest);\n    element.onclick = () => {\n      if (dest) {\n        linkService.navigateTo(dest);\n      }\n      return false;\n    };\n  }\n\n  /**\n   * @private\n   */\n  _setStyles(element, { bold, italic }) {\n    if (bold) {\n      element.style.fontWeight = \"bold\";\n    }\n    if (italic) {\n      element.style.fontStyle = \"italic\";\n    }\n  }\n\n  /**\n   * Prepend a button before an outline item which allows the user to toggle\n   * the visibility of all outline items at that level.\n   *\n   * @private\n   */\n  _addToggleButton(div, { count, items }) {\n    const toggler = document.createElement(\"div\");\n    toggler.className = \"outlineItemToggler\";\n    if (count < 0 && Math.abs(count) === items.length) {\n      toggler.classList.add(\"outlineItemsHidden\");\n    }\n    toggler.onclick = evt => {\n      evt.stopPropagation();\n      toggler.classList.toggle(\"outlineItemsHidden\");\n\n      if (evt.shiftKey) {\n        const shouldShowAll = !toggler.classList.contains(\"outlineItemsHidden\");\n        this._toggleOutlineItem(div, shouldShowAll);\n      }\n    };\n    div.insertBefore(toggler, div.firstChild);\n  }\n\n  /**\n   * Toggle the visibility of the subtree of an outline item.\n   *\n   * @param {Element} root - the root of the outline (sub)tree.\n   * @param {boolean} show - whether to show the outline (sub)tree. If false,\n   *   the outline subtree rooted at |root| will be collapsed.\n   *\n   * @private\n   */\n  _toggleOutlineItem(root, show = false) {\n    this.lastToggleIsShow = show;\n    for (const toggler of root.querySelectorAll(\".outlineItemToggler\")) {\n      toggler.classList.toggle(\"outlineItemsHidden\", !show);\n    }\n  }\n\n  /**\n   * Collapse or expand all subtrees of the outline.\n   */\n  toggleOutlineTree() {\n    if (!this.outline) {\n      return;\n    }\n    this._toggleOutlineItem(this.container, !this.lastToggleIsShow);\n  }\n\n  /**\n   * @param {PDFOutlineViewerRenderParameters} params\n   */\n  render({ outline }) {\n    let outlineCount = 0;\n\n    if (this.outline) {\n      this.reset();\n    }\n    this.outline = outline || null;\n\n    if (!outline) {\n      this._dispatchEvent(outlineCount);\n      return;\n    }\n\n    const fragment = document.createDocumentFragment();\n    const queue = [{ parent: fragment, items: this.outline }];\n    let hasAnyNesting = false;\n    while (queue.length > 0) {\n      const levelData = queue.shift();\n      for (const item of levelData.items) {\n        const div = document.createElement(\"div\");\n        div.className = \"outlineItem\";\n\n        const element = document.createElement(\"a\");\n        this._bindLink(element, item);\n        this._setStyles(element, item);\n        element.textContent = removeNullCharacters(item.title) || DEFAULT_TITLE;\n\n        div.appendChild(element);\n\n        if (item.items.length > 0) {\n          hasAnyNesting = true;\n          this._addToggleButton(div, item);\n\n          const itemsDiv = document.createElement(\"div\");\n          itemsDiv.className = \"outlineItems\";\n          div.appendChild(itemsDiv);\n          queue.push({ parent: itemsDiv, items: item.items });\n        }\n\n        levelData.parent.appendChild(div);\n        outlineCount++;\n      }\n    }\n    if (hasAnyNesting) {\n      this.container.classList.add(\"outlineWithDeepNesting\");\n\n      this.lastToggleIsShow =\n        fragment.querySelectorAll(\".outlineItemsHidden\").length === 0;\n    }\n\n    this.container.appendChild(fragment);\n\n    this._dispatchEvent(outlineCount);\n  }\n}\n\nexport { PDFOutlineViewer };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { normalizeWheelEventDelta } from \"./ui_utils.js\";\n\nconst DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500; // in ms\nconst DELAY_BEFORE_HIDING_CONTROLS = 3000; // in ms\nconst ACTIVE_SELECTOR = \"pdfPresentationMode\";\nconst CONTROLS_SELECTOR = \"pdfPresentationModeControls\";\nconst MOUSE_SCROLL_COOLDOWN_TIME = 50; // in ms\nconst PAGE_SWITCH_THRESHOLD = 0.1;\n\n// Number of CSS pixels for a movement to count as a swipe.\nconst SWIPE_MIN_DISTANCE_THRESHOLD = 50;\n\n// Swipe angle deviation from the x or y axis before it is not\n// considered a swipe in that direction any more.\nconst SWIPE_ANGLE_THRESHOLD = Math.PI / 6;\n\n/**\n * @typedef {Object} PDFPresentationModeOptions\n * @property {HTMLDivElement} container - The container for the viewer element.\n * @property {PDFViewer} pdfViewer - The document viewer.\n * @property {EventBus} eventBus - The application event bus.\n * @property {Array} [contextMenuItems] - The menu items that are added to the\n *   context menu in Presentation Mode.\n */\n\nclass PDFPresentationMode {\n  /**\n   * @param {PDFPresentationModeOptions} options\n   */\n  constructor({ container, pdfViewer, eventBus, contextMenuItems = null }) {\n    this.container = container;\n    this.pdfViewer = pdfViewer;\n    this.eventBus = eventBus;\n\n    this.active = false;\n    this.args = null;\n    this.contextMenuOpen = false;\n    this.mouseScrollTimeStamp = 0;\n    this.mouseScrollDelta = 0;\n    this.touchSwipeState = null;\n\n    if (contextMenuItems) {\n      contextMenuItems.contextFirstPage.addEventListener(\"click\", () => {\n        this.contextMenuOpen = false;\n        this.eventBus.dispatch(\"firstpage\", { source: this });\n      });\n      contextMenuItems.contextLastPage.addEventListener(\"click\", () => {\n        this.contextMenuOpen = false;\n        this.eventBus.dispatch(\"lastpage\", { source: this });\n      });\n      contextMenuItems.contextPageRotateCw.addEventListener(\"click\", () => {\n        this.contextMenuOpen = false;\n        this.eventBus.dispatch(\"rotatecw\", { source: this });\n      });\n      contextMenuItems.contextPageRotateCcw.addEventListener(\"click\", () => {\n        this.contextMenuOpen = false;\n        this.eventBus.dispatch(\"rotateccw\", { source: this });\n      });\n    }\n  }\n\n  /**\n   * Request the browser to enter fullscreen mode.\n   * @returns {boolean} Indicating if the request was successful.\n   */\n  request() {\n    if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) {\n      return false;\n    }\n    this._addFullscreenChangeListeners();\n    this._setSwitchInProgress();\n    this._notifyStateChange();\n\n    if (this.container.requestFullscreen) {\n      this.container.requestFullscreen();\n    } else if (this.container.mozRequestFullScreen) {\n      this.container.mozRequestFullScreen();\n    } else if (this.container.webkitRequestFullscreen) {\n      this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);\n    } else if (this.container.msRequestFullscreen) {\n      this.container.msRequestFullscreen();\n    } else {\n      return false;\n    }\n\n    this.args = {\n      page: this.pdfViewer.currentPageNumber,\n      previousScale: this.pdfViewer.currentScaleValue,\n    };\n\n    return true;\n  }\n\n  /**\n   * @private\n   */\n  _mouseWheel(evt) {\n    if (!this.active) {\n      return;\n    }\n\n    evt.preventDefault();\n\n    const delta = normalizeWheelEventDelta(evt);\n    const currentTime = new Date().getTime();\n    const storedTime = this.mouseScrollTimeStamp;\n\n    // If we've already switched page, avoid accidentally switching again.\n    if (\n      currentTime > storedTime &&\n      currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME\n    ) {\n      return;\n    }\n    // If the scroll direction changed, reset the accumulated scroll delta.\n    if (\n      (this.mouseScrollDelta > 0 && delta < 0) ||\n      (this.mouseScrollDelta < 0 && delta > 0)\n    ) {\n      this._resetMouseScrollState();\n    }\n    this.mouseScrollDelta += delta;\n\n    if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) {\n      const totalDelta = this.mouseScrollDelta;\n      this._resetMouseScrollState();\n      const success =\n        totalDelta > 0 ? this._goToPreviousPage() : this._goToNextPage();\n      if (success) {\n        this.mouseScrollTimeStamp = currentTime;\n      }\n    }\n  }\n\n  get isFullscreen() {\n    return !!(\n      document.fullscreenElement ||\n      document.mozFullScreen ||\n      document.webkitIsFullScreen ||\n      document.msFullscreenElement\n    );\n  }\n\n  /**\n   * @private\n   */\n  _goToPreviousPage() {\n    const page = this.pdfViewer.currentPageNumber;\n    // If we're at the first page, we don't need to do anything.\n    if (page <= 1) {\n      return false;\n    }\n    this.pdfViewer.currentPageNumber = page - 1;\n    return true;\n  }\n\n  /**\n   * @private\n   */\n  _goToNextPage() {\n    const page = this.pdfViewer.currentPageNumber;\n    // If we're at the last page, we don't need to do anything.\n    if (page >= this.pdfViewer.pagesCount) {\n      return false;\n    }\n    this.pdfViewer.currentPageNumber = page + 1;\n    return true;\n  }\n\n  /**\n   * @private\n   */\n  _notifyStateChange() {\n    this.eventBus.dispatch(\"presentationmodechanged\", {\n      source: this,\n      active: this.active,\n      switchInProgress: !!this.switchInProgress,\n    });\n  }\n\n  /**\n   * Used to initialize a timeout when requesting Presentation Mode,\n   * i.e. when the browser is requested to enter fullscreen mode.\n   * This timeout is used to prevent the current page from being scrolled\n   * partially, or completely, out of view when entering Presentation Mode.\n   * NOTE: This issue seems limited to certain zoom levels (e.g. page-width).\n   *\n   * @private\n   */\n  _setSwitchInProgress() {\n    if (this.switchInProgress) {\n      clearTimeout(this.switchInProgress);\n    }\n    this.switchInProgress = setTimeout(() => {\n      this._removeFullscreenChangeListeners();\n      delete this.switchInProgress;\n      this._notifyStateChange();\n    }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS);\n  }\n\n  /**\n   * @private\n   */\n  _resetSwitchInProgress() {\n    if (this.switchInProgress) {\n      clearTimeout(this.switchInProgress);\n      delete this.switchInProgress;\n    }\n  }\n\n  /**\n   * @private\n   */\n  _enter() {\n    this.active = true;\n    this._resetSwitchInProgress();\n    this._notifyStateChange();\n    this.container.classList.add(ACTIVE_SELECTOR);\n\n    // Ensure that the correct page is scrolled into view when entering\n    // Presentation Mode, by waiting until fullscreen mode in enabled.\n    setTimeout(() => {\n      this.pdfViewer.currentPageNumber = this.args.page;\n      this.pdfViewer.currentScaleValue = \"page-fit\";\n    }, 0);\n\n    this._addWindowListeners();\n    this._showControls();\n    this.contextMenuOpen = false;\n    this.container.setAttribute(\"contextmenu\", \"viewerContextMenu\");\n\n    // Text selection is disabled in Presentation Mode, thus it's not possible\n    // for the user to deselect text that is selected (e.g. with \"Select all\")\n    // when entering Presentation Mode, hence we remove any active selection.\n    window.getSelection().removeAllRanges();\n  }\n\n  /**\n   * @private\n   */\n  _exit() {\n    const page = this.pdfViewer.currentPageNumber;\n    this.container.classList.remove(ACTIVE_SELECTOR);\n\n    // Ensure that the correct page is scrolled into view when exiting\n    // Presentation Mode, by waiting until fullscreen mode is disabled.\n    setTimeout(() => {\n      this.active = false;\n      this._removeFullscreenChangeListeners();\n      this._notifyStateChange();\n\n      this.pdfViewer.currentScaleValue = this.args.previousScale;\n      this.pdfViewer.currentPageNumber = page;\n      this.args = null;\n    }, 0);\n\n    this._removeWindowListeners();\n    this._hideControls();\n    this._resetMouseScrollState();\n    this.container.removeAttribute(\"contextmenu\");\n    this.contextMenuOpen = false;\n  }\n\n  /**\n   * @private\n   */\n  _mouseDown(evt) {\n    if (this.contextMenuOpen) {\n      this.contextMenuOpen = false;\n      evt.preventDefault();\n      return;\n    }\n    if (evt.button === 0) {\n      // Enable clicking of links in presentation mode. Note: only links\n      // pointing to destinations in the current PDF document work.\n      const isInternalLink =\n        evt.target.href && evt.target.classList.contains(\"internalLink\");\n      if (!isInternalLink) {\n        // Unless an internal link was clicked, advance one page.\n        evt.preventDefault();\n\n        if (evt.shiftKey) {\n          this._goToPreviousPage();\n        } else {\n          this._goToNextPage();\n        }\n      }\n    }\n  }\n\n  /**\n   * @private\n   */\n  _contextMenu() {\n    this.contextMenuOpen = true;\n  }\n\n  /**\n   * @private\n   */\n  _showControls() {\n    if (this.controlsTimeout) {\n      clearTimeout(this.controlsTimeout);\n    } else {\n      this.container.classList.add(CONTROLS_SELECTOR);\n    }\n    this.controlsTimeout = setTimeout(() => {\n      this.container.classList.remove(CONTROLS_SELECTOR);\n      delete this.controlsTimeout;\n    }, DELAY_BEFORE_HIDING_CONTROLS);\n  }\n\n  /**\n   * @private\n   */\n  _hideControls() {\n    if (!this.controlsTimeout) {\n      return;\n    }\n    clearTimeout(this.controlsTimeout);\n    this.container.classList.remove(CONTROLS_SELECTOR);\n    delete this.controlsTimeout;\n  }\n\n  /**\n   * Resets the properties used for tracking mouse scrolling events.\n   *\n   * @private\n   */\n  _resetMouseScrollState() {\n    this.mouseScrollTimeStamp = 0;\n    this.mouseScrollDelta = 0;\n  }\n\n  /**\n   * @private\n   */\n  _touchSwipe(evt) {\n    if (!this.active) {\n      return;\n    }\n    if (evt.touches.length > 1) {\n      // Multiple touch points detected; cancel the swipe.\n      this.touchSwipeState = null;\n      return;\n    }\n\n    switch (evt.type) {\n      case \"touchstart\":\n        this.touchSwipeState = {\n          startX: evt.touches[0].pageX,\n          startY: evt.touches[0].pageY,\n          endX: evt.touches[0].pageX,\n          endY: evt.touches[0].pageY,\n        };\n        break;\n      case \"touchmove\":\n        if (this.touchSwipeState === null) {\n          return;\n        }\n        this.touchSwipeState.endX = evt.touches[0].pageX;\n        this.touchSwipeState.endY = evt.touches[0].pageY;\n        // Avoid the swipe from triggering browser gestures (Chrome in\n        // particular has some sort of swipe gesture in fullscreen mode).\n        evt.preventDefault();\n        break;\n      case \"touchend\":\n        if (this.touchSwipeState === null) {\n          return;\n        }\n        let delta = 0;\n        const dx = this.touchSwipeState.endX - this.touchSwipeState.startX;\n        const dy = this.touchSwipeState.endY - this.touchSwipeState.startY;\n        const absAngle = Math.abs(Math.atan2(dy, dx));\n        if (\n          Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD &&\n          (absAngle <= SWIPE_ANGLE_THRESHOLD ||\n            absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)\n        ) {\n          // Horizontal swipe.\n          delta = dx;\n        } else if (\n          Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD &&\n          Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD\n        ) {\n          // Vertical swipe.\n          delta = dy;\n        }\n        if (delta > 0) {\n          this._goToPreviousPage();\n        } else if (delta < 0) {\n          this._goToNextPage();\n        }\n        break;\n    }\n  }\n\n  /**\n   * @private\n   */\n  _addWindowListeners() {\n    this.showControlsBind = this._showControls.bind(this);\n    this.mouseDownBind = this._mouseDown.bind(this);\n    this.mouseWheelBind = this._mouseWheel.bind(this);\n    this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this);\n    this.contextMenuBind = this._contextMenu.bind(this);\n    this.touchSwipeBind = this._touchSwipe.bind(this);\n\n    window.addEventListener(\"mousemove\", this.showControlsBind);\n    window.addEventListener(\"mousedown\", this.mouseDownBind);\n    window.addEventListener(\"wheel\", this.mouseWheelBind);\n    window.addEventListener(\"keydown\", this.resetMouseScrollStateBind);\n    window.addEventListener(\"contextmenu\", this.contextMenuBind);\n    window.addEventListener(\"touchstart\", this.touchSwipeBind);\n    window.addEventListener(\"touchmove\", this.touchSwipeBind);\n    window.addEventListener(\"touchend\", this.touchSwipeBind);\n  }\n\n  /**\n   * @private\n   */\n  _removeWindowListeners() {\n    window.removeEventListener(\"mousemove\", this.showControlsBind);\n    window.removeEventListener(\"mousedown\", this.mouseDownBind);\n    window.removeEventListener(\"wheel\", this.mouseWheelBind);\n    window.removeEventListener(\"keydown\", this.resetMouseScrollStateBind);\n    window.removeEventListener(\"contextmenu\", this.contextMenuBind);\n    window.removeEventListener(\"touchstart\", this.touchSwipeBind);\n    window.removeEventListener(\"touchmove\", this.touchSwipeBind);\n    window.removeEventListener(\"touchend\", this.touchSwipeBind);\n\n    delete this.showControlsBind;\n    delete this.mouseDownBind;\n    delete this.mouseWheelBind;\n    delete this.resetMouseScrollStateBind;\n    delete this.contextMenuBind;\n    delete this.touchSwipeBind;\n  }\n\n  /**\n   * @private\n   */\n  _fullscreenChange() {\n    if (this.isFullscreen) {\n      this._enter();\n    } else {\n      this._exit();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _addFullscreenChangeListeners() {\n    this.fullscreenChangeBind = this._fullscreenChange.bind(this);\n\n    window.addEventListener(\"fullscreenchange\", this.fullscreenChangeBind);\n    window.addEventListener(\"mozfullscreenchange\", this.fullscreenChangeBind);\n    if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n      window.addEventListener(\n        \"webkitfullscreenchange\",\n        this.fullscreenChangeBind\n      );\n      window.addEventListener(\"MSFullscreenChange\", this.fullscreenChangeBind);\n    }\n  }\n\n  /**\n   * @private\n   */\n  _removeFullscreenChangeListeners() {\n    window.removeEventListener(\"fullscreenchange\", this.fullscreenChangeBind);\n    window.removeEventListener(\n      \"mozfullscreenchange\",\n      this.fullscreenChangeBind\n    );\n    if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n      window.removeEventListener(\n        \"webkitfullscreenchange\",\n        this.fullscreenChangeBind\n      );\n      window.removeEventListener(\n        \"MSFullscreenChange\",\n        this.fullscreenChangeBind\n      );\n    }\n\n    delete this.fullscreenChangeBind;\n  }\n}\n\nexport { PDFPresentationMode };\n","/* Copyright 2017 Mozilla Foundation\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\nimport { clamp, NullL10n } from \"./ui_utils.js\";\n\nconst SIDEBAR_WIDTH_VAR = \"--sidebar-width\";\nconst SIDEBAR_MIN_WIDTH = 200; // pixels\nconst SIDEBAR_RESIZING_CLASS = \"sidebarResizing\";\n\n/**\n * @typedef {Object} PDFSidebarResizerOptions\n * @property {HTMLDivElement} outerContainer - The outer container\n *   (encasing both the viewer and sidebar elements).\n * @property {HTMLDivElement} resizer - The DOM element that can be dragged in\n *   order to adjust the width of the sidebar.\n */\n\nclass PDFSidebarResizer {\n  /**\n   * @param {PDFSidebarResizerOptions} options\n   * @param {EventBus} eventBus - The application event bus.\n   * @param {IL10n} l10n - Localization service.\n   */\n  constructor(options, eventBus, l10n = NullL10n) {\n    this.enabled = false;\n    this.isRTL = false;\n    this.sidebarOpen = false;\n    this.doc = document.documentElement;\n    this._width = null;\n    this._outerContainerWidth = null;\n    this._boundEvents = Object.create(null);\n\n    this.outerContainer = options.outerContainer;\n    this.resizer = options.resizer;\n    this.eventBus = eventBus;\n    this.l10n = l10n;\n\n    if (\n      (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n      (typeof CSS === \"undefined\" ||\n        typeof CSS.supports !== \"function\" ||\n        !CSS.supports(SIDEBAR_WIDTH_VAR, `calc(-1 * ${SIDEBAR_MIN_WIDTH}px)`))\n    ) {\n      console.warn(\n        \"PDFSidebarResizer: \" +\n          \"The browser does not support resizing of the sidebar.\"\n      );\n      return;\n    }\n    this.enabled = true;\n    this.resizer.classList.remove(\"hidden\"); // Show the resizer DOM element.\n\n    this.l10n.getDirection().then(dir => {\n      this.isRTL = dir === \"rtl\";\n    });\n    this._addEventListeners();\n  }\n\n  /**\n   * @type {number}\n   */\n  get outerContainerWidth() {\n    if (!this._outerContainerWidth) {\n      this._outerContainerWidth = this.outerContainer.clientWidth;\n    }\n    return this._outerContainerWidth;\n  }\n\n  /**\n   * @private\n   * returns {boolean} Indicating if the sidebar width was updated.\n   */\n  _updateWidth(width = 0) {\n    if (!this.enabled) {\n      return false;\n    }\n    // Prevent the sidebar from becoming too narrow, or from occupying more\n    // than half of the available viewer width.\n    const newWidth = clamp(\n      width,\n      SIDEBAR_MIN_WIDTH,\n      Math.floor(this.outerContainerWidth / 2)\n    );\n    // Only update the UI when the sidebar width did in fact change.\n    if (newWidth === this._width) {\n      return false;\n    }\n    this._width = newWidth;\n    this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, `${newWidth}px`);\n    return true;\n  }\n\n  /**\n   * @private\n   */\n  _mouseMove(evt) {\n    let width = evt.clientX;\n    // For sidebar resizing to work correctly in RTL mode, invert the width.\n    if (this.isRTL) {\n      width = this.outerContainerWidth - width;\n    }\n    this._updateWidth(width);\n  }\n\n  /**\n   * @private\n   */\n  _mouseUp(evt) {\n    // Re-enable the `transition-duration` rules when sidebar resizing ends...\n    this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);\n    // ... and ensure that rendering will always be triggered.\n    this.eventBus.dispatch(\"resize\", { source: this });\n\n    const _boundEvents = this._boundEvents;\n    window.removeEventListener(\"mousemove\", _boundEvents.mouseMove);\n    window.removeEventListener(\"mouseup\", _boundEvents.mouseUp);\n  }\n\n  /**\n   * @private\n   */\n  _addEventListeners() {\n    if (!this.enabled) {\n      return;\n    }\n    const _boundEvents = this._boundEvents;\n    _boundEvents.mouseMove = this._mouseMove.bind(this);\n    _boundEvents.mouseUp = this._mouseUp.bind(this);\n\n    this.resizer.addEventListener(\"mousedown\", evt => {\n      if (evt.button !== 0) {\n        return;\n      }\n      // Disable the `transition-duration` rules when sidebar resizing begins,\n      // in order to improve responsiveness and to avoid visual glitches.\n      this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);\n\n      window.addEventListener(\"mousemove\", _boundEvents.mouseMove);\n      window.addEventListener(\"mouseup\", _boundEvents.mouseUp);\n    });\n\n    this.eventBus._on(\"sidebarviewchanged\", evt => {\n      this.sidebarOpen = !!(evt && evt.view);\n    });\n\n    this.eventBus._on(\"resize\", evt => {\n      // When the *entire* viewer is resized, such that it becomes narrower,\n      // ensure that the sidebar doesn't end up being too wide.\n      if (!evt || evt.source !== window) {\n        return;\n      }\n      // Always reset the cached width when the viewer is resized.\n      this._outerContainerWidth = null;\n\n      if (!this._width) {\n        // The sidebar hasn't been resized, hence no need to adjust its width.\n        return;\n      }\n      // NOTE: If the sidebar is closed, we don't need to worry about\n      //       visual glitches nor ensure that rendering is triggered.\n      if (!this.sidebarOpen) {\n        this._updateWidth(this._width);\n        return;\n      }\n      this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS);\n      const updated = this._updateWidth(this._width);\n\n      Promise.resolve().then(() => {\n        this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS);\n        // Trigger rendering if the sidebar width changed, to avoid\n        // depending on the order in which 'resize' events are handled.\n        if (updated) {\n          this.eventBus.dispatch(\"resize\", { source: this });\n        }\n      });\n    });\n  }\n}\n\nexport { PDFSidebarResizer };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  getVisibleElements,\n  isValidRotation,\n  NullL10n,\n  scrollIntoView,\n  watchScroll,\n} from \"./ui_utils.js\";\nimport { PDFThumbnailView } from \"./pdf_thumbnail_view.js\";\n\nconst THUMBNAIL_SCROLL_MARGIN = -19;\nconst THUMBNAIL_SELECTED_CLASS = \"selected\";\n\n/**\n * @typedef {Object} PDFThumbnailViewerOptions\n * @property {HTMLDivElement} container - The container for the thumbnail\n *   elements.\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {PDFRenderingQueue} renderingQueue - The rendering queue object.\n * @property {IL10n} l10n - Localization service.\n */\n\n/**\n * Viewer control to display thumbnails for pages in a PDF document.\n *\n * @implements {IRenderableView}\n */\nclass PDFThumbnailViewer {\n  /**\n   * @param {PDFThumbnailViewerOptions} options\n   */\n  constructor({ container, linkService, renderingQueue, l10n = NullL10n }) {\n    this.container = container;\n    this.linkService = linkService;\n    this.renderingQueue = renderingQueue;\n    this.l10n = l10n;\n\n    this.scroll = watchScroll(this.container, this._scrollUpdated.bind(this));\n    this._resetView();\n  }\n\n  /**\n   * @private\n   */\n  _scrollUpdated() {\n    this.renderingQueue.renderHighestPriority();\n  }\n\n  getThumbnail(index) {\n    return this._thumbnails[index];\n  }\n\n  /**\n   * @private\n   */\n  _getVisibleThumbs() {\n    return getVisibleElements(this.container, this._thumbnails);\n  }\n\n  scrollThumbnailIntoView(pageNumber) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    const thumbnailView = this._thumbnails[pageNumber - 1];\n\n    if (!thumbnailView) {\n      console.error('scrollThumbnailIntoView: Invalid \"pageNumber\" parameter.');\n      return;\n    }\n\n    if (pageNumber !== this._currentPageNumber) {\n      const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1];\n      // Remove the highlight from the previous thumbnail...\n      prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS);\n      // ... and add the highlight to the new thumbnail.\n      thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);\n    }\n    const visibleThumbs = this._getVisibleThumbs();\n    const numVisibleThumbs = visibleThumbs.views.length;\n\n    // If the thumbnail isn't currently visible, scroll it into view.\n    if (numVisibleThumbs > 0) {\n      const first = visibleThumbs.first.id;\n      // Account for only one thumbnail being visible.\n      const last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first;\n\n      let shouldScroll = false;\n      if (pageNumber <= first || pageNumber >= last) {\n        shouldScroll = true;\n      } else {\n        visibleThumbs.views.some(function(view) {\n          if (view.id !== pageNumber) {\n            return false;\n          }\n          shouldScroll = view.percent < 100;\n          return true;\n        });\n      }\n      if (shouldScroll) {\n        scrollIntoView(thumbnailView.div, { top: THUMBNAIL_SCROLL_MARGIN });\n      }\n    }\n\n    this._currentPageNumber = pageNumber;\n  }\n\n  get pagesRotation() {\n    return this._pagesRotation;\n  }\n\n  set pagesRotation(rotation) {\n    if (!isValidRotation(rotation)) {\n      throw new Error(\"Invalid thumbnails rotation angle.\");\n    }\n    if (!this.pdfDocument) {\n      return;\n    }\n    if (this._pagesRotation === rotation) {\n      return; // The rotation didn't change.\n    }\n    this._pagesRotation = rotation;\n\n    for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {\n      this._thumbnails[i].update(rotation);\n    }\n  }\n\n  cleanup() {\n    PDFThumbnailView.cleanup();\n  }\n\n  /**\n   * @private\n   */\n  _resetView() {\n    this._thumbnails = [];\n    this._currentPageNumber = 1;\n    this._pageLabels = null;\n    this._pagesRotation = 0;\n    this._pagesRequests = new WeakMap();\n\n    // Remove the thumbnails from the DOM.\n    this.container.textContent = \"\";\n  }\n\n  setDocument(pdfDocument) {\n    if (this.pdfDocument) {\n      this._cancelRendering();\n      this._resetView();\n    }\n\n    this.pdfDocument = pdfDocument;\n    if (!pdfDocument) {\n      return;\n    }\n\n    pdfDocument\n      .getPage(1)\n      .then(firstPdfPage => {\n        const pagesCount = pdfDocument.numPages;\n        const viewport = firstPdfPage.getViewport({ scale: 1 });\n        for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n          const thumbnail = new PDFThumbnailView({\n            container: this.container,\n            id: pageNum,\n            defaultViewport: viewport.clone(),\n            linkService: this.linkService,\n            renderingQueue: this.renderingQueue,\n            disableCanvasToImageConversion: false,\n            l10n: this.l10n,\n          });\n          this._thumbnails.push(thumbnail);\n        }\n        // Set the first `pdfPage` immediately, since it's already loaded,\n        // rather than having to repeat the `PDFDocumentProxy.getPage` call in\n        // the `this._ensurePdfPageLoaded` method before rendering can start.\n        const firstThumbnailView = this._thumbnails[0];\n        if (firstThumbnailView) {\n          firstThumbnailView.setPdfPage(firstPdfPage);\n        }\n\n        // Ensure that the current thumbnail is always highlighted on load.\n        const thumbnailView = this._thumbnails[this._currentPageNumber - 1];\n        thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS);\n      })\n      .catch(reason => {\n        console.error(\"Unable to initialize thumbnail viewer\", reason);\n      });\n  }\n\n  /**\n   * @private\n   */\n  _cancelRendering() {\n    for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {\n      if (this._thumbnails[i]) {\n        this._thumbnails[i].cancelRendering();\n      }\n    }\n  }\n\n  /**\n   * @param {Array|null} labels\n   */\n  setPageLabels(labels) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    if (!labels) {\n      this._pageLabels = null;\n    } else if (\n      !(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)\n    ) {\n      this._pageLabels = null;\n      console.error(\"PDFThumbnailViewer_setPageLabels: Invalid page labels.\");\n    } else {\n      this._pageLabels = labels;\n    }\n    // Update all the `PDFThumbnailView` instances.\n    for (let i = 0, ii = this._thumbnails.length; i < ii; i++) {\n      const label = this._pageLabels && this._pageLabels[i];\n      this._thumbnails[i].setPageLabel(label);\n    }\n  }\n\n  /**\n   * @param {PDFThumbnailView} thumbView\n   * @returns {PDFPage}\n   * @private\n   */\n  _ensurePdfPageLoaded(thumbView) {\n    if (thumbView.pdfPage) {\n      return Promise.resolve(thumbView.pdfPage);\n    }\n    if (this._pagesRequests.has(thumbView)) {\n      return this._pagesRequests.get(thumbView);\n    }\n    const promise = this.pdfDocument\n      .getPage(thumbView.id)\n      .then(pdfPage => {\n        if (!thumbView.pdfPage) {\n          thumbView.setPdfPage(pdfPage);\n        }\n        this._pagesRequests.delete(thumbView);\n        return pdfPage;\n      })\n      .catch(reason => {\n        console.error(\"Unable to get page for thumb view\", reason);\n        // Page error -- there is nothing that can be done.\n        this._pagesRequests.delete(thumbView);\n      });\n    this._pagesRequests.set(thumbView, promise);\n    return promise;\n  }\n\n  forceRendering() {\n    const visibleThumbs = this._getVisibleThumbs();\n    const thumbView = this.renderingQueue.getHighestPriority(\n      visibleThumbs,\n      this._thumbnails,\n      this.scroll.down\n    );\n    if (thumbView) {\n      this._ensurePdfPageLoaded(thumbView).then(() => {\n        this.renderingQueue.renderView(thumbView);\n      });\n      return true;\n    }\n    return false;\n  }\n}\n\nexport { PDFThumbnailViewer };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  createPromiseCapability,\n  RenderingCancelledException,\n} from \"pdfjs-lib\";\nimport { getOutputScale, NullL10n } from \"./ui_utils.js\";\nimport { RenderingStates } from \"./pdf_rendering_queue.js\";\n\nconst MAX_NUM_SCALING_STEPS = 3;\nconst THUMBNAIL_CANVAS_BORDER_WIDTH = 1; // px\nconst THUMBNAIL_WIDTH = 98; // px\n\n/**\n * @typedef {Object} PDFThumbnailViewOptions\n * @property {HTMLDivElement} container - The viewer element.\n * @property {number} id - The thumbnail's unique ID (normally its number).\n * @property {PageViewport} defaultViewport - The page viewport.\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {PDFRenderingQueue} renderingQueue - The rendering queue object.\n * @property {boolean} [disableCanvasToImageConversion] - Don't convert the\n *   canvas thumbnails to images. This prevents `toDataURL` calls, but\n *   increases the overall memory usage. The default value is `false`.\n * @property {IL10n} l10n - Localization service.\n */\n\nconst TempImageFactory = (function TempImageFactoryClosure() {\n  let tempCanvasCache = null;\n\n  return {\n    getCanvas(width, height) {\n      let tempCanvas = tempCanvasCache;\n      if (!tempCanvas) {\n        tempCanvas = document.createElement(\"canvas\");\n        tempCanvasCache = tempCanvas;\n      }\n      tempCanvas.width = width;\n      tempCanvas.height = height;\n\n      // Since this is a temporary canvas, we need to fill it with a white\n      // background ourselves. `_getPageDrawContext` uses CSS rules for this.\n      if (\n        typeof PDFJSDev === \"undefined\" ||\n        PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n      ) {\n        tempCanvas.mozOpaque = true;\n      }\n\n      const ctx = tempCanvas.getContext(\"2d\", { alpha: false });\n      ctx.save();\n      ctx.fillStyle = \"rgb(255, 255, 255)\";\n      ctx.fillRect(0, 0, width, height);\n      ctx.restore();\n      return tempCanvas;\n    },\n\n    destroyCanvas() {\n      const tempCanvas = tempCanvasCache;\n      if (tempCanvas) {\n        // Zeroing the width and height causes Firefox to release graphics\n        // resources immediately, which can greatly reduce memory consumption.\n        tempCanvas.width = 0;\n        tempCanvas.height = 0;\n      }\n      tempCanvasCache = null;\n    },\n  };\n})();\n\n/**\n * @implements {IRenderableView}\n */\nclass PDFThumbnailView {\n  /**\n   * @param {PDFThumbnailViewOptions} options\n   */\n  constructor({\n    container,\n    id,\n    defaultViewport,\n    linkService,\n    renderingQueue,\n    disableCanvasToImageConversion = false,\n    l10n = NullL10n,\n  }) {\n    this.id = id;\n    this.renderingId = \"thumbnail\" + id;\n    this.pageLabel = null;\n\n    this.pdfPage = null;\n    this.rotation = 0;\n    this.viewport = defaultViewport;\n    this.pdfPageRotate = defaultViewport.rotation;\n\n    this.linkService = linkService;\n    this.renderingQueue = renderingQueue;\n\n    this.renderTask = null;\n    this.renderingState = RenderingStates.INITIAL;\n    this.resume = null;\n    this.disableCanvasToImageConversion = disableCanvasToImageConversion;\n\n    this.pageWidth = this.viewport.width;\n    this.pageHeight = this.viewport.height;\n    this.pageRatio = this.pageWidth / this.pageHeight;\n\n    this.canvasWidth = THUMBNAIL_WIDTH;\n    this.canvasHeight = (this.canvasWidth / this.pageRatio) | 0;\n    this.scale = this.canvasWidth / this.pageWidth;\n\n    this.l10n = l10n;\n\n    const anchor = document.createElement(\"a\");\n    anchor.href = linkService.getAnchorUrl(\"#page=\" + id);\n    this._thumbPageTitle.then(msg => {\n      anchor.title = msg;\n    });\n    anchor.onclick = function() {\n      linkService.page = id;\n      return false;\n    };\n    this.anchor = anchor;\n\n    const div = document.createElement(\"div\");\n    div.className = \"thumbnail\";\n    div.setAttribute(\"data-page-number\", this.id);\n    this.div = div;\n\n    const ring = document.createElement(\"div\");\n    ring.className = \"thumbnailSelectionRing\";\n    const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;\n    ring.style.width = this.canvasWidth + borderAdjustment + \"px\";\n    ring.style.height = this.canvasHeight + borderAdjustment + \"px\";\n    this.ring = ring;\n\n    div.appendChild(ring);\n    anchor.appendChild(div);\n    container.appendChild(anchor);\n  }\n\n  setPdfPage(pdfPage) {\n    this.pdfPage = pdfPage;\n    this.pdfPageRotate = pdfPage.rotate;\n    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n    this.viewport = pdfPage.getViewport({ scale: 1, rotation: totalRotation });\n    this.reset();\n  }\n\n  reset() {\n    this.cancelRendering();\n    this.renderingState = RenderingStates.INITIAL;\n\n    this.pageWidth = this.viewport.width;\n    this.pageHeight = this.viewport.height;\n    this.pageRatio = this.pageWidth / this.pageHeight;\n\n    this.canvasHeight = (this.canvasWidth / this.pageRatio) | 0;\n    this.scale = this.canvasWidth / this.pageWidth;\n\n    this.div.removeAttribute(\"data-loaded\");\n    const ring = this.ring;\n    const childNodes = ring.childNodes;\n    for (let i = childNodes.length - 1; i >= 0; i--) {\n      ring.removeChild(childNodes[i]);\n    }\n    const borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH;\n    ring.style.width = this.canvasWidth + borderAdjustment + \"px\";\n    ring.style.height = this.canvasHeight + borderAdjustment + \"px\";\n\n    if (this.canvas) {\n      // Zeroing the width and height causes Firefox to release graphics\n      // resources immediately, which can greatly reduce memory consumption.\n      this.canvas.width = 0;\n      this.canvas.height = 0;\n      delete this.canvas;\n    }\n    if (this.image) {\n      this.image.removeAttribute(\"src\");\n      delete this.image;\n    }\n  }\n\n  update(rotation) {\n    if (typeof rotation !== \"undefined\") {\n      this.rotation = rotation;\n    }\n    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n    this.viewport = this.viewport.clone({\n      scale: 1,\n      rotation: totalRotation,\n    });\n    this.reset();\n  }\n\n  /**\n   * PLEASE NOTE: Most likely you want to use the `this.reset()` method,\n   *              rather than calling this one directly.\n   */\n  cancelRendering() {\n    if (this.renderTask) {\n      this.renderTask.cancel();\n      this.renderTask = null;\n    }\n    this.resume = null;\n  }\n\n  /**\n   * @private\n   */\n  _getPageDrawContext(noCtxScale = false) {\n    const canvas = document.createElement(\"canvas\");\n    // Keep the no-thumbnail outline visible, i.e. `data-loaded === false`,\n    // until rendering/image conversion is complete, to avoid display issues.\n    this.canvas = canvas;\n\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n    ) {\n      canvas.mozOpaque = true;\n    }\n    const ctx = canvas.getContext(\"2d\", { alpha: false });\n    const outputScale = getOutputScale(ctx);\n\n    canvas.width = (this.canvasWidth * outputScale.sx) | 0;\n    canvas.height = (this.canvasHeight * outputScale.sy) | 0;\n    canvas.style.width = this.canvasWidth + \"px\";\n    canvas.style.height = this.canvasHeight + \"px\";\n\n    if (!noCtxScale && outputScale.scaled) {\n      ctx.scale(outputScale.sx, outputScale.sy);\n    }\n    return ctx;\n  }\n\n  /**\n   * @private\n   */\n  _convertCanvasToImage() {\n    if (!this.canvas) {\n      return;\n    }\n    if (this.renderingState !== RenderingStates.FINISHED) {\n      return;\n    }\n    const className = \"thumbnailImage\";\n\n    if (this.disableCanvasToImageConversion) {\n      this.canvas.className = className;\n      this._thumbPageCanvas.then(msg => {\n        this.canvas.setAttribute(\"aria-label\", msg);\n      });\n\n      this.div.setAttribute(\"data-loaded\", true);\n      this.ring.appendChild(this.canvas);\n      return;\n    }\n    const image = document.createElement(\"img\");\n    image.className = className;\n    this._thumbPageCanvas.then(msg => {\n      image.setAttribute(\"aria-label\", msg);\n    });\n\n    image.style.width = this.canvasWidth + \"px\";\n    image.style.height = this.canvasHeight + \"px\";\n\n    image.src = this.canvas.toDataURL();\n    this.image = image;\n\n    this.div.setAttribute(\"data-loaded\", true);\n    this.ring.appendChild(image);\n\n    // Zeroing the width and height causes Firefox to release graphics\n    // resources immediately, which can greatly reduce memory consumption.\n    this.canvas.width = 0;\n    this.canvas.height = 0;\n    delete this.canvas;\n  }\n\n  draw() {\n    if (this.renderingState !== RenderingStates.INITIAL) {\n      console.error(\"Must be in new state before drawing\");\n      return Promise.resolve(undefined);\n    }\n    const { pdfPage } = this;\n\n    if (!pdfPage) {\n      this.renderingState = RenderingStates.FINISHED;\n      return Promise.reject(new Error(\"pdfPage is not loaded\"));\n    }\n\n    this.renderingState = RenderingStates.RUNNING;\n\n    const renderCapability = createPromiseCapability();\n    const finishRenderTask = error => {\n      // The renderTask may have been replaced by a new one, so only remove\n      // the reference to the renderTask if it matches the one that is\n      // triggering this callback.\n      if (renderTask === this.renderTask) {\n        this.renderTask = null;\n      }\n\n      if (error instanceof RenderingCancelledException) {\n        renderCapability.resolve(undefined);\n        return;\n      }\n\n      this.renderingState = RenderingStates.FINISHED;\n      this._convertCanvasToImage();\n\n      if (!error) {\n        renderCapability.resolve(undefined);\n      } else {\n        renderCapability.reject(error);\n      }\n    };\n\n    const ctx = this._getPageDrawContext();\n    const drawViewport = this.viewport.clone({ scale: this.scale });\n    const renderContinueCallback = cont => {\n      if (!this.renderingQueue.isHighestPriority(this)) {\n        this.renderingState = RenderingStates.PAUSED;\n        this.resume = () => {\n          this.renderingState = RenderingStates.RUNNING;\n          cont();\n        };\n        return;\n      }\n      cont();\n    };\n\n    const renderContext = {\n      canvasContext: ctx,\n      viewport: drawViewport,\n    };\n    const renderTask = (this.renderTask = pdfPage.render(renderContext));\n    renderTask.onContinue = renderContinueCallback;\n\n    renderTask.promise.then(\n      function() {\n        finishRenderTask(null);\n      },\n      function(error) {\n        finishRenderTask(error);\n      }\n    );\n    return renderCapability.promise;\n  }\n\n  setImage(pageView) {\n    if (this.renderingState !== RenderingStates.INITIAL) {\n      return;\n    }\n    const img = pageView.canvas;\n    if (!img) {\n      return;\n    }\n    if (!this.pdfPage) {\n      this.setPdfPage(pageView.pdfPage);\n    }\n\n    this.renderingState = RenderingStates.FINISHED;\n\n    const ctx = this._getPageDrawContext(true);\n    const canvas = ctx.canvas;\n    if (img.width <= 2 * canvas.width) {\n      ctx.drawImage(\n        img,\n        0,\n        0,\n        img.width,\n        img.height,\n        0,\n        0,\n        canvas.width,\n        canvas.height\n      );\n      this._convertCanvasToImage();\n      return;\n    }\n\n    // drawImage does an awful job of rescaling the image, doing it gradually.\n    let reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS;\n    let reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS;\n    const reducedImage = TempImageFactory.getCanvas(\n      reducedWidth,\n      reducedHeight\n    );\n    const reducedImageCtx = reducedImage.getContext(\"2d\");\n\n    while (reducedWidth > img.width || reducedHeight > img.height) {\n      reducedWidth >>= 1;\n      reducedHeight >>= 1;\n    }\n    reducedImageCtx.drawImage(\n      img,\n      0,\n      0,\n      img.width,\n      img.height,\n      0,\n      0,\n      reducedWidth,\n      reducedHeight\n    );\n    while (reducedWidth > 2 * canvas.width) {\n      reducedImageCtx.drawImage(\n        reducedImage,\n        0,\n        0,\n        reducedWidth,\n        reducedHeight,\n        0,\n        0,\n        reducedWidth >> 1,\n        reducedHeight >> 1\n      );\n      reducedWidth >>= 1;\n      reducedHeight >>= 1;\n    }\n    ctx.drawImage(\n      reducedImage,\n      0,\n      0,\n      reducedWidth,\n      reducedHeight,\n      0,\n      0,\n      canvas.width,\n      canvas.height\n    );\n    this._convertCanvasToImage();\n  }\n\n  get _thumbPageTitle() {\n    return this.l10n.get(\n      \"thumb_page_title\",\n      { page: this.pageLabel !== null ? this.pageLabel : this.id },\n      \"Page {{page}}\"\n    );\n  }\n\n  get _thumbPageCanvas() {\n    return this.l10n.get(\n      \"thumb_page_canvas\",\n      { page: this.pageLabel !== null ? this.pageLabel : this.id },\n      \"Thumbnail of Page {{page}}\"\n    );\n  }\n\n  /**\n   * @param {string|null} label\n   */\n  setPageLabel(label) {\n    this.pageLabel = typeof label === \"string\" ? label : null;\n\n    this._thumbPageTitle.then(msg => {\n      this.anchor.title = msg;\n    });\n\n    if (this.renderingState !== RenderingStates.FINISHED) {\n      return;\n    }\n\n    this._thumbPageCanvas.then(msg => {\n      if (this.image) {\n        this.image.setAttribute(\"aria-label\", msg);\n      } else if (this.disableCanvasToImageConversion && this.canvas) {\n        this.canvas.setAttribute(\"aria-label\", msg);\n      }\n    });\n  }\n\n  static cleanup() {\n    TempImageFactory.destroyCanvas();\n  }\n}\n\nexport { PDFThumbnailView };\n","/* Copyright 2014 Mozilla Foundation\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\nimport { BaseViewer } from \"./base_viewer.js\";\nimport { shadow } from \"pdfjs-lib\";\n\nclass PDFViewer extends BaseViewer {\n  get _setDocumentViewerElement() {\n    return shadow(this, \"_setDocumentViewerElement\", this.viewer);\n  }\n\n  _scrollIntoView({ pageDiv, pageSpot = null, pageNumber = null }) {\n    if (!pageSpot && !this.isInPresentationMode) {\n      const left = pageDiv.offsetLeft + pageDiv.clientLeft;\n      const right = left + pageDiv.clientWidth;\n      const { scrollLeft, clientWidth } = this.container;\n      if (\n        this._isScrollModeHorizontal ||\n        left < scrollLeft ||\n        right > scrollLeft + clientWidth\n      ) {\n        pageSpot = { left: 0, top: 0 };\n      }\n    }\n    super._scrollIntoView({ pageDiv, pageSpot, pageNumber });\n  }\n\n  _getVisiblePages() {\n    if (this.isInPresentationMode) {\n      // The algorithm in `getVisibleElements` doesn't work in all browsers and\n      // configurations (e.g. Chrome) when Presentation Mode is active.\n      return this._getCurrentVisiblePage();\n    }\n    return super._getVisiblePages();\n  }\n\n  _updateHelper(visiblePages) {\n    if (this.isInPresentationMode) {\n      return;\n    }\n    let currentId = this._currentPageNumber;\n    let stillFullyVisible = false;\n\n    for (const page of visiblePages) {\n      if (page.percent < 100) {\n        break;\n      }\n      if (page.id === currentId) {\n        stillFullyVisible = true;\n        break;\n      }\n    }\n    if (!stillFullyVisible) {\n      currentId = visiblePages[0].id;\n    }\n    this._setCurrentPageNumber(currentId);\n  }\n}\n\nexport { PDFViewer };\n","/* Copyright 2014 Mozilla Foundation\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\nimport {\n  CSS_UNITS,\n  DEFAULT_SCALE,\n  DEFAULT_SCALE_VALUE,\n  getGlobalEventBus,\n  getVisibleElements,\n  isPortraitOrientation,\n  isValidRotation,\n  isValidScrollMode,\n  isValidSpreadMode,\n  MAX_AUTO_SCALE,\n  moveToEndOfArray,\n  NullL10n,\n  PresentationModeState,\n  RendererType,\n  SCROLLBAR_PADDING,\n  scrollIntoView,\n  ScrollMode,\n  SpreadMode,\n  TextLayerMode,\n  UNKNOWN_SCALE,\n  VERTICAL_PADDING,\n  watchScroll,\n} from \"./ui_utils.js\";\nimport { PDFRenderingQueue, RenderingStates } from \"./pdf_rendering_queue.js\";\nimport { AnnotationLayerBuilder } from \"./annotation_layer_builder.js\";\nimport { createPromiseCapability } from \"pdfjs-lib\";\nimport { PDFPageView } from \"./pdf_page_view.js\";\nimport { SimpleLinkService } from \"./pdf_link_service.js\";\nimport { TextLayerBuilder } from \"./text_layer_builder.js\";\n\nconst DEFAULT_CACHE_SIZE = 10;\n\n/**\n * @typedef {Object} PDFViewerOptions\n * @property {HTMLDivElement} container - The container for the viewer element.\n * @property {HTMLDivElement} [viewer] - The viewer element.\n * @property {EventBus} eventBus - The application event bus.\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {DownloadManager} [downloadManager] - The download manager\n *   component.\n * @property {PDFFindController} [findController] - The find controller\n *   component.\n * @property {PDFRenderingQueue} [renderingQueue] - The rendering queue object.\n * @property {boolean} [removePageBorders] - Removes the border shadow around\n *   the pages. The default value is `false`.\n * @property {number} [textLayerMode] - Controls if the text layer used for\n *   selection and searching is created, and if the improved text selection\n *   behaviour is enabled. The constants from {TextLayerMode} should be used.\n *   The default value is `TextLayerMode.ENABLE`.\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n *   mainly for annotation icons. Include trailing slash.\n * @property {boolean} [renderInteractiveForms] - Enables rendering of\n *   interactive form elements. The default is `false`.\n * @property {boolean} [enablePrintAutoRotate] - Enables automatic rotation of\n *   pages whose orientation differ from the first page upon printing. The\n *   default is `false`.\n * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'.\n * @property {boolean} [enableWebGL] - Enables WebGL accelerated rendering for\n *   some operations. The default value is `false`.\n * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default\n *   value is `false`.\n * @property {number} [maxCanvasPixels] - The maximum supported canvas size in\n *   total pixels, i.e. width * height. Use -1 for no limit. The default value\n *   is 4096 * 4096 (16 mega-pixels).\n * @property {IL10n} l10n - Localization service.\n */\n\nfunction PDFPageViewBuffer(size) {\n  const data = [];\n  this.push = function(view) {\n    const i = data.indexOf(view);\n    if (i >= 0) {\n      data.splice(i, 1);\n    }\n    data.push(view);\n    if (data.length > size) {\n      data.shift().destroy();\n    }\n  };\n  /**\n   * After calling resize, the size of the buffer will be newSize. The optional\n   * parameter pagesToKeep is, if present, an array of pages to push to the back\n   * of the buffer, delaying their destruction. The size of pagesToKeep has no\n   * impact on the final size of the buffer; if pagesToKeep has length larger\n   * than newSize, some of those pages will be destroyed anyway.\n   */\n  this.resize = function(newSize, pagesToKeep) {\n    size = newSize;\n    if (pagesToKeep) {\n      const pageIdsToKeep = new Set();\n      for (let i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n        pageIdsToKeep.add(pagesToKeep[i].id);\n      }\n      moveToEndOfArray(data, function(page) {\n        return pageIdsToKeep.has(page.id);\n      });\n    }\n    while (data.length > size) {\n      data.shift().destroy();\n    }\n  };\n}\n\nfunction isSameScale(oldScale, newScale) {\n  if (newScale === oldScale) {\n    return true;\n  }\n  if (Math.abs(newScale - oldScale) < 1e-15) {\n    // Prevent unnecessary re-rendering of all pages when the scale\n    // changes only because of limited numerical precision.\n    return true;\n  }\n  return false;\n}\n\n/**\n * Simple viewer control to display PDF content/pages.\n * @implements {IRenderableView}\n */\nclass BaseViewer {\n  /**\n   * @param {PDFViewerOptions} options\n   */\n  constructor(options) {\n    if (this.constructor === BaseViewer) {\n      throw new Error(\"Cannot initialize BaseViewer.\");\n    }\n    this._name = this.constructor.name;\n\n    this.container = options.container;\n    this.viewer = options.viewer || options.container.firstElementChild;\n    this.eventBus = options.eventBus || getGlobalEventBus();\n    this.linkService = options.linkService || new SimpleLinkService();\n    this.downloadManager = options.downloadManager || null;\n    this.findController = options.findController || null;\n    this.removePageBorders = options.removePageBorders || false;\n    this.textLayerMode = Number.isInteger(options.textLayerMode)\n      ? options.textLayerMode\n      : TextLayerMode.ENABLE;\n    this.imageResourcesPath = options.imageResourcesPath || \"\";\n    this.renderInteractiveForms = options.renderInteractiveForms || false;\n    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n    this.renderer = options.renderer || RendererType.CANVAS;\n    this.enableWebGL = options.enableWebGL || false;\n    this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n    this.maxCanvasPixels = options.maxCanvasPixels;\n    this.l10n = options.l10n || NullL10n;\n\n    this.defaultRenderingQueue = !options.renderingQueue;\n    if (this.defaultRenderingQueue) {\n      // Custom rendering queue is not specified, using default one\n      this.renderingQueue = new PDFRenderingQueue();\n      this.renderingQueue.setViewer(this);\n    } else {\n      this.renderingQueue = options.renderingQueue;\n    }\n\n    this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this));\n    this.presentationModeState = PresentationModeState.UNKNOWN;\n    this._onBeforeDraw = this._onAfterDraw = null;\n    this._resetView();\n\n    if (this.removePageBorders) {\n      this.viewer.classList.add(\"removePageBorders\");\n    }\n    // Defer the dispatching of this event, to give other viewer components\n    // time to initialize *and* register 'baseviewerinit' event listeners.\n    Promise.resolve().then(() => {\n      this.eventBus.dispatch(\"baseviewerinit\", { source: this });\n    });\n  }\n\n  get pagesCount() {\n    return this._pages.length;\n  }\n\n  getPageView(index) {\n    return this._pages[index];\n  }\n\n  /**\n   * @type {boolean} - True if all {PDFPageView} objects are initialized.\n   */\n  get pageViewsReady() {\n    if (!this._pagesCapability.settled) {\n      return false;\n    }\n    // Prevent printing errors when 'disableAutoFetch' is set, by ensuring\n    // that *all* pages have in fact been completely loaded.\n    return this._pages.every(function(pageView) {\n      return pageView && pageView.pdfPage;\n    });\n  }\n\n  /**\n   * @type {number}\n   */\n  get currentPageNumber() {\n    return this._currentPageNumber;\n  }\n\n  /**\n   * @param {number} val - The page number.\n   */\n  set currentPageNumber(val) {\n    if (!Number.isInteger(val)) {\n      throw new Error(\"Invalid page number.\");\n    }\n    if (!this.pdfDocument) {\n      return;\n    }\n    // The intent can be to just reset a scroll position and/or scale.\n    if (!this._setCurrentPageNumber(val, /* resetCurrentPageView = */ true)) {\n      console.error(\n        `${this._name}.currentPageNumber: \"${val}\" is not a valid page.`\n      );\n    }\n  }\n\n  /**\n   * @returns {boolean} Whether the pageNumber is valid (within bounds).\n   * @private\n   */\n  _setCurrentPageNumber(val, resetCurrentPageView = false) {\n    if (this._currentPageNumber === val) {\n      if (resetCurrentPageView) {\n        this._resetCurrentPageView();\n      }\n      return true;\n    }\n\n    if (!(0 < val && val <= this.pagesCount)) {\n      return false;\n    }\n    this._currentPageNumber = val;\n\n    this.eventBus.dispatch(\"pagechanging\", {\n      source: this,\n      pageNumber: val,\n      pageLabel: this._pageLabels && this._pageLabels[val - 1],\n    });\n\n    if (resetCurrentPageView) {\n      this._resetCurrentPageView();\n    }\n    return true;\n  }\n\n  /**\n   * @type {string|null} Returns the current page label, or `null` if no page\n   *   labels exist.\n   */\n  get currentPageLabel() {\n    return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n  }\n\n  /**\n   * @param {string} val - The page label.\n   */\n  set currentPageLabel(val) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    let page = val | 0; // Fallback page number.\n    if (this._pageLabels) {\n      const i = this._pageLabels.indexOf(val);\n      if (i >= 0) {\n        page = i + 1;\n      }\n    }\n    // The intent can be to just reset a scroll position and/or scale.\n    if (!this._setCurrentPageNumber(page, /* resetCurrentPageView = */ true)) {\n      console.error(\n        `${this._name}.currentPageLabel: \"${val}\" is not a valid page.`\n      );\n    }\n  }\n\n  /**\n   * @type {number}\n   */\n  get currentScale() {\n    return this._currentScale !== UNKNOWN_SCALE\n      ? this._currentScale\n      : DEFAULT_SCALE;\n  }\n\n  /**\n   * @param {number} val - Scale of the pages in percents.\n   */\n  set currentScale(val) {\n    if (isNaN(val)) {\n      throw new Error(\"Invalid numeric scale.\");\n    }\n    if (!this.pdfDocument) {\n      return;\n    }\n    this._setScale(val, false);\n  }\n\n  /**\n   * @type {string}\n   */\n  get currentScaleValue() {\n    return this._currentScaleValue;\n  }\n\n  /**\n   * @param val - The scale of the pages (in percent or predefined value).\n   */\n  set currentScaleValue(val) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    this._setScale(val, false);\n  }\n\n  /**\n   * @type {number}\n   */\n  get pagesRotation() {\n    return this._pagesRotation;\n  }\n\n  /**\n   * @param {number} rotation - The rotation of the pages (0, 90, 180, 270).\n   */\n  set pagesRotation(rotation) {\n    if (!isValidRotation(rotation)) {\n      throw new Error(\"Invalid pages rotation angle.\");\n    }\n    if (!this.pdfDocument) {\n      return;\n    }\n    if (this._pagesRotation === rotation) {\n      return; // The rotation didn't change.\n    }\n    this._pagesRotation = rotation;\n\n    const pageNumber = this._currentPageNumber;\n\n    for (let i = 0, ii = this._pages.length; i < ii; i++) {\n      const pageView = this._pages[i];\n      pageView.update(pageView.scale, rotation);\n    }\n    // Prevent errors in case the rotation changes *before* the scale has been\n    // set to a non-default value.\n    if (this._currentScaleValue) {\n      this._setScale(this._currentScaleValue, true);\n    }\n\n    this.eventBus.dispatch(\"rotationchanging\", {\n      source: this,\n      pagesRotation: rotation,\n      pageNumber,\n    });\n\n    if (this.defaultRenderingQueue) {\n      this.update();\n    }\n  }\n\n  get firstPagePromise() {\n    return this.pdfDocument ? this._firstPageCapability.promise : null;\n  }\n\n  get onePageRendered() {\n    return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n  }\n\n  get pagesPromise() {\n    return this.pdfDocument ? this._pagesCapability.promise : null;\n  }\n\n  /**\n   * @private\n   */\n  get _setDocumentViewerElement() {\n    // In most viewers, e.g. `PDFViewer`, this should return `this.viewer`.\n    throw new Error(\"Not implemented: _setDocumentViewerElement\");\n  }\n\n  /**\n   * @param pdfDocument {PDFDocument}\n   */\n  setDocument(pdfDocument) {\n    if (this.pdfDocument) {\n      this._cancelRendering();\n      this._resetView();\n\n      if (this.findController) {\n        this.findController.setDocument(null);\n      }\n    }\n\n    this.pdfDocument = pdfDocument;\n    if (!pdfDocument) {\n      return;\n    }\n    const pagesCount = pdfDocument.numPages;\n    const firstPagePromise = pdfDocument.getPage(1);\n\n    this._pagesCapability.promise.then(() => {\n      this.eventBus.dispatch(\"pagesloaded\", {\n        source: this,\n        pagesCount,\n      });\n    });\n\n    this._onBeforeDraw = evt => {\n      const pageView = this._pages[evt.pageNumber - 1];\n      if (!pageView) {\n        return;\n      }\n      // Add the page to the buffer at the start of drawing. That way it can be\n      // evicted from the buffer and destroyed even if we pause its rendering.\n      this._buffer.push(pageView);\n    };\n    this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n    this._onAfterDraw = evt => {\n      if (evt.cssTransform || this._onePageRenderedCapability.settled) {\n        return;\n      }\n      this._onePageRenderedCapability.resolve();\n\n      this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n      this._onAfterDraw = null;\n    };\n    this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n    // Fetch a single page so we can get a viewport that will be the default\n    // viewport for all pages\n    firstPagePromise\n      .then(firstPdfPage => {\n        this._firstPageCapability.resolve(firstPdfPage);\n\n        const scale = this.currentScale;\n        const viewport = firstPdfPage.getViewport({ scale: scale * CSS_UNITS });\n        const textLayerFactory =\n          this.textLayerMode !== TextLayerMode.DISABLE ? this : null;\n\n        for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n          const pageView = new PDFPageView({\n            container: this._setDocumentViewerElement,\n            eventBus: this.eventBus,\n            id: pageNum,\n            scale,\n            defaultViewport: viewport.clone(),\n            renderingQueue: this.renderingQueue,\n            textLayerFactory,\n            textLayerMode: this.textLayerMode,\n            annotationLayerFactory: this,\n            imageResourcesPath: this.imageResourcesPath,\n            renderInteractiveForms: this.renderInteractiveForms,\n            renderer: this.renderer,\n            enableWebGL: this.enableWebGL,\n            useOnlyCssZoom: this.useOnlyCssZoom,\n            maxCanvasPixels: this.maxCanvasPixels,\n            l10n: this.l10n,\n          });\n          this._pages.push(pageView);\n        }\n        // Set the first `pdfPage` immediately, since it's already loaded,\n        // rather than having to repeat the `PDFDocumentProxy.getPage` call in\n        // the `this._ensurePdfPageLoaded` method before rendering can start.\n        const firstPageView = this._pages[0];\n        if (firstPageView) {\n          firstPageView.setPdfPage(firstPdfPage);\n          this.linkService.cachePageRef(1, firstPdfPage.ref);\n        }\n        if (this._spreadMode !== SpreadMode.NONE) {\n          this._updateSpreadMode();\n        }\n\n        // Fetch all the pages since the viewport is needed before printing\n        // starts to create the correct size canvas. Wait until one page is\n        // rendered so we don't tie up too many resources early on.\n        this._onePageRenderedCapability.promise.then(() => {\n          if (this.findController) {\n            this.findController.setDocument(pdfDocument); // Enable searching.\n          }\n\n          // In addition to 'disableAutoFetch' being set, also attempt to reduce\n          // resource usage when loading *very* long/large documents.\n          if (\n            pdfDocument.loadingParams[\"disableAutoFetch\"] ||\n            pagesCount > 7500\n          ) {\n            // XXX: Printing is semi-broken with auto fetch disabled.\n            this._pagesCapability.resolve();\n            return;\n          }\n          let getPagesLeft = pagesCount - 1; // The first page was already loaded.\n\n          if (getPagesLeft <= 0) {\n            this._pagesCapability.resolve();\n            return;\n          }\n          for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n            pdfDocument.getPage(pageNum).then(\n              pdfPage => {\n                const pageView = this._pages[pageNum - 1];\n                if (!pageView.pdfPage) {\n                  pageView.setPdfPage(pdfPage);\n                }\n                this.linkService.cachePageRef(pageNum, pdfPage.ref);\n                if (--getPagesLeft === 0) {\n                  this._pagesCapability.resolve();\n                }\n              },\n              reason => {\n                console.error(\n                  `Unable to get page ${pageNum} to initialize viewer`,\n                  reason\n                );\n                if (--getPagesLeft === 0) {\n                  this._pagesCapability.resolve();\n                }\n              }\n            );\n          }\n        });\n\n        this.eventBus.dispatch(\"pagesinit\", { source: this });\n\n        if (this.defaultRenderingQueue) {\n          this.update();\n        }\n      })\n      .catch(reason => {\n        console.error(\"Unable to initialize viewer\", reason);\n      });\n  }\n\n  /**\n   * @param {Array|null} labels\n   */\n  setPageLabels(labels) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    if (!labels) {\n      this._pageLabels = null;\n    } else if (\n      !(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)\n    ) {\n      this._pageLabels = null;\n      console.error(`${this._name}.setPageLabels: Invalid page labels.`);\n    } else {\n      this._pageLabels = labels;\n    }\n    // Update all the `PDFPageView` instances.\n    for (let i = 0, ii = this._pages.length; i < ii; i++) {\n      const pageView = this._pages[i];\n      const label = this._pageLabels && this._pageLabels[i];\n      pageView.setPageLabel(label);\n    }\n  }\n\n  _resetView() {\n    this._pages = [];\n    this._currentPageNumber = 1;\n    this._currentScale = UNKNOWN_SCALE;\n    this._currentScaleValue = null;\n    this._pageLabels = null;\n    this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n    this._location = null;\n    this._pagesRotation = 0;\n    this._pagesRequests = new WeakMap();\n    this._firstPageCapability = createPromiseCapability();\n    this._onePageRenderedCapability = createPromiseCapability();\n    this._pagesCapability = createPromiseCapability();\n    this._scrollMode = ScrollMode.VERTICAL;\n    this._spreadMode = SpreadMode.NONE;\n\n    if (this._onBeforeDraw) {\n      this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n      this._onBeforeDraw = null;\n    }\n    if (this._onAfterDraw) {\n      this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n      this._onAfterDraw = null;\n    }\n    // Remove the pages from the DOM...\n    this.viewer.textContent = \"\";\n    // ... and reset the Scroll mode CSS class(es) afterwards.\n    this._updateScrollMode();\n  }\n\n  _scrollUpdate() {\n    if (this.pagesCount === 0) {\n      return;\n    }\n    this.update();\n  }\n\n  _scrollIntoView({ pageDiv, pageSpot = null, pageNumber = null }) {\n    scrollIntoView(pageDiv, pageSpot);\n  }\n\n  _setScaleUpdatePages(newScale, newValue, noScroll = false, preset = false) {\n    this._currentScaleValue = newValue.toString();\n\n    if (isSameScale(this._currentScale, newScale)) {\n      if (preset) {\n        this.eventBus.dispatch(\"scalechanging\", {\n          source: this,\n          scale: newScale,\n          presetValue: newValue,\n        });\n      }\n      return;\n    }\n\n    for (let i = 0, ii = this._pages.length; i < ii; i++) {\n      this._pages[i].update(newScale);\n    }\n    this._currentScale = newScale;\n\n    if (!noScroll) {\n      let page = this._currentPageNumber,\n        dest;\n      if (\n        this._location &&\n        !(this.isInPresentationMode || this.isChangingPresentationMode)\n      ) {\n        page = this._location.pageNumber;\n        dest = [\n          null,\n          { name: \"XYZ\" },\n          this._location.left,\n          this._location.top,\n          null,\n        ];\n      }\n      this.scrollPageIntoView({\n        pageNumber: page,\n        destArray: dest,\n        allowNegativeOffset: true,\n      });\n    }\n\n    this.eventBus.dispatch(\"scalechanging\", {\n      source: this,\n      scale: newScale,\n      presetValue: preset ? newValue : undefined,\n    });\n\n    if (this.defaultRenderingQueue) {\n      this.update();\n    }\n  }\n\n  _setScale(value, noScroll = false) {\n    let scale = parseFloat(value);\n\n    if (scale > 0) {\n      this._setScaleUpdatePages(scale, value, noScroll, /* preset = */ false);\n    } else {\n      const currentPage = this._pages[this._currentPageNumber - 1];\n      if (!currentPage) {\n        return;\n      }\n      const noPadding = this.isInPresentationMode || this.removePageBorders;\n      let hPadding = noPadding ? 0 : SCROLLBAR_PADDING;\n      let vPadding = noPadding ? 0 : VERTICAL_PADDING;\n\n      if (!noPadding && this._isScrollModeHorizontal) {\n        [hPadding, vPadding] = [vPadding, hPadding]; // Swap the padding values.\n      }\n      const pageWidthScale =\n        ((this.container.clientWidth - hPadding) / currentPage.width) *\n        currentPage.scale;\n      const pageHeightScale =\n        ((this.container.clientHeight - vPadding) / currentPage.height) *\n        currentPage.scale;\n      switch (value) {\n        case \"page-actual\":\n          scale = 1;\n          break;\n        case \"page-width\":\n          scale = pageWidthScale;\n          break;\n        case \"page-height\":\n          scale = pageHeightScale;\n          break;\n        case \"page-fit\":\n          scale = Math.min(pageWidthScale, pageHeightScale);\n          break;\n        case \"auto\":\n          // For pages in landscape mode, fit the page height to the viewer\n          // *unless* the page would thus become too wide to fit horizontally.\n          const horizontalScale = isPortraitOrientation(currentPage)\n            ? pageWidthScale\n            : Math.min(pageHeightScale, pageWidthScale);\n          scale = Math.min(MAX_AUTO_SCALE, horizontalScale);\n          break;\n        default:\n          console.error(\n            `${this._name}._setScale: \"${value}\" is an unknown zoom value.`\n          );\n          return;\n      }\n      this._setScaleUpdatePages(scale, value, noScroll, /* preset = */ true);\n    }\n  }\n\n  /**\n   * Refreshes page view: scrolls to the current page and updates the scale.\n   * @private\n   */\n  _resetCurrentPageView() {\n    if (this.isInPresentationMode) {\n      // Fixes the case when PDF has different page sizes.\n      this._setScale(this._currentScaleValue, true);\n    }\n\n    const pageView = this._pages[this._currentPageNumber - 1];\n    this._scrollIntoView({ pageDiv: pageView.div });\n  }\n\n  /**\n   * @typedef ScrollPageIntoViewParameters\n   * @property {number} pageNumber - The page number.\n   * @property {Array} [destArray] - The original PDF destination array, in the\n   *   format: <page-ref> </XYZ|/FitXXX> <args..>\n   * @property {boolean} [allowNegativeOffset] - Allow negative page offsets.\n   *   The default value is `false`.\n   * @property {boolean} [ignoreDestinationZoom] - Ignore the zoom argument in\n   *   the destination array. The default value is `false`.\n   */\n\n  /**\n   * Scrolls page into view.\n   * @param {ScrollPageIntoViewParameters} params\n   */\n  scrollPageIntoView({\n    pageNumber,\n    destArray = null,\n    allowNegativeOffset = false,\n    ignoreDestinationZoom = false,\n  }) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    const pageView =\n      Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n    if (!pageView) {\n      console.error(\n        `${this._name}.scrollPageIntoView: ` +\n          `\"${pageNumber}\" is not a valid pageNumber parameter.`\n      );\n      return;\n    }\n\n    if (this.isInPresentationMode || !destArray) {\n      this._setCurrentPageNumber(pageNumber, /* resetCurrentPageView = */ true);\n      return;\n    }\n    let x = 0,\n      y = 0;\n    let width = 0,\n      height = 0,\n      widthScale,\n      heightScale;\n    const changeOrientation = pageView.rotation % 180 !== 0;\n    const pageWidth =\n      (changeOrientation ? pageView.height : pageView.width) /\n      pageView.scale /\n      CSS_UNITS;\n    const pageHeight =\n      (changeOrientation ? pageView.width : pageView.height) /\n      pageView.scale /\n      CSS_UNITS;\n    let scale = 0;\n    switch (destArray[1].name) {\n      case \"XYZ\":\n        x = destArray[2];\n        y = destArray[3];\n        scale = destArray[4];\n        // If x and/or y coordinates are not supplied, default to\n        // _top_ left of the page (not the obvious bottom left,\n        // since aligning the bottom of the intended page with the\n        // top of the window is rarely helpful).\n        x = x !== null ? x : 0;\n        y = y !== null ? y : pageHeight;\n        break;\n      case \"Fit\":\n      case \"FitB\":\n        scale = \"page-fit\";\n        break;\n      case \"FitH\":\n      case \"FitBH\":\n        y = destArray[2];\n        scale = \"page-width\";\n        // According to the PDF spec, section 12.3.2.2, a `null` value in the\n        // parameter should maintain the position relative to the new page.\n        if (y === null && this._location) {\n          x = this._location.left;\n          y = this._location.top;\n        }\n        break;\n      case \"FitV\":\n      case \"FitBV\":\n        x = destArray[2];\n        width = pageWidth;\n        height = pageHeight;\n        scale = \"page-height\";\n        break;\n      case \"FitR\":\n        x = destArray[2];\n        y = destArray[3];\n        width = destArray[4] - x;\n        height = destArray[5] - y;\n        const hPadding = this.removePageBorders ? 0 : SCROLLBAR_PADDING;\n        const vPadding = this.removePageBorders ? 0 : VERTICAL_PADDING;\n\n        widthScale =\n          (this.container.clientWidth - hPadding) / width / CSS_UNITS;\n        heightScale =\n          (this.container.clientHeight - vPadding) / height / CSS_UNITS;\n        scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n        break;\n      default:\n        console.error(\n          `${this._name}.scrollPageIntoView: ` +\n            `\"${destArray[1].name}\" is not a valid destination type.`\n        );\n        return;\n    }\n\n    if (!ignoreDestinationZoom) {\n      if (scale && scale !== this._currentScale) {\n        this.currentScaleValue = scale;\n      } else if (this._currentScale === UNKNOWN_SCALE) {\n        this.currentScaleValue = DEFAULT_SCALE_VALUE;\n      }\n    }\n\n    if (scale === \"page-fit\" && !destArray[4]) {\n      this._scrollIntoView({\n        pageDiv: pageView.div,\n        pageNumber,\n      });\n      return;\n    }\n\n    const boundingRect = [\n      pageView.viewport.convertToViewportPoint(x, y),\n      pageView.viewport.convertToViewportPoint(x + width, y + height),\n    ];\n    let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n    let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n    if (!allowNegativeOffset) {\n      // Some bad PDF generators will create destinations with e.g. top values\n      // that exceeds the page height. Ensure that offsets are not negative,\n      // to prevent a previous page from becoming visible (fixes bug 874482).\n      left = Math.max(left, 0);\n      top = Math.max(top, 0);\n    }\n    this._scrollIntoView({\n      pageDiv: pageView.div,\n      pageSpot: { left, top },\n      pageNumber,\n    });\n  }\n\n  _updateLocation(firstPage) {\n    const currentScale = this._currentScale;\n    const currentScaleValue = this._currentScaleValue;\n    const normalizedScaleValue =\n      parseFloat(currentScaleValue) === currentScale\n        ? Math.round(currentScale * 10000) / 100\n        : currentScaleValue;\n\n    const pageNumber = firstPage.id;\n    let pdfOpenParams = \"#page=\" + pageNumber;\n    pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n    const currentPageView = this._pages[pageNumber - 1];\n    const container = this.container;\n    const topLeft = currentPageView.getPagePoint(\n      container.scrollLeft - firstPage.x,\n      container.scrollTop - firstPage.y\n    );\n    const intLeft = Math.round(topLeft[0]);\n    const intTop = Math.round(topLeft[1]);\n    pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n\n    this._location = {\n      pageNumber,\n      scale: normalizedScaleValue,\n      top: intTop,\n      left: intLeft,\n      rotation: this._pagesRotation,\n      pdfOpenParams,\n    };\n  }\n\n  _updateHelper(visiblePages) {\n    throw new Error(\"Not implemented: _updateHelper\");\n  }\n\n  update() {\n    const visible = this._getVisiblePages();\n    const visiblePages = visible.views,\n      numVisiblePages = visiblePages.length;\n\n    if (numVisiblePages === 0) {\n      return;\n    }\n    const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n    this._buffer.resize(newCacheSize, visiblePages);\n\n    this.renderingQueue.renderHighestPriority(visible);\n\n    this._updateHelper(visiblePages); // Run any class-specific update code.\n\n    this._updateLocation(visible.first);\n    this.eventBus.dispatch(\"updateviewarea\", {\n      source: this,\n      location: this._location,\n    });\n  }\n\n  containsElement(element) {\n    return this.container.contains(element);\n  }\n\n  focus() {\n    this.container.focus();\n  }\n\n  get _isScrollModeHorizontal() {\n    // Used to ensure that pre-rendering of the next/previous page works\n    // correctly, since Scroll/Spread modes are ignored in Presentation Mode.\n    return this.isInPresentationMode\n      ? false\n      : this._scrollMode === ScrollMode.HORIZONTAL;\n  }\n\n  get isInPresentationMode() {\n    return this.presentationModeState === PresentationModeState.FULLSCREEN;\n  }\n\n  get isChangingPresentationMode() {\n    return this.presentationModeState === PresentationModeState.CHANGING;\n  }\n\n  get isHorizontalScrollbarEnabled() {\n    return this.isInPresentationMode\n      ? false\n      : this.container.scrollWidth > this.container.clientWidth;\n  }\n\n  get isVerticalScrollbarEnabled() {\n    return this.isInPresentationMode\n      ? false\n      : this.container.scrollHeight > this.container.clientHeight;\n  }\n\n  /**\n   * Helper method for `this._getVisiblePages`. Should only ever be used when\n   * the viewer can only display a single page at a time, for example in:\n   *  - `PDFSinglePageViewer`.\n   *  - `PDFViewer` with Presentation Mode active.\n   */\n  _getCurrentVisiblePage() {\n    if (!this.pagesCount) {\n      return { views: [] };\n    }\n    const pageView = this._pages[this._currentPageNumber - 1];\n    // NOTE: Compute the `x` and `y` properties of the current view,\n    // since `this._updateLocation` depends of them being available.\n    const element = pageView.div;\n\n    const view = {\n      id: pageView.id,\n      x: element.offsetLeft + element.clientLeft,\n      y: element.offsetTop + element.clientTop,\n      view: pageView,\n    };\n    return { first: view, last: view, views: [view] };\n  }\n\n  _getVisiblePages() {\n    return getVisibleElements(\n      this.container,\n      this._pages,\n      true,\n      this._isScrollModeHorizontal\n    );\n  }\n\n  /**\n   * @param {number} pageNumber\n   */\n  isPageVisible(pageNumber) {\n    if (!this.pdfDocument) {\n      return false;\n    }\n    if (pageNumber < 1 || pageNumber > this.pagesCount) {\n      console.error(\n        `${this._name}.isPageVisible: \"${pageNumber}\" is out of bounds.`\n      );\n      return false;\n    }\n    return this._getVisiblePages().views.some(function(view) {\n      return view.id === pageNumber;\n    });\n  }\n\n  cleanup() {\n    for (let i = 0, ii = this._pages.length; i < ii; i++) {\n      if (\n        this._pages[i] &&\n        this._pages[i].renderingState !== RenderingStates.FINISHED\n      ) {\n        this._pages[i].reset();\n      }\n    }\n  }\n\n  /**\n   * @private\n   */\n  _cancelRendering() {\n    for (let i = 0, ii = this._pages.length; i < ii; i++) {\n      if (this._pages[i]) {\n        this._pages[i].cancelRendering();\n      }\n    }\n  }\n\n  /**\n   * @param {PDFPageView} pageView\n   * @returns {Promise} Returns a promise containing a {PDFPageProxy} object.\n   * @private\n   */\n  _ensurePdfPageLoaded(pageView) {\n    if (pageView.pdfPage) {\n      return Promise.resolve(pageView.pdfPage);\n    }\n    if (this._pagesRequests.has(pageView)) {\n      return this._pagesRequests.get(pageView);\n    }\n    const promise = this.pdfDocument\n      .getPage(pageView.id)\n      .then(pdfPage => {\n        if (!pageView.pdfPage) {\n          pageView.setPdfPage(pdfPage);\n        }\n        this._pagesRequests.delete(pageView);\n        return pdfPage;\n      })\n      .catch(reason => {\n        console.error(\"Unable to get page for page view\", reason);\n        // Page error -- there is nothing that can be done.\n        this._pagesRequests.delete(pageView);\n      });\n    this._pagesRequests.set(pageView, promise);\n    return promise;\n  }\n\n  forceRendering(currentlyVisiblePages) {\n    const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n    const scrollAhead = this._isScrollModeHorizontal\n      ? this.scroll.right\n      : this.scroll.down;\n    const pageView = this.renderingQueue.getHighestPriority(\n      visiblePages,\n      this._pages,\n      scrollAhead\n    );\n    if (pageView) {\n      this._ensurePdfPageLoaded(pageView).then(() => {\n        this.renderingQueue.renderView(pageView);\n      });\n      return true;\n    }\n    return false;\n  }\n\n  /**\n   * @param {HTMLDivElement} textLayerDiv\n   * @param {number} pageIndex\n   * @param {PageViewport} viewport\n   * @param {boolean} enhanceTextSelection\n   * @param {EventBus} eventBus\n   * @returns {TextLayerBuilder}\n   */\n  createTextLayerBuilder(\n    textLayerDiv,\n    pageIndex,\n    viewport,\n    enhanceTextSelection = false,\n    eventBus\n  ) {\n    return new TextLayerBuilder({\n      textLayerDiv,\n      eventBus,\n      pageIndex,\n      viewport,\n      findController: this.isInPresentationMode ? null : this.findController,\n      enhanceTextSelection: this.isInPresentationMode\n        ? false\n        : enhanceTextSelection,\n    });\n  }\n\n  /**\n   * @param {HTMLDivElement} pageDiv\n   * @param {PDFPage} pdfPage\n   * @param {string} [imageResourcesPath] - Path for image resources, mainly\n   *   for annotation icons. Include trailing slash.\n   * @param {boolean} renderInteractiveForms\n   * @param {IL10n} l10n\n   * @returns {AnnotationLayerBuilder}\n   */\n  createAnnotationLayerBuilder(\n    pageDiv,\n    pdfPage,\n    imageResourcesPath = \"\",\n    renderInteractiveForms = false,\n    l10n = NullL10n\n  ) {\n    return new AnnotationLayerBuilder({\n      pageDiv,\n      pdfPage,\n      imageResourcesPath,\n      renderInteractiveForms,\n      linkService: this.linkService,\n      downloadManager: this.downloadManager,\n      l10n,\n    });\n  }\n\n  /**\n   * @type {boolean} Whether all pages of the PDF document have identical\n   *   widths and heights.\n   */\n  get hasEqualPageSizes() {\n    const firstPageView = this._pages[0];\n    for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n      const pageView = this._pages[i];\n      if (\n        pageView.width !== firstPageView.width ||\n        pageView.height !== firstPageView.height\n      ) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  /**\n   * Returns sizes of the pages.\n   * @returns {Array} Array of objects with width/height/rotation fields.\n   */\n  getPagesOverview() {\n    const pagesOverview = this._pages.map(function(pageView) {\n      const viewport = pageView.pdfPage.getViewport({ scale: 1 });\n      return {\n        width: viewport.width,\n        height: viewport.height,\n        rotation: viewport.rotation,\n      };\n    });\n    if (!this.enablePrintAutoRotate) {\n      return pagesOverview;\n    }\n    const isFirstPagePortrait = isPortraitOrientation(pagesOverview[0]);\n    return pagesOverview.map(function(size) {\n      if (isFirstPagePortrait === isPortraitOrientation(size)) {\n        return size;\n      }\n      return {\n        width: size.height,\n        height: size.width,\n        rotation: (size.rotation + 90) % 360,\n      };\n    });\n  }\n\n  /**\n   * @type {number} One of the values in {ScrollMode}.\n   */\n  get scrollMode() {\n    return this._scrollMode;\n  }\n\n  /**\n   * @param {number} mode - The direction in which the document pages should be\n   *   laid out within the scrolling container.\n   *   The constants from {ScrollMode} should be used.\n   */\n  set scrollMode(mode) {\n    if (this._scrollMode === mode) {\n      return; // The Scroll mode didn't change.\n    }\n    if (!isValidScrollMode(mode)) {\n      throw new Error(`Invalid scroll mode: ${mode}`);\n    }\n    this._scrollMode = mode;\n    this.eventBus.dispatch(\"scrollmodechanged\", { source: this, mode });\n\n    this._updateScrollMode(/* pageNumber = */ this._currentPageNumber);\n  }\n\n  _updateScrollMode(pageNumber = null) {\n    const scrollMode = this._scrollMode,\n      viewer = this.viewer;\n\n    viewer.classList.toggle(\n      \"scrollHorizontal\",\n      scrollMode === ScrollMode.HORIZONTAL\n    );\n    viewer.classList.toggle(\"scrollWrapped\", scrollMode === ScrollMode.WRAPPED);\n\n    if (!this.pdfDocument || !pageNumber) {\n      return;\n    }\n    // Non-numeric scale values can be sensitive to the scroll orientation.\n    // Call this before re-scrolling to the current page, to ensure that any\n    // changes in scale don't move the current page.\n    if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n      this._setScale(this._currentScaleValue, true);\n    }\n    this._setCurrentPageNumber(pageNumber, /* resetCurrentPageView = */ true);\n    this.update();\n  }\n\n  /**\n   * @type {number} One of the values in {SpreadMode}.\n   */\n  get spreadMode() {\n    return this._spreadMode;\n  }\n\n  /**\n   * @param {number} mode - Group the pages in spreads, starting with odd- or\n   *   even-number pages (unless `SpreadMode.NONE` is used).\n   *   The constants from {SpreadMode} should be used.\n   */\n  set spreadMode(mode) {\n    if (this._spreadMode === mode) {\n      return; // The Spread mode didn't change.\n    }\n    if (!isValidSpreadMode(mode)) {\n      throw new Error(`Invalid spread mode: ${mode}`);\n    }\n    this._spreadMode = mode;\n    this.eventBus.dispatch(\"spreadmodechanged\", { source: this, mode });\n\n    this._updateSpreadMode(/* pageNumber = */ this._currentPageNumber);\n  }\n\n  _updateSpreadMode(pageNumber = null) {\n    if (!this.pdfDocument) {\n      return;\n    }\n    const viewer = this.viewer,\n      pages = this._pages;\n    // Temporarily remove all the pages from the DOM.\n    viewer.textContent = \"\";\n\n    if (this._spreadMode === SpreadMode.NONE) {\n      for (let i = 0, iMax = pages.length; i < iMax; ++i) {\n        viewer.appendChild(pages[i].div);\n      }\n    } else {\n      const parity = this._spreadMode - 1;\n      let spread = null;\n      for (let i = 0, iMax = pages.length; i < iMax; ++i) {\n        if (spread === null) {\n          spread = document.createElement(\"div\");\n          spread.className = \"spread\";\n          viewer.appendChild(spread);\n        } else if (i % 2 === parity) {\n          spread = spread.cloneNode(false);\n          viewer.appendChild(spread);\n        }\n        spread.appendChild(pages[i].div);\n      }\n    }\n\n    if (!pageNumber) {\n      return;\n    }\n    this._setCurrentPageNumber(pageNumber, /* resetCurrentPageView = */ true);\n    this.update();\n  }\n}\n\nexport { BaseViewer };\n","/* Copyright 2014 Mozilla Foundation\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\nimport { AnnotationLayer } from \"pdfjs-lib\";\nimport { NullL10n } from \"./ui_utils.js\";\nimport { SimpleLinkService } from \"./pdf_link_service.js\";\n\n/**\n * @typedef {Object} AnnotationLayerBuilderOptions\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPage} pdfPage\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n *   for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms\n * @property {IPDFLinkService} linkService\n * @property {DownloadManager} downloadManager\n * @property {IL10n} l10n - Localization service.\n */\n\nclass AnnotationLayerBuilder {\n  /**\n   * @param {AnnotationLayerBuilderOptions} options\n   */\n  constructor({\n    pageDiv,\n    pdfPage,\n    linkService,\n    downloadManager,\n    imageResourcesPath = \"\",\n    renderInteractiveForms = false,\n    l10n = NullL10n,\n  }) {\n    this.pageDiv = pageDiv;\n    this.pdfPage = pdfPage;\n    this.linkService = linkService;\n    this.downloadManager = downloadManager;\n    this.imageResourcesPath = imageResourcesPath;\n    this.renderInteractiveForms = renderInteractiveForms;\n    this.l10n = l10n;\n\n    this.div = null;\n    this._cancelled = false;\n  }\n\n  /**\n   * @param {PageViewport} viewport\n   * @param {string} intent (default value is 'display')\n   */\n  render(viewport, intent = \"display\") {\n    this.pdfPage.getAnnotations({ intent }).then(annotations => {\n      if (this._cancelled) {\n        return;\n      }\n\n      const parameters = {\n        viewport: viewport.clone({ dontFlip: true }),\n        div: this.div,\n        annotations,\n        page: this.pdfPage,\n        imageResourcesPath: this.imageResourcesPath,\n        renderInteractiveForms: this.renderInteractiveForms,\n        linkService: this.linkService,\n        downloadManager: this.downloadManager,\n      };\n\n      if (this.div) {\n        // If an annotationLayer already exists, refresh its children's\n        // transformation matrices.\n        AnnotationLayer.update(parameters);\n      } else {\n        // Create an annotation layer div and render the annotations\n        // if there is at least one annotation.\n        if (annotations.length === 0) {\n          return;\n        }\n        this.div = document.createElement(\"div\");\n        this.div.className = \"annotationLayer\";\n        this.pageDiv.appendChild(this.div);\n        parameters.div = this.div;\n\n        AnnotationLayer.render(parameters);\n        this.l10n.translate(this.div);\n      }\n    });\n  }\n\n  cancel() {\n    this._cancelled = true;\n  }\n\n  hide() {\n    if (!this.div) {\n      return;\n    }\n    this.div.setAttribute(\"hidden\", \"true\");\n  }\n}\n\n/**\n * @implements IPDFAnnotationLayerFactory\n */\nclass DefaultAnnotationLayerFactory {\n  /**\n   * @param {HTMLDivElement} pageDiv\n   * @param {PDFPage} pdfPage\n   * @param {string} [imageResourcesPath] - Path for image resources, mainly\n   *   for annotation icons. Include trailing slash.\n   * @param {boolean} renderInteractiveForms\n   * @param {IL10n} l10n\n   * @returns {AnnotationLayerBuilder}\n   */\n  createAnnotationLayerBuilder(\n    pageDiv,\n    pdfPage,\n    imageResourcesPath = \"\",\n    renderInteractiveForms = false,\n    l10n = NullL10n\n  ) {\n    return new AnnotationLayerBuilder({\n      pageDiv,\n      pdfPage,\n      imageResourcesPath,\n      renderInteractiveForms,\n      linkService: new SimpleLinkService(),\n      l10n,\n    });\n  }\n}\n\nexport { AnnotationLayerBuilder, DefaultAnnotationLayerFactory };\n","/* Copyright 2012 Mozilla Foundation\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\nimport {\n  approximateFraction,\n  CSS_UNITS,\n  DEFAULT_SCALE,\n  getGlobalEventBus,\n  getOutputScale,\n  NullL10n,\n  RendererType,\n  roundToDivide,\n  TextLayerMode,\n} from \"./ui_utils.js\";\nimport {\n  createPromiseCapability,\n  RenderingCancelledException,\n  SVGGraphics,\n} from \"pdfjs-lib\";\nimport { RenderingStates } from \"./pdf_rendering_queue.js\";\nimport { viewerCompatibilityParams } from \"./viewer_compatibility.js\";\n\n/**\n * @typedef {Object} PDFPageViewOptions\n * @property {HTMLDivElement} container - The viewer element.\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} id - The page unique ID (normally its number).\n * @property {number} scale - The page scale display.\n * @property {PageViewport} defaultViewport - The page viewport.\n * @property {PDFRenderingQueue} renderingQueue - The rendering queue object.\n * @property {IPDFTextLayerFactory} textLayerFactory\n * @property {number} [textLayerMode] - Controls if the text layer used for\n *   selection and searching is created, and if the improved text selection\n *   behaviour is enabled. The constants from {TextLayerMode} should be used.\n *   The default value is `TextLayerMode.ENABLE`.\n * @property {IPDFAnnotationLayerFactory} annotationLayerFactory\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n *   for annotation icons. Include trailing slash.\n * @property {boolean} renderInteractiveForms - Turns on rendering of\n *   interactive form elements. The default is `false`.\n * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'.\n * @property {boolean} [enableWebGL] - Enables WebGL accelerated rendering for\n *   some operations. The default value is `false`.\n * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default\n *   value is `false`.\n * @property {number} [maxCanvasPixels] - The maximum supported canvas size in\n *   total pixels, i.e. width * height. Use -1 for no limit. The default value\n *   is 4096 * 4096 (16 mega-pixels).\n * @property {IL10n} l10n - Localization service.\n */\n\nconst MAX_CANVAS_PIXELS = viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\n/**\n * @implements {IRenderableView}\n */\nclass PDFPageView {\n  /**\n   * @param {PDFPageViewOptions} options\n   */\n  constructor(options) {\n    const container = options.container;\n    const defaultViewport = options.defaultViewport;\n\n    this.id = options.id;\n    this.renderingId = \"page\" + this.id;\n\n    this.pdfPage = null;\n    this.pageLabel = null;\n    this.rotation = 0;\n    this.scale = options.scale || DEFAULT_SCALE;\n    this.viewport = defaultViewport;\n    this.pdfPageRotate = defaultViewport.rotation;\n    this.hasRestrictedScaling = false;\n    this.textLayerMode = Number.isInteger(options.textLayerMode)\n      ? options.textLayerMode\n      : TextLayerMode.ENABLE;\n    this.imageResourcesPath = options.imageResourcesPath || \"\";\n    this.renderInteractiveForms = options.renderInteractiveForms || false;\n    this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n    this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n\n    this.eventBus = options.eventBus || getGlobalEventBus();\n    this.renderingQueue = options.renderingQueue;\n    this.textLayerFactory = options.textLayerFactory;\n    this.annotationLayerFactory = options.annotationLayerFactory;\n    this.renderer = options.renderer || RendererType.CANVAS;\n    this.enableWebGL = options.enableWebGL || false;\n    this.l10n = options.l10n || NullL10n;\n\n    this.paintTask = null;\n    this.paintedViewportMap = new WeakMap();\n    this.renderingState = RenderingStates.INITIAL;\n    this.resume = null;\n    this.error = null;\n\n    this.annotationLayer = null;\n    this.textLayer = null;\n    this.zoomLayer = null;\n\n    const div = document.createElement(\"div\");\n    div.className = \"page\";\n    div.style.width = Math.floor(this.viewport.width) + \"px\";\n    div.style.height = Math.floor(this.viewport.height) + \"px\";\n    div.setAttribute(\"data-page-number\", this.id);\n    this.div = div;\n\n    container.appendChild(div);\n  }\n\n  setPdfPage(pdfPage) {\n    this.pdfPage = pdfPage;\n    this.pdfPageRotate = pdfPage.rotate;\n\n    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n    this.viewport = pdfPage.getViewport({\n      scale: this.scale * CSS_UNITS,\n      rotation: totalRotation,\n    });\n    this.stats = pdfPage.stats;\n    this.reset();\n  }\n\n  destroy() {\n    this.reset();\n    if (this.pdfPage) {\n      this.pdfPage.cleanup();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _resetZoomLayer(removeFromDOM = false) {\n    if (!this.zoomLayer) {\n      return;\n    }\n    const zoomLayerCanvas = this.zoomLayer.firstChild;\n    this.paintedViewportMap.delete(zoomLayerCanvas);\n    // Zeroing the width and height causes Firefox to release graphics\n    // resources immediately, which can greatly reduce memory consumption.\n    zoomLayerCanvas.width = 0;\n    zoomLayerCanvas.height = 0;\n\n    if (removeFromDOM) {\n      // Note: `ChildNode.remove` doesn't throw if the parent node is undefined.\n      this.zoomLayer.remove();\n    }\n    this.zoomLayer = null;\n  }\n\n  reset(keepZoomLayer = false, keepAnnotations = false) {\n    this.cancelRendering(keepAnnotations);\n    this.renderingState = RenderingStates.INITIAL;\n\n    const div = this.div;\n    div.style.width = Math.floor(this.viewport.width) + \"px\";\n    div.style.height = Math.floor(this.viewport.height) + \"px\";\n\n    const childNodes = div.childNodes;\n    const currentZoomLayerNode = (keepZoomLayer && this.zoomLayer) || null;\n    const currentAnnotationNode =\n      (keepAnnotations && this.annotationLayer && this.annotationLayer.div) ||\n      null;\n    for (let i = childNodes.length - 1; i >= 0; i--) {\n      const node = childNodes[i];\n      if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n        continue;\n      }\n      div.removeChild(node);\n    }\n    div.removeAttribute(\"data-loaded\");\n\n    if (currentAnnotationNode) {\n      // Hide the annotation layer until all elements are resized\n      // so they are not displayed on the already resized page.\n      this.annotationLayer.hide();\n    } else if (this.annotationLayer) {\n      this.annotationLayer.cancel();\n      this.annotationLayer = null;\n    }\n\n    if (!currentZoomLayerNode) {\n      if (this.canvas) {\n        this.paintedViewportMap.delete(this.canvas);\n        // Zeroing the width and height causes Firefox to release graphics\n        // resources immediately, which can greatly reduce memory consumption.\n        this.canvas.width = 0;\n        this.canvas.height = 0;\n        delete this.canvas;\n      }\n      this._resetZoomLayer();\n    }\n    if (this.svg) {\n      this.paintedViewportMap.delete(this.svg);\n      delete this.svg;\n    }\n\n    this.loadingIconDiv = document.createElement(\"div\");\n    this.loadingIconDiv.className = \"loadingIcon\";\n    div.appendChild(this.loadingIconDiv);\n  }\n\n  update(scale, rotation) {\n    this.scale = scale || this.scale;\n    // The rotation may be zero.\n    if (typeof rotation !== \"undefined\") {\n      this.rotation = rotation;\n    }\n\n    const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n    this.viewport = this.viewport.clone({\n      scale: this.scale * CSS_UNITS,\n      rotation: totalRotation,\n    });\n\n    if (this.svg) {\n      this.cssTransform(this.svg, true);\n\n      this.eventBus.dispatch(\"pagerendered\", {\n        source: this,\n        pageNumber: this.id,\n        cssTransform: true,\n        timestamp: performance.now(),\n      });\n      return;\n    }\n\n    let isScalingRestricted = false;\n    if (this.canvas && this.maxCanvasPixels > 0) {\n      const outputScale = this.outputScale;\n      if (\n        ((Math.floor(this.viewport.width) * outputScale.sx) | 0) *\n          ((Math.floor(this.viewport.height) * outputScale.sy) | 0) >\n        this.maxCanvasPixels\n      ) {\n        isScalingRestricted = true;\n      }\n    }\n\n    if (this.canvas) {\n      if (\n        this.useOnlyCssZoom ||\n        (this.hasRestrictedScaling && isScalingRestricted)\n      ) {\n        this.cssTransform(this.canvas, true);\n\n        this.eventBus.dispatch(\"pagerendered\", {\n          source: this,\n          pageNumber: this.id,\n          cssTransform: true,\n          timestamp: performance.now(),\n        });\n        return;\n      }\n      if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n        this.zoomLayer = this.canvas.parentNode;\n        this.zoomLayer.style.position = \"absolute\";\n      }\n    }\n    if (this.zoomLayer) {\n      this.cssTransform(this.zoomLayer.firstChild);\n    }\n    this.reset(/* keepZoomLayer = */ true, /* keepAnnotations = */ true);\n  }\n\n  /**\n   * PLEASE NOTE: Most likely you want to use the `this.reset()` method,\n   *              rather than calling this one directly.\n   */\n  cancelRendering(keepAnnotations = false) {\n    if (this.paintTask) {\n      this.paintTask.cancel();\n      this.paintTask = null;\n    }\n    this.resume = null;\n\n    if (this.textLayer) {\n      this.textLayer.cancel();\n      this.textLayer = null;\n    }\n    if (!keepAnnotations && this.annotationLayer) {\n      this.annotationLayer.cancel();\n      this.annotationLayer = null;\n    }\n  }\n\n  cssTransform(target, redrawAnnotations = false) {\n    // Scale target (canvas or svg), its wrapper and page container.\n    const width = this.viewport.width;\n    const height = this.viewport.height;\n    const div = this.div;\n    target.style.width = target.parentNode.style.width = div.style.width =\n      Math.floor(width) + \"px\";\n    target.style.height = target.parentNode.style.height = div.style.height =\n      Math.floor(height) + \"px\";\n    // The canvas may have been originally rotated; rotate relative to that.\n    const relativeRotation =\n      this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n    const absRotation = Math.abs(relativeRotation);\n    let scaleX = 1,\n      scaleY = 1;\n    if (absRotation === 90 || absRotation === 270) {\n      // Scale x and y because of the rotation.\n      scaleX = height / width;\n      scaleY = width / height;\n    }\n    const cssTransform =\n      \"rotate(\" +\n      relativeRotation +\n      \"deg) \" +\n      \"scale(\" +\n      scaleX +\n      \",\" +\n      scaleY +\n      \")\";\n    target.style.transform = cssTransform;\n\n    if (this.textLayer) {\n      // Rotating the text layer is more complicated since the divs inside the\n      // the text layer are rotated.\n      // TODO: This could probably be simplified by drawing the text layer in\n      // one orientation and then rotating overall.\n      const textLayerViewport = this.textLayer.viewport;\n      const textRelativeRotation =\n        this.viewport.rotation - textLayerViewport.rotation;\n      const textAbsRotation = Math.abs(textRelativeRotation);\n      let scale = width / textLayerViewport.width;\n      if (textAbsRotation === 90 || textAbsRotation === 270) {\n        scale = width / textLayerViewport.height;\n      }\n      const textLayerDiv = this.textLayer.textLayerDiv;\n      let transX, transY;\n      switch (textAbsRotation) {\n        case 0:\n          transX = transY = 0;\n          break;\n        case 90:\n          transX = 0;\n          transY = \"-\" + textLayerDiv.style.height;\n          break;\n        case 180:\n          transX = \"-\" + textLayerDiv.style.width;\n          transY = \"-\" + textLayerDiv.style.height;\n          break;\n        case 270:\n          transX = \"-\" + textLayerDiv.style.width;\n          transY = 0;\n          break;\n        default:\n          console.error(\"Bad rotation value.\");\n          break;\n      }\n\n      textLayerDiv.style.transform =\n        \"rotate(\" +\n        textAbsRotation +\n        \"deg) \" +\n        \"scale(\" +\n        scale +\n        \", \" +\n        scale +\n        \") \" +\n        \"translate(\" +\n        transX +\n        \", \" +\n        transY +\n        \")\";\n      textLayerDiv.style.transformOrigin = \"0% 0%\";\n    }\n\n    if (redrawAnnotations && this.annotationLayer) {\n      this.annotationLayer.render(this.viewport, \"display\");\n    }\n  }\n\n  get width() {\n    return this.viewport.width;\n  }\n\n  get height() {\n    return this.viewport.height;\n  }\n\n  getPagePoint(x, y) {\n    return this.viewport.convertToPdfPoint(x, y);\n  }\n\n  draw() {\n    if (this.renderingState !== RenderingStates.INITIAL) {\n      console.error(\"Must be in new state before drawing\");\n      this.reset(); // Ensure that we reset all state to prevent issues.\n    }\n    const { div, pdfPage } = this;\n\n    if (!pdfPage) {\n      this.renderingState = RenderingStates.FINISHED;\n\n      if (this.loadingIconDiv) {\n        div.removeChild(this.loadingIconDiv);\n        delete this.loadingIconDiv;\n      }\n      return Promise.reject(new Error(\"pdfPage is not loaded\"));\n    }\n\n    this.renderingState = RenderingStates.RUNNING;\n\n    // Wrap the canvas so that if it has a CSS transform for high DPI the\n    // overflow will be hidden in Firefox.\n    const canvasWrapper = document.createElement(\"div\");\n    canvasWrapper.style.width = div.style.width;\n    canvasWrapper.style.height = div.style.height;\n    canvasWrapper.classList.add(\"canvasWrapper\");\n\n    if (this.annotationLayer && this.annotationLayer.div) {\n      // The annotation layer needs to stay on top.\n      div.insertBefore(canvasWrapper, this.annotationLayer.div);\n    } else {\n      div.appendChild(canvasWrapper);\n    }\n\n    let textLayer = null;\n    if (this.textLayerMode !== TextLayerMode.DISABLE && this.textLayerFactory) {\n      const textLayerDiv = document.createElement(\"div\");\n      textLayerDiv.className = \"textLayer\";\n      textLayerDiv.style.width = canvasWrapper.style.width;\n      textLayerDiv.style.height = canvasWrapper.style.height;\n      if (this.annotationLayer && this.annotationLayer.div) {\n        // The annotation layer needs to stay on top.\n        div.insertBefore(textLayerDiv, this.annotationLayer.div);\n      } else {\n        div.appendChild(textLayerDiv);\n      }\n\n      textLayer = this.textLayerFactory.createTextLayerBuilder(\n        textLayerDiv,\n        this.id - 1,\n        this.viewport,\n        this.textLayerMode === TextLayerMode.ENABLE_ENHANCE,\n        this.eventBus\n      );\n    }\n    this.textLayer = textLayer;\n\n    let renderContinueCallback = null;\n    if (this.renderingQueue) {\n      renderContinueCallback = cont => {\n        if (!this.renderingQueue.isHighestPriority(this)) {\n          this.renderingState = RenderingStates.PAUSED;\n          this.resume = () => {\n            this.renderingState = RenderingStates.RUNNING;\n            cont();\n          };\n          return;\n        }\n        cont();\n      };\n    }\n\n    const finishPaintTask = async error => {\n      // The paintTask may have been replaced by a new one, so only remove\n      // the reference to the paintTask if it matches the one that is\n      // triggering this callback.\n      if (paintTask === this.paintTask) {\n        this.paintTask = null;\n      }\n\n      if (error instanceof RenderingCancelledException) {\n        this.error = null;\n        return;\n      }\n\n      this.renderingState = RenderingStates.FINISHED;\n\n      if (this.loadingIconDiv) {\n        div.removeChild(this.loadingIconDiv);\n        delete this.loadingIconDiv;\n      }\n      this._resetZoomLayer(/* removeFromDOM = */ true);\n\n      this.error = error;\n      this.stats = pdfPage.stats;\n\n      this.eventBus.dispatch(\"pagerendered\", {\n        source: this,\n        pageNumber: this.id,\n        cssTransform: false,\n        timestamp: performance.now(),\n      });\n\n      if (error) {\n        throw error;\n      }\n    };\n\n    const paintTask =\n      this.renderer === RendererType.SVG\n        ? this.paintOnSvg(canvasWrapper)\n        : this.paintOnCanvas(canvasWrapper);\n    paintTask.onRenderContinue = renderContinueCallback;\n    this.paintTask = paintTask;\n\n    const resultPromise = paintTask.promise.then(\n      function() {\n        return finishPaintTask(null).then(function() {\n          if (textLayer) {\n            const readableStream = pdfPage.streamTextContent({\n              normalizeWhitespace: true,\n            });\n            textLayer.setTextContentStream(readableStream);\n            textLayer.render();\n          }\n        });\n      },\n      function(reason) {\n        return finishPaintTask(reason);\n      }\n    );\n\n    if (this.annotationLayerFactory) {\n      if (!this.annotationLayer) {\n        this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(\n          div,\n          pdfPage,\n          this.imageResourcesPath,\n          this.renderInteractiveForms,\n          this.l10n\n        );\n      }\n      this.annotationLayer.render(this.viewport, \"display\");\n    }\n    div.setAttribute(\"data-loaded\", true);\n\n    this.eventBus.dispatch(\"pagerender\", {\n      source: this,\n      pageNumber: this.id,\n    });\n    return resultPromise;\n  }\n\n  paintOnCanvas(canvasWrapper) {\n    const renderCapability = createPromiseCapability();\n    const result = {\n      promise: renderCapability.promise,\n      onRenderContinue(cont) {\n        cont();\n      },\n      cancel() {\n        renderTask.cancel();\n      },\n    };\n\n    const viewport = this.viewport;\n    const canvas = document.createElement(\"canvas\");\n    this.l10n\n      .get(\"page_canvas\", { page: this.id }, \"Page {{page}}\")\n      .then(msg => {\n        canvas.setAttribute(\"aria-label\", msg);\n      });\n\n    // Keep the canvas hidden until the first draw callback, or until drawing\n    // is complete when `!this.renderingQueue`, to prevent black flickering.\n    canvas.setAttribute(\"hidden\", \"hidden\");\n    let isCanvasHidden = true;\n    const showCanvas = function() {\n      if (isCanvasHidden) {\n        canvas.removeAttribute(\"hidden\");\n        isCanvasHidden = false;\n      }\n    };\n\n    canvasWrapper.appendChild(canvas);\n    this.canvas = canvas;\n\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n    ) {\n      canvas.mozOpaque = true;\n    }\n\n    const ctx = canvas.getContext(\"2d\", { alpha: false });\n    const outputScale = getOutputScale(ctx);\n    this.outputScale = outputScale;\n\n    if (this.useOnlyCssZoom) {\n      const actualSizeViewport = viewport.clone({ scale: CSS_UNITS });\n      // Use a scale that makes the canvas have the originally intended size\n      // of the page.\n      outputScale.sx *= actualSizeViewport.width / viewport.width;\n      outputScale.sy *= actualSizeViewport.height / viewport.height;\n      outputScale.scaled = true;\n    }\n\n    if (this.maxCanvasPixels > 0) {\n      const pixelsInViewport = viewport.width * viewport.height;\n      const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n      if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n        outputScale.sx = maxScale;\n        outputScale.sy = maxScale;\n        outputScale.scaled = true;\n        this.hasRestrictedScaling = true;\n      } else {\n        this.hasRestrictedScaling = false;\n      }\n    }\n\n    const sfx = approximateFraction(outputScale.sx);\n    const sfy = approximateFraction(outputScale.sy);\n    canvas.width = roundToDivide(viewport.width * outputScale.sx, sfx[0]);\n    canvas.height = roundToDivide(viewport.height * outputScale.sy, sfy[0]);\n    canvas.style.width = roundToDivide(viewport.width, sfx[1]) + \"px\";\n    canvas.style.height = roundToDivide(viewport.height, sfy[1]) + \"px\";\n    // Add the viewport so it's known what it was originally drawn with.\n    this.paintedViewportMap.set(canvas, viewport);\n\n    // Rendering area\n    const transform = !outputScale.scaled\n      ? null\n      : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n    const renderContext = {\n      canvasContext: ctx,\n      transform,\n      viewport: this.viewport,\n      enableWebGL: this.enableWebGL,\n      renderInteractiveForms: this.renderInteractiveForms,\n    };\n    const renderTask = this.pdfPage.render(renderContext);\n    renderTask.onContinue = function(cont) {\n      showCanvas();\n      if (result.onRenderContinue) {\n        result.onRenderContinue(cont);\n      } else {\n        cont();\n      }\n    };\n\n    renderTask.promise.then(\n      function() {\n        showCanvas();\n        renderCapability.resolve(undefined);\n      },\n      function(error) {\n        showCanvas();\n        renderCapability.reject(error);\n      }\n    );\n    return result;\n  }\n\n  paintOnSvg(wrapper) {\n    if (\n      typeof PDFJSDev !== \"undefined\" &&\n      PDFJSDev.test(\"MOZCENTRAL || CHROME\")\n    ) {\n      // Return a mock object, to prevent errors such as e.g.\n      // \"TypeError: paintTask.promise is undefined\".\n      return {\n        promise: Promise.reject(new Error(\"SVG rendering is not supported.\")),\n        onRenderContinue(cont) {},\n        cancel() {},\n      };\n    }\n\n    let cancelled = false;\n    const ensureNotCancelled = () => {\n      if (cancelled) {\n        throw new RenderingCancelledException(\n          `Rendering cancelled, page ${this.id}`,\n          \"svg\"\n        );\n      }\n    };\n\n    const pdfPage = this.pdfPage;\n    const actualSizeViewport = this.viewport.clone({ scale: CSS_UNITS });\n    const promise = pdfPage.getOperatorList().then(opList => {\n      ensureNotCancelled();\n      const svgGfx = new SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n      return svgGfx.getSVG(opList, actualSizeViewport).then(svg => {\n        ensureNotCancelled();\n        this.svg = svg;\n        this.paintedViewportMap.set(svg, actualSizeViewport);\n\n        svg.style.width = wrapper.style.width;\n        svg.style.height = wrapper.style.height;\n        this.renderingState = RenderingStates.FINISHED;\n        wrapper.appendChild(svg);\n      });\n    });\n\n    return {\n      promise,\n      onRenderContinue(cont) {\n        cont();\n      },\n      cancel() {\n        cancelled = true;\n      },\n    };\n  }\n\n  /**\n   * @param {string|null} label\n   */\n  setPageLabel(label) {\n    this.pageLabel = typeof label === \"string\" ? label : null;\n\n    if (this.pageLabel !== null) {\n      this.div.setAttribute(\"data-page-label\", this.pageLabel);\n    } else {\n      this.div.removeAttribute(\"data-page-label\");\n    }\n  }\n}\n\nexport { PDFPageView };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { getGlobalEventBus } from \"./ui_utils.js\";\nimport { renderTextLayer } from \"pdfjs-lib\";\n\nconst EXPAND_DIVS_TIMEOUT = 300; // ms\n\n/**\n * @typedef {Object} TextLayerBuilderOptions\n * @property {HTMLDivElement} textLayerDiv - The text layer container.\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} pageIndex - The page index.\n * @property {PageViewport} viewport - The viewport of the text layer.\n * @property {PDFFindController} findController\n * @property {boolean} enhanceTextSelection - Option to turn on improved\n *   text selection.\n */\n\n/**\n * The text layer builder provides text selection functionality for the PDF.\n * It does this by creating overlay divs over the PDF's text. These divs\n * contain text that matches the PDF text they are overlaying. This object\n * also provides a way to highlight text that is being searched for.\n */\nclass TextLayerBuilder {\n  constructor({\n    textLayerDiv,\n    eventBus,\n    pageIndex,\n    viewport,\n    findController = null,\n    enhanceTextSelection = false,\n  }) {\n    this.textLayerDiv = textLayerDiv;\n    this.eventBus = eventBus || getGlobalEventBus();\n    this.textContent = null;\n    this.textContentItemsStr = [];\n    this.textContentStream = null;\n    this.renderingDone = false;\n    this.pageIdx = pageIndex;\n    this.pageNumber = this.pageIdx + 1;\n    this.matches = [];\n    this.viewport = viewport;\n    this.textDivs = [];\n    this.findController = findController;\n    this.textLayerRenderTask = null;\n    this.enhanceTextSelection = enhanceTextSelection;\n\n    this._onUpdateTextLayerMatches = null;\n    this._bindMouse();\n  }\n\n  /**\n   * @private\n   */\n  _finishRendering() {\n    this.renderingDone = true;\n\n    if (!this.enhanceTextSelection) {\n      const endOfContent = document.createElement(\"div\");\n      endOfContent.className = \"endOfContent\";\n      this.textLayerDiv.appendChild(endOfContent);\n    }\n\n    this.eventBus.dispatch(\"textlayerrendered\", {\n      source: this,\n      pageNumber: this.pageNumber,\n      numTextDivs: this.textDivs.length,\n    });\n  }\n\n  /**\n   * Renders the text layer.\n   *\n   * @param {number} [timeout] - Wait for a specified amount of milliseconds\n   *                             before rendering.\n   */\n  render(timeout = 0) {\n    if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n      return;\n    }\n    this.cancel();\n\n    this.textDivs = [];\n    const textLayerFrag = document.createDocumentFragment();\n    this.textLayerRenderTask = renderTextLayer({\n      textContent: this.textContent,\n      textContentStream: this.textContentStream,\n      container: textLayerFrag,\n      viewport: this.viewport,\n      textDivs: this.textDivs,\n      textContentItemsStr: this.textContentItemsStr,\n      timeout,\n      enhanceTextSelection: this.enhanceTextSelection,\n    });\n    this.textLayerRenderTask.promise.then(\n      () => {\n        this.textLayerDiv.appendChild(textLayerFrag);\n        this._finishRendering();\n        this._updateMatches();\n      },\n      function(reason) {\n        // Cancelled or failed to render text layer; skipping errors.\n      }\n    );\n\n    if (!this._onUpdateTextLayerMatches) {\n      this._onUpdateTextLayerMatches = evt => {\n        if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n          this._updateMatches();\n        }\n      };\n      this.eventBus._on(\n        \"updatetextlayermatches\",\n        this._onUpdateTextLayerMatches\n      );\n    }\n  }\n\n  /**\n   * Cancel rendering of the text layer.\n   */\n  cancel() {\n    if (this.textLayerRenderTask) {\n      this.textLayerRenderTask.cancel();\n      this.textLayerRenderTask = null;\n    }\n    if (this._onUpdateTextLayerMatches) {\n      this.eventBus._off(\n        \"updatetextlayermatches\",\n        this._onUpdateTextLayerMatches\n      );\n      this._onUpdateTextLayerMatches = null;\n    }\n  }\n\n  setTextContentStream(readableStream) {\n    this.cancel();\n    this.textContentStream = readableStream;\n  }\n\n  setTextContent(textContent) {\n    this.cancel();\n    this.textContent = textContent;\n  }\n\n  _convertMatches(matches, matchesLength) {\n    // Early exit if there is nothing to convert.\n    if (!matches) {\n      return [];\n    }\n    const { findController, textContentItemsStr } = this;\n\n    let i = 0,\n      iIndex = 0;\n    const end = textContentItemsStr.length - 1;\n    const queryLen = findController.state.query.length;\n    const result = [];\n\n    for (let m = 0, mm = matches.length; m < mm; m++) {\n      // Calculate the start position.\n      let matchIdx = matches[m];\n\n      // Loop over the divIdxs.\n      while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n        iIndex += textContentItemsStr[i].length;\n        i++;\n      }\n\n      if (i === textContentItemsStr.length) {\n        console.error(\"Could not find a matching mapping\");\n      }\n\n      const match = {\n        begin: {\n          divIdx: i,\n          offset: matchIdx - iIndex,\n        },\n      };\n\n      // Calculate the end position.\n      if (matchesLength) {\n        // Multiterm search.\n        matchIdx += matchesLength[m];\n      } else {\n        // Phrase search.\n        matchIdx += queryLen;\n      }\n\n      // Somewhat the same array as above, but use > instead of >= to get\n      // the end position right.\n      while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n        iIndex += textContentItemsStr[i].length;\n        i++;\n      }\n\n      match.end = {\n        divIdx: i,\n        offset: matchIdx - iIndex,\n      };\n      result.push(match);\n    }\n    return result;\n  }\n\n  _renderMatches(matches) {\n    // Early exit if there is nothing to render.\n    if (matches.length === 0) {\n      return;\n    }\n    const { findController, pageIdx, textContentItemsStr, textDivs } = this;\n\n    const isSelectedPage = pageIdx === findController.selected.pageIdx;\n    const selectedMatchIdx = findController.selected.matchIdx;\n    const highlightAll = findController.state.highlightAll;\n    let prevEnd = null;\n    const infinity = {\n      divIdx: -1,\n      offset: undefined,\n    };\n\n    function beginText(begin, className) {\n      const divIdx = begin.divIdx;\n      textDivs[divIdx].textContent = \"\";\n      appendTextToDiv(divIdx, 0, begin.offset, className);\n    }\n\n    function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n      const div = textDivs[divIdx];\n      const content = textContentItemsStr[divIdx].substring(\n        fromOffset,\n        toOffset\n      );\n      const node = document.createTextNode(content);\n      if (className) {\n        const span = document.createElement(\"span\");\n        span.className = className;\n        span.appendChild(node);\n        div.appendChild(span);\n        return;\n      }\n      div.appendChild(node);\n    }\n\n    let i0 = selectedMatchIdx,\n      i1 = i0 + 1;\n    if (highlightAll) {\n      i0 = 0;\n      i1 = matches.length;\n    } else if (!isSelectedPage) {\n      // Not highlighting all and this isn't the selected page, so do nothing.\n      return;\n    }\n\n    for (let i = i0; i < i1; i++) {\n      const match = matches[i];\n      const begin = match.begin;\n      const end = match.end;\n      const isSelected = isSelectedPage && i === selectedMatchIdx;\n      const highlightSuffix = isSelected ? \" selected\" : \"\";\n\n      if (isSelected) {\n        // Attempt to scroll the selected match into view.\n        findController.scrollMatchIntoView({\n          element: textDivs[begin.divIdx],\n          pageIndex: pageIdx,\n          matchIndex: selectedMatchIdx,\n        });\n      }\n\n      // Match inside new div.\n      if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n        // If there was a previous div, then add the text at the end.\n        if (prevEnd !== null) {\n          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n        }\n        // Clear the divs and set the content until the starting point.\n        beginText(begin);\n      } else {\n        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n      }\n\n      if (begin.divIdx === end.divIdx) {\n        appendTextToDiv(\n          begin.divIdx,\n          begin.offset,\n          end.offset,\n          \"highlight\" + highlightSuffix\n        );\n      } else {\n        appendTextToDiv(\n          begin.divIdx,\n          begin.offset,\n          infinity.offset,\n          \"highlight begin\" + highlightSuffix\n        );\n        for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n          textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n        }\n        beginText(end, \"highlight end\" + highlightSuffix);\n      }\n      prevEnd = end;\n    }\n\n    if (prevEnd) {\n      appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n    }\n  }\n\n  _updateMatches() {\n    // Only show matches when all rendering is done.\n    if (!this.renderingDone) {\n      return;\n    }\n    const {\n      findController,\n      matches,\n      pageIdx,\n      textContentItemsStr,\n      textDivs,\n    } = this;\n    let clearedUntilDivIdx = -1;\n\n    // Clear all current matches.\n    for (let i = 0, ii = matches.length; i < ii; i++) {\n      const match = matches[i];\n      const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n      for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n        const div = textDivs[n];\n        div.textContent = textContentItemsStr[n];\n        div.className = \"\";\n      }\n      clearedUntilDivIdx = match.end.divIdx + 1;\n    }\n\n    if (!findController || !findController.highlightMatches) {\n      return;\n    }\n    // Convert the matches on the `findController` into the match format\n    // used for the textLayer.\n    const pageMatches = findController.pageMatches[pageIdx] || null;\n    const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n\n    this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n    this._renderMatches(this.matches);\n  }\n\n  /**\n   * Improves text selection by adding an additional div where the mouse was\n   * clicked. This reduces flickering of the content if the mouse is slowly\n   * dragged up or down.\n   *\n   * @private\n   */\n  _bindMouse() {\n    const div = this.textLayerDiv;\n    let expandDivsTimer = null;\n\n    div.addEventListener(\"mousedown\", evt => {\n      if (this.enhanceTextSelection && this.textLayerRenderTask) {\n        this.textLayerRenderTask.expandTextDivs(true);\n        if (\n          (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n          expandDivsTimer\n        ) {\n          clearTimeout(expandDivsTimer);\n          expandDivsTimer = null;\n        }\n        return;\n      }\n\n      const end = div.querySelector(\".endOfContent\");\n      if (!end) {\n        return;\n      }\n      if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n        // On non-Firefox browsers, the selection will feel better if the height\n        // of the `endOfContent` div is adjusted to start at mouse click\n        // location. This avoids flickering when the selection moves up.\n        // However it does not work when selection is started on empty space.\n        let adjustTop = evt.target !== div;\n        if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n          adjustTop =\n            adjustTop &&\n            window\n              .getComputedStyle(end)\n              .getPropertyValue(\"-moz-user-select\") !== \"none\";\n        }\n        if (adjustTop) {\n          const divBounds = div.getBoundingClientRect();\n          const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n          end.style.top = (r * 100).toFixed(2) + \"%\";\n        }\n      }\n      end.classList.add(\"active\");\n    });\n\n    div.addEventListener(\"mouseup\", () => {\n      if (this.enhanceTextSelection && this.textLayerRenderTask) {\n        if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n          expandDivsTimer = setTimeout(() => {\n            if (this.textLayerRenderTask) {\n              this.textLayerRenderTask.expandTextDivs(false);\n            }\n            expandDivsTimer = null;\n          }, EXPAND_DIVS_TIMEOUT);\n        } else {\n          this.textLayerRenderTask.expandTextDivs(false);\n        }\n        return;\n      }\n\n      const end = div.querySelector(\".endOfContent\");\n      if (!end) {\n        return;\n      }\n      if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n        end.style.top = \"\";\n      }\n      end.classList.remove(\"active\");\n    });\n  }\n}\n\n/**\n * @implements IPDFTextLayerFactory\n */\nclass DefaultTextLayerFactory {\n  /**\n   * @param {HTMLDivElement} textLayerDiv\n   * @param {number} pageIndex\n   * @param {PageViewport} viewport\n   * @param {boolean} enhanceTextSelection\n   * @param {EventBus} eventBus\n   * @returns {TextLayerBuilder}\n   */\n  createTextLayerBuilder(\n    textLayerDiv,\n    pageIndex,\n    viewport,\n    enhanceTextSelection = false,\n    eventBus\n  ) {\n    return new TextLayerBuilder({\n      textLayerDiv,\n      pageIndex,\n      viewport,\n      enhanceTextSelection,\n      eventBus,\n    });\n  }\n}\n\nexport { TextLayerBuilder, DefaultTextLayerFactory };\n","/* Copyright 2012 Mozilla Foundation\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\nimport { SCROLLBAR_PADDING, ScrollMode, SpreadMode } from \"./ui_utils.js\";\nimport { CursorTool } from \"./pdf_cursor_tools.js\";\nimport { PDFSinglePageViewer } from \"./pdf_single_page_viewer.js\";\n\n/**\n * @typedef {Object} SecondaryToolbarOptions\n * @property {HTMLDivElement} toolbar - Container for the secondary toolbar.\n * @property {HTMLButtonElement} toggleButton - Button to toggle the visibility\n *   of the secondary toolbar.\n * @property {HTMLDivElement} toolbarButtonContainer - Container where all the\n *   toolbar buttons are placed. The maximum height of the toolbar is controlled\n *   dynamically by adjusting the 'max-height' CSS property of this DOM element.\n * @property {HTMLButtonElement} presentationModeButton - Button for entering\n *   presentation mode.\n * @property {HTMLButtonElement} openFileButton - Button to open a file.\n * @property {HTMLButtonElement} printButton - Button to print the document.\n * @property {HTMLButtonElement} downloadButton - Button to download the\n *   document.\n * @property {HTMLLinkElement} viewBookmarkButton - Button to obtain a bookmark\n *   link to the current location in the document.\n * @property {HTMLButtonElement} firstPageButton - Button to go to the first\n *   page in the document.\n * @property {HTMLButtonElement} lastPageButton - Button to go to the last page\n *   in the document.\n * @property {HTMLButtonElement} pageRotateCwButton - Button to rotate the pages\n *   clockwise.\n * @property {HTMLButtonElement} pageRotateCcwButton - Button to rotate the\n *   pages counterclockwise.\n * @property {HTMLButtonElement} cursorSelectToolButton - Button to enable the\n *   select tool.\n * @property {HTMLButtonElement} cursorHandToolButton - Button to enable the\n *   hand tool.\n * @property {HTMLButtonElement} documentPropertiesButton - Button for opening\n *   the document properties dialog.\n */\n\nclass SecondaryToolbar {\n  /**\n   * @param {SecondaryToolbarOptions} options\n   * @param {HTMLDivElement} mainContainer\n   * @param {EventBus} eventBus\n   */\n  constructor(options, mainContainer, eventBus) {\n    this.toolbar = options.toolbar;\n    this.toggleButton = options.toggleButton;\n    this.toolbarButtonContainer = options.toolbarButtonContainer;\n    this.buttons = [\n      {\n        element: options.presentationModeButton,\n        eventName: \"presentationmode\",\n        close: true,\n      },\n      { element: options.openFileButton, eventName: \"openfile\", close: true },\n      { element: options.printButton, eventName: \"print\", close: true },\n      { element: options.downloadButton, eventName: \"download\", close: true },\n      { element: options.viewBookmarkButton, eventName: null, close: true },\n      { element: options.firstPageButton, eventName: \"firstpage\", close: true },\n      { element: options.lastPageButton, eventName: \"lastpage\", close: true },\n      {\n        element: options.pageRotateCwButton,\n        eventName: \"rotatecw\",\n        close: false,\n      },\n      {\n        element: options.pageRotateCcwButton,\n        eventName: \"rotateccw\",\n        close: false,\n      },\n      {\n        element: options.cursorSelectToolButton,\n        eventName: \"switchcursortool\",\n        eventDetails: { tool: CursorTool.SELECT },\n        close: true,\n      },\n      {\n        element: options.cursorHandToolButton,\n        eventName: \"switchcursortool\",\n        eventDetails: { tool: CursorTool.HAND },\n        close: true,\n      },\n      {\n        element: options.scrollVerticalButton,\n        eventName: \"switchscrollmode\",\n        eventDetails: { mode: ScrollMode.VERTICAL },\n        close: true,\n      },\n      {\n        element: options.scrollHorizontalButton,\n        eventName: \"switchscrollmode\",\n        eventDetails: { mode: ScrollMode.HORIZONTAL },\n        close: true,\n      },\n      {\n        element: options.scrollWrappedButton,\n        eventName: \"switchscrollmode\",\n        eventDetails: { mode: ScrollMode.WRAPPED },\n        close: true,\n      },\n      {\n        element: options.spreadNoneButton,\n        eventName: \"switchspreadmode\",\n        eventDetails: { mode: SpreadMode.NONE },\n        close: true,\n      },\n      {\n        element: options.spreadOddButton,\n        eventName: \"switchspreadmode\",\n        eventDetails: { mode: SpreadMode.ODD },\n        close: true,\n      },\n      {\n        element: options.spreadEvenButton,\n        eventName: \"switchspreadmode\",\n        eventDetails: { mode: SpreadMode.EVEN },\n        close: true,\n      },\n      {\n        element: options.documentPropertiesButton,\n        eventName: \"documentproperties\",\n        close: true,\n      },\n    ];\n    this.items = {\n      firstPage: options.firstPageButton,\n      lastPage: options.lastPageButton,\n      pageRotateCw: options.pageRotateCwButton,\n      pageRotateCcw: options.pageRotateCcwButton,\n    };\n\n    this.mainContainer = mainContainer;\n    this.eventBus = eventBus;\n\n    this.opened = false;\n    this.containerHeight = null;\n    this.previousContainerHeight = null;\n\n    this.reset();\n\n    // Bind the event listeners for click, cursor tool, and scroll/spread mode\n    // actions.\n    this._bindClickListeners();\n    this._bindCursorToolsListener(options);\n    this._bindScrollModeListener(options);\n    this._bindSpreadModeListener(options);\n\n    // Bind the event listener for adjusting the 'max-height' of the toolbar.\n    this.eventBus._on(\"resize\", this._setMaxHeight.bind(this));\n\n    // Hide the Scroll/Spread mode buttons, when they're not applicable to the\n    // current `BaseViewer` instance (in particular `PDFSinglePageViewer`).\n    this.eventBus._on(\"baseviewerinit\", evt => {\n      if (evt.source instanceof PDFSinglePageViewer) {\n        this.toolbarButtonContainer.classList.add(\n          \"hiddenScrollModeButtons\",\n          \"hiddenSpreadModeButtons\"\n        );\n      } else {\n        this.toolbarButtonContainer.classList.remove(\n          \"hiddenScrollModeButtons\",\n          \"hiddenSpreadModeButtons\"\n        );\n      }\n    });\n  }\n\n  /**\n   * @type {boolean}\n   */\n  get isOpen() {\n    return this.opened;\n  }\n\n  setPageNumber(pageNumber) {\n    this.pageNumber = pageNumber;\n    this._updateUIState();\n  }\n\n  setPagesCount(pagesCount) {\n    this.pagesCount = pagesCount;\n    this._updateUIState();\n  }\n\n  reset() {\n    this.pageNumber = 0;\n    this.pagesCount = 0;\n    this._updateUIState();\n\n    // Reset the Scroll/Spread buttons too, since they're document specific.\n    this.eventBus.dispatch(\"secondarytoolbarreset\", { source: this });\n  }\n\n  _updateUIState() {\n    this.items.firstPage.disabled = this.pageNumber <= 1;\n    this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;\n    this.items.pageRotateCw.disabled = this.pagesCount === 0;\n    this.items.pageRotateCcw.disabled = this.pagesCount === 0;\n  }\n\n  _bindClickListeners() {\n    // Button to toggle the visibility of the secondary toolbar.\n    this.toggleButton.addEventListener(\"click\", this.toggle.bind(this));\n\n    // All items within the secondary toolbar.\n    for (const { element, eventName, close, eventDetails } of this.buttons) {\n      element.addEventListener(\"click\", evt => {\n        if (eventName !== null) {\n          const details = { source: this };\n          for (const property in eventDetails) {\n            details[property] = eventDetails[property];\n          }\n          this.eventBus.dispatch(eventName, details);\n        }\n        if (close) {\n          this.close();\n        }\n      });\n    }\n  }\n\n  _bindCursorToolsListener(buttons) {\n    this.eventBus._on(\"cursortoolchanged\", function({ tool }) {\n      buttons.cursorSelectToolButton.classList.toggle(\n        \"toggled\",\n        tool === CursorTool.SELECT\n      );\n      buttons.cursorHandToolButton.classList.toggle(\n        \"toggled\",\n        tool === CursorTool.HAND\n      );\n    });\n  }\n\n  _bindScrollModeListener(buttons) {\n    function scrollModeChanged({ mode }) {\n      buttons.scrollVerticalButton.classList.toggle(\n        \"toggled\",\n        mode === ScrollMode.VERTICAL\n      );\n      buttons.scrollHorizontalButton.classList.toggle(\n        \"toggled\",\n        mode === ScrollMode.HORIZONTAL\n      );\n      buttons.scrollWrappedButton.classList.toggle(\n        \"toggled\",\n        mode === ScrollMode.WRAPPED\n      );\n\n      // Temporarily *disable* the Spread buttons when horizontal scrolling is\n      // enabled, since the non-default Spread modes doesn't affect the layout.\n      const isScrollModeHorizontal = mode === ScrollMode.HORIZONTAL;\n      buttons.spreadNoneButton.disabled = isScrollModeHorizontal;\n      buttons.spreadOddButton.disabled = isScrollModeHorizontal;\n      buttons.spreadEvenButton.disabled = isScrollModeHorizontal;\n    }\n    this.eventBus._on(\"scrollmodechanged\", scrollModeChanged);\n\n    this.eventBus._on(\"secondarytoolbarreset\", evt => {\n      if (evt.source === this) {\n        scrollModeChanged({ mode: ScrollMode.VERTICAL });\n      }\n    });\n  }\n\n  _bindSpreadModeListener(buttons) {\n    function spreadModeChanged({ mode }) {\n      buttons.spreadNoneButton.classList.toggle(\n        \"toggled\",\n        mode === SpreadMode.NONE\n      );\n      buttons.spreadOddButton.classList.toggle(\n        \"toggled\",\n        mode === SpreadMode.ODD\n      );\n      buttons.spreadEvenButton.classList.toggle(\n        \"toggled\",\n        mode === SpreadMode.EVEN\n      );\n    }\n    this.eventBus._on(\"spreadmodechanged\", spreadModeChanged);\n\n    this.eventBus._on(\"secondarytoolbarreset\", evt => {\n      if (evt.source === this) {\n        spreadModeChanged({ mode: SpreadMode.NONE });\n      }\n    });\n  }\n\n  open() {\n    if (this.opened) {\n      return;\n    }\n    this.opened = true;\n    this._setMaxHeight();\n\n    this.toggleButton.classList.add(\"toggled\");\n    this.toolbar.classList.remove(\"hidden\");\n  }\n\n  close() {\n    if (!this.opened) {\n      return;\n    }\n    this.opened = false;\n    this.toolbar.classList.add(\"hidden\");\n    this.toggleButton.classList.remove(\"toggled\");\n  }\n\n  toggle() {\n    if (this.opened) {\n      this.close();\n    } else {\n      this.open();\n    }\n  }\n\n  /**\n   * @private\n   */\n  _setMaxHeight() {\n    if (!this.opened) {\n      return; // Only adjust the 'max-height' if the toolbar is visible.\n    }\n    this.containerHeight = this.mainContainer.clientHeight;\n\n    if (this.containerHeight === this.previousContainerHeight) {\n      return;\n    }\n    this.toolbarButtonContainer.style.maxHeight = `${this.containerHeight -\n      SCROLLBAR_PADDING}px`;\n\n    this.previousContainerHeight = this.containerHeight;\n  }\n}\n\nexport { SecondaryToolbar };\n","/* Copyright 2017 Mozilla Foundation\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\nimport { BaseViewer } from \"./base_viewer.js\";\nimport { shadow } from \"pdfjs-lib\";\n\nclass PDFSinglePageViewer extends BaseViewer {\n  constructor(options) {\n    super(options);\n\n    this.eventBus._on(\"pagesinit\", evt => {\n      // Since the pages are placed in a `DocumentFragment`, make sure that\n      // the current page becomes visible upon loading of the document.\n      this._ensurePageViewVisible();\n    });\n  }\n\n  get _setDocumentViewerElement() {\n    // Since we only want to display *one* page at a time when using the\n    // `PDFSinglePageViewer`, we cannot append them to the `viewer` DOM element.\n    // Instead, they are placed in a `DocumentFragment`, and only the current\n    // page is displayed in the viewer (refer to `this._ensurePageViewVisible`).\n    return shadow(this, \"_setDocumentViewerElement\", this._shadowViewer);\n  }\n\n  _resetView() {\n    super._resetView();\n    this._previousPageNumber = 1;\n    this._shadowViewer = document.createDocumentFragment();\n    this._updateScrollDown = null;\n  }\n\n  _ensurePageViewVisible() {\n    const pageView = this._pages[this._currentPageNumber - 1];\n    const previousPageView = this._pages[this._previousPageNumber - 1];\n\n    const viewerNodes = this.viewer.childNodes;\n    switch (viewerNodes.length) {\n      case 0: // Should *only* occur on initial loading.\n        this.viewer.appendChild(pageView.div);\n        break;\n      case 1: // The normal page-switching case.\n        if (viewerNodes[0] !== previousPageView.div) {\n          throw new Error(\n            \"_ensurePageViewVisible: Unexpected previously visible page.\"\n          );\n        }\n        if (pageView === previousPageView) {\n          break; // The correct page is already visible.\n        }\n        // Switch visible pages, and reset the viewerContainer scroll position.\n        this._shadowViewer.appendChild(previousPageView.div);\n        this.viewer.appendChild(pageView.div);\n\n        this.container.scrollTop = 0;\n        break;\n      default:\n        throw new Error(\n          \"_ensurePageViewVisible: Only one page should be visible at a time.\"\n        );\n    }\n    this._previousPageNumber = this._currentPageNumber;\n  }\n\n  _scrollUpdate() {\n    if (this._updateScrollDown) {\n      this._updateScrollDown();\n    }\n    super._scrollUpdate();\n  }\n\n  _scrollIntoView({ pageDiv, pageSpot = null, pageNumber = null }) {\n    if (pageNumber) {\n      // Ensure that `this._currentPageNumber` is correct.\n      this._setCurrentPageNumber(pageNumber);\n    }\n    const scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n    this._ensurePageViewVisible();\n    // Ensure that rendering always occurs, to avoid showing a blank page,\n    // even if the current position doesn't change when the page is scrolled.\n    this.update();\n\n    super._scrollIntoView({ pageDiv, pageSpot, pageNumber });\n\n    // Since scrolling is tracked using `requestAnimationFrame`, update the\n    // scroll direction during the next `this._scrollUpdate` invocation.\n    this._updateScrollDown = () => {\n      this.scroll.down = scrolledDown;\n      this._updateScrollDown = null;\n    };\n  }\n\n  _getVisiblePages() {\n    return this._getCurrentVisiblePage();\n  }\n\n  _updateHelper(visiblePages) {}\n\n  get _isScrollModeHorizontal() {\n    // The Scroll/Spread modes are never used in `PDFSinglePageViewer`.\n    return shadow(this, \"_isScrollModeHorizontal\", false);\n  }\n\n  _updateScrollMode() {}\n\n  _updateSpreadMode() {}\n}\n\nexport { PDFSinglePageViewer };\n","/* Copyright 2016 Mozilla Foundation\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\nimport {\n  animationStarted,\n  DEFAULT_SCALE,\n  DEFAULT_SCALE_VALUE,\n  MAX_SCALE,\n  MIN_SCALE,\n  noContextMenuHandler,\n  NullL10n,\n} from \"./ui_utils.js\";\n\nconst PAGE_NUMBER_LOADING_INDICATOR = \"visiblePageIsLoading\";\n// Keep the two values below up-to-date with the values in `web/viewer.css`:\nconst SCALE_SELECT_CONTAINER_WIDTH = 140; // px\nconst SCALE_SELECT_WIDTH = 162; // px\n\n/**\n * @typedef {Object} ToolbarOptions\n * @property {HTMLDivElement} container - Container for the secondary toolbar.\n * @property {HTMLSpanElement} numPages - Label that contains number of pages.\n * @property {HTMLInputElement} pageNumber - Control for display and user input\n *   of the current page number.\n * @property {HTMLSpanElement} scaleSelectContainer - Container where scale\n *   controls are placed. The width is adjusted on UI initialization.\n * @property {HTMLSelectElement} scaleSelect - Scale selection control.\n * @property {HTMLOptionElement} customScaleOption - The item used to display\n *   a non-predefined scale.\n * @property {HTMLButtonElement} previous - Button to go to the previous page.\n * @property {HTMLButtonElement} next - Button to go to the next page.\n * @property {HTMLButtonElement} zoomIn - Button to zoom in the pages.\n * @property {HTMLButtonElement} zoomOut - Button to zoom out the pages.\n * @property {HTMLButtonElement} viewFind - Button to open find bar.\n * @property {HTMLButtonElement} openFile - Button to open a new document.\n * @property {HTMLButtonElement} presentationModeButton - Button to switch to\n *   presentation mode.\n * @property {HTMLButtonElement} download - Button to download the document.\n * @property {HTMLAElement} viewBookmark - Element to link current url of\n *   the page view.\n */\n\nclass Toolbar {\n  /**\n   * @param {ToolbarOptions} options\n   * @param {EventBus} eventBus\n   * @param {IL10n} l10n - Localization service.\n   */\n  constructor(options, eventBus, l10n = NullL10n) {\n    this.toolbar = options.container;\n    this.eventBus = eventBus;\n    this.l10n = l10n;\n    this.buttons = [\n      { element: options.previous, eventName: \"previouspage\" },\n      { element: options.next, eventName: \"nextpage\" },\n      { element: options.zoomIn, eventName: \"zoomin\" },\n      { element: options.zoomOut, eventName: \"zoomout\" },\n      { element: options.openFile, eventName: \"openfile\" },\n      { element: options.print, eventName: \"print\" },\n      {\n        element: options.presentationModeButton,\n        eventName: \"presentationmode\",\n      },\n      { element: options.download, eventName: \"download\" },\n      { element: options.viewBookmark, eventName: null },\n    ];\n    this.items = {\n      numPages: options.numPages,\n      pageNumber: options.pageNumber,\n      scaleSelectContainer: options.scaleSelectContainer,\n      scaleSelect: options.scaleSelect,\n      customScaleOption: options.customScaleOption,\n      previous: options.previous,\n      next: options.next,\n      zoomIn: options.zoomIn,\n      zoomOut: options.zoomOut,\n    };\n\n    this._wasLocalized = false;\n    this.reset();\n\n    // Bind the event listeners for click and various other actions.\n    this._bindListeners();\n  }\n\n  setPageNumber(pageNumber, pageLabel) {\n    this.pageNumber = pageNumber;\n    this.pageLabel = pageLabel;\n    this._updateUIState(false);\n  }\n\n  setPagesCount(pagesCount, hasPageLabels) {\n    this.pagesCount = pagesCount;\n    this.hasPageLabels = hasPageLabels;\n    this._updateUIState(true);\n  }\n\n  setPageScale(pageScaleValue, pageScale) {\n    this.pageScaleValue = (pageScaleValue || pageScale).toString();\n    this.pageScale = pageScale;\n    this._updateUIState(false);\n  }\n\n  reset() {\n    this.pageNumber = 0;\n    this.pageLabel = null;\n    this.hasPageLabels = false;\n    this.pagesCount = 0;\n    this.pageScaleValue = DEFAULT_SCALE_VALUE;\n    this.pageScale = DEFAULT_SCALE;\n    this._updateUIState(true);\n    this.updateLoadingIndicatorState();\n  }\n\n  _bindListeners() {\n    const { pageNumber, scaleSelect } = this.items;\n    const self = this;\n\n    // The buttons within the toolbar.\n    for (const { element, eventName } of this.buttons) {\n      element.addEventListener(\"click\", evt => {\n        if (eventName !== null) {\n          this.eventBus.dispatch(eventName, { source: this });\n        }\n      });\n    }\n    // The non-button elements within the toolbar.\n    pageNumber.addEventListener(\"click\", function() {\n      this.select();\n    });\n    pageNumber.addEventListener(\"change\", function() {\n      self.eventBus.dispatch(\"pagenumberchanged\", {\n        source: self,\n        value: this.value,\n      });\n    });\n\n    scaleSelect.addEventListener(\"change\", function() {\n      if (this.value === \"custom\") {\n        return;\n      }\n      self.eventBus.dispatch(\"scalechanged\", {\n        source: self,\n        value: this.value,\n      });\n    });\n    // Suppress context menus for some controls.\n    scaleSelect.oncontextmenu = noContextMenuHandler;\n\n    this.eventBus._on(\"localized\", () => {\n      this._wasLocalized = true;\n      this._adjustScaleWidth();\n      this._updateUIState(true);\n    });\n  }\n\n  _updateUIState(resetNumPages = false) {\n    if (!this._wasLocalized) {\n      // Don't update the UI state until we localize the toolbar.\n      return;\n    }\n    const { pageNumber, pagesCount, pageScaleValue, pageScale, items } = this;\n\n    if (resetNumPages) {\n      if (this.hasPageLabels) {\n        items.pageNumber.type = \"text\";\n      } else {\n        items.pageNumber.type = \"number\";\n        this.l10n\n          .get(\"of_pages\", { pagesCount }, \"of {{pagesCount}}\")\n          .then(msg => {\n            items.numPages.textContent = msg;\n          });\n      }\n      items.pageNumber.max = pagesCount;\n    }\n\n    if (this.hasPageLabels) {\n      items.pageNumber.value = this.pageLabel;\n      this.l10n\n        .get(\n          \"page_of_pages\",\n          { pageNumber, pagesCount },\n          \"({{pageNumber}} of {{pagesCount}})\"\n        )\n        .then(msg => {\n          items.numPages.textContent = msg;\n        });\n    } else {\n      items.pageNumber.value = pageNumber;\n    }\n\n    items.previous.disabled = pageNumber <= 1;\n    items.next.disabled = pageNumber >= pagesCount;\n\n    items.zoomOut.disabled = pageScale <= MIN_SCALE;\n    items.zoomIn.disabled = pageScale >= MAX_SCALE;\n\n    const customScale = Math.round(pageScale * 10000) / 100;\n    this.l10n\n      .get(\"page_scale_percent\", { scale: customScale }, \"{{scale}}%\")\n      .then(msg => {\n        let predefinedValueFound = false;\n        for (const option of items.scaleSelect.options) {\n          if (option.value !== pageScaleValue) {\n            option.selected = false;\n            continue;\n          }\n          option.selected = true;\n          predefinedValueFound = true;\n        }\n        if (!predefinedValueFound) {\n          items.customScaleOption.textContent = msg;\n          items.customScaleOption.selected = true;\n        }\n      });\n  }\n\n  updateLoadingIndicatorState(loading = false) {\n    const pageNumberInput = this.items.pageNumber;\n\n    pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading);\n  }\n\n  /**\n   * Increase the width of the zoom dropdown DOM element if, and only if, it's\n   * too narrow to fit the *longest* of the localized strings.\n   * @private\n   */\n  async _adjustScaleWidth() {\n    const { items, l10n } = this;\n\n    const predefinedValuesPromise = Promise.all([\n      l10n.get(\"page_scale_auto\", null, \"Automatic Zoom\"),\n      l10n.get(\"page_scale_actual\", null, \"Actual Size\"),\n      l10n.get(\"page_scale_fit\", null, \"Page Fit\"),\n      l10n.get(\"page_scale_width\", null, \"Page Width\"),\n    ]);\n\n    // The temporary canvas is used to measure text length in the DOM.\n    let canvas = document.createElement(\"canvas\");\n    if (\n      typeof PDFJSDev === \"undefined\" ||\n      PDFJSDev.test(\"MOZCENTRAL || GENERIC\")\n    ) {\n      canvas.mozOpaque = true;\n    }\n    let ctx = canvas.getContext(\"2d\", { alpha: false });\n\n    await animationStarted;\n    const { fontSize, fontFamily } = getComputedStyle(items.scaleSelect);\n    ctx.font = `${fontSize} ${fontFamily}`;\n\n    let maxWidth = 0;\n    for (const predefinedValue of await predefinedValuesPromise) {\n      const { width } = ctx.measureText(predefinedValue);\n      if (width > maxWidth) {\n        maxWidth = width;\n      }\n    }\n    const overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH;\n    maxWidth += 1.5 * overflow;\n\n    if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) {\n      items.scaleSelect.style.width = `${maxWidth + overflow}px`;\n      items.scaleSelectContainer.style.width = `${maxWidth}px`;\n    }\n    // Zeroing the width and height cause Firefox to release graphics resources\n    // immediately, which can greatly reduce memory consumption.\n    canvas.width = 0;\n    canvas.height = 0;\n    canvas = ctx = null;\n  }\n}\n\nexport { Toolbar };\n","/* Copyright 2012 Mozilla Foundation\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\nconst DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20;\n\n/**\n * View History - This is a utility for saving various view parameters for\n *                recently opened files.\n *\n * The way that the view parameters are stored depends on how PDF.js is built,\n * for 'gulp <flag>' the following cases exist:\n *  - MOZCENTRAL        - uses sessionStorage.\n *  - GENERIC or CHROME - uses localStorage, if it is available.\n */\nclass ViewHistory {\n  constructor(fingerprint, cacheSize = DEFAULT_VIEW_HISTORY_CACHE_SIZE) {\n    this.fingerprint = fingerprint;\n    this.cacheSize = cacheSize;\n\n    this._initializedPromise = this._readFromStorage().then(databaseStr => {\n      const database = JSON.parse(databaseStr || \"{}\");\n      if (!(\"files\" in database)) {\n        database.files = [];\n      } else {\n        while (database.files.length >= this.cacheSize) {\n          database.files.shift();\n        }\n      }\n      let index = -1;\n      for (let i = 0, length = database.files.length; i < length; i++) {\n        const branch = database.files[i];\n        if (branch.fingerprint === this.fingerprint) {\n          index = i;\n          break;\n        }\n      }\n      if (index === -1) {\n        index = database.files.push({ fingerprint: this.fingerprint }) - 1;\n      }\n      this.file = database.files[index];\n      this.database = database;\n    });\n  }\n\n  async _writeToStorage() {\n    const databaseStr = JSON.stringify(this.database);\n\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n      sessionStorage.setItem(\"pdfjs.history\", databaseStr);\n      return;\n    }\n    localStorage.setItem(\"pdfjs.history\", databaseStr);\n  }\n\n  async _readFromStorage() {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n      return sessionStorage.getItem(\"pdfjs.history\");\n    }\n    return localStorage.getItem(\"pdfjs.history\");\n  }\n\n  async set(name, val) {\n    await this._initializedPromise;\n    this.file[name] = val;\n    return this._writeToStorage();\n  }\n\n  async setMultiple(properties) {\n    await this._initializedPromise;\n    for (const name in properties) {\n      this.file[name] = properties[name];\n    }\n    return this._writeToStorage();\n  }\n\n  async get(name, defaultValue) {\n    await this._initializedPromise;\n    const val = this.file[name];\n    return val !== undefined ? val : defaultValue;\n  }\n\n  async getMultiple(properties) {\n    await this._initializedPromise;\n    const values = Object.create(null);\n\n    for (const name in properties) {\n      const val = this.file[name];\n      values[name] = val !== undefined ? val : properties[name];\n    }\n    return values;\n  }\n}\n\nexport { ViewHistory };\n","/* Copyright 2017 Mozilla Foundation\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\nimport { DefaultExternalServices, PDFViewerApplication } from \"./app.js\";\nimport { BasePreferences } from \"./preferences.js\";\nimport { DownloadManager } from \"./download_manager.js\";\nimport { GenericL10n } from \"./genericl10n.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n  throw new Error(\n    'Module \"pdfjs-web/genericcom\" shall not be used outside ' +\n      \"GENERIC build.\"\n  );\n}\n\nconst GenericCom = {};\n\nclass GenericPreferences extends BasePreferences {\n  async _writeToStorage(prefObj) {\n    localStorage.setItem(\"pdfjs.preferences\", JSON.stringify(prefObj));\n  }\n\n  async _readFromStorage(prefObj) {\n    return JSON.parse(localStorage.getItem(\"pdfjs.preferences\"));\n  }\n}\n\nclass GenericExternalServices extends DefaultExternalServices {\n  static createDownloadManager(options) {\n    return new DownloadManager(options);\n  }\n\n  static createPreferences() {\n    return new GenericPreferences();\n  }\n\n  static createL10n({ locale = \"en-US\" }) {\n    return new GenericL10n(locale);\n  }\n}\nPDFViewerApplication.externalServices = GenericExternalServices;\n\nexport { GenericCom };\n","/* Copyright 2013 Mozilla Foundation\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\nlet defaultPreferences = null;\nfunction getDefaultPreferences() {\n  if (!defaultPreferences) {\n    if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"PRODUCTION\")) {\n      defaultPreferences = Promise.resolve(\n        PDFJSDev.json(\"$ROOT/build/default_preferences.json\")\n      );\n    } else {\n      defaultPreferences = new Promise(function(resolve, reject) {\n        if (typeof SystemJS === \"object\") {\n          SystemJS.import(\"./app_options.js\").then(resolve, reject);\n        } else {\n          reject(new Error(\"SystemJS must be used to load AppOptions.\"));\n        }\n      }).then(function({ AppOptions, OptionKind }) {\n        return AppOptions.getAll(OptionKind.PREFERENCE);\n      });\n    }\n  }\n  return defaultPreferences;\n}\n\n/**\n * BasePreferences - Abstract base class for storing persistent settings.\n *   Used for settings that should be applied to all opened documents,\n *   or every time the viewer is loaded.\n */\nclass BasePreferences {\n  constructor() {\n    if (this.constructor === BasePreferences) {\n      throw new Error(\"Cannot initialize BasePreferences.\");\n    }\n    this.prefs = null;\n\n    this._initializedPromise = getDefaultPreferences()\n      .then(defaults => {\n        Object.defineProperty(this, \"defaults\", {\n          value: Object.freeze(defaults),\n          writable: false,\n          enumerable: true,\n          configurable: false,\n        });\n\n        this.prefs = Object.assign(Object.create(null), defaults);\n        return this._readFromStorage(defaults);\n      })\n      .then(prefs => {\n        if (!prefs) {\n          return;\n        }\n        for (const name in prefs) {\n          const defaultValue = this.defaults[name],\n            prefValue = prefs[name];\n          // Ignore preferences not present in, or whose types don't match,\n          // the default values.\n          if (\n            defaultValue === undefined ||\n            typeof prefValue !== typeof defaultValue\n          ) {\n            continue;\n          }\n          this.prefs[name] = prefValue;\n        }\n      });\n  }\n\n  /**\n   * Stub function for writing preferences to storage.\n   * @param {Object} prefObj The preferences that should be written to storage.\n   * @returns {Promise} A promise that is resolved when the preference values\n   *                    have been written.\n   */\n  async _writeToStorage(prefObj) {\n    throw new Error(\"Not implemented: _writeToStorage\");\n  }\n\n  /**\n   * Stub function for reading preferences from storage.\n   * @param {Object} prefObj The preferences that should be read from storage.\n   * @returns {Promise} A promise that is resolved with an {Object} containing\n   *                    the preferences that have been read.\n   */\n  async _readFromStorage(prefObj) {\n    throw new Error(\"Not implemented: _readFromStorage\");\n  }\n\n  /**\n   * Reset the preferences to their default values and update storage.\n   * @returns {Promise} A promise that is resolved when the preference values\n   *                    have been reset.\n   */\n  async reset() {\n    await this._initializedPromise;\n    this.prefs = Object.assign(Object.create(null), this.defaults);\n    return this._writeToStorage(this.defaults);\n  }\n\n  /**\n   * Set the value of a preference.\n   * @param {string} name The name of the preference that should be changed.\n   * @param {boolean|number|string} value The new value of the preference.\n   * @returns {Promise} A promise that is resolved when the value has been set,\n   *                    provided that the preference exists and the types match.\n   */\n  async set(name, value) {\n    await this._initializedPromise;\n    const defaultValue = this.defaults[name];\n\n    if (defaultValue === undefined) {\n      throw new Error(`Set preference: \"${name}\" is undefined.`);\n    } else if (value === undefined) {\n      throw new Error(\"Set preference: no value is specified.\");\n    }\n    const valueType = typeof value;\n    const defaultType = typeof defaultValue;\n\n    if (valueType !== defaultType) {\n      if (valueType === \"number\" && defaultType === \"string\") {\n        value = value.toString();\n      } else {\n        throw new Error(\n          `Set preference: \"${value}\" is a ${valueType}, ` +\n            `expected a ${defaultType}.`\n        );\n      }\n    } else {\n      if (valueType === \"number\" && !Number.isInteger(value)) {\n        throw new Error(`Set preference: \"${value}\" must be an integer.`);\n      }\n    }\n    this.prefs[name] = value;\n    return this._writeToStorage(this.prefs);\n  }\n\n  /**\n   * Get the value of a preference.\n   * @param {string} name The name of the preference whose value is requested.\n   * @returns {Promise} A promise resolved with a {boolean|number|string}\n   *                    containing the value of the preference.\n   */\n  async get(name) {\n    await this._initializedPromise;\n    const defaultValue = this.defaults[name];\n\n    if (defaultValue === undefined) {\n      throw new Error(`Get preference: \"${name}\" is undefined.`);\n    } else {\n      const prefValue = this.prefs[name];\n\n      if (prefValue !== undefined) {\n        return prefValue;\n      }\n    }\n    return defaultValue;\n  }\n\n  /**\n   * Get the values of all preferences.\n   * @returns {Promise} A promise that is resolved with an {Object} containing\n   *                    the values of all preferences.\n   */\n  async getAll() {\n    await this._initializedPromise;\n    return Object.assign(Object.create(null), this.defaults, this.prefs);\n  }\n}\n\nexport { BasePreferences };\n","/* Copyright 2013 Mozilla Foundation\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\nimport {\n  apiCompatibilityParams,\n  createObjectURL,\n  createValidAbsoluteUrl,\n} from \"pdfjs-lib\";\n\nif (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"CHROME || GENERIC\")) {\n  throw new Error(\n    'Module \"pdfjs-web/download_manager\" shall not be used ' +\n      \"outside CHROME and GENERIC builds.\"\n  );\n}\n\nconst DISABLE_CREATE_OBJECT_URL =\n  apiCompatibilityParams.disableCreateObjectURL || false;\n\nfunction download(blobUrl, filename) {\n  const a = document.createElement(\"a\");\n  if (!a.click) {\n    throw new Error('DownloadManager: \"a.click()\" is not supported.');\n  }\n  a.href = blobUrl;\n  a.target = \"_parent\";\n  // Use a.download if available. This increases the likelihood that\n  // the file is downloaded instead of opened by another PDF plugin.\n  if (\"download\" in a) {\n    a.download = filename;\n  }\n  // <a> must be in the document for IE and recent Firefox versions,\n  // otherwise .click() is ignored.\n  (document.body || document.documentElement).appendChild(a);\n  a.click();\n  a.remove();\n}\n\nclass DownloadManager {\n  constructor({ disableCreateObjectURL = DISABLE_CREATE_OBJECT_URL }) {\n    this.disableCreateObjectURL = disableCreateObjectURL;\n  }\n\n  downloadUrl(url, filename) {\n    if (!createValidAbsoluteUrl(url, \"http://example.com\")) {\n      return; // restricted/invalid URL\n    }\n    download(url + \"#pdfjs.action=download\", filename);\n  }\n\n  downloadData(data, filename, contentType) {\n    if (navigator.msSaveBlob) {\n      // IE10 and above\n      navigator.msSaveBlob(new Blob([data], { type: contentType }), filename);\n      return;\n    }\n    const blobUrl = createObjectURL(\n      data,\n      contentType,\n      this.disableCreateObjectURL\n    );\n    download(blobUrl, filename);\n  }\n\n  download(blob, url, filename) {\n    if (navigator.msSaveBlob) {\n      // IE10 / IE11\n      if (!navigator.msSaveBlob(blob, filename)) {\n        this.downloadUrl(url, filename);\n      }\n      return;\n    }\n\n    if (this.disableCreateObjectURL) {\n      // URL.createObjectURL is not supported\n      this.downloadUrl(url, filename);\n      return;\n    }\n\n    const blobUrl = URL.createObjectURL(blob);\n    download(blobUrl, filename);\n  }\n}\n\nexport { DownloadManager };\n","/* Copyright 2017 Mozilla Foundation\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\nimport \"../external/webL10n/l10n.js\";\n\nconst webL10n = document.webL10n;\n\nclass GenericL10n {\n  constructor(lang) {\n    this._lang = lang;\n    this._ready = new Promise((resolve, reject) => {\n      webL10n.setLanguage(lang, () => {\n        resolve(webL10n);\n      });\n    });\n  }\n\n  async getLanguage() {\n    const l10n = await this._ready;\n    return l10n.getLanguage();\n  }\n\n  async getDirection() {\n    const l10n = await this._ready;\n    return l10n.getDirection();\n  }\n\n  async get(property, args, fallback) {\n    const l10n = await this._ready;\n    return l10n.get(property, args, fallback);\n  }\n\n  async translate(element) {\n    const l10n = await this._ready;\n    return l10n.translate(element);\n  }\n}\n\nexport { GenericL10n };\n","/**\n * Copyright (c) 2011-2013 Fabien Cazenave, Mozilla.\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 OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n/*\n  Additional modifications for PDF.js project:\n    - Disables language initialization on page loading.\n    - Disables document translation on page loading.\n    - Removes consoleWarn and consoleLog and use console.log/warn directly.\n    - Removes window._ assignment.\n    - Remove compatibility code for OldIE.\n    - Replaces `String.prototype.substr()` with `String.prototype.substring()`.\n    - Removes `fireL10nReadyEvent` since the \"localized\" event it dispatches\n      is unused and may clash with an identically named event in the viewer.\n*/\n\n/*jshint browser: true, devel: true, es5: true, globalstrict: true */\n'use strict';\n\ndocument.webL10n = (function(window, document, undefined) {\n  var gL10nData = {};\n  var gTextData = '';\n  var gTextProp = 'textContent';\n  var gLanguage = '';\n  var gMacros = {};\n  var gReadyState = 'loading';\n\n\n  /**\n   * Synchronously loading l10n resources significantly minimizes flickering\n   * from displaying the app with non-localized strings and then updating the\n   * strings. Although this will block all script execution on this page, we\n   * expect that the l10n resources are available locally on flash-storage.\n   *\n   * As synchronous XHR is generally considered as a bad idea, we're still\n   * loading l10n resources asynchronously -- but we keep this in a setting,\n   * just in case... and applications using this library should hide their\n   * content until the `localized' event happens.\n   */\n\n  var gAsyncResourceLoading = true; // read-only\n\n\n  /**\n   * DOM helpers for the so-called \"HTML API\".\n   *\n   * These functions are written for modern browsers. For old versions of IE,\n   * they're overridden in the 'startup' section at the end of this file.\n   */\n\n  function getL10nResourceLinks() {\n    return document.querySelectorAll('link[type=\"application/l10n\"]');\n  }\n\n  function getL10nDictionary() {\n    var script = document.querySelector('script[type=\"application/l10n\"]');\n    // TODO: support multiple and external JSON dictionaries\n    return script ? JSON.parse(script.innerHTML) : null;\n  }\n\n  function getTranslatableChildren(element) {\n    return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n  }\n\n  function getL10nAttributes(element) {\n    if (!element)\n      return {};\n\n    var l10nId = element.getAttribute('data-l10n-id');\n    var l10nArgs = element.getAttribute('data-l10n-args');\n    var args = {};\n    if (l10nArgs) {\n      try {\n        args = JSON.parse(l10nArgs);\n      } catch (e) {\n        console.warn('could not parse arguments for #' + l10nId);\n      }\n    }\n    return { id: l10nId, args: args };\n  }\n\n  function xhrLoadText(url, onSuccess, onFailure) {\n    onSuccess = onSuccess || function _onSuccess(data) {};\n    onFailure = onFailure || function _onFailure() {};\n\n    var xhr = new XMLHttpRequest();\n    xhr.open('GET', url, gAsyncResourceLoading);\n    if (xhr.overrideMimeType) {\n      xhr.overrideMimeType('text/plain; charset=utf-8');\n    }\n    xhr.onreadystatechange = function() {\n      if (xhr.readyState == 4) {\n        if (xhr.status == 200 || xhr.status === 0) {\n          onSuccess(xhr.responseText);\n        } else {\n          onFailure();\n        }\n      }\n    };\n    xhr.onerror = onFailure;\n    xhr.ontimeout = onFailure;\n\n    // in Firefox OS with the app:// protocol, trying to XHR a non-existing\n    // URL will raise an exception here -- hence this ugly try...catch.\n    try {\n      xhr.send(null);\n    } catch (e) {\n      onFailure();\n    }\n  }\n\n\n  /**\n   * l10n resource parser:\n   *  - reads (async XHR) the l10n resource matching `lang';\n   *  - imports linked resources (synchronously) when specified;\n   *  - parses the text data (fills `gL10nData' and `gTextData');\n   *  - triggers success/failure callbacks when done.\n   *\n   * @param {string} href\n   *    URL of the l10n resource to parse.\n   *\n   * @param {string} lang\n   *    locale (language) to parse. Must be a lowercase string.\n   *\n   * @param {Function} successCallback\n   *    triggered when the l10n resource has been successfully parsed.\n   *\n   * @param {Function} failureCallback\n   *    triggered when the an error has occurred.\n   *\n   * @return {void}\n   *    uses the following global variables: gL10nData, gTextData, gTextProp.\n   */\n\n  function parseResource(href, lang, successCallback, failureCallback) {\n    var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n    // handle escaped characters (backslashes) in a string\n    function evalString(text) {\n      if (text.lastIndexOf('\\\\') < 0)\n        return text;\n      return text.replace(/\\\\\\\\/g, '\\\\')\n                 .replace(/\\\\n/g, '\\n')\n                 .replace(/\\\\r/g, '\\r')\n                 .replace(/\\\\t/g, '\\t')\n                 .replace(/\\\\b/g, '\\b')\n                 .replace(/\\\\f/g, '\\f')\n                 .replace(/\\\\{/g, '{')\n                 .replace(/\\\\}/g, '}')\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/\\\\'/g, \"'\");\n    }\n\n    // parse *.properties text data into an l10n dictionary\n    // If gAsyncResourceLoading is false, then the callback will be called\n    // synchronously. Otherwise it is called asynchronously.\n    function parseProperties(text, parsedPropertiesCallback) {\n      var dictionary = {};\n\n      // token expressions\n      var reBlank = /^\\s*|\\s*$/;\n      var reComment = /^\\s*#|^\\s*$/;\n      var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n      var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n      var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/; // TODO: escape EOLs with '\\'\n\n      // parse the *.properties file into an associative array\n      function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n        var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n        var currentLang = '*';\n        var genericLang = lang.split('-', 1)[0];\n        var skipLang = false;\n        var match = '';\n\n        function nextEntry() {\n          // Use infinite loop instead of recursion to avoid reaching the\n          // maximum recursion limit for content with many lines.\n          while (true) {\n            if (!entries.length) {\n              parsedRawLinesCallback();\n              return;\n            }\n            var line = entries.shift();\n\n            // comment or blank line?\n            if (reComment.test(line))\n              continue;\n\n            // the extended syntax supports [lang] sections and @import rules\n            if (extendedSyntax) {\n              match = reSection.exec(line);\n              if (match) { // section start?\n                // RFC 4646, section 4.4, \"All comparisons MUST be performed\n                // in a case-insensitive manner.\"\n\n                currentLang = match[1].toLowerCase();\n                skipLang = (currentLang !== '*') &&\n                    (currentLang !== lang) && (currentLang !== genericLang);\n                continue;\n              } else if (skipLang) {\n                continue;\n              }\n              match = reImport.exec(line);\n              if (match) { // @import rule?\n                loadImport(baseURL + match[1], nextEntry);\n                return;\n              }\n            }\n\n            // key-value pair\n            var tmp = line.match(reSplit);\n            if (tmp && tmp.length == 3) {\n              dictionary[tmp[1]] = evalString(tmp[2]);\n            }\n          }\n        }\n        nextEntry();\n      }\n\n      // import another *.properties file\n      function loadImport(url, callback) {\n        xhrLoadText(url, function(content) {\n          parseRawLines(content, false, callback); // don't allow recursive imports\n        }, function () {\n          console.warn(url + ' not found.');\n          callback();\n        });\n      }\n\n      // fill the dictionary\n      parseRawLines(text, true, function() {\n        parsedPropertiesCallback(dictionary);\n      });\n    }\n\n    // load and parse l10n data (warning: global variables are used here)\n    xhrLoadText(href, function(response) {\n      gTextData += response; // mostly for debug\n\n      // parse *.properties text data into an l10n dictionary\n      parseProperties(response, function(data) {\n\n        // find attribute descriptions, if any\n        for (var key in data) {\n          var id, prop, index = key.lastIndexOf('.');\n          if (index > 0) { // an attribute has been specified\n            id = key.substring(0, index);\n            prop = key.substring(index + 1);\n          } else { // no attribute: assuming text content by default\n            id = key;\n            prop = gTextProp;\n          }\n          if (!gL10nData[id]) {\n            gL10nData[id] = {};\n          }\n          gL10nData[id][prop] = data[key];\n        }\n\n        // trigger callback\n        if (successCallback) {\n          successCallback();\n        }\n      });\n    }, failureCallback);\n  }\n\n  // load and parse all resources for the specified locale\n  function loadLocale(lang, callback) {\n    // RFC 4646, section 2.1 states that language tags have to be treated as\n    // case-insensitive. Convert to lowercase for case-insensitive comparisons.\n    if (lang) {\n      lang = lang.toLowerCase();\n    }\n\n    callback = callback || function _callback() {};\n\n    clear();\n    gLanguage = lang;\n\n    // check all <link type=\"application/l10n\" href=\"...\" /> nodes\n    // and load the resource files\n    var langLinks = getL10nResourceLinks();\n    var langCount = langLinks.length;\n    if (langCount === 0) {\n      // we might have a pre-compiled dictionary instead\n      var dict = getL10nDictionary();\n      if (dict && dict.locales && dict.default_locale) {\n        console.log('using the embedded JSON directory, early way out');\n        gL10nData = dict.locales[lang];\n        if (!gL10nData) {\n          var defaultLocale = dict.default_locale.toLowerCase();\n          for (var anyCaseLang in dict.locales) {\n            anyCaseLang = anyCaseLang.toLowerCase();\n            if (anyCaseLang === lang) {\n              gL10nData = dict.locales[lang];\n              break;\n            } else if (anyCaseLang === defaultLocale) {\n              gL10nData = dict.locales[defaultLocale];\n            }\n          }\n        }\n        callback();\n      } else {\n        console.log('no resource to load, early way out');\n      }\n      // early way out\n      gReadyState = 'complete';\n      return;\n    }\n\n    // start the callback when all resources are loaded\n    var onResourceLoaded = null;\n    var gResourceCount = 0;\n    onResourceLoaded = function() {\n      gResourceCount++;\n      if (gResourceCount >= langCount) {\n        callback();\n        gReadyState = 'complete';\n      }\n    };\n\n    // load all resource files\n    function L10nResourceLink(link) {\n      var href = link.href;\n      // Note: If |gAsyncResourceLoading| is false, then the following callbacks\n      // are synchronously called.\n      this.load = function(lang, callback) {\n        parseResource(href, lang, callback, function() {\n          console.warn(href + ' not found.');\n          // lang not found, used default resource instead\n          console.warn('\"' + lang + '\" resource not found');\n          gLanguage = '';\n          // Resource not loaded, but we still need to call the callback.\n          callback();\n        });\n      };\n    }\n\n    for (var i = 0; i < langCount; i++) {\n      var resource = new L10nResourceLink(langLinks[i]);\n      resource.load(lang, onResourceLoaded);\n    }\n  }\n\n  // clear all l10n data\n  function clear() {\n    gL10nData = {};\n    gTextData = '';\n    gLanguage = '';\n    // TODO: clear all non predefined macros.\n    // There's no such macro /yet/ but we're planning to have some...\n  }\n\n\n  /**\n   * Get rules for plural forms (shared with JetPack), see:\n   * http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html\n   * https://github.com/mozilla/addon-sdk/blob/master/python-lib/plural-rules-generator.p\n   *\n   * @param {string} lang\n   *    locale (language) used.\n   *\n   * @return {Function}\n   *    returns a function that gives the plural form name for a given integer:\n   *       var fun = getPluralRules('en');\n   *       fun(1)    -> 'one'\n   *       fun(0)    -> 'other'\n   *       fun(1000) -> 'other'.\n   */\n\n  function getPluralRules(lang) {\n    var locales2rules = {\n      'af': 3,\n      'ak': 4,\n      'am': 4,\n      'ar': 1,\n      'asa': 3,\n      'az': 0,\n      'be': 11,\n      'bem': 3,\n      'bez': 3,\n      'bg': 3,\n      'bh': 4,\n      'bm': 0,\n      'bn': 3,\n      'bo': 0,\n      'br': 20,\n      'brx': 3,\n      'bs': 11,\n      'ca': 3,\n      'cgg': 3,\n      'chr': 3,\n      'cs': 12,\n      'cy': 17,\n      'da': 3,\n      'de': 3,\n      'dv': 3,\n      'dz': 0,\n      'ee': 3,\n      'el': 3,\n      'en': 3,\n      'eo': 3,\n      'es': 3,\n      'et': 3,\n      'eu': 3,\n      'fa': 0,\n      'ff': 5,\n      'fi': 3,\n      'fil': 4,\n      'fo': 3,\n      'fr': 5,\n      'fur': 3,\n      'fy': 3,\n      'ga': 8,\n      'gd': 24,\n      'gl': 3,\n      'gsw': 3,\n      'gu': 3,\n      'guw': 4,\n      'gv': 23,\n      'ha': 3,\n      'haw': 3,\n      'he': 2,\n      'hi': 4,\n      'hr': 11,\n      'hu': 0,\n      'id': 0,\n      'ig': 0,\n      'ii': 0,\n      'is': 3,\n      'it': 3,\n      'iu': 7,\n      'ja': 0,\n      'jmc': 3,\n      'jv': 0,\n      'ka': 0,\n      'kab': 5,\n      'kaj': 3,\n      'kcg': 3,\n      'kde': 0,\n      'kea': 0,\n      'kk': 3,\n      'kl': 3,\n      'km': 0,\n      'kn': 0,\n      'ko': 0,\n      'ksb': 3,\n      'ksh': 21,\n      'ku': 3,\n      'kw': 7,\n      'lag': 18,\n      'lb': 3,\n      'lg': 3,\n      'ln': 4,\n      'lo': 0,\n      'lt': 10,\n      'lv': 6,\n      'mas': 3,\n      'mg': 4,\n      'mk': 16,\n      'ml': 3,\n      'mn': 3,\n      'mo': 9,\n      'mr': 3,\n      'ms': 0,\n      'mt': 15,\n      'my': 0,\n      'nah': 3,\n      'naq': 7,\n      'nb': 3,\n      'nd': 3,\n      'ne': 3,\n      'nl': 3,\n      'nn': 3,\n      'no': 3,\n      'nr': 3,\n      'nso': 4,\n      'ny': 3,\n      'nyn': 3,\n      'om': 3,\n      'or': 3,\n      'pa': 3,\n      'pap': 3,\n      'pl': 13,\n      'ps': 3,\n      'pt': 3,\n      'rm': 3,\n      'ro': 9,\n      'rof': 3,\n      'ru': 11,\n      'rwk': 3,\n      'sah': 0,\n      'saq': 3,\n      'se': 7,\n      'seh': 3,\n      'ses': 0,\n      'sg': 0,\n      'sh': 11,\n      'shi': 19,\n      'sk': 12,\n      'sl': 14,\n      'sma': 7,\n      'smi': 7,\n      'smj': 7,\n      'smn': 7,\n      'sms': 7,\n      'sn': 3,\n      'so': 3,\n      'sq': 3,\n      'sr': 11,\n      'ss': 3,\n      'ssy': 3,\n      'st': 3,\n      'sv': 3,\n      'sw': 3,\n      'syr': 3,\n      'ta': 3,\n      'te': 3,\n      'teo': 3,\n      'th': 0,\n      'ti': 4,\n      'tig': 3,\n      'tk': 3,\n      'tl': 4,\n      'tn': 3,\n      'to': 0,\n      'tr': 0,\n      'ts': 3,\n      'tzm': 22,\n      'uk': 11,\n      'ur': 3,\n      've': 3,\n      'vi': 0,\n      'vun': 3,\n      'wa': 4,\n      'wae': 3,\n      'wo': 0,\n      'xh': 3,\n      'xog': 3,\n      'yo': 0,\n      'zh': 0,\n      'zu': 3\n    };\n\n    // utility functions for plural rules methods\n    function isIn(n, list) {\n      return list.indexOf(n) !== -1;\n    }\n    function isBetween(n, start, end) {\n      return start <= n && n <= end;\n    }\n\n    // list of all plural rules methods:\n    // map an integer to the plural form name to use\n    var pluralRules = {\n      '0': function(n) {\n        return 'other';\n      },\n      '1': function(n) {\n        if ((isBetween((n % 100), 3, 10)))\n          return 'few';\n        if (n === 0)\n          return 'zero';\n        if ((isBetween((n % 100), 11, 99)))\n          return 'many';\n        if (n == 2)\n          return 'two';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '2': function(n) {\n        if (n !== 0 && (n % 10) === 0)\n          return 'many';\n        if (n == 2)\n          return 'two';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '3': function(n) {\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '4': function(n) {\n        if ((isBetween(n, 0, 1)))\n          return 'one';\n        return 'other';\n      },\n      '5': function(n) {\n        if ((isBetween(n, 0, 2)) && n != 2)\n          return 'one';\n        return 'other';\n      },\n      '6': function(n) {\n        if (n === 0)\n          return 'zero';\n        if ((n % 10) == 1 && (n % 100) != 11)\n          return 'one';\n        return 'other';\n      },\n      '7': function(n) {\n        if (n == 2)\n          return 'two';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '8': function(n) {\n        if ((isBetween(n, 3, 6)))\n          return 'few';\n        if ((isBetween(n, 7, 10)))\n          return 'many';\n        if (n == 2)\n          return 'two';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '9': function(n) {\n        if (n === 0 || n != 1 && (isBetween((n % 100), 1, 19)))\n          return 'few';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '10': function(n) {\n        if ((isBetween((n % 10), 2, 9)) && !(isBetween((n % 100), 11, 19)))\n          return 'few';\n        if ((n % 10) == 1 && !(isBetween((n % 100), 11, 19)))\n          return 'one';\n        return 'other';\n      },\n      '11': function(n) {\n        if ((isBetween((n % 10), 2, 4)) && !(isBetween((n % 100), 12, 14)))\n          return 'few';\n        if ((n % 10) === 0 ||\n            (isBetween((n % 10), 5, 9)) ||\n            (isBetween((n % 100), 11, 14)))\n          return 'many';\n        if ((n % 10) == 1 && (n % 100) != 11)\n          return 'one';\n        return 'other';\n      },\n      '12': function(n) {\n        if ((isBetween(n, 2, 4)))\n          return 'few';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '13': function(n) {\n        if ((isBetween((n % 10), 2, 4)) && !(isBetween((n % 100), 12, 14)))\n          return 'few';\n        if (n != 1 && (isBetween((n % 10), 0, 1)) ||\n            (isBetween((n % 10), 5, 9)) ||\n            (isBetween((n % 100), 12, 14)))\n          return 'many';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '14': function(n) {\n        if ((isBetween((n % 100), 3, 4)))\n          return 'few';\n        if ((n % 100) == 2)\n          return 'two';\n        if ((n % 100) == 1)\n          return 'one';\n        return 'other';\n      },\n      '15': function(n) {\n        if (n === 0 || (isBetween((n % 100), 2, 10)))\n          return 'few';\n        if ((isBetween((n % 100), 11, 19)))\n          return 'many';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '16': function(n) {\n        if ((n % 10) == 1 && n != 11)\n          return 'one';\n        return 'other';\n      },\n      '17': function(n) {\n        if (n == 3)\n          return 'few';\n        if (n === 0)\n          return 'zero';\n        if (n == 6)\n          return 'many';\n        if (n == 2)\n          return 'two';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '18': function(n) {\n        if (n === 0)\n          return 'zero';\n        if ((isBetween(n, 0, 2)) && n !== 0 && n != 2)\n          return 'one';\n        return 'other';\n      },\n      '19': function(n) {\n        if ((isBetween(n, 2, 10)))\n          return 'few';\n        if ((isBetween(n, 0, 1)))\n          return 'one';\n        return 'other';\n      },\n      '20': function(n) {\n        if ((isBetween((n % 10), 3, 4) || ((n % 10) == 9)) && !(\n            isBetween((n % 100), 10, 19) ||\n            isBetween((n % 100), 70, 79) ||\n            isBetween((n % 100), 90, 99)\n            ))\n          return 'few';\n        if ((n % 1000000) === 0 && n !== 0)\n          return 'many';\n        if ((n % 10) == 2 && !isIn((n % 100), [12, 72, 92]))\n          return 'two';\n        if ((n % 10) == 1 && !isIn((n % 100), [11, 71, 91]))\n          return 'one';\n        return 'other';\n      },\n      '21': function(n) {\n        if (n === 0)\n          return 'zero';\n        if (n == 1)\n          return 'one';\n        return 'other';\n      },\n      '22': function(n) {\n        if ((isBetween(n, 0, 1)) || (isBetween(n, 11, 99)))\n          return 'one';\n        return 'other';\n      },\n      '23': function(n) {\n        if ((isBetween((n % 10), 1, 2)) || (n % 20) === 0)\n          return 'one';\n        return 'other';\n      },\n      '24': function(n) {\n        if ((isBetween(n, 3, 10) || isBetween(n, 13, 19)))\n          return 'few';\n        if (isIn(n, [2, 12]))\n          return 'two';\n        if (isIn(n, [1, 11]))\n          return 'one';\n        return 'other';\n      }\n    };\n\n    // return a function that gives the plural form name for a given integer\n    var index = locales2rules[lang.replace(/-.*$/, '')];\n    if (!(index in pluralRules)) {\n      console.warn('plural form unknown for [' + lang + ']');\n      return function() { return 'other'; };\n    }\n    return pluralRules[index];\n  }\n\n  // pre-defined 'plural' macro\n  gMacros.plural = function(str, param, key, prop) {\n    var n = parseFloat(param);\n    if (isNaN(n))\n      return str;\n\n    // TODO: support other properties (l20n still doesn't...)\n    if (prop != gTextProp)\n      return str;\n\n    // initialize _pluralRules\n    if (!gMacros._pluralRules) {\n      gMacros._pluralRules = getPluralRules(gLanguage);\n    }\n    var index = '[' + gMacros._pluralRules(n) + ']';\n\n    // try to find a [zero|one|two] key if it's defined\n    if (n === 0 && (key + '[zero]') in gL10nData) {\n      str = gL10nData[key + '[zero]'][prop];\n    } else if (n == 1 && (key + '[one]') in gL10nData) {\n      str = gL10nData[key + '[one]'][prop];\n    } else if (n == 2 && (key + '[two]') in gL10nData) {\n      str = gL10nData[key + '[two]'][prop];\n    } else if ((key + index) in gL10nData) {\n      str = gL10nData[key + index][prop];\n    } else if ((key + '[other]') in gL10nData) {\n      str = gL10nData[key + '[other]'][prop];\n    }\n\n    return str;\n  };\n\n\n  /**\n   * l10n dictionary functions\n   */\n\n  // fetch an l10n object, warn if not found, apply `args' if possible\n  function getL10nData(key, args, fallback) {\n    var data = gL10nData[key];\n    if (!data) {\n      console.warn('#' + key + ' is undefined.');\n      if (!fallback) {\n        return null;\n      }\n      data = fallback;\n    }\n\n    /** This is where l10n expressions should be processed.\n      * The plan is to support C-style expressions from the l20n project;\n      * until then, only two kinds of simple expressions are supported:\n      *   {[ index ]} and {{ arguments }}.\n      */\n    var rv = {};\n    for (var prop in data) {\n      var str = data[prop];\n      str = substIndexes(str, args, key, prop);\n      str = substArguments(str, args, key);\n      rv[prop] = str;\n    }\n    return rv;\n  }\n\n  // replace {[macros]} with their values\n  function substIndexes(str, args, key, prop) {\n    var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n    var reMatch = reIndex.exec(str);\n    if (!reMatch || !reMatch.length)\n      return str;\n\n    // an index/macro has been found\n    // Note: at the moment, only one parameter is supported\n    var macroName = reMatch[1];\n    var paramName = reMatch[2];\n    var param;\n    if (args && paramName in args) {\n      param = args[paramName];\n    } else if (paramName in gL10nData) {\n      param = gL10nData[paramName];\n    }\n\n    // there's no macro parser yet: it has to be defined in gMacros\n    if (macroName in gMacros) {\n      var macro = gMacros[macroName];\n      str = macro(str, param, key, prop);\n    }\n    return str;\n  }\n\n  // replace {{arguments}} with their values\n  function substArguments(str, args, key) {\n    var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n    return str.replace(reArgs, function(matched_text, arg) {\n      if (args && arg in args) {\n        return args[arg];\n      }\n      if (arg in gL10nData) {\n        return gL10nData[arg];\n      }\n      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n      return matched_text;\n    });\n  }\n\n  // translate an HTML element\n  function translateElement(element) {\n    var l10n = getL10nAttributes(element);\n    if (!l10n.id)\n      return;\n\n    // get the related l10n object\n    var data = getL10nData(l10n.id, l10n.args);\n    if (!data) {\n      console.warn('#' + l10n.id + ' is undefined.');\n      return;\n    }\n\n    // translate element (TODO: security checks?)\n    if (data[gTextProp]) { // XXX\n      if (getChildElementCount(element) === 0) {\n        element[gTextProp] = data[gTextProp];\n      } else {\n        // this element has element children: replace the content of the first\n        // (non-empty) child textNode and clear other child textNodes\n        var children = element.childNodes;\n        var found = false;\n        for (var i = 0, l = children.length; i < l; i++) {\n          if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n            if (found) {\n              children[i].nodeValue = '';\n            } else {\n              children[i].nodeValue = data[gTextProp];\n              found = true;\n            }\n          }\n        }\n        // if no (non-empty) textNode is found, insert a textNode before the\n        // first element child.\n        if (!found) {\n          var textNode = document.createTextNode(data[gTextProp]);\n          element.insertBefore(textNode, element.firstChild);\n        }\n      }\n      delete data[gTextProp];\n    }\n\n    for (var k in data) {\n      element[k] = data[k];\n    }\n  }\n\n  // webkit browsers don't currently support 'children' on SVG elements...\n  function getChildElementCount(element) {\n    if (element.children) {\n      return element.children.length;\n    }\n    if (typeof element.childElementCount !== 'undefined') {\n      return element.childElementCount;\n    }\n    var count = 0;\n    for (var i = 0; i < element.childNodes.length; i++) {\n      count += element.nodeType === 1 ? 1 : 0;\n    }\n    return count;\n  }\n\n  // translate an HTML subtree\n  function translateFragment(element) {\n    element = element || document.documentElement;\n\n    // check all translatable children (= w/ a `data-l10n-id' attribute)\n    var children = getTranslatableChildren(element);\n    var elementCount = children.length;\n    for (var i = 0; i < elementCount; i++) {\n      translateElement(children[i]);\n    }\n\n    // translate element itself if necessary\n    translateElement(element);\n  }\n\n  return {\n    // get a localized string\n    get: function(key, args, fallbackString) {\n      var index = key.lastIndexOf('.');\n      var prop = gTextProp;\n      if (index > 0) { // An attribute has been specified\n        prop = key.substring(index + 1);\n        key = key.substring(0, index);\n      }\n      var fallback;\n      if (fallbackString) {\n        fallback = {};\n        fallback[prop] = fallbackString;\n      }\n      var data = getL10nData(key, args, fallback);\n      if (data && prop in data) {\n        return data[prop];\n      }\n      return '{{' + key + '}}';\n    },\n\n    // debug\n    getData: function() { return gL10nData; },\n    getText: function() { return gTextData; },\n\n    // get|set the document language\n    getLanguage: function() { return gLanguage; },\n    setLanguage: function(lang, callback) {\n      loadLocale(lang, function() {\n        if (callback)\n          callback();\n      });\n    },\n\n    // get the direction (ltr|rtl) of the current language\n    getDirection: function() {\n      // http://www.w3.org/International/questions/qa-scripts\n      // Arabic, Hebrew, Farsi, Pashto, Urdu\n      var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n      var shortCode = gLanguage.split('-', 1)[0];\n      return (rtlList.indexOf(shortCode) >= 0) ? 'rtl' : 'ltr';\n    },\n\n    // translate an element or document fragment\n    translate: translateFragment,\n\n    // this can be used to prevent race conditions\n    getReadyState: function() { return gReadyState; },\n    ready: function(callback) {\n      if (!callback) {\n        return;\n      } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n        window.setTimeout(function() {\n          callback();\n        });\n      } else if (document.addEventListener) {\n        document.addEventListener('localized', function once() {\n          document.removeEventListener('localized', once);\n          callback();\n        });\n      }\n    }\n  };\n}) (window, document);\n","/* Copyright 2016 Mozilla Foundation\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\nimport { CSS_UNITS, NullL10n } from \"./ui_utils.js\";\nimport { PDFPrintServiceFactory, PDFViewerApplication } from \"./app.js\";\nimport { AppOptions } from \"./app_options.js\";\n\nlet activeService = null;\nlet overlayManager = null;\n\n// Renders the page to the canvas of the given print service, and returns\n// the suggested dimensions of the output page.\nfunction renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {\n  const scratchCanvas = activeService.scratchCanvas;\n\n  // The size of the canvas in pixels for printing.\n  const PRINT_RESOLUTION = AppOptions.get(\"printResolution\") || 900;\n  const PRINT_UNITS = PRINT_RESOLUTION / 72.0;\n  scratchCanvas.width = Math.floor(size.width * PRINT_UNITS);\n  scratchCanvas.height = Math.floor(size.height * PRINT_UNITS);\n\n  // The physical size of the img as specified by the PDF document.\n  const width = Math.floor(size.width * CSS_UNITS) + \"px\";\n  const height = Math.floor(size.height * CSS_UNITS) + \"px\";\n\n  const ctx = scratchCanvas.getContext(\"2d\");\n  ctx.save();\n  ctx.fillStyle = \"rgb(255, 255, 255)\";\n  ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height);\n  ctx.restore();\n\n  return pdfDocument\n    .getPage(pageNumber)\n    .then(function(pdfPage) {\n      const renderContext = {\n        canvasContext: ctx,\n        transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],\n        viewport: pdfPage.getViewport({ scale: 1, rotation: size.rotation }),\n        intent: \"print\",\n      };\n      return pdfPage.render(renderContext).promise;\n    })\n    .then(function() {\n      return {\n        width,\n        height,\n      };\n    });\n}\n\nfunction PDFPrintService(pdfDocument, pagesOverview, printContainer, l10n) {\n  this.pdfDocument = pdfDocument;\n  this.pagesOverview = pagesOverview;\n  this.printContainer = printContainer;\n  this.l10n = l10n || NullL10n;\n  this.disableCreateObjectURL =\n    pdfDocument.loadingParams[\"disableCreateObjectURL\"];\n  this.currentPage = -1;\n  // The temporary canvas where renderPage paints one page at a time.\n  this.scratchCanvas = document.createElement(\"canvas\");\n}\n\nPDFPrintService.prototype = {\n  layout() {\n    this.throwIfInactive();\n\n    const body = document.querySelector(\"body\");\n    body.setAttribute(\"data-pdfjsprinting\", true);\n\n    const hasEqualPageSizes = this.pagesOverview.every(function(size) {\n      return (\n        size.width === this.pagesOverview[0].width &&\n        size.height === this.pagesOverview[0].height\n      );\n    }, this);\n    if (!hasEqualPageSizes) {\n      console.warn(\n        \"Not all pages have the same size. The printed \" +\n          \"result may be incorrect!\"\n      );\n    }\n\n    // Insert a @page + size rule to make sure that the page size is correctly\n    // set. Note that we assume that all pages have the same size, because\n    // variable-size pages are not supported yet (e.g. in Chrome & Firefox).\n    // TODO(robwu): Use named pages when size calculation bugs get resolved\n    // (e.g. https://crbug.com/355116) AND when support for named pages is\n    // added (http://www.w3.org/TR/css3-page/#using-named-pages).\n    // In browsers where @page + size is not supported (such as Firefox,\n    // https://bugzil.la/851441), the next stylesheet will be ignored and the\n    // user has to select the correct paper size in the UI if wanted.\n    this.pageStyleSheet = document.createElement(\"style\");\n    const pageSize = this.pagesOverview[0];\n    this.pageStyleSheet.textContent =\n      // \"size:<width> <height>\" is what we need. But also add \"A4\" because\n      // Firefox incorrectly reports support for the other value.\n      \"@supports ((size:A4) and (size:1pt 1pt)) {\" +\n      \"@page { size: \" +\n      pageSize.width +\n      \"pt \" +\n      pageSize.height +\n      \"pt;}\" +\n      \"}\";\n    body.appendChild(this.pageStyleSheet);\n  },\n\n  destroy() {\n    if (activeService !== this) {\n      // |activeService| cannot be replaced without calling destroy() first,\n      // so if it differs then an external consumer has a stale reference to\n      // us.\n      return;\n    }\n    this.printContainer.textContent = \"\";\n\n    const body = document.querySelector(\"body\");\n    body.removeAttribute(\"data-pdfjsprinting\");\n\n    if (this.pageStyleSheet) {\n      this.pageStyleSheet.remove();\n      this.pageStyleSheet = null;\n    }\n    this.scratchCanvas.width = this.scratchCanvas.height = 0;\n    this.scratchCanvas = null;\n    activeService = null;\n    ensureOverlay().then(function() {\n      if (overlayManager.active !== \"printServiceOverlay\") {\n        return; // overlay was already closed\n      }\n      overlayManager.close(\"printServiceOverlay\");\n    });\n  },\n\n  renderPages() {\n    const pageCount = this.pagesOverview.length;\n    const renderNextPage = (resolve, reject) => {\n      this.throwIfInactive();\n      if (++this.currentPage >= pageCount) {\n        renderProgress(pageCount, pageCount, this.l10n);\n        resolve();\n        return;\n      }\n      const index = this.currentPage;\n      renderProgress(index, pageCount, this.l10n);\n      renderPage(this, this.pdfDocument, index + 1, this.pagesOverview[index])\n        .then(this.useRenderedPage.bind(this))\n        .then(function() {\n          renderNextPage(resolve, reject);\n        }, reject);\n    };\n    return new Promise(renderNextPage);\n  },\n\n  useRenderedPage(printItem) {\n    this.throwIfInactive();\n    const img = document.createElement(\"img\");\n    img.style.width = printItem.width;\n    img.style.height = printItem.height;\n\n    const scratchCanvas = this.scratchCanvas;\n    if (\"toBlob\" in scratchCanvas && !this.disableCreateObjectURL) {\n      scratchCanvas.toBlob(function(blob) {\n        img.src = URL.createObjectURL(blob);\n      });\n    } else {\n      img.src = scratchCanvas.toDataURL();\n    }\n\n    const wrapper = document.createElement(\"div\");\n    wrapper.appendChild(img);\n    this.printContainer.appendChild(wrapper);\n\n    return new Promise(function(resolve, reject) {\n      img.onload = resolve;\n      img.onerror = reject;\n    });\n  },\n\n  performPrint() {\n    this.throwIfInactive();\n    return new Promise(resolve => {\n      // Push window.print in the macrotask queue to avoid being affected by\n      // the deprecation of running print() code in a microtask, see\n      // https://github.com/mozilla/pdf.js/issues/7547.\n      setTimeout(() => {\n        if (!this.active) {\n          resolve();\n          return;\n        }\n        print.call(window);\n        // Delay promise resolution in case print() was not synchronous.\n        setTimeout(resolve, 20); // Tidy-up.\n      }, 0);\n    });\n  },\n\n  get active() {\n    return this === activeService;\n  },\n\n  throwIfInactive() {\n    if (!this.active) {\n      throw new Error(\"This print request was cancelled or completed.\");\n    }\n  },\n};\n\nconst print = window.print;\nwindow.print = function() {\n  if (activeService) {\n    console.warn(\"Ignored window.print() because of a pending print job.\");\n    return;\n  }\n  ensureOverlay().then(function() {\n    if (activeService) {\n      overlayManager.open(\"printServiceOverlay\");\n    }\n  });\n\n  try {\n    dispatchEvent(\"beforeprint\");\n  } finally {\n    if (!activeService) {\n      console.error(\"Expected print service to be initialized.\");\n      ensureOverlay().then(function() {\n        if (overlayManager.active === \"printServiceOverlay\") {\n          overlayManager.close(\"printServiceOverlay\");\n        }\n      });\n      return; // eslint-disable-line no-unsafe-finally\n    }\n    const activeServiceOnEntry = activeService;\n    activeService\n      .renderPages()\n      .then(function() {\n        return activeServiceOnEntry.performPrint();\n      })\n      .catch(function() {\n        // Ignore any error messages.\n      })\n      .then(function() {\n        // aborts acts on the \"active\" print request, so we need to check\n        // whether the print request (activeServiceOnEntry) is still active.\n        // Without the check, an unrelated print request (created after aborting\n        // this print request while the pages were being generated) would be\n        // aborted.\n        if (activeServiceOnEntry.active) {\n          abort();\n        }\n      });\n  }\n};\n\nfunction dispatchEvent(eventType) {\n  const event = document.createEvent(\"CustomEvent\");\n  event.initCustomEvent(eventType, false, false, \"custom\");\n  window.dispatchEvent(event);\n}\n\nfunction abort() {\n  if (activeService) {\n    activeService.destroy();\n    dispatchEvent(\"afterprint\");\n  }\n}\n\nfunction renderProgress(index, total, l10n) {\n  const progressContainer = document.getElementById(\"printServiceOverlay\");\n  const progress = Math.round((100 * index) / total);\n  const progressBar = progressContainer.querySelector(\"progress\");\n  const progressPerc = progressContainer.querySelector(\".relative-progress\");\n  progressBar.value = progress;\n  l10n.get(\"print_progress_percent\", { progress }, progress + \"%\").then(msg => {\n    progressPerc.textContent = msg;\n  });\n}\n\nwindow.addEventListener(\n  \"keydown\",\n  function(event) {\n    // Intercept Cmd/Ctrl + P in all browsers.\n    // Also intercept Cmd/Ctrl + Shift + P in Chrome and Opera\n    if (\n      event.keyCode === /* P= */ 80 &&\n      (event.ctrlKey || event.metaKey) &&\n      !event.altKey &&\n      (!event.shiftKey || window.chrome || window.opera)\n    ) {\n      window.print();\n\n      // The (browser) print dialog cannot be prevented from being shown in\n      // IE11.\n      event.preventDefault();\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      } else {\n        event.stopPropagation();\n      }\n    }\n  },\n  true\n);\n\nif (\"onbeforeprint\" in window) {\n  // Do not propagate before/afterprint events when they are not triggered\n  // from within this polyfill. (FF /IE / Chrome 63+).\n  const stopPropagationIfNeeded = function(event) {\n    if (event.detail !== \"custom\" && event.stopImmediatePropagation) {\n      event.stopImmediatePropagation();\n    }\n  };\n  window.addEventListener(\"beforeprint\", stopPropagationIfNeeded);\n  window.addEventListener(\"afterprint\", stopPropagationIfNeeded);\n}\n\nlet overlayPromise;\nfunction ensureOverlay() {\n  if (!overlayPromise) {\n    overlayManager = PDFViewerApplication.overlayManager;\n    if (!overlayManager) {\n      throw new Error(\"The overlay manager has not yet been initialized.\");\n    }\n\n    overlayPromise = overlayManager.register(\n      \"printServiceOverlay\",\n      document.getElementById(\"printServiceOverlay\"),\n      abort,\n      true\n    );\n    document.getElementById(\"printCancel\").onclick = abort;\n  }\n  return overlayPromise;\n}\n\nPDFPrintServiceFactory.instance = {\n  supportsPrinting: true,\n\n  createPrintService(pdfDocument, pagesOverview, printContainer, l10n) {\n    if (activeService) {\n      throw new Error(\"The print service is created and active.\");\n    }\n    activeService = new PDFPrintService(\n      pdfDocument,\n      pagesOverview,\n      printContainer,\n      l10n\n    );\n    return activeService;\n  },\n};\n\nexport { PDFPrintService };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/server/target/classes/static/plyr/plyr.css b/server/target/classes/static/plyr/plyr.css
deleted file mode 100644
index e92820c..0000000
--- a/server/target/classes/static/plyr/plyr.css
+++ /dev/null
@@ -1 +0,0 @@
-.plyr input[type=range]:focus,.plyr:focus{outline:0}.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-15px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip::before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}
\ No newline at end of file
diff --git a/server/target/classes/static/plyr/plyr.js b/server/target/classes/static/plyr/plyr.js
deleted file mode 100644
index 9138397..0000000
--- a/server/target/classes/static/plyr/plyr.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define([],function(){return t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,r,a=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10),l=!1,u=!1,c=!1,d=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,s="IE",o="11"):(n=a.indexOf("MSIE"))!==-1?(l=!0,s="IE",o=a.substring(n+5)):(n=a.indexOf("Chrome"))!==-1?(c=!0,s="Chrome",o=a.substring(n+7)):(n=a.indexOf("Safari"))!==-1?(d=!0,s="Safari",o=a.substring(n+7),(n=a.indexOf("Version"))!==-1&&(o=a.substring(n+8))):(n=a.indexOf("Firefox"))!==-1?(u=!0,s="Firefox",o=a.substring(n+8)):(e=a.lastIndexOf(" ")+1)<(n=a.lastIndexOf("/"))&&(s=a.substring(e,n),o=a.substring(n+1),s.toLowerCase()===s.toUpperCase()&&(s=navigator.appName)),(r=o.indexOf(";"))!==-1&&(o=o.substring(0,r)),(r=o.indexOf(" "))!==-1&&(o=o.substring(0,r)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isIphone:/(iPhone|iPod)/g.test(navigator.userAgent),isTouch:"ontouchstart"in t.documentElement}}function r(e,t){var n=e.media;if("video"===e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"===e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function a(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var r=t.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)}}function s(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var r=n>0?t.cloneNode(!0):t,a=e[n],s=a.parentNode,o=a.nextSibling;return r.appendChild(a),o?s.insertBefore(r,o):s.appendChild(r),r}}function l(e){e&&e.parentNode.removeChild(e)}function u(e,t){e.insertBefore(t,e.firstChild)}function c(e,t){for(var n in t)e.setAttribute(n,O.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,r){var a=t.createElement(e);c(a,r),u(n,a)}function p(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=r+(n?" "+t:"")}}function f(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function y(e,n){var r=Element.prototype,a=r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return a.call(e,n)}function b(e,t,n,r,a){g(e,t,function(t){n&&n.apply(e,[t]),r.apply(e,[t])},a)}function v(e,t,n,r,a){var s=t.split(" ");if(O.boolean(a)||(a=!1),e instanceof NodeList)for(var o=0;o<e.length;o++)e[o]instanceof Node&&v(e[o],arguments[1],arguments[2],arguments[3]);else for(var i=0;i<s.length;i++)e[r?"addEventListener":"removeEventListener"](s[i],n,a)}function g(e,t,n,r){e&&v(e,t,n,!0,r)}function h(e,t,n,r){if(e&&t){O.boolean(n)||(n=!1);var a=new CustomEvent(t,{bubbles:n,detail:r});e.dispatchEvent(a)}}function k(e,t){if(e)return t=O.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t}function w(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function x(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,r=0;r<n;r++){var a=e[r];for(var s in a)a[s]&&a[s].constructor&&a[s].constructor===Object?(t[s]=t[s]||{},x(t[s],a[s])):t[s]=a[s]}return t}}function T(e){var t=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;return e.match(t)?RegExp.$2:e}function S(e){var t=/^.*(vimeo.com\/|video\/)(\d+).*/;return e.match(t)?RegExp.$2:e}function _(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit o moz ms khtml".split(" ");if(O.undefined(t.cancelFullScreen))for(var r=0,a=n.length;r<a;r++){if(e.prefix=n[r],!O.undefined(t[e.prefix+"CancelFullScreen"])){e.supportsFullScreen=!0;break}if(!O.undefined(t.msExitFullscreen)&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}else e.supportsFullScreen=!0;return e.supportsFullScreen&&(e.fullScreenEventName="ms"===e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch(O.undefined(e)&&(e=t.body),this.prefix){case"":return t.fullscreenElement===e;case"moz":return t.mozFullScreenElement===e;default:return t[this.prefix+"FullscreenElement"]===e}},e.requestFullScreen=function(e){return O.undefined(e)&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"===this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"===this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function E(v,E){function A(e,t,n,r){h(e,t,n,x({},r,{plyr:Be}))}function j(t,n){E.debug&&e.console&&(n=Array.prototype.slice.call(n),O.string(E.logPrefix)&&E.logPrefix.length&&n.unshift(E.logPrefix),console[t].apply(console,n))}function V(){return{url:E.iconUrl,absolute:0===E.iconUrl.indexOf("http")||Ue.browser.isIE}}function R(){var e=[],t=V(),n=(t.absolute?"":t.url)+"#"+E.iconPrefix;return s(E.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+E.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),s(E.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+E.i18n.restart+"</span>","</button>"),s(E.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+E.i18n.rewind+"</span>","</button>"),s(E.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+E.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+E.i18n.pause+"</span>","</button>"),s(E.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+E.i18n.forward+"</span>","</button>"),s(E.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek{id}" class="plyr__sr-only">Seek</label>','<input id="seek{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+E.i18n.buffered,"</progress>"),E.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),s(E.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+E.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),s(E.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+E.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),s(E.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleMute+"</span>","</button>"),s(E.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume{id}" class="plyr__sr-only">'+E.i18n.volume+"</label>",'<input id="volume{id}" class="plyr__volume--input" type="range" min="'+E.volumeMin+'" max="'+E.volumeMax+'" value="'+E.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+E.volumeMax+'" value="'+E.volumeMin+'" role="presentation"></progress>',"</span>"),s(E.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleCaptions+"</span>","</button>"),s(E.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+E.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function q(){if(Ue.supported.full&&("audio"!==Ue.type||E.fullscreen.allowAudio)&&E.fullscreen.enabled){var e=N.supportsFullScreen;e||E.fullscreen.fallback&&!X()?(Je((e?"Native":"Fallback")+" fullscreen enabled"),m(Ue.container,E.classes.fullscreen.enabled,!0)):Je("Fullscreen not supported and fallback disabled"),Ue.buttons&&Ue.buttons.fullscreen&&k(Ue.buttons.fullscreen,!1),$()}}function D(){if("video"===Ue.type){U(E.selectors.captions)||Ue.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+p(E.selectors.captions)+'"></div>'),Ue.usingTextTracks=!1,Ue.media.textTracks&&(Ue.usingTextTracks=!0);for(var e,t="",n=Ue.media.childNodes,r=0;r<n.length;r++)"track"===n[r].nodeName.toLowerCase()&&(e=n[r].kind,"captions"!==e&&"subtitles"!==e||(t=n[r].getAttribute("src")));if(Ue.captionExists=!0,""===t?(Ue.captionExists=!1,Je("No caption track found")):Je("Caption track found; URI: "+t),Ue.captionExists){for(var a=Ue.media.textTracks,s=0;s<a.length;s++)a[s].mode="hidden";if(Y(Ue),(Ue.browser.isIE&&Ue.browser.version>=10||Ue.browser.isFirefox&&Ue.browser.version>=31)&&(Je("Detected browser with known TextTrack issues - using manual fallback"),Ue.usingTextTracks=!1),Ue.usingTextTracks){Je("TextTracks supported");for(var o=0;o<a.length;o++){var i=a[o];"captions"!==i.kind&&"subtitles"!==i.kind||g(i,"cuechange",function(){this.activeCues[0]&&"text"in this.activeCues[0]?H(this.activeCues[0].getCueAsHTML()):H()})}}else if(Je("TextTracks not supported so rendering captions manually"),Ue.currentCaption="",Ue.captions=[],""!==t){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e,t=[],n=l.responseText,r="\r\n";n.indexOf(r+r)===-1&&(r=n.indexOf("\r\r")!==-1?"\r":"\n"),t=n.split(r+r);for(var a=0;a<t.length;a++){e=t[a],Ue.captions[a]=[];var s=e.split(r),o=0;s[o].indexOf(":")===-1&&(o=1),Ue.captions[a]=[s[o],s[o+1]]}Ue.captions.shift(),Je("Successfully loaded the caption file via AJAX")}else ze(E.logPrefix+"There was a problem loading the caption file via AJAX")},l.open("get",t,!0),l.send()}}else m(Ue.container,E.classes.captions.enabled)}}function H(e){var n=U(E.selectors.captions),r=t.createElement("span");n.innerHTML="",O.undefined(e)&&(e=""),O.string(e)?r.innerHTML=e.trim():r.appendChild(e),n.appendChild(r);n.offsetHeight}function W(e){function t(e,t){var n=[];n=e.split(" --> ");for(var r=0;r<n.length;r++)n[r]=n[r].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return a(n[t])}function n(e){return t(e,0)}function r(e){return t(e,1)}function a(e){if(null===e||void 0===e)return 0;var t,n=[],r=[];return n=e.split(","),r=n[0].split(":"),t=Math.floor(60*r[0]*60)+Math.floor(60*r[1])+Math.floor(r[2])}if(!Ue.usingTextTracks&&"video"===Ue.type&&Ue.supported.full&&(Ue.subcount=0,e=O.number(e)?e:Ue.media.currentTime,Ue.captions[Ue.subcount])){for(;r(Ue.captions[Ue.subcount][0])<e.toFixed(1);)if(Ue.subcount++,Ue.subcount>Ue.captions.length-1){Ue.subcount=Ue.captions.length-1;break}Ue.media.currentTime.toFixed(1)>=n(Ue.captions[Ue.subcount][0])&&Ue.media.currentTime.toFixed(1)<=r(Ue.captions[Ue.subcount][0])?(Ue.currentCaption=Ue.captions[Ue.subcount][1],H(Ue.currentCaption)):H()}}function Y(){if(Ue.buttons.captions){m(Ue.container,E.classes.captions.enabled,!0);var e=Ue.storage.captionsEnabled;O.boolean(e)||(e=E.captions.defaultActive),e&&(m(Ue.container,E.classes.captions.active,!0),k(Ue.buttons.captions,!0))}}function B(e){return Ue.container.querySelectorAll(e)}function U(e){return B(e)[0]}function X(){try{return e.self!==e.top}catch(e){return!0}}function $(){function e(e){9===e.which&&Ue.isFullscreen&&(e.target!==r||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),r.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],r=t[t.length-1];g(Ue.container,"keydown",e)}function J(e,t){if(O.string(t))d(e,Ue.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Ue.media,t[n])}function z(){if(E.loadSprite){var e=V();e.absolute?(Je("AJAX loading absolute SVG sprite"+(Ue.browser.isIE?" (due to IE)":"")),C(e.url,"sprite-plyr")):Je("Sprite will be used as external resource directly")}var n=E.html;Je("Injecting custom controls"),n||(n=R()),n=o(n,"{seektime}",E.seekTime),n=o(n,"{id}",Math.floor(1e4*Math.random()));var r;if(O.string(E.selectors.controls.container)&&(r=t.querySelector(E.selectors.controls.container)),O.htmlElement(r)||(r=Ue.container),r.insertAdjacentHTML("beforeend",n),E.tooltips.controls)for(var a=B([E.selectors.controls.wrapper," ",E.selectors.labels," .",E.classes.hidden].join("")),s=a.length-1;s>=0;s--){var i=a[s];m(i,E.classes.hidden,!1),m(i,E.classes.tooltip,!0)}}function G(){try{return Ue.controls=U(E.selectors.controls.wrapper),Ue.buttons={},Ue.buttons.seek=U(E.selectors.buttons.seek),Ue.buttons.play=B(E.selectors.buttons.play),Ue.buttons.pause=U(E.selectors.buttons.pause),Ue.buttons.restart=U(E.selectors.buttons.restart),Ue.buttons.rewind=U(E.selectors.buttons.rewind),Ue.buttons.forward=U(E.selectors.buttons.forward),Ue.buttons.fullscreen=U(E.selectors.buttons.fullscreen),Ue.buttons.mute=U(E.selectors.buttons.mute),Ue.buttons.captions=U(E.selectors.buttons.captions),Ue.progress={},Ue.progress.container=U(E.selectors.progress.container),Ue.progress.buffer={},Ue.progress.buffer.bar=U(E.selectors.progress.buffer),Ue.progress.buffer.text=Ue.progress.buffer.bar&&Ue.progress.buffer.bar.getElementsByTagName("span")[0],Ue.progress.played=U(E.selectors.progress.played),Ue.progress.tooltip=Ue.progress.container&&Ue.progress.container.querySelector("."+E.classes.tooltip),Ue.volume={},Ue.volume.input=U(E.selectors.volume.input),Ue.volume.display=U(E.selectors.volume.display),Ue.duration=U(E.selectors.duration),Ue.currentTime=U(E.selectors.currentTime),Ue.seekTime=B(E.selectors.seekTime),!0}catch(e){return ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function K(){m(Ue.container,E.selectors.container.replace(".",""),Ue.supported.full)}function Q(e){e&&s(E.types.html5,Ue.type)?Ue.media.setAttribute("controls",""):Ue.media.removeAttribute("controls")}function Z(e){var t=E.i18n.play;if(O.string(E.title)&&E.title.length&&(t+=", "+E.title,Ue.container.setAttribute("aria-label",E.title)),Ue.supported.full&&Ue.buttons.play)for(var n=Ue.buttons.play.length-1;n>=0;n--)Ue.buttons.play[n].setAttribute("aria-label",t);O.htmlElement(e)&&e.setAttribute("title",E.i18n.frameTitle.replace("{title}",E.title))}function ee(){var t=null;Ue.storage={},L.supported&&E.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(E.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?te({volume:parseFloat(t)}):Ue.storage=JSON.parse(t)))}function te(t){L.supported&&E.storage.enabled&&(x(Ue.storage,t),e.localStorage.setItem(E.storage.key,JSON.stringify(Ue.storage)))}function ne(){if(!Ue.media)return void ze("No media element found!");if(Ue.supported.full&&(m(Ue.container,E.classes.type.replace("{0}",Ue.type),!0),s(E.types.embed,Ue.type)&&m(Ue.container,E.classes.type.replace("{0}","video"),!0),m(Ue.container,E.classes.stopped,E.autoplay),m(Ue.ontainer,E.classes.isIos,Ue.browser.isIos),m(Ue.container,E.classes.isTouch,Ue.browser.isTouch),"video"===Ue.type)){var e=t.createElement("div");e.setAttribute("class",E.classes.videoWrapper),i(Ue.media,e),Ue.videoContainer=e}s(E.types.embed,Ue.type)&&re()}function re(){var n,r=t.createElement("div"),s=Ue.type+"-"+Math.floor(1e4*Math.random());switch(Ue.type){case"youtube":n=T(Ue.embedId);break;case"vimeo":n=S(Ue.embedId);break;default:n=Ue.embedId}for(var o=B('[id^="'+Ue.type+'-"]'),i=o.length-1;i>=0;i--)l(o[i]);if(m(Ue.media,E.classes.videoWrapper,!0),m(Ue.media,E.classes.embedWrapper,!0),"youtube"===Ue.type)Ue.media.appendChild(r),r.setAttribute("id",s),O.object(e.YT)?se(n,r):(a(E.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){se(n,r)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ue.type)if(Ue.supported.full?Ue.media.appendChild(r):r=Ue.media,r.setAttribute("id",s),O.object(e.Vimeo))oe(n,r);else{a(E.urls.vimeo.api);var u=e.setInterval(function(){O.object(e.Vimeo)&&(e.clearInterval(u),oe(n,r))},50)}else if("soundcloud"===Ue.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),c(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:s}),r.appendChild(d),Ue.media.appendChild(r),e.SC||a(E.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),ie.call(d))},50)}}function ae(){Ue.supported.full&&(We(),Ye()),Z(U("iframe"))}function se(t,n){Ue.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:E.autoplay?1:0,controls:Ue.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:E.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){A(Ue.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ue.media.play=function(){n.playVideo(),Ue.media.paused=!1},Ue.media.pause=function(){n.pauseVideo(),Ue.media.paused=!0},Ue.media.stop=function(){n.stopVideo(),Ue.media.paused=!0},Ue.media.duration=n.getDuration(),Ue.media.paused=!0,Ue.media.currentTime=0,Ue.media.muted=n.isMuted(),E.title=n.getVideoData().title,Ue.supported.full&&Ue.media.querySelector("iframe").setAttribute("tabindex","-1"),ae(),A(Ue.media,"timeupdate"),A(Ue.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Ue.media.buffered=n.getVideoLoadedFraction(),(null===Ue.media.lastBuffered||Ue.media.lastBuffered<Ue.media.buffered)&&A(Ue.media,"progress"),Ue.media.lastBuffered=Ue.media.buffered,1===Ue.media.buffered&&(e.clearInterval(Xe.buffering),A(Ue.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Xe.playing),t.data){case 0:Ue.media.paused=!0,A(Ue.media,"ended");break;case 1:Ue.media.paused=!1,Ue.media.seeking&&A(Ue.media,"seeked"),Ue.media.seeking=!1,A(Ue.media,"play"),A(Ue.media,"playing"),Xe.playing=e.setInterval(function(){Ue.media.currentTime=n.getCurrentTime(),A(Ue.media,"timeupdate")},100),Ue.media.duration!==n.getDuration()&&(Ue.media.duration=n.getDuration(),A(Ue.media,"durationchange"));break;case 2:Ue.media.paused=!0,A(Ue.media,"pause")}A(Ue.container,"statechange",!1,{code:t.data})}}})}function oe(t,n){Ue.embed=new e.Vimeo.Player(n,{id:parseInt(t),loop:E.loop,autoplay:E.autoplay,byline:!1,portrait:!1,title:!1}),Ue.media.play=function(){Ue.embed.play(),Ue.media.paused=!1},Ue.media.pause=function(){Ue.embed.pause(),Ue.media.paused=!0},Ue.media.stop=function(){Ue.embed.stop(),Ue.media.paused=!0},Ue.media.paused=!0,Ue.media.currentTime=0,ae(),Ue.embed.getCurrentTime().then(function(e){Ue.media.currentTime=e,A(Ue.media,"timeupdate")}),Ue.embed.getDuration().then(function(e){Ue.media.duration=e,A(Ue.media,"durationchange")}),Ue.embed.on("loaded",function(){O.htmlElement(Ue.embed.element)&&Ue.supported.full&&Ue.embed.element.setAttribute("tabindex","-1")}),Ue.embed.on("play",function(){Ue.media.paused=!1,A(Ue.media,"play"),A(Ue.media,"playing")}),Ue.embed.on("pause",function(){Ue.media.paused=!0,A(Ue.media,"pause")}),Ue.embed.on("timeupdate",function(e){Ue.media.seeking=!1,Ue.media.currentTime=e.seconds,A(Ue.media,"timeupdate")}),Ue.embed.on("progress",function(e){Ue.media.buffered=e.percent,A(Ue.media,"progress"),1===parseInt(e.percent)&&A(Ue.media,"canplaythrough")}),Ue.embed.on("seeked",function(){Ue.media.seeking=!1,A(Ue.media,"seeked"),A(Ue.media,"play")}),Ue.embed.on("ended",function(){Ue.media.paused=!0,A(Ue.media,"ended")})}function ie(){Ue.embed=e.SC.Widget(this),Ue.embed.bind(e.SC.Widget.Events.READY,function(){Ue.media.play=function(){Ue.embed.play(),Ue.media.paused=!1},Ue.media.pause=function(){Ue.embed.pause(),Ue.media.paused=!0},Ue.media.stop=function(){Ue.embed.seekTo(0),Ue.embed.pause(),Ue.media.paused=!0},Ue.media.paused=!0,Ue.media.currentTime=0,Ue.embed.getDuration(function(e){Ue.media.duration=e/1e3,ae()}),Ue.embed.getPosition(function(e){Ue.media.currentTime=e,A(Ue.media,"timeupdate")}),Ue.embed.bind(e.SC.Widget.Events.PLAY,function(){Ue.media.paused=!1,A(Ue.media,"play"),A(Ue.media,"playing")}),Ue.embed.bind(e.SC.Widget.Events.PAUSE,function(){Ue.media.paused=!0,A(Ue.media,"pause")}),Ue.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Ue.media.seeking=!1,Ue.media.currentTime=e.currentPosition/1e3,A(Ue.media,"timeupdate")}),Ue.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Ue.media.buffered=e.loadProgress,A(Ue.media,"progress"),1===parseInt(e.loadProgress)&&A(Ue.media,"canplaythrough")}),Ue.embed.bind(e.SC.Widget.Events.FINISH,function(){Ue.media.paused=!0,A(Ue.media,"ended")})})}function le(){"play"in Ue.media&&Ue.media.play()}function ue(){"pause"in Ue.media&&Ue.media.pause()}function ce(e){return O.boolean(e)||(e=Ue.media.paused),e?le():ue(),e}function de(e){O.number(e)||(e=E.seekTime),me(Ue.media.currentTime-e)}function pe(e){O.number(e)||(e=E.seekTime),me(Ue.media.currentTime+e)}function me(e){var t=0,n=Ue.media.paused,r=fe();O.number(e)?t=e:O.object(e)&&s(["input","change"],e.type)&&(t=e.target.value/e.target.max*r),t<0?t=0:t>r&&(t=r),Ne(t);try{Ue.media.currentTime=t.toFixed(4)}catch(e){}if(s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.seekTo(t);break;case"vimeo":Ue.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ue.embed.seekTo(1e3*t)}n&&ue(),A(Ue.media,"timeupdate"),Ue.media.seeking=!0,A(Ue.media,"seeking")}Je("Seeking to "+Ue.media.currentTime+" seconds"),W(t)}function fe(){var e=parseInt(E.duration),t=0;return null===Ue.media.duration||isNaN(Ue.media.duration)||(t=Ue.media.duration),isNaN(e)?t:e}function ye(){m(Ue.container,E.classes.playing,!Ue.media.paused),m(Ue.container,E.classes.stopped,Ue.media.paused),Me(Ue.media.paused)}function be(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function ve(){e.scrollTo(P.x,P.y)}function ge(e){var n=N.supportsFullScreen;if(n){if(!e||e.type!==N.fullScreenEventName)return N.isFullScreen(Ue.container)?N.cancelFullScreen():(be(),N.requestFullScreen(Ue.container)),void(Ue.isFullscreen=N.isFullScreen(Ue.container));Ue.isFullscreen=N.isFullScreen(Ue.container)}else Ue.isFullscreen=!Ue.isFullscreen,t.body.style.overflow=Ue.isFullscreen?"hidden":"";m(Ue.container,E.classes.fullscreen.active,Ue.isFullscreen),$(Ue.isFullscreen),Ue.buttons&&Ue.buttons.fullscreen&&k(Ue.buttons.fullscreen,Ue.isFullscreen),A(Ue.container,Ue.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ue.isFullscreen&&n&&ve()}function he(e){if(O.boolean(e)||(e=!Ue.media.muted),k(Ue.buttons.mute,e),Ue.media.muted=e,0===Ue.media.volume&&ke(E.volume),s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed[Ue.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.muted?0:parseFloat(E.volume/E.volumeMax))}A(Ue.media,"volumechange")}}function ke(e){var t=E.volumeMax,n=E.volumeMin;if(O.undefined(e)&&(e=Ue.storage.volume),(null===e||isNaN(e))&&(e=E.volume),e>t&&(e=t),e<n&&(e=n),Ue.media.volume=parseFloat(e/t),Ue.volume.display&&(Ue.volume.display.value=e),s(E.types.embed,Ue.type)){switch(Ue.type){case"youtube":Ue.embed.setVolume(100*Ue.media.volume);break;case"vimeo":case"soundcloud":Ue.embed.setVolume(Ue.media.volume)}A(Ue.media,"volumechange")}0===e?Ue.media.muted=!0:Ue.media.muted&&e>0&&he()}function we(e){var t=Ue.media.muted?0:Ue.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t+e)}function xe(e){var t=Ue.media.muted?0:Ue.media.volume*E.volumeMax;O.number(e)||(e=E.volumeStep),ke(t-e)}function Te(){var e=Ue.media.muted?0:Ue.media.volume*E.volumeMax;Ue.supported.full&&(Ue.volume.input&&(Ue.volume.input.value=e),Ue.volume.display&&(Ue.volume.display.value=e)),te({volume:e}),m(Ue.container,E.classes.muted,0===e),Ue.supported.full&&Ue.buttons.mute&&k(Ue.buttons.mute,0===e)}function Se(e){Ue.supported.full&&Ue.buttons.captions&&(O.boolean(e)||(e=Ue.container.className.indexOf(E.classes.captions.active)===-1),Ue.captionsEnabled=e,k(Ue.buttons.captions,Ue.captionsEnabled),m(Ue.container,E.classes.captions.active,Ue.captionsEnabled),A(Ue.container,Ue.captionsEnabled?"captionsenabled":"captionsdisabled",!0),te({captionsEnabled:Ue.captionsEnabled}))}function _e(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){m(Ue.container,E.classes.loading,t),Me(t)},t?250:0)}function Ee(e){if(Ue.supported.full){var t=Ue.progress.played,n=0,r=fe();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ue.controls.pressed)return;n=w(Ue.media.currentTime,r),"timeupdate"===e.type&&Ue.buttons.seek&&(Ue.buttons.seek.value=n);break;case"playing":case"progress":t=Ue.progress.buffer,n=function(){var e=Ue.media.buffered;return e&&e.length?w(e.end(0),r):O.number(e)?100*e:0}()}Ce(t,n)}}function Ce(e,t){if(Ue.supported.full){if(O.undefined(t)&&(t=0),O.undefined(e)){if(!Ue.progress||!Ue.progress.buffer)return;e=Ue.progress.buffer}O.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Fe(e,t){if(t){isNaN(e)&&(e=0),Ue.secs=parseInt(e%60),Ue.mins=parseInt(e/60%60),Ue.hours=parseInt(e/60/60%60);var n=parseInt(fe()/60/60%60)>0;Ue.secs=("0"+Ue.secs).slice(-2),Ue.mins=("0"+Ue.mins).slice(-2),t.innerHTML=(n?Ue.hours+":":"")+Ue.mins+":"+Ue.secs}}function Ae(){if(Ue.supported.full){var e=fe()||0;!Ue.duration&&E.displayDuration&&Ue.media.paused&&Fe(e,Ue.currentTime),Ue.duration&&Fe(e,Ue.duration),Pe()}}function Ie(e){Fe(Ue.media.currentTime,Ue.currentTime),e&&"timeupdate"===e.type&&Ue.media.seeking||Ee(e)}function Ne(e){O.number(e)||(e=0);var t=fe(),n=w(e,t);Ue.progress&&Ue.progress.played&&(Ue.progress.played.value=n),Ue.buttons&&Ue.buttons.seek&&(Ue.buttons.seek.value=n)}function Pe(e){var t=fe();if(E.tooltips.seek&&Ue.progress.container&&0!==t){var n=Ue.progress.container.getBoundingClientRect(),r=0,a=E.classes.tooltip+"--visible";if(e)r=100/n.width*(e.pageX-n.left);else{if(!f(Ue.progress.tooltip,a))return;r=Ue.progress.tooltip.style.left.replace("%","")}r<0?r=0:r>100&&(r=100),Fe(t/100*r,Ue.progress.tooltip),Ue.progress.tooltip.style.left=r+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Ue.progress.tooltip,a,"mouseenter"===e.type)}}function Me(t){if(E.hideControls&&"audio"!==Ue.type){var n=0,r=!1,a=t,o=f(Ue.container,E.classes.loading);if(O.boolean(t)||(t&&t.type?(r="enterfullscreen"===t.type,a=s(["mousemove","touchstart","mouseenter","focus"],t.type),s(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):a=f(Ue.container,E.classes.hideControls)),e.clearTimeout(Xe.hover),a||Ue.media.paused||o){if(m(Ue.container,E.classes.hideControls,!1),Ue.media.paused||o)return;Ue.browser.isTouch&&(n=3e3)}a&&Ue.media.paused||(Xe.hover=e.setTimeout(function(){(!Ue.controls.pressed&&!Ue.controls.hover||r)&&m(Ue.container,E.classes.hideControls,!0)},n))}}function Oe(e){if(!O.undefined(e))return void Le(e);var t;switch(Ue.type){case"youtube":t=Ue.embed.getVideoUrl();break;case"vimeo":Ue.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ue.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ue.media.currentSrc}return t||""}function Le(e){function n(){if(Ue.embed=null,l(Ue.media),"video"===Ue.type&&Ue.videoContainer&&l(Ue.videoContainer),Ue.container&&Ue.container.removeAttribute("class"),"type"in e&&(Ue.type=e.type,"video"===Ue.type)){var n=e.sources[0];"type"in n&&s(E.types.embed,n.type)&&(Ue.type=n.type)}switch(Ue.supported=F(Ue.type),Ue.type){case"video":Ue.media=t.createElement("video");break;case"audio":Ue.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ue.media=t.createElement("div"),Ue.embedId=e.sources[0].src}u(Ue.container,Ue.media),O.boolean(e.autoplay)&&(E.autoplay=e.autoplay),s(E.types.html5,Ue.type)&&(E.crossorigin&&Ue.media.setAttribute("crossorigin",""),E.autoplay&&Ue.media.setAttribute("autoplay",""),"poster"in e&&Ue.media.setAttribute("poster",e.poster),E.loop&&Ue.media.setAttribute("loop","")),m(Ue.container,E.classes.fullscreen.active,Ue.isFullscreen),m(Ue.container,E.classes.captions.active,Ue.captionsEnabled),K(),s(E.types.html5,Ue.type)&&J("source",e.sources),ne(),s(E.types.html5,Ue.type)&&("tracks"in e&&J("track",e.tracks),Ue.media.load()),(s(E.types.html5,Ue.type)||s(E.types.embed,Ue.type)&&!Ue.supported.full)&&(We(),Ye()),E.title=e.title,Z()}return O.object(e)&&"sources"in e&&e.sources.length?(m(Ue.container,E.classes.ready,!1),ue(),Ne(),Ce(),qe(),void De(n,!1)):void ze("Invalid source format")}function je(e){"video"===Ue.type&&Ue.media.setAttribute("poster",e)}function Ve(){function n(){var e=ce(),t=Ue.buttons[e?"play":"pause"],n=Ue.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var r=f(t,E.classes.tabFocus);setTimeout(function(){n.focus(),r&&(m(t,E.classes.tabFocus,!1),m(n,E.classes.tabFocus,!0))},100)}}function r(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function a(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ue.buttons){var n=Ue.buttons[t];if(O.nodeList(n))for(var r=0;r<n.length;r++)m(n[r],E.classes.tabFocus,n[r]===e);else m(n,E.classes.tabFocus,n===e)}}function i(e){function t(){var e=Ue.media.duration;O.number(e)&&me(e/10*(n-48))}var n=a(e),r="keydown"===e.type,o=r&&n===u;if(O.number(n))if(r){var i=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67];switch(s(i,n)&&(e.preventDefault(),e.stopPropagation()),n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:o||t();break;case 32:case 75:o||ce();break;case 38:we();break;case 40:xe();break;case 77:o||he();break;case 39:pe();break;case 37:de();break;case 70:ge();break;case 67:o||Se()}!N.supportsFullScreen&&Ue.isFullscreen&&27===n&&ge(),u=n}else u=null}var l=Ue.browser.isIE?"change":"input";if(E.keyboardShorcuts.focused){var u=null;E.keyboardShorcuts.global&&g(e,"keydown keyup",function(e){var t=a(e),n=r(),o=[48,49,50,51,52,53,54,56,57,75,77,70,67],l=I().length;1!==l||!s(o,t)||O.htmlElement(n)&&y(n,E.selectors.editable)||i(e)}),g(Ue.container,"keydown keyup",i)}g(e,"keyup",function(e){var t=a(e),n=r();9===t&&o(n)}),g(t.body,"click",function(){m(U("."+E.classes.tabFocus),E.classes.tabFocus,!1)});for(var c in Ue.buttons){var d=Ue.buttons[c];g(d,"blur",function(){m(d,"tab-focus",!1);
-})}b(Ue.buttons.play,"click",E.listeners.play,n),b(Ue.buttons.pause,"click",E.listeners.pause,n),b(Ue.buttons.restart,"click",E.listeners.restart,me),b(Ue.buttons.rewind,"click",E.listeners.rewind,de),b(Ue.buttons.forward,"click",E.listeners.forward,pe),b(Ue.buttons.seek,l,E.listeners.seek,me),b(Ue.volume.input,l,E.listeners.volume,function(){ke(Ue.volume.input.value)}),b(Ue.buttons.mute,"click",E.listeners.mute,he),b(Ue.buttons.fullscreen,"click",E.listeners.fullscreen,ge),N.supportsFullScreen&&g(t,N.fullScreenEventName,ge),g(Ue.buttons.captions,"click",Se),g(Ue.progress.container,"mouseenter mouseleave mousemove",Pe),E.hideControls&&(g(Ue.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",Me),g(Ue.controls,"mouseenter mouseleave",function(e){Ue.controls.hover="mouseenter"===e.type}),g(Ue.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Ue.controls.pressed=s(["mousedown","touchstart"],e.type)}),g(Ue.controls,"focus blur",Me,!0)),g(Ue.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=E.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?xe(n):we(n)),(e.deltaY>0||e.deltaX<0)&&(t?we(n):xe(n))})}function Re(){if(g(Ue.media,"timeupdate seeking",Ie),g(Ue.media,"timeupdate",W),g(Ue.media,"durationchange loadedmetadata",Ae),g(Ue.media,"ended",function(){"video"===Ue.type&&E.showPosterOnEnd&&("video"===Ue.type&&H(),me(),Ue.media.load())}),g(Ue.media,"progress playing",Ee),g(Ue.media,"volumechange",Te),g(Ue.media,"play pause ended",ye),g(Ue.media,"waiting canplay seeked",_e),E.clickToPlay&&"audio"!==Ue.type){var e=U("."+E.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){E.hideControls&&Ue.browser.isTouch&&!Ue.media.paused||(Ue.media.paused?le():Ue.media.ended?(me(),le()):ue())})}E.disableContextMenu&&g(Ue.media,"contextmenu",function(e){e.preventDefault()}),g(Ue.media,E.events.concat(["keyup","keydown"]).join(" "),function(e){A(Ue.container,e.type,!0)})}function qe(){if(s(E.types.html5,Ue.type)){for(var e=Ue.media.querySelectorAll("source"),t=0;t<e.length;t++)l(e[t]);Ue.media.setAttribute("src","https://cdn.selz.com/plyr/blank.mp4"),Ue.media.load(),Je("Cancelled network requests")}}function De(n,r){function a(){clearTimeout(Xe.cleanUp),O.boolean(r)||(r=!0),O.function(n)&&n.call($e),r&&(Ue.init=!1,Ue.container.parentNode.replaceChild($e,Ue.container),t.body.style.overflow="",A($e,"destroyed",!0))}if(!Ue.init)return null;switch(Ue.type){case"youtube":e.clearInterval(Xe.buffering),e.clearInterval(Xe.playing),Ue.embed.destroy(),a();break;case"vimeo":Ue.embed.unload().then(a),Xe.cleanUp=e.setTimeout(a,200);break;case"video":case"audio":Q(!0),a()}}function He(){if(Ue.init)return null;if(N=_(),Ue.browser=n(),O.htmlElement(Ue.media)){ee();var e=v.tagName.toLowerCase();"div"===e?(Ue.type=v.getAttribute("data-type"),Ue.embedId=v.getAttribute("data-video-id"),v.removeAttribute("data-type"),v.removeAttribute("data-video-id")):(Ue.type=e,E.crossorigin=null!==v.getAttribute("crossorigin"),E.autoplay=E.autoplay||null!==v.getAttribute("autoplay"),E.loop=E.loop||null!==v.getAttribute("loop")),Ue.supported=F(Ue.type),Ue.supported.basic&&(Ue.container=i(v,t.createElement("div")),Ue.container.setAttribute("tabindex",0),K(),Je(""+Ue.browser.name+" "+Ue.browser.version),ne(),(s(E.types.html5,Ue.type)||s(E.types.embed,Ue.type)&&!Ue.supported.full)&&(We(),Ye(),Z()),Ue.init=!0)}}function We(){if(!Ue.supported.full)return ze("Basic support only",Ue.type),l(U(E.selectors.controls.wrapper)),l(U(E.selectors.buttons.play)),void Q(!0);var e=!B(E.selectors.controls.wrapper).length;e&&z(),G()&&(e&&Ve(),Re(),Q(),q(),D(),ke(),Te(),Ie(),ye())}function Ye(){e.setTimeout(function(){A(Ue.media,"ready")},0),m(Ue.media,M.classes.setup,!0),m(Ue.container,E.classes.ready,!0),Ue.media.plyr=Be,E.autoplay&&le()}var Be,Ue=this,Xe={};Ue.media=v;var $e=v.cloneNode(!0),Je=function(){j("log",arguments)},ze=function(){j("warn",arguments)};return Je("Config",E),Be={getOriginal:function(){return $e},getContainer:function(){return Ue.container},getEmbed:function(){return Ue.embed},getMedia:function(){return Ue.media},getType:function(){return Ue.type},getDuration:fe,getCurrentTime:function(){return Ue.media.currentTime},getVolume:function(){return Ue.media.volume},isMuted:function(){return Ue.media.muted},isReady:function(){return f(Ue.container,E.classes.ready)},isLoading:function(){return f(Ue.container,E.classes.loading)},isPaused:function(){return Ue.media.paused},on:function(e,t){return g(Ue.container,e,t),this},play:le,pause:ue,stop:function(){ue(),me()},restart:me,rewind:de,forward:pe,seek:me,source:Oe,poster:je,setVolume:ke,togglePlay:ce,toggleMute:he,toggleCaptions:Se,toggleFullscreen:ge,toggleControls:Me,isFullscreen:function(){return Ue.isFullscreen||!1},support:function(e){return r(Ue,e)},destroy:De},He(),Ue.init?Be:null}function C(e,n){var r=new XMLHttpRequest;if(!O.string(n)||!O.htmlElement(t.querySelector("#"+n))){var a=t.createElement("div");a.setAttribute("hidden",""),O.string(n)&&a.setAttribute("id",n),t.body.insertBefore(a,t.body.childNodes[0]),"withCredentials"in r&&(r.open("GET",e,!0),r.onload=function(){a.innerHTML=r.responseText},r.send())}}function F(e){var r=n(),a=r.isIE&&r.version<=9,s=r.isIos,o=r.isIphone,i=!!t.createElement("audio").canPlayType,l=!!t.createElement("video").canPlayType,u=!1,c=!1;switch(e){case"video":u=l,c=u&&!a&&!o;break;case"audio":u=i,c=u&&!a;break;case"vimeo":u=!0,c=!a&&!s;break;case"youtube":u=!0,c=!a&&!s,s&&!o&&r.version>=10&&(c=!0);break;case"soundcloud":u=!0,c=!a&&!o;break;default:u=i&&l,c=u&&!a}return{basic:u,full:c}}function A(e,n){function r(e,t){f(t,M.classes.hook)||a.push({target:e,media:t})}var a=[],s=[],o=[M.selectors.html5,M.selectors.embed].join(",");if(O.string(e)?e=t.querySelectorAll(e):O.htmlElement(e)?e=[e]:O.nodeList(e)||O.array(e)||O.string(e)||(O.undefined(n)&&O.object(e)&&(n=e),e=t.querySelectorAll(o)),O.nodeList(e)&&(e=Array.prototype.slice.call(e)),!F().basic||!e.length)return!1;for(var i=0;i<e.length;i++){var l=e[i],u=l.querySelectorAll(o);if(u.length)for(var c=0;c<u.length;c++)r(l,u[c]);else y(l,o)&&r(l,l)}return a.forEach(function(e){var t=e.target,r=e.media,a=!1;r===t&&(a=!0);var o={};try{o=JSON.parse(t.getAttribute("data-plyr"))}catch(e){}var i=x({},M,n,o);if(!i.enabled)return null;var l=new E(r,i);if(O.object(l)){if(i.debug){var u=i.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);g(l.getContainer(),u.join(" "),function(e){console.log([i.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}h(l.getContainer(),"setup",!0,{plyr:l}),s.push(l)}}),s}function I(e){if(O.string(e)?e=t.querySelector(e):O.undefined(e)&&(e=t.body),O.htmlElement(e)){var n=e.querySelectorAll("."+M.classes.setup),r=[];return Array.prototype.slice.call(n).forEach(function(e){O.object(e.plyr)&&r.push(e.plyr)}),r}return[]}var N,P={x:0,y:0},M={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.10/plyr.svg",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShorcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",active:"plyr--fullscreen-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied"],logPrefix:"[Plyr]"},O={object:function(e){return null!==e&&"object"==typeof e},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},boolean:function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},function:function(e){return null!==e&&"function"==typeof e},undefined:function(e){return null!==e&&"undefined"==typeof e}},L={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(e){return!1}return!1}()};return{setup:A,supported:F,loadSprite:C,get:I}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}();
\ No newline at end of file
diff --git a/server/target/classes/static/plyr/plyr.svg b/server/target/classes/static/plyr/plyr.svg
deleted file mode 100644
index aab6e3e..0000000
--- a/server/target/classes/static/plyr/plyr.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg"><symbol id="plyr-captions-off" viewBox="0 0 18 18"><path d="M1 1c-.6 0-1 .4-1 1v11c0 .6.4 1 1 1h4.6l2.7 2.7c.2.2.4.3.7.3.3 0 .5-.1.7-.3l2.7-2.7H17c.6 0 1-.4 1-1V2c0-.6-.4-1-1-1H1zm4.52 10.15c1.99 0 3.01-1.32 3.28-2.41l-1.29-.39c-.19.66-.78 1.45-1.99 1.45-1.14 0-2.2-.83-2.2-2.34 0-1.61 1.12-2.37 2.18-2.37 1.23 0 1.78.75 1.95 1.43l1.3-.41C8.47 4.96 7.46 3.76 5.5 3.76c-1.9 0-3.61 1.44-3.61 3.7 0 2.26 1.65 3.69 3.63 3.69zm7.57 0c1.99 0 3.01-1.32 3.28-2.41l-1.29-.39c-.19.66-.78 1.45-1.99 1.45-1.14 0-2.2-.83-2.2-2.34 0-1.61 1.12-2.37 2.18-2.37 1.23 0 1.78.75 1.95 1.43l1.3-.41c-.28-1.15-1.29-2.35-3.25-2.35-1.9 0-3.61 1.44-3.61 3.7 0 2.26 1.65 3.69 3.63 3.69z" fill-rule="evenodd" fill-opacity=".5"/></symbol><symbol id="plyr-captions-on" viewBox="0 0 18 18"><path d="M1 1c-.6 0-1 .4-1 1v11c0 .6.4 1 1 1h4.6l2.7 2.7c.2.2.4.3.7.3.3 0 .5-.1.7-.3l2.7-2.7H17c.6 0 1-.4 1-1V2c0-.6-.4-1-1-1H1zm4.52 10.15c1.99 0 3.01-1.32 3.28-2.41l-1.29-.39c-.19.66-.78 1.45-1.99 1.45-1.14 0-2.2-.83-2.2-2.34 0-1.61 1.12-2.37 2.18-2.37 1.23 0 1.78.75 1.95 1.43l1.3-.41C8.47 4.96 7.46 3.76 5.5 3.76c-1.9 0-3.61 1.44-3.61 3.7 0 2.26 1.65 3.69 3.63 3.69zm7.57 0c1.99 0 3.01-1.32 3.28-2.41l-1.29-.39c-.19.66-.78 1.45-1.99 1.45-1.14 0-2.2-.83-2.2-2.34 0-1.61 1.12-2.37 2.18-2.37 1.23 0 1.78.75 1.95 1.43l1.3-.41c-.28-1.15-1.29-2.35-3.25-2.35-1.9 0-3.61 1.44-3.61 3.7 0 2.26 1.65 3.69 3.63 3.69z" fill-rule="evenodd"/></symbol><symbol id="plyr-enter-fullscreen" viewBox="0 0 18 18"><path d="M10 3h3.6l-4 4L11 8.4l4-4V8h2V1h-7zM7 9.6l-4 4V10H1v7h7v-2H4.4l4-4z"/></symbol><symbol id="plyr-exit-fullscreen" viewBox="0 0 18 18"><path d="M1 12h3.6l-4 4L2 17.4l4-4V17h2v-7H1zM16 .6l-4 4V1h-2v7h7V6h-3.6l4-4z"/></symbol><symbol id="plyr-fast-forward" viewBox="0 0 18 18"><path d="M7.875 7.171L0 1v16l7.875-6.171V17L18 9 7.875 1z"/></symbol><symbol id="plyr-muted" viewBox="0 0 18 18"><path d="M12.4 12.5l2.1-2.1 2.1 2.1 1.4-1.4L15.9 9 18 6.9l-1.4-1.4-2.1 2.1-2.1-2.1L11 6.9 13.1 9 11 11.1zM3.786 6.008H.714C.286 6.008 0 6.31 0 6.76v4.512c0 .452.286.752.714.752h3.072l4.071 3.858c.5.3 1.143 0 1.143-.602V2.752c0-.601-.643-.977-1.143-.601L3.786 6.008z"/></symbol><symbol id="plyr-pause" viewBox="0 0 18 18"><path d="M6 1H3c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h3c.6 0 1-.4 1-1V2c0-.6-.4-1-1-1zM12 1c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h3c.6 0 1-.4 1-1V2c0-.6-.4-1-1-1h-3z"/></symbol><symbol id="plyr-play" viewBox="0 0 18 18"><path d="M15.562 8.1L3.87.225C3.052-.337 2 .225 2 1.125v15.75c0 .9 1.052 1.462 1.87.9L15.563 9.9c.584-.45.584-1.35 0-1.8z"/></symbol><symbol id="plyr-restart" viewBox="0 0 18 18"><path d="M9.7 1.2l.7 6.4 2.1-2.1c1.9 1.9 1.9 5.1 0 7-.9 1-2.2 1.5-3.5 1.5-1.3 0-2.6-.5-3.5-1.5-1.9-1.9-1.9-5.1 0-7 .6-.6 1.4-1.1 2.3-1.3l-.6-1.9C6 2.6 4.9 3.2 4 4.1 1.3 6.8 1.3 11.2 4 14c1.3 1.3 3.1 2 4.9 2 1.9 0 3.6-.7 4.9-2 2.7-2.7 2.7-7.1 0-9.9L16 1.9l-6.3-.7z"/></symbol><symbol id="plyr-rewind" viewBox="0 0 18 18"><path d="M10.125 1L0 9l10.125 8v-6.171L18 17V1l-7.875 6.171z"/></symbol><symbol id="plyr-volume" viewBox="0 0 18 18"><path d="M15.6 3.3c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4C15.4 5.9 16 7.4 16 9c0 1.6-.6 3.1-1.8 4.3-.4.4-.4 1 0 1.4.2.2.5.3.7.3.3 0 .5-.1.7-.3C17.1 13.2 18 11.2 18 9s-.9-4.2-2.4-5.7z"/><path d="M11.282 5.282a.909.909 0 0 0 0 1.316c.735.735.995 1.458.995 2.402 0 .936-.425 1.917-.995 2.487a.909.909 0 0 0 0 1.316c.145.145.636.262 1.018.156a.725.725 0 0 0 .298-.156C13.773 11.733 14.13 10.16 14.13 9c0-.17-.002-.34-.011-.51-.053-.992-.319-2.005-1.522-3.208a.909.909 0 0 0-1.316 0zM3.786 6.008H.714C.286 6.008 0 6.31 0 6.76v4.512c0 .452.286.752.714.752h3.072l4.071 3.858c.5.3 1.143 0 1.143-.602V2.752c0-.601-.643-.977-1.143-.601L3.786 6.008z"/></symbol></svg>
\ No newline at end of file
diff --git a/server/target/classes/static/pptx/bootstrap/css/bootstrap-responsive.css b/server/target/classes/static/pptx/bootstrap/css/bootstrap-responsive.css
deleted file mode 100644
index c0bba15..0000000
--- a/server/target/classes/static/pptx/bootstrap/css/bootstrap-responsive.css
+++ /dev/null
@@ -1,1109 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.2
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-.clearfix {
-  *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.clearfix:after {
-  clear: both;
-}
-
-.hide-text {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-.input-block-level {
-  display: block;
-  width: 100%;
-  min-height: 30px;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-@-ms-viewport {
-  width: device-width;
-}
-
-.hidden {
-  display: none;
-  visibility: hidden;
-}
-
-.visible-phone {
-  display: none !important;
-}
-
-.visible-tablet {
-  display: none !important;
-}
-
-.hidden-desktop {
-  display: none !important;
-}
-
-.visible-desktop {
-  display: inherit !important;
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
-  .hidden-desktop {
-    display: inherit !important;
-  }
-  .visible-desktop {
-    display: none !important ;
-  }
-  .visible-tablet {
-    display: inherit !important;
-  }
-  .hidden-tablet {
-    display: none !important;
-  }
-}
-
-@media (max-width: 767px) {
-  .hidden-desktop {
-    display: inherit !important;
-  }
-  .visible-desktop {
-    display: none !important;
-  }
-  .visible-phone {
-    display: inherit !important;
-  }
-  .hidden-phone {
-    display: none !important;
-  }
-}
-
-.visible-print {
-  display: none !important;
-}
-
-@media print {
-  .visible-print {
-    display: inherit !important;
-  }
-  .hidden-print {
-    display: none !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .row {
-    margin-left: -30px;
-    *zoom: 1;
-  }
-  .row:before,
-  .row:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row:after {
-    clear: both;
-  }
-  [class*="span"] {
-    float: left;
-    min-height: 1px;
-    margin-left: 30px;
-  }
-  .container,
-  .navbar-static-top .container,
-  .navbar-fixed-top .container,
-  .navbar-fixed-bottom .container {
-    width: 1170px;
-  }
-  .span12 {
-    width: 1170px;
-  }
-  .span11 {
-    width: 1070px;
-  }
-  .span10 {
-    width: 970px;
-  }
-  .span9 {
-    width: 870px;
-  }
-  .span8 {
-    width: 770px;
-  }
-  .span7 {
-    width: 670px;
-  }
-  .span6 {
-    width: 570px;
-  }
-  .span5 {
-    width: 470px;
-  }
-  .span4 {
-    width: 370px;
-  }
-  .span3 {
-    width: 270px;
-  }
-  .span2 {
-    width: 170px;
-  }
-  .span1 {
-    width: 70px;
-  }
-  .offset12 {
-    margin-left: 1230px;
-  }
-  .offset11 {
-    margin-left: 1130px;
-  }
-  .offset10 {
-    margin-left: 1030px;
-  }
-  .offset9 {
-    margin-left: 930px;
-  }
-  .offset8 {
-    margin-left: 830px;
-  }
-  .offset7 {
-    margin-left: 730px;
-  }
-  .offset6 {
-    margin-left: 630px;
-  }
-  .offset5 {
-    margin-left: 530px;
-  }
-  .offset4 {
-    margin-left: 430px;
-  }
-  .offset3 {
-    margin-left: 330px;
-  }
-  .offset2 {
-    margin-left: 230px;
-  }
-  .offset1 {
-    margin-left: 130px;
-  }
-  .row-fluid {
-    width: 100%;
-    *zoom: 1;
-  }
-  .row-fluid:before,
-  .row-fluid:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row-fluid:after {
-    clear: both;
-  }
-  .row-fluid [class*="span"] {
-    display: block;
-    float: left;
-    width: 100%;
-    min-height: 30px;
-    margin-left: 2.564102564102564%;
-    *margin-left: 2.5109110747408616%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .row-fluid [class*="span"]:first-child {
-    margin-left: 0;
-  }
-  .row-fluid .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 2.564102564102564%;
-  }
-  .row-fluid .span12 {
-    width: 100%;
-    *width: 99.94680851063829%;
-  }
-  .row-fluid .span11 {
-    width: 91.45299145299145%;
-    *width: 91.39979996362975%;
-  }
-  .row-fluid .span10 {
-    width: 82.90598290598291%;
-    *width: 82.8527914166212%;
-  }
-  .row-fluid .span9 {
-    width: 74.35897435897436%;
-    *width: 74.30578286961266%;
-  }
-  .row-fluid .span8 {
-    width: 65.81196581196582%;
-    *width: 65.75877432260411%;
-  }
-  .row-fluid .span7 {
-    width: 57.26495726495726%;
-    *width: 57.21176577559556%;
-  }
-  .row-fluid .span6 {
-    width: 48.717948717948715%;
-    *width: 48.664757228587014%;
-  }
-  .row-fluid .span5 {
-    width: 40.17094017094017%;
-    *width: 40.11774868157847%;
-  }
-  .row-fluid .span4 {
-    width: 31.623931623931625%;
-    *width: 31.570740134569924%;
-  }
-  .row-fluid .span3 {
-    width: 23.076923076923077%;
-    *width: 23.023731587561375%;
-  }
-  .row-fluid .span2 {
-    width: 14.52991452991453%;
-    *width: 14.476723040552828%;
-  }
-  .row-fluid .span1 {
-    width: 5.982905982905983%;
-    *width: 5.929714493544281%;
-  }
-  .row-fluid .offset12 {
-    margin-left: 105.12820512820512%;
-    *margin-left: 105.02182214948171%;
-  }
-  .row-fluid .offset12:first-child {
-    margin-left: 102.56410256410257%;
-    *margin-left: 102.45771958537915%;
-  }
-  .row-fluid .offset11 {
-    margin-left: 96.58119658119658%;
-    *margin-left: 96.47481360247316%;
-  }
-  .row-fluid .offset11:first-child {
-    margin-left: 94.01709401709402%;
-    *margin-left: 93.91071103837061%;
-  }
-  .row-fluid .offset10 {
-    margin-left: 88.03418803418803%;
-    *margin-left: 87.92780505546462%;
-  }
-  .row-fluid .offset10:first-child {
-    margin-left: 85.47008547008548%;
-    *margin-left: 85.36370249136206%;
-  }
-  .row-fluid .offset9 {
-    margin-left: 79.48717948717949%;
-    *margin-left: 79.38079650845607%;
-  }
-  .row-fluid .offset9:first-child {
-    margin-left: 76.92307692307693%;
-    *margin-left: 76.81669394435352%;
-  }
-  .row-fluid .offset8 {
-    margin-left: 70.94017094017094%;
-    *margin-left: 70.83378796144753%;
-  }
-  .row-fluid .offset8:first-child {
-    margin-left: 68.37606837606839%;
-    *margin-left: 68.26968539734497%;
-  }
-  .row-fluid .offset7 {
-    margin-left: 62.393162393162385%;
-    *margin-left: 62.28677941443899%;
-  }
-  .row-fluid .offset7:first-child {
-    margin-left: 59.82905982905982%;
-    *margin-left: 59.72267685033642%;
-  }
-  .row-fluid .offset6 {
-    margin-left: 53.84615384615384%;
-    *margin-left: 53.739770867430444%;
-  }
-  .row-fluid .offset6:first-child {
-    margin-left: 51.28205128205128%;
-    *margin-left: 51.175668303327875%;
-  }
-  .row-fluid .offset5 {
-    margin-left: 45.299145299145295%;
-    *margin-left: 45.1927623204219%;
-  }
-  .row-fluid .offset5:first-child {
-    margin-left: 42.73504273504273%;
-    *margin-left: 42.62865975631933%;
-  }
-  .row-fluid .offset4 {
-    margin-left: 36.75213675213675%;
-    *margin-left: 36.645753773413354%;
-  }
-  .row-fluid .offset4:first-child {
-    margin-left: 34.18803418803419%;
-    *margin-left: 34.081651209310785%;
-  }
-  .row-fluid .offset3 {
-    margin-left: 28.205128205128204%;
-    *margin-left: 28.0987452264048%;
-  }
-  .row-fluid .offset3:first-child {
-    margin-left: 25.641025641025642%;
-    *margin-left: 25.53464266230224%;
-  }
-  .row-fluid .offset2 {
-    margin-left: 19.65811965811966%;
-    *margin-left: 19.551736679396257%;
-  }
-  .row-fluid .offset2:first-child {
-    margin-left: 17.094017094017094%;
-    *margin-left: 16.98763411529369%;
-  }
-  .row-fluid .offset1 {
-    margin-left: 11.11111111111111%;
-    *margin-left: 11.004728132387708%;
-  }
-  .row-fluid .offset1:first-child {
-    margin-left: 8.547008547008547%;
-    *margin-left: 8.440625568285142%;
-  }
-  input,
-  textarea,
-  .uneditable-input {
-    margin-left: 0;
-  }
-  .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 30px;
-  }
-  input.span12,
-  textarea.span12,
-  .uneditable-input.span12 {
-    width: 1156px;
-  }
-  input.span11,
-  textarea.span11,
-  .uneditable-input.span11 {
-    width: 1056px;
-  }
-  input.span10,
-  textarea.span10,
-  .uneditable-input.span10 {
-    width: 956px;
-  }
-  input.span9,
-  textarea.span9,
-  .uneditable-input.span9 {
-    width: 856px;
-  }
-  input.span8,
-  textarea.span8,
-  .uneditable-input.span8 {
-    width: 756px;
-  }
-  input.span7,
-  textarea.span7,
-  .uneditable-input.span7 {
-    width: 656px;
-  }
-  input.span6,
-  textarea.span6,
-  .uneditable-input.span6 {
-    width: 556px;
-  }
-  input.span5,
-  textarea.span5,
-  .uneditable-input.span5 {
-    width: 456px;
-  }
-  input.span4,
-  textarea.span4,
-  .uneditable-input.span4 {
-    width: 356px;
-  }
-  input.span3,
-  textarea.span3,
-  .uneditable-input.span3 {
-    width: 256px;
-  }
-  input.span2,
-  textarea.span2,
-  .uneditable-input.span2 {
-    width: 156px;
-  }
-  input.span1,
-  textarea.span1,
-  .uneditable-input.span1 {
-    width: 56px;
-  }
-  .thumbnails {
-    margin-left: -30px;
-  }
-  .thumbnails > li {
-    margin-left: 30px;
-  }
-  .row-fluid .thumbnails {
-    margin-left: 0;
-  }
-}
-
-@media (min-width: 768px) and (max-width: 979px) {
-  .row {
-    margin-left: -20px;
-    *zoom: 1;
-  }
-  .row:before,
-  .row:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row:after {
-    clear: both;
-  }
-  [class*="span"] {
-    float: left;
-    min-height: 1px;
-    margin-left: 20px;
-  }
-  .container,
-  .navbar-static-top .container,
-  .navbar-fixed-top .container,
-  .navbar-fixed-bottom .container {
-    width: 724px;
-  }
-  .span12 {
-    width: 724px;
-  }
-  .span11 {
-    width: 662px;
-  }
-  .span10 {
-    width: 600px;
-  }
-  .span9 {
-    width: 538px;
-  }
-  .span8 {
-    width: 476px;
-  }
-  .span7 {
-    width: 414px;
-  }
-  .span6 {
-    width: 352px;
-  }
-  .span5 {
-    width: 290px;
-  }
-  .span4 {
-    width: 228px;
-  }
-  .span3 {
-    width: 166px;
-  }
-  .span2 {
-    width: 104px;
-  }
-  .span1 {
-    width: 42px;
-  }
-  .offset12 {
-    margin-left: 764px;
-  }
-  .offset11 {
-    margin-left: 702px;
-  }
-  .offset10 {
-    margin-left: 640px;
-  }
-  .offset9 {
-    margin-left: 578px;
-  }
-  .offset8 {
-    margin-left: 516px;
-  }
-  .offset7 {
-    margin-left: 454px;
-  }
-  .offset6 {
-    margin-left: 392px;
-  }
-  .offset5 {
-    margin-left: 330px;
-  }
-  .offset4 {
-    margin-left: 268px;
-  }
-  .offset3 {
-    margin-left: 206px;
-  }
-  .offset2 {
-    margin-left: 144px;
-  }
-  .offset1 {
-    margin-left: 82px;
-  }
-  .row-fluid {
-    width: 100%;
-    *zoom: 1;
-  }
-  .row-fluid:before,
-  .row-fluid:after {
-    display: table;
-    line-height: 0;
-    content: "";
-  }
-  .row-fluid:after {
-    clear: both;
-  }
-  .row-fluid [class*="span"] {
-    display: block;
-    float: left;
-    width: 100%;
-    min-height: 30px;
-    margin-left: 2.7624309392265194%;
-    *margin-left: 2.709239449864817%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .row-fluid [class*="span"]:first-child {
-    margin-left: 0;
-  }
-  .row-fluid .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 2.7624309392265194%;
-  }
-  .row-fluid .span12 {
-    width: 100%;
-    *width: 99.94680851063829%;
-  }
-  .row-fluid .span11 {
-    width: 91.43646408839778%;
-    *width: 91.38327259903608%;
-  }
-  .row-fluid .span10 {
-    width: 82.87292817679558%;
-    *width: 82.81973668743387%;
-  }
-  .row-fluid .span9 {
-    width: 74.30939226519337%;
-    *width: 74.25620077583166%;
-  }
-  .row-fluid .span8 {
-    width: 65.74585635359117%;
-    *width: 65.69266486422946%;
-  }
-  .row-fluid .span7 {
-    width: 57.18232044198895%;
-    *width: 57.12912895262725%;
-  }
-  .row-fluid .span6 {
-    width: 48.61878453038674%;
-    *width: 48.56559304102504%;
-  }
-  .row-fluid .span5 {
-    width: 40.05524861878453%;
-    *width: 40.00205712942283%;
-  }
-  .row-fluid .span4 {
-    width: 31.491712707182323%;
-    *width: 31.43852121782062%;
-  }
-  .row-fluid .span3 {
-    width: 22.92817679558011%;
-    *width: 22.87498530621841%;
-  }
-  .row-fluid .span2 {
-    width: 14.3646408839779%;
-    *width: 14.311449394616199%;
-  }
-  .row-fluid .span1 {
-    width: 5.801104972375691%;
-    *width: 5.747913483013988%;
-  }
-  .row-fluid .offset12 {
-    margin-left: 105.52486187845304%;
-    *margin-left: 105.41847889972962%;
-  }
-  .row-fluid .offset12:first-child {
-    margin-left: 102.76243093922652%;
-    *margin-left: 102.6560479605031%;
-  }
-  .row-fluid .offset11 {
-    margin-left: 96.96132596685082%;
-    *margin-left: 96.8549429881274%;
-  }
-  .row-fluid .offset11:first-child {
-    margin-left: 94.1988950276243%;
-    *margin-left: 94.09251204890089%;
-  }
-  .row-fluid .offset10 {
-    margin-left: 88.39779005524862%;
-    *margin-left: 88.2914070765252%;
-  }
-  .row-fluid .offset10:first-child {
-    margin-left: 85.6353591160221%;
-    *margin-left: 85.52897613729868%;
-  }
-  .row-fluid .offset9 {
-    margin-left: 79.8342541436464%;
-    *margin-left: 79.72787116492299%;
-  }
-  .row-fluid .offset9:first-child {
-    margin-left: 77.07182320441989%;
-    *margin-left: 76.96544022569647%;
-  }
-  .row-fluid .offset8 {
-    margin-left: 71.2707182320442%;
-    *margin-left: 71.16433525332079%;
-  }
-  .row-fluid .offset8:first-child {
-    margin-left: 68.50828729281768%;
-    *margin-left: 68.40190431409427%;
-  }
-  .row-fluid .offset7 {
-    margin-left: 62.70718232044199%;
-    *margin-left: 62.600799341718584%;
-  }
-  .row-fluid .offset7:first-child {
-    margin-left: 59.94475138121547%;
-    *margin-left: 59.838368402492065%;
-  }
-  .row-fluid .offset6 {
-    margin-left: 54.14364640883978%;
-    *margin-left: 54.037263430116376%;
-  }
-  .row-fluid .offset6:first-child {
-    margin-left: 51.38121546961326%;
-    *margin-left: 51.27483249088986%;
-  }
-  .row-fluid .offset5 {
-    margin-left: 45.58011049723757%;
-    *margin-left: 45.47372751851417%;
-  }
-  .row-fluid .offset5:first-child {
-    margin-left: 42.81767955801105%;
-    *margin-left: 42.71129657928765%;
-  }
-  .row-fluid .offset4 {
-    margin-left: 37.01657458563536%;
-    *margin-left: 36.91019160691196%;
-  }
-  .row-fluid .offset4:first-child {
-    margin-left: 34.25414364640884%;
-    *margin-left: 34.14776066768544%;
-  }
-  .row-fluid .offset3 {
-    margin-left: 28.45303867403315%;
-    *margin-left: 28.346655695309746%;
-  }
-  .row-fluid .offset3:first-child {
-    margin-left: 25.69060773480663%;
-    *margin-left: 25.584224756083227%;
-  }
-  .row-fluid .offset2 {
-    margin-left: 19.88950276243094%;
-    *margin-left: 19.783119783707537%;
-  }
-  .row-fluid .offset2:first-child {
-    margin-left: 17.12707182320442%;
-    *margin-left: 17.02068884448102%;
-  }
-  .row-fluid .offset1 {
-    margin-left: 11.32596685082873%;
-    *margin-left: 11.219583872105325%;
-  }
-  .row-fluid .offset1:first-child {
-    margin-left: 8.56353591160221%;
-    *margin-left: 8.457152932878806%;
-  }
-  input,
-  textarea,
-  .uneditable-input {
-    margin-left: 0;
-  }
-  .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 20px;
-  }
-  input.span12,
-  textarea.span12,
-  .uneditable-input.span12 {
-    width: 710px;
-  }
-  input.span11,
-  textarea.span11,
-  .uneditable-input.span11 {
-    width: 648px;
-  }
-  input.span10,
-  textarea.span10,
-  .uneditable-input.span10 {
-    width: 586px;
-  }
-  input.span9,
-  textarea.span9,
-  .uneditable-input.span9 {
-    width: 524px;
-  }
-  input.span8,
-  textarea.span8,
-  .uneditable-input.span8 {
-    width: 462px;
-  }
-  input.span7,
-  textarea.span7,
-  .uneditable-input.span7 {
-    width: 400px;
-  }
-  input.span6,
-  textarea.span6,
-  .uneditable-input.span6 {
-    width: 338px;
-  }
-  input.span5,
-  textarea.span5,
-  .uneditable-input.span5 {
-    width: 276px;
-  }
-  input.span4,
-  textarea.span4,
-  .uneditable-input.span4 {
-    width: 214px;
-  }
-  input.span3,
-  textarea.span3,
-  .uneditable-input.span3 {
-    width: 152px;
-  }
-  input.span2,
-  textarea.span2,
-  .uneditable-input.span2 {
-    width: 90px;
-  }
-  input.span1,
-  textarea.span1,
-  .uneditable-input.span1 {
-    width: 28px;
-  }
-}
-
-@media (max-width: 767px) {
-  body {
-    padding-right: 20px;
-    padding-left: 20px;
-  }
-  .navbar-fixed-top,
-  .navbar-fixed-bottom,
-  .navbar-static-top {
-    margin-right: -20px;
-    margin-left: -20px;
-  }
-  .container-fluid {
-    padding: 0;
-  }
-  .dl-horizontal dt {
-    float: none;
-    width: auto;
-    clear: none;
-    text-align: left;
-  }
-  .dl-horizontal dd {
-    margin-left: 0;
-  }
-  .container {
-    width: auto;
-  }
-  .row-fluid {
-    width: 100%;
-  }
-  .row,
-  .thumbnails {
-    margin-left: 0;
-  }
-  .thumbnails > li {
-    float: none;
-    margin-left: 0;
-  }
-  [class*="span"],
-  .uneditable-input[class*="span"],
-  .row-fluid [class*="span"] {
-    display: block;
-    float: none;
-    width: 100%;
-    margin-left: 0;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .span12,
-  .row-fluid .span12 {
-    width: 100%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .row-fluid [class*="offset"]:first-child {
-    margin-left: 0;
-  }
-  .input-large,
-  .input-xlarge,
-  .input-xxlarge,
-  input[class*="span"],
-  select[class*="span"],
-  textarea[class*="span"],
-  .uneditable-input {
-    display: block;
-    width: 100%;
-    min-height: 30px;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-  }
-  .input-prepend input,
-  .input-append input,
-  .input-prepend input[class*="span"],
-  .input-append input[class*="span"] {
-    display: inline-block;
-    width: auto;
-  }
-  .controls-row [class*="span"] + [class*="span"] {
-    margin-left: 0;
-  }
-  .modal {
-    position: fixed;
-    top: 20px;
-    right: 20px;
-    left: 20px;
-    width: auto;
-    margin: 0;
-  }
-  .modal.fade {
-    top: -100px;
-  }
-  .modal.fade.in {
-    top: 20px;
-  }
-}
-
-@media (max-width: 480px) {
-  .nav-collapse {
-    -webkit-transform: translate3d(0, 0, 0);
-  }
-  .page-header h1 small {
-    display: block;
-    line-height: 20px;
-  }
-  input[type="checkbox"],
-  input[type="radio"] {
-    border: 1px solid #ccc;
-  }
-  .form-horizontal .control-label {
-    float: none;
-    width: auto;
-    padding-top: 0;
-    text-align: left;
-  }
-  .form-horizontal .controls {
-    margin-left: 0;
-  }
-  .form-horizontal .control-list {
-    padding-top: 0;
-  }
-  .form-horizontal .form-actions {
-    padding-right: 10px;
-    padding-left: 10px;
-  }
-  .media .pull-left,
-  .media .pull-right {
-    display: block;
-    float: none;
-    margin-bottom: 10px;
-  }
-  .media-object {
-    margin-right: 0;
-    margin-left: 0;
-  }
-  .modal {
-    top: 10px;
-    right: 10px;
-    left: 10px;
-  }
-  .modal-header .close {
-    padding: 10px;
-    margin: -10px;
-  }
-  .carousel-caption {
-    position: static;
-  }
-}
-
-@media (max-width: 979px) {
-  body {
-    padding-top: 0;
-  }
-  .navbar-fixed-top,
-  .navbar-fixed-bottom {
-    position: static;
-  }
-  .navbar-fixed-top {
-    margin-bottom: 20px;
-  }
-  .navbar-fixed-bottom {
-    margin-top: 20px;
-  }
-  .navbar-fixed-top .navbar-inner,
-  .navbar-fixed-bottom .navbar-inner {
-    padding: 5px;
-  }
-  .navbar .container {
-    width: auto;
-    padding: 0;
-  }
-  .navbar .brand {
-    padding-right: 10px;
-    padding-left: 10px;
-    margin: 0 0 0 -5px;
-  }
-  .nav-collapse {
-    clear: both;
-  }
-  .nav-collapse .nav {
-    float: none;
-    margin: 0 0 10px;
-  }
-  .nav-collapse .nav > li {
-    float: none;
-  }
-  .nav-collapse .nav > li > a {
-    margin-bottom: 2px;
-  }
-  .nav-collapse .nav > .divider-vertical {
-    display: none;
-  }
-  .nav-collapse .nav .nav-header {
-    color: #777777;
-    text-shadow: none;
-  }
-  .nav-collapse .nav > li > a,
-  .nav-collapse .dropdown-menu a {
-    padding: 9px 15px;
-    font-weight: bold;
-    color: #777777;
-    -webkit-border-radius: 3px;
-       -moz-border-radius: 3px;
-            border-radius: 3px;
-  }
-  .nav-collapse .btn {
-    padding: 4px 10px 4px;
-    font-weight: normal;
-    -webkit-border-radius: 4px;
-       -moz-border-radius: 4px;
-            border-radius: 4px;
-  }
-  .nav-collapse .dropdown-menu li + li a {
-    margin-bottom: 2px;
-  }
-  .nav-collapse .nav > li > a:hover,
-  .nav-collapse .nav > li > a:focus,
-  .nav-collapse .dropdown-menu a:hover,
-  .nav-collapse .dropdown-menu a:focus {
-    background-color: #f2f2f2;
-  }
-  .navbar-inverse .nav-collapse .nav > li > a,
-  .navbar-inverse .nav-collapse .dropdown-menu a {
-    color: #999999;
-  }
-  .navbar-inverse .nav-collapse .nav > li > a:hover,
-  .navbar-inverse .nav-collapse .nav > li > a:focus,
-  .navbar-inverse .nav-collapse .dropdown-menu a:hover,
-  .navbar-inverse .nav-collapse .dropdown-menu a:focus {
-    background-color: #111111;
-  }
-  .nav-collapse.in .btn-group {
-    padding: 0;
-    margin-top: 5px;
-  }
-  .nav-collapse .dropdown-menu {
-    position: static;
-    top: auto;
-    left: auto;
-    display: none;
-    float: none;
-    max-width: none;
-    padding: 0;
-    margin: 0 15px;
-    background-color: transparent;
-    border: none;
-    -webkit-border-radius: 0;
-       -moz-border-radius: 0;
-            border-radius: 0;
-    -webkit-box-shadow: none;
-       -moz-box-shadow: none;
-            box-shadow: none;
-  }
-  .nav-collapse .open > .dropdown-menu {
-    display: block;
-  }
-  .nav-collapse .dropdown-menu:before,
-  .nav-collapse .dropdown-menu:after {
-    display: none;
-  }
-  .nav-collapse .dropdown-menu .divider {
-    display: none;
-  }
-  .nav-collapse .nav > li > .dropdown-menu:before,
-  .nav-collapse .nav > li > .dropdown-menu:after {
-    display: none;
-  }
-  .nav-collapse .navbar-form,
-  .nav-collapse .navbar-search {
-    float: none;
-    padding: 10px 15px;
-    margin: 10px 0;
-    border-top: 1px solid #f2f2f2;
-    border-bottom: 1px solid #f2f2f2;
-    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-       -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  }
-  .navbar-inverse .nav-collapse .navbar-form,
-  .navbar-inverse .nav-collapse .navbar-search {
-    border-top-color: #111111;
-    border-bottom-color: #111111;
-  }
-  .navbar .nav-collapse .nav.pull-right {
-    float: none;
-    margin-left: 0;
-  }
-  .nav-collapse,
-  .nav-collapse.collapse {
-    height: 0;
-    overflow: hidden;
-  }
-  .navbar .btn-navbar {
-    display: block;
-  }
-  .navbar-static .navbar-inner {
-    padding-right: 10px;
-    padding-left: 10px;
-  }
-}
-
-@media (min-width: 980px) {
-  .nav-collapse.collapse {
-    height: auto !important;
-    overflow: visible !important;
-  }
-}
diff --git a/server/target/classes/static/pptx/bootstrap/css/bootstrap-responsive.min.css b/server/target/classes/static/pptx/bootstrap/css/bootstrap-responsive.min.css
deleted file mode 100644
index 96a435b..0000000
--- a/server/target/classes/static/pptx/bootstrap/css/bootstrap-responsive.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap Responsive v2.3.2
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
diff --git a/server/target/classes/static/pptx/bootstrap/css/bootstrap.css b/server/target/classes/static/pptx/bootstrap/css/bootstrap.css
deleted file mode 100644
index 5b7fe7e..0000000
--- a/server/target/classes/static/pptx/bootstrap/css/bootstrap.css
+++ /dev/null
@@ -1,6167 +0,0 @@
-/*!
- * Bootstrap v2.3.2
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
-.clearfix {
-  *zoom: 1;
-}
-
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.clearfix:after {
-  clear: both;
-}
-
-.hide-text {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-.input-block-level {
-  display: block;
-  width: 100%;
-  min-height: 30px;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section {
-  display: block;
-}
-
-audio,
-canvas,
-video {
-  display: inline-block;
-  *display: inline;
-  *zoom: 1;
-}
-
-audio:not([controls]) {
-  display: none;
-}
-
-html {
-  font-size: 100%;
-  -webkit-text-size-adjust: 100%;
-      -ms-text-size-adjust: 100%;
-}
-
-a:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-
-a:hover,
-a:active {
-  outline: 0;
-}
-
-sub,
-sup {
-  position: relative;
-  font-size: 75%;
-  line-height: 0;
-  vertical-align: baseline;
-}
-
-sup {
-  top: -0.5em;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-img {
-  width: auto\9;
-  height: auto;
-  max-width: 100%;
-  vertical-align: middle;
-  border: 0;
-  -ms-interpolation-mode: bicubic;
-}
-
-#map_canvas img,
-.google-maps img {
-  max-width: none;
-}
-
-button,
-input,
-select,
-textarea {
-  margin: 0;
-  font-size: 100%;
-  vertical-align: middle;
-}
-
-button,
-input {
-  *overflow: visible;
-  line-height: normal;
-}
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
-  padding: 0;
-  border: 0;
-}
-
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
-  cursor: pointer;
-  -webkit-appearance: button;
-}
-
-label,
-select,
-button,
-input[type="button"],
-input[type="reset"],
-input[type="submit"],
-input[type="radio"],
-input[type="checkbox"] {
-  cursor: pointer;
-}
-
-input[type="search"] {
-  -webkit-box-sizing: content-box;
-     -moz-box-sizing: content-box;
-          box-sizing: content-box;
-  -webkit-appearance: textfield;
-}
-
-input[type="search"]::-webkit-search-decoration,
-input[type="search"]::-webkit-search-cancel-button {
-  -webkit-appearance: none;
-}
-
-textarea {
-  overflow: auto;
-  vertical-align: top;
-}
-
-@media print {
-  * {
-    color: #000 !important;
-    text-shadow: none !important;
-    background: transparent !important;
-    box-shadow: none !important;
-  }
-  a,
-  a:visited {
-    text-decoration: underline;
-  }
-  a[href]:after {
-    content: " (" attr(href) ")";
-  }
-  abbr[title]:after {
-    content: " (" attr(title) ")";
-  }
-  .ir a:after,
-  a[href^="javascript:"]:after,
-  a[href^="#"]:after {
-    content: "";
-  }
-  pre,
-  blockquote {
-    border: 1px solid #999;
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  img {
-    max-width: 100% !important;
-  }
-  @page  {
-    margin: 0.5cm;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-}
-
-body {
-  margin: 0;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 14px;
-  line-height: 20px;
-  color: #333333;
-  background-color: #ffffff;
-}
-
-a {
-  color: #0088cc;
-  text-decoration: none;
-}
-
-a:hover,
-a:focus {
-  color: #005580;
-  text-decoration: underline;
-}
-
-.img-rounded {
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.img-polaroid {
-  padding: 4px;
-  background-color: #fff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
-}
-
-.img-circle {
-  -webkit-border-radius: 500px;
-     -moz-border-radius: 500px;
-          border-radius: 500px;
-}
-
-.row {
-  margin-left: -20px;
-  *zoom: 1;
-}
-
-.row:before,
-.row:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.row:after {
-  clear: both;
-}
-
-[class*="span"] {
-  float: left;
-  min-height: 1px;
-  margin-left: 20px;
-}
-
-.container,
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container {
-  width: 940px;
-}
-
-.span12 {
-  width: 940px;
-}
-
-.span11 {
-  width: 860px;
-}
-
-.span10 {
-  width: 780px;
-}
-
-.span9 {
-  width: 700px;
-}
-
-.span8 {
-  width: 620px;
-}
-
-.span7 {
-  width: 540px;
-}
-
-.span6 {
-  width: 460px;
-}
-
-.span5 {
-  width: 380px;
-}
-
-.span4 {
-  width: 300px;
-}
-
-.span3 {
-  width: 220px;
-}
-
-.span2 {
-  width: 140px;
-}
-
-.span1 {
-  width: 60px;
-}
-
-.offset12 {
-  margin-left: 980px;
-}
-
-.offset11 {
-  margin-left: 900px;
-}
-
-.offset10 {
-  margin-left: 820px;
-}
-
-.offset9 {
-  margin-left: 740px;
-}
-
-.offset8 {
-  margin-left: 660px;
-}
-
-.offset7 {
-  margin-left: 580px;
-}
-
-.offset6 {
-  margin-left: 500px;
-}
-
-.offset5 {
-  margin-left: 420px;
-}
-
-.offset4 {
-  margin-left: 340px;
-}
-
-.offset3 {
-  margin-left: 260px;
-}
-
-.offset2 {
-  margin-left: 180px;
-}
-
-.offset1 {
-  margin-left: 100px;
-}
-
-.row-fluid {
-  width: 100%;
-  *zoom: 1;
-}
-
-.row-fluid:before,
-.row-fluid:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.row-fluid:after {
-  clear: both;
-}
-
-.row-fluid [class*="span"] {
-  display: block;
-  float: left;
-  width: 100%;
-  min-height: 30px;
-  margin-left: 2.127659574468085%;
-  *margin-left: 2.074468085106383%;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-.row-fluid [class*="span"]:first-child {
-  margin-left: 0;
-}
-
-.row-fluid .controls-row [class*="span"] + [class*="span"] {
-  margin-left: 2.127659574468085%;
-}
-
-.row-fluid .span12 {
-  width: 100%;
-  *width: 99.94680851063829%;
-}
-
-.row-fluid .span11 {
-  width: 91.48936170212765%;
-  *width: 91.43617021276594%;
-}
-
-.row-fluid .span10 {
-  width: 82.97872340425532%;
-  *width: 82.92553191489361%;
-}
-
-.row-fluid .span9 {
-  width: 74.46808510638297%;
-  *width: 74.41489361702126%;
-}
-
-.row-fluid .span8 {
-  width: 65.95744680851064%;
-  *width: 65.90425531914893%;
-}
-
-.row-fluid .span7 {
-  width: 57.44680851063829%;
-  *width: 57.39361702127659%;
-}
-
-.row-fluid .span6 {
-  width: 48.93617021276595%;
-  *width: 48.88297872340425%;
-}
-
-.row-fluid .span5 {
-  width: 40.42553191489362%;
-  *width: 40.37234042553192%;
-}
-
-.row-fluid .span4 {
-  width: 31.914893617021278%;
-  *width: 31.861702127659576%;
-}
-
-.row-fluid .span3 {
-  width: 23.404255319148934%;
-  *width: 23.351063829787233%;
-}
-
-.row-fluid .span2 {
-  width: 14.893617021276595%;
-  *width: 14.840425531914894%;
-}
-
-.row-fluid .span1 {
-  width: 6.382978723404255%;
-  *width: 6.329787234042553%;
-}
-
-.row-fluid .offset12 {
-  margin-left: 104.25531914893617%;
-  *margin-left: 104.14893617021275%;
-}
-
-.row-fluid .offset12:first-child {
-  margin-left: 102.12765957446808%;
-  *margin-left: 102.02127659574467%;
-}
-
-.row-fluid .offset11 {
-  margin-left: 95.74468085106382%;
-  *margin-left: 95.6382978723404%;
-}
-
-.row-fluid .offset11:first-child {
-  margin-left: 93.61702127659574%;
-  *margin-left: 93.51063829787232%;
-}
-
-.row-fluid .offset10 {
-  margin-left: 87.23404255319149%;
-  *margin-left: 87.12765957446807%;
-}
-
-.row-fluid .offset10:first-child {
-  margin-left: 85.1063829787234%;
-  *margin-left: 84.99999999999999%;
-}
-
-.row-fluid .offset9 {
-  margin-left: 78.72340425531914%;
-  *margin-left: 78.61702127659572%;
-}
-
-.row-fluid .offset9:first-child {
-  margin-left: 76.59574468085106%;
-  *margin-left: 76.48936170212764%;
-}
-
-.row-fluid .offset8 {
-  margin-left: 70.2127659574468%;
-  *margin-left: 70.10638297872339%;
-}
-
-.row-fluid .offset8:first-child {
-  margin-left: 68.08510638297872%;
-  *margin-left: 67.9787234042553%;
-}
-
-.row-fluid .offset7 {
-  margin-left: 61.70212765957446%;
-  *margin-left: 61.59574468085106%;
-}
-
-.row-fluid .offset7:first-child {
-  margin-left: 59.574468085106375%;
-  *margin-left: 59.46808510638297%;
-}
-
-.row-fluid .offset6 {
-  margin-left: 53.191489361702125%;
-  *margin-left: 53.085106382978715%;
-}
-
-.row-fluid .offset6:first-child {
-  margin-left: 51.063829787234035%;
-  *margin-left: 50.95744680851063%;
-}
-
-.row-fluid .offset5 {
-  margin-left: 44.68085106382979%;
-  *margin-left: 44.57446808510638%;
-}
-
-.row-fluid .offset5:first-child {
-  margin-left: 42.5531914893617%;
-  *margin-left: 42.4468085106383%;
-}
-
-.row-fluid .offset4 {
-  margin-left: 36.170212765957444%;
-  *margin-left: 36.06382978723405%;
-}
-
-.row-fluid .offset4:first-child {
-  margin-left: 34.04255319148936%;
-  *margin-left: 33.93617021276596%;
-}
-
-.row-fluid .offset3 {
-  margin-left: 27.659574468085104%;
-  *margin-left: 27.5531914893617%;
-}
-
-.row-fluid .offset3:first-child {
-  margin-left: 25.53191489361702%;
-  *margin-left: 25.425531914893618%;
-}
-
-.row-fluid .offset2 {
-  margin-left: 19.148936170212764%;
-  *margin-left: 19.04255319148936%;
-}
-
-.row-fluid .offset2:first-child {
-  margin-left: 17.02127659574468%;
-  *margin-left: 16.914893617021278%;
-}
-
-.row-fluid .offset1 {
-  margin-left: 10.638297872340425%;
-  *margin-left: 10.53191489361702%;
-}
-
-.row-fluid .offset1:first-child {
-  margin-left: 8.51063829787234%;
-  *margin-left: 8.404255319148938%;
-}
-
-[class*="span"].hide,
-.row-fluid [class*="span"].hide {
-  display: none;
-}
-
-[class*="span"].pull-right,
-.row-fluid [class*="span"].pull-right {
-  float: right;
-}
-
-.container {
-  margin-right: auto;
-  margin-left: auto;
-  *zoom: 1;
-}
-
-.container:before,
-.container:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.container:after {
-  clear: both;
-}
-
-.container-fluid {
-  padding-right: 20px;
-  padding-left: 20px;
-  *zoom: 1;
-}
-
-.container-fluid:before,
-.container-fluid:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.container-fluid:after {
-  clear: both;
-}
-
-p {
-  margin: 0 0 10px;
-}
-
-.lead {
-  margin-bottom: 20px;
-  font-size: 21px;
-  font-weight: 200;
-  line-height: 30px;
-}
-
-small {
-  font-size: 85%;
-}
-
-strong {
-  font-weight: bold;
-}
-
-em {
-  font-style: italic;
-}
-
-cite {
-  font-style: normal;
-}
-
-.muted {
-  color: #999999;
-}
-
-a.muted:hover,
-a.muted:focus {
-  color: #808080;
-}
-
-.text-warning {
-  color: #c09853;
-}
-
-a.text-warning:hover,
-a.text-warning:focus {
-  color: #a47e3c;
-}
-
-.text-error {
-  color: #b94a48;
-}
-
-a.text-error:hover,
-a.text-error:focus {
-  color: #953b39;
-}
-
-.text-info {
-  color: #3a87ad;
-}
-
-a.text-info:hover,
-a.text-info:focus {
-  color: #2d6987;
-}
-
-.text-success {
-  color: #468847;
-}
-
-a.text-success:hover,
-a.text-success:focus {
-  color: #356635;
-}
-
-.text-left {
-  text-align: left;
-}
-
-.text-right {
-  text-align: right;
-}
-
-.text-center {
-  text-align: center;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  margin: 10px 0;
-  font-family: inherit;
-  font-weight: bold;
-  line-height: 20px;
-  color: inherit;
-  text-rendering: optimizelegibility;
-}
-
-h1 small,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small {
-  font-weight: normal;
-  line-height: 1;
-  color: #999999;
-}
-
-h1,
-h2,
-h3 {
-  line-height: 40px;
-}
-
-h1 {
-  font-size: 38.5px;
-}
-
-h2 {
-  font-size: 31.5px;
-}
-
-h3 {
-  font-size: 24.5px;
-}
-
-h4 {
-  font-size: 17.5px;
-}
-
-h5 {
-  font-size: 14px;
-}
-
-h6 {
-  font-size: 11.9px;
-}
-
-h1 small {
-  font-size: 24.5px;
-}
-
-h2 small {
-  font-size: 17.5px;
-}
-
-h3 small {
-  font-size: 14px;
-}
-
-h4 small {
-  font-size: 14px;
-}
-
-.page-header {
-  padding-bottom: 9px;
-  margin: 20px 0 30px;
-  border-bottom: 1px solid #eeeeee;
-}
-
-ul,
-ol {
-  padding: 0;
-  margin: 0 0 10px 25px;
-}
-
-ul ul,
-ul ol,
-ol ol,
-ol ul {
-  margin-bottom: 0;
-}
-
-li {
-  line-height: 20px;
-}
-
-ul.unstyled,
-ol.unstyled {
-  margin-left: 0;
-  list-style: none;
-}
-
-ul.inline,
-ol.inline {
-  margin-left: 0;
-  list-style: none;
-}
-
-ul.inline > li,
-ol.inline > li {
-  display: inline-block;
-  *display: inline;
-  padding-right: 5px;
-  padding-left: 5px;
-  *zoom: 1;
-}
-
-dl {
-  margin-bottom: 20px;
-}
-
-dt,
-dd {
-  line-height: 20px;
-}
-
-dt {
-  font-weight: bold;
-}
-
-dd {
-  margin-left: 10px;
-}
-
-.dl-horizontal {
-  *zoom: 1;
-}
-
-.dl-horizontal:before,
-.dl-horizontal:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.dl-horizontal:after {
-  clear: both;
-}
-
-.dl-horizontal dt {
-  float: left;
-  width: 160px;
-  overflow: hidden;
-  clear: left;
-  text-align: right;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.dl-horizontal dd {
-  margin-left: 180px;
-}
-
-hr {
-  margin: 20px 0;
-  border: 0;
-  border-top: 1px solid #eeeeee;
-  border-bottom: 1px solid #ffffff;
-}
-
-abbr[title],
-abbr[data-original-title] {
-  cursor: help;
-  border-bottom: 1px dotted #999999;
-}
-
-abbr.initialism {
-  font-size: 90%;
-  text-transform: uppercase;
-}
-
-blockquote {
-  padding: 0 0 0 15px;
-  margin: 0 0 20px;
-  border-left: 5px solid #eeeeee;
-}
-
-blockquote p {
-  margin-bottom: 0;
-  font-size: 17.5px;
-  font-weight: 300;
-  line-height: 1.25;
-}
-
-blockquote small {
-  display: block;
-  line-height: 20px;
-  color: #999999;
-}
-
-blockquote small:before {
-  content: '\2014 \00A0';
-}
-
-blockquote.pull-right {
-  float: right;
-  padding-right: 15px;
-  padding-left: 0;
-  border-right: 5px solid #eeeeee;
-  border-left: 0;
-}
-
-blockquote.pull-right p,
-blockquote.pull-right small {
-  text-align: right;
-}
-
-blockquote.pull-right small:before {
-  content: '';
-}
-
-blockquote.pull-right small:after {
-  content: '\00A0 \2014';
-}
-
-q:before,
-q:after,
-blockquote:before,
-blockquote:after {
-  content: "";
-}
-
-address {
-  display: block;
-  margin-bottom: 20px;
-  font-style: normal;
-  line-height: 20px;
-}
-
-code,
-pre {
-  padding: 0 3px 2px;
-  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
-  font-size: 12px;
-  color: #333333;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-code {
-  padding: 2px 4px;
-  color: #d14;
-  white-space: nowrap;
-  background-color: #f7f7f9;
-  border: 1px solid #e1e1e8;
-}
-
-pre {
-  display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
-  font-size: 13px;
-  line-height: 20px;
-  word-break: break-all;
-  word-wrap: break-word;
-  white-space: pre;
-  white-space: pre-wrap;
-  background-color: #f5f5f5;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-pre.prettyprint {
-  margin-bottom: 20px;
-}
-
-pre code {
-  padding: 0;
-  color: inherit;
-  white-space: pre;
-  white-space: pre-wrap;
-  background-color: transparent;
-  border: 0;
-}
-
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-
-form {
-  margin: 0 0 20px;
-}
-
-fieldset {
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-legend {
-  display: block;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 20px;
-  font-size: 21px;
-  line-height: 40px;
-  color: #333333;
-  border: 0;
-  border-bottom: 1px solid #e5e5e5;
-}
-
-legend small {
-  font-size: 15px;
-  color: #999999;
-}
-
-label,
-input,
-button,
-select,
-textarea {
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 20px;
-}
-
-input,
-button,
-select,
-textarea {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-
-label {
-  display: block;
-  margin-bottom: 5px;
-}
-
-select,
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
-  display: inline-block;
-  height: 20px;
-  padding: 4px 6px;
-  margin-bottom: 10px;
-  font-size: 14px;
-  line-height: 20px;
-  color: #555555;
-  vertical-align: middle;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-input,
-textarea,
-.uneditable-input {
-  width: 206px;
-}
-
-textarea {
-  height: auto;
-}
-
-textarea,
-input[type="text"],
-input[type="password"],
-input[type="datetime"],
-input[type="datetime-local"],
-input[type="date"],
-input[type="month"],
-input[type="time"],
-input[type="week"],
-input[type="number"],
-input[type="email"],
-input[type="url"],
-input[type="search"],
-input[type="tel"],
-input[type="color"],
-.uneditable-input {
-  background-color: #ffffff;
-  border: 1px solid #cccccc;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
-     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
-       -o-transition: border linear 0.2s, box-shadow linear 0.2s;
-          transition: border linear 0.2s, box-shadow linear 0.2s;
-}
-
-textarea:focus,
-input[type="text"]:focus,
-input[type="password"]:focus,
-input[type="datetime"]:focus,
-input[type="datetime-local"]:focus,
-input[type="date"]:focus,
-input[type="month"]:focus,
-input[type="time"]:focus,
-input[type="week"]:focus,
-input[type="number"]:focus,
-input[type="email"]:focus,
-input[type="url"]:focus,
-input[type="search"]:focus,
-input[type="tel"]:focus,
-input[type="color"]:focus,
-.uneditable-input:focus {
-  border-color: rgba(82, 168, 236, 0.8);
-  outline: 0;
-  outline: thin dotted \9;
-  /* IE6-9 */
-
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-}
-
-input[type="radio"],
-input[type="checkbox"] {
-  margin: 4px 0 0;
-  margin-top: 1px \9;
-  *margin-top: 0;
-  line-height: normal;
-}
-
-input[type="file"],
-input[type="image"],
-input[type="submit"],
-input[type="reset"],
-input[type="button"],
-input[type="radio"],
-input[type="checkbox"] {
-  width: auto;
-}
-
-select,
-input[type="file"] {
-  height: 30px;
-  /* In IE7, the height of the select element cannot be changed by height, only font-size */
-
-  *margin-top: 4px;
-  /* For IE7, add top margin to align select with labels */
-
-  line-height: 30px;
-}
-
-select {
-  width: 220px;
-  background-color: #ffffff;
-  border: 1px solid #cccccc;
-}
-
-select[multiple],
-select[size] {
-  height: auto;
-}
-
-select:focus,
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-
-.uneditable-input,
-.uneditable-textarea {
-  color: #999999;
-  cursor: not-allowed;
-  background-color: #fcfcfc;
-  border-color: #cccccc;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-}
-
-.uneditable-input {
-  overflow: hidden;
-  white-space: nowrap;
-}
-
-.uneditable-textarea {
-  width: auto;
-  height: auto;
-}
-
-input:-moz-placeholder,
-textarea:-moz-placeholder {
-  color: #999999;
-}
-
-input:-ms-input-placeholder,
-textarea:-ms-input-placeholder {
-  color: #999999;
-}
-
-input::-webkit-input-placeholder,
-textarea::-webkit-input-placeholder {
-  color: #999999;
-}
-
-.radio,
-.checkbox {
-  min-height: 20px;
-  padding-left: 20px;
-}
-
-.radio input[type="radio"],
-.checkbox input[type="checkbox"] {
-  float: left;
-  margin-left: -20px;
-}
-
-.controls > .radio:first-child,
-.controls > .checkbox:first-child {
-  padding-top: 5px;
-}
-
-.radio.inline,
-.checkbox.inline {
-  display: inline-block;
-  padding-top: 5px;
-  margin-bottom: 0;
-  vertical-align: middle;
-}
-
-.radio.inline + .radio.inline,
-.checkbox.inline + .checkbox.inline {
-  margin-left: 10px;
-}
-
-.input-mini {
-  width: 60px;
-}
-
-.input-small {
-  width: 90px;
-}
-
-.input-medium {
-  width: 150px;
-}
-
-.input-large {
-  width: 210px;
-}
-
-.input-xlarge {
-  width: 270px;
-}
-
-.input-xxlarge {
-  width: 530px;
-}
-
-input[class*="span"],
-select[class*="span"],
-textarea[class*="span"],
-.uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"] {
-  float: none;
-  margin-left: 0;
-}
-
-.input-append input[class*="span"],
-.input-append .uneditable-input[class*="span"],
-.input-prepend input[class*="span"],
-.input-prepend .uneditable-input[class*="span"],
-.row-fluid input[class*="span"],
-.row-fluid select[class*="span"],
-.row-fluid textarea[class*="span"],
-.row-fluid .uneditable-input[class*="span"],
-.row-fluid .input-prepend [class*="span"],
-.row-fluid .input-append [class*="span"] {
-  display: inline-block;
-}
-
-input,
-textarea,
-.uneditable-input {
-  margin-left: 0;
-}
-
-.controls-row [class*="span"] + [class*="span"] {
-  margin-left: 20px;
-}
-
-input.span12,
-textarea.span12,
-.uneditable-input.span12 {
-  width: 926px;
-}
-
-input.span11,
-textarea.span11,
-.uneditable-input.span11 {
-  width: 846px;
-}
-
-input.span10,
-textarea.span10,
-.uneditable-input.span10 {
-  width: 766px;
-}
-
-input.span9,
-textarea.span9,
-.uneditable-input.span9 {
-  width: 686px;
-}
-
-input.span8,
-textarea.span8,
-.uneditable-input.span8 {
-  width: 606px;
-}
-
-input.span7,
-textarea.span7,
-.uneditable-input.span7 {
-  width: 526px;
-}
-
-input.span6,
-textarea.span6,
-.uneditable-input.span6 {
-  width: 446px;
-}
-
-input.span5,
-textarea.span5,
-.uneditable-input.span5 {
-  width: 366px;
-}
-
-input.span4,
-textarea.span4,
-.uneditable-input.span4 {
-  width: 286px;
-}
-
-input.span3,
-textarea.span3,
-.uneditable-input.span3 {
-  width: 206px;
-}
-
-input.span2,
-textarea.span2,
-.uneditable-input.span2 {
-  width: 126px;
-}
-
-input.span1,
-textarea.span1,
-.uneditable-input.span1 {
-  width: 46px;
-}
-
-.controls-row {
-  *zoom: 1;
-}
-
-.controls-row:before,
-.controls-row:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.controls-row:after {
-  clear: both;
-}
-
-.controls-row [class*="span"],
-.row-fluid .controls-row [class*="span"] {
-  float: left;
-}
-
-.controls-row .checkbox[class*="span"],
-.controls-row .radio[class*="span"] {
-  padding-top: 5px;
-}
-
-input[disabled],
-select[disabled],
-textarea[disabled],
-input[readonly],
-select[readonly],
-textarea[readonly] {
-  cursor: not-allowed;
-  background-color: #eeeeee;
-}
-
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"][readonly],
-input[type="checkbox"][readonly] {
-  background-color: transparent;
-}
-
-.control-group.warning .control-label,
-.control-group.warning .help-block,
-.control-group.warning .help-inline {
-  color: #c09853;
-}
-
-.control-group.warning .checkbox,
-.control-group.warning .radio,
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
-  color: #c09853;
-}
-
-.control-group.warning input,
-.control-group.warning select,
-.control-group.warning textarea {
-  border-color: #c09853;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.warning input:focus,
-.control-group.warning select:focus,
-.control-group.warning textarea:focus {
-  border-color: #a47e3c;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
-}
-
-.control-group.warning .input-prepend .add-on,
-.control-group.warning .input-append .add-on {
-  color: #c09853;
-  background-color: #fcf8e3;
-  border-color: #c09853;
-}
-
-.control-group.error .control-label,
-.control-group.error .help-block,
-.control-group.error .help-inline {
-  color: #b94a48;
-}
-
-.control-group.error .checkbox,
-.control-group.error .radio,
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
-  color: #b94a48;
-}
-
-.control-group.error input,
-.control-group.error select,
-.control-group.error textarea {
-  border-color: #b94a48;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.error input:focus,
-.control-group.error select:focus,
-.control-group.error textarea:focus {
-  border-color: #953b39;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
-}
-
-.control-group.error .input-prepend .add-on,
-.control-group.error .input-append .add-on {
-  color: #b94a48;
-  background-color: #f2dede;
-  border-color: #b94a48;
-}
-
-.control-group.success .control-label,
-.control-group.success .help-block,
-.control-group.success .help-inline {
-  color: #468847;
-}
-
-.control-group.success .checkbox,
-.control-group.success .radio,
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
-  color: #468847;
-}
-
-.control-group.success input,
-.control-group.success select,
-.control-group.success textarea {
-  border-color: #468847;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.success input:focus,
-.control-group.success select:focus,
-.control-group.success textarea:focus {
-  border-color: #356635;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
-}
-
-.control-group.success .input-prepend .add-on,
-.control-group.success .input-append .add-on {
-  color: #468847;
-  background-color: #dff0d8;
-  border-color: #468847;
-}
-
-.control-group.info .control-label,
-.control-group.info .help-block,
-.control-group.info .help-inline {
-  color: #3a87ad;
-}
-
-.control-group.info .checkbox,
-.control-group.info .radio,
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
-  color: #3a87ad;
-}
-
-.control-group.info input,
-.control-group.info select,
-.control-group.info textarea {
-  border-color: #3a87ad;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-
-.control-group.info input:focus,
-.control-group.info select:focus,
-.control-group.info textarea:focus {
-  border-color: #2d6987;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
-}
-
-.control-group.info .input-prepend .add-on,
-.control-group.info .input-append .add-on {
-  color: #3a87ad;
-  background-color: #d9edf7;
-  border-color: #3a87ad;
-}
-
-input:focus:invalid,
-textarea:focus:invalid,
-select:focus:invalid {
-  color: #b94a48;
-  border-color: #ee5f5b;
-}
-
-input:focus:invalid:focus,
-textarea:focus:invalid:focus,
-select:focus:invalid:focus {
-  border-color: #e9322d;
-  -webkit-box-shadow: 0 0 6px #f8b9b7;
-     -moz-box-shadow: 0 0 6px #f8b9b7;
-          box-shadow: 0 0 6px #f8b9b7;
-}
-
-.form-actions {
-  padding: 19px 20px 20px;
-  margin-top: 20px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border-top: 1px solid #e5e5e5;
-  *zoom: 1;
-}
-
-.form-actions:before,
-.form-actions:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.form-actions:after {
-  clear: both;
-}
-
-.help-block,
-.help-inline {
-  color: #595959;
-}
-
-.help-block {
-  display: block;
-  margin-bottom: 10px;
-}
-
-.help-inline {
-  display: inline-block;
-  *display: inline;
-  padding-left: 5px;
-  vertical-align: middle;
-  *zoom: 1;
-}
-
-.input-append,
-.input-prepend {
-  display: inline-block;
-  margin-bottom: 10px;
-  font-size: 0;
-  white-space: nowrap;
-  vertical-align: middle;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input,
-.input-append .dropdown-menu,
-.input-prepend .dropdown-menu,
-.input-append .popover,
-.input-prepend .popover {
-  font-size: 14px;
-}
-
-.input-append input,
-.input-prepend input,
-.input-append select,
-.input-prepend select,
-.input-append .uneditable-input,
-.input-prepend .uneditable-input {
-  position: relative;
-  margin-bottom: 0;
-  *margin-left: 0;
-  vertical-align: top;
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-append input:focus,
-.input-prepend input:focus,
-.input-append select:focus,
-.input-prepend select:focus,
-.input-append .uneditable-input:focus,
-.input-prepend .uneditable-input:focus {
-  z-index: 2;
-}
-
-.input-append .add-on,
-.input-prepend .add-on {
-  display: inline-block;
-  width: auto;
-  height: 20px;
-  min-width: 16px;
-  padding: 4px 5px;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 20px;
-  text-align: center;
-  text-shadow: 0 1px 0 #ffffff;
-  background-color: #eeeeee;
-  border: 1px solid #ccc;
-}
-
-.input-append .add-on,
-.input-prepend .add-on,
-.input-append .btn,
-.input-prepend .btn,
-.input-append .btn-group > .dropdown-toggle,
-.input-prepend .btn-group > .dropdown-toggle {
-  vertical-align: top;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.input-append .active,
-.input-prepend .active {
-  background-color: #a9dba9;
-  border-color: #46a546;
-}
-
-.input-prepend .add-on,
-.input-prepend .btn {
-  margin-right: -1px;
-}
-
-.input-prepend .add-on:first-child,
-.input-prepend .btn:first-child {
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.input-append input,
-.input-append select,
-.input-append .uneditable-input {
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.input-append input + .btn-group .btn:last-child,
-.input-append select + .btn-group .btn:last-child,
-.input-append .uneditable-input + .btn-group .btn:last-child {
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-append .add-on,
-.input-append .btn,
-.input-append .btn-group {
-  margin-left: -1px;
-}
-
-.input-append .add-on:last-child,
-.input-append .btn:last-child,
-.input-append .btn-group:last-child > .dropdown-toggle {
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append input,
-.input-prepend.input-append select,
-.input-prepend.input-append .uneditable-input {
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.input-prepend.input-append input + .btn-group .btn,
-.input-prepend.input-append select + .btn-group .btn,
-.input-prepend.input-append .uneditable-input + .btn-group .btn {
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .add-on:first-child,
-.input-prepend.input-append .btn:first-child {
-  margin-right: -1px;
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.input-prepend.input-append .add-on:last-child,
-.input-prepend.input-append .btn:last-child {
-  margin-left: -1px;
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.input-prepend.input-append .btn-group:first-child {
-  margin-left: 0;
-}
-
-input.search-query {
-  padding-right: 14px;
-  padding-right: 4px \9;
-  padding-left: 14px;
-  padding-left: 4px \9;
-  /* IE7-8 doesn't have border-radius, so don't indent the padding */
-
-  margin-bottom: 0;
-  -webkit-border-radius: 15px;
-     -moz-border-radius: 15px;
-          border-radius: 15px;
-}
-
-/* Allow for input prepend/append in search forms */
-
-.form-search .input-append .search-query,
-.form-search .input-prepend .search-query {
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.form-search .input-append .search-query {
-  -webkit-border-radius: 14px 0 0 14px;
-     -moz-border-radius: 14px 0 0 14px;
-          border-radius: 14px 0 0 14px;
-}
-
-.form-search .input-append .btn {
-  -webkit-border-radius: 0 14px 14px 0;
-     -moz-border-radius: 0 14px 14px 0;
-          border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .search-query {
-  -webkit-border-radius: 0 14px 14px 0;
-     -moz-border-radius: 0 14px 14px 0;
-          border-radius: 0 14px 14px 0;
-}
-
-.form-search .input-prepend .btn {
-  -webkit-border-radius: 14px 0 0 14px;
-     -moz-border-radius: 14px 0 0 14px;
-          border-radius: 14px 0 0 14px;
-}
-
-.form-search input,
-.form-inline input,
-.form-horizontal input,
-.form-search textarea,
-.form-inline textarea,
-.form-horizontal textarea,
-.form-search select,
-.form-inline select,
-.form-horizontal select,
-.form-search .help-inline,
-.form-inline .help-inline,
-.form-horizontal .help-inline,
-.form-search .uneditable-input,
-.form-inline .uneditable-input,
-.form-horizontal .uneditable-input,
-.form-search .input-prepend,
-.form-inline .input-prepend,
-.form-horizontal .input-prepend,
-.form-search .input-append,
-.form-inline .input-append,
-.form-horizontal .input-append {
-  display: inline-block;
-  *display: inline;
-  margin-bottom: 0;
-  vertical-align: middle;
-  *zoom: 1;
-}
-
-.form-search .hide,
-.form-inline .hide,
-.form-horizontal .hide {
-  display: none;
-}
-
-.form-search label,
-.form-inline label,
-.form-search .btn-group,
-.form-inline .btn-group {
-  display: inline-block;
-}
-
-.form-search .input-append,
-.form-inline .input-append,
-.form-search .input-prepend,
-.form-inline .input-prepend {
-  margin-bottom: 0;
-}
-
-.form-search .radio,
-.form-search .checkbox,
-.form-inline .radio,
-.form-inline .checkbox {
-  padding-left: 0;
-  margin-bottom: 0;
-  vertical-align: middle;
-}
-
-.form-search .radio input[type="radio"],
-.form-search .checkbox input[type="checkbox"],
-.form-inline .radio input[type="radio"],
-.form-inline .checkbox input[type="checkbox"] {
-  float: left;
-  margin-right: 3px;
-  margin-left: 0;
-}
-
-.control-group {
-  margin-bottom: 10px;
-}
-
-legend + .control-group {
-  margin-top: 20px;
-  -webkit-margin-top-collapse: separate;
-}
-
-.form-horizontal .control-group {
-  margin-bottom: 20px;
-  *zoom: 1;
-}
-
-.form-horizontal .control-group:before,
-.form-horizontal .control-group:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.form-horizontal .control-group:after {
-  clear: both;
-}
-
-.form-horizontal .control-label {
-  float: left;
-  width: 160px;
-  padding-top: 5px;
-  text-align: right;
-}
-
-.form-horizontal .controls {
-  *display: inline-block;
-  *padding-left: 20px;
-  margin-left: 180px;
-  *margin-left: 0;
-}
-
-.form-horizontal .controls:first-child {
-  *padding-left: 180px;
-}
-
-.form-horizontal .help-block {
-  margin-bottom: 0;
-}
-
-.form-horizontal input + .help-block,
-.form-horizontal select + .help-block,
-.form-horizontal textarea + .help-block,
-.form-horizontal .uneditable-input + .help-block,
-.form-horizontal .input-prepend + .help-block,
-.form-horizontal .input-append + .help-block {
-  margin-top: 10px;
-}
-
-.form-horizontal .form-actions {
-  padding-left: 180px;
-}
-
-table {
-  max-width: 100%;
-  background-color: transparent;
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-.table {
-  width: 100%;
-  margin-bottom: 20px;
-}
-
-.table th,
-.table td {
-  padding: 8px;
-  line-height: 20px;
-  text-align: left;
-  vertical-align: top;
-  border-top: 1px solid #dddddd;
-}
-
-.table th {
-  font-weight: bold;
-}
-
-.table thead th {
-  vertical-align: bottom;
-}
-
-.table caption + thead tr:first-child th,
-.table caption + thead tr:first-child td,
-.table colgroup + thead tr:first-child th,
-.table colgroup + thead tr:first-child td,
-.table thead:first-child tr:first-child th,
-.table thead:first-child tr:first-child td {
-  border-top: 0;
-}
-
-.table tbody + tbody {
-  border-top: 2px solid #dddddd;
-}
-
-.table .table {
-  background-color: #ffffff;
-}
-
-.table-condensed th,
-.table-condensed td {
-  padding: 4px 5px;
-}
-
-.table-bordered {
-  border: 1px solid #dddddd;
-  border-collapse: separate;
-  *border-collapse: collapse;
-  border-left: 0;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.table-bordered th,
-.table-bordered td {
-  border-left: 1px solid #dddddd;
-}
-
-.table-bordered caption + thead tr:first-child th,
-.table-bordered caption + tbody tr:first-child th,
-.table-bordered caption + tbody tr:first-child td,
-.table-bordered colgroup + thead tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child th,
-.table-bordered colgroup + tbody tr:first-child td,
-.table-bordered thead:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child th,
-.table-bordered tbody:first-child tr:first-child td {
-  border-top: 0;
-}
-
-.table-bordered thead:first-child tr:first-child > th:first-child,
-.table-bordered tbody:first-child tr:first-child > td:first-child,
-.table-bordered tbody:first-child tr:first-child > th:first-child {
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered thead:first-child tr:first-child > th:last-child,
-.table-bordered tbody:first-child tr:first-child > td:last-child,
-.table-bordered tbody:first-child tr:first-child > th:last-child {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:first-child,
-.table-bordered tbody:last-child tr:last-child > td:first-child,
-.table-bordered tbody:last-child tr:last-child > th:first-child,
-.table-bordered tfoot:last-child tr:last-child > td:first-child,
-.table-bordered tfoot:last-child tr:last-child > th:first-child {
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -moz-border-radius-bottomleft: 4px;
-}
-
-.table-bordered thead:last-child tr:last-child > th:last-child,
-.table-bordered tbody:last-child tr:last-child > td:last-child,
-.table-bordered tbody:last-child tr:last-child > th:last-child,
-.table-bordered tfoot:last-child tr:last-child > td:last-child,
-.table-bordered tfoot:last-child tr:last-child > th:last-child {
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -moz-border-radius-bottomright: 4px;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
-  -webkit-border-bottom-left-radius: 0;
-          border-bottom-left-radius: 0;
-  -moz-border-radius-bottomleft: 0;
-}
-
-.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
-  -webkit-border-bottom-right-radius: 0;
-          border-bottom-right-radius: 0;
-  -moz-border-radius-bottomright: 0;
-}
-
-.table-bordered caption + thead tr:first-child th:first-child,
-.table-bordered caption + tbody tr:first-child td:first-child,
-.table-bordered colgroup + thead tr:first-child th:first-child,
-.table-bordered colgroup + tbody tr:first-child td:first-child {
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.table-bordered caption + thead tr:first-child th:last-child,
-.table-bordered caption + tbody tr:first-child td:last-child,
-.table-bordered colgroup + thead tr:first-child th:last-child,
-.table-bordered colgroup + tbody tr:first-child td:last-child {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-}
-
-.table-striped tbody > tr:nth-child(odd) > td,
-.table-striped tbody > tr:nth-child(odd) > th {
-  background-color: #f9f9f9;
-}
-
-.table-hover tbody tr:hover > td,
-.table-hover tbody tr:hover > th {
-  background-color: #f5f5f5;
-}
-
-table td[class*="span"],
-table th[class*="span"],
-.row-fluid table td[class*="span"],
-.row-fluid table th[class*="span"] {
-  display: table-cell;
-  float: none;
-  margin-left: 0;
-}
-
-.table td.span1,
-.table th.span1 {
-  float: none;
-  width: 44px;
-  margin-left: 0;
-}
-
-.table td.span2,
-.table th.span2 {
-  float: none;
-  width: 124px;
-  margin-left: 0;
-}
-
-.table td.span3,
-.table th.span3 {
-  float: none;
-  width: 204px;
-  margin-left: 0;
-}
-
-.table td.span4,
-.table th.span4 {
-  float: none;
-  width: 284px;
-  margin-left: 0;
-}
-
-.table td.span5,
-.table th.span5 {
-  float: none;
-  width: 364px;
-  margin-left: 0;
-}
-
-.table td.span6,
-.table th.span6 {
-  float: none;
-  width: 444px;
-  margin-left: 0;
-}
-
-.table td.span7,
-.table th.span7 {
-  float: none;
-  width: 524px;
-  margin-left: 0;
-}
-
-.table td.span8,
-.table th.span8 {
-  float: none;
-  width: 604px;
-  margin-left: 0;
-}
-
-.table td.span9,
-.table th.span9 {
-  float: none;
-  width: 684px;
-  margin-left: 0;
-}
-
-.table td.span10,
-.table th.span10 {
-  float: none;
-  width: 764px;
-  margin-left: 0;
-}
-
-.table td.span11,
-.table th.span11 {
-  float: none;
-  width: 844px;
-  margin-left: 0;
-}
-
-.table td.span12,
-.table th.span12 {
-  float: none;
-  width: 924px;
-  margin-left: 0;
-}
-
-.table tbody tr.success > td {
-  background-color: #dff0d8;
-}
-
-.table tbody tr.error > td {
-  background-color: #f2dede;
-}
-
-.table tbody tr.warning > td {
-  background-color: #fcf8e3;
-}
-
-.table tbody tr.info > td {
-  background-color: #d9edf7;
-}
-
-.table-hover tbody tr.success:hover > td {
-  background-color: #d0e9c6;
-}
-
-.table-hover tbody tr.error:hover > td {
-  background-color: #ebcccc;
-}
-
-.table-hover tbody tr.warning:hover > td {
-  background-color: #faf2cc;
-}
-
-.table-hover tbody tr.info:hover > td {
-  background-color: #c4e3f3;
-}
-
-[class^="icon-"],
-[class*=" icon-"] {
-  display: inline-block;
-  width: 14px;
-  height: 14px;
-  margin-top: 1px;
-  *margin-right: .3em;
-  line-height: 14px;
-  vertical-align: text-top;
-  background-image: url("../img/glyphicons-halflings.png");
-  background-position: 14px 14px;
-  background-repeat: no-repeat;
-}
-
-/* White icons with optional class, or on hover/focus/active states of certain elements */
-
-.icon-white,
-.nav-pills > .active > a > [class^="icon-"],
-.nav-pills > .active > a > [class*=" icon-"],
-.nav-list > .active > a > [class^="icon-"],
-.nav-list > .active > a > [class*=" icon-"],
-.navbar-inverse .nav > .active > a > [class^="icon-"],
-.navbar-inverse .nav > .active > a > [class*=" icon-"],
-.dropdown-menu > li > a:hover > [class^="icon-"],
-.dropdown-menu > li > a:focus > [class^="icon-"],
-.dropdown-menu > li > a:hover > [class*=" icon-"],
-.dropdown-menu > li > a:focus > [class*=" icon-"],
-.dropdown-menu > .active > a > [class^="icon-"],
-.dropdown-menu > .active > a > [class*=" icon-"],
-.dropdown-submenu:hover > a > [class^="icon-"],
-.dropdown-submenu:focus > a > [class^="icon-"],
-.dropdown-submenu:hover > a > [class*=" icon-"],
-.dropdown-submenu:focus > a > [class*=" icon-"] {
-  background-image: url("../img/glyphicons-halflings-white.png");
-}
-
-.icon-glass {
-  background-position: 0      0;
-}
-
-.icon-music {
-  background-position: -24px 0;
-}
-
-.icon-search {
-  background-position: -48px 0;
-}
-
-.icon-envelope {
-  background-position: -72px 0;
-}
-
-.icon-heart {
-  background-position: -96px 0;
-}
-
-.icon-star {
-  background-position: -120px 0;
-}
-
-.icon-star-empty {
-  background-position: -144px 0;
-}
-
-.icon-user {
-  background-position: -168px 0;
-}
-
-.icon-film {
-  background-position: -192px 0;
-}
-
-.icon-th-large {
-  background-position: -216px 0;
-}
-
-.icon-th {
-  background-position: -240px 0;
-}
-
-.icon-th-list {
-  background-position: -264px 0;
-}
-
-.icon-ok {
-  background-position: -288px 0;
-}
-
-.icon-remove {
-  background-position: -312px 0;
-}
-
-.icon-zoom-in {
-  background-position: -336px 0;
-}
-
-.icon-zoom-out {
-  background-position: -360px 0;
-}
-
-.icon-off {
-  background-position: -384px 0;
-}
-
-.icon-signal {
-  background-position: -408px 0;
-}
-
-.icon-cog {
-  background-position: -432px 0;
-}
-
-.icon-trash {
-  background-position: -456px 0;
-}
-
-.icon-home {
-  background-position: 0 -24px;
-}
-
-.icon-file {
-  background-position: -24px -24px;
-}
-
-.icon-time {
-  background-position: -48px -24px;
-}
-
-.icon-road {
-  background-position: -72px -24px;
-}
-
-.icon-download-alt {
-  background-position: -96px -24px;
-}
-
-.icon-download {
-  background-position: -120px -24px;
-}
-
-.icon-upload {
-  background-position: -144px -24px;
-}
-
-.icon-inbox {
-  background-position: -168px -24px;
-}
-
-.icon-play-circle {
-  background-position: -192px -24px;
-}
-
-.icon-repeat {
-  background-position: -216px -24px;
-}
-
-.icon-refresh {
-  background-position: -240px -24px;
-}
-
-.icon-list-alt {
-  background-position: -264px -24px;
-}
-
-.icon-lock {
-  background-position: -287px -24px;
-}
-
-.icon-flag {
-  background-position: -312px -24px;
-}
-
-.icon-headphones {
-  background-position: -336px -24px;
-}
-
-.icon-volume-off {
-  background-position: -360px -24px;
-}
-
-.icon-volume-down {
-  background-position: -384px -24px;
-}
-
-.icon-volume-up {
-  background-position: -408px -24px;
-}
-
-.icon-qrcode {
-  background-position: -432px -24px;
-}
-
-.icon-barcode {
-  background-position: -456px -24px;
-}
-
-.icon-tag {
-  background-position: 0 -48px;
-}
-
-.icon-tags {
-  background-position: -25px -48px;
-}
-
-.icon-book {
-  background-position: -48px -48px;
-}
-
-.icon-bookmark {
-  background-position: -72px -48px;
-}
-
-.icon-print {
-  background-position: -96px -48px;
-}
-
-.icon-camera {
-  background-position: -120px -48px;
-}
-
-.icon-font {
-  background-position: -144px -48px;
-}
-
-.icon-bold {
-  background-position: -167px -48px;
-}
-
-.icon-italic {
-  background-position: -192px -48px;
-}
-
-.icon-text-height {
-  background-position: -216px -48px;
-}
-
-.icon-text-width {
-  background-position: -240px -48px;
-}
-
-.icon-align-left {
-  background-position: -264px -48px;
-}
-
-.icon-align-center {
-  background-position: -288px -48px;
-}
-
-.icon-align-right {
-  background-position: -312px -48px;
-}
-
-.icon-align-justify {
-  background-position: -336px -48px;
-}
-
-.icon-list {
-  background-position: -360px -48px;
-}
-
-.icon-indent-left {
-  background-position: -384px -48px;
-}
-
-.icon-indent-right {
-  background-position: -408px -48px;
-}
-
-.icon-facetime-video {
-  background-position: -432px -48px;
-}
-
-.icon-picture {
-  background-position: -456px -48px;
-}
-
-.icon-pencil {
-  background-position: 0 -72px;
-}
-
-.icon-map-marker {
-  background-position: -24px -72px;
-}
-
-.icon-adjust {
-  background-position: -48px -72px;
-}
-
-.icon-tint {
-  background-position: -72px -72px;
-}
-
-.icon-edit {
-  background-position: -96px -72px;
-}
-
-.icon-share {
-  background-position: -120px -72px;
-}
-
-.icon-check {
-  background-position: -144px -72px;
-}
-
-.icon-move {
-  background-position: -168px -72px;
-}
-
-.icon-step-backward {
-  background-position: -192px -72px;
-}
-
-.icon-fast-backward {
-  background-position: -216px -72px;
-}
-
-.icon-backward {
-  background-position: -240px -72px;
-}
-
-.icon-play {
-  background-position: -264px -72px;
-}
-
-.icon-pause {
-  background-position: -288px -72px;
-}
-
-.icon-stop {
-  background-position: -312px -72px;
-}
-
-.icon-forward {
-  background-position: -336px -72px;
-}
-
-.icon-fast-forward {
-  background-position: -360px -72px;
-}
-
-.icon-step-forward {
-  background-position: -384px -72px;
-}
-
-.icon-eject {
-  background-position: -408px -72px;
-}
-
-.icon-chevron-left {
-  background-position: -432px -72px;
-}
-
-.icon-chevron-right {
-  background-position: -456px -72px;
-}
-
-.icon-plus-sign {
-  background-position: 0 -96px;
-}
-
-.icon-minus-sign {
-  background-position: -24px -96px;
-}
-
-.icon-remove-sign {
-  background-position: -48px -96px;
-}
-
-.icon-ok-sign {
-  background-position: -72px -96px;
-}
-
-.icon-question-sign {
-  background-position: -96px -96px;
-}
-
-.icon-info-sign {
-  background-position: -120px -96px;
-}
-
-.icon-screenshot {
-  background-position: -144px -96px;
-}
-
-.icon-remove-circle {
-  background-position: -168px -96px;
-}
-
-.icon-ok-circle {
-  background-position: -192px -96px;
-}
-
-.icon-ban-circle {
-  background-position: -216px -96px;
-}
-
-.icon-arrow-left {
-  background-position: -240px -96px;
-}
-
-.icon-arrow-right {
-  background-position: -264px -96px;
-}
-
-.icon-arrow-up {
-  background-position: -289px -96px;
-}
-
-.icon-arrow-down {
-  background-position: -312px -96px;
-}
-
-.icon-share-alt {
-  background-position: -336px -96px;
-}
-
-.icon-resize-full {
-  background-position: -360px -96px;
-}
-
-.icon-resize-small {
-  background-position: -384px -96px;
-}
-
-.icon-plus {
-  background-position: -408px -96px;
-}
-
-.icon-minus {
-  background-position: -433px -96px;
-}
-
-.icon-asterisk {
-  background-position: -456px -96px;
-}
-
-.icon-exclamation-sign {
-  background-position: 0 -120px;
-}
-
-.icon-gift {
-  background-position: -24px -120px;
-}
-
-.icon-leaf {
-  background-position: -48px -120px;
-}
-
-.icon-fire {
-  background-position: -72px -120px;
-}
-
-.icon-eye-open {
-  background-position: -96px -120px;
-}
-
-.icon-eye-close {
-  background-position: -120px -120px;
-}
-
-.icon-warning-sign {
-  background-position: -144px -120px;
-}
-
-.icon-plane {
-  background-position: -168px -120px;
-}
-
-.icon-calendar {
-  background-position: -192px -120px;
-}
-
-.icon-random {
-  width: 16px;
-  background-position: -216px -120px;
-}
-
-.icon-comment {
-  background-position: -240px -120px;
-}
-
-.icon-magnet {
-  background-position: -264px -120px;
-}
-
-.icon-chevron-up {
-  background-position: -288px -120px;
-}
-
-.icon-chevron-down {
-  background-position: -313px -119px;
-}
-
-.icon-retweet {
-  background-position: -336px -120px;
-}
-
-.icon-shopping-cart {
-  background-position: -360px -120px;
-}
-
-.icon-folder-close {
-  width: 16px;
-  background-position: -384px -120px;
-}
-
-.icon-folder-open {
-  width: 16px;
-  background-position: -408px -120px;
-}
-
-.icon-resize-vertical {
-  background-position: -432px -119px;
-}
-
-.icon-resize-horizontal {
-  background-position: -456px -118px;
-}
-
-.icon-hdd {
-  background-position: 0 -144px;
-}
-
-.icon-bullhorn {
-  background-position: -24px -144px;
-}
-
-.icon-bell {
-  background-position: -48px -144px;
-}
-
-.icon-certificate {
-  background-position: -72px -144px;
-}
-
-.icon-thumbs-up {
-  background-position: -96px -144px;
-}
-
-.icon-thumbs-down {
-  background-position: -120px -144px;
-}
-
-.icon-hand-right {
-  background-position: -144px -144px;
-}
-
-.icon-hand-left {
-  background-position: -168px -144px;
-}
-
-.icon-hand-up {
-  background-position: -192px -144px;
-}
-
-.icon-hand-down {
-  background-position: -216px -144px;
-}
-
-.icon-circle-arrow-right {
-  background-position: -240px -144px;
-}
-
-.icon-circle-arrow-left {
-  background-position: -264px -144px;
-}
-
-.icon-circle-arrow-up {
-  background-position: -288px -144px;
-}
-
-.icon-circle-arrow-down {
-  background-position: -312px -144px;
-}
-
-.icon-globe {
-  background-position: -336px -144px;
-}
-
-.icon-wrench {
-  background-position: -360px -144px;
-}
-
-.icon-tasks {
-  background-position: -384px -144px;
-}
-
-.icon-filter {
-  background-position: -408px -144px;
-}
-
-.icon-briefcase {
-  background-position: -432px -144px;
-}
-
-.icon-fullscreen {
-  background-position: -456px -144px;
-}
-
-.dropup,
-.dropdown {
-  position: relative;
-}
-
-.dropdown-toggle {
-  *margin-bottom: -3px;
-}
-
-.dropdown-toggle:active,
-.open .dropdown-toggle {
-  outline: 0;
-}
-
-.caret {
-  display: inline-block;
-  width: 0;
-  height: 0;
-  vertical-align: top;
-  border-top: 4px solid #000000;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-  content: "";
-}
-
-.dropdown .caret {
-  margin-top: 8px;
-  margin-left: 2px;
-}
-
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  float: left;
-  min-width: 160px;
-  padding: 5px 0;
-  margin: 2px 0 0;
-  list-style: none;
-  background-color: #ffffff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  *border-right-width: 2px;
-  *border-bottom-width: 2px;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding;
-          background-clip: padding-box;
-}
-
-.dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-
-.dropdown-menu .divider {
-  *width: 100%;
-  height: 1px;
-  margin: 9px 1px;
-  *margin: -5px 0 5px;
-  overflow: hidden;
-  background-color: #e5e5e5;
-  border-bottom: 1px solid #ffffff;
-}
-
-.dropdown-menu > li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: normal;
-  line-height: 20px;
-  color: #333333;
-  white-space: nowrap;
-}
-
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus,
-.dropdown-submenu:hover > a,
-.dropdown-submenu:focus > a {
-  color: #ffffff;
-  text-decoration: none;
-  background-color: #0081c2;
-  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
-  background-image: linear-gradient(to bottom, #0088cc, #0077b3);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  color: #ffffff;
-  text-decoration: none;
-  background-color: #0081c2;
-  background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
-  background-image: -o-linear-gradient(top, #0088cc, #0077b3);
-  background-image: linear-gradient(to bottom, #0088cc, #0077b3);
-  background-repeat: repeat-x;
-  outline: 0;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
-}
-
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  color: #999999;
-}
-
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
-  text-decoration: none;
-  cursor: default;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.open {
-  *z-index: 1000;
-}
-
-.open > .dropdown-menu {
-  display: block;
-}
-
-.dropdown-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 990;
-}
-
-.pull-right > .dropdown-menu {
-  right: 0;
-  left: auto;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
-  border-top: 0;
-  border-bottom: 4px solid #000000;
-  content: "";
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-bottom: 1px;
-}
-
-.dropdown-submenu {
-  position: relative;
-}
-
-.dropdown-submenu > .dropdown-menu {
-  top: 0;
-  left: 100%;
-  margin-top: -6px;
-  margin-left: -1px;
-  -webkit-border-radius: 0 6px 6px 6px;
-     -moz-border-radius: 0 6px 6px 6px;
-          border-radius: 0 6px 6px 6px;
-}
-
-.dropdown-submenu:hover > .dropdown-menu {
-  display: block;
-}
-
-.dropup .dropdown-submenu > .dropdown-menu {
-  top: auto;
-  bottom: 0;
-  margin-top: 0;
-  margin-bottom: -2px;
-  -webkit-border-radius: 5px 5px 5px 0;
-     -moz-border-radius: 5px 5px 5px 0;
-          border-radius: 5px 5px 5px 0;
-}
-
-.dropdown-submenu > a:after {
-  display: block;
-  float: right;
-  width: 0;
-  height: 0;
-  margin-top: 5px;
-  margin-right: -10px;
-  border-color: transparent;
-  border-left-color: #cccccc;
-  border-style: solid;
-  border-width: 5px 0 5px 5px;
-  content: " ";
-}
-
-.dropdown-submenu:hover > a:after {
-  border-left-color: #ffffff;
-}
-
-.dropdown-submenu.pull-left {
-  float: none;
-}
-
-.dropdown-submenu.pull-left > .dropdown-menu {
-  left: -100%;
-  margin-left: 10px;
-  -webkit-border-radius: 6px 0 6px 6px;
-     -moz-border-radius: 6px 0 6px 6px;
-          border-radius: 6px 0 6px 6px;
-}
-
-.dropdown .dropdown-menu .nav-header {
-  padding-right: 20px;
-  padding-left: 20px;
-}
-
-.typeahead {
-  z-index: 1051;
-  margin-top: 2px;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.well {
-  min-height: 20px;
-  padding: 19px;
-  margin-bottom: 20px;
-  background-color: #f5f5f5;
-  border: 1px solid #e3e3e3;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-
-.well blockquote {
-  border-color: #ddd;
-  border-color: rgba(0, 0, 0, 0.15);
-}
-
-.well-large {
-  padding: 24px;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.well-small {
-  padding: 9px;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.fade {
-  opacity: 0;
-  -webkit-transition: opacity 0.15s linear;
-     -moz-transition: opacity 0.15s linear;
-       -o-transition: opacity 0.15s linear;
-          transition: opacity 0.15s linear;
-}
-
-.fade.in {
-  opacity: 1;
-}
-
-.collapse {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  -webkit-transition: height 0.35s ease;
-     -moz-transition: height 0.35s ease;
-       -o-transition: height 0.35s ease;
-          transition: height 0.35s ease;
-}
-
-.collapse.in {
-  height: auto;
-}
-
-.close {
-  float: right;
-  font-size: 20px;
-  font-weight: bold;
-  line-height: 20px;
-  color: #000000;
-  text-shadow: 0 1px 0 #ffffff;
-  opacity: 0.2;
-  filter: alpha(opacity=20);
-}
-
-.close:hover,
-.close:focus {
-  color: #000000;
-  text-decoration: none;
-  cursor: pointer;
-  opacity: 0.4;
-  filter: alpha(opacity=40);
-}
-
-button.close {
-  padding: 0;
-  cursor: pointer;
-  background: transparent;
-  border: 0;
-  -webkit-appearance: none;
-}
-
-.btn {
-  display: inline-block;
-  *display: inline;
-  padding: 4px 12px;
-  margin-bottom: 0;
-  *margin-left: .3em;
-  font-size: 14px;
-  line-height: 20px;
-  color: #333333;
-  text-align: center;
-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
-  vertical-align: middle;
-  cursor: pointer;
-  background-color: #f5f5f5;
-  *background-color: #e6e6e6;
-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
-  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
-  background-repeat: repeat-x;
-  border: 1px solid #cccccc;
-  *border: 0;
-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-bottom-color: #b3b3b3;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  *zoom: 1;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn:hover,
-.btn:focus,
-.btn:active,
-.btn.active,
-.btn.disabled,
-.btn[disabled] {
-  color: #333333;
-  background-color: #e6e6e6;
-  *background-color: #d9d9d9;
-}
-
-.btn:active,
-.btn.active {
-  background-color: #cccccc \9;
-}
-
-.btn:first-child {
-  *margin-left: 0;
-}
-
-.btn:hover,
-.btn:focus {
-  color: #333333;
-  text-decoration: none;
-  background-position: 0 -15px;
-  -webkit-transition: background-position 0.1s linear;
-     -moz-transition: background-position 0.1s linear;
-       -o-transition: background-position 0.1s linear;
-          transition: background-position 0.1s linear;
-}
-
-.btn:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-
-.btn.active,
-.btn:active {
-  background-image: none;
-  outline: 0;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn.disabled,
-.btn[disabled] {
-  cursor: default;
-  background-image: none;
-  opacity: 0.65;
-  filter: alpha(opacity=65);
-  -webkit-box-shadow: none;
-     -moz-box-shadow: none;
-          box-shadow: none;
-}
-
-.btn-large {
-  padding: 11px 19px;
-  font-size: 17.5px;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
-  margin-top: 4px;
-}
-
-.btn-small {
-  padding: 2px 10px;
-  font-size: 11.9px;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
-  margin-top: 0;
-}
-
-.btn-mini [class^="icon-"],
-.btn-mini [class*=" icon-"] {
-  margin-top: -1px;
-}
-
-.btn-mini {
-  padding: 0 6px;
-  font-size: 10.5px;
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.btn-block {
-  display: block;
-  width: 100%;
-  padding-right: 0;
-  padding-left: 0;
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-}
-
-.btn-block + .btn-block {
-  margin-top: 5px;
-}
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
-  width: 100%;
-}
-
-.btn-primary.active,
-.btn-warning.active,
-.btn-danger.active,
-.btn-success.active,
-.btn-info.active,
-.btn-inverse.active {
-  color: rgba(255, 255, 255, 0.75);
-}
-
-.btn-primary {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #006dcc;
-  *background-color: #0044cc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
-  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
-  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
-  background-image: linear-gradient(to bottom, #0088cc, #0044cc);
-  background-repeat: repeat-x;
-  border-color: #0044cc #0044cc #002a80;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.btn-primary.disabled,
-.btn-primary[disabled] {
-  color: #ffffff;
-  background-color: #0044cc;
-  *background-color: #003bb3;
-}
-
-.btn-primary:active,
-.btn-primary.active {
-  background-color: #003399 \9;
-}
-
-.btn-warning {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #faa732;
-  *background-color: #f89406;
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
-  background-image: -o-linear-gradient(top, #fbb450, #f89406);
-  background-image: linear-gradient(to bottom, #fbb450, #f89406);
-  background-repeat: repeat-x;
-  border-color: #f89406 #f89406 #ad6704;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-warning:hover,
-.btn-warning:focus,
-.btn-warning:active,
-.btn-warning.active,
-.btn-warning.disabled,
-.btn-warning[disabled] {
-  color: #ffffff;
-  background-color: #f89406;
-  *background-color: #df8505;
-}
-
-.btn-warning:active,
-.btn-warning.active {
-  background-color: #c67605 \9;
-}
-
-.btn-danger {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #da4f49;
-  *background-color: #bd362f;
-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
-  background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
-  background-repeat: repeat-x;
-  border-color: #bd362f #bd362f #802420;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.btn-danger.disabled,
-.btn-danger[disabled] {
-  color: #ffffff;
-  background-color: #bd362f;
-  *background-color: #a9302a;
-}
-
-.btn-danger:active,
-.btn-danger.active {
-  background-color: #942a25 \9;
-}
-
-.btn-success {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #5bb75b;
-  *background-color: #51a351;
-  background-image: -moz-linear-gradient(top, #62c462, #51a351);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
-  background-image: -o-linear-gradient(top, #62c462, #51a351);
-  background-image: linear-gradient(to bottom, #62c462, #51a351);
-  background-repeat: repeat-x;
-  border-color: #51a351 #51a351 #387038;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.btn-success.disabled,
-.btn-success[disabled] {
-  color: #ffffff;
-  background-color: #51a351;
-  *background-color: #499249;
-}
-
-.btn-success:active,
-.btn-success.active {
-  background-color: #408140 \9;
-}
-
-.btn-info {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #49afcd;
-  *background-color: #2f96b4;
-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
-  background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
-  background-repeat: repeat-x;
-  border-color: #2f96b4 #2f96b4 #1f6377;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.btn-info.disabled,
-.btn-info[disabled] {
-  color: #ffffff;
-  background-color: #2f96b4;
-  *background-color: #2a85a0;
-}
-
-.btn-info:active,
-.btn-info.active {
-  background-color: #24748c \9;
-}
-
-.btn-inverse {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #363636;
-  *background-color: #222222;
-  background-image: -moz-linear-gradient(top, #444444, #222222);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
-  background-image: -webkit-linear-gradient(top, #444444, #222222);
-  background-image: -o-linear-gradient(top, #444444, #222222);
-  background-image: linear-gradient(to bottom, #444444, #222222);
-  background-repeat: repeat-x;
-  border-color: #222222 #222222 #000000;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.btn-inverse:hover,
-.btn-inverse:focus,
-.btn-inverse:active,
-.btn-inverse.active,
-.btn-inverse.disabled,
-.btn-inverse[disabled] {
-  color: #ffffff;
-  background-color: #222222;
-  *background-color: #151515;
-}
-
-.btn-inverse:active,
-.btn-inverse.active {
-  background-color: #080808 \9;
-}
-
-button.btn,
-input[type="submit"].btn {
-  *padding-top: 3px;
-  *padding-bottom: 3px;
-}
-
-button.btn::-moz-focus-inner,
-input[type="submit"].btn::-moz-focus-inner {
-  padding: 0;
-  border: 0;
-}
-
-button.btn.btn-large,
-input[type="submit"].btn.btn-large {
-  *padding-top: 7px;
-  *padding-bottom: 7px;
-}
-
-button.btn.btn-small,
-input[type="submit"].btn.btn-small {
-  *padding-top: 3px;
-  *padding-bottom: 3px;
-}
-
-button.btn.btn-mini,
-input[type="submit"].btn.btn-mini {
-  *padding-top: 1px;
-  *padding-bottom: 1px;
-}
-
-.btn-link,
-.btn-link:active,
-.btn-link[disabled] {
-  background-color: transparent;
-  background-image: none;
-  -webkit-box-shadow: none;
-     -moz-box-shadow: none;
-          box-shadow: none;
-}
-
-.btn-link {
-  color: #0088cc;
-  cursor: pointer;
-  border-color: transparent;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.btn-link:hover,
-.btn-link:focus {
-  color: #005580;
-  text-decoration: underline;
-  background-color: transparent;
-}
-
-.btn-link[disabled]:hover,
-.btn-link[disabled]:focus {
-  color: #333333;
-  text-decoration: none;
-}
-
-.btn-group {
-  position: relative;
-  display: inline-block;
-  *display: inline;
-  *margin-left: .3em;
-  font-size: 0;
-  white-space: nowrap;
-  vertical-align: middle;
-  *zoom: 1;
-}
-
-.btn-group:first-child {
-  *margin-left: 0;
-}
-
-.btn-group + .btn-group {
-  margin-left: 5px;
-}
-
-.btn-toolbar {
-  margin-top: 10px;
-  margin-bottom: 10px;
-  font-size: 0;
-}
-
-.btn-toolbar > .btn + .btn,
-.btn-toolbar > .btn-group + .btn,
-.btn-toolbar > .btn + .btn-group {
-  margin-left: 5px;
-}
-
-.btn-group > .btn {
-  position: relative;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.btn-group > .btn + .btn {
-  margin-left: -1px;
-}
-
-.btn-group > .btn,
-.btn-group > .dropdown-menu,
-.btn-group > .popover {
-  font-size: 14px;
-}
-
-.btn-group > .btn-mini {
-  font-size: 10.5px;
-}
-
-.btn-group > .btn-small {
-  font-size: 11.9px;
-}
-
-.btn-group > .btn-large {
-  font-size: 17.5px;
-}
-
-.btn-group > .btn:first-child {
-  margin-left: 0;
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-bottomleft: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.btn-group > .btn:last-child,
-.btn-group > .dropdown-toggle {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  -moz-border-radius-bottomright: 4px;
-}
-
-.btn-group > .btn.large:first-child {
-  margin-left: 0;
-  -webkit-border-bottom-left-radius: 6px;
-          border-bottom-left-radius: 6px;
-  -webkit-border-top-left-radius: 6px;
-          border-top-left-radius: 6px;
-  -moz-border-radius-bottomleft: 6px;
-  -moz-border-radius-topleft: 6px;
-}
-
-.btn-group > .btn.large:last-child,
-.btn-group > .large.dropdown-toggle {
-  -webkit-border-top-right-radius: 6px;
-          border-top-right-radius: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-          border-bottom-right-radius: 6px;
-  -moz-border-radius-topright: 6px;
-  -moz-border-radius-bottomright: 6px;
-}
-
-.btn-group > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group > .btn:active,
-.btn-group > .btn.active {
-  z-index: 2;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
-  outline: 0;
-}
-
-.btn-group > .btn + .dropdown-toggle {
-  *padding-top: 5px;
-  padding-right: 8px;
-  *padding-bottom: 5px;
-  padding-left: 8px;
-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group > .btn-mini + .dropdown-toggle {
-  *padding-top: 2px;
-  padding-right: 5px;
-  *padding-bottom: 2px;
-  padding-left: 5px;
-}
-
-.btn-group > .btn-small + .dropdown-toggle {
-  *padding-top: 5px;
-  *padding-bottom: 4px;
-}
-
-.btn-group > .btn-large + .dropdown-toggle {
-  *padding-top: 7px;
-  padding-right: 12px;
-  *padding-bottom: 7px;
-  padding-left: 12px;
-}
-
-.btn-group.open .dropdown-toggle {
-  background-image: none;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.btn-group.open .btn.dropdown-toggle {
-  background-color: #e6e6e6;
-}
-
-.btn-group.open .btn-primary.dropdown-toggle {
-  background-color: #0044cc;
-}
-
-.btn-group.open .btn-warning.dropdown-toggle {
-  background-color: #f89406;
-}
-
-.btn-group.open .btn-danger.dropdown-toggle {
-  background-color: #bd362f;
-}
-
-.btn-group.open .btn-success.dropdown-toggle {
-  background-color: #51a351;
-}
-
-.btn-group.open .btn-info.dropdown-toggle {
-  background-color: #2f96b4;
-}
-
-.btn-group.open .btn-inverse.dropdown-toggle {
-  background-color: #222222;
-}
-
-.btn .caret {
-  margin-top: 8px;
-  margin-left: 0;
-}
-
-.btn-large .caret {
-  margin-top: 6px;
-}
-
-.btn-large .caret {
-  border-top-width: 5px;
-  border-right-width: 5px;
-  border-left-width: 5px;
-}
-
-.btn-mini .caret,
-.btn-small .caret {
-  margin-top: 8px;
-}
-
-.dropup .btn-large .caret {
-  border-bottom-width: 5px;
-}
-
-.btn-primary .caret,
-.btn-warning .caret,
-.btn-danger .caret,
-.btn-info .caret,
-.btn-success .caret,
-.btn-inverse .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-}
-
-.btn-group-vertical {
-  display: inline-block;
-  *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
-}
-
-.btn-group-vertical > .btn {
-  display: block;
-  float: none;
-  max-width: 100%;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.btn-group-vertical > .btn + .btn {
-  margin-top: -1px;
-  margin-left: 0;
-}
-
-.btn-group-vertical > .btn:first-child {
-  -webkit-border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-          border-radius: 4px 4px 0 0;
-}
-
-.btn-group-vertical > .btn:last-child {
-  -webkit-border-radius: 0 0 4px 4px;
-     -moz-border-radius: 0 0 4px 4px;
-          border-radius: 0 0 4px 4px;
-}
-
-.btn-group-vertical > .btn-large:first-child {
-  -webkit-border-radius: 6px 6px 0 0;
-     -moz-border-radius: 6px 6px 0 0;
-          border-radius: 6px 6px 0 0;
-}
-
-.btn-group-vertical > .btn-large:last-child {
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-}
-
-.alert {
-  padding: 8px 35px 8px 14px;
-  margin-bottom: 20px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  background-color: #fcf8e3;
-  border: 1px solid #fbeed5;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.alert,
-.alert h4 {
-  color: #c09853;
-}
-
-.alert h4 {
-  margin: 0;
-}
-
-.alert .close {
-  position: relative;
-  top: -2px;
-  right: -21px;
-  line-height: 20px;
-}
-
-.alert-success {
-  color: #468847;
-  background-color: #dff0d8;
-  border-color: #d6e9c6;
-}
-
-.alert-success h4 {
-  color: #468847;
-}
-
-.alert-danger,
-.alert-error {
-  color: #b94a48;
-  background-color: #f2dede;
-  border-color: #eed3d7;
-}
-
-.alert-danger h4,
-.alert-error h4 {
-  color: #b94a48;
-}
-
-.alert-info {
-  color: #3a87ad;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-
-.alert-info h4 {
-  color: #3a87ad;
-}
-
-.alert-block {
-  padding-top: 14px;
-  padding-bottom: 14px;
-}
-
-.alert-block > p,
-.alert-block > ul {
-  margin-bottom: 0;
-}
-
-.alert-block p + p {
-  margin-top: 5px;
-}
-
-.nav {
-  margin-bottom: 20px;
-  margin-left: 0;
-  list-style: none;
-}
-
-.nav > li > a {
-  display: block;
-}
-
-.nav > li > a:hover,
-.nav > li > a:focus {
-  text-decoration: none;
-  background-color: #eeeeee;
-}
-
-.nav > li > a > img {
-  max-width: none;
-}
-
-.nav > .pull-right {
-  float: right;
-}
-
-.nav-header {
-  display: block;
-  padding: 3px 15px;
-  font-size: 11px;
-  font-weight: bold;
-  line-height: 20px;
-  color: #999999;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-  text-transform: uppercase;
-}
-
-.nav li + .nav-header {
-  margin-top: 9px;
-}
-
-.nav-list {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-bottom: 0;
-}
-
-.nav-list > li > a,
-.nav-list .nav-header {
-  margin-right: -15px;
-  margin-left: -15px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-}
-
-.nav-list > li > a {
-  padding: 3px 15px;
-}
-
-.nav-list > .active > a,
-.nav-list > .active > a:hover,
-.nav-list > .active > a:focus {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
-  background-color: #0088cc;
-}
-
-.nav-list [class^="icon-"],
-.nav-list [class*=" icon-"] {
-  margin-right: 2px;
-}
-
-.nav-list .divider {
-  *width: 100%;
-  height: 1px;
-  margin: 9px 1px;
-  *margin: -5px 0 5px;
-  overflow: hidden;
-  background-color: #e5e5e5;
-  border-bottom: 1px solid #ffffff;
-}
-
-.nav-tabs,
-.nav-pills {
-  *zoom: 1;
-}
-
-.nav-tabs:before,
-.nav-pills:before,
-.nav-tabs:after,
-.nav-pills:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.nav-tabs:after,
-.nav-pills:after {
-  clear: both;
-}
-
-.nav-tabs > li,
-.nav-pills > li {
-  float: left;
-}
-
-.nav-tabs > li > a,
-.nav-pills > li > a {
-  padding-right: 12px;
-  padding-left: 12px;
-  margin-right: 2px;
-  line-height: 14px;
-}
-
-.nav-tabs {
-  border-bottom: 1px solid #ddd;
-}
-
-.nav-tabs > li {
-  margin-bottom: -1px;
-}
-
-.nav-tabs > li > a {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  line-height: 20px;
-  border: 1px solid transparent;
-  -webkit-border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-          border-radius: 4px 4px 0 0;
-}
-
-.nav-tabs > li > a:hover,
-.nav-tabs > li > a:focus {
-  border-color: #eeeeee #eeeeee #dddddd;
-}
-
-.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover,
-.nav-tabs > .active > a:focus {
-  color: #555555;
-  cursor: default;
-  background-color: #ffffff;
-  border: 1px solid #ddd;
-  border-bottom-color: transparent;
-}
-
-.nav-pills > li > a {
-  padding-top: 8px;
-  padding-bottom: 8px;
-  margin-top: 2px;
-  margin-bottom: 2px;
-  -webkit-border-radius: 5px;
-     -moz-border-radius: 5px;
-          border-radius: 5px;
-}
-
-.nav-pills > .active > a,
-.nav-pills > .active > a:hover,
-.nav-pills > .active > a:focus {
-  color: #ffffff;
-  background-color: #0088cc;
-}
-
-.nav-stacked > li {
-  float: none;
-}
-
-.nav-stacked > li > a {
-  margin-right: 0;
-}
-
-.nav-tabs.nav-stacked {
-  border-bottom: 0;
-}
-
-.nav-tabs.nav-stacked > li > a {
-  border: 1px solid #ddd;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.nav-tabs.nav-stacked > li:first-child > a {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li:last-child > a {
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -moz-border-radius-bottomright: 4px;
-  -moz-border-radius-bottomleft: 4px;
-}
-
-.nav-tabs.nav-stacked > li > a:hover,
-.nav-tabs.nav-stacked > li > a:focus {
-  z-index: 2;
-  border-color: #ddd;
-}
-
-.nav-pills.nav-stacked > li > a {
-  margin-bottom: 3px;
-}
-
-.nav-pills.nav-stacked > li:last-child > a {
-  margin-bottom: 1px;
-}
-
-.nav-tabs .dropdown-menu {
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-}
-
-.nav-pills .dropdown-menu {
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.nav .dropdown-toggle .caret {
-  margin-top: 6px;
-  border-top-color: #0088cc;
-  border-bottom-color: #0088cc;
-}
-
-.nav .dropdown-toggle:hover .caret,
-.nav .dropdown-toggle:focus .caret {
-  border-top-color: #005580;
-  border-bottom-color: #005580;
-}
-
-/* move down carets for tabs */
-
-.nav-tabs .dropdown-toggle .caret {
-  margin-top: 8px;
-}
-
-.nav .active .dropdown-toggle .caret {
-  border-top-color: #fff;
-  border-bottom-color: #fff;
-}
-
-.nav-tabs .active .dropdown-toggle .caret {
-  border-top-color: #555555;
-  border-bottom-color: #555555;
-}
-
-.nav > .dropdown.active > a:hover,
-.nav > .dropdown.active > a:focus {
-  cursor: pointer;
-}
-
-.nav-tabs .open .dropdown-toggle,
-.nav-pills .open .dropdown-toggle,
-.nav > li.dropdown.open.active > a:hover,
-.nav > li.dropdown.open.active > a:focus {
-  color: #ffffff;
-  background-color: #999999;
-  border-color: #999999;
-}
-
-.nav li.dropdown.open .caret,
-.nav li.dropdown.open.active .caret,
-.nav li.dropdown.open a:hover .caret,
-.nav li.dropdown.open a:focus .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-  opacity: 1;
-  filter: alpha(opacity=100);
-}
-
-.tabs-stacked .open > a:hover,
-.tabs-stacked .open > a:focus {
-  border-color: #999999;
-}
-
-.tabbable {
-  *zoom: 1;
-}
-
-.tabbable:before,
-.tabbable:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.tabbable:after {
-  clear: both;
-}
-
-.tab-content {
-  overflow: auto;
-}
-
-.tabs-below > .nav-tabs,
-.tabs-right > .nav-tabs,
-.tabs-left > .nav-tabs {
-  border-bottom: 0;
-}
-
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
-  display: none;
-}
-
-.tab-content > .active,
-.pill-content > .active {
-  display: block;
-}
-
-.tabs-below > .nav-tabs {
-  border-top: 1px solid #ddd;
-}
-
-.tabs-below > .nav-tabs > li {
-  margin-top: -1px;
-  margin-bottom: 0;
-}
-
-.tabs-below > .nav-tabs > li > a {
-  -webkit-border-radius: 0 0 4px 4px;
-     -moz-border-radius: 0 0 4px 4px;
-          border-radius: 0 0 4px 4px;
-}
-
-.tabs-below > .nav-tabs > li > a:hover,
-.tabs-below > .nav-tabs > li > a:focus {
-  border-top-color: #ddd;
-  border-bottom-color: transparent;
-}
-
-.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:hover,
-.tabs-below > .nav-tabs > .active > a:focus {
-  border-color: transparent #ddd #ddd #ddd;
-}
-
-.tabs-left > .nav-tabs > li,
-.tabs-right > .nav-tabs > li {
-  float: none;
-}
-
-.tabs-left > .nav-tabs > li > a,
-.tabs-right > .nav-tabs > li > a {
-  min-width: 74px;
-  margin-right: 0;
-  margin-bottom: 3px;
-}
-
-.tabs-left > .nav-tabs {
-  float: left;
-  margin-right: 19px;
-  border-right: 1px solid #ddd;
-}
-
-.tabs-left > .nav-tabs > li > a {
-  margin-right: -1px;
-  -webkit-border-radius: 4px 0 0 4px;
-     -moz-border-radius: 4px 0 0 4px;
-          border-radius: 4px 0 0 4px;
-}
-
-.tabs-left > .nav-tabs > li > a:hover,
-.tabs-left > .nav-tabs > li > a:focus {
-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
-}
-
-.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:hover,
-.tabs-left > .nav-tabs .active > a:focus {
-  border-color: #ddd transparent #ddd #ddd;
-  *border-right-color: #ffffff;
-}
-
-.tabs-right > .nav-tabs {
-  float: right;
-  margin-left: 19px;
-  border-left: 1px solid #ddd;
-}
-
-.tabs-right > .nav-tabs > li > a {
-  margin-left: -1px;
-  -webkit-border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-          border-radius: 0 4px 4px 0;
-}
-
-.tabs-right > .nav-tabs > li > a:hover,
-.tabs-right > .nav-tabs > li > a:focus {
-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
-}
-
-.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:hover,
-.tabs-right > .nav-tabs .active > a:focus {
-  border-color: #ddd #ddd #ddd transparent;
-  *border-left-color: #ffffff;
-}
-
-.nav > .disabled > a {
-  color: #999999;
-}
-
-.nav > .disabled > a:hover,
-.nav > .disabled > a:focus {
-  text-decoration: none;
-  cursor: default;
-  background-color: transparent;
-}
-
-.navbar {
-  *position: relative;
-  *z-index: 2;
-  margin-bottom: 20px;
-  overflow: visible;
-}
-
-.navbar-inner {
-  min-height: 40px;
-  padding-right: 20px;
-  padding-left: 20px;
-  background-color: #fafafa;
-  background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
-  background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
-  background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
-  background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
-  background-repeat: repeat-x;
-  border: 1px solid #d4d4d4;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
-  *zoom: 1;
-  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-}
-
-.navbar-inner:before,
-.navbar-inner:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.navbar-inner:after {
-  clear: both;
-}
-
-.navbar .container {
-  width: auto;
-}
-
-.nav-collapse.collapse {
-  height: auto;
-  overflow: visible;
-}
-
-.navbar .brand {
-  display: block;
-  float: left;
-  padding: 10px 20px 10px;
-  margin-left: -20px;
-  font-size: 20px;
-  font-weight: 200;
-  color: #777777;
-  text-shadow: 0 1px 0 #ffffff;
-}
-
-.navbar .brand:hover,
-.navbar .brand:focus {
-  text-decoration: none;
-}
-
-.navbar-text {
-  margin-bottom: 0;
-  line-height: 40px;
-  color: #777777;
-}
-
-.navbar-link {
-  color: #777777;
-}
-
-.navbar-link:hover,
-.navbar-link:focus {
-  color: #333333;
-}
-
-.navbar .divider-vertical {
-  height: 40px;
-  margin: 0 9px;
-  border-right: 1px solid #ffffff;
-  border-left: 1px solid #f2f2f2;
-}
-
-.navbar .btn,
-.navbar .btn-group {
-  margin-top: 5px;
-}
-
-.navbar .btn-group .btn,
-.navbar .input-prepend .btn,
-.navbar .input-append .btn,
-.navbar .input-prepend .btn-group,
-.navbar .input-append .btn-group {
-  margin-top: 0;
-}
-
-.navbar-form {
-  margin-bottom: 0;
-  *zoom: 1;
-}
-
-.navbar-form:before,
-.navbar-form:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.navbar-form:after {
-  clear: both;
-}
-
-.navbar-form input,
-.navbar-form select,
-.navbar-form .radio,
-.navbar-form .checkbox {
-  margin-top: 5px;
-}
-
-.navbar-form input,
-.navbar-form select,
-.navbar-form .btn {
-  display: inline-block;
-  margin-bottom: 0;
-}
-
-.navbar-form input[type="image"],
-.navbar-form input[type="checkbox"],
-.navbar-form input[type="radio"] {
-  margin-top: 3px;
-}
-
-.navbar-form .input-append,
-.navbar-form .input-prepend {
-  margin-top: 5px;
-  white-space: nowrap;
-}
-
-.navbar-form .input-append input,
-.navbar-form .input-prepend input {
-  margin-top: 0;
-}
-
-.navbar-search {
-  position: relative;
-  float: left;
-  margin-top: 5px;
-  margin-bottom: 0;
-}
-
-.navbar-search .search-query {
-  padding: 4px 14px;
-  margin-bottom: 0;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  font-size: 13px;
-  font-weight: normal;
-  line-height: 1;
-  -webkit-border-radius: 15px;
-     -moz-border-radius: 15px;
-          border-radius: 15px;
-}
-
-.navbar-static-top {
-  position: static;
-  margin-bottom: 0;
-}
-
-.navbar-static-top .navbar-inner {
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  position: fixed;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-  margin-bottom: 0;
-}
-
-.navbar-fixed-top .navbar-inner,
-.navbar-static-top .navbar-inner {
-  border-width: 0 0 1px;
-}
-
-.navbar-fixed-bottom .navbar-inner {
-  border-width: 1px 0 0;
-}
-
-.navbar-fixed-top .navbar-inner,
-.navbar-fixed-bottom .navbar-inner {
-  padding-right: 0;
-  padding-left: 0;
-  -webkit-border-radius: 0;
-     -moz-border-radius: 0;
-          border-radius: 0;
-}
-
-.navbar-static-top .container,
-.navbar-fixed-top .container,
-.navbar-fixed-bottom .container {
-  width: 940px;
-}
-
-.navbar-fixed-top {
-  top: 0;
-}
-
-.navbar-fixed-top .navbar-inner,
-.navbar-static-top .navbar-inner {
-  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
-}
-
-.navbar-fixed-bottom {
-  bottom: 0;
-}
-
-.navbar-fixed-bottom .navbar-inner {
-  -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-          box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
-}
-
-.navbar .nav {
-  position: relative;
-  left: 0;
-  display: block;
-  float: left;
-  margin: 0 10px 0 0;
-}
-
-.navbar .nav.pull-right {
-  float: right;
-  margin-right: 0;
-}
-
-.navbar .nav > li {
-  float: left;
-}
-
-.navbar .nav > li > a {
-  float: none;
-  padding: 10px 15px 10px;
-  color: #777777;
-  text-decoration: none;
-  text-shadow: 0 1px 0 #ffffff;
-}
-
-.navbar .nav .dropdown-toggle .caret {
-  margin-top: 8px;
-}
-
-.navbar .nav > li > a:focus,
-.navbar .nav > li > a:hover {
-  color: #333333;
-  text-decoration: none;
-  background-color: transparent;
-}
-
-.navbar .nav > .active > a,
-.navbar .nav > .active > a:hover,
-.navbar .nav > .active > a:focus {
-  color: #555555;
-  text-decoration: none;
-  background-color: #e5e5e5;
-  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-     -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-          box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
-}
-
-.navbar .btn-navbar {
-  display: none;
-  float: right;
-  padding: 7px 10px;
-  margin-right: 5px;
-  margin-left: 5px;
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #ededed;
-  *background-color: #e5e5e5;
-  background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
-  background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
-  background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
-  background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
-  background-repeat: repeat-x;
-  border-color: #e5e5e5 #e5e5e5 #bfbfbf;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-}
-
-.navbar .btn-navbar:hover,
-.navbar .btn-navbar:focus,
-.navbar .btn-navbar:active,
-.navbar .btn-navbar.active,
-.navbar .btn-navbar.disabled,
-.navbar .btn-navbar[disabled] {
-  color: #ffffff;
-  background-color: #e5e5e5;
-  *background-color: #d9d9d9;
-}
-
-.navbar .btn-navbar:active,
-.navbar .btn-navbar.active {
-  background-color: #cccccc \9;
-}
-
-.navbar .btn-navbar .icon-bar {
-  display: block;
-  width: 18px;
-  height: 2px;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 1px;
-     -moz-border-radius: 1px;
-          border-radius: 1px;
-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-}
-
-.btn-navbar .icon-bar + .icon-bar {
-  margin-top: 3px;
-}
-
-.navbar .nav > li > .dropdown-menu:before {
-  position: absolute;
-  top: -7px;
-  left: 9px;
-  display: inline-block;
-  border-right: 7px solid transparent;
-  border-bottom: 7px solid #ccc;
-  border-left: 7px solid transparent;
-  border-bottom-color: rgba(0, 0, 0, 0.2);
-  content: '';
-}
-
-.navbar .nav > li > .dropdown-menu:after {
-  position: absolute;
-  top: -6px;
-  left: 10px;
-  display: inline-block;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #ffffff;
-  border-left: 6px solid transparent;
-  content: '';
-}
-
-.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
-  top: auto;
-  bottom: -7px;
-  border-top: 7px solid #ccc;
-  border-bottom: 0;
-  border-top-color: rgba(0, 0, 0, 0.2);
-}
-
-.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
-  top: auto;
-  bottom: -6px;
-  border-top: 6px solid #ffffff;
-  border-bottom: 0;
-}
-
-.navbar .nav li.dropdown > a:hover .caret,
-.navbar .nav li.dropdown > a:focus .caret {
-  border-top-color: #333333;
-  border-bottom-color: #333333;
-}
-
-.navbar .nav li.dropdown.open > .dropdown-toggle,
-.navbar .nav li.dropdown.active > .dropdown-toggle,
-.navbar .nav li.dropdown.open.active > .dropdown-toggle {
-  color: #555555;
-  background-color: #e5e5e5;
-}
-
-.navbar .nav li.dropdown > .dropdown-toggle .caret {
-  border-top-color: #777777;
-  border-bottom-color: #777777;
-}
-
-.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
-.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
-.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
-  border-top-color: #555555;
-  border-bottom-color: #555555;
-}
-
-.navbar .pull-right > li > .dropdown-menu,
-.navbar .nav > li > .dropdown-menu.pull-right {
-  right: 0;
-  left: auto;
-}
-
-.navbar .pull-right > li > .dropdown-menu:before,
-.navbar .nav > li > .dropdown-menu.pull-right:before {
-  right: 12px;
-  left: auto;
-}
-
-.navbar .pull-right > li > .dropdown-menu:after,
-.navbar .nav > li > .dropdown-menu.pull-right:after {
-  right: 13px;
-  left: auto;
-}
-
-.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
-.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
-  right: 100%;
-  left: auto;
-  margin-right: -1px;
-  margin-left: 0;
-  -webkit-border-radius: 6px 0 6px 6px;
-     -moz-border-radius: 6px 0 6px 6px;
-          border-radius: 6px 0 6px 6px;
-}
-
-.navbar-inverse .navbar-inner {
-  background-color: #1b1b1b;
-  background-image: -moz-linear-gradient(top, #222222, #111111);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
-  background-image: -webkit-linear-gradient(top, #222222, #111111);
-  background-image: -o-linear-gradient(top, #222222, #111111);
-  background-image: linear-gradient(to bottom, #222222, #111111);
-  background-repeat: repeat-x;
-  border-color: #252525;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
-}
-
-.navbar-inverse .brand,
-.navbar-inverse .nav > li > a {
-  color: #999999;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-
-.navbar-inverse .brand:hover,
-.navbar-inverse .nav > li > a:hover,
-.navbar-inverse .brand:focus,
-.navbar-inverse .nav > li > a:focus {
-  color: #ffffff;
-}
-
-.navbar-inverse .brand {
-  color: #999999;
-}
-
-.navbar-inverse .navbar-text {
-  color: #999999;
-}
-
-.navbar-inverse .nav > li > a:focus,
-.navbar-inverse .nav > li > a:hover {
-  color: #ffffff;
-  background-color: transparent;
-}
-
-.navbar-inverse .nav .active > a,
-.navbar-inverse .nav .active > a:hover,
-.navbar-inverse .nav .active > a:focus {
-  color: #ffffff;
-  background-color: #111111;
-}
-
-.navbar-inverse .navbar-link {
-  color: #999999;
-}
-
-.navbar-inverse .navbar-link:hover,
-.navbar-inverse .navbar-link:focus {
-  color: #ffffff;
-}
-
-.navbar-inverse .divider-vertical {
-  border-right-color: #222222;
-  border-left-color: #111111;
-}
-
-.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
-.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
-.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
-  color: #ffffff;
-  background-color: #111111;
-}
-
-.navbar-inverse .nav li.dropdown > a:hover .caret,
-.navbar-inverse .nav li.dropdown > a:focus .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-}
-
-.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
-  border-top-color: #999999;
-  border-bottom-color: #999999;
-}
-
-.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
-.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
-.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
-  border-top-color: #ffffff;
-  border-bottom-color: #ffffff;
-}
-
-.navbar-inverse .navbar-search .search-query {
-  color: #ffffff;
-  background-color: #515151;
-  border-color: #111111;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
-  -webkit-transition: none;
-     -moz-transition: none;
-       -o-transition: none;
-          transition: none;
-}
-
-.navbar-inverse .navbar-search .search-query:-moz-placeholder {
-  color: #cccccc;
-}
-
-.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
-  color: #cccccc;
-}
-
-.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
-  color: #cccccc;
-}
-
-.navbar-inverse .navbar-search .search-query:focus,
-.navbar-inverse .navbar-search .search-query.focused {
-  padding: 5px 15px;
-  color: #333333;
-  text-shadow: 0 1px 0 #ffffff;
-  background-color: #ffffff;
-  border: 0;
-  outline: 0;
-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-}
-
-.navbar-inverse .btn-navbar {
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0e0e0e;
-  *background-color: #040404;
-  background-image: -moz-linear-gradient(top, #151515, #040404);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
-  background-image: -webkit-linear-gradient(top, #151515, #040404);
-  background-image: -o-linear-gradient(top, #151515, #040404);
-  background-image: linear-gradient(to bottom, #151515, #040404);
-  background-repeat: repeat-x;
-  border-color: #040404 #040404 #000000;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-
-.navbar-inverse .btn-navbar:hover,
-.navbar-inverse .btn-navbar:focus,
-.navbar-inverse .btn-navbar:active,
-.navbar-inverse .btn-navbar.active,
-.navbar-inverse .btn-navbar.disabled,
-.navbar-inverse .btn-navbar[disabled] {
-  color: #ffffff;
-  background-color: #040404;
-  *background-color: #000000;
-}
-
-.navbar-inverse .btn-navbar:active,
-.navbar-inverse .btn-navbar.active {
-  background-color: #000000 \9;
-}
-
-.breadcrumb {
-  padding: 8px 15px;
-  margin: 0 0 20px;
-  list-style: none;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.breadcrumb > li {
-  display: inline-block;
-  *display: inline;
-  text-shadow: 0 1px 0 #ffffff;
-  *zoom: 1;
-}
-
-.breadcrumb > li > .divider {
-  padding: 0 5px;
-  color: #ccc;
-}
-
-.breadcrumb > .active {
-  color: #999999;
-}
-
-.pagination {
-  margin: 20px 0;
-}
-
-.pagination ul {
-  display: inline-block;
-  *display: inline;
-  margin-bottom: 0;
-  margin-left: 0;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  *zoom: 1;
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-
-.pagination ul > li {
-  display: inline;
-}
-
-.pagination ul > li > a,
-.pagination ul > li > span {
-  float: left;
-  padding: 4px 12px;
-  line-height: 20px;
-  text-decoration: none;
-  background-color: #ffffff;
-  border: 1px solid #dddddd;
-  border-left-width: 0;
-}
-
-.pagination ul > li > a:hover,
-.pagination ul > li > a:focus,
-.pagination ul > .active > a,
-.pagination ul > .active > span {
-  background-color: #f5f5f5;
-}
-
-.pagination ul > .active > a,
-.pagination ul > .active > span {
-  color: #999999;
-  cursor: default;
-}
-
-.pagination ul > .disabled > span,
-.pagination ul > .disabled > a,
-.pagination ul > .disabled > a:hover,
-.pagination ul > .disabled > a:focus {
-  color: #999999;
-  cursor: default;
-  background-color: transparent;
-}
-
-.pagination ul > li:first-child > a,
-.pagination ul > li:first-child > span {
-  border-left-width: 1px;
-  -webkit-border-bottom-left-radius: 4px;
-          border-bottom-left-radius: 4px;
-  -webkit-border-top-left-radius: 4px;
-          border-top-left-radius: 4px;
-  -moz-border-radius-bottomleft: 4px;
-  -moz-border-radius-topleft: 4px;
-}
-
-.pagination ul > li:last-child > a,
-.pagination ul > li:last-child > span {
-  -webkit-border-top-right-radius: 4px;
-          border-top-right-radius: 4px;
-  -webkit-border-bottom-right-radius: 4px;
-          border-bottom-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  -moz-border-radius-bottomright: 4px;
-}
-
-.pagination-centered {
-  text-align: center;
-}
-
-.pagination-right {
-  text-align: right;
-}
-
-.pagination-large ul > li > a,
-.pagination-large ul > li > span {
-  padding: 11px 19px;
-  font-size: 17.5px;
-}
-
-.pagination-large ul > li:first-child > a,
-.pagination-large ul > li:first-child > span {
-  -webkit-border-bottom-left-radius: 6px;
-          border-bottom-left-radius: 6px;
-  -webkit-border-top-left-radius: 6px;
-          border-top-left-radius: 6px;
-  -moz-border-radius-bottomleft: 6px;
-  -moz-border-radius-topleft: 6px;
-}
-
-.pagination-large ul > li:last-child > a,
-.pagination-large ul > li:last-child > span {
-  -webkit-border-top-right-radius: 6px;
-          border-top-right-radius: 6px;
-  -webkit-border-bottom-right-radius: 6px;
-          border-bottom-right-radius: 6px;
-  -moz-border-radius-topright: 6px;
-  -moz-border-radius-bottomright: 6px;
-}
-
-.pagination-mini ul > li:first-child > a,
-.pagination-small ul > li:first-child > a,
-.pagination-mini ul > li:first-child > span,
-.pagination-small ul > li:first-child > span {
-  -webkit-border-bottom-left-radius: 3px;
-          border-bottom-left-radius: 3px;
-  -webkit-border-top-left-radius: 3px;
-          border-top-left-radius: 3px;
-  -moz-border-radius-bottomleft: 3px;
-  -moz-border-radius-topleft: 3px;
-}
-
-.pagination-mini ul > li:last-child > a,
-.pagination-small ul > li:last-child > a,
-.pagination-mini ul > li:last-child > span,
-.pagination-small ul > li:last-child > span {
-  -webkit-border-top-right-radius: 3px;
-          border-top-right-radius: 3px;
-  -webkit-border-bottom-right-radius: 3px;
-          border-bottom-right-radius: 3px;
-  -moz-border-radius-topright: 3px;
-  -moz-border-radius-bottomright: 3px;
-}
-
-.pagination-small ul > li > a,
-.pagination-small ul > li > span {
-  padding: 2px 10px;
-  font-size: 11.9px;
-}
-
-.pagination-mini ul > li > a,
-.pagination-mini ul > li > span {
-  padding: 0 6px;
-  font-size: 10.5px;
-}
-
-.pager {
-  margin: 20px 0;
-  text-align: center;
-  list-style: none;
-  *zoom: 1;
-}
-
-.pager:before,
-.pager:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.pager:after {
-  clear: both;
-}
-
-.pager li {
-  display: inline;
-}
-
-.pager li > a,
-.pager li > span {
-  display: inline-block;
-  padding: 5px 14px;
-  background-color: #fff;
-  border: 1px solid #ddd;
-  -webkit-border-radius: 15px;
-     -moz-border-radius: 15px;
-          border-radius: 15px;
-}
-
-.pager li > a:hover,
-.pager li > a:focus {
-  text-decoration: none;
-  background-color: #f5f5f5;
-}
-
-.pager .next > a,
-.pager .next > span {
-  float: right;
-}
-
-.pager .previous > a,
-.pager .previous > span {
-  float: left;
-}
-
-.pager .disabled > a,
-.pager .disabled > a:hover,
-.pager .disabled > a:focus,
-.pager .disabled > span {
-  color: #999999;
-  cursor: default;
-  background-color: #fff;
-}
-
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1040;
-  background-color: #000000;
-}
-
-.modal-backdrop.fade {
-  opacity: 0;
-}
-
-.modal-backdrop,
-.modal-backdrop.fade.in {
-  opacity: 0.8;
-  filter: alpha(opacity=80);
-}
-
-.modal {
-  position: fixed;
-  top: 10%;
-  left: 50%;
-  z-index: 1050;
-  width: 560px;
-  margin-left: -280px;
-  background-color: #ffffff;
-  border: 1px solid #999;
-  border: 1px solid rgba(0, 0, 0, 0.3);
-  *border: 1px solid #999;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-  outline: none;
-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding-box;
-          background-clip: padding-box;
-}
-
-.modal.fade {
-  top: -25%;
-  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
-     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
-       -o-transition: opacity 0.3s linear, top 0.3s ease-out;
-          transition: opacity 0.3s linear, top 0.3s ease-out;
-}
-
-.modal.fade.in {
-  top: 10%;
-}
-
-.modal-header {
-  padding: 9px 15px;
-  border-bottom: 1px solid #eee;
-}
-
-.modal-header .close {
-  margin-top: 2px;
-}
-
-.modal-header h3 {
-  margin: 0;
-  line-height: 30px;
-}
-
-.modal-body {
-  position: relative;
-  max-height: 400px;
-  padding: 15px;
-  overflow-y: auto;
-}
-
-.modal-form {
-  margin-bottom: 0;
-}
-
-.modal-footer {
-  padding: 14px 15px 15px;
-  margin-bottom: 0;
-  text-align: right;
-  background-color: #f5f5f5;
-  border-top: 1px solid #ddd;
-  -webkit-border-radius: 0 0 6px 6px;
-     -moz-border-radius: 0 0 6px 6px;
-          border-radius: 0 0 6px 6px;
-  *zoom: 1;
-  -webkit-box-shadow: inset 0 1px 0 #ffffff;
-     -moz-box-shadow: inset 0 1px 0 #ffffff;
-          box-shadow: inset 0 1px 0 #ffffff;
-}
-
-.modal-footer:before,
-.modal-footer:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.modal-footer:after {
-  clear: both;
-}
-
-.modal-footer .btn + .btn {
-  margin-bottom: 0;
-  margin-left: 5px;
-}
-
-.modal-footer .btn-group .btn + .btn {
-  margin-left: -1px;
-}
-
-.modal-footer .btn-block + .btn-block {
-  margin-left: 0;
-}
-
-.tooltip {
-  position: absolute;
-  z-index: 1030;
-  display: block;
-  font-size: 11px;
-  line-height: 1.4;
-  opacity: 0;
-  filter: alpha(opacity=0);
-  visibility: visible;
-}
-
-.tooltip.in {
-  opacity: 0.8;
-  filter: alpha(opacity=80);
-}
-
-.tooltip.top {
-  padding: 5px 0;
-  margin-top: -3px;
-}
-
-.tooltip.right {
-  padding: 0 5px;
-  margin-left: 3px;
-}
-
-.tooltip.bottom {
-  padding: 5px 0;
-  margin-top: 3px;
-}
-
-.tooltip.left {
-  padding: 0 5px;
-  margin-left: -3px;
-}
-
-.tooltip-inner {
-  max-width: 200px;
-  padding: 8px;
-  color: #ffffff;
-  text-align: center;
-  text-decoration: none;
-  background-color: #000000;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-
-.tooltip.top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-top-color: #000000;
-  border-width: 5px 5px 0;
-}
-
-.tooltip.right .tooltip-arrow {
-  top: 50%;
-  left: 0;
-  margin-top: -5px;
-  border-right-color: #000000;
-  border-width: 5px 5px 5px 0;
-}
-
-.tooltip.left .tooltip-arrow {
-  top: 50%;
-  right: 0;
-  margin-top: -5px;
-  border-left-color: #000000;
-  border-width: 5px 0 5px 5px;
-}
-
-.tooltip.bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin-left: -5px;
-  border-bottom-color: #000000;
-  border-width: 0 5px 5px;
-}
-
-.popover {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 1010;
-  display: none;
-  max-width: 276px;
-  padding: 1px;
-  text-align: left;
-  white-space: normal;
-  background-color: #ffffff;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-     -moz-background-clip: padding;
-          background-clip: padding-box;
-}
-
-.popover.top {
-  margin-top: -10px;
-}
-
-.popover.right {
-  margin-left: 10px;
-}
-
-.popover.bottom {
-  margin-top: 10px;
-}
-
-.popover.left {
-  margin-left: -10px;
-}
-
-.popover-title {
-  padding: 8px 14px;
-  margin: 0;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 18px;
-  background-color: #f7f7f7;
-  border-bottom: 1px solid #ebebeb;
-  -webkit-border-radius: 5px 5px 0 0;
-     -moz-border-radius: 5px 5px 0 0;
-          border-radius: 5px 5px 0 0;
-}
-
-.popover-title:empty {
-  display: none;
-}
-
-.popover-content {
-  padding: 9px 14px;
-}
-
-.popover .arrow,
-.popover .arrow:after {
-  position: absolute;
-  display: block;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-}
-
-.popover .arrow {
-  border-width: 11px;
-}
-
-.popover .arrow:after {
-  border-width: 10px;
-  content: "";
-}
-
-.popover.top .arrow {
-  bottom: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-top-color: #999;
-  border-top-color: rgba(0, 0, 0, 0.25);
-  border-bottom-width: 0;
-}
-
-.popover.top .arrow:after {
-  bottom: 1px;
-  margin-left: -10px;
-  border-top-color: #ffffff;
-  border-bottom-width: 0;
-}
-
-.popover.right .arrow {
-  top: 50%;
-  left: -11px;
-  margin-top: -11px;
-  border-right-color: #999;
-  border-right-color: rgba(0, 0, 0, 0.25);
-  border-left-width: 0;
-}
-
-.popover.right .arrow:after {
-  bottom: -10px;
-  left: 1px;
-  border-right-color: #ffffff;
-  border-left-width: 0;
-}
-
-.popover.bottom .arrow {
-  top: -11px;
-  left: 50%;
-  margin-left: -11px;
-  border-bottom-color: #999;
-  border-bottom-color: rgba(0, 0, 0, 0.25);
-  border-top-width: 0;
-}
-
-.popover.bottom .arrow:after {
-  top: 1px;
-  margin-left: -10px;
-  border-bottom-color: #ffffff;
-  border-top-width: 0;
-}
-
-.popover.left .arrow {
-  top: 50%;
-  right: -11px;
-  margin-top: -11px;
-  border-left-color: #999;
-  border-left-color: rgba(0, 0, 0, 0.25);
-  border-right-width: 0;
-}
-
-.popover.left .arrow:after {
-  right: 1px;
-  bottom: -10px;
-  border-left-color: #ffffff;
-  border-right-width: 0;
-}
-
-.thumbnails {
-  margin-left: -20px;
-  list-style: none;
-  *zoom: 1;
-}
-
-.thumbnails:before,
-.thumbnails:after {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-
-.thumbnails:after {
-  clear: both;
-}
-
-.row-fluid .thumbnails {
-  margin-left: 0;
-}
-
-.thumbnails > li {
-  float: left;
-  margin-bottom: 20px;
-  margin-left: 20px;
-}
-
-.thumbnail {
-  display: block;
-  padding: 4px;
-  line-height: 20px;
-  border: 1px solid #ddd;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
-     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
-          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
-  -webkit-transition: all 0.2s ease-in-out;
-     -moz-transition: all 0.2s ease-in-out;
-       -o-transition: all 0.2s ease-in-out;
-          transition: all 0.2s ease-in-out;
-}
-
-a.thumbnail:hover,
-a.thumbnail:focus {
-  border-color: #0088cc;
-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-}
-
-.thumbnail > img {
-  display: block;
-  max-width: 100%;
-  margin-right: auto;
-  margin-left: auto;
-}
-
-.thumbnail .caption {
-  padding: 9px;
-  color: #555555;
-}
-
-.media,
-.media-body {
-  overflow: hidden;
-  *overflow: visible;
-  zoom: 1;
-}
-
-.media,
-.media .media {
-  margin-top: 15px;
-}
-
-.media:first-child {
-  margin-top: 0;
-}
-
-.media-object {
-  display: block;
-}
-
-.media-heading {
-  margin: 0 0 5px;
-}
-
-.media > .pull-left {
-  margin-right: 10px;
-}
-
-.media > .pull-right {
-  margin-left: 10px;
-}
-
-.media-list {
-  margin-left: 0;
-  list-style: none;
-}
-
-.label,
-.badge {
-  display: inline-block;
-  padding: 2px 4px;
-  font-size: 11.844px;
-  font-weight: bold;
-  line-height: 14px;
-  color: #ffffff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  white-space: nowrap;
-  vertical-align: baseline;
-  background-color: #999999;
-}
-
-.label {
-  -webkit-border-radius: 3px;
-     -moz-border-radius: 3px;
-          border-radius: 3px;
-}
-
-.badge {
-  padding-right: 9px;
-  padding-left: 9px;
-  -webkit-border-radius: 9px;
-     -moz-border-radius: 9px;
-          border-radius: 9px;
-}
-
-.label:empty,
-.badge:empty {
-  display: none;
-}
-
-a.label:hover,
-a.label:focus,
-a.badge:hover,
-a.badge:focus {
-  color: #ffffff;
-  text-decoration: none;
-  cursor: pointer;
-}
-
-.label-important,
-.badge-important {
-  background-color: #b94a48;
-}
-
-.label-important[href],
-.badge-important[href] {
-  background-color: #953b39;
-}
-
-.label-warning,
-.badge-warning {
-  background-color: #f89406;
-}
-
-.label-warning[href],
-.badge-warning[href] {
-  background-color: #c67605;
-}
-
-.label-success,
-.badge-success {
-  background-color: #468847;
-}
-
-.label-success[href],
-.badge-success[href] {
-  background-color: #356635;
-}
-
-.label-info,
-.badge-info {
-  background-color: #3a87ad;
-}
-
-.label-info[href],
-.badge-info[href] {
-  background-color: #2d6987;
-}
-
-.label-inverse,
-.badge-inverse {
-  background-color: #333333;
-}
-
-.label-inverse[href],
-.badge-inverse[href] {
-  background-color: #1a1a1a;
-}
-
-.btn .label,
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-
-.btn-mini .label,
-.btn-mini .badge {
-  top: 0;
-}
-
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@-moz-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@-ms-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@-o-keyframes progress-bar-stripes {
-  from {
-    background-position: 0 0;
-  }
-  to {
-    background-position: 40px 0;
-  }
-}
-
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-.progress {
-  height: 20px;
-  margin-bottom: 20px;
-  overflow: hidden;
-  background-color: #f7f7f7;
-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
-  background-repeat: repeat-x;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-}
-
-.progress .bar {
-  float: left;
-  width: 0;
-  height: 100%;
-  font-size: 12px;
-  color: #ffffff;
-  text-align: center;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-color: #0e90d2;
-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
-  background-image: -o-linear-gradient(top, #149bdf, #0480be);
-  background-image: linear-gradient(to bottom, #149bdf, #0480be);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  -webkit-box-sizing: border-box;
-     -moz-box-sizing: border-box;
-          box-sizing: border-box;
-  -webkit-transition: width 0.6s ease;
-     -moz-transition: width 0.6s ease;
-       -o-transition: width 0.6s ease;
-          transition: width 0.6s ease;
-}
-
-.progress .bar + .bar {
-  -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-     -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-          box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-}
-
-.progress-striped .bar {
-  background-color: #149bdf;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  -webkit-background-size: 40px 40px;
-     -moz-background-size: 40px 40px;
-       -o-background-size: 40px 40px;
-          background-size: 40px 40px;
-}
-
-.progress.active .bar {
-  -webkit-animation: progress-bar-stripes 2s linear infinite;
-     -moz-animation: progress-bar-stripes 2s linear infinite;
-      -ms-animation: progress-bar-stripes 2s linear infinite;
-       -o-animation: progress-bar-stripes 2s linear infinite;
-          animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress-danger .bar,
-.progress .bar-danger {
-  background-color: #dd514c;
-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
-  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
-}
-
-.progress-danger.progress-striped .bar,
-.progress-striped .bar-danger {
-  background-color: #ee5f5b;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.progress-success .bar,
-.progress .bar-success {
-  background-color: #5eb95e;
-  background-image: -moz-linear-gradient(top, #62c462, #57a957);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
-  background-image: -o-linear-gradient(top, #62c462, #57a957);
-  background-image: linear-gradient(to bottom, #62c462, #57a957);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
-}
-
-.progress-success.progress-striped .bar,
-.progress-striped .bar-success {
-  background-color: #62c462;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.progress-info .bar,
-.progress .bar-info {
-  background-color: #4bb1cf;
-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
-  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
-}
-
-.progress-info.progress-striped .bar,
-.progress-striped .bar-info {
-  background-color: #5bc0de;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.progress-warning .bar,
-.progress .bar-warning {
-  background-color: #faa732;
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
-  background-image: -o-linear-gradient(top, #fbb450, #f89406);
-  background-image: linear-gradient(to bottom, #fbb450, #f89406);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
-}
-
-.progress-warning.progress-striped .bar,
-.progress-striped .bar-warning {
-  background-color: #fbb450;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-
-.accordion {
-  margin-bottom: 20px;
-}
-
-.accordion-group {
-  margin-bottom: 2px;
-  border: 1px solid #e5e5e5;
-  -webkit-border-radius: 4px;
-     -moz-border-radius: 4px;
-          border-radius: 4px;
-}
-
-.accordion-heading {
-  border-bottom: 0;
-}
-
-.accordion-heading .accordion-toggle {
-  display: block;
-  padding: 8px 15px;
-}
-
-.accordion-toggle {
-  cursor: pointer;
-}
-
-.accordion-inner {
-  padding: 9px 15px;
-  border-top: 1px solid #e5e5e5;
-}
-
-.carousel {
-  position: relative;
-  margin-bottom: 20px;
-  line-height: 1;
-}
-
-.carousel-inner {
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-}
-
-.carousel-inner > .item {
-  position: relative;
-  display: none;
-  -webkit-transition: 0.6s ease-in-out left;
-     -moz-transition: 0.6s ease-in-out left;
-       -o-transition: 0.6s ease-in-out left;
-          transition: 0.6s ease-in-out left;
-}
-
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
-  display: block;
-  line-height: 1;
-}
-
-.carousel-inner > .active,
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  display: block;
-}
-
-.carousel-inner > .active {
-  left: 0;
-}
-
-.carousel-inner > .next,
-.carousel-inner > .prev {
-  position: absolute;
-  top: 0;
-  width: 100%;
-}
-
-.carousel-inner > .next {
-  left: 100%;
-}
-
-.carousel-inner > .prev {
-  left: -100%;
-}
-
-.carousel-inner > .next.left,
-.carousel-inner > .prev.right {
-  left: 0;
-}
-
-.carousel-inner > .active.left {
-  left: -100%;
-}
-
-.carousel-inner > .active.right {
-  left: 100%;
-}
-
-.carousel-control {
-  position: absolute;
-  top: 40%;
-  left: 15px;
-  width: 40px;
-  height: 40px;
-  margin-top: -20px;
-  font-size: 60px;
-  font-weight: 100;
-  line-height: 30px;
-  color: #ffffff;
-  text-align: center;
-  background: #222222;
-  border: 3px solid #ffffff;
-  -webkit-border-radius: 23px;
-     -moz-border-radius: 23px;
-          border-radius: 23px;
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-
-.carousel-control.right {
-  right: 15px;
-  left: auto;
-}
-
-.carousel-control:hover,
-.carousel-control:focus {
-  color: #ffffff;
-  text-decoration: none;
-  opacity: 0.9;
-  filter: alpha(opacity=90);
-}
-
-.carousel-indicators {
-  position: absolute;
-  top: 15px;
-  right: 15px;
-  z-index: 5;
-  margin: 0;
-  list-style: none;
-}
-
-.carousel-indicators li {
-  display: block;
-  float: left;
-  width: 10px;
-  height: 10px;
-  margin-left: 5px;
-  text-indent: -999px;
-  background-color: #ccc;
-  background-color: rgba(255, 255, 255, 0.25);
-  border-radius: 5px;
-}
-
-.carousel-indicators .active {
-  background-color: #fff;
-}
-
-.carousel-caption {
-  position: absolute;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  padding: 15px;
-  background: #333333;
-  background: rgba(0, 0, 0, 0.75);
-}
-
-.carousel-caption h4,
-.carousel-caption p {
-  line-height: 20px;
-  color: #ffffff;
-}
-
-.carousel-caption h4 {
-  margin: 0 0 5px;
-}
-
-.carousel-caption p {
-  margin-bottom: 0;
-}
-
-.hero-unit {
-  padding: 60px;
-  margin-bottom: 30px;
-  font-size: 18px;
-  font-weight: 200;
-  line-height: 30px;
-  color: inherit;
-  background-color: #eeeeee;
-  -webkit-border-radius: 6px;
-     -moz-border-radius: 6px;
-          border-radius: 6px;
-}
-
-.hero-unit h1 {
-  margin-bottom: 0;
-  font-size: 60px;
-  line-height: 1;
-  letter-spacing: -1px;
-  color: inherit;
-}
-
-.hero-unit li {
-  line-height: 30px;
-}
-
-.pull-right {
-  float: right;
-}
-
-.pull-left {
-  float: left;
-}
-
-.hide {
-  display: none;
-}
-
-.show {
-  display: block;
-}
-
-.invisible {
-  visibility: hidden;
-}
-
-.affix {
-  position: fixed;
-}
diff --git a/server/target/classes/static/pptx/bootstrap/css/bootstrap.min.css b/server/target/classes/static/pptx/bootstrap/css/bootstrap.min.css
deleted file mode 100644
index df96c86..0000000
--- a/server/target/classes/static/pptx/bootstrap/css/bootstrap.min.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*!
- * Bootstrap v2.3.2
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}
diff --git a/server/target/classes/static/pptx/bootstrap/img/glyphicons-halflings-white.png b/server/target/classes/static/pptx/bootstrap/img/glyphicons-halflings-white.png
deleted file mode 100644
index 3bf6484..0000000
Binary files a/server/target/classes/static/pptx/bootstrap/img/glyphicons-halflings-white.png and /dev/null differ
diff --git a/server/target/classes/static/pptx/bootstrap/img/glyphicons-halflings.png b/server/target/classes/static/pptx/bootstrap/img/glyphicons-halflings.png
deleted file mode 100644
index a996999..0000000
Binary files a/server/target/classes/static/pptx/bootstrap/img/glyphicons-halflings.png and /dev/null differ
diff --git a/server/target/classes/static/pptx/bootstrap/js/bootstrap.js b/server/target/classes/static/pptx/bootstrap/js/bootstrap.js
deleted file mode 100644
index 44109f6..0000000
--- a/server/target/classes/static/pptx/bootstrap/js/bootstrap.js
+++ /dev/null
@@ -1,2280 +0,0 @@
-/* ===================================================
- * bootstrap-transition.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#transitions
- * ===================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
-  /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
-   * ======================================================= */
-
-  $(function () {
-
-    $.support.transition = (function () {
-
-      var transitionEnd = (function () {
-
-        var el = document.createElement('bootstrap')
-          , transEndEventNames = {
-               'WebkitTransition' : 'webkitTransitionEnd'
-            ,  'MozTransition'    : 'transitionend'
-            ,  'OTransition'      : 'oTransitionEnd otransitionend'
-            ,  'transition'       : 'transitionend'
-            }
-          , name
-
-        for (name in transEndEventNames){
-          if (el.style[name] !== undefined) {
-            return transEndEventNames[name]
-          }
-        }
-
-      }())
-
-      return transitionEnd && {
-        end: transitionEnd
-      }
-
-    })()
-
-  })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-alert.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#alerts
- * ==========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* ALERT CLASS DEFINITION
-  * ====================== */
-
-  var dismiss = '[data-dismiss="alert"]'
-    , Alert = function (el) {
-        $(el).on('click', dismiss, this.close)
-      }
-
-  Alert.prototype.close = function (e) {
-    var $this = $(this)
-      , selector = $this.attr('data-target')
-      , $parent
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-    }
-
-    $parent = $(selector)
-
-    e && e.preventDefault()
-
-    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
-
-    $parent.trigger(e = $.Event('close'))
-
-    if (e.isDefaultPrevented()) return
-
-    $parent.removeClass('in')
-
-    function removeElement() {
-      $parent
-        .trigger('closed')
-        .remove()
-    }
-
-    $.support.transition && $parent.hasClass('fade') ?
-      $parent.on($.support.transition.end, removeElement) :
-      removeElement()
-  }
-
-
- /* ALERT PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.alert
-
-  $.fn.alert = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('alert')
-      if (!data) $this.data('alert', (data = new Alert(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  $.fn.alert.Constructor = Alert
-
-
- /* ALERT NO CONFLICT
-  * ================= */
-
-  $.fn.alert.noConflict = function () {
-    $.fn.alert = old
-    return this
-  }
-
-
- /* ALERT DATA-API
-  * ============== */
-
-  $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
-
-}(window.jQuery);/* ============================================================
- * bootstrap-button.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#buttons
- * ============================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* BUTTON PUBLIC CLASS DEFINITION
-  * ============================== */
-
-  var Button = function (element, options) {
-    this.$element = $(element)
-    this.options = $.extend({}, $.fn.button.defaults, options)
-  }
-
-  Button.prototype.setState = function (state) {
-    var d = 'disabled'
-      , $el = this.$element
-      , data = $el.data()
-      , val = $el.is('input') ? 'val' : 'html'
-
-    state = state + 'Text'
-    data.resetText || $el.data('resetText', $el[val]())
-
-    $el[val](data[state] || this.options[state])
-
-    // push to event loop to allow forms to submit
-    setTimeout(function () {
-      state == 'loadingText' ?
-        $el.addClass(d).attr(d, d) :
-        $el.removeClass(d).removeAttr(d)
-    }, 0)
-  }
-
-  Button.prototype.toggle = function () {
-    var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
-
-    $parent && $parent
-      .find('.active')
-      .removeClass('active')
-
-    this.$element.toggleClass('active')
-  }
-
-
- /* BUTTON PLUGIN DEFINITION
-  * ======================== */
-
-  var old = $.fn.button
-
-  $.fn.button = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('button')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('button', (data = new Button(this, options)))
-      if (option == 'toggle') data.toggle()
-      else if (option) data.setState(option)
-    })
-  }
-
-  $.fn.button.defaults = {
-    loadingText: 'loading...'
-  }
-
-  $.fn.button.Constructor = Button
-
-
- /* BUTTON NO CONFLICT
-  * ================== */
-
-  $.fn.button.noConflict = function () {
-    $.fn.button = old
-    return this
-  }
-
-
- /* BUTTON DATA-API
-  * =============== */
-
-  $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
-    var $btn = $(e.target)
-    if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
-    $btn.button('toggle')
-  })
-
-}(window.jQuery);/* ==========================================================
- * bootstrap-carousel.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#carousel
- * ==========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* CAROUSEL CLASS DEFINITION
-  * ========================= */
-
-  var Carousel = function (element, options) {
-    this.$element = $(element)
-    this.$indicators = this.$element.find('.carousel-indicators')
-    this.options = options
-    this.options.pause == 'hover' && this.$element
-      .on('mouseenter', $.proxy(this.pause, this))
-      .on('mouseleave', $.proxy(this.cycle, this))
-  }
-
-  Carousel.prototype = {
-
-    cycle: function (e) {
-      if (!e) this.paused = false
-      if (this.interval) clearInterval(this.interval);
-      this.options.interval
-        && !this.paused
-        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-      return this
-    }
-
-  , getActiveIndex: function () {
-      this.$active = this.$element.find('.item.active')
-      this.$items = this.$active.parent().children()
-      return this.$items.index(this.$active)
-    }
-
-  , to: function (pos) {
-      var activeIndex = this.getActiveIndex()
-        , that = this
-
-      if (pos > (this.$items.length - 1) || pos < 0) return
-
-      if (this.sliding) {
-        return this.$element.one('slid', function () {
-          that.to(pos)
-        })
-      }
-
-      if (activeIndex == pos) {
-        return this.pause().cycle()
-      }
-
-      return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
-    }
-
-  , pause: function (e) {
-      if (!e) this.paused = true
-      if (this.$element.find('.next, .prev').length && $.support.transition.end) {
-        this.$element.trigger($.support.transition.end)
-        this.cycle(true)
-      }
-      clearInterval(this.interval)
-      this.interval = null
-      return this
-    }
-
-  , next: function () {
-      if (this.sliding) return
-      return this.slide('next')
-    }
-
-  , prev: function () {
-      if (this.sliding) return
-      return this.slide('prev')
-    }
-
-  , slide: function (type, next) {
-      var $active = this.$element.find('.item.active')
-        , $next = next || $active[type]()
-        , isCycling = this.interval
-        , direction = type == 'next' ? 'left' : 'right'
-        , fallback  = type == 'next' ? 'first' : 'last'
-        , that = this
-        , e
-
-      this.sliding = true
-
-      isCycling && this.pause()
-
-      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
-
-      e = $.Event('slide', {
-        relatedTarget: $next[0]
-      , direction: direction
-      })
-
-      if ($next.hasClass('active')) return
-
-      if (this.$indicators.length) {
-        this.$indicators.find('.active').removeClass('active')
-        this.$element.one('slid', function () {
-          var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
-          $nextIndicator && $nextIndicator.addClass('active')
-        })
-      }
-
-      if ($.support.transition && this.$element.hasClass('slide')) {
-        this.$element.trigger(e)
-        if (e.isDefaultPrevented()) return
-        $next.addClass(type)
-        $next[0].offsetWidth // force reflow
-        $active.addClass(direction)
-        $next.addClass(direction)
-        this.$element.one($.support.transition.end, function () {
-          $next.removeClass([type, direction].join(' ')).addClass('active')
-          $active.removeClass(['active', direction].join(' '))
-          that.sliding = false
-          setTimeout(function () { that.$element.trigger('slid') }, 0)
-        })
-      } else {
-        this.$element.trigger(e)
-        if (e.isDefaultPrevented()) return
-        $active.removeClass('active')
-        $next.addClass('active')
-        this.sliding = false
-        this.$element.trigger('slid')
-      }
-
-      isCycling && this.cycle()
-
-      return this
-    }
-
-  }
-
-
- /* CAROUSEL PLUGIN DEFINITION
-  * ========================== */
-
-  var old = $.fn.carousel
-
-  $.fn.carousel = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('carousel')
-        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
-        , action = typeof option == 'string' ? option : options.slide
-      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'number') data.to(option)
-      else if (action) data[action]()
-      else if (options.interval) data.pause().cycle()
-    })
-  }
-
-  $.fn.carousel.defaults = {
-    interval: 5000
-  , pause: 'hover'
-  }
-
-  $.fn.carousel.Constructor = Carousel
-
-
- /* CAROUSEL NO CONFLICT
-  * ==================== */
-
-  $.fn.carousel.noConflict = function () {
-    $.fn.carousel = old
-    return this
-  }
-
- /* CAROUSEL DATA-API
-  * ================= */
-
-  $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
-    var $this = $(this), href
-      , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
-      , options = $.extend({}, $target.data(), $this.data())
-      , slideIndex
-
-    $target.carousel(options)
-
-    if (slideIndex = $this.attr('data-slide-to')) {
-      $target.data('carousel').pause().to(slideIndex).cycle()
-    }
-
-    e.preventDefault()
-  })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-collapse.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#collapse
- * =============================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* COLLAPSE PUBLIC CLASS DEFINITION
-  * ================================ */
-
-  var Collapse = function (element, options) {
-    this.$element = $(element)
-    this.options = $.extend({}, $.fn.collapse.defaults, options)
-
-    if (this.options.parent) {
-      this.$parent = $(this.options.parent)
-    }
-
-    this.options.toggle && this.toggle()
-  }
-
-  Collapse.prototype = {
-
-    constructor: Collapse
-
-  , dimension: function () {
-      var hasWidth = this.$element.hasClass('width')
-      return hasWidth ? 'width' : 'height'
-    }
-
-  , show: function () {
-      var dimension
-        , scroll
-        , actives
-        , hasData
-
-      if (this.transitioning || this.$element.hasClass('in')) return
-
-      dimension = this.dimension()
-      scroll = $.camelCase(['scroll', dimension].join('-'))
-      actives = this.$parent && this.$parent.find('> .accordion-group > .in')
-
-      if (actives && actives.length) {
-        hasData = actives.data('collapse')
-        if (hasData && hasData.transitioning) return
-        actives.collapse('hide')
-        hasData || actives.data('collapse', null)
-      }
-
-      this.$element[dimension](0)
-      this.transition('addClass', $.Event('show'), 'shown')
-      $.support.transition && this.$element[dimension](this.$element[0][scroll])
-    }
-
-  , hide: function () {
-      var dimension
-      if (this.transitioning || !this.$element.hasClass('in')) return
-      dimension = this.dimension()
-      this.reset(this.$element[dimension]())
-      this.transition('removeClass', $.Event('hide'), 'hidden')
-      this.$element[dimension](0)
-    }
-
-  , reset: function (size) {
-      var dimension = this.dimension()
-
-      this.$element
-        .removeClass('collapse')
-        [dimension](size || 'auto')
-        [0].offsetWidth
-
-      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
-
-      return this
-    }
-
-  , transition: function (method, startEvent, completeEvent) {
-      var that = this
-        , complete = function () {
-            if (startEvent.type == 'show') that.reset()
-            that.transitioning = 0
-            that.$element.trigger(completeEvent)
-          }
-
-      this.$element.trigger(startEvent)
-
-      if (startEvent.isDefaultPrevented()) return
-
-      this.transitioning = 1
-
-      this.$element[method]('in')
-
-      $.support.transition && this.$element.hasClass('collapse') ?
-        this.$element.one($.support.transition.end, complete) :
-        complete()
-    }
-
-  , toggle: function () {
-      this[this.$element.hasClass('in') ? 'hide' : 'show']()
-    }
-
-  }
-
-
- /* COLLAPSE PLUGIN DEFINITION
-  * ========================== */
-
-  var old = $.fn.collapse
-
-  $.fn.collapse = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('collapse')
-        , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
-      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.collapse.defaults = {
-    toggle: true
-  }
-
-  $.fn.collapse.Constructor = Collapse
-
-
- /* COLLAPSE NO CONFLICT
-  * ==================== */
-
-  $.fn.collapse.noConflict = function () {
-    $.fn.collapse = old
-    return this
-  }
-
-
- /* COLLAPSE DATA-API
-  * ================= */
-
-  $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
-    var $this = $(this), href
-      , target = $this.attr('data-target')
-        || e.preventDefault()
-        || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
-      , option = $(target).data('collapse') ? 'toggle' : $this.data()
-    $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
-    $(target).collapse(option)
-  })
-
-}(window.jQuery);/* ============================================================
- * bootstrap-dropdown.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#dropdowns
- * ============================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* DROPDOWN CLASS DEFINITION
-  * ========================= */
-
-  var toggle = '[data-toggle=dropdown]'
-    , Dropdown = function (element) {
-        var $el = $(element).on('click.dropdown.data-api', this.toggle)
-        $('html').on('click.dropdown.data-api', function () {
-          $el.parent().removeClass('open')
-        })
-      }
-
-  Dropdown.prototype = {
-
-    constructor: Dropdown
-
-  , toggle: function (e) {
-      var $this = $(this)
-        , $parent
-        , isActive
-
-      if ($this.is('.disabled, :disabled')) return
-
-      $parent = getParent($this)
-
-      isActive = $parent.hasClass('open')
-
-      clearMenus()
-
-      if (!isActive) {
-        if ('ontouchstart' in document.documentElement) {
-          // if mobile we we use a backdrop because click events don't delegate
-          $('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
-        }
-        $parent.toggleClass('open')
-      }
-
-      $this.focus()
-
-      return false
-    }
-
-  , keydown: function (e) {
-      var $this
-        , $items
-        , $active
-        , $parent
-        , isActive
-        , index
-
-      if (!/(38|40|27)/.test(e.keyCode)) return
-
-      $this = $(this)
-
-      e.preventDefault()
-      e.stopPropagation()
-
-      if ($this.is('.disabled, :disabled')) return
-
-      $parent = getParent($this)
-
-      isActive = $parent.hasClass('open')
-
-      if (!isActive || (isActive && e.keyCode == 27)) {
-        if (e.which == 27) $parent.find(toggle).focus()
-        return $this.click()
-      }
-
-      $items = $('[role=menu] li:not(.divider):visible a', $parent)
-
-      if (!$items.length) return
-
-      index = $items.index($items.filter(':focus'))
-
-      if (e.keyCode == 38 && index > 0) index--                                        // up
-      if (e.keyCode == 40 && index < $items.length - 1) index++                        // down
-      if (!~index) index = 0
-
-      $items
-        .eq(index)
-        .focus()
-    }
-
-  }
-
-  function clearMenus() {
-    $('.dropdown-backdrop').remove()
-    $(toggle).each(function () {
-      getParent($(this)).removeClass('open')
-    })
-  }
-
-  function getParent($this) {
-    var selector = $this.attr('data-target')
-      , $parent
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-    }
-
-    $parent = selector && $(selector)
-
-    if (!$parent || !$parent.length) $parent = $this.parent()
-
-    return $parent
-  }
-
-
-  /* DROPDOWN PLUGIN DEFINITION
-   * ========================== */
-
-  var old = $.fn.dropdown
-
-  $.fn.dropdown = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('dropdown')
-      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  $.fn.dropdown.Constructor = Dropdown
-
-
- /* DROPDOWN NO CONFLICT
-  * ==================== */
-
-  $.fn.dropdown.noConflict = function () {
-    $.fn.dropdown = old
-    return this
-  }
-
-
-  /* APPLY TO STANDARD DROPDOWN ELEMENTS
-   * =================================== */
-
-  $(document)
-    .on('click.dropdown.data-api', clearMenus)
-    .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
-    .on('click.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)
-    .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
-
-}(window.jQuery);
-/* =========================================================
- * bootstrap-modal.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#modals
- * =========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================= */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* MODAL CLASS DEFINITION
-  * ====================== */
-
-  var Modal = function (element, options) {
-    this.options = options
-    this.$element = $(element)
-      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
-    this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
-  }
-
-  Modal.prototype = {
-
-      constructor: Modal
-
-    , toggle: function () {
-        return this[!this.isShown ? 'show' : 'hide']()
-      }
-
-    , show: function () {
-        var that = this
-          , e = $.Event('show')
-
-        this.$element.trigger(e)
-
-        if (this.isShown || e.isDefaultPrevented()) return
-
-        this.isShown = true
-
-        this.escape()
-
-        this.backdrop(function () {
-          var transition = $.support.transition && that.$element.hasClass('fade')
-
-          if (!that.$element.parent().length) {
-            that.$element.appendTo(document.body) //don't move modals dom position
-          }
-
-          that.$element.show()
-
-          if (transition) {
-            that.$element[0].offsetWidth // force reflow
-          }
-
-          that.$element
-            .addClass('in')
-            .attr('aria-hidden', false)
-
-          that.enforceFocus()
-
-          transition ?
-            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
-            that.$element.focus().trigger('shown')
-
-        })
-      }
-
-    , hide: function (e) {
-        e && e.preventDefault()
-
-        var that = this
-
-        e = $.Event('hide')
-
-        this.$element.trigger(e)
-
-        if (!this.isShown || e.isDefaultPrevented()) return
-
-        this.isShown = false
-
-        this.escape()
-
-        $(document).off('focusin.modal')
-
-        this.$element
-          .removeClass('in')
-          .attr('aria-hidden', true)
-
-        $.support.transition && this.$element.hasClass('fade') ?
-          this.hideWithTransition() :
-          this.hideModal()
-      }
-
-    , enforceFocus: function () {
-        var that = this
-        $(document).on('focusin.modal', function (e) {
-          if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
-            that.$element.focus()
-          }
-        })
-      }
-
-    , escape: function () {
-        var that = this
-        if (this.isShown && this.options.keyboard) {
-          this.$element.on('keyup.dismiss.modal', function ( e ) {
-            e.which == 27 && that.hide()
-          })
-        } else if (!this.isShown) {
-          this.$element.off('keyup.dismiss.modal')
-        }
-      }
-
-    , hideWithTransition: function () {
-        var that = this
-          , timeout = setTimeout(function () {
-              that.$element.off($.support.transition.end)
-              that.hideModal()
-            }, 500)
-
-        this.$element.one($.support.transition.end, function () {
-          clearTimeout(timeout)
-          that.hideModal()
-        })
-      }
-
-    , hideModal: function () {
-        var that = this
-        this.$element.hide()
-        this.backdrop(function () {
-          that.removeBackdrop()
-          that.$element.trigger('hidden')
-        })
-      }
-
-    , removeBackdrop: function () {
-        this.$backdrop && this.$backdrop.remove()
-        this.$backdrop = null
-      }
-
-    , backdrop: function (callback) {
-        var that = this
-          , animate = this.$element.hasClass('fade') ? 'fade' : ''
-
-        if (this.isShown && this.options.backdrop) {
-          var doAnimate = $.support.transition && animate
-
-          this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
-            .appendTo(document.body)
-
-          this.$backdrop.click(
-            this.options.backdrop == 'static' ?
-              $.proxy(this.$element[0].focus, this.$element[0])
-            : $.proxy(this.hide, this)
-          )
-
-          if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
-          this.$backdrop.addClass('in')
-
-          if (!callback) return
-
-          doAnimate ?
-            this.$backdrop.one($.support.transition.end, callback) :
-            callback()
-
-        } else if (!this.isShown && this.$backdrop) {
-          this.$backdrop.removeClass('in')
-
-          $.support.transition && this.$element.hasClass('fade')?
-            this.$backdrop.one($.support.transition.end, callback) :
-            callback()
-
-        } else if (callback) {
-          callback()
-        }
-      }
-  }
-
-
- /* MODAL PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.modal
-
-  $.fn.modal = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('modal')
-        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
-      if (!data) $this.data('modal', (data = new Modal(this, options)))
-      if (typeof option == 'string') data[option]()
-      else if (options.show) data.show()
-    })
-  }
-
-  $.fn.modal.defaults = {
-      backdrop: true
-    , keyboard: true
-    , show: true
-  }
-
-  $.fn.modal.Constructor = Modal
-
-
- /* MODAL NO CONFLICT
-  * ================= */
-
-  $.fn.modal.noConflict = function () {
-    $.fn.modal = old
-    return this
-  }
-
-
- /* MODAL DATA-API
-  * ============== */
-
-  $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
-    var $this = $(this)
-      , href = $this.attr('href')
-      , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
-      , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
-
-    e.preventDefault()
-
-    $target
-      .modal(option)
-      .one('hide', function () {
-        $this.focus()
-      })
-  })
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-tooltip.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#tooltips
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ===========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* TOOLTIP PUBLIC CLASS DEFINITION
-  * =============================== */
-
-  var Tooltip = function (element, options) {
-    this.init('tooltip', element, options)
-  }
-
-  Tooltip.prototype = {
-
-    constructor: Tooltip
-
-  , init: function (type, element, options) {
-      var eventIn
-        , eventOut
-        , triggers
-        , trigger
-        , i
-
-      this.type = type
-      this.$element = $(element)
-      this.options = this.getOptions(options)
-      this.enabled = true
-
-      triggers = this.options.trigger.split(' ')
-
-      for (i = triggers.length; i--;) {
-        trigger = triggers[i]
-        if (trigger == 'click') {
-          this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
-        } else if (trigger != 'manual') {
-          eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
-          eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
-          this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
-          this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
-        }
-      }
-
-      this.options.selector ?
-        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
-        this.fixTitle()
-    }
-
-  , getOptions: function (options) {
-      options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
-
-      if (options.delay && typeof options.delay == 'number') {
-        options.delay = {
-          show: options.delay
-        , hide: options.delay
-        }
-      }
-
-      return options
-    }
-
-  , enter: function (e) {
-      var defaults = $.fn[this.type].defaults
-        , options = {}
-        , self
-
-      this._options && $.each(this._options, function (key, value) {
-        if (defaults[key] != value) options[key] = value
-      }, this)
-
-      self = $(e.currentTarget)[this.type](options).data(this.type)
-
-      if (!self.options.delay || !self.options.delay.show) return self.show()
-
-      clearTimeout(this.timeout)
-      self.hoverState = 'in'
-      this.timeout = setTimeout(function() {
-        if (self.hoverState == 'in') self.show()
-      }, self.options.delay.show)
-    }
-
-  , leave: function (e) {
-      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
-
-      if (this.timeout) clearTimeout(this.timeout)
-      if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
-      self.hoverState = 'out'
-      this.timeout = setTimeout(function() {
-        if (self.hoverState == 'out') self.hide()
-      }, self.options.delay.hide)
-    }
-
-  , show: function () {
-      var $tip
-        , pos
-        , actualWidth
-        , actualHeight
-        , placement
-        , tp
-        , e = $.Event('show')
-
-      if (this.hasContent() && this.enabled) {
-        this.$element.trigger(e)
-        if (e.isDefaultPrevented()) return
-        $tip = this.tip()
-        this.setContent()
-
-        if (this.options.animation) {
-          $tip.addClass('fade')
-        }
-
-        placement = typeof this.options.placement == 'function' ?
-          this.options.placement.call(this, $tip[0], this.$element[0]) :
-          this.options.placement
-
-        $tip
-          .detach()
-          .css({ top: 0, left: 0, display: 'block' })
-
-        this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-
-        pos = this.getPosition()
-
-        actualWidth = $tip[0].offsetWidth
-        actualHeight = $tip[0].offsetHeight
-
-        switch (placement) {
-          case 'bottom':
-            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
-            break
-          case 'top':
-            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
-            break
-          case 'left':
-            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
-            break
-          case 'right':
-            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
-            break
-        }
-
-        this.applyPlacement(tp, placement)
-        this.$element.trigger('shown')
-      }
-    }
-
-  , applyPlacement: function(offset, placement){
-      var $tip = this.tip()
-        , width = $tip[0].offsetWidth
-        , height = $tip[0].offsetHeight
-        , actualWidth
-        , actualHeight
-        , delta
-        , replace
-
-      $tip
-        .offset(offset)
-        .addClass(placement)
-        .addClass('in')
-
-      actualWidth = $tip[0].offsetWidth
-      actualHeight = $tip[0].offsetHeight
-
-      if (placement == 'top' && actualHeight != height) {
-        offset.top = offset.top + height - actualHeight
-        replace = true
-      }
-
-      if (placement == 'bottom' || placement == 'top') {
-        delta = 0
-
-        if (offset.left < 0){
-          delta = offset.left * -2
-          offset.left = 0
-          $tip.offset(offset)
-          actualWidth = $tip[0].offsetWidth
-          actualHeight = $tip[0].offsetHeight
-        }
-
-        this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
-      } else {
-        this.replaceArrow(actualHeight - height, actualHeight, 'top')
-      }
-
-      if (replace) $tip.offset(offset)
-    }
-
-  , replaceArrow: function(delta, dimension, position){
-      this
-        .arrow()
-        .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
-    }
-
-  , setContent: function () {
-      var $tip = this.tip()
-        , title = this.getTitle()
-
-      $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
-      $tip.removeClass('fade in top bottom left right')
-    }
-
-  , hide: function () {
-      var that = this
-        , $tip = this.tip()
-        , e = $.Event('hide')
-
-      this.$element.trigger(e)
-      if (e.isDefaultPrevented()) return
-
-      $tip.removeClass('in')
-
-      function removeWithAnimation() {
-        var timeout = setTimeout(function () {
-          $tip.off($.support.transition.end).detach()
-        }, 500)
-
-        $tip.one($.support.transition.end, function () {
-          clearTimeout(timeout)
-          $tip.detach()
-        })
-      }
-
-      $.support.transition && this.$tip.hasClass('fade') ?
-        removeWithAnimation() :
-        $tip.detach()
-
-      this.$element.trigger('hidden')
-
-      return this
-    }
-
-  , fixTitle: function () {
-      var $e = this.$element
-      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
-        $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
-      }
-    }
-
-  , hasContent: function () {
-      return this.getTitle()
-    }
-
-  , getPosition: function () {
-      var el = this.$element[0]
-      return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
-        width: el.offsetWidth
-      , height: el.offsetHeight
-      }, this.$element.offset())
-    }
-
-  , getTitle: function () {
-      var title
-        , $e = this.$element
-        , o = this.options
-
-      title = $e.attr('data-original-title')
-        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
-
-      return title
-    }
-
-  , tip: function () {
-      return this.$tip = this.$tip || $(this.options.template)
-    }
-
-  , arrow: function(){
-      return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
-    }
-
-  , validate: function () {
-      if (!this.$element[0].parentNode) {
-        this.hide()
-        this.$element = null
-        this.options = null
-      }
-    }
-
-  , enable: function () {
-      this.enabled = true
-    }
-
-  , disable: function () {
-      this.enabled = false
-    }
-
-  , toggleEnabled: function () {
-      this.enabled = !this.enabled
-    }
-
-  , toggle: function (e) {
-      var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
-      self.tip().hasClass('in') ? self.hide() : self.show()
-    }
-
-  , destroy: function () {
-      this.hide().$element.off('.' + this.type).removeData(this.type)
-    }
-
-  }
-
-
- /* TOOLTIP PLUGIN DEFINITION
-  * ========================= */
-
-  var old = $.fn.tooltip
-
-  $.fn.tooltip = function ( option ) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('tooltip')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.tooltip.Constructor = Tooltip
-
-  $.fn.tooltip.defaults = {
-    animation: true
-  , placement: 'top'
-  , selector: false
-  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
-  , trigger: 'hover focus'
-  , title: ''
-  , delay: 0
-  , html: false
-  , container: false
-  }
-
-
- /* TOOLTIP NO CONFLICT
-  * =================== */
-
-  $.fn.tooltip.noConflict = function () {
-    $.fn.tooltip = old
-    return this
-  }
-
-}(window.jQuery);
-/* ===========================================================
- * bootstrap-popover.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#popovers
- * ===========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * =========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* POPOVER PUBLIC CLASS DEFINITION
-  * =============================== */
-
-  var Popover = function (element, options) {
-    this.init('popover', element, options)
-  }
-
-
-  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
-     ========================================== */
-
-  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
-
-    constructor: Popover
-
-  , setContent: function () {
-      var $tip = this.tip()
-        , title = this.getTitle()
-        , content = this.getContent()
-
-      $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
-      $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
-
-      $tip.removeClass('fade top bottom left right in')
-    }
-
-  , hasContent: function () {
-      return this.getTitle() || this.getContent()
-    }
-
-  , getContent: function () {
-      var content
-        , $e = this.$element
-        , o = this.options
-
-      content = (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
-        || $e.attr('data-content')
-
-      return content
-    }
-
-  , tip: function () {
-      if (!this.$tip) {
-        this.$tip = $(this.options.template)
-      }
-      return this.$tip
-    }
-
-  , destroy: function () {
-      this.hide().$element.off('.' + this.type).removeData(this.type)
-    }
-
-  })
-
-
- /* POPOVER PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.popover
-
-  $.fn.popover = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('popover')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('popover', (data = new Popover(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.popover.Constructor = Popover
-
-  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
-    placement: 'right'
-  , trigger: 'click'
-  , content: ''
-  , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
-  })
-
-
- /* POPOVER NO CONFLICT
-  * =================== */
-
-  $.fn.popover.noConflict = function () {
-    $.fn.popover = old
-    return this
-  }
-
-}(window.jQuery);
-/* =============================================================
- * bootstrap-scrollspy.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#scrollspy
- * =============================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* SCROLLSPY CLASS DEFINITION
-  * ========================== */
-
-  function ScrollSpy(element, options) {
-    var process = $.proxy(this.process, this)
-      , $element = $(element).is('body') ? $(window) : $(element)
-      , href
-    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
-    this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
-    this.selector = (this.options.target
-      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
-      || '') + ' .nav li > a'
-    this.$body = $('body')
-    this.refresh()
-    this.process()
-  }
-
-  ScrollSpy.prototype = {
-
-      constructor: ScrollSpy
-
-    , refresh: function () {
-        var self = this
-          , $targets
-
-        this.offsets = $([])
-        this.targets = $([])
-
-        $targets = this.$body
-          .find(this.selector)
-          .map(function () {
-            var $el = $(this)
-              , href = $el.data('target') || $el.attr('href')
-              , $href = /^#\w/.test(href) && $(href)
-            return ( $href
-              && $href.length
-              && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
-          })
-          .sort(function (a, b) { return a[0] - b[0] })
-          .each(function () {
-            self.offsets.push(this[0])
-            self.targets.push(this[1])
-          })
-      }
-
-    , process: function () {
-        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
-          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
-          , maxScroll = scrollHeight - this.$scrollElement.height()
-          , offsets = this.offsets
-          , targets = this.targets
-          , activeTarget = this.activeTarget
-          , i
-
-        if (scrollTop >= maxScroll) {
-          return activeTarget != (i = targets.last()[0])
-            && this.activate ( i )
-        }
-
-        for (i = offsets.length; i--;) {
-          activeTarget != targets[i]
-            && scrollTop >= offsets[i]
-            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
-            && this.activate( targets[i] )
-        }
-      }
-
-    , activate: function (target) {
-        var active
-          , selector
-
-        this.activeTarget = target
-
-        $(this.selector)
-          .parent('.active')
-          .removeClass('active')
-
-        selector = this.selector
-          + '[data-target="' + target + '"],'
-          + this.selector + '[href="' + target + '"]'
-
-        active = $(selector)
-          .parent('li')
-          .addClass('active')
-
-        if (active.parent('.dropdown-menu').length)  {
-          active = active.closest('li.dropdown').addClass('active')
-        }
-
-        active.trigger('activate')
-      }
-
-  }
-
-
- /* SCROLLSPY PLUGIN DEFINITION
-  * =========================== */
-
-  var old = $.fn.scrollspy
-
-  $.fn.scrollspy = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('scrollspy')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.scrollspy.Constructor = ScrollSpy
-
-  $.fn.scrollspy.defaults = {
-    offset: 10
-  }
-
-
- /* SCROLLSPY NO CONFLICT
-  * ===================== */
-
-  $.fn.scrollspy.noConflict = function () {
-    $.fn.scrollspy = old
-    return this
-  }
-
-
- /* SCROLLSPY DATA-API
-  * ================== */
-
-  $(window).on('load', function () {
-    $('[data-spy="scroll"]').each(function () {
-      var $spy = $(this)
-      $spy.scrollspy($spy.data())
-    })
-  })
-
-}(window.jQuery);/* ========================================================
- * bootstrap-tab.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#tabs
- * ========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ======================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* TAB CLASS DEFINITION
-  * ==================== */
-
-  var Tab = function (element) {
-    this.element = $(element)
-  }
-
-  Tab.prototype = {
-
-    constructor: Tab
-
-  , show: function () {
-      var $this = this.element
-        , $ul = $this.closest('ul:not(.dropdown-menu)')
-        , selector = $this.attr('data-target')
-        , previous
-        , $target
-        , e
-
-      if (!selector) {
-        selector = $this.attr('href')
-        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-      }
-
-      if ( $this.parent('li').hasClass('active') ) return
-
-      previous = $ul.find('.active:last a')[0]
-
-      e = $.Event('show', {
-        relatedTarget: previous
-      })
-
-      $this.trigger(e)
-
-      if (e.isDefaultPrevented()) return
-
-      $target = $(selector)
-
-      this.activate($this.parent('li'), $ul)
-      this.activate($target, $target.parent(), function () {
-        $this.trigger({
-          type: 'shown'
-        , relatedTarget: previous
-        })
-      })
-    }
-
-  , activate: function ( element, container, callback) {
-      var $active = container.find('> .active')
-        , transition = callback
-            && $.support.transition
-            && $active.hasClass('fade')
-
-      function next() {
-        $active
-          .removeClass('active')
-          .find('> .dropdown-menu > .active')
-          .removeClass('active')
-
-        element.addClass('active')
-
-        if (transition) {
-          element[0].offsetWidth // reflow for transition
-          element.addClass('in')
-        } else {
-          element.removeClass('fade')
-        }
-
-        if ( element.parent('.dropdown-menu') ) {
-          element.closest('li.dropdown').addClass('active')
-        }
-
-        callback && callback()
-      }
-
-      transition ?
-        $active.one($.support.transition.end, next) :
-        next()
-
-      $active.removeClass('in')
-    }
-  }
-
-
- /* TAB PLUGIN DEFINITION
-  * ===================== */
-
-  var old = $.fn.tab
-
-  $.fn.tab = function ( option ) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('tab')
-      if (!data) $this.data('tab', (data = new Tab(this)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.tab.Constructor = Tab
-
-
- /* TAB NO CONFLICT
-  * =============== */
-
-  $.fn.tab.noConflict = function () {
-    $.fn.tab = old
-    return this
-  }
-
-
- /* TAB DATA-API
-  * ============ */
-
-  $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
-    e.preventDefault()
-    $(this).tab('show')
-  })
-
-}(window.jQuery);/* =============================================================
- * bootstrap-typeahead.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#typeahead
- * =============================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================================================ */
-
-
-!function($){
-
-  "use strict"; // jshint ;_;
-
-
- /* TYPEAHEAD PUBLIC CLASS DEFINITION
-  * ================================= */
-
-  var Typeahead = function (element, options) {
-    this.$element = $(element)
-    this.options = $.extend({}, $.fn.typeahead.defaults, options)
-    this.matcher = this.options.matcher || this.matcher
-    this.sorter = this.options.sorter || this.sorter
-    this.highlighter = this.options.highlighter || this.highlighter
-    this.updater = this.options.updater || this.updater
-    this.source = this.options.source
-    this.$menu = $(this.options.menu)
-    this.shown = false
-    this.listen()
-  }
-
-  Typeahead.prototype = {
-
-    constructor: Typeahead
-
-  , select: function () {
-      var val = this.$menu.find('.active').attr('data-value')
-      this.$element
-        .val(this.updater(val))
-        .change()
-      return this.hide()
-    }
-
-  , updater: function (item) {
-      return item
-    }
-
-  , show: function () {
-      var pos = $.extend({}, this.$element.position(), {
-        height: this.$element[0].offsetHeight
-      })
-
-      this.$menu
-        .insertAfter(this.$element)
-        .css({
-          top: pos.top + pos.height
-        , left: pos.left
-        })
-        .show()
-
-      this.shown = true
-      return this
-    }
-
-  , hide: function () {
-      this.$menu.hide()
-      this.shown = false
-      return this
-    }
-
-  , lookup: function (event) {
-      var items
-
-      this.query = this.$element.val()
-
-      if (!this.query || this.query.length < this.options.minLength) {
-        return this.shown ? this.hide() : this
-      }
-
-      items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
-
-      return items ? this.process(items) : this
-    }
-
-  , process: function (items) {
-      var that = this
-
-      items = $.grep(items, function (item) {
-        return that.matcher(item)
-      })
-
-      items = this.sorter(items)
-
-      if (!items.length) {
-        return this.shown ? this.hide() : this
-      }
-
-      return this.render(items.slice(0, this.options.items)).show()
-    }
-
-  , matcher: function (item) {
-      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
-    }
-
-  , sorter: function (items) {
-      var beginswith = []
-        , caseSensitive = []
-        , caseInsensitive = []
-        , item
-
-      while (item = items.shift()) {
-        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
-        else if (~item.indexOf(this.query)) caseSensitive.push(item)
-        else caseInsensitive.push(item)
-      }
-
-      return beginswith.concat(caseSensitive, caseInsensitive)
-    }
-
-  , highlighter: function (item) {
-      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
-      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
-        return '<strong>' + match + '</strong>'
-      })
-    }
-
-  , render: function (items) {
-      var that = this
-
-      items = $(items).map(function (i, item) {
-        i = $(that.options.item).attr('data-value', item)
-        i.find('a').html(that.highlighter(item))
-        return i[0]
-      })
-
-      items.first().addClass('active')
-      this.$menu.html(items)
-      return this
-    }
-
-  , next: function (event) {
-      var active = this.$menu.find('.active').removeClass('active')
-        , next = active.next()
-
-      if (!next.length) {
-        next = $(this.$menu.find('li')[0])
-      }
-
-      next.addClass('active')
-    }
-
-  , prev: function (event) {
-      var active = this.$menu.find('.active').removeClass('active')
-        , prev = active.prev()
-
-      if (!prev.length) {
-        prev = this.$menu.find('li').last()
-      }
-
-      prev.addClass('active')
-    }
-
-  , listen: function () {
-      this.$element
-        .on('focus',    $.proxy(this.focus, this))
-        .on('blur',     $.proxy(this.blur, this))
-        .on('keypress', $.proxy(this.keypress, this))
-        .on('keyup',    $.proxy(this.keyup, this))
-
-      if (this.eventSupported('keydown')) {
-        this.$element.on('keydown', $.proxy(this.keydown, this))
-      }
-
-      this.$menu
-        .on('click', $.proxy(this.click, this))
-        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
-        .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
-    }
-
-  , eventSupported: function(eventName) {
-      var isSupported = eventName in this.$element
-      if (!isSupported) {
-        this.$element.setAttribute(eventName, 'return;')
-        isSupported = typeof this.$element[eventName] === 'function'
-      }
-      return isSupported
-    }
-
-  , move: function (e) {
-      if (!this.shown) return
-
-      switch(e.keyCode) {
-        case 9: // tab
-        case 13: // enter
-        case 27: // escape
-          e.preventDefault()
-          break
-
-        case 38: // up arrow
-          e.preventDefault()
-          this.prev()
-          break
-
-        case 40: // down arrow
-          e.preventDefault()
-          this.next()
-          break
-      }
-
-      e.stopPropagation()
-    }
-
-  , keydown: function (e) {
-      this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
-      this.move(e)
-    }
-
-  , keypress: function (e) {
-      if (this.suppressKeyPressRepeat) return
-      this.move(e)
-    }
-
-  , keyup: function (e) {
-      switch(e.keyCode) {
-        case 40: // down arrow
-        case 38: // up arrow
-        case 16: // shift
-        case 17: // ctrl
-        case 18: // alt
-          break
-
-        case 9: // tab
-        case 13: // enter
-          if (!this.shown) return
-          this.select()
-          break
-
-        case 27: // escape
-          if (!this.shown) return
-          this.hide()
-          break
-
-        default:
-          this.lookup()
-      }
-
-      e.stopPropagation()
-      e.preventDefault()
-  }
-
-  , focus: function (e) {
-      this.focused = true
-    }
-
-  , blur: function (e) {
-      this.focused = false
-      if (!this.mousedover && this.shown) this.hide()
-    }
-
-  , click: function (e) {
-      e.stopPropagation()
-      e.preventDefault()
-      this.select()
-      this.$element.focus()
-    }
-
-  , mouseenter: function (e) {
-      this.mousedover = true
-      this.$menu.find('.active').removeClass('active')
-      $(e.currentTarget).addClass('active')
-    }
-
-  , mouseleave: function (e) {
-      this.mousedover = false
-      if (!this.focused && this.shown) this.hide()
-    }
-
-  }
-
-
-  /* TYPEAHEAD PLUGIN DEFINITION
-   * =========================== */
-
-  var old = $.fn.typeahead
-
-  $.fn.typeahead = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('typeahead')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.typeahead.defaults = {
-    source: []
-  , items: 8
-  , menu: '<ul class="typeahead dropdown-menu"></ul>'
-  , item: '<li><a href="#"></a></li>'
-  , minLength: 1
-  }
-
-  $.fn.typeahead.Constructor = Typeahead
-
-
- /* TYPEAHEAD NO CONFLICT
-  * =================== */
-
-  $.fn.typeahead.noConflict = function () {
-    $.fn.typeahead = old
-    return this
-  }
-
-
- /* TYPEAHEAD DATA-API
-  * ================== */
-
-  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
-    var $this = $(this)
-    if ($this.data('typeahead')) return
-    $this.typeahead($this.data())
-  })
-
-}(window.jQuery);
-/* ==========================================================
- * bootstrap-affix.js v2.3.2
- * http://getbootstrap.com/2.3.2/javascript.html#affix
- * ==========================================================
- * Copyright 2013 Twitter, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-  "use strict"; // jshint ;_;
-
-
- /* AFFIX CLASS DEFINITION
-  * ====================== */
-
-  var Affix = function (element, options) {
-    this.options = $.extend({}, $.fn.affix.defaults, options)
-    this.$window = $(window)
-      .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
-      .on('click.affix.data-api',  $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
-    this.$element = $(element)
-    this.checkPosition()
-  }
-
-  Affix.prototype.checkPosition = function () {
-    if (!this.$element.is(':visible')) return
-
-    var scrollHeight = $(document).height()
-      , scrollTop = this.$window.scrollTop()
-      , position = this.$element.offset()
-      , offset = this.options.offset
-      , offsetBottom = offset.bottom
-      , offsetTop = offset.top
-      , reset = 'affix affix-top affix-bottom'
-      , affix
-
-    if (typeof offset != 'object') offsetBottom = offsetTop = offset
-    if (typeof offsetTop == 'function') offsetTop = offset.top()
-    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
-
-    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
-      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
-      'bottom' : offsetTop != null && scrollTop <= offsetTop ?
-      'top'    : false
-
-    if (this.affixed === affix) return
-
-    this.affixed = affix
-    this.unpin = affix == 'bottom' ? position.top - scrollTop : null
-
-    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
-  }
-
-
- /* AFFIX PLUGIN DEFINITION
-  * ======================= */
-
-  var old = $.fn.affix
-
-  $.fn.affix = function (option) {
-    return this.each(function () {
-      var $this = $(this)
-        , data = $this.data('affix')
-        , options = typeof option == 'object' && option
-      if (!data) $this.data('affix', (data = new Affix(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  $.fn.affix.Constructor = Affix
-
-  $.fn.affix.defaults = {
-    offset: 0
-  }
-
-
- /* AFFIX NO CONFLICT
-  * ================= */
-
-  $.fn.affix.noConflict = function () {
-    $.fn.affix = old
-    return this
-  }
-
-
- /* AFFIX DATA-API
-  * ============== */
-
-  $(window).on('load', function () {
-    $('[data-spy="affix"]').each(function () {
-      var $spy = $(this)
-        , data = $spy.data()
-
-      data.offset = data.offset || {}
-
-      data.offsetBottom && (data.offset.bottom = data.offsetBottom)
-      data.offsetTop && (data.offset.top = data.offsetTop)
-
-      $spy.affix(data)
-    })
-  })
-
-
-}(window.jQuery);
\ No newline at end of file
diff --git a/server/target/classes/static/pptx/bootstrap/js/bootstrap.min.js b/server/target/classes/static/pptx/bootstrap/js/bootstrap.min.js
deleted file mode 100644
index 848258d..0000000
--- a/server/target/classes/static/pptx/bootstrap/js/bootstrap.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
-* Bootstrap.js by @fat & @mdo
-* Copyright 2013 Twitter, Inc.
-* http://www.apache.org/licenses/LICENSE-2.0.txt
-*/
-!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
\ No newline at end of file
diff --git a/server/target/classes/static/pptx/idocv/idocv_common.min.css b/server/target/classes/static/pptx/idocv/idocv_common.min.css
deleted file mode 100644
index a36eef7..0000000
--- a/server/target/classes/static/pptx/idocv/idocv_common.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.loading-mask{position:absolute;background-color:whiteSmoke;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:2000}.loading-mask .brand{position:absolute;width:100%;bottom:20px}.loading-mask .loading-zone{width:100%;max-width:300px;margin:100px auto}.loading-mask .loading-zone .progress{height:13px}.loading-mask .loading-zone .text{text-align:center;margin:5px auto}.loading-mask .loading-zone .text img{margin-right:10px}.loader{display:none;position:fixed;top:0;left:0;right:0;z-index:1500;text-align:center;font-size:20px;font-weight:200;color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25);padding:10px 20px 0;background-image:linear-gradient(to bottom,#222,#111)}body{padding-top:60px;padding-bottom:40px;line-height:normal !important}.sidebar-nav{padding:9px 0}@media(max-width:980px){.navbar-text.pull-right{float:none;padding-left:5px;padding-right:5px}}.fileinput-button{position:relative;overflow:hidden;float:left;margin-right:4px}.fileinput-button input{position:absolute;top:0;right:0;margin:0;opacity:0;filter:alpha(opacity=0);transform:translate(-300px,0) scale(4);font-size:23px;direction:ltr;cursor:pointer}.navbar .brand{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:80%}.highlight{background-color:#ff8}.highlight-selected{background-color:darkorange}.word-body,.ppt-body{background-color:#ebebeb;min-height:100%;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility}.word-body table{width:auto !important}.word-body .word-page .word-content a{color:inherit !important}body .container-fluid .span12 .tab-content table a{color:inherit !important}.word-page{line-height:normal;margin-right:auto;margin-left:auto;margin-bottom:15px;max-width:795px;background-color:#FFF;-moz-border-radius:1px;border-radius:1px;-moz-box-shadow:0 0 10px 5px #888;-webkit-box-shadow:0 0 10px 5px #888;box-shadow:0 0 10px 5px #888}.word-page .word-content{position:relative;background-color:#FFF;max-width:75%;word-wrap:break-word;word-break:normal;text-align:justify;margin:0 auto;padding-top:10%;padding-bottom:150px}.doc-page .doc-content p{word-wrap:break-word;word-break:normal;margin:0}span.msoIns,span.msoIns ins{mso-style-name:"批注插入";text-decoration:none}span.msoDel,span.msoDel ins{mso-style-name:"批注删除";display:none}.slide-img-container{margin:0 auto;bottom:20px;top:0;right:5px;padding-bottom:10px;position:relative;width:100%;text-align:center}.slide-img-container img{-moz-border-radius:5px;border-radius:2px;-moz-box-shadow:0 0 10px 3px #888;-webkit-box-shadow:0 0 10px 3px #888;box-shadow:0 0 10px 3px #888}.slide-img-container-sync{margin:0 auto;bottom:20px;top:0;right:5px;padding-bottom:10px;position:relative;width:100%;text-align:center}.slide-img-container-sync img{-moz-border-radius:5px;border-radius:2px;-moz-box-shadow:0 0 10px 3px #888;-webkit-box-shadow:0 0 10px 3px #888;box-shadow:0 0 10px 3px #888}.ppt-thumb-border{border:3px solid darkorange}.ppt-turn-left-mask,.ppt-turn-right-mask{position:absolute;width:50%;height:100%;top:0;left:0;z-index:500;cursor:url("../img/arr_left.cur"),auto;display:block}.ppt-turn-right-mask{left:50%;right:0;cursor:url("../img/arr_right.cur"),auto}#cursors{position:relative}#cursors .cursor{position:absolute;width:15px;height:22px;background:url('/static/draw/img/pointer.png') no-repeat -4px 0}.pdf-body{background-color:#ebebeb;min-height:100%;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility}.pdf-page{line-height:normal;margin-right:auto;margin-left:auto;margin-bottom:15px;max-width:795px;background-color:#FFF;-moz-border-radius:1px;border-radius:1px;-moz-box-shadow:0 0 10px 5px #888;-webkit-box-shadow:0 0 10px 5px #888;box-shadow:0 0 10px 5px #888;text-align:center}.pdf-page .pdf-content{position:relative;background-color:#FFF;word-wrap:break-word;word-break:break-all;margin:0 auto}table{border-collapse:collapse;word-wrap:break-word;margin:0 auto}#back-to-top,.touch-device #back-to-top:hover{background:url(../img/arrow-up-large.png) no-repeat center center;background-color:#ddd;background-color:rgba(221,221,221,.7);bottom:20px;color:transparent;display:none;font:0/0 a;height:46px;position:fixed;right:20px;text-shadow:none;-webkit-transition:all .2s ease;-moz-transition:all .2s ease;-ms-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease;width:45px;z-index:3000}#back-to-top:hover,.touch-device #back-to-top:active{background-color:#f15a23}footer{text-align:center}.bottom-paging-progress{position:fixed;width:100%;bottom:0;left:0;margin:0 auto;height:3px}.paging-bottom-all{border-top:1px solid #d8d8d8;height:20px;position:fixed;bottom:0;left:0;right:0;width:100%;cursor:pointer}.paging-bottom-sub{float:left;display:inline-block;text-align:center;height:20px;font-weight:bold;color:green}@media(max-width:767px){.navbar .brand{max-width:55%}.word-page .word-content{max-width:85%}.word-body .container-fluid-content{padding-left:0;padding-right:0}.word-body,.ppt-body,.pdf-body{background-color:#FFF}.word-page{-moz-box-shadow:0 0 10px 5px #FFF;-webkit-box-shadow:0 0 0 0 #FFF;box-shadow:0 0 0 0 #FFF}.pdf-body .container-fluid-content{padding-left:0;padding-right:0}}.alert-error{text-align:center}
\ No newline at end of file
diff --git a/server/target/classes/static/pptx/idocv/idocv_common.min.js b/server/target/classes/static/pptx/idocv/idocv_common.min.js
deleted file mode 100644
index 3856354..0000000
--- a/server/target/classes/static/pptx/idocv/idocv_common.min.js
+++ /dev/null
@@ -1,132 +0,0 @@
-!function(e,f){"object"==typeof exports&&"undefined"!=typeof module?f(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],f):f(e.bootstrap={},e.jQuery,e.Popper)}(this,function(e,f,k){function m(g,d){for(var a=0;a<d.length;a++){var b=d[a];b.enumerable=b.enumerable||!1;b.configurable=!0;"value"in b&&(b.writable=!0);Object.defineProperty(g,b.key,b)}}function t(g,d,a){return d&&m(g.prototype,d),a&&m(g,a),g}function p(g){for(var d=
-1;d<arguments.length;d++){var a=null!=arguments[d]?arguments[d]:{},b=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(b=b.concat(Object.getOwnPropertySymbols(a).filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})));b.forEach(function(b){var c;c=a[b];b in g?Object.defineProperty(g,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):g[b]=c})}return g}f=f&&f.hasOwnProperty("default")?f.default:f;k=k&&k.hasOwnProperty("default")?k.default:k;var n,F,x,C,y,K,H,
-z,h,aa,D,ba,I,L,v,ca,U,Y,M,N,u,da,ea,E,fa,ga,J,l,ha,V,ia,A,O,q,ja,ka,la,ma,na,oa,S,G,pa,qa,ra,sa,ta,T,B,ua,Z,va,W,P,w,wa,Q,R,r=function(g){var d={TRANSITION_END:"bsTransitionEnd",getUID:function(a){for(;a+=~~(1E6*Math.random()),document.getElementById(a););return a},getSelectorFromElement:function(a){var b=a.getAttribute("data-target");b&&"#"!==b||(b=a.getAttribute("href")||"");try{return document.querySelector(b)?b:null}catch(c){return null}},getTransitionDurationFromElement:function(a){if(!a)return 0;
-a=g(a).css("transition-duration");return parseFloat(a)?(a=a.split(",")[0],1E3*parseFloat(a)):0},reflow:function(a){return a.offsetHeight},triggerTransitionEnd:function(a){g(a).trigger("transitionend")},supportsTransitionEnd:function(){return!0},isElement:function(a){return(a[0]||a).nodeType},typeCheckConfig:function(a,b,c){for(var g in c)if(Object.prototype.hasOwnProperty.call(c,g)){var h=c[g],e=b[g],e=e&&d.isElement(e)?"element":(f=e,{}.toString.call(f).match(/\s([a-z]+)/i)[1].toLowerCase());if(!(new RegExp(h)).test(e))throw Error(a.toUpperCase()+
-': Option "'+g+'" provided type "'+e+'" but expected type "'+h+'".');}var f}};return g.fn.emulateTransitionEnd=function(a){var b=this,c=!1;return g(this).one(d.TRANSITION_END,function(){c=!0}),setTimeout(function(){c||d.triggerTransitionEnd(b)},a),this},g.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(a){if(g(a.target).is(this))return a.handleObj.handler.apply(this,arguments)}},d}(f),xa=(F=(n=f).fn.alert,x={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",
-CLICK_DATA_API:"click.bs.alert.data-api"},C=function(){function g(a){this._element=a}var d=g.prototype;return d.close=function(a){var b=this._element;a&&(b=this._getRootElement(a));this._triggerCloseEvent(b).isDefaultPrevented()||this._removeElement(b)},d.dispose=function(){n.removeData(this._element,"bs.alert");this._element=null},d._getRootElement=function(a){var b=r.getSelectorFromElement(a),c=!1;return b&&(c=document.querySelector(b)),c||(c=n(a).closest(".alert")[0]),c},d._triggerCloseEvent=function(a){var b=
-n.Event(x.CLOSE);return n(a).trigger(b),b},d._removeElement=function(a){var b=this;if(n(a).removeClass("show"),n(a).hasClass("fade")){var c=r.getTransitionDurationFromElement(a);n(a).one(r.TRANSITION_END,function(c){return b._destroyElement(a,c)}).emulateTransitionEnd(c)}else this._destroyElement(a)},d._destroyElement=function(a){n(a).detach().trigger(x.CLOSED).remove()},g._jQueryInterface=function(a){return this.each(function(){var b=n(this),c=b.data("bs.alert");c||(c=new g(this),b.data("bs.alert",
-c));"close"===a&&c[a](this)})},g._handleDismiss=function(a){return function(b){b&&b.preventDefault();a.close(this)}},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),g}(),n(document).on(x.CLICK_DATA_API,'[data-dismiss\x3d"alert"]',C._handleDismiss(new C)),n.fn.alert=C._jQueryInterface,n.fn.alert.Constructor=C,n.fn.alert.noConflict=function(){return n.fn.alert=F,C._jQueryInterface},C),ya=(K=(y=f).fn.button,H={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},
-z=function(){function g(a){this._element=a}var d=g.prototype;return d.toggle=function(){var a=!0,b=!0,c=y(this._element).closest('[data-toggle\x3d"buttons"]')[0];if(c){var d=this._element.querySelector("input");if(d){"radio"===d.type&&(d.checked&&this._element.classList.contains("active")?a=!1:(b=c.querySelector(".active"))&&y(b).removeClass("active"));if(a){if(d.hasAttribute("disabled")||c.hasAttribute("disabled")||d.classList.contains("disabled")||c.classList.contains("disabled"))return;d.checked=
-!this._element.classList.contains("active");y(d).trigger("change")}d.focus();b=!1}}b&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active"));a&&y(this._element).toggleClass("active")},d.dispose=function(){y.removeData(this._element,"bs.button");this._element=null},g._jQueryInterface=function(a){return this.each(function(){var b=y(this).data("bs.button");b||(b=new g(this),y(this).data("bs.button",b));"toggle"===a&&b[a]()})},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),
-g}(),y(document).on(H.CLICK_DATA_API,'[data-toggle^\x3d"button"]',function(g){g.preventDefault();g=g.target;y(g).hasClass("btn")||(g=y(g).closest(".btn"));z._jQueryInterface.call(y(g),"toggle")}).on(H.FOCUS_BLUR_DATA_API,'[data-toggle^\x3d"button"]',function(g){var d=y(g.target).closest(".btn")[0];y(d).toggleClass("focus",/^focus(in)?$/.test(g.type))}),y.fn.button=z._jQueryInterface,y.fn.button.Constructor=z,y.fn.button.noConflict=function(){return y.fn.button=K,z._jQueryInterface},z);H=(aa=(h=f).fn.carousel,
-D={interval:5E3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},ba={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},I={SLIDE:"slide.bs.carousel",SLID:"slid.bs.carousel",KEYDOWN:"keydown.bs.carousel",MOUSEENTER:"mouseenter.bs.carousel",MOUSELEAVE:"mouseleave.bs.carousel",TOUCHEND:"touchend.bs.carousel",LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},L=function(){function g(a,b){this._activeElement=this._interval=
-this._items=null;this._isSliding=this._isPaused=!1;this.touchTimeout=null;this._config=this._getConfig(b);this._element=h(a)[0];this._indicatorsElement=this._element.querySelector(".carousel-indicators");this._addEventListeners()}var d=g.prototype;return d.next=function(){this._isSliding||this._slide("next")},d.nextWhenVisible=function(){!document.hidden&&h(this._element).is(":visible")&&"hidden"!==h(this._element).css("visibility")&&this.next()},d.prev=function(){this._isSliding||this._slide("prev")},
-d.pause=function(a){a||(this._isPaused=!0);this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(r.triggerTransitionEnd(this._element),this.cycle(!0));clearInterval(this._interval);this._interval=null},d.cycle=function(a){a||(this._isPaused=!1);this._interval&&(clearInterval(this._interval),this._interval=null);this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},d.to=function(a){var b=
-this;this._activeElement=this._element.querySelector(".active.carousel-item");var c=this._getItemIndex(this._activeElement);if(!(a>this._items.length-1||0>a))if(this._isSliding)h(this._element).one(I.SLID,function(){return b.to(a)});else{if(c===a)return this.pause(),void this.cycle();this._slide(c<a?"next":"prev",this._items[a])}},d.dispose=function(){h(this._element).off(".bs.carousel");h.removeData(this._element,"bs.carousel");this._indicatorsElement=this._activeElement=this._isSliding=this._isPaused=
-this._interval=this._element=this._config=this._items=null},d._getConfig=function(a){return a=p({},D,a),r.typeCheckConfig("carousel",a,ba),a},d._addEventListeners=function(){var a=this;this._config.keyboard&&h(this._element).on(I.KEYDOWN,function(b){return a._keydown(b)});"hover"===this._config.pause&&(h(this._element).on(I.MOUSEENTER,function(b){return a.pause(b)}).on(I.MOUSELEAVE,function(b){return a.cycle(b)}),"ontouchstart"in document.documentElement&&h(this._element).on(I.TOUCHEND,function(){a.pause();
-a.touchTimeout&&clearTimeout(a.touchTimeout);a.touchTimeout=setTimeout(function(b){return a.cycle(b)},500+a._config.interval)}))},d._keydown=function(a){if(!/input|textarea/i.test(a.target.tagName))switch(a.which){case 37:a.preventDefault();this.prev();break;case 39:a.preventDefault(),this.next()}},d._getItemIndex=function(a){return this._items=a&&a.parentNode?[].slice.call(a.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(a)},d._getItemByDirection=function(a,b){var c="next"===
-a,d="prev"===a,g=this._getItemIndex(b),h=this._items.length-1;if((d&&0===g||c&&g===h)&&!this._config.wrap)return b;a=(g+("prev"===a?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},d._triggerSlideEvent=function(a,b){var c=this._getItemIndex(a),d=this._getItemIndex(this._element.querySelector(".active.carousel-item"));a=h.Event(I.SLIDE,{relatedTarget:a,direction:b,from:d,to:c});return h(this._element).trigger(a),a},d._setActiveIndicatorElement=function(a){if(this._indicatorsElement){var b=
-[].slice.call(this._indicatorsElement.querySelectorAll(".active"));h(b).removeClass("active");(a=this._indicatorsElement.children[this._getItemIndex(a)])&&h(a).addClass("active")}},d._slide=function(a,b){var c,d,g,e=this,f=this._element.querySelector(".active.carousel-item"),D=this._getItemIndex(f),l=b||f&&this._getItemByDirection(a,f),m=this._getItemIndex(l);b=!!this._interval;if("next"===a?(c="carousel-item-left",d="carousel-item-next",g="left"):(c="carousel-item-right",d="carousel-item-prev",g=
-"right"),l&&h(l).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(l,g).isDefaultPrevented()&&f&&l){this._isSliding=!0;b&&this.pause();this._setActiveIndicatorElement(l);var k=h.Event(I.SLID,{relatedTarget:l,direction:g,from:D,to:m});h(this._element).hasClass("slide")?(h(l).addClass(d),r.reflow(l),h(f).addClass(c),h(l).addClass(c),a=r.getTransitionDurationFromElement(f),h(f).one(r.TRANSITION_END,function(){h(l).removeClass(c+" "+d).addClass("active");h(f).removeClass("active "+
-d+" "+c);e._isSliding=!1;setTimeout(function(){return h(e._element).trigger(k)},0)}).emulateTransitionEnd(a)):(h(f).removeClass("active"),h(l).addClass("active"),this._isSliding=!1,h(this._element).trigger(k));b&&this.cycle()}},g._jQueryInterface=function(a){return this.each(function(){var b=h(this).data("bs.carousel"),c=p({},D,h(this).data());"object"==typeof a&&(c=p({},c,a));var d="string"==typeof a?a:c.slide;if(b||(b=new g(this,c),h(this).data("bs.carousel",b)),"number"==typeof a)b.to(a);else if("string"==
-typeof d){if("undefined"==typeof b[d])throw new TypeError('No method named "'+d+'"');b[d]()}else c.interval&&(b.pause(),b.cycle())})},g._dataApiClickHandler=function(a){var b=r.getSelectorFromElement(this);if(b&&(b=h(b)[0])&&h(b).hasClass("carousel")){var c=p({},h(b).data(),h(this).data()),d=this.getAttribute("data-slide-to");d&&(c.interval=!1);g._jQueryInterface.call(h(b),c);d&&h(b).data("bs.carousel").to(d);a.preventDefault()}},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",
-get:function(){return D}}]),g}(),h(document).on(I.CLICK_DATA_API,"[data-slide], [data-slide-to]",L._dataApiClickHandler),h(window).on(I.LOAD_DATA_API,function(){for(var g=[].slice.call(document.querySelectorAll('[data-ride\x3d"carousel"]')),d=0,a=g.length;d<a;d++){var b=h(g[d]);L._jQueryInterface.call(b,b.data())}}),h.fn.carousel=L._jQueryInterface,h.fn.carousel.Constructor=L,h.fn.carousel.noConflict=function(){return h.fn.carousel=aa,L._jQueryInterface},L);var za=(ca=(v=f).fn.collapse,U={toggle:!0,
-parent:""},Y={toggle:"boolean",parent:"(string|element)"},M={SHOW:"show.bs.collapse",SHOWN:"shown.bs.collapse",HIDE:"hide.bs.collapse",HIDDEN:"hidden.bs.collapse",CLICK_DATA_API:"click.bs.collapse.data-api"},N=function(){function g(a,b){this._isTransitioning=!1;this._element=a;this._config=this._getConfig(b);this._triggerArray=v.makeArray(document.querySelectorAll('[data-toggle\x3d"collapse"][href\x3d"#'+a.id+'"],[data-toggle\x3d"collapse"][data-target\x3d"#'+a.id+'"]'));b=[].slice.call(document.querySelectorAll('[data-toggle\x3d"collapse"]'));
-for(var c=0,d=b.length;c<d;c++){var g=b[c],h=r.getSelectorFromElement(g),f=[].slice.call(document.querySelectorAll(h)).filter(function(b){return b===a});null!==h&&0<f.length&&(this._selector=h,this._triggerArray.push(g))}this._parent=this._config.parent?this._getParent():null;this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray);this._config.toggle&&this.toggle()}var d=g.prototype;return d.toggle=function(){v(this._element).hasClass("show")?this.hide():this.show()},
-d.show=function(){var a,b,c=this;if(!(this._isTransitioning||v(this._element).hasClass("show")||(this._parent&&0===(a=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function(a){return a.getAttribute("data-parent")===c._config.parent})).length&&(a=null),a&&(b=v(a).not(this._selector).data("bs.collapse"))&&b._isTransitioning))){var d=v.Event(M.SHOW);if(v(this._element).trigger(d),!d.isDefaultPrevented()){a&&(g._jQueryInterface.call(v(a).not(this._selector),"hide"),b||v(a).data("bs.collapse",
-null));var h=this._getDimension();v(this._element).removeClass("collapse").addClass("collapsing");this._element.style[h]=0;this._triggerArray.length&&v(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0);this.setTransitioning(!0);a="scroll"+(h[0].toUpperCase()+h.slice(1));b=r.getTransitionDurationFromElement(this._element);v(this._element).one(r.TRANSITION_END,function(){v(c._element).removeClass("collapsing").addClass("collapse").addClass("show");c._element.style[h]="";c.setTransitioning(!1);
-v(c._element).trigger(M.SHOWN)}).emulateTransitionEnd(b);this._element.style[h]=this._element[a]+"px"}}},d.hide=function(){var a=this;if(!this._isTransitioning&&v(this._element).hasClass("show")){var b=v.Event(M.HIDE);if(v(this._element).trigger(b),!b.isDefaultPrevented()){b=this._getDimension();this._element.style[b]=this._element.getBoundingClientRect()[b]+"px";r.reflow(this._element);v(this._element).addClass("collapsing").removeClass("collapse").removeClass("show");var c=this._triggerArray.length;
-if(0<c)for(var d=0;d<c;d++){var g=this._triggerArray[d],h=r.getSelectorFromElement(g);null!==h&&(v([].slice.call(document.querySelectorAll(h))).hasClass("show")||v(g).addClass("collapsed").attr("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[b]="";b=r.getTransitionDurationFromElement(this._element);v(this._element).one(r.TRANSITION_END,function(){a.setTransitioning(!1);v(a._element).removeClass("collapsing").addClass("collapse").trigger(M.HIDDEN)}).emulateTransitionEnd(b)}}},d.setTransitioning=
-function(a){this._isTransitioning=a},d.dispose=function(){v.removeData(this._element,"bs.collapse");this._isTransitioning=this._triggerArray=this._element=this._parent=this._config=null},d._getConfig=function(a){return(a=p({},U,a)).toggle=!!a.toggle,r.typeCheckConfig("collapse",a,Y),a},d._getDimension=function(){return v(this._element).hasClass("width")?"width":"height"},d._getParent=function(){var a=this,b=null;r.isElement(this._config.parent)?(b=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&
-(b=this._config.parent[0])):b=document.querySelector(this._config.parent);var c=[].slice.call(b.querySelectorAll('[data-toggle\x3d"collapse"][data-parent\x3d"'+this._config.parent+'"]'));return v(c).each(function(b,c){a._addAriaAndCollapsedClass(g._getTargetFromElement(c),[c])}),b},d._addAriaAndCollapsedClass=function(a,b){a&&(a=v(a).hasClass("show"),b.length&&v(b).toggleClass("collapsed",!a).attr("aria-expanded",a))},g._getTargetFromElement=function(a){return(a=r.getSelectorFromElement(a))?document.querySelector(a):
-null},g._jQueryInterface=function(a){return this.each(function(){var b=v(this),c=b.data("bs.collapse"),d=p({},U,b.data(),"object"==typeof a&&a?a:{});if(!c&&d.toggle&&/show|hide/.test(a)&&(d.toggle=!1),c||(c=new g(this,d),b.data("bs.collapse",c)),"string"==typeof a){if("undefined"==typeof c[a])throw new TypeError('No method named "'+a+'"');c[a]()}})},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return U}}]),g}(),v(document).on(M.CLICK_DATA_API,'[data-toggle\x3d"collapse"]',
-function(g){"A"===g.currentTarget.tagName&&g.preventDefault();var d=v(this);g=r.getSelectorFromElement(this);g=[].slice.call(document.querySelectorAll(g));v(g).each(function(){var a=v(this),b=a.data("bs.collapse")?"toggle":d.data();N._jQueryInterface.call(a,b)})}),v.fn.collapse=N._jQueryInterface,v.fn.collapse.Constructor=N,v.fn.collapse.noConflict=function(){return v.fn.collapse=ca,N._jQueryInterface},N),Aa=(da=(u=f).fn.dropdown,ea=/38|40|27/,E={HIDE:"hide.bs.dropdown",HIDDEN:"hidden.bs.dropdown",
-SHOW:"show.bs.dropdown",SHOWN:"shown.bs.dropdown",CLICK:"click.bs.dropdown",CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},fa={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},ga={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},J=function(){function g(a,b){this._element=a;this._popper=null;this._config=this._getConfig(b);
-this._menu=this._getMenuElement();this._inNavbar=this._detectNavbar();this._addEventListeners()}var d=g.prototype;return d.toggle=function(){if(!this._element.disabled&&!u(this._element).hasClass("disabled")){var a=g._getParentFromElement(this._element),b=u(this._menu).hasClass("show");if(g._clearMenus(),!b){var b={relatedTarget:this._element},c=u.Event(E.SHOW,b);if(u(a).trigger(c),!c.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof k)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");
-c=this._element;"parent"===this._config.reference?c=a:r.isElement(this._config.reference)&&(c=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(c=this._config.reference[0]));"scrollParent"!==this._config.boundary&&u(a).addClass("position-static");this._popper=new k(c,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===u(a).closest(".navbar-nav").length&&u(document.body).children().on("mouseover",null,u.noop);this._element.focus();this._element.setAttribute("aria-expanded",
-!0);u(this._menu).toggleClass("show");u(a).toggleClass("show").trigger(u.Event(E.SHOWN,b))}}}},d.dispose=function(){u.removeData(this._element,"bs.dropdown");u(this._element).off(".bs.dropdown");this._element=null;(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},d.update=function(){this._inNavbar=this._detectNavbar();null!==this._popper&&this._popper.scheduleUpdate()},d._addEventListeners=function(){var a=this;u(this._element).on(E.CLICK,function(b){b.preventDefault();
-b.stopPropagation();a.toggle()})},d._getConfig=function(a){return a=p({},this.constructor.Default,u(this._element).data(),a),r.typeCheckConfig("dropdown",a,this.constructor.DefaultType),a},d._getMenuElement=function(){if(!this._menu){var a=g._getParentFromElement(this._element);a&&(this._menu=a.querySelector(".dropdown-menu"))}return this._menu},d._getPlacement=function(){var a=u(this._element.parentNode),b="bottom-start";return a.hasClass("dropup")?(b="top-start",u(this._menu).hasClass("dropdown-menu-right")&&
-(b="top-end")):a.hasClass("dropright")?b="right-start":a.hasClass("dropleft")?b="left-start":u(this._menu).hasClass("dropdown-menu-right")&&(b="bottom-end"),b},d._detectNavbar=function(){return 0<u(this._element).closest(".navbar").length},d._getPopperConfig=function(){var a=this,b={};"function"==typeof this._config.offset?b.fn=function(b){return b.offsets=p({},b.offsets,a._config.offset(b.offsets)||{}),b}:b.offset=this._config.offset;b={placement:this._getPlacement(),modifiers:{offset:b,flip:{enabled:this._config.flip},
-preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(b.modifiers.applyStyle={enabled:!1}),b},g._jQueryInterface=function(a){return this.each(function(){var b=u(this).data("bs.dropdown");if(b||(b=new g(this,"object"==typeof a?a:null),u(this).data("bs.dropdown",b)),"string"==typeof a){if("undefined"==typeof b[a])throw new TypeError('No method named "'+a+'"');b[a]()}})},g._clearMenus=function(a){if(!a||3!==a.which&&("keyup"!==a.type||9===a.which))for(var b=
-[].slice.call(document.querySelectorAll('[data-toggle\x3d"dropdown"]')),c=0,d=b.length;c<d;c++){var h=g._getParentFromElement(b[c]),f=u(b[c]).data("bs.dropdown"),e={relatedTarget:b[c]};if(a&&"click"===a.type&&(e.clickEvent=a),f)if(f=f._menu,u(h).hasClass("show")&&!(a&&("click"===a.type&&/input|textarea/i.test(a.target.tagName)||"keyup"===a.type&&9===a.which)&&u.contains(h,a.target))){var l=u.Event(E.HIDE,e);u(h).trigger(l);l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&u(document.body).children().off("mouseover",
-null,u.noop),b[c].setAttribute("aria-expanded","false"),u(f).removeClass("show"),u(h).removeClass("show").trigger(u.Event(E.HIDDEN,e)))}}},g._getParentFromElement=function(a){var b,c=r.getSelectorFromElement(a);return c&&(b=document.querySelector(c)),b||a.parentNode},g._dataApiKeydownHandler=function(a){if(!((/input|textarea/i.test(a.target.tagName)?32===a.which||27!==a.which&&(40!==a.which&&38!==a.which||u(a.target).closest(".dropdown-menu").length):!ea.test(a.which))||(a.preventDefault(),a.stopPropagation(),
-this.disabled||u(this).hasClass("disabled")))){var b=g._getParentFromElement(this),c=u(b).hasClass("show");(c||27===a.which&&32===a.which)&&(!c||27!==a.which&&32!==a.which)?(b=[].slice.call(b.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")),0!==b.length&&(c=b.indexOf(a.target),38===a.which&&0<c&&c--,40===a.which&&c<b.length-1&&c++,0>c&&(c=0),b[c].focus())):(27===a.which&&(a=b.querySelector('[data-toggle\x3d"dropdown"]'),u(a).trigger("focus")),u(this).trigger("click"))}},
-t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return fa}},{key:"DefaultType",get:function(){return ga}}]),g}(),u(document).on(E.KEYDOWN_DATA_API,'[data-toggle\x3d"dropdown"]',J._dataApiKeydownHandler).on(E.KEYDOWN_DATA_API,".dropdown-menu",J._dataApiKeydownHandler).on(E.CLICK_DATA_API+" "+E.KEYUP_DATA_API,J._clearMenus).on(E.CLICK_DATA_API,'[data-toggle\x3d"dropdown"]',function(g){g.preventDefault();g.stopPropagation();J._jQueryInterface.call(u(this),"toggle")}).on(E.CLICK_DATA_API,
-".dropdown form",function(g){g.stopPropagation()}),u.fn.dropdown=J._jQueryInterface,u.fn.dropdown.Constructor=J,u.fn.dropdown.noConflict=function(){return u.fn.dropdown=da,J._jQueryInterface},J),Ba=(ha=(l=f).fn.modal,V={backdrop:!0,keyboard:!0,focus:!0,show:!0},ia={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},A={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",
-KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},O=function(){function g(a,b){this._config=this._getConfig(b);this._element=a;this._dialog=a.querySelector(".modal-dialog");this._backdrop=null;this._ignoreBackdropClick=this._isBodyOverflowing=this._isShown=!1;this._scrollbarWidth=0}var d=g.prototype;return d.toggle=function(a){return this._isShown?this.hide():this.show(a)},
-d.show=function(a){var b=this;if(!this._isTransitioning&&!this._isShown){l(this._element).hasClass("fade")&&(this._isTransitioning=!0);var c=l.Event(A.SHOW,{relatedTarget:a});l(this._element).trigger(c);this._isShown||c.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),l(document.body).addClass("modal-open"),this._setEscapeEvent(),this._setResizeEvent(),l(this._element).on(A.CLICK_DISMISS,'[data-dismiss\x3d"modal"]',function(a){return b.hide(a)}),
-l(this._dialog).on(A.MOUSEDOWN_DISMISS,function(){l(b._element).one(A.MOUSEUP_DISMISS,function(a){l(a.target).is(b._element)&&(b._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return b._showElement(a)}))}},d.hide=function(a){var b=this;if(a&&a.preventDefault(),!this._isTransitioning&&this._isShown)if(a=l.Event(A.HIDE),l(this._element).trigger(a),this._isShown&&!a.isDefaultPrevented())this._isShown=!1,a=l(this._element).hasClass("fade"),(a&&(this._isTransitioning=!0),this._setEscapeEvent(),
-this._setResizeEvent(),l(document).off(A.FOCUSIN),l(this._element).removeClass("show"),l(this._element).off(A.CLICK_DISMISS),l(this._dialog).off(A.MOUSEDOWN_DISMISS),a)?(a=r.getTransitionDurationFromElement(this._element),l(this._element).one(r.TRANSITION_END,function(a){return b._hideModal(a)}).emulateTransitionEnd(a)):this._hideModal()},d.dispose=function(){l.removeData(this._element,"bs.modal");l(window,document,this._element,this._backdrop).off(".bs.modal");this._scrollbarWidth=this._ignoreBackdropClick=
-this._isBodyOverflowing=this._isShown=this._backdrop=this._dialog=this._element=this._config=null},d.handleUpdate=function(){this._adjustDialog()},d._getConfig=function(a){return a=p({},V,a),r.typeCheckConfig("modal",a,ia),a},d._showElement=function(a){var b=this,c=l(this._element).hasClass("fade");this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element);this._element.style.display="block";this._element.removeAttribute("aria-hidden");
-this._element.scrollTop=0;c&&r.reflow(this._element);l(this._element).addClass("show");this._config.focus&&this._enforceFocus();var d=l.Event(A.SHOWN,{relatedTarget:a});a=function(){b._config.focus&&b._element.focus();b._isTransitioning=!1;l(b._element).trigger(d)};c?(c=r.getTransitionDurationFromElement(this._element),l(this._dialog).one(r.TRANSITION_END,a).emulateTransitionEnd(c)):a()},d._enforceFocus=function(){var a=this;l(document).off(A.FOCUSIN).on(A.FOCUSIN,function(b){document!==b.target&&
-a._element!==b.target&&0===l(a._element).has(b.target).length&&a._element.focus()})},d._setEscapeEvent=function(){var a=this;this._isShown&&this._config.keyboard?l(this._element).on(A.KEYDOWN_DISMISS,function(b){27===b.which&&(b.preventDefault(),a.hide())}):this._isShown||l(this._element).off(A.KEYDOWN_DISMISS)},d._setResizeEvent=function(){var a=this;this._isShown?l(window).on(A.RESIZE,function(b){return a.handleUpdate(b)}):l(window).off(A.RESIZE)},d._hideModal=function(){var a=this;this._element.style.display=
-"none";this._element.setAttribute("aria-hidden",!0);this._isTransitioning=!1;this._showBackdrop(function(){l(document.body).removeClass("modal-open");a._resetAdjustments();a._resetScrollbar();l(a._element).trigger(A.HIDDEN)})},d._removeBackdrop=function(){this._backdrop&&(l(this._backdrop).remove(),this._backdrop=null)},d._showBackdrop=function(a){var b=this,c=l(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=
-"modal-backdrop",c&&this._backdrop.classList.add(c),l(this._backdrop).appendTo(document.body),l(this._element).on(A.CLICK_DISMISS,function(a){b._ignoreBackdropClick?b._ignoreBackdropClick=!1:a.target===a.currentTarget&&("static"===b._config.backdrop?b._element.focus():b.hide())}),c&&r.reflow(this._backdrop),l(this._backdrop).addClass("show"),a){if(!c)return void a();c=r.getTransitionDurationFromElement(this._backdrop);l(this._backdrop).one(r.TRANSITION_END,a).emulateTransitionEnd(c)}}else if(!this._isShown&&
-this._backdrop)if(l(this._backdrop).removeClass("show"),c=function(){b._removeBackdrop();a&&a()},l(this._element).hasClass("fade")){var d=r.getTransitionDurationFromElement(this._backdrop);l(this._backdrop).one(r.TRANSITION_END,c).emulateTransitionEnd(d)}else c();else a&&a()},d._adjustDialog=function(){var a=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&a&&(this._element.style.paddingLeft=this._scrollbarWidth+"px");this._isBodyOverflowing&&!a&&(this._element.style.paddingRight=
-this._scrollbarWidth+"px")},d._resetAdjustments=function(){this._element.style.paddingLeft="";this._element.style.paddingRight=""},d._checkScrollbar=function(){var a=document.body.getBoundingClientRect();this._isBodyOverflowing=a.left+a.right<window.innerWidth;this._scrollbarWidth=this._getScrollbarWidth()},d._setScrollbar=function(){var a=this;if(this._isBodyOverflowing){var b=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),c=[].slice.call(document.querySelectorAll(".sticky-top"));
-l(b).each(function(b,c){b=c.style.paddingRight;var d=l(c).css("padding-right");l(c).data("padding-right",b).css("padding-right",parseFloat(d)+a._scrollbarWidth+"px")});l(c).each(function(b,c){b=c.style.marginRight;var d=l(c).css("margin-right");l(c).data("margin-right",b).css("margin-right",parseFloat(d)-a._scrollbarWidth+"px")});b=document.body.style.paddingRight;c=l(document.body).css("padding-right");l(document.body).data("padding-right",b).css("padding-right",parseFloat(c)+this._scrollbarWidth+
-"px")}},d._resetScrollbar=function(){var a=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));l(a).each(function(a,c){a=l(c).data("padding-right");l(c).removeData("padding-right");c.style.paddingRight=a||""});a=[].slice.call(document.querySelectorAll(".sticky-top"));l(a).each(function(a,c){a=l(c).data("margin-right");"undefined"!=typeof a&&l(c).css("margin-right",a).removeData("margin-right")});a=l(document.body).data("padding-right");l(document.body).removeData("padding-right");
-document.body.style.paddingRight=a||""},d._getScrollbarWidth=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure";document.body.appendChild(a);var b=a.getBoundingClientRect().width-a.clientWidth;return document.body.removeChild(a),b},g._jQueryInterface=function(a,b){return this.each(function(){var c=l(this).data("bs.modal"),d=p({},V,l(this).data(),"object"==typeof a&&a?a:{});if(c||(c=new g(this,d),l(this).data("bs.modal",c)),"string"==typeof a){if("undefined"==typeof c[a])throw new TypeError('No method named "'+
-a+'"');c[a](b)}else d.show&&c.show(b)})},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return V}}]),g}(),l(document).on(A.CLICK_DATA_API,'[data-toggle\x3d"modal"]',function(g){var d,a=this,b=r.getSelectorFromElement(this);b&&(d=document.querySelector(b));b=l(d).data("bs.modal")?"toggle":p({},l(d).data(),l(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||g.preventDefault();var c=l(d).one(A.SHOW,function(b){b.isDefaultPrevented()||c.one(A.HIDDEN,function(){l(a).is(":visible")&&
-a.focus()})});O._jQueryInterface.call(l(d),b,this)}),l.fn.modal=O._jQueryInterface,l.fn.modal.Constructor=O,l.fn.modal.noConflict=function(){return l.fn.modal=ha,O._jQueryInterface},O),X=(ja=(q=f).fn.tooltip,ka=/(^|\s)bs-tooltip\S+/g,na={animation:!0,template:'\x3cdiv class\x3d"tooltip" role\x3d"tooltip"\x3e\x3cdiv class\x3d"arrow"\x3e\x3c/div\x3e\x3cdiv class\x3d"tooltip-inner"\x3e\x3c/div\x3e\x3c/div\x3e',trigger:"hover focus",title:"",delay:0,html:!(ma={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",
-LEFT:"left"}),selector:!(la={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},oa={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",
-SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},S=function(){function g(a,b){if("undefined"==typeof k)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0;this._timeout=0;this._hoverState="";this._activeTrigger={};this._popper=null;this.element=a;this.config=this._getConfig(b);this.tip=
-null;this._setListeners()}var d=g.prototype;return d.enable=function(){this._isEnabled=!0},d.disable=function(){this._isEnabled=!1},d.toggleEnabled=function(){this._isEnabled=!this._isEnabled},d.toggle=function(a){if(this._isEnabled)if(a){var b=this.constructor.DATA_KEY,c=q(a.currentTarget).data(b);c||(c=new this.constructor(a.currentTarget,this._getDelegateConfig()),q(a.currentTarget).data(b,c));c._activeTrigger.click=!c._activeTrigger.click;c._isWithActiveTrigger()?c._enter(null,c):c._leave(null,
-c)}else{if(q(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},d.dispose=function(){clearTimeout(this._timeout);q.removeData(this.element,this.constructor.DATA_KEY);q(this.element).off(this.constructor.EVENT_KEY);q(this.element).closest(".modal").off("hide.bs.modal");this.tip&&q(this.tip).remove();this._hoverState=this._timeout=this._isEnabled=null;(this._activeTrigger=null)!==this._popper&&this._popper.destroy();this.tip=this.config=this.element=this._popper=
-null},d.show=function(){var a=this;if("none"===q(this.element).css("display"))throw Error("Please use show on visible elements");var b=q.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){q(this.element).trigger(b);var c=q.contains(this.element.ownerDocument.documentElement,this.element);if(!b.isDefaultPrevented()&&c){b=this.getTipElement();c=r.getUID(this.constructor.NAME);b.setAttribute("id",c);this.element.setAttribute("aria-describedby",c);this.setContent();this.config.animation&&
-q(b).addClass("fade");c="function"==typeof this.config.placement?this.config.placement.call(this,b,this.element):this.config.placement;c=this._getAttachment(c);this.addAttachmentClass(c);var d=!1===this.config.container?document.body:q(document).find(this.config.container);q(b).data(this.constructor.DATA_KEY,this);q.contains(this.element.ownerDocument.documentElement,this.tip)||q(b).appendTo(d);q(this.element).trigger(this.constructor.Event.INSERTED);this._popper=new k(this.element,b,{placement:c,
-modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(b){b.originalPlacement!==b.placement&&a._handlePopperPlacementChange(b)},onUpdate:function(b){a._handlePopperPlacementChange(b)}});q(b).addClass("show");"ontouchstart"in document.documentElement&&q(document.body).children().on("mouseover",null,q.noop);b=function(){a.config.animation&&a._fixTransition();var b=
-a._hoverState;a._hoverState=null;q(a.element).trigger(a.constructor.Event.SHOWN);"out"===b&&a._leave(null,a)};q(this.tip).hasClass("fade")?(c=r.getTransitionDurationFromElement(this.tip),q(this.tip).one(r.TRANSITION_END,b).emulateTransitionEnd(c)):b()}}},d.hide=function(a){var b=this,c=this.getTipElement(),d=q.Event(this.constructor.Event.HIDE),g=function(){"show"!==b._hoverState&&c.parentNode&&c.parentNode.removeChild(c);b._cleanTipClass();b.element.removeAttribute("aria-describedby");q(b.element).trigger(b.constructor.Event.HIDDEN);
-null!==b._popper&&b._popper.destroy();a&&a()};(q(this.element).trigger(d),d.isDefaultPrevented())||((q(c).removeClass("show"),"ontouchstart"in document.documentElement&&q(document.body).children().off("mouseover",null,q.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,q(this.tip).hasClass("fade"))?(d=r.getTransitionDurationFromElement(c),q(c).one(r.TRANSITION_END,g).emulateTransitionEnd(d)):g(),this._hoverState="")},d.update=function(){null!==this._popper&&
-this._popper.scheduleUpdate()},d.isWithContent=function(){return!!this.getTitle()},d.addAttachmentClass=function(a){q(this.getTipElement()).addClass("bs-tooltip-"+a)},d.getTipElement=function(){return this.tip=this.tip||q(this.config.template)[0],this.tip},d.setContent=function(){var a=this.getTipElement();this.setElementContent(q(a.querySelectorAll(".tooltip-inner")),this.getTitle());q(a).removeClass("fade show")},d.setElementContent=function(a,b){var c=this.config.html;"object"==typeof b&&(b.nodeType||
-b.jquery)?c?q(b).parent().is(a)||a.empty().append(b):a.text(q(b).text()):a[c?"html":"text"](b)},d.getTitle=function(){var a=this.element.getAttribute("data-original-title");return a||(a="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),a},d._getAttachment=function(a){return ma[a.toUpperCase()]},d._setListeners=function(){var a=this;this.config.trigger.split(" ").forEach(function(b){if("click"===b)q(a.element).on(a.constructor.Event.CLICK,a.config.selector,
-function(b){return a.toggle(b)});else if("manual"!==b){var c="hover"===b?a.constructor.Event.MOUSEENTER:a.constructor.Event.FOCUSIN;b="hover"===b?a.constructor.Event.MOUSELEAVE:a.constructor.Event.FOCUSOUT;q(a.element).on(c,a.config.selector,function(b){return a._enter(b)}).on(b,a.config.selector,function(b){return a._leave(b)})}q(a.element).closest(".modal").on("hide.bs.modal",function(){return a.hide()})});this.config.selector?this.config=p({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},
-d._fixTitle=function(){var a=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==a)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},d._enter=function(a,b){var c=this.constructor.DATA_KEY;(b=b||q(a.currentTarget).data(c))||(b=new this.constructor(a.currentTarget,this._getDelegateConfig()),q(a.currentTarget).data(c,b));a&&(b._activeTrigger["focusin"===a.type?"focus":
-"hover"]=!0);q(b.getTipElement()).hasClass("show")||"show"===b._hoverState?b._hoverState="show":(clearTimeout(b._timeout),b._hoverState="show",b.config.delay&&b.config.delay.show?b._timeout=setTimeout(function(){"show"===b._hoverState&&b.show()},b.config.delay.show):b.show())},d._leave=function(a,b){var c=this.constructor.DATA_KEY;(b=b||q(a.currentTarget).data(c))||(b=new this.constructor(a.currentTarget,this._getDelegateConfig()),q(a.currentTarget).data(c,b));a&&(b._activeTrigger["focusout"===a.type?
-"focus":"hover"]=!1);b._isWithActiveTrigger()||(clearTimeout(b._timeout),b._hoverState="out",b.config.delay&&b.config.delay.hide?b._timeout=setTimeout(function(){"out"===b._hoverState&&b.hide()},b.config.delay.hide):b.hide())},d._isWithActiveTrigger=function(){for(var a in this._activeTrigger)if(this._activeTrigger[a])return!0;return!1},d._getConfig=function(a){return"number"==typeof(a=p({},this.constructor.Default,q(this.element).data(),"object"==typeof a&&a?a:{})).delay&&(a.delay={show:a.delay,
-hide:a.delay}),"number"==typeof a.title&&(a.title=a.title.toString()),"number"==typeof a.content&&(a.content=a.content.toString()),r.typeCheckConfig("tooltip",a,this.constructor.DefaultType),a},d._getDelegateConfig=function(){var a={};if(this.config)for(var b in this.config)this.constructor.Default[b]!==this.config[b]&&(a[b]=this.config[b]);return a},d._cleanTipClass=function(){var a=q(this.getTipElement()),b=a.attr("class").match(ka);null!==b&&b.length&&a.removeClass(b.join(""))},d._handlePopperPlacementChange=
-function(a){this.tip=a.instance.popper;this._cleanTipClass();this.addAttachmentClass(this._getAttachment(a.placement))},d._fixTransition=function(){var a=this.getTipElement(),b=this.config.animation;null===a.getAttribute("x-placement")&&(q(a).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=b)},g._jQueryInterface=function(a){return this.each(function(){var b=q(this).data("bs.tooltip"),c="object"==typeof a&&a;if((b||!/dispose|hide/.test(a))&&(b||(b=new g(this,
-c),q(this).data("bs.tooltip",b)),"string"==typeof a)){if("undefined"==typeof b[a])throw new TypeError('No method named "'+a+'"');b[a]()}})},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return na}},{key:"NAME",get:function(){return"tooltip"}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return oa}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return la}}]),g}(),q.fn.tooltip=S._jQueryInterface,
-q.fn.tooltip.Constructor=S,q.fn.tooltip.noConflict=function(){return q.fn.tooltip=ja,S._jQueryInterface},S),Ca=(pa=(G=f).fn.popover,qa=/(^|\s)bs-popover\S+/g,ra=p({},X.Default,{placement:"right",trigger:"click",content:"",template:'\x3cdiv class\x3d"popover" role\x3d"tooltip"\x3e\x3cdiv class\x3d"arrow"\x3e\x3c/div\x3e\x3ch3 class\x3d"popover-header"\x3e\x3c/h3\x3e\x3cdiv class\x3d"popover-body"\x3e\x3c/div\x3e\x3c/div\x3e'}),sa=p({},X.DefaultType,{content:"(string|element|function)"}),ta={HIDE:"hide.bs.popover",
-HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},T=function(g){function d(){return g.apply(this,arguments)||this}d.prototype=Object.create(g.prototype);(d.prototype.constructor=d).__proto__=g;var a=d.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},
-a.addAttachmentClass=function(a){G(this.getTipElement()).addClass("bs-popover-"+a)},a.getTipElement=function(){return this.tip=this.tip||G(this.config.template)[0],this.tip},a.setContent=function(){var a=G(this.getTipElement());this.setElementContent(a.find(".popover-header"),this.getTitle());var c=this._getContent();"function"==typeof c&&(c=c.call(this.element));this.setElementContent(a.find(".popover-body"),c);a.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||
-this.config.content},a._cleanTipClass=function(){var a=G(this.getTipElement()),c=a.attr("class").match(qa);null!==c&&0<c.length&&a.removeClass(c.join(""))},d._jQueryInterface=function(a){return this.each(function(){var b=G(this).data("bs.popover"),g="object"==typeof a?a:null;if((b||!/destroy|hide/.test(a))&&(b||(b=new d(this,g),G(this).data("bs.popover",b)),"string"==typeof a)){if("undefined"==typeof b[a])throw new TypeError('No method named "'+a+'"');b[a]()}})},t(d,null,[{key:"VERSION",get:function(){return"4.1.3"}},
-{key:"Default",get:function(){return ra}},{key:"NAME",get:function(){return"popover"}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ta}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return sa}}]),d}(X),G.fn.popover=T._jQueryInterface,G.fn.popover.Constructor=T,G.fn.popover.noConflict=function(){return G.fn.popover=pa,T._jQueryInterface},T),Da=(ua=(B=f).fn.scrollspy,Z={offset:10,method:"auto",target:""},va={offset:"number",
-method:"string",target:"(string|element)"},W={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},P=function(){function g(a,b){var c=this;this._element=a;this._scrollElement="BODY"===a.tagName?window:a;this._config=this._getConfig(b);this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item";this._offsets=[];this._targets=[];this._activeTarget=null;this._scrollHeight=0;B(this._scrollElement).on(W.SCROLL,
-function(a){return c._process(a)});this.refresh();this._process()}var d=g.prototype;return d.refresh=function(){var a=this,b=this._scrollElement===this._scrollElement.window?"offset":"position",c="auto"===this._config.method?b:this._config.method,d="position"===c?this._getScrollTop():0;this._offsets=[];this._targets=[];this._scrollHeight=this._getScrollHeight();[].slice.call(document.querySelectorAll(this._selector)).map(function(a){var b;a=r.getSelectorFromElement(a);if(a&&(b=document.querySelector(a)),
-b){var g=b.getBoundingClientRect();if(g.width||g.height)return[B(b)[c]().top+d,a]}return null}).filter(function(a){return a}).sort(function(a,b){return a[0]-b[0]}).forEach(function(b){a._offsets.push(b[0]);a._targets.push(b[1])})},d.dispose=function(){B.removeData(this._element,"bs.scrollspy");B(this._scrollElement).off(".bs.scrollspy");this._scrollHeight=this._activeTarget=this._targets=this._offsets=this._selector=this._config=this._scrollElement=this._element=null},d._getConfig=function(a){if("string"!=
-typeof(a=p({},Z,"object"==typeof a&&a?a:{})).target){var b=B(a.target).attr("id");b||(b=r.getUID("scrollspy"),B(a.target).attr("id",b));a.target="#"+b}return r.typeCheckConfig("scrollspy",a,va),a},d._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},d._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},d._getOffsetHeight=function(){return this._scrollElement===
-window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},d._process=function(){var a=this._getScrollTop()+this._config.offset,b=this._getScrollHeight(),c=this._config.offset+b-this._getOffsetHeight();if(this._scrollHeight!==b&&this.refresh(),c<=a)a=this._targets[this._targets.length-1],this._activeTarget!==a&&this._activate(a);else{if(this._activeTarget&&a<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(b=this._offsets.length;b--;)this._activeTarget!==
-this._targets[b]&&a>=this._offsets[b]&&("undefined"==typeof this._offsets[b+1]||a<this._offsets[b+1])&&this._activate(this._targets[b])}},d._activate=function(a){this._activeTarget=a;this._clear();var b=this._selector.split(","),b=b.map(function(b){return b+'[data-target\x3d"'+a+'"],'+b+'[href\x3d"'+a+'"]'}),b=B([].slice.call(document.querySelectorAll(b.join(","))));b.hasClass("dropdown-item")?(b.closest(".dropdown").find(".dropdown-toggle").addClass("active"),b.addClass("active")):(b.addClass("active"),
-b.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),b.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active"));B(this._scrollElement).trigger(W.ACTIVATE,{relatedTarget:a})},d._clear=function(){var a=[].slice.call(document.querySelectorAll(this._selector));B(a).filter(".active").removeClass("active")},g._jQueryInterface=function(a){return this.each(function(){var b=B(this).data("bs.scrollspy");if(b||(b=new g(this,"object"==typeof a&&
-a),B(this).data("bs.scrollspy",b)),"string"==typeof a){if("undefined"==typeof b[a])throw new TypeError('No method named "'+a+'"');b[a]()}})},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Z}}]),g}(),B(window).on(W.LOAD_DATA_API,function(){for(var g=[].slice.call(document.querySelectorAll('[data-spy\x3d"scroll"]')),d=g.length;d--;){var a=B(g[d]);P._jQueryInterface.call(a,a.data())}}),B.fn.scrollspy=P._jQueryInterface,B.fn.scrollspy.Constructor=P,B.fn.scrollspy.noConflict=
-function(){return B.fn.scrollspy=ua,P._jQueryInterface},P),Ea=(wa=(w=f).fn.tab,Q={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},R=function(){function g(a){this._element=a}var d=g.prototype;return d.show=function(){var a=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&w(this._element).hasClass("active")||w(this._element).hasClass("disabled"))){var b,c,d=w(this._element).closest(".nav, .list-group")[0],
-g=r.getSelectorFromElement(this._element);if(d){var h="UL"===d.nodeName?"\x3e li \x3e .active":".active";c=(c=w.makeArray(w(d).find(h)))[c.length-1]}var h=w.Event(Q.HIDE,{relatedTarget:this._element}),f=w.Event(Q.SHOW,{relatedTarget:c});(c&&w(c).trigger(h),w(this._element).trigger(f),f.isDefaultPrevented()||h.isDefaultPrevented())||(g&&(b=document.querySelector(g)),this._activate(this._element,d),d=function(){var b=w.Event(Q.HIDDEN,{relatedTarget:a._element}),d=w.Event(Q.SHOWN,{relatedTarget:c});
-w(c).trigger(b);w(a._element).trigger(d)},b?this._activate(b,b.parentNode,d):d())}},d.dispose=function(){w.removeData(this._element,"bs.tab");this._element=null},d._activate=function(a,b,c){var d=this,g=("UL"===b.nodeName?w(b).find("\x3e li \x3e .active"):w(b).children(".active"))[0],h=c&&g&&w(g).hasClass("fade");b=function(){return d._transitionComplete(a,g,c)};g&&h?(h=r.getTransitionDurationFromElement(g),w(g).one(r.TRANSITION_END,b).emulateTransitionEnd(h)):b()},d._transitionComplete=function(a,
-b,c){if(b){w(b).removeClass("show active");var d=w(b.parentNode).find("\x3e .dropdown-menu .active")[0];d&&w(d).removeClass("active");"tab"===b.getAttribute("role")&&b.setAttribute("aria-selected",!1)}if(w(a).addClass("active"),"tab"===a.getAttribute("role")&&a.setAttribute("aria-selected",!0),r.reflow(a),w(a).addClass("show"),a.parentNode&&w(a.parentNode).hasClass("dropdown-menu")){if(b=w(a).closest(".dropdown")[0])b=[].slice.call(b.querySelectorAll(".dropdown-toggle")),w(b).addClass("active");a.setAttribute("aria-expanded",
-!0)}c&&c()},g._jQueryInterface=function(a){return this.each(function(){var b=w(this),c=b.data("bs.tab");if(c||(c=new g(this),b.data("bs.tab",c)),"string"==typeof a){if("undefined"==typeof c[a])throw new TypeError('No method named "'+a+'"');c[a]()}})},t(g,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),g}(),w(document).on(Q.CLICK_DATA_API,'[data-toggle\x3d"tab"], [data-toggle\x3d"pill"], [data-toggle\x3d"list"]',function(g){g.preventDefault();R._jQueryInterface.call(w(this),"show")}),w.fn.tab=
-R._jQueryInterface,w.fn.tab.Constructor=R,w.fn.tab.noConflict=function(){return w.fn.tab=wa,R._jQueryInterface},R);!function(g){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");g=g.fn.jquery.split(" ")[0].split(".");if(2>g[0]&&9>g[1]||1===g[0]&&9===g[1]&&1>g[2]||4<=g[0])throw Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0");}(f);e.Util=r;e.Alert=xa;e.Button=ya;e.Carousel=
-H;e.Collapse=za;e.Dropdown=Aa;e.Modal=Ba;e.Popover=Ca;e.Scrollspy=Da;e.Tab=Ea;e.Tooltip=X;Object.defineProperty(e,"__esModule",{value:!0})});
-!function(e){var f=!1;if("function"==typeof define&&define.amd&&(define(e),f=!0),"object"==typeof exports&&(module.exports=e(),f=!0),!f){var k=window.Cookies,m=window.Cookies=e();m.noConflict=function(){return window.Cookies=k,m}}}(function(){function e(){for(var f=0,e={};f<arguments.length;f++){var t=arguments[f],p;for(p in t)e[p]=t[p]}return e}function f(k){function m(f,p,n){var t;if("undefined"!=typeof document){if(1<arguments.length){if("number"==typeof(n=e({path:"/"},m.defaults,n)).expires){var x=
-new Date;x.setMilliseconds(x.getMilliseconds()+864E5*n.expires);n.expires=x}n.expires=n.expires?n.expires.toUTCString():"";try{t=JSON.stringify(p),/^[\{\[]/.test(t)&&(p=t)}catch(h){}p=k.write?k.write(p,f):encodeURIComponent(p+"").replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent);f=(f=(f=encodeURIComponent(f+"")).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);t="";for(var C in n)n[C]&&(t+="; "+C,!0!==n[C]&&(t+="\x3d"+n[C]));return document.cookie=
-f+"\x3d"+p+t}f||(t={});C=document.cookie?document.cookie.split("; "):[];for(var y=/(%[0-9A-Z]{2})+/g,K=0;K<C.length;K++){var H=C[K].split("\x3d"),z=H.slice(1).join("\x3d");this.json||'"'!==z.charAt(0)||(z=z.slice(1,-1));try{x=H[0].replace(y,decodeURIComponent);if(z=k.read?k.read(z,x):k(z,x)||z.replace(y,decodeURIComponent),this.json)try{z=JSON.parse(z)}catch(h){}if(f===x){t=z;break}f||(t[x]=z)}catch(h){}}return t}}return m.set=m,m.get=function(f){return m.call(m,f)},m.getJSON=function(){return m.apply({json:!0},
-[].slice.call(arguments))},m.defaults={},m.remove=function(f,k){m(f,"",e(k,{expires:-1}))},m.withConverter=f,m}return f(function(){})});
-(function(e){"function"===typeof define&&define.amd?"undefined"!==typeof jQuery?define(["jquery"],e):define([],e):"undefined"!==typeof jQuery?e(jQuery):e()})(function(e,f){function k(h,f){h=decodeURI(h);f=H[f?"strict":"loose"].exec(h);h={attr:{},param:{},seg:{}};for(var e=14;e--;)h.attr[y[e]]=f[e]||"";h.param.query=p(h.attr.query);h.param.fragment=p(h.attr.fragment);h.seg.path=h.attr.path.replace(/^\/+|\/+$/g,"").split("/");h.seg.fragment=h.attr.fragment.replace(/^\/+|\/+$/g,"").split("/");h.attr.base=
-h.attr.host?(h.attr.protocol?h.attr.protocol+"://"+h.attr.host:h.attr.host)+(h.attr.port?":"+h.attr.port:""):"";return h}function m(h){h=h.tagName;return"undefined"!==typeof h?C[h.toLowerCase()]:h}function t(h,f,e,m){var k=h.shift();if(k){var n=f[e]=f[e]||[];if("]"==k)if(F(n))""!=m&&n.push(m);else if("object"==typeof n){f=h=n;e=[];for(prop in f)f.hasOwnProperty(prop)&&e.push(prop);h[e.length]=m}else f[e]=[f[e],m];else{~k.indexOf("]")&&(k=k.substr(0,k.length-1));if(!z.test(k)&&F(n))if(0==f[e].length)n=
-f[e]={};else{var n={},D;for(D in f[e])n[D]=f[e][D];f[e]=n}t(h,n,k,m)}}else F(f[e])?f[e].push(m):f[e]="object"==typeof f[e]?m:"undefined"==typeof f[e]?m:[f[e],m]}function p(h){return n(String(h).split(/&|;/),function(h,e){try{e=decodeURIComponent(e.replace(/\+/g," "))}catch(Y){}var m=e.indexOf("\x3d"),k;a:{for(var n=e.length,p,D=0;D<n;++D)if(p=e[D],"]"==p&&(k=!1),"["==p&&(k=!0),"\x3d"==p&&!k){k=D;break a}k=void 0}n=e.substr(0,k||m);m=e.substr(k||m,e.length);m=m.substr(m.indexOf("\x3d")+1,m.length);
-""==n&&(n=e,m="");e=n;if(~e.indexOf("]")){var x=e.split("[");t(x,h,"base",m)}else{if(!z.test(e)&&F(h.base)){n={};for(x in h.base)n[x]=h.base[x];h.base=n}x=h.base;n=x[e];f===n?x[e]=m:F(n)?n.push(m):x[e]=[n,m]}return h},{base:{}}).base}function n(e,m,n){for(var h=0,k=e.length>>0;h<k;)h in e&&(n=m.call(f,n,e[h],h,e)),++h;return n}function F(e){return"[object Array]"===Object.prototype.toString.call(e)}function x(e,n){1===arguments.length&&!0===e&&(n=!0,e=f);e=e||window.location.toString();return{data:k(e,
-n||!1),attr:function(e){e=K[e]||e;return"undefined"!==typeof e?this.data.attr[e]:this.data.attr},param:function(e){return"undefined"!==typeof e?this.data.param.query[e]:this.data.param.query},fparam:function(e){return"undefined"!==typeof e?this.data.param.fragment[e]:this.data.param.fragment},segment:function(e){if("undefined"===typeof e)return this.data.seg.path;e=0>e?this.data.seg.path.length+e:e-1;return this.data.seg.path[e]},fsegment:function(e){if("undefined"===typeof e)return this.data.seg.fragment;
-e=0>e?this.data.seg.fragment.length+e:e-1;return this.data.seg.fragment[e]}}}var C={a:"href",img:"src",form:"action",base:"href",script:"src",iframe:"src",link:"href"},y="source protocol authority userInfo user password host port relative path directory file query fragment".split(" "),K={anchor:"fragment"},H={strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/},
-z=/^[0-9]+$/;"undefined"!==typeof e?(e.fn.url=function(f){var h="";this.length&&(h=e(this).attr(m(this[0]))||"");return x(h,f)},e.url=x):window.purl=x});function clearProgress(){$(".loading-mask").delay(100).fadeOut(300)}function serverBusy(){$(".loading-mask").is(":visible")&&window.location.reload()}window.setTimeout("serverBusy()",12E4);
-!function(){var e="undefined"!=typeof window&&void 0!==window.document?window.document:{},f="undefined"!=typeof module&&module.exports,k="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,m=function(){for(var f,m=["requestFullscreen exitFullscreen fullscreenElement fullscreenEnabled fullscreenchange fullscreenerror".split(" "),"webkitRequestFullscreen webkitExitFullscreen webkitFullscreenElement webkitFullscreenEnabled webkitfullscreenchange webkitfullscreenerror".split(" "),"webkitRequestFullScreen webkitCancelFullScreen webkitCurrentFullScreenElement webkitCancelFullScreen webkitfullscreenchange webkitfullscreenerror".split(" "),
-"mozRequestFullScreen mozCancelFullScreen mozFullScreenElement mozFullScreenEnabled mozfullscreenchange mozfullscreenerror".split(" "),"msRequestFullscreen msExitFullscreen msFullscreenElement msFullscreenEnabled MSFullscreenChange MSFullscreenError".split(" ")],k=0,p=m.length,t={};k<p;k++)if((f=m[k])&&f[1]in e){for(k=0;k<f.length;k++)t[m[0][k]]=f[k];return t}return!1}(),t={change:m.fullscreenchange,error:m.fullscreenerror},p={request:function(f){return new Promise(function(n){var p=m.requestFullscreen,
-t=function(){this.off("change",t);n()}.bind(this);f=f||e.documentElement;/ Version\/5\.1(?:\.\d+)? Safari\//.test(navigator.userAgent)?f[p]():f[p](k?Element.ALLOW_KEYBOARD_INPUT:{});this.on("change",t)}.bind(this))},exit:function(){return new Promise(function(f){if(this.isFullscreen){var k=function(){this.off("change",k);f()}.bind(this);e[m.exitFullscreen]();this.on("change",k)}else f()}.bind(this))},toggle:function(e){return this.isFullscreen?this.exit():this.request(e)},onchange:function(e){this.on("change",
-e)},onerror:function(e){this.on("error",e)},on:function(f,k){(f=t[f])&&e.addEventListener(f,k,!1)},off:function(f,k){(f=t[f])&&e.removeEventListener(f,k,!1)},raw:m};m?(Object.defineProperties(p,{isFullscreen:{get:function(){return!!e[m.fullscreenElement]}},element:{enumerable:!0,get:function(){return e[m.fullscreenElement]}},enabled:{enumerable:!0,get:function(){return!!e[m.fullscreenEnabled]}}}),f?module.exports=p:window.screenfull=p):f?module.exports=!1:window.screenfull=!1}();
-$(document).ready(function(){(function(){var e=!1,f=!1;/(iPhone|iPod|iPad)\sOS\s[0-4][_\d]+/i.test(navigator.userAgent)&&(e=!0);/Android\s+([0-2][\.\d]+)/i.test(navigator.userAgent)&&(f=!0);$("body").append('\x3ca href\x3d"#" id\x3d"back-to-top" title\x3d"返回顶部"\x3e返回顶部\x3c/a\x3e');$("#back-to-top").click(function(e){$("html, body").animate({scrollTop:0},800);e.preventDefault()});$(window).scroll(function(){var k=$(window).scrollTop();(e||f)&&$("#back-to-top").css({position:"absolute",top:k+$(window).height()});
-200<k?$("#back-to-top").fadeIn(400):$("#back-to-top").fadeOut(400)})})()});
-function bindBottomPagingProgress(){$(".scroll-page").each(function(e){e=$(this).position();$(this).scrollspy({min:e.top-20,max:e.top+$(this).height(),onEnter:function(e,f){e=Math.round(e.id/totalSize*100);var k=$(window).scrollTop()+$(window).height()-$(".span12").height()+200;-500<k&&setTimeout(function(){k=$(window).scrollTop()+$(window).height()-$(".span12").height()+200;0<k&&$(".bottom-paging-progress .bar").width("100%")},1E3);$(".bottom-paging-progress .bar").width(""+e+"%")},onLeave:function(e,
-f){}})});var e=$(window).scrollTop()+$(window).height()-$(".span12").height()+200;-500<e&&setTimeout(function(){e=$(window).scrollTop()+$(window).height()-$(".span12").height()+200;0<e&&$(".bottom-paging-progress .bar").width("100%")},1E3)}
-function bindBottomPagingProgressImg(){$(".scroll-page").each(function(e){e=$(this).position();$(this).scrollspy({min:e.top-60,max:e.top+$(this).height()-100,onEnter:function(e,k){e=e.id;k=Math.round(e/totalSize*100);$(".bottom-paging-progress .bar").width(""+k+"%");$(".select-page-selector").val(e);try{curPage=e}catch(m){}},onLeave:function(e,k){}})})}
-function bindAnchorScroll(){$('a[href^\x3d"#"]').click(function(e){var f=$(this).attr("href").substring(1);f&&(e.preventDefault(),gotoAnchor(f))});$("span").removeClass("spanthcontent")}var isLoadAll=!1;
-function gotoAnchor(e){var f=!1;$("a[name\x3d"+e+"]").length?(f=!0,setTimeout(function(){$("html, body").animate({scrollTop:$("a[name\x3d"+e+"]").position().top+20},"slow")},300)):$("#"+e).length&&(f=!0,setTimeout(function(){$("html, body").animate({scrollTop:$("#"+e).position().top+20},"slow")},300));bindBottomPagingProgress();if(!f&&!isLoadAll){var k;try{k=$.url().attr("query")}catch(m){}try{$(".word-content").infinitescroll("destroy")}catch(m){}$(".loader").show();$.ajax({type:"GET",url:contextPath+
-"/view/"+(id?id:uuid)+".json?start\x3d1\x26size\x3d0\x26"+k,data:{},async:!0,dataType:"json"}).done(function(f){if(1==f.code){f=f.data;for(i=0;i<f.length;i++){var k=f[i];0==i?$(".span12 .word-page .word-content").html(k.content):$(".span12 .word-page .word-content").append(k.content)}isLoadAll=!0;setTimeout(function(){gotoAnchor(e)},300);$(".loader").hide();bindAnchorScroll();bindBottomPagingProgress()}else $(".span12").html('\x3cdiv class\x3d"alert alert-error"\x3e'+f.desc+"\x3c/div\x3e")})}}
-function loadAllPage(e){var f=$.url().attr("query");$(".word-content").infinitescroll("destroy");$.ajax({type:"GET",url:contextPath+"/view/"+(id?id:uuid)+".json?start\x3d1\x26size\x3d0\x26"+f,data:{},async:!!e,dataType:"json"}).done(function(e){if(1==e.code){e=e.data;for(i=0;i<e.length;i++){var f=e[i];0==i?$(".span12 .word-page .word-content").html(f.content):$(".span12 .word-page .word-content").append(f.content)}$('a[href^\x3d"#"]').click(function(e){var f=$(this).attr("href").substring(1);f&&(e.preventDefault(),
-$("html, body").animate({scrollTop:$("a[name\x3d"+f+"]").position().top+20},"slow"))});bindBottomPagingProgress()}else $(".span12").html('\x3cdiv class\x3d"alert alert-error"\x3e'+e.desc+"\x3c/div\x3e")})}
-function getAllUrlParams(e){var f=e?e.split("?")[1]:window.location.search.slice(1);e={};if(f)for(var f=f.split("#")[0],f=f.split("\x26"),k=0;k<f.length;k++){var m=f[k].split("\x3d"),t=void 0,p=m[0].replace(/\[\d*\]/,function(e){t=e.slice(1,-1);return""}),m="undefined"===typeof m[1]?!0:m[1],m=m.replace(/\+/g," "),m=decodeURIComponent(m);e[p]?("string"===typeof e[p]&&(e[p]=[e[p]]),"undefined"===typeof t?e[p].push(m):e[p][t]=m):e[p]=m}return e}var isWatermark=!1;
-function watermark(){try{var e=uuid.slice(-1),f=Cookies.get("IDOCV_THD_VIEW_CHECK_WATERMARK_TXT_"+uuid);f&&decodeURI(f);var f="//api.idocv.com/data/idocv_logo_up_transparent.png",k=Cookies.get("IDOCV_THD_VIEW_CHECK_WATERMARK_IMG_"+uuid);k&&(f=decodeURI(k));if(isWatermark||k){k='\x3cdiv class\x3d"watermark-container" style\x3d"background-image: url('+f+'); position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px;"\x3e\x3c/div\x3e';$("body").css("background-image","url("+f+")");$("body").css("background-attachment",
-"fixed");$(".word-page").css("background-image","url("+f+")");"x"==e&&$(".tab-content").prepend(k);if("p"==e){if(0<$(".ppt-turn-left-mask").length||0<$(".ppt-turn-right-mask").length)$(".ppt-turn-left-mask").css("background-image","url("+f+")"),$(".ppt-turn-right-mask").css("background-image","url("+f+")");0<$(".pdf-content").length&&$(".pdf-content").append(k)}if("f"==e&&0<$(".pdfViewer").length){var m=$(".pdfViewer"),t=parseInt(m.height()/500);500<t&&(t=500);for(var p=0;p<t;p++)m.append('\x3cdiv class\x3d"watermark-pdf-page-container" style\x3d"width:100%;text-align:center;position:absolute; top:'+
-500*p+'px;"\x3e\x3cimg src\x3d"'+f+'" /\x3e\x3c/div\x3e')}"f"==e&&0<$(".pdf-content").length&&$(".pdf-content").append(k)}}catch(n){}}
-function afterLoad(){var e=navigator.userAgent.toLowerCase(),e=/micromessenger/.test(e)?!0:!1;768>document.documentElement.clientWidth&&$(".lnk-file-title").text("");e&&($(".lnk-file-title").text(""),$(".word-tab-title-li").length||($(".word-body .navbar").hide(),$(".word-body").css("padding-top","0px")),$(".ppt-body .navbar").hide(),$(".ppt-body").css("padding-top","20px"),$(".pdf-body .navbar").hide(),$(".pdf-body").css("padding-top","20px"),$(".img-body .navbar").hide(),$(".img-body").css("padding-top",
-"20px"),$(".audio-body .navbar").hide(),$(".audio-body").css("padding-top","20px"),$(".zip-body .navbar").hide(),$(".zip-body").css("padding-top","20px"));try{var f=$.url().param("name");f&&$(".lnk-file-title").text(f)}catch(F){}if(f=$(".lnk-file-title").text())document.title=f;try{var k=authMap.down;k&&"0"==k&&$(".lnk-file-title").removeAttr("href");var m=authMap.copy;m&&"0"==m&&($("body").css("-webkit-user-select","none"),$("body").css("-khtml-user-select","none"),$("body").css("-moz-user-select",
-"none"),$("body").css("-ms-user-select","none"),$("body").css("user-select","none"),$("body").on("selectstart",function(e){e.preventDefault()}));var t=authMap.menu;t&&"0"==t&&(document.oncontextmenu=document.body.oncontextmenu=function(){return!1});var p=authMap.print;p&&"0"==p&&$('\x3cstyle media\x3d"print"\x3e body {display: none;}\x3c/style\x3e').appendTo("head")}catch(F){}try{var n=$.url().param("puuid");n&&0<n.length&&uuid&&($(".lnk-file-title").removeAttr("href"),$(".lnk-file-title").text("\x3c 返回"),
-$(".lnk-file-title").css("cursor","pointer"),$(".lnk-file-title").click(function(){var e=contextPath+"/view/"+n;if(queryStr){var f=queryStr+"\x26";-1<f.indexOf("puuid\x3d")&&(f=f.replace(/(puuid=).*?(&)/,""));(f=f.replace(/(&+)$/,""))&&(e=e+"?"+f)}window.location.href=e}))}catch(F){}watermark();$("body").append('\x3cdiv class\x3d"loader"\x3e加载中……\x3c/div\x3e')};
\ No newline at end of file
diff --git a/server/target/classes/static/pptx/img/arr_left.cur b/server/target/classes/static/pptx/img/arr_left.cur
deleted file mode 100644
index dad34d2..0000000
Binary files a/server/target/classes/static/pptx/img/arr_left.cur and /dev/null differ
diff --git a/server/target/classes/static/pptx/img/arr_right.cur b/server/target/classes/static/pptx/img/arr_right.cur
deleted file mode 100644
index 5dc12a4..0000000
Binary files a/server/target/classes/static/pptx/img/arr_right.cur and /dev/null differ
diff --git a/server/target/classes/static/pptx/img/loader_indicator_lite.gif b/server/target/classes/static/pptx/img/loader_indicator_lite.gif
deleted file mode 100644
index 1c72ebb..0000000
Binary files a/server/target/classes/static/pptx/img/loader_indicator_lite.gif and /dev/null differ
diff --git a/server/target/classes/static/pptx/jquery-3.5.1.min.js b/server/target/classes/static/pptx/jquery-3.5.1.min.js
deleted file mode 100644
index b061403..0000000
--- a/server/target/classes/static/pptx/jquery-3.5.1.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/server/target/classes/static/pptx/jquery.contextMenu.css b/server/target/classes/static/pptx/jquery.contextMenu.css
deleted file mode 100644
index ee58116..0000000
--- a/server/target/classes/static/pptx/jquery.contextMenu.css
+++ /dev/null
@@ -1,142 +0,0 @@
-/*!
- * jQuery contextMenu - Plugin for simple contextMenu handling
- *
- * Version: git-master
- *
- * Authors: Rodney Rehm, Addy Osmani (patches for FF)
- * Web: http://medialize.github.com/jQuery-contextMenu/
- *
- * Licensed under
- *   MIT License http://www.opensource.org/licenses/mit-license
- *   GPL v3 http://opensource.org/licenses/GPL-3.0
- *
- */
-
-.context-menu-list {
-    margin:0; 
-    padding:0;
-    
-    min-width: 120px;
-    max-width: 250px;
-    display: inline-block;
-    position: absolute;
-    list-style-type: none;
-    
-    border: 1px solid #DDD;
-    background: #EEE;
-    
-    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-       -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-        -ms-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-         -o-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
-    
-    font-family: Verdana, Arial, Helvetica, sans-serif;
-    font-size: 11px;
-}
-
-.context-menu-item {
-    padding: 2px 2px 2px 24px;
-    background-color: #EEE;
-    position: relative;
-    -webkit-user-select: none;
-       -moz-user-select: -moz-none;
-        -ms-user-select: none;
-            user-select: none;
-}
-
-.context-menu-separator {
-    padding-bottom:0;
-    border-bottom: 1px solid #DDD;
-}
-
-.context-menu-item > label > input,
-.context-menu-item > label > textarea {
-    -webkit-user-select: text;
-       -moz-user-select: text;
-        -ms-user-select: text;
-            user-select: text;
-}
-
-.context-menu-item.hover {
-    cursor: pointer;
-    background-color: #39F;
-}
-
-.context-menu-item.disabled {
-    color: #666;
-}
-
-.context-menu-input.hover,
-.context-menu-item.disabled.hover {
-    cursor: default;
-    background-color: #EEE;
-}
-
-.context-menu-submenu:after {
-    content: ">";
-    color: #666;
-    position: absolute;
-    top: 0;
-    right: 3px;
-    z-index: 1;
-}
-
-/* icons
-    #protip:
-    In case you want to use sprites for icons (which I would suggest you do) have a look at
-    http://css-tricks.com/13224-pseudo-spriting/ to get an idea of how to implement 
-    .context-menu-item.icon:before {}
- */
-.context-menu-item.icon { min-height: 18px; background-repeat: no-repeat; background-position: 4px 2px; }
-.context-menu-item.icon-edit { background-image: url(images/page_white_edit.png); }
-.context-menu-item.icon-cut { background-image: url(images/cut.png); }
-.context-menu-item.icon-copy { background-image: url(images/page_white_copy.png); }
-.context-menu-item.icon-paste { background-image: url(images/page_white_paste.png); }
-.context-menu-item.icon-delete { background-image: url(images/page_white_delete.png); }
-.context-menu-item.icon-add { background-image: url(images/page_white_add.png); }
-.context-menu-item.icon-quit { background-image: url(images/door.png); }
-
-/* vertically align inside labels */
-.context-menu-input > label > * { vertical-align: top; }
-
-/* position checkboxes and radios as icons */
-.context-menu-input > label > input[type="checkbox"],
-.context-menu-input > label > input[type="radio"] {
-    margin-left: -17px;
-}
-.context-menu-input > label > span {
-    margin-left: 5px;
-}
-
-.context-menu-input > label,
-.context-menu-input > label > input[type="text"],
-.context-menu-input > label > textarea,
-.context-menu-input > label > select {
-    display: block;
-    width: 100%;
-    
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-        -ms-box-sizing: border-box;
-         -o-box-sizing: border-box;
-            box-sizing: border-box;
-}
-
-.context-menu-input > label > textarea {
-    height: 100px;
-}
-.context-menu-item > .context-menu-list {
-    display: none;
-    /* re-positioned by js */
-    right: -5px;
-    top: 5px;
-}
-
-.context-menu-item.hover > .context-menu-list {
-    display: block;
-}
-
-.context-menu-accesskey {
-    text-decoration: underline;
-}
diff --git a/server/target/classes/static/pptx/jquery.contextMenu.js b/server/target/classes/static/pptx/jquery.contextMenu.js
deleted file mode 100644
index 103a585..0000000
--- a/server/target/classes/static/pptx/jquery.contextMenu.js
+++ /dev/null
@@ -1,1686 +0,0 @@
-/*!
- * jQuery contextMenu - Plugin for simple contextMenu handling
- *
- * Version: git-master
- *
- * Authors: Rodney Rehm, Addy Osmani (patches for FF)
- * Web: http://medialize.github.com/jQuery-contextMenu/
- *
- * Licensed under
- *   MIT License http://www.opensource.org/licenses/mit-license
- *   GPL v3 http://opensource.org/licenses/GPL-3.0
- *
- */
-
-(function($, undefined){
-    
-    // TODO: -
-        // ARIA stuff: menuitem, menuitemcheckbox und menuitemradio
-        // create <menu> structure if $.support[htmlCommand || htmlMenuitem] and !opt.disableNative
-
-// determine html5 compatibility
-$.support.htmlMenuitem = ('HTMLMenuItemElement' in window);
-$.support.htmlCommand = ('HTMLCommandElement' in window);
-$.support.eventSelectstart = ("onselectstart" in document.documentElement);
-/* // should the need arise, test for css user-select
-$.support.cssUserSelect = (function(){
-    var t = false,
-        e = document.createElement('div');
-    
-    $.each('Moz|Webkit|Khtml|O|ms|Icab|'.split('|'), function(i, prefix) {
-        var propCC = prefix + (prefix ? 'U' : 'u') + 'serSelect',
-            prop = (prefix ? ('-' + prefix.toLowerCase() + '-') : '') + 'user-select';
-            
-        e.style.cssText = prop + ': text;';
-        if (e.style[propCC] == 'text') {
-            t = true;
-            return false;
-        }
-        
-        return true;
-    });
-    
-    return t;
-})();
-*/
-
-if (!$.ui || !$.ui.widget) {
-    // duck punch $.cleanData like jQueryUI does to get that remove event
-    // https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js#L16-24
-    var _cleanData = $.cleanData;
-    $.cleanData = function( elems ) {
-        for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
-            try {
-                $( elem ).triggerHandler( "remove" );
-                // http://bugs.jquery.com/ticket/8235
-            } catch( e ) {}
-        }
-        _cleanData( elems );
-    };
-}
-
-var // currently active contextMenu trigger
-    $currentTrigger = null,
-    // is contextMenu initialized with at least one menu?
-    initialized = false,
-    // window handle
-    $win = $(window),
-    // number of registered menus
-    counter = 0,
-    // mapping selector to namespace
-    namespaces = {},
-    // mapping namespace to options
-    menus = {},
-    // custom command type handlers
-    types = {},
-    // default values
-    defaults = {
-        // selector of contextMenu trigger
-        selector: null,
-        // where to append the menu to
-        appendTo: null,
-        // method to trigger context menu ["right", "left", "hover"]
-        trigger: "right",
-        // hide menu when mouse leaves trigger / menu elements
-        autoHide: false,
-        // ms to wait before showing a hover-triggered context menu
-        delay: 200,
-        // flag denoting if a second trigger should simply move (true) or rebuild (false) an open menu
-        // as long as the trigger happened on one of the trigger-element's child nodes
-        reposition: true,
-        // determine position to show menu at
-        determinePosition: function($menu) {
-            // position to the lower middle of the trigger element
-            if ($.ui && $.ui.position) {
-                // .position() is provided as a jQuery UI utility
-                // (...and it won't work on hidden elements)
-                $menu.css('display', 'block').position({
-                    my: "center top",
-                    at: "center bottom",
-                    of: this,
-                    offset: "0 5",
-                    collision: "fit"
-                }).css('display', 'none');
-            } else {
-                // determine contextMenu position
-                var offset = this.offset();
-                offset.top += this.outerHeight();
-                offset.left += this.outerWidth() / 2 - $menu.outerWidth() / 2;
-                $menu.css(offset);
-            }
-        },
-        // position menu
-        position: function(opt, x, y) {
-            var $this = this,
-                offset;
-            // determine contextMenu position
-            if (!x && !y) {
-                opt.determinePosition.call(this, opt.$menu);
-                return;
-            } else if (x === "maintain" && y === "maintain") {
-                // x and y must not be changed (after re-show on command click)
-                offset = opt.$menu.position();
-            } else {
-                // x and y are given (by mouse event)
-                offset = {top: y, left: x};
-            }
-            
-            // correct offset if viewport demands it
-            var bottom = $win.scrollTop() + $win.height(),
-                right = $win.scrollLeft() + $win.width(),
-                height = opt.$menu.height(),
-                width = opt.$menu.width();
-            
-            if (offset.top + height > bottom) {
-                offset.top -= height;
-            }
-            
-            if (offset.left + width > right) {
-                offset.left -= width;
-            }
-            
-            opt.$menu.css(offset);
-        },
-        // position the sub-menu
-        positionSubmenu: function($menu) {
-            if ($.ui && $.ui.position) {
-                // .position() is provided as a jQuery UI utility
-                // (...and it won't work on hidden elements)
-                $menu.css('display', 'block').position({
-                    my: "left top",
-                    at: "right top",
-                    of: this,
-                    collision: "flipfit fit"
-                }).css('display', '');
-            } else {
-                // determine contextMenu position
-                var offset = {
-                    top: 0,
-                    left: this.outerWidth()
-                };
-                $menu.css(offset);
-            }
-        },
-        // offset to add to zIndex
-        zIndex: 1,
-        // show hide animation settings
-        animation: {
-            duration: 50,
-            show: 'slideDown',
-            hide: 'slideUp'
-        },
-        // events
-        events: {
-            show: $.noop,
-            hide: $.noop
-        },
-        // default callback
-        callback: null,
-        // list of contextMenu items
-        items: {}
-    },
-    // mouse position for hover activation
-    hoveract = {
-        timer: null,
-        pageX: null,
-        pageY: null
-    },
-    // determine zIndex
-    zindex = function($t) {
-        var zin = 0,
-            $tt = $t;
-
-        while (true) {
-            zin = Math.max(zin, parseInt($tt.css('z-index'), 10) || 0);
-            $tt = $tt.parent();
-            if (!$tt || !$tt.length || "html body".indexOf($tt.prop('nodeName').toLowerCase()) > -1 ) {
-                break;
-            }
-        }
-        
-        return zin;
-    },
-    // event handlers
-    handle = {
-        // abort anything
-        abortevent: function(e){
-            e.preventDefault();
-            e.stopImmediatePropagation();
-        },
-        
-        // contextmenu show dispatcher
-        contextmenu: function(e) {
-            var $this = $(this);
-            
-            // disable actual context-menu
-            e.preventDefault();
-            e.stopImmediatePropagation();
-            
-            // abort native-triggered events unless we're triggering on right click
-            if (e.data.trigger != 'right' && e.originalEvent) {
-                return;
-            }
-            
-            // abort event if menu is visible for this trigger
-            if ($this.hasClass('context-menu-active')) {
-                return;
-            }
-            
-            if (!$this.hasClass('context-menu-disabled')) {
-                // theoretically need to fire a show event at <menu>
-                // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#context-menus
-                // var evt = jQuery.Event("show", { data: data, pageX: e.pageX, pageY: e.pageY, relatedTarget: this });
-                // e.data.$menu.trigger(evt);
-                
-                $currentTrigger = $this;
-                if (e.data.build) {
-                    var built = e.data.build($currentTrigger, e);
-                    // abort if build() returned false
-                    if (built === false) {
-                        return;
-                    }
-                    
-                    // dynamically build menu on invocation
-                    e.data = $.extend(true, {}, defaults, e.data, built || {});
-
-                    // abort if there are no items to display
-                    if (!e.data.items || $.isEmptyObject(e.data.items)) {
-                        // Note: jQuery captures and ignores errors from event handlers
-                        if (window.console) {
-                            (console.error || console.log)("No items specified to show in contextMenu");
-                        }
-                        
-                        throw new Error('No Items specified');
-                    }
-                    
-                    // backreference for custom command type creation
-                    e.data.$trigger = $currentTrigger;
-                    
-                    op.create(e.data);
-                }
-                // show menu
-                op.show.call($this, e.data, e.pageX, e.pageY);
-            }
-        },
-        // contextMenu left-click trigger
-        click: function(e) {
-            e.preventDefault();
-            e.stopImmediatePropagation();
-            $(this).trigger($.Event("contextmenu", { data: e.data, pageX: e.pageX, pageY: e.pageY }));
-        },
-        // contextMenu right-click trigger
-        mousedown: function(e) {
-            // register mouse down
-            var $this = $(this);
-            
-            // hide any previous menus
-            if ($currentTrigger && $currentTrigger.length && !$currentTrigger.is($this)) {
-                $currentTrigger.data('contextMenu').$menu.trigger('contextmenu:hide');
-            }
-            
-            // activate on right click
-            if (e.button == 2) {
-                $currentTrigger = $this.data('contextMenuActive', true);
-            }
-        },
-        // contextMenu right-click trigger
-        mouseup: function(e) {
-            // show menu
-            var $this = $(this);
-            if ($this.data('contextMenuActive') && $currentTrigger && $currentTrigger.length && $currentTrigger.is($this) && !$this.hasClass('context-menu-disabled')) {
-                e.preventDefault();
-                e.stopImmediatePropagation();
-                $currentTrigger = $this;
-                $this.trigger($.Event("contextmenu", { data: e.data, pageX: e.pageX, pageY: e.pageY }));
-            }
-            
-            $this.removeData('contextMenuActive');
-        },
-        // contextMenu hover trigger
-        mouseenter: function(e) {
-            var $this = $(this),
-                $related = $(e.relatedTarget),
-                $document = $(document);
-            
-            // abort if we're coming from a menu
-            if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {
-                return;
-            }
-            
-            // abort if a menu is shown
-            if ($currentTrigger && $currentTrigger.length) {
-                return;
-            }
-            
-            hoveract.pageX = e.pageX;
-            hoveract.pageY = e.pageY;
-            hoveract.data = e.data;
-            $document.on('mousemove.contextMenuShow', handle.mousemove);
-            hoveract.timer = setTimeout(function() {
-                hoveract.timer = null;
-                $document.off('mousemove.contextMenuShow');
-                $currentTrigger = $this;
-                $this.trigger($.Event("contextmenu", { data: hoveract.data, pageX: hoveract.pageX, pageY: hoveract.pageY }));
-            }, e.data.delay );
-        },
-        // contextMenu hover trigger
-        mousemove: function(e) {
-            hoveract.pageX = e.pageX;
-            hoveract.pageY = e.pageY;
-        },
-        // contextMenu hover trigger
-        mouseleave: function(e) {
-            // abort if we're leaving for a menu
-            var $related = $(e.relatedTarget);
-            if ($related.is('.context-menu-list') || $related.closest('.context-menu-list').length) {
-                return;
-            }
-            
-            try {
-                clearTimeout(hoveract.timer);
-            } catch(e) {}
-            
-            hoveract.timer = null;
-        },
-        
-        // click on layer to hide contextMenu
-        layerClick: function(e) {
-            var $this = $(this),
-                root = $this.data('contextMenuRoot'),
-                mouseup = false,
-                button = e.button,
-                x = e.pageX,
-                y = e.pageY,
-                target, 
-                offset,
-                selectors;
-                
-            e.preventDefault();
-            e.stopImmediatePropagation();
-            
-            setTimeout(function() {
-                var $window, hideshow, possibleTarget;
-                var triggerAction = ((root.trigger == 'left' && button === 0) || (root.trigger == 'right' && button === 2));
-                
-                // find the element that would've been clicked, wasn't the layer in the way
-                if (document.elementFromPoint) {
-                    root.$layer.hide();
-                    target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());
-                    root.$layer.show();
-                }
-                
-                if (root.reposition && triggerAction) {
-                    if (document.elementFromPoint) {
-                        if (root.$trigger.is(target) || root.$trigger.has(target).length) {
-                            root.position.call(root.$trigger, root, x, y);
-                            return;
-                        }
-                    } else {
-                        offset = root.$trigger.offset();
-                        $window = $(window);
-                        // while this looks kinda awful, it's the best way to avoid
-                        // unnecessarily calculating any positions
-                        offset.top += $window.scrollTop();
-                        if (offset.top <= e.pageY) {
-                            offset.left += $window.scrollLeft();
-                            if (offset.left <= e.pageX) {
-                                offset.bottom = offset.top + root.$trigger.outerHeight();
-                                if (offset.bottom >= e.pageY) {
-                                    offset.right = offset.left + root.$trigger.outerWidth();
-                                    if (offset.right >= e.pageX) {
-                                        // reposition
-                                        root.position.call(root.$trigger, root, x, y);
-                                        return;
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-                
-                if (target && triggerAction) {
-                    root.$trigger.one('contextmenu:hidden', function() {
-                        $(target).contextMenu({x: x, y: y});
-                    });
-                }
-
-                root.$menu.trigger('contextmenu:hide');
-            }, 50);
-        },
-        // key handled :hover
-        keyStop: function(e, opt) {
-            if (!opt.isInput) {
-                e.preventDefault();
-            }
-            
-            e.stopPropagation();
-        },
-        key: function(e) {
-            var opt = $currentTrigger.data('contextMenu') || {};
-
-            switch (e.keyCode) {
-                case 9:
-                case 38: // up
-                    handle.keyStop(e, opt);
-                    // if keyCode is [38 (up)] or [9 (tab) with shift]
-                    if (opt.isInput) {
-                        if (e.keyCode == 9 && e.shiftKey) {
-                            e.preventDefault();
-                            opt.$selected && opt.$selected.find('input, textarea, select').blur();
-                            opt.$menu.trigger('prevcommand');
-                            return;
-                        } else if (e.keyCode == 38 && opt.$selected.find('input, textarea, select').prop('type') == 'checkbox') {
-                            // checkboxes don't capture this key
-                            e.preventDefault();
-                            return;
-                        }
-                    } else if (e.keyCode != 9 || e.shiftKey) {
-                        opt.$menu.trigger('prevcommand');
-                        return;
-                    }
-                    // omitting break;
-                    
-                // case 9: // tab - reached through omitted break;
-                case 40: // down
-                    handle.keyStop(e, opt);
-                    if (opt.isInput) {
-                        if (e.keyCode == 9) {
-                            e.preventDefault();
-                            opt.$selected && opt.$selected.find('input, textarea, select').blur();
-                            opt.$menu.trigger('nextcommand');
-                            return;
-                        } else if (e.keyCode == 40 && opt.$selected.find('input, textarea, select').prop('type') == 'checkbox') {
-                            // checkboxes don't capture this key
-                            e.preventDefault();
-                            return;
-                        }
-                    } else {
-                        opt.$menu.trigger('nextcommand');
-                        return;
-                    }
-                    break;
-                
-                case 37: // left
-                    handle.keyStop(e, opt);
-                    if (opt.isInput || !opt.$selected || !opt.$selected.length) {
-                        break;
-                    }
-                
-                    if (!opt.$selected.parent().hasClass('context-menu-root')) {
-                        var $parent = opt.$selected.parent().parent();
-                        opt.$selected.trigger('contextmenu:blur');
-                        opt.$selected = $parent;
-                        return;
-                    }
-                    break;
-                    
-                case 39: // right
-                    handle.keyStop(e, opt);
-                    if (opt.isInput || !opt.$selected || !opt.$selected.length) {
-                        break;
-                    }
-                    
-                    var itemdata = opt.$selected.data('contextMenu') || {};
-                    if (itemdata.$menu && opt.$selected.hasClass('context-menu-submenu')) {
-                        opt.$selected = null;
-                        itemdata.$selected = null;
-                        itemdata.$menu.trigger('nextcommand');
-                        return;
-                    }
-                    break;
-                
-                case 35: // end
-                case 36: // home
-                    if (opt.$selected && opt.$selected.find('input, textarea, select').length) {
-                        return;
-                    } else {
-                        (opt.$selected && opt.$selected.parent() || opt.$menu)
-                            .children(':not(.disabled, .not-selectable)')[e.keyCode == 36 ? 'first' : 'last']()
-                            .trigger('contextmenu:focus');
-                        e.preventDefault();
-                        return;
-                    }
-                    break;
-                    
-                case 13: // enter
-                    handle.keyStop(e, opt);
-                    if (opt.isInput) {
-                        if (opt.$selected && !opt.$selected.is('textarea, select')) {
-                            e.preventDefault();
-                            return;
-                        }
-                        break;
-                    }
-                    opt.$selected && opt.$selected.trigger('mouseup');
-                    return;
-                    
-                case 32: // space
-                case 33: // page up
-                case 34: // page down
-                    // prevent browser from scrolling down while menu is visible
-                    handle.keyStop(e, opt);
-                    return;
-                    
-                case 27: // esc
-                    handle.keyStop(e, opt);
-                    opt.$menu.trigger('contextmenu:hide');
-                    return;
-                    
-                default: // 0-9, a-z
-                    var k = (String.fromCharCode(e.keyCode)).toUpperCase();
-                    if (opt.accesskeys[k]) {
-                        // according to the specs accesskeys must be invoked immediately
-                        opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu
-                            ? 'contextmenu:focus'
-                            : 'mouseup'
-                        );
-                        return;
-                    }
-                    break;
-            }
-            // pass event to selected item, 
-            // stop propagation to avoid endless recursion
-            e.stopPropagation();
-            opt.$selected && opt.$selected.trigger(e);
-        },
-
-        // select previous possible command in menu
-        prevItem: function(e) {
-            e.stopPropagation();
-            var opt = $(this).data('contextMenu') || {};
-
-            // obtain currently selected menu
-            if (opt.$selected) {
-                var $s = opt.$selected;
-                opt = opt.$selected.parent().data('contextMenu') || {};
-                opt.$selected = $s;
-            }
-            
-            var $children = opt.$menu.children(),
-                $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(),
-                $round = $prev;
-            
-            // skip disabled
-            while ($prev.hasClass('disabled') || $prev.hasClass('not-selectable')) {
-                if ($prev.prev().length) {
-                    $prev = $prev.prev();
-                } else {
-                    $prev = $children.last();
-                }
-                if ($prev.is($round)) {
-                    // break endless loop
-                    return;
-                }
-            }
-            
-            // leave current
-            if (opt.$selected) {
-                handle.itemMouseleave.call(opt.$selected.get(0), e);
-            }
-            
-            // activate next
-            handle.itemMouseenter.call($prev.get(0), e);
-            
-            // focus input
-            var $input = $prev.find('input, textarea, select');
-            if ($input.length) {
-                $input.focus();
-            }
-        },
-        // select next possible command in menu
-        nextItem: function(e) {
-            e.stopPropagation();
-            var opt = $(this).data('contextMenu') || {};
-
-            // obtain currently selected menu
-            if (opt.$selected) {
-                var $s = opt.$selected;
-                opt = opt.$selected.parent().data('contextMenu') || {};
-                opt.$selected = $s;
-            }
-
-            var $children = opt.$menu.children(),
-                $next = !opt.$selected || !opt.$selected.next().length ? $children.first() : opt.$selected.next(),
-                $round = $next;
-
-            // skip disabled
-            while ($next.hasClass('disabled') || $next.hasClass('not-selectable')) {
-                if ($next.next().length) {
-                    $next = $next.next();
-                } else {
-                    $next = $children.first();
-                }
-                if ($next.is($round)) {
-                    // break endless loop
-                    return;
-                }
-            }
-            
-            // leave current
-            if (opt.$selected) {
-                handle.itemMouseleave.call(opt.$selected.get(0), e);
-            }
-            
-            // activate next
-            handle.itemMouseenter.call($next.get(0), e);
-            
-            // focus input
-            var $input = $next.find('input, textarea, select');
-            if ($input.length) {
-                $input.focus();
-            }
-        },
-        
-        // flag that we're inside an input so the key handler can act accordingly
-        focusInput: function(e) {
-            var $this = $(this).closest('.context-menu-item'),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot;
-
-            root.$selected = opt.$selected = $this;
-            root.isInput = opt.isInput = true;
-        },
-        // flag that we're inside an input so the key handler can act accordingly
-        blurInput: function(e) {
-            var $this = $(this).closest('.context-menu-item'),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot;
-
-            root.isInput = opt.isInput = false;
-        },
-        
-        // :hover on menu
-        menuMouseenter: function(e) {
-            var root = $(this).data().contextMenuRoot;
-            root.hovering = true;
-        },
-        // :hover on menu
-        menuMouseleave: function(e) {
-            var root = $(this).data().contextMenuRoot;
-            if (root.$layer && root.$layer.is(e.relatedTarget)) {
-                root.hovering = false;
-            }
-        },
-        
-        // :hover done manually so key handling is possible
-        itemMouseenter: function(e) {
-            var $this = $(this),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot;
-            
-            root.hovering = true;
-
-            // abort if we're re-entering
-            if (e && root.$layer && root.$layer.is(e.relatedTarget)) {
-                e.preventDefault();
-                e.stopImmediatePropagation();
-            }
-
-            // make sure only one item is selected
-            (opt.$menu ? opt : root).$menu
-                .children('.hover').trigger('contextmenu:blur');
-
-            if ($this.hasClass('disabled') || $this.hasClass('not-selectable')) {
-                opt.$selected = null;
-                return;
-            }
-            
-            $this.trigger('contextmenu:focus');
-        },
-        // :hover done manually so key handling is possible
-        itemMouseleave: function(e) {
-            var $this = $(this),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot;
-
-            if (root !== opt && root.$layer && root.$layer.is(e.relatedTarget)) {
-                root.$selected && root.$selected.trigger('contextmenu:blur');
-                e.preventDefault();
-                e.stopImmediatePropagation();
-                root.$selected = opt.$selected = opt.$node;
-                return;
-            }
-            
-            $this.trigger('contextmenu:blur');
-        },
-        // contextMenu item click
-        itemClick: function(e) {
-            var $this = $(this),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot,
-                key = data.contextMenuKey,
-                callback;
-
-            // abort if the key is unknown or disabled or is a menu
-            if (!opt.items[key] || $this.is('.disabled, .context-menu-submenu, .context-menu-separator, .not-selectable')) {
-                return;
-            }
-
-            e.preventDefault();
-            e.stopImmediatePropagation();
-
-            if ($.isFunction(root.callbacks[key]) && Object.prototype.hasOwnProperty.call(root.callbacks, key)) {
-                // item-specific callback
-                callback = root.callbacks[key];
-            } else if ($.isFunction(root.callback)) {
-                // default callback
-                callback = root.callback;                
-            } else {
-                // no callback, no action
-                return;
-            }
-
-            // hide menu if callback doesn't stop that
-            if (callback.call(root.$trigger, key, root) !== false) {
-                root.$menu.trigger('contextmenu:hide');
-            } else if (root.$menu.parent().length) {
-                op.update.call(root.$trigger, root);
-            }
-        },
-        // ignore click events on input elements
-        inputClick: function(e) {
-            e.stopImmediatePropagation();
-        },
-        
-        // hide <menu>
-        hideMenu: function(e, data) {
-            var root = $(this).data('contextMenuRoot');
-            op.hide.call(root.$trigger, root, data && data.force);
-        },
-        // focus <command>
-        focusItem: function(e) {
-            e.stopPropagation();
-            var $this = $(this),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot;
-
-            $this.addClass('hover')
-                .siblings('.hover').trigger('contextmenu:blur');
-            
-            // remember selected
-            opt.$selected = root.$selected = $this;
-            
-            // position sub-menu - do after show so dumb $.ui.position can keep up
-            if (opt.$node) {
-                root.positionSubmenu.call(opt.$node, opt.$menu);
-            }
-        },
-        // blur <command>
-        blurItem: function(e) {
-            e.stopPropagation();
-            var $this = $(this),
-                data = $this.data(),
-                opt = data.contextMenu,
-                root = data.contextMenuRoot;
-            
-            $this.removeClass('hover');
-            opt.$selected = null;
-        }
-    },
-    // operations
-    op = {
-        show: function(opt, x, y) {
-            var $trigger = $(this),
-                offset,
-                css = {};
-
-            // hide any open menus
-            $('#context-menu-layer').trigger('mousedown');
-
-            // backreference for callbacks
-            opt.$trigger = $trigger;
-
-            // show event
-            if (opt.events.show.call($trigger, opt) === false) {
-                $currentTrigger = null;
-                return;
-            }
-
-            // create or update context menu
-            op.update.call($trigger, opt);
-            
-            // position menu
-            opt.position.call($trigger, opt, x, y);
-
-            // make sure we're in front
-            if (opt.zIndex) {
-                css.zIndex = zindex($trigger) + opt.zIndex;
-            }
-            
-            // add layer
-            op.layer.call(opt.$menu, opt, css.zIndex);
-            
-            // adjust sub-menu zIndexes
-            opt.$menu.find('ul').css('zIndex', css.zIndex + 1);
-            
-            // position and show context menu
-            opt.$menu.css( css )[opt.animation.show](opt.animation.duration, function() {
-                $trigger.trigger('contextmenu:visible');
-            });
-            // make options available and set state
-            $trigger
-                .data('contextMenu', opt)
-                .addClass("context-menu-active");
-            
-            // register key handler
-            $(document).off('keydown.contextMenu').on('keydown.contextMenu', handle.key);
-            // register autoHide handler
-            if (opt.autoHide) {
-                // mouse position handler
-                $(document).on('mousemove.contextMenuAutoHide', function(e) {
-                    // need to capture the offset on mousemove,
-                    // since the page might've been scrolled since activation
-                    var pos = $trigger.offset();
-                    pos.right = pos.left + $trigger.outerWidth();
-                    pos.bottom = pos.top + $trigger.outerHeight();
-                    
-                    if (opt.$layer && !opt.hovering && (!(e.pageX >= pos.left && e.pageX <= pos.right) || !(e.pageY >= pos.top && e.pageY <= pos.bottom))) {
-                        // if mouse in menu...
-                        opt.$menu.trigger('contextmenu:hide');
-                    }
-                });
-            }
-        },
-        hide: function(opt, force) {
-            var $trigger = $(this);
-            if (!opt) {
-                opt = $trigger.data('contextMenu') || {};
-            }
-            
-            // hide event
-            if (!force && opt.events && opt.events.hide.call($trigger, opt) === false) {
-                return;
-            }
-            
-            // remove options and revert state
-            $trigger
-                .removeData('contextMenu')
-                .removeClass("context-menu-active");
-            
-            if (opt.$layer) {
-                // keep layer for a bit so the contextmenu event can be aborted properly by opera
-                setTimeout((function($layer) {
-                    return function(){
-                        $layer.remove();
-                    };
-                })(opt.$layer), 10);
-                
-                try {
-                    delete opt.$layer;
-                } catch(e) {
-                    opt.$layer = null;
-                }
-            }
-            
-            // remove handle
-            $currentTrigger = null;
-            // remove selected
-            opt.$menu.find('.hover').trigger('contextmenu:blur');
-            opt.$selected = null;
-            // unregister key and mouse handlers
-            //$(document).off('.contextMenuAutoHide keydown.contextMenu'); // http://bugs.jquery.com/ticket/10705
-            $(document).off('.contextMenuAutoHide').off('keydown.contextMenu');
-            // hide menu
-            opt.$menu && opt.$menu[opt.animation.hide](opt.animation.duration, function (){
-                // tear down dynamically built menu after animation is completed.
-                if (opt.build) {
-                    opt.$menu.remove();
-                    $.each(opt, function(key, value) {
-                        switch (key) {
-                            case 'ns':
-                            case 'selector':
-                            case 'build':
-                            case 'trigger':
-                                return true;
-
-                            default:
-                                opt[key] = undefined;
-                                try {
-                                    delete opt[key];
-                                } catch (e) {}
-                                return true;
-                        }
-                    });
-                }
-                
-                setTimeout(function() {
-                    $trigger.trigger('contextmenu:hidden');
-                }, 10);
-            });
-        },
-        create: function(opt, root) {
-            if (root === undefined) {
-                root = opt;
-            }
-            // create contextMenu
-            opt.$menu = $('<ul class="context-menu-list"></ul>').addClass(opt.className || "").data({
-                'contextMenu': opt,
-                'contextMenuRoot': root
-            });
-            
-            $.each(['callbacks', 'commands', 'inputs'], function(i,k){
-                opt[k] = {};
-                if (!root[k]) {
-                    root[k] = {};
-                }
-            });
-            
-            root.accesskeys || (root.accesskeys = {});
-            
-            // create contextMenu items
-            $.each(opt.items, function(key, item){
-                var $t = $('<li class="context-menu-item"></li>').addClass(item.className || ""),
-                    $label = null,
-                    $input = null;
-                
-                // iOS needs to see a click-event bound to an element to actually
-                // have the TouchEvents infrastructure trigger the click event
-                $t.on('click', $.noop);
-                
-                item.$node = $t.data({
-                    'contextMenu': opt,
-                    'contextMenuRoot': root,
-                    'contextMenuKey': key
-                });
-                
-                // register accesskey
-                // NOTE: the accesskey attribute should be applicable to any element, but Safari5 and Chrome13 still can't do that
-                if (item.accesskey) {
-                    var aks = splitAccesskey(item.accesskey);
-                    for (var i=0, ak; ak = aks[i]; i++) {
-                        if (!root.accesskeys[ak]) {
-                            root.accesskeys[ak] = item;
-                            item._name = item.name.replace(new RegExp('(' + ak + ')', 'i'), '<span class="context-menu-accesskey">$1</span>');
-                            break;
-                        }
-                    }
-                }
-                
-                if (typeof item == "string") {
-                    $t.addClass('context-menu-separator not-selectable');
-                } else if (item.type && types[item.type]) {
-                    // run custom type handler
-                    types[item.type].call($t, item, opt, root);
-                    // register commands
-                    $.each([opt, root], function(i,k){
-                        k.commands[key] = item;
-                        if ($.isFunction(item.callback)) {
-                            k.callbacks[key] = item.callback;
-                        }
-                    });
-                } else {
-                    // add label for input
-                    if (item.type == 'html') {
-                        $t.addClass('context-menu-html not-selectable');
-                    } else if (item.type) {
-                        $label = $('<label></label>').appendTo($t);
-                        $('<span></span>').html(item._name || item.name).appendTo($label);
-                        $t.addClass('context-menu-input');
-                        opt.hasTypes = true;
-                        $.each([opt, root], function(i,k){
-                            k.commands[key] = item;
-                            k.inputs[key] = item;
-                        });
-                    } else if (item.items) {
-                        item.type = 'sub';
-                    }
-                
-                    switch (item.type) {
-                        case 'text':
-                            $input = $('<input type="text" value="1" name="" value="">')
-                                .attr('name', 'context-menu-input-' + key)
-                                .val(item.value || "")
-                                .appendTo($label);
-                            break;
-                    
-                        case 'textarea':
-                            $input = $('<textarea name=""></textarea>')
-                                .attr('name', 'context-menu-input-' + key)
-                                .val(item.value || "")
-                                .appendTo($label);
-
-                            if (item.height) {
-                                $input.height(item.height);
-                            }
-                            break;
-
-                        case 'checkbox':
-                            $input = $('<input type="checkbox" value="1" name="" value="">')
-                                .attr('name', 'context-menu-input-' + key)
-                                .val(item.value || "")
-                                .prop("checked", !!item.selected)
-                                .prependTo($label);
-                            break;
-
-                        case 'radio':
-                            $input = $('<input type="radio" value="1" name="" value="">')
-                                .attr('name', 'context-menu-input-' + item.radio)
-                                .val(item.value || "")
-                                .prop("checked", !!item.selected)
-                                .prependTo($label);
-                            break;
-                    
-                        case 'select':
-                            $input = $('<select name="">')
-                                .attr('name', 'context-menu-input-' + key)
-                                .appendTo($label);
-                            if (item.options) {
-                                $.each(item.options, function(value, text) {
-                                    $('<option></option>').val(value).text(text).appendTo($input);
-                                });
-                                $input.val(item.selected);
-                            }
-                            break;
-                        
-                        case 'sub':
-                            // FIXME: shouldn't this .html() be a .text()?
-                            $('<span></span>').html(item._name || item.name).appendTo($t);
-                            item.appendTo = item.$node;
-                            op.create(item, root);
-                            $t.data('contextMenu', item).addClass('context-menu-submenu');
-                            item.callback = null;
-                            break;
-                        
-                        case 'html':
-                            $(item.html).appendTo($t);
-                            break;
-                        
-                        default:
-                            $.each([opt, root], function(i,k){
-                                k.commands[key] = item;
-                                if ($.isFunction(item.callback)) {
-                                    k.callbacks[key] = item.callback;
-                                }
-                            });
-                            // FIXME: shouldn't this .html() be a .text()?
-                            $('<span></span>').html(item._name || item.name || "").appendTo($t);
-                            break;
-                    }
-                    
-                    // disable key listener in <input>
-                    if (item.type && item.type != 'sub' && item.type != 'html') {
-                        $input
-                            .on('focus', handle.focusInput)
-                            .on('blur', handle.blurInput);
-                        
-                        if (item.events) {
-                            $input.on(item.events, opt);
-                        }
-                    }
-                
-                    // add icons
-                    if (item.icon) {
-                        $t.addClass("icon icon-" + item.icon);
-                    }
-                }
-                
-                // cache contained elements
-                item.$input = $input;
-                item.$label = $label;
-
-                // attach item to menu
-                $t.appendTo(opt.$menu);
-                
-                // Disable text selection
-                if (!opt.hasTypes && $.support.eventSelectstart) {
-                    // browsers support user-select: none, 
-                    // IE has a special event for text-selection
-                    // browsers supporting neither will not be preventing text-selection
-                    $t.on('selectstart.disableTextSelect', handle.abortevent);
-                }
-            });
-            // attach contextMenu to <body> (to bypass any possible overflow:hidden issues on parents of the trigger element)
-            if (!opt.$node) {
-                opt.$menu.css('display', 'none').addClass('context-menu-root');
-            }
-            opt.$menu.appendTo(opt.appendTo || document.body);
-        },
-        resize: function($menu, nested) {
-            // determine widths of submenus, as CSS won't grow them automatically
-            // position:absolute within position:absolute; min-width:100; max-width:200; results in width: 100;
-            // kinda sucks hard...
-
-            // determine width of absolutely positioned element
-            $menu.css({position: 'absolute', display: 'block'});
-            // don't apply yet, because that would break nested elements' widths
-            // add a pixel to circumvent word-break issue in IE9 - #80
-            $menu.data('width', Math.ceil($menu.width()) + 1);
-            // reset styles so they allow nested elements to grow/shrink naturally
-            $menu.css({
-                position: 'static',
-                minWidth: '0px',
-                maxWidth: '100000px'
-            });
-            // identify width of nested menus
-            $menu.find('> li > ul').each(function() {
-                op.resize($(this), true);
-            });
-            // reset and apply changes in the end because nested
-            // elements' widths wouldn't be calculatable otherwise
-            if (!nested) {
-                $menu.find('ul').andSelf().css({
-                    position: '', 
-                    display: '',
-                    minWidth: '',
-                    maxWidth: ''
-                }).width(function() {
-                    return $(this).data('width');
-                });
-            }
-        },
-        update: function(opt, root) {
-            var $trigger = this;
-            if (root === undefined) {
-                root = opt;
-                op.resize(opt.$menu);
-            }
-            // re-check disabled for each item
-            opt.$menu.children().each(function(){
-                var $item = $(this),
-                    key = $item.data('contextMenuKey'),
-                    item = opt.items[key],
-                    disabled = ($.isFunction(item.disabled) && item.disabled.call($trigger, key, root)) || item.disabled === true;
-
-                // dis- / enable item
-                $item[disabled ? 'addClass' : 'removeClass']('disabled');
-                
-                if (item.type) {
-                    // dis- / enable input elements
-                    $item.find('input, select, textarea').prop('disabled', disabled);
-                    
-                    // update input states
-                    switch (item.type) {
-                        case 'text':
-                        case 'textarea':
-                            item.$input.val(item.value || "");
-                            break;
-                            
-                        case 'checkbox':
-                        case 'radio':
-                            item.$input.val(item.value || "").prop('checked', !!item.selected);
-                            break;
-                            
-                        case 'select':
-                            item.$input.val(item.selected || "");
-                            break;
-                    }
-                }
-                
-                if (item.$menu) {
-                    // update sub-menu
-                    op.update.call($trigger, item, root);
-                }
-            });
-        },
-        layer: function(opt, zIndex) {
-            // add transparent layer for click area
-            // filter and background for Internet Explorer, Issue #23
-            var $layer = opt.$layer = $('<div id="context-menu-layer" style="position:fixed; z-index:' + zIndex + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>')
-                .css({height: $win.height(), width: $win.width(), display: 'block'})
-                .data('contextMenuRoot', opt)
-                .insertBefore(this)
-                .on('contextmenu', handle.abortevent)
-                .on('mousedown', handle.layerClick);
-            
-            // IE6 doesn't know position:fixed;
-            if (!$.support.fixedPosition) {
-                $layer.css({
-                    'position' : 'absolute',
-                    'height' : $(document).height()
-                });
-            }
-            
-            return $layer;
-        }
-    };
-
-// split accesskey according to http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#assigned-access-key
-function splitAccesskey(val) {
-    var t = val.split(/\s+/),
-        keys = [];
-        
-    for (var i=0, k; k = t[i]; i++) {
-        k = k[0].toUpperCase(); // first character only
-        // theoretically non-accessible characters should be ignored, but different systems, different keyboard layouts, ... screw it.
-        // a map to look up already used access keys would be nice
-        keys.push(k);
-    }
-    
-    return keys;
-}
-
-// handle contextMenu triggers
-$.fn.contextMenu = function(operation) {
-    if (operation === undefined) {
-        this.first().trigger('contextmenu');
-    } else if (operation.x && operation.y) {
-        this.first().trigger($.Event("contextmenu", {pageX: operation.x, pageY: operation.y}));
-    } else if (operation === "hide") {
-        var $menu = this.data('contextMenu').$menu;
-        $menu && $menu.trigger('contextmenu:hide');
-    } else if (operation === "destroy") {
-        $.contextMenu("destroy", {context: this});
-    } else if ($.isPlainObject(operation)) {
-        operation.context = this;
-        $.contextMenu("create", operation);
-    } else if (operation) {
-        this.removeClass('context-menu-disabled');
-    } else if (!operation) {
-        this.addClass('context-menu-disabled');
-    }
-    
-    return this;
-};
-
-// manage contextMenu instances
-$.contextMenu = function(operation, options) {
-    if (typeof operation != 'string') {
-        options = operation;
-        operation = 'create';
-    }
-    
-    if (typeof options == 'string') {
-        options = {selector: options};
-    } else if (options === undefined) {
-        options = {};
-    }
-    
-    // merge with default options
-    var o = $.extend(true, {}, defaults, options || {});
-    var $document = $(document);
-    var $context = $document;
-    var _hasContext = false;
-    
-    if (!o.context || !o.context.length) {
-        o.context = document;
-    } else {
-        // you never know what they throw at you...
-        $context = $(o.context).first();
-        o.context = $context.get(0);
-        _hasContext = o.context !== document;
-    }
-    
-    switch (operation) {
-        case 'create':
-            // no selector no joy
-            if (!o.selector) {
-                throw new Error('No selector specified');
-            }
-            // make sure internal classes are not bound to
-            if (o.selector.match(/.context-menu-(list|item|input)($|\s)/)) {
-                throw new Error('Cannot bind to selector "' + o.selector + '" as it contains a reserved className');
-            }
-            if (!o.build && (!o.items || $.isEmptyObject(o.items))) {
-                throw new Error('No Items specified');
-            }
-            counter ++;
-            o.ns = '.contextMenu' + counter;
-            if (!_hasContext) {
-                namespaces[o.selector] = o.ns;
-            }
-            menus[o.ns] = o;
-            
-            // default to right click
-            if (!o.trigger) {
-                o.trigger = 'right';
-            }
-            
-            if (!initialized) {
-                // make sure item click is registered first
-                $document
-                    .on({
-                        'contextmenu:hide.contextMenu': handle.hideMenu,
-                        'prevcommand.contextMenu': handle.prevItem,
-                        'nextcommand.contextMenu': handle.nextItem,
-                        'contextmenu.contextMenu': handle.abortevent,
-                        'mouseenter.contextMenu': handle.menuMouseenter,
-                        'mouseleave.contextMenu': handle.menuMouseleave
-                    }, '.context-menu-list')
-                    .on('mouseup.contextMenu', '.context-menu-input', handle.inputClick)
-                    .on({
-                        'mouseup.contextMenu': handle.itemClick,
-                        'contextmenu:focus.contextMenu': handle.focusItem,
-                        'contextmenu:blur.contextMenu': handle.blurItem,
-                        'contextmenu.contextMenu': handle.abortevent,
-                        'mouseenter.contextMenu': handle.itemMouseenter,
-                        'mouseleave.contextMenu': handle.itemMouseleave
-                    }, '.context-menu-item');
-
-                initialized = true;
-            }
-            
-            // engage native contextmenu event
-            $context
-                .on('contextmenu' + o.ns, o.selector, o, handle.contextmenu);
-            
-            if (_hasContext) {
-                // add remove hook, just in case
-                $context.on('remove' + o.ns, function() {
-                    $(this).contextMenu("destroy");
-                });
-            }
-            
-            switch (o.trigger) {
-                case 'hover':
-                        $context
-                            .on('mouseenter' + o.ns, o.selector, o, handle.mouseenter)
-                            .on('mouseleave' + o.ns, o.selector, o, handle.mouseleave);                    
-                    break;
-                    
-                case 'left':
-                        $context.on('click' + o.ns, o.selector, o, handle.click);
-                    break;
-                /*
-                default:
-                    // http://www.quirksmode.org/dom/events/contextmenu.html
-                    $document
-                        .on('mousedown' + o.ns, o.selector, o, handle.mousedown)
-                        .on('mouseup' + o.ns, o.selector, o, handle.mouseup);
-                    break;
-                */
-            }
-            
-            // create menu
-            if (!o.build) {
-                op.create(o);
-            }
-            break;
-        
-        case 'destroy':
-            var $visibleMenu;
-            if (_hasContext) {
-                // get proper options 
-                var context = o.context;
-                $.each(menus, function(ns, o) {
-                    if (o.context !== context) {
-                        return true;
-                    }
-                    
-                    $visibleMenu = $('.context-menu-list').filter(':visible');
-                    if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is($(o.context).find(o.selector))) {
-                        $visibleMenu.trigger('contextmenu:hide', {force: true});
-                    }
-
-                    try {
-                        if (menus[o.ns].$menu) {
-                            menus[o.ns].$menu.remove();
-                        }
-
-                        delete menus[o.ns];
-                    } catch(e) {
-                        menus[o.ns] = null;
-                    }
-
-                    $(o.context).off(o.ns);
-                    
-                    return true;
-                });
-            } else if (!o.selector) {
-                $document.off('.contextMenu .contextMenuAutoHide');
-                $.each(menus, function(ns, o) {
-                    $(o.context).off(o.ns);
-                });
-                
-                namespaces = {};
-                menus = {};
-                counter = 0;
-                initialized = false;
-                
-                $('#context-menu-layer, .context-menu-list').remove();
-            } else if (namespaces[o.selector]) {
-                $visibleMenu = $('.context-menu-list').filter(':visible');
-                if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {
-                    $visibleMenu.trigger('contextmenu:hide', {force: true});
-                }
-                
-                try {
-                    if (menus[namespaces[o.selector]].$menu) {
-                        menus[namespaces[o.selector]].$menu.remove();
-                    }
-                    
-                    delete menus[namespaces[o.selector]];
-                } catch(e) {
-                    menus[namespaces[o.selector]] = null;
-                }
-                
-                $document.off(namespaces[o.selector]);
-            }
-            break;
-        
-        case 'html5':
-            // if <command> or <menuitem> are not handled by the browser,
-            // or options was a bool true,
-            // initialize $.contextMenu for them
-            if ((!$.support.htmlCommand && !$.support.htmlMenuitem) || (typeof options == "boolean" && options)) {
-                $('menu[type="context"]').each(function() {
-                    if (this.id) {
-                        $.contextMenu({
-                            selector: '[contextmenu=' + this.id +']',
-                            items: $.contextMenu.fromMenu(this)
-                        });
-                    }
-                }).css('display', 'none');
-            }
-            break;
-        
-        default:
-            throw new Error('Unknown operation "' + operation + '"');
-    }
-    
-    return this;
-};
-
-// import values into <input> commands
-$.contextMenu.setInputValues = function(opt, data) {
-    if (data === undefined) {
-        data = {};
-    }
-    
-    $.each(opt.inputs, function(key, item) {
-        switch (item.type) {
-            case 'text':
-            case 'textarea':
-                item.value = data[key] || "";
-                break;
-
-            case 'checkbox':
-                item.selected = data[key] ? true : false;
-                break;
-                
-            case 'radio':
-                item.selected = (data[item.radio] || "") == item.value ? true : false;
-                break;
-            
-            case 'select':
-                item.selected = data[key] || "";
-                break;
-        }
-    });
-};
-
-// export values from <input> commands
-$.contextMenu.getInputValues = function(opt, data) {
-    if (data === undefined) {
-        data = {};
-    }
-    
-    $.each(opt.inputs, function(key, item) {
-        switch (item.type) {
-            case 'text':
-            case 'textarea':
-            case 'select':
-                data[key] = item.$input.val();
-                break;
-
-            case 'checkbox':
-                data[key] = item.$input.prop('checked');
-                break;
-                
-            case 'radio':
-                if (item.$input.prop('checked')) {
-                    data[item.radio] = item.value;
-                }
-                break;
-        }
-    });
-    
-    return data;
-};
-
-// find <label for="xyz">
-function inputLabel(node) {
-    return (node.id && $('label[for="'+ node.id +'"]').val()) || node.name;
-}
-
-// convert <menu> to items object
-function menuChildren(items, $children, counter) {
-    if (!counter) {
-        counter = 0;
-    }
-    
-    $children.each(function() {
-        var $node = $(this),
-            node = this,
-            nodeName = this.nodeName.toLowerCase(),
-            label,
-            item;
-        
-        // extract <label><input>
-        if (nodeName == 'label' && $node.find('input, textarea, select').length) {
-            label = $node.text();
-            $node = $node.children().first();
-            node = $node.get(0);
-            nodeName = node.nodeName.toLowerCase();
-        }
-        
-        /*
-         * <menu> accepts flow-content as children. that means <embed>, <canvas> and such are valid menu items.
-         * Not being the sadistic kind, $.contextMenu only accepts:
-         * <command>, <menuitem>, <hr>, <span>, <p> <input [text, radio, checkbox]>, <textarea>, <select> and of course <menu>.
-         * Everything else will be imported as an html node, which is not interfaced with contextMenu.
-         */
-        
-        // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#concept-command
-        switch (nodeName) {
-            // http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element
-            case 'menu':
-                item = {name: $node.attr('label'), items: {}};
-                counter = menuChildren(item.items, $node.children(), counter);
-                break;
-            
-            // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-a-element-to-define-a-command
-            case 'a':
-            // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-button-element-to-define-a-command
-            case 'button':
-                item = {
-                    name: $node.text(),
-                    disabled: !!$node.attr('disabled'),
-                    callback: (function(){ return function(){ $node.click(); }; })()
-                };
-                break;
-            
-            // http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#using-the-command-element-to-define-a-command
-
-            case 'menuitem':
-            case 'command':
-                switch ($node.attr('type')) {
-                    case undefined:
-                    case 'command':
-                    case 'menuitem':
-                        item = {
-                            name: $node.attr('label'),
-                            disabled: !!$node.attr('disabled'),
-                            callback: (function(){ return function(){ $node.click(); }; })()
-                        };
-                        break;
-                        
-                    case 'checkbox':
-                        item = {
-                            type: 'checkbox',
-                            disabled: !!$node.attr('disabled'),
-                            name: $node.attr('label'),
-                            selected: !!$node.attr('checked')
-                        };
-                        break;
-                        
-                    case 'radio':
-                        item = {
-                            type: 'radio',
-                            disabled: !!$node.attr('disabled'),
-                            name: $node.attr('label'),
-                            radio: $node.attr('radiogroup'),
-                            value: $node.attr('id'),
-                            selected: !!$node.attr('checked')
-                        };
-                        break;
-                        
-                    default:
-                        item = undefined;
-                }
-                break;
- 
-            case 'hr':
-                item = '-------';
-                break;
-                
-            case 'input':
-                switch ($node.attr('type')) {
-                    case 'text':
-                        item = {
-                            type: 'text',
-                            name: label || inputLabel(node),
-                            disabled: !!$node.attr('disabled'),
-                            value: $node.val()
-                        };
-                        break;
-                        
-                    case 'checkbox':
-                        item = {
-                            type: 'checkbox',
-                            name: label || inputLabel(node),
-                            disabled: !!$node.attr('disabled'),
-                            selected: !!$node.attr('checked')
-                        };
-                        break;
-                        
-                    case 'radio':
-                        item = {
-                            type: 'radio',
-                            name: label || inputLabel(node),
-                            disabled: !!$node.attr('disabled'),
-                            radio: !!$node.attr('name'),
-                            value: $node.val(),
-                            selected: !!$node.attr('checked')
-                        };
-                        break;
-                    
-                    default:
-                        item = undefined;
-                        break;
-                }
-                break;
-                
-            case 'select':
-                item = {
-                    type: 'select',
-                    name: label || inputLabel(node),
-                    disabled: !!$node.attr('disabled'),
-                    selected: $node.val(),
-                    options: {}
-                };
-                $node.children().each(function(){
-                    item.options[this.value] = $(this).text();
-                });
-                break;
-                
-            case 'textarea':
-                item = {
-                    type: 'textarea',
-                    name: label || inputLabel(node),
-                    disabled: !!$node.attr('disabled'),
-                    value: $node.val()
-                };
-                break;
-            
-            case 'label':
-                break;
-            
-            default:
-                item = {type: 'html', html: $node.clone(true)};
-                break;
-        }
-        
-        if (item) {
-            counter++;
-            items['key' + counter] = item;
-        }
-    });
-    
-    return counter;
-}
-
-// convert html5 menu
-$.contextMenu.fromMenu = function(element) {
-    var $this = $(element),
-        items = {};
-        
-    menuChildren(items, $this.children());
-    
-    return items;
-};
-
-// make defaults accessible
-$.contextMenu.defaults = defaults;
-$.contextMenu.types = types;
-// export internal functions - undocumented, for hacking only!
-$.contextMenu.handle = handle;
-$.contextMenu.op = op;
-$.contextMenu.menus = menus;
-
-})(jQuery);
diff --git a/server/target/classes/static/pptx/jquery.mobile-events.min.js b/server/target/classes/static/pptx/jquery.mobile-events.min.js
deleted file mode 100644
index 410e67d..0000000
--- a/server/target/classes/static/pptx/jquery.mobile-events.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(e){function d(){var e=o();if(e!==u){u=e;i.trigger("orientationchange")}}function E(t,n,r,i){var s=r.type;r.type=n;e.event.dispatch.call(t,r,i);r.type=s}e.attrFn=e.attrFn||{};var t=navigator.userAgent.toLowerCase(),n=t.indexOf("chrome")>-1&&(t.indexOf("windows")>-1||t.indexOf("macintosh")>-1||t.indexOf("linux")>-1)&&t.indexOf("chrome")<0,r={swipe_h_threshold:50,swipe_v_threshold:50,taphold_threshold:750,doubletap_int:500,touch_capable:document.documentElement.hasOwnProperty("ontouchstart")&&!n,orientation_support:window.hasOwnProperty("orientation")&&window.hasOwnProperty("onorientationchange"),startevent:document.documentElement.hasOwnProperty("ontouchstart")&&!n?"touchstart":"mousedown",endevent:document.documentElement.hasOwnProperty("ontouchstart")&&!n?"touchend":"mouseup",moveevent:document.documentElement.hasOwnProperty("ontouchstart")&&!n?"touchmove":"mousemove",tapevent:document.documentElement.hasOwnProperty("ontouchstart")&&!n?"tap":"click",scrollevent:document.documentElement.hasOwnProperty("ontouchstart")&&!n?"touchmove":"scroll",hold_timer:null,tap_timer:null};e.each(["tapstart","tapend","tap","singletap","doubletap","taphold","swipe","swipeup","swiperight","swipedown","swipeleft","swipeend","scrollstart","scrollend","orientationchange"],function(t,n){e.fn[n]=function(e){return e?this.bind(n,e):this.trigger(n)};e.attrFn[n]=true});e.event.special.tapstart={setup:function(){var t=this,n=e(t);n.bind(r.startevent,function(e){n.data("callee",arguments.callee);if(e.which&&e.which!==1){return false}var i=e.originalEvent,s={position:{x:r.touch_capable?i.touches[0].screenX:e.screenX,y:r.touch_capable?i.touches[0].screenY:e.screenY},offset:{x:r.touch_capable?i.touches[0].pageX-i.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?i.touches[0].pageY-i.touches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};E(t,"tapstart",e,s);return true})},remove:function(){e(this).unbind(r.startevent,e(this).data.callee)}};e.event.special.tapend={setup:function(){var t=this,n=e(t);n.bind(r.endevent,function(e){n.data("callee",arguments.callee);var i=e.originalEvent;var s={position:{x:r.touch_capable?i.changedTouches[0].screenX:e.screenX,y:r.touch_capable?i.changedTouches[0].screenY:e.screenY},offset:{x:r.touch_capable?i.changedTouches[0].pageX-i.changedTouches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?i.changedTouches[0].pageY-i.changedTouches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};E(t,"tapend",e,s);return true})},remove:function(){e(this).unbind(r.endevent,e(this).data.callee)}};e.event.special.taphold={setup:function(){var t=this,n=e(t),i,s,o={x:0,y:0};n.bind(r.startevent,function(e){if(e.which&&e.which!==1){return false}else{n.data("tapheld",false);i=e.target;var s=e.originalEvent;var u=(new Date).getTime(),a={x:r.touch_capable?s.touches[0].screenX:e.screenX,y:r.touch_capable?s.touches[0].screenY:e.screenY},f={x:r.touch_capable?s.touches[0].pageX-s.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?s.touches[0].pageY-s.touches[0].target.offsetTop:e.offsetY};o.x=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageX:e.pageX;o.y=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageY:e.pageY;r.hold_timer=window.setTimeout(function(){var l=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageX:e.pageX,c=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageY:e.pageY;if(e.target==i&&o.x==l&&o.y==c){n.data("tapheld",true);var h=(new Date).getTime(),p={x:r.touch_capable?s.touches[0].screenX:e.screenX,y:r.touch_capable?s.touches[0].screenY:e.screenY},d={x:r.touch_capable?s.touches[0].pageX-s.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?s.touches[0].pageY-s.touches[0].target.offsetTop:e.offsetY};duration=h-u;var v={startTime:u,endTime:h,startPosition:a,startOffset:f,endPosition:p,endOffset:d,duration:duration,target:e.target};n.data("callee1",arguments.callee);E(t,"taphold",e,v)}},r.taphold_threshold);return true}}).bind(r.endevent,function(){n.data("callee2",arguments.callee);n.data("tapheld",false);window.clearTimeout(r.hold_timer)})},remove:function(){e(this).unbind(r.startevent,e(this).data.callee1).unbind(r.endevent,e(this).data.callee2)}};e.event.special.doubletap={setup:function(){var t=this,n=e(t),i,s,o,u;n.bind(r.startevent,function(e){if(e.which&&e.which!==1){return false}else{n.data("doubletapped",false);i=e.target;n.data("callee1",arguments.callee);u=e.originalEvent;o={position:{x:r.touch_capable?u.touches[0].screenX:e.screenX,y:r.touch_capable?u.touches[0].screenY:e.screenY},offset:{x:r.touch_capable?u.touches[0].pageX-u.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?u.touches[0].pageY-u.touches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};return true}}).bind(r.endevent,function(e){var a=(new Date).getTime();var f=n.data("lastTouch")||a+1;var l=a-f;window.clearTimeout(s);n.data("callee2",arguments.callee);if(l<r.doubletap_int&&l>0&&e.target==i&&l>100){n.data("doubletapped",true);window.clearTimeout(r.tap_timer);var c={position:{x:r.touch_capable?u.touches[0].screenX:e.screenX,y:r.touch_capable?u.touches[0].screenY:e.screenY},offset:{x:r.touch_capable?u.touches[0].pageX-u.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?u.touches[0].pageY-u.touches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};var h={firstTap:o,secondTap:c,interval:c.time-o.time};E(t,"doubletap",e,h)}else{n.data("lastTouch",a);s=window.setTimeout(function(e){window.clearTimeout(s)},r.doubletap_int,[e])}n.data("lastTouch",a)})},remove:function(){e(this).unbind(r.startevent,e(this).data.callee1).unbind(r.endevent,e(this).data.callee2)}};e.event.special.singletap={setup:function(){var t=this,n=e(t),i=null,s=null,o={x:0,y:0};n.bind(r.startevent,function(e){if(e.which&&e.which!==1){return false}else{s=(new Date).getTime();i=e.target;n.data("callee1",arguments.callee);o.x=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageX:e.pageX;o.y=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageY:e.pageY;return true}}).bind(r.endevent,function(e){n.data("callee2",arguments.callee);if(e.target==i){end_pos_x=e.originalEvent.changedTouches?e.originalEvent.changedTouches[0].pageX:e.pageX;end_pos_y=e.originalEvent.changedTouches?e.originalEvent.changedTouches[0].pageY:e.pageY;r.tap_timer=window.setTimeout(function(){if(!n.data("doubletapped")&&!n.data("tapheld")&&o.x==end_pos_x&&o.y==end_pos_y){var i=e.originalEvent;var s={position:{x:r.touch_capable?i.changedTouches[0].screenX:e.screenX,y:r.touch_capable?i.changedTouches[0].screenY:e.screenY},offset:{x:r.touch_capable?i.changedTouches[0].pageX-i.changedTouches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?i.changedTouches[0].pageY-i.changedTouches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};E(t,"singletap",e,s)}},r.doubletap_int)}})},remove:function(){e(this).unbind(r.startevent,e(this).data.callee1).unbind(r.endevent,e(this).data.callee2)}};e.event.special.tap={setup:function(){var t=this,n=e(t),i=false,s=null,o,u={x:0,y:0};n.bind(r.startevent,function(e){n.data("callee1",arguments.callee);if(e.which&&e.which!==1){return false}else{i=true;u.x=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageX:e.pageX;u.y=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageY:e.pageY;o=(new Date).getTime();s=e.target;return true}}).bind(r.endevent,function(e){n.data("callee2",arguments.callee);var a=e.originalEvent.targetTouches?e.originalEvent.changedTouches[0].pageX:e.pageX,f=e.originalEvent.targetTouches?e.originalEvent.changedTouches[0].pageY:e.pageY;if(s==e.target&&i&&(new Date).getTime()-o<r.taphold_threshold&&u.x==a&&u.y==f){var l=e.originalEvent;var c={position:{x:r.touch_capable?l.changedTouches[0].screenX:e.screenX,y:r.touch_capable?l.changedTouches[0].screenY:e.screenY},offset:{x:r.touch_capable?l.changedTouches[0].pageX-l.changedTouches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?l.changedTouches[0].pageY-l.changedTouches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};E(t,"tap",e,c)}})},remove:function(){e(this).unbind(r.startevent,e(this).data.callee1).unbind(r.endevent,e(this).data.callee2)}};e.event.special.swipe={setup:function(){function f(e){n.data("callee1",arguments.callee);o.x=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageX:e.pageX;o.y=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageY:e.pageY;u.x=o.x;u.y=o.y;i=true;var t=e.originalEvent;a={position:{x:r.touch_capable?t.touches[0].screenX:e.screenX,y:r.touch_capable?t.touches[0].screenY:e.screenY},offset:{x:r.touch_capable?t.touches[0].pageX-t.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?t.touches[0].pageY-t.touches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};var s=new Date;while(new Date-s<100){}}function l(e){n.data("callee2",arguments.callee);u.x=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageX:e.pageX;u.y=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0].pageY:e.pageY;window.clearTimeout(r.hold_timer);var t;var f=n.data("xthreshold"),l=n.data("ythreshold"),c=typeof f!=="undefined"&&f!==false&&parseInt(f)?parseInt(f):r.swipe_h_threshold,h=typeof l!=="undefined"&&l!==false&&parseInt(l)?parseInt(l):r.swipe_v_threshold;if(o.y>u.y&&o.y-u.y>h){t="swipeup"}if(o.x<u.x&&u.x-o.x>c){t="swiperight"}if(o.y<u.y&&u.y-o.y>h){t="swipedown"}if(o.x>u.x&&o.x-u.x>c){t="swipeleft"}if(t!=undefined&&i){o.x=0;o.y=0;u.x=0;u.y=0;i=false;var p=e.originalEvent;endEvnt={position:{x:r.touch_capable?p.touches[0].screenX:e.screenX,y:r.touch_capable?p.touches[0].screenY:e.screenY},offset:{x:r.touch_capable?p.touches[0].pageX-p.touches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?p.touches[0].pageY-p.touches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};var d=Math.abs(a.position.x-endEvnt.position.x),v=Math.abs(a.position.y-endEvnt.position.y);var m={startEvnt:a,endEvnt:endEvnt,direction:t.replace("swipe",""),xAmount:d,yAmount:v,duration:endEvnt.time-a.time};s=true;n.trigger("swipe",m).trigger(t,m)}}function c(e){n.data("callee3",arguments.callee);if(s){var t=n.data("xthreshold"),o=n.data("ythreshold"),u=typeof t!=="undefined"&&t!==false&&parseInt(t)?parseInt(t):r.swipe_h_threshold,f=typeof o!=="undefined"&&o!==false&&parseInt(o)?parseInt(o):r.swipe_v_threshold;var l=e.originalEvent;endEvnt={position:{x:r.touch_capable?l.changedTouches[0].screenX:e.screenX,y:r.touch_capable?l.changedTouches[0].screenY:e.screenY},offset:{x:r.touch_capable?l.changedTouches[0].pageX-l.changedTouches[0].target.offsetLeft:e.offsetX,y:r.touch_capable?l.changedTouches[0].pageY-l.changedTouches[0].target.offsetTop:e.offsetY},time:(new Date).getTime(),target:e.target};if(a.position.y>endEvnt.position.y&&a.position.y-endEvnt.position.y>f){swipedir="swipeup"}if(a.position.x<endEvnt.position.x&&endEvnt.position.x-a.position.x>u){swipedir="swiperight"}if(a.position.y<endEvnt.position.y&&endEvnt.position.y-a.position.y>f){swipedir="swipedown"}if(a.position.x>endEvnt.position.x&&a.position.x-endEvnt.position.x>u){swipedir="swipeleft"}var c=Math.abs(a.position.x-endEvnt.position.x),h=Math.abs(a.position.y-endEvnt.position.y);var p={startEvnt:a,endEvnt:endEvnt,direction:swipedir.replace("swipe",""),xAmount:c,yAmount:h,duration:endEvnt.time-a.time};n.trigger("swipeend",p)}i=false;s=false}var t=this,n=e(t),i=false,s=false,o={x:0,y:0},u={x:0,y:0},a;n.bind(r.startevent,f);n.bind(r.moveevent,l);n.bind(r.endevent,c)},remove:function(){e(this).unbind(r.startevent,e(this).data.callee1).unbind(r.moveevent,e(this).data.callee2).unbind(r.endevent,e(this).data.callee3)}};e.event.special.scrollstart={setup:function(){function o(e,n){i=n;E(t,i?"scrollstart":"scrollend",e)}var t=this,n=e(t),i,s;n.bind(r.scrollevent,function(e){n.data("callee",arguments.callee);if(!i){o(e,true)}clearTimeout(s);s=setTimeout(function(){o(e,false)},50)})},remove:function(){e(this).unbind(r.scrollevent,e(this).data.callee)}};var i=e(window),s,o,u,a,f,l={0:true,180:true};if(r.orientation_support){var c=window.innerWidth||e(window).width(),h=window.innerHeight||e(window).height(),p=50;a=c>h&&c-h>p;f=l[window.orientation];if(a&&f||!a&&!f){l={"-90":true,90:true}}}e.event.special.orientationchange=s={setup:function(){if(r.orientation_support){return false}u=o();i.bind("throttledresize",d);return true},teardown:function(){if(r.orientation_support){return false}i.unbind("throttledresize",d);return true},add:function(e){var t=e.handler;e.handler=function(e){e.orientation=o();return t.apply(this,arguments)}}};e.event.special.orientationchange.orientation=o=function(){var e=true,t=document.documentElement;if(r.orientation_support){e=l[window.orientation]}else{e=t&&t.clientWidth/t.clientHeight<1.1}return e?"portrait":"landscape"};e.event.special.throttledresize={setup:function(){e(this).bind("resize",m)},teardown:function(){e(this).unbind("resize",m)}};var v=250,m=function(){b=(new Date).getTime();w=b-g;if(w>=v){g=b;e(this).trigger("throttledresize")}else{if(y){window.clearTimeout(y)}y=window.setTimeout(d,v-w)}},g=0,y,b,w;e.each({scrollend:"scrollstart",swipeup:"swipe",swiperight:"swipe",swipedown:"swipe",swipeleft:"swipe",swipeend:"swipe"},function(t,n,r){e.event.special[t]={setup:function(){e(this).bind(n,e.noop)}}})})(jQuery)
diff --git a/server/target/classes/static/pptx/ppt.js b/server/target/classes/static/pptx/ppt.js
deleted file mode 100644
index 454d245..0000000
--- a/server/target/classes/static/pptx/ppt.js
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- * Copyright 2013 I Doc View
- * @author Godwin <I Doc View>
- */
-
-var ratio = 0.75;
-var pages;
-var slideUrls = new Array();
-var slideThumbUrls = new Array();
-var curSlide = 1;
-var totalSize = 1;	// PPT当前获取到的总页数
-var slideCount = 1;	// PPT文件总页数
-var size = (!!$.url().param('size') ? $.url().param('size') : 0);
-$(document).ready(function() {
-	
-	// async method:
-	$.get('onlinePreview?' , params,  function(data, status) {
-		var data = JSON.parse(data);
-		var code = data.code;
-		if (1 == code) {
-			uuid = data.uuid;
-			pages = data.data;
-			totalSize = pages.length;
-			slideCount = data.totalSize;
-			
-			// title
-			$('.container-fluid:first .btn:first').after('<a class="brand lnk-file-title" style="text-decoration: none;" href="' + contextPath + '/doc/download/' + uuid + (!!queryStr ? '?' + queryStr : '') + '" title="' + data.name + '">' + data.name + '</a>');
-			document.title = data.name;
-			
-			// set ratio
-			ratio = pages[0].ratio;
-			
-			// reset all content
-			resetContent();
-
-			afterLoad();
-		} else {
-			$('.container-fluid .row-fluid').html('<section><div class="alert alert-error">' + data.desc + '</div></section>');
-		}
-
-		clearProgress();
-	});
-
-	// 是否显示全屏按钮
-	$('.fullscreen-link').toggle(screenfull.enabled);
-	// 全屏事件
-	$('.fullscreen-link').click(function(){
-		if (screenfull.enabled) {
-			screenfull.toggle($('.slide-img-container')[0]);
-		}
-	});
-	$(document).bind("fullscreenchange", function() {
-		if (screenfull.isFullscreen) {
-			$('.slide-img-container').css('background-color', 'black');
-			$('.slide-img-container').contextMenu(true);
-		} else {
-			$('.slide-img-container').css('background-color', '');
-			$('.slide-img-container').contextMenu(false);
-		}
-	});
-	
-	$('.select-page-selector').change(function() {
-		var selectNum = $(".select-page-selector option:selected").text();
-		gotoSlide(selectNum);
-	});
-	$('.slide-img-container .ppt-turn-left-mask').click(function () {
-		preSlide();
-	});
-	$('.slide-img-container .ppt-turn-right-mask').click(function () {
-		nextSlide();
-	});
-
-	// Right click (NOT supported in SOUGOU browser)
-	/*
-	$.contextMenu({
-        selector: '.slide-img-container',
-        items: {
-        	"next": {
-                name: "下一张",
-                callback: function(key, options) {
-                	nextSlide();
-                }
-            },
-            "previous": {
-                name: "上一张",
-                callback: function(key, options) {
-                	preSlide();
-                }
-            },
-            "sep1": "---------",
-            "exit": {
-                name: "结束放映",
-                callback: function(key, options) {
-                	$('.slide-img-container').fullScreen(false);
-                }
-            },
-        }
-    });
-    */
-	$('.slide-img-container').contextMenu(false);
-	
-	// Swipe method is NOT supported in IE6, so it should be the last one.
-	try {
-		$('.slide-img-container').swipeleft(function() { nextSlide(); });
-		$('.slide-img-container').swiperight(function() { preSlide(); });
-	} catch (err) {
-
-	}
-});
-
-var remainContentInterval;
-function checkRemainContent () {
-	clearInterval(remainContentInterval);
-	if (slideCount == totalSize) {
-		return;
-	}
-
-}
-
-function resetContent() {
-	remainContentInterval = setInterval(checkRemainContent, 8000);
-
-	// clear all content
-	$('.row-fluid .span2').empty();
-	$('.select-page-selector').empty();
-	$('.select-page-selector-sync').empty();
-	$('.slide-img-container img').remove();
-
-	// 限制预览页数开始
-	var viewCheck = authMap.view;
-	if (!!viewCheck && (viewCheck > 1) && (pages.length > viewCheck)) {
-		$('.navbar').after('<div class="alert alert-info" style="text-align: center; color: red;">试读结束，支付后阅读全文！</div>');
-		totalSize = viewCheck;
-		clearInterval(remainContentInterval);
-	}
-	// 限制预览页数结束
-
-	// pages
-	for (i = 0; i < totalSize; i++) {
-		var page = pages[i];
-		slideUrls[i] = page.url;
-		slideThumbUrls[i] = page.thumbUrl;
-		$('.row-fluid .span2').append('<div class="thumbnail" page="' + (i + 1) + '"><img src="' + page.thumbUrl + '"></div><div class="thumb-page-number-container">' + (i + 1) + '/' + slideCount + '</div>');
-		$('.select-page-selector').append('<option>' + (i + 1) + '</option>');
-		$('.select-page-selector-sync').append('<option>' + (i + 1) + '</option>');
-	}
-
-	// 未转换完成提示信息
-	if (totalSize < slideCount) {
-		$('.row-fluid .span2').prepend('<div style="color: red;">转换中(' + Math.floor((totalSize / slideCount) * 100) + '%)，请稍候……</div>');
-	}
-
-	$('.slide-img-container').append('<img src="' + slideUrls[curSlide - 1] + '" class="img-polaroid" style="height: 100%;">');
-	var thumbnailWidth = $('.thumbnail:first').width();
-	var thumbnailHeight = thumbnailWidth * ratio;
-	$('.thumbnail').height(thumbnailHeight);
-
-	var slideImgContainerWidth = $('.slide-img-container:first').width();
-	var slideImgContainerHeight = slideImgContainerWidth * ratio;
-	$('.slide-img-container').height(slideImgContainerHeight);
-
-	resetImgSize();
-
-	var percent = Math.ceil((curSlide / slideUrls.length) * 100);
-	$('.thumbnail[page="' + curSlide + '"]').addClass('ppt-thumb-border');
-
-	// $('.thumbnail[page="' + curSlide + '"]').animate({scrollTop:($(window).height()/2)}, 'slow');
-
-	$('.select-page-selector').val(curSlide);
-	$('.bottom-paging-progress .bar').width('' + percent + '%');
-
-	$('.thumbnail').click(function () {
-		var page_num = $(this).attr('page');
-		gotoSlide(page_num);
-	});
-}
-
-$(window).resize(function() {
-	resetImgSize();
-});
-
-function resetImgSize() {
-	var leftW = $('.row-fluid .span2').width() + 40;
-	var windowW = $(window).width();
-	if (windowW < 768) {
-		leftW = -40;
-		$('.hidden-phone').css('display', 'none');
-		$('.span9').removeClass('offset2');
-	} else {
-		$('.hidden-phone').css('display', 'block');
-		$('.span9').addClass('offset2');
-	}
-	var ww = $(window).width() - 120 - leftW;
-	var wh = $(window).height() - 90;
-	if (screenfull.isFullscreen) {
-		ww = ww + 90 + leftW;
-		wh = wh + 80;
-	}
-	if (wh / ww < ratio) {
-		$('.slide-img-container').height(wh);
-		$('.slide-img-container').width(wh / ratio);
-	} else {
-		$('.slide-img-container').width(ww);
-		$('.slide-img-container').height(ww * ratio);
-	}
-}
-
-$(document).keydown(function(event){
-	if (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 33) {	// 37 left, 38 up, 33 pageUp
-		preSlide();
-	} else if (event.keyCode == 39 || event.keyCode == 40 || event.keyCode == 32 || event.keyCode == 34){	// 39 right, 40 down, 32 space, 34 pageDown
-		nextSlide();
-	} else if (event.keyCode == 13) {
-		screenfull.toggle($('.slide-img-container')[0]);
-	}
-});
-
-function getCurSlide() {
-	return curSlide;
-}
-
-function preSlide() {
-	var preSlide = eval(Number(getCurSlide()) - 1);
-	gotoSlide(preSlide);
-}
-
-function nextSlide() {
-	var nextSlide = eval(Number(getCurSlide()) + 1);
-	gotoSlide(nextSlide);
-}
-
-function gotoSlide(slide) {
-	var slideSum = slideUrls.length;
-	if (slide <= 0) {
-		slide = 1;
-	} else if (slideSum < slide) {
-		slide = slideSum;
-	}
-	curSlide = slide;
-	/*
-	$(".slide-img-container img").fadeOut(function() {
-		$(this).attr("src", slideUrls[slide - 1]).fadeIn();
-	});
-	*/
-	$(".slide-img-container img").attr("src", slideUrls[slide - 1]);
-	var percent = Math.ceil((curSlide / slideUrls.length) * 100);
-	$('.thumbnail').removeClass('ppt-thumb-border');
-	$('.thumbnail[page="' + slide + '"]').addClass('ppt-thumb-border');
-	var thumbTop = slide * ($('.thumbnail[page="' + 1 + '"]').height() + 10 + $('.thumb-page-number-container').height()) - ($(document).height() / 2);
-	$('.span2 ').animate({scrollTop:(thumbTop)}, 'slow');
-	$('.select-page-selector').val(slide);
-	$('.select-page-selector-sync').val(slide);
-	$('.bottom-paging-progress .bar').width('' + percent + '%');
-
-
-}
\ No newline at end of file
diff --git a/server/target/classes/web/code.ftl b/server/target/classes/web/code.ftl
deleted file mode 100644
index 5d53ae7..0000000
--- a/server/target/classes/web/code.ftl
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <title>代码预览</title>
-    <#include  "*/commonHeader.ftl">
-    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/styles/default.min.css">
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/highlight.min.js"></script>
-    <script>hljs.highlightAll()</script>
-
-    <style>
-        div.code {
-            white-space: pre;
-        }
-    </style>
-</head>
-<body>
-
-<input hidden id="textData" value="${textData}"/>
-
-<div class="container">
-    <div class="panel panel-default">
-        <div class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div class="panel-body">
-            <div id="code" class='code'></div>
-        </div>
-    </div>
-</div>
-
-
-<script>
-    /**
-     * 初始化
-     */
-    window.onload = function () {
-        initWaterMark();
-        loadText();
-    }
-
-    /**
-     *加载普通文本
-     */
-    function loadText() {
-        var base64data = $("#textData").val()
-        var textData = Base64.decode(base64data);
-
-        var textPreData = "<pre><code>" + textData + "</code></pre>";
-        $("#code").append(textPreData);
-        document.querySelectorAll('div.code').forEach(block => {
-            // then highlight each
-            hljs.highlightBlock(block);
-        });
-    }
-
-</script>
-
-</body>
-
-</html>
diff --git a/server/target/classes/web/commonHeader.ftl b/server/target/classes/web/commonHeader.ftl
deleted file mode 100644
index 7969ad5..0000000
--- a/server/target/classes/web/commonHeader.ftl
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
-<script src="js/jquery-3.0.0.min.js" type="text/javascript"></script>
-<script src="js/jquery.form.min.js" type="text/javascript"></script>
-<script src="bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
-<script src="js/watermark.js" type="text/javascript"></script>
-<script src="js/base64.min.js" type="text/javascript"></script>
-
-<script>
-    /**
-     * 初始化水印
-     */
-    function initWaterMark() {
-        let watermarkTxt = '${watermarkTxt}';
-        if (watermarkTxt !== '') {
-            watermark.init({
-                watermark_txt: '${watermarkTxt}',
-                watermark_x: 0,
-                watermark_y: 0,
-                watermark_rows: 0,
-                watermark_cols: 0,
-                watermark_x_space: ${watermarkXSpace},
-                watermark_y_space: ${watermarkYSpace},
-                watermark_font: '${watermarkFont}',
-                watermark_fontsize: '${watermarkFontsize}',
-                watermark_color: '${watermarkColor}',
-                watermark_alpha: ${watermarkAlpha},
-                watermark_width: ${watermarkWidth},
-                watermark_height: ${watermarkHeight},
-                watermark_angle: ${watermarkAngle},
-            });
-        }
-    }
-
-</script>
-<style>
-    * {
-        margin: 0;
-        padding: 0;
-    }
-
-    html, body {
-        height: 100%;
-        width: 100%;
-    }
-
-</style>
-
diff --git a/server/target/classes/web/compress.ftl b/server/target/classes/web/compress.ftl
deleted file mode 100644
index f869863..0000000
--- a/server/target/classes/web/compress.ftl
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <link href="css/zTreeStyle.css" rel="stylesheet" type="text/css">
-    <#include "*/commonHeader.ftl">
-    <style type="text/css">
-        body {
-            background-color: #404040;
-        }
-        h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, sans-serif;padding-bottom: 5px;}
-        h1 {font-size: 24px;line-height: 34px;text-align: center;}
-        h2 {font-size: 14px;line-height: 24px;padding-top: 5px;}
-        h6 {font-weight: normal;font-size: 12px;letter-spacing: 1px;line-height: 24px;text-align: center;}
-        a {color:#3C6E31;text-decoration: underline;}
-        a:hover {background-color:#3C6E31;color:white;}
-        code {color: #2f332a;}
-        div.zTreeDemoBackground {width:600px;text-align:center;margin: 0 auto;background-color: #ffffff;}
-    </style>
-</head>
-<body>
-
-<div class="zTreeDemoBackground left">
-    <ul id="treeDemo" class="ztree"></ul>
-</div>
-<script type="text/javascript" src="js/jquery.ztree.core.js"></script>
-
-<script type="text/javascript">
-    const data = JSON.parse('${fileTree}');
-    var baseUrl = "${baseUrl}";
-    var setting = {
-        view: {
-            fontCss : {"color":"blue"},
-            showLine: true
-        },
-        data: {
-            key: {
-                children: 'childList',
-                name: 'originName'
-            }
-        },
-        callback:{
-            beforeClick:function (treeId, treeNode, clickFlag) {
-                console.log("节点参数：treeId-" + treeId + "treeNode-"
-                        + JSON.stringify(treeNode) + "clickFlag-" + clickFlag);
-            },
-            onClick:function (event, treeId, treeNode) {
-                if (!treeNode.directory) {
-                    /**实现窗口最大化**/
-                    var fulls = "left=0,screenX=0,top=0,screenY=0,scrollbars=1";    //定义弹出窗口的参数
-                    if (window.screen) {
-                        var ah = screen.availHeight - 30;
-                        var aw = (screen.availWidth - 10) / 2;
-                        fulls += ",height=" + ah;
-                        fulls += ",innerHeight=" + ah;
-                        fulls += ",width=" + aw;
-                        fulls += ",innerWidth=" + aw;
-                        fulls += ",resizable"
-                    } else {
-                        fulls += ",resizable"; // 对于不支持screen属性的浏览器，可以手工进行最大化。 manually
-                    }
-                    var previewUrl = baseUrl + treeNode.fileName +"?fileKey="+ treeNode.fileKey;
-                    window.open("onlinePreview?url=" + encodeURIComponent(Base64.encode(previewUrl)), "_blank",fulls);
-                }
-            }
-        }
-    };
-    var height = 0;
-    $(document).ready(function(){
-        var treeObj = $.fn.zTree.init($("#treeDemo"), setting, data);
-        treeObj.expandAll(true);
-        height = getZtreeDomHeight();
-        $(".zTreeDemoBackground").css("height", height);
-    });
-
-    /*初始化水印*/
-    window.onload = function() {
-      initWaterMark();
-    }
-
-    /**
-     *  计算ztreedom的高度
-     */
-    function getZtreeDomHeight() {
-        return $("#treeDemo").height() > window.document.documentElement.clientHeight - 1
-                ? $("#treeDemo").height() : window.document.documentElement.clientHeight - 1;
-    }
-    /**
-     * 页面变化调整高度
-     */
-    window.onresize = function(){
-        height = getZtreeDomHeight();
-        $(".zTreeDemoBackground").css("height", height);
-    }
-    /**
-     * 滚动时调整高度
-     */
-    window.onscroll = function(){
-        height = getZtreeDomHeight();
-        $(".zTreeDemoBackground").css("height", height);
-    }
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/fileNotSupported.ftl b/server/target/classes/web/fileNotSupported.ftl
deleted file mode 100644
index 830cd49..0000000
--- a/server/target/classes/web/fileNotSupported.ftl
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <style type="text/css">
-        body{
-            margin: 0 auto;
-            width:900px;
-            background-color: #CCB;
-        }
-        .container{
-            width: 700px;
-            height: 700px;
-            margin: 0 auto;
-        }
-        img{
-            width:auto;
-            height:auto;
-            max-width:100%;
-            max-height:100%;
-            padding-bottom: 36px;
-        }
-        span{
-            display: block;
-            font-size:20px;
-            color:blue;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <span>
-    该文件类型(${file.suffix?html})系统暂时不支持在线预览，<b>说明</b>：
-        <p style="color: red;">${msg}</p>
-    </span>
-</div>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/flv.ftl b/server/target/classes/web/flv.ftl
deleted file mode 100644
index cda21e3..0000000
--- a/server/target/classes/web/flv.ftl
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <title>多媒体文件预览</title>
-    <script src="js/flv.min.js" type="text/javascript"></script>
-    <#include "*/commonHeader.ftl">
-</head>
-<style>
-    body {
-        background-color: #404040;
-    }
-    .m {
-        width: 1024px;
-        margin: 0 auto;
-    }
-</style>
-<body>
-<div class="m">
-    <video width="1024" id="videoElement"></video>
-</div>
-<script>
-    if (flvjs.isSupported()) {
-        var videoElement = document.getElementById('videoElement');
-        var flvPlayer = flvjs.createPlayer({
-            type: 'flv',
-            url: '${mediaUrl}'
-        });
-        flvPlayer.attachMediaElement(videoElement);
-        flvPlayer.load();
-        flvPlayer.play();
-    }
-    /*初始化水印*/
-    window.onload = function() {
-      initWaterMark();
-    }
-</script>
-</body>
-
-</html>
diff --git a/server/target/classes/web/html.ftl b/server/target/classes/web/html.ftl
deleted file mode 100644
index 7b23318..0000000
--- a/server/target/classes/web/html.ftl
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <#include "*/commonHeader.ftl">
-</head>
-<body>
-    <iframe src="${pdfUrl}" width="100%" frameborder="0"></iframe>
-</body>
-<script type="text/javascript">
-    document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight-10;
-    /**
-     * 页面变化调整高度
-     */
-    window.onresize = function(){
-        var fm = document.getElementsByTagName("iframe")[0];
-        fm.height = window.document.documentElement.clientHeight-10;
-    }
-    /*初始化水印*/
-    window.onload = function() {
-      initWaterMark();
-    }
-</script>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/index.ftl b/server/target/classes/web/index.ftl
deleted file mode 100644
index 59afc9c..0000000
--- a/server/target/classes/web/index.ftl
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"/>
-    <title>kkFileView演示首页</title>
-    <link rel="stylesheet" href="css/viewer.min.css"/>
-    <link rel="stylesheet" href="css/loading.css"/>
-    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"/>
-    <link rel="stylesheet" href="bootstrap-table/bootstrap-table.min.css"/>
-    <link rel="stylesheet" href="gitalk/gitalk.css"/>
-    <script type="text/javascript" src="js/jquery-3.0.0.min.js"></script>
-    <script type="text/javascript" src="js/jquery.form.min.js"></script>
-    <script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>
-    <script type="text/javascript" src="bootstrap-table/bootstrap-table.min.js"></script>
-    <script type="text/javascript" src="gitalk/gitalk.min.js"></script>
-    <script type="text/javascript" src="js/base64.min.js"></script>
-</head>
-
-<body>
-<div class="panel-group container" id="accordion">
-
-    <div class="panel panel-default">
-        <div class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion"
-                   href="#collapseTwo">
-                    上传合同模板
-                </a>
-            </h4>
-        </div>
-        <span style="">请修改成以下相关文件名：销售合同: sellContract.docx; 销售框架合同: frameContract.docx</span>
-        <div class="panel-body">
-            <#if fileUploadDisable == false>
-                <div style="padding: 10px">
-                    <form enctype="multipart/form-data" id="fileUpload">
-                        <input type="file" name="file" id="file"/>
-                        <input type="button" id="btnSubmit" value=" 上 传 "/>
-                    </form>
-                </div>
-            </#if>
-            <div>
-                <table id="table" data-pagination="true"></table>
-            </div>
-        </div>
-    </div>
-
-</div>
-
-<script>
-    function deleteFile(fileName) {
-        $.ajax({
-            url: '${baseUrl}deleteFile?fileName=' + encodeURIComponent(fileName),
-            success: function (data) {
-                // 删除完成，刷新table
-                if (1 === data.code) {
-                    alert(data.msg);
-                } else {
-                    $('#table').bootstrapTable('refresh', {});
-                }
-            },
-            error: function (data) {
-                console.log(data);
-            }
-        })
-    }
-
-    $(function () {
-        $('#table').bootstrapTable({
-            url: 'listFiles',
-            columns: [{
-                field: 'fileName',
-                title: '文件名'
-            }, {
-                field: 'action',
-                title: '操作'
-            },]
-        }).on('pre-body.bs.table', function (e, data) {
-            // 每个data添加一列用来操作
-            $(data).each(function (index, item) {
-                item.action = "<a class='btn btn-default' target='_blank' href='${baseUrl}onlinePreview?url=" + encodeURIComponent(Base64.encode('${baseUrl}' + item.fileName)) + "'>预览</a>" +
-                    "<a class='btn btn-default' href='javascript:void(0);' onclick='deleteFile(\"" + item.fileName + "\")'>删除</a>";
-            });
-            return data;
-        }).on('post-body.bs.table', function (e, data) {
-            return data;
-        });
-
-        $('#preview_by_url').submit(function() {
-            var _url = $("#_url").val();
-            var urlField = $(this).find('[name=url]');
-            var b64Encoded = Base64.encode(_url);
-            urlField.val(b64Encoded);
-        });
-
-
-        function showLoadingDiv() {
-            var height = window.document.documentElement.clientHeight - 1;
-            $(".loading_container").css("height", height).show();
-        }
-        $("#btnSubmit").click(function () {
-            showLoadingDiv();
-            $("#fileUpload").ajaxSubmit({
-                success: function (data) {
-                    // 上传完成，刷新table
-                    console.log(data)
-                    if (200 === data.resultCode) {
-                        alert(data.resultMsg);
-                    }
-                },
-                error: function () {
-                    alert('上传失败，请联系管理员');
-                    $(".loading_container").hide();
-                },
-                url: 'contract/upload', /*设置post提交到的页面*/
-                type: "post", /*设置表单以post方法提交*/
-                dataType: "json" /*设置返回值类型为文本*/
-            });
-        });
-        var gitalk = new Gitalk({
-            clientID: '525d7f16e17aab08cef5',
-            clientSecret: 'd1154e3aee5c8f1cbdc918b5c97a4f4157e0bfd9',
-            repo: 'kkFileView',
-            owner: 'kekingcn',
-            admin: ['kekingcn,klboke,gitchenjh'],
-            language: 'zh-CN',
-            id: location.pathname,
-            distractionFreeMode: false
-        })
-        gitalk.render((document.getElementById('comments')))
-    });
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/markdown.ftl b/server/target/classes/web/markdown.ftl
deleted file mode 100644
index 4ca7293..0000000
--- a/server/target/classes/web/markdown.ftl
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <title>markdown文本预览</title>
-    <script src="js/marked.min.js" type="text/javascript"></script>
-    <#include "*/commonHeader.ftl">
-</head>
-<body>
-<input hidden id="textData" value="${textData}"/>
-
-<div class="container">
-    <div class="panel panel-default">
-        <div id="markdown_btn" class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div id="text_btn" class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div class="panel-body">
-            <div id="markdown"></div>
-        </div>
-    </div>
-</div>
-
-<script>
-    /**
-     * 初始化
-     */
-    window.onload = function () {
-        $("#markdown_btn").hide()
-        initWaterMark();
-        loadMarkdown();
-    }
-
-    /**
-     * 加载markdown
-     */
-    function loadMarkdown() {
-        var textData = Base64.decode($("#textData").val())
-        window.textPreData = "<pre style='background-color: #FFFFFF;border:none'>" + textData + "</pre>";
-        window.textMarkdownData = marked(textData);
-        $("#markdown").html(window.textMarkdownData);
-    }
-
-
-    $(function () {
-        $("#markdown_btn").click(function () {
-            $("#markdown").html(window.textMarkdownData);
-            $("#text_btn").show()
-            $("#markdown_btn").hide()
-        });
-
-        $("#text_btn").click(function () {
-            $("#markdown_btn").show()
-            $("#text_btn").hide();
-            $("#markdown").html(window.textPreData);
-        });
-    });
-
-</script>
-</body>
-
-</html>
diff --git a/server/target/classes/web/media.ftl b/server/target/classes/web/media.ftl
deleted file mode 100644
index 1273f90..0000000
--- a/server/target/classes/web/media.ftl
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-cn">
-<head>
-    <meta charset="utf-8"/>
-    <title>多媒体文件预览</title>
-    <link rel="stylesheet" href="plyr/plyr.css"/>
-    <script type="text/javascript" src="plyr/plyr.js"></script>
-    <#include "*/commonHeader.ftl">
-    <style>
-        body {
-            background-color: #404040;
-        }
-
-        .m {
-            width: 1024px;
-            margin: 0 auto;
-        }
-    </style>
-</head>
-<body>
-<div class="m">
-    <video>
-        <source src="${mediaUrl}"/>
-    </video>
-</div>
-<script>
-    plyr.setup();
-    window.onload = function () {
-        initWaterMark();
-    }
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/notTrustHost.html b/server/target/classes/web/notTrustHost.html
deleted file mode 100644
index c16f461..0000000
--- a/server/target/classes/web/notTrustHost.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <style type="text/css">
-        body {
-            margin: 0 auto;
-            width: 900px;
-            background-color: #CCB;
-        }
-        .container {
-            width: 700px;
-            height: 700px;
-            margin: 0 auto;
-        }
-        img {
-            width: auto;
-            height: auto;
-            max-width: 100%;
-            max-height: 100%;
-            padding-bottom: 36px;
-        }
-        p {
-            display: block;
-            font-size: 20px;
-            color: blue;
-        }
-    </style>
-</head>
-<body>
-<div class="container">
-    <p>
-        预览源文件来自不受信任的站点：<span style="color: red; display: inline;">${current_host}</span> ,请联系管理员 <br>
-    </p>
-</div>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/ofd.ftl b/server/target/classes/web/ofd.ftl
deleted file mode 100644
index 2ef1058..0000000
--- a/server/target/classes/web/ofd.ftl
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <title>OFD预览</title>
-    <#include "*/commonHeader.ftl">
-</head>
-<body>
-
-<iframe src="" width="100%" frameborder="0"></iframe>
-</body>
-<script type="text/javascript">
-    document.getElementsByTagName('iframe')[0].src = "${baseUrl}ofd/index.html?file=${currentUrl}";
-    document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight - 10;
-    /**
-     * 页面变化调整高度
-     */
-    window.onresize = function () {
-        var fm = document.getElementsByTagName("iframe")[0];
-        fm.height = window.document.documentElement.clientHeight - 10;
-    }
-
-
-    /*初始化水印*/
-    window.onload = function () {
-        initWaterMark();
-    }
-</script>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/officePicture.ftl b/server/target/classes/web/officePicture.ftl
deleted file mode 100644
index a742413..0000000
--- a/server/target/classes/web/officePicture.ftl
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <title>PDF图片预览</title>
-    <script src="js/lazyload.js"></script>
-    <#include "*/commonHeader.ftl">
-    <style>
-        body {
-            background-color: #404040;
-        }
-        .container {
-            width: 100%;
-            height: 100%;
-        }
-        .img-area {
-            text-align: center
-        }
-
-    </style>
-</head>
-<body>
-<div class="container">
-    <#list imgurls as img>
-        <div class="img-area">
-            <img class="my-photo" alt="loading"  data-src="${img}" src="images/loading.gif">
-        </div>
-    </#list>
-</div>
-<#if "false" == switchDisabled>
-    <img src="images/pdf.svg" width="63" height="63" style="position: fixed; cursor: pointer; top: 40%; right: 48px; z-index: 999;" alt="使用PDF预览" title="使用PDF预览" onclick="changePreviewType('pdf')"/>
-</#if>
-<script>
-    window.onload = function () {
-        /*初始化水印*/
-        initWaterMark();
-        checkImgs();
-    };
-    window.onscroll = throttle(checkImgs);
-    function changePreviewType(previewType) {
-        var url = window.location.href;
-        if (url.indexOf("officePreviewType=image") !== -1) {
-            url = url.replace("officePreviewType=image", "officePreviewType="+previewType);
-        } else {
-            url = url + "&officePreviewType="+previewType;
-        }
-        if ('allImages' === previewType) {
-            window.open(url)
-        } else {
-            window.location.href = url;
-        }
-    }
-</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/server/target/classes/web/pdf.ftl b/server/target/classes/web/pdf.ftl
deleted file mode 100644
index f67f13d..0000000
--- a/server/target/classes/web/pdf.ftl
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <title>PDF预览</title>
-    <#include "*/commonHeader.ftl">
-</head>
-<body>
-<#if pdfUrl?contains("http://") || pdfUrl?contains("https://")>
-    <#assign finalUrl="${pdfUrl}">
-<#else>
-    <#assign finalUrl="${baseUrl}upload/${pdfUrl}">
-</#if>
-<iframe src="" width="100%" frameborder="0"></iframe>
-<#if "false" == switchDisabled>
-    <img src="images/jpg.svg" width="63" height="63"
-         style="position: fixed; cursor: pointer; top: 40%; right: 48px; z-index: 999;" alt="使用图片预览" title="使用图片预览"
-         onclick="goForImage()"/>
-</#if>
-</body>
-<script type="text/javascript">
-    var url = '${finalUrl}';
-    var baseUrl = '${baseUrl}'.endsWith('/') ? '${baseUrl}' : '${baseUrl}' + '/';
-    if (!url.startsWith(baseUrl)) {
-        url = baseUrl + 'getCorsFile?urlPath=' + encodeURIComponent(url);
-    }
-    document.getElementsByTagName('iframe')[0].src = "${baseUrl}pdfjs/web/viewer.html?file=" + encodeURIComponent(url) + "&disabledownload=${pdfDownloadDisable}";
-    document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight - 10;
-    /**
-     * 页面变化调整高度
-     */
-    window.onresize = function () {
-        var fm = document.getElementsByTagName("iframe")[0];
-        fm.height = window.document.documentElement.clientHeight - 10;
-    }
-
-    function goForImage() {
-        var url = window.location.href;
-        if (url.indexOf("officePreviewType=pdf") != -1) {
-            url = url.replace("officePreviewType=pdf", "officePreviewType=image");
-        } else {
-            url = url + "&officePreviewType=image";
-        }
-        window.location.href = url;
-    }
-
-    /*初始化水印*/
-    window.onload = function () {
-        initWaterMark();
-    }
-</script>
-</html>
diff --git a/server/target/classes/web/picture.ftl b/server/target/classes/web/picture.ftl
deleted file mode 100644
index a7d79b5..0000000
--- a/server/target/classes/web/picture.ftl
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8" />
-    <title>图片预览</title>
-    <link rel="stylesheet" href="css/viewer.min.css">
-    <script src="js/viewer.min.js"></script>
-    <#include "*/commonHeader.ftl">
-    <style>
-        body {
-            background-color: #404040;
-        }
-        #image { width: 800px; margin: 0 auto; font-size: 0;}
-        #image li {  display: inline-block;width: 50px;height: 50px; margin-left: 1%; padding-top: 1%;}
-        /*#dowebok li img { width: 200%;}*/
-    </style>
-</head>
-<body>
-
-<ul id="image">
-    <#list imgUrls as img>
-        <#if img?contains("http://") || img?contains("https://")>
-            <#assign img="${img}">
-        <#else>
-            <#assign img="${baseUrl}upload/${img}">
-        </#if>
-        <li><img id="${img}"  url="${img}" src="${img}" width="1px" height="1px"></li>
-    </#list>
-</ul>
-
-<script>
-    var viewer = new Viewer(document.getElementById('image'), {
-        url: 'src',
-        navbar: false,
-        button: false,
-        backdrop: false,
-        loop : true
-    });
-    document.getElementById("${currentUrl}").click();
-
-    /*初始化水印*/
-    window.onload = function() {
-        initWaterMark();
-    }
-</script>
-</body>
-
-</html>
diff --git a/server/target/classes/web/ppt.ftl b/server/target/classes/web/ppt.ftl
deleted file mode 100644
index 936bd4d..0000000
--- a/server/target/classes/web/ppt.ftl
+++ /dev/null
@@ -1,175 +0,0 @@
-<#if RequestParameters['name']??> 
-{
-	"code": 1,
-	"name": "PPT预览",
-	"totalSize": 0,
-	"curPage": 1,
-	"totalPage": 1,
-	"pageSize": 10,
-	"titles": null,
-	"data": [
-<#assign index = 0>
-<#list imgurls as img>
-<#if index != 0>,</#if>{
-		"uuid": null,
-		"title": null,
-		"content": null,
-		"text": null,
-		"url": "${img}",
-		"destFile": null,
-		"viewCount": 0,
-		"downloadCount": 0,
-		"ctime": null,
-		"thumbUrl": "${img}",
-		"largeUrl": null,
-		"ratio": 0.5625,
-		"note": null
-	}<#assign index = index + 1>
-</#list>],
-	"desc": "Success"
-}
-
-<#else>
-
-<!DOCTYPE html>
-
-<html lang="en">
- <head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-   
-
-    <!-- BOOTSTRAP STYLE start -->
-    <!-- Le styles -->
-    
-<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-<link href="/pptx/bootstrap/css/bootstrap.min.css" rel="stylesheet">
-
-<link href="/pptx/idocv/idocv_common.min.css" rel="stylesheet">
-
-<link href="/pptx/jquery.contextMenu.css" rel="stylesheet">
-
-    <!-- BOOTSTRAP STYLE end -->
-    
-    <script type="text/javascript">
-      var windowWidth = document.documentElement.clientWidth;
-      var searchStr = window.location.search.substr(1);
-      if ((windowWidth < 768 || (/micromessenger/.test(navigator.userAgent.toLowerCase()))) && (!searchStr || searchStr.indexOf('type=') < 0)) {
-          var redirectUrl = window.location.pathname + '?type=mobile' + (!!searchStr ? ('&' + searchStr) : '');
-          window.location.replace(redirectUrl);
-      }
-    </script>
-
-    <style type="text/css">
-      .thumbnail{
-        /*
-        max-width: 200px;
-        */
-        cursor: pointer;
-      }
-    </style>
-    
-    <!--[if lt IE 9]>
-      <script src="/static/bootstrap/js/html5shiv.js"></script>
-    <![endif]-->
-
-  </head>
-
-  <body onload="resetImgSize();" class="ppt-body">
-
-<div class="loading-mask" style="display: block;">
-    <div class="loading-zone">
-        <div class="text"><img src="/pptx/img/loader_indicator_lite.gif">加载中...</div>
-    </div>
-  
-</div>
-
-    <div class="navbar navbar-inverse navbar-fixed-top">
-      <div class="navbar-inner">
-        <div class="container-fluid">
-          <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-          </button>
-          <!-- FILE NAME HERE -->
-          <!-- SIGN UP & SIGN IN -->
-          
-          <div class="nav-collapse collapse">
-            <p class="navbar-text pull-right">
-              <a href="#" title="全屏" class="fullscreen-link"><i class="icon-fullscreen icon-white"></i></a>
-            </p>
-          </div><!--/.nav-collapse -->
-        </div>
-      </div>
-    </div>
-
-    <div class="container-fluid" style="max-height: 100%;">
-      <div class="row-fluid">
-        <div class="span2 hidden-phone" style="position: fixed; top: 60px; left: 20px; bottom: 20px; padding-right: 10px; border-right: 3px solid #c8c8c8; max-height: 100%; overflow: auto; text-align: center;">
-          <!--Sidebar content-->
-          <!-- 
-          <div class="thumbnail">
-            <img src="">
-          </div>
-          1/20<br />
-          -->
-        </div>
-        <div class="span9 offset2">
-          <div class="slide-img-container">
-            <div class="ppt-turn-left-mask"></div>
-            <div class="ppt-turn-right-mask"></div>
-            <!-- 
-            <img src="" class="img-polaroid" style="max-height: 100%;">
-             -->
-          </div>
-          <!-- ONLY AVAILABLE ON MOBILE -->
-          <div class="span12 visible-phone text-center" style="position: fixed; bottom: 10px; left: 0px; z-index: 1000;">
-            <select class="select-page-selector span1" style="width: 80px; margin-top: 10px;">
-              <!-- PAGE NUMBERS HERE -->
-            </select>
-          </div>
-        </div>
-      </div>
-    </div>
-    
-    <div class="progress progress-striped active bottom-paging-progress">
-      <div class="bar" style="width: 0%;"></div>
-    </div>
-    <!-- JavaSript
-    ================================================== -->
-    
-<script src="/pptx/jquery-3.5.1.min.js"></script>
-<script src="/pptx/jquery.contextMenu.js?v=11.2.5_20210128"></script>
-<script src="/pptx/idocv/idocv_common.min.js"></script>
-
-<script>
-    var contextPath = '';
-    var version = '12';
-    // var urlObj = $.url($.url().attr('source').replace(contextPath, ''));
-    var id = window.location.pathname.replace(contextPath, '').split('/')[2];
-    var uuid = id;
-    var params = getAllUrlParams(window.location.href); // 如果用urlObj.param()方法获取则被非正常解码
-    // var queryStr = urlObj.attr('query'); // 参数被decode，IE下如果有中文参数则报错，需要获取原生参数
-    var queryStr = window.location.search.slice(1);
-    uuid = !!'' ? '' : uuid;
-    var name = 'pptx';
-    if (!!name) {
-        params.name = name;
-    }
-    var reqUrl = '';
-    var reqUrlMd5 = '';
-    var authMap = '{}';
-    var authMapStr = 'null';
-    if (!!reqUrlMd5 && !!authMapStr) {
-        authMap = JSON.parse(authMapStr);
-    }
-</script>
-<!-- 客户自定义JS -->
-    <script src="/pptx/jquery.mobile-events.min.js"></script>
-    <script src="/pptx/ppt.js"></script>
-</body>
-</html>
-</body>
-</html>
-</#if>
diff --git a/server/target/classes/web/tiff.ftl b/server/target/classes/web/tiff.ftl
deleted file mode 100644
index dad85f9..0000000
--- a/server/target/classes/web/tiff.ftl
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <title>Tiff 图片预览</title>
-    <link rel="stylesheet" href="css/viewer.min.css">
-    <script src="js/tiff.min.js"></script>
-    <#include "*/commonHeader.ftl">
-    <style>
-        body {
-            background-color: #404040;
-        }
-
-        #tiff {
-            position: fixed;
-            top:50%;
-            left:50%;
-            transform: translate(-50%,-50%);
-        }
-
-        /*#dowebok li img { width: 200%;}*/
-    </style>
-</head>
-<body>
-<input hidden id="currentUrl" value="${currentUrl}"/>
-<div id="tiff">
-</div>
-
-<script>
-    var xhr = new XMLHttpRequest();
-    xhr.responseType = 'arraybuffer';
-    xhr.open('GET', $("#currentUrl").val());
-    var config = {};
-    config.TOTAL_MEMORY = ${initializeMemorySize};
-    Tiff.initialize(config)
-    xhr.onload = function (e) {
-        var tiff = new Tiff({buffer: xhr.response});
-        var canvas = tiff.toCanvas();
-        $("#tiff").append(canvas)
-    };
-    xhr.send();
-
-    /*初始化水印*/
-    window.onload = function () {
-        initWaterMark();
-    }
-</script>
-</body>
-
-</html>
diff --git a/server/target/classes/web/txt.ftl b/server/target/classes/web/txt.ftl
deleted file mode 100644
index f994d4a..0000000
--- a/server/target/classes/web/txt.ftl
+++ /dev/null
@@ -1,388 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <title>${file.name}普通文本预览</title>
-    <#include  "*/commonHeader.ftl">
-</head>
-<body>
-<input hidden id="textData" value="${textData}"/>
-<#if "${file.suffix?html}" == "txt" || "${file.suffix?html}" == "log"  || "${file.suffix?html}" == "TXT"  || "${file.suffix?html}" == "LOG">
-  <style type="text/css">
-DIV.black { 
- line-height:25px;
-PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 100%;
-  MARGIN: 1px; COLOR: #fff; 
- BACKGROUND-COLOR: #000; TEXT-ALIGN: left ;
-} 
-DIV.black A { 
-BORDER-RIGHT: #909090 1px solid; PADDING-RIGHT: 5px; 
-BACKGROUND-POSITION: 50% bottom; BORDER-TOP: #909090 1px solid;
- PADDING-LEFT: 5px; BACKGROUND-IMAGE: url(); PADDING-BOTTOM: 2px;
- BORDER-LEFT: #909090 1px solid; COLOR: #fff; MARGIN-RIGHT: 3px;
- PADDING-TOP: 2px; BORDER-BOTTOM: #909090 1px solid; TEXT-DECORATION: none 
-} 
-DIV.black A:hover { 
-BORDER-RIGHT: #f0f0f0 1px solid; BORDER-TOP: #f0f0f0 1px solid;
- BACKGROUND-IMAGE: BORDER-LEFT: #f0f0f0 1px solid;
- COLOR: #ffffff; BORDER-BOTTOM: #f0f0f0 1px solid; BACKGROUND-COLOR: #404040 
-} 
-DIV.black A:active { 
-BORDER-RIGHT: #f0f0f0 1px solid; BORDER-TOP: #f0f0f0 1px solid; 
-BACKGROUND-IMAGE: BORDER-LEFT: #f0f0f0 1px solid; 
-COLOR: #ffffff; BORDER-BOTTOM: #f0f0f0 1px solid; BACKGROUND-COLOR: #404040 
-} 
-.divContent
- {
-color:#fff;
-font-size：30px；
-line-height：30px；
- font-family：“SimHei”；
- text-indent:2em;
- padding-bottom:10px;
- white-space: pre-wrap; /*css-3*/
-	white-space: -moz-pre-wrap; /*Mozilla,since1999*/
-	white-space: -pre-wrap; /*Opera4-6*/
-	white-space: -o-pre-wrap; /*Opera7*/
-	word-wrap: break-word; /*InternetExplorer5.5+*/
-  background-color: #000;
-        }
-    </style>
-	
-
-	<div class="container">
-    <div class="panel panel-default">
-        <div class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div class="panel-body">
-          <div id="divPagenation" class="black" >
-		
-    </div>
-        <div id="divContent" class="panel-body">
-           </div>
-        </div>
-    </div>
-</div>
-
-	
- <script type="text/javascript">
-        var base64data = $("#textData").val()
-        var s = Base64.decode(base64data);
-	  // s=s.replace(/。/g,"。<br>");
-           // $("#xml").hide()
-         //对img标签进行匹配
-         var imgReg = /(<img\s+src='\S+'\s*(\/)?>)/gi;
-         matchContent = s.match(imgReg);
-         imgContent = s;
-         if(imgReg.test(s))
-         {
-            //将img标签替换为❈
-            imgContent =  s.replace(imgReg,"❈");
-         }
-         
-        // 封装DHTMLpagenation
-        function DHTMLpagenation(content)
-        {
-            this.content=content; // 内容
-            this.contentLength=imgContent.length; // 内容长度
-            this.pageSizeCount; // 总页数
-            this.perpageLength= 20000; //default perpage byte length.
-            this.currentPage=1; // 起始页为第1页
-            //this.regularExp=/.+[\?\&]{1}page=(\d+)/;
-            this.regularExp=/\d+/; // 建立正则表达式，匹配数字型字符串。
-
-            this.divDisplayContent;
-            this.contentStyle=null;
-            this.strDisplayContent="";
-            this.divDisplayPagenation;
-            this.strDisplayPagenation="";
-
-            // 把第二个参数赋给perpageLength;
-            arguments.length==2 ? perpageLength = arguments[1] : '';
-
-            try {
-                //创建要显示的DIV
-                divExecuteTime=document.createElement("DIV");
-                document.body.appendChild(divExecuteTime);
-            }
-            catch(e)
-            {
-            }
-
-            // 得到divPagenation容器。
-            if(document.getElementById("divPagenation"))
-            {
-                divDisplayPagenation=document.getElementById("divPagenation");
-            }
-            else
-            {
-                try
-                {
-                    //创建分页信息
-                    divDisplayPagenation=document.createElement("DIV");
-                    divDisplayPagenation.id="divPagenation";
-                    document.body.appendChild(divDisplayPagenation);
-                }
-                catch(e)
-                {
-                    return false;
-                }
-            }
-
-            // 得到divContent容器
-            if(document.getElementById("divContent"))
-            {
-                divDisplayContent=document.getElementById("divContent");
-            }
-            else
-            {
-                try
-                {
-                    //创建每页显示内容的消息的DIV 
-                    divDisplayContent=document.createElement("DIV");
-                    divDisplayContent.id="divContent";
-                    document.body.appendChild(divDisplayContent);
-                }
-                catch(e)
-                {
-                    return false;
-                }
-            }
-
-            DHTMLpagenation.initialize();
-            return this;
-
-        };
-
-        //初始化分页；
-        //包括把加入CSS，检查是否需要分页
-        DHTMLpagenation.initialize=function() 
-        { 
-
-            divDisplayContent.className= contentStyle != null ? contentStyle : "divContent";
-            
-            if(contentLength<=perpageLength)
-            {
-                strDisplayContent=content;
-                divDisplayContent.innerHTML=strDisplayContent;
-                return null;
-            }
-
-            pageSizeCount=Math.ceil((contentLength/perpageLength));
-
-            DHTMLpagenation.goto(currentPage);
-            
-            DHTMLpagenation.displayContent();
-        };
-
-        //显示分页栏
-        DHTMLpagenation.displayPage=function() 
-        {
-        
-            strDisplayPagenation="";
-
-            if(currentPage && currentPage !=1)
-            {
-                strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.previous()">上一页</a>  ';
-            }
-            else
-            {
-                strDisplayPagenation+="上一页  ";
-            }
-            
-            for(var i=1;i<=pageSizeCount;i++)
-            {
-                if(i!=currentPage)
-                {
-                    strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.goto('+i+');">'+i+'</a>  ';
-                }
-                else
-                {
-                    strDisplayPagenation+=i+"  ";
-                }
-            }
-
-            if(currentPage && currentPage!=pageSizeCount)
-            {
-                strDisplayPagenation+='<a href="javascript:void(0)" onclick="DHTMLpagenation.next()">下一页</a>  ';
-            }
-            else
-            {
-                strDisplayPagenation+="下一页  ";
-            }
-            
-            strDisplayPagenation+="共 " + pageSizeCount + " 页。<br>每页" + perpageLength + " 字符，调整字符数：<input type='text' value='"+perpageLength+"' id='ctlPerpageLength' /><input type='button' value='确定' onclick='DHTMLpagenation.change()' />";
-
-            divDisplayPagenation.innerHTML=strDisplayPagenation;
-            
-            
-         };
-         
-        //上一页
-        DHTMLpagenation.previous=function()
-        {
-            DHTMLpagenation.goto(currentPage-1);
-        };
-        
-        //下一页
-        DHTMLpagenation.next=function()
-        {
-        
-            DHTMLpagenation.goto(currentPage+1);
-        };
-        
-        //跳转至某一页
-        DHTMLpagenation.goto=function(iCurrentPage)
-        {
-            startime=new Date();
-            if(regularExp.test(iCurrentPage))
-            {
-                currentPage=iCurrentPage;
-                
-                var tempContent = "";
-                
-                //获取当前的内容 里面包含 ❈ 
-                var currentContent = imgContent.substr((currentPage-1)*perpageLength,perpageLength);
-                
-                tempContent = currentContent;
-                
-                //当前页是否有 ❈ 获取最后一个 ❈ 的位置 
-                var indexOf = currentContent.indexOf("❈");
-                
-                if(indexOf >= 0)
-                {
-                      //获取从开始位置到当前页位置的内容
-                      var beginToEndContent = imgContent.substr(0,currentPage*perpageLength);
-                      
-                      //获取开始到当前页位置的内容 中的 * 的最后的下标 
-                      var reCount = beginToEndContent.split("❈").length - 1;
-                       
-                      var contentArray = currentContent.split("❈");
-                      
-                      tempContent = replaceStr(contentArray,reCount,matchContent);
-                      
-                }
-//                else
-//                {
-//                    tempContent=imgContent.substr((currentPage-1)*perpageLength,perpageLength);
-//                }
-                
-                strDisplayContent=tempContent;
-            }
-            else
-            {
-                alert("页面参数错误");
-            }
-            DHTMLpagenation.displayPage();
-            DHTMLpagenation.displayContent();
-        };
-        //显示当前页内容
-        DHTMLpagenation.displayContent=function()
-        {
-            divDisplayContent.innerHTML=strDisplayContent;
-        };
-        
-        //改变每页的字节数
-        DHTMLpagenation.change=function()
-        {
- 
-            var iPerpageLength = document.getElementById("ctlPerpageLength").value;
-            if(regularExp.test(iPerpageLength))
-            {
-
-//                DHTMLpagenation.perpageLength=iPerpageLength;
-//                DHTMLpagenation.currentPage=1;
-//                DHTMLpagenation.initialize();
-                
-                DHTMLpagenation(s,iPerpageLength);
-            }
-            else
-            {
-                alert("请输入数字");
-            }
-        };
-        
-        /*  currentArray:当前页以 * 分割后的数组
-            replaceCount:从开始内容到当前页的内容 * 的个数
-            matchArray ： img标签的匹配的内容
-        */
-        function replaceStr(currentArray,replaceCount,matchArray)
-        {
-           
-            var result = "";
-            for(var i=currentArray.length -1,j = replaceCount-1 ;i>=1; i--)
-            {   
-             
-               var temp = (matchArray[j] + currentArray[i]);
-
-               result = temp + result;
-               
-               j--;
-            }
-            
-            result = currentArray[0] + result ;
-            
-            return result;
-        }
-
-     
-        DHTMLpagenation(s,20000);
-        
-		
-		   /**
-     * 初始化
-     */
-    window.onload = function () {
-        initWaterMark();
-    }
-    </script>	
-
-
- <#else/>
-
-<div class="container">
-    <div class="panel panel-default">
-        <div class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div class="panel-body">
-            <div id="text"></div>
-        </div>
-    </div>
-</div>
-
-<script>
-
-    /**
-     *加载普通文本
-     */
-    function loadText() {
-        var base64data = $("#textData").val()
-        var textData = Base64.decode(base64data);
-        var textPreData = "<xmp style='background-color: #FFFFFF;overflow-y: scroll;border:none'>" + textData + "</xmp>";
-        $("#text").append(textPreData);
-    }
-   /**
-     * 初始化
-     */
-    window.onload = function () {
-        initWaterMark();
-        loadText();
-    }
-</script>
-	 </#if>
-
-
-</body>
-
-</html>
diff --git a/server/target/classes/web/xml.ftl b/server/target/classes/web/xml.ftl
deleted file mode 100644
index 1b34096..0000000
--- a/server/target/classes/web/xml.ftl
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="utf-8"/>
-    <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
-    <title>xml文本预览</title>
-    <#include  "*/commonHeader.ftl">
-    <link rel="stylesheet" href="css/xmlTreeViewer.css"/>
-    <script src="js/xmlTreeViewer.js" type="text/javascript"></script>
-</head>
-<body>
-
-<input hidden id="textData" value="${textData}"/>
-<div class="container">
-    <div class="panel panel-default">
-        <div id="xml_btn" class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div id="text_btn" class="panel-heading">
-            <h4 class="panel-title">
-                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
-                    ${file.name}
-                </a>
-            </h4>
-        </div>
-        <div class="panel-body">
-            <div id="xml"></div>
-        </div>
-    </div>
-</div>
-
-<script>
-    /**
-     * 初始化
-     */
-    window.onload = function () {
-        $("#xml_btn").hide()
-        initWaterMark();
-        loadXmlData()
-    }
-
-    /**
-     * 加载xml数据
-     */
-    function loadXmlData() {
-        var textData = Base64.decode($("#textData").val())
-        window.textPreData = "<xmp style='background-color: #FFFFFF;overflow-y: scroll;border:none'>" + textData + "</xmp>";
-        var xmlNode = xmlTreeViewer.parseXML(textData);
-        window.retNode = xmlTreeViewer.getXMLViewerNode(xmlNode.xml);
-        $("#xml").html(window.retNode);
-    }
-
-    $(function () {
-        $("#xml_btn").click(function () {
-            $("#xml").html(window.retNode);
-            $("#text_btn").show()
-            $("#xml_btn").hide()
-        });
-
-        $("#text_btn").click(function () {
-            $("#xml_btn").show()
-            $("#text_btn").hide();
-            $("#xml").html(window.textPreData);
-        });
-    });
-</script>
-</body>
-
-</html>
diff --git a/server/target/classes/wordtemplate/agent.docx b/server/target/classes/wordtemplate/agent.docx
deleted file mode 100644
index 278d2fe..0000000
--- a/server/target/classes/wordtemplate/agent.docx
+++ /dev/null
@@ -1,190 +0,0 @@
-                                产品经销合同
-                                         
-  合同编号：{{conCode}}             签约日期：{{appDate}}
-  
-  供应方（甲方）：南京诺唯赞生物科技股份有限公司
-  注册地址：南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层
-  统一社会信用代码：91320192589435065R
-  
-  经销商（乙方）：{{clientName}}  
-  注册地址：{{registeredAddress}}
-  统一社会信用代码：{{taxNumber}}  
-  
-  甲乙双方经过平等自愿协商，在相互信任、相互尊重和互惠互利的原则基础上,依据《中华人民共和国民法典》的规定，就乙方经销甲方相关产品的事宜，达成本合同及附件（以下简称"合同"），以资双方共同信守。
-  
-  第一条：产品信息及经销任务
-  本合同项下乙方向甲方采购的产品（以下简称"产品"）、价格、订货方式、经销任务等详见附件一《商务条款》。
-  
-  第二条：经销区域
-  甲方同意授予乙方在{{authArea}}区域（{{exclusive}}独家{{notExclusive}}非独家）销售产品给经销区域内的买方的权利。
-  
-  第三条：合同期限
-  本合同期限为从本合同生效之日起至{{endTime}}止。
-  
-  第四条：开票与付款
-1. 甲方在向乙方发货后【1个月】内，按照实际发货产品对应的金额开具增值税专用发票或增值税普通发票并交予乙方。
-2. 本合同的付款方式为以下第{{paymentMethod}}种：
-2.1.   预付款：乙方应在甲方发货前{{paymentDayOne}}日内全额预付拟发货产品对应的货款，未收到货款前甲方有权拒绝发货；
-2.2. 货到付款：乙方须在收到货后{{paymentDayTwo}}日内付清已到货产品对应的货款。
-3. 甲方指定的收款账户信息如下：
-   户  名：南京诺唯赞生物科技股份有限公司
-   开户行：南京银行股份有限公司城东支行
-    税  号：91320192589435065R
-   账  号：01500120000000970
-  
-  第五条：质量与验收
-1. 甲方应严格按照甲方原厂的包装进行产品的包装和标识，以满足产品运输、产品安全的要求。
-2. 乙方应在收到产品之日起【 3 】日内（以下简称"验收期限"）对产品进行验收。如乙方发现产品的名称、规格、型号、数量、包装、质量等与合同约定不一致的，须在验收期限内以书面形式向甲方提出异议，否则视为验收合格、符合乙方需求。 
-3. 甲方承诺产品的质量符合甲方产品质量检验报告书（COA）中的规定，乙方可通过向甲方索要或自行至甲方官方网站（http://www.vazyme.com/）下载的方式获取COA；同时甲方保证产品发货时的剩余有效期不少于{{exp}}个月。
-4. 甲方提供给乙方的产品以及生产该产品的原材料必须满足国家、地方、行业的有关环境保护和职业健康安全方面的法律、法规的要求。
-5. 乙方需严格按照产品标签和说明书的要求存储、运输、使用产品，因非甲方原因（包括但不限于乙方、物流服务提供方等第三方）产生的存储、运输、使用不当而造成的产品质量问题或责任事故，均由相关责任方承担，甲方对前述问题或事故不承担责任。
-6. 在产品有效期内，如乙方向甲方提出质量异议的，经甲方确认为甲方原因造成的质量问题，甲方同意对有质量问题的产品进行退换货（如甲方决定采取退货操作的，退货金额将在下一月度的乙方应付款项中予以直接扣除），因此而增加的物流费用由甲方承担。除非产品有质量问题或法律另有约定，否则甲方不承担退换货责任。
-7. 对于由物流承运方等第三方在运输、操作过程中导致的产品破损、遗失及变质等问题的，乙方应在签收当日同时向甲方和该等第三方提出并保留相关证据，并协助甲方向相关方进行索赔。
-  
-  第六条：甲乙双方的权利和义务
-1. 如乙方要求，甲方应对乙方必要的人员给予合适的培训（与培训相关的费用由乙方  承担）和产品有效期内的技术支持。乙方在产品有效期内向甲方提出关于产品的咨询的，甲方应尽量在3个工作日内作出答复。
-2. 甲方应以公平合理的价格向乙方供应符合本合同第五条约定的产品，并向乙方提供与产品相关的宣传推广类材料，供乙方开拓市场用。
-3. 乙方应配备足够的、业务能力强的销售团队，负责产品的业务发展、推广和技术支持。乙方应充分利用自有的推销力量销售产品，如乙方需自行设计、制作产品宣传材料、参加产品宣传活动等，需提前将相关宣传材料、活动方式等提交甲方书面审核，经甲方同意后方可开展，相关费用由【乙】方自行承担。
-4. 基于产品在运输、存储及使用中存在特殊要求（如温度），甲方仅对乙方直接从甲方采购的产品提供售后服务，法律另有规定的除外。
-5. 在本合同有效期限内，乙方不得以自行、委托第三方、与第三方合作、另行注册公司等任何方式（直接或间接）经营或推广与产品有直接竞争关系的其他品牌产品。
-6. 乙方须在{{cashPaytime}}日之前，向甲方支付【五千元 】元人民币作为履约保证金，履约保证金到达甲方指定账户后，本合同才生效。履约保证金在本合同终止且乙方无违约的前提下，甲方将全额无息返还给乙方。
-  
-  第七条：个人信息
- 乙方知悉并同意，甲方基于履行本合同项下义务、以及更好地为乙方提供售后服务等目的，可能会通过从乙方处收集及直接面向乙方员工收集的方式，获取乙方员工个人信息，包括但不限于【姓名、邮箱地址、电话号码、微信号】。甲方保证，将遵守数据处理最小必要原则，仅处理实现目的所需的必要信息。
-2. 乙方同意，为便利甲方开展上述数据处理活动，乙方将向甲方提供必要协助，包括：（1）由乙方向员工告知数据处理场景的必要信息，包括处理目的、方式、数据类型；（2）如发现乙方员工个人信息存在变动，及时将情况及调整后的个人信息告知甲方；（3）如乙方员工通过乙方主张个人信息更正、删除等请求，及时告知甲方并提供必要支持。
-  第八条：保密责任
-   乙方对本合同签订的事实及本合同的内容、在本合同的签订和履行过程中获知的甲方的所有商业信息、技术信息，包括但不限于甲方的产品用途、顾客信息、数据等（"秘密信息"）自获知日起应予以保密，不得用于履行本合同以外的任何目的，且不得向第三者泄漏或公开。
-  
-  第九条：违约条款
-1. 乙方逾期付款的，每逾期一天应支付逾期未付款金额的【5%.】作为违约金，逾期超过【20】天的甲方有权单方解除对应的订单及本合同。
-2. 如乙方未按约定完成附件一中约定的经销任务的，应按附件一的约定承担违约责任。
-3. 基于产品在运输存储中存在特殊要求，如乙方或乙方的下游客户/分销商（以下统称为"买方"）违反本合同第二条的约定的，甲方有权单方解除本合同，造成甲方损失的乙方还应当承担赔偿责任（当损失无法准确计算时，按照甲乙双方自本合同生效之日起乙方向甲方累计采购产品总金额的【2】倍计算。
-4. 乙方违反本合同所规定的任何义务或承诺的，甲方有权中止或直接终止本合同，造成甲方损失的乙方还应承担赔偿责任。
-5. 甲方违反本合同约定且使合同目的无法达成的，乙方在提前一个月书面通知甲方后有权单方终止本合同。
-6. 若任何一方出现违约行为，违约方应承担守约方因合法维权所支出的各项费用，包括但不限于律师费、交通食宿费、诉讼保全担保费用（如财产保全责任险费）。除法律另有强制性规定，甲方因过错或违约行为而承担的赔偿责任不超过受前述行为所影响的订单/产品对应的乙方已支付的总价款，且在合同期限内总计不得超过乙方基于本合同已向甲方支付的合同价款。甲方不承担任何间接或后果性损失(如利润或收益损失)。
-
-  第十条：不可抗力
-1. "不可抗力事件"指一方无法控制致使该方无法履行其在本合同项下义务的事件，不可抗力事件包括但不限于:政府或政府机构的禁令或行为,暴乱、战争、敌对状态、公共骚乱、罢工或其他劳务纠纷和停工,运输或其他设施停顿或中断、疫情、火灾、水灾、地震、风暴或其他自然现象。
-2. 若一方因不可抗力事件而不能履行本合同所规定的义务, 该方无需承担对对方的损失赔偿责任和违约责任，但应在不可抗力事件发生后5天内书面通知另一方并在合理期限内提供相应的证明文件。双方应尽其最大努力尽可能地减少因不可抗力事件给对方造成的损失。若不可抗力事件持续时间超过60天，任一方有权单方解除合同，但应书面通知对方，自对方收到解除通知之日起发生合同解除效力。
-  
-  第十一条：争议解决
-  本合同应当根据中华人民共和国法律进行解释并受其管辖(约束)。凡因本合同而产生的任何争议，双方应当友好协商解决。如无法协商达成一致，任何一方均应向甲方所在地人民法院提起诉讼。
-  
-  第十二条：其他
-1. 本合同一旦签署均视为甲乙双方已充分知晓并理解本合同全部条款的实质含义及相应的权利义务。
-2. 本合同一式两份，甲乙双方各执一 份，具有同等法律效力。
-3. 本合同所有附件受本合同约束，与本合同具有同等法律效力。
-  
-
-  甲方：南京诺唯赞生物科技股份有限公司             乙方： {{clientName}}
-  （盖章）                                        （盖章）
-  授权代表：                                       授权代表：
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-
-
-  附件一：商务条款
-  
-1. 产品明细
-  甲方授权乙方经销甲方的（{{biologyReagent}}分子生物学科研试剂、{{biologyReagent}}高通量测序建库试剂、{{highFlux}}分子诊断试剂）的生物试剂产品。具体产品目录详见甲方提供给乙方的【《产品促销册》】，甲方销售给乙方的产品单价按【《产品促销册》】中产品促销单价的{{proRate}}折（以下简称"折扣"）执行。
-  
-2. 经销任务
-2.1. 乙方在合同有效期内的年度总采购任务为{{yearAmount}}万元，具体季度采购任务如下（采购任务的金额以乙方实际向甲方支付的金额为计算依据）：
-                                     年度
-                                    年度
-                                 总任务额
-                                 采购季度
-                           采购金额（万元）
-                                 任务占比
-                                {{currentYear}}
-                                {{yearAmount}}
-                                      Q1
-                                {{firstAmount}}
-                                {{firstRate}} %
-                                        
-                                        
-                                      Q2
-                               {{secondAmount}}
-                               {{secondRate}} %
-                                        
-                                        
-                                      Q3
-                                {{thirdAmount}}
-                                {{thirdRate}} %
-                                        
-                                        
-                                      Q4
-                               {{fourthAmount}}
-                               {{fourthRate}} %
-                                     合计
-                                        
-                                        
-                                     100%
-  
-2.2. 如乙方未完成本季度采购任务的，则甲方有权将下一季度的折扣上调【5】%（如附件一第1条中约定的折扣为80%，则当乙方未完成第一季度采购任务的，第二季度的折扣调整为85%，如乙方第二季度仍未完成季度采购任务的，第三季度的折扣调整为90%，以此类推）；
-2.3. 如乙方连续两个季度未完成季度采购任务的，甲方有权单方解除本合同；
-2.4. 如乙方在合同期限届满时未完成年度总采购任务的，鉴于甲方为备货可能已经产生成本支出，甲方在法律允许的范围内保留要求乙方赔偿损失或支付相当于未完成的采购任务的{{penalSumRate}}%作为违约金的权利；
-2.5. 如乙方完成年度总采购任务和每个季度采购任务的，则在同等条件下，乙方享有就本合同经销区域和产品的下一年度经销合同的优先签约权；
-2.6. 若乙方连续3年100%完成年度总采购任务和每个季度采购任务的，则乙方有权要求与甲方签署就本合同项下经销区域和产品的经销期限为3年的经销合同。
-  
-3. 订货条款
-  在合同有效期内，乙方可通过其授权代表{{secondPartyAuth}}或其他经双方另行确认的乙方授权工作人员以邮件或微信、QQ等即时通讯方式向甲方提出采购需求，甲方通过邮件或前述即时通讯方式确认接受该等需求的，对双方均由约束力。
-  
-4. 发货条款
-4.1. 乙方接受甲方采用以下第{{payType}}种方式进行发货：
-4.1.1. 甲方在收到乙方的全额预付款和乙方的发货通知后{{deliveryday}}个工作日内发货；
-4.1.2. 甲方在确认接受乙方发出的采购需求后{{deliveryday}}个工作日内发货。
-4.2. 若在甲方接受乙方的采购需求后甲方出现库存短缺，甲方有权与乙方另行书面协商新的发货时间。
-4.3. 经乙方同意，甲方可以提前交货，乙方不得以此为理由拒付提前交付产品对应的货款。
-4.4. 乙方单次采购金额在5000元以上的，物流费用由甲方承担，单次采购金额在5000元以下的，物流费用由乙方以到付的形式自行承担。如产品需要干冰运输的，则干冰费用由甲方按市价向乙方另行收取。
-      
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-附件二  合规条款
-  甲方：
-  乙方：南京诺唯赞生物科技股份有限公司
-  本附件中甲方包括甲方、其任何代理、关联公司、雇员或者代表甲方行事的任何人。 
-1. 合规 
-1.1. 甲方应始终遵守所有适用的中国法律法规（包括但不限于与反腐败、反垄断以及反洗钱相关的法律）、以及任何国际和国内公认的商业行为，甲方应始终遵守诚信原则，且不得从事任何将要或可能给乙方的财务管理、业务运作或企业声誉带来不利影响的行为。
-1.2. 甲方不曾且不得以任何形式向任何党政机关、国有企业和/或其设立或控制的任何组织的工作人员、或代表前述人员的其它商业机构或人员、或该等组织中与甲方履行本合同有关的任何商业机构或人员，直接或间接地提供任何违法的利益（包括但不限于金钱或其他财物）。
-1.3. 甲方不曾且不得为取得或履行本合同而向乙方的任何雇员或雇员的亲属给予现金、实物或其它不正当利益，或以促销费、宣传费、赞助费、劳务费、咨询费、佣金等名义或以报销各种费用或以任何其它方式，给付乙方雇员或雇员的亲属财物或其它不正当利益。
-2. 利益冲突
-2.1. 甲方的股东、董事、监事、经理、高级管理人员、合作负责人及其团队成员系乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友的，甲方应在知晓相关信息后立即以书面方式如实、全面告知乙方该等情况；如果乙方员工（包括在职和离职三年内）向甲方提出涉及利益冲突和/或中饱私囊的要求，甲方也应立即向乙方披露。乙方有权评估该关系对合作的影响，并决定是否继续与甲方合作。
-2.2. 甲方不得允许乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友或由第三方代持有甲方股权（但通过公开的证券交易市场且低于发行在外5%的权益、通过直接或间接持有无实际控制权的基金、或通过受益人非本人或关联人员的信托方式持有的股份除外），亦不得招揽乙方在职员工及聘用负有竞业限制义务的离职员工（包括但不限于建立正式劳动关系、劳务派遣、外包服务、兼职、咨询顾问等其他形式）。如甲方未能遵守前述约定，乙方有权立即解除合同。
-3. 实质违反
-  甲方在得知任何违反本附件规定的甲方义务的情况或发现乙方的雇员、代理人、关联方、咨询公司或有关的任何第三方违反本附件规定的应立即通知乙方，该等通知应以邮件形式发送给乙方并说明详细情况。如乙方发现甲方的雇员、代理人、咨询公司或有关的任何第三方违反本附件规定的，应立即通知甲方。经乙方或其关联方的不时要求，甲方应及时（不得无故拖延）向乙方提供有关甲方对本附件的遵守情况。如乙方有理由相信甲方有任何违反本附件的行为，乙方保留审计甲方相关工作记录和/或财务账簿的权利，但应限于与前述行为相关的最少必要范围内，甲方有义务配合乙方前述审计行为。
-  
-  甲方若不遵守本附件的任何规定，将被视为对《销售合同》的实质性违反。违约金不足以弥补甲方因该等行为给乙方造成损失的，乙方及其关联方有权就因该等违约所引起的任何或全部损失要求赔偿，包括但不限于任何利润损失、结果性损失以及由乙方或其关联方须向任何第三方支付的与该等违约有关的任何金额（包括但不限于任何罚金、营业额及利润损失赔偿和/或惩罚性赔偿）。乙方基于相关法律法规项下享有的其他权利将不受影响。
-  
diff --git a/server/target/classes/wordtemplate/commoService.docx b/server/target/classes/wordtemplate/commoService.docx
deleted file mode 100755
index 6df496c..0000000
--- a/server/target/classes/wordtemplate/commoService.docx
+++ /dev/null
@@ -1,240 +0,0 @@
-                          合同编号 ：{{conCon}}
-                              技术服务合同
-                                       
-          项目名称：  {{clientName}}                       
-          假病毒中和抗体检测技术服务                                           
-  委托方（甲方）：{{clientName}}            
-  受托方（乙方）：南京诺唯赞生物科技股份有限公司     
-  签订时间：       {{signDate}}                 
-  
-                                       
-                                       
-                                       
-                              技术服务合同
- 委托方（甲方）：     {{clientName}}                                 
- 注 册 地：          {{regLocation}}                                       
- 项目负责人：        {{clientCharger}}                                
- 项目联系人：        {{clientContact}}                              
- 联系方式：          {{clientMobile}}                                      
- 通讯地址：          {{invoiceAdd}}                                      
- 电    话：    {{clientMobile}}      传    真：       /      
- 电子信箱：            /                 
- 受托方（乙方）：南京诺唯赞生物科技股份有限公司               
- 注册地：南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层  
- 法定代表人： 曹 林                                           
- 项目联系人：  {{staffName}}                                                
- 联系方式：    {{staffMobile}}                                                 
- 通讯地址：    南京经济技术开发区科创路红枫科技园D2栋                                  
- 电    话： 025-84365701 传    真：  025-84365701  
- 电子信箱：            /                         
-                                       
-
-
-  
-  甲方向乙方提供样本：{{serum}}A.血清（下称"样本A"）、{{antibody}}B.抗体（下称"样本B"），委托乙方对前述样本进行假病毒中和抗体检测（下称"中和抗体检测"）的技术服务，乙方接受甲方委托并进行此项技术服务工作，甲方向乙方支付服务费。双方经过平等协商，在真实、充分地表达各自意愿的基础上，依据《中华人民共和国民法典》及相关法律规定，达成以下协议，并由双方共同恪守。
-
-第一条 技术服务的内容
-  甲方向乙方提供{{serumServe}} {{serumNum}}个样本A、{{antibodyServe}}{{antibodyNum}}个样本B.（样本数量以甲方实际提供为准，样本A不得低于{{serumNum}}个，样本B不得低于{{antibodyNum}}个），乙方通过中和抗体检测的方式对甲方提供的样本进行检测。中和抗体检测项目详情见表1：
-                                        
-                                 检测项目
-                                 样本名称
-                                       
-                                 样本数量
-                                   检测用
-                                   细胞株
-                                   检测用
-                                 假病毒株
-                              起始稀释倍数
-                                 浓度梯度
-                               个数/复孔数
-                              倍比稀释倍数
-                                    备注
-                          {{fe:serveList t.productnum
-                                 t.sampleName
-t.salenum
-t.cellLine
-t.productname
-t.initialDilution
-t.spec
-t.dilutionRatio
-t.remark }}
-                     表1 中和抗体检测项目详情表
-  
-  每个样本检测的结果均应与空白细胞株对照物检测的结果、假病毒对照物检测的结果、阳性对照物检测的结果进行对照。 
-  同样的样本使用多个假病毒株进行检测属于多个检测项目，需要分别收费。
-
-第二条 交付
-    2.1 交付内容
-  2.1.1 中和抗体检测报告{{deliverNum}}份（下称"报告"），报告内容应当包含如下内容：
-  2.1.1.1 {{serumSample}}样本A、{{antibodySample}}样本B的信息；
-  2.1.1.2 {{serumResult}}样本A、{{antibodyResult}}样本B的检测/实验结果。
-  2.1.2 中和抗体检测原始检测数据{{antibodyNums}}份（下称"数据"），数据内容应当包括如下内容：
-  若甲方交付乙方的为样本A，则交付的前述数据为样本A的滴度（EC50）和发光值RLU；若甲方交付乙方的为样本B，则交付的前述数据为样本B的IC50和R[2]和发光值RLU。
-  2.1.3 中和抗体检测方案{{detectNum}}份（下称"方案"），方案内容应当包括如下内容： 
-  2.1.3.1 {{sampleInfoSerum}}样本A、{{sampleInfoAntibody}}样本B的样本信息；
-  2.1.3.2 {{schemeSerum}}样本A、{{schemeAntibody}}样本B的实验方案；
-  2.1.3.3 {{testSerum}}样本A、{{testAntibody}}样本B的测试结果展示。
-  2.2 交付方式
-  本合同项下的报告、数据、方案由乙方通过电子邮件发送给甲方。
-  双方的授权电子邮件信息见本合同第十三条第13.1款。
-
-第三条 验收
-    3.1验收标准
-   3.1.1 若甲方提供阳性对照物，甲方应于交付样本时选择快递或者物流的形式提交阳性对照物，并承担相应的快递或者物流费用。 
-  3.1.2 若甲方不提供阳性对照物，则甲方同意乙方使用名称为Vastand的阳性对照物作为此次中和抗体检测的阳性对照物。
-  3.1.3 每个样本检测的结果均应与空白细胞株对照物检测的结果、假病毒对照物检测的结果、阳性对照物检测的结果进行对照，若空白细胞株对照物检测的结果、假病毒对照物检测的结果符合生物学实验要求、阳性对照物检测结果有病毒中和效果，则表明样本检测的结果真实、准确、可靠，即乙方交付的报告、数据、方案符合本合同约定的验收标准。
-  3.2 验收期限
-  甲方应当在收到乙方本合同项下交付的报告、数据、方案后10天内完成验收；若甲方未在验收期限内完成验收，则验收期限届满甲方未提出书面异议的，视为验收合格。
-
-第四条 费用与支付方式
-  4.1费用
-  本次技术服务使用{{pseudovirus}}A.野生型假病毒株，{{mutant}}B.突变假病毒株进行检测，对应的单价明细及总服务费见表2。合同总服务费用不包含甲方寄送样本的快递费用。
-                           表2  总服务费明细表
-                                 检测项目
-                                 样本名称
-                                 样本数量
-                             检测用假病毒株
-                                单价（元）
-                                总价（元）
-                                    备注
-{{fe:dataList t.productnum 
-t.sampleName
-t.salenum
-                                 t.productname
-t.taxprice
-                                   t.sumaell
-                                      }}
-                                 总服务费
-                                 （含税）
-                                       
-                                       
-                                       
-                                       
-{{totalPrice}}
-                                       
-  4.2支付方式
-  4.2.1 双方协商一致，甲方采用以下第{{payType}}种方式付款。
-  A．一次性付款（仅供科研用户选择）：甲方收到乙方本合同项下交付的报告、数据、方案后，{{onePaymentDay}}个工作日内将总服务费打入乙方指定账户。
-  B. 分期付款（仅供工业用户选择）：甲方应在本合同签订生效后{{installmentDay}}个工作日内将总服务费的{{firstPayment}}%作为首付款（下称"首付款"）打入乙方指定账户，即人民币{{firstMoney}}元，甲方收到乙方本合同项下交付的报告、数据、方案后在{{lastInstallmentDay}}个工作日将总服务费的{{lastPayment}}%作为尾款（下称"尾款"）打入乙方指定账户，即人民币{{lastMoney}}元；因实验设计有可能变化，最后尾款按实际发生情况结算，多退少补。
-  4.2.2 乙方在收到甲方付款后的{{invoiceDay}}个工作日内按甲方开票信息向甲方开具税率为  6%  的增值税{{special}}专用/{{common}}普通发票，发票内容为  技术服务  。
-  
-  4.3 甲方开票信息和乙方指定账户详情： 
-  4.3.1甲方开票信息：
-  名        称：{{clientName}}
-  纳税人识别号： {{taxNumber}}
-  开 户 银  行： {{openbank}}
-  银 行 账  号： {{bankacc}}
-  地        址： {{invoiceAdd}}
-  4.3.2乙方指定账户：
-  开户行：南京银行城东支行
-  户名：南京诺唯赞生物科技股份有限公司
-  账号：01500120000000970
-  纳税人识别号：91320192589435065R
-  地址：中国江苏省南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层
-
-第五条 甲方的权利与义务
-  5.1甲方有依照本合同约定接受乙方提供技术服务的权利，并可在乙方服务过程中给予合理化建议。
-  5.2甲方应为乙方及时、足量提供为完成本合同约定的技术服务内容所必须的样品以及其他为完成本合同服务内容所必要的信息和材料支持。
-  5.3甲方保证依照本合同约定向乙方提供的所有样本以及其他为完成本合同服务内容所必要的信息和材料等：
-  （1）均为甲方合法取得，可依法提供给乙方；
-  若甲方交付给乙方的样本来源于人体或包含人类遗传资源，甲方须保证严格遵守国家对于人类遗传样本或人类遗传资源的采集、利用及知情、伦理等相关要求，且严格遵守国家对于人类遗传资源及个人信息保护等相关要求。
-  （2）无致病性、无传染性，对人、动植物和环境友好安全。
-  （3）不会侵犯任何第三方的知识产权。
-  5.4 甲方知悉并同意乙方可选择在乙方实验室或其他第三方实验室操作本合同第一条约定的技术服务。
-  5.5 甲方应当依照本合同第四条约定及时、足额支付乙方相应的合同款项。
-  5.6 甲方承诺乙方本合同项下交付的报告、数据、方案仅用于其内部科学研究。 
-    5.7 甲方应保证本技术服务合同目的的合法性。
-  5.8 甲方不得将乙方本合同项下交付的报告、数据、方案或其利用该报告、数据、方案所获得的科研成果用于向国家药品监督管理局进行任何申报或者进行其他相关申报。
-  5.9 因甲方提供的样本或其他信息、材料的原因导致乙方提供的中和抗体检测失败，乙方不承担任何责任，甲方仍须依照本合同第四条的约定及时、足额支付总服务费。
-  5.10 本技术服务合同履行完毕，样品若有剩余，甲方负责剩余样品的收集、贮藏、运输、处置等后续处理工作，无论甲方对剩余样品作何种处理，甲方都应当保证其处理工作符合我国法律法规、行政法规和国家有关规定，包括但不限于《中华人民共和国固体废物污染环境防治法》、《医疗废物管理条例》等相关法律法规、行政法规和国家有关规定。
-  5.11 甲方应遵守本合同附件1《合规条款》的规定。
-  5.12 甲方违反本条第5.3款、第5.6款 -- 第5.8款、第5.11款的，视作实质性违约。
-
-第六条 乙方的权利与义务
-  6.1 乙方有依照本合同约定接受甲方支付总服务费的权利。
-  6.2 乙方依照本合同约定提供的技术服务仅依照乙方内部研究质量标准开展。
-  6.3 乙方只对甲方提供的样本进行检测服务并提供本合同项下约定的报告、数据、方案，乙方并不承诺该报告、数据、方案符合药物临床前研究质量管理规范或者其他相关外部标准。
-  6.4 乙方不对甲方使用乙方本合同项下交付的报告、数据、方案进行的任何后续活动的过程及结果负责。
-  6.5 当甲方采用第四条第4.2款第4.2.1项A种方式付款，乙方应在本合同签订生效且收到甲方依照本合同第一条约定的足量样本以及其他为完成本合同服务内容所必要的信息和材料支持后 【20】 个工作日内向甲方提供本合同项下的报告、数据、方案；当甲方采用第四条第4.2款第4.2.1项B种方式付款，乙方应当在合同签订生效且收到（1）甲方依照本合同第一条约定的足量样本以及其他为完成本合同服务内容所必要的信息和材料支持，和（2）首付款后 【20】个工作日内向甲方提供本合同项下的报告、数据、方案。
-  6.6 若在本合同签订生效后，因甲方原因导致乙方无法在本条第6.5款约定的时间内交付本合同项下的报告、数据、方案的，乙方不承担任何责任，且甲方因此给乙方造成额外费用的应由甲方承担。
-  6.7 乙方在技术服务过程中产生的为正常履行本合同约定的技术服务内容的其他成本费用由乙方自行承担。
-  6.8 除非法律另有规定，乙方在本合同下承担的全部责任最高额应仅限于乙方在本合同下已收取的全部费用。
-
-第七条 保密条款
-  7.1 本合同任何一方（"接收方"）对于其从对方（"披露方"）获取或知悉的任何可被合理认为具有保密性的信息（以下统称"保密信息"），包括但不限于技术资料、研究报告、产品信息等，均须予以严格保密。本合同的存在及其条款亦属于保密信息。"保密信息"不包含以下信息：（1）接收方有证据证明在披露方向其披露信息之前已获得或知晓的信息；（2）不是因为接收方的误操作或错误而让公众知晓的信息；（3）接收方以正当合理途径从其他无保密义务的第三方处得知的信息；（4）接收方独立开发的信息。
-  7.2 双方同意，除非披露方书面同意，接受方：（1）不得将保密信息用于除履行本合同目的以外其他用途；（2）不将任何保密信息披露给任何第三方，除非（2.1）为履行本合同的目的，向有必要获知保密信息并且已经签订保密义务的雇员，或者接受方的代理、代表、律师、顾问和其他有必要知道信息的咨询方；（2.2）政府机构、司法程序、证券交易所或相关法律要求的检查、披露或其他活动；但上述披露的范围应控制在必要限度的范围内。接受方同意采取任何可行的措施保护保密信息的保密性，程度不得低于其对自身保密内容或同样性质内容的保护，并避免泄露和非授权使用。
-  7.3 保密期限自本合同签订生效之日起至本合同终止后3年内。
-
-第八条 知识产权约定
-  8.1 对于一方在本合同之前已合法拥有或有权使用的、或是独立于本合同所合法获取的，并且被用于本合同项目的任何知识产权（下称"背景知识产权"），任何一方应保留对其背景知识产权享有的所有权利。
-  8.2 在本合同履行过程中产生的任何发明、专有技术、商业秘密、数据、结果、新程序、工艺、公式、研发成果以及其他任何资料和信息等以及其他有形物体的知识产权（包括但不限于专利权、著作权、技术秘密、专利申请权等）及其后续的改进，均归完成前述工作的一方所有，但是若改进基于另一方背景知识产权的，改进方可许可另一方使用，双方另有约定的除外。
-
-第九条 合同变更
-  本合同的变更必须由双方协商一致，并以书面形式确定，本合同未约定的，可另签补充协议。 若补充协议与本合同不一致的，以补充协议为准；补充协议未约定的，以本合同为准。
-
-第十条 合同解除
-  10.1 双方协商一致，可以书面解除本合同。
-  10.2 若一方因不可抗力事件（包括但不限于政府或政府机构的禁令或行为、疫情、火灾、水灾、地震、风暴等情况）而不能履行本合同所规定的义务,该方无需承担对对方的损失赔偿责任和违约责任，但应在不可抗力事件发生后5天内书面通知另一方并在合理期限内提供相应的证明文件。双方应尽其最大努力尽可能地减少因不可抗力事件给对方造成的损失。若不可抗力事件持续时间超过60天，任一方有权单方解除合同，但应书面通知对方，自对方收到解除通知之日起发生合同解除效力。
-  10.3 合同签订生效后，任何一方不得单方面无故解除合同，除非发生实质性违约行为。
-  10.4 甲方无故迟延付款超过【20】个工作日且经乙方催告后仍不付款，视为甲方实质性违约，乙方可以通知甲方单方面解除合同，合同的解除并不免除甲方依照本合同第四条的约定支付服务费的义务。
-  10.5 因乙方原因迟延交付本合同项下的报告、数据、方案超过20个工作日，且经甲方催告后仍不交付，视为乙方实质性违约，甲方可以单方面解除合同。
-  10.6 .合同签订生效后，一方依法被吊销营业执照、责令关闭或者被撤销、解散，另一方有权单方面解除合同。
-
-第十一条 违约责任
-  11.1 甲方无故违反本合同约定逾期付款的，每延迟支付一天应支付本合同第四条第4.1款约定的总服务费千分之一的违约金，同时不免除甲方继续履行本合同的义务。
-  11.2 乙方无故违反本合同约定逾期向甲方交付本合同项下约定的报告、数据、方案，每延迟交付一天应支付本合同第四条第4.1款约定的总服务费千分之一的违约金，同时不免除乙方继续履行本合同的义务。
-  11.3 任何一方没有充分、及时履行义务或没有完全履行本合同约定的义务应当承担违约责任；给对方造成损失的，应赔偿对方由此遭受的损失。
-  11.4 因甲方原因（包括但不限于甲方交付样品以及其他为完成本合同服务内容所必要的信息和材料支持）导致本合同提前解除的，甲方应足额支付本合同约定的总服务费并赔偿乙方所有经济损失，且依照合同约定总服务费的15%向乙方支付违约金。
-  11.5 因乙方原因导致本合同提前解除的，乙方应退还全部费用并赔偿甲方所有经济损失，且依照合同总金额的15%向甲方支付违约金。
-
-第十二条 技术风险
-  12.1一方发现技术风险存在并有可能致使服务内容失败或部分失败的情形时，应当在10日内书面通知对方并采取适当的措施减少损失；
-  12.2 因一方逾期未书面通知或者未采取适当措施而致使损失扩大的，还应当就扩大的损失承担赔偿责任；
-  12.3 由于双方过错共同导致本技术服务失败，由双方依照过错比例分摊产生的损失；
-  12.4 如果甲乙双方均无过错，甲乙双方各自承担损失的 50%。
-
-第十三条 项目联系人及沟通和通知
-  13.1 双方确定，在本合同有效期内，甲方指定{{clientContact}}，（邮箱:  / ）为本合同联系人，乙方指定{{staffName}}，（邮箱:  / ）为本合同联系人。
-  13.2 双方约定，合同一方项目联系人变更的，应通过上述指定邮箱与对方沟通确认，一方未及时与对方沟通确认并影响本合同履行或造成损失的，应赔偿因此给对方造成的经济损失。
-  13.3 双方约定，合同双方的所有正式通知应为书面形式，并应发送至合同联系人地址或邮箱。
-
-第十四条 适用法律和争议处理
-  本合同适用中华人民共和国法律。本合同如在履行中发生争议，由双方协商解决，如不能通过协商解决，双方均可向南京仲裁委员会进行仲裁。仲裁将依照提交仲裁时的仲裁机关届时生效的仲裁规则进行仲裁。仲裁裁决为终局性的，对双方具有约束力。
-
-第十五条 合同期限
-  本合同期限自{{year}}年{{month}}月{{day}}日至{{endYear}}年{{month}}月{{day}}日。
-
-第十六条 其他
-  16.1本合同自双方或双方法定代表人或其授权代表人签字且加盖单位公章或合同专用章之日起生效。
-  16.2 本合同正本一式肆份，双方各执贰份，具有同等法律效力。
-  16.3 本合同的附件是本合同不可分割的组成部分，与本合同具有同等的法律效力。
-
-甲方： {{clientName}}       乙方： 南京诺唯赞生物科技股份有限公司   
-              （盖章）                                  （盖章）
-  
-  
-委托代理人：                              委托代理人：                     
-                       
-   202  年   月  日                  202  年  月  日附件1合规条款
-
-甲方： {{clientName}}
-乙方：南京诺唯赞生物科技股份有限公司
-本附件中甲方包括甲方、其任何代理、关联公司、雇员或者代表甲方行事的任何人。 
- 1. 合规 
- 1.1.	甲方应始终遵守所有适用的中国法律法规（包括但不限于与反腐败、反垄断以及反洗钱相关的法律）、以及任何国际和国内公认的商业行为，甲方应始终遵守诚信原则，且不得从事任何将要或可能给乙方的财务管理、业务运作或企业声誉带来不利影响的行为。
- 1.2.	甲方不曾且不得以任何形式向任何党政机关、国有企业和/或其设立或控制的任何组织的工作人员、或代表前述人员的其它商业机构或人员、或该等组织中与甲方履行本合同有关的任何商业机构或人员，直接或间接地提供任何违法的利益（包括但不限于金钱或其他财物）。
- 1.3. 甲方不曾且不得为取得或履行本合同而向乙方的任何雇员或雇员的亲属给予现金、实物或其它不正当利益，或以促销费、宣传费、赞助费、劳务费、咨询费、佣金等名义或以报销各种费用或以任何其它方式，给付乙方雇员或雇员的亲属财物或其它不正当利益。
- II.	利益冲突
- 2.1  甲方的股东、董事、监事、经理、高级管理人员、合作负责人及其团队成员系乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友的，甲方应在知晓相关信息后立即以书面方式如实、全面告知乙方该等情况；如果乙方员工（包括在职和离职三年内）向甲方提出涉及利益冲突和/或中饱私囊的要求，甲方也应立即向乙方披露。乙方有权评估该关系对合作的影响，并决定是否继续与甲方合作。
-   2.2 甲方不得允许乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友或由第三方代持有甲方股权（但通过公开的证券交易市场且低于发行在外5%的权益、通过直接或间接持有无实际控制权的基金、或通过受益人非本人或关联人员的信托方式持有的股份除外），亦不得招揽乙方在职员工及聘用负有竞业限制义务的离职员工（包括但不限于建立正式劳动关系、劳务派遣、外包服务、兼职、咨询顾问等其他形式）。如甲方未能遵守前述约定，乙方有权立即解除合同。
- IV实质违反
-甲方在得知任何违反本协议规定的甲方义务的情况或发现乙方的雇员、代理人、关联方、咨询公司或有关的任何第三方违反本协议规定的应立即通知乙方，该等通知应以邮件形式发送给乙方并说明详细情况。如乙方发现甲方的雇员、代理人、咨询公司或有关的任何第三方违反本协议规定的，应立即通知甲方。经乙方或其关联方的不时要求，甲方应及时（不得无故拖延）向乙方提供有关甲方对本协议的遵守情况。
-
-甲方若不遵守本协议的任何规定，将被视为对协议的实质性违反。违约金不足以弥补甲方因该等行为给乙方造成损失的，乙方及其关联方有权就因该等违约所引起的任何或全部损失要求赔偿，包括但不限于任何利润损失、结果性损失以及由乙方或其关联方须向任何第三方支付的与该等违约有关的任何金额（包括但不限于任何罚金、营业额及利润损失赔偿和/或惩罚性赔偿）。乙方基于相关法律法规项下享有的其他权利将不受影响。
-                         甲方确认 (签字/盖章)
-                         乙方确认 (签字/盖章)
-                                       
-                    -------------------------------------- 
-                                       
-                    -------------------------------------- 
-
diff --git a/server/target/classes/wordtemplate/frameContract.docx b/server/target/classes/wordtemplate/frameContract.docx
deleted file mode 100644
index fe7621c..0000000
--- a/server/target/classes/wordtemplate/frameContract.docx
+++ /dev/null
@@ -1,120 +0,0 @@
-                              销售框架合同
-  合同编号：{{conCode}}              {{clientConCode}}
-  
-  签约日期：{{appDate}}     
-   
-  采购方：{{clientName}}       （以下简称"甲方"）
-  注册地址：{{registeredAddress}}          
-  统一社会信用代码：{{taxNumber}}          
-  
-  销售方：南京诺唯赞生物科技股份有限公司      （以下简称"乙方"）
-  注册地址：南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层
-  统一社会信用代码：91320192589435065R
-  
-  甲乙双方本着平等、自愿、互利、共同发展的合作原则，依据《中华人民共和国民法典》等相关法律、法规的规定，经友好协商，达成本合同及附件（以下简称"合同"），以资双方共同信守。
-  
-  一、产品信息
-  本合同项下甲方向乙方采购的产品（以下简称"产品"）、价格、订货方式、采购任务等详见附件一《商务条款》。
-  二、合同期限
-  本合同期限为 {{contractPeriodStart}}至 {{contractPeriodEnd}} 日止。若合同期限届满时双方义务、责任尚未履行完毕的，应继续履行。
-  三、开票与付款
-1. 乙方在向甲方发货后30天内，按照实际发货产品对应的金额开具增值税专用发票或增值税普通发票并交予甲方。
-2. 本合同的付款方式为以下第{{paymentMethod}}种：
-2.1.   预付款：甲方应在乙方发货前{{paymentDayOne}}日内全额预付拟发货产品对应的货款，未收到货款前乙方有权拒绝发货；
-2.2.   货到付款：甲方需在收到货后{{paymentDayTwo}}日内付清已到货产品对应的货款。
-3. 乙方指定的收款账户信息如下：
-  户  名：南京诺唯赞生物科技股份有限公司
-  开户行：南京银行股份有限公司城东支行
-   税  号：91320192589435065R
-  账  号：01500120000000970
-  四、风险与所有权转移
-1. 在乙方将产品交付给甲方时，货物的损毁灭失风险随时转移至甲方。
-2. 产品的所有权在交付时随之转移给甲方，但若在交付时甲方尚未支付对应的货款的，则产品的所有权在甲方支付完毕对应的货款时转移。
-  五、质量与验收
-1. 乙方应严格按照乙方原厂的包装进行产品的包装和标识，以满足产品运输、产品安全的要求。
-2. 甲方应在收到产品之日起{{checkDay}}日内（以下简称"验收期限"）对产品进行验收。如甲方发现货物的名称、规格、型号、数量、包装、质量等与合同约定不一致的，须在验收期限内以书面形式向乙方提出异议，否则视为验收合格、符合甲方需求。 
-3. 乙方承诺产品的质量符合乙方产品质量检验报告书（COA）中的规定，甲方可通过向乙方索要或自行至乙方官方网站（http://www.vazyme.com/）下载的方式获取COA；同时乙方保证产品发货时的剩余有效期距失效日期不少于{{validInteInterval}}个月。
-4. 乙方提供给甲方的产品以及生产该产品的原材料必须满足国家、地方、行业的有关环境保护和职业健康安全方面的法律、法规的要求。
-5. 甲方需严格按照产品标签和说明书的要求存储、运输、使用产品，因非乙方原因（包括但不限于甲方、物流服务提供方等第三方）产生的存储、运输、使用不当而造成的产品质量问题或责任事故，均由相关责任方承担，乙方对前述问题或事故不承担责任。
-6. 在产品有效期内，如甲方向乙方提出质量异议的，经乙方确认为乙方原因造成的质量问题，乙方同意对有质量问题的产品进行退换货，因此而增加的物流费用由乙方承担。除非产品有质量问题或法律另有约定，否则乙方不承担退换货责任。
-7.  对于由物流承运方等第三方在运输、操作过程中导致的产品破损、遗失及变质等问题的，甲方应在签收当日同时向乙方和该等第三方提出并保留相关证据，并协助乙方向相关方进行索赔。
-8. 乙方应对甲方必要的人员免费给予合适的培训（包括现场培训）和生产使用过程中的技术支持。
-  六、个人信息
-  1. 甲方知悉并同意，乙方基于履行本合同项下义务、以及更好地为甲方提供售后服务等目的，可能会通过从甲方处收集及直接面向甲方员工收集的方式，获取甲方员工个人信息，包括但不限于【姓名、邮箱地址、电话号码、微信号】。乙方保证，将遵守数据处理最小必要原则，仅处理实现目的所需的必要信息。
-  2. 甲方同意，为便利乙方开展上述数据处理活动，甲方将向乙方提供必要协助，包括：（1）由甲方向员工告知数据处理场景的必要信息，包括处理目的、方式、数据类型；（2）如发现甲方员工个人信息存在变动，及时将情况及调整后的个人信息告知乙方；（3）如甲方员工通过甲方主张个人信息更正、删除等请求，及时告知乙方并提供必要支持。
-  七、保密
-  甲方对本合同签订的事实及本合同的内容、在本合同的签订和履行过程中获知的乙方的所有商业信息、技术信息，包括但不限于乙方的产品用途、顾客信息、数据等（"秘密信息"）自获知日起应予以保密，不得用于履行本合同以外的任何目的，且不得向第三者泄漏或公开。
-  八、违约条款
-1. 甲方逾期付款的，每逾期一天应支付逾期未付款金额的{{responsibility}}作为违约金，逾期超过20天的乙方有权单方解除对应的订单及本合同。
-2. 除法律另有强制性规定，乙方因过错或违约行为而承担的赔偿责任不超过受前述行为所影响的订单/产品对应的甲方已支付的总价款，且在合同期限内总计不得超过甲方基于本合同已向乙方支付的合同价款。乙方不承担任何间接或后果性损失(如利润或收益损失)。
-  九、合同的解除
-1. 一方违反本合同的义务时，另一方向其发出限期予以履约或改正的催告后，但该方仍然没有予以履约或改正的，则另一方有权单方解除本合同。
-2. 在一方发生上述条款所规定的解除事由时，则该方对有解除权一方负有的一切债务可视为已到偿还期限。
-  十、不可抗力
-1.  "不可抗力事件"指一方无法控制致使该方无法履行其在本合同项下义务的事件，不可抗力事件包括但不限于:政府或政府机构的禁令或行为,暴乱、战争、敌对状态、公共骚乱、罢工或其他劳务纠纷和停工,运输或其他设施停顿或中断、疫情、火灾、水灾、地震、风暴或其他自然现象。
-2. 若一方因不可抗力事件而不能履行本合同所规定的义务, 该方无需承担对对方的损失赔偿责任和违约责任，但应在不可抗力事件发生后5天内书面通知另一方并在合理期限内提供相应的证明文件。双方应尽其最大努力尽可能地减少因不可抗力事件给对方造成的损失。若不可抗力事件持续时间超过60天，任一方有权单方解除合同，但应书面通知对方，自对方收到解除通知之日起发生合同解除效力。
-  十一、适用法律及争议解决
-     本合同的效力、理解与执行适用中华人民共和国法律。甲乙双方之间就履行本合同所产生的争议，双方应友好协商解决，如果经友好协商仍不能解决争议时，则任何一方均可以向乙方所在地人民法院提起诉讼。
-  十二、其他
-1. 本合同一旦签署均视为甲乙双方已充分知晓并理解本合同全部条款的实质含义及相应的权利义务。本合同自甲乙双方授权代表签字或加盖公司印章后生效。
-2. 本合同一式两份，甲乙双方各执一份，具有同等法律效力。
-3. 本合同所有附件是本合同不分割的组成部分，与本合同具有同等法律效力。 
-                              
-甲方：{{firstName}}
-乙方： 南京诺唯赞生物科技股份有限公司
-（盖章）
-（盖章）
-授权代表：{{firstRepresentative}}
-授权代表：
-日期：     年     月    日
-日期：     年     月    日
-
-
-  附件一  商务条款
-  
-1. 产品列表
-                                    序号
-                                    货号
-                                 产品名称
-                                    规格
-         单价（如与订单约定不一致的则以订单为准）
-{{fe:list t.seqNo
-t.productnum
-t.productname
-t.spec
-t.taxprice}}
-  备注：以上单价包括：{{pricePack}}包装费、{{priceTax}}税费、{{priceFreight}}运输费。
-  
-2. 订货
-  在合同有效期内，甲方可通过其授权代表{{firstRepresentative}}或其他经双方另行确认的甲方授权工作人员以邮件或微信、QQ等即时通讯方式向乙方提出采购需求，乙方通过邮件或前述即时通讯方式确认接受该等需求的，对双方均由约束力。
-  
-3. 发货
-3.1. 甲方接受乙方采用以下第{{deliveryTime}}种方式进行发货：
-3.1.1. 乙方在收到甲方的全额预付款和甲方的发货通知后{{deliveryTimeOne}}个工作日内发货；
-3.1.2. 乙方在确认接受甲方发出的采购需求后{{deliveryTimeTwo}}个工作日内发货。
-3.2. 若在乙方接受甲方的采购需求后乙方出现库存短缺，乙方有权与甲方另行书面协商新的发货时间。
-3.3. 经甲方同意，乙方可以提前交货，甲方不得以此为理由拒付提前交付产品对应的货款。
-  
-
-  
-  
-  
-  
-
-
-附件二  合规条款
-  甲方：{{firstName}}
-  乙方：南京诺唯赞生物科技股份有限公司
-  本附件中甲方包括甲方、其任何代理、关联公司、雇员或者代表甲方行事的任何人。 
-1. 合规 
-1.1. 甲方应始终遵守所有适用的中国法律法规（包括但不限于与反腐败、反垄断以及反洗钱相关的法律）、以及任何国际和国内公认的商业行为，甲方应始终遵守诚信原则，且不得从事任何将要或可能给乙方的财务管理、业务运作或企业声誉带来不利影响的行为。
-1.2. 甲方不曾且不得以任何形式向任何党政机关、国有企业和/或其设立或控制的任何组织的工作人员、或代表前述人员的其它商业机构或人员、或该等组织中与甲方履行本合同有关的任何商业机构或人员，直接或间接地提供任何违法的利益（包括但不限于金钱或其他财物）。
-1.3. 甲方不曾且不得为取得或履行本合同而向乙方的任何雇员或雇员的亲属给予现金、实物或其它不正当利益，或以促销费、宣传费、赞助费、劳务费、咨询费、佣金等名义或以报销各种费用或以任何其它方式，给付乙方雇员或雇员的亲属财物或其它不正当利益。
-2. 利益冲突
-2.1. 甲方的股东、董事、监事、经理、高级管理人员、合作负责人及其团队成员系乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友的，甲方应在知晓相关信息后立即以书面方式如实、全面告知乙方该等情况；如果乙方员工（包括在职和离职三年内）向甲方提出涉及利益冲突和/或中饱私囊的要求，甲方也应立即向乙方披露。乙方有权评估该关系对合作的影响，并决定是否继续与甲方合作。
-2.2. 甲方不得允许乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友或由第三方代持有甲方股权（但通过公开的证券交易市场且低于发行在外5%的权益、通过直接或间接持有无实际控制权的基金、或通过受益人非本人或关联人员的信托方式持有的股份除外），亦不得招揽乙方在职员工及聘用负有竞业限制义务的离职员工（包括但不限于建立正式劳动关系、劳务派遣、外包服务、兼职、咨询顾问等其他形式）。如甲方未能遵守前述约定，乙方有权立即解除合同。
-3. 实质违反
-  甲方在得知任何违反本附件规定的甲方义务的情况或发现乙方的雇员、代理人、关联方、咨询公司或有关的任何第三方违反本附件规定的应立即通知乙方，该等通知应以邮件形式发送给乙方并说明详细情况。如乙方发现甲方的雇员、代理人、咨询公司或有关的任何第三方违反本附件规定的，应立即通知甲方。经乙方或其关联方的不时要求，甲方应及时（不得无故拖延）向乙方提供有关甲方对本附件的遵守情况。如乙方有理由相信甲方有任何违反本附件的行为，乙方保留审计甲方相关工作记录和/或财务账簿的权利，但应限于与前述行为相关的最少必要范围内，甲方有义务配合乙方前述审计行为。
-  
-  甲方若不遵守本附件的任何规定，将被视为对《销售合同》的实质性违反。违约金不足以弥补甲方因该等行为给乙方造成损失的，乙方及其关联方有权就因该等违约所引起的任何或全部损失要求赔偿，包括但不限于任何利润损失、结果性损失以及由乙方或其关联方须向任何第三方支付的与该等违约有关的任何金额（包括但不限于任何罚金、营业额及利润损失赔偿和/或惩罚性赔偿）。乙方基于相关法律法规项下享有的其他权利将不受影响。
-  
diff --git a/server/target/classes/wordtemplate/sellContract.docx b/server/target/classes/wordtemplate/sellContract.docx
deleted file mode 100644
index bf4490d..0000000
--- a/server/target/classes/wordtemplate/sellContract.docx
+++ /dev/null
@@ -1,102 +0,0 @@
-                                销 售 合 同
-
-我司合同编号：{{conCode}}        {{clientConCode}} 
-
-签订日期：{{appDate}}                                     
-                     
-采购方：{{clientName}}         （以下简称"甲方"）
-注册地址：{{registeredAddress}}
-统一社会信用代码：{{taxNumber}}
-
-销售方：南京诺唯赞生物科技股份有限公司         （以下简称"乙方"）
-注册地址：南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层
-统一社会信用代码：91320192589435065R
-
-甲乙双方本着平等、自愿、互利、共同发展的合作原则，依据《中华人民共和国民法典》等相关法律、法规的规定，经友好协商，达成本合同，以资双方共同信守。
-
- 产品明细及交货
-本合同项下甲方向乙方采购的产品（以下简称"产品"）、价格、交货信息等详见附件一《商务条款》。
- 付款方式及开票
-1. 本合同的付款方式为以下第{{paymentMethod}}种：
-1.1. 预付款：甲方应在本合同生效后{{paymentDayOne}}日内全额付款，未收到货款前乙方有权拒绝发货，如在乙方发货前甲方需变更产品的，可与乙方协商变更为同等金额的其他品种产品；
-1.2. 货到付款：甲方需在收到产品后{{paymentDayTwo}}日内付清本合同货款。 
-2. 乙方开具与合同产品总价等值的增值税{{invoiceType}}（税率3％）给甲方。
-3. 乙方指定的收款账户信息为：
-户  名：南京诺唯赞生物科技股份有限公司
-开户行：南京银行城东支行
-账  号：01500120000000970
- 质量标准
-1. 乙方提供给甲方的产品符合乙方《产品质量检验报告书》（以下简称"COA"）中的规定,甲方可通过向乙方索要或自行至乙方官方网站（http://www.vazyme.com/）下载的方式获取COA。
-2. 乙方提供给甲方的产品以及生产该产品的原材料必须满足国家、地方、行业的有关环境保护和职业健康安全方面的法律、法规的要求。
- 验收
-1. 甲方应在收货当场认真核对商品包装上印制的产品名称和数量，并在收到产品后{{qualityDay}}日内进行质量验收，逾期未提出异议的视为验收合格。
-2. 甲方应按产品说明书的要求进行产品存储和使用，非乙方原因导致的货损乙方不承担责任。
- 违约责任
-1. 甲方延迟付款的，应提前取得乙方书面同意，否则乙方有权暂停供货并按照未付款总额千分之{{responsibility}}每日向甲方收取违约金。
-2. 除法律另有强制性规定，乙方因过错或违约行为而承担的赔偿责任不超过受前述行为所影响的订单/产品部分对应的甲方已支付的总价款，且在合同期限内总计不得超过甲方基于本合同已向乙方支付的合同价款。乙方不承担任何间接或后果性损失(如利润或收益损失)。
- 不可抗力及纠纷解决
-1. 若一方因不可抗力事件（包括但不限于政府或政府机构的禁令或行为、疫情、火灾、水灾、地震、风暴等情况）而不能履行本合同所规定的义务,该方无需承担对对方的损失赔偿责任和违约责任，但应在不可抗力事件发生后5天内书面通知另一方并在合理期限内提供相应的证明文件。双方应尽其最大努力尽可能地减少因不可抗力事件给对方造成的损失。若不可抗力事件持续时间超过60天，任一方有权单方解除合同，但应书面通知对方，自对方收到解除通知之日起发生合同解除效力。
-2. 双方如有任何争议首先应友好协商解决，若协商不成，任一方有权向乙方所在地人民法院提请诉讼。
- 其它事宜
-1. 本合同一旦签署均视为甲乙双方已充分知晓并理解本合同全部条款的实质含义及相应的权利义务。本合同自甲乙双方授权代表签字或加盖公司印章后生效，自双方权利义务全部履行完毕后终止。
-2. 本合同{{copies}}，甲乙双方各执一份，具有同等法律效力。
-3. 本合同所有附件是合同不分割的组成部分，与合同具有同等法律效力。
-
-
-
-
-甲方确认(签字/盖章)                         乙方确认(签字/盖章)
-
-
-
-
-
-
-
-附件一  商务条款
-
-1. 产品明细
- 
-                                    序号
-                                    货号
-                                   产品名
-                                    规格
-                                    数量
-                                单价{{unit}}
-                                    税率
-                                小计{{unit}}
-{{fe:contractProductDetailVo.list  t.seqNo
-t.productnum
-t.productname
-t.spec
-t.salenum 
-t.taxprice 
-t.taxRate
-t.sumaell}}
-合同总金额:{{contractProductDetailVo.contractTotalMoney}}                               大写:{{contractProductDetailVo.contractTotalMoneyBig}}
-
-
-1. 交货时间
-1.1. 本合同的交货时间采用以下第{{deliveryTime}}方式：
-1.1.1. 乙方在收到甲方的全额预付款和甲方的书面发货通知后{{deliveryTimeOne}}个工作日内发货；
-1.1.2. 乙方在收到甲方的书面发货通知后{{deliveryTimeTwo}}个工作日内发货；
-1.2. 若乙方出现库存暂缺，乙方有权另行与甲方协商新的发货时间。
-2. 交货地点
-2.1. 交货地点为{{address}}。
-2.2. 货物接收人及联络方式为{{accept}}。
-
-附件二  合规条款
-甲方：{{firstName}}
-乙方：南京诺唯赞生物科技股份有限公司
-本附件中甲方包括甲方、其任何代理、关联公司、雇员或者代表甲方行事的任何人。 
-1. 合规 
-1.1. 甲方应始终遵守所有适用的中国法律法规（包括但不限于与反腐败、反垄断以及反洗钱相关的法律）、以及任何国际和国内公认的商业行为，甲方应始终遵守诚信原则，且不得从事任何将要或可能给乙方的财务管理、业务运作或企业声誉带来不利影响的行为。
-1.2. 甲方不曾且不得以任何形式向任何党政机关、国有企业和/或其设立或控制的任何组织的工作人员、或代表前述人员的其它商业机构或人员、或该等组织中与甲方履行本合同有关的任何商业机构或人员，直接或间接地提供任何违法的利益（包括但不限于金钱或其他财物）。
-1.3. 甲方不曾且不得为取得或履行本合同而向乙方的任何雇员或雇员的亲属给予现金、实物或其它不正当利益，或以促销费、宣传费、赞助费、劳务费、咨询费、佣金等名义或以报销各种费用或以任何其它方式，给付乙方雇员或雇员的亲属财物或其它不正当利益。
-2. 利益冲突
-2.1. 甲方的股东、董事、监事、经理、高级管理人员、合作负责人及其团队成员系乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友的，甲方应在知晓相关信息后立即以书面方式如实、全面告知乙方该等情况；如果乙方员工（包括在职和离职三年内）向甲方提出涉及利益冲突和/或中饱私囊的要求，甲方也应立即向乙方披露。乙方有权评估该关系对合作的影响，并决定是否继续与甲方合作。
-2.2. 甲方不得允许乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友或由第三方代持有甲方股权（但通过公开的证券交易市场且低于发行在外5%的权益、通过直接或间接持有无实际控制权的基金、或通过受益人非本人或关联人员的信托方式持有的股份除外），亦不得招揽乙方在职员工及聘用负有竞业限制义务的离职员工（包括但不限于建立正式劳动关系、劳务派遣、外包服务、兼职、咨询顾问等其他形式）。如甲方未能遵守前述约定，乙方有权立即解除合同。
-3. 实质违反
-甲方在得知任何违反本附件规定的甲方义务的情况或发现乙方的雇员、代理人、关联方、咨询公司或有关的任何第三方违反本附件规定的应立即通知乙方，该等通知应以邮件形式发送给乙方并说明详细情况。如乙方发现甲方的雇员、代理人、咨询公司或有关的任何第三方违反本附件规定的，应立即通知甲方。经乙方或其关联方的不时要求，甲方应及时（不得无故拖延）向乙方提供有关甲方对本附件的遵守情况。如乙方有理由相信甲方有任何违反本附件的行为，乙方保留审计甲方相关工作记录和/或财务账簿的权利，但应限于与前述行为相关的最少必要范围内，甲方有义务配合乙方前述审计行为。
-
-甲方若不遵守本附件的任何规定，将被视为对《销售合同》的实质性违反。违约金不足以弥补甲方因该等行为给乙方造成损失的，乙方及其关联方有权就因该等违约所引起的任何或全部损失要求赔偿，包括但不限于任何利润损失、结果性损失以及由乙方或其关联方须向任何第三方支付的与该等违约有关的任何金额（包括但不限于任何罚金、营业额及利润损失赔偿和/或惩罚性赔偿）。乙方基于相关法律法规项下享有的其他权利将不受影响。
diff --git a/server/target/classes/wordtemplate/spacialContract.docx b/server/target/classes/wordtemplate/spacialContract.docx
deleted file mode 100755
index 5353a90..0000000
--- a/server/target/classes/wordtemplate/spacialContract.docx
+++ /dev/null
@@ -1,300 +0,0 @@
-合同编号 ：{{conCon}}
-                    动物免疫及检测技术服务合同
-                                       
-          项目名称：      {{clientName}}           
-  动物免疫及检测技术服务                                           
-  委托方（甲方）：  {{clientName}}             
-  受托方（乙方）：南京诺唯赞生物科技股份有限公司     
-  签订时间：     {{signDate}}            
-  
-                                       
-                                       
-                                       
-                                       
-                                       
-                                       
-                                       
-                    动物免疫及检测技术服务合同
- 委托方（甲方）：    {{clientName}}                                 
- 注 册 地： {{regLocation}}                                        
- 项目负责人： {{clientCharger}}                                
- 项目联系人：  {{clientContact}}                              
- 联系方式：   {{clientMobile}}                                      
- 通讯地址：   {{regLocation}}                                      
- 电    话：    {{clientMobile}}      传    真：    /     
- 电子信箱：             /                    
- 受托方（乙方）：南京诺唯赞生物科技股份有限公司               
- 注册地：南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层  
- 法定代表人： 曹 林                                           
- 项目联系人： {{staffName}}                                         
- 联系方式：   {{staffMobile}}                                                 
- 通讯地址：    南京经济技术开发区科创路红枫科技园D2                                  
- 电    话： 025-84365701传    真：  025-84365701  
- 电子信箱：              /                        
-
-  
-  
-  甲方委托乙方开展{{mouse}}A. 小鼠 {{rat}} ，{{other}}B其他 {{otherPro}}（下称"动物"）动物免疫及检测的技术服务，乙方接受甲方委托并进行此项技术服务工作，甲方向乙方支付服务费。双方经过平等协商，在真实、充分地表达各自意愿的基础上，依据《中华人民共和国民法典》及相关法律规定，达成以下合同条款，并由双方共同恪守。
-
-第一条 技术服务的内容
-  甲方委托乙方开展免疫检测的技术服务，乙方依照附件1甲方提供的实验方案（下称"实验方案"）开展免疫检测的技术服务。
-  本合同技术服务的内容包括：
-  动物免疫实验、
-  {{ZHKT}}假病毒中和抗体检测（下称"中和抗体检测"）、
-  {{totalZKT}}总抗体检测（{{IGGZKT}}IgG总抗体检测、{{otherZKT}}其他：{{otherZKTNum}}总抗体检测）（下称"总抗体检测"）、
-  {{XBYZ}}细胞因子检测。
-  详情如下：
-  1.1 动物免疫实验
-  甲方在本合同签订生效后{{takeEffectDay}}日内提供动物免疫实验所需的供试品（下称"供试品"），甲方知悉并同意乙方有权将本合同项下动物免疫实验的工作转委托给具有动物免疫实验相关资质的第三方实施，由该第三方将乙方免疫检测需要的样本：{{serum}}A.{{serumNum}}个血清（下称"样本A"）、{{lymph}}B. {{lymphNum}}例单个脾淋巴细胞（下称"样本B"）交付乙方，用于乙方后续开展免疫检测工作。
-  {{ZHKT}}1.2中和抗体检测
-  乙方按照实验方案对{{serumNum}}个样本A进行中和抗体检测。中和抗体检测项目及检测条件详情表见表1：
-                                        
-                                        
-              表1 中和抗体检测项目及检测条件详情表
-                                 检测项目
-                                 样本名称
-                                       
-                                 样本数量
-                                   检测用
-                                   细胞株
-                                   检测用
-                                 假病毒株
-                              起始稀释倍数
-                                 浓度梯度
-                               个数/复孔数
-                              倍比稀释倍数
-                                    备注
-                        {{fe:na_detection t.productnum
-                                 t.sampleName
-                                   t.salenum
-                                  t.cellLine
-                                 t.productname
-                               t.initialDilution
-                                    t.spec
-                                t.dilutionRatio
-                                  t.remark}}
-  每个样本检测的结果均应与空白细胞株对照物检测的结果、假病毒对照物检测的结果、阳性对照物检测的结果进行对照。 
-  同样的样本使用多个假病毒株进行检测属于多个检测项目，需要分别收费。
-  {{totalZKT}}1.3总抗体检测
-  乙方按照实验方案对{{serumNum}}个样本A进行总抗体检测。总抗体检测项目及检测条件详情表见表2： 
-               表2 总抗体检测项目及检测条件详情表
-                                 检测项目
-                                 总抗类型
-                             样本名称及数量
-                              起始稀释倍数
-                              倍比稀释倍数
-                              检测浓度梯度
-                               个数/复孔数
-                                    备注
-                        {{fe:ta_detection t.productnum
-                                  t.indicator
-                                 t.sampleName
-                               t.initialDilution
-                                t.dilutionRatio
-                                    t.spec
-t.remark}}
-  总抗体检测使用的试剂盒由乙方提供，该试剂盒内用于检测的板子设置阳性对照物和阴性对照物，阳性对照物和阴性对照物用于检测结果的质控。
-  {{XBYZ}}1.4 细胞因子检测
-  乙方将本合同第一条1.1款第三方交付的{{lymphNum}}例样本B，按照实验方案进行细胞因子检测。细胞因子检测项目及检测条件详情表见表3：
-              表3 细胞因子检测项目及检测条件详情表
-                                 检测项目
-                             样本名称及数量
-                                 检测类型
-                                 检测指标
-                                 检测方案
-                                    备注
-                     {{fe:cytokine_detection t.productnum
-                                 t.sampleName 
-                                t.detectionType
-                                  t.indicator
-                                    t.spec
-                                  t.remark}}
-  细胞因子检测使用的肽库刺激物和试剂盒都是由乙方提供，每个样本B的细胞因子检测结果与阳性对照物的检测结果和阴性对照物的检测结果进行对照。
-  同样的样本检测多种因子属于多个检测项目，需要分别收费。
-第二条 交付
-
-  2.1 交付内容
-  交付内容包括报告、数据和方案（方案仅供中和抗体检测），具体约定如下：
-  2.1.1报告：
-  {{naReport}}中和抗体检测报告（下称"报告1"）{{naReportCount}}份，
-  {{taReport}}总抗体检测报告（下称"报告2"）{{taReportCount}}份，
-  {{cellReport}}细胞因子检测报告（下称"报告3"）{{cellReportCount}}份。
-  2.1.1.1中和抗体检测报告应当包含如下内容：
-  （1）样本A的信息；
-  （2）样本A的检测/实验结果。
-  2.1.1.2总抗体检测报告应当包含如下内容：
-  （1）样本A的信息；
-  （2）样本A的检测/实验结果。
-  2.1.1. 3 细胞因子检测报告应当包含如下内容： 
-  （1）样本B的信息；
-  （2）样本B的检测/实验结果。
-  2.1.2数据：
-  {{nAData}}中和抗体检测原始检测数据（下称"数据1"）{{nADataCount}}份，
-  {{tAData}}总抗体检测原始检测数据（下称"数据2"）{{tADataCount}}份，
-  {{cellData}}细胞因子检测原始数据（下称"数据3"）{{cellDataCount}}份。
-  2.1.2.1数据1应当包含如下内容：
-  （1）样本A的滴度（EC50）；
-  （2）样本A的发光值RLU。 
-  2.1.2.2数据2应当包含如下内容：
-  （1）样本A的滴度（样本A的OD值大于等于临界值的最大稀释倍数即为样本A的滴度）；
-  （2）光吸收OD值。
-  2.1.2.3数据3应当包含如下内容：
-  若甲方选择的细胞因子检测类型为ElISPOT，则交付的前述数据为样本B检测的斑点数、阴性对照物检测的斑点数、阳性对照物检测的斑点数及ElISPOT斑点分析仪的原始读板结果；
-  若甲方选择的细胞因子检测类型为ICS，且若1）甲方不指定细胞因子检测实验指标，则交付的前述数据为样本B的CD4+或CD8+的胞内细胞因子染色后所占比例数；2）甲方指定细胞因子检测实验指标，则交付的前述数据为样本B的CD4+或CD8+的胞内细胞因子染色后所占比例数或{{cellFactor}}。
-  甲方指定细胞因子检测实验指标的，应当支付相应的服务费用，具体费用双方另行约定。
-  2.1.3方案：
-  {{nAPlan}}中和抗体检测方案{{nAPlanCount}}份。 
-  2.1.3.1中和抗体检测方案内容应当包括如下内容：
-  （1）样本A的样本信息；
-  （2）样本A的实验方案；
-  （3）样本A的测试结果展示。
-  2.2 交付方式
-  本合同项下的报告、数据、方案由乙方通过电子邮件发送给甲方。
-  双方的授权电子邮件信息见本合同第十三条第13.1款。
-  
-第三条 验收
-    3.1 验收标准
-    {{ZHKT}} 3.1.1 中和抗体检测验收标准
-  3.1.1.1每个样本检测的结果均应与空白细胞株对照物检测的结果、假病毒对照物检测的结果、阳性对照物检测的结果进行对照，若空白细胞株对照物检测的结果、假病毒对照物检测的结果符合生物学实验要求、阳性对照物检测结果有病毒中和效果，则表明样本检测的结果真实、准确、可靠，即乙方交付的报告1、数据1、方案符合本合同约定的验收标准。
-  3.1.1.2若甲方不提供阳性对照物，则甲方同意乙方使用名称为Vastand的阳性对照物作为此次中和抗体检测的阳性对照物。若甲方提供阳性对照物，甲方在应合同签订生效后【10】个工作日内，选择快递或者物流的形式提交阳性对照物给乙方，并承担相应的快递或者物流费用。
-  {{totalZKT}} 3.1.2 总抗体检测验收标准
-  乙方仅负责按照甲方提供的实验方案对样本进行总抗体检测，试剂盒内用于检测的板子设置阳性对照物和阴性对照物，用于检测的质控，若质控结果符合试剂盒说明书规定的标准，则表明样本检测结果真实、准确、可靠，即乙方交付的报告2、数据2符合本合同约定的验收标准。
-  {{XBYZ}} 3.1.3 细胞因子检测验收标准
-  每个样本检测的结果均应与阴性对照物检测的结果、阳性对照物检测的结果进行对照，若阳性对照物检测的结果符合阳性判定标准，阴性对照物检测的结果符合生物学实验要求，则表明检测的结果真实、准确、可靠，即乙方交付的报告3、数据3符合本合同约定的验收标准。
-  3.2 验收期限
-  甲方应当在收到乙方本合同项下交付的报告、数据、方案后10天内完成验收；若甲方未在验收期限内完成验收，或验收期限届满未提出书面异议的，视为甲方验收合格。
-第四条 费用与支付方式
-  4.1费用
-  本合同总服务费（下称"总服务费"）人民币{{totalMoney}}元（含税），总服务费包括：
-  （1）动物免疫费用；
-  {{ZHKT}}（2）中和抗体检测费用；
-  {{totalZKT}}（3）总抗体检测服务费用，
-  {{XBYZ}} （4）细胞免疫检测服务费用。
-  服务费细项及总服务费见附件2。
-  合同总服务费用不包含甲方寄送本合同约定的供试品或者其他信息材料的快递费用。
-  4.2 支付方式
-  4.2.1 双方协商一致，甲方采用以下第{{payType}}种方式付款。
-  A．一次性付款（仅供科研用户选择）：甲方收到乙方本合同项下交付的报告、数据、方案后，{{onePaymentDay}}个工作日内将总服务费打入乙方指定账户。
-  B. 分期付款（仅供工业用户选择）：
-  甲方应在本合同签订生效后{{installmentDay}}个工作日内将总服务费的{{firstPayment}}%作为首付款（下称"首付款"）打入乙方指定账户，即人民币{{firstMoney}}元；
-  甲方收到乙方本合同项下交付的报告、数据、方案后在{{firstMoney}}个工作日将总服务费的{{lastPayment}}%作为尾款（下称"尾款"）打入乙方指定账户，即人民币{{lastMoney}}元；
-  因实验设计有可能变化，最后尾款按实际发生情况结算，多退少补。
-  4.2.2 乙方在收到甲方每笔付款后的{{invoiceDay}}个工作日内按甲方开票信息向甲方开具税率为  6%  的增值税{{special}}专用/{{common}}普通发票，发票内容为  技术服务  。
-  4.3 甲方开票信息和乙方指定账户详情：
-  4.3.1甲方开票信息： 
-  名        称：{{clientName}} 
-  纳税人识别号：{{taxNumber}}
-  开 户 银  行：{{openbank}}
-  银 行 账  号：{{bankacc}}
-  地        址：{{invoiceAdd}}
-  4.3.2乙方指定账户信息：
-  开户行：南京银行城东支行
-  户名：南京诺唯赞生物科技股份有限公司
-  账号：01500120000000970
-  纳税人识别号：91320192589435065R
-  地址：中国江苏省南京经济技术开发区科创路红枫科技园C1-2栋东段1-6层
-  第五条 甲方的权利与义务
-  5.1甲方有依照本合同约定接受乙方提供技术服务的权利，并可在乙方服务过程中给予合理化建议。
-  5.2 甲方应按本合同约定提供附件1，并保证该实验方案切实可行。
-  5.3 甲方应在合同签订后【10】个工作日为乙方足量提供为完成本合同约定的技术服务内容所必要的供试品以及其他为完成本合同服务内容所必要的信息和材料支持（包括但不限于供试品的质量检测报告、供试品的稀释方案）。
-  5.4 甲方保证根据本合同约定的向乙方提供的所有供试品以及其他为完成本合同服务内容所必要的信息和材料等：
-  （1）均为合法取得，可依法提供给乙方；
-  若甲方交付给乙方的样本来源于人体或包含人类遗传资源，甲方须保证严格遵守国家对于人类遗传样本或人类遗传资源的采集、利用及知情、伦理等相关要求，且严格遵守国家对于人类遗传资源及个人信息保护等相关要求。
-  （2）无致病性、无传染性，对人、动植物和环境友好安全。
-  （3）不会侵犯任何第三方的知识产权。
-  5.5 甲方知悉并同意乙方可委托第三方在其实验室操作本合同第一条第1.1款约定的动物免疫实验的技术服务；甲方知悉并同意乙方可选择在乙方实验室或其他第三方实验室操作本合同第一条第1.2款、1.3款、1.4款约定的中和抗体检测、总抗体检测、细胞因子检测的技术服务；但乙方应确保上述转委托第三方具备对应的实验条件和资质，并对第三方实验/检测结果的真实性、准确性、完整性向甲方负责。
-  5.6 甲方应当依照本合同第四条约定及时、足额支付乙方相应的合同款项。
-  5.7 甲方承诺乙方本合同项下交付的报告、数据、方案仅用于其内部科学研究。
-  5.8 甲方应保证本技术服务合同目的的合法性。
-  5.9甲方不得将乙方本合同项下交付的报告、数据、方案或其利用该报告、数据、方案所获得的科研成果用于向国家药品监督管理局进行任何申报或者进行其他相关申报。
-  5.10 由于甲方原因或过错导致本技术服务失败（包括但不限于因甲方提供的供试品、肽库刺激物等材料/信息存在问题或立题依据不足等导致技术服务失败），责任由甲方自负，且甲方仍应当依照本合同约定及时、足额支付总服务费。
-  5.11 本技术服务合同履行完毕，供试品、样品、肽库刺激物等材料若有剩余，甲方负责剩余材料的收集、贮藏、运输、处置等后续处理工作，无论甲方对剩余材料作何种处理，都应当保证其处理工作符合我国法律法规、行政法规和国家有关规定，包括但不限于《中华人民共和国固体废物污染环境防治法》、《医疗废物管理条例》等相关法律法规、行政法规和国家有关规定。
-  5.12 甲方应遵守本合同附件3《合规条款》的规定。
-  5.13甲方违反本条第5.4款、第5.7至5.9款、第5.12款的，视作实质性违约。
-  第六条 乙方的权利与义务
-  6.1乙方有依照本合同约定接受甲方支付总服务费的权利。
-  6.2 乙方依照本合同约定提供的技术服务仅依照乙方内部研究质量标准开展。
-  6.3 乙方只对甲方提供的样本进行检测服务并提供本合同项下约定的报告、数据、方案，乙方并不承诺该报告、数据、方案符合药物临床前研究质量管理规范或者其他相关外部标准。
-  6.4 乙方不对甲方使用乙方本合同项下交付的报告、数据、方案进行的任何后续活动的过程及结果负责。
-  6.5 当甲方采用第四条第4.2款第4.2.1项A种方式付款，乙方应在本合同签订生效且收到甲方依照本合同第一条约定的足量样本、供试品以及其他为完成本合同服务内容必需的信息和材料支持后【20】个工作日内向甲方提供本合同项下的报告、数据、方案；当甲方采用第四条第4.2款第4.2.1项B种方式付款，乙方应当在合同签订生效且收到（1）甲方依照本合同第一条约定的足量样本、供试品及其他为完成本合同服务内容必需的信息和材料支持，和（2）首付款后【20】个工作日内向甲方提供本合同项下的报告、数据、方案。
-  6.6 若在合同签订生效后，因甲方原因导致乙方无法在本条第6.5款约定的交付时间内交付本合同项下的报告、数据、方案的，乙方不承担任何责任，且甲方因此给乙方造成额外费用的应由甲方承担。
-  6.7 乙方在服务过程中产生的为正常履行本合同约定的技术服务内容的其他成本费用由乙方自行承担。
-  6.8 乙方在本合同下承担的全部责任最高额应仅限于乙方在本合同下已收取的全部费用。
-  
-  第七条 保密义务
-  7.1本合同任何一方（"接收方"）对于其从对方（"披露方"）获取或知悉的任何可被合理认为具有保密性的信息（以下统称"保密信息"），包括但不限于技术资料、研究报告、产品信息等，均需予以严格保密。本合同的存在及其条款亦属于保密信息。"保密信息"不包含以下信息：（1）接收方有证据证明在披露方向其披露信息之前已获得或知晓的信息；（2）不是因为接收方的误操作或错误而让公众知晓的信息；（3）接收方以正当合理途径从其他无保密义务的第三方处得知的信息；（4）接收方独立开发的信息。
-  7.2 双方同意，除非披露方书面同意，接受方：（1）不得将保密信息用于除履行本合同目的以外其他用途；（2）不将任何保密信息披露给任何第三方，除非（2.1）为履行本合同的目的，向有必要获知保密信息并且已经签订保密义务的雇员，或者接受方的代理、代表、律师、顾问和其他有必要知道信息的咨询方；（2.2）政府机构、司法程序、证券交易所或相关法律要求的检查、披露或其他活动；但上述披露的范围应控制在必要限度的范围内。接受方同意采取任何可行的措施保护保密信息的保密性，程度不得低于其对自身保密内容或同样性质内容的保护，并避免泄露和非授权使用。
-  7.3 保密期限自本合同签订生效之日起至本合同终止后3年内。
-  
-  第八条 知识产权约定
-  8.1 对于一方在本合同之前已合法拥有或有权使用的、或是独立于本合同所合法获取的，并且被用于本合同项目的任何知识产权（下称"背景知识产权"），任何一方应保留对其背景知识产权享有的所有权利。
-  8.2 在本合同履行过程中产生的任何发明、专有技术、商业秘密、数据、结果、新程序、工艺、公式、研发成果以及其他任何资料和信息等以及其他有形物体的知识产权（包括但不限于专利权、著作权、技术秘密、专利申请权等）及其后续的改进，均归完成前述工作的一方所有，但是若改进基于另一方背景知识产权的，改进方可许可另一方使用，双方另有约定的除外。
-  
-  第九条 合同变更
-  本合同的变更必须由双方协商一致，并以书面形式确定，本合同未约定的，可另签补充协议。 若补充协议与本合同不一致的，以补充协议为准；补充协议未约定的，以本合同为准。
-  
-  第十条 合同解除
-  10.1 双方协商一致，可以书面解除本合同。
-  10.2 若一方因不可抗力事件（包括但不限于政府或政府机构的禁令或行为、疫情、火灾、水灾、地震、风暴等情况）而不能履行本合同所规定的义务,该方无需承担对对方的损失赔偿责任和违约责任，但应在不可抗力事件发生后5天内书面通知另一方并在合理期限内提供相应的证明文件。双方应尽其最大努力尽可能地减少因不可抗力事件给对方造成的损失。若不可抗力事件持续时间超过60天，任一方有权单方解除合同，但应书面通知对方，自对方收到解除通知之日起发生合同解除效力。
-  10.3 合同签订生效后，任何一方不得单方面无故解除合同，除非发生实质性违约行为。
-  10.4 甲方无故迟延付款超过【20】个工作日且经乙方催告后仍不付款，视为甲方实质性违约，乙方可以通知甲方单方面解除合同，合同的解除并不免除甲方依照本合同第四条的约定支付服务费的义务。
-  10.5 因乙方原因迟延交付本合同项下的报告、数据、方案超过20个工作日，且经甲方催告后仍不交付，视为乙方实质性违约，甲方可以单方面解除合同。
-  10.6 .合同签订生效后，一方依法被吊销营业执照、责令关闭或者被撤销、解散，另一方有权单方面解除合同。
-  
-  第十一条 违约责任
-  11.1 甲方无故违反本合同约定逾期付款的，每延迟支付一天应支付本合同第四条第4.1款约定的总服务费千分之一的违约金，同时不免除甲方继续履行本合同的义务。
-  11.2 乙方无故违反本合同约定逾期向甲方交付本合同项下约定的报告、数据、方案，每延迟交付一天应支付本合同第四条第4.1款约定的总服务费千分之一的违约金，同时不免除乙方继续履行本合同的义务。
-  11.3 任何一方没有充分、及时履行义务或没有完全履行本合同约定的义务应当承担违约责任；给对方造成损失的，应赔偿对方由此遭受的损失。
-  11.4 因甲方原因（包括但不限于甲方交付供试品以及其他为完成本合同服务内容所必要的信息和材料支持）导致本合同提前解除的，甲方应足额支付本合同约定的总服务费并赔偿乙方所有经济损失，且依照合同约定总服务费的15%向乙方支付违约金。
-  11.5 因乙方原因导致本合同提前解除的，乙方应退还全部费用并赔偿甲方所有经济损失，且依照合同总金额的15%向甲方支付违约金。
-  
-  第十二条 技术风险
-  12.1一方发现技术风险存在并有可能致使服务内容失败或部分失败的情形时，应当在10日内书面通知对方并采取适当的措施减少损失；
-  12.2 因一方逾期未书面通知或者未采取适当措施而致使损失扩大的，还应当就扩大的损失承担赔偿责任；
-  12.3 由于双方过错共同导致本技术服务失败，由双方依照过错比例分摊产生的损失；
-  12.4 如果甲乙双方均无过错，甲乙双方各自承担损失的 50%。
-  
-  第十三条 项目联系人及沟通和通知
-  13.1 双方确定，在本合同有效期内，甲方指定{{clientCharger}}，（邮箱:{{clientEmail}}）为合同联系人，乙方指定{{staffName}}，（邮箱:{{staffMail}}）为合同联系人。
-  13.2 一方变更合同联系人的，应当在3个工作日内以书面形式通知另一方。未及时通知对方并影响本合同履行或造成损失的，应赔偿因此给对方造成的经济损失。
-  13.3双方约定，合同双方的所有正式通知应为书面形式，并应发送至合同联系人地址或邮箱。
-  
- 第十四条 适用法律和争议处理
-  本合同适用中华人民共和国法律。本合同如在履行中发生争议，由双方协商解决，如不能通过协商解决，双方均可向南京仲裁委员会("仲裁机关")进行仲裁。仲裁将依照提交仲裁时的仲裁机关届时生效的仲裁规则进行仲裁。仲裁裁决为终局性的，对双方具有约束力。
-  
-  第十五条 合同期限
-  本合同期限自{{year}}年{{month}}月{{day}}日至{{endYear}}年{{endMonth}}月{{endDay}}日。
-  
-  第十六条 其他
-  16.1本合同自双方或双方法定代表人或其授权代表人签字且加盖单位公章或合同专用章之日起生效。
-  16.2 本合同正本一式肆份，双方各执贰份，具有同等法律效力。
-  16.3 本合同的附件是本合同不可分割的组成部分，与本合同具有同等的法律效力。
-  
-甲方：  {{clientName}}                乙方： 南京诺唯赞生物科技股份有限公司   
-              （盖章）                                  （盖章）
-  
-委托代理人：                        委托代理人：                              
-                       
-202   年   月   日                  202   年    月     日
-  附件3   合规条款
-甲方：{{clientName}} 
-乙方：南京诺唯赞生物科技股份有限公司
-本附件中甲方包括甲方、其任何代理、关联公司、雇员或者代表甲方行事的任何人。 
- 1. 合规 
- 1.1.	甲方应始终遵守所有适用的中国法律法规（包括但不限于与反腐败、反垄断以及反洗钱相关的法律）、以及任何国际和国内公认的商业行为，甲方应始终遵守诚信原则，且不得从事任何将要或可能给乙方的财务管理、业务运作或企业声誉带来不利影响的行为。
- 1.2.	甲方不曾且不得以任何形式向任何党政机关、国有企业和/或其设立或控制的任何组织的工作人员、或代表前述人员的其它商业机构或人员、或该等组织中与甲方履行本合同有关的任何商业机构或人员，直接或间接地提供任何违法的利益（包括但不限于金钱或其他财物）。
- 1.3. 甲方不曾且不得为取得或履行本合同而向乙方的任何雇员或雇员的亲属给予现金、实物或其它不正当利益，或以促销费、宣传费、赞助费、劳务费、咨询费、佣金等名义或以报销各种费用或以任何其它方式，给付乙方雇员或雇员的亲属财物或其它不正当利益。
- II.	利益冲突
- 2.1  甲方的股东、董事、监事、经理、高级管理人员、合作负责人及其团队成员系乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友的，甲方应在知晓相关信息后立即以书面方式如实、全面告知乙方该等情况；如果乙方员工（包括在职和离职三年内）向甲方提出涉及利益冲突和/或中饱私囊的要求，甲方也应立即向乙方披露。乙方有权评估该关系对合作的影响，并决定是否继续与甲方合作。
-   2.2 甲方不得允许乙方员工（包括在职和离职三年内）及其家庭成员、亲属或亲密朋友或由第三方代持有甲方股权（但通过公开的证券交易市场且低于发行在外5%的权益、通过直接或间接持有无实际控制权的基金、或通过受益人非本人或关联人员的信托方式持有的股份除外），亦不得招揽乙方在职员工及聘用负有竞业限制义务的离职员工（包括但不限于建立正式劳动关系、劳务派遣、外包服务、兼职、咨询顾问等其他形式）。如甲方未能遵守前述约定，乙方有权立即解除合同。
- IV实质违反
-甲方在得知任何违反本协议规定的甲方义务的情况或发现乙方的雇员、代理人、关联方、咨询公司或有关的任何第三方违反本协议规定的应立即通知乙方，该等通知应以邮件形式发送给乙方并说明详细情况。如乙方发现甲方的雇员、代理人、咨询公司或有关的任何第三方违反本协议规定的，应立即通知甲方。经乙方或其关联方的不时要求，甲方应及时（不得无故拖延）向乙方提供有关甲方对本协议的遵守情况。
-
-甲方若不遵守本协议的任何规定，将被视为对协议的实质性违反。违约金不足以弥补甲方因该等行为给乙方造成损失的，乙方及其关联方有权就因该等违约所引起的任何或全部损失要求赔偿，包括但不限于任何利润损失、结果性损失以及由乙方或其关联方须向任何第三方支付的与该等违约有关的任何金额（包括但不限于任何罚金、营业额及利润损失赔偿和/或惩罚性赔偿）。乙方基于相关法律法规项下享有的其他权利将不受影响。
-                         甲方确认 (签字/盖章)
-                         乙方确认 (签字/盖章)
-                                       
-                    -------------------------------------- 
-                                       
-                    -------------------------------------- 
-
diff --git a/server/target/test-classes/cn/keking/ServerMainTests.class b/server/target/test-classes/cn/keking/ServerMainTests.class
deleted file mode 100644
index db8ed81..0000000
Binary files a/server/target/test-classes/cn/keking/ServerMainTests.class and /dev/null differ
diff --git a/server/target/test-classes/cn/keking/utils/WebUtilsTests.class b/server/target/test-classes/cn/keking/utils/WebUtilsTests.class
deleted file mode 100644
index 5daa6ea..0000000
Binary files a/server/target/test-classes/cn/keking/utils/WebUtilsTests.class and /dev/null differ
